@@ -1,16 +1,16 @@ |
||
1 | 1 | <?php |
2 | 2 | /** |
3 | - * Require Image_Text class for generating the text. |
|
4 | - * |
|
5 | - * PHP version 5 |
|
6 | - * |
|
7 | - * @category Text |
|
8 | - * @package Text_CAPTCHA |
|
9 | - * @author Christian Wenz <[email protected]> |
|
10 | - * @author Michael Cramer <[email protected]> |
|
11 | - * @license http://www.opensource.org/licenses/bsd-license.php BSD License |
|
12 | - * @link http://pear.php.net/package/Text_CAPTCHA |
|
13 | - */ |
|
3 | + * Require Image_Text class for generating the text. |
|
4 | + * |
|
5 | + * PHP version 5 |
|
6 | + * |
|
7 | + * @category Text |
|
8 | + * @package Text_CAPTCHA |
|
9 | + * @author Christian Wenz <[email protected]> |
|
10 | + * @author Michael Cramer <[email protected]> |
|
11 | + * @license http://www.opensource.org/licenses/bsd-license.php BSD License |
|
12 | + * @link http://pear.php.net/package/Text_CAPTCHA |
|
13 | + */ |
|
14 | 14 | |
15 | 15 | /** |
16 | 16 | * Text_CAPTCHA_Driver_Image - Text_CAPTCHA driver graphical CAPTCHAs |
@@ -1,26 +1,26 @@ |
||
1 | 1 | <?php |
2 | 2 | /** |
3 | - * Exception for Text_CAPTCHA |
|
4 | - * |
|
5 | - * PHP version 5 |
|
6 | - * |
|
7 | - * @category Text |
|
8 | - * @package Text_CAPTCHA |
|
9 | - * @author Christian Weiske <[email protected]> |
|
10 | - * @author Christian Wenz <[email protected]> |
|
11 | - * @author Michael Cramer <[email protected]> |
|
12 | - * @license http://www.opensource.org/licenses/bsd-license.php BSD License |
|
13 | - * @link http://pear.php.net/package/Text_CAPTCHA |
|
14 | - */ |
|
3 | + * Exception for Text_CAPTCHA |
|
4 | + * |
|
5 | + * PHP version 5 |
|
6 | + * |
|
7 | + * @category Text |
|
8 | + * @package Text_CAPTCHA |
|
9 | + * @author Christian Weiske <[email protected]> |
|
10 | + * @author Christian Wenz <[email protected]> |
|
11 | + * @author Michael Cramer <[email protected]> |
|
12 | + * @license http://www.opensource.org/licenses/bsd-license.php BSD License |
|
13 | + * @link http://pear.php.net/package/Text_CAPTCHA |
|
14 | + */ |
|
15 | 15 | /** |
16 | - * Exception for Text_CAPTCHA |
|
17 | - * |
|
18 | - * @category Text |
|
19 | - * @package Text_CAPTCHA |
|
20 | - * @author Michael Cramer <[email protected]> |
|
21 | - * @license http://www.opensource.org/licenses/bsd-license.php BSD License |
|
22 | - * @link http://pear.php.net/package/Text_CAPTCHA |
|
23 | - */ |
|
16 | + * Exception for Text_CAPTCHA |
|
17 | + * |
|
18 | + * @category Text |
|
19 | + * @package Text_CAPTCHA |
|
20 | + * @author Michael Cramer <[email protected]> |
|
21 | + * @license http://www.opensource.org/licenses/bsd-license.php BSD License |
|
22 | + * @link http://pear.php.net/package/Text_CAPTCHA |
|
23 | + */ |
|
24 | 24 | class Text_CAPTCHA_Exception extends PEAR_Exception |
25 | 25 | { |
26 | 26 |
@@ -441,17 +441,17 @@ discard block |
||
441 | 441 | * List of vowels and vowel sounds |
442 | 442 | */ |
443 | 443 | $v = array('a', 'e', 'i', 'o', 'u', 'ae', 'ou', 'io', |
444 | - 'ea', 'ou', 'ia', 'ai' |
|
445 | - ); |
|
444 | + 'ea', 'ou', 'ia', 'ai' |
|
445 | + ); |
|
446 | 446 | |
447 | 447 | /** |
448 | 448 | * List of consonants and consonant sounds |
449 | 449 | */ |
450 | 450 | $c = array('b', 'c', 'd', 'g', 'h', 'j', 'k', 'l', 'm', |
451 | - 'n', 'p', 'r', 's', 't', 'u', 'v', 'w', |
|
452 | - 'tr', 'cr', 'fr', 'dr', 'wr', 'pr', 'th', |
|
453 | - 'ch', 'ph', 'st', 'sl', 'cl' |
|
454 | - ); |
|
451 | + 'n', 'p', 'r', 's', 't', 'u', 'v', 'w', |
|
452 | + 'tr', 'cr', 'fr', 'dr', 'wr', 'pr', 'th', |
|
453 | + 'ch', 'ph', 'st', 'sl', 'cl' |
|
454 | + ); |
|
455 | 455 | |
456 | 456 | $v_count = 12; |
457 | 457 | $c_count = 29; |
@@ -484,50 +484,50 @@ discard block |
||
484 | 484 | /** |
485 | 485 | * List of character which could be use in the password |
486 | 486 | */ |
487 | - switch($chars) { |
|
487 | + switch($chars) { |
|
488 | 488 | |
489 | - case 'alphanumeric': |
|
489 | + case 'alphanumeric': |
|
490 | 490 | $chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789'; |
491 | - $GLOBALS['_Text_Password_NumberOfPossibleCharacters'] = 62; |
|
492 | - break; |
|
491 | + $GLOBALS['_Text_Password_NumberOfPossibleCharacters'] = 62; |
|
492 | + break; |
|
493 | 493 | |
494 | - case 'alphabetical': |
|
494 | + case 'alphabetical': |
|
495 | 495 | $chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz'; |
496 | - $GLOBALS['_Text_Password_NumberOfPossibleCharacters'] = 52; |
|
497 | - break; |
|
496 | + $GLOBALS['_Text_Password_NumberOfPossibleCharacters'] = 52; |
|
497 | + break; |
|
498 | 498 | |
499 | - case 'numeric': |
|
499 | + case 'numeric': |
|
500 | 500 | $chars = '0123456789'; |
501 | - $GLOBALS['_Text_Password_NumberOfPossibleCharacters'] = 10; |
|
502 | - break; |
|
501 | + $GLOBALS['_Text_Password_NumberOfPossibleCharacters'] = 10; |
|
502 | + break; |
|
503 | 503 | |
504 | - case '': |
|
504 | + case '': |
|
505 | 505 | $chars = '_#@%&ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789'; |
506 | - $GLOBALS['_Text_Password_NumberOfPossibleCharacters'] = 67; |
|
507 | - break; |
|
506 | + $GLOBALS['_Text_Password_NumberOfPossibleCharacters'] = 67; |
|
507 | + break; |
|
508 | 508 | |
509 | - default: |
|
509 | + default: |
|
510 | 510 | /** |
511 | 511 | * Some characters shouldn't be used |
512 | 512 | */ |
513 | 513 | $chars = trim($chars); |
514 | - $chars = str_replace(array('+', '|', '$', '^', '/', '\\', ','), '', $chars); |
|
515 | - |
|
516 | - $GLOBALS['_Text_Password_NumberOfPossibleCharacters'] = strlen($chars); |
|
517 | - } |
|
518 | - |
|
519 | - /** |
|
520 | - * Generate password |
|
521 | - */ |
|
522 | - for ($i = 0; $i < $length; $i++) { |
|
523 | - $num = mt_rand(0, $GLOBALS['_Text_Password_NumberOfPossibleCharacters'] - 1); |
|
524 | - $password .= $chars{$num}; |
|
525 | - } |
|
526 | - |
|
527 | - /** |
|
528 | - * Return password |
|
529 | - */ |
|
530 | - return $password; |
|
514 | + $chars = str_replace(array('+', '|', '$', '^', '/', '\\', ','), '', $chars); |
|
515 | + |
|
516 | + $GLOBALS['_Text_Password_NumberOfPossibleCharacters'] = strlen($chars); |
|
517 | + } |
|
518 | + |
|
519 | + /** |
|
520 | + * Generate password |
|
521 | + */ |
|
522 | + for ($i = 0; $i < $length; $i++) { |
|
523 | + $num = mt_rand(0, $GLOBALS['_Text_Password_NumberOfPossibleCharacters'] - 1); |
|
524 | + $password .= $chars{$num}; |
|
525 | + } |
|
526 | + |
|
527 | + /** |
|
528 | + * Return password |
|
529 | + */ |
|
530 | + return $password; |
|
531 | 531 | } |
532 | 532 | } |
533 | 533 | ?> |
@@ -1,22 +1,22 @@ discard block |
||
1 | 1 | <?php |
2 | 2 | /** |
3 | - * General API for generating and formatting diffs - the differences between |
|
4 | - * two sequences of strings. |
|
5 | - * |
|
6 | - * The original PHP version of this code was written by Geoffrey T. Dairiki |
|
7 | - * <[email protected]>, and is used/adapted with his permission. |
|
8 | - * |
|
9 | - * $Horde: framework/Text_Diff/Diff.php,v 1.11.2.12 2009/01/06 15:23:41 jan Exp $ |
|
10 | - * |
|
11 | - * Copyright 2004 Geoffrey T. Dairiki <[email protected]> |
|
12 | - * Copyright 2004-2009 The Horde Project (http://www.horde.org/) |
|
13 | - * |
|
14 | - * See the enclosed file COPYING for license information (LGPL). If you did |
|
15 | - * not receive this file, see http://opensource.org/licenses/lgpl-license.php. |
|
16 | - * |
|
17 | - * @package Text_Diff |
|
18 | - * @author Geoffrey T. Dairiki <[email protected]> |
|
19 | - */ |
|
3 | + * General API for generating and formatting diffs - the differences between |
|
4 | + * two sequences of strings. |
|
5 | + * |
|
6 | + * The original PHP version of this code was written by Geoffrey T. Dairiki |
|
7 | + * <[email protected]>, and is used/adapted with his permission. |
|
8 | + * |
|
9 | + * $Horde: framework/Text_Diff/Diff.php,v 1.11.2.12 2009/01/06 15:23:41 jan Exp $ |
|
10 | + * |
|
11 | + * Copyright 2004 Geoffrey T. Dairiki <[email protected]> |
|
12 | + * Copyright 2004-2009 The Horde Project (http://www.horde.org/) |
|
13 | + * |
|
14 | + * See the enclosed file COPYING for license information (LGPL). If you did |
|
15 | + * not receive this file, see http://opensource.org/licenses/lgpl-license.php. |
|
16 | + * |
|
17 | + * @package Text_Diff |
|
18 | + * @author Geoffrey T. Dairiki <[email protected]> |
|
19 | + */ |
|
20 | 20 | class Text_Diff |
21 | 21 | { |
22 | 22 | |
@@ -227,7 +227,7 @@ discard block |
||
227 | 227 | function _getTempDir() |
228 | 228 | { |
229 | 229 | $tmp_locations = array('/tmp', '/var/tmp', 'c:\WUTemp', 'c:\temp', |
230 | - 'c:\windows\temp', 'c:\winnt\temp'); |
|
230 | + 'c:\windows\temp', 'c:\winnt\temp'); |
|
231 | 231 | |
232 | 232 | /* Try PHP's upload_tmp_dir directive. */ |
233 | 233 | $tmp = ini_get('upload_tmp_dir'); |
@@ -309,7 +309,7 @@ discard block |
||
309 | 309 | * of elements as $to_lines. |
310 | 310 | */ |
311 | 311 | function Text_MappedDiff($from_lines, $to_lines, |
312 | - $mapped_from_lines, $mapped_to_lines) |
|
312 | + $mapped_from_lines, $mapped_to_lines) |
|
313 | 313 | { |
314 | 314 | assert(count($from_lines) == count($mapped_from_lines)); |
315 | 315 | assert(count($to_lines) == count($mapped_to_lines)); |
@@ -129,13 +129,13 @@ |
||
129 | 129 | * preserve whitespace as well. Therefore we split on words, |
130 | 130 | * but include all blocks of whitespace in the wordlist. */ |
131 | 131 | $diff = new Text_Diff('native', |
132 | - array($this->_splitOnWords($text1, $nl), |
|
132 | + array($this->_splitOnWords($text1, $nl), |
|
133 | 133 | $this->_splitOnWords($text2, $nl))); |
134 | 134 | |
135 | 135 | /* Get the diff in inline format. */ |
136 | 136 | $renderer = new Text_Diff_Renderer_inline |
137 | 137 | (array_merge($this->getParams(), |
138 | - array('split_level' => 'words'))); |
|
138 | + array('split_level' => 'words'))); |
|
139 | 139 | |
140 | 140 | /* Run the diff and get the output. */ |
141 | 141 | return str_replace($nl, "\n", $renderer->render($diff)) . "\n"; |
@@ -104,8 +104,8 @@ discard block |
||
104 | 104 | } |
105 | 105 | /* @todo */ |
106 | 106 | $output .= $this->_block($x0, $ntrail + $xi - $x0, |
107 | - $y0, $ntrail + $yi - $y0, |
|
108 | - $block); |
|
107 | + $y0, $ntrail + $yi - $y0, |
|
108 | + $block); |
|
109 | 109 | $block = false; |
110 | 110 | } |
111 | 111 | } |
@@ -136,8 +136,8 @@ discard block |
||
136 | 136 | |
137 | 137 | if (is_array($block)) { |
138 | 138 | $output .= $this->_block($x0, $xi - $x0, |
139 | - $y0, $yi - $y0, |
|
140 | - $block); |
|
139 | + $y0, $yi - $y0, |
|
140 | + $block); |
|
141 | 141 | } |
142 | 142 | |
143 | 143 | return $output . $this->_endDiff(); |
@@ -29,7 +29,7 @@ |
||
29 | 29 | * of elements as $to_lines. |
30 | 30 | */ |
31 | 31 | function Text_Diff_Mapped($from_lines, $to_lines, |
32 | - $mapped_from_lines, $mapped_to_lines) |
|
32 | + $mapped_from_lines, $mapped_to_lines) |
|
33 | 33 | { |
34 | 34 | assert(count($from_lines) == count($mapped_from_lines)); |
35 | 35 | assert(count($to_lines) == count($mapped_to_lines)); |
@@ -124,9 +124,9 @@ |
||
124 | 124 | array_push($edits, |
125 | 125 | new Text_Diff_Op_copy( |
126 | 126 | $this->_getLines($from_lines, $from_line_no, |
127 | - $from_line_no + count($from_lines) - 1), |
|
127 | + $from_line_no + count($from_lines) - 1), |
|
128 | 128 | $this->_getLines($to_lines, $to_line_no, |
129 | - $to_line_no + count($to_lines) - 1))); |
|
129 | + $to_line_no + count($to_lines) - 1))); |
|
130 | 130 | } |
131 | 131 | |
132 | 132 | return $edits; |
@@ -1,23 +1,23 @@ discard block |
||
1 | 1 | <?php |
2 | 2 | /** |
3 | - * PEAR, the PHP Extension and Application Repository |
|
4 | - * |
|
5 | - * PEAR class and PEAR_Error class |
|
6 | - * |
|
7 | - * PHP versions 4 and 5 |
|
8 | - * |
|
9 | - * @category pear |
|
10 | - * @package PEAR |
|
11 | - * @author Sterling Hughes <[email protected]> |
|
12 | - * @author Stig Bakken <[email protected]> |
|
13 | - * @author Tomas V.V.Cox <[email protected]> |
|
14 | - * @author Greg Beaver <[email protected]> |
|
15 | - * @copyright 1997-2009 The Authors |
|
16 | - * @license http://opensource.org/licenses/bsd-license.php New BSD License |
|
17 | - * @version CVS: $Id: PEAR.php 286670 2009-08-02 14:16:06Z dufuz $ |
|
18 | - * @link http://pear.php.net/package/PEAR |
|
19 | - * @since File available since Release 0.1 |
|
20 | - */ |
|
3 | + * PEAR, the PHP Extension and Application Repository |
|
4 | + * |
|
5 | + * PEAR class and PEAR_Error class |
|
6 | + * |
|
7 | + * PHP versions 4 and 5 |
|
8 | + * |
|
9 | + * @category pear |
|
10 | + * @package PEAR |
|
11 | + * @author Sterling Hughes <[email protected]> |
|
12 | + * @author Stig Bakken <[email protected]> |
|
13 | + * @author Tomas V.V.Cox <[email protected]> |
|
14 | + * @author Greg Beaver <[email protected]> |
|
15 | + * @copyright 1997-2009 The Authors |
|
16 | + * @license http://opensource.org/licenses/bsd-license.php New BSD License |
|
17 | + * @version CVS: $Id: PEAR.php 286670 2009-08-02 14:16:06Z dufuz $ |
|
18 | + * @link http://pear.php.net/package/PEAR |
|
19 | + * @since File available since Release 0.1 |
|
20 | + */ |
|
21 | 21 | |
22 | 22 | // Added by Chamilo team, 16-MAR-2010 |
23 | 23 | if (class_exists('pear')) { return; } |
@@ -205,17 +205,17 @@ discard block |
||
205 | 205 | // {{{ getStaticProperty() |
206 | 206 | |
207 | 207 | /** |
208 | - * If you have a class that's mostly/entirely static, and you need static |
|
209 | - * properties, you can use this method to simulate them. Eg. in your method(s) |
|
210 | - * do this: $myVar = &PEAR::getStaticProperty('myclass', 'myVar'); |
|
211 | - * You MUST use a reference, or they will not persist! |
|
212 | - * |
|
213 | - * @access public |
|
214 | - * @param string $class The calling classname, to prevent clashes |
|
215 | - * @param string $var The variable to retrieve. |
|
216 | - * @return mixed A reference to the variable. If not set it will be |
|
217 | - * auto initialised to NULL. |
|
218 | - */ |
|
208 | + * If you have a class that's mostly/entirely static, and you need static |
|
209 | + * properties, you can use this method to simulate them. Eg. in your method(s) |
|
210 | + * do this: $myVar = &PEAR::getStaticProperty('myclass', 'myVar'); |
|
211 | + * You MUST use a reference, or they will not persist! |
|
212 | + * |
|
213 | + * @access public |
|
214 | + * @param string $class The calling classname, to prevent clashes |
|
215 | + * @param string $var The variable to retrieve. |
|
216 | + * @return mixed A reference to the variable. If not set it will be |
|
217 | + * auto initialised to NULL. |
|
218 | + */ |
|
219 | 219 | function &getStaticProperty($class, $var) |
220 | 220 | { |
221 | 221 | static $properties; |
@@ -234,14 +234,14 @@ discard block |
||
234 | 234 | // {{{ registerShutdownFunc() |
235 | 235 | |
236 | 236 | /** |
237 | - * Use this function to register a shutdown method for static |
|
238 | - * classes. |
|
239 | - * |
|
240 | - * @access public |
|
241 | - * @param mixed $func The function name (or array of class/method) to call |
|
242 | - * @param mixed $args The arguments to pass to the function |
|
243 | - * @return void |
|
244 | - */ |
|
237 | + * Use this function to register a shutdown method for static |
|
238 | + * classes. |
|
239 | + * |
|
240 | + * @access public |
|
241 | + * @param mixed $func The function name (or array of class/method) to call |
|
242 | + * @param mixed $args The arguments to pass to the function |
|
243 | + * @return void |
|
244 | + */ |
|
245 | 245 | function registerShutdownFunc($func, $args = array()) |
246 | 246 | { |
247 | 247 | // if we are called statically, there is a potential |
@@ -513,12 +513,12 @@ discard block |
||
513 | 513 | * @since PHP 4.0.5 |
514 | 514 | */ |
515 | 515 | function &raiseError($message = null, |
516 | - $code = null, |
|
517 | - $mode = null, |
|
518 | - $options = null, |
|
519 | - $userinfo = null, |
|
520 | - $error_class = null, |
|
521 | - $skipmsg = false) |
|
516 | + $code = null, |
|
517 | + $mode = null, |
|
518 | + $options = null, |
|
519 | + $userinfo = null, |
|
520 | + $error_class = null, |
|
521 | + $skipmsg = false) |
|
522 | 522 | { |
523 | 523 | // The error is yet a PEAR error object |
524 | 524 | if (is_object($message)) { |
@@ -584,8 +584,8 @@ discard block |
||
584 | 584 | * |
585 | 585 | */ |
586 | 586 | function &throwError($message = null, |
587 | - $code = null, |
|
588 | - $userinfo = null) |
|
587 | + $code = null, |
|
588 | + $userinfo = null) |
|
589 | 589 | { |
590 | 590 | if (isset($this) && is_a($this, 'PEAR')) { |
591 | 591 | $a = &$this->raiseError($message, $code, null, null, $userinfo); |
@@ -707,12 +707,12 @@ discard block |
||
707 | 707 | // {{{ popErrorHandling() |
708 | 708 | |
709 | 709 | /** |
710 | - * Pop the last error handler used |
|
711 | - * |
|
712 | - * @return bool Always true |
|
713 | - * |
|
714 | - * @see PEAR::pushErrorHandling |
|
715 | - */ |
|
710 | + * Pop the last error handler used |
|
711 | + * |
|
712 | + * @return bool Always true |
|
713 | + * |
|
714 | + * @see PEAR::pushErrorHandling |
|
715 | + */ |
|
716 | 716 | function popErrorHandling() |
717 | 717 | { |
718 | 718 | $stack = &$GLOBALS['_PEAR_error_handler_stack']; |
@@ -731,12 +731,12 @@ discard block |
||
731 | 731 | // {{{ loadExtension() |
732 | 732 | |
733 | 733 | /** |
734 | - * OS independant PHP extension load. Remember to take care |
|
735 | - * on the correct extension name for case sensitive OSes. |
|
736 | - * |
|
737 | - * @param string $ext The extension name |
|
738 | - * @return bool Success or not on the dl() call |
|
739 | - */ |
|
734 | + * OS independant PHP extension load. Remember to take care |
|
735 | + * on the correct extension name for case sensitive OSes. |
|
736 | + * |
|
737 | + * @param string $ext The extension name |
|
738 | + * @return bool Success or not on the dl() call |
|
739 | + */ |
|
740 | 740 | function loadExtension($ext) |
741 | 741 | { |
742 | 742 | if (!extension_loaded($ext)) { |
@@ -999,10 +999,10 @@ discard block |
||
999 | 999 | * @return int error code |
1000 | 1000 | * @access public |
1001 | 1001 | */ |
1002 | - function getCode() |
|
1003 | - { |
|
1002 | + function getCode() |
|
1003 | + { |
|
1004 | 1004 | return $this->code; |
1005 | - } |
|
1005 | + } |
|
1006 | 1006 | |
1007 | 1007 | // }}} |
1008 | 1008 | // {{{ getType() |
@@ -1110,10 +1110,10 @@ discard block |
||
1110 | 1110 | $callback = $this->callback; |
1111 | 1111 | } |
1112 | 1112 | return sprintf('[%s: message="%s" code=%d mode=callback '. |
1113 | - 'callback=%s prefix="%s" info="%s"]', |
|
1114 | - strtolower(get_class($this)), $this->message, $this->code, |
|
1115 | - $callback, $this->error_message_prefix, |
|
1116 | - $this->userinfo); |
|
1113 | + 'callback=%s prefix="%s" info="%s"]', |
|
1114 | + strtolower(get_class($this)), $this->message, $this->code, |
|
1115 | + $callback, $this->error_message_prefix, |
|
1116 | + $this->userinfo); |
|
1117 | 1117 | } |
1118 | 1118 | if ($this->mode & PEAR_ERROR_PRINT) { |
1119 | 1119 | $modes[] = 'print'; |
@@ -1128,11 +1128,11 @@ discard block |
||
1128 | 1128 | $modes[] = 'return'; |
1129 | 1129 | } |
1130 | 1130 | return sprintf('[%s: message="%s" code=%d mode=%s level=%s '. |
1131 | - 'prefix="%s" info="%s"]', |
|
1132 | - strtolower(get_class($this)), $this->message, $this->code, |
|
1133 | - implode("|", $modes), $levels[$this->level], |
|
1134 | - $this->error_message_prefix, |
|
1135 | - $this->userinfo); |
|
1131 | + 'prefix="%s" info="%s"]', |
|
1132 | + strtolower(get_class($this)), $this->message, $this->code, |
|
1133 | + implode("|", $modes), $levels[$this->level], |
|
1134 | + $this->error_message_prefix, |
|
1135 | + $this->userinfo); |
|
1136 | 1136 | } |
1137 | 1137 | |
1138 | 1138 | // }}} |