├── examples ├── donate.gif ├── config.php ├── XXX │ └── index.php ├── index.php └── index.css ├── shared ├── SyntaxHighlighter │ ├── styles │ │ ├── help.png │ │ ├── printer.png │ │ ├── magnifier.png │ │ ├── wrapping.png │ │ ├── page_white_code.png │ │ ├── page_white_copy.png │ │ ├── shThemeEmacs.css │ │ ├── shThemeMidnight.css │ │ ├── shThemeDjango.css │ │ ├── shThemeRDark.css │ │ ├── shThemeFadeToGrey.css │ │ ├── shThemeDefault.css │ │ └── shCore.css │ ├── scripts │ │ ├── clipboard.swf │ │ ├── shBrushPlain.js │ │ ├── shBrushDiff.js │ │ ├── shBrushJScript.js │ │ ├── shBrushPython.js │ │ ├── shBrushScala.js │ │ ├── shBrushJava.js │ │ ├── shBrushXml.js │ │ ├── shBrushRuby.js │ │ ├── shLegacy.js │ │ ├── shBrushJavaFX.js │ │ ├── shBrushCSharp.js │ │ ├── shBrushVb.js │ │ ├── shBrushDelphi.js │ │ ├── shBrushAS3.js │ │ ├── shBrushBash.js │ │ ├── shBrushGroovy.js │ │ ├── shBrushSql.js │ │ ├── shBrushPerl.js │ │ ├── shBrushPowerShell.js │ │ ├── shBrushPhp.js │ │ ├── shBrushCpp.js │ │ ├── shBrushCss.js │ │ └── shCore.js │ ├── test.html │ ├── src │ │ └── shLegacy.js │ └── LGPLv3.txt └── ba-debug.js ├── unit ├── unit.js ├── jquery-1.3.2.html ├── index.html └── qunit.css ├── LICENSE-MIT ├── package.json ├── README.markdown ├── jquery.ba-XXX.js └── LICENSE-GPL /examples/donate.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cowboy/jquery-plugin/HEAD/examples/donate.gif -------------------------------------------------------------------------------- /shared/SyntaxHighlighter/styles/help.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cowboy/jquery-plugin/HEAD/shared/SyntaxHighlighter/styles/help.png -------------------------------------------------------------------------------- /shared/SyntaxHighlighter/styles/printer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cowboy/jquery-plugin/HEAD/shared/SyntaxHighlighter/styles/printer.png -------------------------------------------------------------------------------- /shared/SyntaxHighlighter/scripts/clipboard.swf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cowboy/jquery-plugin/HEAD/shared/SyntaxHighlighter/scripts/clipboard.swf -------------------------------------------------------------------------------- /shared/SyntaxHighlighter/styles/magnifier.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cowboy/jquery-plugin/HEAD/shared/SyntaxHighlighter/styles/magnifier.png -------------------------------------------------------------------------------- /shared/SyntaxHighlighter/styles/wrapping.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cowboy/jquery-plugin/HEAD/shared/SyntaxHighlighter/styles/wrapping.png -------------------------------------------------------------------------------- /shared/SyntaxHighlighter/styles/page_white_code.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cowboy/jquery-plugin/HEAD/shared/SyntaxHighlighter/styles/page_white_code.png -------------------------------------------------------------------------------- /shared/SyntaxHighlighter/styles/page_white_copy.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cowboy/jquery-plugin/HEAD/shared/SyntaxHighlighter/styles/page_white_copy.png -------------------------------------------------------------------------------- /unit/unit.js: -------------------------------------------------------------------------------- 1 | // Not sure why this isn't set by default in qunit.js.. 2 | QUnit.jsDump.HTML = false; 3 | 4 | $(function(){ // START CLOSURE 5 | 6 | $('#jq_version').html( $.fn.jquery ); 7 | 8 | 9 | module( 'foo' ); 10 | 11 | test( 'bar', function() { 12 | expect( 1 ); 13 | 14 | var result = 1; 15 | equals( result, 1, 'result should be 1' ); 16 | }); 17 | 18 | 19 | }); // END CLOSURE 20 | -------------------------------------------------------------------------------- /examples/config.php: -------------------------------------------------------------------------------- 1 | 8 | Project Home, 9 | Documentation, 10 | Source 11 | 21 | -------------------------------------------------------------------------------- /unit/jquery-1.3.2.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | jQuery XXX - Unit Tests 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 |

jQuery XXX - Unit Tests

16 | Project Home 17 |
18 |
19 |

20 |
21 |

22 |

23 | These unit tests include jQuery .... To view the unit tests using 24 | jQuery 1.4.2, click here 25 |

26 |
    27 | 28 | 29 | -------------------------------------------------------------------------------- /unit/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | jQuery XXX - Unit Tests 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 |
    15 |

    jQuery XXX - Unit Tests

    16 | Project Home 17 |
    18 |
    19 |

    20 |
    21 |

    22 |

    23 | These unit tests include jQuery .... To view the unit tests using 24 | jQuery 1.3.2, click here 25 |

    26 |
      27 | 28 | 29 | -------------------------------------------------------------------------------- /LICENSE-MIT: -------------------------------------------------------------------------------- 1 | Copyright (c) 2010 "Cowboy" Ben Alman 2 | 3 | Permission is hereby granted, free of charge, to any person 4 | obtaining a copy of this software and associated documentation 5 | files (the "Software"), to deal in the Software without 6 | restriction, including without limitation the rights to use, 7 | copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | copies of the Software, and to permit persons to whom the 9 | Software is furnished to do so, subject to the following 10 | conditions: 11 | 12 | The above copyright notice and this permission notice shall be 13 | included in all copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 16 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES 17 | OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 18 | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 19 | HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 20 | WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 21 | FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 22 | OTHER DEALINGS IN THE SOFTWARE. 23 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "cowboy-jquery-XXX", 3 | "version": "1.X.X", 4 | "description": "Plugin Name. Plugin Description.", 5 | "url": "http://benalman.com/projects/jquery-XXX-plugin/", 6 | "keywords": [ "foo", "bar" ], 7 | "maintainers": [ 8 | { 9 | "name": "\"Cowboy\" Ben Alman", 10 | "web": "http://benalman.com/" 11 | } 12 | ], 13 | "contributors": [ 14 | { 15 | "name": "\"Cowboy\" Ben Alman", 16 | "web": "http://benalman.com/" 17 | } 18 | ], 19 | "bugs": { 20 | "web": "http://github.com/cowboy/jquery-XXX/issues" 21 | }, 22 | "licenses": [ 23 | { 24 | "type": "MIT", 25 | "url": "http://benalman.com/about/license/" 26 | }, 27 | { 28 | "type": "GPLv2", 29 | "url": "http://benalman.com/about/license/" 30 | } 31 | ], 32 | "repositories": [ 33 | { 34 | "type": "git", 35 | "url": "http://github.com/cowboy/jquery-XXX.git" 36 | } 37 | ], 38 | "dependencies": { 39 | "jquery": [ "1.3.2", "1.4.0" ] 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /shared/SyntaxHighlighter/scripts/shBrushPlain.js: -------------------------------------------------------------------------------- 1 | /** 2 | * SyntaxHighlighter 3 | * http://alexgorbatchev.com/ 4 | * 5 | * SyntaxHighlighter is donationware. If you are using it, please donate. 6 | * http://alexgorbatchev.com/wiki/SyntaxHighlighter:Donate 7 | * 8 | * @version 9 | * 2.0.320 (May 03 2009) 10 | * 11 | * @copyright 12 | * Copyright (C) 2004-2009 Alex Gorbatchev. 13 | * 14 | * @license 15 | * This file is part of SyntaxHighlighter. 16 | * 17 | * SyntaxHighlighter is free software: you can redistribute it and/or modify 18 | * it under the terms of the GNU Lesser General Public License as published by 19 | * the Free Software Foundation, either version 3 of the License, or 20 | * (at your option) any later version. 21 | * 22 | * SyntaxHighlighter is distributed in the hope that it will be useful, 23 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 24 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 25 | * GNU General Public License for more details. 26 | * 27 | * You should have received a copy of the GNU General Public License 28 | * along with SyntaxHighlighter. If not, see . 29 | */ 30 | SyntaxHighlighter.brushes.Plain = function() 31 | { 32 | }; 33 | 34 | SyntaxHighlighter.brushes.Plain.prototype = new SyntaxHighlighter.Highlighter(); 35 | SyntaxHighlighter.brushes.Plain.aliases = ['text', 'plain']; 36 | -------------------------------------------------------------------------------- /README.markdown: -------------------------------------------------------------------------------- 1 | # jQuery PLUGIN: SHORT_DESCRIPTION # 2 | [http://benalman.com/projects/jquery-XXX-plugin/](http://benalman.com/projects/jquery-XXX-plugin/) 3 | 4 | Version: 1.0pre, Last updated: ?/??/2010 5 | 6 | jQuery PLUGIN does... 7 | 8 | Visit the [project page](http://benalman.com/projects/jquery-XXX-plugin/) for more information and usage examples! 9 | 10 | 11 | ## Documentation ## 12 | [http://benalman.com/code/projects/jquery-XXX/docs/](http://benalman.com/code/projects/jquery-XXX/docs/) 13 | 14 | 15 | ## Examples ## 16 | These working examples, complete with fully commented code, illustrate a few 17 | ways in which this plugin can be used. 18 | 19 | [http://benalman.com/code/projects/jquery-XXX/examples/XXX/](http://benalman.com/code/projects/jquery-XXX/examples/XXX/) 20 | 21 | ## Support and Testing ## 22 | Information about what version or versions of jQuery this plugin has been 23 | tested with, what browsers it has been tested in, and where the unit tests 24 | reside (so you can test it yourself). 25 | 26 | ### jQuery Versions ### 27 | 1.4.3, 1.4.2, 1.3.2 28 | 29 | ### Browsers Tested ### 30 | Internet Explorer 6-8, Firefox 3-3.6, Safari 3-4, Chrome 3-5, Opera 9.6-10.5. 31 | 32 | ### Unit Tests ### 33 | [http://benalman.com/code/projects/jquery-XXX/unit/](http://benalman.com/code/projects/jquery-XXX/unit/) 34 | 35 | 36 | ## Release History ## 37 | 38 | 1.0pre - (??/??/2010) Pre-Initial release 39 | 40 | 41 | ## License ## 42 | Copyright (c) 2010 "Cowboy" Ben Alman 43 | Dual licensed under the MIT and GPL licenses. 44 | [http://benalman.com/about/license/](http://benalman.com/about/license/) 45 | -------------------------------------------------------------------------------- /shared/SyntaxHighlighter/scripts/shBrushDiff.js: -------------------------------------------------------------------------------- 1 | /** 2 | * SyntaxHighlighter 3 | * http://alexgorbatchev.com/ 4 | * 5 | * SyntaxHighlighter is donationware. If you are using it, please donate. 6 | * http://alexgorbatchev.com/wiki/SyntaxHighlighter:Donate 7 | * 8 | * @version 9 | * 2.0.320 (May 03 2009) 10 | * 11 | * @copyright 12 | * Copyright (C) 2004-2009 Alex Gorbatchev. 13 | * 14 | * @license 15 | * This file is part of SyntaxHighlighter. 16 | * 17 | * SyntaxHighlighter is free software: you can redistribute it and/or modify 18 | * it under the terms of the GNU Lesser General Public License as published by 19 | * the Free Software Foundation, either version 3 of the License, or 20 | * (at your option) any later version. 21 | * 22 | * SyntaxHighlighter is distributed in the hope that it will be useful, 23 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 24 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 25 | * GNU General Public License for more details. 26 | * 27 | * You should have received a copy of the GNU General Public License 28 | * along with SyntaxHighlighter. If not, see . 29 | */ 30 | SyntaxHighlighter.brushes.Diff = function() 31 | { 32 | this.regexList = [ 33 | { regex: /^\+\+\+.*$/gm, css: 'color2' }, 34 | { regex: /^\-\-\-.*$/gm, css: 'color2' }, 35 | { regex: /^\s.*$/gm, css: 'color1' }, 36 | { regex: /^@@.*@@$/gm, css: 'variable' }, 37 | { regex: /^\+[^\+]{1}.*$/gm, css: 'string' }, 38 | { regex: /^\-[^\-]{1}.*$/gm, css: 'comments' } 39 | ]; 40 | }; 41 | 42 | SyntaxHighlighter.brushes.Diff.prototype = new SyntaxHighlighter.Highlighter(); 43 | SyntaxHighlighter.brushes.Diff.aliases = ['diff', 'patch']; 44 | -------------------------------------------------------------------------------- /jquery.ba-XXX.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * jQuery XXX: SHORT_DESCRIPTION - v1.0pre - ??/??/2010 3 | * http://benalman.com/projects/jquery-XXX-plugin/ 4 | * 5 | * Copyright (c) 2010 "Cowboy" Ben Alman 6 | * Dual licensed under the MIT and GPL licenses. 7 | * http://benalman.com/about/license/ 8 | */ 9 | 10 | // Script: jQuery XXX: SHORT_DESCRIPTION 11 | // 12 | // *Version: 1.0pre, Last updated: ??/??/2010* 13 | // 14 | // Project Home - http://benalman.com/projects/jquery-XXX-plugin/ 15 | // GitHub - http://github.com/cowboy/jquery-XXX/ 16 | // Source - http://github.com/cowboy/jquery-XXX/raw/master/jquery.ba-XXX.js 17 | // (Minified) - http://github.com/cowboy/jquery-XXX/raw/master/jquery.ba-XXX.min.js (X.Xkb) 18 | // 19 | // About: License 20 | // 21 | // Copyright (c) 2010 "Cowboy" Ben Alman, 22 | // Dual licensed under the MIT and GPL licenses. 23 | // http://benalman.com/about/license/ 24 | // 25 | // About: Examples 26 | // 27 | // These working examples, complete with fully commented code, illustrate a few 28 | // ways in which this plugin can be used. 29 | // 30 | // XXX - http://benalman.com/code/projects/jquery-XXX/examples/XXX/ 31 | // 32 | // About: Support and Testing 33 | // 34 | // Information about what version or versions of jQuery this plugin has been 35 | // tested with, what browsers it has been tested in, and where the unit tests 36 | // reside (so you can test it yourself). 37 | // 38 | // jQuery Versions - 1.4.2, 1.3.2 39 | // Browsers Tested - Internet Explorer 6-8, Firefox 3-3.6, Safari 3-4, Chrome 3-5, Opera 9.6-10.5. 40 | // Unit Tests - http://benalman.com/code/projects/jquery-XXX/unit/ 41 | // 42 | // About: Release History 43 | // 44 | // 1.0pre - (??/??/2010) Pre-Initial release 45 | 46 | (function($){ 47 | '$:nomunge'; // Used by YUI compressor. 48 | 49 | // code 50 | 51 | })(jQuery); 52 | -------------------------------------------------------------------------------- /examples/XXX/index.php: -------------------------------------------------------------------------------- 1 | 15 | $(function(){ 16 | 17 | // explain the awesomeness 18 | debug.log( 1 + 1 ); 19 | 20 | }); 21 | 31 | 32 | 44 | 60 | 70 | 71 | 72 |

      73 | With jQuery PLUGIN you can... 74 |

      75 | 76 |

      HEADER

      77 | 78 |

      CONTENT

      79 | 80 |

      The code

      81 | 82 |
      83 | 84 |
      85 | 
      86 | 
      87 | 88 | 99 | -------------------------------------------------------------------------------- /shared/SyntaxHighlighter/test.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SyntaxHighlighter Build Test Page 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 30 | 31 | 32 | 33 |

      SyntaxHihglighter Test

      34 |

      This is a test file to insure that everything is working well.

      35 | 36 |
      37 | function test() : String
      38 | {
      39 | 	return 10;
      40 | }
      41 | 
      42 | 43 | -------------------------------------------------------------------------------- /shared/SyntaxHighlighter/scripts/shBrushJScript.js: -------------------------------------------------------------------------------- 1 | /** 2 | * SyntaxHighlighter 3 | * http://alexgorbatchev.com/ 4 | * 5 | * SyntaxHighlighter is donationware. If you are using it, please donate. 6 | * http://alexgorbatchev.com/wiki/SyntaxHighlighter:Donate 7 | * 8 | * @version 9 | * 2.0.320 (May 03 2009) 10 | * 11 | * @copyright 12 | * Copyright (C) 2004-2009 Alex Gorbatchev. 13 | * 14 | * @license 15 | * This file is part of SyntaxHighlighter. 16 | * 17 | * SyntaxHighlighter is free software: you can redistribute it and/or modify 18 | * it under the terms of the GNU Lesser General Public License as published by 19 | * the Free Software Foundation, either version 3 of the License, or 20 | * (at your option) any later version. 21 | * 22 | * SyntaxHighlighter is distributed in the hope that it will be useful, 23 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 24 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 25 | * GNU General Public License for more details. 26 | * 27 | * You should have received a copy of the GNU General Public License 28 | * along with SyntaxHighlighter. If not, see . 29 | */ 30 | SyntaxHighlighter.brushes.JScript = function() 31 | { 32 | var keywords = 'break case catch continue ' + 33 | 'default delete do else false ' + 34 | 'for function if in instanceof ' + 35 | 'new null return super switch ' + 36 | 'this throw true try typeof var while with' 37 | ; 38 | 39 | this.regexList = [ 40 | { regex: SyntaxHighlighter.regexLib.singleLineCComments, css: 'comments' }, // one line comments 41 | { regex: SyntaxHighlighter.regexLib.multiLineCComments, css: 'comments' }, // multiline comments 42 | { regex: SyntaxHighlighter.regexLib.doubleQuotedString, css: 'string' }, // double quoted strings 43 | { regex: SyntaxHighlighter.regexLib.singleQuotedString, css: 'string' }, // single quoted strings 44 | { regex: /\s*#.*/gm, css: 'preprocessor' }, // preprocessor tags like #region and #endregion 45 | { regex: new RegExp(this.getKeywords(keywords), 'gm'), css: 'keyword' } // keywords 46 | ]; 47 | 48 | this.forHtmlScript(SyntaxHighlighter.regexLib.scriptScriptTags); 49 | }; 50 | 51 | SyntaxHighlighter.brushes.JScript.prototype = new SyntaxHighlighter.Highlighter(); 52 | SyntaxHighlighter.brushes.JScript.aliases = ['js', 'jscript', 'javascript']; 53 | -------------------------------------------------------------------------------- /shared/SyntaxHighlighter/scripts/shBrushPython.js: -------------------------------------------------------------------------------- 1 | /** 2 | * SyntaxHighlighter 3 | * http://alexgorbatchev.com/ 4 | * 5 | * SyntaxHighlighter is donationware. If you are using it, please donate. 6 | * http://alexgorbatchev.com/wiki/SyntaxHighlighter:Donate 7 | * 8 | * @version 9 | * 2.0.320 (May 03 2009) 10 | * 11 | * @copyright 12 | * Copyright (C) 2004-2009 Alex Gorbatchev. 13 | * 14 | * @license 15 | * This file is part of SyntaxHighlighter. 16 | * 17 | * SyntaxHighlighter is free software: you can redistribute it and/or modify 18 | * it under the terms of the GNU Lesser General Public License as published by 19 | * the Free Software Foundation, either version 3 of the License, or 20 | * (at your option) any later version. 21 | * 22 | * SyntaxHighlighter is distributed in the hope that it will be useful, 23 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 24 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 25 | * GNU General Public License for more details. 26 | * 27 | * You should have received a copy of the GNU General Public License 28 | * along with SyntaxHighlighter. If not, see . 29 | */ 30 | SyntaxHighlighter.brushes.Python = function() 31 | { 32 | // Contributed by Gheorghe Milas 33 | 34 | var keywords = 'and assert break class continue def del elif else ' + 35 | 'except exec finally for from global if import in is ' + 36 | 'lambda not or pass print raise return try yield while'; 37 | 38 | var special = 'None True False self cls class_'; 39 | 40 | this.regexList = [ 41 | { regex: SyntaxHighlighter.regexLib.singleLinePerlComments, css: 'comments' }, 42 | { regex: /^\s*@\w+/gm, css: 'decorator' }, 43 | { regex: /(['\"]{3})([^\1])*?\1/gm, css: 'comments' }, 44 | { regex: /"(?!")(?:\.|\\\"|[^\""\n])*"/gm, css: 'string' }, 45 | { regex: /'(?!')(?:\.|(\\\')|[^\''\n])*'/gm, css: 'string' }, 46 | { regex: /\+|\-|\*|\/|\%|=|==/gm, css: 'keyword' }, 47 | { regex: /\b\d+\.?\w*/g, css: 'value' }, 48 | { regex: new RegExp(this.getKeywords(keywords), 'gm'), css: 'keyword' }, 49 | { regex: new RegExp(this.getKeywords(special), 'gm'), css: 'color1' } 50 | ]; 51 | 52 | this.forHtmlScript(SyntaxHighlighter.regexLib.aspScriptTags); 53 | }; 54 | 55 | SyntaxHighlighter.brushes.Python.prototype = new SyntaxHighlighter.Highlighter(); 56 | SyntaxHighlighter.brushes.Python.aliases = ['py', 'python']; 57 | -------------------------------------------------------------------------------- /shared/SyntaxHighlighter/scripts/shBrushScala.js: -------------------------------------------------------------------------------- 1 | /** 2 | * SyntaxHighlighter 3 | * http://alexgorbatchev.com/ 4 | * 5 | * SyntaxHighlighter is donationware. If you are using it, please donate. 6 | * http://alexgorbatchev.com/wiki/SyntaxHighlighter:Donate 7 | * 8 | * @version 9 | * 2.0.320 (May 03 2009) 10 | * 11 | * @copyright 12 | * Copyright (C) 2004-2009 Alex Gorbatchev. 13 | * 14 | * @license 15 | * This file is part of SyntaxHighlighter. 16 | * 17 | * SyntaxHighlighter is free software: you can redistribute it and/or modify 18 | * it under the terms of the GNU Lesser General Public License as published by 19 | * the Free Software Foundation, either version 3 of the License, or 20 | * (at your option) any later version. 21 | * 22 | * SyntaxHighlighter is distributed in the hope that it will be useful, 23 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 24 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 25 | * GNU General Public License for more details. 26 | * 27 | * You should have received a copy of the GNU General Public License 28 | * along with SyntaxHighlighter. If not, see . 29 | */ 30 | SyntaxHighlighter.brushes.Scala = function() 31 | { 32 | // Contributed by Yegor Jbanov and David Bernard. 33 | 34 | var keywords = 'val sealed case def true trait implicit forSome import match object null finally super ' + 35 | 'override try lazy for var catch throw type extends class while with new final yield abstract ' + 36 | 'else do if return protected private this package false'; 37 | 38 | var keyops = '[_:=><%#@]+'; 39 | 40 | this.regexList = [ 41 | { regex: SyntaxHighlighter.regexLib.singleLineCComments, css: 'comments' }, // one line comments 42 | { regex: SyntaxHighlighter.regexLib.multiLineCComments, css: 'comments' }, // multiline comments 43 | { regex: SyntaxHighlighter.regexLib.multiLineSingleQuotedString, css: 'string' }, // multi-line strings 44 | { regex: SyntaxHighlighter.regexLib.multiLineDoubleQuotedString, css: 'string' }, // double-quoted string 45 | { regex: SyntaxHighlighter.regexLib.singleQuotedString, css: 'string' }, // strings 46 | { regex: /0x[a-f0-9]+|\d+(\.\d+)?/gi, css: 'value' }, // numbers 47 | { regex: new RegExp(this.getKeywords(keywords), 'gm'), css: 'keyword' }, // keywords 48 | { regex: new RegExp(keyops, 'gm'), css: 'keyword' } // scala keyword 49 | ]; 50 | } 51 | 52 | SyntaxHighlighter.brushes.Scala.prototype = new SyntaxHighlighter.Highlighter(); 53 | SyntaxHighlighter.brushes.Scala.aliases = ['scala']; 54 | -------------------------------------------------------------------------------- /shared/SyntaxHighlighter/scripts/shBrushJava.js: -------------------------------------------------------------------------------- 1 | /** 2 | * SyntaxHighlighter 3 | * http://alexgorbatchev.com/ 4 | * 5 | * SyntaxHighlighter is donationware. If you are using it, please donate. 6 | * http://alexgorbatchev.com/wiki/SyntaxHighlighter:Donate 7 | * 8 | * @version 9 | * 2.0.320 (May 03 2009) 10 | * 11 | * @copyright 12 | * Copyright (C) 2004-2009 Alex Gorbatchev. 13 | * 14 | * @license 15 | * This file is part of SyntaxHighlighter. 16 | * 17 | * SyntaxHighlighter is free software: you can redistribute it and/or modify 18 | * it under the terms of the GNU Lesser General Public License as published by 19 | * the Free Software Foundation, either version 3 of the License, or 20 | * (at your option) any later version. 21 | * 22 | * SyntaxHighlighter is distributed in the hope that it will be useful, 23 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 24 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 25 | * GNU General Public License for more details. 26 | * 27 | * You should have received a copy of the GNU General Public License 28 | * along with SyntaxHighlighter. If not, see . 29 | */ 30 | SyntaxHighlighter.brushes.Java = function() 31 | { 32 | var keywords = 'abstract assert boolean break byte case catch char class const ' + 33 | 'continue default do double else enum extends ' + 34 | 'false final finally float for goto if implements import ' + 35 | 'instanceof int interface long native new null ' + 36 | 'package private protected public return ' + 37 | 'short static strictfp super switch synchronized this throw throws true ' + 38 | 'transient try void volatile while'; 39 | 40 | this.regexList = [ 41 | { regex: SyntaxHighlighter.regexLib.singleLineCComments, css: 'comments' }, // one line comments 42 | { regex: SyntaxHighlighter.regexLib.multiLineCComments, css: 'comments' }, // multiline comments 43 | { regex: SyntaxHighlighter.regexLib.doubleQuotedString, css: 'string' }, // strings 44 | { regex: SyntaxHighlighter.regexLib.singleQuotedString, css: 'string' }, // strings 45 | { regex: /\b([\d]+(\.[\d]+)?|0x[a-f0-9]+)\b/gi, css: 'value' }, // numbers 46 | { regex: /(?!\@interface\b)\@[\$\w]+\b/g, css: 'color1' }, // annotation @anno 47 | { regex: /\@interface\b/g, css: 'color2' }, // @interface keyword 48 | { regex: new RegExp(this.getKeywords(keywords), 'gm'), css: 'keyword' } // java keyword 49 | ]; 50 | 51 | this.forHtmlScript(SyntaxHighlighter.regexLib.aspScriptTags); 52 | }; 53 | 54 | SyntaxHighlighter.brushes.Java.prototype = new SyntaxHighlighter.Highlighter(); 55 | SyntaxHighlighter.brushes.Java.aliases = ['java']; 56 | -------------------------------------------------------------------------------- /shared/SyntaxHighlighter/scripts/shBrushXml.js: -------------------------------------------------------------------------------- 1 | /** 2 | * SyntaxHighlighter 3 | * http://alexgorbatchev.com/ 4 | * 5 | * SyntaxHighlighter is donationware. If you are using it, please donate. 6 | * http://alexgorbatchev.com/wiki/SyntaxHighlighter:Donate 7 | * 8 | * @version 9 | * 2.0.320 (May 03 2009) 10 | * 11 | * @copyright 12 | * Copyright (C) 2004-2009 Alex Gorbatchev. 13 | * 14 | * @license 15 | * This file is part of SyntaxHighlighter. 16 | * 17 | * SyntaxHighlighter is free software: you can redistribute it and/or modify 18 | * it under the terms of the GNU Lesser General Public License as published by 19 | * the Free Software Foundation, either version 3 of the License, or 20 | * (at your option) any later version. 21 | * 22 | * SyntaxHighlighter is distributed in the hope that it will be useful, 23 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 24 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 25 | * GNU General Public License for more details. 26 | * 27 | * You should have received a copy of the GNU General Public License 28 | * along with SyntaxHighlighter. If not, see . 29 | */ 30 | SyntaxHighlighter.brushes.Xml = function() 31 | { 32 | function process(match, regexInfo) 33 | { 34 | var constructor = SyntaxHighlighter.Match, 35 | code = match[0], 36 | tag = new XRegExp('(<|<)[\\s\\/\\?]*(?[:\\w-\\.]+)', 'xg').exec(code), 37 | result = [] 38 | ; 39 | 40 | if (match.attributes != null) 41 | { 42 | var attributes, 43 | regex = new XRegExp('(? [\\w:\\-\\.]+)' + 44 | '\\s*=\\s*' + 45 | '(? ".*?"|\'.*?\'|\\w+)', 46 | 'xg'); 47 | 48 | while ((attributes = regex.exec(code)) != null) 49 | { 50 | result.push(new constructor(attributes.name, match.index + attributes.index, 'color1')); 51 | result.push(new constructor(attributes.value, match.index + attributes.index + attributes[0].indexOf(attributes.value), 'string')); 52 | } 53 | } 54 | 55 | if (tag != null) 56 | result.push( 57 | new constructor(tag.name, match.index + tag[0].indexOf(tag.name), 'keyword') 58 | ); 59 | 60 | return result; 61 | } 62 | 63 | this.regexList = [ 64 | { regex: new XRegExp('(\\<|<)\\!\\[[\\w\\s]*?\\[(.|\\s)*?\\]\\](\\>|>)', 'gm'), css: 'color2' }, // 65 | { regex: new XRegExp('(\\<|<)!--\\s*.*?\\s*--(\\>|>)', 'gm'), css: 'comments' }, // 66 | { regex: new XRegExp('(<|<)[\\s\\/\\?]*(\\w+)(?.*?)[\\s\\/\\?]*(>|>)', 'sg'), func: process } 67 | ]; 68 | }; 69 | 70 | SyntaxHighlighter.brushes.Xml.prototype = new SyntaxHighlighter.Highlighter(); 71 | SyntaxHighlighter.brushes.Xml.aliases = ['xml', 'xhtml', 'xslt', 'html', 'xhtml']; 72 | -------------------------------------------------------------------------------- /shared/SyntaxHighlighter/scripts/shBrushRuby.js: -------------------------------------------------------------------------------- 1 | /** 2 | * SyntaxHighlighter 3 | * http://alexgorbatchev.com/ 4 | * 5 | * SyntaxHighlighter is donationware. If you are using it, please donate. 6 | * http://alexgorbatchev.com/wiki/SyntaxHighlighter:Donate 7 | * 8 | * @version 9 | * 2.0.320 (May 03 2009) 10 | * 11 | * @copyright 12 | * Copyright (C) 2004-2009 Alex Gorbatchev. 13 | * 14 | * @license 15 | * This file is part of SyntaxHighlighter. 16 | * 17 | * SyntaxHighlighter is free software: you can redistribute it and/or modify 18 | * it under the terms of the GNU Lesser General Public License as published by 19 | * the Free Software Foundation, either version 3 of the License, or 20 | * (at your option) any later version. 21 | * 22 | * SyntaxHighlighter is distributed in the hope that it will be useful, 23 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 24 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 25 | * GNU General Public License for more details. 26 | * 27 | * You should have received a copy of the GNU General Public License 28 | * along with SyntaxHighlighter. If not, see . 29 | */ 30 | SyntaxHighlighter.brushes.Ruby = function() 31 | { 32 | // Contributed by Erik Peterson. 33 | 34 | var keywords = 'alias and BEGIN begin break case class def define_method defined do each else elsif ' + 35 | 'END end ensure false for if in module new next nil not or raise redo rescue retry return ' + 36 | 'self super then throw true undef unless until when while yield'; 37 | 38 | var builtins = 'Array Bignum Binding Class Continuation Dir Exception FalseClass File::Stat File Fixnum Fload ' + 39 | 'Hash Integer IO MatchData Method Module NilClass Numeric Object Proc Range Regexp String Struct::TMS Symbol ' + 40 | 'ThreadGroup Thread Time TrueClass'; 41 | 42 | this.regexList = [ 43 | { regex: SyntaxHighlighter.regexLib.singleLinePerlComments, css: 'comments' }, // one line comments 44 | { regex: SyntaxHighlighter.regexLib.doubleQuotedString, css: 'string' }, // double quoted strings 45 | { regex: SyntaxHighlighter.regexLib.singleQuotedString, css: 'string' }, // single quoted strings 46 | { regex: /\b[A-Z0-9_]+\b/g, css: 'constants' }, // constants 47 | { regex: /:[a-z][A-Za-z0-9_]*/g, css: 'color2' }, // symbols 48 | { regex: /(\$|@@|@)\w+/g, css: 'variable bold' }, // $global, @instance, and @@class variables 49 | { regex: new RegExp(this.getKeywords(keywords), 'gm'), css: 'keyword' }, // keywords 50 | { regex: new RegExp(this.getKeywords(builtins), 'gm'), css: 'color1' } // builtins 51 | ]; 52 | 53 | this.forHtmlScript(SyntaxHighlighter.regexLib.aspScriptTags); 54 | }; 55 | 56 | SyntaxHighlighter.brushes.Ruby.prototype = new SyntaxHighlighter.Highlighter(); 57 | SyntaxHighlighter.brushes.Ruby.aliases = ['ruby', 'rails', 'ror']; 58 | -------------------------------------------------------------------------------- /shared/SyntaxHighlighter/scripts/shLegacy.js: -------------------------------------------------------------------------------- 1 | /** 2 | * SyntaxHighlighter 3 | * http://alexgorbatchev.com/ 4 | * 5 | * SyntaxHighlighter is donationware. If you are using it, please donate. 6 | * http://alexgorbatchev.com/wiki/SyntaxHighlighter:Donate 7 | * 8 | * @version 9 | * 2.0.320 (May 03 2009) 10 | * 11 | * @copyright 12 | * Copyright (C) 2004-2009 Alex Gorbatchev. 13 | * 14 | * @license 15 | * This file is part of SyntaxHighlighter. 16 | * 17 | * SyntaxHighlighter is free software: you can redistribute it and/or modify 18 | * it under the terms of the GNU Lesser General Public License as published by 19 | * the Free Software Foundation, either version 3 of the License, or 20 | * (at your option) any later version. 21 | * 22 | * SyntaxHighlighter is distributed in the hope that it will be useful, 23 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 24 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 25 | * GNU General Public License for more details. 26 | * 27 | * You should have received a copy of the GNU General Public License 28 | * along with SyntaxHighlighter. If not, see . 29 | */ 30 | eval(function(p,a,c,k,e,d){e=function(c){return(c35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--){d[e(c)]=k[c]||e(c)}k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1};while(c--){if(k[c]){p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c])}}return p}('1 y={d:{}};y.d={F:6(S,l,q,k,m,n){6 J(z,Y){1 V=16 15("^"+Y+"\\\\[(?\\\\w+)\\\\]$","14"),x=2;h(1 i=0;i. 29 | */ 30 | SyntaxHighlighter.brushes.JavaFX = function() 31 | { 32 | // Contributed by Patrick Webster 33 | // http://patrickwebster.blogspot.com/2009/04/javafx-brush-for-syntaxhighlighter.html 34 | var datatypes = 'Boolean Byte Character Double Duration ' 35 | + 'Float Integer Long Number Short String Void' 36 | ; 37 | 38 | var keywords = 'abstract after and as assert at before bind bound break catch class ' 39 | + 'continue def delete else exclusive extends false finally first for from ' 40 | + 'function if import in indexof init insert instanceof into inverse last ' 41 | + 'lazy mixin mod nativearray new not null on or override package postinit ' 42 | + 'protected public public-init public-read replace return reverse sizeof ' 43 | + 'step super then this throw true try tween typeof var where while with ' 44 | + 'attribute let private readonly static trigger' 45 | ; 46 | 47 | this.regexList = [ 48 | { regex: SyntaxHighlighter.regexLib.singleLineCComments, css: 'comments' }, 49 | { regex: SyntaxHighlighter.regexLib.multiLineCComments, css: 'comments' }, 50 | { regex: SyntaxHighlighter.regexLib.singleQuotedString, css: 'string' }, 51 | { regex: SyntaxHighlighter.regexLib.doubleQuotedString, css: 'string' }, 52 | { regex: /(-?\.?)(\b(\d*\.?\d+|\d+\.?\d*)(e[+-]?\d+)?|0x[a-f\d]+)\b\.?/gi, css: 'color2' }, // numbers 53 | { regex: new RegExp(this.getKeywords(datatypes), 'gm'), css: 'variable' }, // datatypes 54 | { regex: new RegExp(this.getKeywords(keywords), 'gm'), css: 'keyword' } 55 | ]; 56 | this.forHtmlScript(SyntaxHighlighter.regexLib.aspScriptTags); 57 | }; 58 | 59 | SyntaxHighlighter.brushes.JavaFX.prototype = new SyntaxHighlighter.Highlighter(); 60 | SyntaxHighlighter.brushes.JavaFX.aliases = ['jfx', 'javafx']; 61 | -------------------------------------------------------------------------------- /shared/SyntaxHighlighter/scripts/shBrushCSharp.js: -------------------------------------------------------------------------------- 1 | /** 2 | * SyntaxHighlighter 3 | * http://alexgorbatchev.com/ 4 | * 5 | * SyntaxHighlighter is donationware. If you are using it, please donate. 6 | * http://alexgorbatchev.com/wiki/SyntaxHighlighter:Donate 7 | * 8 | * @version 9 | * 2.0.320 (May 03 2009) 10 | * 11 | * @copyright 12 | * Copyright (C) 2004-2009 Alex Gorbatchev. 13 | * 14 | * @license 15 | * This file is part of SyntaxHighlighter. 16 | * 17 | * SyntaxHighlighter is free software: you can redistribute it and/or modify 18 | * it under the terms of the GNU Lesser General Public License as published by 19 | * the Free Software Foundation, either version 3 of the License, or 20 | * (at your option) any later version. 21 | * 22 | * SyntaxHighlighter is distributed in the hope that it will be useful, 23 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 24 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 25 | * GNU General Public License for more details. 26 | * 27 | * You should have received a copy of the GNU General Public License 28 | * along with SyntaxHighlighter. If not, see . 29 | */ 30 | SyntaxHighlighter.brushes.CSharp = function() 31 | { 32 | var keywords = 'abstract as base bool break byte case catch char checked class const ' + 33 | 'continue decimal default delegate do double else enum event explicit ' + 34 | 'extern false finally fixed float for foreach get goto if implicit in int ' + 35 | 'interface internal is lock long namespace new null object operator out ' + 36 | 'override params private protected public readonly ref return sbyte sealed set ' + 37 | 'short sizeof stackalloc static string struct switch this throw true try ' + 38 | 'typeof uint ulong unchecked unsafe ushort using virtual void while'; 39 | 40 | function fixComments(match, regexInfo) 41 | { 42 | var css = (match[0].indexOf("///") == 0) 43 | ? 'color1' 44 | : 'comments' 45 | ; 46 | 47 | return [new SyntaxHighlighter.Match(match[0], match.index, css)]; 48 | } 49 | 50 | this.regexList = [ 51 | { regex: SyntaxHighlighter.regexLib.singleLineCComments, func : fixComments }, // one line comments 52 | { regex: SyntaxHighlighter.regexLib.multiLineCComments, css: 'comments' }, // multiline comments 53 | { regex: SyntaxHighlighter.regexLib.doubleQuotedString, css: 'string' }, // strings 54 | { regex: SyntaxHighlighter.regexLib.singleQuotedString, css: 'string' }, // strings 55 | { regex: /^\s*#.*/gm, css: 'preprocessor' }, // preprocessor tags like #region and #endregion 56 | { regex: new RegExp(this.getKeywords(keywords), 'gm'), css: 'keyword' } // c# keyword 57 | ]; 58 | 59 | this.forHtmlScript(SyntaxHighlighter.regexLib.aspScriptTags); 60 | }; 61 | 62 | SyntaxHighlighter.brushes.CSharp.prototype = new SyntaxHighlighter.Highlighter(); 63 | SyntaxHighlighter.brushes.CSharp.aliases = ['c#', 'c-sharp', 'csharp']; 64 | 65 | -------------------------------------------------------------------------------- /shared/SyntaxHighlighter/scripts/shBrushVb.js: -------------------------------------------------------------------------------- 1 | /** 2 | * SyntaxHighlighter 3 | * http://alexgorbatchev.com/ 4 | * 5 | * SyntaxHighlighter is donationware. If you are using it, please donate. 6 | * http://alexgorbatchev.com/wiki/SyntaxHighlighter:Donate 7 | * 8 | * @version 9 | * 2.0.320 (May 03 2009) 10 | * 11 | * @copyright 12 | * Copyright (C) 2004-2009 Alex Gorbatchev. 13 | * 14 | * @license 15 | * This file is part of SyntaxHighlighter. 16 | * 17 | * SyntaxHighlighter is free software: you can redistribute it and/or modify 18 | * it under the terms of the GNU Lesser General Public License as published by 19 | * the Free Software Foundation, either version 3 of the License, or 20 | * (at your option) any later version. 21 | * 22 | * SyntaxHighlighter is distributed in the hope that it will be useful, 23 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 24 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 25 | * GNU General Public License for more details. 26 | * 27 | * You should have received a copy of the GNU General Public License 28 | * along with SyntaxHighlighter. If not, see . 29 | */ 30 | SyntaxHighlighter.brushes.Vb = function() 31 | { 32 | var keywords = 'AddHandler AddressOf AndAlso Alias And Ansi As Assembly Auto ' + 33 | 'Boolean ByRef Byte ByVal Call Case Catch CBool CByte CChar CDate ' + 34 | 'CDec CDbl Char CInt Class CLng CObj Const CShort CSng CStr CType ' + 35 | 'Date Decimal Declare Default Delegate Dim DirectCast Do Double Each ' + 36 | 'Else ElseIf End Enum Erase Error Event Exit False Finally For Friend ' + 37 | 'Function Get GetType GoSub GoTo Handles If Implements Imports In ' + 38 | 'Inherits Integer Interface Is Let Lib Like Long Loop Me Mod Module ' + 39 | 'MustInherit MustOverride MyBase MyClass Namespace New Next Not Nothing ' + 40 | 'NotInheritable NotOverridable Object On Option Optional Or OrElse ' + 41 | 'Overloads Overridable Overrides ParamArray Preserve Private Property ' + 42 | 'Protected Public RaiseEvent ReadOnly ReDim REM RemoveHandler Resume ' + 43 | 'Return Select Set Shadows Shared Short Single Static Step Stop String ' + 44 | 'Structure Sub SyncLock Then Throw To True Try TypeOf Unicode Until ' + 45 | 'Variant When While With WithEvents WriteOnly Xor'; 46 | 47 | this.regexList = [ 48 | { regex: /'.*$/gm, css: 'comments' }, // one line comments 49 | { regex: SyntaxHighlighter.regexLib.doubleQuotedString, css: 'string' }, // strings 50 | { regex: /^\s*#.*$/gm, css: 'preprocessor' }, // preprocessor tags like #region and #endregion 51 | { regex: new RegExp(this.getKeywords(keywords), 'gm'), css: 'keyword' } // vb keyword 52 | ]; 53 | 54 | this.forHtmlScript(SyntaxHighlighter.regexLib.aspScriptTags); 55 | }; 56 | 57 | SyntaxHighlighter.brushes.Vb.prototype = new SyntaxHighlighter.Highlighter(); 58 | SyntaxHighlighter.brushes.Vb.aliases = ['vb', 'vbnet']; 59 | -------------------------------------------------------------------------------- /shared/SyntaxHighlighter/scripts/shBrushDelphi.js: -------------------------------------------------------------------------------- 1 | /** 2 | * SyntaxHighlighter 3 | * http://alexgorbatchev.com/ 4 | * 5 | * SyntaxHighlighter is donationware. If you are using it, please donate. 6 | * http://alexgorbatchev.com/wiki/SyntaxHighlighter:Donate 7 | * 8 | * @version 9 | * 2.0.320 (May 03 2009) 10 | * 11 | * @copyright 12 | * Copyright (C) 2004-2009 Alex Gorbatchev. 13 | * 14 | * @license 15 | * This file is part of SyntaxHighlighter. 16 | * 17 | * SyntaxHighlighter is free software: you can redistribute it and/or modify 18 | * it under the terms of the GNU Lesser General Public License as published by 19 | * the Free Software Foundation, either version 3 of the License, or 20 | * (at your option) any later version. 21 | * 22 | * SyntaxHighlighter is distributed in the hope that it will be useful, 23 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 24 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 25 | * GNU General Public License for more details. 26 | * 27 | * You should have received a copy of the GNU General Public License 28 | * along with SyntaxHighlighter. If not, see . 29 | */ 30 | SyntaxHighlighter.brushes.Delphi = function() 31 | { 32 | var keywords = 'abs addr and ansichar ansistring array as asm begin boolean byte cardinal ' + 33 | 'case char class comp const constructor currency destructor div do double ' + 34 | 'downto else end except exports extended false file finalization finally ' + 35 | 'for function goto if implementation in inherited int64 initialization ' + 36 | 'integer interface is label library longint longword mod nil not object ' + 37 | 'of on or packed pansichar pansistring pchar pcurrency pdatetime pextended ' + 38 | 'pint64 pointer private procedure program property pshortstring pstring ' + 39 | 'pvariant pwidechar pwidestring protected public published raise real real48 ' + 40 | 'record repeat set shl shortint shortstring shr single smallint string then ' + 41 | 'threadvar to true try type unit until uses val var varirnt while widechar ' + 42 | 'widestring with word write writeln xor'; 43 | 44 | this.regexList = [ 45 | { regex: /\(\*[\s\S]*?\*\)/gm, css: 'comments' }, // multiline comments (* *) 46 | { regex: /{(?!\$)[\s\S]*?}/gm, css: 'comments' }, // multiline comments { } 47 | { regex: SyntaxHighlighter.regexLib.singleLineCComments, css: 'comments' }, // one line 48 | { regex: SyntaxHighlighter.regexLib.singleQuotedString, css: 'string' }, // strings 49 | { regex: /\{\$[a-zA-Z]+ .+\}/g, css: 'color1' }, // compiler Directives and Region tags 50 | { regex: /\b[\d\.]+\b/g, css: 'value' }, // numbers 12345 51 | { regex: /\$[a-zA-Z0-9]+\b/g, css: 'value' }, // numbers $F5D3 52 | { regex: new RegExp(this.getKeywords(keywords), 'gm'), css: 'keyword' } // keyword 53 | ]; 54 | }; 55 | 56 | SyntaxHighlighter.brushes.Delphi.prototype = new SyntaxHighlighter.Highlighter(); 57 | SyntaxHighlighter.brushes.Delphi.aliases = ['delphi', 'pascal']; 58 | -------------------------------------------------------------------------------- /shared/SyntaxHighlighter/scripts/shBrushAS3.js: -------------------------------------------------------------------------------- 1 | /** 2 | * SyntaxHighlighter 3 | * http://alexgorbatchev.com/ 4 | * 5 | * SyntaxHighlighter is donationware. If you are using it, please donate. 6 | * http://alexgorbatchev.com/wiki/SyntaxHighlighter:Donate 7 | * 8 | * @version 9 | * 2.0.320 (May 03 2009) 10 | * 11 | * @copyright 12 | * Copyright (C) 2004-2009 Alex Gorbatchev. 13 | * 14 | * @license 15 | * This file is part of SyntaxHighlighter. 16 | * 17 | * SyntaxHighlighter is free software: you can redistribute it and/or modify 18 | * it under the terms of the GNU Lesser General Public License as published by 19 | * the Free Software Foundation, either version 3 of the License, or 20 | * (at your option) any later version. 21 | * 22 | * SyntaxHighlighter is distributed in the hope that it will be useful, 23 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 24 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 25 | * GNU General Public License for more details. 26 | * 27 | * You should have received a copy of the GNU General Public License 28 | * along with SyntaxHighlighter. If not, see . 29 | */ 30 | SyntaxHighlighter.brushes.AS3 = function() 31 | { 32 | // Created by Peter Atoria @ http://iAtoria.com 33 | 34 | var inits = 'class interface function package'; 35 | 36 | var keywords = '-Infinity ...rest Array as AS3 Boolean break case catch const continue Date decodeURI ' + 37 | 'decodeURIComponent default delete do dynamic each else encodeURI encodeURIComponent escape ' + 38 | 'extends false final finally flash_proxy for get if implements import in include Infinity ' + 39 | 'instanceof int internal is isFinite isNaN isXMLName label namespace NaN native new null ' + 40 | 'Null Number Object object_proxy override parseFloat parseInt private protected public ' + 41 | 'return set static String super switch this throw true try typeof uint undefined unescape ' + 42 | 'use void while with' 43 | ; 44 | 45 | this.regexList = [ 46 | { regex: SyntaxHighlighter.regexLib.singleLineCComments, css: 'comments' }, // one line comments 47 | { regex: SyntaxHighlighter.regexLib.multiLineCComments, css: 'comments' }, // multiline comments 48 | { regex: SyntaxHighlighter.regexLib.doubleQuotedString, css: 'string' }, // double quoted strings 49 | { regex: SyntaxHighlighter.regexLib.singleQuotedString, css: 'string' }, // single quoted strings 50 | { regex: /\b([\d]+(\.[\d]+)?|0x[a-f0-9]+)\b/gi, css: 'value' }, // numbers 51 | { regex: new RegExp(this.getKeywords(inits), 'gm'), css: 'color3' }, // initializations 52 | { regex: new RegExp(this.getKeywords(keywords), 'gm'), css: 'keyword' }, // keywords 53 | { regex: new RegExp('var', 'gm'), css: 'variable' }, // variable 54 | { regex: new RegExp('trace', 'gm'), css: 'color1' } // trace 55 | ]; 56 | 57 | this.forHtmlScript(SyntaxHighlighter.regexLib.scriptScriptTags); 58 | }; 59 | 60 | SyntaxHighlighter.brushes.AS3.prototype = new SyntaxHighlighter.Highlighter(); 61 | SyntaxHighlighter.brushes.AS3.aliases = ['actionscript3', 'as3']; 62 | -------------------------------------------------------------------------------- /shared/SyntaxHighlighter/scripts/shBrushBash.js: -------------------------------------------------------------------------------- 1 | /** 2 | * SyntaxHighlighter 3 | * http://alexgorbatchev.com/ 4 | * 5 | * SyntaxHighlighter is donationware. If you are using it, please donate. 6 | * http://alexgorbatchev.com/wiki/SyntaxHighlighter:Donate 7 | * 8 | * @version 9 | * 2.0.320 (May 03 2009) 10 | * 11 | * @copyright 12 | * Copyright (C) 2004-2009 Alex Gorbatchev. 13 | * 14 | * @license 15 | * This file is part of SyntaxHighlighter. 16 | * 17 | * SyntaxHighlighter is free software: you can redistribute it and/or modify 18 | * it under the terms of the GNU Lesser General Public License as published by 19 | * the Free Software Foundation, either version 3 of the License, or 20 | * (at your option) any later version. 21 | * 22 | * SyntaxHighlighter is distributed in the hope that it will be useful, 23 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 24 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 25 | * GNU General Public License for more details. 26 | * 27 | * You should have received a copy of the GNU General Public License 28 | * along with SyntaxHighlighter. If not, see . 29 | */ 30 | SyntaxHighlighter.brushes.Bash = function() 31 | { 32 | var keywords = 'if fi then elif else for do done until while break continue case function return in eq ne gt lt ge le'; 33 | var commands = 'alias apropos awk bash bc bg builtin bzip2 cal cat cd cfdisk chgrp chmod chown chroot' + 34 | 'cksum clear cmp comm command cp cron crontab csplit cut date dc dd ddrescue declare df ' + 35 | 'diff diff3 dig dir dircolors dirname dirs du echo egrep eject enable env ethtool eval ' + 36 | 'exec exit expand export expr false fdformat fdisk fg fgrep file find fmt fold format ' + 37 | 'free fsck ftp gawk getopts grep groups gzip hash head history hostname id ifconfig ' + 38 | 'import install join kill less let ln local locate logname logout look lpc lpr lprint ' + 39 | 'lprintd lprintq lprm ls lsof make man mkdir mkfifo mkisofs mknod more mount mtools ' + 40 | 'mv netstat nice nl nohup nslookup open op passwd paste pathchk ping popd pr printcap ' + 41 | 'printenv printf ps pushd pwd quota quotacheck quotactl ram rcp read readonly renice ' + 42 | 'remsync rm rmdir rsync screen scp sdiff sed select seq set sftp shift shopt shutdown ' + 43 | 'sleep sort source split ssh strace su sudo sum symlink sync tail tar tee test time ' + 44 | 'times touch top traceroute trap tr true tsort tty type ulimit umask umount unalias ' + 45 | 'uname unexpand uniq units unset unshar useradd usermod users uuencode uudecode v vdir ' + 46 | 'vi watch wc whereis which who whoami Wget xargs yes' 47 | ; 48 | 49 | this.regexList = [ 50 | { regex: SyntaxHighlighter.regexLib.singleLinePerlComments, css: 'comments' }, // one line comments 51 | { regex: SyntaxHighlighter.regexLib.doubleQuotedString, css: 'string' }, // double quoted strings 52 | { regex: new RegExp(this.getKeywords(keywords), 'gm'), css: 'keyword' }, // keywords 53 | { regex: new RegExp(this.getKeywords(commands), 'gm'), css: 'functions' } // commands 54 | ]; 55 | } 56 | 57 | SyntaxHighlighter.brushes.Bash.prototype = new SyntaxHighlighter.Highlighter(); 58 | SyntaxHighlighter.brushes.Bash.aliases = ['bash', 'shell']; 59 | 60 | -------------------------------------------------------------------------------- /shared/SyntaxHighlighter/scripts/shBrushGroovy.js: -------------------------------------------------------------------------------- 1 | /** 2 | * SyntaxHighlighter 3 | * http://alexgorbatchev.com/ 4 | * 5 | * SyntaxHighlighter is donationware. If you are using it, please donate. 6 | * http://alexgorbatchev.com/wiki/SyntaxHighlighter:Donate 7 | * 8 | * @version 9 | * 2.0.320 (May 03 2009) 10 | * 11 | * @copyright 12 | * Copyright (C) 2004-2009 Alex Gorbatchev. 13 | * 14 | * @license 15 | * This file is part of SyntaxHighlighter. 16 | * 17 | * SyntaxHighlighter is free software: you can redistribute it and/or modify 18 | * it under the terms of the GNU Lesser General Public License as published by 19 | * the Free Software Foundation, either version 3 of the License, or 20 | * (at your option) any later version. 21 | * 22 | * SyntaxHighlighter is distributed in the hope that it will be useful, 23 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 24 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 25 | * GNU General Public License for more details. 26 | * 27 | * You should have received a copy of the GNU General Public License 28 | * along with SyntaxHighlighter. If not, see . 29 | */ 30 | SyntaxHighlighter.brushes.Groovy = function() 31 | { 32 | // Contributed by Andres Almiray 33 | // http://jroller.com/aalmiray/entry/nice_source_code_syntax_highlighter 34 | 35 | var keywords = 'as assert break case catch class continue def default do else extends finally ' + 36 | 'if in implements import instanceof interface new package property return switch ' + 37 | 'throw throws try while public protected private static'; 38 | var types = 'void boolean byte char short int long float double'; 39 | var constants = 'null'; 40 | var methods = 'allProperties count get size '+ 41 | 'collect each eachProperty eachPropertyName eachWithIndex find findAll ' + 42 | 'findIndexOf grep inject max min reverseEach sort ' + 43 | 'asImmutable asSynchronized flatten intersect join pop reverse subMap toList ' + 44 | 'padRight padLeft contains eachMatch toCharacter toLong toUrl tokenize ' + 45 | 'eachFile eachFileRecurse eachB yte eachLine readBytes readLine getText ' + 46 | 'splitEachLine withReader append encodeBase64 decodeBase64 filterLine ' + 47 | 'transformChar transformLine withOutputStream withPrintWriter withStream ' + 48 | 'withStreams withWriter withWriterAppend write writeLine '+ 49 | 'dump inspect invokeMethod print println step times upto use waitForOrKill '+ 50 | 'getText'; 51 | 52 | this.regexList = [ 53 | { regex: SyntaxHighlighter.regexLib.singleLineCComments, css: 'comments' }, // one line comments 54 | { regex: SyntaxHighlighter.regexLib.multiLineCComments, css: 'comments' }, // multiline comments 55 | { regex: SyntaxHighlighter.regexLib.doubleQuotedString, css: 'string' }, // strings 56 | { regex: SyntaxHighlighter.regexLib.singleQuotedString, css: 'string' }, // strings 57 | { regex: /""".*"""/g, css: 'string' }, // GStrings 58 | { regex: new RegExp('\\b([\\d]+(\\.[\\d]+)?|0x[a-f0-9]+)\\b', 'gi'), css: 'value' }, // numbers 59 | { regex: new RegExp(this.getKeywords(keywords), 'gm'), css: 'keyword' }, // goovy keyword 60 | { regex: new RegExp(this.getKeywords(types), 'gm'), css: 'color1' }, // goovy/java type 61 | { regex: new RegExp(this.getKeywords(constants), 'gm'), css: 'constants' }, // constants 62 | { regex: new RegExp(this.getKeywords(methods), 'gm'), css: 'functions' } // methods 63 | ]; 64 | 65 | this.forHtmlScript(SyntaxHighlighter.regexLib.aspScriptTags); 66 | } 67 | 68 | SyntaxHighlighter.brushes.Groovy.prototype = new SyntaxHighlighter.Highlighter(); 69 | SyntaxHighlighter.brushes.Groovy.aliases = ['groovy']; 70 | -------------------------------------------------------------------------------- /shared/SyntaxHighlighter/scripts/shBrushSql.js: -------------------------------------------------------------------------------- 1 | /** 2 | * SyntaxHighlighter 3 | * http://alexgorbatchev.com/ 4 | * 5 | * SyntaxHighlighter is donationware. If you are using it, please donate. 6 | * http://alexgorbatchev.com/wiki/SyntaxHighlighter:Donate 7 | * 8 | * @version 9 | * 2.0.320 (May 03 2009) 10 | * 11 | * @copyright 12 | * Copyright (C) 2004-2009 Alex Gorbatchev. 13 | * 14 | * @license 15 | * This file is part of SyntaxHighlighter. 16 | * 17 | * SyntaxHighlighter is free software: you can redistribute it and/or modify 18 | * it under the terms of the GNU Lesser General Public License as published by 19 | * the Free Software Foundation, either version 3 of the License, or 20 | * (at your option) any later version. 21 | * 22 | * SyntaxHighlighter is distributed in the hope that it will be useful, 23 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 24 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 25 | * GNU General Public License for more details. 26 | * 27 | * You should have received a copy of the GNU General Public License 28 | * along with SyntaxHighlighter. If not, see . 29 | */ 30 | SyntaxHighlighter.brushes.Sql = function() 31 | { 32 | var funcs = 'abs avg case cast coalesce convert count current_timestamp ' + 33 | 'current_user day isnull left lower month nullif replace right ' + 34 | 'session_user space substring sum system_user upper user year'; 35 | 36 | var keywords = 'absolute action add after alter as asc at authorization begin bigint ' + 37 | 'binary bit by cascade char character check checkpoint close collate ' + 38 | 'column commit committed connect connection constraint contains continue ' + 39 | 'create cube current current_date current_time cursor database date ' + 40 | 'deallocate dec decimal declare default delete desc distinct double drop ' + 41 | 'dynamic else end end-exec escape except exec execute false fetch first ' + 42 | 'float for force foreign forward free from full function global goto grant ' + 43 | 'group grouping having hour ignore index inner insensitive insert instead ' + 44 | 'int integer intersect into is isolation key last level load local max min ' + 45 | 'minute modify move name national nchar next no numeric of off on only ' + 46 | 'open option order out output partial password precision prepare primary ' + 47 | 'prior privileges procedure public read real references relative repeatable ' + 48 | 'restrict return returns revoke rollback rollup rows rule schema scroll ' + 49 | 'second section select sequence serializable set size smallint static ' + 50 | 'statistics table temp temporary then time timestamp to top transaction ' + 51 | 'translation trigger true truncate uncommitted union unique update values ' + 52 | 'varchar varying view when where with work'; 53 | 54 | var operators = 'all and any between cross in join like not null or outer some'; 55 | 56 | this.regexList = [ 57 | { regex: /--(.*)$/gm, css: 'comments' }, // one line and multiline comments 58 | { regex: SyntaxHighlighter.regexLib.multiLineDoubleQuotedString, css: 'string' }, // double quoted strings 59 | { regex: SyntaxHighlighter.regexLib.multiLineSingleQuotedString, css: 'string' }, // single quoted strings 60 | { regex: new RegExp(this.getKeywords(funcs), 'gmi'), css: 'color2' }, // functions 61 | { regex: new RegExp(this.getKeywords(operators), 'gmi'), css: 'color1' }, // operators and such 62 | { regex: new RegExp(this.getKeywords(keywords), 'gmi'), css: 'keyword' } // keyword 63 | ]; 64 | }; 65 | 66 | SyntaxHighlighter.brushes.Sql.prototype = new SyntaxHighlighter.Highlighter(); 67 | SyntaxHighlighter.brushes.Sql.aliases = ['sql']; 68 | 69 | -------------------------------------------------------------------------------- /shared/SyntaxHighlighter/scripts/shBrushPerl.js: -------------------------------------------------------------------------------- 1 | /** 2 | * SyntaxHighlighter 3 | * http://alexgorbatchev.com/ 4 | * 5 | * SyntaxHighlighter is donationware. If you are using it, please donate. 6 | * http://alexgorbatchev.com/wiki/SyntaxHighlighter:Donate 7 | * 8 | * @version 9 | * 2.0.320 (May 03 2009) 10 | * 11 | * @copyright 12 | * Copyright (C) 2004-2009 Alex Gorbatchev. 13 | * 14 | * @license 15 | * This file is part of SyntaxHighlighter. 16 | * 17 | * SyntaxHighlighter is free software: you can redistribute it and/or modify 18 | * it under the terms of the GNU Lesser General Public License as published by 19 | * the Free Software Foundation, either version 3 of the License, or 20 | * (at your option) any later version. 21 | * 22 | * SyntaxHighlighter is distributed in the hope that it will be useful, 23 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 24 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 25 | * GNU General Public License for more details. 26 | * 27 | * You should have received a copy of the GNU General Public License 28 | * along with SyntaxHighlighter. If not, see . 29 | */ 30 | SyntaxHighlighter.brushes.Perl = function() 31 | { 32 | // Contributed by David Simmons-Duffin and Marty Kube 33 | 34 | var funcs = 35 | 'abs accept alarm atan2 bind binmode chdir chmod chomp chop chown chr ' + 36 | 'chroot close closedir connect cos crypt defined delete each endgrent ' + 37 | 'endhostent endnetent endprotoent endpwent endservent eof exec exists ' + 38 | 'exp fcntl fileno flock fork format formline getc getgrent getgrgid ' + 39 | 'getgrnam gethostbyaddr gethostbyname gethostent getlogin getnetbyaddr ' + 40 | 'getnetbyname getnetent getpeername getpgrp getppid getpriority ' + 41 | 'getprotobyname getprotobynumber getprotoent getpwent getpwnam getpwuid ' + 42 | 'getservbyname getservbyport getservent getsockname getsockopt glob ' + 43 | 'gmtime grep hex index int ioctl join keys kill lc lcfirst length link ' + 44 | 'listen localtime lock log lstat map mkdir msgctl msgget msgrcv msgsnd ' + 45 | 'oct open opendir ord pack pipe pop pos print printf prototype push ' + 46 | 'quotemeta rand read readdir readline readlink readpipe recv rename ' + 47 | 'reset reverse rewinddir rindex rmdir scalar seek seekdir select semctl ' + 48 | 'semget semop send setgrent sethostent setnetent setpgrp setpriority ' + 49 | 'setprotoent setpwent setservent setsockopt shift shmctl shmget shmread ' + 50 | 'shmwrite shutdown sin sleep socket socketpair sort splice split sprintf ' + 51 | 'sqrt srand stat study substr symlink syscall sysopen sysread sysseek ' + 52 | 'system syswrite tell telldir time times tr truncate uc ucfirst umask ' + 53 | 'undef unlink unpack unshift utime values vec wait waitpid warn write'; 54 | 55 | var keywords = 56 | 'bless caller continue dbmclose dbmopen die do dump else elsif eval exit ' + 57 | 'for foreach goto if import last local my next no our package redo ref ' + 58 | 'require return sub tie tied unless untie until use wantarray while'; 59 | 60 | this.regexList = [ 61 | { regex: new RegExp('#[^!].*$', 'gm'), css: 'comments' }, 62 | { regex: new RegExp('^\\s*#!.*$', 'gm'), css: 'preprocessor' }, // shebang 63 | { regex: SyntaxHighlighter.regexLib.doubleQuotedString, css: 'string' }, 64 | { regex: SyntaxHighlighter.regexLib.singleQuotedString, css: 'string' }, 65 | { regex: new RegExp('(\\$|@|%)\\w+', 'g'), css: 'variable' }, 66 | { regex: new RegExp(this.getKeywords(funcs), 'gmi'), css: 'functions' }, 67 | { regex: new RegExp(this.getKeywords(keywords), 'gm'), css: 'keyword' } 68 | ]; 69 | 70 | this.forHtmlScript(SyntaxHighlighter.regexLib.phpScriptTags); 71 | } 72 | 73 | SyntaxHighlighter.brushes.Perl.prototype = new SyntaxHighlighter.Highlighter(); 74 | SyntaxHighlighter.brushes.Perl.aliases = ['perl', 'Perl', 'pl']; -------------------------------------------------------------------------------- /unit/qunit.css: -------------------------------------------------------------------------------- 1 | 2 | body { 3 | font-family:"Helvetica Neue Light", "HelveticaNeue-Light", "Helvetica Neue", Calibri, Helvetica, Arial; 4 | } 5 | 6 | h3, 7 | p, 8 | #qunit-userAgent, 9 | #qunit-banner, 10 | ol { 11 | margin: 0; 12 | padding: 0; 13 | } 14 | 15 | li { 16 | list-style-position: inside; 17 | } 18 | 19 | #qunit-tests { 20 | font-size: smaller; 21 | /* IE6/7 seem to have trouble displaying an OL with no LI children */ 22 | #border-bottom: 1px solid #fff; 23 | #margin-bottom: -1px; 24 | } 25 | 26 | #qunit-tests li { 27 | padding: 0.4em 2.5em; 28 | border-bottom: 1px solid #fff; 29 | font-size: small; 30 | } 31 | 32 | #qunit-tests li ol { 33 | margin-top: 0.5em; 34 | padding: 0.5em; 35 | background-color: #fff; 36 | -moz-box-shadow: inset 0px 1px 8px #ccc; 37 | -webkit-box-shadow: inset 0px 1px 8px #ccc; 38 | box-shadow: inset 0px 1px 8px #ccc; 39 | } 40 | 41 | #qunit-tests li ol, 42 | #qunit-header, 43 | #qunit-testresult { 44 | -moz-border-radius: 10px; 45 | -webkit-border-radius: 10px; 46 | border-radius: 10px; 47 | } 48 | 49 | #qunit-tests li li { 50 | border-bottom: none; 51 | margin: 0.5em; 52 | background-color: #fff; 53 | list-style-position: inside; 54 | padding: 0.4em 0.5em; 55 | } 56 | 57 | #qunit-tests li li.pass { 58 | border-left: 26px solid #0a0; 59 | background-color: #fff; 60 | color: #0a0; 61 | } 62 | 63 | #qunit-tests li li.fail { 64 | border-left: 26px solid #f00; 65 | background-color: #fff; 66 | color: #f00; 67 | } 68 | 69 | #qunit-tests li.pass, 70 | h3, 71 | p { 72 | color: #913D00; 73 | background-color: #FDEBDC; 74 | } 75 | 76 | h3, 77 | p { 78 | font-size: small; 79 | padding: 0.4em 0.5em 0.4em 2.5em; 80 | border-bottom: 1px solid #fff; 81 | } 82 | 83 | h3 a, 84 | p a { 85 | color: #FF7F00; 86 | } 87 | 88 | h3 a:hover, 89 | p a:hover { 90 | color: #000; 91 | } 92 | 93 | #qunit-tests li.fail { 94 | background-color: #f99; 95 | color: #000; 96 | } 97 | 98 | #qunit-tests li strong { 99 | cursor: pointer; 100 | } 101 | 102 | #qunit-header { 103 | color: #fff; 104 | background-color: #FF7F00; 105 | margin: 0; 106 | padding: 0.5em 2em; 107 | -moz-border-radius-bottomright: 0; 108 | -moz-border-radius-bottomleft: 0; 109 | -webkit-border-bottom-right-radius: 0; 110 | -webkit-border-bottom-left-radius: 0; 111 | border-bottom-right-radius: 0; 112 | border-bottom-left-radius: 0; 113 | } 114 | 115 | #qunit-header h1 { 116 | float: left; 117 | margin: 0; 118 | padding: 0; 119 | line-height: 2em; 120 | font-size: x-large; 121 | } 122 | 123 | #qunit-header small { 124 | float: right; 125 | font-weight: 700; 126 | line-height: 3.5em; 127 | } 128 | 129 | #qunit-header a { 130 | color: #fff; 131 | } 132 | 133 | #qunit-header a:hover { 134 | color: #000; 135 | } 136 | 137 | /* Added span inside #qunit-banner to work around IE6 #id.class bug */ 138 | #qunit-banner span { 139 | display: block; 140 | height: 5px; 141 | _overflow: hidden; 142 | } 143 | 144 | #qunit-banner.qunit-pass span { 145 | background-color: #0a0; 146 | } 147 | 148 | #qunit-banner.qunit-fail span, 149 | #qunit-testrunner-toolbar { 150 | background-color: #f99; 151 | } 152 | 153 | #qunit-testrunner-toolbar { 154 | padding: 0; 155 | /*width: 80%;*/ 156 | padding: 0em 0 0.5em 2em; 157 | font-size: small; 158 | } 159 | 160 | #qunit-userAgent { 161 | background-color: #913D00; 162 | color: #fff; 163 | font-size: small; 164 | padding: 0.5em 0 0.5em 2.5em; 165 | } 166 | 167 | #qunit-testresult { 168 | margin: 0; 169 | font-size: small; 170 | color: #913D00; 171 | background-color: #FDEBDC; 172 | padding: 0.5em 0.5em 0.5em 2.5em; 173 | -moz-border-radius-topright: 0; 174 | -moz-border-radius-topleft: 0; 175 | -webkit-border-top-right-radius: 0; 176 | -webkit-border-top-left-radius: 0; 177 | border-top-right-radius: 0; 178 | border-top-left-radius: 0; 179 | } 180 | 181 | strong b.fail { 182 | color: #f00; 183 | } 184 | 185 | strong b.pass { 186 | color: #0a0; 187 | } 188 | -------------------------------------------------------------------------------- /shared/SyntaxHighlighter/scripts/shBrushPowerShell.js: -------------------------------------------------------------------------------- 1 | /** 2 | * SyntaxHighlighter 3 | * http://alexgorbatchev.com/ 4 | * 5 | * SyntaxHighlighter is donationware. If you are using it, please donate. 6 | * http://alexgorbatchev.com/wiki/SyntaxHighlighter:Donate 7 | * 8 | * @version 9 | * 2.0.320 (May 03 2009) 10 | * 11 | * @copyright 12 | * Copyright (C) 2004-2009 Alex Gorbatchev. 13 | * 14 | * @license 15 | * This file is part of SyntaxHighlighter. 16 | * 17 | * SyntaxHighlighter is free software: you can redistribute it and/or modify 18 | * it under the terms of the GNU Lesser General Public License as published by 19 | * the Free Software Foundation, either version 3 of the License, or 20 | * (at your option) any later version. 21 | * 22 | * SyntaxHighlighter is distributed in the hope that it will be useful, 23 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 24 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 25 | * GNU General Public License for more details. 26 | * 27 | * You should have received a copy of the GNU General Public License 28 | * along with SyntaxHighlighter. If not, see . 29 | */ 30 | SyntaxHighlighter.brushes.PowerShell = function() 31 | { 32 | // Contributes by B.v.Zanten, Getronics 33 | // http://confluence.atlassian.com/display/CONFEXT/New+Code+Macro 34 | 35 | var keywords = 'Add-Content Add-History Add-Member Add-PSSnapin Clear(-Content)? Clear-Item ' + 36 | 'Clear-ItemProperty Clear-Variable Compare-Object ConvertFrom-SecureString Convert-Path ' + 37 | 'ConvertTo-Html ConvertTo-SecureString Copy(-Item)? Copy-ItemProperty Export-Alias ' + 38 | 'Export-Clixml Export-Console Export-Csv ForEach(-Object)? Format-Custom Format-List ' + 39 | 'Format-Table Format-Wide Get-Acl Get-Alias Get-AuthenticodeSignature Get-ChildItem Get-Command ' + 40 | 'Get-Content Get-Credential Get-Culture Get-Date Get-EventLog Get-ExecutionPolicy ' + 41 | 'Get-Help Get-History Get-Host Get-Item Get-ItemProperty Get-Location Get-Member ' + 42 | 'Get-PfxCertificate Get-Process Get-PSDrive Get-PSProvider Get-PSSnapin Get-Service ' + 43 | 'Get-TraceSource Get-UICulture Get-Unique Get-Variable Get-WmiObject Group-Object ' + 44 | 'Import-Alias Import-Clixml Import-Csv Invoke-Expression Invoke-History Invoke-Item ' + 45 | 'Join-Path Measure-Command Measure-Object Move(-Item)? Move-ItemProperty New-Alias ' + 46 | 'New-Item New-ItemProperty New-Object New-PSDrive New-Service New-TimeSpan ' + 47 | 'New-Variable Out-Default Out-File Out-Host Out-Null Out-Printer Out-String Pop-Location ' + 48 | 'Push-Location Read-Host Remove-Item Remove-ItemProperty Remove-PSDrive Remove-PSSnapin ' + 49 | 'Remove-Variable Rename-Item Rename-ItemProperty Resolve-Path Restart-Service Resume-Service ' + 50 | 'Select-Object Select-String Set-Acl Set-Alias Set-AuthenticodeSignature Set-Content ' + 51 | 'Set-Date Set-ExecutionPolicy Set-Item Set-ItemProperty Set-Location Set-PSDebug ' + 52 | 'Set-Service Set-TraceSource Set(-Variable)? Sort-Object Split-Path Start-Service ' + 53 | 'Start-Sleep Start-Transcript Stop-Process Stop-Service Stop-Transcript Suspend-Service ' + 54 | 'Tee-Object Test-Path Trace-Command Update-FormatData Update-TypeData Where(-Object)? ' + 55 | 'Write-Debug Write-Error Write(-Host)? Write-Output Write-Progress Write-Verbose Write-Warning'; 56 | var alias = 'ac asnp clc cli clp clv cpi cpp cvpa diff epal epcsv fc fl ' + 57 | 'ft fw gal gc gci gcm gdr ghy gi gl gm gp gps group gsv ' + 58 | 'gsnp gu gv gwmi iex ihy ii ipal ipcsv mi mp nal ndr ni nv oh rdr ' + 59 | 'ri rni rnp rp rsnp rv rvpa sal sasv sc select si sl sleep sort sp ' + 60 | 'spps spsv sv tee cat cd cp h history kill lp ls ' + 61 | 'mount mv popd ps pushd pwd r rm rmdir echo cls chdir del dir ' + 62 | 'erase rd ren type % \\?'; 63 | 64 | this.regexList = [ 65 | { regex: /#.*$/gm, css: 'comments' }, // one line comments 66 | { regex: /\$[a-zA-Z0-9]+\b/g, css: 'value' }, // variables $Computer1 67 | { regex: /\-[a-zA-Z]+\b/g, css: 'keyword' }, // Operators -not -and -eq 68 | { regex: SyntaxHighlighter.regexLib.doubleQuotedString, css: 'string' }, // strings 69 | { regex: SyntaxHighlighter.regexLib.singleQuotedString, css: 'string' }, // strings 70 | { regex: new RegExp(this.getKeywords(keywords), 'gmi'), css: 'keyword' }, 71 | { regex: new RegExp(this.getKeywords(alias), 'gmi'), css: 'keyword' } 72 | ]; 73 | }; 74 | 75 | SyntaxHighlighter.brushes.PowerShell.prototype = new SyntaxHighlighter.Highlighter(); 76 | SyntaxHighlighter.brushes.PowerShell.aliases = ['powershell', 'ps']; 77 | -------------------------------------------------------------------------------- /shared/SyntaxHighlighter/styles/shThemeEmacs.css: -------------------------------------------------------------------------------- 1 | /** 2 | * SyntaxHighlighter 3 | * http://alexgorbatchev.com/ 4 | * 5 | * SyntaxHighlighter is donationware. If you are using it, please donate. 6 | * http://alexgorbatchev.com/wiki/SyntaxHighlighter:Donate 7 | * 8 | * @version 9 | * 2.0.320 (May 03 2009) 10 | * 11 | * @copyright 12 | * Copyright (C) 2004-2009 Alex Gorbatchev. 13 | * 14 | * @license 15 | * This file is part of SyntaxHighlighter. 16 | * 17 | * SyntaxHighlighter is free software: you can redistribute it and/or modify 18 | * it under the terms of the GNU Lesser General Public License as published by 19 | * the Free Software Foundation, either version 3 of the License, or 20 | * (at your option) any later version. 21 | * 22 | * SyntaxHighlighter is distributed in the hope that it will be useful, 23 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 24 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 25 | * GNU General Public License for more details. 26 | * 27 | * You should have received a copy of the GNU General Public License 28 | * along with SyntaxHighlighter. If not, see . 29 | */ 30 | /** 31 | * Emacs SyntaxHighlighter theme based on theme by Joshua Emmons 32 | * http://www.skia.net/ 33 | */ 34 | 35 | /************************************ 36 | * Interface elements. 37 | ************************************/ 38 | 39 | .syntaxhighlighter 40 | { 41 | background-color: #000000 !important; 42 | } 43 | 44 | /* Gutter line numbers */ 45 | .syntaxhighlighter .line .number 46 | { 47 | color: #D3D3D3 !important; 48 | } 49 | 50 | /* Add border to the lines */ 51 | .syntaxhighlighter .line .content 52 | { 53 | border-left: 3px solid #990000 !important; 54 | color: #B9BDB6 !important; 55 | } 56 | 57 | .syntaxhighlighter.printing .line .content 58 | { 59 | border: 0 !important; 60 | } 61 | 62 | /* First line */ 63 | .syntaxhighlighter .line.alt1 .content 64 | { 65 | } 66 | 67 | /* Second line */ 68 | .syntaxhighlighter .line.alt2 .content 69 | { 70 | background-color: #0f0f0f !important; 71 | } 72 | 73 | .syntaxhighlighter .line .content .block 74 | { 75 | background: url(wrapping.png) 0 1.1em no-repeat !important; 76 | } 77 | 78 | /* Highlighed line number */ 79 | .syntaxhighlighter .line.highlighted .number 80 | { 81 | background-color: #435A5F !important; 82 | color: #fff !important; 83 | } 84 | 85 | /* Highlighed line */ 86 | .syntaxhighlighter .line.highlighted.alt1 .content, 87 | .syntaxhighlighter .line.highlighted.alt2 .content 88 | { 89 | background-color: #435A5F !important; 90 | } 91 | 92 | .syntaxhighlighter .ruler 93 | { 94 | color: silver !important; 95 | background-color: #000000 !important; 96 | border-left: 3px solid #990000 !important; 97 | } 98 | 99 | .syntaxhighlighter.nogutter .ruler 100 | { 101 | border: 0 !important; 102 | } 103 | 104 | .syntaxhighlighter .toolbar 105 | { 106 | background-color: #000000 !important; 107 | border: #000000 solid 1px !important; 108 | } 109 | 110 | .syntaxhighlighter .toolbar a 111 | { 112 | color: #646763 !important; 113 | } 114 | 115 | .syntaxhighlighter .toolbar a:hover 116 | { 117 | color: #9CCFF4 !important; 118 | } 119 | 120 | /************************************ 121 | * Actual syntax highlighter colors. 122 | ************************************/ 123 | .syntaxhighlighter .plain, 124 | .syntaxhighlighter .plain a 125 | { 126 | color: #D3D3D3 !important; 127 | } 128 | 129 | .syntaxhighlighter .comments, 130 | .syntaxhighlighter .comments a 131 | { 132 | color: #FF7D27 !important; 133 | } 134 | 135 | .syntaxhighlighter .string, 136 | .syntaxhighlighter .string a 137 | { 138 | color: #FF9E7B !important; 139 | } 140 | 141 | .syntaxhighlighter .keyword 142 | { 143 | color: #00FFFF !important; 144 | } 145 | 146 | .syntaxhighlighter .preprocessor 147 | { 148 | color: #AEC4DE !important; 149 | } 150 | 151 | .syntaxhighlighter .variable 152 | { 153 | color: #FFAA3E !important; 154 | } 155 | 156 | .syntaxhighlighter .value 157 | { 158 | color: #090 !important; 159 | } 160 | 161 | .syntaxhighlighter .functions 162 | { 163 | color: #81CEF9 !important; 164 | } 165 | 166 | .syntaxhighlighter .constants 167 | { 168 | color: #FF9E7B !important; 169 | } 170 | 171 | .syntaxhighlighter .script 172 | { 173 | background-color: #990000 !important; 174 | } 175 | 176 | .syntaxhighlighter .color1, 177 | .syntaxhighlighter .color1 a 178 | { 179 | color: #EBDB8D !important; 180 | } 181 | 182 | .syntaxhighlighter .color2, 183 | .syntaxhighlighter .color2 a 184 | { 185 | color: #FF7D27 !important; 186 | } 187 | 188 | .syntaxhighlighter .color3, 189 | .syntaxhighlighter .color3 a 190 | { 191 | color: #AEC4DE !important; 192 | } 193 | -------------------------------------------------------------------------------- /shared/SyntaxHighlighter/styles/shThemeMidnight.css: -------------------------------------------------------------------------------- 1 | /** 2 | * SyntaxHighlighter 3 | * http://alexgorbatchev.com/ 4 | * 5 | * SyntaxHighlighter is donationware. If you are using it, please donate. 6 | * http://alexgorbatchev.com/wiki/SyntaxHighlighter:Donate 7 | * 8 | * @version 9 | * 2.0.320 (May 03 2009) 10 | * 11 | * @copyright 12 | * Copyright (C) 2004-2009 Alex Gorbatchev. 13 | * 14 | * @license 15 | * This file is part of SyntaxHighlighter. 16 | * 17 | * SyntaxHighlighter is free software: you can redistribute it and/or modify 18 | * it under the terms of the GNU Lesser General Public License as published by 19 | * the Free Software Foundation, either version 3 of the License, or 20 | * (at your option) any later version. 21 | * 22 | * SyntaxHighlighter is distributed in the hope that it will be useful, 23 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 24 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 25 | * GNU General Public License for more details. 26 | * 27 | * You should have received a copy of the GNU General Public License 28 | * along with SyntaxHighlighter. If not, see . 29 | */ 30 | /** 31 | * Midnight SyntaxHighlighter theme based on theme by J.D. Myers 32 | * http://webdesign.lsnjd.com/ 33 | */ 34 | 35 | /************************************ 36 | * Interface elements. 37 | ************************************/ 38 | 39 | .syntaxhighlighter 40 | { 41 | background-color: #0F192A !important; 42 | } 43 | 44 | /* Gutter line numbers */ 45 | .syntaxhighlighter .line .number 46 | { 47 | color: #38566F !important; 48 | } 49 | 50 | /* Add border to the lines */ 51 | .syntaxhighlighter .line .content 52 | { 53 | border-left: 3px solid #435A5F !important; 54 | color: #B9BDB6 !important; 55 | } 56 | 57 | .syntaxhighlighter.printing .line .content 58 | { 59 | border: 0 !important; 60 | } 61 | 62 | /* First line */ 63 | .syntaxhighlighter .line.alt1 .content 64 | { 65 | background-color: #0F192A !important; 66 | } 67 | 68 | /* Second line */ 69 | .syntaxhighlighter .line.alt2 .content 70 | { 71 | background-color: #0F192A !important; 72 | } 73 | 74 | .syntaxhighlighter .line .content .block 75 | { 76 | background: url(wrapping.png) 0 1.1em no-repeat !important; 77 | } 78 | 79 | /* Highlighed line number */ 80 | .syntaxhighlighter .line.highlighted .number 81 | { 82 | background-color: #253E5A !important; 83 | color: #fff !important; 84 | } 85 | 86 | /* Highlighed line */ 87 | .syntaxhighlighter .line.highlighted.alt1 .content, 88 | .syntaxhighlighter .line.highlighted.alt2 .content 89 | { 90 | background-color: #253E5A !important; 91 | } 92 | 93 | .syntaxhighlighter .ruler 94 | { 95 | color: #38566F !important; 96 | background-color: #0F192A !important; 97 | border-left: 3px solid #435A5F !important; 98 | } 99 | 100 | .syntaxhighlighter.nogutter .ruler 101 | { 102 | border: 0 !important; 103 | } 104 | 105 | .syntaxhighlighter .toolbar 106 | { 107 | background-color: #0F192A !important; 108 | } 109 | 110 | .syntaxhighlighter .toolbar a 111 | { 112 | color: #38566F !important; 113 | } 114 | 115 | .syntaxhighlighter .toolbar a:hover 116 | { 117 | color: #8AA6C1 !important; 118 | } 119 | 120 | /************************************ 121 | * Actual syntax highlighter colors. 122 | ************************************/ 123 | .syntaxhighlighter .plain, 124 | .syntaxhighlighter .plain a 125 | { 126 | color: #D1EDFF !important; 127 | } 128 | 129 | .syntaxhighlighter .comments, 130 | .syntaxhighlighter .comments a 131 | { 132 | color: #428BDD !important; 133 | } 134 | 135 | .syntaxhighlighter .string, 136 | .syntaxhighlighter .string a 137 | { 138 | color: #1DC116 !important; 139 | } 140 | 141 | .syntaxhighlighter .keyword 142 | { 143 | color: #B43D3D !important; 144 | } 145 | 146 | .syntaxhighlighter .preprocessor 147 | { 148 | color: #8AA6C1 !important; 149 | } 150 | 151 | .syntaxhighlighter .variable 152 | { 153 | color: #FFAA3E !important; 154 | } 155 | 156 | .syntaxhighlighter .value 157 | { 158 | color: #F7E741 !important; 159 | } 160 | 161 | .syntaxhighlighter .functions 162 | { 163 | color: #FFAA3E !important; 164 | } 165 | 166 | .syntaxhighlighter .constants 167 | { 168 | color: #E0E8FF !important; 169 | } 170 | 171 | .syntaxhighlighter .script 172 | { 173 | background-color: #404040 !important; 174 | } 175 | 176 | .syntaxhighlighter .color1, 177 | .syntaxhighlighter .color1 a 178 | { 179 | color: #F8BB00 !important; 180 | } 181 | 182 | .syntaxhighlighter .color2, 183 | .syntaxhighlighter .color2 a 184 | { 185 | color: #FFFFFF !important; 186 | } 187 | 188 | .syntaxhighlighter .color3, 189 | .syntaxhighlighter .color3 a 190 | { 191 | color: #FFAA3E !important; 192 | } 193 | -------------------------------------------------------------------------------- /shared/SyntaxHighlighter/styles/shThemeDjango.css: -------------------------------------------------------------------------------- 1 | /** 2 | * SyntaxHighlighter 3 | * http://alexgorbatchev.com/ 4 | * 5 | * SyntaxHighlighter is donationware. If you are using it, please donate. 6 | * http://alexgorbatchev.com/wiki/SyntaxHighlighter:Donate 7 | * 8 | * @version 9 | * 2.0.320 (May 03 2009) 10 | * 11 | * @copyright 12 | * Copyright (C) 2004-2009 Alex Gorbatchev. 13 | * 14 | * @license 15 | * This file is part of SyntaxHighlighter. 16 | * 17 | * SyntaxHighlighter is free software: you can redistribute it and/or modify 18 | * it under the terms of the GNU Lesser General Public License as published by 19 | * the Free Software Foundation, either version 3 of the License, or 20 | * (at your option) any later version. 21 | * 22 | * SyntaxHighlighter is distributed in the hope that it will be useful, 23 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 24 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 25 | * GNU General Public License for more details. 26 | * 27 | * You should have received a copy of the GNU General Public License 28 | * along with SyntaxHighlighter. If not, see . 29 | */ 30 | /** 31 | * Django SyntaxHighlighter theme 32 | */ 33 | 34 | /************************************ 35 | * Interface elements. 36 | ************************************/ 37 | 38 | .syntaxhighlighter 39 | { 40 | background-color: #0B2F20 !important; 41 | } 42 | 43 | /* Gutter line numbers */ 44 | .syntaxhighlighter .line .number 45 | { 46 | color: #497958 !important; 47 | } 48 | 49 | /* Add border to the lines */ 50 | .syntaxhighlighter .line .content 51 | { 52 | border-left: 3px solid #41A83E !important; 53 | color: #B9BDB6 !important; 54 | } 55 | 56 | .syntaxhighlighter.printing .line .content 57 | { 58 | border: 0 !important; 59 | } 60 | 61 | /* First line */ 62 | .syntaxhighlighter .line.alt1 .content 63 | { 64 | } 65 | 66 | /* Second line */ 67 | .syntaxhighlighter .line.alt2 .content 68 | { 69 | background-color: #0a2b1d !important; 70 | } 71 | 72 | .syntaxhighlighter .line .content .block 73 | { 74 | background: url(wrapping.png) 0 1.1em no-repeat !important; 75 | } 76 | 77 | /* Highlighed line number */ 78 | .syntaxhighlighter .line.highlighted .number 79 | { 80 | background-color: #336442 !important; 81 | color: #fff !important; 82 | } 83 | 84 | /* Highlighed line */ 85 | .syntaxhighlighter .line.highlighted.alt1 .content, 86 | .syntaxhighlighter .line.highlighted.alt2 .content 87 | { 88 | background-color: #336442 !important; 89 | } 90 | 91 | .syntaxhighlighter .ruler 92 | { 93 | color: #C4B14A !important; 94 | background-color: #245032 !important; 95 | border-left: 3px solid #41A83E !important; 96 | } 97 | 98 | .syntaxhighlighter.nogutter .ruler 99 | { 100 | border: 0 !important; 101 | } 102 | 103 | .syntaxhighlighter .toolbar 104 | { 105 | background-color: #245032 !important; 106 | border: #0B2F20 solid 1px !important; 107 | } 108 | 109 | .syntaxhighlighter .toolbar a 110 | { 111 | color: #C4B14A !important; 112 | } 113 | 114 | .syntaxhighlighter .toolbar a:hover 115 | { 116 | color: #FFE862 !important; 117 | } 118 | 119 | /************************************ 120 | * Actual syntax highlighter colors. 121 | ************************************/ 122 | .syntaxhighlighter .plain, 123 | .syntaxhighlighter .plain a 124 | { 125 | color: #F8F8F8 !important; 126 | } 127 | 128 | .syntaxhighlighter .comments, 129 | .syntaxhighlighter .comments a 130 | { 131 | color: #336442 !important; 132 | font-style: italic !important; 133 | } 134 | 135 | .syntaxhighlighter .string, 136 | .syntaxhighlighter .string a 137 | { 138 | color: #9DF39F !important; 139 | } 140 | 141 | .syntaxhighlighter .keyword 142 | { 143 | color: #96DD3B !important; 144 | font-weight: bold !important; 145 | } 146 | 147 | .syntaxhighlighter .preprocessor 148 | { 149 | color: #91BB9E !important; 150 | } 151 | 152 | .syntaxhighlighter .variable 153 | { 154 | color: #FFAA3E !important; 155 | } 156 | 157 | .syntaxhighlighter .value 158 | { 159 | color: #F7E741 !important; 160 | } 161 | 162 | .syntaxhighlighter .functions 163 | { 164 | color: #FFAA3E !important; 165 | } 166 | 167 | .syntaxhighlighter .constants 168 | { 169 | color: #E0E8FF !important; 170 | } 171 | 172 | .syntaxhighlighter .script 173 | { 174 | background-color: #497958 !important; 175 | } 176 | 177 | .syntaxhighlighter .color1, 178 | .syntaxhighlighter .color1 a 179 | { 180 | color: #EB939A !important; 181 | } 182 | 183 | .syntaxhighlighter .color2, 184 | .syntaxhighlighter .color2 a 185 | { 186 | color: #91BB9E !important; 187 | } 188 | 189 | .syntaxhighlighter .color3, 190 | .syntaxhighlighter .color3 a 191 | { 192 | color: #EDEF7D !important; 193 | } 194 | -------------------------------------------------------------------------------- /shared/SyntaxHighlighter/styles/shThemeRDark.css: -------------------------------------------------------------------------------- 1 | /** 2 | * SyntaxHighlighter 3 | * http://alexgorbatchev.com/ 4 | * 5 | * SyntaxHighlighter is donationware. If you are using it, please donate. 6 | * http://alexgorbatchev.com/wiki/SyntaxHighlighter:Donate 7 | * 8 | * @version 9 | * 2.0.320 (May 03 2009) 10 | * 11 | * @copyright 12 | * Copyright (C) 2004-2009 Alex Gorbatchev. 13 | * 14 | * @license 15 | * This file is part of SyntaxHighlighter. 16 | * 17 | * SyntaxHighlighter is free software: you can redistribute it and/or modify 18 | * it under the terms of the GNU Lesser General Public License as published by 19 | * the Free Software Foundation, either version 3 of the License, or 20 | * (at your option) any later version. 21 | * 22 | * SyntaxHighlighter is distributed in the hope that it will be useful, 23 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 24 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 25 | * GNU General Public License for more details. 26 | * 27 | * You should have received a copy of the GNU General Public License 28 | * along with SyntaxHighlighter. If not, see . 29 | */ 30 | /** 31 | * RDark SyntaxHighlighter theme based on theme by Radu Dineiu 32 | * http://www.vim.org/scripts/script.php?script_id=1732 33 | */ 34 | 35 | /************************************ 36 | * Interface elements. 37 | ************************************/ 38 | 39 | .syntaxhighlighter 40 | { 41 | background-color: #1B2426 !important; 42 | } 43 | 44 | /* Gutter line numbers */ 45 | .syntaxhighlighter .line .number 46 | { 47 | color: #B9BDB6 !important; 48 | } 49 | 50 | /* Add border to the lines */ 51 | .syntaxhighlighter .line .content 52 | { 53 | border-left: 3px solid #435A5F !important; 54 | color: #B9BDB6 !important; 55 | } 56 | 57 | .syntaxhighlighter.printing .line .content 58 | { 59 | border: 0 !important; 60 | } 61 | 62 | /* First line */ 63 | .syntaxhighlighter .line.alt1 .content 64 | { 65 | background-color: #1B2426 !important; 66 | } 67 | 68 | /* Second line */ 69 | .syntaxhighlighter .line.alt2 .content 70 | { 71 | background-color: #1B2426 !important; 72 | } 73 | 74 | .syntaxhighlighter .line .content .block 75 | { 76 | background: url(wrapping.png) 0 1.1em no-repeat !important; 77 | } 78 | 79 | /* Highlighed line number */ 80 | .syntaxhighlighter .line.highlighted .number 81 | { 82 | background-color: #435A5F !important; 83 | color: #fff !important; 84 | } 85 | 86 | /* Highlighed line */ 87 | .syntaxhighlighter .line.highlighted.alt1 .content, 88 | .syntaxhighlighter .line.highlighted.alt2 .content 89 | { 90 | background-color: #435A5F !important; 91 | } 92 | 93 | .syntaxhighlighter .ruler 94 | { 95 | color: silver !important; 96 | background-color: #1B2426 !important; 97 | border-left: 3px solid #435A5F !important; 98 | } 99 | 100 | .syntaxhighlighter.nogutter .ruler 101 | { 102 | border: 0 !important; 103 | } 104 | 105 | .syntaxhighlighter .toolbar 106 | { 107 | background-color: #1B2426 !important; 108 | } 109 | 110 | .syntaxhighlighter .toolbar a 111 | { 112 | color: #646763 !important; 113 | } 114 | 115 | .syntaxhighlighter .toolbar a:hover 116 | { 117 | color: #E0E8FF !important; 118 | } 119 | 120 | /************************************ 121 | * Actual syntax highlighter colors. 122 | ************************************/ 123 | .syntaxhighlighter .plain, 124 | .syntaxhighlighter .plain a 125 | { 126 | color: #B9BDB6 !important; 127 | } 128 | 129 | .syntaxhighlighter .comments, 130 | .syntaxhighlighter .comments a 131 | { 132 | color: #878A85 !important; 133 | } 134 | 135 | .syntaxhighlighter .string, 136 | .syntaxhighlighter .string a 137 | { 138 | color: #5CE638 !important; 139 | } 140 | 141 | .syntaxhighlighter .keyword 142 | { 143 | color: #5BA1CF !important; 144 | } 145 | 146 | .syntaxhighlighter .preprocessor 147 | { 148 | color: #435A5F !important; 149 | } 150 | 151 | .syntaxhighlighter .variable 152 | { 153 | color: #FFAA3E !important; 154 | } 155 | 156 | .syntaxhighlighter .value 157 | { 158 | color: #090 !important; 159 | } 160 | 161 | .syntaxhighlighter .functions 162 | { 163 | color: #FFAA3E !important; 164 | } 165 | 166 | .syntaxhighlighter .constants 167 | { 168 | color: #E0E8FF !important; 169 | } 170 | 171 | .syntaxhighlighter .script 172 | { 173 | background-color: #435A5F !important; 174 | } 175 | 176 | .syntaxhighlighter .color1, 177 | .syntaxhighlighter .color1 a 178 | { 179 | color: #E0E8FF !important; 180 | } 181 | 182 | .syntaxhighlighter .color2, 183 | .syntaxhighlighter .color2 a 184 | { 185 | color: #FFFFFF !important; 186 | } 187 | 188 | .syntaxhighlighter .color3, 189 | .syntaxhighlighter .color3 a 190 | { 191 | color: #FFAA3E !important; 192 | } 193 | -------------------------------------------------------------------------------- /shared/SyntaxHighlighter/styles/shThemeFadeToGrey.css: -------------------------------------------------------------------------------- 1 | /** 2 | * SyntaxHighlighter 3 | * http://alexgorbatchev.com/ 4 | * 5 | * SyntaxHighlighter is donationware. If you are using it, please donate. 6 | * http://alexgorbatchev.com/wiki/SyntaxHighlighter:Donate 7 | * 8 | * @version 9 | * 2.0.320 (May 03 2009) 10 | * 11 | * @copyright 12 | * Copyright (C) 2004-2009 Alex Gorbatchev. 13 | * 14 | * @license 15 | * This file is part of SyntaxHighlighter. 16 | * 17 | * SyntaxHighlighter is free software: you can redistribute it and/or modify 18 | * it under the terms of the GNU Lesser General Public License as published by 19 | * the Free Software Foundation, either version 3 of the License, or 20 | * (at your option) any later version. 21 | * 22 | * SyntaxHighlighter is distributed in the hope that it will be useful, 23 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 24 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 25 | * GNU General Public License for more details. 26 | * 27 | * You should have received a copy of the GNU General Public License 28 | * along with SyntaxHighlighter. If not, see . 29 | */ 30 | /** 31 | * Fade to Grey SyntaxHighlighter theme based on theme by Brasten Sager 32 | * http://www.ibrasten.com/ 33 | */ 34 | 35 | /************************************ 36 | * Interface elements. 37 | ************************************/ 38 | 39 | .syntaxhighlighter 40 | { 41 | background-color: #121212 !important; 42 | } 43 | 44 | /* Gutter line numbers */ 45 | .syntaxhighlighter .line .number 46 | { 47 | color: #C3C3C3 !important; 48 | } 49 | 50 | /* Add border to the lines */ 51 | .syntaxhighlighter .line .content 52 | { 53 | border-left: 3px solid #3185B9 !important; 54 | color: #B9BDB6 !important; 55 | } 56 | 57 | .syntaxhighlighter.printing .line .content 58 | { 59 | border: 0 !important; 60 | } 61 | 62 | /* First line */ 63 | .syntaxhighlighter .line.alt1 .content 64 | { 65 | } 66 | 67 | /* Second line */ 68 | .syntaxhighlighter .line.alt2 .content 69 | { 70 | background-color: #000000 !important; 71 | } 72 | 73 | .syntaxhighlighter .line .content .block 74 | { 75 | background: url(wrapping.png) 0 1.1em no-repeat !important; 76 | } 77 | 78 | /* Highlighed line number */ 79 | .syntaxhighlighter .line.highlighted .number 80 | { 81 | background-color: #3A3A00 !important; 82 | color: #fff !important; 83 | } 84 | 85 | /* Highlighed line */ 86 | .syntaxhighlighter .line.highlighted.alt1 .content, 87 | .syntaxhighlighter .line.highlighted.alt2 .content 88 | { 89 | background-color: #3A3A00 !important; 90 | } 91 | 92 | .syntaxhighlighter .ruler 93 | { 94 | color: silver !important; 95 | border-left: 3px solid #3185B9 !important; 96 | } 97 | 98 | .syntaxhighlighter.nogutter .ruler 99 | { 100 | border: 0 !important; 101 | } 102 | 103 | .syntaxhighlighter .toolbar 104 | { 105 | background-color: #000000 !important; 106 | border: #000000 solid 1px !important; 107 | } 108 | 109 | .syntaxhighlighter .toolbar a 110 | { 111 | color: #808080 !important; 112 | } 113 | 114 | .syntaxhighlighter .toolbar a:hover 115 | { 116 | color: #96DAFF !important; 117 | } 118 | 119 | /************************************ 120 | * Actual syntax highlighter colors. 121 | ************************************/ 122 | .syntaxhighlighter .plain, 123 | .syntaxhighlighter .plain a 124 | { 125 | color: #FFFFFF !important; 126 | } 127 | 128 | .syntaxhighlighter .comments, 129 | .syntaxhighlighter .comments a 130 | { 131 | color: #696854 !important; 132 | } 133 | 134 | .syntaxhighlighter .string, 135 | .syntaxhighlighter .string a 136 | { 137 | color: #E3E658 !important; 138 | } 139 | 140 | .syntaxhighlighter .keyword 141 | { 142 | color: #D01D33 !important; 143 | } 144 | 145 | .syntaxhighlighter .preprocessor 146 | { 147 | color: #435A5F !important; 148 | } 149 | 150 | .syntaxhighlighter .variable 151 | { 152 | color: #898989 !important; 153 | } 154 | 155 | .syntaxhighlighter .value 156 | { 157 | color: #090 !important; 158 | } 159 | 160 | .syntaxhighlighter .functions 161 | { 162 | color: #AAAAAA !important; 163 | font-weight: bold !important; 164 | } 165 | 166 | .syntaxhighlighter .constants 167 | { 168 | color: #96DAFF !important; 169 | } 170 | 171 | .syntaxhighlighter .script 172 | { 173 | background-color: #C3C3C3 !important; 174 | color: #000 !important; 175 | } 176 | 177 | .syntaxhighlighter .color1, 178 | .syntaxhighlighter .color1 a 179 | { 180 | color: #FFC074 !important; 181 | } 182 | 183 | .syntaxhighlighter .color2, 184 | .syntaxhighlighter .color2 a 185 | { 186 | color: #4A8CDB !important; 187 | } 188 | 189 | .syntaxhighlighter .color3, 190 | .syntaxhighlighter .color3 a 191 | { 192 | color: #96DAFF !important; 193 | } 194 | -------------------------------------------------------------------------------- /shared/SyntaxHighlighter/styles/shThemeDefault.css: -------------------------------------------------------------------------------- 1 | /** 2 | * SyntaxHighlighter 3 | * http://alexgorbatchev.com/ 4 | * 5 | * SyntaxHighlighter is donationware. If you are using it, please donate. 6 | * http://alexgorbatchev.com/wiki/SyntaxHighlighter:Donate 7 | * 8 | * @version 9 | * 2.0.320 (May 03 2009) 10 | * 11 | * @copyright 12 | * Copyright (C) 2004-2009 Alex Gorbatchev. 13 | * 14 | * @license 15 | * This file is part of SyntaxHighlighter. 16 | * 17 | * SyntaxHighlighter is free software: you can redistribute it and/or modify 18 | * it under the terms of the GNU Lesser General Public License as published by 19 | * the Free Software Foundation, either version 3 of the License, or 20 | * (at your option) any later version. 21 | * 22 | * SyntaxHighlighter is distributed in the hope that it will be useful, 23 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 24 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 25 | * GNU General Public License for more details. 26 | * 27 | * You should have received a copy of the GNU General Public License 28 | * along with SyntaxHighlighter. If not, see . 29 | */ 30 | /************************************ 31 | * Default Syntax Highlighter theme. 32 | * 33 | * Interface elements. 34 | ************************************/ 35 | 36 | .syntaxhighlighter 37 | { 38 | background-color: #E7E5DC !important; 39 | } 40 | 41 | /* Highlighed line number */ 42 | .syntaxhighlighter .line.highlighted .number 43 | { 44 | background-color: #6CE26C !important; 45 | color: black !important; 46 | } 47 | 48 | /* Highlighed line */ 49 | .syntaxhighlighter .line.highlighted.alt1 .content, 50 | .syntaxhighlighter .line.highlighted.alt2 .content 51 | { 52 | background-color: #6CE26C !important; 53 | } 54 | 55 | /* Gutter line numbers */ 56 | .syntaxhighlighter .line .number 57 | { 58 | color: #5C5C5C !important; 59 | } 60 | 61 | /* Add border to the lines */ 62 | .syntaxhighlighter .line .content 63 | { 64 | border-left: 3px solid #6CE26C !important; 65 | color: #000 !important; 66 | } 67 | 68 | .syntaxhighlighter.printing .line .content 69 | { 70 | border: 0 !important; 71 | } 72 | 73 | /* First line */ 74 | .syntaxhighlighter .line.alt1 .content 75 | { 76 | background-color: #fff !important; 77 | } 78 | 79 | /* Second line */ 80 | .syntaxhighlighter .line.alt2 .content 81 | { 82 | background-color: #F8F8F8 !important; 83 | } 84 | 85 | .syntaxhighlighter .line .content .block 86 | { 87 | background: url(wrapping.png) 0 1.1em no-repeat !important; 88 | } 89 | 90 | .syntaxhighlighter .ruler 91 | { 92 | color: silver !important; 93 | background-color: #F8F8F8 !important; 94 | border-left: 3px solid #6CE26C !important; 95 | } 96 | 97 | .syntaxhighlighter.nogutter .ruler 98 | { 99 | border: 0 !important; 100 | } 101 | 102 | .syntaxhighlighter .toolbar 103 | { 104 | background-color: #F8F8F8 !important; 105 | border: #E7E5DC solid 1px !important; 106 | } 107 | 108 | .syntaxhighlighter .toolbar a 109 | { 110 | color: #a0a0a0 !important; 111 | } 112 | 113 | .syntaxhighlighter .toolbar a:hover 114 | { 115 | color: red !important; 116 | } 117 | 118 | /************************************ 119 | * Actual syntax highlighter colors. 120 | ************************************/ 121 | .syntaxhighlighter .plain, 122 | .syntaxhighlighter .plain a 123 | { 124 | color: #000 !important; 125 | } 126 | 127 | .syntaxhighlighter .comments, 128 | .syntaxhighlighter .comments a 129 | { 130 | color: #008200 !important; 131 | } 132 | 133 | .syntaxhighlighter .string, 134 | .syntaxhighlighter .string a 135 | { 136 | color: blue !important; 137 | } 138 | 139 | .syntaxhighlighter .keyword 140 | { 141 | color: #069 !important; 142 | font-weight: bold !important; 143 | } 144 | 145 | .syntaxhighlighter .preprocessor 146 | { 147 | color: gray !important; 148 | } 149 | 150 | .syntaxhighlighter .variable 151 | { 152 | color: #a70 !important; 153 | } 154 | 155 | .syntaxhighlighter .value 156 | { 157 | color: #090 !important; 158 | } 159 | 160 | .syntaxhighlighter .functions 161 | { 162 | color: #ff1493 !important; 163 | } 164 | 165 | .syntaxhighlighter .constants 166 | { 167 | color: #0066CC !important; 168 | } 169 | 170 | .syntaxhighlighter .script 171 | { 172 | background-color: yellow !important; 173 | } 174 | 175 | .syntaxhighlighter .color1, 176 | .syntaxhighlighter .color1 a 177 | { 178 | color: #808080 !important; 179 | } 180 | 181 | .syntaxhighlighter .color2, 182 | .syntaxhighlighter .color2 a 183 | { 184 | color: #ff1493 !important; 185 | } 186 | 187 | .syntaxhighlighter .color3, 188 | .syntaxhighlighter .color3 a 189 | { 190 | color: red !important; 191 | } 192 | -------------------------------------------------------------------------------- /examples/index.php: -------------------------------------------------------------------------------- 1 | 13 | 23 | 31 | 32 | 33 | 34 | Ben Alman » <?= $shell['title1'] ?><? if ( $shell['title2'] ) { print ' » ' . $shell['title2']; } ?><? if ( $shell['title3'] ) { print ' » ' . $shell['title3']; } ?> 35 | 36 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 |
      59 | 84 |
      85 | 86 |
      87 | 95 |
      96 | 97 | 98 | $title
      "; 117 | } 118 | } 119 | 120 | $base = ''; 121 | draw_shell(); 122 | } 123 | 124 | ?> 125 | -------------------------------------------------------------------------------- /shared/SyntaxHighlighter/src/shLegacy.js: -------------------------------------------------------------------------------- 1 | /** 2 | * SyntaxHighlighter 3 | * http://alexgorbatchev.com/ 4 | * 5 | * SyntaxHighlighter is donationware. If you are using it, please donate. 6 | * http://alexgorbatchev.com/wiki/SyntaxHighlighter:Donate 7 | * 8 | * @version 9 | * 2.0.320 (May 03 2009) 10 | * 11 | * @copyright 12 | * Copyright (C) 2004-2009 Alex Gorbatchev. 13 | * 14 | * @license 15 | * This file is part of SyntaxHighlighter. 16 | * 17 | * SyntaxHighlighter is free software: you can redistribute it and/or modify 18 | * it under the terms of the GNU Lesser General Public License as published by 19 | * the Free Software Foundation, either version 3 of the License, or 20 | * (at your option) any later version. 21 | * 22 | * SyntaxHighlighter is distributed in the hope that it will be useful, 23 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 24 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 25 | * GNU General Public License for more details. 26 | * 27 | * You should have received a copy of the GNU General Public License 28 | * along with SyntaxHighlighter. If not, see . 29 | */ 30 | var dp = { 31 | SyntaxHighlighter : {} 32 | }; 33 | 34 | dp.SyntaxHighlighter = { 35 | parseParams: function( 36 | input, 37 | showGutter, 38 | showControls, 39 | collapseAll, 40 | firstLine, 41 | showColumns 42 | ) 43 | { 44 | function getValue(list, name) 45 | { 46 | var regex = new XRegExp('^' + name + '\\[(?\\w+)\\]$', 'gi'), 47 | match = null 48 | ; 49 | 50 | for (var i = 0; i < list.length; i++) 51 | if ((match = regex.exec(list[i])) != null) 52 | return match.value; 53 | 54 | return null; 55 | }; 56 | 57 | function defaultValue(value, def) 58 | { 59 | return value != null ? value : def; 60 | }; 61 | 62 | function asString(value) 63 | { 64 | return value != null ? value.toString() : null; 65 | }; 66 | 67 | var parts = input.split(':'), 68 | brushName = parts[0], 69 | options = {}, 70 | straight = { 'true' : 'true' } 71 | reverse = { 'true' : 'false' }, 72 | result = null, 73 | defaults = SyntaxHighlighter.defaults 74 | ; 75 | 76 | for (var i in parts) 77 | options[parts[i]] = 'true'; 78 | 79 | showGutter = asString(defaultValue(showGutter, defaults.gutter)); 80 | showControls = asString(defaultValue(showControls, defaults.toolbar)); 81 | collapseAll = asString(defaultValue(collapseAll, defaults.collapse)); 82 | showColumns = asString(defaultValue(showColumns, defaults.ruler)); 83 | firstLine = asString(defaultValue(firstLine, defaults['first-line'])); 84 | 85 | result = { 86 | brush : brushName, 87 | gutter : defaultValue(reverse[options.nogutter], showGutter), 88 | toolbar : defaultValue(reverse[options.nocontrols], showControls), 89 | collapse : defaultValue(straight[options.collapse], collapseAll), 90 | ruler : defaultValue(straight[options.showcolumns], showColumns), 91 | 'first-line' : defaultValue(getValue(parts, 'firstline'), firstLine) 92 | }; 93 | 94 | return result; 95 | }, 96 | 97 | HighlightAll: function( 98 | name, 99 | showGutter /* optional */, 100 | showControls /* optional */, 101 | collapseAll /* optional */, 102 | firstLine /* optional */, 103 | showColumns /* optional */ 104 | ) 105 | { 106 | function findValue() 107 | { 108 | var a = arguments; 109 | 110 | for (var i = 0; i < a.length; i++) 111 | { 112 | if (a[i] === null) 113 | continue; 114 | 115 | if (typeof(a[i]) == 'string' && a[i] != '') 116 | return a[i] + ''; 117 | 118 | if (typeof(a[i]) == 'object' && a[i].value != '') 119 | return a[i].value + ''; 120 | } 121 | 122 | return null; 123 | }; 124 | 125 | function findTagsByName(list, name, tagName) 126 | { 127 | var tags = document.getElementsByTagName(tagName); 128 | 129 | for (var i = 0; i < tags.length; i++) 130 | if (tags[i].getAttribute('name') == name) 131 | list.push(tags[i]); 132 | } 133 | 134 | var elements = [], 135 | highlighter = null, 136 | registered = {}, 137 | propertyName = 'innerHTML' 138 | ; 139 | 140 | // for some reason IE doesn't find
       by name, however it does see them just fine by tag name... 
      141 | 		findTagsByName(elements, name, 'pre');
      142 | 		findTagsByName(elements, name, 'textarea');
      143 | 
      144 | 		if (elements.length === 0)
      145 | 			return;
      146 | 		
      147 | 		for (var i = 0; i < elements.length; i++)
      148 | 		{
      149 | 			var element = elements[i],
      150 | 				params = findValue(
      151 | 					element.attributes['class'], element.className, 
      152 | 					element.attributes['language'], element.language
      153 | 					),
      154 | 				language = ''
      155 | 				;
      156 | 			
      157 | 			if (params === null) 
      158 | 				continue;
      159 | 
      160 | 			params = dp.SyntaxHighlighter.parseParams(
      161 | 				params,
      162 | 				showGutter, 
      163 | 				showControls, 
      164 | 				collapseAll, 
      165 | 				firstLine, 
      166 | 				showColumns
      167 | 				);
      168 | 
      169 | 			SyntaxHighlighter.highlight(params, element);
      170 | 		}
      171 | 	}
      172 | };
      173 | 
      
      
      --------------------------------------------------------------------------------
      /shared/SyntaxHighlighter/scripts/shBrushPhp.js:
      --------------------------------------------------------------------------------
       1 | /**
       2 |  * SyntaxHighlighter
       3 |  * http://alexgorbatchev.com/
       4 |  *
       5 |  * SyntaxHighlighter is donationware. If you are using it, please donate.
       6 |  * http://alexgorbatchev.com/wiki/SyntaxHighlighter:Donate
       7 |  *
       8 |  * @version
       9 |  * 2.0.320 (May 03 2009)
      10 |  * 
      11 |  * @copyright
      12 |  * Copyright (C) 2004-2009 Alex Gorbatchev.
      13 |  *
      14 |  * @license
      15 |  * This file is part of SyntaxHighlighter.
      16 |  * 
      17 |  * SyntaxHighlighter is free software: you can redistribute it and/or modify
      18 |  * it under the terms of the GNU Lesser General Public License as published by
      19 |  * the Free Software Foundation, either version 3 of the License, or
      20 |  * (at your option) any later version.
      21 |  * 
      22 |  * SyntaxHighlighter is distributed in the hope that it will be useful,
      23 |  * but WITHOUT ANY WARRANTY; without even the implied warranty of
      24 |  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
      25 |  * GNU General Public License for more details.
      26 |  * 
      27 |  * You should have received a copy of the GNU General Public License
      28 |  * along with SyntaxHighlighter.  If not, see .
      29 |  */
      30 | SyntaxHighlighter.brushes.Php = function()
      31 | {
      32 | 	var funcs	=	'abs acos acosh addcslashes addslashes ' +
      33 | 					'array_change_key_case array_chunk array_combine array_count_values array_diff '+
      34 | 					'array_diff_assoc array_diff_key array_diff_uassoc array_diff_ukey array_fill '+
      35 | 					'array_filter array_flip array_intersect array_intersect_assoc array_intersect_key '+
      36 | 					'array_intersect_uassoc array_intersect_ukey array_key_exists array_keys array_map '+
      37 | 					'array_merge array_merge_recursive array_multisort array_pad array_pop array_product '+
      38 | 					'array_push array_rand array_reduce array_reverse array_search array_shift '+
      39 | 					'array_slice array_splice array_sum array_udiff array_udiff_assoc '+
      40 | 					'array_udiff_uassoc array_uintersect array_uintersect_assoc '+
      41 | 					'array_uintersect_uassoc array_unique array_unshift array_values array_walk '+
      42 | 					'array_walk_recursive atan atan2 atanh base64_decode base64_encode base_convert '+
      43 | 					'basename bcadd bccomp bcdiv bcmod bcmul bindec bindtextdomain bzclose bzcompress '+
      44 | 					'bzdecompress bzerrno bzerror bzerrstr bzflush bzopen bzread bzwrite ceil chdir '+
      45 | 					'checkdate checkdnsrr chgrp chmod chop chown chr chroot chunk_split class_exists '+
      46 | 					'closedir closelog copy cos cosh count count_chars date decbin dechex decoct '+
      47 | 					'deg2rad delete ebcdic2ascii echo empty end ereg ereg_replace eregi eregi_replace error_log '+
      48 | 					'error_reporting escapeshellarg escapeshellcmd eval exec exit exp explode extension_loaded '+
      49 | 					'feof fflush fgetc fgetcsv fgets fgetss file_exists file_get_contents file_put_contents '+
      50 | 					'fileatime filectime filegroup fileinode filemtime fileowner fileperms filesize filetype '+
      51 | 					'floatval flock floor flush fmod fnmatch fopen fpassthru fprintf fputcsv fputs fread fscanf '+
      52 | 					'fseek fsockopen fstat ftell ftok getallheaders getcwd getdate getenv gethostbyaddr gethostbyname '+
      53 | 					'gethostbynamel getimagesize getlastmod getmxrr getmygid getmyinode getmypid getmyuid getopt '+
      54 | 					'getprotobyname getprotobynumber getrandmax getrusage getservbyname getservbyport gettext '+
      55 | 					'gettimeofday gettype glob gmdate gmmktime ini_alter ini_get ini_get_all ini_restore ini_set '+
      56 | 					'interface_exists intval ip2long is_a is_array is_bool is_callable is_dir is_double '+
      57 | 					'is_executable is_file is_finite is_float is_infinite is_int is_integer is_link is_long '+
      58 | 					'is_nan is_null is_numeric is_object is_readable is_real is_resource is_scalar is_soap_fault '+
      59 | 					'is_string is_subclass_of is_uploaded_file is_writable is_writeable mkdir mktime nl2br '+
      60 | 					'parse_ini_file parse_str parse_url passthru pathinfo readlink realpath rewind rewinddir rmdir '+
      61 | 					'round str_ireplace str_pad str_repeat str_replace str_rot13 str_shuffle str_split '+
      62 | 					'str_word_count strcasecmp strchr strcmp strcoll strcspn strftime strip_tags stripcslashes '+
      63 | 					'stripos stripslashes stristr strlen strnatcasecmp strnatcmp strncasecmp strncmp strpbrk '+
      64 | 					'strpos strptime strrchr strrev strripos strrpos strspn strstr strtok strtolower strtotime '+
      65 | 					'strtoupper strtr strval substr substr_compare';
      66 | 
      67 | 	var keywords =	'and or xor array as break case ' +
      68 | 					'cfunction class const continue declare default die do else ' +
      69 | 					'elseif enddeclare endfor endforeach endif endswitch endwhile ' +
      70 | 					'extends for foreach function include include_once global if ' +
      71 | 					'new old_function return static switch use require require_once ' +
      72 | 					'var while abstract interface public implements extends private protected throw';
      73 | 	
      74 | 	var constants	= '__FILE__ __LINE__ __METHOD__ __FUNCTION__ __CLASS__';
      75 | 
      76 | 	this.regexList = [
      77 | 		{ regex: SyntaxHighlighter.regexLib.singleLineCComments,	css: 'comments' },			// one line comments
      78 | 		{ regex: SyntaxHighlighter.regexLib.multiLineCComments,		css: 'comments' },			// multiline comments
      79 | 		{ regex: SyntaxHighlighter.regexLib.doubleQuotedString,		css: 'string' },			// double quoted strings
      80 | 		{ regex: SyntaxHighlighter.regexLib.singleQuotedString,		css: 'string' },			// single quoted strings
      81 | 		{ regex: /\$\w+/g,											css: 'variable' },			// variables
      82 | 		{ regex: new RegExp(this.getKeywords(funcs), 'gmi'),		css: 'functions' },			// common functions
      83 | 		{ regex: new RegExp(this.getKeywords(constants), 'gmi'),	css: 'constants' },			// constants
      84 | 		{ regex: new RegExp(this.getKeywords(keywords), 'gm'),		css: 'keyword' }			// keyword
      85 | 		];
      86 | 
      87 | 	this.forHtmlScript(SyntaxHighlighter.regexLib.phpScriptTags);
      88 | };
      89 | 
      90 | SyntaxHighlighter.brushes.Php.prototype	= new SyntaxHighlighter.Highlighter();
      91 | SyntaxHighlighter.brushes.Php.aliases	= ['php'];
      92 | 
      
      
      --------------------------------------------------------------------------------
      /shared/SyntaxHighlighter/scripts/shBrushCpp.js:
      --------------------------------------------------------------------------------
        1 | /**
        2 |  * SyntaxHighlighter
        3 |  * http://alexgorbatchev.com/
        4 |  *
        5 |  * SyntaxHighlighter is donationware. If you are using it, please donate.
        6 |  * http://alexgorbatchev.com/wiki/SyntaxHighlighter:Donate
        7 |  *
        8 |  * @version
        9 |  * 2.0.320 (May 03 2009)
       10 |  * 
       11 |  * @copyright
       12 |  * Copyright (C) 2004-2009 Alex Gorbatchev.
       13 |  *
       14 |  * @license
       15 |  * This file is part of SyntaxHighlighter.
       16 |  * 
       17 |  * SyntaxHighlighter is free software: you can redistribute it and/or modify
       18 |  * it under the terms of the GNU Lesser General Public License as published by
       19 |  * the Free Software Foundation, either version 3 of the License, or
       20 |  * (at your option) any later version.
       21 |  * 
       22 |  * SyntaxHighlighter is distributed in the hope that it will be useful,
       23 |  * but WITHOUT ANY WARRANTY; without even the implied warranty of
       24 |  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
       25 |  * GNU General Public License for more details.
       26 |  * 
       27 |  * You should have received a copy of the GNU General Public License
       28 |  * along with SyntaxHighlighter.  If not, see .
       29 |  */
       30 | SyntaxHighlighter.brushes.Cpp = function()
       31 | {
       32 | 	// Copyright 2006 Shin, YoungJin
       33 | 	
       34 | 	var datatypes =	'ATOM BOOL BOOLEAN BYTE CHAR COLORREF DWORD DWORDLONG DWORD_PTR ' +
       35 | 					'DWORD32 DWORD64 FLOAT HACCEL HALF_PTR HANDLE HBITMAP HBRUSH ' +
       36 | 					'HCOLORSPACE HCONV HCONVLIST HCURSOR HDC HDDEDATA HDESK HDROP HDWP ' +
       37 | 					'HENHMETAFILE HFILE HFONT HGDIOBJ HGLOBAL HHOOK HICON HINSTANCE HKEY ' +
       38 | 					'HKL HLOCAL HMENU HMETAFILE HMODULE HMONITOR HPALETTE HPEN HRESULT ' +
       39 | 					'HRGN HRSRC HSZ HWINSTA HWND INT INT_PTR INT32 INT64 LANGID LCID LCTYPE ' +
       40 | 					'LGRPID LONG LONGLONG LONG_PTR LONG32 LONG64 LPARAM LPBOOL LPBYTE LPCOLORREF ' +
       41 | 					'LPCSTR LPCTSTR LPCVOID LPCWSTR LPDWORD LPHANDLE LPINT LPLONG LPSTR LPTSTR ' +
       42 | 					'LPVOID LPWORD LPWSTR LRESULT PBOOL PBOOLEAN PBYTE PCHAR PCSTR PCTSTR PCWSTR ' +
       43 | 					'PDWORDLONG PDWORD_PTR PDWORD32 PDWORD64 PFLOAT PHALF_PTR PHANDLE PHKEY PINT ' +
       44 | 					'PINT_PTR PINT32 PINT64 PLCID PLONG PLONGLONG PLONG_PTR PLONG32 PLONG64 POINTER_32 ' +
       45 | 					'POINTER_64 PSHORT PSIZE_T PSSIZE_T PSTR PTBYTE PTCHAR PTSTR PUCHAR PUHALF_PTR ' +
       46 | 					'PUINT PUINT_PTR PUINT32 PUINT64 PULONG PULONGLONG PULONG_PTR PULONG32 PULONG64 ' +
       47 | 					'PUSHORT PVOID PWCHAR PWORD PWSTR SC_HANDLE SC_LOCK SERVICE_STATUS_HANDLE SHORT ' +
       48 | 					'SIZE_T SSIZE_T TBYTE TCHAR UCHAR UHALF_PTR UINT UINT_PTR UINT32 UINT64 ULONG ' +
       49 | 					'ULONGLONG ULONG_PTR ULONG32 ULONG64 USHORT USN VOID WCHAR WORD WPARAM WPARAM WPARAM ' +
       50 | 					'char bool short int __int32 __int64 __int8 __int16 long float double __wchar_t ' +
       51 | 					'clock_t _complex _dev_t _diskfree_t div_t ldiv_t _exception _EXCEPTION_POINTERS ' +
       52 | 					'FILE _finddata_t _finddatai64_t _wfinddata_t _wfinddatai64_t __finddata64_t ' +
       53 | 					'__wfinddata64_t _FPIEEE_RECORD fpos_t _HEAPINFO _HFILE lconv intptr_t ' +
       54 | 					'jmp_buf mbstate_t _off_t _onexit_t _PNH ptrdiff_t _purecall_handler ' +
       55 | 					'sig_atomic_t size_t _stat __stat64 _stati64 terminate_function ' +
       56 | 					'time_t __time64_t _timeb __timeb64 tm uintptr_t _utimbuf ' +
       57 | 					'va_list wchar_t wctrans_t wctype_t wint_t signed';
       58 | 
       59 | 	var keywords =	'break case catch class const __finally __exception __try ' +
       60 | 					'const_cast continue private public protected __declspec ' +
       61 | 					'default delete deprecated dllexport dllimport do dynamic_cast ' +
       62 | 					'else enum explicit extern if for friend goto inline ' +
       63 | 					'mutable naked namespace new noinline noreturn nothrow ' +
       64 | 					'register reinterpret_cast return selectany ' +
       65 | 					'sizeof static static_cast struct switch template this ' +
       66 | 					'thread throw true false try typedef typeid typename union ' +
       67 | 					'using uuid virtual void volatile whcar_t while';
       68 | 					
       69 | 	var functions =	'assert isalnum isalpha iscntrl isdigit isgraph islower isprint' +
       70 | 					'ispunct isspace isupper isxdigit tolower toupper errno localeconv ' +
       71 | 					'setlocale acos asin atan atan2 ceil cos cosh exp fabs floor fmod ' +
       72 | 					'frexp ldexp log log10 modf pow sin sinh sqrt tan tanh jmp_buf ' +
       73 | 					'longjmp setjmp raise signal sig_atomic_t va_arg va_end va_start ' +
       74 | 					'clearerr fclose feof ferror fflush fgetc fgetpos fgets fopen ' +
       75 | 					'fprintf fputc fputs fread freopen fscanf fseek fsetpos ftell ' +
       76 | 					'fwrite getc getchar gets perror printf putc putchar puts remove ' +
       77 | 					'rename rewind scanf setbuf setvbuf sprintf sscanf tmpfile tmpnam ' +
       78 | 					'ungetc vfprintf vprintf vsprintf abort abs atexit atof atoi atol ' +
       79 | 					'bsearch calloc div exit free getenv labs ldiv malloc mblen mbstowcs ' +
       80 | 					'mbtowc qsort rand realloc srand strtod strtol strtoul system ' +
       81 | 					'wcstombs wctomb memchr memcmp memcpy memmove memset strcat strchr ' +
       82 | 					'strcmp strcoll strcpy strcspn strerror strlen strncat strncmp ' +
       83 | 					'strncpy strpbrk strrchr strspn strstr strtok strxfrm asctime ' +
       84 | 					'clock ctime difftime gmtime localtime mktime strftime time';
       85 | 
       86 | 	this.regexList = [
       87 | 		{ regex: SyntaxHighlighter.regexLib.singleLineCComments,	css: 'comments' },			// one line comments
       88 | 		{ regex: SyntaxHighlighter.regexLib.multiLineCComments,		css: 'comments' },			// multiline comments
       89 | 		{ regex: SyntaxHighlighter.regexLib.doubleQuotedString,		css: 'string' },			// strings
       90 | 		{ regex: SyntaxHighlighter.regexLib.singleQuotedString,		css: 'string' },			// strings
       91 | 		{ regex: /^ *#.*/gm,										css: 'preprocessor' },
       92 | 		{ regex: new RegExp(this.getKeywords(datatypes), 'gm'),		css: 'color1 bold' },
       93 | 		{ regex: new RegExp(this.getKeywords(functions), 'gm'),		css: 'functions bold' },
       94 | 		{ regex: new RegExp(this.getKeywords(keywords), 'gm'),		css: 'keyword bold' }
       95 | 		];
       96 | };
       97 | 
       98 | SyntaxHighlighter.brushes.Cpp.prototype	= new SyntaxHighlighter.Highlighter();
       99 | SyntaxHighlighter.brushes.Cpp.aliases	= ['cpp', 'c'];
      100 | 
      
      
      --------------------------------------------------------------------------------
      /shared/SyntaxHighlighter/scripts/shBrushCss.js:
      --------------------------------------------------------------------------------
       1 | /**
       2 |  * SyntaxHighlighter
       3 |  * http://alexgorbatchev.com/
       4 |  *
       5 |  * SyntaxHighlighter is donationware. If you are using it, please donate.
       6 |  * http://alexgorbatchev.com/wiki/SyntaxHighlighter:Donate
       7 |  *
       8 |  * @version
       9 |  * 2.0.320 (May 03 2009)
      10 |  * 
      11 |  * @copyright
      12 |  * Copyright (C) 2004-2009 Alex Gorbatchev.
      13 |  *
      14 |  * @license
      15 |  * This file is part of SyntaxHighlighter.
      16 |  * 
      17 |  * SyntaxHighlighter is free software: you can redistribute it and/or modify
      18 |  * it under the terms of the GNU Lesser General Public License as published by
      19 |  * the Free Software Foundation, either version 3 of the License, or
      20 |  * (at your option) any later version.
      21 |  * 
      22 |  * SyntaxHighlighter is distributed in the hope that it will be useful,
      23 |  * but WITHOUT ANY WARRANTY; without even the implied warranty of
      24 |  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
      25 |  * GNU General Public License for more details.
      26 |  * 
      27 |  * You should have received a copy of the GNU General Public License
      28 |  * along with SyntaxHighlighter.  If not, see .
      29 |  */
      30 | SyntaxHighlighter.brushes.CSS = function()
      31 | {
      32 | 	function getKeywordsCSS(str)
      33 | 	{
      34 | 		return '\\b([a-z_]|)' + str.replace(/ /g, '(?=:)\\b|\\b([a-z_\\*]|\\*|)') + '(?=:)\\b';
      35 | 	};
      36 | 	
      37 | 	function getValuesCSS(str)
      38 | 	{
      39 | 		return '\\b' + str.replace(/ /g, '(?!-)(?!:)\\b|\\b()') + '\:\\b';
      40 | 	};
      41 | 
      42 | 	var keywords =	'ascent azimuth background-attachment background-color background-image background-position ' +
      43 | 					'background-repeat background baseline bbox border-collapse border-color border-spacing border-style border-top ' +
      44 | 					'border-right border-bottom border-left border-top-color border-right-color border-bottom-color border-left-color ' +
      45 | 					'border-top-style border-right-style border-bottom-style border-left-style border-top-width border-right-width ' +
      46 | 					'border-bottom-width border-left-width border-width border bottom cap-height caption-side centerline clear clip color ' +
      47 | 					'content counter-increment counter-reset cue-after cue-before cue cursor definition-src descent direction display ' +
      48 | 					'elevation empty-cells float font-size-adjust font-family font-size font-stretch font-style font-variant font-weight font ' +
      49 | 					'height left letter-spacing line-height list-style-image list-style-position list-style-type list-style margin-top ' +
      50 | 					'margin-right margin-bottom margin-left margin marker-offset marks mathline max-height max-width min-height min-width orphans ' +
      51 | 					'outline-color outline-style outline-width outline overflow padding-top padding-right padding-bottom padding-left padding page ' +
      52 | 					'page-break-after page-break-before page-break-inside pause pause-after pause-before pitch pitch-range play-during position ' +
      53 | 					'quotes right richness size slope src speak-header speak-numeral speak-punctuation speak speech-rate stemh stemv stress ' +
      54 | 					'table-layout text-align top text-decoration text-indent text-shadow text-transform unicode-bidi unicode-range units-per-em ' +
      55 | 					'vertical-align visibility voice-family volume white-space widows width widths word-spacing x-height z-index';
      56 | 
      57 | 	var values =	'above absolute all always aqua armenian attr aural auto avoid baseline behind below bidi-override black blink block blue bold bolder '+
      58 | 					'both bottom braille capitalize caption center center-left center-right circle close-quote code collapse compact condensed '+
      59 | 					'continuous counter counters crop cross crosshair cursive dashed decimal decimal-leading-zero default digits disc dotted double '+
      60 | 					'embed embossed e-resize expanded extra-condensed extra-expanded fantasy far-left far-right fast faster fixed format fuchsia '+
      61 | 					'gray green groove handheld hebrew help hidden hide high higher icon inline-table inline inset inside invert italic '+
      62 | 					'justify landscape large larger left-side left leftwards level lighter lime line-through list-item local loud lower-alpha '+
      63 | 					'lowercase lower-greek lower-latin lower-roman lower low ltr marker maroon medium message-box middle mix move narrower '+
      64 | 					'navy ne-resize no-close-quote none no-open-quote no-repeat normal nowrap n-resize nw-resize oblique olive once open-quote outset '+
      65 | 					'outside overline pointer portrait pre print projection purple red relative repeat repeat-x repeat-y rgb ridge right right-side '+
      66 | 					'rightwards rtl run-in screen scroll semi-condensed semi-expanded separate se-resize show silent silver slower slow '+
      67 | 					'small small-caps small-caption smaller soft solid speech spell-out square s-resize static status-bar sub super sw-resize '+
      68 | 					'table-caption table-cell table-column table-column-group table-footer-group table-header-group table-row table-row-group teal '+
      69 | 					'text-bottom text-top thick thin top transparent tty tv ultra-condensed ultra-expanded underline upper-alpha uppercase upper-latin '+
      70 | 					'upper-roman url visible wait white wider w-resize x-fast x-high x-large x-loud x-low x-slow x-small x-soft xx-large xx-small yellow';
      71 | 
      72 | 	var fonts =		'[mM]onospace [tT]ahoma [vV]erdana [aA]rial [hH]elvetica [sS]ans-serif [sS]erif [cC]ourier mono sans serif';
      73 | 	
      74 | 	this.regexList = [
      75 | 		{ regex: SyntaxHighlighter.regexLib.multiLineCComments,		css: 'comments' },	// multiline comments
      76 | 		{ regex: SyntaxHighlighter.regexLib.doubleQuotedString,		css: 'string' },	// double quoted strings
      77 | 		{ regex: SyntaxHighlighter.regexLib.singleQuotedString,		css: 'string' },	// single quoted strings
      78 | 		{ regex: /\#[a-fA-F0-9]{3,6}/g,								css: 'value' },		// html colors
      79 | 		{ regex: /(-?\d+)(\.\d+)?(px|em|pt|\:|\%|)/g,				css: 'value' },		// sizes
      80 | 		{ regex: /!important/g,										css: 'color3' },	// !important
      81 | 		{ regex: new RegExp(getKeywordsCSS(keywords), 'gm'),		css: 'keyword' },	// keywords
      82 | 		{ regex: new RegExp(getValuesCSS(values), 'g'),				css: 'value' },		// values
      83 | 		{ regex: new RegExp(this.getKeywords(fonts), 'g'),			css: 'color1' }		// fonts
      84 | 		];
      85 | 
      86 | 	this.forHtmlScript({ 
      87 | 		left: /(<|<)\s*style.*?(>|>)/gi, 
      88 | 		right: /(<|<)\/\s*style\s*(>|>)/gi 
      89 | 		});
      90 | };
      91 | 
      92 | SyntaxHighlighter.brushes.CSS.prototype	= new SyntaxHighlighter.Highlighter();
      93 | SyntaxHighlighter.brushes.CSS.aliases	= ['css'];
      94 | 
      
      
      --------------------------------------------------------------------------------
      /shared/SyntaxHighlighter/LGPLv3.txt:
      --------------------------------------------------------------------------------
        1 | 		   GNU LESSER GENERAL PUBLIC LICENSE
        2 |                        Version 3, 29 June 2007
        3 | 
        4 |  Copyright (C) 2007 Free Software Foundation, Inc. 
        5 |  Everyone is permitted to copy and distribute verbatim copies
        6 |  of this license document, but changing it is not allowed.
        7 | 
        8 | 
        9 |   This version of the GNU Lesser General Public License incorporates
       10 | the terms and conditions of version 3 of the GNU General Public
       11 | License, supplemented by the additional permissions listed below.
       12 | 
       13 |   0. Additional Definitions. 
       14 | 
       15 |   As used herein, "this License" refers to version 3 of the GNU Lesser
       16 | General Public License, and the "GNU GPL" refers to version 3 of the GNU
       17 | General Public License.
       18 | 
       19 |   "The Library" refers to a covered work governed by this License,
       20 | other than an Application or a Combined Work as defined below.
       21 | 
       22 |   An "Application" is any work that makes use of an interface provided
       23 | by the Library, but which is not otherwise based on the Library.
       24 | Defining a subclass of a class defined by the Library is deemed a mode
       25 | of using an interface provided by the Library.
       26 | 
       27 |   A "Combined Work" is a work produced by combining or linking an
       28 | Application with the Library.  The particular version of the Library
       29 | with which the Combined Work was made is also called the "Linked
       30 | Version".
       31 | 
       32 |   The "Minimal Corresponding Source" for a Combined Work means the
       33 | Corresponding Source for the Combined Work, excluding any source code
       34 | for portions of the Combined Work that, considered in isolation, are
       35 | based on the Application, and not on the Linked Version.
       36 | 
       37 |   The "Corresponding Application Code" for a Combined Work means the
       38 | object code and/or source code for the Application, including any data
       39 | and utility programs needed for reproducing the Combined Work from the
       40 | Application, but excluding the System Libraries of the Combined Work.
       41 | 
       42 |   1. Exception to Section 3 of the GNU GPL.
       43 | 
       44 |   You may convey a covered work under sections 3 and 4 of this License
       45 | without being bound by section 3 of the GNU GPL.
       46 | 
       47 |   2. Conveying Modified Versions.
       48 | 
       49 |   If you modify a copy of the Library, and, in your modifications, a
       50 | facility refers to a function or data to be supplied by an Application
       51 | that uses the facility (other than as an argument passed when the
       52 | facility is invoked), then you may convey a copy of the modified
       53 | version:
       54 | 
       55 |    a) under this License, provided that you make a good faith effort to
       56 |    ensure that, in the event an Application does not supply the
       57 |    function or data, the facility still operates, and performs
       58 |    whatever part of its purpose remains meaningful, or
       59 | 
       60 |    b) under the GNU GPL, with none of the additional permissions of
       61 |    this License applicable to that copy.
       62 | 
       63 |   3. Object Code Incorporating Material from Library Header Files.
       64 | 
       65 |   The object code form of an Application may incorporate material from
       66 | a header file that is part of the Library.  You may convey such object
       67 | code under terms of your choice, provided that, if the incorporated
       68 | material is not limited to numerical parameters, data structure
       69 | layouts and accessors, or small macros, inline functions and templates
       70 | (ten or fewer lines in length), you do both of the following:
       71 | 
       72 |    a) Give prominent notice with each copy of the object code that the
       73 |    Library is used in it and that the Library and its use are
       74 |    covered by this License.
       75 | 
       76 |    b) Accompany the object code with a copy of the GNU GPL and this license
       77 |    document.
       78 | 
       79 |   4. Combined Works.
       80 | 
       81 |   You may convey a Combined Work under terms of your choice that,
       82 | taken together, effectively do not restrict modification of the
       83 | portions of the Library contained in the Combined Work and reverse
       84 | engineering for debugging such modifications, if you also do each of
       85 | the following:
       86 | 
       87 |    a) Give prominent notice with each copy of the Combined Work that
       88 |    the Library is used in it and that the Library and its use are
       89 |    covered by this License.
       90 | 
       91 |    b) Accompany the Combined Work with a copy of the GNU GPL and this license
       92 |    document.
       93 | 
       94 |    c) For a Combined Work that displays copyright notices during
       95 |    execution, include the copyright notice for the Library among
       96 |    these notices, as well as a reference directing the user to the
       97 |    copies of the GNU GPL and this license document.
       98 | 
       99 |    d) Do one of the following:
      100 | 
      101 |        0) Convey the Minimal Corresponding Source under the terms of this
      102 |        License, and the Corresponding Application Code in a form
      103 |        suitable for, and under terms that permit, the user to
      104 |        recombine or relink the Application with a modified version of
      105 |        the Linked Version to produce a modified Combined Work, in the
      106 |        manner specified by section 6 of the GNU GPL for conveying
      107 |        Corresponding Source.
      108 | 
      109 |        1) Use a suitable shared library mechanism for linking with the
      110 |        Library.  A suitable mechanism is one that (a) uses at run time
      111 |        a copy of the Library already present on the user's computer
      112 |        system, and (b) will operate properly with a modified version
      113 |        of the Library that is interface-compatible with the Linked
      114 |        Version. 
      115 | 
      116 |    e) Provide Installation Information, but only if you would otherwise
      117 |    be required to provide such information under section 6 of the
      118 |    GNU GPL, and only to the extent that such information is
      119 |    necessary to install and execute a modified version of the
      120 |    Combined Work produced by recombining or relinking the
      121 |    Application with a modified version of the Linked Version. (If
      122 |    you use option 4d0, the Installation Information must accompany
      123 |    the Minimal Corresponding Source and Corresponding Application
      124 |    Code. If you use option 4d1, you must provide the Installation
      125 |    Information in the manner specified by section 6 of the GNU GPL
      126 |    for conveying Corresponding Source.)
      127 | 
      128 |   5. Combined Libraries.
      129 | 
      130 |   You may place library facilities that are a work based on the
      131 | Library side by side in a single library together with other library
      132 | facilities that are not Applications and are not covered by this
      133 | License, and convey such a combined library under terms of your
      134 | choice, if you do both of the following:
      135 | 
      136 |    a) Accompany the combined library with a copy of the same work based
      137 |    on the Library, uncombined with any other library facilities,
      138 |    conveyed under the terms of this License.
      139 | 
      140 |    b) Give prominent notice with the combined library that part of it
      141 |    is a work based on the Library, and explaining where to find the
      142 |    accompanying uncombined form of the same work.
      143 | 
      144 |   6. Revised Versions of the GNU Lesser General Public License.
      145 | 
      146 |   The Free Software Foundation may publish revised and/or new versions
      147 | of the GNU Lesser General Public License from time to time. Such new
      148 | versions will be similar in spirit to the present version, but may
      149 | differ in detail to address new problems or concerns.
      150 | 
      151 |   Each version is given a distinguishing version number. If the
      152 | Library as you received it specifies that a certain numbered version
      153 | of the GNU Lesser General Public License "or any later version"
      154 | applies to it, you have the option of following the terms and
      155 | conditions either of that published version or of any later version
      156 | published by the Free Software Foundation. If the Library as you
      157 | received it does not specify a version number of the GNU Lesser
      158 | General Public License, you may choose any version of the GNU Lesser
      159 | General Public License ever published by the Free Software Foundation.
      160 | 
      161 |   If the Library as you received it specifies that a proxy can decide
      162 | whether future versions of the GNU Lesser General Public License shall
      163 | apply, that proxy's public statement of acceptance of any version is
      164 | permanent authorization for you to choose that version for the
      165 | Library.
      
      
      --------------------------------------------------------------------------------
      /shared/SyntaxHighlighter/styles/shCore.css:
      --------------------------------------------------------------------------------
        1 | /**
        2 |  * SyntaxHighlighter
        3 |  * http://alexgorbatchev.com/
        4 |  *
        5 |  * SyntaxHighlighter is donationware. If you are using it, please donate.
        6 |  * http://alexgorbatchev.com/wiki/SyntaxHighlighter:Donate
        7 |  *
        8 |  * @version
        9 |  * 2.0.320 (May 03 2009)
       10 |  * 
       11 |  * @copyright
       12 |  * Copyright (C) 2004-2009 Alex Gorbatchev.
       13 |  *
       14 |  * @license
       15 |  * This file is part of SyntaxHighlighter.
       16 |  * 
       17 |  * SyntaxHighlighter is free software: you can redistribute it and/or modify
       18 |  * it under the terms of the GNU Lesser General Public License as published by
       19 |  * the Free Software Foundation, either version 3 of the License, or
       20 |  * (at your option) any later version.
       21 |  * 
       22 |  * SyntaxHighlighter is distributed in the hope that it will be useful,
       23 |  * but WITHOUT ANY WARRANTY; without even the implied warranty of
       24 |  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
       25 |  * GNU General Public License for more details.
       26 |  * 
       27 |  * You should have received a copy of the GNU General Public License
       28 |  * along with SyntaxHighlighter.  If not, see .
       29 |  */
       30 | .syntaxhighlighter,
       31 | .syntaxhighlighter div,
       32 | .syntaxhighlighter code,
       33 | .syntaxhighlighter span
       34 | {
       35 | 	margin: 0 !important;
       36 | 	padding: 0 !important;
       37 | 	border: 0 !important;
       38 | 	outline: 0 !important;
       39 | 	background: none !important;
       40 | 	text-align: left !important;
       41 | 	float: none !important;
       42 | 	vertical-align: baseline !important;
       43 | 	position: static !important;
       44 | 	left: auto !important;
       45 | 	top: auto !important;
       46 | 	right: auto !important;
       47 | 	bottom: auto !important;
       48 | 	height: auto !important;
       49 | 	width: auto !important;
       50 | 	line-height: 1.1em !important;
       51 | 	font-family: "Consolas", "Monaco", "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important;
       52 | 	font-weight: normal !important;
       53 | 	font-style: normal !important;
       54 | 	font-size: 1em !important;
       55 | }
       56 | 
       57 | .syntaxhighlighter
       58 | {
       59 | 	width: 100% !important;
       60 | 	margin: 1em 0 1em 0 !important;
       61 | 	padding: 1px !important; /* adds a little border on top and bottom */
       62 | 	position: relative !important;
       63 | }
       64 | 
       65 | .syntaxhighlighter code {
       66 | 	display: inline !important;
       67 | }
       68 | 
       69 | .syntaxhighlighter .bold {
       70 | 	font-weight: bold !important;
       71 | }
       72 | 
       73 | .syntaxhighlighter .italic {
       74 | 	font-style: italic !important;
       75 | }
       76 | 
       77 | .syntaxhighlighter .line .number
       78 | {
       79 | 	float: left !important; 
       80 | 	width: 3em !important; 
       81 | 	padding-right: .3em !important;
       82 | 	text-align: right !important;
       83 | 	display: block !important;
       84 | }
       85 | 
       86 | /* Disable numbers when no gutter option is set */
       87 | .syntaxhighlighter.nogutter .line .number
       88 | {
       89 | 	display: none !important;
       90 | }
       91 | 
       92 | .syntaxhighlighter .line .content
       93 | {
       94 | 	margin-left: 3.3em !important; 
       95 | 	padding-left: .5em !important;
       96 | 	display: block !important;
       97 | }
       98 | 
       99 | .syntaxhighlighter .line .content .block
      100 | {
      101 | 	display: block !important;
      102 | 	padding-left: 1.5em !important;
      103 | 	text-indent: -1.5em !important;
      104 | }
      105 | 
      106 | .syntaxhighlighter .line .content .spaces
      107 | {
      108 | 	display: none !important;
      109 | }
      110 | 
      111 | /* Disable border and margin on the lines when no gutter option is set */
      112 | .syntaxhighlighter.nogutter .line .content
      113 | {
      114 | 	margin-left: 0 !important; 
      115 | 	border-left: none !important;
      116 | }
      117 | 
      118 | .syntaxhighlighter .bar
      119 | {
      120 | 	display: none !important;
      121 | }
      122 | 
      123 | .syntaxhighlighter .bar.show 
      124 | {
      125 | 	display: block !important;
      126 | }
      127 | 
      128 | .syntaxhighlighter.collapsed .bar
      129 | {
      130 | 	display: block !important;
      131 | }
      132 | 
      133 | .syntaxhighlighter.nogutter .ruler
      134 | {
      135 | 	margin-left: 0 !important;
      136 | 	padding-left: 0 !important;
      137 | }
      138 | 
      139 | .syntaxhighlighter .ruler
      140 | {
      141 | 	padding: 0 0 .5em .5em !important;
      142 | 	margin-left: 3.3em !important;
      143 | 	overflow: hidden !important;
      144 | }
      145 | 
      146 | /* Adjust some properties when collapsed */
      147 | 
      148 | .syntaxhighlighter.collapsed .lines,
      149 | .syntaxhighlighter.collapsed .ruler
      150 | {
      151 | 	display: none !important;
      152 | }
      153 | 
      154 | .syntaxhighlighter .lines.no-wrap
      155 | {
      156 | 	overflow: auto;
      157 | 	overflow-y: hidden;
      158 | }
      159 | 
      160 | /* Styles for the toolbar */
      161 | 
      162 | .syntaxhighlighter .toolbar
      163 | {
      164 | 	position: absolute !important;
      165 | 	right: 0px !important;
      166 | 	top: 0px !important;
      167 | 	font-size: 1px !important;
      168 | 	padding: 8px 8px 8px 0 !important; /* in px because images don't scale with ems */
      169 | }
      170 | 
      171 | .syntaxhighlighter.collapsed .toolbar
      172 | {
      173 | 	font-size: 80% !important;
      174 | 	padding: .2em 0 .5em .5em !important;
      175 | 	position: static !important;
      176 | }
      177 | 
      178 | .syntaxhighlighter .toolbar a.item,
      179 | .syntaxhighlighter .toolbar .item
      180 | {
      181 | 	display: block !important;
      182 | 	float: left !important;
      183 | 	margin-left: 8px !important;
      184 | 	background-repeat: no-repeat !important;
      185 | 	overflow: hidden !important;
      186 | 	text-indent: -5000px !important;
      187 | }
      188 | 
      189 | .syntaxhighlighter.collapsed .toolbar .item
      190 | {
      191 | 	display: none !important;
      192 | }
      193 | 
      194 | .syntaxhighlighter.collapsed .toolbar .item.expandSource
      195 | {
      196 | 	background-image: url(magnifier.png) !important;
      197 | 	display: inline !important;
      198 | 	text-indent: 0 !important;
      199 | 	width: auto !important;
      200 | 	float: none !important;
      201 | 	height: 16px !important;
      202 | 	padding-left: 20px !important;
      203 | }
      204 | 
      205 | .syntaxhighlighter .toolbar .item.viewSource
      206 | {
      207 | 	background-image: url(page_white_code.png) !important;
      208 | }
      209 | 
      210 | .syntaxhighlighter .toolbar .item.printSource
      211 | {
      212 | 	background-image: url(printer.png) !important;
      213 | }
      214 | 
      215 | .syntaxhighlighter .toolbar .item.copyToClipboard
      216 | {
      217 | 	text-indent: 0 !important;
      218 | 	background: none !important;
      219 | 	overflow: visible !important;
      220 | }
      221 | 
      222 | .syntaxhighlighter .toolbar .item.about
      223 | {
      224 | 	background-image: url(help.png) !important;
      225 | }
      226 | 
      227 | /** 
      228 |  * Print view.
      229 |  * Colors are based on the default theme without background.
      230 |  */
      231 | 
      232 | .syntaxhighlighter.printing,
      233 | .syntaxhighlighter.printing .line.alt1 .content,
      234 | .syntaxhighlighter.printing .line.alt2 .content,
      235 | .syntaxhighlighter.printing .line.highlighted .number,
      236 | .syntaxhighlighter.printing .line.highlighted.alt1 .content,
      237 | .syntaxhighlighter.printing .line.highlighted.alt2 .content,
      238 | .syntaxhighlighter.printing .line .content .block
      239 | {
      240 | 	background: none !important;
      241 | }
      242 | 
      243 | .syntaxhighlighter .no-wrap .line .content .block
      244 | {
      245 | 	white-space: nowrap !important;
      246 | }
      247 | 
      248 | /* Gutter line numbers */
      249 | .syntaxhighlighter.printing .line .number
      250 | {
      251 | 	color: #bbb !important;
      252 | }
      253 | 
      254 | /* Add border to the lines */
      255 | .syntaxhighlighter.printing .line .content
      256 | {
      257 | 	color: #000 !important;
      258 | }
      259 | 
      260 | /* Toolbar when visible */
      261 | .syntaxhighlighter.printing .toolbar,
      262 | .syntaxhighlighter.printing .ruler
      263 | {
      264 | 	display: none !important;
      265 | }
      266 | 
      267 | .syntaxhighlighter.printing a
      268 | {
      269 | 	text-decoration: none !important;
      270 | }
      271 | 
      272 | .syntaxhighlighter.printing .plain,
      273 | .syntaxhighlighter.printing .plain a
      274 | { 
      275 | 	color: #000 !important;
      276 | }
      277 | 
      278 | .syntaxhighlighter.printing .comments,
      279 | .syntaxhighlighter.printing .comments a
      280 | { 
      281 | 	color: #008200 !important;
      282 | }
      283 | 
      284 | .syntaxhighlighter.printing .string,
      285 | .syntaxhighlighter.printing .string a
      286 | {
      287 | 	color: blue !important; 
      288 | }
      289 | 
      290 | .syntaxhighlighter.printing .keyword
      291 | { 
      292 | 	color: #069 !important; 
      293 | 	font-weight: bold !important; 
      294 | }
      295 | 
      296 | .syntaxhighlighter.printing .preprocessor 
      297 | { 
      298 | 	color: gray !important; 
      299 | }
      300 | 
      301 | .syntaxhighlighter.printing .variable 
      302 | { 
      303 | 	color: #a70 !important; 
      304 | }
      305 | 
      306 | .syntaxhighlighter.printing .value
      307 | { 
      308 | 	color: #090 !important; 
      309 | }
      310 | 
      311 | .syntaxhighlighter.printing .functions
      312 | { 
      313 | 	color: #ff1493 !important; 
      314 | }
      315 | 
      316 | .syntaxhighlighter.printing .constants
      317 | { 
      318 | 	color: #0066CC !important; 
      319 | }
      320 | 
      321 | .syntaxhighlighter.printing .script
      322 | {
      323 | 	font-weight: bold !important;
      324 | }
      325 | 
      326 | .syntaxhighlighter.printing .color1,
      327 | .syntaxhighlighter.printing .color1 a
      328 | { 
      329 | 	color: #808080 !important; 
      330 | }
      331 | 
      332 | .syntaxhighlighter.printing .color2,
      333 | .syntaxhighlighter.printing .color2 a
      334 | { 
      335 | 	color: #ff1493 !important; 
      336 | }
      337 | 
      338 | .syntaxhighlighter.printing .color3,
      339 | .syntaxhighlighter.printing .color3 a
      340 | { 
      341 | 	color: red !important; 
      342 | }
      343 | 
      
      
      --------------------------------------------------------------------------------
      /shared/ba-debug.js:
      --------------------------------------------------------------------------------
        1 | /*!
        2 |  * JavaScript Debug - v0.3 - 6/8/2009
        3 |  * http://benalman.com/projects/javascript-debug-console-log/
        4 |  * 
        5 |  * Copyright (c) 2009 "Cowboy" Ben Alman
        6 |  * Dual licensed under the MIT and GPL licenses.
        7 |  * http://benalman.com/about/license/
        8 |  * 
        9 |  * With lots of help from Paul Irish!
       10 |  * http://paulirish.com/
       11 |  */
       12 | 
       13 | // Script: JavaScript Debug: A simple wrapper for console.log
       14 | //
       15 | // *Version: 0.3, Last Updated: 6/8/2009*
       16 | // 
       17 | // Tested with Internet Explorer 6-8, Firefox 3, Safari 3-4, Chrome, Opera 9.
       18 | // 
       19 | // Home       - http://benalman.com/projects/javascript-debug-console-log/
       20 | // GitHub     - http://github.com/cowboy/javascript-debug/
       21 | // Source     - http://github.com/cowboy/javascript-debug/raw/master/ba-debug.js
       22 | // (Minified) - http://github.com/cowboy/javascript-debug/raw/master/ba-debug.min.js (1.1kb)
       23 | // 
       24 | // About: License
       25 | // 
       26 | // Copyright (c) 2009 "Cowboy" Ben Alman,
       27 | // Dual licensed under the MIT and GPL licenses.
       28 | // http://benalman.com/about/license/
       29 | // 
       30 | // About: Support and Testing
       31 | // 
       32 | // Information about what browsers this code has been tested in.
       33 | // 
       34 | // Browsers Tested - Internet Explorer 6-8, Firefox 3-3.5, Safari 3-4, Chrome, Opera 9.
       35 | // 
       36 | // About: Examples
       37 | // 
       38 | // These working examples, complete with fully commented code, illustrate a few
       39 | // ways in which this plugin can be used.
       40 | // 
       41 | // Examples - http://benalman.com/code/projects/javascript-debug/examples/debug/
       42 | // 
       43 | // About: Revision History
       44 | // 
       45 | // 0.3 - (6/8/2009) Initial release
       46 | // 
       47 | // Topic: Pass-through console methods
       48 | // 
       49 | // assert, clear, count, dir, dirxml, group, groupEnd, profile, profileEnd,
       50 | // time, timeEnd, trace
       51 | // 
       52 | // These console methods are passed through (but only if both the console and
       53 | // the method exists), so use them without fear of reprisal. Note that these
       54 | // methods will not be passed through if the logging level is set to 0 via
       55 | // .
       56 | 
       57 | window.debug = (function(){
       58 |   var window = this,
       59 |     
       60 |     // Some convenient shortcuts.
       61 |     aps = Array.prototype.slice,
       62 |     con = window.console,
       63 |     
       64 |     // Public object to be returned.
       65 |     that = {},
       66 |     
       67 |     callback_func,
       68 |     callback_force,
       69 |     
       70 |     // Default logging level, show everything.
       71 |     log_level = 9,
       72 |     
       73 |     // Logging methods, in "priority order". Not all console implementations
       74 |     // will utilize these, but they will be used in the callback passed to
       75 |     // setCallback.
       76 |     log_methods = [ 'error', 'warn', 'info', 'debug', 'log' ],
       77 |     
       78 |     // Pass these methods through to the console if they exist, otherwise just
       79 |     // fail gracefully. These methods are provided for convenience.
       80 |     pass_methods = 'assert clear count dir dirxml group groupEnd profile profileEnd time timeEnd trace'.split(' '),
       81 |     idx = pass_methods.length,
       82 |     
       83 |     // Logs are stored here so that they can be recalled as necessary.
       84 |     logs = [];
       85 |   
       86 |   while ( --idx >= 0 ) {
       87 |     (function( method ){
       88 |       
       89 |       // Generate pass-through methods. These methods will be called, if they
       90 |       // exist, as long as the logging level is non-zero.
       91 |       that[ method ] = function() {
       92 |         log_level !== 0 && con && con[ method ]
       93 |           && con[ method ].apply( con, arguments );
       94 |       }
       95 |       
       96 |     })( pass_methods[idx] );
       97 |   }
       98 |   
       99 |   idx = log_methods.length;
      100 |   while ( --idx >= 0 ) {
      101 |     (function( idx, level ){
      102 |       
      103 |       // Method: debug.log
      104 |       // 
      105 |       // Call the console.log method if available. Adds an entry into the logs
      106 |       // array for a callback specified via .
      107 |       // 
      108 |       // Usage:
      109 |       // 
      110 |       //  debug.log( object [, object, ...] );                               - -
      111 |       // 
      112 |       // Arguments:
      113 |       // 
      114 |       //  object - (Object) Any valid JavaScript object.
      115 |       
      116 |       // Method: debug.debug
      117 |       // 
      118 |       // Call the console.debug method if available, otherwise call console.log.
      119 |       // Adds an entry into the logs array for a callback specified via
      120 |       // .
      121 |       // 
      122 |       // Usage:
      123 |       // 
      124 |       //  debug.debug( object [, object, ...] );                             - -
      125 |       // 
      126 |       // Arguments:
      127 |       // 
      128 |       //  object - (Object) Any valid JavaScript object.
      129 |       
      130 |       // Method: debug.info
      131 |       // 
      132 |       // Call the console.info method if available, otherwise call console.log.
      133 |       // Adds an entry into the logs array for a callback specified via
      134 |       // .
      135 |       // 
      136 |       // Usage:
      137 |       // 
      138 |       //  debug.info( object [, object, ...] );                              - -
      139 |       // 
      140 |       // Arguments:
      141 |       // 
      142 |       //  object - (Object) Any valid JavaScript object.
      143 |       
      144 |       // Method: debug.warn
      145 |       // 
      146 |       // Call the console.warn method if available, otherwise call console.log.
      147 |       // Adds an entry into the logs array for a callback specified via
      148 |       // .
      149 |       // 
      150 |       // Usage:
      151 |       // 
      152 |       //  debug.warn( object [, object, ...] );                              - -
      153 |       // 
      154 |       // Arguments:
      155 |       // 
      156 |       //  object - (Object) Any valid JavaScript object.
      157 |       
      158 |       // Method: debug.error
      159 |       // 
      160 |       // Call the console.error method if available, otherwise call console.log.
      161 |       // Adds an entry into the logs array for a callback specified via
      162 |       // .
      163 |       // 
      164 |       // Usage:
      165 |       // 
      166 |       //  debug.error( object [, object, ...] );                             - -
      167 |       // 
      168 |       // Arguments:
      169 |       // 
      170 |       //  object - (Object) Any valid JavaScript object.
      171 |       
      172 |       that[ level ] = function() {
      173 |         var args = aps.call( arguments ),
      174 |           log_arr = [ level ].concat( args );
      175 |         
      176 |         logs.push( log_arr );
      177 |         exec_callback( log_arr );
      178 |         
      179 |         if ( !con || !is_level( idx ) ) { return; }
      180 |         
      181 |         con.firebug ? con[ level ].apply( window, args )
      182 |           : con[ level ] ? con[ level ]( args )
      183 |           : con.log( args );
      184 |       };
      185 |       
      186 |     })( idx, log_methods[idx] );
      187 |   }
      188 |   
      189 |   // Execute the callback function if set.
      190 |   function exec_callback( args ) {
      191 |     if ( callback_func && (callback_force || !con || !con.log) ) {
      192 |       callback_func.apply( window, args );
      193 |     }
      194 |   };
      195 |   
      196 |   // Method: debug.setLevel
      197 |   // 
      198 |   // Set a minimum or maximum logging level for the console. Doesn't affect
      199 |   // the  callback function, but if set to 0 to disable
      200 |   // logging,  will be disabled as well.
      201 |   // 
      202 |   // Usage:
      203 |   // 
      204 |   //  debug.setLevel( [ level ] )                                            - -
      205 |   // 
      206 |   // Arguments:
      207 |   // 
      208 |   //  level - (Number) If 0, disables logging. If negative, shows N lowest
      209 |   //    priority levels of log messages. If positive, shows N highest priority
      210 |   //    levels of log messages.
      211 |   //
      212 |   // Priority levels:
      213 |   // 
      214 |   //   log (1) < debug (2) < info (3) < warn (4) < error (5)
      215 |   
      216 |   that.setLevel = function( level ) {
      217 |     log_level = typeof level === 'number' ? level : 9;
      218 |   };
      219 |   
      220 |   // Determine if the level is visible given the current log_level.
      221 |   function is_level( level ) {
      222 |     return log_level > 0
      223 |       ? log_level > level
      224 |       : log_methods.length + log_level <= level;
      225 |   };
      226 |   
      227 |   // Method: debug.setCallback
      228 |   // 
      229 |   // Set a callback to be used if logging isn't possible due to console.log
      230 |   // not existing. If unlogged logs exist when callback is set, they will all
      231 |   // be logged immediately unless a limit is specified.
      232 |   // 
      233 |   // Usage:
      234 |   // 
      235 |   //  debug.setCallback( callback [, force ] [, limit ] )
      236 |   // 
      237 |   // Arguments:
      238 |   // 
      239 |   //  callback - (Function) The aforementioned callback function. The first
      240 |   //    argument is the logging level, and all subsequent arguments are those
      241 |   //    passed to the initial debug logging method.
      242 |   //  force - (Boolean) If false, log to console.log if available, otherwise
      243 |   //    callback. If true, log to both console.log and callback.
      244 |   //  limit - (Number) If specified, number of lines to limit initial scrollback
      245 |   //    to.
      246 |   
      247 |   that.setCallback = function() {
      248 |     var args = aps.call( arguments ),
      249 |       max = logs.length,
      250 |       i = max;
      251 |     
      252 |     callback_func = args.shift() || null;
      253 |     callback_force = typeof args[0] === 'boolean' ? args.shift() : false;
      254 |     
      255 |     i -= typeof args[0] === 'number' ? args.shift() : max;
      256 |     
      257 |     while ( i < max ) {
      258 |       exec_callback( logs[i++] );
      259 |     }
      260 |   };
      261 |   
      262 |   return that;
      263 | })();
      264 | 
      265 | 
      
      
      --------------------------------------------------------------------------------
      /examples/index.css:
      --------------------------------------------------------------------------------
        1 | /* YUI RESETS */
        2 | 
        3 | /*
        4 | Copyright (c) 2008, Yahoo! Inc. All rights reserved.
        5 | Code licensed under the BSD License:
        6 | http://developer.yahoo.net/yui/license.txt
        7 | version: 2.5.2
        8 | */
        9 | html{color:#000;background:#FFF;}body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,code,form,fieldset,legend,input,textarea,p,blockquote,th,td{margin:0;padding:0;}table{border-collapse:collapse;border-spacing:0;}fieldset,img{border:0;}address,caption,cite,code,dfn,em,strong,th,var{font-style:normal;font-weight:normal;}li{list-style:none;}caption,th{text-align:left;}h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:normal;}q:before,q:after{content:'';}abbr,acronym {border:0;font-variant:normal;}sup {vertical-align:text-top;}sub {vertical-align:text-bottom;}input,textarea,select{font-family:inherit;font-size:inherit;font-weight:inherit;}input,textarea,select{*font-size:100%;}legend{color:#000;}
       10 | 
       11 | /*
       12 | Copyright (c) 2008, Yahoo! Inc. All rights reserved.
       13 | Code licensed under the BSD License:
       14 | http://developer.yahoo.net/yui/license.txt
       15 | version: 2.5.2
       16 | */
       17 | body {font:13px/1.231 arial,helvetica,clean,sans-serif;*font-size:small;*font:x-small;}table {font-size:inherit;font:100%;}pre,code,kbd,samp,tt{font-family:monospace;*font-size:108%;line-height:100%;}
       18 | 
       19 | /*
       20 | Copyright (c) 2008, Yahoo! Inc. All rights reserved.
       21 | Code licensed under the BSD License:
       22 | http://developer.yahoo.net/yui/license.txt
       23 | version: 2.5.2
       24 | */
       25 | h1{font-size:138.5%;}h2{font-size:123.1%;}h3{font-size:108%;}h1,h2,h3{margin:1em 0;}h1,h2,h3,h4,h5,h6,strong{font-weight:bold;}abbr,acronym{border-bottom:1px dotted #000;cursor:help;} em{font-style:italic;}blockquote,ul,ol,dl{margin:1em;}ol,ul,dl{margin-left:2em;}ol li{list-style:decimal outside;}ul li{list-style:disc outside;}dl dd{margin-left:1em;}th,td{border:1px solid #000;padding:.5em;}th{font-weight:bold;text-align:center;}caption{margin-bottom:.5em;text-align:center;}p,fieldset,table,pre{margin-bottom:1em;}input[type=text],input[type=password],textarea{width:12.25em;*width:11.9em;}
       26 | 
       27 | /* MISC RESETS */
       28 | 
       29 | em, i {
       30 |   font-weight: inherit;
       31 | }
       32 | 
       33 | ul, ol {
       34 |   margin-right: 0;
       35 | }
       36 | 
       37 | pre {
       38 |   white-space: pre-wrap;
       39 |   white-space: -moz-pre-wrap;
       40 |   white-space: -o-pre-wrap;
       41 |   word-wrap: break-word;
       42 |   _white-space: pre;
       43 | }
       44 | 
       45 | /* LISTS */
       46 | 
       47 | div.nav ul, ul.nav {
       48 |   margin: 0 !important;
       49 |   padding: 0 !important;
       50 | }
       51 | 
       52 | div.nav li, ul.nav li {
       53 |   list-style: none !important;
       54 |   background: none !important;
       55 |   margin: 0 !important;
       56 |   padding: 0 !important;
       57 | }
       58 | 
       59 | div.nav-inline ul, ul.nav-inline {
       60 |   width: auto !important;
       61 | }
       62 | 
       63 | div.nav-inline li, ul.nav-inline li {
       64 |   display: inline !important;
       65 | }
       66 | 
       67 | dl.inline {
       68 |   margin-left: 0;
       69 | }
       70 | 
       71 | dl.inline dt,
       72 | dl.inline dd {
       73 |   margin: 0;
       74 |   display: inline;
       75 | }
       76 | 
       77 | /* HORIZONTAL RULE */
       78 | 
       79 | hr {
       80 |   height: 1px;
       81 |   color: #777;
       82 | }
       83 | 
       84 | div.hr {
       85 |   height: 1px;
       86 |   overflow: hidden;
       87 |   border-bottom: 1px solid #777;
       88 |   margin: 0.8em 0;
       89 | }
       90 | 
       91 | 
       92 | /* GENERAL-PURPOSE CLASSES */
       93 | 
       94 | .hidden {
       95 |   display: none !important;
       96 | }
       97 | 
       98 | .inline {
       99 |   display: inline !important;
      100 |   float: none !important;
      101 | }
      102 | 
      103 | .floatright {
      104 |   display: inline;
      105 |   float: right !important;
      106 | }
      107 | 
      108 | .floatleft {
      109 |   display: inline;
      110 |   float: left !important;
      111 | }
      112 | 
      113 | .clear {
      114 |   clear: both !important;
      115 |   display: block;
      116 | }
      117 | 
      118 | .clearleft {
      119 |   clear: left !important;
      120 |   display: block;
      121 | }
      122 | 
      123 | .clearright {
      124 |   clear: right !important;
      125 |   display: block;
      126 | }
      127 | 
      128 | .left {
      129 |   text-align: left !important;
      130 | }
      131 | 
      132 | .right {
      133 |   text-align: right !important;
      134 | }
      135 | 
      136 | .center {
      137 |   text-align: center !important;
      138 | }
      139 | 
      140 | .nowrap {
      141 |   white-space: nowrap !important;
      142 | }
      143 | 
      144 | .uppercase {
      145 |   text-transform: uppercase !important;
      146 | }
      147 | 
      148 | .lowercase {
      149 |   text-transform: lowercase !important;
      150 | }
      151 | 
      152 | .nocase {
      153 |   text-transform: default !important;
      154 | }
      155 | 
      156 | .bold {
      157 |   font-weight: 700 !important;
      158 | }
      159 | 
      160 | .normal {
      161 |   font-weight: 400 !important;
      162 | }
      163 | 
      164 | .small {
      165 |   font-size: 86% !important;
      166 | }
      167 | 
      168 | @media print {
      169 |   .hidden-print {
      170 |     display: none !important;
      171 |   }
      172 |   .nopagebreak {
      173 |     page-break-inside: avoid !important;
      174 |   }
      175 | }
      176 | 
      177 | @media screen {
      178 |   .hidden-screen {
      179 |     display: none !important;
      180 |   }
      181 | }
      182 | 
      183 | 
      184 | /* HORIZONTAL + VERTICAL CENTERING */
      185 | 
      186 | .center1 {
      187 |   text-align: center;
      188 | }
      189 | 
      190 | .center2 {
      191 |   #left: 50%;
      192 | }
      193 | 
      194 | .center3 {
      195 |   margin: 0 auto;
      196 |   #left: -50%;
      197 | }
      198 | 
      199 | .center1, .vcenter1 {
      200 |   display: table;
      201 |   #display: block;
      202 |   #text-align: auto;
      203 |   #position: relative;
      204 | }
      205 | 
      206 | .center2, .vcenter2 {
      207 |   display: table-cell;
      208 |   vertical-align: middle;
      209 |   #position: absolute;
      210 |   #top: 50%;
      211 | }
      212 | 
      213 | .center3, .vcenter3 {
      214 |   display: block;
      215 |   #position: relative;
      216 |   #top: -50%;
      217 | }
      218 | 
      219 | /*
      220 | .center1, .vcenter1 { border: 1px solid #f00 !important; }
      221 | .center2, .vcenter2 { border: 1px solid #0f0 !important; }
      222 | .center3, .vcenter3 { border: 1px solid #00f !important; }
      223 | */
      224 | 
      225 | 
      226 | /* CSS BG IMAGE REPLACEMENT */
      227 | 
      228 | .bgfx, .bgfx1, .bgfx2 {
      229 |   display: block;
      230 |   width: 300px;
      231 |   height: 50px;
      232 |   padding: 0 !important;
      233 | }
      234 | 
      235 | a.bgfx, a.bgfx1, a.bgfx2,
      236 | a.bgfx:hover, a.bgfx1:hover, a.bgfx2:hover {
      237 |   text-decoration: none;
      238 |   cursor: pointer;
      239 |   cursor: hand;
      240 | }
      241 | 
      242 | .bgfx {
      243 |   position: relative;
      244 |   overflow: hidden;
      245 |   background: no-repeat 0 0;
      246 | }
      247 | 
      248 | .bgfx1, .bgfx2 {
      249 |   position: absolute;
      250 |   left: 0;
      251 |   top: 0;
      252 |   z-index: 1;
      253 |   background: no-repeat 0 0;
      254 | }
      255 | 
      256 | 
      257 | /* "HIT" LINKS */
      258 | 
      259 | .hit, .hit .hit1 {
      260 |   display: block;
      261 |   position: absolute;
      262 |   left: 0;
      263 |   right: 0;
      264 |   top: 0;
      265 |   bottom: 0;
      266 |   cursor: hand;
      267 |   cursor: pointer;
      268 |   _width: 100%;
      269 |   _height: 100%;
      270 | }
      271 | 
      272 | .hit {
      273 |   z-index: 1000;
      274 | }
      275 | 
      276 | .hit .hit1 {
      277 |   #background: #fff;
      278 |   #filter: alpha(opacity=1);
      279 | }
      280 | 
      281 | 
      282 | /* EXAMPLE CSS */
      283 | 
      284 | /* http://colorschemedesigner.com/#3s40M--K-BRJD */
      285 | 
      286 | .primary-1 { background-color: #008CD0 }
      287 | .primary-2 { background-color: #2C7091 }
      288 | .primary-3 { background-color: #005178 }
      289 | .primary-4 { background-color: #58C0F2 }
      290 | .primary-5 { background-color: #9FD7F2 }
      291 | 
      292 | .secondary-a-1 { background-color: #0BE700 }
      293 | .secondary-a-2 { background-color: #36A131 }
      294 | .secondary-a-3 { background-color: #078500 }
      295 | .secondary-a-4 { background-color: #62F85A }
      296 | .secondary-a-5 { background-color: #A7F8A3 }
      297 | 
      298 | .secondary-b-1 { background-color: #FE0006 }
      299 | .secondary-b-2 { background-color: #B13639 }
      300 | .secondary-b-3 { background-color: #920004 }
      301 | .secondary-b-4 { background-color: #FF5D61 }
      302 | .secondary-b-5 { background-color: #FFA7A9 }
      303 | 
      304 | .complement-1 { background-color: #FF8900 }
      305 | .complement-2 { background-color: #B27836 }
      306 | .complement-3 { background-color: #934F00 }
      307 | .complement-4 { background-color: #FFB45D }
      308 | .complement-5 { background-color: #FFD6A7 }
      309 | 
      310 | /*
      311 | bg: #FDEBDC
      312 | bg1: #FFBE7D
      313 | bg2: #FFAB59
      314 | orange: #FF7F00
      315 | brown: #913D00
      316 | lt. brown: #C4884F
      317 | */
      318 | 
      319 | html, body {
      320 |   color: #000;
      321 |   background: #fff;
      322 |   font-family: Arial;
      323 | }
      324 | 
      325 | body {
      326 |   font-size: 0.8em;
      327 |   margin: 1em;
      328 | }
      329 | 
      330 | h1, h2 {
      331 |   font-family: "Gill Sans", "Gill Sans MT", Arial, Helvetica, sans-serif;
      332 | }
      333 | 
      334 | h1 {
      335 |   font-size: 140%;
      336 |   font-weight: 400;
      337 |   text-transform: uppercase;
      338 |   color: #FF7F00;
      339 |   margin: 0 0 0.6em;
      340 | }
      341 | 
      342 | h1 a {
      343 |   color: #FF7F00;
      344 | }
      345 | 
      346 | h1 a:hover {
      347 |   color: #913D00;
      348 | }
      349 | 
      350 | h1 .title {
      351 |   color: #913D00;
      352 | }
      353 | 
      354 | h1 a.title:hover {
      355 |   color: #FF7F00;
      356 | }
      357 | 
      358 | h2 {
      359 |   font-size: 120%;
      360 |   color: #913D00;
      361 | }
      362 | 
      363 | h3 {
      364 |   font-size: 100%;
      365 | }
      366 | 
      367 | a {
      368 |   color: #913D00;
      369 | }
      370 | 
      371 | a:hover {
      372 |   color: #FF7F00;
      373 | }
      374 | 
      375 | .divider {
      376 |   color: #C4884F;
      377 | }
      378 | 
      379 | #page {
      380 |   width: 700px;
      381 | }
      382 | 
      383 | #header h1 {
      384 |   white-space: nowrap;
      385 | }
      386 | 
      387 | #footer {
      388 |   clear: both;
      389 |   padding-top: 2em;
      390 |   font-size: 80%;
      391 |   color: #C4884F;
      392 | }
      393 | 
      394 | #footer a {
      395 |   color: #C4884F;
      396 | }
      397 | 
      398 | #footer a:hover {
      399 |   color: #FF7F00;
      400 | }
      401 | 
      402 | #donate {
      403 |   color: #000;
      404 |   background: #fff;
      405 |   border: 1px solid #3D942F;
      406 |   font-size: 80%;
      407 |   padding: 0.5em;
      408 |   float: right;
      409 |   width: 11em;
      410 |   margin: 0 0 1.5em 2em;
      411 |   -moz-box-shadow: 0 0 6px #3D942F;
      412 |   -webkit-box-shadow: 0 0 6px #3D942F;
      413 |   box-shadow: 0 0 6px #3D942F;
      414 | }
      415 | 
      416 | #donate form {
      417 |   text-align: center;
      418 | }
      419 | 
      420 | #donate .submit {
      421 |   width: 74px;
      422 |   height: 21px;
      423 | }
      424 | 
      425 | pre {
      426 |   overflow-x: auto;
      427 | }
      428 | 
      429 | pre code {
      430 |   display: block;
      431 |   border: 1px solid transparent;
      432 |   _border: none;
      433 | }
      434 | 
      435 | /* ROUNDED BORDERS */
      436 | 
      437 | #donate,
      438 | pre,
      439 | .syntaxhighlighter,
      440 | .syntaxhighlighter .toolbar {
      441 |   -moz-border-radius: 10px;
      442 |   -webkit-border-radius: 10px;
      443 |   border-radius: 10px;
      444 | }
      445 | 
      446 | /* PRE/CODE BLOCKS, SYNTAX HIGHLIGHTING */
      447 | 
      448 | code, pre {
      449 |   font-family: "Consolas","Monaco","Bitstream Vera Sans Mono","Courier New",Courier,monospace;
      450 | }
      451 | 
      452 | a code {
      453 |   color: inherit;
      454 | }
      455 | 
      456 | code {
      457 |   color: #913D00;
      458 |   font-size: 12px;
      459 |   font-weight: inherit;
      460 | }
      461 | 
      462 | pre {
      463 |   margin: 0 0 0.6em;
      464 |   padding: 0 0.6em;
      465 |   border: 1px solid #C4884F;
      466 |   background: #fee0c5;
      467 |   color: #000;
      468 | }
      469 | 
      470 | pre code {
      471 |   color: #000;
      472 | }
      473 | 
      474 | pre,
      475 | .syntaxhighlighter, 
      476 | .syntaxhighlighter div, 
      477 | .syntaxhighlighter code, 
      478 | .syntaxhighlighter span {
      479 |   font-size: 11px !important;
      480 |   line-height: 1.5em !important;
      481 | }
      482 | 
      483 | pre,
      484 | .syntaxhighlighter,
      485 | .syntaxhighlighter .line:first-child .content {
      486 |   min-height: 2.99em;
      487 | }
      488 | 
      489 | .syntaxhighlighter .line:not(:last-child) .content {
      490 |   min-height: 0;
      491 | }
      492 | 
      493 | .syntaxhighlighter .content {
      494 |   min-height: 0\9 !important; /* IE6, IE7, IE8 */
      495 | }
      496 | 
      497 | .syntaxhighlighter, 
      498 | .syntaxhighlighter code,
      499 | .syntaxhighlighter a {
      500 |   word-wrap: break-word !important;
      501 | }
      502 | 
      503 | .syntaxhighlighter .line .content .block {
      504 |   background-position: 0 1.5em !important;
      505 | }
      506 | 
      507 | .syntaxhighlighter {
      508 |   width: auto !important;
      509 |   margin: 0 0 0.6em !important;
      510 |   padding: 0 1px !important;
      511 |   background: #fee0c5 !important;
      512 |   border: 1px solid #C4884F !important;
      513 |   _zoom: 1;
      514 | }
      515 | 
      516 | .syntaxhighlighter .toolbar {
      517 |   right: 3px !important;
      518 |   top: 3px !important;
      519 | }
      520 | 
      521 | .syntaxhighlighter .line .number {
      522 |   color: #C4884F !important;
      523 | }
      524 | 
      525 | .syntaxhighlighter .lines .content {
      526 |   border-color: #C4884F !important;
      527 | }
      528 | 
      529 | .syntaxhighlighter .lines .line:first-child,
      530 | .syntaxhighlighter .lines .line:first-child .content {
      531 |   -moz-border-radius-topright: 10px;
      532 |   -webkit-border-top-right-radius: 10px;
      533 | }
      534 | 
      535 | .syntaxhighlighter .lines .line:last-child,
      536 | .syntaxhighlighter .lines .line:last-child .content {
      537 |   -moz-border-radius-bottomright: 10px;
      538 |   -webkit-border-bottom-right-radius: 10px;
      539 | }
      540 | 
      541 | .syntaxhighlighter.nogutter .lines .line:first-child,
      542 | .syntaxhighlighter.nogutter .lines .line:first-child .content {
      543 |   -moz-border-radius-topleft: 10px;
      544 |   -webkit-border-top-left-radius: 10px;
      545 | }
      546 | 
      547 | .syntaxhighlighter.nogutter .lines .line:last-child,
      548 | .syntaxhighlighter.nogutter .lines .line:last-child .content {
      549 |   -moz-border-radius-bottomleft: 10px;
      550 |   -webkit-border-bottom-left-radius: 10px;
      551 | }
      552 | 
      
      
      --------------------------------------------------------------------------------
      /LICENSE-GPL:
      --------------------------------------------------------------------------------
        1 |         GNU GENERAL PUBLIC LICENSE
        2 |            Version 2, June 1991
        3 | 
        4 |  Copyright (C) 1989, 1991 Free Software Foundation, Inc.
        5 |  51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
        6 |  Everyone is permitted to copy and distribute verbatim copies
        7 |  of this license document, but changing it is not allowed.
        8 | 
        9 |           Preamble
       10 | 
       11 |   The licenses for most software are designed to take away your
       12 | freedom to share and change it.  By contrast, the GNU General Public
       13 | License is intended to guarantee your freedom to share and change free
       14 | software--to make sure the software is free for all its users.  This
       15 | General Public License applies to most of the Free Software
       16 | Foundation's software and to any other program whose authors commit to
       17 | using it.  (Some other Free Software Foundation software is covered by
       18 | the GNU Lesser General Public License instead.)  You can apply it to
       19 | your programs, too.
       20 | 
       21 |   When we speak of free software, we are referring to freedom, not
       22 | price.  Our General Public Licenses are designed to make sure that you
       23 | have the freedom to distribute copies of free software (and charge for
       24 | this service if you wish), that you receive source code or can get it
       25 | if you want it, that you can change the software or use pieces of it
       26 | in new free programs; and that you know you can do these things.
       27 | 
       28 |   To protect your rights, we need to make restrictions that forbid
       29 | anyone to deny you these rights or to ask you to surrender the rights.
       30 | These restrictions translate to certain responsibilities for you if you
       31 | distribute copies of the software, or if you modify it.
       32 | 
       33 |   For example, if you distribute copies of such a program, whether
       34 | gratis or for a fee, you must give the recipients all the rights that
       35 | you have.  You must make sure that they, too, receive or can get the
       36 | source code.  And you must show them these terms so they know their
       37 | rights.
       38 | 
       39 |   We protect your rights with two steps: (1) copyright the software, and
       40 | (2) offer you this license which gives you legal permission to copy,
       41 | distribute and/or modify the software.
       42 | 
       43 |   Also, for each author's protection and ours, we want to make certain
       44 | that everyone understands that there is no warranty for this free
       45 | software.  If the software is modified by someone else and passed on, we
       46 | want its recipients to know that what they have is not the original, so
       47 | that any problems introduced by others will not reflect on the original
       48 | authors' reputations.
       49 | 
       50 |   Finally, any free program is threatened constantly by software
       51 | patents.  We wish to avoid the danger that redistributors of a free
       52 | program will individually obtain patent licenses, in effect making the
       53 | program proprietary.  To prevent this, we have made it clear that any
       54 | patent must be licensed for everyone's free use or not licensed at all.
       55 | 
       56 |   The precise terms and conditions for copying, distribution and
       57 | modification follow.
       58 | 
       59 |         GNU GENERAL PUBLIC LICENSE
       60 |    TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
       61 | 
       62 |   0. This License applies to any program or other work which contains
       63 | a notice placed by the copyright holder saying it may be distributed
       64 | under the terms of this General Public License.  The "Program", below,
       65 | refers to any such program or work, and a "work based on the Program"
       66 | means either the Program or any derivative work under copyright law:
       67 | that is to say, a work containing the Program or a portion of it,
       68 | either verbatim or with modifications and/or translated into another
       69 | language.  (Hereinafter, translation is included without limitation in
       70 | the term "modification".)  Each licensee is addressed as "you".
       71 | 
       72 | Activities other than copying, distribution and modification are not
       73 | covered by this License; they are outside its scope.  The act of
       74 | running the Program is not restricted, and the output from the Program
       75 | is covered only if its contents constitute a work based on the
       76 | Program (independent of having been made by running the Program).
       77 | Whether that is true depends on what the Program does.
       78 | 
       79 |   1. You may copy and distribute verbatim copies of the Program's
       80 | source code as you receive it, in any medium, provided that you
       81 | conspicuously and appropriately publish on each copy an appropriate
       82 | copyright notice and disclaimer of warranty; keep intact all the
       83 | notices that refer to this License and to the absence of any warranty;
       84 | and give any other recipients of the Program a copy of this License
       85 | along with the Program.
       86 | 
       87 | You may charge a fee for the physical act of transferring a copy, and
       88 | you may at your option offer warranty protection in exchange for a fee.
       89 | 
       90 |   2. You may modify your copy or copies of the Program or any portion
       91 | of it, thus forming a work based on the Program, and copy and
       92 | distribute such modifications or work under the terms of Section 1
       93 | above, provided that you also meet all of these conditions:
       94 | 
       95 |     a) You must cause the modified files to carry prominent notices
       96 |     stating that you changed the files and the date of any change.
       97 | 
       98 |     b) You must cause any work that you distribute or publish, that in
       99 |     whole or in part contains or is derived from the Program or any
      100 |     part thereof, to be licensed as a whole at no charge to all third
      101 |     parties under the terms of this License.
      102 | 
      103 |     c) If the modified program normally reads commands interactively
      104 |     when run, you must cause it, when started running for such
      105 |     interactive use in the most ordinary way, to print or display an
      106 |     announcement including an appropriate copyright notice and a
      107 |     notice that there is no warranty (or else, saying that you provide
      108 |     a warranty) and that users may redistribute the program under
      109 |     these conditions, and telling the user how to view a copy of this
      110 |     License.  (Exception: if the Program itself is interactive but
      111 |     does not normally print such an announcement, your work based on
      112 |     the Program is not required to print an announcement.)
      113 | 
      114 | These requirements apply to the modified work as a whole.  If
      115 | identifiable sections of that work are not derived from the Program,
      116 | and can be reasonably considered independent and separate works in
      117 | themselves, then this License, and its terms, do not apply to those
      118 | sections when you distribute them as separate works.  But when you
      119 | distribute the same sections as part of a whole which is a work based
      120 | on the Program, the distribution of the whole must be on the terms of
      121 | this License, whose permissions for other licensees extend to the
      122 | entire whole, and thus to each and every part regardless of who wrote it.
      123 | 
      124 | Thus, it is not the intent of this section to claim rights or contest
      125 | your rights to work written entirely by you; rather, the intent is to
      126 | exercise the right to control the distribution of derivative or
      127 | collective works based on the Program.
      128 | 
      129 | In addition, mere aggregation of another work not based on the Program
      130 | with the Program (or with a work based on the Program) on a volume of
      131 | a storage or distribution medium does not bring the other work under
      132 | the scope of this License.
      133 | 
      134 |   3. You may copy and distribute the Program (or a work based on it,
      135 | under Section 2) in object code or executable form under the terms of
      136 | Sections 1 and 2 above provided that you also do one of the following:
      137 | 
      138 |     a) Accompany it with the complete corresponding machine-readable
      139 |     source code, which must be distributed under the terms of Sections
      140 |     1 and 2 above on a medium customarily used for software interchange; or,
      141 | 
      142 |     b) Accompany it with a written offer, valid for at least three
      143 |     years, to give any third party, for a charge no more than your
      144 |     cost of physically performing source distribution, a complete
      145 |     machine-readable copy of the corresponding source code, to be
      146 |     distributed under the terms of Sections 1 and 2 above on a medium
      147 |     customarily used for software interchange; or,
      148 | 
      149 |     c) Accompany it with the information you received as to the offer
      150 |     to distribute corresponding source code.  (This alternative is
      151 |     allowed only for noncommercial distribution and only if you
      152 |     received the program in object code or executable form with such
      153 |     an offer, in accord with Subsection b above.)
      154 | 
      155 | The source code for a work means the preferred form of the work for
      156 | making modifications to it.  For an executable work, complete source
      157 | code means all the source code for all modules it contains, plus any
      158 | associated interface definition files, plus the scripts used to
      159 | control compilation and installation of the executable.  However, as a
      160 | special exception, the source code distributed need not include
      161 | anything that is normally distributed (in either source or binary
      162 | form) with the major components (compiler, kernel, and so on) of the
      163 | operating system on which the executable runs, unless that component
      164 | itself accompanies the executable.
      165 | 
      166 | If distribution of executable or object code is made by offering
      167 | access to copy from a designated place, then offering equivalent
      168 | access to copy the source code from the same place counts as
      169 | distribution of the source code, even though third parties are not
      170 | compelled to copy the source along with the object code.
      171 | 
      172 |   4. You may not copy, modify, sublicense, or distribute the Program
      173 | except as expressly provided under this License.  Any attempt
      174 | otherwise to copy, modify, sublicense or distribute the Program is
      175 | void, and will automatically terminate your rights under this License.
      176 | However, parties who have received copies, or rights, from you under
      177 | this License will not have their licenses terminated so long as such
      178 | parties remain in full compliance.
      179 | 
      180 |   5. You are not required to accept this License, since you have not
      181 | signed it.  However, nothing else grants you permission to modify or
      182 | distribute the Program or its derivative works.  These actions are
      183 | prohibited by law if you do not accept this License.  Therefore, by
      184 | modifying or distributing the Program (or any work based on the
      185 | Program), you indicate your acceptance of this License to do so, and
      186 | all its terms and conditions for copying, distributing or modifying
      187 | the Program or works based on it.
      188 | 
      189 |   6. Each time you redistribute the Program (or any work based on the
      190 | Program), the recipient automatically receives a license from the
      191 | original licensor to copy, distribute or modify the Program subject to
      192 | these terms and conditions.  You may not impose any further
      193 | restrictions on the recipients' exercise of the rights granted herein.
      194 | You are not responsible for enforcing compliance by third parties to
      195 | this License.
      196 | 
      197 |   7. If, as a consequence of a court judgment or allegation of patent
      198 | infringement or for any other reason (not limited to patent issues),
      199 | conditions are imposed on you (whether by court order, agreement or
      200 | otherwise) that contradict the conditions of this License, they do not
      201 | excuse you from the conditions of this License.  If you cannot
      202 | distribute so as to satisfy simultaneously your obligations under this
      203 | License and any other pertinent obligations, then as a consequence you
      204 | may not distribute the Program at all.  For example, if a patent
      205 | license would not permit royalty-free redistribution of the Program by
      206 | all those who receive copies directly or indirectly through you, then
      207 | the only way you could satisfy both it and this License would be to
      208 | refrain entirely from distribution of the Program.
      209 | 
      210 | If any portion of this section is held invalid or unenforceable under
      211 | any particular circumstance, the balance of the section is intended to
      212 | apply and the section as a whole is intended to apply in other
      213 | circumstances.
      214 | 
      215 | It is not the purpose of this section to induce you to infringe any
      216 | patents or other property right claims or to contest validity of any
      217 | such claims; this section has the sole purpose of protecting the
      218 | integrity of the free software distribution system, which is
      219 | implemented by public license practices.  Many people have made
      220 | generous contributions to the wide range of software distributed
      221 | through that system in reliance on consistent application of that
      222 | system; it is up to the author/donor to decide if he or she is willing
      223 | to distribute software through any other system and a licensee cannot
      224 | impose that choice.
      225 | 
      226 | This section is intended to make thoroughly clear what is believed to
      227 | be a consequence of the rest of this License.
      228 | 
      229 |   8. If the distribution and/or use of the Program is restricted in
      230 | certain countries either by patents or by copyrighted interfaces, the
      231 | original copyright holder who places the Program under this License
      232 | may add an explicit geographical distribution limitation excluding
      233 | those countries, so that distribution is permitted only in or among
      234 | countries not thus excluded.  In such case, this License incorporates
      235 | the limitation as if written in the body of this License.
      236 | 
      237 |   9. The Free Software Foundation may publish revised and/or new versions
      238 | of the General Public License from time to time.  Such new versions will
      239 | be similar in spirit to the present version, but may differ in detail to
      240 | address new problems or concerns.
      241 | 
      242 | Each version is given a distinguishing version number.  If the Program
      243 | specifies a version number of this License which applies to it and "any
      244 | later version", you have the option of following the terms and conditions
      245 | either of that version or of any later version published by the Free
      246 | Software Foundation.  If the Program does not specify a version number of
      247 | this License, you may choose any version ever published by the Free Software
      248 | Foundation.
      249 | 
      250 |   10. If you wish to incorporate parts of the Program into other free
      251 | programs whose distribution conditions are different, write to the author
      252 | to ask for permission.  For software which is copyrighted by the Free
      253 | Software Foundation, write to the Free Software Foundation; we sometimes
      254 | make exceptions for this.  Our decision will be guided by the two goals
      255 | of preserving the free status of all derivatives of our free software and
      256 | of promoting the sharing and reuse of software generally.
      257 | 
      258 |           NO WARRANTY
      259 | 
      260 |   11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
      261 | FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.  EXCEPT WHEN
      262 | OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
      263 | PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
      264 | OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
      265 | MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  THE ENTIRE RISK AS
      266 | TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.  SHOULD THE
      267 | PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
      268 | REPAIR OR CORRECTION.
      269 | 
      270 |   12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
      271 | WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
      272 | REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
      273 | INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
      274 | OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
      275 | TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
      276 | YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
      277 | PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
      278 | POSSIBILITY OF SUCH DAMAGES.
      
      
      --------------------------------------------------------------------------------
      /shared/SyntaxHighlighter/scripts/shCore.js:
      --------------------------------------------------------------------------------
       1 | /**
       2 |  * SyntaxHighlighter
       3 |  * http://alexgorbatchev.com/
       4 |  *
       5 |  * SyntaxHighlighter is donationware. If you are using it, please donate.
       6 |  * http://alexgorbatchev.com/wiki/SyntaxHighlighter:Donate
       7 |  *
       8 |  * @version
       9 |  * 2.0.320 (May 03 2009)
      10 |  * 
      11 |  * @copyright
      12 |  * Copyright (C) 2004-2009 Alex Gorbatchev.
      13 |  *
      14 |  * @license
      15 |  * This file is part of SyntaxHighlighter.
      16 |  * 
      17 |  * SyntaxHighlighter is free software: you can redistribute it and/or modify
      18 |  * it under the terms of the GNU Lesser General Public License as published by
      19 |  * the Free Software Foundation, either version 3 of the License, or
      20 |  * (at your option) any later version.
      21 |  * 
      22 |  * SyntaxHighlighter is distributed in the hope that it will be useful,
      23 |  * but WITHOUT ANY WARRANTY; without even the implied warranty of
      24 |  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
      25 |  * GNU General Public License for more details.
      26 |  * 
      27 |  * You should have received a copy of the GNU General Public License
      28 |  * along with SyntaxHighlighter.  If not, see .
      29 |  */
      30 | eval(function(p,a,c,k,e,d){e=function(c){return(c35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--){d[e(c)]=k[c]||e(c)}k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1};while(c--){if(k[c]){p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c])}}return p}('f(!1q.2E){l 2E=h(){l p={77:{"1e-1f":"","79-2P":1,"1I":u,"6V-70":U,"1C-2A":4,"5f":N,"4Z":U,"1z":U,"56":N,"7G-7F":U,"6Z":N,"4S-1m":U},M:{52:u,5P:16,5S:16,8k:N,8l:N,83:"4R",1k:{3Y:"97 1c",41:"9b 1c",5U:"9O 93 7A",6t:"9B I 9E 23 8w 7A 8o",34:"34",6P:"?",1v:"2E\\n\\n",6F:"8p\'t 8I 87 D: ",7X:"8V 8v\'t bD D 2u-2c bf: ",6H:"<2u ay=\\"2g://6D.6v.6m/as/8r\\"><6l><8T 2g-92=\\"8P-8L\\" 5B=\\"2d/2u; 8E=8s-8\\" /><3B>8C 2E<2L 1n=\\"3N-8x:8Z,9y,9H,9I-9Q;9S-4v:#9K;4v:#9J;3N-2A:9L;2d-6k:6i;\\">2E6f 2.0.9j (9n 9s 6n)2g://6j.4U96 I 94 95.9f 9e-6n 9c 9t."},6T:N},1t:{4D:u,3k:u,3P:u,5K:{}},2B:{},85:{9u:/\\/\\*[\\s\\S]*?\\*\\//4k,9N:/\\/\\/.*$/4k,9M:/#.*$/4k,9P:/"(?:\\.|(\\\\\\")|[^\\""\\n])*"/g,9T:/\'(?:\\.|(\\\\\\\')|[^\\\'\'\\n])*\'/g,9R:/"(?:\\.|(\\\\\\")|[^\\""])*"/g,9z:/\'(?:\\.|(\\\\\\\')|[^\\\'\'])*\'/g,3p:/\\w+:\\/\\/[\\w-.\\/?%&=]*/g,9x:{E:/(&1F;|<)\\?=?/g,13:/\\?(&2o;|>)/g},9v:{E:/(&1F;|<)%=?/g,13:/%(&2o;|>)/g},9w:{E:/(&1F;|<)\\s*2c.*?(&2o;|>)/4x,13:/(&1F;|<)\\/\\s*2c\\s*(&2o;|>)/4x}},1z:{12:h(3s){l 3y=L.1s("3j"),4o=p.1z.65;3y.J="1z";D(l 2Y 23 4o){l 6o=4o[2Y],4J=T 6o(3s),28=4J.12();3s.5I[2Y]=4J;f(28==u){1H}f(9G(28)=="9F"){28=p.1z.6s(28,3s.1g,2Y)}28.J+="5k "+2Y;3y.1G(28)}q 3y},6s:h(4A,6r,4h){l a=L.1s("a"),4Q=a.1n,4P=p.M,4F=4P.5P,48=4P.5S;a.2q="#"+4h;a.3B=4A;a.5M=6r;a.6q=4h;a.1x=4A;f(55(4F)==N){4Q.1S=4F+"5x"}f(55(48)==N){4Q.2t=48+"5x"}a.8t=h(e){8D{p.1z.6p(c,e||1q.6w,c.5M,c.6q)}8m(e){p.B.1v(e.6u)}q N};q a},6p:h(69,68,6h,6g,67){l 3U=p.1t.5K[6h],3X;f(3U==u||(3X=3U.5I[6g])==u){q u}q 3X.2h(69,68,67)},65:{3Y:h(4b){c.12=h(){f(4b.V("56")!=U){q}q p.M.1k.3Y};c.2h=h(42,8X,91){l A=4b.A;42.7T.5a(42);A.J=A.J.C("51","")}},41:h(66){c.12=h(){q p.M.1k.41};c.2h=h(8R,8Q,8J){l 3Q=p.B.3G(66.4W).C(/"+3Q+"");2i.L.5O()}},5U:h(5e){l 3S,8F,5L=5e.1g;c.12=h(){l 2S=p.M;f(2S.52==u){q u}h 1A(5E){l 5s="";D(l 5y 23 5E){5s+="<8S 1f=\'"+5y+"\' 1U=\'"+5E[5y]+"\'/>"}q 5s};h 2v(5t){l 5Q="";D(l 5w 23 5t){5Q+=" "+5w+"=\'"+5t[5w]+"\'"}q 5Q};l 5m={1S:2S.5P,2t:2S.5S,1g:5L+"b8",6N:"b7/x-6a-6b",3B:p.M.1k.5U},5h={b6:"b4",b5:"b9",ba:"5M="+5L,bd:"N"},5g=2S.52,3H;f(/bb/i.1R(5Z.5W)){3H="<6e"+2v({bc:"b3:b2-aU-aT-aS-aQ",aR:"2g://aW.b1.4U/b0/6a/aX/6b/bg.bh#6f=9,0,0,0"})+2v(5m)+">"+1A(5h)+1A({bB:5g})+""}F{3H=""}3S=L.1s("A");3S.1x=3H;q 3S};c.2h=h(bH,bG,5T){l 6d=5T.bE;6z(6d){2N"7u":l 53=p.B.2D(p.B.3G(5e.4W).C(/&1F;/g,"<").C(/&2o;/g,">").C(/&bw;/g,"&"));f(1q.6c){1q.6c.bm("2d",53)}F{q p.B.2D(53)}2N"bk":p.B.1v(p.M.1k.6t);2m;2N"bj":p.B.1v(5T.6u);2m}}},bo:h(58){c.12=h(){q p.M.1k.34};c.2h=h(bu,bt,bs){l 1W=L.1s("bp"),1O=u;f(p.1t.3P!=u){L.2L.5a(p.1t.3P)}p.1t.3P=1W;1W.1n.bq="aP:aO;1S:6L;2t:6L;E:-6K;43:-6K;";L.2L.1G(1W);1O=1W.5c.L;6J(1O,1q.L);1O.3h(""+58.A.1x+"");1O.5O();1W.5c.4d();1W.5c.34();h 6J(6M,64){l 2F=64.82("4Y");D(l i=0;i<2F.v;i++){f(2F[i].6R.ac()=="6Q"&&/aa\\.19$/.1R(2F[i].2q)){6M.3h("<4Y 6N=\\"2d/19\\" 6R=\\"6Q\\" 2q=\\""+2F[i].2q+"\\">")}}}}},af:h(ag){c.12=h(){q p.M.1k.6P};c.2h=h(aj,ah){l 2i=p.B.54("","57",ai,a9,"6O=0"),1O=2i.L;1O.3h(p.M.1k.6H);1O.5O();2i.4d()}}}},B:{5H:h(6G){q 6G+3J.9Y(3J.9W()*9X).2r()},5o:h(5R,5G){l 3m={},1T;D(1T 23 5R){3m[1T]=5R[1T]}D(1T 23 5G){3m[1T]=5G[1T]}q 3m},8d:h(5z){6z(5z){2N"U":q U;2N"N":q N}q 5z},54:h(3p,6x,44,4c,2J){l x=(6y.1S-44)/2,y=(6y.2t-4c)/2;2J+=", E="+x+", 43="+y+", 1S="+44+", 2t="+4c;2J=2J.C(/^,/,"");l 49=1q.a5(3p,6x,2J);49.4d();q 49},7Q:h(1M,25,24){f(1M.6A){1M["e"+25+24]=24;1M[25+24]=h(){1M["e"+25+24](1q.6w)};1M.6A("an"+25,1M[25+24])}F{1M.aG(25,24,N)}},1v:h(z){1v(p.M.1k.1v+z)},4l:h(4M,6B){l 2k=p.1t.4D,3b=u;f(2k==u){2k={};D(l 4G 23 p.2B){l 37=p.2B[4G].aF;f(37==u){1H}D(l i=0;i<37.v;i++){2k[37[i]]=4G}}p.1t.4D=2k}3b=p.2B[2k[4M]];f(3b==u&&6B!=N){p.B.1v(p.M.1k.6F+4M)}q 3b},4n:h(z,6E){l 2U=z.1P("\\n");D(l i=0;i<2U.v;i++){2U[i]=6E(2U[i])}q 2U.5u("\\n")},74:h(){l A=L.1s("A"),3e=L.1s("A"),6C=10,i=1;29(i<=aD){f(i%6C===0){A.1x+=i;i+=(i+"").v}F{A.1x+="&aI;";i++}}3e.J="5f 2P";3e.1G(A);q 3e},6W:h(z){q z.C(/^[ ]*[\\n]+|[\\n]*[ ]*$/g,"")},84:h(z){l 3d,4u={},4p=T R("^\\\\[(?<4q>(.*?))\\\\]$"),6S=T R("(?<1f>[\\\\w-]+)"+"\\\\s*:\\\\s*"+"(?<1U>"+"[\\\\w-%#]+|"+"\\\\[.*?\\\\]|"+"\\".*?\\"|"+"\'.*?\'"+")\\\\s*;?","g");29((3d=6S.Q(z))!=u){l 2f=3d.1U.C(/^[\'"]|[\'"]$/g,"");f(2f!=u&&4p.1R(2f)){l m=4p.Q(2f);2f=m.4q.v>0?m.4q.1P(/\\s*,\\s*/):[]}4u[3d.1f]=2f}q 4u},7g:h(z,19){f(z==u||z.v==0||z=="\\n"){q z}z=z.C(/"+2s+""})}q z},7a:h(61,62){l 2I=61.2r();29(2I.v<62){2I="0"+2I}q 2I},5p:h(){l 3x=L.1s("A"),35,3r=0,5i=L.2L,1g=p.B.5H("5p"),2Q="",4H="";3x.1x=2Q+"7P\\">"+2Q+"1m\\">"+2Q+"2P\\">"+2Q+"5B"+"\\"><1V 1e=\\"7i\\"><1V 1g=\\""+1g+"\\">&1X;"+4H+4H+2V+2V+2V+2V;5i.1G(3x);35=L.ar(1g);f(/aq/i.1R(5Z.5W)){l 63=1q.ao(35,u);3r=7b(63.ap("1S"))}F{3r=35.at}5i.5a(3x);q 3r},76:h(5Y,60){l 1C="";D(l i=0;i<60;i++){1C+=" "}q 5Y.C(/\\t/g,1C)},71:h(2C,4w){l az=2C.1P("\\n"),1C="\\t",40="";D(l i=0;i<50;i++){40+="                    "}h 6I(3z,18,5X){q 3z.1Q(0,18)+40.1Q(0,5X)+3z.1Q(18+1,3z.v)};2C=p.B.4n(2C,h(2a){f(2a.1i(1C)==-1){q 2a}l 18=0;29((18=2a.1i(1C))!=-1){l 7r=4w-18%4w;2a=6I(2a,18,7r)}q 2a});q 2C},3G:h(z){l br=/|&1F;br\\s*\\/?&2o;/4x;f(p.M.8k==U){z=z.C(br,"\\n")}f(p.M.8l==U){z=z.C(br,"")}q z},33:h(z){q z.C(/\\s*$/g,"").C(/^\\s*/,"")},2D:h(z){l 21=p.B.3G(z).1P("\\n"),av=T 5V(),8a=/^\\s*/,1Z=ax;D(l i=0;i<21.v&&1Z>0;i++){l 3V=21[i];f(p.B.33(3V).v==0){1H}l 3W=8a.Q(3V);f(3W==u){q z}1Z=3J.1Z(3W[0].v,1Z)}f(1Z>0){D(l i=0;i<21.v;i++){21[i]=21[i].1Q(1Z)}}q 21.5u("\\n")},7d:h(2K,2O){f(2K.G<2O.G){q-1}F{f(2K.G>2O.G){q 1}F{f(2K.v<2O.v){q-1}F{f(2K.v>2O.v){q 1}}}}q 0},30:h(7S,2H){h 7R(4V,7Y){q[T p.4i(4V[0],4V.G,7Y.19)]};l au=0,5N=u,39=[],7Z=2H.4L?2H.4L:7R;29((5N=2H.3q.Q(7S))!=u){39=39.31(7Z(5N,2H))}q 39},7C:h(86){q 86.C(p.85.3p,h(m){q""+m+""})}},1I:h(88,4T){h 81(5j){l 59=[];D(l i=0;i<5j.v;i++){59.K(5j[i])}q 59};l 3g=4T?[4T]:81(L.82(p.M.83)),80="1x",2e=u;f(3g.v===0){q}D(l i=0;i<3g.v;i++){l 2G=3g[i],2l=p.B.84(2G.J),32;2l=p.B.5o(88,2l);32=2l["87"];f(32==u){1H}f(2l["2u-2c"]=="U"){2e=T p.4B(32)}F{l 4O=p.B.4l(32);f(4O){2e=T 4O()}F{1H}}2e.1I(2G[80],2l);l 2p=2e.A;f(p.M.6T){2p=L.1s("aA");2p.1U=2e.A.1x;2p.1n.1S="aB";2p.1n.2t="aK"}2G.7T.aJ(2p,2G)}},aL:h(7U){p.B.7Q(1q,"aM",h(){p.1I(7U)})}};p.4i=h(4j,7V,19){c.1U=4j;c.G=7V;c.v=4j.v;c.19=19};p.4i.Y.2r=h(){q c.1U};p.4B=h(4y){l 1J=p.B.4l(4y),4z=T p.2B.aN(),aH=u;f(1J==u){q}1J=T 1J();c.4E=4z;f(1J.3O==u){p.B.1v(p.M.1k.7X+4y);q}4z.5n.K({3q:1J.3O.I,4L:89});h 3a(4K,7W){D(l j=0;j<4K.v;j++){4K[j].G+=7W}};h 89(17,aC){l 8f=17.I,1L=[],4N=1J.5n,8e=17.G+17.E.v,2Z=1J.3O,1l;D(l i=0;i<4N.v;i++){1l=p.B.30(8f,4N[i]);3a(1l,8e);1L=1L.31(1l)}f(2Z.E!=u&&17.E!=u){1l=p.B.30(17.E,2Z.E);3a(1l,17.G);1L=1L.31(1l)}f(2Z.13!=u&&17.13!=u){1l=p.B.30(17.13,2Z.13);3a(1l,17.G+17[0].aE(17.13));1L=1L.31(1l)}q 1L}};p.4B.Y.1I=h(8h,8i){c.4E.1I(8h,8i);c.A=c.4E.A};p.8b=h(){};p.8b.Y={V:h(8c,8g){l 3Z=c.1A[8c];q p.B.8d(3Z==u?8g:3Z)},12:h(8j){q L.1s(8j)},72:h(38,7O){l 2w=[];f(38!=u){D(l i=0;i<38.v;i++){2w=2w.31(p.B.30(7O,38[i]))}}2w=2w.am(p.B.7d);q 2w},73:h(){l 26=c.2R;D(l i=0;i<26.v;i++){f(26[i]===u){1H}l 2x=26[i],45=2x.G+2x.v;D(l j=i+1;j<26.v&&26[i]!==u;j++){l 20=26[j];f(20===u){1H}F{f(20.G>45){2m}F{f(20.G==2x.G&&20.v>2x.v){c.2R[i]=u}F{f(20.G>=2x.G&&20.G<45){c.2R[j]=u}}}}}}},7m:h(2M){l 36=2M.1P(/\\n/g),3f=7b(c.V("79-2P")),7e=(3f+36.v).2r().v,7f=c.V("1I",[]);2M="";D(l i=0;i<36.v;i++){l 1r=36[i],2y=/^(&1X;|\\s)+/.Q(1r),5A="2P a3"+(i%2==0?1:2),7j=p.B.7a(3f+i,7e),7k=7f.1i((3f+i).2r())!=-1,1E=u;f(2y!=u){1E=2y[0].2r();1r=1r.1Q(1E.v);1E=1E.C(/&1X;/g," ");2y=p.1t.3k*1E.v}F{2y=0}1r=p.B.33(1r);f(1r.v==0){1r="&1X;"}f(7k){5A+=" a6"}2M+=""+""+7j+"."+"<1V 1e=\\"5B\\">"+(1E!=u?""+1E.C(/\\s/g,"&1X;")+"":"")+"<1V 1e=\\"7i\\" 1n=\\"5D-E: "+2y+"5x !78;\\">"+1r+""+""+""}q 2M},7l:h(5v,5r){l 18=0,3o="",3n=p.B.7g;D(l i=0;i<5r.v;i++){l 1N=5r[i];f(1N===u||1N.v===0){1H}3o+=3n(5v.1Q(18,1N.G-18),"7h")+3n(1N.1U,1N.19);18=1N.G+1N.v}3o+=3n(5v.1Q(18),"7h");q 3o},1I:h(1j,6Y){l a1=p.M,3l=p.1t,A,9Z,3i,a0="78";c.1A={};c.A=u;c.1m=u;c.I=u;c.1h=u;c.5I={};c.1g=p.B.5H("a8");3l.5K[c.1g]=c;f(1j===u){1j=""}f(3l.3k===u){3l.3k=p.B.5p()}c.1A=p.B.5o(p.77,6Y||{});f(c.V("6Z")==U){c.1A.1z=c.1A.4Z=N}c.A=A=c.12("3j");c.1m=c.12("3j");c.1m.J="1m";J="7P";A.1g=c.1g;f(c.V("56")){J+=" 51"}f(c.V("4Z")==N){J+=" ak"}f(c.V("4S-1m")==N){c.1m.J+=" al-4S"}J+=" "+c.V("1e-1f");A.J=J;c.4W=1j;c.I=p.B.6W(1j).C(/\\r/g," ");3i=c.V("1C-2A");c.I=c.V("6V-70")==U?p.B.71(c.I,3i):p.B.76(c.I,3i);c.I=p.B.2D(c.I);f(c.V("1z")){c.1h=c.12("3j");c.1h.J="1h";c.1h.1G(p.1z.12(c));A.1G(c.1h);l 1h=c.1h;h 5d(){1h.J=1h.J.C("75","")};A.ab=h(){5d();1h.J+=" 75"};A.ad=h(){5d()}}f(c.V("5f")){A.1G(p.B.74())}A.1G(c.1m);c.2R=c.72(c.5n,c.I);c.73();1j=c.7l(c.I,c.2R);1j=c.7m(p.B.33(1j));f(c.V("7G-7F")){1j=p.B.7C(1j)}c.1m.1x=1j},bn:h(z){z=z.C(/^\\s+|\\s+$/g,"").C(/\\s+/g,"\\\\b|\\\\b");q"\\\\b"+z+"\\\\b"},bl:h(2W){c.3O={E:{3q:2W.E,19:"2c"},13:{3q:2W.13,19:"2c"},I:T R("(?"+2W.E.1c+")"+"(?.*?)"+"(?<13>"+2W.13.1c+")","bv")}}};q p}()}f(!5V.1i){5V.Y.1i=h(7M,3R){3R=3J.bF(3R||0,0);D(l i=3R;i|[7B]{[^}]+})[\\S\\s]?|\\((?=\\?(?!#|<[\\w$]+>)))+|(\\()(?:\\?(?:(#)[^)]*\\)|<([$\\w]+)>))?|\\\\(?:k<([\\w$]+)>|[7B]{([^}]+)})|(\\[\\^?)|([\\S\\s])/g,by:/(?:[^$]+|\\$(?![1-9$&`\']|{[$\\w]+}))+|\\$(?:([1-9]\\d*|[$&`\'])|{([$\\w]+)})/g,3M:/^(?:\\s+|#.*)+/,5F:/^(?:[?*+]|{\\d+(?:,\\d*)?})/,7x:/&&\\[\\^?/g,7v:/]/g},7n=h(5l,5k,4X){D(l i=4X||0;i<5l.v;i++){f(5l[i]===5k){q i}}q-1},7y=/()??/.Q("")[1]!==3K,3w={};R=h(1d,1Y){f(1d 3T 11){f(1Y!==3K){3L 7N("4C\'t 4I bJ 7H aY 7J 11 4X aZ")}q 1d.3C()}l 1Y=1Y||"",7w=1Y.1i("s")>-1,6X=1Y.1i("x")>-1,5q=N,3u=[],14=[],W=1K.W,H,3D,3F,3E,3v;W.O=0;29(H=2z.Q.2n(W,1d)){f(H[2]){f(!1K.5F.1R(1d.15(W.O))){14.K("(?:)")}}F{f(H[1]){3u.K(H[3]||u);f(H[3]){5q=U}14.K("(")}F{f(H[4]){3E=7n(3u,H[4]);14.K(3E>-1?"\\\\"+(3E+1)+(55(1d.5J(W.O))?"":"(?:)"):H[0])}F{f(H[5]){14.K(3w.7t?3w.7t.7u(H[5],H[0].5J(1)==="P"):H[0])}F{f(H[6]){f(1d.5J(W.O)==="]"){14.K(H[6]==="["?"(?!)":"[\\\\S\\\\s]");W.O++}F{3D=R.7q("&&"+1d.15(H.G),1K.7x,1K.7v,"",{7s:"\\\\"})[0];14.K(H[6]+3D+"]");W.O+=3D.v+1}}F{f(H[7]){f(7w&&H[7]==="."){14.K("[\\\\S\\\\s]")}F{f(6X&&1K.3M.1R(H[7])){3F=2z.Q.2n(1K.3M,1d.15(W.O-1))[0].v;f(!1K.5F.1R(1d.15(W.O-1+3F))){14.K("(?:)")}W.O+=3F-1}F{14.K(H[7])}}}F{14.K(H[0])}}}}}}}3v=11(14.5u(""),2z.C.2n(1Y,/[8y]+/g,""));3v.1u={1c:1d,2j:5q?3u:u};q 3v};R.8B=h(1f,o){3w[1f]=o};11.Y.Q=h(z){l 1b=2z.Q.2n(c,z),1f,i,5C;f(1b){f(7y&&1b.v>1){5C=T 11("^"+c.1c+"$(?!\\\\s)",c.4a());2z.C.2n(1b[0],5C,h(){D(i=1;i<7z.v-2;i++){f(7z[i]===3K){1b[i]=3K}}})}f(c.1u&&c.1u.2j){D(i=1;i<1b.v;i++){1f=c.1u.2j[i-1];f(1f){1b[1f]=1b[i]}}}f(c.3A&&c.O>(1b.G+1b[0].v)){c.O--}}q 1b}})()}11.Y.4a=h(){q(c.3A?"g":"")+(c.8M?"i":"")+(c.7D?"m":"")+(c.3M?"x":"")+(c.8Y?"y":"")};11.Y.3C=h(7o){l 4g=T R(c.1c,(7o||"")+c.4a());f(c.1u){4g.1u={1c:c.1u.1c,2j:c.1u.2j?c.1u.2j.15(0):u}}q 4g};11.Y.2n=h(90,z){q c.Q(z)};11.Y.8W=h(8U,7p){q c.Q(7p[0])};R.47=h(4f,4e){l 46="/"+4f+"/"+(4e||"");q R.47[46]||(R.47[46]=T R(4f,4e))};R.3t=h(z){q z.C(/[-[\\]{}()*+?.\\\\^$|,#\\s]/g,"\\\\$&")};R.7q=h(z,E,Z,1a,2T){l 2T=2T||{},2X=2T.7s,X=2T.8A,1a=1a||"",4s=1a.1i("g")>-1,7E=1a.1i("i")>-1,7L=1a.1i("m")>-1,4t=1a.1i("y")>-1,1a=1a.C(/y/g,""),E=E 3T 11?(E.3A?E:E.3C("g")):T R(E,"g"+1a),Z=Z 3T 11?(Z.3A?Z:Z.3C("g")):T R(Z,"g"+1a),1D=[],2b=0,1o=0,1p=0,1y=0,27,22,1w,1B,3I,4m;f(2X){f(2X.v>1){3L 8n("4C\'t 4I 8q 8z 7J 3t 7I")}f(7L){3L 7N("4C\'t 4I 3t 7I 7H 9U 9D 7D 9C")}3I=R.3t(2X);4m=T 11("^(?:"+3I+"[\\\\S\\\\s]|(?:(?!"+E.1c+"|"+Z.1c+")[^"+3I+"])+)+",7E?"i":"")}29(U){E.O=Z.O=1p+(2X?(4m.Q(z.15(1p))||[""])[0].v:0);1w=E.Q(z);1B=Z.Q(z);f(1w&&1B){f(1w.G<=1B.G){1B=u}F{1w=u}}f(1w||1B){1o=(1w||1B).G;1p=(1w?E:Z).O}F{f(!2b){2m}}f(4t&&!2b&&1o>1y){2m}f(1w){f(!2b++){27=1o;22=1p}}F{f(1B&&2b){f(!--2b){f(X){f(X[0]&&27>1y){1D.K([X[0],z.15(1y,27),1y,27])}f(X[1]){1D.K([X[1],z.15(27,22),27,22])}f(X[2]){1D.K([X[2],z.15(22,1o),22,1o])}f(X[3]){1D.K([X[3],z.15(1o,1p),1o,1p])}}F{1D.K(z.15(22,1o))}1y=1p;f(!4s){2m}}}F{E.O=Z.O=0;3L 9q("9A 9i 9a 9d 8u")}}f(1o===1p){1p++}}f(4s&&!4t&&X&&X[0]&&z.v>1y){1D.K([X[0],z.15(1y),1y,z.v])}E.O=Z.O=0;q 1D};',62,728,'||||||||||||this|||if||function||||var||||sh|return||||null|length||||str|div|utils|replace|for|left|else|index|_10f|code|className|push|document|config|false|lastIndex||exec|XRegExp||new|true|getParam|part|vN|prototype|_127||RegExp|create|right|_10d|slice||_c4|pos|css|_128|_117|source|_107|class|name|id|bar|indexOf|_f0|strings|_cb|lines|style|_132|_133|window|_e3|createElement|vars|_x|alert|_137|innerHTML|_134|toolbar|params|_138|tab|_130|_e8|lt|appendChild|continue|highlight|_be|lib|_c7|obj|_ef|doc|split|substr|test|width|_4b|value|span|_3c|nbsp|_108|min|_dc|_98|_136|in|_57|_56|_d7|_135|_8|while|_91|_131|script|text|_b2|_6e|http|execute|wnd|captureNames|_5b|_b5|break|call|gt|_b8|href|toString|_75|height|html|attributes|_d5|_d9|_e4|_fe|size|brushes|_88|unindent|SyntaxHighlighter|_40|_b4|_a2|_7a|_51|m1|body|_dd|case|m2|line|_80|matches|_28|_129|_62|_81|_fa|_12a|_5|_ca|getMatches|concat|_b6|trim|print|_7c|_de|_5e|_d3|_a7|offsetMatches|_5c|_76|_6a|_65|_df|_b0|write|_f6|DIV|spaceWidth|_f3|_4a|_ed|_ec|url|regex|_7d|_2|escape|_10c|_113|_106|_7b|_3|_8e|global|title|addFlags|cc|_112|len|fixInputString|_32|_139|Math|undefined|throw|extended|font|htmlScript|printFrame|_22|_fc|_25|instanceof|_17|_9d|_9e|_18|expandSource|_d1|_8c|viewSource|_1a|top|_4f|_da|key|cache|_10|win|getNativeFlags|_19|_50|focus|_122|_121|_11c|_b|Match|_ba|gm|findBrush|esc|eachLine|_4|_6c|values|_73|_12c|_12f|_6b|color|_89|gi|_bd|_bf|_9|HtmlScript|can|discoveredBrushes|xmlBrush|_f|_5d|_82|supply|_7|_c1|func|_59|_c8|_b7|_e|_d|pre|wrap|_ac|com|_a3|originalCode|from|link|gutter||collapsed|clipboardSwf|_37|popup|isNaN|collapse|_blank|_38|_ae|removeChild|String|contentWindow|hide|_24|ruler|swf|_30|_7e|_ad|item|_101|_2f|regexList|merge|measureSpace|_10b|_ea|_2a|_2c|join|_e9|_2e|px|_2b|_4c|_e5|content|r2|margin|_29|quantifier|_49|guid|toolbarCommands|charAt|highlighters|_27|highlighterId|_a6|close|toolbarItemWidth|_2d|_48|toolbarItemHeight|_35|copyToClipboard|Array|userAgent|_90|_84|navigator|_85|_78|_79|_83|_3f|items|_1e|_16|_13|_12|shockwave|flash|clipboardData|_36|object|version|_15|_14|center|alexgorbatchev|align|head|org|2009|_6|executeCommand|commandName|_a|createButton|copyToClipboardConfirmation|message|w3|event|_4e|screen|switch|attachEvent|_5a|_66|www|_61|noBrush|_47|aboutDialog|insertSpaces|copyStyles|500px|0px|_3e|type|scrollbars|help|stylesheet|rel|_6d|debug|DTD|smart|trimFirstAndLastLines|_10a|_f1|light|tabs|processSmartTabs|findMatches|removeNestedMatches|createRuler|show|processTabs|defaults|important|first|padNumber|parseInt|xhtml1|matchesSortCallback|_e0|_e1|decorate|plain|block|_e6|_e7|processMatches|createDisplayLines|_100|_11b|args|matchRecursive|_93|escapeChar|unicode|get|classRight|_109|classLeft|_105|arguments|clipboard|pP|processUrls|multiline|_12d|links|auto|when|character|one|match|_12e|_fb|TypeError|_d4|syntaxhighlighter|addEvent|defaultAdd|_a1|parentNode|_b9|_bb|_c2|brushNotHtmlScript|_a4|_a8|_b1|toArray|getElementsByTagName|tagName|parseParams|regexLib|_a9|brush|_ab|process|_9a|Highlighter|_cf|toBoolean|_c9|_c6|_d0|_cd|_ce|_d2|bloggerMode|stripBrs|catch|SyntaxError|now|Can|more|xhtml|utf|onclick|delimiters|wasn|your|family|sx|than|valueNames|addPlugin|About|try|charset|_26|400|750|find|_21|location|Type|ignoreCase|menubar|resizable|Content|_20|_1f|param|meta|_11f|Brush|apply|_1b|sticky|Geneva|_11d|_1c|equiv|to|syntax|highlighter|JavaScript|expand|none|3em|contains|view|Alex|unbalanced|2004|Copyright|decoration|0099FF|data|320|4em|bottom|75em|May|large|xx|Error|target|03|Gorbatchev|multiLineCComments|aspScriptTags|scriptScriptTags|phpScriptTags|Arial|multiLineSingleQuotedString|subject|The|flag|the|is|string|typeof|Helvetica|sans|000|fff|1em|singleLinePerlComments|singleLineCComments|copy|doubleQuotedString|serif|multiLineDoubleQuotedString|background|singleQuotedString|using|W3C|random|1000000|round|_f5|_f7|_f2|spaces|alt|transitional|open|highlighted|number|highlighter_|250|shCore|onmouseover|toLowerCase|onmouseout|printing|about|_42|_44|500|_43|nogutter|no|sort|on|getComputedStyle|getPropertyValue|opera|getElementById|1999|offsetWidth|_a5|_99|dtd|1000|xmlns|_8a|textarea|70em|_c5|150|lastIndexOf|aliases|addEventListener|_c0|middot|replaceChild|30em|all|load|Xml|absolute|position|444553540000|codebase|96b8|11cf|ae6d|PUBLIC|download|cabs|constructing|another|pub|macromedia|d27cdb6e|clsid|always|wmode|allowScriptAccess|application|_clipboard|transparent|flashVars|msie|classid|menu|DOCTYPE|option|swflash|cab|TR|error|ok|forHtmlScript|setData|getKeywords|printSource|IFRAME|cssText||_3b|_3a|_39|sgi|amp|Transitional|replaceVar|XHTML|embed|movie|src|configured|command|max|_34|_33|EN|flags'.split('|'),0,{}))
      31 | 
      
      
      --------------------------------------------------------------------------------