Find this useful? Enter your email to receive occasional updates for securing PHP code.

Signing you up...

Thank you for signing up!

PHP Decode

<?php /* ===================================================== DataLife Engine - by So..

Decoded Output download

?><?php
/*
=====================================================
 DataLife Engine - by SoftNews Media Group 
-----------------------------------------------------
 https://dle-news.ru/
-----------------------------------------------------
 Copyright (c) 2004-2023 SoftNews Media Group
=====================================================
 This code is protected by copyright
=====================================================
 File: thumb.class.php
-----------------------------------------------------
 Use: Thumbnail class
=====================================================
*/
use Intervention\Image\ImageManagerStatic as Image;

if( !defined( 'DATALIFEENGINE' ) ) {
	header( "HTTP/1.1 403 Forbidden" );
	header ( 'Location: ../../' );
	die( "Hacking attempt!" );
}

class thumbnail {
	
	public $width;
	public $height;
	public $quality = 90;
	public $re_save = false;
	public $format = '';

	private $file = '';	
	private $diver = 'gd';
	private $backup = '';
	private $image;
	private $watermarkimage;
	private $watermark = false;
	private $hidpiwatermarkimage;
	private $hidpiwatermark = false;

	public $tinypng = false;
	public $tinypng_method = false;
	public $tinypng_resize = false;
	public $tinypng_error = false;
	public $tinypng_width = 0;
	public $tinypng_height = 0;
	
	public $error = false;

	function __construct( $file, $backup = false, $min_uploads = false) {
		global $lang, $config;
		
		if( is_array($file) ) {
			
			$this->file = $file['tmp_name'];
			$file_parts = pathinfo($file['name']);
			
		} else {
			
			$this->file = $file;
			$file_parts = pathinfo($file);
		}

		$this->backup  = $backup;
		$this->quality = $config['jpeg_quality'];

		try {

			if($config['image_driver'] != "2") {
				
				if(extension_loaded('imagick') && class_exists('Imagick'))	{
					
					$this->diver  =  'imagick';
					
					if ( ! \Imagick::queryFormats('WEBP') AND function_exists('imagewebp') AND $config['image_driver'] != "1" ) {
						
						$this->diver  =  'gd';
					
					}
		
				}
				
			}
			
			Image::configure(array('driver' => $this->diver));
			$this->image = Image::make($this->file)->orientate();
			
			if( $this->backup ) {
				$this->image->backup();
			}

		
		} catch(Exception $e) {
			
			$message = $e->getMessage();

			if( stripos($message, "Unsupported image type" ) !== false OR stripos($message, "Unable to read image" ) !== false ) $message = $lang['file_not_image'];
			
			$this->error( $message );
			return false;

		}

		$this->width = $this->image->width();
		$this->height = $this->image->height();
		$mime = $this->image->mime();

		switch ($mime) {
            case 'image/png':
            case 'image/x-png':
				$this->format = "png";
				break;
			case 'image/gif':
				$this->format = "gif";
				break;
			case 'image/avif':
			case 'image/heif':
				$this->format = "avif";
				break;
            case 'image/webp':
            case 'image/x-webp':
			case 'image/heic':
			case 'image/heic-sequence':
				$this->format = "webp";
				break;
			default:
				$this->format = "jpg";
		}

		$file_parts['extension'] = isset($file_parts['extension']) ? $file_parts['extension'] : '';
		
		if($file_parts['extension'] != $this->format) {
			
			$this->re_save = true;
			
		}
		
		if( $config['force_webp'] AND $this->format != $config['force_webp'] ) {
			$this->re_save = true;
			$this->format = $config['force_webp'];
		}
		
		if( intval( $config['min_up_side'] ) AND $min_uploads) {

			$min_size = explode ("x", $config['min_up_side']);
			
			$allowed = true;
			
			if ( count($min_size) == 2 ) {
				
				$min_size[0] = intval($min_size[0]);
				$min_size[1] = intval($min_size[1]);
	
				if( $this->width < $min_size[0] OR $this->height < $min_size[1] ) {

					$allowed = false;
				
				}
				
			} else {
				
				$min_size[0] = intval($min_size[0]);
				
				if( $this->width < $min_size[0] OR $this->height < $min_size[0] ) {
					
					$allowed = false;
				
				}
				
			}
			
			if( !$allowed ) {
				
				$lang['upload_error_7'] = str_ireplace("{minsize}", $config['min_up_side'], $lang['upload_error_7']);
				
				$this->error( $lang['upload_error_7'] );
				return false;
				
			}
		
		}
		
		if( $config['image_tinypng'] AND $config['tinypng_key'] AND ($this->format == "png" OR $this->format == "jpg" OR $this->format == "webp") ) {
			
			try {
				
				\Tinify\setKey( $config['tinypng_key'] );
				
				$this->tinypng = true;
				$this->tinypng_method = false;
				$this->tinypng_resize = $config['tinypng_resize'];
				$this->re_save = true;
				
			} catch(\Tinify\Exception $e) {
			
				$this->tinypng = false;
				$this->tinypng_error = $e->getMessage();
			}
			
		}

		
	}
	
	function size_auto($size = 100, $site = 0, $hidpi = false) {
		
		if( $this->error ) return false;

		$size = explode ("x", $size);

		if ( count($size) == 2 ) {
			
			$size[0] = intval($size[0]);
			$size[1] = intval($size[1]);

			if ( $size[0] < 10 ) return false;
			if ( $size[1] < 10 ) return false;

			return $this->crop( $size[0], $size[1], $hidpi );

		} else {
			
			$size[0] = intval($size[0]);

			if ( $size[0] < 10 ) return false;

			return $this->scale( $size[0], $site, $hidpi);

		}

	}

	function crop($nw , $nh, $hidpi = false) {
		
		if( $this->error ) return false;

		if ($hidpi) {
			$nw = $nw * 2;
			$nh = $nh * 2;
		}

		if( $this->width <= $nw AND $this->height <= $nh ) {
			return false;
		}

		if( $this->tinypng AND $this->tinypng_resize ) {
			
			$this->tinypng_method = "cover";
			$this->tinypng_width = $nw;
			$this->tinypng_height = $nh;
			
		}

		try {
			
			$this->image->fit($nw, $nh, function ($constraint) {
				$constraint->upsize();
			});
			
			$this->re_save = true;
		
		} catch(Exception $e) {
			
			$this->error( $e->getMessage() );
			return false;

		}
		
		$this->width = $this->image->width();
		$this->height = $this->image->height();
		
		return true;
	}

	function scale($size = 100, $site = 0, $hidpi = false) {
		
		if( $this->error ) return false;

		$site = intval( $site );
		$size = intval( $size );

		if($hidpi) $size = $size * 2;

		if( $this->width <= $size AND $this->height <= $size ) {
			return false;
		}
		
		switch ($site) {
			
			case "1" :
				
				if( $this->width <= $size ) {
					
					return false;
				
				} else {
					
					try {
						
						$this->image->widen($size, function ($constraint) {
							$constraint->upsize();
						});
					
					} catch(Exception $e) {
						
						$this->error( $e->getMessage() );
						return false;
			
					}
		
				}
				
				break;
			
			case "2" :
				
				if( $this->height <= $size ) {
					
					return false;
				
				} else {
					
					try {
						
						$this->image->heighten($size, function ($constraint) {
							$constraint->upsize();
						});
					
					} catch(Exception $e) {
						
						$this->error( $e->getMessage() );
						return false;
			
					}

					
				}
				
				break;
			
			default :
				
				if( $this->width >= $this->height ) {
					
					try {
						
						$this->image->resize($size, null, function ($constraint) {
							$constraint->aspectRatio();
							$constraint->upsize();
						});
					
					} catch(Exception $e) {
						
						$this->error( $e->getMessage() );
						return false;
			
					}
					
					
				} else {
					
					try {
						
						$this->image->resize(null, $size, function ($constraint) {
							$constraint->aspectRatio();
							$constraint->upsize();
						});
					
					} catch(Exception $e) {
						
						$this->error( $e->getMessage() );
						return false;
			
					}
				
				}
				
				break;
		}
		
		$this->width = $this->image->width();
		$this->height = $this->image->height();
		$this->re_save = true;
		
		return true;

	}
	
	function insert_watermark($min_image, $hidpi = false) {
		global $config, $lang;
		
		if( $this->error ) return false;
		
		$margin = 10;
		$min_image = intval($min_image);

		if (!$config['watermark_type']) $hidpi = false;

		if ($hidpi) {
			$margin = $margin * 2;
			$min_image = $min_image * 2;
		}

		$watermark_image_light = 'watermark_light.png';
		$watermark_image_dark = 'watermark_dark.png';

		if($config['watermark_seite'] == 1) {
			
			$position = 'top-left';
			
		} elseif($config['watermark_seite'] == 2) {
			
			$position = 'top-right';
			
		} elseif($config['watermark_seite'] == 3) {
			
			$position = 'bottom-left';
			
		} elseif($config['watermark_seite'] == 4) {
			
			$position = 'bottom-right';
			
		} else {
	
			$position = 'center';
			$margin = 0;
			
		}

		$make_watermark = false;

		if(!$hidpi AND !$this->watermark) $make_watermark = true;

		if ($hidpi AND !$this->hidpiwatermark) $make_watermark = true;

		if( ( $make_watermark ) ) {
			
			if( !$config['watermark_type'] ) {
				
				list ( $temp_x, $temp_y ) = getimagesize( ROOT_DIR . '/templates/' . $config['skin'] . '/dleimages/'. $watermark_image_dark );
				
			} else { $temp_x = 100; $temp_y = 50; }
			
			$temp_img = Image::make( $this->file );
			$temp_img->resizeCanvas($temp_x, $temp_y, $position);
			$temp_img->resize(1, 1);
			$rgb = $temp_img->pickColor(0, 0);
			unset($rgb[3]);
			$max = min( $rgb );
			$min = max( $rgb );
			$lightness = ( double ) (($max + $min) / 510.0);
			unset($temp_img);unset($temp_x);unset($temp_x);
			
			$watermark_image = ($lightness < 0.5) ? $watermark_image_light : $watermark_image_dark;
			$watermark_color = ($lightness < 0.5) ? $config['watermark_color_light'] : $config['watermark_color_dark'];
			$watermark_size = intval($config['watermark_font']);

			if( $hidpi ) {
				$watermark_size = $watermark_size * 2;
			}

			if( !$config['watermark_type'] ) {

				try {
					
					$this->watermarkimage = Image::make( ROOT_DIR . '/templates/' . $config['skin'] . '/dleimages/'. $watermark_image );
					
				} catch(Exception $e) {
					
					$lang['images_uperr_5'] = str_ireplace('{file}', '/templates/' . $config['skin'] . '/dleimages/'. $watermark_image, $lang['images_uperr_5']); 
					$this->error( $lang['images_uperr_5'] );
					return false;
		
				}
				
			} else {
				
				try {
					
					$fontclassname = sprintf('\Intervention\Image\%s\Font', $this->image->getDriver()->getDriverName());
					$font = new $fontclassname($config['watermark_text']);
					$font->file(ENGINE_DIR . '/skins/fonts/verdana.ttf');
					$font->size( $watermark_size );
					$w_sizes = $font->getBoxSize();

					if ( $hidpi ) {

						$this->hidpiwatermarkimage = Image::canvas($w_sizes['width'], $w_sizes['height']);

						$this->hidpiwatermarkimage->text($config['watermark_text'], 0, 0, function ($font) use ($watermark_color, $watermark_size) {
							global $config;

							$font->file(ENGINE_DIR . '/skins/fonts/verdana.ttf');
							$font->size($watermark_size);
							$font->valign('top');
							$font->color($watermark_color);
						});

					} else {

						$this->watermarkimage = Image::canvas($w_sizes['width'], $w_sizes['height']);

						$this->watermarkimage->text($config['watermark_text'], 0, 0, function ($font) use ($watermark_color, $watermark_size) {
							global $config;

							$font->file(ENGINE_DIR . '/skins/fonts/verdana.ttf');
							$font->size( $watermark_size );
							$font->valign('top');
							$font->color($watermark_color);
						});

					}

					
				} catch(Exception $e) {
					
					$this->error( $lang['images_uperr_6'] );
					return false;
		
				}
				
			}

			try {
				
				$config['watermark_rotate'] = intval($config['watermark_rotate']);
				$config['watermark_opacity'] = intval($config['watermark_opacity']);
				
				if($config['watermark_opacity'] < 0 OR $config['watermark_opacity'] > 100 ) {
					$config['watermark_opacity'] = 100;
				}

				if( $config['watermark_rotate'] ) {

					if ($hidpi) {
						$this->hidpiwatermarkimage->rotate($config['watermark_rotate']);
					} else {
						$this->watermarkimage->rotate($config['watermark_rotate']);
					}

				}
				
				if( $config['watermark_opacity'] != 100 ) {

					if ($hidpi) {
						$this->hidpiwatermarkimage->opacity($config['watermark_opacity']);
					} else {
						$this->watermarkimage->opacity($config['watermark_opacity']);
					}
				}
				
			} catch(Exception $e) {
				
				$this->error( $lang['images_uperr_6'] );
				return false;
	
			}

			$this->watermark = true;

		}

		if ($hidpi) {
			$watermark_width = $this->hidpiwatermarkimage->width() + $margin;
			$watermark_height = $this->hidpiwatermarkimage->height() + $margin;
		} else {
			$watermark_width = $this->watermarkimage->width() + $margin;
			$watermark_height = $this->watermarkimage->height() + $margin;
		}

		if( $this->width < $min_image OR $this->height < $min_image OR $this->width < $watermark_width OR $this->height < $watermark_height ) {
			
			return false;
		}
		
		try {

			if ($hidpi) {
				$this->image->insert($this->hidpiwatermarkimage, $position, $margin, $margin);
			} else {
				$this->image->insert($this->watermarkimage, $position, $margin, $margin);
			}

			$this->re_save = true;
			
		} catch(Exception $e) {
			
			$this->error( $e->getMessage() );
			return false;

		}
		
		return true;
	
	}

	function save($save = "", $autoprefix = false) {
		
		if( $this->error ) return false;

		$file_parts = pathinfo($save);

		if( isset( $file_parts['dirname'] ) AND $file_parts['dirname'] ) {
			
			$save_path = $file_parts['dirname'].'/';
			
		} else $save_path = '';
		
		if( isset( $file_parts['filename'] ) AND $file_parts['filename'] ) {
			
			$file_name = $file_parts['filename'].'.'.$this->format;
			
		} else $file_name = time().'.'.$this->format;
		
		if( $autoprefix ) {
			
			if( DLEFiles::FileExists( $save_path.$file_name ) ) {
				$file_name = time()."_".$file_name;
			}
			
		}

		try {
			
			$imagesource = (string) $this->image->encode($this->format, $this->quality);
			
			if( $this->backup ) {
				
				$this->image->reset();
				$this->width = $this->image->width();
				$this->height = $this->image->height();
				
			}
			
		} catch(Exception $e) {
			
			$this->error( $e->getMessage() );
			return false;
	
		}
		
		if( $this->tinypng ) {

			$imagesource = $this->tinypng_compress( $imagesource );
			
			
		}
		
		if( !DLEFiles::Save( $save_path.$file_name,  $imagesource ) ) {
			$this->error( DLEFiles::$error );
			return false;
		}

		return $file_name;

	}
	
	function tinypng_compress( $imagesource ) {
	
		if( $this->error ) return false;
		
		try {
			
			if( $this->tinypng_method ) {
				
				if( stripos($this->file, "https://" ) === 0 OR stripos($this->file, "http://" ) === 0 ) {
					$source = \TinifyromUrl( $this->file );
				} else {
					$source = \TinifyromFile( $this->file );
				}

				
				$options = array("method" => $this->tinypng_method);
				
				if( $this->tinypng_width ) $options['width'] = $this->tinypng_width;
				if( $this->tinypng_height ) $options['height'] = $this->tinypng_height;
			
				$resized = $source->resize($options);
				$tinypng_buffer = $resized->toBuffer();

			} else {
				
				$source = \TinifyromBuffer( $imagesource );
				$tinypng_buffer = $source->toBuffer();
				
			}
			
			return $tinypng_buffer;
			
		} catch(\Tinify\Exception $e) {
			
			$this->tinypng = false;
		
			$this->tinypng_error = $e->getMessage();
			
			return $imagesource;
			
		}

	}

	function error( $text ) {
		
		$this->error = (string)$text;
		
	}
	
}

Did this file decode correctly?

Original Code

<?php
/*
=====================================================
 DataLife Engine - by SoftNews Media Group 
-----------------------------------------------------
 https://dle-news.ru/
-----------------------------------------------------
 Copyright (c) 2004,2023 SoftNews Media Group
-----------------------------------------------------
 You use Demo Version of DataLife Engine
=====================================================
*/
?><?php $_F=__FILE__;$_X='PzBEP2VxZW9JKm82NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2Nm9KalJMUnM4TUtKMXh1OHhLSi1KdmJKPEVNTFZLYSBKN0tBOFJKejJFWGVKby0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tb0pxTExlIDpJSUFRSy14S2EgMzJYSW8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLW9KVEVlYjI4dXFMSihmKUpwaWlILXBpcDlKPEVNTFZLYSBKN0tBOFJKejJFWGVvNjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjZvSlNxOCBKZkVBS0o4IEplMkVMS2ZMS0FKdmJKZkVlYjI4dXFMbzY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2b0pHOFFLOkpMcVhZdjNmUVIgIDNlcWVvLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1vSnQgSzpKU3FYWXZ4UjhRSmZRUiAgbzY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2bypJb1ggS0pkeExLMkNLeEw4RXhcZFlSdUtcZFlSdUs3UnhSdUsyPExSTDhmSlIgSmRZUnVLO29vOE0oSiFBS004eEtBKEonalpTWnNkRzExVnpkVjEnSilKKUpsbwlxS1JBSzIoSiI1U1NQSVczV0pIaTlKR0UydjhBQUt4IkopO28JcUtSQUsySihKJ3NFZlJMOEV4OkozM0kzM0knSik7bwlBOEsoSiI1UmZCOHh1SlJMTEtZZUwhIkopO28Kb29mUVIgIEpMcVhZdnhSOFFKbG8JbwllWHZROGZKJGE4QUxxO28JZVh2UThmSiRxSzh1cUw7bwllWHZROGZKJHJYUlE4TGJKNkp3aTtvCWVYdlE4ZkokMktfIFJDS0o2Sk1SUSBLO28JZVh2UThmSiRNRTJZUkxKNkonJztvbwllMjhDUkxLSiRNOFFLSjZKJyc7CW8JZTI4Q1JMS0okQThDSzJKNkondUEnO28JZTI4Q1JMS0okdlJmQlhlSjZKJyc7bwllMjhDUkxLSiQ4WVJ1SztvCWUyOENSTEtKJGFSTEsyWVIyQjhZUnVLO28JZTI4Q1JMS0okYVJMSzJZUjJCSjZKTVJRIEs7bwllMjhDUkxLSiRxOEFlOGFSTEsyWVIyQjhZUnVLO28JZTI4Q1JMS0okcThBZThhUkxLMllSMkJKNkpNUlEgSztvbwllWHZROGZKJEw4eGJleHVKNkpNUlEgSztvCWVYdlE4ZkokTDh4YmV4dV9ZS0xxRUFKNkpNUlEgSztvCWVYdlE4ZkokTDh4YmV4dV8ySyA4XUtKNkpNUlEgSztvCWVYdlE4ZkokTDh4YmV4dV9LMjJFMko2Sk1SUSBLO28JZVh2UThmSiRMOHhiZXh1X2E4QUxxSjZKaTtvCWVYdlE4ZkokTDh4YmV4dV9xSzh1cUxKNkppO28JbwllWHZROGZKJEsyMkUySjZKTVJRIEs7b28JTVh4Zkw4RXhKX19mRXggTDJYZkwoSiRNOFFLLEokdlJmQlhlSjZKTVJRIEssSiRZOHhfWGVRRVJBIEo2Sk1SUSBLKUpsbwkJdVFFdlJRSiRRUnh1LEokZkV4TTh1O28JCW8JCThNKEo4IF9SMjJSYigkTThRSylKKUpsbwkJCW8JCQkkTHE4IC0wTThRS0o2SiRNOFFLLidMWWVfeFJZSyc+O28JCQkkTThRS19lUjJMIEo2SmVSTHE4eE1FKCRNOFFLLid4UllLJz4pO28JCQlvCQkKSktRIEtKbG8JCQlvCQkJJExxOCAtME04UUtKNkokTThRSztvCQkJJE04UUtfZVIyTCBKNkplUkxxOHhNRSgkTThRSyk7bwkJCm9vCQkkTHE4IC0wdlJmQlhlSko2SiR2UmZCWGU7bwkJJExxOCAtMHJYUlE4TGJKNkokZkV4TTh1Lid5ZUt1X3JYUlE4TGInPjtvbwkJTDJiSmxvbwkJCThNKCRmRXhNOHUuJzhZUnVLX0EyOENLMic+SiE2SiJwIilKbG8JCQkJbwkJCQk4TShLRkxLeCA4RXhfUUVSQUtBKCc4WVJ1OGZCJylKJiZKZlFSICBfS0Y4IEwgKCdkWVJ1OGZCJykpCWxvCQkJCQlvCQkJCQkkTHE4IC0wQThDSzJKSjZKSic4WVJ1OGZCJztvCQkJCQlvCQkJCQk4TUooSiFKXGRZUnU4ZkI6OnJYSzJiR0UyWVJMICgnazE0UCcpSlpWakpNWHhmTDhFeF9LRjggTCAoJzhZUnVLYUt2ZScpSlpWakokZkV4TTh1Lic4WVJ1S19BMjhDSzInPkohNkoiVyJKKUpsbwkJCQkJCW8JCQkJCQkkTHE4IC0wQThDSzJKSjZKSid1QSc7bwkJCQkJbwkJCQkJCm8JCW8JCQkJCm8JCQkJbwkJCQpvCQkJbwkJCWRZUnVLOjpmRXhNOHVYMksoUjIyUmIoJ0EyOENLMidKNjBKJExxOCAtMEE4Q0syKSk7bwkJCSRMcTggLTA4WVJ1S0o2SmRZUnVLOjpZUkJLKCRMcTggLTBNOFFLKS0wRTI4S3hMUkxLKCk7bwkJCW8JCQk4TShKJExxOCAtMHZSZkJYZUopSmxvCQkJCSRMcTggLTA4WVJ1Sy0wdlJmQlhlKCk7bwkJCQpvbwkJbwkJCkpmUkxmcSgxRmZLZUw4RXhKJEspSmxvCQkJbwkJCSRZSyAgUnVLSjZKJEstMHVLTDdLICBSdUsoKTtvbwkJCThNKEogTDI4ZUUgKCRZSyAgUnVLLEoidHggWGVlRTJMS0FKOFlSdUtKTGJlSyJKKUohNjZKTVJRIEtKL09KIEwyOGVFICgkWUsgIFJ1SyxKInR4UnZRS0pMRUoyS1JBSjhZUnVLIkopSiE2NkpNUlEgS0opSiRZSyAgUnVLSjZKJFFSeHUuJ004UUtfeEVMXzhZUnVLJz47bwkJCW8JCQkkTHE4IC0wSzIyRTIoSiRZSyAgUnVLSik7bwkJCTJLTFgyeEpNUlEgSztvbwkJCm9vCQkkTHE4IC0wYThBTHFKNkokTHE4IC0wOFlSdUstMGE4QUxxKCk7bwkJJExxOCAtMHFLOHVxTEo2SiRMcTggLTA4WVJ1Sy0wcUs4dXFMKCk7bwkJJFk4WUtKNkokTHE4IC0wOFlSdUstMFk4WUsoKTtvbwkJIGE4TGZxSigkWThZSylKbG9KSkpKSkpKSkpKSkpmUiBLSic4WVJ1S0lleHUnOm9KSkpKSkpKSkpKSkpmUiBLSic4WVJ1S0lGLWV4dSc6bwkJCQkkTHE4IC0wTUUyWVJMSjZKImV4dSI7bwkJCQl2MktSQjtvCQkJZlIgS0onOFlSdUtJdThNJzpvCQkJCSRMcTggLTBNRTJZUkxKNkoidThNIjtvCQkJCXYyS1JCO28JCQlmUiBLSic4WVJ1S0lSQzhNJzpvCQkJZlIgS0onOFlSdUtJcUs4TSc6bwkJCQkkTHE4IC0wTUUyWVJMSjZKIlJDOE0iO28JCQkJdjJLUkI7b0pKSkpKSkpKSkpKSmZSIEtKJzhZUnVLSWFLdmUnOm9KSkpKSkpKSkpKSkpmUiBLSic4WVJ1S0lGLWFLdmUnOm8JCQlmUiBLSic4WVJ1S0lxSzhmJzpvCQkJZlIgS0onOFlSdUtJcUs4Zi0gS3JYS3hmSyc6bwkJCQkkTHE4IC0wTUUyWVJMSjZKImFLdmUiO28JCQkJdjJLUkI7bwkJCUFLTVJYUUw6bwkJCQkkTHE4IC0wTUUyWVJMSjZKInlldSI7bwkJCm9vCQkkTThRS19lUjJMIC4nS0ZMS3ggOEV4Jz5KNko4ICBLTCgkTThRS19lUjJMIC4nS0ZMS3ggOEV4Jz4pSj9KJE04UUtfZVIyTCAuJ0tGTEt4IDhFeCc+SjpKJyc7bwkJbwkJOE0oJE04UUtfZVIyTCAuJ0tGTEt4IDhFeCc+SiE2SiRMcTggLTBNRTJZUkwpSmxvCQkJbwkJCSRMcTggLTAyS18gUkNLSjZKTDJYSztvCQkJbwkJCm8JCW8JCThNKEokZkV4TTh1LidNRTJmS19hS3ZlJz5KWlZqSiRMcTggLTBNRTJZUkxKITZKJGZFeE04dS4nTUUyZktfYUt2ZSc+SilKbG8JCQkkTHE4IC0wMktfIFJDS0o2SkwyWEs7bwkJCSRMcTggLTBNRTJZUkxKNkokZkV4TTh1LidNRTJmS19hS3ZlJz47bwkJCm8JCW8JCThNKEo4eExDUlEoSiRmRXhNOHUuJ1k4eF9YZV8gOEFLJz5KKUpaVmpKJFk4eF9YZVFFUkEgKUpsb28JCQkkWTh4XyA4XUtKNkpLRmVRRUFLSigiRiIsSiRmRXhNOHUuJ1k4eF9YZV8gOEFLJz4pO28JCQlvCQkJJFJRUUVhS0FKNkpMMlhLO28JCQlvCQkJOE1KKEpmRVh4TCgkWTh4XyA4XUspSjY2SnBKKUpsbwkJCQlvCQkJCSRZOHhfIDhdSy5pPko2Sjh4TENSUSgkWTh4XyA4XUsuaT4pO28JCQkJJFk4eF8gOF1LLlc+SjZKOHhMQ1JRKCRZOHhfIDhdSy5XPik7bwlvCQkJCThNKEokTHE4IC0wYThBTHFKREokWTh4XyA4XUsuaT5KL09KJExxOCAtMHFLOHVxTEpESiRZOHhfIDhdSy5XPkopSmxvbwkJCQkJJFJRUUVhS0FKNkpNUlEgSztvCQkJCW8JCQkJCm8JCQkJbwkJCQpKS1EgS0psbwkJCQlvCQkJCSRZOHhfIDhdSy5pPko2Sjh4TENSUSgkWTh4XyA4XUsuaT4pO28JCQkJbwkJCQk4TShKJExxOCAtMGE4QUxxSkRKJFk4eF8gOF1LLmk+Si9PSiRMcTggLTBxSzh1cUxKREokWTh4XyA4XUsuaT5KKUpsbwkJCQkJbwkJCQkJJFJRUUVhS0FKNkpNUlEgSztvCQkJCW8JCQkJCm8JCQkJbwkJCQpvCQkJbwkJCThNKEohJFJRUUVhS0FKKUpsbwkJCQlvCQkJCSRRUnh1LidYZVFFUkFfSzIyRTJfVSc+SjZKIEwyXzgyS2VRUmZLKCJsWTh4IDhdSwoiLEokZkV4TTh1LidZOHhfWGVfIDhBSyc+LEokUVJ4dS4nWGVRRVJBX0syMkUyX1UnPik7bwkJCQlvCQkJCSRMcTggLTBLMjJFMihKJFFSeHUuJ1hlUUVSQV9LMjJFMl9VJz5KKTtvCQkJCTJLTFgyeEpNUlEgSztvCQkJCW8JCQkKbwkJbwkJCm8JCW8JCThNKEokZkV4TTh1Lic4WVJ1S19MOHhiZXh1Jz5KWlZqSiRmRXhNOHUuJ0w4eGJleHVfQktiJz5KWlZqSigkTHE4IC0wTUUyWVJMSjY2SiJleHUiSi9PSiRMcTggLTBNRTJZUkxKNjZKInlldSJKL09KJExxOCAtME1FMllSTEo2NkoiYUt2ZSIpSilKbG8JCQlvCQkJTDJiSmxvCQkJCW8JCQkJXFM4eDhNYlwgS0w9S2IoSiRmRXhNOHUuJ0w4eGJleHVfQktiJz5KKTtvCQkJCW8JCQkJJExxOCAtMEw4eGJleHVKNkpMMlhLO28JCQkJJExxOCAtMEw4eGJleHVfWUtMcUVBSjZKTVJRIEs7bwkJCQkkTHE4IC0wTDh4YmV4dV8ySyA4XUtKNkokZkV4TTh1LidMOHhiZXh1XzJLIDhdSyc+O28JCQkJJExxOCAtMDJLXyBSQ0tKNkpMMlhLO28JCQkJbwkJCQpKZlJMZnEoXFM4eDhNYlwxRmZLZUw4RXhKJEspSmxvCQkJbwkJCQkkTHE4IC0wTDh4YmV4dUo2Sk1SUSBLO28JCQkJJExxOCAtMEw4eGJleHVfSzIyRTJKNkokSy0wdUtMN0sgIFJ1SygpO28JCQkKbwkJCW8JCQpvbwkJbwkKbwlvCU1YeGZMOEV4SiA4XUtfUlhMRSgkIDhdS0o2SldpaSxKJCA4TEtKNkppLEokcThBZThKNkpNUlEgSylKbG8JCW8JCThNKEokTHE4IC0wSzIyRTJKKUoyS0xYMnhKTVJRIEs7b28JCSQgOF1LSjZKS0ZlUUVBS0ooIkYiLEokIDhdSyk7b28JCThNSihKZkVYeEwoJCA4XUspSjY2SnBKKUpsbwkJCW8JCQkkIDhdSy5pPko2Sjh4TENSUSgkIDhdSy5pPik7bwkJCSQgOF1LLlc+SjZKOHhMQ1JRKCQgOF1LLlc+KTtvbwkJCThNSihKJCA4XUsuaT5KREpXaUopSjJLTFgyeEpNUlEgSztvCQkJOE1KKEokIDhdSy5XPkpESldpSilKMktMWDJ4Sk1SUSBLO29vCQkJMktMWDJ4SiRMcTggLTBmMkVlKEokIDhdSy5pPixKJCA4XUsuVz4sSiRxOEFlOEopO29vCQkKSktRIEtKbG8JCQlvCQkJJCA4XUsuaT5KNko4eExDUlEoJCA4XUsuaT4pO29vCQkJOE1KKEokIDhdSy5pPkpESldpSilKMktMWDJ4Sk1SUSBLO29vCQkJMktMWDJ4SiRMcTggLTAgZlJRSyhKJCA4XUsuaT4sSiQgOExLLEokcThBZTgpO29vCQkKb28JCm9vCU1YeGZMOEV4SmYyRWUoJHhhSixKJHhxLEokcThBZThKNkpNUlEgSylKbG8JCW8JCThNKEokTHE4IC0wSzIyRTJKKUoyS0xYMnhKTVJRIEs7b28JCThNSigkcThBZTgpSmxvCQkJJHhhSjZKJHhhSipKcDtvCQkJJHhxSjZKJHhxSipKcDtvCQkKb28JCThNKEokTHE4IC0wYThBTHFKRDZKJHhhSlpWakokTHE4IC0wcUs4dXFMSkQ2SiR4cUopSmxvCQkJMktMWDJ4Sk1SUSBLO28JCQpvbwkJOE0oSiRMcTggLTBMOHhiZXh1SlpWakokTHE4IC0wTDh4YmV4dV8ySyA4XUtKKUpsbwkJCW8JCQkkTHE4IC0wTDh4YmV4dV9ZS0xxRUFKNkoiZkVDSzIiO28JCQkkTHE4IC0wTDh4YmV4dV9hOEFMcUo2SiR4YTtvCQkJJExxOCAtMEw4eGJleHVfcUs4dXFMSjZKJHhxO28JCQlvCQkKb28JCUwyYkpsbwkJCW8JCQkkTHE4IC0wOFlSdUstME04TCgkeGEsSiR4cSxKTVh4Zkw4RXhKKCRmRXggTDJSOHhMKUpsbwkJCQkkZkV4IEwyUjh4TC0wWGUgOF1LKCk7bwkJCQopO28JCQlvCQkJJExxOCAtMDJLXyBSQ0tKNkpMMlhLO28JCW8JCQpKZlJMZnEoMUZmS2VMOEV4SiRLKUpsbwkJCW8JCQkkTHE4IC0wSzIyRTIoSiRLLTB1S0w3SyAgUnVLKClKKTtvCQkJMktMWDJ4Sk1SUSBLO29vCQkKbwkJbwkJJExxOCAtMGE4QUxxSjZKJExxOCAtMDhZUnVLLTBhOEFMcSgpO28JCSRMcTggLTBxSzh1cUxKNkokTHE4IC0wOFlSdUstMHFLOHVxTCgpO28JCW8JCTJLTFgyeEpMMlhLO28JCm9vCU1YeGZMOEV4SiBmUlFLKCQgOF1LSjZKV2lpLEokIDhMS0o2SmksSiRxOEFlOEo2Sk1SUSBLKUpsbwkJbwkJOE0oSiRMcTggLTBLMjJFMkopSjJLTFgyeEpNUlEgSztvbwkJJCA4TEtKNko4eExDUlEoSiQgOExLSik7bwkJJCA4XUtKNko4eExDUlEoSiQgOF1LSik7b28JCThNKCRxOEFlOClKJCA4XUtKNkokIDhdS0oqSnA7b28JCThNKEokTHE4IC0wYThBTHFKRDZKJCA4XUtKWlZqSiRMcTggLTBxSzh1cUxKRDZKJCA4XUtKKUpsbwkJCTJLTFgyeEpNUlEgSztvCQkKbwkJbwkJIGE4TGZxSigkIDhMSylKbG8JCQlvCQkJZlIgS0oiVyJKOm8JCQkJbwkJCQk4TShKJExxOCAtMGE4QUxxSkQ2SiQgOF1LSilKbG8JCQkJCW8JCQkJCTJLTFgyeEpNUlEgSztvCQkJCW8JCQkJCkpLUSBLSmxvCQkJCQlvCQkJCQlMMmJKbG8JCQkJCQlvCQkJCQkJJExxOCAtMDhZUnVLLTBhOEFLeCgkIDhdSyxKTVh4Zkw4RXhKKCRmRXggTDJSOHhMKUpsbwkJCQkJCQkkZkV4IEwyUjh4TC0wWGUgOF1LKCk7bwkJCQkJCQopO28JCQkJCW8JCQkJCQpKZlJMZnEoMUZmS2VMOEV4SiRLKUpsbwkJCQkJCW8JCQkJCQkkTHE4IC0wSzIyRTIoSiRLLTB1S0w3SyAgUnVLKClKKTtvCQkJCQkJMktMWDJ4Sk1SUSBLO28JCQlvCQkJCQkKbwkJbwkJCQkKbwkJCQlvCQkJCXYyS1JCO28JCQlvCQkJZlIgS0oicCJKOm8JCQkJbwkJCQk4TShKJExxOCAtMHFLOHVxTEpENkokIDhdS0opSmxvCQkJCQlvCQkJCQkyS0xYMnhKTVJRIEs7bwkJCQlvCQkJCQpKS1EgS0psbwkJCQkJbwkJCQkJTDJiSmxvCQkJCQkJbwkJCQkJCSRMcTggLTA4WVJ1Sy0wcUs4dXFMS3goJCA4XUssSk1YeGZMOEV4SigkZkV4IEwyUjh4TClKbG8JCQkJCQkJJGZFeCBMMlI4eEwtMFhlIDhdSygpO28JCQkJCQkKKTtvCQkJCQlvCQkJCQkKSmZSTGZxKDFGZktlTDhFeEokSylKbG8JCQkJCQlvCQkJCQkJJExxOCAtMEsyMkUyKEokSy0wdUtMN0sgIFJ1SygpSik7bwkJCQkJCTJLTFgyeEpNUlEgSztvCQkJbwkJCQkJCm9vCQkJCQlvCQkJCQpvCQkJCW8JCQkJdjJLUkI7bwkJCW8JCQlBS01SWFFMSjpvCQkJCW8JCQkJOE0oSiRMcTggLTBhOEFMcUowNkokTHE4IC0wcUs4dXFMSilKbG8JCQkJCW8JCQkJCUwyYkpsbwkJCQkJCW8JCQkJCQkkTHE4IC0wOFlSdUstMDJLIDhdSygkIDhdSyxKeFhRUSxKTVh4Zkw4RXhKKCRmRXggTDJSOHhMKUpsbwkJCQkJCQkkZkV4IEwyUjh4TC0wUiBlS2ZMT1JMOEUoKTtvCQkJCQkJCSRmRXggTDJSOHhMLTBYZSA4XUsoKTtvCQkJCQkJCik7bwkJCQkJbwkJCQkJCkpmUkxmcSgxRmZLZUw4RXhKJEspSmxvCQkJCQkJbwkJCQkJCSRMcTggLTBLMjJFMihKJEstMHVLTDdLICBSdUsoKUopO28JCQkJCQkyS0xYMnhKTVJRIEs7bwkJCW8JCQkJCQpvCQkJCQlvCQkJCQlvCQkJCQpKS1EgS0psbwkJCQkJbwkJCQkJTDJiSmxvCQkJCQkJbwkJCQkJCSRMcTggLTA4WVJ1Sy0wMksgOF1LKHhYUVEsSiQgOF1LLEpNWHhmTDhFeEooJGZFeCBMMlI4eEwpSmxvCQkJCQkJCSRmRXggTDJSOHhMLTBSIGVLZkxPUkw4RSgpO28JCQkJCQkJJGZFeCBMMlI4eEwtMFhlIDhdSygpO28JCQkJCQkKKTtvCQkJCQlvCQkJCQkKSmZSTGZxKDFGZktlTDhFeEokSylKbG8JCQkJCQlvCQkJCQkJJExxOCAtMEsyMkUyKEokSy0wdUtMN0sgIFJ1SygpSik7bwkJCQkJCTJLTFgyeEpNUlEgSztvCQkJbwkJCQkJCm8JCQkJbwkJCQkKbwkJCQlvCQkJCXYyS1JCO28JCQpvCQlvCQkkTHE4IC0wYThBTHFKNkokTHE4IC0wOFlSdUstMGE4QUxxKCk7bwkJJExxOCAtMHFLOHVxTEo2SiRMcTggLTA4WVJ1Sy0wcUs4dXFMKCk7bwkJJExxOCAtMDJLXyBSQ0tKNkpMMlhLO28JCW8JCTJLTFgyeEpMMlhLO29vCQpvCW8JTVh4Zkw4RXhKOHggSzJMX2FSTEsyWVIyQigkWTh4XzhZUnVLLEokcThBZThKNkpNUlEgSylKbG8JCXVRRXZSUUokZkV4TTh1LEokUVJ4dTtvCQlvCQk4TShKJExxOCAtMEsyMkUySilKMktMWDJ4Sk1SUSBLO28JCW8JCSRZUjJ1OHhKNkpXaTtvCQkkWTh4XzhZUnVLSjZKOHhMQ1JRKCRZOHhfOFlSdUspO29vCQk4TUooISRmRXhNOHUuJ2FSTEsyWVIyQl9MYmVLJz4pSiRxOEFlOEo2Sk1SUSBLO29vCQk4TUooJHE4QWU4KUpsbwkJCSRZUjJ1OHhKNkokWVIydTh4SipKcDtvCQkJJFk4eF84WVJ1S0o2SiRZOHhfOFlSdUtKKkpwO28JCQpvbwkJJGFSTEsyWVIyQl84WVJ1S19ROHVxTEo2SidhUkxLMllSMkJfUTh1cUwzZXh1JztvCQkkYVJMSzJZUjJCXzhZUnVLX0FSMkJKNkonYVJMSzJZUjJCX0FSMkIzZXh1JztvbwkJOE0oJGZFeE04dS4nYVJMSzJZUjJCXyBLOExLJz5KNjZKVylKbG8JCQlvCQkJJGVFIDhMOEV4SjZKJ0xFZS1RS01MJztvCQkJbwkJCkpLUSBLOE0oJGZFeE04dS4nYVJMSzJZUjJCXyBLOExLJz5KNjZKcClKbG8JCQlvCQkJJGVFIDhMOEV4SjZKJ0xFZS0yOHVxTCc7bwkJCW8JCQpKS1EgSzhNKCRmRXhNOHUuJ2FSTEsyWVIyQl8gSzhMSyc+SjY2SjkpSmxvCQkJbwkJCSRlRSA4TDhFeEo2Sid2RUxMRVktUUtNTCc7bwkJCW8JCQpKS1EgSzhNKCRmRXhNOHUuJ2FSTEsyWVIyQl8gSzhMSyc+SjY2SkgpSmxvCQkJbwkJCSRlRSA4TDhFeEo2Sid2RUxMRVktMjh1cUwnO28JCQlvCQkKSktRIEtKbG8JbwkJCSRlRSA4TDhFeEo2SidmS3hMSzInO28JCQkkWVIydTh4SjZKaTtvCQkJbwkJCm9vCQkkWVJCS19hUkxLMllSMkJKNkpNUlEgSztvbwkJOE0oISRxOEFlOEpaVmpKISRMcTggLTBhUkxLMllSMkIpSiRZUkJLX2FSTEsyWVIyQko2SkwyWEs7b28JCThNSigkcThBZThKWlZqSiEkTHE4IC0wcThBZThhUkxLMllSMkIpSiRZUkJLX2FSTEsyWVIyQko2SkwyWEs7b28JCThNKEooSiRZUkJLX2FSTEsyWVIyQkopSilKbG8JCQlvCQkJOE0oSiEkZkV4TTh1LidhUkxLMllSMkJfTGJlSyc+SilKbG8JCQkJbwkJCQlROCBMSihKJExLWWVfRixKJExLWWVfYkopSjZKdUtMOFlSdUsgOF1LKEpPLy9TX2pkT0ozSidJTEtZZVFSTEsgSSdKM0okZkV4TTh1LicgQjh4Jz5KM0onSUFRSzhZUnVLIEknM0okYVJMSzJZUjJCXzhZUnVLX0FSMkJKKTtvCQkJCW8JCQkKSktRIEtKbEokTEtZZV9GSjZKV2lpO0okTEtZZV9iSjZKbWk7SgpvCQkJbwkJCSRMS1llXzhZdUo2SmRZUnVLOjpZUkJLKEokTHE4IC0wTThRS0opO28JCQkkTEtZZV84WXUtMDJLIDhdS1RSeENSICgkTEtZZV9GLEokTEtZZV9iLEokZUUgOEw4RXgpO28JCQkkTEtZZV84WXUtMDJLIDhdSyhXLEpXKTtvCQkJJDJ1dko2SiRMS1llXzhZdS0wZThmQlRFUUUyKGksSmkpO28JCQlYeCBLTCgkMnV2Ljk+KTtvCQkJJFlSRko2Slk4eChKJDJ1dkopO28JCQkkWTh4SjZKWVJGKEokMnV2Sik7bwkJCSRROHVxTHhLICBKNkooSkFFWHZRS0opSigoJFlSRkorSiRZOHgpSklKbVdpM2kpO28JCQlYeCBLTCgkTEtZZV84WXUpO1h4IEtMKCRMS1llX0YpO1h4IEtMKCRMS1llX0YpO28JCQlvCQkJJGFSTEsyWVIyQl84WVJ1S0o2SigkUTh1cUx4SyAgSkRKaTNtKUo/SiRhUkxLMllSMkJfOFlSdUtfUTh1cUxKOkokYVJMSzJZUjJCXzhZUnVLX0FSMkI7bwkJCSRhUkxLMllSMkJfZkVRRTJKNkooJFE4dXFMeEsgIEpESmkzbSlKP0okZkV4TTh1LidhUkxLMllSMkJfZkVRRTJfUTh1cUwnPko6SiRmRXhNOHUuJ2FSTEsyWVIyQl9mRVFFMl9BUjJCJz47bwkJCSRhUkxLMllSMkJfIDhdS0o2Sjh4TENSUSgkZkV4TTh1LidhUkxLMllSMkJfTUV4TCc+KTtvbwkJCThNKEokcThBZThKKUpsbwkJCQkkYVJMSzJZUjJCXyA4XUtKNkokYVJMSzJZUjJCXyA4XUtKKkpwO28JCQkKb28JCQk4TShKISRmRXhNOHUuJ2FSTEsyWVIyQl9MYmVLJz5KKUpsb28JCQkJTDJiSmxvCQkJCQlvCQkJCQkkTHE4IC0wYVJMSzJZUjJCOFlSdUtKNkpkWVJ1Szo6WVJCSyhKTy8vU19qZE9KM0onSUxLWWVRUkxLIEknSjNKJGZFeE04dS4nIEI4eCc+SjNKJ0lBUUs4WVJ1SyBJJzNKJGFSTEsyWVIyQl84WVJ1S0opO28JCQkJCW8JCQkJCkpmUkxmcSgxRmZLZUw4RXhKJEspSmxvCQkJCQlvCQkJCQkkUVJ4dS4nOFlSdUsgX1hlSzIyX20nPko2SiBMMl84MktlUVJmSygnbE04UUsKJyxKJ0lMS1llUVJMSyBJJ0ozSiRmRXhNOHUuJyBCOHgnPkozSidJQVFLOFlSdUsgSSczSiRhUkxLMllSMkJfOFlSdUssSiRRUnh1Lic4WVJ1SyBfWGVLMjJfbSc+KTtKbwkJCQkJJExxOCAtMEsyMkUyKEokUVJ4dS4nOFlSdUsgX1hlSzIyX20nPkopO28JCQkJCTJLTFgyeEpNUlEgSztvCQlvCQkJCQpvCQkJCW8JCQkKSktRIEtKbG8JCQkJbwkJCQlMMmJKbG8JCQkJCW8JCQkJCSRNRXhMZlFSICB4UllLSjZKIGUyOHhMTSgnXGR4TEsyQ0t4TDhFeFxkWVJ1S1wlIFxHRXhMJyxKJExxOCAtMDhZUnVLLTB1S0xqMjhDSzIoKS0wdUtMajI4Q0syVlJZSygpKTtvCQkJCQkkTUV4TEo2SnhLYUokTUV4TGZRUiAgeFJZSygkZkV4TTh1LidhUkxLMllSMkJfTEtGTCc+KTtvCQkJCQkkTUV4TC0wTThRSygxVnpkVjFfamRPSjNKJ0kgQjh4IElNRXhMIElDSzJBUnhSM0xMTScpO28JCQkJCSRNRXhMLTAgOF1LKEokYVJMSzJZUjJCXyA4XUtKKTtvCQkJCQkkYV8gOF1LIEo2SiRNRXhMLTB1S0w0RUY8OF1LKCk7b28JCQkJCThNSihKJHE4QWU4SilKbG9vCQkJCQkJJExxOCAtMHE4QWU4YVJMSzJZUjJCOFlSdUtKNkpkWVJ1Szo6ZlJ4Q1IgKCRhXyA4XUsgLidhOEFMcSc+LEokYV8gOF1LIC4ncUs4dXFMJz4pO29vCQkJCQkJJExxOCAtMHE4QWU4YVJMSzJZUjJCOFlSdUstMExLRkwoJGZFeE04dS4nYVJMSzJZUjJCX0xLRkwnPixKaSxKaSxKTVh4Zkw4RXhKKCRNRXhMKUpYIEtKKCRhUkxLMllSMkJfZkVRRTIsSiRhUkxLMllSMkJfIDhdSylKbG8JCQkJCQkJdVFFdlJRSiRmRXhNOHU7b28JCQkJCQkJJE1FeEwtME04UUsoMVZ6ZFYxX2pkT0ozSidJIEI4eCBJTUV4TCBJQ0syQVJ4UjNMTE0nKTtvCQkJCQkJCSRNRXhMLTAgOF1LKCRhUkxLMllSMkJfIDhdSyk7bwkJCQkJCQkkTUV4TC0wQ1JROHV4KCdMRWUnKTtvCQkJCQkJCSRNRXhMLTBmRVFFMigkYVJMSzJZUjJCX2ZFUUUyKTtvCQkJCQkJCik7b28JCQkJCQpKS1EgS0psb28JCQkJCQkkTHE4IC0wYVJMSzJZUjJCOFlSdUtKNkpkWVJ1Szo6ZlJ4Q1IgKCRhXyA4XUsgLidhOEFMcSc+LEokYV8gOF1LIC4ncUs4dXFMJz4pO29vCQkJCQkJJExxOCAtMGFSTEsyWVIyQjhZUnVLLTBMS0ZMKCRmRXhNOHUuJ2FSTEsyWVIyQl9MS0ZMJz4sSmksSmksSk1YeGZMOEV4SigkTUV4TClKWCBLSigkYVJMSzJZUjJCX2ZFUUUyLEokYVJMSzJZUjJCXyA4XUspSmxvCQkJCQkJCXVRRXZSUUokZkV4TTh1O29vCQkJCQkJCSRNRXhMLTBNOFFLKDFWemRWMV9qZE9KM0onSSBCOHggSU1FeEwgSUNLMkFSeFIzTExNJyk7bwkJCQkJCQkkTUV4TC0wIDhdSyhKJGFSTEsyWVIyQl8gOF1LSik7bwkJCQkJCQkkTUV4TC0wQ1JROHV4KCdMRWUnKTtvCQkJCQkJCSRNRXhMLTBmRVFFMigkYVJMSzJZUjJCX2ZFUUUyKTtvCQkJCQkJCik7b28JCQkJCQpvbwkJCQkJbwkJCQkKSmZSTGZxKDFGZktlTDhFeEokSylKbG8JCQkJCW8JCQkJCSRMcTggLTBLMjJFMihKJFFSeHUuJzhZUnVLIF9YZUsyMl99Jz5KKTtvCQkJCQkyS0xYMnhKTVJRIEs7bwkJbwkJCQkKbwkJCQlvCQkJCm9vCQkJTDJiSmxvCQkJCW8JCQkJJGZFeE04dS4nYVJMSzJZUjJCXzJFTFJMSyc+SjZKOHhMQ1JRKCRmRXhNOHUuJ2FSTEsyWVIyQl8yRUxSTEsnPik7bwkJCQkkZkV4TTh1LidhUkxLMllSMkJfRWVSZjhMYic+SjZKOHhMQ1JRKCRmRXhNOHUuJ2FSTEsyWVIyQl9FZVJmOExiJz4pO28JCQkJbwkJCQk4TSgkZkV4TTh1LidhUkxLMllSMkJfRWVSZjhMYic+SkRKaUovT0okZkV4TTh1LidhUkxLMllSMkJfRWVSZjhMYic+SjBKV2lpSilKbG8JCQkJCSRmRXhNOHUuJ2FSTEsyWVIyQl9FZVJmOExiJz5KNkpXaWk7bwkJCQkKb28JCQkJOE0oSiRmRXhNOHUuJ2FSTEsyWVIyQl8yRUxSTEsnPkopSmxvbwkJCQkJOE1KKCRxOEFlOClKbG8JCQkJCQkkTHE4IC0wcThBZThhUkxLMllSMkI4WVJ1Sy0wMkVMUkxLKCRmRXhNOHUuJ2FSTEsyWVIyQl8yRUxSTEsnPik7bwkJCQkJCkpLUSBLSmxvCQkJCQkJJExxOCAtMGFSTEsyWVIyQjhZUnVLLTAyRUxSTEsoJGZFeE04dS4nYVJMSzJZUjJCXzJFTFJMSyc+KTtvCQkJCQkKb28JCQkJCm8JCQkJbwkJCQk4TShKJGZFeE04dS4nYVJMSzJZUjJCX0VlUmY4TGInPkohNkpXaWlKKUpsb28JCQkJCThNSigkcThBZTgpSmxvCQkJCQkJJExxOCAtMHE4QWU4YVJMSzJZUjJCOFlSdUstMEVlUmY4TGIoJGZFeE04dS4nYVJMSzJZUjJCX0VlUmY4TGInPik7bwkJCQkJCkpLUSBLSmxvCQkJCQkJJExxOCAtMGFSTEsyWVIyQjhZUnVLLTBFZVJmOExiKCRmRXhNOHUuJ2FSTEsyWVIyQl9FZVJmOExiJz4pO28JCQkJCQpvCQkJCQpvCQkJCW8JCQkKSmZSTGZxKDFGZktlTDhFeEokSylKbG8JCQkJbwkJCQkkTHE4IC0wSzIyRTIoSiRRUnh1Lic4WVJ1SyBfWGVLMjJffSc+Sik7bwkJCQkyS0xYMnhKTVJRIEs7bwlvCQkJCm9vCQkJJExxOCAtMGFSTEsyWVIyQko2SkwyWEs7b28JCQpvbwkJOE1KKCRxOEFlOClKbG8JCQkkYVJMSzJZUjJCX2E4QUxxSjZKJExxOCAtMHE4QWU4YVJMSzJZUjJCOFlSdUstMGE4QUxxKClKK0okWVIydTh4O28JCQkkYVJMSzJZUjJCX3FLOHVxTEo2SiRMcTggLTBxOEFlOGFSTEsyWVIyQjhZUnVLLTBxSzh1cUwoKUorSiRZUjJ1OHg7bwkJCkpLUSBLSmxvCQkJJGFSTEsyWVIyQl9hOEFMcUo2SiRMcTggLTBhUkxLMllSMkI4WVJ1Sy0wYThBTHEoKUorSiRZUjJ1OHg7bwkJCSRhUkxLMllSMkJfcUs4dXFMSjZKJExxOCAtMGFSTEsyWVIyQjhZUnVLLTBxSzh1cUwoKUorSiRZUjJ1OHg7bwkJCm9vCQk4TShKJExxOCAtMGE4QUxxSkRKJFk4eF84WVJ1S0ovT0okTHE4IC0wcUs4dXFMSkRKJFk4eF84WVJ1S0ovT0okTHE4IC0wYThBTHFKREokYVJMSzJZUjJCX2E4QUxxSi9PSiRMcTggLTBxSzh1cUxKREokYVJMSzJZUjJCX3FLOHVxTEopSmxvCQkJbwkJCTJLTFgyeEpNUlEgSztvCQkKbwkJbwkJTDJiSmxvbwkJCThNSigkcThBZTgpSmxvCQkJCSRMcTggLTA4WVJ1Sy0wOHggSzJMKCRMcTggLTBxOEFlOGFSTEsyWVIyQjhZUnVLLEokZUUgOEw4RXgsSiRZUjJ1OHgsSiRZUjJ1OHgpO28JCQkKSktRIEtKbG8JCQkJJExxOCAtMDhZUnVLLTA4eCBLMkwoJExxOCAtMGFSTEsyWVIyQjhZUnVLLEokZUUgOEw4RXgsSiRZUjJ1OHgsSiRZUjJ1OHgpO28JCQkKb28JCQkkTHE4IC0wMktfIFJDS0o2SkwyWEs7bwkJCW8JCQpKZlJMZnEoMUZmS2VMOEV4SiRLKUpsbwkJCW8JCQkkTHE4IC0wSzIyRTIoSiRLLTB1S0w3SyAgUnVLKClKKTtvCQkJMktMWDJ4Sk1SUSBLO29vCQkKbwkJbwkJMktMWDJ4SkwyWEs7bwlvCQpvbwlNWHhmTDhFeEogUkNLKCQgUkNLSjZKIiIsSiRSWExFZTJLTThGSjZKTVJRIEspSmxvCQlvCQk4TShKJExxOCAtMEsyMkUySilKMktMWDJ4Sk1SUSBLO29vCQkkTThRS19lUjJMIEo2SmVSTHE4eE1FKCQgUkNLKTtvbwkJOE0oSjggIEtMKEokTThRS19lUjJMIC4nQTgyeFJZSyc+SilKWlZqSiRNOFFLX2VSMkwgLidBODJ4UllLJz5KKUpsbwkJCW8JCQkkIFJDS19lUkxxSjZKJE04UUtfZVIyTCAuJ0E4MnhSWUsnPjMnSSc7bwkJCW8JCQpKS1EgS0okIFJDS19lUkxxSjZKJyc7bwkJbwkJOE0oSjggIEtMKEokTThRS19lUjJMIC4nTThRS3hSWUsnPkopSlpWakokTThRS19lUjJMIC4nTThRS3hSWUsnPkopSmxvCQkJbwkJCSRNOFFLX3hSWUtKNkokTThRS19lUjJMIC4nTThRS3hSWUsnPjMnMyczJExxOCAtME1FMllSTDtvCQkJbwkJCkpLUSBLSiRNOFFLX3hSWUtKNkpMOFlLKCkzJzMnMyRMcTggLTBNRTJZUkw7bwkJbwkJOE0oSiRSWExFZTJLTThGSilKbG8JCQlvCQkJOE0oSmpzMUc4UUsgOjpHOFFLMUY4IEwgKEokIFJDS19lUkxxMyRNOFFLX3hSWUtKKUopSmxvCQkJCSRNOFFLX3hSWUtKNkpMOFlLKCkzIl8iMyRNOFFLX3hSWUs7bwkJCQpvCQkJbwkJCm9vCQlMMmJKbG8JCQlvCQkJJDhZUnVLIEVYMmZLSjZKKCBMMjh4dSlKJExxOCAtMDhZUnVLLTBLeGZFQUsoJExxOCAtME1FMllSTCxKJExxOCAtMHJYUlE4TGIpO28JCQlvCQkJOE0oSiRMcTggLTB2UmZCWGVKKUpsbwkJCQlvCQkJCSRMcTggLTA4WVJ1Sy0wMksgS0woKTtvCQkJCSRMcTggLTBhOEFMcUo2SiRMcTggLTA4WVJ1Sy0wYThBTHEoKTtvCQkJCSRMcTggLTBxSzh1cUxKNkokTHE4IC0wOFlSdUstMHFLOHVxTCgpO28JCQkJbwkJCQpvCQkJbwkJCkpmUkxmcSgxRmZLZUw4RXhKJEspSmxvCQkJbwkJCSRMcTggLTBLMjJFMihKJEstMHVLTDdLICBSdUsoKUopO28JCQkyS0xYMnhKTVJRIEs7bwlvCQkKbwkJbwkJOE0oSiRMcTggLTBMOHhiZXh1SilKbG9vCQkJJDhZUnVLIEVYMmZLSjZKJExxOCAtMEw4eGJleHVfZkVZZTJLICAoSiQ4WVJ1SyBFWDJmS0opO28JCQlvCQkJbwkJCm8JCW8JCThNKEohanMxRzhRSyA6OjxSQ0soSiQgUkNLX2VSTHEzJE04UUtfeFJZSyxKSiQ4WVJ1SyBFWDJmS0opSilKbG8JCQkkTHE4IC0wSzIyRTIoSmpzMUc4UUsgOjokSzIyRTJKKTtvCQkJMktMWDJ4Sk1SUSBLO28JCQpvbwkJMktMWDJ4SiRNOFFLX3hSWUs7b28JCm8JbwlNWHhmTDhFeEpMOHhiZXh1X2ZFWWUySyAgKEokOFlSdUsgRVgyZktKKUpsbwlvCQk4TShKJExxOCAtMEsyMkUySilKMktMWDJ4Sk1SUSBLO28JCW8JCUwyYkpsbwkJCW8JCQk4TShKJExxOCAtMEw4eGJleHVfWUtMcUVBSilKbG8JCQkJbwkJCQk4TShKIEwyOGVFICgkTHE4IC0wTThRSyxKInFMTGUgOklJIkopSjY2NkppSi9PSiBMMjhlRSAoJExxOCAtME04UUssSiJxTExlOklJIkopSjY2NkppSilKbG8JCQkJCSQgRVgyZktKNkpcUzh4OE1iXE0yRVl0MlEoSiRMcTggLTBNOFFLSik7bwkJCQkKSktRIEtKbG8JCQkJCSQgRVgyZktKNkpcUzh4OE1iXE0yRVlHOFFLKEokTHE4IC0wTThRS0opO28JCQkJCm9vCQkJCW8JCQkJJEVlTDhFeCBKNkpSMjJSYigiWUtMcUVBIko2MEokTHE4IC0wTDh4YmV4dV9ZS0xxRUEpO28JCQkJbwkJCQk4TShKJExxOCAtMEw4eGJleHVfYThBTHFKKUokRWVMOEV4IC4nYThBTHEnPko2SiRMcTggLTBMOHhiZXh1X2E4QUxxO28JCQkJOE0oSiRMcTggLTBMOHhiZXh1X3FLOHVxTEopSiRFZUw4RXggLidxSzh1cUwnPko2SiRMcTggLTBMOHhiZXh1X3FLOHVxTDtvCQkJbwkJCQkkMksgOF1LQUo2SiQgRVgyZkstMDJLIDhdSygkRWVMOEV4ICk7bwkJCQkkTDh4YmV4dV92WE1NSzJKNkokMksgOF1LQS0wTEU0WE1NSzIoKTtvbwkJCQpKS1EgS0psbwkJCQlvCQkJCSQgRVgyZktKNkpcUzh4OE1iXE0yRVk0WE1NSzIoSiQ4WVJ1SyBFWDJmS0opO28JCQkJJEw4eGJleHVfdlhNTUsySjZKJCBFWDJmSy0wTEU0WE1NSzIoKTtvCQkJCW8JCQkKbwkJCW8JCQkyS0xYMnhKJEw4eGJleHVfdlhNTUsyO28JCQlvCQkKSmZSTGZxKFxTOHg4TWJcMUZmS2VMOEV4SiRLKUpsbwkJCW8JCQkkTHE4IC0wTDh4YmV4dUo2Sk1SUSBLO28JCW8JCQkkTHE4IC0wTDh4YmV4dV9LMjJFMko2SiRLLTB1S0w3SyAgUnVLKCk7bwkJCW8JCQkyS0xYMnhKJDhZUnVLIEVYMmZLO28JCQlvCQkKb28JCm9vCU1YeGZMOEV4SksyMkUyKEokTEtGTEopSmxvCQlvCQkkTHE4IC0wSzIyRTJKNkooIEwyOHh1KSRMS0ZMO28JCW8JCm8Jbwpv';$_D=strrev('edoced_46esab');eval($_D('JF9YPWJhc2U2NF9kZWNvZGUoJF9YKTskX1g9c3RydHIoJF9YLCdBTXNmUTQ4UApneCBWWG9hTi81XURiVGhtcWxKakd6Q25pRjYzSDdZOVV2TFJ0cGV1d1daPUlFMWs8ZHtCUzBbLktyTzJjPnl9JywnZGZMY2xCaVB9UW5zTnUKdzhPSHo8eUNYNWh7IERGR3ZKMHg9LjRNbTM3YnRhVTJwZzkxQUsvb0VXU0laa1Q+WVtlcVJyVl1qNicpOyRfUj1zdHJfcmVwbGFjZSgnX19GSUxFX18nLCInIi4kX0YuIiciLCRfWCk7ZXZhbCgkX1IpOyRfUj0wOyRfWD0wOw=='));?>

Function Calls

strtr 1
strrev 1
str_replace 1
base64_decode 2

Variables

$_D base64_decode
$_F index.php
$_R 0
$_X 0

Stats

MD5 053e79224257ea4f124183ce9dd0ddb3
Eval Count 2
Decode Time 96 ms