From af1891c15299e78794f1ac1f9af46ff9099e6f64 Mon Sep 17 00:00:00 2001 From: Ales Hvezda Date: Sat, 21 Apr 2007 20:09:34 +0000 Subject: [PATCH] Removed all files using cvs remove since geda (gManager) is quite old and hasn't been maintained in quite a while --- geda/.cvsignore | 19 - geda/AUTHORS | 1 - geda/COPYING | 340 ---------- geda/ChangeLog | 402 ----------- geda/INSTALL | 229 ------- geda/Makefile.am | 47 -- geda/NEWS | 19 - geda/README | 139 ---- geda/TODO | 37 - geda/autogen.sh | 128 ---- geda/configure.ac | 350 ---------- geda/graphman/.cvsignore | 6 - geda/graphman/Makefile.am | 51 -- geda/graphman/README | 93 --- geda/graphman/callbacks.c | 120 ---- geda/graphman/callbacks.h | 89 --- geda/graphman/configfile.c | 288 -------- geda/graphman/configfile.h | 37 - geda/graphman/export2gwave.c | 161 ----- geda/graphman/export2gwave.h | 31 - geda/graphman/filetool.c | 331 --------- geda/graphman/filetool.h | 50 -- geda/graphman/global.h | 50 -- geda/graphman/graph.c | 445 ------------ geda/graphman/graph.h | 118 ---- geda/graphman/interface.c | 1468 --------------------------------------- geda/graphman/interface.h | 6 - geda/graphman/libstring.c | 148 ---- geda/graphman/libstring.h | 38 -- geda/graphman/main.c | 356 ---------- geda/graphman/msg.h | 64 -- geda/graphman/msgbox.c | 1472 --------------------------------------- geda/graphman/msgbox.h | 73 -- geda/graphman/raw2gw.c | 90 --- geda/graphman/support.c | 188 ----- geda/graphman/support.h | 81 --- geda/graphman/value.c | 1341 ------------------------------------ geda/graphman/value.h | 203 ------ geda/include/.cvsignore | 2 - geda/include/Makefile.am | 33 - geda/intl/.cvsignore | 11 - geda/m4/.cvsignore | 3 - geda/m4/ChangeLog | 1 - geda/m4/Makefile.am | 7 - geda/pixmaps/.cvsignore | 2 - geda/pixmaps/Makefile.am | 20 - geda/pixmaps/bin_document.xpm | 59 -- geda/pixmaps/cir_document.xpm | 27 - geda/pixmaps/esp_document.xpm | 27 - geda/pixmaps/folder_closed.xpm | 153 ----- geda/pixmaps/folder_open.xpm | 146 ---- geda/pixmaps/geda.xpm | 41 -- geda/pixmaps/geda_logo.xpm | 243 ------- geda/pixmaps/geda_title.xpm | 112 --- geda/pixmaps/graph.xpm | 34 - geda/pixmaps/html_document.xpm | 176 ----- geda/pixmaps/pcb_document.xpm | 95 --- geda/pixmaps/pdf_document.xpm | 138 ---- geda/pixmaps/sch_document.xpm | 29 - geda/pixmaps/text_document.xpm | 116 ---- geda/po/.cvsignore | 11 - geda/po/LINGUAS | 5 - geda/po/Makevars | 25 - geda/po/POTFILES.in | 49 -- geda/po/de_DE.po | 163 ----- geda/po/fr_FR.po | 163 ----- geda/po/geda.pot | 163 ----- geda/po/it.po | 167 ----- geda/po/pt_BR.po | 163 ----- geda/po/ru.po | 163 ----- geda/src/.cvsignore | 5 - geda/src/Makefile.am | 66 -- geda/src/callbacks.c | 45 -- geda/src/callbacks.h | 37 - geda/src/configfile.c | 167 ----- geda/src/configfile.h | 37 - geda/src/doc.c | 1017 --------------------------- geda/src/doc.h | 76 --- geda/src/file.c | 404 ----------- geda/src/file.h | 44 -- geda/src/filechoose.c | 95 --- geda/src/filechoose.h | 32 - geda/src/filetool.c | 331 --------- geda/src/filetool.h | 45 -- geda/src/global.h | 97 --- geda/src/interface.c | 831 ----------------------- geda/src/interface.h | 7 - geda/src/l_toolbar.c | 38 -- geda/src/l_toolbar.h | 11 - geda/src/log.c | 42 -- geda/src/log.h | 38 -- geda/src/m_action.c | 162 ----- geda/src/m_action.h | 32 - geda/src/m_file.c | 567 ---------------- geda/src/m_file.h | 50 -- geda/src/m_project.c | 373 ---------- geda/src/m_project.h | 47 -- geda/src/m_window.c | 127 ---- geda/src/m_window.h | 35 - geda/src/main.c | 227 ------- geda/src/msgbox.c | 1473 ---------------------------------------- geda/src/msgbox.h | 73 -- geda/src/project.c | 386 ----------- geda/src/project.h | 65 -- geda/src/support.c | 162 ----- geda/src/support.h | 62 -- geda/src/task.c | 537 --------------- geda/src/task.h | 64 -- geda/src/tool.c | 1250 ---------------------------------- geda/src/tool.h | 131 ---- geda/src/txtedit.c | 246 ------- geda/src/txtedit.h | 34 - geda/src/window.c | 229 ------- geda/src/window.h | 40 -- 114 files changed, 21493 deletions(-) delete mode 100644 geda/.cvsignore delete mode 100644 geda/AUTHORS delete mode 100644 geda/COPYING delete mode 100644 geda/ChangeLog delete mode 100644 geda/INSTALL delete mode 100644 geda/Makefile.am delete mode 100644 geda/NEWS delete mode 100644 geda/README delete mode 100644 geda/TODO delete mode 100755 geda/autogen.sh delete mode 100644 geda/configure.ac delete mode 100644 geda/graphman/.cvsignore delete mode 100644 geda/graphman/Makefile.am delete mode 100644 geda/graphman/README delete mode 100644 geda/graphman/callbacks.c delete mode 100644 geda/graphman/callbacks.h delete mode 100644 geda/graphman/configfile.c delete mode 100644 geda/graphman/configfile.h delete mode 100644 geda/graphman/export2gwave.c delete mode 100644 geda/graphman/export2gwave.h delete mode 100644 geda/graphman/filetool.c delete mode 100644 geda/graphman/filetool.h delete mode 100644 geda/graphman/global.h delete mode 100644 geda/graphman/graph.c delete mode 100644 geda/graphman/graph.h delete mode 100644 geda/graphman/interface.c delete mode 100644 geda/graphman/interface.h delete mode 100644 geda/graphman/libstring.c delete mode 100644 geda/graphman/libstring.h delete mode 100644 geda/graphman/main.c delete mode 100644 geda/graphman/msg.h delete mode 100644 geda/graphman/msgbox.c delete mode 100644 geda/graphman/msgbox.h delete mode 100644 geda/graphman/raw2gw.c delete mode 100644 geda/graphman/support.c delete mode 100644 geda/graphman/support.h delete mode 100644 geda/graphman/value.c delete mode 100644 geda/graphman/value.h delete mode 100644 geda/include/.cvsignore delete mode 100644 geda/include/Makefile.am delete mode 100644 geda/intl/.cvsignore delete mode 100644 geda/m4/.cvsignore delete mode 100644 geda/m4/ChangeLog delete mode 100644 geda/m4/Makefile.am delete mode 100644 geda/pixmaps/.cvsignore delete mode 100644 geda/pixmaps/Makefile.am delete mode 100644 geda/pixmaps/bin_document.xpm delete mode 100644 geda/pixmaps/cir_document.xpm delete mode 100644 geda/pixmaps/esp_document.xpm delete mode 100644 geda/pixmaps/folder_closed.xpm delete mode 100644 geda/pixmaps/folder_open.xpm delete mode 100644 geda/pixmaps/geda.xpm delete mode 100644 geda/pixmaps/geda_logo.xpm delete mode 100644 geda/pixmaps/geda_title.xpm delete mode 100644 geda/pixmaps/graph.xpm delete mode 100644 geda/pixmaps/html_document.xpm delete mode 100644 geda/pixmaps/pcb_document.xpm delete mode 100644 geda/pixmaps/pdf_document.xpm delete mode 100644 geda/pixmaps/sch_document.xpm delete mode 100644 geda/pixmaps/text_document.xpm delete mode 100644 geda/po/.cvsignore delete mode 100644 geda/po/LINGUAS delete mode 100644 geda/po/Makevars delete mode 100644 geda/po/POTFILES.in delete mode 100644 geda/po/de_DE.po delete mode 100644 geda/po/fr_FR.po delete mode 100644 geda/po/geda.pot delete mode 100644 geda/po/it.po delete mode 100644 geda/po/pt_BR.po delete mode 100644 geda/po/ru.po delete mode 100644 geda/src/.cvsignore delete mode 100644 geda/src/Makefile.am delete mode 100644 geda/src/callbacks.c delete mode 100644 geda/src/callbacks.h delete mode 100644 geda/src/configfile.c delete mode 100644 geda/src/configfile.h delete mode 100644 geda/src/doc.c delete mode 100644 geda/src/doc.h delete mode 100644 geda/src/file.c delete mode 100644 geda/src/file.h delete mode 100644 geda/src/filechoose.c delete mode 100644 geda/src/filechoose.h delete mode 100644 geda/src/filetool.c delete mode 100644 geda/src/filetool.h delete mode 100644 geda/src/global.h delete mode 100644 geda/src/interface.c delete mode 100644 geda/src/interface.h delete mode 100644 geda/src/l_toolbar.c delete mode 100644 geda/src/l_toolbar.h delete mode 100644 geda/src/log.c delete mode 100644 geda/src/log.h delete mode 100644 geda/src/m_action.c delete mode 100644 geda/src/m_action.h delete mode 100644 geda/src/m_file.c delete mode 100644 geda/src/m_file.h delete mode 100644 geda/src/m_project.c delete mode 100644 geda/src/m_project.h delete mode 100644 geda/src/m_window.c delete mode 100644 geda/src/m_window.h delete mode 100644 geda/src/main.c delete mode 100644 geda/src/msgbox.c delete mode 100644 geda/src/msgbox.h delete mode 100644 geda/src/project.c delete mode 100644 geda/src/project.h delete mode 100644 geda/src/support.c delete mode 100644 geda/src/support.h delete mode 100644 geda/src/task.c delete mode 100644 geda/src/task.h delete mode 100644 geda/src/tool.c delete mode 100644 geda/src/tool.h delete mode 100644 geda/src/txtedit.c delete mode 100644 geda/src/txtedit.h delete mode 100644 geda/src/window.c delete mode 100644 geda/src/window.h diff --git a/geda/.cvsignore b/geda/.cvsignore deleted file mode 100644 index 9a3aaba55..000000000 --- a/geda/.cvsignore +++ /dev/null @@ -1,19 +0,0 @@ -libtool -Makefile -Makefile.in -config.h -config.h.in -config.log -config.status -configure -stamp-h1 -*.cache -aclocal.m4 -config.guess -config.rpath -config.sub -depcomp -install-sh -missing -mkinstalldirs -ABOUT-NLS diff --git a/geda/AUTHORS b/geda/AUTHORS deleted file mode 100644 index 7ff1238cf..000000000 --- a/geda/AUTHORS +++ /dev/null @@ -1 +0,0 @@ -Piotr Miarecki diff --git a/geda/COPYING b/geda/COPYING deleted file mode 100644 index d60c31a97..000000000 --- a/geda/COPYING +++ /dev/null @@ -1,340 +0,0 @@ - GNU GENERAL PUBLIC LICENSE - Version 2, June 1991 - - Copyright (C) 1989, 1991 Free Software Foundation, Inc. - 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - Preamble - - The licenses for most software are designed to take away your -freedom to share and change it. By contrast, the GNU General Public -License is intended to guarantee your freedom to share and change free -software--to make sure the software is free for all its users. This -General Public License applies to most of the Free Software -Foundation's software and to any other program whose authors commit to -using it. (Some other Free Software Foundation software is covered by -the GNU Library General Public License instead.) You can apply it to -your programs, too. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -this service if you wish), that you receive source code or can get it -if you want it, that you can change the software or use pieces of it -in new free programs; and that you know you can do these things. - - To protect your rights, we need to make restrictions that forbid -anyone to deny you these rights or to ask you to surrender the rights. -These restrictions translate to certain responsibilities for you if you -distribute copies of the software, or if you modify it. - - For example, if you distribute copies of such a program, whether -gratis or for a fee, you must give the recipients all the rights that -you have. You must make sure that they, too, receive or can get the -source code. And you must show them these terms so they know their -rights. - - We protect your rights with two steps: (1) copyright the software, and -(2) offer you this license which gives you legal permission to copy, -distribute and/or modify the software. - - Also, for each author's protection and ours, we want to make certain -that everyone understands that there is no warranty for this free -software. If the software is modified by someone else and passed on, we -want its recipients to know that what they have is not the original, so -that any problems introduced by others will not reflect on the original -authors' reputations. - - Finally, any free program is threatened constantly by software -patents. We wish to avoid the danger that redistributors of a free -program will individually obtain patent licenses, in effect making the -program proprietary. To prevent this, we have made it clear that any -patent must be licensed for everyone's free use or not licensed at all. - - The precise terms and conditions for copying, distribution and -modification follow. - - GNU GENERAL PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. This License applies to any program or other work which contains -a notice placed by the copyright holder saying it may be distributed -under the terms of this General Public License. The "Program", below, -refers to any such program or work, and a "work based on the Program" -means either the Program or any derivative work under copyright law: -that is to say, a work containing the Program or a portion of it, -either verbatim or with modifications and/or translated into another -language. (Hereinafter, translation is included without limitation in -the term "modification".) Each licensee is addressed as "you". - -Activities other than copying, distribution and modification are not -covered by this License; they are outside its scope. The act of -running the Program is not restricted, and the output from the Program -is covered only if its contents constitute a work based on the -Program (independent of having been made by running the Program). -Whether that is true depends on what the Program does. - - 1. You may copy and distribute verbatim copies of the Program's -source code as you receive it, in any medium, provided that you -conspicuously and appropriately publish on each copy an appropriate -copyright notice and disclaimer of warranty; keep intact all the -notices that refer to this License and to the absence of any warranty; -and give any other recipients of the Program a copy of this License -along with the Program. - -You may charge a fee for the physical act of transferring a copy, and -you may at your option offer warranty protection in exchange for a fee. - - 2. You may modify your copy or copies of the Program or any portion -of it, thus forming a work based on the Program, and copy and -distribute such modifications or work under the terms of Section 1 -above, provided that you also meet all of these conditions: - - a) You must cause the modified files to carry prominent notices - stating that you changed the files and the date of any change. - - b) You must cause any work that you distribute or publish, that in - whole or in part contains or is derived from the Program or any - part thereof, to be licensed as a whole at no charge to all third - parties under the terms of this License. - - c) If the modified program normally reads commands interactively - when run, you must cause it, when started running for such - interactive use in the most ordinary way, to print or display an - announcement including an appropriate copyright notice and a - notice that there is no warranty (or else, saying that you provide - a warranty) and that users may redistribute the program under - these conditions, and telling the user how to view a copy of this - License. (Exception: if the Program itself is interactive but - does not normally print such an announcement, your work based on - the Program is not required to print an announcement.) - -These requirements apply to the modified work as a whole. If -identifiable sections of that work are not derived from the Program, -and can be reasonably considered independent and separate works in -themselves, then this License, and its terms, do not apply to those -sections when you distribute them as separate works. But when you -distribute the same sections as part of a whole which is a work based -on the Program, the distribution of the whole must be on the terms of -this License, whose permissions for other licensees extend to the -entire whole, and thus to each and every part regardless of who wrote it. - -Thus, it is not the intent of this section to claim rights or contest -your rights to work written entirely by you; rather, the intent is to -exercise the right to control the distribution of derivative or -collective works based on the Program. - -In addition, mere aggregation of another work not based on the Program -with the Program (or with a work based on the Program) on a volume of -a storage or distribution medium does not bring the other work under -the scope of this License. - - 3. You may copy and distribute the Program (or a work based on it, -under Section 2) in object code or executable form under the terms of -Sections 1 and 2 above provided that you also do one of the following: - - a) Accompany it with the complete corresponding machine-readable - source code, which must be distributed under the terms of Sections - 1 and 2 above on a medium customarily used for software interchange; or, - - b) Accompany it with a written offer, valid for at least three - years, to give any third party, for a charge no more than your - cost of physically performing source distribution, a complete - machine-readable copy of the corresponding source code, to be - distributed under the terms of Sections 1 and 2 above on a medium - customarily used for software interchange; or, - - c) Accompany it with the information you received as to the offer - to distribute corresponding source code. (This alternative is - allowed only for noncommercial distribution and only if you - received the program in object code or executable form with such - an offer, in accord with Subsection b above.) - -The source code for a work means the preferred form of the work for -making modifications to it. For an executable work, complete source -code means all the source code for all modules it contains, plus any -associated interface definition files, plus the scripts used to -control compilation and installation of the executable. However, as a -special exception, the source code distributed need not include -anything that is normally distributed (in either source or binary -form) with the major components (compiler, kernel, and so on) of the -operating system on which the executable runs, unless that component -itself accompanies the executable. - -If distribution of executable or object code is made by offering -access to copy from a designated place, then offering equivalent -access to copy the source code from the same place counts as -distribution of the source code, even though third parties are not -compelled to copy the source along with the object code. - - 4. You may not copy, modify, sublicense, or distribute the Program -except as expressly provided under this License. Any attempt -otherwise to copy, modify, sublicense or distribute the Program is -void, and will automatically terminate your rights under this License. -However, parties who have received copies, or rights, from you under -this License will not have their licenses terminated so long as such -parties remain in full compliance. - - 5. You are not required to accept this License, since you have not -signed it. However, nothing else grants you permission to modify or -distribute the Program or its derivative works. These actions are -prohibited by law if you do not accept this License. Therefore, by -modifying or distributing the Program (or any work based on the -Program), you indicate your acceptance of this License to do so, and -all its terms and conditions for copying, distributing or modifying -the Program or works based on it. - - 6. Each time you redistribute the Program (or any work based on the -Program), the recipient automatically receives a license from the -original licensor to copy, distribute or modify the Program subject to -these terms and conditions. You may not impose any further -restrictions on the recipients' exercise of the rights granted herein. -You are not responsible for enforcing compliance by third parties to -this License. - - 7. If, as a consequence of a court judgment or allegation of patent -infringement or for any other reason (not limited to patent issues), -conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot -distribute so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you -may not distribute the Program at all. For example, if a patent -license would not permit royalty-free redistribution of the Program by -all those who receive copies directly or indirectly through you, then -the only way you could satisfy both it and this License would be to -refrain entirely from distribution of the Program. - -If any portion of this section is held invalid or unenforceable under -any particular circumstance, the balance of the section is intended to -apply and the section as a whole is intended to apply in other -circumstances. - -It is not the purpose of this section to induce you to infringe any -patents or other property right claims or to contest validity of any -such claims; this section has the sole purpose of protecting the -integrity of the free software distribution system, which is -implemented by public license practices. Many people have made -generous contributions to the wide range of software distributed -through that system in reliance on consistent application of that -system; it is up to the author/donor to decide if he or she is willing -to distribute software through any other system and a licensee cannot -impose that choice. - -This section is intended to make thoroughly clear what is believed to -be a consequence of the rest of this License. - - 8. If the distribution and/or use of the Program is restricted in -certain countries either by patents or by copyrighted interfaces, the -original copyright holder who places the Program under this License -may add an explicit geographical distribution limitation excluding -those countries, so that distribution is permitted only in or among -countries not thus excluded. In such case, this License incorporates -the limitation as if written in the body of this License. - - 9. The Free Software Foundation may publish revised and/or new versions -of the General Public License from time to time. Such new versions will -be similar in spirit to the present version, but may differ in detail to -address new problems or concerns. - -Each version is given a distinguishing version number. If the Program -specifies a version number of this License which applies to it and "any -later version", you have the option of following the terms and conditions -either of that version or of any later version published by the Free -Software Foundation. If the Program does not specify a version number of -this License, you may choose any version ever published by the Free Software -Foundation. - - 10. If you wish to incorporate parts of the Program into other free -programs whose distribution conditions are different, write to the author -to ask for permission. For software which is copyrighted by the Free -Software Foundation, write to the Free Software Foundation; we sometimes -make exceptions for this. Our decision will be guided by the two goals -of preserving the free status of all derivatives of our free software and -of promoting the sharing and reuse of software generally. - - NO WARRANTY - - 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY -FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN -OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES -PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED -OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS -TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE -PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, -REPAIR OR CORRECTION. - - 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR -REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, -INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING -OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED -TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY -YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER -PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE -POSSIBILITY OF SUCH DAMAGES. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Programs - - If you develop a new program, and you want it to be of the greatest -possible use to the public, the best way to achieve this is to make it -free software which everyone can redistribute and change under these terms. - - To do so, attach the following notices to the program. It is safest -to attach them to the start of each source file to most effectively -convey the exclusion of warranty; and each file should have at least -the "copyright" line and a pointer to where the full notice is found. - - - Copyright (C) - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - -Also add information on how to contact you by electronic and paper mail. - -If the program is interactive, make it output a short notice like this -when it starts in an interactive mode: - - Gnomovision version 69, Copyright (C) year name of author - Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. - This is free software, and you are welcome to redistribute it - under certain conditions; type `show c' for details. - -The hypothetical commands `show w' and `show c' should show the appropriate -parts of the General Public License. Of course, the commands you use may -be called something other than `show w' and `show c'; they could even be -mouse-clicks or menu items--whatever suits your program. - -You should also get your employer (if you work as a programmer) or your -school, if any, to sign a "copyright disclaimer" for the program, if -necessary. Here is a sample; alter the names: - - Yoyodyne, Inc., hereby disclaims all copyright interest in the program - `Gnomovision' (which makes passes at compilers) written by James Hacker. - - , 1 April 1989 - Ty Coon, President of Vice - -This General Public License does not permit incorporating your program into -proprietary programs. If your program is a subroutine library, you may -consider it more useful to permit linking proprietary applications with the -library. If this is what you want to do, use the GNU Library General -Public License instead of this License. diff --git a/geda/ChangeLog b/geda/ChangeLog deleted file mode 100644 index b7001dc30..000000000 --- a/geda/ChangeLog +++ /dev/null @@ -1,402 +0,0 @@ -2007-02-10 Ales Hvezda - - * configure.ac: Bumped package version to 20070216. - -2006-10-20 Ales Hvezda - - * configure.ac: Bumped package version to 20061020. - -2006-09-27 Carlos Nieves Onega - - * configure.ac : Applied patch #1564796 by Cesar Strauss, - enabling Cygwin's compilation. Thanks. - -2006-09-06 Ales Hvezda - - * configure.ac: Updated program version to 20060906. - -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-03-02 Stuart Brorson - * filechoose.[ch]: Applied patch from Andy Spenser to update - file chooser to GtkFileSelectorWhatever .... Moved filesel.[ch] to - filechoose.[ch]. - -2006-01-23 Ales Hvezda - - * po/*: auto* tools update all po files for distribution. - -2006-01-22 Ales Hvezda - - * autogen.sh, m4/gettext.m4: Removed files from CVS since they are - installation specific - -2006-01-16 Ales Hvezda - - * configure.ac: Bumped package version to 20060123 - - * README: Updated for the new year and release. - -2006-01-07 Stuart Brorson - * autogen.sh, m4/gettext.m4: Included "-I m4" into - aclocal to pick up macros from local m4 dir. - -2005-09-27 18:46 Dan McMahill - - * graphman/configfile.c, src/configfile.c: remove various compiler - warnings - -2005-09-05 Ales Hvezda - - * po/it.po: Updated the Italian translation by Petrecca Michele. - -2005-08-20 Ales Hvezda - - * po/it.po: Updated the Italian translation by Petrecca Michele. - -2005-08-20 Werner Hoch - - * po/de_DE.pe: updated translation - -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-05-10 Ales Hvezda - - * src/task.c: Fixed a nasty crash. In StrReplace(), realloc - may return a completely new pointer which needs to be assigned - and used. This modified pointer also needed to be returned - from StrReplace(). Note, gManager will not quite work right with - files (schematics/pcb/etc...) that do not live in the project - directory. This bug was logged against the debian packages. - -2005-03-25 Werner Hoch - * src/project.c: added file check, geda hang if theres no file - selection or selection is a directory (Bug #156) - -2005-03-19 Werner Hoch - - * po/de_DE.po, po/LINGUAS: added german translation - - * src/main.c, src/support.h: fixed encoding problem with UTF-8 - charactors - -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. - - * src/tool.c: Commented out enum which was unused and caused a - seg fault for certain users. Probably because there isn't an - equivalent entry in the ExtList data structure. - -2005-03-10 22:32 Dan McMahill - - * configure.ac: add dmalloc and Electric Fence debugging support. - -2005-03-08 Ales Hvezda - - * configure.ac: Bumped version to 20050313 - -2005-02-21 14:18 Dan McMahill - - * graphman/Makefile.am, src/Makefile.am: add -g -O that I managed - to drop by mistake - -2005-02-21 05:36 Dan McMahill - - * configure.ac, graphman/Makefile.am, src/Makefile.am: - conditionalize the use of lots of gcc specific compiler flags on - the compiler actually being gcc. Should give this a chance with - non-gcc compilers. - -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 Ales Hvezda - - * geda/po/it.po, LINGUAS: Added new updated Italian translation by - Marco Colombo. Thanks. (renamed it_IT.po translation to it.po). - -2005-02-12 22:06 Dan McMahill - - * graphman/Makefile.am, graphman/callbacks.c, graphman/config.c, - graphman/config.h, graphman/configfile.c, graphman/configfile.h, - graphman/export2gwave.c, graphman/filetool.c, graphman/graph.c, - graphman/libstring.c, graphman/main.c, graphman/msgbox.c, - graphman/raw2gw.c, graphman/support.c, graphman/value.c, - src/Makefile.am, src/callbacks.c, src/config.c, src/config.h, - src/configfile.c, src/configfile.h, src/doc.c, src/file.c, - src/filesel.c, src/filetool.c, src/interface.c, src/l_toolbar.c, - src/log.c, src/m_action.c, src/m_file.c, src/m_project.c, - src/m_window.c, src/main.c, src/msgbox.c, src/project.c, - src/task.c, src/tool.c, src/txtedit.c, src/window.c: rename - config.{c,h} to configfile.{c,h} inside src/ and graphman/ to - avoid issues with . and .. being in the search path and needing - to pull in the top level config.h file. Also clean up inclusion - of the configure generated config.h and protect the inclusion of - a couple of headers with the configure tests. - -2005-02-12 Carlos Nieves Onega - - * src/interface.c: Beautify buttons (use GTK stock). - -2005-02-03 23:04 danmc - - * src/m_file.c: - lots of clean up of 'const' usage. Seems to have - squished all gcc warnings around const. Mostly this involved - adding lots of missing const's. - also add a few missing - prototypes and header files. - fix call to realpath (it was - being given a pointer to a pointer rather than a pointer). - -2005-02-03 12:43 danmc - - * src/m_file.c: use stdlib.h instead of malloc.h - -2005-02-03 12:28 danmc - - * src/doc.c: Use stdlib.h instead of malloc.h to get malloc/free - prototypes as the former is more standard. Should fix OS-X - compilation problems. - -2005-01-17 01:09 danmc - - * graphman/Makefile.am: add missing @LIBINTL@ to graphman_LDADD - -2005-01-17 00:41 danmc - - * graphman/callbacks.c, graphman/libstring.c, graphman/main.c, - src/doc.c: add missing header includes - -2005-01-17 00:41 danmc - - * src/callbacks.c: add a return value to avoid compiler warnings. - As it turns out we shouldn't ever get here anyway, but we - increase the SNR of the compiler output. - -2005-01-17 00:40 danmc - - * graphman/config.c: add missing type for cSeparator - -2005-01-16 21:24 danmc - - * graphman/raw2gw.c: use posix getcwd() instead of gnu extension - get_current_dir_name() - -2005-01-16 21:15 danmc - - * src/Makefile.am: add missing @LIBINTL@ to geda_LDADD - -2004-12-28 Ales Hvezda - - * po/it_IT.po: Added the Italian translation by Petrecca Michele. - Thanks! - - * po/fr_FR.po: Added French translation by Iznogood. Thanks! - -2004-12-27 Ales Hvezda - - * configure.ac: Updated version to 20041228 - -2004-09-19 Piotr Miarecki - - * configure.ac, src/*, graphman/*: Update for compiling with both Gtk 1.2 and 2.2 - - * graphman/ directory: a new tool for managing graphs (first attempt without plot definition). - -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 - - * configure.ac: Updated version to 20040111 - -2004-01-01 Ales Hvezda - - * configure.ac: Added checks for time.h and nanosleep. nanosleep - is used in the sleep function below. - - * src/main.c: Added a sleep function inside the main loop to reduce - the CPU load. Without this sleep, the while loop keeps the cpu - 100% busy. With the sleep, the geda process spends more time - sleeping, hence lower CPU load. This sleep will only occur on - systems which support nanosleep. - -2003-12-31 Ales Hvezda - - * configure.ac: Bumped version to 20031231 - - * m4/Makefile.am: Added some missing *.m4 files to EXTRA_DIST. - -2003-12-22 Ales Hvezda - - * ABOUT-NLS: Removed machine generated file from CVS - - * graphman/.cvsignore, m4/.cvsignore: Added cvs ignore files to - minimize cvs update's chatter. - - * po/.cvsignore, intl/.cvsignore: Updated files with new files - from gettext 0.12.1 - - * configure.ac: Updated to gettext 0.12.1 - -2003-12-11 Piotr Miarecki - - * src/project.c, src/doc.c, src/doc.h: Added saving project - files with project properties (small changes in project file - format). - - * src/filetool.c: Bug fixed: project was saved with wrong filename - (last letter disappeared). - - * graphman directory, graphman/raw2gw.c, graphman/Makefile.am, - Makefile.am, configure.ac: Added graphman directory, temporarly - with only an obsolete raw2gw. - -2003-12-09 Piotr Miarecki - - * src/interface.c, src/interface.h, src/m_project.c, src/m_project.h, - src/callbacks.c: Project window connected. No full support for it - (properties are not saved). - -2003-12-08 Piotr Miarecki - - * src/Makefile.am, src/interface.c, src/interface.h, src/callbacks.h, - src/m_file.c, src/m_file.h, src/file.c, src/file.h, src/tool.c: - Added new File->New window. - -2003-12-05 Piotr Miarecki - - * src/doc.c, src/project.c, src/project.h, src/m_project.c, - src/m_project.h: added support for project properties window - (not connected yet), small changes in project file format. - -2003-12-02 Piotr Miarecki - - * src/global.h, src/main.c: Added function FatalError() and - default project values. - -2003-11-09 Ales Hvezda - - * config.guess config.rpath config.sub depcomp mkinstalldirs - missing install-sh stamp-h.in: Removed machine generated scripts - from CVS - - * intl/, m4/: Ran gettextize to update a few files, but these files - were removed from CVS. - - * autogen.sh: Added script to recreate all the auto* generated files. - - * include/: Added directory to build mechanism (eventhough it is - empty). - - * configure.ac: Renamed configure.in to configure.ac - - * Makefile.am: Added a few files to the maintainer-clean local - target (files that should not be in cvs). - - * configure.ac: Updated all the AC_DEFINE_* macros to not use - acconfig.h anymore. - - * acconfig.h, acinclude.m4: Removed from use. - -2003-10-18 Ales Hvezda - - * configure.ac: Updated version to something more recent, but this - version is not an official release. - -2003-10-04 Ales Hvezda - - * configure.ac: Updated version to something more recent, but this - version is not an official release. - -2003-10-02 Ales Hvezda - - * src/*.c: Added an #include "../config.h" to all files a required - by the general ./configure mechanism. - - * src/Makefile.am: Corrected the localedir define - -2003-09-27 Ales Hvezda - - * po/pt_BR.po, src/Makefile.am: Integrated Antonio's pt_BR - translation. - -2003-09-20 Ales Hvezda - - * auto* files: Updated to newer auto* tool versions - -2003-09-01 Ales Hvezda - - * configure.in: Updated version to 20030901 - -2003-05-25 Ales Hvezda - - * configure.in: Disabled the LIBTOOL macro since it is unused. - - * config.rpath: Added this missing file. - - * pixmaps/Makefile.am: For now, do not install the pixmap since it - is unused. - - * Makefile.am: For now, do not install the various README like files. - Eventually this will be put back, for the 20030525 release, these - files will not be installed. - -2003-05-22 Ales Hvezda - - * configure.in: Updated version - -2003-01-26 Ales Hvezda - - * po/ru.po: Added ru.po from Andy Shevchenko - -=== 0.2 === - -Released january 13, 2003. - -As version 0.1 has appeared to be totally not functional, this is a first -version that can be used be users. It has only basic functions to manage -projects, files and run tools. Commonly used actions are accessible from -the menu. - -Do not expect that everything will work good together. Major problems are -with: - -* PCB - in RedHat distribution m4 is located not in /usr/local/bin what - is default location used by PCB, gnetlisted schematics are not loaded - by PCB. - -* gwave - can display only transient results. - -* verilog - problems with simulation "multifile" modules. - -etc. - -=== 0.1 === - -First attempt. - diff --git a/geda/INSTALL b/geda/INSTALL deleted file mode 100644 index 54caf7c19..000000000 --- a/geda/INSTALL +++ /dev/null @@ -1,229 +0,0 @@ -Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002 Free Software -Foundation, Inc. - - This file is free documentation; the Free Software Foundation gives -unlimited permission to copy, distribute and modify it. - -Basic Installation -================== - - These are generic installation instructions. - - The `configure' shell script attempts to guess correct values for -various system-dependent variables used during compilation. It uses -those values to create a `Makefile' in each directory of the package. -It may also create one or more `.h' files containing system-dependent -definitions. Finally, it creates a shell script `config.status' that -you can run in the future to recreate the current configuration, and a -file `config.log' containing compiler output (useful mainly for -debugging `configure'). - - It can also use an optional file (typically called `config.cache' -and enabled with `--cache-file=config.cache' or simply `-C') that saves -the results of its tests to speed up reconfiguring. (Caching is -disabled by default to prevent problems with accidental use of stale -cache files.) - - If you need to do unusual things to compile the package, please try -to figure out how `configure' could check whether to do them, and mail -diffs or instructions to the address given in the `README' so they can -be considered for the next release. If you are using the cache, and at -some point `config.cache' contains results you don't want to keep, you -may remove or edit it. - - The file `configure.ac' (or `configure.in') is used to create -`configure' by a program called `autoconf'. You only need -`configure.ac' if you want to change it or regenerate `configure' using -a newer version of `autoconf'. - -The simplest way to compile this package is: - - 1. `cd' to the directory containing the package's source code and type - `./configure' to configure the package for your system. If you're - using `csh' on an old version of System V, you might need to type - `sh ./configure' instead to prevent `csh' from trying to execute - `configure' itself. - - Running `configure' takes awhile. While running, it prints some - messages telling which features it is checking for. - - 2. Type `make' to compile the package. - - 3. Optionally, type `make check' to run any self-tests that come with - the package. - - 4. Type `make install' to install the programs and any data files and - documentation. - - 5. You can remove the program binaries and object files from the - source code directory by typing `make clean'. To also remove the - files that `configure' created (so you can compile the package for - a different kind of computer), type `make distclean'. There is - also a `make maintainer-clean' target, but that is intended mainly - for the package's developers. If you use it, you may have to get - all sorts of other programs in order to regenerate files that came - with the distribution. - -Compilers and Options -===================== - - Some systems require unusual options for compilation or linking that -the `configure' script does not know about. Run `./configure --help' -for details on some of the pertinent environment variables. - - You can give `configure' initial values for configuration parameters -by setting variables in the command line or in the environment. Here -is an example: - - ./configure CC=c89 CFLAGS=-O2 LIBS=-lposix - - *Note Defining Variables::, for more details. - -Compiling For Multiple Architectures -==================================== - - You can compile the package for more than one kind of computer at the -same time, by placing the object files for each architecture in their -own directory. To do this, you must use a version of `make' that -supports the `VPATH' variable, such as GNU `make'. `cd' to the -directory where you want the object files and executables to go and run -the `configure' script. `configure' automatically checks for the -source code in the directory that `configure' is in and in `..'. - - If you have to use a `make' that does not support the `VPATH' -variable, you have to compile the package for one architecture at a -time in the source code directory. After you have installed the -package for one architecture, use `make distclean' before reconfiguring -for another architecture. - -Installation Names -================== - - By default, `make install' will install the package's files in -`/usr/local/bin', `/usr/local/man', etc. You can specify an -installation prefix other than `/usr/local' by giving `configure' the -option `--prefix=PATH'. - - You can specify separate installation prefixes for -architecture-specific files and architecture-independent files. If you -give `configure' the option `--exec-prefix=PATH', the package will use -PATH as the prefix for installing programs and libraries. -Documentation and other data files will still use the regular prefix. - - In addition, if you use an unusual directory layout you can give -options like `--bindir=PATH' to specify different values for particular -kinds of files. Run `configure --help' for a list of the directories -you can set and what kinds of files go in them. - - If the package supports it, you can cause programs to be installed -with an extra prefix or suffix on their names by giving `configure' the -option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'. - -Optional Features -================= - - Some packages pay attention to `--enable-FEATURE' options to -`configure', where FEATURE indicates an optional part of the package. -They may also pay attention to `--with-PACKAGE' options, where PACKAGE -is something like `gnu-as' or `x' (for the X Window System). The -`README' should mention any `--enable-' and `--with-' options that the -package recognizes. - - For packages that use the X Window System, `configure' can usually -find the X include and library files automatically, but if it doesn't, -you can use the `configure' options `--x-includes=DIR' and -`--x-libraries=DIR' to specify their locations. - -Specifying the System Type -========================== - - There may be some features `configure' cannot figure out -automatically, but needs to determine by the type of machine the package -will run on. Usually, assuming the package is built to be run on the -_same_ architectures, `configure' can figure that out, but if it prints -a message saying it cannot guess the machine type, give it the -`--build=TYPE' option. TYPE can either be a short name for the system -type, such as `sun4', or a canonical name which has the form: - - CPU-COMPANY-SYSTEM - -where SYSTEM can have one of these forms: - - OS KERNEL-OS - - See the file `config.sub' for the possible values of each field. If -`config.sub' isn't included in this package, then this package doesn't -need to know the machine type. - - If you are _building_ compiler tools for cross-compiling, you should -use the `--target=TYPE' option to select the type of system they will -produce code for. - - If you want to _use_ a cross compiler, that generates code for a -platform different from the build platform, you should specify the -"host" platform (i.e., that on which the generated programs will -eventually be run) with `--host=TYPE'. - -Sharing Defaults -================ - - If you want to set default values for `configure' scripts to share, -you can create a site shell script called `config.site' that gives -default values for variables like `CC', `cache_file', and `prefix'. -`configure' looks for `PREFIX/share/config.site' if it exists, then -`PREFIX/etc/config.site' if it exists. Or, you can set the -`CONFIG_SITE' environment variable to the location of the site script. -A warning: not all `configure' scripts look for a site script. - -Defining Variables -================== - - Variables not defined in a site shell script can be set in the -environment passed to `configure'. However, some packages may run -configure again during the build, and the customized values of these -variables may be lost. In order to avoid this problem, you should set -them in the `configure' command line, using `VAR=value'. For example: - - ./configure CC=/usr/local2/bin/gcc - -will cause the specified gcc to be used as the C compiler (unless it is -overridden in the site shell script). - -`configure' Invocation -====================== - - `configure' recognizes the following options to control how it -operates. - -`--help' -`-h' - Print a summary of the options to `configure', and exit. - -`--version' -`-V' - Print the version of Autoconf used to generate the `configure' - script, and exit. - -`--cache-file=FILE' - Enable the cache: use and save the results of the tests in FILE, - traditionally `config.cache'. FILE defaults to `/dev/null' to - disable caching. - -`--config-cache' -`-C' - Alias for `--cache-file=config.cache'. - -`--quiet' -`--silent' -`-q' - Do not print messages saying which checks are being made. To - suppress all normal output, redirect it to `/dev/null' (any error - messages will still be shown). - -`--srcdir=DIR' - Look for the package's source code in directory DIR. Usually - `configure' can determine that directory automatically. - -`configure' also accepts some other, not widely useful, options. Run -`configure --help' for more details. - diff --git a/geda/Makefile.am b/geda/Makefile.am deleted file mode 100644 index feeeaf1df..000000000 --- a/geda/Makefile.am +++ /dev/null @@ -1,47 +0,0 @@ -SUBDIRS = m4 intl po include src pixmaps graphman - -# The installation directory for these files needs to be decided on. -# For now, don't install them. AVH 05/25/03 -#gedadocdir = ${prefix}/doc/geda -#gedadoc_DATA = \ -# README\ -# COPYING\ -# AUTHORS\ -# ChangeLog\ -# INSTALL\ -# NEWS\ -# TODO\ -# ABOUT-NLS -#EXTRA_DIST = $(gedadoc_DATA) - -distclean-local: - -rm -rf autom4te.cache - -maintainer-clean-local: - -rm -rf autom4te.cache \ - intl/*.h intl/*.c intl/*.alias intl/*.y intl/*.sin intl/VERSION \ - intl/config.charset intl/Makefile.in intl/ChangeLog \ - po/*.sed po/*.header po/*.sin po/*.template po/Rules-quot \ - po/Makefile.in.in po/ChangeLog \ - m4/*.m4 - -# Copy all the spec files. Of cource, only one is actually used. -dist-hook: - for specfile in *.spec; do \ - if test -f $$specfile; then \ - cp -p $$specfile $(distdir); \ - fi \ - done - -MOSTLYCLEANFILES = *.log core FILE *~ -CLEANFILES = *.log core FILE *~ -DISTCLEANFILES = *.log core FILE *~ prototype.bak -MAINTAINERCLEANFILES = *.log core FILE *~ Makefile.in configure config.h.in \ - config.status aclocal.m4 config.guess config.rpath \ - config.sub depcomp mkinstalldirs missing install-sh \ - stamp-h.in - - -ACLOCAL_AMFLAGS = -I m4 - -EXTRA_DIST = config.rpath mkinstalldirs autogen.sh diff --git a/geda/NEWS b/geda/NEWS deleted file mode 100644 index 7aaff5582..000000000 --- a/geda/NEWS +++ /dev/null @@ -1,19 +0,0 @@ -Released january 13, 2003. - -As version 0.1 has appeared to be totally not functional, this is a first -version that can be really used. It has only basic functions to manage -projects, files and run tools. Commonly used actions are accessible from -the menu. - -Do not expect that all gEDA Suite tools will work good together. -Major problems: - -* PCB - is very difficult to integrate. In RedHat distribution m4 is not - located in /usr/local/bin what is default location used by PCB. - Gnetlisted schematics are not loaded by PCB. - -* gwave - can display only transient results. - -* verilog - problems with simulation "multifile" modules. - -etc. diff --git a/geda/README b/geda/README deleted file mode 100644 index 0ceff4520..000000000 --- a/geda/README +++ /dev/null @@ -1,139 +0,0 @@ -gEDA - -GPL Electronic Design Automation ------------------------------------------------------------------------------- - -README for Project Manager - - -gEDA Suite Project Manager is a start point for everything what you may -want to do. It is used to organize your files and easy running tools. It -simplifies your job. - -There is a menu at the top of the window. Main area of Project Manager -window is divided into three parts: - - * Project Browser - there are your files enumerated here. In a - Modules view you can see project hierarchy, in a Files view - - files sorted in disk folders. - - * Workspace - there are your files opened here. Listing of opened - files is shown under Window menu. - - * Status Area - effects of your actions will be shown here. - -gEDA Suite is strongly project oriented. It means that you cannot work -with files without creating a project. To force it, workspace and status -area are inactive when no project is loaded. - -If you have a project saved on the disk, choose Project -> Open. A -new dialog window - File Selection -will be opened. Choose a directory -where project files is stored, click or type a name of the project file, -then press Ok. - -To create a new project choose Project -> New from the menu. A new dialog -window - File Selection -will be opened. Choose a desired directory where -project files should be stored, a name of the new project file, then press -Ok. The name has to be ended with .prj. The new project should be created. - -Now the project is opened, its name is displayed in a title bar and -menus are activated. You can add, remove, open, etc. files. - -Some of those actions can modify your project, then an asteriks * will -be added to the project name on the title bar. It informs you that you -have to save the project choosing Project -> Save from the menu. If -you try to close the project or exit Project Manager without saving, -a warning will be displayed. - -After completing your job please close the project choosing Project -> -Close from the menu. - -If a project is opened, you can add files to the project and work with -them. Only files of registered types can be added. For any of them a set -of possible actions is defined. There are also some file types generated -and imported automatically after running actions. They cannot be added -manually to the project. - -All registered files types are listed below: - --------------------------------------------------------------------------------- - -FILE TYPE EXT. ACTIONS IMPORT CREATION - --------------------------------------------------------------------------------- - -Text *.txt Open File -> New - -Schematic *.sch Open File -> New - Create PCB layout *.pcb - Create SPICE netlist *.cir - Create Verilog source *.v - Create VHDL source *.vhd - Design rule checking (DRC) *.drc - Create bill of materials (BOM) *.bom - -PCB layout *.pcb Open File -> New or - generated from - schematic - -SPICE *.cir Open File -> New or -netlist Simulate *.gw generated from - schematic - -Verilog *.v Open File -> New or -source Simulate *.vcd generated from - Synthesize *.xnf schematic - -VHDL source *.vhd Open Generated from - schematic - -Gerber file *.grb Open Generated in PCB - -Analog *.gw Open Generated from -waveform SPICE netlist. - -Digital *.vcd Open Generated from -waveform Verilog source - -DRC report *.drc Open Generated from - schematic - -BOM report *.bom Open Generated from - schematic - -Xilinx XNF *.xnf Generated from - Verilog source - --------------------------------------------------------------------------------- - -To add a new file to the project choose File -> New, then select a type of -added file. To add an existing file choose File -> Import. In both cases -a new dialog - File Selection - will be opened. Go to desired directory, -then click or type a name of the file, then press Ok. Remeber that the -file has to have its extension as mentioned in the table above! - -To remove a file from the project, click its name in Project Browser -and choose File -> Unlink from the menu. The file will stay on the -disk. To completely delete the file, choose File -> Delete. In both -cases a warning will be displayed. - -Files selected in Project Browser can be opened, edited and used for other -actions. Majority of files are ASCII ones. They can be edited as a text -in builtin text editor. To edit a file choose File -> Edit from the menu. - -To open a file select it in Project Browser, then choose Action -> Open -form the menu. You can double click the file in Project Browser as well. - -Files can be opened in internal or external tools. If an internal one is -used - the file will be displayed as a new window in the Workspace. If -external one is used - a new tool will be runned. All opened files are -listed in Window menu. You can switch between internally opened windows -choosing its name in the Window menu. - -To close an internally opened file - choose it from the Window menu, -then choose File -> Close. If the file is modified and not saved, -a warning will be displayed. - -Files opened and modified should be saved with File -> Save. A file -currently opened in the workspace will be saved. - diff --git a/geda/TODO b/geda/TODO deleted file mode 100644 index 8081dead1..000000000 --- a/geda/TODO +++ /dev/null @@ -1,37 +0,0 @@ -This is a reminder for author(s). You can also request new features via -e-mail (see AUTHORS). - -=== TASK LIST === - -* Addapt EasySPICE to manage all graphs. - -* Template for new analog waveforms. - -* Possibility of extension of multiple parents in EXT definition. - -* In editor place cursor at the beginning of loaded file, not at the and. - -* Modules view shall contain functional groups grouping file types : - - Schematic (*.sch), - - PCB Layout (*.pcb, *.grb), - - Simulation (*.gph, *.cir, *.vpi, *.raw, *.vcd), - - Chip (*.chp, *.xnf, *.asm) - -* A new view: Library (System, Private, Project) with symbols, footprints, - SPICE models, linear models Verilog models, VHDL models. - -* Linear simulation, support for S-parameter models. - -* Options menu with configuration. - -* Separation gEDA from gManager. - -* New menu positions: - -> Project - -> Import - -> Example - -> ... (other environments) - -> Export - -> ... (other environments) - -* Creating directory for new projects. Better file selector. diff --git a/geda/autogen.sh b/geda/autogen.sh deleted file mode 100755 index f66ab4ab5..000000000 --- a/geda/autogen.sh +++ /dev/null @@ -1,128 +0,0 @@ -#!/bin/sh -# Run this to generate all the initial makefiles, etc. - -# This file came from glade-2.0.0 with modifications for gEDA/gaf. -# Ales Hvezda 11/09/2003 - -srcdir=`dirname $0` -test -z "$srcdir" && srcdir=. -configure_script=configure.ac - -DIE=0 - -(test -f $srcdir/$configure_script) || { - echo -n "**Error**: Directory [ $srcdir ] does not look like the" - echo " top-level package directory" - exit 1 -} - -(autoconf --version) < /dev/null > /dev/null 2>&1 || { - echo - echo "**Error**: You must have \`autoconf' installed." - echo "Download the appropriate package for your distribution," - echo "or get the source tarball at ftp://ftp.gnu.org/pub/gnu/" - DIE=1 -} - -(grep "^AM_PROG_LIBTOOL" $srcdir/$configure_script >/dev/null) && { - (libtool --version) < /dev/null > /dev/null 2>&1 || { - echo - echo "**Error**: You must have \`libtool' installed." - echo "You can get it from: ftp://ftp.gnu.org/pub/gnu/" - DIE=1 - } -} - -(grep "^AM_GNU_GETTEXT" $srcdir/$configure_script >/dev/null) && { - (grep "sed.*POTFILES" $srcdir/$configure_script) > /dev/null || \ - (autopoint --version) < /dev/null > /dev/null 2>&1 || { - echo - echo "**Error**: You must have \`gettext' installed." - echo "You can get it from: http://www.gnu.org/software/gettext" - DIE=1 - } -} - -(automake --version) < /dev/null > /dev/null 2>&1 || { - echo - echo "**Error**: You must have \`automake' installed." - echo "You can get it from: ftp://ftp.gnu.org/pub/gnu/" - DIE=1 - NO_AUTOMAKE=yes -} - - -# if no automake, don't bother testing for aclocal -test -n "$NO_AUTOMAKE" || (aclocal --version) < /dev/null > /dev/null 2>&1 || { - echo - echo "**Error**: Missing \`aclocal'. The version of \`automake'" - echo "installed doesn't appear recent enough." - echo "You can get automake from ftp://ftp.gnu.org/pub/gnu/" - DIE=1 -} - -if test "$DIE" -eq 1; then - exit 1 -fi - -# Don't run configure automatically. -#if test -z "$*"; then -# echo "**Warning**: I am going to run \`configure' with no arguments." -# echo "If you wish to pass any to it, please specify them on the" -# echo \`$0\'" command line." -# echo -#fi - -case $CC in -xlc ) - am_opt=--include-deps;; -esac - -for coin in `find $srcdir -name $srcdir/CVS -prune -o -name $configure_script -print` -do - dr=`dirname $coin` - if test -f $dr/NO-AUTO-GEN; then - echo skipping $dr -- flagged as no auto-gen - else - echo processing $dr - ( cd $dr - - aclocalinclude="$ACLOCAL_FLAGS" - - if grep "^AM_GNU_GETTEXT" $configure_script >/dev/null; then - echo "autogen.sh running: autopoint ..." - echo "no" | autopoint --force - #echo "Creating $dr/po/Makevars ..." - #mv -f $dr/po/Makevars.template $dr/po/Makevars - fi - if grep "^AM_PROG_LIBTOOL" $configure_script >/dev/null; then - if test -z "$NO_LIBTOOLIZE" ; then - echo "autogen.sh running: libtoolize ..." - libtoolize --force --copy - fi - fi - echo "autogen.sh running: aclocal $aclocalinclude ..." - aclocal $aclocalinclude - if grep "^AM_CONFIG_HEADER" $configure_script >/dev/null; then - echo "autogen.sh running: autoheader ..." - autoheader - fi - echo "autogen.sh running: automake $am_opt ..." - automake --copy --add-missing --gnu $am_opt - echo "autogen.sh running: autoconf ..." - autoconf - ) - fi -done - - -# Don't run configure. -#conf_flags="--enable-maintainer-mode" -# -#if test x$NOCONFIGURE = x; then -# echo Running $srcdir/configure $conf_flags "$@" ... -# $srcdir/configure $conf_flags "$@" \ -# && echo Now type \`make\' to compile. || exit 1 -#else -# echo Skipping configure process. -#fi diff --git a/geda/configure.ac b/geda/configure.ac deleted file mode 100644 index 4fc55fdf2..000000000 --- a/geda/configure.ac +++ /dev/null @@ -1,350 +0,0 @@ -# Process this file with autoconf to produce a configure script. -AC_INIT(configure.ac) - -PACKAGE=geda -VERSION=20070216 -echo Configuring $PACKAGE version $VERSION - -# Initialize automake -AM_INIT_AUTOMAKE($PACKAGE, $VERSION) -AM_CONFIG_HEADER([config.h]) - -######################################################################### -# Command line flags start -# - -# -# Command line flags end -######################################################################### - -######################################################################### -# -# Misc win32 / mingw checks and variables start - -# Figure out if we are building on win32 and what environment. -case $host_os in - *mingw32* ) echo "Configuring for mingw"; MINGW=yes ;; -esac - -if ! test "$MINGW" = "no" -o "$MINGW"x = x; then - MINGW_CFLAGS="-mms-bitfields -mwindows" - MINGW_LIBS="-lregex -liberty" - MINGW="yes" - PATHSEP=\\\\ - OTHERPATHSEP=/ -else - # Unix host - MINGW_CFLAGS= - MINGW_LIBS= - MINGW="no" - PATHSEP=/ - OTHERPATHSEP=\\\\ -fi - -# -# Misc win32 / mingw checks and variables end -######################################################################### - -# Checks for programs. -AC_PROG_CC -AM_CONDITIONAL(CCISGCC, test "$GCC" = "yes") -AC_PROG_CPP -AC_PROG_MAKE_SET - -AC_ISC_POSIX -AC_PROG_CC -AM_PROG_CC_STDC -AC_HEADER_STDC - -############################################################################ -# Check for mics things start -# -# Checking for rint in math library -AC_CHECK_LIB(m, rint, AC_DEFINE(HAS_RINT, 1, [If your math library has rint in it, define this]), no_RINT="yes") - -# Checking for dynamic lib -AC_CHECK_LIB(dl, dlopen, DL_LIB="-ldl", DL_LIB="") -# -# Check for mics things start -############################################################################ - -############################################################################ -# Check for X11 start -# - -if test "$MINGW" = "no" -then - AC_PATH_X - AC_PATH_XTRA - - X_EXTRA_LIBS="$X_EXTRA_LIBS" - X_LDFLAGS="$X_LDFLAGS $X_LIBS $X_EXTRA_LIBS $X_PRE_LIBS -lX11 -lm" -fi - -# -# Check for X11 end -############################################################################ - -############################################################################ -# Check for gtk+ 2.2 start -# - -# Check for pkg-config -AC_PATH_PROG(PKG_CONFIG, pkg-config, no) -if test $PKG_CONFIG = no; then - AC_MSG_ERROR([Cannot find pkg-config, make sure it is installed and in your PATH]) -fi - -PKG_CHECK_MODULES(GTK22, gtk+-2.0 >= 2.2.0, GTK22="yes", no_GTK22="yes") - -# This next bit of code figures out what gtk we need to use. -if test "$GTK22" = "yes" -then - - AC_DEFINE(HAS_GTK22, 1, [If gtk+ 2.2.x has been installed, define this]) - GTK_CFLAGS=$GTK22_CFLAGS - GTK_LIBS=$GTK22_LIBS - GTK_VERSION=`$PKG_CONFIG gtk+-2.0 --modversion` - - # Search for glib - PKG_CHECK_MODULES(GLIB22, glib-2.0 >= 2.2.0, GLIB22="yes", no_GLIB22="yes") - if test "$GLIB22" != "yes" - then - AC_MSG_ERROR([Cannot find glib 2.2.x, install it and rerun ./configure.]) - fi - GLIB_CFLAGS=$GLIB22_CFLAGS - GLIB_LIBS=$GLIB22_LIBS - GLIB_VERSION=`$PKG_CONFIG glib-2.0 --modversion` - -else - GTK_VERSION="" -fi - -if test "$GTK_VERSION" = "" -then - AC_MSG_ERROR([Cannot find gtk+ 2.2.x or later, please install gtk+.]) -fi - -# -# Check for gtk+ 2.2 end -############################################################################ - -######################################################################### -# Checks for header files start -# - -AC_HEADER_STDC -AC_HEADER_SYS_WAIT -AC_HEADER_DIRENT -AC_CHECK_HEADERS(unistd.h string.h stdlib.h stdarg.h assert.h fcntl.h \ - errno.h) - -AC_MSG_CHECKING([for optarg in unistd.h]) -AC_TRY_COMPILE( -[#include ], -[ char *string = optarg; int i = optind; ], -optarg_found=yes, -optarg_found=no) -AC_MSG_RESULT($optarg_found) -if test $optarg_found = yes; then - AC_DEFINE(OPTARG_IN_UNISTD, 1, [Define if you have optarg in unistd.h]) -fi - -# Checks for typedefs, structures, and compiler characteristics. -AC_C_CONST - -# Checks for library functions. -AC_TYPE_SIGNAL -AC_CHECK_FUNCS(getcwd strstr vsnprintf snprintf) - -# -# Checks for header files end -######################################################################### - -######################################################################### -# gEDA/gaf specify setup start -# - -# Defs for libary symbol files -# -# Expand the prefix variable -if eval "test x$prefix = xNONE"; then - dprefix=$ac_default_prefix -else - dprefix=$prefix -fi - -DATADIR=gEDA -GEDADATADIR=$datadir/$DATADIR - -gedatopdir=$dprefix/share/$DATADIR -expandgedadatadir=`echo $gedatopdir` - -# this has to be expanded ( no ${prefix} ) -- -AC_DEFINE_UNQUOTED(GEDADATADIR, "$gedatopdir", [gEDA/gaf's data directory]) -AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Currently running version of gEDA/gaf]) - -# -# gEDA/gaf specify things which need to setup -######################################################################### - -# Finally create the final CFLAGS and LDFLAGS for use in the makefiles -GMANAGER_CFLAGS="$MINGW_CFLAGS $GTK_CFLAGS $X_CFLAGS" -GMANAGER_LDFLAGS="$MINGW_LIBS $GLIB_LIBS" -AC_SUBST(GMANAGER_CFLAGS) -AC_SUBST(GMANAGER_LDFLAGS) -AC_SUBST(GTK_LIBS) - -dnl Checks for programs. -dnl Checks for libraries. -dnl Checks for header files. -AC_CHECK_HEADERS(time.h) - -dnl Checks for typedefs, structures, and compiler characteristics. -dnl Checks for library functions. -AC_CHECK_FUNCS(nanosleep) - -dnl Checks for Additional stuffs. - -dnl Languages which your application supports - -######################################################################### -# - -# ------------- dmalloc ------------------- -dnl dmalloc checks -with_dmalloc="no" -AC_MSG_CHECKING([if dmalloc debugging should be enabled]) -AC_ARG_ENABLE([dmalloc], -[ --enable-dmalloc Compile and link with dmalloc for malloc debugging [[default=no]]], -[ -if test "X$enable_dmalloc" != "Xno" ; then - AC_MSG_RESULT([yes]) - AC_CHECK_HEADER(dmalloc.h,, - AC_ERROR([You have requested dmalloc debugging but dmalloc.h could not be found])) - AC_CHECK_LIB(dmalloc,main,, - AC_ERROR([You have requested dmalloc debugging but -ldmalloc could not be found])) - DMALLOC_LIBS="-ldmalloc" - with_dmalloc="yes" -else - AC_MSG_RESULT([no]) - DMALLOC_LIBS="" -fi -], -[ - AC_MSG_RESULT([no]) - DMALLOC_LIBS="" -]) - -# ------------- ElectricFence ------------------- -dnl ElectricFence checks -with_efence="no" -AC_MSG_CHECKING([if ElectricFence debugging should be enabled]) -AC_ARG_ENABLE([efence], -[ --enable-efence Link with ElectricFence for malloc debugging [[default=no]]], -[ -if test "X$enable_efence" != "Xno" ; then - AC_MSG_RESULT([yes]) - if test "X$with_dmalloc" = "Xyes" ; then - AC_ERROR([You have requested both dmalloc and Electric Fence, however only 1 is allowed.]) - fi - AC_CHECK_LIB(efence,main,, - AC_ERROR([You have requested ElectricFence debugging but -lefence could not be found])) - with_efence="yes" -else - AC_MSG_RESULT([no]) -fi -], -[ -AC_MSG_RESULT([no]) -]) - -# -######################################################################### - -ALL_LINGUAS="" -AM_GNU_GETTEXT -AM_GNU_GETTEXT_VERSION(0.12.1) - -dnl Set PACKAGE_LOCALE_DIR in config.h. -if test "x${prefix}" = "xNONE"; then - AC_DEFINE_UNQUOTED(PACKAGE_LOCALE_DIR, "${ac_default_prefix}/${DATADIRNAME}/locale", [Package locale directory]) -else - AC_DEFINE_UNQUOTED(PACKAGE_LOCALE_DIR, "${prefix}/${DATADIRNAME}/locale", [Package locale directory]) -fi - - -dnl Set PACKAGE SOURCE DIR in config.h. -packagesrcdir=`cd $srcdir && pwd` - -dnl Set PACKAGE PREFIX -if test "x${prefix}" = "xNONE"; then - packageprefix=${ac_default_prefix} -else - packageprefix=${prefix} -fi - -dnl Set PACKAGE DATA & DOC DIR -packagedatadir=share/${PACKAGE} -packagedocdir=doc/${PACKAGE} - -dnl Set PACKAGE DIRS in config.h. -packagepixmapsdir=${packagedatadir}/pixmaps -packagehelpdir=${packagedatadir}/help -packagemenudir=${packagedatadir} - -dnl Subst PACKAGE_DATA_DIR. -NO_PREFIX_PACKAGE_DATA_DIR="${packagedatadir}" -AC_SUBST(NO_PREFIX_PACKAGE_DATA_DIR) -PACKAGE_DATA_DIR="${packageprefix}/${packagedatadir}" -AC_SUBST(PACKAGE_DATA_DIR) - -dnl Subst PACKAGE_DOC_DIR. -NO_PREFIX_PACKAGE_DOC_DIR="${packagedocdir}" -AC_SUBST(NO_PREFIX_PACKAGE_DOC_DIR) -PACKAGE_DOC_DIR="${packageprefix}/${packagedocdir}" -AC_SUBST(PACKAGE_DOC_DIR) - -dnl Subst PACKAGE_PIXMAPS_DIR. -NO_PREFIX_PACKAGE_PIXMAPS_DIR="${packagepixmapsdir}" -AC_SUBST(NO_PREFIX_PACKAGE_PIXMAPS_DIR) -PACKAGE_PIXMAPS_DIR="${packageprefix}/${packagepixmapsdir}" -AC_SUBST(PACKAGE_PIXMAPS_DIR) - -dnl Subst PACKAGE_HELP_DIR. -NO_PREFIX_PACKAGE_HELP_DIR="${packagehelpdir}" -AC_SUBST(NO_PREFIX_PACKAGE_HELP_DIR) -PACKAGE_HELP_DIR="${packageprefix}/${packagehelpdir}" -AC_SUBST(PACKAGE_HELP_DIR) - -dnl Subst PACKAGE_MENU_DIR. -NO_PREFIX_PACKAGE_MENU_DIR="${packagemenudir}" -AC_SUBST(NO_PREFIX_PACKAGE_MENU_DIR) -PACKAGE_MENU_DIR="${packageprefix}/${packagemenudir}" -AC_SUBST(PACKAGE_MENU_DIR) - -AC_DEFINE_UNQUOTED(PACKAGE_DATA_DIR, "${packageprefix}/${packagedatadir}", [Package data directory]) -AC_DEFINE_UNQUOTED(PACKAGE_DOC_DIR, "${packageprefix}/${packagedocdir}", [Package doc directory]) -AC_DEFINE_UNQUOTED(PACKAGE_PIXMAPS_DIR, "${packageprefix}/${packagepixmapsdir}", [Package pixmap directory]) -AC_DEFINE_UNQUOTED(PACKAGE_HELP_DIR, "${packageprefix}/${packagehelpdir}", [Package help directory]) -AC_DEFINE_UNQUOTED(PACKAGE_MENU_DIR, "${packageprefix}/${packagemenudir}", [Package menu directroy]) -AC_DEFINE_UNQUOTED(PACKAGE_SOURCE_DIR, "${packagesrcdir}", [Package source directory]) - -AC_OUTPUT([ Makefile - m4/Makefile - intl/Makefile - po/Makefile.in - include/Makefile - src/Makefile - pixmaps/Makefile - graphman/Makefile ]) - -AC_MSG_RESULT([ -** Configuration summary for $PACKAGE $VERSION: - - GLIB library version: $GLIB_VERSION - GTK+ library version: $GTK_VERSION - mingw build: $MINGW - dmalloc debugging: $with_dmalloc - ElectricFence debugging: $with_efence -]) diff --git a/geda/graphman/.cvsignore b/geda/graphman/.cvsignore deleted file mode 100644 index 88801fc5a..000000000 --- a/geda/graphman/.cvsignore +++ /dev/null @@ -1,6 +0,0 @@ -.libs -.deps -Makefile -Makefile.in -raw2gw -graphman diff --git a/geda/graphman/Makefile.am b/geda/graphman/Makefile.am deleted file mode 100644 index 65b23d8f9..000000000 --- a/geda/graphman/Makefile.am +++ /dev/null @@ -1,51 +0,0 @@ -# GraphMan Makefile.am - -INCLUDES = @GMANAGER_CFLAGS@ -I./ -I$(top_srcdir)/intl - -localedir = @datadir@/locale -DEFS = -DPACKAGE_LOCALE_DIR=\"$(localedir)\" @DEFS@ - -if CCISGCC -AM_CFLAGS =\ - -Wall -Wimplicit -Wreturn-type -Wunused -Wswitch -Wcomment -Wuninitialized -Wparentheses -Wpointer-arith -Wmissing-prototypes -g -O -endif - -bin_PROGRAMS = graphman raw2gw - -raw2gw_SOURCES = \ - raw2gw.c - -graphman_SOURCES = \ - callbacks.c \ - callbacks.h \ - configfile.c \ - configfile.h \ - export2gwave.c \ - export2gwave.h \ - filetool.c \ - filetool.h \ - global.h \ - graph.c \ - graph.h \ - interface.c \ - interface.h \ - main.c \ - msg.h \ - msgbox.c \ - msgbox.h \ - libstring.c \ - libstring.h \ - support.c \ - support.h \ - value.c \ - value.h - - -graphman_LDFLAGS = @GMANAGER_LDFLAGS@ - -graphman_LDADD = @GTK_LIBS@ @LIBINTL@ - -MOSTLYCLEANFILES = *.log *~ graphman -CLEANFILES = *.log *~ graphman -DISTCLEANFILES = *.log core FILE *~ prototype.bak graphman -MAINTAINERCLEANFILES = *.log *~ Makefile.in configure graphman diff --git a/geda/graphman/README b/geda/graphman/README deleted file mode 100644 index 40145bcf6..000000000 --- a/geda/graphman/README +++ /dev/null @@ -1,93 +0,0 @@ -Graph manager - -Graph manager is used for defining presentation of simulation results. Because -of this it is always related to a simulation file. Graph file never contains -data, they are loaded from the reffered results file which has exactly the -same name as simulation file. - -Graph manager should support many kind of graph tools. Not all function can -be used with any tool. Graph parameters not allowed should be not editable -but saved in any case with default values. If a user enter them in context -of one tool then switch to another one not supporting them - they will be -saved but not used. - -Graph manager can be started in different ways: - -graphman -f -o - opens a window for editting graph properties - -graphman -f -g – generates a graph viewer file(s) pointed out in -graph file without displaying any window - -graphman -f -e -m – exports a graph -(without -m the same as -g) - -/* --- planned modes --- -graphman -f - opens a window and displays a graph following view -definition in a graph file and data contained in a reffered results file. -graphman -f -d – displays a graph -graphman -f -i -m – imports a graph -graphman -f -c – creates a new empty graph -Additional switch '-p ' can be added in any case. This switch -causes integration with running GManager instance which pid is pointed out. - -Graph file - -Filename convention - -Files can have any name, even including spaces, national characters and others -that OS can support. Simulation manager may not limit them. Mandatory extension -for the file is *.gph. - -Format description - -Format of the files are as follows: - -* all lines should be ended with \n (x10), -* line beginning with # or a blank character are ignored, -* all parameters are saved in a form of: - PARAMETER ARGUMENT = VALUE1, VALUE2, VALUE3, ... - number of values are not limitted but at least one should be defined, - string values are in “”, - ARGUMENT is not mandatory but can appear. -* all parameters appear in sections marked by a line: - [] - where can be one of [MAIN | XAXIS | YAXIS] - -List of parameters: - -[MAIN] -VERSION = “” -SIMULATION = “” -TOOL = [“GWAVE” | “GTKWAVE”] -BORDER = [“WHITE” | “BLACK” | “RED” | “BLUE” | “YELLOW”] - -[XAXIS] -X = [“AUTO” | [, ]] -SCROLL = [“NONE” | “percentage”] -SCALE = [ “LIN” | “LOG” | “DEC”] -XDIV = deltaX for main dividing -COLOR = [“WHITE” | “BLACK” | “RED” | “BLUE” | “YELLOW”] -STYLE = [“SOLID” | “DOTS” | “LINES”] -XDIV2 = -COLOR2 = [“WHITE” | “BLACK” | “RED” | “BLUE” | “YELLOW”] (add. lines) -STYLE2 = [“SOLID” | “DOTS” | “LINES”] (add. lines) - -[YAXIS] -Y = [“AUTO” | [, ]] -SCALE = [ “LIN” | “LOG” | “DEC”] -YDIV = delta Y for main lines -COLOR = [“WHITE” | “BLACK” | “RED” | “BLUE” | “YELLOW” | xXXXXXX] -STYLE = [“SOLID” | “DOTS” | “LINES”] -XDIV2 = -COLOR2 = [“WHITE” | “BLACK” | “RED” | “BLUE” | “YELLOW” | xXXXXXX] (add. lines) -STYLE2 = [“SOLID” | “DOTS” | “LINES”] (add. lines) - -[] -FORMULA = “” -COLOR = [“WHITE” | “BLACK” | “RED” | “BLUE” | “YELLOW” | xXXXXXX] -STYLE = [“SOLID” | “DOTS” | “LINES”] - -Files used -*.esp Simulation manager file -*.gph Graph manager file -*.res Results of simulation diff --git a/geda/graphman/callbacks.c b/geda/graphman/callbacks.c deleted file mode 100644 index 521ab503f..000000000 --- a/geda/graphman/callbacks.c +++ /dev/null @@ -1,120 +0,0 @@ -/* $Id$ */ - -/*******************************************************************************/ -/* */ -/* gEDA Suite Project Manager */ -/* */ -/* Copyright (C) 2002 Piotr Miarecki, sp9rve@radioam.net */ -/* */ -/* 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 version 2. */ -/* */ -/* 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, email to the author */ -/* */ -/*******************************************************************************/ - -#ifdef HAVE_CONFIG_H -# include "config.h" -#endif - -#ifdef HAVE_UNISTD_H -# include -#endif - -#include - -#include "callbacks.h" -#include "global.h" -#include "graph.h" -#include "interface.h" -#include "libstring.h" -#include "support.h" -#include "value.h" - - -void -MainNotebookPlotsNewButton_clicked (GtkButton *button, - gpointer user_data) -{ - -} - - -void -MainNotebookPlotsModifyButton_clicked (GtkButton *button, - gpointer user_data) -{ - -} - - -void -MainNotebookPlotsDeleteButton_clicked (GtkButton *button, - gpointer user_data) -{ - -} - - -void -MainNotebookGraphBorderButton_clicked (GtkButton *button, - gpointer user_data) -{ -} - - -void PlotButtonOkButton_clicked(GtkButton *pButton, gpointer pUserData) -{ -} - - -void PlotButtonCancelButton_clicked(GtkButton *pButton, gpointer pUserData) -{ - -} - - - - - - -void MainButtonOk_clicked(GtkButton *pButton, gpointer pUserData) -{ - GraphSave(szFilename); - gtk_main_quit(); -} - - -void MainButtonCancel_clicked(GtkButton *pButton, gpointer pUserData) -{ - gtk_main_quit(); -} - - -void MainButtonPlot_clicked(GtkButton *pButton, gpointer pUserData) -{ - char *pCommand = NULL; - - pCommand = StringCreate(); - StringCopy(&pCommand, Graph.szFileName); - StringCat(&pCommand, ".gw"); - - execlp("gwave", "-s", pCommand, NULL); -} - - -gboolean MainDeleteEvent_clicked(GtkWidget *pWidget, GdkEvent *pEvent, gpointer pUserData) -{ - gtk_main_quit(); - return FALSE; -} - - - diff --git a/geda/graphman/callbacks.h b/geda/graphman/callbacks.h deleted file mode 100644 index eb5a85066..000000000 --- a/geda/graphman/callbacks.h +++ /dev/null @@ -1,89 +0,0 @@ -#include -#include "value.h" - - - -void -MainNotebookPlotsNewButton_clicked (GtkButton *button, - gpointer user_data); - -void -MainNotebookPlotsModifyButton_clicked (GtkButton *button, - gpointer user_data); - -void -MainNotebookPlotsDeleteButton_clicked (GtkButton *button, - gpointer user_data); - -void -MainNotebookGraphBorderButton_clicked (GtkButton *button, - gpointer user_data); - -gboolean -MainDeleteEvent_clicked (GtkWidget *widget, - GdkEvent *event, - gpointer user_data); - -void -MainNotebookPlotsNewButton_clicked (GtkButton *button, - gpointer user_data); - -void -MainNotebookPlotsModifyButton_clicked (GtkButton *button, - gpointer user_data); - -void -MainNotebookPlotsDeleteButton_clicked (GtkButton *button, - gpointer user_data); - -void -MainNotebookGraphBorderButton_clicked (GtkButton *button, - gpointer user_data); - -void -MainNotebookXAxisScaleXminCheck_toggled - (GtkToggleButton *togglebutton, - gpointer user_data); - -void -MainNotebookXAxisMainDxCheck_toggled (GtkToggleButton *togglebutton, - gpointer user_data); - -void -MainNotebookXAxisAddNumberCheck_toggled - (GtkToggleButton *togglebutton, - gpointer user_data); - -void -MainNotebookYAxisScaleYminCheck_toggled - (GtkToggleButton *togglebutton, - gpointer user_data); - -void -MainNotebookYAxisMainDyButton_toggled (GtkToggleButton *togglebutton, - gpointer user_data); - -void -MainNotebookYAxisAddNumberCheck_toggled - (GtkToggleButton *togglebutton, - gpointer user_data); - -void -MainButtonOk_clicked (GtkButton *button, - gpointer user_data); - -void -MainButtonCancel_clicked (GtkButton *button, - gpointer user_data); - -void -MainButtonPlot_clicked (GtkButton *button, - gpointer user_data); - -void -PlotButtonOkButton_clicked (GtkButton *button, - gpointer user_data); - -void -PlotButtonCancelButton_clicked (GtkButton *button, - gpointer user_data); diff --git a/geda/graphman/configfile.c b/geda/graphman/configfile.c deleted file mode 100644 index 88b55574e..000000000 --- a/geda/graphman/configfile.c +++ /dev/null @@ -1,288 +0,0 @@ -/* $Id$ */ - -/*******************************************************************************/ -/* */ -/* gEDA Suite Project Manager */ -/* */ -/* Copyright (C) 2002 Piotr Miarecki, sp9rve@eter.ariadna.pl */ -/* */ -/* 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 version 2. */ -/* */ -/* This program is distributed in the hope that it will be useful, */ -/* but WITHOUT ANY WARRANTY; without even the implied warranty of */ -/* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the */ -/* GNU General Public License for more details. */ -/* */ -/* You should have received a copy of the GNU General Public License */ -/* along with this program; if not, write to the Free Software */ -/* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ -/* */ -/*******************************************************************************/ - -#ifdef HAVE_CONFIG_H -#include "config.h" -#endif -#include -#include - -#ifdef HAVE_STRING_H -#include -#endif - -#include "configfile.h" -#include "global.h" -#include "libstring.h" - - -/******************************************************************************* - - Static functions and variables - -*******************************************************************************/ - -#define MAXLINELEN 256 - -static FILE *fp = NULL; -static char szLineBuf[MAXLINELEN]; - -static int ConfigReadLine(char *szLine); -static BOOL IsSeparator(const char c); - - - -int ConfigOpen(const char *szName) -{ - fp = fopen(szName, "r"); - if (fp == NULL) - return FAILURE; - - return SUCCESS; -} - - - -int ConfigClose(void) -{ - int iReturn; - - iReturn = fclose(fp); - if (iReturn != 0) - return FAILURE; - - fp = NULL; - - return SUCCESS; -} - - - -int ConfigSection(const char *szName) -{ - int iFound = 0, iResult, i; - char szLine[MAXLINELEN], szPattern[MAXLINELEN]; - - rewind(fp); - sprintf(szPattern, "[%s]", szName); - for (i = 0; i < strlen(szPattern); i ++) - szPattern[i] = toupper(szPattern[i]); - - - while (!feof(fp) && iFound == 0) - { - iResult = ConfigReadLine(szLine); - if (iResult != SUCCESS) - return FAILURE; - for (i = 0; i < strlen(szLine); i ++) - szLine[i] = toupper(szLine[i]); - - if (strncmp(szPattern, szLine, strlen(szPattern)) == 0) - { - iFound = 1; - break; - } - } - - if (iFound == 0) - return FAILURE; - - return SUCCESS; -} - - - -int ConfigGetNext(char *szName, char *szValue) -{ - int iFound = 0, iResult, i, j = 0; - char szLine[MAXLINELEN]; - - while (!feof(fp) && iFound == 0) - { - iResult = ConfigReadLine(szLine); - if (iResult != SUCCESS) - return FAILURE; - - if (strlen(szLine) == 0) - continue; - if (szLine[0] == '[') - break; - if (isascii((int) szLine[0])) - iFound = 1; - break; - } - - if (iFound == 0) - return FAILURE; - - for (i = 0; i < strlen(szLine) && isalnum((int) szLine[i]); i ++) - szName[i] = toupper(szLine[i]); - szName[i] = 0; - for (; i < strlen(szLine) && (szLine[i] == '=' || isspace((int) szLine[i])); i ++) - ; - for (; i < strlen(szLine); i ++) - szValue[j ++] = szLine[i]; - szValue[j] = 0; - - - return SUCCESS; -} - - - -/******************************************************************************* - - Get value of a parameter - - Function reads a string (pointed out) from a parameter line - and return a pointer to it. It uses a static buffer. - -*******************************************************************************/ - -#define PARSE_SPACES 1 -#define PARSE_STRING 2 -#define PARSE_ALNUM 3 -#define PARSE_STOP 4 - -char *ConfigValue(const int iValue) -{ - static char *pString = NULL; - - int iCount, iState, iStart = 0, iStop = 0, i; - - if (pString == NULL) - StringCreate(); - - - /* omit beginning of a parameter line, like "KEY = " */ - for (i = 0; i < strlen(szLineBuf) && szLineBuf[i] != '='; i ++) - ; - i ++; - - - for (iCount = 1; iCount <= iValue; iCount ++) - { - for (iState = PARSE_SPACES; i < strlen(szLineBuf) && iState != PARSE_STOP; i ++) - { - switch (iState) - { - case PARSE_SPACES: - if (!isspace((int) szLineBuf[i])) - { - if (szLineBuf[i] == '"') - { - iStart = i + 1; - iStop = iStart; - iState = PARSE_STRING; - } - - else if (!IsSeparator(szLineBuf[i])) - { - iStart = i; - iStop = iStart; - iState = PARSE_ALNUM; - } - } - break; - - case PARSE_STRING: - if (szLineBuf[i] == '"') - { - iStop = i - 1; - iState = PARSE_STOP; - StringCopyNum(&pString, szLineBuf + iStart, iStop - iStart + 1); - } - else - iStop = i; - break; - - case PARSE_ALNUM: - if (isspace((int) szLineBuf[i]) || IsSeparator(szLineBuf[i])) - { - iState = PARSE_STOP; - } - else - iStop = i; - break; - - case PARSE_STOP: - break; - } - } - - if (iCount == iValue) - StringCopyNum(&pString, szLineBuf + iStart, iStop - iStart + 1); - } - - - return (strlen(pString) > 0) - ? pString - : NULL; -} - - - -static int ConfigReadLine(char *szLine) -{ - int c = 0, j = 0; - - while (!feof(fp) && j < MAXLINELEN) - { - c = fgetc(fp); - - if (c == '\n' || c == '\r') - { - //j = 0; - break; - } - - szLine[j ++] = (char) c; - } - - while (!feof(fp) && (c == '\n' || c == '\r')) - c = fgetc(fp); - ungetc(c, fp); - szLine[j] = 0; - - strcpy(szLineBuf, szLine); - - return SUCCESS; -} - - - -/******************************************************************************* - - Separator recognizing - -*******************************************************************************/ - -static char cSeparator = ','; - - -static BOOL IsSeparator(const char c) -{ - return (c == cSeparator) - ? TRUE - : FALSE; -} diff --git a/geda/graphman/configfile.h b/geda/graphman/configfile.h deleted file mode 100644 index 376191e29..000000000 --- a/geda/graphman/configfile.h +++ /dev/null @@ -1,37 +0,0 @@ -/*******************************************************************************/ -/* */ -/* gEDA Suite Project Manager */ -/* */ -/* Copyright (C) 2002 Piotr Miarecki, sp9rve@eter.ariadna.pl */ -/* */ -/* 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 version 2. */ -/* */ -/* This program is distributed in the hope that it will be useful, */ -/* but WITHOUT ANY WARRANTY; without even the implied warranty of */ -/* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the */ -/* GNU General Public License for more details. */ -/* */ -/* You should have received a copy of the GNU General Public License */ -/* along with this program; if not, write to the Free Software */ -/* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ -/* */ -/*******************************************************************************/ - -#ifndef __CONFIG_H_INCLUDED -#define __CONFIG_H_INCLUDED - - - -/* public functions */ -int ConfigOpen(const char *szName); -int ConfigClose(void); -int ConfigSection(const char *szName); -int ConfigGetNext(char *szName, char *szValue); -char *ConfigKey(const int iKey); -char *ConfigValue(const int iValue); - - - -#endif diff --git a/geda/graphman/export2gwave.c b/geda/graphman/export2gwave.c deleted file mode 100644 index 77ccfeb37..000000000 --- a/geda/graphman/export2gwave.c +++ /dev/null @@ -1,161 +0,0 @@ -/* $Id$ */ - -/*******************************************************************************/ -/* */ -/* gEDA Suite Project Manager */ -/* */ -/* Copyright (C) 2002 Piotr Miarecki, sp9rve@radioam.net */ -/* */ -/* 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 version 2. */ -/* */ -/* 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, email to the author */ -/* */ -/*******************************************************************************/ - -#ifdef HAVE_CONFIG_H -# include "config.h" -#endif - -#include -#include - -#ifdef HAVE_STRING_H -#include -#endif - -#include - -#include "export2gwave.h" -#include "global.h" -#include "graph.h" -#include "msg.h" - - - -static BOOL CreateScript(const char *szExtFilename); -static BOOL CreatePlot(const char *szExtFilename); - - - -/*******************************************************************************/ -/* Export to GWave */ -/*******************************************************************************/ - -void Export2Gwave(const char *szExtFilename) -{ - BOOL bError; - - bError = CreateScript(szExtFilename); - if (!bError) - return; - - bError = CreatePlot(szExtFilename); - if (!bError) - return; -} - - - -static BOOL CreateScript(const char *szExtFilename) -{ - FILE *fp; - time_t Time; - struct Plot_t *Plot = NULL; - int i; - - Time = time(NULL); - - fp = fopen(szExtFilename, "w"); - if (fp == NULL) - { - Error(MSG_CANNOT_CREATE_FILE); - return TRUE; - } - - fprintf(fp, "#!gwave -s\n"); /* BUG - path to gwave ?! */ - fprintf(fp, "\n"); - - fprintf(fp, "# File created by Graph Manager %s\n", VERSION); - fprintf(fp, "# Date: %s\n", ctime(&Time)); - fprintf(fp, "\n"); - - fprintf(fp, "(require-n-wavepanels %d)\n", - 1 - ); - fprintf(fp, "(set! default-measure1-function %d)\n", /* ??? */ - 5 - ); - fprintf(fp, "(let ((df (if script-target-datafile\n"); - fprintf(fp, " script-target-datafile\n"); - fprintf(fp, " (find-or-load-wavefile \"%s.gwd\"))))\n", - Graph.szDataSource - ); - for (Plot = Graph.PlotList, i = 0; Plot != NULL; Plot = Plot->pNext, i ++) - { - fprintf(fp, " (wavepanel-add-var-setup df (nth-wavepanel %d) \"%s\" %d)\n", - i, - Plot->szFormula, - (!strcmp(Plot->szColor, COLOR_YELLOW)) ? 1 - : (!strcmp(Plot->szColor, COLOR_RED)) ? 0 - : (!strcmp(Plot->szColor, COLOR_BLUE)) ? 3 - : (!strcmp(Plot->szColor, COLOR_GREEN)) ? 2 - : (!strcmp(Plot->szColor, COLOR_MAGENTA)) ? 5 - : 4 /* light blue, for not supported */ - ); - } - fprintf(fp, ")\n"); - - fprintf(fp, "(x-zoom! %f %f)\n", - Graph.dfXmin, - Graph.dfXmax); - fprintf(fp, "(wtable-set-xlogscale! #%c)\n", - (!strcmp(Graph.szXScale, SCALE_LIN)) ? 'f' - : (!strcmp(Graph.szXScale, SCALE_LOG)) ? 't' - : 'f' /* for not supported */ - ); - fprintf(fp, "(set! default-wavepanel-type %d)\n", /* ??? */ - 0 - ); - -/* fprintf(fp, "(set-wtable-vcursor! %d %f)\n", - 0, - 19500000.8050001 - ); */ - fprintf(fp, "(gtk-tooltips-enable gwave-tooltips)\n"); - - fprintf(fp, "(let ((wp (nth-wavepanel 0)))\n"); - fprintf(fp, " (set-wavepanel-ylogscale! wp #%c)\n", - (!strcmp(Graph.szYScale, SCALE_LIN)) ? 'f' - : (!strcmp(Graph.szYScale, SCALE_LOG)) ? 't' - : 'f' /* for not supported */ - ); - fprintf(fp, " (set-wavepanel-type! wp %d)\n", /* ??? */ - 0 - ); - if (Graph.bYAuto) - { - fprintf(fp, " (wavepanel-y-zoom! wp %f %f)\n", - Graph.dfYmin, - Graph.dfYmax - ); - } - - fprintf(fp, ")\n"); - - fclose(fp); - return FALSE; -} - - -static BOOL CreatePlot(const char *szExtFilename) -{ - return FALSE; -} diff --git a/geda/graphman/export2gwave.h b/geda/graphman/export2gwave.h deleted file mode 100644 index 757396997..000000000 --- a/geda/graphman/export2gwave.h +++ /dev/null @@ -1,31 +0,0 @@ -/*******************************************************************************/ -/* */ -/* gEDA Suite Project Manager */ -/* */ -/* Copyright (C) 2002 Piotr Miarecki, sp9rve@radioam.net */ -/* */ -/* 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 version 2. */ -/* */ -/* 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, email to the author */ -/* */ -/*******************************************************************************/ - -#ifndef __EXPORT2GWAVE_H_INCLUDED -#define __EXPORT2GWAVE_H_INCLUDED - - - -/* public functions */ -void Export2Gwave(const char *szExtFilename); - - - -#endif /* __EXPORT2GWAVE_H_INCLUDED */ diff --git a/geda/graphman/filetool.c b/geda/graphman/filetool.c deleted file mode 100644 index e385d6a60..000000000 --- a/geda/graphman/filetool.c +++ /dev/null @@ -1,331 +0,0 @@ -/* $Id$ */ - -/*******************************************************************************/ -/* */ -/* gEDA Suite Project Manager */ -/* */ -/* Copyright (C) 2002 Piotr Miarecki, sp9rve@eter.ariadna.pl */ -/* */ -/* 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 version 2. */ -/* */ -/* This program is distributed in the hope that it will be useful, */ -/* but WITHOUT ANY WARRANTY; without even the implied warranty of */ -/* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the */ -/* GNU General Public License for more details. */ -/* */ -/* You should have received a copy of the GNU General Public License */ -/* along with this program; if not, write to the Free Software */ -/* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ -/* */ -/*******************************************************************************/ - -#ifdef HAVE_CONFIG_H -#include "config.h" -#endif - -#define GTK_ENABLE_BROKEN -#include -#include - -#ifdef HAVE_STRING_H -#include -#endif - -#include -#include - -#ifdef HAVE_UNISTD_H -#include -#endif - -#include "filetool.h" -#include "global.h" -#include "support.h" - - - -/* PID of last thread created by FileExec() */ -static pid_t Pid = -1; - - - -/* - check if file exists -*/ - -int FileIsExisting(const char *szFileName) -{ - FILE *fp; - - fp = fopen(szFileName, "r"); - if (fp == NULL) - return FAILURE; - - fclose(fp); - - return SUCCESS; -} - - - -/* - copy file -*/ - -int FileCopy(const char *szSource, const char *szDest) -{ - FILE *Source, *Dest; - - Source = fopen(szSource, "r"); - if (Source == NULL) - { - /* TODO: error handling */ - return FAILURE; - } - - Dest = fopen(szDest, "w"); - if (Dest == NULL) - { - /* TODO: error handling */ - return FAILURE; - } - - while (!feof(Source)) - fputc(fgetc(Source), Dest); - - fclose(Dest); - fclose(Source); - - return SUCCESS; -} - - - -/* - get file name, extension and directory from full path -*/ - -char *FileGetName(const char *szFilename) -{ - static char szName[TEXTLEN]; - int i, j; - - /* extract only filename with extension */ - for (i = strlen(szFilename) - 1; i >= 0 && szFilename[i] != G_DIR_SEPARATOR; i --) - ; - if (i < 0) - i = 0; - if (szFilename[i] == G_DIR_SEPARATOR) - i ++; - if (i > strlen(szFilename) - 1) - i = strlen(szFilename) - 1; - strcpy(szName, szFilename + i); - - /* remove extension */ - for (j = strlen(szName) - 1; j >= 0 && szName[j] != '.'; j --) - ; - if (j >= 0) - szName[j] = 0; - - return szName; -} - - -char *FileGetExt(const char *szFilename) -{ - static char szExt[TEXTLEN]; - int i; - - szExt[0] = 0; - for (i = strlen(szFilename) - 1; i >= 0 && szFilename[i] != '/' && szFilename[i] != '.'; i --) - ; - if (szFilename[i] == '.') - { - if (strlen(szFilename + i + 1) < TEXTLEN) - strcpy(szExt, szFilename + i + 1); - } - - return szExt; -} - - -char *FileGetDir(const char *szFilename) -{ - static char szDir[TEXTLEN]; - int i; - - strncpy(szDir, szFilename, TEXTLEN - 1); - for (i = strlen(szDir) - 1; i >= 0 && szDir[i] != '/'; i --) - ; - if (szDir[i] == '/' && i < TEXTLEN) - szDir[i] = 0; - else - szDir[0] = 0; - - return szDir; -} - - - - -char *FileGetRel(const char *szFilename) -{ - int i, j, k; - static char szRel[TEXTLEN]; - char szDirectory[TEXTLEN], *pResult; - - /* get current directory */ - pResult = getcwd(szDirectory, TEXTLEN - 1); - if (pResult == NULL) - { - strcpy(szRel, ""); - return szRel; - } - - - /* if file name is a relative one */ - if (szFilename[0] != '/') - { - strcpy(szRel, szFilename); - } - - /* if the file exists in a subdirectory */ - else if (!strncmp(szFilename, szDirectory, strlen(szDirectory))) - { - strcpy(szRel, szFilename + strlen(szDirectory) + 1); - } - - /* if the file exists in a different directory tree */ - else - { - for (i = 0; i < strlen(szFilename); i ++) - if (strncmp(szFilename, szDirectory, i)) - break; - if (i > 0) - i --; - - for (j = i, k = 1; j < strlen(szDirectory); j ++) - if (szDirectory[j] == '/') - k ++; - - strcpy(szRel, ""); - for (j = 0; j < k; j ++) - strcat(szRel, "../"); - strcat(szRel, szFilename + i); - } - - return szRel; -} - - - -int FileExec(const char *szCommand) -{ - GtkText *pText; - FILE *hStdOut, *hStdErr; - char szValue[TEXTLEN], szText[2000]; - int iResult, i, j; - - /* create a new process to execute external shell commands) */ - Pid = fork(); - if (Pid < 0) - { - return FAILURE; - } - - /* run the command in the child process */ - if (Pid == 0) - { - Pid = getpid(); - - /* redirecting stdout */ - sprintf(szValue, "/%s/%s-stdout-%ld", GM_TMPDIR, GM_TMPNAME, (long) Pid); - hStdOut = freopen(szValue, "w", stdout); - if (hStdOut == NULL) - { - _exit(0); - } - - /* redirecting stderr */ - sprintf(szValue, "/%s/%s-stderr-%ld", GM_TMPDIR, GM_TMPNAME, (long) Pid); - hStdErr = freopen(szValue, "w", stderr); - if (hStdErr == NULL) - { - _exit(0); - } - - /* execute command */ - execl("/bin/sh", "sh", "-c", szCommand, NULL); - - /* end child process */ - _exit(0); - } - - /* wait for death of child in the parent process */ - while (waitpid(Pid, NULL, WNOHANG) == 0) - { - sleep(1); - while (g_main_iteration(FALSE)); - } - - /* copy stderr to sterr window */ - pText = GTK_TEXT(lookup_widget(GTK_WIDGET(pWindowMain), "StatusText")); - if (pText == NULL) - { - /* TODO: error handling */ - } - else - { - /* print stderr */ - sprintf(szValue, "/%s/%s-stderr-%ld", GM_TMPDIR, GM_TMPNAME, (long) Pid); - hStdErr = fopen(szValue, "r"); - if (hStdErr == NULL) - { - /* TODO */ - } - else - { - j = 0; - while (!feof(hStdErr)) - { - i = fgetc(hStdErr); - if (i < 0) - break; - - szText[j++] = (char) '*'; - } - - szText[j] = 0; - gtk_text_set_point(pText, 0); - gtk_text_forward_delete(pText, gtk_text_get_length(pText)); - gtk_text_insert(pText, NULL, NULL, NULL, szText, strlen(szText)); - gtk_widget_show(GTK_WIDGET(pText)); - while (g_main_iteration(FALSE)); - fclose(hStdErr); - } - } - - /* remove last stdout file */ - sprintf(szValue, "/%s/%s-stdout-%ld", GM_TMPDIR, GM_TMPNAME, (long) Pid); - iResult = remove(szValue); - if (iResult != 0) - { - /* TODO: error handling */ - } - - /* remove last stderr file */ - sprintf(szValue, "/%s/%s-stderr-%ld", GM_TMPDIR, GM_TMPNAME, (long) Pid); - iResult = remove(szValue); - if (iResult != 0) - { - /* TODO: error handling */ - } - - /* TODO: in this manner the function never return failure, fix it */ - - return SUCCESS; -} - - diff --git a/geda/graphman/filetool.h b/geda/graphman/filetool.h deleted file mode 100644 index 2845d6f69..000000000 --- a/geda/graphman/filetool.h +++ /dev/null @@ -1,50 +0,0 @@ -/*******************************************************************************/ -/* */ -/* gEDA Suite Project Manager */ -/* */ -/* Copyright (C) 2002 Piotr Miarecki, sp9rve@eter.ariadna.pl */ -/* */ -/* 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 version 2. */ -/* */ -/* This program is distributed in the hope that it will be useful, */ -/* but WITHOUT ANY WARRANTY; without even the implied warranty of */ -/* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the */ -/* GNU General Public License for more details. */ -/* */ -/* You should have received a copy of the GNU General Public License */ -/* along with this program; if not, write to the Free Software */ -/* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ -/* */ -/*******************************************************************************/ - -#ifndef __FILETOOL_H_INCLUDED -#define __FILETOOL_H_INCLUDED - - - -#define FILETOOL_NAMESEP ',' /* separator of the filenames on the list */ - -#define TEXTLEN 256 -#define GM_TMPDIR "tmp" -#define GM_TMPNAME "gmanager" -#define pWindowMain pMainWindow - - - -/* public functions */ -int FileIsExisting(const char *szFileName); -int FileCopy(const char *szSource, const char *szDest); -int FileExec(const char *szCommand); - -char *FileGetName(const char *szFilename); -char *FileGetExt(const char *szFilename); -char *FileGetDir(const char *szFilename); -char *FileGetRel(const char *szFilename); -char *FileGetPath(const char *szFilename); -/* TODO: void FileGetFull(char *szDir, char *szName, char *szExt, char *szFullName);*/ - - - -#endif diff --git a/geda/graphman/global.h b/geda/graphman/global.h deleted file mode 100644 index ffcec34a0..000000000 --- a/geda/graphman/global.h +++ /dev/null @@ -1,50 +0,0 @@ -/*******************************************************************************/ -/* */ -/* gEDA Suite Project Manager */ -/* */ -/* Copyright (C) 2002 Piotr Miarecki, sp9rve@radioam.net */ -/* */ -/* 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 version 2. */ -/* */ -/* 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, email to the author */ -/* */ -/*******************************************************************************/ - -#ifndef __GLOBAL_H_INCLUDED -#define __GLOBAL_H_INCLUDED - -#include - - - -#ifndef VERSION -#define VERSION "19700101" -#endif - -#define FAILURE TRUE -#define SUCCESS FALSE - - - -/* variable types */ -typedef int BOOL; - - - -/* public variables and functions */ -extern GtkWidget *pMainWindow; -extern char *szFilename, *szExtFilename, *szFilter; -void Error(const char *szErrorString); -void FatalError(const char *szFile, const int iLine, const char *szDate); - - - -#endif /* __GLOBAL_H_INCLUDED */ diff --git a/geda/graphman/graph.c b/geda/graphman/graph.c deleted file mode 100644 index b9121c076..000000000 --- a/geda/graphman/graph.c +++ /dev/null @@ -1,445 +0,0 @@ -/* $Id$ */ - -/*******************************************************************************/ -/* */ -/* gEDA Suite Project Manager */ -/* */ -/* Copyright (C) 2002 Piotr Miarecki, sp9rve@radioam.net */ -/* */ -/* 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 version 2. */ -/* */ -/* 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, email to the author */ -/* */ -/*******************************************************************************/ - -#ifdef HAVE_CONFIG_H -# include "config.h" -#endif - -#include -#include -#include - -#ifdef HAVE_STRING_H -#include -#endif - -#include - -#include "configfile.h" -#include "filetool.h" -#include "global.h" -#include "graph.h" -#include "libstring.h" -#include "msg.h" -#include "value.h" - - - -/*******************************************************************************/ -/* Graph */ -/*******************************************************************************/ - -struct Graph_t Graph = -{ - NULL, - NULL, - NULL, - NULL, - - NULL, - - 0.0, - 0.0, - TRUE, - NULL, - 0.0, - TRUE, - NULL, - NULL, - 0, - TRUE, - NULL, - NULL, - - 0.0, - 0.0, - FALSE, - NULL, - 0.0, - TRUE, - NULL, - NULL, - 0, - TRUE, - NULL, - NULL -}; - - - -/*******************************************************************************/ -/* Create new graph */ -/*******************************************************************************/ - -BOOL GraphNew(const char *szFileName) -{ - StringCopy(&Graph.szFileName, szFileName); - StringCopy(&Graph.szDataSource, ""); - StringCopy(&Graph.szViewer, VIEWER_GWAVE); - StringCopy(&Graph.szBorderColor, COLOR_WHITE); - - if (Graph.PlotList != NULL) - free(Graph.PlotList); - Graph.PlotList = NULL; - - Graph.dfXmin = 0.0; - Graph.dfXmax = 0.0; - Graph.bXAuto = TRUE; - StringCopy(&Graph.szXScale, SCALE_LIN); - Graph.dfXmainDiv = 1.0; - Graph.bXmainAuto = TRUE; - StringCopy(&Graph.szXmainStyle, STYLE_SOLID); - StringCopy(&Graph.szXmainColor, COLOR_BLACK); - Graph.iXaddNumber = 0; - Graph.bXaddAuto = TRUE; - StringCopy(&Graph.szXaddStyle, STYLE_SOLID); - StringCopy(&Graph.szXaddColor, COLOR_BLACK); - - Graph.dfYmin = 0.0; - Graph.dfYmax = 0.0; - Graph.bYAuto = FALSE; - StringCopy(&Graph.szYScale, SCALE_LIN); - Graph.dfYmainDiv = 1.0; - Graph.bYmainAuto = TRUE; - StringCopy(&Graph.szYmainStyle, STYLE_SOLID); - StringCopy(&Graph.szYmainColor, COLOR_BLACK); - Graph.iYaddNumber = 0; - Graph.bYaddAuto = TRUE; - StringCopy(&Graph.szYaddStyle, STYLE_SOLID); - StringCopy(&Graph.szYaddColor, COLOR_BLACK); - - return FALSE; -} - - - -/*******************************************************************************/ -/* Load a graph */ -/*******************************************************************************/ - -BOOL GraphLoad(const char *szFileName) -{ - int iResult; - char szName[256], szValue[256]; - - ValueSet(VALUE_FILENAME, FileGetName(szFileName)); - - iResult = ConfigOpen(szFileName); - if (iResult == FAILURE) - { - Error(MSG_CANNOT_OPEN_FILE); - return TRUE; - } - - iResult = ConfigSection("MAIN"); - if (iResult == FAILURE) - { - Error(MSG_WRONG_FILE); - return TRUE; - } - for (iResult = SUCCESS; iResult == SUCCESS; ) - { - iResult = ConfigGetNext(szName, szValue); - if (iResult == FAILURE) - break; - if (strcmp(szName, "VERSION") == 0) - { - ValueSet(VALUE_VERSION, ConfigValue(1)); - } - else if (strcmp(szName, "SIMULATION") == 0) - { - ValueSet(VALUE_SOURCE, ConfigValue(1)); - } - else if (strcmp(szName, "TOOL") == 0) - { - ValueSet(VALUE_VIEWER, ConfigValue(1)); - } - else if (strcmp(szName, "BORDER") == 0) - { - ValueSet(VALUE_BORDER, ConfigValue(1)); - } - } - - iResult = ConfigSection("XAXIS"); - if (iResult == FAILURE) - { - Error(MSG_WRONG_FILE); - return TRUE; - } - for (iResult = SUCCESS; iResult == SUCCESS; ) - { - iResult = ConfigGetNext(szName, szValue); - if (iResult == FAILURE) - break; - if (strcmp(szName, "X") == 0) - { - if (!strcmp(ConfigValue(1), "AUTO")) - { - ValueSet(VALUE_XMIN, "8"); - ValueSet(VALUE_XMAX, "9"); - ValueSet(VALUE_XAUTO, MSG_CHECKED); - } - else - { - ValueSet(VALUE_XMIN, ConfigValue(1)); - ValueSet(VALUE_XMAX, ConfigValue(2)); - ValueSet(VALUE_XAUTO, MSG_UNCHECKED); - } - } - else if (strcmp(szName, "SCALE") == 0) - { - ValueSet(VALUE_XSCALE, ConfigValue(1)); - } - else if (strcmp(szName, "XDIVM") == 0) - { - if (!strcmp(ConfigValue(1), "AUTO")) - { - ValueSet(VALUE_XMAINDIV, "0.1"); - ValueSet(VALUE_XMAINAUTO, MSG_CHECKED); - } - else - { - ValueSet(VALUE_XMAINDIV, ConfigValue(1)); - ValueSet(VALUE_XMAINAUTO, MSG_UNCHECKED); - } - } - else if (strcmp(szName, "COLORM") == 0) - { - ValueSet(VALUE_XMAINCOLOR, ConfigValue(1)); - } - else if (strcmp(szName, "STYLEM") == 0) - { - ValueSet(VALUE_XMAINSTYLE, ConfigValue(1)); - } - else if (strcmp(szName, "XDIVA") == 0) - { - if (!strcmp(ConfigValue(1), "AUTO")) - { - ValueSet(VALUE_XADDNUMBER, "2"); - ValueSet(VALUE_XADDAUTO, MSG_CHECKED); - } - else - { - ValueSet(VALUE_XADDNUMBER, ConfigValue(1)); - ValueSet(VALUE_XADDAUTO, MSG_UNCHECKED); - } - } - else if (strcmp(szName, "COLORA") == 0) - { - ValueSet(VALUE_XADDCOLOR, ConfigValue(1)); - } - else if (strcmp(szName, "STYLEA") == 0) - { - ValueSet(VALUE_XADDSTYLE, ConfigValue(1)); - } - } - - iResult = ConfigSection("YAXIS"); - if (iResult == FAILURE) - { - Error(MSG_WRONG_FILE); - return TRUE; - } - for (iResult = SUCCESS; iResult == SUCCESS; ) - { - iResult = ConfigGetNext(szName, szValue); - if (iResult == FAILURE) - break; - if (strcmp(szName, "Y") == 0) - { - if (!strcmp(ConfigValue(1), "AUTO")) - { - ValueSet(VALUE_YMIN, "0"); - ValueSet(VALUE_YMAX, "1"); - ValueSet(VALUE_YAUTO, MSG_CHECKED); - } - else - { - ValueSet(VALUE_YMIN, ConfigValue(1)); - ValueSet(VALUE_YMAX, ConfigValue(2)); - ValueSet(VALUE_YAUTO, MSG_UNCHECKED); - } - } - else if (strcmp(szName, "SCALE") == 0) - { - ValueSet(VALUE_YSCALE, ConfigValue(1)); - } - else if (strcmp(szName, "YDIVM") == 0) - { - if (!strcmp(ConfigValue(1), "AUTO")) - { - ValueSet(VALUE_YMAINDIV, "0.1"); - ValueSet(VALUE_YMAINAUTO, MSG_CHECKED); - } - else - { - ValueSet(VALUE_YMAINDIV, ConfigValue(1)); - ValueSet(VALUE_YMAINAUTO, MSG_UNCHECKED); - } - } - else if (strcmp(szName, "COLORM") == 0) - { - ValueSet(VALUE_YMAINCOLOR, ConfigValue(1)); - } - else if (strcmp(szName, "STYLEM") == 0) - { - ValueSet(VALUE_YMAINSTYLE, ConfigValue(1)); - } - else if (strcmp(szName, "YDIVA") == 0) - { - if (!strcmp(ConfigValue(1), "AUTO")) - { - ValueSet(VALUE_YADDNUMBER, "2"); - ValueSet(VALUE_YADDAUTO, MSG_CHECKED); - } - else - { - ValueSet(VALUE_YADDNUMBER, ConfigValue(1)); - ValueSet(VALUE_YADDAUTO, MSG_UNCHECKED); - } - } - else if (strcmp(szName, "COLORA") == 0) - { - ValueSet(VALUE_YADDCOLOR, ConfigValue(1)); - } - else if (strcmp(szName, "STYLEA") == 0) - { - ValueSet(VALUE_YADDSTYLE, ConfigValue(1)); - } - } - - iResult = ConfigClose(); - if (iResult == FAILURE) - { - return TRUE; - } - - return FALSE; -} - -#if 0 -BOOL ReadMain(const char *szFileName) -{ - - return FALSE; -} -#endif - - - -/*******************************************************************************/ -/* Save a graph */ -/*******************************************************************************/ - -BOOL GraphSave(const char *szFileName) -{ - FILE *fp; - time_t Time; - struct Plot_t *Plot = NULL; - int i; - char *pLocale = NULL; - - fp = fopen(szFileName, "w"); - if (fp == NULL) - { - Error(MSG_CANNOT_CREATE_FILE); - return TRUE; - } - - pLocale = StringCreate(); - StringCopy(&pLocale, setlocale(LC_NUMERIC, NULL)); - setlocale(LC_NUMERIC, "C"); - - Time = time(NULL); - fprintf(fp, "# File created by Graph Manager %s\n", VERSION); - fprintf(fp, "# Date: %s\n", ctime(&Time)); - fprintf(fp, "\n"); - - fprintf(fp, "[MAIN]\n"); - fprintf(fp, "VERSION = \"%s\"\n", VERSION); - fprintf(fp, "SIMULATION = \"%s\"\n", Graph.szDataSource); - fprintf(fp, "TOOL = \"%s\"\n", Graph.szViewer); - fprintf(fp, "BORDER = \"%s\"\n", "*** TODO ***"); - fprintf(fp, "\n"); - - fprintf(fp, "[XAXIS]\n"); - switch (Graph.bXAuto) - { - case FALSE: fprintf(fp, "X = %f, %f\n", Graph.dfXmin, Graph.dfXmax); break; - default: fprintf(fp, "X = %s\n", AUTO_ON); break; - } - fprintf(fp, "SCALE = \"%s\"\n", Graph.szXScale); - switch (Graph.bXmainAuto) - { - case FALSE: fprintf(fp, "XDIVM = %f\n", Graph.dfXmainDiv); break; - default: fprintf(fp, "XDIVM = %s\n", AUTO_ON); break; - } - fprintf(fp, "COLORM = \"%s\"\n", Graph.szXmainColor); - fprintf(fp, "STYLEM = \"%s\"\n", Graph.szXmainStyle); - switch (Graph.bXaddAuto) - { - case FALSE: fprintf(fp, "XDIVA = %d\n", Graph.iXaddNumber); break; - default: fprintf(fp, "XDIVA = %s\n", AUTO_ON); break; - } - fprintf(fp, "COLORA = \"%s\"\n", Graph.szXaddColor); - fprintf(fp, "STYLEA = \"%s\"\n", Graph.szXaddStyle); - fprintf(fp, "\n"); - - fprintf(fp, "[YAXIS]\n"); - switch (Graph.bXAuto) - { - case FALSE: fprintf(fp, "Y = %f, %f\n", Graph.dfYmin, Graph.dfYmax); break; - default: fprintf(fp, "Y = %s\n", AUTO_ON); break; - - } - fprintf(fp, "SCALE = \"%s\"\n", Graph.szYScale); - switch (Graph.bYmainAuto) - { - case FALSE: fprintf(fp, "YDIVM = %f\n", Graph.dfYmainDiv); break; - default: fprintf(fp, "YDIVM = %s\n", AUTO_ON); break; - } - - fprintf(fp, "COLORM = \"%s\"\n", Graph.szYmainColor); - fprintf(fp, "STYLEM = \"%s\"\n", Graph.szYmainStyle); - switch (Graph.bYaddAuto) - { - case FALSE: fprintf(fp, "YDIVA = %d\n", Graph.iYaddNumber); break; - default: fprintf(fp, "YDIVA = %s\n", AUTO_ON); break; - } - fprintf(fp, "COLORA = \"%s\"\n", Graph.szYaddColor); - fprintf(fp, "STYLEA = \"%s\"\n", Graph.szYaddStyle); - fprintf(fp, "\n"); - - for (Plot = Graph.PlotList, i = 1; Plot != NULL; Plot = Plot->pNext, i ++) - { - fprintf(fp, "[PLOT%d]\n", i); - fprintf(fp, "FORMULA = \"%s\"\n", Plot->szFormula); - fprintf(fp, "COLOR = \"%s\"\n", Plot->szColor); - fprintf(fp, "STYLE = \"%s\"\n", Plot->szStyle); - fprintf(fp, "\n"); - } - - setlocale(LC_NUMERIC, pLocale); - - fclose(fp); - return FALSE; -} diff --git a/geda/graphman/graph.h b/geda/graphman/graph.h deleted file mode 100644 index 27849c3ba..000000000 --- a/geda/graphman/graph.h +++ /dev/null @@ -1,118 +0,0 @@ -/*******************************************************************************/ -/* */ -/* gEDA Suite Project Manager */ -/* */ -/* Copyright (C) 2002 Piotr Miarecki, sp9rve@radioam.net */ -/* */ -/* 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 version 2. */ -/* */ -/* 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, email to the author */ -/* */ -/*******************************************************************************/ - -#ifndef __GRAPH_H_INCLUDED -#define __GRAPH_H_INCLUDED - -#include "global.h" - - - -/* plot definition */ -struct Plot_t -{ - char *szFormula; - char *szColor; - char *szStyle; - - struct Plot_t *pNext; -}; - -/* graph definition */ -struct Graph_t -{ - char *szFileName; /* graph filename, without extenstion */ - char *szDataSource; /* data source filename, without ext. */ - char *szViewer; /* graph viewer identifier (as below) */ - char *szBorderColor; - - - struct Plot_t *PlotList; /* pointer to a list of graph plots */ - - double dfXmin; - double dfXmax; - BOOL bXAuto; - char *szXScale; /* see below */ - double dfXmainDiv; - BOOL bXmainAuto; - char *szXmainStyle; /* see below */ - char *szXmainColor; /* see below */ - int iXaddNumber; - BOOL bXaddAuto; - char *szXaddStyle; /* see below */ - char *szXaddColor; /* see below */ - - double dfYmin; - double dfYmax; - BOOL bYAuto; - char *szYScale; /* see below */ - double dfYmainDiv; - BOOL bYmainAuto; - char *szYmainStyle; /* see below */ - char *szYmainColor; /* see below */ - int iYaddNumber; - BOOL bYaddAuto; - char *szYaddStyle; /* see below */ - char *szYaddColor; /* see below */ -}; - - - -/* graph viewers */ -#define VIEWER_NOT_SELECTED "" -#define VIEWER_GWAVE "GWAVE" - -/* scale types */ -#define SCALE_NOT_SELECTED "" -#define SCALE_LIN "LIN" -#define SCALE_LOG "LOG" - -/* styles */ -#define STYLE_NOT_SELECTED "" -#define STYLE_SOLID "SOLID" - -/* colors */ -#define COLOR_NOT_SELECTED "" -#define COLOR_WHITE "White" -#define COLOR_BLACK "Black" -#define COLOR_YELLOW "Yellow" -#define COLOR_RED "Red" -#define COLOR_BLUE "Blue" -#define COLOR_GREEN "Green" -#define COLOR_ORANGE "Orange" -#define COLOR_MAGENTA "Pink" -#define COLOR_OTHER "0x" - -#define AUTO_ON "AUTO" - - -/* public variables */ -extern struct Graph_t Graph; - - - -/* public functions */ -BOOL GraphNew(const char *szFileName); -BOOL GraphLoad(const char *szFileName); -BOOL GraphSave(const char *szFileName); - - - -#endif /* __GRAPH_H_INCLUDED */ diff --git a/geda/graphman/interface.c b/geda/graphman/interface.c deleted file mode 100644 index 418d373cf..000000000 --- a/geda/graphman/interface.c +++ /dev/null @@ -1,1468 +0,0 @@ -/* - * DO NOT EDIT THIS FILE - it is generated by Glade. - */ - -#ifdef HAVE_CONFIG_H -# include -#endif - -#include -#include -#include -#include - -#include -#include - -#include "callbacks.h" -#include "interface.h" -#include "support.h" - -GtkWidget* -create_MainWindow (void) -{ - GtkWidget *MainWindow; - GtkWidget *pMainVBox; - GtkWidget *pMainNameHBox; - GtkWidget *pMainNameLabel; - GtkWidget *pMainNameEntry; - GtkWidget *pMainNotebook; - GtkWidget *pMainNotebookVBox; - GtkWidget *pMainNotebookGraphFrame; - GtkWidget *pMainNotebookGraphTable; - GtkWidget *pMainNotebookGraphSourceCombo; - GList *pMainNotebookGraphSourceCombo_items = NULL; - GtkWidget *pMainNotebookGraphSourceEntry; - GtkWidget *pMainNotebookGraphSourceLabel; - GtkWidget *pMainNotebookGraphTypeLabel; - GtkWidget *pMainNotebookGraphTypeCombo; - GList *pMainNotebookGraphTypeCombo_items = NULL; - GtkWidget *pMainNotebookGraphTypeEntry; - GtkWidget *pMainNotebookGraphViewerLabel; - GtkWidget *pMainNotebookGraphViewerCombo; - GList *pMainNotebookGraphViewerCombo_items = NULL; - GtkWidget *pMainNotebookGraphViewerEntry; - GtkWidget *pMainNotebookGraphLabel; - GtkWidget *pMainNotebookPlotsFrame; - GtkWidget *pMainNotebookPlotsHBox; - GtkWidget *pMainNotebookPlotsLeftVBox; - GtkWidget *pMainNotebookPlotsListLabel; - GtkWidget *pMainNotebookPlotsList; - GtkWidget *pMainNotebookPlotsRightVBox; - GtkWidget *pMainNotebookPlotsNewButton; - GtkWidget *pMainNotebookPlotsModifyButton; - GtkWidget *pMainNotebookPlotsDeleteButton; - GtkWidget *pMainNotebookGraphVseparator; - GtkWidget *pMainNotebookGraphBorderButton; - GtkWidget *pMainNotebookPlotsLabel; - GtkWidget *pMainNotebookXAxisVBox; - GtkWidget *pMainNotebookXAxisScaleHBox; - GtkWidget *pMainNotebookXAxisScaleFrame; - GtkWidget *pMainNotebookXAxisScaleTable; - GtkWidget *pMainNotebookXAxisScaleXminLabel; - GtkWidget *pMainNotebookXAxisScaleXmaxLabel; - GtkWidget *pMainNotebookXAxisScaleXminCheck; - GtkWidget *pMainNotebookXAxisScaleLabel; - GtkWidget *pMainNotebookXAxisScaleXmaxEntry; - GtkWidget *pMainNotebookXaxisScaleCombo; - GList *pMainNotebookXaxisScaleCombo_items = NULL; - GtkWidget *pMainNotebookXaxisScaleEntry; - GtkWidget *pMainNotebookXAxisScaleXminEntry; - GtkWidget *pMainNotebookXAxisMainFrame; - GtkWidget *pMainNotebookXAxisMainTable; - GtkWidget *pMainNotebookXAxisMainDxLabel; - GtkWidget *pMainNotebookXAxisMainDxCheck; - GtkWidget *pMainNotebookXAxisMainStyleLabel; - GtkWidget *pMainNotebookXAxisMainColorLabel; - GtkWidget *pMainNotebookXAxisMainColorCombo; - GList *pMainNotebookXAxisMainColorCombo_items = NULL; - GtkWidget *pMainNotebookXAxisMainColorEntry; - GtkWidget *pMainNotebookXAxisMainStyleCombo; - GList *pMainNotebookXAxisMainStyleCombo_items = NULL; - GtkWidget *pMainNotebookXAxisMainStyleEntry; - GtkWidget *pMainNotebookXAxisMainDxEntry; - GtkWidget *pMainNotebookXAxisAddFrame; - GtkWidget *pMainNotebookXAxisAddTable; - GtkWidget *pMainNotebookXAxisAddNumberLabel; - GtkWidget *pMainNotebookXAxisAddNumberCheck; - GtkWidget *pMainNotebookXAxisAddStyleLabel; - GtkWidget *pMainNotebookXAxisAddColorLabel; - GtkWidget *pMainNotebookXAxisAddStyleCombo; - GList *pMainNotebookXAxisAddStyleCombo_items = NULL; - GtkWidget *pMainNotebookXAxisAddStyleEntry; - GtkWidget *pMainNotebookXAxisAddColorCombo; - GList *pMainNotebookXAxisAddColorCombo_items = NULL; - GtkWidget *pMainNotebookXAxisAddColorEntry; - GtkWidget *pMainNotebookXAxisAddNumberEntry; - GtkWidget *pMainNotebookXAxisLabel; - GtkWidget *pMainNotebookYAxisVBox; - GtkWidget *pMainNotebookYAxisScaleFrame; - GtkWidget *pMainNotebookYAxisScaleTable; - GtkWidget *pMainNotebookYAxisScaleYminLabel; - GtkWidget *pMainNotebookYAxisScaleYmaxLabel; - GtkWidget *pMainNotebookYAxisScaleYminCheck; - GtkWidget *pMainNotebookYAxisScaleLabel; - GtkWidget *pMainNotebookYAxisScaleYmaxEntry; - GtkWidget *pMainNotebookYAxisScaleCombo; - GList *pMainNotebookYAxisScaleCombo_items = NULL; - GtkWidget *pMainNotebookYAxisScaleEntry; - GtkWidget *pMainNotebookYAxisScaleYminEntry; - GtkWidget *pMainNotebookYAxisMainFrame; - GtkWidget *pMainNotebookYAxisMainTable; - GtkWidget *pMainNotebookYAxisMainDyLabel; - GtkWidget *pMainNotebookYAxisMainDyButton; - GtkWidget *pMainNotebookYAxisMainStyleLabel; - GtkWidget *pMainNotebookYAxisMainColorLabel; - GtkWidget *pMainNotebookYAxisMainColorCombo; - GList *pMainNotebookYAxisMainColorCombo_items = NULL; - GtkWidget *pMainNotebookYAxisMainColorEntry; - GtkWidget *pMainNotebookYAxisMainStyleCombo; - GList *pMainNotebookYAxisMainStyleCombo_items = NULL; - GtkWidget *pMainNotebookYAxisMainStyleEntry; - GtkWidget *pMainNotebookYAxisMainDyEntry; - GtkWidget *pMainNotebookYAxisAddFrame; - GtkWidget *pMainNotebookYAxisAddTable; - GtkWidget *pMainNotebookYAxisAddNumberLabel; - GtkWidget *pMainNotebookYAxisAddNumberCheck; - GtkWidget *pMainNotebookYAxisAddStyleLabel; - GtkWidget *pMainNotebookYAxisAddColorLabel; - GtkWidget *pMainNotebookYAxisAddStyleCombo; - GList *pMainNotebookYAxisAddStyleCombo_items = NULL; - GtkWidget *pMainNotebookYAxisAddStyleEntry; - GtkWidget *pMainNotebookYAxisAddColorCombo; - GList *pMainNotebookYAxisAddColorCombo_items = NULL; - GtkWidget *pMainNotebookYAxisAddColorEntry; - GtkWidget *pMainNotebookYAxisAddNumberEntry; - GtkWidget *pMainNotebookYAxisLabel; - GtkWidget *pMainButtonHBox; - GtkWidget *pMainButtonOk; - GtkWidget *pMainButtonCancel; - GtkWidget *pMainButtonPlot; - - MainWindow = gtk_window_new (GTK_WINDOW_TOPLEVEL); - gtk_object_set_data (GTK_OBJECT (MainWindow), "MainWindow", MainWindow); - gtk_window_set_title (GTK_WINDOW (MainWindow), _("Graph manager")); - gtk_window_set_modal (GTK_WINDOW (MainWindow), TRUE); - gtk_window_set_default_size (GTK_WINDOW (MainWindow), 510, 300); - gtk_window_set_policy (GTK_WINDOW (MainWindow), FALSE, FALSE, TRUE); - - pMainVBox = gtk_vbox_new (FALSE, 0); - gtk_widget_ref (pMainVBox); - gtk_object_set_data_full (GTK_OBJECT (MainWindow), "pMainVBox", pMainVBox, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (pMainVBox); - gtk_container_add (GTK_CONTAINER (MainWindow), pMainVBox); - - pMainNameHBox = gtk_hbox_new (FALSE, 8); - gtk_widget_ref (pMainNameHBox); - gtk_object_set_data_full (GTK_OBJECT (MainWindow), "pMainNameHBox", pMainNameHBox, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (pMainNameHBox); - gtk_box_pack_start (GTK_BOX (pMainVBox), pMainNameHBox, FALSE, TRUE, 0); - gtk_container_set_border_width (GTK_CONTAINER (pMainNameHBox), 8); - - pMainNameLabel = gtk_label_new (_("Graph name:")); - gtk_widget_ref (pMainNameLabel); - gtk_object_set_data_full (GTK_OBJECT (MainWindow), "pMainNameLabel", pMainNameLabel, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (pMainNameLabel); - gtk_box_pack_start (GTK_BOX (pMainNameHBox), pMainNameLabel, FALSE, FALSE, 0); - gtk_label_set_justify (GTK_LABEL (pMainNameLabel), GTK_JUSTIFY_LEFT); - - pMainNameEntry = gtk_entry_new (); - gtk_widget_ref (pMainNameEntry); - gtk_object_set_data_full (GTK_OBJECT (MainWindow), "pMainNameEntry", pMainNameEntry, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (pMainNameEntry); - gtk_box_pack_start (GTK_BOX (pMainNameHBox), pMainNameEntry, TRUE, TRUE, 0); - - pMainNotebook = gtk_notebook_new (); - gtk_widget_ref (pMainNotebook); - gtk_object_set_data_full (GTK_OBJECT (MainWindow), "pMainNotebook", pMainNotebook, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (pMainNotebook); - gtk_box_pack_start (GTK_BOX (pMainVBox), pMainNotebook, TRUE, TRUE, 0); - gtk_container_set_border_width (GTK_CONTAINER (pMainNotebook), 8); - - pMainNotebookVBox = gtk_vbox_new (FALSE, 0); - gtk_widget_ref (pMainNotebookVBox); - gtk_object_set_data_full (GTK_OBJECT (MainWindow), "pMainNotebookVBox", pMainNotebookVBox, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (pMainNotebookVBox); - gtk_container_add (GTK_CONTAINER (pMainNotebook), pMainNotebookVBox); - - pMainNotebookGraphFrame = gtk_frame_new (_("Graph view")); - gtk_widget_ref (pMainNotebookGraphFrame); - gtk_object_set_data_full (GTK_OBJECT (MainWindow), "pMainNotebookGraphFrame", pMainNotebookGraphFrame, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (pMainNotebookGraphFrame); - gtk_box_pack_start (GTK_BOX (pMainNotebookVBox), pMainNotebookGraphFrame, TRUE, TRUE, 0); - gtk_container_set_border_width (GTK_CONTAINER (pMainNotebookGraphFrame), 8); - - pMainNotebookGraphTable = gtk_table_new (3, 2, FALSE); - gtk_widget_ref (pMainNotebookGraphTable); - gtk_object_set_data_full (GTK_OBJECT (MainWindow), "pMainNotebookGraphTable", pMainNotebookGraphTable, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (pMainNotebookGraphTable); - gtk_container_add (GTK_CONTAINER (pMainNotebookGraphFrame), pMainNotebookGraphTable); - gtk_container_set_border_width (GTK_CONTAINER (pMainNotebookGraphTable), 8); - gtk_table_set_row_spacings (GTK_TABLE (pMainNotebookGraphTable), 8); - gtk_table_set_col_spacings (GTK_TABLE (pMainNotebookGraphTable), 8); - - pMainNotebookGraphSourceCombo = gtk_combo_new (); - gtk_widget_ref (pMainNotebookGraphSourceCombo); - gtk_object_set_data_full (GTK_OBJECT (MainWindow), "pMainNotebookGraphSourceCombo", pMainNotebookGraphSourceCombo, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (pMainNotebookGraphSourceCombo); - gtk_table_attach (GTK_TABLE (pMainNotebookGraphTable), pMainNotebookGraphSourceCombo, 1, 2, 0, 1, - (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), - (GtkAttachOptions) (0), 0, 0); - pMainNotebookGraphSourceCombo_items = g_list_append (pMainNotebookGraphSourceCombo_items, (gpointer) ""); - gtk_combo_set_popdown_strings (GTK_COMBO (pMainNotebookGraphSourceCombo), pMainNotebookGraphSourceCombo_items); - g_list_free (pMainNotebookGraphSourceCombo_items); - - pMainNotebookGraphSourceEntry = GTK_COMBO (pMainNotebookGraphSourceCombo)->entry; - gtk_widget_ref (pMainNotebookGraphSourceEntry); - gtk_object_set_data_full (GTK_OBJECT (MainWindow), "pMainNotebookGraphSourceEntry", pMainNotebookGraphSourceEntry, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (pMainNotebookGraphSourceEntry); - - pMainNotebookGraphSourceLabel = gtk_label_new (_("Data source:")); - gtk_widget_ref (pMainNotebookGraphSourceLabel); - gtk_object_set_data_full (GTK_OBJECT (MainWindow), "pMainNotebookGraphSourceLabel", pMainNotebookGraphSourceLabel, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (pMainNotebookGraphSourceLabel); - gtk_table_attach (GTK_TABLE (pMainNotebookGraphTable), pMainNotebookGraphSourceLabel, 0, 1, 0, 1, - (GtkAttachOptions) (GTK_FILL), - (GtkAttachOptions) (0), 0, 0); - gtk_label_set_justify (GTK_LABEL (pMainNotebookGraphSourceLabel), GTK_JUSTIFY_LEFT); - gtk_misc_set_alignment (GTK_MISC (pMainNotebookGraphSourceLabel), 7.45058e-09, 0.5); - - pMainNotebookGraphTypeLabel = gtk_label_new (_("Graph type:")); - gtk_widget_ref (pMainNotebookGraphTypeLabel); - gtk_object_set_data_full (GTK_OBJECT (MainWindow), "pMainNotebookGraphTypeLabel", pMainNotebookGraphTypeLabel, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (pMainNotebookGraphTypeLabel); - gtk_table_attach (GTK_TABLE (pMainNotebookGraphTable), pMainNotebookGraphTypeLabel, 0, 1, 1, 2, - (GtkAttachOptions) (GTK_FILL), - (GtkAttachOptions) (0), 0, 0); - gtk_label_set_justify (GTK_LABEL (pMainNotebookGraphTypeLabel), GTK_JUSTIFY_LEFT); - gtk_misc_set_alignment (GTK_MISC (pMainNotebookGraphTypeLabel), 0, 0.5); - - pMainNotebookGraphTypeCombo = gtk_combo_new (); - gtk_widget_ref (pMainNotebookGraphTypeCombo); - gtk_object_set_data_full (GTK_OBJECT (MainWindow), "pMainNotebookGraphTypeCombo", pMainNotebookGraphTypeCombo, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (pMainNotebookGraphTypeCombo); - gtk_table_attach (GTK_TABLE (pMainNotebookGraphTable), pMainNotebookGraphTypeCombo, 1, 2, 1, 2, - (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), - (GtkAttachOptions) (0), 0, 0); - pMainNotebookGraphTypeCombo_items = g_list_append (pMainNotebookGraphTypeCombo_items, (gpointer) _("Rectangular plot")); - gtk_combo_set_popdown_strings (GTK_COMBO (pMainNotebookGraphTypeCombo), pMainNotebookGraphTypeCombo_items); - g_list_free (pMainNotebookGraphTypeCombo_items); - - pMainNotebookGraphTypeEntry = GTK_COMBO (pMainNotebookGraphTypeCombo)->entry; - gtk_widget_ref (pMainNotebookGraphTypeEntry); - gtk_object_set_data_full (GTK_OBJECT (MainWindow), "pMainNotebookGraphTypeEntry", pMainNotebookGraphTypeEntry, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (pMainNotebookGraphTypeEntry); - gtk_entry_set_text (GTK_ENTRY (pMainNotebookGraphTypeEntry), _("Rectangular plot")); - - pMainNotebookGraphViewerLabel = gtk_label_new (_("Viewer:")); - gtk_widget_ref (pMainNotebookGraphViewerLabel); - gtk_object_set_data_full (GTK_OBJECT (MainWindow), "pMainNotebookGraphViewerLabel", pMainNotebookGraphViewerLabel, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (pMainNotebookGraphViewerLabel); - gtk_table_attach (GTK_TABLE (pMainNotebookGraphTable), pMainNotebookGraphViewerLabel, 0, 1, 2, 3, - (GtkAttachOptions) (GTK_FILL), - (GtkAttachOptions) (0), 0, 0); - gtk_label_set_justify (GTK_LABEL (pMainNotebookGraphViewerLabel), GTK_JUSTIFY_LEFT); - gtk_misc_set_alignment (GTK_MISC (pMainNotebookGraphViewerLabel), 0, 0.5); - - pMainNotebookGraphViewerCombo = gtk_combo_new (); - gtk_widget_ref (pMainNotebookGraphViewerCombo); - gtk_object_set_data_full (GTK_OBJECT (MainWindow), "pMainNotebookGraphViewerCombo", pMainNotebookGraphViewerCombo, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (pMainNotebookGraphViewerCombo); - gtk_table_attach (GTK_TABLE (pMainNotebookGraphTable), pMainNotebookGraphViewerCombo, 1, 2, 2, 3, - (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), - (GtkAttachOptions) (0), 0, 0); - pMainNotebookGraphViewerCombo_items = g_list_append (pMainNotebookGraphViewerCombo_items, (gpointer) _("GNU GWave")); - gtk_combo_set_popdown_strings (GTK_COMBO (pMainNotebookGraphViewerCombo), pMainNotebookGraphViewerCombo_items); - g_list_free (pMainNotebookGraphViewerCombo_items); - - pMainNotebookGraphViewerEntry = GTK_COMBO (pMainNotebookGraphViewerCombo)->entry; - gtk_widget_ref (pMainNotebookGraphViewerEntry); - gtk_object_set_data_full (GTK_OBJECT (MainWindow), "pMainNotebookGraphViewerEntry", pMainNotebookGraphViewerEntry, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (pMainNotebookGraphViewerEntry); - gtk_entry_set_text (GTK_ENTRY (pMainNotebookGraphViewerEntry), _("GNU GWave")); - - pMainNotebookGraphLabel = gtk_label_new (_("Graph")); - gtk_widget_ref (pMainNotebookGraphLabel); - gtk_object_set_data_full (GTK_OBJECT (MainWindow), "pMainNotebookGraphLabel", pMainNotebookGraphLabel, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (pMainNotebookGraphLabel); - gtk_notebook_set_tab_label (GTK_NOTEBOOK (pMainNotebook), gtk_notebook_get_nth_page (GTK_NOTEBOOK (pMainNotebook), 0), pMainNotebookGraphLabel); - gtk_misc_set_padding (GTK_MISC (pMainNotebookGraphLabel), 4, 0); - - pMainNotebookPlotsFrame = gtk_frame_new (NULL); - gtk_widget_ref (pMainNotebookPlotsFrame); - gtk_object_set_data_full (GTK_OBJECT (MainWindow), "pMainNotebookPlotsFrame", pMainNotebookPlotsFrame, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (pMainNotebookPlotsFrame); - gtk_container_add (GTK_CONTAINER (pMainNotebook), pMainNotebookPlotsFrame); - gtk_container_set_border_width (GTK_CONTAINER (pMainNotebookPlotsFrame), 8); - - pMainNotebookPlotsHBox = gtk_hbox_new (FALSE, 8); - gtk_widget_ref (pMainNotebookPlotsHBox); - gtk_object_set_data_full (GTK_OBJECT (MainWindow), "pMainNotebookPlotsHBox", pMainNotebookPlotsHBox, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (pMainNotebookPlotsHBox); - gtk_container_add (GTK_CONTAINER (pMainNotebookPlotsFrame), pMainNotebookPlotsHBox); - gtk_container_set_border_width (GTK_CONTAINER (pMainNotebookPlotsHBox), 8); - - pMainNotebookPlotsLeftVBox = gtk_vbox_new (FALSE, 0); - gtk_widget_ref (pMainNotebookPlotsLeftVBox); - gtk_object_set_data_full (GTK_OBJECT (MainWindow), "pMainNotebookPlotsLeftVBox", pMainNotebookPlotsLeftVBox, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (pMainNotebookPlotsLeftVBox); - gtk_box_pack_start (GTK_BOX (pMainNotebookPlotsHBox), pMainNotebookPlotsLeftVBox, TRUE, TRUE, 0); - - pMainNotebookPlotsListLabel = gtk_label_new (_("Plots:")); - gtk_widget_ref (pMainNotebookPlotsListLabel); - gtk_object_set_data_full (GTK_OBJECT (MainWindow), "pMainNotebookPlotsListLabel", pMainNotebookPlotsListLabel, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (pMainNotebookPlotsListLabel); - gtk_box_pack_start (GTK_BOX (pMainNotebookPlotsLeftVBox), pMainNotebookPlotsListLabel, FALSE, FALSE, 0); - gtk_label_set_justify (GTK_LABEL (pMainNotebookPlotsListLabel), GTK_JUSTIFY_LEFT); - - pMainNotebookPlotsList = gtk_list_new (); - gtk_widget_ref (pMainNotebookPlotsList); - gtk_object_set_data_full (GTK_OBJECT (MainWindow), "pMainNotebookPlotsList", pMainNotebookPlotsList, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (pMainNotebookPlotsList); - gtk_box_pack_start (GTK_BOX (pMainNotebookPlotsLeftVBox), pMainNotebookPlotsList, TRUE, TRUE, 0); - gtk_container_set_border_width (GTK_CONTAINER (pMainNotebookPlotsList), 8); - - pMainNotebookPlotsRightVBox = gtk_vbox_new (FALSE, 0); - gtk_widget_ref (pMainNotebookPlotsRightVBox); - gtk_object_set_data_full (GTK_OBJECT (MainWindow), "pMainNotebookPlotsRightVBox", pMainNotebookPlotsRightVBox, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (pMainNotebookPlotsRightVBox); - gtk_box_pack_start (GTK_BOX (pMainNotebookPlotsHBox), pMainNotebookPlotsRightVBox, FALSE, FALSE, 0); - - pMainNotebookPlotsNewButton = gtk_button_new_with_label (_("New")); - gtk_widget_ref (pMainNotebookPlotsNewButton); - gtk_object_set_data_full (GTK_OBJECT (MainWindow), "pMainNotebookPlotsNewButton", pMainNotebookPlotsNewButton, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (pMainNotebookPlotsNewButton); - gtk_box_pack_start (GTK_BOX (pMainNotebookPlotsRightVBox), pMainNotebookPlotsNewButton, FALSE, FALSE, 0); - gtk_widget_set_usize (pMainNotebookPlotsNewButton, 112, 48); - gtk_container_set_border_width (GTK_CONTAINER (pMainNotebookPlotsNewButton), 8); - GTK_WIDGET_SET_FLAGS (pMainNotebookPlotsNewButton, GTK_CAN_DEFAULT); - - pMainNotebookPlotsModifyButton = gtk_button_new_with_label (_("Modify")); - gtk_widget_ref (pMainNotebookPlotsModifyButton); - gtk_object_set_data_full (GTK_OBJECT (MainWindow), "pMainNotebookPlotsModifyButton", pMainNotebookPlotsModifyButton, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (pMainNotebookPlotsModifyButton); - gtk_box_pack_start (GTK_BOX (pMainNotebookPlotsRightVBox), pMainNotebookPlotsModifyButton, FALSE, FALSE, 0); - gtk_widget_set_usize (pMainNotebookPlotsModifyButton, 112, 48); - gtk_container_set_border_width (GTK_CONTAINER (pMainNotebookPlotsModifyButton), 8); - GTK_WIDGET_SET_FLAGS (pMainNotebookPlotsModifyButton, GTK_CAN_DEFAULT); - - pMainNotebookPlotsDeleteButton = gtk_button_new_with_label (_("Delete")); - gtk_widget_ref (pMainNotebookPlotsDeleteButton); - gtk_object_set_data_full (GTK_OBJECT (MainWindow), "pMainNotebookPlotsDeleteButton", pMainNotebookPlotsDeleteButton, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (pMainNotebookPlotsDeleteButton); - gtk_box_pack_start (GTK_BOX (pMainNotebookPlotsRightVBox), pMainNotebookPlotsDeleteButton, FALSE, FALSE, 0); - gtk_widget_set_usize (pMainNotebookPlotsDeleteButton, 112, 48); - gtk_container_set_border_width (GTK_CONTAINER (pMainNotebookPlotsDeleteButton), 8); - GTK_WIDGET_SET_FLAGS (pMainNotebookPlotsDeleteButton, GTK_CAN_DEFAULT); - - pMainNotebookGraphVseparator = gtk_vseparator_new (); - gtk_widget_ref (pMainNotebookGraphVseparator); - gtk_object_set_data_full (GTK_OBJECT (MainWindow), "pMainNotebookGraphVseparator", pMainNotebookGraphVseparator, - (GtkDestroyNotify) gtk_widget_unref); - gtk_box_pack_start (GTK_BOX (pMainNotebookPlotsRightVBox), pMainNotebookGraphVseparator, TRUE, TRUE, 0); - - pMainNotebookGraphBorderButton = gtk_button_new_with_label (_("Border")); - gtk_widget_ref (pMainNotebookGraphBorderButton); - gtk_object_set_data_full (GTK_OBJECT (MainWindow), "pMainNotebookGraphBorderButton", pMainNotebookGraphBorderButton, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (pMainNotebookGraphBorderButton); - gtk_box_pack_start (GTK_BOX (pMainNotebookPlotsRightVBox), pMainNotebookGraphBorderButton, FALSE, FALSE, 0); - gtk_widget_set_usize (pMainNotebookGraphBorderButton, 112, 48); - gtk_container_set_border_width (GTK_CONTAINER (pMainNotebookGraphBorderButton), 8); - GTK_WIDGET_SET_FLAGS (pMainNotebookGraphBorderButton, GTK_CAN_DEFAULT); - - pMainNotebookPlotsLabel = gtk_label_new (_("Plots")); - gtk_widget_ref (pMainNotebookPlotsLabel); - gtk_object_set_data_full (GTK_OBJECT (MainWindow), "pMainNotebookPlotsLabel", pMainNotebookPlotsLabel, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (pMainNotebookPlotsLabel); - gtk_notebook_set_tab_label (GTK_NOTEBOOK (pMainNotebook), gtk_notebook_get_nth_page (GTK_NOTEBOOK (pMainNotebook), 1), pMainNotebookPlotsLabel); - gtk_misc_set_padding (GTK_MISC (pMainNotebookPlotsLabel), 4, 0); - - pMainNotebookXAxisVBox = gtk_vbox_new (FALSE, 0); - gtk_widget_ref (pMainNotebookXAxisVBox); - gtk_object_set_data_full (GTK_OBJECT (MainWindow), "pMainNotebookXAxisVBox", pMainNotebookXAxisVBox, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (pMainNotebookXAxisVBox); - gtk_container_add (GTK_CONTAINER (pMainNotebook), pMainNotebookXAxisVBox); - - pMainNotebookXAxisScaleHBox = gtk_hbox_new (FALSE, 0); - gtk_widget_ref (pMainNotebookXAxisScaleHBox); - gtk_object_set_data_full (GTK_OBJECT (MainWindow), "pMainNotebookXAxisScaleHBox", pMainNotebookXAxisScaleHBox, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (pMainNotebookXAxisScaleHBox); - gtk_box_pack_start (GTK_BOX (pMainNotebookXAxisVBox), pMainNotebookXAxisScaleHBox, TRUE, TRUE, 0); - - pMainNotebookXAxisScaleFrame = gtk_frame_new (_("Scale")); - gtk_widget_ref (pMainNotebookXAxisScaleFrame); - gtk_object_set_data_full (GTK_OBJECT (MainWindow), "pMainNotebookXAxisScaleFrame", pMainNotebookXAxisScaleFrame, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (pMainNotebookXAxisScaleFrame); - gtk_box_pack_start (GTK_BOX (pMainNotebookXAxisScaleHBox), pMainNotebookXAxisScaleFrame, TRUE, TRUE, 0); - gtk_container_set_border_width (GTK_CONTAINER (pMainNotebookXAxisScaleFrame), 8); - - pMainNotebookXAxisScaleTable = gtk_table_new (2, 6, FALSE); - gtk_widget_ref (pMainNotebookXAxisScaleTable); - gtk_object_set_data_full (GTK_OBJECT (MainWindow), "pMainNotebookXAxisScaleTable", pMainNotebookXAxisScaleTable, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (pMainNotebookXAxisScaleTable); - gtk_container_add (GTK_CONTAINER (pMainNotebookXAxisScaleFrame), pMainNotebookXAxisScaleTable); - gtk_container_set_border_width (GTK_CONTAINER (pMainNotebookXAxisScaleTable), 8); - gtk_table_set_row_spacings (GTK_TABLE (pMainNotebookXAxisScaleTable), 8); - gtk_table_set_col_spacings (GTK_TABLE (pMainNotebookXAxisScaleTable), 8); - - pMainNotebookXAxisScaleXminLabel = gtk_label_new (_("X min")); - gtk_widget_ref (pMainNotebookXAxisScaleXminLabel); - gtk_object_set_data_full (GTK_OBJECT (MainWindow), "pMainNotebookXAxisScaleXminLabel", pMainNotebookXAxisScaleXminLabel, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (pMainNotebookXAxisScaleXminLabel); - gtk_table_attach (GTK_TABLE (pMainNotebookXAxisScaleTable), pMainNotebookXAxisScaleXminLabel, 0, 1, 0, 1, - (GtkAttachOptions) (GTK_FILL), - (GtkAttachOptions) (0), 0, 0); - gtk_widget_set_usize (pMainNotebookXAxisScaleXminLabel, 40, -2); - gtk_label_set_justify (GTK_LABEL (pMainNotebookXAxisScaleXminLabel), GTK_JUSTIFY_LEFT); - gtk_misc_set_alignment (GTK_MISC (pMainNotebookXAxisScaleXminLabel), 0, 0.5); - - pMainNotebookXAxisScaleXmaxLabel = gtk_label_new (_("X max")); - gtk_widget_ref (pMainNotebookXAxisScaleXmaxLabel); - gtk_object_set_data_full (GTK_OBJECT (MainWindow), "pMainNotebookXAxisScaleXmaxLabel", pMainNotebookXAxisScaleXmaxLabel, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (pMainNotebookXAxisScaleXmaxLabel); - gtk_table_attach (GTK_TABLE (pMainNotebookXAxisScaleTable), pMainNotebookXAxisScaleXmaxLabel, 2, 3, 0, 1, - (GtkAttachOptions) (GTK_FILL), - (GtkAttachOptions) (0), 0, 0); - gtk_widget_set_usize (pMainNotebookXAxisScaleXmaxLabel, 40, -2); - gtk_label_set_justify (GTK_LABEL (pMainNotebookXAxisScaleXmaxLabel), GTK_JUSTIFY_LEFT); - gtk_misc_set_alignment (GTK_MISC (pMainNotebookXAxisScaleXmaxLabel), 0, 0.5); - - pMainNotebookXAxisScaleXminCheck = gtk_check_button_new_with_label (_("Auto")); - gtk_widget_ref (pMainNotebookXAxisScaleXminCheck); - gtk_object_set_data_full (GTK_OBJECT (MainWindow), "pMainNotebookXAxisScaleXminCheck", pMainNotebookXAxisScaleXminCheck, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (pMainNotebookXAxisScaleXminCheck); - gtk_table_attach (GTK_TABLE (pMainNotebookXAxisScaleTable), pMainNotebookXAxisScaleXminCheck, 1, 2, 1, 2, - (GtkAttachOptions) (GTK_FILL), - (GtkAttachOptions) (0), 0, 0); - gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (pMainNotebookXAxisScaleXminCheck), TRUE); - - pMainNotebookXAxisScaleLabel = gtk_label_new (_("Scale")); - gtk_widget_ref (pMainNotebookXAxisScaleLabel); - gtk_object_set_data_full (GTK_OBJECT (MainWindow), "pMainNotebookXAxisScaleLabel", pMainNotebookXAxisScaleLabel, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (pMainNotebookXAxisScaleLabel); - gtk_table_attach (GTK_TABLE (pMainNotebookXAxisScaleTable), pMainNotebookXAxisScaleLabel, 4, 5, 0, 1, - (GtkAttachOptions) (GTK_FILL), - (GtkAttachOptions) (0), 0, 0); - gtk_widget_set_usize (pMainNotebookXAxisScaleLabel, 40, -2); - gtk_label_set_justify (GTK_LABEL (pMainNotebookXAxisScaleLabel), GTK_JUSTIFY_LEFT); - gtk_misc_set_alignment (GTK_MISC (pMainNotebookXAxisScaleLabel), 0, 0.5); - - pMainNotebookXAxisScaleXmaxEntry = gtk_entry_new (); - gtk_widget_ref (pMainNotebookXAxisScaleXmaxEntry); - gtk_object_set_data_full (GTK_OBJECT (MainWindow), "pMainNotebookXAxisScaleXmaxEntry", pMainNotebookXAxisScaleXmaxEntry, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (pMainNotebookXAxisScaleXmaxEntry); - gtk_table_attach (GTK_TABLE (pMainNotebookXAxisScaleTable), pMainNotebookXAxisScaleXmaxEntry, 3, 4, 0, 1, - (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), - (GtkAttachOptions) (0), 0, 0); - gtk_entry_set_text (GTK_ENTRY (pMainNotebookXAxisScaleXmaxEntry), _("1.0")); - - pMainNotebookXaxisScaleCombo = gtk_combo_new (); - gtk_widget_ref (pMainNotebookXaxisScaleCombo); - gtk_object_set_data_full (GTK_OBJECT (MainWindow), "pMainNotebookXaxisScaleCombo", pMainNotebookXaxisScaleCombo, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (pMainNotebookXaxisScaleCombo); - gtk_table_attach (GTK_TABLE (pMainNotebookXAxisScaleTable), pMainNotebookXaxisScaleCombo, 5, 6, 0, 1, - (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), - (GtkAttachOptions) (0), 0, 0); - pMainNotebookXaxisScaleCombo_items = g_list_append (pMainNotebookXaxisScaleCombo_items, (gpointer) _("Linear")); - pMainNotebookXaxisScaleCombo_items = g_list_append (pMainNotebookXaxisScaleCombo_items, (gpointer) _("Logarithmic")); - gtk_combo_set_popdown_strings (GTK_COMBO (pMainNotebookXaxisScaleCombo), pMainNotebookXaxisScaleCombo_items); - g_list_free (pMainNotebookXaxisScaleCombo_items); - - pMainNotebookXaxisScaleEntry = GTK_COMBO (pMainNotebookXaxisScaleCombo)->entry; - gtk_widget_ref (pMainNotebookXaxisScaleEntry); - gtk_object_set_data_full (GTK_OBJECT (MainWindow), "pMainNotebookXaxisScaleEntry", pMainNotebookXaxisScaleEntry, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (pMainNotebookXaxisScaleEntry); - gtk_entry_set_editable (GTK_ENTRY (pMainNotebookXaxisScaleEntry), FALSE); - gtk_entry_set_text (GTK_ENTRY (pMainNotebookXaxisScaleEntry), _("Linear")); - - pMainNotebookXAxisScaleXminEntry = gtk_entry_new (); - gtk_widget_ref (pMainNotebookXAxisScaleXminEntry); - gtk_object_set_data_full (GTK_OBJECT (MainWindow), "pMainNotebookXAxisScaleXminEntry", pMainNotebookXAxisScaleXminEntry, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (pMainNotebookXAxisScaleXminEntry); - gtk_table_attach (GTK_TABLE (pMainNotebookXAxisScaleTable), pMainNotebookXAxisScaleXminEntry, 1, 2, 0, 1, - (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), - (GtkAttachOptions) (0), 0, 0); - gtk_entry_set_text (GTK_ENTRY (pMainNotebookXAxisScaleXminEntry), _("0.0")); - - pMainNotebookXAxisMainFrame = gtk_frame_new (_("Main lines")); - gtk_widget_ref (pMainNotebookXAxisMainFrame); - gtk_object_set_data_full (GTK_OBJECT (MainWindow), "pMainNotebookXAxisMainFrame", pMainNotebookXAxisMainFrame, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (pMainNotebookXAxisMainFrame); - gtk_box_pack_start (GTK_BOX (pMainNotebookXAxisVBox), pMainNotebookXAxisMainFrame, TRUE, TRUE, 0); - gtk_container_set_border_width (GTK_CONTAINER (pMainNotebookXAxisMainFrame), 8); - - pMainNotebookXAxisMainTable = gtk_table_new (2, 6, FALSE); - gtk_widget_ref (pMainNotebookXAxisMainTable); - gtk_object_set_data_full (GTK_OBJECT (MainWindow), "pMainNotebookXAxisMainTable", pMainNotebookXAxisMainTable, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (pMainNotebookXAxisMainTable); - gtk_container_add (GTK_CONTAINER (pMainNotebookXAxisMainFrame), pMainNotebookXAxisMainTable); - gtk_container_set_border_width (GTK_CONTAINER (pMainNotebookXAxisMainTable), 8); - gtk_table_set_row_spacings (GTK_TABLE (pMainNotebookXAxisMainTable), 8); - gtk_table_set_col_spacings (GTK_TABLE (pMainNotebookXAxisMainTable), 8); - - pMainNotebookXAxisMainDxLabel = gtk_label_new (_("Dx")); - gtk_widget_ref (pMainNotebookXAxisMainDxLabel); - gtk_object_set_data_full (GTK_OBJECT (MainWindow), "pMainNotebookXAxisMainDxLabel", pMainNotebookXAxisMainDxLabel, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (pMainNotebookXAxisMainDxLabel); - gtk_table_attach (GTK_TABLE (pMainNotebookXAxisMainTable), pMainNotebookXAxisMainDxLabel, 0, 1, 0, 1, - (GtkAttachOptions) (GTK_FILL), - (GtkAttachOptions) (0), 0, 0); - gtk_widget_set_usize (pMainNotebookXAxisMainDxLabel, 40, -2); - gtk_label_set_justify (GTK_LABEL (pMainNotebookXAxisMainDxLabel), GTK_JUSTIFY_LEFT); - gtk_misc_set_alignment (GTK_MISC (pMainNotebookXAxisMainDxLabel), 0, 0.5); - - pMainNotebookXAxisMainDxCheck = gtk_check_button_new_with_label (_("Auto")); - gtk_widget_ref (pMainNotebookXAxisMainDxCheck); - gtk_object_set_data_full (GTK_OBJECT (MainWindow), "pMainNotebookXAxisMainDxCheck", pMainNotebookXAxisMainDxCheck, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (pMainNotebookXAxisMainDxCheck); - gtk_table_attach (GTK_TABLE (pMainNotebookXAxisMainTable), pMainNotebookXAxisMainDxCheck, 1, 2, 1, 2, - (GtkAttachOptions) (GTK_FILL), - (GtkAttachOptions) (0), 0, 0); - gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (pMainNotebookXAxisMainDxCheck), TRUE); - - pMainNotebookXAxisMainStyleLabel = gtk_label_new (_("Style")); - gtk_widget_ref (pMainNotebookXAxisMainStyleLabel); - gtk_object_set_data_full (GTK_OBJECT (MainWindow), "pMainNotebookXAxisMainStyleLabel", pMainNotebookXAxisMainStyleLabel, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (pMainNotebookXAxisMainStyleLabel); - gtk_table_attach (GTK_TABLE (pMainNotebookXAxisMainTable), pMainNotebookXAxisMainStyleLabel, 2, 3, 0, 1, - (GtkAttachOptions) (GTK_FILL), - (GtkAttachOptions) (0), 0, 0); - gtk_widget_set_usize (pMainNotebookXAxisMainStyleLabel, 40, -2); - gtk_label_set_justify (GTK_LABEL (pMainNotebookXAxisMainStyleLabel), GTK_JUSTIFY_LEFT); - gtk_misc_set_alignment (GTK_MISC (pMainNotebookXAxisMainStyleLabel), 0, 0.5); - - pMainNotebookXAxisMainColorLabel = gtk_label_new (_("Color")); - gtk_widget_ref (pMainNotebookXAxisMainColorLabel); - gtk_object_set_data_full (GTK_OBJECT (MainWindow), "pMainNotebookXAxisMainColorLabel", pMainNotebookXAxisMainColorLabel, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (pMainNotebookXAxisMainColorLabel); - gtk_table_attach (GTK_TABLE (pMainNotebookXAxisMainTable), pMainNotebookXAxisMainColorLabel, 4, 5, 0, 1, - (GtkAttachOptions) (GTK_FILL), - (GtkAttachOptions) (0), 0, 0); - gtk_widget_set_usize (pMainNotebookXAxisMainColorLabel, 40, -2); - gtk_label_set_justify (GTK_LABEL (pMainNotebookXAxisMainColorLabel), GTK_JUSTIFY_LEFT); - gtk_misc_set_alignment (GTK_MISC (pMainNotebookXAxisMainColorLabel), 0, 0.5); - - pMainNotebookXAxisMainColorCombo = gtk_combo_new (); - gtk_widget_ref (pMainNotebookXAxisMainColorCombo); - gtk_object_set_data_full (GTK_OBJECT (MainWindow), "pMainNotebookXAxisMainColorCombo", pMainNotebookXAxisMainColorCombo, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (pMainNotebookXAxisMainColorCombo); - gtk_table_attach (GTK_TABLE (pMainNotebookXAxisMainTable), pMainNotebookXAxisMainColorCombo, 5, 6, 0, 1, - (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), - (GtkAttachOptions) (0), 0, 0); - pMainNotebookXAxisMainColorCombo_items = g_list_append (pMainNotebookXAxisMainColorCombo_items, (gpointer) _("White")); - pMainNotebookXAxisMainColorCombo_items = g_list_append (pMainNotebookXAxisMainColorCombo_items, (gpointer) _("Black")); - pMainNotebookXAxisMainColorCombo_items = g_list_append (pMainNotebookXAxisMainColorCombo_items, (gpointer) _("Yellow")); - pMainNotebookXAxisMainColorCombo_items = g_list_append (pMainNotebookXAxisMainColorCombo_items, (gpointer) _("Red")); - pMainNotebookXAxisMainColorCombo_items = g_list_append (pMainNotebookXAxisMainColorCombo_items, (gpointer) _("Blue")); - pMainNotebookXAxisMainColorCombo_items = g_list_append (pMainNotebookXAxisMainColorCombo_items, (gpointer) _("Green")); - pMainNotebookXAxisMainColorCombo_items = g_list_append (pMainNotebookXAxisMainColorCombo_items, (gpointer) _("Orange")); - pMainNotebookXAxisMainColorCombo_items = g_list_append (pMainNotebookXAxisMainColorCombo_items, (gpointer) _("Pink")); - gtk_combo_set_popdown_strings (GTK_COMBO (pMainNotebookXAxisMainColorCombo), pMainNotebookXAxisMainColorCombo_items); - g_list_free (pMainNotebookXAxisMainColorCombo_items); - - pMainNotebookXAxisMainColorEntry = GTK_COMBO (pMainNotebookXAxisMainColorCombo)->entry; - gtk_widget_ref (pMainNotebookXAxisMainColorEntry); - gtk_object_set_data_full (GTK_OBJECT (MainWindow), "pMainNotebookXAxisMainColorEntry", pMainNotebookXAxisMainColorEntry, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (pMainNotebookXAxisMainColorEntry); - gtk_entry_set_text (GTK_ENTRY (pMainNotebookXAxisMainColorEntry), _("Black")); - - pMainNotebookXAxisMainStyleCombo = gtk_combo_new (); - gtk_widget_ref (pMainNotebookXAxisMainStyleCombo); - gtk_object_set_data_full (GTK_OBJECT (MainWindow), "pMainNotebookXAxisMainStyleCombo", pMainNotebookXAxisMainStyleCombo, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (pMainNotebookXAxisMainStyleCombo); - gtk_table_attach (GTK_TABLE (pMainNotebookXAxisMainTable), pMainNotebookXAxisMainStyleCombo, 3, 4, 0, 1, - (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), - (GtkAttachOptions) (0), 0, 0); - pMainNotebookXAxisMainStyleCombo_items = g_list_append (pMainNotebookXAxisMainStyleCombo_items, (gpointer) _("SOLID")); - gtk_combo_set_popdown_strings (GTK_COMBO (pMainNotebookXAxisMainStyleCombo), pMainNotebookXAxisMainStyleCombo_items); - g_list_free (pMainNotebookXAxisMainStyleCombo_items); - - pMainNotebookXAxisMainStyleEntry = GTK_COMBO (pMainNotebookXAxisMainStyleCombo)->entry; - gtk_widget_ref (pMainNotebookXAxisMainStyleEntry); - gtk_object_set_data_full (GTK_OBJECT (MainWindow), "pMainNotebookXAxisMainStyleEntry", pMainNotebookXAxisMainStyleEntry, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (pMainNotebookXAxisMainStyleEntry); - gtk_entry_set_text (GTK_ENTRY (pMainNotebookXAxisMainStyleEntry), _("SOLID")); - - pMainNotebookXAxisMainDxEntry = gtk_entry_new (); - gtk_widget_ref (pMainNotebookXAxisMainDxEntry); - gtk_object_set_data_full (GTK_OBJECT (MainWindow), "pMainNotebookXAxisMainDxEntry", pMainNotebookXAxisMainDxEntry, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (pMainNotebookXAxisMainDxEntry); - gtk_table_attach (GTK_TABLE (pMainNotebookXAxisMainTable), pMainNotebookXAxisMainDxEntry, 1, 2, 0, 1, - (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), - (GtkAttachOptions) (0), 0, 0); - gtk_entry_set_text (GTK_ENTRY (pMainNotebookXAxisMainDxEntry), _("0.1")); - - pMainNotebookXAxisAddFrame = gtk_frame_new (_("Additional lines")); - gtk_widget_ref (pMainNotebookXAxisAddFrame); - gtk_object_set_data_full (GTK_OBJECT (MainWindow), "pMainNotebookXAxisAddFrame", pMainNotebookXAxisAddFrame, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (pMainNotebookXAxisAddFrame); - gtk_box_pack_start (GTK_BOX (pMainNotebookXAxisVBox), pMainNotebookXAxisAddFrame, TRUE, TRUE, 0); - gtk_container_set_border_width (GTK_CONTAINER (pMainNotebookXAxisAddFrame), 8); - - pMainNotebookXAxisAddTable = gtk_table_new (2, 6, FALSE); - gtk_widget_ref (pMainNotebookXAxisAddTable); - gtk_object_set_data_full (GTK_OBJECT (MainWindow), "pMainNotebookXAxisAddTable", pMainNotebookXAxisAddTable, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (pMainNotebookXAxisAddTable); - gtk_container_add (GTK_CONTAINER (pMainNotebookXAxisAddFrame), pMainNotebookXAxisAddTable); - gtk_container_set_border_width (GTK_CONTAINER (pMainNotebookXAxisAddTable), 8); - gtk_table_set_row_spacings (GTK_TABLE (pMainNotebookXAxisAddTable), 8); - gtk_table_set_col_spacings (GTK_TABLE (pMainNotebookXAxisAddTable), 8); - - pMainNotebookXAxisAddNumberLabel = gtk_label_new (_("Num")); - gtk_widget_ref (pMainNotebookXAxisAddNumberLabel); - gtk_object_set_data_full (GTK_OBJECT (MainWindow), "pMainNotebookXAxisAddNumberLabel", pMainNotebookXAxisAddNumberLabel, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (pMainNotebookXAxisAddNumberLabel); - gtk_table_attach (GTK_TABLE (pMainNotebookXAxisAddTable), pMainNotebookXAxisAddNumberLabel, 0, 1, 0, 1, - (GtkAttachOptions) (GTK_FILL), - (GtkAttachOptions) (0), 0, 0); - gtk_widget_set_usize (pMainNotebookXAxisAddNumberLabel, 40, -2); - gtk_label_set_justify (GTK_LABEL (pMainNotebookXAxisAddNumberLabel), GTK_JUSTIFY_LEFT); - gtk_misc_set_alignment (GTK_MISC (pMainNotebookXAxisAddNumberLabel), 0, 0.5); - - pMainNotebookXAxisAddNumberCheck = gtk_check_button_new_with_label (_("Auto")); - gtk_widget_ref (pMainNotebookXAxisAddNumberCheck); - gtk_object_set_data_full (GTK_OBJECT (MainWindow), "pMainNotebookXAxisAddNumberCheck", pMainNotebookXAxisAddNumberCheck, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (pMainNotebookXAxisAddNumberCheck); - gtk_table_attach (GTK_TABLE (pMainNotebookXAxisAddTable), pMainNotebookXAxisAddNumberCheck, 1, 2, 1, 2, - (GtkAttachOptions) (GTK_FILL), - (GtkAttachOptions) (0), 0, 0); - gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (pMainNotebookXAxisAddNumberCheck), TRUE); - - pMainNotebookXAxisAddStyleLabel = gtk_label_new (_("Style")); - gtk_widget_ref (pMainNotebookXAxisAddStyleLabel); - gtk_object_set_data_full (GTK_OBJECT (MainWindow), "pMainNotebookXAxisAddStyleLabel", pMainNotebookXAxisAddStyleLabel, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (pMainNotebookXAxisAddStyleLabel); - gtk_table_attach (GTK_TABLE (pMainNotebookXAxisAddTable), pMainNotebookXAxisAddStyleLabel, 2, 3, 0, 1, - (GtkAttachOptions) (GTK_FILL), - (GtkAttachOptions) (0), 0, 0); - gtk_widget_set_usize (pMainNotebookXAxisAddStyleLabel, 40, -2); - gtk_label_set_justify (GTK_LABEL (pMainNotebookXAxisAddStyleLabel), GTK_JUSTIFY_LEFT); - gtk_misc_set_alignment (GTK_MISC (pMainNotebookXAxisAddStyleLabel), 0, 0.5); - - pMainNotebookXAxisAddColorLabel = gtk_label_new (_("Color")); - gtk_widget_ref (pMainNotebookXAxisAddColorLabel); - gtk_object_set_data_full (GTK_OBJECT (MainWindow), "pMainNotebookXAxisAddColorLabel", pMainNotebookXAxisAddColorLabel, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (pMainNotebookXAxisAddColorLabel); - gtk_table_attach (GTK_TABLE (pMainNotebookXAxisAddTable), pMainNotebookXAxisAddColorLabel, 4, 5, 0, 1, - (GtkAttachOptions) (GTK_FILL), - (GtkAttachOptions) (0), 0, 0); - gtk_widget_set_usize (pMainNotebookXAxisAddColorLabel, 40, -2); - gtk_label_set_justify (GTK_LABEL (pMainNotebookXAxisAddColorLabel), GTK_JUSTIFY_LEFT); - gtk_misc_set_alignment (GTK_MISC (pMainNotebookXAxisAddColorLabel), 0, 0.5); - - pMainNotebookXAxisAddStyleCombo = gtk_combo_new (); - gtk_widget_ref (pMainNotebookXAxisAddStyleCombo); - gtk_object_set_data_full (GTK_OBJECT (MainWindow), "pMainNotebookXAxisAddStyleCombo", pMainNotebookXAxisAddStyleCombo, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (pMainNotebookXAxisAddStyleCombo); - gtk_table_attach (GTK_TABLE (pMainNotebookXAxisAddTable), pMainNotebookXAxisAddStyleCombo, 3, 4, 0, 1, - (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), - (GtkAttachOptions) (0), 0, 0); - pMainNotebookXAxisAddStyleCombo_items = g_list_append (pMainNotebookXAxisAddStyleCombo_items, (gpointer) _("SOLID")); - gtk_combo_set_popdown_strings (GTK_COMBO (pMainNotebookXAxisAddStyleCombo), pMainNotebookXAxisAddStyleCombo_items); - g_list_free (pMainNotebookXAxisAddStyleCombo_items); - - pMainNotebookXAxisAddStyleEntry = GTK_COMBO (pMainNotebookXAxisAddStyleCombo)->entry; - gtk_widget_ref (pMainNotebookXAxisAddStyleEntry); - gtk_object_set_data_full (GTK_OBJECT (MainWindow), "pMainNotebookXAxisAddStyleEntry", pMainNotebookXAxisAddStyleEntry, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (pMainNotebookXAxisAddStyleEntry); - gtk_entry_set_text (GTK_ENTRY (pMainNotebookXAxisAddStyleEntry), _("SOLID")); - - pMainNotebookXAxisAddColorCombo = gtk_combo_new (); - gtk_widget_ref (pMainNotebookXAxisAddColorCombo); - gtk_object_set_data_full (GTK_OBJECT (MainWindow), "pMainNotebookXAxisAddColorCombo", pMainNotebookXAxisAddColorCombo, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (pMainNotebookXAxisAddColorCombo); - gtk_table_attach (GTK_TABLE (pMainNotebookXAxisAddTable), pMainNotebookXAxisAddColorCombo, 5, 6, 0, 1, - (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), - (GtkAttachOptions) (0), 0, 0); - pMainNotebookXAxisAddColorCombo_items = g_list_append (pMainNotebookXAxisAddColorCombo_items, (gpointer) _("White")); - pMainNotebookXAxisAddColorCombo_items = g_list_append (pMainNotebookXAxisAddColorCombo_items, (gpointer) _("Black")); - pMainNotebookXAxisAddColorCombo_items = g_list_append (pMainNotebookXAxisAddColorCombo_items, (gpointer) _("Yellow")); - pMainNotebookXAxisAddColorCombo_items = g_list_append (pMainNotebookXAxisAddColorCombo_items, (gpointer) _("Red")); - pMainNotebookXAxisAddColorCombo_items = g_list_append (pMainNotebookXAxisAddColorCombo_items, (gpointer) _("Blue")); - pMainNotebookXAxisAddColorCombo_items = g_list_append (pMainNotebookXAxisAddColorCombo_items, (gpointer) _("Green")); - pMainNotebookXAxisAddColorCombo_items = g_list_append (pMainNotebookXAxisAddColorCombo_items, (gpointer) _("Orange")); - pMainNotebookXAxisAddColorCombo_items = g_list_append (pMainNotebookXAxisAddColorCombo_items, (gpointer) _("Pink")); - gtk_combo_set_popdown_strings (GTK_COMBO (pMainNotebookXAxisAddColorCombo), pMainNotebookXAxisAddColorCombo_items); - g_list_free (pMainNotebookXAxisAddColorCombo_items); - - pMainNotebookXAxisAddColorEntry = GTK_COMBO (pMainNotebookXAxisAddColorCombo)->entry; - gtk_widget_ref (pMainNotebookXAxisAddColorEntry); - gtk_object_set_data_full (GTK_OBJECT (MainWindow), "pMainNotebookXAxisAddColorEntry", pMainNotebookXAxisAddColorEntry, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (pMainNotebookXAxisAddColorEntry); - gtk_entry_set_text (GTK_ENTRY (pMainNotebookXAxisAddColorEntry), _("Black")); - - pMainNotebookXAxisAddNumberEntry = gtk_entry_new (); - gtk_widget_ref (pMainNotebookXAxisAddNumberEntry); - gtk_object_set_data_full (GTK_OBJECT (MainWindow), "pMainNotebookXAxisAddNumberEntry", pMainNotebookXAxisAddNumberEntry, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (pMainNotebookXAxisAddNumberEntry); - gtk_table_attach (GTK_TABLE (pMainNotebookXAxisAddTable), pMainNotebookXAxisAddNumberEntry, 1, 2, 0, 1, - (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), - (GtkAttachOptions) (0), 0, 0); - gtk_entry_set_text (GTK_ENTRY (pMainNotebookXAxisAddNumberEntry), _("2")); - - pMainNotebookXAxisLabel = gtk_label_new (_("X axis")); - gtk_widget_ref (pMainNotebookXAxisLabel); - gtk_object_set_data_full (GTK_OBJECT (MainWindow), "pMainNotebookXAxisLabel", pMainNotebookXAxisLabel, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (pMainNotebookXAxisLabel); - gtk_notebook_set_tab_label (GTK_NOTEBOOK (pMainNotebook), gtk_notebook_get_nth_page (GTK_NOTEBOOK (pMainNotebook), 2), pMainNotebookXAxisLabel); - gtk_misc_set_padding (GTK_MISC (pMainNotebookXAxisLabel), 4, 0); - - pMainNotebookYAxisVBox = gtk_vbox_new (FALSE, 0); - gtk_widget_ref (pMainNotebookYAxisVBox); - gtk_object_set_data_full (GTK_OBJECT (MainWindow), "pMainNotebookYAxisVBox", pMainNotebookYAxisVBox, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (pMainNotebookYAxisVBox); - gtk_container_add (GTK_CONTAINER (pMainNotebook), pMainNotebookYAxisVBox); - - pMainNotebookYAxisScaleFrame = gtk_frame_new (_("Scale")); - gtk_widget_ref (pMainNotebookYAxisScaleFrame); - gtk_object_set_data_full (GTK_OBJECT (MainWindow), "pMainNotebookYAxisScaleFrame", pMainNotebookYAxisScaleFrame, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (pMainNotebookYAxisScaleFrame); - gtk_box_pack_start (GTK_BOX (pMainNotebookYAxisVBox), pMainNotebookYAxisScaleFrame, TRUE, TRUE, 0); - gtk_container_set_border_width (GTK_CONTAINER (pMainNotebookYAxisScaleFrame), 8); - - pMainNotebookYAxisScaleTable = gtk_table_new (2, 6, FALSE); - gtk_widget_ref (pMainNotebookYAxisScaleTable); - gtk_object_set_data_full (GTK_OBJECT (MainWindow), "pMainNotebookYAxisScaleTable", pMainNotebookYAxisScaleTable, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (pMainNotebookYAxisScaleTable); - gtk_container_add (GTK_CONTAINER (pMainNotebookYAxisScaleFrame), pMainNotebookYAxisScaleTable); - gtk_container_set_border_width (GTK_CONTAINER (pMainNotebookYAxisScaleTable), 8); - gtk_table_set_row_spacings (GTK_TABLE (pMainNotebookYAxisScaleTable), 8); - gtk_table_set_col_spacings (GTK_TABLE (pMainNotebookYAxisScaleTable), 8); - - pMainNotebookYAxisScaleYminLabel = gtk_label_new (_("Y min")); - gtk_widget_ref (pMainNotebookYAxisScaleYminLabel); - gtk_object_set_data_full (GTK_OBJECT (MainWindow), "pMainNotebookYAxisScaleYminLabel", pMainNotebookYAxisScaleYminLabel, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (pMainNotebookYAxisScaleYminLabel); - gtk_table_attach (GTK_TABLE (pMainNotebookYAxisScaleTable), pMainNotebookYAxisScaleYminLabel, 0, 1, 0, 1, - (GtkAttachOptions) (GTK_FILL), - (GtkAttachOptions) (0), 0, 0); - gtk_widget_set_usize (pMainNotebookYAxisScaleYminLabel, 40, -2); - gtk_label_set_justify (GTK_LABEL (pMainNotebookYAxisScaleYminLabel), GTK_JUSTIFY_LEFT); - gtk_misc_set_alignment (GTK_MISC (pMainNotebookYAxisScaleYminLabel), 0, 0.5); - - pMainNotebookYAxisScaleYmaxLabel = gtk_label_new (_("Y max")); - gtk_widget_ref (pMainNotebookYAxisScaleYmaxLabel); - gtk_object_set_data_full (GTK_OBJECT (MainWindow), "pMainNotebookYAxisScaleYmaxLabel", pMainNotebookYAxisScaleYmaxLabel, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (pMainNotebookYAxisScaleYmaxLabel); - gtk_table_attach (GTK_TABLE (pMainNotebookYAxisScaleTable), pMainNotebookYAxisScaleYmaxLabel, 2, 3, 0, 1, - (GtkAttachOptions) (GTK_FILL), - (GtkAttachOptions) (0), 0, 0); - gtk_widget_set_usize (pMainNotebookYAxisScaleYmaxLabel, 40, -2); - gtk_label_set_justify (GTK_LABEL (pMainNotebookYAxisScaleYmaxLabel), GTK_JUSTIFY_LEFT); - gtk_misc_set_alignment (GTK_MISC (pMainNotebookYAxisScaleYmaxLabel), 0, 0.5); - - pMainNotebookYAxisScaleYminCheck = gtk_check_button_new_with_label (_("Auto")); - gtk_widget_ref (pMainNotebookYAxisScaleYminCheck); - gtk_object_set_data_full (GTK_OBJECT (MainWindow), "pMainNotebookYAxisScaleYminCheck", pMainNotebookYAxisScaleYminCheck, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (pMainNotebookYAxisScaleYminCheck); - gtk_table_attach (GTK_TABLE (pMainNotebookYAxisScaleTable), pMainNotebookYAxisScaleYminCheck, 1, 2, 1, 2, - (GtkAttachOptions) (GTK_FILL), - (GtkAttachOptions) (0), 0, 0); - gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (pMainNotebookYAxisScaleYminCheck), TRUE); - - pMainNotebookYAxisScaleLabel = gtk_label_new (_("Scale")); - gtk_widget_ref (pMainNotebookYAxisScaleLabel); - gtk_object_set_data_full (GTK_OBJECT (MainWindow), "pMainNotebookYAxisScaleLabel", pMainNotebookYAxisScaleLabel, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (pMainNotebookYAxisScaleLabel); - gtk_table_attach (GTK_TABLE (pMainNotebookYAxisScaleTable), pMainNotebookYAxisScaleLabel, 4, 5, 0, 1, - (GtkAttachOptions) (GTK_FILL), - (GtkAttachOptions) (0), 0, 0); - gtk_widget_set_usize (pMainNotebookYAxisScaleLabel, 40, -2); - gtk_label_set_justify (GTK_LABEL (pMainNotebookYAxisScaleLabel), GTK_JUSTIFY_LEFT); - gtk_misc_set_alignment (GTK_MISC (pMainNotebookYAxisScaleLabel), 0, 0.5); - - pMainNotebookYAxisScaleYmaxEntry = gtk_entry_new (); - gtk_widget_ref (pMainNotebookYAxisScaleYmaxEntry); - gtk_object_set_data_full (GTK_OBJECT (MainWindow), "pMainNotebookYAxisScaleYmaxEntry", pMainNotebookYAxisScaleYmaxEntry, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (pMainNotebookYAxisScaleYmaxEntry); - gtk_table_attach (GTK_TABLE (pMainNotebookYAxisScaleTable), pMainNotebookYAxisScaleYmaxEntry, 3, 4, 0, 1, - (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), - (GtkAttachOptions) (0), 0, 0); - gtk_entry_set_text (GTK_ENTRY (pMainNotebookYAxisScaleYmaxEntry), _("1.0")); - - pMainNotebookYAxisScaleCombo = gtk_combo_new (); - gtk_widget_ref (pMainNotebookYAxisScaleCombo); - gtk_object_set_data_full (GTK_OBJECT (MainWindow), "pMainNotebookYAxisScaleCombo", pMainNotebookYAxisScaleCombo, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (pMainNotebookYAxisScaleCombo); - gtk_table_attach (GTK_TABLE (pMainNotebookYAxisScaleTable), pMainNotebookYAxisScaleCombo, 5, 6, 0, 1, - (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), - (GtkAttachOptions) (0), 0, 0); - pMainNotebookYAxisScaleCombo_items = g_list_append (pMainNotebookYAxisScaleCombo_items, (gpointer) _("Linear")); - pMainNotebookYAxisScaleCombo_items = g_list_append (pMainNotebookYAxisScaleCombo_items, (gpointer) _("Logarithmic")); - gtk_combo_set_popdown_strings (GTK_COMBO (pMainNotebookYAxisScaleCombo), pMainNotebookYAxisScaleCombo_items); - g_list_free (pMainNotebookYAxisScaleCombo_items); - - pMainNotebookYAxisScaleEntry = GTK_COMBO (pMainNotebookYAxisScaleCombo)->entry; - gtk_widget_ref (pMainNotebookYAxisScaleEntry); - gtk_object_set_data_full (GTK_OBJECT (MainWindow), "pMainNotebookYAxisScaleEntry", pMainNotebookYAxisScaleEntry, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (pMainNotebookYAxisScaleEntry); - gtk_entry_set_editable (GTK_ENTRY (pMainNotebookYAxisScaleEntry), FALSE); - gtk_entry_set_text (GTK_ENTRY (pMainNotebookYAxisScaleEntry), _("Linear")); - - pMainNotebookYAxisScaleYminEntry = gtk_entry_new (); - gtk_widget_ref (pMainNotebookYAxisScaleYminEntry); - gtk_object_set_data_full (GTK_OBJECT (MainWindow), "pMainNotebookYAxisScaleYminEntry", pMainNotebookYAxisScaleYminEntry, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (pMainNotebookYAxisScaleYminEntry); - gtk_table_attach (GTK_TABLE (pMainNotebookYAxisScaleTable), pMainNotebookYAxisScaleYminEntry, 1, 2, 0, 1, - (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), - (GtkAttachOptions) (0), 0, 0); - gtk_entry_set_text (GTK_ENTRY (pMainNotebookYAxisScaleYminEntry), _("0.0")); - - pMainNotebookYAxisMainFrame = gtk_frame_new (_("Main lines")); - gtk_widget_ref (pMainNotebookYAxisMainFrame); - gtk_object_set_data_full (GTK_OBJECT (MainWindow), "pMainNotebookYAxisMainFrame", pMainNotebookYAxisMainFrame, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (pMainNotebookYAxisMainFrame); - gtk_box_pack_start (GTK_BOX (pMainNotebookYAxisVBox), pMainNotebookYAxisMainFrame, TRUE, TRUE, 0); - gtk_container_set_border_width (GTK_CONTAINER (pMainNotebookYAxisMainFrame), 8); - - pMainNotebookYAxisMainTable = gtk_table_new (2, 6, FALSE); - gtk_widget_ref (pMainNotebookYAxisMainTable); - gtk_object_set_data_full (GTK_OBJECT (MainWindow), "pMainNotebookYAxisMainTable", pMainNotebookYAxisMainTable, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (pMainNotebookYAxisMainTable); - gtk_container_add (GTK_CONTAINER (pMainNotebookYAxisMainFrame), pMainNotebookYAxisMainTable); - gtk_container_set_border_width (GTK_CONTAINER (pMainNotebookYAxisMainTable), 8); - gtk_table_set_row_spacings (GTK_TABLE (pMainNotebookYAxisMainTable), 8); - gtk_table_set_col_spacings (GTK_TABLE (pMainNotebookYAxisMainTable), 8); - - pMainNotebookYAxisMainDyLabel = gtk_label_new (_("Dy")); - gtk_widget_ref (pMainNotebookYAxisMainDyLabel); - gtk_object_set_data_full (GTK_OBJECT (MainWindow), "pMainNotebookYAxisMainDyLabel", pMainNotebookYAxisMainDyLabel, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (pMainNotebookYAxisMainDyLabel); - gtk_table_attach (GTK_TABLE (pMainNotebookYAxisMainTable), pMainNotebookYAxisMainDyLabel, 0, 1, 0, 1, - (GtkAttachOptions) (GTK_FILL), - (GtkAttachOptions) (0), 0, 0); - gtk_widget_set_usize (pMainNotebookYAxisMainDyLabel, 40, -2); - gtk_label_set_justify (GTK_LABEL (pMainNotebookYAxisMainDyLabel), GTK_JUSTIFY_LEFT); - gtk_misc_set_alignment (GTK_MISC (pMainNotebookYAxisMainDyLabel), 0, 0.5); - - pMainNotebookYAxisMainDyButton = gtk_check_button_new_with_label (_("Auto")); - gtk_widget_ref (pMainNotebookYAxisMainDyButton); - gtk_object_set_data_full (GTK_OBJECT (MainWindow), "pMainNotebookYAxisMainDyButton", pMainNotebookYAxisMainDyButton, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (pMainNotebookYAxisMainDyButton); - gtk_table_attach (GTK_TABLE (pMainNotebookYAxisMainTable), pMainNotebookYAxisMainDyButton, 1, 2, 1, 2, - (GtkAttachOptions) (GTK_FILL), - (GtkAttachOptions) (0), 0, 0); - gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (pMainNotebookYAxisMainDyButton), TRUE); - - pMainNotebookYAxisMainStyleLabel = gtk_label_new (_("Style")); - gtk_widget_ref (pMainNotebookYAxisMainStyleLabel); - gtk_object_set_data_full (GTK_OBJECT (MainWindow), "pMainNotebookYAxisMainStyleLabel", pMainNotebookYAxisMainStyleLabel, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (pMainNotebookYAxisMainStyleLabel); - gtk_table_attach (GTK_TABLE (pMainNotebookYAxisMainTable), pMainNotebookYAxisMainStyleLabel, 2, 3, 0, 1, - (GtkAttachOptions) (GTK_FILL), - (GtkAttachOptions) (0), 0, 0); - gtk_widget_set_usize (pMainNotebookYAxisMainStyleLabel, 40, -2); - gtk_label_set_justify (GTK_LABEL (pMainNotebookYAxisMainStyleLabel), GTK_JUSTIFY_LEFT); - gtk_misc_set_alignment (GTK_MISC (pMainNotebookYAxisMainStyleLabel), 0, 0.5); - - pMainNotebookYAxisMainColorLabel = gtk_label_new (_("Color")); - gtk_widget_ref (pMainNotebookYAxisMainColorLabel); - gtk_object_set_data_full (GTK_OBJECT (MainWindow), "pMainNotebookYAxisMainColorLabel", pMainNotebookYAxisMainColorLabel, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (pMainNotebookYAxisMainColorLabel); - gtk_table_attach (GTK_TABLE (pMainNotebookYAxisMainTable), pMainNotebookYAxisMainColorLabel, 4, 5, 0, 1, - (GtkAttachOptions) (GTK_FILL), - (GtkAttachOptions) (0), 0, 0); - gtk_widget_set_usize (pMainNotebookYAxisMainColorLabel, 40, -2); - gtk_label_set_justify (GTK_LABEL (pMainNotebookYAxisMainColorLabel), GTK_JUSTIFY_LEFT); - gtk_misc_set_alignment (GTK_MISC (pMainNotebookYAxisMainColorLabel), 0, 0.5); - - pMainNotebookYAxisMainColorCombo = gtk_combo_new (); - gtk_widget_ref (pMainNotebookYAxisMainColorCombo); - gtk_object_set_data_full (GTK_OBJECT (MainWindow), "pMainNotebookYAxisMainColorCombo", pMainNotebookYAxisMainColorCombo, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (pMainNotebookYAxisMainColorCombo); - gtk_table_attach (GTK_TABLE (pMainNotebookYAxisMainTable), pMainNotebookYAxisMainColorCombo, 5, 6, 0, 1, - (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), - (GtkAttachOptions) (0), 0, 0); - pMainNotebookYAxisMainColorCombo_items = g_list_append (pMainNotebookYAxisMainColorCombo_items, (gpointer) _("White")); - pMainNotebookYAxisMainColorCombo_items = g_list_append (pMainNotebookYAxisMainColorCombo_items, (gpointer) _("Black")); - pMainNotebookYAxisMainColorCombo_items = g_list_append (pMainNotebookYAxisMainColorCombo_items, (gpointer) _("Yellow")); - pMainNotebookYAxisMainColorCombo_items = g_list_append (pMainNotebookYAxisMainColorCombo_items, (gpointer) _("Red")); - pMainNotebookYAxisMainColorCombo_items = g_list_append (pMainNotebookYAxisMainColorCombo_items, (gpointer) _("Blue")); - pMainNotebookYAxisMainColorCombo_items = g_list_append (pMainNotebookYAxisMainColorCombo_items, (gpointer) _("Green")); - pMainNotebookYAxisMainColorCombo_items = g_list_append (pMainNotebookYAxisMainColorCombo_items, (gpointer) _("Orange")); - pMainNotebookYAxisMainColorCombo_items = g_list_append (pMainNotebookYAxisMainColorCombo_items, (gpointer) _("Pink")); - gtk_combo_set_popdown_strings (GTK_COMBO (pMainNotebookYAxisMainColorCombo), pMainNotebookYAxisMainColorCombo_items); - g_list_free (pMainNotebookYAxisMainColorCombo_items); - - pMainNotebookYAxisMainColorEntry = GTK_COMBO (pMainNotebookYAxisMainColorCombo)->entry; - gtk_widget_ref (pMainNotebookYAxisMainColorEntry); - gtk_object_set_data_full (GTK_OBJECT (MainWindow), "pMainNotebookYAxisMainColorEntry", pMainNotebookYAxisMainColorEntry, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (pMainNotebookYAxisMainColorEntry); - gtk_entry_set_text (GTK_ENTRY (pMainNotebookYAxisMainColorEntry), _("Black")); - - pMainNotebookYAxisMainStyleCombo = gtk_combo_new (); - gtk_widget_ref (pMainNotebookYAxisMainStyleCombo); - gtk_object_set_data_full (GTK_OBJECT (MainWindow), "pMainNotebookYAxisMainStyleCombo", pMainNotebookYAxisMainStyleCombo, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (pMainNotebookYAxisMainStyleCombo); - gtk_table_attach (GTK_TABLE (pMainNotebookYAxisMainTable), pMainNotebookYAxisMainStyleCombo, 3, 4, 0, 1, - (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), - (GtkAttachOptions) (0), 0, 0); - pMainNotebookYAxisMainStyleCombo_items = g_list_append (pMainNotebookYAxisMainStyleCombo_items, (gpointer) _("SOLID")); - gtk_combo_set_popdown_strings (GTK_COMBO (pMainNotebookYAxisMainStyleCombo), pMainNotebookYAxisMainStyleCombo_items); - g_list_free (pMainNotebookYAxisMainStyleCombo_items); - - pMainNotebookYAxisMainStyleEntry = GTK_COMBO (pMainNotebookYAxisMainStyleCombo)->entry; - gtk_widget_ref (pMainNotebookYAxisMainStyleEntry); - gtk_object_set_data_full (GTK_OBJECT (MainWindow), "pMainNotebookYAxisMainStyleEntry", pMainNotebookYAxisMainStyleEntry, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (pMainNotebookYAxisMainStyleEntry); - gtk_entry_set_text (GTK_ENTRY (pMainNotebookYAxisMainStyleEntry), _("SOLID")); - - pMainNotebookYAxisMainDyEntry = gtk_entry_new (); - gtk_widget_ref (pMainNotebookYAxisMainDyEntry); - gtk_object_set_data_full (GTK_OBJECT (MainWindow), "pMainNotebookYAxisMainDyEntry", pMainNotebookYAxisMainDyEntry, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (pMainNotebookYAxisMainDyEntry); - gtk_table_attach (GTK_TABLE (pMainNotebookYAxisMainTable), pMainNotebookYAxisMainDyEntry, 1, 2, 0, 1, - (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), - (GtkAttachOptions) (0), 0, 0); - gtk_entry_set_text (GTK_ENTRY (pMainNotebookYAxisMainDyEntry), _("0.1")); - - pMainNotebookYAxisAddFrame = gtk_frame_new (_("Additional lines")); - gtk_widget_ref (pMainNotebookYAxisAddFrame); - gtk_object_set_data_full (GTK_OBJECT (MainWindow), "pMainNotebookYAxisAddFrame", pMainNotebookYAxisAddFrame, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (pMainNotebookYAxisAddFrame); - gtk_box_pack_start (GTK_BOX (pMainNotebookYAxisVBox), pMainNotebookYAxisAddFrame, TRUE, TRUE, 0); - gtk_container_set_border_width (GTK_CONTAINER (pMainNotebookYAxisAddFrame), 8); - - pMainNotebookYAxisAddTable = gtk_table_new (2, 6, FALSE); - gtk_widget_ref (pMainNotebookYAxisAddTable); - gtk_object_set_data_full (GTK_OBJECT (MainWindow), "pMainNotebookYAxisAddTable", pMainNotebookYAxisAddTable, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (pMainNotebookYAxisAddTable); - gtk_container_add (GTK_CONTAINER (pMainNotebookYAxisAddFrame), pMainNotebookYAxisAddTable); - gtk_container_set_border_width (GTK_CONTAINER (pMainNotebookYAxisAddTable), 8); - gtk_table_set_row_spacings (GTK_TABLE (pMainNotebookYAxisAddTable), 8); - gtk_table_set_col_spacings (GTK_TABLE (pMainNotebookYAxisAddTable), 8); - - pMainNotebookYAxisAddNumberLabel = gtk_label_new (_("Num")); - gtk_widget_ref (pMainNotebookYAxisAddNumberLabel); - gtk_object_set_data_full (GTK_OBJECT (MainWindow), "pMainNotebookYAxisAddNumberLabel", pMainNotebookYAxisAddNumberLabel, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (pMainNotebookYAxisAddNumberLabel); - gtk_table_attach (GTK_TABLE (pMainNotebookYAxisAddTable), pMainNotebookYAxisAddNumberLabel, 0, 1, 0, 1, - (GtkAttachOptions) (GTK_FILL), - (GtkAttachOptions) (0), 0, 0); - gtk_widget_set_usize (pMainNotebookYAxisAddNumberLabel, 40, -2); - gtk_label_set_justify (GTK_LABEL (pMainNotebookYAxisAddNumberLabel), GTK_JUSTIFY_LEFT); - gtk_misc_set_alignment (GTK_MISC (pMainNotebookYAxisAddNumberLabel), 0, 0.5); - - pMainNotebookYAxisAddNumberCheck = gtk_check_button_new_with_label (_("Auto")); - gtk_widget_ref (pMainNotebookYAxisAddNumberCheck); - gtk_object_set_data_full (GTK_OBJECT (MainWindow), "pMainNotebookYAxisAddNumberCheck", pMainNotebookYAxisAddNumberCheck, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (pMainNotebookYAxisAddNumberCheck); - gtk_table_attach (GTK_TABLE (pMainNotebookYAxisAddTable), pMainNotebookYAxisAddNumberCheck, 1, 2, 1, 2, - (GtkAttachOptions) (GTK_FILL), - (GtkAttachOptions) (0), 0, 0); - gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (pMainNotebookYAxisAddNumberCheck), TRUE); - - pMainNotebookYAxisAddStyleLabel = gtk_label_new (_("Style")); - gtk_widget_ref (pMainNotebookYAxisAddStyleLabel); - gtk_object_set_data_full (GTK_OBJECT (MainWindow), "pMainNotebookYAxisAddStyleLabel", pMainNotebookYAxisAddStyleLabel, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (pMainNotebookYAxisAddStyleLabel); - gtk_table_attach (GTK_TABLE (pMainNotebookYAxisAddTable), pMainNotebookYAxisAddStyleLabel, 2, 3, 0, 1, - (GtkAttachOptions) (GTK_FILL), - (GtkAttachOptions) (0), 0, 0); - gtk_widget_set_usize (pMainNotebookYAxisAddStyleLabel, 40, -2); - gtk_label_set_justify (GTK_LABEL (pMainNotebookYAxisAddStyleLabel), GTK_JUSTIFY_LEFT); - gtk_misc_set_alignment (GTK_MISC (pMainNotebookYAxisAddStyleLabel), 0, 0.5); - - pMainNotebookYAxisAddColorLabel = gtk_label_new (_("Color")); - gtk_widget_ref (pMainNotebookYAxisAddColorLabel); - gtk_object_set_data_full (GTK_OBJECT (MainWindow), "pMainNotebookYAxisAddColorLabel", pMainNotebookYAxisAddColorLabel, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (pMainNotebookYAxisAddColorLabel); - gtk_table_attach (GTK_TABLE (pMainNotebookYAxisAddTable), pMainNotebookYAxisAddColorLabel, 4, 5, 0, 1, - (GtkAttachOptions) (GTK_FILL), - (GtkAttachOptions) (0), 0, 0); - gtk_widget_set_usize (pMainNotebookYAxisAddColorLabel, 40, -2); - gtk_label_set_justify (GTK_LABEL (pMainNotebookYAxisAddColorLabel), GTK_JUSTIFY_LEFT); - gtk_misc_set_alignment (GTK_MISC (pMainNotebookYAxisAddColorLabel), 0, 0.5); - - pMainNotebookYAxisAddStyleCombo = gtk_combo_new (); - gtk_widget_ref (pMainNotebookYAxisAddStyleCombo); - gtk_object_set_data_full (GTK_OBJECT (MainWindow), "pMainNotebookYAxisAddStyleCombo", pMainNotebookYAxisAddStyleCombo, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (pMainNotebookYAxisAddStyleCombo); - gtk_table_attach (GTK_TABLE (pMainNotebookYAxisAddTable), pMainNotebookYAxisAddStyleCombo, 3, 4, 0, 1, - (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), - (GtkAttachOptions) (0), 0, 0); - pMainNotebookYAxisAddStyleCombo_items = g_list_append (pMainNotebookYAxisAddStyleCombo_items, (gpointer) _("SOLID")); - gtk_combo_set_popdown_strings (GTK_COMBO (pMainNotebookYAxisAddStyleCombo), pMainNotebookYAxisAddStyleCombo_items); - g_list_free (pMainNotebookYAxisAddStyleCombo_items); - - pMainNotebookYAxisAddStyleEntry = GTK_COMBO (pMainNotebookYAxisAddStyleCombo)->entry; - gtk_widget_ref (pMainNotebookYAxisAddStyleEntry); - gtk_object_set_data_full (GTK_OBJECT (MainWindow), "pMainNotebookYAxisAddStyleEntry", pMainNotebookYAxisAddStyleEntry, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (pMainNotebookYAxisAddStyleEntry); - gtk_entry_set_text (GTK_ENTRY (pMainNotebookYAxisAddStyleEntry), _("SOLID")); - - pMainNotebookYAxisAddColorCombo = gtk_combo_new (); - gtk_widget_ref (pMainNotebookYAxisAddColorCombo); - gtk_object_set_data_full (GTK_OBJECT (MainWindow), "pMainNotebookYAxisAddColorCombo", pMainNotebookYAxisAddColorCombo, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (pMainNotebookYAxisAddColorCombo); - gtk_table_attach (GTK_TABLE (pMainNotebookYAxisAddTable), pMainNotebookYAxisAddColorCombo, 5, 6, 0, 1, - (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), - (GtkAttachOptions) (0), 0, 0); - pMainNotebookYAxisAddColorCombo_items = g_list_append (pMainNotebookYAxisAddColorCombo_items, (gpointer) _("White")); - pMainNotebookYAxisAddColorCombo_items = g_list_append (pMainNotebookYAxisAddColorCombo_items, (gpointer) _("Black")); - pMainNotebookYAxisAddColorCombo_items = g_list_append (pMainNotebookYAxisAddColorCombo_items, (gpointer) _("Yellow")); - pMainNotebookYAxisAddColorCombo_items = g_list_append (pMainNotebookYAxisAddColorCombo_items, (gpointer) _("Red")); - pMainNotebookYAxisAddColorCombo_items = g_list_append (pMainNotebookYAxisAddColorCombo_items, (gpointer) _("Blue")); - pMainNotebookYAxisAddColorCombo_items = g_list_append (pMainNotebookYAxisAddColorCombo_items, (gpointer) _("Green")); - pMainNotebookYAxisAddColorCombo_items = g_list_append (pMainNotebookYAxisAddColorCombo_items, (gpointer) _("Orange")); - pMainNotebookYAxisAddColorCombo_items = g_list_append (pMainNotebookYAxisAddColorCombo_items, (gpointer) _("Pink")); - gtk_combo_set_popdown_strings (GTK_COMBO (pMainNotebookYAxisAddColorCombo), pMainNotebookYAxisAddColorCombo_items); - g_list_free (pMainNotebookYAxisAddColorCombo_items); - - pMainNotebookYAxisAddColorEntry = GTK_COMBO (pMainNotebookYAxisAddColorCombo)->entry; - gtk_widget_ref (pMainNotebookYAxisAddColorEntry); - gtk_object_set_data_full (GTK_OBJECT (MainWindow), "pMainNotebookYAxisAddColorEntry", pMainNotebookYAxisAddColorEntry, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (pMainNotebookYAxisAddColorEntry); - gtk_entry_set_text (GTK_ENTRY (pMainNotebookYAxisAddColorEntry), _("Black")); - - pMainNotebookYAxisAddNumberEntry = gtk_entry_new (); - gtk_widget_ref (pMainNotebookYAxisAddNumberEntry); - gtk_object_set_data_full (GTK_OBJECT (MainWindow), "pMainNotebookYAxisAddNumberEntry", pMainNotebookYAxisAddNumberEntry, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (pMainNotebookYAxisAddNumberEntry); - gtk_table_attach (GTK_TABLE (pMainNotebookYAxisAddTable), pMainNotebookYAxisAddNumberEntry, 1, 2, 0, 1, - (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), - (GtkAttachOptions) (0), 0, 0); - gtk_entry_set_text (GTK_ENTRY (pMainNotebookYAxisAddNumberEntry), _("2")); - - pMainNotebookYAxisLabel = gtk_label_new (_("Y axis")); - gtk_widget_ref (pMainNotebookYAxisLabel); - gtk_object_set_data_full (GTK_OBJECT (MainWindow), "pMainNotebookYAxisLabel", pMainNotebookYAxisLabel, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (pMainNotebookYAxisLabel); - gtk_notebook_set_tab_label (GTK_NOTEBOOK (pMainNotebook), gtk_notebook_get_nth_page (GTK_NOTEBOOK (pMainNotebook), 3), pMainNotebookYAxisLabel); - gtk_misc_set_padding (GTK_MISC (pMainNotebookYAxisLabel), 4, 0); - - pMainButtonHBox = gtk_hbox_new (TRUE, 0); - gtk_widget_ref (pMainButtonHBox); - gtk_object_set_data_full (GTK_OBJECT (MainWindow), "pMainButtonHBox", pMainButtonHBox, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (pMainButtonHBox); - gtk_box_pack_start (GTK_BOX (pMainVBox), pMainButtonHBox, FALSE, TRUE, 0); - gtk_widget_set_usize (pMainButtonHBox, -2, 48); - - pMainButtonOk = gtk_button_new_with_label (_("Ok")); - gtk_widget_ref (pMainButtonOk); - gtk_object_set_data_full (GTK_OBJECT (MainWindow), "pMainButtonOk", pMainButtonOk, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (pMainButtonOk); - gtk_box_pack_start (GTK_BOX (pMainButtonHBox), pMainButtonOk, FALSE, FALSE, 0); - gtk_widget_set_usize (pMainButtonOk, 112, 48); - gtk_container_set_border_width (GTK_CONTAINER (pMainButtonOk), 8); - GTK_WIDGET_SET_FLAGS (pMainButtonOk, GTK_CAN_DEFAULT); - - pMainButtonCancel = gtk_button_new_with_label (_("Cancel")); - gtk_widget_ref (pMainButtonCancel); - gtk_object_set_data_full (GTK_OBJECT (MainWindow), "pMainButtonCancel", pMainButtonCancel, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (pMainButtonCancel); - gtk_box_pack_start (GTK_BOX (pMainButtonHBox), pMainButtonCancel, FALSE, FALSE, 0); - gtk_widget_set_usize (pMainButtonCancel, 112, 48); - gtk_container_set_border_width (GTK_CONTAINER (pMainButtonCancel), 8); - GTK_WIDGET_SET_FLAGS (pMainButtonCancel, GTK_CAN_DEFAULT); - - pMainButtonPlot = gtk_button_new_with_label (_("Plot")); - gtk_widget_ref (pMainButtonPlot); - gtk_object_set_data_full (GTK_OBJECT (MainWindow), "pMainButtonPlot", pMainButtonPlot, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (pMainButtonPlot); - gtk_box_pack_start (GTK_BOX (pMainButtonHBox), pMainButtonPlot, FALSE, FALSE, 0); - gtk_widget_set_usize (pMainButtonPlot, 112, 48); - gtk_container_set_border_width (GTK_CONTAINER (pMainButtonPlot), 8); - GTK_WIDGET_SET_FLAGS (pMainButtonPlot, GTK_CAN_DEFAULT); - - gtk_signal_connect (GTK_OBJECT (MainWindow), "delete_event", - GTK_SIGNAL_FUNC (MainDeleteEvent_clicked), - NULL); - gtk_signal_connect (GTK_OBJECT (pMainNotebookGraphSourceEntry), "changed", - GTK_SIGNAL_FUNC (on_pMainNotebookGraphSourceEntry_changed), - NULL); - gtk_signal_connect (GTK_OBJECT (pMainNotebookGraphTypeEntry), "changed", - GTK_SIGNAL_FUNC (on_pMainNotebookGraphTypeEntry_changed), - NULL); - gtk_signal_connect (GTK_OBJECT (pMainNotebookGraphViewerEntry), "changed", - GTK_SIGNAL_FUNC (on_pMainNotebookGraphViewerEntry_changed), - NULL); - gtk_signal_connect (GTK_OBJECT (pMainNotebookPlotsNewButton), "clicked", - GTK_SIGNAL_FUNC (MainNotebookPlotsNewButton_clicked), - NULL); - gtk_signal_connect (GTK_OBJECT (pMainNotebookPlotsModifyButton), "clicked", - GTK_SIGNAL_FUNC (MainNotebookPlotsModifyButton_clicked), - NULL); - gtk_signal_connect (GTK_OBJECT (pMainNotebookPlotsDeleteButton), "clicked", - GTK_SIGNAL_FUNC (MainNotebookPlotsDeleteButton_clicked), - NULL); - gtk_signal_connect (GTK_OBJECT (pMainNotebookGraphBorderButton), "clicked", - GTK_SIGNAL_FUNC (MainNotebookGraphBorderButton_clicked), - NULL); - gtk_signal_connect (GTK_OBJECT (pMainNotebookXAxisScaleXminCheck), "toggled", - GTK_SIGNAL_FUNC (on_pMainNotebookXAxisScaleXminCheck_toggled), - NULL); - gtk_signal_connect (GTK_OBJECT (pMainNotebookXAxisScaleXmaxEntry), "changed", - GTK_SIGNAL_FUNC (on_pMainNotebookXAxisScaleXmaxEntry_changed), - NULL); - gtk_signal_connect (GTK_OBJECT (pMainNotebookXaxisScaleEntry), "changed", - GTK_SIGNAL_FUNC (on_pMainNotebookXaxisScaleEntry_changed), - NULL); - gtk_signal_connect (GTK_OBJECT (pMainNotebookXAxisScaleXminEntry), "changed", - GTK_SIGNAL_FUNC (on_pMainNotebookXAxisScaleXminEntry_changed), - NULL); - gtk_signal_connect (GTK_OBJECT (pMainNotebookXAxisMainDxCheck), "toggled", - GTK_SIGNAL_FUNC (on_pMainNotebookXAxisMainDxCheck_toggled), - NULL); - gtk_signal_connect (GTK_OBJECT (pMainNotebookXAxisMainColorEntry), "changed", - GTK_SIGNAL_FUNC (on_pMainNotebookXAxisMainColorEntry_changed), - NULL); - gtk_signal_connect (GTK_OBJECT (pMainNotebookXAxisMainStyleEntry), "changed", - GTK_SIGNAL_FUNC (on_pMainNotebookXAxisMainStyleEntry_changed), - NULL); - gtk_signal_connect (GTK_OBJECT (pMainNotebookXAxisMainDxEntry), "changed", - GTK_SIGNAL_FUNC (on_pMainNotebookXAxisMainDxEntry_changed), - NULL); - gtk_signal_connect (GTK_OBJECT (pMainNotebookXAxisAddNumberCheck), "toggled", - GTK_SIGNAL_FUNC (on_pMainNotebookXAxisAddNumberCheck_toggled), - NULL); - gtk_signal_connect (GTK_OBJECT (pMainNotebookXAxisAddStyleEntry), "changed", - GTK_SIGNAL_FUNC (on_pMainNotebookXAxisAddStyleEntry_changed), - NULL); - gtk_signal_connect (GTK_OBJECT (pMainNotebookXAxisAddColorEntry), "changed", - GTK_SIGNAL_FUNC (on_pMainNotebookXAxisAddColorEntry_changed), - NULL); - gtk_signal_connect (GTK_OBJECT (pMainNotebookXAxisAddNumberEntry), "changed", - GTK_SIGNAL_FUNC (on_pMainNotebookXAxisAddNumberEntry_changed), - NULL); - gtk_signal_connect (GTK_OBJECT (pMainNotebookYAxisScaleYminCheck), "toggled", - GTK_SIGNAL_FUNC (on_pMainNotebookYAxisScaleYminCheck_toggled), - NULL); - gtk_signal_connect (GTK_OBJECT (pMainNotebookYAxisScaleYmaxEntry), "changed", - GTK_SIGNAL_FUNC (on_pMainNotebookYAxisScaleYmaxEntry_changed), - NULL); - gtk_signal_connect (GTK_OBJECT (pMainNotebookYAxisScaleEntry), "changed", - GTK_SIGNAL_FUNC (on_pMainNotebookYAxisScaleEntry_changed), - NULL); - gtk_signal_connect (GTK_OBJECT (pMainNotebookYAxisScaleYminEntry), "changed", - GTK_SIGNAL_FUNC (on_pMainNotebookYAxisScaleYminEntry_changed), - NULL); - gtk_signal_connect (GTK_OBJECT (pMainNotebookYAxisMainDyButton), "toggled", - GTK_SIGNAL_FUNC (on_pMainNotebookYAxisMainDyButton_toggled), - NULL); - gtk_signal_connect (GTK_OBJECT (pMainNotebookYAxisMainColorEntry), "changed", - GTK_SIGNAL_FUNC (on_pMainNotebookYAxisMainColorEntry_changed), - NULL); - gtk_signal_connect (GTK_OBJECT (pMainNotebookYAxisMainStyleEntry), "changed", - GTK_SIGNAL_FUNC (on_pMainNotebookYAxisMainStyleEntry_changed), - NULL); - gtk_signal_connect (GTK_OBJECT (pMainNotebookYAxisMainDyEntry), "changed", - GTK_SIGNAL_FUNC (on_pMainNotebookYAxisMainDyEntry_changed), - NULL); - gtk_signal_connect (GTK_OBJECT (pMainNotebookYAxisAddNumberCheck), "toggled", - GTK_SIGNAL_FUNC (on_pMainNotebookYAxisAddNumberCheck_toggled), - NULL); - gtk_signal_connect (GTK_OBJECT (pMainNotebookYAxisAddStyleEntry), "changed", - GTK_SIGNAL_FUNC (on_pMainNotebookYAxisAddStyleEntry_changed), - NULL); - gtk_signal_connect (GTK_OBJECT (pMainNotebookYAxisAddColorEntry), "changed", - GTK_SIGNAL_FUNC (on_pMainNotebookYAxisAddColorEntry_changed), - NULL); - gtk_signal_connect (GTK_OBJECT (pMainNotebookYAxisAddNumberEntry), "changed", - GTK_SIGNAL_FUNC (on_pMainNotebookYAxisAddNumberEntry_changed), - NULL); - gtk_signal_connect (GTK_OBJECT (pMainButtonOk), "clicked", - GTK_SIGNAL_FUNC (MainButtonOk_clicked), - NULL); - gtk_signal_connect (GTK_OBJECT (pMainButtonCancel), "clicked", - GTK_SIGNAL_FUNC (MainButtonCancel_clicked), - NULL); - gtk_signal_connect (GTK_OBJECT (pMainButtonPlot), "clicked", - GTK_SIGNAL_FUNC (MainButtonPlot_clicked), - NULL); - - return MainWindow; -} - -GtkWidget* -create_PlotWindow (void) -{ - GtkWidget *PlotWindow; - GtkWidget *pPlotVBox; - GtkWidget *pPlotDataHBox; - GtkWidget *pPlotDataLabel; - GtkWidget *pPlotDataEntry; - GtkWidget *pPlotViewFrame; - GtkWidget *pPlotViewTable; - GtkWidget *pPlotViewStyleCombo; - GtkWidget *pPlotViewStyleEntry; - GtkWidget *pPlotViewPointsCombo; - GtkWidget *pPlotViewPointsEntry; - GtkWidget *pPlotViewColorCombo; - GtkWidget *pPlotViewColorEntry; - GtkWidget *pPlotViewStyleLabel; - GtkWidget *pPlotViewPointsLabel; - GtkWidget *pPlotViewColorLabel; - GtkWidget *pPlotButtonHBox; - GtkWidget *pPlotButtonOkButton; - GtkWidget *pPlotButtonCancelButton; - - PlotWindow = gtk_window_new (GTK_WINDOW_TOPLEVEL); - gtk_object_set_data (GTK_OBJECT (PlotWindow), "PlotWindow", PlotWindow); - gtk_window_set_title (GTK_WINDOW (PlotWindow), _("Graph plot")); - gtk_window_set_modal (GTK_WINDOW (PlotWindow), TRUE); - gtk_window_set_policy (GTK_WINDOW (PlotWindow), FALSE, FALSE, TRUE); - - pPlotVBox = gtk_vbox_new (FALSE, 0); - gtk_widget_ref (pPlotVBox); - gtk_object_set_data_full (GTK_OBJECT (PlotWindow), "pPlotVBox", pPlotVBox, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (pPlotVBox); - gtk_container_add (GTK_CONTAINER (PlotWindow), pPlotVBox); - - pPlotDataHBox = gtk_hbox_new (FALSE, 8); - gtk_widget_ref (pPlotDataHBox); - gtk_object_set_data_full (GTK_OBJECT (PlotWindow), "pPlotDataHBox", pPlotDataHBox, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (pPlotDataHBox); - gtk_box_pack_start (GTK_BOX (pPlotVBox), pPlotDataHBox, FALSE, TRUE, 0); - gtk_container_set_border_width (GTK_CONTAINER (pPlotDataHBox), 8); - - pPlotDataLabel = gtk_label_new (_("Data")); - gtk_widget_ref (pPlotDataLabel); - gtk_object_set_data_full (GTK_OBJECT (PlotWindow), "pPlotDataLabel", pPlotDataLabel, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (pPlotDataLabel); - gtk_box_pack_start (GTK_BOX (pPlotDataHBox), pPlotDataLabel, FALSE, FALSE, 0); - gtk_label_set_justify (GTK_LABEL (pPlotDataLabel), GTK_JUSTIFY_LEFT); - - pPlotDataEntry = gtk_entry_new (); - gtk_widget_ref (pPlotDataEntry); - gtk_object_set_data_full (GTK_OBJECT (PlotWindow), "pPlotDataEntry", pPlotDataEntry, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (pPlotDataEntry); - gtk_box_pack_start (GTK_BOX (pPlotDataHBox), pPlotDataEntry, TRUE, TRUE, 0); - - pPlotViewFrame = gtk_frame_new (_("Plot view")); - gtk_widget_ref (pPlotViewFrame); - gtk_object_set_data_full (GTK_OBJECT (PlotWindow), "pPlotViewFrame", pPlotViewFrame, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (pPlotViewFrame); - gtk_box_pack_start (GTK_BOX (pPlotVBox), pPlotViewFrame, TRUE, TRUE, 0); - gtk_container_set_border_width (GTK_CONTAINER (pPlotViewFrame), 8); - - pPlotViewTable = gtk_table_new (3, 2, FALSE); - gtk_widget_ref (pPlotViewTable); - gtk_object_set_data_full (GTK_OBJECT (PlotWindow), "pPlotViewTable", pPlotViewTable, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (pPlotViewTable); - gtk_container_add (GTK_CONTAINER (pPlotViewFrame), pPlotViewTable); - gtk_container_set_border_width (GTK_CONTAINER (pPlotViewTable), 8); - gtk_table_set_row_spacings (GTK_TABLE (pPlotViewTable), 8); - gtk_table_set_col_spacings (GTK_TABLE (pPlotViewTable), 8); - - pPlotViewStyleCombo = gtk_combo_new (); - gtk_widget_ref (pPlotViewStyleCombo); - gtk_object_set_data_full (GTK_OBJECT (PlotWindow), "pPlotViewStyleCombo", pPlotViewStyleCombo, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (pPlotViewStyleCombo); - gtk_table_attach (GTK_TABLE (pPlotViewTable), pPlotViewStyleCombo, 1, 2, 0, 1, - (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), - (GtkAttachOptions) (0), 0, 0); - - pPlotViewStyleEntry = GTK_COMBO (pPlotViewStyleCombo)->entry; - gtk_widget_ref (pPlotViewStyleEntry); - gtk_object_set_data_full (GTK_OBJECT (PlotWindow), "pPlotViewStyleEntry", pPlotViewStyleEntry, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (pPlotViewStyleEntry); - - pPlotViewPointsCombo = gtk_combo_new (); - gtk_widget_ref (pPlotViewPointsCombo); - gtk_object_set_data_full (GTK_OBJECT (PlotWindow), "pPlotViewPointsCombo", pPlotViewPointsCombo, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (pPlotViewPointsCombo); - gtk_table_attach (GTK_TABLE (pPlotViewTable), pPlotViewPointsCombo, 1, 2, 1, 2, - (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), - (GtkAttachOptions) (0), 0, 0); - - pPlotViewPointsEntry = GTK_COMBO (pPlotViewPointsCombo)->entry; - gtk_widget_ref (pPlotViewPointsEntry); - gtk_object_set_data_full (GTK_OBJECT (PlotWindow), "pPlotViewPointsEntry", pPlotViewPointsEntry, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (pPlotViewPointsEntry); - - pPlotViewColorCombo = gtk_combo_new (); - gtk_widget_ref (pPlotViewColorCombo); - gtk_object_set_data_full (GTK_OBJECT (PlotWindow), "pPlotViewColorCombo", pPlotViewColorCombo, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (pPlotViewColorCombo); - gtk_table_attach (GTK_TABLE (pPlotViewTable), pPlotViewColorCombo, 1, 2, 2, 3, - (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), - (GtkAttachOptions) (0), 0, 0); - - pPlotViewColorEntry = GTK_COMBO (pPlotViewColorCombo)->entry; - gtk_widget_ref (pPlotViewColorEntry); - gtk_object_set_data_full (GTK_OBJECT (PlotWindow), "pPlotViewColorEntry", pPlotViewColorEntry, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (pPlotViewColorEntry); - - pPlotViewStyleLabel = gtk_label_new (_("Style")); - gtk_widget_ref (pPlotViewStyleLabel); - gtk_object_set_data_full (GTK_OBJECT (PlotWindow), "pPlotViewStyleLabel", pPlotViewStyleLabel, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (pPlotViewStyleLabel); - gtk_table_attach (GTK_TABLE (pPlotViewTable), pPlotViewStyleLabel, 0, 1, 0, 1, - (GtkAttachOptions) (GTK_FILL), - (GtkAttachOptions) (0), 0, 0); - gtk_misc_set_alignment (GTK_MISC (pPlotViewStyleLabel), 0, 0.5); - - pPlotViewPointsLabel = gtk_label_new (_("Points")); - gtk_widget_ref (pPlotViewPointsLabel); - gtk_object_set_data_full (GTK_OBJECT (PlotWindow), "pPlotViewPointsLabel", pPlotViewPointsLabel, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (pPlotViewPointsLabel); - gtk_table_attach (GTK_TABLE (pPlotViewTable), pPlotViewPointsLabel, 0, 1, 1, 2, - (GtkAttachOptions) (GTK_FILL), - (GtkAttachOptions) (0), 0, 0); - gtk_misc_set_alignment (GTK_MISC (pPlotViewPointsLabel), 0, 0.5); - - pPlotViewColorLabel = gtk_label_new (_("Color")); - gtk_widget_ref (pPlotViewColorLabel); - gtk_object_set_data_full (GTK_OBJECT (PlotWindow), "pPlotViewColorLabel", pPlotViewColorLabel, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (pPlotViewColorLabel); - gtk_table_attach (GTK_TABLE (pPlotViewTable), pPlotViewColorLabel, 0, 1, 2, 3, - (GtkAttachOptions) (GTK_FILL), - (GtkAttachOptions) (0), 0, 0); - gtk_misc_set_alignment (GTK_MISC (pPlotViewColorLabel), 0, 0.5); - - pPlotButtonHBox = gtk_hbox_new (TRUE, 0); - gtk_widget_ref (pPlotButtonHBox); - gtk_object_set_data_full (GTK_OBJECT (PlotWindow), "pPlotButtonHBox", pPlotButtonHBox, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (pPlotButtonHBox); - gtk_box_pack_start (GTK_BOX (pPlotVBox), pPlotButtonHBox, FALSE, TRUE, 0); - gtk_widget_set_usize (pPlotButtonHBox, -2, 48); - - pPlotButtonOkButton = gtk_button_new_with_label (_("Ok")); - gtk_widget_ref (pPlotButtonOkButton); - gtk_object_set_data_full (GTK_OBJECT (PlotWindow), "pPlotButtonOkButton", pPlotButtonOkButton, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (pPlotButtonOkButton); - gtk_box_pack_start (GTK_BOX (pPlotButtonHBox), pPlotButtonOkButton, FALSE, FALSE, 0); - gtk_widget_set_usize (pPlotButtonOkButton, 112, 48); - gtk_container_set_border_width (GTK_CONTAINER (pPlotButtonOkButton), 8); - GTK_WIDGET_SET_FLAGS (pPlotButtonOkButton, GTK_CAN_DEFAULT); - - pPlotButtonCancelButton = gtk_button_new_with_label (_("Cancel")); - gtk_widget_ref (pPlotButtonCancelButton); - gtk_object_set_data_full (GTK_OBJECT (PlotWindow), "pPlotButtonCancelButton", pPlotButtonCancelButton, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (pPlotButtonCancelButton); - gtk_box_pack_start (GTK_BOX (pPlotButtonHBox), pPlotButtonCancelButton, FALSE, FALSE, 0); - gtk_widget_set_usize (pPlotButtonCancelButton, 112, 48); - gtk_container_set_border_width (GTK_CONTAINER (pPlotButtonCancelButton), 8); - GTK_WIDGET_SET_FLAGS (pPlotButtonCancelButton, GTK_CAN_DEFAULT); - - gtk_signal_connect (GTK_OBJECT (pPlotButtonOkButton), "clicked", - GTK_SIGNAL_FUNC (PlotButtonOkButton_clicked), - NULL); - gtk_signal_connect (GTK_OBJECT (pPlotButtonCancelButton), "clicked", - GTK_SIGNAL_FUNC (PlotButtonCancelButton_clicked), - NULL); - - return PlotWindow; -} - diff --git a/geda/graphman/interface.h b/geda/graphman/interface.h deleted file mode 100644 index 048c3a19e..000000000 --- a/geda/graphman/interface.h +++ /dev/null @@ -1,6 +0,0 @@ -/* - * DO NOT EDIT THIS FILE - it is generated by Glade. - */ - -GtkWidget* create_MainWindow (void); -GtkWidget* create_PlotWindow (void); diff --git a/geda/graphman/libstring.c b/geda/graphman/libstring.c deleted file mode 100644 index 9745cc3bb..000000000 --- a/geda/graphman/libstring.c +++ /dev/null @@ -1,148 +0,0 @@ -/* $Id$ */ - -/*******************************************************************************/ -/* */ -/* gEDA Suite Project Manager */ -/* */ -/* Copyright (C) 2002 Piotr Miarecki, sp9rve@radioam.net */ -/* */ -/* 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 version 2. */ -/* */ -/* 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, email to the author */ -/* */ -/*******************************************************************************/ - -#ifdef HAVE_CONFIG_H -#include "config.h" -#endif - -#include -#include - -#ifdef HAVE_STRING_H -#include -#endif - -#include "libstring.h" - - - -/******************************************************************************** - - Create a new string - -********************************************************************************/ - -char *StringCreate(void) -{ - char *pString = NULL; - - pString = (char *) malloc(sizeof(char)); - if (pString != NULL) - strcpy(pString, ""); - - return pString; -} - - - -/******************************************************************************** - - Copy a string - -********************************************************************************/ - -void StringCopy(char **pString, const char *pSource) -{ - *pString = (char *) realloc(*pString, strlen(pSource) + sizeof(char)); - strcpy(*pString, pSource); -} - - - -/******************************************************************************** - - Cat to a string - -********************************************************************************/ - -void StringCat(char **pString, const char *pSource) -{ - *pString = (char *) realloc(*pString, strlen(*pString) + strlen(pSource) + sizeof(char)); - strcat(*pString, pSource); -} - - - -/******************************************************************************* - - Copy a string (limited number of characters) - -********************************************************************************/ - -void StringCopyNum(char **pString, const char *pSource, const int iNumber) -{ - *pString = (char *) realloc(*pString, (strlen(pSource) > iNumber ? iNumber : strlen(pSource)) + sizeof(char)); - strncpy(*pString, pSource, iNumber); - (*pString)[strlen(pSource) > iNumber ? iNumber : strlen(pSource)] = 0; -} - - - -/*******************************************************************************/ -/* Length of a string */ -/*******************************************************************************/ - -int StringLength(char **pString) -{ - return strlen(*pString); -} - - - -/*******************************************************************************/ -/* Convert String to float */ -/*******************************************************************************/ - -float String2Float(char *pString) -{ - float f; - - sscanf(pString, "%f", &f); - - return f; -} - - - -/*******************************************************************************/ -/* Convert String to integer */ -/*******************************************************************************/ - -int String2Integer(char *pString) -{ - int i; - - sscanf(pString, "%d", &i); - - return i; -} - - - -/*******************************************************************************/ -/* Destroy a string */ -/*******************************************************************************/ - -void StringDestroy(char **pString) -{ - free((void *) *pString); -} diff --git a/geda/graphman/libstring.h b/geda/graphman/libstring.h deleted file mode 100644 index a45b9c699..000000000 --- a/geda/graphman/libstring.h +++ /dev/null @@ -1,38 +0,0 @@ -/*******************************************************************************/ -/* */ -/* gEDA Suite Project Manager */ -/* */ -/* Copyright (C) 2002 Piotr Miarecki, sp9rve@radioam.net */ -/* */ -/* 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 version 2. */ -/* */ -/* 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, email to the author */ -/* */ -/*******************************************************************************/ - -#ifndef __STRING_H_INCLUDED -#define __STRING_H_INCLUDED - - - -/* public functions */ -char *StringCreate(void); -void StringCopy(char **pString, const char *pSource); -void StringCat(char **pString, const char *pSource); -void StringCopyNum(char **pString, const char *pSource, const int iNumber); -int StringLength(char **pString); -float String2Float(char *pString); -int String2Integer(char *pString); -void StringDestroy(char **pString); - - - -#endif /* __STRING_H_INCLUDED */ diff --git a/geda/graphman/main.c b/geda/graphman/main.c deleted file mode 100644 index 4f715f71b..000000000 --- a/geda/graphman/main.c +++ /dev/null @@ -1,356 +0,0 @@ -/* $Id$ */ - -/*******************************************************************************/ -/* */ -/* gEDA Suite Project Manager */ -/* */ -/* Copyright (C) 2002 Piotr Miarecki, sp9rve@radioam.net */ -/* */ -/* 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 version 2. */ -/* */ -/* 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, email to the author */ -/* */ -/*******************************************************************************/ - -#ifdef HAVE_CONFIG_H -# include "config.h" -#endif - -#include -#include - -#ifdef HAVE_STRING_H -#include -#endif - -#ifdef HAVE_UNISTD_H -#include -#endif - -#include "export2gwave.h" -#include "global.h" -#include "graph.h" -#include "msg.h" -#include "interface.h" -#include "libstring.h" -#include "support.h" -#include "value.h" - - -/*******************************************************************************/ -/* Global variables */ -/*******************************************************************************/ - -GtkWidget *pMainWindow = NULL; -char *szFilename = NULL, *szExtFilename = NULL, *szFilter = NULL; - - - -/*******************************************************************************/ -/* Main function */ -/*******************************************************************************/ - -#define GETOPT_PARAMETERS "f:cogdi:e:m:" - -/* possible actions */ -#define ACTION_NOT_SELECTED 0 -#define ACTION_CREATE 1 -#define ACTION_OPEN 2 -#define ACTION_GENERATE 3 -#define ACTION_DISPLAY 4 -#define ACTION_IMPORT 5 -#define ACTION_EXPORT 6 - -int main(int iArgc, char *szArgv[]) -{ - int iPid, iAction, i; - char c, *pString = NULL; - BOOL bErrorFlag; - - szFilename = StringCreate(); - szExtFilename = StringCreate(); - szFilter = StringCreate(); - - iAction = ACTION_NOT_SELECTED; - bErrorFlag = FALSE; - - -#ifdef ENABLE_NLS - bindtextdomain (PACKAGE, PACKAGE_LOCALE_DIR); - textdomain (PACKAGE); -#endif - gtk_set_locale(); - gtk_init(&iArgc, &szArgv); -/* - add_pixmap_directory(PACKAGE_DATA_DIR "/pixmaps"); - add_pixmap_directory(PACKAGE_SOURCE_DIR "/pixmaps"); -*/ - - - /* - parsing arguments - */ - - for ( - c = getopt(iArgc, szArgv, GETOPT_PARAMETERS); - c != -1; - c = getopt(iArgc, szArgv, GETOPT_PARAMETERS) - ) - { - - - switch (c) - { - /* - graph filename - */ - - case 'f': - - StringCopy(&szFilename, optarg); - break; - - /* - action type - */ - - case 'c': - - if (iAction != ACTION_NOT_SELECTED) - { - Error(MSG_TOO_MANY_PARAMETERS); - bErrorFlag = TRUE; - break; - } - iAction = ACTION_CREATE; - break; - - case 'o': - - if (iAction != ACTION_NOT_SELECTED) - { - Error(MSG_TOO_MANY_PARAMETERS); - bErrorFlag = TRUE; - break; - } - iAction = ACTION_OPEN; - break; - - case 'g': - - if (iAction != ACTION_NOT_SELECTED) - { - Error(MSG_TOO_MANY_PARAMETERS); - bErrorFlag = TRUE; - break; - } - iAction = ACTION_GENERATE; - break; - - case 'd': - - if (iAction != ACTION_NOT_SELECTED) - { - Error(MSG_TOO_MANY_PARAMETERS); - bErrorFlag = TRUE; - break; - } - iAction = ACTION_DISPLAY; - break; - - case 'i': - - if (iAction != ACTION_NOT_SELECTED) - { - Error(MSG_TOO_MANY_PARAMETERS); - bErrorFlag = TRUE; - break; - } - iAction = ACTION_IMPORT; - StringCopy(&szExtFilename, optarg); - break; - - case 'e': - - if (iAction != ACTION_NOT_SELECTED) - { - Error(MSG_TOO_MANY_PARAMETERS); - bErrorFlag = TRUE; - break; - } - iAction = ACTION_EXPORT; - StringCopy(&szExtFilename, optarg); - break; - - /* - import/export filter - */ - - case 'm': - - StringCopy(&szFilter, optarg); - break; - - /* - GManager PID (for GUI integration) - */ - - case 'p': - - i = sscanf(optarg, "%i", &iPid); - if (i != 1) - { - Error(MSG_WRONG_PARAMETER); - bErrorFlag = TRUE; - } - break; - - /* - others - */ - - case ':': - - Error(MSG_MISSING_PARAMETER); - bErrorFlag = TRUE; - break; - - case '?': - - Error(MSG_UNKNOWN_OPTION); - bErrorFlag = TRUE; - break; - - case -1: - - break; - } - } - - if (StringLength(&szFilename) == 0) - { - Error(MSG_FILENAME_NOT_SPECIFIED); - bErrorFlag = TRUE; - } - - if (iAction == ACTION_NOT_SELECTED) - { - Error(MSG_ACTION_NOT_SELECTED); - bErrorFlag = TRUE; - } - - if ( - (iAction == ACTION_IMPORT || iAction == ACTION_EXPORT) - && (StringLength(&szFilter) == 0) - ) - { - Error(MSG_FILTER_NOT_SPECIFIED); - bErrorFlag = TRUE; - } - - - - /* - Run appropriate action - */ - - if (!bErrorFlag) switch (iAction) - { - case ACTION_CREATE: - GraphNew(szFilename); - GraphSave(szFilename); - break; - - case ACTION_OPEN: - pMainWindow = create_MainWindow(); - gtk_widget_show(pMainWindow); - ValueInitialize(); - GraphLoad(szFilename); - gtk_main(); - break; - - case ACTION_GENERATE: - pMainWindow = create_MainWindow(); - gtk_widget_hide(pMainWindow); - GraphLoad(szFilename); - if (!strcmp(Graph.szViewer, VIEWER_GWAVE)) - { - pString = StringCreate(); - StringCopy(&pString, Graph.szFileName); - StringCat(&pString, ".gw"); - Export2Gwave(pString); - StringDestroy(&pString); - } - break; - - case ACTION_DISPLAY: - if (!strcmp(Graph.szViewer, VIEWER_GWAVE)) - { - GraphLoad(szFilename); - /*...*/ - } - break; - - case ACTION_IMPORT: - break; - - case ACTION_EXPORT: - pMainWindow = create_MainWindow(); - gtk_widget_hide(pMainWindow); - GraphLoad(szFilename); - if (!strcmp(szFilter, VIEWER_GWAVE)) - { - Export2Gwave(szExtFilename); - } - break; - } - - StringDestroy(&szFilename); - StringDestroy(&szExtFilename); - StringDestroy(&szFilter); - - - return 0; -} - - - -/******************************************************************************** - - User error handling - -********************************************************************************/ - -void Error(const char *szErrorString) -{ - fprintf(stderr, "ERROR ! %s\n", szErrorString); -} - - - -/******************************************************************************* - - Fatal error handling - - Function prints a message on a console, displayes a message box - and exits the program. - -*******************************************************************************/ - -void FatalError(const char *szFile, const int iLine, const char *szDate) -{ - char szMessage[256]; - - sprintf(szMessage, "FATAL ERROR !\n\tFile: %s\n\tLine: %i\n\tDate: %s", szFile, iLine, szDate); - fprintf(stderr, "%s\n", szMessage); - - _exit(-1); -} diff --git a/geda/graphman/msg.h b/geda/graphman/msg.h deleted file mode 100644 index 77f545820..000000000 --- a/geda/graphman/msg.h +++ /dev/null @@ -1,64 +0,0 @@ -/*******************************************************************************/ -/* */ -/* gEDA Suite Project Manager */ -/* */ -/* Copyright (C) 2002 Piotr Miarecki, sp9rve@radioam.net */ -/* */ -/* 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 version 2. */ -/* */ -/* 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, email to the author */ -/* */ -/*******************************************************************************/ - -#ifndef __MSG_H_INCLUDED -#define __MSG_H_INCLUDED - - - -/* error messages displayed in stderr */ -#define MSG_TOO_MANY_PARAMETERS "Too many parameters" -#define MSG_WRONG_PARAMETER "Wrong parameter" -#define MSG_MISSING_PARAMETER "Missing parameter" -#define MSG_UNKNOWN_OPTION "Unknown option" -#define MSG_FILENAME_NOT_SPECIFIED "Graph filename not specified" -#define MSG_ACTION_NOT_SELECTED "Action not specified" -#define MSG_FILTER_NOT_SPECIFIED "Import/Export filter not specified" -#define MSG_CANNOT_CREATE_FILE "Cannot create file" -#define MSG_CANNOT_OPEN_FILE "Cannot open file" -#define MSG_WRONG_FILE "File is wrong" - -/* color names */ -#define MSG_WHITE "White" -#define MSG_BLACK "Black" -#define MSG_YELLOW "Yellow" -#define MSG_RED "Red" -#define MSG_BLUE "Blue" -#define MSG_GREEN "Green" -#define MSG_ORANGE "Orange" -#define MSG_MAGENTA "Magenta" - -/* style names */ -#define MSG_SOLID "Solid" - -/* scale names */ -#define MSG_LIN "Linear" -#define MSG_LOG "Logarithmic" - -/* viewer names */ -#define MSG_GWAVE "GNU GWave" - -/* identifier of checked boxes */ -#define MSG_CHECKED "Checked" -#define MSG_UNCHECKED "Unchecked" - - - -#endif /* __MSG_H_INCLUDED */ diff --git a/geda/graphman/msgbox.c b/geda/graphman/msgbox.c deleted file mode 100644 index 98f81ed56..000000000 --- a/geda/graphman/msgbox.c +++ /dev/null @@ -1,1472 +0,0 @@ -/* $Id$ */ - -/*******************************************************************************/ -/* */ -/* Message box */ -/* Copyright (C) 2002 Piotr Miarecki, sp9rve@eter.ariadna.pl */ -/* */ -/* 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 version 2. */ -/* */ -/* This program is distributed in the hope that it will be useful, */ -/* but WITHOUT ANY WARRANTY; without even the implied warranty of */ -/* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the */ -/* GNU General Public License for more details. */ -/* */ -/* You should have received a copy of the GNU General Public License */ -/* along with this program; if not, write to the Free Software */ -/* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ -/* */ -/*******************************************************************************/ - -#ifdef HAVE_CONFIG_H -#include "config.h" -#endif - -#include -#include - -#ifdef HAVE_STRING_H -#include -#endif - -#include "msgbox.h" - - - -#if (HAS_GTK22 == 1) -#define DIALOG_MODE GTK_DIALOG_MODAL -#else -#define DIALOG_MODE GTK_WINDOW_DIALOG -#endif - - - -/* - Additional message button defines used only locally -*/ - -#define MSGBOX_MAXBUTTONS 4 -#define MSGBOX_BTN_WIDTH 96 -#define MSGBOX_BTN_HEIGHT 32 -#define MSGBOX_BTN_BORDER 8 - -#define MSGBOX_GOING 1 -#define MSGBOX_DONE 2 -#define MSGBOX_CANCELED 3 - -#define MSGBOX_NOTSELECTED 0x0000FFFFL - - - -/* - Private functions and variables -*/ - -static void MsgBoxCreate(void); -static void MsgBoxButtonClicked(GtkButton *pButtonClicked, gpointer pUserData); - -static GtkWindow *pParentWindow, *pWindow = NULL; -static unsigned long dwFlags; -static char *szTitle, *szMessage; -static int iNumber = 0; - -static char szButton[8][32] = { - "Ok", - "Cancel", - "Yes", - "No", - "Always Ok", - "Always Cancel", - "Always Yes", - "Always No" -}; - -static GtkButton *pButton[MSGBOX_MAXBUTTONS]; -static int iButton[MSGBOX_MAXBUTTONS]; -static int iMsgBoxStatus; -static int iMsgBoxSelection = -1; -static char *szXpmError[], *szXpmWarning[], *szXpmQuestion[], *szXpmMessage[]; - - - -/* - Public functions -*/ - -int MsgBox(const GtkWindow *pArgParentWindow, const char *szArgTitle, const char *szArgMessage, const unsigned long dwArgFlags) -{ - int i; - - /* error if a window already displayed */ - if (pWindow != NULL) - return MSGBOX_WAIT; - - /* save args for recreating the window */ - pParentWindow = GTK_WINDOW(pArgParentWindow); - dwFlags = dwArgFlags; - szTitle = (char *) malloc(strlen(szArgTitle) + 1); - strcpy(szTitle, szArgTitle); - szMessage = (char *) malloc(strlen(szArgMessage) + 1); - strcpy(szMessage, szArgMessage); - - /* count buttons */ - for (iNumber = 0, i = 0; (1L << i) < MSGBOX__LAST; i ++) - { - if ((dwFlags & (1L << i)) == (1L << i)) - iNumber ++; - } - - /* create message box */ - MsgBoxCreate(); - - /* wait until selection is done (one or more buttons case) */ - if (iNumber > 0) - { - iMsgBoxStatus = MSGBOX_GOING; - while (iMsgBoxStatus == MSGBOX_GOING) - while (g_main_iteration(FALSE)) ; - - MsgBoxDestroy(); - } - - /* return selection */ - return (iNumber > 0) - ? iMsgBoxSelection - : MSGBOX_WAIT; -} - - - -void MsgBoxDestroy(void) -{ - if (pWindow == NULL) - return; - - /* destroy widgets */ - iMsgBoxStatus = MSGBOX_DONE; - gtk_widget_destroy(GTK_WIDGET(pWindow)); - while (g_main_iteration(FALSE)) ; - - /* free memory */ - pWindow = NULL; - free(szTitle); - free(szMessage); -} - - - -/* - Private functions and variables -*/ - -static void MsgBoxButtonClicked(GtkButton *pButtonClicked, gpointer pUserData) -{ - int i; - - /* do not execute if destroying by MsgBoxDestroy() */ - if (iMsgBoxStatus != MSGBOX_GOING) - return; - - /* look for the pressed button */ - for (i = 0; i < iNumber; i ++) - if (pButtonClicked == pButton[i]) - break; - - /* a button pressed, end the loop in MsgBox() */ - if (i != iNumber) - { - iMsgBoxSelection = iButton[i]; - iMsgBoxStatus = MSGBOX_DONE; - } - - /* no button pressed */ - else - { - /* recreate window */ - while (g_main_iteration(FALSE)) ; /* old window is being removed */ - MsgBoxCreate(); - } -} - - - -static void MsgBoxCreate(void) -{ - GdkBitmap *pMask; - GdkPixmap *pGdkPixmap; - GtkLabel *pLabel; - GtkPixmap *pPixmap; - GtkStyle *pStyle; - GtkHBox *pHBox, *pHBoxButtons; - GtkVBox *pVBox, *pVBoxLeft, *pVBoxRight; - unsigned long f; - int iDefault = -1, i, iWidth, iHeight, iX, iY, iW, iH; - char **szXpm; - - /* create buttons */ - for (iNumber = 0, i = 0; (1L << i) < MSGBOX__LAST; i ++) - { - if ((dwFlags & (1L << i)) == (1L << i)) - { - pButton[iNumber] = GTK_BUTTON(gtk_button_new_with_label(szButton[i])); - iButton[iNumber] = (1 << i); - - GTK_WIDGET_SET_FLAGS(pButton[iNumber], GTK_CAN_DEFAULT); - - f = 0x80000000L | ((unsigned long)i << 24); - if ((dwFlags & f) == f) - iDefault = iNumber; - - iNumber ++; - } - } - - /* create window */ - pWindow = GTK_WINDOW(gtk_window_new(DIALOG_MODE)); - iWidth = (iNumber > 3 ? iNumber : 4) * (MSGBOX_BTN_WIDTH + 2 * MSGBOX_BTN_BORDER); - iHeight = 150 - (iNumber == 0 ? MSGBOX_BTN_HEIGHT + 2 * MSGBOX_BTN_BORDER : 0); - gtk_widget_set_usize(GTK_WIDGET(pWindow), iWidth, iHeight); - gtk_window_set_modal(GTK_WINDOW(pWindow), TRUE); - gtk_window_set_position(GTK_WINDOW(pWindow), GTK_WIN_POS_MOUSE); - gtk_window_set_transient_for(GTK_WINDOW(pWindow), GTK_WINDOW(pParentWindow)); - gtk_window_set_title(GTK_WINDOW(pWindow), szTitle); - gtk_window_set_policy(GTK_WINDOW(pWindow), FALSE, FALSE, FALSE); - gtk_widget_show(GTK_WIDGET(pWindow)); - while (g_main_iteration(FALSE)) ; - gdk_window_get_size(GTK_WIDGET(pParentWindow)->window, &iW, &iH); - gdk_window_get_position(GTK_WIDGET(pParentWindow)->window, &iX, &iY); - gdk_window_move( - GTK_WIDGET(pWindow)->window, - iX + (iWidth >= iW ? iWidth - iW : iW - iWidth) / 2, - iY + (iHeight >= iH ? iHeight - iH : iH - iHeight) /2 - ); - - /* create vertical container */ - pVBox = GTK_VBOX(gtk_vbox_new(FALSE, 0)); - gtk_container_add(GTK_CONTAINER(pWindow), GTK_WIDGET(pVBox)); - - /* create horizontal container */ - pHBox = GTK_HBOX(gtk_hbox_new(FALSE, 0)); - gtk_box_pack_start(GTK_BOX(pVBox), GTK_WIDGET(pHBox), TRUE, TRUE, MSGBOX_BTN_BORDER); - - /* create picture */ - if (dwFlags & MSGBOX_FATAL) - szXpm = szXpmError; - if (dwFlags & MSGBOX_ERROR) - szXpm = szXpmError; - else if (dwFlags & MSGBOX_WARNING) - szXpm = szXpmWarning; - else if (dwFlags & MSGBOX_QUESTION) - szXpm = szXpmQuestion; - else - szXpm = szXpmMessage; - pStyle = gtk_widget_get_style(GTK_WIDGET(pParentWindow)); - pGdkPixmap = gdk_pixmap_create_from_xpm_d( - GTK_WIDGET(pParentWindow)->window, - &pMask, - &pStyle->bg[GTK_STATE_NORMAL], - (gchar **) szXpm - ); - pPixmap = GTK_PIXMAP(gtk_pixmap_new(pGdkPixmap, pMask)); - gtk_box_pack_start(GTK_BOX(pHBox), GTK_WIDGET(pPixmap), FALSE, FALSE, 0); - gtk_pixmap_set(pPixmap, pGdkPixmap, pMask); - gtk_widget_set_usize(GTK_WIDGET(pPixmap), MSGBOX_BTN_WIDTH, -2); - - /* create message label */ - pLabel = GTK_LABEL(gtk_label_new(szMessage)); - gtk_label_set_line_wrap(pLabel, TRUE); - gtk_label_set_justify(GTK_LABEL(pLabel), GTK_JUSTIFY_LEFT); - gtk_label_set_line_wrap(GTK_LABEL(pLabel), TRUE); - gtk_box_pack_start(GTK_BOX(pHBox), GTK_WIDGET(pLabel), FALSE, TRUE, 0); - - /* create area for buttons */ - pHBoxButtons = GTK_HBOX(gtk_hbox_new(FALSE, 0)); - gtk_widget_set_usize(GTK_WIDGET(pHBoxButtons), -2, MSGBOX_BTN_HEIGHT); - gtk_box_pack_start(GTK_BOX(pVBox), GTK_WIDGET(pHBoxButtons), FALSE, FALSE, MSGBOX_BTN_BORDER); - - /* place buttons */ - pVBoxLeft = GTK_VBOX(gtk_vbox_new(FALSE, 0)); - gtk_box_pack_start(GTK_BOX(pHBoxButtons), GTK_WIDGET(pVBoxLeft), TRUE, TRUE, 0); - for (i = 0; i < iNumber; i ++) - { - gtk_widget_set_usize(GTK_WIDGET(pButton[i]), MSGBOX_BTN_WIDTH + 2 * MSGBOX_BTN_BORDER, MSGBOX_BTN_HEIGHT + 2 * MSGBOX_BTN_BORDER); - gtk_signal_connect_object(GTK_OBJECT(pButton[i]), "clicked", GTK_SIGNAL_FUNC(MsgBoxButtonClicked), GTK_OBJECT(pButton[i])); - gtk_box_pack_start(GTK_BOX(pHBoxButtons), GTK_WIDGET(pButton[i]), FALSE, FALSE, 0); - gtk_container_set_border_width(GTK_CONTAINER(pButton[i]), 0); - } - pVBoxRight = GTK_VBOX(gtk_vbox_new(FALSE, 0)); - gtk_box_pack_start(GTK_BOX(pHBoxButtons), GTK_WIDGET(pVBoxRight), TRUE, TRUE, 0); - - /* default button */ - if (iDefault != -1) - { - gtk_widget_grab_focus(GTK_WIDGET(pButton[iDefault])); - gtk_widget_grab_default(GTK_WIDGET(pButton[iDefault])); - } - - /* rest */ - gtk_widget_show_all(GTK_WIDGET(pWindow)); - gtk_signal_connect_object_after(GTK_OBJECT(pWindow), "delete-event", GTK_SIGNAL_FUNC(MsgBoxButtonClicked), GTK_OBJECT(pWindow)); - while (g_main_iteration(FALSE)) ; -} - - - -/* - Pixmaps derived from gnome-libs package. - See http://www.gnome.org -*/ - -static char *szXpmError[]={ -"48 48 395 2", -"Qt c None", -"dS c #33100e", -"eh c #36120f", -"dI c #361210", -"e# c #401512", -"cP c #4e1915", -"dk c #4e1a16", -"bI c #581b16", -"ei c #581c17", -"eg c #5c1e1a", -"dZ c #5c1f1b", -"dv c #66221d", -"e. c #6b241e", -"cx c #6c221d", -"dR c #6d241f", -"dB c #722620", -"c4 c #752620", -"dH c #772822", -"ap c #7d231c", -"ch c #7f2821", -"ea c #81261e", -"d9 c #832b24", -"dY c #832c25", -"ef c #842a24", -"d0 c #85251c", -"cX c #87281e", -"aF c #88281f", -"b7 c #892b24", -"cY c #8a291f", -"eb c #8b2921", -"cO c #8b2c26", -"#U c #8c271d", -"dQ c #8d2e28", -"dD c #8f2a22", -"ec c #8f2b23", -"du c #8f2f28", -"dj c #8f3832", -"ai c #902419", -"cF c #902a1f", -"a6 c #902b22", -"ee c #902d26", -"dL c #90362f", -"d1 c #912920", -"bV c #912d25", -"ah c #922519", -"ay c #92251b", -"d8 c #933028", -"#X c #941f12", -"#2 c #942417", -"bH c #942d25", -"ed c #942e26", -"dX c #943029", -"dA c #94302a", -".s c #952011", -"cB c #95261b", -"bi c #952c23", -"cw c #953028", -".r c #961f11", -".S c #962011", -"#L c #962417", -"#3 c #962418", -"dT c #96291f", -"a# c #962920", -"bu c #962e24", -"dF c #963028", -"dG c #963029", -"d2 c #972c22", -"de c #972d25", -"dq c #972e26", -"dy c #972f27", -"ad c #981f11", -"cA c #98271b", -"cH c #982d23", -"cZ c #982d24", -"dE c #982e25", -"dM c #982e26", -"c3 c #983129", -"#u c #992416", -"ax c #99271b", -"cS c #99281c", -"#E c #99291e", -"co c #992b20", -"cq c #992c21", -"cr c #992c22", -"cl c #9a261b", -"cU c #9a291e", -"c7 c #9a2a1e", -"cn c #9a2b1f", -"dc c #9a2c23", -"cg c #9a3029", -"d7 c #9a312a", -"dP c #9a322a", -".6 c #9b2013", -"#l c #9b281c", -"az c #9b281d", -"dJ c #9b2a1f", -"ao c #9b2c21", -"at c #9c2112", -"#t c #9c2316", -"#M c #9c2518", -"ck c #9c271b", -"d# c #9c2c21", -"ct c #9c2d23", -"d3 c #9c2d24", -"c0 c #9c2f26", -"dz c #9c322a", -"#e c #9d2214", -"ae c #9d2314", -"aj c #9d271b", -"dU c #9d2b21", -"dp c #9d2e23", -"dd c #9d2f25", -"cJ c #9d2f26", -"df c #9d3027", -"cv c #9d3129", -"d6 c #9d3229", -"cN c #9d322a", -"dO c #9d332a", -"dt c #9d332b", -"dW c #9d3a32", -"cT c #9e291f", -"#o c #9e2a1e", -"#T c #9e2a20", -"#Y c #9e2e20", -"bG c #9e3026", -"bU c #9e3027", -"d4 c #9e3127", -"b6 c #9e3128", -"dg c #9e3129", -"ds c #9e3229", -".F c #9f2112", -"cC c #9f291e", -"da c #9f2d23", -"dV c #9f2e23", -"a5 c #9f2e24", -"bh c #9f2f25", -"bt c #9f2f26", -"cK c #9f3026", -"c1 c #9f3128", -"dr c #9f322a", -"cM c #9f332a", -"dh c #9f332b", -"dC c #9f3930", -"di c #9f3e36", -".T c #a02214", -"#f c #a02416", -"#K c #a02518", -"#C c #a02a1f", -"#D c #a02a20", -"#S c #a02b20", -"#9 c #a02c20", -"a. c #a02c21", -"an c #a02d22", -"do c #a02d23", -"aE c #a02e23", -"cs c #a02e24", -"cI c #a02f25", -"bT c #a03127", -"b5 c #a03128", -"cf c #a03229", -"dN c #a0322a", -"#4 c #a1281c", -"#m c #a1291d", -"#n c #a1291e", -"dw c #a12a1f", -"a4 c #a12d22", -"aD c #a12f22", -"db c #a12f24", -"bg c #a12f25", -"bs c #a13026", -"bF c #a13027", -"d. c #a1372d", -".t c #a22314", -"#v c #a22618", -".W c #a2271a", -"cR c #a2271b", -"#. c #a2281c", -"aw c #a2291c", -"c8 c #a22b20", -"aA c #a22d21", -"am c #a22d22", -"cp c #a22e23", -"cW c #a22e24", -"cG c #a22f24", -"cV c #a2362c", -"dK c #a23b32", -"d5 c #a23d35", -"c2 c #a23e36", -".G c #a32313", -".J c #a32518", -"cj c #a32618", -"#1 c #a3271a", -"ag c #a3281b", -"#Q c #a32b1f", -"#R c #a32c20", -"#8 c #a32c21", -"cE c #a32d21", -"c9 c #a3382e", -"ac c #a42212", -".5 c #a42313", -"#d c #a42415", -"#k c #a4291c", -"dm c #a4291d", -"## c #a42a1d", -"#A c #a42a1e", -"#B c #a42b1e", -"#5 c #a42b1f", -".q c #a52212", -"#g c #a52516", -"#h c #a52719", -"#w c #a5271a", -".9 c #a5281a", -".X c #a5281b", -".Y c #a5291b", -"#N c #a5291c", -"cu c #a53d34", -"cL c #a53e35", -".E c #a62212", -"as c #a62213", -".7 c #a62517", -".I c #a62617", -".V c #a62618", -".K c #a62718", -".L c #a62719", -"cD c #a6362b", -"dx c #a63b31", -".R c #a72212", -"#c c #a72414", -".H c #a72415", -".u c #a72516", -".U c #a72517", -"aB c #a7392f", -"dn c #a73a2f", -".3 c #a82211", -".p c #a82212", -".D c #a82312", -".4 c #a82313", -"#b c #a82314", -"#W c #a82414", -".M c #a8291b", -"c6 c #a8291c", -".Z c #a82a1d", -"#6 c #a8372c", -"#7 c #a8382d", -"ak c #a8382e", -"al c #a8392e", -".2 c #a92110", -".Q c #a92111", -".C c #a92211", -"aH c #a92413", -".v c #a92718", -"#I c #a92f20", -"#y c #a93529", -"#z c #a9362a", -"#O c #a9362b", -"#P c #a9372b", -"cm c #a9372c", -"aC c #a93f2f", -"#H c #aa2f20", -"af c #aa3326", -"au c #aa3327", -"#i c #aa3427", -"#j c #aa3428", -"#x c #aa3529", -".o c #ab2313", -".w c #ab2719", -"cz c #ab281a", -"#Z c #ab3224", -"#0 c #ab3225", -".8 c #ab3326", -".B c #ac2211", -"#r c #ac3021", -"#s c #ac3022", -"#J c #ac3123", -"cQ c #ad291b", -".N c #ad2a1b", -"dl c #ad2b1d", -"#V c #ae2212", -".n c #ae2312", -"ar c #af2413", -"av c #af3f33", -".A c #b12311", -".g c #b12615", -"bJ c #b12617", -"bW c #b12718", -".f c #b22514", -".1 c #b32310", -".m c #b32311", -".x c #b32a1a", -".h c #b42717", -"c5 c #b42c1d", -".e c #b52514", -"bj c #b52615", -"#q c #b62412", -"b8 c #b62819", -".P c #b92311", -".d c #ba2614", -"ci c #ba2b1a", -"ab c #bb2513", -".i c #bc2a18", -"a7 c #bd2716", -"#G c #be2512", -"a3 c #c1782e", -"ce c #c18138", -".z c #c32512", -".l c #c32613", -".c c #c32714", -"bE c #c49c3a", -"bD c #c59c39", -".j c #c62c1a", -"aG c #c72816", -"cy c #c72e1d", -"bC c #c79d37", -"aZ c #c89b30", -"bZ c #ca9e34", -"c# c #cb9d31", -"cb c #cba037", -"bX c #cc9d30", -"bN c #cc9f32", -"b9 c #cd8622", -"b0 c #cfa337", -"cc c #cfa338", -"b3 c #cfa53e", -"b4 c #cfa540", -".0 c #d02813", -"bz c #d0a131", -"bR c #d0a53d", -"bS c #d0a53f", -"bn c #d1a230", -"a0 c #d1a333", -"bY c #d1a436", -"ca c #d1a437", -"br c #d1a53c", -"aY c #d2a332", -"bO c #d2a435", -"bd c #d2a436", -"bf c #d2a539", -"cd c #d2aa48", -".b c #d32914", -"by c #d3a332", -"bM c #d3a433", -"a2 c #d3a638", -"be c #d3a63a", -"b2 c #d3aa47", -"aI c #d48d1d", -"a1 c #d4a637", -"b1 c #d4aa44", -"#a c #d52913", -"bA c #d5a533", -"bc c #d5a634", -"bm c #d5a82e", -"bQ c #d5ab43", -"bq c #d6a735", -"bP c #d6ab42", -"bb c #d7a734", -".O c #d82914", -"aX c #d8a733", -"bB c #d8ac40", -"aV c #d9a832", -"bo c #d9ab3e", -"aW c #d9ac32", -"bl c #daa82f", -"aU c #daac2f", -"bp c #daac3f", -"b. c #daae39", -"a9 c #dbac2e", -"ba c #dbad3e", -"b# c #dbaf3a", -"a8 c #dcad2d", -"c. c #dcb03b", -".k c #dd2a14", -"aq c #dd2d17", -"aP c #dda82a", -"aQ c #ddac2a", -"aT c #ddb03a", -"aO c #dead29", -"aR c #deb139", -"bK c #dfad36", -"aN c #dfae28", -"bL c #dfb036", -"bx c #dfb135", -"aS c #dfb445", -"aM c #e0ad25", -"bw c #e0b234", -"aL c #e1ae24", -"#p c #e22b15", -"bk c #e2b232", -"aK c #e3af22", -"aJ c #e4af21", -".y c #eb2d14", -".a c #ed2e17", -".# c #ee301a", -"bv c #ee321b", -"aa c #fa3118", -"#F c #fc3017", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.#QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.a.b.c.d.e.f.f.g.h.i.jQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.k.l.m.n.o.p.q.r.s.t.u.u.v.w.xQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQt.y.z.A.B.C.p.D.E.F.G.H.u.u.I.J.K.L.M.NQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQt.O.P.B.Q.C.p.R.E.S.T.H.u.U.I.V.L.L.W.X.Y.ZQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQt.0.1.2.Q.3.p.4.4.5.6.5.u.7.I.V.8.8.9.X.Y#.####QtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQt#a.A.2.C.p.p.4#b#c.H#d#e#f#g.V.L#h#i#j.Y#k#l#m#n#oQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQt#p#q.2.C.p.D.4#b#r#s.u.u#g#t#u#v#w.9.X#x#y#z#A#B#C#D#EQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQt#F#G.B.C.p.D.4#H#I.H#J#J.I.V.K#K#L#M.X#N#k###O#P#Q#R#S#T#UQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQt.b#V.3.p.4.4#W#X#Y#J.U#Z#0.L.L.9#1#2#3#4###A#5#6#7#8#9a.a#QtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtaaab.3.pacad#c.Hae.u.7#Z#0.8af.9.X.Yagahaiaj#5#Q#RakalamanaoapQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtaqar.R.4asat.H.u.u.I.V.V.8auav#j#N#k##awaxayaz#R#8aAaBaCaDaEaFQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtaGaHaIaJaJaKaLaLaMaNaNaOaPaQaRaSaTaUaVaWaXaYaZa0a1a1a2a3a4a5a6QtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQta7.4aJaKaKaLaLaMaNaNaOaQaQa8a9b.b#baaWaXbbbbbcbda1a2bebfbgbhbiQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtbj#caKaKaLbkaMaNaOaOaQa8a8a9blbmbnbobpbbbqbqa1a2a2bebrbrbsbtbuQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtbv.g.HaKaLaMaMbwbxaOaQa8a8a9aUaUaVbybzbAbBbBa1a2a2bCbDbDbEbFbGbHbIQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtbJ.uaLaMaNaNaObKbLa8a9a9aUaVaWaXbbbMbNbObPbQbQbebrbrbRbSbTbUbVQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtbW.uaMaNaNaOaQaQaRaTa9aUaVaWbXbbbbbqbYbZb0beb1b2bRbRb3b4b5b6b7QtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtb8.Ib9aOaOaQaQa8a9aTc.aVaWaXc#c#bqa1a1cacbccbrcdcdb3b4cecfcgchQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtci.Vcj.L.9.X.Yckcl###Ocm#Q#R#8cncocpcqcrcsctbhbFbTcucfcfcvcwcxQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtcycz#h.9.X.Y#k##cAcBcCcD#R#8cEamcFcFcGcHbgcIcJcKb5cfcLcMcNcOcPQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtcQ.9cR#N#k###A#BcScTcUcVa.amcpcWcXcYcZcZbFcKc0c1cfcMc2c3c4QtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtc5c6#N#k###A#B#Q#Rc7c8c9d.d#dadbdcddbsdeb5b5dfdgcMdhdidjdkQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtdldm#m#A#B#Q#R#RcncoamdndodpcsbsbsbTdqdqcfdrdsdhdtdudvQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQt###ndw#Q#R#8cEamcqcqcWdxbgbsbFbTb5cfdydrdhdhdzdAdBQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQt#C#C#S#8cEamcpcpcGbgdxdCdDdEb5cfcfdFdGdhdtdAdHdIQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtdJ#Sa.a.cpcWdbbgbscZdKdLdMcfdNcMdhdOdPdQdRdSQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtdTdUandodVbgbsbsbTdqdWcLdrcMcNdPdXdYdZQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtd0d1d2d3bhbhbGbUd4b6d5d6d7d8d9e.e#QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQteaebecbHededeecOefc4egehQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtbIeicPQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt"}; - -static char *szXpmWarning[]={ -"48 48 186 2", -"Qt c None", -"#a c #000000", -".6 c #010000", -".Q c #010100", -"ac c #020100", -".Z c #020200", -".5 c #030100", -"#b c #040300", -"#F c #050400", -".X c #070400", -"#z c #090700", -"aj c #090701", -"#H c #0a0800", -"#A c #0b0900", -".R c #0e0b00", -"#G c #100d01", -".Y c #130f00", -"#L c #130f01", -"#S c #151001", -".7 c #191300", -"#h c #1d1602", -"#s c #1e1702", -"#6 c #241c03", -"## c #251d02", -"#t c #251d03", -"#g c #271e02", -"#c c #292003", -".4 c #2c2303", -"#Y c #312604", -"ar c #312605", -"#I c #332704", -"#Q c #382c05", -"ai c #3c2e05", -"#m c #403104", -".S c #403105", -"#u c #413206", -"#i c #423305", -"#n c #453506", -"ab c #4b3a07", -"a3 c #4d100c", -"#l c #4e3d06", -"#R c #513f07", -"#M c #524007", -"aS c #571109", -"aT c #5d110b", -"aU c #60120b", -"#X c #675009", -"ad c #69520a", -"aL c #6a130b", -"aV c #6e150c", -"aM c #6f140b", -"#T c #71570a", -"aW c #73160e", -"a2 c #731711", -"ak c #745a0c", -"aN c #78150c", -"aH c #781812", -"#P c #7a1710", -".W c #7a6109", -"ag c #7b1912", -"as c #7c610c", -"aX c #801810", -"a1 c #801a13", -"a0 c #851b14", -"aO c #86180d", -"#D c #861910", -"aZ c #861b13", -"#3 c #871b12", -"aY c #881a11", -"#q c #891a11", -".i c #8a180c", -"aP c #8a190f", -"aK c #8b1c15", -"am c #8c1c14", -"#V c #8d1b12", -"#e c #8f1b10", -".L c #901a0f", -".C c #911a0f", -".s c #921a0e", -"aQ c #931b10", -"a. c #971e15", -"#K c #981d14", -"aR c #981f17", -"#w c #991d13", -"af c #991f16", -".m c #9a1c0f", -"#1 c #9a1f15", -".e c #9b1b0e", -"#O c #9b1e14", -"aJ c #9b1f17", -"#C c #9c1e13", -"al c #9c1f16", -".9 c #9d1e12", -"#2 c #9d1f15", -".U c #9e1d11", -"#N c #9e1e14", -".B c #9f1d10", -"#v c #9f1e13", -".r c #a01d0f", -"#d c #a01e12", -".d c #a11c0e", -".E c #a11d10", -".T c #a11d11", -"#y c #a21d0f", -".F c #a21d10", -".y c #a31c0e", -".q c #a31d0f", -".h c #a41c0e", -".u c #a61d0f", -".c c #a71d0e", -".a c #a91d0f", -"aG c #ab4216", -".l c #b14010", -".2 c #b21f10", -".g c #b31f0f", -"#4 c #b62111", -".x c #b72010", -".k c #b9200f", -"aw c #b95b13", -".I c #b9930e", -".N c #ba2010", -".o c #bb5b11", -"#j c #bd2111", -"#W c #bd9312", -"av c #bf2212", -"au c #bf6f16", -"#9 c #c16916", -"ax c #c16f14", -".p c #c26f12", -".P c #c39b0f", -"#7 c #c49813", -".D c #c56b12", -"aF c #c57e16", -"ay c #c77e14", -"#Z c #c79a14", -"#. c #c82312", -"ao c #c87e14", -"ae c #c98517", -".n c #ca2310", -"#0 c #cb8617", -"az c #cb8914", -"#5 c #cb9e13", -"#p c #cc8614", -"#B c #cc8615", -"aI c #cd2513", -".0 c #cd8713", -".K c #cf8812", -"aa c #cf8c12", -"#k c #d08c13", -".V c #d12412", -".O c #d18912", -".# c #d22411", -"a# c #d22614", -".A c #d28814", -"#E c #d42513", -".b c #d52511", -"at c #d7a816", -"#8 c #d7a81a", -"an c #d82715", -"aE c #d8a51c", -"#U c #d8a919", -"aD c #d8a91a", -"#r c #d92613", -"aC c #d9aa19", -"aA c #daaa16", -"#J c #daaa17", -".t c #db2612", -"#o c #dbaa16", -"aB c #dbab17", -"#f c #dc2613", -".8 c #dcab15", -".H c #dcae11", -".G c #de2612", -".J c #deac13", -"aq c #dfad13", -".w c #dfb112", -".f c #e02712", -".v c #e0ad11", -"ap c #e0ae14", -".3 c #e0b213", -".z c #e1ae12", -".1 c #e82814", -"#x c #ea2915", -".j c #ec2913", -"ah c #ec2a16", -".M c #ef2914", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.#.aQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.b.c.d.eQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.f.g.h.h.d.iQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.j.k.h.h.l.h.mQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.n.h.h.o.p.q.r.sQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.t.u.h.h.v.w.q.q.rQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.j.x.h.y.z.w.w.A.q.B.CQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.n.h.h.D.w.w.w.w.E.F.BQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.G.u.h.h.v.H.I.H.J.K.F.B.LQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.M.N.h.h.O.P.Q.R.S.J.J.F.T.UQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.V.h.h.h.w.W.X.Y.Z.J.J.0.T.U.LQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.1.2.h.h.3.w.4.5.6.7.J.J.8.T.T.9QtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt#..h.h.A.w.w###a#b#c.J.8.8.0#d.9#eQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt#f.u.h.q.w.w.w#g#a#h#i.8.8.8.8#d#d.9QtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt#j.h.h#k.w.w.J#l#a#m#n.8.8.8#o#p#d.9#qQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQt#r.u.h.q.w.w.w.J#s.Q#t#u.8.8#o#o#o#d#v#wQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQt#x.x.h#y.3.w.w.J.J#z.Q#A#t.8#o#o#o#o#B#v#C#DQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQt#E.h.q.A.w.w.J.J.J#F#G#H#I#o#o#o#o#J#J#v#v#KQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQt#x.x.q.q.w.w.J.J.J.J#F#L#b#M#o#o#o#J#J#J#B#N#O#PQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQt#E.q.q#k.w.J.J.J.J.8#Q#R#S#T#o#o#J#J#J#J#U#N#N#VQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQt#x.x.q.q.w.J.J.J.J.8.8#W#X#Y#Z#o#o#J#J#J#U#U#0#N#1QtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQt#E.q.q#k.w.J.J.J.8.8.8.8#o#o#o#o#J#J#J#J#U#U#U#2#1#3QtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQt#x#4.q.q.w.J.J.J.8.8.8.8#5#t#6#7#J#J#J#J#U#U#U#8#9#2a.QtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQta#.q.qaa.J.J.J.J.8.8.8#oabacacad#J#J#J#U#U#U#U#8ae#2afagQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtah#4.q.q.J.J.J.J.8.8.8.8#oai#bajak#J#J#U#U#U#U#8#8#8#2alamQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtan.q.qaoapaq.J.8.8.8.8#o#o#Warasat#J#U#U#U#U#8#8#8#8aualafQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtav.q.F.F.F.F.T.T.TawaxayazaAaBaBaBaCaCaCaCaDaDaDaDaEaFaGafaHQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtaI.q.r.F.F.F.T.T.T.T#d#d#d#d#v#v#v#v#N#N#N#2#2#2#2alalalalaJaKQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtaLaMaNaOaPaQ.U.9#d#d#d#v#v#v#v#N#N#N#2#2#2#2alalalalaJaJaRQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtaSaTaUaVaWaWaWaXaYaYaYaY#3#3#3aZaZaZaZa0a0a1a2a3QtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt"}; - -static char *szXpmQuestion[]={ -"48 48 73 2", -"Qt c None", -".# c #000000", -".Z c #19150d", -"#b c #1a1a1a", -"#d c #221c12", -"#c c #393939", -".G c #654f24", -".T c #6b5527", -".q c #6e5526", -"#g c #705627", -".N c #715929", -"## c #735f3b", -".f c #7c622d", -".3 c #7f6941", -".A c #80632d", -".F c #82662f", -".0 c #876a31", -".K c #8c6d31", -".y c #927335", -"#. c #927c52", -".t c #937435", -".x c #947536", -".4 c #977737", -".S c #997a3b", -".d c #9d7d3a", -".a c #a27f3b", -".C c #a38e55", -".D c #a48b5a", -".e c #a6823c", -"#a c #a68748", -".s c #a8843d", -".u c #aa863e", -".P c #b38d40", -".b c #b89243", -".O c #b99344", -".I c #be9544", -".j c #be9b53", -".7 c #bea272", -".w c #bea363", -".Y c #bfa16a", -".8 c #c09745", -".U c #c39f55", -".B c #c39f57", -".J c #c3a466", -".2 c #c6a76a", -".1 c #c9a45b", -".X c #c9ac73", -"#f c #d2a64c", -".E c #d2a64d", -".L c #d2b06c", -".c c #d8ab4e", -".R c #d8ac58", -".6 c #d8ac5b", -".p c #d8b15f", -".9 c #d8b163", -".5 c #d8b165", -".Q c #d8b56e", -".v c #d8b66e", -".i c #d8ba7b", -".M c #d8be86", -".W c #dab872", -".H c #dcb463", -".V c #dcc494", -"#e c #ddbc74", -".k c #f7c35a", -".z c #f7c96d", -".o c #f7cf7e", -".n c #f7d48c", -".g c #f7d899", -".r c #f7dca5", -".l c #f7dfaf", -".h c #f7e2b8", -".m c #f7e5c0", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.#.#.#.#.#.#.#.#QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.#.#.#.a.b.c.d.e.f.#.#.#QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.#.#.c.g.g.h.g.i.i.i.j.e.#QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.#.#.k.l.m.g.n.k.k.k.o.i.p.e.q.#.#QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.#.k.l.r.k.s.t.t.u.k.k.o.v.p.e.#.#QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQt.#.w.g.h.k.x.#.#.#.#.y.k.k.z.p.p.A.#.#QtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQt.#.z.m.o.x.#.#QtQtQt.#.B.k.o.c.p.e.#.#QtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQt.#.C.n.l.c.#.#QtQtQtQt.#.D.k.z.p.c.e.#.#QtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQt.#.E.o.k.e.#.#QtQtQtQt.#.D.z.z.v.c.F.#.#QtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQt.#.k.o.k.e.#.#QtQtQtQt.#.D.k.v.v.c.G.#.#QtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQt.#.H.p.I.F.#.#QtQtQtQt.#.J.z.i.c.e.#.#.#QtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQt.#.#.#.#.#.#.#QtQtQtQt.K.L.M.p.c.N.#.#QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQt.#.#.#.#.#QtQtQtQt.#.O.n.M.c.I.#.#.#QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.#.P.z.M.c.c.#.#.#QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.#.#.k.n.Q.R.S.#.#QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.T.U.V.W.X.Y.Z.#QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.#.0.L.Q.1.2.3.#QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.#.4.i.5.6.7.#.#QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.#.8.i.9.6#..#QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.#.c.M.p.c##.#QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.#.j.i.c.I.#.#QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.##a#a.e.A.#.#QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.##b#c.#.#.#QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.#.#.#.#QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt#d.#.#.#.#QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.##e.o.n.I.#.#QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.#.o.g.g.c.#.#QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.#.n.n.p.I.#.#QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.#.n.v.c.I.#.#QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.##f.p.I#g.#.#QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.#.#.#.#.#.#QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.#.#.#.#QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt"}; - -static char *szXpmMessage[]={ -"48 48 294 2", -"Qt c None", -"bV c #000000", -"cH c #010101", -"bt c #050504", -"bW c #080807", -"cB c #090908", -"cC c #0b0b09", -"cJ c #0c0c0b", -"bL c #0d0d0a", -"b7 c #0f0f0e", -"cv c #10100e", -"cr c #12120f", -"bb c #121211", -"bG c #131311", -"cA c #141411", -"ca c #141412", -"cq c #161613", -"bu c #161614", -"cI c #1a1a17", -"bq c #1d1d16", -"cx c #20201c", -"cw c #21211d", -"bC c #23231f", -"cs c #2c2c2a", -"bR c #2f2f29", -"cF c #30302f", -"cD c #31312b", -"cE c #33332f", -"ck c #333331", -"bk c #35352e", -"bc c #383526", -"cy c #383837", -"bF c #3d3d35", -"b3 c #42423a", -"co c #434342", -"cj c #44443b", -"cg c #464644", -"bS c #474742", -"b6 c #4b4b44", -"bB c #4d4c47", -"cG c #4e4e45", -"b2 c #4f4f4e", -"bM c #525248", -"cf c #525249", -"bv c #55554e", -"cp c #56564f", -"bA c #585851", -"be c #5a594c", -"bK c #5c5c5b", -"bd c #5f5e59", -"bp c #696964", -"c# c #696968", -"cu c #6b6b6a", -"ci c #6d6d6d", -"c. c #6f6f6f", -"b1 c #70706b", -"bT c #71716f", -"cz c #737373", -"cb c #75756c", -"bU c #757571", -"bJ c #7b7b7a", -"ch c #7f7f7b", -"bw c #8d8d85", -"bH c #8d8d87", -"b8 c #92928d", -"b9 c #929292", -"bX c #96968e", -"bl c #9d9d99", -"ct c #9e9e9a", -"bs c #a99959", -"bf c #a9a077", -"bE c #a9a9a4", -"af c #ab9b5b", -"b5 c #aeaea9", -"br c #b3a05e", -"cl c #b3b3b0", -"b0 c #b3b3b1", -"bm c #b4b4b2", -"aH c #b9a964", -"ce c #b9b9b1", -"bj c #baa864", -"b4 c #bcbcb9", -"#o c #c1ae67", -"bI c #c3c3c1", -"cc c #c3c3c2", -"#2 c #c4b269", -"aU c #c4b36b", -"#A c #c6b36a", -"bD c #c7c7c5", -"a5 c #c9b76d", -"ba c #cab871", -"bz c #cacac4", -"#N c #ccb96e", -"at c #cdbc70", -"bQ c #cfcfc8", -"cn c #cfcfce", -".Z c #d1bc70", -"a4 c #d1bf73", -"a3 c #d1c076", -"bx c #d4d4d1", -"bN c #d7d7d3", -"aG c #d9c577", -"ae c #d9c677", -"b# c #d9c679", -"aT c #dac777", -"aS c #dac87e", -"bo c #dadad8", -"bh c #dbc77c", -"#a c #dbc878", -"bi c #dbc97c", -"aF c #dbc97e", -"a2 c #dccb84", -".L c #dfcb80", -"bY c #dfdfde", -".m c #e2cd7f", -"b. c #e3d186", -"#n c #e4d07e", -"as c #e4d07f", -"#1 c #e4d17e", -".y c #e5d187", -"aE c #e5d48d", -"#z c #e6d27e", -"aR c #e6d68c", -"bg c #e7d180", -"#M c #e7d480", -".Y c #e8d68b", -"aQ c #e9da96", -"ar c #eada91", -".l c #ebdb99", -".d c #ecd78c", -"a# c #ede7ba", -".0 c #eed681", -"a1 c #eedb8b", -"#p c #efd881", -"#b c #efd882", -".n c #efd986", -".o c #efda8e", -"ad c #efdc8b", -".# c #efdd8f", -".K c #efdd92", -".x c #efdd93", -"bn c #efefee", -"cm c #efefef", -"aD c #f0df92", -"cd c #f0f0f0", -"ag c #f1dc86", -"a7 c #f1dfa1", -"## c #f1e08e", -"aP c #f1e195", -"aC c #f1e19b", -"ap c #f1e3a4", -"az c #f1e6ad", -"#3 c #f2dc8a", -"#0 c #f2e090", -"#L c #f2e093", -"a9 c #f2e097", -"aa c #f2e29a", -"aB c #f2e4a1", -"aV c #f3de87", -".M c #f3df8d", -".c c #f3e093", -"#m c #f3e290", -"#y c #f3e295", -"aO c #f3e296", -"a8 c #f3e3a7", -"aN c #f3e4a1", -"#X c #f3e6a3", -"a0 c #f3e6ad", -"ao c #f3e7ad", -"aY c #f3eac1", -".z c #f4de87", -".b c #f4e191", -".a c #f4e298", -"aq c #f4e395", -"aA c #f4e49d", -"#w c #f4e5a0", -".A c #f4e7b2", -"a6 c #f4e7bb", -"aZ c #f4e9c1", -"aM c #f4e9c4", -"#G c #f4eac9", -"#W c #f4eaca", -".e c #f5e190", -".1 c #f5e293", -".X c #f5e391", -"ac c #f5e393", -".k c #f5e49c", -"#I c #f5e7a2", -"a. c #f5e7b2", -"#v c #f5e9c2", -".J c #f6e38f", -"#Z c #f6e493", -"#O c #f6e496", -"#q c #f6e498", -"#c c #f6e499", -"ab c #f6e591", -"#Y c #f6e593", -"#K c #f6e59b", -"ah c #f6e59d", -"#J c #f6e697", -"#l c #f6e6a0", -"an c #f6e7a7", -"#k c #f6ebbe", -"by c #f6f6f6", -".w c #f7e493", -"#. c #f7e58f", -".9 c #f7e691", -"#x c #f7e695", -".N c #f7e69f", -".8 c #f7e7a0", -".f c #f7e7a5", -"#4 c #f7e8a6", -"au c #f7e8a7", -"#P c #f7eaaf", -"#H c #f7ebb1", -".7 c #f7eec3", -"ay c #f7eed9", -"#u c #f7efd0", -"aL c #f7efd8", -"bP c #f7f7f7", -".W c #f8e691", -".I c #f8e791", -".v c #f8e793", -".i c #f8e795", -".j c #f8e796", -".2 c #f8e8a9", -".g c #f8eaae", -".p c #f8eaaf", -"aW c #f8ebb1", -"#V c #f8ecb8", -"am c #f8ecb9", -"#d c #f8edba", -".O c #f8efcf", -"#6 c #f8f1db", -"aK c #f8f1dc", -"#j c #f8f2db", -"#t c #f8f2de", -".V c #f9e89b", -".u c #f9e89e", -".H c #f9e99b", -".h c #f9e9a7", -"aI c #f9ebb1", -"#8 c #f9efcb", -".q c #f9f0c7", -"#h c #f9f1db", -"aX c #f9f2db", -"#F c #f9f4e0", -".Q c #f9f4e2", -"#i c #f9f4e3", -"ak c #f9f4e5", -"ax c #f9f4e6", -"#7 c #f9f4e7", -".B c #f9f5e3", -".5 c #f9f5e4", -"#s c #f9f5e5", -".6 c #f9f5e6", -"#D c #f9f6e5", -"#R c #f9f6e7", -"#E c #f9f6ea", -".t c #faeaa6", -"#9 c #faecaf", -".U c #faedb7", -"#U c #faeebb", -"av c #faf2d2", -"ai c #faf2d3", -".s c #faf3d0", -".G c #faf3da", -"aJ c #faf3db", -"al c #faf3e5", -"#5 c #faf4d9", -".3 c #faf4e1", -".r c #faf5de", -"#e c #faf5e4", -".P c #faf5e5", -"#g c #faf5e6", -".S c #faf5e7", -"#S c #faf5e8", -".C c #faf6e6", -".4 c #faf6e7", -"#r c #faf6e8", -".T c #faf6e9", -"aw c #faf7ea", -"#C c #faf7eb", -".F c #faf8ec", -"#f c #fbf5e6", -".R c #fbf6e7", -"aj c #fbf7ea", -"#Q c #fbf7ec", -"#T c #fbf7ed", -".D c #fbf8ed", -"#B c #fbf8ee", -".E c #fbf9ef", -"bZ c #fbfbfb", -"bO c #fdfdfd", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.#.a.b.c.dQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.e.f.g.h.i.j.k.l.mQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.n.o.p.q.r.s.t.u.v.w.x.yQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.z.A.B.C.D.E.F.G.H.I.J.K.LQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.M.N.O.P.Q.R.S.T.C.U.V.W.X.Y.ZQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.0.1.2.3.4.Q.5.Q.6.S.7.8.9#.###aQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt#b#c#d#e.P#f#g#h#i#j#k#l.W.W#m#n#oQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt#p#q#d.5#r#r#s.Q#t#u#v#w#x#x#y#z#AQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt#p.1#d.S#B#C#D#E#F#G#H#I#J#K#L#M#NQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt#O#P.P#Q#R#S#T#U#V#W#X#Y#Z#0#1#2QtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt#3#4#5#B#6#7#8#9a.a#aaabacadaeafQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtagahaiajakalamanaoapaq.XarasatQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtauavawaxayazaAaBaCaDaEaFaGaHQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtaIaJaKaLaMaNaOaPaQaRaSaTaUQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtaVaWaXaYaZa0aC.#a1a2a3a4a5QtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQta6a7a8a9.#b.b#baQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtbbbcbdbebfQtbgbhbibjQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtbkblbmbnbobpbqQtQtbrbsQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtbtbubvbwbxbybzbAbBQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtbCbDbEbFbGbHbIbJbKbLQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtbMbNbObPbQbRbSbTbUQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtbVbWbRbXbYbZb0b1b2b3QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtbVb4b5b6b7b8b9c.c#caQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtbVcbcccdcdcecfcgchciQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtbVbVcjckclcmcnc#cocpQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtbVcqcrbRcsctc.cubVQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtbVbVcvcwcxcyc#czbVQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtcAcBcqbGcCcDcEcFQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtcGcHcAcIcJQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt"}; diff --git a/geda/graphman/msgbox.h b/geda/graphman/msgbox.h deleted file mode 100644 index 613a98fdb..000000000 --- a/geda/graphman/msgbox.h +++ /dev/null @@ -1,73 +0,0 @@ -/*******************************************************************************/ -/* */ -/* Message box */ -/* Copyright (C) 2002 Piotr Miarecki, sp9rve@eter.ariadna.pl */ -/* */ -/* 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 version 2. */ -/* */ -/* This program is distributed in the hope that it will be useful, */ -/* but WITHOUT ANY WARRANTY; without even the implied warranty of */ -/* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the */ -/* GNU General Public License for more details. */ -/* */ -/* You should have received a copy of the GNU General Public License */ -/* along with this program; if not, write to the Free Software */ -/* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ -/* */ -/*******************************************************************************/ - -#ifndef __MSGBOX_H_INCLUDED -#define __MSGBOX_H_INCLUDED - - - -/* - MsgBox predefined types -*/ - -/* single buttons */ -#define MSGBOX_OK 0x00000001 -#define MSGBOX_CANCEL 0x00000002 -#define MSGBOX_YES 0x00000004 -#define MSGBOX_NO 0x00000008 -#define MSGBOX_ALWAYSOK 0x00000010 -#define MSGBOX_ALWAYSCANCEL 0x00000020 -#define MSGBOX_ALWAYSYES 0x00000040 -#define MSGBOX_ALWAYSNO 0x00000080 -#define MSGBOX_WAIT 0x00008000 -#define MSGBOX__LAST 0x00008000 - -/* single default buttons */ -#define MSGBOX_OKD 0x80000001 -#define MSGBOX_CANCELD 0x81000002 -#define MSGBOX_YESD 0x82000004 -#define MSGBOX_NOD 0x83000008 -#define MSGBOX_ALWAYSOKD 0x84000010 -#define MSGBOX_ALWAYSCANCELD 0x85000020 -#define MSGBOX_ALWAYSYESD 0x86000040 -#define MSGBOX_ALWAYSNOD 0x87000080 - -/* msg box status */ -#define MSGBOX_QUESTION 0x00010000 -#define MSGBOX_MESSAGE 0x00020000 -#define MSGBOX_WARNING 0x00040000 -#define MSGBOX_ERROR 0x00080000 -#define MSGBOX_FATAL 0x00100000 -#define MSGBOX_STATUSMASK 0x00FF0000 - -/* groups of buttons (for compatibility) */ -#define MSGBOX_OKCANCEL (MSGBOX_OK | MSGBOX_CANCEL) -#define MSGBOX_YESNOCANCEL (MSGBOX_YES | MSGBOX_NO | MSGBOX_CANCEL) -#define MSGBOX_ALWAYSYESNO (MSGBOX_YES | MSGBOX_ALWAYSYES | MSGBOX_NO | MSGBOX_ALWAYSNO) - - - -/* public functions */ -int MsgBox(const GtkWindow *pWindow, const char *szTitle, const char *szLabel, const unsigned long dwButtons); -void MsgBoxDestroy(void); - - - -#endif diff --git a/geda/graphman/raw2gw.c b/geda/graphman/raw2gw.c deleted file mode 100644 index 6a31f0f8e..000000000 --- a/geda/graphman/raw2gw.c +++ /dev/null @@ -1,90 +0,0 @@ -/* $Id$ */ - -/*******************************************************************************/ -/* */ -/* gEDA Suite Project Manager */ -/* */ -/* Copyright (C) 2002 Piotr Miarecki, sp9rve@eter.ariadna.pl */ -/* */ -/* 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 version 2. */ -/* */ -/* This program is distributed in the hope that it will be useful, */ -/* but WITHOUT ANY WARRANTY; without even the implied warranty of */ -/* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the */ -/* GNU General Public License for more details. */ -/* */ -/* You should have received a copy of the GNU General Public License */ -/* along with this program; if not, write to the Free Software */ -/* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ -/* */ -/*******************************************************************************/ - -/* - REMEBER !!! This is an obsolete tool, distributed to allow using gmanager. - It will be replaced by graphman - a graphical tool used to manage graphs. - - raw2gw will be removed from distribution in near future !!! -*/ - -#ifdef HAVE_CONFIG_H -#include "config.h" -#endif - -#include -#include - -#ifdef HAVE_UNISTD_H -#include -#endif - - -int main(int iArgn, const char *szArgv[]) -{ - FILE *hFile; - char szDir[MAXPATHLEN]; - - if (iArgn < 2) - return 0; - - /* check if the destination file exists, if yes -> cancel processing */ - hFile = fopen(szArgv[2], "r"); - if (hFile != NULL) - { - fclose(hFile); - return -1; - } - - getcwd(szDir, MAXPATHLEN); - - hFile = fopen(szArgv[2], "w"); - if (hFile == NULL) - return 0; - - fprintf(hFile, "#!gwave -s\n"); - fprintf(hFile, "!#\n"); - fprintf(hFile, "; gwave script\n"); - fprintf(hFile, "(require-n-wavepanels 2)\n"); - fprintf(hFile, "(set! default-measure1-function 5)\n"); - fprintf(hFile, "(let ((df (if script-target-datafile\n"); - fprintf(hFile, " script-target-datafile\n"); - fprintf(hFile, " (find-or-load-wavefile \"%s/%s\"))))\n", szDir, szArgv[1]); - fprintf(hFile, ")\n"); - fprintf(hFile, "(x-zoom! 0.0 0.0)\n"); - fprintf(hFile, "(wtable-set-xlogscale! #f)\n"); - fprintf(hFile, "(set! default-wavepanel-type 0)\n"); - fprintf(hFile, "(gtk-tooltips-enable gwave-tooltips)\n"); - fprintf(hFile, "(let ((wp (nth-wavepanel 0)))\n"); - fprintf(hFile, " (set-wavepanel-ylogscale! wp #f)\n"); - fprintf(hFile, " (set-wavepanel-type! wp 0)\n"); - fprintf(hFile, ")\n"); - fprintf(hFile, "(let ((wp (nth-wavepanel 1)))\n"); - fprintf(hFile, " (set-wavepanel-ylogscale! wp #f)\n"); - fprintf(hFile, " (set-wavepanel-type! wp 0)\n"); - fprintf(hFile, ")\n"); - - fclose(hFile); - - return 0; -} diff --git a/geda/graphman/support.c b/geda/graphman/support.c deleted file mode 100644 index 08c1ddc54..000000000 --- a/geda/graphman/support.c +++ /dev/null @@ -1,188 +0,0 @@ -/*******************************************************************************/ -/* */ -/* gEDA Suite Project Manager */ -/* */ -/* Copyright (C) 2002 Piotr Miarecki, sp9rve@radioam.net */ -/* */ -/* 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 version 2. */ -/* */ -/* 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, email to the author */ -/* */ -/*******************************************************************************/ - -/* - * DO NOT EDIT THIS FILE - it is generated by Glade. - */ - -#ifdef HAVE_CONFIG_H -# include -#endif - -#include -#include - -#ifdef HAVE_UNISTD_H -#include -#endif - -#ifdef HAVE_STRING_H -#include -#endif - -#include - -#include "support.h" - -/* This is an internally used function to check if a pixmap file exists. */ -static gchar* check_file_exists (const gchar *directory, - const gchar *filename); - -/* This is an internally used function to create pixmaps. */ -static GtkWidget* create_dummy_pixmap (GtkWidget *widget); - -GtkWidget* -lookup_widget (GtkWidget *widget, - const gchar *widget_name) -{ - GtkWidget *parent, *found_widget; - - for (;;) - { - if (GTK_IS_MENU (widget)) - parent = gtk_menu_get_attach_widget (GTK_MENU (widget)); - else - parent = widget->parent; - if (parent == NULL) - break; - widget = parent; - } - - found_widget = (GtkWidget*) gtk_object_get_data (GTK_OBJECT (widget), - widget_name); - if (!found_widget) - g_warning ("Widget not found: %s", widget_name); - return found_widget; -} - -/* This is a dummy pixmap we use when a pixmap can't be found. */ -static char *dummy_pixmap_xpm[] = { -/* columns rows colors chars-per-pixel */ -"1 1 1 1", -" c None", -/* pixels */ -" " -}; - -/* This is an internally used function to create pixmaps. */ -static GtkWidget* -create_dummy_pixmap (GtkWidget *widget) -{ - GdkColormap *colormap; - GdkPixmap *gdkpixmap; - GdkBitmap *mask; - GtkWidget *pixmap; - - colormap = gtk_widget_get_colormap (widget); - gdkpixmap = gdk_pixmap_colormap_create_from_xpm_d (NULL, colormap, &mask, - NULL, dummy_pixmap_xpm); - if (gdkpixmap == NULL) - g_error ("Couldn't create replacement pixmap."); - pixmap = gtk_pixmap_new (gdkpixmap, mask); - gdk_pixmap_unref (gdkpixmap); - gdk_bitmap_unref (mask); - return pixmap; -} - -static GList *pixmaps_directories = NULL; - -/* Use this function to set the directory containing installed pixmaps. */ -void -add_pixmap_directory (const gchar *directory) -{ - pixmaps_directories = g_list_prepend (pixmaps_directories, - g_strdup (directory)); -} - -/* This is an internally used function to create pixmaps. */ -GtkWidget* -create_pixmap (GtkWidget *widget, - const gchar *filename) -{ - gchar *found_filename = NULL; - GdkColormap *colormap; - GdkPixmap *gdkpixmap; - GdkBitmap *mask; - GtkWidget *pixmap; - GList *elem; - - if (!filename || !filename[0]) - return create_dummy_pixmap (widget); - - /* We first try any pixmaps directories set by the application. */ - elem = pixmaps_directories; - while (elem) - { - found_filename = check_file_exists ((gchar*)elem->data, filename); - if (found_filename) - break; - elem = elem->next; - } - - /* If we haven't found the pixmap, try the source directory. */ - if (!found_filename) - { - found_filename = check_file_exists ("../pixmaps", filename); - } - - if (!found_filename) - { - g_warning (_("Couldn't find pixmap file: %s"), filename); - return create_dummy_pixmap (widget); - } - - colormap = gtk_widget_get_colormap (widget); - gdkpixmap = gdk_pixmap_colormap_create_from_xpm (NULL, colormap, &mask, - NULL, found_filename); - if (gdkpixmap == NULL) - { - g_warning (_("Error loading pixmap file: %s"), found_filename); - g_free (found_filename); - return create_dummy_pixmap (widget); - } - g_free (found_filename); - pixmap = gtk_pixmap_new (gdkpixmap, mask); - gdk_pixmap_unref (gdkpixmap); - gdk_bitmap_unref (mask); - return pixmap; -} - -/* This is an internally used function to check if a pixmap file exists. */ -static gchar* -check_file_exists (const gchar *directory, - const gchar *filename) -{ - gchar *full_filename; - struct stat s; - gint status; - - full_filename = (gchar*) g_malloc (strlen (directory) + 1 - + strlen (filename) + 1); - strcpy (full_filename, directory); - strcat (full_filename, G_DIR_SEPARATOR_S); - strcat (full_filename, filename); - - status = stat (full_filename, &s); - if (status == 0 && S_ISREG (s.st_mode)) - return full_filename; - g_free (full_filename); - return NULL; -} - diff --git a/geda/graphman/support.h b/geda/graphman/support.h deleted file mode 100644 index 901a317ef..000000000 --- a/geda/graphman/support.h +++ /dev/null @@ -1,81 +0,0 @@ -/*******************************************************************************/ -/* */ -/* gEDA Suite Project Manager */ -/* */ -/* Copyright (C) 2002 Piotr Miarecki, sp9rve@radioam.net */ -/* */ -/* 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 version 2. */ -/* */ -/* 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, email to the author */ -/* */ -/*******************************************************************************/ - -/* - * DO NOT EDIT THIS FILE - it is generated by Glade. - */ - -#ifdef HAVE_CONFIG_H -# include -#endif - -#include - -/* - * Standard gettext macros. - */ -#ifdef ENABLE_NLS -# include -# undef _ -# define _(String) dgettext (PACKAGE, String) -# ifdef gettext_noop -# define N_(String) gettext_noop (String) -# else -# define N_(String) (String) -# endif -#else -# define textdomain(String) (String) -# define gettext(String) (String) -# define dgettext(Domain,Message) (Message) -# define dcgettext(Domain,Message,Type) (Message) -# define bindtextdomain(Domain,Directory) (Domain) -# define _(String) (String) -# define N_(String) (String) -#endif - - -/* - * Public Functions. - */ - -/* - * This function returns a widget in a component created by Glade. - * Call it with the toplevel widget in the component (i.e. a window/dialog), - * or alternatively any widget in the component, and the name of the widget - * you want returned. - */ -GtkWidget* lookup_widget (GtkWidget *widget, - const gchar *widget_name); - -/* get_widget() is deprecated. Use lookup_widget instead. */ -#define get_widget lookup_widget - -/* Use this function to set the directory containing installed pixmaps. */ -void add_pixmap_directory (const gchar *directory); - - -/* - * Private Functions. - */ - -/* This is used to create the pixmaps in the interface. */ -GtkWidget* create_pixmap (GtkWidget *widget, - const gchar *filename); - diff --git a/geda/graphman/value.c b/geda/graphman/value.c deleted file mode 100644 index 3b32762f0..000000000 --- a/geda/graphman/value.c +++ /dev/null @@ -1,1341 +0,0 @@ -/* $Id$ */ - -/*******************************************************************************/ -/* */ -/* gEDA Suite Project Manager */ -/* */ -/* Copyright (C) 2002 Piotr Miarecki, sp9rve@radioam.net */ -/* */ -/* 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 version 2. */ -/* */ -/* 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, email to the author */ -/* */ -/*******************************************************************************/ - -#ifdef HAVE_CONFIG_H -#include "config.h" -#endif - -#include - -#ifdef HAVE_STRING_H -#include -#endif - -#include "global.h" -#include "graph.h" -#include "libstring.h" -#include "msg.h" -#include "support.h" -#include "value.h" - - - -/******************************************************************************** - - Static functions - -********************************************************************************/ - -static void DisplayEntry(const char *szWidget, const char *szValue); -static char *ReadEntry(const char *szWidget); - -static void DisplayCombo(const char *szWidget, const char *szValue); -static char *ReadCombo(const char *szWidget); - -static void DisplayCheck(const char *szWidget, const char *szValue); -static BOOL ReadCheck(const char *szWidget); - -static void DisplayValidity(const char *szWidget, BOOL bValue); -static void DisplaySensitivity(const char *szWidget, const BOOL bSensitive); - -static char *Man2File_Color(const char *szColor); -static char *File2Man_Color(const char *szColor); -static BOOL IsValid_Color(const char *szColor); -static void Init_Color(const char *szWidget); - -static char *Man2File_Style(const char *szStyle); -static char *File2Man_Style(const char *szStyle); -static BOOL IsValid_Style(const char *szStyle); -static void Init_Style(const char *szWidget); - -static char *Man2File_Scale(const char *szScale); -static char *File2Man_Scale(const char *szScale); -static BOOL IsValid_Scale(const char *szScale); -static void Init_Scale(const char *szWidget); - -static char *Man2File_Viewer(const char *szViewer); -static char *File2Man_Viewer(const char *szViewer); -static BOOL IsValid_Viewer(const char *szViewer); -static void Init_Viewer(const char *szWidget); - -static char *Man2File_Number(const char *szNumber); -static char *File2Man_Number(const char *szNumber); - -/* not used yet */ -/* static BOOL IsValid_Number(const char *szNumber); */ - - - -/******************************************************************************** - - Initialize value sets - -********************************************************************************/ - -void ValueInitialize(void) -{ - Init_Viewer("pMainNotebookGraphViewerCombo"); - - Init_Scale("pMainNotebookXaxisScaleCombo"); - Init_Scale("pMainNotebookYAxisScaleCombo"); - - Init_Style("pMainNotebookXAxisMainStyleCombo"); - Init_Style("pMainNotebookXAxisAddStyleCombo"); - Init_Style("pMainNotebookYAxisMainStyleCombo"); - Init_Style("pMainNotebookYAxisAddStyleCombo"); - - Init_Color("pMainNotebookXAxisMainColorCombo"); - Init_Color("pMainNotebookXAxisAddColorCombo"); - Init_Color("pMainNotebookYAxisMainColorCombo"); - Init_Color("pMainNotebookYAxisAddColorCombo"); -} - - - -/******************************************************************************** - - Set a value of a graph parameter - -********************************************************************************/ - -int ValueSet(const int iVariable, const char *szValue) -{ - GtkWidget *pWidget = NULL; - int iResult = FALSE; - - switch (iVariable) - { - case VALUE_FILENAME: - DisplayEntry( - "pMainNameEntry", - szValue - ); - break; - - case VALUE_VERSION: - /* TODO */ - break; - - case VALUE_SOURCE: - DisplayCombo( - "pMainNotebookGraphSourceCombo", - szValue - ); - break; - - case VALUE_VIEWER: - DisplayCombo( - "pMainNotebookGraphViewerCombo", - File2Man_Viewer(szValue) - ); - break; - - case VALUE_BORDER: - /* TODO */ - break; - - case VALUE_XMIN: - DisplayEntry( - "pMainNotebookXAxisScaleXminEntry", - File2Man_Number(szValue) - ); - break; - - case VALUE_XMAX: - DisplayEntry( - "pMainNotebookXAxisScaleXmaxEntry", - File2Man_Number(szValue) - ); - break; - - case VALUE_XAUTO: - DisplayCheck( - "pMainNotebookXAxisScaleXminCheck", - szValue - ); - break; - - case VALUE_XSCALE: - DisplayCombo( - "pMainNotebookXaxisScaleCombo", - File2Man_Scale(szValue) - ); - break; - - case VALUE_XMAINDIV: - DisplayEntry( - "pMainNotebookXAxisMainDxEntry", - File2Man_Number(szValue) - ); - break; - - case VALUE_XMAINAUTO: - DisplayCheck( - "pMainNotebookXAxisMainDxCheck", - szValue - ); - break; - - case VALUE_XMAINSTYLE: - DisplayCombo( - "pMainNotebookXAxisMainStyleCombo", - File2Man_Style(szValue) - ); - break; - - case VALUE_XMAINCOLOR: - DisplayCombo( - "pMainNotebookXAxisMainColorCombo", - File2Man_Color(szValue) - ); - break; - - case VALUE_XADDNUMBER: - DisplayEntry( - "pMainNotebookXAxisAddNumberEntry", - File2Man_Number(szValue) - ); - break; - - case VALUE_XADDAUTO: - DisplayCheck( - "pMainNotebookXAxisAddNumberCheck", - szValue - ); - break; - - case VALUE_XADDSTYLE: - DisplayCombo( - "pMainNotebookXAxisAddStyleCombo", - File2Man_Style(szValue) - ); - break; - - case VALUE_XADDCOLOR: - DisplayCombo( - "pMainNotebookXAxisAddColorCombo", - File2Man_Color(szValue) - ); - break; - - case VALUE_YMIN: - DisplayEntry( - "pMainNotebookYAxisScaleYminEntry", - File2Man_Number(szValue) - ); - break; - - case VALUE_YMAX: - DisplayEntry( - "pMainNotebookYAxisScaleYmaxEntry", - File2Man_Number(szValue) - ); - break; - - case VALUE_YAUTO: - DisplayCheck( - "pMainNotebookYAxisScaleYminCheck", - szValue - ); - break; - - case VALUE_YSCALE: - DisplayCombo( - "pMainNotebookYAxisScaleCombo", - File2Man_Scale(szValue) - ); - break; - - case VALUE_YMAINDIV: - DisplayEntry( - "pMainNotebookYAxisMainDyEntry", - File2Man_Number(szValue) - ); - break; - - case VALUE_YMAINAUTO: - DisplayCheck( - "pMainNotebookYAxisMainDyButton", - szValue - ); - break; - - case VALUE_YMAINSTYLE: - DisplayCombo( - "pMainNotebookYAxisMainStyleCombo", - File2Man_Style(szValue) - ); - break; - - case VALUE_YMAINCOLOR: - DisplayCombo( - "pMainNotebookYAxisMainColorCombo", - File2Man_Color(szValue) - ); - break; - - case VALUE_YADDNUMBER: - DisplayEntry( - "pMainNotebookYAxisAddNumberEntry", - File2Man_Number(szValue) - ); - break; - - case VALUE_YADDAUTO: - DisplayCheck( - "pMainNotebookYAxisAddNumberCheck", - szValue - ); - pWidget = lookup_widget(pMainWindow, ""); - break; - - case VALUE_YADDSTYLE: - DisplayCombo( - "pMainNotebookYAxisAddStyleCombo", - File2Man_Style(szValue) - ); - break; - - case VALUE_YADDCOLOR: - DisplayCombo( - "pMainNotebookYAxisAddColorCombo", - File2Man_Color(szValue) - ); - break; - } - - ValueValidate(iVariable); - - return iResult; -} - - - -/*******************************************************************************/ -/* Validate a value of a graph parameter */ -/*******************************************************************************/ - -int ValueValidate(const int iVariable) -{ - char *pString = StringCreate(); - int iResult = FALSE; - BOOL bChecked; - - - switch (iVariable) - { - case VALUE_FILENAME: - StringCopy(&pString, ReadEntry("pMainNameEntry")); - StringCopy(&Graph.szFileName, pString); - iResult = TRUE; - break; - - case VALUE_VERSION: - /* TODO */ - break; - - case VALUE_SOURCE: - StringCopy(&pString, ReadCombo("pMainNotebookGraphSourceCombo")); - StringCopy(&Graph.szDataSource, pString); - DisplayValidity("pMainNotebookGraphSourceCombo", TRUE); - iResult = TRUE; - break; - - case VALUE_VIEWER: - StringCopy(&pString, ReadCombo("pMainNotebookGraphViewerCombo")); - if (!IsValid_Viewer(pString)) - DisplayValidity("pMainNotebookGraphSourceCombo", FALSE); - else - { - DisplayValidity("pMainNotebookGraphSourceCombo", TRUE); - StringCopy(&Graph.szViewer, Man2File_Viewer(pString)); - iResult = TRUE; - } - break; - - case VALUE_BORDER: - /* TODO */ - break; - - case VALUE_XMIN: - StringCopy(&pString, ReadEntry("pMainNotebookXAxisScaleXminEntry")); - if (Graph.dfXmin < Graph.dfXmax) - DisplayValidity("pMainNotebookXAxisScaleXminEntry", FALSE); - else - { - DisplayValidity("pMainNotebookXAxisScaleXminEntry", TRUE); - DisplayValidity("pMainNotebookXAxisScaleXmaxEntry", TRUE); - Graph.dfXmin = String2Float(Man2File_Number(pString)); - iResult = TRUE; - } - break; - - case VALUE_XMAX: - StringCopy(&pString, ReadEntry("pMainNotebookXAxisScaleXmaxEntry")); - if (Graph.dfXmin < Graph.dfXmax) - DisplayValidity("pMainNotebookXAxisScaleXmaxEntry", FALSE); - else - { - DisplayValidity("pMainNotebookXAxisScaleXminEntry", TRUE); - DisplayValidity("pMainNotebookXAxisScaleXmaxEntry", TRUE); - Graph.dfXmax = String2Float(Man2File_Number(pString)); - iResult = TRUE; - } - break; - - case VALUE_XAUTO: - bChecked = ReadCheck("pMainNotebookXAxisScaleXminCheck"); - if (bChecked) - { - DisplaySensitivity("pMainNotebookXAxisScaleXminEntry", FALSE); - DisplaySensitivity("pMainNotebookXAxisScaleXmaxEntry", FALSE); - } - else - { - DisplaySensitivity("pMainNotebookXAxisScaleXminEntry", TRUE); - DisplaySensitivity("pMainNotebookXAxisScaleXmaxEntry", TRUE); - } - Graph.bXAuto = bChecked; - iResult = TRUE; - break; - - case VALUE_XSCALE: - StringCopy(&pString, ReadCombo("pMainNotebookXaxisScaleCombo")); - if (!IsValid_Scale(pString)) - DisplayValidity("pMainNotebookXaxisScaleCombo", FALSE); - else - { - DisplayValidity("pMainNotebookXaxisScaleCombo", TRUE); - StringCopy(&Graph.szXScale, Man2File_Scale(pString)); - iResult = TRUE; - } - break; - - case VALUE_XMAINDIV: - StringCopy(&pString, ReadEntry("pMainNotebookXAxisMainDxEntry")); - Graph.dfXmainDiv = String2Float(Man2File_Number(pString)); - iResult = TRUE; - break; - - case VALUE_XMAINAUTO: - bChecked = ReadCheck("pMainNotebookXAxisMainDxCheck"); - if (bChecked) - DisplaySensitivity("pMainNotebookXAxisMainDxEntry", FALSE); - else - DisplaySensitivity("pMainNotebookXAxisMainDxEntry", TRUE); - Graph.bXmainAuto = bChecked; - iResult = TRUE; - break; - - case VALUE_XMAINSTYLE: - StringCopy(&pString, ReadCombo("pMainNotebookXAxisMainStyleCombo")); - if (!IsValid_Style(pString)) - DisplayValidity("pMainNotebookXAxisMainStyleCombo", FALSE); - else - { - DisplayValidity("pMainNotebookXAxisMainStyleCombo", TRUE); - StringCopy(&Graph.szXmainStyle, Man2File_Style(pString)); - iResult = TRUE; - } - break; - - case VALUE_XMAINCOLOR: - StringCopy(&pString, ReadCombo("pMainNotebookXAxisMainColorCombo")); - if (!IsValid_Color(pString)) - DisplayValidity("pMainNotebookXAxisMainColorCombo", FALSE); - else - { - DisplayValidity("pMainNotebookXAxisMainColorCombo", TRUE); - StringCopy(&Graph.szXmainColor, Man2File_Color(pString)); - iResult = TRUE; - } - break; - - case VALUE_XADDNUMBER: - StringCopy(&pString, ReadEntry("pMainNotebookXAxisAddNumberEntry")); - Graph.iXaddNumber = String2Integer(Man2File_Number(pString)); - iResult = TRUE; - break; - - case VALUE_XADDAUTO: - bChecked = ReadCheck("pMainNotebookXAxisAddNumberCheck"); - if (bChecked) - DisplaySensitivity("pMainNotebookXAxisAddNumberEntry", FALSE); - else - DisplaySensitivity("pMainNotebookXAxisAddNumberEntry", TRUE); - Graph.bXaddAuto = bChecked; - iResult = TRUE; - break; - - case VALUE_XADDSTYLE: - StringCopy(&pString, ReadCombo("pMainNotebookXAxisAddStyleCombo")); - if (!IsValid_Style(pString)) - DisplayValidity("pMainNotebookXAxisAddStyleCombo", FALSE); - else - { - DisplayValidity("pMainNotebookXAxisAddStyleCombo", TRUE); - StringCopy(&Graph.szXaddStyle, Man2File_Style(pString)); - iResult = TRUE; - } - break; - - case VALUE_XADDCOLOR: - StringCopy(&pString, ReadCombo("pMainNotebookXAxisAddColorCombo")); - if (!IsValid_Color(pString)) - DisplayValidity("pMainNotebookXAxisAddColorCombo", FALSE); - else - { - DisplayValidity("pMainNotebookXAxisAddColorCombo", TRUE); - StringCopy(&Graph.szXaddColor, Man2File_Color(pString)); - iResult = TRUE; - } - break; - - case VALUE_YMIN: - StringCopy(&pString, ReadEntry("pMainNotebookYAxisScaleYminEntry")); - if (Graph.dfYmin < Graph.dfYmax) - DisplayValidity("pMainNotebookYAxisScaleYminEntry", FALSE); - else - { - DisplayValidity("pMainNotebookYAxisScaleYminEntry", TRUE); - DisplayValidity("pMainNotebookYAxisScaleYmaxEntry", TRUE); - Graph.dfYmin = String2Float(Man2File_Number(pString)); - iResult = TRUE; - } - break; - - case VALUE_YMAX: - StringCopy(&pString, ReadEntry("pMainNotebookYAxisScaleYmaxEntry")); - if (Graph.dfYmin < Graph.dfYmax) - DisplayValidity("pMainNotebookYAxisScaleYmaxEntry", FALSE); - else - { - DisplayValidity("pMainNotebookYAxisScaleYminEntry", TRUE); - DisplayValidity("pMainNotebookYAxisScaleYmaxEntry", TRUE); - Graph.dfYmax = String2Float(Man2File_Number(pString)); - iResult = TRUE; - } - break; - - case VALUE_YAUTO: - bChecked = ReadCheck("pMainNotebookYAxisScaleYminCheck"); - if (bChecked) - { - DisplaySensitivity("pMainNotebookYAxisScaleYminEntry", FALSE); - DisplaySensitivity("pMainNotebookYAxisScaleYmaxEntry", FALSE); - } - else - { - DisplaySensitivity("pMainNotebookYAxisScaleYminEntry", TRUE); - DisplaySensitivity("pMainNotebookYAxisScaleYmaxEntry", TRUE); - } - Graph.bYAuto = bChecked; - iResult = TRUE; - break; - - case VALUE_YSCALE: - StringCopy(&pString, ReadCombo("pMainNotebookYAxisScaleCombo")); - if (!IsValid_Scale(pString)) - DisplayValidity("pMainNotebookYAxisScaleCombo", FALSE); - else - { - DisplayValidity("pMainNotebookYAxisScaleCombo", TRUE); - StringCopy(&Graph.szYScale, Man2File_Scale(pString)); - iResult = TRUE; - } - break; - - case VALUE_YMAINDIV: - StringCopy(&pString, ReadEntry("pMainNotebookYAxisMainDyEntry")); - Graph.dfYmainDiv = String2Float(Man2File_Number(pString)); - iResult = TRUE; - break; - - case VALUE_YMAINAUTO: - bChecked = ReadCheck("pMainNotebookYAxisMainDyButton"); - if (bChecked) - DisplaySensitivity("pMainNotebookYAxisMainDyEntry", FALSE); - else - DisplaySensitivity("pMainNotebookYAxisMainDyEntry", TRUE); - Graph.bYmainAuto = bChecked; - iResult = TRUE; - break; - - case VALUE_YMAINSTYLE: - StringCopy(&pString, ReadCombo("pMainNotebookYAxisMainStyleCombo")); - if (!IsValid_Style(pString)) - DisplayValidity("pMainNotebookYAxisMainStyleCombo", FALSE); - else - { - DisplayValidity("pMainNotebookYAxisMainStyleCombo", TRUE); - StringCopy(&Graph.szYmainStyle, Man2File_Style(pString)); - iResult = TRUE; - } - break; - - case VALUE_YMAINCOLOR: - StringCopy(&pString, ReadCombo("pMainNotebookYAxisMainColorCombo")); - if (!IsValid_Color(pString)) - DisplayValidity("pMainNotebookYAxisMainColorCombo", FALSE); - else - { - DisplayValidity("pMainNotebookYAxisMainColorCombo", TRUE); - StringCopy(&Graph.szYmainColor, Man2File_Color(pString)); - iResult = TRUE; - } - break; - - case VALUE_YADDNUMBER: - StringCopy(&pString, ReadEntry("pMainNotebookYAxisAddNumberEntry")); - Graph.iYaddNumber = String2Integer(Man2File_Number(pString)); - iResult = TRUE; - break; - - case VALUE_YADDAUTO: - bChecked = ReadCheck("pMainNotebookYAxisAddNumberCheck"); - if (bChecked) - DisplaySensitivity("pMainNotebookYAxisAddNumberEntry", FALSE); - else - DisplaySensitivity("pMainNotebookYAxisAddNumberEntry", TRUE); - Graph.bYaddAuto = bChecked; - iResult = TRUE; - break; - - case VALUE_YADDSTYLE: - StringCopy(&pString, ReadCombo("pMainNotebookYAxisAddStyleCombo")); - if (!IsValid_Style(pString)) - DisplayValidity("pMainNotebookYAxisAddStyleCombo", FALSE); - else - { - DisplayValidity("pMainNotebookYAxisAddStyleCombo", TRUE); - StringCopy(&Graph.szYaddStyle, Man2File_Style(pString)); - iResult = TRUE; - } - break; - - case VALUE_YADDCOLOR: - StringCopy(&pString, ReadCombo("pMainNotebookYAxisAddColorCombo")); - if (!IsValid_Color(pString)) - DisplayValidity("pMainNotebookYAxisAddColorCombo", FALSE); - else - { - DisplayValidity("pMainNotebookYAxisAddColorCombo", TRUE); - StringCopy(&Graph.szYaddColor, Man2File_Color(pString)); - iResult = TRUE; - } - break; - } - - - return iResult; -} - - - -/******************************************************************************** - - Functions for displaying, reading and validating widgets - -********************************************************************************/ - -static void DisplayEntry(const char *szWidget, const char *szValue) -{ - GtkWidget *pWidget; - - pWidget = lookup_widget(pMainWindow, szWidget); - if (pWidget == NULL) - FatalError(__FILE__, __LINE__, __DATE__); - - gtk_entry_set_text(GTK_ENTRY(pWidget), szValue); - gtk_widget_show(pWidget); -} - - -static char *ReadEntry(const char *szWidget) -{ - GtkWidget *pWidget; - static char *pString = NULL; - - if (pString == NULL) - pString = StringCreate(); - - pWidget = lookup_widget(pMainWindow, szWidget); - if (pWidget == NULL) - FatalError(__FILE__, __LINE__, __DATE__); - - StringCopy(&pString, gtk_entry_get_text(GTK_ENTRY(pWidget))); - - return pString; -} - - -static void DisplayCombo(const char *szWidget, const char *szValue) -{ - GtkWidget *pWidget; - - pWidget = lookup_widget(pMainWindow, szWidget); - if (pWidget == NULL) - FatalError(__FILE__, __LINE__, __DATE__); - - gtk_entry_set_text(GTK_ENTRY(GTK_COMBO(pWidget)->entry), szValue); - gtk_widget_show(pWidget); -} - - -static char *ReadCombo(const char *szWidget) -{ - GtkWidget *pWidget; - static char *pString = NULL; - - if (pString == NULL) - pString = StringCreate(); - - pWidget = lookup_widget(pMainWindow, szWidget); - if (pWidget == NULL) - FatalError(__FILE__, __LINE__, __DATE__); - - StringCopy(&pString, gtk_entry_get_text(GTK_ENTRY(GTK_COMBO(pWidget)->entry))); - - return pString; -} - - -static void DisplayCheck(const char *szWidget, const char *szValue) -{ - GtkWidget *pWidget; - - pWidget = lookup_widget(pMainWindow, szWidget); - if (pWidget == NULL) - FatalError(__FILE__, __LINE__, __DATE__); - - gtk_toggle_button_set_active( - GTK_TOGGLE_BUTTON(>K_CHECK_BUTTON(pWidget)->toggle_button), - !strcmp(szValue, MSG_CHECKED) ? TRUE : FALSE - ); - gtk_widget_show(pWidget); -} - - -static BOOL ReadCheck(const char *szWidget) -{ - GtkWidget *pWidget; - BOOL bChecked; - - pWidget = lookup_widget(pMainWindow, szWidget); - if (pWidget == NULL) - FatalError(__FILE__, __LINE__, __DATE__); - - bChecked = gtk_toggle_button_get_active( - GTK_TOGGLE_BUTTON(>K_CHECK_BUTTON(pWidget)->toggle_button) - ); - - return bChecked; -} - - -static void DisplayValidity(const char *szWidget, BOOL bValue) -{ - GtkWidget *pWidget; - - pWidget = lookup_widget(pMainWindow, szWidget); - if (pWidget == NULL) - FatalError(__FILE__, __LINE__, __DATE__); - - /* TODO */ -// if (!bValue) -// gtk_entry_set_text(GTK_ENTRY(pWidget), "???"); -// gtk_widget_show(pWidget); - -} - - -static void DisplaySensitivity(const char *szWidget, const BOOL bSensitive) -{ - GtkWidget *pWidget; - - pWidget = lookup_widget(pMainWindow, szWidget); - if (pWidget == NULL) - FatalError(__FILE__, __LINE__, __DATE__); - - gtk_widget_set_sensitive( - pWidget, - bSensitive - ); -} - - - -/******************************************************************************** - - Functions for translating colors used in graph files to/from human words - -********************************************************************************/ - -static char *Man2File_Color(const char *szColor) -{ - static char *pColor = NULL; - if (pColor == NULL) - pColor = StringCreate(); - - if (!strcmp(szColor, MSG_WHITE )) StringCopy(&pColor, COLOR_WHITE ); - else if (!strcmp(szColor, MSG_BLACK )) StringCopy(&pColor, COLOR_BLACK ); - else if (!strcmp(szColor, MSG_YELLOW )) StringCopy(&pColor, COLOR_YELLOW ); - else if (!strcmp(szColor, MSG_RED )) StringCopy(&pColor, COLOR_RED ); - else if (!strcmp(szColor, MSG_BLUE )) StringCopy(&pColor, COLOR_BLUE ); - else if (!strcmp(szColor, MSG_GREEN )) StringCopy(&pColor, COLOR_GREEN ); - else if (!strcmp(szColor, MSG_ORANGE )) StringCopy(&pColor, COLOR_ORANGE ); - else if (!strcmp(szColor, MSG_MAGENTA)) StringCopy(&pColor, COLOR_MAGENTA); - else StringCopy(&pColor, ""); - - return pColor; -} - - -static char *File2Man_Color(const char *szColor) -{ - static char *pColor = NULL; - if (pColor == NULL) - pColor = StringCreate(); - - if (!strcmp(szColor, COLOR_WHITE )) StringCopy(&pColor, MSG_WHITE ); - else if (!strcmp(szColor, COLOR_BLACK )) StringCopy(&pColor, MSG_BLACK ); - else if (!strcmp(szColor, COLOR_YELLOW )) StringCopy(&pColor, MSG_YELLOW ); - else if (!strcmp(szColor, COLOR_RED )) StringCopy(&pColor, MSG_RED ); - else if (!strcmp(szColor, COLOR_BLUE )) StringCopy(&pColor, MSG_BLUE ); - else if (!strcmp(szColor, COLOR_GREEN )) StringCopy(&pColor, MSG_GREEN ); - else if (!strcmp(szColor, COLOR_ORANGE )) StringCopy(&pColor, MSG_ORANGE ); - else if (!strcmp(szColor, COLOR_MAGENTA)) StringCopy(&pColor, MSG_MAGENTA); - else StringCopy(&pColor, "???"); - - return pColor; -} - - -static BOOL IsValid_Color(const char *szColor) -{ - BOOL bValidity; - - bValidity = ( - !strcmp(szColor, MSG_WHITE ) - || !strcmp(szColor, MSG_BLACK ) - || !strcmp(szColor, MSG_YELLOW ) - || !strcmp(szColor, MSG_RED ) - || !strcmp(szColor, MSG_BLUE ) - || !strcmp(szColor, MSG_GREEN ) - || !strcmp(szColor, MSG_ORANGE ) - || !strcmp(szColor, MSG_MAGENTA) - ) - ? TRUE - : FALSE; - - return bValidity; -} - - -static void Init_Color(const char *szWidget) -{ - GtkWidget *pWidget; - GList *pList = NULL; - - pWidget = lookup_widget(pMainWindow, szWidget); - if (pWidget == NULL) - FatalError(__FILE__, __LINE__, __DATE__); - - pList = g_list_append(pList, MSG_WHITE ); - pList = g_list_append(pList, MSG_BLACK ); - pList = g_list_append(pList, MSG_YELLOW ); - pList = g_list_append(pList, MSG_RED ); - pList = g_list_append(pList, MSG_BLUE ); - pList = g_list_append(pList, MSG_GREEN ); - pList = g_list_append(pList, MSG_ORANGE ); - pList = g_list_append(pList, MSG_MAGENTA); - gtk_combo_set_popdown_strings(GTK_COMBO(pWidget), pList); -} - - - -/******************************************************************************** - - Functions for translating styles used in graph files to/from human words - -********************************************************************************/ - -static char *Man2File_Style(const char *szStyle) -{ - static char *pStyle = NULL; - if (pStyle == NULL) - pStyle = StringCreate(); - - if (!strcmp(szStyle, MSG_SOLID )) StringCopy(&pStyle, STYLE_SOLID ); - else StringCopy(&pStyle, ""); - - return pStyle; -} - - -static char *File2Man_Style(const char *szStyle) -{ - static char *pStyle = NULL; - if (pStyle == NULL) - pStyle = StringCreate(); - - if (!strcmp(szStyle, STYLE_SOLID )) StringCopy(&pStyle, MSG_SOLID ); - else StringCopy(&pStyle, "???"); - - return pStyle; -} - - -static BOOL IsValid_Style(const char *szStyle) -{ - BOOL bValidity; - - bValidity = ( - !strcmp(szStyle, MSG_SOLID ) - ) - ? TRUE - : FALSE; - - return bValidity; -} - - -static void Init_Style(const char *szWidget) -{ - GtkWidget *pWidget; - GList *pList = NULL; - - pWidget = lookup_widget(pMainWindow, szWidget); - if (pWidget == NULL) - FatalError(__FILE__, __LINE__, __DATE__); - - pList = g_list_append(pList, MSG_SOLID); - gtk_combo_set_popdown_strings(GTK_COMBO(pWidget), pList); -} - - - -/******************************************************************************** - - Functions for translating scales used in graph files to/from human words - -********************************************************************************/ - -static char *Man2File_Scale(const char *szScale) -{ - static char *pScale = NULL; - if (pScale == NULL) - pScale = StringCreate(); - - if (!strcmp(szScale, MSG_LIN )) StringCopy(&pScale, SCALE_LIN ); - else if (!strcmp(szScale, MSG_LOG )) StringCopy(&pScale, SCALE_LOG ); - else StringCopy(&pScale, ""); - - return pScale; -} - - -static char *File2Man_Scale(const char *szScale) -{ - static char *pScale = NULL; - if (pScale == NULL) - pScale = StringCreate(); - - if (!strcmp(szScale, SCALE_LIN )) StringCopy(&pScale, MSG_LIN ); - else if (!strcmp(szScale, SCALE_LOG )) StringCopy(&pScale, MSG_LOG ); - else StringCopy(&pScale, "???"); - - return pScale; -} - - -static BOOL IsValid_Scale(const char *szScale) -{ - BOOL bValidity; - - bValidity = ( - !strcmp(szScale, MSG_LIN ) - || !strcmp(szScale, MSG_LOG ) - ) - ? TRUE - : FALSE; - - return bValidity; -} - - -static void Init_Scale(const char *szWidget) -{ - GtkWidget *pWidget; - GList *pList = NULL; - - pWidget = lookup_widget(pMainWindow, szWidget); - if (pWidget == NULL) - FatalError(__FILE__, __LINE__, __DATE__); - - pList = g_list_append(pList, MSG_LIN ); - pList = g_list_append(pList, MSG_LOG ); - gtk_combo_set_popdown_strings(GTK_COMBO(pWidget), pList); -} - - - -/******************************************************************************** - - Functions for translating viewers used in graph files to/from human words - -********************************************************************************/ - -static char *Man2File_Viewer(const char *szViewer) -{ - static char *pViewer = NULL; - if (pViewer == NULL) - pViewer = StringCreate(); - - if (!strcmp(szViewer, MSG_GWAVE)) StringCopy(&pViewer, VIEWER_GWAVE); - else StringCopy(&pViewer, ""); - - return pViewer; -} - - -static char *File2Man_Viewer(const char *szViewer) -{ - static char *pViewer = NULL; - if (pViewer == NULL) - pViewer = StringCreate(); - - if (!strcmp(szViewer, VIEWER_GWAVE)) StringCopy(&pViewer, MSG_GWAVE); - else StringCopy(&pViewer, "???"); - - return pViewer; -} - - -static BOOL IsValid_Viewer(const char *szViewer) -{ - BOOL bValidity; - - bValidity = ( - !strcmp(szViewer, MSG_GWAVE) - ) - ? TRUE - : FALSE; - - return bValidity; -} - - -static void Init_Viewer(const char *szWidget) -{ - GtkWidget *pWidget; - GList *pList = NULL; - - pWidget = lookup_widget(pMainWindow, szWidget); - if (pWidget == NULL) - FatalError(__FILE__, __LINE__, __DATE__); - - pList = g_list_append(pList, MSG_GWAVE); - gtk_combo_set_popdown_strings(GTK_COMBO(pWidget), pList); -} - - - -/******************************************************************************** - - Functions for translating numbers used in graph files to/from human words - -********************************************************************************/ - -static char *Man2File_Number(const char *szNumber) -{ - /* TODO */ - return (char *) szNumber; -} - - -static char *File2Man_Number(const char *szNumber) -{ - /* TODO */ - return (char *) szNumber; -} - -/* not currently used */ -#if 0 -static BOOL IsValid_Number(const char *szNumber) -{ - BOOL bValidity; - - bValidity = TRUE; - /* TODO */ - - return bValidity; -} -#endif - - -/******************************************************************************** - - Callbacks called when a value in a field changes - -********************************************************************************/ - -void -on_pMainNotebookGraphSourceEntry_changed - (GtkEditable *editable, - gpointer user_data) -{ - ValueValidate(VALUE_SOURCE); -} - - -void -on_pMainNotebookGraphTypeEntry_changed (GtkEditable *editable, - gpointer user_data) -{ - /* TODO */ -} - - -void -on_pMainNotebookGraphViewerEntry_changed - (GtkEditable *editable, - gpointer user_data) -{ - ValueValidate(VALUE_VIEWER); -} - - -void -on_pMainNotebookXAxisScaleXminCheck_toggled - (GtkToggleButton *togglebutton, - gpointer user_data) -{ - ValueValidate(VALUE_XAUTO); -} - - -void -on_pMainNotebookXAxisScaleXmaxEntry_changed - (GtkEditable *editable, - gpointer user_data) -{ - ValueValidate(VALUE_XMAX); -} - - -void -on_pMainNotebookXaxisScaleEntry_changed - (GtkEditable *editable, - gpointer user_data) -{ - ValueValidate(VALUE_XSCALE); -} - - -void -on_pMainNotebookXAxisScaleXminEntry_changed - (GtkEditable *editable, - gpointer user_data) -{ - ValueValidate(VALUE_XMIN); -} - - -void -on_pMainNotebookXAxisMainDxCheck_toggled - (GtkToggleButton *togglebutton, - gpointer user_data) -{ - ValueValidate(VALUE_XMAINAUTO); -} - - -void -on_pMainNotebookXAxisMainColorEntry_changed - (GtkEditable *editable, - gpointer user_data) -{ - ValueValidate(VALUE_XMAINCOLOR); -} - - -void -on_pMainNotebookXAxisMainStyleEntry_changed - (GtkEditable *editable, - gpointer user_data) -{ - ValueValidate(VALUE_XMAINSTYLE); -} - - -void -on_pMainNotebookXAxisMainDxEntry_changed - (GtkEditable *editable, - gpointer user_data) -{ - ValueValidate(VALUE_XMAINDIV); -} - - -void -on_pMainNotebookXAxisAddNumberCheck_toggled - (GtkToggleButton *togglebutton, - gpointer user_data) -{ - ValueValidate(VALUE_XADDAUTO); -} - - -void -on_pMainNotebookXAxisAddStyleEntry_changed - (GtkEditable *editable, - gpointer user_data) -{ - ValueValidate(VALUE_XADDSTYLE); -} - - -void -on_pMainNotebookXAxisAddColorEntry_changed - (GtkEditable *editable, - gpointer user_data) -{ - ValueValidate(VALUE_XADDCOLOR); -} - - -void -on_pMainNotebookXAxisAddNumberEntry_changed - (GtkEditable *editable, - gpointer user_data) -{ - ValueValidate(VALUE_XADDNUMBER); -} - - -void -on_pMainNotebookYAxisScaleYminCheck_toggled - (GtkToggleButton *togglebutton, - gpointer user_data) -{ - ValueValidate(VALUE_YAUTO); -} - - -void -on_pMainNotebookYAxisScaleYmaxEntry_changed - (GtkEditable *editable, - gpointer user_data) -{ - ValueValidate(VALUE_YMAX); -} - - -void -on_pMainNotebookYAxisScaleEntry_changed - (GtkEditable *editable, - gpointer user_data) -{ - ValueValidate(VALUE_YSCALE); -} - - -void -on_pMainNotebookYAxisScaleYminEntry_changed - (GtkEditable *editable, - gpointer user_data) -{ - ValueValidate(VALUE_YMIN); -} - - -void -on_pMainNotebookYAxisMainDyButton_toggled - (GtkToggleButton *togglebutton, - gpointer user_data) -{ - ValueValidate(VALUE_YMAINAUTO); -} - - -void -on_pMainNotebookYAxisMainColorEntry_changed - (GtkEditable *editable, - gpointer user_data) -{ - ValueValidate(VALUE_YMAINCOLOR); -} - - -void -on_pMainNotebookYAxisMainStyleEntry_changed - (GtkEditable *editable, - gpointer user_data) -{ - ValueValidate(VALUE_YMAINSTYLE); -} - - -void -on_pMainNotebookYAxisMainDyEntry_changed - (GtkEditable *editable, - gpointer user_data) -{ - ValueValidate(VALUE_YMAINDIV); -} - - -void -on_pMainNotebookYAxisAddNumberCheck_toggled - (GtkToggleButton *togglebutton, - gpointer user_data) -{ - ValueValidate(VALUE_YADDAUTO); -} - - -void -on_pMainNotebookYAxisAddStyleEntry_changed - (GtkEditable *editable, - gpointer user_data) -{ - ValueValidate(VALUE_YADDSTYLE); -} - - -void -on_pMainNotebookYAxisAddColorEntry_changed - (GtkEditable *editable, - gpointer user_data) -{ - ValueValidate(VALUE_YADDCOLOR); -} - - -void -on_pMainNotebookYAxisAddNumberEntry_changed - (GtkEditable *editable, - gpointer user_data) -{ - ValueValidate(VALUE_YADDNUMBER); -} diff --git a/geda/graphman/value.h b/geda/graphman/value.h deleted file mode 100644 index c20a04520..000000000 --- a/geda/graphman/value.h +++ /dev/null @@ -1,203 +0,0 @@ -/*******************************************************************************/ -/* */ -/* gEDA Suite Project Manager */ -/* */ -/* Copyright (C) 2002 Piotr Miarecki, sp9rve@radioam.net */ -/* */ -/* 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 version 2. */ -/* */ -/* 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, email to the author */ -/* */ -/*******************************************************************************/ - -#ifndef __VALUE_H_INCLUDED -#define __VALUE_H_INCLUDED - - - -/* list of variables */ -#define VALUE_FILENAME 1 -#define VALUE_VERSION 2 -#define VALUE_SOURCE 3 -#define VALUE_VIEWER 4 -#define VALUE_BORDER 5 -#define VALUE_XMIN 6 -#define VALUE_XMAX 7 -#define VALUE_XAUTO 8 -#define VALUE_XSCALE 9 -#define VALUE_XMAINDIV 10 -#define VALUE_XMAINAUTO 11 -#define VALUE_XMAINSTYLE 12 -#define VALUE_XMAINCOLOR 13 -#define VALUE_XADDNUMBER 14 -#define VALUE_XADDAUTO 15 -#define VALUE_XADDSTYLE 16 -#define VALUE_XADDCOLOR 17 -#define VALUE_YMIN 18 -#define VALUE_YMAX 19 -#define VALUE_YAUTO 20 -#define VALUE_YSCALE 21 -#define VALUE_YMAINDIV 22 -#define VALUE_YMAINAUTO 23 -#define VALUE_YMAINSTYLE 24 -#define VALUE_YMAINCOLOR 25 -#define VALUE_YADDNUMBER 26 -#define VALUE_YADDAUTO 27 -#define VALUE_YADDSTYLE 28 -#define VALUE_YADDCOLOR 29 - - - -/* public functions */ -void ValueInitialize(void); -int ValueSet(const int iVariable, const char *szValue); -char *ValueGet(const int iVariable); -int ValueValidate(const int iVariable); - - - -void -on_pMainNotebookGraphSourceEntry_changed - (GtkEditable *editable, - gpointer user_data); - -void -on_pMainNotebookGraphTypeEntry_changed (GtkEditable *editable, - gpointer user_data); - -void -on_pMainNotebookGraphViewerEntry_changed - (GtkEditable *editable, - gpointer user_data); - -void -on_pMainNotebookXAxisScaleXminCheck_toggled - (GtkToggleButton *togglebutton, - gpointer user_data); - -void -on_pMainNotebookXAxisScaleXmaxEntry_changed - (GtkEditable *editable, - gpointer user_data); - -void -on_pMainNotebookXaxisScaleEntry_changed - (GtkEditable *editable, - gpointer user_data); - -void -on_pMainNotebookXAxisScaleXminEntry_changed - (GtkEditable *editable, - gpointer user_data); - -void -on_pMainNotebookXAxisMainDxCheck_toggled - (GtkToggleButton *togglebutton, - gpointer user_data); - -void -on_pMainNotebookXAxisMainColorEntry_changed - (GtkEditable *editable, - gpointer user_data); - -void -on_pMainNotebookXAxisMainStyleEntry_changed - (GtkEditable *editable, - gpointer user_data); - -void -on_pMainNotebookXAxisMainDxEntry_changed - (GtkEditable *editable, - gpointer user_data); - -void -on_pMainNotebookXAxisAddNumberCheck_toggled - (GtkToggleButton *togglebutton, - gpointer user_data); - -void -on_pMainNotebookXAxisAddStyleEntry_changed - (GtkEditable *editable, - gpointer user_data); - -void -on_pMainNotebookXAxisAddColorEntry_changed - (GtkEditable *editable, - gpointer user_data); - -void -on_pMainNotebookXAxisAddNumberEntry_changed - (GtkEditable *editable, - gpointer user_data); - -void -on_pMainNotebookYAxisScaleYminCheck_toggled - (GtkToggleButton *togglebutton, - gpointer user_data); - -void -on_pMainNotebookYAxisScaleYmaxEntry_changed - (GtkEditable *editable, - gpointer user_data); - -void -on_pMainNotebookYAxisScaleEntry_changed - (GtkEditable *editable, - gpointer user_data); - -void -on_pMainNotebookYAxisScaleYminEntry_changed - (GtkEditable *editable, - gpointer user_data); - -void -on_pMainNotebookYAxisMainDyButton_toggled - (GtkToggleButton *togglebutton, - gpointer user_data); - -void -on_pMainNotebookYAxisMainColorEntry_changed - (GtkEditable *editable, - gpointer user_data); - -void -on_pMainNotebookYAxisMainStyleEntry_changed - (GtkEditable *editable, - gpointer user_data); - -void -on_pMainNotebookYAxisMainDyEntry_changed - (GtkEditable *editable, - gpointer user_data); - -void -on_pMainNotebookYAxisAddNumberCheck_toggled - (GtkToggleButton *togglebutton, - gpointer user_data); - -void -on_pMainNotebookYAxisAddStyleEntry_changed - (GtkEditable *editable, - gpointer user_data); - -void -on_pMainNotebookYAxisAddColorEntry_changed - (GtkEditable *editable, - gpointer user_data); - -void -on_pMainNotebookYAxisAddNumberEntry_changed - (GtkEditable *editable, - gpointer user_data); - - - -#endif /* __VALUE_H_INCLUDED */ diff --git a/geda/include/.cvsignore b/geda/include/.cvsignore deleted file mode 100644 index 282522db0..000000000 --- a/geda/include/.cvsignore +++ /dev/null @@ -1,2 +0,0 @@ -Makefile -Makefile.in diff --git a/geda/include/Makefile.am b/geda/include/Makefile.am deleted file mode 100644 index 7c2cb1303..000000000 --- a/geda/include/Makefile.am +++ /dev/null @@ -1,33 +0,0 @@ -## Process this file with automake to produce Makefile.in - -## Created by Anjuta - will be overwritten -## If you don't want it to overwrite it, -## Please disable it in the Anjuta project configuration - -EXTRA_DIST = - -# These files don't seem to exist... -#geda_includedir = $(pkgincludedir) -# -#geda_include_DATA = \ -# l_toolbar.h\ -# m_project.h\ -# window.h\ -# config.h\ -# doc.h\ -# file.h\ -# filesel.h\ -# filetool.h\ -# global.h\ -# l_toolbar.h\ -# log.h\ -# m_action.h\ -# m_project.h\ -# m_window.h\ -# message.h\ -# msgbox.h\ -# project.h\ -# task.h\ -# tool.h\ -# txtedit.h -#EXTRA_DIST = $(geda_include_DATA) diff --git a/geda/intl/.cvsignore b/geda/intl/.cvsignore deleted file mode 100644 index 7d849dead..000000000 --- a/geda/intl/.cvsignore +++ /dev/null @@ -1,11 +0,0 @@ -ChangeLog -Makefile -Makefile.in -*.c -*.h -*.sin -*.y -VERSION -config.charset -locale.alias -libgnuintl.h.in diff --git a/geda/m4/.cvsignore b/geda/m4/.cvsignore deleted file mode 100644 index 6cbf3b133..000000000 --- a/geda/m4/.cvsignore +++ /dev/null @@ -1,3 +0,0 @@ -Makefile -Makefile.in -*.m4 diff --git a/geda/m4/ChangeLog b/geda/m4/ChangeLog deleted file mode 100644 index 5c3118dc9..000000000 --- a/geda/m4/ChangeLog +++ /dev/null @@ -1 +0,0 @@ -dummy file diff --git a/geda/m4/Makefile.am b/geda/m4/Makefile.am deleted file mode 100644 index cd825fec8..000000000 --- a/geda/m4/Makefile.am +++ /dev/null @@ -1,7 +0,0 @@ -EXTRA_DIST = ChangeLog codeset.m4 gettext.m4 glibc21.m4 iconv.m4 intdiv0.m4 inttypes-pri.m4 inttypes.m4 inttypes_h.m4 isc-posix.m4 lcmessage.m4 lib-ld.m4 lib-link.m4 lib-prefix.m4 nls.m4 po.m4 progtest.m4 stdint_h.m4 uintmax_t.m4 ulonglong.m4 - -MOSTLYCLEANFILES = *.log core FILE *~ prototype.bak -CLEANFILES = *.log core FILE *~ prototype.bak -DISTCLEANFILES = *.log core FILE *~ prototype.bak -MAINTAINERCLEANFILES = *.log core FILE *~ prototype.bak prototype.h Makefile.in - diff --git a/geda/pixmaps/.cvsignore b/geda/pixmaps/.cvsignore deleted file mode 100644 index 282522db0..000000000 --- a/geda/pixmaps/.cvsignore +++ /dev/null @@ -1,2 +0,0 @@ -Makefile -Makefile.in diff --git a/geda/pixmaps/Makefile.am b/geda/pixmaps/Makefile.am deleted file mode 100644 index 585b0ce8e..000000000 --- a/geda/pixmaps/Makefile.am +++ /dev/null @@ -1,20 +0,0 @@ -## Process this file with automake to produce Makefile.in - -## Created by Anjuta - will be overwritten -## If you don't want it to overwrite it, -## Please disable it in the Anjuta project configuration - - -# For now since geda.xpm is unused, don't install the pixmap. -# A final location for this pixmap needs to be decided on. AVH 05/25/03 -#geda_pixmapsdir = $(prefix)/@NO_PREFIX_PACKAGE_PIXMAPS_DIR@ -# -#geda_pixmaps_DATA = \ -# geda.xpm -# -#EXTRA_DIST = $(geda_pixmaps_DATA) - -EXTRA_DIST = bin_document.xpm cir_document.xpm esp_document.xpm \ - folder_closed.xpm folder_open.xpm geda.xpm geda_logo.xpm \ - geda_title.xpm graph.xpm html_document.xpm pcb_document.xpm \ - pdf_document.xpm sch_document.xpm text_document.xpm diff --git a/geda/pixmaps/bin_document.xpm b/geda/pixmaps/bin_document.xpm deleted file mode 100644 index 2329215b8..000000000 --- a/geda/pixmaps/bin_document.xpm +++ /dev/null @@ -1,59 +0,0 @@ -/* XPM */ -static char *bin_document[]={ -"16 16 40 1", -"a c #9c9cb6", -"n c #c9c9da", -"s c #ccccdb", -"r c #cecedd", -"# c #d0d0df", -"v c #d2d2e0", -"i c #d3d3e1", -"u c #d5d5e4", -"m c #d7d7e5", -"B c #d8d8e6", -"q c #dadae7", -"A c #dbdbe8", -"z c #dcdce9", -"F c #dedeeb", -"y c #e0e0ec", -"I c #e1e1ed", -"J c #e4e4ee", -"E c #e5e5ef", -"l c #e6e6f0", -"x c #e7e7f0", -"H c #e8e8f1", -"d c #e9e9f2", -"G c #eaeaf3", -"e c #ebebf4", -"h c #ececf4", -"p c #eeeef5", -"j c #efeff6", -"L c #f0f0f7", -"k c #f1f1f8", -"o c #f2f2f9", -"t c #f3f3f9", -"c c #f5f5fc", -"D c #f6f6fd", -"g c #f8f8fe", -"b c #f9f9fe", -"K c #fafaff", -"f c #fcfcff", -"C c #fdfdff", -"w c #fefeff", -". c #ffffff", -"..########a.....", -"..#...bcde#a....", -"..#...fghe#ia...", -"..#...abjeaaaa..", -"..#..aabkelmna..", -"..#...afopqrsa..", -"..#..aaateuv#a..", -"..#..wbcxyzABa..", -"..#.wCDplEyFza..", -"..#..bapGHaIya..", -"..#.CakaeaaJya..", -"..#.KakaeGaEIa..", -"..#.ctaLpaaaIa..", -"..#.toLjhGlEIa..", -"..#fttkjeGxEIa..", -"..aaaaaaaaaaaa.."}; diff --git a/geda/pixmaps/cir_document.xpm b/geda/pixmaps/cir_document.xpm deleted file mode 100644 index d6854a234..000000000 --- a/geda/pixmaps/cir_document.xpm +++ /dev/null @@ -1,27 +0,0 @@ -/* XPM */ -static char *sim_document[]={ -"16 16 8 1", -"a c #000000", -"b c #00ff00", -"d c #585858", -"f c #800000", -"# c #808080", -"e c #a0a0a0", -"c c #ff0000", -". c #ffffff", -"...#aaaaaaa#....", -"..abaaabaaaba...", -".aabaaabaaabaa..", -"#aaaaaaaaaaaaa#.", -"aaacaaacaaacaad.", -"aaacaaacaaacaade", -"aaacaaacaaacaade", -"aaacaaacaaacaade", -"aaaccaacacacaade", -"acacacacacccacfe", -"acccacacccacccde", -"caacaaccaaacaade", -".aaaaaaaaaaaade.", -"..aaaaaaaaaadee.", -"...#ddddddddee..", -"....eeeeeeee...."}; diff --git a/geda/pixmaps/esp_document.xpm b/geda/pixmaps/esp_document.xpm deleted file mode 100644 index d6854a234..000000000 --- a/geda/pixmaps/esp_document.xpm +++ /dev/null @@ -1,27 +0,0 @@ -/* XPM */ -static char *sim_document[]={ -"16 16 8 1", -"a c #000000", -"b c #00ff00", -"d c #585858", -"f c #800000", -"# c #808080", -"e c #a0a0a0", -"c c #ff0000", -". c #ffffff", -"...#aaaaaaa#....", -"..abaaabaaaba...", -".aabaaabaaabaa..", -"#aaaaaaaaaaaaa#.", -"aaacaaacaaacaad.", -"aaacaaacaaacaade", -"aaacaaacaaacaade", -"aaacaaacaaacaade", -"aaaccaacacacaade", -"acacacacacccacfe", -"acccacacccacccde", -"caacaaccaaacaade", -".aaaaaaaaaaaade.", -"..aaaaaaaaaadee.", -"...#ddddddddee..", -"....eeeeeeee...."}; diff --git a/geda/pixmaps/folder_closed.xpm b/geda/pixmaps/folder_closed.xpm deleted file mode 100644 index 0ecdb0553..000000000 --- a/geda/pixmaps/folder_closed.xpm +++ /dev/null @@ -1,153 +0,0 @@ -/* XPM */ -static char *folder_green[]={ -"16 16 134 2", -"#h c #009c00", -"#i c #048a03", -".5 c #058403", -"ac c #089b08", -".6 c #097209", -".4 c #0c9813", -".U c #107814", -".z c #158016", -"#u c #18b415", -".y c #1b7e28", -".W c #1b7f1b", -".K c #1e7d1f", -"a. c #209a20", -".b c #20a721", -"#g c #25ab2f", -".J c #268530", -"#O c #279a2a", -".7 c #288a28", -"#Y c #28982a", -".T c #2ba730", -".N c #2bb92a", -".V c #2d832d", -".q c #2e942e", -".i c #2e992e", -"#t c #32be3c", -"#l c #339138", -".f c #34c82e", -"#5 c #399c39", -"#4 c #3aa33c", -".p c #3b973b", -"#E c #3db540", -"#2 c #41c140", -".3 c #47c048", -".L c #4e9f4e", -"#T c #4fc04c", -".I c #51bf4f", -".2 c #53d055", -"#G c #54e05a", -"#H c #55d35c", -".n c #56be60", -".u c #58be57", -"#9 c #58be58", -".S c #59c65b", -".m c #5abc60", -"#f c #5ad55a", -"#n c #5fb363", -".D c #5fc65f", -"ab c #5fce5e", -"#s c #61e362", -"#e c #62de64", -".o c #63c262", -"#Z c #64a964", -"#7 c #64bf64", -".Y c #64c964", -".a c #66ce65", -".x c #69c776", -"#p c #6dc470", -".H c #71d074", -".G c #78d977", -"#r c #78eb77", -".R c #7bd97c", -".h c #7cd079", -".C c #7dd07d", -".w c #7ddc7b", -".t c #7ec881", -"#j c #7fb38b", -".8 c #7fb680", -".1 c #80e27f", -"#z c #82ab92", -".Q c #84e481", -"#S c #85f486", -"#D c #87f586", -"#N c #89b394", -".F c #89ea85", -"#v c #8cc891", -"#d c #8ded86", -".0 c #8def86", -".P c #8df284", -".j c #94c594", -"#1 c #95da95", -".v c #97e295", -"#8 c #9ad598", -"#F c #9ae499", -"#R c #9fe59f", -"#Q c #a0e2a0", -"#I c #a3e3a4", -"#c c #a6fc9f", -".E c #a7f1a3", -".Z c #acf9a6", -".g c #adeaaa", -"#b c #b2e2b2", -"#B c #b2f5b2", -"#P c #b3c8b3", -"#q c #b6ffa9", -"#U c #b8f7b6", -"#0 c #b9e6b9", -"#X c #bbd2c5", -"#A c #bdd5bd", -"#C c #bdf6bd", -".k c #c2c7d9", -".d c #c2c8e6", -".O c #c2fdbd", -"#o c #c4bcd4", -".# c #c6f0c6", -".r c #c9ccdb", -"#6 c #cfeccf", -".B c #d0d0dc", -".M c #d1d2d6", -".c c #d3dbf3", -"#y c #d4c5e7", -"#x c #d5cbe6", -"#a c #d7f4d7", -"ad c #dee2de", -".A c #dee8de", -"#m c #dff6df", -"#. c #e1d3e7", -"#L c #e3dcee", -"#k c #e5c8fb", -"#M c #e7d8f6", -".X c #eeeeed", -"#K c #f0e4f9", -"#w c #f1dbfe", -"a# c #f2f2f2", -"aa c #f2f9f2", -".9 c #f4f2f4", -".e c #f5f8fb", -"#3 c #f5f9f7", -"#V c #fcf5ff", -".l c #fef3ff", -"#J c #fff3ff", -"#W c #fff4ff", -".s c #fff5ff", -"## c #fffbff", -"Qt c #ffffff", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQt.#.a.bQtQtQtQt", -"QtQtQtQtQt.c.d.e.f.g.h.i.jQtQtQt", -"QtQtQtQt.kQtQt.l.m.n.o.p.qQtQtQt", -"QtQtQt.rQt.s.t.u.v.w.x.y.z.AQtQt", -"QtQt.BQt.C.D.E.F.G.H.I.J.K.LQtQt", -"Qt.MQt.NQt.O.P.Q.R.S.T.U.V.WQtQt", -".XQtQt.YQt.Z.0.1.2.3.4.5.6.7.8Qt", -".9#.###a#b#c#d#e#f#g#h#i#j#k#lQt", -"Qt#m#n#o#p#q#r#s#t#u#v#w#x#y#z#A", -"Qt#B#C#D#E#F#G#H#I#J#K#L#M#N#O#P", -"QtQt#Q#R#S#T#UQtQt#V#W#X#Y#ZQtQt", -"QtQtQt#0#1#2QtQtQt#3#4#5QtQtQtQt", -"QtQtQtQt#6#7#8Qt#9a.a#QtQtQtQtQt", -"QtQtQtQtQtaaabacadQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt"}; diff --git a/geda/pixmaps/folder_open.xpm b/geda/pixmaps/folder_open.xpm deleted file mode 100644 index 069f9e2a9..000000000 --- a/geda/pixmaps/folder_open.xpm +++ /dev/null @@ -1,146 +0,0 @@ -/* XPM */ -static char *folder_green_open[]={ -"16 16 127 2", -".9 c #05770c", -"#i c #068206", -"#h c #0b7f10", -"#. c #0c750c", -".X c #1d7e21", -".M c #238823", -"#G c #299c30", -"#g c #2aaa2a", -"#s c #2fa831", -"#r c #34bc33", -".Y c #389538", -".y c #38ac38", -"#Q c #41a448", -"#2 c #43ba48", -".L c #45ac4c", -"#6 c #4dcd4e", -".8 c #4eae52", -"#Y c #4eaf53", -"## c #519e51", -"#A c #51e251", -"#q c #53d353", -"#B c #54d354", -".V c #5bbe60", -"#X c #5ebf62", -"#f c #5fcd5c", -"#k c #62a563", -".K c #62c664", -".q c #65e565", -".W c #66c46a", -".1 c #67e167", -".U c #69cf69", -".I c #6ac16b", -"#R c #6db371", -".D c #6de66d", -".7 c #70d171", -"#c c #71cc73", -"#b c #74ec73", -"#m c #77ed77", -"#L c #79ed7c", -".J c #7ac97c", -".6 c #7de17b", -".S c #81cc81", -"#1 c #81dc83", -".C c #85f285", -"#t c #86af90", -".P c #86f186", -"#n c #88db87", -".x c #89cc86", -".l c #89d589", -".w c #8ac093", -"#e c #8cef88", -"#w c #8eb68e", -".Q c #8ed791", -".k c #90b4a2", -"#y c #92de91", -".4 c #93dc8f", -"#K c #93de92", -"#p c #93ff89", -".H c #94d296", -"#5 c #95e796", -"#T c #97dc9b", -"#U c #9ae299", -"#j c #9bacae", -".5 c #9df097", -".T c #9eeb9b", -".0 c #a0f7a0", -"#C c #a6cdac", -".3 c #a8e1a9", -"#l c #a9f0a9", -".o c #a9f7a9", -"#d c #aaff9f", -"#F c #abb6ba", -"#M c #abe3ae", -".p c #abf2aa", -".O c #aef4ae", -"#J c #b0f3b1", -".v c #b4d4b9", -"#Z c #b5e7bb", -"#0 c #b5eab6", -".n c #baf6ba", -"#4 c #bde9bf", -"#z c #bdeebe", -".B c #bdf7bd", -"#x c #c0f0c0", -".Z c #c1f4c1", -".e c #c2cde1", -".f c #c3f1c2", -"#P c #c5ced2", -"#v c #cebfe6", -".2 c #cfd9d8", -"#H c #d0d6d0", -"#u c #dac4f0", -"#I c #daf4da", -".r c #e5e4ec", -"#E c #e6d2f6", -".a c #e6e9f4", -"#8 c #e7ede7", -".b c #e8eaf3", -".# c #e8ecfb", -"#D c #ead5f8", -"#7 c #ebebeb", -".g c #ebedf2", -".j c #eceaf4", -".E c #ede7f3", -".i c #efeff6", -"#W c #f0ecf7", -"#a c #f0fcf0", -"#3 c #f6f6f6", -"#O c #f7e3ff", -".s c #f7f5fc", -"#o c #f9edff", -".t c #f9f2ff", -".c c #f9f8fb", -".d c #f9f8fd", -".N c #f9f9f9", -"#N c #fae7ff", -".u c #fbeeff", -"#S c #fbfbfb", -".m c #fbfffb", -".z c #fcfcfc", -".A c #fcfffc", -".h c #fdfcfe", -".F c #fefcff", -"#V c #fff7ff", -".G c #fff8ff", -".R c #fffeff", -"Qt c #ffffff", -"QtQtQtQtQtQtQtQtQt.#QtQtQtQtQtQt", -"QtQtQtQtQtQtQtQt.aQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQt.b.c.d.eQtQtQtQtQt", -"QtQtQtQt.fQt.g.h.i.jQt.kQt.lQtQt", -".m.n.o.p.q.rQt.s.t.u.v.w.x.y.zQt", -".A.B.C.D.EQt.F.G.H.I.J.K.L.M.NQt", -"Qt.O.P.QQtQt.R.S.T.U.V.W.X.YQtQt", -"Qt.Z.0.1.2.3.4.5.6.7.8.9#.##QtQt", -"Qt#a.n#b#cQt#d#e#f#g#h#i#j#kQtQt", -"QtQt#l#m#n#o#p#q#r#s#t#u#v#wQtQt", -"QtQt#x.P#y#z#A#B#C#D#E#F#G#HQtQt", -"QtQt#I#J#K#L#M#N#O#P#Q#R#SQtQtQt", -"QtQtQt#T#U.R#V#W#X#Y#SQtQtQtQtQt", -"QtQtQt#Z#0Qt#1#2#3QtQtQtQtQtQtQt", -"QtQtQt#4#5#6#7QtQtQtQtQtQtQtQtQt", -"QtQtQtQt#8QtQtQtQtQtQtQtQtQtQtQt"}; diff --git a/geda/pixmaps/geda.xpm b/geda/pixmaps/geda.xpm deleted file mode 100644 index 60236bd43..000000000 --- a/geda/pixmaps/geda.xpm +++ /dev/null @@ -1,41 +0,0 @@ -/* XPM */ -static char *geda[]={ -"32 32 6 1", -". c None", -"c c #000000", -"a c #005000", -"# c #008b00", -"d c #757373", -"b c #ffffff", -"................................", -"................................", -"................................", -"................................", -"................................", -"...########.....................", -"..a#bbbbbbb#....................", -"ccc#bbbbbbbb#...................", -"dda#bbbbbbbb#...................", -"..a#bbbbbbbb#cccc...............", -"..a#bbbbbbbb#dddc...............", -"ccc#bbbbbbbb#...c..########.....", -"dda#bbbbbbb#a...c.a#bbbbbbb#....", -"..a########a....ccc#bbbbbbbb#...", -"..aaaaaaaaa.....dda#bbbbbbbb#...", -"..................a#bbbbbbbb#ccc", -"..................a#bbbbbbbb#ddd", -"...########.....ccc#bbbbbbbb#...", -"..a#bbbbbbb#....cda#bbbbbbb#a...", -"ccc#bbbbbbbb#...c.a########a....", -"dda#bbbbbbbb#...c.aaaaaaaaa.....", -"..a#bbbbbbbb#cccc...............", -"..a#bbbbbbbb#ddd................", -"ccc#bbbbbbbb#...................", -"dda#bbbbbbb#a...................", -"..a########a....................", -"..aaaaaaaaa.....................", -"................................", -"................................", -"................................", -"................................", -"................................"}; diff --git a/geda/pixmaps/geda_logo.xpm b/geda/pixmaps/geda_logo.xpm deleted file mode 100644 index 16ef88e74..000000000 --- a/geda/pixmaps/geda_logo.xpm +++ /dev/null @@ -1,243 +0,0 @@ -/* XPM */ -static char *geda_logo1[]={ -"560 159 81 2", -"Qt c #000000", -".J c #000040", -"#d c #000088", -"#j c #0000b8", -".P c #0000f8", -".o c #001000", -".z c #002000", -".S c #003400", -".v c #004400", -".u c #005400", -".A c #006400", -".y c #007400", -".t c #008800", -".H c #009800", -".w c #00a400", -".s c #00a800", -".r c #00b800", -".G c #00c800", -".p c #00cc00", -".B c #00dc00", -"#o c #00e800", -".x c #00ec00", -".q c #00fc00", -".K c #100c50", -"#k c #100cc0", -".g c #101000", -"#e c #101090", -".Y c #1010e8", -".C c #200000", -".l c #202000", -"#a c #202038", -".N c #20fc20", -".k c #303400", -".D c #400000", -".i c #404400", -".5 c #404430", -".L c #404440", -".0 c #4044b8", -".M c #407440", -"#h c #40fc40", -".# c #505400", -".T c #600000", -".f c #606400", -".2 c #606498", -"#n c #60fc60", -".m c #707400", -"## c #707428", -".V c #707488", -".E c #880000", -".I c #880020", -"#c c #880040", -"#i c #880058", -".O c #880070", -".a c #888800", -".6 c #888820", -".X c #888870", -"#f c #888888", -"#g c #88a488", -".R c #88fc88", -".e c #989800", -".n c #a8a800", -"#. c #a8a818", -".1 c #a8a850", -".U c #b80000", -"#b c #b80010", -".3 c #b80040", -".b c #b8b800", -".7 c #b8b810", -".Z c #b8b840", -"#l c #b8b8b8", -"#m c #b8ccb8", -".d c #c8c800", -".9 c #c8c810", -".h c #d8dc00", -".8 c #d8dc08", -".4 c #d8dc20", -".j c #e8ec00", -".W c #e8ec10", -".F c #f80000", -".c c #f8fc00", -".Q c #f8fcf8", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.#.a.b.c.c.c.c.d.e.f.gQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.f.h.c.c.c.c.c.c.c.c.c.c.c.e.gQtQtQtQtQtQtQtQtQtQtQtQtQt.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.b.a.iQtQtQtQtQtQtQtQtQtQt.c.c.c.cQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.g.b.c.c.c.c.c.c.c.c.c.c.c.c.c.c.j.#QtQtQtQtQtQtQtQtQtQtQtQt.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.b.kQtQtQtQtQtQtQtQt.c.c.c.cQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.g.d.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.fQtQtQtQtQtQtQtQtQtQtQt.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.fQtQtQtQtQtQtQt.c.c.c.cQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.bQtQtQtQtQtQtQtQtQtQtQtQtQtQt.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.b.b.a.#.gQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.l.c.c.c.c.c.c.c.c.c.c.eQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.k.j.c.c.c.c.j.e.#.gQtQt.g.i.a.h.c.c.c.c.c.fQtQtQtQtQtQtQtQtQtQt.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.kQtQtQtQtQtQt.c.c.c.cQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.bQtQtQtQtQtQtQtQtQtQtQtQtQtQt.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.d.m.gQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.a.c.c.c.c.c.c.c.c.c.c.jQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.l.j.c.c.c.c.a.gQtQtQtQtQtQtQtQtQt.m.j.c.c.c.c.kQtQtQtQtQtQtQtQtQt.c.c.c.cQtQtQtQtQtQtQtQtQtQt.i.a.j.c.c.c.c.dQtQtQtQtQtQt.c.c.c.cQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.bQtQtQtQtQtQtQtQtQtQtQtQtQtQt.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.e.lQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.h.c.c.c.c.c.c.c.c.c.c.c.fQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.d.c.c.c.j.iQtQtQtQtQtQtQtQtQtQtQtQt.k.j.c.c.c.bQtQtQtQtQtQtQtQtQt.c.c.c.cQtQtQtQtQtQtQtQtQtQtQtQt.g.d.c.c.c.c.#QtQtQtQtQt.c.c.c.cQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.bQtQtQtQtQtQtQtQtQtQtQtQtQtQt.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.a.gQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.k.c.c.c.c.c.c.c.c.c.c.c.c.nQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.a.c.c.c.c.kQtQtQtQtQtQtQtQtQtQtQtQtQtQt.i.c.c.c.c.iQtQtQtQtQtQtQtQt.c.c.c.cQtQtQtQtQtQtQtQtQtQtQtQtQt.g.h.c.c.c.eQtQtQtQtQt.c.c.c.cQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.bQtQtQtQtQtQtQtQtQtQtQtQtQtQt.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.h.kQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.a.c.c.c.c.c.c.c.c.c.c.c.c.c.gQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.g.j.c.c.c.mQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.e.c.c.c.nQtQtQtQtQtQtQtQt.c.c.c.cQtQtQtQtQtQtQtQtQtQtQtQtQtQt.f.c.c.c.dQtQtQtQtQt.c.c.c.cQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.bQtQtQtQtQtQtQtQtQtQtQtQtQtQt.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.j.fQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.j.c.c.c.c.c.c.c.c.c.c.c.c.c.fQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.a.c.c.c.hQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.k.c.c.c.cQtQtQtQtQtQtQtQt.c.c.c.cQtQtQtQtQtQtQtQtQtQtQtQtQtQt.g.c.c.c.cQtQtQtQtQt.c.c.c.cQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.bQtQtQtQtQtQtQtQtQtQtQtQtQtQt.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.fQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.#.c.c.c.c.c.c.c.c.c.c.c.c.c.c.bQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.h.c.c.c.fQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.h.c.c.c.iQtQtQtQtQtQtQt.c.c.c.cQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.c.c.c.cQtQtQtQtQt.c.c.c.cQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.c.c.c.c.c.c.c.cQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.c.c.c.c.c.c.c.cQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.k.i.a.b.j.c.c.c.c.c.c.c.c.c.c.c.c.fQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.e.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.lQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.k.c.c.c.jQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.c.c.c.cQtQtQtQtQtQtQtQtQtQtQtQtQtQt.g.c.c.c.cQtQtQtQtQt.c.c.c.cQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.c.c.c.c.c.c.c.cQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.c.c.c.c.c.c.c.cQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.g.f.b.c.c.c.c.c.c.c.c.c.c.c.iQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.g.j.c.c.c.c.c.c.c.h.c.c.c.c.c.c.c.mQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.m.c.c.c.eQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.c.c.c.cQtQtQtQtQtQtQtQtQtQtQtQtQtQt.f.c.c.c.dQtQtQtQtQt.c.c.c.cQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.c.c.c.c.c.c.c.cQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.c.c.c.c.c.c.c.cQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.i.h.c.c.c.c.c.c.c.c.c.j.gQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.f.c.c.c.c.c.c.c.d.m.c.c.c.c.c.c.c.dQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.n.c.c.c.fQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.c.c.c.cQtQtQtQtQtQtQtQtQtQtQtQtQtQt.d.c.c.c.eQtQtQtQtQt.c.c.c.cQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.c.c.c.c.c.c.c.cQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.c.c.c.c.c.c.c.cQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.g.e.c.c.c.c.c.c.c.c.c.bQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.n.c.c.c.c.c.c.c.f.l.c.c.c.c.c.c.c.c.lQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.b.c.c.c.iQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.c.c.c.cQtQtQtQtQtQtQtQtQtQtQtQt.g.e.c.c.c.c.kQtQtQtQtQt.c.c.c.cQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.c.c.c.c.c.c.c.cQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.c.c.c.c.c.c.c.cQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.e.c.c.c.c.c.c.c.c.c.#QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.g.c.c.c.c.c.c.c.c.gQt.d.c.c.c.c.c.c.c.aQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.c.c.c.cQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.c.c.c.cQtQtQtQtQtQtQtQtQtQt.i.a.h.c.c.c.c.nQtQtQtQtQtQt.c.c.c.cQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.c.c.c.c.c.c.c.cQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.c.c.c.c.c.c.c.cQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.e.c.c.c.c.c.c.c.c.hQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.m.c.c.c.c.c.c.c.nQtQt.m.c.c.c.c.c.c.c.hQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.c.c.c.cQtQtQtQtQtQtQtQtQtQtQt.a.c.c.c.c.c.c.c.c.c.c.c.c.cQtQtQtQtQtQtQt.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.d.gQtQtQtQtQtQt.c.c.c.cQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.c.c.c.c.c.c.c.cQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.c.c.c.c.c.c.c.cQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.b.c.c.c.c.c.c.c.c.fQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.d.c.c.c.c.c.c.c.#QtQt.l.c.c.c.c.c.c.c.c.kQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.c.c.c.cQtQtQtQtQtQtQtQtQtQtQt.a.c.c.c.c.c.c.c.c.c.c.c.c.cQtQtQtQtQtQtQt.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.d.gQtQtQtQtQtQtQt.c.c.c.cQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.c.c.c.c.c.c.c.cQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.c.c.c.c.c.c.c.cQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.g.j.c.c.c.c.c.c.c.hQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.l.c.c.c.c.c.c.c.jQtQtQtQt.d.c.c.c.c.c.c.c.aQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.c.c.c.cQtQtQtQtQtQtQtQtQtQtQt.a.c.c.c.c.c.c.c.c.c.c.c.c.cQtQtQtQtQtQtQt.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.n.gQtQtQtQtQtQtQtQt.c.c.c.cQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.c.c.c.c.c.c.c.cQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.c.c.c.c.c.c.c.cQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.m.c.c.c.c.c.c.c.c.#QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.a.c.c.c.c.c.c.c.aQtQtQtQt.m.c.c.c.c.c.c.c.jQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.c.c.c.c.lQtQtQtQtQtQtQtQtQtQt.a.c.c.c.c.c.c.c.c.c.c.c.c.cQtQtQtQtQtQtQt.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.h.e.iQtQtQtQtQtQtQtQtQtQt.c.c.c.cQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.k.i.i.i.i.kQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.c.c.c.c.c.c.c.cQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.c.c.c.c.c.c.c.cQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.h.c.c.c.c.c.c.c.nQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.h.c.c.c.c.c.c.c.kQtQtQtQt.l.c.c.c.c.c.c.c.c.#QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.b.c.c.c.iQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.c.c.c.cQtQtQtQtQtQtQt.c.c.c.cQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.c.c.c.cQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.l.a.d.c.c.c.c.c.c.c.c.d.a.kQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.c.c.c.c.c.c.c.cQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.c.c.c.c.c.c.c.cQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.m.c.c.c.c.c.c.c.c.gQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.k.c.c.c.c.c.c.c.hQtQtQtQtQtQt.n.c.c.c.c.c.c.c.eQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.e.c.c.c.aQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.c.c.c.cQtQtQtQtQtQtQt.c.c.c.cQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.c.c.c.cQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.i.b.c.c.c.c.c.c.c.c.c.c.c.c.c.c.b.iQtQtQtQtQt.c.c.c.c.c.c.cQtQtQtQtQtQtQtQtQtQtQtQtQtQt.c.c.c.c.c.c.c.cQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.c.c.c.c.c.c.c.cQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.g.c.c.c.c.c.c.c.c.#QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.e.c.c.c.c.c.c.c.mQtQtQtQtQtQt.f.c.c.c.c.c.c.c.jQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.m.c.c.c.bQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.l.c.c.c.cQtQtQtQtQtQtQt.c.c.c.cQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.c.c.c.cQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.g.n.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.aQtQtQtQt.c.c.c.c.c.c.cQtQtQtQtQtQtQtQtQtQtQtQtQtQt.c.c.c.c.c.c.c.cQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.c.c.c.c.c.c.c.cQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.n.c.c.c.c.c.c.c.eQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.j.c.c.c.c.c.c.c.lQtQtQtQtQtQt.g.c.c.c.c.c.c.c.c.fQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.k.c.c.c.c.lQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.f.c.c.c.cQtQtQtQtQtQtQt.c.c.c.cQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.c.c.c.cQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.k.h.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.d.gQtQt.c.c.c.c.c.c.cQtQtQtQtQtQtQtQtQtQtQtQtQtQt.c.c.c.c.c.c.c.cQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.c.c.c.c.c.c.c.cQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.f.c.c.c.c.c.c.c.dQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.#.c.c.c.c.c.c.c.bQtQtQtQtQtQtQtQt.n.c.c.c.c.c.c.c.nQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.h.c.c.c.aQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.n.c.c.c.cQtQtQtQtQtQtQt.c.c.c.cQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.c.c.c.cQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.k.j.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.d.gQt.c.c.c.c.c.c.cQtQtQtQtQtQtQtQtQtQtQtQtQtQt.c.c.c.c.c.c.c.cQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.c.c.c.c.c.c.c.cQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.l.c.c.c.c.c.c.c.c.gQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.e.c.c.c.c.c.c.c.fQtQtQtQtQtQtQtQt.f.c.c.c.c.c.c.c.c.gQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.m.c.c.c.j.gQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.k.c.c.c.c.cQtQtQtQtQtQtQt.c.c.c.cQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.c.c.c.cQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.k.j.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.dQt.c.c.c.c.c.c.cQtQtQtQtQtQtQtQtQtQtQtQtQtQt.c.c.c.c.c.c.c.cQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.c.c.c.c.c.c.c.cQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.h.c.c.c.c.c.c.c.iQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.g.c.c.c.c.c.c.c.c.gQtQtQtQtQtQtQtQt.g.c.c.c.c.c.c.c.c.fQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.g.j.c.c.c.nQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.g.d.c.c.c.c.cQtQtQtQtQtQtQt.c.c.c.cQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.c.c.c.cQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.g.h.c.c.c.c.c.c.c.c.c.c.c.h.b.b.b.d.c.c.c.c.c.c.c.c.c.c.a.c.c.c.c.c.c.cQtQtQtQtQtQtQtQtQtQtQtQtQtQt.c.c.c.c.c.c.c.cQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.c.c.c.c.c.c.c.cQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.n.c.c.c.c.c.c.c.mQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.f.c.c.c.c.c.c.c.eQtQtQtQtQtQtQtQtQtQt.n.c.c.c.c.c.c.c.bQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.f.c.c.c.c.eQtQtQtQtQtQtQtQtQtQtQtQtQt.g.d.c.c.c.c.c.cQtQtQtQtQtQtQt.c.c.c.cQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.c.c.c.cQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.n.c.c.c.c.c.c.c.c.c.b.f.gQtQtQtQtQtQt.#.n.c.c.c.c.c.c.c.c.c.c.c.c.c.c.cQtQtQtQtQtQtQtQtQtQtQtQtQtQt.c.c.c.c.c.c.c.cQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.c.c.c.c.c.c.c.cQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.a.c.c.c.c.c.c.c.aQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.n.c.c.c.c.c.c.c.#QtQtQtQtQtQtQtQtQtQt.f.c.c.c.c.c.c.c.c.lQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.n.c.c.c.c.d.iQtQtQtQtQtQtQtQtQtQt.i.h.c.c.c.c.c.c.cQtQtQtQtQtQtQt.c.c.c.cQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.c.c.c.cQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.i.c.c.c.c.c.c.c.c.h.iQtQtQtQtQtQtQtQtQtQtQt.i.d.c.c.c.c.c.c.c.c.c.c.c.c.cQtQtQtQtQtQtQtQtQtQtQtQtQtQt.c.c.c.c.c.c.c.cQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.c.c.c.c.c.c.c.cQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.#.c.c.c.c.c.c.c.bQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.l.c.c.c.c.c.c.c.jQtQtQtQtQtQtQtQtQtQtQt.g.c.c.c.c.c.c.c.c.mQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.g.d.c.c.c.c.c.d.a.i.gQtQtQt.i.m.d.c.c.c.c.e.n.c.c.cQtQtQtQtQtQtQt.c.c.c.cQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.iQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.h.c.c.c.c.c.c.c.d.gQtQtQtQtQtQtQtQtQtQtQtQtQt.g.e.c.c.c.c.c.c.c.c.c.c.c.cQtQtQtQtQtQtQtQtQtQtQtQtQtQt.c.c.c.c.c.c.c.cQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.c.c.c.c.c.c.c.cQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.i.c.c.c.c.c.c.c.bQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.m.c.c.c.c.c.c.c.aQtQtQtQtQtQtQtQtQtQtQtQt.n.c.c.c.c.c.c.c.dQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.g.d.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.eQt.m.c.c.cQtQtQtQtQtQtQt.c.c.c.cQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.iQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.f.c.c.c.c.c.c.c.d.gQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.d.c.c.c.c.c.c.c.c.c.c.cQtQtQtQtQtQtQtQtQtQtQtQtQtQt.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.iQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.c.c.c.c.c.c.c.cQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.i.c.c.c.c.c.c.c.hQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.d.c.c.c.c.c.c.c.kQtQtQtQtQtQtQtQtQtQtQtQt.f.c.c.c.c.c.c.c.c.lQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.g.a.c.c.c.c.c.c.c.c.c.c.c.c.c.c.j.mQtQt.k.c.c.cQtQtQtQtQtQtQt.c.c.c.cQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.iQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.b.c.c.c.c.c.c.j.lQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.g.j.c.c.c.c.c.c.c.c.c.cQtQtQtQtQtQtQtQtQtQtQtQtQtQt.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.iQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.c.c.c.c.c.c.c.cQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.c.c.c.c.c.c.c.cQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.l.c.c.c.c.c.c.c.hQtQtQtQtQtQtQtQtQtQtQtQtQt.g.c.c.c.c.c.c.c.c.aQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.i.b.c.c.c.c.c.c.c.c.c.c.c.e.lQtQtQtQt.j.c.cQtQtQtQtQtQtQt.c.c.c.cQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.iQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.o.p.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.r.s.t.u.oQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.l.c.c.c.c.c.c.c.aQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.f.c.c.c.c.c.c.c.c.c.cQtQtQtQtQtQtQtQtQtQtQtQtQtQt.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.iQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.c.c.c.c.c.c.c.cQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.c.c.c.c.c.c.c.cQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.a.c.c.c.c.c.c.c.mQtQtQtQtQtQtQtQtQtQtQtQtQtQt.e.c.c.c.c.c.c.c.hQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.l.a.b.h.c.c.c.h.n.m.lQtQtQtQtQtQt.k.i.iQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.v.q.w.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.s.r.r.x.q.q.q.q.r.y.zQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.m.c.c.c.c.c.c.hQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.h.c.c.c.c.c.c.c.c.cQtQtQtQtQtQtQtQtQtQtQtQtQtQt.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.iQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.c.c.c.c.c.c.c.cQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.c.c.c.c.c.c.c.cQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.h.c.c.c.c.c.c.c.lQtQtQtQtQtQtQtQtQtQtQtQtQtQt.#.c.c.c.c.c.c.c.c.kQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.v.q.vQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.v.y.r.q.q.q.r.AQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.d.c.c.c.c.c.c.aQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.m.c.c.c.c.c.c.c.c.cQtQtQtQtQtQtQtQtQtQtQtQtQtQt.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.iQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.c.c.c.c.c.c.c.cQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.c.c.c.c.c.c.c.cQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.k.c.c.c.c.c.c.c.bQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.j.c.c.c.c.c.c.c.aQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.v.q.vQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.u.s.q.q.B.AQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.g.c.c.c.c.c.c.c.lQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.l.c.c.c.c.c.c.c.c.cQtQtQtQtQtQtQtQtQtQtQtQtQtQt.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.iQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.c.c.c.c.c.c.c.cQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.c.c.c.c.c.c.c.cQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.e.c.c.c.c.c.c.c.fQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.e.c.c.c.c.c.c.c.jQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.v.q.vQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.o.t.x.q.B.uQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.i.c.c.c.c.c.c.dQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.d.c.c.c.c.c.c.c.cQtQtQtQtQtQtQtQtQtQtQtQtQtQt.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.iQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.c.c.c.c.c.c.c.cQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.c.c.c.c.c.c.c.cQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.j.c.c.c.c.c.c.c.gQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.#.c.c.c.c.c.c.c.c.#QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQt.C.D.D.D.D.D.D.D.D.D.D.CQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.v.q.vQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.o.t.x.q.r.zQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.a.c.c.c.c.c.c.eQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.a.c.c.c.c.c.c.c.cQtQtQtQtQtQtQtQtQtQtQtQtQtQt.c.c.c.c.c.c.c.cQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.c.c.c.c.c.c.c.cQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.c.c.c.c.c.c.c.cQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.#.c.c.c.c.c.c.c.eQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.j.c.c.c.c.c.c.c.eQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQt.E.F.F.F.F.F.F.F.F.F.F.EQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.v.q.vQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.z.s.q.x.uQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.e.c.c.c.c.c.c.mQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.f.c.c.c.c.c.c.c.cQtQtQtQtQtQtQtQtQtQtQtQtQtQt.c.c.c.c.c.c.c.cQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.c.c.c.c.c.c.c.cQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.i.c.c.c.c.c.c.c.bQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.n.c.c.c.c.c.c.c.#QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.e.c.c.c.c.c.c.c.jQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQt.E.F.F.F.F.F.F.F.F.F.F.EQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.v.q.vQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.u.x.q.tQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.b.c.c.c.c.c.c.iQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.i.c.c.c.c.c.c.c.cQtQtQtQtQtQtQtQtQtQtQtQtQtQt.c.c.c.c.c.c.c.cQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.c.c.c.c.c.c.c.cQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.i.c.c.c.c.c.c.c.bQtQtQtQtQtQtQtQtQtQtQtQtQtQt.g.c.c.c.c.c.c.c.jQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.#.c.c.c.c.c.c.c.c.fQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQt.E.F.F.F.F.F.F.F.F.F.F.EQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.v.q.vQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.z.G.q.s.oQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.b.c.c.c.c.c.c.kQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.g.c.c.c.c.c.c.c.cQtQtQtQtQtQtQtQtQtQtQtQtQtQt.c.c.c.c.c.c.c.cQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.c.c.c.c.c.c.c.cQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.f.c.c.c.c.c.c.c.nQtQtQtQtQtQtQtQtQtQtQtQtQtQt.f.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.nQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQt.E.F.F.F.F.F.F.F.F.F.F.EQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.v.q.vQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.o.H.q.G.oQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.c.c.c.c.c.c.cQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.c.c.c.c.c.c.c.cQtQtQtQtQtQtQtQtQtQtQtQtQtQt.c.c.c.c.c.c.c.cQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.c.c.c.c.c.c.c.cQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.a.c.c.c.c.c.c.c.aQtQtQtQtQtQtQtQtQtQtQtQtQtQt.b.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.gQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQt.E.F.F.F.F.F.F.F.F.F.F.I.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.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.K.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.M.N.vQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.H.q.G.oQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.c.c.c.c.c.c.cQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.c.c.c.c.c.c.c.cQtQtQtQtQtQtQtQtQtQtQtQtQtQt.c.c.c.c.c.c.c.cQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.c.c.c.c.c.c.c.cQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.n.c.c.c.c.c.c.c.fQtQtQtQtQtQtQtQtQtQtQtQtQt.l.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.fQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQt.E.F.F.F.F.F.F.F.F.F.F.O.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.R.vQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.H.q.rQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.c.c.c.c.c.c.cQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.c.c.c.c.c.c.c.cQtQtQtQtQtQtQtQtQtQtQtQtQtQt.c.c.c.c.c.c.c.cQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.c.c.c.c.c.c.c.cQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.h.c.c.c.c.c.c.c.kQtQtQtQtQtQtQtQtQtQtQtQtQt.m.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.bQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQt.E.F.F.F.F.F.F.F.F.F.F.O.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.R.vQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.H.q.HQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.c.c.c.c.c.c.cQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.c.c.c.c.c.c.c.cQtQtQtQtQtQtQtQtQtQtQtQtQtQt.c.c.c.c.c.c.c.cQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.c.c.c.c.c.c.c.cQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.l.c.c.c.c.c.c.c.cQtQtQtQtQtQtQtQtQtQtQtQtQtQt.d.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.lQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQt.E.F.F.F.F.F.F.F.F.F.F.EQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.v.q.vQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.G.q.AQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.c.c.c.c.c.c.cQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.c.c.c.c.c.c.c.cQtQtQtQtQtQtQtQtQtQtQtQtQtQt.c.c.c.c.c.c.c.cQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.c.c.c.c.c.c.c.cQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.f.c.c.c.c.c.c.c.bQtQtQtQtQtQtQtQtQtQtQtQtQt.k.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.mQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQt.E.F.F.F.F.F.F.F.F.F.F.EQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.v.q.vQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.o.x.x.SQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.c.c.c.c.c.c.c.kQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.c.c.c.c.c.c.c.cQtQtQtQtQtQtQtQtQtQtQtQtQtQt.c.c.c.c.c.c.c.cQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.c.c.c.c.c.c.c.cQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.n.c.c.c.c.c.c.c.aQtQtQtQtQtQtQtQtQtQtQtQtQt.a.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.dQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQt.E.F.F.F.F.F.F.F.F.F.F.EQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.v.q.vQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.v.q.GQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.d.c.c.c.c.c.c.iQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.l.c.c.c.c.c.c.c.cQtQtQtQtQtQtQtQtQtQtQtQtQtQt.c.c.c.c.c.c.c.cQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.c.c.c.c.c.c.c.cQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.g.c.c.c.c.c.c.c.c.kQtQtQtQtQtQtQtQtQtQtQtQtQt.h.c.c.c.c.c.c.c.aQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.n.c.c.c.c.c.c.c.c.lQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQt.T.U.U.U.U.U.U.U.U.U.U.TQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.v.q.vQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.t.q.yQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.b.c.c.c.c.c.c.fQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.i.c.c.c.c.c.c.c.cQtQtQtQtQtQtQtQtQtQtQtQtQtQt.c.c.c.c.c.c.c.cQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.c.c.c.c.c.c.c.cQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.m.c.c.c.c.c.c.c.hQtQtQtQtQtQtQtQtQtQtQtQtQt.i.c.c.c.c.c.c.c.c.kQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.f.c.c.c.c.c.c.c.c.aQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.v.q.vQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.o.x.x.oQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.e.c.c.c.c.c.c.aQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.m.c.c.c.c.c.c.c.cQtQtQtQtQtQtQtQtQtQtQtQtQtQt.c.c.c.c.c.c.c.cQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.c.c.c.c.c.c.c.cQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.h.c.c.c.c.c.c.c.aQtQtQtQtQtQtQtQtQtQtQtQtQt.e.c.c.c.c.c.c.c.hQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.g.j.c.c.c.c.c.c.c.hQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.v.q.vQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.A.q.tQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.a.c.c.c.c.c.c.dQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.e.c.c.c.c.c.c.c.cQtQtQtQtQtQtQtQtQtQtQtQtQtQt.c.c.c.c.c.c.c.cQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.c.c.c.c.c.c.c.cQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.a.c.c.c.c.c.c.c.c.lQtQtQtQtQtQtQtQtQtQtQtQtQt.j.c.c.c.c.c.c.c.aQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.e.c.c.c.c.c.c.c.c.kQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.v.q.vQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.B.x.oQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.i.c.c.c.c.c.c.c.gQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.h.c.c.c.c.c.c.c.cQtQtQtQtQtQtQtQtQtQtQtQtQtQt.c.c.c.c.c.c.c.cQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.c.c.c.c.c.c.c.cQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.l.j.c.c.c.c.c.c.c.bQtQtQtQtQtQtQtQtQtQtQtQtQt.f.c.c.c.c.c.c.c.c.kQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.#.c.c.c.c.c.c.c.c.aQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.v.q.vQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.A.q.tQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.g.c.c.c.c.c.c.c.fQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.k.c.c.c.c.c.c.c.c.cQtQtQtQtQtQtQtQtQtQtQtQtQtQt.c.c.c.c.c.c.c.cQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.c.c.c.c.c.c.c.cQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.b.c.c.c.c.c.c.c.c.iQtQtQtQtQtQtQtQtQtQtQtQtQt.n.c.c.c.c.c.c.c.dQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.j.c.c.c.c.c.c.c.hQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.v.q.vQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.B.BQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.d.c.c.c.c.c.c.dQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.e.c.c.c.c.c.c.c.c.cQtQtQtQtQtQtQtQtQtQtQtQtQtQt.c.c.c.c.c.c.c.cQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.c.c.c.c.c.c.c.cQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.e.c.c.c.c.c.c.c.c.bQtQtQtQtQtQtQtQtQtQtQtQtQt.g.c.c.c.c.c.c.c.c.mQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.e.c.c.c.c.c.c.c.c.#QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.v.q.vQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.t.q.uQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.a.c.c.c.c.c.c.c.iQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.g.j.c.c.c.c.c.c.c.c.cQtQtQtQtQtQtQtQtQtQtQtQtQtQt.c.c.c.c.c.c.c.cQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.c.c.c.c.c.c.c.cQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.e.c.c.c.c.c.c.c.c.c.kQtQtQtQtQtQtQtQtQtQtQtQtQt.f.c.c.c.c.c.c.c.c.lQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.#.c.c.c.c.c.c.c.c.eQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.v.q.vQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.S.q.HQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.k.c.c.c.c.c.c.c.dQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.a.c.c.c.c.c.c.c.c.c.cQtQtQtQtQtQtQtQtQtQtQtQtQtQt.c.c.c.c.c.c.c.cQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.c.c.c.c.c.c.c.cQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.g.n.c.c.c.c.c.c.c.c.c.aQtQtQtQtQtQtQtQtQtQtQtQtQtQt.d.c.c.c.c.c.c.c.dQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.j.c.c.c.c.c.c.c.jQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.v.q.vQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.G.xQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.h.c.c.c.c.c.c.c.aQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.i.c.c.c.c.c.c.c.c.c.c.cQtQtQtQtQtQtQtQtQtQtQtQtQtQt.c.c.c.c.c.c.c.cQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.c.c.c.c.c.c.c.cQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.f.h.c.c.c.c.c.c.c.c.c.dQtQtQtQtQtQtQtQtQtQtQtQtQtQt.l.c.c.c.c.c.c.c.c.fQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.e.c.c.c.c.c.c.c.c.#QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.v.q.vQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.t.q.SQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.f.c.c.c.c.c.c.c.c.fQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.k.j.c.c.c.c.c.c.c.c.c.c.cQtQtQtQtQtQtQtQtQtQtQtQtQtQt.c.c.c.c.c.c.c.cQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.c.c.c.c.c.c.c.cQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.g.f.b.c.c.c.c.c.c.c.c.c.c.j.lQtQtQtQtQtQtQtQtQtQtQtQtQtQt.m.c.c.c.c.c.c.c.c.gQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.#.c.c.c.c.c.c.c.c.nQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.v.q.vQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.u.q.yQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.h.c.c.c.c.c.c.c.c.mQtQtQtQtQtQtQtQtQtQtQtQtQt.k.j.c.c.c.c.c.c.c.c.c.c.c.cQtQtQtQtQtQtQtQtQtQtQtQtQtQt.c.c.c.c.c.c.c.cQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.c.c.c.c.c.c.c.cQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.k.i.a.b.c.c.c.c.c.c.c.c.c.c.c.c.j.kQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.h.c.c.c.c.c.c.c.nQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.h.c.c.c.c.c.c.c.c.gQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.v.q.vQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.o.q.sQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.f.c.c.c.c.c.c.c.c.c.b.lQtQtQtQtQtQtQtQtQt.g.a.c.c.c.c.c.c.c.c.c.c.c.c.c.cQtQtQtQtQtQtQtQtQtQtQtQtQtQt.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.iQtQtQtQtQtQtQtQtQtQtQtQt.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.j.iQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.k.c.c.c.c.c.c.c.c.fQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.a.c.c.c.c.c.c.c.c.fQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.v.q.vQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.B.GQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.b.c.c.c.c.c.c.c.c.c.c.b.m.iQtQtQt.l.#.e.j.c.c.c.c.c.c.a.c.c.c.c.c.c.c.cQtQtQtQtQtQtQtQtQtQtQtQtQtQt.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.iQtQtQtQtQtQtQtQtQtQtQtQt.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.j.kQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.a.c.c.c.c.c.c.c.j.gQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.k.c.c.c.c.c.c.c.c.nQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.U.F.F.F.F.F.F.F.F.F.F.DQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.v.q.vQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.r.qQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.l.j.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.dQt.c.c.c.c.c.c.c.cQtQtQtQtQtQtQtQtQtQtQtQtQtQt.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.iQtQtQtQtQtQtQtQtQtQtQtQt.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.b.lQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.h.c.c.c.c.c.c.c.eQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.h.c.c.c.c.c.c.c.c.lQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.U.F.F.F.F.F.F.F.F.F.F.DQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.v.q.vQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.t.q.SQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.k.j.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.d.gQt.c.c.c.c.c.c.c.cQtQtQtQtQtQtQtQtQtQtQtQtQtQt.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.iQtQtQtQtQtQtQtQtQtQtQtQt.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.j.mQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.#.c.c.c.c.c.c.c.c.#QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.a.c.c.c.c.c.c.c.c.mQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.U.F.F.F.F.F.F.F.F.F.F.DQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.v.q.vQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.t.q.vQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.k.j.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.h.lQtQt.c.c.c.c.c.c.c.bQtQtQtQtQtQtQtQtQtQtQtQtQtQt.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.iQtQtQtQtQtQtQtQtQtQtQtQt.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.j.a.gQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.e.c.c.c.c.c.c.c.jQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.k.c.c.c.c.c.c.c.c.dQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.U.F.F.F.F.F.F.F.F.F.F.DQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.v.q.vQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.t.q.vQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.l.b.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.d.gQtQtQt.c.c.c.c.c.c.c.bQtQtQtQtQtQtQtQtQtQtQtQtQtQt.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.iQtQtQtQtQtQtQtQtQtQtQtQt.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.n.f.gQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.j.c.c.c.c.c.c.c.eQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.h.c.c.c.c.c.c.c.c.lQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.U.F.F.F.F.F.F.F.F.F.F.DQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.v.q.vQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.A.R.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.V.W.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.X.Y.P.P.P.P.c.c.c.c.c.c.c.Z.P.P.P.P.P.P.P.P.P.P.P.P.P.P.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.0.P.P.P.P.P.P.P.P.P.P.P.P.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.W.Z.1.X.0.Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.2.c.c.c.c.c.c.c.c.0.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.X.c.c.c.c.c.c.c.c.X.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.3.F.F.F.F.F.F.F.F.F.F.DQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.v.q.vQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.v.R.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.Y.X.4.c.c.c.c.c.c.c.c.c.c.c.Z.0.P.P.P.P.P.Y.c.c.c.c.c.c.c.X.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.3.F.F.F.F.F.F.F.F.F.F.DQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.v.q.vQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.t.N.M.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.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.5.6.7.8.c.c.c.9#.###a.J.J.J.J.J.J.J.5.c.c.c.c.c.c.c##.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.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.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#b.F.F.F.F.F.F.F.F.F.F.DQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.v.q.vQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.t.q.vQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.#.c.c.c.c.c.c.c.iQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.U.F.F.F.F.F.F.F.F.F.F.DQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.v.q.vQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.t.q.vQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.a.c.c.c.c.c.c.c.gQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.U.F.F.F.F.F.F.F.F.F.F.DQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.v.q.vQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.s.qQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.b.c.c.c.c.c.c.dQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.U.F.F.F.F.F.F.F.F.F.F.DQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.v.q.vQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.r.xQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.b.b.b.b.b.b.b.fQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.g.c.c.c.c.c.c.c.aQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.v.q.vQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.q.rQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.d.c.c.c.c.c.c.eQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.f.c.c.c.c.c.c.c.#QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.v.q.vQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.S.q.tQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.e.c.c.c.c.c.c.jQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.h.c.c.c.c.c.c.hQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.v.q.vQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.y.q.uQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.f.c.c.c.c.c.c.c.fQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.a.c.c.c.c.c.c.c.aQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.v.q.vQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.s.q.oQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.g.j.c.c.c.c.c.c.j.kQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.f.c.c.c.c.c.c.c.j.gQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.v.q.vQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.o.q.GQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.e.c.c.c.c.c.c.c.j.fQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.m.c.c.c.c.c.c.c.c.aQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.v.q.vQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.A.q.yQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.g.j.c.c.c.c.c.c.c.c.n.lQtQtQtQtQtQtQtQtQtQtQt.i.b.c.c.c.c.c.c.c.c.dQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.v.q.vQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.G.q.oQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.f.c.c.c.c.c.c.c.c.c.c.d.m.i.gQtQtQt.k.#.a.h.c.c.c.c.c.c.c.c.c.j.kQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.v.q.vQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.v.q.sQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.e.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.fQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.v.q.vQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.H.q.vQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.e.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.fQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.v.q.vQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.z.q.rQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.m.j.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.h.kQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQt.T.U.U.U.U.U.U.U.U.U.U.TQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.v.q.vQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.r.q.vQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.l.n.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.j.aQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQt.E.F.F.F.F.F.F.F.F.F.F.EQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.v.q.vQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.A.q.sQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.l.a.h.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.n.fQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQt.E.F.F.F.F.F.F.F.F.F.F.EQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.v.q.vQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.o.x.x.zQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.k.m.e.b.h.c.c.c.c.j.b.n.a.#.gQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQt.E.F.F.F.F.F.F.F.F.F.F.EQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.v.q.vQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.s.q.yQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQt.E.F.F.F.F.F.F.F.F.F.F.EQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.v.q.vQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.y.q.sQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQt.E.F.F.F.F.F.F.F.F.F.F#c#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#e#f#f#f#f#f#f#f#f#f#f#f#f#f#f#f#f#f#f#f#f#f#f#f#f#f#f#f#f#f#f#f#f#g#h.vQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.A.q.B.oQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQt.E.F.F.F.F.F.F.F.F.F.F.O.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.R.vQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.S.x.x.SQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQt.E.F.F.F.F.F.F.F.F.F.F#i#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#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#k#l#l#l#l#l#l#l#l#l#l#l#l#l#l#l#l#l#l#l#l#l#l#l#l#l#l#l#l#l#l#l#l#m#n.vQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.S.x.x.SQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQt.E.F.F.F.F.F.F.F.F.F.F.EQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.v.q.vQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.A.x.q.AQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQt.E.F.F.F.F.F.F.F.F.F.F.EQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.v.q.vQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.y.q.x.SQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQt.E.F.F.F.F.F.F.F.F.F.F.EQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.v.q.vQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.o.s.q.x.SQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQt.C.D.D.D.D.D.D.D.D.D.D.CQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.v.q.vQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.v.B.q.r.oQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.v.q.vQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.z.s.q.q.tQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.v.q.vQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.z.H.q.q.r.zQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.v.q.vQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.u.H.q.q.B.uQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.v.q.vQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.o.u.t.B.q.q.r.uQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.v.q.vQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.v.v.v.u.t.s.G.q.q.q.B.t.zQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.S#o.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.x.s.y.SQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.A.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.v.vQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.bQtQtQtQtQtQtQt.c.c.c.c.c.c.c.c.c.c.c.c.c.c.b.a.iQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.l.c.c.c.c.c.fQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.bQtQtQtQtQtQtQt.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.h.#QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.a.c.c.c.c.c.bQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.bQtQtQtQtQtQtQt.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.eQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.h.c.c.c.c.c.c.lQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.bQtQtQtQtQtQtQt.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.dQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.k.c.c.c.c.c.c.c.mQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.c.c.c.cQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.c.c.c.cQtQtQtQtQtQtQtQtQt.k.m.d.c.c.c.c.c.eQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.a.c.c.c.j.c.c.c.dQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.c.c.c.cQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.c.c.c.cQtQtQtQtQtQtQtQtQtQtQtQt.i.j.c.c.c.c.#QtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.h.c.c.c.m.c.c.c.c.lQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.c.c.c.cQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.c.c.c.cQtQtQtQtQtQtQtQtQtQtQtQtQt.l.j.c.c.c.hQtQtQtQtQtQtQtQtQtQtQtQtQtQt.#.c.c.c.jQt.d.c.c.c.mQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.c.c.c.cQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.c.c.c.cQtQtQtQtQtQtQtQtQtQtQtQtQtQt.k.c.c.c.c.fQtQtQtQtQtQtQtQtQtQtQtQtQt.e.c.c.c.aQt.m.c.c.c.hQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.c.c.c.cQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.c.c.c.cQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.a.c.c.c.dQtQtQtQtQtQtQtQtQtQtQtQtQt.j.c.c.c.kQt.l.c.c.c.c.kQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.c.c.c.cQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.c.c.c.cQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.l.c.c.c.c.lQtQtQtQtQtQtQtQtQtQtQt.#.c.c.c.hQtQtQt.d.c.c.c.aQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.c.c.c.cQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.c.c.c.cQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.b.c.c.c.fQtQtQtQtQtQtQtQtQtQtQt.n.c.c.c.mQtQtQt.m.c.c.c.hQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.c.c.c.cQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.c.c.c.cQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.a.c.c.c.aQtQtQtQtQtQtQtQtQtQt.g.c.c.c.c.lQtQtQt.l.c.c.c.c.kQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.c.c.c.cQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.c.c.c.cQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.i.c.c.c.bQtQtQtQtQtQtQtQtQtQt.f.c.c.c.bQtQtQtQtQt.d.c.c.c.aQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.c.c.c.cQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.c.c.c.cQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.k.c.c.c.hQtQtQtQtQtQtQtQtQtQt.n.c.c.c.fQtQtQtQtQt.m.c.c.c.hQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.iQtQtQtQtQtQtQt.c.c.c.cQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.c.c.c.cQtQtQtQtQtQtQtQtQt.l.c.c.c.c.gQtQtQtQtQt.l.c.c.c.c.#QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.iQtQtQtQtQtQtQt.c.c.c.cQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.c.c.c.cQtQtQtQtQtQtQtQtQt.m.c.c.c.eQtQtQtQtQtQtQt.n.c.c.c.eQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.iQtQtQtQtQtQtQt.c.c.c.cQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.c.c.c.cQtQtQtQtQtQtQtQtQt.d.c.c.c.#QtQtQtQtQtQtQt.f.c.c.c.jQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.iQtQtQtQtQtQtQt.c.c.c.cQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.c.c.c.cQtQtQtQtQtQtQtQt.l.c.c.c.jQtQtQtQtQtQtQtQt.g.c.c.c.c.#QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.c.c.c.cQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.c.c.c.cQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.g.c.c.c.jQtQtQtQtQtQtQtQt.a.c.c.c.aQtQtQtQtQtQtQtQtQt.n.c.c.c.eQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.c.c.c.cQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.c.c.c.cQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.i.c.c.c.bQtQtQtQtQtQtQtQt.h.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.j.gQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.c.c.c.cQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.c.c.c.cQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.f.c.c.c.eQtQtQtQtQtQtQt.k.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.fQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.c.c.c.cQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.c.c.c.cQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.e.c.c.c.mQtQtQtQtQtQtQt.a.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.nQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.c.c.c.cQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.c.c.c.cQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.j.c.c.c.kQtQtQtQtQtQtQt.h.c.c.c.kQtQtQtQtQtQtQtQtQtQtQt.#.c.c.c.c.gQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.c.c.c.cQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.c.c.c.cQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.f.c.c.c.hQtQtQtQtQtQtQt.#.c.c.c.hQtQtQtQtQtQtQtQtQtQtQtQtQt.j.c.c.c.fQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.c.c.c.cQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.c.c.c.cQtQtQtQtQtQtQtQtQtQtQtQtQtQt.g.j.c.c.c.aQtQtQtQtQtQtQt.e.c.c.c.aQtQtQtQtQtQtQtQtQtQtQtQtQt.e.c.c.c.nQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.c.c.c.cQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.c.c.c.cQtQtQtQtQtQtQtQtQtQtQtQtQt.g.d.c.c.c.j.gQtQtQtQtQtQtQt.j.c.c.c.kQtQtQtQtQtQtQtQtQtQtQtQtQt.#.c.c.c.c.lQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.c.c.c.cQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.c.c.c.cQtQtQtQtQtQtQtQtQtQtQtQt.k.d.c.c.c.c.mQtQtQtQtQtQtQt.#.c.c.c.hQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.j.c.c.c.mQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.c.c.c.cQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.c.c.c.cQtQtQtQtQtQtQtQtQt.k.f.n.c.c.c.c.c.bQtQtQtQtQtQtQtQt.n.c.c.c.aQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.e.c.c.c.dQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.aQtQtQtQtQtQt.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.d.gQtQtQtQtQtQtQt.g.c.c.c.c.kQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.#.c.c.c.c.lQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.aQtQtQtQtQtQt.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.n.gQtQtQtQtQtQtQtQt.f.c.c.c.hQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.j.c.c.c.mQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.aQtQtQtQtQtQt.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.h.fQtQtQtQtQtQtQtQtQtQt.n.c.c.c.aQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.e.c.c.c.dQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.aQtQtQtQtQtQt.c.c.c.c.c.c.c.c.c.c.c.c.c.c.b.a.#QtQtQtQtQtQtQtQtQtQtQt.l.c.c.c.c.kQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.f.c.c.c.c.lQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt"}; diff --git a/geda/pixmaps/geda_title.xpm b/geda/pixmaps/geda_title.xpm deleted file mode 100644 index b428efa7e..000000000 --- a/geda/pixmaps/geda_title.xpm +++ /dev/null @@ -1,112 +0,0 @@ -/* XPM */ -static char *geda_title[]={ -"540 45 64 1", -". c #000000", -"f c #000400", -"w c #000800", -"e c #000c00", -"# c #001000", -"o c #001400", -"K c #001800", -"t c #001c00", -"5 c #002000", -"0 c #002400", -"d c #002800", -"a c #002c00", -"T c #003000", -"B c #003400", -"4 c #003800", -"Z c #003c00", -"b c #004000", -"A c #004400", -"J c #004800", -"c c #004c00", -"7 c #005000", -"s c #005400", -"X c #005800", -"u c #005c00", -"Q c #006000", -"S c #006400", -"6 c #006800", -"E c #006c00", -"C c #007000", -"3 c #007400", -"n c #007800", -"g c #007c00", -"z c #008000", -"v c #008400", -"P c #008800", -"N c #008c00", -"r c #009000", -"9 c #009400", -"8 c #009800", -"L c #009c00", -"R c #00a000", -"y c #00a400", -"p c #00a800", -"V c #00ac00", -"q c #00b000", -"I c #00b400", -"x c #00b800", -"m c #00bc00", -"h c #00c000", -"H c #00c400", -"1 c #00c800", -"2 c #00cc00", -"U c #00d000", -"Y c #00d400", -"D c #00d800", -"l c #00dc00", -"i c #00e000", -"F c #00e400", -"O c #00e800", -"W c #00ec00", -"j c #00f000", -"M c #00f400", -"G c #00f800", -"k c #00fc00", -"............................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", -"............................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", -"............................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", -"............................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", -"............................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", -"............................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", -"............................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", -"............................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", -"............................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", -"..................#abccbde............ffffffffffff...........fff..........................fffffffffffffffff.....ff....................................................................................................ff.................................fffffffffff.................................................ff............................................................ffff....................................................................................................................ff...............................................", -"................aghijkkjlmnd.........opmmmmmmmmmmqrst.......opmpo........................ummmmmmmmmmmmmmmmvw...ummu..................................................................................................ummu...............................ummmmmmmmmxyzA#.............................................ummu..........................................................BqmmqB..................................................................................................................ummu..............................................", -"..............#ClkkkkkkkkkkDEe.......tFkkkkkkkkkkkkGHsf.....tFkFt........................zkkkkkkkkkkkkkkkkIe...zkkz..................................................................................................zkkz...............................zkkkkkkkkkkkkjqJf...........................................zkkz..........................................................gkkkkg..................................................................................................................zkkz..............................................", -".............KLGkkGlhqqHikkkMN#......tikkGGGGGGGGkkkkOu.....tikit........................gkkkGGGGGGGGGGGGGqe...gkkg........................................APPA......................................................zkkz...............................gkkkGGGGGGGkkkkFQf..........................................zkkz.........................................................oHkkkkho............................#nPn#.......................................................................#nPn#....zkkz..............................................", -"............oRkkGmSde.foTCUkkGgf.....tikOsbbbbbbAEVWkkDd....tikit........................gkkRbbbbbbbbbbbbbaf...gkkg........................................zkkz......................................................XqqX...............................gkkRbbbbbbJEpOkkOX..........................................XqqX.........................................................AjkMGkWA............................tFkFt.......................................................................tFkFt....XqqX..............................................", -"...........fzGkjzK........dVkkFb.....tikiK........eQFkkn....tikit........................gkkg..................gkkg........................................gkkg.........................................................................................gkkg........wJHkkYd.....................................................................................................fNkkxHkkv............................tikit.......................................................................tikit......................................................", -"...........ZFkMnf..........01kkRw....tikit..........zGkIe...tikit........................gkkg..................gkkg........................................gkkg.........................................................................................gkkg..........TUkkvf....................................................................................................K2kMu3kk2K...........................tikit.......................................................................tikit......................................................", -"..........wLkky#............SGkid....tikit..........BOkYK...tikit........................gkkg..................gkkg........tZccZt............wdAcAdw.....ffzkkzff....ff...dJ4f.....w0AccBK.........fff..fdAcA0f..................K4cc4o.................gkkg...........XjkY5.........tZccZt...........f0bccb5...................5AcA5...ff......ff...o4ccB#.....................sMkY5BOkjc........fff.........ff....f5iki5f.......w0AccBK.........fff..eBcc4#....wTJcA5...........KBccJBo.......f5iki5f...............oBccAdw.........ff...o4ccB#...........", -"..........aikO4.............tVHxZ....tikit..........tikit...tikit........................gkkg..................gkkg......5z2WkkW2vd........fAylMkMlyAf..opmlkklmpo..umIZw6DGDK...fAyDMkkO2z0......opmPwtNlMkMDNt.....7RR7......tn1WkkO1nt...............gkkg...........ohkMX.......5z2WkkW2vd.......fARDjkkjUv5.....7RR7......0NYMkMYvK#pmu....umIZfsmOkkOmsf..................f8kk8fexkkrf......opmpo.......ummu..umHMkMHmu....fAyDMkkO2z0......opmvebqFkkOxA..4piGkMUn#.......dP2OkkGF1nK....umHMkMHmu..7RR7......t3HFkkMlV7w......umIZfsmOkkOmsf.........", -"..........6GkVw..............e##w....tikit..........BOklK...tikit........................gkkg..................gkkg.....bHkkkGGkkk2c......w3OkkGGkkkO3w.tOkkkkkkOt..zkGsQjkkFt..w3OkkkGGkkk1b.....tFkITmkkGGkkkq5....zkkz.....TmkkkGGkkkmT..............gkkg............zkkN......bHkkkGGkkk2c.....fSFkkkGGkkkm0....zkkz.....Z1kkkGGkkVZFkz....zkGs6WkGGkkkOQf.................5Dkj7..nkkUt......tFkFt.......zkkz..zkkkkkkkz...w3OkkkGGkkk1b.....tFkIXikGGkkkiAclkkGkkkGvf.....b2kkkGGGkkkqt...zkkkkkkkz..zkkz.....TmkkkGGkkkWv#.....zkGs6WkGGkkkOQf........", -".........fLkG6.......................tikit..........gGkm#...tikit........................gkkg..................gkkg....aUkk13AAChkklZ....fEjkjRXbXRjkjQ.oLqYkkYqLo..gkjPlkF2Vo.fEjkGx6bJzDkk2a....tikmqGxQbsyMkkzf...gkkg....5hkkU3AA3Ukkxt.............gkkg............sMkqe....aUkk13AAChkklZ....cOkGISbA3Ykk9w...gkkg....01kkU3AJzlkxWkg....gkj8FFPJb3DkkDd.................QMkUK..4OkMs......tikit.......gkkg..XqxMkMxqX..fEjkGx6bJzDkk2a....tikYDO9cJNWkkUlMyXbE2kkFB....02kk23Jbs8Okkzf..XqxMkMxqX..gkkg....0hkkiNcbQVMkGgf....gkj8FFPJb3DkkDd........", -".........#mkWb.......................tikiK........wuFkkP....tikit........................gkkzfffffffffffff.....gkkg...eykkp5....tRGkq#...TikjCw...w3Mk2t...gkkg.....gkGFWPTK#..4ikGPo....THkkLw...tikjMLo...eLkk1o...gkkg...fNkkha....aHkGE.............gkkg............4Wk1o...eykkp5....tRGkq#..wykG9o....Zlkl0...gkkg...fNkkma....ZUkkkg....gkGjlc....bFkGS................wpkkNf..#xkkLw.....tikit.......gkkg....tikit....4ikGPo....THkkLw...tikkWuf..fvGkkM3e...4lkGS....EGkHa....fnGk1o....tikit....gkkg...w9kkUb....e3MkFZ....gkGjlc....bFkGS........", -".........KYkFd........fffffffffff....tikOQ77777773VWkklT....tikit........................gkklmmmmmmmmmmmmIZ....gkkg...AWk15......tHkj7..fNkkLw.....#xkM7...gkkg.....gkkkPf....f9kkV#......bFkO4...tikkHt.....AWkit...gkkg...TikFb......XMkqe............gkkg............5FklK...AWk15......tHkj7..KYkOT.....fRkjJ...gkkg...TikFZ......Xjkkg....gkkG6.....wykkg................dikjA....nkkD5.....tikit.......gkkg....tikit...f9kkV#......bFkO4...tikk9f....BOkkyw....fRkkg...f8kGQ......dFkit....tikit....gkkg...BFkW7......eLkk8f...gkkG6.....wykkg........", -".........tikit.......f3mmmmmmmmmpo...tikkkkkkkkkkkkkkFX.....tikit........................gkkkkkkkkkkkkkkkG7....gkkg..fNkGE........CGkrf.KUkWb.......3GGn...gkkg.....gkkld.....tDkWA.......wRkkn...tikG3......5ikit...gkkg...CkkRw......tYGDK............gkkg............tikit..fNkGE........CGkrf.tikFd......BuXt...gkkg...CkkLf......#mkkg....gkkUt......zkkg................EGkh#....4OkMQ.....tikit.......gkkg....tikit...tDkWA.......wRkkn...tikjJ.....tikjc......zkkg...fQrP5......tikit....tikit....gkkg...nkkpw.......bWkDt...gkkUt......zkkg........", -".........tikit.......fLkkkkkkkkkFt...tikkkkkkkkkkkkGHc......tikit........................gkkGGGGGGGGGGGGGW7....gkkg..#mkOa........ZWkIe.bWkH#.......5XuT...gkkg.....gkkVw.....Jjk1o........QGkpw..tikWA......tikit...gkkg..wykGQ.......fAuse............gkkg............tikit..#mkOa........ZWkIe.o1kG85............gkkg..wykGQ........vkkg....gkkyw......gkkg...............eIkkg.....exkkpw....tikit.......gkkg....tikit...Jjk1o........QGkpw..tikF5.....tikF5......gkkg..............4Okit....tikit....gkkg..wpkGS........#HkjJ...gkkyw......gkkg........", -".........KYkOB.......f9GGGGGGGkkit...tikMIVVVVVVVVruK.......tikit........................gkkLbbbbbbbbbbbbZo....gkkg..5lkiu777777773jk2o.QGkRf..............gkkg.....gkkN......SGkLf........4WkHo..tikF5......tikit...gkkg..#HkWZ........................gkkg............dFkYK..5lkiu777777773jk2o.fzkkkUP7de........gkkg..#HkW4........QGkg....gkkv.......gkkg...............BOkOZfffffwgkkld....tikit.......gkkg....tikit...SGkLf........4WkHo..tikit.....tikit......gkkg.........wtabEHkkit....tikit....gkkg..o1kW4........fLkGS...gkkv.......gkkg........", -".........#mkMs........0bbbbbbsOkit...tikit..................tikit........................gkkg..................gkkg..BOkkkkkkkkkkkkkkit.nkkv...............gkkg.....gkkg......gkkz.........5FklK..tikit......tikit...gkkg..KlkF5........................gkkg............Ajkh#..BOkkkkkkkkkkkkkkit..KRMkkkGlxvJ#.....gkkg..KlkF5........7Mkg....gkkg.......gkkg...............nkkMHmmmmmmYkkG6....tikit.......gkkg....tikit...gkkz.........5FklK..tikit.....tikit......gkkg......d68xUijkkkkit....tikit....gkkg..tlkF5.........zkkn...gkkg.......gkkg........", -".........fLkkP...............0Fkit...tikit..................tikit........................gkkg..................gkkg..BOkkGGGGGGGGGGGGlt.zkkg...............gkkg.....gkkg......zkkg.........tikit..tikit......tikit...gkkg..tikit........................gkkg............SGkyw..BOkkGGGGGGGGGGGGlt...euqFkkkkkjIb....gkkg..tikit........7Mkg....gkkg.......gkkg..............#mkkkkkkkkkkkkkkqe...tikit.......gkkg....tikit...zkkg.........tikit..tikit.....tikit......gkkg....#nDkkkkGF1RWkit....tikit....gkkg..tikit.........gkkz...gkkg.......gkkg........", -"..........6Gk1K..............cjkit...tikit..................tikit........................gkkg..................gkkg..BOkYcZZZZZZZZZZZ4w.nkkv...............gkkg.....gkkg......nkkv.........0FklK..tikit......tikit...gkkg..KlkF5........................gkkg...........wRkk3...BOkYcZZZZZZZZZZZ4w.....eTQ8HFkkklZ...gkkg..KlkF0........7Mkg....gkkg.......gkkg..............bWkMxVVVVVVVVHGkFT...tikit.......gkkg....tikit...nkkv.........0FklK..tikit.....tikit......gkkg...fvGkG2r6JTKtikit....tikit....gkkg..KlkF0.........vkkn...gkkg.......gkkg........", -"..........TikMu.............fNkkit...tikit..................tikit........................gkkg..................gkkg..5ik2#..............SGkRf.......fKK#...gkkg.....gkkg......QGkyw........bWkHo..tikit......tikit...gkkg..oHkWZ........#KKw............gkkg...........aikWb...5ik2#......................oTEYkkRw..gkkg..oHkWZ........SGkg....gkkg.......gkkg..............Pkkx#........aikk3...tikit.......Pkkg....tikit...QGkyw........bWkHo..tikit.....tikit......gkkg...BFkjnK.....tikit....tikit....gkkg..#hkWb........wykGS...gkkg.......gkkg........", -"..........wRkkH5............Blkkit...tikit..................tikit........................gkkg..................gkkg..#hkOB........KZZ0..AjkHo.......4HUNw..gkkg.....gkkg......ZWkUK........CGkpw..tikit......tikit...gkkg..wpkGS.......wPUHZ............gkkg..........w8kkI#...#hkOB........KZZ0..KZZd.......sjkYK..gkkg..wpkGS.......frkkg....gkkg.......gkkg.............K2kkn.........wpkkIe..tikit......wVkkg....tikit...ZWkUK........CGkpw..tikit.....tikit......gkkg...6Gkpw......tikit....tikit....gkkg..wRkGC........KUkjA...gkkg.......gkkg........", -"...........bFkkLo..........0xkkkit...tikit..................tikit........................gkkg..................gkkg..fNkGgf......fvWWE..K2kWJ.......nkkNf..gkkg.....gkkg......K2kMu.......#xkGE...tikit......tikit...gkkg...EGkpe......tYkFa............gkkg.........#zMkMX....fNkGgf......fvWWE..7FWpe......5Fkit..gkkg...EGkVe......tUkkg....gkkg.......gkkg.............cjkFB..........6GkO4..tikF0......aikkg....tikit...K2kMu.......#xkGE...tikit.....tikit......gkkg...zkkz.......BOkit....tikit....gkkg...EGkmo.......sMk2K...gkkg.......gkkg........", -"...........fzGkGV4f......fbmkkkkit...tikit..................tiki5fffffffffff.............gkkzffffffffffffff....gkkg...bWklZ......4lkO4..fvkkqo.....51kM7...gkkg.....gkkg......fvkk10......Sjkld...tikit......tikit...gkkg...dlkWs......CGkIe............gkkzffffffe0sVMkky#.....bWklZ......4lkO4..4WkiT......cjk1o..gkkg...aikWs.....fnGkkg....gkkg.......gkkg............f9kkqe..........dlkkg..KlkMu.....fNkkkg....tikit...fvkk10......Sjkld...tikit.....tikit......gkkg...3kk8f.....wrkkit....tikit....gkkg...dlkMCf.....tmkkvf...gkkg.......gkkg........", -"............oykkkFRu4aa4uRFkWrlkit...tikit..................tikMHhhhhhhhhhhxZ............gkklhhhhhhhhhhhhhmc...gkkg...eLkk27e..wb1kk8w...dYkG80f..0pkkmo...gkkv.....gkkg.......dYkkIBf..#SFkGgf...tikit......tikit...gkkg...fgGkDse..wuFkMu.............gkklhhhhhhHDMkkkx5......eLkk27e..wb1kk8w..#hkkIBf..fZhkkPf..gkkg...fvGkY7w..#EWMkkg....gkkg.......gkkg............5YkGE...........wykkho.exkk2bf..KnjjGkg....tikF0....dYkkIBf..#SFkGgf...tikit.....tikit......gkkg...Jjki7w..fa9MkkOT....tikF0....gkkg...fgGkOCo..fTVGkYd....gkkg.......gkkg........", -".............K8MkkkGOiiOGkki6#qkit...tikit..................tikkkkkkkkkkkkkG7............gkkkkkkkkkkkkkkkkkS...gkkg....0mkkWxrNVOkkh0.....sFkkYLNLUkkic....nkkDrg#..gkkg........sFkkiyNrhMkkyK....tikit......tikit...gkkg....KykkWINNIWkkR#.............gkkkkkkkkkkkkkj85........0mkkWxrNVOkkh0....XjkkipNNpFkk2d...gkkg....tIkkWINrmMiLjkg....gkkg.......gkkg............XMkid............uMkWA..SMkkFyN9HGWvFkg....KlkGVNA...sFkkiyNrhMkkyK....tikit.....tikit......gkkg...#qkkOVNNpiklUkkhv0..KlkGVNA..gkkg....KykkMh9NRlkkFs.....gkkg.......gkkg........", -"..............eQHGkkkkkkkjqb..zGlt...tlGlt..................tlGGGGGGGGGGGGGW7............gGGGGGGGGGGGGGGGGMQ...gGGg.....dpMkkkkkkMpa.......7UkkkkkkkU7f....AOkkkFt..gGGg.........72GkkkkkkW9K.....tlGlt......tlGlt...gGGg.....K8jkkkkkkj8K..............gGGGGGGGGGGOUR7e..........dpMkkkkkkMpa.....wCikkkkkkkGm4....gGGg.....0yMkkkkkls7Mkn....gGGg.......gGGg...........wLGGpw............0YGMv..ePWkkkkkkiS5lGg....eykkkkz....72GkkkkkkW9K.....tlGlt.....tlGlt......gGGg....ThkkkkkkGI4uMkkGs..eykkkkz..gGGg.....K9Okkkkkkk27......gGGg.......gGGg........", -"................KX8hUYUmNJ#...0X7w...wBZBw..................wBZZZZZZZZZZZZZZo............tZZZZZZZZZZZZZZZZZK...tZZt......#sRHYYHLs#.........03IUYUIn0......fumYYVo..tZZt..........t6V2YYhrAw......wBZBw......wBZBw...tZZt......ec8HYYH8ce...............tZZZZZZZZZZBtf.............#sRHYYHLs#.......f4vxUYYHRuo.....tZZt......#Xp2Y1rB.sMk6....tZZt.......tZZt...........faZZ5.............faZZd...wcL1YYhr4.fBZt.....092Y2u.....t6V2YYhrAw......wBZBw.....wBZBw......tZZt.....tCxUY2pXo.#v1Ym4...092Y2u..tZZt......wbrhUY2VE5.......tZZt.......tZZt........", -"...................#555e...................................................................................................fo55o..............wt5tw..........#55#...................fK55#.........................................o55o...............................................fo55o.............et55of..............fff..ft5K...CkMs...........................................................K55#.............ft5Kw.......fK55#.........................................e55Kf.....K5o.....ft5Kw...............#55tw................................", -"...........................................................................................................................................................................................................................................................................................................................cmh6.......wpkOB.................................................................................................................................................................................................................", -"...........................................................................................................................................................................................................................................................................................................................AjkH5......7Okh#.................................................................................................................................................................................................................", -"...........................................................................................................................................................................................................................................................................................................................#qkGqJtwed6DkG6..................................................................................................................................................................................................................", -"............................................................................................................................................................................................................................................................................................................................ZDkkWUhHDGkG8#..................................................................................................................................................................................................................", -".............................................................................................................................................................................................................................................................................................................................4VjkkkkkGYn#...................................................................................................................................................................................................................", -"..............................................................................................................................................................................................................................................................................................................................eAnLpyPu0.....................................................................................................................................................................................................................", -"............................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", -"............................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................"}; diff --git a/geda/pixmaps/graph.xpm b/geda/pixmaps/graph.xpm deleted file mode 100644 index 0e44096a9..000000000 --- a/geda/pixmaps/graph.xpm +++ /dev/null @@ -1,34 +0,0 @@ -/* XPM */ -static char const * const linegraph_icon [] = { -/* width height num_colors chars_per_pixel */ -" 18 18 9 1", -/* colors */ -". c #000000", -"# c #ff0000", -"a c #00ffff", -"b c #008400", -"c c #008484", -"d c #848484", -"e c #c6c6c6", -"f c #ffff00", -"g c #ffffff", -/* pixels */ -"gggggggggggggggggg", -"gggggggggggggggggg", -"g.gggggggggggggggg", -"g.gggggggggggggggg", -"g.ggggggbbgggg##gg", -"g.ggggggbbgggg##gg", -"g.gggggcggcggg#ggg", -"g.ggggcggggcg#gggg", -"g.gggcgggggg#ggggg", -"g.gbbgggggg#gcgggg", -"g.gbbggggg#gggbbgg", -"g.ggggggg#ggggbbgg", -"g.g##gg##ggggggggg", -"g.g######ggggggggg", -"g.gggggggggggggggg", -"g................g", -"gggggggggggggggggg", -"gggggggggggggggggg" -}; diff --git a/geda/pixmaps/html_document.xpm b/geda/pixmaps/html_document.xpm deleted file mode 100644 index 04f37dc73..000000000 --- a/geda/pixmaps/html_document.xpm +++ /dev/null @@ -1,176 +0,0 @@ -/* XPM */ -static char *html_document[]={ -"16 16 157 2", -"#Q c #0011cb", -"#C c #001acf", -"#W c #0030b6", -"#I c #0031c8", -"#n c #003be1", -"as c #114fa9", -"#t c #1157aa", -"#e c #115eac", -".i c #1160b0", -"#u c #1160e9", -"#N c #1161f3", -"#O c #134fd5", -"## c #176dfd", -".W c #1c77ff", -"at c #1d59aa", -".j c #1e65af", -"#3 c #2162ed", -"ah c #2166c6", -"#H c #2369bb", -"#7 c #256ec1", -".O c #257fd6", -"#J c #266df3", -"#f c #268efd", -"ar c #2762b6", -"#B c #2c7cfe", -"#A c #2c95ff", -"#v c #2c99ff", -"#m c #309bff", -"ai c #3268d5", -".w c #3381d3", -".2 c #347cc1", -"#z c #359eff", -"#o c #3663e1", -"ag c #3781c7", -"#. c #379fff", -".h c #397bbb", -"#a c #3b78de", -"#p c #3c6aa8", -"#E c #3d6ba9", -".H c #3d8ceb", -"#l c #3ea5ff", -"#P c #407bf4", -"#2 c #417cf3", -"#R c #417fe0", -"am c #418bd4", -".V c #41a7ff", -"#D c #4582ee", -".G c #45aaff", -"au c #477cbe", -".q c #4a90c7", -".k c #4b83c0", -".z c #4b8ec7", -".r c #4d96cb", -"#4 c #528dcd", -".X c #548dce", -"ab c #559bea", -".v c #58abf5", -"#k c #5abaff", -".9 c #5bbaff", -"#8 c #5fa0e8", -".3 c #5fadf3", -"#S c #6387b9", -"#b c #6489ba", -"an c #658cbe", -".A c #66b8f3", -".x c #6890c1", -"ac c #698cbc", -".I c #6c8fbe", -".U c #6fcaff", -".F c #75ceff", -"aj c #779ef1", -"#j c #7bd1ff", -"#V c #7eaedb", -".8 c #81d8ff", -"aq c #82afdb", -".s c #83cef5", -".g c #87b2da", -"#0 c #87b7ff", -"#X c #87c1ff", -".u c #87daff", -"al c #89c8f5", -".N c #8eb8db", -"ak c #8eb9fa", -"#g c #90e6ff", -"#5 c #97aed0", -"aa c #98d5ff", -"#w c #98e5ff", -".Y c #9ab0d1", -"av c #9bb2d2", -".a c #9c9cb6", -".7 c #9decff", -".T c #9fedff", -".l c #a3b9d7", -"#K c #a3ddff", -"#i c #a3e7ff", -"#1 c #a6ddff", -".6 c #a6f1ff", -"#y c #a7e7ff", -".E c #a7f3ff", -".t c #adeeff", -"#M c #b1eaff", -".P c #bef4ff", -"#L c #c2f7ff", -"ao c #c3cee3", -".y c #c4cfe3", -"af c #c4d8ec", -"a# c #c7f9ff", -".B c #c8ffff", -".M c #c9c9da", -".p c #cbddec", -".S c #cbffff", -".1 c #ccccdb", -"#x c #cdfeff", -".0 c #cecedd", -".# c #d0d0df", -"#9 c #d1feff", -"#d c #d2d2e0", -".o c #d3d3e1", -"#c c #d5d5e4", -"ad c #d5dbea", -".J c #d6dbeb", -".L c #d7d7e5", -"#s c #d8d8e6", -"#h c #d8ffff", -"aw c #d9dfed", -".Z c #dadae7", -"#r c #dbdbe8", -".4 c #dbffff", -"#q c #dcdce9", -"#G c #dedeeb", -".D c #dfffff", -"#F c #e0e0ec", -"#Y c #e0ffff", -"#U c #e1e1ed", -".m c #e2e7f4", -"#6 c #e4e4ee", -"#T c #e5e5ef", -".K c #e6e6f0", -".5 c #e6ffff", -"ae c #e7e7f0", -".f c #e8eef5", -".d c #e9e9f2", -"#Z c #e9ffff", -"ap c #eaeaf3", -"a. c #eaffff", -".e c #ebebf4", -".n c #ececf4", -"aA c #efeff6", -"az c #f1f1f8", -".Q c #f1ffff", -"ay c #f3f3f9", -".R c #f3ffff", -".c c #f5f5fc", -".b c #f9f9fe", -".C c #f9ffff", -"ax c #fcfcff", -"Qt c #ffffff", -"QtQtQtQt.#.#.#.#.#.#.#.#.aQtQtQt", -"QtQtQtQt.#QtQtQt.b.c.d.e.#.aQtQt", -"QtQt.f.g.h.i.j.k.l.m.n.e.#.o.aQt", -"Qt.p.q.r.s.t.u.v.w.x.y.e.a.a.a.a", -".f.z.A.B.C.D.E.F.G.H.I.J.K.L.M.a", -".N.O.P.Q.R.S.T.U.V.W.X.Y.Z.0.1.a", -".2.3.4.5.6.7.8.9#.###a#b#c#d.#.a", -"#e#f#g#h#i#j#k#l#m#n#o#p#q#r#s.a", -"#t#u#v#w#x#y#z#A#B#C#D#E#F#G#q.a", -"#H#I#J#K#L#M#N#O#P#Q#R#S#T#U#F.a", -"#V#W#X#L#Y#Z#0#1#2#3#4#5.K#6#F.a", -".f#7#8#9.RQta.a#aaabacadae#T#U.a", -"Qtafagahaiajakalamanaoapae#T#U.a", -"QtQt.faqarasatauavaw.nap.K#T#U.a", -"QtQtQtQt.#axayayazaA.eapae#T#U.a", -"QtQtQtQt.a.a.a.a.a.a.a.a.a.a.a.a"}; diff --git a/geda/pixmaps/pcb_document.xpm b/geda/pixmaps/pcb_document.xpm deleted file mode 100644 index e0c8a0521..000000000 --- a/geda/pixmaps/pcb_document.xpm +++ /dev/null @@ -1,95 +0,0 @@ -/* XPM */ -static char *pcb_document[]={ -"16 16 76 2", -".# c #000000", -"#i c #757575", -".6 c #808080", -".M c #8c8c8c", -".n c #909090", -".z c #959595", -".L c #979797", -".l c #989898", -".w c #999999", -"#j c #9a9a9a", -"#f c #9b9b9b", -".5 c #a1a1a1", -"#g c #a2a2a2", -".W c #a3a3a3", -".q c #a5a5a5", -".P c #a7a7a7", -".S c #aaaaaa", -".t c #aeaeae", -".Q c #afafaf", -".2 c #b0b0b0", -"#a c #b1b1b1", -".I c #b2b2b2", -".T c #b3b3b3", -".i c #b5b5b5", -".u c #b7b7b7", -".f c #b8b8b8", -".Z c #bbbbbb", -"#e c #bcbcbc", -".8 c #bdbdbd", -".r c #bebebe", -".B c #bfbfbf", -".Y c #c0c0c0", -"#. c #c2c2c2", -".a c #c3c3c3", -".4 c #c4c4c4", -".o c #c6c6c6", -".N c #c7c7c7", -".c c #c8c8c8", -"#h c #c9c9c9", -"#b c #cccccc", -".O c #cecece", -".V c #d0d0d0", -".E c #d1d1d1", -".p c #d3d3d3", -".X c #d5d5d5", -"## c #d6d6d6", -".K c #d7d7d7", -".3 c #d8d8d8", -".s c #d9d9d9", -".x c #dadada", -".1 c #dbdbdb", -".A c #dddddd", -".9 c #e0e0e0", -".U c #e1e1e1", -".g c #e2e2e2", -".y c #e4e4e4", -".7 c #e5e5e5", -".j c #e6e6e6", -".v c #e7e7e7", -".h c #e9e9e9", -".R c #eaeaea", -".C c #ebebeb", -".e c #ededed", -".G c #eeeeee", -".J c #f0f0f0", -".H c #f3f3f3", -".F c #f4f4f4", -"#c c #f5f5f5", -"#d c #f6f6f6", -".m c #f7f7f7", -".k c #f8f8f8", -".0 c #f9f9f9", -".d c #fafafa", -".b c #fbfbfb", -".D c #fcfcfc", -"Qt c #ffffff", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"Qt.#.#.a.a.a.a.a.a.a.a.a.a.#.#Qt", -"Qt.#.b.cQt.d.aQt.e.f.g.h.i.j.#Qt", -"Qt.#.k.lQt.m.nQt.o.p.q.r.s.t.#Qt", -"Qt.#Qt.rQtQt.uQt.v.w.x.y.z.A.#Qt", -"Qt.#.m.B.C.D.EQt.F.u.G.H.I.J.#Qt", -"Qt.#.K.a.L.F.MQt.N.O.P.B.p.Q.#Qt", -"Qt.#.R.S.cQt.TQt.U.q.V.A.W.X.#Qt", -"Qt.#.D.Y.k.D.Z.0Qt.1.0.b.2.d.#Qt", -"Qt.#.3.Y.w.V.4.5.J.6Qt.Y.O.2.#Qt", -"Qt.#.7.I.8.9.I#.Qt.PQt###a#b.#Qt", -"Qt.#.b.Z#c.d.i#d.D.i.d.D#b.b.#Qt", -"Qt.#.3#e#f.E.Y#g#h.4.S.R#iQt.#Qt", -"Qt.#.U.Z#a.1#e.u.X.r.8Qt#jQt.#Qt", -"Qt.#.#.a.a.a.a.a.a.a.a.a.a.#.#Qt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt"}; diff --git a/geda/pixmaps/pdf_document.xpm b/geda/pixmaps/pdf_document.xpm deleted file mode 100644 index 500cb885a..000000000 --- a/geda/pixmaps/pdf_document.xpm +++ /dev/null @@ -1,138 +0,0 @@ -/* XPM */ -static char *pdf_document[]={ -"16 16 119 2", -".a c #9494ad", -"#M c #ac8183", -"#z c #b74331", -"#U c #b8bbc9", -"#F c #bdb4ba", -"#T c #be5245", -"#n c #be7570", -"#v c #bfb9c0", -".D c #bfbfd0", -"#c c #c0abb4", -".N c #c2c2d1", -".5 c #c3becb", -"#Z c #c47267", -".M c #c4c4d3", -"#G c #c5c9d2", -".i c #c6bfcc", -".q c #c6c3d1", -".# c #c6c6d5", -"#u c #c75e4f", -"#S c #c84030", -".U c #c8c8d6", -".p c #c9c9d7", -"#k c #cabcc2", -".T c #cbcbd9", -"#K c #cc5041", -"#r c #ccb3b2", -".C c #cdcdda", -"#R c #ce2b1c", -".4 c #cecedb", -"#. c #cfaeaf", -".L c #d0d0dc", -".3 c #d1d1dd", -"#q c #d2837b", -".2 c #d2d2de", -"#i c #d35847", -"#j c #d36858", -"#t c #d45341", -"#b c #d4d4e0", -"#L c #d51e0f", -"#a c #d5d4df", -".W c #d68678", -"#s c #d6a19e", -".7 c #d6c5c5", -".1 c #d6d6e1", -"#h c #d7341c", -"#g c #d76a5d", -".Y c #d78f85", -"#l c #d7d7e2", -"#P c #d7d8e1", -"#B c #d8ced0", -"#p c #d98075", -"#A c #d9a49b", -".t c #d9bcb9", -"## c #d9d0d8", -"#w c #d9d9e3", -"#d c #da7767", -"#H c #dadae4", -".B c #dbdbe5", -".G c #dcb3ae", -".l c #dcbab7", -"#E c #dcc8cd", -".0 c #dcdce5", -"#0 c #dce3e3", -"#C c #dddce2", -".9 c #de4c37", -".y c #ded3d3", -".g c #dedee7", -"#Y c #df3424", -"#o c #df5f48", -"#W c #dfdfe8", -".Q c #e05a44", -".h c #e0e0e9", -".o c #e1e1e9", -".X c #e36b58", -"#e c #e3cbc9", -".K c #e3e3ea", -".v c #e4e4eb", -"#D c #e4e6ed", -".Z c #e4e7ee", -".6 c #e56e5b", -".R c #e5e5e8", -"#O c #e5e5ec", -".A c #e6e6ed", -"#Q c #e76b5c", -".J c #e7e7ee", -"#J c #e88c7e", -".d c #e8e1e3", -".S c #e8e8ee", -".x c #e93e23", -"#f c #e9c7c4", -"#N c #e9eff2", -".P c #ea3a1c", -".8 c #ead4d4", -".f c #eaeaf0", -".k c #eb3517", -"#y c #eb5b49", -".s c #ed2f11", -".c c #ed6b56", -".V c #eda093", -".n c #ededf2", -".u c #edeff3", -".m c #edeff4", -".F c #ee391c", -".e c #eeeef2", -"#X c #ef7668", -".O c #f0d5d0", -".I c #f0f0f4", -".H c #f0f1f6", -".z c #f1f1f5", -".j c #f36c55", -".r c #f3806d", -".b c #f3c3bc", -"#x c #f3c6bf", -".w c #f3cdc6", -"#V c #f3f3f6", -".E c #f5eae9", -"#I c #fbf6f5", -"#m c #fdfaf9", -"Qt c #ffffff", -"QtQtQtQt.#.#.#.#.#.#.#.#.aQtQtQt", -"QtQtQtQt.#.b.c.d.e.f.g.h.#.aQtQt", -"QtQtQtQt.i.j.k.l.m.n.o.h.#.p.aQt", -"QtQtQtQt.q.r.s.t.u.e.v.h.a.a.a.a", -"QtQtQtQt.#.w.x.y.z.e.A.h.B.C.D.a", -"QtQtQtQt.#.E.F.G.H.I.J.K.L.M.N.a", -"QtQtQtQt.#.O.P.Q.R.I.S.h.T.U.#.a", -"QtQtQtQt.#.V.W.X.Y.Z.0.1.2.3.4.a", -"QtQtQtQt.5.6.7.8.9#.#####a#b.2.a", -"QtQtQtQt#c#d#e#f#g#h#i#j#k#l.1.a", -"QtQtQt#m#n#o#p#q#r#s#t#u#v#w.1.a", -"QtQt#x#y#z#A#B#C#D.v#E#F#G#H#l.a", -"#I#J#K#L#M#N.f.S.A#O.K.g#P#H#l.a", -"#Q#R#S#T#U#V.S.J#O.v.o#W.B#H#l.a", -"#X#Y#Z#0.#.I.S.S.A.v.h#W.0#H#l.a", -"QtQtQtQt.a.a.a.a.a.a.a.a.a.a.a.a"}; diff --git a/geda/pixmaps/sch_document.xpm b/geda/pixmaps/sch_document.xpm deleted file mode 100644 index 0241a2671..000000000 --- a/geda/pixmaps/sch_document.xpm +++ /dev/null @@ -1,29 +0,0 @@ -/* XPM */ -static char *sch_document[]={ -"16 16 10 1", -"# c #000000", -"b c #000080", -"h c #0000ff", -"d c #00ff00", -"f c #00ffff", -"a c #c3c3c3", -"g c #ff0000", -"c c #ff8000", -"e c #ffff00", -". c #ffffff", -".##############.", -"#.............a#", -"#.bbbbbbbbbbbba#", -"#.cbdddddddddba#", -"#.bbbebbbbbbbba#", -"#.bbbbbbbbbbbba#", -"#.bbbfeegbbbbba#", -"#.bbbbbbbbbbbba#", -"#.cbhhhddddddba#", -"#.bbbbbbbbbbbba#", -"#.cbhhhhhddddba#", -"#.bbbbbbbbbbbba#", -"#.bbdddddddddba#", -"#.bbbbbbbbbbbba#", -"#aaaaaaaaaaaaaa#", -".##############."}; diff --git a/geda/pixmaps/text_document.xpm b/geda/pixmaps/text_document.xpm deleted file mode 100644 index d2aff7798..000000000 --- a/geda/pixmaps/text_document.xpm +++ /dev/null @@ -1,116 +0,0 @@ -/* XPM */ -static char *document[]={ -"18 18 95 2", -".k c #303030", -".o c #424242", -".# c #585858", -".n c #6b6b6b", -".h c #6d6d6d", -".i c #707070", -".m c #898989", -"#e c #8e8270", -"#d c #8f8575", -".s c #8f8984", -"#c c #91887a", -".Y c #91887b", -"#b c #928b7f", -".X c #928b80", -"#a c #938d84", -".W c #948e85", -".K c #948f86", -"## c #949089", -".V c #95918a", -".J c #95918b", -".I c #97948f", -".H c #989794", -".e c #999999", -".G c #9a9a9a", -".l c #9b9b9b", -".t c #aaaaaa", -"#z c #ababab", -".p c #b5b5b5", -"#A c #b8b8b8", -"#y c #b9b9b9", -"#x c #bc9e73", -"#o c #bca178", -"#g c #bca37f", -".9 c #bca685", -".0 c #bca88a", -".T c #bcab90", -".F c #bcae97", -".d c #bcb7b1", -"#w c #bda076", -"#v c #bea57f", -".y c #beb6af", -"#u c #bfaa88", -"#t c #c0af91", -"#s c #c2b39a", -"#r c #c3b8a3", -"#q c #c4bdac", -"#p c #c6c1b6", -".j c #cecece", -".c c #dedede", -".z c #dfdfdf", -".r c #e2e0de", -"#n c #e5cca7", -".f c #e6e6e6", -"#f c #e7d1b0", -".x c #e7e0d9", -"#m c #e9d6b8", -".8 c #e9d6ba", -".g c #eaeaea", -"#l c #ecdabf", -".Z c #ecdbc2", -".7 c #ecdcc1", -".S c #ecdfca", -".L c #ece2d4", -"#k c #eedec8", -".6 c #eee0c9", -".E c #eee7dc", -".u c #eeeeee", -"#C c #efefef", -"#j c #f0e4d0", -".5 c #f0e4d2", -".R c #f1e6d4", -".a c #f1f1f1", -"#i c #f2e8d8", -".4 c #f2e9da", -".Q c #f3eadc", -".D c #f3ede3", -"#h c #f4ede1", -".w c #f4f0ec", -".3 c #f5eee2", -".P c #f5eee4", -".q c #f6f5f5", -"#. c #f7f1e9", -".2 c #f8f2ea", -".O c #f8f3eb", -".C c #f8f4ed", -".1 c #faf6f2", -".N c #faf8f4", -".B c #fbf8f5", -".v c #fbf9f6", -".U c #fcfcfb", -".b c #fcfcfc", -".M c #fdfdfc", -"#B c #fdfdfd", -".A c #fefefe", -"Qt c #ffffff", -"QtQtQtQt.#.#.#.#.#.#.#.#.#.a.bQtQtQt", -"QtQtQtQt.#.c.c.c.c.c.d.#.e.#.f.bQtQt", -"QtQtQtQt.#.cQtQtQtQt.g.hQt.e.#.f.bQt", -"QtQtQtQt.#.cQtQtQtQt.b.i.jQt.e.k.f.b", -"QtQtQtQt.#.cQt.l.l.lQt.m.i.n.o.k.p.a", -"QtQtQtQt.#.cQtQtQtQtQt.q.r.d.s.k.t.u", -"QtQtQtQt.#.cQt.l.l.l.l.v.w.x.y.k.t.u", -"QtQtQtQt.#.zQtQtQt.A.B.C.D.E.F.k.t.u", -"QtQtQtQt.#.cQt.l.G.H.I.J.K.L.F.k.t.u", -"QtQtQtQt.#.cQt.M.N.O.P.Q.R.S.T.k.t.u", -"QtQtQtQt.#.c.U.H.I.V.W.X.Y.Z.0.k.t.u", -"QtQtQtQt.#.c.1.2.3.4.5.6.7.8.9.k.t.u", -"QtQtQtQt.#.c#.###a#b#c#d#e#f#g.k.t.u", -"QtQtQtQt.#.c#h#i#j#k#l#m#f#n#o.k.t.u", -"QtQtQtQt.##p#p#q#r#s#t#u#v#w#x.k.t.u", -"QtQtQtQt.#.k.k.k.k.k.k.k.k.k.k.k.t.u", -"QtQtQtQt.a#y#z.t.t.t.t.t.t.t.t.t#A.a", -"QtQtQtQt#B.a#C.u.u.u.u.u.u.u.u.u.a.b"}; diff --git a/geda/po/.cvsignore b/geda/po/.cvsignore deleted file mode 100644 index d8007118c..000000000 --- a/geda/po/.cvsignore +++ /dev/null @@ -1,11 +0,0 @@ -Makefile -Makefile.in -Makefile.in.in -POTFILES -*.gmo -*.sed -*.header -*.sin -Rules-quot -Makevars.template -stamp-po diff --git a/geda/po/LINGUAS b/geda/po/LINGUAS deleted file mode 100644 index 61ab36795..000000000 --- a/geda/po/LINGUAS +++ /dev/null @@ -1,5 +0,0 @@ -ru -pt_BR -fr_FR -it -de_DE diff --git a/geda/po/Makevars b/geda/po/Makevars deleted file mode 100644 index 8b09f53b0..000000000 --- a/geda/po/Makevars +++ /dev/null @@ -1,25 +0,0 @@ -# Makefile variables for PO directory in any package using GNU gettext. - -# Usually the message domain is the same as the package name. -DOMAIN = $(PACKAGE) - -# These two variables depend on the location of this directory. -subdir = po -top_builddir = .. - -# These options get passed to xgettext. -XGETTEXT_OPTIONS = --keyword=_ --keyword=N_ - -# 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 = Free Software Foundation, Inc. - -# 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 = diff --git a/geda/po/POTFILES.in b/geda/po/POTFILES.in deleted file mode 100644 index 8741b7b15..000000000 --- a/geda/po/POTFILES.in +++ /dev/null @@ -1,49 +0,0 @@ -# List of source files containing translatable strings. - -## Created by Anjuta - will be overwritten -## If you don't want it to overwrite it, -## Please disable it in the Anjuta project configuration - -# Source files -src/callbacks.c -src/callbacks.h -src/configfile.c -src/configfile.h -src/doc.c -src/doc.h -src/file.c -src/file.h -src/filesel.c -src/filesel.h -src/filetool.c -src/filetool.h -src/global.h -src/interface.c -src/interface.h -src/l_toolbar.c -src/l_toolbar.h -src/log.c -src/log.h -src/m_action.c -src/m_action.h -src/m_file.c -src/m_file.h -src/m_project.c -src/m_project.h -src/m_window.c -src/m_window.h -src/main.c -src/msgbox.c -src/msgbox.h -src/project.c -src/project.h -src/support.c -src/support.h -src/task.c -src/task.h -src/tool.c -src/tool.h -src/txtedit.c -src/txtedit.h -src/window.c -src/window.h diff --git a/geda/po/de_DE.po b/geda/po/de_DE.po deleted file mode 100644 index 682959837..000000000 --- a/geda/po/de_DE.po +++ /dev/null @@ -1,163 +0,0 @@ -# translation of de_DE.po to deutsch -# This file is distributed under the same license as the PACKAGE package. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER. -# Werner Hoch , 2004, 2005. -# -msgid "" -msgstr "" -"Project-Id-Version: de_DE\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2005-08-15 23:23-0400\n" -"PO-Revision-Date: 2005-08-20 17:58+0200\n" -"Last-Translator: Werner Hoch \n" -"Language-Team: deutsch \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Generator: KBabel 1.10\n" - -#: src/interface.c:76 -msgid "gEDA" -msgstr "gEDA" - -#: src/interface.c:94 src/interface.c:507 -msgid "Project" -msgstr "Projekt" - -#: src/interface.c:108 src/interface.c:201 -msgid "New" -msgstr "Neu" - -#: src/interface.c:115 -msgid "Open" -msgstr "Öffnen" - -#: src/interface.c:122 -msgid "Properties" -msgstr "Einstellungen" - -#: src/interface.c:129 src/interface.c:186 -msgid "Close" -msgstr "Schließen" - -#: src/interface.c:144 -msgid "Exit" -msgstr "Beenden" - -#: src/interface.c:151 src/interface.c:717 -msgid "File" -msgstr "Datei" - -#: src/interface.c:165 -msgid "Edit" -msgstr "Bearbeiten" - -#: src/interface.c:172 -msgid "Save" -msgstr "Speichern" - -#: src/interface.c:179 -msgid "Print" -msgstr "Drucken" - -#: src/interface.c:208 -msgid "Import" -msgstr "Importieren" - -#: src/interface.c:215 -msgid "Unlink" -msgstr "Entlinken" - -#: src/interface.c:222 -msgid "Delete" -msgstr "Löschen" - -#: src/interface.c:229 -msgid "Action" -msgstr "Aktion" - -#: src/interface.c:236 -msgid "Tool" -msgstr "Werkzeug" - -#: src/interface.c:243 -msgid "Window" -msgstr "Fenster" - -#: src/interface.c:344 -msgid "Modules" -msgstr "Module" - -#: src/interface.c:368 -msgid "Files" -msgstr "Dateien" - -#: src/interface.c:399 -msgid "Status" -msgstr "Status" - -#: src/interface.c:495 -msgid "Project Properties" -msgstr "Projekt Eigenschaften" - -#: src/interface.c:525 src/interface.c:772 -msgid "Name" -msgstr "Name" - -#: src/interface.c:536 -msgid "Directory" -msgstr "Verzeichnis" - -#: src/interface.c:547 -msgid "Author" -msgstr "Author" - -#: src/interface.c:558 -msgid "Description" -msgstr "Beschreibung" - -#: src/interface.c:637 src/interface.c:792 -msgid "Ok" -msgstr "Ok" - -#: src/interface.c:650 src/interface.c:805 -msgid "Cancel" -msgstr "Abbrechen" - -#: src/interface.c:705 -msgid "New file ..." -msgstr "Neue Datei ..." - -#: src/interface.c:762 -msgid "Type" -msgstr "Typ" - -#: src/project.c:105 -msgid "Question..." -msgstr "Frage..." - -#: src/project.c:106 -msgid "Project already exists. Overwrite?" -msgstr "Das Projekt existiert bereits. Überschreiben?" - -#: src/project.c:161 src/project.c:201 -msgid "Error!" -msgstr "Fehler!" - -#: src/project.c:162 -msgid "Cannot load project!" -msgstr "Fehler beim Laden des Projektes!" - -#: src/project.c:202 -msgid "Cannot save project!" -msgstr "Fehler beim Speichern des Projektes!" - -#: src/support.c:121 -#, c-format -msgid "Couldn't find pixmap file: %s" -msgstr "Bilddatei nicht gefunden: %s" - -#: src/support.c:130 -#, c-format -msgid "Error loading pixmap file: %s" -msgstr "Fehler beim Laden der Bilddatei %s" diff --git a/geda/po/fr_FR.po b/geda/po/fr_FR.po deleted file mode 100644 index ac938cbaf..000000000 --- a/geda/po/fr_FR.po +++ /dev/null @@ -1,163 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# FIRST AUTHOR , YEAR. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: fr_FR\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2005-08-15 23:23-0400\n" -"PO-Revision-Date: 2003-12-28 17:00-0400\n" -"Last-Translator: Iznogood \n" -"Language-Team: geda-dev \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" - -#: src/interface.c:76 -msgid "gEDA" -msgstr "gEDA" - -#: src/interface.c:94 src/interface.c:507 -msgid "Project" -msgstr "Projet" - -#: src/interface.c:108 src/interface.c:201 -msgid "New" -msgstr "Nouveau" - -#: src/interface.c:115 -msgid "Open" -msgstr "Ouvrir" - -#: src/interface.c:122 -msgid "Properties" -msgstr "" - -#: src/interface.c:129 src/interface.c:186 -msgid "Close" -msgstr "Fermer" - -#: src/interface.c:144 -msgid "Exit" -msgstr "Quitter" - -#: src/interface.c:151 src/interface.c:717 -msgid "File" -msgstr "Fichier" - -#: src/interface.c:165 -msgid "Edit" -msgstr "Éditer" - -#: src/interface.c:172 -msgid "Save" -msgstr "Sauvegarder" - -#: src/interface.c:179 -msgid "Print" -msgstr "Imprimer" - -#: src/interface.c:208 -msgid "Import" -msgstr "Importer" - -#: src/interface.c:215 -msgid "Unlink" -msgstr "enlever le lien" - -#: src/interface.c:222 -msgid "Delete" -msgstr "Effacer" - -#: src/interface.c:229 -msgid "Action" -msgstr "Action" - -#: src/interface.c:236 -msgid "Tool" -msgstr "Outil" - -#: src/interface.c:243 -msgid "Window" -msgstr "Fenêtre" - -#: src/interface.c:344 -msgid "Modules" -msgstr "Modules" - -#: src/interface.c:368 -msgid "Files" -msgstr "Fichiers" - -#: src/interface.c:399 -msgid "Status" -msgstr "Status" - -#: src/interface.c:495 -msgid "Project Properties" -msgstr "" - -#: src/interface.c:525 src/interface.c:772 -msgid "Name" -msgstr "" - -#: src/interface.c:536 -msgid "Directory" -msgstr "" - -#: src/interface.c:547 -msgid "Author" -msgstr "" - -#: src/interface.c:558 -msgid "Description" -msgstr "" - -#: src/interface.c:637 src/interface.c:792 -msgid "Ok" -msgstr "" - -#: src/interface.c:650 src/interface.c:805 -msgid "Cancel" -msgstr "" - -#: src/interface.c:705 -msgid "New file ..." -msgstr "" - -#: src/interface.c:762 -msgid "Type" -msgstr "" - -#: src/project.c:105 -msgid "Question..." -msgstr "" - -#: src/project.c:106 -msgid "Project already exists. Overwrite?" -msgstr "" - -#: src/project.c:161 src/project.c:201 -msgid "Error!" -msgstr "" - -#: src/project.c:162 -msgid "Cannot load project!" -msgstr "" - -#: src/project.c:202 -msgid "Cannot save project!" -msgstr "" - -#: src/support.c:121 -#, c-format -msgid "Couldn't find pixmap file: %s" -msgstr "Impossible de trouver le fichier pixmap : %s" - -#: src/support.c:130 -#, c-format -msgid "Error loading pixmap file: %s" -msgstr "Erreur dans le chargement du fichier pixmap : %s" diff --git a/geda/po/geda.pot b/geda/po/geda.pot deleted file mode 100644 index 787002ae5..000000000 --- a/geda/po/geda.pot +++ /dev/null @@ -1,163 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR Free Software Foundation, Inc. -# This file is distributed under the same license as the PACKAGE package. -# FIRST AUTHOR , YEAR. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2005-08-15 23:23-0400\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" -"Language-Team: LANGUAGE \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=CHARSET\n" -"Content-Transfer-Encoding: 8bit\n" - -#: src/interface.c:76 -msgid "gEDA" -msgstr "" - -#: src/interface.c:94 src/interface.c:507 -msgid "Project" -msgstr "" - -#: src/interface.c:108 src/interface.c:201 -msgid "New" -msgstr "" - -#: src/interface.c:115 -msgid "Open" -msgstr "" - -#: src/interface.c:122 -msgid "Properties" -msgstr "" - -#: src/interface.c:129 src/interface.c:186 -msgid "Close" -msgstr "" - -#: src/interface.c:144 -msgid "Exit" -msgstr "" - -#: src/interface.c:151 src/interface.c:717 -msgid "File" -msgstr "" - -#: src/interface.c:165 -msgid "Edit" -msgstr "" - -#: src/interface.c:172 -msgid "Save" -msgstr "" - -#: src/interface.c:179 -msgid "Print" -msgstr "" - -#: src/interface.c:208 -msgid "Import" -msgstr "" - -#: src/interface.c:215 -msgid "Unlink" -msgstr "" - -#: src/interface.c:222 -msgid "Delete" -msgstr "" - -#: src/interface.c:229 -msgid "Action" -msgstr "" - -#: src/interface.c:236 -msgid "Tool" -msgstr "" - -#: src/interface.c:243 -msgid "Window" -msgstr "" - -#: src/interface.c:344 -msgid "Modules" -msgstr "" - -#: src/interface.c:368 -msgid "Files" -msgstr "" - -#: src/interface.c:399 -msgid "Status" -msgstr "" - -#: src/interface.c:495 -msgid "Project Properties" -msgstr "" - -#: src/interface.c:525 src/interface.c:772 -msgid "Name" -msgstr "" - -#: src/interface.c:536 -msgid "Directory" -msgstr "" - -#: src/interface.c:547 -msgid "Author" -msgstr "" - -#: src/interface.c:558 -msgid "Description" -msgstr "" - -#: src/interface.c:637 src/interface.c:792 -msgid "Ok" -msgstr "" - -#: src/interface.c:650 src/interface.c:805 -msgid "Cancel" -msgstr "" - -#: src/interface.c:705 -msgid "New file ..." -msgstr "" - -#: src/interface.c:762 -msgid "Type" -msgstr "" - -#: src/project.c:105 -msgid "Question..." -msgstr "" - -#: src/project.c:106 -msgid "Project already exists. Overwrite?" -msgstr "" - -#: src/project.c:161 src/project.c:201 -msgid "Error!" -msgstr "" - -#: src/project.c:162 -msgid "Cannot load project!" -msgstr "" - -#: src/project.c:202 -msgid "Cannot save project!" -msgstr "" - -#: src/support.c:121 -#, c-format -msgid "Couldn't find pixmap file: %s" -msgstr "" - -#: src/support.c:130 -#, c-format -msgid "Error loading pixmap file: %s" -msgstr "" diff --git a/geda/po/it.po b/geda/po/it.po deleted file mode 100644 index c98f4b52a..000000000 --- a/geda/po/it.po +++ /dev/null @@ -1,167 +0,0 @@ -# translation of it.po to -# translation of it.po to -# Italian messages for geda. -# Copyright (C) 2004, 2005 Free Software Foundation, Inc. -# This file is distributed under the same license as the geda package. -# Marco Colombo , 2005. -# Michele Petrecca , 2005. -# Michele Petrecca , 2004. -# -msgid "" -msgstr "" -"Project-Id-Version: it\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2005-08-15 23:23-0400\n" -"PO-Revision-Date: 2005-09-02 16:40+0200\n" -"Last-Translator: Michele Petrecca \n" -"Language-Team: \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Generator: KBabel 1.9.1\n" - -#: src/interface.c:76 -msgid "gEDA" -msgstr "gEDA" - -#: src/interface.c:94 src/interface.c:507 -msgid "Project" -msgstr "Progetto" - -#: src/interface.c:108 src/interface.c:201 -msgid "New" -msgstr "Nuovo" - -#: src/interface.c:115 -msgid "Open" -msgstr "Apri" - -#: src/interface.c:122 -msgid "Properties" -msgstr "Proprietà " - -#: src/interface.c:129 src/interface.c:186 -msgid "Close" -msgstr "Chiudi" - -#: src/interface.c:144 -msgid "Exit" -msgstr "Esci" - -#: src/interface.c:151 src/interface.c:717 -msgid "File" -msgstr "File" - -#: src/interface.c:165 -msgid "Edit" -msgstr "Modifica" - -#: src/interface.c:172 -msgid "Save" -msgstr "Salva" - -#: src/interface.c:179 -msgid "Print" -msgstr "Stampa" - -#: src/interface.c:208 -msgid "Import" -msgstr "Importa" - -#: src/interface.c:215 -msgid "Unlink" -msgstr "Disattiva" - -#: src/interface.c:222 -msgid "Delete" -msgstr "Cancella" - -#: src/interface.c:229 -msgid "Action" -msgstr "Azione" - -#: src/interface.c:236 -msgid "Tool" -msgstr "Strumento" - -#: src/interface.c:243 -msgid "Window" -msgstr "Finestra" - -#: src/interface.c:344 -msgid "Modules" -msgstr "Moduli" - -#: src/interface.c:368 -msgid "Files" -msgstr "File" - -#: src/interface.c:399 -msgid "Status" -msgstr "Stato" - -#: src/interface.c:495 -msgid "Project Properties" -msgstr "Proprietà del Progetto" - -#: src/interface.c:525 src/interface.c:772 -msgid "Name" -msgstr "Nome" - -#: src/interface.c:536 -msgid "Directory" -msgstr "Cartella" - -#: src/interface.c:547 -msgid "Author" -msgstr "Autore" - -#: src/interface.c:558 -msgid "Description" -msgstr "Descrizione" - -#: src/interface.c:637 src/interface.c:792 -msgid "Ok" -msgstr "Ok" - -#: src/interface.c:650 src/interface.c:805 -msgid "Cancel" -msgstr "Annulla" - -#: src/interface.c:705 -msgid "New file ..." -msgstr "Nuovo file ..." - -#: src/interface.c:762 -msgid "Type" -msgstr "Tipo" - -#: src/project.c:105 -msgid "Question..." -msgstr "Problema..." - -#: src/project.c:106 -msgid "Project already exists. Overwrite?" -msgstr "Il progetto già esiste. Devo sovrascriverlo?" - -#: src/project.c:161 src/project.c:201 -msgid "Error!" -msgstr "Errore!" - -#: src/project.c:162 -msgid "Cannot load project!" -msgstr "Non è possibile caricare il progetto!" - -#: src/project.c:202 -msgid "Cannot save project!" -msgstr "Non è possibile salvare il progetto!" - -#: src/support.c:121 -#, c-format -msgid "Couldn't find pixmap file: %s" -msgstr "Impossibile trovare il file pixmap: %s" - -#: src/support.c:130 -#, c-format -msgid "Error loading pixmap file: %s" -msgstr "Errore durante il caricamento del file pixmap: %s" diff --git a/geda/po/pt_BR.po b/geda/po/pt_BR.po deleted file mode 100644 index 7db5288ca..000000000 --- a/geda/po/pt_BR.po +++ /dev/null @@ -1,163 +0,0 @@ -# translation of pt_BR.po to Potugues Brasil -# This file is distributed under the same license as the PACKAGE package. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# Antonio Augusto Todo Bom Neto , 2003 -# -msgid "" -msgstr "" -"Project-Id-Version: pt_BR\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2005-08-15 23:23-0400\n" -"PO-Revision-Date: 2003-09-20 18:27-0300\n" -"Last-Translator: Antonio Augusto Todo Bom Neto \n" -"Language-Team: Potugues Brasil \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Generator: KBabel 1.0.1\n" - -#: src/interface.c:76 -msgid "gEDA" -msgstr "" - -#: src/interface.c:94 src/interface.c:507 -msgid "Project" -msgstr "Projeto" - -#: src/interface.c:108 src/interface.c:201 -msgid "New" -msgstr "Novo" - -#: src/interface.c:115 -msgid "Open" -msgstr "Abrir" - -#: src/interface.c:122 -msgid "Properties" -msgstr "" - -#: src/interface.c:129 src/interface.c:186 -msgid "Close" -msgstr "Fechar" - -#: src/interface.c:144 -msgid "Exit" -msgstr "Sair" - -#: src/interface.c:151 src/interface.c:717 -msgid "File" -msgstr "Arquivo" - -#: src/interface.c:165 -msgid "Edit" -msgstr "Editar" - -#: src/interface.c:172 -msgid "Save" -msgstr "Salvar" - -#: src/interface.c:179 -msgid "Print" -msgstr "Imprimir" - -#: src/interface.c:208 -msgid "Import" -msgstr "Importar" - -#: src/interface.c:215 -msgid "Unlink" -msgstr "Tirar" - -#: src/interface.c:222 -msgid "Delete" -msgstr "Apagar" - -#: src/interface.c:229 -msgid "Action" -msgstr "Ação" - -#: src/interface.c:236 -msgid "Tool" -msgstr "Ferramentas" - -#: src/interface.c:243 -msgid "Window" -msgstr "Janela" - -#: src/interface.c:344 -msgid "Modules" -msgstr "Modulos" - -#: src/interface.c:368 -msgid "Files" -msgstr "Arquivos" - -#: src/interface.c:399 -msgid "Status" -msgstr "" - -#: src/interface.c:495 -msgid "Project Properties" -msgstr "" - -#: src/interface.c:525 src/interface.c:772 -msgid "Name" -msgstr "" - -#: src/interface.c:536 -msgid "Directory" -msgstr "" - -#: src/interface.c:547 -msgid "Author" -msgstr "" - -#: src/interface.c:558 -msgid "Description" -msgstr "" - -#: src/interface.c:637 src/interface.c:792 -msgid "Ok" -msgstr "" - -#: src/interface.c:650 src/interface.c:805 -msgid "Cancel" -msgstr "" - -#: src/interface.c:705 -msgid "New file ..." -msgstr "" - -#: src/interface.c:762 -msgid "Type" -msgstr "" - -#: src/project.c:105 -msgid "Question..." -msgstr "" - -#: src/project.c:106 -msgid "Project already exists. Overwrite?" -msgstr "" - -#: src/project.c:161 src/project.c:201 -msgid "Error!" -msgstr "" - -#: src/project.c:162 -msgid "Cannot load project!" -msgstr "" - -#: src/project.c:202 -msgid "Cannot save project!" -msgstr "" - -#: src/support.c:121 -#, c-format -msgid "Couldn't find pixmap file: %s" -msgstr "" - -#: src/support.c:130 -#, c-format -msgid "Error loading pixmap file: %s" -msgstr "" diff --git a/geda/po/ru.po b/geda/po/ru.po deleted file mode 100644 index e27483a8d..000000000 --- a/geda/po/ru.po +++ /dev/null @@ -1,163 +0,0 @@ -# translation of geda.po to Russian -# This file is distributed under the same license as the PACKAGE package. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# Andy Shevchenko , 2003 -# -msgid "" -msgstr "" -"Project-Id-Version: geda\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2005-08-15 23:23-0400\n" -"PO-Revision-Date: 2003-01-21 18:43+0200\n" -"Last-Translator: Andy Shevchenko \n" -"Language-Team: Russian \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Generator: KBabel 1.0\n" - -#: src/interface.c:76 -msgid "gEDA" -msgstr "" - -#: src/interface.c:94 src/interface.c:507 -msgid "Project" -msgstr "проект" - -#: src/interface.c:108 src/interface.c:201 -msgid "New" -msgstr "Новый" - -#: src/interface.c:115 -msgid "Open" -msgstr "Открыть" - -#: src/interface.c:122 -msgid "Properties" -msgstr "" - -#: src/interface.c:129 src/interface.c:186 -msgid "Close" -msgstr "Закрыть" - -#: src/interface.c:144 -msgid "Exit" -msgstr "Выйти" - -#: src/interface.c:151 src/interface.c:717 -msgid "File" -msgstr "Файл" - -#: src/interface.c:165 -msgid "Edit" -msgstr "Редактировать" - -#: src/interface.c:172 -msgid "Save" -msgstr "Сохранить" - -#: src/interface.c:179 -msgid "Print" -msgstr "Печать" - -#: src/interface.c:208 -msgid "Import" -msgstr "Импорт" - -#: src/interface.c:215 -msgid "Unlink" -msgstr "" - -#: src/interface.c:222 -msgid "Delete" -msgstr "Удалить" - -#: src/interface.c:229 -msgid "Action" -msgstr "Действие" - -#: src/interface.c:236 -msgid "Tool" -msgstr "Инструмент" - -#: src/interface.c:243 -msgid "Window" -msgstr "Окно" - -#: src/interface.c:344 -msgid "Modules" -msgstr "Модули" - -#: src/interface.c:368 -msgid "Files" -msgstr "Файлы" - -#: src/interface.c:399 -msgid "Status" -msgstr "Статус" - -#: src/interface.c:495 -msgid "Project Properties" -msgstr "" - -#: src/interface.c:525 src/interface.c:772 -msgid "Name" -msgstr "" - -#: src/interface.c:536 -msgid "Directory" -msgstr "" - -#: src/interface.c:547 -msgid "Author" -msgstr "" - -#: src/interface.c:558 -msgid "Description" -msgstr "" - -#: src/interface.c:637 src/interface.c:792 -msgid "Ok" -msgstr "" - -#: src/interface.c:650 src/interface.c:805 -msgid "Cancel" -msgstr "" - -#: src/interface.c:705 -msgid "New file ..." -msgstr "" - -#: src/interface.c:762 -msgid "Type" -msgstr "" - -#: src/project.c:105 -msgid "Question..." -msgstr "" - -#: src/project.c:106 -msgid "Project already exists. Overwrite?" -msgstr "" - -#: src/project.c:161 src/project.c:201 -msgid "Error!" -msgstr "" - -#: src/project.c:162 -msgid "Cannot load project!" -msgstr "" - -#: src/project.c:202 -msgid "Cannot save project!" -msgstr "" - -#: src/support.c:121 -#, c-format -msgid "Couldn't find pixmap file: %s" -msgstr "Невозможно найти файл картинки: %s" - -#: src/support.c:130 -#, c-format -msgid "Error loading pixmap file: %s" -msgstr "Ошибка загрузки файла картинки: %s" diff --git a/geda/src/.cvsignore b/geda/src/.cvsignore deleted file mode 100644 index 283b8f4ac..000000000 --- a/geda/src/.cvsignore +++ /dev/null @@ -1,5 +0,0 @@ -.libs -.deps -Makefile -Makefile.in -geda diff --git a/geda/src/Makefile.am b/geda/src/Makefile.am deleted file mode 100644 index 5aeda5e4e..000000000 --- a/geda/src/Makefile.am +++ /dev/null @@ -1,66 +0,0 @@ -# gManager Makefile.am - -INCLUDES = @GMANAGER_CFLAGS@ -I./ -I$(top_srcdir)/intl - -localedir = @datadir@/locale -DEFS = -DPACKAGE_LOCALE_DIR=\"$(localedir)\" @DEFS@ - -if CCISGCC -AM_CFLAGS =\ - -Wall -Wimplicit -Wreturn-type -Wunused -Wswitch -Wcomment -Wuninitialized -Wparentheses -Wpointer-arith -Wmissing-prototypes -g -O -endif - -bin_PROGRAMS = geda - -geda_SOURCES = \ - callbacks.h\ - callbacks.c\ - configfile.h\ - configfile.c\ - doc.h\ - doc.c\ - file.h\ - file.c\ - filechoose.h\ - filechoose.c\ - filetool.h\ - filetool.c\ - global.h\ - interface.h\ - interface.c\ - l_toolbar.h\ - l_toolbar.c\ - log.h\ - log.c\ - m_action.h\ - m_action.c\ - m_file.h\ - m_file.c\ - m_project.h\ - m_project.c\ - m_window.h\ - m_window.c\ - main.c\ - msgbox.h\ - msgbox.c\ - project.h\ - project.c\ - support.h\ - support.c\ - task.h\ - task.c\ - tool.h\ - tool.c\ - txtedit.h\ - txtedit.c\ - window.h\ - window.c - -geda_LDFLAGS = @GMANAGER_LDFLAGS@ - -geda_LDADD = @GTK_LIBS@ @LIBINTL@ - -MOSTLYCLEANFILES = *.log *~ geda -CLEANFILES = *.log *~ geda -DISTCLEANFILES = *.log core FILE *~ prototype.bak geda -MAINTAINERCLEANFILES = *.log *~ Makefile.in configure geda diff --git a/geda/src/callbacks.c b/geda/src/callbacks.c deleted file mode 100644 index fd700743c..000000000 --- a/geda/src/callbacks.c +++ /dev/null @@ -1,45 +0,0 @@ -/* $Id$ */ - -/*******************************************************************************/ -/* */ -/* gEDA Suite Project Manager */ -/* */ -/* Copyright (C) 2002 Piotr Miarecki, sp9rve@eter.ariadna.pl */ -/* */ -/* 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 version 2. */ -/* */ -/* This program is distributed in the hope that it will be useful, */ -/* but WITHOUT ANY WARRANTY; without even the implied warranty of */ -/* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the */ -/* GNU General Public License for more details. */ -/* */ -/* You should have received a copy of the GNU General Public License */ -/* along with this program; if not, write to the Free Software */ -/* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ -/* */ -/*******************************************************************************/ - -#ifdef HAVE_CONFIG_H -#include "config.h" -#endif - -#include - -#include "callbacks.h" -#include "m_project.h" - - - -/******************************************************************************* - - Function called if main window is destroyed - -*******************************************************************************/ - -gboolean on_MainWindow_delete_event(GtkWidget *pWidget, GdkEvent *pEvent, gpointer pUserData) -{ - ProjectExit_MenuActivation(GTK_MENU_ITEM(pWidget), pUserData); - return 0; -} diff --git a/geda/src/callbacks.h b/geda/src/callbacks.h deleted file mode 100644 index df6605f04..000000000 --- a/geda/src/callbacks.h +++ /dev/null @@ -1,37 +0,0 @@ -/*******************************************************************************/ -/* */ -/* gEDA Suite Project Manager */ -/* */ -/* Copyright (C) 2002 Piotr Miarecki, sp9rve@eter.ariadna.pl */ -/* */ -/* 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 version 2. */ -/* */ -/* This program is distributed in the hope that it will be useful, */ -/* but WITHOUT ANY WARRANTY; without even the implied warranty of */ -/* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the */ -/* GNU General Public License for more details. */ -/* */ -/* You should have received a copy of the GNU General Public License */ -/* along with this program; if not, write to the Free Software */ -/* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ -/* */ -/*******************************************************************************/ - -#ifndef __CALLBACKS_H_INCLUDED -#define __CALLBACKS_H_INCLUDED - -#include -#include "m_file.h" -#include "m_project.h" - - - -gboolean on_MainWindow_delete_event(GtkWidget *pWidget, GdkEvent *pEvent, gpointer pUserData); -void Doc_Selection(GtkCTree *pCTree, GList *pNode, gint iColumn, gpointer pUserData); -gboolean on_DocModulesTree_button_press_event(GtkWidget *pWidget, GdkEventButton *pEvent, gpointer pUserData); - - - -#endif /* __CALLBACKS_H_INCLUDED */ diff --git a/geda/src/configfile.c b/geda/src/configfile.c deleted file mode 100644 index 681125ffa..000000000 --- a/geda/src/configfile.c +++ /dev/null @@ -1,167 +0,0 @@ -/* $Id$ */ - -/*******************************************************************************/ -/* */ -/* gEDA Suite Project Manager */ -/* */ -/* Copyright (C) 2002 Piotr Miarecki, sp9rve@eter.ariadna.pl */ -/* */ -/* 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 version 2. */ -/* */ -/* This program is distributed in the hope that it will be useful, */ -/* but WITHOUT ANY WARRANTY; without even the implied warranty of */ -/* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the */ -/* GNU General Public License for more details. */ -/* */ -/* You should have received a copy of the GNU General Public License */ -/* along with this program; if not, write to the Free Software */ -/* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ -/* */ -/*******************************************************************************/ - -#ifdef HAVE_CONFIG_H -#include "config.h" -#endif - -#include -#include - -#ifdef HAVE_STRING_H -#include -#endif - -#include "configfile.h" -#include "global.h" - - - -/* static variables */ -#define MAXLINELEN 256 -static FILE *fp = NULL; -static int ConfigReadLine(char *szLine); - - - -int ConfigOpen(const char *szName) -{ - fp = fopen(szName, "r"); - if (fp == NULL) - return FAILURE; - - return SUCCESS; -} - - - -int ConfigClose(void) -{ - int iReturn; - - iReturn = fclose(fp); - if (iReturn != 0) - return FAILURE; - - fp = NULL; - - return SUCCESS; -} - - - -int ConfigSection(const char *szName) -{ - int iFound = 0, iResult, i; - char szLine[MAXLINELEN], szPattern[MAXLINELEN]; - - rewind(fp); - sprintf(szPattern, "[%s]", szName); - for (i = 0; i < strlen(szPattern); i ++) - szPattern[i] = toupper(szPattern[i]); - - - while (!feof(fp) && iFound == 0) - { - iResult = ConfigReadLine(szLine); - if (iResult != SUCCESS) - return FAILURE; - for (i = 0; i < strlen(szLine); i ++) - szLine[i] = toupper(szLine[i]); - - if (strncmp(szPattern, szLine, strlen(szPattern)) == 0) - { - iFound = 1; - break; - } - } - - if (iFound == 0) - return FAILURE; - - return SUCCESS; -} - - - -int ConfigGetNext(char *szName, char *szValue) -{ - int iFound = 0, iResult, i, j = 0; - char szLine[MAXLINELEN]; - - while (!feof(fp) && iFound == 0) - { - iResult = ConfigReadLine(szLine); - if (iResult != SUCCESS) - return FAILURE; - - if (strlen(szLine) == 0) - continue; - if (szLine[0] == '[') - break; - if (isascii((int) szLine[0])) - iFound = 1; - break; - } - - if (iFound == 0) - return FAILURE; - - for (i = 0; i < strlen(szLine) && isalnum((int) szLine[i]); i ++) - szName[i] = toupper(szLine[i]); - szName[i] = 0; - for (; i < strlen(szLine) && (szLine[i] == '=' || isspace((int) szLine[i])); i ++) - ; - for (; i < strlen(szLine); i ++) - szValue[j ++] = szLine[i]; - szValue[j] = 0; - - return SUCCESS; -} - - - -static int ConfigReadLine(char *szLine) -{ - int c = 0, j = 0; - - while (!feof(fp) && j < MAXLINELEN) - { - c = fgetc(fp); - - if (c == '\n' || c == '\r') - { - //j = 0; - break; - } - - szLine[j ++] = (char) c; - } - - while (!feof(fp) && (c == '\n' || c == '\r')) - c = fgetc(fp); - ungetc(c, fp); - szLine[j] = 0; - - return SUCCESS; -} diff --git a/geda/src/configfile.h b/geda/src/configfile.h deleted file mode 100644 index fb10699cf..000000000 --- a/geda/src/configfile.h +++ /dev/null @@ -1,37 +0,0 @@ -/* $Id$ */ - -/*******************************************************************************/ -/* */ -/* gEDA Suite Project Manager */ -/* */ -/* Copyright (C) 2002 Piotr Miarecki, sp9rve@eter.ariadna.pl */ -/* */ -/* 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 version 2. */ -/* */ -/* This program is distributed in the hope that it will be useful, */ -/* but WITHOUT ANY WARRANTY; without even the implied warranty of */ -/* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the */ -/* GNU General Public License for more details. */ -/* */ -/* You should have received a copy of the GNU General Public License */ -/* along with this program; if not, write to the Free Software */ -/* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ -/* */ -/*******************************************************************************/ - -#ifndef __CONFIGFILE_H_INCLUDED -#define __CONFIGFILE_H_INCLUDED - - - -/* public functions */ -int ConfigOpen(const char *szName); -int ConfigClose(void); -int ConfigSection(const char *szName); -int ConfigGetNext(char *szName, char *szValue); - - - -#endif diff --git a/geda/src/doc.c b/geda/src/doc.c deleted file mode 100644 index 91e3bfc76..000000000 --- a/geda/src/doc.c +++ /dev/null @@ -1,1017 +0,0 @@ -/* $Id$ */ - -/*******************************************************************************/ -/* */ -/* gEDA Suite Project Manager */ -/* */ -/* Copyright (C) 2002 Piotr Miarecki, sp9rve@eter.ariadna.pl */ -/* */ -/* 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 version 2. */ -/* */ -/* This program is distributed in the hope that it will be useful, */ -/* but WITHOUT ANY WARRANTY; without even the implied warranty of */ -/* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the */ -/* GNU General Public License for more details. */ -/* */ -/* You should have received a copy of the GNU General Public License */ -/* along with this program; if not, write to the Free Software */ -/* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ -/* */ -/*******************************************************************************/ - -#ifdef HAVE_CONFIG_H -#include "config.h" -#else -#define VERSION "devel" -#endif - -#include -#include - -#ifdef HAVE_STRING_H -#include -#endif - -#include -#include - -#ifdef HAVE_UNISTD_H -#include -#endif - -#include "configfile.h" -#include "doc.h" -#include "file.h" -#include "filetool.h" -#include "global.h" -#include "m_action.h" -#include "m_project.h" -#include "msgbox.h" -#include "project.h" -#include "support.h" -#include "tool.h" -#include "txtedit.h" -#include "window.h" - - - -/* document list and current document name */ -struct Doc_s *pDocList = NULL; -static char szDocCurrent[TEXTLEN] = ""; - - - -/* private functions */ -static struct Doc_s *DocSearch(const char *szFileName); - -static void DocViewAdd(struct Doc_s *pDoc); -static void DocViewDelete(struct Doc_s *pDoc); -static void DocViewSort(void); -static void DocViewModulesAdd(struct Doc_s *pDoc); -static void DocViewModulesDelete(struct Doc_s *pDoc); -static void DocViewModulesSort(void); -static void DocViewFilesAdd(struct Doc_s *pDoc); -static void DocViewFilesDelete(struct Doc_s *pDoc); -static void DocViewFilesSort(void); - - - -/* - Creating and destroying documents -*/ - -int DocCreate(const char *szFileName, const char *szParentFileName) -{ - struct Doc_s *pDoc = NULL, *pParent = NULL; - int iResult; - - pDoc = DocSearch(szFileName); - if (pDoc != NULL) - return FAILURE; - iResult = FileIsExisting(szFileName); - if (iResult != SUCCESS) - return FAILURE; - if (strlen(szParentFileName) > 0) - { - pParent = DocSearch(szParentFileName); - if (pParent == NULL) - return SUCCESS; - } - - pDoc = (struct Doc_s *) malloc(sizeof(struct Doc_s)); - if (pDoc == NULL) - return FAILURE; - strcpy(pDoc->szFileName, szFileName); - pDoc->pParent = (strlen(szParentFileName) > 0) - ? pParent - : NULL; - - if (pDocList == NULL) - { - pDoc->pNext = NULL; - pDocList = pDoc; - } - else - { - pDoc->pNext = pDocList; - pDocList = pDoc; - } - pDoc->bChanged = FALSE; - DocViewAdd(pDoc); - - return SUCCESS; -} - - -int DocDestroy(const char *szFileName) -{ - struct Doc_s *pDoc = NULL, *pPrevious; - - /* look for the document on the list, close it and remove from viewes */ - pDoc = DocSearch(szFileName); - if (pDoc == NULL) - return FAILURE; - DocClose(pDoc->szFileName); - DocViewDelete(pDoc); - - /* remove the document from the list */ - if (pDoc == pDocList) - { - pDocList = pDoc->pNext; - } - else - { - for (pPrevious = pDocList; pPrevious != NULL; pPrevious = pPrevious->pNext) - { - if (pPrevious->pNext == pDoc) - break; - } - - if (pPrevious == NULL) - { - /* impossible condition */ - } - - pPrevious->pNext = pDoc->pNext; - } - if (strcmp(szDocCurrent, pDoc->szFileName) == 0) - { - strcpy(szDocCurrent, ""); - ProjectTitle(); - } - free(pDoc); - - return SUCCESS; -} - - - -/* - Openning and closing documents -*/ - -int DocOpen(const char *szFileName, const int iAction) -{ - struct Action_s *pAction; - char *Params[2]; - - for (pAction = pActionList; pAction != NULL; pAction = pAction->pNext) - { - if (strcmp(pAction->szExt, FileGetExt(szFileName))) - continue; - - if (pAction->fFlags & ACTION_DEFAULT) - break; - } - if (pAction == NULL) - return FAILURE; - - if (pAction->fFlags & TASK_INTERNAL) - FileEdit(szFileName); - else - { - Params[0] = (char *) pAction; - Params[1] = (char *) szFileName; - TaskNew(TASK_ACTION, (const void **) Params); - } - - return SUCCESS; -} - - -int DocClose(const char *szFileName) -{ - struct Doc_s *pDoc = NULL; - int iResult; - char szMessage[TEXTLEN]; - - /* look for the document, close it */ - pDoc = DocSearch(szFileName); - if (pDoc == NULL) - return FAILURE; - if (pDoc->bChanged) - { - sprintf(szMessage, "File '%s' not saved.\n\nSave it now ?", szFileName); - iResult = MsgBox( - pWindowMain, - "Question ...", - szMessage, - MSGBOX_QUESTION | MSGBOX_YESD | MSGBOX_NO - ); - if (iResult == MSGBOX_YES) - FileSave(szFileName); - } - FileClose(szFileName); - - return SUCCESS; -} - - - -/******************************************************************************* - - Saving and loading projects - -*******************************************************************************/ - -int DocSave(const char *szFileName) -{ - FILE *hProject; - struct Doc_s *pDoc; - char szMessage[TEXTLEN], szPwd[TEXTLEN], szDirName[TEXTLEN], szFullDest[TEXTLEN], *pResult; - int iResult, i, j; - - /* read current working directory */ - pResult = getcwd(szPwd, TEXTLEN); - if (pResult == NULL) - { - sprintf(szMessage, "Cannot determine current working directory (Package::FileCopy())"); - return FAILURE; - } - -strcpy(szFullDest, szFileName); - - /* creating directories */ - for (i = 0, j = 0; i < strlen(szFullDest); ) - { - /* get destination directory name */ - for (; i < strlen(szFullDest) && szFullDest[i] != G_DIR_SEPARATOR; i ++) - szDirName[j ++] = szFullDest[i]; - for (; i < strlen(szFullDest) && szFullDest[i] == G_DIR_SEPARATOR; i ++) - szDirName[j ++] = szFullDest[i]; - szDirName[j] = 0; - - /* if end of string - it is not a directory */ - if (i == strlen(szFullDest)) - break; - - /* check if it exists */ - iResult = chdir(szDirName); - if (iResult != 0) - { - /* if not - create it */ - iResult = mkdir(szDirName, 0777); - if (iResult != 0) - { - sprintf(szMessage, "Cannot make directory '%s'", - szDirName - ); -// Log(LOG_ERROR, MODULE_PACKAGE, szMessage); - return FAILURE; - } - } - - /* return to the working directory */ - iResult = chdir(szPwd); - if (iResult != 0) - { - sprintf(szMessage, - "Cannot return to the working directory '%s'", - szPwd - ); -// Log(LOG_ERROR, MODULE_PACKAGE, szMessage); - return FAILURE; - } - } - - - /* - open project file for writing - */ - - hProject = fopen(szFileName, "w"); - if (hProject == NULL) - return FAILURE; - - - /* - save GManager section - */ - - fprintf(hProject, "[GMANAGER]\n"); - fprintf(hProject, "VERSION = \"%s\"\n", VERSION); - fprintf(hProject, "\n"); - - - /* - save project properties - */ - - fprintf(hProject, "[PROJECT]\n"); - fprintf(hProject, "AUTHOR = \"%s\"\n", Project.szAuthor); - fprintf(hProject, "DESC = \"%s\"\n", Project.szDesc); - fprintf(hProject, "\n"); - - - /* - save file list - */ - - fprintf(hProject, "[FILES]\n"); - for (pDoc = pDocList; pDoc != NULL; pDoc = pDoc->pNext) - { - fprintf(hProject, "FILE = \"%s\", \"%s\"\n", - pDoc->szFileName, - (pDoc->pParent != NULL) ? pDoc->pParent->szFileName : "" - ); - } - fprintf(hProject, "\n"); - - - /* - close project file - */ - - fclose(hProject); - - - return SUCCESS; -} - - -int DocLoad(const char *szFileName) -{ - int iResult, i, j, iNumber = 0; - int bNoParent, bCreated; - char szName[TEXTLEN], szValue[TEXTLEN], szDoc[TEXTLEN], szParent[TEXTLEN], szMessage[TEXTLEN]; - char *FileTab[TEXTLEN], *ParentTab[TEXTLEN]; - BOOL bOldVersion = FALSE; /* marker that loaded file is an old one */ - - - /* - open a project file for reading - */ - - iResult = ConfigOpen(szFileName); - if (iResult != SUCCESS) - { - sprintf(szMessage, "Cannot open the project file '%s' !", szFileName); - MsgBox( - pWindowMain, - "Error !", - szMessage, - MSGBOX_ERROR | MSGBOX_OKD - ); - return FAILURE; - } - - - /* - read GMANAGER section - */ - - iResult = ConfigSection("GMANAGER"); - if (iResult != SUCCESS) - { - bOldVersion = TRUE; - /* TODO: set deafults as appropriate */ - } - for (iResult = ConfigGetNext(szName, szValue); iResult == SUCCESS; iResult = ConfigGetNext(szName, szValue)) - { - if (!strcmp(szName, "VERSION")) - { - /* read file name */ - for (i = 0; i < strlen(szValue) && szValue[i] != '"'; i ++) - ; - i ++; - for (j = 0; i < strlen(szValue) && szValue[i] != '"'; i ++) - szDoc[j ++] = szValue[i]; - szDoc[j] = 0; - i ++; - - /* TODO: what todo with version ??? */ - } - } - - - /* - read PROJECT section - */ - - iResult = ConfigSection("PROJECT"); - if (iResult != SUCCESS) - { - bOldVersion = TRUE; - - strcpy(Project.szAuthor, ""); - strcpy(Project.szDesc, ""); - } - for (iResult = ConfigGetNext(szName, szValue); iResult == SUCCESS; iResult = ConfigGetNext(szName, szValue)) - { - if (!strcmp(szName, "AUTHOR")) - { - /* read file name */ - for (i = 0; i < strlen(szValue) && szValue[i] != '"'; i ++) - ; - i ++; - for (j = 0; i < strlen(szValue) && szValue[i] != '"'; i ++) - szDoc[j ++] = szValue[i]; - szDoc[j] = 0; - i ++; - - strcpy(Project.szAuthor, szDoc); - } - - else if (!strcmp(szName, "DESC")) - { - /* read file name */ - for (i = 0; i < strlen(szValue) && szValue[i] != '"'; i ++) - ; - i ++; - for (j = 0; i < strlen(szValue) && szValue[i] != '"'; i ++) - szDoc[j ++] = szValue[i]; - szDoc[j] = 0; - i ++; - - strcpy(Project.szDesc, szDoc); - } - } - - - /* - read file list - */ - - iResult = ConfigSection("FILES"); - if (iResult != SUCCESS) - { - sprintf(szMessage, "'%s' is not a valid project file !", szFileName); - MsgBox( - pWindowMain, - "Error !", - szMessage, - MSGBOX_ERROR | MSGBOX_OKD - ); - ConfigClose(); - return FAILURE; - } - for (iResult = ConfigGetNext(szName, szValue); iResult == SUCCESS; iResult = ConfigGetNext(szName, szValue)) - { - if (!strcmp(szName, "FILE")) - { - /* read file name */ - for (i = 0; i < strlen(szValue) && szValue[i] != '"'; i ++) - ; - i ++; - for (j = 0; i < strlen(szValue) && szValue[i] != '"'; i ++) - szDoc[j ++] = szValue[i]; - szDoc[j] = 0; - i ++; - - /* read parent file name */ - for (; i < strlen(szValue) && szValue[i] != '"'; i ++) - ; - i ++; - for (j = 0; i < strlen(szValue) && szValue[i] != '"'; i ++) - szParent[j ++] = szValue[i]; - szParent[j] = 0; - i ++; - - FileTab[iNumber] = malloc(strlen(szDoc) + 1); - strcpy(FileTab[iNumber], szDoc); - ParentTab[iNumber] = malloc(strlen(szParent) + 1); - strcpy(ParentTab[iNumber], szParent); - iNumber ++; - } - } - - bNoParent = TRUE, bCreated = TRUE; - while (bNoParent && bCreated) - { - bNoParent = FALSE; - bCreated = FALSE; - - for (i = 0; i < iNumber; i ++) - { - if (FileTab[i] != NULL || (ParentTab[i] != NULL ? (strlen(ParentTab[i]) == 0) : FALSE)) - { - if (DocSearch(ParentTab[i]) != NULL || strlen(ParentTab[i]) == 0) - { - DocCreate(FileTab[i], ParentTab[i]); -// ProjectSave(); - - free(FileTab[i]); - free(ParentTab[i]); - - FileTab[i] = NULL; - ParentTab[i] = NULL; - - bCreated = TRUE; - } - - else - bNoParent = TRUE; - } - } - } - - - /* - close project file - */ - - ConfigClose(); - - - /* - convert old files to a new version - */ - - if (bOldVersion) - ProjectProperties(FALSE); - - - return SUCCESS; -} - - -int DocGetProperty(const int iProperty, const char *szDoc, void *pValue) -{ - struct Doc_s *pDoc; - - /* get the value */ - switch (iProperty) - { - case DOC_FILENAME: - - pDoc = DocSearch((char *) szDoc/*pValue*/); - strcpy((char *) pValue, (pDoc != NULL) ? pDoc->szFileName : ""); - if (pDoc == NULL) - return FAILURE; - break; - - case DOC_NEXT: - - /* look for the first document */ - if (strlen(szDoc) == 0) - { - strcpy((char *) pValue, (pDocList != NULL) ? pDocList->szFileName : ""); - if (pDocList == NULL) - return FAILURE; - } - - /* look for one of the next documents */ - else - { - pDoc = DocSearch(szDoc); - if (pDoc == NULL) - { - /* no such document */ - strcpy((char *) pValue, ""); - return FAILURE; - } - - pDoc = pDoc->pNext; - if (pDoc == NULL) - { - /* no next document */ - strcpy((char *) pValue, ""); - return FAILURE; - } - - strcpy((char *) pValue, pDoc->szFileName); - } - - break; - - case DOC_SELECTED: - - strcpy((char *) pValue, szDocCurrent); - break; - - case DOC_PARENT: - - pDoc = DocSearch(szDoc); - strcpy((char *) pValue, (pDoc != NULL) ? (pDoc->pParent != NULL ? pDoc->pParent->szFileName : "") : ""); - if (pDoc == NULL) - return FAILURE; - break; - - case DOC_CHANGED: - - pDoc = DocSearch(szDoc); - *((int *) pValue) = (pDoc != NULL) ? pDoc->bChanged : 0; - if (pDoc == NULL) - return FAILURE; - break; - - default: - - return FALSE; - } - - return SUCCESS; -} - - -/* - Private functions -*/ - -/* look for document */ -static struct Doc_s *DocSearch(const char *szFileName) -{ - struct Doc_s *pPtr; - - for (pPtr = pDocList; pPtr != NULL; pPtr = pPtr->pNext) - { - if (!strcmp(szFileName, pPtr->szFileName)) - break; - } - - return pPtr; -} - - - -/* - Document Views -*/ - -static GtkCTree *pTreeModules, *pTreeFiles; - - - -void DocViewInitialize(void) -{ - GtkCTreeNode *pNode; - char *pNameNode[2], pName[TEXTLEN]; - int iId; - - pTreeModules = GTK_CTREE(lookup_widget(GTK_WIDGET(pWindowMain), "DocModulesTree")); - pTreeFiles = GTK_CTREE(lookup_widget(GTK_WIDGET(pWindowMain), "DocFilesTree")); - - /* create and show file groups */ - for ( - ToolValueGet(GROUP_LIST, GROUP_NEXT, GROUP_NONE, &iId); - iId != GROUP_NONE; - ToolValueGet(GROUP_LIST, GROUP_NEXT, iId, &iId) - ) - { - ToolValueGet(GROUP_LIST, GROUP_NAME, iId, pName); - pNameNode[0] = pName; - pNameNode[1] = NULL; - - pNode = gtk_ctree_insert_node( - pTreeModules, - NULL, - NULL, - pNameNode, - 1, - NULL, - NULL, - NULL, - NULL, - FALSE, - TRUE - ); - - ToolValueSet(GROUP_LIST, GROUP_NODE, iId, &pNode); - } -} - - - -void DocViewRelease(void) -{ - GtkCTreeNode *pNode = NULL; - int iId; - - for ( - ToolValueGet(GROUP_LIST, GROUP_NEXT, GROUP_NONE, &iId); - iId != GROUP_NONE; - ToolValueGet(GROUP_LIST, GROUP_NEXT, iId, &iId) - ) - { - ToolValueGet(GROUP_LIST, GROUP_NODE, iId, pNode); - gtk_ctree_remove_node(pTreeModules, pNode); - } -} - - - -static void DocViewAdd(struct Doc_s *pDoc) -{ - DocViewModulesAdd(pDoc); - DocViewFilesAdd(pDoc); - - DocViewSort(); -} - - - -static void DocViewDelete(struct Doc_s *pDoc) -{ - DocViewModulesDelete(pDoc); - DocViewFilesDelete(pDoc); -} - - - -static void DocViewSort(void) -{ - DocViewModulesSort(); - DocViewFilesSort(); -} - - - -static void DocViewModulesAdd(struct Doc_s *pDoc) -{ - char *pNameNode[2]; - - /* insert node into modules tree */ - pNameNode[0] = pDoc->szFileName; - pNameNode[1] = NULL; - pDoc->pNodeModules = gtk_ctree_insert_node( - pTreeModules, - NULL, - NULL, - pNameNode, - 1, - NULL, - NULL, - NULL, - NULL, - FALSE, - TRUE - ); -} - - - -static void DocViewModulesDelete(struct Doc_s *pDoc) -{ - gtk_ctree_remove_node(pTreeModules, pDoc->pNodeModules); - pDoc->pNodeModules = NULL; -} - - - -static void DocViewModulesSort(void) -{ - struct Doc_s *pDoc, *pSibling, *pPtr, *pParent; - GtkCTreeNode *pNodeParent, *pNode; - int iGroupId, iResult, i; - char szExt[TEXTLEN]; - - for (pDoc = pDocList; pDoc != NULL; pDoc = pDoc->pNext) - { - /* looking for parent doc */ - for (pParent = pDocList; pParent != NULL; pParent = pParent->pNext) - { - if (pDoc->pParent == pParent) - break; - } - - /* determine parent node */ - if (pParent != NULL) - pNodeParent = pParent->pNodeModules; - else - { - for (i = 0, iResult = SUCCESS; iResult == SUCCESS; i ++) - { - iResult = ToolValueGet(EXT_LIST, EXT_EXT, i, szExt); - if (iResult != SUCCESS) - break; - - if (!strcmp(szExt, FileGetExt(pDoc->szFileName))) - break; - } - if (iResult != SUCCESS) - break; - - iResult = ToolValueGet(EXT_LIST, EXT_GROUPID, i, &iGroupId); - if (iResult != SUCCESS) - FatalError(__FILE__, __LINE__, __DATE__); - - pNodeParent = NULL; - iResult = ToolValueGet(GROUP_LIST, GROUP_NODE, iGroupId, &pNodeParent); - if (iResult == FAILURE) - pNodeParent = NULL; - } - - /* determine sibling node */ - for (pSibling = NULL, pPtr = pDocList; pPtr != NULL /*&& pParent != NULL*/; pPtr = pPtr->pNext) - { - if (pPtr == pDoc) - continue; - if (pPtr->pParent != pDoc->pParent) - continue; - - /* check groups for main files */ - if (pParent == NULL) - { - for (i = 0, iResult = SUCCESS; iResult == SUCCESS; i ++) - { - iResult = ToolValueGet(EXT_LIST, EXT_EXT, i, szExt); - if (iResult != SUCCESS) - break; - - if (!strcmp(szExt, FileGetExt(pPtr->szFileName))) - break; - } - if (iResult != SUCCESS) - break; - - iResult = ToolValueGet(EXT_LIST, EXT_GROUPID, i, &iGroupId); - if (iResult != SUCCESS) - FatalError(__FILE__, __LINE__, __DATE__); - - iResult = ToolValueGet(GROUP_LIST, GROUP_NODE, iGroupId, &pNode); - if (iResult == FAILURE) - pNode = NULL; - } - if (pNode != pNodeParent) - continue; - - if (strcmp(pPtr->szFileName, pDoc->szFileName) < 0) - continue; - - if (pSibling != NULL) - { - if (strcmp(pPtr->szFileName, pSibling->szFileName) < 0) - pSibling = pPtr; - } - - else - { - pSibling = pPtr; - } - } - - gtk_ctree_move( - pTreeModules, - pDoc->pNodeModules, - pNodeParent, - (pSibling != NULL) ? pSibling->pNodeModules : NULL - ); - } -} - - - -static void DocViewFilesAdd(struct Doc_s *pDoc) -{ - char *pNode[2]; - - /* inserting node */ - pNode[0] = pDoc->szFileName; - pNode[1] = NULL; - pDoc->pNodeFiles = gtk_ctree_insert_node( - pTreeFiles, - NULL, - NULL, - pNode, - 1, - NULL, - NULL, - NULL, - NULL, - FALSE, - FALSE - ); - gtk_ctree_sort_node(pTreeFiles, pDoc->pNodeFiles); -} - - - -static void DocViewFilesDelete(struct Doc_s *pDoc) -{ - gtk_ctree_remove_node(pTreeFiles, pDoc->pNodeFiles); -} - - - -static void DocViewFilesSort(void) -{ - struct Doc_s *pDoc, *pSibling, *pPtr; - - for (pDoc = pDocList; pDoc != NULL; pDoc = pDoc->pNext) - { - for (pSibling = NULL, pPtr = pDocList; pPtr != NULL; pPtr = pPtr->pNext) - { - if (pPtr == pDoc) - continue; - if (strcmp(pPtr->szFileName, pDoc->szFileName) < 0) - continue; - - if (pSibling != NULL) - { - if (strcmp(pPtr->szFileName, pSibling->szFileName) < 0) - pSibling = pPtr; - } - - else - { - pSibling = pPtr; - } - } - - gtk_ctree_move( - pTreeFiles, - pDoc->pNodeFiles, - NULL, - (pSibling != NULL) ? pSibling->pNodeFiles : NULL - ); - } -} - - - -void Doc_Selection(GtkCTree *pTree, GList *node, gint column, gpointer user_data) -{ - static int bBlocked = FALSE; - - struct Doc_s *pDoc; - GtkCTree *pTreeModules, *pTreeFiles; - int iResult; - char *szExt; - - if (bBlocked) - return; - - /* look for project tree */ - pTreeModules = GTK_CTREE(lookup_widget(GTK_WIDGET(pWindowMain), "DocModulesTree")); - if (pTreeModules == NULL) - return; - pTreeFiles = GTK_CTREE(lookup_widget(GTK_WIDGET(pWindowMain), "DocFilesTree")); - if (pTreeFiles == NULL) - return; - - /* look for the document */ - for (pDoc = pDocList; pDoc != NULL; pDoc = pDoc->pNext) - { - if ((GtkCTreeNode *) node == ((pTree == pTreeModules) ? pDoc->pNodeModules : pDoc->pNodeFiles)) - break; - } - if (pDoc == NULL) - { - /* unselect current file */ - strcpy(szDocCurrent, ""); - - /* create appropiate action menu */ - MenuActionRefresh(""); - } - else - { - /* select the same document on different views */ - bBlocked = TRUE; - gtk_ctree_select(pTreeModules, pDoc->pNodeModules); - gtk_ctree_select(pTreeFiles, pDoc->pNodeFiles); - while (g_main_iteration(FALSE)); - bBlocked = FALSE; - - /* make the selected document current */ - strcpy(szDocCurrent, pDoc->szFileName); - - /* create appropiate action menu */ - szExt = FileGetExt(pDoc->szFileName); - MenuActionRefresh(szExt); - } - - ProjectTitle(); - - iResult = (pDoc != NULL) - ? SUCCESS - : FAILURE; -} - - - -gboolean -on_DocModulesTree_button_press_event (GtkWidget *widget, - GdkEventButton *event, - gpointer user_data) -{ - - if (event->type != GDK_2BUTTON_PRESS) - return FALSE; - - gmanager_window_select(szDocCurrent); - DocOpen(szDocCurrent, 0); - - return FALSE; -} diff --git a/geda/src/doc.h b/geda/src/doc.h deleted file mode 100644 index ebd7eab02..000000000 --- a/geda/src/doc.h +++ /dev/null @@ -1,76 +0,0 @@ -/*******************************************************************************/ -/* */ -/* gEDA Suite Project Manager */ -/* */ -/* Copyright (C) 2002 Piotr Miarecki, sp9rve@eter.ariadna.pl */ -/* */ -/* 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 version 2. */ -/* */ -/* This program is distributed in the hope that it will be useful, */ -/* but WITHOUT ANY WARRANTY; without even the implied warranty of */ -/* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the */ -/* GNU General Public License for more details. */ -/* */ -/* You should have received a copy of the GNU General Public License */ -/* along with this program; if not, write to the Free Software */ -/* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ -/* */ -/*******************************************************************************/ - -#ifndef __DOC_H_INCLUDED -#define __DOC_H_INCLUDED - -#include -#include "global.h" - - - -/* document properties */ -struct Doc_s -{ - char szFileName[TEXTLEN]; /* name of the file */ - struct Doc_s *pParent; /* pointer to parent, NULL if top level */ - - GtkCTreeNode *pNodeModules; - GtkCTreeNode *pNodeFiles; - - union - { - struct Window_s *pWindow; - struct Task_s *pTask; - } *pOpenedIn; - - BOOL bChanged; - - struct Doc_s *pNext; /* pointer to next document */ -}; -extern struct Doc_s *pDocList; - -#define DOC_FILENAME 1 /* get relative filename of the document */ -#define DOC_NEXT 2 /* get relative filename of the next document on the list */ -#define DOC_SELECTED 3 /* get relative name of the selected file */ -#define DOC_PARENT 4 /* get parent filename */ -#define DOC_CHANGED 5 /* get file changed boolean flag */ - - - -/* public functions and variables */ -int DocCreate(const char *szFileName, const char *szParentFileName); -int DocDestroy(const char *szFileName); -int DocOpen(const char *szFileName, const int iAction); -int DocClose(const char *szFileName); -int DocSave(const char *szFileName); -int DocLoad(const char *szFileName); -void DocCurrent(char *szProjectName, char *szFileName); -int DocGetNext(char *szFileName); -int DocGetProperty(const int iProperty, const char *szDoc, void *pValue); -void Doc_Selection(GtkCTree *pTree, GList *node, gint column, gpointer user_data); -gboolean on_DocModulesTree_button_press_event(GtkWidget *widget, GdkEventButton *event, gpointer user_data); -void DocViewInitialize(void); -void DocViewRelease(void); - - - -#endif diff --git a/geda/src/file.c b/geda/src/file.c deleted file mode 100644 index dbb0bc56f..000000000 --- a/geda/src/file.c +++ /dev/null @@ -1,404 +0,0 @@ -/* $Id$ */ - -/*******************************************************************************/ -/* */ -/* gEDA Suite Project Manager */ -/* */ -/* Copyright (C) 2002 Piotr Miarecki, sp9rve@eter.ariadna.pl */ -/* */ -/* 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 version 2. */ -/* */ -/* This program is distributed in the hope that it will be useful, */ -/* but WITHOUT ANY WARRANTY; without even the implied warranty of */ -/* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the */ -/* GNU General Public License for more details. */ -/* */ -/* You should have received a copy of the GNU General Public License */ -/* along with this program; if not, write to the Free Software */ -/* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ -/* */ -/*******************************************************************************/ - -#ifdef HAVE_CONFIG_H -#include "config.h" -#endif - -#include - -#ifdef HAVE_STRING_H -#include -#endif - -#ifdef HAVE_UNISTD_H -#include -#endif - -#include "file.h" -#include "filetool.h" -#include "doc.h" -#include "project.h" -#include "tool.h" -#include "txtedit.h" - - - -/******************************************************************************* - - Private functions and variables - -*******************************************************************************/ - -/* error string returned to a calling function */ -static char *pErrorString = NULL; - -/* error strings */ -#define MSG_FILATTACHED "File already exists in project" -#define MSG_FILEXIST "File already exists on disk" -#define MSG_FILTYPERR "File type not supported" -#define MSG_FILWRIERR "Cannot write to a file" -#define MSG_FILDELERR "Cannot delete a file" -#define MSG_INTERROR "Internal error" -#define MSG_PROMPT ":\n\n" - -/* string functions */ -/* TODO: move to a separate module */ -void StringSet(char *pVar, const char *pString); -void StringAdd(char *pVar, const char *pString); - - - -/******************************************************************************* - - File edit - -*******************************************************************************/ - -char *FileEdit(const char *szPath) -{ - EditOpen(szPath); - - return NULL; -} - - - -/******************************************************************************* - - File save - -*******************************************************************************/ - -char *FileSave(const char *szPath) -{ - EditSave(szPath); - - return NULL; -} - - - -/******************************************************************************* - - File print - -*******************************************************************************/ - -char *FilePrint(const char *szPath) -{ - EditPrint(szPath); - - return NULL; -} - - - -/******************************************************************************* - - File close - -*******************************************************************************/ - -char *FileClose(const char *szPath) -{ - EditClose(szPath); - - return NULL; -} - - - -/******************************************************************************* - - File new - -*******************************************************************************/ - -char *FileNew(const char *pFile, const char *pParent) -{ - FILE *hFile; - int iId, iResult; - char *pResult, szTemplate[TEXTLEN], szExt[TEXTLEN], pValue[TEXTLEN]; - - - /* - check existence of file (in project, on disk) - */ - - iResult = DocGetProperty(DOC_FILENAME, pFile, (void *) pValue); - if (iResult == SUCCESS) - { - StringSet(pErrorString, MSG_FILATTACHED); - StringAdd(pErrorString, MSG_PROMPT); - StringAdd(pErrorString, pFile); - return pErrorString; - } - - iResult = FileIsExisting(pFile); - if (iResult == SUCCESS) - { - StringSet(pErrorString, MSG_FILEXIST); - StringAdd(pErrorString, MSG_PROMPT); - StringAdd(pErrorString, pFile); - return pErrorString; - } - - - /* - create file - */ - - for ( - iId = 0, iResult = SUCCESS; iResult == SUCCESS; iId ++) - { - iResult = ToolValueGet(EXT_LIST, EXT_EXT, iId, szExt); - if (iResult != SUCCESS) - { - StringSet(pErrorString, MSG_FILTYPERR); - return pErrorString; - } - - if (!strcmp(szExt, FileGetExt(pFile))) - break; - } - - iResult = ToolValueGet(EXT_LIST, EXT_TEMPLATE, iId, (void *) szTemplate); - if (iResult != SUCCESS) - FatalError(__FILE__, __LINE__, __DATE__); - - hFile = fopen(pFile, "w"); - if (hFile == NULL) - { - StringSet(pErrorString, MSG_FILWRIERR); - StringAdd(pErrorString, MSG_PROMPT); - StringAdd(pErrorString, pFile); - return pErrorString; - } - fprintf(hFile, "%s", szTemplate); - fclose(hFile); - - - /* - add file to project - */ - - iResult = DocCreate(FileGetRel(pFile), pParent); - if (iResult != SUCCESS) - { - StringSet(pErrorString, MSG_INTERROR); - return pErrorString; - } - - iResult = ProjectSave(); - if (iResult != SUCCESS) - { - StringSet(pErrorString, MSG_INTERROR); - return pErrorString; - } - - - /* - open file - */ - - pResult = FileEdit(pFile); - if (pResult != NULL) - return pResult; - - - return NULL; -} - - - -/******************************************************************************* - - File import - -*******************************************************************************/ - - - -/******************************************************************************* - - File unlink - -*******************************************************************************/ - -char *FileUnlink(const char *szFilename) -{ - char *pResult, szName[TEXTLEN], szParent[TEXTLEN]; - int iResult; - - /* - delete all children of the file - */ - - iResult = SUCCESS; - strcpy(szName, ""); - while (iResult == SUCCESS) - { - iResult = DocGetProperty(DOC_NEXT, szName, (void *) szName); - if (iResult != SUCCESS) - break; - - iResult = DocGetProperty(DOC_PARENT, szName, (void *) szParent); - if (iResult != SUCCESS) - break; - - if (!strcmp(szParent, szFilename)) - { - pResult = FileUnlink(szName); - if (pResult != NULL) - return pResult; - } - } - - - /* - close the file - */ - - iResult = DocClose(szFilename); - if (iResult != SUCCESS) - { - StringSet(pErrorString, MSG_INTERROR); - return pErrorString; - } - - - /* - remove file from document list - */ - - iResult = DocDestroy(szFilename); - if (iResult != SUCCESS) - { - StringSet(pErrorString, MSG_INTERROR); - return pErrorString; - } - - iResult = ProjectSave(); - if (iResult != SUCCESS) - { - StringSet(pErrorString, MSG_INTERROR); - return pErrorString; - } - - return NULL; -} - - - -/******************************************************************************* - - File delete - -*******************************************************************************/ - -char *FileDelete(const char *szFilename) -{ - char *pResult; - int iResult; - - /* - unlink the file - */ - - pResult = FileUnlink(szFilename); - if (pResult != NULL) - return pResult; - - - /* - delete the file from disk - */ - - iResult = unlink(szFilename); - if (iResult != 0) - { - StringSet(pErrorString, MSG_FILDELERR); - StringAdd(pErrorString, MSG_PROMPT); - StringAdd(pErrorString, szFilename); - return pErrorString; - } - - return NULL; -} - - - -/******************************************************************************* - - Private functions and variables - -*******************************************************************************/ - -/* copy pString to pVar */ -void StringSet(char *pVar, const char *pString) -{ - char *pPtr; - - if (pString == NULL) - return; - - if (pVar == NULL) - { - pPtr = (char *) malloc(strlen(pString) + 1); - if (pPtr == NULL) - return; - } else { - pPtr = (char *) realloc(pVar, strlen(pString) + 1); - if (pPtr == NULL) - return; - } - - strcpy(pVar, pString); - pVar = pPtr; -} - - -/* add pString to pVar */ -void StringAdd(char *pVar, const char *pString) -{ - char *pPtr; - - if (pString == NULL) - return; - - if (pVar == NULL) - { - pPtr = (char *) malloc(strlen(pString) + 1); - if (pPtr == NULL) - return; - } else { - pPtr = (char *) realloc(pVar, strlen(pVar) + strlen(pString) + 1); - if (pPtr == NULL) - return; - } - - strcpy(pPtr, pVar); - strcat(pPtr, pString); - pVar = pPtr; -} diff --git a/geda/src/file.h b/geda/src/file.h deleted file mode 100644 index dd3114025..000000000 --- a/geda/src/file.h +++ /dev/null @@ -1,44 +0,0 @@ -/*******************************************************************************/ -/* */ -/* gEDA Suite Project Manager */ -/* */ -/* Copyright (C) 2002 Piotr Miarecki, sp9rve@eter.ariadna.pl */ -/* */ -/* 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 version 2. */ -/* */ -/* This program is distributed in the hope that it will be useful, */ -/* but WITHOUT ANY WARRANTY; without even the implied warranty of */ -/* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the */ -/* GNU General Public License for more details. */ -/* */ -/* You should have received a copy of the GNU General Public License */ -/* along with this program; if not, write to the Free Software */ -/* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ -/* */ -/*******************************************************************************/ - -#ifndef __FILE_H_INCLUDED -#define __FILE_H_INCLUDED - - - -/******************************************************************************* - - Public functions and variables - -*******************************************************************************/ - -/* common part for menu, icon and library calls */ -char *FileEdit(const char *szPath); -char *FileSave(const char *szPath); -char *FilePrint(const char *szPath); -char *FileClose(const char *szPath); -char *FileNew(const char *szFile, const char *szParent); -char *FileDelete(const char *szFilename); -char *FileUnlink(const char *szFilename); - - - -#endif /* __FILE_H_INCLUDED */ diff --git a/geda/src/filechoose.c b/geda/src/filechoose.c deleted file mode 100644 index ae9f869f2..000000000 --- a/geda/src/filechoose.c +++ /dev/null @@ -1,95 +0,0 @@ -/* $Id$ */ - -/*******************************************************************************/ -/* */ -/* gEDA Suite Project Manager */ -/* */ -/* Copyright (C) 2002 Piotr Miarecki, sp9rve@eter.ariadna.pl */ -/* */ -/* 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 version 2. */ -/* */ -/* This program is distributed in the hope that it will be useful, */ -/* but WITHOUT ANY WARRANTY; without even the implied warranty of */ -/* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the */ -/* GNU General Public License for more details. */ -/* */ -/* You should have received a copy of the GNU General Public License */ -/* along with this program; if not, write to the Free Software */ -/* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ -/* */ -/*******************************************************************************/ - -#ifdef HAVE_CONFIG_H -#include "config.h" -#endif - -#include - -#ifdef HAVE_STRING_H -#include -#endif - -#include "filechoose.h" -#include "global.h" - - - -/* file choose phase */ -#define FILECHOOSE_GOING 0 -#define FILECHOOSE_DONE 1 -#define FILECHOOSE_CANCELED 2 - - -/* private functions and variables */ -static GtkWidget *pFileChoose; -static char szFileChoose[TEXTLEN]; -static int iFileChooseStatus; - -int FileChoose(char *szPattern, char *szFileName) -{ - //GtkWidget *pButtonOk, *pButtonCancel; - char szMask[TEXTLEN]; - - /* prepare variables */ - strcpy(szMask, "*."); - strcat(szMask, szPattern); - - /* create main widget */ - pFileChoose = gtk_file_chooser_dialog_new( - "Choose file", - NULL, - GTK_FILE_CHOOSER_ACTION_OPEN, - GTK_STOCK_CANCEL, - GTK_RESPONSE_CANCEL, - GTK_STOCK_OPEN, - GTK_RESPONSE_ACCEPT, - NULL - ); - gtk_object_set_data(GTK_OBJECT(pFileChoose), "FileChooseWindow", pFileChoose); - gtk_container_set_border_width(GTK_CONTAINER(pFileChoose), 10); - gtk_window_set_position(GTK_WINDOW(pFileChoose), GTK_WIN_POS_CENTER); - gtk_window_set_modal(GTK_WINDOW(pFileChoose), TRUE); - gtk_window_set_policy(GTK_WINDOW(pFileChoose), FALSE, FALSE, FALSE); - gtk_window_set_wmclass(GTK_WINDOW(pFileChoose), "*.prj", ""); - gtk_window_set_transient_for(GTK_WINDOW(pFileChoose), GTK_WINDOW(pWindowMain)); - gtk_widget_show(pFileChoose); - - gtk_widget_show(pFileChoose); - if (gtk_dialog_run(GTK_DIALOG (pFileChoose)) == GTK_RESPONSE_ACCEPT) { - char *filename; - filename = gtk_file_chooser_get_filename (GTK_FILE_CHOOSER (pFileChoose)); - strcpy(szFileName, filename); - strcpy(szFileChoose, filename); - iFileChooseStatus = FILECHOOSE_DONE; - g_free (filename); - } else { - iFileChooseStatus = FILECHOOSE_CANCELED; - } - gtk_widget_destroy (pFileChoose); - - return (iFileChooseStatus == FILECHOOSE_DONE) - ? SUCCESS - : FAILURE; -} diff --git a/geda/src/filechoose.h b/geda/src/filechoose.h deleted file mode 100644 index f8f491bf5..000000000 --- a/geda/src/filechoose.h +++ /dev/null @@ -1,32 +0,0 @@ -/*******************************************************************************/ -/* */ -/* gEDA Suite Project Manager */ -/* */ -/* Copyright (C) 2002 Piotr Miarecki, sp9rve@eter.ariadna.pl */ -/* */ -/* 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 version 2. */ -/* */ -/* This program is distributed in the hope that it will be useful, */ -/* but WITHOUT ANY WARRANTY; without even the implied warranty of */ -/* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the */ -/* GNU General Public License for more details. */ -/* */ -/* You should have received a copy of the GNU General Public License */ -/* along with this program; if not, write to the Free Software */ -/* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ -/* */ -/*******************************************************************************/ - -#ifndef __FILECHOOSE_H_INCLUDED -#define __FILECHOOSE_H_INCLUDED - - - -/* public functions */ -int FileChoose(char *szPattern, char *szFileName); - - - -#endif diff --git a/geda/src/filetool.c b/geda/src/filetool.c deleted file mode 100644 index 06911b96c..000000000 --- a/geda/src/filetool.c +++ /dev/null @@ -1,331 +0,0 @@ -/* $Id$ */ - -/*******************************************************************************/ -/* */ -/* gEDA Suite Project Manager */ -/* */ -/* Copyright (C) 2002 Piotr Miarecki, sp9rve@eter.ariadna.pl */ -/* */ -/* 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 version 2. */ -/* */ -/* This program is distributed in the hope that it will be useful, */ -/* but WITHOUT ANY WARRANTY; without even the implied warranty of */ -/* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the */ -/* GNU General Public License for more details. */ -/* */ -/* You should have received a copy of the GNU General Public License */ -/* along with this program; if not, write to the Free Software */ -/* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ -/* */ -/*******************************************************************************/ - -#ifdef HAVE_CONFIG_H -#include "config.h" -#endif - -#define GTK_ENABLE_BROKEN -#include -#include - -#ifdef HAVE_STRING_H -#include -#endif - -#include -#include - -#ifdef HAVE_UNISTD_H -#include -#endif - -#include "filetool.h" -#include "global.h" -#include "support.h" - - - -/* PID of last thread created by FileExec() */ -static pid_t Pid = -1; - - - -/* - check if file exists -*/ - -int FileIsExisting(const char *szFileName) -{ - FILE *fp; - - fp = fopen(szFileName, "r"); - if (fp == NULL) - return FAILURE; - - fclose(fp); - - return SUCCESS; -} - - - -/* - copy file -*/ - -int FileCopy(const char *szSource, const char *szDest) -{ - FILE *Source, *Dest; - - Source = fopen(szSource, "r"); - if (Source == NULL) - { - /* TODO: error handling */ - return FAILURE; - } - - Dest = fopen(szDest, "w"); - if (Dest == NULL) - { - /* TODO: error handling */ - return FAILURE; - } - - while (!feof(Source)) - fputc(fgetc(Source), Dest); - - fclose(Dest); - fclose(Source); - - return SUCCESS; -} - - - -/* - get file name, extension and directory from full path -*/ - -char *FileGetName(const char *szFilename) -{ - static char szName[TEXTLEN]; - int i, j; - - /* extract only filename with extension */ - for (i = strlen(szFilename) - 1; i >= 0 && szFilename[i] != G_DIR_SEPARATOR; i --) - ; - if (i < 0) - i = 0; - if (szFilename[i] == G_DIR_SEPARATOR) - i ++; - if (i > strlen(szFilename) - 1) - i = strlen(szFilename) - 1; - strcpy(szName, szFilename + i); - - /* remove extension */ - for (j = strlen(szName) - 1; j >= 0 && szName[j] != '.'; j --) - ; - if (j >= 0) - szName[j] = 0; - - return szName; -} - - -char *FileGetExt(const char *szFilename) -{ - static char szExt[TEXTLEN]; - int i; - - szExt[0] = 0; - for (i = strlen(szFilename) - 1; i >= 0 && szFilename[i] != '/' && szFilename[i] != '.'; i --) - ; - if (szFilename[i] == '.') - { - if (strlen(szFilename + i + 1) < TEXTLEN) - strcpy(szExt, szFilename + i + 1); - } - - return szExt; -} - - -char *FileGetDir(const char *szFilename) -{ - static char szDir[TEXTLEN]; - int i; - - strncpy(szDir, szFilename, TEXTLEN - 1); - for (i = strlen(szDir) - 1; i >= 0 && szDir[i] != '/'; i --) - ; - if (szDir[i] == '/' && i < TEXTLEN) - szDir[i] = 0; - else - szDir[0] = 0; - - return szDir; -} - - - - -char *FileGetRel(const char *szFilename) -{ - int i, j, k; - static char szRel[TEXTLEN]; - char szDirectory[TEXTLEN], *pResult; - - /* get current directory */ - pResult = getcwd(szDirectory, TEXTLEN - 1); - if (pResult == NULL) - { - strcpy(szRel, ""); - return szRel; - } - - - /* if file name is a relative one */ - if (szFilename[0] != '/') - { - strcpy(szRel, szFilename); - } - - /* if the file exists in a subdirectory */ - else if (!strncmp(szFilename, szDirectory, strlen(szDirectory))) - { - strcpy(szRel, szFilename + strlen(szDirectory) + 1); - } - - /* if the file exists in a different directory tree */ - else - { - for (i = 0; i < strlen(szFilename); i ++) - if (strncmp(szFilename, szDirectory, i)) - break; - if (i > 0) - i --; - - for (j = i, k = 1; j < strlen(szDirectory); j ++) - if (szDirectory[j] == '/') - k ++; - - strcpy(szRel, ""); - for (j = 0; j < k; j ++) - strcat(szRel, "../"); - strcat(szRel, szFilename + i); - } - - return szRel; -} - - - -int FileExec(const char *szCommand) -{ - GtkText *pText; - FILE *hStdOut, *hStdErr; - char szValue[TEXTLEN], szText[2000]; - int iResult, i, j; - - /* create a new process to execute external shell commands) */ - Pid = fork(); - if (Pid < 0) - { - return FAILURE; - } - - /* run the command in the child process */ - if (Pid == 0) - { - Pid = getpid(); - - /* redirecting stdout */ - sprintf(szValue, "/%s/%s-stdout-%ld", GM_TMPDIR, GM_TMPNAME, (long) Pid); - hStdOut = freopen(szValue, "w", stdout); - if (hStdOut == NULL) - { - _exit(0); - } - - /* redirecting stderr */ - sprintf(szValue, "/%s/%s-stderr-%ld", GM_TMPDIR, GM_TMPNAME, (long) Pid); - hStdErr = freopen(szValue, "w", stderr); - if (hStdErr == NULL) - { - _exit(0); - } - - /* execute command */ - execl("/bin/sh", "sh", "-c", szCommand, NULL); - - /* end child process */ - _exit(0); - } - - /* wait for death of child in the parent process */ - while (waitpid(Pid, NULL, WNOHANG) == 0) - { - sleep(1); - while (g_main_iteration(FALSE)); - } - - /* copy stderr to sterr window */ - pText = GTK_TEXT(lookup_widget(GTK_WIDGET(pWindowMain), "StatusText")); - if (pText == NULL) - { - /* TODO: error handling */ - } - else - { - /* print stderr */ - sprintf(szValue, "/%s/%s-stderr-%ld", GM_TMPDIR, GM_TMPNAME, (long) Pid); - hStdErr = fopen(szValue, "r"); - if (hStdErr == NULL) - { - /* TODO */ - } - else - { - j = 0; - while (!feof(hStdErr)) - { - i = fgetc(hStdErr); - if (i < 0) - break; - - szText[j++] = (char) '*'; - } - - szText[j] = 0; - gtk_text_set_point(pText, 0); - gtk_text_forward_delete(pText, gtk_text_get_length(pText)); - gtk_text_insert(pText, NULL, NULL, NULL, szText, strlen(szText)); - gtk_widget_show(GTK_WIDGET(pText)); - while (g_main_iteration(FALSE)); - fclose(hStdErr); - } - } - - /* remove last stdout file */ - sprintf(szValue, "/%s/%s-stdout-%ld", GM_TMPDIR, GM_TMPNAME, (long) Pid); - iResult = remove(szValue); - if (iResult != 0) - { - /* TODO: error handling */ - } - - /* remove last stderr file */ - sprintf(szValue, "/%s/%s-stderr-%ld", GM_TMPDIR, GM_TMPNAME, (long) Pid); - iResult = remove(szValue); - if (iResult != 0) - { - /* TODO: error handling */ - } - - /* TODO: in this manner the function never return failure, fix it */ - - return SUCCESS; -} - - diff --git a/geda/src/filetool.h b/geda/src/filetool.h deleted file mode 100644 index 7dc1d6149..000000000 --- a/geda/src/filetool.h +++ /dev/null @@ -1,45 +0,0 @@ -/*******************************************************************************/ -/* */ -/* gEDA Suite Project Manager */ -/* */ -/* Copyright (C) 2002 Piotr Miarecki, sp9rve@eter.ariadna.pl */ -/* */ -/* 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 version 2. */ -/* */ -/* This program is distributed in the hope that it will be useful, */ -/* but WITHOUT ANY WARRANTY; without even the implied warranty of */ -/* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the */ -/* GNU General Public License for more details. */ -/* */ -/* You should have received a copy of the GNU General Public License */ -/* along with this program; if not, write to the Free Software */ -/* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ -/* */ -/*******************************************************************************/ - -#ifndef __FILETOOL_H_INCLUDED -#define __FILETOOL_H_INCLUDED - - - -#define FILETOOL_NAMESEP ',' /* separator of the filenames on the list */ - - - -/* public functions */ -int FileIsExisting(const char *szFileName); -int FileCopy(const char *szSource, const char *szDest); -int FileExec(const char *szCommand); - -char *FileGetName(const char *szFilename); -char *FileGetExt(const char *szFilename); -char *FileGetDir(const char *szFilename); -char *FileGetRel(const char *szFilename); -char *FileGetPath(const char *szFilename); -/* TODO: void FileGetFull(char *szDir, char *szName, char *szExt, char *szFullName);*/ - - - -#endif diff --git a/geda/src/global.h b/geda/src/global.h deleted file mode 100644 index 2f72e89d0..000000000 --- a/geda/src/global.h +++ /dev/null @@ -1,97 +0,0 @@ -/*******************************************************************************/ -/* */ -/* gEDA Suite Project Manager */ -/* */ -/* Copyright (C) 2002 Piotr Miarecki, sp9rve@eter.ariadna.pl */ -/* */ -/* 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 version 2. */ -/* */ -/* This program is distributed in the hope that it will be useful, */ -/* but WITHOUT ANY WARRANTY; without even the implied warranty of */ -/* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the */ -/* GNU General Public License for more details. */ -/* */ -/* You should have received a copy of the GNU General Public License */ -/* along with this program; if not, write to the Free Software */ -/* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ -/* */ -/*******************************************************************************/ - -#ifndef __GLOBAL_H_INCLUDED -#define __GLOBAL_H_INCLUDED - -#include -#include - - - -/******************************************************************************* - - Type definitions - -*******************************************************************************/ - -#ifndef DWORD -#define DWORD unsigned long -#endif - -#ifndef BOOL -#define BOOL int -#endif - -#define SUCCESS 0 -#define FAILURE 1 - - - -/******************************************************************************* - - Default values - -*******************************************************************************/ - -#define DEF_PRJNAME "unnamed" -#define DEF_PRJEXT "prj" - -extern char *pDefaultProjectName; -extern char *pDefaultProjectExt; -extern char *pDefaultProjectDir; - - - -/******************************************************************************* - - Public functions and variables - -*******************************************************************************/ - -extern GtkWindow *pWindowMain; -extern BOOL bRunning; - -void FatalError(const char *szFile, const int iLine, const char *szDate); - - - -/******************************************************************************* - - TODO: to be removed - -*******************************************************************************/ - -#define GM_TMPDIR "tmp" -#define GM_TMPNAME "gmanager" - -/* gEDA version */ -#define GEDA_TITLE "gEDA Suite" - -/* configuration file */ -#define GEDA_CFGFILE "geda.cfg" - -/* default text length */ -#define TEXTLEN 256 - - - -#endif /* __GLOBAL_H_INCLUDED */ diff --git a/geda/src/interface.c b/geda/src/interface.c deleted file mode 100644 index cfdf3231a..000000000 --- a/geda/src/interface.c +++ /dev/null @@ -1,831 +0,0 @@ -/* - * DO NOT EDIT THIS FILE - it is generated by Glade. - */ - -#ifdef HAVE_CONFIG_H -# include -#endif - -#include -#include -#include -#include - -#define GTK_ENABLE_BROKEN -#include -#include - -#include "callbacks.h" -#include "interface.h" -#include "support.h" - -GtkWidget* -create_MainWindow (void) -{ - GtkWidget *MainWindow; - GtkWidget *VBoxMain; - GtkWidget *MenuBar; - GtkWidget *MenuProject; - GtkWidget *MenuProject_menu; - /* GtkAccelGroup *MenuProject_menu_accels; */ - GtkWidget *MenuProjectNew; - GtkWidget *MenuProjectOpen; - GtkWidget *MenuProjectProperties; - GtkWidget *MenuProjectClose; - GtkWidget *MenuProjectSeparator1; - GtkWidget *MenuProjectExit; - GtkWidget *MenuFile; - GtkWidget *MenuFile_menu; - /* GtkAccelGroup *MenuFile_menu_accels; */ - GtkWidget *MenuFileEdit; - GtkWidget *MenuFileSave; - GtkWidget *MenuFilePrint; - GtkWidget *MenuFileClose; - GtkWidget *MenuFileSeparator1; - GtkWidget *MenuFileNew; - GtkWidget *MenuFileImport; - GtkWidget *MenuFileUnlink; - GtkWidget *MenuFileDelete; - GtkWidget *MenuAction; - GtkWidget *MenuTool; - GtkWidget *MenuWindow; - GtkWidget *ToolBoxMain; - GtkWidget *hboxToolBoxMainContainer; - GtkWidget *ToolBoxUser; - GtkWidget *ToolBoxClientContainer; - GtkWidget *VBoxWorkArea; - GtkWidget *vpaned1; - GtkWidget *HBoxWorkTopArea; - GtkWidget *HPaned; - GtkWidget *ProjectArea; - GtkWidget *DocNotebook; - GtkWidget *DocModulesWindow; - GtkWidget *DocModulesTree; - GtkWidget *DocModulesLabel; - GtkWidget *DocFilesWindow; - GtkWidget *DocFilesTree; - GtkWidget *DocFilesLabel; - GtkWidget *StatusArea; - GtkWidget *scrolledwindow2; - GtkWidget *StatusText; - GtkWidget *StatusLabel; - GtkWidget *StatusBar; - - MainWindow = gtk_window_new (GTK_WINDOW_TOPLEVEL); - gtk_object_set_data (GTK_OBJECT (MainWindow), "MainWindow", MainWindow); - gtk_window_set_title (GTK_WINDOW (MainWindow), _("gEDA")); - gtk_window_set_position (GTK_WINDOW (MainWindow), GTK_WIN_POS_CENTER); - gtk_window_set_default_size (GTK_WINDOW (MainWindow), 510, 300); - - VBoxMain = gtk_vbox_new (FALSE, 0); - gtk_widget_ref (VBoxMain); - gtk_object_set_data_full (GTK_OBJECT (MainWindow), "VBoxMain", VBoxMain, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (VBoxMain); - gtk_container_add (GTK_CONTAINER (MainWindow), VBoxMain); - - MenuBar = gtk_menu_bar_new (); - gtk_widget_ref (MenuBar); - gtk_object_set_data_full (GTK_OBJECT (MainWindow), "MenuBar", MenuBar, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (MenuBar); - gtk_box_pack_start (GTK_BOX (VBoxMain), MenuBar, FALSE, FALSE, 0); - - MenuProject = gtk_menu_item_new_with_label (_("Project")); - gtk_widget_ref (MenuProject); - gtk_object_set_data_full (GTK_OBJECT (MainWindow), "MenuProject", MenuProject, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (MenuProject); - gtk_container_add (GTK_CONTAINER (MenuBar), MenuProject); - - MenuProject_menu = gtk_menu_new (); - gtk_widget_ref (MenuProject_menu); - gtk_object_set_data_full (GTK_OBJECT (MainWindow), "MenuProject_menu", MenuProject_menu, - (GtkDestroyNotify) gtk_widget_unref); - gtk_menu_item_set_submenu (GTK_MENU_ITEM (MenuProject), MenuProject_menu); -/* MenuProject_menu_accels = gtk_menu_ensure_uline_accel_group (GTK_MENU (MenuProject_menu));*/ - - MenuProjectNew = gtk_menu_item_new_with_label (_("New")); - gtk_widget_ref (MenuProjectNew); - gtk_object_set_data_full (GTK_OBJECT (MainWindow), "MenuProjectNew", MenuProjectNew, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (MenuProjectNew); - gtk_container_add (GTK_CONTAINER (MenuProject_menu), MenuProjectNew); - - MenuProjectOpen = gtk_menu_item_new_with_label (_("Open")); - gtk_widget_ref (MenuProjectOpen); - gtk_object_set_data_full (GTK_OBJECT (MainWindow), "MenuProjectOpen", MenuProjectOpen, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (MenuProjectOpen); - gtk_container_add (GTK_CONTAINER (MenuProject_menu), MenuProjectOpen); - - MenuProjectProperties = gtk_menu_item_new_with_label (_("Properties")); - gtk_widget_ref (MenuProjectProperties); - gtk_object_set_data_full (GTK_OBJECT (MainWindow), "MenuProjectProperties", MenuProjectProperties, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (MenuProjectProperties); - gtk_container_add (GTK_CONTAINER (MenuProject_menu), MenuProjectProperties); - - MenuProjectClose = gtk_menu_item_new_with_label (_("Close")); - gtk_widget_ref (MenuProjectClose); - gtk_object_set_data_full (GTK_OBJECT (MainWindow), "MenuProjectClose", MenuProjectClose, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (MenuProjectClose); - gtk_container_add (GTK_CONTAINER (MenuProject_menu), MenuProjectClose); - - MenuProjectSeparator1 = gtk_menu_item_new (); - gtk_widget_ref (MenuProjectSeparator1); - gtk_object_set_data_full (GTK_OBJECT (MainWindow), "MenuProjectSeparator1", MenuProjectSeparator1, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (MenuProjectSeparator1); - gtk_container_add (GTK_CONTAINER (MenuProject_menu), MenuProjectSeparator1); - gtk_widget_set_sensitive (MenuProjectSeparator1, FALSE); - - MenuProjectExit = gtk_menu_item_new_with_label (_("Exit")); - gtk_widget_ref (MenuProjectExit); - gtk_object_set_data_full (GTK_OBJECT (MainWindow), "MenuProjectExit", MenuProjectExit, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (MenuProjectExit); - gtk_container_add (GTK_CONTAINER (MenuProject_menu), MenuProjectExit); - - MenuFile = gtk_menu_item_new_with_label (_("File")); - gtk_widget_ref (MenuFile); - gtk_object_set_data_full (GTK_OBJECT (MainWindow), "MenuFile", MenuFile, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (MenuFile); - gtk_container_add (GTK_CONTAINER (MenuBar), MenuFile); - - MenuFile_menu = gtk_menu_new (); - gtk_widget_ref (MenuFile_menu); - gtk_object_set_data_full (GTK_OBJECT (MainWindow), "MenuFile_menu", MenuFile_menu, - (GtkDestroyNotify) gtk_widget_unref); - gtk_menu_item_set_submenu (GTK_MENU_ITEM (MenuFile), MenuFile_menu); -/* MenuFile_menu_accels = gtk_menu_ensure_uline_accel_group (GTK_MENU (MenuFile_menu));*/ - - MenuFileEdit = gtk_menu_item_new_with_label (_("Edit")); - gtk_widget_ref (MenuFileEdit); - gtk_object_set_data_full (GTK_OBJECT (MainWindow), "MenuFileEdit", MenuFileEdit, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (MenuFileEdit); - gtk_container_add (GTK_CONTAINER (MenuFile_menu), MenuFileEdit); - - MenuFileSave = gtk_menu_item_new_with_label (_("Save")); - gtk_widget_ref (MenuFileSave); - gtk_object_set_data_full (GTK_OBJECT (MainWindow), "MenuFileSave", MenuFileSave, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (MenuFileSave); - gtk_container_add (GTK_CONTAINER (MenuFile_menu), MenuFileSave); - - MenuFilePrint = gtk_menu_item_new_with_label (_("Print")); - gtk_widget_ref (MenuFilePrint); - gtk_object_set_data_full (GTK_OBJECT (MainWindow), "MenuFilePrint", MenuFilePrint, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (MenuFilePrint); - gtk_container_add (GTK_CONTAINER (MenuFile_menu), MenuFilePrint); - - MenuFileClose = gtk_menu_item_new_with_label (_("Close")); - gtk_widget_ref (MenuFileClose); - gtk_object_set_data_full (GTK_OBJECT (MainWindow), "MenuFileClose", MenuFileClose, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (MenuFileClose); - gtk_container_add (GTK_CONTAINER (MenuFile_menu), MenuFileClose); - - MenuFileSeparator1 = gtk_menu_item_new (); - gtk_widget_ref (MenuFileSeparator1); - gtk_object_set_data_full (GTK_OBJECT (MainWindow), "MenuFileSeparator1", MenuFileSeparator1, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (MenuFileSeparator1); - gtk_container_add (GTK_CONTAINER (MenuFile_menu), MenuFileSeparator1); - gtk_widget_set_sensitive (MenuFileSeparator1, FALSE); - - MenuFileNew = gtk_menu_item_new_with_label (_("New")); - gtk_widget_ref (MenuFileNew); - gtk_object_set_data_full (GTK_OBJECT (MainWindow), "MenuFileNew", MenuFileNew, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (MenuFileNew); - gtk_container_add (GTK_CONTAINER (MenuFile_menu), MenuFileNew); - - MenuFileImport = gtk_menu_item_new_with_label (_("Import")); - gtk_widget_ref (MenuFileImport); - gtk_object_set_data_full (GTK_OBJECT (MainWindow), "MenuFileImport", MenuFileImport, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (MenuFileImport); - gtk_container_add (GTK_CONTAINER (MenuFile_menu), MenuFileImport); - - MenuFileUnlink = gtk_menu_item_new_with_label (_("Unlink")); - gtk_widget_ref (MenuFileUnlink); - gtk_object_set_data_full (GTK_OBJECT (MainWindow), "MenuFileUnlink", MenuFileUnlink, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (MenuFileUnlink); - gtk_container_add (GTK_CONTAINER (MenuFile_menu), MenuFileUnlink); - - MenuFileDelete = gtk_menu_item_new_with_label (_("Delete")); - gtk_widget_ref (MenuFileDelete); - gtk_object_set_data_full (GTK_OBJECT (MainWindow), "MenuFileDelete", MenuFileDelete, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (MenuFileDelete); - gtk_container_add (GTK_CONTAINER (MenuFile_menu), MenuFileDelete); - - MenuAction = gtk_menu_item_new_with_label (_("Action")); - gtk_widget_ref (MenuAction); - gtk_object_set_data_full (GTK_OBJECT (MainWindow), "MenuAction", MenuAction, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (MenuAction); - gtk_container_add (GTK_CONTAINER (MenuBar), MenuAction); - - MenuTool = gtk_menu_item_new_with_label (_("Tool")); - gtk_widget_ref (MenuTool); - gtk_object_set_data_full (GTK_OBJECT (MainWindow), "MenuTool", MenuTool, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (MenuTool); - gtk_container_add (GTK_CONTAINER (MenuBar), MenuTool); - - MenuWindow = gtk_menu_item_new_with_label (_("Window")); - gtk_widget_ref (MenuWindow); - gtk_object_set_data_full (GTK_OBJECT (MainWindow), "MenuWindow", MenuWindow, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (MenuWindow); - gtk_container_add (GTK_CONTAINER (MenuBar), MenuWindow); - - ToolBoxMain = gtk_handle_box_new (); - gtk_widget_ref (ToolBoxMain); - gtk_object_set_data_full (GTK_OBJECT (MainWindow), "ToolBoxMain", ToolBoxMain, - (GtkDestroyNotify) gtk_widget_unref); - gtk_box_pack_start (GTK_BOX (VBoxMain), ToolBoxMain, TRUE, TRUE, 0); - gtk_widget_set_usize (ToolBoxMain, -2, 32); - gtk_widget_set_sensitive (ToolBoxMain, FALSE); - - hboxToolBoxMainContainer = gtk_hbox_new (FALSE, 0); - gtk_widget_ref (hboxToolBoxMainContainer); - gtk_object_set_data_full (GTK_OBJECT (MainWindow), "hboxToolBoxMainContainer", hboxToolBoxMainContainer, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (hboxToolBoxMainContainer); - gtk_container_add (GTK_CONTAINER (ToolBoxMain), hboxToolBoxMainContainer); - - ToolBoxUser = gtk_handle_box_new (); - gtk_widget_ref (ToolBoxUser); - gtk_object_set_data_full (GTK_OBJECT (MainWindow), "ToolBoxUser", ToolBoxUser, - (GtkDestroyNotify) gtk_widget_unref); - gtk_box_pack_start (GTK_BOX (VBoxMain), ToolBoxUser, TRUE, TRUE, 0); - gtk_widget_set_usize (ToolBoxUser, -2, 32); - gtk_widget_set_sensitive (ToolBoxUser, FALSE); - - ToolBoxClientContainer = gtk_hbox_new (FALSE, 0); - gtk_widget_ref (ToolBoxClientContainer); - gtk_object_set_data_full (GTK_OBJECT (MainWindow), "ToolBoxClientContainer", ToolBoxClientContainer, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (ToolBoxClientContainer); - gtk_container_add (GTK_CONTAINER (ToolBoxUser), ToolBoxClientContainer); - - VBoxWorkArea = gtk_vbox_new (FALSE, 0); - gtk_widget_ref (VBoxWorkArea); - gtk_object_set_data_full (GTK_OBJECT (MainWindow), "VBoxWorkArea", VBoxWorkArea, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (VBoxWorkArea); - gtk_box_pack_start (GTK_BOX (VBoxMain), VBoxWorkArea, TRUE, TRUE, 0); - - vpaned1 = gtk_vpaned_new (); - gtk_widget_ref (vpaned1); - gtk_object_set_data_full (GTK_OBJECT (MainWindow), "vpaned1", vpaned1, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (vpaned1); - gtk_box_pack_start (GTK_BOX (VBoxWorkArea), vpaned1, TRUE, TRUE, 0); - gtk_paned_set_position (GTK_PANED (vpaned1), 117); - - HBoxWorkTopArea = gtk_hbox_new (FALSE, 0); - gtk_widget_ref (HBoxWorkTopArea); - gtk_object_set_data_full (GTK_OBJECT (MainWindow), "HBoxWorkTopArea", HBoxWorkTopArea, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (HBoxWorkTopArea); - gtk_paned_pack1 (GTK_PANED (vpaned1), HBoxWorkTopArea, TRUE, TRUE); - - HPaned = gtk_hpaned_new (); - gtk_widget_ref (HPaned); - gtk_object_set_data_full (GTK_OBJECT (MainWindow), "HPaned", HPaned, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (HPaned); - gtk_box_pack_start (GTK_BOX (HBoxWorkTopArea), HPaned, TRUE, TRUE, 0); - gtk_paned_set_position (GTK_PANED (HPaned), 200); - - ProjectArea = gtk_vbox_new (FALSE, 0); - gtk_widget_ref (ProjectArea); - gtk_object_set_data_full (GTK_OBJECT (MainWindow), "ProjectArea", ProjectArea, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (ProjectArea); - gtk_paned_pack1 (GTK_PANED (HPaned), ProjectArea, FALSE, FALSE); - gtk_widget_set_usize (ProjectArea, 150, -2); - gtk_container_set_border_width (GTK_CONTAINER (ProjectArea), 4); - - DocNotebook = gtk_notebook_new (); - gtk_widget_ref (DocNotebook); - gtk_object_set_data_full (GTK_OBJECT (MainWindow), "DocNotebook", DocNotebook, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (DocNotebook); - gtk_box_pack_start (GTK_BOX (ProjectArea), DocNotebook, TRUE, TRUE, 0); - gtk_notebook_set_scrollable (GTK_NOTEBOOK (DocNotebook), TRUE); - - DocModulesWindow = gtk_scrolled_window_new (NULL, NULL); - gtk_widget_ref (DocModulesWindow); - gtk_object_set_data_full (GTK_OBJECT (MainWindow), "DocModulesWindow", DocModulesWindow, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (DocModulesWindow); - gtk_container_add (GTK_CONTAINER (DocNotebook), DocModulesWindow); - gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (DocModulesWindow), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); - - DocModulesTree = gtk_ctree_new (1, 0); - gtk_widget_ref (DocModulesTree); - gtk_object_set_data_full (GTK_OBJECT (MainWindow), "DocModulesTree", DocModulesTree, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (DocModulesTree); - gtk_container_add (GTK_CONTAINER (DocModulesWindow), DocModulesTree); - gtk_clist_set_column_width (GTK_CLIST (DocModulesTree), 0, 80); - gtk_clist_column_titles_hide (GTK_CLIST (DocModulesTree)); - - DocModulesLabel = gtk_label_new (_("Modules")); - gtk_widget_ref (DocModulesLabel); - gtk_object_set_data_full (GTK_OBJECT (MainWindow), "DocModulesLabel", DocModulesLabel, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (DocModulesLabel); - gtk_notebook_set_tab_label (GTK_NOTEBOOK (DocNotebook), gtk_notebook_get_nth_page (GTK_NOTEBOOK (DocNotebook), 0), DocModulesLabel); - - DocFilesWindow = gtk_scrolled_window_new (NULL, NULL); - gtk_widget_ref (DocFilesWindow); - gtk_object_set_data_full (GTK_OBJECT (MainWindow), "DocFilesWindow", DocFilesWindow, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (DocFilesWindow); - gtk_container_add (GTK_CONTAINER (DocNotebook), DocFilesWindow); - gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (DocFilesWindow), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); - - DocFilesTree = gtk_ctree_new (1, 0); - gtk_widget_ref (DocFilesTree); - gtk_object_set_data_full (GTK_OBJECT (MainWindow), "DocFilesTree", DocFilesTree, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (DocFilesTree); - gtk_container_add (GTK_CONTAINER (DocFilesWindow), DocFilesTree); - gtk_clist_set_column_width (GTK_CLIST (DocFilesTree), 0, 80); - gtk_clist_column_titles_hide (GTK_CLIST (DocFilesTree)); - - DocFilesLabel = gtk_label_new (_("Files")); - gtk_widget_ref (DocFilesLabel); - gtk_object_set_data_full (GTK_OBJECT (MainWindow), "DocFilesLabel", DocFilesLabel, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (DocFilesLabel); - gtk_notebook_set_tab_label (GTK_NOTEBOOK (DocNotebook), gtk_notebook_get_nth_page (GTK_NOTEBOOK (DocNotebook), 1), DocFilesLabel); - - StatusArea = gtk_notebook_new (); - gtk_widget_ref (StatusArea); - gtk_object_set_data_full (GTK_OBJECT (MainWindow), "StatusArea", StatusArea, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (StatusArea); - gtk_paned_pack2 (GTK_PANED (vpaned1), StatusArea, TRUE, TRUE); - gtk_widget_set_usize (StatusArea, -2, 100); - gtk_container_set_border_width (GTK_CONTAINER (StatusArea), 4); - - scrolledwindow2 = gtk_scrolled_window_new (NULL, NULL); - gtk_widget_ref (scrolledwindow2); - gtk_object_set_data_full (GTK_OBJECT (MainWindow), "scrolledwindow2", scrolledwindow2, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (scrolledwindow2); - gtk_container_add (GTK_CONTAINER (StatusArea), scrolledwindow2); - gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolledwindow2), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); - - StatusText = gtk_text_new (NULL, NULL); - gtk_widget_ref (StatusText); - gtk_object_set_data_full (GTK_OBJECT (MainWindow), "StatusText", StatusText, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (StatusText); - gtk_container_add (GTK_CONTAINER (scrolledwindow2), StatusText); - - StatusLabel = gtk_label_new (_("Status")); - gtk_widget_ref (StatusLabel); - gtk_object_set_data_full (GTK_OBJECT (MainWindow), "StatusLabel", StatusLabel, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (StatusLabel); - gtk_notebook_set_tab_label (GTK_NOTEBOOK (StatusArea), gtk_notebook_get_nth_page (GTK_NOTEBOOK (StatusArea), 0), StatusLabel); - - StatusBar = gtk_statusbar_new (); - gtk_widget_ref (StatusBar); - gtk_object_set_data_full (GTK_OBJECT (MainWindow), "StatusBar", StatusBar, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (StatusBar); - gtk_box_pack_start (GTK_BOX (VBoxMain), StatusBar, FALSE, FALSE, 0); - - gtk_signal_connect (GTK_OBJECT (MainWindow), "delete_event", - GTK_SIGNAL_FUNC (on_MainWindow_delete_event), - NULL); - gtk_signal_connect (GTK_OBJECT (MenuProjectNew), "activate", - GTK_SIGNAL_FUNC (ProjectNew_MenuActivation), - NULL); - gtk_signal_connect (GTK_OBJECT (MenuProjectOpen), "activate", - GTK_SIGNAL_FUNC (ProjectOpen_MenuActivation), - NULL); - gtk_signal_connect (GTK_OBJECT (MenuProjectProperties), "activate", - GTK_SIGNAL_FUNC (ProjectProperties_MenuActivation), - NULL); - gtk_signal_connect (GTK_OBJECT (MenuProjectClose), "activate", - GTK_SIGNAL_FUNC (ProjectClose_MenuActivation), - NULL); - gtk_signal_connect (GTK_OBJECT (MenuProjectExit), "activate", - GTK_SIGNAL_FUNC (ProjectExit_MenuActivation), - NULL); - gtk_signal_connect (GTK_OBJECT (MenuFileEdit), "activate", - GTK_SIGNAL_FUNC (FileEdit_MenuActivation), - NULL); - gtk_signal_connect (GTK_OBJECT (MenuFileSave), "activate", - GTK_SIGNAL_FUNC (FileSave_MenuActivation), - NULL); - gtk_signal_connect (GTK_OBJECT (MenuFilePrint), "activate", - GTK_SIGNAL_FUNC (FilePrint_MenuActivation), - NULL); - gtk_signal_connect (GTK_OBJECT (MenuFileClose), "activate", - GTK_SIGNAL_FUNC (FileClose_MenuActivation), - NULL); - gtk_signal_connect (GTK_OBJECT (MenuFileNew), "activate", - GTK_SIGNAL_FUNC (FileNew_MenuActivation), - NULL); - gtk_signal_connect (GTK_OBJECT (MenuFileImport), "activate", - GTK_SIGNAL_FUNC (FileImport_MenuActivation), - NULL); - gtk_signal_connect (GTK_OBJECT (MenuFileUnlink), "activate", - GTK_SIGNAL_FUNC (FileUnlink_MenuActivation), - NULL); - gtk_signal_connect (GTK_OBJECT (MenuFileDelete), "activate", - GTK_SIGNAL_FUNC (FileDelete_MenuActivation), - NULL); - gtk_signal_connect (GTK_OBJECT (DocModulesTree), "tree_select_row", - GTK_SIGNAL_FUNC (Doc_Selection), - NULL); - gtk_signal_connect_after (GTK_OBJECT (DocModulesTree), "button_press_event", - GTK_SIGNAL_FUNC (on_DocModulesTree_button_press_event), - NULL); - gtk_signal_connect (GTK_OBJECT (DocFilesTree), "tree_select_row", - GTK_SIGNAL_FUNC (Doc_Selection), - NULL); - gtk_signal_connect_after (GTK_OBJECT (DocFilesTree), "button_press_event", - GTK_SIGNAL_FUNC (on_DocModulesTree_button_press_event), - NULL); - - return MainWindow; -} - -GtkWidget* -create_ProjectProperties (void) -{ - GtkWidget *ProjectProperties; - GtkWidget *pProjectProperitesVBox; - GtkWidget *pProjectPropertiesFrame; - GtkWidget *pProjectPropertiesTable; - GtkWidget *pProjectPropertiesLabelName; - GtkWidget *pProjectPropertiesectoryLabelDir; - GtkWidget *pProjectPropertiesLabelAuthor; - GtkWidget *pProjectPropertiesLabelDescription; - GtkWidget *pProjectPropertiesEntryName; - GtkWidget *pProjectPropertiesEntryAuthor; - GtkWidget *pProjectPropertiesScrolledWindow; - GtkWidget *pProjectPropertiesTextDescription; - GtkWidget *pProjectPropertiesVSeparator; - GtkWidget *pProjectPropertiesEntryDir; - GtkWidget *pProjectPropertiesHBox; - GtkWidget *pProjectPropertiesButtonOk; - GtkWidget *pProjectPropertiesButtonCancel; - - ProjectProperties = gtk_window_new (GTK_WINDOW_TOPLEVEL); - gtk_object_set_data (GTK_OBJECT (ProjectProperties), "ProjectProperties", ProjectProperties); - gtk_widget_set_usize (ProjectProperties, 400, 250); - gtk_window_set_title (GTK_WINDOW (ProjectProperties), _("Project Properties")); - gtk_window_set_modal (GTK_WINDOW (ProjectProperties), TRUE); - gtk_window_set_default_size (GTK_WINDOW (ProjectProperties), 400, 250); - gtk_window_set_policy (GTK_WINDOW (ProjectProperties), FALSE, FALSE, FALSE); - - pProjectProperitesVBox = gtk_vbox_new (FALSE, 0); - gtk_widget_ref (pProjectProperitesVBox); - gtk_object_set_data_full (GTK_OBJECT (ProjectProperties), "pProjectProperitesVBox", pProjectProperitesVBox, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (pProjectProperitesVBox); - gtk_container_add (GTK_CONTAINER (ProjectProperties), pProjectProperitesVBox); - - pProjectPropertiesFrame = gtk_frame_new (_("Project")); - gtk_widget_ref (pProjectPropertiesFrame); - gtk_object_set_data_full (GTK_OBJECT (ProjectProperties), "pProjectPropertiesFrame", pProjectPropertiesFrame, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (pProjectPropertiesFrame); - gtk_box_pack_start (GTK_BOX (pProjectProperitesVBox), pProjectPropertiesFrame, TRUE, TRUE, 0); - gtk_container_set_border_width (GTK_CONTAINER (pProjectPropertiesFrame), 8); - - pProjectPropertiesTable = gtk_table_new (5, 2, FALSE); - gtk_widget_ref (pProjectPropertiesTable); - gtk_object_set_data_full (GTK_OBJECT (ProjectProperties), "pProjectPropertiesTable", pProjectPropertiesTable, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (pProjectPropertiesTable); - gtk_container_add (GTK_CONTAINER (pProjectPropertiesFrame), pProjectPropertiesTable); - gtk_container_set_border_width (GTK_CONTAINER (pProjectPropertiesTable), 8); - gtk_table_set_row_spacings (GTK_TABLE (pProjectPropertiesTable), 4); - gtk_table_set_col_spacings (GTK_TABLE (pProjectPropertiesTable), 8); - - pProjectPropertiesLabelName = gtk_label_new (_("Name")); - gtk_widget_ref (pProjectPropertiesLabelName); - gtk_object_set_data_full (GTK_OBJECT (ProjectProperties), "pProjectPropertiesLabelName", pProjectPropertiesLabelName, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (pProjectPropertiesLabelName); - gtk_table_attach (GTK_TABLE (pProjectPropertiesTable), pProjectPropertiesLabelName, 0, 1, 0, 1, - (GtkAttachOptions) (GTK_FILL), - (GtkAttachOptions) (0), 0, 0); - gtk_label_set_justify (GTK_LABEL (pProjectPropertiesLabelName), GTK_JUSTIFY_LEFT); - gtk_misc_set_alignment (GTK_MISC (pProjectPropertiesLabelName), 0, 0.5); - - pProjectPropertiesectoryLabelDir = gtk_label_new (_("Directory")); - gtk_widget_ref (pProjectPropertiesectoryLabelDir); - gtk_object_set_data_full (GTK_OBJECT (ProjectProperties), "pProjectPropertiesectoryLabelDir", pProjectPropertiesectoryLabelDir, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (pProjectPropertiesectoryLabelDir); - gtk_table_attach (GTK_TABLE (pProjectPropertiesTable), pProjectPropertiesectoryLabelDir, 0, 1, 1, 2, - (GtkAttachOptions) (GTK_FILL), - (GtkAttachOptions) (0), 0, 0); - gtk_label_set_justify (GTK_LABEL (pProjectPropertiesectoryLabelDir), GTK_JUSTIFY_LEFT); - gtk_misc_set_alignment (GTK_MISC (pProjectPropertiesectoryLabelDir), 0, 0.5); - - pProjectPropertiesLabelAuthor = gtk_label_new (_("Author")); - gtk_widget_ref (pProjectPropertiesLabelAuthor); - gtk_object_set_data_full (GTK_OBJECT (ProjectProperties), "pProjectPropertiesLabelAuthor", pProjectPropertiesLabelAuthor, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (pProjectPropertiesLabelAuthor); - gtk_table_attach (GTK_TABLE (pProjectPropertiesTable), pProjectPropertiesLabelAuthor, 0, 1, 2, 3, - (GtkAttachOptions) (GTK_FILL), - (GtkAttachOptions) (0), 0, 0); - gtk_label_set_justify (GTK_LABEL (pProjectPropertiesLabelAuthor), GTK_JUSTIFY_LEFT); - gtk_misc_set_alignment (GTK_MISC (pProjectPropertiesLabelAuthor), 0, 0.5); - - pProjectPropertiesLabelDescription = gtk_label_new (_("Description")); - gtk_widget_ref (pProjectPropertiesLabelDescription); - gtk_object_set_data_full (GTK_OBJECT (ProjectProperties), "pProjectPropertiesLabelDescription", pProjectPropertiesLabelDescription, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (pProjectPropertiesLabelDescription); - gtk_table_attach (GTK_TABLE (pProjectPropertiesTable), pProjectPropertiesLabelDescription, 0, 1, 3, 4, - (GtkAttachOptions) (GTK_FILL), - (GtkAttachOptions) (0), 0, 0); - gtk_label_set_justify (GTK_LABEL (pProjectPropertiesLabelDescription), GTK_JUSTIFY_LEFT); - gtk_misc_set_alignment (GTK_MISC (pProjectPropertiesLabelDescription), 0, 0); - - pProjectPropertiesEntryName = gtk_entry_new (); - gtk_widget_ref (pProjectPropertiesEntryName); - gtk_object_set_data_full (GTK_OBJECT (ProjectProperties), "pProjectPropertiesEntryName", pProjectPropertiesEntryName, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (pProjectPropertiesEntryName); - gtk_table_attach (GTK_TABLE (pProjectPropertiesTable), pProjectPropertiesEntryName, 1, 2, 0, 1, - (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), - (GtkAttachOptions) (0), 0, 0); - GTK_WIDGET_SET_FLAGS (pProjectPropertiesEntryName, GTK_CAN_DEFAULT); - - pProjectPropertiesEntryAuthor = gtk_entry_new (); - gtk_widget_ref (pProjectPropertiesEntryAuthor); - gtk_object_set_data_full (GTK_OBJECT (ProjectProperties), "pProjectPropertiesEntryAuthor", pProjectPropertiesEntryAuthor, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (pProjectPropertiesEntryAuthor); - gtk_table_attach (GTK_TABLE (pProjectPropertiesTable), pProjectPropertiesEntryAuthor, 1, 2, 2, 3, - (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), - (GtkAttachOptions) (0), 0, 0); - GTK_WIDGET_SET_FLAGS (pProjectPropertiesEntryAuthor, GTK_CAN_DEFAULT); - - pProjectPropertiesScrolledWindow = gtk_scrolled_window_new (NULL, NULL); - gtk_widget_ref (pProjectPropertiesScrolledWindow); - gtk_object_set_data_full (GTK_OBJECT (ProjectProperties), "pProjectPropertiesScrolledWindow", pProjectPropertiesScrolledWindow, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (pProjectPropertiesScrolledWindow); - gtk_table_attach (GTK_TABLE (pProjectPropertiesTable), pProjectPropertiesScrolledWindow, 1, 2, 3, 5, - (GtkAttachOptions) (GTK_FILL), - (GtkAttachOptions) (GTK_EXPAND | GTK_SHRINK | GTK_FILL), 0, 0); - gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (pProjectPropertiesScrolledWindow), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); - - pProjectPropertiesTextDescription = gtk_text_new (NULL, NULL); - gtk_widget_ref (pProjectPropertiesTextDescription); - gtk_object_set_data_full (GTK_OBJECT (ProjectProperties), "pProjectPropertiesTextDescription", pProjectPropertiesTextDescription, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (pProjectPropertiesTextDescription); - gtk_container_add (GTK_CONTAINER (pProjectPropertiesScrolledWindow), pProjectPropertiesTextDescription); - GTK_WIDGET_SET_FLAGS (pProjectPropertiesTextDescription, GTK_CAN_DEFAULT); - gtk_text_set_editable (GTK_TEXT (pProjectPropertiesTextDescription), TRUE); - - pProjectPropertiesVSeparator = gtk_vseparator_new (); - gtk_widget_ref (pProjectPropertiesVSeparator); - gtk_object_set_data_full (GTK_OBJECT (ProjectProperties), "pProjectPropertiesVSeparator", pProjectPropertiesVSeparator, - (GtkDestroyNotify) gtk_widget_unref); - gtk_table_attach (GTK_TABLE (pProjectPropertiesTable), pProjectPropertiesVSeparator, 0, 1, 4, 5, - (GtkAttachOptions) (GTK_FILL), - (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), 0, 0); - gtk_widget_set_sensitive (pProjectPropertiesVSeparator, FALSE); - - pProjectPropertiesEntryDir = gtk_entry_new (); - gtk_widget_ref (pProjectPropertiesEntryDir); - gtk_object_set_data_full (GTK_OBJECT (ProjectProperties), "pProjectPropertiesEntryDir", pProjectPropertiesEntryDir, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (pProjectPropertiesEntryDir); - gtk_table_attach (GTK_TABLE (pProjectPropertiesTable), pProjectPropertiesEntryDir, 1, 2, 1, 2, - (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), - (GtkAttachOptions) (0), 0, 0); - GTK_WIDGET_SET_FLAGS (pProjectPropertiesEntryDir, GTK_CAN_DEFAULT); - - pProjectPropertiesHBox = gtk_hbox_new (TRUE, 0); - gtk_widget_ref (pProjectPropertiesHBox); - gtk_object_set_data_full (GTK_OBJECT (ProjectProperties), "pProjectPropertiesHBox", pProjectPropertiesHBox, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (pProjectPropertiesHBox); - gtk_box_pack_start (GTK_BOX (pProjectProperitesVBox), pProjectPropertiesHBox, FALSE, FALSE, 0); - gtk_widget_set_usize (pProjectPropertiesHBox, -2, 48); - gtk_container_set_border_width (GTK_CONTAINER (pProjectPropertiesHBox), 8); - -#ifdef HAS_GTK12 - pProjectPropertiesButtonOk = gtk_button_new_with_label (_("Ok")); -#else - pProjectPropertiesButtonOk = gtk_button_new_from_stock (GTK_STOCK_OK); -#endif - gtk_widget_ref (pProjectPropertiesButtonOk); - gtk_object_set_data_full (GTK_OBJECT (ProjectProperties), "pProjectPropertiesButtonOk", pProjectPropertiesButtonOk, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (pProjectPropertiesButtonOk); - gtk_box_pack_start (GTK_BOX (pProjectPropertiesHBox), pProjectPropertiesButtonOk, FALSE, FALSE, 0); - gtk_widget_set_usize (pProjectPropertiesButtonOk, 112, 48); - GTK_WIDGET_SET_FLAGS (pProjectPropertiesButtonOk, GTK_CAN_DEFAULT); - -#ifdef HAS_GTK12 - pProjectPropertiesButtonCancel = gtk_button_new_with_label (_("Cancel")); -#else - pProjectPropertiesButtonCancel = gtk_button_new_from_stock (GTK_STOCK_CANCEL); -#endif - gtk_widget_ref (pProjectPropertiesButtonCancel); - gtk_object_set_data_full (GTK_OBJECT (ProjectProperties), "pProjectPropertiesButtonCancel", pProjectPropertiesButtonCancel, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (pProjectPropertiesButtonCancel); - gtk_box_pack_start (GTK_BOX (pProjectPropertiesHBox), pProjectPropertiesButtonCancel, FALSE, FALSE, 0); - gtk_widget_set_usize (pProjectPropertiesButtonCancel, 112, 48); - GTK_WIDGET_SET_FLAGS (pProjectPropertiesButtonCancel, GTK_CAN_DEFAULT); - - gtk_signal_connect (GTK_OBJECT (ProjectProperties), "delete_event", - GTK_SIGNAL_FUNC (ProjectProperties_ButtonClicked), - NULL); - gtk_signal_connect (GTK_OBJECT (pProjectPropertiesEntryName), "changed", - GTK_SIGNAL_FUNC (ProjectProperties_NameChanged), - NULL); - gtk_signal_connect (GTK_OBJECT (pProjectPropertiesEntryDir), "delete_text", - GTK_SIGNAL_FUNC (ProjectProperties_DirChanged), - NULL); - gtk_signal_connect (GTK_OBJECT (pProjectPropertiesEntryDir), "insert_text", - GTK_SIGNAL_FUNC (ProjectProperties_DirChanged), - NULL); - gtk_signal_connect (GTK_OBJECT (pProjectPropertiesButtonOk), "clicked", - GTK_SIGNAL_FUNC (ProjectProperties_ButtonClicked), - GTK_OBJECT(pProjectPropertiesButtonOk)); - gtk_signal_connect (GTK_OBJECT (pProjectPropertiesButtonCancel), "clicked", - GTK_SIGNAL_FUNC (ProjectProperties_ButtonClicked), - GTK_OBJECT(pProjectPropertiesButtonCancel)); - - gtk_widget_grab_focus (pProjectPropertiesButtonOk); - gtk_widget_grab_default (pProjectPropertiesEntryName); - return ProjectProperties; -} - -GtkWidget* -create_FileNew (void) -{ - GtkWidget *FileNew; - GtkWidget *pFileNewVBox; - GtkWidget *pFileNewFrame; - GtkWidget *pFileNewTable; - GtkWidget *pFileNewTypeCombo; - GtkWidget *pFileNewTypeComboEntry; - GtkWidget *pFileNewNameEntry; - GtkWidget *pFileNewTypeLabel; - GtkWidget *pFileNewNameLabel; - GtkWidget *pFileNewHBox; - GtkWidget *pFileNewButtonOk; - GtkWidget *pFileNewButtonCancel; - - FileNew = gtk_window_new (GTK_WINDOW_TOPLEVEL); - gtk_object_set_data (GTK_OBJECT (FileNew), "FileNew", FileNew); - gtk_widget_set_usize (FileNew, 400, -2); - gtk_window_set_title (GTK_WINDOW (FileNew), _("New file ...")); - gtk_window_set_modal (GTK_WINDOW (FileNew), TRUE); - gtk_window_set_default_size (GTK_WINDOW (FileNew), 400, -1); - gtk_window_set_policy (GTK_WINDOW (FileNew), FALSE, FALSE, FALSE); - - pFileNewVBox = gtk_vbox_new (FALSE, 0); - gtk_widget_ref (pFileNewVBox); - gtk_object_set_data_full (GTK_OBJECT (FileNew), "pFileNewVBox", pFileNewVBox, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (pFileNewVBox); - gtk_container_add (GTK_CONTAINER (FileNew), pFileNewVBox); - - pFileNewFrame = gtk_frame_new (_("File")); - gtk_widget_ref (pFileNewFrame); - gtk_object_set_data_full (GTK_OBJECT (FileNew), "pFileNewFrame", pFileNewFrame, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (pFileNewFrame); - gtk_box_pack_start (GTK_BOX (pFileNewVBox), pFileNewFrame, TRUE, TRUE, 0); - gtk_container_set_border_width (GTK_CONTAINER (pFileNewFrame), 8); - - pFileNewTable = gtk_table_new (2, 2, FALSE); - gtk_widget_ref (pFileNewTable); - gtk_object_set_data_full (GTK_OBJECT (FileNew), "pFileNewTable", pFileNewTable, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (pFileNewTable); - gtk_container_add (GTK_CONTAINER (pFileNewFrame), pFileNewTable); - gtk_container_set_border_width (GTK_CONTAINER (pFileNewTable), 8); - gtk_table_set_row_spacings (GTK_TABLE (pFileNewTable), 4); - gtk_table_set_col_spacings (GTK_TABLE (pFileNewTable), 8); - - pFileNewTypeCombo = gtk_combo_new (); - gtk_widget_ref (pFileNewTypeCombo); - gtk_object_set_data_full (GTK_OBJECT (FileNew), "pFileNewTypeCombo", pFileNewTypeCombo, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (pFileNewTypeCombo); - gtk_table_attach (GTK_TABLE (pFileNewTable), pFileNewTypeCombo, 1, 2, 1, 2, - (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), - (GtkAttachOptions) (0), 0, 0); - GTK_WIDGET_SET_FLAGS (pFileNewTypeCombo, GTK_CAN_DEFAULT); - - pFileNewTypeComboEntry = GTK_COMBO (pFileNewTypeCombo)->entry; - gtk_widget_ref (pFileNewTypeComboEntry); - gtk_object_set_data_full (GTK_OBJECT (FileNew), "pFileNewTypeComboEntry", pFileNewTypeComboEntry, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (pFileNewTypeComboEntry); - gtk_entry_set_editable (GTK_ENTRY (pFileNewTypeComboEntry), FALSE); - - pFileNewNameEntry = gtk_entry_new (); - gtk_widget_ref (pFileNewNameEntry); - gtk_object_set_data_full (GTK_OBJECT (FileNew), "pFileNewNameEntry", pFileNewNameEntry, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (pFileNewNameEntry); - gtk_table_attach (GTK_TABLE (pFileNewTable), pFileNewNameEntry, 1, 2, 0, 1, - (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), - (GtkAttachOptions) (0), 0, 0); - GTK_WIDGET_SET_FLAGS (pFileNewNameEntry, GTK_CAN_DEFAULT); - - pFileNewTypeLabel = gtk_label_new (_("Type")); - gtk_widget_ref (pFileNewTypeLabel); - gtk_object_set_data_full (GTK_OBJECT (FileNew), "pFileNewTypeLabel", pFileNewTypeLabel, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (pFileNewTypeLabel); - gtk_table_attach (GTK_TABLE (pFileNewTable), pFileNewTypeLabel, 0, 1, 1, 2, - (GtkAttachOptions) (GTK_FILL), - (GtkAttachOptions) (0), 0, 0); - gtk_misc_set_alignment (GTK_MISC (pFileNewTypeLabel), 0, 0.5); - - pFileNewNameLabel = gtk_label_new (_("Name")); - gtk_widget_ref (pFileNewNameLabel); - gtk_object_set_data_full (GTK_OBJECT (FileNew), "pFileNewNameLabel", pFileNewNameLabel, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (pFileNewNameLabel); - gtk_table_attach (GTK_TABLE (pFileNewTable), pFileNewNameLabel, 0, 1, 0, 1, - (GtkAttachOptions) (GTK_FILL), - (GtkAttachOptions) (0), 0, 0); - gtk_misc_set_alignment (GTK_MISC (pFileNewNameLabel), 0, 0.5); - - pFileNewHBox = gtk_hbox_new (TRUE, 0); - gtk_widget_ref (pFileNewHBox); - gtk_object_set_data_full (GTK_OBJECT (FileNew), "pFileNewHBox", pFileNewHBox, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (pFileNewHBox); - gtk_box_pack_start (GTK_BOX (pFileNewVBox), pFileNewHBox, FALSE, FALSE, 0); - gtk_widget_set_usize (pFileNewHBox, -2, 48); - gtk_container_set_border_width (GTK_CONTAINER (pFileNewHBox), 8); - -#ifdef HAS_GTK12 - pFileNewButtonOk = gtk_button_new_with_label (_("Ok")); -#else - pFileNewButtonOk = gtk_button_new_from_stock (GTK_STOCK_OK); -#endif - gtk_widget_ref (pFileNewButtonOk); - gtk_object_set_data_full (GTK_OBJECT (FileNew), "pFileNewButtonOk", pFileNewButtonOk, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (pFileNewButtonOk); - gtk_box_pack_start (GTK_BOX (pFileNewHBox), pFileNewButtonOk, FALSE, FALSE, 0); - gtk_widget_set_usize (pFileNewButtonOk, 112, 48); - GTK_WIDGET_SET_FLAGS (pFileNewButtonOk, GTK_CAN_DEFAULT); - -#ifdef HAS_GTK12 - pFileNewButtonCancel = gtk_button_new_with_label (_("Cancel")); -#else - pFileNewButtonCancel = gtk_button_new_from_stock (GTK_STOCK_CANCEL); -#endif - gtk_widget_ref (pFileNewButtonCancel); - gtk_object_set_data_full (GTK_OBJECT (FileNew), "pFileNewButtonCancel", pFileNewButtonCancel, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (pFileNewButtonCancel); - gtk_box_pack_start (GTK_BOX (pFileNewHBox), pFileNewButtonCancel, FALSE, FALSE, 0); - gtk_widget_set_usize (pFileNewButtonCancel, 112, 48); - GTK_WIDGET_SET_FLAGS (pFileNewButtonCancel, GTK_CAN_DEFAULT); - - gtk_signal_connect (GTK_OBJECT (FileNew), "destroy_event", - GTK_SIGNAL_FUNC (FileNew_Destroy), - NULL); - gtk_signal_connect (GTK_OBJECT (pFileNewButtonOk), "clicked", - GTK_SIGNAL_FUNC (FileNew_ButtonOk), - NULL); - gtk_signal_connect (GTK_OBJECT (pFileNewButtonCancel), "clicked", - GTK_SIGNAL_FUNC (FileNew_ButtonCancel), - NULL); - - gtk_widget_grab_focus (pFileNewNameEntry); - gtk_widget_grab_default (pFileNewNameEntry); - return FileNew; -} - diff --git a/geda/src/interface.h b/geda/src/interface.h deleted file mode 100644 index 9f3389982..000000000 --- a/geda/src/interface.h +++ /dev/null @@ -1,7 +0,0 @@ -/* - * DO NOT EDIT THIS FILE - it is generated by Glade. - */ - -GtkWidget* create_MainWindow (void); -GtkWidget* create_FileNew (void); -GtkWidget* create_ProjectProperties (void); diff --git a/geda/src/l_toolbar.c b/geda/src/l_toolbar.c deleted file mode 100644 index cd7e96d8c..000000000 --- a/geda/src/l_toolbar.c +++ /dev/null @@ -1,38 +0,0 @@ -/* $Id$ */ - -/*******************************************************************************/ -/* */ -/* gEDA Suite Project Manager */ -/* */ -/* Copyright (C) 2002 Piotr Miarecki, sp9rve@eter.ariadna.pl */ -/* */ -/* 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 version 2. */ -/* */ -/* This program is distributed in the hope that it will be useful, */ -/* but WITHOUT ANY WARRANTY; without even the implied warranty of */ -/* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the */ -/* GNU General Public License for more details. */ -/* */ -/* You should have received a copy of the GNU General Public License */ -/* along with this program; if not, write to the Free Software */ -/* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ -/* */ -/*******************************************************************************/ - -#ifdef HAVE_CONFIG_H -#include "config.h" -#endif - -#include - - - -int gmanager_tool(char *szName, char *szCommand, unsigned long fFlags); -int gmanager_filetype(int iParent, char *szName, char *szExtension, unsigned long fFlags); -int gmanager_action(int iFileType, int *aTool, char *szName, char *szCommand, char *szImportFile[], unsigned long fFlags); -int gmanager_menu(int iParent, char *szName, char *szShortKey, char *szIcon, int (*fnCallback)(), unsigned long fFlags); - - - diff --git a/geda/src/l_toolbar.h b/geda/src/l_toolbar.h deleted file mode 100644 index 7ca1c06fc..000000000 --- a/geda/src/l_toolbar.h +++ /dev/null @@ -1,11 +0,0 @@ -#if 0 -gmanager_icon_new(); - -iconentry1 = gnome_icon_entry_new (NULL, NULL); - gtk_widget_ref (iconentry1); - gtk_object_set_data_full (GTK_OBJECT (MainWindow), "iconentry1", iconentry1, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (iconentry1); - gtk_box_pack_start (GTK_BOX (hbox1), iconentry1, FALSE, FALSE, 0); - -#endif diff --git a/geda/src/log.c b/geda/src/log.c deleted file mode 100644 index 00e4d6845..000000000 --- a/geda/src/log.c +++ /dev/null @@ -1,42 +0,0 @@ -/* $Id$ */ - -/*******************************************************************************/ -/* */ -/* gEDA Suite Project Manager */ -/* */ -/* Copyright (C) 2002 Piotr Miarecki, sp9rve@eter.ariadna.pl */ -/* */ -/* 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 version 2. */ -/* */ -/* This program is distributed in the hope that it will be useful, */ -/* but WITHOUT ANY WARRANTY; without even the implied warranty of */ -/* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the */ -/* GNU General Public License for more details. */ -/* */ -/* You should have received a copy of the GNU General Public License */ -/* along with this program; if not, write to the Free Software */ -/* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ -/* */ -/*******************************************************************************/ - -#ifdef HAVE_CONFIG_H -#include "config.h" -#endif - -#include - -#include "log.h" - - - -void Log(int iType, char *szFileName, int iLine, char *szMessage) -{ - printf("gEDA Suite %s > %s\n\tFile: %s\n\tLine: %d\n", - (iType == LOG_FATAL) ? "FATAL ERROR" : (iType == LOG_ERROR) ? "ERROR" : (iType == LOG_WARNING) ? "WARNING" : (iType == LOG_MESSAGE) ? "MESSAGE" : "???", - szMessage, - szFileName, - iLine - ); -} diff --git a/geda/src/log.h b/geda/src/log.h deleted file mode 100644 index 3d4409c81..000000000 --- a/geda/src/log.h +++ /dev/null @@ -1,38 +0,0 @@ -/*******************************************************************************/ -/* */ -/* gEDA Suite Project Manager */ -/* */ -/* Copyright (C) 2002 Piotr Miarecki, sp9rve@eter.ariadna.pl */ -/* */ -/* 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 version 2. */ -/* */ -/* This program is distributed in the hope that it will be useful, */ -/* but WITHOUT ANY WARRANTY; without even the implied warranty of */ -/* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the */ -/* GNU General Public License for more details. */ -/* */ -/* You should have received a copy of the GNU General Public License */ -/* along with this program; if not, write to the Free Software */ -/* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ -/* */ -/*******************************************************************************/ - -#ifndef __LOG_H_INCLUDED -#define __LOG_H_INCLUDED - - - -/* types of log entries */ -#define LOG_MESSAGE 1 -#define LOG_WARNING 2 -#define LOG_ERROR 3 -#define LOG_FATAL 4 - -/* public functions */ -void Log(int iType, char *szFileName, int iLine, char *szMessage); - - - -#endif diff --git a/geda/src/m_action.c b/geda/src/m_action.c deleted file mode 100644 index 591829bb5..000000000 --- a/geda/src/m_action.c +++ /dev/null @@ -1,162 +0,0 @@ -/* $Id$ */ - -/*******************************************************************************/ -/* */ -/* gEDA Suite Project Manager */ -/* */ -/* Copyright (C) 2002 Piotr Miarecki, sp9rve@eter.ariadna.pl */ -/* */ -/* 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 version 2. */ -/* */ -/* This program is distributed in the hope that it will be useful, */ -/* but WITHOUT ANY WARRANTY; without even the implied warranty of */ -/* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the */ -/* GNU General Public License for more details. */ -/* */ -/* You should have received a copy of the GNU General Public License */ -/* along with this program; if not, write to the Free Software */ -/* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ -/* */ -/*******************************************************************************/ - -#ifdef HAVE_CONFIG_H -#include "config.h" -#endif - -#include -#include -#include - -#ifdef HAVE_STRING_H -#include -#endif - -#include "doc.h" -#include "filetool.h" -#include "global.h" -#include "msgbox.h" -#include "m_action.h" -#include "support.h" -#include "task.h" -#include "tool.h" - - - -GtkMenu *pMenu; -char szOldExt[TEXTLEN] = ""; -extern struct Action_s *pActionList; - - - -static void MenuActionActivation(GtkMenuItem *pMenuItem, gpointer pUserData); - - - -void MenuActionInitialize(void) -{ - GtkWidget *pWidget; - struct Action_s *pAction; - char szMessage[TEXTLEN]; - - /* look for menu Action */ - pWidget = lookup_widget(GTK_WIDGET(pWindowMain), "MenuAction"); - if (pWidget == NULL) - { - sprintf(szMessage, "Fatal error in file %s in line %d", __FILE__, __LINE__); - MsgBox( - pWindowMain, - "FATAL ERROR !", - szMessage, - MSGBOX_FATAL | MSGBOX_OKD - ); - return; - } - - /* create Action menu */ - pMenu = GTK_MENU(gtk_menu_new()); - gtk_widget_ref(GTK_WIDGET(pMenu)); - gtk_object_set_data_full(GTK_OBJECT(pWindowMain), "MenuAction_menu", pMenu, (GtkDestroyNotify) gtk_widget_unref); - gtk_menu_item_set_submenu(GTK_MENU_ITEM (pWidget), GTK_WIDGET(pMenu)); - - /* create Action menu entries */ - for (pAction = pActionList; pAction != NULL; pAction = pAction->pNext) - { - pAction->pMenuItem = GTK_MENU_ITEM(gtk_menu_item_new_with_label(pAction->szName)); - gtk_widget_ref(GTK_WIDGET(pAction->pMenuItem)); - pAction->bMenuEntryUsed = FALSE; - gtk_signal_connect(GTK_OBJECT(pAction->pMenuItem), "activate", GTK_SIGNAL_FUNC(MenuActionActivation), NULL); - } -} - - -void MenuActionRefresh(const char *szExt) -{ - struct Action_s *pAction; - - /* delete items from menu */ - for (pAction = pActionList; pAction != NULL; pAction = pAction->pNext) - { - if (!pAction->bMenuEntryUsed) - continue; - - gtk_container_remove(GTK_CONTAINER(pMenu), GTK_WIDGET(pAction->pMenuItem)); - pAction->bMenuEntryUsed = FALSE; - } - - /* add items to the menu */ - for (pAction = pActionList; pAction != NULL; pAction = pAction->pNext) - { - if (strcmp(pAction->szExt, szExt)) - continue; - - gtk_widget_show(GTK_WIDGET(pAction->pMenuItem)); - gtk_container_add(GTK_CONTAINER(pMenu), GTK_WIDGET(pAction->pMenuItem)); - gtk_widget_set_sensitive(GTK_WIDGET(pAction->pMenuItem), TRUE); - pAction->bMenuEntryUsed = TRUE; - } -} - - -static void MenuActionActivation(GtkMenuItem *pMenuItem, gpointer pUserData) -{ - struct Action_s *pAction; - int iResult; - char szCommand[TEXTLEN], szFileName[TEXTLEN], *szName, *szExt, *szPath, *szRel; - char *pParams[2]; - - DocGetProperty(DOC_SELECTED, NULL, szFileName); - szName = FileGetName(szFileName); - szExt = FileGetExt(szFileName); - szPath = FileGetDir(szFileName); - szRel = FileGetRel(szFileName); - - /* look for an action */ - for (pAction = pActionList; pAction != NULL; pAction = pAction->pNext) - if (pAction->pMenuItem == pMenuItem) - break; - if (pAction == NULL) - { - /* TODO*/ - return; - } - - /* interprete command line */ - strcpy(szCommand, pAction->szCommand); - - /* run the tool */ - pParams[0] = (void *) pAction; - pParams[1] = (void *) &szFileName; - iResult = TaskNew(TASK_ACTION, (const void **) pParams); - if (iResult != SUCCESS) - { - /**/ - return; - } - - return; - -} - - diff --git a/geda/src/m_action.h b/geda/src/m_action.h deleted file mode 100644 index 34f09c296..000000000 --- a/geda/src/m_action.h +++ /dev/null @@ -1,32 +0,0 @@ -/*******************************************************************************/ -/* */ -/* gEDA Suite Project Manager */ -/* */ -/* Copyright (C) 2002 Piotr Miarecki, sp9rve@eter.ariadna.pl */ -/* */ -/* 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 version 2. */ -/* */ -/* This program is distributed in the hope that it will be useful, */ -/* but WITHOUT ANY WARRANTY; without even the implied warranty of */ -/* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the */ -/* GNU General Public License for more details. */ -/* */ -/* You should have received a copy of the GNU General Public License */ -/* along with this program; if not, write to the Free Software */ -/* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ -/* */ -/*******************************************************************************/ - -#ifndef __M_ACTION_H_INCLUDED -#define __M_ACTION_H_INCLUDED - - - -void MenuActionInitialize(void); -void MenuActionRefresh(const char *szExt); - - - -#endif diff --git a/geda/src/m_file.c b/geda/src/m_file.c deleted file mode 100644 index d5f8b68dc..000000000 --- a/geda/src/m_file.c +++ /dev/null @@ -1,567 +0,0 @@ -/* $Id$ */ - -/*******************************************************************************/ -/* */ -/* gEDA Suite Project Manager */ -/* */ -/* Copyright (C) 2002 Piotr Miarecki, sp9rve@eter.ariadna.pl */ -/* */ -/* 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 version 2. */ -/* */ -/* This program is distributed in the hope that it will be useful, */ -/* but WITHOUT ANY WARRANTY; without even the implied warranty of */ -/* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the */ -/* GNU General Public License for more details. */ -/* */ -/* You should have received a copy of the GNU General Public License */ -/* along with this program; if not, write to the Free Software */ -/* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ -/* */ -/*******************************************************************************/ - -#ifdef HAVE_CONFIG_H -#include "config.h" -#endif - -#include -#include -#include - -#ifdef HAVE_STRING_H -#include -#endif - -#ifdef HAVE_UNISTD_H -#include -#endif - -#include "doc.h" -#include "file.h" -#include "filechoose.h" -#include "filetool.h" -#include "interface.h" -#include "msgbox.h" -#include "m_file.h" -#include "project.h" -#include "support.h" -#include "tool.h" -#include "txtedit.h" -#include "window.h" - - - -/******************************************************************************* - - Static variables and functions, definitions - -*******************************************************************************/ - -static GtkWindow *pFileNewWindow = NULL; -static BOOL bFileNewCompleted; -static BOOL bFileNewCanceled; -static char szFileNewName[TEXTLEN]; - -static void FileNewCreate(void); -static void FileNewDestroy(void); -static void FileNewComplete(void); -static BOOL FileNewValid(void); - - - -/******************************************************************************* - - MENU : File -> Open - -*******************************************************************************/ - -/* callback from menu */ -void FileEdit_MenuActivation(GtkMenuItem *pMenuItem, gpointer pUserData) -{ - int iResult; - char szName[TEXTLEN]; - - /* get the file name */ - iResult = DocGetProperty(DOC_SELECTED, NULL, (void *) szName); - if (iResult != SUCCESS) - return; - if (strlen(szName) == 0) - return; - - FileEdit(szName); -} - - - -/******************************************************************************* - - MENU : File -> Save - -*******************************************************************************/ - -/* callback from menu */ -void FileSave_MenuActivation(GtkMenuItem *pMenuItem, gpointer pUserData) -{ - int iResult; - char szName[TEXTLEN], *pFileName; - - /* get the file name */ - iResult = DocGetProperty(DOC_SELECTED, NULL, (void *) szName); - if (iResult != SUCCESS) - return; - if (strlen(szName) == 0) - return; - pFileName = WindowTop(); - FileSave(pFileName); -} - - - -/******************************************************************************* - - MENU : File -> Print - -*******************************************************************************/ - -/* callback from menu */ -void FilePrint_MenuActivation(GtkMenuItem *pMenuItem, gpointer pUserData) -{ - int iResult; - char szName[TEXTLEN]; - - /* get the file name */ - iResult = DocGetProperty(DOC_SELECTED, NULL, (void *) szName); - if (iResult != SUCCESS) - return; - if (strlen(szName) == 0) - return; - - FilePrint(WindowTop()); -} - - - -/******************************************************************************* - - MENU : File -> Close - -*******************************************************************************/ - -/* callback from menu */ -void FileClose_MenuActivation(GtkMenuItem *pMenuItem, gpointer pUserData) -{ - int iResult; - char szName[TEXTLEN], *pFileName; - - /* get the file name */ - iResult = DocGetProperty(DOC_SELECTED, NULL, (void *) szName); - if (iResult != SUCCESS) - return; - if (strlen(szName) == 0) - return; - - pFileName = WindowTop(); - DocClose(pFileName); -} - - - -/******************************************************************************* - - MENU : File -> New - -*******************************************************************************/ - -/* callback from menu */ -void FileNew_MenuActivation(GtkMenuItem *pMenuItem, gpointer pUserData) -{ - char *pResult; - - - /* - open a dialog to enter a filename and to choose a type of the file - */ - - bFileNewCanceled = FALSE; - bFileNewCompleted = FALSE; - while (!bFileNewCanceled && !bFileNewCompleted) - { - FileNewCreate(); - - while (!bFileNewCanceled && !bFileNewCompleted) - g_main_iteration(FALSE); - - if (bFileNewCompleted) - FileNewComplete(); - - FileNewDestroy(); - - if (bFileNewCompleted && !FileNewValid()) - bFileNewCompleted = FALSE; - } - - - /* - try to create and attach the file - */ - - if (bFileNewCompleted) - { - pResult = FileNew(szFileNewName, ""); - if (pResult != NULL) - { - MsgBox( - pWindowMain, - "Error !", - pResult, - MSGBOX_ERROR | MSGBOX_OKD - ); - } - } - - return; -} - - -static void FileNewCreate(void) -{ - GList *pFileNewTypeCombo_items = NULL; - GtkCombo *pFileNewTypeCombo = NULL; - BOOL bInFileNew; - int iTabLen = 0, iId, iResult; - char *szTabName[TEXTLEN], szName[TEXTLEN]; - - /* create window */ - - pFileNewWindow = GTK_WINDOW(create_FileNew()); - if (pFileNewWindow == NULL) - FatalError(__FILE__, __LINE__, __DATE__); - - gtk_window_set_transient_for(GTK_WINDOW(pFileNewWindow), GTK_WINDOW(pWindowMain)); - gtk_window_set_policy(GTK_WINDOW(pFileNewWindow), FALSE, FALSE, FALSE); - gtk_widget_show(GTK_WIDGET(pFileNewWindow)); - - /* fill list of file types in combo */ - - pFileNewTypeCombo = GTK_COMBO(lookup_widget(GTK_WIDGET(pFileNewWindow), "pFileNewTypeCombo")); - if (pFileNewTypeCombo == NULL) - FatalError(__FILE__, __LINE__, __DATE__); - - for (iId = 0, iResult = SUCCESS, iTabLen = 0; iResult == SUCCESS; iId ++) - { - iResult = ToolValueGet(EXT_LIST, EXT_INFILENEW, iId, &bInFileNew); - if (iResult != SUCCESS) - break; - if (!bInFileNew) - continue; - - iResult = ToolValueGet(EXT_LIST, EXT_NAME, iId, szName); - if (iResult != SUCCESS) - FatalError(__FILE__, __LINE__, __DATE__); - - szTabName[iTabLen] = (char *) malloc(strlen(szName) + 1); - if (szTabName[iTabLen] == NULL) - FatalError(__FILE__, __LINE__, __DATE__); - strcpy(szTabName[iTabLen], szName); - - pFileNewTypeCombo_items = g_list_append(pFileNewTypeCombo_items, (gpointer) _(szTabName[iTabLen])); - iTabLen ++; - } - gtk_combo_set_popdown_strings(GTK_COMBO(pFileNewTypeCombo), pFileNewTypeCombo_items); - g_list_free(pFileNewTypeCombo_items); - for (iId = 0; iId < iTabLen; iId ++) - free(szTabName[iId]); -} - - -static void FileNewDestroy(void) -{ - if (pFileNewWindow != NULL) - { - gtk_widget_destroy(GTK_WIDGET(pFileNewWindow)); - pFileNewWindow = NULL; - } -} - - -static void FileNewComplete(void) -{ - GtkEntry *pFileNewTypeComboEntry, *pFileNewNameEntry; - BOOL bInFileNew; - int iId, iResult; - char szNameFromTable[TEXTLEN], szExt[TEXTLEN]; - const char *pNameFromEntry; - - /* read extension from combo */ - - pFileNewTypeComboEntry = GTK_ENTRY(lookup_widget(GTK_WIDGET(pFileNewWindow), "pFileNewTypeComboEntry")); - if (pFileNewTypeComboEntry == NULL) - FatalError(__FILE__, __LINE__, __DATE__); - - pNameFromEntry = gtk_entry_get_text(pFileNewTypeComboEntry); - if (pNameFromEntry == NULL) - FatalError(__FILE__, __LINE__, __DATE__); - - for (iId = 0, iResult = SUCCESS; iResult == SUCCESS; iId ++) - { - iResult = ToolValueGet(EXT_LIST, EXT_INFILENEW, iId, &bInFileNew); - if (iResult != SUCCESS) - FatalError(__FILE__, __LINE__, __DATE__); - if (!bInFileNew) - continue; - - iResult = ToolValueGet(EXT_LIST, EXT_NAME, iId, szNameFromTable); - if (!strcmp(szNameFromTable, pNameFromEntry)) - break; - } - - iResult = ToolValueGet(EXT_LIST, EXT_EXT, iId, szExt); - if (iResult != SUCCESS) - FatalError(__FILE__, __LINE__, __DATE__); - - /* read name from entry, add extension if needed */ - - pFileNewNameEntry = GTK_ENTRY(lookup_widget(GTK_WIDGET(pFileNewWindow), "pFileNewNameEntry")); - if (pFileNewNameEntry == NULL) - FatalError(__FILE__, __LINE__, __DATE__); - - pNameFromEntry = gtk_entry_get_text(pFileNewNameEntry); - if (pNameFromEntry == NULL) - FatalError(__FILE__, __LINE__, __DATE__); - - strcpy(szFileNewName, pNameFromEntry); - if (strcmp(FileGetExt(szFileNewName), szExt)) - { - strcat(szFileNewName, "."); - strcat(szFileNewName, szExt); - } -} - - -static BOOL FileNewValid(void) -{ - if (strlen(FileGetName(szFileNewName)) == 0) - { - MsgBox( - pWindowMain, - "Error !", - "Enter a name of file !", - MSGBOX_ERROR | MSGBOX_OKD - ); - - return FALSE; - } - - return TRUE; -} - - -void FileNew_ButtonOk(GtkButton *pButton, gpointer pUserData) -{ - bFileNewCompleted = TRUE; -} - - -void FileNew_ButtonCancel(GtkButton *pButton, gpointer pUserData) -{ - bFileNewCanceled = TRUE; -} - - -gboolean FileNew_Destroy(GtkWidget *pWidget, GdkEvent *pEvent, gpointer pUserData) -{ - bFileNewCanceled = TRUE; - pFileNewWindow = NULL; - return FALSE; -} - - - -/******************************************************************************* - - MENU : File -> Import - -*******************************************************************************/ - -/* callback from menu */ -void FileImport_MenuActivation(GtkMenuItem *pMenuItem, gpointer pUserData) -{ - int iResult, iExtId; - char szName[TEXTLEN], szExtension[TEXTLEN], *szRelName, pValue[TEXTLEN], szDocSelected[TEXTLEN], *szExt, szMessage[TEXTLEN], szParent[TEXTLEN]; - - /* enter file name and location */ - strcpy(szName, ""); - strcpy(szExtension, "*"); - iResult = FileChoose(szExtension, szName); - if (iResult != SUCCESS) - { - /* not an error, simply action cancelled */ - return; - } - - /* check extension in database */ - szExt = FileGetExt(szName); - iResult = ToolGetExtensionId(szExt, &iExtId); - if (iResult != SUCCESS) - { - sprintf(szMessage, "Cannot import files of type '%s'", szExt); - MsgBox( - pWindowMain, - "Error !", - szMessage, - MSGBOX_ERROR | MSGBOX_OKD - ); - return; - } - iResult = ToolValueGet(EXT_LIST, EXT_PARENT, iExtId, szParent); - if (iResult != SUCCESS) - { - sprintf(szMessage, "Fatal error in file '%s' at line %d", __FILE__, __LINE__); - MsgBox( - pWindowMain, - "Fatal error !", - szMessage, - MSGBOX_FATAL | MSGBOX_OKD - ); - return; - } - iResult = DocGetProperty(DOC_SELECTED, "", szDocSelected); - if (iResult != SUCCESS) - { - sprintf(szMessage, "Fatal error in file '%s' at line %d", __FILE__, __LINE__); - MsgBox( - pWindowMain, - "Fatal error !", - szMessage, - MSGBOX_FATAL | MSGBOX_OKD - ); - return; - } - if (strcmp(szParent, FileGetExt(szDocSelected)) && strlen(szParent) > 0) - { - sprintf(szMessage, "File '%s' can be bind only to files of type '%s'", szName, szParent); - MsgBox( - pWindowMain, - "Error !", - szMessage, - MSGBOX_ERROR | MSGBOX_OKD - ); - return; - } - - /* check if the file is existing */ - iResult = FileIsExisting(szName); - if (iResult != SUCCESS) - { - /* error, file does exist */ - MsgBox( - pWindowMain, - "File does not exist.", - szMessage, - MSGBOX_ERROR | MSGBOX_OKD - ); - return; - } - - /* check if the file has been already added in project */ - iResult = DocGetProperty(DOC_FILENAME, szName, pValue); - if (iResult == SUCCESS) - { - /* error, file in project */ - MsgBox( - pWindowMain, - "File already exists.", - szMessage, - MSGBOX_ERROR | MSGBOX_OKD - ); - return; - } - - /* add file to the project */ - szRelName = FileGetRel(szName); - iResult = DocCreate(szRelName, strlen(szParent) > 0 ? szDocSelected : ""); - if (iResult != SUCCESS) - { - MsgBox( - pWindowMain, - "Error !", - "Cannot import file.", - MSGBOX_ERROR | MSGBOX_OKD - ); - return; - } - ProjectSave(); -} - - - -/******************************************************************************* - - MENU : File -> Unlink - -*******************************************************************************/ - -/* callback from menu */ -void FileUnlink_MenuActivation(GtkMenuItem *pMenuItem, gpointer pUserData) -{ - int iResult; - char szMessage[TEXTLEN], szName[TEXTLEN]; - - /* get the file name */ - iResult = DocGetProperty(DOC_SELECTED, NULL, (void *) szName); - if (iResult != SUCCESS) - return; - if (strlen(szName) == 0) - return; - - /* accept unlink */ - sprintf(szMessage, "Do you want to remove file '%s' (and all dependend files) from project ?", szName); - iResult = MsgBox( - pWindowMain, - "Question ...", - szMessage, - MSGBOX_QUESTION | MSGBOX_OKD | MSGBOX_CANCEL - ); - if (iResult == MSGBOX_CANCEL) - return; - - FileUnlink(szName); -} - - - -/******************************************************************************* - - MENU : File -> Delete - -*******************************************************************************/ - -/* callback from menu */ -void FileDelete_MenuActivation(GtkMenuItem *pMenuItem, gpointer pUserData) -{ - int iResult; - char szMessage[TEXTLEN], szName[TEXTLEN]; - - /* get the file name */ - iResult = DocGetProperty(DOC_SELECTED, NULL, (void *) szName); - if (iResult != SUCCESS) - return; - if (strlen(szName) == 0) - return; - - /* accept delete */ - sprintf(szMessage, "Do you want to delete file '%s' (and all dependend files) from the disk ?", szName); - iResult = MsgBox( - pWindowMain, - "Question ...", - szMessage, - MSGBOX_QUESTION | MSGBOX_OKD | MSGBOX_CANCEL - ); - if (iResult == MSGBOX_CANCEL) - return; - - FileDelete(szName); - - return; -} diff --git a/geda/src/m_file.h b/geda/src/m_file.h deleted file mode 100644 index 2599f80f8..000000000 --- a/geda/src/m_file.h +++ /dev/null @@ -1,50 +0,0 @@ -/*******************************************************************************/ -/* */ -/* gEDA Suite Project Manager */ -/* */ -/* Copyright (C) 2002 Piotr Miarecki, sp9rve@eter.ariadna.pl */ -/* */ -/* 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 version 2. */ -/* */ -/* This program is distributed in the hope that it will be useful, */ -/* but WITHOUT ANY WARRANTY; without even the implied warranty of */ -/* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the */ -/* GNU General Public License for more details. */ -/* */ -/* You should have received a copy of the GNU General Public License */ -/* along with this program; if not, write to the Free Software */ -/* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ -/* */ -/*******************************************************************************/ - -#ifndef __M_FILE_H_INCLUDED -#define __M_FILE_H_INCLUDED - - - -/******************************************************************************* - - Public functions and variables - -*******************************************************************************/ - -/* menu callbacks */ -void FileEdit_MenuActivation(GtkMenuItem *pMenuItem, gpointer pUserData); -void FileSave_MenuActivation(GtkMenuItem *pMenuItem, gpointer pUserData); -void FilePrint_MenuActivation(GtkMenuItem *pMenuItem, gpointer pUserData); -void FileClose_MenuActivation(GtkMenuItem *pMenuItem, gpointer pUserData); -void FileNew_MenuActivation(GtkMenuItem *pMenuItem, gpointer pUserData); -void FileImport_MenuActivation(GtkMenuItem *pMenuItem, gpointer pUserData); -void FileUnlink_MenuActivation(GtkMenuItem *pMenuItem, gpointer pUserData); -void FileDelete_MenuActivation(GtkMenuItem *pMenuItem, gpointer pUserData); - -/* other callbacks */ -void FileNew_ButtonOk(GtkButton *pButton, gpointer pUserData); -void FileNew_ButtonCancel(GtkButton *pButton, gpointer pUserData); -gboolean FileNew_Destroy(GtkWidget *pWidget, GdkEvent *pEvent, gpointer pUserData); - - - -#endif /* __M_FILE_H_INCLUDED */ diff --git a/geda/src/m_project.c b/geda/src/m_project.c deleted file mode 100644 index feb591312..000000000 --- a/geda/src/m_project.c +++ /dev/null @@ -1,373 +0,0 @@ -/* $Id$ */ - -/*******************************************************************************/ -/* */ -/* gEDA Suite Project Manager */ -/* */ -/* Copyright (C) 2002 Piotr Miarecki, sp9rve@eter.ariadna.pl */ -/* */ -/* 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 version 2. */ -/* */ -/* This program is distributed in the hope that it will be useful, */ -/* but WITHOUT ANY WARRANTY; without even the implied warranty of */ -/* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the */ -/* GNU General Public License for more details. */ -/* */ -/* You should have received a copy of the GNU General Public License */ -/* along with this program; if not, write to the Free Software */ -/* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ -/* */ -/*******************************************************************************/ - -#ifdef HAVE_CONFIG_H -#include "config.h" -#endif - -#define GTK_ENABLE_BROKEN -#include -#include - -#ifdef HAVE_STRING_H -#include -#endif - -#ifdef HAVE_UNISTD_H -#include -#endif - -#include "doc.h" -#include "filechoose.h" -#include "filetool.h" -#include "global.h" -#include "interface.h" -#include "m_action.h" -#include "m_project.h" -#include "msgbox.h" -#include "project.h" -#include "support.h" - - - -void ProjectWidgetsHide(void); -void ProjectWidgetsShow(void); - - - -/******************************************************************************* - - Static variables and functions, definitions - -*******************************************************************************/ - -static void ProjectPropertiesCreate(void); -static void ProjectPropertiesDestroy(void); -static BOOL ProjectPropertiesValid(void); - - - -/******************************************************************************* - - MENU : Project -> New - -*******************************************************************************/ - -/* callback from menu */ -void ProjectNew_MenuActivation(GtkMenuItem *pMenuItem, gpointer pUserData) -{ - int iResult; - char szProjectFileName[TEXTLEN]; - -// strcpy(szProjectFileName, "unnamed.prj"); - - chdir(pDefaultProjectDir); - - iResult = ProjectProperties(TRUE); - if (iResult == SUCCESS) - { - strcpy(szProjectFileName, Project.szDir); - strcat(szProjectFileName, "/"); - strcat(szProjectFileName, Project.szName); - strcat(szProjectFileName, "."); - strcat(szProjectFileName, Project.szExt); - - ProjectNew(szProjectFileName); - } -} - - - -/******************************************************************************* - - MENU : Project -> Open - -*******************************************************************************/ - -/* callback from menu */ -void ProjectOpen_MenuActivation(GtkMenuItem *pMenuItem, gpointer pUserData) -{ - int iResult; - char szProjectFileName[TEXTLEN]; - - chdir(pDefaultProjectDir); - - /* ask for project name */ - strcpy(szProjectFileName, DEF_PRJNAME); - iResult = FileChoose(DEF_PRJEXT, szProjectFileName); - if (iResult != SUCCESS) - { - strcpy(szProjectFileName, ""); - return; - } - - ProjectOpen(szProjectFileName); -} - - - -/******************************************************************************* - - MENU : Project -> Properties - -*******************************************************************************/ - -static GtkWindow *pWindow = NULL; -static BOOL bUpdateDir = FALSE; -static BOOL bUpdateBlock = FALSE; -static BOOL bCanceled = FALSE; -static BOOL bCompleted = FALSE; - - -/* callback from menu */ -void ProjectProperties_MenuActivation(GtkMenuItem *pMenuItem, gpointer pUserData) -{ - ProjectProperties(FALSE); -} - - -/* openning project properties window */ -int ProjectProperties(BOOL bIsNew) -{ - GtkEntry *pEntryName = NULL, *pEntryDir = NULL, *pEntryAuthor = NULL; - GtkText *pTextDescription; - gint x; - - bUpdateDir = FALSE; - bUpdateBlock = FALSE; - - /* default values for new project */ - if (bIsNew) - { - strcpy(Project.szName, pDefaultProjectName); - strcpy(Project.szExt, pDefaultProjectExt); - - strcpy(Project.szDir, pDefaultProjectDir); - strcat(Project.szDir, G_DIR_SEPARATOR_S); - strcat(Project.szDir, Project.szName); - - strcpy(Project.szAuthor, getenv("USER")); - strcpy(Project.szDesc, ""); - } - - /* project editing loop */ - bCanceled = FALSE; - bCompleted = FALSE; - while (!bCanceled && !bCompleted) - { - ProjectPropertiesCreate(); - - pEntryName = GTK_ENTRY(lookup_widget(GTK_WIDGET(pWindow), "pProjectPropertiesEntryName")); - if (pEntryName == NULL) - FatalError(__FILE__, __LINE__, __DATE__); - - pEntryDir = GTK_ENTRY(lookup_widget(GTK_WIDGET(pWindow), "pProjectPropertiesEntryDir")); - if (pEntryDir == NULL) - FatalError(__FILE__, __LINE__, __DATE__); - - pEntryAuthor = GTK_ENTRY(lookup_widget(GTK_WIDGET(pWindow), "pProjectPropertiesEntryAuthor")); - if (pEntryAuthor == NULL) - FatalError(__FILE__, __LINE__, __DATE__); - - pTextDescription = GTK_TEXT(lookup_widget(GTK_WIDGET(pWindow), "pProjectPropertiesTextDescription")); - if (pTextDescription == NULL) - FatalError(__FILE__, __LINE__, __DATE__); - - if (!bIsNew) - { - gtk_entry_set_editable(pEntryName, FALSE); - gtk_widget_set_sensitive(GTK_WIDGET(pEntryName), FALSE); - - gtk_entry_set_editable(pEntryDir, FALSE); - gtk_widget_set_sensitive(GTK_WIDGET(pEntryDir), FALSE); - - bUpdateDir = TRUE; - } - - gtk_entry_set_text(pEntryName, Project.szName); - bUpdateBlock = TRUE, gtk_entry_set_text(pEntryDir, Project.szDir), bUpdateBlock = FALSE; - gtk_entry_set_text(pEntryAuthor, Project.szAuthor); - gtk_editable_delete_text(GTK_EDITABLE(pTextDescription), 0, -1), x = 0, - gtk_editable_insert_text(GTK_EDITABLE(pTextDescription), Project.szDesc, strlen(Project.szDesc), &x); - - while (!bCanceled && !bCompleted) - g_main_iteration(FALSE); - - if (bCompleted) - { - strcpy(Project.szName, FileGetName(gtk_entry_get_text(pEntryName))); - strcpy(Project.szExt, - strlen(FileGetExt(gtk_entry_get_text(pEntryName))) > 0 - ? FileGetExt(gtk_entry_get_text(pEntryName)) - : pDefaultProjectExt - ); - strcpy(Project.szDir, gtk_entry_get_text(pEntryDir)); - if (strcmp(FileGetName(gtk_entry_get_text(pEntryDir)), Project.szName)) - { - strcat(Project.szDir, G_DIR_SEPARATOR_S); - strcat(Project.szDir, Project.szName); - }; - strcpy(Project.szAuthor, gtk_entry_get_text(pEntryAuthor)); - strcpy(Project.szDesc, gtk_editable_get_chars(GTK_EDITABLE(pTextDescription), 0, -1)); - - ProjectSave(); - } - - ProjectPropertiesDestroy(); - - if (bCompleted && !ProjectPropertiesValid()) - bCompleted = FALSE; - } - - return bCompleted - ? SUCCESS - : FAILURE; -} - - -static void ProjectPropertiesCreate(void) -{ - pWindow = GTK_WINDOW(create_ProjectProperties()); - if (pWindow == NULL) - FatalError(__FILE__, __LINE__, __DATE__); - - gtk_window_set_transient_for(GTK_WINDOW(pWindow), GTK_WINDOW(pWindowMain)); - gtk_window_set_policy(GTK_WINDOW(pWindow), FALSE, FALSE, FALSE); - gtk_widget_show(GTK_WIDGET(pWindow)); - - while (g_main_iteration(FALSE)) ; -} - - -static void ProjectPropertiesDestroy(void) -{ - gtk_widget_destroy(GTK_WIDGET(pWindow)); -} - - -static BOOL ProjectPropertiesValid(void) -{ - /* TODO: validation of project parameters */ - return TRUE; -} - - -void ProjectProperties_ButtonClicked(GtkButton *pButtonClicked, gpointer pUserData) -{ - GtkButton *pOk = NULL, *pCancel = NULL; - - pOk = GTK_BUTTON(lookup_widget(GTK_WIDGET(pWindow), "pProjectPropertiesButtonOk")); - if (pOk == NULL) - FatalError(__FILE__, __LINE__, __DATE__); - - pCancel = GTK_BUTTON(lookup_widget(GTK_WIDGET(pWindow), "pProjectPropertiesButtonCancel")); - if (pCancel == NULL) - FatalError(__FILE__, __LINE__, __DATE__); - - if (pButtonClicked == pOk) - bCompleted = TRUE; - - else if (pButtonClicked == pCancel) - bCanceled = TRUE; -} - - -void ProjectProperties_NameChanged(GtkEditable *pEditable, GdkEventKey *pEvent, gpointer pUserData) -{ - GtkEntry *pEntryName = NULL, *pEntryDir = NULL; - - pEntryName = GTK_ENTRY(lookup_widget(GTK_WIDGET(pWindow), "pProjectPropertiesEntryName")); - if (pEntryName == NULL) - FatalError(__FILE__, __LINE__, __DATE__); - - pEntryDir = GTK_ENTRY(lookup_widget(GTK_WIDGET(pWindow), "pProjectPropertiesEntryDir")); - if (pEntryDir == NULL) - FatalError(__FILE__, __LINE__, __DATE__); - - if (!bUpdateDir) - { - strcpy(Project.szDir, pDefaultProjectDir); - strcat(Project.szDir, "/"); - strcat(Project.szDir, gtk_entry_get_text(pEntryName)); - - bUpdateBlock = TRUE; - gtk_entry_set_text(pEntryDir, Project.szDir); - bUpdateBlock = FALSE; - } -} - - -void ProjectProperties_DirChanged(GtkEditable *pEditable, gint pStartPos, gint pEndPos, gpointer pUserData) -{ - if (bUpdateBlock) - return; - - bUpdateDir = TRUE; -} - - - -/******************************************************************************* - - MENU : Project -> Close - -*******************************************************************************/ - -/* callback from menu */ -void ProjectClose_MenuActivation(GtkMenuItem *pMenuItem, gpointer pUserData) -{ - int iResult; - char szFileName[TEXTLEN], szValue[TEXTLEN]; - - /* unload files */ - iResult = SUCCESS; - strcpy(szFileName, ""); - while (iResult == SUCCESS) - { - iResult = DocGetProperty(DOC_NEXT, szFileName, (void *) szValue); - if (iResult != SUCCESS) - break; - DocDestroy(szValue); - } - - /* unload project */ - strcpy(Project.szName, ""); - ProjectWidgetsHide(); - ProjectTitle(); -} - - - -/******************************************************************************* - - MENU : Project -> Exit - -*******************************************************************************/ - -/* callback from menu */ -void ProjectExit_MenuActivation(GtkMenuItem *pMenuItem, gpointer pUserData) -{ - ProjectClose_MenuActivation(pMenuItem, pUserData); - /* no gtk_main_loop(), so not gtk_main_quit(); */ - bRunning = FALSE; -} diff --git a/geda/src/m_project.h b/geda/src/m_project.h deleted file mode 100644 index 283c16e08..000000000 --- a/geda/src/m_project.h +++ /dev/null @@ -1,47 +0,0 @@ -/*******************************************************************************/ -/* */ -/* gEDA Suite Project Manager */ -/* */ -/* Copyright (C) 2002 Piotr Miarecki, sp9rve@eter.ariadna.pl */ -/* */ -/* 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 version 2. */ -/* */ -/* This program is distributed in the hope that it will be useful, */ -/* but WITHOUT ANY WARRANTY; without even the implied warranty of */ -/* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the */ -/* GNU General Public License for more details. */ -/* */ -/* You should have received a copy of the GNU General Public License */ -/* along with this program; if not, write to the Free Software */ -/* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ -/* */ -/*******************************************************************************/ - -#ifndef __M_PROJECT_H_INCLUDED -#define __M_PROJECT_H_INCLUDED - -#include "global.h" - - - -/* public functions */ -int ProjectProperties(BOOL bIsNew); - -/* menu callbacks */ -void ProjectNew_MenuActivation(GtkMenuItem *pMenuItem, gpointer pUserData); -void ProjectOpen_MenuActivation(GtkMenuItem *pMenuItem, gpointer pUserData); -void ProjectProperties_MenuActivation(GtkMenuItem *pMenuItem, gpointer pUserData); -void ProjectSave_MenuActivation(GtkMenuItem *pMenuItem, gpointer pUserData); -void ProjectClose_MenuActivation(GtkMenuItem *pMenuItem, gpointer pUserData); -void ProjectExit_MenuActivation(GtkMenuItem *pMenuItem, gpointer pUserData); - -/* other callbacks */ -void ProjectProperties_ButtonClicked(GtkButton *pButtonClicked, gpointer pUserData); -void ProjectProperties_DirChanged(GtkEditable *pEditable, gint pStartPos, gint pEndPos, gpointer pUserData); -void ProjectProperties_NameChanged(GtkEditable *pEditable, GdkEventKey *pEvent, gpointer pUserData); - - - -#endif /* __M_PROJECT_H_INCLUDED */ diff --git a/geda/src/m_window.c b/geda/src/m_window.c deleted file mode 100644 index e5517e852..000000000 --- a/geda/src/m_window.c +++ /dev/null @@ -1,127 +0,0 @@ -/* $Id$ */ - -/*******************************************************************************/ -/* */ -/* gEDA Suite Project Manager */ -/* */ -/* Copyright (C) 2002 Piotr Miarecki, sp9rve@eter.ariadna.pl */ -/* */ -/* 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 version 2. */ -/* */ -/* This program is distributed in the hope that it will be useful, */ -/* but WITHOUT ANY WARRANTY; without even the implied warranty of */ -/* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the */ -/* GNU General Public License for more details. */ -/* */ -/* You should have received a copy of the GNU General Public License */ -/* along with this program; if not, write to the Free Software */ -/* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ -/* */ -/*******************************************************************************/ - -#ifdef HAVE_CONFIG_H -#include "config.h" -#endif - -#include - -#include "global.h" -#include "m_window.h" -#include "support.h" -#include "window.h" - - - -static GtkMenu *pMenu; -static void MenuWindowActivation(GtkMenuItem *pMenuItem, gpointer pUserData); - - - -void MenuWindowInitialize(void) -{ - GtkWidget *pWidget; - - /* look for menu Window */ - pWidget = lookup_widget(GTK_WIDGET(pWindowMain), "MenuWindow"); - if (pWidget == NULL) - { - /* TODO: error handling */ - return; - } - /* create Window menu */ - pMenu = GTK_MENU(gtk_menu_new()); - gtk_widget_ref(GTK_WIDGET(pMenu)); - gtk_object_set_data_full(GTK_OBJECT(pWindowMain), "MenuWindow_menu", pMenu, (GtkDestroyNotify) gtk_widget_unref); - gtk_menu_item_set_submenu(GTK_MENU_ITEM (pWidget), GTK_WIDGET(pMenu)); -} - - - -GtkMenuItem *MenuWindowNew(const char *szName) -{ - GtkMenuItem *pMenuItem; - - pMenuItem = GTK_MENU_ITEM(gtk_menu_item_new_with_label(szName)); - gtk_widget_ref(GTK_WIDGET(pMenuItem)); - gtk_widget_show(GTK_WIDGET(pMenuItem)); - gtk_container_add(GTK_CONTAINER(pMenu), GTK_WIDGET(pMenuItem)); - gtk_signal_connect( - GTK_OBJECT(pMenuItem), - "activate", - GTK_SIGNAL_FUNC(MenuWindowActivation), - (char *) szName - ); - gtk_widget_set_sensitive(GTK_WIDGET(pMenuItem), TRUE); - - return pMenuItem; -} - - - -void MenuWindowDelete(GtkMenuItem *pMenuItem) -{ - gtk_container_remove(GTK_CONTAINER(pMenu), GTK_WIDGET(pMenuItem)); - gtk_widget_destroy(GTK_WIDGET(pMenuItem)); -} - - - -static void MenuWindowActivation(GtkMenuItem *pMenuItem, gpointer pUserData) -{ - gmanager_window_select((char *) pUserData); - -#if 0 - DocGetProperty(DOC_SELECTED, NULL, szFileName); - szName = FileGetName(szFileName); - szExt = FileGetExt(szFileName); - szPath = FileGetDir(szFileName); - szRel = FileGetRel(szFileName); - - /* look for an action */ - for (pAction = pActionList; pAction != NULL; pAction = pAction->pNext) - if (pAction->pMenuItem == pMenuItem) - break; - if (pAction == NULL) - { - /* TODO*/ - return; - } - - /* interprete command line */ - strcpy(szCommand, pAction->szCommand); - - /* run the tool */ - pParams[0] = (void *) pAction; - pParams[1] = (void *) &szFileName; - iResult = TaskNew(TASK_ACTION, (void **) pParams); - if (iResult != SUCCESS) - { - /**/ - return; - } - - return; -#endif -} diff --git a/geda/src/m_window.h b/geda/src/m_window.h deleted file mode 100644 index e9fb132f5..000000000 --- a/geda/src/m_window.h +++ /dev/null @@ -1,35 +0,0 @@ -/*******************************************************************************/ -/* */ -/* gEDA Suite Project Manager */ -/* */ -/* Copyright (C) 2002 Piotr Miarecki, sp9rve@eter.ariadna.pl */ -/* */ -/* 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 version 2. */ -/* */ -/* This program is distributed in the hope that it will be useful, */ -/* but WITHOUT ANY WARRANTY; without even the implied warranty of */ -/* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the */ -/* GNU General Public License for more details. */ -/* */ -/* You should have received a copy of the GNU General Public License */ -/* along with this program; if not, write to the Free Software */ -/* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ -/* */ -/*******************************************************************************/ - -#ifndef __M_WINDOW_H_INCLUDED -#define __M_WINDOW_H_INCLUDED - -#include - - - -void MenuWindowInitialize(void); -GtkMenuItem *MenuWindowNew(const char *szName); -void MenuWindowDelete(GtkMenuItem *pMenuItem); - - - -#endif diff --git a/geda/src/main.c b/geda/src/main.c deleted file mode 100644 index a3a858148..000000000 --- a/geda/src/main.c +++ /dev/null @@ -1,227 +0,0 @@ -/* $Id$ */ - -/*******************************************************************************/ -/* */ -/* gEDA Suite Project Manager */ -/* */ -/* Copyright (C) 2002 Piotr Miarecki, sp9rve@eter.ariadna.pl */ -/* */ -/* 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 version 2. */ -/* */ -/* This program is distributed in the hope that it will be useful, */ -/* but WITHOUT ANY WARRANTY; without even the implied warranty of */ -/* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the */ -/* GNU General Public License for more details. */ -/* */ -/* You should have received a copy of the GNU General Public License */ -/* along with this program; if not, write to the Free Software */ -/* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ -/* */ -/*******************************************************************************/ - -#ifdef HAVE_CONFIG_H -#include "config.h" -#endif - -#include -#include -#include - -#ifdef HAVE_STRING_H -#include -#endif - -#ifdef HAVE_UNISTD_H -#include -#endif - -#ifdef HAVE_TIME_H -#include -#endif - -#include "doc.h" -#include "global.h" -#include "interface.h" -#include "msgbox.h" -#include "project.h" -#include "tool.h" -#include "window.h" - - - -/******************************************************************************* - - Static functions and variables - -*******************************************************************************/ - -static void MainLoop(void); - - - -/******************************************************************************* - - Global variables - -*******************************************************************************/ - -/* default values */ -char *pDefaultProjectName = NULL; -char *pDefaultProjectExt = NULL; -char *pDefaultProjectDir = NULL; - -/* registered windows */ -GtkWindow *pWindowMain = NULL; - -/* running flag */ -int bRunning = TRUE; - - - -/******************************************************************************* - - Main application function - -*******************************************************************************/ - -int main(int argc, char *argv[]) -{ - int iResult; - -#if ENABLE_NLS - bindtextdomain (PACKAGE, PACKAGE_LOCALE_DIR); - textdomain (PACKAGE); - bind_textdomain_codeset(PACKAGE, "UTF-8"); -#endif - gtk_set_locale (); - gtk_init (&argc, &argv); -#if 0 - add_pixmap_directory (PACKAGE_DATA_DIR "/pixmaps"); - add_pixmap_directory (PACKAGE_SOURCE_DIR "/pixmaps"); -#endif - - - /* - create windows - */ - - pWindowMain = GTK_WINDOW(create_MainWindow()); - gtk_window_set_title(GTK_WINDOW(pWindowMain), GEDA_TITLE); - gtk_widget_show(GTK_WIDGET(pWindowMain)); - - - /* - set defaults - */ - - pDefaultProjectName = (char *) malloc(strlen(DEF_PRJNAME) + 1); - if (pDefaultProjectName == NULL) - FatalError(__FILE__, __LINE__, __DATE__); - strcpy(pDefaultProjectName, DEF_PRJNAME); - - pDefaultProjectExt = (char *) malloc(strlen(DEF_PRJEXT) + 1); - if (pDefaultProjectExt == NULL) - FatalError(__FILE__, __LINE__, __DATE__); - strcpy(pDefaultProjectExt, DEF_PRJEXT); - - pDefaultProjectDir = (char *) malloc(strlen(getenv("HOME")) + 1); - if (pDefaultProjectDir == NULL) - FatalError(__FILE__, __LINE__, __DATE__); - strcpy(pDefaultProjectDir, getenv("HOME")); - - - /* - initializing modules - */ - - WindowInitialize(); - iResult = ToolInitialize(); - if (iResult != SUCCESS) - { - MsgBox( - pWindowMain, - "Error !", - "Cannot initialize tool list !", - MSGBOX_ERROR | MSGBOX_OKD - ); - gtk_main_quit(); - return -1; - } - ProjectInitialize(); - DocViewInitialize(); - TaskInitialize(); - - - /* - main loop - */ - - MainLoop(); - - - /* releasing */ -#if 0 - iResult = ToolRelease(); - if (iResult != SUCCESS) - { - /* TODO: error handling */ - } -#endif - return 0; -} - - -#ifdef HAVE_NANOSLEEP -static void ReduceCpuSleep(unsigned long usecs) -{ - struct timespec rqtp; - rqtp.tv_sec = usecs / (unsigned long) 1000000; - rqtp.tv_nsec = (usecs % (unsigned long) 1000000) * 1000 ; - - nanosleep(&rqtp, (struct timespec *) NULL); -} -#endif - -static void MainLoop(void) -{ - while (bRunning != FALSE) - { - TaskProcess(); -#ifdef HAVE_NANOSLEEP - /* Sleep for one microsecond (maybe more) to reduce CPU load */ - ReduceCpuSleep(1000); -#endif - while (g_main_iteration(FALSE)); - } -} - - - -/******************************************************************************* - - Fatal error handling - - Function prints a message on a console, displayes a message box - and exits the program. - -*******************************************************************************/ - -void FatalError(const char *szFile, const int iLine, const char *szDate) -{ - char szMessage[TEXTLEN]; - - sprintf(szMessage, "FATAL ERROR !\n\tFile: %s\n\tLine: %i\n\tDate: %s", szFile, iLine, szDate); - - printf("%s\n", szMessage); - - MsgBox( - pWindowMain, - "FATAL ERROR !", - szMessage, - MSGBOX_FATAL | MSGBOX_OKD - ); - - _exit(-1); -} diff --git a/geda/src/msgbox.c b/geda/src/msgbox.c deleted file mode 100644 index d574cb9e6..000000000 --- a/geda/src/msgbox.c +++ /dev/null @@ -1,1473 +0,0 @@ -/* $Id$ */ - -/*******************************************************************************/ -/* */ -/* Message box */ -/* Copyright (C) 2002 Piotr Miarecki, sp9rve@eter.ariadna.pl */ -/* */ -/* 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 version 2. */ -/* */ -/* This program is distributed in the hope that it will be useful, */ -/* but WITHOUT ANY WARRANTY; without even the implied warranty of */ -/* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the */ -/* GNU General Public License for more details. */ -/* */ -/* You should have received a copy of the GNU General Public License */ -/* along with this program; if not, write to the Free Software */ -/* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ -/* */ -/*******************************************************************************/ - -#ifdef HAVE_CONFIG_H -#include "config.h" -#endif - -#include -#include - -#ifdef HAVE_STRING_H -#include -#endif - -#include "msgbox.h" - - - - -#if (HAS_GTK22 == 1) -#define DIALOG_MODE GTK_DIALOG_MODAL -#else -#define DIALOG_MODE GTK_WINDOW_DIALOG -#endif - - - -/* - Additional message button defines used only locally -*/ - -#define MSGBOX_MAXBUTTONS 4 -#define MSGBOX_BTN_WIDTH 96 -#define MSGBOX_BTN_HEIGHT 32 -#define MSGBOX_BTN_BORDER 8 - -#define MSGBOX_GOING 1 -#define MSGBOX_DONE 2 -#define MSGBOX_CANCELED 3 - -#define MSGBOX_NOTSELECTED 0x0000FFFFL - - - -/* - Private functions and variables -*/ - -static void MsgBoxCreate(void); -static void MsgBoxButtonClicked(GtkButton *pButtonClicked, gpointer pUserData); - -static GtkWindow *pParentWindow, *pWindow = NULL; -static unsigned long dwFlags; -static char *szTitle, *szMessage; -static int iNumber = 0; - -static char szButton[8][32] = { - "Ok", - "Cancel", - "Yes", - "No", - "Always Ok", - "Always Cancel", - "Always Yes", - "Always No" -}; - -static GtkButton *pButton[MSGBOX_MAXBUTTONS]; -static int iButton[MSGBOX_MAXBUTTONS]; -static int iMsgBoxStatus; -static int iMsgBoxSelection = -1; -static char *szXpmError[], *szXpmWarning[], *szXpmQuestion[], *szXpmMessage[]; - - - -/* - Public functions -*/ - -int MsgBox(const GtkWindow *pArgParentWindow, const char *szArgTitle, const char *szArgMessage, const unsigned long dwArgFlags) -{ - int i; - - /* error if a window already displayed */ - if (pWindow != NULL) - return MSGBOX_WAIT; - - /* save args for recreating the window */ - pParentWindow = GTK_WINDOW(pArgParentWindow); - dwFlags = dwArgFlags; - szTitle = (char *) malloc(strlen(szArgTitle) + 1); - strcpy(szTitle, szArgTitle); - szMessage = (char *) malloc(strlen(szArgMessage) + 1); - strcpy(szMessage, szArgMessage); - - /* count buttons */ - for (iNumber = 0, i = 0; (1L << i) < MSGBOX__LAST; i ++) - { - if ((dwFlags & (1L << i)) == (1L << i)) - iNumber ++; - } - - /* create message box */ - MsgBoxCreate(); - - /* wait until selection is done (one or more buttons case) */ - if (iNumber > 0) - { - iMsgBoxStatus = MSGBOX_GOING; - while (iMsgBoxStatus == MSGBOX_GOING) - while (g_main_iteration(FALSE)) ; - - MsgBoxDestroy(); - } - - /* return selection */ - return (iNumber > 0) - ? iMsgBoxSelection - : MSGBOX_WAIT; -} - - - -void MsgBoxDestroy(void) -{ - if (pWindow == NULL) - return; - - /* destroy widgets */ - iMsgBoxStatus = MSGBOX_DONE; - gtk_widget_destroy(GTK_WIDGET(pWindow)); - while (g_main_iteration(FALSE)) ; - - /* free memory */ - pWindow = NULL; - free(szTitle); - free(szMessage); -} - - - -/* - Private functions and variables -*/ - -static void MsgBoxButtonClicked(GtkButton *pButtonClicked, gpointer pUserData) -{ - int i; - - /* do not execute if destroying by MsgBoxDestroy() */ - if (iMsgBoxStatus != MSGBOX_GOING) - return; - - /* look for the pressed button */ - for (i = 0; i < iNumber; i ++) - if (pButtonClicked == pButton[i]) - break; - - /* a button pressed, end the loop in MsgBox() */ - if (i != iNumber) - { - iMsgBoxSelection = iButton[i]; - iMsgBoxStatus = MSGBOX_DONE; - } - - /* no button pressed */ - else - { - /* recreate window */ - while (g_main_iteration(FALSE)) ; /* old window is being removed */ - MsgBoxCreate(); - } -} - - - -static void MsgBoxCreate(void) -{ - GdkBitmap *pMask; - GdkPixmap *pGdkPixmap; - GtkLabel *pLabel; - GtkPixmap *pPixmap; - GtkStyle *pStyle; - GtkHBox *pHBox, *pHBoxButtons; - GtkVBox *pVBox, *pVBoxLeft, *pVBoxRight; - unsigned long f; - int iDefault = -1, i, iWidth, iHeight, iX, iY, iW, iH; - char **szXpm; - - /* create buttons */ - for (iNumber = 0, i = 0; (1L << i) < MSGBOX__LAST; i ++) - { - if ((dwFlags & (1L << i)) == (1L << i)) - { - pButton[iNumber] = GTK_BUTTON(gtk_button_new_with_label(szButton[i])); - iButton[iNumber] = (1 << i); - - GTK_WIDGET_SET_FLAGS(pButton[iNumber], GTK_CAN_DEFAULT); - - f = 0x80000000L | ((unsigned long)i << 24); - if ((dwFlags & f) == f) - iDefault = iNumber; - - iNumber ++; - } - } - - /* create window */ - pWindow = GTK_WINDOW(gtk_window_new(DIALOG_MODE)); - iWidth = (iNumber > 3 ? iNumber : 4) * (MSGBOX_BTN_WIDTH + 2 * MSGBOX_BTN_BORDER); - iHeight = 150 - (iNumber == 0 ? MSGBOX_BTN_HEIGHT + 2 * MSGBOX_BTN_BORDER : 0); - gtk_widget_set_usize(GTK_WIDGET(pWindow), iWidth, iHeight); - gtk_window_set_modal(GTK_WINDOW(pWindow), TRUE); - gtk_window_set_position(GTK_WINDOW(pWindow), GTK_WIN_POS_MOUSE); - gtk_window_set_transient_for(GTK_WINDOW(pWindow), GTK_WINDOW(pParentWindow)); - gtk_window_set_title(GTK_WINDOW(pWindow), szTitle); - gtk_window_set_policy(GTK_WINDOW(pWindow), FALSE, FALSE, FALSE); - gtk_widget_show(GTK_WIDGET(pWindow)); - while (g_main_iteration(FALSE)) ; - gdk_window_get_size(GTK_WIDGET(pParentWindow)->window, &iW, &iH); - gdk_window_get_position(GTK_WIDGET(pParentWindow)->window, &iX, &iY); - gdk_window_move( - GTK_WIDGET(pWindow)->window, - iX + (iWidth >= iW ? iWidth - iW : iW - iWidth) / 2, - iY + (iHeight >= iH ? iHeight - iH : iH - iHeight) /2 - ); - - /* create vertical container */ - pVBox = GTK_VBOX(gtk_vbox_new(FALSE, 0)); - gtk_container_add(GTK_CONTAINER(pWindow), GTK_WIDGET(pVBox)); - - /* create horizontal container */ - pHBox = GTK_HBOX(gtk_hbox_new(FALSE, 0)); - gtk_box_pack_start(GTK_BOX(pVBox), GTK_WIDGET(pHBox), TRUE, TRUE, MSGBOX_BTN_BORDER); - - /* create picture */ - if (dwFlags & MSGBOX_FATAL) - szXpm = szXpmError; - if (dwFlags & MSGBOX_ERROR) - szXpm = szXpmError; - else if (dwFlags & MSGBOX_WARNING) - szXpm = szXpmWarning; - else if (dwFlags & MSGBOX_QUESTION) - szXpm = szXpmQuestion; - else - szXpm = szXpmMessage; - pStyle = gtk_widget_get_style(GTK_WIDGET(pParentWindow)); - pGdkPixmap = gdk_pixmap_create_from_xpm_d( - GTK_WIDGET(pParentWindow)->window, - &pMask, - &pStyle->bg[GTK_STATE_NORMAL], - (gchar **) szXpm - ); - pPixmap = GTK_PIXMAP(gtk_pixmap_new(pGdkPixmap, pMask)); - gtk_box_pack_start(GTK_BOX(pHBox), GTK_WIDGET(pPixmap), FALSE, FALSE, 0); - gtk_pixmap_set(pPixmap, pGdkPixmap, pMask); - gtk_widget_set_usize(GTK_WIDGET(pPixmap), MSGBOX_BTN_WIDTH, -2); - - /* create message label */ - pLabel = GTK_LABEL(gtk_label_new(szMessage)); - gtk_label_set_line_wrap(pLabel, TRUE); - gtk_label_set_justify(GTK_LABEL(pLabel), GTK_JUSTIFY_LEFT); - gtk_label_set_line_wrap(GTK_LABEL(pLabel), TRUE); - gtk_box_pack_start(GTK_BOX(pHBox), GTK_WIDGET(pLabel), FALSE, TRUE, 0); - - /* create area for buttons */ - pHBoxButtons = GTK_HBOX(gtk_hbox_new(FALSE, 0)); - gtk_widget_set_usize(GTK_WIDGET(pHBoxButtons), -2, MSGBOX_BTN_HEIGHT); - gtk_box_pack_start(GTK_BOX(pVBox), GTK_WIDGET(pHBoxButtons), FALSE, FALSE, MSGBOX_BTN_BORDER); - - /* place buttons */ - pVBoxLeft = GTK_VBOX(gtk_vbox_new(FALSE, 0)); - gtk_box_pack_start(GTK_BOX(pHBoxButtons), GTK_WIDGET(pVBoxLeft), TRUE, TRUE, 0); - for (i = 0; i < iNumber; i ++) - { - gtk_widget_set_usize(GTK_WIDGET(pButton[i]), MSGBOX_BTN_WIDTH + 2 * MSGBOX_BTN_BORDER, MSGBOX_BTN_HEIGHT + 2 * MSGBOX_BTN_BORDER); - gtk_signal_connect_object(GTK_OBJECT(pButton[i]), "clicked", GTK_SIGNAL_FUNC(MsgBoxButtonClicked), GTK_OBJECT(pButton[i])); - gtk_box_pack_start(GTK_BOX(pHBoxButtons), GTK_WIDGET(pButton[i]), FALSE, FALSE, 0); - gtk_container_set_border_width(GTK_CONTAINER(pButton[i]), 0); - } - pVBoxRight = GTK_VBOX(gtk_vbox_new(FALSE, 0)); - gtk_box_pack_start(GTK_BOX(pHBoxButtons), GTK_WIDGET(pVBoxRight), TRUE, TRUE, 0); - - /* default button */ - if (iDefault != -1) - { - gtk_widget_grab_focus(GTK_WIDGET(pButton[iDefault])); - gtk_widget_grab_default(GTK_WIDGET(pButton[iDefault])); - } - - /* rest */ - gtk_widget_show_all(GTK_WIDGET(pWindow)); - gtk_signal_connect_object_after(GTK_OBJECT(pWindow), "delete-event", GTK_SIGNAL_FUNC(MsgBoxButtonClicked), GTK_OBJECT(pWindow)); - while (g_main_iteration(FALSE)) ; -} - - - -/* - Pixmaps derived from gnome-libs package. - See http://www.gnome.org -*/ - -static char *szXpmError[]={ -"48 48 395 2", -"Qt c None", -"dS c #33100e", -"eh c #36120f", -"dI c #361210", -"e# c #401512", -"cP c #4e1915", -"dk c #4e1a16", -"bI c #581b16", -"ei c #581c17", -"eg c #5c1e1a", -"dZ c #5c1f1b", -"dv c #66221d", -"e. c #6b241e", -"cx c #6c221d", -"dR c #6d241f", -"dB c #722620", -"c4 c #752620", -"dH c #772822", -"ap c #7d231c", -"ch c #7f2821", -"ea c #81261e", -"d9 c #832b24", -"dY c #832c25", -"ef c #842a24", -"d0 c #85251c", -"cX c #87281e", -"aF c #88281f", -"b7 c #892b24", -"cY c #8a291f", -"eb c #8b2921", -"cO c #8b2c26", -"#U c #8c271d", -"dQ c #8d2e28", -"dD c #8f2a22", -"ec c #8f2b23", -"du c #8f2f28", -"dj c #8f3832", -"ai c #902419", -"cF c #902a1f", -"a6 c #902b22", -"ee c #902d26", -"dL c #90362f", -"d1 c #912920", -"bV c #912d25", -"ah c #922519", -"ay c #92251b", -"d8 c #933028", -"#X c #941f12", -"#2 c #942417", -"bH c #942d25", -"ed c #942e26", -"dX c #943029", -"dA c #94302a", -".s c #952011", -"cB c #95261b", -"bi c #952c23", -"cw c #953028", -".r c #961f11", -".S c #962011", -"#L c #962417", -"#3 c #962418", -"dT c #96291f", -"a# c #962920", -"bu c #962e24", -"dF c #963028", -"dG c #963029", -"d2 c #972c22", -"de c #972d25", -"dq c #972e26", -"dy c #972f27", -"ad c #981f11", -"cA c #98271b", -"cH c #982d23", -"cZ c #982d24", -"dE c #982e25", -"dM c #982e26", -"c3 c #983129", -"#u c #992416", -"ax c #99271b", -"cS c #99281c", -"#E c #99291e", -"co c #992b20", -"cq c #992c21", -"cr c #992c22", -"cl c #9a261b", -"cU c #9a291e", -"c7 c #9a2a1e", -"cn c #9a2b1f", -"dc c #9a2c23", -"cg c #9a3029", -"d7 c #9a312a", -"dP c #9a322a", -".6 c #9b2013", -"#l c #9b281c", -"az c #9b281d", -"dJ c #9b2a1f", -"ao c #9b2c21", -"at c #9c2112", -"#t c #9c2316", -"#M c #9c2518", -"ck c #9c271b", -"d# c #9c2c21", -"ct c #9c2d23", -"d3 c #9c2d24", -"c0 c #9c2f26", -"dz c #9c322a", -"#e c #9d2214", -"ae c #9d2314", -"aj c #9d271b", -"dU c #9d2b21", -"dp c #9d2e23", -"dd c #9d2f25", -"cJ c #9d2f26", -"df c #9d3027", -"cv c #9d3129", -"d6 c #9d3229", -"cN c #9d322a", -"dO c #9d332a", -"dt c #9d332b", -"dW c #9d3a32", -"cT c #9e291f", -"#o c #9e2a1e", -"#T c #9e2a20", -"#Y c #9e2e20", -"bG c #9e3026", -"bU c #9e3027", -"d4 c #9e3127", -"b6 c #9e3128", -"dg c #9e3129", -"ds c #9e3229", -".F c #9f2112", -"cC c #9f291e", -"da c #9f2d23", -"dV c #9f2e23", -"a5 c #9f2e24", -"bh c #9f2f25", -"bt c #9f2f26", -"cK c #9f3026", -"c1 c #9f3128", -"dr c #9f322a", -"cM c #9f332a", -"dh c #9f332b", -"dC c #9f3930", -"di c #9f3e36", -".T c #a02214", -"#f c #a02416", -"#K c #a02518", -"#C c #a02a1f", -"#D c #a02a20", -"#S c #a02b20", -"#9 c #a02c20", -"a. c #a02c21", -"an c #a02d22", -"do c #a02d23", -"aE c #a02e23", -"cs c #a02e24", -"cI c #a02f25", -"bT c #a03127", -"b5 c #a03128", -"cf c #a03229", -"dN c #a0322a", -"#4 c #a1281c", -"#m c #a1291d", -"#n c #a1291e", -"dw c #a12a1f", -"a4 c #a12d22", -"aD c #a12f22", -"db c #a12f24", -"bg c #a12f25", -"bs c #a13026", -"bF c #a13027", -"d. c #a1372d", -".t c #a22314", -"#v c #a22618", -".W c #a2271a", -"cR c #a2271b", -"#. c #a2281c", -"aw c #a2291c", -"c8 c #a22b20", -"aA c #a22d21", -"am c #a22d22", -"cp c #a22e23", -"cW c #a22e24", -"cG c #a22f24", -"cV c #a2362c", -"dK c #a23b32", -"d5 c #a23d35", -"c2 c #a23e36", -".G c #a32313", -".J c #a32518", -"cj c #a32618", -"#1 c #a3271a", -"ag c #a3281b", -"#Q c #a32b1f", -"#R c #a32c20", -"#8 c #a32c21", -"cE c #a32d21", -"c9 c #a3382e", -"ac c #a42212", -".5 c #a42313", -"#d c #a42415", -"#k c #a4291c", -"dm c #a4291d", -"## c #a42a1d", -"#A c #a42a1e", -"#B c #a42b1e", -"#5 c #a42b1f", -".q c #a52212", -"#g c #a52516", -"#h c #a52719", -"#w c #a5271a", -".9 c #a5281a", -".X c #a5281b", -".Y c #a5291b", -"#N c #a5291c", -"cu c #a53d34", -"cL c #a53e35", -".E c #a62212", -"as c #a62213", -".7 c #a62517", -".I c #a62617", -".V c #a62618", -".K c #a62718", -".L c #a62719", -"cD c #a6362b", -"dx c #a63b31", -".R c #a72212", -"#c c #a72414", -".H c #a72415", -".u c #a72516", -".U c #a72517", -"aB c #a7392f", -"dn c #a73a2f", -".3 c #a82211", -".p c #a82212", -".D c #a82312", -".4 c #a82313", -"#b c #a82314", -"#W c #a82414", -".M c #a8291b", -"c6 c #a8291c", -".Z c #a82a1d", -"#6 c #a8372c", -"#7 c #a8382d", -"ak c #a8382e", -"al c #a8392e", -".2 c #a92110", -".Q c #a92111", -".C c #a92211", -"aH c #a92413", -".v c #a92718", -"#I c #a92f20", -"#y c #a93529", -"#z c #a9362a", -"#O c #a9362b", -"#P c #a9372b", -"cm c #a9372c", -"aC c #a93f2f", -"#H c #aa2f20", -"af c #aa3326", -"au c #aa3327", -"#i c #aa3427", -"#j c #aa3428", -"#x c #aa3529", -".o c #ab2313", -".w c #ab2719", -"cz c #ab281a", -"#Z c #ab3224", -"#0 c #ab3225", -".8 c #ab3326", -".B c #ac2211", -"#r c #ac3021", -"#s c #ac3022", -"#J c #ac3123", -"cQ c #ad291b", -".N c #ad2a1b", -"dl c #ad2b1d", -"#V c #ae2212", -".n c #ae2312", -"ar c #af2413", -"av c #af3f33", -".A c #b12311", -".g c #b12615", -"bJ c #b12617", -"bW c #b12718", -".f c #b22514", -".1 c #b32310", -".m c #b32311", -".x c #b32a1a", -".h c #b42717", -"c5 c #b42c1d", -".e c #b52514", -"bj c #b52615", -"#q c #b62412", -"b8 c #b62819", -".P c #b92311", -".d c #ba2614", -"ci c #ba2b1a", -"ab c #bb2513", -".i c #bc2a18", -"a7 c #bd2716", -"#G c #be2512", -"a3 c #c1782e", -"ce c #c18138", -".z c #c32512", -".l c #c32613", -".c c #c32714", -"bE c #c49c3a", -"bD c #c59c39", -".j c #c62c1a", -"aG c #c72816", -"cy c #c72e1d", -"bC c #c79d37", -"aZ c #c89b30", -"bZ c #ca9e34", -"c# c #cb9d31", -"cb c #cba037", -"bX c #cc9d30", -"bN c #cc9f32", -"b9 c #cd8622", -"b0 c #cfa337", -"cc c #cfa338", -"b3 c #cfa53e", -"b4 c #cfa540", -".0 c #d02813", -"bz c #d0a131", -"bR c #d0a53d", -"bS c #d0a53f", -"bn c #d1a230", -"a0 c #d1a333", -"bY c #d1a436", -"ca c #d1a437", -"br c #d1a53c", -"aY c #d2a332", -"bO c #d2a435", -"bd c #d2a436", -"bf c #d2a539", -"cd c #d2aa48", -".b c #d32914", -"by c #d3a332", -"bM c #d3a433", -"a2 c #d3a638", -"be c #d3a63a", -"b2 c #d3aa47", -"aI c #d48d1d", -"a1 c #d4a637", -"b1 c #d4aa44", -"#a c #d52913", -"bA c #d5a533", -"bc c #d5a634", -"bm c #d5a82e", -"bQ c #d5ab43", -"bq c #d6a735", -"bP c #d6ab42", -"bb c #d7a734", -".O c #d82914", -"aX c #d8a733", -"bB c #d8ac40", -"aV c #d9a832", -"bo c #d9ab3e", -"aW c #d9ac32", -"bl c #daa82f", -"aU c #daac2f", -"bp c #daac3f", -"b. c #daae39", -"a9 c #dbac2e", -"ba c #dbad3e", -"b# c #dbaf3a", -"a8 c #dcad2d", -"c. c #dcb03b", -".k c #dd2a14", -"aq c #dd2d17", -"aP c #dda82a", -"aQ c #ddac2a", -"aT c #ddb03a", -"aO c #dead29", -"aR c #deb139", -"bK c #dfad36", -"aN c #dfae28", -"bL c #dfb036", -"bx c #dfb135", -"aS c #dfb445", -"aM c #e0ad25", -"bw c #e0b234", -"aL c #e1ae24", -"#p c #e22b15", -"bk c #e2b232", -"aK c #e3af22", -"aJ c #e4af21", -".y c #eb2d14", -".a c #ed2e17", -".# c #ee301a", -"bv c #ee321b", -"aa c #fa3118", -"#F c #fc3017", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.#QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.a.b.c.d.e.f.f.g.h.i.jQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.k.l.m.n.o.p.q.r.s.t.u.u.v.w.xQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQt.y.z.A.B.C.p.D.E.F.G.H.u.u.I.J.K.L.M.NQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQt.O.P.B.Q.C.p.R.E.S.T.H.u.U.I.V.L.L.W.X.Y.ZQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQt.0.1.2.Q.3.p.4.4.5.6.5.u.7.I.V.8.8.9.X.Y#.####QtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQt#a.A.2.C.p.p.4#b#c.H#d#e#f#g.V.L#h#i#j.Y#k#l#m#n#oQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQt#p#q.2.C.p.D.4#b#r#s.u.u#g#t#u#v#w.9.X#x#y#z#A#B#C#D#EQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQt#F#G.B.C.p.D.4#H#I.H#J#J.I.V.K#K#L#M.X#N#k###O#P#Q#R#S#T#UQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQt.b#V.3.p.4.4#W#X#Y#J.U#Z#0.L.L.9#1#2#3#4###A#5#6#7#8#9a.a#QtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtaaab.3.pacad#c.Hae.u.7#Z#0.8af.9.X.Yagahaiaj#5#Q#RakalamanaoapQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtaqar.R.4asat.H.u.u.I.V.V.8auav#j#N#k##awaxayaz#R#8aAaBaCaDaEaFQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtaGaHaIaJaJaKaLaLaMaNaNaOaPaQaRaSaTaUaVaWaXaYaZa0a1a1a2a3a4a5a6QtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQta7.4aJaKaKaLaLaMaNaNaOaQaQa8a9b.b#baaWaXbbbbbcbda1a2bebfbgbhbiQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtbj#caKaKaLbkaMaNaOaOaQa8a8a9blbmbnbobpbbbqbqa1a2a2bebrbrbsbtbuQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtbv.g.HaKaLaMaMbwbxaOaQa8a8a9aUaUaVbybzbAbBbBa1a2a2bCbDbDbEbFbGbHbIQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtbJ.uaLaMaNaNaObKbLa8a9a9aUaVaWaXbbbMbNbObPbQbQbebrbrbRbSbTbUbVQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtbW.uaMaNaNaOaQaQaRaTa9aUaVaWbXbbbbbqbYbZb0beb1b2bRbRb3b4b5b6b7QtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtb8.Ib9aOaOaQaQa8a9aTc.aVaWaXc#c#bqa1a1cacbccbrcdcdb3b4cecfcgchQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtci.Vcj.L.9.X.Yckcl###Ocm#Q#R#8cncocpcqcrcsctbhbFbTcucfcfcvcwcxQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtcycz#h.9.X.Y#k##cAcBcCcD#R#8cEamcFcFcGcHbgcIcJcKb5cfcLcMcNcOcPQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtcQ.9cR#N#k###A#BcScTcUcVa.amcpcWcXcYcZcZbFcKc0c1cfcMc2c3c4QtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtc5c6#N#k###A#B#Q#Rc7c8c9d.d#dadbdcddbsdeb5b5dfdgcMdhdidjdkQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtdldm#m#A#B#Q#R#RcncoamdndodpcsbsbsbTdqdqcfdrdsdhdtdudvQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQt###ndw#Q#R#8cEamcqcqcWdxbgbsbFbTb5cfdydrdhdhdzdAdBQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQt#C#C#S#8cEamcpcpcGbgdxdCdDdEb5cfcfdFdGdhdtdAdHdIQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtdJ#Sa.a.cpcWdbbgbscZdKdLdMcfdNcMdhdOdPdQdRdSQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtdTdUandodVbgbsbsbTdqdWcLdrcMcNdPdXdYdZQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtd0d1d2d3bhbhbGbUd4b6d5d6d7d8d9e.e#QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQteaebecbHededeecOefc4egehQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtbIeicPQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt"}; - -static char *szXpmWarning[]={ -"48 48 186 2", -"Qt c None", -"#a c #000000", -".6 c #010000", -".Q c #010100", -"ac c #020100", -".Z c #020200", -".5 c #030100", -"#b c #040300", -"#F c #050400", -".X c #070400", -"#z c #090700", -"aj c #090701", -"#H c #0a0800", -"#A c #0b0900", -".R c #0e0b00", -"#G c #100d01", -".Y c #130f00", -"#L c #130f01", -"#S c #151001", -".7 c #191300", -"#h c #1d1602", -"#s c #1e1702", -"#6 c #241c03", -"## c #251d02", -"#t c #251d03", -"#g c #271e02", -"#c c #292003", -".4 c #2c2303", -"#Y c #312604", -"ar c #312605", -"#I c #332704", -"#Q c #382c05", -"ai c #3c2e05", -"#m c #403104", -".S c #403105", -"#u c #413206", -"#i c #423305", -"#n c #453506", -"ab c #4b3a07", -"a3 c #4d100c", -"#l c #4e3d06", -"#R c #513f07", -"#M c #524007", -"aS c #571109", -"aT c #5d110b", -"aU c #60120b", -"#X c #675009", -"ad c #69520a", -"aL c #6a130b", -"aV c #6e150c", -"aM c #6f140b", -"#T c #71570a", -"aW c #73160e", -"a2 c #731711", -"ak c #745a0c", -"aN c #78150c", -"aH c #781812", -"#P c #7a1710", -".W c #7a6109", -"ag c #7b1912", -"as c #7c610c", -"aX c #801810", -"a1 c #801a13", -"a0 c #851b14", -"aO c #86180d", -"#D c #861910", -"aZ c #861b13", -"#3 c #871b12", -"aY c #881a11", -"#q c #891a11", -".i c #8a180c", -"aP c #8a190f", -"aK c #8b1c15", -"am c #8c1c14", -"#V c #8d1b12", -"#e c #8f1b10", -".L c #901a0f", -".C c #911a0f", -".s c #921a0e", -"aQ c #931b10", -"a. c #971e15", -"#K c #981d14", -"aR c #981f17", -"#w c #991d13", -"af c #991f16", -".m c #9a1c0f", -"#1 c #9a1f15", -".e c #9b1b0e", -"#O c #9b1e14", -"aJ c #9b1f17", -"#C c #9c1e13", -"al c #9c1f16", -".9 c #9d1e12", -"#2 c #9d1f15", -".U c #9e1d11", -"#N c #9e1e14", -".B c #9f1d10", -"#v c #9f1e13", -".r c #a01d0f", -"#d c #a01e12", -".d c #a11c0e", -".E c #a11d10", -".T c #a11d11", -"#y c #a21d0f", -".F c #a21d10", -".y c #a31c0e", -".q c #a31d0f", -".h c #a41c0e", -".u c #a61d0f", -".c c #a71d0e", -".a c #a91d0f", -"aG c #ab4216", -".l c #b14010", -".2 c #b21f10", -".g c #b31f0f", -"#4 c #b62111", -".x c #b72010", -".k c #b9200f", -"aw c #b95b13", -".I c #b9930e", -".N c #ba2010", -".o c #bb5b11", -"#j c #bd2111", -"#W c #bd9312", -"av c #bf2212", -"au c #bf6f16", -"#9 c #c16916", -"ax c #c16f14", -".p c #c26f12", -".P c #c39b0f", -"#7 c #c49813", -".D c #c56b12", -"aF c #c57e16", -"ay c #c77e14", -"#Z c #c79a14", -"#. c #c82312", -"ao c #c87e14", -"ae c #c98517", -".n c #ca2310", -"#0 c #cb8617", -"az c #cb8914", -"#5 c #cb9e13", -"#p c #cc8614", -"#B c #cc8615", -"aI c #cd2513", -".0 c #cd8713", -".K c #cf8812", -"aa c #cf8c12", -"#k c #d08c13", -".V c #d12412", -".O c #d18912", -".# c #d22411", -"a# c #d22614", -".A c #d28814", -"#E c #d42513", -".b c #d52511", -"at c #d7a816", -"#8 c #d7a81a", -"an c #d82715", -"aE c #d8a51c", -"#U c #d8a919", -"aD c #d8a91a", -"#r c #d92613", -"aC c #d9aa19", -"aA c #daaa16", -"#J c #daaa17", -".t c #db2612", -"#o c #dbaa16", -"aB c #dbab17", -"#f c #dc2613", -".8 c #dcab15", -".H c #dcae11", -".G c #de2612", -".J c #deac13", -"aq c #dfad13", -".w c #dfb112", -".f c #e02712", -".v c #e0ad11", -"ap c #e0ae14", -".3 c #e0b213", -".z c #e1ae12", -".1 c #e82814", -"#x c #ea2915", -".j c #ec2913", -"ah c #ec2a16", -".M c #ef2914", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.#.aQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.b.c.d.eQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.f.g.h.h.d.iQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.j.k.h.h.l.h.mQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.n.h.h.o.p.q.r.sQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.t.u.h.h.v.w.q.q.rQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.j.x.h.y.z.w.w.A.q.B.CQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.n.h.h.D.w.w.w.w.E.F.BQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.G.u.h.h.v.H.I.H.J.K.F.B.LQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.M.N.h.h.O.P.Q.R.S.J.J.F.T.UQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.V.h.h.h.w.W.X.Y.Z.J.J.0.T.U.LQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.1.2.h.h.3.w.4.5.6.7.J.J.8.T.T.9QtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt#..h.h.A.w.w###a#b#c.J.8.8.0#d.9#eQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt#f.u.h.q.w.w.w#g#a#h#i.8.8.8.8#d#d.9QtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt#j.h.h#k.w.w.J#l#a#m#n.8.8.8#o#p#d.9#qQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQt#r.u.h.q.w.w.w.J#s.Q#t#u.8.8#o#o#o#d#v#wQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQt#x.x.h#y.3.w.w.J.J#z.Q#A#t.8#o#o#o#o#B#v#C#DQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQt#E.h.q.A.w.w.J.J.J#F#G#H#I#o#o#o#o#J#J#v#v#KQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQt#x.x.q.q.w.w.J.J.J.J#F#L#b#M#o#o#o#J#J#J#B#N#O#PQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQt#E.q.q#k.w.J.J.J.J.8#Q#R#S#T#o#o#J#J#J#J#U#N#N#VQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQt#x.x.q.q.w.J.J.J.J.8.8#W#X#Y#Z#o#o#J#J#J#U#U#0#N#1QtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQt#E.q.q#k.w.J.J.J.8.8.8.8#o#o#o#o#J#J#J#J#U#U#U#2#1#3QtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQt#x#4.q.q.w.J.J.J.8.8.8.8#5#t#6#7#J#J#J#J#U#U#U#8#9#2a.QtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQta#.q.qaa.J.J.J.J.8.8.8#oabacacad#J#J#J#U#U#U#U#8ae#2afagQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtah#4.q.q.J.J.J.J.8.8.8.8#oai#bajak#J#J#U#U#U#U#8#8#8#2alamQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtan.q.qaoapaq.J.8.8.8.8#o#o#Warasat#J#U#U#U#U#8#8#8#8aualafQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtav.q.F.F.F.F.T.T.TawaxayazaAaBaBaBaCaCaCaCaDaDaDaDaEaFaGafaHQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtaI.q.r.F.F.F.T.T.T.T#d#d#d#d#v#v#v#v#N#N#N#2#2#2#2alalalalaJaKQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtaLaMaNaOaPaQ.U.9#d#d#d#v#v#v#v#N#N#N#2#2#2#2alalalalaJaJaRQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtaSaTaUaVaWaWaWaXaYaYaYaY#3#3#3aZaZaZaZa0a0a1a2a3QtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt"}; - -static char *szXpmQuestion[]={ -"48 48 73 2", -"Qt c None", -".# c #000000", -".Z c #19150d", -"#b c #1a1a1a", -"#d c #221c12", -"#c c #393939", -".G c #654f24", -".T c #6b5527", -".q c #6e5526", -"#g c #705627", -".N c #715929", -"## c #735f3b", -".f c #7c622d", -".3 c #7f6941", -".A c #80632d", -".F c #82662f", -".0 c #876a31", -".K c #8c6d31", -".y c #927335", -"#. c #927c52", -".t c #937435", -".x c #947536", -".4 c #977737", -".S c #997a3b", -".d c #9d7d3a", -".a c #a27f3b", -".C c #a38e55", -".D c #a48b5a", -".e c #a6823c", -"#a c #a68748", -".s c #a8843d", -".u c #aa863e", -".P c #b38d40", -".b c #b89243", -".O c #b99344", -".I c #be9544", -".j c #be9b53", -".7 c #bea272", -".w c #bea363", -".Y c #bfa16a", -".8 c #c09745", -".U c #c39f55", -".B c #c39f57", -".J c #c3a466", -".2 c #c6a76a", -".1 c #c9a45b", -".X c #c9ac73", -"#f c #d2a64c", -".E c #d2a64d", -".L c #d2b06c", -".c c #d8ab4e", -".R c #d8ac58", -".6 c #d8ac5b", -".p c #d8b15f", -".9 c #d8b163", -".5 c #d8b165", -".Q c #d8b56e", -".v c #d8b66e", -".i c #d8ba7b", -".M c #d8be86", -".W c #dab872", -".H c #dcb463", -".V c #dcc494", -"#e c #ddbc74", -".k c #f7c35a", -".z c #f7c96d", -".o c #f7cf7e", -".n c #f7d48c", -".g c #f7d899", -".r c #f7dca5", -".l c #f7dfaf", -".h c #f7e2b8", -".m c #f7e5c0", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.#.#.#.#.#.#.#.#QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.#.#.#.a.b.c.d.e.f.#.#.#QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.#.#.c.g.g.h.g.i.i.i.j.e.#QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.#.#.k.l.m.g.n.k.k.k.o.i.p.e.q.#.#QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.#.k.l.r.k.s.t.t.u.k.k.o.v.p.e.#.#QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQt.#.w.g.h.k.x.#.#.#.#.y.k.k.z.p.p.A.#.#QtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQt.#.z.m.o.x.#.#QtQtQt.#.B.k.o.c.p.e.#.#QtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQt.#.C.n.l.c.#.#QtQtQtQt.#.D.k.z.p.c.e.#.#QtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQt.#.E.o.k.e.#.#QtQtQtQt.#.D.z.z.v.c.F.#.#QtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQt.#.k.o.k.e.#.#QtQtQtQt.#.D.k.v.v.c.G.#.#QtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQt.#.H.p.I.F.#.#QtQtQtQt.#.J.z.i.c.e.#.#.#QtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQt.#.#.#.#.#.#.#QtQtQtQt.K.L.M.p.c.N.#.#QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQt.#.#.#.#.#QtQtQtQt.#.O.n.M.c.I.#.#.#QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.#.P.z.M.c.c.#.#.#QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.#.#.k.n.Q.R.S.#.#QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.T.U.V.W.X.Y.Z.#QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.#.0.L.Q.1.2.3.#QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.#.4.i.5.6.7.#.#QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.#.8.i.9.6#..#QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.#.c.M.p.c##.#QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.#.j.i.c.I.#.#QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.##a#a.e.A.#.#QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.##b#c.#.#.#QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.#.#.#.#QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt#d.#.#.#.#QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.##e.o.n.I.#.#QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.#.o.g.g.c.#.#QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.#.n.n.p.I.#.#QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.#.n.v.c.I.#.#QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.##f.p.I#g.#.#QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.#.#.#.#.#.#QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.#.#.#.#QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt"}; - -static char *szXpmMessage[]={ -"48 48 294 2", -"Qt c None", -"bV c #000000", -"cH c #010101", -"bt c #050504", -"bW c #080807", -"cB c #090908", -"cC c #0b0b09", -"cJ c #0c0c0b", -"bL c #0d0d0a", -"b7 c #0f0f0e", -"cv c #10100e", -"cr c #12120f", -"bb c #121211", -"bG c #131311", -"cA c #141411", -"ca c #141412", -"cq c #161613", -"bu c #161614", -"cI c #1a1a17", -"bq c #1d1d16", -"cx c #20201c", -"cw c #21211d", -"bC c #23231f", -"cs c #2c2c2a", -"bR c #2f2f29", -"cF c #30302f", -"cD c #31312b", -"cE c #33332f", -"ck c #333331", -"bk c #35352e", -"bc c #383526", -"cy c #383837", -"bF c #3d3d35", -"b3 c #42423a", -"co c #434342", -"cj c #44443b", -"cg c #464644", -"bS c #474742", -"b6 c #4b4b44", -"bB c #4d4c47", -"cG c #4e4e45", -"b2 c #4f4f4e", -"bM c #525248", -"cf c #525249", -"bv c #55554e", -"cp c #56564f", -"bA c #585851", -"be c #5a594c", -"bK c #5c5c5b", -"bd c #5f5e59", -"bp c #696964", -"c# c #696968", -"cu c #6b6b6a", -"ci c #6d6d6d", -"c. c #6f6f6f", -"b1 c #70706b", -"bT c #71716f", -"cz c #737373", -"cb c #75756c", -"bU c #757571", -"bJ c #7b7b7a", -"ch c #7f7f7b", -"bw c #8d8d85", -"bH c #8d8d87", -"b8 c #92928d", -"b9 c #929292", -"bX c #96968e", -"bl c #9d9d99", -"ct c #9e9e9a", -"bs c #a99959", -"bf c #a9a077", -"bE c #a9a9a4", -"af c #ab9b5b", -"b5 c #aeaea9", -"br c #b3a05e", -"cl c #b3b3b0", -"b0 c #b3b3b1", -"bm c #b4b4b2", -"aH c #b9a964", -"ce c #b9b9b1", -"bj c #baa864", -"b4 c #bcbcb9", -"#o c #c1ae67", -"bI c #c3c3c1", -"cc c #c3c3c2", -"#2 c #c4b269", -"aU c #c4b36b", -"#A c #c6b36a", -"bD c #c7c7c5", -"a5 c #c9b76d", -"ba c #cab871", -"bz c #cacac4", -"#N c #ccb96e", -"at c #cdbc70", -"bQ c #cfcfc8", -"cn c #cfcfce", -".Z c #d1bc70", -"a4 c #d1bf73", -"a3 c #d1c076", -"bx c #d4d4d1", -"bN c #d7d7d3", -"aG c #d9c577", -"ae c #d9c677", -"b# c #d9c679", -"aT c #dac777", -"aS c #dac87e", -"bo c #dadad8", -"bh c #dbc77c", -"#a c #dbc878", -"bi c #dbc97c", -"aF c #dbc97e", -"a2 c #dccb84", -".L c #dfcb80", -"bY c #dfdfde", -".m c #e2cd7f", -"b. c #e3d186", -"#n c #e4d07e", -"as c #e4d07f", -"#1 c #e4d17e", -".y c #e5d187", -"aE c #e5d48d", -"#z c #e6d27e", -"aR c #e6d68c", -"bg c #e7d180", -"#M c #e7d480", -".Y c #e8d68b", -"aQ c #e9da96", -"ar c #eada91", -".l c #ebdb99", -".d c #ecd78c", -"a# c #ede7ba", -".0 c #eed681", -"a1 c #eedb8b", -"#p c #efd881", -"#b c #efd882", -".n c #efd986", -".o c #efda8e", -"ad c #efdc8b", -".# c #efdd8f", -".K c #efdd92", -".x c #efdd93", -"bn c #efefee", -"cm c #efefef", -"aD c #f0df92", -"cd c #f0f0f0", -"ag c #f1dc86", -"a7 c #f1dfa1", -"## c #f1e08e", -"aP c #f1e195", -"aC c #f1e19b", -"ap c #f1e3a4", -"az c #f1e6ad", -"#3 c #f2dc8a", -"#0 c #f2e090", -"#L c #f2e093", -"a9 c #f2e097", -"aa c #f2e29a", -"aB c #f2e4a1", -"aV c #f3de87", -".M c #f3df8d", -".c c #f3e093", -"#m c #f3e290", -"#y c #f3e295", -"aO c #f3e296", -"a8 c #f3e3a7", -"aN c #f3e4a1", -"#X c #f3e6a3", -"a0 c #f3e6ad", -"ao c #f3e7ad", -"aY c #f3eac1", -".z c #f4de87", -".b c #f4e191", -".a c #f4e298", -"aq c #f4e395", -"aA c #f4e49d", -"#w c #f4e5a0", -".A c #f4e7b2", -"a6 c #f4e7bb", -"aZ c #f4e9c1", -"aM c #f4e9c4", -"#G c #f4eac9", -"#W c #f4eaca", -".e c #f5e190", -".1 c #f5e293", -".X c #f5e391", -"ac c #f5e393", -".k c #f5e49c", -"#I c #f5e7a2", -"a. c #f5e7b2", -"#v c #f5e9c2", -".J c #f6e38f", -"#Z c #f6e493", -"#O c #f6e496", -"#q c #f6e498", -"#c c #f6e499", -"ab c #f6e591", -"#Y c #f6e593", -"#K c #f6e59b", -"ah c #f6e59d", -"#J c #f6e697", -"#l c #f6e6a0", -"an c #f6e7a7", -"#k c #f6ebbe", -"by c #f6f6f6", -".w c #f7e493", -"#. c #f7e58f", -".9 c #f7e691", -"#x c #f7e695", -".N c #f7e69f", -".8 c #f7e7a0", -".f c #f7e7a5", -"#4 c #f7e8a6", -"au c #f7e8a7", -"#P c #f7eaaf", -"#H c #f7ebb1", -".7 c #f7eec3", -"ay c #f7eed9", -"#u c #f7efd0", -"aL c #f7efd8", -"bP c #f7f7f7", -".W c #f8e691", -".I c #f8e791", -".v c #f8e793", -".i c #f8e795", -".j c #f8e796", -".2 c #f8e8a9", -".g c #f8eaae", -".p c #f8eaaf", -"aW c #f8ebb1", -"#V c #f8ecb8", -"am c #f8ecb9", -"#d c #f8edba", -".O c #f8efcf", -"#6 c #f8f1db", -"aK c #f8f1dc", -"#j c #f8f2db", -"#t c #f8f2de", -".V c #f9e89b", -".u c #f9e89e", -".H c #f9e99b", -".h c #f9e9a7", -"aI c #f9ebb1", -"#8 c #f9efcb", -".q c #f9f0c7", -"#h c #f9f1db", -"aX c #f9f2db", -"#F c #f9f4e0", -".Q c #f9f4e2", -"#i c #f9f4e3", -"ak c #f9f4e5", -"ax c #f9f4e6", -"#7 c #f9f4e7", -".B c #f9f5e3", -".5 c #f9f5e4", -"#s c #f9f5e5", -".6 c #f9f5e6", -"#D c #f9f6e5", -"#R c #f9f6e7", -"#E c #f9f6ea", -".t c #faeaa6", -"#9 c #faecaf", -".U c #faedb7", -"#U c #faeebb", -"av c #faf2d2", -"ai c #faf2d3", -".s c #faf3d0", -".G c #faf3da", -"aJ c #faf3db", -"al c #faf3e5", -"#5 c #faf4d9", -".3 c #faf4e1", -".r c #faf5de", -"#e c #faf5e4", -".P c #faf5e5", -"#g c #faf5e6", -".S c #faf5e7", -"#S c #faf5e8", -".C c #faf6e6", -".4 c #faf6e7", -"#r c #faf6e8", -".T c #faf6e9", -"aw c #faf7ea", -"#C c #faf7eb", -".F c #faf8ec", -"#f c #fbf5e6", -".R c #fbf6e7", -"aj c #fbf7ea", -"#Q c #fbf7ec", -"#T c #fbf7ed", -".D c #fbf8ed", -"#B c #fbf8ee", -".E c #fbf9ef", -"bZ c #fbfbfb", -"bO c #fdfdfd", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.#.a.b.c.dQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.e.f.g.h.i.j.k.l.mQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.n.o.p.q.r.s.t.u.v.w.x.yQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.z.A.B.C.D.E.F.G.H.I.J.K.LQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.M.N.O.P.Q.R.S.T.C.U.V.W.X.Y.ZQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.0.1.2.3.4.Q.5.Q.6.S.7.8.9#.###aQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt#b#c#d#e.P#f#g#h#i#j#k#l.W.W#m#n#oQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt#p#q#d.5#r#r#s.Q#t#u#v#w#x#x#y#z#AQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt#p.1#d.S#B#C#D#E#F#G#H#I#J#K#L#M#NQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt#O#P.P#Q#R#S#T#U#V#W#X#Y#Z#0#1#2QtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt#3#4#5#B#6#7#8#9a.a#aaabacadaeafQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtagahaiajakalamanaoapaq.XarasatQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtauavawaxayazaAaBaCaDaEaFaGaHQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtaIaJaKaLaMaNaOaPaQaRaSaTaUQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtaVaWaXaYaZa0aC.#a1a2a3a4a5QtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQta6a7a8a9.#b.b#baQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtbbbcbdbebfQtbgbhbibjQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtbkblbmbnbobpbqQtQtbrbsQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtbtbubvbwbxbybzbAbBQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtbCbDbEbFbGbHbIbJbKbLQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtbMbNbObPbQbRbSbTbUQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtbVbWbRbXbYbZb0b1b2b3QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtbVb4b5b6b7b8b9c.c#caQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtbVcbcccdcdcecfcgchciQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtbVbVcjckclcmcnc#cocpQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtbVcqcrbRcsctc.cubVQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtbVbVcvcwcxcyc#czbVQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtcAcBcqbGcCcDcEcFQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtcGcHcAcIcJQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", -"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt"}; diff --git a/geda/src/msgbox.h b/geda/src/msgbox.h deleted file mode 100644 index 613a98fdb..000000000 --- a/geda/src/msgbox.h +++ /dev/null @@ -1,73 +0,0 @@ -/*******************************************************************************/ -/* */ -/* Message box */ -/* Copyright (C) 2002 Piotr Miarecki, sp9rve@eter.ariadna.pl */ -/* */ -/* 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 version 2. */ -/* */ -/* This program is distributed in the hope that it will be useful, */ -/* but WITHOUT ANY WARRANTY; without even the implied warranty of */ -/* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the */ -/* GNU General Public License for more details. */ -/* */ -/* You should have received a copy of the GNU General Public License */ -/* along with this program; if not, write to the Free Software */ -/* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ -/* */ -/*******************************************************************************/ - -#ifndef __MSGBOX_H_INCLUDED -#define __MSGBOX_H_INCLUDED - - - -/* - MsgBox predefined types -*/ - -/* single buttons */ -#define MSGBOX_OK 0x00000001 -#define MSGBOX_CANCEL 0x00000002 -#define MSGBOX_YES 0x00000004 -#define MSGBOX_NO 0x00000008 -#define MSGBOX_ALWAYSOK 0x00000010 -#define MSGBOX_ALWAYSCANCEL 0x00000020 -#define MSGBOX_ALWAYSYES 0x00000040 -#define MSGBOX_ALWAYSNO 0x00000080 -#define MSGBOX_WAIT 0x00008000 -#define MSGBOX__LAST 0x00008000 - -/* single default buttons */ -#define MSGBOX_OKD 0x80000001 -#define MSGBOX_CANCELD 0x81000002 -#define MSGBOX_YESD 0x82000004 -#define MSGBOX_NOD 0x83000008 -#define MSGBOX_ALWAYSOKD 0x84000010 -#define MSGBOX_ALWAYSCANCELD 0x85000020 -#define MSGBOX_ALWAYSYESD 0x86000040 -#define MSGBOX_ALWAYSNOD 0x87000080 - -/* msg box status */ -#define MSGBOX_QUESTION 0x00010000 -#define MSGBOX_MESSAGE 0x00020000 -#define MSGBOX_WARNING 0x00040000 -#define MSGBOX_ERROR 0x00080000 -#define MSGBOX_FATAL 0x00100000 -#define MSGBOX_STATUSMASK 0x00FF0000 - -/* groups of buttons (for compatibility) */ -#define MSGBOX_OKCANCEL (MSGBOX_OK | MSGBOX_CANCEL) -#define MSGBOX_YESNOCANCEL (MSGBOX_YES | MSGBOX_NO | MSGBOX_CANCEL) -#define MSGBOX_ALWAYSYESNO (MSGBOX_YES | MSGBOX_ALWAYSYES | MSGBOX_NO | MSGBOX_ALWAYSNO) - - - -/* public functions */ -int MsgBox(const GtkWindow *pWindow, const char *szTitle, const char *szLabel, const unsigned long dwButtons); -void MsgBoxDestroy(void); - - - -#endif diff --git a/geda/src/project.c b/geda/src/project.c deleted file mode 100644 index 3638b265d..000000000 --- a/geda/src/project.c +++ /dev/null @@ -1,386 +0,0 @@ -/* $Id$ */ - -/*******************************************************************************/ -/* */ -/* gEDA Suite Project Manager */ -/* */ -/* Copyright (C) 2002 Piotr Miarecki, sp9rve@eter.ariadna.pl */ -/* */ -/* 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 version 2. */ -/* */ -/* This program is distributed in the hope that it will be useful, */ -/* but WITHOUT ANY WARRANTY; without even the implied warranty of */ -/* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the */ -/* GNU General Public License for more details. */ -/* */ -/* You should have received a copy of the GNU General Public License */ -/* along with this program; if not, write to the Free Software */ -/* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ -/* */ -/*******************************************************************************/ - -#ifdef HAVE_CONFIG_H -#include "config.h" -#endif - -#include - -#ifdef HAVE_STRING_H -#include -#endif - -#ifdef HAVE_UNISTD_H -#include -#endif - -#include "doc.h" -#include "filetool.h" -#include "global.h" -#include "m_action.h" -#include "msgbox.h" -#include "project.h" -#include "support.h" - - - -/******************************************************************************* - - Private functions and variables - -*******************************************************************************/ - -#define PROJECT_EXT "prj" - -struct Project_s Project; - - - -/******************************************************************************* - - Project initialize - -*******************************************************************************/ - -void ProjectInitialize(void) -{ - strcpy(Project.szName, ""); - strcpy(Project.szExt, ""); - strcpy(Project.szDir, ""); - ProjectWidgetsHide(); -} - - - -/******************************************************************************* - - Project new - -*******************************************************************************/ - -void ProjectNew(const char *szPath) -{ - int iResult; - char *pPath; - - chdir(pDefaultProjectDir); - - pPath = (char *) malloc(strlen(szPath) + strlen(PROJECT_EXT) + strlen(FileGetName(szPath) + 3)); - if (pPath == NULL) - return; - strcpy(pPath, szPath); - - if (strcmp(FileGetExt(pPath), PROJECT_EXT) != 0) - { - strcat(pPath, "."); - strcat(pPath, PROJECT_EXT); - } - - iResult = FileIsExisting(pPath); - if (iResult == SUCCESS) - { - iResult = MsgBox( - pWindowMain, - _("Question..."), - _("Project already exists. Overwrite?"), - MSGBOX_QUESTION | MSGBOX_YES | MSGBOX_NOD | MSGBOX_CANCEL - ); - if (iResult != MSGBOX_YES) - goto PROJECT_MENU_EXIT; - } - - strcpy(Project.szName, FileGetName(pPath)); - strcpy(Project.szExt, FileGetExt(pPath)); - strcpy(Project.szDir, FileGetDir(pPath)); - chdir(Project.szDir); - - /* make project active */ - ProjectWidgetsShow(); - ProjectSave(); - ProjectTitle(); - -PROJECT_MENU_EXIT: - - free(pPath); -} - - - -/******************************************************************************* - - Project open - -*******************************************************************************/ - -void ProjectOpen(const char *szPath) -{ - int iResult; - - chdir(pDefaultProjectDir); - - /* this functions fail if the szPath is a directory */ - /* lets do an extra file test */ - if (g_file_test(szPath,G_FILE_TEST_IS_REGULAR)) { - strcpy(Project.szName, FileGetName(szPath)); - strcpy(Project.szExt, FileGetExt(szPath)); - strcpy(Project.szDir, FileGetDir(szPath)); - - chdir(Project.szDir); - - iResult = DocLoad(szPath); - } - else { - iResult = FAILURE; - } - - if (iResult != SUCCESS) - { - MsgBox( - pWindowMain, - _("Error!"), - _("Cannot load project!"), - MSGBOX_ERROR | MSGBOX_OKD - ); - return; - } - - /* make project active */ - ProjectWidgetsShow(); - ProjectTitle(); -} - - - -/******************************************************************************* - - Project save - -*******************************************************************************/ - -int ProjectSave(void) -{ - int iResult; - char szFileName[TEXTLEN]; - - if (strlen(Project.szName) == 0) - FatalError(__FILE__, __LINE__, __DATE__); - - - strcpy(szFileName, Project.szDir); - strcat(szFileName, G_DIR_SEPARATOR_S); - strcat(szFileName, Project.szName); - strcat(szFileName, "."); - strcat(szFileName, Project.szExt); - - iResult = DocSave(szFileName); - if (iResult != SUCCESS) - { - MsgBox( - pWindowMain, - _("Error!"), - _("Cannot save project!"), - MSGBOX_ERROR | MSGBOX_OKD - ); - return FAILURE; - } - - - return SUCCESS; -} - - - -/******************************************************************************* - - Show / Hide widgets used only when a project is opened / closed - -*******************************************************************************/ - -void ProjectWidgetsHide(void) -{ - GtkWidget *pWidget; - - /* do menu positions not sensitive */ - pWidget = lookup_widget(GTK_WIDGET(pWindowMain), "MenuProjectNew"); - if (pWidget == NULL) - /**/; - gtk_widget_set_sensitive(pWidget, TRUE); - pWidget = lookup_widget(GTK_WIDGET(pWindowMain), "MenuProjectOpen"); - if (pWidget == NULL) - /**/; - gtk_widget_set_sensitive(pWidget, TRUE); - pWidget = lookup_widget(GTK_WIDGET(pWindowMain), "MenuProjectProperties"); - if (pWidget == NULL) - /**/; - gtk_widget_set_sensitive(pWidget, FALSE); - pWidget = lookup_widget(GTK_WIDGET(pWindowMain), "MenuProjectClose"); - if (pWidget == NULL) - /**/; - gtk_widget_set_sensitive(pWidget, FALSE); - pWidget = lookup_widget(GTK_WIDGET(pWindowMain), "MenuFile"); - if (pWidget == NULL) - /**/; - gtk_widget_set_sensitive(pWidget, FALSE); - pWidget = lookup_widget(GTK_WIDGET(pWindowMain), "MenuAction"); - if (pWidget == NULL) - /**/; - gtk_widget_set_sensitive(pWidget, FALSE); - pWidget = lookup_widget(GTK_WIDGET(pWindowMain), "MenuTool"); - if (pWidget == NULL) - /**/; - gtk_widget_set_sensitive(pWidget, FALSE); - pWidget = lookup_widget(GTK_WIDGET(pWindowMain), "MenuWindow"); - if (pWidget == NULL) - /**/; - gtk_widget_set_sensitive(pWidget, FALSE); - - /* hide window fields */ - pWidget = lookup_widget(GTK_WIDGET(pWindowMain), "ProjectArea"); - if (pWidget == NULL) - /**/; - gtk_widget_set_sensitive(pWidget, FALSE); -// pWidget = lookup_widget(GTK_WIDGET(pWindowMain), "DocArea"); -// if (pWidget == NULL) -// /**/; -// gtk_widget_set_sensitive(pWidget, FALSE); - pWidget = lookup_widget(GTK_WIDGET(pWindowMain), "StatusArea"); - if (pWidget == NULL) - /**/; - gtk_widget_set_sensitive(pWidget, FALSE); -} - - -void ProjectWidgetsShow(void) -{ - GtkWidget *pWidget; - - /* do menu positions sensitive */ - pWidget = lookup_widget(GTK_WIDGET(pWindowMain), "MenuProjectNew"); - if (pWidget == NULL) - /**/; - gtk_widget_set_sensitive(pWidget, FALSE); - pWidget = lookup_widget(GTK_WIDGET(pWindowMain), "MenuProjectOpen"); - if (pWidget == NULL) - /**/; - gtk_widget_set_sensitive(pWidget, FALSE); - pWidget = lookup_widget(GTK_WIDGET(pWindowMain), "MenuProjectProperties"); - if (pWidget == NULL) - /**/; - gtk_widget_set_sensitive(pWidget, TRUE); - pWidget = lookup_widget(GTK_WIDGET(pWindowMain), "MenuProjectClose"); - if (pWidget == NULL) - /**/; - gtk_widget_set_sensitive(pWidget, TRUE); - pWidget = lookup_widget(GTK_WIDGET(pWindowMain), "MenuFile"); - if (pWidget == NULL) - /**/; - gtk_widget_set_sensitive(pWidget, TRUE); - pWidget = lookup_widget(GTK_WIDGET(pWindowMain), "MenuAction"); - if (pWidget == NULL) - /**/; - gtk_widget_set_sensitive(pWidget, TRUE); - MenuActionRefresh(""); - pWidget = lookup_widget(GTK_WIDGET(pWindowMain), "MenuTool"); - if (pWidget == NULL) - /**/; - gtk_widget_set_sensitive(pWidget, TRUE); - pWidget = lookup_widget(GTK_WIDGET(pWindowMain), "MenuWindow"); - if (pWidget == NULL) - /**/; - gtk_widget_set_sensitive(pWidget, TRUE); - - /* show window fields */ - pWidget = lookup_widget(GTK_WIDGET(pWindowMain), "ProjectArea"); - if (pWidget == NULL) - /**/; - gtk_widget_set_sensitive(pWidget, TRUE); -// pWidget = lookup_widget(GTK_WIDGET(pWindowMain), "DocArea"); -// if (pWidget == NULL) -// /**/; -// gtk_widget_set_sensitive(pWidget, TRUE); - pWidget = lookup_widget(GTK_WIDGET(pWindowMain), "StatusArea"); - if (pWidget == NULL) - /**/; - gtk_widget_set_sensitive(pWidget, TRUE); -} - - - -/******************************************************************************* - - Show window title bar - -*******************************************************************************/ - -void ProjectTitle(void) -{ - int iResult, bChanged; - char szTitle[TEXTLEN], szFileName[TEXTLEN]; - - /* add software name to title bar */ - strcpy(szTitle, GEDA_TITLE); - - /* add project name to title bar */ - if (strlen(Project.szName) > 0) - { - strcat(szTitle, " - "); - strcat(szTitle, Project.szName); - strcat(szTitle, "."); - strcat(szTitle, Project.szExt); - if (Project.bChanged) - strcat(szTitle, " *"); - } - - /* add current file name to title bar */ - iResult = DocGetProperty(DOC_SELECTED, NULL, (void *) szFileName); - if (iResult == SUCCESS && strlen(szFileName) > 0) - { - strcat(szTitle, " ("); - strcat(szTitle, szFileName); - DocGetProperty(DOC_CHANGED, szFileName, (void *) &bChanged); - if (bChanged) - strcat(szTitle, " *"); - strcat(szTitle, ")"); - } - - gtk_window_set_title(pWindowMain, szTitle); -} - - - -/******************************************************************************* - - Actions taken if project is changed - (a file is added or removed, etc.) - -*******************************************************************************/ - -void ProjectChanged(BOOL bValue) -{ - if (bValue != TRUE && bValue !=FALSE) - return; - - Project.bChanged = bValue; - ProjectTitle(); -} diff --git a/geda/src/project.h b/geda/src/project.h deleted file mode 100644 index ea3c671ff..000000000 --- a/geda/src/project.h +++ /dev/null @@ -1,65 +0,0 @@ -/*******************************************************************************/ -/* */ -/* gEDA Suite Project Manager */ -/* */ -/* Copyright (C) 2002 Piotr Miarecki, sp9rve@eter.ariadna.pl */ -/* */ -/* 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 version 2. */ -/* */ -/* This program is distributed in the hope that it will be useful, */ -/* but WITHOUT ANY WARRANTY; without even the implied warranty of */ -/* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the */ -/* GNU General Public License for more details. */ -/* */ -/* You should have received a copy of the GNU General Public License */ -/* along with this program; if not, write to the Free Software */ -/* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ -/* */ -/*******************************************************************************/ - -#ifndef __PROJECT_H_INCLUDED -#define __PROJECT_H_INCLUDED - - - -/******************************************************************************* - - Project description structure - -*******************************************************************************/ - -struct Project_s -{ - char szName[TEXTLEN]; - char szExt[TEXTLEN]; - char szDir[TEXTLEN]; - char szAuthor[TEXTLEN]; - char szDesc[TEXTLEN]; - int bChanged; -}; - -extern struct Project_s Project; - - - -/******************************************************************************* - - Public functions and variables - -*******************************************************************************/ - -void ProjectInitialize(void); -void ProjectNew(const char *szPath); -void ProjectOpen(const char *szPath); -int ProjectSave(void); - -void ProjectWidgetsShow(void); -void ProjectWidgetsHide(void); -void ProjectTitle(void); -void ProjectChanged(BOOL bValue); - - - -#endif /* __PROJECT_H_INCLUDED */ diff --git a/geda/src/support.c b/geda/src/support.c deleted file mode 100644 index 1b26ac016..000000000 --- a/geda/src/support.c +++ /dev/null @@ -1,162 +0,0 @@ -/* - * DO NOT EDIT THIS FILE - it is generated by Glade. - */ - -#ifdef HAVE_CONFIG_H -#include "../config.h" -#endif - -#include -#include -#include -#include - -#include - -#include "support.h" - -/* This is an internally used function to check if a pixmap file exists. */ -static gchar* check_file_exists (const gchar *directory, - const gchar *filename); - -/* This is an internally used function to create pixmaps. */ -static GtkWidget* create_dummy_pixmap (GtkWidget *widget); - -GtkWidget* -lookup_widget (GtkWidget *widget, - const gchar *widget_name) -{ - GtkWidget *parent, *found_widget; - - for (;;) - { - if (GTK_IS_MENU (widget)) - parent = gtk_menu_get_attach_widget (GTK_MENU (widget)); - else - parent = widget->parent; - if (parent == NULL) - break; - widget = parent; - } - - found_widget = (GtkWidget*) gtk_object_get_data (GTK_OBJECT (widget), - widget_name); - if (!found_widget) - g_warning ("Widget not found: %s", widget_name); - return found_widget; -} - -/* This is a dummy pixmap we use when a pixmap can't be found. */ -static char *dummy_pixmap_xpm[] = { -/* columns rows colors chars-per-pixel */ -"1 1 1 1", -" c None", -/* pixels */ -" " -}; - -/* This is an internally used function to create pixmaps. */ -static GtkWidget* -create_dummy_pixmap (GtkWidget *widget) -{ - GdkColormap *colormap; - GdkPixmap *gdkpixmap; - GdkBitmap *mask; - GtkWidget *pixmap; - - colormap = gtk_widget_get_colormap (widget); - gdkpixmap = gdk_pixmap_colormap_create_from_xpm_d (NULL, colormap, &mask, - NULL, dummy_pixmap_xpm); - if (gdkpixmap == NULL) - g_error ("Couldn't create replacement pixmap."); - pixmap = gtk_pixmap_new (gdkpixmap, mask); - gdk_pixmap_unref (gdkpixmap); - gdk_bitmap_unref (mask); - return pixmap; -} - -static GList *pixmaps_directories = NULL; - -/* Use this function to set the directory containing installed pixmaps. */ -void -add_pixmap_directory (const gchar *directory) -{ - pixmaps_directories = g_list_prepend (pixmaps_directories, - g_strdup (directory)); -} - -/* This is an internally used function to create pixmaps. */ -GtkWidget* -create_pixmap (GtkWidget *widget, - const gchar *filename) -{ - gchar *found_filename = NULL; - GdkColormap *colormap; - GdkPixmap *gdkpixmap; - GdkBitmap *mask; - GtkWidget *pixmap; - GList *elem; - - if (!filename || !filename[0]) - return create_dummy_pixmap (widget); - - /* We first try any pixmaps directories set by the application. */ - elem = pixmaps_directories; - while (elem) - { - found_filename = check_file_exists ((gchar*)elem->data, filename); - if (found_filename) - break; - elem = elem->next; - } - - /* If we haven't found the pixmap, try the source directory. */ - if (!found_filename) - { - found_filename = check_file_exists ("../pixmaps", filename); - } - - if (!found_filename) - { - g_warning (_("Couldn't find pixmap file: %s"), filename); - return create_dummy_pixmap (widget); - } - - colormap = gtk_widget_get_colormap (widget); - gdkpixmap = gdk_pixmap_colormap_create_from_xpm (NULL, colormap, &mask, - NULL, found_filename); - if (gdkpixmap == NULL) - { - g_warning (_("Error loading pixmap file: %s"), found_filename); - g_free (found_filename); - return create_dummy_pixmap (widget); - } - g_free (found_filename); - pixmap = gtk_pixmap_new (gdkpixmap, mask); - gdk_pixmap_unref (gdkpixmap); - gdk_bitmap_unref (mask); - return pixmap; -} - -/* This is an internally used function to check if a pixmap file exists. */ -static gchar* -check_file_exists (const gchar *directory, - const gchar *filename) -{ - gchar *full_filename; - struct stat s; - gint status; - - full_filename = (gchar*) g_malloc (strlen (directory) + 1 - + strlen (filename) + 1); - strcpy (full_filename, directory); - strcat (full_filename, G_DIR_SEPARATOR_S); - strcat (full_filename, filename); - - status = stat (full_filename, &s); - if (status == 0 && S_ISREG (s.st_mode)) - return full_filename; - g_free (full_filename); - return NULL; -} - diff --git a/geda/src/support.h b/geda/src/support.h deleted file mode 100644 index 8f40d5854..000000000 --- a/geda/src/support.h +++ /dev/null @@ -1,62 +0,0 @@ -/* - * DO NOT EDIT THIS FILE - it is generated by Glade. - */ - -#ifdef HAVE_CONFIG_H -# include -#endif - -#include - -/* - * Standard gettext macros. - */ -#ifdef ENABLE_NLS -# include -# undef _ -# define _(String) dgettext (PACKAGE, String) -# ifdef gettext_noop -# define N_(String) gettext_noop (String) -# else -# define N_(String) (String) -# endif -#else -# define textdomain(String) (String) -# define gettext(String) (String) -# define dgettext(Domain,Message) (Message) -# define dcgettext(Domain,Message,Type) (Message) -# define bindtextdomain(Domain,Directory) (Domain) -# define bind_textdomain_codeset(Domain, Codeset) ((const char *) (Codeset)) -# define _(String) (String) -# define N_(String) (String) -#endif - - -/* - * Public Functions. - */ - -/* - * This function returns a widget in a component created by Glade. - * Call it with the toplevel widget in the component (i.e. a window/dialog), - * or alternatively any widget in the component, and the name of the widget - * you want returned. - */ -GtkWidget* lookup_widget (GtkWidget *widget, - const gchar *widget_name); - -/* get_widget() is deprecated. Use lookup_widget instead. */ -#define get_widget lookup_widget - -/* Use this function to set the directory containing installed pixmaps. */ -void add_pixmap_directory (const gchar *directory); - - -/* - * Private Functions. - */ - -/* This is used to create the pixmaps in the interface. */ -GtkWidget* create_pixmap (GtkWidget *widget, - const gchar *filename); - diff --git a/geda/src/task.c b/geda/src/task.c deleted file mode 100644 index 64c24b114..000000000 --- a/geda/src/task.c +++ /dev/null @@ -1,537 +0,0 @@ -/* $Id$ */ - -/*******************************************************************************/ -/* */ -/* gEDA Suite Project Manager */ -/* */ -/* Copyright (C) 2002 Piotr Miarecki, sp9rve@eter.ariadna.pl */ -/* */ -/* 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 version 2. */ -/* */ -/* This program is distributed in the hope that it will be useful, */ -/* but WITHOUT ANY WARRANTY; without even the implied warranty of */ -/* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the */ -/* GNU General Public License for more details. */ -/* */ -/* You should have received a copy of the GNU General Public License */ -/* along with this program; if not, write to the Free Software */ -/* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ -/* */ -/*******************************************************************************/ - -#ifdef HAVE_CONFIG_H -#include "config.h" -#endif - -#define GTK_ENABLE_BROKEN -#include -#include -#include - -#ifdef HAVE_STRING_H -#include -#endif - -#include -#include - -#ifdef HAVE_UNISTD_H -#include -#endif - -#include "doc.h" -#include "filetool.h" -#include "global.h" -#include "m_action.h" -#include "m_window.h" -#include "support.h" -#include "task.h" -#include "tool.h" -#include "txtedit.h" - - - -#define TASK_IMPORT 257 -#define TASK_EXTCMD 258 -#define TASK_INTCMD 259 - -#define TASK_MSGBOX_WIDTH 224 -#define TASK_MSGBOX_HEIGHT 150 - - - -static struct Task_s *pTaskList = NULL; -static GtkDialog *pDialog = NULL; -static GtkLabel *pLabel = NULL; -static GdkColormap *pColormap; -static GdkColor Color; -static int NewIntCmd(const char *szFilename, struct Action_s *pAction); -static int NewExtCmd(const char *szFilename, struct Action_s *pAction); -static int NewImport(const char *szFilename, struct Action_s *pAction); -static char* StrReplace(char *szString, const char *szFrom, const char *szTo); - - - -int TaskInitialize(void) -{ - pColormap = gdk_colormap_get_system(); - Color.red = 0xffff; - Color.green = 0; - Color.blue = 0; - gdk_color_alloc(pColormap, &Color); - - return SUCCESS; -} - - - -int TaskNew(const int iTaskType, const void **pValue) -{ - struct Action_s *pAction; - int iResult = SUCCESS; - char *szFilename; - - /* create task a new entry */ - switch (iTaskType) - { - case TASK_ACTION: - - pAction = (struct Action_s *) pValue[0]; - szFilename = (char *) pValue[1]; - - if (pAction->fFlags & TASK_INTERNAL) - { - iResult = NewIntCmd(szFilename, pAction); - if (iResult != SUCCESS) - break; - } - - else - { - iResult = NewExtCmd(szFilename, pAction); - if (iResult != SUCCESS) - break; - - iResult = NewImport(szFilename, pAction); - if (iResult != SUCCESS) - break; - } - - break; - } - - return iResult; -} - - - -int TaskDelete(const struct Task_s *pTask) -{ - struct Task_s *pTaskPrevious = NULL; - - /* hide dialog if action task blocking */ - if (pTask->fFlags & TASK_BLOCKING) - { - gtk_widget_hide_all(GTK_WIDGET(pDialog)); - gtk_widget_destroy(GTK_WIDGET(pDialog)); - while (g_main_iteration(FALSE)); - } - - /* unlink the entry from the task list */ - if (pTask == pTaskList) - { - pTaskList = (pTask->pNext == NULL) - ? NULL - : pTask->pNext; - } - else - { - for (pTaskPrevious = pTaskList; pTaskPrevious != NULL; pTaskPrevious = pTaskPrevious->pNext) - if (pTaskPrevious->pNext == pTask) - break; - pTaskPrevious->pNext = pTask->pNext; - } - - /* remove entry from Window menu */ - MenuWindowDelete(pTask->pMenuItem); - - /* free the alocated memory */ - if (pTask->szValue != NULL) - free((void *) pTask->szValue); - free((void *) pTask); - - return SUCCESS; -} - - - -void TaskProcess(void) -{ - GtkText *pText; - FILE *hStdErr; - struct Task_s *pTask, *pPtr; - pid_t PidResult; - int iBegin, iEnd, i, j; - char *szParent, *szChild = NULL, *szTmpFile, szText[2]; - - for (pTask = pTaskList; pTask != NULL; pTask = pTask->pNext) - { - /* if the task is running, check for its death */ - if (pTask->iType == TASK_EXTCMD && pTask->Id > 0) - { - PidResult = waitpid(pTask->Id, NULL, WNOHANG); - if (PidResult == pTask->Id) - { - pText = GTK_TEXT(lookup_widget(GTK_WIDGET(pWindowMain), "StatusText")); - if (pText == NULL) - return; - - szTmpFile = (char *) malloc(strlen(GM_TMPDIR) + strlen(GM_TMPNAME) + 64); - sprintf(szTmpFile, "/%s/%s-stderr-%ld", GM_TMPDIR, GM_TMPNAME, (long) pTask->Id); - hStdErr = fopen(szTmpFile, "r"); - if (hStdErr == NULL) - { - free(szTmpFile); - return; - } - - while (!feof(hStdErr)) - { - i = fgetc(hStdErr); - if (i < 0) - break; - - szText[0] = (char) i; - szText[1] = 0; - gtk_text_insert(pText, NULL, &Color, NULL, szText, strlen(szText)); - } - gtk_widget_show(GTK_WIDGET(pText)); - while (g_main_iteration(FALSE)); - - fclose(hStdErr); - remove(szTmpFile); - free(szTmpFile); - - TaskDelete(pTask); - continue; - } - - else if (pTask->fFlags & TASK_BLOCKING) - return; - } - - /* run a new task */ - else switch (pTask->iType) - { - case TASK_INTCMD: - - if (pTask->Id > 0) - break; - for (i = -1, pPtr = pTaskList; pPtr != NULL; pPtr = pPtr->pNext) - { - if (pPtr->iType == TASK_INTCMD && pPtr->Id > i) - i = pPtr->Id; - } - pTask->Id = i + 1; - EditOpen(pTask->szValue); - break; - - case TASK_EXTCMD: - - pText = GTK_TEXT(lookup_widget(GTK_WIDGET(pWindowMain), "StatusText")); - if (pText == NULL) - return; - gtk_text_set_point(pText, 0); - gtk_text_forward_delete(pText, gtk_text_get_length(pText)); - gtk_text_insert(pText, NULL, NULL, NULL, pTask->szValue, strlen(pTask->szValue)); - gtk_text_insert(pText, NULL, NULL, NULL, "\n", strlen("\n")); - - pTask->Id = fork(); - if (pTask->Id < 0) - { - TaskDelete(pTask); - break; - } - else if (pTask->Id == 0) - { - szTmpFile = (char *) malloc(strlen(GM_TMPDIR) + strlen(GM_TMPNAME) + 64); - sprintf(szTmpFile, "/%s/%s-stderr-%ld", GM_TMPDIR, GM_TMPNAME, (long) getpid()); - hStdErr = freopen(szTmpFile, "w", stderr); - free(szTmpFile); - if (hStdErr == NULL) - _exit(0); - - execl("/bin/sh", "sh", "-c", pTask->szValue, NULL); - - _exit(0); - /* hStdErr is closed automatically */ - } - - if (pTask->fFlags & TASK_BLOCKING) - return; - - break; - - case TASK_IMPORT: - - for (i = 0; i < strlen(pTask->szValue);) - { - /* get parent file name */ - iBegin = i; - for (; i < strlen(pTask->szValue) && pTask->szValue[i] != FILETOOL_NAMESEP; i ++) - ; - iEnd = i; - i++; - - /* alloc memory for a parent file name */ - szParent = (char *) malloc(iEnd - iBegin + 1); - if (szParent == NULL) - { - TaskDelete(pTask); - break; - } - for (j = iBegin; j < iEnd; j ++) - szParent[j - iBegin] = pTask->szValue[j]; - szParent[j - iBegin] = 0; - - /* get child file name */ - iBegin = i; - for (; i < strlen(pTask->szValue) && pTask->szValue[i] != FILETOOL_NAMESEP; i ++) - ; - iEnd = i; - i++; - - /* alloc memory for a child file name */ - szChild = (char *) malloc(iEnd - iBegin + 1); - if (szChild == NULL) - { - free(szParent); - TaskDelete(pTask); - break; - } - for (j = iBegin; j < iEnd; j ++) - szChild[j - iBegin] = pTask->szValue[j]; - szChild[j - iBegin] = 0; - - DocCreate(szChild, szParent); - free(szParent); - free(szChild); - } - - TaskDelete(pTask); - - break; - } - } -} - - - -static int NewIntCmd(const char *szFilename, struct Action_s *pAction) -{ - struct Task_s *pTask, *pPtr; - - /* allocate memory for a new entry in the task list */ - pTask = (void *) malloc(sizeof(struct Task_s)); - if (pTask == NULL) - return FAILURE; - - /* create a base of the entry */ - pTask->iType = TASK_INTCMD; - pTask->fFlags = pAction->fFlags; - pTask->Id = 0; - - /* prepare filename string */ - pTask->szValue = malloc(strlen(szFilename) + 1); - if (pTask->szValue == NULL) - { - free((void *) pTask); - return FAILURE; - } - strcpy(pTask->szValue, szFilename); - - /* display message box if task blocking */ - if (pTask->fFlags & TASK_BLOCKING) - { - /* create widgets */ - pDialog = GTK_DIALOG(gtk_dialog_new()); - pLabel = GTK_LABEL(gtk_label_new(pAction->szName/*pTask->szValue*/)); - gtk_container_add(GTK_CONTAINER(GTK_DIALOG(pDialog)->vbox), GTK_WIDGET(pLabel)); - gtk_label_set_line_wrap(pLabel, TRUE); - gtk_widget_set_usize(GTK_WIDGET(pDialog), TASK_MSGBOX_WIDTH, TASK_MSGBOX_HEIGHT); - gtk_window_set_modal(GTK_WINDOW(pDialog), TRUE); - gtk_window_set_position(GTK_WINDOW(pDialog), GTK_WIN_POS_CENTER); - gtk_window_set_transient_for(GTK_WINDOW(pDialog), GTK_WINDOW(pWindowMain)); - gtk_window_set_title(GTK_WINDOW(pDialog), GEDA_TITLE); - gtk_window_set_policy(GTK_WINDOW(pDialog), FALSE, FALSE, FALSE); - gtk_widget_show_all(GTK_WIDGET(pDialog)); - while (g_main_iteration(FALSE)); - } - - pTask->pMenuItem = MenuWindowNew(pAction->szName); - pTask->Id = 0; - pTask->pNext = NULL; - - /* add a new entry to the task list */ - if (pTaskList == NULL) - pTaskList = pTask; - else - { - for (pPtr = pTaskList; pPtr->pNext != NULL; pPtr = pPtr->pNext) - ; - pPtr->pNext = pTask; - } - - return SUCCESS; -} - - - -static int NewExtCmd(const char *szFilename, struct Action_s *pAction) -{ - struct Task_s *pTask, *pPtr; - char *pText; - - /* allocate memory for a new entry in the task list */ - pTask = (void *) malloc(sizeof(struct Task_s)); - if (pTask == NULL) - return FAILURE; - - /* create a base of the entry */ - pTask->iType = TASK_EXTCMD; - pTask->fFlags = pAction->fFlags; - - /* prepare command string */ - pTask->szValue = malloc(strlen((char *) pAction->szCommand) + 1); - if (pTask->szValue == NULL) - { - free((void *) pTask); - return FAILURE; - } - strcpy(pTask->szValue, pAction->szCommand); - pTask->szValue = StrReplace((char *) pTask->szValue, "%FILENAME%", (char *) FileGetName(szFilename)); - pTask->szValue = StrReplace((char *) pTask->szValue, "%FILEEXT%", (char *) FileGetExt(szFilename)); - pTask->szValue = StrReplace((char *) pTask->szValue, "%FILEDIR%", (char *) FileGetDir(szFilename)); - pTask->szValue = StrReplace((char *) pTask->szValue, "%FILEREL%", (char *) FileGetRel(szFilename)); - - /* display message box if task blocking */ - if (pTask->fFlags & TASK_BLOCKING) - { - /* create widgets */ - pDialog = GTK_DIALOG(gtk_dialog_new()); - pLabel = GTK_LABEL(gtk_label_new(pAction->szName/*pTask->szValue*/)); - gtk_container_add(GTK_CONTAINER(GTK_DIALOG(pDialog)->vbox), GTK_WIDGET(pLabel)); - gtk_label_set_line_wrap(pLabel, TRUE); - gtk_widget_set_usize(GTK_WIDGET(pDialog), TASK_MSGBOX_WIDTH, TASK_MSGBOX_HEIGHT); - gtk_window_set_modal(GTK_WINDOW(pDialog), TRUE); - gtk_window_set_position(GTK_WINDOW(pDialog), GTK_WIN_POS_CENTER); - gtk_window_set_transient_for(GTK_WINDOW(pDialog), GTK_WINDOW(pWindowMain)); - gtk_window_set_title(GTK_WINDOW(pDialog), GEDA_TITLE); - gtk_window_set_policy(GTK_WINDOW(pDialog), FALSE, FALSE, FALSE); - gtk_widget_show_all(GTK_WIDGET(pDialog)); - while (g_main_iteration(FALSE)); - } - - pText = (char *) malloc(strlen(szFilename) + strlen(pAction->szName) + 3); - strcpy(pText, pAction->szName); - strcat(pText, ": "); - strcat(pText, szFilename); - pTask->pMenuItem = MenuWindowNew(pText); - pTask->Id = 0; - pTask->pNext = NULL; - free(pText); - - /* add a new entry to the task list */ - if (pTaskList == NULL) - pTaskList = pTask; - else - { - for (pPtr = pTaskList; pPtr->pNext != NULL; pPtr = pPtr->pNext) - ; - pPtr->pNext = pTask; - } - - return SUCCESS; -} - - - -static int NewImport(const char *szFilename, struct Action_s *pAction) -{ - struct Task_s *pTask, *pPtr; - - /* allocate memory for a new entry in the task list */ - pTask = (void *) malloc(sizeof(struct Task_s)); - if (pTask == NULL) - return FAILURE; - - /* create a base of the entry */ - pTask->iType = TASK_IMPORT; - pTask->fFlags = TASK_NOFLAG; - - /* prepare import string */ - pTask->szValue = malloc(strlen(szFilename) + strlen((char *) pAction->szImport) + 2); - if (pTask->szValue == NULL) - { - free((void *) pTask); - return FAILURE; - } - strcpy(pTask->szValue, pAction->szImport); - pTask->szValue = StrReplace((char *) pTask->szValue, "%FILENAME%", (char *) FileGetName(szFilename)); - pTask->szValue = StrReplace((char *) pTask->szValue, "%FILEEXT%", (char *) FileGetExt(szFilename)); - pTask->szValue = StrReplace((char *) pTask->szValue, "%FILEDIR%", (char *) FileGetDir(szFilename)); - pTask->szValue = StrReplace((char *) pTask->szValue, "%FILEREL%", (char *) FileGetRel(szFilename)); - - pTask->pMenuItem = MenuWindowNew(pAction->szName); - pTask->Id = 0; - pTask->pNext = NULL; - - /* add a new entry to the task list */ - if (pTaskList == NULL) - pTaskList = pTask; - else - { - for (pPtr = pTaskList; pPtr->pNext != NULL; pPtr = pPtr->pNext) - ; - pPtr->pNext = pTask; - } - - return SUCCESS; -} - - - -static char* StrReplace(char *szString, const char *szFrom, const char *szTo) -{ - char *szBegin, *szTemp; - int i; - - szTemp = (void *) malloc(strlen(szString) + 1); - if (szTemp == NULL) - return NULL; - - for (szBegin = strstr(szString, szFrom); szBegin != NULL; szBegin = strstr(szString, szFrom)) - { - strcpy(szTemp, szString); - szBegin = strstr(szTemp, szFrom); - i = szBegin - szTemp; - - strcpy(szString, szTemp); - szString[i] = 0; - - /* realloc can change the modified pointer completely, so */ - /* it needs to be assigned. Not doing this caused a nasty */ - /* bug on some architectures/machines. */ - szString = realloc(szString, strlen(szString) + strlen(szTo) + strlen(szBegin + strlen(szFrom)) + 1); - strcat(szString, szTo); - strcat(szString, szBegin + strlen(szFrom)); - } - - free((void *) szTemp); - - /* You must return the pointer since realloc might have completely */ - /* changed the pointer. */ - return szString; -} diff --git a/geda/src/task.h b/geda/src/task.h deleted file mode 100644 index a41489f41..000000000 --- a/geda/src/task.h +++ /dev/null @@ -1,64 +0,0 @@ -/*******************************************************************************/ -/* */ -/* gEDA Suite Project Manager */ -/* */ -/* Copyright (C) 2002 Piotr Miarecki, sp9rve@eter.ariadna.pl */ -/* */ -/* 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 version 2. */ -/* */ -/* This program is distributed in the hope that it will be useful, */ -/* but WITHOUT ANY WARRANTY; without even the implied warranty of */ -/* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the */ -/* GNU General Public License for more details. */ -/* */ -/* You should have received a copy of the GNU General Public License */ -/* along with this program; if not, write to the Free Software */ -/* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ -/* */ -/*******************************************************************************/ - -#ifndef __TASK_H_INCLUDED -#define __TASK_H_INCLUDED - -#include -#include -#include "global.h" - - - -/* task entry structure */ -struct Task_s -{ - int iType; - char *szValue; - DWORD fFlags; - pid_t Id; - GtkMenuItem *pMenuItem; - struct Task_s *pNext; -}; - - - -/* task types */ -#define TASK_ACTION 1 /* external command, pParams[0]=pAction, pParams[1]=szFilename */ - - - -/* task activity flags */ -#define TASK_NOFLAG 0x00000000L -#define TASK_BLOCKING 0x00000001L -#define TASK_INTERNAL 0x00000002L -#define ACTION_DEFAULT 0x00000004L - - - -int TaskInitialize(void); -int TaskNew(const int iType, const void **pParams); -int TaskDelete(const struct Task_s *pTask); -void TaskProcess(void); - - - -#endif diff --git a/geda/src/tool.c b/geda/src/tool.c deleted file mode 100644 index 798809ce5..000000000 --- a/geda/src/tool.c +++ /dev/null @@ -1,1250 +0,0 @@ -/* $Id$ */ - -/*******************************************************************************/ -/* */ -/* gEDA Suite Project Manager */ -/* */ -/* Copyright (C) 2002 Piotr Miarecki, sp9rve@eter.ariadna.pl */ -/* */ -/* 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 version 2. */ -/* */ -/* This program is distributed in the hope that it will be useful, */ -/* but WITHOUT ANY WARRANTY; without even the implied warranty of */ -/* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the */ -/* GNU General Public License for more details. */ -/* */ -/* You should have received a copy of the GNU General Public License */ -/* along with this program; if not, write to the Free Software */ -/* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ -/* */ -/*******************************************************************************/ - -#ifdef HAVE_CONFIG_H -#include "config.h" -#endif - -#include -#include -#include - -#ifdef HAVE_STRING_H -#include -#endif - -#include -#include - -#ifdef HAVE_UNISTD_H -#include -#endif - -#include "configfile.h" -#include "doc.h" -#include "file.h" -#include "filetool.h" -#include "global.h" -#include "log.h" -#include "m_action.h" -#include "m_window.h" -#include "msgbox.h" -#include "support.h" -#include "task.h" -#include "tool.h" - - - -/* - Groups of files -*/ - -struct Group_s -{ - int iId; - char szName[TEXTLEN]; - GtkCTreeNode *pNode; - struct Group_s *pNext; -}; - - - -/* - Definitions of databases -*/ - -/* known tools */ -enum { - TOOL_EDIT = 0, - TOOL_GSCHEM, - TOOL_GSCHEM2PCB, - TOOL_GNETLIST, - TOOL_PCB, - TOOL_GERBV, - TOOL_EASYSPICE, - TOOL_NGSPICE, - TOOL_GWAVE, - TOOL_VC, - TOOL_VVP, - TOOL_GTKWAVE, - TOOL_NUMBER -}; - -/* known groups */ -enum { - GROUP_DOCUMENTATION = 0, - GROUP_SCHEMATIC, - GROUP_LAYOUT, - GROUP_SIMULATION, - GROUP_GRAPH, - GROUP_PROGRAM, - GROUP_NUMBER -}; - -/* known actions */ -enum { - ACTION_TXT_OPEN = 0, - ACTION_SCH_OPEN, - ACTION_SCH_TO_PCB, - ACTION_SCH_TO_CIR, - ACTION_SCH_TO_V, - ACTION_SCH_TO_VHD, - ACTION_SCH_TO_DRC, - ACTION_SCH_TO_BOM, - ACTION_PCB_OPEN, - ACTION_GRB_OPEN, - ACTION_ESP_OPEN, - ACTION_CIR_OPEN, - ACTION_CIR_TO_OUT, - ACTION_OUT_OPEN, - ACTION_GW_OPEN, - ACTION_V_OPEN, - ACTION_V_TO_VCD, - ACTION_V_TO_XNF, - ACTION_VCD_OPEN, - ACTION_VHD_OPEN, - ACTION_DRC_OPEN, - ACTION_BOM_OPEN, - ACTION_SYM_OPEN, - ACTION__OPEN, - ACTION_NUMBER -}; - -/* known extensions */ -enum { - EXT_TXT = 0, - EXT_SCH, - EXT_PCB, - EXT_GRB, - EXT_ESP, - EXT_CIR, - EXT_OUT, - EXT_GW, - EXT_V, - /* Commenting out this enum as it is not used anywhere else */ - /* and it seemed to cause a crash for certain users. Identified by */ - /* Werner Hoch */ - /* EXT_VVP, */ - EXT_VCD, - EXT_VHD, - EXT_DRC, - EXT_BOM, - EXT_SYM, - EXT_, - EXT_NUMBER -}; - - - -#define TOOL_TEMPLATE_TXT "" -#define TOOL_TEMPLATE_SCH "" -#define TOOL_TEMPLATE_PCB "" -#define TOOL_TEMPLATE_CIR "\n\n\n\n\n" -#define TOOL_TEMPLATE_V "" -#define TOOL_TEMPLATE_VHD "" - - - -/* tool types (Tools.iType) */ -#define TOOL_EMBEDDED 1 -#define TOOL_EXTERNAL 2 - - - -/* tool entries */ -static struct Tool_s ToolList[] = -{ - { TOOL_EDIT, "Text editor", "-----", TOOL_EXTERNAL, NULL, NULL }, - { TOOL_GSCHEM, "Schematic editor", "gschem", TOOL_EXTERNAL, NULL, NULL }, - { TOOL_GSCHEM2PCB, "", "gschem2pcb", TOOL_EXTERNAL, NULL, NULL }, - { TOOL_GNETLIST, "", "gnetlist", TOOL_EXTERNAL, NULL, NULL }, - { TOOL_PCB, "PCB layout editor", "pcb", TOOL_EXTERNAL, NULL, NULL }, - { TOOL_GERBV, "Gerber viewer", "gerbv", TOOL_EXTERNAL, NULL, NULL }, - { TOOL_EASYSPICE, "Easy SPICE", "easy_spice", TOOL_EXTERNAL, NULL, NULL }, - { TOOL_NGSPICE, "", "ng-spice", TOOL_EXTERNAL, NULL, NULL }, - { TOOL_GWAVE, "Analog waveform viewer", "gwave", TOOL_EXTERNAL, NULL, NULL }, - { TOOL_VC, "", "iverilog", TOOL_EXTERNAL, NULL, NULL }, - { TOOL_VVP, "", "vvp", TOOL_EXTERNAL, NULL, NULL }, - { TOOL_GTKWAVE, "", "gtkwave", TOOL_EXTERNAL, NULL, NULL } -}; - -/* group entries */ -struct Group_s GroupList[] = -{ - { GROUP_DOCUMENTATION, "Documentations", NULL, NULL }, - { GROUP_SCHEMATIC, "Schematic diagrams", NULL, NULL }, - { GROUP_LAYOUT, "PCB and VLSI layouts", NULL, NULL }, - { GROUP_SIMULATION, "Simulations", NULL, NULL }, - { GROUP_GRAPH, "Graphs", NULL, NULL }, - { GROUP_PROGRAM, "Chip programs", NULL, NULL } -}; - -/* action entries */ -struct Action_s ActionList[] = -{ - { - ACTION_TXT_OPEN, - "Open", - "txt", - "----- %FILEREL%", - "", - TASK_INTERNAL | ACTION_DEFAULT, - TOOL_EDIT, - NULL, - 0, - NULL - }, - - { - ACTION__OPEN, - "Open", - "", - "----- %FILEREL%", - "", - TASK_INTERNAL | ACTION_DEFAULT, - TOOL_EDIT, - NULL, - 0, - NULL - }, - - { - ACTION_SCH_OPEN, - "Open", - "sch", - "gschem %FILENAME%.%FILEEXT%", - "", - ACTION_DEFAULT, - TOOL_GSCHEM, - NULL, - 0, - NULL - }, - - { - ACTION_SYM_OPEN, - "Open", - "sym", - "gschem %FILENAME%.%FILEEXT%", - "", - ACTION_DEFAULT, - TOOL_GSCHEM, - NULL, - 0, - NULL - }, - - { - ACTION_SCH_TO_PCB, - "Create PCB layout", - "sch", - "gnetlist -g PCBboard -o %FILENAME%.pcb %FILENAME%.%FILEEXT%", - ",%FILENAME%.pcb", - TASK_BLOCKING, - TOOL_GSCHEM2PCB, - NULL, - 0, - NULL - }, - - { - ACTION_SCH_TO_CIR, - "Create SPICE netlist", - "sch", - "gnetlist -g spice -o %FILENAME%.cir %FILENAME%.%FILEEXT%", - ",%FILENAME%.cir", - TASK_BLOCKING, - TOOL_GNETLIST, - NULL, - 0, - NULL - }, - - { - ACTION_SCH_TO_V, - "Create Verilog source", - "sch", - "gnetlist -g verilog -o %FILENAME%.v %FILENAME%.%FILEEXT%", - ",%FILENAME%.v", - TASK_BLOCKING, - TOOL_GNETLIST, - NULL, - 0, - NULL - }, - - { - ACTION_SCH_TO_VHD, - "Create VHDL source", - "sch", - "gnetlist -g vhdl -o %FILENAME%.vhd %FILENAME%.%FILEEXT%", - ",%FILENAME%.vhd", - TASK_BLOCKING, - TOOL_GNETLIST, - NULL, - 0, - NULL - }, - - { - ACTION_SCH_TO_DRC, - "Design rule checking (DRC)", - "sch", - "gnetlist -g drc -o %FILENAME%.drc %FILENAME%.%FILEEXT%", - "%FILENAME%.%FILEEXT%,%FILENAME%.drc", - TASK_BLOCKING, - TOOL_GNETLIST, - NULL, - 0, - NULL - }, - - { - ACTION_SCH_TO_BOM, - "Create bill of materials (BOM)", - "sch", - "gnetlist -g bom -o %FILENAME%.bom %FILENAME%.%FILEEXT%", - "%FILENAME%.%FILEEXT%,%FILENAME%.bom", - TASK_BLOCKING, - TOOL_GNETLIST, - NULL, - 0, - NULL - }, - - { - ACTION_PCB_OPEN, - "Open", - "pcb", - "pcb %FILENAME%.%FILEEXT%", - "", - ACTION_DEFAULT, - TOOL_PCB, - NULL, - 0, - NULL - }, - - { - ACTION_GRB_OPEN, - "Open", - "grb", - "gerbv %FILENAME%.%FILEEXT%", - "", - ACTION_DEFAULT, - TOOL_GERBV, - NULL, - 0, - NULL - }, - - { - ACTION_ESP_OPEN, - "Open", - "esp", - "easy_spice -f %FILENAME%.%FILEEXT%", - "", - ACTION_DEFAULT, - TOOL_EASYSPICE, - NULL, - 0, - NULL - }, - - { - ACTION_CIR_OPEN, - "Open", - "cir", - "----- %FILENAME%.%FILEEXT%", - "", - TASK_INTERNAL | ACTION_DEFAULT, - TOOL_EDIT, - NULL, - 0, - NULL - }, - - { - ACTION_CIR_TO_OUT, - "Simulate (SPICE)", - "cir", - "ngspice -b -i %FILENAME%.%FILEEXT% -r %FILENAME%.out; raw2gw %FILENAME%.out %FILENAME%.gw", - "%FILENAME%.%FILEEXT%,%FILENAME%.out,%FILENAME%.out,%FILENAME%.gw", - TASK_BLOCKING, - TOOL_NGSPICE, - NULL, - 0, - NULL - }, - - { - ACTION_OUT_OPEN, - "Open", - "out", - "raw2gw %FILENAME%.%FILEEXT% %FILENAME.gw ; gwave -s %FILENAME%.gw", - "%FILENAME%.out,%FILENAME%.gw", - TASK_NOFLAG, - TOOL_GWAVE, - NULL, - 0, - NULL - }, - - { - ACTION_GW_OPEN, - "Open", - "gw", - "gwave -s %FILENAME%.%FILEEXT%", - "", - ACTION_DEFAULT, - TOOL_GWAVE, - NULL, - 0, - NULL - }, - - { - ACTION_V_OPEN, - "Open", - "v", - "----- %FILENAME%.%FILEEXT%", - "", - TASK_INTERNAL | ACTION_DEFAULT, - TOOL_EDIT, - NULL, - 0, - NULL - }, - - { - ACTION_V_TO_VCD, - "Simulate", - "v", - "iverilog -o %FILENAME%.vvp -t vvp %FILENAME%.%FILEEXT% ; vvp %FILENAME%.vvp", - "%FILENAME%.v,%FILENAME%.vcd", - TASK_BLOCKING, - TOOL_VC, - NULL, - 0, - NULL - }, - - { - ACTION_V_TO_XNF, - "Synthesize", - "v", - "iverilog -o %FILENAME%.xnf -t xnf %FILENAME%.%FILEEXT%", - "%FILENAME%.%FILEEXT%,%FILENAME%.xnf", - TASK_BLOCKING, - TOOL_VVP, - NULL, - 0, - NULL - }, - - { - ACTION_VCD_OPEN, - "Open", - "vcd", - "gtkwave %FILENAME%.%FILEEXT%", - "", - ACTION_DEFAULT, - TOOL_GTKWAVE, - NULL, - 0, - NULL - }, - - { - ACTION_VHD_OPEN, - "Open", - "vhd", - "----- %FILEREL%", - "", - TASK_INTERNAL | ACTION_DEFAULT, - TOOL_EDIT, - NULL, - 0, - NULL - }, - - { - ACTION_DRC_OPEN, - "Open", - "drc", - "----- %FILEREL%", - "", - TASK_INTERNAL | ACTION_DEFAULT, - TOOL_EDIT, - NULL, - 0, - NULL - }, - - { - ACTION_BOM_OPEN, - "Open", - "bom", - "----- %FILEREL%", - "", - TASK_INTERNAL | ACTION_DEFAULT, - TOOL_EDIT, - NULL, - 0, - NULL - }, - -/* -gnetlist [-i] [-v] [-r rcfilename] [-g guile_procedure] [-o output_filename] schematic1 [... schematicN] - - 1) PCB / PCBboard (-g PCB and -g PCBboard) - 2) Allegro netlist format (-g allegro) - 3) BAE netlist format (-g bae) - 4) BOM / BOM2 - Bill of Materials (-g bom and -g bom2) - 5) DRC - Start of a design rule checker (-g drc) - 6) gEDA - native format, mainly used for testing (-g geda) - 7) Gossip netlist format (-g gossip) - 8) PADS netlist format (-g pads) - 9) ProtelII netlist format (-g protelII) - 10) Spice compatible netlist format (-g spice) - 11) Tango netlist format (-g tango) - 12) Verilog code (-g verilog) - 13) VHDL code (-g vhdl) - 14) VIPEC netlist format (-g vipec) - -*/ -}; - -/* extension entries */ -static struct Ext_s ExtList[] = -{ - { EXT_TXT, "Text", "txt", "", GROUP_DOCUMENTATION, TRUE, FALSE, TOOL_TEMPLATE_TXT, ACTION_TXT_OPEN, NULL, NULL }, - { EXT_SCH, "Schematic", "sch", "", GROUP_SCHEMATIC, TRUE, FALSE, TOOL_TEMPLATE_SCH, ACTION_SCH_OPEN, NULL, NULL }, - { EXT_PCB, "PCB layout", "pcb", "", GROUP_LAYOUT, TRUE, FALSE, TOOL_TEMPLATE_PCB, ACTION_PCB_OPEN, NULL, NULL }, - { EXT_GRB, "Gerber data", "grb", "pcb", GROUP_LAYOUT, FALSE, FALSE, "", ACTION_GRB_OPEN, NULL, NULL }, - { EXT_ESP, "Simulation", "esp", "", GROUP_SIMULATION, TRUE, FALSE, "", ACTION_ESP_OPEN, NULL, NULL }, - { EXT_CIR, "SPICE netlist", "cir", "esp", GROUP_SIMULATION, TRUE, FALSE, TOOL_TEMPLATE_CIR, ACTION_CIR_OPEN, NULL, NULL }, - { EXT_OUT, "", "out", "cir", GROUP_SIMULATION, FALSE, FALSE, "", ACTION_OUT_OPEN, NULL, NULL }, - { EXT_GW, "Analog waveform", "gw", "out", GROUP_GRAPH, TRUE, FALSE, "", ACTION_GW_OPEN, NULL, NULL }, - { EXT_V, "Verilog source", "v", "", GROUP_PROGRAM, TRUE, FALSE, TOOL_TEMPLATE_V, ACTION_V_OPEN, NULL, NULL }, - { EXT_VCD, "", "vcd", "v", GROUP_GRAPH, FALSE, FALSE, "", ACTION_VCD_OPEN, NULL, NULL }, - { EXT_VHD, "VHDL source", "vcd", "vhd", GROUP_PROGRAM, TRUE, FALSE, TOOL_TEMPLATE_VHD, ACTION_VHD_OPEN, NULL, NULL }, - { EXT_DRC, "", "drc", "sch", GROUP_SCHEMATIC, FALSE, FALSE, "", ACTION_DRC_OPEN, NULL, NULL }, - { EXT_BOM, "", "bom", "sch", GROUP_SCHEMATIC, FALSE, FALSE, "", ACTION_BOM_OPEN, NULL, NULL }, - { EXT_SYM, "Schematic symbol", "sym", "", GROUP_SCHEMATIC, TRUE, FALSE, "", ACTION_SYM_OPEN, NULL, NULL }, - { EXT_, "Description", "", "", GROUP_DOCUMENTATION, FALSE, FALSE, "", ACTION__OPEN, NULL, NULL } -}; - - - -/* tool structures */ -static struct Tool_s *pToolList = NULL; -struct Action_s *pActionList = NULL; -struct Ext_s *pExtList = NULL; -struct Group_s *pGroupList = NULL; - - - -/* static functions */ -static int ToolReadTools(void); -static int ToolRegisterTool(struct Tool_s Entry); -static int ToolReadActions(void); -static int ToolRegisterAction(struct Action_s Entry); -static int ToolReadGroups(void); -static int ToolRegisterGroup(struct Group_s Entry); -static int ToolReadExtensions(void); -static int ToolRegisterExtension(struct Ext_s Entry); -static int Menu_Tool_Initialize(void); -static void Menu_Tool_Activation(GtkMenuItem *pMenuItem, gpointer pUserData); -void StrReplace(char *szString, char *szFrom, char *szTo); - - - - -/* - Initializing and releasing databases -*/ - -int ToolInitialize(void) -{ - int iResult; - - /* read table of tools */ - iResult = ToolReadTools(); - if (iResult == FAILURE) - { - /* TODO: error handling */ - return FAILURE; - } - - /* read table of groups */ - iResult = ToolReadGroups(); - if (iResult == FAILURE) - { - /* TODO: error handling */ - return FAILURE; - } - - /* read table of actions */ - iResult = ToolReadActions(); - if (iResult == FAILURE) - { - /* TODO: error handling */ - return FAILURE; - } - - /* read table of extensions */ - iResult = ToolReadExtensions(); - if (iResult == FAILURE) - { - /* TODO: error handling */ - return FAILURE; - } - - /* menu modification */ - iResult = Menu_Tool_Initialize(); - if (iResult == FAILURE) - { - /* TODO: error handling */ - return FAILURE; - } - - MenuActionInitialize(); - MenuWindowInitialize(); - - return SUCCESS; -} - - -int ToolRelease() -{ - return SUCCESS; -} - - -/* - Reading fields from extension database -*/ - -/* read database fields */ -int ToolValueGet(int iDataBase, int iValue, int iId, void *pValue) -{ - struct Tool_s *pTool; - struct Action_s *pAction; - struct Ext_s *pExt; - struct Group_s *pGroup; - - switch (iDataBase) - { - case TOOL_LIST: - - for (pTool = pToolList; pTool != NULL; pTool = pTool->pNext) - if (pTool->iId == iId) - break; - if (pTool == NULL) - return FAILURE; - - switch (iValue) - { - case TOOL_ID: *((int *) pValue) = pTool->iId; break; - case TOOL_NAME: strcpy((char *) pValue, pTool->szName); break; - case TOOL_COMMAND: strcpy((char *) pValue, pTool->szCommand); break; - case TOOL_TYPE: *((int *) pValue) = pTool->iType; break; - default: return FAILURE; - } - - break; - - case ACTION_LIST: - - for (pAction = pActionList; pAction != NULL; pAction = pAction->pNext) - if (pAction->iId == iId) - break; - if (pAction == NULL) - return FAILURE; - - switch (iValue) - { - case ACTION_ID: *((int *) pValue) = pAction->iId; break; - case ACTION_NAME: strcpy((char *) pValue, pAction->szName); break; - case ACTION_EXT: strcpy((char *) pValue, pAction->szExt); break; - case ACTION_COMMAND: strcpy((char *) pValue, pAction->szCommand); break; - case ACTION_IMPORT: strcpy((char *) pValue, pAction->szImport); break; - case ACTION_TOOLID: *((int *) pValue) = pAction->iToolId; break; - default: return FAILURE; - } - - break; - - case EXT_LIST: - - for (pExt = pExtList; pExt != NULL; pExt = pExt->pNext) - if (pExt->iId == iId) - break; - if (pExt == NULL) - return FAILURE; - - switch (iValue) - { - case EXT_ID: *((int *) pValue) = pExt->iId; break; - case EXT_NAME: strcpy((char *) pValue, pExt->szName); break; - case EXT_EXT: strcpy((char *) pValue, pExt->szExt); break; - case EXT_INFILENEW: *((int *) pValue) = pExt->bInFileNew; break; - case EXT_TEMPLATE: strcpy((char *) pValue, pExt->szTemplate); break; - case EXT_ACTIONID: *((int *) pValue) = pExt->iActionId; break; - case EXT_GROUPID: *((int *) pValue) = pExt->iGroupId; break; - case EXT_PARENT: strcpy((char *) pValue, pExt->szParent); break; - default: return FAILURE; - } - - break; - - case GROUP_LIST: - - /* find the specified group */ - for (pGroup = pGroupList; pGroup != NULL; pGroup = pGroup->pNext) - { - if (pGroup->iId == iId) - break; - } - - /* read the specified variable */ - switch (iValue) - { - case GROUP_ID: - if (pGroup == NULL) - return FAILURE; - *((int *) pValue) = pGroup->iId; - break; - - case GROUP_NAME: - if (pGroup == NULL) - return FAILURE; - strcpy((char *) pValue, pGroup->szName); - break; - - case GROUP_NODE: - if (pGroup == NULL) - return FAILURE; - *((GtkCTree **) pValue) = (void *) pGroup->pNode; - break; - - case GROUP_NEXT: - if (iId == GROUP_NONE) - { - *((int *) pValue) = (pGroupList != NULL) ? pGroupList->iId : GROUP_NONE; - break; - } - if (pGroup == NULL) - return FAILURE; - *((int *) pValue) = (pGroup->pNext != NULL) ? pGroup->pNext->iId : GROUP_NONE; - break; - - default: - return FAILURE; - } - - break; - - default: - - return FAILURE; - } - - return SUCCESS; -} - - -int ToolValueSet(int iDataBase, int iValue, int iId, void *pValue) -{ - struct Tool_s *pTool; - struct Action_s *pAction; - struct Ext_s *pExt; - struct Group_s *pGroup; - - switch (iDataBase) - { - case TOOL_LIST: - - for (pTool = pToolList; pTool != NULL; pTool = pTool->pNext) - if (pTool->iId == iId) - break; - if (pTool == NULL) - return FAILURE; - - switch (iValue) - { - } - - break; - - case ACTION_LIST: - - for (pAction = pActionList; pAction != NULL; pAction = pAction->pNext) - if (pAction->iId == iId) - break; - if (pAction == NULL) - return FAILURE; - - switch (iValue) - { - } - - break; - - case EXT_LIST: - - for (pExt = pExtList; pExt != NULL; pExt = pExt->pNext) - if (pExt->iId == iId) - break; - if (pExt == NULL) - return FAILURE; - - switch (iValue) - { - } - - break; - - case GROUP_LIST: - - for (pGroup = pGroupList; pGroup != NULL; pGroup = pGroup->pNext) - if (pGroup->iId == iId) - break; - if (pGroup == NULL) - return FAILURE; - - switch (iValue) - { - case GROUP_ID: - pGroup->iId = *((int *) pValue); - break; - - case GROUP_NAME: - strcpy(pGroup->szName, (char *) pValue); - break; - - case GROUP_NODE: - pGroup->pNode = *((GtkCTreeNode **) pValue); - break; - - default: - return FAILURE; - } - - break; - - default: - - return FAILURE; - } - - return SUCCESS; -} - - - -int ToolGetExtensionId(char *szExtension, int *iExtId) -{ - struct Ext_s *pExt; - - /* look for extension entry */ - for (pExt = pExtList; pExt != NULL; pExt = pExt->pNext) - if (strcmp(pExt->szExt, szExtension) == 0) - break; - if (pExt == NULL) - return FAILURE; - *iExtId = pExt->iId; - - return SUCCESS; -} - - -int ToolOpenFile(int iExtId, char *szFilename, int iActionId) -{ - struct Ext_s *pExt; - struct Action_s *pAction; - int iResult, i, j; - char szCommand[TEXTLEN], szFullName[TEXTLEN]; - - /* look for extension entry */ - for (pExt = pExtList; pExt != NULL; pExt = pExt->pNext) - { - if (pExt->iId == iExtId) - break; - } - if (pExt == NULL) - { - Log(LOG_FATAL, __FILE__, __LINE__, "Cannot find extension entry"); - return FAILURE; - } - - /* if default action - find it in the table */ - if (iActionId == TOOL_DEFAULT) - { - /* look for action entry */ - for (pAction = pActionList; pAction != NULL; pAction = pAction->pNext) - { - if (pAction->iId == pExt->iActionId) - break; - } - if (pAction == NULL) - { - Log(LOG_FATAL, __FILE__, __LINE__, "Cannot find default action entry"); - return FAILURE; - } - } - - /* else find action entry at once */ - else - { - for (pAction = pActionList; pAction != NULL; pAction = pAction->pNext) - if (pAction->iId == iActionId) - break; - if (pAction == NULL) - { - Log(LOG_FATAL, __FILE__, __LINE__, "Cannot find action entry"); - return FAILURE; - } - } - - /* get action command, fill variable fields */ - strcpy(szCommand, pAction->szCommand); - strcpy(szFullName, szFilename); - if (strlen(szFilename) > 0) - { -/* - strcat(szFullName, "."); - strcat(szFullName, pExt->szExt); -*/ - } - for (i = 0; i < strlen(szCommand); i ++) - if (szCommand[i] == '%') - break; - if (i < strlen(szCommand)) - { - for (j = strlen(szCommand); j > i; j --) - szCommand[j + strlen(szFullName)] = szCommand[j]; - strcpy(szCommand + i, szFullName); - } - - /* run action command */ - iResult = ToolRun(szCommand, szFullName, pAction->fFlags); - if (iResult != SUCCESS) - { - /* TODO: error handling */ - return FAILURE; - } - - return SUCCESS; -} - - - -static int ToolReadTools(void) -{ - int i; - - for (i = 0; i < TOOL_NUMBER; i ++) - ToolRegisterTool(ToolList[i]); - - return SUCCESS; -} - - - -static int ToolRegisterTool(struct Tool_s Entry) -{ - struct Tool_s *pPtr, *pNewEntry; - - /* a new entry */ - pNewEntry = (struct Tool_s *) malloc(sizeof(struct Tool_s)); - if (pNewEntry == NULL) - { - /* TODO: error handling */ - return FAILURE; - } - pNewEntry->iId = Entry.iId; - strcpy(pNewEntry->szName, Entry.szName); - strcpy(pNewEntry->szCommand, Entry.szCommand); - pNewEntry->iType = Entry.iType; - pNewEntry->pNext = NULL; - - /* link to a list */ - if (pToolList != NULL) - { - for (pPtr = pToolList; pPtr->pNext != NULL; pPtr = pPtr->pNext) - ; - pPtr->pNext = pNewEntry; - } - else - pToolList = pNewEntry; - - return SUCCESS; -} - - - -static int ToolReadActions(void) -{ - int i; - - for (i = 0; i < ACTION_NUMBER; i ++) - ToolRegisterAction(ActionList[i]); - - return SUCCESS; -} - - - -static int ToolRegisterAction(struct Action_s Entry) -{ - struct Action_s *pPtr, *pNewEntry; - - /* a new entry */ - pNewEntry = (struct Action_s *) malloc(sizeof(struct Action_s)); - if (pNewEntry == NULL) - { - /* TODO: error handling */ - return FAILURE; - } - pNewEntry->iId = Entry.iId; - strcpy(pNewEntry->szExt, Entry.szExt); - strcpy(pNewEntry->szName, Entry.szName); - strcpy(pNewEntry->szCommand, Entry.szCommand); - strcpy(pNewEntry->szImport, Entry.szImport); - pNewEntry->fFlags = Entry.fFlags; - pNewEntry->iToolId = Entry.iToolId; - pNewEntry->pNext = NULL; - - /* link to a list */ - if (pActionList != NULL) - { - for (pPtr = pActionList; pPtr->pNext != NULL; pPtr = pPtr->pNext) - ; - pPtr->pNext = pNewEntry; - } - else - pActionList = pNewEntry; - - return SUCCESS; -} - - - -static int ToolReadExtensions(void) -{ - int i; - - for (i = 0; i < EXT_NUMBER; i ++) - ToolRegisterExtension(ExtList[i]); - - return SUCCESS; - -} - - - -static int ToolRegisterExtension(struct Ext_s Entry) -{ - struct Ext_s *pPtr, *pNewEntry; - - /* a new entry */ - pNewEntry = (struct Ext_s *) malloc(sizeof(struct Ext_s)); - if (pNewEntry == NULL) - { - /* TODO: error handling */ - return FAILURE; - } - pNewEntry->iId = Entry.iId; - strcpy(pNewEntry->szExt, Entry.szExt); - strcpy(pNewEntry->szParent, Entry.szParent); - strcpy(pNewEntry->szName, Entry.szName); - pNewEntry->bInFileNew = Entry.bInFileNew; - pNewEntry->bMenuUsed = FALSE; - strcpy(pNewEntry->szTemplate, Entry.szTemplate); - pNewEntry->iGroupId = Entry.iGroupId; - pNewEntry->iActionId = Entry.iActionId; - pNewEntry->pNext = NULL; - - /* link to a list */ - if (pExtList != NULL) - { - for (pPtr = pExtList; pPtr->pNext != NULL; pPtr = pPtr->pNext) - ; - pPtr->pNext = pNewEntry; - } - else - pExtList = pNewEntry; - - return SUCCESS; -} - - - -static int ToolReadGroups(void) -{ - int i; - - for (i = 0; i < GROUP_NUMBER; i ++) - ToolRegisterGroup(GroupList[i]); - - return SUCCESS; - -} - - - -static int ToolRegisterGroup(struct Group_s Entry) -{ - struct Group_s *pPtr, *pNewEntry; - - /* a new entry */ - pNewEntry = (struct Group_s *) malloc(sizeof(struct Group_s)); - if (pNewEntry == NULL) - { - /* TODO: error handling */ - return FAILURE; - } - pNewEntry->iId = Entry.iId; - strcpy(pNewEntry->szName, Entry.szName); - pNewEntry->pNext = NULL; - - /* link to a list */ - if (pGroupList != NULL) - { - for (pPtr = pGroupList; pPtr->pNext != NULL; pPtr = pPtr->pNext) - ; - pPtr->pNext = pNewEntry; - } - else - pGroupList = pNewEntry; - - return SUCCESS; -} - - - -/* - Menu Tool -*/ - -static int Menu_Tool_Initialize() -{ - GtkWidget *pWidget; - GtkMenu *pMenu; - struct Tool_s *pTool; - - /* look for Tool widget */ - pWidget = lookup_widget(GTK_WIDGET(pWindowMain), "MenuTool"); - if (pWidget == NULL) - { - Log(LOG_FATAL, __FILE__, __LINE__, "Cannot find widget 'MenuTool'"); - return FAILURE; - } - - /* create Tool menu */ - pMenu = GTK_MENU(gtk_menu_new()); - gtk_widget_ref(GTK_WIDGET(pMenu)); - gtk_object_set_data_full(GTK_OBJECT(pWindowMain), "MenuTool_menu", pMenu, (GtkDestroyNotify) gtk_widget_unref); - gtk_menu_item_set_submenu(GTK_MENU_ITEM (pWidget), GTK_WIDGET(pMenu)); - - /* add items to the menu */ - for (pTool = pToolList; pTool != NULL; pTool = pTool->pNext) - { - if (strlen(pTool->szName) == 0) - continue; - - pTool->pMenuItem = GTK_MENU_ITEM(gtk_menu_item_new_with_label(pTool->szName)); - gtk_widget_ref(GTK_WIDGET(pTool->pMenuItem)); - gtk_widget_show(GTK_WIDGET(pTool->pMenuItem)); - gtk_container_add(GTK_CONTAINER(pMenu), GTK_WIDGET(pTool->pMenuItem)); - gtk_signal_connect(GTK_OBJECT(pTool->pMenuItem), "activate", GTK_SIGNAL_FUNC(Menu_Tool_Activation), NULL); - } - - return SUCCESS; -} - - -static void Menu_Tool_Activation(GtkMenuItem *pMenuItem, gpointer pUserData) -{ - struct Tool_s *pTool; - int iResult; - - /* look for a tool */ - for (pTool = pToolList; pTool != NULL; pTool = pTool->pNext) - if (pTool->pMenuItem == pMenuItem) - break; - if (pTool == NULL) - { - /* TODO: error handling */ - return; - } - - /* run the tool */ - iResult = ToolRun(pTool->szCommand, "", TASK_NOFLAG); - if (iResult != SUCCESS) - { - /* TODO: error handling */ - return; - } -} - - - -/****************************************************************************************************/ - - -int ToolRun(char *szCommand, char *szFilename, DWORD fFlags) -{ - pid_t Pid; - - - /* create a subtask to run a command */ - Pid = fork(); - if (Pid < 0) - { - MsgBox( - pWindowMain, - "Error !", - "Cannot create a subtask !", - MSGBOX_ERROR | MSGBOX_OKD - ); - return FAILURE; - } - - /* run command in child process */ - else if (Pid == 0) - { - system(szCommand); - _exit(0); - } - - /* register the subtask in parent process */ - else - { -// TaskNew(Pid, szCommand, fFlags); - } - - return SUCCESS; -} diff --git a/geda/src/tool.h b/geda/src/tool.h deleted file mode 100644 index ac1bff4ea..000000000 --- a/geda/src/tool.h +++ /dev/null @@ -1,131 +0,0 @@ -/*******************************************************************************/ -/* */ -/* gEDA Suite Project Manager */ -/* */ -/* Copyright (C) 2002 Piotr Miarecki, sp9rve@eter.ariadna.pl */ -/* */ -/* 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 version 2. */ -/* */ -/* This program is distributed in the hope that it will be useful, */ -/* but WITHOUT ANY WARRANTY; without even the implied warranty of */ -/* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the */ -/* GNU General Public License for more details. */ -/* */ -/* You should have received a copy of the GNU General Public License */ -/* along with this program; if not, write to the Free Software */ -/* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ -/* */ -/*******************************************************************************/ - -#ifndef __TOOL_H_INCLUDED -#define __TOOL_H_INCLUDED - -#include -#include "global.h" -#include "task.h" - - - -/* tool list structure */ -struct Tool_s -{ - int iId; /* ID number of a tool entry */ - char szName[TEXTLEN]; /* name of a tool, f.ex. "Schematic Editor" */ - char szCommand[TEXTLEN]; /* command to run the tool (without file context), f.ex. "gschem" */ - int iType; /* type of the tool (embedded/external) */ - GtkMenuItem *pMenuItem; - struct Tool_s *pNext; /* pointer to the next tool, NULL for the last */ -}; - -/* action table */ -struct Action_s -{ - int iId; /* ID number of action entry */ - char szName[TEXTLEN]; /* action name, f.ex. "SPICE simulation" */ - char szExt[TEXTLEN]; /* extension on what action is allowed */ - char szCommand[TEXTLEN]; /* command to make action, f.ex. "spice %f.cir" */ - char szImport[TEXTLEN]; /* list of files to be imported after executing szCommand[] */ - DWORD fFlags; - int iToolId; /* related tool */ - GtkMenuItem *pMenuItem; - int bMenuEntryUsed; - struct Action_s *pNext; /* pointer to the next action, NULL for the last */ -}; - -/* file extension structure */ -struct Ext_s -{ - int iId; /* ID number of extension entry */ - char szName[TEXTLEN]; /* file type, f.ex. "Schematic" */ - char szExt[TEXTLEN]; /* extension, f.ex. "sch" */ - char szParent[TEXTLEN]; /* possible parent extensions */ - int iGroupId; - int bInFileNew; - int bMenuUsed; - char szTemplate[TEXTLEN]; /* path/filename of a template */ - int iActionId; /* default action */ - GtkMenuItem *pMenuItem; - struct Ext_s *pNext; /* pointer to the next extension, NULL for the last */ -}; -extern struct Action_s *pActionList; -/* - Macros for accessing tool database -*/ - -/* databases */ -#define TOOL_LIST 1 -#define ACTION_LIST 2 -#define EXT_LIST 3 -#define GROUP_LIST 4 - -/* fields of tool database */ -#define TOOL_ID 1 -#define TOOL_NAME 2 -#define TOOL_COMMAND 3 -#define TOOL_TYPE 4 - -/* fields of group database */ -#define GROUP_NONE -1 -#define GROUP_ID 1 -#define GROUP_NAME 2 -#define GROUP_NODE 3 -#define GROUP_NEXT 4 - -/* fields of action database */ -#define ACTION_ID 1 -#define ACTION_NAME 2 -#define ACTION_EXT 3 -#define ACTION_COMMAND 4 -#define ACTION_IMPORT 5 -#define ACTION_TOOLID 6 - -/* fields of extension database */ -#define EXT_ID 1 -#define EXT_NAME 2 -#define EXT_EXT 3 -#define EXT_TEMPLATE 4 -#define EXT_INFILENEW 5 -#define EXT_ACTIONID 6 -#define EXT_PARENT 7 -#define EXT_GROUPID 8 - -/* TODO */ -#define TOOL_DEFAULT -1 - -/* public functions */ -int ToolGetExtensionId(char *szExtension, int *iExtId); -int ToolInitialize(void); -int ToolRelease(void); -int ToolProcess(void); -int ToolValueGet(int iDataBase, int iValue, int iId, void *pValue); -int ToolValueSet(int iDataBase, int iValue, int iId, void *pValue); -int ToolOpenFile(int iExtId, char *szFilename, int iActionId); -int ToolRun(char *szCommand, char *szFilename, DWORD fFlags); -void ActionSelect(char *szExt); -void MenuFileNewRefresh(const char *szExt); - - - -#endif diff --git a/geda/src/txtedit.c b/geda/src/txtedit.c deleted file mode 100644 index 979caec95..000000000 --- a/geda/src/txtedit.c +++ /dev/null @@ -1,246 +0,0 @@ -/* $Id$ */ - -/*******************************************************************************/ -/* */ -/* gEDA Suite Project Manager */ -/* */ -/* Copyright (C) 2002 Piotr Miarecki, sp9rve@eter.ariadna.pl */ -/* */ -/* 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 version 2. */ -/* */ -/* This program is distributed in the hope that it will be useful, */ -/* but WITHOUT ANY WARRANTY; without even the implied warranty of */ -/* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the */ -/* GNU General Public License for more details. */ -/* */ -/* You should have received a copy of the GNU General Public License */ -/* along with this program; if not, write to the Free Software */ -/* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ -/* */ -/*******************************************************************************/ - -#ifdef HAVE_CONFIG_H -#include "config.h" -#endif - -#define GTK_ENABLE_BROKEN -#include -#include -#include - -#ifdef HAVE_STRING_H -#include -#endif - -#include "doc.h" -#include "global.h" -#include "project.h" -#include "txtedit.h" -#include "window.h" - - - -static void EditChanged(GtkEditable *pEditable, gpointer pUserData); - - - -struct Edit_s -{ - char *szPath; - GtkWidget *pParent; - GtkText *pText; - int bChanged; - struct Edit_s *pNext; -}; -static struct Edit_s *pEditList = NULL; - - - -void EditOpen(const char *szPath) -{ - GdkFont *pFixedFont; - FILE *hFile; - struct Doc_s *pDoc; - struct Edit_s *pEdit, *pPtr; - int i; - char szText[2]; - - for (pEdit = pEditList; pEdit != NULL; pEdit = pEdit->pNext) - { - if (strcmp(pEdit->szPath, szPath) == 0) - break; - } - if (pEdit != NULL) /* file already opened */ - { - gmanager_window_select(szPath); - return; - } - - pEdit = (struct Edit_s *) malloc(sizeof(struct Edit_s)); - if (pEdit == NULL) - return; - pEdit->pNext = NULL; - - pEdit->pParent = gmanager_window_new(szPath); - if (pEdit->pParent == NULL) - { - free(pEdit); - return; - } - gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(pEdit->pParent), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); - - pFixedFont = gdk_font_load("-misc-fixed-medium-r-*-*-*-120-*-*-*-*-*-*"); - - pEdit->pText = GTK_TEXT(gtk_text_new(NULL, NULL)); - gtk_widget_show(GTK_WIDGET(pEdit->pText)); - gtk_container_add(GTK_CONTAINER (pEdit->pParent), GTK_WIDGET(pEdit->pText)); - gtk_text_set_editable(pEdit->pText, TRUE); - gtk_text_set_word_wrap(pEdit->pText, TRUE); - gtk_text_set_line_wrap(pEdit->pText, TRUE); - - pEdit->szPath = (char *) malloc(strlen(szPath) + 1); - if (pEdit->szPath == NULL) - { - gtk_widget_destroy(GTK_WIDGET(pEdit->pText)); - free(pEdit); - return; - } - strcpy(pEdit->szPath, szPath); - - if (pEditList == NULL) - { - pEditList = pEdit; - } - else - { - for (pPtr = pEditList; pPtr->pNext != NULL; pPtr = pPtr->pNext) - ; - pPtr->pNext = pEdit; - } - - hFile = fopen(pEdit->szPath, "r"); - if (hFile == NULL) - { - gtk_widget_destroy(GTK_WIDGET(pEdit->pText)); - free(pEdit->szPath); - return; - } - - while (!feof(hFile)) - { - i = fgetc(hFile); - if (i < 0) - break; - - szText[0] = (char) i; - szText[1] = 0; - gtk_text_insert(pEdit->pText, pFixedFont, NULL, NULL, szText, strlen(szText)); - } - - fclose(hFile); - - for (pDoc = pDocList; pDoc != NULL; pDoc = pDoc->pNext) - { - if (strcmp(szPath, pDoc->szFileName) == 0) - break; - } - if (pDoc == NULL) - return; - pDoc->bChanged = FALSE; - ProjectTitle(); - gtk_signal_connect(GTK_OBJECT(pEdit->pText), "changed", GTK_SIGNAL_FUNC(EditChanged), pEdit->szPath); -} - - - -void EditSave(const char *szPath) -{ - FILE *hFile; - struct Doc_s *pDoc; - struct Edit_s *pEdit; - - for (pEdit = pEditList; pEdit->pNext != NULL; pEdit = pEdit->pNext) - if (strcmp(szPath, pEdit->szPath) == 0) - break; - if (pEdit == NULL) - return; - - hFile = fopen(pEdit->szPath, "w"); - if (hFile == NULL) - return; - - fprintf(hFile, "%s", gtk_editable_get_chars(GTK_EDITABLE(pEdit->pText), 0, -1)); - - fclose(hFile); - - for (pDoc = pDocList; pDoc != NULL; pDoc = pDoc->pNext) - { - if (strcmp(szPath, pDoc->szFileName) == 0) - break; - } - if (pDoc == NULL) - return; - pDoc->bChanged = FALSE; - ProjectTitle(); -} - - - -void EditPrint(const char *szPath) -{ -} - - - -void EditClose(const char *szPath) -{ - struct Edit_s *pEdit, *pPtr; - - for (pEdit = pEditList; pEdit != NULL; pEdit = pEdit->pNext) - { - if (strcmp(szPath, pEdit->szPath) == 0) - break; - } - if (pEdit == NULL) - return; - - gtk_signal_disconnect_by_func(GTK_OBJECT(pEdit->pText), GTK_SIGNAL_FUNC(EditChanged), pEdit->szPath); - gmanager_window_remove(pEdit->pParent); - free(pEdit->szPath); - - if (pEdit == pEditList) - { - pEditList = (pEdit->pNext == NULL) - ? NULL - : pEdit->pNext; - } - else - { - for (pPtr = pEditList; pPtr != NULL; pPtr = pPtr->pNext) - if (pPtr->pNext == pEdit) - break; - pPtr->pNext = pEdit->pNext; - } - - free((void *) pEdit); -} - - - -static void EditChanged(GtkEditable *pEditable, gpointer pUserData) -{ - struct Doc_s *pDoc; - - for (pDoc = pDocList; pDoc != NULL; pDoc = pDoc->pNext) - { - if (strcmp(pUserData, pDoc->szFileName) == 0) - break; - } - if (pDoc == NULL) - return; - - pDoc->bChanged = TRUE; - ProjectTitle(); -} diff --git a/geda/src/txtedit.h b/geda/src/txtedit.h deleted file mode 100644 index ebc511a5d..000000000 --- a/geda/src/txtedit.h +++ /dev/null @@ -1,34 +0,0 @@ -/*******************************************************************************/ -/* */ -/* Project Manager */ -/* */ -/* Copyright (C) 2002 Piotr Miarecki, sp9rve@eter.ariadna.pl */ -/* */ -/* 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 version 2. */ -/* */ -/* This program is distributed in the hope that it will be useful, */ -/* but WITHOUT ANY WARRANTY; without even the implied warranty of */ -/* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the */ -/* GNU General Public License for more details. */ -/* */ -/* You should have received a copy of the GNU General Public License */ -/* along with this program; if not, write to the Free Software */ -/* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ -/* */ -/*******************************************************************************/ - -#ifndef __TXTEDIT_H_INCLUDED -#define __TXTEDIT_H_INCLUDED - - - -void EditOpen(const char *szPath); -void EditSave(const char *szPath); -void EditPrint(const char *szPath); -void EditClose(const char *szPath); - - - -#endif /* __TXTEDIT_H_INCLUDED */ diff --git a/geda/src/window.c b/geda/src/window.c deleted file mode 100644 index 692ecafe5..000000000 --- a/geda/src/window.c +++ /dev/null @@ -1,229 +0,0 @@ -/* $Id$ */ - -/*******************************************************************************/ -/* */ -/* gEDA Suite Project Manager */ -/* */ -/* Copyright (C) 2002 Piotr Miarecki, sp9rve@eter.ariadna.pl */ -/* */ -/* 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 version 2. */ -/* */ -/* This program is distributed in the hope that it will be useful, */ -/* but WITHOUT ANY WARRANTY; without even the implied warranty of */ -/* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the */ -/* GNU General Public License for more details. */ -/* */ -/* You should have received a copy of the GNU General Public License */ -/* along with this program; if not, write to the Free Software */ -/* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ -/* */ -/*******************************************************************************/ - - -#ifdef HAVE_CONFIG_H -#include "config.h" -#endif - -#include -#include - -#ifdef HAVE_STRING_H -#include -#endif - -#include "global.h" -#include "m_window.h" -#include "support.h" -#include "window.h" - - - -struct Window_s -{ - char *szPath; - GtkWidget *pWidget; - GtkLabel *pLabel; - GtkMenuItem *pMenuItem; - struct Window_s *pNext; -}; -static struct Window_s *pWindowList = NULL; -static GtkNotebook *pNotebook; - - - -void WindowInitialize(void) -{ - GtkHPaned *pHPaned; - - pHPaned = GTK_HPANED(lookup_widget(GTK_WIDGET(pWindowMain), "HPaned")); - - pNotebook = GTK_NOTEBOOK(gtk_notebook_new()); - gtk_notebook_set_show_tabs(GTK_NOTEBOOK(pNotebook), FALSE); - gtk_widget_show(GTK_WIDGET(pNotebook)); - gtk_paned_pack2(GTK_PANED(pHPaned), GTK_WIDGET(pNotebook), TRUE, TRUE); - gtk_container_set_border_width(GTK_CONTAINER(pNotebook), 4); - gtk_notebook_set_scrollable(GTK_NOTEBOOK(pNotebook), TRUE); -} - - - -GtkWidget *gmanager_window_new(const char *szPath) -{ - struct Window_s *pWindow, *pPtr; - - int i; - - pWindow = (struct Window_s *) malloc(sizeof(struct Window_s)); - if (pWindow == NULL) - return NULL; - pWindow->pNext = NULL; - - pWindow->szPath = (char *) malloc(strlen(szPath) + 1); - if (pWindow->szPath == NULL) - return NULL; - strcpy(pWindow->szPath, szPath); - - pWindow->pWidget = gtk_scrolled_window_new(NULL, NULL); - gtk_widget_show(GTK_WIDGET(pWindow->pWidget)); - gtk_container_add(GTK_CONTAINER (pNotebook), pWindow->pWidget); - gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(pWindow->pWidget), GTK_POLICY_NEVER, GTK_POLICY_NEVER); - - pWindow->pLabel = GTK_LABEL(gtk_label_new(szPath)); - gtk_widget_show(GTK_WIDGET(pWindow->pLabel)); - - for (i = 0; TRUE; i ++) - if (gtk_notebook_get_nth_page(pNotebook, i) == pWindow->pWidget) - break; - gtk_notebook_set_tab_label(pNotebook, pWindow->pWidget, GTK_WIDGET(pWindow->pLabel)); - gtk_notebook_set_page(pNotebook, i); - - if (pWindowList == NULL) - { - pWindowList = pWindow; - } - else - { - for (pPtr = pWindowList; pPtr->pNext != NULL; pPtr = pPtr->pNext) - ; - pPtr->pNext = pWindow; - } - - pWindow->pMenuItem = MenuWindowNew(pWindow->szPath); - - return pWindow->pWidget; -} - - - -void gmanager_window_remove(GtkWidget *pWidget) -{ - struct Window_s *pWindow, *pPtr; - - for (pWindow = pWindowList; pWindow != NULL; pWindow = pWindow->pNext) - { - if (pWindow->pWidget == pWidget) - break; - } - if (pWindow == NULL) - return; - - MenuWindowDelete(pWindow->pMenuItem); - - free(pWindow->szPath); - - if (pWindow == pWindowList) - { - pWindowList = (pWindow->pNext == NULL) - ? NULL - : pWindow->pNext; - } - else - { - for (pPtr = pWindowList; pPtr != NULL; pPtr = pPtr->pNext) - if (pPtr->pNext == pWindow) - break; - pPtr->pNext = pWindow->pNext; - } - - gtk_container_remove(GTK_CONTAINER (pNotebook), pWindow->pWidget); - free((void *) pWindow); -} - - - -void gmanager_window_select(const char *szPath) -{ - struct Window_s *pWindow; - - for (pWindow = pWindowList; pWindow != NULL; pWindow = pWindow->pNext) - { - if (strcmp(pWindow->szPath, szPath) == 0) - break; - } - if (pWindow == NULL) - return; - - gtk_notebook_set_page(pNotebook, gtk_notebook_page_num(pNotebook, pWindow->pWidget)); -} - - - -char *WindowTop(void) -{ - struct Window_s *pWindow; - GtkWidget *pWidget; - static char *szPath = NULL; - - pWidget = gtk_notebook_get_nth_page(pNotebook, gtk_notebook_get_current_page(pNotebook)); - for (pWindow = pWindowList; pWindow != NULL; pWindow = pWindow->pNext) - if (pWindow->pWidget == pWidget) - break; - if (pWindow == NULL) - return NULL; - - if (szPath != NULL) - free((void *) szPath); - szPath = (char *) malloc(strlen(pWindow->szPath) + 1); - if (szPath == NULL) - return NULL; - strcpy(szPath, pWindow->szPath); - - return szPath; -} - - - -void WindowSwitch(GtkNotebook *pNotebook, GtkNotebookPage *pPage, gint iPage, gpointer pUserData) -{ - struct Window_s *pWindow; - GtkWidget *pWidget; - - pWidget = gtk_notebook_get_nth_page(pNotebook, iPage); - - for (pWindow = pWindowList; pWindow != NULL; pWindow = pWindow->pNext) - { - if (pWindow->pWidget == pWidget) - break; - } - if (pWindow == NULL) - return; - - WindowSelected(pWindow->szPath); -} - - - -void WindowSelected(const char *szPath) -{ - struct Window_s *pWindow; - - for (pWindow = pWindowList; pWindow != NULL; pWindow = pWindow->pNext) - { - if (strcmp(pWindow->szPath, szPath) == 0) - break; - } - if (pWindow == NULL) - return; -} diff --git a/geda/src/window.h b/geda/src/window.h deleted file mode 100644 index 27a35a874..000000000 --- a/geda/src/window.h +++ /dev/null @@ -1,40 +0,0 @@ -/*******************************************************************************/ -/* */ -/* gEDA Suite Project Manager */ -/* */ -/* Copyright (C) 2002 Piotr Miarecki, sp9rve@eter.ariadna.pl */ -/* */ -/* 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 version 2. */ -/* */ -/* This program is distributed in the hope that it will be useful, */ -/* but WITHOUT ANY WARRANTY; without even the implied warranty of */ -/* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the */ -/* GNU General Public License for more details. */ -/* */ -/* You should have received a copy of the GNU General Public License */ -/* along with this program; if not, write to the Free Software */ -/* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ -/* */ -/*******************************************************************************/ - -#ifndef __WINDOW_H_INCLUDED -#define __WINDOW_H_INCLUDED - -#include - - - -GtkWidget *gmanager_window_new(const char *szLabel); -void gmanager_window_remove(GtkWidget *pWindow); -void gmanager_window_select(const char *szPath); - -void WindowInitialize(void); -char *WindowTop(void); -void WindowSelected(const char *szPath); -void WindowSwitch(GtkNotebook *pNotebook, GtkNotebookPage *pPage, gint iPage, gpointer pUserData); - - - -#endif -- 2.11.4.GIT