Initial population - based on GeSHi 1.0.7.20
authorDan
Sun, 10 Feb 2008 18:10:52 -0500
changeset 0 441963e5b07a
child 1 c715631f809a
Initial population - based on GeSHi 1.0.7.20
COPYING
plugins/GeSHi.php
plugins/geshi/base.php
plugins/geshi/geshi/abap.php
plugins/geshi/geshi/actionscript.php
plugins/geshi/geshi/ada.php
plugins/geshi/geshi/apache.php
plugins/geshi/geshi/applescript.php
plugins/geshi/geshi/asm.php
plugins/geshi/geshi/asp.php
plugins/geshi/geshi/autoit.php
plugins/geshi/geshi/bash.php
plugins/geshi/geshi/blitzbasic.php
plugins/geshi/geshi/bnf.php
plugins/geshi/geshi/c.php
plugins/geshi/geshi/c_mac.php
plugins/geshi/geshi/caddcl.php
plugins/geshi/geshi/cadlisp.php
plugins/geshi/geshi/cfdg.php
plugins/geshi/geshi/cfm.php
plugins/geshi/geshi/cpp-qt.php
plugins/geshi/geshi/cpp.php
plugins/geshi/geshi/csharp.php
plugins/geshi/geshi/css-gen.cfg
plugins/geshi/geshi/css.php
plugins/geshi/geshi/d.php
plugins/geshi/geshi/delphi.php
plugins/geshi/geshi/diff.php
plugins/geshi/geshi/div.php
plugins/geshi/geshi/dos.php
plugins/geshi/geshi/dot.php
plugins/geshi/geshi/eiffel.php
plugins/geshi/geshi/fortran.php
plugins/geshi/geshi/freebasic.php
plugins/geshi/geshi/genero.php
plugins/geshi/geshi/gml.php
plugins/geshi/geshi/groovy.php
plugins/geshi/geshi/haskell.php
plugins/geshi/geshi/html4strict.php
plugins/geshi/geshi/idl.php
plugins/geshi/geshi/ini.php
plugins/geshi/geshi/inno.php
plugins/geshi/geshi/io.php
plugins/geshi/geshi/java.php
plugins/geshi/geshi/java5.php
plugins/geshi/geshi/javascript.php
plugins/geshi/geshi/latex.php
plugins/geshi/geshi/lisp.php
plugins/geshi/geshi/lua.php
plugins/geshi/geshi/m68k.php
plugins/geshi/geshi/matlab.php
plugins/geshi/geshi/mirc.php
plugins/geshi/geshi/mpasm.php
plugins/geshi/geshi/mysql.php
plugins/geshi/geshi/nsis.php
plugins/geshi/geshi/objc.php
plugins/geshi/geshi/ocaml-brief.php
plugins/geshi/geshi/ocaml.php
plugins/geshi/geshi/oobas.php
plugins/geshi/geshi/oracle8.php
plugins/geshi/geshi/pascal.php
plugins/geshi/geshi/per.php
plugins/geshi/geshi/perl.php
plugins/geshi/geshi/php-brief.php
plugins/geshi/geshi/php.php
plugins/geshi/geshi/plsql.php
plugins/geshi/geshi/python.php
plugins/geshi/geshi/qbasic.php
plugins/geshi/geshi/rails.php
plugins/geshi/geshi/reg.php
plugins/geshi/geshi/robots.php
plugins/geshi/geshi/ruby.php
plugins/geshi/geshi/sas.php
plugins/geshi/geshi/scheme.php
plugins/geshi/geshi/sdlbasic.php
plugins/geshi/geshi/smalltalk.php
plugins/geshi/geshi/smarty.php
plugins/geshi/geshi/sql.php
plugins/geshi/geshi/tcl.php
plugins/geshi/geshi/text.php
plugins/geshi/geshi/thinbasic.php
plugins/geshi/geshi/tsql.php
plugins/geshi/geshi/vb.php
plugins/geshi/geshi/vbnet.php
plugins/geshi/geshi/vhdl.php
plugins/geshi/geshi/visualfoxpro.php
plugins/geshi/geshi/winbatch.php
plugins/geshi/geshi/xml.php
plugins/geshi/geshi/xpp.php
plugins/geshi/geshi/z80.php
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/COPYING	Sun Feb 10 18:10:52 2008 -0500
@@ -0,0 +1,340 @@
+		    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.
+
+    <one line to give the program's name and a brief idea of what it does.>
+    Copyright (C) <year>  <name of author>
+
+    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.
+
+  <signature of Ty Coon>, 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.
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/plugins/geshi/base.php	Sun Feb 10 18:10:52 2008 -0500
@@ -0,0 +1,2913 @@
+<?php
+/**
+ * GeSHi - Generic Syntax Highlighter
+ *
+ * The GeSHi class for Generic Syntax Highlighting. Please refer to the
+ * documentation at http://qbnz.com/highlighter/documentation.php for more
+ * information about how to use this class.
+ *
+ * For changes, release notes, TODOs etc, see the relevant files in the docs/
+ * directory.
+ *
+ *   This file is part of GeSHi.
+ *
+ *  GeSHi is free software; you can 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.
+ *
+ *  GeSHi is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with GeSHi; if not, write to the Free Software
+ *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
+ * @package    geshi
+ * @subpackage core
+ * @author     Nigel McNie <nigel@geshi.org>
+ * @copyright  (C) 2004 - 2007 Nigel McNie
+ * @license    http://gnu.org/copyleft/gpl.html GNU GPL
+ *
+ */
+
+//
+// GeSHi Constants
+// You should use these constant names in your programs instead of
+// their values - you never know when a value may change in a future
+// version
+//
+
+/** The version of this GeSHi file */
+define('GESHI_VERSION', '1.0.7.20');
+
+// Define the root directory for the GeSHi code tree
+if (!defined('GESHI_ROOT')) {
+    /** The root directory for GeSHi */
+    define('GESHI_ROOT', dirname(__FILE__) . DIRECTORY_SEPARATOR);
+}
+/** The language file directory for GeSHi
+    @access private */
+define('GESHI_LANG_ROOT', GESHI_ROOT . 'geshi' . DIRECTORY_SEPARATOR);
+
+
+// Line numbers - use with enable_line_numbers()
+/** Use no line numbers when building the result */
+define('GESHI_NO_LINE_NUMBERS', 0);
+/** Use normal line numbers when building the result */
+define('GESHI_NORMAL_LINE_NUMBERS', 1);
+/** Use fancy line numbers when building the result */
+define('GESHI_FANCY_LINE_NUMBERS', 2);
+
+// Container HTML type
+/** Use nothing to surround the source */
+define('GESHI_HEADER_NONE', 0);
+/** Use a "div" to surround the source */
+define('GESHI_HEADER_DIV', 1);
+/** Use a "pre" to surround the source */
+define('GESHI_HEADER_PRE', 2);
+
+// Capatalisation constants
+/** Lowercase keywords found */
+define('GESHI_CAPS_NO_CHANGE', 0);
+/** Uppercase keywords found */
+define('GESHI_CAPS_UPPER', 1);
+/** Leave keywords found as the case that they are */
+define('GESHI_CAPS_LOWER', 2);
+
+// Link style constants
+/** Links in the source in the :link state */
+define('GESHI_LINK', 0);
+/** Links in the source in the :hover state */
+define('GESHI_HOVER', 1);
+/** Links in the source in the :active state */
+define('GESHI_ACTIVE', 2);
+/** Links in the source in the :visited state */
+define('GESHI_VISITED', 3);
+
+// Important string starter/finisher
+// Note that if you change these, they should be as-is: i.e., don't
+// write them as if they had been run through htmlentities()
+/** The starter for important parts of the source */
+define('GESHI_START_IMPORTANT', '<BEGIN GeSHi>');
+/** The ender for important parts of the source */
+define('GESHI_END_IMPORTANT', '<END GeSHi>');
+
+/**#@+
+ *  @access private
+ */
+// When strict mode applies for a language
+/** Strict mode never applies (this is the most common) */
+define('GESHI_NEVER', 0);
+/** Strict mode *might* apply, and can be enabled or
+    disabled by {@link GeSHi::enable_strict_mode()} */
+define('GESHI_MAYBE', 1);
+/** Strict mode always applies */
+define('GESHI_ALWAYS', 2);
+
+// Advanced regexp handling constants, used in language files
+/** The key of the regex array defining what to search for */
+define('GESHI_SEARCH', 0);
+/** The key of the regex array defining what bracket group in a
+    matched search to use as a replacement */
+define('GESHI_REPLACE', 1);
+/** The key of the regex array defining any modifiers to the regular expression */
+define('GESHI_MODIFIERS', 2);
+/** The key of the regex array defining what bracket group in a
+    matched search to put before the replacement */
+define('GESHI_BEFORE', 3);
+/** The key of the regex array defining what bracket group in a
+    matched search to put after the replacement */
+define('GESHI_AFTER', 4);
+/** The key of the regex array defining a custom keyword to use
+    for this regexp's html tag class */
+define('GESHI_CLASS', 5);
+
+/** Used in language files to mark comments */
+define('GESHI_COMMENTS', 0);
+
+// Error detection - use these to analyse faults
+/** No sourcecode to highlight was specified
+ * @deprecated
+ */
+define('GESHI_ERROR_NO_INPUT', 1);
+/** The language specified does not exist */
+define('GESHI_ERROR_NO_SUCH_LANG', 2);
+/** GeSHi could not open a file for reading (generally a language file) */
+define('GESHI_ERROR_FILE_NOT_READABLE', 3);
+/** The header type passed to {@link GeSHi::set_header_type()} was invalid */
+define('GESHI_ERROR_INVALID_HEADER_TYPE', 4);
+/** The line number type passed to {@link GeSHi::enable_line_numbers()} was invalid */
+define('GESHI_ERROR_INVALID_LINE_NUMBER_TYPE', 5);
+/**#@-*/
+
+
+/**
+ * The GeSHi Class.
+ *
+ * Please refer to the documentation for GeSHi 1.0.X that is available
+ * at http://qbnz.com/highlighter/documentation.php for more information
+ * about how to use this class.
+ *
+ * @package   geshi
+ * @author    Nigel McNie <nigel@geshi.org>
+ * @copyright (C) 2004 - 2007 Nigel McNie
+ */
+class GeSHi {
+    /**#@+
+     * @access private
+     */
+    /**
+     * The source code to highlight
+     * @var string
+     */
+    var $source = '';
+
+    /**
+     * The language to use when highlighting
+     * @var string
+     */
+    var $language = '';
+
+    /**
+     * The data for the language used
+     * @var array
+     */
+    var $language_data = array();
+
+    /**
+     * The path to the language files
+     * @var string
+     */
+    var $language_path = GESHI_LANG_ROOT;
+
+    /**
+     * The error message associated with an error
+     * @var string
+     * @todo check err reporting works
+     */
+    var $error = false;
+
+    /**
+     * Possible error messages
+     * @var array
+     */
+    var $error_messages = array(
+        GESHI_ERROR_NO_SUCH_LANG => 'GeSHi could not find the language {LANGUAGE} (using path {PATH})',
+        GESHI_ERROR_FILE_NOT_READABLE => 'The file specified for load_from_file was not readable',
+        GESHI_ERROR_INVALID_HEADER_TYPE => 'The header type specified is invalid',
+        GESHI_ERROR_INVALID_LINE_NUMBER_TYPE => 'The line number type specified is invalid'
+    );
+
+    /**
+     * Whether highlighting is strict or not
+     * @var boolean
+     */
+    var $strict_mode = false;
+
+    /**
+     * Whether to use CSS classes in output
+     * @var boolean
+     */
+    var $use_classes = false;
+
+    /**
+     * The type of header to use. Can be one of the following
+     * values:
+     *
+     * - GESHI_HEADER_PRE: Source is outputted in a "pre" HTML element.
+     * - GESHI_HEADER_DIV: Source is outputted in a "div" HTML element.
+     * - GESHI_HEADER_NONE: No header is outputted.
+     *
+     * @var int
+     */
+    var $header_type = GESHI_HEADER_PRE;
+
+    /**
+     * Array of permissions for which lexics should be highlighted
+     * @var array
+     */
+    var $lexic_permissions = array(
+        'KEYWORDS' =>    array(),
+        'COMMENTS' =>    array('MULTI' => true),
+        'REGEXPS' =>     array(),
+        'ESCAPE_CHAR' => true,
+        'BRACKETS' =>    true,
+        'SYMBOLS' =>     true,
+        'STRINGS' =>     true,
+        'NUMBERS' =>     true,
+        'METHODS' =>     true,
+        'SCRIPT' =>      true
+    );
+
+    /**
+     * The time it took to parse the code
+     * @var double
+     */
+    var $time = 0;
+
+    /**
+     * The content of the header block
+     * @var string
+     */
+    var $header_content = '';
+
+    /**
+     * The content of the footer block
+     * @var string
+     */
+    var $footer_content = '';
+
+    /**
+     * The style of the header block
+     * @var string
+     */
+    var $header_content_style = '';
+
+    /**
+     * The style of the footer block
+     * @var string
+     */
+    var $footer_content_style = '';
+
+    /**
+     * Tells if a block around the highlighted source should be forced
+     * if not using line numbering
+     * @var boolean
+     */
+    var $force_code_block = false;
+
+    /**
+     * The styles for hyperlinks in the code
+     * @var array
+     */
+    var $link_styles = array();
+
+    /**
+     * Whether important blocks should be recognised or not
+     * @var boolean
+     * @deprecated
+     * @todo REMOVE THIS FUNCTIONALITY!
+     */
+    var $enable_important_blocks = false;
+
+    /**
+     * Styles for important parts of the code
+     * @var string
+     * @deprecated
+     * @todo As above - rethink the whole idea of important blocks as it is buggy and
+     * will be hard to implement in 1.2
+     */
+    var $important_styles = 'font-weight: bold; color: red;'; // Styles for important parts of the code
+
+    /**
+     * Whether CSS IDs should be added to the code
+     * @var boolean
+     */
+    var $add_ids = false;
+
+    /**
+     * Lines that should be highlighted extra
+     * @var array
+     */
+    var $highlight_extra_lines = array();
+
+    /**
+     * Styles of extra-highlighted lines
+     * @var string
+     */
+    var $highlight_extra_lines_style = 'color: #cc0; background-color: #ffc;';
+
+	/**
+	 * The line ending
+	 * If null, nl2br() will be used on the result string.
+	 * Otherwise, all instances of \n will be replaced with $line_ending
+	 * @var string
+	 */
+	var $line_ending = null;
+
+    /**
+     * Number at which line numbers should start at
+     * @var int
+     */
+    var $line_numbers_start = 1;
+
+    /**
+     * The overall style for this code block
+     * @var string
+     */
+    var $overall_style = '';
+
+    /**
+     *  The style for the actual code
+     * @var string
+     */
+    var $code_style = 'font-family: \'Courier New\', Courier, monospace; font-weight: normal;';
+
+    /**
+     * The overall class for this code block
+     * @var string
+     */
+    var $overall_class = '';
+
+    /**
+     * The overall ID for this code block
+     * @var string
+     */
+    var $overall_id = '';
+
+    /**
+     * Line number styles
+     * @var string
+     */
+    var $line_style1 = 'font-family: \'Courier New\', Courier, monospace; color: black; font-weight: normal; font-style: normal;';
+
+    /**
+     * Line number styles for fancy lines
+     * @var string
+     */
+    var $line_style2 = 'font-weight: bold;';
+
+    /**
+     * Flag for how line nubmers are displayed
+     * @var boolean
+     */
+    var $line_numbers = GESHI_NO_LINE_NUMBERS;
+
+    /**
+     * The "nth" value for fancy line highlighting
+     * @var int
+     */
+    var $line_nth_row = 0;
+
+    /**
+     * The size of tab stops
+     * @var int
+     */
+    var $tab_width = 8;
+
+	/**
+	 * Should we use language-defined tab stop widths?
+	 * @var int
+	 */
+	var $use_language_tab_width = false;
+
+    /**
+     * Default target for keyword links
+     * @var string
+     */
+    var $link_target = '';
+
+    /**
+     * The encoding to use for entity encoding
+     * NOTE: no longer used
+     * @var string
+     */
+    var $encoding = 'ISO-8859-1';
+
+    /**
+     * Should keywords be linked?
+     * @var boolean
+     */
+    var $keyword_links = true;
+
+    /**#@-*/
+
+    /**
+     * Creates a new GeSHi object, with source and language
+     *
+     * @param string The source code to highlight
+     * @param string The language to highlight the source with
+     * @param string The path to the language file directory. <b>This
+     *               is deprecated!</b> I've backported the auto path
+     *               detection from the 1.1.X dev branch, so now it
+     *               should be automatically set correctly. If you have
+     *               renamed the language directory however, you will
+     *               still need to set the path using this parameter or
+     *               {@link GeSHi::set_language_path()}
+     * @since 1.0.0
+     */
+    function GeSHi($source, $language, $path = '') {
+        $this->set_source($source);
+        $this->set_language_path($path);
+        $this->set_language($language);
+    }
+
+    /**
+     * Returns an error message associated with the last GeSHi operation,
+     * or false if no error has occured
+     *
+     * @return string|false An error message if there has been an error, else false
+     * @since  1.0.0
+     */
+    function error() {
+        if ($this->error) {
+            $msg = $this->error_messages[$this->error];
+            $debug_tpl_vars = array(
+                '{LANGUAGE}' => $this->language,
+                '{PATH}' => $this->language_path
+            );
+            foreach ($debug_tpl_vars as $tpl => $var) {
+                $msg = str_replace($tpl, $var, $msg);
+            }
+            return "<br /><strong>GeSHi Error:</strong> $msg (code $this->error)<br />";
+        }
+        return false;
+    }
+
+    /**
+     * Gets a human-readable language name (thanks to Simon Patterson
+     * for the idea :))
+     *
+     * @return string The name for the current language
+     * @since  1.0.2
+     */
+    function get_language_name() {
+        if (GESHI_ERROR_NO_SUCH_LANG == $this->error) {
+            return $this->language_data['LANG_NAME'] . ' (Unknown Language)';
+        }
+        return $this->language_data['LANG_NAME'];
+    }
+
+    /**
+     * Sets the source code for this object
+     *
+     * @param string The source code to highlight
+     * @since 1.0.0
+     */
+    function set_source($source) {
+        $this->source = $source;
+        $this->highlight_extra_lines = array();
+    }
+
+    /**
+     * Sets the language for this object
+     *
+     * @param string The name of the language to use
+     * @since 1.0.0
+     */
+    function set_language($language) {
+        $this->error = false;
+        $this->strict_mode = GESHI_NEVER;
+
+        $language = preg_replace('#[^a-zA-Z0-9\-_]#', '', $language);
+        $this->language = strtolower($language);
+
+        $file_name = $this->language_path . $this->language . '.php';
+        if (!is_readable($file_name)) {
+            $this->error = GESHI_ERROR_NO_SUCH_LANG;
+            return;
+        }
+        // Load the language for parsing
+        $this->load_language($file_name);
+    }
+
+    /**
+     * Sets the path to the directory containing the language files. Note
+     * that this path is relative to the directory of the script that included
+     * geshi.php, NOT geshi.php itself.
+     *
+     * @param string The path to the language directory
+     * @since 1.0.0
+     * @deprecated The path to the language files should now be automatically
+     *             detected, so this method should no longer be needed. The
+     *             1.1.X branch handles manual setting of the path differently
+     *             so this method will disappear in 1.2.0.
+     */
+    function set_language_path($path) {
+        if ($path) {
+            $this->language_path = ('/' == substr($path, strlen($path) - 1, 1)) ? $path : $path . '/';
+            $this->set_language($this->language);        // otherwise set_language_path has no effect
+        }
+    }
+
+    /**
+     * Sets the type of header to be used.
+     *
+     * If GESHI_HEADER_DIV is used, the code is surrounded in a "div".This
+     * means more source code but more control over tab width and line-wrapping.
+     * GESHI_HEADER_PRE means that a "pre" is used - less source, but less
+     * control. Default is GESHI_HEADER_PRE.
+     *
+     * From 1.0.7.2, you can use GESHI_HEADER_NONE to specify that no header code
+     * should be outputted.
+     *
+     * @param int The type of header to be used
+     * @since 1.0.0
+     */
+    function set_header_type($type) {
+        if (GESHI_HEADER_DIV != $type && GESHI_HEADER_PRE != $type && GESHI_HEADER_NONE != $type) {
+            $this->error = GESHI_ERROR_INVALID_HEADER_TYPE;
+            return;
+        }
+        $this->header_type = $type;
+        // Set a default overall style if the header is a <div>
+        if (GESHI_HEADER_DIV == $type && !$this->overall_style) {
+            $this->overall_style = 'font-family: monospace;';
+        }
+    }
+
+    /**
+     * Sets the styles for the code that will be outputted
+     * when this object is parsed. The style should be a
+     * string of valid stylesheet declarations
+     *
+     * @param string  The overall style for the outputted code block
+     * @param boolean Whether to merge the styles with the current styles or not
+     * @since 1.0.0
+     */
+    function set_overall_style($style, $preserve_defaults = false) {
+        if (!$preserve_defaults) {
+            $this->overall_style = $style;
+        }
+        else {
+            $this->overall_style .= $style;
+        }
+    }
+
+    /**
+     * Sets the overall classname for this block of code. This
+     * class can then be used in a stylesheet to style this object's
+     * output
+     *
+     * @param string The class name to use for this block of code
+     * @since 1.0.0
+     */
+    function set_overall_class($class) {
+        $this->overall_class = $class;
+    }
+
+    /**
+     * Sets the overall id for this block of code. This id can then
+     * be used in a stylesheet to style this object's output
+     *
+     * @param string The ID to use for this block of code
+     * @since 1.0.0
+     */
+    function set_overall_id($id) {
+        $this->overall_id = $id;
+    }
+
+    /**
+     * Sets whether CSS classes should be used to highlight the source. Default
+     * is off, calling this method with no arguments will turn it on
+     *
+     * @param boolean Whether to turn classes on or not
+     * @since 1.0.0
+     */
+    function enable_classes($flag = true) {
+        $this->use_classes = ($flag) ? true : false;
+    }
+
+    /**
+     * Sets the style for the actual code. This should be a string
+     * containing valid stylesheet declarations. If $preserve_defaults is
+     * true, then styles are merged with the default styles, with the
+     * user defined styles having priority
+     *
+     * Note: Use this method to override any style changes you made to
+     * the line numbers if you are using line numbers, else the line of
+     * code will have the same style as the line number! Consult the
+     * GeSHi documentation for more information about this.
+     *
+     * @param string  The style to use for actual code
+     * @param boolean Whether to merge the current styles with the new styles
+     */
+    function set_code_style($style, $preserve_defaults = false) {
+        if (!$preserve_defaults) {
+            $this->code_style = $style;
+        }
+        else {
+            $this->code_style .= $style;
+        }
+    }
+
+    /**
+     * Sets the styles for the line numbers.
+     *
+     * @param string The style for the line numbers that are "normal"
+     * @param string|boolean If a string, this is the style of the line
+     *        numbers that are "fancy", otherwise if boolean then this
+     *        defines whether the normal styles should be merged with the
+     *        new normal styles or not
+     * @param boolean If set, is the flag for whether to merge the "fancy"
+     *        styles with the current styles or not
+     * @since 1.0.2
+     */
+    function set_line_style($style1, $style2 = '', $preserve_defaults = false) {
+        if (is_bool($style2)) {
+            $preserve_defaults = $style2;
+            $style2 = '';
+        }
+        if (!$preserve_defaults) {
+            $this->line_style1 = $style1;
+            $this->line_style2 = $style2;
+        }
+        else {
+            $this->line_style1 .= $style1;
+            $this->line_style2 .= $style2;
+        }
+    }
+
+    /**
+     * Sets whether line numbers should be displayed.
+     *
+     * Valid values for the first parameter are:
+     *
+     *  - GESHI_NO_LINE_NUMBERS: Line numbers will not be displayed
+     *  - GESHI_NORMAL_LINE_NUMBERS: Line numbers will be displayed
+     *  - GESHI_FANCY_LINE_NUMBERS: Fancy line numbers will be displayed
+     *
+     * For fancy line numbers, the second parameter is used to signal which lines
+     * are to be fancy. For example, if the value of this parameter is 5 then every
+     * 5th line will be fancy.
+     *
+     * @param int How line numbers should be displayed
+     * @param int Defines which lines are fancy
+     * @since 1.0.0
+     */
+    function enable_line_numbers($flag, $nth_row = 5) {
+        if (GESHI_NO_LINE_NUMBERS != $flag && GESHI_NORMAL_LINE_NUMBERS != $flag
+            && GESHI_FANCY_LINE_NUMBERS != $flag) {
+            $this->error = GESHI_ERROR_INVALID_LINE_NUMBER_TYPE;
+        }
+        $this->line_numbers = $flag;
+        $this->line_nth_row = $nth_row;
+    }
+
+    /**
+     * Sets the style for a keyword group. If $preserve_defaults is
+     * true, then styles are merged with the default styles, with the
+     * user defined styles having priority
+     *
+     * @param int     The key of the keyword group to change the styles of
+     * @param string  The style to make the keywords
+     * @param boolean Whether to merge the new styles with the old or just
+     *                to overwrite them
+     * @since 1.0.0
+     */
+    function set_keyword_group_style($key, $style, $preserve_defaults = false) {
+        if (!$preserve_defaults) {
+            $this->language_data['STYLES']['KEYWORDS'][$key] = $style;
+        }
+        else {
+            $this->language_data['STYLES']['KEYWORDS'][$key] .= $style;
+        }
+    }
+
+    /**
+     * Turns highlighting on/off for a keyword group
+     *
+     * @param int     The key of the keyword group to turn on or off
+     * @param boolean Whether to turn highlighting for that group on or off
+     * @since 1.0.0
+     */
+    function set_keyword_group_highlighting($key, $flag = true) {
+        $this->lexic_permissions['KEYWORDS'][$key] = ($flag) ? true : false;
+    }
+
+    /**
+     * Sets the styles for comment groups.  If $preserve_defaults is
+     * true, then styles are merged with the default styles, with the
+     * user defined styles having priority
+     *
+     * @param int     The key of the comment group to change the styles of
+     * @param string  The style to make the comments
+     * @param boolean Whether to merge the new styles with the old or just
+     *                to overwrite them
+     * @since 1.0.0
+     */
+    function set_comments_style($key, $style, $preserve_defaults = false) {
+        if (!$preserve_defaults) {
+            $this->language_data['STYLES']['COMMENTS'][$key] = $style;
+        }
+        else {
+            $this->language_data['STYLES']['COMMENTS'][$key] .= $style;
+        }
+    }
+
+    /**
+     * Turns highlighting on/off for comment groups
+     *
+     * @param int     The key of the comment group to turn on or off
+     * @param boolean Whether to turn highlighting for that group on or off
+     * @since 1.0.0
+     */
+    function set_comments_highlighting($key, $flag = true) {
+        $this->lexic_permissions['COMMENTS'][$key] = ($flag) ? true : false;
+    }
+
+    /**
+     * Sets the styles for escaped characters. If $preserve_defaults is
+     * true, then styles are merged with the default styles, with the
+     * user defined styles having priority
+     *
+     * @param string  The style to make the escape characters
+     * @param boolean Whether to merge the new styles with the old or just
+     *                to overwrite them
+     * @since 1.0.0
+     */
+    function set_escape_characters_style($style, $preserve_defaults = false) {
+        if (!$preserve_defaults) {
+            $this->language_data['STYLES']['ESCAPE_CHAR'][0] = $style;
+        }
+        else {
+            $this->language_data['STYLES']['ESCAPE_CHAR'][0] .= $style;
+        }
+    }
+
+    /**
+     * Turns highlighting on/off for escaped characters
+     *
+     * @param boolean Whether to turn highlighting for escape characters on or off
+     * @since 1.0.0
+     */
+    function set_escape_characters_highlighting($flag = true) {
+        $this->lexic_permissions['ESCAPE_CHAR'] = ($flag) ? true : false;
+    }
+
+    /**
+     * Sets the styles for brackets. If $preserve_defaults is
+     * true, then styles are merged with the default styles, with the
+     * user defined styles having priority
+     *
+     * This method is DEPRECATED: use set_symbols_style instead.
+     * This method will be removed in 1.2.X
+     *
+     * @param string  The style to make the brackets
+     * @param boolean Whether to merge the new styles with the old or just
+     *                to overwrite them
+     * @since 1.0.0
+     * @deprecated In favour of set_symbols_style
+     */
+    function set_brackets_style($style, $preserve_defaults = false) {
+        if (!$preserve_defaults) {
+            $this->language_data['STYLES']['BRACKETS'][0] = $style;
+        }
+        else {
+            $this->language_data['STYLES']['BRACKETS'][0] .= $style;
+        }
+    }
+
+    /**
+     * Turns highlighting on/off for brackets
+     *
+     * This method is DEPRECATED: use set_symbols_highlighting instead.
+     * This method will be remove in 1.2.X
+     *
+     * @param boolean Whether to turn highlighting for brackets on or off
+     * @since 1.0.0
+     * @deprecated In favour of set_symbols_highlighting
+     */
+    function set_brackets_highlighting($flag) {
+        $this->lexic_permissions['BRACKETS'] = ($flag) ? true : false;
+    }
+
+    /**
+     * Sets the styles for symbols. If $preserve_defaults is
+     * true, then styles are merged with the default styles, with the
+     * user defined styles having priority
+     *
+     * @param string  The style to make the symbols
+     * @param boolean Whether to merge the new styles with the old or just
+     *                to overwrite them
+     * @since 1.0.1
+     */
+    function set_symbols_style($style, $preserve_defaults = false) {
+        if (!$preserve_defaults) {
+            $this->language_data['STYLES']['SYMBOLS'][0] = $style;
+        }
+        else {
+            $this->language_data['STYLES']['SYMBOLS'][0] .= $style;
+        }
+        // For backward compatibility
+        $this->set_brackets_style ($style, $preserve_defaults);
+    }
+
+    /**
+     * Turns highlighting on/off for symbols
+     *
+     * @param boolean Whether to turn highlighting for symbols on or off
+     * @since 1.0.0
+     */
+    function set_symbols_highlighting($flag) {
+        $this->lexic_permissions['SYMBOLS'] = ($flag) ? true : false;
+        // For backward compatibility
+        $this->set_brackets_highlighting ($flag);
+    }
+
+    /**
+     * Sets the styles for strings. If $preserve_defaults is
+     * true, then styles are merged with the default styles, with the
+     * user defined styles having priority
+     *
+     * @param string  The style to make the escape characters
+     * @param boolean Whether to merge the new styles with the old or just
+     *                to overwrite them
+     * @since 1.0.0
+     */
+    function set_strings_style($style, $preserve_defaults = false) {
+        if (!$preserve_defaults) {
+            $this->language_data['STYLES']['STRINGS'][0] = $style;
+        }
+        else {
+            $this->language_data['STYLES']['STRINGS'][0] .= $style;
+        }
+    }
+
+    /**
+     * Turns highlighting on/off for strings
+     *
+     * @param boolean Whether to turn highlighting for strings on or off
+     * @since 1.0.0
+     */
+    function set_strings_highlighting($flag) {
+        $this->lexic_permissions['STRINGS'] = ($flag) ? true : false;
+    }
+
+    /**
+     * Sets the styles for numbers. If $preserve_defaults is
+     * true, then styles are merged with the default styles, with the
+     * user defined styles having priority
+     *
+     * @param string  The style to make the numbers
+     * @param boolean Whether to merge the new styles with the old or just
+     *                to overwrite them
+     * @since 1.0.0
+     */
+    function set_numbers_style($style, $preserve_defaults = false) {
+        if (!$preserve_defaults) {
+            $this->language_data['STYLES']['NUMBERS'][0] = $style;
+        }
+        else {
+            $this->language_data['STYLES']['NUMBERS'][0] .= $style;
+        }
+    }
+
+    /**
+     * Turns highlighting on/off for numbers
+     *
+     * @param boolean Whether to turn highlighting for numbers on or off
+     * @since 1.0.0
+     */
+    function set_numbers_highlighting($flag) {
+        $this->lexic_permissions['NUMBERS'] = ($flag) ? true : false;
+    }
+
+    /**
+     * Sets the styles for methods. $key is a number that references the
+     * appropriate "object splitter" - see the language file for the language
+     * you are highlighting to get this number. If $preserve_defaults is
+     * true, then styles are merged with the default styles, with the
+     * user defined styles having priority
+     *
+     * @param int     The key of the object splitter to change the styles of
+     * @param string  The style to make the methods
+     * @param boolean Whether to merge the new styles with the old or just
+     *                to overwrite them
+     * @since 1.0.0
+     */
+    function set_methods_style($key, $style, $preserve_defaults = false) {
+        if (!$preserve_defaults) {
+            $this->language_data['STYLES']['METHODS'][$key] = $style;
+        }
+        else {
+            $this->language_data['STYLES']['METHODS'][$key] .= $style;
+        }
+    }
+
+    /**
+     * Turns highlighting on/off for methods
+     *
+     * @param boolean Whether to turn highlighting for methods on or off
+     * @since 1.0.0
+     */
+    function set_methods_highlighting($flag) {
+        $this->lexic_permissions['METHODS'] = ($flag) ? true : false;
+    }
+
+    /**
+     * Sets the styles for regexps. If $preserve_defaults is
+     * true, then styles are merged with the default styles, with the
+     * user defined styles having priority
+     *
+     * @param string  The style to make the regular expression matches
+     * @param boolean Whether to merge the new styles with the old or just
+     *                to overwrite them
+     * @since 1.0.0
+     */
+    function set_regexps_style($key, $style, $preserve_defaults = false) {
+        if (!$preserve_defaults) {
+            $this->language_data['STYLES']['REGEXPS'][$key] = $style;
+        }
+        else {
+            $this->language_data['STYLES']['REGEXPS'][$key] .= $style;
+        }
+    }
+
+    /**
+     * Turns highlighting on/off for regexps
+     *
+     * @param int     The key of the regular expression group to turn on or off
+     * @param boolean Whether to turn highlighting for the regular expression group on or off
+     * @since 1.0.0
+     */
+    function set_regexps_highlighting($key, $flag) {
+        $this->lexic_permissions['REGEXPS'][$key] = ($flag) ? true : false;
+    }
+
+    /**
+     * Sets whether a set of keywords are checked for in a case sensitive manner
+     *
+     * @param int The key of the keyword group to change the case sensitivity of
+     * @param boolean Whether to check in a case sensitive manner or not
+     * @since 1.0.0
+     */
+    function set_case_sensitivity($key, $case) {
+        $this->language_data['CASE_SENSITIVE'][$key] = ($case) ? true : false;
+    }
+
+    /**
+     * Sets the case that keywords should use when found. Use the constants:
+     *
+     *  - GESHI_CAPS_NO_CHANGE: leave keywords as-is
+     *  - GESHI_CAPS_UPPER: convert all keywords to uppercase where found
+     *  - GESHI_CAPS_LOWER: convert all keywords to lowercase where found
+     *
+     * @param int A constant specifying what to do with matched keywords
+     * @since 1.0.1
+     * @todo  Error check the passed value
+     */
+    function set_case_keywords($case) {
+        $this->language_data['CASE_KEYWORDS'] = $case;
+    }
+
+    /**
+     * Sets how many spaces a tab is substituted for
+     *
+     * Widths below zero are ignored
+     *
+     * @param int The tab width
+     * @since 1.0.0
+     */
+    function set_tab_width($width) {
+        $this->tab_width = intval($width);
+        //Check if it fit's the constraints:
+        if($this->tab_width < 1) {
+            //Return it to the default
+            $this->tab_width = 8;
+        }
+    }
+
+	/**
+	 * Sets whether or not to use tab-stop width specifed by language
+	 *
+	 * @param boolean Whether to use language-specific tab-stop widths
+	 */
+	function set_use_language_tab_width($use) {
+		$this->use_language_tab_width = (bool) $use;
+	}
+
+	/**
+	 * Returns the tab width to use, based on the current language and user
+	 * preference
+	 *
+	 * @return int Tab width
+	 */
+	function get_real_tab_width() {
+		if (!$this->use_language_tab_width || !isset($this->language_data['TAB_WIDTH'])) {
+			return $this->tab_width;
+		} else {
+			return $this->language_data['TAB_WIDTH'];
+		}
+	}
+
+    /**
+     * Enables/disables strict highlighting. Default is off, calling this
+     * method without parameters will turn it on. See documentation
+     * for more details on strict mode and where to use it.
+     *
+     * @param boolean Whether to enable strict mode or not
+     * @since 1.0.0
+     */
+    function enable_strict_mode($mode = true) {
+        if (GESHI_MAYBE == $this->language_data['STRICT_MODE_APPLIES']) {
+          $this->strict_mode = ($mode) ? true : false;
+        }
+    }
+
+    /**
+     * Disables all highlighting
+     *
+     * @since 1.0.0
+     * @todo Rewrite with an array traversal
+     */
+    function disable_highlighting() {
+        foreach ($this->lexic_permissions as $key => $value) {
+            if (is_array($value)) {
+                foreach ($value as $k => $v) {
+                    $this->lexic_permissions[$key][$k] = false;
+                }
+            }
+            else {
+                $this->lexic_permissions[$key] = false;
+            }
+        }
+        // Context blocks
+        $this->enable_important_blocks = false;
+    }
+
+    /**
+     * Enables all highlighting
+     *
+     * @since 1.0.0
+     * @todo  Rewrite with array traversal
+     */
+    function enable_highlighting() {
+        foreach ($this->lexic_permissions as $key => $value) {
+            if (is_array($value)) {
+                foreach ($value as $k => $v) {
+                    $this->lexic_permissions[$key][$k] = true;
+                }
+            }
+            else {
+                $this->lexic_permissions[$key] = true;
+            }
+        }
+        // Context blocks
+        $this->enable_important_blocks = true;
+    }
+
+    /**
+     * Given a file extension, this method returns either a valid geshi language
+     * name, or the empty string if it couldn't be found
+     *
+     * @param string The extension to get a language name for
+     * @param array  A lookup array to use instead of the default
+     * @since 1.0.5
+     * @todo Re-think about how this method works (maybe make it private and/or make it
+     *       a extension->lang lookup?)
+     * @todo static?
+     */
+    function get_language_name_from_extension( $extension, $lookup = array() ) {
+        if ( !$lookup ) {
+            $lookup = array(
+                'actionscript' => array('as'),
+                'ada' => array('a', 'ada', 'adb', 'ads'),
+                'apache' => array('conf'),
+                'asm' => array('ash', 'asm'),
+                'asp' => array('asp'),
+                'bash' => array('sh'),
+                'c' => array('c', 'h'),
+                'c_mac' => array('c', 'h'),
+                'caddcl' => array(),
+                'cadlisp' => array(),
+                'cdfg' => array('cdfg'),
+                'cpp' => array('cpp', 'h', 'hpp'),
+                'csharp' => array(),
+                'css' => array('css'),
+                'delphi' => array('dpk', 'dpr'),
+                'html4strict' => array('html', 'htm'),
+                'java' => array('java'),
+                'javascript' => array('js'),
+                'lisp' => array('lisp'),
+                'lua' => array('lua'),
+                'mpasm' => array(),
+                'nsis' => array(),
+                'objc' => array(),
+                'oobas' => array(),
+                'oracle8' => array(),
+                'pascal' => array('pas'),
+                'perl' => array('pl', 'pm'),
+                'php' => array('php', 'php5', 'phtml', 'phps'),
+                'python' => array('py'),
+                'qbasic' => array('bi'),
+                'sas' => array('sas'),
+                'smarty' => array(),
+                'vb' => array('bas'),
+                'vbnet' => array(),
+                'visualfoxpro' => array(),
+                'xml' => array('xml')
+            );
+        }
+
+        foreach ($lookup as $lang => $extensions) {
+            foreach ($extensions as $ext) {
+                if ($ext == $extension) {
+                    return $lang;
+                }
+            }
+        }
+        return '';
+    }
+
+    /**
+     * Given a file name, this method loads its contents in, and attempts
+     * to set the language automatically. An optional lookup table can be
+     * passed for looking up the language name. If not specified a default
+     * table is used
+     *
+     * The language table is in the form
+     * <pre>array(
+     *   'lang_name' => array('extension', 'extension', ...),
+     *   'lang_name' ...
+     * );</pre>
+     *
+     * @todo Complete rethink of this and above method
+     * @since 1.0.5
+     */
+    function load_from_file($file_name, $lookup = array()) {
+        if (is_readable($file_name)) {
+            $this->set_source(implode('', file($file_name)));
+            $this->set_language($this->get_language_name_from_extension(substr(strrchr($file_name, '.'), 1), $lookup));
+        }
+        else {
+            $this->error = GESHI_ERROR_FILE_NOT_READABLE;
+        }
+    }
+
+    /**
+     * Adds a keyword to a keyword group for highlighting
+     *
+     * @param int    The key of the keyword group to add the keyword to
+     * @param string The word to add to the keyword group
+     * @since 1.0.0
+     */
+    function add_keyword($key, $word) {
+        $this->language_data['KEYWORDS'][$key][] = $word;
+    }
+
+    /**
+     * Removes a keyword from a keyword group
+     *
+     * @param int    The key of the keyword group to remove the keyword from
+     * @param string The word to remove from the keyword group
+     * @since 1.0.0
+     */
+    function remove_keyword($key, $word) {
+        $this->language_data['KEYWORDS'][$key] =
+            array_diff($this->language_data['KEYWORDS'][$key], array($word));
+    }
+
+    /**
+     * Creates a new keyword group
+     *
+     * @param int    The key of the keyword group to create
+     * @param string The styles for the keyword group
+     * @param boolean Whether the keyword group is case sensitive ornot
+     * @param array  The words to use for the keyword group
+     * @since 1.0.0
+     */
+    function add_keyword_group($key, $styles, $case_sensitive = true, $words = array()) {
+        $words = (array) $words;
+        $this->language_data['KEYWORDS'][$key] = $words;
+        $this->lexic_permissions['KEYWORDS'][$key] = true;
+        $this->language_data['CASE_SENSITIVE'][$key] = $case_sensitive;
+        $this->language_data['STYLES']['KEYWORDS'][$key] = $styles;
+    }
+
+    /**
+     * Removes a keyword group
+     *
+     * @param int    The key of the keyword group to remove
+     * @since 1.0.0
+     */
+    function remove_keyword_group ($key) {
+        unset($this->language_data['KEYWORDS'][$key]);
+        unset($this->lexic_permissions['KEYWORDS'][$key]);
+        unset($this->language_data['CASE_SENSITIVE'][$key]);
+        unset($this->language_data['STYLES']['KEYWORDS'][$key]);
+    }
+
+    /**
+     * Sets the content of the header block
+     *
+     * @param string The content of the header block
+     * @since 1.0.2
+     */
+    function set_header_content($content) {
+        $this->header_content = $content;
+    }
+
+    /**
+     * Sets the content of the footer block
+     *
+     * @param string The content of the footer block
+     * @since 1.0.2
+     */
+    function set_footer_content($content) {
+        $this->footer_content = $content;
+    }
+
+    /**
+     * Sets the style for the header content
+     *
+     * @param string The style for the header content
+     * @since 1.0.2
+     */
+    function set_header_content_style($style) {
+        $this->header_content_style = $style;
+    }
+
+    /**
+     * Sets the style for the footer content
+     *
+     * @param string The style for the footer content
+     * @since 1.0.2
+     */
+    function set_footer_content_style($style) {
+        $this->footer_content_style = $style;
+    }
+
+    /**
+     * Sets whether to force a surrounding block around
+     * the highlighted code or not
+     *
+     * @param boolean Tells whether to enable or disable this feature
+     * @since 1.0.7.20
+     */
+    function enable_inner_code_block($flag) {
+        $this->force_code_block = (bool)$flag;
+    }
+
+    /**
+     * Sets the base URL to be used for keywords
+     *
+     * @param int The key of the keyword group to set the URL for
+     * @param string The URL to set for the group. If {FNAME} is in
+     *               the url somewhere, it is replaced by the keyword
+     *               that the URL is being made for
+     * @since 1.0.2
+     */
+    function set_url_for_keyword_group($group, $url) {
+        $this->language_data['URLS'][$group] = $url;
+    }
+
+    /**
+     * Sets styles for links in code
+     *
+     * @param int A constant that specifies what state the style is being
+     *            set for - e.g. :hover or :visited
+     * @param string The styles to use for that state
+     * @since 1.0.2
+     */
+    function set_link_styles($type, $styles) {
+        $this->link_styles[$type] = $styles;
+    }
+
+    /**
+     * Sets the target for links in code
+     *
+     * @param string The target for links in the code, e.g. _blank
+     * @since 1.0.3
+     */
+    function set_link_target($target) {
+        if (!$target) {
+            $this->link_target = '';
+        }
+        else {
+            $this->link_target = ' target="' . $target . '" ';
+        }
+    }
+
+    /**
+     * Sets styles for important parts of the code
+     *
+     * @param string The styles to use on important parts of the code
+     * @since 1.0.2
+     */
+    function set_important_styles($styles) {
+        $this->important_styles = $styles;
+    }
+
+    /**
+     * Sets whether context-important blocks are highlighted
+     *
+     * @todo REMOVE THIS SHIZ FROM GESHI!
+     * @deprecated
+     */
+    function enable_important_blocks($flag) {
+        $this->enable_important_blocks = ( $flag ) ? true : false;
+    }
+
+    /**
+     * Whether CSS IDs should be added to each line
+     *
+     * @param boolean If true, IDs will be added to each line.
+     * @since 1.0.2
+     */
+    function enable_ids($flag = true) {
+        $this->add_ids = ($flag) ? true : false;
+    }
+
+    /**
+     * Specifies which lines to highlight extra
+     *
+     * @param mixed An array of line numbers to highlight, or just a line
+     *              number on its own.
+     * @since 1.0.2
+     * @todo  Some data replication here that could be cut down on
+     */
+    function highlight_lines_extra($lines) {
+        if (is_array($lines)) {
+            foreach ($lines as $line) {
+                $this->highlight_extra_lines[intval($line)] = intval($line);
+            }
+        }
+        else {
+            $this->highlight_extra_lines[intval($lines)] = intval($lines);
+        }
+    }
+
+    /**
+     * Sets the style for extra-highlighted lines
+     *
+     * @param string The style for extra-highlighted lines
+     * @since 1.0.2
+     */
+    function set_highlight_lines_extra_style($styles) {
+        $this->highlight_extra_lines_style = $styles;
+    }
+
+	/**
+	 * Sets the line-ending
+	 *
+	 * @param string The new line-ending
+	 */
+	function set_line_ending($line_ending) {
+		$this->line_ending = (string)$line_ending;
+	}
+
+    /**
+     * Sets what number line numbers should start at. Should
+     * be a positive integer, and will be converted to one.
+     *
+     * <b>Warning:</b> Using this method will add the "start"
+     * attribute to the &lt;ol&gt; that is used for line numbering.
+     * This is <b>not</b> valid XHTML strict, so if that's what you
+     * care about then don't use this method. Firefox is getting
+     * support for the CSS method of doing this in 1.1 and Opera
+     * has support for the CSS method, but (of course) IE doesn't
+     * so it's not worth doing it the CSS way yet.
+     *
+     * @param int The number to start line numbers at
+     * @since 1.0.2
+     */
+    function start_line_numbers_at($number) {
+        $this->line_numbers_start = abs(intval($number));
+    }
+
+    /**
+     * Sets the encoding used for htmlspecialchars(), for international
+     * support.
+     *
+     * NOTE: This is not needed for now because htmlspecialchars() is not
+     * being used (it has a security hole in PHP4 that has not been patched).
+     * Maybe in a future version it may make a return for speed reasons, but
+     * I doubt it.
+     *
+     * @param string The encoding to use for the source
+     * @since 1.0.3
+     */
+    function set_encoding($encoding) {
+        if ($encoding) {
+          $this->encoding = $encoding;
+        }
+    }
+
+    /**
+     * Turns linking of keywords on or off.
+     *
+     * @param boolean If true, links will be added to keywords
+     */
+    function enable_keyword_links($enable = true) {
+        $this->keyword_links = ($enable) ? true : false;
+    }
+
+    /**
+     * Returns the code in $this->source, highlighted and surrounded by the
+     * nessecary HTML.
+     *
+     * This should only be called ONCE, cos it's SLOW! If you want to highlight
+     * the same source multiple times, you're better off doing a whole lot of
+     * str_replaces to replace the &lt;span&gt;s
+     *
+     * @since 1.0.0
+     */
+    function parse_code () {
+        // Start the timer
+        $start_time = microtime();
+
+        // Firstly, if there is an error, we won't highlight
+        if ($this->error) {
+            $result = GeSHi::hsc($this->source);
+            // Timing is irrelevant
+            $this->set_time($start_time, $start_time);
+            return $this->finalise($result);
+        }
+
+        // Replace all newlines to a common form.
+        $code = str_replace("\r\n", "\n", $this->source);
+        $code = str_replace("\r", "\n", $code);
+        // Add spaces for regular expression matching and line numbers
+        $code = "\n" . $code . "\n";
+
+        // Initialise various stuff
+        $length           = strlen($code);
+        $STRING_OPEN      = '';
+        $CLOSE_STRING     = false;
+        $ESCAPE_CHAR_OPEN = false;
+        $COMMENT_MATCHED  = false;
+        // Turn highlighting on if strict mode doesn't apply to this language
+        $HIGHLIGHTING_ON  = ( !$this->strict_mode ) ? true : '';
+        // Whether to highlight inside a block of code
+        $HIGHLIGHT_INSIDE_STRICT = false;
+        $HARDQUOTE_OPEN = false;
+        $STRICTATTRS = '';
+        $stuff_to_parse   = '';
+        $result           = '';
+
+        // "Important" selections are handled like multiline comments
+        // @todo GET RID OF THIS SHIZ
+        if ($this->enable_important_blocks) {
+            $this->language_data['COMMENT_MULTI'][GESHI_START_IMPORTANT] = GESHI_END_IMPORTANT;
+        }
+
+        if ($this->strict_mode) {
+            // Break the source into bits. Each bit will be a portion of the code
+            // within script delimiters - for example, HTML between < and >
+            $parts = array(0 => array(0 => ''));
+            $k = 0;
+            for ($i = 0; $i < $length; $i++) {
+                $char = substr($code, $i, 1);
+                if (!$HIGHLIGHTING_ON) {
+                    foreach ($this->language_data['SCRIPT_DELIMITERS'] as $key => $delimiters) {
+                        foreach ($delimiters as $open => $close) {
+                            // Get the next little bit for this opening string
+                            $check = substr($code, $i, strlen($open));
+                            // If it matches...
+                            if ($check == $open) {
+                                // We start a new block with the highlightable
+                                // code in it
+                                $HIGHLIGHTING_ON = $open;
+                                $i += strlen($open) - 1;
+                                $char = $open;
+                                $parts[++$k][0] = $char;
+
+                                // No point going around again...
+                                break(2);
+                            }
+                        }
+                    }
+                }
+                else {
+                    foreach ($this->language_data['SCRIPT_DELIMITERS'] as $key => $delimiters) {
+                        foreach ($delimiters as $open => $close) {
+                            if ($open == $HIGHLIGHTING_ON) {
+                                // Found the closing tag
+                                break(2);
+                            }
+                        }
+                    }
+                    // We check code from our current position BACKWARDS. This is so
+                    // the ending string for highlighting can be included in the block
+                    $check = substr($code, $i - strlen($close) + 1, strlen($close));
+                    if ($check == $close) {
+                        $HIGHLIGHTING_ON = '';
+                        // Add the string to the rest of the string for this part
+                        $parts[$k][1] = ( isset($parts[$k][1]) ) ? $parts[$k][1] . $char : $char;
+                        $parts[++$k][0] = '';
+                        $char = '';
+                    }
+                }
+                $parts[$k][1] = ( isset($parts[$k][1]) ) ? $parts[$k][1] . $char : $char;
+            }
+            $HIGHLIGHTING_ON = '';
+        }
+        else {
+            // Not strict mode - simply dump the source into
+            // the array at index 1 (the first highlightable block)
+            $parts = array(
+                1 => array(
+                    0 => '',
+                    1 => $code
+                )
+            );
+        }
+
+        // Now we go through each part. We know that even-indexed parts are
+        // code that shouldn't be highlighted, and odd-indexed parts should
+        // be highlighted
+        foreach ($parts as $key => $data) {
+            $part = $data[1];
+            // If this block should be highlighted...
+            if ($key % 2) {
+                if ($this->strict_mode) {
+                    // Find the class key for this block of code
+                    foreach ($this->language_data['SCRIPT_DELIMITERS'] as $script_key => $script_data) {
+                        foreach ($script_data as $open => $close) {
+                            if ($data[0] == $open) {
+                                break(2);
+                            }
+                        }
+                    }
+
+                    if ($this->language_data['STYLES']['SCRIPT'][$script_key] != '' &&
+                        $this->lexic_permissions['SCRIPT']) {
+                        // Add a span element around the source to
+                        // highlight the overall source block
+                        if (!$this->use_classes &&
+                            $this->language_data['STYLES']['SCRIPT'][$script_key] != '') {
+                            $attributes = ' style="' . $this->language_data['STYLES']['SCRIPT'][$script_key] . '"';
+                        }
+                        else {
+                            $attributes = ' class="sc' . $script_key . '"';
+                        }
+                        $result .= "<span$attributes>";
+                        $STRICTATTRS = $attributes;
+                    }
+                }
+
+                if (!$this->strict_mode || $this->language_data['HIGHLIGHT_STRICT_BLOCK'][$script_key]) {
+                    // Now, highlight the code in this block. This code
+                    // is really the engine of GeSHi (along with the method
+                    // parse_non_string_part).
+                    $length = strlen($part);
+                    for ($i = 0; $i < $length; $i++) {
+                        // Get the next char
+                        $char = substr($part, $i, 1);
+                        $hq = isset($this->language_data['HARDQUOTE']) ? $this->language_data['HARDQUOTE'][0] : false;
+                        // Is this char the newline and line numbers being used?
+                        if (($this->line_numbers != GESHI_NO_LINE_NUMBERS
+                            || count($this->highlight_extra_lines) > 0)
+                            && $char == "\n") {
+                            // If so, is there a string open? If there is, we should end it before
+                            // the newline and begin it again (so when <li>s are put in the source
+                            // remains XHTML compliant)
+                            // note to self: This opens up possibility of config files specifying
+                            // that languages can/cannot have multiline strings???
+                            if ($STRING_OPEN) {
+                                if (!$this->use_classes) {
+                                    $attributes = ' style="' . $this->language_data['STYLES']['STRINGS'][0] . '"';
+                                }
+                                else {
+                                    $attributes = ' class="st0"';
+                                }
+                                $char = '</span>' . $char . "<span$attributes>";
+                            }
+                        }
+                        else if ($char == $STRING_OPEN) {
+                            // A match of a string delimiter
+                            if (($this->lexic_permissions['ESCAPE_CHAR'] && $ESCAPE_CHAR_OPEN) ||
+                                ($this->lexic_permissions['STRINGS'] && !$ESCAPE_CHAR_OPEN)) {
+                                $char = GeSHi::hsc($char) . '</span>';
+                            }
+                            $escape_me = false;
+                            if ($HARDQUOTE_OPEN) {
+                                if ($ESCAPE_CHAR_OPEN) {
+                                    $escape_me = true;
+                                }
+                                else {
+                                    foreach ($this->language_data['HARDESCAPE'] as $hardesc) {
+                                        if (substr($part, $i, strlen($hardesc)) == $hardesc) {
+                                            $escape_me = true;
+                                            break;
+                                        }
+                                    }
+                                }
+                            }
+
+                            if (!$ESCAPE_CHAR_OPEN) {
+                                $STRING_OPEN = '';
+                                $CLOSE_STRING = true;
+                            }
+                            if (!$escape_me) {
+                                $HARDQUOTE_OPEN = false;
+                            }
+                            $ESCAPE_CHAR_OPEN = false;
+                        }
+                        else if (in_array($char, $this->language_data['QUOTEMARKS']) &&
+                            ($STRING_OPEN == '') && $this->lexic_permissions['STRINGS']) {
+                            // The start of a new string
+                            $STRING_OPEN = $char;
+                            if (!$this->use_classes) {
+                                $attributes = ' style="' . $this->language_data['STYLES']['STRINGS'][0] . '"';
+                            }
+                            else {
+                                $attributes = ' class="st0"';
+                            }
+                            $char = "<span$attributes>" . GeSHi::hsc($char);
+
+                            $result .= $this->parse_non_string_part( $stuff_to_parse );
+                            $stuff_to_parse = '';
+                        }
+                        else if ($hq && substr($part, $i, strlen($hq)) == $hq &&
+                            ($STRING_OPEN == '') && $this->lexic_permissions['STRINGS']) {
+                            // The start of a hard quoted string
+                            $STRING_OPEN = $this->language_data['HARDQUOTE'][1];
+                            if (!$this->use_classes) {
+                                $attributes = ' style="' . $this->language_data['STYLES']['STRINGS'][0] . '"';
+                            }
+                            else {
+                                $attributes = ' class="st0"';
+                            }
+                            $char = "<span$attributes>" . $hq;
+                            $i += strlen($hq) - 1;
+                            $HARDQUOTE_OPEN = true;
+                            $result .= $this->parse_non_string_part($stuff_to_parse);
+                            $stuff_to_parse = '';
+                        }
+                        else if ($char == $this->language_data['ESCAPE_CHAR'] && $STRING_OPEN != '') {
+                            // An escape character
+                            if (!$ESCAPE_CHAR_OPEN) {
+                                $ESCAPE_CHAR_OPEN = !$HARDQUOTE_OPEN;  // true unless $HARDQUOTE_OPEN
+                                if ($HARDQUOTE_OPEN) {
+                                    foreach ($this->language_data['HARDESCAPE'] as $hard) {
+                                        if (substr($part, $i, strlen($hard)) == $hard) {
+                                            $ESCAPE_CHAR_OPEN = true;
+                                            break;
+                                        }
+                                    }
+                                }
+                                if ($ESCAPE_CHAR_OPEN && $this->lexic_permissions['ESCAPE_CHAR']) {
+                                    if (!$this->use_classes) {
+                                        $attributes = ' style="' . $this->language_data['STYLES']['ESCAPE_CHAR'][0] . '"';
+                                    }
+                                    else {
+                                        $attributes = ' class="es0"';
+                                    }
+                                    $char = "<span$attributes>" . $char;
+                                    if (substr($code, $i + 1, 1) == "\n") {
+                                        // escaping a newline, what's the point in putting the span around
+                                        // the newline? It only causes hassles when inserting line numbers
+                                        $char .= '</span>';
+                                        $ESCAPE_CHAR_OPEN = false;
+                                    }
+                                }
+                            }
+                            else {
+                                $ESCAPE_CHAR_OPEN = false;
+                                if ($this->lexic_permissions['ESCAPE_CHAR']) {
+                                    $char .= '</span>';
+                                }
+                            }
+                        }
+                        else if ($ESCAPE_CHAR_OPEN) {
+                            if ($this->lexic_permissions['ESCAPE_CHAR']) {
+                                $char .= '</span>';
+                            }
+                            $ESCAPE_CHAR_OPEN = false;
+                            $test_str = $char;
+                        }
+                        else if ($STRING_OPEN == '') {
+                            // Is this a multiline comment?
+                            foreach ($this->language_data['COMMENT_MULTI'] as $open => $close) {
+                                $com_len = strlen($open);
+                                $test_str = substr( $part, $i, $com_len );
+                                $test_str_match = $test_str;
+                                if ($open == $test_str) {
+                                    $COMMENT_MATCHED = true;
+                                    //@todo If remove important do remove here
+                                    if ($this->lexic_permissions['COMMENTS']['MULTI'] ||
+                                        $test_str == GESHI_START_IMPORTANT) {
+                                        if ($test_str != GESHI_START_IMPORTANT) {
+                                            if (!$this->use_classes) {
+                                                $attributes = ' style="' . $this->language_data['STYLES']['COMMENTS']['MULTI'] . '"';
+                                            }
+                                            else {
+                                                $attributes = ' class="coMULTI"';
+                                            }
+                                            $test_str = "<span$attributes>" . GeSHi::hsc($test_str);
+                                        }
+                                        else {
+                                            if (!$this->use_classes) {
+                                                $attributes = ' style="' . $this->important_styles . '"';
+                                            }
+                                            else {
+                                                $attributes = ' class="imp"';
+                                            }
+                                            // We don't include the start of the comment if it's an
+                                            // "important" part
+                                            $test_str = "<span$attributes>";
+                                        }
+                                    }
+                                    else {
+                                        $test_str = GeSHi::hsc($test_str);
+                                    }
+
+                                    $close_pos = strpos( $part, $close, $i + strlen($close) );
+
+                                    $oops = false;
+                                    if ($close_pos === false) {
+                                        $close_pos = strlen($part);
+                                        $oops = true;
+                                    }
+                                    else {
+                                        $close_pos -= ($com_len - strlen($close));
+                                    }
+
+                                    // Short-cut through all the multiline code
+                                    $rest_of_comment = GeSHi::hsc(substr($part, $i + $com_len, $close_pos - $i));
+                                    if (($this->lexic_permissions['COMMENTS']['MULTI'] ||
+                                        $test_str_match == GESHI_START_IMPORTANT) &&
+                                        ($this->line_numbers != GESHI_NO_LINE_NUMBERS ||
+                                        count($this->highlight_extra_lines) > 0)) {
+                                        // strreplace to put close span and open span around multiline newlines
+                                        $test_str .= str_replace(
+                                            "\n", "</span>\n<span$attributes>", 
+                                            str_replace("\n ", "\n&nbsp;", $rest_of_comment)
+                                        );
+                                    }
+                                    else {
+                                        $test_str .= $rest_of_comment;
+                                    }
+
+                                    if ($this->lexic_permissions['COMMENTS']['MULTI'] ||
+                                        $test_str_match == GESHI_START_IMPORTANT) {
+                                        $test_str .= '</span>';
+                                        if ($oops) {
+                                            $test_str .= "\n";
+                                        }
+                                    }
+									$i = $close_pos + $com_len - 1;
+                                    // parse the rest
+                                    $result .= $this->parse_non_string_part($stuff_to_parse);
+                                    $stuff_to_parse = '';
+                                    break;
+                                }
+                            }
+                            // If we haven't matched a multiline comment, try single-line comments
+                            if (!$COMMENT_MATCHED) {
+                                foreach ($this->language_data['COMMENT_SINGLE'] as $comment_key => $comment_mark) {
+                                    $com_len = strlen($comment_mark);
+                                    $test_str = substr($part, $i, $com_len);
+                                    if ($this->language_data['CASE_SENSITIVE'][GESHI_COMMENTS]) {
+                                        $match = ($comment_mark == $test_str);
+                                    }
+                                    else {
+                                        $match = (strtolower($comment_mark) == strtolower($test_str));
+                                    }
+                                    if ($match) {
+                                        $COMMENT_MATCHED = true;
+                                        if ($this->lexic_permissions['COMMENTS'][$comment_key]) {
+                                            if (!$this->use_classes) {
+                                                $attributes = ' style="' . $this->language_data['STYLES']['COMMENTS'][$comment_key] . '"';
+                                            }
+                                            else {
+                                                $attributes = ' class="co' . $comment_key . '"';
+                                            }
+                                            $test_str = "<span$attributes>" . GeSHi::hsc($this->change_case($test_str));
+                                        }
+                                        else {
+                                            $test_str = GeSHi::hsc($test_str);
+                                        }
+                                        $close_pos = strpos($part, "\n", $i);
+                                        $oops = false;
+                                        if ($close_pos === false) {
+                                            $close_pos = strlen($part);
+                                            $oops = true;
+                                        }
+                                        $test_str .= GeSHi::hsc(substr($part, $i + $com_len, $close_pos - $i - $com_len));
+                                        if ($this->lexic_permissions['COMMENTS'][$comment_key]) {
+                                            $test_str .= "</span>";
+                                        }
+                                        // Take into account that the comment might be the last in the source
+                                        if (!$oops) {
+                                          $test_str .= "\n";
+                                        }
+                                        $i = $close_pos;
+                                        // parse the rest
+                                        $result .= $this->parse_non_string_part($stuff_to_parse);
+                                        $stuff_to_parse = '';
+                                        break;
+                                    }
+                                }
+                            }
+                        }
+                        else if ($STRING_OPEN != '') {
+                            // Otherwise, convert it to HTML form
+                            if (strtolower($this->encoding) == 'utf-8') {
+                                //only escape <128 (we don't want to break multibyte chars)
+                                if (ord($char) < 128) {
+                                    $char = GeSHi::hsc($char);
+                                }
+                            }
+                            else {
+                                //encode everthing
+                                $char = GeSHi::hsc($char);
+                            }
+                        }
+                        // Where are we adding this char?
+                        if (!$COMMENT_MATCHED) {
+                            if (($STRING_OPEN == '') && !$CLOSE_STRING) {
+                                $stuff_to_parse .= $char;
+                            }
+                            else {
+                                $result .= $char;
+                                $CLOSE_STRING = false;
+                            }
+                        }
+                        else {
+                            $result .= $test_str;
+                            $COMMENT_MATCHED = false;
+                        }
+                    }
+                    // Parse the last bit
+                    $result .= $this->parse_non_string_part($stuff_to_parse);
+                    $stuff_to_parse = '';
+                }
+                else {
+                    if ($STRICTATTRS != '') {
+                        $part = str_replace("\n", "</span>\n<span$STRICTATTRS>", GeSHi::hsc($part));
+                        $STRICTATTRS = '';
+                    }
+                    $result .= $part;
+                }
+                // Close the <span> that surrounds the block
+                if ($this->strict_mode && $this->language_data['STYLES']['SCRIPT'][$script_key] != '' &&
+                    $this->lexic_permissions['SCRIPT']) {
+                    $result .= '</span>';
+                }
+            }
+            else {
+                // Else not a block to highlight
+                $result .= GeSHi::hsc($part);
+            }
+        }
+
+        // Parse the last stuff (redundant?)
+        $result .= $this->parse_non_string_part($stuff_to_parse);
+
+        // Lop off the very first and last spaces
+        $result = substr($result, 1, -1);
+
+        // Are we still in a string?
+        if ($STRING_OPEN) {
+            $result .= '</span>';
+        }
+
+        // We're finished: stop timing
+        $this->set_time($start_time, microtime());
+
+        return $this->finalise($result);
+    }
+
+    /**
+     * Swaps out spaces and tabs for HTML indentation. Not needed if
+     * the code is in a pre block...
+     *
+     * @param  string The source to indent
+     * @return string The source with HTML indenting applied
+     * @since  1.0.0
+     * @access private
+     */
+    function indent($result) {
+        /// Replace tabs with the correct number of spaces
+        if (false !== strpos($result, "\t")) {
+            $lines = explode("\n", $result);
+			$tab_width = $this->get_real_tab_width();
+            foreach ($lines as $key => $line) {
+                if (false === strpos($line, "\t")) {
+                    $lines[$key] = $line;
+                    continue;
+                }
+
+                $pos = 0;
+                $length = strlen($line);
+                $result_line = '';
+
+                $IN_TAG = false;
+                for ($i = 0; $i < $length; $i++) {
+                    $char = substr($line, $i, 1);
+                    // Simple engine to work out whether we're in a tag.
+                    // If we are we modify $pos. This is so we ignore HTML
+                    // in the line and only workout the tab replacement
+                    // via the actual content of the string
+                    // This test could be improved to include strings in the
+                    // html so that < or > would be allowed in user's styles
+                    // (e.g. quotes: '<' '>'; or similar)
+                    if ($IN_TAG && '>' == $char) {
+                        $IN_TAG = false;
+                        $result_line .= '>';
+                        ++$pos;
+                    }
+                    else if (!$IN_TAG && '<' == $char) {
+                        $IN_TAG = true;
+                        $result_line .= '<';
+                        ++$pos;
+                    }
+                    else if (!$IN_TAG && '&' == $char) {
+                        $substr = substr($line, $i + 3, 4);
+                        //$substr_5 = substr($line, 5, 1);
+                        $posi = strpos($substr, ';');
+                        if (false !== $posi) {
+                            $pos += $posi + 3;
+                        }
+                        $result_line .= '&';
+                    }
+                    else if (!$IN_TAG && "\t" == $char) {
+                        $str = '';
+                        // OPTIMISE - move $strs out. Make an array:
+                        // $tabs = array(
+                        //  1 => '&nbsp;',
+                        //  2 => '&nbsp; ',
+                        //  3 => '&nbsp; &nbsp;' etc etc
+                        // to use instead of building a string every time
+                        $strs = array(0 => '&nbsp;', 1 => ' ');
+                        for ($k = 0; $k < ($tab_width - (($i - $pos) % $tab_width)); $k++) $str .= $strs[$k % 2];
+                        $result_line .= $str;
+                        $pos += ($i - $pos) % $tab_width + 1;
+
+                        if (false === strpos($line, "\t", $i + 1)) {
+                            $result_line .= substr($line, $i + 1);
+                            break;
+                        }
+                    }
+                    else if ($IN_TAG) {
+                        ++$pos;
+                        $result_line .= $char;
+                    }
+                    else {
+                        $result_line .= $char;
+                        //++$pos;
+                    }
+                }
+                $lines[$key] = $result_line;
+            }
+            $result = implode("\n", $lines);
+        }
+        // Other whitespace
+        // BenBE: Fix to reduce the number of replacements to be done
+        $result = str_replace("\n ", "\n&nbsp;", $result);
+        $result = str_replace('  ', ' &nbsp;', $result);
+
+        if ($this->line_numbers == GESHI_NO_LINE_NUMBERS) {
+			if ($this->line_ending === null) {
+				$result = nl2br($result);
+			} else {
+				$result = str_replace("\n", $this->line_ending, $result);
+			}
+		}
+        return $result;
+    }
+
+    /**
+     * Changes the case of a keyword for those languages where a change is asked for
+     *
+     * @param  string The keyword to change the case of
+     * @return string The keyword with its case changed
+     * @since  1.0.0
+     * @access private
+     */
+    function change_case($instr) {
+        if ($this->language_data['CASE_KEYWORDS'] == GESHI_CAPS_UPPER) {
+            return strtoupper($instr);
+        }
+        else if ($this->language_data['CASE_KEYWORDS'] == GESHI_CAPS_LOWER) {
+            return strtolower($instr);
+        }
+        return $instr;
+    }
+
+    /**
+     * Adds a url to a keyword where needed.
+     *
+     * @param  string The keyword to add the URL HTML to
+     * @param  int What group the keyword is from
+     * @param  boolean Whether to get the HTML for the start or end
+     * @return The HTML for either the start or end of the HTML &lt;a&gt; tag
+     * @since  1.0.2
+     * @access private
+     * @todo   Get rid of ender
+     */
+    function add_url_to_keyword($keyword, $group, $start_or_end) {
+        if (!$this->keyword_links) {
+            // Keyword links have been disabled
+            return;
+        }
+
+        if (isset($this->language_data['URLS'][$group]) &&
+            $this->language_data['URLS'][$group] != '' &&
+            substr($keyword, 0, 5) != '&lt;/') {
+            // There is a base group for this keyword
+            if ($start_or_end == 'BEGIN') {
+                // HTML workaround... not good form (tm) but should work for 1.0.X
+                if ($keyword != '') {
+                    // Old system: strtolower
+                    //$keyword = ( $this->language_data['CASE_SENSITIVE'][$group] ) ? $keyword : strtolower($keyword);
+                    // New system: get keyword from language file to get correct case
+                    foreach ($this->language_data['KEYWORDS'][$group] as $word) {
+                        if (strtolower($word) == strtolower($keyword)) {
+                            break;
+                        }
+                    }
+                    $word = ( substr($word, 0, 4) == '&lt;' ) ? substr($word, 4) : $word;
+                    $word = ( substr($word, -4) == '&gt;' ) ? substr($word, 0, strlen($word) - 4) : $word;
+                    if (!$word) return '';
+
+                    return '<|UR1|"' .
+                        str_replace(
+                            array('{FNAME}', '.'),
+                            array(GeSHi::hsc($word), '<DOT>'),
+                            $this->language_data['URLS'][$group]
+                        ) . '">';
+                }
+                return '';
+            // HTML fix. Again, dirty hackage...
+            }
+            else if (!($this->language == 'html4strict' && ('&gt;' == $keyword || '&lt;' == $keyword))) {
+                return '</a>';
+            }
+        }
+    }
+
+    /**
+     * Takes a string that has no strings or comments in it, and highlights
+     * stuff like keywords, numbers and methods.
+     *
+     * @param string The string to parse for keyword, numbers etc.
+     * @since 1.0.0
+     * @access private
+     * @todo BUGGY! Why? Why not build string and return?
+     */
+    function parse_non_string_part(&$stuff_to_parse) {
+        $stuff_to_parse = ' ' . GeSHi::hsc($stuff_to_parse);
+        $stuff_to_parse_pregquote = preg_quote($stuff_to_parse, '/');
+        $func = '$this->change_case';
+        $func2 = '$this->add_url_to_keyword';
+
+        //
+        // Regular expressions
+        //
+        foreach ($this->language_data['REGEXPS'] as $key => $regexp) {
+            if ($this->lexic_permissions['REGEXPS'][$key]) {
+                if (is_array($regexp)) {
+                    $stuff_to_parse = preg_replace(
+                        "/" .
+                        str_replace('/', '\/', $regexp[GESHI_SEARCH]) .
+                        "/{$regexp[GESHI_MODIFIERS]}",
+                        "{$regexp[GESHI_BEFORE]}<|!REG3XP$key!>{$regexp[GESHI_REPLACE]}|>{$regexp[GESHI_AFTER]}",
+                        $stuff_to_parse
+                    );
+                }
+                else {
+                    $stuff_to_parse = preg_replace( "/(" . str_replace('/', '\/', $regexp) . ")/", "<|!REG3XP$key!>\\1|>", $stuff_to_parse);
+                }
+            }
+        }
+
+        //
+        // Highlight numbers. This regexp sucks... anyone with a regexp that WORKS
+        // here wins a cookie if they send it to me. At the moment there's two doing
+        // almost exactly the same thing, except the second one prevents a number
+        // being highlighted twice (eg <span...><span...>5</span></span>)
+        // Put /NUM!/ in for the styles, which gets replaced at the end.
+        //
+        // NEW ONE: Brice Bernard
+        //
+        if ($this->lexic_permissions['NUMBERS'] && preg_match('#[0-9]#', $stuff_to_parse )) {
+            $stuff_to_parse = preg_replace('/([-+]?\\b(?:[0-9]*\\.)?[0-9]+\\b)/', '<|/NUM!/>\\1|>', $stuff_to_parse);
+        }
+
+        // Highlight keywords
+        // if there is a couple of alpha symbols there *might* be a keyword
+        if (preg_match('#[a-zA-Z]{2,}#', $stuff_to_parse)) {
+            foreach ($this->language_data['KEYWORDS'] as $k => $keywordset) {
+                if ($this->lexic_permissions['KEYWORDS'][$k]) {
+                    foreach ($keywordset as $keyword) {
+                        $keyword = preg_quote($keyword, '/');
+                        //
+                        // This replacement checks the word is on it's own (except if brackets etc
+                        // are next to it), then highlights it. We don't put the color=" for the span
+                        // in just yet - otherwise languages with the keywords "color" or "or" have
+                        // a fit.
+                        //
+                        if (false !== stristr($stuff_to_parse_pregquote, $keyword )) {
+                            $stuff_to_parse .= ' ';
+                            // Might make a more unique string for putting the number in soon
+                            // Basically, we don't put the styles in yet because then the styles themselves will
+                            // get highlighted if the language has a CSS keyword in it (like CSS, for example ;))
+                            $styles = "/$k/";
+                            if ($this->language_data['CASE_SENSITIVE'][$k]) {
+                                $stuff_to_parse = preg_replace(
+                                    "/([^a-zA-Z0-9\$_\|\#;>|^])($keyword)(?=[^a-zA-Z0-9_<\|%\-&])/e",
+                                    "'\\1' . $func2('\\2', '$k', 'BEGIN') . '<|$styles>' . $func('\\2') . '|>' . $func2('\\2', '$k', 'END')",
+                                    $stuff_to_parse
+                                );
+                            }
+                            else {
+                                // Change the case of the word.
+                                // hackage again... must... release... 1.2...
+                                if ('smarty' == $this->language) { $hackage = '\/'; } else { $hackage = ''; }
+                                $stuff_to_parse = preg_replace(
+                                    "/([^a-zA-Z0-9\$_\|\#;>$hackage|^])($keyword)(?=[^a-zA-Z0-9_<\|%\-&])/ie",
+                                    "'\\1' . $func2('\\2', '$k', 'BEGIN') . '<|$styles>' . $func('\\2') . '|>' . $func2('\\2', '$k', 'END')",
+                                    $stuff_to_parse
+                                );
+                            }
+                            $stuff_to_parse = substr($stuff_to_parse, 0, strlen($stuff_to_parse) - 1);
+                        }
+                    }
+                }
+            }
+        }
+
+        //
+        // Now that's all done, replace /[number]/ with the correct styles
+        //
+        foreach ($this->language_data['KEYWORDS'] as $k => $kws) {
+            if (!$this->use_classes) {
+                $attributes = ' style="' . $this->language_data['STYLES']['KEYWORDS'][$k] . '"';
+            }
+            else {
+                $attributes = ' class="kw' . $k . '"';
+            }
+            $stuff_to_parse = str_replace("/$k/", $attributes, $stuff_to_parse);
+        }
+
+        // Put number styles in
+        if (!$this->use_classes && $this->lexic_permissions['NUMBERS']) {
+            $attributes = ' style="' . $this->language_data['STYLES']['NUMBERS'][0] . '"';
+        }
+        else {
+            $attributes = ' class="nu0"';
+        }
+        $stuff_to_parse = str_replace('/NUM!/', $attributes, $stuff_to_parse);
+
+        //
+        // Highlight methods and fields in objects
+        //
+        if ($this->lexic_permissions['METHODS'] && $this->language_data['OOLANG']) {
+            foreach ($this->language_data['OBJECT_SPLITTERS'] as $key => $splitter) {
+                if (false !== stristr($stuff_to_parse, $splitter)) {
+                    if (!$this->use_classes) {
+                        $attributes = ' style="' . $this->language_data['STYLES']['METHODS'][$key] . '"';
+                    }
+                    else {
+                        $attributes = ' class="me' . $key . '"';
+                    }
+                    $stuff_to_parse = preg_replace("/(" . preg_quote($this->language_data['OBJECT_SPLITTERS'][$key], 1) . "[\s]*)([a-zA-Z\*\(][a-zA-Z0-9_\*]*)/", "\\1<|$attributes>\\2|>", $stuff_to_parse);
+                }
+            }
+        }
+
+        //
+        // Highlight brackets. Yes, I've tried adding a semi-colon to this list.
+        // You try it, and see what happens ;)
+        // TODO: Fix lexic permissions not converting entities if shouldn't
+        // be highlighting regardless
+        //
+        if ($this->lexic_permissions['BRACKETS']) {
+            $code_entities_match = array('[', ']', '(', ')', '{', '}');
+            if (!$this->use_classes) {
+                $code_entities_replace = array(
+                    '<| style="' . $this->language_data['STYLES']['BRACKETS'][0] . '">&#91;|>',
+                    '<| style="' . $this->language_data['STYLES']['BRACKETS'][0] . '">&#93;|>',
+                    '<| style="' . $this->language_data['STYLES']['BRACKETS'][0] . '">&#40;|>',
+                    '<| style="' . $this->language_data['STYLES']['BRACKETS'][0] . '">&#41;|>',
+                    '<| style="' . $this->language_data['STYLES']['BRACKETS'][0] . '">&#123;|>',
+                    '<| style="' . $this->language_data['STYLES']['BRACKETS'][0] . '">&#125;|>',
+                );
+            }
+            else {
+                $code_entities_replace = array(
+                    '<| class="br0">&#91;|>',
+                    '<| class="br0">&#93;|>',
+                    '<| class="br0">&#40;|>',
+                    '<| class="br0">&#41;|>',
+                    '<| class="br0">&#123;|>',
+                    '<| class="br0">&#125;|>',
+                );
+            }
+            $stuff_to_parse = str_replace( $code_entities_match,  $code_entities_replace, $stuff_to_parse );
+        }
+
+        //
+        // Add class/style for regexps
+        //
+        foreach ($this->language_data['REGEXPS'] as $key => $regexp) {
+            if ($this->lexic_permissions['REGEXPS'][$key]) {
+                if (!$this->use_classes) {
+                    $attributes = ' style="' . $this->language_data['STYLES']['REGEXPS'][$key] . '"';
+                }
+                else {
+                   if(is_array($this->language_data['REGEXPS'][$key]) &&
+                            array_key_exists(GESHI_CLASS, $this->language_data['REGEXPS'][$key])) {
+                        $attributes = ' class="'
+                            . $this->language_data['REGEXPS'][$key][GESHI_CLASS] . '"';
+                    }
+                   else {
+                       $attributes = ' class="re' . $key . '"';
+                    }
+                }
+                $stuff_to_parse = str_replace("!REG3XP$key!", "$attributes", $stuff_to_parse);
+            }
+        }
+
+        // Replace <DOT> with . for urls
+        $stuff_to_parse = str_replace('<DOT>', '.', $stuff_to_parse);
+        // Replace <|UR1| with <a href= for urls also
+        if (isset($this->link_styles[GESHI_LINK])) {
+            if ($this->use_classes) {
+                $stuff_to_parse = str_replace('<|UR1|', '<a' . $this->link_target . ' href=', $stuff_to_parse);
+            }
+            else {
+                $stuff_to_parse = str_replace('<|UR1|', '<a' . $this->link_target . ' style="' . $this->link_styles[GESHI_LINK] . '" href=', $stuff_to_parse);
+            }
+        }
+        else {
+            $stuff_to_parse = str_replace('<|UR1|', '<a' . $this->link_target . ' href=', $stuff_to_parse);
+        }
+
+        //
+        // NOW we add the span thingy ;)
+        //
+
+        $stuff_to_parse = str_replace('<|', '<span', $stuff_to_parse);
+        $stuff_to_parse = str_replace ( '|>', '</span>', $stuff_to_parse );
+
+        return substr($stuff_to_parse, 1);
+    }
+
+    /**
+     * Sets the time taken to parse the code
+     *
+     * @param microtime The time when parsing started
+     * @param microtime The time when parsing ended
+     * @since 1.0.2
+     * @access private
+     */
+    function set_time($start_time, $end_time) {
+        $start = explode(' ', $start_time);
+        $end = explode(' ', $end_time);
+        $this->time = $end[0] + $end[1] - $start[0] - $start[1];
+    }
+
+    /**
+     * Gets the time taken to parse the code
+     *
+     * @return double The time taken to parse the code
+     * @since  1.0.2
+     */
+    function get_time() {
+        return $this->time;
+    }
+
+    /**
+     * Gets language information and stores it for later use
+     *
+     * @access private
+     * @todo Needs to load keys for lexic permissions for keywords, regexps etc
+     */
+    function load_language($file_name) {
+        $this->enable_highlighting();
+        $language_data = array();
+        require $file_name;
+        // Perhaps some checking might be added here later to check that
+        // $language data is a valid thing but maybe not
+        $this->language_data = $language_data;
+        // Set strict mode if should be set
+        if ($this->language_data['STRICT_MODE_APPLIES'] == GESHI_ALWAYS) {
+            $this->strict_mode = true;
+        }
+        // Set permissions for all lexics to true
+        // so they'll be highlighted by default
+        foreach ($this->language_data['KEYWORDS'] as $key => $words) {
+            $this->lexic_permissions['KEYWORDS'][$key] = true;
+        }
+        foreach ($this->language_data['COMMENT_SINGLE'] as $key => $comment) {
+            $this->lexic_permissions['COMMENTS'][$key] = true;
+        }
+        foreach ($this->language_data['REGEXPS'] as $key => $regexp) {
+            $this->lexic_permissions['REGEXPS'][$key] = true;
+        }
+        // Set default class for CSS
+        $this->overall_class = $this->language;
+    }
+
+    /**
+     * Takes the parsed code and various options, and creates the HTML
+     * surrounding it to make it look nice.
+     *
+     * @param  string The code already parsed
+     * @return string The code nicely finalised
+     * @since  1.0.0
+     * @access private
+     */
+    function finalise($parsed_code) {
+        // Remove end parts of important declarations
+        // This is BUGGY!! My fault for bad code: fix coming in 1.2
+        // @todo Remove this crap
+        if ($this->enable_important_blocks &&
+            (strstr($parsed_code, GeSHi::hsc(GESHI_START_IMPORTANT)) === false)) {
+            $parsed_code = str_replace(GeSHi::hsc(GESHI_END_IMPORTANT), '', $parsed_code);
+        }
+
+        // Add HTML whitespace stuff if we're using the <div> header
+        if ($this->header_type != GESHI_HEADER_PRE) {
+            $parsed_code = $this->indent($parsed_code);
+        }
+
+        // purge some unnecessary stuff
+        $parsed_code = preg_replace('#<span[^>]+>(\s*)</span>#', '\\1', $parsed_code);
+        $parsed_code = preg_replace('#<div[^>]+>(\s*)</div>#', '\\1', $parsed_code);
+
+        // If we are using IDs for line numbers, there needs to be an overall
+        // ID set to prevent collisions.
+        if ($this->add_ids && !$this->overall_id) {
+            $this->overall_id = 'geshi-' . substr(md5(microtime()), 0, 4);
+        }
+
+        // If we're using line numbers, we insert <li>s and appropriate
+        // markup to style them (otherwise we don't need to do anything)
+        if ($this->line_numbers != GESHI_NO_LINE_NUMBERS) {
+            // If we're using the <pre> header, we shouldn't add newlines because
+            // the <pre> will line-break them (and the <li>s already do this for us)
+            $ls = ($this->header_type != GESHI_HEADER_PRE) ? "\n" : '';
+            // Get code into lines
+            $code = explode("\n", $parsed_code);
+            // Set vars to defaults for following loop
+            $parsed_code = '';
+            $i = 0;
+            $attrs = array();
+
+            // Foreach line...
+            foreach ($code as $line) {
+                // Make lines have at least one space in them if they're empty
+                // BenBE: Checking emptiness using trim instead of relying on blanks
+                if ('' == trim($line)) {
+                    $line = '&nbsp;';
+                }
+                // If this is a "special line"...
+                if ($this->line_numbers == GESHI_FANCY_LINE_NUMBERS &&
+                    $i % $this->line_nth_row == ($this->line_nth_row - 1)) {
+                    // Set the attributes to style the line
+                    if ($this->use_classes) {
+                        //$attr = ' class="li2"';
+                        $attrs['class'][] = 'li2';
+                        $def_attr = ' class="de2"';
+                    }
+                    else {
+                        //$attr = ' style="' . $this->line_style2 . '"';
+                        $attrs['style'][] = $this->line_style2;
+                        // This style "covers up" the special styles set for special lines
+                        // so that styles applied to special lines don't apply to the actual
+                        // code on that line
+                        $def_attr = ' style="' . $this->code_style . '"';
+                    }
+                    // Span or div?
+                    $start = "<div$def_attr>";
+                    $end = '</div>';
+                }
+                else {
+                    if ($this->use_classes) {
+                        //$attr = ' class="li1"';
+                        $attrs['class'][] = 'li1';
+                        $def_attr = ' class="de1"';
+                    }
+                    else {
+                        //$attr = ' style="' . $this->line_style1 . '"';
+                        $attrs['style'][] = $this->line_style1;
+                        $def_attr = ' style="' . $this->code_style . '"';
+                    }
+                    $start = "<div$def_attr>";
+                    $end = '</div>';
+                }
+
+                ++$i;
+                // Are we supposed to use ids? If so, add them
+                if ($this->add_ids) {
+                    $attrs['id'][] = "$this->overall_id-$i";
+                }
+                if ($this->use_classes && in_array($i, $this->highlight_extra_lines)) {
+                    $attrs['class'][] = 'ln-xtra';
+                }
+                if (!$this->use_classes && in_array($i, $this->highlight_extra_lines)) {
+                    $attrs['style'][] = $this->highlight_extra_lines_style;
+                }
+
+                // Add in the line surrounded by appropriate list HTML
+                $attr_string = ' ';
+                foreach ($attrs as $key => $attr) {
+                    $attr_string .= $key . '="' . implode(' ', $attr) . '" ';
+                }
+                $attr_string = substr($attr_string, 0, -1);
+                $parsed_code .= "<li$attr_string>$start$line$end</li>$ls";
+                $attrs = array();
+            }
+        }
+        else {
+            // No line numbers, but still need to handle highlighting lines extra.
+            // Have to use divs so the full width of the code is highlighted
+            $code = explode("\n", $parsed_code);
+            $parsed_code = '';
+            $i = 0;
+            foreach ($code as $line) {
+                // Make lines have at least one space in them if they're empty
+                // BenBE: Checking emptiness using trim instead of relying on blanks
+                if ('' == trim($line)) {
+                    $line = '&nbsp;';
+                }
+                if (in_array(++$i, $this->highlight_extra_lines)) {
+                    if ($this->use_classes) {
+                        $parsed_code .= '<div class="ln-xtra">';
+                    }
+                    else {
+                        $parsed_code .= "<div style=\"{$this->highlight_extra_lines_style}\">";
+                    }
+                    // Remove \n because it stuffs up <pre> header
+                    $parsed_code .= $line . "</div>";
+                }
+                else {
+                    $parsed_code .= $line . "\n";
+                }
+            }
+        }
+
+        if ($this->header_type == GESHI_HEADER_PRE) {
+            // enforce line numbers when using pre
+            $parsed_code = str_replace('<li></li>', '<li>&nbsp;</li>', $parsed_code);
+        }
+
+        return $this->header() . chop($parsed_code) . $this->footer();
+    }
+
+    /**
+     * Creates the header for the code block (with correct attributes)
+     *
+     * @return string The header for the code block
+     * @since  1.0.0
+     * @access private
+     */
+    function header() {
+        // Get attributes needed
+        $attributes = $this->get_attributes();
+
+        $ol_attributes = '';
+
+        if ($this->line_numbers_start != 1) {
+            $ol_attributes .= ' start="' . $this->line_numbers_start . '"';
+        }
+
+        // Get the header HTML
+        $header = $this->format_header_content();
+
+        if (GESHI_HEADER_NONE == $this->header_type) {
+            if ($this->line_numbers != GESHI_NO_LINE_NUMBERS) {
+                return "$header<ol$ol_attributes>";
+            }
+            return $header .
+                ($this->force_code_block ? '<div>' : '');
+        }
+
+        // Work out what to return and do it
+        if ($this->line_numbers != GESHI_NO_LINE_NUMBERS) {
+            if ($this->header_type == GESHI_HEADER_PRE) {
+                return "<pre$attributes>$header<ol$ol_attributes>";
+            }
+            else if ($this->header_type == GESHI_HEADER_DIV) {
+                return "<div$attributes>$header<ol$ol_attributes>";
+            }
+        }
+        else {
+            if ($this->header_type == GESHI_HEADER_PRE) {
+                return "<pre$attributes>$header"  .
+                    ($this->force_code_block ? '<div>' : '');
+            }
+            else if ($this->header_type == GESHI_HEADER_DIV) {
+                return "<div$attributes>$header" .
+                    ($this->force_code_block ? '<div>' : '');
+            }
+        }
+    }
+
+    /**
+     * Returns the header content, formatted for output
+     *
+     * @return string The header content, formatted for output
+     * @since  1.0.2
+     * @access private
+     */
+    function format_header_content() {
+        $header = $this->header_content;
+        if ($header) {
+            if ($this->header_type == GESHI_HEADER_PRE) {
+                $header = str_replace("\n", '', $header);
+            }
+            $header = $this->replace_keywords($header);
+
+            if ($this->use_classes) {
+                $attr = ' class="head"';
+            }
+            else {
+                $attr = " style=\"{$this->header_content_style}\"";
+            }
+            return "<div$attr>$header</div>";
+        }
+    }
+
+    /**
+     * Returns the footer for the code block.
+     *
+     * @return string The footer for the code block
+     * @since  1.0.0
+     * @access private
+     */
+    function footer() {
+        $footer_content = $this->format_footer_content();
+
+        if (GESHI_HEADER_NONE == $this->header_type) {
+            return ($this->line_numbers != GESHI_NO_LINE_NUMBERS) ? '</ol>' . $footer_content
+                : $footer_content;
+        }
+
+        if ($this->header_type == GESHI_HEADER_DIV) {
+            if ($this->line_numbers != GESHI_NO_LINE_NUMBERS) {
+                return "</ol>$footer_content</div>";
+            }
+            return ($this->force_code_block ? '</div>' : '') .
+                "$footer_content</div>";
+        }
+        else {
+            if ($this->line_numbers != GESHI_NO_LINE_NUMBERS) {
+                return "</ol>$footer_content</pre>";
+            }
+            return ($this->force_code_block ? '</div>' : '') .
+                "$footer_content</pre>";
+        }
+    }
+
+    /**
+     * Returns the footer content, formatted for output
+     *
+     * @return string The footer content, formatted for output
+     * @since  1.0.2
+     * @access private
+     */
+    function format_footer_content() {
+        $footer = $this->footer_content;
+        if ($footer) {
+            if ($this->header_type == GESHI_HEADER_PRE) {
+                $footer = str_replace("\n", '', $footer);;
+            }
+            $footer = $this->replace_keywords($footer);
+
+            if ($this->use_classes) {
+                $attr = ' class="foot"';
+            }
+            else {
+                $attr = " style=\"{$this->footer_content_style}\"";
+            }
+            return "<div$attr>$footer</div>";
+        }
+    }
+
+    /**
+     * Replaces certain keywords in the header and footer with
+     * certain configuration values
+     *
+     * @param  string The header or footer content to do replacement on
+     * @return string The header or footer with replaced keywords
+     * @since  1.0.2
+     * @access private
+     */
+    function replace_keywords($instr) {
+        $keywords = $replacements = array();
+
+        $keywords[] = '<TIME>';
+        $keywords[] = '{TIME}';
+        $replacements[] = $replacements[] = number_format($this->get_time(), 3);
+
+        $keywords[] = '<LANGUAGE>';
+        $keywords[] = '{LANGUAGE}';
+        $replacements[] = $replacements[] = $this->language;
+
+        $keywords[] = '<VERSION>';
+        $keywords[] = '{VERSION}';
+        $replacements[] = $replacements[] = GESHI_VERSION;
+
+        return str_replace($keywords, $replacements, $instr);
+    }
+
+    /**
+     * Gets the CSS attributes for this code
+     *
+     * @return The CSS attributes for this code
+     * @since  1.0.0
+     * @access private
+     * @todo   Document behaviour change - class is outputted regardless of whether we're using classes or not.
+     *         Same with style
+     */
+    function get_attributes() {
+        $attributes = '';
+
+        if ($this->overall_class != '') {
+            $attributes .= " class=\"{$this->overall_class}\"";
+        }
+        if ($this->overall_id != '') {
+            $attributes .= " id=\"{$this->overall_id}\"";
+        }
+        if ($this->overall_style != '') {
+            $attributes .= ' style="' . $this->overall_style . '"';
+        }
+        return $attributes;
+    }
+
+    /**
+     * Secure replacement for PHP built-in function htmlspecialchars().
+     *
+     * See ticket #427 (http://wush.net/trac/wikka/ticket/427) for the rationale
+     * for this replacement function.
+     *
+     * The INTERFACE for this function is almost the same as that for
+     * htmlspecialchars(), with the same default for quote style; however, there
+     * is no 'charset' parameter. The reason for this is as follows:
+     *
+     * The PHP docs say:
+     *      "The third argument charset defines character set used in conversion."
+     *
+     * I suspect PHP's htmlspecialchars() is working at the byte-value level and
+     * thus _needs_ to know (or asssume) a character set because the special
+     * characters to be replaced could exist at different code points in
+     * different character sets. (If indeed htmlspecialchars() works at
+     * byte-value level that goes some  way towards explaining why the
+     * vulnerability would exist in this function, too, and not only in
+     * htmlentities() which certainly is working at byte-value level.)
+     *
+     * This replacement function however works at character level and should
+     * therefore be "immune" to character set differences - so no charset
+     * parameter is needed or provided. If a third parameter is passed, it will
+     * be silently ignored.
+     *
+     * In the OUTPUT there is a minor difference in that we use '&#39;' instead
+     * of PHP's '&#039;' for a single quote: this provides compatibility with
+     *      get_html_translation_table(HTML_SPECIALCHARS, ENT_QUOTES)
+     * (see comment by mikiwoz at yahoo dot co dot uk on
+     * http://php.net/htmlspecialchars); it also matches the entity definition
+     * for XML 1.0
+     * (http://www.w3.org/TR/xhtml1/dtds.html#a_dtd_Special_characters).
+     * Like PHP we use a numeric character reference instead of '&apos;' for the
+     * single quote. For the other special characters we use the named entity
+     * references, as PHP is doing.
+     *
+     * @author      {@link http://wikkawiki.org/JavaWoman Marjolein Katsma}
+     *
+     * @license     http://www.gnu.org/copyleft/lgpl.html
+     *              GNU Lesser General Public License
+     * @copyright   Copyright 2007, {@link http://wikkawiki.org/CreditsPage
+     *              Wikka Development Team}
+     *
+     * @access      public
+     * @param       string  $string string to be converted
+     * @param       integer $quote_style
+     *                      - ENT_COMPAT:   escapes &, <, > and double quote (default)
+     *                      - ENT_NOQUOTES: escapes only &, < and >
+     *                      - ENT_QUOTES:   escapes &, <, >, double and single quotes
+     * @return      string  converted string
+     */
+    function hsc($string, $quote_style=ENT_COMPAT) {
+        // init
+        $aTransSpecchar = array(
+            '&' => '&amp;',
+            '"' => '&quot;',
+            '<' => '&lt;',
+            '>' => '&gt;'
+            );                      // ENT_COMPAT set
+
+        if (ENT_NOQUOTES == $quote_style)       // don't convert double quotes
+        {
+            unset($aTransSpecchar['"']);
+        }
+        elseif (ENT_QUOTES == $quote_style)     // convert single quotes as well
+        {
+            $aTransSpecchar["'"] = '&#39;'; // (apos) htmlspecialchars() uses '&#039;'
+        }
+
+        // return translated string
+        return strtr($string,$aTransSpecchar);
+    }
+
+    /**
+     * Returns a stylesheet for the highlighted code. If $economy mode
+     * is true, we only return the stylesheet declarations that matter for
+     * this code block instead of the whole thing
+     *
+     * @param  boolean Whether to use economy mode or not
+     * @return string A stylesheet built on the data for the current language
+     * @since  1.0.0
+     */
+    function get_stylesheet($economy_mode = true) {
+        // If there's an error, chances are that the language file
+        // won't have populated the language data file, so we can't
+        // risk getting a stylesheet...
+        if ($this->error) {
+            return '';
+        }
+        // First, work out what the selector should be. If there's an ID,
+        // that should be used, the same for a class. Otherwise, a selector
+        // of '' means that these styles will be applied anywhere
+        $selector = ($this->overall_id != '') ? "#{$this->overall_id} " : '';
+        $selector = ($selector == '' && $this->overall_class != '') ? ".{$this->overall_class} " : $selector;
+
+        // Header of the stylesheet
+        if (!$economy_mode) {
+            $stylesheet = "/**\n * GeSHi Dynamically Generated Stylesheet\n * --------------------------------------\n * Dynamically generated stylesheet for {$this->language}\n * CSS class: {$this->overall_class}, CSS id: {$this->overall_id}\n * GeSHi (C) 2004 - 2007 Nigel McNie (http://qbnz.com/highlighter)\n */\n";
+         } else {
+            $stylesheet = '/* GeSHi (C) 2004 - 2007 Nigel McNie (http://qbnz.com/highlighter) */' . "\n";
+        }
+
+        // Set the <ol> to have no effect at all if there are line numbers
+        // (<ol>s have margins that should be destroyed so all layout is
+        // controlled by the set_overall_style method, which works on the
+        // <pre> or <div> container). Additionally, set default styles for lines
+        if (!$economy_mode || $this->line_numbers != GESHI_NO_LINE_NUMBERS) {
+            //$stylesheet .= "$selector, {$selector}ol, {$selector}ol li {margin: 0;}\n";
+            $stylesheet .= "$selector.de1, $selector.de2 {{$this->code_style}}\n";
+        }
+
+        // Add overall styles
+        if (!$economy_mode || $this->overall_style != '') {
+            $stylesheet .= "$selector {{$this->overall_style}}\n";
+        }
+
+        // Add styles for links
+        foreach ($this->link_styles as $key => $style) {
+            if (!$economy_mode || $key == GESHI_LINK && $style != '') {
+                $stylesheet .= "{$selector}a:link {{$style}}\n";
+            }
+            if (!$economy_mode || $key == GESHI_HOVER && $style != '') {
+                $stylesheet .= "{$selector}a:hover {{$style}}\n";
+            }
+            if (!$economy_mode || $key == GESHI_ACTIVE && $style != '') {
+                $stylesheet .= "{$selector}a:active {{$style}}\n";
+            }
+            if (!$economy_mode || $key == GESHI_VISITED && $style != '') {
+                $stylesheet .= "{$selector}a:visited {{$style}}\n";
+            }
+        }
+
+        // Header and footer
+        if (!$economy_mode || $this->header_content_style != '') {
+            $stylesheet .= "$selector.head {{$this->header_content_style}}\n";
+        }
+        if (!$economy_mode || $this->footer_content_style != '') {
+            $stylesheet .= "$selector.foot {{$this->footer_content_style}}\n";
+        }
+
+        // Styles for important stuff
+        if (!$economy_mode || $this->important_styles != '') {
+            $stylesheet .= "$selector.imp {{$this->important_styles}}\n";
+        }
+
+        // Styles for lines being highlighted extra
+        if (!$economy_mode || count($this->highlight_extra_lines)) {
+            $stylesheet .= "$selector.ln-xtra {{$this->highlight_extra_lines_style}}\n";
+        }
+
+        // Simple line number styles
+        if (!$economy_mode || ($this->line_numbers != GESHI_NO_LINE_NUMBERS && $this->line_style1 != '')) {
+            $stylesheet .= "{$selector}li {{$this->line_style1}}\n";
+        }
+
+        // If there is a style set for fancy line numbers, echo it out
+        if (!$economy_mode || ($this->line_numbers == GESHI_FANCY_LINE_NUMBERS && $this->line_style2 != '')) {
+            $stylesheet .= "{$selector}li.li2 {{$this->line_style2}}\n";
+        }
+
+        foreach ($this->language_data['STYLES']['KEYWORDS'] as $group => $styles) {
+            if (!$economy_mode || !($economy_mode && (!$this->lexic_permissions['KEYWORDS'][$group] || $styles == ''))) {
+                $stylesheet .= "$selector.kw$group {{$styles}}\n";
+            }
+        }
+        foreach ($this->language_data['STYLES']['COMMENTS'] as $group => $styles) {
+            if (!$economy_mode || !($economy_mode && $styles == '') &&
+                !($economy_mode && !$this->lexic_permissions['COMMENTS'][$group])) {
+                $stylesheet .= "$selector.co$group {{$styles}}\n";
+            }
+        }
+        foreach ($this->language_data['STYLES']['ESCAPE_CHAR'] as $group => $styles) {
+            if (!$economy_mode || !($economy_mode && $styles == '') && !($economy_mode &&
+                !$this->lexic_permissions['ESCAPE_CHAR'])) {
+                $stylesheet .= "$selector.es$group {{$styles}}\n";
+            }
+        }
+        foreach ($this->language_data['STYLES']['SYMBOLS'] as $group => $styles) {
+            if (!$economy_mode || !($economy_mode && $styles == '') && !($economy_mode &&
+                !$this->lexic_permissions['BRACKETS'])) {
+                $stylesheet .= "$selector.br$group {{$styles}}\n";
+            }
+        }
+        foreach ($this->language_data['STYLES']['STRINGS'] as $group => $styles) {
+            if (!$economy_mode || !($economy_mode && $styles == '') && !($economy_mode &&
+                !$this->lexic_permissions['STRINGS'])) {
+                $stylesheet .= "$selector.st$group {{$styles}}\n";
+            }
+        }
+        foreach ($this->language_data['STYLES']['NUMBERS'] as $group => $styles) {
+            if (!$economy_mode || !($economy_mode && $styles == '') && !($economy_mode &&
+                !$this->lexic_permissions['NUMBERS'])) {
+                $stylesheet .= "$selector.nu$group {{$styles}}\n";
+            }
+        }
+        foreach ($this->language_data['STYLES']['METHODS'] as $group => $styles) {
+            if (!$economy_mode || !($economy_mode && $styles == '') && !($economy_mode &&
+                !$this->lexic_permissions['METHODS'])) {
+                $stylesheet .= "$selector.me$group {{$styles}}\n";
+            }
+        }
+        foreach ($this->language_data['STYLES']['SCRIPT'] as $group => $styles) {
+            if (!$economy_mode || !($economy_mode && $styles == '')) {
+                $stylesheet .= "$selector.sc$group {{$styles}}\n";
+            }
+        }
+        foreach ($this->language_data['STYLES']['REGEXPS'] as $group => $styles) {
+            if (!$economy_mode || !($economy_mode && $styles == '') && !($economy_mode &&
+                !$this->lexic_permissions['REGEXPS'][$group])) {
+                if (is_array($this->language_data['REGEXPS'][$group]) &&
+                         array_key_exists(GESHI_CLASS,
+                                    $this->language_data['REGEXPS'][$group])) {
+                    $stylesheet .= "$selector.";
+                    $stylesheet .= $this->language_data['REGEXPS'][$group][GESHI_CLASS];
+                    $stylesheet .= " {{$styles}}\n";
+                }
+                else {
+                    $stylesheet .= "$selector.re$group {{$styles}}\n";
+                }
+            }
+        }
+
+        return $stylesheet;
+    }
+
+} // End Class GeSHi
+
+
+if (!function_exists('geshi_highlight')) {
+    /**
+     * Easy way to highlight stuff. Behaves just like highlight_string
+     *
+     * @param string The code to highlight
+     * @param string The language to highlight the code in
+     * @param string The path to the language files. You can leave this blank if you need
+     *               as from version 1.0.7 the path should be automatically detected
+     * @param boolean Whether to return the result or to echo
+     * @return string The code highlighted (if $return is true)
+     * @since 1.0.2
+     */
+    function geshi_highlight($string, $language, $path = null, $return = false) {
+        $geshi = new GeSHi($string, $language, $path);
+        $geshi->set_header_type(GESHI_HEADER_NONE);
+        if ($return) {
+            return '<code>' . $geshi->parse_code() . '</code>';
+        }
+        echo '<code>' . $geshi->parse_code() . '</code>';
+        if ($geshi->error()) {
+            return false;
+        }
+        return true;
+    }
+}
+
+?>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/plugins/geshi/geshi/abap.php	Sun Feb 10 18:10:52 2008 -0500
@@ -0,0 +1,138 @@
+<?php
+/*************************************************************************************
+ * abap.php
+ * --------
+ * Author: Andres Picazo (andres@andrespicazo.com)
+ * Copyright: (c) 2007 Andres Picazo
+ * Release Version: 1.0.7.20
+ * CVS Revision Version: $Revision: 1.6 $
+ * Date Started: 2004/06/04
+ * Last Modified: $Date: 2005/11/20 07:47:40 $
+ *
+ * ABAP language file for GeSHi.
+ *
+ * CHANGES
+ * -------
+ * 2007/06/27 (1.0.0)
+ *   -  First Release
+ *
+ * TODO
+ * ----
+ *
+ *************************************************************************************
+ *
+ *     This file is part of GeSHi.
+ *
+ *   GeSHi is free software; you can 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.
+ *
+ *   GeSHi is distributed in the hope that it will be useful,
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *   GNU General Public License for more details.
+ *
+ *   You should have received a copy of the GNU General Public License
+ *   along with GeSHi; if not, write to the Free Software
+ *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
+ ************************************************************************************/
+
+$language_data = array (
+	'LANG_NAME' => 'ABAP',
+    'COMMENT_SINGLE' => array(1 => '"', 2 => '*'),
+    'CASE_KEYWORDS' => 0,
+	'QUOTEMARKS' => array("'"),
+    'ESCAPE_CHAR' => '',
+	'KEYWORDS' => array(
+		1 => array(
+			'if', 'return', 'while', 'case', 'default',
+            'do', 'else', 'for', 'endif', 'elseif', 'eq',
+            'not', 'and'
+			),
+		2 => array(
+			'data', 'types', 'seletion-screen', 'parameters', 'field-symbols', 'extern', 'inline'
+			),
+		3 => array(
+			'report', 'write', 'append', 'select', 'endselect', 'call method', 'call function',
+			'loop', 'endloop', 'raise', 'read table', 'concatenate', 'split', 'shift',
+			'condense', 'describe', 'clear', 'endfunction', 'assign', 'create data', 'translate',
+			'continue', 'start-of-selection', 'at selection-screen', 'modify', 'call screen',
+			'create object', 'perform', 'form', 'endform',
+			'reuse_alv_block_list_init', 'zbcialv', 'include'
+			),
+		4 => array(
+			'type ref to', 'type', 'begin of',  'end of', 'like', 'into',
+			'from', 'where', 'order by', 'with key', 'into', 'string', 'separated by',
+            'exporting', 'importing', 'to upper case', 'to', 'exceptions', 'tables',
+            'using', 'changing'
+			),
+		),
+	'SYMBOLS' => array(
+		'(', ')', '{', '}', '[', ']', '=', '+', '-', '*', '/', '!', '%', '^', '&', ':'
+		),
+	'CASE_SENSITIVE' => array(
+		GESHI_COMMENTS => true,
+		1 => false,
+		2 => false,
+		3 => false,
+		4 => false,
+		),
+	'STYLES' => array(
+		'KEYWORDS' => array(
+			1 => 'color: #b1b100;',
+			2 => 'color: #000000; font-weight: bold;',
+			3 => 'color: #000066;',
+			4 => 'color: #993333;'
+			),
+		'COMMENTS' => array(
+			1 => 'color: #808080; font-style: italic;',
+			2 => 'color: #339933;',
+			'MULTI' => 'color: #808080; font-style: italic;'
+			),
+		'ESCAPE_CHAR' => array(
+			0 => 'color: #000099; font-weight: bold;'
+			),
+		'BRACKETS' => array(
+			0 => 'color: #66cc66;'
+			),
+		'STRINGS' => array(
+			0 => 'color: #ff0000;'
+			),
+		'NUMBERS' => array(
+			0 => 'color: #cc66cc;'
+			),
+		'METHODS' => array(
+			1 => 'color: #202020;',
+			2 => 'color: #202020;'
+			),
+		'SYMBOLS' => array(
+			0 => 'color: #66cc66;'
+			),
+		'REGEXPS' => array(
+			),
+		'SCRIPT' => array(
+			)
+		),
+	'URLS' => array(
+		1 => '',
+		2 => '',
+		3 => 'http://sap4.com/wiki/index.php?title={FNAME}',
+		4 => ''
+		),
+	'OOLANG' => true,
+	'OBJECT_SPLITTERS' => array(
+		1 => '.',
+		2 => '::'
+		),
+	'REGEXPS' => array(
+		),
+	'STRICT_MODE_APPLIES' => GESHI_NEVER,
+	'SCRIPT_DELIMITERS' => array(
+		),
+	'HIGHLIGHT_STRICT_BLOCK' => array(
+		)
+);
+
+?>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/plugins/geshi/geshi/actionscript.php	Sun Feb 10 18:10:52 2008 -0500
@@ -0,0 +1,197 @@
+<?php
+/*************************************************************************************
+ * actionscript.php
+ * ----------------
+ * Author: Steffen Krause (Steffen.krause@muse.de)
+ * Copyright: (c) 2004 Steffen Krause, Nigel McNie (http://qbnz.com/highlighter)
+ * Release Version: 1.0.7.20
+ * Date Started: 2004/06/20
+ *
+ * Actionscript language file for GeSHi.
+ *
+ * CHANGES
+ * -------
+ * 2004/11/27 (1.0.1)
+ *  -  Added support for multiple object splitters
+ * 2004/10/27 (1.0.0)
+ *  -  First Release
+ *
+ * TODO (updated 2004/11/27)
+ * -------------------------
+ *
+ *************************************************************************************
+ *
+ *     This file is part of GeSHi.
+ *
+ *   GeSHi is free software; you can 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.
+ *
+ *   GeSHi is distributed in the hope that it will be useful,
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *   GNU General Public License for more details.
+ *
+ *   You should have received a copy of the GNU General Public License
+ *   along with GeSHi; if not, write to the Free Software
+ *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
+ ************************************************************************************/
+
+$language_data = array (
+	'LANG_NAME' => 'ActionScript',
+	'COMMENT_SINGLE' => array(1 => '//', 2 => '#'),
+	'COMMENT_MULTI' => array('/*' => '*/'),
+	'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+	'QUOTEMARKS' => array("'", '"'),
+	'ESCAPE_CHAR' => '\\',
+	'KEYWORDS' => array(
+		1 => array(
+			'#include', 'for', 'foreach', 'if', 'elseif', 'else', 'while', 'do', 'dowhile',
+			'endwhile', 'endif', 'switch', 'case', 'endswitch', 'return', 'break', 'continue', 'in'
+			),
+		2 => array(
+			'null', 'false', 'true', 'var',
+			'default', 	'function', 'class',
+			'new', '_global'
+			),
+		3 => array(
+			'#endinitclip', '#initclip', '__proto__', '_accProps', '_alpha', '_currentframe',
+			'_droptarget', '_focusrect', '_framesloaded', '_height', '_highquality', '_lockroot',
+			'_name', '_parent', '_quality', '_root', '_rotation', '_soundbuftime', '_target', '_totalframes',
+			'_url', '_visible', '_width', '_x', '_xmouse', '_xscale', '_y', '_ymouse', '_yscale', 'abs',
+			'Accessibility', 'acos', 'activityLevel', 'add', 'addListener', 'addPage', 'addProperty',
+			'addRequestHeader', 'align', 'allowDomain', 'allowInsecureDomain', 'and', 'appendChild',
+			'apply', 'Arguments', 'Array', 'asfunction', 'asin', 'atan', 'atan2', 'attachAudio', 'attachMovie',
+			'attachSound', 'attachVideo', 'attributes', 'autosize', 'avHardwareDisable', 'background',
+			'backgroundColor', 'BACKSPACE', 'bandwidth', 'beginFill', 'beginGradientFill', 'blockIndent',
+			'bold', 'Boolean', 'border', 'borderColor', 'bottomScroll', 'bufferLength', 'bufferTime',
+			'builtInItems', 'bullet', 'Button', 'bytesLoaded', 'bytesTotal', 'call', 'callee', 'caller',
+			'Camera', 'capabilities', 'CAPSLOCK', 'caption', 'catch', 'ceil', 'charAt', 'charCodeAt',
+			'childNodes', 'chr', 'clear', 'clearInterval', 'cloneNode', 'close', 'Color', 'concat',
+			'connect', 'condenseWhite', 'constructor', 'contentType', 'ContextMenu', 'ContextMenuItem',
+			'CONTROL', 'copy', 'cos', 'createElement', 'createEmptyMovieClip', 'createTextField',
+			'createTextNode', 'currentFps', 'curveTo', 'CustomActions', 'customItems', 'data', 'Date',
+			'deblocking', 'delete', 'DELETEKEY', 'docTypeDecl', 'domain', 'DOWN',
+			'duplicateMovieClip', 'duration', 'dynamic', 'E', 'embedFonts', 'enabled',
+			'END', 'endFill', 'ENTER', 'eq', 'Error', 'ESCAPE(Konstante)', 'escape(Funktion)', 'eval',
+			'exactSettings', 'exp', 'extends', 'finally', 'findText', 'firstChild', 'floor',
+			'flush', 'focusEnabled', 'font', 'fps', 'fromCharCode', 'fscommand',
+			'gain', 'ge', 'get', 'getAscii', 'getBeginIndex', 'getBounds', 'getBytesLoaded', 'getBytesTotal',
+			'getCaretIndex', 'getCode', 'getCount', 'getDate', 'getDay', 'getDepth', 'getEndIndex', 'getFocus',
+			'getFontList', 'getFullYear', 'getHours', 'getInstanceAtDepth', 'getLocal', 'getMilliseconds',
+			'getMinutes', 'getMonth', 'getNewTextFormat', 'getNextHighestDepth', 'getPan', 'getProgress',
+			'getProperty', 'getRGB', 'getSeconds', 'getSelected', 'getSelectedText', 'getSize', 'getStyle',
+			'getStyleNames', 'getSWFVersion', 'getText', 'getTextExtent', 'getTextFormat', 'getTextSnapshot',
+			'getTime', 'getTimer', 'getTimezoneOffset', 'getTransform', 'getURL', 'getUTCDate', 'getUTCDay',
+			'getUTCFullYear', 'getUTCHours', 'getUTCMilliseconds', 'getUTCMinutes', 'getUTCMonth', 'getUTCSeconds',
+			'getVersion', 'getVolume', 'getYear', 'globalToLocal', 'goto', 'gotoAndPlay', 'gotoAndStop',
+			'hasAccessibility', 'hasAudio', 'hasAudioEncoder', 'hasChildNodes', 'hasEmbeddedVideo', 'hasMP3',
+			'hasPrinting', 'hasScreenBroadcast', 'hasScreenPlayback', 'hasStreamingAudio', 'hasStreamingVideo',
+			'hasVideoEncoder', 'height', 'hide', 'hideBuiltInItems', 'hitArea', 'hitTest', 'hitTestTextNearPos',
+			'HOME', 'hscroll', 'html', 'htmlText', 'ID3', 'ifFrameLoaded', 'ignoreWhite', 'implements',
+			'import', 'indent', 'index', 'indexOf', 'Infinity', '-Infinity', 'INSERT', 'insertBefore', 'install',
+			'instanceof', 'int', 'interface', 'isActive', 'isDebugger', 'isDown', 'isFinite', 'isNaN', 'isToggled',
+			'italic', 'join', 'Key', 'language', 'lastChild', 'lastIndexOf', 'le', 'leading', 'LEFT', 'leftMargin',
+			'length', 'level', 'lineStyle', 'lineTo', 'list', 'LN10', 'LN2', 'load', 'loadClip', 'loaded', 'loadMovie',
+			'loadMovieNum', 'loadSound', 'loadVariables', 'loadVariablesNum', 'LoadVars', 'LocalConnection',
+			'localFileReadDisable', 'localToGlobal', 'log', 'LOG10E', 'LOG2E', 'manufacturer', 'Math', 'max',
+			'MAX_VALUE', 'maxChars', 'maxhscroll', 'maxscroll', 'mbchr', 'mblength', 'mbord', 'mbsubstring', 'menu',
+			'message', 'Microphone', 'min', 'MIN_VALUE', 'MMExecute', 'motionLevel', 'motionTimeOut', 'Mouse',
+			'mouseWheelEnabled', 'moveTo', 'Movieclip', 'MovieClipLoader', 'multiline', 'muted', 'name', 'names', 'NaN',
+			'ne', 'NEGATIVE_INFINITY', 'NetConnection', 'NetStream', 'newline', 'nextFrame',
+			'nextScene', 'nextSibling', 'nodeName', 'nodeType', 'nodeValue', 'not', 'Number', 'Object',
+			'on', 'onActivity', 'onChanged', 'onClipEvent', 'onClose', 'onConnect', 'onData', 'onDragOut',
+			'onDragOver', 'onEnterFrame', 'onID3', 'onKeyDown', 'onKeyUp', 'onKillFocus', 'onLoad', 'onLoadComplete',
+			'onLoadError', 'onLoadInit', 'onLoadProgress', 'onLoadStart', 'onMouseDown', 'onMouseMove', 'onMouseUp',
+			'onMouseWheel', 'onPress', 'onRelease', 'onReleaseOutside', 'onResize', 'onRollOut', 'onRollOver',
+			'onScroller', 'onSelect', 'onSetFocus', 'onSoundComplete', 'onStatus', 'onUnload', 'onUpdate', 'onXML',
+			'or(logischesOR)', 'ord', 'os', 'parentNode', 'parseCSS', 'parseFloat', 'parseInt', 'parseXML', 'password',
+			'pause', 'PGDN', 'PGUP', 'PI', 'pixelAspectRatio', 'play', 'playerType', 'pop', 'position',
+			'POSITIVE_INFINITY', 'pow', 'prevFrame', 'previousSibling', 'prevScene', 'print', 'printAsBitmap',
+			'printAsBitmapNum', 'PrintJob', 'printNum', 'private', 'prototype', 'public', 'push', 'quality',
+			'random', 'rate', 'registerClass', 'removeListener', 'removeMovieClip', 'removeNode', 'removeTextField',
+			'replaceSel', 'replaceText', 'resolutionX', 'resolutionY', 'restrict', 'reverse', 'RIGHT',
+			'rightMargin', 'round', 'scaleMode', 'screenColor', 'screenDPI', 'screenResolutionX', 'screenResolutionY',
+			'scroll', 'seek', 'selectable', 'Selection', 'send', 'sendAndLoad', 'separatorBefore', 'serverString',
+			'set', 'setvariable', 'setBufferTime', 'setClipboard', 'setDate', 'setFocus', 'setFullYear', 'setGain',
+			'setHours', 'setInterval', 'setMask', 'setMilliseconds', 'setMinutes', 'setMode', 'setMonth',
+			'setMotionLevel', 'setNewTextFormat', 'setPan', 'setProperty', 'setQuality', 'setRate', 'setRGB',
+			'setSeconds', 'setSelectColor', 'setSelected', 'setSelection', 'setSilenceLevel', 'setStyle',
+			'setTextFormat', 'setTime', 'setTransform', 'setUseEchoSuppression', 'setUTCDate', 'setUTCFullYear',
+			'setUTCHours', 'setUTCMilliseconds', 'setUTCMinutes', 'setUTCMonth', 'setUTCSeconds', 'setVolume',
+			'setYear', 'SharedObject', 'SHIFT(Konstante)', 'shift(Methode)', 'show', 'showMenu', 'showSettings',
+			'silenceLevel', 'silenceTimeout', 'sin', 'size', 'slice', 'smoothing', 'sort', 'sortOn', 'Sound', 'SPACE',
+			'splice', 'split', 'sqrt', 'SQRT1_2', 'SQRT2', 'Stage', 'start', 'startDrag', 'static', 'status', 'stop',
+			'stopAllSounds', 'stopDrag', 'String', 'StyleSheet(Klasse)', 'styleSheet(Eigenschaft)', 'substr',
+			'substring', 'super', 'swapDepths', 'System', 'TAB', 'tabChildren', 'tabEnabled', 'tabIndex',
+			'tabStops', 'tan', 'target', 'targetPath', 'tellTarget', 'text', 'textColor', 'TextField', 'TextFormat',
+			'textHeight', 'TextSnapshot', 'textWidth', 'this', 'throw', 'time', 'toggleHighQuality', 'toLowerCase',
+			'toString', 'toUpperCase', 'trace', 'trackAsMenu', 'try', 'type', 'typeof', 'undefined',
+			'underline', 'unescape', 'uninstall', 'unloadClip', 'unloadMovie', 'unLoadMovieNum', 'unshift', 'unwatch',
+			'UP', 'updateAfterEvent', 'updateProperties', 'url', 'useCodePage', 'useEchoSuppression', 'useHandCursor',
+			'UTC', 'valueOf', 'variable', 'version', 'Video', 'visible', 'void', 'watch', 'width',
+			'with', 'wordwrap', 'XML', 'xmlDecl', 'XMLNode', 'XMLSocket'
+			)
+		),
+	'SYMBOLS' => array(
+		'(', ')', '[', ']', '{', '}', '!', '@', '%', '&', '*', '|', '/', '<', '>'
+		),
+	'CASE_SENSITIVE' => array(
+		GESHI_COMMENTS => false,
+		1 => false,
+		2 => false,
+		3 => false,
+		),
+	'STYLES' => array(
+		'KEYWORDS' => array(
+			1 => 'color: #b1b100;',
+			2 => 'color: #000000; font-weight: bold;',
+			3 => 'color: #0066CC;'
+			),
+		'COMMENTS' => array(
+			1 => 'color: #808080; font-style: italic;',
+			2 => 'color: #808080; font-style: italic;',
+			'MULTI' => 'color: #808080; font-style: italic;'
+			),
+		'ESCAPE_CHAR' => array(
+			0 => 'color: #000099; font-weight: bold;'
+			),
+		'BRACKETS' => array(
+			0 => 'color: #66cc66;'
+			),
+		'STRINGS' => array(
+			0 => 'color: #ff0000;'
+			),
+		'NUMBERS' => array(
+			0 => 'color: #cc66cc;'
+			),
+		'METHODS' => array(
+			1 => 'color: #006600;'
+			),
+		'SYMBOLS' => array(
+			0 => 'color: #66cc66;'
+			),
+		'REGEXPS' => array(
+			),
+		'SCRIPT' => array(
+			)
+		),
+	'URLS' => array(
+		1 => '',
+		2 => '',
+		3 => ''
+		),
+	'OOLANG' => true,
+	'OBJECT_SPLITTERS' => array(
+		1 => '.'
+		),
+	'REGEXPS' => array(
+		),
+	'STRICT_MODE_APPLIES' => GESHI_NEVER,
+	'SCRIPT_DELIMITERS' => array(),
+	'HIGHLIGHT_STRICT_BLOCK' => array()
+);
+
+?>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/plugins/geshi/geshi/ada.php	Sun Feb 10 18:10:52 2008 -0500
@@ -0,0 +1,133 @@
+<?php
+/*************************************************************************************
+ * ada.php
+ * -------
+ * Author: Tux (tux@inmail.cz)
+ * Copyright: (c) 2004 Tux (http://tux.a4.cz/), Nigel McNie (http://qbnz.com/highlighter)
+ * Release Version: 1.0.7.20
+ * Date Started: 2004/07/29
+ *
+ * Ada language file for GeSHi.
+ * Words are from SciTe configuration file
+ *
+ * CHANGES
+ * -------
+ * 2004/11/27 (1.0.2)
+ *  -  Added support for multiple object splitters
+ * 2004/10/27 (1.0.1)
+ *   -  Removed apostrophe as string delimiter
+ *   -  Added URL support
+ * 2004/08/05 (1.0.0)
+ *   -  First Release
+ *
+ * TODO (updated 2004/11/27)
+ * -------------------------
+ *
+ *************************************************************************************
+ *
+ *     This file is part of GeSHi.
+ *
+ *   GeSHi is free software; you can 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.
+ *
+ *   GeSHi is distributed in the hope that it will be useful,
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *   GNU General Public License for more details.
+ *
+ *   You should have received a copy of the GNU General Public License
+ *   along with GeSHi; if not, write to the Free Software
+ *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
+ ************************************************************************************/
+
+$language_data = array (
+	'LANG_NAME' => 'Ada',
+	'COMMENT_SINGLE' => array(1 => '--'),
+	'COMMENT_MULTI' => array('/*' => '*/'),
+	'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+	'QUOTEMARKS' => array('"'),
+	'ESCAPE_CHAR' => '\\',
+	'KEYWORDS' => array(
+		1 => array(
+			'begin', 'declare', 'do', 'else', 'elsif', 'exception', 'for', 'if',
+			'is', 'loop', 'while', 'then', 'is', 'end', 'select', 'case', 'while',  'until',
+			'goto', 'return'
+			),
+		2 => array(
+			'abs', 'and', 'mod', 'not', 'or', 'rem', 'xor'
+		  	),
+		3 => array(
+			'abort', 'abstract', 'accept', 'access', 'aliased', 'all', 'array', 'at', 'body',
+			'constant', 'delay', 'delta', 'digits', 'entry', 'exit',
+			'function', 'generic', 'in', 'limited', 'new', 'null', 'of', 'others', 'out', 'package', 'pragma',
+			'private', 'procedure', 'protected', 'raise', 'range', 'record', 'renames', 'requeue', 'reverse',
+			'separate', 'subtype', 'tagged', 'task', 'terminate', 'type', 'use', 'when', 'with'
+			)
+		),
+	'SYMBOLS' => array(
+		'(', ')'
+		),
+	'CASE_SENSITIVE' => array(
+		GESHI_COMMENTS => true,
+		1 => false,
+		2 => false,
+		3 => false,
+		),
+	'STYLES' => array(
+		'KEYWORDS' => array(
+			1 => 'color: #00007f;',
+			2 => 'color: #0000ff;',
+			3 => 'color: #46aa03; font-weight:bold;',
+			),
+		'BRACKETS' => array(
+			0 => 'color: #66cc66;'
+			),
+		'COMMENTS' => array(
+			1 => 'color: #adadad; font-style: italic;',
+			'MULTI' => 'color: #808080; font-style: italic;'
+			),
+		'ESCAPE_CHAR' => array(
+			0 => 'color: #000099; font-weight: bold;'
+			),
+		'BRACKETS' => array(
+			0 => 'color: #66cc66;'
+			),
+		'STRINGS' => array(
+			0 => 'color: #7f007f;'
+			),
+		'NUMBERS' => array(
+			0 => 'color: #ff0000;'
+			),
+		'METHODS' => array(
+			1 => 'color: #202020;'
+			),
+		'SYMBOLS' => array(
+			0 => 'color: #66cc66;'
+			),
+		'REGEXPS' => array(
+			),
+		'SCRIPT' => array(
+			)
+		),
+	'URLS' => array(
+		1 => '',
+		2 => '',
+		3 => ''
+		),
+	'OOLANG' => true,
+	'OBJECT_SPLITTERS' => array(
+		1 => '.'
+		),
+	'REGEXPS' => array(
+		),
+	'STRICT_MODE_APPLIES' => GESHI_NEVER,
+	'SCRIPT_DELIMITERS' => array(
+		),
+	'HIGHLIGHT_STRICT_BLOCK' => array(
+		)
+);
+
+?>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/plugins/geshi/geshi/apache.php	Sun Feb 10 18:10:52 2008 -0500
@@ -0,0 +1,171 @@
+<?php
+/*************************************************************************************
+ * apache.php
+ * ----------
+ * Author: Tux (tux@inmail.cz)
+ * Copyright: (c) 2004 Tux (http://tux.a4.cz/), Nigel McNie (http://qbnz.com/highlighter)
+ * Release Version: 1.0.7.20
+ * Date Started: 2004/29/07
+ *
+ * Apache language file for GeSHi.
+ * Words are from SciTe configuration file
+ *
+ * CHANGES
+ * -------
+ * 2004/11/27 (1.0.2)
+ *  -  Added support for multiple object splitters
+ * 2004/10/27 (1.0.1)
+ *   -  Added support for URLs
+ * 2004/08/05 (1.0.0)
+ *   -  First Release
+ *
+ * TODO (updated 2004/07/29)
+ * -------------------------
+ *
+ *************************************************************************************
+ *
+ *     This file is part of GeSHi.
+ *
+ *   GeSHi is free software; you can 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.
+ *
+ *   GeSHi is distributed in the hope that it will be useful,
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *   GNU General Public License for more details.
+ *
+ *   You should have received a copy of the GNU General Public License
+ *   along with GeSHi; if not, write to the Free Software
+ *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
+ ************************************************************************************/
+
+$language_data = array (
+	'LANG_NAME' => 'Apache Log',
+	'COMMENT_SINGLE' => array(1 => '#'),
+	'COMMENT_MULTI' => array(),
+	'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+	'QUOTEMARKS' => array("'", '"'),
+	'ESCAPE_CHAR' => '\\',
+	'KEYWORDS' => array(
+		/*keywords*/
+	        1 => array(
+			'accessconfig','accessfilename','action','addalt',
+			'addaltbyencoding','addaltbytype','addcharset',
+			'adddefaultcharset','adddescription',
+			'addencoding','addhandler','addicon','addiconbyencoding',
+			'addiconbytype','addlanguage','addmodule','addmoduleinfo',
+			'addtype','agentlog','alias','aliasmatch',
+			'allow','allowconnect','allowoverride','anonymous',
+			'anonymous_authoritative','anonymous_logemail','anonymous_mustgiveemail',
+			'anonymous_nouserid','anonymous_verifyemail','authauthoritative',
+			'authdbauthoritative','authdbgroupfile','authdbmauthoritative',
+			'authdbmgroupfile','authdbmgroupfile','authdbuserfile','authdbmuserfile',
+			'authdigestfile','authgroupfile','authname','authtype',
+			'authuserfile','bindaddress','browsermatch','browsermatchnocase',
+			'bs2000account','cachedefaultexpire','cachedirlength','cachedirlevels',
+			'cacheforcecompletion','cachegcinterval','cachelastmodifiedfactor','cachemaxexpire',
+			'cachenegotiateddocs','cacheroot','cachesize','checkspelling',
+			'clearmodulelist','contentdigest','cookieexpires','cookielog',
+			'cookielog','cookietracking','coredumpdirectory','customlog',
+			'defaulticon','defaultlanguage','defaulttype','define',
+			'deny','directory','directorymatch','directoryindex',
+			'documentroot','errordocument','errorlog','example',
+			'expiresactive','expiresbytype','expiresdefault','extendedstatus',
+			'fancyindexing','files','filesmatch','forcetype',
+			'group','header','headername','hostnamelookups',
+			'identitycheck','ifdefine','ifmodule','imapbase',
+			'imapdefault','imapmenu','include','indexignore',
+			'indexoptions','keepalive','keepalivetimeout','languagepriority',
+			'limit','limitexcept','limitrequestbody','limitrequestfields',
+			'limitrequestfieldsize','limitrequestline','listen','listenbacklog',
+			'loadfile','loadmodule','location','locationmatch',
+			'lockfile','logformat','loglevel','maxclients',
+			'maxkeepaliverequests','maxrequestsperchild','maxspareservers','metadir',
+			'metafiles','metasuffix','mimemagicfile','minspareservers',
+			'mmapfile','namevirtualhost','nocache','options','order',
+			'passenv','pidfile','port','proxyblock','proxydomain',
+			'proxypass','proxypassreverse','proxyreceivebuffersize','proxyremote',
+			'proxyrequests','proxyvia','qsc','readmename',
+			'redirect','redirectmatch','redirectpermanent','redirecttemp',
+			'refererignore','refererlog','removehandler','require',
+			'resourceconfig','rewritebase','rewritecond','rewriteengine',
+			'rewritelock','rewritelog','rewriteloglevel','rewritemap',
+			'rewriteoptions','rewriterule','rlimitcpu','rlimitmem',
+			'rlimitnproc','satisfy','scoreboardfile','script',
+			'scriptalias','scriptaliasmatch','scriptinterpretersource','scriptlog',
+			'scriptlogbuffer','scriptloglength','sendbuffersize',
+			'serveradmin','serveralias','servername','serverpath',
+			'serverroot','serversignature','servertokens','servertype',
+			'setenv','setenvif','setenvifnocase','sethandler',
+			'singlelisten','startservers','threadsperchild','timeout',
+			'transferlog','typesconfig','unsetenv','usecanonicalname',
+			'user','userdir','virtualhost','virtualdocumentroot',
+			'virtualdocumentrootip','virtualscriptalias','virtualscriptaliasip',
+			'xbithack','from','all'
+		  ),
+		/*keyords 2*/
+		2 => array(
+			'on','off','standalone','inetd',
+			'force-response-1.0','downgrade-1.0','nokeepalive',
+			'ndexes','includes','followsymlinks','none',
+			'x-compress','x-gzip'
+		)
+	),
+	'SYMBOLS' => array(
+		'(', ')'
+		),
+	'CASE_SENSITIVE' => array(
+		GESHI_COMMENTS => true,
+		1 => false,
+		2 => false,
+		),
+	'STYLES' => array(
+		'KEYWORDS' => array(
+			1 => 'color: #00007f;',
+			2 => 'color: #0000ff;',
+			),
+		'COMMENTS' => array(
+			1 => 'color: #adadad; font-style: italic;',
+			),
+		'ESCAPE_CHAR' => array(
+			0 => 'color: #000099; font-weight: bold;'
+			),
+		'BRACKETS' => array(
+			0 => 'color: #66cc66;'
+			),
+		'STRINGS' => array(
+			0 => 'color: #7f007f;'
+			),
+		'NUMBERS' => array(
+			0 => 'color: #ff0000;'
+			),
+		'METHODS' => array(
+			),
+		'SYMBOLS' => array(
+			0 => 'color: #66cc66;'
+			),
+		'REGEXPS' => array(
+			),
+		'SCRIPT' => array(
+			)
+		),
+	'URLS' => array(
+		1 => '',
+		2 => ''
+		),
+	'OOLANG' => false,
+	'OBJECT_SPLITTERS' => array(
+		),
+	'REGEXPS' => array(
+		),
+	'STRICT_MODE_APPLIES' => GESHI_NEVER,
+	'SCRIPT_DELIMITERS' => array(
+		),
+	'HIGHLIGHT_STRICT_BLOCK' => array(
+		)
+);
+
+?>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/plugins/geshi/geshi/applescript.php	Sun Feb 10 18:10:52 2008 -0500
@@ -0,0 +1,134 @@
+<?php
+/*************************************************************************************
+ * applescript.php
+ * --------
+ * Author: Stephan Klimek (http://www.initware.org)
+ * Copyright: Stephan Klimek (http://www.initware.org)
+ * Release Version: 1.0.7.20
+ * Date Started: 2005/07/20
+ *
+ * AppleScript language file for GeSHi.
+ *
+ * CHANGES
+ * -------
+ *
+ * TODO 
+ * -------------------------
+ * URL settings to references
+ *
+ **************************************************************************************
+ *
+ *     This file is part of GeSHi.
+ *
+ *   GeSHi is free software; you can 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.
+ *
+ *   GeSHi is distributed in the hope that it will be useful,
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *   GNU General Public License for more details.
+ *
+ *   You should have received a copy of the GNU General Public License
+ *   along with GeSHi; if not, write to the Free Software
+ *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
+ ************************************************************************************/
+
+$language_data = array (
+	'LANG_NAME' => 'AppleScript',
+	'COMMENT_SINGLE' => array(1 => '--'),
+	'COMMENT_MULTI' => array( '(*' => '*)'),
+	'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+	'QUOTEMARKS' => array('"',"'"),
+	'ESCAPE_CHAR' => '\\',
+	'KEYWORDS' => array(
+		1 => array(
+            'script','property','prop','end','copy','to','set','global','local','on','to','of',
+            'in','given','with','without','return','continue','tell','if','then','else','repeat',
+            'times','while','until','from','exit','try','error','considering','ignoring','timeout',
+            'transaction','my','get','put','into','is'
+			),
+		2 => array(
+            'each','some','every','whose','where','id','index','first','second','third','fourth',
+            'fifth','sixth','seventh','eighth','ninth','tenth','last','front','back','st','nd',
+            'rd','th','middle','named','through','thru','before','after','beginning','the'
+			),
+		3 => array(
+            'close','copy','count','delete','duplicate','exists','launch','make','move','open',
+            'print','quit','reopen','run','save','saving',
+            'it','me','version','pi','result','space','tab','anything','case','diacriticals','expansion',
+            'hyphens','punctuation','bold','condensed','expanded','hidden','italic','outline','plain',
+            'shadow','strikethrough','subscript','superscript','underline','ask','no','yes','false',
+            'true','weekday','monday','mon','tuesday','tue','wednesday','wed','thursday','thu','friday',
+            'fri','saturday','sat','sunday','sun','month','january','jan','february','feb','march',
+            'mar','april','apr','may','june','jun','july','jul','august','aug','september',
+            'sep','october','oct','november','nov','december','dec','minutes','hours',
+            'days','weeks','div','mod','and','not','or','as','contains','equal','equals','isnt'
+			)
+		),
+	'SYMBOLS' => array(
+        ')','+','-','^','*','/','&','<','>=','<','<=','=','�'
+		),
+	'CASE_SENSITIVE' => array(
+		GESHI_COMMENTS => true,
+		1 => false,
+		2 => false,
+		3 => false,
+		),
+	'STYLES' => array(
+		'KEYWORDS' => array(
+			1 => 'color: #b1b100;',
+			2 => 'color: #000000; font-weight: bold;',
+			3 => 'color: #000066;'
+			),
+		'COMMENTS' => array(
+			1 => 'color: #808080; font-style: italic;',
+			'MULTI' => 'color: #808080; font-style: italic;'
+			),
+		'ESCAPE_CHAR' => array(
+			0 => 'color: #000099; font-weight: bold;'
+			),
+		'BRACKETS' => array(
+			0 => 'color: #66cc66;'
+			),
+		'STRINGS' => array(
+			0 => 'color: #ff0000;'
+			),
+		'NUMBERS' => array(
+			0 => 'color: #cc66cc;'
+			),
+		'METHODS' => array(
+			1 => 'color: #006600;',
+			2 => 'color: #006600;'
+			),
+		'SYMBOLS' => array(
+			0 => 'color: #66cc66;'
+			),
+		'REGEXPS' => array(
+			0 => 'color: #0000ff;',
+			4 => 'color: #009999;',
+			),
+		'SCRIPT' => array(
+			)
+		),
+	'URLS' => array(
+		3 => ''
+		),
+	'OOLANG' => true,
+	'OBJECT_SPLITTERS' => array(
+		1 => ',+-=&lt;&gt;/?^&amp;*'
+		),
+	'REGEXPS' => array(
+		0 => '[\\$%@]+[a-zA-Z_][a-zA-Z0-9_]*',
+		4 => '&lt;[a-zA-Z_][a-zA-Z0-9_]*&gt;',
+		),
+	'STRICT_MODE_APPLIES' => GESHI_NEVER,
+	'SCRIPT_DELIMITERS' => array(
+		),
+	'HIGHLIGHT_STRICT_BLOCK' => array(
+		)
+);
+
+?>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/plugins/geshi/geshi/asm.php	Sun Feb 10 18:10:52 2008 -0500
@@ -0,0 +1,199 @@
+<?php
+/*************************************************************************************
+ * asm.php
+ * -------
+ * Author: Tux (tux@inmail.cz)
+ * Copyright: (c) 2004 Tux (http://tux.a4.cz/), Nigel McNie (http://qbnz.com/highlighter)
+ * Release Version: 1.0.7.20
+ * Date Started: 2004/07/27
+ *
+ * x86 Assembler language file for GeSHi.
+ * Words are from SciTe configuration file (based on NASM syntax)
+ *
+ * CHANGES
+ * -------
+ * 2004/11/27 (1.0.2)
+ *  -  Added support for multiple object splitters
+ * 2004/10/27 (1.0.1)
+ *   -  Added support for URLs
+ *   -  Added binary and hexadecimal regexps
+ * 2004/08/05 (1.0.0)
+ *   -  First Release
+ *
+ * TODO (updated 2004/11/27)
+ * -------------------------
+ *
+ *************************************************************************************
+ *
+ *     This file is part of GeSHi.
+ *
+ *   GeSHi is free software; you can 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.
+ *
+ *   GeSHi is distributed in the hope that it will be useful,
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *   GNU General Public License for more details.
+ *
+ *   You should have received a copy of the GNU General Public License
+ *   along with GeSHi; if not, write to the Free Software
+ *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
+ ************************************************************************************/
+
+$language_data = array (
+	'LANG_NAME' => 'ASM',
+	'COMMENT_SINGLE' => array(1 => ';'),
+	'COMMENT_MULTI' => array(),
+	'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+	'QUOTEMARKS' => array("'", '"'),
+	'ESCAPE_CHAR' => '',
+	'KEYWORDS' => array(
+		/*CPU*/
+		1 => array(
+		       'aaa','aad','aam','aas','adc','add','and','call','cbw','clc','cld','cli','cmc','cmp',
+			'cmps','cmpsb','cmpsw','cwd','daa','das','dec','div','esc','hlt','idiv','imul','in','inc',
+			'int','into','iret','ja','jae','jb','jbe','jc','jcxz','je','jg','jge','jl','jle','jmp',
+			'jna','jnae','jnb','jnbe','jnc','jne','jng','jnge','jnl','jnle','jno','jnp','jns','jnz',
+			'jo','jp','jpe','jpo','js','jz','lahf','lds','lea','les','lods','lodsb','lodsw','loop',
+			'loope','loopew','loopne','loopnew','loopnz','loopnzw','loopw','loopz','loopzw','mov',
+			'movs','movsb','movsw','mul','neg','nop','not','or','out','pop','popf','push','pushf',
+			'rcl','rcr','ret','retf','retn','rol','ror','sahf','sal','sar','sbb','scas','scasb','scasw',
+			'shl','shr','stc','std','sti','stos','stosb','stosw','sub','test','wait','xchg','xlat',
+			'xlatb','xor','bound','enter','ins','insb','insw','leave','outs','outsb','outsw','popa','pusha','pushw',
+			'arpl','lar','lsl','sgdt','sidt','sldt','smsw','str','verr','verw','clts','lgdt','lidt','lldt','lmsw','ltr',
+			'bsf','bsr','bt','btc','btr','bts','cdq','cmpsd','cwde','insd','iretd','iretdf','iretf',
+			'jecxz','lfs','lgs','lodsd','loopd','looped','loopned','loopnzd','loopzd','lss','movsd',
+			'movsx','movzx','outsd','popad','popfd','pushad','pushd','pushfd','scasd','seta','setae',
+			'setb','setbe','setc','sete','setg','setge','setl','setle','setna','setnae','setnb','setnbe',
+			'setnc','setne','setng','setnge','setnl','setnle','setno','setnp','setns','setnz','seto','setp',
+			'setpe','setpo','sets','setz','shld','shrd','stosd','bswap','cmpxchg','invd','invlpg','wbinvd','xadd','lock',
+			'rep','repe','repne','repnz','repz'
+		  ),
+		/*FPU*/
+		2 => array(
+			  'f2xm1','fabs','fadd','faddp','fbld','fbstp','fchs','fclex','fcom','fcomp','fcompp','fdecstp',
+			 'fdisi','fdiv','fdivp','fdivr','fdivrp','feni','ffree','fiadd','ficom','ficomp','fidiv',
+   			 'fidivr','fild','fimul','fincstp','finit','fist','fistp','fisub','fisubr','fld','fld1',
+			 'fldcw','fldenv','fldenvw','fldl2e','fldl2t','fldlg2','fldln2','fldpi','fldz','fmul',
+			 'fmulp','fnclex','fndisi','fneni','fninit','fnop','fnsave','fnsavew','fnstcw','fnstenv',
+			 'fnstenvw','fnstsw','fpatan','fprem','fptan','frndint','frstor','frstorw','fsave',
+			 'fsavew','fscale','fsqrt','fst','fstcw','fstenv','fstenvw','fstp','fstsw','fsub','fsubp',
+			 'fsubr','fsubrp','ftst','fwait','fxam','fxch','fxtract','fyl2x','fyl2xp1',
+			 'fsetpm','fcos','fldenvd','fnsaved','fnstenvd','fprem1','frstord','fsaved','fsin','fsincos',
+			 'fstenvd','fucom','fucomp','fucompp'
+		    ),
+		/*registers*/
+		3 => array(
+			'ah','al','ax','bh','bl','bp','bx','ch','cl','cr0','cr2','cr3','cs','cx','dh','di','dl',
+			'dr0','dr1','dr2','dr3','dr6','dr7','ds','dx','eax','ebp','ebx','ecx','edi','edx',
+			 'es','esi','esp','fs','gs','si','sp','ss','st','tr3','tr4','tr5','tr6','tr7', 'ah', 'bh', 'ch', 'dh'
+			),
+		/*Directive*/
+		4 => array(
+			  '186','286','286c','286p','287','386','386c','386p','387','486','486p',
+			 '8086','8087','alpha','break','code','const','continue','cref','data','data?',
+			'dosseg','else','elseif','endif','endw','err','err1','err2','errb',
+			 'errdef','errdif','errdifi','erre','erridn','erridni','errnb','errndef',
+			 'errnz','exit','fardata','fardata?','if','lall','lfcond','list','listall',
+			 'listif','listmacro','listmacroall',' model','no87','nocref','nolist',
+			 'nolistif','nolistmacro','radix','repeat','sall','seq','sfcond','stack',
+			  'startup','tfcond','type','until','untilcxz','while','xall','xcref',
+			  'xlist','alias','align','assume','catstr','comm','comment','db','dd','df','dosseg','dq',
+			  'dt','dup','dw','echo','else','elseif','elseif1','elseif2','elseifb','elseifdef','elseifdif',
+			  'elseifdifi','elseife','elseifidn','elseifidni','elseifnb','elseifndef','end',
+			  'endif','endm','endp','ends','eq',' equ','even','exitm','extern','externdef','extrn','for',
+			  'forc','ge','goto','group','high','highword','if','if1','if2','ifb','ifdef','ifdif',
+			  'ifdifi','ife',' ifidn','ifidni','ifnb','ifndef','include','includelib','instr','invoke',
+			  'irp','irpc','label','le','length','lengthof','local','low','lowword','lroffset',
+			  'macro','mask','mod','msfloat','name','ne','offset','opattr','option','org','%out',
+			  'page','popcontext','proc','proto','ptr','public','purge','pushcontext','record',
+			  'repeat','rept','seg','segment','short','size','sizeof','sizestr','struc','struct',
+			  'substr','subtitle','subttl','textequ','this','title','type','typedef','union','while','width',
+			  '.model', '.stack', '.code', '.data'
+
+		    ),
+
+		/*Operands*/
+		5 => array(
+			 '@b','@f','addr','basic','byte','c','carry?','dword',
+			 'far','far16','fortran','fword','near','near16','overflow?','parity?','pascal','qword',
+			 'real4',' real8','real10','sbyte','sdword','sign?','stdcall','sword','syscall','tbyte',
+			 'vararg','word','zero?','flat','near32','far32',
+			 'abs','all','assumes','at','casemap','common','compact',
+			 'cpu','dotname','emulator','epilogue','error','export','expr16','expr32','farstack','flat',
+			 'forceframe','huge','language','large','listing','ljmp','loadds','m510','medium','memory',
+			 'nearstack','nodotname','noemulator','nokeyword','noljmp','nom510','none','nonunique',
+			 'nooldmacros','nooldstructs','noreadonly','noscoped','nosignextend','nothing',
+			 'notpublic','oldmacros','oldstructs','os_dos','para','private','prologue','radix',
+			 'readonly','req','scoped','setif2','smallstack','tiny','use16','use32','uses'
+			)
+		),
+	'SYMBOLS' => array(
+		'[', ']', '(', ')'
+		),
+	'CASE_SENSITIVE' => array(
+		GESHI_COMMENTS => true,
+		1 => false,
+		2 => false,
+		3 => false,
+		4 => false,
+		5 => false
+		),
+	'STYLES' => array(
+		'KEYWORDS' => array(
+			1 => 'color: #00007f;',
+			2 => 'color: #0000ff;',
+			3 => 'color: #46aa03; font-weight:bold;',
+			4 => 'color: #0000ff;',
+			5 => 'color: #0000ff;'
+			),
+		'COMMENTS' => array(
+			1 => 'color: #adadad; font-style: italic;',
+			),
+		'ESCAPE_CHAR' => array(
+			0 => 'color: #000099; font-weight: bold;'
+			),
+		'BRACKETS' => array(
+			0 => 'color: #66cc66;'
+			),
+		'STRINGS' => array(
+			0 => 'color: #7f007f;'
+			),
+		'NUMBERS' => array(
+			0 => 'color: #ff0000;'
+			),
+		'METHODS' => array(
+			),
+		'SYMBOLS' => array(
+			0 => 'color: #66cc66;'
+			),
+		'REGEXPS' => array(
+			0 => 'color: #ff0000;',
+			1 => 'color: #ff0000;'
+			),
+		'SCRIPT' => array(
+			)
+		),
+	'URLS' => array(
+		1 => '',
+		2 => ''
+		),
+	'OOLANG' => false,
+	'OBJECT_SPLITTERS' => array(
+		),
+	'REGEXPS' => array(
+		0 => '0[0-9a-fA-F]{1,32}[hH]',
+		1 => '[01]{1,64}[bB]'
+		),
+	'STRICT_MODE_APPLIES' => GESHI_NEVER,
+	'SCRIPT_DELIMITERS' => array(
+		),
+	'HIGHLIGHT_STRICT_BLOCK' => array(
+        ),
+    'TAB_WIDTH' => 8
+);
+
+?>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/plugins/geshi/geshi/asp.php	Sun Feb 10 18:10:52 2008 -0500
@@ -0,0 +1,153 @@
+<?php
+/*************************************************************************************
+ * asp.php
+ * --------
+ * Author: Amit Gupta (http://blog.igeek.info/)
+ * Copyright: (c) 2004 Amit Gupta (http://blog.igeek.info/), Nigel McNie (http://qbnz.com/highlighter)
+ * Release Version: 1.0.7.20
+ * Date Started: 2004/08/13
+ *
+ * ASP language file for GeSHi.
+ *
+ * CHANGES
+ * -------
+ * 2005/12/30 (1.0.3)
+ *   -  Strings only delimited by ", comments by '
+ * 2004/11/27 (1.0.2)
+ *   -  Added support for multiple object splitters
+ * 2004/10/27 (1.0.1)
+ *   -  Added support for URLs
+ * 2004/08/13 (1.0.0)
+ *   -  First Release
+ *
+ * TODO (updated 2004/11/27)
+ * -------------------------
+ * * Include all the functions, keywords etc that I have missed
+ *
+ *************************************************************************************
+ *
+ *     This file is part of GeSHi.
+ *
+ *   GeSHi is free software; you can 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.
+ *
+ *   GeSHi is distributed in the hope that it will be useful,
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *   GNU General Public License for more details.
+ *
+ *   You should have received a copy of the GNU General Public License
+ *   along with GeSHi; if not, write to the Free Software
+ *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
+ ************************************************************************************/
+
+$language_data = array (
+	'LANG_NAME' => 'ASP',
+	'COMMENT_SINGLE' => array(1 => "'", 2 => '//'),
+	'COMMENT_MULTI' => array('/*' => '*/'),
+	'CASE_KEYWORDS' => 0,
+	'QUOTEMARKS' => array('"'),
+	'ESCAPE_CHAR' => '\\',
+	'KEYWORDS' => array(
+		1 => array(
+			'include', 'file', 'Dim', 'Option', 'Explicit', 'Implicit', 'Set', 'Select', 'ReDim', 'Preserve',
+			'ByVal', 'ByRef', 'End', 'Private', 'Public', 'If', 'Then', 'Else', 'ElseIf', 'Case', 'With', 'NOT',
+			'While', 'Wend', 'For', 'Loop', 'Do', 'Request', 'Response', 'Server', 'ADODB', 'Session', 'Application',
+			'Each', 'In', 'Get', 'Next', 'INT', 'CINT', 'CBOOL', 'CDATE', 'CBYTE', 'CCUR', 'CDBL', 'CLNG', 'CSNG',
+			'CSTR', 'Fix', 'Is', 'Sgn', 'String', 'Boolean', 'Currency', 'Me', 'Single', 'Long', 'Integer', 'Byte',
+			'Variant', 'Double', 'To', 'Let', 'Xor', 'Resume', 'On', 'Error', 'Imp', 'GoTo', 'Call', 'Global'
+			),
+		2 => array(
+			'Null', 'Nothing', 'And',
+			'False', '&lt;%', '%&gt;',
+			'&lt;script language=', '&lt;/script&gt;',
+			'True', 'var', 'Or', 'BOF', 'EOF',
+			'Function', 'Class', 'New', 'Sub'
+			),
+		3 => array(
+			'CreateObject', 'Write', 'Redirect', 'Cookies', 'BinaryRead', 'ClientCertificate', 'Form', 'QueryString',
+			'ServerVariables', 'TotalBytes', 'AddHeader', 'AppendToLog', 'BinaryWrite', 'Buffer', 'CacheControl',
+			'Charset', 'Clear', 'ContentType', 'End()', 'Expires', 'ExpiresAbsolute', 'Flush()', 'IsClientConnected',
+			'PICS', 'Status', 'Connection', 'Recordset', 'Execute', 'Abandon', 'Lock', 'UnLock', 'Command', 'Fields',
+			'Properties', 'Property', 'Send', 'Replace', 'InStr', 'TRIM', 'NOW', 'Day', 'Month', 'Hour', 'Minute', 'Second',
+			'Year', 'MonthName', 'LCase', 'UCase', 'Abs', 'Array', 'As', 'LEN', 'MoveFirst', 'MoveLast', 'MovePrevious',
+			'MoveNext', 'LBound', 'UBound', 'Transfer', 'Open', 'Close', 'MapPath', 'FileExists', 'OpenTextFile', 'ReadAll'
+			)
+		),
+	'CASE_SENSITIVE' => array(
+		GESHI_COMMENTS => false,
+		1 => false,
+		2 => false,
+		3 => false,
+		),
+	'STYLES' => array(
+		'KEYWORDS' => array(
+			1 => 'color: #990099; font-weight: bold;',
+			2 => 'color: #0000ff; font-weight: bold;',
+			3 => 'color: #330066;'
+			),
+		'COMMENTS' => array(
+			1 => 'color: #008000;',
+			2 => 'color: #ff6600;',
+			'MULTI' => 'color: #008000;'
+			),
+		'ESCAPE_CHAR' => array(
+			0 => 'color: #000099; font-weight: bold;'
+			),
+		'BRACKETS' => array(
+			0 => 'color: #006600; font-weight:bold'
+			),
+		'STRINGS' => array(
+			0 => 'color: #cc0000;'
+			),
+		'NUMBERS' => array(
+			0 => 'color: #800000;'
+			),
+		'METHODS' => array(
+			1 => 'color: #9900cc;'
+			),
+		'SYMBOLS' => array(
+			0 => 'color: #006600; font-weight: bold'
+			),
+		'REGEXPS' => array(
+			),
+		'SCRIPT' => array(
+			0 => '',
+			1 => '',
+			2 => '',
+			)
+		),
+	'URLS' => array(
+		1 => '',
+		2 => '',
+		3 => ''
+		),
+	'OOLANG' => true,
+	'OBJECT_SPLITTERS' => array(
+		1 => '.'
+		),
+	'REGEXPS' => array(
+		),
+	'STRICT_MODE_APPLIES' => GESHI_MAYBE,
+	'SCRIPT_DELIMITERS' => array(
+		0 => array(
+			'<%' => '%>'
+			),
+		1 => array(
+			'<script language="vbscript" runat="server">' => '</script>'
+			),
+		2 => array(
+			'<script language="javascript" runat="server">' => '</script>'
+			)
+		),
+	'HIGHLIGHT_STRICT_BLOCK' => array(
+		0 => true,
+		1 => true,
+		2 => true,
+		)
+);
+
+?>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/plugins/geshi/geshi/autoit.php	Sun Feb 10 18:10:52 2008 -0500
@@ -0,0 +1,453 @@
+<?php
+/*************************************************************************************
+ * autoit.php
+ * --------
+ * Author: big_daddy (robert.i.anthony@gmail.com)
+ * Copyright: (c) 2006 and to GESHi ;)
+ * Release Version: 1.0.7.20
+ * Date Started: 26.01.2006
+ *
+ * Current bugs & todo:
+ * ----------
+ * - dosn't highlight symbols (Please note that in 1.0.X these are not used. Hopefully they will be used in 1.2.X.)
+ * - not sure how to get sendkeys to work " {!}, {SPACE} etc... "
+ * - jut copyied the regexp for variable from php so this HAVE to be checked and fixed to a better one ;)
+ *
+ * Reference: http://www.autoitscript.com/autoit3/docs/
+ *************************************************************************************
+ *
+ *     This file is part of GeSHi.
+ *
+ *   GeSHi is free software; you can 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.
+ *
+ *   GeSHi is distributed in the hope that it will be useful,
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *   GNU General Public License for more details.
+ *
+ *   You should have received a copy of the GNU General Public License
+ *   along with GeSHi; if not, write to the Free Software
+ *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
+ ************************************************************************************/
+
+$language_data = array (
+    'LANG_NAME' => 'AutoIt',
+    'COMMENT_SINGLE' => array(';'),
+    'COMMENT_MULTI' => array('#comments-start' => '#comments-end', '#cs' => '#ce'),
+    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+    'QUOTEMARKS' => array("'", '"'),
+    'ESCAPE_CHAR' => '',
+    'KEYWORDS' => array(
+        1 => array(
+            'false', 'and', 'byref', 'case', 'const', 
+            'continuecase', 'continueloop', 'default', 'dim', 'do', 
+            'else', 'elseif', 'endfunc', 'endif', 'endselect', 
+            'endswitch', 'endwith', 'enum', 'exit', 'exitloop', 
+            'for', 'func', 'global', 'if', 'in', 
+            'local', 'next', 'not', 'or', 'redim', 
+            'return', 'select', 'step', 'switch', 'then', 
+            'to', 'true', 'until', 'wend', 'while', 
+            'with'
+            ),
+        2 => array(
+            '@appdatacommondir', '@appdatadir', '@autoitexe', '@autoitpid', 
+            '@autoitversion', '@com_eventobj', '@commonfilesdir', '@compiled', 
+            '@computername', '@comspec', '@cr', '@crlf', '@desktopcommondir', 
+            '@desktopdepth', '@desktopdir', '@desktopheight', 
+            '@desktoprefresh', '@desktopwidth', '@documentscommondir', 
+            '@error', '@exitcode', '@exitmethod', '@extended', 
+            '@favoritescommondir', '@favoritesdir', '@gui_ctrlhandle', 
+            '@gui_ctrlid', '@gui_dragfile', '@gui_dragid', '@gui_dropid', 
+            '@gui_winhandle', '@homedrive', '@homepath', '@homeshare', 
+            '@hotkeypressed', '@hour', '@inetgetactive', '@inetgetbytesread', 
+            '@ipaddress1', '@ipaddress2', '@ipaddress3', '@ipaddress4', 
+            '@kblayout', '@lf', '@logondnsdomain', '@logondomain', 
+            '@logonserver', '@mday', '@min', '@mon', '@mydocumentsdir', 
+            '@numparams', '@osbuild', '@oslang', '@osservicepack', '@ostype', 
+            '@osversion', '@processorarch', '@programfilesdir', 
+            '@programscommondir', '@programsdir', '@scriptdir', 
+            '@scriptfullpath', '@scriptlinenumber', '@scriptname', '@sec', 
+            '@startmenucommondir', '@startmenudir', '@startupcommondir', 
+            '@startupdir', '@sw_disable', '@sw_enable', '@sw_hide', '@sw_lock', 
+            '@sw_maximize', '@sw_minimize', '@sw_restore', '@sw_show', 
+            '@sw_showdefault', '@sw_showmaximized', '@sw_showminimized', 
+            '@sw_showminnoactive', '@sw_showna', '@sw_shownoactivate', 
+            '@sw_shownormal', '@sw_unlock', '@systemdir', '@tab', '@tempdir', 
+            '@tray_id', '@trayiconflashing', '@trayiconvisible', '@username', 
+            '@userprofiledir', '@wday', '@windowsdir', '@workingdir', '@yday', 
+            '@year'
+            ),
+        3 => array(
+            'abs', 'acos', 'adlibdisable', 'adlibenable', 'asc', 'asin', 
+            'assign', 'atan', 'autoitsetoption', 'autoitwingettitle', 
+            'autoitwinsettitle', 'beep', 'binarystring', 'bitand', 'bitnot', 
+            'bitor', 'bitrotate', 'bitshift', 'bitxor', 'blockinput', 'break', 
+            'call', 'cdtray', 'ceiling', 'chr', 'clipget', 'clipput', 
+            'consoleread', 'consolewrite', 'consolewriteerror', 'controlclick', 
+            'controlcommand', 'controldisable', 'controlenable', 
+            'controlfocus', 'controlgetfocus', 'controlgethandle', 
+            'controlgetpos', 'controlgettext', 'controlhide', 
+            'controllistview', 'controlmove', 'controlsend', 'controlsettext', 
+            'controlshow', 'cos', 'dec', 'dircopy', 'dircreate', 'dirgetsize', 
+            'dirmove', 'dirremove', 'dllcall', 'dllclose', 'dllopen', 
+            'dllstructcreate', 'dllstructgetdata', 'dllstructgetptr', 
+            'dllstructgetsize', 'dllstructsetdata', 'drivegetdrive', 
+            'drivegetfilesystem', 'drivegetlabel', 'drivegetserial', 
+            'drivegettype', 'drivemapadd', 'drivemapdel', 'drivemapget', 
+            'drivesetlabel', 'drivespacefree', 'drivespacetotal', 
+            'drivestatus', 'envget', 'envset', 'envupdate', 'eval', 'execute', 
+            'exp', 'filechangedir', 'fileclose', 'filecopy', 
+            'filecreatentfslink', 'filecreateshortcut', 'filedelete', 
+            'fileexists', 'filefindfirstfile', 'filefindnextfile', 
+            'filegetattrib', 'filegetlongname', 'filegetshortcut', 
+            'filegetshortname', 'filegetsize', 'filegettime', 'filegetversion', 
+            'fileinstall', 'filemove', 'fileopen', 'fileopendialog', 
+            'fileread', 'filereadline', 'filerecycle', 'filerecycleempty', 
+            'filesavedialog', 'fileselectfolder', 'filesetattrib', 
+            'filesettime', 'filewrite', 'filewriteline', 'floor', 
+            'ftpsetproxy', 'guicreate', 'guictrlcreateavi', 
+            'guictrlcreatebutton', 'guictrlcreatecheckbox', 
+            'guictrlcreatecombo', 'guictrlcreatecontextmenu', 
+            'guictrlcreatedate', 'guictrlcreatedummy', 'guictrlcreateedit', 
+            'guictrlcreategraphic', 'guictrlcreategroup', 'guictrlcreateicon', 
+            'guictrlcreateinput', 'guictrlcreatelabel', 'guictrlcreatelist', 
+            'guictrlcreatelistview', 'guictrlcreatelistviewitem', 
+            'guictrlcreatemenu', 'guictrlcreatemenuitem', 
+            'guictrlcreatemonthcal', 'guictrlcreateobj', 'guictrlcreatepic', 
+            'guictrlcreateprogress', 'guictrlcreateradio', 
+            'guictrlcreateslider', 'guictrlcreatetab', 'guictrlcreatetabitem', 
+            'guictrlcreatetreeview', 'guictrlcreatetreeviewitem', 
+            'guictrlcreateupdown', 'guictrldelete', 'guictrlgethandle', 
+            'guictrlgetstate', 'guictrlread', 'guictrlrecvmsg', 
+            'guictrlregisterlistviewsort', 'guictrlsendmsg', 
+            'guictrlsendtodummy', 'guictrlsetbkcolor', 'guictrlsetcolor', 
+            'guictrlsetcursor', 'guictrlsetdata', 'guictrlsetfont', 
+            'guictrlsetgraphic', 'guictrlsetimage', 'guictrlsetlimit', 
+            'guictrlsetonevent', 'guictrlsetpos', 'guictrlsetresizing', 
+            'guictrlsetstate', 'guictrlsetstyle', 'guictrlsettip', 'guidelete', 
+            'guigetcursorinfo', 'guigetmsg', 'guiregistermsg', 'guisetbkcolor', 
+            'guisetcoord', 'guisetcursor', 'guisetfont', 'guisethelp', 
+            'guiseticon', 'guisetonevent', 'guisetstate', 'guistartgroup', 
+            'guiswitch', 'hex', 'hotkeyset', 'httpsetproxy', 'hwnd', 'inetget', 
+            'inetgetsize', 'inidelete', 'iniread', 'inireadsection', 
+            'inireadsectionnames', 'inirenamesection', 'iniwrite', 
+            'iniwritesection', 'inputbox', 'int', 'isadmin', 'isarray', 
+            'isbinarystring', 'isbool', 'isdeclared', 'isdllstruct', 'isfloat', 
+            'ishwnd', 'isint', 'iskeyword', 'isnumber', 'isobj', 'isstring', 
+            'log', 'memgetstats', 'mod', 'mouseclick', 'mouseclickdrag', 
+            'mousedown', 'mousegetcursor', 'mousegetpos', 'mousemove', 
+            'mouseup', 'mousewheel', 'msgbox', 'number', 'objcreate', 
+            'objevent', 'objget', 'objname', 'opt', 'ping', 'pixelchecksum', 
+            'pixelgetcolor', 'pixelsearch', 'pluginclose', 'pluginopen', 
+            'processclose', 'processexists', 'processlist', 
+            'processsetpriority', 'processwait', 'processwaitclose', 
+            'progressoff', 'progresson', 'progressset', 'random', 'regdelete', 
+            'regenumkey', 'regenumval', 'regread', 'regwrite', 'round', 'run', 
+            'runasset', 'runwait', 'send', 'seterror', 'setextended', 
+            'shellexecute', 'shellexecutewait', 'shutdown', 'sin', 'sleep', 
+            'soundplay', 'soundsetwavevolume', 'splashimageon', 'splashoff', 
+            'splashtexton', 'sqrt', 'srandom', 'statusbargettext', 
+            'stderrread', 'stdinwrite', 'stdoutread', 'string', 'stringaddcr', 
+            'stringformat', 'stringinstr', 'stringisalnum', 'stringisalpha', 
+            'stringisascii', 'stringisdigit', 'stringisfloat', 'stringisint', 
+            'stringislower', 'stringisspace', 'stringisupper', 
+            'stringisxdigit', 'stringleft', 'stringlen', 'stringlower', 
+            'stringmid', 'stringregexp', 'stringregexpreplace', 
+            'stringreplace', 'stringright', 'stringsplit', 'stringstripcr', 
+            'stringstripws', 'stringtrimleft', 'stringtrimright', 
+            'stringupper', 'tan', 'tcpaccept', 'tcpclosesocket', 'tcpconnect', 
+            'tcplisten', 'tcpnametoip', 'tcprecv', 'tcpsend', 'tcpshutdown', 
+            'tcpstartup', 'timerdiff', 'timerinit', 'timerstart', 'timerstop', 
+            'tooltip', 'traycreateitem', 'traycreatemenu', 'traygetmsg', 
+            'trayitemdelete', 'trayitemgethandle', 'trayitemgetstate', 
+            'trayitemgettext', 'trayitemsetonevent', 'trayitemsetstate', 
+            'trayitemsettext', 'traysetclick', 'trayseticon', 'traysetonevent', 
+            'traysetpauseicon', 'traysetstate', 'traysettooltip', 'traytip', 
+            'ubound', 'udpbind', 'udpclosesocket', 'udpopen', 'udprecv', 
+            'udpsend', 'winactivate', 'winactive', 'winclose', 'winexists', 
+            'winflash', 'wingetcaretpos', 'wingetclasslist', 
+            'wingetclientsize', 'wingethandle', 'wingetpos', 'wingetprocess', 
+            'wingetstate', 'wingettext', 'wingettitle', 'winkill', 'winlist', 
+            'winmenuselectitem', 'winminimizeall', 'winminimizeallundo', 
+            'winmove', 'winsetontop', 'winsetstate', 'winsettitle', 
+            'winsettrans', 'winshow', 'winwait', 'winwaitactive', 
+            'winwaitclose', 'winwaitnotactive'
+            ),
+        4 => array(
+            '_arrayadd', '_arraybinarysearch', '_arraycreate', '_arraydelete', 
+            '_arraydisplay', '_arrayinsert', '_arraymax', '_arraymaxindex', 
+            '_arraymin', '_arrayminindex', '_arraypop', '_arraypush', 
+            '_arrayreverse', '_arraysearch', '_arraysort', '_arrayswap', 
+            '_arraytoclip', '_arraytostring', '_arraytrim', '_colorgetblue', 
+            '_colorgetgreen', '_colorgetred', '_dateadd', '_datedayofweek', 
+            '_datedaysinmonth', '_datediff', '_dateisleapyear', '_dateisvalid', 
+            '_datetimeformat', '_datetimesplit', '_datetodayofweek', 
+            '_datetodayofweekiso', '_datetodayvalue', '_dayvaluetodate', 
+            '_now', '_nowcalc', '_nowcalcdate', '_nowdate', '_nowtime', 
+            '_setdate', '_settime', '_tickstotime', '_timetoticks', 
+            '_weeknumberiso', '_filecountlines', '_filecreate', 
+            '_filelisttoarray', '_fileprint', '_filereadtoarray', 
+            '_filewritefromarray', '_filewritelog', '_filewritetoline', 
+            '_pathfull', '_pathmake', '_pathsplit', '_replacestringinfile', 
+            '_tempfile', '_guictrlcomboadddir', '_guictrlcomboaddstring', 
+            '_guictrlcomboautocomplete', '_guictrlcombodeletestring', 
+            '_guictrlcombofindstring', '_guictrlcombogetcount', 
+            '_guictrlcombogetcursel', '_guictrlcombogetdroppedcontrolrect', 
+            '_guictrlcombogetdroppedstate', '_guictrlcombogetdroppedwidth', 
+            '_guictrlcombogeteditsel', '_guictrlcombogetextendedui', 
+            '_guictrlcombogethorizontalextent', '_guictrlcombogetitemheight', 
+            '_guictrlcombogetlbtext', '_guictrlcombogetlbtextlen', 
+            '_guictrlcombogetlist', '_guictrlcombogetlocale', 
+            '_guictrlcombogetminvisible', '_guictrlcombogettopindex', 
+            '_guictrlcomboinitstorage', '_guictrlcomboinsertstring', 
+            '_guictrlcombolimittext', '_guictrlcomboresetcontent', 
+            '_guictrlcomboselectstring', '_guictrlcombosetcursel', 
+            '_guictrlcombosetdroppedwidth', '_guictrlcomboseteditsel', 
+            '_guictrlcombosetextendedui', '_guictrlcombosethorizontalextent', 
+            '_guictrlcombosetitemheight', '_guictrlcombosetminvisible', 
+            '_guictrlcombosettopindex', '_guictrlcomboshowdropdown', 
+            '_guictrleditcanundo', '_guictrleditemptyundobuffer', 
+            '_guictrleditfind', '_guictrleditgetfirstvisibleline', 
+            '_guictrleditgetline', '_guictrleditgetlinecount', 
+            '_guictrleditgetmodify', '_guictrleditgetrect', 
+            '_guictrleditgetsel', '_guictrleditlinefromchar', 
+            '_guictrleditlineindex', '_guictrleditlinelength', 
+            '_guictrleditlinescroll', '_guictrleditreplacesel', 
+            '_guictrleditscroll', '_guictrleditsetmodify', 
+            '_guictrleditsetrect', '_guictrleditsetsel', '_guictrleditundo', 
+            '_guictrlipaddressclear', '_guictrlipaddresscreate', 
+            '_guictrlipaddressdelete', '_guictrlipaddressget', 
+            '_guictrlipaddressisblank', '_guictrlipaddressset', 
+            '_guictrlipaddresssetfocus', '_guictrlipaddresssetfont', 
+            '_guictrlipaddresssetrange', '_guictrlipaddressshowhide', 
+            '_guictrllistadddir', '_guictrllistadditem', '_guictrllistclear', 
+            '_guictrllistcount', '_guictrllistdeleteitem', 
+            '_guictrllistfindstring', '_guictrllistgetanchorindex', 
+            '_guictrllistgetcaretindex', '_guictrllistgethorizontalextent', 
+            '_guictrllistgetinfo', '_guictrllistgetitemrect', 
+            '_guictrllistgetlocale', '_guictrllistgetselcount', 
+            '_guictrllistgetselitems', '_guictrllistgetselitemstext', 
+            '_guictrllistgetselstate', '_guictrllistgettext', 
+            '_guictrllistgettextlen', '_guictrllistgettopindex', 
+            '_guictrllistinsertitem', '_guictrllistreplacestring', 
+            '_guictrllistselectedindex', '_guictrllistselectindex', 
+            '_guictrllistselectstring', '_guictrllistselitemrange', 
+            '_guictrllistselitemrangeex', '_guictrllistsetanchorindex', 
+            '_guictrllistsetcaretindex', '_guictrllistsethorizontalextent', 
+            '_guictrllistsetlocale', '_guictrllistsetsel', 
+            '_guictrllistsettopindex', '_guictrllistsort', 
+            '_guictrllistswapstring', '_guictrllistviewcopyitems', 
+            '_guictrllistviewdeleteallitems', '_guictrllistviewdeletecolumn', 
+            '_guictrllistviewdeleteitem', 
+            '_guictrllistviewdeleteitemsselected', 
+            '_guictrllistviewensurevisible', '_guictrllistviewfinditem', 
+            '_guictrllistviewgetbackcolor', '_guictrllistviewgetcallbackmask', 
+            '_guictrllistviewgetcheckedstate', 
+            '_guictrllistviewgetcolumnorder', '_guictrllistviewgetcolumnwidth', 
+            '_guictrllistviewgetcounterpage', '_guictrllistviewgetcursel', 
+            '_guictrllistviewgetextendedlistviewstyle', 
+            '_guictrllistviewgetheader', '_guictrllistviewgethotcursor', 
+            '_guictrllistviewgethotitem', '_guictrllistviewgethovertime', 
+            '_guictrllistviewgetitemcount', '_guictrllistviewgetitemtext', 
+            '_guictrllistviewgetitemtextarray', '_guictrllistviewgetnextitem', 
+            '_guictrllistviewgetselectedcount', 
+            '_guictrllistviewgetselectedindices', 
+            '_guictrllistviewgetsubitemscount', '_guictrllistviewgettopindex', 
+            '_guictrllistviewgetunicodeformat', '_guictrllistviewhidecolumn', 
+            '_guictrllistviewinsertcolumn', '_guictrllistviewinsertitem', 
+            '_guictrllistviewjustifycolumn', '_guictrllistviewscroll', 
+            '_guictrllistviewsetcheckstate', 
+            '_guictrllistviewsetcolumnheadertext', 
+            '_guictrllistviewsetcolumnorder', '_guictrllistviewsetcolumnwidth', 
+            '_guictrllistviewsethotitem', '_guictrllistviewsethovertime', 
+            '_guictrllistviewsetitemcount', '_guictrllistviewsetitemselstate', 
+            '_guictrllistviewsetitemtext', '_guictrllistviewsort', 
+            '_guictrlmonthcalget1stdow', '_guictrlmonthcalgetcolor', 
+            '_guictrlmonthcalgetdelta', '_guictrlmonthcalgetmaxselcount', 
+            '_guictrlmonthcalgetmaxtodaywidth', 
+            '_guictrlmonthcalgetminreqrect', '_guictrlmonthcalset1stdow', 
+            '_guictrlmonthcalsetcolor', '_guictrlmonthcalsetdelta', 
+            '_guictrlmonthcalsetmaxselcount', '_guictrlslidercleartics', 
+            '_guictrlslidergetlinesize', '_guictrlslidergetnumtics', 
+            '_guictrlslidergetpagesize', '_guictrlslidergetpos', 
+            '_guictrlslidergetrangemax', '_guictrlslidergetrangemin', 
+            '_guictrlslidersetlinesize', '_guictrlslidersetpagesize', 
+            '_guictrlslidersetpos', '_guictrlslidersetticfreq', 
+            '_guictrlstatusbarcreate', '_guictrlstatusbarcreateprogress', 
+            '_guictrlstatusbardelete', '_guictrlstatusbargetborders', 
+            '_guictrlstatusbargeticon', '_guictrlstatusbargetparts', 
+            '_guictrlstatusbargetrect', '_guictrlstatusbargettext', 
+            '_guictrlstatusbargettextlength', '_guictrlstatusbargettip', 
+            '_guictrlstatusbargetunicode', '_guictrlstatusbarissimple', 
+            '_guictrlstatusbarresize', '_guictrlstatusbarsetbkcolor', 
+            '_guictrlstatusbarseticon', '_guictrlstatusbarsetminheight', 
+            '_guictrlstatusbarsetparts', '_guictrlstatusbarsetsimple', 
+            '_guictrlstatusbarsettext', '_guictrlstatusbarsettip', 
+            '_guictrlstatusbarsetunicode', '_guictrlstatusbarshowhide', 
+            '_guictrltabdeleteallitems', '_guictrltabdeleteitem', 
+            '_guictrltabdeselectall', '_guictrltabgetcurfocus', 
+            '_guictrltabgetcursel', '_guictrltabgetextendedstyle', 
+            '_guictrltabgetitemcount', '_guictrltabgetitemrect', 
+            '_guictrltabgetrowcount', '_guictrltabgetunicodeformat', 
+            '_guictrltabhighlightitem', '_guictrltabsetcurfocus', 
+            '_guictrltabsetcursel', '_guictrltabsetmintabwidth', 
+            '_guictrltabsetunicodeformat', '_guictrltreeviewdeleteallitems', 
+            '_guictrltreeviewdeleteitem', '_guictrltreeviewexpand', 
+            '_guictrltreeviewgetbkcolor', '_guictrltreeviewgetcount', 
+            '_guictrltreeviewgetindent', '_guictrltreeviewgetlinecolor', 
+            '_guictrltreeviewgetparenthandle', '_guictrltreeviewgetparentid', 
+            '_guictrltreeviewgetstate', '_guictrltreeviewgettext', 
+            '_guictrltreeviewgettextcolor', '_guictrltreeviewgettree', 
+            '_guictrltreeviewinsertitem', '_guictrltreeviewsetbkcolor', 
+            '_guictrltreeviewseticon', '_guictrltreeviewsetindent', 
+            '_guictrltreeviewsetlinecolor', '_guictrltreeviewsetstate', 
+            '_guictrltreeviewsettext', '_guictrltreeviewsettextcolor', 
+            '_guictrltreeviewsort', '_ie_example', '_ie_introduction', 
+            '_ie_versioninfo', '_ieaction', '_ieattach', '_iebodyreadhtml', 
+            '_iebodyreadtext', '_iebodywritehtml', '_iecreate', 
+            '_iecreateembedded', '_iedocgetobj', '_iedocinserthtml', 
+            '_iedocinserttext', '_iedocreadhtml', '_iedocwritehtml', 
+            '_ieerrorhandlerderegister', '_ieerrorhandlerregister', 
+            '_ieerrornotify', '_ieformelementcheckboxselect', 
+            '_ieformelementgetcollection', '_ieformelementgetobjbyname', 
+            '_ieformelementgetvalue', '_ieformelementoptionselect', 
+            '_ieformelementradioselect', '_ieformelementsetvalue', 
+            '_ieformgetcollection', '_ieformgetobjbyname', '_ieformimageclick', 
+            '_ieformreset', '_ieformsubmit', '_ieframegetcollection', 
+            '_ieframegetobjbyname', '_iegetobjbyname', 
+            '_ieheadinserteventscript', '_ieimgclick', '_ieimggetcollection', 
+            '_ieisframeset', '_ielinkclickbyindex', '_ielinkclickbytext', 
+            '_ielinkgetcollection', '_ieloadwait', '_ieloadwaittimeout', 
+            '_ienavigate', '_iepropertyget', '_iepropertyset', '_iequit', 
+            '_ietablegetcollection', '_ietablewritetoarray', 
+            '_ietagnameallgetcollection', '_ietagnamegetcollection', '_getip', 
+            '_inetexplorercapable', '_inetgetsource', '_inetmail', 
+            '_inetsmtpmail', '_tcpiptoname', '_degree', '_mathcheckdiv', 
+            '_max', '_min', '_radian', '_choosecolor', '_choosefont', 
+            '_clipputfile', '_iif', '_ispressed', '_mousetrap', '_singleton', 
+            '_processgetname', '_processgetpriority', '_rundos', 
+            '_sendmessage', '_soundclose', '_soundlength', '_soundopen', 
+            '_soundpause', '_soundplay', '_soundpos', '_soundresume', 
+            '_soundseek', '_soundstatus', '_soundstop', '_sqlite_changes', 
+            '_sqlite_close', '_sqlite_display2dresult', '_sqlite_encode', 
+            '_sqlite_errcode', '_sqlite_errmsg', '_sqlite_escape', 
+            '_sqlite_exec', '_sqlite_fetchdata', '_sqlite_fetchnames', 
+            '_sqlite_gettable', '_sqlite_gettable2d', 
+            '_sqlite_lastinsertrowid', '_sqlite_libversion', '_sqlite_open', 
+            '_sqlite_query', '_sqlite_queryfinalize', '_sqlite_queryreset', 
+            '_sqlite_querysinglerow', '_sqlite_savemode', '_sqlite_settimeout', 
+            '_sqlite_shutdown', '_sqlite_sqliteexe', '_sqlite_startup', 
+            '_sqlite_totalchanges', '_hextostring', '_stringaddcomma', 
+            '_stringbetween', '_stringencrypt', '_stringinsert', 
+            '_stringproper', '_stringrepeat', '_stringreverse', '_stringtohex', 
+            '_viclose', '_viexeccommand', '_vifindgpib', '_vigpibbusreset', 
+            '_vigtl', '_viopen', '_visetattribute', '_visettimeout'
+            ),
+        5 => array(
+            '#include', '#include-once', '#notrayicon'
+            ),
+        6 => array(
+            '#forceref', '#compiler_allow_decompile', '#compiler_au3check_dat', 
+            '#compiler_au3check_parameters', 
+            '#compiler_au3check_stop_onwarning', '#compiler_aut2exe', 
+            '#compiler_autoit3', '#compiler_compression', '#compiler_icon', 
+            '#compiler_outfile', '#compiler_outfile_type', 
+            '#compiler_passphrase', '#compiler_plugin_funcs', 
+            '#compiler_prompt', '#compiler_res_comment', 
+            '#compiler_res_description', '#compiler_res_field', 
+            '#compiler_res_field1name', '#compiler_res_field1value', 
+            '#compiler_res_field2name', '#compiler_res_field2value', 
+            '#compiler_res_fileversion', 
+            '#compiler_res_fileversion_autoincrement', 
+            '#compiler_res_legalcopyright', '#compiler_run_after', 
+            '#compiler_run_au3check', '#compiler_run_before', 
+            '#compiler_run_cvswrapper', '#compiler_run_tidy', 
+            '#compiler_tidy_stop_onerror', '#compiler_useupx', '#endregion', 
+            '#region', '#run_debug_mode', '#tidy_parameters'
+            )
+        ),
+    'SYMBOLS' => array(
+        '(', ')', '[', ']', '&', '*', '/', '<', '>', '+', '-', '^', '=', '.'
+        ),
+    'CASE_SENSITIVE' => array(
+        GESHI_COMMENTS => false,
+        1 => false,
+        2 => false,
+        3 => false,
+        4 => false,
+        5 => false,
+        6 => false
+        ),
+    'STYLES' => array(
+        'KEYWORDS' => array(
+            1 => 'color: #0000FF; font-weight: bold;',
+            2 => 'color: #800000; font-weight: bold;',
+            3 => 'color: #000080; font-style: italic; font-weight: bold;',
+            4 => 'color: #0080FF; font-style: italic; font-weight: bold;',
+            5 => 'color: #F000FF; font-style: italic;',
+            6 => 'color: #A00FF0; font-style: italic;'
+            ),
+        'COMMENTS' => array(
+            0 => 'font-style: italic; color: #009933;',
+            'MULTI' => 'font-style: italic; color: #669900;'
+            ),
+        'ESCAPE_CHAR' => array(
+            0 => ''
+            ),
+        'BRACKETS' => array(
+            0 => 'color: #FF0000; font-weight: bold;'
+            ),
+        'STRINGS' => array(
+            0 => 'font-weight: bold; color: #008080;'
+            ),
+        'NUMBERS' => array(
+            0 => 'color: #AC00A9; font-style: italic; font-weight: bold;'
+            ),
+        'METHODS' => array(
+            1 => 'color: #0000FF; font-style: italic; font-weight: bold;'
+            ),
+        'SYMBOLS' => array(
+            0 => 'color: #FF0000; font-weight: bold;'
+            ),
+        'REGEXPS' => array(
+            0 => 'font-weight: bold; color: #AA0000;'
+            ),
+        'SCRIPT' => array(
+            0 => '',
+            1 => '',
+            2 => '',
+            3 => '',
+            4 => '',
+            5 => '',
+            6 => ''
+            )
+            ),
+    'URLS' => array(
+        1 => 'http://www.autoitscript.com/autoit3/docs/keywords.htm',
+        2 => 'http://www.autoitscript.com/autoit3/docs/macros.htm',
+        3 => 'http://www.autoitscript.com/autoit3/docs/functions/{FNAME}.htm',
+        4 => ''
+        ),
+    'OOLANG' => true,
+    'OBJECT_SPLITTERS' => array(
+        1 => '.'
+        ),
+    'REGEXPS' => array(
+        0 => '[\\$%@]+[a-zA-Z_][a-zA-Z0-9_]*'
+        ),
+    'STRICT_MODE_APPLIES' => GESHI_MAYBE,
+    'SCRIPT_DELIMITERS' => array(
+        ),
+    'HIGHLIGHT_STRICT_BLOCK' => array(
+        0 => true,
+        1 => true,
+        2 => true,
+        3 => true
+        )
+);
+
+?>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/plugins/geshi/geshi/bash.php	Sun Feb 10 18:10:52 2008 -0500
@@ -0,0 +1,198 @@
+<?php
+/*************************************************************************************
+ * bash.php
+ * --------
+ * Author: Andreas Gohr (andi@splitbrain.org)
+ * Copyright: (c) 2004 Andreas Gohr, Nigel McNie (http://qbnz.com/highlighter)
+ * Release Version: 1.0.7.20
+ * Date Started: 2004/08/20
+ *
+ * BASH language file for GeSHi.
+ *
+ * CHANGES
+ * -------
+ * 2007/06/11 (1.0.7.20)
+ *  -  Added a lot of keywords (BenBE / Jan G)
+ * 2004/11/27 (1.0.2)
+ *  -  Added support for multiple object splitters
+ * 2004/10/27 (1.0.1)
+ *   -  Added support for URLs
+ * 2004/08/20 (1.0.0)
+ *   -  First Release
+ *
+ * TODO (updated 2004/11/27)
+ * -------------------------
+ * * Get symbols working
+ * * Highlight builtin vars
+ *
+ *************************************************************************************
+ *
+ *     This file is part of GeSHi.
+ *
+ *   GeSHi is free software; you can 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.
+ *
+ *   GeSHi is distributed in the hope that it will be useful,
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *   GNU General Public License for more details.
+ *
+ *   You should have received a copy of the GNU General Public License
+ *   along with GeSHi; if not, write to the Free Software
+ *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
+ ************************************************************************************/
+
+$language_data = array (
+    'LANG_NAME' => 'Bash',
+    // Bash DOES have single line comments with # markers. But bash also has
+    // the  $# variable, so comments need special handling (see sf.net
+    // 1564839)
+	'COMMENT_SINGLE' => array(),
+	'COMMENT_MULTI' => array(),
+	'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+	'QUOTEMARKS' => array("'", '"'),
+	'ESCAPE_CHAR' => '\\',
+	'KEYWORDS' => array(
+		1 => array(
+			'case', 'do', 'done', 'elif', 'else', 'esac', 'fi', 'for', 'function',
+			'if', 'in', 'select', 'set', 'then', 'until', 'while', 'time'
+			),
+		2 => array(
+			'aclocal', 'aconnect', 'aplay', 'apm', 'apmsleep', 'apropos',
+			'ar', 'arch', 'arecord', 'as', 'as86', 'autoconf', 'autoheader',
+			'automake', 'awk',
+			'basename', 'bc', 'bison', 'bunzip2', 'bzip2', 'bzcat',
+			'bzcmp', 'bzdiff', 'bzegrep', 'bzegrep', 'bzfgrep', 'bzgrep',
+			'bzip2', 'bzip2recover', 'bzless', 'bzmore',
+			'c++', 'cal', 'cat', 'chattr', 'cc', 'cdda2wav', 'cdparanoia',
+			'cdrdao', 'cd-read', 'cdrecord', 'chfn', 'chgrp', 'chmod',
+			'chown', 'chroot', 'chsh', 'chvt', 'clear', 'cmp', 'comm', 'co',
+			'col', 'cp', 'cpio', 'cpp', 'cut',
+			'date', 'dd', 'dc', 'dcop', 'deallocvt', 'df', 'diff', 'diff3', 'dir',
+			'dircolors', 'directomatic', 'dirname', 'dmesg',
+			'dnsdomainname', 'domainname', 'du', 'dumpkeys',
+			'ed', 'egrep', 'env', 'expr',
+			'false', 'fbset', 'fgconsole','fgrep', 'find', 'file', 'flex', 'flex++',
+			'fmt', 'free', 'ftp', 'funzip', 'fuser',
+			'g++', 'gawk', 'gc','gcc', 'gdb', 'getent', 'getkeycodes',
+			'getopt', 'gettext', 'gettextize', 'gimp', 'gimp-remote',
+			'gimptool', 'gmake', 'gocr', 'grep', 'groups', 'gs', 'gunzip',
+			'gzexe', 'gzip',
+			'head', 'hexdump', 'hostname',
+			'id', 'igawk', 'install',
+			'join',
+			'kbd_mode','kbdrate', 'kdialog', 'kfile', 'kill', 'killall',
+			'last', 'lastb', 'ld', 'ld86', 'ldd', 'less', 'lex', 'link', 'ln', 'loadkeys',
+			'loadunimap', 'locate', 'lockfile', 'login', 'logname',
+			'lp', 'lpr', 'ls', 'lsattr', 'lsmod', 'lsmod.old', 'lynx',
+			'm4', 'make', 'man', 'mapscrn', 'mesg', 'mkdir', 'mkfifo', 
+			'mknod', 'mktemp', 'more', 'mount', 'msgfmt', 'mv',
+			'namei', 'nano', 'nasm', 'nawk', 'netstat', 'nice',
+			'nisdomainname', 'nl', 'nm', 'nm86', 'nmap', 'nohup', 'nop',
+			'od', 'openvt',
+			'passwd', 'patch', 'pcregrep', 'pcretest', 'perl', 'perror',
+			'pgawk', 'pidof', 'ping', 'pr', 'procmail', 'prune', 'ps', 'pstree',
+			'ps2ascii', 'ps2epsi', 'ps2frag', 'ps2pdf', 'ps2ps', 'psbook',
+			'psmerge', 'psnup', 'psresize', 'psselect', 'pstops',
+			'rbash', 'rcs', 'read', 'readlink', 'red', 'resizecons', 'rev', 'rm',
+			'rmdir', 'run-parts',
+			'sash', 'sed', 'setfont', 'setkeycodes', 'setleds',
+			'setmetamode', 'setserial', 'scp', 'seq', 'setterm', 'sh',
+			'showkey', 'shred', 'size', 'size86', 'skill', 'sleep', 'slogin',
+			'snice', 'sort', 'sox', 'split', 'ssed', 'ssh', 'ssh-add',
+			'ssh-agent', 'ssh-keygen', 'ssh-keyscan', 'stat', 'strings',
+			'strip', 'stty', 'su', 'sudo', 'suidperl', 'sum', 'sync',
+			'tac', 'tail', 'tar', 'tee', 'tempfile', 'touch', 'tr', 'true',
+			'umount', 'uname', 'unicode_start', 'unicode_stop', 'uniq',
+			'unlink', 'unzip', 'updatedb', 'updmap', 'uptime', 'users',
+			'utmpdump', 'uuidgen',
+			'vdir', 'vmstat',
+			'w', 'wall', 'wc', 'wget', 'whatis', 'whereis', 'which', 'who',
+			'whoami', 'write',
+			'xargs', 'xhost', 'xmodmap', 'xset',
+			'yacc', 'yes', 'ypdomainname',
+			'zcat', 'zcmp', 'zdiff', 'zegrep', 'zfgrep', 'zforce', 'zgrep',
+			'zip', 'zless', 'zmore', 'znew', 'zsh', ' zsoelim'
+			),
+		3 => array(
+			'alias', 'bg', 'bind', 'break', 'builtin', 'cd', 'command',
+			'compgen', 'complete', 'continue', 'declare', 'dirs', 'disown',
+			'echo', 'enable', 'eval', 'exec', 'exit', 'export', 'fc',
+			'fg', 'getopts', 'hash', 'help', 'history', 'jobs', 'kill', 'let',
+			'local', 'logout', 'popd', 'printf', 'pushd', 'pwd', 'readonly',
+			'return', 'shift', 'shopt', 'source', 'suspend', 'test', 'times',
+			'trap', 'type', 'typeset', 'ulimit', 'umask', 'unalias', 'unset',
+			'wait'
+			)
+		),
+	'SYMBOLS' => array(
+		'(', ')', '[', ']', '!', '@', '%', '&', '*', '|', '/', '<', '>', ';;'
+		),
+	'CASE_SENSITIVE' => array(
+		GESHI_COMMENTS => false,
+		1 => true,
+		2 => true,
+		3 => true
+		),
+	'STYLES' => array(
+		'KEYWORDS' => array(
+			1 => 'color: #000000; font-weight: bold;',
+			2 => 'color: #c20cb9; font-weight: bold;',
+			3 => 'color: #7a0874; font-weight: bold;'
+			),
+		'COMMENTS' => array(
+			1 => 'color: #808080; font-style: italic;'
+			),
+		'ESCAPE_CHAR' => array(
+			0 => 'color: #000099; font-weight: bold;'
+			),
+		'BRACKETS' => array(
+			0 => 'color: #7a0874; font-weight: bold;'
+			),
+		'STRINGS' => array(
+			0 => 'color: #ff0000;'
+			),
+		'NUMBERS' => array(
+			0 => 'color: #000000;'
+			),
+		'METHODS' => array(
+			),
+		'SYMBOLS' => array(
+			0 => 'color: #000000; font-weight: bold;'
+			),
+		'REGEXPS' => array(
+			0 => 'color: #007800;',
+			1 => 'color: #007800;',
+			2 => 'color: #007800;',
+			3 => 'color: #808080; font-style: italic;',
+			4 => 'color: #007800;'
+			),
+		'SCRIPT' => array(
+			)
+		),
+	'URLS' => array(
+		1 => '',
+		2 => '',
+		3 => ''
+	),
+	'OOLANG' => false,
+	'OBJECT_SPLITTERS' => array(
+		),
+	'REGEXPS' => array(
+		0 => "\\$\\{[a-zA-Z_][a-zA-Z0-9_]*?\\}",
+		1 => "\\$[a-zA-Z_][a-zA-Z0-9_]*",
+		2 => "([a-zA-Z_][a-zA-Z0-9_]*)=",
+		3 => "(?<!\\$)#[^\n]*",
+		4 => "\\$#"
+		),
+	'STRICT_MODE_APPLIES' => GESHI_NEVER,
+	'SCRIPT_DELIMITERS' => array(
+		),
+	'HIGHLIGHT_STRICT_BLOCK' => array(
+		)
+);
+
+?>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/plugins/geshi/geshi/blitzbasic.php	Sun Feb 10 18:10:52 2008 -0500
@@ -0,0 +1,185 @@
+<?php
+/*************************************************************************************
+ * blitzbasic.php
+ * --------------
+ * Author: P�draig O`Connel (info@moonsword.info)
+ * Copyright: (c) 2005 P�draig O`Connel (http://moonsword.info)
+ * Release Version: 1.0.7.20
+ * Date Started: 16.10.2005
+ *
+ * BlitzBasic language file for GeSHi.
+ *
+ * It is a simple Basic dialect. Released for Games and Network Connections.
+ * In this Language File are all functions included (2D BB and 3D BB)
+ *
+ *
+ * CHANGES
+ * -------
+ * 2005/12/28 (1.0.1)
+ *   -  Remove unnecessary style index for regexps
+ * 2005/10/22 (1.0.0)
+ *   -  First Release
+ *
+ * TODO (updated 2005/10/22)
+ * -------------------------
+ * * Sort out the Basic commands for splitting up.
+ * * To set up the right colors.
+ *      (the colors are ok, but not the correct ones)
+ * * Split to BlitzBasic 2D and BlitzBasic 3D.
+ *
+ *************************************************************************************
+ *
+ *     This file is part of GeSHi.
+ *
+ *   GeSHi is free software; you can 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.
+ *
+ *   GeSHi is distributed in the hope that it will be useful,
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *   GNU General Public License for more details.
+ *
+ *   You should have received a copy of the GNU General Public License
+ *   along with GeSHi; if not, write to the Free Software
+ *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
+ ************************************************************************************/
+
+ $language_data = array (
+  'LANG_NAME' => 'BlitzBasic',
+  'COMMENT_SINGLE' => array(1 => ';'),
+  'COMMENT_MULTI' => array(),
+  'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+  'QUOTEMARKS' => array('"'),
+  'ESCAPE_CHAR' => '',
+  'KEYWORDS' => array(
+    1 => array(
+    	'If','EndIf','ElseIf','Else If','Else','While','Wend','Return','Next','Include','End Type','End Select','End If','End Function','End','Select',
+    	'Type','Forever','For','Or','And','AppTitle','Case','Goto','Gosub','Step','Stop','Int','Last','False','Then','To','True','Until','Float',
+    	'String','Before','Not'
+    ),
+    2 => array(
+
+      // All Functions - 2D BB and 3D BB
+ 	  	'Xor','WriteString','WriteShort','WritePixelFast','WritePixel','WriteLine','WriteInt','WriteFloat','WriteFile','WriteBytes',
+		'WriteByte','Write','WaitTimer','WaitMouse','WaitKey','WaitJoy','VWait','Viewport',
+		'Upper','UpdateGamma','UnlockBuffer','UDPTimeouts','UDPStreamPort','UDPStreamIP','UDPMsgPort','UDPMsgIP',
+		'Trim','TotalVidMem','TileImage','TileBlock','TFormImage','TFormFilter','Text',
+		'TCPTimeouts','TCPStreamPort','TCPStreamIP','Tan','SystemProperty','StringWidth','StringHeight','Str','StopNetGame',
+		'StopChannel','StartNetGame','Sqr','SoundVolume','SoundPitch','SoundPan','Sin','Shr',
+		'ShowPointer','Shl','Sgn','SetGfxDriver','SetGamma','SetFont','SetEnv','SetBuffer','SendUDPMsg','SendNetMsg',
+		'SeekFile','SeedRnd','ScanLine','ScaleImage','SaveImage','SaveBuffer','Sar','RuntimeError','RSet',
+		'RotateImage','RndSeed','Rnd','Right','ResumeChannel','Restore','ResizeImage','ResizeBank','Replace',
+		'Repeat','RecvUDPMsg','RecvNetMsg','RectsOverlap','Rect','ReadString','ReadShort','ReadPixelFast','ReadPixel','ReadLine',
+		'ReadInt','ReadFloat','ReadFile','ReadDir','ReadBytes','ReadByte','ReadAvail','Read','Rand','Print',
+		'PokeShort','PokeInt','PokeFloat','PokeByte','Plot','PlaySound','PlayMusic','PlayCDTrack','Pi','PeekShort',
+		'PeekInt','PeekFloat','PeekByte','PauseChannel','Oval','Origin','OpenTCPStream','OpenMovie','OpenFile',
+		'Null','NextFile','New','NetPlayerName','NetPlayerLocal','NetMsgType','NetMsgTo','NetMsgFrom',
+		'NetMsgData','MovieWidth','MoviePlaying','MovieHeight','MoveMouse','MouseZSpeed','MouseZ','MouseYSpeed','MouseY','MouseXSpeed',
+		'MouseX','MouseHit','MouseDown','Mod','Millisecs','MidHandle','Mid','MaskImage','LSet','Lower',
+		'LoopSound','Log10','Log','LockBuffer','Locate','Local','LoadSound','LoadImage','LoadFont','LoadBuffer',
+		'LoadAnimImage','Line','Len','Left','KeyHit','KeyDown','JoyZDir','JoyZ','JoyYDir',
+		'JoyYaw','JoyY','JoyXDir','JoyX','JoyVDir','JoyV','JoyUDir','JoyU','JoyType','JoyRoll',
+		'JoyPitch','JoyHit','JoyHat','JoyDown','JoinNetGame','Instr','Insert','Input',
+		'ImageYHandle','ImageXHandle','ImageWidth','ImagesOverlap','ImagesCollide','ImageRectOverlap','ImageRectCollide','ImageHeight','ImageBuffer','If',
+		'HostNetGame','HostIP','HidePointer','Hex','HandleImage','GraphicsWidth','GraphicsHeight','GraphicsDepth','GraphicsBuffer','Graphics',
+		'GrabImage','Global','GFXModeWidth','GFXModeHeight','GfxModeExists','GFXModeDepth','GfxDriverName','GetMouse',
+		'GetKey','GetJoy','GetEnv','GetColor','GammaRed','GammaGreen','GammaBlue','Function','FrontBuffer','FreeTimer',
+		'FreeSound','FreeImage','FreeFont','FreeBank','FontWidth','FontHeight','FlushMouse','FlushKeys',
+		'FlushJoy','Floor','Flip','First','FileType','FileSize','FilePos','Field',
+		'Exp','Exit','ExecFile','Eof','EndGraphics','Each','DrawMovie','DrawImageRect','DrawImage','DrawBlockRect','DrawBlock',
+		'DottedIP','Dim','DeleteNetPlayer','DeleteFile','DeleteDir','Delete','Delay','Default','DebugLog','Data',
+		'CurrentTime','CurrentDir','CurrentDate','CreateUDPStream','CreateTimer','CreateTCPServer','CreateNetPlayer','CreateImage','CreateDir','CreateBank',
+		'CountHostIPs','CountGFXModes','CountGfxDrivers','Cos','CopyStream','CopyRect','CopyPixelFast','CopyPixel','CopyImage','CopyFile',
+		'CopyBank','Const','CommandLine','ColorRed','ColorGreen','ColorBlue','Color','ClsColor','Cls','CloseUDPStream',
+		'CloseTCPStream','CloseTCPServer','CloseMovie','CloseFile','CloseDir','Chr','ChannelVolume','ChannelPlaying','ChannelPitch','ChannelPan',
+		'ChangeDir','Ceil','CallDLL','Bin','BankSize','BackBuffer','AvailVidMem','AutoMidHandle',
+		'ATan2','ATan','ASin','Asc','After','ACos','AcceptTCPStream','Abs',
+		// 3D Commands
+		'Wireframe','Windowed3D','WBuffer','VertexZ','VertexY',
+		'VertexX','VertexW','VertexV','VertexU','VertexTexCoords','VertexRed','VertexNZ','VertexNY','VertexNX','VertexNormal',
+		'VertexGreen','VertexCoords','VertexColor','VertexBlue','VertexAlpha','VectorYaw','VectorPitch','UpdateWorld','UpdateNormals','TurnEntity',
+		'TrisRendered','TriangleVertex','TranslateEntity','TFormVector','TFormPoint','TFormNormal','TFormedZ','TFormedY','TFormedX','TextureWidth',
+		'TextureName','TextureHeight','TextureFilter','TextureCoords','TextureBuffer','TextureBlend','TerrainZ','TerrainY','TerrainX','TerrainSize',
+		'TerrainShading','TerrainHeight','TerrainDetail','SpriteViewMode','ShowEntity','SetCubeFace','SetAnimTime','SetAnimKey','ScaleTexture','ScaleSprite',
+		'ScaleMesh','ScaleEntity','RotateTexture','RotateSprite','RotateMesh','RotateEntity','ResetEntity','RenderWorld','ProjectedZ','ProjectedY',
+		'ProjectedX','PositionTexture','PositionMesh','PositionEntity','PointEntity','PickedZ','PickedY','PickedX','PickedTriangle','PickedTime',
+		'PickedSurface','PickedNZ','PickedNY','PickedNX','PickedEntity','PaintSurface','PaintMesh','PaintEntity','NameEntity','MoveEntity',
+		'ModifyTerrain','MeshWidth','MeshHeight','MeshesIntersect','MeshDepth','MD2AnimTime','MD2AnimLength','MD2Animating','LoadTexture','LoadTerrain',
+		'LoadSprite','LoadMesh','LoadMD2','LoaderMatrix','LoadBSP','LoadBrush','LoadAnimTexture','LoadAnimSeq','LoadAnimMesh','Load3DSound',
+		'LinePick','LightRange','LightMesh','LightConeAngles','LightColor','HWMultiTex','HideEntity','HandleSprite','Graphics3D','GfxMode3DExists',
+		'GfxMode3D','GfxDriverCaps3D','GfxDriver3D','GetSurfaceBrush','GetSurface','GetParent','GetMatElement','GetEntityType','GetEntityBrush','GetChild',
+		'GetBrushTexture','FreeTexture','FreeEntity','FreeBrush','FlipMesh','FitMesh','FindSurface','FindChild','ExtractAnimSeq','EntityZ',
+		'EntityYaw','EntityY','EntityX','EntityVisible','EntityType','EntityTexture','EntityShininess','EntityRoll','EntityRadius','EntityPitch',
+		'EntityPickMode','EntityPick','EntityParent','EntityOrder','EntityName','EntityInView','EntityFX','EntityDistance','EntityColor','EntityCollided',
+		'EntityBox','EntityBlend','EntityAutoFade','EntityAlpha','EmitSound','Dither','DeltaYaw','DeltaPitch','CreateTexture','CreateTerrain',
+		'CreateSurface','CreateSprite','CreateSphere','CreatePlane','CreatePivot','CreateMirror','CreateMesh','CreateListener','CreateLight','CreateCylinder',
+		'CreateCube','CreateCone','CreateCamera','CreateBrush','CountVertices','CountTriangles','CountSurfaces','CountGfxModes3D','CountCollisions','CountChildren',
+		'CopyMesh','CopyEntity','CollisionZ','CollisionY','CollisionX','CollisionTriangle','CollisionTime','CollisionSurface','Collisions','CollisionNZ',
+		'CollisionNY','CollisionNX','CollisionEntity','ClearWorld','ClearTextureFilters','ClearSurface','ClearCollisions','CaptureWorld','CameraZoom','CameraViewport',
+		'CameraRange','CameraProjMode','CameraProject','CameraPick','CameraFogRange','CameraFogMode','CameraFogColor','CameraClsMode','CameraClsColor','BSPLighting',
+		'BSPAmbientLight','BrushTexture','BrushShininess','BrushFX','BrushColor','BrushBlend','BrushAlpha','AntiAlias','AnimTime','AnimSeq',
+		'AnimLength','Animating','AnimateMD2','Animate','AmbientLight','AlignToVector','AddVertex','AddTriangle','AddMesh','AddAnimSeq',
+      )
+    ),
+  'SYMBOLS' => array(
+  	'(',')'
+  	),
+  'CASE_SENSITIVE' => array(
+    GESHI_COMMENTS => false,
+    1 => false,
+    2 => false,
+    ),
+  'STYLES' => array(
+    'KEYWORDS' => array(
+      1 => 'color: #000066; font-weight: bold;',
+       2 => 'color: #0000ff;'
+      ),
+    'COMMENTS' => array(
+      1 => 'color: #D9D100; font-style: italic;',
+      ),
+    'ESCAPE_CHAR' => array(
+      0 => 'color: #000099; font-weight: bold;'
+      ),
+    'BRACKETS' => array(
+      0 => 'color: #000066;'
+      ),
+    'STRINGS' => array(
+      0 => 'color: #009900;'
+      ),
+    'NUMBERS' => array(
+      0 => 'color: #CC0000;'
+      ),
+    'METHODS' => array(
+      1 => 'color: #006600;'
+      ),
+    'SYMBOLS' => array(
+      0 => 'color: #000066;'
+      ),
+    'REGEXPS' => array(
+      ),
+    'SCRIPT' => array(
+      0 => '',
+      1 => '',
+      )
+    ),
+  'URLS' => array(
+		1 => ''
+  	),
+  'OOLANG' => false,
+  'OBJECT_SPLITTERS' => array(
+  	1 => '\\'
+	),
+  'REGEXPS' => array(
+  ),
+  'STRICT_MODE_APPLIES' => GESHI_NEVER,
+  'SCRIPT_DELIMITERS' => array(),
+  'HIGHLIGHT_STRICT_BLOCK' => array(
+    0 => false,
+    1 => false
+  )
+);
+
+?>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/plugins/geshi/geshi/bnf.php	Sun Feb 10 18:10:52 2008 -0500
@@ -0,0 +1,130 @@
+<?php
+/*************************************************************************************
+ * bnf.php
+ * --------
+ * Author: Rowan Rodrik van der Molen (rowan@bigsmoke.us)
+ * Copyright: (c) 2006 Rowan Rodrik van der Molen (http://www.bigsmoke.us/)
+ * Release Version: 1.0.7.20
+ * Date Started: 2006/09/28
+ *
+ * BNF (Backus-Naur form) language file for GeSHi.
+ *
+ * See http://en.wikipedia.org/wiki/Backus-Naur_form for more info on BNF.
+ *
+ * CHANGES
+ * -------
+ * 2006/09/18 (1.0.0)
+ *  -  First Release
+ *
+ * TODO (updated 2006/09/18)
+ * -------------------------
+ * * Nothing I can think of
+ *
+ *************************************************************************************
+ *
+ *     This file is part of GeSHi.
+ *
+ *   GeSHi is free software; you can 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.
+ *
+ *   GeSHi is distributed in the hope that it will be useful,
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *   GNU General Public License for more details.
+ *
+ *   You should have received a copy of the GNU General Public License
+ *   along with GeSHi; if not, write to the Free Software
+ *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
+ ************************************************************************************/
+
+$language_data = array (
+    'LANG_NAME' => 'bnf',
+    'COMMENT_SINGLE' => array(),
+    'COMMENT_MULTI' => array(),
+    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+    'QUOTEMARKS' => array('"', "'"),
+    'ESCAPE_CHAR' => '',
+    'KEYWORDS' => array(),
+    'SYMBOLS' => array(
+        '<', '>', '::=', '|'
+    ),
+    'CASE_SENSITIVE' => array(
+        //GESHI_COMMENTS => false
+    ),
+    'STYLES' => array(
+        'KEYWORDS' => array(),
+        'COMMENTS' => array(
+        ),
+        'ESCAPE_CHAR' => array(
+            0 => ''
+        ),
+        'BRACKETS' => array(
+            0 => ''
+        ),
+        'STRINGS' => array(
+            0 => 'color: #a00;',
+            1 => 'color: #a00;'
+        ),
+        'NUMBERS' => array(
+            0 => ''
+        ),
+        'METHODS' => array(
+            0 => ''
+        ),
+        'SYMBOLS' => array(
+            0 => 'color: #000066; font-weight: bold;', // Unused
+        ),
+        'REGEXPS' => array(
+            0 => 'color: #007;',
+            1 => 'color: #099;',
+            2 => 'color: #060;',
+            3 => 'color: #909;'
+        ),
+        'SCRIPT' => array(
+          0 => ''
+        )
+    ),
+    'URLS' => array(),
+    'OOLANG' => false,
+    'OBJECT_SPLITTERS' => array(),
+    'REGEXPS' => array(
+        0 => array(
+            GESHI_SEARCH => '(&lt;)([^&]+?)(&gt;)',
+            GESHI_REPLACE => '\\2',
+            GESHI_MODIFIERS => '',
+            GESHI_BEFORE => '\\1',
+            GESHI_AFTER => '\\3'
+        ),
+        1 => array(
+            GESHI_SEARCH => '(&lt;|&gt;)',
+            GESHI_REPLACE => '\\1',
+            GESHI_MODIFIERS => '',
+            GESHI_BEFORE => '',
+            GESHI_AFTER => ''
+        ),
+        2 => array(
+            GESHI_SEARCH => '(::=)',
+            GESHI_REPLACE => '\\1',
+            GESHI_MODIFIERS => '',
+            GESHI_BEFORE => '',
+            GESHI_AFTER => ''
+        ),
+        3 => array(
+            GESHI_SEARCH => '([()])',
+            GESHI_REPLACE => '\\1',
+            GESHI_MODIFIERS => '',
+            GESHI_BEFORE => '',
+            GESHI_AFTER => ''
+        ),
+    ),
+    'STRICT_MODE_APPLIES' => GESHI_NEVER,
+    'SCRIPT_DELIMITERS' => array(
+    ),
+    'HIGHLIGHT_STRICT_BLOCK' => array(
+    )
+);
+
+?>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/plugins/geshi/geshi/c.php	Sun Feb 10 18:10:52 2008 -0500
@@ -0,0 +1,143 @@
+<?php
+/*************************************************************************************
+ * c.php
+ * -----
+ * Author: Nigel McNie (nigel@geshi.org)
+ * Contributors:
+ *  - Jack Lloyd (lloyd@randombit.net)
+ * Copyright: (c) 2004 Nigel McNie (http://qbnz.com/highlighter/)
+ * Release Version: 1.0.7.20
+ * Date Started: 2004/06/04
+ *
+ * C language file for GeSHi.
+ *
+ * CHANGES
+ * -------
+ * 2004/XX/XX (1.0.4)
+ *   -  Added a couple of new keywords (Jack Lloyd)
+ * 2004/11/27 (1.0.3)
+ *   -  Added support for multiple object splitters
+ * 2004/10/27 (1.0.2)
+ *   -  Added support for URLs
+ * 2004/08/05 (1.0.1)
+ *   -  Added support for symbols
+ * 2004/07/14 (1.0.0)
+ *   -  First Release
+ *
+ * TODO (updated 2004/11/27)
+ * -------------------------
+ *  -  Get a list of inbuilt functions to add (and explore C more
+ *     to complete this rather bare language file
+ *
+ *************************************************************************************
+ *
+ *     This file is part of GeSHi.
+ *
+ *   GeSHi is free software; you can 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.
+ *
+ *   GeSHi is distributed in the hope that it will be useful,
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *   GNU General Public License for more details.
+ *
+ *   You should have received a copy of the GNU General Public License
+ *   along with GeSHi; if not, write to the Free Software
+ *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
+ ************************************************************************************/
+
+$language_data = array (
+	'LANG_NAME' => 'C',
+	'COMMENT_SINGLE' => array(1 => '//', 2 => '#'),
+	'COMMENT_MULTI' => array('/*' => '*/'),
+	'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+	'QUOTEMARKS' => array("'", '"'),
+	'ESCAPE_CHAR' => '\\',
+	'KEYWORDS' => array(
+		1 => array(
+			'if', 'return', 'while', 'case', 'continue', 'default',
+			'do', 'else', 'for', 'switch', 'goto'
+			),
+		2 => array(
+			'null', 'false', 'break', 'true', 'function', 'enum', 'extern', 'inline'
+			),
+		3 => array(
+			'printf', 'cout'
+			),
+		4 => array(
+			'auto', 'char', 'const', 'double',  'float', 'int', 'long',
+			'register', 'short', 'signed', 'sizeof', 'static', 'string', 'struct',
+			'typedef', 'union', 'unsigned', 'void', 'volatile', 'wchar_t'
+			),
+		),
+	'SYMBOLS' => array(
+		'(', ')', '{', '}', '[', ']', '=', '+', '-', '*', '/', '!', '%', '^', '&', ':'
+		),
+	'CASE_SENSITIVE' => array(
+		GESHI_COMMENTS => true,
+		1 => false,
+		2 => false,
+		3 => false,
+		4 => false,
+		),
+	'STYLES' => array(
+		'KEYWORDS' => array(
+			1 => 'color: #b1b100;',
+			2 => 'color: #000000; font-weight: bold;',
+			3 => 'color: #000066;',
+			4 => 'color: #993333;'
+			),
+		'COMMENTS' => array(
+			1 => 'color: #808080; font-style: italic;',
+			2 => 'color: #339933;',
+			'MULTI' => 'color: #808080; font-style: italic;'
+			),
+		'ESCAPE_CHAR' => array(
+			0 => 'color: #000099; font-weight: bold;'
+			),
+		'BRACKETS' => array(
+			0 => 'color: #66cc66;'
+			),
+		'STRINGS' => array(
+			0 => 'color: #ff0000;'
+			),
+		'NUMBERS' => array(
+			0 => 'color: #cc66cc;'
+			),
+		'METHODS' => array(
+			1 => 'color: #202020;',
+			2 => 'color: #202020;'
+			),
+		'SYMBOLS' => array(
+			0 => 'color: #66cc66;'
+			),
+		'REGEXPS' => array(
+			),
+		'SCRIPT' => array(
+			)
+		),
+	'URLS' => array(
+		1 => '',
+		2 => '',
+		3 => 'http://www.opengroup.org/onlinepubs/009695399/functions/{FNAME}.html',
+		4 => ''
+		),
+	'OOLANG' => true,
+	'OBJECT_SPLITTERS' => array(
+		1 => '.',
+		2 => '::'
+		),
+	'REGEXPS' => array(
+		),
+	'STRICT_MODE_APPLIES' => GESHI_NEVER,
+	'SCRIPT_DELIMITERS' => array(
+		),
+	'HIGHLIGHT_STRICT_BLOCK' => array(
+        ),
+    'TAB_WIDTH' => 4
+);
+
+?>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/plugins/geshi/geshi/c_mac.php	Sun Feb 10 18:10:52 2008 -0500
@@ -0,0 +1,175 @@
+<?php
+/*************************************************************************************
+ * c_mac.php
+ * ---------
+ * Author: M. Uli Kusterer (witness.of.teachtext@gmx.net)
+ * Copyright: (c) 2004 M. Uli Kusterer, Nigel McNie (http://qbnz.com/highlighter/)
+ * Release Version: 1.0.7.20
+ * Date Started: 2004/06/04
+ *
+ * C for Macs language file for GeSHi.
+ *
+ * CHANGES
+ * -------
+ * 2004/11/27
+ *   -  First Release
+ *
+ * TODO (updated 2004/11/27)
+ * -------------------------
+ *
+ *************************************************************************************
+ *
+ *     This file is part of GeSHi.
+ *
+ *   GeSHi is free software; you can 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.
+ *
+ *   GeSHi is distributed in the hope that it will be useful,
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *   GNU General Public License for more details.
+ *
+ *   You should have received a copy of the GNU General Public License
+ *   along with GeSHi; if not, write to the Free Software
+ *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
+ ************************************************************************************/
+
+$language_data = array (
+	'LANG_NAME' => 'C (Mac)',
+	'COMMENT_SINGLE' => array(1 => '//', 2 => '#'),
+	'COMMENT_MULTI' => array('/*' => '*/'),
+	'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+	'QUOTEMARKS' => array("'", '"'),
+	'ESCAPE_CHAR' => '\\',
+	'KEYWORDS' => array(
+		1 => array(
+			'if', 'return', 'while', 'case', 'continue', 'default',
+			'do', 'else', 'for', 'switch', 'goto'
+			),
+		2 => array(
+			'NULL', 'false', 'break', 'true', 'enum', 'errno', 'EDOM',
+			'ERANGE', 'FLT_RADIX', 'FLT_ROUNDS', 'FLT_DIG', 'DBL_DIG', 'LDBL_DIG',
+			'FLT_EPSILON', 'DBL_EPSILON', 'LDBL_EPSILON', 'FLT_MANT_DIG', 'DBL_MANT_DIG',
+			'LDBL_MANT_DIG', 'FLT_MAX', 'DBL_MAX', 'LDBL_MAX', 'FLT_MAX_EXP', 'DBL_MAX_EXP',
+			'LDBL_MAX_EXP', 'FLT_MIN', 'DBL_MIN', 'LDBL_MIN', 'FLT_MIN_EXP', 'DBL_MIN_EXP',
+			'LDBL_MIN_EXP', 'CHAR_BIT', 'CHAR_MAX', 'CHAR_MIN', 'SCHAR_MAX', 'SCHAR_MIN',
+			'UCHAR_MAX', 'SHRT_MAX', 'SHRT_MIN', 'USHRT_MAX', 'INT_MAX', 'INT_MIN',
+			'UINT_MAX', 'LONG_MAX', 'LONG_MIN', 'ULONG_MAX', 'HUGE_VAL', 'SIGABRT',
+			'SIGFPE', 'SIGILL', 'SIGINT', 'SIGSEGV', 'SIGTERM', 'SIG_DFL', 'SIG_ERR',
+			'SIG_IGN', 'BUFSIZ', 'EOF', 'FILENAME_MAX', 'FOPEN_MAX', 'L_tmpnam', 'NULL',
+			'SEEK_CUR', 'SEEK_END', 'SEEK_SET', 'TMP_MAX', 'stdin', 'stdout', 'stderr',
+			'EXIT_FAILURE', 'EXIT_SUCCESS', 'RAND_MAX', 'CLOCKS_PER_SEC',
+			// Mac-specific constants:
+			'kCFAllocatorDefault'
+			),
+		3 => array(
+			'printf', 'fprintf', 'snprintf', 'sprintf', 'assert',
+			'isalnum', 'isalpha', 'isdigit', 'iscntrl', 'isgraph', 'islower', 'isprint',
+			'ispunct', 'isspace', 'ispunct', 'isupper', 'isxdigit', 'tolower', 'toupper',
+			'exp', 'log', 'log10', 'pow', 'sqrt', 'ceil', 'floor', 'fabs', 'ldexp',
+			'frexp', 'modf', 'fmod', 'sin', 'cos', 'tan', 'asin', 'acos', 'atan', 'atan2',
+			'sinh', 'cosh', 'tanh', 'setjmp', 'longjmp', 'asin', 'acos', 'atan', 'atan2',
+			'va_start', 'va_arg', 'va_end', 'offsetof', 'sizeof', 'fopen', 'freopen',
+			'fflush', 'fclose', 'remove', 'rename', 'tmpfile', 'tmpname', 'setvbuf',
+			'setbuf', 'vfprintf', 'vprintf', 'vsprintf', 'fscanf', 'scanf', 'sscanf',
+			'fgetc', 'fgets', 'fputc', 'fputs', 'getc', 'getchar', 'gets', 'putc',
+			'putchar', 'puts', 'ungetc', 'fread', 'fwrite', 'fseek', 'ftell', 'rewind',
+			'fgetpos', 'fsetpos', 'clearerr', 'feof', 'ferror', 'perror', 'abs', 'labs',
+			'div', 'ldiv', 'atof', 'atoi', 'atol', 'strtod', 'strtol', 'strtoul', 'calloc',
+			'malloc', 'realloc', 'free', 'abort', 'exit', 'atexit', 'system', 'getenv',
+			'bsearch', 'qsort', 'rand', 'srand', 'strcpy', 'strncpy', 'strcat', 'strncat',
+			'strcmp', 'strncmp', 'strcoll', 'strchr', 'strrchr', 'strspn', 'strcspn',
+			'strpbrk', 'strstr', 'strlen', 'strerror', 'strtok', 'strxfrm', 'memcpy',
+			'memmove', 'memcmp', 'memchr', 'memset', 'clock', 'time', 'difftime', 'mktime',
+			'asctime', 'ctime', 'gmtime', 'localtime', 'strftime'
+			),
+		4 => array(
+			'auto', 'char', 'const', 'double',  'float', 'int', 'long',
+			'register', 'short', 'signed', 'sizeof', 'static', 'string', 'struct',
+			'typedef', 'union', 'unsigned', 'void', 'volatile', 'extern', 'jmp_buf',
+			'signal', 'raise', 'va_list', 'ptrdiff_t', 'size_t', 'FILE', 'fpos_t',
+			'div_t', 'ldiv_t', 'clock_t', 'time_t', 'tm',
+			// Mac-specific types:
+			'CFArrayRef', 'CFDictionaryRef', 'CFMutableDictionaryRef', 'CFBundleRef', 'CFSetRef', 'CFStringRef',
+			'CFURLRef', 'CFLocaleRef', 'CFDateFormatterRef', 'CFNumberFormatterRef', 'CFPropertyListRef',
+			'CFTreeRef', 'CFWriteStreamRef', 'CFCharacterSetRef', 'CFMutableStringRef', 'CFNotificationRef',
+			'CFNotificationRef', 'CFReadStreamRef', 'CFNull', 'CFAllocatorRef', 'CFBagRef', 'CFBinaryHeapRef',
+			'CFBitVectorRef', 'CFBooleanRef', 'CFDataRef', 'CFDateRef', 'CFMachPortRef', 'CFMessagePortRef',
+			'CFMutableArrayRef', 'CFMutableBagRef', 'CFMutableBitVectorRef', 'CFMutableCharacterSetRef',
+			'CFMutableDataRef', 'CFMutableSetRef', 'CFNumberRef', 'CFPlugInRef', 'CFPlugInInstanceRef',
+			'CFRunLoopRef', 'CFRunLoopObserverRef', 'CFRunLoopSourceRef', 'CFRunLoopTimerRef', 'CFSocketRef',
+			'CFTimeZoneRef', 'CFTypeRef', 'CFUserNotificationRef', 'CFUUIDRef', 'CFXMLNodeRef', 'CFXMLParserRef',
+			'CFXMLTreeRef'
+			),
+		),
+	'SYMBOLS' => array(
+		'(', ')', '{', '}', '[', ']', '=', '+', '-', '*', '/', '!', '%', '^', '&', ':'
+		),
+	'CASE_SENSITIVE' => array(
+		GESHI_COMMENTS => true,
+		1 => false,
+		2 => false,
+		3 => false,
+		4 => false,
+		),
+	'STYLES' => array(
+		'KEYWORDS' => array(
+			1 => 'color: #0000ff;',
+			2 => 'color: #0000ff;',
+			3 => 'color: #0000dd;',
+			4 => 'color: #0000ff;'
+			),
+		'COMMENTS' => array(
+			1 => 'color: #ff0000;',
+			2 => 'color: #339900;',
+			'MULTI' => 'color: #ff0000; font-style: italic;'
+			),
+		'ESCAPE_CHAR' => array(
+			0 => 'color: #666666; font-weight: bold;'
+			),
+		'BRACKETS' => array(
+			0 => 'color: #000000;'
+			),
+		'STRINGS' => array(
+			0 => 'color: #666666;'
+			),
+		'NUMBERS' => array(
+			0 => 'color: #0000dd;'
+			),
+		'METHODS' => array(
+			1 => 'color: #00eeff;',
+			2 => 'color: #00eeff;'
+			),
+		'SYMBOLS' => array(
+			0 => 'color: #000000;'
+			),
+		'REGEXPS' => array(
+			),
+		'SCRIPT' => array(
+			)
+		),
+	'URLS' => array(
+		1 => '',
+		2 => '',
+		3 => 'http://www.opengroup.org/onlinepubs/009695399/functions/{FNAME}.html',
+		4 => ''
+		),
+	'OOLANG' => true,
+	'OBJECT_SPLITTERS' => array(
+		1 => '.',
+		2 => '::'
+		),
+	'REGEXPS' => array(
+		),
+	'STRICT_MODE_APPLIES' => GESHI_NEVER,
+	'SCRIPT_DELIMITERS' => array(
+		),
+	'HIGHLIGHT_STRICT_BLOCK' => array(
+        ),
+    'TAB_WIDTH' => 4
+);
+
+?>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/plugins/geshi/geshi/caddcl.php	Sun Feb 10 18:10:52 2008 -0500
@@ -0,0 +1,125 @@
+<?php
+/*************************************************************************************
+ * caddcl.php
+ * ----------
+ * Author: Roberto Rossi (rsoftware@altervista.org)
+ * Copyright: (c) 2004 Roberto Rossi (http://rsoftware.altervista.org), Nigel McNie (http://qbnz.com/highlighter)
+ * Release Version: 1.0.7.20
+ * Date Started: 2004/08/30
+ *
+ * CAD DCL (Dialog Control Language) file for GeSHi.
+ *
+ * DCL for AutoCAD 12 or later and IntelliCAD all versions.
+ *
+ * CHANGES
+ * -------
+ * 2004/11/27 (1.0.1)
+ *  -  Added support for multiple object splitters
+ * 2004/1!/27 (1.0.0)
+ *  -  First Release
+ *
+ * TODO (updated 2004/11/27)
+ * -------------------------
+ *
+ *************************************************************************************
+ *
+ *     This file is part of GeSHi.
+ *
+ *   GeSHi is free software; you can 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.
+ *
+ *   GeSHi is distributed in the hope that it will be useful,
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *   GNU General Public License for more details.
+ *
+ *   You should have received a copy of the GNU General Public License
+ *   along with GeSHi; if not, write to the Free Software
+ *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
+ ************************************************************************************/
+
+$language_data = array (
+	'LANG_NAME' => 'CAD DCL',
+	'COMMENT_SINGLE' => array(1 => '//'),
+	'COMMENT_MULTI' => array('/*' => '*/'),
+	'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+	'QUOTEMARKS' => array('"'),
+	'ESCAPE_CHAR' => '\\',
+	'KEYWORDS' => array(
+		1 => array(
+			'boxed_column','boxed_radio_column','boxed_radio_row','boxed_row',
+			'column','concatenation','button','dialog','edit_box','image','image_button',
+			'errtile','list_box','ok_cancel','ok_cancel_help','ok_cancel_help_errtile',
+			'ok_cancel_help_info','ok_only','paragraph','popup_list','radio_button',
+			'radio_column','radio_row','row','slider','spacer','spacer_0','spacer_1','text',
+			'text_part','toggle',
+			'action','alignment','allow_accept','aspect_ratio','big_increment',
+			'children_alignment','children_fixed_height',
+			'children_fixed_width','color',
+			'edit_limit','edit_width','fixed_height','fixed_width',
+			'height','initial_focus','is_cancel','is_default',
+			'is_enabled','is_tab_stop','is-bold','key','label','layout','list',
+			'max_value','min_value','mnemonic','multiple_select','password_char',
+			'small_increment','tabs','tab_truncate','value','width',
+			'false','true','left','right','centered','top','bottom',
+			'dialog_line','dialog_foreground','dialog_background',
+			'graphics_background','black','red','yellow','green','cyan',
+			'blue','magenta','whitegraphics_foreground',
+			'horizontal','vertical'
+			)
+		),
+	'SYMBOLS' => array(
+		'(', ')', '{', '}', '[', ']', '=', '+', '-', '*', '/', '!', '%', '^', '&', ':'
+		),
+	'CASE_SENSITIVE' => array(
+		GESHI_COMMENTS => true,
+		1 => false
+		),
+	'STYLES' => array(
+		'KEYWORDS' => array(
+			1 => 'color: #b1b100;'
+			),
+		'COMMENTS' => array(
+			1 => 'color: #808080; font-style: italic;',
+			'MULTI' => 'color: #808080; font-style: italic;'
+			),
+		'ESCAPE_CHAR' => array(
+			0 => 'color: #000099; font-weight: bold;'
+			),
+		'BRACKETS' => array(
+			0 => 'color: #66cc66;'
+			),
+		'STRINGS' => array(
+			0 => 'color: #ff0000;'
+			),
+		'NUMBERS' => array(
+			0 => 'color: #cc66cc;'
+			),
+		'METHODS' => array(
+			),
+		'SYMBOLS' => array(
+			0 => 'color: #66cc66;'
+			),
+		'REGEXPS' => array(
+			),
+		'SCRIPT' => array(
+			)
+		),
+	'URLS' => array(
+		),
+	'OOLANG' => false,
+	'OBJECT_SPLITTERS' => array(
+		),
+	'REGEXPS' => array(
+		),
+	'STRICT_MODE_APPLIES' => GESHI_NEVER,
+	'SCRIPT_DELIMITERS' => array(
+		),
+	'HIGHLIGHT_STRICT_BLOCK' => array(
+		)
+);
+
+?>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/plugins/geshi/geshi/cadlisp.php	Sun Feb 10 18:10:52 2008 -0500
@@ -0,0 +1,185 @@
+<?php
+/*************************************************************************************
+ * cadlisp.php
+ * -----------
+ * Author: Roberto Rossi (rsoftware@altervista.org)
+ * Copyright: (c) 2004 Roberto Rossi (http://rsoftware.altervista.org), Nigel McNie (http://qbnz.com/blog)
+ * Release Version: 1.0.7.20
+ * Date Started: 2004/08/30
+ *
+ * AutoCAD/IntelliCAD Lisp language file for GeSHi.
+ *
+ * For AutoCAD V.12..2005 and IntelliCAD all versions.
+ *
+ * CHANGES
+ * -------
+ * 2004/11/27 (1.0.1)
+ *  -  Added support for multiple object splitters
+ * 2004/10/27 (1.0.0)
+ *  -  First Release
+ *
+ * TODO (updated 2004/11/27)
+ * -------------------------
+ *
+ *************************************************************************************
+ *
+ *     This file is part of GeSHi.
+ *
+ *   GeSHi is free software; you can 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.
+ *
+ *   GeSHi is distributed in the hope that it will be useful,
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *   GNU General Public License for more details.
+ *
+ *   You should have received a copy of the GNU General Public License
+ *   along with GeSHi; if not, write to the Free Software
+ *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
+ ************************************************************************************/
+
+$language_data = array (
+	'LANG_NAME' => 'CAD Lisp',
+	'COMMENT_SINGLE' => array(1 => ";"),
+	'COMMENT_MULTI' => array(";|" => "|;"),
+	'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+	'QUOTEMARKS' => array('"'),
+	'ESCAPE_CHAR' => '\\',
+	'KEYWORDS' => array(
+		1 => array(
+			'abs','acad_colordlg','acad_helpdlg','acad_strlsort','action_tile',
+			'add_list','alert','alloc','and','angle','angtof','angtos','append','apply',
+			'arx','arxload','arxunload','ascii','assoc','atan','atof','atoi','atom',
+			'atoms-family','autoarxload','autoload','Boole','boundp','caddr',
+			'cadr','car','cdr','chr','client_data_tile','close','command','cond',
+			'cons','cos','cvunit','defun','defun-q','defun-q-list-ref',
+			'defun-q-list-set','dictadd','dictnext','dictremove','dictrename',
+			'dictsearch','dimx_tile','dimy_tile','distance','distof','done_dialog',
+			'end_image','end_list','entdel','entget','entlast','entmake',
+			'entmakex','entmod','entnext','entsel','entupd','eq','equal','eval','exit',
+			'exp','expand','expt','fill_image','findfile','fix','float','foreach','function',
+			'gc','gcd','get_attr','get_tile','getangle','getcfg','getcname','getcorner',
+			'getdist','getenv','getfiled','getint','getkword','getorient','getpoint',
+			'getreal','getstring','getvar','graphscr','grclear','grdraw','grread','grtext',
+			'grvecs','handent','help','if','initdia','initget','inters','itoa','lambda','last',
+			'layoutlist','length','list','listp','load','load_dialog','log','logand','logior',
+			'lsh','mapcar','max','mem','member','menucmd','menugroup','min','minusp','mode_tile',
+			'namedobjdict','nentsel','nentselp','new_dialog','nil','not','nth','null',
+			'numberp','open','or','osnap','polar','prin1','princ','print','progn','prompt',
+			'quit','quote','read','read-char','read-line','redraw','regapp','rem','repeat',
+			'reverse','rtos','set','set_tile','setcfg','setenv','setfunhelp','setq','setvar',
+			'setview','sin','slide_image','snvalid','sqrt','ssadd','ssdel','ssget','ssgetfirst',
+			'sslength','ssmemb','ssname','ssnamex','sssetfirst','start_dialog','start_image',
+			'start_list','startapp','strcase','strcat','strlen','subst','substr','t','tablet',
+			'tblnext','tblobjname','tblsearch','term_dialog','terpri','textbox','textpage',
+			'textscr','trace','trans','type','unload_dialog','untrace','vector_image','ver',
+			'vports','wcmatch','while','write-char','write-line','xdroom','xdsize','zerop',
+			'vl-acad-defun','vl-acad-undefun','vl-arx-import','vlax-3D-point',
+			'vlax-add-cmd','vlax-create-object','vlax-curve-getArea',
+			'vlax-curve-getClosestPointTo','vlax-curve-getClosestPointToProjection',
+			'vlax-curve-getDistAtParam','vlax-curve-getDistAtPoint',
+			'vlax-curve-getEndParam','vlax-curve-getEndPoint',
+			'vlax-curve-getFirstDeriv','vlax-curve-getParamAtDist',
+			'vlax-curve-getParamAtPoint','vlax-curve-getPointAtDist',
+			'vlax-curve-getPointAtParam','vlax-curve-getSecondDeriv',
+			'vlax-curve-getStartParam','vlax-curve-getStartPoint',
+			'vlax-curve-isClosed','vlax-curve-isPeriodic','vlax-curve-isPlanar',
+			'vlax-dump-object','vlax-erased-p','vlax-for','vlax-get-acad-object',
+			'vlax-get-object','vlax-get-or-create-object','vlax-get-property',
+			'vlax-import-type-library','vlax-invoke-method','vlax-ldata-delete',
+			'vlax-ldata-get','vlax-ldata-list','vlax-ldata-put','vlax-ldata-test',
+			'vlax-make-safearray','vlax-make-variant','vlax-map-collection',
+			'vlax-method-applicable-p','vlax-object-released-p','vlax-product-key',
+			'vlax-property-available-p','vlax-put-property','vlax-read-enabled-p',
+			'vlax-release-object','vlax-remove-cmd','vlax-safearray-fill',
+			'vlax-safearray-get-dim','vlax-safearray-get-element',
+			'vlax-safearray-get-l-bound','vlax-safearray-get-u-bound',
+			'vlax-safearray-put-element','vlax-safearray-type','vlax-tmatrix',
+			'vlax-typeinfo-available-p','vlax-variant-change-type',
+			'vlax-variant-type','vlax-variant-value','vlax-write-enabled-p',
+			'vl-bb-ref','vl-bb-set','vl-catch-all-apply','vl-catch-all-error-message',
+			'vl-catch-all-error-p','vl-cmdf','vl-consp','vl-directory-files','vl-doc-export',
+			'vl-doc-import','vl-doc-ref','vl-doc-set','vl-every','vl-exit-with-error',
+			'vl-exit-with-value','vl-file-copy','vl-file-delete','vl-file-directory-p',
+			'vl-filename-base','vl-filename-directory','vl-filename-extension',
+			'vl-filename-mktemp','vl-file-rename','vl-file-size','vl-file-systime',
+			'vl-get-resource','vlisp-compile','vl-list-exported-functions',
+			'vl-list-length','vl-list-loaded-vlx','vl-load-all','vl-load-com',
+			'vl-load-reactors','vl-member-if','vl-member-if-not','vl-position',
+			'vl-prin1-to-string','vl-princ-to-string','vl-propagate','vlr-acdb-reactor',
+			'vlr-add','vlr-added-p','vlr-beep-reaction','vlr-command-reactor',
+			'vlr-current-reaction-name','vlr-data','vlr-data-set',
+			'vlr-deepclone-reactor','vlr-docmanager-reactor','vlr-dwg-reactor',
+			'vlr-dxf-reactor','vlr-editor-reactor','vl-registry-delete',
+			'vl-registry-descendents','vl-registry-read','vl-registry-write',
+			'vl-remove','vl-remove-if','vl-remove-if-not','vlr-insert-reactor',
+			'vlr-linker-reactor','vlr-lisp-reactor','vlr-miscellaneous-reactor',
+			'vlr-mouse-reactor','vlr-notification','vlr-object-reactor',
+			'vlr-owner-add','vlr-owner-remove','vlr-owners','vlr-pers','vlr-pers-list',
+			'vlr-pers-p','vlr-pers-release','vlr-reaction-names','vlr-reactions',
+			'vlr-reaction-set','vlr-reactors','vlr-remove','vlr-remove-all',
+			'vlr-set-notification','vlr-sysvar-reactor','vlr-toolbar-reactor',
+			'vlr-trace-reaction','vlr-type','vlr-types','vlr-undo-reactor',
+			'vlr-wblock-reactor','vlr-window-reactor','vlr-xref-reactor',
+			'vl-some','vl-sort','vl-sort-i','vl-string-elt','vl-string-left-trim',
+			'vl-string-mismatch','vl-string-position','vl-string-right-trim',
+			'vl-string-search','vl-string-subst','vl-string-translate','vl-string-trim',
+			'vl-symbol-name','vl-symbolp','vl-symbol-value','vl-unload-vlx','vl-vbaload',
+			'vl-vbarun','vl-vlx-loaded-p'
+			)
+		),
+	'SYMBOLS' => array(
+		'(', ')', '{', '}', '[', ']', '!', '%', '^', '&', '/','+','-','*','=','<','>'
+		),
+	'CASE_SENSITIVE' => array(
+		GESHI_COMMENTS => true,
+		1 => false
+		),
+	'STYLES' => array(
+		'KEYWORDS' => array(
+			1 => 'color: #b1b100;'
+			),
+		'COMMENTS' => array(
+			1 => 'color: #808080; font-style: italic;',
+			'MULTI' => 'color: #808080; font-style: italic;'
+			),
+		'ESCAPE_CHAR' => array(
+			0 => 'color: #000099; font-weight: bold;'
+			),
+		'BRACKETS' => array(
+			0 => 'color: #66cc66;'
+			),
+		'STRINGS' => array(
+			0 => 'color: #ff0000;'
+			),
+		'NUMBERS' => array(
+			0 => 'color: #cc66cc;'
+			),
+		'METHODS' => array(
+			),
+		'SYMBOLS' => array(
+			0 => 'color: #66cc66;'
+			),
+		'REGEXPS' => array(
+			),
+		'SCRIPT' => array(
+			)
+		),
+	'URLS' => array(
+		),
+	'OOLANG' => false,
+	'OBJECT_SPLITTERS' => array(
+		),
+	'REGEXPS' => array(
+		),
+	'STRICT_MODE_APPLIES' => GESHI_NEVER,
+	'SCRIPT_DELIMITERS' => array(
+		),
+	'HIGHLIGHT_STRICT_BLOCK' => array(
+		)
+);
+
+?>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/plugins/geshi/geshi/cfdg.php	Sun Feb 10 18:10:52 2008 -0500
@@ -0,0 +1,125 @@
+<?php
+/*************************************************************************************
+ * cfdg.php
+ * --------
+ * Author: John Horigan <john@glyphic.com>
+ * Copyright: (c) 2006 John Horigan http://www.ozonehouse.com/john/
+ * Release Version: 1.0.7.20
+ * Date Started: 2006/03/11
+ *
+ * CFDG language file for GeSHi.
+ *
+ * CHANGES
+ * -------
+ * 2006/03/11 (1.0.0)
+ *  -  First Release
+ *
+ * TODO (updated 2006/03/11)
+ * -------------------------
+ *
+ *************************************************************************************
+ *
+ *     This file is part of GeSHi.
+ *
+ *   GeSHi is free software; you can 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.
+ *
+ *   GeSHi is distributed in the hope that it will be useful,
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *   GNU General Public License for more details.
+ *
+ *   You should have received a copy of the GNU General Public License
+ *   along with GeSHi; if not, write to the Free Software
+ *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
+ ************************************************************************************/
+
+$language_data = array (
+	'LANG_NAME' => 'CFDG',
+	'COMMENT_SINGLE' => array(1 => '//', 2 => '#'),
+	'COMMENT_MULTI' => array('/*' => '*/'),
+	'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+	'QUOTEMARKS' => array("'", '"'),
+	'ESCAPE_CHAR' => '',
+	'KEYWORDS' => array(
+		1 => array(
+			'include', 'startshape', 'rule', 'background'
+			),
+		2 => array(
+			'SQUARE', 'CIRCLE', 'TRIANGLE',
+			),
+		3 => array(
+			'b','brightness','h','hue','sat','saturation',
+			'a','alpha','x','y','z','s','size',
+			'r','rotate','f','flip','skew','xml_set_object'
+			)
+		),
+	'SYMBOLS' => array(
+		'[', ']', '{', '}', '*', '|'
+		),
+	'CASE_SENSITIVE' => array(
+		GESHI_COMMENTS => false,
+		1 => false,
+		2 => false,
+		3 => false,
+		),
+	'STYLES' => array(
+		'KEYWORDS' => array(
+			1 => 'color: #717100;',
+			2 => 'color: #000000; font-weight: bold;',
+			3 => 'color: #006666;'
+			),
+		'COMMENTS' => array(
+			1 => 'color: #808080; font-style: italic;',
+			2 => 'color: #808080; font-style: italic;',
+			'MULTI' => 'color: #808080; font-style: italic;'
+			),
+		'ESCAPE_CHAR' => array(
+			0 => 'color: #000099; font-weight: bold;'
+			),
+		'BRACKETS' => array(
+			0 => 'color: #66cc66;'
+			),
+		'STRINGS' => array(
+			0 => 'color: #ff0000;'
+			),
+		'NUMBERS' => array(
+			0 => 'color: #cc66cc;'
+			),
+		'METHODS' => array(
+			1 => 'color: #006600;',
+			2 => 'color: #006600;'
+			),
+		'SYMBOLS' => array(
+			0 => 'color: #66cc66;'
+			),
+		'REGEXPS' => array(
+			),
+		'SCRIPT' => array(
+			0 => '',
+			1 => '',
+			2 => '',
+			3 => ''
+			)
+		),
+	'URLS' => array(
+		1 => '',
+		2 => '',
+		3 => '',
+		4 => ''
+		),
+	'OOLANG' => false,
+	'OBJECT_SPLITTERS' => '',
+	'REGEXPS' => array(
+		),
+	'STRICT_MODE_APPLIES' => GESHI_NEVER,
+	'SCRIPT_DELIMITERS' => array(
+		),
+	'HIGHLIGHT_STRICT_BLOCK' => array(
+		)
+);
+
+?>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/plugins/geshi/geshi/cfm.php	Sun Feb 10 18:10:52 2008 -0500
@@ -0,0 +1,325 @@
+<?php
+/*************************************************************************************
+ * cfm.php
+ * -------
+ * Author: Diego ()
+ * Copyright: (c) 2006 Diego
+ * Release Version: 1.0.7.20
+ * Date Started: 2006/02/25
+ *
+ * ColdFusion language file for GeSHi.
+ *
+ * CHANGES
+ * -------
+ * 2006/02/25 (1.0.0)
+ *   -  First Release
+ *
+ * TODO (updated 2006/02/25)
+ * -------------------------
+ *
+ *************************************************************************************
+ *
+ *     This file is part of GeSHi.
+ *
+ *   GeSHi is free software; you can 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.
+ *
+ *   GeSHi is distributed in the hope that it will be useful,
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *   GNU General Public License for more details.
+ *
+ *   You should have received a copy of the GNU General Public License
+ *   along with GeSHi; if not, write to the Free Software
+ *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
+ ************************************************************************************/
+
+$language_data = array (
+	'LANG_NAME' => 'ColdFusion',
+	'COMMENT_SINGLE' => array(1 => '//'),
+    'COMMENT_MULTI' => array('<!--' => '-->','&lt;!---' => '---&gt;', '/*' => '*/'),
+	'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+	'QUOTEMARKS' => array("'", '"'),
+	'ESCAPE_CHAR' => '\\',
+	'KEYWORDS' => array(
+		/* CFM Tags */
+		1 => array(
+			'&lt;cfabort', '&lt;cfapplet', '&lt;cfapplication', '&lt;cfargument', '&lt;cfassociate', '&lt;&lt;cfbreak&gt;', 
+			'&lt;cfcache', '&lt;cfcase', '&lt;cfcatch', '&lt;/cfcatch&gt;', '&lt;cfchart', '&lt;/cfchart&gt;', '&lt;cfchartdata', 
+			'&lt;cfchartseries', '&lt;/cfchartseries&gt;', '&lt;cfcol', '&lt;cfcollection', '&lt;cfcomponent', '&lt;/cfcomponent&gt;', 
+			'&lt;cfcontent', '&lt;cfcookie', '&lt;/cfdefaultcase&gt;', '&lt;cfdirectory', '&lt;cfdocument', '&lt;/cfdocument&gt;', 
+			'&lt;cfdocumentitem', '&lt;/cfdocumentitem&gt;', '&lt;cfdocumentsection', '&lt;/cfdocumentsection&gt;', '&lt;cfdump', 
+			'&lt;cfelse', '&lt;cfelseif', '&lt;cferror', '&lt;cfexecute', '&lt;/cfexecute&gt;', '&lt;cfexit', '&lt;cffile', 
+			'&lt;cfflush', '&lt;cfform', '&lt;/cfform&gt;', '&lt;cfformgroup', '&lt;/cfformgroup', '&lt;cfformitem', 
+			'&lt;/cfformitem&gt;', '&lt;cfftp', '&lt;cffunction', '&lt;/cffunction&gt;', '&lt;cfgrid', '&lt;/cfgrid&gt;', 
+			'&lt;cfgridcolumn', '&lt;cfgridrow', '&lt;cfgridupdate', '&lt;cfheader', '&lt;cfhtmlhead', '&lt;cfhttp', 
+			'&lt;/cfhttp&gt;', '&lt;cfhttpparam', '&lt;cfif', '&lt;/cfif&gt;', '&lt;cfimport', '&lt;cfinclude', '&lt;cfindex', 
+			'&lt;cfinput', '&lt;cfinsert', '&lt;cfinvoke', '&lt;cfinvokeargument', '&lt;cfldap', '&lt;cflocation', '&lt;cflock', 
+			'&lt;/cflock&gt;', '&lt;cflog', '&lt;cflogin', '&lt;/cflogin&gt;', '&lt;cfloginuser', '&lt;cflogout', '&lt;cfloop', 
+			'&lt;/cfloop&gt;', '&lt;cfmail', '&lt;/cfmail&gt;', '&lt;cfmailparam', '&lt;cfmailpart', '&lt;/cfmailpart&gt;', 
+			'&lt;cfmodule', '&lt;cfNTauthenticate', '&lt;cfobject', '&lt;cfobjectcache', '&lt;cfoutput&gt;', '&lt;cfoutput', '&lt;/cfoutput&gt;', 
+			'&lt;cfparam', '&lt;cfpop', '&lt;cfprocessingdirective', '&lt;/cfprocessingdirective&gt;', '&lt;cfprocparam', 
+			'&lt;cfprocresult', '&lt;cfproperty', '&lt;cfquery', '&lt;/cfquery&gt;', '&lt;cfqueryparam', '&lt;cfregistry', 
+			'&lt;/cfregistry&gt;', '&lt;cfreport', '&lt;/cfreport&gt;', '&lt;cfreportparam', '&lt;/cfreportparam&gt;', 
+			'&lt;cfrethrow', '&lt;cfreturn', '&lt;cfsavecontent', '&lt;/cfsavecontent&gt;', '&lt;cfschedule', '&lt;cfscript', '&lt;cfscript&gt;',
+			'&lt;/cfscript&gt;', '&lt;cfsearch', '&lt;cfselect', '&lt;/cfselect&gt;', '&lt;cfset', '&lt;cfsetting', '&lt;cfsilent', 
+			'&lt;/cfsilent&gt;', '&lt;cfstoredproc', '&lt;/cfstoredproc&gt;', '&lt;cfswitch', '&lt;/cfswitch&gt;', '&lt;cftable', 
+			'&lt;/cftable&gt;', '&lt;cftextarea', '&lt;/cftextarea&gt;', '&lt;cfthrow', '&lt;cftimer', '&lt;/cftimer&gt;', 
+			'&lt;cftrace', '&lt;/cftrace&gt;', '&lt;cftransaction', '&lt;/cftransaction&gt;', '&lt;cftree', '&lt;/cftree&gt;', 
+			'&lt;cftreeitem', '&lt;cftry', '&lt;/cftry&gt;', '&lt;cfupdate', '&lt;cfwddx','&lt;','&gt;'
+			),
+		/* HTML Tags */
+		2 => array(
+			'&lt;a&gt;', '&lt;abbr&gt;', '&lt;acronym&gt;', '&lt;address&gt;', '&lt;applet&gt;',
+			'&lt;a', '&lt;abbr', '&lt;acronym', '&lt;address', '&lt;applet',
+			'&lt;/a&gt;', '&lt;/abbr&gt;', '&lt;/acronym&gt;', '&lt;/address&gt;', '&lt;/applet&gt;',
+			'&lt;/a', '&lt;/abbr', '&lt;/acronym', '&lt;/address', '&lt;/applet',
+
+			'&lt;base&gt;', '&lt;basefont&gt;', '&lt;bdo&gt;', '&lt;big&gt;', '&lt;blockquote&gt;', '&lt;body&gt;', '&lt;br&gt;', '&lt;button&gt;', '&lt;b&gt;',
+			'&lt;base', '&lt;basefont', '&lt;bdo', '&lt;big', '&lt;blockquote', '&lt;body', '&lt;br', '&lt;button', '&lt;b',
+			'&lt;/base&gt;', '&lt;/basefont&gt;', '&lt;/bdo&gt;', '&lt;/big&gt;', '&lt;/blockquote&gt;', '&lt;/body&gt;', '&lt;/br&gt;', '&lt;/button&gt;', '&lt;/b&gt;',
+			'&lt;/base', '&lt;/basefont', '&lt;/bdo', '&lt;/big', '&lt;/blockquote', '&lt;/body', '&lt;/br','&lt;br /&gt;', '&lt;/button', '&lt;/b',
+
+			'&lt;caption&gt;', '&lt;center&gt;', '&lt;cite&gt;', '&lt;code&gt;', '&lt;colgroup&gt;', '&lt;col&gt;',
+			'&lt;caption', '&lt;center', '&lt;cite', '&lt;code', '&lt;colgroup', '&lt;col',
+			'&lt;/caption&gt;', '&lt;/center&gt;', '&lt;/cite&gt;', '&lt;/code&gt;', '&lt;/colgroup&gt;', '&lt;/col&gt;',
+			'&lt;/caption', '&lt;/center', '&lt;/cite', '&lt;/code', '&lt;/colgroup', '&lt;/col',
+
+			'&lt;dd&gt;', '&lt;del&gt;', '&lt;dfn&gt;', '&lt;dir&gt;', '&lt;div&gt;', '&lt;dl&gt;', '&lt;dt&gt;',
+			'&lt;dd', '&lt;del', '&lt;dfn', '&lt;dir', '&lt;div', '&lt;dl', '&lt;dt',
+			'&lt;/dd&gt;', '&lt;/del&gt;', '&lt;/dfn&gt;', '&lt;/dir&gt;', '&lt;/div&gt;', '&lt;/dl&gt;', '&lt;/dt&gt;',
+			'&lt;/dd', '&lt;/del', '&lt;/dfn', '&lt;/dir', '&lt;/div', '&lt;/dl', '&lt;/dt',
+
+			'&lt;em&gt;',
+			'&lt;em',
+			'&lt;/em&gt;',
+			'&lt;/em',
+
+			'&lt;fieldset&gt;', '&lt;font&gt;', '&lt;form&gt;', '&lt;frame&gt;', '&lt;frameset&gt;',
+			'&lt;fieldset', '&lt;font', '&lt;form', '&lt;frame', '&lt;frameset',
+			'&lt;/fieldset&gt;', '&lt;/font&gt;', '&lt;/form&gt;', '&lt;/frame&gt;', '&lt;/frameset&gt;',
+			'&lt;/fieldset', '&lt;/font', '&lt;/form', '&lt;/frame', '&lt;/frameset',
+
+			'&lt;h1&gt;', '&lt;h2&gt;', '&lt;h3&gt;', '&lt;h4&gt;', '&lt;h5&gt;', '&lt;h6&gt;', '&lt;head&gt;', '&lt;hr&gt;', '&lt;html&gt;',
+			'&lt;h1', '&lt;h2', '&lt;h3', '&lt;h4', '&lt;h5', '&lt;h6', '&lt;head', '&lt;hr', '&lt;html',
+			'&lt;/h1&gt;', '&lt;/h2&gt;', '&lt;/h3&gt;', '&lt;/h4&gt;', '&lt;/h5&gt;', '&lt;/h6&gt;', '&lt;/head&gt;', '&lt;/hr&gt;', '&lt;/html&gt;',
+			'&lt;/h1', '&lt;/h2', '&lt;/h3', '&lt;/h4', '&lt;/h5', '&lt;/h6', '&lt;/head', '&lt;/hr', '&lt;/html',
+
+			'&lt;iframe&gt;', '&lt;ilayer&gt;', '&lt;img&gt;', '&lt;input&gt;', '&lt;ins&gt;', '&lt;isindex&gt;', '&lt;i&gt;',
+			'&lt;iframe', '&lt;ilayer', '&lt;img', '&lt;input', '&lt;ins', '&lt;isindex', '&lt;i',
+			'&lt;/iframe&gt;', '&lt;/ilayer&gt;', '&lt;/img&gt;', '&lt;/input&gt;', '&lt;/ins&gt;', '&lt;/isindex&gt;', '&lt;/i&gt;',
+			'&lt;/iframe', '&lt;/ilayer', '&lt;/img', '&lt;/input', '&lt;/ins', '&lt;/isindex', '&lt;/i',
+
+			'&lt;kbd&gt;',
+			'&lt;kbd',
+			'&t;/kbd&gt;',
+			'&lt;/kbd',
+
+			'&lt;label&gt;', '&lt;legend&gt;', '&lt;link&gt;', '&lt;li&gt;',
+			'&lt;label', '&lt;legend', '&lt;link', '&lt;li',
+			'&lt;/label&gt;', '&lt;/legend&gt;', '&lt;/link&gt;', '&lt;/li&gt;',
+			'&lt;/label', '&lt;/legend', '&lt;/link', '&lt;/li',
+
+			'&lt;map&gt;', '&lt;meta&gt;',
+			'&lt;map', '&lt;meta',
+			'&lt;/map&gt;', '&lt;/meta&gt;',
+			'&lt;/map', '&lt;/meta',
+
+			'&lt;noframes&gt;', '&lt;noscript&gt;',
+			'&lt;noframes', '&lt;noscript',
+			'&lt;/noframes&gt;', '&lt;/noscript&gt;',
+			'&lt;/noframes', '&lt;/noscript',
+
+			'&lt;object&gt;', '&lt;ol&gt;', '&lt;optgroup&gt;', '&lt;option&gt;',
+			'&lt;object', '&lt;ol', '&lt;optgroup', '&lt;option',
+			'&lt;/object&gt;', '&lt;/ol&gt;', '&lt;/optgroup&gt;', '&lt;/option&gt;',
+			'&lt;/object', '&lt;/ol', '&lt;/optgroup', '&lt;/option',
+
+			'&lt;param&gt;', '&lt;pre&gt;', '&lt;p&gt;',
+			'&lt;param', '&lt;pre', '&lt;p',
+			'&lt;/param&gt;', '&lt;/pre&gt;', '&lt;/p&gt;',
+			'&lt;/param', '&lt;/pre', '&lt;/p',
+
+			'&lt;q&gt;',
+			'&lt;q',
+			'&lt;/q&gt;',
+			'&lt;/q',
+
+			'&lt;samp&gt;', '&lt;script&gt;', '&lt;select&gt;', '&lt;small&gt;', '&lt;span&gt;', '&lt;strike&gt;', '&lt;strong&gt;', '&lt;style&gt;', '&lt;sub&gt;', '&lt;sup&gt;', '&lt;s&gt;',
+			'&lt;samp', '&lt;script', '&lt;select', '&lt;small', '&lt;span', '&lt;strike', '&lt;strong', '&lt;style', '&lt;sub', '&lt;sup', '&lt;s',
+			'&lt;/samp&gt;', '&lt;/script&gt;', '&lt;/select&gt;', '&lt;/small&gt;', '&lt;/span&gt;', '&lt;/strike&gt;', '&lt;/strong&gt;', '&lt;/style&gt;', '&lt;/sub&gt;', '&lt;/sup&gt;', '&lt;/s&gt;',
+			'&lt;/samp', '&lt;/script', '&lt;/select', '&lt;/small', '&lt;/span', '&lt;/strike', '&lt;/strong', '&lt;/style', '&lt;/sub', '&lt;/sup', '&lt;/s',
+
+			'&lt;table&gt;', '&lt;tbody&gt;', '&lt;td&gt;', '&lt;textarea&gt;', '&lt;text&gt;', '&lt;tfoot&gt;', '&lt;thead&gt;', '&lt;th&gt;', '&lt;title&gt;', '&lt;tr&gt;', '&lt;tt&gt;',
+			'&lt;table', '&lt;tbody', '&lt;td', '&lt;textarea', '&lt;text', '&lt;tfoot', '&lt;tfoot', '&lt;thead', '&lt;th', '&lt;title', '&lt;tr', '&lt;tt',
+			'&lt;/table&gt;', '&lt;/tbody&gt;', '&lt;/td&gt;', '&lt;/textarea&gt;', '&lt;/text&gt;', '&lt;/tfoot&gt;', '&lt;/thead', '&lt;/tfoot', '&lt;/th&gt;', '&lt;/title&gt;', '&lt;/tr&gt;', '&lt;/tt&gt;',
+			'&lt;/table', '&lt;/tbody', '&lt;/td', '&lt;/textarea', '&lt;/text', '&lt;/tfoot', '&lt;/tfoot', '&lt;/thead', '&lt;/th', '&lt;/title', '&lt;/tr', '&lt;/tt',
+
+			'&lt;ul&gt;', '&lt;u&gt;',
+			'&lt;ul', '&lt;u',
+			'&lt;/ul&gt;', '&lt;/ul&gt;',
+			'&lt;/ul', '&lt;/u',
+
+			'&lt;var&gt;',
+			'&lt;var',
+			'&lt;/var&gt;',
+			'&lt;/var',
+
+			'&gt;', '&lt;'
+			),
+		/* HTML attributes */
+		3 => array(
+			'abbr', 'accept-charset', 'accept', 'accesskey', 'action', 'align', 'alink', 'alt', 'archive', 'axis',
+			'background', 'bgcolor', 'border',
+			'cellpadding', 'cellspacing', 'char', 'char', 'charoff', 'charset', 'checked', 'cite', 'class', 'classid', 'clear', 'code', 'codebase', 'codetype', 'color', 'cols', 'colspan', 'compact', 'content', 'coords',
+			'data', 'datetime', 'declare', 'defer', 'dir', 'disabled',
+			'enctype',
+			'face', 'for', 'frame', 'frameborder',
+			'headers', 'height', 'href', 'hreflang', 'hspace', 'http-equiv',
+			'id', 'ismap',
+			'label', 'lang', 'language', 'link', 'longdesc',
+			'marginheight', 'marginwidth', 'maxlength', 'media', 'method', 'multiple',
+			'name', 'nohref', 'noresize', 'noshade', 'nowrap',
+			'object', 'onblur', 'onchange', 'onclick', 'ondblclick', 'onfocus', 'onkeydown', 'onkeypress', 'onkeyup', 'onload', 'onmousedown', 'onmousemove', 'onmouseout', 'onmouseover', 'onmouseup', 'onreset', 'onselect', 'onsubmit', 'onunload',
+			'profile', 'prompt',
+			'readonly', 'rel', 'rev', 'rowspan', 'rows', 'rules',
+			'scheme', 'scope', 'scrolling', 'selected', 'shape', 'size', 'span', 'src', 'standby', 'start', 'style', 'summary',
+			'tabindex', 'target', 'text', 'title', 'type',
+			'usemap',
+			'valign', 'value', 'valuetype', 'version', 'vlink', 'vspace',
+			'width'
+			),
+			/* CFM Script delimeters */
+		4 => array(
+			'var', 'function', 'while', 'if','else'
+			),
+			/* CFM Functions */
+		5 => array(
+			'Abs', 'GetFunctionList', 'LSTimeFormat','ACos','GetGatewayHelper','LTrim','AddSOAPRequestHeader','GetHttpRequestData',
+			'Max','AddSOAPResponseHeader','GetHttpTimeString','Mid','ArrayAppend','GetLocale','Min','ArrayAvg','GetLocaleDisplayName',
+			'Minute','ArrayClear','GetMetaData','Month','ArrayDeleteAt','GetMetricData','MonthAsString','ArrayInsertAt','GetPageContext',
+			'Now','ArrayIsEmpty','GetProfileSections','NumberFormat','ArrayLen','GetProfileString','ParagraphFormat','ArrayMax',
+			'GetLocalHostIP','ParseDateTime','ArrayMin','GetSOAPRequest','Pi','ArrayNew','GetSOAPRequestHeader','PreserveSingleQuotes',
+			'ArrayPrepend','GetSOAPResponse','Quarter','ArrayResize','GetSOAPResponseHeader','QueryAddColumn','ArraySet',
+			'GetTempDirectory','QueryAddRow','ArraySort','GetTempDirectory','QueryNew','ArraySum','GetTempFile','QuerySetCell',
+			'ArraySwap','GetTickCount','QuotedValueList','ArrayToList','GetTimeZoneInfo','Rand','Asc','GetToken','Randomize',
+			'ASin','Hash','RandRange','Atn','Hour','REFind','BinaryDecode','HTMLCodeFormat','REFindNoCase','BinaryEncode',
+			'HTMLEditFormat','ReleaseComObject','BitAnd','IIf','RemoveChars','BitMaskClear','IncrementValue','RepeatString',
+			'BitMaskRead','InputBaseN','Replace','BitMaskSet','Insert','ReplaceList','BitNot','Int','ReplaceNoCase','BitOr',
+			'IsArray','REReplace','BitSHLN','IsBinary','REReplaceNoCase','BitSHRN','IsBoolean','Reverse','BitXor','IsCustomFunction',
+			'Right','Ceiling','IsDate','RJustify','CharsetDecode','IsDebugMode','Round','CharsetEncode','IsDefined','RTrim',
+			'Chr','IsLeapYear','Second','CJustify','IsLocalHost','SendGatewayMessage','Compare','IsNumeric','SetEncoding',
+			'CompareNoCase','IsNumericDate','SetLocale','Cos','IsObject','SetProfileString','CreateDate','IsQuery','SetVariable',
+			'CreateDateTime','IsSimpleValue','Sgn','CreateObject','IsSOAPRequest','Sin','CreateODBCDate','IsStruct','SpanExcluding',
+			'CreateODBCDateTime','IsUserInRole','SpanIncluding','CreateODBCTime','IsValid','Sqr','CreateTime','IsWDDX','StripCR',
+			'CreateTimeSpan','IsXML','StructAppend','CreateUUID','IsXmlAttribute','StructClear','DateAdd','IsXmlDoc','StructCopy',
+			'DateCompare','IsXmlElem','StructCount','DateConvert','IsXmlNode','StructDelete','DateDiff','IsXmlRoot','StructFind',
+			'DateFormat','JavaCast','StructFindKey','DatePart','JSStringFormat','StructFindValue','Day','LCase','StructGet',
+			'DayOfWeek','Left','StructInsert','DayOfWeekAsString','Len','StructIsEmpty','DayOfYear','ListAppend','StructKeyArray',
+			'DaysInMonth','ListChangeDelims','StructKeyExists','DaysInYear','ListContains','StructKeyList','DE','ListContainsNoCase',
+			'StructNew','DecimalFormat','ListDeleteAt','StructSort','DecrementValue','ListFind','StructUpdate','Decrypt','ListFindNoCase',
+			'Tan','DecryptBinary','ListFirst','TimeFormat','DeleteClientVariable','ListGetAt','ToBase64','DirectoryExists',
+			'ListInsertAt','ToBinary','DollarFormat','ListLast','ToScript','Duplicate','ListLen','ToString','Encrypt','ListPrepend',
+			'Trim','EncryptBinary','ListQualify','UCase','Evaluate','ListRest','URLDecode','Exp','ListSetAt','URLEncodedFormat',
+			'ExpandPath','ListSort','URLSessionFormat','FileExists','ListToArray','Val','Find','ListValueCount','ValueList',
+			'FindNoCase','ListValueCountNoCase','Week','FindOneOf','LJustify','Wrap','FirstDayOfMonth','Log','WriteOutput',
+			'Fix','Log10','XmlChildPos','FormatBaseN','LSCurrencyFormat','XmlElemNew','GetAuthUser','LSDateFormat','XmlFormat',
+			'GetBaseTagData','LSEuroCurrencyFormat','XmlGetNodeType','GetBaseTagList','LSIsCurrency','XmlNew','GetBaseTemplatePath',
+			'LSIsDate','XmlParse','GetClientVariablesList','LSIsNumeric','XmlSearch','GetCurrentTemplatePath','LSNumberFormat',
+			'XmlTransform','GetDirectoryFromPath','LSParseCurrency','XmlValidate','GetEncoding','LSParseDateTime','Year',
+			'GetException','LSParseEuroCurrency','YesNoFormat','GetFileFromPath','LSParseNumber'
+			),
+		/* CFM Attributes */
+		6 => array(
+			'=','&amp;','name','dbtype','connectstring','datasource','username','password','query','delimeter','description','required','hint','default','access','from','to','list','index'
+			)
+		),
+	'SYMBOLS' => array(
+		'/', '=', 'EQ', 'GT', 'LT', 'GTE', 'LTE', 'IS', 'LIKE', '&', '{', '}', '(', ')', '[', ']','gt','lt'
+		),
+	'CASE_SENSITIVE' => array(
+		GESHI_COMMENTS => false,
+		1 => false,
+		2 => false,
+		3 => false,
+		4 => false,
+        5 => false,
+        6 => false
+		),
+	'STYLES' => array(
+		'KEYWORDS' => array(
+			1 => 'color: #990000;',
+			2 => 'color: #000000; font-weight: bold;',
+			3 => 'color: #0000FF;',
+			4 => 'color: #000000; font-weight: bold;',
+			5 => 'color: #0000FF;',
+			6 => 'color: #0000FF'
+			),
+		'COMMENTS' => array(
+			1 => 'color: #808080; font-style: italic;',
+			'MULTI' => 'color: #808080; font-style: italic; background-color:#FFFF99;'
+			),
+		'ESCAPE_CHAR' => array(
+			0 => 'color: #000099; font-weight: bold;'
+			),
+		'BRACKETS' => array(
+			0 => 'color: #0000FF;'
+			),
+		'STRINGS' => array(
+			0 => 'color: #009900;'
+			),
+		'NUMBERS' => array(
+			0 => 'color: #FF0000;'
+			),
+		'METHODS' => array(
+			),
+		'SYMBOLS' => array(
+			0 => 'color: #0000FF;'
+			),
+		'SCRIPT' => array(
+			0 => 'color: #00bbdd;',
+			1 => 'color: #0000FF;',
+			2 => 'color: #000099;',
+			3 => 'color: #333333;'
+			),
+		'REGEXPS' => array(
+			)
+		),
+	'URLS' => array(
+		1 => '',
+		2 => '',
+		3 => '',
+		4 => ''
+		),
+	'OOLANG' => false,
+	'OBJECT_SPLITTERS' => array(
+		),
+	'REGEXPS' => array(
+		),
+	'STRICT_MODE_APPLIES' => GESHI_ALWAYS,
+	'SCRIPT_DELIMITERS' => array(
+		0 => array(
+			'<!DOCTYPE' => '>'
+			),
+		1 => array(
+			 '#' => '#'
+			),
+		2 => array(
+			'<cfscript>' => '</cfscript>;'
+			),
+		3 => array(
+			'<' => '>'
+			)
+	),
+	'HIGHLIGHT_STRICT_BLOCK' => array(
+		0 => false,
+		1 => true,
+		2 => true,
+		3 => true
+		)
+);
+
+?>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/plugins/geshi/geshi/cpp-qt.php	Sun Feb 10 18:10:52 2008 -0500
@@ -0,0 +1,267 @@
+<?php
+/*************************************************************************************
+ * cpp.php
+ * -------
+ * Author: Iulian M
+ * Copyright: (c) 2006 Iulian M
+ * Release Version: 1.0.7.20
+ * Date Started: 2004/09/27
+ *
+ * C++ language file for GeSHi, with QT extensions.
+ *
+ * CHANGES
+ * -------
+ *
+ * TODO
+ * ----
+ *
+ *************************************************************************************
+ *
+ *     This file is part of GeSHi.
+ *
+ *   GeSHi is free software; you can 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.
+ *
+ *   GeSHi is distributed in the hope that it will be useful,
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *   GNU General Public License for more details.
+ *
+ *   You should have received a copy of the GNU General Public License
+ *   along with GeSHi; if not, write to the Free Software
+ *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
+ ************************************************************************************/
+
+$language_data = array (
+	'LANG_NAME' => 'C++ (QT)',
+	'COMMENT_SINGLE' => array(1 => '//', 2 => '#'),
+	'COMMENT_MULTI' => array('/*' => '*/'),
+	'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+	'QUOTEMARKS' => array("'", '"'),
+	'ESCAPE_CHAR' => '\\',
+	'KEYWORDS' => array(
+		1 => array(
+			'case', 'continue', 'default', 'do', 'else', 'for', 'goto', 'if', 'return',
+			'switch', 'while'
+			),
+		2 => array(
+			'NULL', 'false', 'break', 'true', 'enum', 'errno', 'EDOM',
+			'ERANGE', 'FLT_RADIX', 'FLT_ROUNDS', 'FLT_DIG', 'DBL_DIG', 'LDBL_DIG',
+			'FLT_EPSILON', 'DBL_EPSILON', 'LDBL_EPSILON', 'FLT_MANT_DIG', 'DBL_MANT_DIG',
+			'LDBL_MANT_DIG', 'FLT_MAX', 'DBL_MAX', 'LDBL_MAX', 'FLT_MAX_EXP', 'DBL_MAX_EXP',
+			'LDBL_MAX_EXP', 'FLT_MIN', 'DBL_MIN', 'LDBL_MIN', 'FLT_MIN_EXP', 'DBL_MIN_EXP',
+			'LDBL_MIN_EXP', 'CHAR_BIT', 'CHAR_MAX', 'CHAR_MIN', 'SCHAR_MAX', 'SCHAR_MIN',
+			'UCHAR_MAX', 'SHRT_MAX', 'SHRT_MIN', 'USHRT_MAX', 'INT_MAX', 'INT_MIN',
+			'UINT_MAX', 'LONG_MAX', 'LONG_MIN', 'ULONG_MAX', 'HUGE_VAL', 'SIGABRT',
+			'SIGFPE', 'SIGILL', 'SIGINT', 'SIGSEGV', 'SIGTERM', 'SIG_DFL', 'SIG_ERR',
+			'SIG_IGN', 'BUFSIZ', 'EOF', 'FILENAME_MAX', 'FOPEN_MAX', 'L_tmpnam', 'NULL',
+			'SEEK_CUR', 'SEEK_END', 'SEEK_SET', 'TMP_MAX', 'stdin', 'stdout', 'stderr',
+			'EXIT_FAILURE', 'EXIT_SUCCESS', 'RAND_MAX', 'CLOCKS_PER_SEC',
+			'virtual', 'public', 'private', 'protected', 'template', 'using', 'namespace',
+			'try', 'catch', 'inline', 'dynamic_cast', 'const_cast', 'reinterpret_cast',
+			'static_cast', 'explicit', 'friend', 'wchar_t', 'typename', 'typeid', 'class' ,
+			'foreach','connect', 'Q_OBJECT' , 'slots' , 'signals'
+			),
+		3 => array(
+			'cin', 'cerr', 'clog', 'cout', 'delete', 'new', 'this',
+			'printf', 'fprintf', 'snprintf', 'sprintf', 'assert',
+			'isalnum', 'isalpha', 'isdigit', 'iscntrl', 'isgraph', 'islower', 'isprint',
+			'ispunct', 'isspace', 'ispunct', 'isupper', 'isxdigit', 'tolower', 'toupper',
+			'exp', 'log', 'log10', 'pow', 'sqrt', 'ceil', 'floor', 'fabs', 'ldexp',
+			'frexp', 'modf', 'fmod', 'sin', 'cos', 'tan', 'asin', 'acos', 'atan', 'atan2',
+			'sinh', 'cosh', 'tanh', 'setjmp', 'longjmp', 'asin', 'acos', 'atan', 'atan2',
+			'va_start', 'va_arg', 'va_end', 'offsetof', 'sizeof', 'fopen', 'freopen',
+			'fflush', 'fclose', 'remove', 'rename', 'tmpfile', 'tmpname', 'setvbuf',
+			'setbuf', 'vfprintf', 'vprintf', 'vsprintf', 'fscanf', 'scanf', 'sscanf',
+			'fgetc', 'fgets', 'fputc', 'fputs', 'getc', 'getchar', 'gets', 'putc',
+			'putchar', 'puts', 'ungetc', 'fread', 'fwrite', 'fseek', 'ftell', 'rewind',
+			'fgetpos', 'fsetpos', 'clearerr', 'feof', 'ferror', 'perror', 'abs', 'labs',
+			'div', 'ldiv', 'atof', 'atoi', 'atol', 'strtod', 'strtol', 'strtoul', 'calloc',
+			'malloc', 'realloc', 'free', 'abort', 'exit', 'atexit', 'system', 'getenv',
+			'bsearch', 'qsort', 'rand', 'srand', 'strcpy', 'strncpy', 'strcat', 'strncat',
+			'strcmp', 'strncmp', 'strcoll', 'strchr', 'strrchr', 'strspn', 'strcspn',
+			'strpbrk', 'strstr', 'strlen', 'strerror', 'strtok', 'strxfrm', 'memcpy',
+			'memmove', 'memcmp', 'memchr', 'memset', 'clock', 'time', 'difftime', 'mktime',
+			'asctime', 'ctime', 'gmtime', 'localtime', 'strftime'
+			),
+		4 => array(
+			'auto', 'bool', 'char', 'const', 'double', 'float', 'int', 'long', 'longint',
+			'register', 'short', 'shortint', 'signed', 'static', 'struct',
+			'typedef', 'union', 'unsigned', 'void', 'volatile', 'extern', 'jmp_buf',
+			'signal', 'raise', 'va_list', 'ptrdiff_t', 'size_t', 'FILE', 'fpos_t',
+			'div_t', 'ldiv_t', 'clock_t', 'time_t', 'tm',
+			),
+		5 => array(
+			'QAbstractButton','QDir','QIntValidator','QRegExpValidator','QTabWidget','QAbstractEventDispatcher',
+			'QDirectPainter','QIODevice','QRegion','QTcpServer','QAbstractExtensionFactory','QDirModel',
+			'QItemDelegate','QResizeEvent','QTcpSocket','QAbstractExtensionManager','QDockWidget',
+			'QItemEditorCreatorBase','QResource','QTemporaryFile','QAbstractFileEngine','QDomAttr',
+			'QItemEditorFactory','QRubberBand','QTestEventList','QAbstractFileEngineHandler','QDomCDATASection',
+			'QItemSelection','QScreen','QTextBlock','QAbstractFormBuilder','QDomCharacterData','QItemSelectionModel',
+			'QScreenCursor','QTextBlockFormat','QAbstractGraphicsShapeItem','QDomComment','QItemSelectionRange',
+			'QScreenDriverFactory','QTextBlockGroup','QAbstractItemDelegate','QDomDocument','QKbdDriverFactory',
+			'QScreenDriverPlugin','QTextBlockUserData','QAbstractItemModel','QDomDocumentFragment','QKbdDriverPlugin',
+			'QScrollArea','QTextBrowser','QAbstractItemView','QDomDocumentType','QKeyEvent','QScrollBar',
+			'QTextCharFormat','QAbstractListModel','QDomElement','QKeySequence','QSemaphore','QTextCodec',
+			'QAbstractPrintDialog','QDomEntity','QLabel','QSessionManager','QTextCodecPlugin','QAbstractProxyModel',
+			'QDomEntityReference','QLatin1Char','QSet','QTextCursor','QAbstractScrollArea','QDomImplementation',
+			'QLatin1String','QSetIterator','QTextDecoder','QAbstractSlider','QDomNamedNodeMap','QLayout','QSettings',
+			'QTextDocument','QAbstractSocket','QDomNode','QLayoutItem','QSharedData','QTextDocumentFragment',
+			'QAbstractSpinBox','QDomNodeList','QLCDNumber','QSharedDataPointer','QTextEdit','QAbstractTableModel',
+			'QDomNotation','QLibrary','QShortcut','QTextEncoder','QAbstractTextDocumentLayout',
+			'QDomProcessingInstruction','QLibraryInfo','QShortcutEvent','QTextFormat','QAccessible','QDomText',
+			'QLine','QShowEvent','QTextFragment','QAccessibleBridge','QDoubleSpinBox','QLinearGradient',
+			'QSignalMapper','QTextFrame','QAccessibleBridgePlugin','QDoubleValidator','QLineEdit','QSignalSpy',
+			'QTextFrameFormat','QAccessibleEvent','QDrag','QLineF','QSize','QTextImageFormat','QAccessibleInterface',
+			'QDragEnterEvent','QLinkedList','QSizeF','QTextInlineObject','QAccessibleObject','QDragLeaveEvent',
+			'QLinkedListIterator','QSizeGrip','QTextLayout','QAccessiblePlugin','QDragMoveEvent','QLinuxFbScreen',
+			'QSizePolicy','QTextLength','QAccessibleWidget','QDropEvent','QList','QSlider','QTextLine','QAction',
+			'QDynamicPropertyChangeEvent','QListIterator','QSocketNotifier','QTextList','QActionEvent','QErrorMessage',
+			'QListView','QSortFilterProxyModel','QTextListFormat','QActionGroup','QEvent','QListWidget','QSound',
+			'QTextObject','QApplication','QEventLoop','QListWidgetItem','QSpacerItem','QTextOption','QAssistantClient',
+			'QExtensionFactory','QLocale','QSpinBox','QTextStream','QAxAggregated','QExtensionManager',
+			'QMacPasteboardMime','QSplashScreen','QTextTable','QAxBase','QFile','QMacStyle','QSplitter',
+			'QTextTableCell','QAxBindable','QFileDialog','QMainWindow','QSplitterHandle','QTextTableFormat',
+			'QAxFactory','QFileIconProvider','QMap','QSqlDatabase','QThread','QAxObject','QFileInfo','QMapIterator',
+			'QSqlDriver','QThreadStorage','QAxScript','QFileOpenEvent','QMatrix','QSqlDriverCreator','QTime',
+			'QAxScriptEngine','QFileSystemWatcher','QMenu','QSqlDriverCreatorBase','QTimeEdit','QAxScriptManager',
+			'QFlag','QMenuBar','QSqlDriverPlugin','QTimeLine','QAxWidget','QFlags','QMessageBox','QSqlError','QTimer',
+			'QBasicTimer','QFocusEvent','QMetaClassInfo','QSqlField','QTimerEvent','QBitArray','QFocusFrame',
+			'QMetaEnum','QSqlIndex','QToolBar','QBitmap','QFont','QMetaMethod','QSqlQuery','QToolBox','QBoxLayout',
+			'QFontComboBox','QMetaObject','QSqlQueryModel','QToolButton','QBrush','QFontDatabase','QMetaProperty',
+			'QSqlRecord','QToolTip','QBuffer','QFontDialog','QMetaType','QSqlRelation','QTransformedScreen',
+			'QButtonGroup','QFontInfo','QMimeData','QSqlRelationalDelegate','QTranslator','QByteArray','QFontMetrics',
+			'QMimeSource','QSqlRelationalTableModel','QTreeView','QByteArrayMatcher','QFontMetricsF','QModelIndex',
+			'QSqlResult','QTreeWidget','QCache','QFormBuilder','QMotifStyle','QSqlTableModel','QTreeWidgetItem',
+			'QCalendarWidget','QFrame','QMouseDriverFactory','QStack','QTreeWidgetItemIterator','QCDEStyle',
+			'QFSFileEngine','QMouseDriverPlugin','QStackedLayout','QUdpSocket','QChar','QFtp','QMouseEvent',
+			'QStackedWidget','QUiLoader','QCheckBox','QGenericArgument','QMoveEvent','QStandardItem','QUndoCommand',
+			'QChildEvent','QGenericReturnArgument','QMovie','QStandardItemEditorCreator','QUndoGroup',
+			'QCleanlooksStyle','QGLColormap','QMultiHash','QStandardItemModel','QUndoStack','QClipboard',
+			'QGLContext','QMultiMap','QStatusBar','QUndoView','QCloseEvent','QGLFormat','QMutableHashIterator',
+			'QStatusTipEvent','QUrl','QColor','QGLFramebufferObject','QMutableLinkedListIterator','QString',
+			'QUrlInfo','QColorDialog','QGLPixelBuffer','QMutableListIterator','QStringList','QUuid','QColormap',
+			'QGLWidget','QMutableMapIterator','QStringListModel','QValidator','QComboBox','QGradient',
+			'QMutableSetIterator','QStringMatcher','QVariant','QCommonStyle','QGraphicsEllipseItem',
+			'QMutableVectorIterator','QStyle','QVarLengthArray','QCompleter','QGraphicsItem','QMutex',
+			'QStyleFactory','QVBoxLayout','QConicalGradient','QGraphicsItemAnimation','QMutexLocker',
+			'QStyleHintReturn','QVector','QContextMenuEvent','QGraphicsItemGroup','QNetworkAddressEntry',
+			'QStyleHintReturnMask','QVectorIterator','QCopChannel','QGraphicsLineItem','QNetworkInterface',
+			'QStyleOption','QVFbScreen','QCoreApplication','QGraphicsPathItem','QNetworkProxy','QStyleOptionButton',
+			'QVNCScreen','QCursor','QGraphicsPixmapItem','QObject','QStyleOptionComboBox','QWaitCondition',
+			'QCustomRasterPaintDevice','QGraphicsPolygonItem','QObjectCleanupHandler','QStyleOptionComplex',
+			'QWhatsThis','QDataStream','QGraphicsRectItem','QPageSetupDialog','QStyleOptionDockWidget',
+			'QWhatsThisClickedEvent','QDataWidgetMapper','QGraphicsScene','QPaintDevice','QStyleOptionFocusRect',
+			'QWheelEvent','QDate','QGraphicsSceneContextMenuEvent','QPaintEngine','QStyleOptionFrame','QWidget',
+			'QDateEdit','QGraphicsSceneEvent','QPaintEngineState','QStyleOptionFrameV2','QWidgetAction','QDateTime',
+			'QGraphicsSceneHoverEvent','QPainter','QStyleOptionGraphicsItem','QWidgetItem','QDateTimeEdit',
+			'QGraphicsSceneMouseEvent','QPainterPath','QStyleOptionGroupBox','QWindowsMime','QDBusAbstractAdaptor',
+			'QGraphicsSceneWheelEvent','QPainterPathStroker','QStyleOptionHeader','QWindowsStyle',
+			'QDBusAbstractInterface','QGraphicsSimpleTextItem','QPaintEvent','QStyleOptionMenuItem',
+			'QWindowStateChangeEvent','QDBusArgument','QGraphicsSvgItem','QPair','QStyleOptionProgressBar',
+			'QWindowsXPStyle','QDBusConnection','QGraphicsTextItem','QPalette','QStyleOptionProgressBarV2',
+			'QWorkspace','QDBusConnectionInterface','QGraphicsView','QPen','QStyleOptionQ3DockWindow','QWriteLocker',
+			'QDBusError','QGridLayout','QPersistentModelIndex','QStyleOptionQ3ListView','QWSCalibratedMouseHandler',
+			'QDBusInterface','QGroupBox','QPicture','QStyleOptionQ3ListViewItem','QWSClient','QDBusMessage','QHash',
+			'QPictureFormatPlugin','QStyleOptionRubberBand','QWSEmbedWidget','QDBusObjectPath','QHashIterator',
+			'QPictureIO','QStyleOptionSizeGrip','QWSEvent','QDBusReply','QHBoxLayout','QPixmap','QStyleOptionSlider',
+			'QWSInputMethod','QDBusServer','QHeaderView','QPixmapCache','QStyleOptionSpinBox','QWSKeyboardHandler',
+			'QDBusSignature','QHelpEvent','QPlastiqueStyle','QStyleOptionTab','QWSMouseHandler','QDBusVariant',
+			'QHideEvent','QPluginLoader','QStyleOptionTabBarBase','QWSPointerCalibrationData','QDecoration',
+			'QHostAddress','QPoint','QStyleOptionTabV2','QWSScreenSaver','QDecorationFactory','QHostInfo','QPointer',
+			'QStyleOptionTabWidgetFrame','QWSServer','QDecorationPlugin','QHoverEvent','QPointF','QStyleOptionTitleBar',
+			'QWSTslibMouseHandler','QDesignerActionEditorInterface','QHttp','QPolygon','QStyleOptionToolBar','QWSWindow',
+			'QDesignerContainerExtension','QHttpHeader','QPolygonF','QStyleOptionToolBox','QWSWindowSurface',
+			'QDesignerCustomWidgetCollectionInterface','QHttpRequestHeader','QPrintDialog','QStyleOptionToolButton',
+			'QX11EmbedContainer','QDesignerCustomWidgetInterface','QHttpResponseHeader','QPrintEngine',
+			'QStyleOptionViewItem','QX11EmbedWidget','QDesignerFormEditorInterface','QIcon','QPrinter',
+			'QStyleOptionViewItemV2','QX11Info','QDesignerFormWindowCursorInterface','QIconDragEvent','QProcess',
+			'QStylePainter','QXmlAttributes','QDesignerFormWindowInterface','QIconEngine','QProgressBar',
+			'QStylePlugin','QXmlContentHandler','QDesignerFormWindowManagerInterface','QIconEnginePlugin',
+			'QProgressDialog','QSvgRenderer','QXmlDeclHandler','QDesignerMemberSheetExtension','QImage',
+			'QProxyModel','QSvgWidget','QXmlDefaultHandler','QDesignerObjectInspectorInterface','QImageIOHandler',
+			'QPushButton','QSyntaxHighlighter','QXmlDTDHandler','QDesignerPropertyEditorInterface','QImageIOPlugin',
+			'QQueue','QSysInfo','QXmlEntityResolver','QDesignerPropertySheetExtension','QImageReader','QRadialGradient',
+			'QSystemLocale','QXmlErrorHandler','QDesignerTaskMenuExtension','QImageWriter','QRadioButton',
+			'QSystemTrayIcon','QXmlInputSource','QDesignerWidgetBoxInterface','QInputContext','QRasterPaintEngine',
+			'QTabBar','QXmlLexicalHandler','QDesktopServices','QInputContextFactory','QReadLocker','QTabletEvent',
+			'QXmlLocator','QDesktopWidget','QInputContextPlugin','QReadWriteLock','QTableView','QXmlNamespaceSupport',
+			'QDial','QInputDialog','QRect','QTableWidget','QXmlParseException','QDialog','QInputEvent','QRectF',
+			'QTableWidgetItem','QXmlReader','QDialogButtonBox','QInputMethodEvent','QRegExp',
+			'QTableWidgetSelectionRange','QXmlSimpleReader'
+			)
+		),
+	'SYMBOLS' => array(
+		'(', ')', '{', '}', '[', ']', '=', '+', '-', '*', '/', '!', '%', '^', '&', ':'
+		),
+	'CASE_SENSITIVE' => array(
+		GESHI_COMMENTS => true,
+		1 => false,
+		2 => false,
+		3 => false,
+		4 => false,
+		5 => true,
+		),
+	'STYLES' => array(
+		'KEYWORDS' => array(
+			1 => 'color: #0000ff;',
+			2 => 'color: #0000ff;',
+			3 => 'color: #0000dd;',
+			4 => 'color: #0000ff;',
+			5 => 'color: #0000ee;'
+			),
+		'COMMENTS' => array(
+			1 => 'color: #ff0000;',
+			2 => 'color: #339900;',
+			'MULTI' => 'color: #ff0000; font-style: italic;'
+			),
+		'ESCAPE_CHAR' => array(
+			0 => 'color: #666666; font-weight: bold;'
+			),
+		'BRACKETS' => array(
+			0 => 'color: #000000;'
+			),
+		'STRINGS' => array(
+			0 => 'color: #666666;'
+			),
+		'NUMBERS' => array(
+			0 => 'color: #0000dd;'
+			),
+		'METHODS' => array(
+			1 => 'color: #00eeff;',
+			2 => 'color: #00eeff;'
+			),
+		'SYMBOLS' => array(
+			0 => 'color: #000000;'
+			),
+		'REGEXPS' => array(
+			),
+		'SCRIPT' => array(
+			)
+		),
+	'URLS' => array(
+		1 => '',
+		2 => '',
+		3 => '',
+		4 => '',
+		5 => 'http://doc.trolltech.com/4.2/{FNAME}.html'
+		),
+	'OOLANG' => true,
+	'OBJECT_SPLITTERS' => array(
+		1 => '.',
+		2 => '::'
+		),
+	'REGEXPS' => array(
+		),
+	'STRICT_MODE_APPLIES' => GESHI_NEVER,
+	'SCRIPT_DELIMITERS' => array(
+		),
+	'HIGHLIGHT_STRICT_BLOCK' => array(
+        ),
+    'TAB_WIDTH' => 4
+);
+
+?>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/plugins/geshi/geshi/cpp.php	Sun Feb 10 18:10:52 2008 -0500
@@ -0,0 +1,171 @@
+<?php
+/*************************************************************************************
+ * cpp.php
+ * -------
+ * Author: Dennis Bayer (Dennis.Bayer@mnifh-giessen.de)
+ * Contributors:
+ *  - M. Uli Kusterer (witness.of.teachtext@gmx.net)
+ *  - Jack Lloyd (lloyd@randombit.net)
+ * Copyright: (c) 2004 Dennis Bayer, Nigel McNie (http://qbnz.com/highlighter)
+ * Release Version: 1.0.7.20
+ * Date Started: 2004/09/27
+ *
+ * C++ language file for GeSHi.
+ *
+ * CHANGES
+ * -------
+ * 2004/XX/XX (1.0.2)
+ *  -  Added several new keywords (Jack Lloyd)
+ * 2004/11/27 (1.0.1)
+ *  -  Added StdCLib function and constant names, changed color scheme to
+ *     a cleaner one. (M. Uli Kusterer)
+ *  -  Added support for multiple object splitters
+ * 2004/10/27 (1.0.0)
+ *  -  First Release
+ *
+ * TODO (updated 2004/11/27)
+ * -------------------------
+ *
+ *************************************************************************************
+ *
+ *     This file is part of GeSHi.
+ *
+ *   GeSHi is free software; you can 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.
+ *
+ *   GeSHi is distributed in the hope that it will be useful,
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *   GNU General Public License for more details.
+ *
+ *   You should have received a copy of the GNU General Public License
+ *   along with GeSHi; if not, write to the Free Software
+ *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
+ ************************************************************************************/
+
+$language_data = array (
+	'LANG_NAME' => 'C++',
+	'COMMENT_SINGLE' => array(1 => '//', 2 => '#'),
+	'COMMENT_MULTI' => array('/*' => '*/'),
+	'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+	'QUOTEMARKS' => array("'", '"'),
+	'ESCAPE_CHAR' => '\\',
+	'KEYWORDS' => array(
+		1 => array(
+			'case', 'continue', 'default', 'do', 'else', 'for', 'goto', 'if', 'return',
+			'switch', 'while'
+			),
+		2 => array(
+			'NULL', 'false', 'break', 'true', 'enum', 'errno', 'EDOM',
+			'ERANGE', 'FLT_RADIX', 'FLT_ROUNDS', 'FLT_DIG', 'DBL_DIG', 'LDBL_DIG',
+			'FLT_EPSILON', 'DBL_EPSILON', 'LDBL_EPSILON', 'FLT_MANT_DIG', 'DBL_MANT_DIG',
+			'LDBL_MANT_DIG', 'FLT_MAX', 'DBL_MAX', 'LDBL_MAX', 'FLT_MAX_EXP', 'DBL_MAX_EXP',
+			'LDBL_MAX_EXP', 'FLT_MIN', 'DBL_MIN', 'LDBL_MIN', 'FLT_MIN_EXP', 'DBL_MIN_EXP',
+			'LDBL_MIN_EXP', 'CHAR_BIT', 'CHAR_MAX', 'CHAR_MIN', 'SCHAR_MAX', 'SCHAR_MIN',
+			'UCHAR_MAX', 'SHRT_MAX', 'SHRT_MIN', 'USHRT_MAX', 'INT_MAX', 'INT_MIN',
+			'UINT_MAX', 'LONG_MAX', 'LONG_MIN', 'ULONG_MAX', 'HUGE_VAL', 'SIGABRT',
+			'SIGFPE', 'SIGILL', 'SIGINT', 'SIGSEGV', 'SIGTERM', 'SIG_DFL', 'SIG_ERR',
+			'SIG_IGN', 'BUFSIZ', 'EOF', 'FILENAME_MAX', 'FOPEN_MAX', 'L_tmpnam', 'NULL',
+			'SEEK_CUR', 'SEEK_END', 'SEEK_SET', 'TMP_MAX', 'stdin', 'stdout', 'stderr',
+			'EXIT_FAILURE', 'EXIT_SUCCESS', 'RAND_MAX', 'CLOCKS_PER_SEC',
+			'virtual', 'public', 'private', 'protected', 'template', 'using', 'namespace',
+			'try', 'catch', 'inline', 'dynamic_cast', 'const_cast', 'reinterpret_cast',
+			'static_cast', 'explicit', 'friend', 'wchar_t', 'typename', 'typeid', 'class'
+			),
+		3 => array(
+			'cin', 'cerr', 'clog', 'cout', 'delete', 'new', 'this',
+			'printf', 'fprintf', 'snprintf', 'sprintf', 'assert',
+			'isalnum', 'isalpha', 'isdigit', 'iscntrl', 'isgraph', 'islower', 'isprint',
+			'ispunct', 'isspace', 'ispunct', 'isupper', 'isxdigit', 'tolower', 'toupper',
+			'exp', 'log', 'log10', 'pow', 'sqrt', 'ceil', 'floor', 'fabs', 'ldexp',
+			'frexp', 'modf', 'fmod', 'sin', 'cos', 'tan', 'asin', 'acos', 'atan', 'atan2',
+			'sinh', 'cosh', 'tanh', 'setjmp', 'longjmp', 'asin', 'acos', 'atan', 'atan2',
+			'va_start', 'va_arg', 'va_end', 'offsetof', 'sizeof', 'fopen', 'freopen',
+			'fflush', 'fclose', 'remove', 'rename', 'tmpfile', 'tmpname', 'setvbuf',
+			'setbuf', 'vfprintf', 'vprintf', 'vsprintf', 'fscanf', 'scanf', 'sscanf',
+			'fgetc', 'fgets', 'fputc', 'fputs', 'getc', 'getchar', 'gets', 'putc',
+			'putchar', 'puts', 'ungetc', 'fread', 'fwrite', 'fseek', 'ftell', 'rewind',
+			'fgetpos', 'fsetpos', 'clearerr', 'feof', 'ferror', 'perror', 'abs', 'labs',
+			'div', 'ldiv', 'atof', 'atoi', 'atol', 'strtod', 'strtol', 'strtoul', 'calloc',
+			'malloc', 'realloc', 'free', 'abort', 'exit', 'atexit', 'system', 'getenv',
+			'bsearch', 'qsort', 'rand', 'srand', 'strcpy', 'strncpy', 'strcat', 'strncat',
+			'strcmp', 'strncmp', 'strcoll', 'strchr', 'strrchr', 'strspn', 'strcspn',
+			'strpbrk', 'strstr', 'strlen', 'strerror', 'strtok', 'strxfrm', 'memcpy',
+			'memmove', 'memcmp', 'memchr', 'memset', 'clock', 'time', 'difftime', 'mktime',
+			'asctime', 'ctime', 'gmtime', 'localtime', 'strftime'
+			),
+		4 => array(
+			'auto', 'bool', 'char', 'const', 'double', 'float', 'int', 'long', 'longint',
+			'register', 'short', 'shortint', 'signed', 'static', 'struct',
+			'typedef', 'union', 'unsigned', 'void', 'volatile', 'extern', 'jmp_buf',
+			'signal', 'raise', 'va_list', 'ptrdiff_t', 'size_t', 'FILE', 'fpos_t',
+			'div_t', 'ldiv_t', 'clock_t', 'time_t', 'tm',
+			),
+		),
+	'SYMBOLS' => array(
+		'(', ')', '{', '}', '[', ']', '=', '+', '-', '*', '/', '!', '%', '^', '&', ':'
+		),
+	'CASE_SENSITIVE' => array(
+		GESHI_COMMENTS => true,
+		1 => false,
+		2 => false,
+		3 => false,
+		4 => false,
+		),
+	'STYLES' => array(
+		'KEYWORDS' => array(
+			1 => 'color: #0000ff;',
+			2 => 'color: #0000ff;',
+			3 => 'color: #0000dd;',
+			4 => 'color: #0000ff;'
+			),
+		'COMMENTS' => array(
+			1 => 'color: #ff0000;',
+			2 => 'color: #339900;',
+			'MULTI' => 'color: #ff0000; font-style: italic;'
+			),
+		'ESCAPE_CHAR' => array(
+			0 => 'color: #666666; font-weight: bold;'
+			),
+		'BRACKETS' => array(
+			0 => 'color: #000000;'
+			),
+		'STRINGS' => array(
+			0 => 'color: #666666;'
+			),
+		'NUMBERS' => array(
+			0 => 'color: #0000dd;'
+			),
+		'METHODS' => array(
+			1 => 'color: #00eeff;',
+			2 => 'color: #00eeff;'
+			),
+		'SYMBOLS' => array(
+			0 => 'color: #000000;'
+			),
+		'REGEXPS' => array(
+			),
+		'SCRIPT' => array(
+			)
+		),
+	'URLS' => array(
+		),
+	'OOLANG' => true,
+	'OBJECT_SPLITTERS' => array(
+		1 => '.',
+		2 => '::'
+		),
+	'REGEXPS' => array(
+		),
+	'STRICT_MODE_APPLIES' => GESHI_NEVER,
+	'SCRIPT_DELIMITERS' => array(
+		),
+	'HIGHLIGHT_STRICT_BLOCK' => array(
+        ),
+    'TAB_WIDTH' => 4
+);
+
+?>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/plugins/geshi/geshi/csharp.php	Sun Feb 10 18:10:52 2008 -0500
@@ -0,0 +1,232 @@
+<?php
+/*************************************************************************************
+ * csharp.php
+ * ----------
+ * Author: Alan Juden (alan@judenware.org)
+ * Copyright: (c) 2004 Alan Juden, Nigel McNie (http://qbnz.com/highlighter/)
+ * Release Version: 1.0.7.20
+ * Date Started: 2004/06/04
+ *
+ * C# language file for GeSHi.
+ *
+ * CHANGES
+ * -------
+ * 2005/01/05 (1.0.1)
+ *  -  Used hardquote support for @"..." strings (Cliff Stanford)
+ * 2004/11/27 (1.0.0)
+ *  -  Initial release
+ *
+ * TODO (updated 2004/11/27)
+ * -------------------------
+ *
+ *************************************************************************************
+ *
+ *     This file is part of GeSHi.
+ *
+ *   GeSHi is free software; you can 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.
+ *
+ *   GeSHi is distributed in the hope that it will be useful,
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *   GNU General Public License for more details.
+ *
+ *   You should have received a copy of the GNU General Public License
+ *   along with GeSHi; if not, write to the Free Software
+ *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
+ ************************************************************************************/
+
+ $language_data = array (
+	'LANG_NAME' => 'C#',
+	'COMMENT_SINGLE' => array(1 => '//', 2 => '#'),
+	'COMMENT_MULTI' => array('/*' => '*/'),
+	'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+	'QUOTEMARKS' => array("'", '"'),
+    'HARDQUOTE' => array('@"', '"'),
+    'HARDESCAPE' => array('""'),
+	'ESCAPE_CHAR' => '\\',
+	'KEYWORDS' => array(
+		1 => array(
+			'as', 'auto', 'base', 'break', 'case', 'catch', 'const', 'continue',
+			'default', 'do', 'else', 'event', 'explicit', 'extern', 'false',
+			'finally', 'fixed', 'for', 'foreach', 'goto', 'if', 'implicit',
+			'in', 'internal', 'lock', 'namespace', 'null', 'operator', 'out',
+			'override', 'params', 'private', 'protected', 'public', 'readonly',
+			'ref', 'return', 'sealed', 'stackalloc', 'static', 'switch', 'this',
+			'throw', 'true', 'try', 'unsafe', 'using', 'virtual', 'void', 'while'
+			),
+		2 => array(
+			'#elif', '#endif', '#endregion', '#else', '#error', '#define', '#if',
+			'#line', '#region', '#undef', '#warning'
+			),
+		3 => array(
+			'checked', 'is', 'new', 'sizeof', 'typeof', 'unchecked'
+			),
+		4 => array(
+			'bool', 'byte', 'char', 'class', 'decimal', 'delegate', 'double',
+			'enum', 'float', 'int', 'interface', 'long', 'object', 'sbyte',
+			'short', 'string', 'struct', 'uint', 'ulong', 'ushort'
+			),
+		5 => array(
+			'Microsoft.Win32',
+			'System',
+			'System.CodeDOM',
+			'System.CodeDOM.Compiler',
+			'System.Collections',
+			'System.Collections.Bases',
+			'System.ComponentModel',
+			'System.ComponentModel.Design',
+			'System.ComponentModel.Design.CodeModel',
+			'System.Configuration',
+			'System.Configuration.Assemblies',
+			'System.Configuration.Core',
+			'System.Configuration.Install',
+			'System.Configuration.Interceptors',
+			'System.Configuration.Schema',
+			'System.Configuration.Web',
+			'System.Core',
+			'System.Data',
+			'System.Data.ADO',
+			'System.Data.Design',
+			'System.Data.Internal',
+			'System.Data.SQL',
+			'System.Data.SQLTypes',
+			'System.Data.XML',
+			'System.Data.XML.DOM',
+			'System.Data.XML.XPath',
+			'System.Data.XML.XSLT',
+			'System.Diagnostics',
+			'System.Diagnostics.SymbolStore',
+			'System.DirectoryServices',
+			'System.Drawing',
+			'System.Drawing.Design',
+			'System.Drawing.Drawing2D',
+			'System.Drawing.Imaging',
+			'System.Drawing.Printing',
+			'System.Drawing.Text',
+			'System.Globalization',
+			'System.IO',
+			'System.IO.IsolatedStorage',
+			'System.Messaging',
+			'System.Net',
+			'System.Net.Sockets',
+			'System.NewXml',
+			'System.NewXml.XPath',
+			'System.NewXml.Xsl',
+			'System.Reflection',
+			'System.Reflection.Emit',
+			'System.Resources',
+			'System.Runtime.InteropServices',
+			'System.Runtime.InteropServices.Expando',
+			'System.Runtime.Remoting',
+			'System.Runtime.Serialization',
+			'System.Runtime.Serialization.Formatters',
+			'System.Runtime.Serialization.Formatters.Binary',
+			'System.Security',
+			'System.Security.Cryptography',
+			'System.Security.Cryptography.X509Certificates',
+			'System.Security.Permissions',
+			'System.Security.Policy',
+			'System.Security.Principal',
+			'System.ServiceProcess',
+			'System.Text',
+			'System.Text.RegularExpressions',
+			'System.Threading',
+			'System.Timers',
+			'System.Web',
+			'System.Web.Caching',
+			'System.Web.Configuration',
+			'System.Web.Security',
+			'System.Web.Services',
+			'System.Web.Services.Description',
+			'System.Web.Services.Discovery',
+			'System.Web.Services.Protocols',
+			'System.Web.UI',
+			'System.Web.UI.Design',
+			'System.Web.UI.Design.WebControls',
+			'System.Web.UI.Design.WebControls.ListControls',
+			'System.Web.UI.HtmlControls',
+			'System.Web.UI.WebControls',
+			'System.WinForms',
+			'System.WinForms.ComponentModel',
+			'System.WinForms.Design',
+			'System.Xml',
+			'System.Xml.Serialization',
+			'System.Xml.Serialization.Code',
+			'System.Xml.Serialization.Schema'
+			),
+		),
+	'SYMBOLS' => array(
+		'+', '-', '*', '?', '=', '/', '%', '&', '>', '<', '^', '!', '|', ':',
+		'(', ')', '{', '}', '[', ']'
+		),
+	'CASE_SENSITIVE' => array(
+		GESHI_COMMENTS => true,
+		1 => false,
+		2 => false,
+		3 => false,
+		4 => false,
+		5 => false,
+		),
+	'STYLES' => array(
+		'KEYWORDS' => array(
+			1 => 'color: #0600FF;',
+			2 => 'color: #FF8000; font-weight: bold;',
+			3 => 'color: #008000;',
+			4 => 'color: #FF0000;',
+			5 => 'color: #000000;'
+			),
+		'COMMENTS' => array(
+			1 => 'color: #008080; font-style: italic;',
+			2 => 'color: #008080;',
+			'MULTI' => 'color: #008080; font-style: italic;'
+			),
+		'ESCAPE_CHAR' => array(
+			0 => 'color: #008080; font-weight: bold;'
+			),
+		'BRACKETS' => array(
+			0 => 'color: #000000;'
+			),
+		'STRINGS' => array(
+			0 => 'color: #808080;'
+			),
+		'NUMBERS' => array(
+			0 => 'color: #FF0000;'
+			),
+		'METHODS' => array(
+			1 => 'color: #0000FF;',
+			2 => 'color: #0000FF;'
+			),
+		'SYMBOLS' => array(
+			0 => 'color: #008000;'
+			),
+		'REGEXPS' => array(
+			),
+		'SCRIPT' => array(
+			)
+		),
+	'URLS' => array(
+		1 => '',
+		2 => '',
+		3 => 'http://www.google.com/search?q={FNAME}+msdn.microsoft.com',
+		4 => ''
+		),
+	'OOLANG' => true,
+	'OBJECT_SPLITTERS' => array(
+		1 => '.',
+		2 => '::'
+		),
+	'REGEXPS' => array(
+		),
+	'STRICT_MODE_APPLIES' => GESHI_NEVER,
+	'SCRIPT_DELIMITERS' => array(
+		),
+	'HIGHLIGHT_STRICT_BLOCK' => array(
+        ),
+    'TAB_WIDTH' => 4
+);
+
+?>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/plugins/geshi/geshi/css.php	Sun Feb 10 18:10:52 2008 -0500
@@ -0,0 +1,208 @@
+<?php
+/*************************************************************************************
+ * css.php
+ * -------
+ * Author: Nigel McNie (nigel@geshi.org)
+ * Copyright: (c) 2004 Nigel McNie (http://qbnz.com/highlighter/)
+ * Release Version: 1.0.7.20
+ * Date Started: 2004/06/18
+ *
+ * CSS language file for GeSHi.
+ *
+ * CHANGES
+ * -------
+ * 2004/11/27 (1.0.3)
+ *  -  Added support for multiple object splitters
+ * 2004/10/27 (1.0.2)
+ *   -  Changed regexps to catch "-" symbols
+ *   -  Added support for URLs
+ * 2004/08/05 (1.0.1)
+ *   -  Added support for symbols
+ * 2004/07/14 (1.0.0)
+ *   -  First Release
+ *
+ * TODO (updated 2004/11/27)
+ * -------------------------
+ * * Improve or drop regexps for class/id/psuedoclass highlighting
+ * * Re-look at keywords - possibly to make several CSS language
+ *   files, all with different versions of CSS in them
+ *
+ *************************************************************************************
+ *
+ *     This file is part of GeSHi.
+ *
+ *   GeSHi is free software; you can 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.
+ *
+ *   GeSHi is distributed in the hope that it will be useful,
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *   GNU General Public License for more details.
+ *
+ *   You should have received a copy of the GNU General Public License
+ *   along with GeSHi; if not, write to the Free Software
+ *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
+ ************************************************************************************/
+
+
+$language_data = array (
+	'LANG_NAME' => 'CSS',
+	'COMMENT_SINGLE' => array(1 => '@'),
+	'COMMENT_MULTI' => array('/*' => '*/'),
+	'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+	'QUOTEMARKS' => array('"', "'"),
+	'ESCAPE_CHAR' => '\\',
+	'KEYWORDS' => array(
+		1 => array(
+            'aqua', 'azimuth', 'background-attachment', 'background-color',
+            'background-image', 'background-position', 'background-repeat',
+            'background', 'black', 'blue', 'border-bottom-color',
+            'border-bottom-style', 'border-bottom-width', 'border-left-color',
+            'border-left-style', 'border-left-width', 'border-right',
+            'border-right-color', 'border-right-style', 'border-right-width',
+            'border-top-color', 'border-top-style',
+            'border-top-width','border-bottom', 'border-collapse',
+            'border-left', 'border-width', 'border-color', 'border-spacing',
+            'border-style', 'border-top', 'border', 'caption-side', 'clear',
+            'clip', 'color', 'content', 'counter-increment', 'counter-reset',
+            'cue-after', 'cue-before', 'cue', 'cursor', 'direction', 'display',
+            'elevation', 'empty-cells', 'float', 'font-family', 'font-size',
+            'font-size-adjust', 'font-stretch', 'font-style', 'font-variant',
+            'font-weight', 'font', 'line-height', 'letter-spacing',
+            'list-style', 'list-style-image', 'list-style-position',
+            'list-style-type', 'margin-bottom', 'margin-left', 'margin-right',
+            'margin-top', 'margin', 'marker-offset', 'marks', 'max-height',
+            'max-width', 'min-height', 'min-width', 'orphans', 'outline',
+            'outline-color', 'outline-style', 'outline-width', 'overflow',
+            'padding-bottom', 'padding-left', 'padding-right', 'padding-top',
+            'padding', 'page', 'page-break-after', 'page-break-before',
+            'page-break-inside', 'pause-after', 'pause-before', 'pause',
+            'pitch', 'pitch-range', 'play-during', 'position', 'quotes',
+            'richness', 'right', 'size', 'speak-header', 'speak-numeral',
+            'speak-punctuation', 'speak', 'speech-rate', 'stress',
+            'table-layout', 'text-align', 'text-decoration', 'text-indent',
+            'text-shadow', 'text-transform', 'top', 'unicode-bidi',
+            'vertical-align', 'visibility', 'voice-family', 'volume',
+            'white-space', 'widows', 'width', 'word-spacing', 'z-index',
+            'bottom', 'left', 'height'
+        ),
+		2 => array(
+             'above', 'absolute', 'always', 'armenian', 'aural', 'auto',
+             'avoid', 'baseline', 'behind', 'below', 'bidi-override', 'blink',
+             'block', 'bold', 'bolder', 'both', 'capitalize', 'center-left',
+             'center-right', 'center', 'circle', 'cjk-ideographic',
+             'close-quote', 'collapse', 'condensed', 'continuous', 'crop',
+             'crosshair', 'cross', 'cursive', 'dashed', 'decimal-leading-zero',
+             'decimal', 'default', 'digits', 'disc', 'dotted', 'double',
+             'e-resize', 'embed', 'extra-condensed', 'extra-expanded',
+             'expanded', 'fantasy', 'far-left', 'far-right', 'faster', 'fast',
+             'fixed', 'fuchsia', 'georgian', 'gray', 'green', 'groove',
+             'hebrew', 'help', 'hidden', 'hide', 'higher', 'high',
+             'hiragana-iroha', 'hiragana', 'icon', 'inherit', 'inline-table',
+             'inline', 'inset', 'inside', 'invert', 'italic', 'justify',
+             'katakana-iroha', 'katakana', 'landscape', 'larger', 'large',
+             'left-side', 'leftwards', 'level', 'lighter', 'lime',
+             'line-through', 'list-item', 'loud', 'lower-alpha', 'lower-greek',
+             'lower-roman', 'lowercase', 'ltr', 'lower', 'low', 'maroon',
+             'medium', 'message-box', 'middle', 'mix', 'monospace', 'n-resize',
+             'narrower', 'navy', 'ne-resize', 'no-close-quote',
+             'no-open-quote', 'no-repeat', 'none', 'normal', 'nowrap',
+             'nw-resize', 'oblique', 'olive', 'once', 'open-quote', 'outset',
+             'outside', 'overline', 'pointer', 'portrait', 'purple', 'px',
+             'red', 'relative', 'repeat-x', 'repeat-y', 'repeat', 'rgb',
+             'ridge', 'right-side', 'rightwards', 's-resize', 'sans-serif',
+             'scroll', 'se-resize', 'semi-condensed', 'semi-expanded',
+             'separate', 'serif', 'show', 'silent', 'silver', 'slow', 'slower',
+             'small-caps', 'small-caption', 'smaller', 'soft', 'solid',
+             'spell-out', 'square', 'static', 'status-bar', 'super',
+             'sw-resize', 'table-caption', 'table-cell', 'table-column',
+             'table-column-group', 'table-footer-group', 'table-header-group',
+             'table-row', 'table-row-group', 'teal', 'text', 'text-bottom',
+             'text-top', 'thick', 'thin', 'transparent', 'ultra-condensed',
+             'ultra-expanded', 'underline', 'upper-alpha', 'upper-latin',
+             'upper-roman', 'uppercase', 'url', 'visible', 'w-resize', 'wait',
+             'white', 'wider', 'x-fast', 'x-high', 'x-large', 'x-loud',
+             'x-low', 'x-small', 'x-soft', 'xx-large', 'xx-small', 'yellow',
+             'yes'
+            )
+        ),
+	'SYMBOLS' => array(
+		'(', ')', '{', '}', ':', ';'
+		),
+	'CASE_SENSITIVE' => array(
+		GESHI_COMMENTS => false,
+		1 => true,
+		2 => true
+		),
+	'STYLES' => array(
+		'KEYWORDS' => array(
+			1 => 'color: #000000; font-weight: bold;',
+			2 => 'color: #993333;'
+			),
+		'COMMENTS' => array(
+			1 => 'color: #a1a100;',
+			'MULTI' => 'color: #808080; font-style: italic;'
+			),
+		'ESCAPE_CHAR' => array(
+			0 => 'color: #000099; font-weight: bold;'
+			),
+		'BRACKETS' => array(
+			0 => 'color: #66cc66;'
+			),
+		'STRINGS' => array(
+			0 => 'color: #ff0000;'
+			),
+		'NUMBERS' => array(
+			0 => 'color: #cc66cc;'
+			),
+		'METHODS' => array(
+			),
+		'SYMBOLS' => array(
+			0 => 'color: #66cc66;'
+			),
+		'SCRIPT' => array(
+			),
+		'REGEXPS' => array(
+			0 => 'color: #cc00cc;',
+			1 => 'color: #6666ff;',
+			2 => 'color: #3333ff;',
+            3 => 'color: #933;',
+            4 => 'color: #933;',
+			)
+		),
+	'URLS' => array(
+		1 => '',
+		2 => ''
+		),
+	'OOLANG' => false,
+	'OBJECT_SPLITTERS' => array(
+		),
+	'REGEXPS' => array(
+		0 => '\#[a-zA-Z0-9\-_]+',
+		1 => '\.[a-zA-Z0-9\-_]+',
+        2 => ':[a-zA-Z0-9\-]+',
+        3 => '(\d+|(\d*\.\d+))(em|ex|pt|px|cm|in|%)',
+        4 => array(
+            GESHI_SEARCH    => '(url\()([^)]+)(\))',
+            GESHI_REPLACE   => '\\2',
+            GESHI_BEFORE    => '\\1',
+            GESHI_AFTER     => '\\3',
+            GESHI_MODIFIERS => 'si'
+        )
+		),
+	'STRICT_MODE_APPLIES' => GESHI_NEVER,
+	'SCRIPT_DELIMITERS' => array(
+		),
+	'HIGHLIGHT_STRICT_BLOCK' => array(
+        ),
+    'TAB_WIDTH' => 4
+);
+
+if (isset($this) && is_a($this, 'GeSHi')) {
+    $language_data['STYLES']['NUMBERS'][0] = $language_data['STYLES']['REGEXPS'][3];
+}
+
+?>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/plugins/geshi/geshi/d.php	Sun Feb 10 18:10:52 2008 -0500
@@ -0,0 +1,285 @@
+<?php
+/*************************************************************************************
+ * d.php
+ * -----
+ * Author: Thomas Kuehne (thomas@kuehne.cn)
+ * Copyright: (c) 2005 Thomas Kuehne (http://thomas.kuehne.cn/)
+ * Release Version: 1.0.7.20
+ * Date Started: 2005/04/22
+ *
+ * D language file for GeSHi.
+ *
+ * CHANGES
+ * -------
+ * 2005/04/22 (0.0.2)
+ *  -  added _d_* and sizeof/ptrdiff_t
+ * 2005/04/20 (0.0.1)
+ *  -  First release
+ *
+ * TODO (updated 2005/04/22)
+ * -------------------------
+ * * nested comments
+ * * correct handling of r"" and ``
+ * * correct handling of ... and ..
+ *
+ *************************************************************************************
+ *
+ *     This file is part of GeSHi.
+ *
+ *   GeSHi is free software; you can 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.
+ *
+ *   GeSHi is distributed in the hope that it will be useful,
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *   GNU General Public License for more details.
+ *
+ *   You should have received a copy of the GNU General Public License
+ *   along with GeSHi; if not, write to the Free Software
+ *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
+ ************************************************************************************/
+
+$language_data = array (
+    'LANG_NAME' => 'D',
+    'COMMENT_SINGLE' => array(1 => '//'),
+    'COMMENT_MULTI' => array('/*' => '*/'),
+    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+    'QUOTEMARKS' => array('"', "'", '`'),
+    'ESCAPE_CHAR' => '\\',
+    'KEYWORDS' => array(
+        1 => array(
+                'while',
+                'switch',
+                'if',
+                'foreach',
+                'for',
+                'goto',
+                'return',
+                'else',
+                'do',
+                'case',
+                'continue',
+                'break'
+            ),
+        2 => array(
+                'with',
+                'union',
+                'typeof',
+                'typeid',
+                'typedef',
+                'try',
+                'true',
+                'throw',
+                'this',
+                'super',
+                'pragma',
+                'out',
+                'null',
+                'new',
+                'module',
+                'mixin',
+                'is',
+                'invariant',
+                'interface',
+                'inout',
+                'in',
+                'import',
+                'function',
+                'finally',
+                'false',
+                'extern',
+                'delete',
+                'delegate',
+                'default',
+                'catch',
+                'cast',
+                'body',
+                'assert',
+                'asm',
+                'alias'
+            ),
+        3 => array(
+                'TypeInfo',
+                'SwitchError',
+                'OutOfMemoryException',
+                'Object',
+                'ModuleInfo',
+                'Interface',
+                'Exception',
+                'Error',
+                'ClassInfo',
+                'ArrayBoundsError',
+                'AssertError',
+                '_d_throw',
+                '_d_switch_ustring',
+                '_d_switch_string',
+                '_d_switch_dstring',
+                '_d_OutOfMemory',
+                '_d_obj_eq',
+                '_d_obj_cmp',
+                '_d_newclass',
+                '_d_newbitarray',
+                '_d_newarrayi',
+                '_d_new',
+                '_d_monitorrelease',
+                '_d_monitor_prolog',
+                '_d_monitor_handler',
+                '_d_monitorexit',
+                '_d_monitor_epilog',
+                '_d_monitorenter',
+                '_d_local_unwind',
+                '_d_isbaseof2',
+                '_d_isbaseof',
+                '_d_invariant',
+                '_d_interface_vtbl',
+                '_d_interface_cast',
+                '_d_framehandler',
+                '_d_exception_filter',
+                '_d_exception',
+                '_d_dynamic_cast',
+                '_d_delmemory',
+                '_d_delinterface',
+                '_d_delclass',
+                '_d_delarray',
+                '_d_criticalexit',
+                '_d_criticalenter',
+                '_d_create_exception_object',
+                '_d_callfinalizer',
+                '_d_arraysetlengthb',
+                '_d_arraysetlength',
+                '_d_arraysetbit2',
+                '_d_arraysetbit',
+                '_d_arraycopybit',
+                '_d_arraycopy',
+                '_d_arraycatn',
+                '_d_arraycatb',
+                '_d_arraycat',
+                '_d_arraycast_frombit',
+                '_d_arraycast',
+                '_d_arrayappendcb',
+                '_d_arrayappendc',
+                '_d_arrayappendb',
+                '_d_arrayappend',
+            ),
+        4 => array(
+                'wchar',
+                'volatile',
+                'void',
+                'version',
+                'ushort',
+                'unittest',
+                'ulong',
+                'uint',
+                'ucent',
+                'ubyte',
+                'template',
+                'struct',
+                'static',
+                'synchronized',
+                'size_t',
+                'short',
+                'real',
+                'public',
+                'protected',
+                'private',
+                'ptrdiff_t',
+                'package',
+                'override',
+                'long',
+                'int',
+                'ireal',
+                'ifloat',
+                'idouble',
+                'float',
+                'final',
+                'export',
+                'enum',
+                'double',
+                'deprecated',
+                'debug',
+                'dchar',
+                'creal',
+                'const',
+                'class',
+                'char',
+                'cfloat',
+                'cent',
+                'cdouble',
+                'byte',
+                'bool',
+                'bit',
+                'auto',
+                'align',
+                'abstract'
+            )
+        ),
+    'SYMBOLS' => array(
+        '(', ')', '[', ']', '{', '}', '?', '!', ';', ':', ',', '...', '..',
+        '+', '-', '*', '/', '%', '&', '|', '^', '<', '>', '=', '~',
+        ),
+    'CASE_SENSITIVE' => array(
+        GESHI_COMMENTS => true,
+        1 => true,
+        2 => true,
+        3 => true,
+        4 => true
+        ),
+    'STYLES' => array(
+        'KEYWORDS' => array(
+            1 => 'color: #b1b100;',
+            2 => 'color: #000000; font-weight: bold;',
+            3 => 'color: #aaaadd; font-weight: bold;',
+            4 => 'color: #993333;'
+            ),
+        'COMMENTS' => array(
+            1=> 'color: #808080; font-style: italic;',
+            2=> 'color: #a1a100;',
+            'MULTI' => 'color: #808080; font-style: italic;'
+            ),
+        'ESCAPE_CHAR' => array(
+            0 => 'color: #000099; font-weight: bold;'
+            ),
+        'BRACKETS' => array(
+            0 => 'color: #66cc66;'
+            ),
+        'STRINGS' => array(
+            0 => 'color: #ff0000;'
+            ),
+        'NUMBERS' => array(
+            0 => 'color: #cc66cc;'
+            ),
+        'METHODS' => array(
+            1 => 'color: #006600;',
+            2 => 'color: #006600;'
+            ),
+        'SYMBOLS' => array(
+            0 => 'color: #66cc66;'
+            ),
+        'SCRIPT' => array(
+            ),
+        'REGEXPS' => array(
+            )
+        ),
+    'URLS' => array(
+        1 => '',
+        2 => '',
+        3 => '',
+        4 => ''
+        ),
+    'OOLANG' => true,
+    'OBJECT_SPLITTERS' => array(
+        1 => '.',
+        ),
+    'REGEXPS' => array(
+        ),
+    'STRICT_MODE_APPLIES' => GESHI_NEVER,
+    'SCRIPT_DELIMITERS' => array(
+        ),
+    'HIGHLIGHT_STRICT_BLOCK' => array(
+        )
+);
+
+?>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/plugins/geshi/geshi/delphi.php	Sun Feb 10 18:10:52 2008 -0500
@@ -0,0 +1,271 @@
+<?php
+/*************************************************************************************
+ * delphi.php
+ * ----------
+ * Author: Járja Norbert (jnorbi@vipmail.hu)
+ * Copyright: (c) 2004 Járja Norbert, Nigel McNie (http://qbnz.com/highlighter)
+ * Release Version: 1.0.7.20
+ * Date Started: 2004/07/26
+ *
+ * Delphi (Object Pascal) language file for GeSHi.
+ *
+ * CHANGES
+ * -------
+ * 2005/11/19 (1.0.3)
+ *   -  Updated the very incomplete keyword and type lists
+ * 2005/09/03 (1.0.2)
+ *   -  Added support for hex numbers and string entities
+ * 2004/11/27 (1.0.1)
+ *   -  Added support for multiple object splitters
+ * 2004/10/27 (1.0.0)
+ *   -  First Release
+ *
+ * TODO (updated 2004/11/27)
+ * -------------------------
+ *
+ *************************************************************************************
+ *
+ *   This file is part of GeSHi.
+ *
+ *   GeSHi is free software; you can 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.
+ *
+ *   GeSHi is distributed in the hope that it will be useful,
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *   GNU General Public License for more details.
+ *
+ *   You should have received a copy of the GNU General Public License
+ *   along with GeSHi; if not, write to the Free Software
+ *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
+ ************************************************************************************/
+
+$language_data = array (
+    'LANG_NAME' => 'Delphi',
+    'COMMENT_SINGLE' => array(1 => '//'),
+    'COMMENT_MULTI' => array('(*' => '*)', '{' => '}'),
+    'CASE_KEYWORDS' => 0,
+    'QUOTEMARKS' => array("'", '"'),
+    'ESCAPE_CHAR' => '',
+    'KEYWORDS' => array(
+        1 => array(
+            'Abstract', 'And', 'Array', 'As', 'Asm', 'At', 'Begin', 'Case', 'Class',
+            'Const', 'Constructor', 'Contains', 'Destructor', 'DispInterface', 'Div',
+            'Do', 'DownTo', 'Else', 'End', 'Except', 'File', 'Finalization',
+            'Finally', 'For', 'Function', 'Goto', 'If', 'Implementation', 'In',
+            'Inherited', 'Initialization', 'Inline', 'Interface', 'Is', 'Label',
+            'Mod', 'Not', 'Object', 'Of', 'On', 'Or', 'Overload', 'Override',
+            'Package', 'Packed', 'Private', 'Procedure', 'Program', 'Property',
+            'Protected', 'Public', 'Published', 'Raise', 'Record', 'Repeat',
+            'Requires', 'Resourcestring', 'Set', 'Shl', 'Shr', 'Then', 'ThreadVar',
+            'To', 'Try', 'Type', 'Unit', 'Until', 'Uses', 'Var', 'Virtual', 'While',
+            'With', 'Xor', 'assembler', 'cdecl', 'far', 'near', 'pascal', 'register',
+            'safecall', 'stdcall', 'varargs'
+            ),
+        2 => array(
+            'nil', 'false', 'self', 'true', 'var', 'type', 'const'
+            ),
+        3 => array(
+            'Abs', 'AcquireExceptionObject', 'Addr', 'AnsiToUtf8', 'Append', 'ArcTan',
+            'Assert', 'AssignFile', 'Assigned', 'BeginThread', 'BlockRead',
+            'BlockWrite', 'Break', 'ChDir', 'Chr', 'Close', 'CloseFile',
+            'CompToCurrency', 'CompToDouble', 'Concat', 'Continue', 'Copy', 'Cos',
+            'Dec', 'Delete', 'Dispose', 'DoubleToComp', 'EndThread', 'EnumModules',
+            'EnumResourceModules', 'Eof', 'Eoln', 'Erase', 'ExceptAddr',
+            'ExceptObject', 'Exclude', 'Exit', 'Exp', 'FilePos', 'FileSize',
+            'FillChar', 'Finalize', 'FindClassHInstance', 'FindHInstance',
+            'FindResourceHInstance', 'Flush', 'Frac', 'FreeMem', 'Get8087CW',
+            'GetDir', 'GetLastError', 'GetMem', 'GetMemoryManager',
+            'GetModuleFileName', 'GetVariantManager', 'Halt', 'Hi', 'High',
+            'IOResult', 'Inc', 'Include', 'Initialize', 'Insert', 'Int',
+            'IsMemoryManagerSet', 'IsVariantManagerSet', 'Length', 'Ln', 'Lo', 'Low',
+            'MkDir', 'Move', 'New', 'Odd', 'OleStrToStrVar', 'OleStrToString', 'Ord',
+            'PUCS4Chars', 'ParamCount', 'ParamStr', 'Pi', 'Pos', 'Pred', 'Ptr',
+            'Random', 'Randomize', 'Read', 'ReadLn', 'ReallocMem',
+            'ReleaseExceptionObject', 'Rename', 'Reset', 'Rewrite', 'RmDir', 'Round',
+            'RunError', 'Seek', 'SeekEof', 'SeekEoln', 'Set8087CW', 'SetLength',
+            'SetLineBreakStyle', 'SetMemoryManager', 'SetString', 'SetTextBuf',
+            'SetVariantManager', 'Sin', 'SizeOf', 'Slice', 'Sqr', 'Sqrt', 'Str',
+            'StringOfChar', 'StringToOleStr', 'StringToWideChar', 'Succ', 'Swap',
+            'Trunc', 'Truncate', 'TypeInfo', 'UCS4StringToWideString', 'UTF8Decode',
+            'UTF8Encode', 'UnicodeToUtf8', 'UniqueString', 'UpCase', 'Utf8ToAnsi',
+            'Utf8ToUnicode', 'Val', 'VarArrayRedim', 'VarClear',
+            'WideCharLenToStrVar', 'WideCharLenToString', 'WideCharToStrVar',
+            'WideCharToString', 'WideStringToUCS4String', 'Write', 'WriteLn',
+
+            'Abort', 'AddExitProc', 'AddTerminateProc', 'AdjustLineBreaks', 'AllocMem',
+            'AnsiCompareFileName', 'AnsiCompareStr', 'AnsiCompareText',
+            'AnsiDequotedStr', 'AnsiExtractQuotedStr', 'AnsiLastChar',
+            'AnsiLowerCase', 'AnsiLowerCaseFileName', 'AnsiPos', 'AnsiQuotedStr',
+            'AnsiSameStr', 'AnsiSameText', 'AnsiStrComp', 'AnsiStrIComp',
+            'AnsiStrLComp', 'AnsiStrLIComp', 'AnsiStrLastChar', 'AnsiStrLower',
+            'AnsiStrPos', 'AnsiStrRScan', 'AnsiStrScan', 'AnsiStrUpper',
+            'AnsiUpperCase', 'AnsiUpperCaseFileName', 'AppendStr', 'AssignStr',
+            'Beep', 'BoolToStr', 'ByteToCharIndex', 'ByteToCharLen', 'ByteType',
+            'CallTerminateProcs', 'ChangeFileExt', 'CharLength', 'CharToByteIndex',
+            'CharToByteLen', 'CompareMem', 'CompareStr', 'CompareText', 'CreateDir',
+            'CreateGUID', 'CurrToStr', 'CurrToStrF', 'CurrentYear', 'Date',
+            'DateTimeToFileDate', 'DateTimeToStr', 'DateTimeToString',
+            'DateTimeToSystemTime', 'DateTimeToTimeStamp', 'DateToStr', 'DayOfWeek',
+            'DecodeDate', 'DecodeDateFully', 'DecodeTime', 'DeleteFile',
+            'DirectoryExists', 'DiskFree', 'DiskSize', 'DisposeStr', 'EncodeDate',
+            'EncodeTime', 'ExceptionErrorMessage', 'ExcludeTrailingBackslash',
+            'ExcludeTrailingPathDelimiter', 'ExpandFileName', 'ExpandFileNameCase',
+            'ExpandUNCFileName', 'ExtractFileDir', 'ExtractFileDrive',
+            'ExtractFileExt', 'ExtractFileName', 'ExtractFilePath',
+            'ExtractRelativePath', 'ExtractShortPathName', 'FileAge', 'FileClose',
+            'FileCreate', 'FileDateToDateTime', 'FileExists', 'FileGetAttr',
+            'FileGetDate', 'FileIsReadOnly', 'FileOpen', 'FileRead', 'FileSearch',
+            'FileSeek', 'FileSetAttr', 'FileSetDate', 'FileSetReadOnly', 'FileWrite',
+            'FinalizePackage', 'FindClose', 'FindCmdLineSwitch', 'FindFirst',
+            'FindNext', 'FloatToCurr', 'FloatToDateTime', 'FloatToDecimal',
+            'FloatToStr', 'FloatToStrF', 'FloatToText', 'FloatToTextFmt',
+            'FmtLoadStr', 'FmtStr', 'ForceDirectories', 'Format', 'FormatBuf',
+            'FormatCurr', 'FormatDateTime', 'FormatFloat', 'FreeAndNil',
+            'GUIDToString', 'GetCurrentDir', 'GetEnvironmentVariable',
+            'GetFileVersion', 'GetFormatSettings', 'GetLocaleFormatSettings',
+            'GetModuleName', 'GetPackageDescription', 'GetPackageInfo', 'GetTime',
+            'IncAMonth', 'IncMonth', 'IncludeTrailingBackslash',
+            'IncludeTrailingPathDelimiter', 'InitializePackage', 'IntToHex',
+            'IntToStr', 'InterlockedDecrement', 'InterlockedExchange',
+            'InterlockedExchangeAdd', 'InterlockedIncrement', 'IsDelimiter',
+            'IsEqualGUID', 'IsLeapYear', 'IsPathDelimiter', 'IsValidIdent',
+            'Languages', 'LastDelimiter', 'LoadPackage', 'LoadStr', 'LowerCase',
+            'MSecsToTimeStamp', 'NewStr', 'NextCharIndex', 'Now', 'OutOfMemoryError',
+            'QuotedStr', 'RaiseLastOSError', 'RaiseLastWin32Error', 'RemoveDir',
+            'RenameFile', 'ReplaceDate', 'ReplaceTime', 'SafeLoadLibrary',
+            'SameFileName', 'SameText', 'SetCurrentDir', 'ShowException', 'Sleep',
+            'StrAlloc', 'StrBufSize', 'StrByteType', 'StrCat', 'StrCharLength',
+            'StrComp', 'StrCopy', 'StrDispose', 'StrECopy', 'StrEnd', 'StrFmt',
+            'StrIComp', 'StrLCat', 'StrLComp', 'StrLCopy', 'StrLFmt', 'StrLIComp',
+            'StrLen', 'StrLower', 'StrMove', 'StrNew', 'StrNextChar', 'StrPCopy',
+            'StrPLCopy', 'StrPas', 'StrPos', 'StrRScan', 'StrScan', 'StrToBool',
+            'StrToBoolDef', 'StrToCurr', 'StrToCurrDef', 'StrToDate', 'StrToDateDef',
+            'StrToDateTime', 'StrToDateTimeDef', 'StrToFloat', 'StrToFloatDef',
+            'StrToInt', 'StrToInt64', 'StrToInt64Def', 'StrToIntDef', 'StrToTime',
+            'StrToTimeDef', 'StrUpper', 'StringReplace', 'StringToGUID', 'Supports',
+            'SysErrorMessage', 'SystemTimeToDateTime', 'TextToFloat', 'Time',
+            'TimeStampToDateTime', 'TimeStampToMSecs', 'TimeToStr', 'Trim',
+            'TrimLeft', 'TrimRight', 'TryEncodeDate', 'TryEncodeTime',
+            'TryFloatToCurr', 'TryFloatToDateTime', 'TryStrToBool', 'TryStrToCurr',
+            'TryStrToDate', 'TryStrToDateTime', 'TryStrToFloat', 'TryStrToInt',
+            'TryStrToInt64', 'TryStrToTime', 'UnloadPackage', 'UpperCase',
+            'WideCompareStr', 'WideCompareText', 'WideFmtStr', 'WideFormat',
+            'WideFormatBuf', 'WideLowerCase', 'WideSameStr', 'WideSameText',
+            'WideUpperCase', 'Win32Check', 'WrapText',
+
+            'ActivateClassGroup', 'AllocateHwnd', 'BinToHex', 'CheckSynchronize',
+            'CollectionsEqual', 'CountGenerations', 'DeallocateHwnd', 'EqualRect',
+            'ExtractStrings', 'FindClass', 'FindGlobalComponent', 'GetClass',
+            'GroupDescendantsWith', 'HexToBin', 'IdentToInt',
+            'InitInheritedComponent', 'IntToIdent', 'InvalidPoint',
+            'IsUniqueGlobalComponentName', 'LineStart', 'ObjectBinaryToText',
+            'ObjectResourceToText', 'ObjectTextToBinary', 'ObjectTextToResource',
+            'PointsEqual', 'ReadComponentRes', 'ReadComponentResEx',
+            'ReadComponentResFile', 'Rect', 'RegisterClass', 'RegisterClassAlias',
+            'RegisterClasses', 'RegisterComponents', 'RegisterIntegerConsts',
+            'RegisterNoIcon', 'RegisterNonActiveX', 'SmallPoint', 'StartClassGroup',
+            'TestStreamFormat', 'UnregisterClass', 'UnregisterClasses',
+            'UnregisterIntegerConsts', 'UnregisterModuleClasses',
+            'WriteComponentResFile',
+
+            'ArcCos', 'ArcCosh', 'ArcCot', 'ArcCotH', 'ArcCsc', 'ArcCscH', 'ArcSec',
+            'ArcSecH', 'ArcSin', 'ArcSinh', 'ArcTan2', 'ArcTanh', 'Ceil',
+            'CompareValue', 'Cosecant', 'Cosh', 'Cot', 'CotH', 'Cotan', 'Csc', 'CscH',
+            'CycleToDeg', 'CycleToGrad', 'CycleToRad', 'DegToCycle', 'DegToGrad',
+            'DegToRad', 'DivMod', 'DoubleDecliningBalance', 'EnsureRange', 'Floor',
+            'Frexp', 'FutureValue', 'GetExceptionMask', 'GetPrecisionMode',
+            'GetRoundMode', 'GradToCycle', 'GradToDeg', 'GradToRad', 'Hypot',
+            'InRange', 'IntPower', 'InterestPayment', 'InterestRate',
+            'InternalRateOfReturn', 'IsInfinite', 'IsNan', 'IsZero', 'Ldexp', 'LnXP1',
+            'Log10', 'Log2', 'LogN', 'Max', 'MaxIntValue', 'MaxValue', 'Mean',
+            'MeanAndStdDev', 'Min', 'MinIntValue', 'MinValue', 'MomentSkewKurtosis',
+            'NetPresentValue', 'Norm', 'NumberOfPeriods', 'Payment', 'PeriodPayment',
+            'Poly', 'PopnStdDev', 'PopnVariance', 'Power', 'PresentValue',
+            'RadToCycle', 'RadToDeg', 'RadToGrad', 'RandG', 'RandomRange', 'RoundTo',
+            'SLNDepreciation', 'SYDDepreciation', 'SameValue', 'Sec', 'SecH',
+            'Secant', 'SetExceptionMask', 'SetPrecisionMode', 'SetRoundMode', 'Sign',
+            'SimpleRoundTo', 'SinCos', 'Sinh', 'StdDev', 'Sum', 'SumInt',
+            'SumOfSquares', 'SumsAndSquares', 'Tan', 'Tanh', 'TotalVariance',
+            'Variance'
+            ),
+        4 => array(
+            'AnsiChar', 'AnsiString', 'Bool', 'Boolean', 'Byte', 'ByteBool', 'Cardinal', 'Char',
+            'Comp', 'Currency', 'DWORD', 'Double', 'Extended', 'Int64', 'Integer', 'IUnknown',
+            'LongBool', 'LongInt', 'LongWord', 'PAnsiChar', 'PAnsiString', 'PBool', 'PBoolean', 'PByte',
+            'PByteArray', 'PCardinal', 'PChar', 'PComp', 'PCurrency', 'PDWORD', 'PDate', 'PDateTime',
+            'PDouble', 'PExtended', 'PInt64', 'PInteger', 'PLongInt', 'PLongWord', 'Pointer', 'PPointer',
+            'PShortInt', 'PShortString', 'PSingle', 'PSmallInt', 'PString', 'PHandle', 'PVariant', 'PWord',
+            'PWordArray', 'PWordBool', 'PWideChar', 'PWideString', 'Real', 'Real48', 'ShortInt', 'ShortString',
+            'Single', 'SmallInt', 'String', 'TClass', 'TDate', 'TDateTime', 'TextFile', 'THandle',
+            'TObject', 'TTime', 'Variant', 'WideChar', 'WideString', 'Word', 'WordBool'
+            ),
+        ),
+    'CASE_SENSITIVE' => array(
+        GESHI_COMMENTS => true,
+        1 => false,
+        2 => false,
+        3 => false,
+        4 => false,
+        ),
+    'STYLES' => array(
+        'KEYWORDS' => array(
+            1 => 'color: #000000; font-weight: bold;',
+            2 => 'color: #000000; font-weight: bold;',
+            3 => 'color: #000066;',
+            4 => 'color: #993333;'
+            ),
+        'COMMENTS' => array(
+            1 => 'color: #808080; font-style: italic;',
+            'MULTI' => 'color: #808080; font-style: italic;'
+            ),
+        'ESCAPE_CHAR' => array(
+            ),
+        'BRACKETS' => array(
+            0 => 'color: #66cc66;'
+            ),
+        'STRINGS' => array(
+            0 => 'color: #ff0000;'
+            ),
+        'NUMBERS' => array(
+            0 => 'color: #cc66cc;'
+            ),
+        'METHODS' => array(
+            1 => 'color: #006600;'
+            ),
+        'REGEXPS' => array(
+            0 => 'color: #9ac;',
+            1 => 'color: #ff0000;'
+            ),
+        'SYMBOLS' => array(
+            0 => 'color: #66cc66;'
+            ),
+        'SCRIPT' => array(
+            )
+        ),
+    'URLS' => array(
+        1 => '',
+        2 => '',
+        3 => '',
+        4 => ''
+        ),
+    'OOLANG' => true,
+    'OBJECT_SPLITTERS' => array(
+        1 => '.'
+        ),
+    'REGEXPS' => array(
+        0 => '\$[0-9a-fA-F]+',
+        1 => '\#\$?[0-9]{1,3}'
+        ),
+    'STRICT_MODE_APPLIES' => GESHI_NEVER,
+    'SCRIPT_DELIMITERS' => array(
+        ),
+    'HIGHLIGHT_STRICT_BLOCK' => array(
+        ),
+    'TAB_WIDTH' => 2
+);
+
+?>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/plugins/geshi/geshi/diff.php	Sun Feb 10 18:10:52 2008 -0500
@@ -0,0 +1,184 @@
+<?php
+/*************************************************************************************
+ * diff.php
+ * --------
+ * Author: Conny Brunnkvist (conny@fuchsia.se), W. Tasin (tasin@fhm.edu)
+ * Copyright: (c) 2004 Fuchsia Open Source Solutions (http://www.fuchsia.se/)
+ * Release Version: 1.0.7.20
+ * Date Started: 2004/12/29
+ *
+ * Diff-output language file for GeSHi.
+ *
+ * CHANGES
+ * -------
+ * 2006/02/27
+ *  -  changing language file to use matching of start (^) and end ($) (wt)
+ * 
+ * 2004/12/29 (1.0.0)
+ *  -  First Release
+ *
+ * TODO (updated 2006/02/27)
+ * -------------------------
+ *    
+ *
+ *************************************************************************************
+ *
+ *     This file is part of GeSHi.
+ *
+ *   GeSHi is free software; you can 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.
+ *
+ *   GeSHi is distributed in the hope that it will be useful,
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *   GNU General Public License for more details.
+ *
+ *   You should have received a copy of the GNU General Public License
+ *   along with GeSHi; if not, write to the Free Software
+ *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
+ ************************************************************************************/
+
+
+$language_data = array (
+	'LANG_NAME' => 'Diff',
+	'COMMENT_SINGLE' => array(),
+	'COMMENT_MULTI' => array(),
+	'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+	'QUOTEMARKS' => array(),
+	'ESCAPE_CHAR' => ' ',
+	'KEYWORDS' => array(
+			1 => array(
+				'\ No newline at end of file'
+			),
+			2 => array(
+				'***************' /* This only seems to works in some cases? */
+			),
+		),
+	'SYMBOLS' => array(
+		),
+	'CASE_SENSITIVE' => array(
+        1 => false,
+        2 => false
+		),
+	'STYLES' => array(
+		'KEYWORDS' => array(
+			1 => 'color: #aaaaaa; font-style: italic;',
+			2 => 'color: #dd6611;',
+			),
+		'COMMENTS' => array(
+            ),
+		'ESCAPE_CHAR' => array(
+            0 => ''
+			),
+		'BRACKETS' => array(
+            0 => ''
+			),
+		'STRINGS' => array(
+            0 => ''
+			),
+		'NUMBERS' => array(
+            0 => ''
+			),
+		'METHODS' => array(
+            0 => ''
+			),
+		'SYMBOLS' => array(
+            0 => ''
+			),
+		'SCRIPT' => array(
+            0 => ''
+			),
+        'REGEXPS' => array(
+			0 => 'color: #440088;',
+			1 => 'color: #991111;',
+			2 => 'color: #00b000;',
+            3 => 'color: #888822;', 
+            4 => 'color: #888822;', 
+            5 => 'color: #0011dd;', 
+            6 => 'color: #440088;', 
+			7 => 'color: #991111;',
+            8 => 'color: #00b000;', 
+			9 => 'color: #888822;',
+                        ),
+		),
+	'URLS' => array(
+		),
+	'OOLANG' => false,
+	'OBJECT_SPLITTER' => '',
+	'REGEXPS' => array(
+			0 => "[0-9,]+[acd][0-9,]+",
+			1 => array(
+			GESHI_SEARCH => '^\\&lt;.*$',
+			GESHI_REPLACE => '\\0',
+			GESHI_MODIFIERS => 'm',
+			GESHI_BEFORE => '',
+			GESHI_AFTER => ''
+			),
+			2 => array(
+			GESHI_SEARCH => '^\\&gt;.*$',
+			GESHI_REPLACE => '\\0',
+			GESHI_MODIFIERS => 'm',
+			GESHI_BEFORE => '',
+			GESHI_AFTER => ''
+			),
+			3 => array(
+			GESHI_SEARCH => '^[\\-]{3}\\s.*$',
+			GESHI_REPLACE => '\\0',
+			GESHI_MODIFIERS => 'm',
+			GESHI_BEFORE => '',
+			GESHI_AFTER => ''
+			),
+			4 => array(
+			GESHI_SEARCH => '^(\\+){3}\\s.*$',
+			GESHI_REPLACE => '\\0',
+			GESHI_MODIFIERS => 'm',
+			GESHI_BEFORE => '',
+			GESHI_AFTER => ''
+			),
+			5 => array(
+			GESHI_SEARCH => '^\\!.*$',
+			GESHI_REPLACE => '\\0',
+			GESHI_MODIFIERS => 'm',
+			GESHI_BEFORE => '',
+			GESHI_AFTER => ''
+			),
+			6 => array(
+			GESHI_SEARCH => '^[\\@]{2}.*$',
+			GESHI_REPLACE => '\\0',
+			GESHI_MODIFIERS => 'm',
+			GESHI_BEFORE => '',
+			GESHI_AFTER => ''
+			),
+			7 => array(
+			GESHI_SEARCH => '^\\-.*$',
+			GESHI_REPLACE => '\\0',
+			GESHI_MODIFIERS => 'm',
+			GESHI_BEFORE => '',
+			GESHI_AFTER => ''
+			),
+			8 => array(
+			GESHI_SEARCH => '^\\+.*$',
+			GESHI_REPLACE => '\\0',
+			GESHI_MODIFIERS => 'm',
+			GESHI_BEFORE => '',
+			GESHI_AFTER => ''
+			),
+			9 => array(
+			GESHI_SEARCH => '^(\\*){3}\\s.*$',
+			GESHI_REPLACE => '\\0',
+			GESHI_MODIFIERS => 'm',
+			GESHI_BEFORE => '',
+			GESHI_AFTER => ''
+			),
+	),
+	'STRICT_MODE_APPLIES' => GESHI_NEVER,
+	'SCRIPT_DELIMITERS' => array(
+		),
+	'HIGHLIGHT_STRICT_BLOCK' => array(
+		)
+);
+
+?>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/plugins/geshi/geshi/div.php	Sun Feb 10 18:10:52 2008 -0500
@@ -0,0 +1,126 @@
+<?php
+/*************************************************************************************
+ * div.php
+ * ---------------------------------
+ * Author: Gabriel Lorenzo (ermakina@gmail.com)
+ * Copyright: (c) 2005 Gabriel Lorenzo (http://ermakina.gazpachito.net)
+ * Release Version: 1.0.7.20
+ * Date Started: 2005/06/19
+ *
+ * DIV language file for GeSHi.
+ *
+ * CHANGES
+ * -------
+ * 2005/06/22 (1.0.0)
+ *  -  First Release, includes "2nd gen" ELSEIF statement
+ *
+ * TODO (updated 2005/06/22)
+ * -------------------------
+ *  -  I'm pretty satisfied with this, so nothing for now... :P
+ *
+ *************************************************************************************
+ *
+ *     This file is part of GeSHi.
+ *
+ *   GeSHi is free software; you can 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.
+ *
+ *   GeSHi is distributed in the hope that it will be useful,
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *   GNU General Public License for more details.
+ *
+ *   You should have received a copy of the GNU General Public License
+ *   along with GeSHi; if not, write to the Free Software
+ *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
+ ************************************************************************************/
+
+$language_data = array (
+	'LANG_NAME' => 'DIV',
+	'COMMENT_SINGLE' => array(1 => '//'),
+	'COMMENT_MULTI' => array('/*' => '*/'),
+	'CASE_KEYWORDS' => GESHI_CAPS_UPPER,
+	'QUOTEMARKS' => array("'", '"'),
+	'ESCAPE_CHAR' => '',
+	'KEYWORDS' => array(
+		1 => array(
+			'while','until','to','switch','step','return','repeat','loop','if','from','frame','for','end','elseif',
+			'else','default','debug','continue','clone','case','break','begin'
+			),
+		2 => array(
+			'xor','whoami','type','sizeof','pointer','or','offset','not','neg','mod','id','dup','and','_ne','_lt',
+			'_le','_gt','_ge','_eq'
+			),
+		3 => array(
+			'setup_program','program','process','private','local','import','global','function','const',
+			'compiler_options'
+			),
+		4 => array(
+			'word','struct','string','int','byte'
+			),
+		),
+	'SYMBOLS' => array(
+		'(',')','[',']','=','+','-','*','/','!','%','^','&',':',';',',','<','>'
+		),
+	'CASE_SENSITIVE' => array(
+		GESHI_COMMENTS => false,
+		1 => false,
+		2 => false,
+		3 => false,
+		4 => false,
+		),
+	'STYLES' => array(
+		'KEYWORDS' => array(
+			1 => 'color: #0040b1;',
+			2 => 'color: #000000;',
+			3 => 'color: #000066; font-weight: bold;',
+			4 => 'color: #993333;'
+			),
+		'COMMENTS' => array(
+			1 => 'color: #808080; font-style: italic;',
+			'MULTI' => 'color: #808080; font-style: italic;'
+			),
+		'ESCAPE_CHAR' => array(
+			0 => ''
+			),
+		'BRACKETS' => array(
+			0 => 'color: #44aa44;'
+			),
+		'STRINGS' => array(
+			0 => 'color: #ff0000;'
+			),
+		'NUMBERS' => array(
+			0 => 'color: #cc66cc;'
+			),
+		'METHODS' => array(
+			0 => 'color: #202020;',
+			),
+		'SYMBOLS' => array(
+			0 => 'color: #44aa44;'
+			),
+		'REGEXPS' => array(
+			),
+		'SCRIPT' => array(
+			)
+		),
+	'URLS' => array(
+		1 => '',
+		2 => '',
+		3 => '',
+		4 => ''
+		),
+	'OOLANG' => false,
+	'OBJECT_SPLITTER' => '',
+	'REGEXPS' => array(
+		),
+	'STRICT_MODE_APPLIES' => GESHI_NEVER,
+	'SCRIPT_DELIMITERS' => array(
+		),
+	'HIGHLIGHT_STRICT_BLOCK' => array(
+		)
+);
+
+?>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/plugins/geshi/geshi/dos.php	Sun Feb 10 18:10:52 2008 -0500
@@ -0,0 +1,183 @@
+<?php
+/*************************************************************************************
+ * dos.php
+ * -------
+ * Author: Alessandro Staltari (staltari@geocities.com)
+ * Copyright: (c) 2005 Alessandro Staltari (http://www.geocities.com/SiliconValley/Vista/8155/)
+ * Release Version: 1.0.7.20
+ * Date Started: 2005/07/05
+ *
+ * DOS language file for GeSHi.
+ *
+ * CHANGES
+ * -------
+ * 2005/07/05 (1.0.0)
+ *  -  First Release
+ *
+ * TODO (updated 2005/07/05)
+ * -------------------------
+ *
+ * - Find a way to higlight %*
+ * - Highlight pipes and redirection (do we really need this?)
+ * - Add missing keywords.
+ * - Find a good hyperlink for keywords.
+ * - Improve styles.
+ *
+ * KNOWN ISSUES (updated 2005/07/07)
+ * ---------------------------------
+ *
+ * - Doesn't even try to handle spaces in variables name or labels (I can't
+ *   find a reliable way to establish if a sting is a name or not, in some
+ *   cases it depends on the contex or enviroment status).
+ * - Doesn't handle %%[letter] pseudo variable used inside FOR constructs
+ *   (it should be done only into its scope: how to handle variable it?).
+ * - Doesn't handle %~[something] pseudo arguments.
+ * - If the same keyword is placed at the end of the line and the
+ *   beginning of the next, the second occourrence is not highlighted
+ *   (this should be a GeSHi bug, not related to the language definition).
+ * - I can't avoid to have keyword highlighted even when they are not used
+ *   as keywords but, for example, as arguments to the echo command.
+ *
+ *************************************************************************************
+ *
+ *     This file is part of GeSHi.
+ *
+ *   GeSHi is free software; you can 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.
+ *
+ *   GeSHi is distributed in the hope that it will be useful,
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *   GNU General Public License for more details.
+ *
+ *   You should have received a copy of the GNU General Public License
+ *   along with GeSHi; if not, write to the Free Software
+ *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
+ ************************************************************************************/
+
+$language_data = array (
+	'LANG_NAME' => 'DOS',
+	'COMMENT_SINGLE' => array(1 =>'REM', 2 => '@REM'),
+	'COMMENT_MULTI' => array(),
+	'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+	'QUOTEMARKS' => array(),
+	'ESCAPE_CHAR' => '',
+	'KEYWORDS' => array(
+	    /* Flow control keywords */
+		1 => array(
+			'if', 'else', 'goto',
+			'for', 'in', 'do',
+			'call', 'exit'
+			),
+	    /* IF statement keywords */
+		2 => array(
+			'not', 'exist', 'errorlevel',
+			'defined',
+			'equ', 'neq', 'lss', 'leq', 'gtr', 'geq'
+			),
+	    /* Internal commands */
+		3 => array(
+			'shift',
+			'cd', 'dir', 'echo',
+			'setlocal', 'endlocal', 'set',
+			'pause'
+			),
+	    /* Special files */
+
+		4 => array(
+			'prn', 'nul', 'lpt3', 'lpt2', 'lpt1', 'con',
+			'com4', 'com3', 'com2', 'com1', 'aux'
+			)
+		),
+	'SYMBOLS' => array(
+		'(', ')'
+		),
+	'CASE_SENSITIVE' => array(
+		GESHI_COMMENTS => false,
+		1 => false
+		),
+	'STYLES' => array(
+		'KEYWORDS' => array(
+			1 => 'color: #00b100; font-weight: bold;',
+			2 => 'color: #000000; font-weight: bold;',
+			3 => 'color: #b1b100; font-weight: bold;',
+			4 => 'color: #0000ff; font-weight: bold;'
+			),
+		'COMMENTS' => array(
+			1 => 'color: #808080; font-style: italic;',
+			2 => 'color: #808080; font-style: italic;'
+			),
+		'ESCAPE_CHAR' => array(
+			),
+		'BRACKETS' => array(
+			0 => 'color: #66cc66;'
+			),
+		'STRINGS' => array(
+			0 => 'color: #ff0000;'
+			),
+		'NUMBERS' => array(
+/*			0 => 'color: #cc66cc;' */
+			),
+		'METHODS' => array(
+			),
+		'SYMBOLS' => array(
+			0 => 'color: #33cc33;',
+			1 => 'color: #33cc33;'
+			),
+		'SCRIPT' => array(
+			),
+		'REGEXPS' => array(
+			0 => 'color: #b100b1; font-weight: bold;',
+			1 => 'color: #448844;',
+			2 => 'color: #448888;'
+			)
+		),
+	'OOLANG' => false,
+	'OBJECT_SPLITTERS' => array(
+		),
+    'URLS' => array(
+         1 => 'http://www.ss64.com/nt/{FNAME}.html',
+         2 => 'http://www.ss64.com/nt/{FNAME}.html',
+         3 => 'http://www.ss64.com/nt/{FNAME}.html',
+         4 => 'http://www.ss64.com/nt/{FNAME}.html'
+         ),
+	'REGEXPS' => array(
+	/* Label */
+	    0 => array(
+/*		GESHI_SEARCH => '((?si:[@\s]+GOTO\s+|\s+:)[\s]*)((?<!\n)[^\s\n]*)',*/
+		GESHI_SEARCH => '((?si:[@\s]+GOTO\s+|\s+:)[\s]*)((?<!\n)[^\n]*)',
+		GESHI_REPLACE => '\\2',
+		GESHI_MODIFIERS => 'si',
+		GESHI_BEFORE => '\\1',
+		GESHI_AFTER => ''
+		),
+	/* Variable assignement */
+	    1 => array(
+/*		GESHI_SEARCH => '(SET[\s]+(?si:/A[\s]+|/P[\s]+|))([^=\s\n]+)([\s]*=)',*/
+		GESHI_SEARCH => '(SET[\s]+(?si:/A[\s]+|/P[\s]+|))([^=\n]+)([\s]*=)',
+		GESHI_REPLACE => '\\2',
+		GESHI_MODIFIERS => 'si',
+		GESHI_BEFORE => '\\1',
+		GESHI_AFTER => '\\3'
+		),
+	/* Arguments or variable evaluation */
+	    2 => array(
+/*		GESHI_SEARCH => '(%)([\d*]|[^%\s]*(?=%))((?<!%\d)%|)',*/
+		GESHI_SEARCH => '(%)([\d*]|[^%]*(?=%))((?<!%\d)%|)',
+		GESHI_REPLACE => '\\2',
+		GESHI_MODIFIERS => 'si',
+		GESHI_BEFORE => '\\1',
+		GESHI_AFTER => '\\3'
+		)
+		),
+	'STRICT_MODE_APPLIES' => GESHI_NEVER,
+	'SCRIPT_DELIMITERS' => array(
+		),
+	'HIGHLIGHT_STRICT_BLOCK' => array(
+		)
+);
+
+?>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/plugins/geshi/geshi/dot.php	Sun Feb 10 18:10:52 2008 -0500
@@ -0,0 +1,160 @@
+<?php
+/*************************************************************************************
+ * dot.php
+ * ---------------------------------
+ * Author: Adrien Friggeri (adrien@friggeri.net)
+ * Copyright: (c) 2007 Adrien Friggeri (http://www.friggeri.net)
+ * Release Version: 1.0.7.20
+ * CVS Revision Version: $Revision: 958 $
+ * Date Started: 2007/05/30
+ * Last Modified: $Date: 2007-04-01 23:51:03 +1200 (Sun, 01 Apr 2007) $
+ *
+ * dot language file for GeSHi.
+ *
+ * CHANGES
+ * -------
+ * 2007/05/30 (1.0.0)
+ *  -  First Release
+ *
+ * TODO (updated 2007/05/30)
+ * -------------------------
+ * Everything
+ *
+ *************************************************************************************
+ *
+ *     This file is part of GeSHi.
+ *
+ *   GeSHi is free software; you can 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.
+ *
+ *   GeSHi is distributed in the hope that it will be useful,
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *   GNU General Public License for more details.
+ *
+ *   You should have received a copy of the GNU General Public License
+ *   along with GeSHi; if not, write to the Free Software
+ *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
+ ************************************************************************************/
+
+$language_data = array (
+    'LANG_NAME' => 'dot',
+    'COMMENT_SINGLE' => array(1 => '//', 2 => '#'),
+    'COMMENT_MULTI' => array('/*' => '*/'),
+    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+    'QUOTEMARKS' => array('"'),
+    'ESCAPE_CHAR' => '\\',
+    'KEYWORDS' => array(
+        1 => array('URL', 'arrowhead', 'arrowsize', 'arrowtail', 'bb', 'bgcolor', 'bottomlabel',
+          'center', 'clusterrank', 'color', 'comment', 'constraint', 'decorate',
+          'dir', 'distortion', 'fillcolor', 'fixedsize', 'fontcolor',
+          'fontname', 'fontsize', 'group', 'headclip', 'headlabel', 'headport',
+          'height', 'id', 'label', 'labelangle', 'labeldistance', 'labelfontcolor',
+          'labelfontname', 'labelfontsize', 'layer', 'layers', 'margin', 'mclimit',
+          'minlen', 'nodesep', 'nslimit', 'ordering', 'orientation', 'page',
+          'pagedir', 'peripheries', 'port_label_distance', 'quantum', 'rank', 'rankdir',
+          'ranksep', 'ratio', 'regular', 'rotate', 'samehead', 'sametail', 'searchsize',
+          'shape', 'shapefile', 'showboxes', 'sides', 'size', 'skew', 'style',
+          'tailclip', 'taillabel', 'tailport', 'toplabel', 'weight', 'width' 
+        ),
+        2 => array('node', 'graph', 'digraph', 'strict', 'edge', 'subgraph'),
+        3 => array('FALSE', 'Mcircle', 'Mdiamond', 'Mrecord', 'Msquare', 'TRUE', 'auto', 'back',
+          'bold', 'both', 'box', 'circle', 'compress', 'dashed', 'diamond', 'dot',
+          'dotted', 'doublecircle', 'doubleoctagon', 'egg', 'ellipse', 'epsf', 'false',
+          'fill', 'filled', 'forward', 'global', 'hexagon', 'house', 'inv', 'invdot',
+          'invhouse', 'invis', 'invodot', 'invtrapezium', 'invtriangle', 'local', 'max',
+          'min', 'none', 'normal', 'octagon', 'odot', 'out', 'parallelogram', 'plaintext',
+          'polygon', 'record', 'same', 'solid', 'trapezium', 'triangle', 'tripleoctagon',
+          'true' 
+        ),
+        4 => array('aliceblue', 'antiquewhite', 'aquamarine', 'azure', 'beige', 'bisque', 'black',
+          'blanchedalmond', 'blue', 'blueviolet', 'brown', 'burlywood', 'cadetblue',
+          'chartreuse', 'chocolate', 'coral', 'cornflowerblue', 'cornsilk', 'crimson',
+          'cyan', 'darkgoldenrod', 'darkgreen', 'darkkhaki', 'darkolivegreen',
+          'darkorange', 'darkorchid', 'darksalmon', 'darkseagreen', 'darkslateblue',
+          'darkslategray', 'darkturquoise', 'darkviolet', 'deeppink', 'deepskyblue',
+          'dimgray', 'dodgerblue', 'firebrick', 'forestgreen', 'gainsboro', 'ghostwhite',
+          'gold', 'goldenrod', 'gray', 'green', 'greenyellow', 'honeydew', 'hotpink',
+          'indianred', 'indigo', 'ivory', 'khaki', 'lavender', 'lavenderblush',
+          'lawngreen', 'lemonchiffon', 'lightblue', 'lightcyan', 'lightgoldenrod',
+          'lightgoldenrodyellow', 'lightgray', 'lightpink', 'lightsalmon',
+          'lightseagreen', 'lightskyblue', 'lightslateblue', 'lightslategray',
+          'lightyellow', 'limegreen', 'linen', 'magenta', 'maroon', 'mediumaquamarine',
+          'mediumblue', 'mediumorchid', 'mediumpurple', 'mediumseagreen',
+          'mediumslateblue', 'mediumspringgreen', 'mediumturquoise', 'mediumvioletred',
+          'midnightblue', 'mintcream', 'mistyrose', 'moccasin', 'navajowhite', 'navy',
+          'navyblue', 'oldlace', 'olivedrab', 'oralwhite', 'orange', 'orangered',
+          'orchid', 'palegoldenrod', 'palegreen', 'paleturquoise', 'palevioletred',
+          'papayawhip', 'peachpuff', 'peru', 'pink', 'plum', 'powderblue', 'purple',
+          'red', 'rosybrown', 'royalblue', 'saddlebrown', 'salmon', 'salmon2', 'sandybrown',
+          'seagreen', 'seashell', 'sienna', 'skyblue', 'slateblue', 'slategray', 'snow',
+          'springgreen', 'steelblue', 'tan', 'thistle', 'tomato', 'turquoise', 'violet',
+          'violetred', 'wheat', 'white', 'whitesmoke', 'yellow', 'yellowgreen' 
+        )
+      ),
+    'SYMBOLS' => array(
+        '[', ']', '{', '}', '-', '+', '*', '/', '<', '>', '!', '~', '%', '&', '|', '='
+    ),
+    'CASE_SENSITIVE' => array(
+        GESHI_COMMENTS => false,
+        1 => false,
+        2 => false,
+        3 => false,
+        4 => false,
+    ),
+    'STYLES' => array(
+        'KEYWORDS' => array(
+            1 => 'color: #000066;',
+            2 => 'color: #000000; font-weight: bold;',
+            3 => 'color: #993333;',
+            4 => 'color: #b1b100;'
+        ),
+        'COMMENTS' => array(
+            1 => 'color: #808080; font-style: italic;',
+            2 => 'color: #339933;',
+            'MULTI' => 'color: #808080; font-style: italic;'
+        ),
+        'ESCAPE_CHAR' => array(
+            0 => 'color: #af624d; font-weight: bold;'
+        ),
+        'BRACKETS' => array(
+            0 => 'color: #66cc66;'
+        ),
+        'STRINGS' => array(
+            0 => 'color: #ff0000;'
+        ),
+        'NUMBERS' => array(
+            0 => 'color: #cc66cc;'
+        ),
+        'SYMBOLS' => array(
+            0 => 'color: #66cc66;'
+        ),
+        'METHODS' => array(
+            ),
+        'SCRIPT' => array(
+            ),
+        'REGEXPS' => array(
+            ),
+    ),
+    'URLS' => array(
+        1 => '',
+        2 => '',
+        3 => ''
+    ),
+    'OOLANG' => false,
+    'OBJECT_SPLITTER' => '',    
+    'REGEXPS' => array(),
+    'STRICT_MODE_APPLIES' => GESHI_MAYBE,
+    'SCRIPT_DELIMITERS' => array(),
+    'HIGHLIGHT_STRICT_BLOCK' => array(
+        0 => true,
+        1 => true,
+        2 => true,
+        3 => true
+    )
+);
+
+?>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/plugins/geshi/geshi/eiffel.php	Sun Feb 10 18:10:52 2008 -0500
@@ -0,0 +1,394 @@
+<?php
+/*************************************************************************************
+ * eiffel.php
+ * ----------
+ * Author: Zoran Simic (zsimic@axarosenberg.com)
+ * Copyright: (c) 2005 Zoran Simic
+ * Release Version: 1.0.7.20
+ * Date Started: 2005/06/30
+ *
+ * Eiffel language file for GeSHi.
+ *
+ * CHANGES
+ * -------
+ * 2005/06/30 (1.0.7)
+ *  -  Initial release
+ *
+ * TODO (updated 2005/06/30)
+ * -------------------------
+ *
+ *************************************************************************************
+ *
+ *     This file is part of GeSHi.
+ *
+ *   GeSHi is free software; you can 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.
+ *
+ *   GeSHi is distributed in the hope that it will be useful,
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *   GNU General Public License for more details.
+ *
+ *   You should have received a copy of the GNU General Public License
+ *   along with GeSHi; if not, write to the Free Software
+ *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
+ ************************************************************************************/
+
+ $language_data = array (
+	'LANG_NAME' => 'Eiffel',
+	'COMMENT_SINGLE' => array(1 => '--'),
+	'COMMENT_MULTI' => array(),
+	'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+	'QUOTEMARKS' => array("'", '"'),
+	'ESCAPE_CHAR' => '%',
+	'KEYWORDS' => array(
+		1 => array(
+			'separate',
+			'invariant',
+			'inherit',
+			'indexing',
+			'feature',
+			'expanded',
+			'deferred',
+			'class'
+			),
+		2 => array(
+			'xor',
+			'when',
+			'variant',
+			'until',
+			'unique',
+			'undefine',
+			'then',
+			'strip',
+			'select',
+			'retry',
+			'rescue',
+			'require',
+			'rename',
+			'reference',
+			'redefine',
+			'prefix',
+			'or',
+			'once',
+			'old',
+			'obsolete',
+			'not',
+			'loop',
+			'local',
+			'like',
+			'is',
+			'inspect',
+			'infix',
+			'include',
+			'implies',
+			'if',
+			'frozen',
+			'from',
+			'external',
+			'export',
+			'ensure',
+			'end',
+			'elseif',
+			'else',
+			'do',
+			'creation',
+			'create',
+			'check',
+			'as',
+			'and',
+			'alias',
+			'agent'
+			),
+		3 => array(
+			'Void',
+			'True',
+			'Result',
+			'Precursor',
+			'False',
+			'Current'
+			),
+		4 => array(
+			'UNIX_SIGNALS',
+			'UNIX_FILE_INFO',
+			'UNBOUNDED',
+			'TWO_WAY_TREE_CURSOR',
+			'TWO_WAY_TREE',
+			'TWO_WAY_SORTED_SET',
+			'TWO_WAY_LIST',
+			'TWO_WAY_CURSOR_TREE',
+			'TWO_WAY_CIRCULAR',
+			'TWO_WAY_CHAIN_ITERATOR',
+			'TUPLE',
+			'TREE',
+			'TRAVERSABLE',
+			'TO_SPECIAL',
+			'THREAD_CONTROL',
+			'THREAD_ATTRIBUTES',
+			'THREAD',
+			'TABLE',
+			'SUBSET',
+			'STRING_HANDLER',
+			'STRING',
+			'STREAM',
+			'STORABLE',
+			'STD_FILES',
+			'STACK',
+			'SPECIAL',
+			'SORTED_TWO_WAY_LIST',
+			'SORTED_STRUCT',
+			'SORTED_LIST',
+			'SINGLE_MATH',
+			'SET',
+			'SEQUENCE',
+			'SEQ_STRING',
+			'SEMAPHORE',
+			'ROUTINE',
+			'RESIZABLE',
+			'RECURSIVE_TREE_CURSOR',
+			'RECURSIVE_CURSOR_TREE',
+			'REAL_REF',
+			'REAL',
+			'RAW_FILE',
+			'RANDOM',
+			'QUEUE',
+			'PROXY',
+			'PROFILING_SETTING',
+			'PROCEDURE',
+			'PRIORITY_QUEUE',
+			'PRIMES',
+			'PRECOMP',
+			'POINTER_REF',
+			'POINTER',
+			'PLATFORM',
+			'PLAIN_TEXT_FILE',
+			'PATH_NAME',
+			'PART_SORTED_TWO_WAY_LIST',
+			'PART_SORTED_SET',
+			'PART_SORTED_LIST',
+			'PART_COMPARABLE',
+			'OPERATING_ENVIRONMENT',
+			'ONCE_CONTROL',
+			'OBJECT_OWNER',
+			'OBJECT_CONTROL',
+			'NUMERIC',
+			'NONE',
+			'MUTEX',
+			'MULTI_ARRAY_LIST',
+			'MULTAR_LIST_CURSOR',
+			'MEMORY',
+			'MEM_INFO',
+			'MEM_CONST',
+			'MATH_CONST',
+			'LIST',
+			'LINKED_TREE_CURSOR',
+			'LINKED_TREE',
+			'LINKED_STACK',
+			'LINKED_SET',
+			'LINKED_QUEUE',
+			'LINKED_PRIORITY_QUEUE',
+			'LINKED_LIST_CURSOR',
+			'LINKED_LIST',
+			'LINKED_CURSOR_TREE',
+			'LINKED_CIRCULAR',
+			'LINKABLE',
+			'LINEAR_ITERATOR',
+			'LINEAR',
+			'ITERATOR',
+			'IO_MEDIUM',
+			'INTERNAL',
+			'INTEGER_REF',
+			'INTEGER_INTERVAL',
+			'INTEGER',
+			'INFINITE',
+			'INDEXABLE',
+			'IDENTIFIED_CONTROLLER',
+			'IDENTIFIED',
+			'HIERARCHICAL',
+			'HEAP_PRIORITY_QUEUE',
+			'HASHABLE',
+			'HASH_TABLE_CURSOR',
+			'HASH_TABLE',
+			'GENERAL',
+			'GC_INFO',
+			'FUNCTION',
+			'FORMAT_INTEGER',
+			'FORMAT_DOUBLE',
+			'FIXED_TREE',
+			'FIXED_LIST',
+			'FIXED',
+			'FINITE',
+			'FILE_NAME',
+			'FILE',
+			'FIBONACCI',
+			'EXECUTION_ENVIRONMENT',
+			'EXCEPTIONS',
+			'EXCEP_CONST',
+			'DYNAMIC_TREE',
+			'DYNAMIC_LIST',
+			'DYNAMIC_CIRCULAR',
+			'DYNAMIC_CHAIN',
+			'DOUBLE_REF',
+			'DOUBLE_MATH',
+			'DOUBLE',
+			'DISPENSER',
+			'DIRECTORY_NAME',
+			'DIRECTORY',
+			'DECLARATOR',
+			'DEBUG_OUTPUT',
+			'CURSOR_TREE_ITERATOR',
+			'CURSOR_TREE',
+			'CURSOR_STRUCTURE',
+			'CURSOR',
+			'COUNTABLE_SEQUENCE',
+			'COUNTABLE',
+			'CONTAINER',
+			'CONSOLE',
+			'CONDITION_VARIABLE',
+			'COMPARABLE_STRUCT',
+			'COMPARABLE_SET',
+			'COMPARABLE',
+			'COMPACT_TREE_CURSOR',
+			'COMPACT_CURSOR_TREE',
+			'COLLECTION',
+			'CIRCULAR_CURSOR',
+			'CIRCULAR',
+			'CHARACTER_REF',
+			'CHARACTER',
+			'CHAIN',
+			'CELL',
+			'BOX',
+			'BOUNDED_STACK',
+			'BOUNDED_QUEUE',
+			'BOUNDED',
+			'BOOLEAN_REF',
+			'BOOLEAN',
+			'BOOL_STRING',
+			'BIT_REF',
+			'BINARY_TREE',
+			'BINARY_SEARCH_TREE_SET',
+			'BINARY_SEARCH_TREE',
+			'BILINEAR',
+			'BI_LINKABLE',
+			'BASIC_ROUTINES',
+			'BAG',
+			'ASCII',
+			'ARRAYED_TREE',
+			'ARRAYED_STACK',
+			'ARRAYED_QUEUE',
+			'ARRAYED_LIST_CURSOR',
+			'ARRAYED_LIST',
+			'ARRAYED_CIRCULAR',
+			'ARRAY2',
+			'ARRAY',
+			'ARGUMENTS',
+			'ANY',
+			'ACTIVE'
+			),
+		5 => array(
+			'yes',
+			'visible',
+			'trace',
+			'system',
+			'root',
+			'profile',
+			'override_cluster',
+			'object',
+			'no',
+			'multithreaded',
+			'msil_generation_type',
+			'line_generation',
+			'library',
+			'inlining_size',
+			'inlining',
+			'include_path',
+			'il_verifiable',
+			'exclude',
+			'exception_trace',
+			'dynamic_runtime',
+			'dotnet_naming_convention',
+			'disabled_debug',
+			'default',
+			'debug',
+			'dead_code_removal',
+			'console_application',
+			'cluster',
+			'cls_compliant',
+			'check_vape',
+			'assertion',
+			'array_optimization',
+			'all',
+			'address_expression'
+			),
+		),
+	'SYMBOLS' => array(
+		'+', '-', '*', '?', '=', '/', '%', '&', '>', '<', '^', '!', '|', ':',
+		'(', ')', '{', '}', '[', ']', '#'
+		),
+	'CASE_SENSITIVE' => array(
+		GESHI_COMMENTS => true,
+		1 => false,
+		2 => false,
+		3 => false,
+		4 => true,
+		5 => false,
+		),
+	'STYLES' => array(
+		'KEYWORDS' => array(
+			1 => 'color: #0600FF; font-weight: bold;',
+			2 => 'color: #0600FF; font-weight: bold;',
+			3 => 'color: #800080;',
+			4 => 'color: #800000',
+			5 => 'color: #603000;'
+			),
+		'COMMENTS' => array(
+			1 => 'color: #008000; font-style: italic;',
+			'MULTI' => ''
+			),
+		'ESCAPE_CHAR' => array(
+			0 => 'color: #005070; font-weight: bold;'
+			),
+		'BRACKETS' => array(
+			0 => 'color: #FF0000;'
+			),
+		'STRINGS' => array(
+			0 => 'color: #0080A0;'
+			),
+		'NUMBERS' => array(
+			0 => 'color: #FF0000;'
+			),
+		'METHODS' => array(
+			1 => 'color: #000060;',
+			2 => 'color: #000050;'
+			),
+		'SYMBOLS' => array(
+			0 => 'color: #600000;'
+			),
+		'REGEXPS' => array(
+			),
+		'SCRIPT' => array(
+			)
+		),
+	'URLS' => array(
+		1 => '',
+		2 => '',
+		3 => '',
+		4 => 'http://www.google.com/search?q=site%3Ahttp%3A%2F%2Fdocs.eiffel.com%2Feiffelstudio%2Flibraries+{FNAME}&btnI=I%27m+Feeling+Lucky'
+		),
+	'OOLANG' => true,
+	'OBJECT_SPLITTERS' => array(
+		1 => '.'
+		),
+	'REGEXPS' => array(
+		),
+	'STRICT_MODE_APPLIES' => GESHI_NEVER,
+	'SCRIPT_DELIMITERS' => array(
+		),
+	'HIGHLIGHT_STRICT_BLOCK' => array(
+		)
+);
+
+?>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/plugins/geshi/geshi/fortran.php	Sun Feb 10 18:10:52 2008 -0500
@@ -0,0 +1,156 @@
+<?php
+/*************************************************************************************
+ * fortran.php
+ * -----------
+ * Author: Cedric Arrabie (cedric.arrabie@univ-pau.fr)
+ * Copyright: (C) 2006 Cetric Arrabie
+ * Release Version: 1.0.7.20
+ * Date Started: 2006/04/22
+ * 
+ * Fortran language file for GeSHi.
+ *
+ * CHANGES
+ * -------
+ * 2006/04/20 (1.0.0)
+ *   -  First Release
+ *
+ * TODO 
+ * -------------------------
+ *  -  Get a list of inbuilt functions to add (and explore fortran more
+ *     to complete this rather bare language file)
+ *
+ *************************************************************************************
+ *
+ *     This file is part of GeSHi.
+ *
+ *   GeSHi is free software; you can 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.
+ *
+ *   GeSHi is distributed in the hope that it will be useful,
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *   GNU General Public License for more details.
+ *
+ *   You should have received a copy of the GNU General Public License
+ *   along with GeSHi; if not, write to the Free Software
+ *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
+ ************************************************************************************/
+
+$language_data = array (
+	'LANG_NAME'=>'Fortran',
+	'COMMENT_SINGLE'=> array(1 =>'!',2=>'Cf2py'),
+	'COMMENT_MULTI'=> array(),
+	'CASE_KEYWORDS'=> GESHI_CAPS_NO_CHANGE,
+	'QUOTEMARKS'=> array("'",'"'),
+	'ESCAPE_CHAR'=>'\\',
+	'KEYWORDS'=> array(
+		1 => array(
+			'allocate','block','call','case','contains','continue','cycle','deallocate',
+			'default','do','else','elseif','elsewhere','end','enddo','endif','endwhere',
+			'entry','exit','function','go','goto','if','interface','module','nullify','only', 
+			'operator','procedure','program','recursive','return','select','stop', 
+			'subroutine','then','to','where','while',
+            'access','action','advance','blank','blocksize','carriagecontrol',
+			'delim','direct','eor','err','exist','file','flen','fmt','form','formatted',
+			'iostat','name','named','nextrec','nml','number','opened','pad','position',
+			'readwrite','recl','sequential','status','unformatted','unit'
+			),
+		2 => array(
+			'.AND.','.EQ.','.EQV.','.GE.','.GT.','.LE.','.LT.','.NE.','.NEQV.','.NOT.',
+			'.OR.','.TRUE.','.FALSE.'
+			),
+		3 => array(
+			'allocatable','character','common','complex','data','dimension','double',
+			'equivalence','external','implicit','in','inout','integer','intent','intrinsic',
+			'kind','logical','namelist','none','optional','out','parameter','pointer',
+			'private','public','real','result','save','sequence','target','type','use'
+			),
+		4 => array(
+			'abs','achar','acos','adjustl','adjustr','aimag','aint','all','allocated',
+			'anint','any','asin','atan','atan2','bit_size','break','btest','carg',
+			'ceiling','char','cmplx','conjg','cos','cosh','cpu_time','count','cshift',
+			'date_and_time','dble','digits','dim','dot_product','dprod dvchk',
+			'eoshift','epsilon','error','exp','exponent','floor','flush','fraction',
+			'getcl','huge','iachar','iand','ibclr','ibits','ibset','ichar','ieor','index',
+			'int','intrup','invalop','ior','iostat_msg','ishft','ishftc','lbound',
+			'len','len_trim','lge','lgt','lle','llt','log','log10','matmul','max','maxexponent',
+			'maxloc','maxval','merge','min','minexponent','minloc','minval','mod','modulo',
+			'mvbits','nbreak','ndperr','ndpexc','nearest','nint','not','offset','ovefl',
+			'pack','precfill','precision','present','product','prompt','radix',
+			'random_number','random_seed','range','repeat','reshape','rrspacing',
+			'scale','scan','segment','selected_int_kind','selected_real_kind',
+			'set_exponent','shape','sign','sin','sinh','size','spacing','spread','sqrt',
+			'sum system','system_clock','tan','tanh','timer','tiny','transfer','transpose',
+			'trim','ubound','undfl','unpack','val','verify'
+			),
+		),
+	'SYMBOLS'=> array(
+		'(',')','{','}','[',']','=','+','-','*','/','!','%','^','&',':'
+		),
+	'CASE_SENSITIVE'=> array(
+		GESHI_COMMENTS => true,
+		1 => false,
+		2 => false,
+		3 => false,
+		4 => false,
+		),
+	'STYLES'=> array(
+		'KEYWORDS'=> array(
+			1 =>'color: #b1b100;',
+			2 =>'color: #000000; font-weight: bold;',
+			3 =>'color: #000066;',
+			4 =>'color: #993333;'
+			),
+		'COMMENTS'=> array(
+			1 =>'color: #808080; font-style: italic;',
+			2 =>'color: #339933;',
+			'MULTI'=>'color: #808080; font-style: italic;'
+			),
+		'ESCAPE_CHAR'=> array(
+			0 =>'color: #000099; font-weight: bold;'
+			),
+		'BRACKETS'=> array(
+			0 =>'color: #66cc66;'
+			),
+		'STRINGS'=> array(
+			0 =>'color: #ff0000;'
+			),
+		'NUMBERS'=> array(
+			0 =>'color: #cc66cc;'
+			),
+		'METHODS'=> array(
+			1 =>'color: #202020;',
+			2 =>'color: #202020;'
+			),
+		'SYMBOLS'=> array(
+			0 =>'color: #66cc66;'
+			),
+		'REGEXPS'=> array(
+			),
+		'SCRIPT'=> array(
+			)
+		),
+	'URLS'=> array(
+		1 =>'',
+		2 =>'',
+		3 =>'',
+		4 =>''
+		),
+	'OOLANG'=> true,
+	'OBJECT_SPLITTERS'=> array(
+		1 =>'.',
+		2 =>'::'
+		),
+	'REGEXPS'=> array(
+		),
+	'STRICT_MODE_APPLIES'=> GESHI_NEVER,
+	'SCRIPT_DELIMITERS'=> array(
+		),
+	'HIGHLIGHT_STRICT_BLOCK'=> array(
+		)
+);
+
+?>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/plugins/geshi/geshi/freebasic.php	Sun Feb 10 18:10:52 2008 -0500
@@ -0,0 +1,137 @@
+<?php
+/*************************************************************************************
+ * freebasic.php
+ * -------------
+ * Author: Roberto Rossi 
+ * Copyright: (c) 2005 Roberto Rossi (http://rsoftware.altervista.org)
+ * Release Version: 1.0.7.20
+ * Date Started: 2005/08/19
+ *
+ * FreeBasic (http://www.freebasic.net/) language file for GeSHi.
+ *
+ * CHANGES
+ * -------
+ * 2005/08/19 (1.0.0)
+ *  -  First Release
+ *
+ *
+ *************************************************************************************
+ *
+ *     This file is part of GeSHi.
+ *
+ *   GeSHi is free software; you can 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.
+ *
+ *   GeSHi is distributed in the hope that it will be useful,
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *   GNU General Public License for more details.
+ *
+ *   You should have received a copy of the GNU General Public License
+ *   along with GeSHi; if not, write to the Free Software
+ *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
+ ************************************************************************************/
+ $language_data = array (
+	'LANG_NAME' => 'FreeBasic',
+	'COMMENT_SINGLE' => array(1 => "'", 2 => '#'),
+	'COMMENT_MULTI' => array(),
+	'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+	'QUOTEMARKS' => array('"'),
+	'ESCAPE_CHAR' => '\\',
+	'KEYWORDS' => array(
+		1 => array(
+    "append", "as", "asc", "asin", "asm", "atan2", "atn", "beep", "bin", "binary", "bit",
+    "bitreset", "bitset", "bload", "bsave", "byref", "byte", "byval", "call",
+    "callocate", "case", "cbyte", "cdbl", "cdecl", "chain", "chdir", "chr", "cint",
+    "circle", "clear", "clng", "clngint", "close", "cls", "color", "command",
+    "common", "cons", "const", "continue", "cos", "cshort", "csign", "csng",
+    "csrlin", "cubyte", "cuint", "culngint", "cunsg", "curdir", "cushort", "custom",
+    "cvd", "cvi", "cvl", "cvlongint", "cvs", "cvshort", "data", "date",
+    "deallocate", "declare", "defbyte", "defdbl", "defined", "defint", "deflng",
+    "deflngint", "defshort", "defsng", "defstr", "defubyte", "defuint",
+    "defulngint", "defushort", "dim", "dir", "do", "double", "draw", "dylibload",
+    "dylibsymbol", "else", "elseif", "end", "enum", "environ", 'environ$', "eof",
+    "eqv", "erase", "err", "error", "exec", "exepath", "exit", "exp", "export",
+    "extern", "field", "fix", "flip", "for", "fre", "freefile", "function", "get",
+    "getjoystick", "getkey", "getmouse", "gosub", "goto", "hex", "hibyte", "hiword",
+    "if", "iif", "imagecreate", "imagedestroy", "imp", "inkey", "inp", "input",
+    "instr", "int", "integer", "is", "kill", "lbound", "lcase", "left", "len",
+    "let", "lib", "line", "lobyte", "loc", "local", "locate", "lock", "lof", "log",
+    "long", "longint", "loop", "loword", "lset", "ltrim", "mid", "mkd", "mkdir",
+    "mki", "mkl", "mklongint", "mks", "mkshort", "mod", "multikey", "mutexcreate",
+    "mutexdestroy", "mutexlock", "mutexunlock", "name", "next", "not", "oct", "on",
+    "once", "open", "option", "or", "out", "output", "overload", "paint", "palette",
+    "pascal", "pcopy", "peek", "peeki", "peeks", "pipe", "pmap", "point", "pointer",
+    "poke", "pokei", "pokes", "pos", "preserve", "preset", "print", "private",
+    "procptr", "pset", "ptr", "public", "put", "random", "randomize", "read",
+    "reallocate", "redim", "rem", "reset", "restore", "resume", "resume", "next",
+    "return", "rgb", "rgba", "right", "rmdir", "rnd", "rset", "rtrim", "run",
+    "sadd", "screen", "screencopy", "screeninfo", "screenlock", "screenptr",
+    "screenres", "screenset", "screensync", "screenunlock", "seek", "statement",
+    "seek", "function", "selectcase", "setdate", "setenviron", "setmouse",
+    "settime", "sgn", "shared", "shell", "shl", "short", "shr", "sin", "single",
+    "sizeof", "sleep", "space", "spc", "sqr", "static", "stdcall", "step", "stop",
+    "str", "string", "string", "strptr", "sub", "swap", "system", "tab", "tan",
+    "then", "threadcreate", "threadwait", "time", "time", "timer", "to", "trans",
+    "trim", "type", "ubound", "ubyte", "ucase", "uinteger", "ulongint", "union",
+    "unlock", "unsigned", "until", "ushort", "using", "va_arg", "va_first",
+    "va_next", "val", "val64", "valint", "varptr", "view", "viewprint", "wait",
+    "wend", "while", "width", "window", "windowtitle", "with", "write", "xor",
+    "zstring", "explicit", "escape", "true", "false"
+      )
+		),
+	'SYMBOLS' => array(
+		'(', ')'
+		),
+	'CASE_SENSITIVE' => array(
+		GESHI_COMMENTS => false,
+		1 => false
+		),
+	'STYLES' => array(
+		'KEYWORDS' => array(
+			1 => 'color: #b1b100;'
+			),
+		'COMMENTS' => array(
+			1 => 'color: #808080;',
+      2 => 'color: #339933;'
+			),
+		'BRACKETS' => array(
+			0 => 'color: #66cc66;'
+			),
+		'STRINGS' => array(
+			0 => 'color: #ff0000;'
+			),
+		'NUMBERS' => array(
+			0 => 'color: #cc66cc;'
+			),
+		'METHODS' => array(
+			0 => 'color: #66cc66;'
+			),
+		'SYMBOLS' => array(
+			0 => 'color: #66cc66;'
+			),
+		'ESCAPE_CHAR' => array(
+			0 => 'color: #000099;'
+			),
+		'SCRIPT' => array(
+			),
+		'REGEXPS' => array(
+			)
+		),
+	'OOLANG' => true,
+	'OBJECT_SPLITTERS' => array(
+		1 => '.'
+		),
+	'REGEXPS' => array(
+		),
+	'STRICT_MODE_APPLIES' => GESHI_NEVER,
+	'SCRIPT_DELIMITERS' => array(
+		),
+	'HIGHLIGHT_STRICT_BLOCK' => array(
+		)
+);
+
+?>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/plugins/geshi/geshi/genero.php	Sun Feb 10 18:10:52 2008 -0500
@@ -0,0 +1,464 @@
+<?php
+/*************************************************************************************
+ * genero.php
+ * ----------
+ * Author: Lars Gersmann (lars.gersmann@gmail.com)
+ * Copyright: (c) 2007 Lars Gersmann, Nigel McNie (http://qbnz.com/highlighter/)
+ * Release Version: 1.0.7.20
+ * CVS Revision Version: $Revision: 1.4 $
+ *
+ * Genero (FOURJ's Genero 4GL) language file for GeSHi.
+ *
+ * CHANGES
+ * -------
+ * 2007/07/01 (1.0.0)
+ *  -  Initial release
+ *
+ *************************************************************************************
+ *
+ *     This file is part of GeSHi.
+ *
+ *   GeSHi is free software; you can 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.
+ *
+ *   GeSHi is distributed in the hope that it will be useful,
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *   GNU General Public License for more details.
+ *
+ *   You should have received a copy of the GNU General Public License
+ *   along with GeSHi; if not, write to the Free Software
+ *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
+ ************************************************************************************/
+
+ $language_data = array (
+    'LANG_NAME' => 'genero',
+    'COMMENT_SINGLE' => array(1 => '--', 2 => '#'),
+    'COMMENT_MULTI' => array('{' => '}'),
+    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+    'QUOTEMARKS' => array("'", '"'),
+    'ESCAPE_CHAR' => '\\',
+    'KEYWORDS' => array(
+        1 => array(
+          "ABSOLUTE",
+            "ACCEPT",
+            "ACTION",
+            "ADD",
+            "AFTER",
+            "ALL",
+            "ALTER",
+            "AND",
+            "ANY",
+            "APPEND",
+            "APPLICATION",          
+            "AS",
+            "AT",
+            "ATTRIBUTE",
+            "ATTRIBUTES",
+            "AUDIT",
+            "AVG",
+            "BEFORE",
+            "BEGIN",
+            "BETWEEN",
+            "BORDER",
+            "BORDER",
+            "BOTTOM",
+            "BREAKPOINT",
+            "BUFFER",
+            "BUFFERED",
+            "BY",
+            "CALL",
+            "CANCEL",
+            "CASE",
+            "CENTURY",
+            "CHANGE",
+            "CHECK",
+            "CLEAR",
+            "CLIPPED",
+            "CLOSE",
+            "CLUSTER",
+            "COLUMN",
+            "COLUMNS",
+            "COMMAND",
+            "COMMENT",
+            "COMMIT",
+            "COMMITTED",
+            "CONCURRENT ",
+            "CONNECT",
+            "CONNECTION",
+            "CONSTANT",
+            "CONSTRAINED",
+            "CONSTRAINT",
+            "CONSTRUCT",
+            "CONTINUE",
+            "CONTROL",
+            "COUNT",
+            "CREATE",
+            "CROSS",
+            "CURRENT",          
+            "DATABASE",
+            "DBA",
+            "DEC",
+            "DECLARE",
+            "DEFAULT",
+            "DEFAULTS",
+            "DEFER",
+            "DEFINE",
+            "DELETE",
+            "DELIMITER",
+            "DESCRIBE",
+            "DESTINATION",
+            "DIM",
+            "DIALOG",
+            "DIMENSION",
+            "DIRTY",
+            "DISCONNECT",
+            "DISPLAY",
+            "DISTINCT",
+            "DORMANT",          
+            "DOWN",
+            "DROP",
+            "DYNAMIC",
+            "ELSE",
+            "END",
+            "ERROR",
+            "ESCAPE",
+            "EVERY",
+            "EXCLUSIVE",
+            "EXECUTE",
+            "EXISTS",
+            "EXIT",
+            "EXPLAIN",
+            "EXTEND",
+            "EXTENT",
+            "EXTERNAL",         
+            "FETCH",
+            "FGL_DRAWBOX",
+            "FIELD",
+            "FIELD_TOUCHED",
+            "FILE",
+            "FILL",
+            "FINISH",
+            "FIRST",
+            "FLOAT",
+            "FLUSH",
+            "FOR",
+            "FOREACH",
+            "FORM",
+            "FORMAT",
+            "FOUND",
+            "FRACTION",
+            "FREE",
+            "FROM",
+            "FULL",
+            "FUNCTION",
+            "GET_FLDBUF",
+            "GLOBALS",
+            "GO",
+            "GOTO",
+            "GRANT",            
+            "GROUP",
+            "HAVING",
+            "HEADER",
+            "HELP",
+            "HIDE",
+            "HOLD",
+            "HOUR",
+            "IDLE",
+            "IF",
+            "IMAGE",
+            "IMMEDIATE",
+            "IN",
+            "INDEX",
+            "INFIELD",
+            "INITIALIZE",
+            "INNER",
+            "INPUT",
+            "INSERT",
+            "INTERRUPT",
+            "INTERVAL",
+            "INTO",
+            "INVISIBLE",
+            "IS",
+            "ISOLATION",
+            "JOIN",
+            "KEEP",
+            "KEY",
+            "LABEL",
+            "LAST",
+            "LEFT",
+            "LENGTH",
+            "LET",
+            "LIKE",
+            "LINE",
+            "LINENO",
+            "LINES",
+            "LOAD",
+            "LOCATE",
+            "LOCK",
+            "LOG",
+            "LSTR",         
+            "MAIN",
+            "MARGIN",
+            "MATCHES",
+            "MAX",
+            "MAXCOUNT",
+            "MDY",
+            "MEMORY",
+            "MENU",
+            "MESSAGE",
+            "MIN",
+            "MINUTE",
+            "MOD",
+            "MODE",
+            "MODIFY",
+            "MONEY",            
+            "NAME",
+            "NEED",
+            "NEXT",
+            "NO",
+            "NORMAL",
+            "NOT",
+            "NOTFOUND",
+            "NULL",
+            "NUMERIC",
+            "OF",
+            "ON",
+            "OPEN",
+            "OPTION",
+            "OPTIONS",
+            "OR",
+            "ORDER",
+            "OTHERWISE",
+            "OUTER",
+            "OUTPUT",
+            "PAGE",
+            "PAGENO",
+            "PAUSE",
+            "PERCENT",
+            "PICTURE",
+            "PIPE",
+            "PRECISION",
+            "PREPARE",
+            "PREVIOUS",
+            "PRINT",
+            "PRINTER",
+            "PRINTX",
+            "PRIOR",
+            "PRIVILEGES",
+            "PROCEDURE",
+            "PROGRAM",
+            "PROMPT",
+            "PUBLIC",
+            "PUT",
+            "QUIT",
+            "READ",
+            "REAL",
+            "RECORD",
+            "RECOVER",
+            "RED ",
+            "RELATIVE",
+            "RENAME",
+            "REOPTIMIZATION",
+            "REPEATABLE",
+            "REPORT",
+            "RESOURCE",
+            "RETURN",
+            "RETURNING",
+            "REVERSE",
+            "REVOKE",
+            "RIGHT",
+            "ROLLBACK",
+            "ROLLFORWARD",
+            "ROW",
+            "ROWS",
+            "RUN",
+            "SCHEMA",
+            "SCREEN",
+            "SCROLL",
+            "SECOND",
+            "SELECT",
+            "SERIAL",
+            "SET",
+            "SFMT",
+            "SHARE",
+            "SHIFT",
+            "SHOW",
+            "SIGNAL ",
+            "SIZE",
+            "SKIP",
+            "SLEEP",
+            "SOME",
+            "SPACE",
+            "SPACES",
+            "SQL",
+            "SQLERRMESSAGE",
+            "SQLERROR",
+            "SQLSTATE",
+            "STABILITY",
+            "START",
+            "STATISTICS",
+            "STEP",
+            "STOP",         
+            "STYLE",
+            "SUM",
+            "SYNONYM",
+            "TABLE",
+            "TEMP",
+            "TERMINATE",
+            "TEXT",
+            "THEN",
+            "THROUGH",
+            "THRU",
+            "TO",
+            "TODAY",
+            "TOP",
+            "TRAILER",
+            "TRANSACTION ",
+            "UNBUFFERED",
+            "UNCONSTRAINED",
+            "UNDERLINE",
+            "UNION",
+            "UNIQUE",
+            "UNITS",
+            "UNLOAD",
+            "UNLOCK",
+            "UP",
+            "UPDATE",
+            "USE",
+            "USER",
+            "USING",
+            "VALIDATE",
+            "VALUE",
+            "VALUES",
+            "VARCHAR",
+            "VIEW",
+            "WAIT",
+            "WAITING",
+            "WARNING",          
+            "WHEN",
+            "WHENEVER",
+            "WHERE",
+            "WHILE",            
+            "WINDOW",
+            "WITH",
+            "WITHOUT",
+            "WORDWRAP",
+            "WORK",
+            "WRAP"
+            ),
+        2 => array(
+            '&AMP;IFDEF', '&AMP;ENDIF'
+            ),
+        3 => array(
+            "ARRAY",
+            "BYTE",
+            "CHAR",
+            "CHARACTER",
+            "CURSOR",
+            "DATE",
+            "DATETIME",           
+            "DECIMAL",
+            "DOUBLE",
+            "FALSE",
+            "INT",
+            "INTEGER",
+            "SMALLFLOAT",
+            "SMALLINT",
+            "STRING",
+            "TIME",
+            "TRUE"
+            ),
+        4 => array(
+            "BLACK",
+            "BLINK",
+            "BLUE",
+            "BOLD",
+            "ANSI",
+            "ASC",
+            "ASCENDING",
+            "ASCII",
+            "CYAN",
+            "DESC",
+            "DESCENDING",
+            "GREEN",
+            "MAGENTA",
+            "OFF",
+            "WHITE",
+            "YELLOW",
+            "YEAR",   
+            "DAY",
+            "MONTH",
+            "WEEKDAY"
+            ),
+        ),
+    'SYMBOLS' => array(
+        '+', '-', '*', '?', '=', '/', '%', '>', '<', '^', '!', '|', ':',
+        '(', ')', '[', ']'
+        ),
+    'CASE_SENSITIVE' => array(
+        GESHI_COMMENTS => true,
+        1 => false,
+        2 => false,
+        3 => false,
+        4 => false,
+        ),
+    'STYLES' => array(
+        'KEYWORDS' => array(
+            1 => 'color: #0600FF;',
+            2 => 'color: #0000FF; font-weight: bold;',
+            3 => 'color: #008000;',
+            4 => 'color: #FF0000;',
+            ),
+        'COMMENTS' => array(
+            1 => 'color: #008080; font-style: italic;',
+            2 => 'color: #008080;',
+            'MULTI' => 'color: #008080; font-style: italic;'
+            ),
+        'ESCAPE_CHAR' => array(
+            0 => 'color: #008080; font-weight: bold;'
+            ),
+        'BRACKETS' => array(
+            0 => 'color: #000000;'
+            ),
+        'STRINGS' => array(
+            0 => 'color: #808080;'
+            ),
+        'NUMBERS' => array(
+            0 => 'color: #FF0000;'
+            ),
+        'METHODS' => array(
+            1 => 'color: #0000FF;',
+            2 => 'color: #0000FF;'
+            ),
+        'SYMBOLS' => array(
+            0 => 'color: #008000;'
+            ),
+        'REGEXPS' => array(
+            ),
+        'SCRIPT' => array(
+            )
+        ),
+    'URLS' => array(
+        1 => '',
+        2 => '',
+        3 => '',
+        4 => ''
+        ),
+    'OOLANG' => true,
+    'OBJECT_SPLITTERS' => array(
+        1 => '.'
+        ),
+    'REGEXPS' => array(
+        ),
+    'STRICT_MODE_APPLIES' => GESHI_NEVER,
+    'SCRIPT_DELIMITERS' => array(
+        ),
+    'HIGHLIGHT_STRICT_BLOCK' => array(
+        )
+);
+
+?>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/plugins/geshi/geshi/gml.php	Sun Feb 10 18:10:52 2008 -0500
@@ -0,0 +1,502 @@
+<?php
+/*************************************************************************************
+ * gml.php
+ * --------
+ * Author: José Jorge Enríquez (jenriquez@users.sourceforge.net)
+ * Copyright: (c) 2005 José Jorge Enríquez Rodríguez (http://www.zonamakers.com)
+ * Release Version: 1.0.7.20
+ * Date Started: 2005/06/21
+ *
+ * GML language file for GeSHi.
+ *
+ * GML (Game Maker Language) is a script language that is built-in into Game Maker,
+ * a game creation program, more info about Game Maker can be found at
+ * http://www.gamemaker.nl/
+ * All GML keywords were extracted from the Game Maker HTML Help file using a PHP
+ * script (one section at a time). I love PHP for saving me that bunch of work :P!.
+ * I think all GML functions have been indexed here, but I'm not sure about it, so
+ * please let me know of any issue you may find.
+ *
+ * CHANGES
+ * -------
+ * 2005/11/11
+ *  -  Changed 'CASE_KEYWORDS' fom 'GESHI_CAPS_LOWER' to 'GESHI_CAPS_NO_CHANGE',
+ *     so that MCI_command appears correctly (the only GML function using capitals).
+ *  -  Changed 'CASE_SENSITIVE' options, 'GESHI_COMMENTS' from true to false and all
+ *     of the others from false to true.
+ *  -  Deleted repeated entries.
+ *  -  div and mod are language keywords, moved (from symbols) to the appropiate section (1).
+ *  -  Moved self, other, all, noone and global identifiers to language keywords section 1.
+ *  -  Edited this file lines to a maximum width of 100 characters (as stated in
+ *     the GeSHi docs). Well, not strictly to 100 but around it.
+ *  -  Corrected some minor issues (the vk_f1...vk_f12 keys and similar).
+ *  -  Deleted the KEYWORDS=>5 and KEYWORDS=>6 sections (actually, they were empty).
+ *     I was planning of using those for the GML functions available only in the
+ *     registered version of the program, but not anymore.
+ *
+ * 2005/06/26 (1.0.3)
+ *  -  First Release.
+ *
+ * TODO (updated 2005/11/11)
+ * -------------------------
+ *  -  Test it for a while and make the appropiate corrections.
+ *
+ *************************************************************************************
+ *
+ *     This file is part of GeSHi.
+ *
+ *   GeSHi is free software; you can 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.
+ *
+ *   GeSHi is distributed in the hope that it will be useful,
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *   GNU General Public License for more details.
+ *
+ *   You should have received a copy of the GNU General Public License
+ *   along with GeSHi; if not, write to the Free Software
+ *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
+ ************************************************************************************/
+
+$language_data = array (
+	'LANG_NAME' => 'GML',
+	'COMMENT_SINGLE' => array(1 => '//'),
+	'COMMENT_MULTI' => array('/*' => '*/'),
+	'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+	'QUOTEMARKS' => array("'"),
+	'ESCAPE_CHAR' => '\\',
+	'KEYWORDS' => array(
+		// language keywords
+		1 => array(
+			'break', 'continue', 'do', 'until', 'if', 'else',
+			'exit', 'for', 'for', 'repeat', 'return', 'switch',
+			'case', 'default', 'var', 'while', 'with', 'div', 'mod', 
+			// GML Language overview
+			'self', 'other', 'all', 'noone', 'global',
+			),
+		// modifiers and built-in variables
+		2 => array(
+			// Game play
+			'x','y','xprevious','yprevious','xstart','ystart','hspeed','vspeed','direction','speed',
+			'friction','gravity','gravity_direction',
+			'path_index','path_position','path_positionprevious','path_speed','path_orientation',
+			'path_scale','path_endaction',
+			'object_index','id','mask_index','solid','persistent','instance_count','instance_id',
+			'room_speed','fps','current_time','current_year','current_month','current_day','current_weekday',
+			'current_hour','current_minute','current_second','alarm','timeline_index','timeline_position',
+			'timeline_speed',
+			'room','room_first','room_last','room_width','room_height','room_caption','room_persistent',
+			'score','lives','health','show_score','show_lives','show_health','caption_score','caption_lives',
+			'caption_health',
+			'event_type','event_number','event_object','event_action',
+			'error_occurred','error_last',
+			// User interaction
+			'keyboard_lastkey','keyboard_key','keyboard_lastchar','keyboard_string',
+			'mouse_x','mouse_y','mouse_button','mouse_lastbutton',
+			// Game Graphics
+			'visible','sprite_index','sprite_width','sprite_height','sprite_xoffset','sprite_yoffset',
+			'image_number','image_index','image_speed','depth','image_xscale','image_yscale','image_angle',
+			'image_alpha','image_blend','bbox_left','bbox_right','bbox_top','bbox_bottom',
+			'background_color','background_showcolor','background_visible','background_foreground',
+			'background_index','background_x','background_y','background_width','background_height',
+			'background_htiled','background_vtiled','background_xscale','background_yscale',
+			'background_hspeed','background_vspeed','background_blend','background_alpha',
+			'background','left, top, width, height','x,y','depth','visible','xscale, yscale','blend','alpha',
+			'view_enabled','view_current','view_visible','view_yview','view_wview','view_hview','view_xport',
+			'view_yport','view_wport','view_hport','view_angle','view_hborder','view_vborder','view_hspeed',
+			'view_vspeed','view_object',
+			'transition_kind',
+			// Files, registry and executing programs
+			'game_id','working_directory','temp_directory',
+			'secure_mode',
+			// Creating particles
+			'xmin', 'xmax', 'ymin', 'ymax','shape','distribution','particle type','number',
+			'x', 'y', 'force','dist','kind','additive', 'friction', 'parttype1', 'parttype2'
+			),
+		// functions
+		3 => array(
+			// Computing things
+			'random','choose','abs','sign','round','floor','ceil','frac','sqrt','sqr','power','exp','ln',
+			'log2','log10','logn','sin','cos','tan','arcsin','arccos','arctan','arctan2','degtorad',
+			'radtodeg','min','max','mean','median','point_distance','point_direction','lengthdir_x',
+			'lengthdir_y','is_real','is_string',
+			'chr','ord','real','string','string_format','string_length','string_pos','string_copy',
+			'string_char_at','string_delete','string_insert','string_replace','string_replace_all',
+			'string_count','string_lower','string_upper','string_repeat','string_letters','string_digits',
+			'string_lettersdigits','clipboard_has_text','clipboard_get_text','clipboard_set_text',
+			'date_current_datetime','date_current_date','date_current_time','date_create_datetime',
+			'date_create_date','date_create_time','date_valid_datetime','date_valid_date','date_valid_time',
+			'date_inc_year','date_inc_month','date_inc_week','date_inc_day','date_inc_hour',
+			'date_inc_minute','date_inc_second','date_get_year','date_get_month','date_get_week',
+			'date_get_day','date_get_hour', 'date_get_minute','date_get_second','date_get_weekday',
+			'date_get_day_of_year','date_get_hour_of_year','date_get_minute_of_year',
+			'date_get_second_of_year','date_year_span','date_month_span','date_week_span','date_day_span',
+			'date_hour_span','date_minute_span','date_second_span','date_compare_datetime',
+			'date_compare_date','date_compare_time','date_date_of','date_time_of','date_datetime_string',
+			'date_date_string','date_time_string','date_days_in_month','date_days_in_year','date_leap_year',
+			'date_is_today',
+			// Game play
+			'motion_set','motion_add','place_free','place_empty','place_meeting','place_snapped',
+			'move_random','move_snap','move_wrap','move_towards_point','move_bounce_solid','move_bounce_all',
+			'move_contact_solid','move_contact_all','move_outside_solid','move_outside_all',
+			'distance_to_point','distance_to_object','position_empty','position_meeting',
+			'path_start','path_end',
+			'mp_linear_step','mp_linear_step_object','mp_potential_step','mp_potential_step_object',
+			'mp_potential_settings','mp_linear_path','mp_linear_path_object', 'mp_potential_path',
+			'mp_potential_path_object','mp_grid_create','mp_grid_destroy','mp_grid_clear_all',
+			'mp_grid_clear_cell','mp_grid_clear_rectangle','mp_grid_add_cell','mp_grid_add_rectangle',
+			'mp_grid_add_instances','mp_grid_path','mp_grid_draw',
+			'collision_point','collision_rectangle','collision_circle','collision_ellipse','collision_line',
+			'instance_find','instance_exists','instance_number','instance_position','instance_nearest',
+			'instance_furthest','instance_place','instance_create','instance_copy','instance_destroy',
+			'instance_change','position_destroy','position_change',
+			'instance_deactivate_all','instance_deactivate_object','instance_deactivate_region',
+			'instance_activate_all','instance_activate_object','instance_activate_region',
+			'sleep',
+			'room_goto','room_goto_previous','room_goto_next','room_restart','room_previous','room_next',
+			'game_end','game_restart','game_save','game_load',
+			'event_perform', 'event_perform_object','event_user','event_inherited',
+			'show_debug_message','variable_global_exists','variable_local_exists','variable_global_get',
+			'variable_global_array_get','variable_global_array2_get','variable_local_get',
+			'variable_local_array_get','variable_local_array2_get','variable_global_set',
+			'variable_global_array_set','variable_global_array2_set','variable_local_set',
+			'variable_local_array_set','variable_local_array2_set','set_program_priority',
+			// User interaction
+			'keyboard_set_map','keyboard_get_map','keyboard_unset_map','keyboard_check',
+			'keyboard_check_pressed','keyboard_check_released','keyboard_check_direct',
+			'keyboard_get_numlock','keyboard_set_numlock','keyboard_key_press','keyboard_key_release',
+			'keyboard_clear','io_clear','io_handle','keyboard_wait',
+			'mouse_check_button','mouse_check_button_pressed','mouse_check_button_released','mouse_clear',
+			'io_clear','io_handle','mouse_wait',
+			'joystick_exists','joystick_name','joystick_axes','joystick_buttons','joystick_has_pov',
+			'joystick_direction','joystick_check_button','joystick_xpos','joystick_ypos','joystick_zpos',
+			'joystick_rpos','joystick_upos','joystick_vpos','joystick_pov',
+			// Game Graphics
+			'draw_sprite','draw_sprite_stretched','draw_sprite_tiled','draw_sprite_part','draw_background',
+			'draw_background_stretched','draw_background_tiled','draw_background_part','draw_sprite_ext',
+			'draw_sprite_stretched_ext','draw_sprite_tiled_ext','draw_sprite_part_ext','draw_sprite_general',
+			'draw_background_ext','draw_background_stretched_ext','draw_background_tiled_ext',
+			'draw_background_part_ext','draw_background_general',
+			'draw_clear','draw_clear_alpha','draw_point','draw_line','draw_rectangle','draw_roundrect',
+			'draw_triangle','draw_circle','draw_ellipse','draw_arrow','draw_button','draw_path',
+			'draw_healthbar','draw_set_color','draw_set_alpha','draw_get_color','draw_get_alpha',
+			'make_color_rgb','make_color_hsv','color_get_red','color_get_green','color_get_blue',
+			'color_get_hue','color_get_saturation','color_get_value','merge_color','draw_getpixel',
+			'screen_save','screen_save_part',
+			'draw_set_font','draw_set_halign','draw_set_valign','draw_text','draw_text_ext','string_width',
+			'string_height','string_width_ext','string_height_ext','draw_text_transformed',
+			'draw_text_ext_transformed','draw_text_color','draw_text_ext_color',
+			'draw_text_transformed_color','draw_text_ext_transformed_color',
+			'draw_point_color','draw_line_color','draw_rectangle_color','draw_roundrect_color',
+			'draw_triangle_color','draw_circle_color','draw_ellipse_color','draw_primitive_begin',
+			'draw_vertex','draw_vertex_color','draw_primitive_end','sprite_get_texture',
+			'background_get_texture','texture_preload','texture_set_priority',
+			'texture_get_width','texture_get_height','draw_primitive_begin_texture','draw_vertex_texture',
+			'draw_vertex_texture_color','draw_primitive_end','texture_set_interpolation',
+			'texture_set_blending','texture_set_repeat','draw_set_blend_mode','draw_set_blend_mode_ext',
+			'surface_create','surface_free','surface_exists','surface_get_width','surface_get_height',
+			'surface_get_texture','surface_set_target','surface_reset_target','surface_getpixel',
+			'surface_save','surface_save_part','draw_surface','draw_surface_stretched','draw_surface_tiled',
+			'draw_surface_part','draw_surface_ext','draw_surface_stretched_ext','draw_surface_tiled_ext',
+			'draw_surface_part_ext','draw_surface_general','surface_copy','surface_copy_part',
+			'tile_add','tile_delete','tile_exists','tile_get_x','tile_get_y','tile_get_left','tile_get_top',
+			'tile_get_width','tile_get_height','tile_get_depth','tile_get_visible','tile_get_xscale',
+			'tile_get_yscale','tile_get_background','tile_get_blend','tile_get_alpha','tile_set_position',
+			'tile_set_region','tile_set_background','tile_set_visible','tile_set_depth','tile_set_scale',
+			'tile_set_blend','tile_set_alpha','tile_layer_hide','tile_layer_show','tile_layer_delete',
+			'tile_layer_shift','tile_layer_find','tile_layer_delete_at','tile_layer_depth',
+			'display_get_width','display_get_height','display_get_colordepth','display_get_frequency',
+			'display_set_size','display_set_colordepth','display_set_frequency','display_set_all',
+			'display_test_all','display_reset','display_mouse_get_x','display_mouse_get_y','display_mouse_set',
+			'window_set_visible','window_get_visible','window_set_fullscreen','window_get_fullscreen',
+			'window_set_showborder','window_get_showborder','window_set_showicons','window_get_showicons',
+			'window_set_stayontop','window_get_stayontop','window_set_sizeable','window_get_sizeable',
+			'window_set_caption','window_get_caption','window_set_cursor', 'window_get_cursor',
+			'window_set_color','window_get_color','window_set_region_scale','window_get_region_scale',
+			'window_set_position','window_set_size','window_set_rectangle','window_center','window_default',
+			'window_get_x','window_get_y','window_get_width','window_get_height','window_mouse_get_x',
+			'window_mouse_get_y','window_mouse_set',
+			'window_set_region_size','window_get_region_width','window_get_region_height',
+			'window_view_mouse_get_x','window_view_mouse_get_y','window_view_mouse_set',
+			'window_views_mouse_get_x','window_views_mouse_get_y','window_views_mouse_set',
+			'screen_redraw','screen_refresh','set_automatic_draw','set_synchronization','screen_wait_vsync',
+			// Sound and music)
+			'sound_play','sound_loop','sound_stop','sound_stop_all','sound_isplaying','sound_volume',
+			'sound_global_volume','sound_fade','sound_pan','sound_background_tempo','sound_set_search_directory',
+			'sound_effect_set','sound_effect_chorus','sound_effect_echo',	'sound_effect_flanger',
+			'sound_effect_gargle','sound_effect_reverb','sound_effect_compressor','sound_effect_equalizer',
+			'sound_3d_set_sound_position','sound_3d_set_sound_velocity','sound_3d_set_sound_distance',
+			'sound_3d_set_sound_cone',
+			'cd_init','cd_present','cd_number','cd_playing','cd_paused','cd_track','cd_length',
+			'cd_track_length','cd_position','cd_track_position','cd_play','cd_stop','cd_pause','cd_resume',
+			'cd_set_position','cd_set_track_position','cd_open_door','cd_close_door','MCI_command',
+			// Splash screens, highscores, and other pop-ups
+			'show_text','show_image','show_video','show_info','load_info',
+			'show_message','show_message_ext','show_question','get_integer','get_string',
+			'message_background','message_alpha','message_button','message_text_font','message_button_font',
+			'message_input_font','message_mouse_color','message_input_color','message_caption',
+			'message_position','message_size','show_menu','show_menu_pos','get_color','get_open_filename',
+			'get_save_filename','get_directory','get_directory_alt','show_error',
+			'highscore_show','highscore_set_background','highscore_set_border','highscore_set_font',
+			'highscore_set_colors','highscore_set_strings','highscore_show_ext','highscore_clear',
+			'highscore_add','highscore_add_current','highscore_value','highscore_name','draw_highscore',
+			// Resources
+			'sprite_exists','sprite_get_name','sprite_get_number','sprite_get_width','sprite_get_height',
+			'sprite_get_transparent','sprite_get_smooth','sprite_get_preload','sprite_get_xoffset',
+			'sprite_get_yoffset','sprite_get_bbox_left','sprite_get_bbox_right','sprite_get_bbox_top',
+			'sprite_get_bbox_bottom','sprite_get_bbox_mode','sprite_get_precise',
+			'sound_exists','sound_get_name','sound_get_kind','sound_get_preload','sound_discard',
+			'sound_restore',
+			'background_exists','background_get_name','background_get_width','background_get_height',
+			'background_get_transparent','background_get_smooth','background_get_preload',
+			'font_exists','font_get_name','font_get_fontname','font_get_bold','font_get_italic',
+			'font_get_first','font_get_last',
+			'path_exists','path_get_name','path_get_length','path_get_kind','path_get_closed',
+			'path_get_precision','path_get_number','path_get_point_x','path_get_point_y',
+			'path_get_point_speed','path_get_x','path_get_y','path_get_speed',
+			'script_exists','script_get_name','script_get_text',
+			'timeline_exists','timeline_get_name',
+			'object_exists','object_get_name','object_get_sprite','object_get_solid','object_get_visible',
+			'object_get_depth','object_get_persistent','object_get_mask','object_get_parent',
+			'object_is_ancestor',
+			'room_exists','room_get_name',
+			// Changing resources
+			'sprite_set_offset','sprite_set_bbox_mode','sprite_set_bbox','sprite_set_precise',
+			'sprite_duplicate','sprite_assign','sprite_merge','sprite_add','sprite_replace',
+			'sprite_create_from_screen','sprite_add_from_screen','sprite_create_from_surface',
+			'sprite_add_from_surface','sprite_delete','sprite_set_alpha_from_sprite',
+			'sound_add','sound_replace','sound_delete',
+			'background_duplicate','background_assign','background_add','background_replace',
+			'background_create_color','background_create_gradient','background_create_from_screen',
+			'background_create_from_surface','background_delete','background_set_alpha_from_background',
+			'font_add','font_add_sprite','font_replace_sprite','font_delete',
+			'path_set_kind','path_set_closed','path_set_precision','path_add','path_delete','path_duplicate',
+			'path_assign','path_append','path_add_point','path_insert_point','path_change_point',
+			'path_delete_point','path_clear_points','path_reverse','path_mirror','path_flip','path_rotate',
+			'path_scale','path_shift',
+			'execute_string','execute_file','script_execute',
+			'timeline_add','timeline_delete','timeline_moment_add','timeline_moment_clear',
+			'object_set_sprite','object_set_solid','object_set_visible','object_set_depth',
+			'object_set_persistent','object_set_mask','object_set_parent','object_add','object_delete',
+			'object_event_add','object_event_clear',
+			'room_set_width','room_set_height','room_set_caption','room_set_persistent','room_set_code',
+			'room_set_background_color','room_set_background','room_set_view','room_set_view_enabled',
+			'room_add','room_duplicate','room_assign','room_instance_add','room_instance_clear',
+			'room_tile_add','room_tile_add_ext','room_tile_clear',
+			// Files, registry and executing programs
+			'file_text_open_read','file_text_open_write','file_text_open_append','file_text_close',
+			'file_text_write_string','file_text_write_real','file_text_writeln','file_text_read_string',
+			'file_text_read_real','file_text_readln','file_text_eof','file_exists','file_delete',
+			'file_rename','file_copy','directory_exists','directory_create','file_find_first',
+			'file_find_next','file_find_close','file_attributes', 'filename_name','filename_path',
+			'filename_dir','filename_drive','filename_ext','filename_change_ext','file_bin_open',
+			'file_bin_rewrite','file_bin_close','file_bin_size','file_bin_position','file_bin_seek',
+			'file_bin_write_byte','file_bin_read_byte','parameter_count','parameter_string',
+			'environment_get_variable',
+			'registry_write_string','registry_write_real','registry_read_string','registry_read_real',
+			'registry_exists','registry_write_string_ext','registry_write_real_ext',
+			'registry_read_string_ext','registry_read_real_ext','registry_exists_ext','registry_set_root',
+			'ini_open','ini_close','ini_read_string','ini_read_real','ini_write_string','ini_write_real',
+			'ini_key_exists','ini_section_exists','ini_key_delete','ini_section_delete',
+			'execute_program','execute_shell',
+			// Data structures
+			'ds_stack_create','ds_stack_destroy','ds_stack_clear','ds_stack_size','ds_stack_empty',
+			'ds_stack_push','ds_stack_pop','ds_stack_top',
+			'ds_queue_create','ds_queue_destroy','ds_queue_clear','ds_queue_size','ds_queue_empty',
+			'ds_queue_enqueue','ds_queue_dequeue','ds_queue_head','ds_queue_tail',
+			'ds_list_create','ds_list_destroy','ds_list_clear','ds_list_size','ds_list_empty','ds_list_add',
+			'ds_list_insert','ds_list_replace','ds_list_delete','ds_list_find_index','ds_list_find_value',
+			'ds_list_sort',
+			'ds_map_create','ds_map_destroy','ds_map_clear','ds_map_size','ds_map_empty','ds_map_add',
+			'ds_map_replace','ds_map_delete','ds_map_exists','ds_map_find_value','ds_map_find_previous',
+			'ds_map_find_next','ds_map_find_first','ds_map_find_last',
+			'ds_priority_create','ds_priority_destroy','ds_priority_clear','ds_priority_size',
+			'ds_priority_empty','ds_priority_add','ds_priority_change_priority','ds_priority_find_priority',
+			'ds_priority_delete_value','ds_priority_delete_min','ds_priority_find_min',
+			'ds_priority_delete_max','ds_priority_find_max',
+			'ds_grid_create','ds_grid_destroy','ds_grid_resize','ds_grid_width','ds_grid_height',
+			'ds_grid_clear','ds_grid_set','ds_grid_add','ds_grid_multiply','ds_grid_set_region',
+			'ds_grid_add_region','ds_grid_multiply_region','ds_grid_set_disk','ds_grid_add_disk',
+			'ds_grid_multiply_disk','ds_grid_get','ds_grid_get_sum','ds_grid_get_max','ds_grid_get_min',
+			'ds_grid_get_mean','ds_grid_get_disk_sum','ds_grid_get_disk_min','ds_grid_get_disk_max',
+			'ds_grid_get_disk_mean','ds_grid_value_exists','ds_grid_value_x','ds_grid_value_y',
+			'ds_grid_value_disk_exists','ds_grid_value_disk_x','ds_grid_value_disk_y',
+			// Creating particles
+			'effect_create_below','effect_create_above','effect_clear',
+			'part_type_create','part_type_destroy','part_type_exists','part_type_clear','part_type_shape',
+			'part_type_sprite','part_type_size','part_type_scale',
+			'part_type_orientation','part_type_color1','part_type_color2','part_type_color3',
+			'part_type_color_mix','part_type_color_rgb','part_type_color_hsv',
+			'part_type_alpha1','part_type_alpha2','part_type_alpha3','part_type_blend','part_type_life',
+			'part_type_step','part_type_death','part_type_speed','part_type_direction','part_type_gravity',
+			'part_system_create','part_system_destroy','part_system_exists','part_system_clear',
+			'part_system_draw_order','part_system_depth','part_system_position',
+			'part_system_automatic_update','part_system_automatic_draw','part_system_update',
+			'part_system_drawit','part_particles_create','part_particles_create_color',
+			'part_particles_clear','part_particles_count',
+			'part_emitter_create','part_emitter_destroy','part_emitter_destroy_all','part_emitter_exists',
+			'part_emitter_clear','part_emitter_region','part_emitter_burst','part_emitter_stream',
+			'part_attractor_create','part_attractor_destroy','part_attractor_destroy_all',
+			'part_attractor_exists','part_attractor_clear','part_attractor_position','part_attractor_force',
+			'part_destroyer_create','part_destroyer_destroy','part_destroyer_destroy_all',
+			'part_destroyer_exists','part_destroyer_clear','part_destroyer_region',
+			'part_deflector_create','part_deflector_destroy','part_deflector_destroy_all',
+			'part_deflector_exists','part_deflector_clear','part_deflector_region','part_deflector_kind',
+			'part_deflector_friction',
+			'part_changer_create','part_changer_destroy','part_changer_destroy_all','part_changer_exists',
+			'part_changer_clear','part_changer_region','part_changer_types','part_changer_kind',
+			// Multiplayer games
+			'mplay_init_ipx','mplay_init_tcpip','mplay_init_modem','mplay_init_serial',
+			'mplay_connect_status','mplay_end','mplay_ipaddress',
+			'mplay_session_create','mplay_session_find','mplay_session_name','mplay_session_join',
+			'mplay_session_mode','mplay_session_status','mplay_session_end',
+			'mplay_player_find','mplay_player_name','mplay_player_id',
+			'mplay_data_write','mplay_data_read','mplay_data_mode',
+			'mplay_message_send','mplay_message_send_guaranteed','mplay_message_receive','mplay_message_id',
+			'mplay_message_value','mplay_message_player','mplay_message_name','mplay_message_count',
+			'mplay_message_clear',
+			// Using DLL's
+			'external_define','external_call','external_free','execute_string','execute_file','window_handle',
+			// 3D Graphics
+			'd3d_start','d3d_end','d3d_set_hidden','d3d_set_perspective',
+			'd3d_set_depth',
+			'd3d_primitive_begin','d3d_vertex','d3d_vertex_color','d3d_primitive_end',
+			'd3d_primitive_begin_texture','d3d_vertex_texture','d3d_vertex_texture_color','d3d_set_culling',
+			'd3d_draw_block','d3d_draw_cylinder','d3d_draw_cone','d3d_draw_ellipsoid','d3d_draw_wall',
+			'd3d_draw_floor',
+			'd3d_set_projection','d3d_set_projection_ext','d3d_set_projection_ortho',
+			'd3d_set_projection_perspective',
+			'd3d_transform_set_identity','d3d_transform_set_translation','d3d_transform_set_scaling',
+			'd3d_transform_set_rotation_x','d3d_transform_set_rotation_y','d3d_transform_set_rotation_z',
+			'd3d_transform_set_rotation_axis','d3d_transform_add_translation','d3d_transform_add_scaling',
+			'd3d_transform_add_rotation_x','d3d_transform_add_rotation_y','d3d_transform_add_rotation_z',
+			'd3d_transform_add_rotation_axis','d3d_transform_stack_clear','d3d_transform_stack_empty',
+			'd3d_transform_stack_push','d3d_transform_stack_pop','d3d_transform_stack_top',
+			'd3d_transform_stack_discard',
+			'd3d_set_fog',
+			'd3d_set_lighting','d3d_set_shading','d3d_light_define_direction','d3d_light_define_point',
+			'd3d_light_enable','d3d_vertex_normal','d3d_vertex_normal_color','d3d_vertex_normal_texture',
+			'd3d_vertex_normal_texture_color',
+			'd3d_model_create','d3d_model_destroy','d3d_model_clear','d3d_model_save','d3d_model_load',
+			'd3d_model_draw','d3d_model_primitive_begin','d3d_model_vertex','d3d_model_vertex_color',
+			'd3d_model_vertex_texture','d3d_model_vertex_texture_color','d3d_model_vertex_normal',
+			'd3d_model_vertex_normal_color','d3d_model_vertex_normal_texture',
+			'd3d_model_vertex_normal_texture_color','d3d_model_primitive_end','d3d_model_block',
+			'd3d_model_cylinder','d3d_model_cone','d3d_model_ellipsoid','d3d_model_wall','d3d_model_floor'
+			),
+		// constants
+		4 => array(
+			'true', 'false', 'pi',
+			'ev_destroy','ev_step','ev_alarm','ev_keyboard','ev_mouse','ev_collision','ev_other','ev_draw',
+			'ev_keypress','ev_keyrelease','ev_left_button','ev_right_button','ev_middle_button',
+			'ev_no_button','ev_left_press','ev_right_press','ev_middle_press','ev_left_release',
+			'ev_right_release','ev_middle_release','ev_mouse_enter','ev_mouse_leave','ev_mouse_wheel_up',
+			'ev_mouse_wheel_down','ev_global_left_button','ev_global_right_button','ev_global_middle_button',
+			'ev_global_left_press','ev_global_right_press','ev_global_middle_press','ev_global_left_release',
+			'ev_global_right_release','ev_global_middle_release','ev_joystick1_left','ev_joystick1_right',
+			'ev_joystick1_up','ev_joystick1_down','ev_joystick1_button1','ev_joystick1_button2',
+			'ev_joystick1_button3','ev_joystick1_button4','ev_joystick1_button5','ev_joystick1_button6',
+			'ev_joystick1_button7','ev_joystick1_button8','ev_joystick2_left','ev_joystick2_right',
+			'ev_joystick2_up','ev_joystick2_down','ev_joystick2_button1','ev_joystick2_button2',
+			'ev_joystick2_button3','ev_joystick2_button4','ev_joystick2_button5','ev_joystick2_button6',
+			'ev_joystick2_button7','ev_joystick2_button8',
+			'ev_outside','ev_boundary','ev_game_start','ev_game_end','ev_room_start','ev_room_end',
+			'ev_no_more_lives','ev_no_more_health','ev_animation_end','ev_end_of_path','ev_user0','ev_user1',
+			'ev_user2','ev_user3','ev_user4','ev_user5','ev_user6','ev_user7','ev_user8','ev_user9',
+			'ev_user10','ev_user11','ev_user12','ev_user13','ev_user14','ev_user15','ev_step_normal',
+			'ev_step_begin','ev_step_end',
+			'vk_nokey','vk_anykey','vk_left','vk_right','vk_up','vk_down','vk_enter','vk_escape','vk_space',
+			'vk_shift','vk_control','vk_alt','vk_backspace','vk_tab','vk_home','vk_end','vk_delete',
+			'vk_insert','vk_pageup','vk_pagedown','vk_pause','vk_printscreen',
+			'vk_f1','vk_f2','vk_f3','vk_f4','vk_f5','vk_f6','vk_f7','vk_f8','vk_f9','vk_f10','vk_f11','vk_f12',
+			'vk_numpad0','vk_numpad1','vk_numpad2','vk_numpad3','vk_numpad4','vk_numpad5','vk_numpad6',
+			'vk_numpad7','vk_numpad8','vk_numpad9', 'vk_multiply','vk_divide','vk_add','vk_subtract',
+			'vk_decimal','vk_lshift','vk_lcontrol','vk_lalt','vk_rshift','vk_rcontrol','vk_ralt',
+			'c_aqua','c_black','c_blue','c_dkgray','c_fuchsia','c_gray','c_green','c_lime','c_ltgray',
+			'c_maroon','c_navy','c_olive','c_purple','c_red','c_silver','c_teal','c_white','c_yellow',
+			'fa_left', 'fa_center','fa_right','fa_top','fa_middle','fa_bottom',
+			'pr_pointlist','pr_linelist','pr_linestrip','pr_trianglelist','pr_trianglestrip',
+			'pr_trianglefan',
+			'cr_none','cr_arrow','cr_cross','cr_beam','cr_size_nesw','cr_size_ns','cr_size_nwse',
+			'cr_size_we','cr_uparrow','cr_hourglass','cr_drag','cr_nodrop','cr_hsplit','cr_vsplit',
+			'cr_multidrag','cr_sqlwait','cr_no','cr_appstart','cr_help','cr_handpoint','cr_size_all',
+			'se_chorus','se_echo','se_flanger','se_gargle','se_reverb','se_compressor','se_equalizer',
+			'fa_readonly','fa_hidden','fa_sysfile','fa_volumeid','fa_directory','fa_archive',
+			'pt_shape_pixel','pt_shape_disk','pt_shape_square','pt_shape_line','pt_shape_star',
+			'pt_shape_circle','pt_shape_ring','pt_shape_sphere','pt_shape_flare','pt_shape_spark',
+			'pt_shape_explosion','pt_shape_cloud','pt_shape_smoke','pt_shape_snow',
+			'ps_shape_rectangle','ps_shape_ellipse ','ps_shape_diamond','ps_shape_line',
+			'ps_distr_linear','ps_distr_gaussian','ps_force_constant','ps_force_linear','ps_force_quadratic',
+			'ps_deflect_horizontal', 'ps_deflect_vertical',
+			'ps_change_motion','ps_change_shape','ps_change_all'
+			),
+		),
+	'SYMBOLS' => array(
+		'(', ')', '{', '}', '[', ']', '&&', '||', '^^', '<', '<=', '==', '!=', '>', '>=',
+		'|', '&', '^', '<<', '>>', '+', '-', '*', '/', '!', '-', '~'
+		),
+	'CASE_SENSITIVE' => array(
+		GESHI_COMMENTS => false,
+		1 => true,
+		2 => true,
+		3 => true,
+		4 => true,
+		),
+	'STYLES' => array(
+		'KEYWORDS' => array(
+			1 => 'font-weight: bold; color: #000000;',
+			2 => 'font-weight: bold; color: #000000;',
+			3 => 'color: navy;',
+			4 => 'color: #663300;',
+			),
+		'COMMENTS' => array(
+			1 => 'font-style: italic; color: green;',
+			'MULTI' => 'font-style: italic; color: green;'
+			),
+		'ESCAPE_CHAR' => array(
+			0 => 'color: #000099; font-weight: bold;'
+			),
+		'BRACKETS' => array(
+			0 => 'color: #000000;' //'color: #66cc66;'
+			),
+		'STRINGS' => array(
+			0 => 'color: #ff0000;'
+			),
+		'NUMBERS' => array(
+			0 => 'color: #cc66cc;'
+			),
+		'METHODS' => array(
+			1 => 'color: #202020;'
+			),
+		'SYMBOLS' => array(
+			0 => 'color: #66cc66; font-weight: bold;'
+			),
+		'REGEXPS' => array(
+			),
+		'SCRIPT' => array(
+			)
+		),
+	'URLS' => array(
+		1 => '',
+		2 => '',
+		// All GML functions have been indexed, but need some corrections.
+		3 => 'http://www.zonamakers.com/gmlreference/{FNAME}.html', // (provisional, could change soon!)
+		4 => ''
+		),
+	'OOLANG' => true,
+	'OBJECT_SPLITTERS' => array(
+		1 => '.'
+		),
+	'REGEXPS' => array(
+		),
+	'STRICT_MODE_APPLIES' => GESHI_NEVER,
+	'SCRIPT_DELIMITERS' => array(
+		),
+	'HIGHLIGHT_STRICT_BLOCK' => array(
+		)
+);
+
+?>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/plugins/geshi/geshi/groovy.php	Sun Feb 10 18:10:52 2008 -0500
@@ -0,0 +1,2117 @@
+<?php
+/*************************************************************************************
+ * groovy.php
+ * ----------
+ * Author: Ivan F. Villanueva B. (geshi_groovy@artificialidea.com)
+ * Copyright: (c) 2006 Ivan F. Villanueva B.(http://www.artificialidea.com)
+ * Release Version: 1.0.7.20
+ * Date Started: 2006/04/29
+ *
+ * Groovy language file for GeSHi.
+ *
+ * Keywords from http: http://docs.codehaus.org/download/attachments/2715/groovy-reference-card.pdf?version=1
+ *
+ * CHANGES
+ * -------
+ * 2006/04/29 (1.0.0)
+ *   -  First Release
+ *
+ * TODO (updated 2006/04/29)
+ * -------------------------
+ * Testing
+ *
+ *************************************************************************************
+ *
+ *     This file is part of GeSHi.
+ *
+ *   GeSHi is free software; you can 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.
+ *
+ *   GeSHi is distributed in the hope that it will be useful,
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *   GNU General Public License for more details.
+ *
+ *   You should have received a copy of the GNU General Public License
+ *   along with GeSHi; if not, write to the Free Software
+ *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
+ ************************************************************************************/
+
+$language_data = array (
+	'LANG_NAME' => 'Groovy',
+	'COMMENT_SINGLE' => array(1 => '//', 2 => 'import', 3 => '#'),
+	'COMMENT_MULTI' => array('/*' => '*/'),
+	'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+	'QUOTEMARKS' => array("'''", '"""', "'", '"'),
+	'ESCAPE_CHAR' => '\\',
+	'KEYWORDS' => array(
+		1 => array(
+			'||',
+			'while',
+			'switch',
+			'in',
+			'if',
+			'foreach',
+			'for',
+			'else',
+			'do',
+			'case',
+			'=&gt;',
+			'--',
+			'++',
+			'&lt;&lt;',
+			'&lt;&lt;&lt;',
+			'&&'
+			),
+		2 => array(
+			'volatile',
+			'try',
+			'true',
+			'transient',
+			'throws',
+			'throw',
+			'this',
+			'synchronized',
+			'super',
+			'strictfp',
+			'static',
+			'return',
+			'public',
+			'protected',
+			'property',
+			'private',
+			'package',
+			'null',
+			'new',
+			'native',
+			'interface',
+			'instanceof',
+			'implements',
+			'goto',
+			'finally',
+			'final',
+			'false',
+			'extends',
+			'enum',
+			'default',
+			'def',
+			'continue',
+			'const',
+			'class',
+			'catch',
+			'break',
+			'assert',
+			'abstract',
+			'as'
+			),
+		3 => array(
+			'_Remote_Stub',
+			'_PolicyStub',
+			'_NamingContextStub',
+			'_NamingContextImplBase',
+			'_IDLTypeStub',
+			'_BindingIteratorStub',
+			'_BindingIteratorImplBase',
+			'ZoneView',
+			'ZipOutputStream',
+			'ZipInputStream',
+			'ZipFile',
+			'ZipException',
+			'ZipEntry',
+			'X509Extension',
+			'X509EncodedKeySpec',
+			'X509Certificate',
+			'X509CRLEntry',
+			'X509CRL',
+			'WrongTransaction',
+			'Writer',
+			'WriteAbortedException',
+			'WritableRenderedImage',
+			'WritableRaster',
+			'WrappedPlainView',
+			'WindowListener',
+			'WindowEvent',
+			'WindowConstants',
+			'WindowAdapter',
+			'Window',
+			'WeakReference',
+			'WeakHashMap',
+			'WStringValueHelper',
+			'WCharSeqHolder',
+			'WCharSeqHelper',
+			'Void',
+			'VoiceStatus',
+			'VisibilityHelper',
+			'Visibility',
+			'VirtualMachineError',
+			'ViewportUI',
+			'ViewportLayout',
+			'ViewFactory',
+			'View',
+			'VetoableChangeSupport',
+			'VetoableChangeListener',
+			'VersionSpecHelper',
+			'VerifyError',
+			'Vector',
+			'VariableHeightLayoutCache',
+			'ValueMemberHelper',
+			'ValueMember',
+			'ValueHandler',
+			'ValueFactory',
+			'ValueBaseHolder',
+			'ValueBaseHelper',
+			'ValueBase',
+			'VM_TRUNCATABLE',
+			'VM_NONE',
+			'VM_CUSTOM',
+			'VM_ABSTRACT',
+			'VMID',
+			'Utilities',
+			'UtilDelegate',
+			'Util',
+			'UserException',
+			'UnsupportedOperationException',
+			'UnsupportedLookAndFeelException',
+			'UnsupportedFlavorException',
+			'UnsupportedEncodingException',
+			'UnsupportedClassVersionError',
+			'UnsupportedAudioFileException',
+			'UnsolicitedNotificationListener',
+			'UnsolicitedNotificationEvent',
+			'UnsolicitedNotification',
+			'UnsatisfiedLinkError',
+			'UnresolvedPermission',
+			'Unreferenced',
+			'UnrecoverableKeyException',
+			'UnmarshalException',
+			'UnknownUserException',
+			'UnknownServiceException',
+			'UnknownObjectException',
+			'UnknownHostException',
+			'UnknownHostException',
+			'UnknownGroupException',
+			'UnknownException',
+			'UnknownError',
+			'UnionMemberHelper',
+			'UnionMember',
+			'UnicastRemoteObject',
+			'UnexpectedException',
+			'UndoableEditSupport',
+			'UndoableEditListener',
+			'UndoableEditEvent',
+			'UndoableEdit',
+			'UndoManager',
+			'UndeclaredThrowableException',
+			'UTFDataFormatException',
+			'UShortSeqHolder',
+			'UShortSeqHelper',
+			'URLStreamHandlerFactory',
+			'URLStreamHandler',
+			'URLEncoder',
+			'URLDecoder',
+			'URLConnection',
+			'URLClassLoader',
+			'URL',
+			'UNSUPPORTED_POLICY_VALUE',
+			'UNSUPPORTED_POLICY',
+			'UNKNOWN',
+			'ULongSeqHolder',
+			'ULongSeqHelper',
+			'ULongLongSeqHolder',
+			'ULongLongSeqHelper',
+			'UIResource',
+			'UIManager.LookAndFeelInfo',
+			'UIManager',
+			'UIDefaults.ProxyLazyValue',
+			'UIDefaults.LazyValue',
+			'UIDefaults.LazyInputMap',
+			'UIDefaults.ActiveValue',
+			'UIDefaults',
+			'UID',
+			'Types',
+			'TypeMismatch',
+			'TypeCodeHolder',
+			'TypeCode',
+			'TreeWillExpandListener',
+			'TreeUI',
+			'TreeSet',
+			'TreeSelectionModel',
+			'TreeSelectionListener',
+			'TreeSelectionEvent',
+			'TreePath',
+			'TreeNode',
+			'TreeModelListener',
+			'TreeModelEvent',
+			'TreeModel',
+			'TreeMap',
+			'TreeExpansionListener',
+			'TreeExpansionEvent',
+			'TreeCellRenderer',
+			'TreeCellEditor',
+			'Transparency',
+			'Transmitter',
+			'TransformAttribute',
+			'Transferable',
+			'TransactionRolledbackException',
+			'TransactionRequiredException',
+			'Track',
+			'Toolkit',
+			'ToolTipUI',
+			'ToolTipManager',
+			'ToolBarUI',
+			'TooManyListenersException',
+			'TitledBorder',
+			'Timestamp',
+			'TimerTask',
+			'Timer',
+			'Timer',
+			'TimeZone',
+			'TimeLimitExceededException',
+			'Time',
+			'TileObserver',
+			'Tie',
+			'Throwable',
+			'ThreadLocal',
+			'ThreadGroup',
+			'ThreadDeath',
+			'Thread',
+			'TexturePaint',
+			'TextUI',
+			'TextMeasurer',
+			'TextListener',
+			'TextLayout.CaretPolicy',
+			'TextLayout',
+			'TextHitInfo',
+			'TextField',
+			'TextEvent',
+			'TextComponent',
+			'TextAttribute',
+			'TextArea',
+			'TextAction',
+			'TargetDataLine',
+			'TagElement',
+			'TableView',
+			'TableUI',
+			'TableModelListener',
+			'TableModelEvent',
+			'TableModel',
+			'TableHeaderUI',
+			'TableColumnModelListener',
+			'TableColumnModelEvent',
+			'TableColumnModel',
+			'TableColumn',
+			'TableCellRenderer',
+			'TableCellEditor',
+			'TabbedPaneUI',
+			'TabableView',
+			'TabStop',
+			'TabSet',
+			'TabExpander',
+			'TRANSIENT',
+			'TRANSACTION_ROLLEDBACK',
+			'TRANSACTION_REQUIRED',
+			'TCKind',
+			'SystemFlavorMap',
+			'SystemException',
+			'SystemColor',
+			'System',
+			'SysexMessage',
+			'Synthesizer',
+			'SyncFailedException',
+			'SwingUtilities',
+			'SwingPropertyChangeSupport',
+			'SwingConstants',
+			'StyledEditorKit.UnderlineAction',
+			'StyledEditorKit.StyledTextAction',
+			'StyledEditorKit.ItalicAction',
+			'StyledEditorKit.ForegroundAction',
+			'StyledEditorKit.FontSizeAction',
+			'StyledEditorKit.FontFamilyAction',
+			'StyledEditorKit.BoldAction',
+			'StyledEditorKit.AlignmentAction',
+			'StyledEditorKit',
+			'StyledDocument',
+			'StyleSheet.ListPainter',
+			'StyleSheet.BoxPainter',
+			'StyleSheet',
+			'StyleContext',
+			'StyleConstants.ParagraphConstants',
+			'StyleConstants.FontConstants',
+			'StyleConstants.ColorConstants',
+			'StyleConstants.CharacterConstants',
+			'StyleConstants',
+			'Style',
+			'StubNotFoundException',
+			'StubDelegate',
+			'Stub',
+			'StructMemberHelper',
+			'StructMember',
+			'Struct',
+			'Stroke',
+			'StringWriter',
+			'StringValueHelper',
+			'StringTokenizer',
+			'StringSelection',
+			'StringRefAddr',
+			'StringReader',
+			'StringIndexOutOfBoundsException',
+			'StringHolder',
+			'StringContent',
+			'StringCharacterIterator',
+			'StringBufferInputStream',
+			'StringBuffer',
+			'String',
+			'StrictMath',
+			'StreamableValue',
+			'Streamable',
+			'StreamTokenizer',
+			'StreamCorruptedException',
+			'Statement',
+			'StateFactory',
+			'StateEditable',
+			'StateEdit',
+			'StackOverflowError',
+			'Stack',
+			'SplitPaneUI',
+			'SourceDataLine',
+			'SoundbankResource',
+			'SoundbankReader',
+			'Soundbank',
+			'SortedSet',
+			'SortedMap',
+			'SoftReference',
+			'SoftBevelBorder',
+			'SocketSecurityException',
+			'SocketPermission',
+			'SocketOptions',
+			'SocketImplFactory',
+			'SocketImpl',
+			'SocketException',
+			'Socket',
+			'SliderUI',
+			'SkeletonNotFoundException',
+			'SkeletonMismatchException',
+			'Skeleton',
+			'SizeSequence',
+			'SizeRequirements',
+			'SizeLimitExceededException',
+			'SingleSelectionModel',
+			'SinglePixelPackedSampleModel',
+			'SimpleTimeZone',
+			'SimpleDateFormat',
+			'SimpleBeanInfo',
+			'SimpleAttributeSet',
+			'Signer',
+			'SignedObject',
+			'SignatureSpi',
+			'SignatureException',
+			'Signature',
+			'ShortSeqHolder',
+			'ShortSeqHelper',
+			'ShortMessage',
+			'ShortLookupTable',
+			'ShortHolder',
+			'Short',
+			'ShapeGraphicAttribute',
+			'Shape',
+			'SetOverrideTypeHelper',
+			'SetOverrideType',
+			'Set',
+			'ServiceUnavailableException',
+			'ServiceInformationHolder',
+			'ServiceInformationHelper',
+			'ServiceInformation',
+			'ServiceDetailHelper',
+			'ServiceDetail',
+			'ServerSocket',
+			'ServerRuntimeException',
+			'ServerRequest',
+			'ServerRef',
+			'ServerNotActiveException',
+			'ServerException',
+			'ServerError',
+			'ServerCloneException',
+			'ServantObject',
+			'SerializablePermission',
+			'Serializable',
+			'Sequencer.SyncMode',
+			'Sequencer',
+			'SequenceInputStream',
+			'Sequence',
+			'SeparatorUI',
+			'Segment',
+			'SecurityPermission',
+			'SecurityManager',
+			'SecurityException',
+			'Security',
+			'SecureRandomSpi',
+			'SecureRandom',
+			'SecureClassLoader',
+			'SearchResult',
+			'SearchControls',
+			'Scrollbar',
+			'Scrollable',
+			'ScrollPaneUI',
+			'ScrollPaneLayout.UIResource',
+			'ScrollPaneLayout',
+			'ScrollPaneConstants',
+			'ScrollPane',
+			'ScrollBarUI',
+			'SchemaViolationException',
+			'SampleModel',
+			'SQLWarning',
+			'SQLPermission',
+			'SQLOutput',
+			'SQLInput',
+			'SQLException',
+			'SQLData',
+			'RuntimePermission',
+			'RuntimeException',
+			'Runtime',
+			'Runnable',
+			'RunTimeOperations',
+			'RunTime',
+			'RuleBasedCollator',
+			'RowMapper',
+			'RoundRectangle2D.Float',
+			'RoundRectangle2D.Double',
+			'RoundRectangle2D',
+			'RootPaneUI',
+			'RootPaneContainer',
+			'Robot',
+			'ReverbType',
+			'ResultSetMetaData',
+			'ResultSet',
+			'ResponseHandler',
+			'ResourceBundle',
+			'Resolver',
+			'ResolveResult',
+			'RescaleOp',
+			'Request',
+			'RepositoryIdHelper',
+			'Repository',
+			'ReplicateScaleFilter',
+			'RepaintManager',
+			'RenderingHints.Key',
+			'RenderingHints',
+			'Renderer',
+			'RenderedImageFactory',
+			'RenderedImage',
+			'RenderableImageProducer',
+			'RenderableImageOp',
+			'RenderableImage',
+			'RenderContext',
+			'RemoteStub',
+			'RemoteServer',
+			'RemoteRef',
+			'RemoteObject',
+			'RemoteException',
+			'RemoteCall',
+			'Remote',
+			'RemarshalException',
+			'RegistryHandler',
+			'Registry',
+			'ReflectPermission',
+			'ReferralException',
+			'Referenceable',
+			'ReferenceQueue',
+			'Reference',
+			'RefAddr',
+			'Ref',
+			'RectangularShape',
+			'Rectangle2D.Float',
+			'Rectangle2D.Double',
+			'Rectangle2D',
+			'Rectangle',
+			'Receiver',
+			'Reader',
+			'RasterOp',
+			'RasterFormatException',
+			'Raster',
+			'RandomAccessFile',
+			'Random',
+			'RTFEditorKit',
+			'RSAPublicKeySpec',
+			'RSAPublicKey',
+			'RSAPrivateKeySpec',
+			'RSAPrivateKey',
+			'RSAPrivateCrtKeySpec',
+			'RSAPrivateCrtKey',
+			'RSAKeyGenParameterSpec',
+			'RSAKey',
+			'RMISocketFactory',
+			'RMIServerSocketFactory',
+			'RMISecurityManager',
+			'RMISecurityException',
+			'RMIFailureHandler',
+			'RMIClientSocketFactory',
+			'RMIClassLoader',
+			'RGBImageFilter',
+			'QuadCurve2D.Float',
+			'QuadCurve2D.Double',
+			'QuadCurve2D',
+			'PushbackReader',
+			'PushbackInputStream',
+			'PublicKey',
+			'Proxy',
+			'ProviderException',
+			'Provider',
+			'ProtocolException',
+			'ProtectionDomain',
+			'PropertyVetoException',
+			'PropertyResourceBundle',
+			'PropertyPermission',
+			'PropertyEditorSupport',
+			'PropertyEditorManager',
+			'PropertyEditor',
+			'PropertyDescriptor',
+			'PropertyChangeSupport',
+			'PropertyChangeListener',
+			'PropertyChangeEvent',
+			'Properties',
+			'ProgressMonitorInputStream',
+			'ProgressMonitor',
+			'ProgressBarUI',
+			'ProfileDataException',
+			'Process',
+			'PrivilegedExceptionAction',
+			'PrivilegedActionException',
+			'PrivilegedAction',
+			'PrivateKey',
+			'PrinterJob',
+			'PrinterIOException',
+			'PrinterGraphics',
+			'PrinterException',
+			'PrinterAbortException',
+			'Printable',
+			'PrintWriter',
+			'PrintStream',
+			'PrintJob',
+			'PrintGraphics',
+			'PrincipalHolder',
+			'Principal',
+			'Principal',
+			'PreparedStatement',
+			'Position.Bias',
+			'Position',
+			'PortableRemoteObjectDelegate',
+			'PortableRemoteObject',
+			'Port.Info',
+			'Port',
+			'PopupMenuUI',
+			'PopupMenuListener',
+			'PopupMenuEvent',
+			'PopupMenu',
+			'Polygon',
+			'PolicyTypeHelper',
+			'PolicyOperations',
+			'PolicyListHolder',
+			'PolicyListHelper',
+			'PolicyHolder',
+			'PolicyHelper',
+			'PolicyError',
+			'Policy',
+			'Policy',
+			'Point2D.Float',
+			'Point2D.Double',
+			'Point2D',
+			'Point',
+			'PlainView',
+			'PlainDocument',
+			'PixelInterleavedSampleModel',
+			'PixelGrabber',
+			'PipedWriter',
+			'PipedReader',
+			'PipedOutputStream',
+			'PipedInputStream',
+			'PhantomReference',
+			'Permissions',
+			'PermissionCollection',
+			'Permission',
+			'Permission',
+			'PathIterator',
+			'Patch',
+			'PasswordView',
+			'PasswordAuthentication',
+			'PartialResultException',
+			'ParserDelegator',
+			'Parser',
+			'ParsePosition',
+			'ParseException',
+			'ParameterDescriptor',
+			'ParameterBlock',
+			'ParagraphView',
+			'ParagraphView',
+			'Paper',
+			'PanelUI',
+			'Panel',
+			'PaintEvent',
+			'PaintContext',
+			'Paint',
+			'Pageable',
+			'PageFormat',
+			'PageAttributes.PrintQualityType',
+			'PageAttributes.OriginType',
+			'PageAttributes.OrientationRequestedType',
+			'PageAttributes.MediaType',
+			'PageAttributes.ColorType',
+			'PageAttributes',
+			'PackedColorModel',
+			'Package',
+			'PUBLIC_MEMBER',
+			'PRIVATE_MEMBER',
+			'PKCS8EncodedKeySpec',
+			'PERSIST_STORE',
+			'Owner',
+			'OverlayLayout',
+			'OutputStreamWriter',
+			'OutputStream',
+			'OutOfMemoryError',
+			'OptionalDataException',
+			'OptionPaneUI',
+			'Option',
+			'OperationNotSupportedException',
+			'Operation',
+			'OpenType',
+			'OctetSeqHolder',
+			'OctetSeqHelper',
+			'Observer',
+			'Observable',
+			'ObjectView',
+			'ObjectStreamField',
+			'ObjectStreamException',
+			'ObjectStreamConstants',
+			'ObjectStreamClass',
+			'ObjectOutputStream.PutField',
+			'ObjectOutputStream',
+			'ObjectOutput',
+			'ObjectInputValidation',
+			'ObjectInputStream.GetField',
+			'ObjectInputStream',
+			'ObjectInput',
+			'ObjectImpl',
+			'ObjectImpl',
+			'ObjectHolder',
+			'ObjectHelper',
+			'ObjectFactoryBuilder',
+			'ObjectFactory',
+			'ObjectChangeListener',
+			'Object',
+			'ObjID',
+			'ORB',
+			'OMGVMCID',
+			'OBJ_ADAPTER',
+			'OBJECT_NOT_EXIST',
+			'NumberFormatException',
+			'NumberFormat',
+			'Number',
+			'NullPointerException',
+			'NotSerializableException',
+			'NotOwnerException',
+			'NotFoundReasonHolder',
+			'NotFoundReasonHelper',
+			'NotFoundReason',
+			'NotFoundHolder',
+			'NotFoundHelper',
+			'NotFound',
+			'NotEmptyHolder',
+			'NotEmptyHelper',
+			'NotEmpty',
+			'NotContextException',
+			'NotBoundException',
+			'NotActiveException',
+			'NoninvertibleTransformException',
+			'NoSuchProviderException',
+			'NoSuchObjectException',
+			'NoSuchMethodException',
+			'NoSuchMethodError',
+			'NoSuchFieldException',
+			'NoSuchFieldError',
+			'NoSuchElementException',
+			'NoSuchAttributeException',
+			'NoSuchAlgorithmException',
+			'NoRouteToHostException',
+			'NoPermissionException',
+			'NoInitialContextException',
+			'NoClassDefFoundError',
+			'NetPermission',
+			'NegativeArraySizeException',
+			'NamingSecurityException',
+			'NamingManager',
+			'NamingListener',
+			'NamingExceptionEvent',
+			'NamingException',
+			'NamingEvent',
+			'NamingEnumeration',
+			'NamingContextOperations',
+			'NamingContextHolder',
+			'NamingContextHelper',
+			'NamingContext',
+			'Naming',
+			'NamespaceChangeListener',
+			'NamedValue',
+			'NameValuePairHelper',
+			'NameValuePair',
+			'NameParser',
+			'NameNotFoundException',
+			'NameHolder',
+			'NameHelper',
+			'NameComponentHolder',
+			'NameComponentHelper',
+			'NameComponent',
+			'NameClassPair',
+			'NameAlreadyBoundException',
+			'Name',
+			'NVList',
+			'NO_RESPONSE',
+			'NO_RESOURCES',
+			'NO_PERMISSION',
+			'NO_MEMORY',
+			'NO_IMPLEMENT',
+			'MutableTreeNode',
+			'MutableComboBoxModel',
+			'MutableAttributeSet',
+			'MultipleMaster',
+			'MulticastSocket',
+			'MultiViewportUI',
+			'MultiTreeUI',
+			'MultiToolTipUI',
+			'MultiToolBarUI',
+			'MultiTextUI',
+			'MultiTableUI',
+			'MultiTableHeaderUI',
+			'MultiTabbedPaneUI',
+			'MultiSplitPaneUI',
+			'MultiSliderUI',
+			'MultiSeparatorUI',
+			'MultiScrollPaneUI',
+			'MultiScrollBarUI',
+			'MultiProgressBarUI',
+			'MultiPopupMenuUI',
+			'MultiPixelPackedSampleModel',
+			'MultiPanelUI',
+			'MultiOptionPaneUI',
+			'MultiMenuItemUI',
+			'MultiMenuBarUI',
+			'MultiLookAndFeel',
+			'MultiListUI',
+			'MultiLabelUI',
+			'MultiInternalFrameUI',
+			'MultiFileChooserUI',
+			'MultiDesktopPaneUI',
+			'MultiDesktopIconUI',
+			'MultiComboBoxUI',
+			'MultiColorChooserUI',
+			'MultiButtonUI',
+			'MouseMotionListener',
+			'MouseMotionAdapter',
+			'MouseListener',
+			'MouseInputListener',
+			'MouseInputAdapter',
+			'MouseEvent',
+			'MouseDragGestureRecognizer',
+			'MouseAdapter',
+			'Modifier',
+			'ModificationItem',
+			'MixerProvider',
+			'Mixer.Info',
+			'Mixer',
+			'MissingResourceException',
+			'MinimalHTMLWriter',
+			'MimeTypeParseException',
+			'MidiUnavailableException',
+			'MidiSystem',
+			'MidiMessage',
+			'MidiFileWriter',
+			'MidiFileReader',
+			'MidiFileFormat',
+			'MidiEvent',
+			'MidiDeviceProvider',
+			'MidiDevice.Info',
+			'MidiDevice',
+			'MidiChannel',
+			'MethodDescriptor',
+			'Method',
+			'MetalTreeUI',
+			'MetalToolTipUI',
+			'MetalToolBarUI',
+			'MetalToggleButtonUI',
+			'MetalTheme',
+			'MetalTextFieldUI',
+			'MetalTabbedPaneUI',
+			'MetalSplitPaneUI',
+			'MetalSliderUI',
+			'MetalSeparatorUI',
+			'MetalScrollPaneUI',
+			'MetalScrollButton',
+			'MetalScrollBarUI',
+			'MetalRadioButtonUI',
+			'MetalProgressBarUI',
+			'MetalPopupMenuSeparatorUI',
+			'MetalLookAndFeel',
+			'MetalLabelUI',
+			'MetalInternalFrameUI',
+			'MetalInternalFrameTitlePane',
+			'MetalIconFactory.TreeLeafIcon',
+			'MetalIconFactory.TreeFolderIcon',
+			'MetalIconFactory.TreeControlIcon',
+			'MetalIconFactory.PaletteCloseIcon',
+			'MetalIconFactory.FolderIcon16',
+			'MetalIconFactory.FileIcon16',
+			'MetalIconFactory',
+			'MetalFileChooserUI',
+			'MetalDesktopIconUI',
+			'MetalComboBoxUI',
+			'MetalComboBoxIcon',
+			'MetalComboBoxEditor.UIResource',
+			'MetalComboBoxEditor',
+			'MetalComboBoxButton',
+			'MetalCheckBoxUI',
+			'MetalCheckBoxIcon',
+			'MetalButtonUI',
+			'MetalBorders.ToolBarBorder',
+			'MetalBorders.ToggleButtonBorder',
+			'MetalBorders.TextFieldBorder',
+			'MetalBorders.TableHeaderBorder',
+			'MetalBorders.ScrollPaneBorder',
+			'MetalBorders.RolloverButtonBorder',
+			'MetalBorders.PopupMenuBorder',
+			'MetalBorders.PaletteBorder',
+			'MetalBorders.OptionDialogBorder',
+			'MetalBorders.MenuItemBorder',
+			'MetalBorders.MenuBarBorder',
+			'MetalBorders.InternalFrameBorder',
+			'MetalBorders.Flush3DBorder',
+			'MetalBorders.ButtonBorder',
+			'MetalBorders',
+			'MetaMessage',
+			'MetaEventListener',
+			'MessageFormat',
+			'MessageDigestSpi',
+			'MessageDigest',
+			'MenuShortcut',
+			'MenuSelectionManager',
+			'MenuListener',
+			'MenuKeyListener',
+			'MenuKeyEvent',
+			'MenuItemUI',
+			'MenuItem',
+			'MenuEvent',
+			'MenuElement',
+			'MenuDragMouseListener',
+			'MenuDragMouseEvent',
+			'MenuContainer',
+			'MenuComponent',
+			'MenuBarUI',
+			'MenuBar',
+			'Menu',
+			'MemoryImageSource',
+			'Member',
+			'MediaTracker',
+			'MatteBorder',
+			'Math',
+			'MarshalledObject',
+			'MarshalException',
+			'Map.Entry',
+			'Map',
+			'Manifest',
+			'MalformedURLException',
+			'MalformedLinkException',
+			'MARSHAL',
+			'LookupTable',
+			'LookupOp',
+			'LookAndFeel',
+			'LongSeqHolder',
+			'LongSeqHelper',
+			'LongLongSeqHolder',
+			'LongLongSeqHelper',
+			'LongHolder',
+			'Long',
+			'LogStream',
+			'LocateRegistry',
+			'Locale',
+			'LoaderHandler',
+			'ListView',
+			'ListUI',
+			'ListSelectionModel',
+			'ListSelectionListener',
+			'ListSelectionEvent',
+			'ListResourceBundle',
+			'ListModel',
+			'ListIterator',
+			'ListDataListener',
+			'ListDataEvent',
+			'ListCellRenderer',
+			'List',
+			'List',
+			'LinkedList',
+			'LinkageError',
+			'LinkRef',
+			'LinkLoopException',
+			'LinkException',
+			'LineUnavailableException',
+			'LineNumberReader',
+			'LineNumberInputStream',
+			'LineMetrics',
+			'LineListener',
+			'LineEvent.Type',
+			'LineEvent',
+			'LineBreakMeasurer',
+			'LineBorder',
+			'Line2D.Float',
+			'Line2D.Double',
+			'Line2D',
+			'Line.Info',
+			'Line',
+			'LimitExceededException',
+			'Lease',
+			'LdapReferralException',
+			'LdapContext',
+			'LayoutQueue',
+			'LayoutManager2',
+			'LayoutManager',
+			'LayeredHighlighter.LayerPainter',
+			'LayeredHighlighter',
+			'LastOwnerException',
+			'LabelView',
+			'LabelUI',
+			'Label',
+			'Keymap',
+			'KeyStroke',
+			'KeyStoreSpi',
+			'KeyStoreException',
+			'KeyStore',
+			'KeySpec',
+			'KeyPairGeneratorSpi',
+			'KeyPairGenerator',
+			'KeyPair',
+			'KeyManagementException',
+			'KeyListener',
+			'KeyFactorySpi',
+			'KeyFactory',
+			'KeyException',
+			'KeyEvent',
+			'KeyAdapter',
+			'Key',
+			'Kernel',
+			'JobAttributes.SidesType',
+			'JobAttributes.MultipleDocumentHandlingType',
+			'JobAttributes.DialogType',
+			'JobAttributes.DestinationType',
+			'JobAttributes.DefaultSelectionType',
+			'JobAttributes',
+			'JarURLConnection',
+			'JarOutputStream',
+			'JarInputStream',
+			'JarFile',
+			'JarException',
+			'JarEntry',
+			'JWindow',
+			'JViewport',
+			'JTree.EmptySelectionModel',
+			'JTree.DynamicUtilTreeNode',
+			'JTree',
+			'JToolTip',
+			'JToolBar.Separator',
+			'JToolBar',
+			'JToggleButton.ToggleButtonModel',
+			'JToggleButton',
+			'JTextPane',
+			'JTextField',
+			'JTextComponent.KeyBinding',
+			'JTextComponent',
+			'JTextArea',
+			'JTableHeader',
+			'JTable',
+			'JTabbedPane',
+			'JSplitPane',
+			'JSlider',
+			'JSeparator',
+			'JScrollPane',
+			'JScrollBar',
+			'JRootPane',
+			'JRadioButtonMenuItem',
+			'JRadioButton',
+			'JProgressBar',
+			'JPopupMenu.Separator',
+			'JPopupMenu',
+			'JPasswordField',
+			'JPanel',
+			'JOptionPane',
+			'JMenuItem',
+			'JMenuBar',
+			'JMenu',
+			'JList',
+			'JLayeredPane',
+			'JLabel',
+			'JInternalFrame.JDesktopIcon',
+			'JInternalFrame',
+			'JFrame',
+			'JFileChooser',
+			'JEditorPane',
+			'JDialog',
+			'JDesktopPane',
+			'JComponent',
+			'JComboBox.KeySelectionManager',
+			'JComboBox',
+			'JColorChooser',
+			'JCheckBoxMenuItem',
+			'JCheckBox',
+			'JButton',
+			'JApplet',
+			'Iterator',
+			'ItemSelectable',
+			'ItemListener',
+			'ItemEvent',
+			'IstringHelper',
+			'InvokeHandler',
+			'InvocationTargetException',
+			'InvocationHandler',
+			'InvocationEvent',
+			'InvalidValue',
+			'InvalidTransactionException',
+			'InvalidSeq',
+			'InvalidSearchFilterException',
+			'InvalidSearchControlsException',
+			'InvalidParameterSpecException',
+			'InvalidParameterException',
+			'InvalidObjectException',
+			'InvalidNameHolder',
+			'InvalidNameHelper',
+			'InvalidNameException',
+			'InvalidName',
+			'InvalidName',
+			'InvalidMidiDataException',
+			'InvalidKeySpecException',
+			'InvalidKeyException',
+			'InvalidDnDOperationException',
+			'InvalidClassException',
+			'InvalidAttributesException',
+			'InvalidAttributeValueException',
+			'InvalidAttributeIdentifierException',
+			'InvalidAlgorithmParameterException',
+			'Invalid',
+			'Introspector',
+			'IntrospectionException',
+			'InterruptedNamingException',
+			'InterruptedIOException',
+			'InterruptedException',
+			'InternalFrameUI',
+			'InternalFrameListener',
+			'InternalFrameEvent',
+			'InternalFrameAdapter',
+			'InternalError',
+			'Integer',
+			'IntHolder',
+			'InsufficientResourcesException',
+			'Instrument',
+			'InstantiationException',
+			'InstantiationError',
+			'InsetsUIResource',
+			'Insets',
+			'InputVerifier',
+			'InputSubset',
+			'InputStreamReader',
+			'InputStream',
+			'InputStream',
+			'InputStream',
+			'InputMethodRequests',
+			'InputMethodListener',
+			'InputMethodHighlight',
+			'InputMethodEvent',
+			'InputMethodDescriptor',
+			'InputMethodContext',
+			'InputMethod',
+			'InputMapUIResource',
+			'InputMap',
+			'InputEvent',
+			'InputContext',
+			'InlineView',
+			'Initializer',
+			'InitialLdapContext',
+			'InitialDirContext',
+			'InitialContextFactoryBuilder',
+			'InitialContextFactory',
+			'InitialContext',
+			'InheritableThreadLocal',
+			'InflaterInputStream',
+			'Inflater',
+			'InetAddress',
+			'IndirectionException',
+			'IndexedPropertyDescriptor',
+			'IndexOutOfBoundsException',
+			'IndexColorModel',
+			'InconsistentTypeCode',
+			'IncompatibleClassChangeError',
+			'ImagingOpException',
+			'ImageProducer',
+			'ImageObserver',
+			'ImageIcon',
+			'ImageGraphicAttribute',
+			'ImageFilter',
+			'ImageConsumer',
+			'Image',
+			'IllegalThreadStateException',
+			'IllegalStateException',
+			'IllegalPathStateException',
+			'IllegalMonitorStateException',
+			'IllegalComponentStateException',
+			'IllegalArgumentException',
+			'IllegalAccessException',
+			'IllegalAccessError',
+			'IdentityScope',
+			'Identity',
+			'IdentifierHelper',
+			'IconView',
+			'IconUIResource',
+			'Icon',
+			'IRObjectOperations',
+			'IRObject',
+			'IOException',
+			'INV_POLICY',
+			'INV_OBJREF',
+			'INV_IDENT',
+			'INV_FLAG',
+			'INVALID_TRANSACTION',
+			'INTF_REPOS',
+			'INTERNAL',
+			'INITIALIZE',
+			'IMP_LIMIT',
+			'IDLTypeOperations',
+			'IDLTypeHelper',
+			'IDLType',
+			'IDLEntity',
+			'ICC_ProfileRGB',
+			'ICC_ProfileGray',
+			'ICC_Profile',
+			'ICC_ColorSpace',
+			'HyperlinkListener',
+			'HyperlinkEvent.EventType',
+			'HyperlinkEvent',
+			'HttpURLConnection',
+			'Highlighter.HighlightPainter',
+			'Highlighter.Highlight',
+			'Highlighter',
+			'HierarchyListener',
+			'HierarchyEvent',
+			'HierarchyBoundsListener',
+			'HierarchyBoundsAdapter',
+			'Hashtable',
+			'HashSet',
+			'HashMap',
+			'HasControls',
+			'HTMLWriter',
+			'HTMLFrameHyperlinkEvent',
+			'HTMLEditorKit.ParserCallback',
+			'HTMLEditorKit.Parser',
+			'HTMLEditorKit.LinkController',
+			'HTMLEditorKit.InsertHTMLTextAction',
+			'HTMLEditorKit.HTMLTextAction',
+			'HTMLEditorKit.HTMLFactory',
+			'HTMLEditorKit',
+			'HTMLDocument.Iterator',
+			'HTMLDocument',
+			'HTML.UnknownTag',
+			'HTML.Tag',
+			'HTML.Attribute',
+			'HTML',
+			'GuardedObject',
+			'Guard',
+			'Group',
+			'GridLayout',
+			'GridBagLayout',
+			'GridBagConstraints',
+			'GregorianCalendar',
+			'GrayFilter',
+			'GraphicsEnvironment',
+			'GraphicsDevice',
+			'GraphicsConfiguration',
+			'GraphicsConfigTemplate',
+			'Graphics2D',
+			'Graphics',
+			'GraphicAttribute',
+			'GradientPaint',
+			'GlyphView.GlyphPainter',
+			'GlyphView',
+			'GlyphVector',
+			'GlyphMetrics',
+			'GlyphJustificationInfo',
+			'GeneralSecurityException',
+			'GeneralPath',
+			'GapContent',
+			'GZIPOutputStream',
+			'GZIPInputStream',
+			'Frame',
+			'FormatConversionProvider',
+			'Format',
+			'FormView',
+			'FontUIResource',
+			'FontRenderContext',
+			'FontMetrics',
+			'FontFormatException',
+			'Font',
+			'FocusManager',
+			'FocusListener',
+			'FocusEvent',
+			'FocusAdapter',
+			'FlowView.FlowStrategy',
+			'FlowView',
+			'FlowLayout',
+			'FloatSeqHolder',
+			'FloatSeqHelper',
+			'FloatHolder',
+			'FloatControl.Type',
+			'FloatControl',
+			'Float',
+			'FlavorMap',
+			'FlatteningPathIterator',
+			'FixedHolder',
+			'FixedHeightLayoutCache',
+			'FilteredImageSource',
+			'FilterWriter',
+			'FilterReader',
+			'FilterOutputStream',
+			'FilterInputStream',
+			'FilenameFilter',
+			'FileWriter',
+			'FileView',
+			'FileSystemView',
+			'FileReader',
+			'FilePermission',
+			'FileOutputStream',
+			'FileNotFoundException',
+			'FileNameMap',
+			'FileInputStream',
+			'FileFilter',
+			'FileFilter',
+			'FileDialog',
+			'FileDescriptor',
+			'FileChooserUI',
+			'File',
+			'FieldView',
+			'FieldPosition',
+			'FieldNameHelper',
+			'Field',
+			'FeatureDescriptor',
+			'FREE_MEM',
+			'Externalizable',
+			'ExtendedResponse',
+			'ExtendedRequest',
+			'ExportException',
+			'ExpandVetoException',
+			'ExceptionList',
+			'ExceptionInInitializerError',
+			'Exception',
+			'EventSetDescriptor',
+			'EventQueue',
+			'EventObject',
+			'EventListenerList',
+			'EventListener',
+			'EventDirContext',
+			'EventContext',
+			'Event',
+			'EtchedBorder',
+			'Error',
+			'Environment',
+			'Enumeration',
+			'EnumControl.Type',
+			'EnumControl',
+			'Entity',
+			'EncodedKeySpec',
+			'EmptyStackException',
+			'EmptyBorder',
+			'Ellipse2D.Float',
+			'Ellipse2D.Double',
+			'Ellipse2D',
+			'ElementIterator',
+			'Element',
+			'EditorKit',
+			'EOFException',
+			'DynamicImplementation',
+			'DynValue',
+			'DynUnion',
+			'DynStruct',
+			'DynSequence',
+			'DynFixed',
+			'DynEnum',
+			'DynArray',
+			'DynAny',
+			'DropTargetListener',
+			'DropTargetEvent',
+			'DropTargetDropEvent',
+			'DropTargetDragEvent',
+			'DropTargetContext',
+			'DropTarget.DropTargetAutoScroller',
+			'DropTarget',
+			'DriverPropertyInfo',
+			'DriverManager',
+			'Driver',
+			'DragSourceListener',
+			'DragSourceEvent',
+			'DragSourceDropEvent',
+			'DragSourceDragEvent',
+			'DragSourceContext',
+			'DragSource',
+			'DragGestureRecognizer',
+			'DragGestureListener',
+			'DragGestureEvent',
+			'DoubleSeqHolder',
+			'DoubleSeqHelper',
+			'DoubleHolder',
+			'Double',
+			'DomainManagerOperations',
+			'DomainManager',
+			'DomainCombiner',
+			'DocumentParser',
+			'DocumentListener',
+			'DocumentEvent.EventType',
+			'DocumentEvent.ElementChange',
+			'DocumentEvent',
+			'Document',
+			'DnDConstants',
+			'DirectoryManager',
+			'DirectColorModel',
+			'DirStateFactory.Result',
+			'DirStateFactory',
+			'DirObjectFactory',
+			'DirContext',
+			'DimensionUIResource',
+			'Dimension2D',
+			'Dimension',
+			'DigestOutputStream',
+			'DigestInputStream',
+			'DigestException',
+			'Dictionary',
+			'Dialog',
+			'DesktopPaneUI',
+			'DesktopManager',
+			'DesktopIconUI',
+			'DesignMode',
+			'Delegate',
+			'DeflaterOutputStream',
+			'Deflater',
+			'DefinitionKindHelper',
+			'DefinitionKind',
+			'DefaultTreeSelectionModel',
+			'DefaultTreeModel',
+			'DefaultTreeCellRenderer',
+			'DefaultTreeCellEditor',
+			'DefaultTextUI',
+			'DefaultTableModel',
+			'DefaultTableColumnModel',
+			'DefaultTableCellRenderer.UIResource',
+			'DefaultTableCellRenderer',
+			'DefaultStyledDocument.ElementSpec',
+			'DefaultStyledDocument.AttributeUndoableEdit',
+			'DefaultStyledDocument',
+			'DefaultSingleSelectionModel',
+			'DefaultMutableTreeNode',
+			'DefaultMetalTheme',
+			'DefaultMenuLayout',
+			'DefaultListSelectionModel',
+			'DefaultListModel',
+			'DefaultListCellRenderer.UIResource',
+			'DefaultListCellRenderer',
+			'DefaultHighlighter.DefaultHighlightPainter',
+			'DefaultHighlighter',
+			'DefaultFocusManager',
+			'DefaultEditorKit.PasteAction,',
+			'DefaultEditorKit.InsertTabAction',
+			'DefaultEditorKit.InsertContentAction',
+			'DefaultEditorKit.InsertBreakAction',
+			'DefaultEditorKit.DefaultKeyTypedAction',
+			'DefaultEditorKit.CutAction',
+			'DefaultEditorKit.CopyAction',
+			'DefaultEditorKit.BeepAction',
+			'DefaultEditorKit',
+			'DefaultDesktopManager',
+			'DefaultComboBoxModel',
+			'DefaultColorSelectionModel',
+			'DefaultCellEditor',
+			'DefaultCaret',
+			'DefaultButtonModel',
+			'DefaultBoundedRangeModel',
+			'DecimalFormatSymbols',
+			'DecimalFormat',
+			'DebugGraphics',
+			'DateFormatSymbols',
+			'DateFormat',
+			'Date',
+			'DatagramSocketImplFactory',
+			'DatagramSocketImpl',
+			'DatagramSocket',
+			'DatagramPacket',
+			'DatabaseMetaData',
+			'DataTruncation',
+			'DataOutputStream',
+			'DataOutputStream',
+			'DataOutput',
+			'DataLine.Info',
+			'DataLine',
+			'DataInputStream',
+			'DataInput',
+			'DataFormatException',
+			'DataFlavor',
+			'DataBufferUShort',
+			'DataBufferShort',
+			'DataBufferInt',
+			'DataBufferByte',
+			'DataBuffer',
+			'DTDConstants',
+			'DTD',
+			'DSAPublicKeySpec',
+			'DSAPublicKey',
+			'DSAPrivateKeySpec',
+			'DSAPrivateKey',
+			'DSAParams',
+			'DSAParameterSpec',
+			'DSAKeyPairGenerator',
+			'DSAKey',
+			'DGC',
+			'DATA_CONVERSION',
+			'Customizer',
+			'CustomValue',
+			'CustomMarshal',
+			'Cursor',
+			'CurrentOperations',
+			'CurrentHolder',
+			'CurrentHelper',
+			'Current',
+			'CubicCurve2D.Float',
+			'CubicCurve2D.Double',
+			'CubicCurve2D',
+			'CropImageFilter',
+			'ConvolveOp',
+			'ControllerEventListener',
+			'ControlFactory',
+			'Control.Type',
+			'Control',
+			'ContextualRenderedImageFactory',
+			'ContextNotEmptyException',
+			'ContextList',
+			'Context',
+			'ContentModel',
+			'ContentHandlerFactory',
+			'ContentHandler',
+			'ContainerListener',
+			'ContainerEvent',
+			'ContainerAdapter',
+			'Container',
+			'Constructor',
+			'Connection',
+			'ConnectIOException',
+			'ConnectException',
+			'ConnectException',
+			'ConfigurationException',
+			'ConcurrentModificationException',
+			'CompoundName',
+			'CompoundEdit',
+			'CompoundControl.Type',
+			'CompoundControl',
+			'CompoundBorder',
+			'CompositeView',
+			'CompositeName',
+			'CompositeContext',
+			'Composite',
+			'ComponentView',
+			'ComponentUI',
+			'ComponentSampleModel',
+			'ComponentOrientation',
+			'ComponentListener',
+			'ComponentInputMapUIResource',
+			'ComponentInputMap',
+			'ComponentEvent',
+			'ComponentColorModel',
+			'ComponentAdapter',
+			'Component',
+			'CompletionStatusHelper',
+			'CompletionStatus',
+			'Compiler',
+			'Comparator',
+			'Comparable',
+			'CommunicationException',
+			'ComboPopup',
+			'ComboBoxUI',
+			'ComboBoxModel',
+			'ComboBoxEditor',
+			'ColorUIResource',
+			'ColorSpace',
+			'ColorSelectionModel',
+			'ColorModel',
+			'ColorConvertOp',
+			'ColorChooserUI',
+			'ColorChooserComponentFactory',
+			'Color',
+			'Collections',
+			'Collection',
+			'Collator',
+			'CollationKey',
+			'CollationElementIterator',
+			'CodeSource',
+			'Cloneable',
+			'CloneNotSupportedException',
+			'Clob',
+			'ClipboardOwner',
+			'Clipboard',
+			'Clip',
+			'ClassNotFoundException',
+			'ClassLoader',
+			'ClassFormatError',
+			'ClassDesc',
+			'ClassCircularityError',
+			'ClassCastException',
+			'Class',
+			'ChoiceFormat',
+			'Choice',
+			'Checksum',
+			'CheckedOutputStream',
+			'CheckedInputStream',
+			'CheckboxMenuItem',
+			'CheckboxGroup',
+			'Checkbox',
+			'CharacterIterator',
+			'Character.UnicodeBlock',
+			'Character.Subset',
+			'Character',
+			'CharSeqHolder',
+			'CharSeqHelper',
+			'CharHolder',
+			'CharConversionException',
+			'CharArrayWriter',
+			'CharArrayReader',
+			'ChangedCharSetException',
+			'ChangeListener',
+			'ChangeEvent',
+			'CertificateParsingException',
+			'CertificateNotYetValidException',
+			'CertificateFactorySpi',
+			'CertificateFactory',
+			'CertificateExpiredException',
+			'CertificateException',
+			'CertificateEncodingException',
+			'Certificate.CertificateRep',
+			'Certificate',
+			'CellRendererPane',
+			'CellEditorListener',
+			'CellEditor',
+			'CaretListener',
+			'CaretEvent',
+			'Caret',
+			'CardLayout',
+			'Canvas',
+			'CannotUndoException',
+			'CannotRedoException',
+			'CannotProceedHolder',
+			'CannotProceedHelper',
+			'CannotProceedException',
+			'CannotProceed',
+			'CallableStatement',
+			'Calendar',
+			'CTX_RESTRICT_SCOPE',
+			'CSS.Attribute',
+			'CSS',
+			'CRLException',
+			'CRL',
+			'CRC32',
+			'COMM_FAILURE',
+			'CMMException',
+			'ByteLookupTable',
+			'ByteHolder',
+			'ByteArrayOutputStream',
+			'ByteArrayInputStream',
+			'Byte',
+			'ButtonUI',
+			'ButtonModel',
+			'ButtonGroup',
+			'Button',
+			'BufferedWriter',
+			'BufferedReader',
+			'BufferedOutputStream',
+			'BufferedInputStream',
+			'BufferedImageOp',
+			'BufferedImageFilter',
+			'BufferedImage',
+			'BreakIterator',
+			'BoxedValueHelper',
+			'BoxView',
+			'BoxLayout',
+			'Box.Filler',
+			'Box',
+			'Bounds',
+			'BoundedRangeModel',
+			'BorderUIResource.TitledBorderUIResource',
+			'BorderUIResource.MatteBorderUIResource',
+			'BorderUIResource.LineBorderUIResource',
+			'BorderUIResource.EtchedBorderUIResource',
+			'BorderUIResource.EmptyBorderUIResource',
+			'BorderUIResource.CompoundBorderUIResource',
+			'BorderUIResource.BevelBorderUIResource',
+			'BorderUIResource',
+			'BorderLayout',
+			'BorderFactory',
+			'Border',
+			'BooleanSeqHolder',
+			'BooleanSeqHelper',
+			'BooleanHolder',
+			'BooleanControl.Type',
+			'BooleanControl',
+			'Boolean',
+			'Book',
+			'BlockView',
+			'Blob',
+			'BitSet',
+			'BindingTypeHolder',
+			'BindingTypeHelper',
+			'BindingType',
+			'BindingListHolder',
+			'BindingListHelper',
+			'BindingIteratorOperations',
+			'BindingIteratorHolder',
+			'BindingIteratorHelper',
+			'BindingIterator',
+			'BindingHolder',
+			'BindingHelper',
+			'Binding',
+			'BindException',
+			'BinaryRefAddr',
+			'BigInteger',
+			'BigDecimal',
+			'BevelBorder',
+			'Beans',
+			'BeanInfo',
+			'BeanDescriptor',
+			'BeanContextSupport.BCSIterator',
+			'BeanContextSupport',
+			'BeanContextServicesSupport.BCSSServiceProvider',
+			'BeanContextServicesSupport',
+			'BeanContextServicesListener',
+			'BeanContextServices',
+			'BeanContextServiceRevokedListener',
+			'BeanContextServiceRevokedEvent',
+			'BeanContextServiceProviderBeanInfo',
+			'BeanContextServiceProvider',
+			'BeanContextServiceAvailableEvent',
+			'BeanContextProxy',
+			'BeanContextMembershipListener',
+			'BeanContextMembershipEvent',
+			'BeanContextEvent',
+			'BeanContextContainerProxy',
+			'BeanContextChildSupport',
+			'BeanContextChildComponentProxy',
+			'BeanContextChild',
+			'BeanContext',
+			'BatchUpdateException',
+			'BasicViewportUI',
+			'BasicTreeUI',
+			'BasicToolTipUI',
+			'BasicToolBarUI',
+			'BasicToolBarSeparatorUI',
+			'BasicToggleButtonUI',
+			'BasicTextUI.BasicHighlighter',
+			'BasicTextUI.BasicCaret',
+			'BasicTextUI',
+			'BasicTextPaneUI',
+			'BasicTextFieldUI',
+			'BasicTextAreaUI',
+			'BasicTableUI',
+			'BasicTableHeaderUI',
+			'BasicTabbedPaneUI',
+			'BasicStroke',
+			'BasicSplitPaneUI',
+			'BasicSplitPaneDivider',
+			'BasicSliderUI',
+			'BasicSeparatorUI',
+			'BasicScrollPaneUI',
+			'BasicScrollBarUI',
+			'BasicRootPaneUI',
+			'BasicRadioButtonUI',
+			'BasicRadioButtonMenuItemUI',
+			'BasicProgressBarUI',
+			'BasicPopupMenuUI',
+			'BasicPopupMenuSeparatorUI',
+			'BasicPermission',
+			'BasicPasswordFieldUI',
+			'BasicPanelUI',
+			'BasicOptionPaneUI.ButtonAreaLayout',
+			'BasicOptionPaneUI',
+			'BasicMenuUI',
+			'BasicMenuItemUI',
+			'BasicMenuBarUI',
+			'BasicLookAndFeel',
+			'BasicListUI',
+			'BasicLabelUI',
+			'BasicInternalFrameUI',
+			'BasicInternalFrameTitlePane',
+			'BasicIconFactory',
+			'BasicHTML',
+			'BasicGraphicsUtils',
+			'BasicFileChooserUI',
+			'BasicEditorPaneUI',
+			'BasicDirectoryModel',
+			'BasicDesktopPaneUI',
+			'BasicDesktopIconUI',
+			'BasicComboPopup',
+			'BasicComboBoxUI',
+			'BasicComboBoxRenderer.UIResource',
+			'BasicComboBoxRenderer',
+			'BasicComboBoxEditor.UIResource',
+			'BasicComboBoxEditor',
+			'BasicColorChooserUI',
+			'BasicCheckBoxUI',
+			'BasicCheckBoxMenuItemUI',
+			'BasicButtonUI',
+			'BasicButtonListener',
+			'BasicBorders.ToggleButtonBorder',
+			'BasicBorders.SplitPaneBorder',
+			'BasicBorders.RadioButtonBorder',
+			'BasicBorders.MenuBarBorder',
+			'BasicBorders.MarginBorder',
+			'BasicBorders.FieldBorder',
+			'BasicBorders.ButtonBorder',
+			'BasicBorders',
+			'BasicAttributes',
+			'BasicAttribute',
+			'BasicArrowButton',
+			'BandedSampleModel',
+			'BandCombineOp',
+			'BadLocationException',
+			'BadKind',
+			'BAD_TYPECODE',
+			'BAD_POLICY_VALUE',
+			'BAD_POLICY_TYPE',
+			'BAD_POLICY',
+			'BAD_PARAM',
+			'BAD_OPERATION',
+			'BAD_INV_ORDER',
+			'BAD_CONTEXT',
+			'Autoscroll',
+			'Authenticator',
+			'AuthenticationNotSupportedException',
+			'AuthenticationException',
+			'AudioSystem',
+			'AudioPermission',
+			'AudioInputStream',
+			'AudioFormat.Encoding',
+			'AudioFormat',
+			'AudioFileWriter',
+			'AudioFileReader',
+			'AudioFileFormat.Type',
+			'AudioFileFormat',
+			'AudioClip',
+			'Attributes.Name',
+			'Attributes',
+			'AttributedString',
+			'AttributedCharacterIterator.Attribute',
+			'AttributedCharacterIterator',
+			'AttributeSet.ParagraphAttribute',
+			'AttributeSet.FontAttribute',
+			'AttributeSet.ColorAttribute',
+			'AttributeSet.CharacterAttribute',
+			'AttributeSet',
+			'AttributeModificationException',
+			'AttributeList',
+			'AttributeInUseException',
+			'Attribute',
+			'AsyncBoxView',
+			'Arrays',
+			'ArrayStoreException',
+			'ArrayList',
+			'ArrayIndexOutOfBoundsException',
+			'Array',
+			'ArithmeticException',
+			'AreaAveragingScaleFilter',
+			'Area',
+			'Arc2D.Float',
+			'Arc2D.Double',
+			'Arc2D',
+			'ApplicationException',
+			'AppletStub',
+			'AppletInitializer',
+			'AppletContext',
+			'Applet',
+			'AnySeqHolder',
+			'AnySeqHelper',
+			'AnyHolder',
+			'Any',
+			'Annotation',
+			'AncestorListener',
+			'AncestorEvent',
+			'AlreadyBoundHolder',
+			'AlreadyBoundHelper',
+			'AlreadyBoundException',
+			'AlreadyBound',
+			'AlphaComposite',
+			'AllPermission',
+			'AlgorithmParametersSpi',
+			'AlgorithmParameters',
+			'AlgorithmParameterSpec',
+			'AlgorithmParameterGeneratorSpi',
+			'AlgorithmParameterGenerator',
+			'AffineTransformOp',
+			'AffineTransform',
+			'Adler32',
+			'AdjustmentListener',
+			'AdjustmentEvent',
+			'Adjustable',
+			'ActiveEvent',
+			'Activator',
+			'ActivationSystem',
+			'ActivationMonitor',
+			'ActivationInstantiator',
+			'ActivationID',
+			'ActivationGroupID',
+			'ActivationGroupDesc.CommandEnvironment',
+			'ActivationGroupDesc',
+			'ActivationGroup',
+			'ActivationException',
+			'ActivationDesc',
+			'ActivateFailedException',
+			'Activatable',
+			'ActionMapUIResource',
+			'ActionMap',
+			'ActionListener',
+			'ActionEvent',
+			'Action',
+			'AclNotFoundException',
+			'AclEntry',
+			'Acl',
+			'AccessibleValue',
+			'AccessibleText',
+			'AccessibleTableModelChange',
+			'AccessibleTable',
+			'AccessibleStateSet',
+			'AccessibleState',
+			'AccessibleSelection',
+			'AccessibleRole',
+			'AccessibleResourceBundle',
+			'AccessibleRelationSet',
+			'AccessibleRelation',
+			'AccessibleObject',
+			'AccessibleIcon',
+			'AccessibleHypertext',
+			'AccessibleHyperlink',
+			'AccessibleContext',
+			'AccessibleComponent',
+			'AccessibleBundle',
+			'AccessibleAction',
+			'Accessible',
+			'AccessException',
+			'AccessController',
+			'AccessControlException',
+			'AccessControlContext',
+			'AbstractWriter',
+			'AbstractUndoableEdit',
+			'AbstractTableModel',
+			'AbstractSet',
+			'AbstractSequentialList',
+			'AbstractMethodError',
+			'AbstractMap',
+			'AbstractListModel',
+			'AbstractList',
+			'AbstractLayoutCache.NodeDimensions',
+			'AbstractLayoutCache',
+			'AbstractDocument.ElementEdit',
+			'AbstractDocument.Content',
+			'AbstractDocument.AttributeContext',
+			'AbstractDocument',
+			'AbstractColorChooserPanel',
+			'AbstractCollection',
+			'AbstractCellEditor',
+			'AbstractButton',
+			'AbstractBorder',
+			'AbstractAction',
+			'AWTPermission',
+			'AWTException',
+			'AWTEventMulticaster',
+			'AWTEventListener',
+			'AWTEvent',
+			'AWTError',
+			'ARG_OUT',
+			'ARG_INOUT',
+			'ARG_IN'
+			),
+		4 => array(
+			'void',
+			'short',
+			'long',
+			'int',
+			'double',
+			'char',
+			'byte',
+			'boolean',
+			'float'
+			),
+		5 => array(
+			'toList',
+			'subMap',
+			'sort',
+			'size',
+			'reverseEach',
+			'reverse',
+			'pop',
+			'min',
+			'max',
+			'join',
+			'intersect',
+			'inject',
+			'grep',
+			'get',
+			'flatten',
+			'findIndexOf',
+			'findAll',
+			'find',
+			'eachWithIndex',
+			'eachPropertyName',
+			'eachProperty',
+			'each',
+			'count',
+			'collect',
+			'asSynchronized',
+			'asImmutable',
+			'allProperties'
+			),
+		6 => array(
+			'tokenize',
+			'toURL',
+			'toLong',
+			'toList',
+			'toCharacter',
+			'padRight',
+			'padLeft',
+			'eachMatch',
+			'contains',
+			'center'
+			),
+		7 => array(
+			'writeLine',
+			'write',
+			'withWriterAppend',
+			'withWriter',
+			'withStreams',
+			'withStream',
+			'withReader',
+			'withPrintWriter',
+			'withOutputStream',
+			'transformLine',
+			'transformChar',
+			'splitEachLine',
+			'getText',
+			'filterLine',
+			'encodeBase64',
+			'eachLines',
+			'eachLine',
+			'eachFileRecurse',
+			'eachFile',
+			'eachByte',
+			'append'
+			),
+		8 => array(
+			'dump',
+			'inspect',
+			'invokeMethod',
+			'print',
+			'println',
+			'step',
+			'times',
+			'upto',
+			'use',
+			'getText',
+			'start',
+			'startDaemon',
+			'getLastMatcher'
+			),
+		9 => array(
+			'Sql',
+			'call',
+			'eachRow',
+			'execute',
+			'executeUpdate',
+			'close'
+			)
+		),
+	'SYMBOLS' => array(
+		'(', ')', '[', ']', '{', '}', '*', '&', '%', '!', ';', '<', '>', '?', '|', '='
+		),
+	'CASE_SENSITIVE' => array(
+		GESHI_COMMENTS => true,
+		1 => false,
+		2 => false,
+		3 => true,
+		4 => true,
+		5 => true,
+		6 => true,
+		7 => true,
+		8 => true,
+		9 => true
+		),
+	'STYLES' => array(
+		'KEYWORDS' => array(
+			1 => 'color: #b1b100;',
+			2 => 'color: #000000; font-weight: bold;',
+			3 => 'color: #aaaadd; font-weight: bold;',
+			4 => 'color: #993333;',
+			5 => 'color: #663399;',
+			6 => 'color: #CC0099;',
+			7 => 'color: #FFCC33;',
+			8 => 'color: #993399;',
+			9 => 'color: #993399; font-weight: bold;'
+			),
+		'COMMENTS' => array(
+			1=> 'color: #808080; font-style: italic;',
+			2=> 'color: #a1a100;',
+			'MULTI' => 'color: #808080; font-style: italic;'
+			),
+		'ESCAPE_CHAR' => array(
+			0 => 'color: #000099; font-weight: bold;'
+			),
+		'BRACKETS' => array(
+			0 => 'color: #66cc66;'
+			),
+		'STRINGS' => array(
+			0 => 'color: #ff0000;'
+			),
+		'NUMBERS' => array(
+			0 => 'color: #cc66cc;'
+			),
+		'METHODS' => array(
+			1 => 'color: #006600;',
+			2 => 'color: #006600;'
+			),
+		'SYMBOLS' => array(
+			0 => 'color: #66cc66;'
+			),
+		'SCRIPT' => array(
+			),
+		'REGEXPS' => array(
+			0 => 'color: #0000ff;'
+			)
+		),
+	'URLS' => array(
+		1 => 'http://www.google.de/search?q=site%3Adocs.codehaus.org/%20{FNAME}',
+		2 => 'http://www.google.de/search?q=site%3Adocs.codehaus.org/%20{FNAME}',
+		3 => 'http://www.google.de/search?as_q={FNAME}&num=100&hl=en&as_occt=url&as_sitesearch=java.sun.com%2Fj2se%2F1.5.0%2Fdocs%2Fapi%2F',
+		4 => 'http://www.google.de/search?q=site%3Adocs.codehaus.org/%20{FNAME}',
+		5 => 'http://www.google.de/search?q=site%3Adocs.codehaus.org/%20{FNAME}',
+		6 => 'http://www.google.de/search?q=site%3Adocs.codehaus.org/%20{FNAME}',
+		7 => 'http://www.google.de/search?q=site%3Adocs.codehaus.org/%20{FNAME}',
+		8 => 'http://www.google.de/search?q=site%3Adocs.codehaus.org/%20{FNAME}',
+		9 => 'http://www.google.de/search?q=site%3Adocs.codehaus.org/%20{FNAME}'
+		),
+	'OOLANG' => true,
+	'OBJECT_SPLITTERS' => array(
+		1 => '.'
+		),
+	'REGEXPS' => array(
+		0 => '\\$\\{[a-zA-Z_][a-zA-Z0-9_]*\\}'
+		),
+	'STRICT_MODE_APPLIES' => GESHI_NEVER,
+	'SCRIPT_DELIMITERS' => array(
+		),
+	'HIGHLIGHT_STRICT_BLOCK' => array(
+		)
+);
+
+?>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/plugins/geshi/geshi/haskell.php	Sun Feb 10 18:10:52 2008 -0500
@@ -0,0 +1,197 @@
+<?php
+/*************************************************************************************
+ * haskell.php
+ * ----------
+ * Author: Jason Dagit (dagit@codersbase.com) based on ocaml.php by Flaie (fireflaie@gmail.com) 
+ * Copyright: (c) 2005 Flaie, Nigel McNie (http://qbnz.com/highlighter)
+ * Release Version: 1.0.7.20
+ * CVS Revision Version: $Revision: 1.6 $
+ * Date Started: 2005/08/27
+ * Last Modified: $Date: 2006/02/25 00:46:33 $
+ *
+ * Haskell language file for GeSHi.
+ *
+ * CHANGES
+ * -------
+ * 2005/08/27 (1.0.0)
+ *   -  First Release
+ *
+ * TODO (updated 2005/08/27)
+ * -------------------------
+ *
+ *************************************************************************************
+ *
+ *   This file is part of GeSHi.
+ *
+ *   GeSHi is free software; you can 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.
+ *
+ *   GeSHi is distributed in the hope that it will be useful,
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *   GNU General Public License for more details.
+ *
+ *   You should have received a copy of the GNU General Public License
+ *   along with GeSHi; if not, write to the Free Software
+ *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
+ ************************************************************************************/
+
+$language_data = array (
+    'LANG_NAME' => 'Haskell',
+    'COMMENT_SINGLE' => array( 1 => '--'),
+    'COMMENT_MULTI' => array('{-' => '-}'),
+    'CASE_KEYWORDS' => 0,
+    'QUOTEMARKS' => array('"'),
+    'ESCAPE_CHAR' => "\\",
+    'KEYWORDS' => array(
+       /* main haskell keywords */
+        1 => array(
+           'as',
+           'case', 'of', 'class', 'data', 'default', 
+           'deriving', 'do', 'forall', 'hiding', 'if', 'then',
+           'else', 'import', 'infix', 'infixl', 'infixr', 
+           'instance', 'let', 'in', 'module', 'newtype',
+           'qualified', 'type', 'where'
+            ),
+        /* define names of main librarys, so we can link to it */
+        2 => array(
+           'Foreign', 'Numeric', 'Prelude'
+           ),
+        /* just link to Prelude functions, cause it's the default opened library when starting Haskell */
+        3 => array(
+           'not', 'otherwise', 'maybe', 
+           'either', 'fst', 'snd', 'curry', 'uncurry',
+           'compare', 
+           'max', 'min', 'succ', 'pred', 'toEnum', 'fromEnum',
+           'enumFrom', 'enumFromThen', 'enumFromTo', 
+           'enumFromThenTo', 'minBound', 'maxBound',
+           'negate', 'abs', 'signum',
+           'fromInteger', 'toRational', 'quot', 'rem',
+           'div', 'mod', 'quotRem', 'divMod', 'toInteger',
+           'recip', 'fromRational', 'pi', 'exp',
+           'log', 'sqrt', 'logBase', 'sin', 'cos',
+           'tan', 'asin', 'acos', 'atan', 'sinh', 'cosh',
+           'tanh', 'asinh', 'acosh', 'atanh',
+           'properFraction', 'truncate', 'round', 'ceiling',
+           'floor', 'floatRadix', 'floatDigits', 'floatRange',
+           'decodeFloat', 'encodeFloat', 'exponent',
+           'significand', 'scaleFloat', 'isNaN', 'isInfinite',
+           'isDenomalized', 'isNegativeZero', 'isIEEE',
+           'atan2', 'subtract', 'even', 'odd', 'gcd',
+           'lcm', 'fromIntegral', 'realToFrac',
+           'return', 'fail', 'fmap',
+           'mapM', 'mapM_', 'sequence', 'sequence_',
+           'id', 'const','flip',
+           'until', 'asTypeOf', 'error', 'undefined',
+           'seq','map','filter', 'head',
+           'last', 'tail', 'init', 'null', 'length',
+           'reverse', 'foldl', 'foldl1', 'foldr',
+           'foldr1', 'and', 'or', 'any', 'all', 'sum',
+           'product', 'concat', 'concatMap', 'maximum',
+           'minimum', 'scanl', 'scanl1', 'scanr', 'scanr1',
+           'iterate', 'repeat', 'cycle', 'take', 'drop',
+           'splitAt', 'teakWhile', 'dropWhile', 'span',
+           'break', 'elem', 'notElem', 'lookup', 'zip',
+           'zip3', 'zipWith', 'zipWith3', 'unzip', 'unzip3',
+           'unzip', 'unzip3', 'lines', 'words', 'unlines',
+           'unwords', 'showPrec', 'show', 'showList',
+           'shows', 'showChar', 'showString', 'showParen',
+           'readsPrec', 'readList', 'reads', 'readParen',
+           'read', 'lex', 'putChar', 'putStr', 'putStrLn',
+           'print', 'getChar', 'getLine', 'getContents',
+           'interact', 'readFile', 'writeFile', 'appendFile',
+           'readIO', 'readLn', 'ioError', 'userError', 'catch'
+           ),
+        /* here Prelude Types */
+        4 => array (
+            'Bool', 'Maybe', 'Either', 'Ord', 'Ordering', 
+            'Char', 'String', 'Eq', 'Enum', 'Bounded', 
+            'Int', 'Integer', 'Float', 'Double', 'Rational',
+            'Num', 'Real', 'Integral', 'Fractional', 
+            'Floating', 'RealFrac', 'RealFloat', 'Monad',
+            'Functor', 'Show', 'ShowS', 'Read', 'ReadS', 
+            'IO'
+           ),
+        /* finally Prelude Exceptions */
+        5 => array (
+            'IOError', 'IOException'
+            )
+        ),
+    /* highlighting symbols is really important in Haskell */
+    'SYMBOLS' => array(
+           '|', '->', '<-', '@', '!', '::', '_', '~', '=',
+           '&&', '||', '==', '/=', '<', '<=', '>', 
+           '>=','+', '-', '*','/',  '**', '^', '^^', 
+           '>>=', '>>', '=<<',  '$', '.',  '$!',  
+           '++', '!!'
+            ), 
+    'CASE_SENSITIVE' => array(
+        GESHI_COMMENTS => true,
+        1 => true,
+        2 => true, /* functions name are case seinsitive */
+        3 => true, /* types name too */
+        4 => true, /* finally exceptions too */
+        5 => true
+        ),
+    'STYLES' => array(
+        'KEYWORDS' => array(
+            1 => 'color: #06c; font-weight: bold;', /* nice blue */
+            2 => 'color: #06c; font-weight: bold;', /* blue as well */
+            3 => 'font-weight: bold;', /* make the preduled functions bold */
+            4 => 'color: #cccc00; font-weight: bold;', /* give types a different bg */
+            5 => 'color: maroon;'
+            ),
+        'COMMENTS' => array(
+            1 => 'color: #5d478b; font-style: italic;',
+            'MULTI' => 'color: #5d478b; font-style: italic;' /* light purpHle */
+            ),
+        'ESCAPE_CHAR' => array(
+            ),
+        'BRACKETS' => array(
+            0 => 'color: green;'
+            ),
+        'STRINGS' => array(
+            0 => 'background-color: #3cb371;' /* nice green */
+            ),
+        'NUMBERS' => array(
+            0 => 'color: red;' /* pink */
+            ),
+        'METHODS' => array(
+            1 => 'color: #060;' /* dark green */
+            ),
+        'REGEXPS' => array(
+            ),
+        'SYMBOLS' => array( 
+            0 => 'color: #66cc66; font-weight: bold;'
+            ),
+        'SCRIPT' => array(
+            )
+        ),
+    'URLS' => array(
+        /* some of keywords are Prelude functions */
+        1 => '',
+        /* link to the wanted library */
+        2 => 'http://haskell.org/ghc/docs/latest/html/libraries/base/{FNAME}.html',
+        /* link to Prelude functions */
+        3 => 'http://haskell.org/ghc/docs/latest/html/libraries/base/Prelude.html#v:{FNAME}', 
+        /* link to Prelude types */
+        4 => 'http://haskell.org/ghc/docs/latest/html/libraries/base/Prelude.html#t:{FNAME}', 
+        /* link to Prelude exceptions */
+        5 => 'http://haskell.org/ghc/docs/latest/html/libraries/base/Prelude.html#t:{FNAME}', 
+        ),
+    'OOLANG' => false,
+    'OBJECT_SPLITTERS' => array(
+        ),
+    'REGEXPS' => array(
+        ),
+    'STRICT_MODE_APPLIES' => GESHI_NEVER,
+    'SCRIPT_DELIMITERS' => array(
+        ),
+    'HIGHLIGHT_STRICT_BLOCK' => array(
+        )
+);
+
+?>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/plugins/geshi/geshi/html4strict.php	Sun Feb 10 18:10:52 2008 -0500
@@ -0,0 +1,255 @@
+<?php
+/*************************************************************************************
+ * html4strict.php
+ * ---------------
+ * Author: Nigel McNie (nigel@geshi.org)
+ * Copyright: (c) 2004 Nigel McNie (http://qbnz.com/highlighter/)
+ * Release Version: 1.0.7.20
+ * Date Started: 2004/07/10
+ *
+ * HTML 4.01 strict language file for GeSHi.
+ *
+ * CHANGES
+ * -------
+ * 2005/12/28 (1.0.4)
+ *   -  Removed escape character for strings
+ * 2004/11/27 (1.0.3)
+ *   -  Added support for multiple object splitters
+ * 2004/10/27 (1.0.2)
+ *   -  Added support for URLs
+ * 2004/08/05 (1.0.1)
+ *   -  Added INS and DEL
+ *   -  Removed the background colour from tags' styles
+ * 2004/07/14 (1.0.0)
+ *   -  First Release
+ *
+ * TODO (updated 2004/11/27)
+ * -------------------------
+ * * Check that only HTML4 strict attributes are highlighted
+ * * Eliminate empty tags that aren't allowed in HTML4 strict
+ * * Split to several files - html4trans, xhtml1 etc
+ *
+ *************************************************************************************
+ *
+ *     This file is part of GeSHi.
+ *
+ *   GeSHi is free software; you can 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.
+ *
+ *   GeSHi is distributed in the hope that it will be useful,
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *   GNU General Public License for more details.
+ *
+ *   You should have received a copy of the GNU General Public License
+ *   along with GeSHi; if not, write to the Free Software
+ *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
+ ************************************************************************************/
+
+$language_data = array (
+	'LANG_NAME' => 'HTML',
+	'COMMENT_SINGLE' => array(),
+	'COMMENT_MULTI' => array('<!--' => '-->'),
+	'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+	'QUOTEMARKS' => array("'", '"'),
+	'ESCAPE_CHAR' => '',
+	'KEYWORDS' => array(
+		1 => array(
+			),
+		2 => array(
+			'&lt;a&gt;', '&lt;abbr&gt;', '&lt;acronym&gt;', '&lt;address&gt;', '&lt;applet&gt;',
+			'&lt;a', '&lt;abbr', '&lt;acronym', '&lt;address', '&lt;applet',
+			'&lt;/a&gt;', '&lt;/abbr&gt;', '&lt;/acronym&gt;', '&lt;/address&gt;', '&lt;/applet&gt;',
+			'&lt;/a', '&lt;/abbr', '&lt;/acronym', '&lt;/address', '&lt;/applet',
+
+			'&lt;base&gt;', '&lt;basefont&gt;', '&lt;bdo&gt;', '&lt;big&gt;', '&lt;blockquote&gt;', '&lt;body&gt;', '&lt;br&gt;', '&lt;button&gt;', '&lt;b&gt;',
+			'&lt;base', '&lt;basefont', '&lt;bdo', '&lt;big', '&lt;blockquote', '&lt;body', '&lt;br', '&lt;button', '&lt;b',
+			'&lt;/base&gt;', '&lt;/basefont&gt;', '&lt;/bdo&gt;', '&lt;/big&gt;', '&lt;/blockquote&gt;', '&lt;/body&gt;', '&lt;/br&gt;', '&lt;/button&gt;', '&lt;/b&gt;',
+			'&lt;/base', '&lt;/basefont', '&lt;/bdo', '&lt;/big', '&lt;/blockquote', '&lt;/body', '&lt;/br', '&lt;/button', '&lt;/b',
+
+			'&lt;caption&gt;', '&lt;center&gt;', '&lt;cite&gt;', '&lt;code&gt;', '&lt;colgroup&gt;', '&lt;col&gt;',
+			'&lt;caption', '&lt;center', '&lt;cite', '&lt;code', '&lt;colgroup', '&lt;col',
+			'&lt;/caption&gt;', '&lt;/center&gt;', '&lt;/cite&gt;', '&lt;/code&gt;', '&lt;/colgroup&gt;', '&lt;/col&gt;',
+			'&lt;/caption', '&lt;/center', '&lt;/cite', '&lt;/code', '&lt;/colgroup', '&lt;/col',
+
+			'&lt;dd&gt;', '&lt;del&gt;', '&lt;dfn&gt;', '&lt;dir&gt;', '&lt;div&gt;', '&lt;dl&gt;', '&lt;dt&gt;',
+			'&lt;dd', '&lt;del', '&lt;dfn', '&lt;dir', '&lt;div', '&lt;dl', '&lt;dt',
+			'&lt;/dd&gt;', '&lt;/del&gt;', '&lt;/dfn&gt;', '&lt;/dir&gt;', '&lt;/div&gt;', '&lt;/dl&gt;', '&lt;/dt&gt;',
+			'&lt;/dd', '&lt;/del', '&lt;/dfn', '&lt;/dir', '&lt;/div', '&lt;/dl', '&lt;/dt',
+
+			'&lt;em&gt;',
+			'&lt;em',
+			'&lt;/em&gt;',
+			'&lt;/em',
+
+			'&lt;fieldset&gt;', '&lt;font&gt;', '&lt;form&gt;', '&lt;frame&gt;', '&lt;frameset&gt;',
+			'&lt;fieldset', '&lt;font', '&lt;form', '&lt;frame', '&lt;frameset',
+			'&lt;/fieldset&gt;', '&lt;/font&gt;', '&lt;/form&gt;', '&lt;/frame&gt;', '&lt;/frameset&gt;',
+			'&lt;/fieldset', '&lt;/font', '&lt;/form', '&lt;/frame', '&lt;/frameset',
+
+			'&lt;h1&gt;', '&lt;h2&gt;', '&lt;h3&gt;', '&lt;h4&gt;', '&lt;h5&gt;', '&lt;h6&gt;', '&lt;head&gt;', '&lt;hr&gt;', '&lt;html&gt;',
+			'&lt;h1', '&lt;h2', '&lt;h3', '&lt;h4', '&lt;h5', '&lt;h6', '&lt;head', '&lt;hr', '&lt;html',
+			'&lt;/h1&gt;', '&lt;/h2&gt;', '&lt;/h3&gt;', '&lt;/h4&gt;', '&lt;/h5&gt;', '&lt;/h6&gt;', '&lt;/head&gt;', '&lt;/hr&gt;', '&lt;/html&gt;',
+			'&lt;/h1', '&lt;/h2', '&lt;/h3', '&lt;/h4', '&lt;/h5', '&lt;/h6', '&lt;/head', '&lt;/hr', '&lt;/html',
+
+			'&lt;iframe&gt;', '&lt;ilayer&gt;', '&lt;img&gt;', '&lt;input&gt;', '&lt;ins&gt;', '&lt;isindex&gt;', '&lt;i&gt;',
+			'&lt;iframe', '&lt;ilayer', '&lt;img', '&lt;input', '&lt;ins', '&lt;isindex', '&lt;i',
+			'&lt;/iframe&gt;', '&lt;/ilayer&gt;', '&lt;/img&gt;', '&lt;/input&gt;', '&lt;/ins&gt;', '&lt;/isindex&gt;', '&lt;/i&gt;',
+			'&lt;/iframe', '&lt;/ilayer', '&lt;/img', '&lt;/input', '&lt;/ins', '&lt;/isindex', '&lt;/i',
+
+			'&lt;kbd&gt;',
+			'&lt;kbd',
+			'&t;/kbd&gt;',
+			'&lt;/kbd',
+
+			'&lt;label&gt;', '&lt;legend&gt;', '&lt;link&gt;', '&lt;li&gt;',
+			'&lt;label', '&lt;legend', '&lt;link', '&lt;li',
+			'&lt;/label&gt;', '&lt;/legend&gt;', '&lt;/link&gt;', '&lt;/li&gt;',
+			'&lt;/label', '&lt;/legend', '&lt;/link', '&lt;/li',
+
+			'&lt;map&gt;', '&lt;meta&gt;',
+			'&lt;map', '&lt;meta',
+			'&lt;/map&gt;', '&lt;/meta&gt;',
+			'&lt;/map', '&lt;/meta',
+
+			'&lt;noframes&gt;', '&lt;noscript&gt;',
+			'&lt;noframes', '&lt;noscript',
+			'&lt;/noframes&gt;', '&lt;/noscript&gt;',
+			'&lt;/noframes', '&lt;/noscript',
+
+			'&lt;object&gt;', '&lt;ol&gt;', '&lt;optgroup&gt;', '&lt;option&gt;',
+			'&lt;object', '&lt;ol', '&lt;optgroup', '&lt;option',
+			'&lt;/object&gt;', '&lt;/ol&gt;', '&lt;/optgroup&gt;', '&lt;/option&gt;',
+			'&lt;/object', '&lt;/ol', '&lt;/optgroup', '&lt;/option',
+
+			'&lt;param&gt;', '&lt;pre&gt;', '&lt;p&gt;',
+			'&lt;param', '&lt;pre', '&lt;p',
+			'&lt;/param&gt;', '&lt;/pre&gt;', '&lt;/p&gt;',
+			'&lt;/param', '&lt;/pre', '&lt;/p',
+
+			'&lt;q&gt;',
+			'&lt;q',
+			'&lt;/q&gt;',
+			'&lt;/q',
+
+			'&lt;samp&gt;', '&lt;script&gt;', '&lt;select&gt;', '&lt;small&gt;', '&lt;span&gt;', '&lt;strike&gt;', '&lt;strong&gt;', '&lt;style&gt;', '&lt;sub&gt;', '&lt;sup&gt;', '&lt;s&gt;',
+			'&lt;samp', '&lt;script', '&lt;select', '&lt;small', '&lt;span', '&lt;strike', '&lt;strong', '&lt;style', '&lt;sub', '&lt;sup', '&lt;s',
+			'&lt;/samp&gt;', '&lt;/script&gt;', '&lt;/select&gt;', '&lt;/small&gt;', '&lt;/span&gt;', '&lt;/strike&gt;', '&lt;/strong&gt;', '&lt;/style&gt;', '&lt;/sub&gt;', '&lt;/sup&gt;', '&lt;/s&gt;',
+			'&lt;/samp', '&lt;/script', '&lt;/select', '&lt;/small', '&lt;/span', '&lt;/strike', '&lt;/strong', '&lt;/style', '&lt;/sub', '&lt;/sup', '&lt;/s',
+
+			'&lt;table&gt;', '&lt;tbody&gt;', '&lt;td&gt;', '&lt;textarea&gt;', '&lt;text&gt;', '&lt;tfoot&gt;', '&lt;thead&gt;', '&lt;th&gt;', '&lt;title&gt;', '&lt;tr&gt;', '&lt;tt&gt;',
+			'&lt;table', '&lt;tbody', '&lt;td', '&lt;textarea', '&lt;text', '&lt;tfoot', '&lt;tfoot', '&lt;thead', '&lt;th', '&lt;title', '&lt;tr', '&lt;tt',
+			'&lt;/table&gt;', '&lt;/tbody&gt;', '&lt;/td&gt;', '&lt;/textarea&gt;', '&lt;/text&gt;', '&lt;/tfoot&gt;', '&lt;/thead', '&lt;/tfoot', '&lt;/th&gt;', '&lt;/title&gt;', '&lt;/tr&gt;', '&lt;/tt&gt;',
+			'&lt;/table', '&lt;/tbody', '&lt;/td', '&lt;/textarea', '&lt;/text', '&lt;/tfoot', '&lt;/tfoot', '&lt;/thead', '&lt;/th', '&lt;/title', '&lt;/tr', '&lt;/tt',
+
+			'&lt;ul&gt;', '&lt;u&gt;',
+			'&lt;ul', '&lt;u',
+			'&lt;/ul&gt;', '&lt;/ul&gt;',
+			'&lt;/ul', '&lt;/u',
+
+			'&lt;var&gt;',
+			'&lt;var',
+			'&lt;/var&gt;',
+			'&lt;/var',
+
+			'&gt;', '&lt;'
+			),
+		3 => array(
+			'abbr', 'accept-charset', 'accept', 'accesskey', 'action', 'align', 'alink', 'alt', 'archive', 'axis',
+			'background', 'bgcolor', 'border',
+			'cellpadding', 'cellspacing', 'char', 'char', 'charoff', 'charset', 'checked', 'cite', 'class', 'classid', 'clear', 'code', 'codebase', 'codetype', 'color', 'cols', 'colspan', 'compact', 'content', 'coords',
+			'data', 'datetime', 'declare', 'defer', 'dir', 'disabled',
+			'enctype',
+			'face', 'for', 'frame', 'frameborder',
+			'headers', 'height', 'href', 'hreflang', 'hspace', 'http-equiv',
+			'id', 'ismap',
+			'label', 'lang', 'language', 'link', 'longdesc',
+			'marginheight', 'marginwidth', 'maxlength', 'media', 'method', 'multiple',
+			'name', 'nohref', 'noresize', 'noshade', 'nowrap',
+			'object', 'onblur', 'onchange', 'onclick', 'ondblclick', 'onfocus', 'onkeydown', 'onkeypress', 'onkeyup', 'onload', 'onmousedown', 'onmousemove', 'onmouseout', 'onmouseover', 'onmouseup', 'onreset', 'onselect', 'onsubmit', 'onunload',
+			'profile', 'prompt',
+			'readonly', 'rel', 'rev', 'rowspan', 'rows', 'rules',
+			'scheme', 'scope', 'scrolling', 'selected', 'shape', 'size', 'span', 'src', 'standby', 'start', 'style', 'summary',
+			'tabindex', 'target', 'text', 'title', 'type',
+			'usemap',
+			'valign', 'value', 'valuetype', 'version', 'vlink', 'vspace',
+			'width'
+			)
+		),
+	'SYMBOLS' => array(
+		'/', '='
+		),
+	'CASE_SENSITIVE' => array(
+		GESHI_COMMENTS => false,
+		1 => false,
+		2 => false,
+		3 => false,
+		),
+	'STYLES' => array(
+		'KEYWORDS' => array(
+			1 => 'color: #b1b100;',
+			2 => 'color: #000000; font-weight: bold;',
+			3 => 'color: #000066;'
+			),
+		'COMMENTS' => array(
+			'MULTI' => 'color: #808080; font-style: italic;'
+			),
+		'ESCAPE_CHAR' => array(
+			0 => 'color: #000099; font-weight: bold;'
+			),
+		'BRACKETS' => array(
+			0 => 'color: #66cc66;'
+			),
+		'STRINGS' => array(
+			0 => 'color: #ff0000;'
+			),
+		'NUMBERS' => array(
+			0 => 'color: #cc66cc;'
+			),
+		'METHODS' => array(
+			),
+		'SYMBOLS' => array(
+			0 => 'color: #66cc66;'
+			),
+		'SCRIPT' => array(
+			0 => 'color: #00bbdd;',
+			1 => 'color: #ddbb00;',
+			2 => 'color: #009900;'
+			),
+		'REGEXPS' => array(
+			)
+		),
+	'URLS' => array(
+		1 => '',
+		2 => 'http://december.com/html/4/element/{FNAME}.html',
+		3 => ''
+		),
+	'OOLANG' => false,
+	'OBJECT_SPLITTERS' => array(
+		),
+	'REGEXPS' => array(
+		),
+	'STRICT_MODE_APPLIES' => GESHI_ALWAYS,
+	'SCRIPT_DELIMITERS' => array(
+		0 => array(
+			'<!DOCTYPE' => '>'
+			),
+		1 => array(
+			'&' => ';'
+			),
+		2 => array(
+			'<' => '>'
+			)
+	),
+	'HIGHLIGHT_STRICT_BLOCK' => array(
+		0 => false,
+		1 => false,
+		2 => true
+        ),
+    'TAB_WIDTH' => 4
+);
+
+?>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/plugins/geshi/geshi/idl.php	Sun Feb 10 18:10:52 2008 -0500
@@ -0,0 +1,119 @@
+<?php
+/*************************************************************************************
+ * idl.php
+ * -------
+ * Author: Cedric Bosdonnat (cedricbosdo@openoffice.org)
+ * Copyright: (c) 2006 Cedric Bosdonnat
+ * Release Version: 1.0.7.20
+ * Date Started: 2006/08/20
+ *
+ * Unoidl language file for GeSHi.
+ *
+ * 2006/08/20 (1.0.0)
+ *  -  First Release
+ *
+ *************************************************************************************
+ *
+ *     This file is part of GeSHi.
+ *
+ *   GeSHi is free software; you can 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.
+ *
+ *   GeSHi is distributed in the hope that it will be useful,
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *   GNU General Public License for more details.
+ *
+ *   You should have received a copy of the GNU General Public License
+ *   along with GeSHi; if not, write to the Free Software
+ *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
+ ************************************************************************************/
+
+
+$language_data = array (
+	'LANG_NAME' => 'Uno Idl',
+	'COMMENT_SINGLE' => array(1 => '//', 2 => '#'),
+	'COMMENT_MULTI' => array('/*' => '*/'),
+	'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+	'QUOTEMARKS' => array("'", '"'),
+	'ESCAPE_CHAR' => '\\',
+	'KEYWORDS' => array(
+		1 => array(
+			'published', 'get', 'set', 'service', 'singleton', 'type', 'module', 'interface', 'struct',
+			'const', 'constants', 'exception', 'enum', 'raises', 'typedef'
+			),
+		2 => array(
+            'bound', 'maybeambiguous', 'maybedefault', 'maybevoid', 'oneway', 'optional',
+            'readonly', 'in', 'out', 'inout', 'attribute', 'transient', 'removable'
+          	),
+		3 => array(
+			'True', 'False', 'TRUE', 'FALSE'
+            ),
+		4 => array(
+		    'string', 'long', 'byte', 'hyper', 'boolean', 'any', 'char', 'double', 'long', 
+            'void', 'sequence', 'unsigned', '...'
+            ),
+		),
+	'SYMBOLS' => array(
+        '(', ')', '{', '}', '[', ']', '=', '+', '-', '*', '/', '!', '%', '^', '&', ':', ';'
+		),
+	'CASE_SENSITIVE' => array(
+		GESHI_COMMENTS => true,
+		1 => true,
+		2 => true,
+		3 => true,
+		4 => true,
+		),
+	'STYLES' => array(
+		'KEYWORDS' => array(
+			1 => 'color: #990078; font-weight: bold',
+			2 => 'color: #36dd1c;',
+			3 => 'color: #990078; font-weight: bold',
+			4 => 'color: #0000ec;'
+			),
+		'COMMENTS' => array(
+			1 => 'color: #3f7f5f;',
+			2 => 'color: #808080;',
+			'MULTI' => 'color: #4080ff; font-style: italic;'
+			),
+		'ESCAPE_CHAR' => array(
+			0 => 'color: #666666; font-weight: bold;'
+			),
+		'BRACKETS' => array(
+			0 => 'color: #808080;'
+			),
+		'STRINGS' => array(
+			0 => 'color: #ff0000;'
+			),
+		'NUMBERS' => array(
+			0 => 'color: #0000dd;'
+			),
+		'METHODS' => array(
+			),
+		'SYMBOLS' => array(
+			0 => 'color: #66cc66;'
+			),
+		'REGEXPS' => array(
+			),
+		'SCRIPT' => array(
+			)
+		),
+	'URLS' => array(
+		),
+	'OOLANG' => false,
+	'OBJECT_SPLITTERS' => array(
+		1 => '::'
+		),
+	'REGEXPS' => array(
+		),
+	'STRICT_MODE_APPLIES' => GESHI_NEVER,
+	'SCRIPT_DELIMITERS' => array(
+		),
+	'HIGHLIGHT_STRICT_BLOCK' => array(
+		)
+);
+
+?>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/plugins/geshi/geshi/ini.php	Sun Feb 10 18:10:52 2008 -0500
@@ -0,0 +1,123 @@
+<?php
+/*************************************************************************************
+ * ini.php
+ * --------
+ * Author: deguix (cevo_deguix@yahoo.com.br)
+ * Copyright: (c) 2005 deguix
+ * Release Version: 1.0.7.20
+ * Date Started: 2005/03/27
+ *
+ * INI language file for GeSHi.
+ *
+ * CHANGES
+ * -------
+ * 2005/12/28 (1.0.1)
+ *   -  Removed unnecessary keyword style index
+ *   -  Added support for " strings
+ * 2005/04/05 (1.0.0)
+ *   -  First Release
+ *
+ * TODO (updated 2005/03/27)
+ * -------------------------
+ *
+ *************************************************************************************
+ *
+ *     This file is part of GeSHi.
+ *
+ *   GeSHi is free software; you can 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.
+ *
+ *   GeSHi is distributed in the hope that it will be useful,
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *   GNU General Public License for more details.
+ *
+ *   You should have received a copy of the GNU General Public License
+ *   along with GeSHi; if not, write to the Free Software
+ *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
+ ************************************************************************************/
+
+$language_data = array (
+	'LANG_NAME' => 'INI',
+	'COMMENT_SINGLE' => array(0 => ';'),
+	'COMMENT_MULTI' => array(),
+	'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+	'QUOTEMARKS' => array('"'),
+	'ESCAPE_CHAR' => '',
+	'KEYWORDS' => array(
+		),
+	'SYMBOLS' => array(
+		'[', ']', '='
+		),
+	'CASE_SENSITIVE' => array(
+		GESHI_COMMENTS => false
+		),
+	'STYLES' => array(
+		'KEYWORDS' => array(
+			),
+		'COMMENTS' => array(
+			0 => 'color: #666666; font-style: italic;'
+			),
+		'ESCAPE_CHAR' => array(
+		    0 => ''
+			),
+		'BRACKETS' => array(
+		    0 => ''
+			),
+		'STRINGS' => array(
+		    0 => 'color: #933;'
+			),
+		'NUMBERS' => array(
+		    0 => ''
+			),
+		'METHODS' => array(
+		    0 => ''
+			),
+		'SYMBOLS' => array(
+			0 => 'color: #000066; font-weight:bold;'
+			),
+		'REGEXPS' => array(
+			0 => 'color: #000066; font-weight:bold;',
+			1 => 'color: #000099;',
+			2 => 'color: #660066;'
+			),
+		'SCRIPT' => array(
+		    0 => ''
+			)
+		),
+	'URLS' => array(
+		),
+	'OOLANG' => false,
+	'OBJECT_SPLITTERS' => array(
+		),
+	'REGEXPS' => array(
+		0 => '\[.+\]',
+		1 => array(
+			GESHI_SEARCH => '([a-zA-Z0-9_]+\s*)=(.+)',
+			GESHI_REPLACE => '\\1',
+			GESHI_MODIFIERS => '',
+			GESHI_BEFORE => '',
+			GESHI_AFTER => '=\\2'
+			),
+		2 => array(
+            // Evil hackery to get around GeSHi bug: <>" and ; are added so <span>s can be matched
+            // Explicit match on variable names because if a comment is before the first < of the span
+            // gets chewed up...
+			GESHI_SEARCH => '([<>";a-zA-Z0-9_]+\s*)=(.+)',
+			GESHI_REPLACE => '\\2',
+			GESHI_MODIFIERS => '',
+			GESHI_BEFORE => '\\1=',
+			GESHI_AFTER => ''
+			)
+		),
+	'STRICT_MODE_APPLIES' => GESHI_NEVER,
+	'SCRIPT_DELIMITERS' => array(
+		),
+	'HIGHLIGHT_STRICT_BLOCK' => array(
+		)
+);
+
+?>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/plugins/geshi/geshi/inno.php	Sun Feb 10 18:10:52 2008 -0500
@@ -0,0 +1,213 @@
+<?php
+/*************************************************************************************
+ * Inno.php
+ * ----------
+ * Author: Thomas Klingler (hotline@theratech.de) based on delphi.php from Járja Norbert (jnorbi@vipmail.hu)
+ * Copyright: (c) 2004 Járja Norbert, Nigel McNie (http://qbnz.com/highlighter)
+ * Release Version: 1.0.7.20
+ * Date Started: 2005/07/29
+ *
+ * Inno Script language inkl. Delphi (Object Pascal) language file for GeSHi.
+ *
+ * CHANGES
+ * -------
+ * 2005/09/03
+ *   -  First Release
+ *
+ * TODO (updated 2005/07/27)
+ * -------------------------
+ *
+ *************************************************************************************
+ *
+ *   This file is part of GeSHi.
+ *
+ *   GeSHi is free software; you can 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.
+ *
+ *   GeSHi is distributed in the hope that it will be useful,
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *   GNU General Public License for more details.
+ *
+ *   You should have received a copy of the GNU General Public License
+ *   along with GeSHi; if not, write to the Free Software
+ *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
+ ************************************************************************************/
+
+$language_data = array (
+	'LANG_NAME' => 'Inno',
+	'COMMENT_SINGLE' => array(1 => '//'),
+	'COMMENT_MULTI' => array('(*' => '*)'),
+	'CASE_KEYWORDS' => 0,
+	'QUOTEMARKS' => array("'", '"'),
+	'ESCAPE_CHAR' => '',
+	'KEYWORDS' => array(
+		1 => array('Setup','Types','Components','Tasks','Dirs','Files','Icons','INI','InstallDelete','Languages','Messages',
+					'CustomMessage','LangOptions','Registry','RUN','UninstallDelete','UninstallRun'
+					,'app','win','sys','syswow64','src','sd','pf','pf32','pf64','cf','cf32','cf64','tmp','fonts','dao',
+					'group','localappdata','sendto','userappdata','commonappdata','userdesktop','commondesktop','userdocs',
+					'commondocs','userfavorites','commonfavorites','userprograms','commonprograms','userstartmenu',
+					'commonstartmenu','userstartup','commonstartup','usertemplates','commontemplates'
+			),
+		2 => array(
+			'nil', 'false', 'true', 'var', 'type', 'const','And', 'Array', 'As', 'Begin', 'Case', 'Class', 'Constructor', 'Destructor', 'Div', 'Do', 'DownTo', 'Else',
+			'End', 'Except', 'File', 'Finally', 'For', 'Function', 'Goto', 'If', 'Implementation', 'In', 'Inherited', 'Interface',
+			'Is', 'Mod', 'Not', 'Object', 'Of', 'On', 'Or', 'Packed', 'Procedure', 'Property', 'Raise', 'Record',
+			'Repeat', 'Set', 'Shl', 'Shr', 'Then', 'ThreadVar', 'To', 'Try', 'Unit', 'Until', 'Uses', 'While', 'With', 'Xor',
+			
+			'HKCC','HKCR','HKCU','HKLM','HKU','alwaysoverwrite','alwaysskipifsameorolder','append',
+			'binary','classic','closeonexit','comparetimestamp','confirmoverwrite',
+			'createkeyifdoesntexist','createonlyiffileexists','createvalueifdoesntexist',
+			'deleteafterinstall','deletekey','deletevalue','dirifempty','dontcloseonexit',
+			'dontcopy','dontcreatekey','disablenouninstallwarning','dword','exclusive','expandsz',
+			'external','files','filesandordirs','fixed','fontisnttruetype','ignoreversion','iscustom','isreadme',
+			'modern','multisz','new','noerror','none','normal','nowait','onlyifdestfileexists',
+			'onlyifdoesntexist','onlyifnewer','overwrite','overwritereadonly','postinstall',
+			'preservestringtype','promptifolder','regserver','regtypelib','restart','restartreplace',
+			'runhidden','runmaximized','runminimized','sharedfile','shellexec','showcheckbox',
+			'skipifnotsilent','skipifsilent','silent','skipifdoesntexist',
+			'skipifsourcedoesntexist','sortfilesbyextension','unchecked','uninsalwaysuninstall',
+			'uninsclearvalue','uninsdeleteentry','uninsdeletekey','uninsdeletekeyifempty',
+			'uninsdeletesection','uninsdeletesectionifempty','uninsdeletevalue',
+			'uninsneveruninstall','useapppaths','verysilent','waituntilidle'
+
+			
+			),
+		3 => array(
+			'Abs', 'Addr', 'AnsiCompareStr', 'AnsiCompareText', 'AnsiContainsStr', 'AnsiEndsStr', 'AnsiIndexStr', 'AnsiLeftStr',
+			'AnsiLowerCase', 'AnsiMatchStr', 'AnsiMidStr', 'AnsiPos', 'AnsiReplaceStr', 'AnsiReverseString', 'AnsiRightStr',
+			'AnsiStartsStr', 'AnsiUpperCase', 'ArcCos', 'ArcSin', 'ArcTan', 'Assigned', 'BeginThread', 'Bounds', 'CelsiusToFahrenheit',
+			'ChangeFileExt', 'Chr', 'CompareStr', 'CompareText', 'Concat', 'Convert', 'Copy', 'Cos', 'CreateDir', 'CurrToStr',
+			'CurrToStrF', 'Date', 'DateTimeToFileDate', 'DateTimeToStr', 'DateToStr', 'DayOfTheMonth', 'DayOfTheWeek', 'DayOfTheYear',
+			'DayOfWeek', 'DaysBetween', 'DaysInAMonth', 'DaysInAYear', 'DaySpan', 'DegToRad', 'DeleteFile', 'DiskFree', 'DiskSize',
+			'DupeString', 'EncodeDate', 'EncodeDateTime', 'EncodeTime', 'EndOfADay', 'EndOfAMonth', 'Eof', 'Eoln', 'Exp', 'ExtractFileDir',
+			'ExtractFileDrive', 'ExtractFileExt', 'ExtractFileName', 'ExtractFilePath', 'FahrenheitToCelsius', 'FileAge',
+			'FileDateToDateTime', 'FileExists', 'FilePos', 'FileSearch', 'FileSetDate', 'FileSize', 'FindClose', 'FindCmdLineSwitch',
+			'FindFirst', 'FindNext', 'FloatToStr', 'FloatToStrF', 'Format', 'FormatCurr', 'FormatDateTime', 'FormatFloat', 'Frac',
+			'GetCurrentDir', 'GetLastError', 'GetMem', 'High', 'IncDay', 'IncMinute', 'IncMonth', 'IncYear', 'InputBox',
+			'InputQuery', 'Int', 'IntToHex', 'IntToStr', 'IOResult', 'IsInfinite', 'IsLeapYear', 'IsMultiThread', 'IsNaN',
+			'LastDelimiter', 'Length', 'Ln', 'Lo', 'Log10', 'Low', 'LowerCase', 'Max', 'Mean', 'MessageDlg', 'MessageDlgPos',
+			'MonthOfTheYear', 'Now', 'Odd', 'Ord', 'ParamCount', 'ParamStr', 'Pi', 'Point', 'PointsEqual', 'Pos', 'Pred',
+			'Printer', 'PromptForFileName', 'PtInRect', 'RadToDeg', 'Random', 'RandomRange', 'RecodeDate', 'RecodeTime', 'Rect',
+			'RemoveDir', 'RenameFile', 'Round', 'SeekEof', 'SeekEoln', 'SelectDirectory', 'SetCurrentDir', 'Sin', 'SizeOf',
+			'Slice', 'Sqr', 'Sqrt', 'StringOfChar', 'StringReplace', 'StringToWideChar', 'StrToCurr', 'StrToDate', 'StrToDateTime',
+			'StrToFloat', 'StrToInt', 'StrToInt64', 'StrToInt64Def', 'StrToIntDef', 'StrToTime', 'StuffString', 'Succ', 'Sum', 'Tan',
+			'Time', 'TimeToStr', 'Tomorrow', 'Trunc', 'UpCase', 'UpperCase', 'VarType', 'WideCharToString', 'WrapText', 'Yesterday',
+			'Append', 'AppendStr', 'Assign', 'AssignFile', 'AssignPrn', 'Beep', 'BlockRead', 'BlockWrite', 'Break',
+			'ChDir', 'Close', 'CloseFile', 'Continue', 'DateTimeToString', 'Dec', 'DecodeDate', 'DecodeDateTime',
+			'DecodeTime', 'Delete', 'Dispose', 'EndThread', 'Erase', 'Exclude', 'Exit', 'FillChar', 'Flush', 'FreeAndNil',
+			'FreeMem', 'GetDir', 'GetLocaleFormatSettings', 'Halt', 'Inc', 'Include', 'Insert', 'MkDir', 'Move', 'New',
+			'ProcessPath', 'Randomize', 'Read', 'ReadLn', 'ReallocMem', 'Rename', 'ReplaceDate', 'ReplaceTime',
+			'Reset', 'ReWrite', 'RmDir', 'RunError', 'Seek', 'SetLength', 'SetString', 'ShowMessage', 'ShowMessageFmt',
+			'ShowMessagePos', 'Str', 'Truncate', 'Val', 'Write', 'WriteLn',
+			
+			'AdminPrivilegesRequired','AfterInstall','AllowCancelDuringInstall','AllowNoIcons','AllowRootDirectory','AllowUNCPath','AlwaysRestart','AlwaysShowComponentsList','AlwaysShowDirOnReadyPage','AlwaysShowGroupOnReadyPage ','AlwaysUsePersonalGroup','AppComments','AppContact','AppCopyright','AppendDefaultDirName',
+			'AppendDefaultGroupName','AppId','AppModifyPath','AppMutex','AppName','AppPublisher',
+			'AppPublisherURL','AppReadmeFile','AppSupportURL','AppUpdatesURL','AppVerName','AppVersion',
+			'Attribs','BackColor','BackColor2','BackColorDirection','BackSolid','BeforeInstall',
+			'ChangesAssociations','ChangesEnvironment','Check','CodeFile','Comment','Components','Compression','CopyMode',
+			'CreateAppDir','CreateUninstallRegKey','DefaultDirName','DefaultGroupName',
+			'DefaultUserInfoName','DefaultUserInfoOrg','DefaultUserInfoSerial',
+			'Description','DestDir','DestName','DirExistsWarning',
+			'DisableDirPage','DisableFinishedPage',
+			'DisableProgramGroupPage','DisableReadyMemo','DisableReadyPage',
+			'DisableStartupPrompt','DiskClusterSize','DiskSliceSize','DiskSpaceMBLabel',
+			'DiskSpanning','DontMergeDuplicateFiles','EnableDirDoesntExistWarning','Encryption',
+			'Excludes','ExtraDiskSpaceRequired','Filename','Flags','FlatComponentsList','FontInstall',
+			'GroupDescription','HotKey','IconFilename','IconIndex','InfoAfterFile','InfoBeforeFile',
+			'InternalCompressLevel','Key','LanguageDetectionMethod','Languages',
+			'LicenseFile','MergeDuplicateFiles','MessagesFile','MinVersion','Name',
+			'OnlyBelowVersion','OutputBaseFilename','OutputManifestFile','OutputDir',
+			'Parameters','Password','Permissions','PrivilegesRequired','ReserveBytes',
+			'RestartIfNeededByRun','Root','RunOnceId','Section','SetupIconFile',
+			'ShowComponentSizes','ShowLanguageDialog','ShowTasksTreeLines','SlicesPerDisk',
+			'SolidCompression','Source','SourceDir','StatusMsg','Subkey','Tasks',
+			'TimeStampRounding','TimeStampsInUTC','TouchDate','TouchTime','Type','Types',
+			'UninstallDisplayIcon','UninstallDisplayName','UninstallFilesDir','UninstallIconFile',
+			'UninstallLogMode','UninstallRestartComputer','UninstallStyle','Uninstallable',
+			'UpdateUninstallLogAppName','UsePreviousAppDir','UsePreviousGroup',
+			'UsePreviousTasks','UsePreviousSetupType','UsePreviousUserInfo',
+			'UserInfoPage','UseSetupLdr','ValueData','ValueName','ValueType',
+			'VersionInfoVersion','VersionInfoCompany','VersionInfoDescription','VersionInfoTextVersion',
+			'WindowResizable','WindowShowCaption','WindowStartMaximized',
+			'WindowVisible','WizardImageBackColor','WizardImageFile','WizardImageStretch','WizardSmallImageBackColor','WizardSmallImageFile','WizardStyle','WorkingDir'
+
+			
+			),
+		4 => array(
+			'AnsiChar', 'AnsiString', 'Boolean', 'Byte', 'Cardinal', 'Char', 'Comp', 'Currency', 'Double', 'Extended',
+			'Int64', 'Integer', 'LongInt', 'LongWord', 'PAnsiChar', 'PAnsiString', 'PChar', 'PCurrency', 'PDateTime',
+			'PExtended', 'PInt64', 'Pointer', 'PShortString', 'PString', 'PVariant', 'PWideChar', 'PWideString',
+			'Real', 'Real48', 'ShortInt', 'ShortString', 'Single', 'SmallInt', 'String', 'TBits', 'TConvType', 'TDateTime',
+			'Text', 'TextFile', 'TFloatFormat', 'TFormatSettings', 'TList', 'TObject', 'TOpenDialog', 'TPoint',
+			'TPrintDialog', 'TRect', 'TReplaceFlags', 'TSaveDialog', 'TSearchRec', 'TStringList', 'TSysCharSet',
+			'TThreadFunc', 'Variant', 'WideChar', 'WideString', 'Word'
+			),
+		),
+	'SYMBOLS' => array(
+		'(', ')', '[', ']', '{', '}', '@', '%', '&', '*', '|', '/', '<', '>'
+		),	
+		
+	'CASE_SENSITIVE' => array(
+		GESHI_COMMENTS => true,
+		1 => false,
+		2 => false,
+		3 => false,
+		4 => false,
+		),
+	'STYLES' => array(
+		'KEYWORDS' => array(
+			1 => 'color: #000000; font-weight: bold;',/*bold Black*/
+			2 => 'color: #000000;font-style: italic;',/*Black*/
+			3 => 'color: #0000FF;',/*blue*/
+			4 => 'color: #CC0000;'/*red*/
+			),
+		'COMMENTS' => array(
+			1 => 'color: #33FF00; font-style: italic;',
+			'MULTI' => 'color: #33FF00; font-style: italic;'
+			),
+		'ESCAPE_CHAR' => array(
+			),
+		'BRACKETS' => array(
+			0 => 'color: #66cc66;'
+			),
+		'STRINGS' => array(
+			0 => 'color: #ff0000;'
+			),
+		'NUMBERS' => array(
+			0 => 'color: #cc66cc;'
+			),
+		'METHODS' => array(
+			1 => 'color: #006600;'
+			),
+		'REGEXPS' => array(
+			),
+		'SYMBOLS' => array(
+			0 => 'color:  #000000; font-weight: bold;',
+			),
+		'SCRIPT' => array(
+			)
+		),
+	'URLS' => array(
+		1 => '',
+		2 => '',
+		3 => '',
+		4 => ''
+		),
+	'OOLANG' => true,
+	'OBJECT_SPLITTERS' => array(
+		1 => '.'
+		),
+	'REGEXPS' => array(
+		),
+	'STRICT_MODE_APPLIES' => GESHI_NEVER,
+	'SCRIPT_DELIMITERS' => array(
+		),
+	'HIGHLIGHT_STRICT_BLOCK' => array(
+		)
+);
+
+?>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/plugins/geshi/geshi/io.php	Sun Feb 10 18:10:52 2008 -0500
@@ -0,0 +1,139 @@
+<?php
+/*************************************************************************************
+ * io.php
+ * -------
+ * Author: Nigel McNie (nigel@geshi.org)
+ * Copyright: (c) 2006 Nigel McNie (http://qbnz.com/highlighter/)
+ * Release Version: 1.0.7.20
+ * Date Started: 2006/09/23
+ *
+ * Io language file for GeSHi. Thanks to Johnathan Wright for the suggestion and help
+ * with this language :)
+ *
+ * CHANGES
+ * -------
+ * 2006/09/23(1.0.0)
+ *  -  First Release
+ *
+ * TODO
+ * -------------------------
+ *
+ *************************************************************************************
+ *
+ *     This file is part of GeSHi.
+ *
+ *   GeSHi is free software; you can 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.
+ *
+ *   GeSHi is distributed in the hope that it will be useful,
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *   GNU General Public License for more details.
+ *
+ *   You should have received a copy of the GNU General Public License
+ *   along with GeSHi; if not, write to the Free Software
+ *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
+ ************************************************************************************/
+
+$language_data = array (
+	'LANG_NAME' => 'Io',
+	'COMMENT_SINGLE' => array(1 => '//', 2 => '#'),
+	'COMMENT_MULTI' => array('/*' => '*/'),
+	'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+	'QUOTEMARKS' => array('"'),
+	'ESCAPE_CHAR' => '\\',
+	'KEYWORDS' => array(
+        1 => array(
+            'and', 'break', 'else', 'elseif', 'exit', 'for', 'foreach', 'if', 'ifFalse', 'ifNil',
+            'ifTrue', 'or', 'pass', 'raise', 'return', 'then', 'try', 'wait', 'while', 'yield'
+			),
+        2 => array(
+            'activate', 'activeCoroCount', 'asString', 'block', 'catch', 'clone', 'collectGarbage',
+            'compileString', 'continue', 'do', 'doFile', 'doMessage', 'doString', 'forward',
+            'getSlot', 'getenv', 'hasSlot', 'isActive', 'isNil', 'isResumable', 'list', 'message',
+            'method', 'parent', 'pause', 'perform', 'performWithArgList', 'print', 'proto',
+            'raiseResumable', 'removeSlot', 'resend', 'resume', 'schedulerSleepSeconds', 'self',
+            'sender', 'setSchedulerSleepSeconds', 'setSlot', 'shallowCopy', 'slotNames', 'super',
+            'system', 'thisBlock', 'thisContext', 'thisMessage', 'type', 'uniqueId', 'updateSlot',
+            'write'
+			),
+        3 => array(
+            'Array', 'AudioDevice', 'AudioMixer', 'Block', 'Box', 'Buffer', 'CFunction', 'CGI',
+            'Color', 'Curses', 'DBM', 'DNSResolver', 'DOConnection', 'DOProxy', 'DOServer',
+            'Date', 'Directory', 'Duration', 'DynLib', 'Error', 'Exception', 'FFT', 'File',
+            'Fnmatch', 'Font', 'Future', 'GL', 'GLE', 'GLScissor', 'GLU', 'GLUCylinder',
+            'GLUQuadric', 'GLUSphere', 'GLUT', 'Host', 'Image', 'Importer', 'LinkList', 'List',
+            'Lobby', 'Locals', 'MD5', 'MP3Decoder', 'MP3Encoder', 'Map', 'Message', 'Movie',
+            'NULL', 'Nil', 'Nop', 'Notifiction', 'Number', 'Object', 'OpenGL', 'Point', 'Protos',
+            'Regex', 'SGMLTag', 'SQLite', 'Server', 'ShowMessage', 'SleepyCat', 'SleepyCatCursor',
+            'Socket', 'SocketManager', 'Sound', 'Soup', 'Store', 'String', 'Tree', 'UDPSender',
+            'UDPReceiver', 'URL', 'User', 'Warning', 'WeakLink'
+            )
+		),
+	'SYMBOLS' => array(
+		'(', ')', '[', ']', '{', '}', '!', '@', '%', '&', '*', '|', '/', '<', '>'
+		),
+	'CASE_SENSITIVE' => array(
+		GESHI_COMMENTS => false,
+		1 => false,
+		2 => false,
+		3 => false,
+		),
+	'STYLES' => array(
+		'KEYWORDS' => array(
+			1 => 'color: #b1b100;',
+			2 => 'color: #000000; font-weight: bold;',
+			3 => 'color: #000066;'
+			),
+		'COMMENTS' => array(
+			1 => 'color: #808080; font-style: italic;',
+			2 => 'color: #808080; font-style: italic;',
+			'MULTI' => 'color: #808080; font-style: italic;'
+			),
+		'ESCAPE_CHAR' => array(
+			0 => 'color: #000099; font-weight: bold;'
+			),
+		'BRACKETS' => array(
+			0 => 'color: #66cc66;'
+			),
+		'STRINGS' => array(
+			0 => 'color: #ff0000;'
+			),
+		'NUMBERS' => array(
+			0 => 'color: #cc66cc;'
+			),
+		'METHODS' => array(
+			1 => 'color: #006600;',
+			2 => 'color: #006600;'
+			),
+		'SYMBOLS' => array(
+			0 => 'color: #66cc66;'
+			),
+		'REGEXPS' => array(
+			0 => 'color: #0000ff;'
+			),
+		'SCRIPT' => array(
+			0 => ''
+			)
+		),
+	'URLS' => array(
+		1 => '',
+		2 => '',
+		3 => ''
+		),
+	'OOLANG' => false,
+	'OBJECT_SPLITTERS' => array(
+		),
+	'REGEXPS' => array(
+		),
+	'STRICT_MODE_APPLIES' => GESHI_NEVER,
+	'SCRIPT_DELIMITERS' => array(
+		),
+	'HIGHLIGHT_STRICT_BLOCK' => array(
+		)
+);
+
+?>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/plugins/geshi/geshi/java.php	Sun Feb 10 18:10:52 2008 -0500
@@ -0,0 +1,1388 @@
+<?php
+/*************************************************************************************
+ * java.php
+ * --------
+ * Author: Nigel McNie (nigel@geshi.org)
+ * Copyright: (c) 2004 Nigel McNie (http://qbnz.com/highlighter/)
+ * Release Version: 1.0.7.20
+ * Date Started: 2004/07/10
+ *
+ * Java language file for GeSHi.
+ *
+ * CHANGES
+ * -------
+ * 2005/12/28 (1.0.4)
+ *   -  Added instanceof keyword
+ * 2004/11/27 (1.0.3)
+ *   -  Added support for multiple object splitters
+ * 2004/08/05 (1.0.2)
+ *   -  Added URL support
+ *   -  Added keyword "this", as bugs in GeSHi class ironed out
+ * 2004/08/05 (1.0.1)
+ *   -  Added support for symbols
+ *   -  Added extra missed keywords
+ * 2004/07/14 (1.0.0)
+ *   -  First Release
+ *
+ * TODO (updated 2004/11/27)
+ * -------------------------
+ * * Compact the class names like the first few have been
+ *   and eliminate repeats
+ *
+ *************************************************************************************
+ *
+ *     This file is part of GeSHi.
+ *
+ *   GeSHi is free software; you can 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.
+ *
+ *   GeSHi is distributed in the hope that it will be useful,
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *   GNU General Public License for more details.
+ *
+ *   You should have received a copy of the GNU General Public License
+ *   along with GeSHi; if not, write to the Free Software
+ *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
+ ************************************************************************************/
+
+$language_data = array (
+	'LANG_NAME' => 'Java',
+	'COMMENT_SINGLE' => array(1 => '//', 2 => 'import'),
+	'COMMENT_MULTI' => array('/*' => '*/'),
+	'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+	'QUOTEMARKS' => array("'", '"'),
+	'ESCAPE_CHAR' => '\\',
+	'KEYWORDS' => array(
+		1 => array(
+			'for', 'foreach', 'if', 'else', 'while', 'do',
+			'switch', 'case'
+			),
+		2 => array(
+			'null', 'return', 'false', 'final', 'true', 'public',
+			'private', 'protected', 'extends', 'break', 'class',
+			'new', 'try', 'catch', 'throws', 'finally', 'implements',
+			'interface', 'throw', 'native', 'synchronized', 'this',
+            'abstract', 'transient', 'instanceof', 'assert', 'continue',
+            'default', 'enum', 'package', 'static', 'strictfp', 'super',
+            'volatile', 'const', 'goto'
+			),
+		3 => array(
+			'AbstractAction', 'AbstractBorder', 'AbstractButton', 'AbstractCellEditor',
+			'AbstractCollection', 'AbstractColorChooserPanel', 'AbstractDocument',
+			'AbstractDocument.AttributeContext', 'AbstractDocument.Content',
+			'AbstractDocument.ElementEdit', 'AbstractLayoutCache',
+			'AbstractLayoutCache.NodeDimensions', 'AbstractList', 'AbstractListModel',
+			'AbstractMap', 'AbstractMethodError', 'AbstractSequentialList',
+			'AbstractSet', 'AbstractTableModel', 'AbstractUndoableEdit', 'AbstractWriter',
+			'AccessControlContext', 'AccessControlException', 'AccessController',
+			'AccessException', 'Accessible', 'AccessibleAction', 'AccessibleBundle',
+			'AccessibleComponent', 'AccessibleContext', 'AccessibleHyperlink',
+			'AccessibleHypertext', 'AccessibleIcon', 'AccessibleObject',
+			'AccessibleRelation', 'AccessibleRelationSet', 'AccessibleResourceBundle',
+			'AccessibleRole', 'AccessibleSelection', 'AccessibleState',
+			'AccessibleStateSet', 'AccessibleTable', 'AccessibleTableModelChange',
+			'AccessibleText', 'AccessibleValue', 'Acl', 'AclEntry', 'AclNotFoundException',
+			'Action', 'ActionEvent', 'ActionListener', 'ActionMap', 'ActionMapUIResource',
+			'Activatable', 'ActivateFailedException', 'ActivationDesc',
+			'ActivationException', 'ActivationGroup', 'ActivationGroupDesc',
+			'ActivationGroupDesc.CommandEnvironment', 'ActivationGroupID', 'ActivationID',
+			'ActivationInstantiator', 'ActivationMonitor', 'ActivationSystem',
+			'Activator', 'ActiveEvent', 'Adjustable', 'AdjustmentEvent', 'AdjustmentListener',
+			'Adler32', 'AffineTransform', 'AffineTransformOp', 'AlgorithmParameterGenerator',
+			'AlgorithmParameterGeneratorSpi', 'AlgorithmParameters', 'AlgorithmParameterSpec',
+			'AlgorithmParametersSpi', 'AllPermission', 'AlphaComposite', 'AlreadyBound',
+			'AlreadyBoundException', 'AlreadyBoundHelper', 'AlreadyBoundHolder',
+			'AncestorEvent', 'AncestorListener', 'Annotation', 'Any', 'AnyHolder',
+			'AnySeqHelper', 'AnySeqHolder', 'Applet', 'AppletContext', 'AppletInitializer',
+			'AppletStub', 'ApplicationException', 'Arc2D', 'Arc2D.Double', 'Arc2D.Float',
+			'Area', 'AreaAveragingScaleFilter', 'ARG_IN', 'ARG_INOUT', 'ARG_OUT',
+			'ArithmeticException', 'Array', 'ArrayIndexOutOfBoundsException',
+			'ArrayList', 'Arrays', 'ArrayStoreException', 'AsyncBoxView',
+			'Attribute', 'AttributedCharacterIterator', 'AttributedCharacterIterator.Attribute',
+			'AttributedString', 'AttributeInUseException', 'AttributeList',
+			'AttributeModificationException', 'Attributes', 'Attributes.Name',
+			'AttributeSet', 'AttributeSet.CharacterAttribute', 'AttributeSet.ColorAttribute',
+			'AttributeSet.FontAttribute', 'AttributeSet.ParagraphAttribute',
+			'AudioClip', 'AudioFileFormat', 'AudioFileFormat.Type', 'AudioFileReader',
+			'AudioFileWriter', 'AudioFormat', 'AudioFormat.Encoding', 'AudioInputStream',
+			'AudioPermission', 'AudioSystem', 'AuthenticationException',
+			'AuthenticationNotSupportedException', 'Authenticator', 'Autoscroll',
+			'AWTError', 'AWTEvent', 'AWTEventListener', 'AWTEventMulticaster',
+			'AWTException', 'AWTPermission', 'BAD_CONTEXT', 'BAD_INV_ORDER', 'BAD_OPERATION',
+			'BAD_PARAM', 'BAD_POLICY', 'BAD_POLICY_TYPE', 'BAD_POLICY_VALUE', 'BAD_TYPECODE',
+			'BadKind', 'BadLocationException', 'BandCombineOp', 'BandedSampleModel','BasicArrowButton',
+			'BasicAttribute', 'BasicAttributes', 'BasicBorders', 'BasicBorders.ButtonBorder',
+			'BasicBorders.FieldBorder', 'BasicBorders.MarginBorder', 'BasicBorders.MenuBarBorder',
+			'BasicBorders.RadioButtonBorder', 'BasicBorders.SplitPaneBorder',
+			'BasicBorders.ToggleButtonBorder', 'BasicButtonListener', 'BasicButtonUI',
+			'BasicCheckBoxMenuItemUI', 'BasicCheckBoxUI', 'BasicColorChooserUI', 'BasicComboBoxEditor',
+			'BasicComboBoxEditor.UIResource', 'BasicComboBoxRenderer', 'BasicComboBoxRenderer.UIResource',
+			'BasicComboBoxUI', 'BasicComboPopup', 'BasicDesktopIconUI', 'BasicDesktopPaneUI',
+			'BasicDirectoryModel', 'BasicEditorPaneUI', 'BasicFileChooserUI',
+			'BasicGraphicsUtils', 'BasicHTML', 'BasicIconFactory', 'BasicInternalFrameTitlePane',
+			'BasicInternalFrameUI', 'BasicLabelUI', 'BasicListUI', 'BasicLookAndFeel',
+			'BasicMenuBarUI', 'BasicMenuItemUI', 'BasicMenuUI', 'BasicOptionPaneUI',
+			'BasicOptionPaneUI.ButtonAreaLayout', 'BasicPanelUI', 'BasicPasswordFieldUI',
+			'BasicPermission', 'BasicPopupMenuSeparatorUI', 'BasicPopupMenuUI',
+			'BasicProgressBarUI', 'BasicRadioButtonMenuItemUI', 'BasicRadioButtonUI',
+			'BasicRootPaneUI', 'BasicScrollBarUI', 'BasicScrollPaneUI', 'BasicSeparatorUI',
+			'BasicSliderUI', 'BasicSplitPaneDivider', 'BasicSplitPaneUI', 'BasicStroke',
+			'BasicTabbedPaneUI', 'BasicTableHeaderUI', 'BasicTableUI', 'BasicTextAreaUI',
+			'BasicTextFieldUI', 'BasicTextPaneUI', 'BasicTextUI', 'BasicTextUI.BasicCaret',
+			'BasicTextUI.BasicHighlighter', 'BasicToggleButtonUI', 'BasicToolBarSeparatorUI',
+			'BasicToolBarUI', 'BasicToolTipUI', 'BasicTreeUI', 'BasicViewportUI',
+			'BatchUpdateException', 'BeanContext', 'BeanContextChild',
+			'BeanContextChildComponentProxy', 'BeanContextChildSupport', 'BeanContextContainerProxy',
+			'BeanContextEvent', 'BeanContextMembershipEvent', 'BeanContextMembershipListener',
+			'BeanContextProxy', 'BeanContextServiceAvailableEvent', 'BeanContextServiceProvider',
+			'BeanContextServiceProviderBeanInfo', 'BeanContextServiceRevokedEvent',
+			'BeanContextServiceRevokedListener', 'BeanContextServices',
+			'BeanContextServicesListener', 'BeanContextServicesSupport',
+			'BeanContextServicesSupport.BCSSServiceProvider', 'BeanContextSupport',
+			'BeanContextSupport.BCSIterator', 'BeanDescriptor', 'BeanInfo', 'Beans',
+			'BevelBorder', 'BigDecimal', 'BigInteger', 'BinaryRefAddr', 'BindException',
+			'Binding', 'BindingHelper', 'BindingHolder', 'BindingIterator',
+			'BindingIteratorHelper', 'BindingIteratorHolder', 'BindingIteratorOperations',
+			'BindingListHelper', 'BindingListHolder', 'BindingType', 'BindingTypeHelper',
+			'BindingTypeHolder', 'BitSet', 'Blob', 'BlockView', 'Book', 'Boolean',
+			'BooleanControl', 'BooleanControl.Type', 'BooleanHolder', 'BooleanSeqHelper',
+			'BooleanSeqHolder', 'Border', 'BorderFactory', 'BorderLayout', 'BorderUIResource',
+			'BorderUIResource.BevelBorderUIResource', 'BorderUIResource.CompoundBorderUIResource',
+			'BorderUIResource.EmptyBorderUIResource', 'BorderUIResource.EtchedBorderUIResource',
+			'BorderUIResource.LineBorderUIResource', 'BorderUIResource.MatteBorderUIResource',
+			'BorderUIResource.TitledBorderUIResource', 'BoundedRangeModel', 'Bounds',
+			'Box', 'Box.Filler', 'BoxedValueHelper', 'BoxLayout', 'BoxView',
+			'BreakIterator', 'BufferedImage', 'BufferedImageFilter', 'BufferedImageOp',
+			'BufferedInputStream', 'BufferedOutputStream', 'BufferedReader', 'BufferedWriter',
+			'Button', 'ButtonGroup', 'ButtonModel', 'ButtonUI', 'Byte', 'ByteArrayInputStream',
+			'ByteArrayOutputStream', 'ByteHolder', 'ByteLookupTable', 'Calendar',
+			'CallableStatement', 'CannotProceed', 'CannotProceedException', 'CannotProceedHelper',
+			'CannotProceedHolder', 'CannotRedoException', 'CannotUndoException',
+			'Canvas', 'CardLayout', 'Caret', 'CaretEvent', 'CaretListener', 'CellEditor',
+			'CellEditorListener', 'CellRendererPane', 'Certificate', 'Certificate.CertificateRep',
+			'CertificateEncodingException', 'CertificateException', 'CertificateExpiredException',
+			'CertificateFactory', 'CertificateFactorySpi', 'CertificateNotYetValidException',
+			'CertificateParsingException', 'ChangedCharSetException', 'ChangeEvent',
+			'ChangeListener', 'Character', 'Character.Subset', 'Character.UnicodeBlock',
+			'CharacterIterator', 'CharArrayReader', 'CharArrayWriter', 'CharConversionException',
+			'CharHolder', 'CharSeqHelper', 'CharSeqHolder', 'Checkbox', 'CheckboxGroup',
+			'CheckboxMenuItem', 'CheckedInputStream', 'CheckedOutputStream', 'Checksum',
+			'Choice', 'ChoiceFormat', 'Class', 'ClassCastException', 'ClassCircularityError',
+			'ClassDesc', 'ClassFormatError', 'ClassLoader', 'ClassNotFoundException',
+			'Clip', 'Clipboard', 'ClipboardOwner', 'Clob', 'Cloneable', 'CloneNotSupportedException',
+			'CMMException', 'CodeSource', 'CollationElementIterator', 'CollationKey',
+			'Collator', 'Collection', 'Collections', 'Color', 'ColorChooserComponentFactory',
+			'ColorChooserUI', 'ColorConvertOp', 'ColorModel', 'ColorSelectionModel',
+			'ColorSpace', 'ColorUIResource', 'ComboBoxEditor', 'ComboBoxModel', 'ComboBoxUI',
+			'ComboPopup', 'COMM_FAILURE', 'CommunicationException', 'Comparable',
+			'Comparator', 'Compiler', 'CompletionStatus', 'CompletionStatusHelper',
+			'Component', 'ComponentAdapter', 'ComponentColorModel', 'ComponentEvent',
+			'ComponentInputMap', 'ComponentInputMapUIResource', 'ComponentListener',
+			'ComponentOrientation', 'ComponentSampleModel', 'ComponentUI', 'ComponentView',
+			'Composite', 'CompositeContext', 'CompositeName','CompositeView', 'CompoundBorder',
+			'CompoundControl', 'CompoundControl.Type', 'CompoundEdit', 'CompoundName',
+			'ConcurrentModificationException', 'ConfigurationException', 'ConnectException',
+			'ConnectException', 'ConnectIOException', 'Connection', 'Constructor',
+			'Container', 'ContainerAdapter', 'ContainerEvent', 'ContainerListener',
+			'ContentHandler', 'ContentHandlerFactory', 'ContentModel', 'Context', 'ContextList',
+			'ContextNotEmptyException', 'ContextualRenderedImageFactory', 'Control',
+			'Control.Type', 'ControlFactory', 'ControllerEventListener', 'ConvolveOp',
+			'CRC32', 'CRL', 'CRLException', 'CropImageFilter', 'CSS', 'CSS.Attribute',
+			'CTX_RESTRICT_SCOPE', 'CubicCurve2D', 'CubicCurve2D.Double', 'CubicCurve2D.Float',
+			'Current', 'CurrentHelper', 'CurrentHolder', 'CurrentOperations', 'Cursor',
+			'Customizer', 'CustomMarshal', 'CustomValue', 'DATA_CONVERSION', 'DatabaseMetaData',
+			'DataBuffer', 'DataBufferByte', 'DataBufferInt', 'DataBufferShort', 'DataBufferUShort',
+			'DataFlavor', 'DataFormatException', 'DatagramPacket', 'DatagramSocket',
+			'DatagramSocketImpl', 'DatagramSocketImplFactory', 'DataInput', 'DataInputStream',
+			'DataLine', 'DataLine.Info', 'DataOutput', 'DataOutputStream', 'DataOutputStream',
+			'DataTruncation', 'Date', 'DateFormat', 'DateFormatSymbols', 'DebugGraphics',
+			'DecimalFormat', 'DecimalFormatSymbols', 'DefaultBoundedRangeModel',
+			'DefaultButtonModel', 'DefaultCaret', 'DefaultCellEditor', 'DefaultColorSelectionModel',
+			'DefaultComboBoxModel', 'DefaultDesktopManager', 'DefaultEditorKit',
+			'DefaultEditorKit.BeepAction', 'DefaultEditorKit.CopyAction',
+			'DefaultEditorKit.CutAction', 'DefaultEditorKit.DefaultKeyTypedAction',
+			'DefaultEditorKit.InsertBreakAction', 'DefaultEditorKit.InsertContentAction',
+			'DefaultEditorKit.InsertTabAction', 'DefaultEditorKit.PasteAction,',
+			'DefaultFocusManager', 'DefaultHighlighter', 'DefaultHighlighter.DefaultHighlightPainter',
+			'DefaultListCellRenderer', 'DefaultListCellRenderer.UIResource', 'DefaultListModel',
+			'DefaultListSelectionModel', 'DefaultMenuLayout', 'DefaultMetalTheme',
+			'DefaultMutableTreeNode', 'DefaultSingleSelectionModel', 'DefaultStyledDocument',
+			'DefaultStyledDocument.AttributeUndoableEdit', 'DefaultStyledDocument.ElementSpec',
+			'DefaultTableCellRenderer', 'DefaultTableCellRenderer.UIResource', 'DefaultTableColumnModel',
+			'DefaultTableModel', 'DefaultTextUI', 'DefaultTreeCellEditor', 'DefaultTreeCellRenderer',
+			'DefaultTreeModel', 'DefaultTreeSelectionModel', 'DefinitionKind', 'DefinitionKindHelper',
+			'Deflater', 'DeflaterOutputStream', 'Delegate', 'DesignMode', 'DesktopIconUI',
+			'DesktopManager', 'DesktopPaneUI', 'DGC', 'Dialog', 'Dictionary', 'DigestException',
+			'DigestInputStream', 'DigestOutputStream', 'Dimension', 'Dimension2D',
+			'DimensionUIResource', 'DirContext', 'DirectColorModel', 'DirectoryManager',
+			'DirObjectFactory', 'DirStateFactory', 'DirStateFactory.Result', 'DnDConstants',
+			'Document', 'DocumentEvent', 'DocumentEvent.ElementChange', 'DocumentEvent.EventType',
+			'DocumentListener', 'DocumentParser', 'DomainCombiner', 'DomainManager',
+			'DomainManagerOperations', 'Double', 'DoubleHolder', 'DoubleSeqHelper',
+			'DoubleSeqHolder', 'DragGestureEvent', 'DragGestureListener', 'DragGestureRecognizer',
+			'DragSource', 'DragSourceContext', 'DragSourceDragEvent', 'DragSourceDropEvent',
+			'DragSourceEvent', 'DragSourceListener', 'Driver', 'DriverManager',
+			'DriverPropertyInfo', 'DropTarget', 'DropTarget.DropTargetAutoScroller',
+			'DropTargetContext', 'DropTargetDragEvent', 'DropTargetDropEvent',
+			'DropTargetEvent', 'DropTargetListener', 'DSAKey', 'DSAKeyPairGenerator',
+			'DSAParameterSpec', 'DSAParams', 'DSAPrivateKey', 'DSAPrivateKeySpec',
+			'DSAPublicKey', 'DSAPublicKeySpec', 'DTD', 'DTDConstants', 'DynamicImplementation',
+			'DynAny', 'DynArray', 'DynEnum', 'DynFixed', 'DynSequence', 'DynStruct',
+			'DynUnion', 'DynValue', 'EditorKit', 'Element', 'ElementIterator', 'Ellipse2D',
+			'Ellipse2D.Double', 'Ellipse2D.Float', 'EmptyBorder', 'EmptyStackException',
+			'EncodedKeySpec', 'Entity', 'EnumControl', 'EnumControl.Type','Enumeration',
+			'Environment', 'EOFException', 'Error', 'EtchedBorder', 'Event', 'EventContext',
+			'EventDirContext', 'EventListener', 'EventListenerList', 'EventObject', 'EventQueue',
+			'EventSetDescriptor', 'Exception', 'ExceptionInInitializerError', 'ExceptionList',
+			'ExpandVetoException', 'ExportException', 'ExtendedRequest', 'ExtendedResponse',
+			'Externalizable', 'FeatureDescriptor', 'Field', 'FieldNameHelper',
+			'FieldPosition', 'FieldView', 'File', 'FileChooserUI', 'FileDescriptor',
+			'FileDialog', 'FileFilter', 'FileFilter', 'FileInputStream', 'FilenameFilter',
+			'FileNameMap', 'FileNotFoundException', 'FileOutputStream', 'FilePermission',
+			'FileReader', 'FileSystemView', 'FileView', 'FileWriter', 'FilteredImageSource',
+			'FilterInputStream', 'FilterOutputStream', 'FilterReader', 'FilterWriter',
+			'FixedHeightLayoutCache', 'FixedHolder', 'FlatteningPathIterator', 'FlavorMap',
+			'Float', 'FloatControl', 'FloatControl.Type', 'FloatHolder', 'FloatSeqHelper',
+			'FloatSeqHolder', 'FlowLayout', 'FlowView', 'FlowView.FlowStrategy', 'FocusAdapter',
+			'FocusEvent', 'FocusListener', 'FocusManager', 'Font', 'FontFormatException',
+			'FontMetrics', 'FontRenderContext', 'FontUIResource', 'Format', 'FormatConversionProvider',
+			'FormView', 'Frame', 'FREE_MEM', 'GapContent', 'GeneralPath', 'GeneralSecurityException',
+			'GlyphJustificationInfo', 'GlyphMetrics', 'GlyphVector', 'GlyphView', 'GlyphView.GlyphPainter',
+			'GradientPaint', 'GraphicAttribute', 'Graphics', 'Graphics2D', 'GraphicsConfigTemplate',
+			'GraphicsConfiguration', 'GraphicsDevice', 'GraphicsEnvironment', 'GrayFilter',
+            'GregorianCalendar', 'GridBagConstraints', 'GridBagLayout', 'GridLayout', 'Group', 'Guard',
+			'GuardedObject', 'GZIPInputStream', 'GZIPOutputStream',
+			'HasControls',
+			'HashMap',
+			'HashSet',
+			'Hashtable',
+			'HierarchyBoundsAdapter',
+			'HierarchyBoundsListener',
+			'HierarchyEvent',
+			'HierarchyListener',
+			'Highlighter',
+			'Highlighter.Highlight',
+			'Highlighter.HighlightPainter',
+			'HTML',
+			'HTML.Attribute',
+			'HTML.Tag',
+			'HTML.UnknownTag',
+			'HTMLDocument',
+			'HTMLDocument.Iterator',
+			'HTMLEditorKit',
+			'HTMLEditorKit.HTMLFactory',
+			'HTMLEditorKit.HTMLTextAction',
+			'HTMLEditorKit.InsertHTMLTextAction',
+			'HTMLEditorKit.LinkController',
+			'HTMLEditorKit.Parser',
+			'HTMLEditorKit.ParserCallback',
+			'HTMLFrameHyperlinkEvent',
+			'HTMLWriter',
+			'HttpURLConnection',
+			'HyperlinkEvent',
+			'HyperlinkEvent.EventType',
+			'HyperlinkListener',
+			'ICC_ColorSpace',
+			'ICC_Profile',
+			'ICC_ProfileGray',
+			'ICC_ProfileRGB',
+			'Icon',
+			'IconUIResource',
+			'IconView',
+			'IdentifierHelper',
+			'Identity',
+			'IdentityScope',
+			'IDLEntity',
+			'IDLType',
+			'IDLTypeHelper', 'IDLTypeOperations',
+			'IllegalAccessError',
+			'IllegalAccessException',
+			'IllegalArgumentException',
+			'IllegalComponentStateException',
+			'IllegalMonitorStateException',
+			'IllegalPathStateException',
+			'IllegalStateException',
+			'IllegalThreadStateException',
+			'Image',
+			'ImageConsumer',
+			'ImageFilter',
+			'ImageGraphicAttribute',
+			'ImageIcon',
+			'ImageObserver',
+			'ImageProducer',
+			'ImagingOpException',
+			'IMP_LIMIT',
+			'IncompatibleClassChangeError',
+			'InconsistentTypeCode',
+			'IndexColorModel',
+			'IndexedPropertyDescriptor',
+			'IndexOutOfBoundsException',
+			'IndirectionException',
+			'InetAddress',
+			'Inflater',
+			'InflaterInputStream',
+			'InheritableThreadLocal',
+			'InitialContext',
+			'InitialContextFactory',
+			'InitialContextFactoryBuilder',
+			'InitialDirContext',
+			'INITIALIZE',
+			'Initializer',
+			'InitialLdapContext',
+			'InlineView',
+			'InputContext',
+			'InputEvent',
+			'InputMap',
+			'InputMapUIResource',
+			'InputMethod',
+			'InputMethodContext',
+			'InputMethodDescriptor',
+			'InputMethodEvent',
+			'InputMethodHighlight',
+			'InputMethodListener',
+			'InputMethodRequests',
+			'InputStream',
+			'InputStream',
+			'InputStream',
+			'InputStreamReader',
+			'InputSubset',
+			'InputVerifier',
+			'Insets',
+			'InsetsUIResource',
+			'InstantiationError',
+			'InstantiationException',
+			'Instrument',
+			'InsufficientResourcesException',
+			'Integer',
+			'INTERNAL',
+			'InternalError', 'InternalFrameAdapter',
+			'InternalFrameEvent',
+			'InternalFrameListener',
+			'InternalFrameUI',
+			'InterruptedException',
+			'InterruptedIOException',
+			'InterruptedNamingException',
+			'INTF_REPOS',
+			'IntHolder',
+			'IntrospectionException',
+			'Introspector',
+			'INV_FLAG',
+			'INV_IDENT',
+			'INV_OBJREF',
+			'INV_POLICY',
+			'Invalid',
+			'INVALID_TRANSACTION',
+			'InvalidAlgorithmParameterException',
+			'InvalidAttributeIdentifierException',
+			'InvalidAttributesException',
+			'InvalidAttributeValueException',
+			'InvalidClassException',
+			'InvalidDnDOperationException',
+			'InvalidKeyException',
+			'InvalidKeySpecException',
+			'InvalidMidiDataException',
+			'InvalidName',
+			'InvalidName',
+			'InvalidNameException',
+			'InvalidNameHelper',
+			'InvalidNameHolder',
+			'InvalidObjectException',
+			'InvalidParameterException',
+			'InvalidParameterSpecException',
+			'InvalidSearchControlsException',
+			'InvalidSearchFilterException',
+			'InvalidSeq',
+			'InvalidTransactionException',
+			'InvalidValue',
+			'InvocationEvent',
+			'InvocationHandler',
+			'InvocationTargetException',
+			'InvokeHandler',
+			'IOException',
+			'IRObject',
+			'IRObjectOperations', 'IstringHelper', 'ItemEvent', 'ItemListener',
+			'ItemSelectable', 'Iterator', 'JApplet', 'JarEntry', 'JarException',
+			'JarFile', 'JarInputStream', 'JarOutputStream', 'JarURLConnection',
+			'JButton', 'JCheckBox', 'JCheckBoxMenuItem', 'JColorChooser',
+			'JComboBox',
+			'JComboBox.KeySelectionManager',
+			'JComponent',
+			'JDesktopPane',
+			'JDialog',
+			'JEditorPane',
+			'JFileChooser',
+			'JFrame',
+			'JInternalFrame',
+			'JInternalFrame.JDesktopIcon',
+			'JLabel',
+			'JLayeredPane',
+			'JList',
+			'JMenu',
+			'JMenuBar',
+			'JMenuItem',
+			'JobAttributes',
+			'JobAttributes.DefaultSelectionType',
+			'JobAttributes.DestinationType',
+			'JobAttributes.DialogType',
+			'JobAttributes.MultipleDocumentHandlingType',
+			'JobAttributes.SidesType',
+			'JOptionPane',
+			'JPanel',
+			'JPasswordField',
+			'JPopupMenu',
+			'JPopupMenu.Separator',
+			'JProgressBar',
+			'JRadioButton',
+			'JRadioButtonMenuItem',
+			'JRootPane',
+			'JScrollBar',
+			'JScrollPane',
+			'JSeparator',
+			'JSlider',
+			'JSplitPane',
+			'JTabbedPane',
+			'JTable',
+			'JTableHeader',
+			'JTextArea',
+			'JTextComponent',
+			'JTextComponent.KeyBinding', 'JTextField',
+			'JTextPane',
+			'JToggleButton',
+			'JToggleButton.ToggleButtonModel',
+			'JToolBar',
+			'JToolBar.Separator',
+			'JToolTip',
+			'JTree',
+			'JTree.DynamicUtilTreeNode',
+			'JTree.EmptySelectionModel',
+			'JViewport',
+			'JWindow',
+			'Kernel',
+			'Key',
+			'KeyAdapter',
+			'KeyEvent',
+			'KeyException',
+			'KeyFactory',
+			'KeyFactorySpi',
+			'KeyListener',
+			'KeyManagementException',
+			'Keymap',
+			'KeyPair',
+			'KeyPairGenerator',
+			'KeyPairGeneratorSpi',
+			'KeySpec',
+			'KeyStore',
+			'KeyStoreException',
+			'KeyStoreSpi',
+			'KeyStroke',
+			'Label',
+			'LabelUI',
+			'LabelView',
+			'LastOwnerException',
+			'LayeredHighlighter',
+			'LayeredHighlighter.LayerPainter',
+			'LayoutManager',
+			'LayoutManager2',
+			'LayoutQueue',
+			'LdapContext',
+			'LdapReferralException',
+			'Lease',
+			'LimitExceededException',
+			'Line',
+			'Line.Info',
+			'Line2D',
+			'Line2D.Double',
+			'Line2D.Float',
+			'LineBorder',
+			'LineBreakMeasurer',
+			'LineEvent',
+			'LineEvent.Type',
+			'LineListener',
+			'LineMetrics',
+			'LineNumberInputStream',
+			'LineNumberReader',
+			'LineUnavailableException',
+			'LinkageError',
+			'LinkedList',
+			'LinkException',
+			'LinkLoopException',
+			'LinkRef',
+			'List',
+			'List',
+			'ListCellRenderer',
+			'ListDataEvent',
+			'ListDataListener',
+			'ListIterator',
+			'ListModel',
+			'ListResourceBundle',
+			'ListSelectionEvent',
+			'ListSelectionListener',
+			'ListSelectionModel',
+			'ListUI',
+			'ListView',
+			'LoaderHandler',
+			'Locale',
+			'LocateRegistry',
+			'LogStream',
+			'Long',
+			'LongHolder',
+			'LongLongSeqHelper',
+			'LongLongSeqHolder',
+			'LongSeqHelper',
+			'LongSeqHolder',
+			'LookAndFeel',
+			'LookupOp',
+			'LookupTable',
+			'MalformedLinkException',
+			'MalformedURLException',
+			'Manifest', 'Map',
+			'Map.Entry',
+			'MARSHAL',
+			'MarshalException',
+			'MarshalledObject',
+			'Math',
+			'MatteBorder',
+			'MediaTracker',
+			'Member',
+			'MemoryImageSource',
+			'Menu',
+			'MenuBar',
+			'MenuBarUI',
+			'MenuComponent',
+			'MenuContainer',
+			'MenuDragMouseEvent',
+			'MenuDragMouseListener',
+			'MenuElement',
+			'MenuEvent',
+			'MenuItem',
+			'MenuItemUI',
+			'MenuKeyEvent',
+			'MenuKeyListener',
+			'MenuListener',
+			'MenuSelectionManager',
+			'MenuShortcut',
+			'MessageDigest',
+			'MessageDigestSpi',
+			'MessageFormat',
+			'MetaEventListener',
+			'MetalBorders',
+			'MetalBorders.ButtonBorder',
+			'MetalBorders.Flush3DBorder',
+			'MetalBorders.InternalFrameBorder',
+			'MetalBorders.MenuBarBorder',
+			'MetalBorders.MenuItemBorder',
+			'MetalBorders.OptionDialogBorder',
+			'MetalBorders.PaletteBorder',
+			'MetalBorders.PopupMenuBorder',
+			'MetalBorders.RolloverButtonBorder',
+			'MetalBorders.ScrollPaneBorder',
+			'MetalBorders.TableHeaderBorder',
+			'MetalBorders.TextFieldBorder',
+			'MetalBorders.ToggleButtonBorder',
+			'MetalBorders.ToolBarBorder',
+			'MetalButtonUI',
+			'MetalCheckBoxIcon',
+			'MetalCheckBoxUI',
+			'MetalComboBoxButton',
+			'MetalComboBoxEditor',
+			'MetalComboBoxEditor.UIResource',
+			'MetalComboBoxIcon',
+			'MetalComboBoxUI',
+			'MetalDesktopIconUI',
+			'MetalFileChooserUI',
+			'MetalIconFactory',
+			'MetalIconFactory.FileIcon16',
+			'MetalIconFactory.FolderIcon16',
+			'MetalIconFactory.PaletteCloseIcon',
+			'MetalIconFactory.TreeControlIcon',
+			'MetalIconFactory.TreeFolderIcon',
+			'MetalIconFactory.TreeLeafIcon',
+			'MetalInternalFrameTitlePane',
+			'MetalInternalFrameUI',
+			'MetalLabelUI',
+			'MetalLookAndFeel',
+			'MetalPopupMenuSeparatorUI',
+			'MetalProgressBarUI',
+			'MetalRadioButtonUI',
+			'MetalScrollBarUI',
+			'MetalScrollButton',
+			'MetalScrollPaneUI',
+			'MetalSeparatorUI',
+			'MetalSliderUI',
+			'MetalSplitPaneUI',
+			'MetalTabbedPaneUI',
+			'MetalTextFieldUI',
+			'MetalTheme',
+			'MetalToggleButtonUI',
+			'MetalToolBarUI',
+			'MetalToolTipUI',
+			'MetalTreeUI',
+			'MetaMessage',
+			'Method',
+			'MethodDescriptor',
+			'MidiChannel',
+			'MidiDevice',
+			'MidiDevice.Info',
+			'MidiDeviceProvider',
+			'MidiEvent',
+			'MidiFileFormat',
+			'MidiFileReader',
+			'MidiFileWriter',
+			'MidiMessage',
+			'MidiSystem',
+			'MidiUnavailableException',
+			'MimeTypeParseException',
+			'MinimalHTMLWriter',
+			'MissingResourceException',
+			'Mixer',
+			'Mixer.Info',
+			'MixerProvider',
+			'ModificationItem',
+			'Modifier',
+			'MouseAdapter',
+			'MouseDragGestureRecognizer',
+			'MouseEvent',
+			'MouseInputAdapter',
+			'MouseInputListener',
+			'MouseListener',
+			'MouseMotionAdapter',
+			'MouseMotionListener',
+			'MultiButtonUI',
+			'MulticastSocket',
+			'MultiColorChooserUI',
+			'MultiComboBoxUI',
+			'MultiDesktopIconUI',
+			'MultiDesktopPaneUI',
+			'MultiFileChooserUI',
+			'MultiInternalFrameUI',
+			'MultiLabelUI', 'MultiListUI',
+			'MultiLookAndFeel',
+			'MultiMenuBarUI',
+			'MultiMenuItemUI',
+			'MultiOptionPaneUI',
+			'MultiPanelUI',
+			'MultiPixelPackedSampleModel',
+			'MultipleMaster',
+			'MultiPopupMenuUI',
+			'MultiProgressBarUI',
+			'MultiScrollBarUI',
+			'MultiScrollPaneUI',
+			'MultiSeparatorUI',
+			'MultiSliderUI',
+			'MultiSplitPaneUI',
+			'MultiTabbedPaneUI',
+			'MultiTableHeaderUI',
+			'MultiTableUI',
+			'MultiTextUI',
+			'MultiToolBarUI',
+			'MultiToolTipUI',
+			'MultiTreeUI',
+			'MultiViewportUI',
+			'MutableAttributeSet',
+			'MutableComboBoxModel',
+			'MutableTreeNode',
+			'Name',
+			'NameAlreadyBoundException',
+			'NameClassPair',
+			'NameComponent',
+			'NameComponentHelper',
+			'NameComponentHolder',
+			'NamedValue',
+			'NameHelper',
+			'NameHolder',
+			'NameNotFoundException',
+			'NameParser',
+			'NamespaceChangeListener',
+			'NameValuePair',
+			'NameValuePairHelper',
+			'Naming',
+			'NamingContext',
+			'NamingContextHelper',
+			'NamingContextHolder',
+			'NamingContextOperations',
+			'NamingEnumeration',
+			'NamingEvent',
+			'NamingException',
+			'NamingExceptionEvent',
+			'NamingListener',
+			'NamingManager',
+			'NamingSecurityException',
+			'NegativeArraySizeException',
+			'NetPermission',
+			'NO_IMPLEMENT',
+			'NO_MEMORY',
+			'NO_PERMISSION',
+			'NO_RESOURCES',
+			'NO_RESPONSE',
+			'NoClassDefFoundError',
+			'NoInitialContextException', 'NoninvertibleTransformException',
+			'NoPermissionException',
+			'NoRouteToHostException',
+			'NoSuchAlgorithmException',
+			'NoSuchAttributeException',
+			'NoSuchElementException',
+			'NoSuchFieldError',
+			'NoSuchFieldException',
+			'NoSuchMethodError',
+			'NoSuchMethodException',
+			'NoSuchObjectException',
+			'NoSuchProviderException',
+			'NotActiveException',
+			'NotBoundException',
+			'NotContextException',
+			'NotEmpty',
+			'NotEmptyHelper',
+			'NotEmptyHolder',
+			'NotFound',
+			'NotFoundHelper',
+			'NotFoundHolder',
+			'NotFoundReason',
+			'NotFoundReasonHelper',
+			'NotFoundReasonHolder',
+			'NotOwnerException',
+			'NotSerializableException',
+			'NullPointerException',
+			'Number',
+			'NumberFormat', 'NumberFormatException', 'NVList',
+			'OBJ_ADAPTER', 'Object', 'OBJECT_NOT_EXIST', 'ObjectChangeListener',
+			'ObjectFactory',
+			'ObjectFactoryBuilder',
+			'ObjectHelper',
+			'ObjectHolder',
+			'ObjectImpl', 'ObjectImpl',
+			'ObjectInput',
+			'ObjectInputStream',
+			'ObjectInputStream.GetField',
+			'ObjectInputValidation',
+			'ObjectOutput',
+			'ObjectOutputStream',
+			'ObjectOutputStream.PutField',
+			'ObjectStreamClass',
+			'ObjectStreamConstants',
+			'ObjectStreamException',
+			'ObjectStreamField',
+			'ObjectView',
+			'ObjID',
+			'Observable',
+			'Observer',
+			'OctetSeqHelper',
+			'OctetSeqHolder',
+			'OMGVMCID',
+			'OpenType',
+			'Operation',
+			'OperationNotSupportedException',
+			'Option',
+			'OptionalDataException',
+			'OptionPaneUI',
+			'ORB',
+			'OutOfMemoryError',
+			'OutputStream',
+			'OutputStreamWriter',
+			'OverlayLayout',
+			'Owner',
+			'Package',
+			'PackedColorModel',
+			'Pageable',
+			'PageAttributes',
+			'PageAttributes.ColorType',
+			'PageAttributes.MediaType',
+			'PageAttributes.OrientationRequestedType',
+			'PageAttributes.OriginType',
+			'PageAttributes.PrintQualityType',
+			'PageFormat',
+			'Paint',
+			'PaintContext',
+			'PaintEvent',
+			'Panel',
+			'PanelUI',
+			'Paper',
+			'ParagraphView',
+			'ParagraphView',
+			'ParameterBlock',
+			'ParameterDescriptor',
+			'ParseException',
+			'ParsePosition',
+			'Parser',
+			'ParserDelegator',
+			'PartialResultException',
+			'PasswordAuthentication',
+			'PasswordView',
+			'Patch',
+			'PathIterator',
+			'Permission',
+			'Permission',
+			'PermissionCollection',
+			'Permissions',
+			'PERSIST_STORE',
+			'PhantomReference',
+			'PipedInputStream',
+			'PipedOutputStream',
+			'PipedReader',
+			'PipedWriter',
+			'PixelGrabber',
+			'PixelInterleavedSampleModel',
+			'PKCS8EncodedKeySpec',
+			'PlainDocument',
+			'PlainView',
+			'Point',
+			'Point2D',
+			'Point2D.Double',
+			'Point2D.Float',
+			'Policy',
+			'Policy',
+			'PolicyError',
+			'PolicyHelper',
+			'PolicyHolder',
+			'PolicyListHelper',
+			'PolicyListHolder',
+			'PolicyOperations', 'PolicyTypeHelper',
+			'Polygon',
+			'PopupMenu',
+			'PopupMenuEvent',
+			'PopupMenuListener',
+			'PopupMenuUI',
+			'Port',
+			'Port.Info',
+			'PortableRemoteObject',
+			'PortableRemoteObjectDelegate',
+			'Position',
+			'Position.Bias',
+			'PreparedStatement',
+			'Principal',
+			'Principal',
+			'PrincipalHolder',
+			'Printable',
+			'PrinterAbortException',
+			'PrinterException',
+			'PrinterGraphics',
+			'PrinterIOException',
+			'PrinterJob',
+			'PrintGraphics',
+			'PrintJob',
+			'PrintStream',
+			'PrintWriter',
+			'PRIVATE_MEMBER',
+			'PrivateKey',
+			'PrivilegedAction',
+			'PrivilegedActionException',
+			'PrivilegedExceptionAction',
+			'Process',
+			'ProfileDataException',
+			'ProgressBarUI',
+			'ProgressMonitor',
+			'ProgressMonitorInputStream',
+			'Properties',
+			'PropertyChangeEvent',
+			'PropertyChangeListener',
+			'PropertyChangeSupport',
+			'PropertyDescriptor',
+			'PropertyEditor',
+			'PropertyEditorManager',
+			'PropertyEditorSupport',
+			'PropertyPermission',
+			'PropertyResourceBundle',
+			'PropertyVetoException',
+			'ProtectionDomain',
+			'ProtocolException',
+			'Provider',
+			'ProviderException',
+			'Proxy',
+			'PUBLIC_MEMBER',
+			'PublicKey',
+			'PushbackInputStream',
+			'PushbackReader',
+			'QuadCurve2D',
+			'QuadCurve2D.Double',
+			'QuadCurve2D.Float',
+			'Random',
+			'RandomAccessFile', 'Raster', 'RasterFormatException', 'RasterOp',
+			'Reader', 'Receiver', 'Rectangle', 'Rectangle2D', 'Rectangle2D.Double',
+			'Rectangle2D.Float', 'RectangularShape', 'Ref', 'RefAddr', 'Reference',
+			'Referenceable', 'ReferenceQueue', 'ReferralException',
+			'ReflectPermission', 'Registry', 'RegistryHandler', 'RemarshalException',
+			'Remote', 'RemoteCall', 'RemoteException', 'RemoteObject', 'RemoteRef',
+			'RemoteServer',
+			'RemoteStub',
+			'RenderableImage',
+			'RenderableImageOp',
+			'RenderableImageProducer',
+			'RenderContext',
+			'RenderedImage',
+			'RenderedImageFactory',
+			'Renderer',
+			'RenderingHints',
+			'RenderingHints.Key',
+			'RepaintManager',
+			'ReplicateScaleFilter',
+			'Repository',
+			'RepositoryIdHelper',
+			'Request',
+			'RescaleOp',
+			'Resolver',
+			'ResolveResult',
+			'ResourceBundle',
+			'ResponseHandler',
+			'ResultSet',
+			'ResultSetMetaData',
+			'ReverbType',
+			'RGBImageFilter',
+			'RMIClassLoader',
+			'RMIClientSocketFactory',
+			'RMIFailureHandler',
+			'RMISecurityException',
+			'RMISecurityManager',
+			'RMIServerSocketFactory',
+			'RMISocketFactory',
+			'Robot',
+			'RootPaneContainer',
+			'RootPaneUI',
+			'RoundRectangle2D',
+			'RoundRectangle2D.Double',
+			'RoundRectangle2D.Float',
+			'RowMapper',
+			'RSAKey',
+			'RSAKeyGenParameterSpec',
+			'RSAPrivateCrtKey',
+			'RSAPrivateCrtKeySpec',
+			'RSAPrivateKey',
+			'RSAPrivateKeySpec',
+			'RSAPublicKey',
+			'RSAPublicKeySpec',
+			'RTFEditorKit',
+			'RuleBasedCollator',
+			'Runnable',
+			'Runtime',
+			'RunTime',
+			'RuntimeException',
+			'RunTimeOperations',
+			'RuntimePermission',
+			'SampleModel',
+			'SchemaViolationException',
+			'Scrollable',
+			'Scrollbar',
+			'ScrollBarUI',
+			'ScrollPane',
+			'ScrollPaneConstants',
+			'ScrollPaneLayout',
+			'ScrollPaneLayout.UIResource',
+			'ScrollPaneUI',
+			'SearchControls',
+			'SearchResult',
+			'SecureClassLoader',
+			'SecureRandom',
+			'SecureRandomSpi',
+			'Security',
+			'SecurityException',
+			'SecurityManager',
+			'SecurityPermission',
+			'Segment',
+			'SeparatorUI',
+			'Sequence',
+			'SequenceInputStream',
+			'Sequencer',
+			'Sequencer.SyncMode',
+			'Serializable',
+			'SerializablePermission',
+			'ServantObject',
+			'ServerCloneException',
+			'ServerError', 'ServerException',
+			'ServerNotActiveException',
+			'ServerRef',
+			'ServerRequest',
+			'ServerRuntimeException',
+			'ServerSocket',
+			'ServiceDetail',
+			'ServiceDetailHelper',
+			'ServiceInformation',
+			'ServiceInformationHelper',
+			'ServiceInformationHolder',
+			'ServiceUnavailableException',
+			'Set',
+			'SetOverrideType',
+			'SetOverrideTypeHelper',
+			'Shape',
+			'ShapeGraphicAttribute',
+			'Short',
+			'ShortHolder',
+			'ShortLookupTable',
+			'ShortMessage',
+			'ShortSeqHelper',
+			'ShortSeqHolder',
+			'Signature',
+			'SignatureException',
+			'SignatureSpi',
+			'SignedObject',
+			'Signer',
+			'SimpleAttributeSet',
+			'SimpleBeanInfo',
+			'SimpleDateFormat',
+			'SimpleTimeZone',
+			'SinglePixelPackedSampleModel',
+			'SingleSelectionModel',
+			'SizeLimitExceededException',
+			'SizeRequirements',
+			'SizeSequence',
+			'Skeleton',
+			'SkeletonMismatchException',
+			'SkeletonNotFoundException',
+			'SliderUI',
+			'Socket',
+			'SocketException',
+			'SocketImpl',
+			'SocketImplFactory',
+			'SocketOptions',
+			'SocketPermission',
+			'SocketSecurityException',
+			'SoftBevelBorder',
+			'SoftReference',
+			'SortedMap',
+			'SortedSet',
+			'Soundbank',
+			'SoundbankReader',
+			'SoundbankResource',
+			'SourceDataLine',
+			'SplitPaneUI',
+			'SQLData',
+			'SQLException',
+			'SQLInput',
+			'SQLOutput', 'SQLPermission',
+			'SQLWarning',
+			'Stack',
+			'StackOverflowError',
+			'StateEdit',
+			'StateEditable',
+			'StateFactory',
+			'Statement',
+			'Streamable',
+			'StreamableValue',
+			'StreamCorruptedException',
+			'StreamTokenizer',
+			'StrictMath',
+			'String',
+			'StringBuffer',
+			'StringBufferInputStream',
+			'StringCharacterIterator',
+			'StringContent',
+			'StringHolder',
+			'StringIndexOutOfBoundsException',
+			'StringReader',
+			'StringRefAddr',
+			'StringSelection',
+			'StringTokenizer',
+			'StringValueHelper',
+			'StringWriter',
+			'Stroke',
+			'Struct',
+			'StructMember',
+			'StructMemberHelper',
+			'Stub',
+			'StubDelegate',
+			'StubNotFoundException',
+			'Style',
+			'StyleConstants',
+			'StyleConstants.CharacterConstants',
+			'StyleConstants.ColorConstants',
+			'StyleConstants.FontConstants',
+			'StyleConstants.ParagraphConstants',
+			'StyleContext',
+			'StyledDocument',
+			'StyledEditorKit',
+			'StyledEditorKit.AlignmentAction',
+			'StyledEditorKit.BoldAction',
+			'StyledEditorKit.FontFamilyAction',
+			'StyledEditorKit.FontSizeAction',
+			'StyledEditorKit.ForegroundAction',
+			'StyledEditorKit.ItalicAction',
+			'StyledEditorKit.StyledTextAction',
+			'StyledEditorKit.UnderlineAction',
+			'StyleSheet',
+			'StyleSheet.BoxPainter',
+			'StyleSheet.ListPainter',
+			'SwingConstants',
+			'SwingPropertyChangeSupport',
+			'SwingUtilities',
+			'SyncFailedException',
+			'Synthesizer',
+			'SysexMessage',
+			'System',
+			'SystemColor', 'SystemException',
+			'SystemFlavorMap',
+			'TabableView',
+			'TabbedPaneUI',
+			'TabExpander',
+			'TableCellEditor',
+			'TableCellRenderer',
+			'TableColumn',
+			'TableColumnModel',
+			'TableColumnModelEvent',
+			'TableColumnModelListener',
+			'TableHeaderUI',
+			'TableModel',
+			'TableModelEvent',
+			'TableModelListener',
+			'TableUI',
+			'TableView',
+			'TabSet',
+			'TabStop',
+			'TagElement',
+			'TargetDataLine',
+			'TCKind',
+			'TextAction',
+			'TextArea',
+			'TextAttribute',
+			'TextComponent',
+			'TextEvent',
+			'TextField',
+			'TextHitInfo',
+			'TextLayout',
+			'TextLayout.CaretPolicy',
+			'TextListener',
+			'TextMeasurer',
+			'TextUI',
+			'TexturePaint',
+			'Thread',
+			'ThreadDeath',
+			'ThreadGroup',
+			'ThreadLocal',
+			'Throwable',
+			'Tie',
+			'TileObserver',
+			'Time',
+			'TimeLimitExceededException',
+			'Timer',
+			'Timer',
+			'TimerTask',
+			'Timestamp',
+			'TimeZone',
+			'TitledBorder',
+			'ToolBarUI',
+			'Toolkit',
+			'ToolTipManager',
+			'ToolTipUI',
+			'TooManyListenersException',
+			'Track',
+			'TRANSACTION_REQUIRED',
+			'TRANSACTION_ROLLEDBACK',
+			'TransactionRequiredException',
+			'TransactionRolledbackException',
+			'Transferable',
+			'TransformAttribute',
+			'TRANSIENT',
+			'Transmitter',
+			'Transparency',
+			'TreeCellEditor',
+			'TreeCellRenderer',
+			'TreeExpansionEvent',
+			'TreeExpansionListener',
+			'TreeMap',
+			'TreeModel',
+			'TreeModelEvent',
+			'TreeModelListener',
+			'TreeNode',
+			'TreePath',
+			'TreeSelectionEvent',
+			'TreeSelectionListener',
+			'TreeSelectionModel',
+			'TreeSet',
+			'TreeUI',
+			'TreeWillExpandListener',
+			'TypeCode',
+			'TypeCodeHolder',
+			'TypeMismatch',
+			'Types',
+			'UID',
+			'UIDefaults',
+			'UIDefaults.ActiveValue',
+			'UIDefaults.LazyInputMap',
+			'UIDefaults.LazyValue',
+			'UIDefaults.ProxyLazyValue', 'UIManager',
+			'UIManager.LookAndFeelInfo',
+			'UIResource',
+			'ULongLongSeqHelper',
+			'ULongLongSeqHolder',
+			'ULongSeqHelper',
+			'ULongSeqHolder',
+			'UndeclaredThrowableException',
+			'UndoableEdit',
+			'UndoableEditEvent',
+			'UndoableEditListener',
+			'UndoableEditSupport',
+			'UndoManager',
+			'UnexpectedException',
+			'UnicastRemoteObject',
+			'UnionMember',
+			'UnionMemberHelper',
+			'UNKNOWN',
+			'UnknownError',
+			'UnknownException',
+			'UnknownGroupException',
+			'UnknownHostException',
+			'UnknownHostException',
+			'UnknownObjectException',
+			'UnknownServiceException',
+			'UnknownUserException',
+			'UnmarshalException',
+			'UnrecoverableKeyException',
+			'Unreferenced',
+			'UnresolvedPermission',
+			'UnsatisfiedLinkError',
+			'UnsolicitedNotification',
+			'UnsolicitedNotificationEvent',
+			'UnsolicitedNotificationListener',
+			'UNSUPPORTED_POLICY',
+			'UNSUPPORTED_POLICY_VALUE',
+			'UnsupportedAudioFileException',
+			'UnsupportedClassVersionError',
+			'UnsupportedEncodingException',
+			'UnsupportedFlavorException',
+			'UnsupportedLookAndFeelException',
+			'UnsupportedOperationException',
+			'URL',
+			'URLClassLoader',
+			'URLConnection',
+			'URLDecoder',
+			'URLEncoder',
+			'URLStreamHandler',
+			'URLStreamHandlerFactory',
+			'UserException',
+			'UShortSeqHelper',
+			'UShortSeqHolder',
+			'UTFDataFormatException',
+			'Util',
+			'UtilDelegate',
+			'Utilities',
+			'ValueBase',
+			'ValueBaseHelper',
+			'ValueBaseHolder',
+			'ValueFactory',
+			'ValueHandler',
+			'ValueMember',
+			'ValueMemberHelper',
+			'VariableHeightLayoutCache',
+			'Vector',
+			'VerifyError',
+			'VersionSpecHelper',
+			'VetoableChangeListener',
+			'VetoableChangeSupport',
+			'View',
+			'ViewFactory',
+			'ViewportLayout',
+			'ViewportUI',
+			'VirtualMachineError',
+			'Visibility',
+			'VisibilityHelper',
+			'VM_ABSTRACT',
+			'VM_CUSTOM',
+			'VM_NONE',
+			'VM_TRUNCATABLE',
+			'VMID',
+			'VoiceStatus',
+			'Void',
+			'WCharSeqHelper',
+			'WCharSeqHolder',
+			'WeakHashMap',
+			'WeakReference',
+			'Window',
+			'WindowAdapter',
+			'WindowConstants',
+			'WindowEvent', 'WindowListener',
+			'WrappedPlainView',
+			'WritableRaster',
+			'WritableRenderedImage',
+			'WriteAbortedException',
+			'Writer',
+			'WrongTransaction',
+			'WStringValueHelper',
+			'X509Certificate',
+			'X509CRL',
+			'X509CRLEntry',
+			'X509EncodedKeySpec',
+			'X509Extension',
+			'ZipEntry',
+			'ZipException',
+			'ZipFile',
+			'ZipInputStream',
+			'ZipOutputStream',
+			'ZoneView',
+			'_BindingIteratorImplBase',
+			'_BindingIteratorStub',
+			'_IDLTypeStub',
+			'_NamingContextImplBase',
+			'_NamingContextStub',
+			'_PolicyStub',
+			'_Remote_Stub '
+			),
+		4 => array(
+			'void', 'double', 'int', 'boolean', 'byte', 'short', 'long', 'char', 'float'
+			)
+		),
+	'SYMBOLS' => array(
+		'(', ')', '[', ']', '{', '}', '*', '&', '%', '!', ';', '<', '>', '?'
+		),
+	'CASE_SENSITIVE' => array(
+		GESHI_COMMENTS => true,
+		1 => false,
+		2 => false,
+		3 => true,
+		4 => true
+		),
+	'STYLES' => array(
+		'KEYWORDS' => array(
+			1 => 'color: #b1b100;',
+			2 => 'color: #000000; font-weight: bold;',
+			3 => 'color: #aaaadd; font-weight: bold;',
+			4 => 'color: #993333;'
+			),
+		'COMMENTS' => array(
+			1=> 'color: #808080; font-style: italic;',
+			2=> 'color: #a1a100;',
+			'MULTI' => 'color: #808080; font-style: italic;'
+			),
+		'ESCAPE_CHAR' => array(
+			0 => 'color: #000099; font-weight: bold;'
+			),
+		'BRACKETS' => array(
+			0 => 'color: #66cc66;'
+			),
+		'STRINGS' => array(
+			0 => 'color: #ff0000;'
+			),
+		'NUMBERS' => array(
+			0 => 'color: #cc66cc;'
+			),
+		'METHODS' => array(
+			1 => 'color: #006600;',
+			2 => 'color: #006600;'
+			),
+		'SYMBOLS' => array(
+			0 => 'color: #66cc66;'
+			),
+		'SCRIPT' => array(
+			),
+		'REGEXPS' => array(
+			)
+		),
+	'URLS' => array(
+		1 => '',
+		2 => '',
+		3 => 'http://www.google.com/search?hl=en&amp;q=allinurl%3A{FNAME}+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky',
+		4 => ''
+		),
+	'OOLANG' => true,
+	'OBJECT_SPLITTERS' => array(
+		1 => '.'
+		),
+	'REGEXPS' => array(
+		),
+	'STRICT_MODE_APPLIES' => GESHI_NEVER,
+	'SCRIPT_DELIMITERS' => array(
+		),
+	'HIGHLIGHT_STRICT_BLOCK' => array(
+		)
+);
+
+?>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/plugins/geshi/geshi/java5.php	Sun Feb 10 18:10:52 2008 -0500
@@ -0,0 +1,1021 @@
+<?php
+/*************************************************************************************
+ * java.php
+ * --------
+ * Author: Nigel McNie (nigel@geshi.org)
+ * Copyright: (c) 2004 Nigel McNie (http://qbnz.com/highlighter/)
+ * Release Version: 1.0.7.20
+ * Date Started: 2004/07/10
+ *
+ * Java language file for GeSHi.
+ *
+ * CHANGES
+ * -------
+ * 2005/12/28 (1.0.4)
+ *   -  Added instanceof keyword
+ * 2004/11/27 (1.0.3)
+ *   -  Added support for multiple object splitters
+ * 2004/08/05 (1.0.2)
+ *   -  Added URL support
+ *   -  Added keyword "this", as bugs in GeSHi class ironed out
+ * 2004/08/05 (1.0.1)
+ *   -  Added support for symbols
+ *   -  Added extra missed keywords
+ * 2004/07/14 (1.0.0)
+ *   -  First Release
+ *
+ * TODO
+ * -------------------------
+ * *
+ *
+ *************************************************************************************
+ *
+ *     This file is part of GeSHi.
+ *
+ *   GeSHi is free software; you can 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.
+ *
+ *   GeSHi is distributed in the hope that it will be useful,
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *   GNU General Public License for more details.
+ *
+ *   You should have received a copy of the GNU General Public License
+ *   along with GeSHi; if not, write to the Free Software
+ *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
+ ************************************************************************************/
+
+$language_data = array (
+	'LANG_NAME' => 'Java(TM) 2 Platform Standard Edition 5.0',
+	'COMMENT_SINGLE' => array(1 => '//'),   /* import statements are not comments! */
+	'COMMENT_MULTI' => array('/*' => '*/'),
+	'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+	'QUOTEMARKS' => array("'", '"'),
+	'ESCAPE_CHAR' => '\\',
+	'KEYWORDS' => array(
+		1 => array(
+			/* see the authoritative list of all 50 Java keywords at */
+			/* http://java.sun.com/docs/books/jls/third_edition/html/lexical.html#229308 */
+
+			/* java keywords, part 1: control flow */
+			'case', 'default', 'do', 'else', 'for',
+			'goto', 'if', 'switch', 'while'
+
+			/* IMO 'break', 'continue', 'return' and 'throw' */
+                        /* should also be added to this group, as they   */
+			/* also manage the control flow,                 */
+			/* arguably 'try'/'catch'/'finally' as well      */
+			),
+		2 => array(
+			/* java keywords, part 2 */
+
+			'break', 'continue', 'return', 'throw',
+			'try', 'catch', 'finally',
+
+			'abstract', 'assert', 'class', 'const', 'enum', 'extends',
+			'final', 'implements', 'import', 'instanceof', 'interface',
+			'native', 'new', 'package', 'private', 'protected',
+			'public', 'static', 'strictfp', 'super', 'synchronized',
+			'this', 'throws', 'transient', 'volatile'
+			),
+		3 => array(
+			/* Java keywords, part 3: primitive data types and 'void' */
+			'boolean', 'byte', 'char', 'double',
+			'float', 'int', 'long', 'short', 'void'
+			),
+		4 => array(
+			/* other reserved words in Java: literals */
+			/* should be styled to look similar to numbers and Strings */
+			'false', 'null', 'true'
+			),
+		5 => array (
+			'Applet', 'AppletContext', 'AppletStub', 'AudioClip'
+			),
+		6 => array (
+			'AWTError', 'AWTEvent', 'AWTEventMulticaster', 'AWTException', 'AWTKeyStroke', 'AWTPermission', 'ActiveEvent', 'Adjustable', 'AlphaComposite', 'BasicStroke', 'BorderLayout', 'BufferCapabilities', 'BufferCapabilities.FlipContents', 'Button', 'Canvas', 'CardLayout', 'Checkbox', 'CheckboxGroup', 'CheckboxMenuItem', 'Choice', 'Color', 'Component', 'ComponentOrientation', 'Composite', 'CompositeContext', 'Container', 'ContainerOrderFocusTraversalPolicy', 'Cursor', 'DefaultFocusTraversalPolicy', 'DefaultKeyboardFocusManager', 'Dialog', 'Dimension', 'DisplayMode', 'EventQueue', 'FileDialog', 'FlowLayout', 'FocusTraversalPolicy', 'Font', 'FontFormatException', 'FontMetrics', 'Frame', 'GradientPaint', 'Graphics', 'Graphics2D', 'GraphicsConfigTemplate', 'GraphicsConfiguration', 'GraphicsDevice', 'GraphicsEnvironment', 'GridBagConstraints', 'GridBagLayout', 'GridLayout', 'HeadlessException', 'IllegalComponentStateException', 'Image', 'ImageCapabilities', 'Insets', 'ItemSelectable', 'JobAttributes',
+			'JobAttributes.DefaultSelectionType', 'JobAttributes.DestinationType', 'JobAttributes.DialogType', 'JobAttributes.MultipleDocumentHandlingType', 'JobAttributes.SidesType', 'KeyEventDispatcher', 'KeyEventPostProcessor', 'KeyboardFocusManager', 'Label', 'LayoutManager', 'LayoutManager2', 'MediaTracker', 'Menu', 'MenuBar', 'MenuComponent', 'MenuContainer', 'MenuItem', 'MenuShortcut', 'MouseInfo', 'PageAttributes', 'PageAttributes.ColorType', 'PageAttributes.MediaType', 'PageAttributes.OrientationRequestedType', 'PageAttributes.OriginType', 'PageAttributes.PrintQualityType', 'Paint', 'PaintContext', 'Panel', 'Point', 'PointerInfo', 'Polygon', 'PopupMenu', 'PrintGraphics', 'PrintJob', 'Rectangle', 'RenderingHints', 'RenderingHints.Key', 'Robot', 'ScrollPane', 'ScrollPaneAdjustable', 'Scrollbar', 'Shape', 'Stroke', 'SystemColor', 'TextArea', 'TextComponent', 'TextField', 'TexturePaint', 'Toolkit', 'Transparency', 'Window'
+			),
+		7 => array (
+			'CMMException', 'ColorSpace', 'ICC_ColorSpace', 'ICC_Profile', 'ICC_ProfileGray', 'ICC_ProfileRGB', 'ProfileDataException'
+			),
+		8 => array (
+			'Clipboard', 'ClipboardOwner', 'DataFlavor', 'FlavorEvent', 'FlavorListener', 'FlavorMap', 'FlavorTable', 'MimeTypeParseException', 'StringSelection', 'SystemFlavorMap', 'Transferable', 'UnsupportedFlavorException'
+			),
+		9 => array (
+			'Autoscroll', 'DnDConstants', 'DragGestureEvent', 'DragGestureListener', 'DragGestureRecognizer', 'DragSource', 'DragSourceAdapter', 'DragSourceContext', 'DragSourceDragEvent', 'DragSourceDropEvent', 'DragSourceEvent', 'DragSourceListener', 'DragSourceMotionListener', 'DropTarget', 'DropTarget.DropTargetAutoScroller', 'DropTargetAdapter', 'DropTargetContext', 'DropTargetDragEvent', 'DropTargetDropEvent', 'DropTargetEvent', 'DropTargetListener', 'InvalidDnDOperationException', 'MouseDragGestureRecognizer'
+			),
+		10 => array (
+			'AWTEventListener', 'AWTEventListenerProxy', 'ActionEvent', 'ActionListener', 'AdjustmentEvent', 'AdjustmentListener', 'ComponentAdapter', 'ComponentEvent', 'ComponentListener', 'ContainerAdapter', 'ContainerEvent', 'ContainerListener', 'FocusAdapter', 'FocusEvent', 'FocusListener', 'HierarchyBoundsAdapter', 'HierarchyBoundsListener', 'HierarchyEvent', 'HierarchyListener', 'InputEvent', 'InputMethodEvent', 'InputMethodListener', 'InvocationEvent', 'ItemEvent', 'ItemListener', 'KeyAdapter', 'KeyEvent', 'KeyListener', 'MouseAdapter', 'MouseListener', 'MouseMotionAdapter', 'MouseMotionListener', 'MouseWheelEvent', 'MouseWheelListener', 'PaintEvent', 'TextEvent', 'TextListener', 'WindowAdapter', 'WindowEvent', 'WindowFocusListener', 'WindowListener', 'WindowStateListener'
+			),
+		11 => array (
+			'FontRenderContext', 'GlyphJustificationInfo', 'GlyphMetrics', 'GlyphVector', 'GraphicAttribute', 'ImageGraphicAttribute', 'LineBreakMeasurer', 'LineMetrics', 'MultipleMaster', 'NumericShaper', 'ShapeGraphicAttribute', 'TextAttribute', 'TextHitInfo', 'TextLayout', 'TextLayout.CaretPolicy', 'TextMeasurer', 'TransformAttribute'
+			),
+		12 => array (
+			'AffineTransform', 'Arc2D', 'Arc2D.Double', 'Arc2D.Float', 'Area', 'CubicCurve2D', 'CubicCurve2D.Double', 'CubicCurve2D.Float', 'Dimension2D', 'Ellipse2D', 'Ellipse2D.Double', 'Ellipse2D.Float', 'FlatteningPathIterator', 'GeneralPath', 'IllegalPathStateException', 'Line2D', 'Line2D.Double', 'Line2D.Float', 'NoninvertibleTransformException', 'PathIterator', 'Point2D', 'Point2D.Double', 'Point2D.Float', 'QuadCurve2D', 'QuadCurve2D.Double', 'QuadCurve2D.Float', 'Rectangle2D', 'Rectangle2D.Double', 'Rectangle2D.Float', 'RectangularShape', 'RoundRectangle2D', 'RoundRectangle2D.Double', 'RoundRectangle2D.Float'
+			),
+		13 => array (
+			'InputContext', 'InputMethodHighlight', 'InputMethodRequests', 'InputSubset'
+			),
+		14 => array (
+			'InputMethod', 'InputMethodContext', 'InputMethodDescriptor'
+			),
+		15 => array (
+			'AffineTransformOp', 'AreaAveragingScaleFilter', 'BandCombineOp', 'BandedSampleModel', 'BufferStrategy', 'BufferedImage', 'BufferedImageFilter', 'BufferedImageOp', 'ByteLookupTable', 'ColorConvertOp', 'ColorModel', 'ComponentColorModel', 'ComponentSampleModel', 'ConvolveOp', 'CropImageFilter', 'DataBuffer', 'DataBufferByte', 'DataBufferDouble', 'DataBufferFloat', 'DataBufferInt', 'DataBufferShort', 'DataBufferUShort', 'DirectColorModel', 'FilteredImageSource', 'ImageConsumer', 'ImageFilter', 'ImageObserver', 'ImageProducer', 'ImagingOpException', 'IndexColorModel', 'Kernel', 'LookupOp', 'LookupTable', 'MemoryImageSource', 'MultiPixelPackedSampleModel', 'PackedColorModel', 'PixelGrabber', 'PixelInterleavedSampleModel', 'RGBImageFilter', 'Raster', 'RasterFormatException', 'RasterOp', 'RenderedImage', 'ReplicateScaleFilter', 'RescaleOp', 'SampleModel', 'ShortLookupTable', 'SinglePixelPackedSampleModel', 'TileObserver', 'VolatileImage', 'WritableRaster', 'WritableRenderedImage'
+			),
+		16 => array (
+			'ContextualRenderedImageFactory', 'ParameterBlock', 'RenderContext', 'RenderableImage', 'RenderableImageOp', 'RenderableImageProducer', 'RenderedImageFactory'
+			),
+		17 => array (
+			'Book', 'PageFormat', 'Pageable', 'Paper', 'Printable', 'PrinterAbortException', 'PrinterException', 'PrinterGraphics', 'PrinterIOException', 'PrinterJob'
+			),
+		18 => array (
+			'AppletInitializer', 'BeanDescriptor', 'BeanInfo', 'Beans', 'Customizer', 'DefaultPersistenceDelegate', 'DesignMode', 'Encoder', 'EventHandler', 'EventSetDescriptor', 'ExceptionListener', 'Expression', 'FeatureDescriptor', 'IndexedPropertyChangeEvent', 'IndexedPropertyDescriptor', 'Introspector', 'MethodDescriptor', 'ParameterDescriptor', 'PersistenceDelegate', 'PropertyChangeEvent', 'PropertyChangeListener', 'PropertyChangeListenerProxy', 'PropertyChangeSupport', 'PropertyDescriptor', 'PropertyEditor', 'PropertyEditorManager', 'PropertyEditorSupport', 'PropertyVetoException', 'SimpleBeanInfo', 'VetoableChangeListener', 'VetoableChangeListenerProxy', 'VetoableChangeSupport', 'Visibility', 'XMLDecoder', 'XMLEncoder'
+			),
+		19 => array (
+			'BeanContext', 'BeanContextChild', 'BeanContextChildComponentProxy', 'BeanContextChildSupport', 'BeanContextContainerProxy', 'BeanContextEvent', 'BeanContextMembershipEvent', 'BeanContextMembershipListener', 'BeanContextProxy', 'BeanContextServiceAvailableEvent', 'BeanContextServiceProvider', 'BeanContextServiceProviderBeanInfo', 'BeanContextServiceRevokedEvent', 'BeanContextServiceRevokedListener', 'BeanContextServices', 'BeanContextServicesListener', 'BeanContextServicesSupport', 'BeanContextServicesSupport.BCSSServiceProvider', 'BeanContextSupport', 'BeanContextSupport.BCSIterator'
+			),
+		20 => array (
+			'BufferedInputStream', 'BufferedOutputStream', 'BufferedReader', 'BufferedWriter', 'ByteArrayInputStream', 'ByteArrayOutputStream', 'CharArrayReader', 'CharArrayWriter', 'CharConversionException', 'Closeable', 'DataInput', 'DataOutput', 'EOFException', 'Externalizable', 'File', 'FileDescriptor', 'FileInputStream', 'FileNotFoundException', 'FileOutputStream', 'FilePermission', 'FileReader', 'FileWriter', 'FilenameFilter', 'FilterInputStream', 'FilterOutputStream', 'FilterReader', 'FilterWriter', 'Flushable', 'IOException', 'InputStreamReader', 'InterruptedIOException', 'InvalidClassException', 'InvalidObjectException', 'LineNumberInputStream', 'LineNumberReader', 'NotActiveException', 'NotSerializableException', 'ObjectInput', 'ObjectInputStream', 'ObjectInputStream.GetField', 'ObjectInputValidation', 'ObjectOutput', 'ObjectOutputStream', 'ObjectOutputStream.PutField', 'ObjectStreamClass', 'ObjectStreamConstants', 'ObjectStreamException', 'ObjectStreamField', 'OptionalDataException', 'OutputStreamWriter',
+			'PipedInputStream', 'PipedOutputStream', 'PipedReader', 'PipedWriter', 'PrintStream', 'PrintWriter', 'PushbackInputStream', 'PushbackReader', 'RandomAccessFile', 'Reader', 'SequenceInputStream', 'Serializable', 'SerializablePermission', 'StreamCorruptedException', 'StreamTokenizer', 'StringBufferInputStream', 'StringReader', 'StringWriter', 'SyncFailedException', 'UTFDataFormatException', 'UnsupportedEncodingException', 'WriteAbortedException', 'Writer'
+			),
+		21 => array (
+			'AbstractMethodError', 'Appendable', 'ArithmeticException', 'ArrayIndexOutOfBoundsException', 'ArrayStoreException', 'AssertionError', 'Boolean', 'Byte', 'CharSequence', 'Character', 'Character.Subset', 'Character.UnicodeBlock', 'Class', 'ClassCastException', 'ClassCircularityError', 'ClassFormatError', 'ClassLoader', 'ClassNotFoundException', 'CloneNotSupportedException', 'Cloneable', 'Comparable', 'Compiler', 'Deprecated', 'Double', 'Enum', 'EnumConstantNotPresentException', 'Error', 'Exception', 'ExceptionInInitializerError', 'Float', 'IllegalAccessError', 'IllegalAccessException', 'IllegalArgumentException', 'IllegalMonitorStateException', 'IllegalStateException', 'IllegalThreadStateException', 'IncompatibleClassChangeError', 'IndexOutOfBoundsException', 'InheritableThreadLocal', 'InstantiationError', 'InstantiationException', 'Integer', 'InternalError', 'InterruptedException', 'Iterable', 'LinkageError', 'Long', 'Math', 'NegativeArraySizeException', 'NoClassDefFoundError', 'NoSuchFieldError',
+			'NoSuchFieldException', 'NoSuchMethodError', 'NoSuchMethodException', 'NullPointerException', 'Number', 'NumberFormatException', 'OutOfMemoryError', 'Override', 'Package', 'Process', 'ProcessBuilder', 'Readable', 'Runnable', 'Runtime', 'RuntimeException', 'RuntimePermission', 'SecurityException', 'SecurityManager', 'Short', 'StackOverflowError', 'StackTraceElement', 'StrictMath', 'String', 'StringBuffer', 'StringBuilder', 'StringIndexOutOfBoundsException', 'SuppressWarnings', 'System', 'Thread', 'Thread.State', 'Thread.UncaughtExceptionHandler', 'ThreadDeath', 'ThreadGroup', 'ThreadLocal', 'Throwable', 'TypeNotPresentException', 'UnknownError', 'UnsatisfiedLinkError', 'UnsupportedClassVersionError', 'UnsupportedOperationException', 'VerifyError', 'VirtualMachineError', 'Void'
+			),
+		22 => array (
+			'AnnotationFormatError', 'AnnotationTypeMismatchException', 'Documented', 'ElementType', 'IncompleteAnnotationException', 'Inherited', 'Retention', 'RetentionPolicy', 'Target'
+			),
+		23 => array (
+			'ClassDefinition', 'ClassFileTransformer', 'IllegalClassFormatException', 'Instrumentation', 'UnmodifiableClassException'
+			),
+		24 => array (
+			'ClassLoadingMXBean', 'CompilationMXBean', 'GarbageCollectorMXBean', 'ManagementFactory', 'ManagementPermission', 'MemoryMXBean', 'MemoryManagerMXBean', 'MemoryNotificationInfo', 'MemoryPoolMXBean', 'MemoryType', 'MemoryUsage', 'OperatingSystemMXBean', 'RuntimeMXBean', 'ThreadInfo', 'ThreadMXBean'
+			),
+		25 => array (
+			'PhantomReference', 'ReferenceQueue', 'SoftReference', 'WeakReference'
+			),
+		26 => array (
+			'AccessibleObject', 'AnnotatedElement', 'Constructor', 'Field', 'GenericArrayType', 'GenericDeclaration', 'GenericSignatureFormatError', 'InvocationHandler', 'InvocationTargetException', 'MalformedParameterizedTypeException', 'Member', 'Method', 'Modifier', 'ParameterizedType', 'ReflectPermission', 'Type', 'TypeVariable', 'UndeclaredThrowableException', 'WildcardType'
+			),
+		27 => array (
+			'BigDecimal', 'BigInteger', 'MathContext', 'RoundingMode'
+			),
+		28 => array (
+			'Authenticator', 'Authenticator.RequestorType', 'BindException', 'CacheRequest', 'CacheResponse', 'ContentHandlerFactory', 'CookieHandler', 'DatagramPacket', 'DatagramSocket', 'DatagramSocketImpl', 'DatagramSocketImplFactory', 'FileNameMap', 'HttpRetryException', 'HttpURLConnection', 'Inet4Address', 'Inet6Address', 'InetAddress', 'InetSocketAddress', 'JarURLConnection', 'MalformedURLException', 'MulticastSocket', 'NetPermission', 'NetworkInterface', 'NoRouteToHostException', 'PasswordAuthentication', 'PortUnreachableException', 'ProtocolException', 'Proxy.Type', 'ProxySelector', 'ResponseCache', 'SecureCacheResponse', 'ServerSocket', 'Socket', 'SocketAddress', 'SocketException', 'SocketImpl', 'SocketImplFactory', 'SocketOptions', 'SocketPermission', 'SocketTimeoutException', 'URI', 'URISyntaxException', 'URL', 'URLClassLoader', 'URLConnection', 'URLDecoder', 'URLEncoder', 'URLStreamHandler', 'URLStreamHandlerFactory', 'UnknownServiceException'
+			),
+		29 => array (
+			'Buffer', 'BufferOverflowException', 'BufferUnderflowException', 'ByteBuffer', 'ByteOrder', 'CharBuffer', 'DoubleBuffer', 'FloatBuffer', 'IntBuffer', 'InvalidMarkException', 'LongBuffer', 'MappedByteBuffer', 'ReadOnlyBufferException', 'ShortBuffer'
+			),
+		30 => array (
+			'AlreadyConnectedException', 'AsynchronousCloseException', 'ByteChannel', 'CancelledKeyException', 'Channel', 'Channels', 'ClosedByInterruptException', 'ClosedChannelException', 'ClosedSelectorException', 'ConnectionPendingException', 'DatagramChannel', 'FileChannel', 'FileChannel.MapMode', 'FileLock', 'FileLockInterruptionException', 'GatheringByteChannel', 'IllegalBlockingModeException', 'IllegalSelectorException', 'InterruptibleChannel', 'NoConnectionPendingException', 'NonReadableChannelException', 'NonWritableChannelException', 'NotYetBoundException', 'NotYetConnectedException', 'OverlappingFileLockException', 'Pipe', 'Pipe.SinkChannel', 'Pipe.SourceChannel', 'ReadableByteChannel', 'ScatteringByteChannel', 'SelectableChannel', 'SelectionKey', 'Selector', 'ServerSocketChannel', 'SocketChannel', 'UnresolvedAddressException', 'UnsupportedAddressTypeException', 'WritableByteChannel'
+			),
+		31 => array (
+			'AbstractInterruptibleChannel', 'AbstractSelectableChannel', 'AbstractSelectionKey', 'AbstractSelector', 'SelectorProvider'
+			),
+		32 => array (
+			'CharacterCodingException', 'Charset', 'CharsetDecoder', 'CharsetEncoder', 'CoderMalfunctionError', 'CoderResult', 'CodingErrorAction', 'IllegalCharsetNameException', 'MalformedInputException', 'UnmappableCharacterException', 'UnsupportedCharsetException'
+			),
+		33 => array (
+			'CharsetProvider'
+			),
+		34 => array (
+			'AccessException', 'AlreadyBoundException', 'ConnectIOException', 'MarshalException', 'MarshalledObject', 'Naming', 'NoSuchObjectException', 'NotBoundException', 'RMISecurityException', 'RMISecurityManager', 'Remote', 'RemoteException', 'ServerError', 'ServerException', 'ServerRuntimeException', 'StubNotFoundException', 'UnexpectedException', 'UnmarshalException'
+			),
+		35 => array (
+			'Activatable', 'ActivateFailedException', 'ActivationDesc', 'ActivationException', 'ActivationGroup', 'ActivationGroupDesc', 'ActivationGroupDesc.CommandEnvironment', 'ActivationGroupID', 'ActivationGroup_Stub', 'ActivationID', 'ActivationInstantiator', 'ActivationMonitor', 'ActivationSystem', 'Activator', 'UnknownGroupException', 'UnknownObjectException'
+			),
+		36 => array (
+			'DGC', 'Lease', 'VMID'
+			),
+		37 => array (
+			'LocateRegistry', 'Registry', 'RegistryHandler'
+			),
+		38 => array (
+			'ExportException', 'LoaderHandler', 'LogStream', 'ObjID', 'Operation', 'RMIClassLoader', 'RMIClassLoaderSpi', 'RMIClientSocketFactory', 'RMIFailureHandler', 'RMIServerSocketFactory', 'RMISocketFactory', 'RemoteCall', 'RemoteObject', 'RemoteObjectInvocationHandler', 'RemoteRef', 'RemoteServer', 'RemoteStub', 'ServerCloneException', 'ServerNotActiveException', 'ServerRef', 'Skeleton', 'SkeletonMismatchException', 'SkeletonNotFoundException', 'SocketSecurityException', 'UID', 'UnicastRemoteObject', 'Unreferenced'
+			),
+		39 => array (
+			'AccessControlContext', 'AccessControlException', 'AccessController', 'AlgorithmParameterGenerator', 'AlgorithmParameterGeneratorSpi', 'AlgorithmParameters', 'AlgorithmParametersSpi', 'AllPermission', 'AuthProvider', 'BasicPermission', 'CodeSigner', 'CodeSource', 'DigestException', 'DigestInputStream', 'DigestOutputStream', 'DomainCombiner', 'GeneralSecurityException', 'Guard', 'GuardedObject', 'Identity', 'IdentityScope', 'InvalidAlgorithmParameterException', 'InvalidParameterException', 'Key', 'KeyException', 'KeyFactory', 'KeyFactorySpi', 'KeyManagementException', 'KeyPair', 'KeyPairGenerator', 'KeyPairGeneratorSpi', 'KeyRep', 'KeyRep.Type', 'KeyStore', 'KeyStore.Builder', 'KeyStore.CallbackHandlerProtection', 'KeyStore.Entry', 'KeyStore.LoadStoreParameter', 'KeyStore.PasswordProtection', 'KeyStore.PrivateKeyEntry', 'KeyStore.ProtectionParameter', 'KeyStore.SecretKeyEntry', 'KeyStore.TrustedCertificateEntry', 'KeyStoreException', 'KeyStoreSpi', 'MessageDigest', 'MessageDigestSpi',
+			'NoSuchAlgorithmException', 'NoSuchProviderException', 'PermissionCollection', 'Permissions', 'PrivateKey', 'PrivilegedAction', 'PrivilegedActionException', 'PrivilegedExceptionAction', 'ProtectionDomain', 'Provider', 'Provider.Service', 'ProviderException', 'PublicKey', 'SecureClassLoader', 'SecureRandom', 'SecureRandomSpi', 'Security', 'SecurityPermission', 'Signature', 'SignatureException', 'SignatureSpi', 'SignedObject', 'Signer', 'UnrecoverableEntryException', 'UnrecoverableKeyException', 'UnresolvedPermission'
+			),
+		40 => array (
+			'Acl', 'AclEntry', 'AclNotFoundException', 'Group', 'LastOwnerException', 'NotOwnerException', 'Owner'
+			),
+		41 => array (
+			'CRL', 'CRLException', 'CRLSelector', 'CertPath', 'CertPath.CertPathRep', 'CertPathBuilder', 'CertPathBuilderException', 'CertPathBuilderResult', 'CertPathBuilderSpi', 'CertPathParameters', 'CertPathValidator', 'CertPathValidatorException', 'CertPathValidatorResult', 'CertPathValidatorSpi', 'CertSelector', 'CertStore', 'CertStoreException', 'CertStoreParameters', 'CertStoreSpi', 'Certificate.CertificateRep', 'CertificateFactory', 'CertificateFactorySpi', 'CollectionCertStoreParameters', 'LDAPCertStoreParameters', 'PKIXBuilderParameters', 'PKIXCertPathBuilderResult', 'PKIXCertPathChecker', 'PKIXCertPathValidatorResult', 'PKIXParameters', 'PolicyNode', 'PolicyQualifierInfo', 'TrustAnchor', 'X509CRL', 'X509CRLEntry', 'X509CRLSelector', 'X509CertSelector', 'X509Extension'
+			),
+		42 => array (
+			'DSAKey', 'DSAKeyPairGenerator', 'DSAParams', 'DSAPrivateKey', 'DSAPublicKey', 'ECKey', 'ECPrivateKey', 'ECPublicKey', 'RSAKey', 'RSAMultiPrimePrivateCrtKey', 'RSAPrivateCrtKey', 'RSAPrivateKey', 'RSAPublicKey'
+			),
+		43 => array (
+			'AlgorithmParameterSpec', 'DSAParameterSpec', 'DSAPrivateKeySpec', 'DSAPublicKeySpec', 'ECField', 'ECFieldF2m', 'ECFieldFp', 'ECGenParameterSpec', 'ECParameterSpec', 'ECPoint', 'ECPrivateKeySpec', 'ECPublicKeySpec', 'EllipticCurve', 'EncodedKeySpec', 'InvalidKeySpecException', 'InvalidParameterSpecException', 'KeySpec', 'MGF1ParameterSpec', 'PKCS8EncodedKeySpec', 'PSSParameterSpec', 'RSAKeyGenParameterSpec', 'RSAMultiPrimePrivateCrtKeySpec', 'RSAOtherPrimeInfo', 'RSAPrivateCrtKeySpec', 'RSAPrivateKeySpec', 'RSAPublicKeySpec', 'X509EncodedKeySpec'
+			),
+		44 => array (
+			'BatchUpdateException', 'Blob', 'CallableStatement', 'Clob', 'Connection', 'DataTruncation', 'DatabaseMetaData', 'Driver', 'DriverManager', 'DriverPropertyInfo', 'ParameterMetaData', 'PreparedStatement', 'Ref', 'ResultSet', 'ResultSetMetaData', 'SQLData', 'SQLException', 'SQLInput', 'SQLOutput', 'SQLPermission', 'SQLWarning', 'Savepoint', 'Struct', 'Time', 'Types'
+			),
+		45 => array (
+			'AttributedCharacterIterator', 'AttributedCharacterIterator.Attribute', 'AttributedString', 'Bidi', 'BreakIterator', 'CharacterIterator', 'ChoiceFormat', 'CollationElementIterator', 'CollationKey', 'Collator', 'DateFormat', 'DateFormat.Field', 'DateFormatSymbols', 'DecimalFormat', 'DecimalFormatSymbols', 'FieldPosition', 'Format', 'Format.Field', 'MessageFormat', 'MessageFormat.Field', 'NumberFormat', 'NumberFormat.Field', 'ParseException', 'ParsePosition', 'RuleBasedCollator', 'SimpleDateFormat', 'StringCharacterIterator'
+			),
+		46 => array (
+			'AbstractCollection', 'AbstractList', 'AbstractMap', 'AbstractQueue', 'AbstractSequentialList', 'AbstractSet', 'ArrayList', 'Arrays', 'BitSet', 'Calendar', 'Collection', 'Collections', 'Comparator', 'ConcurrentModificationException', 'Currency', 'Dictionary', 'DuplicateFormatFlagsException', 'EmptyStackException', 'EnumMap', 'EnumSet', 'Enumeration', 'EventListenerProxy', 'EventObject', 'FormatFlagsConversionMismatchException', 'Formattable', 'FormattableFlags', 'Formatter.BigDecimalLayoutForm', 'FormatterClosedException', 'GregorianCalendar', 'HashMap', 'HashSet', 'Hashtable', 'IdentityHashMap', 'IllegalFormatCodePointException', 'IllegalFormatConversionException', 'IllegalFormatException', 'IllegalFormatFlagsException', 'IllegalFormatPrecisionException', 'IllegalFormatWidthException', 'InputMismatchException', 'InvalidPropertiesFormatException', 'Iterator', 'LinkedHashMap', 'LinkedHashSet', 'LinkedList', 'ListIterator', 'ListResourceBundle', 'Locale', 'Map', 'Map.Entry', 'MissingFormatArgumentException',
+			'MissingFormatWidthException', 'MissingResourceException', 'NoSuchElementException', 'Observable', 'Observer', 'PriorityQueue', 'Properties', 'PropertyPermission', 'PropertyResourceBundle', 'Queue', 'Random', 'RandomAccess', 'ResourceBundle', 'Scanner', 'Set', 'SimpleTimeZone', 'SortedMap', 'SortedSet', 'Stack', 'StringTokenizer', 'TimeZone', 'TimerTask', 'TooManyListenersException', 'TreeMap', 'TreeSet', 'UUID', 'UnknownFormatConversionException', 'UnknownFormatFlagsException', 'Vector', 'WeakHashMap'
+			),
+		47 => array (
+			'AbstractExecutorService', 'ArrayBlockingQueue', 'BlockingQueue', 'BrokenBarrierException', 'Callable', 'CancellationException', 'CompletionService', 'ConcurrentHashMap', 'ConcurrentLinkedQueue', 'ConcurrentMap', 'CopyOnWriteArrayList', 'CopyOnWriteArraySet', 'CountDownLatch', 'CyclicBarrier', 'DelayQueue', 'Delayed', 'Exchanger', 'ExecutionException', 'Executor', 'ExecutorCompletionService', 'ExecutorService', 'Executors', 'Future', 'FutureTask', 'LinkedBlockingQueue', 'PriorityBlockingQueue', 'RejectedExecutionException', 'RejectedExecutionHandler', 'ScheduledExecutorService', 'ScheduledFuture', 'ScheduledThreadPoolExecutor', 'Semaphore', 'SynchronousQueue', 'ThreadFactory', 'ThreadPoolExecutor', 'ThreadPoolExecutor.AbortPolicy', 'ThreadPoolExecutor.CallerRunsPolicy', 'ThreadPoolExecutor.DiscardOldestPolicy', 'ThreadPoolExecutor.DiscardPolicy', 'TimeUnit', 'TimeoutException'
+			),
+		48 => array (
+			'AtomicBoolean', 'AtomicInteger', 'AtomicIntegerArray', 'AtomicIntegerFieldUpdater', 'AtomicLong', 'AtomicLongArray', 'AtomicLongFieldUpdater', 'AtomicMarkableReference', 'AtomicReference', 'AtomicReferenceArray', 'AtomicReferenceFieldUpdater', 'AtomicStampedReference'
+			),
+		49 => array (
+			'AbstractQueuedSynchronizer', 'Condition', 'Lock', 'LockSupport', 'ReadWriteLock', 'ReentrantLock', 'ReentrantReadWriteLock', 'ReentrantReadWriteLock.ReadLock', 'ReentrantReadWriteLock.WriteLock'
+			),
+		50 => array (
+			'Attributes.Name', 'JarEntry', 'JarException', 'JarFile', 'JarInputStream', 'JarOutputStream', 'Manifest', 'Pack200', 'Pack200.Packer', 'Pack200.Unpacker'
+			),
+		51 => array (
+			'ConsoleHandler', 'ErrorManager', 'FileHandler', 'Filter', 'Handler', 'Level', 'LogManager', 'LogRecord', 'Logger', 'LoggingMXBean', 'LoggingPermission', 'MemoryHandler', 'SimpleFormatter', 'SocketHandler', 'StreamHandler', 'XMLFormatter'
+			),
+		52 => array (
+			'AbstractPreferences', 'BackingStoreException', 'InvalidPreferencesFormatException', 'NodeChangeEvent', 'NodeChangeListener', 'PreferenceChangeEvent', 'PreferenceChangeListener', 'Preferences', 'PreferencesFactory'
+			),
+		53 => array (
+			'MatchResult', 'Matcher', 'Pattern', 'PatternSyntaxException'
+			),
+		54 => array (
+			'Adler32', 'CRC32', 'CheckedInputStream', 'CheckedOutputStream', 'Checksum', 'DataFormatException', 'Deflater', 'DeflaterOutputStream', 'GZIPInputStream', 'GZIPOutputStream', 'Inflater', 'InflaterInputStream', 'ZipEntry', 'ZipException', 'ZipFile', 'ZipInputStream', 'ZipOutputStream'
+			),
+		55 => array (
+			'Accessible', 'AccessibleAction', 'AccessibleAttributeSequence', 'AccessibleBundle', 'AccessibleComponent', 'AccessibleContext', 'AccessibleEditableText', 'AccessibleExtendedComponent', 'AccessibleExtendedTable', 'AccessibleExtendedText', 'AccessibleHyperlink', 'AccessibleHypertext', 'AccessibleIcon', 'AccessibleKeyBinding', 'AccessibleRelation', 'AccessibleRelationSet', 'AccessibleResourceBundle', 'AccessibleRole', 'AccessibleSelection', 'AccessibleState', 'AccessibleStateSet', 'AccessibleStreamable', 'AccessibleTable', 'AccessibleTableModelChange', 'AccessibleText', 'AccessibleTextSequence', 'AccessibleValue'
+			),
+		56 => array (
+			'ActivityCompletedException', 'ActivityRequiredException', 'InvalidActivityException'
+			),
+		57 => array (
+			'BadPaddingException', 'Cipher', 'CipherInputStream', 'CipherOutputStream', 'CipherSpi', 'EncryptedPrivateKeyInfo', 'ExemptionMechanism', 'ExemptionMechanismException', 'ExemptionMechanismSpi', 'IllegalBlockSizeException', 'KeyAgreement', 'KeyAgreementSpi', 'KeyGenerator', 'KeyGeneratorSpi', 'Mac', 'MacSpi', 'NoSuchPaddingException', 'NullCipher', 'SealedObject', 'SecretKey', 'SecretKeyFactory', 'SecretKeyFactorySpi', 'ShortBufferException'
+			),
+		58 => array (
+			'DHKey', 'DHPrivateKey', 'DHPublicKey', 'PBEKey'
+			),
+		59 => array (
+			'DESKeySpec', 'DESedeKeySpec', 'DHGenParameterSpec', 'DHParameterSpec', 'DHPrivateKeySpec', 'DHPublicKeySpec', 'IvParameterSpec', 'OAEPParameterSpec', 'PBEKeySpec', 'PBEParameterSpec', 'PSource', 'PSource.PSpecified', 'RC2ParameterSpec', 'RC5ParameterSpec', 'SecretKeySpec'
+			),
+		60 => array (
+			'IIOException', 'IIOImage', 'IIOParam', 'IIOParamController', 'ImageIO', 'ImageReadParam', 'ImageReader', 'ImageTranscoder', 'ImageTypeSpecifier', 'ImageWriteParam', 'ImageWriter'
+			),
+		61 => array (
+			'IIOReadProgressListener', 'IIOReadUpdateListener', 'IIOReadWarningListener', 'IIOWriteProgressListener', 'IIOWriteWarningListener'
+			),
+		62 => array (
+			'IIOInvalidTreeException', 'IIOMetadata', 'IIOMetadataController', 'IIOMetadataFormat', 'IIOMetadataFormatImpl', 'IIOMetadataNode'
+			),
+		63 => array (
+			'BMPImageWriteParam'
+			),
+		64 => array (
+			'JPEGHuffmanTable', 'JPEGImageReadParam', 'JPEGImageWriteParam', 'JPEGQTable'
+			),
+		65 => array (
+			'IIORegistry', 'IIOServiceProvider', 'ImageInputStreamSpi', 'ImageOutputStreamSpi', 'ImageReaderSpi', 'ImageReaderWriterSpi', 'ImageTranscoderSpi', 'ImageWriterSpi', 'RegisterableService', 'ServiceRegistry', 'ServiceRegistry.Filter'
+			),
+		66 => array (
+			'FileCacheImageInputStream', 'FileCacheImageOutputStream', 'FileImageInputStream', 'FileImageOutputStream', 'IIOByteBuffer', 'ImageInputStream', 'ImageInputStreamImpl', 'ImageOutputStream', 'ImageOutputStreamImpl', 'MemoryCacheImageInputStream', 'MemoryCacheImageOutputStream'
+			),
+		67 => array (
+			'AttributeChangeNotification', 'AttributeChangeNotificationFilter', 'AttributeNotFoundException', 'AttributeValueExp', 'BadAttributeValueExpException', 'BadBinaryOpValueExpException', 'BadStringOperationException', 'Descriptor', 'DescriptorAccess', 'DynamicMBean', 'InstanceAlreadyExistsException', 'InstanceNotFoundException', 'InvalidApplicationException', 'JMException', 'JMRuntimeException', 'ListenerNotFoundException', 'MBeanAttributeInfo', 'MBeanConstructorInfo', 'MBeanException', 'MBeanFeatureInfo', 'MBeanInfo', 'MBeanNotificationInfo', 'MBeanOperationInfo', 'MBeanParameterInfo', 'MBeanPermission', 'MBeanRegistration', 'MBeanRegistrationException', 'MBeanServer', 'MBeanServerBuilder', 'MBeanServerConnection', 'MBeanServerDelegate', 'MBeanServerDelegateMBean', 'MBeanServerFactory', 'MBeanServerInvocationHandler', 'MBeanServerNotification', 'MBeanServerPermission', 'MBeanTrustPermission', 'MalformedObjectNameException', 'NotCompliantMBeanException', 'Notification', 'NotificationBroadcaster',
+			'NotificationBroadcasterSupport', 'NotificationEmitter', 'NotificationFilter', 'NotificationFilterSupport', 'NotificationListener', 'ObjectInstance', 'ObjectName', 'OperationsException', 'PersistentMBean', 'Query', 'QueryEval', 'QueryExp', 'ReflectionException', 'RuntimeErrorException', 'RuntimeMBeanException', 'RuntimeOperationsException', 'ServiceNotFoundException', 'StandardMBean', 'StringValueExp', 'ValueExp'
+			),
+		68 => array (
+			'ClassLoaderRepository', 'MLet', 'MLetMBean', 'PrivateClassLoader', 'PrivateMLet'
+			),
+		69 => array (
+			'DescriptorSupport', 'InvalidTargetObjectTypeException', 'ModelMBean', 'ModelMBeanAttributeInfo', 'ModelMBeanConstructorInfo', 'ModelMBeanInfo', 'ModelMBeanInfoSupport', 'ModelMBeanNotificationBroadcaster', 'ModelMBeanNotificationInfo', 'ModelMBeanOperationInfo', 'RequiredModelMBean', 'XMLParseException'
+			),
+		70 => array (
+			'CounterMonitor', 'CounterMonitorMBean', 'GaugeMonitor', 'GaugeMonitorMBean', 'Monitor', 'MonitorMBean', 'MonitorNotification', 'MonitorSettingException', 'StringMonitor', 'StringMonitorMBean'
+			),
+		71 => array (
+			'ArrayType', 'CompositeData', 'CompositeDataSupport', 'CompositeType', 'InvalidOpenTypeException', 'KeyAlreadyExistsException', 'OpenDataException', 'OpenMBeanAttributeInfo', 'OpenMBeanAttributeInfoSupport', 'OpenMBeanConstructorInfo', 'OpenMBeanConstructorInfoSupport', 'OpenMBeanInfo', 'OpenMBeanInfoSupport', 'OpenMBeanOperationInfo', 'OpenMBeanOperationInfoSupport', 'OpenMBeanParameterInfo', 'OpenMBeanParameterInfoSupport', 'SimpleType', 'TabularData', 'TabularDataSupport', 'TabularType'
+			),
+		72 => array (
+			'InvalidRelationIdException', 'InvalidRelationServiceException', 'InvalidRelationTypeException', 'InvalidRoleInfoException', 'InvalidRoleValueException', 'MBeanServerNotificationFilter', 'Relation', 'RelationException', 'RelationNotFoundException', 'RelationNotification', 'RelationService', 'RelationServiceMBean', 'RelationServiceNotRegisteredException', 'RelationSupport', 'RelationSupportMBean', 'RelationType', 'RelationTypeNotFoundException', 'RelationTypeSupport', 'Role', 'RoleInfo', 'RoleInfoNotFoundException', 'RoleList', 'RoleNotFoundException', 'RoleResult', 'RoleStatus', 'RoleUnresolved', 'RoleUnresolvedList'
+			),
+		73 => array (
+			'JMXAuthenticator', 'JMXConnectionNotification', 'JMXConnector', 'JMXConnectorFactory', 'JMXConnectorProvider', 'JMXConnectorServer', 'JMXConnectorServerFactory', 'JMXConnectorServerMBean', 'JMXConnectorServerProvider', 'JMXPrincipal', 'JMXProviderException', 'JMXServerErrorException', 'JMXServiceURL', 'MBeanServerForwarder', 'NotificationResult', 'SubjectDelegationPermission', 'TargetedNotification'
+			),
+		74 => array (
+			'RMIConnection', 'RMIConnectionImpl', 'RMIConnectionImpl_Stub', 'RMIConnector', 'RMIConnectorServer', 'RMIIIOPServerImpl', 'RMIJRMPServerImpl', 'RMIServer', 'RMIServerImpl', 'RMIServerImpl_Stub'
+			),
+		75 => array (
+			'TimerAlarmClockNotification', 'TimerMBean', 'TimerNotification'
+			),
+		76 => array (
+			'AuthenticationNotSupportedException', 'BinaryRefAddr', 'CannotProceedException', 'CommunicationException', 'CompositeName', 'CompoundName', 'ConfigurationException', 'ContextNotEmptyException', 'InitialContext', 'InsufficientResourcesException', 'InterruptedNamingException', 'InvalidNameException', 'LimitExceededException', 'LinkException', 'LinkLoopException', 'LinkRef', 'MalformedLinkException', 'Name', 'NameAlreadyBoundException', 'NameClassPair', 'NameNotFoundException', 'NameParser', 'NamingEnumeration', 'NamingException', 'NamingSecurityException', 'NoInitialContextException', 'NoPermissionException', 'NotContextException', 'OperationNotSupportedException', 'PartialResultException', 'RefAddr', 'Referenceable', 'ReferralException', 'ServiceUnavailableException', 'SizeLimitExceededException', 'StringRefAddr', 'TimeLimitExceededException'
+			),
+		77 => array (
+			'AttributeInUseException', 'AttributeModificationException', 'BasicAttribute', 'BasicAttributes', 'DirContext', 'InitialDirContext', 'InvalidAttributeIdentifierException', 'InvalidAttributesException', 'InvalidSearchControlsException', 'InvalidSearchFilterException', 'ModificationItem', 'NoSuchAttributeException', 'SchemaViolationException', 'SearchControls', 'SearchResult'
+			),
+		78 => array (
+			'EventContext', 'EventDirContext', 'NamespaceChangeListener', 'NamingEvent', 'NamingExceptionEvent', 'NamingListener', 'ObjectChangeListener'
+			),
+		79 => array (
+			'BasicControl', 'ControlFactory', 'ExtendedRequest', 'ExtendedResponse', 'HasControls', 'InitialLdapContext', 'LdapContext', 'LdapName', 'LdapReferralException', 'ManageReferralControl', 'PagedResultsControl', 'PagedResultsResponseControl', 'Rdn', 'SortControl', 'SortKey', 'SortResponseControl', 'StartTlsRequest', 'StartTlsResponse', 'UnsolicitedNotification', 'UnsolicitedNotificationEvent', 'UnsolicitedNotificationListener'
+			),
+		80 => array (
+			'DirObjectFactory', 'DirStateFactory', 'DirStateFactory.Result', 'DirectoryManager', 'InitialContextFactory', 'InitialContextFactoryBuilder', 'NamingManager', 'ObjectFactory', 'ObjectFactoryBuilder', 'ResolveResult', 'Resolver', 'StateFactory'
+			),
+		81 => array (
+			'ServerSocketFactory', 'SocketFactory'
+			),
+		82 => array (
+			'CertPathTrustManagerParameters', 'HandshakeCompletedEvent', 'HandshakeCompletedListener', 'HostnameVerifier', 'HttpsURLConnection', 'KeyManager', 'KeyManagerFactory', 'KeyManagerFactorySpi', 'KeyStoreBuilderParameters', 'ManagerFactoryParameters', 'SSLContext', 'SSLContextSpi', 'SSLEngine', 'SSLEngineResult', 'SSLEngineResult.HandshakeStatus', 'SSLEngineResult.Status', 'SSLException', 'SSLHandshakeException', 'SSLKeyException', 'SSLPeerUnverifiedException', 'SSLPermission', 'SSLProtocolException', 'SSLServerSocket', 'SSLServerSocketFactory', 'SSLSession', 'SSLSessionBindingEvent', 'SSLSessionBindingListener', 'SSLSessionContext', 'SSLSocket', 'SSLSocketFactory', 'TrustManager', 'TrustManagerFactory', 'TrustManagerFactorySpi', 'X509ExtendedKeyManager', 'X509KeyManager', 'X509TrustManager'
+			),
+		83 => array (
+			'AttributeException', 'CancelablePrintJob', 'Doc', 'DocFlavor', 'DocFlavor.BYTE_ARRAY', 'DocFlavor.CHAR_ARRAY', 'DocFlavor.INPUT_STREAM', 'DocFlavor.READER', 'DocFlavor.SERVICE_FORMATTED', 'DocFlavor.STRING', 'DocFlavor.URL', 'DocPrintJob', 'FlavorException', 'MultiDoc', 'MultiDocPrintJob', 'MultiDocPrintService', 'PrintException', 'PrintService', 'PrintServiceLookup', 'ServiceUI', 'ServiceUIFactory', 'SimpleDoc', 'StreamPrintService', 'StreamPrintServiceFactory', 'URIException'
+			),
+		84 => array (
+			'AttributeSetUtilities', 'DateTimeSyntax', 'DocAttribute', 'DocAttributeSet', 'EnumSyntax', 'HashAttributeSet', 'HashDocAttributeSet', 'HashPrintJobAttributeSet', 'HashPrintRequestAttributeSet', 'HashPrintServiceAttributeSet', 'IntegerSyntax', 'PrintJobAttribute', 'PrintJobAttributeSet', 'PrintRequestAttribute', 'PrintRequestAttributeSet', 'PrintServiceAttribute', 'PrintServiceAttributeSet', 'ResolutionSyntax', 'SetOfIntegerSyntax', 'Size2DSyntax', 'SupportedValuesAttribute', 'TextSyntax', 'URISyntax', 'UnmodifiableSetException'
+			),
+		85 => array (
+			'Chromaticity', 'ColorSupported', 'Compression', 'Copies', 'CopiesSupported', 'DateTimeAtCompleted', 'DateTimeAtCreation', 'DateTimeAtProcessing', 'Destination', 'DocumentName', 'Fidelity', 'Finishings', 'JobHoldUntil', 'JobImpressions', 'JobImpressionsCompleted', 'JobImpressionsSupported', 'JobKOctets', 'JobKOctetsProcessed', 'JobKOctetsSupported', 'JobMediaSheets', 'JobMediaSheetsCompleted', 'JobMediaSheetsSupported', 'JobMessageFromOperator', 'JobName', 'JobOriginatingUserName', 'JobPriority', 'JobPrioritySupported', 'JobSheets', 'JobState', 'JobStateReason', 'JobStateReasons', 'Media', 'MediaName', 'MediaPrintableArea', 'MediaSize', 'MediaSize.Engineering', 'MediaSize.ISO', 'MediaSize.JIS', 'MediaSize.NA', 'MediaSize.Other', 'MediaSizeName', 'MediaTray', 'MultipleDocumentHandling', 'NumberOfDocuments', 'NumberOfInterveningJobs', 'NumberUp', 'NumberUpSupported', 'OrientationRequested', 'OutputDeviceAssigned', 'PDLOverrideSupported', 'PageRanges', 'PagesPerMinute', 'PagesPerMinuteColor',
+			'PresentationDirection', 'PrintQuality', 'PrinterInfo', 'PrinterIsAcceptingJobs', 'PrinterLocation', 'PrinterMakeAndModel', 'PrinterMessageFromOperator', 'PrinterMoreInfo', 'PrinterMoreInfoManufacturer', 'PrinterName', 'PrinterResolution', 'PrinterState', 'PrinterStateReason', 'PrinterStateReasons', 'PrinterURI', 'QueuedJobCount', 'ReferenceUriSchemesSupported', 'RequestingUserName', 'Severity', 'SheetCollate', 'Sides'
+			),
+		86 => array (
+			'PrintEvent', 'PrintJobAdapter', 'PrintJobAttributeEvent', 'PrintJobAttributeListener', 'PrintJobEvent', 'PrintJobListener', 'PrintServiceAttributeEvent', 'PrintServiceAttributeListener'
+			),
+		87 => array (
+			'PortableRemoteObject'
+			),
+		88 => array (
+			'ClassDesc', 'PortableRemoteObjectDelegate', 'Stub', 'StubDelegate', 'Tie', 'Util', 'UtilDelegate', 'ValueHandler', 'ValueHandlerMultiFormat'
+			),
+		89 => array (
+			'SslRMIClientSocketFactory', 'SslRMIServerSocketFactory'
+			),
+		90 => array (
+			'AuthPermission', 'DestroyFailedException', 'Destroyable', 'PrivateCredentialPermission', 'RefreshFailedException', 'Refreshable', 'Subject', 'SubjectDomainCombiner'
+			),
+		91 => array (
+			'Callback', 'CallbackHandler', 'ChoiceCallback', 'ConfirmationCallback', 'LanguageCallback', 'NameCallback', 'PasswordCallback', 'TextInputCallback', 'TextOutputCallback', 'UnsupportedCallbackException'
+			),
+		92 => array (
+			'DelegationPermission', 'KerberosKey', 'KerberosPrincipal', 'KerberosTicket', 'ServicePermission'
+			),
+		93 => array (
+			'AccountException', 'AccountExpiredException', 'AccountLockedException', 'AccountNotFoundException', 'AppConfigurationEntry', 'AppConfigurationEntry.LoginModuleControlFlag', 'Configuration', 'CredentialException', 'CredentialExpiredException', 'CredentialNotFoundException', 'FailedLoginException', 'LoginContext', 'LoginException'
+			),
+		94 => array (
+			'LoginModule'
+			),
+		95 => array (
+			'X500Principal', 'X500PrivateCredential'
+			),
+		96 => array (
+			'AuthorizeCallback', 'RealmCallback', 'RealmChoiceCallback', 'Sasl', 'SaslClient', 'SaslClientFactory', 'SaslException', 'SaslServer', 'SaslServerFactory'
+			),
+		97 => array (
+			'ControllerEventListener', 'Instrument', 'InvalidMidiDataException', 'MetaEventListener', 'MetaMessage', 'MidiChannel', 'MidiDevice', 'MidiDevice.Info', 'MidiEvent', 'MidiFileFormat', 'MidiMessage', 'MidiSystem', 'MidiUnavailableException', 'Patch', 'Receiver', 'Sequence', 'Sequencer', 'Sequencer.SyncMode', 'ShortMessage', 'Soundbank', 'SoundbankResource', 'Synthesizer', 'SysexMessage', 'Track', 'Transmitter', 'VoiceStatus'
+			),
+		98 => array (
+			'MidiDeviceProvider', 'MidiFileReader', 'MidiFileWriter', 'SoundbankReader'
+			),
+		99 => array (
+			'AudioFileFormat', 'AudioFileFormat.Type', 'AudioFormat', 'AudioFormat.Encoding', 'AudioInputStream', 'AudioPermission', 'AudioSystem', 'BooleanControl', 'BooleanControl.Type', 'Clip', 'CompoundControl', 'CompoundControl.Type', 'Control.Type', 'DataLine', 'DataLine.Info', 'EnumControl', 'EnumControl.Type', 'FloatControl', 'FloatControl.Type', 'Line', 'Line.Info', 'LineEvent', 'LineEvent.Type', 'LineListener', 'LineUnavailableException', 'Mixer', 'Mixer.Info', 'Port', 'Port.Info', 'ReverbType', 'SourceDataLine', 'TargetDataLine', 'UnsupportedAudioFileException'
+			),
+		100 => array (
+			'AudioFileReader', 'AudioFileWriter', 'FormatConversionProvider', 'MixerProvider'
+			),
+		101 => array (
+			'ConnectionEvent', 'ConnectionEventListener', 'ConnectionPoolDataSource', 'DataSource', 'PooledConnection', 'RowSet', 'RowSetEvent', 'RowSetInternal', 'RowSetListener', 'RowSetMetaData', 'RowSetReader', 'RowSetWriter', 'XAConnection', 'XADataSource'
+			),
+		102 => array (
+			'BaseRowSet', 'CachedRowSet', 'FilteredRowSet', 'JdbcRowSet', 'JoinRowSet', 'Joinable', 'Predicate', 'RowSetMetaDataImpl', 'RowSetWarning', 'WebRowSet'
+			),
+		103 => array (
+			'SQLInputImpl', 'SQLOutputImpl', 'SerialArray', 'SerialBlob', 'SerialClob', 'SerialDatalink', 'SerialException', 'SerialJavaObject', 'SerialRef', 'SerialStruct'
+			),
+		104 => array (
+			'SyncFactory', 'SyncFactoryException', 'SyncProvider', 'SyncProviderException', 'SyncResolver', 'TransactionalWriter', 'XmlReader', 'XmlWriter'
+			),
+		105 => array (
+			'AbstractAction', 'AbstractButton', 'AbstractCellEditor', 'AbstractListModel', 'AbstractSpinnerModel', 'Action', 'ActionMap', 'BorderFactory', 'BoundedRangeModel', 'Box', 'Box.Filler', 'BoxLayout', 'ButtonGroup', 'ButtonModel', 'CellEditor', 'CellRendererPane', 'ComboBoxEditor', 'ComboBoxModel', 'ComponentInputMap', 'DebugGraphics', 'DefaultBoundedRangeModel', 'DefaultButtonModel', 'DefaultCellEditor', 'DefaultComboBoxModel', 'DefaultDesktopManager', 'DefaultFocusManager', 'DefaultListCellRenderer', 'DefaultListCellRenderer.UIResource', 'DefaultListModel', 'DefaultListSelectionModel', 'DefaultSingleSelectionModel', 'DesktopManager', 'FocusManager', 'GrayFilter', 'Icon', 'ImageIcon', 'InputMap', 'InputVerifier', 'InternalFrameFocusTraversalPolicy', 'JApplet', 'JButton', 'JCheckBox', 'JCheckBoxMenuItem', 'JColorChooser', 'JComboBox', 'JComboBox.KeySelectionManager', 'JComponent', 'JDesktopPane', 'JDialog', 'JEditorPane', 'JFileChooser', 'JFormattedTextField', 'JFormattedTextField.AbstractFormatter',
+			'JFormattedTextField.AbstractFormatterFactory', 'JFrame', 'JInternalFrame', 'JInternalFrame.JDesktopIcon', 'JLabel', 'JLayeredPane', 'JList', 'JMenu', 'JMenuBar', 'JMenuItem', 'JOptionPane', 'JPanel', 'JPasswordField', 'JPopupMenu', 'JPopupMenu.Separator', 'JProgressBar', 'JRadioButton', 'JRadioButtonMenuItem', 'JRootPane', 'JScrollBar', 'JScrollPane', 'JSeparator', 'JSlider', 'JSpinner', 'JSpinner.DateEditor', 'JSpinner.DefaultEditor', 'JSpinner.ListEditor', 'JSpinner.NumberEditor', 'JSplitPane', 'JTabbedPane', 'JTable', 'JTable.PrintMode', 'JTextArea', 'JTextField', 'JTextPane', 'JToggleButton', 'JToggleButton.ToggleButtonModel', 'JToolBar', 'JToolBar.Separator', 'JToolTip', 'JTree', 'JTree.DynamicUtilTreeNode', 'JTree.EmptySelectionModel', 'JViewport', 'JWindow', 'KeyStroke', 'LayoutFocusTraversalPolicy', 'ListCellRenderer', 'ListModel', 'ListSelectionModel', 'LookAndFeel', 'MenuElement', 'MenuSelectionManager', 'MutableComboBoxModel', 'OverlayLayout', 'Popup', 'PopupFactory', 'ProgressMonitor',
+			'ProgressMonitorInputStream', 'Renderer', 'RepaintManager', 'RootPaneContainer', 'ScrollPaneConstants', 'ScrollPaneLayout', 'ScrollPaneLayout.UIResource', 'Scrollable', 'SingleSelectionModel', 'SizeRequirements', 'SizeSequence', 'SortingFocusTraversalPolicy', 'SpinnerDateModel', 'SpinnerListModel', 'SpinnerModel', 'SpinnerNumberModel', 'Spring', 'SpringLayout', 'SpringLayout.Constraints', 'SwingConstants', 'SwingUtilities', 'ToolTipManager', 'TransferHandler', 'UIDefaults', 'UIDefaults.ActiveValue', 'UIDefaults.LazyInputMap', 'UIDefaults.LazyValue', 'UIDefaults.ProxyLazyValue', 'UIManager', 'UIManager.LookAndFeelInfo', 'UnsupportedLookAndFeelException', 'ViewportLayout', 'WindowConstants'
+			),
+		106 => array (
+			'AbstractBorder', 'BevelBorder', 'Border', 'CompoundBorder', 'EmptyBorder', 'EtchedBorder', 'LineBorder', 'MatteBorder', 'SoftBevelBorder', 'TitledBorder'
+			),
+		107 => array (
+			'AbstractColorChooserPanel', 'ColorChooserComponentFactory', 'ColorSelectionModel', 'DefaultColorSelectionModel'
+			),
+		108 => array (
+			'AncestorEvent', 'AncestorListener', 'CaretEvent', 'CaretListener', 'CellEditorListener', 'ChangeEvent', 'ChangeListener', 'DocumentEvent.ElementChange', 'DocumentEvent.EventType', 'DocumentListener', 'EventListenerList', 'HyperlinkEvent', 'HyperlinkEvent.EventType', 'HyperlinkListener', 'InternalFrameAdapter', 'InternalFrameEvent', 'InternalFrameListener', 'ListDataEvent', 'ListDataListener', 'ListSelectionEvent', 'ListSelectionListener', 'MenuDragMouseEvent', 'MenuDragMouseListener', 'MenuEvent', 'MenuKeyEvent', 'MenuKeyListener', 'MenuListener', 'MouseInputAdapter', 'MouseInputListener', 'PopupMenuEvent', 'PopupMenuListener', 'SwingPropertyChangeSupport', 'TableColumnModelEvent', 'TableColumnModelListener', 'TableModelEvent', 'TableModelListener', 'TreeExpansionEvent', 'TreeExpansionListener', 'TreeModelEvent', 'TreeModelListener', 'TreeSelectionEvent', 'TreeSelectionListener', 'TreeWillExpandListener', 'UndoableEditEvent', 'UndoableEditListener'
+			),
+		109 => array (
+			'FileSystemView', 'FileView'
+			),
+		110 => array (
+			'ActionMapUIResource', 'BorderUIResource', 'BorderUIResource.BevelBorderUIResource', 'BorderUIResource.CompoundBorderUIResource', 'BorderUIResource.EmptyBorderUIResource', 'BorderUIResource.EtchedBorderUIResource', 'BorderUIResource.LineBorderUIResource', 'BorderUIResource.MatteBorderUIResource', 'BorderUIResource.TitledBorderUIResource', 'ButtonUI', 'ColorChooserUI', 'ColorUIResource', 'ComboBoxUI', 'ComponentInputMapUIResource', 'ComponentUI', 'DesktopIconUI', 'DesktopPaneUI', 'DimensionUIResource', 'FileChooserUI', 'FontUIResource', 'IconUIResource', 'InputMapUIResource', 'InsetsUIResource', 'InternalFrameUI', 'LabelUI', 'ListUI', 'MenuBarUI', 'MenuItemUI', 'OptionPaneUI', 'PanelUI', 'PopupMenuUI', 'ProgressBarUI', 'RootPaneUI', 'ScrollBarUI', 'ScrollPaneUI', 'SeparatorUI', 'SliderUI', 'SpinnerUI', 'SplitPaneUI', 'TabbedPaneUI', 'TableHeaderUI', 'TableUI', 'TextUI', 'ToolBarUI', 'ToolTipUI', 'TreeUI', 'UIResource', 'ViewportUI'
+			),
+		111 => array (
+			'BasicArrowButton', 'BasicBorders', 'BasicBorders.ButtonBorder', 'BasicBorders.FieldBorder', 'BasicBorders.MarginBorder', 'BasicBorders.MenuBarBorder', 'BasicBorders.RadioButtonBorder', 'BasicBorders.RolloverButtonBorder', 'BasicBorders.SplitPaneBorder', 'BasicBorders.ToggleButtonBorder', 'BasicButtonListener', 'BasicButtonUI', 'BasicCheckBoxMenuItemUI', 'BasicCheckBoxUI', 'BasicColorChooserUI', 'BasicComboBoxEditor', 'BasicComboBoxEditor.UIResource', 'BasicComboBoxRenderer', 'BasicComboBoxRenderer.UIResource', 'BasicComboBoxUI', 'BasicComboPopup', 'BasicDesktopIconUI', 'BasicDesktopPaneUI', 'BasicDirectoryModel', 'BasicEditorPaneUI', 'BasicFileChooserUI', 'BasicFormattedTextFieldUI', 'BasicGraphicsUtils', 'BasicHTML', 'BasicIconFactory', 'BasicInternalFrameTitlePane', 'BasicInternalFrameUI', 'BasicLabelUI', 'BasicListUI', 'BasicLookAndFeel', 'BasicMenuBarUI', 'BasicMenuItemUI', 'BasicMenuUI', 'BasicOptionPaneUI', 'BasicOptionPaneUI.ButtonAreaLayout', 'BasicPanelUI', 'BasicPasswordFieldUI',
+			'BasicPopupMenuSeparatorUI', 'BasicPopupMenuUI', 'BasicProgressBarUI', 'BasicRadioButtonMenuItemUI', 'BasicRadioButtonUI', 'BasicRootPaneUI', 'BasicScrollBarUI', 'BasicScrollPaneUI', 'BasicSeparatorUI', 'BasicSliderUI', 'BasicSpinnerUI', 'BasicSplitPaneDivider', 'BasicSplitPaneUI', 'BasicTabbedPaneUI', 'BasicTableHeaderUI', 'BasicTableUI', 'BasicTextAreaUI', 'BasicTextFieldUI', 'BasicTextPaneUI', 'BasicTextUI', 'BasicTextUI.BasicCaret', 'BasicTextUI.BasicHighlighter', 'BasicToggleButtonUI', 'BasicToolBarSeparatorUI', 'BasicToolBarUI', 'BasicToolTipUI', 'BasicTreeUI', 'BasicViewportUI', 'ComboPopup', 'DefaultMenuLayout'
+			),
+		112 => array (
+			'DefaultMetalTheme', 'MetalBorders', 'MetalBorders.ButtonBorder', 'MetalBorders.Flush3DBorder', 'MetalBorders.InternalFrameBorder', 'MetalBorders.MenuBarBorder', 'MetalBorders.MenuItemBorder', 'MetalBorders.OptionDialogBorder', 'MetalBorders.PaletteBorder', 'MetalBorders.PopupMenuBorder', 'MetalBorders.RolloverButtonBorder', 'MetalBorders.ScrollPaneBorder', 'MetalBorders.TableHeaderBorder', 'MetalBorders.TextFieldBorder', 'MetalBorders.ToggleButtonBorder', 'MetalBorders.ToolBarBorder', 'MetalButtonUI', 'MetalCheckBoxIcon', 'MetalCheckBoxUI', 'MetalComboBoxButton', 'MetalComboBoxEditor', 'MetalComboBoxEditor.UIResource', 'MetalComboBoxIcon', 'MetalComboBoxUI', 'MetalDesktopIconUI', 'MetalFileChooserUI', 'MetalIconFactory', 'MetalIconFactory.FileIcon16', 'MetalIconFactory.FolderIcon16', 'MetalIconFactory.PaletteCloseIcon', 'MetalIconFactory.TreeControlIcon', 'MetalIconFactory.TreeFolderIcon', 'MetalIconFactory.TreeLeafIcon', 'MetalInternalFrameTitlePane', 'MetalInternalFrameUI', 'MetalLabelUI',
+			'MetalLookAndFeel', 'MetalMenuBarUI', 'MetalPopupMenuSeparatorUI', 'MetalProgressBarUI', 'MetalRadioButtonUI', 'MetalRootPaneUI', 'MetalScrollBarUI', 'MetalScrollButton', 'MetalScrollPaneUI', 'MetalSeparatorUI', 'MetalSliderUI', 'MetalSplitPaneUI', 'MetalTabbedPaneUI', 'MetalTextFieldUI', 'MetalTheme', 'MetalToggleButtonUI', 'MetalToolBarUI', 'MetalToolTipUI', 'MetalTreeUI', 'OceanTheme'
+			),
+		113 => array (
+			'MultiButtonUI', 'MultiColorChooserUI', 'MultiComboBoxUI', 'MultiDesktopIconUI', 'MultiDesktopPaneUI', 'MultiFileChooserUI', 'MultiInternalFrameUI', 'MultiLabelUI', 'MultiListUI', 'MultiLookAndFeel', 'MultiMenuBarUI', 'MultiMenuItemUI', 'MultiOptionPaneUI', 'MultiPanelUI', 'MultiPopupMenuUI', 'MultiProgressBarUI', 'MultiRootPaneUI', 'MultiScrollBarUI', 'MultiScrollPaneUI', 'MultiSeparatorUI', 'MultiSliderUI', 'MultiSpinnerUI', 'MultiSplitPaneUI', 'MultiTabbedPaneUI', 'MultiTableHeaderUI', 'MultiTableUI', 'MultiTextUI', 'MultiToolBarUI', 'MultiToolTipUI', 'MultiTreeUI', 'MultiViewportUI'
+			),
+		114 => array (
+			'ColorType', 'Region', 'SynthConstants', 'SynthContext', 'SynthGraphicsUtils', 'SynthLookAndFeel', 'SynthPainter', 'SynthStyle', 'SynthStyleFactory'
+			),
+		115 => array (
+			'AbstractTableModel', 'DefaultTableCellRenderer', 'DefaultTableCellRenderer.UIResource', 'DefaultTableColumnModel', 'DefaultTableModel', 'JTableHeader', 'TableCellEditor', 'TableCellRenderer', 'TableColumn', 'TableColumnModel', 'TableModel'
+			),
+		116 => array (
+			'AbstractDocument', 'AbstractDocument.AttributeContext', 'AbstractDocument.Content', 'AbstractDocument.ElementEdit', 'AbstractWriter', 'AsyncBoxView', 'AttributeSet.CharacterAttribute', 'AttributeSet.ColorAttribute', 'AttributeSet.FontAttribute', 'AttributeSet.ParagraphAttribute', 'BadLocationException', 'BoxView', 'Caret', 'ChangedCharSetException', 'ComponentView', 'CompositeView', 'DateFormatter', 'DefaultCaret', 'DefaultEditorKit', 'DefaultEditorKit.BeepAction', 'DefaultEditorKit.CopyAction', 'DefaultEditorKit.CutAction', 'DefaultEditorKit.DefaultKeyTypedAction', 'DefaultEditorKit.InsertBreakAction', 'DefaultEditorKit.InsertContentAction', 'DefaultEditorKit.InsertTabAction', 'DefaultEditorKit.PasteAction', 'DefaultFormatter', 'DefaultFormatterFactory', 'DefaultHighlighter', 'DefaultHighlighter.DefaultHighlightPainter', 'DefaultStyledDocument', 'DefaultStyledDocument.AttributeUndoableEdit', 'DefaultStyledDocument.ElementSpec', 'DefaultTextUI', 'DocumentFilter', 'DocumentFilter.FilterBypass',
+			'EditorKit', 'ElementIterator', 'FieldView', 'FlowView', 'FlowView.FlowStrategy', 'GapContent', 'GlyphView', 'GlyphView.GlyphPainter', 'Highlighter', 'Highlighter.Highlight', 'Highlighter.HighlightPainter', 'IconView', 'InternationalFormatter', 'JTextComponent', 'JTextComponent.KeyBinding', 'Keymap', 'LabelView', 'LayeredHighlighter', 'LayeredHighlighter.LayerPainter', 'LayoutQueue', 'MaskFormatter', 'MutableAttributeSet', 'NavigationFilter', 'NavigationFilter.FilterBypass', 'NumberFormatter', 'PasswordView', 'PlainDocument', 'PlainView', 'Position', 'Position.Bias', 'Segment', 'SimpleAttributeSet', 'StringContent', 'Style', 'StyleConstants', 'StyleConstants.CharacterConstants', 'StyleConstants.ColorConstants', 'StyleConstants.FontConstants', 'StyleConstants.ParagraphConstants', 'StyleContext', 'StyledDocument', 'StyledEditorKit', 'StyledEditorKit.AlignmentAction', 'StyledEditorKit.BoldAction', 'StyledEditorKit.FontFamilyAction', 'StyledEditorKit.FontSizeAction', 'StyledEditorKit.ForegroundAction',
+			'StyledEditorKit.ItalicAction', 'StyledEditorKit.StyledTextAction', 'StyledEditorKit.UnderlineAction', 'TabExpander', 'TabSet', 'TabStop', 'TabableView', 'TableView', 'TextAction', 'Utilities', 'View', 'ViewFactory', 'WrappedPlainView', 'ZoneView'
+			),
+		117 => array (
+			'BlockView', 'CSS', 'CSS.Attribute', 'FormSubmitEvent', 'FormSubmitEvent.MethodType', 'FormView', 'HTML', 'HTML.Attribute', 'HTML.Tag', 'HTML.UnknownTag', 'HTMLDocument', 'HTMLDocument.Iterator', 'HTMLEditorKit', 'HTMLEditorKit.HTMLFactory', 'HTMLEditorKit.HTMLTextAction', 'HTMLEditorKit.InsertHTMLTextAction', 'HTMLEditorKit.LinkController', 'HTMLEditorKit.Parser', 'HTMLEditorKit.ParserCallback', 'HTMLFrameHyperlinkEvent', 'HTMLWriter', 'ImageView', 'InlineView', 'ListView', 'MinimalHTMLWriter', 'ObjectView', 'Option', 'StyleSheet', 'StyleSheet.BoxPainter', 'StyleSheet.ListPainter'
+			),
+		118 => array (
+			'ContentModel', 'DTD', 'DTDConstants', 'DocumentParser', 'ParserDelegator', 'TagElement'
+			),
+		119 => array (
+			'RTFEditorKit'
+			),
+		120 => array (
+			'AbstractLayoutCache', 'AbstractLayoutCache.NodeDimensions', 'DefaultMutableTreeNode', 'DefaultTreeCellEditor', 'DefaultTreeCellRenderer', 'DefaultTreeModel', 'DefaultTreeSelectionModel', 'ExpandVetoException', 'FixedHeightLayoutCache', 'MutableTreeNode', 'RowMapper', 'TreeCellEditor', 'TreeCellRenderer', 'TreeModel', 'TreeNode', 'TreePath', 'TreeSelectionModel', 'VariableHeightLayoutCache'
+			),
+		121 => array (
+			'AbstractUndoableEdit', 'CannotRedoException', 'CannotUndoException', 'CompoundEdit', 'StateEdit', 'StateEditable', 'UndoManager', 'UndoableEdit', 'UndoableEditSupport'
+			),
+		122 => array (
+			'InvalidTransactionException', 'TransactionRequiredException', 'TransactionRolledbackException'
+			),
+		123 => array (
+			'XAException', 'XAResource', 'Xid'
+			),
+		124 => array (
+			'XMLConstants'
+			),
+		125 => array (
+			'DatatypeConfigurationException', 'DatatypeConstants', 'DatatypeConstants.Field', 'DatatypeFactory', 'Duration', 'XMLGregorianCalendar'
+			),
+		126 => array (
+			'NamespaceContext', 'QName'
+			),
+		127 => array (
+			'DocumentBuilder', 'DocumentBuilderFactory', 'FactoryConfigurationError', 'ParserConfigurationException', 'SAXParser', 'SAXParserFactory'
+			),
+		128 => array (
+			'ErrorListener', 'OutputKeys', 'Result', 'Source', 'SourceLocator', 'Templates', 'Transformer', 'TransformerConfigurationException', 'TransformerException', 'TransformerFactory', 'TransformerFactoryConfigurationError', 'URIResolver'
+			),
+		129 => array (
+			'DOMResult', 'DOMSource'
+			),
+		130 => array (
+			'SAXResult', 'SAXSource', 'SAXTransformerFactory', 'TemplatesHandler', 'TransformerHandler'
+			),
+		131 => array (
+			'StreamResult', 'StreamSource'
+			),
+		132 => array (
+			'Schema', 'SchemaFactory', 'SchemaFactoryLoader', 'TypeInfoProvider', 'Validator', 'ValidatorHandler'
+			),
+		133 => array (
+			'XPath', 'XPathConstants', 'XPathException', 'XPathExpression', 'XPathExpressionException', 'XPathFactory', 'XPathFactoryConfigurationException', 'XPathFunction', 'XPathFunctionException', 'XPathFunctionResolver', 'XPathVariableResolver'
+			),
+		134 => array (
+			'ChannelBinding', 'GSSContext', 'GSSCredential', 'GSSException', 'GSSManager', 'GSSName', 'MessageProp', 'Oid'
+			),
+		135 => array (
+			'ACTIVITY_COMPLETED', 'ACTIVITY_REQUIRED', 'ARG_IN', 'ARG_INOUT', 'ARG_OUT', 'Any', 'AnyHolder', 'AnySeqHolder', 'BAD_CONTEXT', 'BAD_INV_ORDER', 'BAD_OPERATION', 'BAD_PARAM', 'BAD_POLICY', 'BAD_POLICY_TYPE', 'BAD_POLICY_VALUE', 'BAD_QOS', 'BAD_TYPECODE', 'BooleanHolder', 'BooleanSeqHelper', 'BooleanSeqHolder', 'ByteHolder', 'CODESET_INCOMPATIBLE', 'COMM_FAILURE', 'CTX_RESTRICT_SCOPE', 'CharHolder', 'CharSeqHelper', 'CharSeqHolder', 'CompletionStatus', 'CompletionStatusHelper', 'ContextList', 'CurrentHolder', 'CustomMarshal', 'DATA_CONVERSION', 'DefinitionKind', 'DefinitionKindHelper', 'DomainManager', 'DomainManagerOperations', 'DoubleHolder', 'DoubleSeqHelper', 'DoubleSeqHolder', 'Environment', 'ExceptionList', 'FREE_MEM', 'FixedHolder', 'FloatHolder', 'FloatSeqHelper', 'FloatSeqHolder', 'IDLType', 'IDLTypeHelper', 'IDLTypeOperations', 'IMP_LIMIT', 'INITIALIZE', 'INTERNAL', 'INTF_REPOS', 'INVALID_ACTIVITY', 'INVALID_TRANSACTION', 'INV_FLAG', 'INV_IDENT', 'INV_OBJREF', 'INV_POLICY', 'IRObject',
+			'IRObjectOperations', 'IdentifierHelper', 'IntHolder', 'LocalObject', 'LongHolder', 'LongLongSeqHelper', 'LongLongSeqHolder', 'LongSeqHelper', 'LongSeqHolder', 'MARSHAL', 'NO_IMPLEMENT', 'NO_MEMORY', 'NO_PERMISSION', 'NO_RESOURCES', 'NO_RESPONSE', 'NVList', 'NamedValue', 'OBJECT_NOT_EXIST', 'OBJ_ADAPTER', 'OMGVMCID', 'ObjectHelper', 'ObjectHolder', 'OctetSeqHelper', 'OctetSeqHolder', 'PERSIST_STORE', 'PRIVATE_MEMBER', 'PUBLIC_MEMBER', 'ParameterMode', 'ParameterModeHelper', 'ParameterModeHolder', 'PolicyError', 'PolicyErrorCodeHelper', 'PolicyErrorHelper', 'PolicyErrorHolder', 'PolicyHelper', 'PolicyHolder', 'PolicyListHelper', 'PolicyListHolder', 'PolicyOperations', 'PolicyTypeHelper', 'PrincipalHolder', 'REBIND', 'RepositoryIdHelper', 'Request', 'ServerRequest', 'ServiceDetail', 'ServiceDetailHelper', 'ServiceInformation', 'ServiceInformationHelper', 'ServiceInformationHolder', 'SetOverrideType', 'SetOverrideTypeHelper', 'ShortHolder', 'ShortSeqHelper', 'ShortSeqHolder', 'StringHolder',
+			'StringSeqHelper', 'StringSeqHolder', 'StringValueHelper', 'StructMember', 'StructMemberHelper', 'SystemException', 'TCKind', 'TIMEOUT', 'TRANSACTION_MODE', 'TRANSACTION_REQUIRED', 'TRANSACTION_ROLLEDBACK', 'TRANSACTION_UNAVAILABLE', 'TRANSIENT', 'TypeCode', 'TypeCodeHolder', 'ULongLongSeqHelper', 'ULongLongSeqHolder', 'ULongSeqHelper', 'ULongSeqHolder', 'UNSUPPORTED_POLICY', 'UNSUPPORTED_POLICY_VALUE', 'UShortSeqHelper', 'UShortSeqHolder', 'UnionMember', 'UnionMemberHelper', 'UnknownUserException', 'UnknownUserExceptionHelper', 'UnknownUserExceptionHolder', 'UserException', 'VM_ABSTRACT', 'VM_CUSTOM', 'VM_NONE', 'VM_TRUNCATABLE', 'ValueBaseHelper', 'ValueBaseHolder', 'ValueMember', 'ValueMemberHelper', 'VersionSpecHelper', 'VisibilityHelper', 'WCharSeqHelper', 'WCharSeqHolder', 'WStringSeqHelper', 'WStringSeqHolder', 'WStringValueHelper', 'WrongTransaction', 'WrongTransactionHelper', 'WrongTransactionHolder', '_IDLTypeStub', '_PolicyStub'
+			),
+		136 => array (
+			'Invalid', 'InvalidSeq'
+			),
+		137 => array (
+			'BadKind'
+			),
+		138 => array (
+			'ApplicationException', 'BoxedValueHelper', 'CustomValue', 'IDLEntity', 'IndirectionException', 'InvokeHandler', 'RemarshalException', 'ResponseHandler', 'ServantObject', 'Streamable', 'StreamableValue', 'UnknownException', 'ValueBase', 'ValueFactory', 'ValueInputStream', 'ValueOutputStream'
+			),
+		139 => array (
+			'BindingHelper', 'BindingHolder', 'BindingIterator', 'BindingIteratorHelper', 'BindingIteratorHolder', 'BindingIteratorOperations', 'BindingIteratorPOA', 'BindingListHelper', 'BindingListHolder', 'BindingType', 'BindingTypeHelper', 'BindingTypeHolder', 'IstringHelper', 'NameComponent', 'NameComponentHelper', 'NameComponentHolder', 'NameHelper', 'NameHolder', 'NamingContext', 'NamingContextExt', 'NamingContextExtHelper', 'NamingContextExtHolder', 'NamingContextExtOperations', 'NamingContextExtPOA', 'NamingContextHelper', 'NamingContextHolder', 'NamingContextOperations', 'NamingContextPOA', '_BindingIteratorImplBase', '_BindingIteratorStub', '_NamingContextExtStub', '_NamingContextImplBase', '_NamingContextStub'
+			),
+		140 => array (
+			'AddressHelper', 'InvalidAddress', 'InvalidAddressHelper', 'InvalidAddressHolder', 'StringNameHelper', 'URLStringHelper'
+			),
+		141 => array (
+			'AlreadyBound', 'AlreadyBoundHelper', 'AlreadyBoundHolder', 'CannotProceed', 'CannotProceedHelper', 'CannotProceedHolder', 'InvalidNameHolder', 'NotEmpty', 'NotEmptyHelper', 'NotEmptyHolder', 'NotFound', 'NotFoundHelper', 'NotFoundHolder', 'NotFoundReason', 'NotFoundReasonHelper', 'NotFoundReasonHolder'
+			),
+		142 => array (
+			'Parameter'
+			),
+		143 => array (
+			'DynAnyFactory', 'DynAnyFactoryHelper', 'DynAnyFactoryOperations', 'DynAnyHelper', 'DynAnyOperations', 'DynAnySeqHelper', 'DynArrayHelper', 'DynArrayOperations', 'DynEnumHelper', 'DynEnumOperations', 'DynFixedHelper', 'DynFixedOperations', 'DynSequenceHelper', 'DynSequenceOperations', 'DynStructHelper', 'DynStructOperations', 'DynUnionHelper', 'DynUnionOperations', 'DynValueBox', 'DynValueBoxOperations', 'DynValueCommon', 'DynValueCommonOperations', 'DynValueHelper', 'DynValueOperations', 'NameDynAnyPair', 'NameDynAnyPairHelper', 'NameDynAnyPairSeqHelper', 'NameValuePairSeqHelper', '_DynAnyFactoryStub', '_DynAnyStub', '_DynArrayStub', '_DynEnumStub', '_DynFixedStub', '_DynSequenceStub', '_DynStructStub', '_DynUnionStub', '_DynValueStub'
+			),
+		144 => array (
+			'InconsistentTypeCodeHelper'
+			),
+		145 => array (
+			'InvalidValueHelper'
+			),
+		146 => array (
+			'CodeSets', 'Codec', 'CodecFactory', 'CodecFactoryHelper', 'CodecFactoryOperations', 'CodecOperations', 'ComponentIdHelper', 'ENCODING_CDR_ENCAPS', 'Encoding', 'ExceptionDetailMessage', 'IOR', 'IORHelper', 'IORHolder', 'MultipleComponentProfileHelper', 'MultipleComponentProfileHolder', 'ProfileIdHelper', 'RMICustomMaxStreamFormat', 'ServiceContext', 'ServiceContextHelper', 'ServiceContextHolder', 'ServiceContextListHelper', 'ServiceContextListHolder', 'ServiceIdHelper', 'TAG_ALTERNATE_IIOP_ADDRESS', 'TAG_CODE_SETS', 'TAG_INTERNET_IOP', 'TAG_JAVA_CODEBASE', 'TAG_MULTIPLE_COMPONENTS', 'TAG_ORB_TYPE', 'TAG_POLICIES', 'TAG_RMI_CUSTOM_MAX_STREAM_FORMAT', 'TaggedComponent', 'TaggedComponentHelper', 'TaggedComponentHolder', 'TaggedProfile', 'TaggedProfileHelper', 'TaggedProfileHolder', 'TransactionService'
+			),
+		147 => array (
+			'UnknownEncoding', 'UnknownEncodingHelper'
+			),
+		148 => array (
+			'FormatMismatch', 'FormatMismatchHelper', 'InvalidTypeForEncoding', 'InvalidTypeForEncodingHelper'
+			),
+		149 => array (
+			'SYNC_WITH_TRANSPORT', 'SyncScopeHelper'
+			),
+		150 => array (
+			'ACTIVE', 'AdapterManagerIdHelper', 'AdapterNameHelper', 'AdapterStateHelper', 'ClientRequestInfo', 'ClientRequestInfoOperations', 'ClientRequestInterceptor', 'ClientRequestInterceptorOperations', 'DISCARDING', 'HOLDING', 'INACTIVE', 'IORInfo', 'IORInfoOperations', 'IORInterceptor', 'IORInterceptorOperations', 'IORInterceptor_3_0', 'IORInterceptor_3_0Helper', 'IORInterceptor_3_0Holder', 'IORInterceptor_3_0Operations', 'Interceptor', 'InterceptorOperations', 'InvalidSlot', 'InvalidSlotHelper', 'LOCATION_FORWARD', 'NON_EXISTENT', 'ORBIdHelper', 'ORBInitInfo', 'ORBInitInfoOperations', 'ORBInitializer', 'ORBInitializerOperations', 'ObjectReferenceFactory', 'ObjectReferenceFactoryHelper', 'ObjectReferenceFactoryHolder', 'ObjectReferenceTemplate', 'ObjectReferenceTemplateHelper', 'ObjectReferenceTemplateHolder', 'ObjectReferenceTemplateSeqHelper', 'ObjectReferenceTemplateSeqHolder', 'PolicyFactory', 'PolicyFactoryOperations', 'RequestInfo', 'RequestInfoOperations', 'SUCCESSFUL', 'SYSTEM_EXCEPTION',
+			'ServerIdHelper', 'ServerRequestInfo', 'ServerRequestInfoOperations', 'ServerRequestInterceptor', 'ServerRequestInterceptorOperations', 'TRANSPORT_RETRY', 'USER_EXCEPTION'
+			),
+		151 => array (
+			'DuplicateName', 'DuplicateNameHelper'
+			),
+		152 => array (
+			'AdapterActivator', 'AdapterActivatorOperations', 'ID_ASSIGNMENT_POLICY_ID', 'ID_UNIQUENESS_POLICY_ID', 'IMPLICIT_ACTIVATION_POLICY_ID', 'IdAssignmentPolicy', 'IdAssignmentPolicyOperations', 'IdAssignmentPolicyValue', 'IdUniquenessPolicy', 'IdUniquenessPolicyOperations', 'IdUniquenessPolicyValue', 'ImplicitActivationPolicy', 'ImplicitActivationPolicyOperations', 'ImplicitActivationPolicyValue', 'LIFESPAN_POLICY_ID', 'LifespanPolicy', 'LifespanPolicyOperations', 'LifespanPolicyValue', 'POA', 'POAHelper', 'POAManager', 'POAManagerOperations', 'POAOperations', 'REQUEST_PROCESSING_POLICY_ID', 'RequestProcessingPolicy', 'RequestProcessingPolicyOperations', 'RequestProcessingPolicyValue', 'SERVANT_RETENTION_POLICY_ID', 'Servant', 'ServantActivator', 'ServantActivatorHelper', 'ServantActivatorOperations', 'ServantActivatorPOA', 'ServantLocator', 'ServantLocatorHelper', 'ServantLocatorOperations', 'ServantLocatorPOA', 'ServantManager', 'ServantManagerOperations', 'ServantRetentionPolicy',
+			'ServantRetentionPolicyOperations', 'ServantRetentionPolicyValue', 'THREAD_POLICY_ID', 'ThreadPolicy', 'ThreadPolicyOperations', 'ThreadPolicyValue', '_ServantActivatorStub', '_ServantLocatorStub'
+			),
+		153 => array (
+			'NoContext', 'NoContextHelper'
+			),
+		154 => array (
+			'AdapterInactive', 'AdapterInactiveHelper', 'State'
+			),
+		155 => array (
+			'AdapterAlreadyExists', 'AdapterAlreadyExistsHelper', 'AdapterNonExistent', 'AdapterNonExistentHelper', 'InvalidPolicy', 'InvalidPolicyHelper', 'NoServant', 'NoServantHelper', 'ObjectAlreadyActive', 'ObjectAlreadyActiveHelper', 'ObjectNotActive', 'ObjectNotActiveHelper', 'ServantAlreadyActive', 'ServantAlreadyActiveHelper', 'ServantNotActive', 'ServantNotActiveHelper', 'WrongAdapter', 'WrongAdapterHelper', 'WrongPolicy', 'WrongPolicyHelper'
+			),
+		156 => array (
+			'CookieHolder'
+			),
+		157 => array (
+			'RunTime', 'RunTimeOperations'
+			),
+		158 => array (
+			'_Remote_Stub'
+			),
+		159 => array (
+			'Attr', 'CDATASection', 'CharacterData', 'Comment', 'DOMConfiguration', 'DOMError', 'DOMErrorHandler', 'DOMException', 'DOMImplementation', 'DOMImplementationList', 'DOMImplementationSource', 'DOMStringList', 'DocumentFragment', 'DocumentType', 'EntityReference', 'NameList', 'NamedNodeMap', 'Node', 'NodeList', 'Notation', 'ProcessingInstruction', 'Text', 'TypeInfo', 'UserDataHandler'
+			),
+		160 => array (
+			'DOMImplementationRegistry'
+			),
+		161 => array (
+			'EventException', 'EventTarget', 'MutationEvent', 'UIEvent'
+			),
+		162 => array (
+			'DOMImplementationLS', 'LSException', 'LSInput', 'LSLoadEvent', 'LSOutput', 'LSParser', 'LSParserFilter', 'LSProgressEvent', 'LSResourceResolver', 'LSSerializer', 'LSSerializerFilter'
+			),
+		163 => array (
+			'DTDHandler', 'DocumentHandler', 'EntityResolver', 'ErrorHandler', 'HandlerBase', 'InputSource', 'Locator', 'SAXException', 'SAXNotRecognizedException', 'SAXNotSupportedException', 'SAXParseException', 'XMLFilter', 'XMLReader'
+			),
+		164 => array (
+			'Attributes2', 'Attributes2Impl', 'DeclHandler', 'DefaultHandler2', 'EntityResolver2', 'LexicalHandler', 'Locator2', 'Locator2Impl'
+			),
+		165 => array (
+			'AttributeListImpl', 'AttributesImpl', 'DefaultHandler', 'LocatorImpl', 'NamespaceSupport', 'ParserAdapter', 'ParserFactory', 'XMLFilterImpl', 'XMLReaderAdapter', 'XMLReaderFactory'
+			),
+		/* ambiguous class names (appear in more than one package) */
+		166 => array (
+			'Annotation', 'AnySeqHelper', 'Array', 'Attribute', 'AttributeList', 'AttributeSet', 'Attributes', 'AuthenticationException', 'Binding', 'Bounds', 'Certificate', 'CertificateEncodingException', 'CertificateException', 'CertificateExpiredException', 'CertificateNotYetValidException', 'CertificateParsingException', 'ConnectException', 'ContentHandler', 'Context', 'Control', 'Current', 'CurrentHelper', 'CurrentOperations', 'DOMLocator', 'DataInputStream', 'DataOutputStream', 'Date', 'DefaultLoaderRepository', 'Delegate', 'Document', 'DocumentEvent', 'DynAny', 'DynArray', 'DynEnum', 'DynFixed', 'DynSequence', 'DynStruct', 'DynUnion', 'DynValue', 'DynamicImplementation', 'Element', 'Entity', 'Event', 'EventListener', 'FieldNameHelper', 'FileFilter', 'Formatter', 'ForwardRequest', 'ForwardRequestHelper', 'InconsistentTypeCode', 'InputStream', 'IntrospectionException', 'InvalidAttributeValueException', 'InvalidKeyException', 'InvalidName', 'InvalidNameHelper', 'InvalidValue', 'List', 'MouseEvent',
+			'NameValuePair', 'NameValuePairHelper', 'ORB', 'Object', 'ObjectIdHelper', 'ObjectImpl', 'OpenType', 'OutputStream', 'ParagraphView', 'Parser', 'Permission', 'Policy', 'Principal', 'Proxy', 'Reference', 'Statement', 'Timer', 'Timestamp', 'TypeMismatch', 'TypeMismatchHelper', 'UNKNOWN', 'UnknownHostException', 'X509Certificate'
+			)
+		),
+	'SYMBOLS' => array(
+		'(', ')', '[', ']', '{', '}', '*', '&', '%', '!', ';', '<', '>', '?'
+		),
+	'CASE_SENSITIVE' => array(
+		GESHI_COMMENTS => true,
+		/* all Java keywords are case sensitive */
+		1 => true, 2 => true, 3 => true, 4 => true,
+		5 => true, 6 => true, 7 => true, 8 => true, 9 => true,
+		10 => true, 11 => true, 12 => true, 13 => true, 14 => true,
+		15 => true, 16 => true, 17 => true, 18 => true, 19 => true,
+		20 => true, 21 => true, 22 => true, 23 => true, 24 => true,
+		25 => true, 26 => true, 27 => true, 28 => true, 29 => true,
+		30 => true, 31 => true, 32 => true, 33 => true, 34 => true,
+		35 => true, 36 => true, 37 => true, 38 => true, 39 => true,
+		40 => true, 41 => true, 42 => true, 43 => true, 44 => true,
+		45 => true, 46 => true, 47 => true, 48 => true, 49 => true,
+		50 => true, 51 => true, 52 => true, 53 => true, 54 => true,
+		55 => true, 56 => true, 57 => true, 58 => true, 59 => true,
+		60 => true, 61 => true, 62 => true, 63 => true, 64 => true,
+		65 => true, 66 => true, 67 => true, 68 => true, 69 => true,
+		70 => true, 71 => true, 72 => true, 73 => true, 74 => true,
+		75 => true, 76 => true, 77 => true, 78 => true, 79 => true,
+		80 => true, 81 => true, 82 => true, 83 => true, 84 => true,
+		85 => true, 86 => true, 87 => true, 88 => true, 89 => true,
+		90 => true, 91 => true, 92 => true, 93 => true, 94 => true,
+		95 => true, 96 => true, 97 => true, 98 => true, 99 => true,
+		100 => true, 101 => true, 102 => true, 103 => true, 104 => true,
+		105 => true, 106 => true, 107 => true, 108 => true, 109 => true,
+		110 => true, 111 => true, 112 => true, 113 => true, 114 => true,
+		115 => true, 116 => true, 117 => true, 118 => true, 119 => true,
+		120 => true, 121 => true, 122 => true, 123 => true, 124 => true,
+		125 => true, 126 => true, 127 => true, 128 => true, 129 => true,
+		130 => true, 131 => true, 132 => true, 133 => true, 134 => true,
+		135 => true, 136 => true, 137 => true, 138 => true, 139 => true,
+		140 => true, 141 => true, 142 => true, 143 => true, 144 => true,
+		145 => true, 146 => true, 147 => true, 148 => true, 149 => true,
+		150 => true, 151 => true, 152 => true, 153 => true, 154 => true,
+		155 => true, 156 => true, 157 => true, 158 => true, 159 => true,
+		160 => true, 161 => true, 162 => true, 163 => true, 164 => true,
+		165 => true, 166 => true
+	),
+	'STYLES' => array(
+		'KEYWORDS' => array(
+			1 => 'color: #b1b100;',
+			2 => 'color: #000000; font-weight: bold;',
+			3 => 'color: #993333;',
+			4 => 'color: #b13366;',
+			5 => 'color: #aaaadd; font-weight: bold;',
+			6 => 'color: #aaaadd; font-weight: bold;',
+			7 => 'color: #aaaadd; font-weight: bold;',
+			8 => 'color: #aaaadd; font-weight: bold;',
+			9 => 'color: #aaaadd; font-weight: bold;',
+			10 => 'color: #aaaadd; font-weight: bold;',
+			11 => 'color: #aaaadd; font-weight: bold;',
+			12 => 'color: #aaaadd; font-weight: bold;',
+			13 => 'color: #aaaadd; font-weight: bold;',
+			14 => 'color: #aaaadd; font-weight: bold;',
+			15 => 'color: #aaaadd; font-weight: bold;',
+			16 => 'color: #aaaadd; font-weight: bold;',
+			17 => 'color: #aaaadd; font-weight: bold;',
+			18 => 'color: #aaaadd; font-weight: bold;',
+			19 => 'color: #aaaadd; font-weight: bold;',
+			20 => 'color: #aaaadd; font-weight: bold;',
+			21 => 'color: #aaaadd; font-weight: bold;',
+			22 => 'color: #aaaadd; font-weight: bold;',
+			23 => 'color: #aaaadd; font-weight: bold;',
+			24 => 'color: #aaaadd; font-weight: bold;',
+			25 => 'color: #aaaadd; font-weight: bold;',
+			26 => 'color: #aaaadd; font-weight: bold;',
+			27 => 'color: #aaaadd; font-weight: bold;',
+			28 => 'color: #aaaadd; font-weight: bold;',
+			29 => 'color: #aaaadd; font-weight: bold;',
+			30 => 'color: #aaaadd; font-weight: bold;',
+			31 => 'color: #aaaadd; font-weight: bold;',
+			32 => 'color: #aaaadd; font-weight: bold;',
+			33 => 'color: #aaaadd; font-weight: bold;',
+			34 => 'color: #aaaadd; font-weight: bold;',
+			35 => 'color: #aaaadd; font-weight: bold;',
+			36 => 'color: #aaaadd; font-weight: bold;',
+			37 => 'color: #aaaadd; font-weight: bold;',
+			38 => 'color: #aaaadd; font-weight: bold;',
+			39 => 'color: #aaaadd; font-weight: bold;',
+			40 => 'color: #aaaadd; font-weight: bold;',
+			41 => 'color: #aaaadd; font-weight: bold;',
+			42 => 'color: #aaaadd; font-weight: bold;',
+			43 => 'color: #aaaadd; font-weight: bold;',
+			44 => 'color: #aaaadd; font-weight: bold;',
+			45 => 'color: #aaaadd; font-weight: bold;',
+			46 => 'color: #aaaadd; font-weight: bold;',
+			47 => 'color: #aaaadd; font-weight: bold;',
+			48 => 'color: #aaaadd; font-weight: bold;',
+			49 => 'color: #aaaadd; font-weight: bold;',
+			50 => 'color: #aaaadd; font-weight: bold;',
+			51 => 'color: #aaaadd; font-weight: bold;',
+			52 => 'color: #aaaadd; font-weight: bold;',
+			53 => 'color: #aaaadd; font-weight: bold;',
+			54 => 'color: #aaaadd; font-weight: bold;',
+			55 => 'color: #aaaadd; font-weight: bold;',
+			56 => 'color: #aaaadd; font-weight: bold;',
+			57 => 'color: #aaaadd; font-weight: bold;',
+			58 => 'color: #aaaadd; font-weight: bold;',
+			59 => 'color: #aaaadd; font-weight: bold;',
+			60 => 'color: #aaaadd; font-weight: bold;',
+			61 => 'color: #aaaadd; font-weight: bold;',
+			62 => 'color: #aaaadd; font-weight: bold;',
+			63 => 'color: #aaaadd; font-weight: bold;',
+			64 => 'color: #aaaadd; font-weight: bold;',
+			65 => 'color: #aaaadd; font-weight: bold;',
+			66 => 'color: #aaaadd; font-weight: bold;',
+			67 => 'color: #aaaadd; font-weight: bold;',
+			68 => 'color: #aaaadd; font-weight: bold;',
+			69 => 'color: #aaaadd; font-weight: bold;',
+			70 => 'color: #aaaadd; font-weight: bold;',
+			71 => 'color: #aaaadd; font-weight: bold;',
+			72 => 'color: #aaaadd; font-weight: bold;',
+			73 => 'color: #aaaadd; font-weight: bold;',
+			74 => 'color: #aaaadd; font-weight: bold;',
+			75 => 'color: #aaaadd; font-weight: bold;',
+			76 => 'color: #aaaadd; font-weight: bold;',
+			77 => 'color: #aaaadd; font-weight: bold;',
+			78 => 'color: #aaaadd; font-weight: bold;',
+			79 => 'color: #aaaadd; font-weight: bold;',
+			80 => 'color: #aaaadd; font-weight: bold;',
+			81 => 'color: #aaaadd; font-weight: bold;',
+			82 => 'color: #aaaadd; font-weight: bold;',
+			83 => 'color: #aaaadd; font-weight: bold;',
+			84 => 'color: #aaaadd; font-weight: bold;',
+			85 => 'color: #aaaadd; font-weight: bold;',
+			86 => 'color: #aaaadd; font-weight: bold;',
+			87 => 'color: #aaaadd; font-weight: bold;',
+			88 => 'color: #aaaadd; font-weight: bold;',
+			89 => 'color: #aaaadd; font-weight: bold;',
+			90 => 'color: #aaaadd; font-weight: bold;',
+			91 => 'color: #aaaadd; font-weight: bold;',
+			92 => 'color: #aaaadd; font-weight: bold;',
+			93 => 'color: #aaaadd; font-weight: bold;',
+			94 => 'color: #aaaadd; font-weight: bold;',
+			95 => 'color: #aaaadd; font-weight: bold;',
+			96 => 'color: #aaaadd; font-weight: bold;',
+			97 => 'color: #aaaadd; font-weight: bold;',
+			98 => 'color: #aaaadd; font-weight: bold;',
+			99 => 'color: #aaaadd; font-weight: bold;',
+			100 => 'color: #aaaadd; font-weight: bold;',
+			101 => 'color: #aaaadd; font-weight: bold;',
+			102 => 'color: #aaaadd; font-weight: bold;',
+			103 => 'color: #aaaadd; font-weight: bold;',
+			104 => 'color: #aaaadd; font-weight: bold;',
+			105 => 'color: #aaaadd; font-weight: bold;',
+			106 => 'color: #aaaadd; font-weight: bold;',
+			107 => 'color: #aaaadd; font-weight: bold;',
+			108 => 'color: #aaaadd; font-weight: bold;',
+			109 => 'color: #aaaadd; font-weight: bold;',
+			110 => 'color: #aaaadd; font-weight: bold;',
+			111 => 'color: #aaaadd; font-weight: bold;',
+			112 => 'color: #aaaadd; font-weight: bold;',
+			113 => 'color: #aaaadd; font-weight: bold;',
+			114 => 'color: #aaaadd; font-weight: bold;',
+			115 => 'color: #aaaadd; font-weight: bold;',
+			116 => 'color: #aaaadd; font-weight: bold;',
+			117 => 'color: #aaaadd; font-weight: bold;',
+			118 => 'color: #aaaadd; font-weight: bold;',
+			119 => 'color: #aaaadd; font-weight: bold;',
+			120 => 'color: #aaaadd; font-weight: bold;',
+			121 => 'color: #aaaadd; font-weight: bold;',
+			122 => 'color: #aaaadd; font-weight: bold;',
+			123 => 'color: #aaaadd; font-weight: bold;',
+			124 => 'color: #aaaadd; font-weight: bold;',
+			125 => 'color: #aaaadd; font-weight: bold;',
+			126 => 'color: #aaaadd; font-weight: bold;',
+			127 => 'color: #aaaadd; font-weight: bold;',
+			128 => 'color: #aaaadd; font-weight: bold;',
+			129 => 'color: #aaaadd; font-weight: bold;',
+			130 => 'color: #aaaadd; font-weight: bold;',
+			131 => 'color: #aaaadd; font-weight: bold;',
+			132 => 'color: #aaaadd; font-weight: bold;',
+			133 => 'color: #aaaadd; font-weight: bold;',
+			134 => 'color: #aaaadd; font-weight: bold;',
+			135 => 'color: #aaaadd; font-weight: bold;',
+			136 => 'color: #aaaadd; font-weight: bold;',
+			137 => 'color: #aaaadd; font-weight: bold;',
+			138 => 'color: #aaaadd; font-weight: bold;',
+			139 => 'color: #aaaadd; font-weight: bold;',
+			140 => 'color: #aaaadd; font-weight: bold;',
+			141 => 'color: #aaaadd; font-weight: bold;',
+			142 => 'color: #aaaadd; font-weight: bold;',
+			143 => 'color: #aaaadd; font-weight: bold;',
+			144 => 'color: #aaaadd; font-weight: bold;',
+			145 => 'color: #aaaadd; font-weight: bold;',
+			146 => 'color: #aaaadd; font-weight: bold;',
+			147 => 'color: #aaaadd; font-weight: bold;',
+			148 => 'color: #aaaadd; font-weight: bold;',
+			149 => 'color: #aaaadd; font-weight: bold;',
+			150 => 'color: #aaaadd; font-weight: bold;',
+			151 => 'color: #aaaadd; font-weight: bold;',
+			152 => 'color: #aaaadd; font-weight: bold;',
+			153 => 'color: #aaaadd; font-weight: bold;',
+			154 => 'color: #aaaadd; font-weight: bold;',
+			155 => 'color: #aaaadd; font-weight: bold;',
+			156 => 'color: #aaaadd; font-weight: bold;',
+			157 => 'color: #aaaadd; font-weight: bold;',
+			158 => 'color: #aaaadd; font-weight: bold;',
+			159 => 'color: #aaaadd; font-weight: bold;',
+			160 => 'color: #aaaadd; font-weight: bold;',
+			161 => 'color: #aaaadd; font-weight: bold;',
+			162 => 'color: #aaaadd; font-weight: bold;',
+			163 => 'color: #aaaadd; font-weight: bold;',
+			164 => 'color: #aaaadd; font-weight: bold;',
+			165 => 'color: #aaaadd; font-weight: bold;',
+			166 => 'color: #aaaadd; font-weight: bold;'
+			),
+		'COMMENTS' => array(
+			1 => 'color: #808080; font-style: italic;',
+			'MULTI' => 'color: #808080; font-style: italic;'
+			),
+		'ESCAPE_CHAR' => array(
+			0 => 'color: #000099; font-weight: bold;'
+			),
+		'BRACKETS' => array(
+			0 => 'color: #66cc66;'
+			),
+		'STRINGS' => array(
+			0 => 'color: #ff0000;'
+			),
+		'NUMBERS' => array(
+			0 => 'color: #cc66cc;'
+			),
+		'METHODS' => array(
+			1 => 'color: #006600;',
+			2 => 'color: #006600;'
+			),
+		'SYMBOLS' => array(
+			0 => 'color: #66cc66;'
+			),
+		'SCRIPT' => array(
+			),
+		'REGEXPS' => array(
+			)
+		),
+	'URLS' => array(
+		1 => '',
+		2 => '',
+		3 => '',
+		4 => '',
+		5 => 'http://java.sun.com/j2se/1.5.0/docs/api/java/applet/{FNAME}.html',
+		6 => 'http://java.sun.com/j2se/1.5.0/docs/api/java/awt/{FNAME}.html',
+		7 => 'http://java.sun.com/j2se/1.5.0/docs/api/java/awt/color/{FNAME}.html',
+		8 => 'http://java.sun.com/j2se/1.5.0/docs/api/java/awt/datatransfer/{FNAME}.html',
+		9 => 'http://java.sun.com/j2se/1.5.0/docs/api/java/awt/dnd/{FNAME}.html',
+		10 => 'http://java.sun.com/j2se/1.5.0/docs/api/java/awt/event/{FNAME}.html',
+		11 => 'http://java.sun.com/j2se/1.5.0/docs/api/java/awt/font/{FNAME}.html',
+		12 => 'http://java.sun.com/j2se/1.5.0/docs/api/java/awt/geom/{FNAME}.html',
+		13 => 'http://java.sun.com/j2se/1.5.0/docs/api/java/awt/im/{FNAME}.html',
+		14 => 'http://java.sun.com/j2se/1.5.0/docs/api/java/awt/im/spi/{FNAME}.html',
+		15 => 'http://java.sun.com/j2se/1.5.0/docs/api/java/awt/image/{FNAME}.html',
+		16 => 'http://java.sun.com/j2se/1.5.0/docs/api/java/awt/image/renderable/{FNAME}.html',
+		17 => 'http://java.sun.com/j2se/1.5.0/docs/api/java/awt/print/{FNAME}.html',
+		18 => 'http://java.sun.com/j2se/1.5.0/docs/api/java/beans/{FNAME}.html',
+		19 => 'http://java.sun.com/j2se/1.5.0/docs/api/java/beans/beancontext/{FNAME}.html',
+		20 => 'http://java.sun.com/j2se/1.5.0/docs/api/java/io/{FNAME}.html',
+		21 => 'http://java.sun.com/j2se/1.5.0/docs/api/java/lang/{FNAME}.html',
+		22 => 'http://java.sun.com/j2se/1.5.0/docs/api/java/lang/annotation/{FNAME}.html',
+		23 => 'http://java.sun.com/j2se/1.5.0/docs/api/java/lang/instrument/{FNAME}.html',
+		24 => 'http://java.sun.com/j2se/1.5.0/docs/api/java/lang/management/{FNAME}.html',
+		25 => 'http://java.sun.com/j2se/1.5.0/docs/api/java/lang/ref/{FNAME}.html',
+		26 => 'http://java.sun.com/j2se/1.5.0/docs/api/java/lang/reflect/{FNAME}.html',
+		27 => 'http://java.sun.com/j2se/1.5.0/docs/api/java/math/{FNAME}.html',
+		28 => 'http://java.sun.com/j2se/1.5.0/docs/api/java/net/{FNAME}.html',
+		29 => 'http://java.sun.com/j2se/1.5.0/docs/api/java/nio/{FNAME}.html',
+		30 => 'http://java.sun.com/j2se/1.5.0/docs/api/java/nio/channels/{FNAME}.html',
+		31 => 'http://java.sun.com/j2se/1.5.0/docs/api/java/nio/channels/spi/{FNAME}.html',
+		32 => 'http://java.sun.com/j2se/1.5.0/docs/api/java/nio/charset/{FNAME}.html',
+		33 => 'http://java.sun.com/j2se/1.5.0/docs/api/java/nio/charset/spi/{FNAME}.html',
+		34 => 'http://java.sun.com/j2se/1.5.0/docs/api/java/rmi/{FNAME}.html',
+		35 => 'http://java.sun.com/j2se/1.5.0/docs/api/java/rmi/activation/{FNAME}.html',
+		36 => 'http://java.sun.com/j2se/1.5.0/docs/api/java/rmi/dgc/{FNAME}.html',
+		37 => 'http://java.sun.com/j2se/1.5.0/docs/api/java/rmi/registry/{FNAME}.html',
+		38 => 'http://java.sun.com/j2se/1.5.0/docs/api/java/rmi/server/{FNAME}.html',
+		39 => 'http://java.sun.com/j2se/1.5.0/docs/api/java/security/{FNAME}.html',
+		40 => 'http://java.sun.com/j2se/1.5.0/docs/api/java/security/acl/{FNAME}.html',
+		41 => 'http://java.sun.com/j2se/1.5.0/docs/api/java/security/cert/{FNAME}.html',
+		42 => 'http://java.sun.com/j2se/1.5.0/docs/api/java/security/interfaces/{FNAME}.html',
+		43 => 'http://java.sun.com/j2se/1.5.0/docs/api/java/security/spec/{FNAME}.html',
+		44 => 'http://java.sun.com/j2se/1.5.0/docs/api/java/sql/{FNAME}.html',
+		45 => 'http://java.sun.com/j2se/1.5.0/docs/api/java/text/{FNAME}.html',
+		46 => 'http://java.sun.com/j2se/1.5.0/docs/api/java/util/{FNAME}.html',
+		47 => 'http://java.sun.com/j2se/1.5.0/docs/api/java/util/concurrent/{FNAME}.html',
+		48 => 'http://java.sun.com/j2se/1.5.0/docs/api/java/util/concurrent/atomic/{FNAME}.html',
+		49 => 'http://java.sun.com/j2se/1.5.0/docs/api/java/util/concurrent/locks/{FNAME}.html',
+		50 => 'http://java.sun.com/j2se/1.5.0/docs/api/java/util/jar/{FNAME}.html',
+		51 => 'http://java.sun.com/j2se/1.5.0/docs/api/java/util/logging/{FNAME}.html',
+		52 => 'http://java.sun.com/j2se/1.5.0/docs/api/java/util/prefs/{FNAME}.html',
+		53 => 'http://java.sun.com/j2se/1.5.0/docs/api/java/util/regex/{FNAME}.html',
+		54 => 'http://java.sun.com/j2se/1.5.0/docs/api/java/util/zip/{FNAME}.html',
+		55 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/accessibility/{FNAME}.html',
+		56 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/activity/{FNAME}.html',
+		57 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/crypto/{FNAME}.html',
+		58 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/crypto/interfaces/{FNAME}.html',
+		59 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/crypto/spec/{FNAME}.html',
+		60 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/imageio/{FNAME}.html',
+		61 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/imageio/event/{FNAME}.html',
+		62 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/imageio/metadata/{FNAME}.html',
+		63 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/imageio/plugins/bmp/{FNAME}.html',
+		64 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/imageio/plugins/jpeg/{FNAME}.html',
+		65 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/imageio/spi/{FNAME}.html',
+		66 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/imageio/stream/{FNAME}.html',
+		67 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/management/{FNAME}.html',
+		68 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/management/loading/{FNAME}.html',
+		69 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/management/modelmbean/{FNAME}.html',
+		70 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/management/monitor/{FNAME}.html',
+		71 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/management/openmbean/{FNAME}.html',
+		72 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/management/relation/{FNAME}.html',
+		73 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/management/remote/{FNAME}.html',
+		74 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/management/remote/rmi/{FNAME}.html',
+		75 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/management/timer/{FNAME}.html',
+		76 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/{FNAME}.html',
+		77 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/directory/{FNAME}.html',
+		78 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/event/{FNAME}.html',
+		79 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/ldap/{FNAME}.html',
+		80 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/spi/{FNAME}.html',
+		81 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/net/{FNAME}.html',
+		82 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/net/ssl/{FNAME}.html',
+		83 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/print/{FNAME}.html',
+		84 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/print/attribute/{FNAME}.html',
+		85 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/print/attribute/standard/{FNAME}.html',
+		86 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/print/event/{FNAME}.html',
+		87 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/rmi/{FNAME}.html',
+		88 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/rmi/CORBA/{FNAME}.html',
+		89 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/rmi/ssl/{FNAME}.html',
+		90 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/security/auth/{FNAME}.html',
+		91 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/security/auth/callback/{FNAME}.html',
+		92 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/security/auth/kerberos/{FNAME}.html',
+		93 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/security/auth/login/{FNAME}.html',
+		94 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/security/auth/spi/{FNAME}.html',
+		95 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/security/auth/x500/{FNAME}.html',
+		96 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/security/sasl/{FNAME}.html',
+		97 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/sound/midi/{FNAME}.html',
+		98 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/sound/midi/spi/{FNAME}.html',
+		99 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/sound/sampled/{FNAME}.html',
+		100 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/sound/sampled/spi/{FNAME}.html',
+		101 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/sql/{FNAME}.html',
+		102 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/sql/rowset/{FNAME}.html',
+		103 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/sql/rowset/serial/{FNAME}.html',
+		104 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/sql/rowset/spi/{FNAME}.html',
+		105 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/{FNAME}.html',
+		106 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/border/{FNAME}.html',
+		107 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/colorchooser/{FNAME}.html',
+		108 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/event/{FNAME}.html',
+		109 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/filechooser/{FNAME}.html',
+		110 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/plaf/{FNAME}.html',
+		111 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/plaf/basic/{FNAME}.html',
+		112 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/plaf/metal/{FNAME}.html',
+		113 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/plaf/multi/{FNAME}.html',
+		114 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/plaf/synth/{FNAME}.html',
+		115 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/table/{FNAME}.html',
+		116 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/text/{FNAME}.html',
+		117 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/text/html/{FNAME}.html',
+		118 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/text/html/parser/{FNAME}.html',
+		119 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/text/rtf/{FNAME}.html',
+		120 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/tree/{FNAME}.html',
+		121 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/undo/{FNAME}.html',
+		122 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/{FNAME}.html',
+		123 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/{FNAME}.html',
+		124 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/xml/{FNAME}.html',
+		125 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/xml/datatype/{FNAME}.html',
+		126 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/xml/namespace/{FNAME}.html',
+		127 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/xml/parsers/{FNAME}.html',
+		128 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/xml/transform/{FNAME}.html',
+		129 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/xml/transform/dom/{FNAME}.html',
+		130 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/xml/transform/sax/{FNAME}.html',
+		131 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/xml/transform/stream/{FNAME}.html',
+		132 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/xml/validation/{FNAME}.html',
+		133 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/xml/xpath/{FNAME}.html',
+		134 => 'http://java.sun.com/j2se/1.5.0/docs/api/org/ietf/jgss/{FNAME}.html',
+		135 => 'http://java.sun.com/j2se/1.5.0/docs/api/org/omg/CORBA/{FNAME}.html',
+		136 => 'http://java.sun.com/j2se/1.5.0/docs/api/org/omg/CORBA/DynAnyPackage/{FNAME}.html',
+		137 => 'http://java.sun.com/j2se/1.5.0/docs/api/org/omg/CORBA/TypeCodePackage/{FNAME}.html',
+		138 => 'http://java.sun.com/j2se/1.5.0/docs/api/org/omg/CORBA/portable/{FNAME}.html',
+		139 => 'http://java.sun.com/j2se/1.5.0/docs/api/org/omg/CosNaming/{FNAME}.html',
+		140 => 'http://java.sun.com/j2se/1.5.0/docs/api/org/omg/CosNaming/NamingContextExtPackage/{FNAME}.html',
+		141 => 'http://java.sun.com/j2se/1.5.0/docs/api/org/omg/CosNaming/NamingContextPackage/{FNAME}.html',
+		142 => 'http://java.sun.com/j2se/1.5.0/docs/api/org/omg/Dynamic/{FNAME}.html',
+		143 => 'http://java.sun.com/j2se/1.5.0/docs/api/org/omg/DynamicAny/{FNAME}.html',
+		144 => 'http://java.sun.com/j2se/1.5.0/docs/api/org/omg/DynamicAny/DynAnyFactoryPackage/{FNAME}.html',
+		145 => 'http://java.sun.com/j2se/1.5.0/docs/api/org/omg/DynamicAny/DynAnyPackage/{FNAME}.html',
+		146 => 'http://java.sun.com/j2se/1.5.0/docs/api/org/omg/IOP/{FNAME}.html',
+		147 => 'http://java.sun.com/j2se/1.5.0/docs/api/org/omg/IOP/CodecFactoryPackage/{FNAME}.html',
+		148 => 'http://java.sun.com/j2se/1.5.0/docs/api/org/omg/IOP/CodecPackage/{FNAME}.html',
+		149 => 'http://java.sun.com/j2se/1.5.0/docs/api/org/omg/Messaging/{FNAME}.html',
+		150 => 'http://java.sun.com/j2se/1.5.0/docs/api/org/omg/PortableInterceptor/{FNAME}.html',
+		151 => 'http://java.sun.com/j2se/1.5.0/docs/api/org/omg/PortableInterceptor/ORBInitInfoPackage/{FNAME}.html',
+		152 => 'http://java.sun.com/j2se/1.5.0/docs/api/org/omg/PortableServer/{FNAME}.html',
+		153 => 'http://java.sun.com/j2se/1.5.0/docs/api/org/omg/PortableServer/CurrentPackage/{FNAME}.html',
+		154 => 'http://java.sun.com/j2se/1.5.0/docs/api/org/omg/PortableServer/POAManagerPackage/{FNAME}.html',
+		155 => 'http://java.sun.com/j2se/1.5.0/docs/api/org/omg/PortableServer/POAPackage/{FNAME}.html',
+		156 => 'http://java.sun.com/j2se/1.5.0/docs/api/org/omg/PortableServer/ServantLocatorPackage/{FNAME}.html',
+		157 => 'http://java.sun.com/j2se/1.5.0/docs/api/org/omg/SendingContext/{FNAME}.html',
+		158 => 'http://java.sun.com/j2se/1.5.0/docs/api/org/omg/stub/java/rmi/{FNAME}.html',
+		159 => 'http://java.sun.com/j2se/1.5.0/docs/api/org/w3c/dom/{FNAME}.html',
+		160 => 'http://java.sun.com/j2se/1.5.0/docs/api/org/w3c/dom/bootstrap/{FNAME}.html',
+		161 => 'http://java.sun.com/j2se/1.5.0/docs/api/org/w3c/dom/events/{FNAME}.html',
+		162 => 'http://java.sun.com/j2se/1.5.0/docs/api/org/w3c/dom/ls/{FNAME}.html',
+		163 => 'http://java.sun.com/j2se/1.5.0/docs/api/org/xml/sax/{FNAME}.html',
+		164 => 'http://java.sun.com/j2se/1.5.0/docs/api/org/xml/sax/ext/{FNAME}.html',
+		165 => 'http://java.sun.com/j2se/1.5.0/docs/api/org/xml/sax/helpers/{FNAME}.html',
+		/* ambiguous class names (appear in more than one package) */
+		166 => 'http://www.google.com/search?sitesearch=java.sun.com&amp;q=allinurl%3Aj2se%2F1+5+0%2Fdocs%2Fapi+{FNAME}'
+		),
+	'OOLANG' => true,
+	'OBJECT_SPLITTERS' => array(
+		1 => '.'
+		/* Java does not use '::' */
+		),
+	'REGEXPS' => array(
+		),
+	'STRICT_MODE_APPLIES' => GESHI_NEVER,
+	'SCRIPT_DELIMITERS' => array(
+		),
+	'HIGHLIGHT_STRICT_BLOCK' => array(
+		)
+);
+
+?>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/plugins/geshi/geshi/javascript.php	Sun Feb 10 18:10:52 2008 -0500
@@ -0,0 +1,144 @@
+<?php
+/*************************************************************************************
+ * javascript.php
+ * --------------
+ * Author: Ben Keen (ben.keen@gmail.com)
+ * Copyright: (c) 2004 Ben Keen (ben.keen@gmail.com), Nigel McNie (http://qbnz.com/highlighter)
+ * Release Version: 1.0.7.20
+ * Date Started: 2004/06/20
+ *
+ * JavaScript language file for GeSHi.
+ *
+ * CHANGES
+ * -------
+ * 2004/11/27 (1.0.1)
+ *  -  Added support for multiple object splitters
+ * 2004/10/27 (1.0.0)
+ *  -  First Release
+ *
+ * TODO (updated 2004/11/27)
+ * -------------------------
+ *
+ *************************************************************************************
+ *
+ *     This file is part of GeSHi.
+ *
+ *   GeSHi is free software; you can 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.
+ *
+ *   GeSHi is distributed in the hope that it will be useful,
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *   GNU General Public License for more details.
+ *
+ *   You should have received a copy of the GNU General Public License
+ *   along with GeSHi; if not, write to the Free Software
+ *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
+ ************************************************************************************/
+
+$language_data = array (
+  'LANG_NAME' => 'Javascript',
+  'COMMENT_SINGLE' => array(1 => '//'),
+  'COMMENT_MULTI' => array('/*' => '*/'),
+  'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+  'QUOTEMARKS' => array("'", '"'),
+  'ESCAPE_CHAR' => '\\',
+  'KEYWORDS' => array(
+    1 => array(
+      'as', 'break', 'case', 'catch', 'continue', 'decodeURI', 'delete', 'do',
+      'else', 'encodeURI', 'eval', 'finally', 'for', 'if', 'in', 'is', 'item',
+      'instanceof', 'return', 'switch', 'this', 'throw', 'try', 'typeof', 'void',
+      'while', 'write', 'with'
+      ),
+    2 => array(
+      'class', 'const', 'default', 'debugger', 'export', 'extends', 'false',
+      'function', 'import', 'namespace', 'new', 'null', 'package', 'private',
+      'protected', 'public', 'super', 'true', 'use', 'var'
+      ),
+    3 => array(
+
+      // common functions for Window object
+      'alert', 'back', 'blur', 'close', 'confirm', 'focus', 'forward', 'home',
+      'name', 'navigate', 'onblur', 'onerror', 'onfocus', 'onload', 'onmove',
+      'onresize', 'onunload', 'open', 'print', 'prompt', 'scroll', 'status',
+      'stop',
+      )
+    ),
+  'SYMBOLS' => array(
+    '(', ')', '[', ']', '{', '}', '!', '@', '%', '&', '*', '|', '/', '<', '>'
+    ),
+  'CASE_SENSITIVE' => array(
+    GESHI_COMMENTS => false,
+    1 => false,
+    2 => false,
+    3 => false
+    ),
+  'STYLES' => array(
+    'KEYWORDS' => array(
+      1 => 'color: #000066; font-weight: bold;',
+      2 => 'color: #003366; font-weight: bold;',
+      3 => 'color: #000066;'
+      ),
+    'COMMENTS' => array(
+      1 => 'color: #009900; font-style: italic;',
+      'MULTI' => 'color: #009900; font-style: italic;'
+      ),
+    'ESCAPE_CHAR' => array(
+      0 => 'color: #000099; font-weight: bold;'
+      ),
+    'BRACKETS' => array(
+      0 => 'color: #66cc66;'
+      ),
+    'STRINGS' => array(
+      0 => 'color: #3366CC;'
+      ),
+    'NUMBERS' => array(
+      0 => 'color: #CC0000;'
+      ),
+    'METHODS' => array(
+      1 => 'color: #006600;'
+      ),
+    'SYMBOLS' => array(
+      0 => 'color: #66cc66;'
+      ),
+    'REGEXPS' => array(
+      0 => 'color: #0066FF;'
+      ),
+    'SCRIPT' => array(
+      0 => '',
+      1 => '',
+      2 => '',
+      3 => ''
+      )
+    ),
+  'URLS' => array(
+		1 => '',
+		2 => '',
+		3 => ''
+  	),
+  'OOLANG' => true,
+  'OBJECT_SPLITTERS' => array(
+  	1 => '.'
+	),
+  'REGEXPS' => array(
+    0 => "/.*/([igm]*)?"         // matches js reg exps
+    ),
+  'STRICT_MODE_APPLIES' => GESHI_MAYBE,
+  'SCRIPT_DELIMITERS' => array(
+    0 => array(
+      '<script type="text/javascript">' => '</script>'
+      ),
+    1 => array(
+      '<script language="javascript">' => '</script>'
+      )
+    ),
+  'HIGHLIGHT_STRICT_BLOCK' => array(
+    0 => true,
+    1 => true
+  )
+);
+
+?>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/plugins/geshi/geshi/latex.php	Sun Feb 10 18:10:52 2008 -0500
@@ -0,0 +1,189 @@
+<?php
+/*************************************************************************************
+ * latex.php
+ * -----
+ * Original Author: efi
+ * modified by Matthias Pospiech (mail@matthiaspospiech.de)
+ *************************************************************************************
+ *
+ *   This file is not yet part of GeSHi. (and is not compatible to the 1.1+ branch)
+ *
+ *   GeSHi is free software; you can 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.
+ *
+ *   GeSHi is distributed in the hope that it will be useful,
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *   GNU General Public License for more details.
+ *
+ *   You should have received a copy of the GNU General Public License
+ *   along with GeSHi; if not, write to the Free Software
+ *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
+ ************************************************************************************/
+
+if (isset($this) && is_a($this, 'GeSHi')) {
+    $this->set_symbols_highlighting(false);
+    $this->set_numbers_highlighting(false);
+}
+
+$language_data = array (
+    'LANG_NAME' => 'LaTeX',
+    'COMMENT_SINGLE' => array(1 => '%'),
+    'COMMENT_MULTI' => array(),
+    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+    'QUOTEMARKS' => array(),
+    'ESCAPE_CHAR' => '',
+    'KEYWORDS' => array(
+        ),
+    'SYMBOLS' => array(
+        '.', ',','\\',"~", "{", "}", "[", "]", "$"
+        ),
+    'CASE_SENSITIVE' => array(
+        GESHI_COMMENTS => true,
+        1 => false,
+        2 => false,
+        3 => false,
+        4 => false,
+        ),
+    'STYLES' => array(
+        'KEYWORDS' => array(
+            ),
+        'COMMENTS' => array(
+            1 => 'color: #808080; font-style: italic;'
+            ),
+        'ESCAPE_CHAR' => array(
+            ),
+        'BRACKETS' => array(
+            ),
+        'STRINGS' => array(
+            ),
+        'NUMBERS' => array(
+            ),
+        'METHODS' => array(
+            ),
+        'SYMBOLS' => array(
+            ),
+        'REGEXPS' => array(
+            1 => 'color: #00A000; font-weight: bold;',  // Math inner
+            2 => 'color: #800000; font-weight: normal;', // \keyword #202020
+            3 => 'color: #2222D0; font-weight: normal;', // {...}
+            4 => 'color: #2222D0; font-weight: normal;', // [Option]
+            5 => 'color: #00A000; font-weight: normal;', // Mathe #CCF020
+            6 => 'color: #F00000; font-weight: normal;', // Structure \begin
+            7 => 'color: #F00000; font-weight: normal;', // Structure \end
+            8 => 'color: #F00000; font-weight: normal;', // Structure: Labels
+            //9 => 'color: #F00000; font-weight: normal;',  // Structure
+            10 => 'color: #0000D0; font-weight: bold;',  // Environment
+            11 => 'color: #0000D0; font-weight: bold;',  // Environment
+        ),
+        'SCRIPT' => array(
+            )
+        ),
+    'URLS' => array(
+        ),
+    'OOLANG' => false,
+    'OBJECT_SPLITTERS' => array(
+        ),
+    'REGEXPS' => array(
+        // Math inner
+        1 => array(
+            GESHI_SEARCH => "(\\\\begin\\{)(equation|displaymath|eqnarray|subeqnarray|math|multline|gather|align|alignat|flalign )(\\})(.*)(\\\\end\\{)(equation|displaymath|eqnarray|subeqnarray|math|multline|gather|align|alignat|flalign)(\\})",
+            GESHI_REPLACE => '\\4',
+            GESHI_MODIFIERS => 's',
+            GESHI_BEFORE => '\1\2\3',
+            GESHI_AFTER => '\5\6\7'
+            ),
+        //  \keywords
+        2 => array(
+            GESHI_SEARCH => "(\\\\)([a-zA-Z]+)",
+            GESHI_REPLACE => '\1\2',
+            GESHI_MODIFIERS => '',
+            GESHI_BEFORE => '',
+            GESHI_AFTER => ''
+            ),
+        // {parameters}
+        3 => array(
+            GESHI_SEARCH => "(\\{)(.*)(\\})",
+            GESHI_REPLACE => '\2',
+            GESHI_MODIFIERS => '',
+            GESHI_BEFORE => '\1',
+            GESHI_AFTER => '\3'
+            ),
+        // [Option]
+        4 => array(
+            GESHI_SEARCH => "(\[)(.+)(\])",
+            GESHI_REPLACE => '\2',
+            GESHI_MODIFIERS => '',
+            GESHI_BEFORE => '\1',
+            GESHI_AFTER => '\3'
+            ),
+        // Mathe  mit $ ... $
+        5 => array(
+            GESHI_SEARCH => "(\\$)(.+)(\\$)",
+            GESHI_REPLACE => '\1\2\3',
+            GESHI_MODIFIERS => '',
+            GESHI_BEFORE => '',
+            GESHI_AFTER => ''
+            ),
+        // Structure begin
+        6 => array(
+            GESHI_SEARCH => "(\\\\begin)(?=[^a-zA-Z])",
+            GESHI_REPLACE => '\\1',
+            GESHI_MODIFIERS => '',
+            GESHI_BEFORE => '',
+            GESHI_AFTER => '\\2'
+            ),
+        // Structure end
+        7 => array(
+            GESHI_SEARCH => "(\\\\end)(?=[^a-zA-Z])",
+            GESHI_REPLACE => '\\1',
+            GESHI_MODIFIERS => '',
+            GESHI_BEFORE => '',
+            GESHI_AFTER => '\\2'
+            ),
+        //Structure: Label
+        8 => array(
+            GESHI_SEARCH => "(\\\\)(label|pageref|ref|cite)(?=[^a-zA-Z])",
+            GESHI_REPLACE => '\\1\\2',
+            GESHI_MODIFIERS => '',
+            GESHI_BEFORE => '',
+            GESHI_AFTER => '\\3'
+            ),
+// Structure: sections
+/*9 => array(
+            GESHI_SEARCH => "(\\\\)(part|chapter|section|subsection|subsubsection|paragraph|subparagraph)(?=[^a-zA-Z])",
+            GESHI_REPLACE => '\1\\2',
+            GESHI_MODIFIERS => '',
+            GESHI_BEFORE => '',
+            GESHI_AFTER => '\\3'
+            ),*/
+// environment begin
+10 => array(
+            GESHI_SEARCH => "(\\\\begin)(\\{)(.*)(\\})",
+            GESHI_REPLACE => '\\3',
+            GESHI_MODIFIERS => '',
+            GESHI_BEFORE => '',
+            GESHI_AFTER => ''
+            ),
+// environment end
+11 => array(
+            GESHI_SEARCH => "(\\\\end)(\\{)(.*)(\\})",
+            GESHI_REPLACE => '\\3',
+            GESHI_MODIFIERS => '',
+            GESHI_BEFORE => '',
+            GESHI_AFTER => ''
+            ),
+
+// ---------------------------------------------
+        ),
+    'STRICT_MODE_APPLIES' => GESHI_NEVER,
+    'SCRIPT_DELIMITERS' => array(
+        ),
+    'HIGHLIGHT_STRICT_BLOCK' => array(
+        )
+);
+
+?>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/plugins/geshi/geshi/lisp.php	Sun Feb 10 18:10:52 2008 -0500
@@ -0,0 +1,133 @@
+<?php
+/*************************************************************************************
+ * lisp.php
+ * --------
+ * Author: Roberto Rossi (rsoftware@altervista.org)
+ * Copyright: (c) 2004 Roberto Rossi (http://rsoftware.altervista.org), Nigel McNie (http://qbnz.com/highlighter
+ * Release Version: 1.0.7.20
+ * Date Started: 2004/08/30
+ *
+ * Generic Lisp language file for GeSHi.
+ *
+ * CHANGES
+ * -------
+ * 2005/12/9  (1.0.2)
+ *  -  Added support for :keywords and ::access (Denis Mashkevich)
+ * 2004/11/27 (1.0.1)
+ *  -  Added support for multiple object splitters
+ * 2004/08/30 (1.0.0)
+ *  -  First Release
+ *
+ * TODO (updated 2004/11/27)
+ * -------------------------
+ *
+ *************************************************************************************
+ *
+ *     This file is part of GeSHi.
+ *
+ *   GeSHi is free software; you can 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.
+ *
+ *   GeSHi is distributed in the hope that it will be useful,
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *   GNU General Public License for more details.
+ *
+ *   You should have received a copy of the GNU General Public License
+ *   along with GeSHi; if not, write to the Free Software
+ *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
+ ************************************************************************************/
+
+$language_data = array (
+	'LANG_NAME' => 'Lisp',
+	'COMMENT_SINGLE' => array(1 => ';'),
+	'COMMENT_MULTI' => array(';|' => '|;'),
+	'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+	'QUOTEMARKS' => array('"'),
+	'ESCAPE_CHAR' => '\\',
+	'KEYWORDS' => array(
+		1 => array(
+		  'not','defun','princ',
+		  'eval','apply','funcall','quote','identity','function',
+		  'complement','backquote','lambda','set','setq','setf',
+		  'defun','defmacro','gensym','make','symbol','intern',
+		  'symbol','name','symbol','value','symbol','plist','get',
+		  'getf','putprop','remprop','hash','make','array','aref',
+		  'car','cdr','caar','cadr','cdar','cddr','caaar','caadr','cadar',
+		  'caddr','cdaar','cdadr','cddar','cdddr','caaaar','caaadr',
+		  'caadar','caaddr','cadaar','cadadr','caddar','cadddr',
+		  'cdaaar','cdaadr','cdadar','cdaddr','cddaar','cddadr',
+		  'cdddar','cddddr','cons','list','append','reverse','last','nth',
+		  'nthcdr','member','assoc','subst','sublis','nsubst',
+		  'nsublis','remove','length','list','length',
+		  'mapc','mapcar','mapl','maplist','mapcan','mapcon','rplaca',
+		  'rplacd','nconc','delete','atom','symbolp','numberp',
+		  'boundp','null','listp','consp','minusp','zerop','plusp',
+		  'evenp','oddp','eq','eql','equal','cond','case','and','or',
+		  'let','l','if','prog','prog1','prog2','progn','go','return',
+		  'do','dolist','dotimes','catch','throw','error','cerror','break',
+		  'continue','errset','baktrace','evalhook','truncate','float',
+		  'rem','min','max','abs','sin','cos','tan','expt','exp','sqrt',
+		  'random','logand','logior','logxor','lognot','bignums','logeqv',
+		  'lognand','lognor','logorc2','logtest','logbitp','logcount',
+		  'integer','length','nil'
+			)
+		),
+	'SYMBOLS' => array(
+		'(', ')', '{', '}', '[', ']', '!', '%', '^', '&', '/','+','-','*','=','<','>',';','|'
+		),
+	'CASE_SENSITIVE' => array(
+		GESHI_COMMENTS => true,
+		1 => false
+		),
+	'STYLES' => array(
+		'KEYWORDS' => array(
+			1 => 'color: #b1b100;'
+			),
+		'COMMENTS' => array(
+			1 => 'color: #808080; font-style: italic;',
+			'MULTI' => 'color: #808080; font-style: italic;'
+			),
+		'ESCAPE_CHAR' => array(
+			0 => 'color: #000099; font-weight: bold;'
+			),
+		'BRACKETS' => array(
+			0 => 'color: #66cc66;'
+			),
+		'STRINGS' => array(
+			0 => 'color: #ff0000;'
+			),
+		'NUMBERS' => array(
+			0 => 'color: #cc66cc;'
+			),
+		'METHODS' => array(
+			0 => 'color: #555;',
+            1 => 'color: #555;'
+			),
+		'SYMBOLS' => array(
+			0 => 'color: #66cc66;'
+			),
+		'REGEXPS' => array(
+			),
+		'SCRIPT' => array(
+			)
+		),
+	'URLS' => array(
+		),
+	'OOLANG' => true,
+	'OBJECT_SPLITTERS' => array(
+            '::', ':'
+		),
+	'REGEXPS' => array(
+		),
+	'STRICT_MODE_APPLIES' => GESHI_NEVER,
+	'SCRIPT_DELIMITERS' => array(
+		),
+	'HIGHLIGHT_STRICT_BLOCK' => array(
+		)
+);
+
+?>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/plugins/geshi/geshi/lua.php	Sun Feb 10 18:10:52 2008 -0500
@@ -0,0 +1,134 @@
+<?php
+/*************************************************************************************
+ * lua.php
+ * -------
+ * Author: Roberto Rossi (rsoftware@altervista.org)
+ * Copyright: (c) 2004 Roberto Rossi (http://rsoftware.altervista.org), Nigel McNie (http://qbnz.com/highlighter)
+ * Release Version: 1.0.7.20
+ * Date Started: 2004/07/10
+ *
+ * LUA language file for GeSHi.
+ *
+ * CHANGES
+ * -------
+ * 2005/08/26 (1.0.2)
+ *  -  Added support for objects and methods
+ *  -  Removed unusable keywords
+ * 2004/11/27 (1.0.1)
+ *  -  Added support for multiple object splitters
+ * 2004/10/27 (1.0.0)
+ *  -  First Release
+ *
+ * TODO (updated 2004/11/27)
+ * -------------------------
+ *
+ *************************************************************************************
+ *
+ *     This file is part of GeSHi.
+ *
+ *   GeSHi is free software; you can 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.
+ *
+ *   GeSHi is distributed in the hope that it will be useful,
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *   GNU General Public License for more details.
+ *
+ *   You should have received a copy of the GNU General Public License
+ *   along with GeSHi; if not, write to the Free Software
+ *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
+ ************************************************************************************/
+
+$language_data = array (
+	'LANG_NAME' => 'Lua',
+	'COMMENT_SINGLE' => array(1 => "--"),
+	'COMMENT_MULTI' => array('--[[' => ']]'),
+	'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+	'QUOTEMARKS' => array('"'),
+	'ESCAPE_CHAR' => '\\',
+	'KEYWORDS' => array(
+		1 => array(
+			'and','break','do','else','elseif','end','false','for','function','if',
+			'in','local','nil','not','or','repeat','return','then','true','until','while',
+			'_VERSION','assert','collectgarbage','dofile','error','gcinfo','loadfile','loadstring',
+			'print','tonumber','tostring','type','unpack',
+			'_ALERT','_ERRORMESSAGE','_INPUT','_PROMPT','_OUTPUT',
+			'_STDERR','_STDIN','_STDOUT','call','dostring','foreach','foreachi','getn','globals','newtype',
+			'rawget','rawset','require','sort','tinsert','tremove',
+			'abs','acos','asin','atan','atan2','ceil','cos','deg','exp',
+			'floor','format','frexp','gsub','ldexp','log','log10','max','min','mod','rad','random','randomseed',
+			'sin','sqrt','strbyte','strchar','strfind','strlen','strlower','strrep','strsub','strupper','tan',
+			'openfile','closefile','readfrom','writeto','appendto',
+			'remove','rename','flush','seek','tmpfile','tmpname','read','write',
+			'clock','date','difftime','execute','exit','getenv','setlocale','time',
+			'_G','getfenv','getmetatable','ipairs','loadlib','next','pairs','pcall',
+			'rawegal','rawget','rawset','require','setfenv','setmetatable','xpcall',
+            'string.byte','string.char','string.dump','string.find','string.len',
+            'string.lower','string.rep','string.sub','string.upper','string.format','string.gfind','string.gsub',
+            'table.concat','table.foreach','table.foreachi','table.getn','table.sort','table.insert','table.remove','table.setn',
+            'math.abs','math.acos','math.asin','math.atan','math.atan2','math.ceil','math.cos','math.deg','math.exp',
+            'math.floor','math.frexp','math.ldexp','math.log','math.log10','math.max','math.min','math.mod',
+            'math.pi','math.rad','math.random','math.randomseed','math.sin','math.sqrt','math.tan',
+            'coroutine.create','coroutine.resume','coroutine.status',
+            'coroutine.wrap','coroutine.yield',
+            'io.close','io.flush','io.input','io.lines','io.open','io.output','io.read','io.tmpfile','io.type','io.write',
+            'io.stdin','io.stdout','io.stderr',
+            'os.clock','os.date','os.difftime','os.execute','os.exit','os.getenv','os.remove','os.rename',
+            'os.setlocale','os.time','os.tmpname',
+			'string','table','math','coroutine','io','os','debug'
+			)
+		),
+	'SYMBOLS' => array(
+		'(', ')', '{', '}', '!', '@', '%', '&', '*', '|', '/', '<', '>', '=', ';'
+		),
+	'CASE_SENSITIVE' => array(
+		GESHI_COMMENTS => true,
+		1 => true
+		),
+	'STYLES' => array(
+		'KEYWORDS' => array(
+			1 => 'color: #b1b100;'
+			),
+		'COMMENTS' => array(
+			1 => 'color: #808080; font-style: italic;',
+			'MULTI' => 'color: #808080; font-style: italic;'
+			),
+		'ESCAPE_CHAR' => array(
+			0 => 'color: #000099; font-weight: bold;'
+			),
+		'BRACKETS' => array(
+			0 => 'color: #66cc66;'
+			),
+		'STRINGS' => array(
+			0 => 'color: #ff0000;'
+			),
+		'NUMBERS' => array(
+			0 => 'color: #cc66cc;'
+			),
+		'METHODS' => array(
+      0 => 'color: #b1b100;'
+			),
+		'SYMBOLS' => array(
+			0 => 'color: #66cc66;'
+			),
+		'REGEXPS' => array(
+			),
+		'SCRIPT' => array(
+			)
+		),
+	'OOLANG' => false,
+	'OBJECT_SPLITTERS' => array(
+		),
+	'REGEXPS' => array(
+		),
+	'STRICT_MODE_APPLIES' => GESHI_NEVER,
+	'SCRIPT_DELIMITERS' => array(
+		),
+	'HIGHLIGHT_STRICT_BLOCK' => array(
+		)
+);
+
+?>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/plugins/geshi/geshi/m68k.php	Sun Feb 10 18:10:52 2008 -0500
@@ -0,0 +1,135 @@
+<?php
+/*************************************************************************************
+ * m68k.php
+ * --------
+ * Author: Benny Baumann (BenBE@omorphia.de)
+ * Copyright: (c) 2007 Benny Baumann (http://www.omorphia.de/), Nigel McNie (http://qbnz.com/highlighter)
+ * Release Version: 1.0.7.20
+ * Date Started: 2007/02/06
+ *
+ * Motorola 68000 Assembler language file for GeSHi.
+ *
+ * Syntax definition as commonly used by the motorola documentation for the
+ * MC68HC908GP32 Microcontroller (and maybe others).
+ *
+ * CHANGES
+ * -------
+ * 2007/06/02 (1.0.0)
+ *   -  First Release
+ *
+ * TODO (updated 2007/06/02)
+ * -------------------------
+ *
+ *************************************************************************************
+ *
+ *     This file is part of GeSHi.
+ *
+ *   GeSHi is free software; you can 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.
+ *
+ *   GeSHi is distributed in the hope that it will be useful,
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *   GNU General Public License for more details.
+ *
+ *   You should have received a copy of the GNU General Public License
+ *   along with GeSHi; if not, write to the Free Software
+ *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
+ ************************************************************************************/
+
+$language_data = array (
+	'LANG_NAME' => 'Motorola 68000 Assembler',
+	'COMMENT_SINGLE' => array(1 => ';'),
+	'COMMENT_MULTI' => array(),
+	'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+	'QUOTEMARKS' => array("'", '"'),
+	'ESCAPE_CHAR' => '',
+	'KEYWORDS' => array(
+		/*CPU*/
+		1 => array(
+			'adc','add','ais','aix','and','asl','asr','bcc','bclr','bcs','beq',
+			'bge','bgt','bhcc','bhcs','bhi','bhs','bih','bil','bit','ble','blo',
+			'bls','blt','bmc','bmi','bms','bne','bpl','bra','brclr','brn',
+			'brset','bset','bsr','cbeq','clc','cli','clr','cmp','com','cphx',
+			'cpx','daa','dbnz','dec','div','eor','inc','jmp','jsr','lda','ldhx',
+			'ldx','lsl','lsr','mov','mul','neg','nop','nsa','ora','psha','pshh',
+			'pshx','pula','pulh','pulx','rol','ror','rsp','rti','rts','sbc',
+			'sec','sei','sta','sthx','stop','stx','sub','swi','tap','tax','tpa',
+			'tst','tsx','txa','txs','wait'
+		),
+		/*registers*/
+		2 => array(
+			'a','h','x',
+			'hx','sp'
+			),
+		/*Directive*/
+		3 => array(
+			'#define','#endif','#else','#ifdef','#ifndef','#include','#undef',
+			'.db','.dd','.df','.dq','.dt','.dw','.end','.org','equ'
+			),
+		),
+	'SYMBOLS' => array(
+		','
+		),
+	'CASE_SENSITIVE' => array(
+		GESHI_COMMENTS => true,
+		1 => false,
+		2 => false,
+		3 => false,
+		),
+	'STYLES' => array(
+		'KEYWORDS' => array(
+			1 => 'color: #0000ff; font-weight:bold;',
+			2 => 'color: #0000ff;',
+			3 => 'color: #46aa03; font-weight:bold;'
+			),
+		'COMMENTS' => array(
+			1 => 'color: #adadad; font-style: italic;',
+			),
+		'ESCAPE_CHAR' => array(
+			0 => 'color: #000099; font-weight: bold;'
+			),
+		'BRACKETS' => array(
+			0 => 'color: #0000ff;'
+			),
+		'STRINGS' => array(
+			0 => 'color: #7f007f;'
+			),
+		'NUMBERS' => array(
+			0 => 'color: #dd22dd;'
+			),
+		'METHODS' => array(
+			),
+		'SYMBOLS' => array(
+			0 => 'color: #008000;'
+			),
+		'REGEXPS' => array(
+			0 => 'color: #22bbff;',
+			1 => 'color: #22bbff;',
+			2 => 'color: #993333;'
+			),
+		'SCRIPT' => array(
+			)
+		),
+	'URLS' => array(
+		),
+	'OOLANG' => false,
+	'OBJECT_SPLITTERS' => array(
+		),
+	'REGEXPS' => array(
+		0 => '#?0[0-9a-fA-F]{1,32}[hH]',
+		1 => '\%[01]{1,64}[bB]',
+		2 => '^[_a-zA-Z][_a-zA-Z0-9]{0,50}\:'
+		),
+	'STRICT_MODE_APPLIES' => GESHI_NEVER,
+	'SCRIPT_DELIMITERS' => array(
+		),
+	'HIGHLIGHT_STRICT_BLOCK' => array(
+        ),
+    'TAB_WIDTH' => 8
+);
+
+?>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/plugins/geshi/geshi/matlab.php	Sun Feb 10 18:10:52 2008 -0500
@@ -0,0 +1,867 @@
+<?php
+/*************************************************************************************
+ * matlab.php
+ * -----------
+ * Author: Florian Knorn (floz@gmx.de)
+ * Copyright: (c) 2004 Florian Knorn (http://www.florian-knorn.com)
+ * Release Version: 1.0.7.20
+ * Date Started: 2005/02/09
+ *
+ * Matlab M-file language file for GeSHi. 
+ *
+ * CHANGES
+ * -------
+ * 2006-03-25
+ *   - support for the transpose operator
+ *   - many keywords added
+ *   - links to the matlab documentation at mathworks
+ *      by: Olivier Verdier (olivier.verdier@free.fr)
+ * 2005/05/07 (1.0.0)
+ *   -  First Release
+ *
+ *
+ *************************************************************************************
+ *
+ *     This file is part of GeSHi.
+ *
+ *   GeSHi is free software; you can 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.
+ *
+ *   GeSHi is distributed in the hope that it will be useful,
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *   GNU General Public License for more details.
+ *
+ *   You should have received a copy of the GNU General Public License
+ *   along with GeSHi; if not, write to the Free Software
+ *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
+ ************************************************************************************/
+
+$language_data = array (
+	'LANG_NAME' => 'Matlab M',
+	'COMMENT_SINGLE' => array(1 => '%'),
+	'COMMENT_MULTI' => array(),
+	'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+	'QUOTEMARKS' => array(),
+	'ESCAPE_CHAR' => '',
+	'KEYWORDS' => array(
+		1 => array(
+			'break', 'case', 'catch', 'continue', 'elseif', 'else', 'end', 'for', 
+			'function', 'global', 'if', 'otherwise', 'persistent', 'return', 
+			'switch', 'try', 'while','...'
+			),
+        2 => array(
+                            'all',
+							'any',
+							'exist',
+							'find',
+							'is',
+							'isa',
+							'logical',
+							'mislocked',
+							
+							'builtin',
+							'eval',
+							'evalc',
+							'evalin',
+							'feval',
+							'function',
+							'global',
+							'nargchk',
+							'persistent',
+							'script',
+							'break',
+							'case',
+							'catch',
+							'else',
+							'elseif',
+							'end',
+							'error',
+							'for',
+							'if',
+							'otherwise',
+							'return',
+							'switch',
+							'try',
+							'warning',
+							'while',
+							'input',
+							'keyboard',
+							'menu',
+							'pause',
+							'class',
+							'double',
+							'inferiorto',
+							'inline',
+							'int8',
+							'int16',
+							'int32',
+							'isa',
+							'loadobj',
+							'saveobj',
+							'single',
+							'superiorto',
+							'uint8',
+							'int16',
+							'uint32',
+							'dbclear',
+							'dbcont',
+							'dbdown',
+							'dbmex',
+							'dbquit',
+							'dbstack',
+							'dbstatus',
+							'dbstep',
+							'dbstop',
+							'dbtype',
+							'dbup',
+								
+							'blkdiag',
+							'eye',
+							'linspace',
+							'logspace',
+							'ones',
+							'rand',
+							'randn',
+							'zeros',
+							'ans',
+							'computer',
+							'eps',
+							'flops',
+							'i',
+							'Inf',
+							'inputname',
+							'j',
+							'NaN',
+							'nargin',
+							'nargout',
+							'pi',
+							'realmax',
+							'realmin',
+							'varargin',
+							'varargout',
+							'calendar',
+							'clock',
+							'cputime',
+							'date',
+							'datenum',
+							'datestr',
+							'datevec',
+							'eomday',
+							'etime',
+							'now',
+							'tic',
+							'toc',
+							'weekday',
+							'cat',
+							'diag',
+							'fliplr',
+							'flipud',
+							'repmat',
+							'reshape',
+							'rot90',
+							'tril',
+							'triu',
+							'compan',
+							'gallery',
+							'hadamard',
+							'hankel',
+							'hilb',
+							'invhilb',
+							'magic',
+							'pascal',
+							'toeplitz',
+							'wilkinson',
+							'abs',
+							'acos',
+							'acosh',
+							'acot',
+							'acoth',
+							'acsc',
+							'acsch',
+							'angle',
+							'asec',
+							'asech',
+							'asin',
+							'asinh',
+							'atan',
+							'atanh',
+							'atan2',
+							'ceil',
+							'complex',
+							'conj',
+							'cos',
+							'cosh',
+							'cot',
+							'coth',
+							'csc',
+							'csch',
+							'exp',
+							'fix',
+							'floor',
+							'gcd',
+							'imag',
+							'lcm',
+							'log',
+							'log2',
+							'log10',
+							'mod',
+							'nchoosek',
+							'real',
+							'rem',
+							'round',
+							'sec',
+							'sech',
+							'sign',
+							'sin',
+							'sinh',
+							'sqrt',
+							'tan',
+							'tanh',
+							'airy',
+							'besselh',
+							'besseli',
+							'besselk',
+							'besselj',
+							'Bessely',
+							'beta',
+							'betainc',
+							'betaln',
+							'ellipj',
+							'ellipke',
+							'erf',
+							'erfc',
+							'erfcx',
+							'erfiny',
+							'expint',
+							'factorial',
+							'gamma',
+							'gammainc',
+							'gammaln',
+							'legendre',
+							'pow2',
+							'rat',
+							'rats',
+							'cart2pol',
+							'cart2sph',
+							'pol2cart',
+							'sph2cart',
+							'abs',
+							'eval',
+							'real',
+							'strings',
+							'deblank',
+							'findstr',
+							'lower',
+							'strcat',
+							'strcmp',
+							'strcmpi',
+							'strjust',
+							'strmatch',
+							'strncmp',
+							'strrep',
+							'strtok',
+							'strvcat',
+							'symvar',
+							'texlabel',
+							'upper',
+							'char',
+							'int2str',
+							'mat2str',
+							'num2str',
+							'sprintf',
+							'sscanf',
+							'str2double',
+							'str2num',
+							'bin2dec',
+							'dec2bin',
+							'dec2hex',
+							'hex2dec',
+							'hex2num',
+							'fclose',
+							'fopen',
+							'fread',
+							'fwrite',
+							'fgetl',
+							'fgets',
+							'fprintf',
+							'fscanf',
+							'feof',
+							'ferror',
+							'frewind',
+							'fseek',
+							'ftell',
+							'sprintf',
+							'sscanf',
+							'dlmread',
+							'dlmwrite',
+							'hdf',
+							'imfinfo',
+							'imread',
+							'imwrite',
+							'textread',
+							'wk1read',
+							'wk1write',
+							'bitand',
+							'bitcmp',
+							'bitor',
+							'bitmax',
+							'bitset',
+							'bitshift',
+							'bitget',
+							'bitxor',
+							'fieldnames',
+							'getfield',
+							'rmfield',
+							'setfield',
+							'struct',
+							'struct2cell',
+							'class',
+							'isa',
+							'cell',
+							'cellfun',
+							'cellstr',
+							'cell2struct',
+							'celldisp',
+							'cellplot',
+							'num2cell',
+							'cat',
+							'flipdim',
+							'ind2sub',
+							'ipermute',
+							'ndgrid',
+							'ndims',
+							'permute',
+							'reshape',
+							'shiftdim',
+							'squeeze',
+							'sub2ind',
+							'cond',
+							'condeig',
+							'det',
+							'norm',
+							'null',
+							'orth',
+							'rank',
+							'rcond',
+							'rref',
+							'rrefmovie',
+							'subspace',
+							'trace',
+							'chol',
+							'inv',
+							'lscov',
+							'lu',
+							'nnls',
+							'pinv',
+							'qr',
+							'balance',
+							'cdf2rdf',
+							'eig',
+							'gsvd',
+							'hess',
+							'poly',
+							'qz',
+							'rsf2csf',
+							'schur',
+							'svd',
+							'expm',
+							'funm',
+							'logm',
+							'sqrtm',
+							'qrdelete',
+							'qrinsert',
+							'bar',
+							'barh',
+							'hist',
+							'hold',
+							'loglog',
+							'pie',
+							'plot',
+							'polar',
+							'semilogx',
+							'semilogy',
+							'subplot',
+							'bar3',
+							'bar3h',
+							'comet3',
+							'cylinder',
+							'fill3',
+							'plot3',
+							'quiver3',
+							'slice',
+							'sphere',
+							'stem3',
+							'waterfall',
+							'clabel',
+							'datetick',
+							'grid',
+							'gtext',
+							'legend',
+							'plotyy',
+							'title',
+							'xlabel',
+							'ylabel',
+							'zlabel',
+							'contour',
+							'contourc',
+							'contourf',
+							'hidden',
+							'meshc',
+							'mesh',
+							'peaks',
+							'surf',
+							'surface',
+							'surfc',
+							'surfl',
+							'trimesh',
+							'trisurf',
+							'coneplot',
+							'contourslice',
+							'isocaps',
+							'isonormals',
+							'isosurface',
+							'reducepatch',
+							'reducevolume',
+							'shrinkfaces',
+							'smooth3',
+							'stream2',
+							'stream3',
+							'streamline',
+							'surf2patch',
+							'subvolume',
+							'griddata',
+							'meshgrid',
+							'area',
+							'box',
+							'comet',
+							'compass',
+							'errorbar',
+							'ezcontour',
+							'ezcontourf',
+							'ezmesh',
+							'ezmeshc',
+							'ezplot',
+							'ezplot3',
+							'ezpolar',
+							'ezsurf',
+							'ezsurfc',
+							'feather',
+							'fill',
+							'fplot',
+							'pareto',
+							'pie3',
+							'plotmatrix',
+							'pcolor',
+							'rose',
+							'quiver',
+							'ribbon',
+							'stairs',
+							'scatter',
+							'scatter3',
+							'stem',
+							'convhull',
+							'delaunay',
+							'dsearch',
+							'inpolygon',
+							'polyarea',
+							'tsearch',
+							'voronoi',
+							'camdolly',
+							'camlookat',
+							'camorbit',
+							'campan',
+							'campos',
+							'camproj',
+							'camroll',
+							'camtarget',
+							'camup',
+							'camva',
+							'camzoom',
+							'daspect',
+							'pbaspect',
+							'view',
+							'viewmtx',
+							'xlim',
+							'ylim',
+							'zlim',
+							'camlight',
+							'diffuse',
+							'lighting',
+							'lightingangle',
+							'material',
+							'specular',
+							'brighten',
+							'bwcontr',
+							'caxis',
+							'colorbar',
+							'colorcube',
+							'colordef',
+							'colormap',
+							'graymon',
+							'hsv2rgb',
+							'rgb2hsv',
+							'rgbplot',
+							'shading',
+							'spinmap',
+							'surfnorm',
+							'whitebg',
+							'autumn',
+							'bone',
+							'contrast',
+							'cool',
+							'copper',
+							'flag',
+							'gray',
+							'hot',
+							'hsv',
+							'jet',
+							'lines',
+							'prism',
+							'spring',
+							'summer',
+							'winter',
+							'orient',
+							'print',
+							'printopt',
+							'saveas',
+							'copyobj',
+							'findobj',
+							'gcbo',
+							'gco',
+							'get',
+							'rotate',
+							'ishandle',
+							'set',
+							'axes',
+							'figure',
+							'image',
+							'light',
+							'line',
+							'patch',
+							'rectangle',
+							'surface',
+							'text Create',
+							'uicontext Create',
+							'capture',
+							'clc',
+							'clf',
+							'clg',
+							'close',
+							'gcf',
+							'newplot',
+							'refresh',
+							'saveas',
+							'axis',
+							'cla',
+							'gca',
+							'propedit',
+							'reset',
+							'rotate3d',
+							'selectmoveresize',
+							'shg',
+							'ginput',
+							'zoom',
+							'dragrect',
+							'drawnow',
+							'rbbox',
+							'dialog',
+							'errordlg',
+							'helpdlg',
+							'inputdlg',
+							'listdlg',
+							'msgbox',
+							'pagedlg',
+							'printdlg',
+							'questdlg',
+							'uigetfile',
+							'uiputfile',
+							'uisetcolor',
+							'uisetfont',
+							'warndlg',
+							'menu',
+							'menuedit',
+							'uicontextmenu',
+							'uicontrol',
+							'uimenu',
+							'dragrect',
+							'findfigs',
+							'gcbo',
+							'rbbox',
+							'selectmoveresize',
+							'textwrap',
+							'uiresume',
+							'uiwait Used',
+							'waitbar',
+							'waitforbuttonpress',
+							'convhull',
+							'cumprod',
+							'cumsum',
+							'cumtrapz',
+							'delaunay',
+							'dsearch',
+							'factor',
+							'inpolygon',
+							'max',
+							'mean',
+							'median',
+							'min',
+							'perms',
+							'polyarea',
+							'primes',
+							'prod',
+							'sort',
+							'sortrows',
+							'std',
+							'sum',
+							'trapz',
+							'tsearch',
+							'var',
+							'voronoi',
+							'del2',
+							'diff',
+							'gradient',
+							'corrcoef',
+							'cov',
+							'conv',
+							'conv2',
+							'deconv',
+							'filter',
+							'filter2',
+							'abs',
+							'angle',
+							'cplxpair',
+							'fft',
+							'fft2',
+							'fftshift',
+							'ifft',
+							'ifft2',
+							'ifftn',
+							'ifftshift',
+							'nextpow2',
+							'unwrap',
+							'cross',
+							'intersect',
+							'ismember',
+							'setdiff',
+							'setxor',
+							'union',
+							'unique',
+							'conv',
+							'deconv',
+							'poly',
+							'polyder',
+							'polyeig',
+							'polyfit',
+							'polyval',
+							'polyvalm',
+							'residue',
+							'roots',
+							'griddata',
+							'interp1',
+							'interp2',
+							'interp3',
+							'interpft',
+							'interpn',
+							'meshgrid',
+							'ndgrid',
+							'spline',
+							'dblquad',
+							'fmin',
+							'fmins',
+							'fzero',
+							'ode45,',
+							'ode113,',
+							'ode15s,',
+							'ode23s,',
+							'ode23t,',
+							'ode23tb',
+							'odefile',
+							'odeget',
+							'odeset',
+							'quad,',
+							'vectorize',
+							'spdiags',
+							'speye',
+							'sprand',
+							'sprandn',
+							'sprandsym',
+							'find',
+							'full',
+							'sparse',
+							'spconvert',
+							'nnz',
+							'nonzeros',
+							'nzmax',
+							'spalloc',
+							'spfun',
+							'spones',
+							'colmmd',
+							'colperm',
+							'dmperm',
+							'randperm',
+							'symmmd',
+							'symrcm',
+							'condest',
+							'normest',
+							'bicg',
+							'bicgstab',
+							'cgs',
+							'cholinc',
+							'cholupdate',
+							'gmres',
+							'luinc',
+							'pcg',
+							'qmr',
+							'qr',
+							'qrdelete',
+							'qrinsert',
+							'qrupdate',
+							'eigs',
+							'svds',
+							'spparms',
+							'lin2mu',
+							'mu2lin',
+							'sound',
+							'soundsc',
+							'auread',
+							'auwrite',
+							'wavread',
+							'wavwrite',
+							'[Keywords 6]',
+							'addpath',
+							'doc',
+							'docopt',
+							'help',
+							'helpdesk',
+							'helpwin',
+							'lasterr',
+							'lastwarn',
+							'lookfor',
+							'partialpath',
+							'path',
+							'pathtool',
+							'profile',
+							'profreport',
+							'rmpath',
+							'type',
+							'ver',
+							'version',
+							'web',
+							'what',
+							'whatsnew',
+							'which',
+							'clear',
+							'disp',
+							'length',
+							'load',
+							'mlock',
+							'munlock',
+							'openvar',
+							'pack',
+							'save',
+							'saveas',
+							'size',
+							'who',
+							'whos',
+							'workspace',
+							'clc',
+							'echo',
+							'format',
+							'home',
+							'more',
+							'cd',
+							'copyfile',
+							'delete',
+							'diary',
+							'dir',
+							'edit',
+							'fileparts',
+							'fullfile',
+							'inmem',
+							'ls',
+							'matlabroot',
+							'mkdir',
+							'open',
+							'pwd',
+							'tempdir',
+							'tempname',
+							'matlabrc',
+							'quit',                            
+)
+		),
+	'SYMBOLS' => array( 
+		'...' 
+		),
+	'CASE_SENSITIVE' => array(
+		GESHI_COMMENTS => true,
+		1 => false,
+		2 => false,
+		//3 => false,
+		//4 => false,
+		),
+	'STYLES' => array(
+		'KEYWORDS' => array(
+			1 => 'color: #0000FF;',
+            2 => 'color: #0000FF;'
+			),
+		'COMMENTS' => array(
+			1 => 'color: #228B22;',
+			),
+		'ESCAPE_CHAR' => array(
+            0 => ''
+			),
+		'BRACKETS' => array(
+            0 => 'color: #080;'
+			),
+		'STRINGS' => array(
+			//0 => 'color: #A020F0;'
+			),
+		'NUMBERS' => array(
+            0 => 'color: #33f;'
+			),
+		'METHODS' => array(
+            1 => '',
+            2 => ''
+			),
+		'SYMBOLS' => array(
+            0 => 'color: #080;'
+			),
+		'REGEXPS' => array(
+            0 => 'color:#A020F0;'
+			),
+		'SCRIPT' => array(
+            0 => ''
+			)
+		),
+	'URLS' => array(
+		1 => '',
+		2 => 'http://www.mathworks.com/access/helpdesk/help/techdoc/ref/{FNAME}.html',
+		3 => '',
+		4 => ''
+		),
+	'OOLANG' => true,
+	'OBJECT_SPLITTERS' => array(
+		1 => '.',
+		2 => '::'
+		),
+	'REGEXPS' => array(
+        0 => array(
+            GESHI_SEARCH => "([^\w])'([^\\n\\r']*)'",
+            GESHI_REPLACE => '\\2',
+            GESHI_MODIFIERS => '',
+            GESHI_BEFORE => "\\1'",
+            GESHI_AFTER => "'"
+		)
+		),
+	'STRICT_MODE_APPLIES' => GESHI_NEVER,
+	'SCRIPT_DELIMITERS' => array(
+		),
+	'HIGHLIGHT_STRICT_BLOCK' => array(
+		)
+);
+
+?>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/plugins/geshi/geshi/mirc.php	Sun Feb 10 18:10:52 2008 -0500
@@ -0,0 +1,154 @@
+<?php
+/*************************************************************************************
+ * mirc.php
+ * -----
+ * Author: Alberto 'Birckin' de Areba (Birckin@hotmail.com)
+ * Copyright: (c) 2006 Alberto de Areba
+ * Release Version: 1.0.7.20
+ * Date Started: 2006/05/29
+ *
+ * mIRC Scripting language file for GeSHi.
+ *
+ * CHANGES
+ * -------
+ * 2006/05/29 (1.0.0)
+ *   -  First Release
+ *
+ *************************************************************************************
+ *
+ *     This file is part of GeSHi.
+ *
+ *   GeSHi is free software; you can 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.
+ *
+ *   GeSHi is distributed in the hope that it will be useful,
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *   GNU General Public License for more details.
+ *
+ *   You should have received a copy of the GNU General Public License
+ *   along with GeSHi; if not, write to the Free Software
+ *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
+ ************************************************************************************/
+
+$language_data = array (
+	'LANG_NAME' => 'mIRC Scripting',
+	'COMMENT_SINGLE' => array(1 => ';'),
+  	'COMMENT_MULTI' => array(),
+	'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+	'QUOTEMARKS' => array(),
+	'ESCAPE_CHAR' => '',
+	'KEYWORDS' => array(
+		1 => array(
+        	'alias', 'menu', 'dialog',
+			),
+		2 => array(
+			'if', 'elseif', 'else', 'while', 'return', 'goto',
+			),
+		3 => array(
+			'/action','/ajinvite','/alias','/amsg','/ame','/anick','/aop',
+			'/auser','/avoice','/auto','/autojoin','/away','/background','/ban',
+			'/beep','/channel','/clear','/clearall','/clipboard','/close',
+			'/closemsg','/color','/copy','/creq','/ctcp','/ctcpreply','/ctcps',
+			'/dcc','/dde','/ddeserver','/debug','/describe','/disable',
+			'/disconnect','/dlevel','/dll','/dns','/dqwindow','/ebeeps','/echo',
+			'/editbox','/emailaddr','/enable','/events','/exit','/filter',
+			'/findtext','/finger','/flash','/flood','/flush','/flushini',
+			'/font','/fsend','/fserve','/fullname','/ghide','/gload','/gmove',
+			'/gopts','/gplay','/gpoint','/gqreq','/groups','/gshow','/gsize',
+			'/gstop','/gtalk','/gunload','/guser','/help','/hop','/ignore',
+			'/invite','/join','/kick','/linesep','/links','/list','/load',
+			'/loadbuf','/localinfo','/log','/me','/mdi','/mkdir','/mnick',
+			'/mode','/msg','/names','/nick','/noop','/notice','/notify',
+			'/omsg','/onotice','/part','/partall','/pdcc','/perform','/ping',
+			'/play','/pop','/protect','/pvoice','/qmsg','/qme','/query',
+			'/queryrn','/quit','/raw','/remini','/remote','/remove','/rename',
+			'renwin','/resetidle','/rlevel','/rmdir','/run','/ruser','/save',
+			'/savebuf','/save','/saveini','/say','/server','/showmirc','/sline',
+			'/sound','/speak','/splay','/sreq','/strip','/time',
+			//'/timer[N/name]', //Handled as a regular expression below ...
+			'/timers','/timestamp','/titlebar','/tnick','/tokenize','/topic',
+			'/ulist','/unload','/updatenl','/url','/uwho','window','/winhelp',
+			'/write','/writeini','/who','/whois','/whowas'
+			)
+		),
+	'SYMBOLS' => array(
+		'(', ')', '{', '}', '[', ']', '|',
+		),
+	'CASE_SENSITIVE' => array(
+		GESHI_COMMENTS => true,
+		1 => false,
+		2 => false,
+		),
+	'STYLES' => array(
+		'KEYWORDS' => array(
+			1 => 'color: #994444;',
+			2 => 'color: #000000; font-weight: bold;',
+			3 => 'color: #990000; font-weight: bold;',
+			),
+		'COMMENTS' => array(
+			1 => 'color: #808080; font-style: italic;',
+			),
+		'ESCAPE_CHAR' => array(
+			),
+		'BRACKETS' => array(
+			0 => 'color: #FF0000;',
+			),
+		'STRINGS' => array(
+			),
+        'NUMBERS' => array(
+            0 => '',
+			),
+		'METHODS' => array(
+			),
+		'SYMBOLS' => array(
+			0 => 'color: #FF0000;',
+			),
+		'REGEXPS' => array(
+			0 => 'color: #000099;',
+			1 => 'color: #990000;',
+			2 => 'color: #888800;',
+			3 => 'color: #888800;',
+			4 => 'color: #000099;',
+			5 => 'color: #000099;',
+			6 => 'color: #990000; font-weight: bold;',
+			),
+		'SCRIPT' => array(
+			)
+		),
+	'URLS' => array(
+		1 => '',
+		2 => '',
+		3 => 'http://www.mirc.com/{FNAME}',
+		4 => ''
+		),
+	'OOLANG' => false,
+	'OBJECT_SPLITTERS' => array(
+		),
+	'REGEXPS' => array(
+		0 => '\$[^$][^ ,\(\)]*',
+		1 => '(%|&).+?[^ ,\)]*',
+		2 => '(#|@).+?[^ ,\)]*',
+		3 => '-[a-z\d]+',
+		4 => '(on|ctcp) (!|@|&)?(\d|\*):[a-zA-Z]+:',
+		/*4 => array(
+			GESHI_SEARCH => '((on|ctcp) (!|@|&)?(\d|\*):(Action|Active|Agent|AppActive|Ban|Chat|Close|Connect|Ctcp|CtcpReply|DccServer|DeHelp|DeOp|DeVoice|Dialog|Dns|Error|Exit|FileRcvd|FileSent|GetFail|Help|Hotlink|Input|Invite|Join|KeyDown|KeyUp|Kick|Load|Logon|MidiEnd|Mode|Mp3End|Nick|NoSound|Notice|Notify|Op|Open|Part|Ping|Pong|PlayEnd|Quit|Raw|RawMode|SendFail|Serv|ServerMode|ServerOp|Signal|Snotice|Start|Text|Topic|UnBan|Unload|Unotify|User|Mode|Voice|Wallops|WaveEnd):)',
+			GESHI_REPLACE => '\\1',
+			GESHI_MODIFIERS => 'i',
+			GESHI_BEFORE => '',
+			GESHI_AFTER => ''
+			),*/
+        5 => 'raw (\d|\*):',
+		6 => '\/timer(?!s\b)[0-9a-zA-Z_]+',
+		),
+	'STRICT_MODE_APPLIES' => GESHI_NEVER,
+	'SCRIPT_DELIMITERS' => array(
+		),
+	'HIGHLIGHT_STRICT_BLOCK' => array(
+		)
+);
+
+?>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/plugins/geshi/geshi/mpasm.php	Sun Feb 10 18:10:52 2008 -0500
@@ -0,0 +1,158 @@
+<?php
+/*************************************************************************************
+ * mpasm.php
+ * ---------
+ * Author: Bakalex (bakalex@gmail.com)
+ * Copyright: (c) 2004 Bakalex, Nigel McNie (http://qbnz.com/highlighter)
+ * Release Version: 1.0.7.20
+ * Date Started: 2004/12/6
+ *
+ * Microchip Assembler language file for GeSHi.
+ *
+ * CHANGES
+ * -------
+ * 2005/01/29 (1.0.0)
+ *  - First Release
+ *
+ * TODO (updated 2005/12/6)
+ * -------------------------
+ *
+ * For the moment, i've only added PIC16C6X registers. We need more (PIC16F/C7x/8x,
+ * PIC10, PIC18 and dsPIC registers).
+ * Must take a look to dsPIC instructions.
+ *
+ *************************************************************************************
+ *
+ *     This file is part of GeSHi.
+ *
+ *   GeSHi is free software; you can 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.
+ *
+ *   GeSHi is distributed in the hope that it will be useful,
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *   GNU General Public License for more details.
+ *
+ *   You should have received a copy of the GNU General Public License
+ *   along with GeSHi; if not, write to the Free Software
+ *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
+ ************************************************************************************/
+
+$language_data = array (
+	'LANG_NAME' => 'Microchip Assembler',
+	'COMMENT_SINGLE' => array(1 => ';'),
+	'COMMENT_MULTI' => array(),
+	'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+	'QUOTEMARKS' => array("'", '"'),
+	'ESCAPE_CHAR' => '',
+	'KEYWORDS' => array(
+		/*Directive Language*/
+		4 => array(
+			'CONSTANT', '#DEFINE', 'END', 'EQU', 'ERROR', 'ERROR-LEVEL', '#INCLUDE', 'LIST',
+			'MESSG', 'NOLIST', 'ORG', 'PAGE', 'PROCESSOR', 'RADIX', 'SET', 'SPACE', 'SUBTITLE',
+			'TITLE', '#UNDEFINE', 'VARIABLE', 'ELSE', 'ENDIF', 'ENDW', 'IF', 'IFDEF', 'IFNDEF',
+			'WHILE', '__BADRAM', 'CBLOCK', '__CONFIG', 'DA', 'DATA', 'DB', 'DE', 'DT', 'DW',
+			'ENDC', 'FILL', '__IDLOCS', '__MAXRAM', 'RES', 'ENDM', 'EXITM', 'EXPAND', 'LOCAL',
+			'MACRO', 'NOEXPAND', 'BANKISEL', 'BANKSEL', 'CODE', 'EXTERN', 'GLOBAL', 'IDATA',
+			'PAGESEL', 'UDATA', 'UDATA_ACS', 'UDATA_OVR', 'UDATA_SHR'
+		  ),
+		/* 12&14-bit Specific Instruction Set*/
+		1 => array(
+			'andlw', 'call', 'clrwdt', 'goto', 'iorlw', 'movlw', 'option', 'retlw', 'sleep',
+			'tris', 'xorlw', 'addwf', 'andwf', 'clrf', 'clrw', 'comf', 'decf', 'decfsz', 'incf',
+			'incfsz', 'iorwf', 'movf', 'movwf', 'nop', 'rlf', 'rrf', 'subwf', 'swapf', 'xorwf',
+			'bcf', 'bsf', 'btfsc', 'btfss',
+			'addlw', 'iorlw', 'retfie', 'return', 'sublw', 'xorlw', 'addcf', 'adddcf', 'b', 'bc', 'bdc',
+			'bnc', 'bndc', 'bnz', 'bz', 'clrc', 'clrdc', 'clrz', 'lcall', 'lgoto', 'movfw',
+			'negf', 'setc', 'setdc', 'setz', 'skpc', 'skpdc', 'skpnc', 'skpndc', 'skpnz', 'skpz',
+			'subcf', 'subdcf', 'tstf'
+		    ),
+		/* 16-bit Specific Instructiob Set */
+		2 => array (
+			'movfp', 'movlb', 'movlp', 'movpf', 'movwf', 'tablrd', 'tablwt', 'tlrd', 'tlwt',
+			'addwfc', 'daw', 'mullw', 'negw', 'rlcf', 'rlncf', 'rrcf', 'rrncf', 'setf', 'subwfb',
+			'btg', 'cpfseq', 'cpfsgt', 'cpfslt', 'dcfsnz', 'infsnz', 'tstfsz', 'lfsr', 'bnn',
+			'bnov', 'bra', 'pop', 'push', 'rcall', 'reset'
+		    ),
+		/* Registers */
+		3 => array(
+			'INDF', 'TMR0', 'PCL', 'STATUS', 'FSR', 'PORTA', 'PORTB', 'PORTC', 'PORTD', 'PORTE',
+			'PCLATH', 'INTCON', 'PIR1', 'PIR2', 'TMR1L', 'TMR1H', 'T1CON', 'TMR2', 'T2CON', 'TMR2L',
+			'TMR2H', 'TMR0H', 'TMR0L', 'SSPBUF', 'SSPCON', 'CCPR1L', 'CCPR1H', 'CCP1CON', 'RCSTA',
+			'TXREG', 'RCREG', 'CCPR2L', 'CCPR2H', 'CCP2CON', 'OPTION', 'TRISA', 'TRISB', 'TRISC',
+			'TRISD', 'TRISE', 'PIE2', 'PIE1', 'PR2', 'SSPADD', 'SSPSTAT', 'TXSTA', 'SPBRG'
+		    ),
+		/*Operands*/
+		5 => array(
+			 'high','low'
+			)
+		),
+	'SYMBOLS' => array(
+		'[', ']', '(', ')'
+		),
+	'CASE_SENSITIVE' => array(
+		GESHI_COMMENTS => true,
+		1 => false,
+		2 => false,
+		3 => false,
+		4 => false,
+		5 => false
+		),
+	'STYLES' => array(
+		'KEYWORDS' => array(
+			1 => 'color: #00007f;',
+			2 => 'color: #0000ff;',
+			3 => 'color: #007f00;',
+			4 => 'color: #46aa03; font-weight:bold;',
+			5 => 'color: #7f0000;',
+			6 => 'color: #7f0000;'
+			),
+		'COMMENTS' => array(
+			1 => 'color: #adadad; font-style: italic;',
+			),
+		'ESCAPE_CHAR' => array(
+			0 => 'color: #000099; font-weight: bold;'
+			),
+		'BRACKETS' => array(
+			0 => 'color: #66cc66;'
+			),
+		'STRINGS' => array(
+			0 => 'color: #7f007f;'
+			),
+		'NUMBERS' => array(
+			0 => 'color: #ff0000;'
+			),
+		'METHODS' => array(
+			),
+		'SYMBOLS' => array(
+			0 => 'color: #66cc66;'
+			),
+		'REGEXPS' => array(
+			0 => 'color: #ff0000;',
+			1 => 'color: #ff0000;'
+			),
+		'SCRIPT' => array(
+			)
+		),
+	'URLS' => array(
+		1 => '',
+		2 => ''
+		),
+	'OOLANG' => false,
+	'OBJECT_SPLITTERS' => array(
+		),
+	'REGEXPS' => array(
+		0 => '[0-9a-fA-F]{1,32}[hH]',
+		1 => '[01]{1,64}[bB]'
+		),
+	'STRICT_MODE_APPLIES' => GESHI_NEVER,
+	'SCRIPT_DELIMITERS' => array(
+		),
+	'HIGHLIGHT_STRICT_BLOCK' => array(
+		)
+);
+
+?>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/plugins/geshi/geshi/mysql.php	Sun Feb 10 18:10:52 2008 -0500
@@ -0,0 +1,181 @@
+<?php 
+ /************************************************************************************* 
+ * mysql.php 
+ * --------- 
+ * Author: Carl F�rstenberg (azatoth@gmail.com) 
+ * Copyright: (c) 2005 Carl F�rstenberg, Nigel McNie (http://qbnz.com/highlighter) 
+ * Release Version: 1.0.7.20
+ * Date Started: 2004/06/04 
+ * 
+ * MySQL language file for GeSHi. 
+ * 
+ * 
+ ************************************************************************************* 
+ * 
+ * This file is part of GeSHi. 
+ * 
+ * GeSHi is free software; you can 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. 
+ * 
+ * GeSHi is distributed in the hope that it will be useful, 
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of 
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 
+ * GNU General Public License for more details. 
+ * 
+ * You should have received a copy of the GNU General Public License 
+ * along with GeSHi; if not, write to the Free Software 
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 
+ * 
+ ************************************************************************************/ 
+  
+$language_data = array ( 
+  'LANG_NAME' => 'MySQL', 
+  'COMMENT_SINGLE' => array(1 =>'--', 2 => '#'), 
+  'COMMENT_MULTI' => array('/*' => '*/'), 
+  'CASE_KEYWORDS' => 1, 
+  'QUOTEMARKS' => array("'", '"', ''), 
+  'ESCAPE_CHAR' => '\\', 
+  'KEYWORDS' => array( 
+  1 => array( 
+  /* Mix */ 
+  'ALTER DATABASE', 'ALTER TABLE', 'CREATE DATABASE', 'CREATE INDEX', 'CREATE TABLE', 'DROP DATABASE', 
+  'DROP INDEX', 'DROP TABLE', 'RENAME TABLE', 'DELETE', 'DO', 'HANDLER', 'INSERT', 'LOAD DATA INFILE',  
+  'REPLACE', 'SELECT', 'TRUNCATE', 'UPDATE', 'DESCRIBE', 'USE', 'START TRANSACTION', 'COMMIT', 'ROLLBACK', 
+  'SAVEPOINT', 'ROLLBACK TO SAVEPOINT', 'LOCK TABLES', 'UNLOCK_TABLES', 'SET TRANACTIONS', 'SET', 'SHOW', 
+  'CREATE PROCEDURE', 'CREATE FUNCTION', 'ALTER PROCEDURE', 'ALTER FUNCTION', 'DROP PROCEDURE', 'DROP FUNCTION',  
+  'SHOW CREATE PROCEDURE', 'SHOW CREATE FUNCTION', 'SHOW PROCEDURE STATUS', 'SHOW FUNCTION STATUS',  
+  'CALL', 'BEGIN', 'END', 'DECLARE', 'CREATE ROUTINE', 'ALTER ROUTINE', 'CREATE', 'ALTER', 'DROP', 
+  'PRIMARY KEY', 'VALUES', 'INTO', 'FROM',  
+  'ANALYZE', 'BDB', 'BERKELEYDB', 'BTREE', 'BY', 'CASCADE', 'CHECK', 'COLUMN', 'COLUMNS', 'CONSTRAINT', 
+  'CROSS', 'DATABASES', 'DELAYED', 'DISTINCT', 'DISTINCTROW', 'ENCLOSED', 'ERRORS', 'ESCAPED', 'EXISTS', 
+  'EXPLAIN', 'FALSE', 'FIELDS', 'FORCE', 'FOREIGN', 'FULLTEXT', 'GEOMETRY', 'GRANT', 'GROUP', 'HASH', 
+  'HAVING', 'HELP', 'HIGH_PRIORITY', 'IGNORE', 'INNER', 'INNODB', 'INTERVAL', 'JOIN', 'KEYS', 'KILL', 
+  'LINES', 'LOW_PRIORITY', 'MASTER_SERVER_ID', 'MATCH', 'MIDDLEINT', 'MRG_MYISAM', 'NATURAL', 'OPTIMIZE', 
+  'OPTION', 'OPTIONALLY', 'ORDER', 'OUTER', 'OUTFILE', 'PRIVILEGES', 'PURGE', 'READ', 'REFERENCES', 
+  'REQUIRE', 'RESTRICT', 'RETURNS', 'REVOKE', 'RLIKE', 'RTREE', 'SOME', 'SONAME', 'SPATIAL', 'SQL_BIG_RESULT',  
+  'SQL_CALC_FOUND_ROWS', 'SQL_SMALL_RESULT', 'SSL', 'STARTING', 'STRAIGHT_JOIN', 'STRIPED', 'TERMINATED',  
+  'TRUE', 'TYPES', 'UNION', 'USAGE', 'USER_RESOURCES', 'USING', 'VARCHARACTER', 'WARNINGS', 'WHERE', 'WRITE', 
+  /* Control Flow Functions */ 
+  'CASE', 'WHEN', 'THEN', 'ELSE', 'END', 
+  /* String Functions */ 
+  'UNHEX', 'BIN', 'BIT_LENGTH', 'CHAR_LENGTH', 'CHARACTER_LENGTH', 'COMPRESS', 'CONCAT', 
+  'CONCAT_WS', 'CONV', 'ELT', 'EXPORT_SET', 'FIELD', 'FIND_IN_SET', 'FORMAT', 'HEX',  
+  'INSERT', 'INSTR', 'LCASE', 'LEFT', 'LENGTH', 'LOAD_FILE', 'LOCATE', 'LOWER', 'LPAD', 
+  'LTRIM', 'MAKE_SET', 'MID', 'OCT', 'OCTET_LENGTH', 'ORD', 'POSITION', 'QUOTE', 'REPEAT', 
+  'REPLACE', 'REVERSE', 'RIGHT', 'RPAD', 'RTRIM', 'SOUNDEX', 'SPACE', 'SUBSTRING',  
+  'SUBSTRING_INDEX', 'TRIM', 'UCASE', 'UPPER', 'UNCOMPRESS', 'UNCOMPRESSD_LENGTH',
+  'MD5', 'SHA1',  
+  /* Numeric Functions */ 
+  'ABS', 'ACOS', 'ASIN', 'ATAN', 'ATAN2', 'CEILING', 'CEIL', 'COS', 'COT', 'CRC32', 'DEGREES', 
+  'EXP', 'FLOOR', 'LN', 'LOG', 'LOG2', 'LOG10', 'MOD', 'PI', 'POW', 'POWER', 'RADIANS', 'RAND', 
+  'ROUND', 'SIGN', 'SIN', 'SQRT', 'TAN', 'TRUNCATE', 
+  /* Date and Time Functions */ 
+  'ADDDATE', 'ADDTIME', 'CONVERT_TZ', 'CURDATE', 'CURRENT_DATE', 'CURTIME', 'CURRENT_TIME', 
+  'CURRENT_TIMESTAMP', 'DATEDIFF', 'DATE_ADD', 'DATE_SUB', 'DATE_FORMAT', 'DAY',  
+  'DAYNAME', 'DAYOFMONTH', 'DAYOFWEEK', 'DAYOFYEAR', 'EXTRACT', 'FROM_DAYS', 'FROM_UNIXTIME', 
+  'GET_FORMAT', 'LAST_DAY', 'LOCALTIME', 'LOCALTIMESTAMP', 'MAKEDATE', 'MAKETIME',  
+  'MICROSECOND', 'MONTHNAME', 'NOW', 'PERIOD_ADD', 'PERIOD_DIFF', 'QUARTER', 
+  'SECOND', 'SEC_TO_TIME', 'STR_TO_DATE', 'SUBDATE', 'SUBTIME', 'SYSDATE', 'TIME', 'TIMEDIFF', 
+  'TIMESTAMP', 'TIMESTAMPADD', 'TIMESTAMPDIFF', 'TIME_FORMAT', 'TIME_TO_SEC', 'TO_DAYS',  
+  'UNIX_TIMESTAMP', 'UTC_DATE', 'UTC_TIME', 'UTC_TIMESTAMP', 'WEEKDAY', 'WEEKOFYEAR', 
+  'YEARWEEK', 
+   
+   ), 
+   2 => array( 
+   'INTEGER', 'SMALLINT', 'DECIMAL', 'NUMERIC', 'FLOAT', 'REAL', 'DOUBLE PRECISION', 
+   'DOUBLE', 'INT', 'DEC', 'BIT' ,'TINYINT', 'SMALLINT', 'MEDIUMINT', 'BIGINT',  
+   'DATETIME', 'DATE', 'TIMESTAMP', 'TIME', 'YEAR',  
+   'CHAR', 'VARCHAR', 'BINARY', 'CHARACTER VARYING', 'VARBINARY', 'TINYBLOB', 'TINYTEXT', 
+   'BLOB', 'TEXT','MEDIUMBLOB', 'MEDIUMTEXT', 'LONGBLOB', 'LONGTEXT', 'ENUM', 'SET', 
+   'SERIAL DEFAULT VALUE', 'SERIAL', 'FIXED' 
+   ), 
+   3 => array( 
+   'ZEROFILL', 'NOT NULL', 'UNSIGNED', 'AUTO_INCREMENT', 'UNIQUE', 'NOT', 'NULL', 'CHARACTER SET', 'CHARSET', 
+   'ASCII', 'UNICODE', 'NATIONAL', 'BOTH', 'LEADING', 'TRAILING','DEFAULT' 
+   ), 
+   4 => array( 
+   'MICROSECOND', 'SECOND', 'MINUTE', 'HOUR', 'DAY', 'WEEK', 'MONTH', 'QUARTER', 'YEAR', 'SECOND_MICROSECOND',  
+   'MINUTE_MICROSECOND', 'MINUTE_SECOND', 'HOUR_MICROSECOND', 'HOUR_SECOND', 'HOUR_MINUTE', 'DAY_MICROSECOND', 
+   'DAY_SECOND', 'DAY_MINUTE', 'DAY_HOUR', 'YEAR_MONTH' 
+   ),
+   5 => array(
+   'OR', 'XOR', 'AND', 'NOT', 'BETWEEN', 'IS', 'LIKE', 'REGEXP', 'IN', 'DIV',
+    'MOD', 'BINARY', 'COLLATE', 'LIMIT', 'OFFSET'
+   ), 
+   ),
+   'SYMBOLS' => array( 
+   ':=', 
+   '||', 'OR', 'XOR', 
+   '&&', 'AND', 
+   'NOT', 
+   'BETWEEN', 'CASE', 'WHEN', 'THEN', 'ELSE', 
+   '=', '<=>', '>=', '>', '<=', '<', '<>', '!=', 'IS', 'LIKE', 'REGEXP', 'IN', 
+   '|', 
+   '&', 
+   '<<', '>>', 
+   '-', '+', 
+   '*', '/', 'DIV', '%', 'MOD', 
+   '^', 
+   '-', '~', 
+   '!', 
+   'BINARY', 'COLLATE', 
+   '(', ')', 
+   ), 
+   'CASE_SENSITIVE' => array( 
+   GESHI_COMMENTS => false, 
+   1 => false, 
+   2 => false, 
+   3 => false, 
+   4 => false, 
+   5 => false
+   ), 
+   'STYLES' => array( 
+   'KEYWORDS' => array( 
+   1 => 'color: #993333; font-weight: bold;', 
+   2 => 'color: #aa9933; font-weight: bold;', 
+   3 => 'color: #aa3399; font-weight: bold;', 
+   4 => 'color: #33aa99; font-weight: bold;',
+   5 => 'color: #993333; font-weight: bold;'
+   ), 
+   'COMMENTS' => array( 
+   'MULTI' => 'color: #808080; font-style: italic;', 
+   1 => 'color: #808080; font-style: italic;', 
+   2 => 'color: #808080; font-style: italic;' 
+   ), 
+   'ESCAPE_CHAR' => array( 
+   0 => 'color: #000099; font-weight: bold;' 
+   ), 
+   'BRACKETS' => array( 
+   0 => 'color: #66cc66;' 
+   ), 
+   'STRINGS' => array( 
+   0 => 'color: #ff0000;' 
+   ), 
+   'NUMBERS' => array( 
+   0 => 'color: #cc66cc;' 
+   ), 
+   'METHODS' => array( 
+   ), 
+   'SYMBOLS' => array( 
+   0 => 'color: #66cc66;' 
+   ), 
+   'SCRIPT' => array( 
+   ), 
+   'REGEXPS' => array( 
+   ) 
+   ), 
+   'OOLANG' => false, 
+   'OBJECT_SPLITTERS' => array( 
+   ), 
+   'REGEXPS' => array( 
+   ), 
+   'STRICT_MODE_APPLIES' => GESHI_NEVER, 
+   'SCRIPT_DELIMITERS' => array( 
+   ), 
+   'HIGHLIGHT_STRICT_BLOCK' => array( 
+   ) 
+);
+
+?>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/plugins/geshi/geshi/nsis.php	Sun Feb 10 18:10:52 2008 -0500
@@ -0,0 +1,352 @@
+<?php
+/*************************************************************************************
+ * nsis.php
+ * --------
+ * Author: deguix (cevo_deguix@yahoo.com.br), Tux (http://tux.a4.cz/)
+ * Copyright: (c) 2005 deguix, 2004 Tux (http://tux.a4.cz/), Nigel McNie (http://qbnz.com/highlighter)
+ * Release Version: 1.0.7.20
+ * Date Started: 2005/12/03
+ *
+ * Nullsoft Scriptable Install System language file for GeSHi.
+ *
+ * CHANGES
+ * -------
+ * 2005/12/03 (2.0.2)
+ *   - Updated to NSIS 2.11.
+ * 2005/06/17 (2.0.1)
+ *   - Updated to NSIS 2.07b0.
+ * 2005/04/05 (2.0.0)
+ *   - Updated to NSIS 2.06.
+ * 2004/11/27 (1.0.2)
+ *   - Added support for multiple object splitters
+ * 2004/10/27 (1.0.1)
+ *   - Added support for URLs
+ * 2004/08/05 (1.0.0)
+ *   - First Release
+ *
+ * TODO (updated 2004/11/27)
+ * -------------------------
+ *
+ *************************************************************************************
+ *
+ *     This file is part of GeSHi.
+ *
+ *   GeSHi is free software; you can 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.
+ *
+ *   GeSHi is distributed in the hope that it will be useful,
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *   GNU General Public License for more details.
+ *
+ *   You should have received a copy of the GNU General Public License
+ *   along with GeSHi; if not, write to the Free Software
+ *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
+ ************************************************************************************/
+
+$language_data = array (
+	'LANG_NAME' => 'NSIS',
+	'COMMENT_SINGLE' => array(1 => ';', 2 => '#'),
+	'COMMENT_MULTI' => array('/*' => '*/'),
+	'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+	'QUOTEMARKS' => array("'",'"','`'),
+	'ESCAPE_CHAR' => '',
+	'KEYWORDS' => array(
+		1 => array(
+			'!appendfile', '!addIncludeDir', '!addplugindir', '!cd', '!define', '!delfile', '!echo', '!else',
+			'!endif', '!error', '!execute', '!ifdef', '!ifmacrodef', '!ifmacrondef', '!ifndef', '!include',
+			'!insertmacro', '!macro', '!macroend', '!packhdr', '!tempfile', '!system', '!undef', '!verbose',
+			'!warning'
+		  ),
+		2 => array(
+			'AddBrandingImage', 'AllowRootDirInstall', 'AutoCloseWindow', 'BGFont',
+			'BGGradient', 'BrandingText', 'Caption', 'ChangeUI', 'CheckBitmap', 'CompletedText', 'ComponentText',
+			'CRCCheck', 'DetailsButtonText', 'DirShow', 'DirText', 'DirVar', 'DirVerify', 'FileErrorText',
+			'Function', 'FunctionEnd', 'Icon', 'InstallButtonText', 'InstallColors', 'InstallDir',
+			'InstallDirRegKey', 'InstProgressFlags', 'InstType', 'LangString', 'LangStringUP', 'LicenseBkColor',
+			'LicenseData', 'LicenseForceSelection', 'LicenseLangString', 'LicenseText', 'LoadLanguageFile',
+			'MiscButtonText', 'Name', 'OutFile', 'Page', 'PageEx', 'PageExEnd', 'Section',
+			'SectionEnd', 'SectionGroup', 'SectionGroupEnd', 'SetCompressor', 'SetFont', 'ShowInstDetails',
+			'ShowUninstDetails', 'SilentInstall', 'SilentUnInstall', 'SpaceTexts', 'SubCaption', 'SubSection',
+			'SubSectionEnd', 'UninstallButtonText', 'UninstallCaption', 'UninstallIcon', 'UninstallSubCaption',
+			'UninstallText', 'UninstPage', 'Var', 'VIAddVersionKey', 'VIProductVersion', 'WindowIcon', 'XPStyle'
+		  ),
+		3 => array(
+			'AddSize', 'AllowSkipFiles', 'AutoCloseWindow', 'FileBufSize', 'GetInstDirError', 'PageCallbacks',
+			'SectionIn', 'SetCompress', 'SetCompressionLevel', 'SetCompressorDictSize',
+			'SetDatablockOptimize', 'SetDateSave', 'SetOverwrite', 'SetPluginUnload'
+		  ),
+		4 => array(
+			'Abort', 'BringToFront', 'Call', 'CallInstDLL', 'ClearErrors', 'CopyFiles','CreateDirectory',
+			'CreateFont', 'CreateShortCut', 'Delete', 'DeleteINISec', 'DeleteINIStr', 'DeleteRegKey',
+			'DeleteRegValue', 'DetailPrint', 'EnableWindow', 'EnumRegKey', 'EnumRegValue', 'Exch', 'Exec',
+			'ExecShell', 'ExecWait', 'ExpandEnvStrings', 'File', 'FileClose', 'FileOpen', 'FileRead',
+			'FileReadByte', 'FileSeek', 'FileWrite', 'FileWriteByte', 'FindClose', 'FindFirst', 'FindNext',
+			'FindWindow', 'FlushINI', 'GetCurInstType', 'GetCurrentAddress', 'GetDlgItem', 'GetDLLVersion',
+			'GetDLLVersionLocal', 'GetErrorLevel', 'GetFileTime', 'GetFileTimeLocal', 'GetFullPathName',
+			'GetFunctionAddress', 'GetLabelAddress', 'GetTempFileName', 'GetWindowText', 'Goto', 'HideWindow',
+			'IfAbort', 'IfErrors', 'IfFileExists', 'IfRebootFlag', 'IfSilent', 'InitPluginsDir', 'InstTypeGetText',
+			'InstTypeSetText', 'IntCmp', 'IntCmpU', 'IntFmt', 'IntOp', 'IsWindow', 'LockWindow', 'LogSet', 'LogText',
+			'MessageBox', 'Nop', 'Pop', 'Push', 'Quit', 'ReadEnvStr', 'ReadIniStr', 'ReadRegDWORD', 'ReadRegStr',
+			'Reboot', 'RegDLL', 'Rename', 'ReserveFile', 'Return', 'RMDir', 'SearchPath', 'SectionGetFlags',
+			'SectionGetInstTypes', 'SectionGetSize', 'SectionGetText', 'SectionSetFlags', 'SectionSetInstTypes',
+			'SectionSetSize', 'SectionSetText', 'SendMessage', 'SetAutoClose', 'SetBrandingImage', 'SetCtlColors',
+			'SetCurInstType', 'SetDetailsPrint', 'SetDetailsView', 'SetErrorLevel', 'SetErrors', 'SetFileAttributes',
+			'SetOutPath', 'SetRebootFlag', 'SetShellVarContext', 'SetSilent', 'ShowWindow', 'Sleep', 'StrCmp',
+			'StrCpy', 'StrLen', 'UnRegDLL', 'WriteINIStr', 'WriteRegBin', 'WriteRegDWORD', 'WriteRegExpandStr',
+			'WriteRegStr', 'WriteUninstaller'
+		  ),
+		5 => array(
+			'all', 'alwaysoff', 'ARCHIVE', 'auto', 'both', 'bzip2', 'checkbox', 'components', 'current',
+			'custom', 'directory', 'false', 'FILE_ATTRIBUTE_ARCHIVE', 'FILE_ATTRIBUTE_HIDDEN', 'FILE_ATTRIBUTE_NORMAL',
+			'FILE_ATTRIBUTE_OFFLINE', 'FILE_ATTRIBUTE_READONLY', 'FILE_ATTRIBUTE_SYSTEM,TEMPORARY',
+			'FILE_ATTRIBUTE_TEMPORARY', 'force', 'HIDDEN', 'hide', 'HKCC', 'HKCR', 'HKCU', 'HKDD', 'HKEY_CLASSES_ROOT',
+			'HKEY_CURRENT_CONFIG', 'HKEY_CURRENT_USER', 'HKEY_DYN_DATA', 'HKEY_LOCAL_MACHINE', 'HKEY_PERFORMANCE_DATA',
+			'HKEY_USERS', 'HKLM', 'HKPD', 'HKU', 'IDABORT', 'IDCANCEL', 'IDIGNORE', 'IDNO', 'IDOK', 'IDRETRY', 'IDYES',
+			'ifdiff', 'ifnewer', 'instfiles', 'lastused', 'leave', 'license', 'listonly', 'lzma', 'manual',
+			'MB_ABORTRETRYIGNORE', 'MB_DEFBUTTON1', 'MB_DEFBUTTON2', 'MB_DEFBUTTON3', 'MB_DEFBUTTON4',
+			'MB_ICONEXCLAMATION', 'MB_ICONINFORMATION', 'MB_ICONQUESTION', 'MB_ICONSTOP', 'MB_OK', 'MB_OKCANCEL',
+			'MB_RETRYCANCEL', 'MB_RIGHT', 'MB_SETFOREGROUND', 'MB_TOPMOST', 'MB_YESNO', 'MB_YESNOCANCEL', 'nevershow',
+			'none', 'normal', 'off', 'OFFLINE', 'on', 'radiobuttons', 'READONLY', 'RO', 'SHCTX', 'SHELL_CONTEXT', 'show',
+			'silent', 'silentlog', 'SW_HIDE', 'SW_SHOWMAXIMIZED', 'SW_SHOWMINIMIZED', 'SW_SHOWNORMAL', 'SYSTEM',
+			'textonly', 'true', 'try', 'uninstConfirm', 'zlib'
+		   ),
+		6 => array(
+			'/a', '/components', '/COMPONENTSONLYONCUSTOM', '/CUSTOMSTRING', '/e', '/FILESONLY', '/FINAL', '/gray', '/GLOBAL',
+			'/ifempty', '/IMGID', '/ITALIC', '/lang', '/NOCUSTOM', '/nonfatal', '/NOUNLOAD', '/oname', '/r', '/REBOOTOK',
+			'/RESIZETOFIT', '/SOLID', '/SD', '/SHORT', '/silent', '/SOLID', '/STRIKE', '/TIMEOUT', '/TRIMCENTER', '/TRIMLEFT',
+			'/TRIMRIGHT', '/UNDERLINE', '/windows', '/x'
+		   ),
+		7 => array(
+			'.onGUIEnd', '.onGUIInit', '.onInit', '.onInstFailed', '.onInstSuccess', '.onMouseOverSection',
+			'.onRebootFailed', '.onSelChange', '.onUserAbort', '.onVerifyInstDir', 'un.onGUIEnd', 'un.onGUIInit',
+			'un.onInit', 'un.onRebootFailed', 'un.onUninstFailed', 'un.onUninstSuccess', 'un.onUserAbort'
+		   ),
+		8 => array(
+			'MUI.nsh', '"${NSISDIR}\Contrib\Modern UI\System.nsh"', 'MUI_SYSVERSION', 'MUI_ICON', 'MUI_UNICON',
+			'MUI_HEADERIMAGE', 'MUI_HEADERIMAGE_BITMAP', 'MUI_HEADERIMAGE_BITMAP_NOSTRETCH', 'MUI_HEADERIMAGE_BITMAP_RTL',
+			'MUI_HEADERIMAGE_BITMAP_RTL_NOSTRETCH', 'MUI_HEADERIMAGE_UNBITMAP', 'MUI_HEADERIMAGE_UNBITMAP_NOSTRETCH',
+			'MUI_HEADERIMAGE_UNBITMAP_RTL', 'MUI_HEADERIMAGE_UNBITMAP_RTL_NOSTRETCH', 'MUI_HEADERIMAGE_RIGHT', 'MUI_BGCOLOR',
+			'MUI_UI', 'MUI_UI_HEADERIMAGE', 'MUI_UI_HEADERIMAGE_RIGHT', 'MUI_UI_COMPONENTSPAGE_SMALLDESC',
+			'MUI_UI_COMPONENTSPAGE_NODESC', 'MUI_WELCOMEFINISHPAGE_BITMAP', 'MUI_WELCOMEFINISHPAGE_BITMAP_NOSTRETCH',
+			'MUI_WELCOMEFINISHPAGE_INI', 'MUI_UNWELCOMEFINISHPAGE_BITMAP', 'MUI_UNWELCOMEFINISHPAGE_BITMAP_NOSTRETCH',
+			'MUI_UNWELCOMEFINISHPAGE_INI', 'MUI_LICENSEPAGE_BGCOLOR', 'MUI_COMPONENTSPAGE_CHECKBITMAP',
+			'MUI_COMPONENTSPAGE_SMALLDESC', 'MUI_COMPONENTSPAGE_NODESC', 'MUI_INSTFILESPAGE_COLORS',
+			'MUI_INSTFILESPAGE_PROGRESSBAR', 'MUI_FINISHPAGE_NOAUTOCLOSE', 'MUI_UNFINISHPAGE_NOAUTOCLOSE',
+			'MUI_ABORTWARNING', 'MUI_ABORTWARNING_TEXT', 'MUI_UNABORTWARNING', 'MUI_UNABORTWARNING_TEXT',
+			'MUI_PAGE_WELCOME', 'MUI_PAGE_LICENSE', 'MUI_PAGE_COMPONENTS', 'MUI_PAGE_DIRECTORY',
+			'MUI_PAGE_STARTMENU', 'MUI_PAGE_INSTFILES', 'MUI_PAGE_FINISH', 'MUI_UNPAGE_WELCOME',
+			'MUI_UNPAGE_CONFIRM', 'MUI_UNPAGE_LICENSE', 'MUI_UNPAGE_COMPONENTS', 'MUI_UNPAGE_DIRECTORY',
+			'MUI_UNPAGE_INSTFILES', 'MUI_UNPAGE_FINISH', 'MUI_PAGE_HEADER_TEXT', 'MUI_PAGE_HEADER_SUBTEXT',
+			'MUI_WELCOMEPAGE_TITLE', 'MUI_WELCOMEPAGE_TITLE_3LINES', 'MUI_WELCOMEPAGE_TEXT',
+			'MUI_LICENSEPAGE_TEXT_TOP', 'MUI_LICENSEPAGE_TEXT_BOTTOM', 'MUI_LICENSEPAGE_BUTTON',
+			'MUI_LICENSEPAGE_CHECKBOX', 'MUI_LICENSEPAGE_CHECKBOX_TEXT', 'MUI_LICENSEPAGE_RADIOBUTTONS',
+			'MUI_LICENSEPAGE_RADIOBUTTONS_TEXT_ACCEPT', 'MUI_LICENSEPAGE_RADIOBUTTONS_TEXT_DECLINE',
+			'MUI_COMPONENTSPAGE_TEXT_TOP', 'MUI_COMPONENTSPAGE_TEXT_COMPLIST', 'MUI_COMPONENTSPAGE_TEXT_INSTTYPE',
+			'MUI_COMPONENTSPAGE_TEXT_DESCRIPTION_TITLE', 'MUI_COMPONENTSPAGE_TEXT_DESCRIPTION_INFO',
+			'MUI_DIRECTORYPAGE_TEXT_TOP', 'MUI_DIRECTORYPAGE_TEXT_DESTINATION', 'MUI_DIRECTORYPAGE_VARIABLE',
+			'MUI_DIRECTORYPAGE_VERIFYONLEAVE', 'MUI_STARTMENU_WRITE_BEGIN', 'MUI_STARTMENU_WRITE_END',
+			'MUI_STARTMENUPAGE_TEXT_TOP', 'MUI_STARTMENUPAGE_TEXT_CHECKBOX', 'MUI_STARTMENUPAGE_DEFAULTFOLDER',
+			'MUI_STARTMENUPAGE_NODISABLE', 'MUI_STARTMENUPAGE_REGISTRY_ROOT', 'MUI_STARTMENUPAGE_REGISTRY_KEY',
+			'MUI_STARTMENUPAGE_REGISTRY_VALUENAME', 'MUI_INSTFILESPAGE_FINISHHEADER_TEXT',
+			'MUI_INSTFILESPAGE_FINISHHEADER_SUBTEXT', 'MUI_INSTFILESPAGE_ABORTHEADER_TEXT',
+			'MUI_INSTFILESPAGE_ABORTHEADER_SUBTEXT', 'MUI_FINISHPAGE_TITLE', 'MUI_FINISHPAGE_TITLE_3LINES',
+			'MUI_FINISHPAGE_TEXT', 'MUI_FINISHPAGE_TEXT_LARGE', 'MUI_FINISHPAGE_BUTTON',
+			'MUI_FINISHPAGE_TEXT_REBOOT', 'MUI_FINISHPAGE_TEXT_REBOOTNOW', 'MUI_FINISHPAGE_TEXT_REBOOTLATER',
+			'MUI_FINISHPAGE_RUN', 'MUI_FINISHPAGE_RUN_TEXT', 'MUI_FINISHPAGE_RUN_PARAMETERS',
+			'MUI_FINISHPAGE_RUN_NOTCHECKED', 'MUI_FINISHPAGE_RUN_FUNCTION', 'MUI_FINISHPAGE_SHOWREADME',
+			'MUI_FINISHPAGE_SHOWREADME_TEXT', 'MUI_FINISHPAGE_SHOWREADME_NOTCHECKED',
+			'MUI_FINISHPAGE_SHOWREADME_FUNCTION', 'MUI_FINISHPAGE_LINK', 'MUI_FINISHPAGE_LINK_LOCATION',
+			'MUI_FINISHPAGE_LINK_COLOR', 'MUI_FINISHPAGE_NOREBOOTSUPPORT', 'MUI_UNCONFIRMPAGE_TEXT_TOP',
+			'MUI_UNCONFIRMPAGE_TEXT_LOCATION', 'MUI_LANGUAGE', 'MUI_LANGDLL_DISPLAY',
+			'MUI_LANGDLL_REGISTRY_ROOT', 'MUI_LANGDLL_REGISTRY_KEY', 'MUI_LANGDLL_REGISTRY_VALUENAME',
+			'MUI_LANGDLL_WINDOWTITLE', 'MUI_LANGDLL_INFO', 'MUI_LANGDLL_ALWAYSSHOW',
+			'MUI_RESERVEFILE_INSTALLOPTIONS', 'MUI_RESERVEFILE_LANGDLL', 'MUI_FUNCTION_DESCRIPTION_BEGIN',
+			'MUI_DESCRIPTION_TEXT', 'MUI_FUNCTION_DESCRIPTION_END', 'MUI_INSTALLOPTIONS_EXTRACT',
+			'MUI_INSTALLOPTIONS_EXTRACT_AS', 'MUI_HEADER_TEXT', 'MUI_INSTALLOPTIONS_DISPLAY',
+			'MUI_INSTALLOPTIONS_INITDIALOG', 'MUI_INSTALLOPTIONS_SHOW',
+			'MUI_INSTALLOPTIONS_DISPLAY_RETURN', 'MUI_INSTALLOPTIONS_SHOW_RETURN',
+			'MUI_INSTALLOPTIONS_READ', 'MUI_INSTALLOPTIONS_WRITE',
+			'MUI_CUSTOMFUNCTION_GUIINIT', 'MUI_CUSTOMFUNCTION_GUIINIT',
+			'MUI_CUSTOMFUNCTION_UNGUIINIT', 'MUI_CUSTOMFUNCTION_ABORT', 'MUI_CUSTOMFUNCTION_UNABORT',
+			'MUI_PAGE_CUSTOMFUNCTION_PRE', 'MUI_PAGE_CUSTOMFUNCTION_SHOW', 'MUI_PAGE_CUSTOMFUNCTION_LEAVE',
+			'MUI_WELCOMEFINISHPAGE_CUSTOMFUNCTION_INIT'
+		   ),
+		9 => array(
+			'LogicLib.nsh', '${LOGICLIB}', 'LOGICLIB_STRCMP', 'LOGICLIB_INT64CMP', 'LOGICLIB_SECTIONCMP', '${If}', '${Unless}',
+			'${ElseIf}', '${ElseUnless}', '${Else}', '${EndIf}', '${EndUnless}', '${AndIf}', '${AndUnless}',
+			'${OrIf}', '${OrUnless}', '${IfThen}', '${IfCmd}', '${Select}', '${Case2}', '${Case3}',
+			'${Case4}', '${Case5}', '${CaseElse}', '${Default}', '${EndSelect}', '${Switch}',
+			'${Case}', '${EndSwitch}', '${Do}', '${DoWhile}', '${UntilWhile}', '${Continue}', '${Break}',
+			'${Loop}', '${LoopWhile}', '${LoopUntil}', '${While}', '${ExitWhile}', '${EndWhile}', '${For}',
+			'${ForEach}', '${ExitFor}', '${Next}', '${Abort}', '${Errors}', '${RebootFlag}', '${Silent}',
+			'${FileExists}', '${Cmd}', '${SectionIsSelected}', '${SectionIsSectionGroup}',
+			'${SectionIsSectionGroupEnd}', '${SectionIsBold}', '${SectionIsReadOnly}',
+			'${SectionIsExpanded}', '${SectionIsPartiallySelected}'
+		   ),
+		10 => array(
+			'StrFunc.nsh', '${STRFUNC}', '${StrCase}', '${StrClb}', '${StrIOToNSIS}', '${StrLoc}', '${StrNSISToIO}', '${StrRep}',
+			'${StrSort}', '${StrStr}', '${StrStrAdv}', '${StrTok}', '${StrTrimNewLines}'
+		   ),
+		11 => array(
+			'UpgradeDLL.nsh', 'UPGRADEDLL_INCLUDED', 'UpgradeDLL'
+		   ),
+		12 => array(
+			'Sections.nsh', 'SECTIONS_INCLUDED', '${SF_SELECTED}', '${SF_SECGRP}', '${SF_SUBSEC}', '${SF_SECGRPEND}',
+			'${SF_SUBSECEND}', '${SF_BOLD}', '${SF_RO}', '${SF_EXPAND}', '${SF_PSELECTED}', '${SF_TOGGLED}',
+			'${SF_NAMECHG}', '${SECTION_OFF}', 'SelectSection', 'UnselectSection', 'ReverseSection',
+			'StartRadioButtons', 'RadioButton', 'EndRadioButtons', '${INSTTYPE_1}', '${INSTTYPE_1}', '${INSTTYPE_2}',
+			'${INSTTYPE_3}', '${INSTTYPE_4}', '${INSTTYPE_5}', '${INSTTYPE_6}', '${INSTTYPE_7}', '${INSTTYPE_8}',
+			'${INSTTYPE_9}', '${INSTTYPE_10}', '${INSTTYPE_11}', '${INSTTYPE_12}', '${INSTTYPE_13}', '${INSTTYPE_14}',
+			'${INSTTYPE_15}', '${INSTTYPE_16}', '${INSTTYPE_17}', '${INSTTYPE_18}', '${INSTTYPE_19}', '${INSTTYPE_20}',
+			'${INSTTYPE_21}', '${INSTTYPE_22}', '${INSTTYPE_23}', '${INSTTYPE_24}', '${INSTTYPE_25}', '${INSTTYPE_26}',
+			'${INSTTYPE_27}', '${INSTTYPE_28}', '${INSTTYPE_29}', '${INSTTYPE_30}', '${INSTTYPE_31}', '${INSTTYPE_32}',
+			'SetSectionInInstType', 'ClearSectionInInstType', 'SetSectionFlag', 'ClearSectionFlag', 'SectionFlagIsSet'
+		   ),
+		13 => array(
+			'Colors.nsh', 'WHITE', 'BLACK', 'YELLOW', 'RED', 'GREEN', 'BLUE', 'MAGENTA', 'CYAN', 'rgb2hex'
+		   ),
+		14 => array(
+			'FileFunc.nsh', '${Locate}', '${GetSize}', '${DriveSpace}', '${GetDrives}', '${GetTime}', '${GetFileAttributes}', '${GetFileVersion}', '${GetExeName}', '${GetExePath}', '${GetParameters}', '${GetOptions}', '${GetRoot}', '${GetParent}', '${GetFileName}', '${GetBaseName}', '${GetFileExt}', '${BannerTrimPath}', '${DirState}', '${RefreshShellIcons}'
+		   ),
+		15 => array(
+			'TextFunc.nsh', '${LineFind}', '${LineRead}', '${FileReadFromEnd}', '${LineSum}', '${FileJoin}', '${TextCompare}', '${ConfigRead}', '${ConfigWrite}', '${FileRecode}', '${TrimNewLines}'
+		   ),
+		16 => array(
+			'WordFunc.nsh', '${WordFind}', '${WordFind2X}', '${WordFind3X}', '${WordReplace}', '${WordAdd}', '${WordInsert}', '${StrFilter}', '${VersionCompare}', '${VersionConvert}'
+		   )
+	),
+	'SYMBOLS' => array(
+		),
+	'CASE_SENSITIVE' => array(
+		GESHI_COMMENTS => true,
+		1 => false,
+		2 => false,
+		3 => false,
+		4 => false,
+		5 => false,
+		6 => false,
+		7 => false,
+		8 => false,
+		9 => false,
+		10 => false,
+		11 => false,
+		12 => false,
+		13 => false,
+		14 => false,
+		15 => false,
+		16 => false
+		),
+	'STYLES' => array(
+		'KEYWORDS' => array(
+			1 => 'color: #000066; font-weight:bold;',
+			2 => 'color: #000066;',
+			3 => 'color: #003366;',
+			4 => 'color: #000099;',
+			5 => 'color: #ff6600;',
+			6 => 'color: #ff6600;',
+			7 => 'color: #006600;',
+			8 => 'color: #006600;',
+			9 => 'color: #006600;',
+			10 => 'color: #006600;',
+			11 => 'color: #006600;',
+			12 => 'color: #006600;',
+			13 => 'color: #006600;',
+			14 => 'color: #006600;',
+			15 => 'color: #006600;',
+			16 => 'color: #006600;'
+			),
+		'COMMENTS' => array(
+			1 => 'color: #666666; font-style: italic;',
+			2 => 'color: #666666; font-style: italic;',
+			'MULTI' => 'color: #666666; font-style: italic;'
+			),
+		'ESCAPE_CHAR' => array(
+			0 => 'color: #660066; font-weight: bold;'
+			),
+		'BRACKETS' => array(
+			0 => ''
+			),
+		'STRINGS' => array(
+			0 => 'color: #660066;'
+			),
+		'NUMBERS' => array(
+			0 => ''
+			),
+		'METHODS' => array(
+			0 => ''
+			),
+		'SYMBOLS' => array(
+			0 => ''
+			),
+		'REGEXPS' => array(
+			0 => 'color: #660000;',
+			1 => 'color: #660000;',
+			2 => 'color: #660000;',
+			3 => 'color: #660000;',
+			4 => 'color: #660000;',
+			5 => 'color: #660000;',
+			6 => 'color: #660000;',
+			7 => 'color: #000099;',
+			8 => 'color: #003399;'
+			),
+		'SCRIPT' => array(
+			0 => ''
+			)
+		),
+	'URLS' => array(
+		0 => '',
+		1 => '',
+		2 => '',
+		3 => '',
+		4 => '',
+		5 => '',
+		6 => '',
+		7 => '',
+		8 => '',
+		9 => '',
+		10 => '',
+		11 => '',
+		12 => '',
+		13 => '',
+		14 => '',
+		15 => '',
+		16 => ''
+		),
+	'OOLANG' => false,
+	'OBJECT_SPLITTERS' => array(
+		),
+	'REGEXPS' => array(
+		0 => '\$\$',
+		1 => '\$\\r',
+		2 => '\$\\n',
+		3 => '\$\\t',
+		4 => '\$[a-zA-Z0-9_]+',
+		5 => '\$\{.{1,256}\}',
+		6 => '\$\\\(.{1,256}\\\)',
+		7 => array(
+			GESHI_SEARCH => '([^:/\\\*\?\"\<\>\|\s]*?)(::)([^:/\\\*\?\"\<\>\|\s]*?)',
+			GESHI_REPLACE => '\\1',
+			GESHI_MODIFIERS => '',
+			GESHI_BEFORE => '',
+			GESHI_AFTER => '\\2\\3'
+			),
+		8 => array(
+			GESHI_SEARCH => '([^:/\\\*\?\"\<\>\|\s]*?)(::)([^:/\\\*\?\"\<\>\|]*?\s)',
+			GESHI_REPLACE => '\\3',
+			GESHI_MODIFIERS => '',
+			GESHI_BEFORE => '\\1\\2',
+			GESHI_AFTER => ''
+			)
+		),
+	'STRICT_MODE_APPLIES' => GESHI_NEVER,
+	'SCRIPT_DELIMITERS' => array(
+		),
+	'HIGHLIGHT_STRICT_BLOCK' => array(
+		)
+);
+
+?>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/plugins/geshi/geshi/objc.php	Sun Feb 10 18:10:52 2008 -0500
@@ -0,0 +1,239 @@
+<?php
+/*************************************************************************************
+ * objc.php
+ * --------
+ * Author: M. Uli Kusterer (witness.of.teachtext@gmx.net)
+ * Copyright: (c) 2004 M. Uli Kusterer, Nigel McNie (http://qbnz.com/highlighter/)
+ * Release Version: 1.0.7.20
+ * Date Started: 2004/06/04
+ *
+ * Objective C language file for GeSHi.
+ *
+ * CHANGES
+ * -------
+ * 2004/11/27 (1.0.0)
+ *   -  First Release
+ *
+ * TODO (updated 2004/11/27)
+ * -------------------------
+ *
+ *************************************************************************************
+ *
+ *     This file is part of GeSHi.
+ *
+ *   GeSHi is free software; you can 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.
+ *
+ *   GeSHi is distributed in the hope that it will be useful,
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *   GNU General Public License for more details.
+ *
+ *   You should have received a copy of the GNU General Public License
+ *   along with GeSHi; if not, write to the Free Software
+ *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
+ ************************************************************************************/
+
+$language_data = array (
+	'LANG_NAME' => 'Objective C',
+	'COMMENT_SINGLE' => array(1 => '//', 2 => '#'),
+	'COMMENT_MULTI' => array('/*' => '*/'),
+	'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+	'QUOTEMARKS' => array("'", '"'),
+	'ESCAPE_CHAR' => '\\',
+	'KEYWORDS' => array(
+		1 => array(
+			'if', 'return', 'while', 'case', 'continue', 'default',
+			'do', 'else', 'for', 'switch', 'goto'
+			),
+		2 => array(
+			'NULL', 'false', 'break', 'true', 'enum', 'nil', 'Nil', 'errno', 'EDOM',
+			'ERANGE', 'FLT_RADIX', 'FLT_ROUNDS', 'FLT_DIG', 'DBL_DIG', 'LDBL_DIG',
+			'FLT_EPSILON', 'DBL_EPSILON', 'LDBL_EPSILON', 'FLT_MANT_DIG', 'DBL_MANT_DIG',
+			'LDBL_MANT_DIG', 'FLT_MAX', 'DBL_MAX', 'LDBL_MAX', 'FLT_MAX_EXP', 'DBL_MAX_EXP',
+			'LDBL_MAX_EXP', 'FLT_MIN', 'DBL_MIN', 'LDBL_MIN', 'FLT_MIN_EXP', 'DBL_MIN_EXP',
+			'LDBL_MIN_EXP', 'CHAR_BIT', 'CHAR_MAX', 'CHAR_MIN', 'SCHAR_MAX', 'SCHAR_MIN',
+			'UCHAR_MAX', 'SHRT_MAX', 'SHRT_MIN', 'USHRT_MAX', 'INT_MAX', 'INT_MIN',
+			'UINT_MAX', 'LONG_MAX', 'LONG_MIN', 'ULONG_MAX', 'HUGE_VAL', 'SIGABRT',
+			'SIGFPE', 'SIGILL', 'SIGINT', 'SIGSEGV', 'SIGTERM', 'SIG_DFL', 'SIG_ERR',
+			'SIG_IGN', 'BUFSIZ', 'EOF', 'FILENAME_MAX', 'FOPEN_MAX', 'L_tmpnam', 'NULL',
+			'SEEK_CUR', 'SEEK_END', 'SEEK_SET', 'TMP_MAX', 'stdin', 'stdout', 'stderr',
+			'EXIT_FAILURE', 'EXIT_SUCCESS', 'RAND_MAX', 'CLOCKS_PER_SEC'
+			),
+		3 => array(
+			'printf', 'fprintf', 'snprintf', 'sprintf', 'assert',
+			'isalnum', 'isalpha', 'isdigit', 'iscntrl', 'isgraph', 'islower', 'isprint',
+			'ispunct', 'isspace', 'ispunct', 'isupper', 'isxdigit', 'tolower', 'toupper',
+			'exp', 'log', 'log10', 'pow', 'sqrt', 'ceil', 'floor', 'fabs', 'ldexp',
+			'frexp', 'modf', 'fmod', 'sin', 'cos', 'tan', 'asin', 'acos', 'atan', 'atan2',
+			'sinh', 'cosh', 'tanh', 'setjmp', 'longjmp', 'asin', 'acos', 'atan', 'atan2',
+			'va_start', 'va_arg', 'va_end', 'offsetof', 'sizeof', 'fopen', 'freopen',
+			'fflush', 'fclose', 'remove', 'rename', 'tmpfile', 'tmpname', 'setvbuf',
+			'setbuf', 'vfprintf', 'vprintf', 'vsprintf', 'fscanf', 'scanf', 'sscanf',
+			'fgetc', 'fgets', 'fputc', 'fputs', 'getc', 'getchar', 'gets', 'putc',
+			'putchar', 'puts', 'ungetc', 'fread', 'fwrite', 'fseek', 'ftell', 'rewind',
+			'fgetpos', 'fsetpos', 'clearerr', 'feof', 'ferror', 'perror', 'abs', 'labs',
+			'div', 'ldiv', 'atof', 'atoi', 'atol', 'strtod', 'strtol', 'strtoul', 'calloc',
+			'malloc', 'realloc', 'free', 'abort', 'exit', 'atexit', 'system', 'getenv',
+			'bsearch', 'qsort', 'rand', 'srand', 'strcpy', 'strncpy', 'strcat', 'strncat',
+			'strcmp', 'strncmp', 'strcoll', 'strchr', 'strrchr', 'strspn', 'strcspn',
+			'strpbrk', 'strstr', 'strlen', 'strerror', 'strtok', 'strxfrm', 'memcpy',
+			'memmove', 'memcmp', 'memchr', 'memset', 'clock', 'time', 'difftime', 'mktime',
+			'asctime', 'ctime', 'gmtime', 'localtime', 'strftime'
+			),
+		4 => array(   // Data types:
+			'auto', 'char', 'const', 'double',  'float', 'int', 'long',
+			'register', 'short', 'signed', 'sizeof', 'static', 'string', 'struct',
+			'typedef', 'union', 'unsigned', 'void', 'volatile', 'extern', 'jmp_buf',
+			'signal', 'raise', 'va_list', 'ptrdiff_t', 'size_t', 'FILE', 'fpos_t',
+			'div_t', 'ldiv_t', 'clock_t', 'time_t', 'tm',
+			// OpenStep/GNUstep/Cocoa:
+			'SEL', 'id', 'NSRect', 'NSRange', 'NSPoint', 'NSZone', 'Class', 'IMP', 'BOOL',
+			// OpenStep/GNUstep/Cocoa @identifiers
+			'@selector', '@class', '@protocol', '@interface', '@implementation', '@end',
+			'@private', '@protected', '@public', '@try', '@throw', '@catch', '@finally',
+			'@encode', '@defs', '@synchronized'
+			),
+        5 => array( // OpenStep/GNUstep/Cocoa Foundation
+			'NSAppleEventDescriptor', 'NSNetService', 'NSAppleEventManager',
+			'NSNetServiceBrowser', 'NSAppleScript', 'NSNotification', 'NSArchiver',
+			'NSNotificationCenter', 'NSArray', 'NSNotificationQueue', 'NSAssertionHandler',
+			'NSNull', 'NSAttributedString', 'NSNumber', 'NSAutoreleasePool',
+			'NSNumberFormatter', 'NSBundle', 'NSObject', 'NSCachedURLResponse',
+			'NSOutputStream', 'NSCalendarDate', 'NSPipe', 'NSCharacterSet', 'NSPort',
+			'NSClassDescription', 'NSPortCoder', 'NSCloneCommand', 'NSPortMessage',
+			'NSCloseCommand', 'NSPortNameServer', 'NSCoder', 'NSPositionalSpecifier',
+			'NSConditionLock', 'NSProcessInfo', 'NSConnection', 'NSPropertyListSerialization',
+			'NSCountCommand', 'NSPropertySpecifier', 'NSCountedSet', 'NSProtocolChecker',
+			'NSCreateCommand', 'NSProxy', 'NSData', 'NSQuitCommand', 'NSDate',
+			'NSRandomSpecifier', 'NSDateFormatter', 'NSRangeSpecifier', 'NSDecimalNumber',
+			'NSRecursiveLock', 'NSDecimalNumberHandler', 'NSRelativeSpecifier',
+			'NSDeleteCommand', 'NSRunLoop', 'NSDeserializer', 'NSScanner', 'NSDictionary',
+			'NSScriptClassDescription', 'NSDirectoryEnumerator', 'NSScriptCoercionHandler',
+			'NSDistantObject', 'NSScriptCommand', 'NSDistantObjectRequest',
+			'NSScriptCommandDescription', 'NSDistributedLock', 'NSScriptExecutionContext',
+			'NSDistributedNotificationCenter', 'NSScriptObjectSpecifier', 'NSEnumerator',
+			'NSScriptSuiteRegistry', 'NSError', 'NSScriptWhoseTest', 'NSException',
+			'NSSerializer', 'NSExistsCommand', 'NSSet', 'NSFileHandle', 'NSSetCommand',
+			'NSFileManager', 'NSSocketPort', 'NSFormatter', 'NSSocketPortNameServer',
+			'NSGetCommand', 'NSSortDescriptor', 'NSHost', 'NSSpecifierTest', 'NSHTTPCookie',
+			'NSSpellServer', 'NSHTTPCookieStorage', 'NSStream', 'NSHTTPURLResponse',
+			'NSString', 'NSIndexSet', 'NSTask', 'NSIndexSpecifier', 'NSThread',
+			'NSInputStream', 'NSTimer', 'NSInvocation', 'NSTimeZone', 'NSKeyedArchiver',
+			'NSUnarchiver', 'NSKeyedUnarchiver', 'NSUndoManager', 'NSLock',
+			'NSUniqueIDSpecifier', 'NSLogicalTest', 'NSURL', 'NSMachBootstrapServer',
+			'NSURLAuthenticationChallenge', 'NSMachPort', 'NSURLCache', 'NSMessagePort',
+			'NSURLConnection', 'NSMessagePortNameServer', 'NSURLCredential',
+			'NSMethodSignature', 'NSURLCredentialStorage', 'NSMiddleSpecifier',
+			'NSURLDownload', 'NSMoveCommand', 'NSURLHandle', 'NSMutableArray',
+			'NSURLProtectionSpace', 'NSMutableAttributedString', 'NSURLProtocol',
+			'NSMutableCharacterSet', 'NSURLRequest', 'NSMutableData', 'NSURLResponse',
+			'NSMutableDictionary', 'NSUserDefaults', 'NSMutableIndexSet', 'NSValue',
+			'NSMutableSet', 'NSValueTransformer', 'NSMutableString', 'NSWhoseSpecifier',
+			'NSMutableURLRequest', 'NSXMLParser', 'NSNameSpecifier'
+		),
+		6 => array( // OpenStep/GNUstep/Cocoa AppKit
+			'NSActionCell', 'NSOpenGLPixelFormat', 'NSAffineTransform', 'NSOpenGLView',
+			'NSAlert', 'NSOpenPanel', 'NSAppleScript Additions', 'NSOutlineView',
+			'NSApplication', 'NSPageLayout', 'NSArrayController', 'NSPanel',
+			'NSATSTypesetter', 'NSParagraphStyle', 'NSPasteboard', 'NSBezierPath',
+			'NSPDFImageRep', 'NSBitmapImageRep', 'NSPICTImageRep', 'NSBox', 'NSPopUpButton',
+			'NSBrowser', 'NSPopUpButtonCell', 'NSBrowserCell', 'NSPrinter', 'NSPrintInfo',
+			'NSButton', 'NSPrintOperation', 'NSButtonCell', 'NSPrintPanel', 'NSCachedImageRep',
+			'NSProgressIndicator', 'NSCell', 'NSQuickDrawView', 'NSClipView', 'NSResponder',
+			'NSRulerMarker', 'NSColor', 'NSRulerView', 'NSColorList', 'NSSavePanel',
+			'NSColorPanel', 'NSScreen', 'NSColorPicker', 'NSScroller', 'NSColorWell',
+			'NSScrollView', 'NSComboBox', 'NSSearchField', 'NSComboBoxCell',
+			'NSSearchFieldCell', 'NSControl', 'NSSecureTextField', 'NSController',
+			'NSSecureTextFieldCell', 'NSCursor', 'NSSegmentedCell', 'NSCustomImageRep',
+			'NSSegmentedControl', 'NSDocument', 'NSShadow', 'NSDocumentController',
+			'NSSimpleHorizontalTypesetter', 'NSDrawer', 'NSSlider', 'NSEPSImageRep',
+			'NSSliderCell', 'NSEvent', 'NSSound', 'NSFileWrapper', 'NSSpeechRecognizer',
+			'NSFont', 'NSSpeechSynthesizer', 'NSFontDescriptor', 'NSSpellChecker',
+			'NSFontManager', 'NSSplitView', 'NSFontPanel', 'NSStatusBar', 'NSForm',
+			'NSStatusItem', 'NSFormCell', 'NSStepper', 'NSGlyphGenerator', 'NSStepperCell',
+			'NSGlyphInfo', 'NSGraphicsContext', 'NSTableColumn', 'NSHelpManager',
+			'NSTableHeaderCell', 'NSImage', 'NSTableHeaderView', 'NSImageCell', 'NSTableView',
+			'NSImageRep', 'NSTabView', 'NSImageView', 'NSTabViewItem', 'NSInputManager',
+			'NSText', 'NSInputServer', 'NSTextAttachment', 'NSLayoutManager',
+			'NSTextAttachmentCell', 'NSMatrix', 'NSTextContainer', 'NSMenu', 'NSTextField',
+			'NSMenuItem', 'NSTextFieldCell', 'NSMenuItemCell', 'NSTextStorage', 'NSMenuView',
+			'NSTextTab', 'NSMovie', 'NSTextView', 'NSMovieView', 'NSToolbar', 'NSToolbarItem',
+			'NSMutableParagraphStyle', 'NSTypesetter', 'NSNib', 'NSNibConnector',
+			'NSUserDefaultsController', 'NSNibControlConnector', 'NSView',
+			'NSNibOutletConnector', 'NSWindow', 'NSObjectController', 'NSWindowController',
+			'NSOpenGLContext', 'NSWorkspace', 'NSOpenGLPixelBuffer'
+		)
+	),
+	'SYMBOLS' => array(
+		'(', ')', '{', '}', '[', ']', '=', '+', '-', '*', '/', '!', '%', '^', '&', ':'
+		),
+	'CASE_SENSITIVE' => array(
+		GESHI_COMMENTS => true,
+		1 => false,
+		2 => false,
+		3 => false,
+		4 => false,
+		5 => false,
+		6 => false,
+		),
+	'STYLES' => array(
+		'KEYWORDS' => array(
+			1 => 'color: #0000ff;',
+			2 => 'color: #0000ff;',
+			3 => 'color: #0000dd;',
+			4 => 'color: #0000ff;',
+			5 => 'color: #0000ff;',
+			6 => 'color: #0000ff;'
+			),
+		'COMMENTS' => array(
+			1 => 'color: #ff0000;',
+			2 => 'color: #339900;',
+			'MULTI' => 'color: #ff0000; font-style: italic;'
+			),
+		'ESCAPE_CHAR' => array(
+			0 => 'color: #666666; font-weight: bold;'
+			),
+		'BRACKETS' => array(
+			0 => 'color: #002200;'
+			),
+		'STRINGS' => array(
+			0 => 'color: #666666;'
+			),
+		'NUMBERS' => array(
+			0 => 'color: #0000dd;'
+			),
+		'METHODS' => array(
+			),
+		'SYMBOLS' => array(
+			0 => 'color: #002200;'
+			),
+		'REGEXPS' => array(
+			),
+		'SCRIPT' => array(
+			)
+		),
+	'URLS' => array(
+		1 => '',
+		2 => '',
+		3 => 'http://www.opengroup.org/onlinepubs/009695399/functions/{FNAME}.html',
+		4 => '',
+		5 => 'http://developer.apple.com/documentation/Cocoa/Reference/Foundation/ObjC_classic/Classes/{FNAME}.html',
+		6 => 'http://developer.apple.com/documentation/Cocoa/Reference/ApplicationKit/ObjC_classic/Classes/{FNAME}.html'
+		),
+	'OOLANG' => false,
+	'OBJECT_SPLITTERS' => array(
+		),
+	'REGEXPS' => array(
+		),
+	'STRICT_MODE_APPLIES' => GESHI_NEVER,
+	'SCRIPT_DELIMITERS' => array(
+		),
+	'HIGHLIGHT_STRICT_BLOCK' => array(
+		)
+);
+
+?>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/plugins/geshi/geshi/ocaml-brief.php	Sun Feb 10 18:10:52 2008 -0500
@@ -0,0 +1,112 @@
+<?php
+/*************************************************************************************
+ * ocaml.php
+ * ----------
+ * Author: Flaie (fireflaie@gmail.com)
+ * Copyright: (c) 2005 Flaie, Nigel McNie (http://qbnz.com/highlighter)
+ * Release Version: 1.0.7.20
+ * Date Started: 2005/08/27
+ *
+ * OCaml (Objective Caml) language file for GeSHi.
+ *
+ * CHANGES
+ * -------
+ * 2005/08/27 (1.0.0)
+ *   -  First Release
+ *
+ * TODO (updated 2005/08/27)
+ * -------------------------
+ *
+ *************************************************************************************
+ *
+ *   This file is part of GeSHi.
+ *
+ *   GeSHi is free software; you can 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.
+ *
+ *   GeSHi is distributed in the hope that it will be useful,
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *   GNU General Public License for more details.
+ *
+ *   You should have received a copy of the GNU General Public License
+ *   along with GeSHi; if not, write to the Free Software
+ *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
+ ************************************************************************************/
+
+$language_data = array (
+	'LANG_NAME' => 'OCaml',
+	'COMMENT_SINGLE' => array(),
+	'COMMENT_MULTI' => array('(*' => '*)'),
+	'CASE_KEYWORDS' => 0,
+	'QUOTEMARKS' => array('"'),
+	'ESCAPE_CHAR' => "",
+	'KEYWORDS' => array(
+	   /* main OCaml keywords */
+		1 => array(
+			'and', 'As', 'asr', 'begin', 'Class', 'Closed', 'constraint', 'do', 'done', 'downto', 'else',
+			'end', 'exception', 'external', 'failwith', 'false', 'flush', 'for', 'fun', 'function', 'functor',
+			'if', 'in', 'include', 'inherit',  'incr', 'land', 'let', 'load', 'los', 'lsl', 'lsr', 'lxor',
+			'match', 'method', 'mod', 'module', 'mutable', 'new', 'not', 'of', 'open', 'option', 'or', 'parser',
+			'private', 'ref', 'rec', 'raise', 'regexp', 'sig', 'struct', 'stdout', 'stdin', 'stderr', 'then',
+			'to', 'true', 'try', 'type', 'val', 'virtual', 'when', 'while', 'with'
+			)
+		),
+	/* highlighting symbols is really important in OCaml */
+	'SYMBOLS' => array(
+			';', '!', ':', '.', '=', '%', '^', '*', '-', '/', '+', 
+			'>', '<', '(', ')', '[', ']', '&', '|', '#', "'"
+			), 
+	'CASE_SENSITIVE' => array(
+		GESHI_COMMENTS => true,
+		1 => false,
+		),
+	'STYLES' => array(
+		'KEYWORDS' => array(
+			1 => 'color: #06c; font-weight: bold;' /* nice blue */
+			),
+		'COMMENTS' => array(
+			'MULTI' => 'color: #5d478b; font-style: italic;' /* light purple */
+			),
+		'ESCAPE_CHAR' => array(
+			),
+		'BRACKETS' => array(
+			0 => 'color: #6c6;'
+			),
+		'STRINGS' => array(
+			0 => 'color: #3cb371;' /* nice green */
+			),
+		'NUMBERS' => array(
+			0 => 'color: #c6c;' /* pink */
+			),
+		'METHODS' => array(
+			1 => 'color: #060;' /* dark green */
+			),
+		'REGEXPS' => array(
+			),
+		'SYMBOLS' => array( 
+			0 => 'color: #a52a2a;' /* maroon */
+			),
+		'SCRIPT' => array(
+			)
+		),
+	'URLS' => array(
+		1 => '',
+		),
+	'OOLANG' => true,
+	'OBJECT_SPLITTERS' => array(
+		1 => '.'
+		),
+	'REGEXPS' => array(
+		),
+	'STRICT_MODE_APPLIES' => GESHI_NEVER,
+	'SCRIPT_DELIMITERS' => array(
+		),
+	'HIGHLIGHT_STRICT_BLOCK' => array(
+		)
+);
+
+?>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/plugins/geshi/geshi/ocaml.php	Sun Feb 10 18:10:52 2008 -0500
@@ -0,0 +1,161 @@
+<?php
+/*************************************************************************************
+ * ocaml.php
+ * ----------
+ * Author: Flaie (fireflaie@gmail.com)
+ * Copyright: (c) 2005 Flaie, Nigel McNie (http://qbnz.com/highlighter)
+ * Release Version: 1.0.7.20
+ * Date Started: 2005/08/27
+ *
+ * OCaml (Objective Caml) language file for GeSHi.
+ *
+ * CHANGES
+ * -------
+ * 2005/08/27 (1.0.0)
+ *   -  First Release
+ *
+ * TODO (updated 2005/08/27)
+ * -------------------------
+ *
+ *************************************************************************************
+ *
+ *   This file is part of GeSHi.
+ *
+ *   GeSHi is free software; you can 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.
+ *
+ *   GeSHi is distributed in the hope that it will be useful,
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *   GNU General Public License for more details.
+ *
+ *   You should have received a copy of the GNU General Public License
+ *   along with GeSHi; if not, write to the Free Software
+ *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
+ ************************************************************************************/
+
+$language_data = array (
+	'LANG_NAME' => 'OCaml',
+	'COMMENT_SINGLE' => array(),
+	'COMMENT_MULTI' => array('(*' => '*)'),
+	'CASE_KEYWORDS' => 0,
+	'QUOTEMARKS' => array('"'),
+	'ESCAPE_CHAR' => "",
+	'KEYWORDS' => array(
+	   /* main OCaml keywords */
+		1 => array(
+			'and', 'As', 'asr', 'begin', 'Class', 'Closed', 'constraint', 'do', 'done', 'downto', 'else',
+			'end', 'exception', 'external', 'failwith', 'false', 'flush', 'for', 'fun', 'function', 'functor',
+			'if', 'in', 'include', 'inherit',  'incr', 'land', 'let', 'load', 'los', 'lsl', 'lsr', 'lxor',
+			'match', 'method', 'mod', 'module', 'mutable', 'new', 'not', 'of', 'open', 'option', 'or', 'parser',
+			'private', 'ref', 'rec', 'raise', 'regexp', 'sig', 'struct', 'stdout', 'stdin', 'stderr', 'then',
+			'to', 'true', 'try', 'type', 'val', 'virtual', 'when', 'while', 'with'
+			),
+		/* define names of main librarys, so we can link to it */
+		2 => array(
+			'Arg', 'Arith_status', 'Array', 'ArrayLabels', 'Big_int', 'Bigarray', 'Buffer', 'Callback',
+			'CamlinternalOO', 'Char', 'Complex', 'Condition', 'Dbm', 'Digest', 'Dynlink', 'Event',
+			'Filename', 'Format', 'Gc', 'Genlex', 'Graphics', 'GraphicsX11', 'Hashtbl', 'Int32', 'Int64',
+			'Lazy', 'Lexing', 'List', 'ListLabels', 'Map', 'Marshal', 'MoreLabels', 'Mutex', 'Nativeint',
+			'Num', 'Obj', 'Oo', 'Parsing', 'Pervasives', 'Printexc', 'Printf', 'Queue', 'Random', 'Scanf',
+			'Set', 'Sort', 'Stack', 'StdLabels', 'Str', 'Stream', 'String', 'StringLabels', 'Sys', 'Thread',
+			'ThreadUnix', 'Tk'
+		   ),
+		/* just link to the Pervasives functions library, cause it's the default opened library when starting OCaml */
+		3 => array(
+			'raise', 'invalid_arg', 'failwith', 'compare', 'min', 'max', 'succ', 'pred', 'mod', 'abs', 
+			'max_int', 'min_int', 'sqrt', 'exp', 'log', 'log10', 'cos', 'sin', 'tan', 'acos', 'asin', 
+			'atan', 'atan2', 'cosh', 'sinh', 'tanh', 'ceil', 'floor', 'abs_float', 'mod_float', 'frexp',
+			'ldexp', 'modf', 'float', 'float_of_int', 'truncate', 'int_of_float', 'infinity', 'nan',
+			'max_float', 'min_float', 'epsilon_float', 'classify_float', 'int_of_char', 'char_of_int', 
+			'ignore', 'string_of_bool', 'bool_of_string', 'string_of_int', 'int_of_string', 
+			'string_of_float', 'float_of_string', 'fst', 'snd', 'stdin', 'stdout', 'stderr', 'print_char',
+			'print_string', 'print_int', 'print_float', 'print_endline', 'print_newline', 'prerr_char',
+			'prerr_string', 'prerr_int', 'prerr_float', 'prerr_endline', 'prerr_newline', 'read_line',
+			'read_int', 'read_float', 'open_out', 'open_out_bin', 'open_out_gen', 'flush', 'flush_all',
+			'output_char', 'output_string', 'output', 'output_byte', 'output_binary_int', 'output_value',
+			'seek_out', 'pos_out',  'out_channel_length', 'close_out', 'close_out_noerr', 'set_binary_mode_out',
+			'open_in', 'open_in_bin', 'open_in_gen', 'input_char', 'input_line', 'input', 'really_input',
+			'input_byte', 'input_binary_int', 'input_value', 'seek_in', 'pos_in', 'in_channel_length',
+			'close_in', 'close_in_noerr', 'set_binary_mode_in', 'incr', 'decr', 'string_of_format',
+			'format_of_string', 'exit', 'at_exit' 
+		   ),
+		/* here Pervasives Types */
+		4 => array (
+		   'fpclass', 'in_channel', 'out_channel', 'open_flag', 'Sys_error', 'ref', 'format'
+		   ),
+		/* finally Pervasives Exceptions */
+		5 => array (
+			'Exit', 'Invalid_Argument', 'Failure', 'Division_by_zero'
+		   )
+		),
+	/* highlighting symbols is really important in OCaml */
+	'SYMBOLS' => array(
+			';', '!', ':', '.', '=', '%', '^', '*', '-', '/', '+', 
+			'>', '<', '(', ')', '[', ']', '&', '|', '#', "'"
+			), 
+	'CASE_SENSITIVE' => array(
+		GESHI_COMMENTS => true,
+		1 => false,
+		2 => true, /* functions name are case seinsitive */
+		3 => true, /* types name too */
+		4 => true  /* finally exceptions too */
+		),
+	'STYLES' => array(
+		'KEYWORDS' => array(
+			1 => 'color: #06c; font-weight: bold;' /* nice blue */
+			),
+		'COMMENTS' => array(
+			'MULTI' => 'color: #5d478b; font-style: italic;' /* light purple */
+			),
+		'ESCAPE_CHAR' => array(
+			),
+		'BRACKETS' => array(
+			0 => 'color: #6c6;'
+			),
+		'STRINGS' => array(
+			0 => 'color: #3cb371;' /* nice green */
+			),
+		'NUMBERS' => array(
+			0 => 'color: #c6c;' /* pink */
+			),
+		'METHODS' => array(
+			1 => 'color: #060;' /* dark green */
+			),
+		'REGEXPS' => array(
+			),
+		'SYMBOLS' => array( 
+			0 => 'color: #a52a2a;' /* maroon */
+			),
+		'SCRIPT' => array(
+			)
+		),
+	'URLS' => array(
+	   /* some of keywords are Pervasives functions (land, lxor, asr, ...) */
+		1 => '',
+		/* link to the wanted library */
+		2 => 'http://caml.inria.fr/pub/docs/manual-ocaml/libref/{FNAME}.html', 
+		/* link to Pervasives functions */
+		3 => 'http://caml.inria.fr/pub/docs/manual-ocaml/libref/Pervasives.html#VAL{FNAME}', 
+		/* link to Pervasives type */
+		4 => 'http://caml.inria.fr/pub/docs/manual-ocaml/libref/Pervasives.html#TYPE{FNAME}',
+		/* link to Pervasives exceptions */
+		5 => 'http://caml.inria.fr/pub/docs/manual-ocaml/libref/Pervasives.html#EXCEPTION{FNAME}'
+		),
+	'OOLANG' => true,
+	'OBJECT_SPLITTERS' => array(
+		1 => '.'
+		),
+	'REGEXPS' => array(
+		),
+	'STRICT_MODE_APPLIES' => GESHI_NEVER,
+	'SCRIPT_DELIMITERS' => array(
+		),
+	'HIGHLIGHT_STRICT_BLOCK' => array(
+		)
+);
+
+?>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/plugins/geshi/geshi/oobas.php	Sun Feb 10 18:10:52 2008 -0500
@@ -0,0 +1,130 @@
+<?php
+/*************************************************************************************
+ * oobas.php
+ * ---------
+ * Author: Roberto Rossi (rsoftware@altervista.org)
+ * Copyright: (c) 2004 Roberto Rossi (http://rsoftware.altervista.org), Nigel McNie (http://qbnz.com/highlighter)
+ * Release Version: 1.0.7.20
+ * Date Started: 2004/08/30
+ *
+ * OpenOffice.org Basic language file for GeSHi.
+ *
+ * CHANGES
+ * -------
+ * 2004/11/27 (1.0.1)
+ *  -  Added support for multiple object splitters
+ * 2004/10/27 (1.0.0)
+ *  -  First Release
+ *
+ * TODO (updated 2004/11/27)
+ * -------------------------
+ *
+ *************************************************************************************
+ *
+ *     This file is part of GeSHi.
+ *
+ *   GeSHi is free software; you can 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.
+ *
+ *   GeSHi is distributed in the hope that it will be useful,
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *   GNU General Public License for more details.
+ *
+ *   You should have received a copy of the GNU General Public License
+ *   along with GeSHi; if not, write to the Free Software
+ *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
+ ************************************************************************************/
+
+$language_data = array (
+	'LANG_NAME' => 'OpenOffice.org Basic',
+	'COMMENT_SINGLE' => array(1 => "'"),
+	'COMMENT_MULTI' => array(),
+	'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+	'QUOTEMARKS' => array('"'),
+	'ESCAPE_CHAR' => '',
+	'KEYWORDS' => array(
+		1 => array(
+			'dim','private','public','global','as','if','redim','true','set',
+			'byval',
+			'false','bool','double','integer','long','object','single','variant',
+			'msgbox','print','inputbox','green','blue','red','qbcolor',
+			'rgb','open','close','reset','freefile','get','input','line',
+			'put','write','loc','seek','eof','lof','chdir','chdrive',
+			'curdir','dir','fileattr','filecopy','filedatetime','fileexists',
+			'filelen','getattr','kill','mkdir','name','rmdir','setattr',
+			'dateserial','datevalue','day','month','weekday','year','cdatetoiso',
+			'cdatefromiso','hour','minute','second','timeserial','timevalue',
+			'date','now','time','timer','erl','err','error','on','error','goto','resume',
+			'and','eqv','imp','not','or','xor','mod','','atn','cos','sin','tan','log',
+			'exp','rnd','randomize','sqr','fix','int','abs','sgn','hex','oct',
+			'it','then','else','select','case','iif','do','loop','for','next',
+			'while','wend','gosub','return','goto','on','goto','call','choose','declare',
+			'end','exit','freelibrary','function','rem','stop','sub','switch','with',
+			'cbool','cdate','cdbl','cint','clng','const','csng','cstr','defbool',
+			'defdate','defdbl','defint','deflng','asc','chr','str','val','cbyte',
+			'space','string','format','lcase','left','lset','ltrim','mid','right',
+			'rset','rtrim','trim','ucase','split','join','converttourl','convertfromurl',
+			'instr','len','strcomp','beep','shell','wait','getsystemticks','environ',
+			'getsolarversion','getguitype','twipsperpixelx','twipsperpixely',
+			'createunostruct','createunoservice','getprocessservicemanager',
+			'createunodialog','createunolistener','createunovalue','thiscomponent',
+			'globalscope'
+			)
+		),
+	'SYMBOLS' => array(
+		'(', ')', '='
+		),
+	'CASE_SENSITIVE' => array(
+		GESHI_COMMENTS => false,
+		1 => false
+		),
+	'STYLES' => array(
+		'KEYWORDS' => array(
+			1 => 'color: #b1b100;'
+			),
+		'COMMENTS' => array(
+			1 => 'color: #808080;'
+			),
+		'BRACKETS' => array(
+			0 => 'color: #66cc66;'
+			),
+		'STRINGS' => array(
+			0 => 'color: #ff0000;'
+			),
+		'NUMBERS' => array(
+			0 => 'color: #cc66cc;'
+			),
+		'METHODS' => array(
+			1 => 'color: #006600;'
+			),
+		'SYMBOLS' => array(
+			0 => 'color: #66cc66;'
+			),
+		'ESCAPE_CHAR' => array(
+			0 => 'color: #000099;'
+			),
+		'SCRIPT' => array(
+			),
+		'REGEXPS' => array(
+			)
+		),
+	'URLS' => array(
+		),
+	'OOLANG' => true,
+	'OBJECT_SPLITTERS' => array(
+		1 => '.'
+		),
+	'REGEXPS' => array(
+		),
+	'STRICT_MODE_APPLIES' => GESHI_NEVER,
+	'SCRIPT_DELIMITERS' => array(
+		),
+	'HIGHLIGHT_STRICT_BLOCK' => array(
+		)
+);
+
+?>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/plugins/geshi/geshi/oracle8.php	Sun Feb 10 18:10:52 2008 -0500
@@ -0,0 +1,487 @@
+<?php
+/*************************************************************************************
+ * oracle8.php
+ * -----------
+ * Author: Guy Wicks (Guy.Wicks@rbs.co.uk)
+ * Copyright: (c) 2004 Nigel McNie (http://qbnz.com/highlighter)
+ * Release Version: 1.0.7.20
+ * Date Started: 2004/06/04
+ *
+ * Oracle 8 language file for GeSHi
+ *
+ * CHANGES
+ * -------
+ * 2005/01/29 (1.0.0)
+ *  -  First Release
+ *
+ * TODO (updated 2004/11/27)
+ * -------------------------
+ *
+ *************************************************************************************
+ *
+ *     This file is part of GeSHi.
+ *
+ *   GeSHi is free software; you can 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.
+ *
+ *   GeSHi is distributed in the hope that it will be useful,
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *   GNU General Public License for more details.
+ *
+ *   You should have received a copy of the GNU General Public License
+ *   along with GeSHi; if not, write to the Free Software
+ *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
+ ************************************************************************************/
+
+$language_data = array (
+	'LANG_NAME' => 'Oracle 8 SQL',
+	'COMMENT_SINGLE' => array(1 => '--'),
+	'COMMENT_MULTI' => array('/*' => '*/'),
+	'CASE_KEYWORDS' => GESHI_CAPS_UPPER,
+	'QUOTEMARKS' => array("'", '"', '`'),
+	'ESCAPE_CHAR' => '\\',
+	'KEYWORDS' => array(
+//Put your package names here - e.g. select distinct ''''|| lower(name) || ''',' from user_source;
+		6 => array(
+			),
+
+//Put your table names here - e.g. select distinct ''''|| lower(table_name) || ''',' from user_tables;
+		5 => array(
+			),
+
+//Put your view names here - e.g. select distinct ''''|| lower(view_name) || ''',' from user_views;
+		4 => array(
+			),
+
+//Put your table field names here - e.g. select distinct ''''|| lower(column_name) || ''',' from user_tab_columns;
+		3 => array(
+			),
+//Put ORACLE reserved keywords here (8.1.7).  I like mine uppercase.
+		1 => array(
+			'ABS',
+			'ACCESS',
+			'ACOS',
+			'ADD',
+			'ADD_MONTHS',
+			'ALL',
+			'ALTER',
+			'ANALYZE',
+			'AND',
+			'ANY',
+			'ARRAY',
+			'AS',
+			'ASC',
+			'ASCII',
+			'ASIN',
+			'ASSOCIATE',
+			'AT',
+			'ATAN',
+			'ATAN2',
+			'AUDIT',
+			'AUTHID',
+			'AVG',
+			'BEGIN',
+			'BETWEEN',
+			'BFILENAME',
+			'BINARY_INTEGER',
+			'BITAND',
+			'BODY',
+			'BOOLEAN',
+			'BULK',
+			'BY',
+			'CALL',
+			'CASCADE',
+			'CASE',
+			'CEIL',
+			'CHAR',
+			'CHAR_BASE',
+			'CHARTOROWID',
+			'CHECK',
+			'CHR',
+			'CLOSE',
+			'CLUSTER',
+			'COALESCE',
+			'COLLECT',
+			'COLUMN',
+			'COMMENT',
+			'COMMIT',
+			'COMPRESS',
+			'CONCAT',
+			'CONNECT',
+			'CONSTANT',
+			'CONSTRAINT',
+			'CONSTRAINTS',
+			'CONTEXT',
+			'CONTROLFILE',
+			'CONVERT',
+			'CORR',
+			'COS',
+			'COSH',
+			'COST',
+			'COUNT',
+			'COVAR_POP',
+			'COVAR_SAMP',
+			'CREATE',
+			'CUME_DIST',
+			'CURRENT',
+			'CURRVAL',
+			'CURSOR',
+			'DATABASE',
+			'DATE',
+			'DAY',
+			'DECIMAL',
+			'DECLARE',
+			'DECODE',
+			'DEFAULT',
+			'DELETE',
+			'DENSE_RANK',
+			'DEREF',
+			'DESC',
+			'DIMENSION',
+			'DIRECTORY',
+			'DISASSOCIATE',
+			'DISTINCT',
+			'DO',
+			'DROP',
+			'DUMP',
+			'ELSE',
+			'ELSIF',
+			'EMPTY_BLOB',
+			'EMPTY_CLOB',
+			'END',
+			'EXCEPTION',
+			'EXCLUSIVE',
+			'EXEC',
+			'EXECUTE',
+			'EXISTS',
+			'EXIT',
+			'EXP',
+			'EXPLAIN',
+			'EXTENDS',
+			'EXTRACT',
+			'FALSE',
+			'FETCH',
+			'FILE',
+			'FIRST_VALUE',
+			'FLOAT',
+			'FLOOR',
+			'FOR',
+			'FORALL',
+			'FROM',
+			'FUNCTION',
+			'GOTO',
+			'GRANT',
+			'GREATEST',
+			'GROUP',
+			'GROUPING',
+			'HAVING',
+			'HEAP',
+			'HEXTORAW',
+			'HOUR',
+			'IDENTIFIED',
+			'IF',
+			'IMMEDIATE',
+			'IN',
+			'INCREMENT',
+			'INDEX',
+			'INDEXTYPE',
+			'INDICATOR',
+			'INITCAP',
+			'INITIAL',
+			'INSERT',
+			'INSTR',
+			'INSTRB',
+			'INTEGER',
+			'INTERFACE',
+			'INTERSECT',
+			'INTERVAL',
+			'INTO',
+			'IS',
+			'ISOLATION',
+			'JAVA',
+			'KEY',
+			'LAG',
+			'LAST_DAY',
+			'LAST_VALUE',
+			'LEAD',
+			'LEAST',
+			'LENGTH',
+			'LENGTHB',
+			'LEVEL',
+			'LIBRARY',
+			'LIKE',
+			'LIMITED',
+			'LINK',
+			'LN',
+			'LOCK',
+			'LOG',
+			'LONG',
+			'LOOP',
+			'LOWER',
+			'LPAD',
+			'LTRIM',
+			'MAKE_REF',
+			'MATERIALIZED',
+			'MAX',
+			'MAXEXTENTS',
+			'MIN',
+			'MINUS',
+			'MINUTE',
+			'MLSLABEL',
+			'MOD',
+			'MODE',
+			'MODIFY',
+			'MONTH',
+			'MONTHS_BETWEEN',
+			'NATURAL',
+			'NATURALN',
+			'NEW',
+			'NEW_TIME',
+			'NEXT_DAY',
+			'NEXTVAL',
+			'NLS_CHARSET_DECL_LEN',
+			'NLS_CHARSET_ID',
+			'NLS_CHARSET_NAME',
+			'NLS_INITCAP',
+			'NLS_LOWER',
+			'NLS_UPPER',
+			'NLSSORT',
+			'NOAUDIT',
+			'NOCOMPRESS',
+			'NOCOPY',
+			'NOT',
+			'NOWAIT',
+			'NTILE',
+			'NULL',
+			'NULLIF',
+			'NUMBER',
+			'NUMBER_BASE',
+			'NUMTODSINTERVAL',
+			'NUMTOYMINTERVAL',
+			'NVL',
+			'NVL2',
+			'OCIROWID',
+			'OF',
+			'OFFLINE',
+			'ON',
+			'ONLINE',
+			'OPAQUE',
+			'OPEN',
+			'OPERATOR',
+			'OPTION',
+			'OR',
+			'ORDER',
+			'ORGANIZATION',
+			'OTHERS',
+			'OUT',
+			'OUTLINE',
+			'PACKAGE',
+			'PARTITION',
+			'PCTFREE',
+			'PERCENT_RANK',
+			'PLAN',
+			'PLS_INTEGER',
+			'POSITIVE',
+			'POSITIVEN',
+			'POWER',
+			'PRAGMA',
+			'PRIMARY',
+			'PRIOR',
+			'PRIVATE',
+			'PRIVILEGES',
+			'PROCEDURE',
+			'PROFILE',
+			'PUBLIC',
+			'RAISE',
+			'RANGE',
+			'RANK',
+			'RATIO_TO_REPORT',
+			'RAW',
+			'RAWTOHEX',
+			'REAL',
+			'RECORD',
+			'REF',
+			'REFTOHEX',
+			'REGR_AVGX',
+			'REGR_AVGY',
+			'REGR_COUNT',
+			'REGR_INTERCEPT',
+			'REGR_R2',
+			'REGR_SLOPE',
+			'REGR_SXX',
+			'REGR_SXY',
+			'REGR_SYY',
+			'RELEASE',
+			'RENAME',
+			'REPLACE',
+			'RESOURCE',
+			'RETURN',
+			'RETURNING',
+			'REVERSE',
+			'REVOKE',
+			'ROLE',
+			'ROLLBACK',
+			'ROUND',
+			'ROW',
+			'ROW_NUMBER',
+			'ROWID',
+			'ROWIDTOCHAR',
+			'ROWNUM',
+			'ROWS',
+			'ROWTYPE',
+			'RPAD',
+			'RTRIM',
+			'SAVEPOINT',
+			'SCHEMA',
+			'SECOND',
+			'SEGMENT',
+			'SELECT',
+			'SEPERATE',
+			'SEQUENCE',
+			'SESSION',
+			'SET',
+			'SHARE',
+			'SIGN',
+			'SIN',
+			'SINH',
+			'SIZE',
+			'SMALLINT',
+			'SOUNDEX',
+			'SPACE',
+			'SQL',
+			'SQLCODE',
+			'SQLERRM',
+			'SQRT',
+			'START',
+			'STATISTICS',
+			'STDDEV',
+			'STDDEV_POP',
+			'STDDEV_SAMP',
+			'STOP',
+			'SUBSTR',
+			'SUBSTRB',
+			'SUBTYPE',
+			'SUCCESSFUL',
+			'SUM',
+			'SYNONYM',
+			'SYS_CONTEXT',
+			'SYS_GUID',
+			'SYSDATE',
+			'SYSTEM',
+			'TABLE',
+			'TABLESPACE',
+			'TAN',
+			'TANH',
+			'TEMPORARY',
+			'THEN',
+			'TIME',
+			'TIMESTAMP',
+			'TIMEZONE_ABBR',
+			'TIMEZONE_HOUR',
+			'TIMEZONE_MINUTE',
+			'TIMEZONE_REGION',
+			'TIMING',
+			'TO',
+			'TO_CHAR',
+			'TO_DATE',
+			'TO_LOB',
+			'TO_MULTI_BYTE',
+			'TO_NUMBER',
+			'TO_SINGLE_BYTE',
+			'TRANSACTION',
+			'TRANSLATE',
+			'TRIGGER',
+			'TRIM',
+			'TRUE',
+			'TRUNC',
+			'TRUNCATE',
+			'TYPE',
+			'UI',
+			'UID',
+			'UNION',
+			'UNIQUE',
+			'UPDATE',
+			'UPPER',
+			'USE',
+			'USER',
+			'USERENV',
+			'USING',
+			'VALIDATE',
+			'VALUE',
+			'VALUES',
+			'VAR_POP',
+			'VAR_SAMP',
+			'VARCHAR',
+			'VARCHAR2',
+			'VARIANCE',
+			'VIEW',
+			'VSIZE',
+			'WHEN',
+			'WHENEVER',
+			'WHERE',
+			'WHILE',
+			'WITH',
+			'WORK',
+			'WRITE',
+			'YEAR',
+			'ZONE'
+			)
+		),
+	'SYMBOLS' => array(
+		'(', ')', '=', '<', '>', '|'
+		),
+	'CASE_SENSITIVE' => array(
+		GESHI_COMMENTS => false,
+		1 => false
+		),
+	'STYLES' => array(
+		'KEYWORDS' => array(
+			1 => 'color: #993333; font-weight: bold; text-transform: uppercase;'
+			),
+		'COMMENTS' => array(
+			1 => 'color: #808080; font-style: italic;',
+			2 => 'color: #808080; font-style: italic;'
+			),
+		'ESCAPE_CHAR' => array(
+			0 => 'color: #000099; font-weight: bold;'
+			),
+		'BRACKETS' => array(
+			0 => 'color: #66cc66;'
+			),
+		'STRINGS' => array(
+			0 => 'color: #ff0000;'
+			),
+		'NUMBERS' => array(
+			0 => 'color: #cc66cc;'
+			),
+		'METHODS' => array(
+			1 => 'color: #ff0000;'
+			),
+		'SYMBOLS' => array(
+			0 => 'color: #66cc66;'
+			),
+		'SCRIPT' => array(
+			),
+		'REGEXPS' => array(
+			)
+		),
+	'URLS' => array(
+		),
+
+	'OOLANG' => false,
+	'OBJECT_SPLITTERS' => array(
+		),
+	'REGEXPS' => array(
+		),
+	'STRICT_MODE_APPLIES' => GESHI_NEVER,
+	'SCRIPT_DELIMITERS' => array(
+		),
+	'HIGHLIGHT_STRICT_BLOCK' => array(
+		)
+);
+
+?>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/plugins/geshi/geshi/pascal.php	Sun Feb 10 18:10:52 2008 -0500
@@ -0,0 +1,144 @@
+<?php
+/*************************************************************************************
+ * pascal.php
+ * ----------
+ * Author: Tux (tux@inamil.cz)
+ * Copyright: (c) 2004 Tux (http://tux.a4.cz/), Nigel McNie (http://qbnz.com/highlighter)
+ * Release Version: 1.0.7.20
+ * Date Started: 2004/07/26
+ *
+ * Pascal language file for GeSHi.
+ *
+ * CHANGES
+ * -------
+ * 2004/11/27 (1.0.2)
+ *  -  Added support for multiple object splitters
+ * 2004/10/27 (1.0.1)
+ *   -  Added support for URLs
+ * 2004/08/05 (1.0.0)
+ *   -  Added support for symbols
+ * 2004/07/27 (0.9.1)
+ *   -  Pascal is OO language. Some new words.
+ * 2004/07/26 (0.9.0)
+ *   -  First Release
+ *
+ * TODO (updated 2004/11/27)
+ * -------------------------
+ *
+ *************************************************************************************
+ *
+ *     This file is part of GeSHi.
+ *
+ *   GeSHi is free software; you can 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.
+ *
+ *   GeSHi is distributed in the hope that it will be useful,
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *   GNU General Public License for more details.
+ *
+ *   You should have received a copy of the GNU General Public License
+ *   along with GeSHi; if not, write to the Free Software
+ *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
+ ************************************************************************************/
+
+$language_data = array (
+	'LANG_NAME' => 'Pascal',
+	'COMMENT_SINGLE' => array(1 => '//'),
+	'COMMENT_MULTI' => array('{' => '}','(*' => '*)'),
+	'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+	'QUOTEMARKS' => array("'", '"'),
+	'ESCAPE_CHAR' => '\\',
+	'KEYWORDS' => array(
+		1 => array(
+			'if', 'while', 'until', 'repeat', 'default',
+			'do', 'else', 'for', 'switch', 'goto','label','asm','begin','end',
+			'assembler','case', 'downto', 'to','div','mod','far','forward','in','inherited',
+			'inline','interrupt','label','library','not','var','of','then','stdcall',
+			'cdecl','end.','raise','try','except','name','finally','resourcestring','override','overload',
+			'default','public','protected','private','property','published','stored','catch'
+			),
+		2 => array(
+			'nil', 'false', 'break', 'true', 'function', 'procedure','implementation','interface',
+			'unit','program','initialization','finalization','uses'
+			),
+		3 => array(
+			'abs', 'absolute','and','arc','arctan','chr','constructor','destructor',
+			'dispose','cos','eof','eoln','exp','get','index','ln','new','xor','write','writeln',
+			'shr','sin','sqrt','succ','pred','odd','read','readln','ord','ordinal','blockread','blockwrite'
+			),
+		4 => array(
+			'array', 'char', 'const', 'boolean',  'real', 'integer', 'longint',
+			'word', 'shortint', 'record','byte','bytebool','string',
+			'type','object','export','exports','external','file','longbool','pointer','set',
+			'packed','ansistring','union'
+			),
+		),
+	'SYMBOLS' => array(
+		),
+	'CASE_SENSITIVE' => array(
+		GESHI_COMMENTS => true,
+		1 => false,
+		2 => false,
+		3 => false,
+		4 => false,
+		),
+	'STYLES' => array(
+		'KEYWORDS' => array(
+			1 => 'color: #b1b100;',
+			2 => 'color: #000000; font-weight: bold;',
+			3 => '',
+			4 => 'color: #993333;'
+			),
+		'COMMENTS' => array(
+			1 => 'color: #808080; font-style: italic;',
+			2 => 'color: #339933;',
+			'MULTI' => 'color: #808080; font-style: italic;'
+			),
+		'ESCAPE_CHAR' => array(
+			0 => 'color: #000099; font-weight: bold;'
+			),
+		'BRACKETS' => array(
+			0 => 'color: #66cc66;'
+			),
+		'STRINGS' => array(
+			0 => 'color: #ff0000;'
+			),
+		'NUMBERS' => array(
+			0 => 'color: #cc66cc;'
+			),
+		'METHODS' => array(
+			1 => 'color: #202020;'
+			),
+		'SYMBOLS' => array(
+			0 => 'color: #66cc66;'
+			),
+		'REGEXPS' => array(
+			),
+		'SCRIPT' => array(
+			)
+		),
+	'URLS' => array(
+		1 => '',
+		2 => '',
+		3 => '',
+		4 => ''
+		),
+	'OOLANG' => true,
+	'OBJECT_SPLITTERS' => array(
+		1 => '.'
+		),
+	'REGEXPS' => array(
+		),
+	'STRICT_MODE_APPLIES' => GESHI_NEVER,
+	'SCRIPT_DELIMITERS' => array(
+		),
+	'HIGHLIGHT_STRICT_BLOCK' => array(
+        ),
+    'TAB_WIDTH' => 4
+);
+
+?>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/plugins/geshi/geshi/per.php	Sun Feb 10 18:10:52 2008 -0500
@@ -0,0 +1,302 @@
+<?php
+/*************************************************************************************
+ * per.php
+ * --------
+ * Author: Lars Gersmann (lars.gersmann@gmail.com)
+ * Copyright: (c) 2007 Lars Gersmann
+ * Release Version: 1.0.7.20
+ * Date Started: 2007/06/03
+ *
+ * Per (forms) (FOURJ's Genero 4GL) language file for GeSHi.
+ *
+ *************************************************************************************
+ *
+ *     This file is part of GeSHi.
+ *
+ *   GeSHi is free software; you can 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.
+ *
+ *   GeSHi is distributed in the hope that it will be useful,
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *   GNU General Public License for more details.
+ *
+ *   You should have received a copy of the GNU General Public License
+ *   along with GeSHi; if not, write to the Free Software
+ *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
+ ************************************************************************************/
+
+ $language_data = array (
+    'LANG_NAME' => 'per',
+    'COMMENT_SINGLE' => array(1 => '--', 2 => '#'),
+    'COMMENT_MULTI' => array('{' => '}'),
+    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+    'QUOTEMARKS' => array("'", '"'),
+    'ESCAPE_CHAR' => '\\',
+    'KEYWORDS' => array(
+        1 => array(
+            "ACCELERATOR",
+            "ACCELERATOR2",
+            "ACTION",
+            "ALT",
+            "AND",
+            "AUTO",
+            "AUTONEXT",
+            "AUTOSCALE",
+            "BETWEEN",          
+            "BOTH",
+            "BUTTON",
+            "BUTTONEDIT",
+            "BUTTONTEXTHIDDEN",
+            "BY",
+            "BYTE",
+            "CANVAS",
+            "CENTER",
+            "CHECKBOX",
+            "CLASS",
+            "COLOR",
+            "COLUMNS",
+            "COMBOBOX",
+            "COMMAND",
+            "COMMENT",
+            "COMMENTS",
+            "COMPACT",
+            "COMPRESS",
+            "CONFIG",
+            "CONTROL",
+            "CURRENT",          
+            "DATABASE",         
+            "DATEEDIT",
+            "DEC",          
+            "DEFAULT",
+            "DEFAULTS",
+            "DELIMITERS",
+            "DISPLAY",
+            "DISPLAYONLY",
+            "DOWNSHIFT",
+            "DYNAMIC",
+            "EDIT",
+            "FIXED",        
+            "FOLDER",
+            "FONTPITCH",
+            "FORMAT",
+            "FORMONLY",                 
+            "GRID",
+            "GRIDCHILDRENINPARENT",
+            "GROUP",
+            "HBOX",
+            "HEIGHT",
+            "HIDDEN",
+            "HORIZONTAL",       
+            "INCLUDE",
+            "INITIAL",
+            "INITIALIZER",
+            "INPUT",
+            "INSTRUCTIONS",         
+            "INTERVAL",
+            "INVISIBLE",
+            "IS",
+            "ITEM",
+            "ITEMS",
+            "JUSTIFY",
+            "KEY",
+            "KEYS",
+            "LABEL",
+            "LEFT",
+            "LIKE",
+            "LINES",        
+            "MATCHES",          
+            "NAME",
+            "NOENTRY",
+            "NONCOMPRESS",          
+            "NORMAL",
+            "NOT",
+            "NOUPDATE",         
+            "OPTIONS",
+            "OR",
+            "ORIENTATION",
+            "PACKED",
+            "PAGE",
+            "PICTURE",
+            "PIXELHEIGHT",
+            "PIXELS",
+            "PIXELWIDTH",
+            "POINTS",
+            "PROGRAM",
+            "PROGRESSBAR",
+            "QUERYCLEAR",
+            "QUERYEDITABLE",
+            "RADIOGROUP",
+            "RECORD",        
+            "REQUIRED",
+            "REVERSE",
+            "RIGHT",
+            "SAMPLE",       
+            "SCREEN",
+            "SCROLL",
+            "SCROLLBARS",
+            "SCROLLGRID",
+            "SECOND",
+            "SEPARATOR",
+            "SHIFT",
+            "SIZE",
+            "SIZEPOLICY",
+            "SMALLFLOAT",
+            "SMALLINT",
+            "SPACING", 
+            "STRETCH",
+            "STYLE",
+            "TABINDEX",
+            "TABLE",
+            "TAG",
+            "TEXT",
+            "TEXTEDIT",
+            "THROUGH",
+            "THRU",         
+            "TITLE",
+            "TO",       
+            "TOOLBAR",
+            "TOPMENU",
+            "TYPE",         
+            "UNHIDABLE",
+            "UNHIDABLECOLUMNS",
+            "UNMOVABLE",
+            "UNMOVABLECOLUMNS",
+            "UNSIZABLE",
+            "UNSIZABLECOLUMNS",
+            "UNSORTABLE",
+            "UNSORTABLECOLUMNS",
+            "UPSHIFT",
+            "USER",
+            "VALIDATE",
+            "VALUECHECKED",
+            "VALUEMAX",
+            "VALUEMIN",
+            "VALUEUNCHECKED",
+            "VARCHAR",
+            "VARIABLE",
+            "VBOX",
+            "VERIFY",
+            "VERSION",
+            "VERTICAL",
+            "TIMESTAMP",
+            "WANTCOLUMNSANCHORED", /* to be removed! */
+            "WANTFIXEDPAGESIZE",
+            "WANTNORETURNS",
+            "WANTTABS",
+            "WHERE",
+            "WIDGET",
+            "WIDTH",
+            "WINDOWSTYLE",
+            "WITHOUT",
+            "WORDWRAP",
+            "X",
+            "Y",        
+            "ZEROFILL",
+            "SCHEMA",
+            "ATTRIBUTES",
+            "TABLES",
+            "LAYOUT",
+            "END"
+            ),
+        2 => array(
+            "YEAR",
+            "BLACK",
+            "BLINK",
+            "BLUE",
+            "YELLOW",
+            "WHITE",
+            "UNDERLINE",
+            "CENTURY",
+            "FRACTION",
+            "CHAR",
+            "CHARACTER",        
+            "CHARACTERS",
+            "CYAN",
+            "DATE",
+            "DATETIME",
+            "DAY",      
+            "DECIMAL",
+            "FALSE",
+            "FLOAT",
+            "GREEN",
+            "HOUR",
+            "INT",
+            "INTEGER",
+            "MAGENTA",
+            "MINUTE",
+            "MONEY",
+            "NONE",
+            "NULL",
+            "REAL",
+            "RED", 
+            "TRUE",
+            "TODAY",
+            "MONTH",
+            "IMAGE"
+            ),
+        ),
+    'SYMBOLS' => array(
+        '+', '-', '*', '?', '=', '/', '%', '>', '<', '^', '!', '|', ':',
+        '(', ')', '[', ']'
+        ),
+    'CASE_SENSITIVE' => array(
+        GESHI_COMMENTS => true,
+        1 => false,
+        2 => false,
+        ),
+    'STYLES' => array(
+        'KEYWORDS' => array(
+            1 => 'color: #0600FF;',
+            2 => 'color: #0000FF; font-weight: bold;',
+            ),
+        'COMMENTS' => array(
+            1 => 'color: #008080; font-style: italic;',
+            2 => 'color: #008080;',
+            'MULTI' => 'color: green'
+            ),
+        'ESCAPE_CHAR' => array(
+            0 => 'color: #008080; font-weight: bold;'
+            ),
+        'BRACKETS' => array(
+            0 => 'color: #000000;'
+            ),
+        'STRINGS' => array(
+            0 => 'color: #808080;'
+            ),
+        'NUMBERS' => array(
+            0 => 'color: #FF0000;'
+            ),
+        'METHODS' => array(
+            1 => 'color: #0000FF;',
+            2 => 'color: #0000FF;'
+            ),
+        'SYMBOLS' => array(
+            0 => 'color: #008000;'
+            ),
+        'REGEXPS' => array(
+            ),
+        'SCRIPT' => array(
+            )
+        ),
+    'URLS' => array(
+        1 => '',
+        2 => '',
+        ),
+    'OOLANG' => true,
+    'OBJECT_SPLITTERS' => array(
+        1 => '.'
+        ),
+    'REGEXPS' => array(
+        ),
+    'STRICT_MODE_APPLIES' => GESHI_NEVER,
+    'SCRIPT_DELIMITERS' => array(
+        ),
+    'HIGHLIGHT_STRICT_BLOCK' => array(
+        )
+);
+
+?>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/plugins/geshi/geshi/perl.php	Sun Feb 10 18:10:52 2008 -0500
@@ -0,0 +1,167 @@
+<?php
+/*************************************************************************************
+ * perl.php
+ * --------
+ * Author: Andreas Gohr (andi@splitbrain.org), Ben Keen (ben.keen@gmail.com)
+ * Copyright: (c) 2004 Andreas Gohr, Ben Keen (http://www.benjaminkeen.org/), Nigel McNie (http://qbnz.com/highlighter/)
+ * Release Version: 1.0.7.20
+ * Date Started: 2004/08/20
+ *
+ * Perl language file for GeSHi.
+ *
+ * CHANGES
+ * -------
+ * 2006/01/05 (1.0.2)
+ *   -  Used hardescape feature for ' strings (Cliff Stanford)
+ * 2004/11/27 (1.0.1)
+ *   -  Added support for multiple object splitters
+ * 2004/08/20 (1.0.0)
+ *   -  First Release
+ *
+ * TODO (updated 2004/11/27)
+ * -------------------------
+ * * LABEL:
+ * * string comparison operators
+ *
+ *************************************************************************************
+ *
+ *     This file is part of GeSHi.
+ *
+ *   GeSHi is free software; you can 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.
+ *
+ *   GeSHi is distributed in the hope that it will be useful,
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *   GNU General Public License for more details.
+ *
+ *   You should have received a copy of the GNU General Public License
+ *   along with GeSHi; if not, write to the Free Software
+ *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
+ ************************************************************************************/
+
+$language_data = array (
+	'LANG_NAME' => 'Perl',
+	'COMMENT_SINGLE' => array(1 => '#'),
+	'COMMENT_MULTI' => array( '=pod' => '=cut'),
+	'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+	'QUOTEMARKS' => array('"'),
+	'HARDQUOTE' => array("'", "'"),		    // An optional 2-element array defining the beginning and end of a hard-quoted string
+	'HARDESCAPE' => array('\\\'', "\\\\"),	    // Things that must still be escaped inside a hard-quoted string
+						    // If HARDQUOTE is defined, HARDESCAPE must be defined
+						    // This will not work unless the first character of each element is either in the
+						    // QUOTEMARKS array or is the ESCAPE_CHAR
+	'ESCAPE_CHAR' => '\\',
+	'KEYWORDS' => array(
+		1 => array(
+			'case', 'do', 'else', 'elsif', 'for', 'if', 'then', 'until', 'while', 'foreach', 'my',
+			'or', 'and', 'unless', 'next', 'last', 'redo', 'not', 'our',
+			'reset', 'continue','and', 'cmp', 'ne'
+			),
+		2 => array(
+			'use', 'sub', 'new', '__END__', '__DATA__', '__DIE__', '__WARN__', 'BEGIN',
+			'STDIN', 'STDOUT', 'STDERR'
+			),
+		3 => array(
+			'abs', 'accept', 'alarm', 'atan2', 'bind', 'binmode', 'bless',
+			'caller', 'chdir', 'chmod', 'chomp', 'chop', 'chown', 'chr',
+			'chroot', 'close', 'closedir', 'connect', 'continue', 'cos',
+			'crypt', 'dbmclose', 'dbmopen', 'defined', 'delete', 'die',
+			'dump', 'each', 'endgrent', 'endhostent', 'endnetent', 'endprotoent',
+			'endpwent', 'endservent', 'eof', 'eval', 'exec', 'exists', 'exit',
+			'exp', 'fcntl', 'fileno', 'flock', 'fork', 'format', 'formline',
+			'getc', 'getgrent', 'getgrgid', 'getgrnam', 'gethostbyaddr',
+			'gethostbyname', 'gethostent', 'getlogin', 'getnetbyaddr', 'getnetbyname',
+			'getnetent', 'getpeername', 'getpgrp', 'getppid', 'getpriority',
+			'getprotobyname', 'getprotobynumber', 'getprotoent', 'getpwent',
+			'getpwnam', 'getpwuid', 'getservbyname', 'getservbyport', 'getservent',
+			'getsockname', 'getsockopt', 'glob', 'gmtime', 'goto', 'grep',
+			'hex', 'import', 'index', 'int', 'ioctl', 'join', 'keys', 'kill',
+			'last', 'lc', 'lcfirst', 'length', 'link', 'listen', 'local',
+			'localtime', 'log', 'lstat', 'm', 'map', 'mkdir', 'msgctl', 'msgget',
+			'msgrcv', 'msgsnd', 'my', 'next', 'no', 'oct', 'open', 'opendir',
+			'ord', 'our', 'pack', 'package', 'pipe', 'pop', 'pos', 'print',
+			'printf', 'prototype', 'push', 'qq', 'qr', 'quotemeta', 'qw',
+			'qx', 'q', 'rand', 'read', 'readdir', 'readline', 'readlink', 'readpipe',
+			'recv', 'redo', 'ref', 'rename', 'require', 'return',
+			'reverse', 'rewinddir', 'rindex', 'rmdir', 's', 'scalar', 'seek',
+			'seekdir', 'select', 'semctl', 'semget', 'semop', 'send', 'setgrent',
+			'sethostent', 'setnetent', 'setpgrp', 'setpriority', 'setprotoent',
+			'setpwent', 'setservent', 'setsockopt', 'shift', 'shmctl', 'shmget',
+			'shmread', 'shmwrite', 'shutdown', 'sin', 'sleep', 'socket', 'socketpair',
+			'sort', 'splice', 'split', 'sprintf', 'sqrt', 'srand', 'stat',
+			'study', 'substr', 'symlink', 'syscall', 'sysopen', 'sysread',
+			'sysseek', 'system', 'syswrite', 'tell', 'telldir', 'tie', 'tied',
+			'time', 'times', 'tr', 'truncate', 'uc', 'ucfirst', 'umask', 'undef',
+			'unlink', 'unpack', 'unshift', 'untie', 'utime', 'values',
+			'vec', 'wait', 'waitpid', 'wantarray', 'warn', 'write', 'y'
+			)
+		),
+	'SYMBOLS' => array(
+		'(', ')', '[', ']', '!', '@', '%', '&', '*', '|', '/', '<', '>'
+		),
+	'CASE_SENSITIVE' => array(
+		GESHI_COMMENTS => true,
+		1 => true,
+		2 => true,
+		3 => true,
+		),
+	'STYLES' => array(
+		'KEYWORDS' => array(
+			1 => 'color: #b1b100;',
+			2 => 'color: #000000; font-weight: bold;',
+			3 => 'color: #000066;'
+			),
+		'COMMENTS' => array(
+			1 => 'color: #808080; font-style: italic;',
+			'MULTI' => 'color: #808080; font-style: italic;'
+			),
+		'ESCAPE_CHAR' => array(
+			0 => 'color: #000099; font-weight: bold;'
+			),
+		'BRACKETS' => array(
+			0 => 'color: #66cc66;'
+			),
+		'STRINGS' => array(
+			0 => 'color: #ff0000;'
+			),
+		'NUMBERS' => array(
+			0 => 'color: #cc66cc;'
+			),
+		'METHODS' => array(
+			1 => 'color: #006600;',
+			2 => 'color: #006600;'
+			),
+		'SYMBOLS' => array(
+			0 => 'color: #66cc66;'
+			),
+		'REGEXPS' => array(
+			0 => 'color: #0000ff;',
+			4 => 'color: #009999;',
+			),
+		'SCRIPT' => array(
+			)
+		),
+	'URLS' => array(
+		3 => 'http://perldoc.perl.org/functions/{FNAME}.html'
+		),
+	'OOLANG' => true,
+	'OBJECT_SPLITTERS' => array(
+		1 => '-&gt;',
+		2 => '::'
+		),
+	'REGEXPS' => array(
+		0 => '[\\$%@]+[a-zA-Z_][a-zA-Z0-9_]*',
+		4 => '&lt;[a-zA-Z_][a-zA-Z0-9_]*&gt;',
+		),
+	'STRICT_MODE_APPLIES' => GESHI_NEVER,
+	'SCRIPT_DELIMITERS' => array(
+		),
+	'HIGHLIGHT_STRICT_BLOCK' => array(
+		)
+);
+
+?>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/plugins/geshi/geshi/php-brief.php	Sun Feb 10 18:10:52 2008 -0500
@@ -0,0 +1,161 @@
+<?php
+/*************************************************************************************
+ * php-brief.php
+ * -------------
+ * Author: Nigel McNie (nigel@geshi.org)
+ * Copyright: (c) 2004 Nigel McNie (http://qbnz.com/highlighter/)
+ * Release Version: 1.0.7.20
+ * Date Started: 2004/06/02
+ *
+ * PHP language file for GeSHi (brief version).
+ *
+ * CHANGES
+ * -------
+ * 2004/11/27 (1.0.3)
+ *  -  Added support for multiple object splitters
+ *  -  Fixed &new problem
+ * 2004/10/27 (1.0.2)
+ *   -  Added support for URLs
+ * 2004/08/05 (1.0.1)
+ *   -  Added support for symbols
+ * 2004/07/14 (1.0.0)
+ *   -  First Release
+ *
+ * TODO (updated 2004/07/14)
+ * -------------------------
+ * * Remove more functions that are hardly used
+ *
+ *************************************************************************************
+ *
+ *     This file is part of GeSHi.
+ *
+ *   GeSHi is free software; you can 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.
+ *
+ *   GeSHi is distributed in the hope that it will be useful,
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *   GNU General Public License for more details.
+ *
+ *   You should have received a copy of the GNU General Public License
+ *   along with GeSHi; if not, write to the Free Software
+ *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
+ ************************************************************************************/
+
+$language_data = array (
+	'LANG_NAME' => 'PHP',
+	'COMMENT_SINGLE' => array(1 => '//', 2 => '#'),
+	'COMMENT_MULTI' => array('/*' => '*/'),
+	'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+	'QUOTEMARKS' => array("'", '"'),
+	'ESCAPE_CHAR' => '\\',
+	'KEYWORDS' => array(
+		1 => array(
+			'include', 'require', 'include_once', 'require_once',
+			'for', 'as', 'foreach', 'if', 'elseif', 'else', 'while', 'do', 'endwhile', 'endif', 'switch', 'case', 'endswitch',
+			'return', 'break'
+			),
+		2 => array(
+			'null', '__LINE__', '__FILE__',
+			'false', '&lt;?php', '?&gt;',
+			'true', 'var', 'default',
+			'function', 'class', 'new', '&amp;new', 'public', 'private', 'interface', 'extends',
+			),
+		3 => array(
+			'func_num_args', 'func_get_arg', 'func_get_args', 'strlen', 'strcmp', 'strncmp', 'strcasecmp', 'strncasecmp', 'each', 'error_reporting', 'define', 'defined',
+			'trigger_error', 'user_error', 'set_error_handler', 'restore_error_handler', 'get_declared_classes', 'get_loaded_extensions',
+			'extension_loaded', 'get_extension_funcs', 'debug_backtrace',
+			'constant', 'bin2hex', 'sleep', 'usleep', 'time', 'mktime', 'gmmktime', 'strftime', 'gmstrftime', 'strtotime', 'date', 'gmdate', 'getdate', 'localtime', 'checkdate', 'flush', 'wordwrap', 'htmlspecialchars', 'htmlentities', 'html_entity_decode', 'md5', 'md5_file', 'crc32', 'getimagesize', 'image_type_to_mime_type', 'phpinfo', 'phpversion', 'phpcredits', 'strnatcmp', 'strnatcasecmp', 'substr_count', 'strspn', 'strcspn', 'strtok', 'strtoupper', 'strtolower', 'strpos', 'strrpos', 'strrev', 'hebrev', 'hebrevc', 'nl2br', 'basename', 'dirname', 'pathinfo', 'stripslashes', 'stripcslashes', 'strstr', 'stristr', 'strrchr', 'str_shuffle', 'str_word_count', 'strcoll', 'substr', 'substr_replace', 'quotemeta', 'ucfirst', 'ucwords', 'strtr', 'addslashes', 'addcslashes', 'rtrim', 'str_replace', 'str_repeat', 'count_chars', 'chunk_split', 'trim', 'ltrim', 'strip_tags', 'similar_text', 'explode', 'implode', 'setlocale', 'localeconv',
+			'parse_str', 'str_pad', 'chop', 'strchr', 'sprintf', 'printf', 'vprintf', 'vsprintf', 'sscanf', 'fscanf', 'parse_url', 'urlencode', 'urldecode', 'rawurlencode', 'rawurldecode', 'readlink', 'linkinfo', 'link', 'unlink', 'exec', 'system', 'escapeshellcmd', 'escapeshellarg', 'passthru', 'shell_exec', 'proc_open', 'proc_close', 'rand', 'srand', 'getrandmax', 'mt_rand', 'mt_srand', 'mt_getrandmax', 'base64_decode', 'base64_encode', 'abs', 'ceil', 'floor', 'round', 'is_finite', 'is_nan', 'is_infinite', 'bindec', 'hexdec', 'octdec', 'decbin', 'decoct', 'dechex', 'base_convert', 'number_format', 'fmod', 'ip2long', 'long2ip', 'getenv', 'putenv', 'getopt', 'microtime', 'gettimeofday', 'getrusage', 'uniqid', 'quoted_printable_decode', 'set_time_limit', 'get_cfg_var', 'magic_quotes_runtime', 'set_magic_quotes_runtime', 'get_magic_quotes_gpc', 'get_magic_quotes_runtime',
+			'import_request_variables', 'error_log', 'serialize', 'unserialize', 'memory_get_usage', 'var_dump', 'var_export', 'debug_zval_dump', 'print_r','highlight_file', 'show_source', 'highlight_string', 'ini_get', 'ini_get_all', 'ini_set', 'ini_alter', 'ini_restore', 'get_include_path', 'set_include_path', 'restore_include_path', 'setcookie', 'header', 'headers_sent', 'connection_aborted', 'connection_status', 'ignore_user_abort', 'parse_ini_file', 'is_uploaded_file', 'move_uploaded_file', 'intval', 'floatval', 'doubleval', 'strval', 'gettype', 'settype', 'is_null', 'is_resource', 'is_bool', 'is_long', 'is_float', 'is_int', 'is_integer', 'is_double', 'is_real', 'is_numeric', 'is_string', 'is_array', 'is_object', 'is_scalar',
+			'ereg', 'ereg_replace', 'eregi', 'eregi_replace', 'split', 'spliti', 'join', 'sql_regcase', 'dl', 'pclose', 'popen', 'readfile', 'rewind', 'rmdir', 'umask', 'fclose', 'feof', 'fgetc', 'fgets', 'fgetss', 'fread', 'fopen', 'fpassthru', 'ftruncate', 'fstat', 'fseek', 'ftell', 'fflush', 'fwrite', 'fputs', 'mkdir', 'rename', 'copy', 'tempnam', 'tmpfile', 'file', 'file_get_contents', 'stream_select', 'stream_context_create', 'stream_context_set_params', 'stream_context_set_option', 'stream_context_get_options', 'stream_filter_prepend', 'stream_filter_append', 'fgetcsv', 'flock', 'get_meta_tags', 'stream_set_write_buffer', 'set_file_buffer', 'set_socket_blocking', 'stream_set_blocking', 'socket_set_blocking', 'stream_get_meta_data', 'stream_register_wrapper', 'stream_wrapper_register', 'stream_set_timeout', 'socket_set_timeout', 'socket_get_status', 'realpath', 'fnmatch', 'fsockopen', 'pfsockopen', 'pack', 'unpack', 'get_browser', 'crypt', 'opendir', 'closedir', 'chdir', 'getcwd', 'rewinddir', 'readdir', 'dir', 'glob', 'fileatime', 'filectime', 'filegroup', 'fileinode', 'filemtime', 'fileowner', 'fileperms', 'filesize', 'filetype', 'file_exists', 'is_writable', 'is_writeable', 'is_readable', 'is_executable', 'is_file', 'is_dir', 'is_link', 'stat', 'lstat', 'chown',
+			'touch', 'clearstatcache', 'mail', 'ob_start', 'ob_flush', 'ob_clean', 'ob_end_flush', 'ob_end_clean', 'ob_get_flush', 'ob_get_clean', 'ob_get_length', 'ob_get_level', 'ob_get_status', 'ob_get_contents', 'ob_implicit_flush', 'ob_list_handlers', 'ksort', 'krsort', 'natsort', 'natcasesort', 'asort', 'arsort', 'sort', 'rsort', 'usort', 'uasort', 'uksort', 'shuffle', 'array_walk', 'count', 'end', 'prev', 'next', 'reset', 'current', 'key', 'min', 'max', 'in_array', 'array_search', 'extract', 'compact', 'array_fill', 'range', 'array_multisort', 'array_push', 'array_pop', 'array_shift', 'array_unshift', 'array_splice', 'array_slice', 'array_merge', 'array_merge_recursive', 'array_keys', 'array_values', 'array_count_values', 'array_reverse', 'array_reduce', 'array_pad', 'array_flip', 'array_change_key_case', 'array_rand', 'array_unique', 'array_intersect', 'array_intersect_assoc', 'array_diff', 'array_diff_assoc', 'array_sum', 'array_filter', 'array_map', 'array_chunk', 'array_key_exists', 'pos', 'sizeof', 'key_exists', 'assert', 'assert_options', 'version_compare', 'ftok', 'str_rot13', 'aggregate',
+			'session_name', 'session_module_name', 'session_save_path', 'session_id', 'session_regenerate_id', 'session_decode', 'session_register', 'session_unregister', 'session_is_registered', 'session_encode',
+			'session_start', 'session_destroy', 'session_unset', 'session_set_save_handler', 'session_cache_limiter', 'session_cache_expire', 'session_set_cookie_params', 'session_get_cookie_params', 'session_write_close', 'preg_match', 'preg_match_all', 'preg_replace', 'preg_replace_callback', 'preg_split', 'preg_quote', 'preg_grep', 'overload', 'ctype_alnum', 'ctype_alpha', 'ctype_cntrl', 'ctype_digit', 'ctype_lower', 'ctype_graph', 'ctype_print', 'ctype_punct', 'ctype_space', 'ctype_upper', 'ctype_xdigit', 'virtual', 'apache_request_headers', 'apache_note', 'apache_lookup_uri', 'apache_child_terminate', 'apache_setenv', 'apache_response_headers', 'apache_get_version', 'getallheaders', 'mysql_connect', 'mysql_pconnect', 'mysql_close', 'mysql_select_db', 'mysql_create_db', 'mysql_drop_db', 'mysql_query', 'mysql_unbuffered_query', 'mysql_db_query', 'mysql_list_dbs', 'mysql_list_tables', 'mysql_list_fields', 'mysql_list_processes', 'mysql_error', 'mysql_errno', 'mysql_affected_rows', 'mysql_insert_id', 'mysql_result', 'mysql_num_rows', 'mysql_num_fields', 'mysql_fetch_row', 'mysql_fetch_array', 'mysql_fetch_assoc', 'mysql_fetch_object', 'mysql_data_seek', 'mysql_fetch_lengths', 'mysql_fetch_field', 'mysql_field_seek', 'mysql_free_result', 'mysql_field_name', 'mysql_field_table', 'mysql_field_len', 'mysql_field_type', 'mysql_field_flags', 'mysql_escape_string', 'mysql_real_escape_string', 'mysql_stat',
+			'mysql_thread_id', 'mysql_client_encoding', 'mysql_get_client_info', 'mysql_get_host_info', 'mysql_get_proto_info', 'mysql_get_server_info', 'mysql_info', 'mysql', 'mysql_fieldname', 'mysql_fieldtable', 'mysql_fieldlen', 'mysql_fieldtype', 'mysql_fieldflags', 'mysql_selectdb', 'mysql_createdb', 'mysql_dropdb', 'mysql_freeresult', 'mysql_numfields', 'mysql_numrows', 'mysql_listdbs', 'mysql_listtables', 'mysql_listfields', 'mysql_db_name', 'mysql_dbname', 'mysql_tablename', 'mysql_table_name', 'pg_connect', 'pg_pconnect', 'pg_close', 'pg_connection_status', 'pg_connection_busy', 'pg_connection_reset', 'pg_host', 'pg_dbname', 'pg_port', 'pg_tty', 'pg_options', 'pg_ping', 'pg_query', 'pg_send_query', 'pg_cancel_query', 'pg_fetch_result', 'pg_fetch_row', 'pg_fetch_assoc', 'pg_fetch_array', 'pg_fetch_object', 'pg_fetch_all', 'pg_affected_rows', 'pg_get_result', 'pg_result_seek', 'pg_result_status', 'pg_free_result', 'pg_last_oid', 'pg_num_rows', 'pg_num_fields', 'pg_field_name', 'pg_field_num', 'pg_field_size', 'pg_field_type', 'pg_field_prtlen', 'pg_field_is_null', 'pg_get_notify', 'pg_get_pid', 'pg_result_error', 'pg_last_error', 'pg_last_notice', 'pg_put_line', 'pg_end_copy', 'pg_copy_to', 'pg_copy_from',
+			'pg_trace', 'pg_untrace', 'pg_lo_create', 'pg_lo_unlink', 'pg_lo_open', 'pg_lo_close', 'pg_lo_read', 'pg_lo_write', 'pg_lo_read_all', 'pg_lo_import', 'pg_lo_export', 'pg_lo_seek', 'pg_lo_tell', 'pg_escape_string', 'pg_escape_bytea', 'pg_unescape_bytea', 'pg_client_encoding', 'pg_set_client_encoding', 'pg_meta_data', 'pg_convert', 'pg_insert', 'pg_update', 'pg_delete', 'pg_select', 'pg_exec', 'pg_getlastoid', 'pg_cmdtuples', 'pg_errormessage', 'pg_numrows', 'pg_numfields', 'pg_fieldname', 'pg_fieldsize', 'pg_fieldtype', 'pg_fieldnum', 'pg_fieldprtlen', 'pg_fieldisnull', 'pg_freeresult', 'pg_result', 'pg_loreadall', 'pg_locreate', 'pg_lounlink', 'pg_loopen', 'pg_loclose', 'pg_loread', 'pg_lowrite', 'pg_loimport', 'pg_loexport',
+			'echo', 'print', 'global', 'static', 'exit', 'array', 'empty', 'eval', 'isset', 'unset', 'die'
+			)
+		),
+	'SYMBOLS' => array(
+		),
+	'CASE_SENSITIVE' => array(
+		GESHI_COMMENTS => false,
+		1 => false,
+		2 => false,
+		3 => false
+		),
+	'STYLES' => array(
+		'KEYWORDS' => array(
+			1 => 'color: #b1b100;',
+			2 => 'color: #000000; font-weight: bold;',
+			3 => 'color: #000066;'
+			),
+		'COMMENTS' => array(
+			1 => 'color: #808080; font-style: italic;',
+			2 => 'color: #808080; font-style: italic;',
+			'MULTI' => 'color: #808080; font-style: italic;'
+			),
+		'ESCAPE_CHAR' => array(
+			0 => 'color: #000099; font-weight: bold;'
+			),
+		'BRACKETS' => array(
+			0 => 'color: #66cc66;'
+			),
+		'STRINGS' => array(
+			0 => 'color: #ff0000;'
+			),
+		'NUMBERS' => array(
+			0 => 'color: #cc66cc;'
+			),
+		'METHODS' => array(
+			1 => 'color: #006600;',
+			2 => 'color: #006600;'
+			),
+		'SYMBOLS' => array(
+			0 => 'color: #66cc66;'
+			),
+		'REGEXPS' => array(
+			0 => 'color: #0000ff;'
+			),
+		'SCRIPT' => array(
+			0 => '',
+			1 => '',
+			2 => '',
+			3 => ''
+			)
+		),
+	'URLS' => array(
+		1 => '',
+		2 => '',
+		3 => 'http://www.php.net/{FNAME}',
+		4 => ''
+		),
+	'OOLANG' => true,
+	'OBJECT_SPLITTERS' => array(
+		1 => '-&gt;',
+		2 => '::'
+		),
+	'REGEXPS' => array(
+		0 => "[\\$]{1,2}[a-zA-Z_][a-zA-Z0-9_]*"
+		),
+	'STRICT_MODE_APPLIES' => GESHI_MAYBE,
+	'SCRIPT_DELIMITERS' => array(
+		'<?php' => '?>',
+		'<?' => '?>',
+		'<%' => '%>',
+		'<script language="php">' => '</script>'
+		),
+	'HIGHLIGHT_STRICT_BLOCK' => array(
+		0 => true,
+		1 => true,
+		2 => true,
+		3 => true
+        ),
+    'TAB_WIDTH' => 4
+);
+
+?>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/plugins/geshi/geshi/php.php	Sun Feb 10 18:10:52 2008 -0500
@@ -0,0 +1,355 @@
+<?php
+/*************************************************************************************
+ * php.php
+ * --------
+ * Author: Nigel McNie (nigel@geshi.org)
+ * Copyright: (c) 2004 Nigel McNie (http://qbnz.com/highlighter/)
+ * Release Version: 1.0.7.20
+ * Date Started: 2004/06/20
+ *
+ * PHP language file for GeSHi.
+ *
+ * CHANGES
+ * -------
+ * 2004/11/25 (1.0.3)
+ *  -  Added support for multiple object splitters
+ *  -  Fixed &new problem
+ * 2004/10/27 (1.0.2)
+ *  -  Added URL support
+ *  -  Added extra constants
+ * 2004/08/05 (1.0.1)
+ *  -  Added support for symbols
+ * 2004/07/14 (1.0.0)
+ *  -  First Release
+ *
+ * TODO (updated 2004/07/14)
+ * -------------------------
+ * * Make sure the last few function I may have missed
+ *   (like eval()) are included for highlighting
+ * * Split to several files - php4, php5 etc
+ *
+ *************************************************************************************
+ *
+ *     This file is part of GeSHi.
+ *
+ *   GeSHi is free software; you can 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.
+ *
+ *   GeSHi is distributed in the hope that it will be useful,
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *   GNU General Public License for more details.
+ *
+ *   You should have received a copy of the GNU General Public License
+ *   along with GeSHi; if not, write to the Free Software
+ *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
+ ************************************************************************************/
+
+$language_data = array (
+    'LANG_NAME' => 'PHP',
+    'COMMENT_SINGLE' => array(1 => '//', 2 => '#'),
+    'COMMENT_MULTI' => array('/*' => '*/'),
+    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+    'QUOTEMARKS' => array("'", '"'),
+    'ESCAPE_CHAR' => '\\',
+    'KEYWORDS' => array(
+        1 => array(
+            'include', 'require', 'include_once', 'require_once',
+            'for', 'foreach', 'as', 'if', 'elseif', 'else', 'while', 'do', 'endwhile',
+            'endif', 'switch', 'case', 'endswitch', 'endfor', 'endforeach',
+            'return', 'break', 'continue'
+            ),
+        2 => array(
+            'null', '__LINE__', '__FILE__',
+            'false', '&lt;?php', '?&gt;', '&lt;?',
+            '&lt;script language', '&lt;/script&gt;',
+            'true', 'var', 'default',
+            'function', 'class', 'new', '&amp;new', 'public', 'private', 'interface', 'extends',
+            '__FUNCTION__', '__CLASS__', '__METHOD__', 'PHP_VERSION',
+            'PHP_OS', 'DEFAULT_INCLUDE_PATH', 'PEAR_INSTALL_DIR', 'PEAR_EXTENSION_DIR',
+            'PHP_EXTENSION_DIR', 'PHP_BINDIR', 'PHP_LIBDIR', 'PHP_DATADIR', 'PHP_SYSCONFDIR',
+            'PHP_LOCALSTATEDIR', 'PHP_CONFIG_FILE_PATH', 'PHP_OUTPUT_HANDLER_START', 'PHP_OUTPUT_HANDLER_CONT',
+            'PHP_OUTPUT_HANDLER_END', 'E_ERROR', 'E_WARNING', 'E_PARSE', 'E_NOTICE',
+            'E_CORE_ERROR', 'E_CORE_WARNING', 'E_COMPILE_ERROR', 'E_COMPILE_WARNING', 'E_USER_ERROR',
+            'E_USER_WARNING', 'E_USER_NOTICE', 'E_ALL'
+            ),
+        3 => array(
+            'zlib_get_coding_type','zend_version','zend_logo_guid','yp_order','yp_next',
+            'yp_match','yp_master','yp_get_default_domain','yp_first','yp_errno','yp_err_string',
+            'yp_cat','yp_all','xml_set_unparsed_entity_decl_handler','xml_set_start_namespace_decl_handler','xml_set_processing_instruction_handler','xml_set_object',
+            'xml_set_notation_decl_handler','xml_set_external_entity_ref_handler','xml_set_end_namespace_decl_handler','xml_set_element_handler','xml_set_default_handler','xml_set_character_data_handler',
+            'xml_parser_set_option','xml_parser_get_option','xml_parser_free','xml_parser_create_ns','xml_parser_create','xml_parse_into_struct',
+            'xml_parse','xml_get_error_code','xml_get_current_line_number','xml_get_current_column_number','xml_get_current_byte_index','xml_error_string',
+            'wordwrap','wddx_serialize_vars','wddx_serialize_value','wddx_packet_start','wddx_packet_end','wddx_deserialize',
+            'wddx_add_vars','vsprintf','vprintf','virtual','version_compare','var_export',
+            'var_dump','utf8_encode','utf8_decode','usort','usleep','user_error',
+            'urlencode','urldecode','unserialize','unregister_tick_function','unpack','unlink',
+            'unixtojd','uniqid','umask','uksort','ucwords','ucfirst',
+            'uasort','trim','trigger_error','touch','token_name','token_get_all',
+            'tmpfile','time','textdomain','tempnam','tanh','tan',
+            'system','syslog','symlink','substr_replace','substr_count','substr',
+            'strval','strtr','strtoupper','strtotime','strtolower','strtok',
+            'strstr','strspn','strrpos','strrev','strrchr','strpos',
+            'strncmp','strncasecmp','strnatcmp','strnatcasecmp','strlen','stristr',
+            'stripslashes','stripcslashes','strip_tags','strftime','stream_wrapper_register','stream_set_write_buffer',
+            'stream_set_timeout','stream_set_blocking','stream_select','stream_register_wrapper','stream_get_meta_data','stream_filter_prepend',
+            'stream_filter_append','stream_context_set_params','stream_context_set_option','stream_context_get_options','stream_context_create','strcspn',
+            'strcoll','strcmp','strchr','strcasecmp','str_word_count','str_shuffle',
+            'str_rot13','str_replace','str_repeat','str_pad','stat','sscanf',
+            'srand','sqrt','sql_regcase','sprintf','spliti','split',
+            'soundex','sort','socket_writev','socket_write','socket_strerror','socket_shutdown',
+            'socket_setopt','socket_set_timeout','socket_set_option','socket_set_nonblock','socket_set_blocking','socket_set_block',
+            'socket_sendto','socket_sendmsg','socket_send','socket_select','socket_recvmsg','socket_recvfrom',
+            'socket_recv','socket_readv','socket_read','socket_listen','socket_last_error','socket_iovec_set',
+            'socket_iovec_free','socket_iovec_fetch','socket_iovec_delete','socket_iovec_alloc','socket_iovec_add','socket_getsockname',
+            'socket_getpeername','socket_getopt','socket_get_status','socket_get_option','socket_create_pair','socket_create_listen',
+            'socket_create','socket_connect','socket_close','socket_clear_error','socket_bind','socket_accept',
+            'sleep','sizeof','sinh','sin','similar_text','shuffle',
+            'show_source','shmop_write','shmop_size','shmop_read','shmop_open','shmop_delete',
+            'shmop_close','shm_remove_var','shm_remove','shm_put_var','shm_get_var','shm_detach',
+            'shm_attach','shell_exec','sha1_file','sha1','settype','setlocale',
+            'setcookie','set_time_limit','set_socket_blocking','set_magic_quotes_runtime','set_include_path','set_file_buffer',
+            'set_error_handler','session_write_close','session_unset','session_unregister','session_start','session_set_save_handler',
+            'session_set_cookie_params','session_save_path','session_register','session_regenerate_id','session_name','session_module_name',
+            'session_is_registered','session_id','session_get_cookie_params','session_encode','session_destroy','session_decode',
+            'session_cache_limiter','session_cache_expire','serialize','sem_remove','sem_release','sem_get',
+            'sem_acquire','rtrim','rsort','round','rmdir','rewinddir',
+            'rewind','restore_include_path','restore_error_handler','reset','rename','register_tick_function',
+            'register_shutdown_function','realpath','readlink','readgzfile','readfile','readdir',
+            'read_exif_data','rawurlencode','rawurldecode','range','rand','rad2deg',
+            'quotemeta','quoted_printable_decode','putenv','proc_open','proc_close','printf',
+            'print_r','prev','preg_split','preg_replace_callback','preg_replace','preg_quote',
+            'preg_match_all','preg_match','preg_grep','pow','posix_uname','posix_ttyname',
+            'posix_times','posix_strerror','posix_setuid','posix_setsid','posix_setpgid','posix_setgid',
+            'posix_seteuid','posix_setegid','posix_mkfifo','posix_kill','posix_isatty','posix_getuid',
+            'posix_getsid','posix_getrlimit','posix_getpwuid','posix_getpwnam','posix_getppid','posix_getpid',
+            'posix_getpgrp','posix_getpgid','posix_getlogin','posix_getgroups','posix_getgrnam','posix_getgrgid',
+            'posix_getgid','posix_geteuid','posix_getegid','posix_getcwd','posix_get_last_error','posix_errno',
+            'posix_ctermid','pos','popen','pi','phpversion','phpinfo',
+            'phpcredits','php_uname','php_sapi_name','php_logo_guid','php_ini_scanned_files','pg_update',
+            'pg_untrace','pg_unescape_bytea','pg_tty','pg_trace','pg_setclientencoding','pg_set_client_encoding',
+            'pg_send_query','pg_select','pg_result_status','pg_result_seek','pg_result_error','pg_result',
+            'pg_query','pg_put_line','pg_port','pg_ping','pg_pconnect','pg_options',
+            'pg_numrows','pg_numfields','pg_num_rows','pg_num_fields','pg_meta_data','pg_lowrite',
+            'pg_lounlink','pg_loreadall','pg_loread','pg_loopen','pg_loimport','pg_loexport',
+            'pg_locreate','pg_loclose','pg_lo_write','pg_lo_unlink','pg_lo_tell','pg_lo_seek',
+            'pg_lo_read_all','pg_lo_read','pg_lo_open','pg_lo_import','pg_lo_export','pg_lo_create',
+            'pg_lo_close','pg_last_oid','pg_last_notice','pg_last_error','pg_insert','pg_host',
+            'pg_getlastoid','pg_get_result','pg_get_pid','pg_get_notify','pg_freeresult','pg_free_result',
+            'pg_fieldtype','pg_fieldsize','pg_fieldprtlen','pg_fieldnum','pg_fieldname','pg_fieldisnull',
+            'pg_field_type','pg_field_size','pg_field_prtlen','pg_field_num','pg_field_name','pg_field_is_null',
+            'pg_fetch_row','pg_fetch_result','pg_fetch_object','pg_fetch_assoc','pg_fetch_array','pg_fetch_all',
+            'pg_exec','pg_escape_string','pg_escape_bytea','pg_errormessage','pg_end_copy','pg_delete',
+            'pg_dbname','pg_copy_to','pg_copy_from','pg_convert','pg_connection_status','pg_connection_reset',
+            'pg_connection_busy','pg_connect','pg_cmdtuples','pg_close','pg_clientencoding','pg_client_encoding',
+            'pg_cancel_query','pg_affected_rows','pfsockopen','pclose','pathinfo','passthru',
+            'parse_url','parse_str','parse_ini_file','pack','overload','output_reset_rewrite_vars',
+            'output_add_rewrite_var','ord','openssl_x509_read','openssl_x509_parse','openssl_x509_free','openssl_x509_export_to_file',
+            'openssl_x509_export','openssl_x509_checkpurpose','openssl_x509_check_private_key','openssl_verify','openssl_sign','openssl_seal',
+            'openssl_public_encrypt','openssl_public_decrypt','openssl_private_encrypt','openssl_private_decrypt','openssl_pkey_new','openssl_pkey_get_public',
+            'openssl_pkey_get_private','openssl_pkey_free','openssl_pkey_export_to_file','openssl_pkey_export','openssl_pkcs7_verify','openssl_pkcs7_sign',
+            'openssl_pkcs7_encrypt','openssl_pkcs7_decrypt','openssl_open','openssl_get_publickey','openssl_get_privatekey','openssl_free_key',
+            'openssl_error_string','openssl_csr_sign','openssl_csr_new','openssl_csr_export_to_file','openssl_csr_export','openlog',
+            'opendir','octdec','ob_start','ob_list_handlers','ob_implicit_flush','ob_iconv_handler',
+            'ob_gzhandler','ob_get_status','ob_get_level','ob_get_length','ob_get_flush','ob_get_contents',
+            'ob_get_clean','ob_flush','ob_end_flush','ob_end_clean','ob_clean','number_format',
+            'nl_langinfo','nl2br','ngettext','next','natsort','natcasesort',
+            'mysql_unbuffered_query','mysql_thread_id','mysql_tablename','mysql_table_name','mysql_stat','mysql_selectdb',
+            'mysql_select_db','mysql_result','mysql_real_escape_string','mysql_query','mysql_ping','mysql_pconnect',
+            'mysql_numrows','mysql_numfields','mysql_num_rows','mysql_num_fields','mysql_listtables','mysql_listfields',
+            'mysql_listdbs','mysql_list_tables','mysql_list_processes','mysql_list_fields','mysql_list_dbs','mysql_insert_id',
+            'mysql_info','mysql_get_server_info','mysql_get_proto_info','mysql_get_host_info','mysql_get_client_info','mysql_freeresult',
+            'mysql_free_result','mysql_fieldtype','mysql_fieldtable','mysql_fieldname','mysql_fieldlen','mysql_fieldflags',
+            'mysql_field_type','mysql_field_table','mysql_field_seek','mysql_field_name','mysql_field_len','mysql_field_flags',
+            'mysql_fetch_row','mysql_fetch_object','mysql_fetch_lengths','mysql_fetch_field','mysql_fetch_assoc','mysql_fetch_array',
+            'mysql_escape_string','mysql_error','mysql_errno','mysql_dropdb','mysql_drop_db','mysql_dbname',
+            'mysql_db_query','mysql_db_name','mysql_data_seek','mysql_createdb','mysql_create_db','mysql_connect',
+            'mysql_close','mysql_client_encoding','mysql_affected_rows','mysql','mt_srand','mt_rand',
+            'mt_getrandmax','move_uploaded_file','money_format','mktime','mkdir','min',
+            'microtime','method_exists','metaphone','memory_get_usage','md5_file','md5',
+            'mbsubstr','mbstrrpos','mbstrpos','mbstrlen','mbstrcut','mbsplit',
+            'mbregex_encoding','mberegi_replace','mberegi','mbereg_search_setpos','mbereg_search_regs','mbereg_search_pos',
+            'mbereg_search_init','mbereg_search_getregs','mbereg_search_getpos','mbereg_search','mbereg_replace','mbereg_match',
+            'mbereg','mb_substr_count','mb_substr','mb_substitute_character','mb_strwidth','mb_strtoupper',
+            'mb_strtolower','mb_strrpos','mb_strpos','mb_strlen','mb_strimwidth','mb_strcut',
+            'mb_split','mb_send_mail','mb_regex_set_options','mb_regex_encoding','mb_preferred_mime_name','mb_parse_str',
+            'mb_output_handler','mb_language','mb_internal_encoding','mb_http_output','mb_http_input','mb_get_info',
+            'mb_eregi_replace','mb_eregi','mb_ereg_search_setpos','mb_ereg_search_regs','mb_ereg_search_pos','mb_ereg_search_init',
+            'mb_ereg_search_getregs','mb_ereg_search_getpos','mb_ereg_search','mb_ereg_replace','mb_ereg_match','mb_ereg',
+            'mb_encode_numericentity','mb_encode_mimeheader','mb_detect_order','mb_detect_encoding','mb_decode_numericentity','mb_decode_mimeheader',
+            'mb_convert_variables','mb_convert_kana','mb_convert_encoding','mb_convert_case','max','mail',
+            'magic_quotes_runtime','ltrim','lstat','long2ip','log1p','log10',
+            'log','localtime','localeconv','linkinfo','link','levenshtein',
+            'lcg_value','ksort','krsort','key_exists','key','juliantojd',
+            'join','jewishtojd','jdtounix','jdtojulian','jdtojewish','jdtogregorian',
+            'jdtofrench','jdmonthname','jddayofweek','is_writeable','is_writable','is_uploaded_file',
+            'is_subclass_of','is_string','is_scalar','is_resource','is_real','is_readable',
+            'is_object','is_numeric','is_null','is_nan','is_long','is_link',
+            'is_integer','is_int','is_infinite','is_float','is_finite','is_file',
+            'is_executable','is_double','is_dir','is_callable','is_bool','is_array',
+            'is_a','iptcparse','iptcembed','ip2long','intval','ini_set',
+            'ini_restore','ini_get_all','ini_get','ini_alter','in_array','import_request_variables',
+            'implode','image_type_to_mime_type','ignore_user_abort','iconv_set_encoding','iconv_get_encoding','iconv',
+            'i18n_mime_header_encode','i18n_mime_header_decode','i18n_ja_jp_hantozen','i18n_internal_encoding','i18n_http_output','i18n_http_input',
+            'i18n_discover_encoding','i18n_convert','hypot','htmlspecialchars','htmlentities','html_entity_decode',
+            'highlight_string','highlight_file','hexdec','hebrevc','hebrev','headers_sent',
+            'header','gzwrite','gzuncompress','gztell','gzseek','gzrewind',
+            'gzread','gzputs','gzpassthru','gzopen','gzinflate','gzgetss',
+            'gzgets','gzgetc','gzfile','gzeof','gzencode','gzdeflate',
+            'gzcompress','gzclose','gregoriantojd','gmstrftime','gmmktime','gmdate',
+            'glob','gettype','gettimeofday','gettext','getservbyport','getservbyname',
+            'getrusage','getrandmax','getprotobynumber','getprotobyname','getopt','getmyuid',
+            'getmypid','getmyinode','getmygid','getmxrr','getlastmod','getimagesize',
+            'gethostbynamel','gethostbyname','gethostbyaddr','getenv','getdate','getcwd',
+            'getallheaders','get_resource_type','get_required_files','get_parent_class','get_object_vars','get_meta_tags',
+            'get_magic_quotes_runtime','get_magic_quotes_gpc','get_loaded_extensions','get_included_files','get_include_path','get_html_translation_table',
+            'get_extension_funcs','get_defined_vars','get_defined_functions','get_defined_constants','get_declared_classes','get_current_user',
+            'get_class_vars','get_class_methods','get_class','get_cfg_var','get_browser','fwrite',
+            'function_exists','func_num_args','func_get_args','func_get_arg','ftruncate','ftp_systype',
+            'ftp_ssl_connect','ftp_size','ftp_site','ftp_set_option','ftp_rmdir','ftp_rename',
+            'ftp_rawlist','ftp_quit','ftp_pwd','ftp_put','ftp_pasv','ftp_nlist',
+            'ftp_nb_put','ftp_nb_get','ftp_nb_fput','ftp_nb_fget','ftp_nb_continue','ftp_mkdir',
+            'ftp_mdtm','ftp_login','ftp_get_option','ftp_get','ftp_fput','ftp_fget',
+            'ftp_exec','ftp_delete','ftp_connect','ftp_close','ftp_chdir','ftp_cdup',
+            'ftok','ftell','fstat','fsockopen','fseek','fscanf',
+            'frenchtojd','fread','fputs','fpassthru','fopen','fnmatch',
+            'fmod','flush','floor','flock','floatval','filetype',
+            'filesize','filepro_rowcount','filepro_retrieve','filepro_fieldwidth','filepro_fieldtype','filepro_fieldname',
+            'filepro_fieldcount','filepro','fileperms','fileowner','filemtime','fileinode',
+            'filegroup','filectime','fileatime','file_get_contents','file_exists','file',
+            'fgetss','fgets','fgetcsv','fgetc','fflush','feof',
+            'fclose','ezmlm_hash','extract','extension_loaded','expm1','explode',
+            'exp','exif_thumbnail','exif_tagname','exif_read_data','exif_imagetype','exec',
+            'escapeshellcmd','escapeshellarg','error_reporting','error_log','eregi_replace','eregi',
+            'ereg_replace','ereg','end','easter_days','easter_date','each',
+            'doubleval','dngettext','dl','diskfreespace','disk_total_space','disk_free_space',
+            'dirname','dir','dgettext','deg2rad','defined','define_syslog_variables',
+            'define','decoct','dechex','decbin','debug_zval_dump','debug_backtrace',
+            'deaggregate','dcngettext','dcgettext','dba_sync','dba_replace','dba_popen',
+            'dba_optimize','dba_open','dba_nextkey','dba_list','dba_insert','dba_handlers',
+            'dba_firstkey','dba_fetch','dba_exists','dba_delete','dba_close','date',
+            'current','ctype_xdigit','ctype_upper','ctype_space','ctype_punct','ctype_print',
+            'ctype_lower','ctype_graph','ctype_digit','ctype_cntrl','ctype_alpha','ctype_alnum',
+            'crypt','create_function','crc32','count_chars','count','cosh',
+            'cos','copy','convert_cyr_string','constant','connection_status','connection_aborted',
+            'compact','closelog','closedir','clearstatcache','class_exists','chunk_split',
+            'chr','chown','chop','chmod','chgrp','checkdnsrr',
+            'checkdate','chdir','ceil','call_user_method_array','call_user_method','call_user_func_array',
+            'call_user_func','cal_to_jd','cal_info','cal_from_jd','cal_days_in_month','bzwrite',
+            'bzread','bzopen','bzflush','bzerrstr','bzerror','bzerrno',
+            'bzdecompress','bzcompress','bzclose','bindtextdomain','bindec','bind_textdomain_codeset',
+            'bin2hex','bcsub','bcsqrt','bcscale','bcpow','bcmul',
+            'bcmod','bcdiv','bccomp','bcadd','basename','base_convert',
+            'base64_encode','base64_decode','atanh','atan2','atan','assert_options',
+            'assert','asort','asinh','asin','arsort','array_walk',
+            'array_values','array_unshift','array_unique','array_sum','array_splice','array_slice',
+            'array_shift','array_search','array_reverse','array_reduce','array_rand','array_push',
+            'array_pop','array_pad','array_multisort','array_merge_recursive','array_merge','array_map',
+            'array_keys','array_key_exists','array_intersect_assoc','array_intersect','array_flip','array_filter',
+            'array_fill','array_diff_assoc','array_diff','array_count_values','array_chunk','array_change_key_case',
+            'apache_setenv','apache_response_headers','apache_request_headers','apache_note','apache_lookup_uri','apache_get_version',
+            'apache_child_terminate','aggregation_info','aggregate_properties_by_regexp','aggregate_properties_by_list','aggregate_properties','aggregate_methods_by_regexp',
+            'aggregate_methods_by_list','aggregate_methods','aggregate','addslashes','addcslashes','acosh',
+            'acos','abs','_','echo', 'print', 'global', 'static', 'exit', 'array', 'empty',
+            'eval', 'isset', 'unset', 'die', 'list'
+            )
+        ),
+    'SYMBOLS' => array(
+        '(', ')', '[', ']', '{', '}', '!', '@', '%', '&', '*', '|', '/', '<', '>'
+        ),
+    'CASE_SENSITIVE' => array(
+        GESHI_COMMENTS => false,
+        1 => false,
+        2 => false,
+        3 => false,
+        ),
+    'STYLES' => array(
+        'KEYWORDS' => array(
+            1 => 'color: #b1b100;',
+            2 => 'color: #000000; font-weight: bold;',
+            3 => 'color: #000066;'
+            ),
+        'COMMENTS' => array(
+            1 => 'color: #808080; font-style: italic;',
+            2 => 'color: #808080; font-style: italic;',
+            'MULTI' => 'color: #808080; font-style: italic;'
+            ),
+        'ESCAPE_CHAR' => array(
+            0 => 'color: #000099; font-weight: bold;'
+            ),
+        'BRACKETS' => array(
+            0 => 'color: #66cc66;'
+            ),
+        'STRINGS' => array(
+            0 => 'color: #ff0000;'
+            ),
+        'NUMBERS' => array(
+            0 => 'color: #cc66cc;'
+            ),
+        'METHODS' => array(
+            1 => 'color: #006600;',
+            2 => 'color: #006600;'
+            ),
+        'SYMBOLS' => array(
+            0 => 'color: #66cc66;'
+            ),
+        'REGEXPS' => array(
+            0 => 'color: #0000ff;',
+            1 => 'color: #ff0000'
+            ),
+        'SCRIPT' => array(
+            0 => '',
+            1 => '',
+            2 => '',
+            3 => ''
+            )
+        ),
+    'URLS' => array(
+        1 => '',
+        2 => '',
+        3 => 'http://www.php.net/{FNAME}',
+        4 => ''
+        ),
+    'OOLANG' => true,
+    'OBJECT_SPLITTERS' => array(
+        1 => '-&gt;',
+        2 => '::'
+        ),
+    'REGEXPS' => array(
+        0 => "[\\$]{1,2}[a-zA-Z_][a-zA-Z0-9_]*",
+        1 => array(
+            GESHI_SEARCH  => "([a-zA-Z]+)(\n)(.*)(\n)(\\1;?)",
+            GESHI_REPLACE => '\3',
+            GESHI_BEFORE => '\1\2',
+            GESHI_AFTER => '\4\5',
+            GESHI_MODIFIERS => 'siU'
+            )
+        ),
+    'STRICT_MODE_APPLIES' => GESHI_MAYBE,
+    'SCRIPT_DELIMITERS' => array(
+        0 => array(
+            '<?php' => '?>'
+            ),
+        1 => array(
+            '<?' => '?>'
+            ),
+        2 => array(
+            '<%' => '%>'
+            ),
+        3 => array(
+            '<script language="php">' => '</script>'
+            )
+        ),
+    'HIGHLIGHT_STRICT_BLOCK' => array(
+        0 => true,
+        1 => true,
+        2 => true,
+        3 => true
+        ),
+    'TAB_WIDTH' => 4
+);
+
+?>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/plugins/geshi/geshi/plsql.php	Sun Feb 10 18:10:52 2008 -0500
@@ -0,0 +1,256 @@
+<?php
+/*************************************************************************************
+ * plsql.php
+ * -------
+ * Author: Victor Engmark <victor.engmark@gmail.com>
+ * Copyright: (c) 2006 Victor Engmark (http://l0b0.net/)
+ * Release Version: 1.0.7.20
+ * Date Started: 2006/10/26
+ *
+ * Oracle 9.2 PL/SQL language file for GeSHi.
+ * Formatting is based on the default setup of TOAD 8.6.
+ *
+ * CHANGES
+ * -------
+ * 2006/10/27 (1.0.0)
+ *	-	First Release
+ *
+ * TODO (updated 2006/10/27)
+ * -------------------------
+ * * Add < and > to brackets
+ * * Remove symbols which are also comment delimiters / quote marks?
+ *
+ *************************************************************************************
+ *
+ *		 This file is part of GeSHi.
+ *
+ *	 GeSHi is free software; you can 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.
+ *
+ *	 GeSHi is distributed in the hope that it will be useful,
+ *	 but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *	 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.	See the
+ *	 GNU General Public License for more details.
+ *
+ *	 You should have received a copy of the GNU General Public License
+ *	 along with GeSHi; if not, write to the Free Software
+ *	 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA	02111-1307	USA
+ *
+ ************************************************************************************/
+
+$language_data = array (
+	'LANG_NAME' => 'PL/SQL',
+	'COMMENT_SINGLE' => array(1 =>'--'), //http://download-uk.oracle.com/docs/cd/B10501_01/appdev.920/a96624/02_funds.htm#2930
+	'COMMENT_MULTI' => array('/*' => '*/'), //http://download-uk.oracle.com/docs/cd/B10501_01/appdev.920/a96624/02_funds.htm#2950
+	'CASE_KEYWORDS' => GESHI_CAPS_UPPER,
+	'QUOTEMARKS' => array("'", '"'), //http://download-uk.oracle.com/docs/cd/B10501_01/appdev.920/a96624/02_funds.htm
+	'ESCAPE_CHAR' => '\\',
+	'KEYWORDS' => array(
+		//PL/SQL reserved keywords (http://download-uk.oracle.com/docs/cd/B10501_01/appdev.920/a96624/f_words.htm#LNPLS019)
+        1 => array('ZONE', 'YEAR', 'WRITE', 'WORK', 'WITH', 'WHILE', 'WHERE', 
+        'WHENEVER', 'WHEN', 'VIEW', 'VARCHAR2', 'VARCHAR', 'VALUES', 
+        'VALIDATE', 'USE', 'UPDATE', 'UNIQUE', 'UNION', 'TYPE', 'TRUE', 
+        'TRIGGER', 'TO', 'TIMEZONE_REGION', 'TIMEZONE_MINUTE', 'TIMEZONE_HOUR', 
+        'TIMEZONE_ABBR', 'TIMESTAMP', 'TIME', 'THEN', 'TABLE', 'SYNONYM', 
+        'SUCCESSFUL', 'SUBTYPE', 'START', 'SQLERRM', 'SQLCODE', 'SQL', 'SPACE', 
+        'SMALLINT', 'SHARE', 'SET', 'SEPARATE', 'SELECT', 'SECOND', 
+        'SAVEPOINT', 'ROWTYPE', 'ROWNUM', 'ROWID', 'ROW', 'ROLLBACK', 
+        'REVERSE', 'RETURN', 'RELEASE', 'RECORD', 'REAL', 'RAW', 'RANGE', 
+        'RAISE', 'PUBLIC', 'PROCEDURE', 'PRIVATE', 'PRIOR', 'PRAGMA', 
+        'POSITIVEN', 'POSITIVE', 'PLS_INTEGER', 'PCTFREE', 'PARTITION', 
+        'PACKAGE', 'OUT', 'OTHERS', 'ORGANIZATION', 'ORDER', 'OR', 'OPTION', 
+        'OPERATOR', 'OPEN', 'OPAQUE', 'ON', 'OF', 'OCIROWID', 'NUMBER_BASE', 
+        'NUMBER', 'NULL', 'NOWAIT', 'NOT', 'NOCOPY', 'NEXTVAL', 'NEW', 
+        'NATURALN', 'NATURAL', 'MONTH', 'MODE', 'MLSLABEL', 'MINUTE', 'MINUS', 
+        'LOOP', 'LONG', 'LOCK', 'LIMITED', 'LIKE', 'LEVEL', 'JAVA', 
+        'ISOLATION', 'IS', 'INTO', 'INTERVAL', 'INTERSECT', 'INTERFACE', 
+        'INTEGER', 'INSERT', 'INDICATOR', 'INDEX', 'IN', 'IMMEDIATE', 'IF', 
+        'HOUR', 'HEAP', 'HAVING', 'GROUP', 'GOTO', 'FUNCTION', 'FROM', 
+        'FORALL', 'FOR', 'FLOAT', 'FETCH', 'FALSE', 'EXTENDS', 'EXIT', 
+        'EXISTS', 'EXECUTE', 'EXCLUSIVE', 'EXCEPTION', 'END', 'ELSIF', 'ELSE', 
+        'DROP', 'DO', 'DISTINCT', 'DESC', 'DELETE', 'DEFAULT', 'DECLARE', 
+        'DECIMAL', 'DAY', 'DATE', 'CURSOR', 'CURRVAL', 'CURRENT', 'CREATE', 
+        'CONSTANT', 'CONNECT', 'COMPRESS', 'COMMIT', 'COMMENT', 'COLLECT', 
+        'CLUSTER', 'CLOSE', 'CHECK', 'CHAR_BASE', 'CHAR', 'CASE', 'BY', 'BULK', 
+        'BOOLEAN', 'BODY', 'BINARY_INTEGER', 'BETWEEN', 'BEGIN', 'AUTHID', 
+        'AT', 'ASC', 'AS', 'ARRAY', 'ANY', 'AND', 'ALTER', 'ALL'),
+		//SQL functions (http://download-uk.oracle.com/docs/cd/B10501_01/server.920/a96540/toc.htm & http://download-uk.oracle.com/docs/cd/B10501_01/server.920/a96540/functions101a.htm#85925)
+        2 => array('XMLTRANSFORM', 'XMLSEQUENCE', 'XMLFOREST', 'XMLELEMENT', 
+        'XMLCONCAT', 'XMLCOLATTVAL', 'XMLAGG', 'WIDTH_BUCKET', 'VSIZE', 
+        'VARIANCE', 'VAR_SAMP', 'VAR_POP', 'VALUE', 'USERENV', 'USER', 'UPPER', 
+        'UPDATEXML', 'UNISTR', 'UID', 'TZ_OFFSET', 'TRUNC', 'TRIM', 'TREAT', 
+        'TRANSLATE', 'TO_YMINTERVAL', 'TO_TIMESTAMP_TZ', 'TO_TIMESTAMP', 
+        'TO_SINGLE_BYTE', 'TO_NUMBER', 'TO_NCLOB', 'TO_NCHAR', 'TO_MULTI_BYTE', 
+        'TO_LOB', 'TO_DSINTERVAL', 'TO_DATE', 'TO_CLOB', 'TO_CHAR', 'TANH', 
+        'TAN', 'SYSTIMESTAMP', 'SYSDATE', 'SYS_XMLGEN', 'SYS_XMLAGG', 
+        'SYS_TYPEID', 'SYS_GUID', 'SYS_EXTRACT_UTC', 'SYS_DBURIGEN', 
+        'SYS_CONTEXT', 'SYS_CONNECT_BY_PATH', 'SUM', 'SUBSTR', 'STDDEV_SAMP', 
+        'STDDEV_POP', 'STDDEV', 'SQRT', 'SOUNDEX', 'SINH', 'SIN', 'SIGN', 
+        'SESSIONTIMEZONE', 'RTRIM', 'RPAD', 'ROWIDTONCHAR', 'ROWIDTOCHAR', 
+        'ROW_NUMBER', 'ROUND', 'REPLACE', 'REGR_SYY', 'REGR_SXY', 'REGR_SXX', 
+        'REGR_SLOPE', 'REGR_R2', 'REGR_INTERCEPT', 'REGR_COUNT', 'REGR_AVGY', 
+        'REGR_AVGX', 'REFTOHEX', 'REF', 'RAWTONHEX', 'RAWTOHEX', 
+        'RATIO_TO_REPORT', 'RANK', 'POWER', 'PERCENTILE_DISC', 
+        'PERCENTILE_CONT', 'PERCENT_RANK', 'PATH', 'NVL2', 'NVL', 
+        'NUMTOYMINTERVAL', 'NUMTODSINTERVAL', 'NULLIF', 'NTILE', 'NLSSORT', 
+        'NLS_UPPER', 'NLS_LOWER', 'NLS_INITCAP', 'NLS_CHARSET_NAME', 
+        'NLS_CHARSET_ID', 'NLS_CHARSET_DECL_LEN', 'NEXT_DAY', 'NEW_TIME', 
+        'NCHR', 'MONTHS_BETWEEN', 'MOD', 'MIN', 'MAX', 'MAKE_REF', 'LTRIM', 
+        'LPAD', 'LOWER', 'LOG', 'LOCALTIMESTAMP', 'LN', 'LENGTH', 'LEAST', 
+        'LEAD', 'LAST_VALUE', 'LAST_DAY', 'LAST', 'LAG', 'INSTR', 'INITCAP', 
+        'HEXTORAW', 'GROUPING_ID', 'GROUPING', 'GROUP_ID', 'GREATEST', 
+        'FROM_TZ', 'FLOOR', 'FIRST_VALUE', 'FIRST', 'EXTRACTVALUE', 'EXTRACT', 
+        'EXP', 'EXISTSNODE', 'EMPTY_CLOB', 'EMPTY_BLOB', 'DUMP', 'DEREF', 
+        'DEPTH', 'DENSE_RANK', 'DECOMPOSE', 'DECODE', 'DBTIMEZONE', 
+        'CURRENT_TIMESTAMP', 'CURRENT_DATE', 'CUME_DIST', 'COVAR_SAMP', 
+        'COVAR_POP', 'COUNT', 'COSH', 'COS', 'CORR', 'CONVERT', 'CONCAT', 
+        'COMPOSE', 'COALESCE', 'CHR', 'CHARTOROWID', 'CEIL', 'CAST', 'BITAND', 
+        'BIN_TO_NUM', 'BFILENAME', 'AVG', 'ATAN2', 'ATAN', 'ASIN', 'ASCIISTR', 
+        'ASCII', 'ADD_MONTHS', 'ACOS', 'ABS'),
+		//PL/SQL packages (http://download-uk.oracle.com/docs/cd/B10501_01/appdev.920/a96612/intro2.htm#1025672)
+        3 => array('UTL_URL', 'UTL_TCP', 'UTL_SMTP', 'UTL_REF', 'UTL_RAW', 
+        'UTL_PG', 'UTL_INADDR', 'UTL_HTTP', 'UTL_FILE', 'UTL_ENCODE', 
+        'UTL_COLL', 'SDO_UTIL', 'SDO_TUNE', 'SDO_MIGRATE', 'SDO_LRS', 
+        'SDO_GEOM', 'SDO_CS', 'DMBS_XMLQUERY', 'DMBS_FLASHBACK', 
+        'DMBS_DEFER_SYS', 'DEBUG_EXTPROC', 'DBMS_XSLPROCESSOR', 'DBMS_XPLAN', 
+        'DBMS_XMLSCHEMA', 'DBMS_XMLSAVE', 'DBMS_XMLPARSER', 'DBMS_XMLGEN', 
+        'DBMS_XMLDOM', 'DBMS_XDBT', 'DBMS_XDB_VERSION', 'DBMS_XDB', 'DBMS_WM', 
+        'DBMS_UTILITY', 'DBMS_TYPES', 'DBMS_TTS', 'DBMS_TRANSFORM', 
+        'DBMS_TRANSACTION', 'DBMS_TRACE', 'DBMS_STRM_A', 'DBMS_STRM', 
+        'DBMS_STORAGE_MAP', 'DBMS_STATS', 'DBMS_SQL', 'DBMS_SPACE_ADMIN', 
+        'DBMS_SPACE', 'DBMS_SHARED_POOL', 'DBMS_SESSION', 'DBMS_RULE_ADM', 
+        'DBMS_RULE', 'DBMS_ROWID', 'DBMS_RLS', 'DBMS_RESUMABLE', 
+        'DBMS_RESOURCE_MANAGER_PRIVS', 'DBMS_RESOURCE_MANAGER', 'DBMS_REPUTIL', 
+        'DBMS_REPCAT_RGT', 'DBMS_REPCAT_INSTATIATE', 'DBMS_REPCAT_ADMIN', 
+        'DBMS_REPCAT', 'DBMS_REPAIR', 'DBMS_REFRESH', 'DBMS_REDEFINITION', 
+        'DBMS_RECTIFIER_DIFF', 'DBMS_RANDOM', 'DBMS_PROPAGATION_ADM', 
+        'DBMS_PROFILER', 'DBMS_PIPE', 'DBMS_PCLXUTIL', 'DBMS_OUTPUT', 
+        'DBMS_OUTLN_EDIT', 'DBMS_OUTLN', 'DBMS_ORACLE_TRACE_USER', 
+        'DBMS_ORACLE_TRACE_AGENT', 'DBMS_OLAP', 'DBMS_OFFLINE_SNAPSHOT', 
+        'DBMS_OFFLINE_OG', 'DBMS_ODCI', 'DBMS_OBFUSCATION_TOOLKIT', 
+        'DBMS_MVIEW', 'DBMS_MGWMSG', 'DBMS_MGWADM', 'DBMS_METADATA', 
+        'DBMS_LOGSTDBY', 'DBMS_LOGMNR_D', 'DBMS_LOGMNR_CDC_SUBSCRIBE', 
+        'DBMS_LOGMNR_CDC_PUBLISH', 'DBMS_LOGMNR', 'DBMS_LOCK', 'DBMS_LOB', 
+        'DBMS_LIBCACHE', 'DBMS_LDAP', 'DBMS_JOB', 'DBMS_IOT', 
+        'DBMS_HS_PASSTHROUGH', 'DBMS_FGA', 'DBMS_DISTRIBUTED_TRUST_ADMIN', 
+        'DBMS_DESCRIBE', 'DBMS_DEFER_QUERY', 'DBMS_DEFER', 'DBMS_DEBUG', 
+        'DBMS_DDL', 'DBMS_CAPTURE_ADM', 'DBMS_AW', 'DBMS_AQELM', 'DBMS_AQADM', 
+        'DBMS_AQ', 'DBMS_APPLY_ADM', 'DBMS_APPLICATION_INFO', 'DBMS_ALERT', 
+        'CWM2_OLAP_AW_ACCESS'),
+		//PL/SQL predefined exceptions (http://download-uk.oracle.com/docs/cd/B10501_01/appdev.920/a96624/07_errs.htm#784)
+        4 => array('ZERO_DIVIDE', 'VALUE_ERROR', 'TOO_MANY_ROWS', 
+        'TIMEOUT_ON_RESOURCE', 'SYS_INVALID_ROWID', 'SUBSCRIPT_OUTSIDE_LIMIT', 
+        'SUBSCRIPT_BEYOND_COUNT', 'STORAGE_ERROR', 'SELF_IS_NULL', 
+        'ROWTYPE_MISMATCH', 'PROGRAM_ERROR', 'NOT_LOGGED_ON', 'NO_DATA_FOUND', 
+        'LOGIN_DENIED', 'INVALID_NUMBER', 'INVALID_CURSOR', 'DUP_VAL_ON_INDEX', 
+        'CURSOR_ALREADY_OPEN', 'COLLECTION_IS_NULL', 'CASE_NOT_FOUND', 
+        'ACCESS_INTO_NULL'),
+		//Static data dictionary views (http://download-uk.oracle.com/docs/cd/B10501_01/server.920/a96536/ch2.htm)
+        5 => array('USER_REPSITES', 'USER_REPSCHEMA', 
+        'USER_REPRESOLUTION_STATISTICS', 'USER_REPRESOLUTION_METHOD', 
+        'USER_REPRESOLUTION', 'USER_REPRESOL_STATS_CONTROL', 'USER_REPPROP', 
+        'USER_REPPRIORITY_GROUP', 'USER_REPPRIORITY', 
+        'USER_REPPARAMETER_COLUMN', 'USER_REPOBJECT', 'USER_REPKEY_COLUMNS', 
+        'USER_REPGROUPED_COLUMN', 'USER_REPGROUP_PRIVILEGES', 'USER_REPGROUP', 
+        'USER_REPGENOBJECTS', 'USER_REPGENERATED', 'USER_REPFLAVORS', 
+        'USER_REPFLAVOR_OBJECTS', 'USER_REPFLAVOR_COLUMNS', 'USER_REPDDL', 
+        'USER_REPCONFLICT', 'USER_REPCOLUMN_GROUP', 'USER_REPCOLUMN', 
+        'USER_REPCATLOG', 'USER_REPCAT_USER_PARM_VALUES', 
+        'USER_REPCAT_USER_AUTHORIZATIONS', 'USER_REPCAT_TEMPLATE_SITES', 
+        'USER_REPCAT_TEMPLATE_PARMS', 'USER_REPCAT_TEMPLATE_OBJECTS', 
+        'USER_REPCAT_REFRESH_TEMPLATES', 'USER_REPCAT', 'USER_REPAUDIT_COLUMN', 
+        'USER_REPAUDIT_ATTRIBUTE', 'DBA_REPSITES_NEW', 'DBA_REPSITES', 
+        'DBA_REPSCHEMA', 'DBA_REPRESOLUTION_STATISTICS', 
+        'DBA_REPRESOLUTION_METHOD', 'DBA_REPRESOLUTION', 
+        'DBA_REPRESOL_STATS_CONTROL', 'DBA_REPPROP', 'DBA_REPPRIORITY_GROUP', 
+        'DBA_REPPRIORITY', 'DBA_REPPARAMETER_COLUMN', 'DBA_REPOBJECT', 
+        'DBA_REPKEY_COLUMNS', 'DBA_REPGROUPED_COLUMN', 
+        'DBA_REPGROUP_PRIVILEGES', 'DBA_REPGROUP', 'DBA_REPGENOBJECTS', 
+        'DBA_REPGENERATED', 'DBA_REPFLAVORS', 'DBA_REPFLAVOR_OBJECTS', 
+        'DBA_REPFLAVOR_COLUMNS', 'DBA_REPEXTENSIONS', 'DBA_REPDDL', 
+        'DBA_REPCONFLICT', 'DBA_REPCOLUMN_GROUP', 'DBA_REPCOLUMN', 
+        'DBA_REPCATLOG', 'DBA_REPCAT_USER_PARM_VALUES', 
+        'DBA_REPCAT_USER_AUTHORIZATIONS', 'DBA_REPCAT_TEMPLATE_SITES', 
+        'DBA_REPCAT_TEMPLATE_PARMS', 'DBA_REPCAT_TEMPLATE_OBJECTS', 
+        'DBA_REPCAT_REFRESH_TEMPLATES', 'DBA_REPCAT_EXCEPTIONS', 'DBA_REPCAT', 
+        'DBA_REPAUDIT_COLUMN', 'DBA_REPAUDIT_ATTRIBUTE', 'ALL_REPSITES', 
+        'ALL_REPSCHEMA', 'ALL_REPRESOLUTION_STATISTICS', 
+        'ALL_REPRESOLUTION_METHOD', 'ALL_REPRESOLUTION', 
+        'ALL_REPRESOL_STATS_CONTROL', 'ALL_REPPROP', 'ALL_REPPRIORITY_GROUP', 
+        'ALL_REPPRIORITY', 'ALL_REPPARAMETER_COLUMN', 'ALL_REPOBJECT', 
+        'ALL_REPKEY_COLUMNS', 'ALL_REPGROUPED_COLUMN', 
+        'ALL_REPGROUP_PRIVILEGES', 'ALL_REPGROUP', 'ALL_REPGENOBJECTS', 
+        'ALL_REPGENERATED', 'ALL_REPFLAVORS', 'ALL_REPFLAVOR_OBJECTS', 
+        'ALL_REPFLAVOR_COLUMNS', 'ALL_REPDDL', 'ALL_REPCONFLICT', 
+        'ALL_REPCOLUMN_GROUP', 'ALL_REPCOLUMN', 'ALL_REPCATLOG', 
+        'ALL_REPCAT_USER_PARM_VALUES', 'ALL_REPCAT_USER_AUTHORIZATIONS', 
+        'ALL_REPCAT_TEMPLATE_SITES', 'ALL_REPCAT_TEMPLATE_PARMS', 
+        'ALL_REPCAT_TEMPLATE_OBJECTS', 'ALL_REPCAT_REFRESH_TEMPLATES', 
+        'ALL_REPCAT', 'ALL_REPAUDIT_COLUMN', 'ALL_REPAUDIT_ATTRIBUTE')
+		),
+	'SYMBOLS' => array(
+		//PL/SQL delimiters (http://download-uk.oracle.com/docs/cd/B10501_01/appdev.920/a96624/02_funds.htm#2732)
+		'+', '%', "'", '.', '/', '(', ')', ':', ',', '*', '"', '=', '<', '>', '@', ';', '-', ':=', '=>', '||', '**', '<<', '>>', '/*', '*/', '..', '<>', '!=', '~=', '^=', '<=', '>='
+		),
+	'CASE_SENSITIVE' => array(
+		GESHI_COMMENTS => false,
+		1 => false,
+		2 => false,
+		3 => false,
+		4 => false,
+		5 => false
+		),
+	'STYLES' => array(
+		'KEYWORDS' => array(
+			1 => 'color: #00F;',
+			2 => 'color: #000;',
+			3 => 'color: #00F;',
+			4 => 'color: #F00;',
+			5 => 'color: #800;'
+			),
+		'COMMENTS' => array(
+			1 => 'color: #080; font-style: italic;',
+			'MULTI' => 'color: #080; font-style: italic;'
+			),
+		'ESCAPE_CHAR' => array(
+			0 => 'color: #000; font-weight: bold;'
+			),
+		'BRACKETS' => array(
+			0 => 'color: #00F;'
+			),
+		'STRINGS' => array(
+			0 => 'color: #F00;'
+			),
+		'NUMBERS' => array(
+			0 => 'color: #800;'
+			),
+		'METHODS' => array(
+			0 => 'color: #0F0;'
+			),
+		'SYMBOLS' => array(
+			0 => 'color: #00F;'
+			),
+		'REGEXPS' => array(
+			),
+		'SCRIPT' => array(
+			0 => 'color: #0F0;'
+			)
+		),
+		'URLS' => array(
+			1 => 'http://www.oracle.com/pls/db92/db92.drilldown?word={FNAME}',
+			2 => 'http://www.oracle.com/pls/db92/db92.drilldown?word={FNAME}',
+			3 => 'http://www.oracle.com/pls/db92/db92.drilldown?word={FNAME}',
+			4 => 'http://www.oracle.com/pls/db92/db92.drilldown?word={FNAME}',
+			5 => 'http://www.oracle.com/pls/db92/db92.drilldown?word={FNAME}'
+			),
+	'OOLANG' => false,
+	'OBJECT_SPLITTERS' => array(),
+	'REGEXPS' => array(),
+	'STRICT_MODE_APPLIES' => GESHI_NEVER,
+	'SCRIPT_DELIMITERS' => array(),
+	'HIGHLIGHT_STRICT_BLOCK' => array()
+);
+
+?>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/plugins/geshi/geshi/python.php	Sun Feb 10 18:10:52 2008 -0500
@@ -0,0 +1,227 @@
+<?php
+/*************************************************************************************
+ * python.php
+ * ----------
+ * Author: Roberto Rossi (rsoftware@altervista.org)
+ * Copyright: (c) 2004 Roberto Rossi (http://rsoftware.altervista.org), Nigel McNie (http://qbnz.com/highlighter)
+ * Release Version: 1.0.7.20
+ * Date Started: 2004/08/30
+ *
+ * Python language file for GeSHi.
+ *
+ * CHANGES
+ * -------
+ * 2005/05/26
+ *  -  Modifications by Tim (tim@skreak.com): added more keyword categories, tweaked colors
+ * 2004/11/27 (1.0.1)
+ *  -  Added support for multiple object splitters
+ * 2004/08/30 (1.0.0)
+ *  -  First Release
+ *
+ * TODO (updated 2004/11/27)
+ * -------------------------
+ *
+ *************************************************************************************
+ *
+ *     This file is part of GeSHi.
+ *
+ *   GeSHi is free software; you can 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.
+ *
+ *   GeSHi is distributed in the hope that it will be useful,
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *   GNU General Public License for more details.
+ *
+ *   You should have received a copy of the GNU General Public License
+ *   along with GeSHi; if not, write to the Free Software
+ *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
+ ************************************************************************************/
+
+$language_data = array (
+	'LANG_NAME' => 'Python',
+	'COMMENT_SINGLE' => array(1 => '#'),
+	'COMMENT_MULTI' => array(),
+	'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+	'QUOTEMARKS' => array('"', "'", '"""'),
+	'ESCAPE_CHAR' => '\\',
+	'KEYWORDS' => array(
+
+		/*
+		** Set 1: reserved words
+		** http://python.org/doc/current/ref/keywords.html
+		*/
+		1 => array(
+			'and', 'del', 'for', 'is', 'raise', 'assert', 'elif', 'from', 'lambda', 'return', 'break',
+			'else', 'global', 'not', 'try', 'class', 'except', 'if', 'or', 'while', 'continue', 'exec',
+			'import', 'pass', 'yield', 'def', 'finally', 'in', 'print'
+			),
+
+		/*
+		** Set 2: builtins
+		** http://python.org/doc/current/lib/built-in-funcs.html
+		*/
+		2 => array(
+			'__import__', 'abs', 'basestring', 'bool', 'callable', 'chr', 'classmethod', 'cmp', 
+			'compile', 'complex', 'delattr', 'dict', 'dir', 'divmod', 'enumerate', 'eval', 'execfile', 
+			'file', 'filter', 'float', 'frozenset', 'getattr', 'globals', 'hasattr', 'hash', 'help',
+			'hex', 'id', 'input', 'int', 'isinstance', 'issubclass', 'iter', 'len', 'list', 'locals',
+			'long', 'map', 'max', 'min', 'object', 'oct', 'open', 'ord', 'pow', 'property', 'range',
+			'raw_input', 'reduce', 'reload', 'repr', 'reversed', 'round', 'set', 'setattr', 'slice',
+			'sorted', 'staticmethod', 'str', 'sum', 'super', 'tuple', 'type', 'unichr', 'unicode', 
+			'vars', 'xrange', 'zip',
+			// Built-in constants: http://python.org/doc/current/lib/node35.html
+			'False', 'True', 'None', 'NotImplemented', 'Ellipsis',
+			// Built-in Exceptions: http://python.org/doc/current/lib/module-exceptions.html
+			'Exception', 'StandardError', 'ArithmeticError', 'LookupError', 'EnvironmentError',
+			'AssertionError', 'AttributeError', 'EOFError', 'FloatingPointError', 'IOError',
+			'ImportError', 'IndexError', 'KeyError', 'KeyboardInterrupt', 'MemoryError', 'NameError',
+			'NotImplementedError', 'OSError', 'OverflowError', 'ReferenceError', 'RuntimeError',
+			'StopIteration', 'SyntaxError', 'SystemError', 'SystemExit', 'TypeError',
+			'UnboundlocalError', 'UnicodeError', 'UnicodeEncodeError', 'UnicodeDecodeError',
+			'UnicodeTranslateError', 'ValueError', 'WindowsError', 'ZeroDivisionError', 'Warning',
+			'UserWarning', 'DeprecationWarning', 'PendingDeprecationWarning', 'SyntaxWarning',
+			'RuntimeWarning', 'FutureWarning',
+			// self: this is a common python convention (but not a reserved word)
+			'self'
+			),
+
+		/*
+		** Set 3: standard library
+		** http://python.org/doc/current/lib/modindex.html
+		*/
+		3 => array(
+			'__builtin__', '__future__', '__main__', '_winreg', 'aifc', 'AL', 'al', 'anydbm',
+			'array', 'asynchat', 'asyncore', 'atexit', 'audioop', 'base64', 'BaseHTTPServer',
+			'Bastion', 'binascii', 'binhex', 'bisect', 'bsddb', 'bz2', 'calendar', 'cd', 'cgi',
+			'CGIHTTPServer', 'cgitb', 'chunk', 'cmath', 'cmd', 'code', 'codecs', 'codeop',
+			'collections', 'colorsys', 'commands', 'compileall', 'compiler', 'compiler',
+			'ConfigParser', 'Cookie', 'cookielib', 'copy', 'copy_reg', 'cPickle', 'crypt',
+			'cStringIO', 'csv', 'curses', 'datetime', 'dbhash', 'dbm', 'decimal', 'DEVICE',
+			'difflib', 'dircache', 'dis', 'distutils', 'dl', 'doctest', 'DocXMLRPCServer', 'dumbdbm',
+			'dummy_thread', 'dummy_threading', 'email', 'encodings', 'errno', 'exceptions', 'fcntl',
+			'filecmp', 'fileinput', 'FL', 'fl', 'flp', 'fm', 'fnmatch', 'formatter', 'fpectl',
+			'fpformat', 'ftplib', 'gc', 'gdbm', 'getopt', 'getpass', 'gettext', 'GL', 'gl', 'glob',
+			'gopherlib', 'grp', 'gzip', 'heapq', 'hmac', 'hotshot', 'htmlentitydefs', 'htmllib',
+			'HTMLParser', 'httplib', 'imageop', 'imaplib', 'imgfile', 'imghdr', 'imp', 'inspect',
+			'itertools', 'jpeg', 'keyword', 'linecache', 'locale', 'logging', 'mailbox', 'mailcap',
+			'marshal', 'math', 'md5', 'mhlib', 'mimetools', 'mimetypes', 'MimeWriter', 'mimify',
+			'mmap', 'msvcrt', 'multifile', 'mutex', 'netrc', 'new', 'nis', 'nntplib', 'operator',
+			'optparse', 'os', 'ossaudiodev', 'parser', 'pdb', 'pickle', 'pickletools', 'pipes',
+			'pkgutil', 'platform', 'popen2', 'poplib', 'posix', 'posixfile', 'pprint', 'profile',
+			'pstats', 'pty', 'pwd', 'py_compile', 'pyclbr', 'pydoc', 'Queue', 'quopri', 'random',
+			're', 'readline', 'repr', 'resource', 'rexec', 'rfc822', 'rgbimg', 'rlcompleter',
+			'robotparser', 'sched', 'ScrolledText', 'select', 'sets', 'sgmllib', 'sha', 'shelve',
+			'shlex', 'shutil', 'signal', 'SimpleHTTPServer', 'SimpleXMLRPCServer', 'site', 'smtpd',
+			'smtplib', 'sndhdr', 'socket', 'SocketServer', 'stat', 'statcache', 'statvfs', 'string',
+			'StringIO', 'stringprep', 'struct', 'subprocess', 'sunau', 'SUNAUDIODEV', 'sunaudiodev',
+			'symbol', 'sys', 'syslog', 'tabnanny', 'tarfile', 'telnetlib', 'tempfile', 'termios',
+			'test', 'textwrap', 'thread', 'threading', 'time', 'timeit', 'Tix', 'Tkinter', 'token',
+			'tokenize', 'traceback', 'tty', 'turtle', 'types', 'unicodedata', 'unittest', 'urllib2',
+			'urllib', 'urlparse', 'user', 'UserDict', 'UserList', 'UserString', 'uu', 'warnings',
+			'wave', 'weakref', 'webbrowser', 'whichdb', 'whrandom', 'winsound', 'xdrlib', 'xml',
+			'xmllib', 'xmlrpclib', 'zipfile', 'zipimport', 'zlib'
+			),
+
+		/*
+		** Set 4: special methods
+		** http://python.org/doc/current/ref/specialnames.html
+		*/
+		4 => array(
+			/*
+			// Iterator types: http://python.org/doc/current/lib/typeiter.html
+			'__iter__', 'next',
+			// String types: http://python.org/doc/current/lib/string-methods.html
+			'capitalize', 'center', 'count', 'decode', 'encode', 'endswith', 'expandtabs',
+			'find', 'index', 'isalnum', 'isalpha', 'isdigit', 'islower', 'isspace', 'istitle',
+			'isupper', 'join', 'ljust', 'lower', 'lstrip', 'replace', 'rfind', 'rindex', 'rjust',
+			'rsplit', 'rstrip', 'split', 'splitlines', 'startswith', 'strip', 'swapcase', 'title',
+			'translate', 'upper', 'zfill',
+			*/
+			// Basic customization: http://python.org/doc/current/ref/customization.html
+			'__new__', '__init__', '__del__', '__repr__', '__str__', 
+			'__lt__', '__le__', '__eq__', '__ne__', '__gt__', '__ge__', '__cmp__', '__rcmp__',
+			'__hash__', '__nonzero__', '__unicode__', '__dict__',
+			// Attribute access: http://python.org/doc/current/ref/attribute-access.html
+			'__setattr__', '__delattr__', '__getattr__', '__getattribute__', '__get__', '__set__',
+			'__delete__', '__slots__',
+			// Class creation, callable objects
+			'__metaclass__', '__call__', 
+			// Container types: http://python.org/doc/current/ref/sequence-types.html
+			'__len__', '__getitem__', '__setitem__', '__delitem__', '__iter__', '__contains__',
+			'__getslice__', '__setslice__', '__delslice__',
+			// Numeric types: http://python.org/doc/current/ref/numeric-types.html
+			'__abs__','__add__','__and__','__coerce__','__div__','__divmod__','__float__',
+			'__hex__','__iadd__','__isub__','__imod__','__idiv__','__ipow__','__iand__',
+			'__ior__','__ixor__', '__ilshift__','__irshift__','__invert__','__int__',
+			'__long__','__lshift__',
+			'__mod__','__mul__','__neg__','__oct__','__or__','__pos__','__pow__',
+			'__radd__','__rdiv__','__rdivmod__','__rmod__','__rpow__','__rlshift__','__rrshift__',
+			'__rshift__','__rsub__','__rmul__','__repr__','__rand__','__rxor__','__ror__',
+			'__sub__','__xor__'
+			)
+
+		),
+	'SYMBOLS' => array(
+			'(', ')', '[', ']', '{', '}', '*', '&', '%', '!', ';', '<', '>', '?', '`'
+		),
+	'CASE_SENSITIVE' => array(
+		GESHI_COMMENTS => true,
+		1 => true,
+        2 => true,
+        3 => true,
+        4 => true
+		),
+	'STYLES' => array(
+		'KEYWORDS' => array(
+			1 => 'color: #ff7700;font-weight:bold;',	// Reserved
+			2 => 'color: #008000;',						// Built-ins + self
+			3 => 'color: #dc143c;',						// Standard lib
+			4 => 'color: #0000cd;'						// Special methods
+			),
+		'COMMENTS' => array(
+			1 => 'color: #808080; font-style: italic;',
+			'MULTI' => 'color: #808080; font-style: italic;'
+			),
+		'ESCAPE_CHAR' => array(
+			0 => 'color: #000099; font-weight: bold;'
+			),
+		'BRACKETS' => array(
+			0 => 'color: black;'
+			),
+		'STRINGS' => array(
+			0 => 'color: #483d8b;'
+			),
+		'NUMBERS' => array(
+			0 => 'color: #ff4500;'
+			),
+		'METHODS' => array(
+			1 => 'color: black;'
+			),
+		'SYMBOLS' => array(
+			0 => 'color: #66cc66;'
+			),
+		'REGEXPS' => array(
+			),
+		'SCRIPT' => array(
+			)
+		),
+	'URLS' => array(
+		),
+	'OOLANG' => true,
+	'OBJECT_SPLITTERS' => array(
+		1 => '.'
+		),
+	'REGEXPS' => array(
+		),
+	'STRICT_MODE_APPLIES' => GESHI_NEVER,
+	'SCRIPT_DELIMITERS' => array(
+		),
+	'HIGHLIGHT_STRICT_BLOCK' => array(
+		)
+);
+
+?>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/plugins/geshi/geshi/qbasic.php	Sun Feb 10 18:10:52 2008 -0500
@@ -0,0 +1,146 @@
+<?php
+/*************************************************************************************
+ * qbasic.php
+ * ----------
+ * Author: Nigel McNie (nigel@geshi.org)
+ * Copyright: (c) 2004 Nigel McNie (http://qbnz.com/highlighter/)
+ * Release Version: 1.0.7.20
+ * Date Started: 2004/06/20
+ *
+ * QBasic/QuickBASIC language file for GeSHi.
+ *
+ * CHANGES
+ * -------
+ * 2004/11/27 (1.0.3)
+ *  -  Added support for multiple object splitters
+ * 2004/10/27 (1.0.2)
+ *   -  Added support for URLs
+ * 2004/08/05 (1.0.1)
+ *   -  Added support for symbols
+ *   -  Removed unnessecary slashes from some keywords
+ * 2004/07/14 (1.0.0)
+ *   -  First Release
+ *
+ * TODO (updated 2004/11/27)
+ * -------------------------
+ * * Make sure all possible combinations of keywords with
+ *   a space in them (EXIT FOR, END SELECT) are added
+ *   to the first keyword group
+ * * Update colours, especially for the first keyword group
+ *
+ *************************************************************************************
+ *
+ *     This file is part of GeSHi.
+ *
+ *   GeSHi is free software; you can 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.
+ *
+ *   GeSHi is distributed in the hope that it will be useful,
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *   GNU General Public License for more details.
+ *
+ *   You should have received a copy of the GNU General Public License
+ *   along with GeSHi; if not, write to the Free Software
+ *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
+ ************************************************************************************/
+$language_data = array (
+	'LANG_NAME' => 'QBasic/QuickBASIC',
+	'COMMENT_SINGLE' => array(1 => "'", 2 => ' REM', 3 => "\tREM"),
+	'COMMENT_MULTI' => array(),
+	'CASE_KEYWORDS' => GESHI_CAPS_UPPER,
+	'QUOTEMARKS' => array('"'),
+	'ESCAPE_CHAR' => '',
+	'KEYWORDS' => array(
+		1 => array(
+			'DO', 'LOOP', 'WHILE', 'WEND', 'THEN', 'ELSE', 'ELSEIF', 'IF',
+			'FOR', 'TO', 'NEXT', 'STEP', 'GOTO', 'GOSUB', 'RETURN', 'RESUME', 'SELECT',
+			'CASE', 'UNTIL'
+			),
+		3 => array(
+			'ABS', 'ABSOLUTE', 'ACCESS', 'ALIAS', 'AND', 'ANY', 'APPEND', 'AS', 'ASC', 'ATN',
+			'BASE', 'BEEP', 'BINARY', 'BLOAD', 'BSAVE', 'BYVAL', 'CALL', 'CALLS', 'CASE',
+			'CDBL', 'CDECL', 'CHAIN', 'CHDIR', 'CHDIR', 'CHR$', 'CINT', 'CIRCLE', 'CLEAR',
+			'CLNG', 'CLOSE', 'CLS', 'COM', 'COMMAND$', 'COMMON', 'CONST', 'COS', 'CSNG',
+			'CSRLIN', 'CVD', 'CVDMBF', 'CVI', 'CVL', 'CVS', 'CVSMDF', 'DATA', 'DATE$',
+			'DECLARE', 'DEF', 'FN', 'SEG', 'DEFDBL', 'DEFINT', 'DEFLNG', 'DEFSNG', 'DEFSTR',
+			'DIM', 'DOUBLE', 'DRAW', 'END', 'ENVIRON', 'ENVIRON$', 'EOF', 'EQV', 'ERASE',
+			'ERDEV', 'ERDEV$', 'ERL', 'ERR', 'ERROR', 'EXIT', 'EXP', 'FIELD', 'FILEATTR',
+			'FILES', 'FIX', 'FRE', 'FREEFILE', 'FUNCTION', 'GET', 'HEX$', 'IMP', 'INKEY$',
+			'INP', 'INPUT', 'INPUT$', 'INSTR', 'INT', 'INTEGER', 'IOCTL', 'IOCTL$', 'IS',
+			'KEY', 'KILL', 'LBOUND', 'LCASE$', 'LEFT$', 'LEN', 'LET', 'LINE', 'LIST', 'LOC',
+			'LOCAL', 'LOCATE', 'LOCK', 'LOF', 'LOG', 'UNLOCK', 'LONG', 'LPOS', 'LPRINT',
+			'LSET', 'LTRIM$', 'MID$', 'MKD$', 'MKDIR', 'MKDMBF$', 'MKI$', 'MKL$',
+			'MKS$', 'MKSMBF$', 'MOD', 'NAME', 'NOT', 'OCT$', 'OFF', 'ON', 'PEN', 'PLAY',
+			'STRIG', 'TIMER', 'UEVENT', 'OPEN', 'OPTION', 'BASE', 'OR', 'OUT', 'OUTPUT',
+			'PAINT', 'PALETTE', 'PCOPY', 'PEEK', 'PMAP', 'POINT', 'POKE', 'POS', 'PRESET',
+			'PRINT', 'USING', 'PSET', 'PUT', 'RANDOM', 'RANDOMIZE', 'READ', 'REDIM', 'RESET',
+			'RESTORE', 'RIGHT$', 'RMDIR', 'RND', 'RSET', 'RTRIM$', 'RUN', 'SADD', 'SCREEN',
+			'SEEK', 'SETMEM', 'SGN', 'SHARED', 'SHELL', 'SIGNAL', 'SIN', 'SINGLE', 'SLEEP',
+			'SOUND', 'SPACE$', 'SPC', 'SQR', 'STATIC', 'STICK', 'STOP', 'STR$', 'STRIG',
+			'STRING', 'STRING$', 'SUB', 'SWAP', 'SYSTEM', 'TAB', 'TAN', 'TIME$', 'TIMER',
+			'TROFF', 'TRON', 'TYPE', 'UBOUND', 'UCASE$', 'UEVENT', 'UNLOCK', 'USING', 'VAL',
+			'VARPTR', 'VARPTR$', 'VARSEG', 'VIEW', 'WAIT', 'WIDTH', 'WINDOW', 'WRITE', 'XOR'
+			)
+		),
+	'SYMBOLS' => array(
+		'(', ')'
+		),
+	'CASE_SENSITIVE' => array(
+		GESHI_COMMENTS => false,
+		1 => false,
+		3 => false
+		),
+	'STYLES' => array(
+		'KEYWORDS' => array(
+			1 => 'color: #a1a100;',
+			3 => 'color: #000066;'
+			),
+		'COMMENTS' => array(
+			1 => 'color: #808080;',
+			2 => 'color: #808080;',
+            3 => 'color: #808080;'
+			),
+		'BRACKETS' => array(
+			0 => 'color: #66cc66;'
+			),
+		'STRINGS' => array(
+			0 => 'color: #ff0000;'
+			),
+		'NUMBERS' => array(
+			0 => 'color: #cc66cc;'
+			),
+		'METHODS' => array(
+			),
+		'SYMBOLS' => array(
+			0 => 'color: #66cc66;'
+			),
+		'ESCAPE_CHAR' => array(
+			0 => 'color: #000099;'
+			),
+		'SCRIPT' => array(
+			),
+		'REGEXPS' => array(
+			)
+		),
+	'URLS' => array(
+		1 => '',
+		3 => 'http://www.qbasicnews.com/qboho/qck{FNAME}.shtml'
+		),
+	'OOLANG' => false,
+	'OBJECT_SPLITTERS' => array(
+		),
+	'REGEXPS' => array(
+		),
+	'STRICT_MODE_APPLIES' => GESHI_NEVER,
+	'SCRIPT_DELIMITERS' => array(
+		),
+	'HIGHLIGHT_STRICT_BLOCK' => array(
+        ),
+    'TAB_WIDTH' => 8
+);
+
+?>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/plugins/geshi/geshi/rails.php	Sun Feb 10 18:10:52 2008 -0500
@@ -0,0 +1,404 @@
+<?php
+/*************************************************************************************
+ * rails.php
+ * ---------
+ * Author: Moises Deniz
+ * Copyright: (c) 2005 Moises Deniz
+ * Release Version: 1.0.7.20
+ * Date Started: 2007/03/21
+ *
+ * Ruby language and Ruby on Rails Framework file for GeSHi
+ *
+ *************************************************************************************
+ *
+ *   This file is part of GeSHi.
+ *
+ *   GeSHi is free software; you can 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.
+ *
+ *   GeSHi is distributed in the hope that it will be useful,
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *   GNU General Public License for more details.
+ *
+ *   You should have received a copy of the GNU General Public License
+ *   along with GeSHi; if not, write to the Free Software
+ *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
+ ************************************************************************************/
+
+$language_data = array (
+    'LANG_NAME' => 'Rails',
+    'COMMENT_SINGLE' => array(1 => "#"),
+    'COMMENT_MULTI' => array("=begin" => "=end"),
+    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+    'QUOTEMARKS' => array('"', '`','\''),
+    'ESCAPE_CHAR' => '\\',
+    'KEYWORDS' => array(
+        1 => array(
+                'alias', 'and', 'begin', 'break', 'case', 'class',
+                'def', 'defined', 'do', 'else', 'elsif', 'end',
+                'ensure', 'for', 'if', 'in', 'module', 'while',
+                'next', 'not', 'or', 'redo', 'rescue', 'yield',
+                'retry', 'super', 'then', 'undef', 'unless',
+                'until', 'when', 'BEGIN', 'END', 'include'
+            ),
+        2 => array(
+                '__FILE__', '__LINE__', 'false', 'nil', 'self', 'true', 
+                'return'
+            ),
+        3 => array(
+                'Array', 'Float', 'Integer', 'String', 'at_exit',
+                'autoload', 'binding', 'caller', 'catch', 'chop', 'chop!',
+                'chomp', 'chomp!', 'eval', 'exec', 'exit', 'exit!', 'fail',
+                'fork', 'format', 'gets', 'global_variables', 'gsub', 'gsub!',
+                'iterator?', 'lambda', 'load', 'local_variables', 'loop', 
+                'open', 'p', 'print', 'printf', 'proc', 'putc', 'puts', 
+                'raise', 'rand', 'readline', 'readlines', 'require', 'select', 
+                'sleep', 'split', 'sprintf', 'srand', 'sub', 'sub!', 'syscall',
+                'system', 'trace_var', 'trap', 'untrace_var'
+            ),
+        4 => array(
+                'Abbrev', 'ArgumentError', 'Base64', 'Benchmark', 
+                'Benchmark::Tms', 'Bignum', 'Binding', 'CGI', 'CGI::Cookie', 
+                'CGI::HtmlExtension', 'CGI::QueryExtension',
+                'CGI::Session', 'CGI::Session::FileStore', 
+                'CGI::Session::MemoryStore', 'Class', 'Comparable', 'Complex', 
+                'ConditionVariable', 'Continuation', 'Data',
+                'Date', 'DateTime', 'Delegator', 'Dir', 'EOFError', 'ERB', 
+                'ERB::Util', 'Enumerable', 'Enumerable::Enumerator', 'Errno', 
+                'Exception', 'FalseClass', 'File',
+                'File::Constants', 'File::Stat', 'FileTest', 'FileUtils', 
+                'FileUtils::DryRun', 'FileUtils::NoWrite', 
+                'FileUtils::StreamUtils_', 'FileUtils::Verbose', 'Find',
+                'Fixnum', 'FloatDomainError', 'Forwardable', 'GC', 'Generator', 
+                'Hash', 'IO', 'IOError', 'Iconv', 'Iconv::BrokenLibrary', 
+                'Iconv::Failure', 'Iconv::IllegalSequence',
+                'Iconv::InvalidCharacter', 'Iconv::InvalidEncoding', 
+                'Iconv::OutOfRange', 'IndexError', 'Interrupt', 'Kernel', 
+                'LoadError', 'LocalJumpError', 'Logger', 'Logger::Application',
+                'Logger::Error', 'Logger::Formatter', 'Logger::LogDevice', 
+                'Logger::LogDevice::LogDeviceMutex', 'Logger::Severity', 
+                'Logger::ShiftingError', 'Marshal', 'MatchData',
+                'Math', 'Matrix', 'Method', 'Module', 'Mutex', 'NameError', 
+                'NameError::message', 'NilClass', 'NoMemoryError', 
+                'NoMethodError', 'NotImplementedError', 'Numeric', 'Object',
+                'ObjectSpace', 'Observable', 'PStore', 'PStore::Error', 
+                'Pathname', 'Precision', 'Proc', 'Process', 'Process::GID', 
+                'Process::Status', 'Process::Sys', 'Process::UID', 'Queue',
+                'Range', 'RangeError', 'Rational', 'Regexp', 'RegexpError', 
+                'RuntimeError', 'ScriptError', 'SecurityError', 'Set', 
+                'Shellwords', 'Signal', 'SignalException', 'SimpleDelegator',
+                'SingleForwardable', 'Singleton', 'SingletonClassMethods', 
+                'SizedQueue', 'SortedSet', 'StandardError', 'StringIO', 
+                'StringScanner', 'StringScanner::Error', 'Struct', 'Symbol',
+                'SyncEnumerator', 'SyntaxError', 'SystemCallError', 
+                'SystemExit', 'SystemStackError', 'Tempfile', 
+                'Test::Unit::TestCase', 'Test::Unit', 'Test', 'Thread', 
+                'ThreadError', 'ThreadGroup',
+                'ThreadsWait', 'Time', 'TrueClass', 'TypeError', 'URI', 
+                'URI::BadURIError', 'URI::Error', 'URI::Escape', 'URI::FTP', 
+                'URI::Generic', 'URI::HTTP', 'URI::HTTPS',
+                'URI::InvalidComponentError', 'URI::InvalidURIError', 
+                'URI::LDAP', 'URI::MailTo', 'URI::REGEXP', 
+                'URI::REGEXP::PATTERN', 'UnboundMethod', 'Vector', 'YAML', 
+                'ZeroDivisionError', 'Zlib',
+                'Zlib::BufError', 'Zlib::DataError', 'Zlib::Deflate', 
+                'Zlib::Error', 'Zlib::GzipFile', 'Zlib::GzipFile::CRCError', 
+                'Zlib::GzipFile::Error', 'Zlib::GzipFile::LengthError',
+                'Zlib::GzipFile::NoFooter', 'Zlib::GzipReader', 
+                'Zlib::GzipWriter', 'Zlib::Inflate', 'Zlib::MemError', 
+                'Zlib::NeedDict', 'Zlib::StreamEnd', 'Zlib::StreamError', 
+                'Zlib::VersionError',
+                'Zlib::ZStream',
+                'ActionController::AbstractRequest', 
+                'ActionController::Assertions::DomAssertions', 
+                'ActionController::Assertions::ModelAssertions',
+                'ActionController::Assertions::ResponseAssertions', 
+                'ActionController::Assertions::RoutingAssertions', 
+                'ActionController::Assertions::SelectorAssertions',
+                'ActionController::Assertions::TagAssertions', 
+                'ActionController::Base', 
+                'ActionController::Benchmarking::ClassMethods', 
+                'ActionController::Caching',
+                'ActionController::Caching::Actions', 
+                'ActionController::Caching::Actions::ActionCachePath', 
+                'ActionController::Caching::Fragments', 
+                'ActionController::Caching::Pages',
+                'ActionController::Caching::Pages::ClassMethods', 
+                'ActionController::Caching::Sweeping', 
+                'ActionController::Components', 
+                'ActionController::Components::ClassMethods',
+                'ActionController::Components::InstanceMethods', 
+                'ActionController::Cookies', 
+                'ActionController::Filters::ClassMethods', 
+                'ActionController::Flash',
+                'ActionController::Flash::FlashHash', 
+                'ActionController::Helpers::ClassMethods', 
+                'ActionController::Integration::Session', 
+                'ActionController::IntegrationTest',
+                'ActionController::Layout::ClassMethods', 
+                'ActionController::Macros', 
+                'ActionController::Macros::AutoComplete::ClassMethods',
+                'ActionController::Macros::InPlaceEditing::ClassMethods', 
+                'ActionController::MimeResponds::InstanceMethods', 
+                'ActionController::Pagination',
+                'ActionController::Pagination::ClassMethods', 
+                'ActionController::Pagination::Paginator', 
+                'ActionController::Pagination::Paginator::Page',
+                'ActionController::Pagination::Paginator::Window', 
+                'ActionController::Rescue', 'ActionController::Resources', 
+                'ActionController::Routing',
+                'ActionController::Scaffolding::ClassMethods', 
+                'ActionController::SessionManagement::ClassMethods', 
+                'ActionController::Streaming', 'ActionController::TestProcess',
+                'ActionController::TestUploadedFile', 
+                'ActionController::UrlWriter', 
+                'ActionController::Verification::ClassMethods', 
+                'ActionMailer::Base', 'ActionView::Base',
+                'ActionView::Helpers::ActiveRecordHelper', 
+                'ActionView::Helpers::AssetTagHelper', 
+                'ActionView::Helpers::BenchmarkHelper', 
+                'ActionView::Helpers::CacheHelper',
+                'ActionView::Helpers::CaptureHelper', 
+                'ActionView::Helpers::DateHelper', 
+                'ActionView::Helpers::DebugHelper', 
+                'ActionView::Helpers::FormHelper',
+                'ActionView::Helpers::FormOptionsHelper', 
+                'ActionView::Helpers::FormTagHelper', 
+                'ActionView::Helpers::JavaScriptHelper', 
+                'ActionView::Helpers::JavaScriptMacrosHelper',
+                'ActionView::Helpers::NumberHelper', 
+                'ActionView::Helpers::PaginationHelper', 
+                'ActionView::Helpers::PrototypeHelper',
+                'ActionView::Helpers::PrototypeHelper::JavaScriptGenerator::GeneratorMethods', 
+                'ActionView::Helpers::ScriptaculousHelper', 
+                'ActionView::Helpers::TagHelper',
+                'ActionView::Helpers::TextHelper', 
+                'ActionView::Helpers::UrlHelper', 'ActionView::Partials', 
+                'ActionWebService::API::Method', 'ActionWebService::Base',
+                'ActionWebService::Client::Soap', 
+                'ActionWebService::Client::XmlRpc', 
+                'ActionWebService::Container::ActionController::ClassMethods',
+                'ActionWebService::Container::Delegated::ClassMethods', 
+                'ActionWebService::Container::Direct::ClassMethods', 
+                'ActionWebService::Invocation::ClassMethods',
+                'ActionWebService::Scaffolding::ClassMethods', 
+                'ActionWebService::SignatureTypes', 'ActionWebService::Struct', 
+                'ActiveRecord::Acts::List::ClassMethods',
+                'ActiveRecord::Acts::List::InstanceMethods', 
+                'ActiveRecord::Acts::NestedSet::ClassMethods', 
+                'ActiveRecord::Acts::NestedSet::InstanceMethods',
+                'ActiveRecord::Acts::Tree::ClassMethods', 
+                'ActiveRecord::Acts::Tree::InstanceMethods', 
+                'ActiveRecord::Aggregations::ClassMethods', 
+                'ActiveRecord::Associations::ClassMethods',
+                'ActiveRecord::AttributeMethods::ClassMethods', 
+                'ActiveRecord::Base', 
+                'ActiveRecord::Calculations::ClassMethods', 
+                'ActiveRecord::Callbacks',
+                'ActiveRecord::ConnectionAdapters::AbstractAdapter', 
+                'ActiveRecord::ConnectionAdapters::Column', 
+                'ActiveRecord::ConnectionAdapters::DB2Adapter',
+                'ActiveRecord::ConnectionAdapters::DatabaseStatements', 
+                'ActiveRecord::ConnectionAdapters::FirebirdAdapter', 
+                'ActiveRecord::ConnectionAdapters::FrontBaseAdapter',
+                'ActiveRecord::ConnectionAdapters::MysqlAdapter', 
+                'ActiveRecord::ConnectionAdapters::OpenBaseAdapter', 
+                'ActiveRecord::ConnectionAdapters::OracleAdapter',
+                'ActiveRecord::ConnectionAdapters::PostgreSQLAdapter', 
+                'ActiveRecord::ConnectionAdapters::Quoting', 
+                'ActiveRecord::ConnectionAdapters::SQLServerAdapter',
+                'ActiveRecord::ConnectionAdapters::SQLiteAdapter', 
+                'ActiveRecord::ConnectionAdapters::SchemaStatements', 
+                'ActiveRecord::ConnectionAdapters::SybaseAdapter::ColumnWithIdentity',
+                'ActiveRecord::ConnectionAdapters::SybaseAdapterContext', 
+                'ActiveRecord::ConnectionAdapters::TableDefinition', 
+                'ActiveRecord::Errors', 'ActiveRecord::Locking',
+                'ActiveRecord::Locking::Optimistic', 
+                'ActiveRecord::Locking::Optimistic::ClassMethods', 
+                'ActiveRecord::Locking::Pessimistic', 
+                'ActiveRecord::Migration', 'ActiveRecord::Observer',
+                'ActiveRecord::Observing::ClassMethods', 
+                'ActiveRecord::Reflection::ClassMethods', 
+                'ActiveRecord::Reflection::MacroReflection', 
+                'ActiveRecord::Schema', 'ActiveRecord::Timestamp',
+                'ActiveRecord::Transactions::ClassMethods', 
+                'ActiveRecord::Validations', 
+                'ActiveRecord::Validations::ClassMethods', 
+                'ActiveRecord::XmlSerialization',
+                'ActiveSupport::CachingTools::HashCaching', 
+                'ActiveSupport::CoreExtensions::Array::Conversions', 
+                'ActiveSupport::CoreExtensions::Array::Grouping',
+                'ActiveSupport::CoreExtensions::Date::Conversions', 
+                'ActiveSupport::CoreExtensions::Hash::Conversions', 
+                'ActiveSupport::CoreExtensions::Hash::Conversions::ClassMethods',
+                'ActiveSupport::CoreExtensions::Hash::Diff', 
+                'ActiveSupport::CoreExtensions::Hash::Keys', 
+                'ActiveSupport::CoreExtensions::Hash::ReverseMerge',
+                'ActiveSupport::CoreExtensions::Integer::EvenOdd', 
+                'ActiveSupport::CoreExtensions::Integer::Inflections', 
+                'ActiveSupport::CoreExtensions::Numeric::Bytes',
+                'ActiveSupport::CoreExtensions::Numeric::Time', 
+                'ActiveSupport::CoreExtensions::Pathname::CleanWithin', 
+                'ActiveSupport::CoreExtensions::Range::Conversions',
+                'ActiveSupport::CoreExtensions::String::Access', 
+                'ActiveSupport::CoreExtensions::String::Conversions', 
+                'ActiveSupport::CoreExtensions::String::Inflections',
+                'ActiveSupport::CoreExtensions::String::Iterators', 
+                'ActiveSupport::CoreExtensions::String::StartsEndsWith', 
+                'ActiveSupport::CoreExtensions::String::Unicode',
+                'ActiveSupport::CoreExtensions::Time::Calculations', 
+                'ActiveSupport::CoreExtensions::Time::Calculations::ClassMethods', 
+                'ActiveSupport::CoreExtensions::Time::Conversions',
+                'ActiveSupport::Multibyte::Chars', 
+                'ActiveSupport::Multibyte::Handlers::UTF8Handler', 'Binding', 
+                'Breakpoint', 'Builder::BlankSlate', 'Builder::XmlMarkup', 
+                'Enumerable', 'Fixtures',
+                'HTML::Selector', 'HashWithIndifferentAccess', 'Inflector', 
+                'Inflector::Inflections', 'Mime', 'Mime::Type', 
+                'OCI8AutoRecover', 'Symbol', 'TimeZone', 'XmlSimple'
+            ),
+        5 => array(
+            'image_tag', 'link_to', 'link_to_remote', 'javascript_include_tag', 
+            'assert_equal', 'assert_not_equal', 'before_filter', 
+            'after_filter', 'render', 'redirect_to', 'hide_action', 
+            'render_to_string', 'url_for', 'controller_name', 
+            'controller_class_name', 'controller_path', 'session', 
+            'render_component', 'render_component_as_string', 'cookie', 
+            'layout', 'flash', 'auto_complete_for', 'in_place_editor_for', 
+            'respond_to', 'paginate', 'current_page', 'each', 'first', 
+            'first_page', 'last_page', 'last', 'length', 'new', 'page_count', 
+            'previous', 'next', 'scaffold', 'session', 'send_data', 
+            'send_file', 'deliver', 'receive', 'error_messages_for', 
+            'error_message_on', 'form', 'input', 'stylesheet_link_tag', 
+            'stylesheet_path', 'content_for', 'select_date', 'select', 'ago', 
+            'month', 'day', 'check_box', 'fields_for', 'file_field', 
+            'form_for', 'hidden_field', 'text_area', 'password_field', 
+            'collection_select', 'options_for_select', 
+            'options_from_collection_for_select', 'file_field_tag', 
+            'form_for_tag', 'hidden_field_tag', 'text_area_tag', 
+            'password_field_tag', 'link_to_function', 'javascript_tag', 
+            'human_size', 'number_to_currency', 'pagination_links', 
+            'form_remote_tag', 'form_remote_for', 'link_to_remote', 
+            'submit_to_remote', 'remote_function', 'observe_form', 
+            'observe_field', 'remote_form_for', 'options_for_ajax', 'alert', 
+            'call', 'assign', 'show', 'hide', 'insert_html', 'sortable', 
+            'toggle', 'visual_effect', 'replace', 'replace_html', 'remove', 
+            'save', 'save!', 'draggable', 'drop_receiving', 'literal', 
+            'draggable_element', 'drop_receiving_element', 'sortable_element', 
+            'content_tag', 'tag', 'link_to_image', 'link_to_if', 
+            'link_to_unless', 'mail_to', 'link_image_to', 'button_to', 
+            'current_page?', 'act_as_list', 'act_as_nested', 'act_as_tree', 
+            'has_many', 'has_one', 'belongs_to', 'has_many_and_belogns_to', 
+            'delete', 'destroy', 'destroy_all', 'clone', 'deep_clone', 'copy', 
+            'update', 'table_name', 'primary_key', 'sum', 'maximun', 'minimum', 
+            'count', 'size', 'after_save', 'after_create', 'before_save', 
+            'before_create', 'add_to_base', 'errors', 'add', 'validate', 
+            'validate', 'validates_presence_of', 'validates_format_of', 
+            'validates_numericality_of', 'validates_uniqueness_of', 
+            'validates_length_of', 'validates_format_of', 'validates_size_of', 
+            'to_a', 'to_s', 'to_xml', 'to_i'
+            )
+        ),
+    'SYMBOLS' => array(
+        '(', ')', '[', ']', '{', '}', '%', '&', '*', '|', '/', '<', '>',
+        '+', '-', '=&gt;', '=>', '<<'
+        ),
+    'CASE_SENSITIVE' => array(
+        GESHI_COMMENTS => false,
+        1 => true,
+        2 => true,
+        3 => true,
+        4 => true,
+        5 => true
+        ),
+    'STYLES' => array(
+        'KEYWORDS' => array(
+            1 => 'color:#9966CC; font-weight:bold;',
+            2 => 'color:#0000FF; font-weight:bold;',
+            3 => 'color:#CC0066; font-weight:bold;',
+            4 => 'color:#CC00FF; font-weight:bold;',
+            5 => 'color:#5A0A0A; font-weight:bold;'
+            ),
+        'COMMENTS' => array(
+            1 => 'color:#008000; font-style:italic;',
+                    'MULTI' => 'color:#000080; font-style:italic;'
+            ),
+        'ESCAPE_CHAR' => array(
+            0 => 'color:#000099;'
+            ),
+        'BRACKETS' => array(
+            0 => 'color:#006600; font-weight:bold;'
+            ),
+        'STRINGS' => array(
+            0 => 'color:#996600;'
+            ),
+        'NUMBERS' => array(
+            0 => 'color:#006666;'
+            ),
+        'METHODS' => array(
+            1 => 'color:#9900CC;'
+            ),
+        'SYMBOLS' => array(
+            0 => 'color:#006600; font-weight:bold;'
+            ),
+        'REGEXPS' => array(
+            0 => 'color:#ff6633; font-weight:bold;',
+            1 => 'color:#0066ff; font-weight:bold;',
+            2 => 'color:#6666ff; font-weight:bold;',
+            3 => 'color:#ff3333; font-weight:bold;'
+            ),
+        'SCRIPT' => array(
+            0 => '',
+            1 => '',
+            2 => '',
+            )
+        ),
+    'URLS' => array(
+        1 => '',
+        2 => '',
+        3 => ''
+        ),
+    'OOLANG' => true,
+    'OBJECT_SPLITTERS' => array(
+        1 => '.'
+        ),
+    'REGEXPS' => array(
+        0 => array(
+            GESHI_SEARCH => "([[:space:]])(\\$[a-zA-Z_][a-zA-Z0-9_]*)",
+            GESHI_REPLACE => '\\2',
+            GESHI_MODIFIERS => '',
+            GESHI_BEFORE => '\\1',
+            GESHI_AFTER => ''
+            ),
+        1 => array(
+            GESHI_SEARCH => "([[:space:]])(@[a-zA-Z_][a-zA-Z0-9_]*)",
+            GESHI_REPLACE => '\\2',
+            GESHI_MODIFIERS => '',
+            GESHI_BEFORE => '\\1',
+            GESHI_AFTER => ''
+            ),
+        2 => "([A-Z][a-zA-Z0-9_]*::)+[A-Z][a-zA-Z0-9_]*",
+        3 => array(
+            GESHI_SEARCH => "([[:space:]]|\[|\()(:[a-zA-Z_][a-zA-Z0-9_]*)",
+            GESHI_REPLACE => '\\2',
+            GESHI_MODIFIERS => '',
+            GESHI_BEFORE => '\\1',
+            GESHI_AFTER => ''
+            )
+        ),
+    'STRICT_MODE_APPLIES' => GESHI_MAYBE,
+    'SCRIPT_DELIMITERS' => array(
+        0 => array(
+            '<%' => '%>'
+            )
+        ),
+    'HIGHLIGHT_STRICT_BLOCK' => array(
+        0 => true,
+        )
+);
+
+?>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/plugins/geshi/geshi/reg.php	Sun Feb 10 18:10:52 2008 -0500
@@ -0,0 +1,214 @@
+<?php
+/*************************************************************************************
+ * reg.php
+ * -------
+ * Author: Sean Hanna (smokingrope@gmail.com)
+ * Copyright: (c) 2006 Sean Hanna 
+ * Release Version: 1.0.7.20
+ * Date Started: 03/15/2006
+ *
+ * Microsoft Registry Editor Language File.
+ *
+ * CHANGES
+ * -------
+ * 03/15/2006 (0.5.0)
+ *  -  Syntax File Created
+ * 04/27/2006 (0.9.5)
+ *  - Syntax Coloring Cleaned Up
+ *  - First Release
+ * 04/29/2006 (1.0.0)
+ *  - Updated a few coloring settings
+ *
+ * TODO (updated 4/27/2006)
+ * -------------------------
+ * - Add a verification to the multi-line portion of the hex field regex
+ *    for a '\' character on the line preceding the line of the multi-line
+ *    hex field.
+ *
+ * KNOWN ISSUES (updated 4/27/2006)
+ * ---------------------------------
+ *
+ * - There are two regexes for the multiline hex value regex. The regex for
+ *		all lines after the first does not verify that the previous line contains
+ *		a line continuation character '\'. This regex also does not check for 
+ *		end of line as it should.
+ *
+ * - If number_highlighting is enabled during processing of this syntax file
+ *    many of the regexps used will appear slightly incorrect.
+ *
+ *************************************************************************************
+ *
+ *     This file is part of GeSHi.
+ *
+ *   GeSHi is free software; you can 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.
+ *
+ *   GeSHi is distributed in the hope that it will be useful,
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *   GNU General Public License for more details.
+ *
+ *   You should have received a copy of the GNU General Public License
+ *   along with GeSHi; if not, write to the Free Software
+ *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
+
+ ************************************************************************************/
+$language_data = array (
+	'LANG_NAME' => 'Microsoft Registry',
+	'COMMENT_SINGLE' => array(1 =>';'),
+	'COMMENT_MULTI' => array( ),
+	'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+	'QUOTEMARKS' => array(),
+	'ESCAPE_CHAR' => '',
+	'KEYWORDS' => array(
+		1 => array(),
+		2 => array()
+	    /* Registry Key Constants Not Used
+		3 => array(
+			'HKEY_LOCAL_MACHINE', 
+			'HKEY_CLASSES_ROOT', 
+			'HKEY_CURRENT_USER',
+			'HKEY_USERS', 
+			'HKEY_CURRENT_CONFIG', 
+			'HKEY_DYN_DATA',
+			'HKLM', 'HKCR', 'HKCU', 'HKU', 'HKCC', 'HKDD'
+			)/***/
+		),
+	'SYMBOLS' => array( ),
+	'CASE_SENSITIVE' => array(
+		GESHI_COMMENTS => false,
+		1 => false,
+		2 => false
+		),
+	'STYLES' => array(
+		'KEYWORDS' => array( 1 => 'color: #00CCFF;',
+			 				 2 => 'color: #0000FF;' ),
+		'COMMENTS' => array( 1 => 'color: #009900;' ),
+		'ESCAPE_CHAR' => array(),
+		'BRACKETS' => array(0 => 'color: #000000;'),
+		'STRINGS' => array( 0 => 'color: #009900;' ),
+		'NUMBERS' => array(),
+		'METHODS' => array(),
+		'SYMBOLS' => array(0 => 'color: #000000;'),
+		'SCRIPT' => array(),
+		'REGEXPS' => array( 
+			0 => '',
+			1 => 'color: #0000FF;',
+			2 => '',
+			3 => '',
+			4 => 'color: #0000FF;',
+			5 => '',
+		 	6 => '',
+		 	7 => '',
+		 	8 => '',
+		 	9 => 'color: #FF6600;',
+			)
+		),
+	'OOLANG' => false,
+	'OBJECT_SPLITTERS' => array(
+		),
+	'REGEXPS' => array(
+		// Highlight Key Delimiters
+		0 => array(
+			GESHI_SEARCH => '((^|\\n)\\s*)(\\\\\\[(.*)\\\\\\])(\\s*(\\n|$))',
+			GESHI_REPLACE => '\\3',
+			GESHI_MODIFIERS => '',
+			GESHI_BEFORE => '\\1',
+			GESHI_AFTER => '\\5',
+			GESHI_CLASS => 'kw1'
+			),
+		// Highlight File Format Header Version 5
+		1 => array(
+			GESHI_SEARCH => '((\\n|^)\\s*)(Windows Registry Editor Version [0-9]+(.)+([0-9]+))((\\n|$)\\s*)',
+			GESHI_REPLACE => '\\3',
+			GESHI_MODIFIERS => '',
+			GESHI_BEFORE => '\\1',
+			GESHI_AFTER => '\\6',
+			GESHI_CLASS => 'geshi_registry_header'
+			),
+		// Highlight File Format Header Version 4
+		2 => array(
+			GESHI_SEARCH => '((\\n|^)\\s*)(REGEDIT [0-9]+)(\\s*(\\n|$))',
+			GESHI_REPLACE => '\\3',
+			GESHI_MODIFIERS => '',
+			GESHI_BEFORE => '\\1',
+			GESHI_AFTER => '\\4',
+			GESHI_CLASS => 'geshi_registry_header'
+			),
+		// Highlight dword: 32 bit integer values
+		3 => array(
+			GESHI_SEARCH => '(=\\s*)(dword:[0-9]{8})(\\s*(\\n|$))',
+			GESHI_REPLACE => '\\2',
+			GESHI_MODIFIERS => '',
+			GESHI_BEFORE => '\\1',
+			GESHI_AFTER => '\\3',
+			GESHI_CLASS => 'kw2'
+			),			
+		// Highlight variable names
+		4 => array(
+			GESHI_SEARCH => '((\\n|^)\\s*\\&quot\\;)(.*)(\\&quot\\;\\s*=)',
+			GESHI_REPLACE => '\\3',
+			GESHI_MODIFIERS => '',
+			GESHI_BEFORE => '\\1',
+			GESHI_AFTER => '\\4',
+			GESHI_CLASS => 'geshi_variable'
+			),
+		// Highlight String Values
+		5 => array(
+			GESHI_SEARCH => '(=\\s*)(\\&quot\\;.*\\&quot\\;)(\\s*(\\n|$))',
+			GESHI_REPLACE => '\\2',
+			GESHI_MODIFIERS => '',
+			GESHI_BEFORE => '\\1',
+			GESHI_AFTER => '\\3',
+			GESHI_CLASS => 'st0'
+			),
+		// Highlight Hexadecimal Values
+		6 => array(
+			GESHI_SEARCH => '(=\\s*)(hex((\\\\\\([0-9]{1,2}\\\\\\))|()):(([0-9a-fA-F]{2},)|(\\s))*(([0-9a-fA-F]{2})|(\\\\\\\\)))(\\s*(\\n|$))',
+			GESHI_REPLACE => '\\2',
+			GESHI_MODIFIERS => '',
+			GESHI_BEFORE => '\\1',
+			GESHI_AFTER => '\\12',
+			GESHI_CLASS => 'kw2'
+			),
+		// Highlight Hexadecimal Values (Multi-Line)
+		7 => array(
+			GESHI_SEARCH => '((\\n|^)\\s*)((([0-9a-fA-F]{2},)|(\\s))*(([0-9a-fA-F]{2})|(\\\\\\\\)))',
+			GESHI_REPLACE => '\\3',
+			GESHI_MODIFIERS => '',
+			GESHI_BEFORE => '\\1',
+			GESHI_AFTER => '\\10',
+			GESHI_CLASS => 'kw2'
+			),
+		// Highlight Default Variable
+		8 => array(
+			GESHI_SEARCH => '((\\n|^)\\s*)(@)(\\s*=)',
+			GESHI_REPLACE => '\\3',
+			GESHI_MODIFIERS => '',
+			GESHI_BEFORE => '\\1',
+			GESHI_AFTER => '\\4',
+			GESHI_CLASS => 'geshi_variable'
+			),
+		// Highlight GUID's found anywhere.
+		9 => array(
+			GESHI_SEARCH => '(\\{[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[0-9A-Fa-f]{4}-[0-9A-Fa-f]{4}-[0-9A-Fa-f]{12}\\})',
+			GESHI_REPLACE => '\\1',
+			GESHI_MODIFIERS => '',
+			GESHI_BEFORE => '',
+			GESHI_AFTER => '',
+			GESHI_CLASS => 'geshi_guid'
+			)
+		),
+	'STRICT_MODE_APPLIES' => GESHI_NEVER,
+	'SCRIPT_DELIMITERS' => array(
+		),
+	'HIGHLIGHT_STRICT_BLOCK' => array(
+		)
+);
+if (isset($this) && is_a($this, 'GeSHi')) {
+    $this->set_numbers_highlighting(false);
+}
+?>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/plugins/geshi/geshi/robots.php	Sun Feb 10 18:10:52 2008 -0500
@@ -0,0 +1,98 @@
+<?php
+/*************************************************************************************
+ * robots.php
+ * --------
+ * Author: Christian Lescuyer (cl@goelette.net)
+ * Copyright: (c) 2006 Christian Lescuyer http://xtian.goelette.info
+ * Release Version: 1.0.7.20
+ * Date Started: 2006/02/17
+ *
+ * robots.txt language file for GeSHi.
+ *
+ * 2006/02/17 (1.0.0)
+ *   -  First Release
+ *
+ *************************************************************************************
+ *
+ *     This file is part of GeSHi.
+ *
+ *   GeSHi is free software; you can 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.
+ *
+ *   GeSHi is distributed in the hope that it will be useful,
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *   GNU General Public License for more details.
+ *
+ *   You should have received a copy of the GNU General Public License
+ *   along with GeSHi; if not, write to the Free Software
+ *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
+ ************************************************************************************/
+
+$language_data = array (
+    'LANG_NAME' => 'robots.txt',
+    'COMMENT_SINGLE' => array(1 => '#'),
+    'COMMENT_MULTI' => array(),
+    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+    'QUOTEMARKS' => array(),
+    'ESCAPE_CHAR' => '',
+    'KEYWORDS' => array(
+        1 => array(
+            'User-agent', 'Disallow'
+            )
+        ),
+    'SYMBOLS' => array(
+        ':'
+        ),
+    'CASE_SENSITIVE' => array(
+        GESHI_COMMENTS => false,
+        1 => true
+        ),
+    'STYLES' => array(
+        'KEYWORDS' => array(
+            1 => 'color: #b1b100;'
+            ),
+        'COMMENTS' => array(
+            1 => 'color: #808080; font-style: italic;',
+            ),
+        'ESCAPE_CHAR' => array(
+            0 => 'color: #000099; font-weight: bold;'
+            ),
+        'BRACKETS' => array(
+            0 => 'color: #66cc66;'
+            ),
+        'STRINGS' => array(
+            0 => 'color: #ff0000;'
+            ),
+        'NUMBERS' => array(
+            0 => 'color: #cc66cc;'
+            ),
+        'METHODS' => array(
+            ),
+        'SYMBOLS' => array(
+            0 => 'color: #66cc66;'
+            ),
+        'REGEXPS' => array(
+            ),
+        'SCRIPT' => array(
+            )
+        ),
+    'URLS' => array(
+        1 => 'http://www.robotstxt.org/wc/norobots.html'
+        ),
+    'OOLANG' => false,
+    'OBJECT_SPLITTERS' => array(
+        ),
+    'REGEXPS' => array(
+        ),
+    'STRICT_MODE_APPLIES' => GESHI_NEVER,
+    'SCRIPT_DELIMITERS' => array(
+        ),
+    'HIGHLIGHT_STRICT_BLOCK' => array(
+        )
+);
+
+?>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/plugins/geshi/geshi/ruby.php	Sun Feb 10 18:10:52 2008 -0500
@@ -0,0 +1,219 @@
+<?php
+/*************************************************************************************
+ * ruby.php
+ * --------
+ * Author: Moises Deniz
+ * Copyright: (c) 2007 Moises Deniz
+ * Release Version: 1.0.7.20
+ * Date Started: 2007/03/21
+ *
+ * Ruby language file for GeSHi
+ *
+ *************************************************************************************
+ *
+ *   This file is part of GeSHi.
+ *
+ *   GeSHi is free software; you can 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.
+ *
+ *   GeSHi is distributed in the hope that it will be useful,
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *   GNU General Public License for more details.
+ *
+ *   You should have received a copy of the GNU General Public License
+ *   along with GeSHi; if not, write to the Free Software
+ *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
+ ************************************************************************************/
+
+$language_data = array (
+    'LANG_NAME' => 'Ruby',
+    'COMMENT_SINGLE' => array(1 => "#"),
+    'COMMENT_MULTI' => array("=begin" => "=end"),
+    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+    'QUOTEMARKS' => array('"', '`','\''),
+    'ESCAPE_CHAR' => '\\',
+    'KEYWORDS' => array(
+        1 => array(
+                'alias', 'and', 'begin', 'break', 'case', 'class',
+                'def', 'defined', 'do', 'else', 'elsif', 'end',
+                'ensure', 'for', 'if', 'in', 'module', 'while',
+                'next', 'not', 'or', 'redo', 'rescue', 'yield',
+                'retry', 'super', 'then', 'undef', 'unless',
+                'until', 'when', 'BEGIN', 'END', 'include'
+            ),
+        2 => array(
+                '__FILE__', '__LINE__', 'false', 'nil', 'self', 'true',
+                'return'
+            ),
+        3 => array(
+                'Array', 'Float', 'Integer', 'String', 'at_exit',
+                'autoload', 'binding', 'caller', 'catch', 'chop', 'chop!',
+                'chomp', 'chomp!', 'eval', 'exec', 'exit', 'exit!', 'fail',
+                'fork', 'format', 'gets', 'global_variables', 'gsub', 'gsub!',
+                'iterator?', 'lambda', 'load', 'local_variables', 'loop',
+                'open', 'p', 'print', 'printf', 'proc', 'putc', 'puts',
+                'raise', 'rand', 'readline', 'readlines', 'require', 'select',
+                'sleep', 'split', 'sprintf', 'srand', 'sub', 'sub!', 'syscall',
+                'system', 'trace_var', 'trap', 'untrace_var'
+            ),
+        4 => array(
+                'Abbrev', 'ArgumentError', 'Base64', 'Benchmark',
+                'Benchmark::Tms', 'Bignum', 'Binding', 'CGI', 'CGI::Cookie',
+                'CGI::HtmlExtension', 'CGI::QueryExtension',
+                'CGI::Session', 'CGI::Session::FileStore',
+                'CGI::Session::MemoryStore', 'Class', 'Comparable', 'Complex',
+                'ConditionVariable', 'Continuation', 'Data',
+                'Date', 'DateTime', 'Delegator', 'Dir', 'EOFError', 'ERB',
+                'ERB::Util', 'Enumerable', 'Enumerable::Enumerator', 'Errno',
+                'Exception', 'FalseClass', 'File',
+                'File::Constants', 'File::Stat', 'FileTest', 'FileUtils',
+                'FileUtils::DryRun', 'FileUtils::NoWrite',
+                'FileUtils::StreamUtils_', 'FileUtils::Verbose', 'Find',
+                'Fixnum', 'FloatDomainError', 'Forwardable', 'GC', 'Generator',
+                'Hash', 'IO', 'IOError', 'Iconv', 'Iconv::BrokenLibrary',
+                'Iconv::Failure', 'Iconv::IllegalSequence',
+                'Iconv::InvalidCharacter', 'Iconv::InvalidEncoding',
+                'Iconv::OutOfRange', 'IndexError', 'Interrupt', 'Kernel',
+                'LoadError', 'LocalJumpError', 'Logger', 'Logger::Application',
+                'Logger::Error', 'Logger::Formatter', 'Logger::LogDevice',
+                'Logger::LogDevice::LogDeviceMutex', 'Logger::Severity',
+                'Logger::ShiftingError', 'Marshal', 'MatchData',
+                'Math', 'Matrix', 'Method', 'Module', 'Mutex', 'NameError',
+                'NameError::message', 'NilClass', 'NoMemoryError',
+                'NoMethodError', 'NotImplementedError', 'Numeric', 'Object',
+                'ObjectSpace', 'Observable', 'PStore', 'PStore::Error',
+                'Pathname', 'Precision', 'Proc', 'Process', 'Process::GID',
+                'Process::Status', 'Process::Sys', 'Process::UID', 'Queue',
+                'Range', 'RangeError', 'Rational', 'Regexp', 'RegexpError',
+                'RuntimeError', 'ScriptError', 'SecurityError', 'Set',
+                'Shellwords', 'Signal', 'SignalException', 'SimpleDelegator',
+                'SingleForwardable', 'Singleton', 'SingletonClassMethods',
+                'SizedQueue', 'SortedSet', 'StandardError', 'StringIO',
+                'StringScanner', 'StringScanner::Error', 'Struct', 'Symbol',
+                'SyncEnumerator', 'SyntaxError', 'SystemCallError',
+                'SystemExit', 'SystemStackError', 'Tempfile',
+                'Test::Unit::TestCase', 'Test::Unit', 'Test', 'Thread',
+                'ThreadError', 'ThreadGroup',
+                'ThreadsWait', 'Time', 'TrueClass', 'TypeError', 'URI',
+                'URI::BadURIError', 'URI::Error', 'URI::Escape', 'URI::FTP',
+                'URI::Generic', 'URI::HTTP', 'URI::HTTPS',
+                'URI::InvalidComponentError', 'URI::InvalidURIError',
+                'URI::LDAP', 'URI::MailTo', 'URI::REGEXP',
+                'URI::REGEXP::PATTERN', 'UnboundMethod', 'Vector', 'YAML',
+                'ZeroDivisionError', 'Zlib',
+                'Zlib::BufError', 'Zlib::DataError', 'Zlib::Deflate',
+                'Zlib::Error', 'Zlib::GzipFile', 'Zlib::GzipFile::CRCError',
+                'Zlib::GzipFile::Error', 'Zlib::GzipFile::LengthError',
+                'Zlib::GzipFile::NoFooter', 'Zlib::GzipReader',
+                'Zlib::GzipWriter', 'Zlib::Inflate', 'Zlib::MemError',
+                'Zlib::NeedDict', 'Zlib::StreamEnd', 'Zlib::StreamError',
+                'Zlib::VersionError',
+                'Zlib::ZStream',
+                'Enumerable',
+                'HTML::Selector', 'HashWithIndifferentAccess', 'Inflector',
+                'Inflector::Inflections', 'Mime', 'Mime::Type',
+                'OCI8AutoRecover', 'Symbol', 'TimeZone', 'XmlSimple'
+            ),
+        ),
+    'SYMBOLS' => array(
+        '(', ')', '[', ']', '{', '}', '%', '&', '*', '|', '/', '<', '>',
+        '+', '-', '=&gt;', '=>', '<<'
+        ),
+    'CASE_SENSITIVE' => array(
+        GESHI_COMMENTS => false,
+        1 => false,
+        2 => false,
+        3 => false,
+        4 => true,
+        ),
+    'STYLES' => array(
+        'KEYWORDS' => array(
+            1 => 'color:#9966CC; font-weight:bold;',
+            2 => 'color:#0000FF; font-weight:bold;',
+            3 => 'color:#CC0066; font-weight:bold;',
+            4 => 'color:#CC00FF; font-weight:bold;',
+            ),
+        'COMMENTS' => array(
+            1 => 'color:#008000; font-style:italic;',
+                    'MULTI' => 'color:#000080; font-style:italic;'
+            ),
+        'ESCAPE_CHAR' => array(
+            0 => 'color:#000099;'
+            ),
+        'BRACKETS' => array(
+            0 => 'color:#006600; font-weight:bold;'
+            ),
+        'STRINGS' => array(
+            0 => 'color:#996600;'
+            ),
+        'NUMBERS' => array(
+            0 => 'color:#006666;'
+            ),
+        'METHODS' => array(
+            1 => 'color:#9900CC;'
+            ),
+        'SYMBOLS' => array(
+            0 => 'color:#006600; font-weight:bold;'
+            ),
+        'REGEXPS' => array(
+            0 => 'color:#ff6633; font-weight:bold;',
+            1 => 'color:#0066ff; font-weight:bold;',
+            2 => 'color:#6666ff; font-weight:bold;',
+            3 => 'color:#ff3333; font-weight:bold;'
+            ),
+        'SCRIPT' => array(
+            0 => '',
+            1 => '',
+            2 => '',
+            )
+        ),
+    'URLS' => array(
+        1 => '',
+        2 => '',
+        3 => ''
+        ),
+    'OOLANG' => true,
+    'OBJECT_SPLITTERS' => array(
+        1 => '.'
+        ),
+    'REGEXPS' => array(
+        0 => array(
+            GESHI_SEARCH => "([[:space:]])(\\$[a-zA-Z_][a-zA-Z0-9_]*)",
+            GESHI_REPLACE => '\\2',
+            GESHI_MODIFIERS => '',
+            GESHI_BEFORE => '\\1',
+            GESHI_AFTER => ''
+            ),
+        1 => array(
+            GESHI_SEARCH => "([[:space:]])(@[a-zA-Z_][a-zA-Z0-9_]*)",
+            GESHI_REPLACE => '\\2',
+            GESHI_MODIFIERS => '',
+            GESHI_BEFORE => '\\1',
+            GESHI_AFTER => ''
+            ),
+        2 => "([A-Z][a-zA-Z0-9_]*::)+[A-Z][a-zA-Z0-9_]*",
+        3 => array(
+            GESHI_SEARCH => "([[:space:]]|\[|\()(:[a-zA-Z_][a-zA-Z0-9_]*)",
+            GESHI_REPLACE => '\\2',
+            GESHI_MODIFIERS => '',
+            GESHI_BEFORE => '\\1',
+            GESHI_AFTER => ''
+            )
+        ),
+    'STRICT_MODE_APPLIES' => GESHI_MAYBE,
+    'SCRIPT_DELIMITERS' => array(
+        0 => array(
+            '<%' => '%>'
+            )
+        ),
+    'HIGHLIGHT_STRICT_BLOCK' => array(
+        0 => true,
+        ),
+    'TAB_WIDTH' => 2
+);
+
+?>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/plugins/geshi/geshi/sas.php	Sun Feb 10 18:10:52 2008 -0500
@@ -0,0 +1,357 @@
+<?php
+/*************************************************************************************
+ * sas.php
+ * -------
+ * Author: Galen Johnson (solitaryr@gmail.com)
+ * Copyright: (c) 2004 Nigel McNie (http://qbnz.com/highlighter/)
+ * Release Version: 1.0.7.20
+ * Date Started: 2005/12/27
+ *
+ * SAS language file for GeSHi. Based on the sas vim file.
+ *
+ * CHANGES
+ * -------
+ * 2005/12/27 (1.0.0)
+ *   -  First Release
+ *
+ * TODO (updated 2005/12/27)
+ * -------------------------
+ *
+ * * Check highlighting stuff works
+ *
+ *************************************************************************************
+ *
+ *     This file is part of GeSHi.
+ *
+ *   GeSHi is free software; you can 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.
+ *
+ *   GeSHi is distributed in the hope that it will be useful,
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *   GNU General Public License for more details.
+ *
+ *   You should have received a copy of the GNU General Public License
+ *   along with GeSHi; if not, write to the Free Software
+ *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
+ ************************************************************************************/
+
+$language_data = array (
+    'LANG_NAME' => 'SAS',
+    'COMMENT_SINGLE' => array(),
+    'COMMENT_MULTI' => array('/*' => '*/'),
+    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+    'QUOTEMARKS' => array("'", '"'),
+    'ESCAPE_CHAR' => '\\',
+    'KEYWORDS' => array(
+        1 => array(
+            '_NULL_', '_INFILE_', '_N_', '_WEBOUT_', '_NUMERIC_', '_CHARACTER_', '_ALL_'
+            ),
+        2 => array(
+            '%BQUOTE', '%NRBQUOTE', '%CMPRES', '%QCMPRES',
+
+            '%COMPSTOR', '%DATATYP', '%DISPLAY', '%DO',
+            '%ELSE', '%END', '%EVAL', '%GLOBAL',
+            '%GOTO', '%IF', '%INDEX', '%INPUT',
+            '%KEYDEF', '%LABEL', '%LEFT', '%LENGTH',
+            '%LET', '%LOCAL', '%LOWCASE', '%MACRO',
+            '%MEND', '%NRBQUOTE', '%NRQUOTE', '%NRSTR',
+
+            '%PUT', '%QCMPRES', '%QLEFT', '%QLOWCASE',
+            '%QSCAN', '%QSUBSTR', '%QSYSFUNC', '%QTRIM',
+            '%QUOTE', '%QUPCASE', '%SCAN', '%STR',
+            '%SUBSTR', '%SUPERQ', '%SYSCALL', '%SYSEVALF',
+            '%SYSEXEC', '%SYSFUNC', '%SYSGET', '%SYSLPUT',
+            '%SYSPROD', '%SYSRC', '%SYSRPUT', '%THEN',
+
+            '%TO', '%TRIM', '%UNQUOTE', '%UNTIL',
+            '%UPCASE', '%VERIFY', '%WHILE', '%WINDOW'
+            ),
+        3 => array(
+            'ABS', 'ADDR', 'AIRY', 'ARCOS', 'ARSIN', 'ATAN', 'ATTRC', 'ATTRN',
+
+            'BAND', 'BETAINV', 'BLSHIFT', 'BNOT', 'BOR', 'BRSHIFT', 'BXOR',
+            'BYTE', 'CDF', 'CEIL', 'CEXIST', 'CINV', 'CLOSE', 'CNONCT', 'COLLATE',
+            'COMPBL', 'COMPOUND', 'COMPRESS', 'COSH', 'COS', 'CSS', 'CUROBS',
+            'CV', 'DACCDBSL', 'DACCDB', 'DACCSL', 'DACCSYD', 'DACCTAB',
+            'DAIRY', 'DATETIME', 'DATEJUL', 'DATEPART', 'DATE', 'DAY',
+            'DCLOSE', 'DEPDBSL', 'DEPDB', 'DEPSL',
+
+            'DEPSYD', 'DEPSYD', 'DEPTAB', 'DEPTAB', 'DEQUOTE', 'DHMS',
+            'DIF', 'DIGAMMA', 'DIM', 'DINFO', 'DNUM', 'DOPEN', 'DOPTNAME',
+            'DOPTNUM', 'DREAD', 'DROPNOTE', 'DSNAME', 'ERFC', 'ERF', 'EXIST',
+            'EXP', 'FAPPEND', 'FCLOSE', 'FCOL', 'FDELETE', 'FETCHOBS', 'FETCH',
+            'FEXIST', 'FGET', 'FILEEXIST', 'FILENAME', 'FILEREF', 'FINFO',
+            'FINV', 'FIPNAMEL', 'FIPNAME', 'FIPSTATE', 'FLOOR', 'FNONCT',
+
+            'FNOTE', 'FOPEN', 'FOPTNAME', 'FOPTNUM', 'FPOINT', 'FPOS',
+            'FPUT', 'FREAD', 'FREWIND', 'FRLEN', 'FSEP', 'FUZZ', 'FWRITE',
+            'GAMINV', 'GAMMA', 'GETOPTION', 'GETVARC', 'GETVARN', 'HBOUND',
+            'HMS', 'HOSTHELP', 'HOUR', 'IBESSEL', 'INDEXW', 'INDEXC',
+            'INDEX', 'INPUTN', 'INPUTC', 'INPUT', 'INTRR', 'INTCK', 'INTNX',
+            'INT', 'IRR', 'JBESSEL', 'JULDATE', 'KURTOSIS', 'LAG', 'LBOUND',
+
+            'LEFT', 'LENGTH', 'LGAMMA', 'LIBNAME', 'LIBREF', 'LOG10',
+            'LOG2', 'LOGPDF', 'LOGPMF', 'LOGSDF', 'LOG', 'LOWCASE', 'MAX', 'MDY',
+            'MEAN', 'MINUTE', 'MIN', 'MOD', 'MONTH', 'MOPEN', 'MORT',
+            'NETPV', 'NMISS', 'NORMAL', 'NPV', 'N', 'OPEN', 'ORDINAL',
+            'PATHNAME', 'PDF', 'PEEKC', 'PEEK', 'PMF', 'POINT', 'POISSON', 'POKE',
+            'PROBBETA', 'PROBBNML', 'PROBCHI', 'PROBF', 'PROBGAM',
+
+            'PROBHYPR', 'PROBIT', 'PROBNEGB', 'PROBNORM', 'PROBT', 'PUTN',
+            'PUTC', 'PUT', 'QTR', 'QUOTE', 'RANBIN', 'RANCAU', 'RANEXP',
+            'RANGAM', 'RANGE', 'RANK', 'RANNOR', 'RANPOI', 'RANTBL', 'RANTRI',
+            'RANUNI', 'REPEAT', 'RESOLVE', 'REVERSE', 'REWIND', 'RIGHT',
+            'ROUND', 'SAVING', 'SCAN', 'SDF', 'SECOND', 'SIGN', 'SINH', 'SIN',
+            'SKEWNESS', 'SOUNDEX', 'SPEDIS', 'SQRT', 'STDERR', 'STD', 'STFIPS',
+
+            'STNAME', 'STNAMEL', 'SUBSTR', 'SUM', 'SYMGET', 'SYSGET', 'SYSMSG',
+            'SYSPROD', 'SYSRC', 'SYSTEM', 'TANH', 'TAN', 'TIMEPART', 'TIME',
+            'TINV', 'TNONCT', 'TODAY', 'TRANSLATE', 'TRANWRD', 'TRIGAMMA',
+            'TRIMN', 'TRIM', 'TRUNC', 'UNIFORM', 'UPCASE', 'USS',
+            'VARFMT', 'VARINFMT', 'VARLABEL', 'VARLEN', 'VARNAME',
+            'VARNUM', 'VARRAYX', 'VARRAY', 'VARTYPE', 'VAR', 'VERIFY', 'VFORMATX',
+
+            'VFORMATDX', 'VFORMATD', 'VFORMATNX', 'VFORMATN', 'VFORMATWX',
+            'VFORMATW', 'VFORMAT', 'VINARRAYX', 'VINARRAY', 'VINFORMATX',
+            'VINFORMATDX', 'VINFORMATD', 'VINFORMATNX', 'VINFORMATN',
+            'VINFORMATWX', 'VINFORMATW', 'VINFORMAT', 'VLABELX',
+            'VLABEL', 'VLENGTHX', 'VLENGTH', 'VNAMEX', 'VNAME', 'VTYPEX',
+            'VTYPE', 'WEEKDAY', 'YEAR', 'YYQ', 'ZIPFIPS', 'ZIPNAME', 'ZIPNAMEL',
+
+            'ZIPSTATE'
+            ),
+        4 => array(
+            'ABORT', 'ARRAY', 'ATTRIB', 'BY', 'CALL', 'CARDS4', 'CATNAME',
+            'CONTINUE', 'DATALINES4', 'DELETE', 'DISPLAY',
+
+            'DM', 'DROP', 'ENDSAS', 'FILENAME', 'FILE', 'FOOTNOTE',
+            'FORMAT', 'GOTO', 'INFILE', 'INFORMAT', 'INPUT', 'KEEP',
+            'LABEL', 'LEAVE', 'LENGTH', 'LIBNAME', 'LINK', 'LIST', 'LOSTCARD',
+            'MERGE', 'MISSING', 'MODIFY', 'OPTIONS', 'OUTPUT', 'PAGE',
+            'PUT', 'REDIRECT', 'REMOVE', 'RENAME', 'REPLACE', 'RETAIN',
+            'RETURN', 'SELECT', 'SET', 'SKIP', 'STARTSAS', 'STOP', 'TITLE',
+
+            'UPDATE', 'WAITSAS', 'WHERE', 'WINDOW', 'X', 'SYSTASK',
+            'ADD', 'AND', 'ALTER', 'AS', 'CASCADE', 'CHECK', 'CREATE',
+            'DELETE', 'DESCRIBE', 'DISTINCT', 'DROP', 'FOREIGN',
+            'FROM', 'GROUP', 'HAVING', 'INDEX', 'INSERT', 'INTO', 'IN',
+            'KEY', 'LIKE', 'MESSAGE', 'MODIFY', 'MSGTYPE', 'NOT',
+            'NULL', 'ON', 'OR', 'ORDER', 'PRIMARY', 'REFERENCES',
+
+            'RESET', 'RESTRICT', 'SELECT', 'SET', 'TABLE',
+            'UNIQUE', 'UPDATE', 'VALIDATE', 'VIEW', 'WHERE'
+            ),
+        5 => array(
+            'DO', 'ELSE', 'END', 'IF', 'THEN', 'UNTIL', 'WHILE'
+
+            ),
+        6 => array(
+            'RUN', 'QUIT', 'DATA'
+            ),
+        7 => array(
+
+            'ERROR'
+            ),
+        8 => array(
+            'WARNING'
+            ),
+
+        9 => array(
+            'NOTE'
+            )
+        ),
+    'SYMBOLS' => array(
+
+        ),
+    'CASE_SENSITIVE' => array(
+        GESHI_COMMENTS => false,
+        1 => false,
+
+        2 => false,
+        3 => false,
+        4 => false,
+        5 => false,
+
+        6 => false,
+        7 => false,
+        8 => false,
+        9 => false
+
+        ),
+    'STYLES' => array(
+        'KEYWORDS' => array(
+            1 => 'color: #0000ff;',
+
+            2 => 'color: #0000ff;',
+            3 => 'color: #0000ff;',
+            4 => 'color: #0000ff;',
+            5 => 'color: #0000ff;',
+
+            6 => 'color: #000080; font-weight: bold;',
+            7 => 'color: #ff0000;',
+            8 => 'color: #00ff00;',
+            9 => 'color: #0000ff;'
+
+            ),
+        'COMMENTS' => array(
+            1 => 'color: #006400; font-style: italic;',
+            'MULTI' => 'color: #006400; font-style: italic;'
+
+            ),
+        'ESCAPE_CHAR' => array(
+            0 => 'color: #000099; font-weight: bold;'
+            ),
+        'BRACKETS' => array(
+
+            0 => 'color: #66cc66;'
+            ),
+        'STRINGS' => array(
+            0 => 'color: #a020f0;'
+
+            ),
+        'NUMBERS' => array(
+            0 => 'color: #2e8b57; font-weight: bold;'
+            ),
+        'METHODS' => array(
+
+            ),
+        'SYMBOLS' => array(
+            0 => 'color: #66cc66;'
+            ),
+        'SCRIPT' => array(
+
+            0 => '',
+            1 => '',
+            2 => '',
+            3 => ''
+
+            ),
+        'REGEXPS' => array(
+            0 => 'color: #0000ff; font-weight: bold;',
+            1 => 'color: #000080; font-weight: bold;',
+
+            2 => 'color: #006400; font-style: italic;',
+            3 => 'color: #006400; font-style: italic;',
+            4 => 'color: #006400; font-style: italic;',
+            5 => 'color: #ff0000; font-weight: bold;',
+
+            6 => 'color: #00ff00; font-style: italic;',
+            7 => 'color: #0000ff; font-style: normal;',
+            8 => 'color: #b218b2; font-weight: bold;',
+            9 => 'color: #b218b2; font-weight: bold;'
+
+            )
+        ),
+    'URLS' => array(
+        1 => '',
+        2 => '',
+
+        3 => '',
+        4 => '',
+        5 => '',
+        6 => '',
+
+        7 => '',
+        8 => '',
+        9 => ''
+        ),
+
+    'OOLANG' => false,
+    'OBJECT_SPLITTERS' => array(
+        ),
+    'REGEXPS' => array(
+
+        0 => "&amp;[a-zA-Z_][a-zA-Z0-9_]*",
+        1 => array(
+            GESHI_SEARCH => '(^\\s*)(PROC \\w+)',
+            GESHI_REPLACE => '\\2',
+
+            GESHI_MODIFIERS => 'im',
+            GESHI_BEFORE => '\\1',
+            GESHI_AFTER => ''
+            ),
+
+        2 => array(
+            GESHI_SEARCH => '(^\\s*)(\\*.*;)',
+            GESHI_REPLACE => '\\2',
+            GESHI_MODIFIERS => 'im',
+
+            GESHI_BEFORE => '\\1',
+            GESHI_AFTER => ''
+            ),
+        3 => array(
+
+            GESHI_SEARCH => '(.*;\\s*)(\\*.*;)',
+            GESHI_REPLACE => '\\2',
+            GESHI_MODIFIERS => 'im',
+            GESHI_BEFORE => '\\1',
+
+            GESHI_AFTER => ''
+            ),
+        4 => array(
+            GESHI_SEARCH => '(^\\s*)(%\\*.*;)',
+
+            GESHI_REPLACE => '\\2',
+            GESHI_MODIFIERS => 'im',
+            GESHI_BEFORE => '\\1',
+            GESHI_AFTER => ''
+
+            ),
+        5 => array(
+            GESHI_SEARCH => '(^ERROR.*)',
+            GESHI_REPLACE => '\\1',
+
+            GESHI_MODIFIERS => 'im',
+            GESHI_BEFORE => '',
+            GESHI_AFTER => ''
+            ),
+
+        6 => array(
+            GESHI_SEARCH => '(^WARNING.*)',
+            GESHI_REPLACE => '\\1',
+            GESHI_MODIFIERS => 'im',
+
+            GESHI_BEFORE => '',
+            GESHI_AFTER => ''
+            ),
+        7 => array(
+
+            GESHI_SEARCH => '(^NOTE.*)',
+            GESHI_REPLACE => '\\1',
+            GESHI_MODIFIERS => 'im',
+            GESHI_BEFORE => '',
+
+            GESHI_AFTER => ''
+            ),
+        8 => array(
+            GESHI_SEARCH => '(^\\s*)(CARDS.*)(^\\s*;\\s*$)',
+
+            GESHI_REPLACE => '\\2',
+            GESHI_MODIFIERS => 'sim',
+            GESHI_BEFORE => '\\1',
+            GESHI_AFTER => '\\3'
+
+            ),
+        9 => array(
+            GESHI_SEARCH => '(^\\s*)(DATALINES.*)(^\\s*;\\s*$)',
+            GESHI_REPLACE => '\\2',
+
+            GESHI_MODIFIERS => 'sim',
+            GESHI_BEFORE => '\\1',
+            GESHI_AFTER => '\\3'
+            )
+
+        ),
+    'STRICT_MODE_APPLIES' => GESHI_MAYBE,
+    'SCRIPT_DELIMITERS' => array(
+        ),
+    'HIGHLIGHT_STRICT_BLOCK' => array(
+
+        )
+);
+
+?>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/plugins/geshi/geshi/scheme.php	Sun Feb 10 18:10:52 2008 -0500
@@ -0,0 +1,170 @@
+<?php
+/*************************************************************************************
+ * scheme.php
+ * ----------
+ * Author: Jon Raphaelson (jonraphaelson@gmail.com)
+ * Copyright: (c) 2005 Jon Raphaelson, Nigel McNie (http://qbnz.com/highlighter)
+ * Release Version: 1.0.7.20
+ * Date Started: 2004/08/30
+ *
+ * Scheme language file for GeSHi.
+ *
+ * CHANGES
+ * -------
+ * 2005/09/22 (1.0.0)
+ *  -  First Release
+ *
+ * TODO (updated 2005/09/22)
+ * -------------------------
+ *
+ *************************************************************************************
+ *
+ *     This file is part of GeSHi.
+ *
+ *   GeSHi is free software; you can 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.
+ *
+ *   GeSHi is distributed in the hope that it will be useful,
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *   GNU General Public License for more details.
+ *
+ *   You should have received a copy of the GNU General Public License
+ *   along with GeSHi; if not, write to the Free Software
+ *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
+ ************************************************************************************/
+
+$language_data = array (
+	'LANG_NAME' => 'Scheme',
+	'COMMENT_SINGLE' => array(1 => ';'),
+	'COMMENT_MULTI' => array(';|' => '|;'),
+	'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+	'QUOTEMARKS' => array('"'),
+	'ESCAPE_CHAR' => '\\',
+	'KEYWORDS' => array(
+		1 => array(
+		  'abs', 'acos', 'and', 'angle', 'append', 'appply', 'approximate',
+		  'asin', 'assoc', 'assq', 'assv', 'atan',
+		  
+		  'begin', 'boolean?', 'bound-identifier=?', 
+		  
+		  'caar', 'caddr', 'cadr', 'call-with-current-continuation', 
+		  'call-with-input-file', 'call-with-output-file', 'call/cc', 'car',
+		  'case', 'catch', 'cdddar', 'cddddr', 'cdr', 'ceiling', 'char->integer',
+		  'char-alphabetic?', 'char-ci<=?', 'char-ci<?', 'char-ci?', 'char-ci>=?',
+		  'char-ci>?', 'char-ci=?', 'char-downcase', 'char-lower-case?', 
+		  'char-numeric', 'char-ready', 'char-ready?', 'char-upcase', 
+		  'char-upper-case?', 'char-whitespace?', 'char<=?', 'char<?', 'char=?',
+		  'char>=?', 'char>?', 'char?', 'close-input-port', 'close-output-port',
+		  'complex?', 'cond', 'cons', 'construct-identifier', 'cos', 
+		  'current-input-port', 'current-output-port',
+		  
+		  'd', 'define', 'define-syntax', 'delay', 'denominator', 'display', 'do',
+		  
+		  'e', 'eof-object?', 'eq?', 'equal?', 'eqv?', 'even?', 'exact->inexact',
+		  'exact?', 'exp', 'expt', 'else',
+		  
+		  'f', 'floor', 'for-each', 'force', 'free-identifer=?', 
+		  
+		  'gcd', 'gen-counter', 'gen-loser', 'generate-identifier',
+		  
+		  'identifier->symbol', 'identifier', 'if', 'imag-part', 'inexact->exact',
+		  'inexact?', 'input-port?', 'integer->char', 'integer?', 'integrate-system',
+		  
+		  'l', 'lambda', 'last-pair', 'lcm', 'length', 'let', 'let*', 'letrec', 
+		  'list', 'list->string', 'list->vector', 'list-ref', 'list-tail', 'list?',
+		  'load', 'log',
+		  
+		  'magnitude', 'make-polar', 'make-promise', 'make-rectangular',     
+		  'make-string', 'make-vector', 'map', 'map-streams', 'max', 'member', 
+		  'memq', 'memv', 'min', 'modulo',
+		  
+		  'negative', 'newline', 'nil', 'not', 'null?', 'number->string', 'number?',
+		  'numerator',
+		  
+		  'odd?', 'open-input-file', 'open-output-file', 'or', 'output-port', 
+		  
+		  'pair?', 'peek-char', 'positive?', 'procedure?',
+		  
+		  'quasiquote', 'quote', 'quotient', 
+		  
+		  'rational', 'rationalize', 'read', 'read-char', 'real-part', 'real?',
+		  'remainder', 'return', 'reverse',
+		  
+		  's', 'sequence', 'set!', 'set-char!', 'set-cdr!', 'sin', 'sqrt', 'string',
+		  'string->list', 'string->number', 'string->symbol', 'string-append', 
+		  'string-ci<=?', 'string-ci<?', 'string-ci=?', 'string-ci>=?', 
+		  'string-ci>?', 'string-copy', 'string-fill!', 'string-length', 
+		  'string-ref', 'string-set!', 'string<=?', 'string<?', 'string=?', 
+		  'string>=?', 'string>?', 'string?', 'substring', 'symbol->string', 
+		  'symbol?', 'syntax', 'syntax-rules',
+		  
+		  't', 'tan', 'template', 'transcript-off', 'transcript-on', 'truncate',
+		  
+		  'unquote', 'unquote-splicing', 'unwrap-syntax', 
+		  
+		  'vector', 'vector->list', 'vector-fill!', 'vector-length', 'vector-ref', 
+		  'vector-set!', 'vector?', 
+		  
+		  'with-input-from-file', 'with-output-to-file', 'write', 'write-char',
+		  
+		  'zero?'
+		  
+			)
+		),
+	'SYMBOLS' => array(
+		'(', ')', '{', '}', '[', ']', '!', '%', '^', '&', '/','+','-','*','=','<','>',';','|'
+		),
+	'CASE_SENSITIVE' => array(
+		GESHI_COMMENTS => true,
+		1 => false
+		),
+	'STYLES' => array(
+		'KEYWORDS' => array(
+			1 => 'color: #b1b100;'
+			),
+		'COMMENTS' => array(
+			1 => 'color: #808080; font-style: italic;',
+			'MULTI' => 'color: #808080; font-style: italic;'
+			),
+		'ESCAPE_CHAR' => array(
+			0 => 'color: #000099; font-weight: bold;'
+			),
+		'BRACKETS' => array(
+			0 => 'color: #66cc66;'
+			),
+		'STRINGS' => array(
+			0 => 'color: #ff0000;'
+			),
+		'NUMBERS' => array(
+			0 => 'color: #cc66cc;'
+			),
+		'METHODS' => array(
+			0 => 'color: #202020;'
+			),
+		'SYMBOLS' => array(
+			0 => 'color: #66cc66;'
+			),
+		'REGEXPS' => array(
+			),
+		'SCRIPT' => array(
+			)
+		),
+	'URLS' => array(
+		),
+	'OOLANG' => false,
+	'OBJECT_SPLITTERS' => array(
+		),
+	'REGEXPS' => array(
+		),
+	'STRICT_MODE_APPLIES' => GESHI_NEVER,
+	'SCRIPT_DELIMITERS' => array(
+		),
+	'HIGHLIGHT_STRICT_BLOCK' => array(
+		)
+);
+
+?>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/plugins/geshi/geshi/sdlbasic.php	Sun Feb 10 18:10:52 2008 -0500
@@ -0,0 +1,161 @@
+<?php
+/*************************************************************************************
+ * sdlbasic.php
+ * ------------
+ * Author: Roberto Rossi 
+ * Copyright: (c) 2005 Roberto Rossi (http://rsoftware.altervista.org)
+ * Release Version: 1.0.7.20
+ * Date Started: 2005/08/19
+ *
+ * sdlBasic (http://sdlbasic.sf.net) language file for GeSHi.
+ *
+ * CHANGES
+ * -------
+ * 2005/08/19 (1.0.0)
+ *  -  First Release
+ *
+ *************************************************************************************
+ *
+ *     This file is part of GeSHi.
+ *
+ *   GeSHi is free software; you can 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.
+ *
+ *   GeSHi is distributed in the hope that it will be useful,
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *   GNU General Public License for more details.
+ *
+ *   You should have received a copy of the GNU General Public License
+ *   along with GeSHi; if not, write to the Free Software
+ *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
+ ************************************************************************************/
+ $language_data = array (
+	'LANG_NAME' => 'sdlBasic',
+	'COMMENT_SINGLE' => array(1 => "'", 2 => "rem", 3 => "!", 4 => "#"),
+	'COMMENT_MULTI' => array(),
+	'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+	'QUOTEMARKS' => array('"'),
+	'ESCAPE_CHAR' => '',
+	'KEYWORDS' => array(
+		1 => array(
+    'const', 'option', 'explicit', 'option', 'qbasic', 'include', 'argc',
+    'argv', 'command', 'command$', 'run', 'shell', 'end', 'os', 'declare',
+    'sub', 'function', 'return', 'while', 'wend', 'exit', 'while', 'end',
+    'while', 'continue', 'if', 'then', 'else', 'elseif', 'end', 'if',
+    'select', 'case', 'case', 'else', 'end', 'case', 'for', 'each', 'step',
+    'next', 'to', 'continue', 'dim', 'shared', 'common', 'lbound', 'bound',
+    'erase', 'asc', 'chr', 'chr$', 'insert', 'insert$', 'instr', 'lcase',
+    'lcase$', 'left', 'left$', 'len', 'length', 'ltrim', 'ltrim$', 'mid',
+    'mid$', 'replace', 'replace$', 'replacesubstr', 'replacesubstr$',
+    'reverse', 'reverse$', 'right', 'right$', 'rinstr', 'rtrim', 'rtrim$',
+    'space', 'space$', 'str', 'str$', 'strf', 'strf$', 'string', 'string$',
+    'tally', 'trim', 'trim$', 'typeof', 'typeof$', 'ucase', 'ucase$', 'val',
+    'abs', 'acos', 'andbit', 'asin', 'atan', 'bitwiseand', 'bitwiseor',
+    'bitwisexor', 'cos', 'exp', 'fix', 'floor', 'frac', 'hex', 'hex$', 'int',
+    'log', 'min', 'max', 'orbit', 'randomize', 'rnd', 'round', 'sgn', 'sin',
+    'sqr', 'tan', 'xorbit', 'open', 'as', 'file', 'input', 'close', 'output',
+    'append', 'eof', 'fileexists', 'filecopy', 'filemove', 'filerename',
+    'freefile', 'kill', 'loc', 'lof', 'readbyte', 'rename', 'seek',
+    'writebyte', 'chdir', 'dir', 'dir$', 'direxists', 'dirfirst', 'dirnext',
+    'mkdir', 'rmdir', 'print', 'date', 'date$', 'time', 'time$', 'ticks',
+    'data', 'read', 'reservebank', 'freebank', 'copybank', 'loadbank',
+    'savebank', 'setbank', 'sizebank', 'poke', 'doke', 'loke', 'peek', 'deek',
+    'leek', 'memcopy', 'setdisplay', 'setcaption', 'caption', 'displaywidth',
+    'displayheight', 'displaybpp', 'screen', 'directscreen', 'screenopen',
+    'screenclose', 'screenclone', 'screencopy', 'screenfade', 'screenfadein',
+    'screencrossfade', 'screenalpha', 'screenlock', 'screenunlock',
+    'screenrect', 'xscreenrect', 'yscreenrect', 'wscreenrect', 'hscreenrect',
+    'flagscreenrect', 'screenwidth', 'screenheight', 'offset', 'xoffset',
+    'yoffset', 'cls', 'screenswap', 'autoback', 'setautoback',
+    'dualplayfield', 'waitvbl', 'fps', 'rgb', 'enablepalette', 'color',
+    'palette', 'colorcycling', 'ink', 'point', 'dot', 'plot', 'line', 'box',
+    'bar', 'circle', 'fillcircle', 'ellipse', 'fillellipse', 'paint',
+    'loadimage', 'saveimage', 'loadsound', 'savesound', 'loadmusic',
+    'hotspot', 'setcolorkey', 'imageexists', 'imagewidth', 'imageheight',
+    'deleteimage', 'copyimage', 'setalpha', 'zoomimage', 'rotateimage',
+    'rotozoomimage', 'blt', 'pastebob', 'pasteicon', 'grab', 'spriteclip',
+    'sprite', 'deletesprite', 'xsprite', 'ysprite', 'spritewidth',
+    'spriteheight', 'frsprite', 'livesprite', 'spritehit', 'autoupdatesprite',
+    'updatesprite', 'setbob', 'bob', 'deletebob', 'xbob', 'ybob', 'bobwidth',
+    'bobheight', 'frbob', 'livebob', 'bobhit', 'autoupdatebob', 'updatebob',
+    'text', 'setfont', 'textrender', 'pen', 'paper', 'prints', 'locate',
+    'atx', 'aty', 'curson', 'cursoff', 'inputs', 'zoneinputs',
+    'isenabledsound', 'soundexists', 'deletesound', 'copysound',
+    'musicexists', 'playsound', 'volumesound', 'stopsound', 'pausesound',
+    'resumesound', 'vumetersound', 'positionsound', 'soundchannels',
+    'playmusic', 'positionmusic', 'stopmusic', 'fademusic', 'pausemusic',
+    'resumemusic', 'rewindmusic', 'volumemusic', 'speedmusic', 'numdrivescd',
+    'namecd', 'getfreecd', 'opencd', 'indrivecd', 'trackscd', 'curtrackcd',
+    'curframecd', 'playcd', 'playtrackscd', 'playtrackscd', 'playtrackscd',
+    'pausecd', 'resumecd', 'stopcd', 'ejectcd', 'closecd', 'tracktypecd',
+    'tracklengthcd', 'trackoffsetcd', 'key', 'inkey', 'waitkey', 'xmouse',
+    'ymouse', 'xmousescreen', 'ymousescreen', 'bmouse', 'changemouse',
+    'locatemouse', 'mouseshow', 'mousehide', 'mousezone', 'numjoysticks',
+    'namejoystick', 'numaxesjoystick', 'numballsjoystick', 'numhatsjoystick',
+    'numbuttonsjoystick', 'getaxisjoystick', 'gethatjoystick',
+    'getbuttonjoystick', 'xgetballjoystick', 'ygetballjoystick', 'joy',
+    'bjoy', 'wait', 'timer', 'isenabledsock', 'getfreesock', 'opensock',
+    'acceptsock', 'isserverready', 'connectsock', 'connectionreadysock',
+    'isclientready', 'losesock', 'peeksock', 'readsock', 'readbytesock',
+    'readlinesock', 'writesock', 'writebytesock', 'writelinesock',
+    'getremoteip', 'getremoteport', 'getlocalip' 
+      )
+		),
+	'SYMBOLS' => array(
+		'(', ')'
+		),
+	'CASE_SENSITIVE' => array(
+		GESHI_COMMENTS => false,
+		1 => false
+		),
+	'STYLES' => array(
+		'KEYWORDS' => array(
+			1 => 'color: #b1b100;'
+			),
+		'COMMENTS' => array(
+			1 => 'color: #808080;',
+			2 => 'color: #808080;',
+			3 => 'color: #808080;',
+			4 => 'color: #808080;'
+			),
+		'BRACKETS' => array(
+			0 => 'color: #66cc66;'
+			),
+		'STRINGS' => array(
+			0 => 'color: #ff0000;'
+			),
+		'NUMBERS' => array(
+			0 => 'color: #cc66cc;'
+			),
+		'METHODS' => array(
+			0 => 'color: #66cc66;'
+			),
+		'SYMBOLS' => array(
+			0 => 'color: #66cc66;'
+			),
+		'ESCAPE_CHAR' => array(
+			0 => 'color: #000099;'
+			),
+		'SCRIPT' => array(
+			),
+		'REGEXPS' => array(
+			)
+		),
+	'OOLANG' => true,
+	'OBJECT_SPLITTERS' => array(
+		1 => '.'
+		),
+	'REGEXPS' => array(
+		),
+	'STRICT_MODE_APPLIES' => GESHI_NEVER,
+	'SCRIPT_DELIMITERS' => array(
+		),
+	'HIGHLIGHT_STRICT_BLOCK' => array(
+		)
+);
+
+?>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/plugins/geshi/geshi/smalltalk.php	Sun Feb 10 18:10:52 2008 -0500
@@ -0,0 +1,159 @@
+<?php
+/*************************************************************************************
+ * smalltalk.php
+ * --------
+ * Author: Bananeweizen (Bananeweizen@gmx.de)
+ * Copyright: (c) 2005 Bananeweizen (www.bananeweizen.de)
+ * Release Version: 1.0.7.20
+ * Date Started: 2005/03/27
+ *
+ * Smalltalk language file for GeSHi.
+ *
+ * CHANGES
+ * -------
+ * 2006-05-24 (1.0.0)
+ *   -  First Release
+ *
+ * TODO
+ * -------------------------
+ * * recognize nested array symbols correctly
+ * 
+ *************************************************************************************
+ *
+ *     This file is part of GeSHi.
+ *
+ *   GeSHi is free software; you can 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.
+ *
+ *   GeSHi is distributed in the hope that it will be useful,
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *   GNU General Public License for more details.
+ *
+ *   You should have received a copy of the GNU General Public License
+ *   along with GeSHi; if not, write to the Free Software
+ *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
+ ************************************************************************************/
+
+$language_data = array (
+	'LANG_NAME' => 'Smalltalk',
+	'COMMENT_SINGLE' => array(),
+	'COMMENT_MULTI' => array('"' => '"'),
+	'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+	'QUOTEMARKS' => array("'"),
+	'ESCAPE_CHAR' => '',
+	'KEYWORDS' => array(
+		1 => array('self','super','true','false','nil')
+		),
+	'SYMBOLS' => array(
+		'[', ']', '=' , ':=', '(', ')', '#'
+		),
+	'CASE_SENSITIVE' => array(
+		GESHI_COMMENTS => false,
+		1 => true
+		),
+	'STYLES' => array(
+		'KEYWORDS' => array(
+			1 => 'color: #7f007f;'
+			),
+		'COMMENTS' => array(
+			'MULTI' => 'color: #007f00; font-style: italic;'
+			),
+		'ESCAPE_CHAR' => array(
+		    0 => ''
+			),
+		'BRACKETS' => array(
+		    0 => ''
+			),
+		'STRINGS' => array(
+		    0 => 'color: #7f0000;'
+			),
+		'NUMBERS' => array(
+		    0 => 'color: #7f0000;'
+			),
+		'METHODS' => array(
+		    0 => ''
+			),
+		'SYMBOLS' => array(
+			0 => 'color: #000066; font-weight:bold;'
+			),
+		'REGEXPS' => array(
+			0 => 'color: #0000ff;',
+			1 => 'color: #7f0000;',
+			2 => 'color: #7f0000;',
+			3 => 'color: #00007f;',
+			4 => 'color: #7f007f;',
+			5 => 'color: #00007f;',
+			6 => 'color: #00007f;'
+			),
+		'SCRIPT' => array(
+		    0 => ''
+			)
+		),
+	'URLS' => array(
+		),
+	'OOLANG' => false,
+	'OBJECT_SPLITTERS' => array(
+		),
+	'REGEXPS' => array(
+		0 => array(
+			GESHI_SEARCH => '([^a-zA-Z0-9_#])([A-Z]+[a-zA-Z0-9_]*)', //class names
+			GESHI_REPLACE => '\\2',
+			GESHI_MODIFIERS => '',
+			GESHI_BEFORE => '\\1',
+			GESHI_AFTER => ''
+			),
+		1 => array(
+			GESHI_SEARCH => '(#+)([a-zA-Z0-9_]+)', //symbols
+			GESHI_REPLACE => '\\1\\2',
+			GESHI_MODIFIERS => '',
+			GESHI_BEFORE => '',
+			GESHI_AFTER => ''
+			),
+		2 => array(
+			GESHI_SEARCH => '(#\s*\([^)]*\))', //array symbols
+			GESHI_REPLACE => '\\1',
+			GESHI_MODIFIERS => '',
+			GESHI_BEFORE => '',
+			GESHI_AFTER => ''
+			),
+		3 => array(
+			GESHI_SEARCH => '\|([a-zA-Z0-9_\s]+)\|', //temporary variables
+			GESHI_REPLACE => '\\1',
+			GESHI_MODIFIERS => '',
+			GESHI_BEFORE => '|',
+			GESHI_AFTER => '|'
+			),
+		4 => array(
+			GESHI_SEARCH => '(self|super|true|false|nil)', //keywords again (to avoid matching in next regexp)
+			GESHI_REPLACE => '\\1',
+			GESHI_MODIFIERS => '',
+			GESHI_BEFORE => '',
+			GESHI_AFTER => ''
+			),
+		5 => array(
+			GESHI_SEARCH => '([:(,=[.*/+-]\s*)([a-zA-Z0-9_]+)', //message parameters, message receivers
+			GESHI_REPLACE => '\\2',
+			GESHI_MODIFIERS => 's',
+			GESHI_BEFORE => '\\1',
+			GESHI_AFTER => ''
+			),
+		6 => array(
+			GESHI_SEARCH => '([a-zA-Z0-9_]+)(\s*:=)', //assignment targets
+			GESHI_REPLACE => '\\1',
+			GESHI_MODIFIERS => '',
+			GESHI_BEFORE => '',
+			GESHI_AFTER => '\\2'
+			)
+		),
+	'STRICT_MODE_APPLIES' => GESHI_NEVER,
+	'SCRIPT_DELIMITERS' => array(
+		),
+	'HIGHLIGHT_STRICT_BLOCK' => array(
+		)
+);
+
+?>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/plugins/geshi/geshi/smarty.php	Sun Feb 10 18:10:52 2008 -0500
@@ -0,0 +1,166 @@
+<?php
+/*************************************************************************************
+ * smarty.php
+ * ----------
+ * Author: Alan Juden (alan@judenware.org)
+ * Copyright: (c) 2004 Alan Juden, Nigel McNie (http://qbnz.com/highlighter/)
+ * Release Version: 1.0.7.20
+ * Date Started: 2004/07/10
+ *
+ * Smarty template language file for GeSHi.
+ *
+ * CHANGES
+ * -------
+ * 2004/11/27 (1.0.0)
+ *  -  Initial Release
+ *
+ * TODO
+ * ----
+ *
+ *************************************************************************************
+ *
+ *     This file is part of GeSHi.
+ *
+ *   GeSHi is free software; you can 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.
+ *
+ *   GeSHi is distributed in the hope that it will be useful,
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *   GNU General Public License for more details.
+ *
+ *   You should have received a copy of the GNU General Public License
+ *   along with GeSHi; if not, write to the Free Software
+ *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
+ ************************************************************************************/
+
+$language_data = array (
+	'LANG_NAME' => 'Smarty',
+	'COMMENT_SINGLE' => array(),
+	'COMMENT_MULTI' => array('{*' => '*}'),
+	'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+	'QUOTEMARKS' => array("'", '"'),
+	'ESCAPE_CHAR' => '\\',
+	'KEYWORDS' => array(
+		1 => array(
+			'$smarty', 'now', 'const', 'capture', 'config', 'section', 'foreach', 'template', 'version', 'ldelim', 'rdelim',
+			'config_load', 'foreachelse', 'include', 'include_php', 'insert', 'if', 'elseif', 'else', 'php',
+			'sectionelse', 'clear_all_cache', 'clear_cache', 'is_cached',
+			),
+		2 => array(
+			'capitalize', 'count_characters', 'cat', 'count_paragraphs', 'count_sentences', 'count_words', 'date_format',
+			'default', 'escape', 'indent', 'lower', 'nl2br', 'regex_replace', 'replace', 'spacify', 'string_format',
+			'strip', 'strip_tags', 'truncate', 'upper', 'wordwrap'
+			),
+		3 => array(
+			'assign', 'counter', 'cycle', 'debug', 'eval', 'fetch', 'html_checkboxes', 'html_image', 'html_options',
+			'html_radios', 'html_select_date', 'html_select_time', 'html_table', 'math', 'mailto', 'popup_init',
+			'popup', 'textformat'
+			),
+		4 => array(
+			'$template_dir', '$compile_dir', '$config_dir', '$plugins_dir', '$debugging', '$debug_tpl',
+			'$debugging_ctrl', '$autoload_filters', '$compile_check', '$force_compile', '$caching', '$cache_dir',
+			'$cache_lifetime', '$cache_handler_func', '$cache_modified_check', '$config_overwrite',
+			'$config_booleanize', '$config_read_hidden', '$config_fix_newlines', '$default_template_handler_func',
+			'$php_handling', '$security', '$secure_dir', '$security_settings', '$trusted_dir', '$left_delimiter',
+			'$right_delimiter', '$compiler_class', '$request_vars_order', '$request_use_auto_globals',
+			'$error_reporting', '$compile_id', '$use_sub_dirs', '$default_modifiers', '$default_resource_type'
+			),
+		5 => array(
+			'append', 'append_by_ref', 'assign', 'assign_by_ref', 'clear_all_assign', 'clear_all_cache',
+			'clear_assign', 'clear_cache', 'clear_compiled_tpl', 'clear_config', 'config_load', 'display',
+			'fetch', 'get_config_vars', 'get_registered_object', 'get_template_vars', 'is_cached',
+			'load_filter', 'register_block', 'register_compiler_function', 'register_function',
+			'register_modifier', 'register_object', 'register_outputfilter', 'register_postfilter',
+			'register_prefilter', 'register_resource', 'trigger_error', 'template_exists', 'unregister_block',
+			'unregister_compiler_function', 'unregister_function', 'unregister_modifier', 'unregister_object',
+			'unregister_outputfilter', 'unregister_postfilter', 'unregister_prefilter', 'unregister_resource'
+			),
+		6 => array(
+			'name', 'assign', 'file', 'scope', 'global', 'key', 'once', 'script',
+			'loop', 'start', 'step', 'max', 'show', 'values', 'value', 'from', 'item'
+			),
+		7 => array(
+			'eq', 'neq', 'ne', 'lte', 'gte', 'ge', 'le', 'not', 'mod'
+			),
+		),
+	'SYMBOLS' => array(
+		'/', '=', '==', '!=', '>', '<', '>=', '<=', '!', '%'
+		),
+	'CASE_SENSITIVE' => array(
+		GESHI_COMMENTS => false,
+		1 => false,
+		2 => false,
+		3 => false,
+		4 => false,
+		5 => false,
+		6 => false,
+		7 => false,
+		),
+	'STYLES' => array(
+		'KEYWORDS' => array(
+			1 => 'color: #0600FF;',		//Functions
+			2 => 'color: #008000;',		//Modifiers
+			3 => 'color: #0600FF;',		//Custom Functions
+			4 => 'color: #804040;',		//Variables
+			5 => 'color: #008000;',		//Methods
+			6 => 'color: #6A0A0A;',		//Attributes
+			7 => 'color: #D36900;'		//Text-based symbols
+			),
+		'COMMENTS' => array(
+			'MULTI' => 'color: #008080; font-style: italic;'
+			),
+		'ESCAPE_CHAR' => array(
+			0 => 'color: #000099; font-weight: bold;'
+			),
+		'BRACKETS' => array(
+			0 => 'color: #D36900;'
+			),
+		'STRINGS' => array(
+			0 => 'color: #ff0000;'
+			),
+		'NUMBERS' => array(
+			0 => 'color: #cc66cc;'
+			),
+		'METHODS' => array(
+			1 => 'color: #006600;'
+			),
+		'SYMBOLS' => array(
+			0 => 'color: #D36900;'
+			),
+		'SCRIPT' => array(
+            0 => ''
+			),
+		'REGEXPS' => array(
+			)
+		),
+	'URLS' => array(
+		1 => 'http://smarty.php.net/{FNAME}',
+		2 => 'http://smarty.php.net/{FNAME}',
+		3 => 'http://smarty.php.net/{FNAME}',
+		4 => 'http://smarty.php.net/{FNAME}',
+		5 => 'http://smarty.php.net/{FNAME}',
+		6 => '',
+		7 => 'http://smarty.php.net/{FNAME}'
+		),
+	'OOLANG' => true,
+	'OBJECT_SPLITTERS' => array(
+		1 => '.'
+		),
+	'REGEXPS' => array(
+		),
+	'STRICT_MODE_APPLIES' => GESHI_ALWAYS,
+	'SCRIPT_DELIMITERS' => array(
+		0 => array(
+			'{' => '}'
+			)
+	),
+	'HIGHLIGHT_STRICT_BLOCK' => array(
+		0 => true
+		)
+);
+
+?>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/plugins/geshi/geshi/sql.php	Sun Feb 10 18:10:52 2008 -0500
@@ -0,0 +1,135 @@
+<?php
+/*************************************************************************************
+ * sql.php
+ * -------
+ * Author: Nigel McNie (nigel@geshi.org)
+ * Copyright: (c) 2004 Nigel McNie (http://qbnz.com/highlighter)
+ * Release Version: 1.0.7.20
+ * Date Started: 2004/06/04
+ *
+ * SQL language file for GeSHi.
+ *
+ * CHANGES
+ * -------
+ * 2004/11/27 (1.0.3)
+ *  -  Added support for multiple object splitters
+ * 2004/10/27 (1.0.2)
+ *  -  Added "`" string delimiter
+ *  -  Added "#" single comment starter
+ * 2004/08/05 (1.0.1)
+ *  -  Added support for symbols
+ *  -  Added many more keywords (mostly MYSQL keywords)
+ * 2004/07/14 (1.0.0)
+ *  -  First Release
+ *
+ * TODO (updated 2004/11/27)
+ * -------------------------
+ * * Add all keywords
+ * * Split this to several sql files - mysql-sql, ansi-sql etc
+ *
+ *************************************************************************************
+ *
+ *     This file is part of GeSHi.
+ *
+ *   GeSHi is free software; you can 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.
+ *
+ *   GeSHi is distributed in the hope that it will be useful,
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *   GNU General Public License for more details.
+ *
+ *   You should have received a copy of the GNU General Public License
+ *   along with GeSHi; if not, write to the Free Software
+ *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
+ ************************************************************************************/
+
+$language_data = array (
+	'LANG_NAME' => 'SQL',
+	'COMMENT_SINGLE' => array(1 =>'--', 2 => '#'),
+	'COMMENT_MULTI' => array('/*' => '*/'),
+	'CASE_KEYWORDS' => 1,
+	'QUOTEMARKS' => array("'", '"', '`'),
+	'ESCAPE_CHAR' => '\\',
+	'KEYWORDS' => array(
+		1 => array(
+			'ALL', 'ASC', 'AS',  'ALTER', 'AND', 'ADD', 'AUTO_INCREMENT',
+			'BETWEEN', 'BINARY', 'BOTH', 'BY', 'BOOLEAN',
+			'CHANGE', 'CHECK', 'COLUMNS', 'COLUMN', 'CROSS','CREATE',
+			'DATABASES', 'DATABASE', 'DATA', 'DELAYED', 'DESCRIBE', 'DESC',  'DISTINCT', 'DELETE', 'DROP', 'DEFAULT',
+			'ENCLOSED', 'ESCAPED', 'EXISTS', 'EXPLAIN',
+			'FIELDS', 'FIELD', 'FLUSH', 'FOR', 'FOREIGN', 'FUNCTION', 'FROM',
+			'GROUP', 'GRANT',
+			'HAVING',
+			'IGNORE', 'INDEX', 'INFILE', 'INSERT', 'INNER', 'INTO', 'IDENTIFIED', 'IN', 'IS', 'IF',
+			'JOIN',
+			'KEYS', 'KILL','KEY',
+			'LEADING', 'LIKE', 'LIMIT', 'LINES', 'LOAD', 'LOCAL', 'LOCK', 'LOW_PRIORITY', 'LEFT', 'LANGUAGE',
+			'MODIFY',
+			'NATURAL', 'NOT', 'NULL', 'NEXTVAL',
+			'OPTIMIZE', 'OPTION', 'OPTIONALLY', 'ORDER', 'OUTFILE', 'OR', 'OUTER', 'ON',
+			'PROCEEDURE','PROCEDURAL', 'PRIMARY',
+			'READ', 'REFERENCES', 'REGEXP', 'RENAME', 'REPLACE', 'RETURN', 'REVOKE', 'RLIKE', 'RIGHT',
+			'SHOW', 'SONAME', 'STATUS', 'STRAIGHT_JOIN', 'SELECT', 'SETVAL', 'SET',
+			'TABLES', 'TEMINATED', 'TO', 'TRAILING','TRUNCATE', 'TABLE', 'TEMPORARY', 'TRIGGER', 'TRUSTED',
+			'UNIQUE', 'UNLOCK', 'USE', 'USING', 'UPDATE', 'UNSIGNED',
+			'VALUES', 'VARIABLES', 'VIEW',
+			'WITH', 'WRITE', 'WHERE',
+			'ZEROFILL',
+			'XOR',
+			)
+		),
+	'SYMBOLS' => array(
+		'(', ')', '=', '<', '>', '|'
+		),
+	'CASE_SENSITIVE' => array(
+		GESHI_COMMENTS => false,
+		1 => false
+		),
+	'STYLES' => array(
+		'KEYWORDS' => array(
+			1 => 'color: #993333; font-weight: bold;'
+			),
+		'COMMENTS' => array(
+			1 => 'color: #808080; font-style: italic;',
+			2 => 'color: #808080; font-style: italic;',
+            'MULTI' => 'color: #808080; font-style: italic;'
+			),
+		'ESCAPE_CHAR' => array(
+			0 => 'color: #000099; font-weight: bold;'
+			),
+		'BRACKETS' => array(
+			0 => 'color: #66cc66;'
+			),
+		'STRINGS' => array(
+			0 => 'color: #ff0000;'
+			),
+		'NUMBERS' => array(
+			0 => 'color: #cc66cc;'
+			),
+		'METHODS' => array(
+			),
+		'SYMBOLS' => array(
+			0 => 'color: #66cc66;'
+			),
+		'SCRIPT' => array(
+			),
+		'REGEXPS' => array(
+			)
+		),
+	'OOLANG' => false,
+	'OBJECT_SPLITTERS' => array(
+		),
+	'REGEXPS' => array(
+		),
+	'STRICT_MODE_APPLIES' => GESHI_NEVER,
+	'SCRIPT_DELIMITERS' => array(
+		),
+	'HIGHLIGHT_STRICT_BLOCK' => array(
+		)
+);
+
+?>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/plugins/geshi/geshi/tcl.php	Sun Feb 10 18:10:52 2008 -0500
@@ -0,0 +1,181 @@
+<?php
+/*************************************************************************************
+ * tcl.php
+ * ---------------------------------
+ * Author: Reid van Melle (rvanmelle@gmail.com)
+ * Copyright: (c) 2004 Reid van Melle (sorry@nowhere)
+ * Release Version: 1.0.7.20
+ * Date Started: 2006/05/05
+ *
+ * TCL/iTCL language file for GeSHi.
+ *
+ * This was thrown together in about an hour so I don't expect
+ * really great things.  However, it is a good start.  I never
+ * got a change to try out the iTCL or object-based support but
+ * this is not widely used anyway.
+ *
+ * CHANGES
+ * -------
+ * 2006/05/05 (1.0.0)
+ *  -  First Release
+ *
+ * TODO (updated 2006/05/05)
+ * -------------------------
+ * - Get TCL built-in special variables hilighted with a new color..
+ *   currently, these are listed in //special variables in the keywords
+ *   section, but they get covered by the general REGEXP for symbols
+ * - General cleanup, testing, and verification
+ *
+ *************************************************************************************
+ *
+ *     This file is part of GeSHi.
+ *
+ *   GeSHi is free software; you can 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.
+ *
+ *   GeSHi is distributed in the hope that it will be useful,
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *   GNU General Public License for more details.
+ *
+ *   You should have received a copy of the GNU General Public License
+ *   along with GeSHi; if not, write to the Free Software
+ *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
+ ************************************************************************************/
+
+$language_data = array (
+	'LANG_NAME' => 'TCL',
+	'COMMENT_SINGLE' => array(1 => '#'),
+	'COMMENT_MULTI' => array(),
+	'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+	'QUOTEMARKS' => array('"', "'"),
+	'ESCAPE_CHAR' => '\\',
+	'KEYWORDS' => array(
+
+		/*
+		** Set 1: reserved words
+		** http://python.org/doc/current/ref/keywords.html
+		*/
+		1 => array(
+			'proc', 'global', 'upvar', 'if', 'then', 'else', 'elseif', 'for', 'foreach',
+			'break', 'continue', 'while', 'set', 'eval', 'case', 'in', 'switch',
+			'default', 'exit', 'error', 'proc', 'return', 'uplevel', 'loop', 
+			'for_array_keys', 'for_recursive_glob', 'for_file', 'unwind_protect',
+			'expr', 'catch', 'namespace', 'rename', 'variable',
+			// itcl
+			'method', 'itcl_class', 'public', 'protected'),
+
+		/*
+		** Set 2: builtins
+		** http://asps.activatestate.com/ASPN/docs/ActiveTcl/8.4/tcl/tcl_2_contents.htm
+		*/
+		2 => array(
+			// string handling
+			'append', 'binary', 'format', 're_syntax', 'regexp', 'regsub',
+			'scan', 'string', 'subst', 
+			// list handling
+			'concat', 'join', 'lappend', 'lindex', 'list', 'llength', 'lrange',
+			'lreplace', 'lsearch', 'lset', 'lsort', 'split',
+			// math
+			'expr',
+			// procedures and output
+			'incr', 'close', 'eof', 'fblocked', 'fconfigure', 'fcopy', 'file',
+			'fileevent', 'flush', 'gets', 'open', 'puts', 'read', 'seek', 
+			'socket', 'tell',
+			// packages and source files
+			'load', 'loadTk', 'package', 'pgk::create', 'pgk_mkIndex', 'source',
+			// interpreter routines
+			'bgerror', 'history', 'info', 'interp', 'memory', 'unknown',
+			// library routines
+			'enconding', 'http', 'msgcat',
+			// system related
+			'cd', 'clock', 'exec', 'exit', 'glob', 'pid', 'pwd', 'time',
+			// platform specified
+			'dde', 'registry', 'resource',
+			// special variables
+			'$argc', '$argv', '$errorCode', '$errorInfo', '$argv0', 
+			'$auto_index', '$auto_oldpath', '$auto_path', '$env', 
+			'$tcl_interactive', '$tcl_libpath', '$tcl_library', 
+			'$tcl_pkgPath', '$tcl_platform', '$tcl_precision', '$tcl_traceExec',
+			),
+
+		/*
+		** Set 3: standard library
+		*/
+		3 => array(
+			'comment', 'dde', 'filename', 'http', 'library', 'memory',
+			'packagens', 'registry', 'resource', 'tcltest', 'tclvars',
+			),
+
+		/*
+		** Set 4: special methods
+		*/
+		4 => array(
+			)
+
+		),
+	'SYMBOLS' => array(
+			'(', ')', '[', ']', '{', '}', '$', '*', '&', '%', '!', ';', '<', '>', '?'
+		),
+	'CASE_SENSITIVE' => array(
+		GESHI_COMMENTS => true,
+		1 => true,
+        2 => true,
+        3 => true,
+        4 => true
+		),
+	'STYLES' => array(
+		'KEYWORDS' => array(
+			1 => 'color: #ff7700;font-weight:bold;',	// Reserved
+			2 => 'color: #008000;',						// Built-ins + self
+			3 => 'color: #dc143c;',						// Standard lib
+			4 => 'color: #0000cd;'						// Special methods
+			),
+		'COMMENTS' => array(
+			1 => 'color: #808080; font-style: italic;',
+			'MULTI' => 'color: #808080; font-style: italic;'
+			),
+		'ESCAPE_CHAR' => array(
+			0 => 'color: #000099; font-weight: bold;'
+			),
+		'BRACKETS' => array(
+			0 => 'color: black;'
+			),
+		'STRINGS' => array(
+			0 => 'color: #483d8b;'
+			),
+		'NUMBERS' => array(
+			0 => 'color: #ff4500;'
+			),
+		'METHODS' => array(
+			1 => 'color: black;'
+			),
+		'SYMBOLS' => array(
+			0 => 'color: #66cc66;'
+			),
+		'REGEXPS' => array(
+            0 => 'color: #ff3333;'
+			),
+		'SCRIPT' => array(
+			)
+		),
+	'URLS' => array(
+		),
+	'OOLANG' => true,
+	'OBJECT_SPLITTERS' => array(
+		1 => '::'
+		),
+	'REGEXPS' => array(
+		0 => '[\\$]+[a-zA-Z_][a-zA-Z0-9_]*',
+		),
+	'STRICT_MODE_APPLIES' => GESHI_NEVER,
+	'SCRIPT_DELIMITERS' => array(
+		),
+	'HIGHLIGHT_STRICT_BLOCK' => array(
+		)
+);
+
+?>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/plugins/geshi/geshi/text.php	Sun Feb 10 18:10:52 2008 -0500
@@ -0,0 +1,81 @@
+<?php
+/*************************************************************************************
+ * text.php
+ * --------
+ * Author: Sean Hanna (smokingrope@gmail.com)
+ * Copyright: (c) 2006 Sean Hanna 
+ * Release Version: 1.0.7.20
+ * Date Started: 04/23/2006
+ *
+ * Standard Text File (No Syntax Highlighting).
+ *
+ * CHANGES
+ * -------
+ * 04/23/2006 (0.5.0)
+ *  -  Syntax File Created
+ *
+ * 04/27/2006 (1.0.0)
+ * - Documentation Cleaned Up
+ * - First Release
+ *
+ * TODO (updated 04/27/2006)
+ * -------------------------
+ * 
+ * 
+ *************************************************************************************
+ *
+ *     This file is part of GeSHi.
+ *
+ *   GeSHi is free software; you can 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.
+ *
+ *   GeSHi is distributed in the hope that it will be useful,
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *   GNU General Public License for more details.
+ *
+ *   You should have received a copy of the GNU General Public License
+ *   along with GeSHi; if not, write to the Free Software
+ *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
+
+ ************************************************************************************/
+$language_data = array (
+	'LANG_NAME' => 'Text',
+	'COMMENT_SINGLE' => array( ),
+	'COMMENT_MULTI' => array( ),
+	'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+	'QUOTEMARKS' => array(),
+	'ESCAPE_CHAR' => '',
+	'KEYWORDS' => array( ),
+	'SYMBOLS' => array( ),
+	'CASE_SENSITIVE' => array(
+		GESHI_COMMENTS => false
+		),
+	'STYLES' => array(
+		'KEYWORDS' => array(),
+		'COMMENTS' => array(),
+		'ESCAPE_CHAR' => array(),
+		'BRACKETS' => array(),
+		'STRINGS' => array(),
+		'NUMBERS' => array(),
+		'METHODS' => array(),
+		'SYMBOLS' => array(),
+		'SCRIPT' => array(),
+		'REGEXPS' => array()
+		),
+	'OOLANG' => false,
+	'OBJECT_SPLITTERS' => array(),
+	'REGEXPS' => array(	),
+	'STRICT_MODE_APPLIES' => GESHI_NEVER,
+	'SCRIPT_DELIMITERS' => array( ),
+	'HIGHLIGHT_STRICT_BLOCK' => array( )
+);
+if (isset($this) && is_a($this, 'GeSHi')) {
+    $this->set_numbers_highlighting(false);
+    $this->set_brackets_highlighting(false);
+    $this->disable_highlighting();
+}
+?>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/plugins/geshi/geshi/thinbasic.php	Sun Feb 10 18:10:52 2008 -0500
@@ -0,0 +1,864 @@
+<?php
+/*************************************************************************************
+ * thinbasic.php
+ * ------
+ * Author: Eros Olmi (eros.olmi@thinbasic.com)
+ * Copyright: (c) 2006 Eros Olmi (http://www.thinbasic.com), Nigel McNie (http://qbnz.com/highlighter)
+ * Release Version: 1.0.7.20
+ * Date Started: 2006/05/12
+ *
+ * thinBasic language file for GeSHi.
+ *
+ * CHANGES
+ * -------
+ * 2006/05/12 (1.0.0)
+ *  -  First Release
+ *
+ * TODO (updated 2006/05/12)
+ * -------------------------
+ *
+ *************************************************************************************
+ *
+ *     This file is part of GeSHi.
+ *
+ *   GeSHi is free software; you can 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.
+ *
+ *   GeSHi is distributed in the hope that it will be useful,
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *   GNU General Public License for more details.
+ *
+ *   You should have received a copy of the GNU General Public License
+ *   along with GeSHi; if not, write to the Free Software
+ *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
+ ************************************************************************************/
+ $language_data = array (
+       'LANG_NAME' => 'thinBasic',
+       'COMMENT_SINGLE' => array(1 => "'"),
+       'COMMENT_MULTI' => array(),
+       'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+       'QUOTEMARKS' => array('"'),
+       'ESCAPE_CHAR' => '',
+       'KEYWORDS' => array(
+               1 => array(
+                        'XOR','XML_TREETOSTRING','XML_PARSEFILE','XML_PARSE','XML_PARENT','XML_NODETYPE','XML_NODETOSTRING','XML_NEXTSIBLING',
+                        'XML_LASTERROR','XML_GETTAG','XML_FREE','XML_FINDNODE','XML_DECODEPARAM','XML_CHILDDATA','XML_CHILD','XML_ATTRIBVALUE',
+                        'XML_ATTRIBNAME','XML_ATTRIBCOUNT','WORD','WITH','WIN_SHOW','WIN_SETTITLE','WIN_SETFOREGROUND','WIN_ISZOOMED',
+                        'WIN_ISVISIBLE','WIN_ISICONIC','WIN_GETTITLE','WIN_GETFOREGROUND','WIN_GETCLASS','WIN_GETACTIVE','WIN_FLASH','WIN_FINDBYTITLE',
+                        'WIN_FINDBYCLASS','WHILE','WEND','VERIFY','VARPTR','VARIANTVT$','VARIANTVT','VARIANT',
+                        'VARIABLE_GETINFO','VARIABLE_EXISTS','VARIABLE_EXIST','VALUE','VAL','USING$','USING','USES',
+                        'USER','UNTIL','UNITS','UNION','UNICODE2ASCII','UDP_SEND','UDP_RECV','UDP_OPENSERVER',
+                        'UDP_OPEN','UDP_FREEFILE','UDP_CLOSE','UCODE$','UCASE$','UBOUND','TYPE','TRIMFULL$',
+                        'TRIM$','TOOLTIP','TOKENIZER_MOVETOEOL','TOKENIZER_KEYSETUSERSTRING','TOKENIZER_KEYSETUSERNUMBER','TOKENIZER_KEYGETUSERSTRING','TOKENIZER_KEYGETUSERNUMBER','TOKENIZER_KEYGETSUBTYPE',
+                        'TOKENIZER_KEYGETNAME','TOKENIZER_KEYGETMAINTYPE','TOKENIZER_KEYFIND','TOKENIZER_KEYADD','TOKENIZER_GETNEXTTOKEN','TOKENIZER_DEFAULT_SET','TOKENIZER_DEFAULT_GET','TOKENIZER_DEFAULT_CODE',
+                        'TOKENIZER_DEFAULT_CHAR','TO','TIMER','TIME$','THEN','TEXTBOX','TEXT','TCP_SEND',
+                        'TCP_RECV','TCP_PRINT','TCP_OPEN','TCP_LINEINPUT','TCP_FREEFILE','TCP_CLOSE','TB_IMGCTX_SETIMAGEADJUSTMENT','TB_IMGCTX_LOADIMAGE',
+                        'TB_IMGCTX_GETIMAGEADJUSTMENT','TBGL_VIEWPORT','TBGL_VERTEX','TBGL_USETEXTUREFLAG','TBGL_USETEXTURE','TBGL_USELINESTIPPLEFLAG','TBGL_USELINESTIPPLE','TBGL_USELIGHTSOURCEFLAG',
+                        'TBGL_USELIGHTSOURCE','TBGL_USELIGHTINGFLAG','TBGL_USELIGHTING','TBGL_USEFOGFLAG','TBGL_USEFOG','TBGL_USEDEPTHMASK','TBGL_USEDEPTHFLAG','TBGL_USEDEPTH',
+                        'TBGL_USECLIPPLANEFLAG','TBGL_USECLIPPLANE','TBGL_USEBLENDFLAG','TBGL_USEBLEND','TBGL_USEALPHATEST','TBGL_TRANSLATE','TBGL_TORUS','TBGL_TEXCOORD2D',
+                        'TBGL_SPHERE','TBGL_SHOWWINDOW','TBGL_SHOWCURSOR','TBGL_SETWINDOWTITLE','TBGL_SETUPLIGHTSOURCE','TBGL_SETUPFOG','TBGL_SETUPCLIPPLANE','TBGL_SETPRIMITIVEQUALITY',
+                        'TBGL_SETLIGHTPARAMETER','TBGL_SETDRAWDISTANCE','TBGL_SCALE','TBGL_SAVESCREENSHOT','TBGL_ROTATEXYZ','TBGL_ROTATE','TBGL_RESETMATRIX','TBGL_RENDERTOTEXTURE',
+                        'TBGL_RENDERMATRIX3D','TBGL_RENDERMATRIX2D','TBGL_PUSHMATRIX','TBGL_PRINTFONT','TBGL_PRINTBMP','TBGL_PRINT','TBGL_POS3DTOPOS2D','TBGL_POPMATRIX',
+                        'TBGL_POLYGONLOOK','TBGL_POINTSIZE','TBGL_POINTINSIDE3D','TBGL_NORMAL','TBGL_NEWLIST','TBGL_MOUSEGETWHEELDELTA','TBGL_MOUSEGETRBUTTON','TBGL_MOUSEGETPOSY',
+                        'TBGL_MOUSEGETPOSX','TBGL_MOUSEGETMBUTTON','TBGL_MOUSEGETLBUTTON','TBGL_M15SETVERTEXZ','TBGL_M15SETVERTEXY','TBGL_M15SETVERTEXXYZ','TBGL_M15SETVERTEXX','TBGL_M15SETVERTEXTEXY',
+                        'TBGL_M15SETVERTEXTEXXY','TBGL_M15SETVERTEXTEXX','TBGL_M15SETVERTEXTEXN','TBGL_M15SETVERTEXRGB','TBGL_M15SETVERTEXR','TBGL_M15SETVERTEXPSTOP','TBGL_M15SETVERTEXPARAM','TBGL_M15SETVERTEXLAYER',
+                        'TBGL_M15SETVERTEXG','TBGL_M15SETVERTEXB','TBGL_M15SETMODELVERTEXCOUNT','TBGL_M15SETBONECHILD','TBGL_M15ROTBONEZ','TBGL_M15ROTBONEY','TBGL_M15ROTBONEX','TBGL_M15ROTBONE',
+                        'TBGL_M15RESETBONES','TBGL_M15RECALCNORMALS','TBGL_M15LOADMODEL','TBGL_M15INITMODELBUFFERS','TBGL_M15GETVERTEXZ','TBGL_M15GETVERTEXY','TBGL_M15GETVERTEXXYZ','TBGL_M15GETVERTEXX',
+                        'TBGL_M15GETVERTEXTEXY','TBGL_M15GETVERTEXTEXXY','TBGL_M15GETVERTEXTEXX','TBGL_M15GETVERTEXTEXN','TBGL_M15GETVERTEXRGB','TBGL_M15GETVERTEXR','TBGL_M15GETVERTEXPSTOP','TBGL_M15GETVERTEXPARAM',
+                        'TBGL_M15GETVERTEXLAYER','TBGL_M15GETVERTEXG','TBGL_M15GETVERTEXB','TBGL_M15GETMODELVERTEXCOUNT','TBGL_M15GETMODELPOLYCOUNT','TBGL_M15ERASECHILDBONES','TBGL_M15DRAWMODEL','TBGL_M15DEFBONERESET',
+                        'TBGL_M15DEFBONELAYER','TBGL_M15DEFBONEBOX','TBGL_M15DEFBONEANCHOR','TBGL_M15DEFBONEADDVERTEX','TBGL_M15CLEARMODEL','TBGL_M15APPLYBONES','TBGL_M15ADDBONETREEITEM','TBGL_LOADTEXTURE',
+                        'TBGL_LOADFONT','TBGL_LOADBMPFONT','TBGL_LINEWIDTH','TBGL_LINESTIPPLE','TBGL_KILLFONT','TBGL_ISWINDOW','TBGL_ISPOINTVISIBLE','TBGL_ISPOINTBEHINDVIEW',
+                        'TBGL_GETWINDOWMULTIKEYSTATE','TBGL_GETWINDOWKEYSTATE','TBGL_GETWINDOWKEYONCE','TBGL_GETWINDOWCLIENT','TBGL_GETTEXTURENAME','TBGL_GETTEXTURELIST','TBGL_GETPIXELINFO','TBGL_GETMULTIASYNCKEYSTATE',
+                        'TBGL_GETLASTGLERROR','TBGL_GETFRAMERATE','TBGL_GETDESKTOPINFO','TBGL_GETASYNCKEYSTATE','TBGL_ERRORMESSAGES','TBGL_ENDPOLY','TBGL_ENDLIST','TBGL_DRAWFRAME',
+                        'TBGL_DESTROYWINDOW','TBGL_DELETELIST','TBGL_CYLINDER','TBGL_CREATEWINDOWEX','TBGL_CREATEWINDOW','TBGL_COLORALPHA','TBGL_COLOR','TBGL_CLEARFRAME',
+                        'TBGL_CAMERA','TBGL_CALLLIST','TBGL_BUILDFONT','TBGL_BOX','TBGL_BLENDFUNC','TBGL_BINDTEXTURE','TBGL_BEGINPOLY','TBGL_BACKCOLOR',
+                        'TBGL_ALPHAFUNC','TBDI_JOYZ','TBDI_JOYY','TBDI_JOYX','TBDI_JOYSTOPEFFECT','TBDI_JOYSLIDER','TBDI_JOYSETRANGEZ','TBDI_JOYSETRANGEY',
+                        'TBDI_JOYSETRANGEXYZ','TBDI_JOYSETRANGEX','TBDI_JOYSETDEADZONEZ','TBDI_JOYSETDEADZONEY','TBDI_JOYSETDEADZONEXYZ','TBDI_JOYSETDEADZONEX','TBDI_JOYSETAUTOCENTER','TBDI_JOYRZ',
+                        'TBDI_JOYRY','TBDI_JOYRX','TBDI_JOYPOV','TBDI_JOYPLAYEFFECT','TBDI_JOYLOADEFFECT','TBDI_JOYHASFF','TBDI_JOYHASEFFECT','TBDI_JOYGETEFFECTNAME',
+                        'TBDI_JOYGETEFFECTGUID','TBDI_JOYCREATEEFFECT','TBDI_JOYCOUNTPOV','TBDI_JOYCOUNTEFFECTS','TBDI_JOYCOUNTBTN','TBDI_JOYCOUNTAXES','TBDI_JOYBUTTON','TBDI_JOYAVAIL',
+                        'TBDI_INIT','TBASS_STREAMFREE','TBASS_STREAMCREATEFILE','TBASS_SETVOLUME','TBASS_SETEAXPRESET','TBASS_SETEAXPARAMETERS','TBASS_SETCONFIG','TBASS_SET3DPOSITION',
+                        'TBASS_SET3DFACTORS','TBASS_SAMPLELOAD','TBASS_SAMPLEGETCHANNEL','TBASS_MUSICLOAD','TBASS_MUSICFREE','TBASS_INIT','TBASS_GETVOLUME','TBASS_GETVERSION',
+                        'TBASS_GETCONFIG','TBASS_FREE','TBASS_ERRORGETCODE','TBASS_CHANNELSTOP','TBASS_CHANNELSETPOSITION','TBASS_CHANNELSETATTRIBUTES','TBASS_CHANNELSET3DPOSITION','TBASS_CHANNELPLAY',
+                        'TBASS_CHANNELPAUSE','TBASS_CHANNELISACTIVE','TBASS_CHANNELGETPOSITION','TBASS_CHANNELGETLENGTH','TBASS_CHANNELGETATTRIBUTES','TBASS_APPLY3D','TANH','TANGENT',
+                        'TAN','TALLY','TABCTRL_ONNOTIFY','TABCTRL_INSERTITEM','TABCTRL_GETCURSEL','SWAP','SUB','STRZIP$',
+                        'STRUNZIP$','STRREVERSE$','STRPTRLEN','STRPTR','STRINSERT$','STRING$','STRING','STRDELETE$',
+                        'STR$','STOP','STEP','STDOUT','STDIN','STAT_SUM','STAT_STDERROR','STAT_STDDEVIATION',
+                        'STAT_RANDOM','STAT_PRODUCT','STAT_MIN','STAT_MEDIAN','STAT_MEANHARMONIC','STAT_MEANGEOMETRIC','STAT_MEANARITHMETIC','STAT_MAX',
+                        'STAT_INVERSESUM','STAT_HISTOGRAM','STAT_FILLARRAY','STAT_COUNT','STAT_COPYARRAY','STAT_CLONEARRAY','STAT_CHISQUARE','STATIC',
+                        'STATE','SQR','SPLIT','SORT','SMTP_STATISTICS','SMTP_SETOPTION','SMTP_SETLOGFILE','SMTP_SENDHTML',
+                        'SMTP_SENDEMAIL','SMTP_GETERROR','SMTP_FINISHED','SMTP_DEBUG','SMTP_CONNECT','SMTP_CLOSE','SLEEP','SIZEOF',
+                        'SIZE','SINH','SINGLE','SIN','SIGNED','SHOW','SHIFT','SHAPETOBMP',
+                        'SGN','SETAT','SET','SENDMESSAGE','SENDKEYSBULK','SENDKEYS','SEND','SELECTEXPRESSION',
+                        'SELECT','SECH','SEC','SCAN','SAPI_SPEAK','SAPI_SETVOLUME','SAPI_SETRATE','SAPI_MODULELOADED',
+                        'SAPI_GETVOLUME','SAPI_GETRATE','RTRIM$','RTF_SETTEXT','RTF_SETFONTSIZE','RTF_SETFONTNAME','RTF_SETFGCOLOR','RTF_SETEFFECT',
+                        'RTF_SETBGCOLOR','RTF_SETALIGN','RTF_SAVETOFILE','RTF_LOADFROMFILE','RTF_GETTEXT','RTF_GETFONTSIZE','RTF_GETFONTNAME','RTF_GETEFFECT',
+                        'RTF_GETCLASS','RTF_APPENDTEXT','RSET$','ROUND','RNDF','RND','RIGHT$','RIGHT',
+                        'RGB','RESOURCE','RESIZE','RESET','REPLACE$','REPEAT$','REMOVE$','REM',
+                        'REGISTRY_SETVALUE','REGISTRY_SETTXTNUM','REGISTRY_SETTXTBOOL','REGISTRY_SETDWORD','REGISTRY_GETVALUE','REGISTRY_GETTXTNUM','REGISTRY_GETTXTBOOL','REGISTRY_GETDWORD',
+                        'REGISTRY_GETALLKEYS','REGISTRY_DELVALUE','REGISTRY_DELKEY','REFERENCE','REF','REDRAW','REDIM','RAS_SETPARAMS',
+                        'RAS_OPENDIALUPDIALOG','RAS_LOADENTRIES','RAS_HANGUPALL','RAS_HANGUP','RAS_GETENTRY','RAS_BEGINDIAL','RANDOMIZE','RADTODEG',
+                        'QUERYPERFORMANCEFREQUENCY','QUERYPERFORMANCECOUNTER','QUAD','PTR','PRESERVE','POST','POPUP','POKE$',
+                        'POKE','PIXELS','PI','PERMUTATIONS','PEEKMESSAGE','PEEK$','PEEK','PC_SYSTEMUPFROM',
+                        'PC_SUSPENDSTATE','PC_SHUTDOWN','PC_SHOWCARET','PC_SETCARETBLINKTIME','PC_RESTARTDIALOG','PC_PREVENTSHUTDOWN','PC_LOCK','PC_INSERTCD',
+                        'PC_HIDECARET','PC_GETSTATEONOFF','PC_GETSCROLLLOCKKEYSTATE','PC_GETNUMLOCKKEYSTATE','PC_GETCARETBLINKTIME','PC_GETCAPSLOCKKEYSTATE','PC_EMPTYBIN','PC_EJECTCD',
+                        'PC_DECODECDERROR','PCT','PARSESET$','PARSECOUNT','PARSE$','PARSE','PARAMETERS','OUTSIDE',
+                        'OS_WINVERSIONTEXT','OS_WINGETVERSIONTIMELINE','OS_SHELLEXECUTE','OS_SHELLABOUT','OS_SHELL','OS_SETLASTCALLDLLERROR','OS_SERVICESTOP','OS_SERVICESTATUSDESCRIPTION',
+                        'OS_SERVICESTARTTYPEDESCRIPTION','OS_SERVICESTART','OS_SERVICESETSTARTTYPE','OS_SERVICEQUERY','OS_SERVICEGETSTARTTYPE','OS_SERVICEGETLIST','OS_PROCESSKILLBYNAME','OS_PROCESSKILLBYID',
+                        'OS_PROCESSISRUNNING','OS_PROCESSGETLIST','OS_PROCESSGETID','OS_PROCESSARERUNNING','OS_MESSAGEBEEP','OS_ISWOW64','OS_ISFEATUREPRESENT','OS_IEVERSION',
+                        'OS_GETWINDOWSDIR','OS_GETUSERNAME','OS_GETTEMPDIR','OS_GETSYSTEMDIR','OS_GETSPECIALFOLDER','OS_GETLASTCALLDLLSTATUS','OS_GETLASTCALLDLLERROR','OS_GETCURRENTTHREADID',
+                        'OS_GETCURRENTPROCESSID','OS_GETCOMPUTERNAME','OS_GETCOMMANDS','OS_GETCOMMAND','OS_FLASHWINDOW','OS_FATALAPPEXIT','OS_ENVIRON','OS_CALLDLL',
+                        'OR','OPTIONAL','OPTION','OPT','ONCE','ON','OFF','NUMBER',
+                        'NOT','NEXT','NEW','MSGBOX','MOUSEPTR','MODULE','MODELESS','MODAL',
+                        'MOD','MKWRD$','MKS$','MKQ$','MKL$','MKI$','MKE$','MKDWD$',
+                        'MKD$','MKCUX$','MKCUR$','MKBYT$','MIN$','MIN','MID$','MENU',
+                        'MDI_CREATE','MCASE$','MAX$','MAX','MAKWRD','MAKLNG','MAKINT','MAKDWR',
+                        'LTRIM$','LSET$','LOWRD','LOOP','LONG','LOINT','LOG_WRITE','LOGB',
+                        'LOG2','LOG10','LOG','LOCAL','LOC','LL_UPDATEBYNAME','LL_UPDATE','LL_TOSTRING',
+                        'LL_TOFILE','LL_NAME','LL_GETITEM','LL_GETBYNUMBER','LL_FROMFILE','LL_FREE','LL_FINDLAST','LL_FINDBYNAME',
+                        'LL_FINDBYDATA','LL_DELETELIKE','LL_DELETEBYNAME','LL_DELETE','LL_DATABYNAME','LL_DATA','LL_COUNT','LL_ADD',
+                        'LISTBOX','LINE','LIBRARY_EXISTS','LIB','LEN','LEFT$','LEFT','LCASE$',
+                        'LBOUND','LABEL','KILL','JOIN$','ITERATE','ISWINDOW','ISUNICODE','ISTRUE',
+                        'ISODD','ISLIKE','ISFALSE','ISEVEN','IP_TOSTRING','IP_ADDR','INTERNALINFO','INTEGER',
+                        'INT','INSTR','INSIDE','INPUTBOX$','INI_SETKEY','INI_GETSECTIONSLIST','INI_GETSECTIONKEYLIST','INI_GETKEY',
+                        'INET_URLDOWNLOAD','INET_PING','INET_OPENDIALUPDIALOG','INET_GETSTATE','INET_GETREMOTEMACADDRESS','INET_GETIP','INET_GETCONNECTIONMODE','INCR',
+                        'IN','IMAGE','IIF$','IIF','IF','ICRYPTO_TESTSHA1','ICRYPTO_TESTMD5','ICRYPTO_TESTCRC32',
+                        'ICRYPTO_TESTCRC16','ICRYPTO_STRING2ASCII','ICRYPTO_SHA1','ICRYPTO_MD5','ICRYPTO_ENCRYPTRIJNDAEL','ICRYPTO_ENCRYPTRC4','ICRYPTO_DECRYPTRIJNDAEL','ICRYPTO_DECRYPTRC4',
+                        'ICRYPTO_CRC32','ICRYPTO_CRC16','ICRYPTO_BYTEXOR','ICRYPTO_BIN2ASCII','ICRYPTO_ASCII2STRING','ICRYPTO_ASCII2BIN','HOST_ADDR','HOSTNAME_TOIP',
+                        'HOSTIP_TONAME','HIWRD','HIINT','HEX$','HASH','HANDLE','GUIDTXT$','GUID$',
+                        'GRAPHIC','GLVOID','GLUSHORT','GLUINT','GLUBYTE','GLSIZEI','GLSHORT','GLOBAL',
+                        'GLINT','GLFLOAT','GLENUM','GLDOUBLE','GLCLAMPF','GLCLAMPD','GLBYTE','GLBOOLEAN',
+                        'GLBITFIELD','GETWINDOWMULTIKEYSTATE','GETWINDOWKEYSTATE','GETTICKCOUNT','GETS','GETMULTIASYNCKEYSTATE','GETMESSAGE','GETCURRENTINSTANCE',
+                        'GETAT','GETASYNCKEYSTATE','GET','FUNCTION_NPARAMS','FUNCTION_EXISTS','FUNCTION_CPARAMS','FUNCTION','FTP_SETSTRING',
+                        'FTP_SETSERVERDIR','FTP_SETNUMBER','FTP_SETMODE','FTP_SETLOGFILE','FTP_SETLOCALDIR','FTP_QUIT','FTP_PUTFILE','FTP_GETSTRING',
+                        'FTP_GETSERVERDIR','FTP_GETNUMBER','FTP_GETLOCALDIR','FTP_GETLIST','FTP_GETFILE','FTP_GETERRORSTRING','FTP_GETERRORNUMBER','FTP_FINISHED',
+                        'FTP_EXTRACT','FTP_DELFILE','FTP_CONNECT','FTP_COMMAND','FRAME','FRAC','FORMAT$','FOR',
+                        'FONT_LIST','FONT_CREATE','FONT','FOCUS','FLUSH','FIX','FILE_SIZE','FILE_SHELLDELETE',
+                        'FILE_SHELLCOPY','FILE_SETDATETIME','FILE_SEEK','FILE_SAVE','FILE_RENAME','FILE_PUT','FILE_PATHSPLIT','FILE_OPEN',
+                        'FILE_LOF','FILE_LOAD','FILE_LINEPRINT','FILE_LINEINPUT','FILE_KILL','FILE_GETVERSIONSTRING','FILE_GETVERSION','FILE_GETTIME',
+                        'FILE_GETDATETIMESTAMP','FILE_GETDATETIME','FILE_GETDATE','FILE_GET','FILE_EXISTS','FILE_EOF','FILE_COPY','FILE_CLOSE',
+                        'FILE_CHANGED','FILE_APPEND','FACTORIAL','EXTRACT$','EXT','EXPORT','EXP2','EXP10',
+                        'EXP','EXIT','EVAL_STRING','EVAL_SETSTRING','EVAL_SETNUMBER','EVAL_MATH','EVAL_LINKEXT','EVAL_GETSTRING',
+                        'EVAL_GETNUMBER','EVAL_ERRORGETTOKEN','EVAL_ERRORDESCRIPTION','EVAL_ERRORCLEAR','EVAL','ERRCLEAR','ERR','ENGINE_GETCURRENTTOKEN',
+                        'ENDIF','END','ENABLE','ELSEIF','ELSE','ECHO','DWORD','DT_YEAR',
+                        'DT_TIMETOSEC','DT_TIMESUBSECONDS','DT_TIMEFORMAT','DT_TIMEADDSECONDS','DT_SETTIMESEPARATOR','DT_SETDATESEPARATOR','DT_SETDATECENTURY','DT_SECTOTIME',
+                        'DT_SECTODATE','DT_SECOND','DT_MONTH','DT_MINUTE','DT_LASTDAYOFMONTH','DT_ISVALIDDATE','DT_ISLEAPYEAR','DT_HOUR',
+                        'DT_GETWEEKDAYNAME','DT_GETWEEKDAY','DT_GETTIMESTAMP','DT_GETTIMESEPARATOR','DT_GETMONTHNAME','DT_GETDATESEPARATOR','DT_GETDATECENTURY','DT_DAY',
+                        'DT_DATETOSEC','DT_DATETIMESUBSECONDS','DT_DATETIMEADDSECONDS','DT_DATESUBDAYS','DT_DATEFORMAT','DT_DATEDIFF','DT_DATEADDDAYS','DT_COOKIEDATE',
+                        'DRAW','DOUBLE','DOEVENTS','DO','DISABLE','DIR_REMOVE','DIR_MAKEALL','DIR_MAKE',
+                        'DIR_LISTARRAY','DIR_LIST','DIR_ISEMPTY','DIR_ISDIR','DIR_GETCURRENT','DIR_EXISTS','DIR_CHANGEDRIVE','DIR_CHANGE',
+                        'DIM','DICTIONARY_MEMINFO','DICTIONARY_LISTKEYS','DICTIONARY_FREE','DICTIONARY_FIND','DICTIONARY_EXISTS','DICTIONARY_CREATE','DICTIONARY_COUNT',
+                        'DICTIONARY_ADD','DIALOG_STOPEVENTS','DIALOG_SAVEFILE','DIALOG_OPENFILE','DIALOG_GETCONTROL','DIALOG_CHOOSECOLOR','DIALOG_BROWSEFORFOLDER','DIALOG',
+                        'DESKTOP','DESCENDING','DESCEND','DELETEOBJECT','DELETE','DEGTORAD','DECR','DECLARE',
+                        'DATE$','CVWRD','CVS','CVQ','CVL','CVI','CVE','CVDWD',
+                        'CVD','CVCUX','CVCUR','CVBYT','CURRENCY','CUR','CSET$','CSCH',
+                        'CSC','CRYPTO_GETPROVIDERTYPESCOUNT','CRYPTO_GETPROVIDERSCOUNT','CRYPTO_GETDEFAULTPROVIDER','CRYPTO_GENRANDOMSTRING','CRYPTO_ENUMPROVIDERTYPES','CRYPTO_ENUMPROVIDERS','CRYPTO_ENCRYPT',
+                        'CRYPTO_DECRYPT','CREATEFONT','COTH','COTAN','COSH','COS','CONTROL_SETTEXT','CONTROL_GETTEXT',
+                        'CONTROL_GETNUMBER','CONTROL','CONST','CONSOLE_WRITELINE','CONSOLE_WRITE','CONSOLE_WAITKEY','CONSOLE_SHOWWINDOW','CONSOLE_SHOWCURSOR',
+                        'CONSOLE_SETTITLE','CONSOLE_SETTEXTATTRIBUTE','CONSOLE_SETSTDHANDLE','CONSOLE_SETSCREENBUFFERSIZE','CONSOLE_SETPROGRESSBARCHAR','CONSOLE_SETOUTPUTMODE','CONSOLE_SETOUTPUTCP','CONSOLE_SETINPUTMODE',
+                        'CONSOLE_SETFILEAPISTOOEM','CONSOLE_SETFILEAPISTOANSI','CONSOLE_SETCURSORSIZE','CONSOLE_SETCURSORPOSITION','CONSOLE_SETCP','CONSOLE_SETACTIVESCREENBUFFER','CONSOLE_SCROLLWINDOW','CONSOLE_SCROLLBUFFERONEROW',
+                        'CONSOLE_SCROLLBUFFER','CONSOLE_SAVESCREEN','CONSOLE_RESTORESCREEN','CONSOLE_READLINE','CONSOLE_READ','CONSOLE_PROGRESSBAR','CONSOLE_PRINTLINE','CONSOLE_PRINTAT',
+                        'CONSOLE_PRINT','CONSOLE_NORMALSCREEN','CONSOLE_LINE','CONSOLE_INKEYB','CONSOLE_INKEY','CONSOLE_HIDECURSOR','CONSOLE_GETTITLE','CONSOLE_GETTEXTATTRIBUTE',
+                        'CONSOLE_GETSTDHANDLE','CONSOLE_GETSIZEY','CONSOLE_GETSIZEX','CONSOLE_GETPROGRESSBARCHAR','CONSOLE_GETOUTPUTMODE','CONSOLE_GETOUTPUTCP','CONSOLE_GETNUMBEROFMOUSEBUTTONS','CONSOLE_GETINPUTMODE',
+                        'CONSOLE_GETCURSORY','CONSOLE_GETCURSORX','CONSOLE_GETCURSORSIZE','CONSOLE_GETCURRENTFONTINDEX','CONSOLE_GETCP','CONSOLE_GENERATECTRLEVENT','CONSOLE_FULLSCREEN','CONSOLE_FREE',
+                        'CONSOLE_FOREGROUNDRGB','CONSOLE_ENABLECTRLC','CONSOLE_DISABLECTRLC','CONSOLE_CREATESCREENBUFFER','CONSOLE_COLORAT','CONSOLE_CLS','CONSOLE_BOX','CONSOLE_BACKGROUNDRGB',
+                        'CONSOLE_ATTACH','CONSOLE_AREFILEAPISANSI','CONSOLE_ALLOC','COM_VARIANTINIT','COM_VARIANTCOPY','COM_VARIANTCLEAR','COM_SUCCEEDED','COM_STRINGFROMCLSID',
+                        'COM_RELEASE','COM_QUERYINTERFACE','COM_PROGIDFROMCLSID','COM_ISEQUALIID','COM_ISEQUALGUID','COM_ISEQUALCLSID','COM_GETOBJECT','COM_GETENGINEGUID',
+                        'COM_EXECUTE','COM_DISPLAYERROR','COM_CREATEOBJECT','COM_CLSIDFROMSTRING','COM_CLSIDFROMPROGID','COM_BUILDVARIANT','COMBOBOX','COMBINATIONS',
+                        'COLOR','CLIPBOARD_SETTEXT','CLIPBOARD_GETTEXT','CLIENT','CLEARMESSAGES','CHR$','CHOOSE$','CHOOSE',
+                        'CHECKBOX','CHECK3STATE','CHECK','CGI_WRITELOGFILE','CGI_WRITE','CGI_URLDECODESTRING','CGI_UPLOADFILESTIME','CGI_UPLOADFILESNUMBER',
+                        'CGI_UPLOADFILESIZE','CGI_STARTSESSION','CGI_SETSESSIONVARIABLE','CGI_RESETDEFAULTSETTINGS','CGI_REMOVESPECIALCHARSPREFIX','CGI_REMOVEQUOTE','CGI_READ','CGI_LOADCONFIGFILE',
+                        'CGI_HEADER','CGI_GETSESSIONVARIABLE','CGI_GETREQUESTMETHOD','CGI_GETQUERYVALUE','CGI_GETCURRENTSESSION','CGI_GETCURRENTGUID','CGI_ENVIRON','CGI_CFGSETOPTION',
+                        'CGI_CFGGETOPTION','CGI_ADDSPECIALCHARSPREFIX','CGI_ADDQUOTE','CEIL','CASE','CALL','BYVAL','BYTE',
+                        'BYREF','BYCMD','BUTTON','BUNDLE_SETSCRIPTPARAMETERS','BUNDLE_SETSCRIPTNAME','BUNDLE_SETFLAGOBFUSCATEMAINSCRIPT','BUNDLE_SETFLAGDELETEAFTERRUN','BUNDLE_SETFLAGCOMPRESSALLFILES',
+                        'BUNDLE_SETFLAGASKBEFOREEXTRACT','BUNDLE_SETEXTRACTIONFOLDER','BUNDLE_SETCREATIONFOLDER','BUNDLE_SETBUNDLENAME','BUNDLE_RESET','BUNDLE_MAKE','BUNDLE_BUILDER','BUNDLE_ADDFOLDER',
+                        'BUNDLE_ADDFILE','BOUNDCHECK','BIN$','BIFF_WRITETEXT','BIFF_WRITENUMBER','BIFF_WRITEDATE','BIFF_SETROWHEIGHT','BIFF_SETCOLWIDTH',
+                        'BIFF_SETBUFFER','BIFF_CREATEFILE','BIFF_CLOSEFILE','BETWEEN','BEEP','BAR','ATTACH','ATN',
+                        'AT','ASSIGN','ASCIZ','ASCIIZ','ASCII2UNICODE','ASCENDING','ASCEND','ASC',
+                        'AS','ARRAY','ARCTANH','ARCSINH','ARCSIN','ARCSECH','ARCSEC','ARCCSCH',
+                        'ARCCSC','ARCCOTH','ARCCOT','ARCCOSH','ARCCOS','APP_TIMER','APP_SOURCEPATH','APP_SOURCENAME',
+                        'APP_SOURCEFULLNAME','APP_PATH','APP_NAME','APP_LISTVARIABLES','APP_LISTKEYWORDS','APP_LISTFUNCTIONS','APP_LISTEQUATES','APP_INCLUDEPATH',
+                        'APP_GETMODULEFULLPATH','APP_COUNTER','APPEND','ANY','ANIMATE_STOP','ANIMATE_PLAY','ANIMATE_OPEN','AND',
+                        'ALIAS','ALERT','ADD','ACODE$','ABS','%DEF','#MINVERSION','#IF',
+                        '#ENDIF','#ELSEIF','#ELSE','#DEFAULT','#DEF','SQLWRITEPRIVATEPROFILESTRING','SQLWRITEFILEDSN','SQLWRITEDSNTOINI',
+                        'SQLVALIDDSN','SQLTRANSACT','SQLTABLES','SQLTABLEPRIVILEGES','SQLSTATISTICS','SQLSPECIALCOLUMNS','SQLSETSTMTOPTION','SQLSETSTMTATTR',
+                        'SQLSETSCROLLOPTIONS','SQLSETPOS','SQLSETPARAM','SQLSETENVATTR','SQLSETDESCREC','SQLSETDESCFIELD','SQLSETCURSORNAME','SQLSETCONNECTOPTION',
+                        'SQLSETCONNECTATTR','SQLSETCONFIGMODE','SQLROWCOUNT','SQLREMOVETRANSLATOR','SQLREMOVEDSNFROMINI','SQLREMOVEDRIVERMANAGER','SQLREMOVEDRIVER','SQLREADFILEDSN',
+                        'SQLPUTDATA','SQLPROCEDURES','SQLPROCEDURECOLUMNS','SQLPRIMARYKEYS','SQLPREPARE','SQLPOSTINSTALLERERROR','SQLPARAMOPTIONS','SQLPARAMDATA',
+                        'SQLNUMRESULTCOLS','SQLNUMPARAMS','SQLNATIVESQL','SQLMORERESULTS','SQLMANAGEDATASOURCES','SQLINSTALLTRANSLATOREX','SQLINSTALLERERROR','SQLINSTALLDRIVERMANAGER',
+                        'SQLINSTALLDRIVEREX','SQLGETTYPEINFO','SQLGETTRANSLATOR','SQLGETSTMTOPTION','SQLGETSTMTATTR','SQLGETPRIVATEPROFILESTRING','SQLGETINSTALLEDDRIVERS','SQLGETINFO',
+                        'SQLGETFUNCTIONS','SQLGETENVATTR','SQLGETDIAGREC','SQLGETDIAGFIELD','SQLGETDESCREC','SQLGETDESCFIELD','SQLGETDATA','SQLGETCURSORNAME',
+                        'SQLGETCONNECTOPTION','SQLGETCONNECTATTR','SQLGETCONFIGMODE','SQLFREESTMT','SQLFREEHANDLE','SQLFREEENV','SQLFREECONNECT','SQLFOREIGNKEYS',
+                        'SQLFETCHSCROLL','SQLFETCH','SQLEXTENDEDFETCH','SQLEXECUTE','SQLEXECDIRECT','SQLERROR','SQLENDTRAN','SQLDRIVERS',
+                        'SQLDRIVERCONNECT','SQLDISCONNECT','SQLDESCRIBEPARAM','SQLDESCRIBECOL','SQLDATASOURCES','SQLCREATEDATASOURCE','SQLCOPYDESC','SQLCONNECT',
+                        'SQLCONFIGDRIVER','SQLCONFIGDATASOURCE','SQLCOLUMNS','SQLCOLUMNPRIVILEGES','SQLCOLATTRIBUTES','SQLCOLATTRIBUTE','SQLCLOSECURSOR','SQLCANCEL',
+                        'SQLBULKOPERATIONS','SQLBROWSECONNECT','SQLBINDPARAMETER','SQLBINDPARAM','SQLBINDCOL','SQLALLOCSTMT','SQLALLOCHANDLE','SQLALLOCENV',
+                        'SQLALLOCCONNECT','ODBCWRONGDRIVER','ODBCWRITEPRIVATEPROFILESTRING','ODBCWRITEFILEDSN','ODBCWRITEDSNTOINI','ODBCVALIDDSN','ODBCUPDATERECORD','ODBCUPDATEBYBOOKMARK',
+                        'ODBCUNLOCKRECORD','ODBCUNBINDCOLUMNS','ODBCUNBINDCOL','ODBCTABLESCOUNT','ODBCTABLES','ODBCTABLEPRIVILEGESCOUNT','ODBCTABLEPRIVILEGES','ODBCSUPPORTS',
+                        'ODBCSTATTABLESCHEMANAME','ODBCSTATTABLEPAGES','ODBCSTATTABLECATALOGNAME','ODBCSTATTABLECARDINALITY','ODBCSTATISTICSCOUNT','ODBCSTATISTICS','ODBCSTATINDEXSORTSEQUENCE','ODBCSTATINDEXSCHEMANAME',
+                        'ODBCSTATINDEXQUALIFIER','ODBCSTATINDEXPAGES','ODBCSTATINDEXFILTERCONDITION','ODBCSTATINDEXCOLUMNORDINALPOSITION','ODBCSTATINDEXCOLUMNNAME','ODBCSTATINDEXCATALOGNAME','ODBCSTATINDEXCARDINALITY','ODBCSTATINDEXALLOWDUPLICATES',
+                        'ODBCSPECIALCOLUMNSCOUNT','ODBCSPECIALCOLUMNS','ODBCSETTXNISOLATION','ODBCSETTRANSLATELIB','ODBCSETTRACEFILE','ODBCSETTRACE','ODBCSETSTMTUSEBOOKMARKS','ODBCSETSTMTSIMULATECURSOR',
+                        'ODBCSETSTMTROWSTATUSPTR','ODBCSETSTMTROWSFETCHEDPTR','ODBCSETSTMTROWOPERATIONPTR','ODBCSETSTMTROWBINDTYPE','ODBCSETSTMTROWBINDOFFSETPTR','ODBCSETSTMTROWARRAYSIZE','ODBCSETSTMTRETRIEVEDATA','ODBCSETSTMTQUERYTIMEOUT',
+                        'ODBCSETSTMTPARAMSTATUSPTR','ODBCSETSTMTPARAMSPROCESSEDPTR','ODBCSETSTMTPARAMSETSIZE','ODBCSETSTMTPARAMOPERATIONPTR','ODBCSETSTMTPARAMBINDTYPE','ODBCSETSTMTPARAMBINDOFFSETPTR','ODBCSETSTMTNOSCAN','ODBCSETSTMTMETADATAID',
+                        'ODBCSETSTMTMAXROWS','ODBCSETSTMTMAXLENGTH','ODBCSETSTMTKEYSETSIZE','ODBCSETSTMTFETCHBOOKMARKPTR','ODBCSETSTMTENABLEAUTOIPD','ODBCSETSTMTCURSORTYPE','ODBCSETSTMTCURSORSENSITIVITY','ODBCSETSTMTCURSORSCROLLABLE',
+                        'ODBCSETSTMTCONCURRENCY','ODBCSETSTMTATTR','ODBCSETSTMTASYNCENABLE','ODBCSETSTMTAPPROWDESC','ODBCSETSTMTAPPPARAMDESC','ODBCSETSTATICCURSOR','ODBCSETROWVERCONCURRENCY','ODBCSETRESULT',
+                        'ODBCSETRELATIVEPOSITION','ODBCSETREADONLYCONCURRENCY','ODBCSETQUIETMODE','ODBCSETPOSITION','ODBCSETPOS','ODBCSETPACKETMODE','ODBCSETOPTIMISTICCONCURRENCY','ODBCSETODBCCURSORS',
+                        'ODBCSETMULTIUSERKEYSETCURSOR','ODBCSETMETADATAID','ODBCSETLOGINTIMEOUT','ODBCSETLOCKCONCURRENCY','ODBCSETKEYSETDRIVENCURSOR','ODBCSETFORWARDONLYCURSOR','ODBCSETENVOUTPUTNTS','ODBCSETENVODBCVERSION',
+                        'ODBCSETENVCPMATCH','ODBCSETENVCONNECTIONPOOLING','ODBCSETENVATTR','ODBCSETDYNAMICCURSOR','ODBCSETDESCREC','ODBCSETDESCFIELD','ODBCSETCURSORTYPE','ODBCSETCURSORSENSITIVITY',
+                        'ODBCSETCURSORSCROLLABILITY','ODBCSETCURSORNAME','ODBCSETCURSORLOCKTYPE','ODBCSETCURSORKEYSETSIZE','ODBCSETCURSORCONCURRENCY','ODBCSETCURRENTCATALOG','ODBCSETCONNECTIONTIMEOUT','ODBCSETCONNECTATTR',
+                        'ODBCSETCONFIGMODE','ODBCSETCONCURVALUESCONCURRENCY','ODBCSETAUTOCOMMITON','ODBCSETAUTOCOMMITOFF','ODBCSETAUTOCOMMIT','ODBCSETASYNCENABLE','ODBCSETACCESSMODE','ODBCSETABSOLUTEPOSITION',
+                        'ODBCROWCOUNT','ODBCROLLBACKTRAN','ODBCROLLBACKENVTRAN','ODBCROLLBACKDBCTRAN','ODBCRESULT','ODBCRESETPARAMS','ODBCREMOVETRANSLATOR','ODBCREMOVEDSNFROMINI',
+                        'ODBCREMOVEDRIVERMANAGER','ODBCREMOVEDRIVER','ODBCREFRESHRECORD','ODBCRECORDCOUNT','ODBCREADFILEDSN','ODBCQUOTEDIDENTIFIERCASE','ODBCPUTDATA','ODBCPROCEDURESCOUNT',
+                        'ODBCPROCEDURES','ODBCPROCEDURECOLUMNSCOUNT','ODBCPROCEDURECOLUMNS','ODBCPRIMARYKEYSCOUNT','ODBCPRIMARYKEYS','ODBCPREPARE','ODBCPOSTINSTALLERERROR','ODBCPARAMDATA',
+                        'ODBCOPENSTMT','ODBCOPENCONNECTION','ODBCNUMRESULTCOLS','ODBCNUMPARAMS','ODBCNATIVESQL','ODBCMOVEPREVIOUS','ODBCMOVENEXT','ODBCMOVELAST',
+                        'ODBCMOVEFIRST','ODBCMOVE','ODBCMORERESULTS','ODBCMANAGEDATASOURCES','ODBCLOCKRECORD','ODBCINSTALLTRANSLATOREX','ODBCINSTALLERERROR','ODBCINSTALLDRIVERMANAGER',
+                        'ODBCINSTALLDRIVEREX','ODBCGETXOPENCLIYEAR','ODBCGETUSERNAME','ODBCGETUNION','ODBCGETTYPEINFOCOUNT','ODBCGETTYPEINFO','ODBCGETTXNISOLATIONOPTION','ODBCGETTXNISOLATION',
+                        'ODBCGETTXNCAPABLE','ODBCGETTRANSLATOR','ODBCGETTRANSLATELIB','ODBCGETTRACEFILE','ODBCGETTRACE','ODBCGETTIMEDATEFUNCTIONS','ODBCGETTIMEDATEDIFFINTERVALS','ODBCGETTIMEDATEADDINTERVALS',
+                        'ODBCGETTABLETERM','ODBCGETSYSTEMFUNCTIONS','ODBCGETSUBQUERIES','ODBCGETSTRINGFUNCTIONS','ODBCGETSTMTUSEBOOKMARKS','ODBCGETSTMTSQLSTATE','ODBCGETSTMTSIMULATECURSOR','ODBCGETSTMTROWSTATUSPTR',
+                        'ODBCGETSTMTROWSFETCHEDPTR','ODBCGETSTMTROWOPERATIONPTR','ODBCGETSTMTROWNUMBER','ODBCGETSTMTROWBINDTYPE','ODBCGETSTMTROWBINDOFFSETPTR','ODBCGETSTMTROWARRAYSIZE','ODBCGETSTMTRETRIEVEDATA','ODBCGETSTMTQUERYTIMEOUT',
+                        'ODBCGETSTMTPARAMSTATUSPTR','ODBCGETSTMTPARAMSPROCESSEDPTR','ODBCGETSTMTPARAMSETSIZE','ODBCGETSTMTPARAMOPERATIONPTR','ODBCGETSTMTPARAMBINDTYPE','ODBCGETSTMTPARAMBINDOFFSETPTR','ODBCGETSTMTNOSCAN','ODBCGETSTMTMETADATAID',
+                        'ODBCGETSTMTMAXROWS','ODBCGETSTMTMAXLENGTH','ODBCGETSTMTKEYSETSIZE','ODBCGETSTMTIMPROWDESC','ODBCGETSTMTIMPPARAMDESC','ODBCGETSTMTFETCHBOOKMARKPTR','ODBCGETSTMTERRORINFO','ODBCGETSTMTENABLEAUTOIPD',
+                        'ODBCGETSTMTCURSORTYPE','ODBCGETSTMTCURSORSENSITIVITY','ODBCGETSTMTCURSORSCROLLABLE','ODBCGETSTMTCONCURRENCY','ODBCGETSTMTATTR','ODBCGETSTMTASYNCENABLE','ODBCGETSTMTAPPROWDESC','ODBCGETSTMTAPPPARAMDESC',
+                        'ODBCGETSTATICCURSORATTRIBUTES2','ODBCGETSTATICCURSORATTRIBUTES1','ODBCGETSTATEMENTSQLSTATE','ODBCGETSTATEMENTERRORINFO','ODBCGETSTANDARDCLICONFORMANCE','ODBCGETSQLSTATE','ODBCGETSQLCONFORMANCE','ODBCGETSQL92VALUEEXPRESSIONS',
+                        'ODBCGETSQL92STRINGFUNCTIONS','ODBCGETSQL92ROWVALUECONSTRUCTOR','ODBCGETSQL92REVOKE','ODBCGETSQL92RELATIONALJOINOPERATORS','ODBCGETSQL92PREDICATES','ODBCGETSQL92NUMERICVALUEFUNCTIONS','ODBCGETSQL92GRANT','ODBCGETSQL92FOREIGNKEYUPDATERULE',
+                        'ODBCGETSQL92FOREIGNKEYDELETERULE','ODBCGETSQL92DATETIMEFUNCTIONS','ODBCGETSPECIALCHARACTERS','ODBCGETSERVERNAME','ODBCGETSEARCHPATTERNESCAPE','ODBCGETSCROLLOPTIONS','ODBCGETSCHEMAUSAGE','ODBCGETSCHEMATERM',
+                        'ODBCGETROWUPDATES','ODBCGETQUIETMODE','ODBCGETPROCEDURETERM','ODBCGETPROCEDURESSUPPORT','ODBCGETPRIVATEPROFILESTRING','ODBCGETPOSOPERATIONS','ODBCGETPARAMARRAYSELECTS','ODBCGETPARAMARRAYROWCOUNTS',
+                        'ODBCGETPACKETMODE','ODBCGETOUTERJOINS','ODBCGETORDERBYCOLUMNSINSELECT','ODBCGETOJCAPABILITIES','ODBCGETODBCVER','ODBCGETODBCINTERFACECONFORMANCE','ODBCGETODBCCURSORS','ODBCGETNUMERICFUNCTIONS',
+                        'ODBCGETNULLCOLLATION','ODBCGETNONNULLABLECOLUMNS','ODBCGETNEEDLONGDATALEN','ODBCGETMULTRESULTSETS','ODBCGETMULTIPLEACTIVETXN','ODBCGETMETADATAID','ODBCGETMAXUSERNAMELEN','ODBCGETMAXTABLESINSELECT',
+                        'ODBCGETMAXTABLENAMELEN','ODBCGETMAXSTATEMENTLEN','ODBCGETMAXSCHEMANAMELEN','ODBCGETMAXROWSIZEINCLUDESLONG','ODBCGETMAXROWSIZE','ODBCGETMAXPROCEDURENAMELEN','ODBCGETMAXINDEXSIZE','ODBCGETMAXIDENTIFIERLEN',
+                        'ODBCGETMAXDRIVERCONNECTIONS','ODBCGETMAXCURSORNAMELEN','ODBCGETMAXCONCURRENTACTIVITIES','ODBCGETMAXCOLUMNSINTABLE','ODBCGETMAXCOLUMNSINSELECT','ODBCGETMAXCOLUMNSINORDERBY','ODBCGETMAXCOLUMNSININDEX','ODBCGETMAXCOLUMNSINGROUPBY',
+                        'ODBCGETMAXCOLUMNNAMELEN','ODBCGETMAXCHARLITERALLEN','ODBCGETMAXCATALOGNAMELEN','ODBCGETMAXBINARYLITERALLEN','ODBCGETMAXASYNCCONCURRENTSTATEMENTS','ODBCGETLONGVARCHARDATABYCOLNAME','ODBCGETLONGVARCHARDATA','ODBCGETLOGINTIMEOUT',
+                        'ODBCGETLIKEESCAPECLAUSE','ODBCGETKEYWORDS','ODBCGETKEYSETCURSORATTRIBUTES2','ODBCGETKEYSETCURSORATTRIBUTES1','ODBCGETINTEGRITY','ODBCGETINSTALLERERRORMESSAGE','ODBCGETINSTALLERERRORCODE','ODBCGETINSTALLEDDRIVERS',
+                        'ODBCGETINSERTSTATEMENT','ODBCGETINFOSTR','ODBCGETINFOSCHEMAVIEWS','ODBCGETINFOLONG','ODBCGETINFOINT','ODBCGETINFO','ODBCGETINDEXKEYWORDS','ODBCGETIMPROWDESCREC',
+                        'ODBCGETIMPROWDESCFIELDTYPE','ODBCGETIMPROWDESCFIELDSCALE','ODBCGETIMPROWDESCFIELDPRECISION','ODBCGETIMPROWDESCFIELDOCTETLENGTH','ODBCGETIMPROWDESCFIELDNULLABLE','ODBCGETIMPROWDESCFIELDNAME','ODBCGETIMPROWDESCFIELD','ODBCGETIMPPARAMDESCREC',
+                        'ODBCGETIMPPARAMDESCFIELDTYPE','ODBCGETIMPPARAMDESCFIELDSCALE','ODBCGETIMPPARAMDESCFIELDPRECISION','ODBCGETIMPPARAMDESCFIELDOCTETLENGTH','ODBCGETIMPPARAMDESCFIELDNULLABLE','ODBCGETIMPPARAMDESCFIELDNAME','ODBCGETIMPPARAMDESCFIELD','ODBCGETIDENTIFIERQUOTECHAR',
+                        'ODBCGETIDENTIFIERCASE','ODBCGETGROUPBY','ODBCGETFUNCTIONS','ODBCGETFORWARDONLYCURSORATTRIBUTES2','ODBCGETFORWARDONLYCURSORATTRIBUTES1','ODBCGETFILEUSAGE','ODBCGETEXPRESSIONSINORDERBY','ODBCGETERRORINFO',
+                        'ODBCGETENVSQLSTATE','ODBCGETENVOUTPUTNTS','ODBCGETENVODBCVERSION','ODBCGETENVIRONMENTSQLSTATE','ODBCGETENVIRONMENTERRORINFO','ODBCGETENVERRORINFO','ODBCGETENVCPMATCH','ODBCGETENVCONNECTIONPOOLING',
+                        'ODBCGETENVATTR','ODBCGETDYNAMICCURSORATTRIBUTES2','ODBCGETDYNAMICCURSORATTRIBUTES1','ODBCGETDROPVIEW','ODBCGETDROPTRANSLATION','ODBCGETDROPTABLE','ODBCGETDROPSCHEMA','ODBCGETDROPDOMAIN',
+                        'ODBCGETDROPCOLLATION','ODBCGETDROPCHARACTERSET','ODBCGETDROPASSERTION','ODBCGETDRIVERVER','ODBCGETDRIVERODBCVER','ODBCGETDRIVERNAME','ODBCGETDRIVERMANAGERINSTALLPATH','ODBCGETDRIVERHLIB',
+                        'ODBCGETDRIVERHENV','ODBCGETDRIVERHDBC','ODBCGETDMVERMINOR','ODBCGETDMVERMAJOR','ODBCGETDMVER','ODBCGETDIAGREC','ODBCGETDIAGFIELD','ODBCGETDESCSQLSTATE',
+                        'ODBCGETDESCRIPTORSQLSTATE','ODBCGETDESCRIPTORERRORINFO','ODBCGETDESCRIBEPARAMETER','ODBCGETDESCREC','ODBCGETDESCFIELD','ODBCGETDESCERRORINFO','ODBCGETDEFAULTTXNISOLATION','ODBCGETDDLINDEX',
+                        'ODBCGETDBMSVER','ODBCGETDBMSNAME','ODBCGETDBCSQLSTATE','ODBCGETDBCERRORINFO','ODBCGETDATETIMELITERALS','ODBCGETDATASTRINGBYCOLNAME','ODBCGETDATASTRING','ODBCGETDATASOURCEREADONLY',
+                        'ODBCGETDATASOURCENAME','ODBCGETDATAEXTENSIONS','ODBCGETDATABASENAME','ODBCGETDATA','ODBCGETCURSORTYPE','ODBCGETCURSORSENSITIVITYSUPPORT','ODBCGETCURSORSENSITIVITY','ODBCGETCURSORSCROLLABILITY',
+                        'ODBCGETCURSORROLLBACKBEHAVIOR','ODBCGETCURSORNAME','ODBCGETCURSORLOCKTYPE','ODBCGETCURSORKEYSETSIZE','ODBCGETCURSORCONCURRENCY','ODBCGETCURSORCOMMITBEHAVIOR','ODBCGETCURRENTCATALOG','ODBCGETCREATEVIEW',
+                        'ODBCGETCREATETRANSLATION','ODBCGETCREATETABLE','ODBCGETCREATESCHEMA','ODBCGETCREATEDOMAIN','ODBCGETCREATECOLLATION','ODBCGETCREATECHARACTERSET','ODBCGETCREATEASSERTION','ODBCGETCORRELATIONNAME',
+                        'ODBCGETCONVERTVARCHAR','ODBCGETCONVERTVARBINARY','ODBCGETCONVERTTINYINT','ODBCGETCONVERTTIMESTAMP','ODBCGETCONVERTTIME','ODBCGETCONVERTSMALLINT','ODBCGETCONVERTREAL','ODBCGETCONVERTNUMERIC',
+                        'ODBCGETCONVERTLONGVARCHAR','ODBCGETCONVERTLONGVARBINARY','ODBCGETCONVERTINTERVALYEARMONTH','ODBCGETCONVERTINTERVALDAYTIME','ODBCGETCONVERTINTEGER','ODBCGETCONVERTFUNCTIONS','ODBCGETCONVERTFLOAT','ODBCGETCONVERTDOUBLE',
+                        'ODBCGETCONVERTDECIMAL','ODBCGETCONVERTDATE','ODBCGETCONVERTCHAR','ODBCGETCONVERTBIT','ODBCGETCONVERTBINARY','ODBCGETCONVERTBIGINT','ODBCGETCONNECTIONTIMEOUT','ODBCGETCONNECTIONSQLSTATE',
+                        'ODBCGETCONNECTIONERRORINFO','ODBCGETCONNECTIONDEAD','ODBCGETCONNECTATTR','ODBCGETCONFIGMODE','ODBCGETCONCATNULLBEHAVIOR','ODBCGETCOLUMNALIAS','ODBCGETCOLLATIONSEQ','ODBCGETCATALOGUSAGE',
+                        'ODBCGETCATALOGTERM','ODBCGETCATALOGNAMESEPARATOR','ODBCGETCATALOGNAME','ODBCGETCATALOGLOCATION','ODBCGETBOOKMARKPERSISTENCE','ODBCGETBATCHSUPPORT','ODBCGETBATCHROWCOUNT','ODBCGETAUTOIPD',
+                        'ODBCGETAUTOCOMMIT','ODBCGETASYNCMODE','ODBCGETASYNCENABLE','ODBCGETALTERTABLE','ODBCGETALTERDOMAIN','ODBCGETAGGREGATEFUNCTIONS','ODBCGETACTIVEENVIRONMENTS','ODBCGETACCESSMODE',
+                        'ODBCGETACCESSIBLETABLES','ODBCGETACCESSIBLEPROCEDURES','ODBCFREESTMT','ODBCFREEHANDLE','ODBCFREEENV','ODBCFREEDESC','ODBCFREEDBC','ODBCFREECONNECT',
+                        'ODBCFOREIGNKEYSCOUNT','ODBCFOREIGNKEYS','ODBCFETCHSCROLL','ODBCFETCHBYBOOKMARK','ODBCFETCH','ODBCEXTENDEDFETCH','ODBCEXECUTE','ODBCEXECDIRECT',
+                        'ODBCERROR','ODBCEOF','ODBCENDTRAN','ODBCDRIVERSCOUNT','ODBCDRIVERS','ODBCDRIVERCONNECT','ODBCDISCONNECT','ODBCDESCRIBEPARAM',
+                        'ODBCDESCRIBECOL','ODBCDELETERECORD','ODBCDELETEBYBOOKMARK','ODBCDATASOURCES','ODBCCREATEDATASOURCE','ODBCCOPYDESC','ODBCCONNECTIONISDEAD','ODBCCONNECTIONISALIVE',
+                        'ODBCCONNECT','ODBCCONFIGDRIVER','ODBCCONFIGDATASOURCE','ODBCCOMMITTRAN','ODBCCOMMITENVTRAN','ODBCCOMMITDBCTRAN','ODBCCOLUPDATABLE','ODBCCOLUNSIGNED',
+                        'ODBCCOLUNNAMED','ODBCCOLUMNSCOUNT','ODBCCOLUMNS','ODBCCOLUMNPRIVILEGESCOUNT','ODBCCOLUMNPRIVILEGES','ODBCCOLUMN','ODBCCOLTYPENAME','ODBCCOLTYPE',
+                        'ODBCCOLTABLENAME','ODBCCOLSEARCHABLE','ODBCCOLSCHEMANAME','ODBCCOLSCALE','ODBCCOLPRECISION','ODBCCOLOCTETLENGTH','ODBCCOLNUMPRECRADIX','ODBCCOLNULLABLE',
+                        'ODBCCOLNAME','ODBCCOLLOCALTYPENAME','ODBCCOLLITERALSUFFIX','ODBCCOLLITERALPREFIX','ODBCCOLLENGTH','ODBCCOLLABEL','ODBCCOLISNULL','ODBCCOLFIXEDPRECSCALE',
+                        'ODBCCOLDISPLAYSIZE','ODBCCOLCOUNT','ODBCCOLCONCISETYPE','ODBCCOLCATALOGNAME','ODBCCOLCASESENSITIVE','ODBCCOLBASETABLENAME','ODBCCOLBASECOLUMNNAME','ODBCCOLAUTOUNIQUEVALUE',
+                        'ODBCCOLATTRIBUTE','ODBCCLOSESTMTCURSOR','ODBCCLOSESTMT','ODBCCLOSECURSOR','ODBCCLOSECONNECTION','ODBCCLEARRESULT','ODBCCANCEL','ODBCBULKOPERATIONS',
+                        'ODBCBROWSECONNECT','ODBCBINDPARAMETER','ODBCBINDCOLTOWORD','ODBCBINDCOLTOTIMESTAMP','ODBCBINDCOLTOTIME','ODBCBINDCOLTOSTRING','ODBCBINDCOLTOSINGLE','ODBCBINDCOLTOQUAD',
+                        'ODBCBINDCOLTONUMERIC','ODBCBINDCOLTOLONG','ODBCBINDCOLTOINTEGER','ODBCBINDCOLTODWORD','ODBCBINDCOLTODOUBLE','ODBCBINDCOLTODECIMAL','ODBCBINDCOLTODATE','ODBCBINDCOLTOCURRENCY',
+                        'ODBCBINDCOLTOBYTE','ODBCBINDCOLTOBIT','ODBCBINDCOLTOBINARY','ODBCBINDCOL','ODBCALLOCSTMT','ODBCALLOCHANDLE','ODBCALLOCENV','ODBCALLOCDESC',
+                        'ODBCALLOCDBC','ODBCALLOCCONNECT','ODBCADDRECORD','GLVIEWPORT','GLVERTEXPOINTER','GLVERTEX4SV','GLVERTEX4S','GLVERTEX4IV',
+                        'GLVERTEX4I','GLVERTEX4FV','GLVERTEX4F','GLVERTEX4DV','GLVERTEX4D','GLVERTEX3SV','GLVERTEX3S','GLVERTEX3IV',
+                        'GLVERTEX3I','GLVERTEX3FV','GLVERTEX3F','GLVERTEX3DV','GLVERTEX3D','GLVERTEX2SV','GLVERTEX2S','GLVERTEX2IV',
+                        'GLVERTEX2I','GLVERTEX2FV','GLVERTEX2F','GLVERTEX2DV','GLVERTEX2D','GLUUNPROJECT','GLUTESSVERTEX','GLUTESSPROPERTY',
+                        'GLUTESSNORMAL','GLUTESSENDPOLYGON','GLUTESSENDCONTOUR','GLUTESSCALLBACK','GLUTESSBEGINPOLYGON','GLUTESSBEGINCONTOUR','GLUSPHERE','GLUSCALEIMAGE',
+                        'GLUQUADRICTEXTURE','GLUQUADRICORIENTATION','GLUQUADRICNORMALS','GLUQUADRICDRAWSTYLE','GLUQUADRICCALLBACK','GLUPWLCURVE','GLUPROJECT','GLUPICKMATRIX',
+                        'GLUPERSPECTIVE','GLUPARTIALDISK','GLUORTHO2D','GLUNURBSSURFACE','GLUNURBSPROPERTY','GLUNURBSCURVE','GLUNURBSCALLBACK','GLUNEXTCONTOUR',
+                        'GLUNEWTESS','GLUNEWQUADRIC','GLUNEWNURBSRENDERER','GLULOOKAT','GLULOADSAMPLINGMATRICES','GLUGETTESSPROPERTY','GLUGETSTRING','GLUGETNURBSPROPERTY',
+                        'GLUERRORSTRING','GLUENDTRIM','GLUENDSURFACE','GLUENDPOLYGON','GLUENDCURVE','GLUDISK','GLUDELETETESS','GLUDELETEQUADRIC',
+                        'GLUDELETENURBSRENDERER','GLUCYLINDER','GLUBUILD2DMIPMAPS','GLUBUILD1DMIPMAPS','GLUBEGINTRIM','GLUBEGINSURFACE','GLUBEGINPOLYGON','GLUBEGINCURVE',
+                        'GLTRANSLATEF','GLTRANSLATED','GLTEXSUBIMAGE2D','GLTEXSUBIMAGE1D','GLTEXPARAMETERIV','GLTEXPARAMETERI','GLTEXPARAMETERFV','GLTEXPARAMETERF',
+                        'GLTEXIMAGE2D','GLTEXIMAGE1D','GLTEXGENIV','GLTEXGENI','GLTEXGENFV','GLTEXGENF','GLTEXGENDV','GLTEXGEND',
+                        'GLTEXENVIV','GLTEXENVI','GLTEXENVFV','GLTEXENVF','GLTEXCOORDPOINTER','GLTEXCOORD4SV','GLTEXCOORD4S','GLTEXCOORD4IV',
+                        'GLTEXCOORD4I','GLTEXCOORD4FV','GLTEXCOORD4F','GLTEXCOORD4DV','GLTEXCOORD4D','GLTEXCOORD3SV','GLTEXCOORD3S','GLTEXCOORD3IV',
+                        'GLTEXCOORD3I','GLTEXCOORD3FV','GLTEXCOORD3F','GLTEXCOORD3DV','GLTEXCOORD3D','GLTEXCOORD2SV','GLTEXCOORD2S','GLTEXCOORD2IV',
+                        'GLTEXCOORD2I','GLTEXCOORD2FV','GLTEXCOORD2F','GLTEXCOORD2DV','GLTEXCOORD2D','GLTEXCOORD1SV','GLTEXCOORD1S','GLTEXCOORD1IV',
+                        'GLTEXCOORD1I','GLTEXCOORD1FV','GLTEXCOORD1F','GLTEXCOORD1DV','GLTEXCOORD1D','GLSTENCILOP','GLSTENCILMASK','GLSTENCILFUNC',
+                        'GLSHADEMODEL','GLSELECTBUFFER','GLSCISSOR','GLSCALEF','GLSCALED','GLROTATEF','GLROTATED','GLRENDERMODE',
+                        'GLRECTSV','GLRECTS','GLRECTIV','GLRECTI','GLRECTFV','GLRECTF','GLRECTDV','GLRECTD',
+                        'GLREADPIXELS','GLREADBUFFER','GLRASTERPOS4SV','GLRASTERPOS4S','GLRASTERPOS4IV','GLRASTERPOS4I','GLRASTERPOS4FV','GLRASTERPOS4F',
+                        'GLRASTERPOS4DV','GLRASTERPOS4D','GLRASTERPOS3SV','GLRASTERPOS3S','GLRASTERPOS3IV','GLRASTERPOS3I','GLRASTERPOS3FV','GLRASTERPOS3F',
+                        'GLRASTERPOS3DV','GLRASTERPOS3D','GLRASTERPOS2SV','GLRASTERPOS2S','GLRASTERPOS2IV','GLRASTERPOS2I','GLRASTERPOS2FV','GLRASTERPOS2F',
+                        'GLRASTERPOS2DV','GLRASTERPOS2D','GLPUSHNAME','GLPUSHMATRIX','GLPUSHCLIENTATTRIB','GLPUSHATTRIB','GLPRIORITIZETEXTURES','GLPOPNAME',
+                        'GLPOPMATRIX','GLPOPCLIENTATTRIB','GLPOPATTRIB','GLPOLYGONSTIPPLE','GLPOLYGONOFFSET','GLPOLYGONMODE','GLPOINTSIZE','GLPIXELZOOM',
+                        'GLPIXELTRANSFERI','GLPIXELTRANSFERF','GLPIXELSTOREI','GLPIXELSTOREF','GLPIXELMAPUSV','GLPIXELMAPUIV','GLPIXELMAPFV','GLPASSTHROUGH',
+                        'GLORTHO','GLNORMALPOINTER','GLNORMAL3SV','GLNORMAL3S','GLNORMAL3IV','GLNORMAL3I','GLNORMAL3FV','GLNORMAL3F',
+                        'GLNORMAL3DV','GLNORMAL3D','GLNORMAL3BV','GLNORMAL3B','GLNEWLIST','GLMULTMATRIXF','GLMULTMATRIXD','GLMATRIXMODE',
+                        'GLMATERIALIV','GLMATERIALI','GLMATERIALFV','GLMATERIALF','GLMAPGRID2F','GLMAPGRID2D','GLMAPGRID1F','GLMAPGRID1D',
+                        'GLMAP2F','GLMAP2D','GLMAP1F','GLMAP1D','GLLOGICOP','GLLOADNAME','GLLOADMATRIXF','GLLOADMATRIXD',
+                        'GLLOADIDENTITY','GLLISTBASE','GLLINEWIDTH','GLLINESTIPPLE','GLLIGHTMODELIV','GLLIGHTMODELI','GLLIGHTMODELFV','GLLIGHTMODELF',
+                        'GLLIGHTIV','GLLIGHTI','GLLIGHTFV','GLLIGHTF','GLISTEXTURE','GLISLIST','GLISENABLED','GLINTERLEAVEDARRAYS',
+                        'GLINITNAMES','GLINDEXUBV','GLINDEXUB','GLINDEXSV','GLINDEXS','GLINDEXPOINTER','GLINDEXMASK','GLINDEXIV',
+                        'GLINDEXI','GLINDEXFV','GLINDEXF','GLINDEXDV','GLINDEXD','GLHINT','GLGETTEXPARAMETERIV','GLGETTEXPARAMETERFV',
+                        'GLGETTEXLEVELPARAMETERIV','GLGETTEXLEVELPARAMETERFV','GLGETTEXIMAGE','GLGETTEXGENIV','GLGETTEXGENFV','GLGETTEXGENDV','GLGETTEXENVIV','GLGETTEXENVFV',
+                        'GLGETSTRING','GLGETPOLYGONSTIPPLE','GLGETPOINTERV','GLGETPIXELMAPUSV','GLGETPIXELMAPUIV','GLGETPIXELMAPFV','GLGETMATERIALIV','GLGETMATERIALFV',
+                        'GLGETMAPIV','GLGETMAPFV','GLGETMAPDV','GLGETLIGHTIV','GLGETLIGHTFV','GLGETINTEGERV','GLGETFLOATV','GLGETERROR',
+                        'GLGETDOUBLEV','GLGETCLIPPLANE','GLGETBOOLEANV','GLGENTEXTURES','GLGENLISTS','GLFRUSTUM','GLFRONTFACE','GLFOGIV',
+                        'GLFOGI','GLFOGFV','GLFOGF','GLFLUSH','GLFINISH','GLFEEDBACKBUFFER','GLEVALPOINT2','GLEVALPOINT1',
+                        'GLEVALMESH2','GLEVALMESH1','GLEVALCOORD2FV','GLEVALCOORD2F','GLEVALCOORD2DV','GLEVALCOORD2D','GLEVALCOORD1FV','GLEVALCOORD1F',
+                        'GLEVALCOORD1DV','GLEVALCOORD1D','GLENDLIST','GLEND','GLENABLECLIENTSTATE','GLENABLE','GLEDGEFLAGV','GLEDGEFLAGPOINTER',
+                        'GLEDGEFLAG','GLDRAWPIXELS','GLDRAWELEMENTS','GLDRAWBUFFER','GLDRAWARRAYS','GLDISABLECLIENTSTATE','GLDISABLE','GLDEPTHRANGE',
+                        'GLDEPTHMASK','GLDEPTHFUNC','GLDELETETEXTURES','GLDELETELISTS','GLCULLFACE','GLCOPYTEXSUBIMAGE2D','GLCOPYTEXSUBIMAGE1D','GLCOPYTEXIMAGE2D',
+                        'GLCOPYTEXIMAGE1D','GLCOPYPIXELS','GLCOLORPOINTER','GLCOLORMATERIAL','GLCOLORMASK','GLCOLOR4USV','GLCOLOR4US','GLCOLOR4UIV',
+                        'GLCOLOR4UI','GLCOLOR4UBV','GLCOLOR4UB','GLCOLOR4SV','GLCOLOR4S','GLCOLOR4IV','GLCOLOR4I','GLCOLOR4FV',
+                        'GLCOLOR4F','GLCOLOR4DV','GLCOLOR4D','GLCOLOR4BV','GLCOLOR4B','GLCOLOR3USV','GLCOLOR3US','GLCOLOR3UIV',
+                        'GLCOLOR3UI','GLCOLOR3UBV','GLCOLOR3UB','GLCOLOR3SV','GLCOLOR3S','GLCOLOR3IV','GLCOLOR3I','GLCOLOR3FV',
+                        'GLCOLOR3F','GLCOLOR3DV','GLCOLOR3D','GLCOLOR3BV','GLCOLOR3B','GLCLIPPLANE','GLCLEARSTENCIL','GLCLEARINDEX',
+                        'GLCLEARDEPTH','GLCLEARCOLOR','GLCLEARACCUM','GLCLEAR','GLCALLLISTS','GLCALLLIST','GLBLENDFUNC','GLBITMAP',
+                        'GLBINDTEXTURE','GLBEGIN','GLARRAYELEMENT','GLARETEXTURESRESIDENT','GLALPHAFUNC','GLACCUM'),
+                2 => array(
+                        '$BEL','$BS','$CR','$CRLF','$DQ','$DT_DATE_SEPARATOR','$DT_LANGUAGE','$DT_TIME_SEPARATOR',
+                        '$ESC','$FF','$LF','$NUL','$PC_SD_MY_PC','$SPC','$SQL_OPT_TRACE_FILE_DEFAULT','$SQL_SPEC_STRING',
+                        '$TAB','$TRACKBAR_CLASS','$VT','%ACM_OPEN','%ACM_OPENW','%ACM_PLAY','%ACM_STOP','%ACN_START',
+                        '%ACN_STOP','%ACS_AUTOPLAY','%ACS_CENTER','%ACS_TIMER','%ACS_TRANSPARENT','%APP_COUNTER_FUNLOOKUP','%APP_COUNTER_KEYLOOKUP','%APP_COUNTER_LOOKUP',
+                        '%APP_COUNTER_TESTALPHA','%APP_COUNTER_UDTLOOKUP','%APP_COUNTER_VARLOOKUP','%APP_TIMER_EXECTOTAL','%APP_TIMER_INIT','%APP_TIMER_LOAD','%APP_TIMER_PREPROCESSOR','%AW_ACTIVATE',
+                        '%AW_BLEND','%AW_CENTER','%AW_HIDE','%AW_HOR_NEGATIVE','%AW_HOR_POSITIVE','%AW_SLIDE','%AW_VER_NEGATIVE','%AW_VER_POSITIVE',
+                        '%BCM_FIRST','%BLACK','%BLUE','%BM_GETCHECK','%BM_SETCHECK','%BST_CHECKED','%BST_UNCHECKED','%BS_AUTOCHECKBOX',
+                        '%BS_BOTTOM','%BS_CENTER','%BS_DEFAULT','%BS_DEFPUSHBUTTON','%BS_FLAT','%BS_LEFT','%BS_LEFTTEXT','%BS_MULTILINE',
+                        '%BS_NOTIFY','%BS_OWNERDRAW','%BS_PUSHLIKE','%BS_RIGHT','%BS_TOP','%BS_VCENTER','%BUNDLE_BUILDER_CANCELLED','%CBM_FIRST',
+                        '%CBN_CLOSEUP','%CBN_DBLCLK','%CBN_DROPDOWN','%CBN_EDITCHANGE','%CBN_EDITUPDATE','%CBN_ERRSPACE','%CBN_KILLFOCUS','%CBN_SELCANCEL',
+                        '%CBN_SELCHANGE','%CBN_SELENDCANCEL','%CBN_SELENDOK','%CBN_SETFOCUS','%CBS_AUTOHSCROLL','%CBS_DISABLENOSCROLL','%CBS_DROPDOWN','%CBS_DROPDOWNLIST',
+                        '%CBS_HASSTRINGS','%CBS_LOWERCASE','%CBS_NOINTEGRALHEIGHT','%CBS_SIMPLE','%CBS_SORT','%CBS_UPPERCASE','%CB_SELECTSTRING','%CCM_FIRST',
+                        '%CC_ANYCOLOR','%CC_ENABLEHOOK','%CC_ENABLETEMPLATE','%CC_ENABLETEMPLATEHANDLE','%CC_FULLOPEN','%CC_PREVENTFULLOPEN','%CC_RGBINIT','%CC_SHOWHELP',
+                        '%CC_SOLIDCOLOR','%CFE_BOLD','%CFE_ITALIC','%CFE_LINK','%CFE_PROTECTED','%CFE_STRIKEOUT','%CFE_UNDERLINE','%CFM_ANIMATION',
+                        '%CFM_BACKCOLOR','%CFM_BOLD','%CFM_CHARSET','%CFM_COLOR','%CFM_FACE','%CFM_ITALIC','%CFM_KERNING','%CFM_LCID',
+                        '%CFM_LINK','%CFM_OFFSET','%CFM_PROTECTED','%CFM_REVAUTHOR','%CFM_SIZE','%CFM_SPACING','%CFM_STRIKEOUT','%CFM_STYLE',
+                        '%CFM_UNDERLINE','%CFM_UNDERLINETYPE','%CFM_WEIGHT','%CGI_ACCEPT_FILE_UPLOAD','%CGI_AUTO_ADD_SPECIAL_CHARS_PREFIX','%CGI_AUTO_CREATE_VARS','%CGI_BUFFERIZE_OUTPUT','%CGI_DOUBLE_QUOTE',
+                        '%CGI_FILE_UPLOAD_BASEPATH','%CGI_FORCE_SESSION_VALIDATION','%CGI_MAX_BYTE_FROM_STD_IN','%CGI_REQUEST_METHOD_GET','%CGI_REQUEST_METHOD_POST','%CGI_SESSION_FILE_BASEPATH','%CGI_SINGLE_QUOTE','%CGI_SPECIAL_CHARS_PREFIX',
+                        '%CGI_TEMPORARY_UPLOAD_PATH','%CGI_UPLOAD_CAN_OVERWRITE','%CGI_WRITE_LOG_FILE','%CGI_WRITE_VARS_INTO_LOG_FILE','%CONOLE_ATTACH_PARENT_PROCESS','%CONSOLE_BACKGROUND_BLUE','%CONSOLE_BACKGROUND_GREEN','%CONSOLE_BACKGROUND_INTENSITY',
+                        '%CONSOLE_BACKGROUND_RED','%CONSOLE_BOX_FLAG_3DOFF','%CONSOLE_BOX_FLAG_3DON','%CONSOLE_BOX_FLAG_SHADOW','%CONSOLE_COMMON_LVB_GRID_HORIZONTAL','%CONSOLE_COMMON_LVB_GRID_LVERTICAL','%CONSOLE_COMMON_LVB_GRID_RVERTICAL','%CONSOLE_COMMON_LVB_LEADING_BYTE',
+                        '%CONSOLE_COMMON_LVB_REVERSE_VIDEO','%CONSOLE_COMMON_LVB_TRAILING_BYTE','%CONSOLE_COMMON_LVB_UNDERSCORE','%CONSOLE_CTRL_BREAK_EVENT','%CONSOLE_CTRL_C_EVENT','%CONSOLE_DOUBLE_CLICK','%CONSOLE_ENABLE_AUTO_POSITION','%CONSOLE_ENABLE_ECHO_INPUT',
+                        '%CONSOLE_ENABLE_EXTENDED_FLAGS','%CONSOLE_ENABLE_INSERT_MODE','%CONSOLE_ENABLE_LINE_INPUT','%CONSOLE_ENABLE_MOUSE_INPUT','%CONSOLE_ENABLE_PROCESSED_INPUT','%CONSOLE_ENABLE_PROCESSED_OUTPUT','%CONSOLE_ENABLE_QUICK_EDIT_MODE','%CONSOLE_ENABLE_WINDOW_INPUT',
+                        '%CONSOLE_ENABLE_WRAP_AT_EOL_OUTPUT','%CONSOLE_FOREGROUND_BLUE','%CONSOLE_FOREGROUND_GREEN','%CONSOLE_FOREGROUND_INTENSITY','%CONSOLE_FOREGROUND_RED','%CONSOLE_LBUTTON','%CONSOLE_LINE_HORIZONTAL','%CONSOLE_LINE_VERTICAL',
+                        '%CONSOLE_MBUTTON','%CONSOLE_MOUSE_MOVED','%CONSOLE_MOUSE_WHEELED','%CONSOLE_RBUTTON','%CONSOLE_SCROLLBUF_DOWN','%CONSOLE_SCROLLBUF_UP','%CONSOLE_SCROLLWND_ABSOLUTE','%CONSOLE_SCROLLWND_RELATIVE',
+                        '%CONSOLE_STD_ERROR_HANDLE','%CONSOLE_STD_INPUT_HANDLE','%CONSOLE_STD_OUTPUT_HANDLE','%CONSOLE_SW_FORCEMINIMIZE','%CONSOLE_SW_HIDE','%CONSOLE_SW_MAXIMIZE','%CONSOLE_SW_MINIMIZE','%CONSOLE_SW_RESTORE',
+                        '%CONSOLE_SW_SHOW','%CONSOLE_SW_SHOWDEFAULT','%CONSOLE_SW_SHOWMAXIMIZED','%CONSOLE_SW_SHOWMINIMIZED','%CONSOLE_SW_SHOWMINNOACTIVE','%CONSOLE_SW_SHOWNA','%CONSOLE_SW_SHOWNOACTIVATE','%CONSOLE_SW_SHOWNORMAL',
+                        '%CONSOLE_UNAVAILABLE','%CRYPTO_CALG_DES','%CRYPTO_CALG_RC2','%CRYPTO_CALG_RC4','%CRYPTO_PROV_DH_SCHANNEL','%CRYPTO_PROV_DSS','%CRYPTO_PROV_DSS_DH','%CRYPTO_PROV_FORTEZZA',
+                        '%CRYPTO_PROV_MS_EXCHANGE','%CRYPTO_PROV_RSA_FULL','%CRYPTO_PROV_RSA_SCHANNEL','%CRYPTO_PROV_RSA_SIG','%CRYPTO_PROV_SSL','%CSIDL_ADMINTOOLS','%CSIDL_ALTSTARTUP','%CSIDL_APPDATA',
+                        '%CSIDL_BITBUCKET','%CSIDL_CDBURN_AREA','%CSIDL_COMMON_ADMINTOOLS','%CSIDL_COMMON_ALTSTARTUP','%CSIDL_COMMON_APPDATA','%CSIDL_COMMON_DESKTOPDIRECTORY','%CSIDL_COMMON_DOCUMENTS','%CSIDL_COMMON_FAVORITES',
+                        '%CSIDL_COMMON_MUSIC','%CSIDL_COMMON_PICTURES','%CSIDL_COMMON_PROGRAMS','%CSIDL_COMMON_STARTMENU','%CSIDL_COMMON_STARTUP','%CSIDL_COMMON_TEMPLATES','%CSIDL_COMMON_VIDEO','%CSIDL_CONTROLS',
+                        '%CSIDL_COOKIES','%CSIDL_DESKTOP','%CSIDL_DESKTOPDIRECTORY','%CSIDL_DRIVES','%CSIDL_FAVORITES','%CSIDL_FLAG_CREATE','%CSIDL_FONTS','%CSIDL_HISTORY',
+                        '%CSIDL_INTERNET','%CSIDL_INTERNET_CACHE','%CSIDL_LOCAL_APPDATA','%CSIDL_MYDOCUMENTS','%CSIDL_MYMUSIC','%CSIDL_MYPICTURES','%CSIDL_MYVIDEO','%CSIDL_NETHOOD',
+                        '%CSIDL_NETWORK','%CSIDL_PERSONAL','%CSIDL_PRINTERS','%CSIDL_PRINTHOOD','%CSIDL_PROFILE','%CSIDL_PROGRAMS','%CSIDL_PROGRAM_FILES','%CSIDL_PROGRAM_FILES_COMMON',
+                        '%CSIDL_RECENT','%CSIDL_SENDTO','%CSIDL_STARTMENU','%CSIDL_STARTUP','%CSIDL_SYSTEM','%CSIDL_TEMPLATES','%CSIDL_WINDOWS','%CW_USEDEFAULT',
+                        '%CYAN','%DATE_TIME_FILE_CREATION','%DATE_TIME_LAST_FILE_ACCESS','%DATE_TIME_LAST_FILE_WRITE','%DICTIONARY_MEMINFO_DATA','%DICTIONARY_MEMINFO_KEYS','%DICTIONARY_MEMINFO_TOTAL','%DICTIONARY_SORTDESCENDING',
+                        '%DICTIONARY_SORTKEYS','%DSCAPS_CERTIFIED','%DSCAPS_CONTINUOUSRATE','%DSCAPS_EMULDRIVER','%DSCAPS_SECONDARY16BIT','%DSCAPS_SECONDARY8BIT','%DSCAPS_SECONDARYMONO','%DSCAPS_SECONDARYSTEREO',
+                        '%DSCCAPS_CERTIFIED','%DSCCAPS_EMULDRIVER','%DS_3DLOOK','%DS_ABSALIGN','%DS_CENTER','%DS_CENTERMOUSE','%DS_CONTEXTHELP','%DS_CONTROL',
+                        '%DS_MODALFRAME','%DS_NOFAILCREATE','%DS_SETFONT','%DS_SETFOREGROUND','%DS_SYSMODAL','%DTM_FIRST','%DTM_GETMCCOLOR','%DTM_GETMCFONT',
+                        '%DTM_GETMONTHCAL','%DTM_GETRANGE','%DTM_GETSYSTEMTIME','%DTM_SETFORMAT','%DTM_SETFORMATW','%DTM_SETMCCOLOR','%DTM_SETMCFONT','%DTM_SETRANGE',
+                        '%DTM_SETSYSTEMTIME','%DTN_CLOSEUP','%DTN_DATETIMECHANGE','%DTN_DROPDOWN','%DTN_FORMAT','%DTN_FORMATQUERY','%DTN_FORMATQUERYW','%DTN_FORMATW',
+                        '%DTN_USERSTRING','%DTN_USERSTRINGW','%DTN_WMKEYDOWN','%DTN_WMKEYDOWNW','%DTS_APPCANPARSE','%DTS_LONGDATEFORMAT','%DTS_RIGHTALIGN','%DTS_SHORTDATECENTURYFORMAT',
+                        '%DTS_SHORTDATEFORMAT','%DTS_SHOWNONE','%DTS_TIMEFORMAT','%DTS_UPDOWN','%DT_DATE_CENTURY','%DT_DATE_OK','%DT_DAY_IN_YEAR','%DT_DIFF_IN_DAYS',
+                        '%DT_DIFF_IN_HOURS','%DT_DIFF_IN_MINUTES','%DT_DIFF_IN_SECONDS','%DT_HOURS_IN_DAY','%DT_MINUTES_IN_HOUR','%DT_SECONDS_IN_DAY','%DT_SECONDS_IN_HOUR','%DT_SECONDS_IN_MINUTE',
+                        '%DT_SECONDS_IN_YEAR','%DT_USE_LONG_FORM','%DT_USE_SHORT_FORM','%DT_WRONG_DATE','%DT_WRONG_DAY','%DT_WRONG_MONTH','%ECM_FIRST','%ECOOP_AND',
+                        '%ECOOP_OR','%ECOOP_SET','%ECOOP_XOR','%ECO_AUTOHSCROLL','%ECO_AUTOVSCROLL','%ECO_AUTOWORDSELECTION','%ECO_NOHIDESEL','%ECO_READONLY',
+                        '%ECO_SELECTIONBAR','%ECO_WANTRETURN','%EM_AUTOURLDETECT','%EM_CANPASTE','%EM_CANREDO','%EM_CANUNDO','%EM_CHARFROMPOS','%EM_DISPLAYBAND',
+                        '%EM_EMPTYUNDOBUFFER','%EM_EXGETSEL','%EM_EXLIMITTEXT','%EM_EXLINEFROMCHAR','%EM_EXSETSEL','%EM_FINDTEXT','%EM_FINDTEXTEX','%EM_FINDWORDBREAK',
+                        '%EM_FMTLINES','%EM_FORMATRANGE','%EM_GETAUTOURLDETECT','%EM_GETCHARFORMAT','%EM_GETEDITSTYLE','%EM_GETEVENTMASK','%EM_GETFIRSTVISIBLELINE','%EM_GETHANDLE',
+                        '%EM_GETIMESTATUS','%EM_GETLIMITTEXT','%EM_GETLINE','%EM_GETLINECOUNT','%EM_GETMARGINS','%EM_GETMODIFY','%EM_GETOLEINTERFACE','%EM_GETOPTIONS',
+                        '%EM_GETPARAFORMAT','%EM_GETPASSWORDCHAR','%EM_GETRECT','%EM_GETREDONAME','%EM_GETSCROLLPOS','%EM_GETSEL','%EM_GETSELTEXT','%EM_GETTEXTMODE',
+                        '%EM_GETTEXTRANGE','%EM_GETTHUMB','%EM_GETUNDONAME','%EM_GETWORDBREAKPROC','%EM_GETWORDBREAKPROCEX','%EM_HIDESELECTION','%EM_LIMITTEXT','%EM_LINEFROMCHAR',
+                        '%EM_LINEINDEX','%EM_LINELENGTH','%EM_LINESCROLL','%EM_PASTESPECIAL','%EM_POSFROMCHAR','%EM_REDO','%EM_REPLACESEL','%EM_REQUESTRESIZE',
+                        '%EM_SCROLL','%EM_SCROLLCARET','%EM_SELECTIONTYPE','%EM_SETBKGNDCOLOR','%EM_SETCHARFORMAT','%EM_SETEDITSTYLE','%EM_SETEVENTMASK','%EM_SETHANDLE',
+                        '%EM_SETIMESTATUS','%EM_SETLIMITTEXT','%EM_SETMARGINS','%EM_SETMODIFY','%EM_SETOLECALLBACK','%EM_SETOPTIONS','%EM_SETPARAFORMAT','%EM_SETPASSWORDCHAR',
+                        '%EM_SETREADONLY','%EM_SETRECT','%EM_SETRECTNP','%EM_SETSCROLLPOS','%EM_SETSEL','%EM_SETTABSTOPS','%EM_SETTARGETDEVICE','%EM_SETTEXTMODE',
+                        '%EM_SETUNDOLIMIT','%EM_SETWORDBREAKPROC','%EM_SETWORDBREAKPROCEX','%EM_SETWORDWRAPMODE','%EM_SETZOOM','%EM_STOPGROUPTYPING','%EM_STREAMIN','%EM_STREAMOUT',
+                        '%EM_UNDO','%ENM_CHANGE','%ENM_CORRECTTEXT','%ENM_DRAGDROPDONE','%ENM_DROPFILES','%ENM_KEYEVENTS','%ENM_MOUSEEVENTS','%ENM_NONE',
+                        '%ENM_PARAGRAPHEXPANDED','%ENM_PROTECTED','%ENM_REQUESTRESIZE','%ENM_SCROLL','%ENM_SCROLLEVENTS','%ENM_SELCHANGE','%ENM_UPDATE','%EN_CHANGE',
+                        '%EN_MSGFILTER','%EN_SELCHANGE','%EN_UPDATE','%ES_AUTOHSCROLL','%ES_AUTOVSCROLL','%ES_CENTER','%ES_DISABLENOSCROLL','%ES_EX_NOCALLOLEINIT',
+                        '%ES_LEFT','%ES_LOWERCASE','%ES_MULTILINE','%ES_NOHIDESEL','%ES_NOOLEDRAGDROP','%ES_NUMBER','%ES_OEMCONVERT','%ES_PASSWORD',
+                        '%ES_READONLY','%ES_RIGHT','%ES_SAVESEL','%ES_SELECTIONBAR','%ES_SUNKEN','%ES_UPPERCASE','%ES_WANTRETURN','%EVAL_EXEC_STRING',
+                        '%FALSE','%FILE_ADDPATH','%FILE_ARCHIVE','%FILE_BUILDVERSION','%FILE_HIDDEN','%FILE_MAJORVERSION','%FILE_MINORVERSION','%FILE_NORMAL',
+                        '%FILE_READONLY','%FILE_REVISIONVERSION','%FILE_SUBDIR','%FILE_SYSTEM','%FILE_VLABEL','%FTP_GET_CONNECT_STATUS','%FTP_GET_FILE_BYTES_RCVD','%FTP_GET_FILE_BYTES_SENT',
+                        '%FTP_GET_LAST_RESPONSE','%FTP_GET_LOCAL_IP','%FTP_GET_SERVER_IP','%FTP_GET_TOTAL_BYTES_RCVD','%FTP_GET_TOTAL_BYTES_SENT','%FTP_LIST_FULLLIST','%FTP_LIST_FULLLISTDIR','%FTP_LIST_FULLLISTFILE',
+                        '%FTP_SET_ASYNC','%FTP_SET_CONNECT_WAIT','%FTP_SET_MAX_LISTEN_WAIT','%FTP_SET_MAX_RESPONSE_WAIT','%FTP_SET_PASSIVE','%FTP_SET_SYNC','%FW_BLACK','%FW_BOLD',
+                        '%FW_DEMIBOLD','%FW_DONTCARE','%FW_EXTRABOLD','%FW_EXTRALIGHT','%FW_HEAVY','%FW_LIGHT','%FW_MEDIUM','%FW_NORMAL',
+                        '%FW_REGULAR','%FW_SEMIBOLD','%FW_THIN','%FW_ULTRABOLD','%FW_ULTRALIGHT','%GDTR_MAX','%GDTR_MIN','%GLU_AUTO_LOAD_MATRIX',
+                        '%GLU_BEGIN','%GLU_CCW','%GLU_CULLING','%GLU_CW','%GLU_DISPLAY_MODE','%GLU_DOMAIN_DISTANCE','%GLU_EDGE_FLAG','%GLU_END',
+                        '%GLU_ERROR','%GLU_EXTENSIONS','%GLU_EXTERIOR','%GLU_FALSE','%GLU_FILL','%GLU_FLAT','%GLU_INCOMPATIBLE_GL_VERSION','%GLU_INSIDE',
+                        '%GLU_INTERIOR','%GLU_INVALID_ENUM','%GLU_INVALID_VALUE','%GLU_LINE','%GLU_MAP1_TRIM_2','%GLU_MAP1_TRIM_3','%GLU_NONE','%GLU_NURBS_ERROR1',
+                        '%GLU_NURBS_ERROR10','%GLU_NURBS_ERROR11','%GLU_NURBS_ERROR12','%GLU_NURBS_ERROR13','%GLU_NURBS_ERROR14','%GLU_NURBS_ERROR15','%GLU_NURBS_ERROR16','%GLU_NURBS_ERROR17',
+                        '%GLU_NURBS_ERROR18','%GLU_NURBS_ERROR19','%GLU_NURBS_ERROR2','%GLU_NURBS_ERROR20','%GLU_NURBS_ERROR21','%GLU_NURBS_ERROR22','%GLU_NURBS_ERROR23','%GLU_NURBS_ERROR24',
+                        '%GLU_NURBS_ERROR25','%GLU_NURBS_ERROR26','%GLU_NURBS_ERROR27','%GLU_NURBS_ERROR28','%GLU_NURBS_ERROR29','%GLU_NURBS_ERROR3','%GLU_NURBS_ERROR30','%GLU_NURBS_ERROR31',
+                        '%GLU_NURBS_ERROR32','%GLU_NURBS_ERROR33','%GLU_NURBS_ERROR34','%GLU_NURBS_ERROR35','%GLU_NURBS_ERROR36','%GLU_NURBS_ERROR37','%GLU_NURBS_ERROR4','%GLU_NURBS_ERROR5',
+                        '%GLU_NURBS_ERROR6','%GLU_NURBS_ERROR7','%GLU_NURBS_ERROR8','%GLU_NURBS_ERROR9','%GLU_OUTLINE_PATCH','%GLU_OUTLINE_POLYGON','%GLU_OUTSIDE','%GLU_OUT_OF_MEMORY',
+                        '%GLU_PARAMETRIC_ERROR','%GLU_PARAMETRIC_TOLERANCE','%GLU_PATH_LENGTH','%GLU_POINT','%GLU_SAMPLING_METHOD','%GLU_SAMPLING_TOLERANCE','%GLU_SILHOUETTE','%GLU_SMOOTH',
+                        '%GLU_TESS_BEGIN','%GLU_TESS_BEGIN_DATA','%GLU_TESS_BOUNDARY_ONLY','%GLU_TESS_COMBINE','%GLU_TESS_COMBINE_DATA','%GLU_TESS_COORD_TOO_LARGE','%GLU_TESS_EDGE_FLAG','%GLU_TESS_EDGE_FLAG_DATA',
+                        '%GLU_TESS_END','%GLU_TESS_END_DATA','%GLU_TESS_ERROR','%GLU_TESS_ERROR1','%GLU_TESS_ERROR2','%GLU_TESS_ERROR3','%GLU_TESS_ERROR4','%GLU_TESS_ERROR5',
+                        '%GLU_TESS_ERROR6','%GLU_TESS_ERROR7','%GLU_TESS_ERROR8','%GLU_TESS_ERROR_DATA','%GLU_TESS_MISSING_BEGIN_CONTOUR','%GLU_TESS_MISSING_BEGIN_POLYGON','%GLU_TESS_MISSING_END_CONTOUR','%GLU_TESS_MISSING_END_POLYGON',
+                        '%GLU_TESS_NEED_COMBINE_CALLBACK','%GLU_TESS_TOLERANCE','%GLU_TESS_VERTEX','%GLU_TESS_VERTEX_DATA','%GLU_TESS_WINDING_ABS_GEQ_TWO','%GLU_TESS_WINDING_NEGATIVE','%GLU_TESS_WINDING_NONZERO','%GLU_TESS_WINDING_ODD',
+                        '%GLU_TESS_WINDING_POSITIVE','%GLU_TESS_WINDING_RULE','%GLU_TRUE','%GLU_UNKNOWN','%GLU_U_STEP','%GLU_VERSION','%GLU_VERSION_1_1','%GLU_VERSION_1_2',
+                        '%GLU_VERTEX','%GLU_V_STEP','%GL_2D','%GL_2_BYTES','%GL_3D','%GL_3D_COLOR','%GL_3D_COLOR_TEXTURE','%GL_3_BYTES',
+                        '%GL_4D_COLOR_TEXTURE','%GL_4_BYTES','%GL_ABGR_EXT','%GL_ACCUM','%GL_ACCUM_ALPHA_BITS','%GL_ACCUM_BLUE_BITS','%GL_ACCUM_BUFFER_BIT','%GL_ACCUM_CLEAR_VALUE',
+                        '%GL_ACCUM_GREEN_BITS','%GL_ACCUM_RED_BITS','%GL_ADD','%GL_ALL_ATTRIB_BITS','%GL_ALPHA','%GL_ALPHA12','%GL_ALPHA16','%GL_ALPHA4',
+                        '%GL_ALPHA8','%GL_ALPHA_BIAS','%GL_ALPHA_BITS','%GL_ALPHA_SCALE','%GL_ALPHA_TEST','%GL_ALPHA_TEST_FUNC','%GL_ALPHA_TEST_REF','%GL_ALWAYS',
+                        '%GL_AMBIENT','%GL_AMBIENT_AND_DIFFUSE','%GL_AND','%GL_AND_INVERTED','%GL_AND_REVERSE','%GL_ARRAY_ELEMENT_LOCK_COUNT_EXT','%GL_ARRAY_ELEMENT_LOCK_FIRST_EXT','%GL_ATTRIB_STACK_DEPTH',
+                        '%GL_AUTO_NORMAL','%GL_AUX0','%GL_AUX1','%GL_AUX2','%GL_AUX3','%GL_AUX_BUFFERS','%GL_BACK','%GL_BACK_LEFT',
+                        '%GL_BACK_RIGHT','%GL_BGRA_EXT','%GL_BGR_EXT','%GL_BITMAP','%GL_BITMAP_TOKEN','%GL_BLEND','%GL_BLEND_COLOR_EXT','%GL_BLEND_DST',
+                        '%GL_BLEND_EQUATION_EXT','%GL_BLEND_SRC','%GL_BLUE','%GL_BLUE_BIAS','%GL_BLUE_BITS','%GL_BLUE_SCALE','%GL_BYTE','%GL_C3F_V3F',
+                        '%GL_C4F_N3F_V3F','%GL_C4UB_V2F','%GL_C4UB_V3F','%GL_CCW','%GL_CLAMP','%GL_CLEAR','%GL_CLIENT_ALL_ATTRIB_BITS','%GL_CLIENT_ATTRIB_STACK_DEPTH',
+                        '%GL_CLIENT_PIXEL_STORE_BIT','%GL_CLIENT_VERTEX_ARRAY_BIT','%GL_CLIP_PLANE0','%GL_CLIP_PLANE1','%GL_CLIP_PLANE2','%GL_CLIP_PLANE3','%GL_CLIP_PLANE4','%GL_CLIP_PLANE5',
+                        '%GL_CLIP_VOLUME_CLIPPING_HINT_EXT','%GL_COEFF','%GL_COLOR','%GL_COLOR_ARRAY','%GL_COLOR_ARRAY_COUNT_EXT','%GL_COLOR_ARRAY_EXT','%GL_COLOR_ARRAY_POINTER','%GL_COLOR_ARRAY_POINTER_EXT',
+                        '%GL_COLOR_ARRAY_SIZE','%GL_COLOR_ARRAY_SIZE_EXT','%GL_COLOR_ARRAY_STRIDE','%GL_COLOR_ARRAY_STRIDE_EXT','%GL_COLOR_ARRAY_TYPE','%GL_COLOR_ARRAY_TYPE_EXT','%GL_COLOR_BUFFER_BIT','%GL_COLOR_CLEAR_VALUE',
+                        '%GL_COLOR_INDEX','%GL_COLOR_INDEX12_EXT','%GL_COLOR_INDEX16_EXT','%GL_COLOR_INDEX1_EXT','%GL_COLOR_INDEX2_EXT','%GL_COLOR_INDEX4_EXT','%GL_COLOR_INDEX8_EXT','%GL_COLOR_INDEXES',
+                        '%GL_COLOR_LOGIC_OP','%GL_COLOR_MATERIAL','%GL_COLOR_MATERIAL_FACE','%GL_COLOR_MATERIAL_PARAMETER','%GL_COLOR_SUM_EXT','%GL_COLOR_TABLE_ALPHA_SIZE_EXT','%GL_COLOR_TABLE_BIAS_EXT','%GL_COLOR_TABLE_BLUE_SIZE_EXT',
+                        '%GL_COLOR_TABLE_EXT','%GL_COLOR_TABLE_FORMAT_EXT','%GL_COLOR_TABLE_GREEN_SIZE_EXT','%GL_COLOR_TABLE_INTENSITY_SIZE_EXT','%GL_COLOR_TABLE_LUMINANCE_SIZE_EXT','%GL_COLOR_TABLE_RED_SIZE_EXT','%GL_COLOR_TABLE_SCALE_EXT','%GL_COLOR_TABLE_WIDTH_EXT',
+                        '%GL_COLOR_WRITEMASK','%GL_COMPILE','%GL_COMPILE_AND_EXECUTE','%GL_CONSTANT_ALPHA_EXT','%GL_CONSTANT_ATTENUATION','%GL_CONSTANT_COLOR_EXT','%GL_CONVOLUTION_1D_EXT','%GL_CONVOLUTION_2D_EXT',
+                        '%GL_CONVOLUTION_BORDER_MODE_EXT','%GL_CONVOLUTION_FILTER_BIAS_EXT','%GL_CONVOLUTION_FILTER_SCALE_EXT','%GL_CONVOLUTION_FORMAT_EXT','%GL_CONVOLUTION_HEIGHT_EXT','%GL_CONVOLUTION_WIDTH_EXT','%GL_COPY','%GL_COPY_INVERTED',
+                        '%GL_COPY_PIXEL_TOKEN','%GL_CULL_FACE','%GL_CULL_FACE_MODE','%GL_CULL_VERTEX_EXT','%GL_CULL_VERTEX_EYE_POSITION_EXT','%GL_CULL_VERTEX_OBJECT_POSITION_EXT','%GL_CURRENT_BIT','%GL_CURRENT_COLOR',
+                        '%GL_CURRENT_INDEX','%GL_CURRENT_NORMAL','%GL_CURRENT_RASTER_COLOR','%GL_CURRENT_RASTER_DISTANCE','%GL_CURRENT_RASTER_INDEX','%GL_CURRENT_RASTER_POSITION','%GL_CURRENT_RASTER_POSITION_VALID','%GL_CURRENT_RASTER_TEXTURE_COORDS',
+                        '%GL_CURRENT_SECONDARY_COLOR_EXT','%GL_CURRENT_TEXTURE_COORDS','%GL_CW','%GL_DECAL','%GL_DECR','%GL_DEPTH','%GL_DEPTH_BIAS','%GL_DEPTH_BITS',
+                        '%GL_DEPTH_BUFFER_BIT','%GL_DEPTH_CLEAR_VALUE','%GL_DEPTH_COMPONENT','%GL_DEPTH_FUNC','%GL_DEPTH_RANGE','%GL_DEPTH_SCALE','%GL_DEPTH_TEST','%GL_DEPTH_WRITEMASK',
+                        '%GL_DIFFUSE','%GL_DITHER','%GL_DOMAIN','%GL_DONT_CARE','%GL_DOUBLE','%GL_DOUBLEBUFFER','%GL_DOUBLE_EXT','%GL_DRAW_BUFFER',
+                        '%GL_DRAW_PIXEL_TOKEN','%GL_DST_ALPHA','%GL_DST_COLOR','%GL_EDGE_FLAG','%GL_EDGE_FLAG_ARRAY','%GL_EDGE_FLAG_ARRAY_COUNT_EXT','%GL_EDGE_FLAG_ARRAY_EXT','%GL_EDGE_FLAG_ARRAY_POINTER',
+                        '%GL_EDGE_FLAG_ARRAY_POINTER_EXT','%GL_EDGE_FLAG_ARRAY_STRIDE','%GL_EDGE_FLAG_ARRAY_STRIDE_EXT','%GL_EMISSION','%GL_ENABLE_BIT','%GL_EQUAL','%GL_EQUIV','%GL_EVAL_BIT',
+                        '%GL_EXP','%GL_EXP2','%GL_EXTENSIONS','%GL_EXT_ABGR','%GL_EXT_BGRA','%GL_EXT_BLEND_COLOR','%GL_EXT_BLEND_MINMAX','%GL_EXT_BLEND_SUBTRACT',
+                        '%GL_EXT_CLIP_VOLUME_HINT','%GL_EXT_COLOR_TABLE','%GL_EXT_COMPILED_VERTEX_ARRAY','%GL_EXT_CONVOLUTION','%GL_EXT_CULL_VERTEX','%GL_EXT_HISTOGRAM','%GL_EXT_PACKED_PIXELS','%GL_EXT_PALETTED_TEXTURE',
+                        '%GL_EXT_POLYGON_OFFSET','%GL_EXT_SECONDARY_COLOR','%GL_EXT_SEPARATE_SPECULAR_COLOR','%GL_EXT_VERTEX_ARRAY','%GL_EYE_LINEAR','%GL_EYE_PLANE','%GL_FALSE','%GL_FASTEST',
+                        '%GL_FEEDBACK','%GL_FEEDBACK_BUFFER_POINTER','%GL_FEEDBACK_BUFFER_SIZE','%GL_FEEDBACK_BUFFER_TYPE','%GL_FILL','%GL_FLAT','%GL_FLOAT','%GL_FOG',
+                        '%GL_FOG_BIT','%GL_FOG_COLOR','%GL_FOG_DENSITY','%GL_FOG_END','%GL_FOG_HINT','%GL_FOG_INDEX','%GL_FOG_MODE','%GL_FOG_START',
+                        '%GL_FRONT','%GL_FRONT_AND_BACK','%GL_FRONT_FACE','%GL_FRONT_LEFT','%GL_FRONT_RIGHT','%GL_FUNC_ADD_EXT','%GL_FUNC_REVERSE_SUBTRACT_EXT','%GL_FUNC_SUBTRACT_EXT',
+                        '%GL_GEQUAL','%GL_GREATER','%GL_GREEN','%GL_GREEN_BIAS','%GL_GREEN_BITS','%GL_GREEN_SCALE','%GL_HINT_BIT','%GL_HISTOGRAM_ALPHA_SIZE_EXT',
+                        '%GL_HISTOGRAM_BLUE_SIZE_EXT','%GL_HISTOGRAM_EXT','%GL_HISTOGRAM_FORMAT_EXT','%GL_HISTOGRAM_GREEN_SIZE_EXT','%GL_HISTOGRAM_LUMINANCE_SIZE_EXT','%GL_HISTOGRAM_RED_SIZE_EXT','%GL_HISTOGRAM_SINK_EXT','%GL_HISTOGRAM_WIDTH_EXT',
+                        '%GL_INCR','%GL_INDEX_ARRAY','%GL_INDEX_ARRAY_COUNT_EXT','%GL_INDEX_ARRAY_EXT','%GL_INDEX_ARRAY_POINTER','%GL_INDEX_ARRAY_POINTER_EXT','%GL_INDEX_ARRAY_STRIDE','%GL_INDEX_ARRAY_STRIDE_EXT',
+                        '%GL_INDEX_ARRAY_TYPE','%GL_INDEX_ARRAY_TYPE_EXT','%GL_INDEX_BITS','%GL_INDEX_CLEAR_VALUE','%GL_INDEX_LOGIC_OP','%GL_INDEX_MODE','%GL_INDEX_OFFSET','%GL_INDEX_SHIFT',
+                        '%GL_INDEX_WRITEMASK','%GL_INT','%GL_INTENSITY','%GL_INTENSITY12','%GL_INTENSITY16','%GL_INTENSITY4','%GL_INTENSITY8','%GL_INVALID_ENUM',
+                        '%GL_INVALID_OPERATION','%GL_INVALID_VALUE','%GL_INVERT','%GL_KEEP','%GL_LEFT','%GL_LEQUAL','%GL_LESS','%GL_LIGHT0',
+                        '%GL_LIGHT1','%GL_LIGHT2','%GL_LIGHT3','%GL_LIGHT4','%GL_LIGHT5','%GL_LIGHT6','%GL_LIGHT7','%GL_LIGHTING',
+                        '%GL_LIGHTING_BIT','%GL_LIGHT_MODEL_AMBIENT','%GL_LIGHT_MODEL_COLOR_CONTROL_EXT','%GL_LIGHT_MODEL_LOCAL_VIEWER','%GL_LIGHT_MODEL_TWO_SIDE','%GL_LINE','%GL_LINEAR','%GL_LINEAR_ATTENUATION',
+                        '%GL_LINEAR_MIPMAP_LINEAR','%GL_LINEAR_MIPMAP_NEAREST','%GL_LINES','%GL_LINE_BIT','%GL_LINE_LOOP','%GL_LINE_RESET_TOKEN','%GL_LINE_SMOOTH','%GL_LINE_SMOOTH_HINT',
+                        '%GL_LINE_STIPPLE','%GL_LINE_STIPPLE_PATTERN','%GL_LINE_STIPPLE_REPEAT','%GL_LINE_STRIP','%GL_LINE_TOKEN','%GL_LINE_WIDTH','%GL_LINE_WIDTH_GRANULARITY','%GL_LINE_WIDTH_RANGE',
+                        '%GL_LIST_BASE','%GL_LIST_BIT','%GL_LIST_INDEX','%GL_LIST_MODE','%GL_LOAD','%GL_LOGIC_OP','%GL_LOGIC_OP_MODE','%GL_LUMINANCE',
+                        '%GL_LUMINANCE12','%GL_LUMINANCE12_ALPHA12','%GL_LUMINANCE12_ALPHA4','%GL_LUMINANCE16','%GL_LUMINANCE16_ALPHA16','%GL_LUMINANCE4','%GL_LUMINANCE4_ALPHA4','%GL_LUMINANCE6_ALPHA2',
+                        '%GL_LUMINANCE8','%GL_LUMINANCE8_ALPHA8','%GL_LUMINANCE_ALPHA','%GL_MAP1_COLOR_4','%GL_MAP1_GRID_DOMAIN','%GL_MAP1_GRID_SEGMENTS','%GL_MAP1_INDEX','%GL_MAP1_NORMAL',
+                        '%GL_MAP1_TEXTURE_COORD_1','%GL_MAP1_TEXTURE_COORD_2','%GL_MAP1_TEXTURE_COORD_3','%GL_MAP1_TEXTURE_COORD_4','%GL_MAP1_VERTEX_3','%GL_MAP1_VERTEX_4','%GL_MAP2_COLOR_4','%GL_MAP2_GRID_DOMAIN',
+                        '%GL_MAP2_GRID_SEGMENTS','%GL_MAP2_INDEX','%GL_MAP2_NORMAL','%GL_MAP2_TEXTURE_COORD_1','%GL_MAP2_TEXTURE_COORD_2','%GL_MAP2_TEXTURE_COORD_3','%GL_MAP2_TEXTURE_COORD_4','%GL_MAP2_VERTEX_3',
+                        '%GL_MAP2_VERTEX_4','%GL_MAP_COLOR','%GL_MAP_STENCIL','%GL_MATRIX_MODE','%GL_MAX_ATTRIB_STACK_DEPTH','%GL_MAX_CLIENT_ATTRIB_STACK_DEPTH','%GL_MAX_CLIP_PLANES','%GL_MAX_CONVOLUTION_HEIGHT_EXT',
+                        '%GL_MAX_CONVOLUTION_WIDTH_EXT','%GL_MAX_EVAL_ORDER','%GL_MAX_EXT','%GL_MAX_LIGHTS','%GL_MAX_LIST_NESTING','%GL_MAX_MODELVIEW_STACK_DEPTH','%GL_MAX_NAME_STACK_DEPTH','%GL_MAX_PIXEL_MAP_TABLE',
+                        '%GL_MAX_PROJECTION_STACK_DEPTH','%GL_MAX_TEXTURE_SIZE','%GL_MAX_TEXTURE_STACK_DEPTH','%GL_MAX_VIEWPORT_DIMS','%GL_MINMAX_EXT','%GL_MINMAX_FORMAT_EXT','%GL_MINMAX_SINK_EXT','%GL_MIN_EXT',
+                        '%GL_MODELVIEW','%GL_MODELVIEW_MATRIX','%GL_MODELVIEW_STACK_DEPTH','%GL_MODULATE','%GL_MULT','%GL_N3F_V3F','%GL_NAME_STACK_DEPTH','%GL_NAND',
+                        '%GL_NEAREST','%GL_NEAREST_MIPMAP_LINEAR','%GL_NEAREST_MIPMAP_NEAREST','%GL_NEVER','%GL_NICEST','%GL_NONE','%GL_NOOP','%GL_NOR',
+                        '%GL_NORMALIZE','%GL_NORMAL_ARRAY','%GL_NORMAL_ARRAY_COUNT_EXT','%GL_NORMAL_ARRAY_EXT','%GL_NORMAL_ARRAY_POINTER','%GL_NORMAL_ARRAY_POINTER_EXT','%GL_NORMAL_ARRAY_STRIDE','%GL_NORMAL_ARRAY_STRIDE_EXT',
+                        '%GL_NORMAL_ARRAY_TYPE','%GL_NORMAL_ARRAY_TYPE_EXT','%GL_NOTEQUAL','%GL_NO_ERROR','%GL_OBJECT_LINEAR','%GL_OBJECT_PLANE','%GL_ONE','%GL_ONE_MINUS_CONSTANT_ALPHA_EXT',
+                        '%GL_ONE_MINUS_CONSTANT_COLOR_EXT','%GL_ONE_MINUS_DST_ALPHA','%GL_ONE_MINUS_DST_COLOR','%GL_ONE_MINUS_SRC_ALPHA','%GL_ONE_MINUS_SRC_COLOR','%GL_OR','%GL_ORDER','%GL_OR_INVERTED',
+                        '%GL_OR_REVERSE','%GL_OUT_OF_MEMORY','%GL_PACK_ALIGNMENT','%GL_PACK_LSB_FIRST','%GL_PACK_ROW_LENGTH','%GL_PACK_SKIP_PIXELS','%GL_PACK_SKIP_ROWS','%GL_PACK_SWAP_BYTES',
+                        '%GL_PASS_THROUGH_TOKEN','%GL_PERSPECTIVE_CORRECTION_HINT','%GL_PIXEL_MAP_A_TO_A','%GL_PIXEL_MAP_A_TO_A_SIZE','%GL_PIXEL_MAP_B_TO_B','%GL_PIXEL_MAP_B_TO_B_SIZE','%GL_PIXEL_MAP_G_TO_G','%GL_PIXEL_MAP_G_TO_G_SIZE',
+                        '%GL_PIXEL_MAP_I_TO_A','%GL_PIXEL_MAP_I_TO_A_SIZE','%GL_PIXEL_MAP_I_TO_B','%GL_PIXEL_MAP_I_TO_B_SIZE','%GL_PIXEL_MAP_I_TO_G','%GL_PIXEL_MAP_I_TO_G_SIZE','%GL_PIXEL_MAP_I_TO_I','%GL_PIXEL_MAP_I_TO_I_SIZE',
+                        '%GL_PIXEL_MAP_I_TO_R','%GL_PIXEL_MAP_I_TO_R_SIZE','%GL_PIXEL_MAP_R_TO_R','%GL_PIXEL_MAP_R_TO_R_SIZE','%GL_PIXEL_MAP_S_TO_S','%GL_PIXEL_MAP_S_TO_S_SIZE','%GL_PIXEL_MODE_BIT','%GL_POINT',
+                        '%GL_POINTS','%GL_POINT_BIT','%GL_POINT_SIZE','%GL_POINT_SIZE_GRANULARITY','%GL_POINT_SIZE_RANGE','%GL_POINT_SMOOTH','%GL_POINT_SMOOTH_HINT','%GL_POINT_TOKEN',
+                        '%GL_POLYGON','%GL_POLYGON_BIT','%GL_POLYGON_MODE','%GL_POLYGON_OFFSET_BIAS_EXT','%GL_POLYGON_OFFSET_EXT','%GL_POLYGON_OFFSET_FACTOR','%GL_POLYGON_OFFSET_FACTOR_EXT','%GL_POLYGON_OFFSET_FILL',
+                        '%GL_POLYGON_OFFSET_LINE','%GL_POLYGON_OFFSET_POINT','%GL_POLYGON_OFFSET_UNITS','%GL_POLYGON_SMOOTH','%GL_POLYGON_SMOOTH_HINT','%GL_POLYGON_STIPPLE','%GL_POLYGON_STIPPLE_BIT','%GL_POLYGON_TOKEN',
+                        '%GL_POSITION','%GL_POST_COLOR_MATRIX_COLOR_TABLE_EXT','%GL_POST_CONVOLUTION_ALPHA_BIAS_EXT','%GL_POST_CONVOLUTION_ALPHA_SCALE_EXT','%GL_POST_CONVOLUTION_BLUE_BIAS_EXT','%GL_POST_CONVOLUTION_BLUE_SCALE_EXT','%GL_POST_CONVOLUTION_COLOR_TABLE_EXT','%GL_POST_CONVOLUTION_GREEN_BIAS_EXT',
+                        '%GL_POST_CONVOLUTION_GREEN_SCALE_EXT','%GL_POST_CONVOLUTION_RED_BIAS_EXT','%GL_POST_CONVOLUTION_RED_SCALE_EXT','%GL_PROJECTION','%GL_PROJECTION_MATRIX','%GL_PROJECTION_STACK_DEPTH','%GL_PROXY_COLOR_TABLE_EXT','%GL_PROXY_HISTOGRAM_EXT',
+                        '%GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE_EXT','%GL_PROXY_POST_CONVOLUTION_COLOR_TABLE_EXT','%GL_PROXY_TEXTURE_1D','%GL_PROXY_TEXTURE_2D','%GL_Q','%GL_QUADRATIC_ATTENUATION','%GL_QUADS','%GL_QUAD_STRIP',
+                        '%GL_R','%GL_R3_G3_B2','%GL_READ_BUFFER','%GL_RED','%GL_REDUCE_EXT','%GL_RED_BIAS','%GL_RED_BITS','%GL_RED_SCALE',
+                        '%GL_RENDER','%GL_RENDERER','%GL_RENDER_MODE','%GL_REPEAT','%GL_REPLACE','%GL_RETURN','%GL_RGB','%GL_RGB10',
+                        '%GL_RGB10_A2','%GL_RGB12','%GL_RGB16','%GL_RGB4','%GL_RGB5','%GL_RGB5_A1','%GL_RGB8','%GL_RGBA',
+                        '%GL_RGBA12','%GL_RGBA16','%GL_RGBA2','%GL_RGBA4','%GL_RGBA8','%GL_RGBA_MODE','%GL_RIGHT','%GL_S',
+                        '%GL_SCISSOR_BIT','%GL_SCISSOR_BOX','%GL_SCISSOR_TEST','%GL_SECONDARY_COLOR_ARRAY_EXT','%GL_SECONDARY_COLOR_ARRAY_POINTER_EXT','%GL_SECONDARY_COLOR_ARRAY_SIZE_EXT','%GL_SECONDARY_COLOR_ARRAY_STRIDE_EXT','%GL_SECONDARY_COLOR_ARRAY_TYPE_EXT',
+                        '%GL_SELECT','%GL_SELECTION_BUFFER_POINTER','%GL_SELECTION_BUFFER_SIZE','%GL_SEPARABLE_2D_EXT','%GL_SEPARATE_SPECULAR_COLOR_EXT','%GL_SET','%GL_SHADE_MODEL','%GL_SHININESS',
+                        '%GL_SHORT','%GL_SINGLE_COLOR_EXT','%GL_SMOOTH','%GL_SPECULAR','%GL_SPHERE_MAP','%GL_SPOT_CUTOFF','%GL_SPOT_DIRECTION','%GL_SPOT_EXPONENT',
+                        '%GL_SRC_ALPHA','%GL_SRC_ALPHA_SATURATE','%GL_SRC_COLOR','%GL_STACK_OVERFLOW','%GL_STACK_UNDERFLOW','%GL_STENCIL','%GL_STENCIL_BITS','%GL_STENCIL_BUFFER_BIT',
+                        '%GL_STENCIL_CLEAR_VALUE','%GL_STENCIL_FAIL','%GL_STENCIL_FUNC','%GL_STENCIL_INDEX','%GL_STENCIL_PASS_DEPTH_FAIL','%GL_STENCIL_PASS_DEPTH_PASS','%GL_STENCIL_REF','%GL_STENCIL_TEST',
+                        '%GL_STENCIL_VALUE_MASK','%GL_STENCIL_WRITEMASK','%GL_STEREO','%GL_SUBPIXEL_BITS','%GL_T','%GL_T2F_C3F_V3F','%GL_T2F_C4F_N3F_V3F','%GL_T2F_C4UB_V3F',
+                        '%GL_T2F_N3F_V3F','%GL_T2F_V3F','%GL_T4F_C4F_N3F_V4F','%GL_T4F_V4F','%GL_TABLE_TOO_LARGE_EXT','%GL_TEXTURE','%GL_TEXTURE_1D','%GL_TEXTURE_2D',
+                        '%GL_TEXTURE_ALPHA_SIZE','%GL_TEXTURE_BINDING_1D','%GL_TEXTURE_BINDING_2D','%GL_TEXTURE_BIT','%GL_TEXTURE_BLUE_SIZE','%GL_TEXTURE_BORDER','%GL_TEXTURE_BORDER_COLOR','%GL_TEXTURE_COMPONENTS',
+                        '%GL_TEXTURE_COORD_ARRAY','%GL_TEXTURE_COORD_ARRAY_COUNT_EXT','%GL_TEXTURE_COORD_ARRAY_EXT','%GL_TEXTURE_COORD_ARRAY_POINTER','%GL_TEXTURE_COORD_ARRAY_POINTER_EXT','%GL_TEXTURE_COORD_ARRAY_SIZE','%GL_TEXTURE_COORD_ARRAY_SIZE_EXT','%GL_TEXTURE_COORD_ARRAY_STRIDE',
+                        '%GL_TEXTURE_COORD_ARRAY_STRIDE_EXT','%GL_TEXTURE_COORD_ARRAY_TYPE','%GL_TEXTURE_COORD_ARRAY_TYPE_EXT','%GL_TEXTURE_ENV','%GL_TEXTURE_ENV_COLOR','%GL_TEXTURE_ENV_MODE','%GL_TEXTURE_GEN_MODE','%GL_TEXTURE_GEN_Q',
+                        '%GL_TEXTURE_GEN_R','%GL_TEXTURE_GEN_S','%GL_TEXTURE_GEN_T','%GL_TEXTURE_GREEN_SIZE','%GL_TEXTURE_HEIGHT','%GL_TEXTURE_INTENSITY_SIZE','%GL_TEXTURE_INTERNAL_FORMAT','%GL_TEXTURE_LUMINANCE_SIZE',
+                        '%GL_TEXTURE_MAG_FILTER','%GL_TEXTURE_MATRIX','%GL_TEXTURE_MIN_FILTER','%GL_TEXTURE_PRIORITY','%GL_TEXTURE_RED_SIZE','%GL_TEXTURE_RESIDENT','%GL_TEXTURE_STACK_DEPTH','%GL_TEXTURE_WIDTH',
+                        '%GL_TEXTURE_WRAP_S','%GL_TEXTURE_WRAP_T','%GL_TRANSFORM_BIT','%GL_TRIANGLES','%GL_TRIANGLE_FAN','%GL_TRIANGLE_STRIP','%GL_TRUE','%GL_UNPACK_ALIGNMENT',
+                        '%GL_UNPACK_LSB_FIRST','%GL_UNPACK_ROW_LENGTH','%GL_UNPACK_SKIP_PIXELS','%GL_UNPACK_SKIP_ROWS','%GL_UNPACK_SWAP_BYTES','%GL_UNSIGNED_BYTE','%GL_UNSIGNED_BYTE_3_3_2_EXT','%GL_UNSIGNED_INT',
+                        '%GL_UNSIGNED_INT_10_10_10_2_EXT','%GL_UNSIGNED_INT_8_8_8_8_EXT','%GL_UNSIGNED_SHORT','%GL_UNSIGNED_SHORT_4_4_4_4_EXT','%GL_UNSIGNED_SHORT_5_5_5_1_EXT','%GL_V2F','%GL_V3F','%GL_VENDOR',
+                        '%GL_VERSION','%GL_VERSION_1_1','%GL_VERTEX_ARRAY','%GL_VERTEX_ARRAY_COUNT_EXT','%GL_VERTEX_ARRAY_EXT','%GL_VERTEX_ARRAY_POINTER','%GL_VERTEX_ARRAY_POINTER_EXT','%GL_VERTEX_ARRAY_SIZE',
+                        '%GL_VERTEX_ARRAY_SIZE_EXT','%GL_VERTEX_ARRAY_STRIDE','%GL_VERTEX_ARRAY_STRIDE_EXT','%GL_VERTEX_ARRAY_TYPE','%GL_VERTEX_ARRAY_TYPE_EXT','%GL_VIEWPORT','%GL_VIEWPORT_BIT','%GL_WIN_SWAP_HINT',
+                        '%GL_XOR','%GL_ZERO','%GL_ZOOM_X','%GL_ZOOM_Y','%GRAY','%GREEN','%GWLP_HINSTANCE','%GWLP_HWNDPARENT',
+                        '%GWLP_ID','%GWLP_USERDATA','%GWLP_WNDPROC','%GWL_EXSTYLE','%GWL_HINSTANCE','%GWL_HWNDPARENT','%GWL_ID','%GWL_STYLE',
+                        '%GWL_USERDATA','%GWL_WNDPROC','%HDM_FIRST','%HTCAPTION','%HWND_BOTTOM','%HWND_DESKTOP','%HWND_MESSAGE','%HWND_NOTOPMOST',
+                        '%HWND_TOP','%HWND_TOPMOST','%ICRYPTO_XOR_DECREASE','%ICRYPTO_XOR_INCREASE','%ICRYPTO_XOR_NORMAL','%IDABORT','%IDCANCEL','%IDCONTINUE',
+                        '%IDIGNORE','%IDNO','%IDOK','%IDRETRY','%IDTIMEOUT','%IDTRYAGAIN','%IDYES','%INTERNET_CONNECTION_CONFIGURED',
+                        '%INTERNET_CONNECTION_LAN','%INTERNET_CONNECTION_MODEM','%INTERNET_CONNECTION_MODEM_BUSY','%INTERNET_CONNECTION_OFFLINE','%INTERNET_CONNECTION_PROXY','%INTERNET_RAS_INSTALLED','%LBN_DBLCLK','%LBN_KILLFOCUS',
+                        '%LBN_SELCANCEL','%LBN_SELCHANGE','%LBN_SETFOCUS','%LBS_DISABLENOSCROLL','%LBS_EXTENDEDSEL','%LBS_MULTICOLUMN','%LBS_MULTIPLESEL','%LBS_NOINTEGRALHEIGHT',
+                        '%LBS_NOSEL','%LBS_NOTIFY','%LBS_SORT','%LBS_STANDARD','%LBS_USETABSTOPS','%LB_ADDFILE','%LB_ADDSTRING','%LB_DELETESTRING',
+                        '%LB_DIR','%LB_FINDSTRING','%LB_FINDSTRINGEXACT','%LB_GETANCHORINDEX','%LB_GETCARETINDEX','%LB_GETCOUNT','%LB_GETCURSEL','%LB_GETHORIZONTALEXTENT',
+                        '%LB_GETITEMDATA','%LB_GETITEMHEIGHT','%LB_GETITEMRECT','%LB_GETLISTBOXINFO','%LB_GETLOCALE','%LB_GETSEL','%LB_GETSELCOUNT','%LB_GETSELITEMS',
+                        '%LB_GETTEXT','%LB_GETTEXTLEN','%LB_GETTOPINDEX','%LB_INITSTORAGE','%LB_INSERTSTRING','%LB_ITEMFROMPOINT','%LB_MULTIPLEADDSTRING','%LB_RESETCONTENT',
+                        '%LB_SELECTSTRING','%LB_SELITEMRANGE','%LB_SELITEMRANGEEX','%LB_SETANCHORINDEX','%LB_SETCARETINDEX','%LB_SETCOLUMNWIDTH','%LB_SETCOUNT','%LB_SETCURSEL',
+                        '%LB_SETHORIZONTALEXTENT','%LB_SETITEMDATA','%LB_SETITEMHEIGHT','%LB_SETLOCALE','%LB_SETSEL','%LB_SETTABSTOPS','%LB_SETTOPINDEX','%LF_FACESIZE',
+                        '%LTGRAY','%LVM_FIRST','%LWA_ALPHA','%LWA_COLORKEY','%MAGENTA','%MAXBYTE','%MAXCHAR','%MAXDWORD',
+                        '%MAXSHORT','%MAXWORD','%MAX_PATH','%MB_ABORTRETRYIGNORE','%MB_APPLMODAL','%MB_CANCELTRYCONTINUE','%MB_DEFBUTTON1','%MB_DEFBUTTON2',
+                        '%MB_DEFBUTTON3','%MB_HELP','%MB_ICONASTERISK','%MB_ICONERROR','%MB_ICONEXCLAMATION','%MB_ICONHAND','%MB_ICONINFORMATION','%MB_ICONQUESTION',
+                        '%MB_ICONSTOP','%MB_ICONWARNING','%MB_OK','%MB_OKCANCEL','%MB_RETRYCANCEL','%MB_SIMPLE','%MB_SYSTEMMODAL','%MB_TOPMOST',
+                        '%MB_YESNO','%MB_YESNOCANCEL','%MF_CHECKED','%MF_DISABLED','%MF_ENABLED','%MF_GRAYED','%MF_SEPARATOR','%MF_UNCHECKED',
+                        '%MINCHAR','%MINLONG','%MINSHORT','%NULL','%ODBC352_INC','%ODBCVER','%ODBC_ADD_DSN','%ODBC_ADD_SYS_DSN',
+                        '%ODBC_BOTH_DSN','%ODBC_CONFIG_DRIVER','%ODBC_CONFIG_DRIVER_MAX','%ODBC_CONFIG_DSN','%ODBC_CONFIG_SYS_DSN','%ODBC_DRIVER_VERSION','%ODBC_ERROR_COMPONENT_NOT_FOUND','%ODBC_ERROR_CREATE_DSN_FAILED',
+                        '%ODBC_ERROR_GENERAL_ERR','%ODBC_ERROR_INVALID_BUFF_LEN','%ODBC_ERROR_INVALID_DSN','%ODBC_ERROR_INVALID_HWND','%ODBC_ERROR_INVALID_INF','%ODBC_ERROR_INVALID_KEYWORD_VALUE','%ODBC_ERROR_INVALID_LOG_FILE','%ODBC_ERROR_INVALID_NAME',
+                        '%ODBC_ERROR_INVALID_PARAM_SEQUENCE','%ODBC_ERROR_INVALID_PATH','%ODBC_ERROR_INVALID_REQUEST_TYPE','%ODBC_ERROR_INVALID_STR','%ODBC_ERROR_LOAD_LIB_FAILED','%ODBC_ERROR_OUTPUT_STRING_TRUNCATED','%ODBC_ERROR_OUT_OF_MEM','%ODBC_ERROR_REMOVE_DSN_FAILED',
+                        '%ODBC_ERROR_REQUEST_FAILED','%ODBC_ERROR_USAGE_UPDATE_FAILED','%ODBC_ERROR_USER_CANCELED','%ODBC_ERROR_WRITING_SYSINFO_FAILED','%ODBC_INSTALL_COMPLETE','%ODBC_INSTALL_DRIVER','%ODBC_INSTALL_INQUIRY','%ODBC_REMOVE_DEFAULT_DSN',
+                        '%ODBC_REMOVE_DRIVER','%ODBC_REMOVE_DSN','%ODBC_REMOVE_SYS_DSN','%ODBC_SYSTEM_DSN','%ODBC_USER_DSN','%OFN_ALLOWMULTISELECT','%OFN_CREATEPROMPT','%OFN_ENABLEHOOK',
+                        '%OFN_ENABLEINCLUDENOTIFY','%OFN_ENABLESIZING','%OFN_ENABLETEMPLATE','%OFN_ENABLETEMPLATEHANDLE','%OFN_EXPLORER','%OFN_EXTENSIONDIFFERENT','%OFN_FILEMUSTEXIST','%OFN_HIDEREADONLY',
+                        '%OFN_LONGNAMES','%OFN_NOCHANGEDIR','%OFN_NODEREFERENCELINKS','%OFN_NOLONGNAMES','%OFN_NONETWORKBUTTON','%OFN_NOREADONLYRETURN','%OFN_NOTESTFILECREATE','%OFN_NOVALIDATE',
+                        '%OFN_OVERWRITEPROMPT','%OFN_PATHMUSTEXIST','%OFN_READONLY','%OFN_SHAREAWARE','%OFN_SHOWHELP','%OS_ERROR_CALLFUNCTION','%OS_ERROR_EMPTYSTRING','%OS_ERROR_LOADLIBRARY',
+                        '%OS_ERROR_SUCCESS','%OS_ERROR_WRONGPARAMETER','%OS_SHELL_ASYNC','%OS_SHELL_SYNC','%OS_WINDOWS_2K','%OS_WINDOWS_95','%OS_WINDOWS_95_OSR2','%OS_WINDOWS_98',
+                        '%OS_WINDOWS_98_SE','%OS_WINDOWS_ME','%OS_WINDOWS_NT','%OS_WINDOWS_SERVER_2003','%OS_WINDOWS_SERVER_LONGHORN','%OS_WINDOWS_SERVER_LONGHORN_DC','%OS_WINDOWS_VISTA','%OS_WINDOWS_XP',
+                        '%OS_WNDSTYLE_HIDE','%OS_WNDSTYLE_MAXIMIZED','%OS_WNDSTYLE_MINIMIZED','%OS_WNDSTYLE_MINIMIZEDNOFOCUS','%OS_WNDSTYLE_NORMAL','%OS_WNDSTYLE_NORMALNOFOCUS','%PATH_EXT','%PATH_FILE',
+                        '%PATH_FILEEXT','%PATH_ROOT','%PATH_ROOTPATH','%PATH_ROOTPATHPROG','%PATH_ROOTPATHPROGEXT','%PBM_DELTAPOS','%PBM_GETPOS','%PBM_GETRANGE',
+                        '%PBM_SETBARCOLOR','%PBM_SETBKCOLOR','%PBM_SETPOS','%PBM_SETRANGE','%PBM_SETRANGE32','%PBM_SETSTEP','%PBM_STEPIT','%PBS_SMOOTH',
+                        '%PBS_VERTICAL','%PC_DISABLEWAKEEVENT_OFF','%PC_DISABLEWAKEEVENT_ON','%PC_EB_NOCONFIRMATION','%PC_EB_NOPROGRESSUI','%PC_EB_NORMAL','%PC_EB_NOSOUND','%PC_FORCECRITICAL_OFF',
+                        '%PC_FORCECRITICAL_ON','%PC_HIBERNATE_OFF','%PC_HIBERNATE_ON','%PC_RD_FORCE','%PC_RD_FORCEIFHUNG','%PC_RD_LOGOFF','%PC_RD_POWEROFF','%PC_RD_REBOOT',
+                        '%PC_RD_SHUTDOWN','%PC_SD_DONOT_FORCE','%PC_SD_DONOT_REBOOT','%PC_SD_FORCE','%PC_SD_REBOOT','%PFA_CENTER','%PFA_LEFT','%PFA_RIGHT',
+                        '%PF_3DNOW_INSTRUCTIONS_AVAILABLE','%PF_CHANNELS_ENABLED','%PF_COMPARE64_EXCHANGE128','%PF_COMPARE_EXCHANGE128','%PF_COMPARE_EXCHANGE_DOUBLE','%PF_FLOATING_POINT_EMULATED','%PF_FLOATING_POINT_PRECISION_ERRATA','%PF_MMX_INSTRUCTIONS_AVAILABLE',
+                        '%PF_NX_ENABLED','%PF_PAE_ENABLED','%PF_RDTSC_INSTRUCTION_AVAILABLE','%PF_SSE3_INSTRUCTIONS_AVAILABLE','%PF_XMMI64_INSTRUCTIONS_AVAILABLE','%PF_XMMI_INSTRUCTIONS_AVAILABLE','%PGM_FIRST','%RED',
+                        '%RTF_UBB','%SAPI_SVSFDEFAULT','%SAPI_SVSFISFILENAME','%SAPI_SVSFISNOTXML','%SAPI_SVSFISXML','%SAPI_SVSFLAGSASYNC','%SAPI_SVSFNLPMASK','%SAPI_SVSFNLPSPEAKPUNC',
+                        '%SAPI_SVSFPERSISTXML','%SAPI_SVSFPURGEBEFORESPEAK','%SAPI_SVSFUNUSEDFLAGS','%SAPI_SVSFVOICEMASK','%SBS_SIZEGRIP','%SB_BOTTOM','%SB_ENDSCROLL','%SB_LEFT',
+                        '%SB_LINEDOWN','%SB_LINELEFT','%SB_LINERIGHT','%SB_LINEUP','%SB_PAGEDOWN','%SB_PAGELEFT','%SB_PAGERIGHT','%SB_PAGEUP',
+                        '%SB_RIGHT','%SB_SETPARTS','%SB_SETTEXT','%SB_THUMBPOSITION','%SB_THUMBTRACK','%SB_TOP','%SCF_ALL','%SCF_ASSOCIATEFONT',
+                        '%SCF_DEFAULT','%SCF_NOKBUPDATE','%SCF_SELECTION','%SCF_USEUIRULES','%SCF_WORD','%SC_CLOSE','%SC_CONTEXTHELP','%SC_HOTKEY',
+                        '%SC_HSCROLL','%SC_KEYMENU','%SC_MAXIMIZE','%SC_MINIMIZE','%SC_MONITORPOWER','%SC_MOUSEMENU','%SC_MOVE','%SC_NEXTWINDOW',
+                        '%SC_PREVWINDOW','%SC_RESTORE','%SC_SCREENSAVE','%SC_SIZE','%SC_TASKLIST','%SC_VSCROLL','%SERVICE_ACTIVE','%SERVICE_AUTO_START',
+                        '%SERVICE_BOOT_START','%SERVICE_CONTINUE_PENDING','%SERVICE_DEMAND_START','%SERVICE_DISABLED','%SERVICE_DRIVER','%SERVICE_INACTIVE','%SERVICE_INFO_DISPLAY_NAME','%SERVICE_INFO_NAME',
+                        '%SERVICE_PAUSED','%SERVICE_PAUSE_PENDING','%SERVICE_RUNNING','%SERVICE_START_PENDING','%SERVICE_STATE_ALL','%SERVICE_STOPPED','%SERVICE_STOP_PENDING','%SERVICE_SYSTEM_START',
+                        '%SERVICE_TYPE_ALL','%SERVICE_WIN32','%SES_ALLOWBEEPS','%SES_BEEPONMAXTEXT','%SES_BIDI','%SES_EMULATE10','%SES_EMULATESYSEDIT','%SES_EXTENDBACKCOLOR',
+                        '%SES_LOWERCASE','%SES_MAPCPS','%SES_NOIME','%SES_NOINPUTSEQUENCECHK','%SES_SCROLLONKILLFOCUS','%SES_UPPERCASE','%SES_USEAIMM','%SES_USECRLF',
+                        '%SES_XLTCRCRLFTOCR','%SF_RTF','%SF_TEXT','%SMTP_SET_ATTACH_CONTENT_TYPE','%SMTP_SET_CONTENT_TYPE_PREFIX','%SQL_AA_FALSE','%SQL_AA_TRUE','%SQL_ACCESSIBLE_PROCEDURES',
+                        '%SQL_ACCESSIBLE_TABLES','%SQL_ACCESS_MODE','%SQL_ACTIVE_CONNECTIONS','%SQL_ACTIVE_ENVIRONMENTS','%SQL_ACTIVE_STATEMENTS','%SQL_ADD','%SQL_AD_ADD_CONSTRAINT_DEFERRABLE','%SQL_AD_ADD_CONSTRAINT_INITIALLY_DEFERRED',
+                        '%SQL_AD_ADD_CONSTRAINT_INITIALLY_IMMEDIATE','%SQL_AD_ADD_CONSTRAINT_NON_DEFERRABLE','%SQL_AD_ADD_DOMAIN_CONSTRAINT','%SQL_AD_ADD_DOMAIN_DEFAULT','%SQL_AD_CONSTRAINT_NAME_DEFINITION','%SQL_AD_DROP_DOMAIN_CONSTRAINT','%SQL_AD_DROP_DOMAIN_DEFAULT','%SQL_AF_ALL',
+                        '%SQL_AF_AVG','%SQL_AF_COUNT','%SQL_AF_DISTINCT','%SQL_AF_MAX','%SQL_AF_MIN','%SQL_AF_SUM','%SQL_AGGREGATE_FUNCTIONS','%SQL_ALL_EXCEPT_LIKE',
+                        '%SQL_ALL_TYPES','%SQL_ALTER_DOMAIN','%SQL_ALTER_TABLE','%SQL_AM_CONNECTION','%SQL_AM_NONE','%SQL_AM_STATEMENT','%SQL_API_ALL_FUNCTIONS','%SQL_API_LOADBYORDINAL',
+                        '%SQL_API_ODBC3_ALL_FUNCTIONS','%SQL_API_ODBC3_ALL_FUNCTIONS_SIZE','%SQL_API_SQLALLOCCONNECT','%SQL_API_SQLALLOCENV','%SQL_API_SQLALLOCHANDLE','%SQL_API_SQLALLOCHANDLESTD','%SQL_API_SQLALLOCSTMT','%SQL_API_SQLBINDCOL',
+                        '%SQL_API_SQLBINDPARAM','%SQL_API_SQLBINDPARAMETER','%SQL_API_SQLBROWSECONNECT','%SQL_API_SQLBULKOPERATIONS','%SQL_API_SQLCANCEL','%SQL_API_SQLCLOSECURSOR','%SQL_API_SQLCOLATTRIBUTE','%SQL_API_SQLCOLATTRIBUTES',
+                        '%SQL_API_SQLCOLUMNPRIVILEGES','%SQL_API_SQLCOLUMNS','%SQL_API_SQLCONNECT','%SQL_API_SQLCOPYDESC','%SQL_API_SQLDATASOURCES','%SQL_API_SQLDESCRIBECOL','%SQL_API_SQLDESCRIBEPARAM','%SQL_API_SQLDISCONNECT',
+                        '%SQL_API_SQLDRIVERCONNECT','%SQL_API_SQLDRIVERS','%SQL_API_SQLENDTRAN','%SQL_API_SQLERROR','%SQL_API_SQLEXECDIRECT','%SQL_API_SQLEXECUTE','%SQL_API_SQLEXTENDEDFETCH','%SQL_API_SQLFETCH',
+                        '%SQL_API_SQLFETCHSCROLL','%SQL_API_SQLFOREIGNKEYS','%SQL_API_SQLFREECONNECT','%SQL_API_SQLFREEENV','%SQL_API_SQLFREEHANDLE','%SQL_API_SQLFREESTMT','%SQL_API_SQLGETCONNECTATTR','%SQL_API_SQLGETCONNECTOPTION',
+                        '%SQL_API_SQLGETCURSORNAME','%SQL_API_SQLGETDATA','%SQL_API_SQLGETDESCFIELD','%SQL_API_SQLGETDESCREC','%SQL_API_SQLGETDIAGFIELD','%SQL_API_SQLGETDIAGREC','%SQL_API_SQLGETENVATTR','%SQL_API_SQLGETFUNCTIONS',
+                        '%SQL_API_SQLGETINFO','%SQL_API_SQLGETSTMTATTR','%SQL_API_SQLGETSTMTOPTION','%SQL_API_SQLGETTYPEINFO','%SQL_API_SQLMORERESULTS','%SQL_API_SQLNATIVESQL','%SQL_API_SQLNUMPARAMS','%SQL_API_SQLNUMRESULTCOLS',
+                        '%SQL_API_SQLPARAMDATA','%SQL_API_SQLPARAMOPTIONS','%SQL_API_SQLPREPARE','%SQL_API_SQLPRIMARYKEYS','%SQL_API_SQLPROCEDURECOLUMNS','%SQL_API_SQLPROCEDURES','%SQL_API_SQLPUTDATA','%SQL_API_SQLROWCOUNT',
+                        '%SQL_API_SQLSETCONNECTATTR','%SQL_API_SQLSETCONNECTOPTION','%SQL_API_SQLSETCURSORNAME','%SQL_API_SQLSETDESCFIELD','%SQL_API_SQLSETDESCREC','%SQL_API_SQLSETENVATTR','%SQL_API_SQLSETPARAM','%SQL_API_SQLSETPOS',
+                        '%SQL_API_SQLSETSCROLLOPTIONS','%SQL_API_SQLSETSTMTATTR','%SQL_API_SQLSETSTMTOPTION','%SQL_API_SQLSPECIALCOLUMNS','%SQL_API_SQLSTATISTICS','%SQL_API_SQLTABLEPRIVILEGES','%SQL_API_SQLTABLES','%SQL_API_SQLTRANSACT',
+                        '%SQL_ARD_TYPE','%SQL_ASYNC_ENABLE','%SQL_ASYNC_ENABLE_DEFAULT','%SQL_ASYNC_ENABLE_OFF','%SQL_ASYNC_ENABLE_ON','%SQL_ASYNC_MODE','%SQL_ATTR_ACCESS_MODE','%SQL_ATTR_ANSI_APP',
+                        '%SQL_ATTR_APP_PARAM_DESC','%SQL_ATTR_APP_ROW_DESC','%SQL_ATTR_ASYNC_ENABLE','%SQL_ATTR_AUTOCOMMIT','%SQL_ATTR_AUTO_IPD','%SQL_ATTR_CONCURRENCY','%SQL_ATTR_CONNECTION_DEAD','%SQL_ATTR_CONNECTION_POOLING',
+                        '%SQL_ATTR_CONNECTION_TIMEOUT','%SQL_ATTR_CP_MATCH','%SQL_ATTR_CURRENT_CATALOG','%SQL_ATTR_CURSOR_SCROLLABLE','%SQL_ATTR_CURSOR_SENSITIVITY','%SQL_ATTR_CURSOR_TYPE','%SQL_ATTR_DISCONNECT_BEHAVIOR','%SQL_ATTR_ENABLE_AUTO_IPD',
+                        '%SQL_ATTR_ENLIST_IN_DTC','%SQL_ATTR_ENLIST_IN_XA','%SQL_ATTR_FETCH_BOOKMARK_PTR','%SQL_ATTR_IMP_PARAM_DESC','%SQL_ATTR_IMP_ROW_DESC','%SQL_ATTR_KEYSET_SIZE','%SQL_ATTR_LOGIN_TIMEOUT','%SQL_ATTR_MAX_LENGTH',
+                        '%SQL_ATTR_MAX_ROWS','%SQL_ATTR_METADATA_ID','%SQL_ATTR_NOSCAN','%SQL_ATTR_ODBC_CURSORS','%SQL_ATTR_ODBC_VERSION','%SQL_ATTR_OUTPUT_NTS','%SQL_ATTR_PACKET_SIZE','%SQL_ATTR_PARAMSET_SIZE',
+                        '%SQL_ATTR_PARAMS_PROCESSED_PTR','%SQL_ATTR_PARAM_BIND_OFFSET_PTR','%SQL_ATTR_PARAM_BIND_TYPE','%SQL_ATTR_PARAM_OPERATION_PTR','%SQL_ATTR_PARAM_STATUS_PTR','%SQL_ATTR_QUERY_TIMEOUT','%SQL_ATTR_QUIET_MODE','%SQL_ATTR_READONLY',
+                        '%SQL_ATTR_READWRITE_UNKNOWN','%SQL_ATTR_RETRIEVE_DATA','%SQL_ATTR_ROWS_FETCHED_PTR','%SQL_ATTR_ROW_ARRAY_SIZE','%SQL_ATTR_ROW_BIND_OFFSET_PTR','%SQL_ATTR_ROW_BIND_TYPE','%SQL_ATTR_ROW_NUMBER','%SQL_ATTR_ROW_OPERATION_PTR',
+                        '%SQL_ATTR_ROW_STATUS_PTR','%SQL_ATTR_SIMULATE_CURSOR','%SQL_ATTR_TRACE','%SQL_ATTR_TRACEFILE','%SQL_ATTR_TRANSLATE_LIB','%SQL_ATTR_TRANSLATE_OPTION','%SQL_ATTR_TXN_ISOLATION','%SQL_ATTR_USE_BOOKMARKS',
+                        '%SQL_ATTR_WRITE','%SQL_AT_ADD_COLUMN','%SQL_AT_ADD_COLUMN_COLLATION','%SQL_AT_ADD_COLUMN_DEFAULT','%SQL_AT_ADD_COLUMN_SINGLE','%SQL_AT_ADD_CONSTRAINT','%SQL_AT_ADD_TABLE_CONSTRAINT','%SQL_AT_CONSTRAINT_DEFERRABLE',
+                        '%SQL_AT_CONSTRAINT_INITIALLY_DEFERRED','%SQL_AT_CONSTRAINT_INITIALLY_IMMEDIATE','%SQL_AT_CONSTRAINT_NAME_DEFINITION','%SQL_AT_CONSTRAINT_NON_DEFERRABLE','%SQL_AT_DROP_COLUMN','%SQL_AT_DROP_COLUMN_CASCADE','%SQL_AT_DROP_COLUMN_DEFAULT','%SQL_AT_DROP_COLUMN_RESTRICT',
+                        '%SQL_AT_DROP_TABLE_CONSTRAINT_CASCADE','%SQL_AT_DROP_TABLE_CONSTRAINT_RESTRICT','%SQL_AT_SET_COLUMN_DEFAULT','%SQL_AUTOCOMMIT','%SQL_AUTOCOMMIT_DEFAULT','%SQL_AUTOCOMMIT_OFF','%SQL_AUTOCOMMIT_ON','%SQL_BATCH_ROW_COUNT',
+                        '%SQL_BATCH_SUPPORT','%SQL_BEST_ROWID','%SQL_BIGINT','%SQL_BINARY','%SQL_BIND_BY_COLUMN','%SQL_BIND_TYPE','%SQL_BIND_TYPE_DEFAULT','%SQL_BIT',
+                        '%SQL_BOOKMARK_PERSISTENCE','%SQL_BP_CLOSE','%SQL_BP_DELETE','%SQL_BP_DROP','%SQL_BP_OTHER_HSTMT','%SQL_BP_SCROLL','%SQL_BP_TRANSACTION','%SQL_BP_UPDATE',
+                        '%SQL_BRC_EXPLICIT','%SQL_BRC_PROCEDURES','%SQL_BRC_ROLLED_UP','%SQL_BS_ROW_COUNT_EXPLICIT','%SQL_BS_ROW_COUNT_PROC','%SQL_BS_SELECT_EXPLICIT','%SQL_BS_SELECT_PROC','%SQL_CA1_ABSOLUTE',
+                        '%SQL_CA1_BOOKMARK','%SQL_CA1_BULK_ADD','%SQL_CA1_BULK_DELETE_BY_BOOKMARK','%SQL_CA1_BULK_FETCH_BY_BOOKMARK','%SQL_CA1_BULK_UPDATE_BY_BOOKMARK','%SQL_CA1_LOCK_EXCLUSIVE','%SQL_CA1_LOCK_NO_CHANGE','%SQL_CA1_LOCK_UNLOCK',
+                        '%SQL_CA1_NEXT','%SQL_CA1_POSITIONED_DELETE','%SQL_CA1_POSITIONED_UPDATE','%SQL_CA1_POS_DELETE','%SQL_CA1_POS_POSITION','%SQL_CA1_POS_REFRESH','%SQL_CA1_POS_UPDATE','%SQL_CA1_RELATIVE',
+                        '%SQL_CA1_SELECT_FOR_UPDATE','%SQL_CA2_CRC_APPROXIMATE','%SQL_CA2_CRC_EXACT','%SQL_CA2_LOCK_CONCURRENCY','%SQL_CA2_MAX_ROWS_AFFECTS_ALL','%SQL_CA2_MAX_ROWS_CATALOG','%SQL_CA2_MAX_ROWS_DELETE','%SQL_CA2_MAX_ROWS_INSERT',
+                        '%SQL_CA2_MAX_ROWS_SELECT','%SQL_CA2_MAX_ROWS_UPDATE','%SQL_CA2_OPT_ROWVER_CONCURRENCY','%SQL_CA2_OPT_VALUES_CONCURRENCY','%SQL_CA2_READ_ONLY_CONCURRENCY','%SQL_CA2_SENSITIVITY_ADDITIONS','%SQL_CA2_SENSITIVITY_DELETIONS','%SQL_CA2_SENSITIVITY_UPDATES',
+                        '%SQL_CA2_SIMULATE_NON_UNIQUE','%SQL_CA2_SIMULATE_TRY_UNIQUE','%SQL_CA2_SIMULATE_UNIQUE','%SQL_CASCADE','%SQL_CATALOG_LOCATION','%SQL_CATALOG_NAME','%SQL_CATALOG_NAME_SEPARATOR','%SQL_CATALOG_TERM',
+                        '%SQL_CATALOG_USAGE','%SQL_CA_CONSTRAINT_DEFERRABLE','%SQL_CA_CONSTRAINT_INITIALLY_DEFERRED','%SQL_CA_CONSTRAINT_INITIALLY_IMMEDIATE','%SQL_CA_CONSTRAINT_NON_DEFERRABLE','%SQL_CA_CREATE_ASSERTION','%SQL_CB_CLOSE','%SQL_CB_DELETE',
+                        '%SQL_CB_NON_NULL','%SQL_CB_NULL','%SQL_CB_PRESERVE','%SQL_CCOL_CREATE_COLLATION','%SQL_CCS_COLLATE_CLAUSE','%SQL_CCS_CREATE_CHARACTER_SET','%SQL_CCS_LIMITED_COLLATION','%SQL_CC_CLOSE',
+                        '%SQL_CC_DELETE','%SQL_CC_PRESERVE','%SQL_CDO_COLLATION','%SQL_CDO_CONSTRAINT','%SQL_CDO_CONSTRAINT_DEFERRABLE','%SQL_CDO_CONSTRAINT_INITIALLY_DEFERRED','%SQL_CDO_CONSTRAINT_INITIALLY_IMMEDIATE','%SQL_CDO_CONSTRAINT_NAME_DEFINITION',
+                        '%SQL_CDO_CONSTRAINT_NON_DEFERRABLE','%SQL_CDO_CREATE_DOMAIN','%SQL_CDO_DEFAULT','%SQL_CD_FALSE','%SQL_CD_TRUE','%SQL_CHAR','%SQL_CLOSE','%SQL_CL_END',
+                        '%SQL_CL_START','%SQL_CN_ANY','%SQL_CN_DIFFERENT','%SQL_CN_NONE','%SQL_CODE_DATE','%SQL_CODE_DAY','%SQL_CODE_DAY_TO_HOUR','%SQL_CODE_DAY_TO_MINUTE',
+                        '%SQL_CODE_DAY_TO_SECOND','%SQL_CODE_HOUR','%SQL_CODE_HOUR_TO_MINUTE','%SQL_CODE_HOUR_TO_SECOND','%SQL_CODE_MINUTE','%SQL_CODE_MINUTE_TO_SECOND','%SQL_CODE_MONTH','%SQL_CODE_SECOND',
+                        '%SQL_CODE_TIME','%SQL_CODE_TIMESTAMP','%SQL_CODE_YEAR','%SQL_CODE_YEAR_TO_MONTH','%SQL_COLATT_OPT_MAX','%SQL_COLATT_OPT_MIN','%SQL_COLLATION_SEQ','%SQL_COLUMN_ALIAS',
+                        '%SQL_COLUMN_AUTO_INCREMENT','%SQL_COLUMN_CASE_SENSITIVE','%SQL_COLUMN_COUNT','%SQL_COLUMN_DISPLAY_SIZE','%SQL_COLUMN_IGNORE','%SQL_COLUMN_LABEL','%SQL_COLUMN_LENGTH','%SQL_COLUMN_MONEY',
+                        '%SQL_COLUMN_NAME','%SQL_COLUMN_NULLABLE','%SQL_COLUMN_NUMBER_UNKNOWN','%SQL_COLUMN_OWNER_NAME','%SQL_COLUMN_PRECISION','%SQL_COLUMN_QUALIFIER_NAME','%SQL_COLUMN_SCALE','%SQL_COLUMN_SEARCHABLE',
+                        '%SQL_COLUMN_TABLE_NAME','%SQL_COLUMN_TYPE','%SQL_COLUMN_TYPE_NAME','%SQL_COLUMN_UNSIGNED','%SQL_COLUMN_UPDATABLE','%SQL_COL_PRED_BASIC','%SQL_COL_PRED_CHAR','%SQL_COMMIT',
+                        '%SQL_CONCAT_NULL_BEHAVIOR','%SQL_CONCURRENCY','%SQL_CONCUR_DEFAULT','%SQL_CONCUR_LOCK','%SQL_CONCUR_READ_ONLY','%SQL_CONCUR_ROWVER','%SQL_CONCUR_TIMESTAMP','%SQL_CONCUR_VALUES',
+                        '%SQL_CONVERT_BIGINT','%SQL_CONVERT_BINARY','%SQL_CONVERT_BIT','%SQL_CONVERT_CHAR','%SQL_CONVERT_DATE','%SQL_CONVERT_DECIMAL','%SQL_CONVERT_DOUBLE','%SQL_CONVERT_FLOAT',
+                        '%SQL_CONVERT_FUNCTIONS','%SQL_CONVERT_GUID','%SQL_CONVERT_INTEGER','%SQL_CONVERT_INTERVAL_DAY_TIME','%SQL_CONVERT_INTERVAL_YEAR_MONTH','%SQL_CONVERT_LONGVARBINARY','%SQL_CONVERT_LONGVARCHAR','%SQL_CONVERT_NUMERIC',
+                        '%SQL_CONVERT_REAL','%SQL_CONVERT_SMALLINT','%SQL_CONVERT_TIME','%SQL_CONVERT_TIMESTAMP','%SQL_CONVERT_TINYINT','%SQL_CONVERT_VARBINARY','%SQL_CONVERT_VARCHAR','%SQL_CONVERT_WCHAR',
+                        '%SQL_CONVERT_WLONGVARCHAR','%SQL_CONVERT_WVARCHAR','%SQL_CORRELATION_NAME','%SQL_CP_DEFAULT','%SQL_CP_MATCH_DEFAULT','%SQL_CP_OFF','%SQL_CP_ONE_PER_DRIVER','%SQL_CP_ONE_PER_HENV',
+                        '%SQL_CP_RELAXED_MATCH','%SQL_CP_STRICT_MATCH','%SQL_CREATE_ASSERTION','%SQL_CREATE_CHARACTER_SET','%SQL_CREATE_COLLATION','%SQL_CREATE_DOMAIN','%SQL_CREATE_SCHEMA','%SQL_CREATE_TABLE',
+                        '%SQL_CREATE_TRANSLATION','%SQL_CREATE_VIEW','%SQL_CR_CLOSE','%SQL_CR_DELETE','%SQL_CR_PRESERVE','%SQL_CS_AUTHORIZATION','%SQL_CS_CREATE_SCHEMA','%SQL_CS_DEFAULT_CHARACTER_SET',
+                        '%SQL_CTR_CREATE_TRANSLATION','%SQL_CT_COLUMN_COLLATION','%SQL_CT_COLUMN_CONSTRAINT','%SQL_CT_COLUMN_DEFAULT','%SQL_CT_COMMIT_DELETE','%SQL_CT_COMMIT_PRESERVE','%SQL_CT_CONSTRAINT_DEFERRABLE','%SQL_CT_CONSTRAINT_INITIALLY_DEFERRED',
+                        '%SQL_CT_CONSTRAINT_INITIALLY_IMMEDIATE','%SQL_CT_CONSTRAINT_NAME_DEFINITION','%SQL_CT_CONSTRAINT_NON_DEFERRABLE','%SQL_CT_CREATE_TABLE','%SQL_CT_GLOBAL_TEMPORARY','%SQL_CT_LOCAL_TEMPORARY','%SQL_CT_TABLE_CONSTRAINT','%SQL_CURRENT_QUALIFIER',
+                        '%SQL_CURSOR_COMMIT_BEHAVIOR','%SQL_CURSOR_DYNAMIC','%SQL_CURSOR_FORWARD_ONLY','%SQL_CURSOR_KEYSET_DRIVEN','%SQL_CURSOR_ROLLBACK_BEHAVIOR','%SQL_CURSOR_SENSITIVITY','%SQL_CURSOR_STATIC','%SQL_CURSOR_TYPE',
+                        '%SQL_CURSOR_TYPE_DEFAULT','%SQL_CUR_DEFAULT','%SQL_CUR_USE_DRIVER','%SQL_CUR_USE_IF_NEEDED','%SQL_CUR_USE_ODBC','%SQL_CU_DML_STATEMENTS','%SQL_CU_INDEX_DEFINITION','%SQL_CU_PRIVILEGE_DEFINITION',
+                        '%SQL_CU_PROCEDURE_INVOCATION','%SQL_CU_TABLE_DEFINITION','%SQL_CVT_BIGINT','%SQL_CVT_BINARY','%SQL_CVT_BIT','%SQL_CVT_CHAR','%SQL_CVT_DATE','%SQL_CVT_DECIMAL',
+                        '%SQL_CVT_DOUBLE','%SQL_CVT_FLOAT','%SQL_CVT_GUID','%SQL_CVT_INTEGER','%SQL_CVT_INTERVAL_DAY_TIME','%SQL_CVT_INTERVAL_YEAR_MONTH','%SQL_CVT_LONGVARBINARY','%SQL_CVT_LONGVARCHAR',
+                        '%SQL_CVT_NUMERIC','%SQL_CVT_REAL','%SQL_CVT_SMALLINT','%SQL_CVT_TIME','%SQL_CVT_TIMESTAMP','%SQL_CVT_TINYINT','%SQL_CVT_VARBINARY','%SQL_CVT_VARCHAR',
+                        '%SQL_CVT_WCHAR','%SQL_CVT_WLONGVARCHAR','%SQL_CVT_WVARCHAR','%SQL_CV_CASCADED','%SQL_CV_CHECK_OPTION','%SQL_CV_CREATE_VIEW','%SQL_CV_LOCAL','%SQL_C_BINARY',
+                        '%SQL_C_BIT','%SQL_C_BOOKMARK','%SQL_C_CHAR','%SQL_C_DATE','%SQL_C_DEFAULT','%SQL_C_DOUBLE','%SQL_C_FLOAT','%SQL_C_GUID',
+                        '%SQL_C_INTERVAL_DAY','%SQL_C_INTERVAL_DAY_TO_HOUR','%SQL_C_INTERVAL_DAY_TO_MINUTE','%SQL_C_INTERVAL_DAY_TO_SECOND','%SQL_C_INTERVAL_HOUR','%SQL_C_INTERVAL_HOUR_TO_MINUTE','%SQL_C_INTERVAL_HOUR_TO_SECOND','%SQL_C_INTERVAL_MINUTE',
+                        '%SQL_C_INTERVAL_MINUTE_TO_SECOND','%SQL_C_INTERVAL_MONTH','%SQL_C_INTERVAL_SECOND','%SQL_C_INTERVAL_YEAR','%SQL_C_INTERVAL_YEAR_TO_MONTH','%SQL_C_LONG','%SQL_C_NUMERIC','%SQL_C_SBIGINT',
+                        '%SQL_C_SHORT','%SQL_C_SLONG','%SQL_C_SSHORT','%SQL_C_STINYINT','%SQL_C_TIME','%SQL_C_TIMESTAMP','%SQL_C_TINYINT','%SQL_C_TYPE_DATE',
+                        '%SQL_C_TYPE_TIME','%SQL_C_TYPE_TIMESTAMP','%SQL_C_UBIGINT','%SQL_C_ULONG','%SQL_C_USHORT','%SQL_C_UTINYINT','%SQL_C_VARBOOKMARK','%SQL_DATABASE_NAME',
+                        '%SQL_DATA_AT_EXEC','%SQL_DATA_SOURCE_NAME','%SQL_DATA_SOURCE_READ_ONLY','%SQL_DATE','%SQL_DATETIME','%SQL_DATETIME_LITERALS','%SQL_DATE_LEN','%SQL_DAY',
+                        '%SQL_DAY_TO_HOUR','%SQL_DAY_TO_MINUTE','%SQL_DAY_TO_SECOND','%SQL_DA_DROP_ASSERTION','%SQL_DBMS_NAME','%SQL_DBMS_VER','%SQL_DB_DEFAULT','%SQL_DB_DISCONNECT',
+                        '%SQL_DB_RETURN_TO_POOL','%SQL_DCS_DROP_CHARACTER_SET','%SQL_DC_DROP_COLLATION','%SQL_DDL_INDEX','%SQL_DD_CASCADE','%SQL_DD_DROP_DOMAIN','%SQL_DD_RESTRICT','%SQL_DECIMAL',
+                        '%SQL_DEFAULT','%SQL_DEFAULT_PARAM','%SQL_DEFAULT_TXN_ISOLATION','%SQL_DELETE','%SQL_DELETE_BY_BOOKMARK','%SQL_DESCRIBE_PARAMETER','%SQL_DESC_ALLOC_AUTO','%SQL_DESC_ALLOC_TYPE',
+                        '%SQL_DESC_ALLOC_USER','%SQL_DESC_ARRAY_SIZE','%SQL_DESC_ARRAY_STATUS_PTR','%SQL_DESC_AUTO_UNIQUE_VALUE','%SQL_DESC_BASE_COLUMN_NAME','%SQL_DESC_BASE_TABLE_NAME','%SQL_DESC_BIND_OFFSET_PTR','%SQL_DESC_BIND_TYPE',
+                        '%SQL_DESC_CASE_SENSITIVE','%SQL_DESC_CATALOG_NAME','%SQL_DESC_CONCISE_TYPE','%SQL_DESC_COUNT','%SQL_DESC_DATA_PTR','%SQL_DESC_DATETIME_INTERVAL_CODE','%SQL_DESC_DATETIME_INTERVAL_PRECISION','%SQL_DESC_DISPLAY_SIZE',
+                        '%SQL_DESC_FIXED_PREC_SCALE','%SQL_DESC_INDICATOR_PTR','%SQL_DESC_LABEL','%SQL_DESC_LENGTH','%SQL_DESC_LITERAL_PREFIX','%SQL_DESC_LITERAL_SUFFIX','%SQL_DESC_LOCAL_TYPE_NAME','%SQL_DESC_MAXIMUM_SCALE',
+                        '%SQL_DESC_MINIMUM_SCALE','%SQL_DESC_NAME','%SQL_DESC_NULLABLE','%SQL_DESC_NUM_PREC_RADIX','%SQL_DESC_OCTET_LENGTH','%SQL_DESC_OCTET_LENGTH_PTR','%SQL_DESC_PARAMETER_TYPE','%SQL_DESC_PRECISION',
+                        '%SQL_DESC_ROWS_PROCESSED_PTR','%SQL_DESC_SCALE','%SQL_DESC_SCHEMA_NAME','%SQL_DESC_SEARCHABLE','%SQL_DESC_TABLE_NAME','%SQL_DESC_TYPE','%SQL_DESC_TYPE_NAME','%SQL_DESC_UNNAMED',
+                        '%SQL_DESC_UNSIGNED','%SQL_DESC_UPDATABLE','%SQL_DIAG_ALTER_TABLE','%SQL_DIAG_CALL','%SQL_DIAG_CLASS_ORIGIN','%SQL_DIAG_COLUMN_NUMBER','%SQL_DIAG_CONNECTION_NAME','%SQL_DIAG_CREATE_INDEX',
+                        '%SQL_DIAG_CREATE_TABLE','%SQL_DIAG_CREATE_VIEW','%SQL_DIAG_CURSOR_ROW_COUNT','%SQL_DIAG_DELETE_WHERE','%SQL_DIAG_DROP_INDEX','%SQL_DIAG_DROP_TABLE','%SQL_DIAG_DROP_VIEW','%SQL_DIAG_DYNAMIC_DELETE_CURSOR',
+                        '%SQL_DIAG_DYNAMIC_FUNCTION','%SQL_DIAG_DYNAMIC_FUNCTION_CODE','%SQL_DIAG_DYNAMIC_UPDATE_CURSOR','%SQL_DIAG_GRANT','%SQL_DIAG_INSERT','%SQL_DIAG_MESSAGE_TEXT','%SQL_DIAG_NATIVE','%SQL_DIAG_NUMBER',
+                        '%SQL_DIAG_RETURNCODE','%SQL_DIAG_REVOKE','%SQL_DIAG_ROW_COUNT','%SQL_DIAG_ROW_NUMBER','%SQL_DIAG_SELECT_CURSOR','%SQL_DIAG_SERVER_NAME','%SQL_DIAG_SQLSTATE','%SQL_DIAG_SUBCLASS_ORIGIN',
+                        '%SQL_DIAG_UNKNOWN_STATEMENT','%SQL_DIAG_UPDATE_WHERE','%SQL_DI_CREATE_INDEX','%SQL_DI_DROP_INDEX','%SQL_DL_SQL92_DATE','%SQL_DL_SQL92_INTERVAL_DAY','%SQL_DL_SQL92_INTERVAL_DAY_TO_HOUR','%SQL_DL_SQL92_INTERVAL_DAY_TO_MINUTE',
+                        '%SQL_DL_SQL92_INTERVAL_DAY_TO_SECOND','%SQL_DL_SQL92_INTERVAL_HOUR','%SQL_DL_SQL92_INTERVAL_HOUR_TO_MINUTE','%SQL_DL_SQL92_INTERVAL_HOUR_TO_SECOND','%SQL_DL_SQL92_INTERVAL_MINUTE','%SQL_DL_SQL92_INTERVAL_MINUTE_TO_SECOND','%SQL_DL_SQL92_INTERVAL_MONTH','%SQL_DL_SQL92_INTERVAL_SECOND',
+                        '%SQL_DL_SQL92_INTERVAL_YEAR','%SQL_DL_SQL92_INTERVAL_YEAR_TO_MONTH','%SQL_DL_SQL92_TIME','%SQL_DL_SQL92_TIMESTAMP','%SQL_DM_VER','%SQL_DOUBLE','%SQL_DRIVER_COMPLETE','%SQL_DRIVER_COMPLETE_REQUIRED',
+                        '%SQL_DRIVER_HDBC','%SQL_DRIVER_HDESC','%SQL_DRIVER_HENV','%SQL_DRIVER_HLIB','%SQL_DRIVER_HSTMT','%SQL_DRIVER_NAME','%SQL_DRIVER_NOPROMPT','%SQL_DRIVER_ODBC_VER',
+                        '%SQL_DRIVER_PROMPT','%SQL_DRIVER_VER','%SQL_DROP','%SQL_DROP_ASSERTION','%SQL_DROP_CHARACTER_SET','%SQL_DROP_COLLATION','%SQL_DROP_DOMAIN','%SQL_DROP_SCHEMA',
+                        '%SQL_DROP_TABLE','%SQL_DROP_TRANSLATION','%SQL_DROP_VIEW','%SQL_DS_CASCADE','%SQL_DS_DROP_SCHEMA','%SQL_DS_RESTRICT','%SQL_DTC_DONE','%SQL_DTC_ENLIST_EXPENSIVE',
+                        '%SQL_DTC_TRANSITION_COST','%SQL_DTC_UNENLIST_EXPENSIVE','%SQL_DTR_DROP_TRANSLATION','%SQL_DT_CASCADE','%SQL_DT_DROP_TABLE','%SQL_DT_RESTRICT','%SQL_DV_CASCADE','%SQL_DV_DROP_VIEW',
+                        '%SQL_DV_RESTRICT','%SQL_DYNAMIC_CURSOR_ATTRIBUTES1','%SQL_DYNAMIC_CURSOR_ATTRIBUTES2','%SQL_ENSURE','%SQL_ENTIRE_ROWSET','%SQL_ERROR','%SQL_EXPRESSIONS_IN_ORDERBY','%SQL_FALSE',
+                        '%SQL_FD_FETCH_ABSOLUTE','%SQL_FD_FETCH_BOOKMARK','%SQL_FD_FETCH_FIRST','%SQL_FD_FETCH_LAST','%SQL_FD_FETCH_NEXT','%SQL_FD_FETCH_PREV','%SQL_FD_FETCH_PRIOR','%SQL_FD_FETCH_RELATIVE',
+                        '%SQL_FETCH_ABSOLUTE','%SQL_FETCH_BOOKMARK','%SQL_FETCH_BY_BOOKMARK','%SQL_FETCH_DIRECTION','%SQL_FETCH_FIRST','%SQL_FETCH_FIRST_SYSTEM','%SQL_FETCH_FIRST_USER','%SQL_FETCH_LAST',
+                        '%SQL_FETCH_NEXT','%SQL_FETCH_PREV','%SQL_FETCH_PRIOR','%SQL_FETCH_RELATIVE','%SQL_FILE_CATALOG','%SQL_FILE_NOT_SUPPORTED','%SQL_FILE_QUALIFIER','%SQL_FILE_TABLE',
+                        '%SQL_FILE_USAGE','%SQL_FLOAT','%SQL_FN_CVT_CAST','%SQL_FN_CVT_CONVERT','%SQL_FN_NUM_ABS','%SQL_FN_NUM_ACOS','%SQL_FN_NUM_ASIN','%SQL_FN_NUM_ATAN',
+                        '%SQL_FN_NUM_ATAN2','%SQL_FN_NUM_CEILING','%SQL_FN_NUM_COS','%SQL_FN_NUM_COT','%SQL_FN_NUM_DEGREES','%SQL_FN_NUM_EXP','%SQL_FN_NUM_FLOOR','%SQL_FN_NUM_LOG',
+                        '%SQL_FN_NUM_LOG10','%SQL_FN_NUM_MOD','%SQL_FN_NUM_PI','%SQL_FN_NUM_POWER','%SQL_FN_NUM_RADIANS','%SQL_FN_NUM_RAND','%SQL_FN_NUM_ROUND','%SQL_FN_NUM_SIGN',
+                        '%SQL_FN_NUM_SIN','%SQL_FN_NUM_SQRT','%SQL_FN_NUM_TAN','%SQL_FN_NUM_TRUNCATE','%SQL_FN_STR_ASCII','%SQL_FN_STR_BIT_LENGTH','%SQL_FN_STR_CHAR','%SQL_FN_STR_CHARACTER_LENGTH',
+                        '%SQL_FN_STR_CHAR_LENGTH','%SQL_FN_STR_CONCAT','%SQL_FN_STR_DIFFERENCE','%SQL_FN_STR_INSERT','%SQL_FN_STR_LCASE','%SQL_FN_STR_LEFT','%SQL_FN_STR_LENGTH','%SQL_FN_STR_LOCATE',
+                        '%SQL_FN_STR_LOCATE_2','%SQL_FN_STR_LTRIM','%SQL_FN_STR_OCTET_LENGTH','%SQL_FN_STR_POSITION','%SQL_FN_STR_REPEAT','%SQL_FN_STR_REPLACE','%SQL_FN_STR_RIGHT','%SQL_FN_STR_RTRIM',
+                        '%SQL_FN_STR_SOUNDEX','%SQL_FN_STR_SPACE','%SQL_FN_STR_SUBSTRING','%SQL_FN_STR_UCASE','%SQL_FN_SYS_DBNAME','%SQL_FN_SYS_IFNULL','%SQL_FN_SYS_USERNAME','%SQL_FN_TD_CURDATE',
+                        '%SQL_FN_TD_CURRENT_DATE','%SQL_FN_TD_CURRENT_TIME','%SQL_FN_TD_CURRENT_TIMESTAMP','%SQL_FN_TD_CURTIME','%SQL_FN_TD_DAYNAME','%SQL_FN_TD_DAYOFMONTH','%SQL_FN_TD_DAYOFWEEK','%SQL_FN_TD_DAYOFYEAR',
+                        '%SQL_FN_TD_EXTRACT','%SQL_FN_TD_HOUR','%SQL_FN_TD_MINUTE','%SQL_FN_TD_MONTH','%SQL_FN_TD_MONTHNAME','%SQL_FN_TD_NOW','%SQL_FN_TD_QUARTER','%SQL_FN_TD_SECOND',
+                        '%SQL_FN_TD_TIMESTAMPADD','%SQL_FN_TD_TIMESTAMPDIFF','%SQL_FN_TD_WEEK','%SQL_FN_TD_YEAR','%SQL_FN_TSI_DAY','%SQL_FN_TSI_FRAC_SECOND','%SQL_FN_TSI_HOUR','%SQL_FN_TSI_MINUTE',
+                        '%SQL_FN_TSI_MONTH','%SQL_FN_TSI_QUARTER','%SQL_FN_TSI_SECOND','%SQL_FN_TSI_WEEK','%SQL_FN_TSI_YEAR','%SQL_FORWARD_ONLY_CURSOR_ATTRIBUTES1','%SQL_FORWARD_ONLY_CURSOR_ATTRIBUTES2','%SQL_GB_COLLATE',
+                        '%SQL_GB_GROUP_BY_CONTAINS_SELECT','%SQL_GB_GROUP_BY_EQUALS_SELECT','%SQL_GB_NOT_SUPPORTED','%SQL_GB_NO_RELATION','%SQL_GD_ANY_COLUMN','%SQL_GD_ANY_ORDER','%SQL_GD_BLOCK','%SQL_GD_BOUND',
+                        '%SQL_GETDATA_EXTENSIONS','%SQL_GET_BOOKMARK','%SQL_GROUP_BY','%SQL_GUID','%SQL_HANDLE_DBC','%SQL_HANDLE_DESC','%SQL_HANDLE_ENV','%SQL_HANDLE_SENV',
+                        '%SQL_HANDLE_STMT','%SQL_HOUR','%SQL_HOUR_TO_MINUTE','%SQL_HOUR_TO_SECOND','%SQL_IC_LOWER','%SQL_IC_MIXED','%SQL_IC_SENSITIVE','%SQL_IC_UPPER',
+                        '%SQL_IDENTIFIER_CASE','%SQL_IDENTIFIER_QUOTE_CHAR','%SQL_IGNORE','%SQL_IK_ALL','%SQL_IK_ASC','%SQL_IK_DESC','%SQL_IK_NONE','%SQL_INDEX_ALL',
+                        '%SQL_INDEX_CLUSTERED','%SQL_INDEX_HASHED','%SQL_INDEX_KEYWORDS','%SQL_INDEX_OTHER','%SQL_INDEX_UNIQUE','%SQL_INFO_FIRST','%SQL_INFO_SCHEMA_VIEWS','%SQL_INITIALLY_DEFERRED',
+                        '%SQL_INITIALLY_IMMEDIATE','%SQL_INSENSITIVE','%SQL_INSERT_STATEMENT','%SQL_INTEGER','%SQL_INTEGRITY','%SQL_INTERVAL','%SQL_INTERVAL_DAY','%SQL_INTERVAL_DAY_TO_HOUR',
+                        '%SQL_INTERVAL_DAY_TO_MINUTE','%SQL_INTERVAL_DAY_TO_SECOND','%SQL_INTERVAL_HOUR','%SQL_INTERVAL_HOUR_TO_MINUTE','%SQL_INTERVAL_HOUR_TO_SECOND','%SQL_INTERVAL_MINUTE','%SQL_INTERVAL_MINUTE_TO_SECOND','%SQL_INTERVAL_MONTH',
+                        '%SQL_INTERVAL_SECOND','%SQL_INTERVAL_YEAR','%SQL_INTERVAL_YEAR_TO_MONTH','%SQL_INVALID_HANDLE','%SQL_ISV_ASSERTIONS','%SQL_ISV_CHARACTER_SETS','%SQL_ISV_CHECK_CONSTRAINTS','%SQL_ISV_COLLATIONS',
+                        '%SQL_ISV_COLUMNS','%SQL_ISV_COLUMN_DOMAIN_USAGE','%SQL_ISV_COLUMN_PRIVILEGES','%SQL_ISV_CONSTRAINT_COLUMN_USAGE','%SQL_ISV_CONSTRAINT_TABLE_USAGE','%SQL_ISV_DOMAINS','%SQL_ISV_DOMAIN_CONSTRAINTS','%SQL_ISV_KEY_COLUMN_USAGE',
+                        '%SQL_ISV_REFERENTIAL_CONSTRAINTS','%SQL_ISV_SCHEMATA','%SQL_ISV_SQL_LANGUAGES','%SQL_ISV_TABLES','%SQL_ISV_TABLE_CONSTRAINTS','%SQL_ISV_TABLE_PRIVILEGES','%SQL_ISV_TRANSLATIONS','%SQL_ISV_USAGE_PRIVILEGES',
+                        '%SQL_ISV_VIEWS','%SQL_ISV_VIEW_COLUMN_USAGE','%SQL_ISV_VIEW_TABLE_USAGE','%SQL_IS_DAY','%SQL_IS_DAY_TO_HOUR','%SQL_IS_DAY_TO_MINUTE','%SQL_IS_DAY_TO_SECOND','%SQL_IS_HOUR',
+                        '%SQL_IS_HOUR_TO_MINUTE','%SQL_IS_HOUR_TO_SECOND','%SQL_IS_INSERT_LITERALS','%SQL_IS_INSERT_SEARCHED','%SQL_IS_INTEGER','%SQL_IS_MINUTE','%SQL_IS_MINUTE_TO_SECOND','%SQL_IS_MONTH',
+                        '%SQL_IS_POINTER','%SQL_IS_SECOND','%SQL_IS_SELECT_INTO','%SQL_IS_SMALLINT','%SQL_IS_UINTEGER','%SQL_IS_USMALLINT','%SQL_IS_YEAR','%SQL_IS_YEAR_TO_MONTH',
+                        '%SQL_KEYSET_CURSOR_ATTRIBUTES1','%SQL_KEYSET_CURSOR_ATTRIBUTES2','%SQL_KEYSET_SIZE','%SQL_KEYSET_SIZE_DEFAULT','%SQL_KEYWORDS','%SQL_LCK_EXCLUSIVE','%SQL_LCK_NO_CHANGE','%SQL_LCK_UNLOCK',
+                        '%SQL_LEN_BINARY_ATTR_OFFSET','%SQL_LEN_DATA_AT_EXEC_OFFSET','%SQL_LIKE_ESCAPE_CLAUSE','%SQL_LIKE_ONLY','%SQL_LOCK_EXCLUSIVE','%SQL_LOCK_NO_CHANGE','%SQL_LOCK_TYPES','%SQL_LOCK_UNLOCK',
+                        '%SQL_LOGIN_TIMEOUT','%SQL_LOGIN_TIMEOUT_DEFAULT','%SQL_LONGVARBINARY','%SQL_LONGVARCHAR','%SQL_MAXIMUM_CATALOG_NAME_LENGTH','%SQL_MAXIMUM_COLUMNS_IN_GROUP_BY','%SQL_MAXIMUM_COLUMNS_IN_INDEX','%SQL_MAXIMUM_COLUMNS_IN_ORDER_BY',
+                        '%SQL_MAXIMUM_COLUMNS_IN_SELECT','%SQL_MAXIMUM_COLUMN_NAME_LENGTH','%SQL_MAXIMUM_CONCURRENT_ACTIVITIES','%SQL_MAXIMUM_CURSOR_NAME_LENGTH','%SQL_MAXIMUM_DRIVER_CONNECTIONS','%SQL_MAXIMUM_IDENTIFIER_LENGTH','%SQL_MAXIMUM_INDEX_SIZE','%SQL_MAXIMUM_ROW_SIZE',
+                        '%SQL_MAXIMUM_SCHEMA_NAME_LENGTH','%SQL_MAXIMUM_STATEMENT_LENGTH','%SQL_MAXIMUM_TABLES_IN_SELECT','%SQL_MAXIMUM_USER_NAME_LENGTH','%SQL_MAX_ASYNC_CONCURRENT_STATEMENTS','%SQL_MAX_BINARY_LITERAL_LEN','%SQL_MAX_CATALOG_NAME_LEN','%SQL_MAX_CHAR_LITERAL_LEN',
+                        '%SQL_MAX_COLUMNS_IN_GROUP_BY','%SQL_MAX_COLUMNS_IN_INDEX','%SQL_MAX_COLUMNS_IN_ORDER_BY','%SQL_MAX_COLUMNS_IN_SELECT','%SQL_MAX_COLUMNS_IN_TABLE','%SQL_MAX_COLUMN_NAME_LEN','%SQL_MAX_CONCURRENT_ACTIVITIES','%SQL_MAX_CURSOR_NAME_LEN',
+                        '%SQL_MAX_DRIVER_CONNECTIONS','%SQL_MAX_DSN_LENGTH','%SQL_MAX_IDENTIFIER_LEN','%SQL_MAX_INDEX_SIZE','%SQL_MAX_LENGTH','%SQL_MAX_LENGTH_DEFAULT','%SQL_MAX_MESSAGE_LENGTH','%SQL_MAX_NUMERIC_LEN',
+                        '%SQL_MAX_OPTION_STRING_LENGTH','%SQL_MAX_OWNER_NAME_LEN','%SQL_MAX_PROCEDURE_NAME_LEN','%SQL_MAX_QUALIFIER_NAME_LEN','%SQL_MAX_ROWS','%SQL_MAX_ROWS_DEFAULT','%SQL_MAX_ROW_SIZE','%SQL_MAX_ROW_SIZE_INCLUDES_LONG',
+                        '%SQL_MAX_SCHEMA_NAME_LEN','%SQL_MAX_STATEMENT_LEN','%SQL_MAX_TABLES_IN_SELECT','%SQL_MAX_TABLE_NAME_LEN','%SQL_MAX_USER_NAME_LEN','%SQL_MINUTE','%SQL_MINUTE_TO_SECOND','%SQL_MODE_DEFAULT',
+                        '%SQL_MODE_READ_ONLY','%SQL_MODE_READ_WRITE','%SQL_MONTH','%SQL_MULTIPLE_ACTIVE_TXN','%SQL_MULT_RESULT_SETS','%SQL_NAMED','%SQL_NC_END','%SQL_NC_HIGH',
+                        '%SQL_NC_LOW','%SQL_NC_START','%SQL_NEED_DATA','%SQL_NEED_LONG_DATA_LEN','%SQL_NNC_NON_NULL','%SQL_NNC_NULL','%SQL_NONSCROLLABLE','%SQL_NON_NULLABLE_COLUMNS',
+                        '%SQL_NOSCAN','%SQL_NOSCAN_DEFAULT','%SQL_NOSCAN_OFF','%SQL_NOSCAN_ON','%SQL_NOT_DEFERRABLE','%SQL_NO_ACTION','%SQL_NO_COLUMN_NUMBER','%SQL_NO_DATA',
+                        '%SQL_NO_DATA_FOUND','%SQL_NO_NULLS','%SQL_NO_ROW_NUMBER','%SQL_NO_TOTAL','%SQL_NTS','%SQL_NTSL','%SQL_NULLABLE','%SQL_NULLABLE_UNKNOWN',
+                        '%SQL_NULL_COLLATION','%SQL_NULL_DATA','%SQL_NULL_HANDLE','%SQL_NULL_HDBC','%SQL_NULL_HDESC','%SQL_NULL_HENV','%SQL_NULL_HSTMT','%SQL_NUMERIC',
+                        '%SQL_NUMERIC_FUNCTIONS','%SQL_OAC_LEVEL1','%SQL_OAC_LEVEL2','%SQL_OAC_NONE','%SQL_ODBC_API_CONFORMANCE','%SQL_ODBC_CURSORS','%SQL_ODBC_INTERFACE_CONFORMANCE','%SQL_ODBC_SAG_CLI_CONFORMANCE',
+                        '%SQL_ODBC_SQL_CONFORMANCE','%SQL_ODBC_SQL_OPT_IEF','%SQL_ODBC_VER','%SQL_OIC_CORE','%SQL_OIC_LEVEL1','%SQL_OIC_LEVEL2','%SQL_OJ_ALL_COMPARISON_OPS','%SQL_OJ_CAPABILITIES',
+                        '%SQL_OJ_FULL','%SQL_OJ_INNER','%SQL_OJ_LEFT','%SQL_OJ_NESTED','%SQL_OJ_NOT_ORDERED','%SQL_OJ_RIGHT','%SQL_OPT_TRACE','%SQL_OPT_TRACEFILE',
+                        '%SQL_OPT_TRACE_DEFAULT','%SQL_OPT_TRACE_OFF','%SQL_OPT_TRACE_ON','%SQL_ORDER_BY_COLUMNS_IN_SELECT','%SQL_OSCC_COMPLIANT','%SQL_OSCC_NOT_COMPLIANT','%SQL_OSC_CORE','%SQL_OSC_EXTENDED',
+                        '%SQL_OSC_MINIMUM','%SQL_OUTER_JOINS','%SQL_OUTER_JOIN_CAPABILITIES','%SQL_OU_DML_STATEMENTS','%SQL_OU_INDEX_DEFINITION','%SQL_OU_PRIVILEGE_DEFINITION','%SQL_OU_PROCEDURE_INVOCATION','%SQL_OU_TABLE_DEFINITION',
+                        '%SQL_OV_ODBC2','%SQL_OV_ODBC3','%SQL_OWNER_TERM','%SQL_OWNER_USAGE','%SQL_PACKET_SIZE','%SQL_PARAM_ARRAY_ROW_COUNTS','%SQL_PARAM_ARRAY_SELECTS','%SQL_PARAM_BIND_BY_COLUMN',
+                        '%SQL_PARAM_BIND_TYPE_DEFAULT','%SQL_PARAM_DIAG_UNAVAILABLE','%SQL_PARAM_ERROR','%SQL_PARAM_IGNORE','%SQL_PARAM_INPUT','%SQL_PARAM_INPUT_OUTPUT','%SQL_PARAM_OUTPUT','%SQL_PARAM_PROCEED',
+                        '%SQL_PARAM_SUCCESS','%SQL_PARAM_SUCCESS_WITH_INFO','%SQL_PARAM_TYPE_DEFAULT','%SQL_PARAM_TYPE_UNKNOWN','%SQL_PARAM_UNUSED','%SQL_PARC_BATCH','%SQL_PARC_NO_BATCH','%SQL_PAS_BATCH',
+                        '%SQL_PAS_NO_BATCH','%SQL_PAS_NO_SELECT','%SQL_PC_NON_PSEUDO','%SQL_PC_NOT_PSEUDO','%SQL_PC_PSEUDO','%SQL_PC_UNKNOWN','%SQL_POSITION','%SQL_POSITIONED_STATEMENTS',
+                        '%SQL_POS_ADD','%SQL_POS_DELETE','%SQL_POS_OPERATIONS','%SQL_POS_POSITION','%SQL_POS_REFRESH','%SQL_POS_UPDATE','%SQL_PRED_BASIC','%SQL_PRED_CHAR',
+                        '%SQL_PRED_NONE','%SQL_PRED_SEARCHABLE','%SQL_PROCEDURES','%SQL_PROCEDURE_TERM','%SQL_PS_POSITIONED_DELETE','%SQL_PS_POSITIONED_UPDATE','%SQL_PS_SELECT_FOR_UPDATE','%SQL_PT_FUNCTION',
+                        '%SQL_PT_PROCEDURE','%SQL_PT_UNKNOWN','%SQL_QL_END','%SQL_QL_START','%SQL_QUALIFIER_LOCATION','%SQL_QUALIFIER_NAME_SEPARATOR','%SQL_QUALIFIER_TERM','%SQL_QUALIFIER_USAGE',
+                        '%SQL_QUERY_TIMEOUT','%SQL_QUERY_TIMEOUT_DEFAULT','%SQL_QUICK','%SQL_QUIET_MODE','%SQL_QUOTED_IDENTIFIER_CASE','%SQL_QU_DML_STATEMENTS','%SQL_QU_INDEX_DEFINITION','%SQL_QU_PRIVILEGE_DEFINITION',
+                        '%SQL_QU_PROCEDURE_INVOCATION','%SQL_QU_TABLE_DEFINITION','%SQL_RD_DEFAULT','%SQL_RD_OFF','%SQL_RD_ON','%SQL_REAL','%SQL_REFRESH','%SQL_RESET_PARAMS',
+                        '%SQL_RESTRICT','%SQL_RESULT_COL','%SQL_RETRIEVE_DATA','%SQL_RETURN_VALUE','%SQL_ROLLBACK','%SQL_ROWSET_SIZE','%SQL_ROWSET_SIZE_DEFAULT','%SQL_ROWVER',
+                        '%SQL_ROW_ADDED','%SQL_ROW_DELETED','%SQL_ROW_ERROR','%SQL_ROW_IDENTIFIER','%SQL_ROW_IGNORE','%SQL_ROW_NOROW','%SQL_ROW_NUMBER','%SQL_ROW_NUMBER_UNKNOWN',
+                        '%SQL_ROW_PROCEED','%SQL_ROW_SUCCESS','%SQL_ROW_SUCCESS_WITH_INFO','%SQL_ROW_UPDATED','%SQL_ROW_UPDATES','%SQL_SCCO_LOCK','%SQL_SCCO_OPT_ROWVER','%SQL_SCCO_OPT_TIMESTAMP',
+                        '%SQL_SCCO_OPT_VALUES','%SQL_SCCO_READ_ONLY','%SQL_SCC_ISO92_CLI','%SQL_SCC_XOPEN_CLI_VERSION1','%SQL_SCHEMA_TERM','%SQL_SCHEMA_USAGE','%SQL_SCOPE_CURROW','%SQL_SCOPE_SESSION',
+                        '%SQL_SCOPE_TRANSACTION','%SQL_SCROLLABLE','%SQL_SCROLL_CONCURRENCY','%SQL_SCROLL_DYNAMIC','%SQL_SCROLL_FORWARD_ONLY','%SQL_SCROLL_KEYSET_DRIVEN','%SQL_SCROLL_OPTIONS','%SQL_SCROLL_STATIC',
+                        '%SQL_SC_FIPS127_2_TRANSITIONAL','%SQL_SC_NON_UNIQUE','%SQL_SC_SQL92_ENTRY','%SQL_SC_SQL92_FULL','%SQL_SC_SQL92_INTERMEDIATE','%SQL_SC_TRY_UNIQUE','%SQL_SC_UNIQUE','%SQL_SDF_CURRENT_DATE',
+                        '%SQL_SDF_CURRENT_TIME','%SQL_SDF_CURRENT_TIMESTAMP','%SQL_SEARCHABLE','%SQL_SEARCH_PATTERN_ESCAPE','%SQL_SECOND','%SQL_SENSITIVE','%SQL_SERVER_NAME','%SQL_SETPARAM_VALUE_MAX',
+                        '%SQL_SETPOS_MAX_LOCK_VALUE','%SQL_SETPOS_MAX_OPTION_VALUE','%SQL_SET_DEFAULT','%SQL_SET_NULL','%SQL_SFKD_CASCADE','%SQL_SFKD_NO_ACTION','%SQL_SFKD_SET_DEFAULT','%SQL_SFKD_SET_NULL',
+                        '%SQL_SFKU_CASCADE','%SQL_SFKU_NO_ACTION','%SQL_SFKU_SET_DEFAULT','%SQL_SFKU_SET_NULL','%SQL_SG_DELETE_TABLE','%SQL_SG_INSERT_COLUMN','%SQL_SG_INSERT_TABLE','%SQL_SG_REFERENCES_COLUMN',
+                        '%SQL_SG_REFERENCES_TABLE','%SQL_SG_SELECT_TABLE','%SQL_SG_UPDATE_COLUMN','%SQL_SG_UPDATE_TABLE','%SQL_SG_USAGE_ON_CHARACTER_SET','%SQL_SG_USAGE_ON_COLLATION','%SQL_SG_USAGE_ON_DOMAIN','%SQL_SG_USAGE_ON_TRANSLATION',
+                        '%SQL_SG_WITH_GRANT_OPTION','%SQL_SIGNED_OFFSET','%SQL_SIMULATE_CURSOR','%SQL_SMALLINT','%SQL_SNVF_BIT_LENGTH','%SQL_SNVF_CHARACTER_LENGTH','%SQL_SNVF_CHAR_LENGTH','%SQL_SNVF_EXTRACT',
+                        '%SQL_SNVF_OCTET_LENGTH','%SQL_SNVF_POSITION','%SQL_SO_DYNAMIC','%SQL_SO_FORWARD_ONLY','%SQL_SO_KEYSET_DRIVEN','%SQL_SO_MIXED','%SQL_SO_STATIC','%SQL_SPECIAL_CHARACTERS',
+                        '%SQL_SPEC_MAJOR','%SQL_SPEC_MINOR','%SQL_SP_BETWEEN','%SQL_SP_COMPARISON','%SQL_SP_EXISTS','%SQL_SP_IN','%SQL_SP_ISNOTNULL','%SQL_SP_ISNULL',
+                        '%SQL_SP_LIKE','%SQL_SP_MATCH_FULL','%SQL_SP_MATCH_PARTIAL','%SQL_SP_MATCH_UNIQUE_FULL','%SQL_SP_MATCH_UNIQUE_PARTIAL','%SQL_SP_OVERLAPS','%SQL_SP_QUANTIFIED_COMPARISON','%SQL_SP_UNIQUE',
+                        '%SQL_SQL92_DATETIME_FUNCTIONS','%SQL_SQL92_FOREIGN_KEY_DELETE_RULE','%SQL_SQL92_FOREIGN_KEY_UPDATE_RULE','%SQL_SQL92_GRANT','%SQL_SQL92_NUMERIC_VALUE_FUNCTIONS','%SQL_SQL92_PREDICATES','%SQL_SQL92_RELATIONAL_JOIN_OPERATORS','%SQL_SQL92_REVOKE',
+                        '%SQL_SQL92_ROW_VALUE_CONSTRUCTOR','%SQL_SQL92_STRING_FUNCTIONS','%SQL_SQL92_VALUE_EXPRESSIONS','%SQL_SQLSTATE_SIZE','%SQL_SQL_CONFORMANCE','%SQL_SQ_COMPARISON','%SQL_SQ_CORRELATED_SUBQUERIES','%SQL_SQ_EXISTS',
+                        '%SQL_SQ_IN','%SQL_SQ_QUANTIFIED','%SQL_SRJO_CORRESPONDING_CLAUSE','%SQL_SRJO_CROSS_JOIN','%SQL_SRJO_EXCEPT_JOIN','%SQL_SRJO_FULL_OUTER_JOIN','%SQL_SRJO_INNER_JOIN','%SQL_SRJO_INTERSECT_JOIN',
+                        '%SQL_SRJO_LEFT_OUTER_JOIN','%SQL_SRJO_NATURAL_JOIN','%SQL_SRJO_RIGHT_OUTER_JOIN','%SQL_SRJO_UNION_JOIN','%SQL_SRVC_DEFAULT','%SQL_SRVC_NULL','%SQL_SRVC_ROW_SUBQUERY','%SQL_SRVC_VALUE_EXPRESSION',
+                        '%SQL_SR_CASCADE','%SQL_SR_DELETE_TABLE','%SQL_SR_GRANT_OPTION_FOR','%SQL_SR_INSERT_COLUMN','%SQL_SR_INSERT_TABLE','%SQL_SR_REFERENCES_COLUMN','%SQL_SR_REFERENCES_TABLE','%SQL_SR_RESTRICT',
+                        '%SQL_SR_SELECT_TABLE','%SQL_SR_UPDATE_COLUMN','%SQL_SR_UPDATE_TABLE','%SQL_SR_USAGE_ON_CHARACTER_SET','%SQL_SR_USAGE_ON_COLLATION','%SQL_SR_USAGE_ON_DOMAIN','%SQL_SR_USAGE_ON_TRANSLATION','%SQL_SSF_CONVERT',
+                        '%SQL_SSF_LOWER','%SQL_SSF_SUBSTRING','%SQL_SSF_TRANSLATE','%SQL_SSF_TRIM_BOTH','%SQL_SSF_TRIM_LEADING','%SQL_SSF_TRIM_TRAILING','%SQL_SSF_UPPER','%SQL_SS_ADDITIONS',
+                        '%SQL_SS_DELETIONS','%SQL_SS_UPDATES','%SQL_STANDARD_CLI_CONFORMANCE','%SQL_STATIC_CURSOR_ATTRIBUTES1','%SQL_STATIC_CURSOR_ATTRIBUTES2','%SQL_STATIC_SENSITIVITY','%SQL_STILL_EXECUTING','%SQL_STRING_FUNCTIONS',
+                        '%SQL_SUBQUERIES','%SQL_SUCCESS','%SQL_SUCCESS_WITH_INFO','%SQL_SU_DML_STATEMENTS','%SQL_SU_INDEX_DEFINITION','%SQL_SU_PRIVILEGE_DEFINITION','%SQL_SU_PROCEDURE_INVOCATION','%SQL_SU_TABLE_DEFINITION',
+                        '%SQL_SVE_CASE','%SQL_SVE_CAST','%SQL_SVE_COALESCE','%SQL_SVE_NULLIF','%SQL_SYSTEM_FUNCTIONS','%SQL_TABLE_STAT','%SQL_TABLE_TERM','%SQL_TC_ALL',
+                        '%SQL_TC_DDL_COMMIT','%SQL_TC_DDL_IGNORE','%SQL_TC_DML','%SQL_TC_NONE','%SQL_TIME','%SQL_TIMEDATE_ADD_INTERVALS','%SQL_TIMEDATE_DIFF_INTERVALS','%SQL_TIMEDATE_FUNCTIONS',
+                        '%SQL_TIMESTAMP','%SQL_TIMESTAMP_LEN','%SQL_TIME_LEN','%SQL_TINYINT','%SQL_TRANSACTION_CAPABLE','%SQL_TRANSACTION_ISOLATION_OPTION','%SQL_TRANSACTION_READ_COMMITTED','%SQL_TRANSACTION_READ_UNCOMMITTED',
+                        '%SQL_TRANSACTION_REPEATABLE_READ','%SQL_TRANSACTION_SERIALIZABLE','%SQL_TRANSLATE_DLL','%SQL_TRANSLATE_OPTION','%SQL_TRUE','%SQL_TXN_CAPABLE','%SQL_TXN_ISOLATION','%SQL_TXN_ISOLATION_OPTION',
+                        '%SQL_TXN_READ_COMMITTED','%SQL_TXN_READ_UNCOMMITTED','%SQL_TXN_REPEATABLE_READ','%SQL_TXN_SERIALIZABLE','%SQL_TYPE_DATE','%SQL_TYPE_NULL','%SQL_TYPE_TIME','%SQL_TYPE_TIMESTAMP',
+                        '%SQL_UB_DEFAULT','%SQL_UB_FIXED','%SQL_UB_OFF','%SQL_UB_ON','%SQL_UB_VARIABLE','%SQL_UNBIND','%SQL_UNICODE','%SQL_UNICODE_CHAR',
+                        '%SQL_UNICODE_LONGVARCHAR','%SQL_UNICODE_VARCHAR','%SQL_UNION','%SQL_UNION_STATEMENT','%SQL_UNKNOWN_TYPE','%SQL_UNNAMED','%SQL_UNSEARCHABLE','%SQL_UNSIGNED_OFFSET',
+                        '%SQL_UNSPECIFIED','%SQL_UPDATE','%SQL_UPDATE_BY_BOOKMARK','%SQL_USER_NAME','%SQL_USE_BOOKMARKS','%SQL_US_UNION','%SQL_US_UNION_ALL','%SQL_U_UNION',
+                        '%SQL_U_UNION_ALL','%SQL_VARBINARY','%SQL_VARCHAR','%SQL_XOPEN_CLI_YEAR','%SQL_YEAR','%SQL_YEAR_TO_MONTH','%SRCCOPY','%SS_BITMAP',
+                        '%SS_BLACKFRAME','%SS_BLACKRECT','%SS_CENTER','%SS_CENTERIMAGE','%SS_ENDELLIPSIS','%SS_ETCHEDFRAME','%SS_ETCHEDHORZ','%SS_ETCHEDVERT',
+                        '%SS_GRAYFRAME','%SS_GRAYRECT','%SS_LEFT','%SS_NOPREFIX','%SS_NOTIFY','%SS_NOWORDWRAP','%SS_PATHELLIPSIS','%SS_RIGHT',
+                        '%SS_RIGHTJUST','%SS_SIMPLE','%SS_SUNKEN','%SS_WHITEFRAME','%SS_WHITERECT','%SS_WORDELLIPSIS','%STAT_FILL_FROM_MEMORY','%STAT_FILL_NATURAL',
+                        '%STAT_FILL_NATURAL_ERASTONE','%STAT_FILL_NATURAL_EVEN','%STAT_FILL_NATURAL_FIBONACCI','%STAT_FILL_NATURAL_ODD','%STAT_FILL_WITH_NUMBER','%STAT_MINMAX_INDEX','%STAT_MINMAX_VALUE','%STAT_TYPE_BYTE',
+                        '%STAT_TYPE_CURRENCY','%STAT_TYPE_DOUBLE','%STAT_TYPE_DWORD','%STAT_TYPE_EXT','%STAT_TYPE_INTEGER','%STAT_TYPE_LONG','%STAT_TYPE_QUAD','%STAT_TYPE_SINGLE',
+                        '%STAT_TYPE_WORD','%SWP_ASYNCWINDOWPOS','%SWP_DEFERERASE','%SWP_DRAWFRAME','%SWP_FRAMECHANGED','%SWP_HIDEWINDOW','%SWP_NOACTIVATE','%SWP_NOCOPYBITS',
+                        '%SWP_NOMOVE','%SWP_NOOWNERZORDER','%SWP_NOREDRAW','%SWP_NOREPOSITION','%SWP_NOSENDCHANGING','%SWP_NOSIZE','%SWP_NOZORDER','%SWP_SHOWWINDOW',
+                        '%SW_FORCEMINIMIZE','%SW_HIDE','%SW_MAXIMIZE','%SW_MINIMIZE','%SW_NORMAL','%SW_RESTORE','%SW_SHOW','%SW_SHOWDEFAULT',
+                        '%SW_SHOWMAXIMIZED','%SW_SHOWMINIMIZED','%SW_SHOWMINNOACTIVE','%SW_SHOWNA','%SW_SHOWNOACTIVATE','%SW_SHOWNORMAL','%TBASS_3DALG_DEFAULT','%TBASS_3DALG_FULL',
+                        '%TBASS_3DALG_LIGHT','%TBASS_3DALG_OFF','%TBASS_3DMODE_NORMAL','%TBASS_3DMODE_OFF','%TBASS_3DMODE_RELATIVE','%TBASS_ACTIVE_PAUSED','%TBASS_ACTIVE_PLAYING','%TBASS_ACTIVE_STALLED',
+                        '%TBASS_ACTIVE_STOPPED','%TBASS_CONFIG_3DALGORITHM','%TBASS_CONFIG_BUFFER','%TBASS_CONFIG_CURVE_PAN','%TBASS_CONFIG_CURVE_VOL','%TBASS_CONFIG_FLOATDSP','%TBASS_CONFIG_GVOL_MUSIC','%TBASS_CONFIG_GVOL_SAMPLE',
+                        '%TBASS_CONFIG_GVOL_STREAM','%TBASS_CONFIG_MAXVOL','%TBASS_CONFIG_MP3_CODEC','%TBASS_CONFIG_NET_AGENT','%TBASS_CONFIG_NET_BUFFER','%TBASS_CONFIG_NET_PASSIVE','%TBASS_CONFIG_NET_PREBUF','%TBASS_CONFIG_NET_PROXY',
+                        '%TBASS_CONFIG_NET_TIMEOUT','%TBASS_CONFIG_PAUSE_NOPLAY','%TBASS_CONFIG_UPDATEPERIOD','%TBASS_CTYPE_MUSIC_IT','%TBASS_CTYPE_MUSIC_MO3','%TBASS_CTYPE_MUSIC_MOD','%TBASS_CTYPE_MUSIC_MTM','%TBASS_CTYPE_MUSIC_S3M',
+                        '%TBASS_CTYPE_MUSIC_XM','%TBASS_CTYPE_RECORD','%TBASS_CTYPE_SAMPLE','%TBASS_CTYPE_STREAM','%TBASS_CTYPE_STREAM_AIFF','%TBASS_CTYPE_STREAM_MP1','%TBASS_CTYPE_STREAM_MP2','%TBASS_CTYPE_STREAM_MP3',
+                        '%TBASS_CTYPE_STREAM_OGG','%TBASS_CTYPE_STREAM_WAV','%TBASS_CTYPE_STREAM_WAV_FLOAT','%TBASS_CTYPE_STREAM_WAV_PCM','%TBASS_DATA_AVAILABLE','%TBASS_DATA_FFT1024','%TBASS_DATA_FFT2048','%TBASS_DATA_FFT4096',
+                        '%TBASS_DATA_FFT512','%TBASS_DATA_FFT_INDIVIDUAL','%TBASS_DATA_FFT_NOWINDOW','%TBASS_DATA_FLOAT','%TBASS_DEVICE_3D','%TBASS_DEVICE_8BITS','%TBASS_DEVICE_LATENCY','%TBASS_DEVICE_MONO',
+                        '%TBASS_DEVICE_NOSPEAKER','%TBASS_DEVICE_SPEAKERS','%TBASS_EAX_ENVIRONMENT_ALLEY','%TBASS_EAX_ENVIRONMENT_ARENA','%TBASS_EAX_ENVIRONMENT_AUDITORIUM','%TBASS_EAX_ENVIRONMENT_BATHROOM','%TBASS_EAX_ENVIRONMENT_CARPETEDHALLWAY','%TBASS_EAX_ENVIRONMENT_CAVE',
+                        '%TBASS_EAX_ENVIRONMENT_CITY','%TBASS_EAX_ENVIRONMENT_CONCERTHALL','%TBASS_EAX_ENVIRONMENT_COUNT','%TBASS_EAX_ENVIRONMENT_DIZZY','%TBASS_EAX_ENVIRONMENT_DRUGGED','%TBASS_EAX_ENVIRONMENT_FOREST','%TBASS_EAX_ENVIRONMENT_GENERIC','%TBASS_EAX_ENVIRONMENT_HALLWAY',
+                        '%TBASS_EAX_ENVIRONMENT_HANGAR','%TBASS_EAX_ENVIRONMENT_LIVINGROOM','%TBASS_EAX_ENVIRONMENT_MOUNTAINS','%TBASS_EAX_ENVIRONMENT_PADDEDCELL','%TBASS_EAX_ENVIRONMENT_PARKINGLOT','%TBASS_EAX_ENVIRONMENT_PLAIN','%TBASS_EAX_ENVIRONMENT_PSYCHOTIC','%TBASS_EAX_ENVIRONMENT_QUARRY',
+                        '%TBASS_EAX_ENVIRONMENT_ROOM','%TBASS_EAX_ENVIRONMENT_SEWERPIPE','%TBASS_EAX_ENVIRONMENT_STONECORRIDOR','%TBASS_EAX_ENVIRONMENT_STONEROOM','%TBASS_EAX_ENVIRONMENT_UNDERWATER','%TBASS_ERROR_ALREADY','%TBASS_ERROR_BUFLOST','%TBASS_ERROR_CODEC',
+                        '%TBASS_ERROR_CREATE','%TBASS_ERROR_DECODE','%TBASS_ERROR_DEVICE','%TBASS_ERROR_DRIVER','%TBASS_ERROR_DX','%TBASS_ERROR_EMPTY','%TBASS_ERROR_FILEFORM','%TBASS_ERROR_FILEOPEN',
+                        '%TBASS_ERROR_FORMAT','%TBASS_ERROR_FREQ','%TBASS_ERROR_HANDLE','%TBASS_ERROR_ILLPARAM','%TBASS_ERROR_ILLTYPE','%TBASS_ERROR_INIT','%TBASS_ERROR_MEM','%TBASS_ERROR_NO3D',
+                        '%TBASS_ERROR_NOCHAN','%TBASS_ERROR_NOEAX','%TBASS_ERROR_NOFX','%TBASS_ERROR_NOHW','%TBASS_ERROR_NONET','%TBASS_ERROR_NOPAUSE','%TBASS_ERROR_NOPLAY','%TBASS_ERROR_NOTAVAIL',
+                        '%TBASS_ERROR_NOTFILE','%TBASS_ERROR_PLAYING','%TBASS_ERROR_POSITION','%TBASS_ERROR_SPEAKER','%TBASS_ERROR_START','%TBASS_ERROR_TIMEOUT','%TBASS_ERROR_UNKNOWN','%TBASS_ERROR_VERSION',
+                        '%TBASS_FALSE','%TBASS_FILEPOS_CURRENT','%TBASS_FILEPOS_DECODE','%TBASS_FILEPOS_DOWNLOAD','%TBASS_FILEPOS_END','%TBASS_FILEPOS_START','%TBASS_FILE_CLOSE','%TBASS_FILE_LEN',
+                        '%TBASS_FILE_READ','%TBASS_FILE_SEEK','%TBASS_FX_CHORUS','%TBASS_FX_COMPRESSOR','%TBASS_FX_DISTORTION','%TBASS_FX_ECHO','%TBASS_FX_FLANGER','%TBASS_FX_GARGLE',
+                        '%TBASS_FX_I3DL2REVERB','%TBASS_FX_PARAMEQ','%TBASS_FX_PHASE_180','%TBASS_FX_PHASE_90','%TBASS_FX_PHASE_NEG_180','%TBASS_FX_PHASE_NEG_90','%TBASS_FX_PHASE_ZERO','%TBASS_FX_REVERB',
+                        '%TBASS_INPUT_LEVEL','%TBASS_INPUT_OFF','%TBASS_INPUT_ON','%TBASS_INPUT_TYPE_ANALOG','%TBASS_INPUT_TYPE_AUX','%TBASS_INPUT_TYPE_CD','%TBASS_INPUT_TYPE_DIGITAL','%TBASS_INPUT_TYPE_LINE',
+                        '%TBASS_INPUT_TYPE_MASK','%TBASS_INPUT_TYPE_MIC','%TBASS_INPUT_TYPE_PHONE','%TBASS_INPUT_TYPE_SPEAKER','%TBASS_INPUT_TYPE_SYNTH','%TBASS_INPUT_TYPE_UNDEF','%TBASS_INPUT_TYPE_WAVE','%TBASS_MP3_SETPOS',
+                        '%TBASS_MUSIC_3D','%TBASS_MUSIC_ATTRIB_AMPLIFY','%TBASS_MUSIC_ATTRIB_BPM','%TBASS_MUSIC_ATTRIB_PANSEP','%TBASS_MUSIC_ATTRIB_PSCALER','%TBASS_MUSIC_ATTRIB_SPEED','%TBASS_MUSIC_ATTRIB_VOL_CHAN','%TBASS_MUSIC_ATTRIB_VOL_GLOBAL',
+                        '%TBASS_MUSIC_ATTRIB_VOL_INST','%TBASS_MUSIC_AUTOFREE','%TBASS_MUSIC_CALCLEN','%TBASS_MUSIC_DECODE','%TBASS_MUSIC_FLOAT','%TBASS_MUSIC_FT2MOD','%TBASS_MUSIC_FX','%TBASS_MUSIC_LOOP',
+                        '%TBASS_MUSIC_MONO','%TBASS_MUSIC_NONINTER','%TBASS_MUSIC_NOSAMPLE','%TBASS_MUSIC_POSRESET','%TBASS_MUSIC_POSRESETEX','%TBASS_MUSIC_PRESCAN','%TBASS_MUSIC_PT1MOD','%TBASS_MUSIC_RAMP',
+                        '%TBASS_MUSIC_RAMPS','%TBASS_MUSIC_STOPBACK','%TBASS_MUSIC_SURROUND','%TBASS_MUSIC_SURROUND2','%TBASS_OBJECT_DS','%TBASS_OBJECT_DS3DL','%TBASS_OK','%TBASS_RECORD_PAUSE',
+                        '%TBASS_SAMPLE_3D','%TBASS_SAMPLE_8BITS','%TBASS_SAMPLE_FLOAT','%TBASS_SAMPLE_FX','%TBASS_SAMPLE_LOOP','%TBASS_SAMPLE_MONO','%TBASS_SAMPLE_MUTEMAX','%TBASS_SAMPLE_OVER_DIST',
+                        '%TBASS_SAMPLE_OVER_POS','%TBASS_SAMPLE_OVER_VOL','%TBASS_SAMPLE_SOFTWARE','%TBASS_SAMPLE_VAM','%TBASS_SLIDE_FREQ','%TBASS_SLIDE_PAN','%TBASS_SLIDE_VOL','%TBASS_SPEAKER_CENLFE',
+                        '%TBASS_SPEAKER_CENTER','%TBASS_SPEAKER_FRONT','%TBASS_SPEAKER_FRONTLEFT','%TBASS_SPEAKER_FRONTRIGHT','%TBASS_SPEAKER_LEFT','%TBASS_SPEAKER_LFE','%TBASS_SPEAKER_REAR','%TBASS_SPEAKER_REAR2',
+                        '%TBASS_SPEAKER_REAR2LEFT','%TBASS_SPEAKER_REAR2RIGHT','%TBASS_SPEAKER_REARLEFT','%TBASS_SPEAKER_REARRIGHT','%TBASS_SPEAKER_RIGHT','%TBASS_STREAMPROC_END','%TBASS_STREAM_AUTOFREE','%TBASS_STREAM_BLOCK',
+                        '%TBASS_STREAM_DECODE','%TBASS_STREAM_PRESCAN','%TBASS_STREAM_RESTRATE','%TBASS_STREAM_STATUS','%TBASS_SYNC_DOWNLOAD','%TBASS_SYNC_END','%TBASS_SYNC_FREE','%TBASS_SYNC_MESSAGE',
+                        '%TBASS_SYNC_META','%TBASS_SYNC_MIXTIME','%TBASS_SYNC_MUSICFX','%TBASS_SYNC_MUSICINST','%TBASS_SYNC_MUSICPOS','%TBASS_SYNC_ONETIME','%TBASS_SYNC_POS','%TBASS_SYNC_SLIDE',
+                        '%TBASS_SYNC_STALL','%TBASS_TAG_HTTP','%TBASS_TAG_ICY','%TBASS_TAG_ID3','%TBASS_TAG_ID3V2','%TBASS_TAG_META','%TBASS_TAG_MUSIC_INST','%TBASS_TAG_MUSIC_MESSAGE',
+                        '%TBASS_TAG_MUSIC_NAME','%TBASS_TAG_MUSIC_SAMPLE','%TBASS_TAG_OGG','%TBASS_TAG_RIFF_INFO','%TBASS_TAG_VENDOR','%TBASS_TRUE','%TBASS_UNICODE','%TBASS_VAM_HARDWARE',
+                        '%TBASS_VAM_SOFTWARE','%TBASS_VAM_TERM_DIST','%TBASS_VAM_TERM_PRIO','%TBASS_VAM_TERM_TIME','%TBASS_VERSION','%TBCD_CHANNEL','%TBCD_THUMB','%TBCD_TICS',
+                        '%TBGL_ALIGN_CENTER','%TBGL_ALIGN_CENTER_CENTER','%TBGL_ALIGN_CENTER_DOWN','%TBGL_ALIGN_CENTER_UP','%TBGL_ALIGN_LEFT','%TBGL_ALIGN_LEFT_CENTER','%TBGL_ALIGN_LEFT_DOWN','%TBGL_ALIGN_LEFT_UP',
+                        '%TBGL_ALIGN_RIGHT','%TBGL_ALIGN_RIGHT_CENTER','%TBGL_ALIGN_RIGHT_DOWN','%TBGL_ALIGN_RIGHT_UP','%TBGL_ALWAYS','%TBGL_EQUAL','%TBGL_ERROR_FILE','%TBGL_ERROR_MSGBOX',
+                        '%TBGL_ERROR_NONE','%TBGL_GEQUAL','%TBGL_GREATER','%TBGL_LEQUAL','%TBGL_LESS','%TBGL_LIGHT_AMBIENT','%TBGL_LIGHT_CONSTANT_ATTENUATION','%TBGL_LIGHT_DIFFUSE',
+                        '%TBGL_LIGHT_LINEAR_ATTENUATION','%TBGL_LIGHT_POSITION','%TBGL_LIGHT_QUADRATIC_ATTENUATION','%TBGL_LIGHT_SPECULAR','%TBGL_LIGHT_SPOT_CUTOFF','%TBGL_LIGHT_SPOT_DIRECTION','%TBGL_LIGHT_SPOT_EXPONENT','%TBGL_M15B',
+                        '%TBGL_M15G','%TBGL_M15LAYER','%TBGL_M15PSTOP','%TBGL_M15R','%TBGL_M15TEXN','%TBGL_M15TEXX','%TBGL_M15TEXY','%TBGL_M15X',
+                        '%TBGL_M15Y','%TBGL_M15Z','%TBGL_NEVER','%TBGL_NORMAL_NONE','%TBGL_NORMAL_PRECISE','%TBGL_NORMAL_SMOOTH','%TBGL_NOTEQUAL','%TBGL_OBJ_CUBE',
+                        '%TBGL_OBJ_CUBE3','%TBGL_OBJ_CYLINDER','%TBGL_OBJ_SPHERE','%TBGL_PINFO_RGB','%TBGL_PINFO_XYZ','%TBGL_TEX_LINEAR','%TBGL_TEX_MIPMAP','%TBGL_TEX_NEAREST',
+                        '%TBM_CLEARSEL','%TBM_CLEARTICS','%TBM_GETBUDDY','%TBM_GETCHANNELRECT','%TBM_GETLINESIZE','%TBM_GETNUMTICS','%TBM_GETPAGESIZE','%TBM_GETPOS',
+                        '%TBM_GETPTICS','%TBM_GETRANGEMAX','%TBM_GETRANGEMIN','%TBM_GETSELEND','%TBM_GETSELSTART','%TBM_GETTHUMBLENGTH','%TBM_GETTHUMBRECT','%TBM_GETTIC',
+                        '%TBM_GETTICPOS','%TBM_GETTOOLTIPS','%TBM_GETUNICODEFORMAT','%TBM_SETBUDDY','%TBM_SETLINESIZE','%TBM_SETPAGESIZE','%TBM_SETPOS','%TBM_SETRANGE',
+                        '%TBM_SETRANGEMAX','%TBM_SETRANGEMIN','%TBM_SETSEL','%TBM_SETSELEND','%TBM_SETSELSTART','%TBM_SETTHUMBLENGTH','%TBM_SETTIC','%TBM_SETTICFREQ',
+                        '%TBM_SETTIPSIDE','%TBM_SETTOOLTIPS','%TBM_SETUNICODEFORMAT','%TBS_AUTOTICKS','%TBS_BOTH','%TBS_BOTTOM','%TBS_DOWNISLEFT','%TBS_ENABLESELRANGE',
+                        '%TBS_FIXEDLENGTH','%TBS_HORZ','%TBS_LEFT','%TBS_NOTHUMB','%TBS_NOTICKS','%TBS_REVERSED','%TBS_RIGHT','%TBS_TOOLTIPS',
+                        '%TBS_TOP','%TBS_VERT','%TBTS_BOTTOM','%TBTS_LEFT','%TBTS_RIGHT','%TBTS_TOP','%TB_%VT_BSTR','%TB_%VT_CY',
+                        '%TB_%VT_DATE','%TB_%VT_EMPTY','%TB_%VT_I2','%TB_%VT_I4','%TB_%VT_NULL','%TB_%VT_R4','%TB_%VT_R8','%TB_BOTTOM',
+                        '%TB_CLASS_E_NOAGGREGATION','%TB_CO_E_CLASSSTRING','%TB_DISPATCH_METHOD','%TB_DISPATCH_PROPERTYGET','%TB_DISPATCH_PROPERTYPUT','%TB_DISPATCH_PROPERTYPUTREF','%TB_ENDTRACK','%TB_E_INVALIDARG',
+                        '%TB_E_NOINTERFACE','%TB_E_OUTOFMEMORY','%TB_IMGCTX_ACTUALSIZE','%TB_IMGCTX_AUTOSIZE','%TB_IMGCTX_FITTOHEIGHT','%TB_IMGCTX_FITTOWIDTH','%TB_IMGCTX_STRETCH','%TB_LINEDOWN',
+                        '%TB_LINEUP','%TB_MK_E_CONNECTMANUALLY','%TB_MK_E_EXCEEDEDDEADLINE','%TB_MK_E_INTERMEDIATEINTERFACENOTSUPPORTED','%TB_MK_E_NOOBJECT','%TB_MK_E_SYNTAX','%TB_PAGEDOWN','%TB_PAGEUP',
+                        '%TB_REGDB_E_CLASSNOTREG','%TB_REGDB_E_WRITEREGDB','%TB_SIZEOF_TBVARIANT','%TB_S_FALSE','%TB_S_OK','%TB_THUMBPOSITION','%TB_THUMBTRACK','%TB_TOP',
+                        '%TCM_FIRST','%TCM_GETCURSEL','%TCN_FOCUSCHANGE','%TCN_GETOBJECT','%TCN_SELCHANGE','%TCN_SELCHANGING','%TCS_BOTTOM','%TCS_BUTTONS',
+                        '%TCS_EX_FLATSEPARATORS','%TCS_EX_REGISTERDROP','%TCS_FIXEDWIDTH','%TCS_FLATBUTTONS','%TCS_FOCUSNEVER','%TCS_FOCUSONBUTTONDOWN','%TCS_FORCEICONLEFT','%TCS_FORCELABELLEFT',
+                        '%TCS_HOTTRACK','%TCS_MULTILINE','%TCS_MULTISELECT','%TCS_OWNERDRAWFIXED','%TCS_RAGGEDRIGHT','%TCS_RIGHT','%TCS_RIGHTJUSTIFY','%TCS_SCROLLOPPOSITE',
+                        '%TCS_SINGLELINE','%TCS_TABS','%TCS_TOOLTIPS','%TCS_VERTICAL','%TM_PLAINTEXT','%TM_RICHTEXT','%TOKENIZER_DEFAULT_ALPHA','%TOKENIZER_DEFAULT_DELIM',
+                        '%TOKENIZER_DEFAULT_DQUOTE','%TOKENIZER_DEFAULT_NEWLINE','%TOKENIZER_DEFAULT_NUMERIC','%TOKENIZER_DEFAULT_SPACE','%TOKENIZER_DELIMITER','%TOKENIZER_EOL','%TOKENIZER_ERROR','%TOKENIZER_FINISHED',
+                        '%TOKENIZER_NUMBER','%TOKENIZER_QUOTE','%TOKENIZER_STRING','%TOKENIZER_UNDEFTOK','%TRUE','%TV_FIRST','%UDM_GETACCEL','%UDM_GETBASE',
+                        '%UDM_GETBUDDY','%UDM_GETPOS','%UDM_GETPOS32','%UDM_GETRANGE','%UDM_GETRANGE32','%UDM_GETUNICODEFORMAT','%UDM_SETACCEL','%UDM_SETBASE',
+                        '%UDM_SETBUDDY','%UDM_SETPOS','%UDM_SETPOS32','%UDM_SETRANGE','%UDM_SETRANGE32','%UDM_SETUNICODEFORMAT','%UDS_ALIGNLEFT','%UDS_ALIGNRIGHT',
+                        '%UDS_ARROWKEYS','%UDS_AUTOBUDDY','%UDS_HORZ','%UDS_HOTTRACK','%UDS_NOTHOUSANDS','%UDS_SETBUDDYINT','%UDS_WRAP','%UD_MAXVAL',
+                        '%UD_MINVAL','%VK_0','%VK_1','%VK_2','%VK_3','%VK_4','%VK_5','%VK_6',
+                        '%VK_7','%VK_8','%VK_9','%VK_A','%VK_ACCEPT','%VK_ADD','%VK_APPS','%VK_B',
+                        '%VK_BACK','%VK_C','%VK_CANCEL','%VK_CAPITAL','%VK_CLEAR','%VK_CONTROL','%VK_CONVERT','%VK_D',
+                        '%VK_DECIMAL','%VK_DELETE','%VK_DIVIDE','%VK_DOWN','%VK_E','%VK_END','%VK_ESCAPE','%VK_EXECUTE',
+                        '%VK_F','%VK_F1','%VK_F10','%VK_F11','%VK_F12','%VK_F13','%VK_F14','%VK_F15',
+                        '%VK_F16','%VK_F17','%VK_F18','%VK_F19','%VK_F2','%VK_F20','%VK_F21','%VK_F22',
+                        '%VK_F23','%VK_F24','%VK_F3','%VK_F4','%VK_F5','%VK_F6','%VK_F7','%VK_F8',
+                        '%VK_F9','%VK_FINAL','%VK_G','%VK_H','%VK_HANGEUL','%VK_HANGUL','%VK_HANJA','%VK_HELP',
+                        '%VK_HOME','%VK_I','%VK_INSERT','%VK_J','%VK_JUNJA','%VK_K','%VK_KANA','%VK_KANJI',
+                        '%VK_L','%VK_LBUTTON','%VK_LEFT','%VK_LINEFEED','%VK_LWIN','%VK_M','%VK_MBUTTON','%VK_MENU',
+                        '%VK_MODECHANGE','%VK_MULTIPLY','%VK_N','%VK_NEXT','%VK_NONCONVERT','%VK_NUMLOCK','%VK_NUMPAD0','%VK_NUMPAD1',
+                        '%VK_NUMPAD2','%VK_NUMPAD3','%VK_NUMPAD4','%VK_NUMPAD5','%VK_NUMPAD6','%VK_NUMPAD7','%VK_NUMPAD8','%VK_NUMPAD9',
+                        '%VK_O','%VK_P','%VK_PAUSE','%VK_PGDN','%VK_PGUP','%VK_PRINT','%VK_PRIOR','%VK_Q',
+                        '%VK_R','%VK_RBUTTON','%VK_RETURN','%VK_RIGHT','%VK_RWIN','%VK_S','%VK_SCROLL','%VK_SELECT',
+                        '%VK_SEPARATOR','%VK_SHIFT','%VK_SLEEP','%VK_SNAPSHOT','%VK_SPACE','%VK_SUBTRACT','%VK_T','%VK_TAB',
+                        '%VK_U','%VK_UP','%VK_V','%VK_W','%VK_X','%VK_XBUTTON1','%VK_XBUTTON2','%VK_Y',
+                        '%VK_Z','%VT_ARRAY','%VT_BLOB','%VT_BLOB_OBJECT','%VT_BOOL','%VT_BSTR','%VT_BYREF','%VT_CARRAY',
+                        '%VT_CF','%VT_CLSID','%VT_CY','%VT_DATE','%VT_DISPATCH','%VT_EMPTY','%VT_ERROR','%VT_FILETIME',
+                        '%VT_HRESULT','%VT_I1','%VT_I2','%VT_I4','%VT_I8','%VT_INT','%VT_LPSTR','%VT_LPWSTR',
+                        '%VT_NULL','%VT_PTR','%VT_R4','%VT_R8','%VT_RECORD','%VT_RESERVED','%VT_SAFEARRAY','%VT_STORAGE',
+                        '%VT_STORED_OBJECT','%VT_STREAM','%VT_STREAMED_OBJECT','%VT_UI1','%VT_UI2','%VT_UI4','%VT_UI8','%VT_UINT',
+                        '%VT_UNKNOWN','%VT_USERDEFINED','%VT_VARIANT','%VT_VECTOR','%VT_VOID','%WAVE_FORMAT_1M08','%WAVE_FORMAT_1M16','%WAVE_FORMAT_1S08',
+                        '%WAVE_FORMAT_1S16','%WAVE_FORMAT_2M08','%WAVE_FORMAT_2M16','%WAVE_FORMAT_2S08','%WAVE_FORMAT_2S16','%WAVE_FORMAT_4M08','%WAVE_FORMAT_4M16','%WAVE_FORMAT_4S08',
+                        '%WAVE_FORMAT_4S16','%WBF_CUSTOM','%WBF_LEVEL1','%WBF_LEVEL2','%WBF_OVERFLOW','%WBF_WORDBREAK','%WBF_WORDWRAP','%WHITE',
+                        '%WIN_FINDTITLECONTAIN','%WIN_FINDTITLEEND','%WIN_FINDTITLEEQUAL','%WIN_FINDTITLESTART','%WM_ACTIVATE','%WM_ACTIVATEAPP','%WM_CAPTURECHANGED','%WM_CHAR',
+                        '%WM_CLOSE','%WM_COMMAND','%WM_DESTROY','%WM_DROPFILES','%WM_ERASEBKGND','%WM_GETTEXTLENGTH','%WM_HOTKEY','%WM_HSCROLL',
+                        '%WM_IDLE','%WM_INITDIALOG','%WM_KEYDOWN','%WM_KEYUP','%WM_KILLFOCUS','%WM_LBUTTONDBLCLK','%WM_LBUTTONDOWN','%WM_LBUTTONUP',
+                        '%WM_MBUTTONDBLCLK','%WM_MBUTTONDOWN','%WM_MBUTTONUP','%WM_MOUSEFIRST','%WM_MOUSEMOVE','%WM_MOUSEWHEEL','%WM_MOVE','%WM_MOVING',
+                        '%WM_NCLBUTTONDOWN','%WM_NCRBUTTONDOWN','%WM_NEXTDLGCTL','%WM_NOTIFY','%WM_PAINT','%WM_QUIT','%WM_RBUTTONDBLCLK','%WM_RBUTTONDOWN',
+                        '%WM_RBUTTONUP','%WM_SETFOCUS','%WM_SETFONT','%WM_SETTEXT','%WM_SIZE','%WM_SIZING','%WM_SYSCOMMAND','%WM_TIMER',
+                        '%WM_USER','%WM_VSCROLL','%WS_BORDER','%WS_CAPTION','%WS_CHILD','%WS_CLIPCHILDREN','%WS_CLIPSIBLINGS','%WS_DISABLED',
+                        '%WS_DLGFRAME','%WS_EX_ACCEPTFILES','%WS_EX_APPWINDOW','%WS_EX_CLIENTEDGE','%WS_EX_CONTEXTHELP','%WS_EX_CONTROLPARENT','%WS_EX_LAYERED','%WS_EX_LEFT',
+                        '%WS_EX_LEFTSCROLLBAR','%WS_EX_LTRREADING','%WS_EX_MDICHILD','%WS_EX_NOPARENTNOTIFY','%WS_EX_OVERLAPPEDWINDOW','%WS_EX_PALETTEWINDOW','%WS_EX_RIGHT','%WS_EX_RIGHTSCROLLBAR',
+                        '%WS_EX_RTLREADING','%WS_EX_STATICEDGE','%WS_EX_TOOLWINDOW','%WS_EX_TOPMOST','%WS_EX_TRANSPARENT','%WS_EX_WINDOWEDGE','%WS_GROUP','%WS_HSCROLL',
+                        '%WS_ICONIC','%WS_MAXIMIZE','%WS_MAXIMIZEBOX','%WS_MINIMIZE','%WS_MINIMIZEBOX','%WS_OVERLAPPEDWINDOW','%WS_POPUP','%WS_POPUPWINDOW',
+                        '%WS_SYSMENU','%WS_TABSTOP','%WS_THICKFRAME','%WS_VISIBLE','%WS_VSCROLL','%YELLOW','%ZERO','CRLF',
+                        'FALSE','M_E','M_PI','NULL','TAB','TRUE'
+                        )
+                ),
+        'SYMBOLS' => array(
+          '(', ')', '{', '}', '[', ']', '=', '+', '-', '*', '/', '!', '%', '^', '&', ':'
+          ),
+        'CASE_SENSITIVE' => array(
+                GESHI_COMMENTS => false,
+                1 => false
+                ),
+        'STYLES' => array(
+                'KEYWORDS' => array(
+                        1 => 'color: #0000FF; font-weight: bold;',
+                        2 => 'color: #993333; font-style: italic; font-weight: bold;',
+                        3 => 'color: #000066;',
+                        4 => 'color: #993333;'
+                        ),
+                'COMMENTS' => array(
+                        1 => 'color: #008000;'
+                        ),
+                'BRACKETS' => array(
+                        0 => 'color: #333333;'
+                        ),
+                'STRINGS' => array(
+                        0 => 'color: #800080;'
+                        ),
+                'NUMBERS' => array(
+                        0 => 'color: #CC0000;'
+                        ),
+                'METHODS' => array(
+                        1 => 'color: #66cc66;'
+                        ),
+                'SYMBOLS' => array(
+                        0 => 'color: #333333;'
+                        ),
+                'ESCAPE_CHAR' => array(
+                        0 => 'color: #000099;'
+                        ),
+                'SCRIPT' => array(
+                        ),
+                'REGEXPS' => array(
+                        )
+                ),
+        'OOLANG' => false,
+        'OBJECT_SPLITTERS' => array(
+                1 => '_'
+                ),
+        'REGEXPS' => array(
+                ),
+        'STRICT_MODE_APPLIES' => GESHI_NEVER,
+        'SCRIPT_DELIMITERS' => array(
+                ),
+        'HIGHLIGHT_STRICT_BLOCK' => array(
+                )
+);
+
+?>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/plugins/geshi/geshi/tsql.php	Sun Feb 10 18:10:52 2008 -0500
@@ -0,0 +1,382 @@
+<?php
+/*************************************************************************************
+ * tsql.php
+ * --------
+ * Author: Duncan Lock (dunc@dflock.co.uk)
+ * Copyright: (c) 2006 Duncan Lock (http://dflock.co.uk/), Nigel McNie (http://qbnz.com/highlighter)
+ * Release Version: 1.0.7.20
+ * Date Started: 2005/11/22
+ *
+ * T-SQL language file for GeSHi.
+ *
+ * CHANGES
+ * -------
+ * 2004/01/23 (1.0.0)
+ *  -  First Release
+ *
+ * TODO (updated 2006/01/23)
+ * -------------------------
+ *
+ *************************************************************************************
+ *
+ *     This file is part of GeSHi.
+ *
+ *   GeSHi is free software; you can 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.
+ *
+ *   GeSHi is distributed in the hope that it will be useful,
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *   GNU General Public License for more details.
+ *
+ *   You should have received a copy of the GNU General Public License
+ *   along with GeSHi; if not, write to the Free Software
+ *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
+ ************************************************************************************/
+
+$language_data = array (
+	'LANG_NAME' => 'T-SQL',
+	'COMMENT_SINGLE' => array(1 => '--'),
+	'COMMENT_MULTI' => array('/*' => '*/'),
+	'CASE_KEYWORDS' => GESHI_CAPS_UPPER,
+	'QUOTEMARKS' => array("'", '"'),
+	'ESCAPE_CHAR' => '\\',
+	'KEYWORDS' => array(
+		1 => array(
+			/* 
+				This will be highlighted in blue
+			*/
+
+			// Datatypes
+			'bigint', 'int', 'smallint', 'tinyint', 'bit', 'decimal', 'numeric', 'money', 
+			'smallmoney', 'float', 'real', 'datetime', 'smalldatetime', 'char', 'varchar', 
+			'text', 'nchar', 'nvarchar', 'ntext', 'binary', 'varbinary', 'image', 'cursor', 
+			'sql_variant', 'table', 'timestamp', 'uniqueidentifier',
+
+			// Keywords
+			'ABSOLUTE', 'ACTION', 'ADD', 'ADMIN', 'AFTER', 'AGGREGATE', 'ALIAS', 'ALLOCATE', 'ALTER', 'ARE', 'ARRAY', 'AS',
+			'ASC', 'ASSERTION', 'AT', 'AUTHORIZATION', 'BACKUP', 'BEFORE', 'BEGIN', 'BINARY', 'BIT', 'BLOB', 'BOOLEAN', 'BOTH', 'BREADTH',
+			'BREAK', 'BROWSE', 'BULK', 'BY', 'CALL', 'CASCADE', 'CASCADED', 'CASE', 'CAST', 'CATALOG', 'CHAR', 'CHARACTER', 'CHECK', 'CHECKPOINT',
+			'CLASS', 'CLOB', 'CLOSE', 'CLUSTERED', 'COALESCE', 'COLLATE', 'COLLATION', 'COLUMN', 'COMMIT', 'COMPLETION', 'COMPUTE', 'CONNECT',
+			'CONNECTION', 'CONSTRAINT', 'CONSTRAINTS', 'CONSTRUCTOR', 'CONTAINS', 'CONTAINSTABLE', 'CONTINUE', 'CONVERT', 'CORRESPONDING', 'CREATE',
+			'CUBE', 'CURRENT', 'CURRENT_DATE', 'CURRENT_PATH', 'CURRENT_ROLE', 'CURRENT_TIME', 'CURRENT_TIMESTAMP', 'CURRENT_USER',
+			'CURSOR', 'CYCLE', 'DATA', 'DATABASE', 'DATE', 'DAY', 'DBCC', 'DEALLOCATE', 'DEC', 'DECIMAL', 'DECLARE', 'DEFAULT', 'DEFERRABLE',
+			'DEFERRED', 'DELETE', 'DENY', 'DEPTH', 'DEREF', 'DESC', 'DESCRIBE', 'DESCRIPTOR', 'DESTROY', 'DESTRUCTOR', 'DETERMINISTIC',
+			'DIAGNOSTICS', 'DICTIONARY', 'DISCONNECT', 'DISK', 'DISTINCT', 'DISTRIBUTED', 'DOMAIN', 'DOUBLE', 'DROP', 'DUMMY', 'DUMP', 'DYNAMIC',
+			'EACH', 'ELSE', 'END', 'END-EXEC', 'EQUALS', 'ERRLVL', 'ESCAPE', 'EVERY', 'EXCEPT', 'EXCEPTION', 'EXEC', 'EXECUTE', 'EXIT',
+			'EXTERNAL', 'FALSE', 'FETCH', 'FILE', 'FILLFACTOR', 'FIRST', 'FLOAT', 'FOR', 'FOREIGN', 'FOUND', 'FREE', 'FREETEXT', 'FREETEXTTABLE',
+			'FROM', 'FULL', 'FUNCTION', 'GENERAL', 'GET', 'GLOBAL', 'GOTO', 'GRANT', 'GROUP', 'GROUPING', 'HAVING', 'HOLDLOCK', 'HOST', 'HOUR',
+			'IDENTITY', 'IDENTITY_INSERT', 'IDENTITYCOL', 'IF', 'IGNORE', 'IMMEDIATE', 'INDEX', 'INDICATOR', 'INITIALIZE', 'INITIALLY',
+			'INNER', 'INOUT', 'INPUT', 'INSERT', 'INT', 'INTEGER', 'INTERSECT', 'INTERVAL', 'INTO', 'IS', 'ISOLATION', 'ITERATE', 'KEY',
+			'KILL', 'LANGUAGE', 'LARGE', 'LAST', 'LATERAL', 'LEADING', 'LEFT', 'LESS', 'LEVEL', 'LIMIT', 'LINENO', 'LOAD', 'LOCAL',
+			'LOCALTIME', 'LOCALTIMESTAMP', 'LOCATOR', 'MAP', 'MATCH', 'MINUTE', 'MODIFIES', 'MODIFY', 'MODULE', 'MONTH', 'NAMES', 'NATIONAL',
+			'NATURAL', 'NCHAR', 'NCLOB', 'NEW', 'NEXT', 'NO', 'NOCHECK', 'NONCLUSTERED', 'NONE', 'NULLIF', 'NUMERIC', 'OBJECT', 'OF',
+			'OFF', 'OFFSETS', 'OLD', 'ON', 'ONLY', 'OPEN', 'OPENDATASOURCE', 'OPENQUERY', 'OPENROWSET', 'OPENXML', 'OPERATION', 'OPTION',
+			'ORDER', 'ORDINALITY', 'OUT', 'OUTPUT', 'OVER', 'PAD', 'PARAMETER', 'PARAMETERS', 'PARTIAL', 'PATH', 'PERCENT', 'PLAN',
+			'POSTFIX', 'PRECISION', 'PREFIX', 'PREORDER', 'PREPARE', 'PRESERVE', 'PRIMARY', 'PRINT', 'PRIOR', 'PRIVILEGES', 'PROC', 'PROCEDURE',
+			'PUBLIC', 'RAISERROR', 'READ', 'READS', 'READTEXT', 'REAL', 'RECONFIGURE', 'RECURSIVE', 'REF', 'REFERENCES', 'REFERENCING', 'RELATIVE',
+			'REPLICATION', 'RESTORE', 'RESTRICT', 'RESULT', 'RETURN', 'RETURNS', 'REVOKE', 'RIGHT', 'ROLE', 'ROLLBACK', 'ROLLUP', 'ROUTINE', 'ROW',
+			'ROWGUIDCOL', 'ROWS', 'RULE', 'SAVE', 'SAVEPOINT', 'SCHEMA', 'SCOPE', 'SCROLL', 'SEARCH', 'SECOND', 'SECTION', 'SELECT',
+			'SEQUENCE', 'SESSION', 'SESSION_USER', 'SET', 'SETS', 'SETUSER', 'SHUTDOWN', 'SIZE', 'SMALLINT', 'SPACE', 'SPECIFIC',
+			'SPECIFICTYPE', 'SQL', 'SQLEXCEPTION', 'SQLSTATE', 'SQLWARNING', 'START', 'STATE', 'STATEMENT', 'STATIC', 'STATISTICS', 'STRUCTURE',
+			'SYSTEM_USER', 'TABLE', 'TEMPORARY', 'TERMINATE', 'TEXTSIZE', 'THAN', 'THEN', 'TIME', 'TIMESTAMP', 'TIMEZONE_HOUR', 'TIMEZONE_MINUTE',
+			'TO', 'TOP', 'TRAILING', 'TRAN', 'TRANSACTION', 'TRANSLATION', 'TREAT', 'TRIGGER', 'TRUE', 'TRUNCATE', 'TSEQUAL', 'UNDER', 'UNION',
+			'UNIQUE', 'UNKNOWN', 'UNNEST', 'UPDATE', 'UPDATETEXT', 'USAGE', 'USE', 'USER', 'USING', 'VALUE', 'VALUES', 'VARCHAR', 'VARIABLE',
+			'VARYING', 'VIEW', 'WAITFOR', 'WHEN', 'WHENEVER', 'WHERE', 'WHILE', 'WITH', 'WITHOUT', 'WORK', 'WRITE', 'WRITETEXT', 'YEAR', 'ZONE',
+			'UNCOMMITTED', 'NOCOUNT',
+			),
+		2 => array(
+			/*
+				Built-in functions
+				Highlighted in pink.
+			*/
+
+			//Configuration Functions
+			'@@DATEFIRST','@@OPTIONS','@@DBTS','@@REMSERVER','@@LANGID','@@SERVERNAME', 
+			'@@LANGUAGE','@@SERVICENAME','@@LOCK_TIMEOUT','@@SPID','@@MAX_CONNECTIONS','@@TEXTSIZE', 
+			'@@MAX_PRECISION','@@VERSION','@@NESTLEVEL',
+
+			//Cursor Functions
+			'@@CURSOR_ROWS','@@FETCH_STATUS',
+
+			//Date and Time Functions
+			'DATEADD','DATEDIFF','DATENAME','DATEPART','DAY','GETDATE','GETUTCDATE','MONTH','YEAR',
+
+			//Mathematical Functions
+			'ABS','DEGREES','RAND','ACOS','EXP','ROUND','ASIN','FLOOR','SIGN', 
+			'ATAN','LOG','SIN','ATN2','LOG10','SQUARE','CEILING','PI','SQRT','COS', 
+			'POWER','TAN','COT','RADIANS',
+
+			//Meta Data Functions
+			'COL_LENGTH','fn_listextendedproperty','COL_NAME','FULLTEXTCATALOGPROPERTY', 
+			'COLUMNPROPERTY','FULLTEXTSERVICEPROPERTY','DATABASEPROPERTY','INDEX_COL', 
+			'DATABASEPROPERTYEX','INDEXKEY_PROPERTY','DB_ID','INDEXPROPERTY','DB_NAME', 
+			'OBJECT_ID','FILE_ID','OBJECT_NAME','FILE_NAME','OBJECTPROPERTY','FILEGROUP_ID', 
+			'@@PROCID','FILEGROUP_NAME','SQL_VARIANT_PROPERTY','FILEGROUPPROPERTY', 
+			'TYPEPROPERTY','FILEPROPERTY',
+
+			//Security Functions
+			'fn_trace_geteventinfo','IS_SRVROLEMEMBER','fn_trace_getfilterinfo','SUSER_SID', 
+			'fn_trace_getinfo','SUSER_SNAME','fn_trace_gettable','USER_ID','HAS_DBACCESS', 
+			'IS_MEMBER',
+
+			//String Functions
+			'ASCII','NCHAR','SOUNDEX','CHAR','PATINDEX','SPACE','CHARINDEX', 
+			'REPLACE','STR','DIFFERENCE','QUOTENAME','STUFF','LEFT','REPLICATE', 
+			'SUBSTRING','LEN','REVERSE','UNICODE','LOWER','RIGHT','UPPER','LTRIM', 
+			'RTRIM',
+
+			//System Functions
+			'APP_NAME','COLLATIONPROPERTY','@@ERROR','fn_helpcollations', 
+			'fn_servershareddrives','fn_virtualfilestats','FORMATMESSAGE', 
+			'GETANSINULL','HOST_ID','HOST_NAME','IDENT_CURRENT','IDENT_INCR', 
+			'IDENT_SEED','@@IDENTITY','ISDATE','ISNUMERIC','PARSENAME','PERMISSIONS', 
+			'@@ROWCOUNT','ROWCOUNT_BIG','SCOPE_IDENTITY','SERVERPROPERTY','SESSIONPROPERTY', 
+			'STATS_DATE','@@TRANCOUNT','USER_NAME',
+
+			//System Statistical Functions
+			'@@CONNECTIONS','@@PACK_RECEIVED','@@CPU_BUSY','@@PACK_SENT',
+			'fn_virtualfilestats','@@TIMETICKS','@@IDLE','@@TOTAL_ERRORS','@@IO_BUSY',
+			'@@TOTAL_READ','@@PACKET_ERRORS','@@TOTAL_WRITE',
+
+			//Text and Image Functions
+			'TEXTPTR','TEXTVALID',
+			
+			//Aggregate functions
+			'AVG', 'MAX', 'BINARY_CHECKSUM', 'MIN', 'CHECKSUM', 'SUM', 'CHECKSUM_AGG', 
+			'STDEV', 'COUNT', 'STDEVP', 'COUNT_BIG', 'VAR', 'GROUPING', 'VARP'
+			),
+		3 => array(
+			/*	
+				System stored procedures
+				Higlighted dark brown
+			*/
+
+			//Active Directory Procedures
+			'sp_ActiveDirectory_Obj', 'sp_ActiveDirectory_SCP',
+
+			//Catalog Procedures
+			'sp_column_privileges', 'sp_special_columns', 'sp_columns', 'sp_sproc_columns', 
+			'sp_databases', 'sp_statistics', 'sp_fkeys', 'sp_stored_procedures', 'sp_pkeys', 
+			'sp_table_privileges', 'sp_server_info', 'sp_tables',
+
+			//Cursor Procedures
+			'sp_cursor_list', 'sp_describe_cursor_columns', 'sp_describe_cursor', 'sp_describe_cursor_tables',
+
+			//Database Maintenance Plan Procedures
+			'sp_add_maintenance_plan', 'sp_delete_maintenance_plan_db', 'sp_add_maintenance_plan_db', 
+			'sp_delete_maintenance_plan_job', 'sp_add_maintenance_plan_job', 'sp_help_maintenance_plan', 
+			'sp_delete_maintenance_plan',
+
+			//Distributed Queries Procedures
+			'sp_addlinkedserver', 'sp_indexes', 'sp_addlinkedsrvlogin', 'sp_linkedservers', 'sp_catalogs', 
+			'sp_primarykeys', 'sp_column_privileges_ex', 'sp_serveroption', 'sp_columns_ex', 
+			'sp_table_privileges_ex', 'sp_droplinkedsrvlogin', 'sp_tables_ex', 'sp_foreignkeys',
+
+			//Full-Text Search Procedures
+			'sp_fulltext_catalog', 'sp_help_fulltext_catalogs_cursor', 'sp_fulltext_column', 
+			'sp_help_fulltext_columns', 'sp_fulltext_database', 'sp_help_fulltext_columns_cursor', 
+			'sp_fulltext_service', 'sp_help_fulltext_tables', 'sp_fulltext_table', 
+			'sp_help_fulltext_tables_cursor', 'sp_help_fulltext_catalogs',
+
+			//Log Shipping Procedures
+			'sp_add_log_shipping_database', 'sp_delete_log_shipping_database', 'sp_add_log_shipping_plan',
+			'sp_delete_log_shipping_plan', 'sp_add_log_shipping_plan_database', 
+			'sp_delete_log_shipping_plan_database', 'sp_add_log_shipping_primary', 
+			'sp_delete_log_shipping_primary', 'sp_add_log_shipping_secondary', 
+			'sp_delete_log_shipping_secondary', 'sp_can_tlog_be_applied', 'sp_get_log_shipping_monitor_info', 
+			'sp_change_monitor_role', 'sp_remove_log_shipping_monitor', 'sp_change_primary_role', 
+			'sp_resolve_logins', 'sp_change_secondary_role', 'sp_update_log_shipping_monitor_info', 
+			'sp_create_log_shipping_monitor_account', 'sp_update_log_shipping_plan', 
+			'sp_define_log_shipping_monitor', 'sp_update_log_shipping_plan_database',
+
+			//OLE Automation Extended Stored Procedures
+			'sp_OACreate', 'sp_OAMethod', 'sp_OADestroy', 'sp_OASetProperty', 'sp_OAGetErrorInfo', 
+			'sp_OAStop', 'sp_OAGetProperty',
+
+			//Replication Procedures
+			'sp_add_agent_parameter', 'sp_enableagentoffload', 'sp_add_agent_profile', 
+			'sp_enumcustomresolvers', 'sp_addarticle', 'sp_enumdsn', 'sp_adddistpublisher', 
+			'sp_enumfullsubscribers', 'sp_adddistributiondb', 'sp_expired_subscription_cleanup', 
+			'sp_adddistributor', 'sp_generatefilters', 'sp_addmergealternatepublisher', 
+			'sp_getagentoffloadinfo', 'sp_addmergearticle', 'sp_getmergedeletetype', 'sp_addmergefilter', 
+			'sp_get_distributor', 'sp_addmergepublication', 'sp_getqueuedrows', 'sp_addmergepullsubscription', 
+			'sp_getsubscriptiondtspackagename', 'sp_addmergepullsubscription_agent', 'sp_grant_publication_access', 
+			'sp_addmergesubscription', 'sp_help_agent_default', 'sp_addpublication', 'sp_help_agent_parameter', 
+			'sp_addpublication_snapshot', 'sp_help_agent_profile', 'sp_addpublisher70', 'sp_helparticle', 
+			'sp_addpullsubscription', 'sp_helparticlecolumns', 'sp_addpullsubscription_agent', 'sp_helparticledts', 
+			'sp_addscriptexec', 'sp_helpdistpublisher', 'sp_addsubscriber', 'sp_helpdistributiondb', 
+			'sp_addsubscriber_schedule', 'sp_helpdistributor', 'sp_addsubscription', 'sp_helpmergealternatepublisher', 
+			'sp_addsynctriggers', 'sp_helpmergearticle', 'sp_addtabletocontents', 'sp_helpmergearticlecolumn', 
+			'sp_adjustpublisheridentityrange', 'sp_helpmergearticleconflicts', 'sp_article_validation', 
+			'sp_helpmergeconflictrows', 'sp_articlecolumn', 'sp_helpmergedeleteconflictrows', 'sp_articlefilter', 
+			'sp_helpmergefilter', 'sp_articlesynctranprocs', 'sp_helpmergepublication', 'sp_articleview', 
+			'sp_helpmergepullsubscription', 'sp_attachsubscription', 'sp_helpmergesubscription', 'sp_browsesnapshotfolder', 
+			'sp_helppublication', 'sp_browsemergesnapshotfolder', 'sp_help_publication_access', 'sp_browsereplcmds', 
+			'sp_helppullsubscription', 'sp_change_agent_parameter', 'sp_helpreplfailovermode', 'sp_change_agent_profile', 
+			'sp_helpreplicationdboption', 'sp_changearticle', 'sp_helpreplicationoption', 'sp_changedistpublisher', 
+			'sp_helpsubscriberinfo', 'sp_changedistributiondb', 'sp_helpsubscription', 'sp_changedistributor_password', 
+			'sp_ivindexhasnullcols', 'sp_changedistributor_property', 'sp_helpsubscription_properties', 'sp_changemergearticle', 
+			'sp_link_publication', 'sp_changemergefilter', 'sp_marksubscriptionvalidation', 'sp_changemergepublication', 
+			'sp_mergearticlecolumn', 'sp_changemergepullsubscription', 'sp_mergecleanupmetadata', 'sp_changemergesubscription', 
+			'sp_mergedummyupdate', 'sp_changepublication', 'sp_mergesubscription_cleanup', 'sp_changesubscriber', 
+			'sp_publication_validation', 'sp_changesubscriber_schedule', 'sp_refreshsubscriptions', 'sp_changesubscriptiondtsinfo', 
+			'sp_reinitmergepullsubscription', 'sp_changesubstatus', 'sp_reinitmergesubscription', 'sp_change_subscription_properties', 
+			'sp_reinitpullsubscription', 'sp_check_for_sync_trigger', 'sp_reinitsubscription', 'sp_copymergesnapshot', 
+			'sp_removedbreplication', 'sp_copysnapshot', 'sp_repladdcolumn', 'sp_copysubscription', 'sp_replcmds', 
+			'sp_deletemergeconflictrow', 'sp_replcounters', 'sp_disableagentoffload', 'sp_repldone', 'sp_drop_agent_parameter', 
+			'sp_repldropcolumn', 'sp_drop_agent_profile', 'sp_replflush', 'sp_droparticle', 'sp_replicationdboption', 
+			'sp_dropanonymouseagent', 'sp_replication_agent_checkup', 'sp_dropdistpublisher', 'sp_replqueuemonitor', 
+			'sp_dropdistributiondb', 'sp_replsetoriginator', 'sp_dropmergealternatepublisher', 'sp_replshowcmds', 
+			'sp_dropdistributor', 'sp_repltrans', 'sp_dropmergearticle', 'sp_restoredbreplication', 'sp_dropmergefilter', 
+			'sp_revoke_publication_access', 'sp_scriptsubconflicttable', 'sp_dropmergepublication', 'sp_script_synctran_commands', 
+			'sp_dropmergepullsubscription', 'sp_setreplfailovermode', 'sp_showrowreplicainfo', 'sp_dropmergesubscription', 
+			'sp_subscription_cleanup', 'sp_droppublication', 'sp_table_validation', 'sp_droppullsubscription', 
+			'sp_update_agent_profile', 'sp_dropsubscriber', 'sp_validatemergepublication', 'sp_dropsubscription', 
+			'sp_validatemergesubscription', 'sp_dsninfo', 'sp_vupgrade_replication', 'sp_dumpparamcmd',
+
+			//Security Procedures
+			'sp_addalias', 'sp_droprolemember', 'sp_addapprole', 'sp_dropserver', 'sp_addgroup', 'sp_dropsrvrolemember', 
+			'sp_addlinkedsrvlogin', 'sp_dropuser', 'sp_addlogin', 'sp_grantdbaccess', 'sp_addremotelogin', 
+			'sp_grantlogin', 'sp_addrole', 'sp_helpdbfixedrole', 'sp_addrolemember', 'sp_helpgroup', 
+			'sp_addserver', 'sp_helplinkedsrvlogin', 'sp_addsrvrolemember', 'sp_helplogins', 'sp_adduser', 
+			'sp_helpntgroup', 'sp_approlepassword', 'sp_helpremotelogin', 'sp_changedbowner', 'sp_helprole', 
+			'sp_changegroup', 'sp_helprolemember', 'sp_changeobjectowner', 'sp_helprotect', 'sp_change_users_login', 
+			'sp_helpsrvrole', 'sp_dbfixedrolepermission', 'sp_helpsrvrolemember', 'sp_defaultdb', 'sp_helpuser', 
+			'sp_defaultlanguage', 'sp_MShasdbaccess', 'sp_denylogin', 'sp_password', 'sp_dropalias', 'sp_remoteoption', 
+			'sp_dropapprole', 'sp_revokedbaccess', 'sp_dropgroup', 'sp_revokelogin', 'sp_droplinkedsrvlogin', 
+			'sp_setapprole', 'sp_droplogin', 'sp_srvrolepermission', 'sp_dropremotelogin', 'sp_validatelogins', 'sp_droprole',
+
+			//SQL Mail Procedures
+			'sp_processmail', 'xp_sendmail', 'xp_deletemail', 'xp_startmail', 'xp_findnextmsg', 'xp_stopmail', 'xp_readmail',
+
+			//SQL Profiler Procedures
+			'sp_trace_create', 'sp_trace_setfilter', 'sp_trace_generateevent', 'sp_trace_setstatus', 'sp_trace_setevent',
+
+			//SQL Server Agent Procedures
+			'sp_add_alert', 'sp_help_jobhistory', 'sp_add_category', 'sp_help_jobschedule', 'sp_add_job', 
+			'sp_help_jobserver', 'sp_add_jobschedule', 'sp_help_jobstep', 'sp_add_jobserver', 'sp_help_notification', 
+			'sp_add_jobstep', 'sp_help_operator', 'sp_add_notification', 'sp_help_targetserver', 
+			'sp_add_operator', 'sp_help_targetservergroup', 'sp_add_targetservergroup', 'sp_helptask', 
+			'sp_add_targetsvrgrp_member', 'sp_manage_jobs_by_login', 'sp_addtask', 'sp_msx_defect', 
+			'sp_apply_job_to_targets', 'sp_msx_enlist', 'sp_delete_alert', 'sp_post_msx_operation', 
+			'sp_delete_category', 'sp_purgehistory', 'sp_delete_job', 'sp_purge_jobhistory', 'sp_delete_jobschedule', 
+			'sp_reassigntask', 'sp_delete_jobserver', 'sp_remove_job_from_targets', 'sp_delete_jobstep', 
+			'sp_resync_targetserver', 'sp_delete_notification', 'sp_start_job', 'sp_delete_operator', 
+			'sp_stop_job', 'sp_delete_targetserver', 'sp_update_alert', 'sp_delete_targetservergroup', 
+			'sp_update_category', 'sp_delete_targetsvrgrp_member', 'sp_update_job', 'sp_droptask', 
+			'sp_update_jobschedule', 'sp_help_alert', 'sp_update_jobstep', 'sp_help_category', 
+			'sp_update_notification', 'sp_help_downloadlist', 'sp_update_operator', 'sp_helphistory', 
+			'sp_update_targetservergroup', 'sp_help_job', 'sp_updatetask', 'xp_sqlagent_proxy_account',
+
+			//System Procedures
+			'sp_add_data_file_recover_suspect_db', 'sp_helpconstraint', 'sp_addextendedproc', 
+			'sp_helpdb', 'sp_addextendedproperty', 'sp_helpdevice', 'sp_add_log_file_recover_suspect_db', 
+			'sp_helpextendedproc', 'sp_addmessage', 'sp_helpfile', 'sp_addtype', 'sp_helpfilegroup', 
+			'sp_addumpdevice', 'sp_helpindex', 'sp_altermessage', 'sp_helplanguage', 'sp_autostats', 
+			'sp_helpserver', 'sp_attach_db', 'sp_helpsort', 'sp_attach_single_file_db', 'sp_helpstats', 
+			'sp_bindefault', 'sp_helptext', 'sp_bindrule', 'sp_helptrigger', 'sp_bindsession', 
+			'sp_indexoption', 'sp_certify_removable', 'sp_invalidate_textptr', 'sp_configure', 
+			'sp_lock', 'sp_create_removable', 'sp_monitor', 'sp_createstats', 'sp_procoption', 
+			'sp_cycle_errorlog', 'sp_recompile', 'sp_datatype_info', 'sp_refreshview', 'sp_dbcmptlevel', 
+			'sp_releaseapplock', 'sp_dboption', 'sp_rename', 'sp_dbremove', 'sp_renamedb', 
+			'sp_delete_backuphistory', 'sp_resetstatus', 'sp_depends', 'sp_serveroption', 'sp_detach_db', 
+			'sp_setnetname', 'sp_dropdevice', 'sp_settriggerorder', 'sp_dropextendedproc', 'sp_spaceused', 
+			'sp_dropextendedproperty', 'sp_tableoption', 'sp_dropmessage', 'sp_unbindefault', 'sp_droptype', 
+			'sp_unbindrule', 'sp_executesql', 'sp_updateextendedproperty', 'sp_getapplock', 'sp_updatestats', 
+			'sp_getbindtoken', 'sp_validname', 'sp_help', 'sp_who',
+
+			//Web Assistant Procedures
+			'sp_dropwebtask', 'sp_makewebtask', 'sp_enumcodepages', 'sp_runwebtask',
+
+			//XML Procedures
+			'sp_xml_preparedocument', 'sp_xml_removedocument',
+
+			//General Extended Procedures
+			'xp_cmdshellxp_logininfo', 'xp_enumgroups', 'xp_msver', 'xp_findnextmsgxp_revokelogin', 
+			'xp_grantlogin', 'xp_sprintf', 'xp_logevent', 'xp_sqlmaint', 'xp_loginconfig', 'xp_sscanf',
+
+			//API System Stored Procedures
+			'sp_cursor', 'sp_cursorclose', 'sp_cursorexecute', 'sp_cursorfetch', 'sp_cursoropen', 
+			'sp_cursoroption', 'sp_cursorprepare', 'sp_cursorunprepare', 'sp_execute', 'sp_prepare', 'sp_unprepare',
+
+			//Misc
+			'sp_createorphan', 'sp_droporphans', 'sp_reset_connection', 'sp_sdidebug'
+			),
+		4 => array(
+			//Function/sp's higlighted brown.
+			'fn_helpcollations', 'fn_listextendedproperty ', 'fn_servershareddrives', 
+			'fn_trace_geteventinfo', 'fn_trace_getfilterinfo', 'fn_trace_getinfo', 
+			'fn_trace_gettable', 'fn_virtualfilestats',
+			),
+		),
+	'SYMBOLS' => array(
+		'!', '!=', '%', '&', '&&', '(', ')', '*', '+', '-', '/', '<', '<<', '<=', 
+		'<=>', '<>', '=', '>', '>=', '>>', '^', 'ALL', 'AND', 'ANY', 'BETWEEN', 'CROSS', 
+		'EXISTS', 'IN', 'JOIN', 'LIKE', 'NOT', 'NULL', 'OR', 'OUTER', 'SOME', '|', '||', '~'
+		),
+	'CASE_SENSITIVE' => array(
+		GESHI_COMMENTS => true,
+		1 => false,
+		2 => false,
+		3 => false,
+		4 => false,
+		),
+	'STYLES' => array(
+		'KEYWORDS' => array(
+			1 => 'color: #0000FF;',
+			2 => 'color: #FF00FF;',
+			3 => 'color: #AF0000;',
+			4 => 'color: #AF0000;'
+			),
+		'COMMENTS' => array(
+			1 => 'color: #008080;',
+			'MULTI' => 'color: #008080;'
+			),
+		'ESCAPE_CHAR' => array(
+			0 => 'color: #000099; font-weight: bold;'
+			),
+		'BRACKETS' => array(
+			0 => 'color: #808080;'
+			),
+		'STRINGS' => array(
+			0 => 'color: #FF0000;'
+			),
+		'NUMBERS' => array(
+			0 => 'color: #000;'
+			),
+		'METHODS' => array(
+			1 => 'color: #202020;',
+			2 => 'color: #202020;'
+			),
+		'SYMBOLS' => array(
+			0 => 'color: #808080;'
+			),
+		'REGEXPS' => array(
+			),
+		'SCRIPT' => array(
+			)
+		),
+	'URLS' => array(
+		1 => '',
+		2 => '',
+		3 => '',
+		4 => ''
+		),
+	'OOLANG' => true,
+	'OBJECT_SPLITTERS' => array(
+		1 => '.'
+		),
+	'REGEXPS' => array(
+		),
+	'STRICT_MODE_APPLIES' => GESHI_NEVER,
+	'SCRIPT_DELIMITERS' => array(
+		),
+	'HIGHLIGHT_STRICT_BLOCK' => array(
+		)
+);
+
+?>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/plugins/geshi/geshi/vb.php	Sun Feb 10 18:10:52 2008 -0500
@@ -0,0 +1,148 @@
+<?php
+/*************************************************************************************
+ * vb.php
+ * ------
+ * Author: Roberto Rossi (rsoftware@altervista.org)
+ * Copyright: (c) 2004 Roberto Rossi (http://rsoftware.altervista.org), Nigel McNie (http://qbnz.com/highlighter)
+ * Release Version: 1.0.7.20
+ * Date Started: 2004/08/30
+ *
+ * Visual Basic language file for GeSHi.
+ *
+ * CHANGES
+ * -------
+ * 2004/11/27 (1.0.1)
+ *  -  Added support for multiple object splitters
+ * 2004/08/30 (1.0.0)
+ *  -  First Release
+ *
+ * TODO (updated 2004/11/27)
+ * -------------------------
+ *
+ *************************************************************************************
+ *
+ *     This file is part of GeSHi.
+ *
+ *   GeSHi is free software; you can 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.
+ *
+ *   GeSHi is distributed in the hope that it will be useful,
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *   GNU General Public License for more details.
+ *
+ *   You should have received a copy of the GNU General Public License
+ *   along with GeSHi; if not, write to the Free Software
+ *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
+ ************************************************************************************/
+ $language_data = array (
+	'LANG_NAME' => 'Visual Basic',
+	'COMMENT_SINGLE' => array(1 => "'"),
+	'COMMENT_MULTI' => array(),
+	'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+	'QUOTEMARKS' => array('"'),
+	'ESCAPE_CHAR' => '',
+	'KEYWORDS' => array(
+		1 => array(
+			'as', 'err', 'boolean', 'and', 'or', 'recordset', 'unload', 'to',
+			'integer','long','single','new','database','nothing','set','close',
+			'open','print','split','line','field','querydef','instrrev',
+			'abs','array','asc','ascb','ascw','atn','avg','me',
+			'cbool','cbyte','ccur','cdate','cdbl','cdec','choose','chr','chrb','chrw','cint','clng',
+			'command','cos','count','createobject','csng','cstr','curdir','cvar','cvdate','cverr',
+			'date','dateadd','datediff','datepart','dateserial','datevalue','day','ddb','dir','doevents',
+			'environ','eof','error','exp',
+			'fileattr','filedatetime','filelen','fix','format','freefile','fv',
+			'getallstrings','getattr','getautoserversettings','getobject','getsetting',
+			'hex','hour','iif','imestatus','input','inputb','inputbox','instr','instb','int','ipmt',
+			'isarray','isdate','isempty','iserror','ismissing','isnull','isnumeric','isobject',
+			'lbound','lcase','left','leftb','len','lenb','loadpicture','loc','lof','log','ltrim',
+			'max','mid','midb','min','minute','mirr','month','msgbox',
+			'now','nper','npv','oct','partition','pmt','ppmt','pv','qbcolor',
+			'rate','rgb','right','rightb','rnd','rtrim',
+			'second','seek','sgn','shell','sin','sln','space','spc','sqr','stdev','stdevp','str',
+			'strcomp','strconv','string','switch','sum','syd',
+			'tab','tan','time','timer','timeserial','timevalue','trim','typename',
+			'ubound','ucase','val','var','varp','vartype','weekday','year',
+			'appactivate','base','beep','call','case','chdir','chdrive','const',
+			'declare','defbool','defbyte','defcur','defdate','defdbl','defdec','defint',
+			'deflng','defobj','defsng','defstr','deftype','defvar','deletesetting','dim','do',
+			'else','elseif','end','enum','erase','event','exit','explicit',
+			'false','filecopy','for','foreach','friend','function','get','gosub','goto',
+			'if','implements','kill','let','lineinput','lock','loop','lset','mkdir','name','next','not',
+			'onerror','on','option','private','property','public','put','raiseevent','randomize',
+			'redim','rem','reset','resume','return','rmdir','rset',
+			'savepicture','savesetting','sendkeys','setattr','static','sub',
+			'then','true','type','unlock','wend','while','width','with','write',
+			'vbabort','vbabortretryignore','vbapplicationmodal','vbarray',
+			'vbbinarycompare','vbblack','vbblue','vbboolean','vbbyte','vbcancel',
+			'vbcr','vbcritical','vbcrlf','vbcurrency','vbcyan','vbdataobject',
+			'vbdate','vbdecimal','vbdefaultbutton1','vbdefaultbutton2',
+			'vbdefaultbutton3','vbdefaultbutton4','vbdouble','vbempty',
+			'vberror','vbexclamation','vbfirstfourdays','vbfirstfullweek',
+			'vbfirstjan1','vbformfeed','vbfriday','vbgeneraldate','vbgreen',
+			'vbignore','vbinformation','vbinteger','vblf','vblong','vblongdate',
+			'vblongtime','vbmagenta','vbmonday','vbnewline','vbno','vbnull',
+			'vbnullchar','vbnullstring','vbobject','vbobjecterror','vbok','vbokcancel',
+			'vbokonly','vbquestion','vbred','vbretry','vbretrycancel','vbsaturday',
+			'vbshortdate','vbshorttime','vbsingle','vbstring','vbsunday',
+			'vbsystemmodal','vbtab','vbtextcompare','vbthursday','vbtuesday',
+			'vbusesystem','vbusesystemdayofweek','vbvariant','vbverticaltab',
+			'vbwednesday','vbwhite','vbyellow','vbyes','vbyesno','vbyesnocancel',
+			'vbnormal','vbdirectory'
+			)
+		),
+	'SYMBOLS' => array(
+		'(', ')'
+		),
+	'CASE_SENSITIVE' => array(
+		GESHI_COMMENTS => false,
+		1 => false
+		),
+	'STYLES' => array(
+		'KEYWORDS' => array(
+			1 => 'color: #b1b100;'
+			),
+		'COMMENTS' => array(
+			1 => 'color: #808080;'
+			),
+		'BRACKETS' => array(
+			0 => 'color: #66cc66;'
+			),
+		'STRINGS' => array(
+			0 => 'color: #ff0000;'
+			),
+		'NUMBERS' => array(
+			0 => 'color: #cc66cc;'
+			),
+		'METHODS' => array(
+			1 => 'color: #66cc66;'
+			),
+		'SYMBOLS' => array(
+			0 => 'color: #66cc66;'
+			),
+		'ESCAPE_CHAR' => array(
+			0 => 'color: #000099;'
+			),
+		'SCRIPT' => array(
+			),
+		'REGEXPS' => array(
+			)
+		),
+	'OOLANG' => true,
+	'OBJECT_SPLITTERS' => array(
+		1 => '.'
+		),
+	'REGEXPS' => array(
+		),
+	'STRICT_MODE_APPLIES' => GESHI_NEVER,
+	'SCRIPT_DELIMITERS' => array(
+		),
+	'HIGHLIGHT_STRICT_BLOCK' => array(
+		)
+);
+
+?>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/plugins/geshi/geshi/vbnet.php	Sun Feb 10 18:10:52 2008 -0500
@@ -0,0 +1,197 @@
+<?php
+/*************************************************************************************
+ * vbnet.php
+ * ---------
+ * Author: Alan Juden (alan@judenware.org)
+ * Copyright: (c) 2004 Alan Juden, Nigel McNie (http://qbnz.com/highlighter)
+ * Release Version: 1.0.7.20
+ * Date Started: 2004/06/04
+ *
+ * VB.NET language file for GeSHi.
+ *
+ * CHANGES
+ * -------
+ * 2004/11/27 (1.0.0)
+ *  -  Initial release
+ *
+ * TODO (updated 2004/11/27)
+ * -------------------------
+ *
+ *************************************************************************************
+ *
+ *     This file is part of GeSHi.
+ *
+ *   GeSHi is free software; you can 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.
+ *
+ *   GeSHi is distributed in the hope that it will be useful,
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *   GNU General Public License for more details.
+ *
+ *   You should have received a copy of the GNU General Public License
+ *   along with GeSHi; if not, write to the Free Software
+ *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
+ ************************************************************************************/
+
+ $language_data = array (
+	'LANG_NAME' => 'vb.net',
+	'COMMENT_SINGLE' => array(1 => "'"),
+	'COMMENT_MULTI' => array(),
+	'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+	'QUOTEMARKS' => array('"'),
+	'ESCAPE_CHAR' => '',
+	'KEYWORDS' => array(
+		1 => array(
+			'3DDKSHADOW', '3DHIGHLIGHT', '3DLIGHT', 'ABORT', 'ABORTRETRYIGNORE', 'ACTIVEBORDER',
+			'ACTIVETITLEBAR', 'ALIAS', 'APPLICATIONMODAL', 'APPLICATIONWORKSPACE', 'ARCHIVE',
+			'BACK', 'BINARYCOMPARE', 'BLACK', 'BLUE', 'BUTTONFACE', 'BUTTONSHADOW', 'BUTTONTEXT',
+			'CANCEL', 'CDROM', 'CR', 'CRITICAL', 'CRLF', 'CYAN', 'DEFAULT', 'DEFAULTBUTTON1',
+			'DEFAULTBUTTON2', 'DEFAULTBUTTON3', 'DESKTOP', 'DIRECTORY', 'EXCLAMATION', 'FALSE',
+			'FIXED', 'FORAPPENDING', 'FORMFEED', 'FORREADING', 'FORWRITING', 'FROMUNICODE',
+			'GRAYTEXT', 'GREEN', 'HIDDEN', 'HIDE', 'HIGHLIGHT', 'HIGHLIGHTTEXT', 'HIRAGANA',
+			'IGNORE', 'INACTIVEBORDER', 'INACTIVECAPTIONTEXT', 'INACTIVETITLEBAR', 'INFOBACKGROUND',
+			'INFORMATION', 'INFOTEXT', 'KATAKANALF', 'LOWERCASE', 'MAGENTA', 'MAXIMIZEDFOCUS',
+			'MENUBAR', 'MENUTEXT', 'METHOD', 'MINIMIZEDFOCUS', 'MINIMIZEDNOFOCUS', 'MSGBOXRIGHT',
+			'MSGBOXRTLREADING', 'MSGBOXSETFOREGROUND', 'NARROW', 'NEWLINE', 'NO', 'NORMAL',
+			'NORMALFOCUS', 'NORMALNOFOCUS', 'NULLSTRING', 'OBJECTERROR', 'OK', 'OKCANCEL', 'OKONLY',
+			'PROPERCASE', 'QUESTION', 'RAMDISK', 'READONLY', 'RED', 'REMOTE', 'REMOVABLE', 'RETRY',
+			'RETRYCANCEL', 'SCROLLBARS', 'SYSTEMFOLDER', 'SYSTEMMODAL', 'TAB', 'TEMPORARYFOLDER',
+			'TEXTCOMPARE', 'TITLEBARTEXT', 'TRUE', 'UNICODE', 'UNKNOWN', 'UPPERCASE', 'VERTICALTAB',
+			'VOLUME', 'WHITE', 'WIDE', 'WIN16', 'WIN32', 'WINDOWBACKGROUND', 'WINDOWFRAME',
+			'WINDOWSFOLDER', 'WINDOWTEXT', 'YELLOW', 'YES', 'YESNO', 'YESNOCANCEL'
+			),
+		2 => array(
+			'As', 'ADDHANDLER', 'ASSEMBLY', 'AUTO', 'Binary', 'ByRef', 'ByVal', 'BEGINEPILOGUE',
+			'Else', 'Empty', 'Error', 'ENDPROLOGUE', 'EXTERNALSOURCE', 'ENVIRON', 'For',
+			'Friend', 'GET', 'HANDLES', 'Input', 'Is', 'Len', 'Lock', 'Me', 'Mid', 'MUSTINHERIT',
+			'MYBASE', 'MYCLASS', 'New', 'Next', 'Nothing', 'Null', 'NOTINHERITABLE',
+			'NOTOVERRIDABLE', 'OFF', 'On', 'Option', 'Optional', 'OVERRIDABLE', 'ParamArray',
+			'Print', 'Private', 'Property', 'Public', 'Resume', 'Seek', 'Static', 'Step',
+			'String', 'SHELL', 'SENDKEYS', 'SET', 'Then', 'Time', 'To', 'THROW', 'WithEvents'
+			),
+		3 => array(
+			'COLLECTION', 'DEBUG', 'DICTIONARY', 'DRIVE', 'DRIVES', 'ERR', 'FILE', 'FILES',
+			'FILESYSTEMOBJECT', 'FOLDER', 'FOLDERS', 'TEXTSTREAM'
+			),
+		4 => array(
+			'BOOLEAN', 'BYTE', 'DATE', 'DECIMIAL', 'DOUBLE', 'INTEGER', 'LONG', 'OBJECT',
+			'SINGLE STRING'
+			),
+		5 => array(
+			'ADDRESSOF', 'AND', 'BITAND', 'BITNOT', 'BITOR', 'BITXOR',
+			'GETTYPE', 'LIKE', 'MOD', 'NOT', 'ORXOR'
+			),
+		6 => array(
+			'APPACTIVATE', 'BEEP', 'CALL', 'CHDIR', 'CHDRIVE', 'CLASS', 'CASE', 'CATCH',
+			'DECLARE', 'DELEGATE', 'DELETESETTING', 'DIM', 'DO', 'DOEVENTS', 'END', 'ENUM',
+			'EVENT', 'EXIT', 'EACH', 'FUNCTION', 'FINALLY', 'IF', 'IMPORTS', 'INHERITS',
+			'INTERFACE', 'IMPLEMENTS', 'KILL', 'LOOP', 'MIDB', 'NAMESPACE', 'OPEN', 'PUT',
+			'RAISEEVENT', 'RANDOMIZE', 'REDIM', 'REM', 'RESET', 'SAVESETTING', 'SELECT',
+			'SETATTR', 'STOP', 'SUB', 'SYNCLOCK', 'STRUCTURE', 'SHADOWS', 'SWITCH',
+			'TIMEOFDAY', 'TODAY', 'TRY', 'WIDTH', 'WITH', 'WRITE', 'WHILE'
+			),
+		7 => array(
+			'ABS', 'ARRAY', 'ASC', 'ASCB', 'ASCW', 'CALLBYNAME', 'CBOOL', 'CBYTE', 'CCHAR',
+			'CCHR', 'CDATE', 'CDBL', 'CDEC', 'CHOOSE', 'CHR', 'CHR$', 'CHRB', 'CHRB$', 'CHRW',
+			'CINT', 'CLNG', 'CLNG8', 'CLOSE', 'COBJ', 'COMMAND', 'COMMAND$', 'CONVERSION',
+			'COS', 'CREATEOBJECT', 'CSHORT', 'CSTR', 'CURDIR', 'CTYPE', 'CVDATE', 'DATEADD',
+			'DATEDIFF', 'DATEPART', 'DATESERIAL', 'DATEVALUE', 'DAY', 'DDB', 'DIR', 'DIR$',
+			'EOF', 'ERROR$', 'EXP', 'FILEATTR', 'FILECOPY', 'FILEDATATIME', 'FILELEN', 'FILTER',
+			'FIX', 'FORMAT', 'FORMAT$', 'FORMATCURRENCY', 'FORMATDATETIME', 'FORMATNUMBER',
+			'FORMATPERCENT', 'FREEFILE', 'FV', 'GETALLSETTINGS', 'GETATTRGETOBJECT', 'GETSETTING',
+			'HEX', 'HEX$', 'HOUR', 'IIF', 'IMESTATUS', 'INPUT$', 'INPUTB', 'INPUTB$', 'INPUTBOX',
+			'INSTR', 'INSTRB', 'INSTRREV', 'INT', 'IPMT', 'IRR', 'ISARRAY', 'ISDATE', 'ISEMPTY',
+			'ISERROR', 'ISNULL', 'ISNUMERIC', 'ISOBJECT', 'JOIN', 'LBOUND', 'LCASE', 'LCASE$',
+			'LEFT', 'LEFT$', 'LEFTB', 'LEFTB$', 'LENB', 'LINEINPUT', 'LOC', 'LOF', 'LOG', 'LTRIM',
+			'LTRIM$', 'MID$', 'MIDB', 'MIDB$', 'MINUTE', 'MIRR', 'MKDIR', 'MONTH', 'MONTHNAME',
+			'MSGBOX', 'NOW', 'NPER', 'NPV', 'OCT', 'OCT$', 'PARTITION', 'PMT', 'PPMT', 'PV',
+			'RATE', 'REPLACE', 'RIGHT', 'RIGHT$', 'RIGHTB', 'RIGHTB$', 'RMDIR', 'RND', 'RTRIM',
+			'RTRIM$', 'SECOND', 'SIN', 'SLN', 'SPACE', 'SPACE$', 'SPC', 'SPLIT', 'STR', 'STR$',
+			'STRCOMP', 'STRCONV', 'STRING$', 'STRREVERSE', 'SYD', 'TAB', 'TAN', 'TIMEOFDAY',
+			'TIMER', 'TIMESERIAL', 'TIMEVALUE', 'TODAY', 'TRIM', 'TRIM$', 'TYPENAME', 'UBOUND',
+			'UCASE', 'UCASE$', 'VAL', 'WEEKDAY', 'WEEKDAYNAME', 'YEAR'
+			),
+		8 => array(
+			'ANY', 'ATN', 'CALENDAR', 'CIRCLE', 'CURRENCY', 'DEFBOOL', 'DEFBYTE', 'DEFCUR',
+			'DEFDATE', 'DEFDBL', 'DEFDEC', 'DEFINT', 'DEFLNG', 'DEFOBJ', 'DEFSNG', 'DEFSTR',
+			'DEFVAR', 'EQV', 'GOSUB', 'IMP', 'INITIALIZE', 'ISMISSING', 'LET', 'LINE', 'LSET',
+			'RSET', 'SGN', 'SQR', 'TERMINATE', 'VARIANT', 'VARTYPE', 'WEND'
+			),
+		),
+	'SYMBOLS' => array(
+		'&', '&=', '*', '*=', '+', '+=', '-', '-=', '//', '/', '/=', '=', '\\', '\\=',
+		'^', '^='
+		),
+	'CASE_SENSITIVE' => array(
+		GESHI_COMMENTS => true,
+		1 => false,
+		2 => false,
+		3 => false,
+		4 => false,
+		5 => false,
+		6 => false,
+		7 => false,
+		8 => false,
+		),
+	'STYLES' => array(
+		'KEYWORDS' => array(
+			1 => 'color: #0600FF;',		//Constants
+			2 => 'color: #FF8000;',		//Keywords
+			3 => 'color: #008000;',		//Data Types
+			4 => 'color: #FF0000;',		//Objects
+			5 => 'color: #804040;',		//Operators
+			6 => 'color: #0600FF;',		//Statements
+			7 => 'color: #0600FF;',		//Functions
+			8 => 'color: #0600FF;'		//Deprecated
+			),
+		'COMMENTS' => array(
+			1 => 'color: #008080; font-style: italic;',
+			'MULTI' => 'color: #008080; font-style: italic;'
+			),
+		'ESCAPE_CHAR' => array(
+			0 => 'color: #008080; font-weight: bold;'
+			),
+		'BRACKETS' => array(
+			0 => 'color: #000000;'
+			),
+		'STRINGS' => array(
+			0 => 'color: #808080;'
+			),
+		'NUMBERS' => array(
+			0 => 'color: #FF0000;'
+			),
+		'METHODS' => array(
+			1 => 'color: #0000FF;'
+			),
+		'SYMBOLS' => array(
+			0 => 'color: #008000;'
+			),
+		'REGEXPS' => array(
+			),
+		'SCRIPT' => array(
+			)
+		),
+	'URLS' => array(
+		1 => '',
+		2 => '',
+		3 => 'http://www.google.com/search?q={FNAME}+msdn.microsoft.com',
+		4 => ''
+		),
+	'OOLANG' => true,
+	'OBJECT_SPLITTERS' => array(
+		1 =>'.'
+		),
+	'REGEXPS' => array(
+		),
+	'STRICT_MODE_APPLIES' => GESHI_NEVER,
+	'SCRIPT_DELIMITERS' => array(
+		),
+	'HIGHLIGHT_STRICT_BLOCK' => array(
+		)
+);
+
+?>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/plugins/geshi/geshi/vhdl.php	Sun Feb 10 18:10:52 2008 -0500
@@ -0,0 +1,138 @@
+<?php
+/*************************************************************************************
+ * vhdl.php
+ * --------
+ * Author: Alexander 'E-Razor' Krause (admin@erazor-zone.de)
+ * Copyright: (c) 2005 Alexander Krause
+ * Release Version: 1.0.7.20
+ * Date Started: 2005/06/15
+ * 
+ * VHDL (VHSICADL, very high speed integrated circuit HDL) language file for GeSHi.
+ *
+ * CHANGES
+ * -------
+ * 2006/06/15 (1.0.0)
+ *  -  First Release
+ *
+ * TODO
+ * ----
+ *
+ *************************************************************************************
+ *
+ *     This file is part of GeSHi.
+ *
+ *   GeSHi is free software; you can 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.
+ *
+ *   GeSHi is distributed in the hope that it will be useful,
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *   GNU General Public License for more details.
+ *
+ *   You should have received a copy of the GNU General Public License
+ *   along with GeSHi; if not, write to the Free Software
+ *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
+ ************************************************************************************/
+ 
+$language_data = array (
+    'LANG_NAME' => 'VHDL',
+    'COMMENT_SINGLE' => array(1 => '--'),
+    'COMMENT_MULTI' => array(),
+    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+    'QUOTEMARKS' => array('"'),
+    'ESCAPE_CHAR' => '',
+    'KEYWORDS' => array(
+        /*keywords*/
+        1 => array(
+            'access','after','alias','all','assert','architecture','begin',
+            'block','body','buffer','bus','case','component','configuration','constant',
+            'disconnect','downto','else','elsif','end','entity','exit','file','for',
+            'function','generate','generic','group','guarded','if','impure','in',
+            'inertial','inout','is','label','library','linkage','literal','loop',
+            'map','new','next','null','of','on','open','others','out','package',
+            'port','postponed','procedure','process','pure','range','record','register',
+            'reject','report','return','select','severity','signal','shared','subtype',
+            'then','to','transport','type','unaffected','units','until','use','variable',
+            'wait','when','while','with','note','warning','error','failure','and',
+            'or','xor','not','nor'
+        ),
+        /*types*/
+        2 => array(
+            'bit','bit_vector','character','boolean','integer','real','time','string',
+            'severity_level','positive','natural','signed','unsigned','line','text',
+            'std_logic','std_logic_vector','std_ulogic','std_ulogic_vector','qsim_state',
+            'qsim_state_vector','qsim_12state','qsim_12state_vector','qsim_strength',
+            'mux_bit','mux_vector','reg_bit','reg_vector','wor_bit','wor_vector'
+        ),
+        /*operators*/
+        3 => array(
+                '=','<=',':=','=>','=='
+        )
+    ),
+    'SYMBOLS' => array(
+        '[', ']', '(', ')',';','<','>',':'
+    ),
+    'CASE_SENSITIVE' => array(
+        GESHI_COMMENTS => true,
+        1 => false,
+        2 => false
+        ),
+    'STYLES' => array(
+        'KEYWORDS' => array(
+            1 => 'color: #000000; font-weight: bold;',
+            2 => 'color: #aa0000;'
+            ),
+        'COMMENTS' => array(
+            1 => 'color: #adadad; font-style: italic;'
+            ),
+        'ESCAPE_CHAR' => array(
+            0 => 'color: #000099; font-weight: bold;'
+            ),
+        'BRACKETS' => array(
+            0 => 'color: #66cc66;'
+            ),
+        'STRINGS' => array(
+            0 => 'color: #7f007f;'
+            ),
+        'NUMBERS' => array(
+            0 => 'color: #ff0000;'
+            ),
+        'METHODS' => array(
+            ),
+        'SYMBOLS' => array(
+            0 => 'color: #66cc66;'
+            ),
+        'REGEXPS' => array(
+            0 => 'color: #ff0000;',
+            1 => 'color: #ff0000;',
+            2 => 'color: #ff0000;',
+            3 => 'color: #ff0000;'
+            ),
+        'SCRIPT' => array(
+            )
+        ),
+    'URLS' => array(
+        1 => '',
+        2 => ''
+    ),
+    'OOLANG' => false,
+    'OBJECT_SPLITTERS' => array(
+        ),
+    'REGEXPS' => array(
+        0 => '(\b(0x)[0-9a-fA-F]{2,}[hH]?|\b(0x)?[0-9a-fA-F]{2,}[hH])|'.
+        '(\b[0-9]{1,}((\.){1}[0-9]{1,}){0,1}(E)[\-]{0,1}[0-9]{1,})|'.
+         '(\b(ns))|'.
+         "('[0-9a-zA-Z]+)",
+         1 => "\b(''[0-9]'')"
+        ),
+    'STRICT_MODE_APPLIES' => GESHI_NEVER,
+    'SCRIPT_DELIMITERS' => array(
+        ),
+    'HIGHLIGHT_STRICT_BLOCK' => array(
+        )
+);
+ 
+?>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/plugins/geshi/geshi/visualfoxpro.php	Sun Feb 10 18:10:52 2008 -0500
@@ -0,0 +1,442 @@
+<?php
+/*************************************************************************************
+ * visualfoxpro.php
+ * ----------------
+ * Author: Roberto Armellin (r.armellin@tin.it)
+ * Copyright: (c) 2004 Roberto Armellin, Nigel McNie (http://qbnz.com/highlighter/)
+ * Release Version: 1.0.7.20
+ * Date Started: 2004/09/17
+ *
+ * Visual FoxPro language file for GeSHi.
+ *
+ * CHANGES
+ * -------
+ * 2004/11/27 (1.0.1)
+ *  -  Added support for multiple object splitters
+ * 2004/10/27 (1.0.0)
+ *  -  First Release
+ *
+ * TODO (updated 2004/10/27)
+ * -------------------------
+ *
+ *************************************************************************************
+ *
+ *     This file is part of GeSHi.
+ *
+ *   GeSHi is free software; you can 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.
+ *
+ *   GeSHi is distributed in the hope that it will be useful,
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *   GNU General Public License for more details.
+ *
+ *   You should have received a copy of the GNU General Public License
+ *   along with GeSHi; if not, write to the Free Software
+ *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
+ ************************************************************************************/
+
+$language_data = array (
+	'LANG_NAME' => 'Visual Fox Pro',
+	'COMMENT_SINGLE' => array(1 => "//", 2 => "\n*"),
+	'COMMENT_MULTI' => array(),
+	'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+	'QUOTEMARKS' => array('"'),
+	'ESCAPE_CHAR' => '\\',
+	'KEYWORDS' => array(
+		1 => array('Case', 'Else', '#Else', 'Then',
+			'Endcase', 'Enddefine', 'Enddo', 'Endfor', 'Endfunc', 'Endif', 'Endprintjob',
+			'Endproc', 'Endscan', 'Endtext', 'Endwith', '#Endif',
+			'#Elif','#Else','#Endif','#Define','#If','#Include',
+			'#Itsexpression','#Readclauses','#Region','#Section','#Undef','#Wname',
+			'Case','Define','Do','Else','Endcase','Enddefine',
+			'Enddo','Endfor','Endfunc','Endif','Endprintjob','Endproc',
+			'Endscan','Endtext','Endwith','For','Function','Hidden',
+			'If','Local','Lparameter','Lparameters','Next','Otherwise',
+			'Parameters','Printjob','Procedure','Protected','Public','Scan',
+			'Text','Then','While','With','?','??',
+			'???','Abs','Accept','Access','Aclass','Acopy',
+			'Acos','Adatabases','Adbobjects','Addbs','Addrelationtoenv','Addtabletoenv',
+			'Adel','Adir','Aelement','Aerror','Afields','Afont',
+			'Agetclass','Agetfileversion','Ains','Ainstance','Alen','Align',
+			'Alines','Alltrim','Alter','Amembers','Amouseobj','Anetresources',
+			'Ansitooem','Append','Aprinters','Ascan','Aselobj','Asin',
+			'Asort','Assert','Asserts','Assist','Asubscript','Asynchronous',
+			'At_c','Atan','Atc','Atcc','Atcline','Atline',
+			'Atn2','Aused','Autoform','Autoreport','Avcxclasses','Average',
+			'BarCount','BarPrompt','BatchMode','BatchUpdateCount','Begin','BellSound',
+			'BinToC','Bintoc','Bitand','Bitclear','Bitlshift','Bitnot',
+			'Bitor','Bitrshift','Bitset','Bittest','Bitxor','Bof',
+			'Browse','BrowseRefresh','Buffering','BuilderLock','COMArray','COMReturnError',
+			'CToBin','Calculate','Call','Capslock','Cd','Cdow',
+			'Ceiling','Central','Change','Char','Chdir','Chr',
+			'Chrsaw','Chrtran','Chrtranc','Close','Cmonth','Cntbar',
+			'Cntpad','Col','Comclassinfo','CommandTargetQuery','Compile','Completed',
+			'Compobj','Compute','Concat','ConnectBusy','ConnectHandle','ConnectName',
+			'ConnectString','ConnectTimeOut','ContainerReleaseType','Continue','Copy','Cos',
+			'Cot','Count','Coverage','Cpconvert','Cpcurrent','Cpdbf',
+			'Cpnotrans','Create','CreateBinary','Createobject','Createobjectex','Createoffline',
+			'CrsBuffering','CrsFetchMemo','CrsFetchSize','CrsMaxRows','CrsMethodUsed','CrsNumBatch',
+			'CrsShareConnection','CrsUseMemoSize','CrsWhereClause','Ctobin','Ctod','Ctot',
+			'Curdate','Curdir','CurrLeft','CurrSymbol','CursorGetProp','CursorSetProp',
+			'Curtime','Curval','DBGetProp','DBSetProp','DB_BufLockRow','DB_BufLockTable',
+			'DB_BufOff','DB_BufOptRow','DB_BufOptTable','DB_Complette','DB_DeleteInsert','DB_KeyAndModified',
+			'DB_KeyAndTimestamp','DB_KeyAndUpdatable','DB_LocalSQL','DB_NoPrompt','DB_Prompt','DB_RemoteSQL',
+			'DB_TransAuto','DB_TransManual','DB_TransNone','DB_Update','Datetime','Day',
+			'Dayname','Dayofmonth','Dayofweek','Dayofyear','Dbalias','Dbused',
+			'Ddeaborttrans','Ddeadvise','Ddeenabled','Ddeexecute','Ddeinitiate','Ddelasterror',
+			'Ddepoke','Dderequest','Ddesetoption','Ddesetservice','Ddesettopic','Ddeterminate',
+			'Debugout','Declare','DefOLELCid','DefaultValue','Defaultext','Degrees',
+			'DeleteTrigger','Desc','Description','Difference','Dimension','Dir',
+			'Directory','Diskspace','DispLogin','DispWarnings','Display','Dll',
+			'Dmy','DoDefault','DoEvents','Doc','Doevents','Dow',
+			'Drivetype','Drop','Dropoffline','Dtoc','Dtor','Dtos',
+			'Dtot','DynamicInputMask','Each','Edit','Eject','Elif',
+			'End','Eof','Erase','Evaluate','Event','Eventtracking',
+			'Exclude','Exclusive','Exit','Exp','Export','External',
+			'FDate','FTime','Fchsize','Fclose','Fcount','Fcreate',
+			'Feof','Ferror','FetchMemo','FetchSize','Fflush','Fgets',
+			'Filer','Filetostr','Find','Fklabel','Fkmax','Fldlist',
+			'Flock','Floor','Flush','Fontmetric','Fopen','Forceext',
+			'Forcepath','FormSetClass','FormSetLib','FormsClass','FormsLib','Found',
+			'FoxPro','Foxcode','Foxdoc','Foxgen','Foxgraph','Foxview',
+			'Fputs','Fread','French','Fseek','Fsize','Fv',
+			'Fwrite','Gather','German','GetPem','Getbar','Getcolor',
+			'Getcp','Getdir','Getenv','Getexpr','Getfile','Getfldstate',
+			'Getfont','Gethost','Getnextmodified','Getobject','Getpad','Getpict',
+			'Getprinter','Go','Gomonth','Goto','Graph','GridHorz',
+			'GridShow','GridShowPos','GridSnap','GridVert','Help','HelpOn',
+			'HelpTo','HighLightRow','Home','Hour','IMEStatus','IdleTimeOut',
+			'Idxcollate','Ifdef','Ifndef','Iif','Import','Include',
+			'Indbc','Index','Indexseek','Inkey','Inlist','Input',
+			'Insert','InsertTrigger','Insmode','IsBlank','IsFLocked','IsLeadByte',
+			'IsMouse','IsNull','IsRLocked','Isalpha','Iscolor','Isdigit',
+			'Isexclusive','Isflocked','Ishosted','Islower','Isreadonly','Isrlocked',
+			'Isupper','Italian','Japan','Join','Justdrive','Justext',
+			'Justfname','Justpath','Juststem','KeyField','KeyFieldList','Keyboard'
+			),
+		2 => array('Keymatch','LastProject','Lastkey','Lcase','Leftc','Len',
+			'Lenc','Length','Likec','Lineno','LoadPicture','Loadpicture',
+			'Locate','Locfile','Log','Log10','Logout','Lookup',
+			'Loop','Lower','Ltrim','Lupdate','Mail','MaxRecords',
+			'Mcol','Md','Mdown','Mdx','Mdy','Memlines',
+			'Menu','Messagebox','Minute','Mkdir','Mline','Modify',
+			'Month','Monthname','Mouse','Mrkbar','Mrkpad','Mrow',
+			'Mtdll','Mton','Mwindow','Native','Ndx','Network',
+			'NoFilter','Nodefault','Normalize','Note','Now','Ntom',
+			'NullString','Numlock','Nvl','ODBChdbc','ODBChstmt','OLEDropTextInsertion',
+			'OLELCid','Objnum','Objref','Objtoclient','Objvar','Occurs',
+			'Oemtoansi','Oldval','OlePublic','Olereturnerror','On','Open',
+			'Oracle','Order','Os','Outer','PCount','Pack',
+			'PacketSize','Padc','Padl','Padr','Payment','Pcol',
+			'PemStatus','Pi','Pivot','Play','Pop','Popup',
+			'Power','PrimaryKey','Printstatus','Private','Prmbar','Prmpad',
+			'ProjectClick','Proper','Prow','Prtinfo','Push','Putfile',
+			'Pv','Qpr','Quater','QueryTimeOut','Quit','Radians',
+			'Rand','Rat','Ratc','Ratline','Rd','Rdlevel',
+			'Read','Readkey','Recall','Reccount','RecentlyUsedFiles','Recno',
+			'Recsize','Regional','Reindex','RelatedChild','RelatedTable','RelatedTag',
+			'Remove','Rename','Repeat','Replace','Replicate','Report',
+			'ResHeight','ResWidth','ResourceOn','ResourceTo','Resources','Restore',
+			'Resume','Retry','Return','Revertoffline','Rgbscheme','Rightc',
+			'Rlock','Rmdir','Rollback','Round','Rtod','Rtrim',
+			'RuleExpression','RuleText','Run','Runscript','Rview','SQLAsynchronous',
+			'SQLBatchMode','SQLCancel','SQLColumns','SQLConnect','SQLConnectTimeOut','SQLDisconnect',
+			'SQLDispLogin','SQLDispWarnings','SQLExec','SQLGetProp','SQLIdleTimeOut','SQLMoreResults',
+			'SQLPrepare','SQLQueryTimeOut','SQLSetProp','SQLTables','SQLTransactions','SQLWaitTime',
+			'Save','SavePicture','Savepicture','ScaleUnits','Scatter','Scols',
+			'Scroll','Sec','Second','Seek','Select','SendUpdates',
+			'Set','SetDefault','Setfldstate','Setup','ShareConnection','ShowOLEControls',
+			'ShowOLEInsertable','ShowVCXs','Sign','Sin','Size','SizeBox',
+			'Skpbar','Skppad','Sort','Soundex','SourceName','Sqlcommit',
+			'Sqll','Sqlrollback','Sqlstringconnect','Sqrt','Srows','StatusBar',
+			'Store','Str','Strconv','Strtofile','Strtran','Stuff',
+			'Stuffc','Substr','Substrc','Substring','Sum','Suspend',
+			'Sys','Sysmetric','TabOrdering','Table','TableRefresh','Tablerevert',
+			'Tableupdate','TagCount','TagNo','Tan','Target','This',
+			'Thisform','Thisformset','Timestamp','Timestampdiff','Total','Transactions',
+			'Transform','Trim','Truncate','Ttoc','Ttod','Txnlevel',
+			'Txtwidth','Type','Ucase','Undefine','Unlock','Unpack',
+			'Updatable','UpdatableFieldList','Update','UpdateName','UpdateNameList','UpdateTrigger',
+			'UpdateType','Updated','Upper','Upsizing','Usa','Use',
+			'UseMemoSize','Used','Val','Validate','Varread','Vartype',
+			'Version','VersionLanguage','Wait','WaitTime','Wborder','Wchild',
+			'Wcols','Week','Wexist','Wfont','WhereType','Windcmd',
+			'Windhelp','Windmemo','Windmenu','Windmodify','Windquery','Windscreen',
+			'Windsnip','Windstproc','WizardPrompt','Wlast','Wlcol','Wlrow',
+			'Wmaximum','Wminimum','Wontop','Woutput','Wparent','Wread',
+			'Wrows','Wtitle','Wvisible','Year','Zap','_Alignment',
+			'_Asciicols','_Asciirows','_Assist','_Beautify','_Box','_Browser',
+			'_Builder','_Calcmem','_Calcvalue','_Cliptext','_Converter','_Coverage',
+			'_Curobj','_Dblclick','_Diarydate','_Dos','_Foxdoc','_Foxgraph',
+			'_Gallery','_Gengraph','_Genhtml','_Genmenu','_Genpd','_Genscrn',
+			'_Genxtab','_Getexpr','_Include','_Indent','_Lmargin','_Mac',
+			'_Mbr_appnd','_Mbr_cpart','_Mbr_delet','_Mbr_font','_Mbr_goto','_Mbr_grid',
+			'_Mbr_link','_Mbr_mode','_Mbr_mvfld','_Mbr_mvprt','_Mbr_seek','_Mbr_sp100',
+			'_Mbr_sp200','_Mbr_szfld','_Mbrowse','_Mda_appnd','_Mda_avg','_Mda_brow',
+			'_Mda_calc','_Mda_copy','_Mda_count','_Mda_label','_Mda_pack','_Mda_reprt',
+			'_Mda_rindx','_Mda_setup','_Mda_sort','_Mda_sp100','_Mda_sp200','_Mda_sp300',
+			'_Mda_sum','_Mda_total','_Mdata','_Mdiary','_Med_clear','_Med_copy',
+			'_Med_cut','_Med_cvtst','_Med_find','_Med_finda','_Med_goto','_Med_insob',
+			'_Med_link','_Med_obj','_Med_paste','_Med_pref','_Med_pstlk','_Med_redo',
+			'_Med_repl','_Med_repla','_Med_slcta','_Med_sp100','_Med_sp200','_Med_sp300',
+			'_Med_sp400','_Med_sp500','_Med_undo','_Medit','_Mfi_clall','_Mfi_close',
+			'_Mfi_export','_Mfi_import','_Mfi_new','_Mfi_open','_Mfi_pgset','_Mfi_prevu',
+			'_Mfi_print','_Mfi_quit','_Mfi_revrt','_Mfi_savas','_Mfi_save','_Mfi_send',
+			'_Mfi_setup','_Mfi_sp100','_Mfi_sp200','_Mfi_sp300','_Mfi_sp400','_Mfile',
+			'_Mfiler','_Mfirst','_Mlabel','_Mlast','_Mline','_Mmacro',
+			'_Mmbldr','_Mpr_beaut','_Mpr_cancl','_Mpr_compl','_Mpr_do','_Mpr_docum',
+			'_Mpr_formwz','_Mpr_gener','_Mpr_graph','_Mpr_resum','_Mpr_sp100','_Mpr_sp200',
+			'_Mpr_sp300','_Mpr_suspend','_Mprog','_Mproj','_Mrc_appnd','_Mrc_chnge',
+			'_Mrc_cont','_Mrc_delet','_Mrc_goto','_Mrc_locat','_Mrc_recal','_Mrc_repl',
+			'_Mrc_seek','_Mrc_sp100','_Mrc_sp200','_Mrecord','_Mreport','_Mrqbe',
+			'_Mscreen','_Msm_data','_Msm_edit','_Msm_file','_Msm_format','_Msm_prog',
+			'_Msm_recrd','_Msm_systm','_Msm_text','_Msm_tools','_Msm_view','_Msm_windo',
+			'_Mst_about','_Mst_ascii','_Mst_calcu','_Mst_captr','_Mst_dbase','_Mst_diary',
+			'_Mst_filer','_Mst_help','_Mst_hphow','_Mst_hpsch','_Mst_macro','_Mst_office',
+			'_Mst_puzzl','_Mst_sp100','_Mst_sp200','_Mst_sp300','_Mst_specl','_Msysmenu',
+			'_Msystem','_Mtable','_Mtb_appnd','_Mtb_cpart','_Mtb_delet','_Mtb_delrc',
+			'_Mtb_goto','_Mtb_link','_Mtb_mvfld','_Mtb_mvprt','_Mtb_props','_Mtb_recal',
+			'_Mtb_sp100','_Mtb_sp200','_Mtb_sp300','_Mtb_sp400','_Mtb_szfld','_Mwi_arran',
+			'_Mwi_clear','_Mwi_cmd','_Mwi_color','_Mwi_debug','_Mwi_hide','_Mwi_hidea',
+			'_Mwi_min','_Mwi_move','_Mwi_rotat','_Mwi_showa','_Mwi_size','_Mwi_sp100',
+			'_Mwi_sp200','_Mwi_toolb','_Mwi_trace','_Mwi_view','_Mwi_zoom','_Mwindow',
+			'_Mwizards','_Mwz_all','_Mwz_form','_Mwz_foxdoc','_Mwz_import','_Mwz_label',
+			'_Mwz_mail','_Mwz_pivot','_Mwz_query','_Mwz_reprt','_Mwz_setup','_Mwz_table',
+			'_Mwz_upsizing','_Netware','_Oracle','_Padvance','_Pageno','_Pbpage',
+			'_Pcolno','_Pcopies','_Pdparms','_Pdriver','_Pdsetup','_Pecode',
+			'_Peject','_Pepage','_Pform','_Plength','_Plineno','_Ploffset',
+			'_Ppitch','_Pquality','_Pretext','_Pscode','_Pspacing','_Pwait',
+			'_Rmargin','_Runactivedoc','_Samples','_Screen','_Shell','_Spellchk',
+			'_Sqlserver','_Startup','_Tabs','_Tally','_Text','_Throttle',
+			'_Transport','_Triggerlevel','_Unix','_WebDevOnly','_WebMenu','_WebMsftHomePage',
+			'_WebVFPHomePage','_WebVfpOnlineSupport','_Windows','_Wizard','_Wrap','_scctext',
+			'_vfp','Additive','After','Again','Aindent','Alignright',
+			'All','Alt','Alternate','And','Ansi','Any',
+			'Aplabout','App','Array','As','Asc','Ascending',
+			'Ascii','At','Attributes','Automatic','Autosave','Avg',
+			'Bar','Before','Bell','Between','Bitmap','Blank',
+			'Blink','Blocksize','Border','Bottom','Brstatus','Bucket',
+			'Buffers','By','Candidate','Carry','Cascade','Catalog',
+			'Cdx','Center','Century','Cga','Character','Check',
+			'Classlib','Clock','Cnt','Codepage','Collate','Color',
+			'Com1','Com2','Command','Compact','Compatible','Compress',
+			'Confirm','Connection','Connections','Connstring','Console','Copies',
+			'Cpcompile','Cpdialog','Csv','Currency','Cycle','Databases',
+			'Datasource','Date','Db4','Dbc','Dbf','Dbmemo3',
+			'Debug','Decimals','Defaultsource','Deletetables','Delimited','Delimiters',
+			'Descending','Design','Development','Device','Dif','Disabled',
+			'Distinct','Dlls','Dohistory','Dos','Dosmem','Double',
+			'Driver','Duplex','Echo','Editwork','Ega25','Ega43',
+			'Ems','Ems64','Encrypt','Encryption','Environment','Escape',
+			'Events','Exact','Except','Exe','Exists','Expression',
+			'Extended','F','Fdow','Fetch','Field','Fields',
+			'File','Files','Fill','Fixed','Float','Foldconst',
+			'Font','Footer','Force','Foreign','Fox2x','Foxplus',
+			'Free','Freeze','From','Fullpath','Fw2','Fweek',
+			'Get','Gets','Global','Group','Grow','Halfheight',
+			'Having','Heading','Headings','Helpfilter','History','Hmemory',
+			'Hours','Id','In','Indexes','Information','Instruct',
+			'Int','Integer','Intensity','Intersect','Into','Is',
+			'Isometric','Key','Keycolumns','Keycomp','Keyset','Last',
+			'Ledit','Level','Library','Like','Linked','Lock',
+			'Logerrors','Long','Lpartition','Mac','Macdesktop','Machelp',
+			'Mackey','Macros','Mark','Master','Max','Maxmem',
+			'Mdi','Memlimit','Memory','Memos','Memowidth','Memvar',
+			'Menus','Messages','Middle','Min','Minimize','Minus',
+			'Mod','Modal','Module','Mono43','Movers','Multilocks',
+			'Mvarsiz','Mvcount','N','Near','Negotiate','Noalias',
+			'Noappend','Noclear','Noclose','Noconsole','Nocptrans','Nodata',
+			'Nodebug','Nodelete','Nodup','Noedit','Noeject','Noenvironment',
+			'Nofloat','Nofollow','Nogrow','Noinit','Nolgrid','Nolink',
+			'Nolock','Nomargin','Nomdi','Nomenu','Nominimize','Nomodify'
+			),
+		3 => array('Nomouse','None','Nooptimize','Nooverwrite','Noprojecthook','Noprompt',
+			'Noread','Norefresh','Norequery','Norgrid','Norm','Normal',
+			'Nosave','Noshadow','Noshow','Nospace','Not','Notab',
+			'Notify','Noupdate','Novalidate','Noverify','Nowait','Nowindow',
+			'Nowrap','Nozoom','Npv','Null','Number','Objects',
+			'Odometer','Of','Off','Oleobjects','Only','Optimize',
+			'Or','Orientation','Output','Outshow','Overlay','Overwrite',
+			'Pad','Palette','Paperlength','Papersize','Paperwidth','Password',
+			'Path','Pattern','Pause','Pdox','Pdsetup','Pen',
+			'Pfs','Pixels','Plain','Popups','Precision','Preference',
+			'Preview','Primary','Printer','Printquality','Procedures','Production',
+			'Program','Progwork','Project','Prompt','Query','Random',
+			'Range','Readborder','Readerror','Record','Recover','Redit',
+			'Reference','References','Relative','Remote','Reprocess','Resource',
+			'Rest','Restrict','Rgb','Right','Row','Rowset',
+			'Rpd','Runtime','Safety','Same','Sample','Say',
+			'Scale','Scheme','Scoreboard','Screen','Sdf','Seconds',
+			'Selection','Shadows','Shared','Sheet','Shell','Shift',
+			'Shutdown','Single','Some','Sortwork','Space','Sql',
+			'Standalone','Status','Std','Step','Sticky','String',
+			'Structure','Subclass','Summary','Sylk','Sysformats','Sysmenus',
+			'System','T','Tab','Tables','Talk','Tedit',
+			'Textmerge','Time','Timeout','Titles','Tmpfiles','To',
+			'Topic','Transaction','Trap','Trbetween','Trigger','Ttoption',
+			'Typeahead','Udfparms','Union','Unique','Userid','Users',
+			'Values','Var','Verb','Vga25','Vga50','Views',
+			'Volume','Where','Windows','Wk1','Wk3','Wks',
+			'Workarea','Wp','Wr1','Wrap','Wrk','Xcmdfile',
+			'Xl5','Xl8','Xls','Y','Yresolution','Zoom',
+			'Activate','ActivateCell','Add','AddColumn','AddItem','AddListItem',
+			'AddObject','AddProperty','AddToSCC','AfterBuild','AfterCloseTables','AfterDock',
+			'AfterRowColChange','BeforeBuild','BeforeDock','BeforeOpenTables','BeforeRowColChange','Box',
+			'Build','CheckIn','CheckOut','Circle','Clear','ClearData',
+			'Cleanup','Click','CloneObject','CloseEditor','CloseTables','Cls',
+			'CommandTargetExec','CommandTargetQueryStas','ContainerRelease','DataToClip','DblClick','Deactivate',
+			'Delete','DeleteColumn','Deleted','Destroy','DoCmd','Dock',
+			'DoScroll','DoVerb','DownClick','Drag','DragDrop','DragOver',
+			'DropDown','Draw','EnterFocus','Error','ErrorMessage','Eval',
+			'ExitFocus','FormatChange','GetData','GetFormat','GetLatestVersion','GoBack',
+			'GotFocus','GoForward','GridHitTest','Hide','HideDoc','IndexToItemId',
+			'Init','InteractiveChange','Item','ItemIdToIndex','KeyPress','Line',
+			'Load','LostFocus','Message','MiddleClick','MouseDown','MouseMove',
+			'MouseUp','MouseWheel','Move','Moved','NavigateTo','Newobject',
+			'OLECompleteDrag','OLEDrag','OLEDragDrop','OLEDragOver','OLEGiveFeedback','OLESetData',
+			'OLEStartDrag','OpenEditor','OpenTables','Paint','Point','Print',
+			'ProgrammaticChange','PSet','QueryAddFile','QueryModifyFile','QueryRemoveFile','QueryRunFile',
+			'QueryUnload','RangeHigh','RangeLow','ReadActivate','ReadExpression','ReadDeactivate',
+			'ReadMethod','ReadShow','ReadValid','ReadWhen','Refresh','Release',
+			'RemoveFromSCC','RemoveItem','RemoveListItem','RemoveObject','Requery','RequestData',
+			'Reset','ResetToDefault','Resize','RightClick','SaveAs','SaveAsClass',
+			'Scrolled','SetAll','SetData','SetFocus','SetFormat','SetMain',
+			'SetVar','SetViewPort','ShowDoc','ShowWhatsThis','TextHeight','TextWidth',
+			'Timer','UIEnable','UnDock','UndoCheckOut','Unload','UpClick',
+			'Valid','WhatsThisMode','When','WriteExpression','WriteMethod','ZOrder',
+			'ATGetColors','ATListColors','Accelerate','ActiveColumn','ActiveControl','ActiveForm',
+			'ActiveObjectId','ActivePage','ActiveProject','ActiveRow','AddLineFeeds','Alias',
+			'Alignment','AllowAddNew','AllowHeaderSizing','AllowResize','AllowRowSizing','AllowTabs',
+			'AlwaysOnTop','Application','AutoActivate','AutoCenter','AutoCloseTables','AutoIncrement',
+			'AutoOpenTables','AutoRelease','AutoSize','AutoVerbMenu','AutoYield','AvailNum',
+			'BackColor','BackStyle','BaseClass','BorderColor','BorderStyle','BorderWidth',
+			'Bound','BoundColumn','BoundTo','BrowseAlignment','BrowseCellMarg','BrowseDestWidth',
+			'BufferMode','BufferModeOverride','BuildDateTime','ButtonCount','ButtonIndex','Buttons',
+			'CLSID','CanAccelerate','CanGetFocus','CanLoseFocus','Cancel','Caption',
+			'ChildAlias','ChildOrder','Class','ClassLibrary','ClipControls','ClipRect',
+			'Closable','ColorScheme','ColorSource','ColumnCount','ColumnHeaders','ColumnLines',
+			'ColumnOrder','ColumnWidths','Columns','Comment','ContinuousScroll','ControlBox',
+			'ControlCount','ControlIndex','ControlSource','Controls','CurrentControl','CurrentX',
+			'CurrentY','CursorSource','Curvature','DataSession','DataSessionId','DataSourceObj',
+			'DataType','Database','DateFormat','DateMark','DefButton','DefButtonOrig',
+			'DefHeight','DefLeft','DefTop','DefWidth','Default','DefaultFilePath',
+			'DefineWindows','DeleteMark','Desktop','Dirty','DisabledBackColor','DisabledByEOF',
+			'DisabledForeColor','DisabledItemBackColor','DisabledItemForeColor','DisabledPicture','DispPageHeight','DispPageWidth',
+			'DisplayCount','DisplayValue','DoCreate','DockPosition','Docked','DocumentFile',
+			'DownPicture','DragIcon','DragMode','DragState','DrawMode','DrawStyle',
+			'DrawWidth','DynamicAlignment','DynamicBackColor','DynamicCurrentControl','DynamicFontBold','DynamicFontItalic',
+			'DynamicFontName','DynamicFontOutline','DynamicFontShadow','DynamicFontSize','DynamicFontStrikethru','DynamicFontUnderline',
+			'DynamicForeColor','EditFlags','Enabled','EnabledByReadLock','Encrypted','EnvLevel',
+			'ErasePage','FileClass','FileClassLibrary','FillColor','FillStyle','Filter',
+			'FirstElement','FontBold','FontItalic','FontName','FontOutline','FontShadow',
+			'FontSize','FontStrikethru','FontUnderline','ForceFocus','ForeColor','FormCount',
+			'FormIndex','FormPageCount','FormPageIndex','Format','Forms','FoxFont',
+			'FullName','GoFirst','GoLast','GridLineColor','GridLineWidth','GridLines'
+			),
+		4 => array('HPROJ','HWnd','HalfHeightCaption','HasClip','HeaderGap','HeaderHeight',
+			'Height','HelpContextID','HideSelection','Highlight','HomeDir','HostName',
+			'HotKey','HscrollSmallChange','IMEMode','Icon','IgnoreInsert','InResize',
+			'Increment','IncrementalSearch','InitialSelectedAlias','InputMask','Instancing','IntegralHeight',
+			'Interval','ItemBackColor','ItemData','ItemForeColor','ItemIDData','ItemTips',
+			'JustReadLocked','KeyPreview','KeyboardHighValue','KeyboardLowValue','LastModified','Left',
+			'LeftColumn','LineSlant','LinkMaster','List','ListCount','ListIndex',
+			'ListItem','ListItemId','LockDataSource','LockScreen','MDIForm','MainClass',
+			'MainFile','Margin','MaxButton','MaxHeight','MaxLeft','MaxLength',
+			'MaxTop','MaxWidth','MemoWindow','MinButton','MinHeight','MinWidth',
+			'MouseIcon','MousePointer','Movable','MoverBars','MultiSelect','Name',
+			'NapTime','NewIndex','NewItemId','NoDataOnLoad','NoDefine','NotifyContainer',
+			'NullDisplay','NumberOfElements','OLEDragMode','OLEDragPicture','OLEDropEffects','OLEDropHasData',
+			'OLEDropMode','OLERequestPendingTimeOut','OLEServerBusyRaiseError','OLEServerBusyTimeOut','OLETypeAllowed','OleClass',
+			'OleClassId','OleControlContainer','OleIDispInValue','OleIDispOutValue','OleIDispatchIncoming','OleIDispatchOutgoing',
+			'OnResize','OneToMany','OpenViews','OpenWindow','PageCount','PageHeight',
+			'PageOrder','PageWidth','Pages','Panel','PanelLink','Parent',
+			'ParentAlias','ParentClass','Partition','PasswordChar','Picture','ProcessID',
+			'ProgID','ProjectHookClass','ProjectHookLibrary','Projects','ReadColors','ReadCycle',
+			'ReadFiller','ReadLock','ReadMouse','ReadOnly','ReadSave','ReadSize',
+			'ReadTimeout','RecordMark','RecordSource','RecordSourceType','Rect','RelationalExpr',
+			'RelativeColumn','RelativeRow','ReleaseErase','ReleaseType','ReleaseWindows','Resizable',
+			'RightToLeft','RowHeight','RowSource','RowSourceType','SCCProvider','SCCStatus',
+			'SDIForm','ScaleMode','ScrollBars','SelLength','SelStart','SelText',
+			'SelectOnEntry','Selected','SelectedBackColor','SelectedForeColor','SelectedID','SelectedItemBackColor',
+			'SelectedItemForeColor','SelfEdit','ServerClass','ServerClassLibrary','ServerHelpFile','ServerName',
+			'ServerProject','ShowTips','ShowWindow','Sizable','Size<height>','Size<maxlength>',
+			'Size<width>','Skip','SkipForm','Sorted','SourceType','Sparse',
+			'SpecialEffect','SpinnerHighValue','SpinnerLowValue','SplitBar','StartMode','StatusBarText',
+			'Stretch','StrictDateEntry','Style','SystemRefCount','TabIndex','TabStop',
+			'TabStretch','TabStyle','Tabhit','Tabs','Tag','TerminateRead',
+			'ThreadID','TitleBar','ToolTipText','Top','TopIndex','TopItemId',
+			'TypeLibCLSID','TypeLibDesc','TypeLibName','UnlockDataSource','Value','ValueDirty',
+			'VersionComments','VersionCompany','VersionCopyright','VersionDescription','VersionNumber','VersionProduct',
+			'VersionTrademarks','View','ViewPortHeight','ViewPortLeft','ViewPortTop','ViewPortWidth',
+			'Visible','VscrollSmallChange','WasActive','WasOpen','WhatsThisButton','WhatsThisHelp',
+			'WhatsThisHelpID','Width','WindowList','WindowNTIList','WindowState','WindowType',
+			'WordWrap','ZOrderSet','ActiveDoc','Checkbox','Column','ComboBox',
+			'CommandButton','CommandGroup','Container','Control','Cursor','Custom',
+			'DataEnvironment','EditBox','Empty','FontClass','Form','Formset',
+			'General','Grid','Header','HyperLink','Image','Label',
+			'ListBox','Memo','OleBaseControl','OleBoundControl','OleClassIDispOut','OleControl',
+			'OptionButton','OptionGroup','Page','PageFrame','ProjectHook','RectClass',
+			'Relation','Session','Shape','Spinner','TextBox' ,'Toolbar'
+			),
+		),
+	'SYMBOLS' => array("!", "@", "$", "%", "(", ")", "-", "+", "=", "/", "{", "}", "[", "]", ":", ";", ",", "	", ".", "*", "&"),
+	'CASE_SENSITIVE' => array(
+		GESHI_COMMENTS => true,
+		1 => false,
+		2 => false,
+		3 => false,
+		4 => false,
+		),
+	'STYLES' => array(
+		'KEYWORDS' => array(
+			1 => 'color: blue;',
+			2 => 'color: blue;',
+			3 => 'color: blue;',
+			4 => 'color: blue;'
+			),
+		'COMMENTS' => array(
+			1 => 'color: green; font-style: italic;',
+			2 => 'color: green; font-style: italic;',
+			'MULTI' => 'color: #808080; font-style: italic;'
+			),
+		'ESCAPE_CHAR' => array(
+			0 => 'color: #000099; font-weight: bold;'
+			),
+		'BRACKETS' => array(
+			0 => 'color: blue;'
+			),
+		'STRINGS' => array(
+			0 => 'color: #ff0000;'
+			),
+		'NUMBERS' => array(
+			0 => 'color: #cc66cc;'
+			),
+		'METHODS' => array(
+			1 => 'color: #006600;'
+			),
+		'SYMBOLS' => array(
+			0 => 'color: blue;'
+			),
+		'REGEXPS' => array(
+			),
+		'SCRIPT' => array(
+			)
+		),
+	'OOLANG' => true,
+	'OBJECT_SPLITTERS' => array(
+		1 => '.'
+		),
+	'REGEXPS' => array(
+		),
+	'STRICT_MODE_APPLIES' => GESHI_NEVER,
+	'SCRIPT_DELIMITERS' => array(
+		),
+	'HIGHLIGHT_STRICT_BLOCK' => array(
+		)
+);
+
+?>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/plugins/geshi/geshi/winbatch.php	Sun Feb 10 18:10:52 2008 -0500
@@ -0,0 +1,367 @@
+<?php
+/*************************************************************************************
+ * winbatch.php
+ * ------------
+ * Author: Craig Storey (storey.craig@gmail.com)
+ * Copyright: (c) 2004 Craig Storey (craig.xcottawa.ca)
+ * Release Version: 1.0.7.20
+ * Date Started: 2006/05/19
+ *
+ * WinBatch language file for GeSHi.
+ *
+ * WinBatch is a Windows scripting language - www.winbatch.com.
+ * The keywords were pulled from the winbatch/system/WIL.clr file for v2005G.
+ * Not all extender functions are added, but a very large set of the most common.
+ *
+ * CHANGES
+ * -------
+ * 2006/05/05 (1.0.0)
+ *  -  First Release
+ * 
+ * TODO (updated 2004/07/14)
+ * -------------------------
+ * - Right now any ':Subroutine' is treated as a comment. This highlights the 
+ *   Subroutine's name, but it's not a perfect fix. I should use a RegEx in 
+ *   GeSHI_Search&Replace features..
+ * - Update the list of extender functions.
+ * - Use a regular expression to comment UDFs that start with 'udf_'.
+ *
+ *************************************************************************************
+ *
+ *     This file is part of GeSHi.
+ *
+ *   GeSHi is free software; you can 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.
+ *
+ *   GeSHi is distributed in the hope that it will be useful,
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *   GNU General Public License for more details.
+ *
+ *   You should have received a copy of the GNU General Public License
+ *   along with GeSHi; if not, write to the Free Software
+ *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
+ ************************************************************************************/
+ 
+$language_data = array (
+	'LANG_NAME' => 'Winbatch',
+	'COMMENT_SINGLE' => array(1 => ';', 2 => ':'),
+	'COMMENT_MULTI' => array(),
+	'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+	'QUOTEMARKS' => array("'", '"', '`'),
+	'ESCAPE_CHAR' => '',
+	'KEYWORDS' => array(
+		1 => array(
+			'While', 'To', 'Then', 'Switch', 'Select', 'Return', 'Next', 'IntControl', 'Include', 'In', 'If', 
+			'Goto', 'GoSub', 'ForEach', 'For', 'Exit', 'Execute', 'ErrorMode', 'EndWhile', 'EndSwitch', '#EndSubRoutine', 
+			'EndSelect', 'EndIf', '#EEndFunction', 'EndFor', 'End', 'Else', 'DropWild', 'Drop', '#DefineSubRoutine', 
+			'#DefineFunction', 'Debug', 'Continue', 'Case', 'CallExt', 'Call', 'By', 'BreakPoint', 'Break'
+			),
+		2 => array(
+			'ZOOMED', 'YES', 'WORD4', 'WORD2', 'WORD1', 'WHOLESECTION', 'WAIT', 'UNSORTED', 'UNCHECK', 'TRUE', 'TILE', 
+			'TAB', 'STRING', 'STACK', 'SPC2NET', 'SORTED', 'SOK', 'SNET2PC', 'SINGLE', 'SHIFT', 'SERVER', 'SERRWINSOCK', 
+			'SERRVOICE', 'SERRSOCKET', 'SERRSERVICE', 'SERRSELECT', 'SERRPARAM', 'SERROUTOFMEM', 'SERRNOTFOUND', 'SERRNOCONN', 
+			'SERRNOANSWER', 'SERRMUSTWAIT', 'SERRIPADDR', 'SERRHOSTNAME', 'SERRFAILURE', 'SERRBUSY', 'SCROLLLOCK', 'SCANCEL', 
+			'SAVE', 'SALREADY', 'ROWS', 'REGUSERS', 'REGROOT', 'REGMACHINE', 'REGCURRENT', 'REGCLASSES', 'RDBLCLICK', 'RCLICK', 
+			'RBUTTON', 'RAD2DEG', 'QSUCCESSINFO', 'QSUCCESS', 'QSTILLEX', 'QROLLBACK', 'QNULL', 'QNODATA', 'QNEXT', 'QNEEDDATA', 
+			'QFIRST', 'QCOMMIT', 'QBADHANDLE', 'PRINTER', 'PLANCKJOULES', 'PLANCKERGS', 'PI', 'PARSEONLY', 'PARSEC', 'P3ERRREPLY', 
+			'OPEN', 'ON', 'OFF', 'NUMLOCK', 'NOWAIT', 'NOTIFY', 'NORMAL', 'NORESIZE', 'NONE', 'NO', 'NCSAFORMAT', 'MULTIPLE', 
+			'MSFORMAT', 'MPLAYRDBLCK', 'MPLAYRCLK', 'MPLAYRBUTTON', 'MPLAYMDBLCK', 'MPLAYMCLK', 'MPLAYMBUTTON', 'MPLAYLDBLCK', 
+			'MPLAYLCLK', 'MPLAYLBUTTON', 'MINOR', 'MDBLCLICK', 'MCLICK', 'MBYESNO', 'MBUTTON', 'MBOKCANCEL', 'MAJOR', 'MAGFIELD', 
+			'LOCALGROUP', 'LIGHTMTPS', 'LIGHTMPS', 'LF', 'LDBLCLICK', 'LCLICK', 'LBUTTON', 'LAFFDBERROR', 'ICON', 'HTTPS', 'HTTP', 
+			'HNOHEADER', 'HMETHODPOST', 'HMETHODGET', 'HIDDEN', 'HHEADERONLY', 'HHEADER', 'GRAVITATION', 'GOPHER', 'GOLDENRATIO', 
+			'GMTSEC', 'GLOBALGROUP', 'GFTSEC', 'GETPROCID', 'GETEXITCODE', 'FWDSCAN', 'FTPPASSIVE', 'FTP', 'FLOAT8', 'FARADAY', 
+			'FALSE', 'EXTENDED', 'EULERS', 'ENABLE', 'ELECTRIC', 'DRIVE', 'DISABLE', 'DESCENDING', 'DEG2RAD', 'DEFAULT', 'CTRL', 
+			'CRLF', 'CR', 'COMMONFORMAT', 'COLUMNS', 'CHECK', 'CAPSLOCK', 'CANCEL', 'BOLTZMANN', 'BACKSCAN', 'AVOGADRO', 'ATTR_X', 
+			'ATTR_T', 'ATTR_SY', 'ATTR_SH', 'ATTR_RO', 'ATTR_RI', 'ATTR_P', 'ATTR_IC', 'ATTR_H', 'ATTR_DM', 'ATTR_DI', 'ATTR_DC', 
+			'ATTR_CI', 'ATTR_A', 'ASCENDING', 'ARRANGE', 'AMC', 'ACC_WRITE', 'ACC_READ_NT', 'ACC_READ_95', 'ACC_READ', 'ACC_PRINT_NT', 
+			'ACC_PMANG_NT', 'ACC_PFULL_NT', 'ACC_LIST', 'ACC_FULL_NT', 'ACC_FULL_95', 'ACC_DELETE', 'ACC_CREATE', 'ACC_CONTROL', 
+			'ACC_CHNG_NT', 'ACC_ATTRIB', 'ABOVEICONS'			
+			),
+		3 => array(
+			'Yields', 'Yield', 'WinZoom', 'WinWaitExist', 'WinWaitClose', 'WinWaitChild', 'WinVersion', 'WinTitle', 'WinSysInfo', 
+			'WinState', 'WinShow', 'WinResources', 'WinPositionChild', 'WinPosition', 'WinPlaceSet', 'WinPlaceGet', 'WinPlaceChild', 
+			'WinPlace', 'WinParmSet', 'WinParmGet', 'WinName', 'WinMetrics', 'WinItemProcId', 'WinItemNameId', 'WinItemizeEx', 
+			'WinItemize', 'WinItemChild', 'WinIsDos', 'WinIdGet', 'WinIconize', 'WinHide', 'WinHelp', 'WinGetactive', 'WinExistchild', 
+			'WinExist', 'WinExename', 'WinConfig', 'WinClosenot', 'WinClose', 'WinArrange', 'WinActivechild', 'WinActivchild', 
+			'WinActivate', 'WebVerifyCard', 'WebSetTimeout', 'WebParamSize', 'WebParamNames', 'WebParamFile', 'WebParamData', 
+			'WebParamBuf', 'WebOutFile', 'WebOutBinary', 'WebOut', 'WebDumpError', 'WebDatData', 'WebCounter', 'WebConSize', 'WebConData', 
+			'WebConBuf', 'WebCmdData', 'WebBaseConv', 'Wallpaper', 'WaitForKeyEX', 'WaitForKey', 'VersionDLL', 'Version', 'VarType', 
+			'TimeYmdHms', 'TimeWait', 'TimeSubtract', 'TimeJulToYmd', 'TimeJulianDay', 'TimeDiffSecs', 'TimeDiffDays', 'TimeDiff', 'TimeDelay', 
+			'TimeDate', 'TimeAdd', 'TextSelect', 'TextBoxSort', 'TextBox', 'Terminate', 'Tanh', 'Tan', 'SysParamInfo', 'SvcWaitForCmd', 
+			'SvcSetState', 'SvcSetAccept', 'StrUpper', 'StrTrim', 'StrSubWild', 'StrSub', 'StrScan', 'StrReplace', 'StrLower', 'StrLenWild', 
+			'StrLen', 'StrIndexWild', 'StrIndexNC', 'StrIndex', 'StriCmp', 'StrFixLeft', 'StrFixCharsL', 'StrFixChars', 'StrFix', 'StrFill', 
+			'StrCnt', 'StrCmp', 'StrClean', 'StrCharCount', 'StrCat', 'StrByteCount', 'Sqrt', 'SoundVolume', 'Sounds', 'Snapshot', 'Sinh', 'Sin', 
+			'ShortCutMake', 'ShortCutInfo', 'ShortCutExtra', 'ShortCutEdit', 'ShortCutDir', 'ShellExecute', 'SendMenusToEx', 'SendMenusTo', 
+			'SendKeysTo', 'SendKeysChild', 'SendKey', 'RunZoomWait', 'RunZoom', 'RunWithLogon', 'RunWait', 'RunShell', 'RunIconWait', 
+			'RunIcon', 'RunHideWait', 'RunHide', 'RunExit', 'RunEnviron', 'Run', 'RtStatus', 'Reload', 'RegUnloadHive', 'RegSetValue', 
+			'RegSetQword', 'RegSetMulSz', 'RegSetExpSz', 'RegSetEx', 'RegSetDword', 'RegSetBin', 'RegQueryValue', 'RegQueryStr', 
+			'RegQueryQword', 'RegQueryMulSz', 'RegQueryKeys', 'RegQueryKeyLastWriteTime', 'RegQueryKey', 'RegQueryItem', 'RegQueryExpSz', 
+			'RegQueryEx', 'RegQueryDword', 'RegQueryBin', 'RegOpenKeyEx', 'RegOpenKey', 'RegOpenFlags', 'RegLoadHive', 'RegExistValue', 
+			'RegExistKey', 'RegEntryType', 'RegDelValue', 'RegDeleteKey', 'RegCreateKey', 'RegConnect', 'RegCloseKey', 'RegApp', 'Random', 
+			'PtrPersistent', 'PtrGlobalDefine', 'PtrGlobal', 'Print', 'PlayWaveform', 'PlayMidi', 'PlayMedia', 'PipeServerWrite', 'PipeServerRead', 
+			'PipeServerCreate', 'PipeServerClose', 'PipeInfo', 'PipeClientSendRecvData', 'PipeClientOpen', 'PipeClientClose', 'Pause', 
+			'ParseData', 'ObjectTypeGet', 'ObjectType', 'ObjectOpen', 'ObjectGet', 'ObjectEventRemove', 'objecteventremove', 'ObjectEventAdd', 
+			'objecteventadd', 'ObjectCreate', 'ObjectConstToArray', 'ObjectConstantsGet', 'ObjectCollectionOpen', 'ObjectCollectionNext', 
+			'ObjectCollectionClose', 'ObjectClose', 'ObjectAccess', 'Num2Char', 'NetInfo', 'MsgTextGet', 'MousePlay', 'MouseMove', 'MouseInfo', 
+			'MouseDrag', 'MouseCoords', 'MouseClickBtn', 'MouseClick', 'mod', 'Min', 'Message', 'Max', 'Loge', 'LogDisk', 'Log10', 'LastError', 
+			'KeyToggleSet', 'KeyToggleGet', 'ItemSortNc', 'ItemSort', 'ItemSelect', 'ItemReplace', 'ItemRemove', 'ItemLocate', 'ItemInsert', 
+			'ItemExtractCSV', 'ItemExtract', 'ItemCountCSV', 'ItemCount', 'IsNumber', 'IsLicensed', 'IsKeyDown', 'IsInt', 'IsFloat', 'IsDefined', 
+			'Int', 'InstallFile', 'IniWritePvt', 'IniWrite', 'IniReadPvt', 'IniRead', 'IniItemizePvt', 'IniItemize', 'IniDeletePvt', 'IniDelete', 
+			'IgnoreInput', 'IconReplace', 'IconInfo', 'IconExtract', 'IconArrange', 'GetTickCount', 'GetObject', 'GetExactTime', 'Floor', 
+			'FindWindow', 'FileYmdHms', 'FileWrite', 'FileVerInfo', 'FileTimeTouch', 'FileTimeSetEx', 'FileTimeSet', 'FileTimeGetEx', 
+			'FileTimeGet', 'FileTimeCode', 'FileSizeEx', 'FileSize', 'FileRoot', 'FileRename', 'FileRead', 'FilePutW', 'FilePut', 'FilePath', 
+			'FileOpen', 'FileNameShort', 'FileNameLong', 'FileNameEval2', 'FileNameEval1', 'FileMoveAttr', 'FileMove', 'FileMapName', 
+			'FileLocate', 'FileItemPath', 'FileItemize', 'FileInfoToArray', 'FileGetW', 'FileGet', 'FileFullname', 'FileExtension', 'FileExist', 
+			'FileDelete', 'FileCreateTemp', 'FileCopyAttr', 'FileCopy', 'FileCompare', 'FileClose', 'FileBaseName', 'FileAttrSetEx', 
+			'FileAttrSet', 'FileAttrGetEx', 'FileAttrGet', 'FileAppend', 'Fabs', 'ExtractAttachedFile', 'Exp', 'ExeTypeInfo', 'Exclusive', 
+			'EnvItemize', 'EnvironSet', 'Environment', 'EndSession', 'DosVersion', 'DllLoad', 'DllLastError', 'DllHwnd', 'DllHinst', 
+			'DllFree', 'DllCallCDecl', 'DllCall', 'Display', 'DiskVolinfo', 'DiskSize', 'DiskScan', 'DiskInfo', 'DiskFree', 'DiskExist', 
+			'DirWindows', 'DirSize', 'DirScript', 'DirRename', 'DirRemove', 'DirMake', 'DirItemize', 'DirInfoToArray', 'DirHome', 'DirGet', 
+			'DirExist', 'DirChange', 'DirAttrSetEx', 'DirAttrSet', 'DirAttrGetEx', 'DirAttrGet', 'DialogProcOptions', 'DialogObject', 
+			'DialogControlState', 'DialogControlSet', 'DialogControlGet', 'DialogBox', 'Dialog', 'Delay', 'Decimals', 'DebugTrace', 
+			'DebugData', 'DDETimeout', 'DDETerminate', 'DDERequest', 'DDEPoke', 'DDEInitiate', 'DDEExecute', 'DateTime', 'CurrFilepath', 
+			'CurrentPath', 'CurrentFile', 'CreateObject', 'Cosh', 'Cos', 'ClipPut', 'ClipHasFormat', 'ClipGetEx', 'ClipGet', 'ClipAppend', 
+			'ChrUnicodeToString', 'ChrUnicodeToHex', 'ChrStringToUnicode', 'ChrSetCodepage', 'ChrHexToUnicode', 'ChrGetCodepage', 
+			'Char2Num', 'Ceiling', 'ButtonNames', 'BoxUpdates', 'BoxTitle', 'BoxTextFont', 'BoxTextColor', 'BoxText', 'BoxShut', 'BoxPen', 
+			'BoxOpen', 'BoxNew', 'BoxMapmode', 'BoxesUp', 'BoxDrawText', 'BoxDrawRect', 'BoxDrawLine', 'BoxDrawCircle', 'BoxDestroy', 
+			'BoxDataTag', 'BoxDataClear', 'BoxColor', 'BoxCaption', 'BoxButtonWait', 'BoxButtonStat', 'BoxButtonKill', 'BoxButtonDraw', 
+			'BoxBitMap', 'BinaryXor', 'BinaryXlate', 'BinaryWriteEx', 'BinaryWrite', 'BinaryTagRepl', 'BinaryTagLen', 'BinaryTagInit', 
+			'BinaryTagIndex', 'BinaryTagFind', 'BinaryTagExtr', 'BinaryStrCnt', 'BinarySort', 'BinaryReplace', 'BinaryReadEx', 
+			'BinaryRead', 'BinaryPokeStrW', 'BinaryPokeStr', 'BinaryPokeHex', 'BinaryPokeFlt', 'BinaryPoke4', 'BinaryPoke2', 'BinaryPoke', 
+			'BinaryPeekStrW', 'BinaryPeekStr', 'BinaryPeekHex', 'BinaryPeekFlt', 'BinaryPeek4', 'BinaryPeek2', 'BinaryPeek', 'BinaryOr', 
+			'BinaryOleType', 'BinaryIndexNc', 'BinaryIndexEx', 'BinaryIndexBin', 'BinaryIndex', 'BinaryIncrFlt', 'BinaryIncr4', 
+			'BinaryIncr2', 'BinaryIncr', 'BinaryHashRec', 'BinaryFree', 'BinaryEodSet', 'BinaryEodGet', 'BinaryCopy', 'BinaryConvert', 
+			'BinaryCompare', 'BinaryClipPut', 'BinaryClipGet', 'BinaryChecksum', 'BinaryBufInfo', 'BinaryAnd', 'BinaryAllocArray', 
+			'BinaryAlloc', 'Beep', 'Average', 'Atan', 'AskYesNo', 'AskTextbox', 'AskPassword', 'AskLine', 'AskItemlist', 'AskFont', 
+			'AskFiletext', 'AskFilename', 'AskDirectory', 'AskColor', 'Asin', 'ArrInitialize', 'ArrInfo', 'ArrDimension', 
+			'Arrayize', 'ArrayFilePutCSV', 'ArrayFilePut', 'ArrayFileGetCSV', 'ArrayFileGet', 'AppWaitClose', 'AppExist', 'AddExtender', 
+			'Acos', 'Abs', 'About'
+			),
+		4 => array(
+			'zZipFiles', 'zVersionInfo', 'zVersion', 'zUnZipFiles', 'zSetPortBit', 'zRPortShift', 'zPortOut', 'zPortIn', 'zNotPortBit', 
+			'zLPortShift', 'zGetPortBit', 'zClrPortBit', 'xVerifyCCard', 'xSendMessage', 'xMessageBox', 'xMemCompact', 'xHex', 'xGetElapsed', 
+			'xGetChildHwnd', 'xExtenderInfo', 'xEnumStreams', 'xEjectMedia', 'xDriveReady', 'xDiskLabelGet', 'xCursorSet', 'xBaseConvert', 
+			'wxPing', 'wxParmSet', 'wxParmGet', 'wxMsgSetHdr', 'wxMsgGetHdr', 'wxMsgGetBody', 'wxHost2Addr', 'wxGetLastErr', 'wxGetInfo', 
+			'wxGetErrDesc', 'wxAddr2Host', 'wtsWaitSystemEvent', 'wtsVersion', 'wtsTerminateProcess', 'wtsShutdownSystem', 'wtsSendMessage', 
+			'wtsQuerySessionInfo', 'wtsProcIdToSessId', 'wtsLogoffSession', 'wtsLastErrMsg', 'wtsIsTSEnabled', 'wtsIsCitrixEnabled', 
+			'wtsGetActiveConsoleSessId', 'wtsEnumSessions', 'wtsEnumProcesses', 'wtsDisconnectSession', 'wnWrkGroups', 'wnVersion', 'wntWtsUserSet', 
+			'wntWtsUserGet', 'wntVersion', 'wntUserSidChk', 'wntUserSetDat', 'wntUserRename', 'wntUserProps', 'wntUserList', 'wntUserInfo', 
+			'wntUserGetDat', 'wntUserFiles', 'wntUserExist', 'wntUserDel', 'wntUserAddDat', 'wntUserAdd', 'wntSvcStatus', 'wntSvcStart', 
+			'wntSvcList', 'wntSvcDelete', 'wntSvcCreate', 'wntSvcControl', 'wntSvcCfgSet', 'wntSvcCfgGet', 'wntShutdown', 'wntShareUsers', 
+			'wntShareSet', 'wntShareList', 'wntShareInfo', 'wntShareDel', 'wntShareAdd', 'wntServiceInf', 'wntServiceAt', 'wntServerType', 
+			'wntServerList', 'wntServerInfo', 'wntSecurityGet', 'wntRunAsUser', 'wntResources2', 'wntResources', 'wntRemoteTime', 'wntRasUserSet', 
+			'wntRasUserGet', 'wntProfileInfo', 'wntProfileDel', 'wntPrivUsers', 'wntPrivList', 'wntPrivGet', 'wntPrivDel', 'wntPrivAdd', 
+			'wntOwnerSet', 'wntOwnerGet', 'wntMemberSet', 'wntMemberLst2', 'wntMemberList', 'wntMemberGrps', 'wntMemberGet', 'wntMemberDel', 
+			'wntLsaPolSet', 'wntLsaPolGet', 'wntListGroups', 'wntLastErrMsg', 'wntGroupRen', 'wntGroupInfo', 'wntGroupEdit', 'wntGroupDel', 
+			'wntGroupAdd', 'wntGetUser', 'wntGetDrive', 'wntGetDc', 'wntGetCon', 'wntFileUsers', 'wntFilesOpen', 'wntFileClose', 'wntEventWrite', 
+			'wntEventLog', 'wntDomainSync', 'wntDirDialog', 'wntDfsList', 'wntDfsGetInfo', 'wntCurrUsers', 'wntChgPswd', 'wntCancelCon', 
+			'wntAuditMod', 'wntAuditList', 'wntAuditGet', 'wntAuditDel', 'wntAuditAdd2', 'wntAuditAdd', 'wntAddPrinter', 'wntAddDrive', 
+			'wntAcctPolSet', 'wntAcctPolGet', 'wntAcctList', 'wntAcctInfo', 'wntAccessMod', 'wntAccessList', 'wntAccessGet', 'wntAccessDel', 
+			'wntaccessadd2', 'wntAccessAdd', 'wnShares', 'wnSharePath', 'wnShareName', 'wnShareCnt', 'wnServers', 'wnRestore', 'wnNetNames', 
+			'wnGetUser', 'wnGetCon', 'wnGetCaps', 'wnDlgShare', 'wnDlgNoShare', 'wnDlgDiscon', 'wnDlgCon4', 'wnDlgCon3', 'wnDlgCon2', 'wnDlgCon', 
+			'wnDlgBrowse', 'wnDialog', 'wnCmptrInfo', 'wnCancelCon', 'wnAddCon', 'WaitSRQ', 'w9xVersion', 'w9xUserSetDat', 'w9xUserRename', 
+			'w9xUserprops', 'w9xUserList', 'w9xUserinfo', 'w9xUserGetDat', 'w9xUserExist', 'w9xUserDel', 'w9xUserAddDat', 'w9xUserAdd', 'w9xShareSet', 
+			'w9xShareInfo', 'w9xShareDel', 'w9xShareAdd', 'w9xServiceAt', 'w9xServerList', 'w9xRemoteTime', 'w9xOwnerGet', 'w9xMemberSet', 
+			'w9xMemberList', 'w9xMemberGrps', 'w9xMemberGet', 'w9xMemberDel', 'w9xListGroups', 'w9xGroupInfo', 'w9xGroupDel', 'w9xGroupAdd', 
+			'w9xGetDC', 'w9xFileUsers', 'w9xAccessList', 'w9xAccessGet', 'w9xAccessDel', 'w9xAccessAdd', 'w95Version', 'w95ShareUsers', 
+			'w95ShareSet', 'w95ShareList', 'w95ShareInfo', 'w95ShareDel', 'w95ShareAdd', 'w95ServiceInf', 'w95ServiceAt', 'w95ServerType', 
+			'w95ServerInfo', 'w95Resources', 'w95GetUser', 'w95GetDrive', 'w95GetCon', 'w95FileUsers', 'w95FileClose', 'w95DirDialog', 
+			'w95CancelCon', 'w95AddPrinter', 'w95AddDrive', 'w95AccessDel', 'w95AccessAdd', 'w3Version', 'w3PrtBrowse', 'w3NetGetUser', 
+			'w3NetDialog', 'w3GetCon', 'w3GetCaps', 'w3DirBrowse', 'w3CancelCon', 'w3AddCon', 'urlGetScheme', 'urlEncode', 'urlDecode', 
+			'tVersion', 'tSetPriority', 'TriggerList', 'Trigger', 'tRemoteConn', 'tOpenProc', 'tListProc', 'tListMod', 'tKillProc', 'tGetProcInfo', 
+			'tGetPriority', 'tGetModInfo', 'tGetLastError', 'tGetData', 'TestSys', 'TestSRQ', 'tCountProc', 'tCompatible', 'tCloseProc', 
+			'tBrowseCntrs', 'sSendString', 'sSendNum', 'sSendLine', 'sSendBinary', 'sRecvNum', 'sRecvLine', 'sRecvBinary', 'SrchVersion', 
+			'SrchNext', 'SrchInit', 'SrchFree', 'sOpen', 'sOK2Send', 'sOK2Recv', 'smtpSendText', 'smtpSendFile', 'sListen', 'SetRWLS', 
+			'SendSetup', 'SendLLO', 'SendList', 'SendIFC', 'SendDataBytes', 'SendCmds', 'Send', 'sConnect', 'sClose', 'SByteOrder32', 
+			'sByteOrder16', 'sAccept', 'rRegVersion', 'rRegSearch', 'ResetSys', 'ReceiveSetup', 'Receive', 'ReadStsByte', 'RcvRespMsg', 
+			'RasVersion', 'RasTypeSize', 'RasRename', 'RasNumCons', 'RasNameValid', 'RasListActCon', 'RasItemize', 'RasHangUp', 'RasGetLastErr', 
+			'RasGetConStat', 'RasEntrySet', 'RasEntryInfo', 'RasEntryExist', 'RasEntryDel', 'RasEntryAdd', 'RasDialInfo', 'RasDial', 
+			'RasCopy', 'RasConStatus', 'qVersionInfo', 'qTransact', 'qTables', 'qSpecial', 'qSetConnOpt', 'qNumRsltCol', 'qNativeSql', 'qLastCode', 
+			'qGetData', 'qFreeStmt', 'qFreeEnv', 'qFreeConnect', 'qFetch', 'qExecDirect', 'qError', 'qDriverList', 'qDriverCon', 'qDisconnect', 
+			'qDataSources', 'qConnect', 'qConfigError', 'qConfigData', 'qColumns', 'qBindCol', 'qAllocStmt', 'qAllocEnv', 'qAllocConnect', 
+			'pWaitFor', 'pVersionInfo', 'pTimeout', 'pSetPublish', 'pSetPrtInfo', 'pSetPrtAttrib', 'pSetDefPrtEx', 'pSetDefPrt', 'pSendFile', 
+			'pRecvFile', 'pPutString', 'pPutLine', 'pPutChar', 'pPutByte', 'pPutBinary', 'PPollUnconfig', 'PPollConfig', 'PPoll', 'pPeekChar', 
+			'pPeekByte', 'pPaperSizes', 'pPaperBins', 'pModemSReg', 'pModemParams', 'pModemInit', 'pModemHangUp', 'pModemDial', 'pModemControl', 
+			'pModemConnect', 'pModemCommand', 'pModemAnsRing', 'pModemAnsCall', 'pMediaTypes', 'pGetString', 'pGetPublish', 'pGetPrtList', 
+			'pGetPrtInfo', 'pGetPrtAttrib', 'pGetLine', 'pGetLastError', 'pGetErrorMsg', 'pGetErrorCode', 'pGetDefPrtInf', 'pGetChar', 
+			'pGetByte', 'pGetBinary', 'pDelPrtConn', 'pDelPrinter', 'pComOpen', 'pComModify', 'pComInfo', 'pComControl', 'pComClose', 
+			'pCheckSum', 'pCheckBinary', 'pCaptureOn', 'pCaptureOff', 'pCaptureLog', 'PassControl', 'pAddPrtConn', 'pAddPrinter', 'p3RecvText', 
+			'p3RecvFile', 'p3Peek', 'p3Open', 'p3GetReply', 'p3Delete', 'p3Count', 'p3Close', 'nwWhoAmI', 'nwVfyPassword', 'nwVersion', 
+			'nwSrvShutdown', 'nwSrvNLMMgr', 'nwSrvGenGUID', 'nwSrvExecNCF', 'nwSetVolLimit', 'nwSetSrvParam', 'nwSetSrvInfo', 'nwSetPrimServ', 
+			'nwSetPassword', 'nwSetOptions', 'nwSetFileInfo', 'nwSetDirLimit', 'nwSetDirInfo', 'nwSetContext', 'nwSetBcastMode', 'nwServerList', 
+			'nwSendBcastMsg', 'nwSearchObjects', 'nwSearchFilter', 'nwRenameObject', 'nwRemoveObject', 'nwReceiveBcastMsg', 'nwNameConvert', 
+			'nwMutateObject', 'nwMoveObject', 'nwModifyObject', 'nwMapDelete', 'nwMap', 'nwLogout', 'nwLogin', 'nwListUserGroups', 
+			'nwListObjects', 'nwListGroupMembers', 'nwLastErrMsg', 'nwIsUserInGroup', 'nwGetVolLimit', 'nwGetSrvStats', 'nwGetSrvParam', 
+			'nwGetSrvInfo', 'nwGetSrvCfg', 'nwGetOptions', 'nwGetObjValue', 'nwGetObjInfo', 'nwGetNLMInfo', 'nwGetMapped', 'nwGetFileInfo', 
+			'nwGetDirLimit', 'nwGetDirInfo', 'nwGetContext', 'nwGetConnInfo', 'nwGetCapture', 'nwGetBcastMode', 'nwGetAttrInfo', 
+			'nwDriveStatus', 'nwDrivePath', 'nwDetachFromServer', 'nwDelUserFromGroup', 'nwDelConnNum', 'nwCompareObject', 'nwClientInfo', 
+			'nwChgPassword', 'nwAttachToServer', 'nwAddUserToGroup', 'nwAddObject', 'netVersion', 'netResources', 'netGetUser', 'netGetCon', 
+			'netDirDialog', 'netCancelCon', 'netAddPrinter', 'netAddDrive', 'n4Version', 'n4UserGroups', 'n4UserGroupEx', 'n4SetPrimServ', 
+			'n4SetOptions', 'n4SetContextG', 'n4SetContext', 'n4ServerList', 'n4ServerInfo', 'n4ObjSearch', 'n4ObjRename', 'n4ObjOptions', 
+			'n4ObjMove', 'n4ObjGetVal', 'n4ObjectProps', 'n4ObjectList', 'n4ObjectInfo', 'n4ObjDelete', 'n4NameConvert', 'n4MsgsEndAll', 
+			'n4MsgsEnd', 'n4MemberSet', 'n4MemberGet', 'n4MemberDel', 'n4MapRoot', 'n4MapDir', 'n4MapDelete', 'n4Map', 'n4LogoutTree', 
+			'n4Logout', 'n4Login', 'n4GetUserName', 'n4GetUserId', 'n4GetUser', 'n4GetNetAddr', 'n4GetMapped', 'n4GetContext', 
+			'n4GetConnNum', 'n4FileUsers', 'n4FileTimeGet', 'n4FileAttrSet', 'n4FileAttrGet', 'n4DriveStatus', 'n4DrivePath', 'n4DirTimeGet', 
+			'n4DirAttrSet', 'n4DirAttrGet', 'n4Detach', 'n4ChgPassword', 'n4CapturePrt', 'n4CaptureGet', 'n4CaptureEnd', 'n4Attach', 
+			'n3Version', 'n3UserGroups', 'n3ServerList', 'n3ServerInfo', 'n3MsgsEndAll', 'n3MsgsEnd', 'n3MemberSet', 'n3MemberGet', 
+			'n3MemberDel', 'n3Maproot', 'n3Mapdir', 'n3Mapdelete', 'n3Map', 'n3Logout', 'n3GetUserId', 'n3GetUser', 'n3GetNetAddr', 
+			'n3GetMapped', 'n3GetConnNum', 'n3FileTimeGet', 'n3FileAttrSet', 'n3FileAttrGet', 'n3DriveStatus', 'n3DrivePath', 
+			'n3DirTimeGet', 'n3DirAttrSet', 'n3DirAttrGet', 'n3Detach', 'n3ChgPassword', 'n3CapturePrt', 'n3CaptureGet', 
+			'n3CaptureEnd', 'n3Attach', 'mVersion', 'mSyncMail', 'mSendMailEx', 'mSendMail', 'mrecvmail', 'mReadNextMsg', 'mLogOn', 
+			'mLogOff', 'mFindNext', 'mError', 'mCompatible', 'kVerInfo', 'kStatusInfo', 'kSendText', 'kSendFile', 'kManageImap4', 
+			'kInit', 'kGetMail', 'kExtra', 'kDest', 'kDeletePop3', 'iWriteDataBuf', 'iWriteData', 'iVersion', 'IUrlOpen', 'iUrlEncode', 
+			'iUrlDecode', 'iReadDataBuf', 'iReadData', 'ipVersion', 'ipPing', 'iPing', 'ipHost2Addr', 'ipGetLastErr', 'ipGetAddress', 
+			'iParseURL', 'ipAddr2Host', 'iOptionSet', 'iOptionGet', 'ImgWave', 'ImgVersion', 'ImgUnsharpMask', 'ImgThreshold', 'ImgSwirl', 
+			'ImgSpread', 'ImgSolarize', 'ImgShear', 'ImgSharpen', 'ImgShade', 'ImgScale', 'ImgSample', 'ImgRotate', 'ImgResize', 
+			'ImgReduceNoise', 'ImgRaise', 'ImgOilPaint', 'ImgNormalize', 'ImgNegate', 'ImgMotionBlur', 'ImgModulate', 'ImgMinify', 
+			'ImgMedianFilter', 'ImgMagnify', 'ImgLevel', 'ImgIsValid', 'ImgIsPalette', 'ImgIsMono', 'ImgIsGray', 'ImgInfo', 'ImgImplode', 
+			'ImgGetImageType', 'ImgGetColorCount', 'ImgGaussianBlur', 'ImgGamma', 'ImgFrame', 'ImgFlop', 'ImgFlip', 'ImgEqualize', 
+			'ImgEnhance', 'ImgEmboss', 'ImgCrop', 'ImgConvert', 'ImgContrast', 'ImgCompare', 'ImgColorize', 'ImgChop', 'ImgCharcoal', 
+			'ImgBorder', 'ImgBlur', 'ImgAddNoise', 'iLocFindNext', 'iLocFindInit', 'iHttpOpen', 'iHttpInit', 'iHttpHeaders', 'iHttpAccept', 
+			'iHostConnect', 'iHost2Addr', 'iGetResponse', 'iGetLastError', 'iGetIEVer', 'iGetConStatEx', 'iGetConState', 'iFtpRename', 
+			'iFtpPut', 'iFtpOpen', 'iFtpGet', 'iFtpFindNext', 'iFtpFindInit', 'iFtpDirRemove', 'iFtpDirMake', 'iFtpDirGet', 'iFtpDirChange', 
+			'iFtpDialog', 'iFtpDelete', 'iFtpCmd', 'iErrorDialog', 'iDialItemize', 'iDialHangUp', 'iDial', 'iCookieSet', 'iCookieGet', 
+			'iContentURL', 'iContentFile', 'iContentData', 'iClose', 'ibWrtf', 'ibWrt', 'ibWait', 'ibVersion', 'ibUnlock', 'ibTrg', 
+			'ibTmo', 'ibStop', 'ibStatus', 'ibSta', 'ibSre', 'ibSic', 'ibSad', 'ibRsv', 'ibRsp', 'ibRsc', 'ibRpp', 'ibRdf', 'ibRd', 
+			'ibPpc', 'ibPoke', 'ibPct', 'ibPad', 'ibOnl', 'ibMakeAddr', 'ibLock', 'ibLoc', 'ibLn', 'ibLines', 'ibIst', 'ibInit', 
+			'ibGts', 'ibGetSad', 'ibGetPad', 'ibFind', 'ibEvent', 'ibErr', 'ibEot', 'ibEos', 'iBegin', 'ibDma', 'ibDev', 'ibConfig', 
+			'ibCntl', 'ibCnt', 'ibCmda', 'ibCmd', 'ibClr', 'ibCac', 'ibBna', 'ibAsk', 'iAddr2Host', 'huge_Thousands', 'huge_Subtract', 
+			'huge_SetOptions', 'huge_Multiply', 'huge_GetLastError', 'huge_ExtenderInfo', 'huge_Divide', 'huge_Decimal', 'huge_Add', 
+			'httpStripHTML', 'httpRecvTextF', 'httpRecvText', 'httpRecvQuery', 'httpRecvQryF', 'httpRecvFile', 'httpGetServer', 
+			'httpGetQuery', 'httpGetPath', 'httpGetFile', 'httpGetDir', 'httpGetAnchor', 'httpFullPath', 'httpFirewall', 'httpAuth', 
+			'ftpRename', 'ftpQuote', 'ftpPut', 'ftpOpen', 'ftpList', 'ftpGet', 'ftpFirewall', 'ftpDelete', 'ftpClose', 'ftpChDir', 
+			'FindRQS', 'FindLstn', 'EnvSetVar', 'EnvPathDel', 'EnvPathChk', 'EnvPathAdd', 'EnvListVars', 'EnvGetVar', 'EnvGetInfo', 
+			'EnableRemote', 'EnableLocal', 'ehllapiWait', 'ehllapiVersion', 'ehllapiUninit', 'ehllapiStopKeyIntercept', 'ehllapiStopHostNotify', 
+			'ehllapiStopCloseIntercept', 'ehllapiStartKeyIntercept', 'ehllapiStartHostNotify', 'ehllapiStartCloseIntercept', 
+			'ehllapiSetWindowStatus', 'ehllapiSetSessionParams', 'ehllapiSetPSWindowName', 'ehllapiSetCursorLoc', 'ehllapiSendKey', 
+			'ehllapiSendFile', 'ehllapiSearchPS', 'ehllapiSearchField', 'ehllapiRunProfile', 'ehllapiResetSystem', 'ehllapiReserve', 
+			'ehllapiRelease', 'ehllapiReceiveFile', 'ehllapiQuerySystem', 'ehllapiQueryPSStatus', 'ehllapiQueryHostNotify', 
+			'ehllapiQueryFieldAttr', 'ehllapiQueryCursorLoc', 'ehllapiQueryCloseIntercept', 'ehllapiPostInterceptStatus', 
+			'ehllapiPause', 'ehllapiLastErrMsg', 'ehllapiInit', 'ehllapiGetWindowStatus', 'ehllapiGetPSHWND', 'ehllapiGetKey', 
+			'ehllapiFindFieldPos', 'ehllapiFindFieldLen', 'ehllapiDisconnectPS', 'ehllapiCvtRCToPos', 'ehllapiCvtPosToRC', 
+			'ehllapiCopyTextToPS', 'ehllapiCopyTextToField', 'ehllapiCopyTextFromPS', 'ehllapiCopyTextFromField', 'ehllapiCopyOIA', 
+			'ehllapiConnectPS', 'dunItemize', 'dunDisconnect', 'dunConnectEx', 'dunConnect', 'dsTestParam', 'dsSIDtoHexStr', 'dsSetSecProp', 
+			'dsSetProperty', 'dsSetPassword', 'dsSetObj', 'dsSetCredentX', 'dsSetCredent', 'dsRemFromGrp', 'dsRelSecObj', 'dsMoveObj', 
+			'dsIsObject', 'dsIsMemberGrp', 'dsIsContainer', 'dsGetUsersGrps', 'dsGetSecProp', 'dsGetPropName', 'dsGetProperty', 
+			'dsGetPrntPath', 'dsGetPrimGrp', 'dsGetMemGrp', 'dsGetInfo', 'dsGetClass', 'dsGetChldPath', 'dsFindPath', 'dsDeleteObj', 
+			'dsCreatSecObj', 'dsCreateObj', 'dsCopySecObj', 'dsAddToGrp', 'dsAclRemAce', 'dsAclOrderAce', 'dsAclGetAces', 'dsAclAddAce', 
+			'DevClearList', 'DevClear', 'dbTest', 'dbSwapColumns', 'dbSort', 'dbSetRecordField', 'dbSetOptions', 'dbSetErrorReporting', 
+			'dbSetEntireRecord', 'dbSetDelimiter', 'dbSave', 'dbOpen', 'dbNameColumn', 'dbMakeNewItem', 'dbInsertColumn', 'dbGetVersion', 
+			'dbGetSaveStatus', 'dbGetRecordField', 'dbGetRecordCount', 'dbGetNextItem', 'dbGetLastError', 'dbGetEntireRecord', 
+			'dbGetColumnType', 'dbGetColumnNumber', 'dbGetColumnName', 'dbGetColumnCount', 'dbFindRecord', 'dbExist', 'dbEasterEgg', 
+			'dbDeleteRecord', 'dbDeleteColumn', 'dbDebug', 'dbCookDatabases', 'dbClose', 'dbCloneRecord', 'dbBindCol', 'cWndState', 
+			'cWndinfo', 'cWndGetWndSpecName', 'cWndGetWndSpec', 'cWndexist', 'cWndByWndSpecName', 'cWndByWndSpec', 'cWndbyseq', 
+			'cWndbyname', 'cWndbyid', 'cWndbyclass', 'cWinIDConvert', 'cVersionInfo', 'cVendorId', 'cSetWndText', 'cSetUpDownPos', 
+			'cSetTvItem', 'cSetTrackPos', 'cSetTabItem', 'cSetLvItem', 'cSetLbItemEx', 'cSetLbItem', 'cSetIpAddr', 'cSetFocus', 
+			'cSetEditText', 'cSetDtpDate', 'cSetCbItem', 'cSetCalDate', 'cSendMessage', 'cRadioButton', 'cPostMessage', 'cPostButton', 
+			'cMemStat', 'cGetWndCursor', 'cGetUpDownPos', 'cGetUpDownMin', 'cGetUpDownMax', 'cGetTVItem', 'cGetTrackPos', 'cGetTrackMin', 
+			'cGetTrackMax', 'cGetTbText', 'cGetSbText', 'cGetLvText', 'cGetLvSelText', 'cGetLvFocText', 'cGetLvDdtText', 'cGetLvColText', 
+			'cGetLbText', 'cGetLbSelText', 'cGetLbCount', 'cGetIpAddr', 'cGetInfo', 'cGetHrText', 'cGetFocus', 'cGetEditText', 'cGetDtpDate', 
+			'cGetControlImageCRC', 'cGetCBText', 'cGetCbCount', 'cGetCalDate', 'cFindByName', 'cFindByClass', 'cEnablestate', 'cDblClickItem', 
+			'cCpuSupt', 'cCpuSpeed', 'cCpuIdExt', 'cCpuId', 'cCpuFeat', 'cCpuBenchmark', 'cCloneCheck', 'cClickToolbar', 'cClickButton', 
+			'cClearTvItem', 'cClearLvItem', 'cClearLbAll', 'cCheckbox', 'aVersion', 'aStatusbar', 'aShellFolder', 'aMsgTimeout', 'AllSPoll', 
+			'aGetLastError', 'aFileRename', 'aFileMove', 'aFileDelete', 'aFileCopy'			
+			),
+		5 => array(
+			'wWordRight', 'wWordLeft', 'wWinTile', 'wWinRestore', 'wWinNext', 'wWinMinimize', 'wWinMaximize', 'wWinCloseAll', 'wWinClose', 
+			'wWinCascade', 'wWinArricons', 'wViewOutput', 'wViewOptions', 'wViewHtml', 'wUpperCase', 'wUpline', 'wUndo', 'wTopOfFile', 'wToggleIns', 
+			'wTab', 'wStatusMsg', 'wStartSel', 'wSpellcheck', 'wSetProject', 'wSetPrefs', 'wSetColblk', 'wSetBookmark', 'wSelWordRight', 
+			'wSelWordLeft', 'wSelUp', 'wSelTop', 'wSelRight', 'wSelPgUp', 'wSelPgDn', 'wSelLeft', 'wSelInfo', 'wSelHome', 'wSelEnd', 'wSelectAll', 
+			'wSelDown', 'wSelBottom', 'wRunRebuild', 'wRunMake', 'wRunExecute', 'wRunDebug', 'wRunConfig', 'wRunCompile', 'wRunCommand', 'wRight', 
+			'wRepeat', 'wRedo', 'wRecord', 'wProperties', 'wPrintDirect', 'wPrinSetup', 'wPrevError', 'wPaste', 'wPageUp', 'wPageDown', 'wNextError', 
+			'wNewLine', 'wLowerCase', 'wLineCount', 'wLeft', 'wInvertCase', 'wInsString', 'wInsLine', 'wHome', 'wHelpKeyword', 'wHelpKeybrd', 
+			'wHelpIndex', 'wHelpHelp', 'wHelpCmds', 'wHelpAbout', 'wGotoLine', 'wGotoCol', 'wGetWrap', 'wGetWord', 'wGetUndo', 'wGetSelstate', 
+			'wGetRedo', 'wGetOutput', 'wGetModified', 'wGetLineNo', 'wGetIns', 'wGetFilename', 'wGetColNo', 'wGetChar', 'wFtpOpen', 'wFindNext', 
+			'wFindInFiles', 'wFind', 'wFileSaveAs', 'wFileSave', 'wFileRevert', 'wFilePrint', 'wFilePgSetup', 'wFileOpen', 'wFileNew', 'wFileMerge', 
+			'wFileList', 'wFileExit', 'wEndSel', 'wEndOfFile', 'wEnd', 'wEdWrap', 'wEdWordRight', 'wEdWordLeft', 'wEdUpLine', 'wEdUndo', 'wEdTopOfFile', 
+			'wEdToggleIns', 'wEdTab', 'wEdStartSel', 'wEdSetColBlk', 'wEdSelectAll', 'wEdRight', 'wEdRedo', 'wEdPaste', 'wEdPageUp', 'wEdPageDown', 
+			'wEdNewLine', 'wEdLeft', 'wEdInsString', 'wEdHome', 'wEdGoToLine', 'wEdGoToCol', 'wEdGetWord', 'wEdEndSel', 'wEdEndOfFile', 'wEdEnd', 
+			'wEdDownLine', 'wEdDelete', 'wEdCutLine', 'wEdCut', 'wEdCopyLine', 'wEdCopy', 'wEdClearSel', 'wEdBackTab', 'wEdBackspace', 'wDownLine', 
+			'wDelete', 'wDelButton', 'wCutMarked', 'wCutLine', 'wCutAppend', 'wCut', 'wCopyMarked', 'wCopyLine', 'wCopyAppend', 'wCopy', 'wCompile', 
+			'wClearSel', 'wChange', 'wCallMacro', 'wBackTab', 'wBackspace', 'wAutoIndent', 'wAddButton', 'edWindowTile', 'edWindowRestore', 
+			'edWindowNext', 'edWindowMinimize', 'edWindowMaximize', 'edWindowCloseall', 'edWindowClose', 'edWindowCascade', 'edWindowArrangeIcons', 
+			'edStatusMsg', 'edSearchViewOutput', 'edSearchRepeat', 'edSearchPrevError', 'edSearchNextError', 'edSearchFind', 'edSearchChange', 
+			'edRunRebuild', 'edRunMake', 'edRunExecute', 'edRunDebug', 'edRunConfigure', 'edRunCompile', 'edRunCommand', 'edRecord', 'edHelpProcedures', 
+			'edHelpKeyword', 'edHelpKeyboard', 'edHelpIndex', 'edHelpHelp', 'edHelpCommands', 'edHelpAbout', 'edGetWordWrapState', 'edGetWindowName', 
+			'edGetUndoState', 'edGetSelectionState', 'edGetRedoState', 'edGetModifiedStatus', 'edGetLineNumber', 'edGetInsertState', 'edGetColumnNumber', 
+			'edGetChar', 'edFileSetPreferences', 'edFileSaveAs', 'edFileSave', 'edFilePrinterSetup', 'edFilePrint', 'edFilePageSetup', 'edFileOpen', 
+			'edFileNew', 'edFileMerge', 'edFileList', 'edFileExit', 'edEditWrap', 'edEditWordRight', 'edEditWordLeft', 'edEditUpLine', 'edEditUndo', 
+			'edEditToggleIns', 'edEditTab', 'edEditStartSelection', 'edEditSetColumnBlock', 'edEditSetBookmark', 'edEditSelectAll', 'edEditRight', 
+			'edEditRedo', 'edEditPaste', 'edEditPageUp', 'edEditPageDown', 'edEditLeft', 'edEditInsertString', 'edEditGoToLine', 'edEditGoToColumn', 
+			'edEditGoToBookmark', 'edEditGetCurrentWord', 'edEditEndSelection', 'edEditEndOfLine', 'edEditEndOfFile', 'edEditDownline', 'edEditDelete', 
+			'edEditCutline', 'edEditCut', 'edEditCopyline', 'edEditCopy', 'edEditClearSelection', 'edEditBeginningOfLine', 'edEditBeginningOfFile', 
+			'edEditBackTab', 'edEditBackspace', 'edDeleteButton', 'edAddButton'
+			)									
+		),
+	'SYMBOLS' => array(
+		'(', ')', '[', ']', '{', '}', '!', '+', '-', '~', '$', '^', '?', '@', '%', '#', '&', '*', '|', '/', '<', '>'	
+		),
+	'CASE_SENSITIVE' => array(
+		GESHI_COMMENTS => false,
+		1 => false,
+		2 => false,
+		3 => false,
+		4 => false,
+		5 => false
+		),
+	'STYLES' => array(
+		'KEYWORDS' => array(
+			1 => 'color: #800080;',
+			2 => 'color: #0080FF; font-weight: bold;',
+			3 => 'color: #0000FF;',
+			4 => 'color: #FF00FF;',
+			5 => 'color: #008000;'					
+			),	
+		'COMMENTS' => array(
+			1 => 'color: #008000; font-style: italic;',
+			2 => 'color: #FF1010; font-weight: bold;',
+			'MULTI' => 'color: #808080; font-style: italic;'
+			),
+		'ESCAPE_CHAR' => array(
+			0 => 'color: #000099; font-weight: bold;'
+			),
+		'BRACKETS' => array(
+			0 => 'color: #66cc66;'
+			),
+		'STRINGS' => array(
+			0 => 'color: #ff0000;'
+			),
+		'NUMBERS' => array(
+			0 => 'color: #cc66cc;'
+			),
+		'METHODS' => array(
+			0 => 'color: #006600;'
+			),
+		'SYMBOLS' => array(
+			0 => 'color: #66cc66;'
+			),
+		'REGEXPS' => array(
+			0 => 'color: #0000ff;'
+			),
+		'SCRIPT' => array(
+			)
+		),
+	'URLS' => array(
+		1 => '',
+		2 => '',
+		3 => '',
+		4 => '',
+		5 => ''
+		),
+	'OOLANG' => false,
+	'OBJECT_SPLITTER' => '',
+	'REGEXPS' => array(
+		0 => "[\\$]{1,2}[a-zA-Z_][a-zA-Z0-9_]*"
+		),
+	'STRICT_MODE_APPLIES' => GESHI_MAYBE,
+	'SCRIPT_DELIMITERS' => array(
+		),
+	'HIGHLIGHT_STRICT_BLOCK' => array(
+		)
+);
+ 
+?>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/plugins/geshi/geshi/xml.php	Sun Feb 10 18:10:52 2008 -0500
@@ -0,0 +1,146 @@
+<?php
+/*************************************************************************************
+ * xml.php
+ * -------
+ * Author: Nigel McNie (nigel@geshi.org)
+ * Copyright: (c) 2004 Nigel McNie (http://qbnz.com/highlighter/)
+ * Release Version: 1.0.7.20
+ * Date Started: 2004/09/01
+ *
+ * XML language file for GeSHi. Based on the idea/file by Christian Weiske
+ *
+ * CHANGES
+ * -------
+ * 2005/12/28 (1.0.2)
+ *   -  Removed escape character for strings
+ * 2004/11/27 (1.0.1)
+ *   -  Added support for multiple object splitters
+ * 2004/10/27 (1.0.0)
+ *   -  First Release
+ *
+ * TODO (updated 2004/11/27)
+ * -------------------------
+ * * Check regexps work and correctly highlight XML stuff and nothing else
+ *
+ *************************************************************************************
+ *
+ *     This file is part of GeSHi.
+ *
+ *   GeSHi is free software; you can 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.
+ *
+ *   GeSHi is distributed in the hope that it will be useful,
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *   GNU General Public License for more details.
+ *
+ *   You should have received a copy of the GNU General Public License
+ *   along with GeSHi; if not, write to the Free Software
+ *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
+ ************************************************************************************/
+
+$language_data = array (
+	'LANG_NAME' => 'XML',
+	'COMMENT_SINGLE' => array(),
+	'COMMENT_MULTI' => array('<!--' => '-->'),
+	'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+	'QUOTEMARKS' => array("'", '"'),
+	'ESCAPE_CHAR' => '',
+	'KEYWORDS' => array(
+		),
+	'SYMBOLS' => array(
+		),
+	'CASE_SENSITIVE' => array(
+		GESHI_COMMENTS => false,
+		),
+	'STYLES' => array(
+		'KEYWORDS' => array(
+			),
+		'COMMENTS' => array(
+			'MULTI' => 'color: #808080; font-style: italic;'
+			),
+		'ESCAPE_CHAR' => array(
+			0 => 'color: #000099; font-weight: bold;'
+			),
+		'BRACKETS' => array(
+			0 => 'color: #66cc66;'
+			),
+		'STRINGS' => array(
+			0 => 'color: #ff0000;'
+			),
+		'NUMBERS' => array(
+			0 => 'color: #cc66cc;'
+			),
+		'METHODS' => array(
+			),
+		'SYMBOLS' => array(
+			0 => 'color: #66cc66;'
+			),
+		'SCRIPT' => array(
+			0 => 'color: #00bbdd;',
+			1 => 'color: #ddbb00;',
+			2 => 'color: #339933;',
+			3 => 'color: #009900;'
+			),
+		'REGEXPS' => array(
+			0 => 'color: #000066;',
+			1 => 'font-weight: bold; color: black;',
+			2 => 'font-weight: bold; color: black;',
+			)
+		),
+	'URLS' => array(
+		),
+	'OOLANG' => false,
+	'OBJECT_SPLITTERS' => array(
+		),
+	'REGEXPS' => array(
+		0 => array(
+			GESHI_SEARCH => '([a-z_\-:]+)(=)',
+			GESHI_REPLACE => '\\1',
+			GESHI_MODIFIERS => 'i',
+			GESHI_BEFORE => '',
+			GESHI_AFTER => '\\2'
+			),
+		1 => array(
+			GESHI_SEARCH => '(&lt;[/?|(\?xml)]?[a-z0-9_\-:]*(\??&gt;)?)',
+			GESHI_REPLACE => '\\1',
+			GESHI_MODIFIERS => 'i',
+			GESHI_BEFORE => '',
+			GESHI_AFTER => ''
+			),
+		2 => array(
+			GESHI_SEARCH => '(([/|\?])?&gt;)',
+			GESHI_REPLACE => '\\1',
+			GESHI_MODIFIERS => 'i',
+			GESHI_BEFORE => '',
+			GESHI_AFTER => ''
+			)
+		),
+	'STRICT_MODE_APPLIES' => GESHI_ALWAYS,
+	'SCRIPT_DELIMITERS' => array(
+		0 => array(
+			'<!DOCTYPE' => '>'
+			),
+		1 => array(
+			'&' => ';'
+			),
+		2 => array(
+			'<![CDATA[' => ']]>'
+			),
+		3 => array(
+			'<' => '>'
+			)
+	),
+	'HIGHLIGHT_STRICT_BLOCK' => array(
+		0 => false,
+		1 => false,
+		2 => false,
+		3 => true
+        ),
+    'TAB_WIDTH' => 4
+);
+
+?>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/plugins/geshi/geshi/xpp.php	Sun Feb 10 18:10:52 2008 -0500
@@ -0,0 +1,435 @@
+<?php
+/*************************************************************************************
+ * xpp.php
+ * -------
+ * Author: Simon Butcher (simon@butcher.name)
+ * Copyright: (c) 2007 Simon Butcher (http://simon.butcher.name/)
+ * Release Version: 1.0.7.20
+ * CVS Revision Version: $Revision: 1.0 $
+ * Date Started: 2007/02/27
+ * Last Modified: $Date: 2007/02/28 00:00:00 $
+ *
+ * Axapta/Dynamics Ax X++ language file for GeSHi.
+ * For details, see <http://msdn.microsoft.com/en-us/library/aa867122.aspx>
+ *
+ * CHANGES
+ * -------
+ * 2007/02/28 (1.0.0)
+ *  -  First Release
+ *
+ * TODO (updated 2007/02/27)
+ * -------------------------
+ *
+ *************************************************************************************
+ *
+ *     This file is part of GeSHi.
+ *
+ *   GeSHi is free software; you can 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.
+ *
+ *   GeSHi is distributed in the hope that it will be useful,
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *   GNU General Public License for more details.
+ *
+ *   You should have received a copy of the GNU General Public License
+ *   along with GeSHi; if not, write to the Free Software
+ *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
+ ************************************************************************************/
+
+$language_data = array (
+	'LANG_NAME' => 'X++',
+	'COMMENT_SINGLE' => array(1 => '//'),
+	'COMMENT_MULTI' => array('/*' => '*/'),
+	'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+	'QUOTEMARKS' => array("'", '"'),
+	'ESCAPE_CHAR' => '\\',
+	'KEYWORDS' => array(
+		1 => array( // Primitive types
+			'void',
+			'str',
+			'real',
+			'int64',
+			'int',
+			'date',
+			'container',
+			'boolean',
+			'anytype'
+			),
+		2 => array( // Keywords
+			'window',
+			'while',
+			'try',
+			'true',
+			'throw',
+			'switch',
+			'super',
+			'static',
+			'server',
+			'right',
+			'return',
+			'retry',
+			'public',
+			'protected',
+			'private',
+			'print',
+			'pause',
+			'null',
+			'new',
+			'mod',
+			'left',
+			'interface',
+			'implements',
+			'if',
+			'for',
+			'final',
+			'false',
+			'extends',
+			'else',
+			'edit',
+			'do',
+			'div',
+			'display',
+			'default',
+			'continue',
+			'client',
+			'class',
+			'changeCompany',
+			'case',
+			'breakpoint',
+			'break',
+			'at',
+			'abstract'
+			),
+		3 => array( // Functions within the Axapta kernel
+			'year',
+			'wkofyr',
+			'webwebpartstr',
+			'webstaticfilestr',
+			'websitetempstr',
+			'websitedefstr',
+			'webreportstr',
+			'webpagedefstr',
+			'weboutputcontentitemstr',
+			'webmenustr',
+			'webletitemstr',
+			'webformstr',
+			'webdisplaycontentitemstr',
+			'webactionitemstr',
+			'varstr',
+			'utilmoyr',
+			'uint2str',
+			'typeof',
+			'typeid',
+			'trunc',
+			'today',
+			'timenow',
+			'time2str',
+			'term',
+			'tanh',
+			'tan',
+			'tablestr',
+			'tablestaticmethodstr',
+			'tablepname',
+			'tablenum',
+			'tablename2id',
+			'tablemethodstr',
+			'tableid2pname',
+			'tableid2name',
+			'tablefieldgroupstr',
+			'tablecollectionstr',
+			'systemdateset',
+			'systemdateget',
+			'syd',
+			'substr',
+			'strupr',
+			'strscan',
+			'strrtrim',
+			'strrep',
+			'strrem',
+			'strprompt',
+			'strpoke',
+			'strnfind',
+			'strlwr',
+			'strltrim',
+			'strline',
+			'strlen',
+			'strkeep',
+			'strins',
+			'strfmt',
+			'strfind',
+			'strdel',
+			'strcolseq',
+			'strcmp',
+			'stralpha',
+			'str2time',
+			'str2num',
+			'str2int64',
+			'str2int',
+			'str2guid',
+			'str2enum',
+			'str2date',
+			'staticmethodstr',
+			'sln',
+			'sleep',
+			'sinh',
+			'sin',
+			'setprefix',
+			'sessionid',
+			'securitykeystr',
+			'securitykeynum',
+			'runbuf',
+			'runas',
+			'round',
+			'resourcestr',
+			'reportstr',
+			'refprintall',
+			'rate',
+			'querystr',
+			'pv',
+			'pt',
+			'prmisdefault',
+			'primoyr',
+			'prevyr',
+			'prevqtr',
+			'prevmth',
+			'power',
+			'pmt',
+			'num2str',
+			'num2date',
+			'num2char',
+			'nextyr',
+			'nextqtr',
+			'nextmth',
+			'newguid',
+			'mthofyr',
+			'mthname',
+			'mkdate',
+			'minint',
+			'min',
+			'methodstr',
+			'menustr',
+			'menuitemoutputstr',
+			'menuitemdisplaystr',
+			'menuitemactionstr',
+			'maxint',
+			'maxdate',
+			'max',
+			'match',
+			'logn',
+			'log10',
+			'literalstr',
+			'licensecodestr',
+			'licensecodenum',
+			'intvnorm',
+			'intvno',
+			'intvname',
+			'intvmax',
+			'int64str',
+			'int64str',
+			'indexstr',
+			'indexnum',
+			'indexname2id',
+			'indexid2name',
+			'idg',
+			'identifierstr',
+			'helpfilestr',
+			'helpdevstr',
+			'helpapplstr',
+			'guid2str',
+			'getprefix',
+			'getCurrentUTCTime',
+			'fv',
+			'funcname',
+			'frac',
+			'formstr',
+			'fieldstr',
+			'fieldpname',
+			'fieldnum',
+			'fieldname2id',
+			'fieldid2pname',
+			'fieldid2name',
+			'extendedTypeStr',
+			'extendedTypeNum',
+			'exp10',
+			'exp',
+			'evalbuf',
+			'enumstr',
+			'enumnum',
+			'enumcnt',
+			'enum2str',
+			'endmth',
+			'dimof',
+			'dg',
+			'decround',
+			'ddb',
+			'dayofyr',
+			'dayofwk',
+			'dayofmth',
+			'dayname',
+			'date2str',
+			'date2num',
+			'curuserid',
+			'curext',
+			'cterm',
+			'cosh',
+			'cos',
+			'corrflagset',
+			'corrflagget',
+			'convertUTCTimeToLocalTime',
+			'convertUTCDateToLocalDate',
+			'conpoke',
+			'conpeek',
+			'connull',
+			'conlen',
+			'conins',
+			'confind',
+			'configurationkeystr',
+			'configurationkeynum',
+			'condel',
+			'classstr',
+			'classnum',
+			'classidget',
+			'char2num',
+			'beep',
+			'atan',
+			'asin',
+			'ascii2ansi',
+			'any2str',
+			'any2real',
+			'any2int64',
+			'any2int',
+			'any2guid',
+			'any2enum',
+			'any2date',
+			'ansi2ascii',
+			'acos',
+			'abs'
+			),
+		4 => array( // X++ SQL stuff
+			'where',
+			'update_recordset',
+			'ttsCommit',
+			'ttsBegin',
+			'ttsAbort',
+			'sum',
+			'setting',
+			'select',
+			'reverse',
+			'pessimisticLock',
+			'outer',
+			'order by',
+			'optimisticLock',
+			'notExists',
+			'noFetch',
+			'next',
+			'minof',
+			'maxof',
+			'like',
+			'join',
+			'insert_recordset',
+			'index hint',
+			'index',
+			'group by',
+			'from',
+			'forUpdate',
+			'forceSelectOrder',
+			'forcePlaceholders',
+			'forceNestedLoop',
+			'forceLiterals',
+			'flush',
+			'firstOnly',
+			'firstFast',
+			'exists',
+			'desc',
+			'delete_from',
+			'count',
+			'avg',
+			'asc'
+			)
+		),
+	'SYMBOLS' => array( // X++ symbols
+		'!',
+		'&',
+		'(',
+		')',
+		'*',
+		'^',
+		'|',
+		'~',
+		'+',
+		',',
+		'-',
+		'/',
+		':',
+		'<',
+		'=',
+		'>',
+		'?',
+		'[',
+		']',
+		'{',
+		'}'
+		),
+	'CASE_SENSITIVE' => array(
+		GESHI_COMMENTS => true,
+		1 => false,
+		2 => false,
+		3 => false,
+		4 => false
+		),
+	'STYLES' => array(
+		'KEYWORDS' => array(
+			1 => 'color: #0000ff;',
+			2 => 'color: #0000ff;',
+			3 => 'color: #0000ff;',
+			4 => 'color: #0000ff;'
+			),
+		'COMMENTS' => array(
+			1 => 'color: #007f00;',
+			'MULTI' => 'color: #007f00; font-style: italic;'
+			),
+		'ESCAPE_CHAR' => array(
+			0 => 'color: #000000;'
+			),
+		'BRACKETS' => array(
+			0 => 'color: #000000;'
+			),
+		'STRINGS' => array(
+			0 => 'color: #ff0000;'
+			),
+		'NUMBERS' => array(
+			0 => 'color: #000000;'
+			),
+		'METHODS' => array(
+			1 => 'color: #000000;',
+			2 => 'color: #000000;'
+			),
+		'SYMBOLS' => array(
+			0 => 'color: #00007f;'
+			),
+		'REGEXPS' => array(
+			),
+		'SCRIPT' => array(
+			)
+		),
+	'URLS' => array(
+		),
+	'OOLANG' => true,
+	'OBJECT_SPLITTERS' => array(
+		1 => '.',
+		2 => '::'
+		),
+	'REGEXPS' => array(
+		),
+	'STRICT_MODE_APPLIES' => GESHI_NEVER,
+	'SCRIPT_DELIMITERS' => array(
+		),
+	'HIGHLIGHT_STRICT_BLOCK' => array(
+		)
+);
+
+?>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/plugins/geshi/geshi/z80.php	Sun Feb 10 18:10:52 2008 -0500
@@ -0,0 +1,136 @@
+<?php
+/*************************************************************************************
+ * z80.php
+ * -------
+ * Author: Benny Baumann (BenBE@omorphia.de)
+ * Copyright: (c) 2007 Benny Baumann (http://www.omorphia.de/), Nigel McNie (http://qbnz.com/highlighter)
+ * Release Version: 1.0.7.20
+ * Date Started: 2007/02/06
+ *
+ * ZiLOG Z80 Assembler language file for GeSHi.
+ * Syntax definition as commonly used with table assembler TASM32
+ * This file will contain some undocumented opcodes.
+ *
+ * CHANGES
+ * -------
+ * 2007/06/03 (1.0.1)
+ *   -  Fixed two typos in the language file
+ * 2007/02/06 (1.0.0)
+ *   -  First Release
+ *
+ * TODO (updated 2007/02/06)
+ * -------------------------
+ *
+ *************************************************************************************
+ *
+ *     This file is part of GeSHi.
+ *
+ *   GeSHi is free software; you can 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.
+ *
+ *   GeSHi is distributed in the hope that it will be useful,
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *   GNU General Public License for more details.
+ *
+ *   You should have received a copy of the GNU General Public License
+ *   along with GeSHi; if not, write to the Free Software
+ *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
+ ************************************************************************************/
+
+$language_data = array (
+	'LANG_NAME' => 'ZiLOG Z80 Assembler',
+	'COMMENT_SINGLE' => array(1 => ';'),
+	'COMMENT_MULTI' => array(),
+	'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+	'QUOTEMARKS' => array("'", '"'),
+	'ESCAPE_CHAR' => '',
+	'KEYWORDS' => array(
+		/*CPU*/
+		1 => array(
+			'adc','add','and','bit','call','ccf','cp','cpd','cpdr','cpir','cpi',
+			'cpl','daa','dec','di','djnz','ei','ex','exx','halt','im','in',
+			'in0','inc','ind','indr','inir','ini','jp','jr','ld','ldd','lddr',
+			'ldir','ldi','mlt','neg','nop','or','otdm','otdmr','otdr','otim',
+			'otimr','otir','out','out0','outd','outi','pop','push','res','ret',
+			'reti','retn','rl','rla','rlc','rlca','rld','rr','rra','rrc','rrca',
+			'rrd','rst','sbc','scf','set','sla','sl1','sll','slp','sra','srl',
+			'sub','tst','tstio','xor'
+			),
+		/*registers*/
+		2 => array(
+			'a','b','c','d','e','h','l',
+			'af','bc','de','hl','ix','iy','sp',
+			'af\'','ixh','ixl','iyh','iyl'
+			),
+		/*Directive*/
+		3 => array(
+			'#define','#endif','#else','#ifdef','#ifndef','#include','#undef',
+			'.db','.dd','.df','.dq','.dt','.dw','.end','.org','equ'
+		    ),
+		),
+	'SYMBOLS' => array(
+		'[', ']', '(', ')', '?', '+', '-', '*', '/', '%', '$'
+		),
+	'CASE_SENSITIVE' => array(
+		GESHI_COMMENTS => true,
+		1 => false,
+		2 => false,
+		3 => false,
+		),
+	'STYLES' => array(
+		'KEYWORDS' => array(
+			1 => 'color: #0000ff; font-weight:bold;',
+			2 => 'color: #0000ff;',
+			3 => 'color: #46aa03; font-weight:bold;'
+			),
+		'COMMENTS' => array(
+			1 => 'color: #adadad; font-style: italic;',
+			),
+		'ESCAPE_CHAR' => array(
+			0 => 'color: #000099; font-weight: bold;'
+			),
+		'BRACKETS' => array(
+			0 => 'color: #0000ff;'
+			),
+		'STRINGS' => array(
+			0 => 'color: #7f007f;'
+			),
+		'NUMBERS' => array(
+			0 => 'color: #dd22dd;'
+			),
+		'METHODS' => array(
+			),
+		'SYMBOLS' => array(
+			0 => 'color: #008000;'
+			),
+		'REGEXPS' => array(
+			0 => 'color: #22bbff;',
+			1 => 'color: #22bbff;',
+			2 => 'color: #993333;'
+			),
+		'SCRIPT' => array(
+			)
+		),
+	'URLS' => array(
+		),
+	'OOLANG' => false,
+	'OBJECT_SPLITTERS' => array(
+		),
+	'REGEXPS' => array(
+		0 => '0[0-9a-fA-F]{1,32}[hH]',
+		1 => '\%[01]{1,64}[bB]',
+		2 => '^[_a-zA-Z][_a-zA-Z0-9]{0,50}\:'
+		),
+	'STRICT_MODE_APPLIES' => GESHI_NEVER,
+	'SCRIPT_DELIMITERS' => array(
+		),
+	'HIGHLIGHT_STRICT_BLOCK' => array(
+        ),
+    'TAB_WIDTH' => 8
+);
+
+?>