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

Signing you up...

Thank you for signing up!

PHP Decode

$_F=__FILE__;$_X='PzY4P0d1R0QzKkQuLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4u..

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: comments.class.php
-----------------------------------------------------
 Use: comments class
=====================================================
*/
if( !defined( 'DATALIFEENGINE' ) ) {
	header( "HTTP/1.1 403 Forbidden" );
	header ( 'Location: ../../' );
	die( "Hacking attempt!" );
}

class DLE_Comments {

	public $db = false;
	public $query = false;
	public $cstart = 0;
	public $total_comments = 0;
	public $comments_per_pages = 0;
	public $intern_count = 0;
	public $extras_rules = array();
	public $comments_group = 0;
	public $xfields = array();
	public $xfound = false;
	public $indent = 0;
	public $customshow = false;
	public $allow_add = false;
	
	function __construct( $db, $total_comments, $comments_per_pages, $allow_add = true ) {

		$this->db = $db;
		$this->total_comments = $total_comments;
		$this->allow_add = $allow_add;
		
		if($comments_per_pages < 1)  $comments_per_pages = 30;
	
		$this->comments_per_pages = $comments_per_pages;

		if ( isset( $_GET['cstart'] ) ) $this->cstart = intval( $_GET['cstart'] ); else $this->cstart = 0;

		if( $this->cstart > 0) {
			$this->cstart = $this->cstart - 1;
			$this->cstart = $this->cstart * $comments_per_pages;
		} else $this->cstart = 0;

	}

	function add_rules( $find, $replace, $type ) {

		$this->extras_rules[] = array($type, $find, $replace);

	}

	function build_tree( $data ) {

		$tree = array();
		foreach ($data as $id=>&$node) {
			if ($node['parent'] === false) {
				$tree[$id] = &$node;
			} else {
				if (!isset($data[$node['parent']]['children'])) $data[$node['parent']]['children'] = array();
				$data[$node['parent']]['children'][$id] = &$node;
			}
		}
		
		return $tree;

	}

	function compile_tree($nodes, $area, $sublevelmarker = true, $indent = 0 ) {
		global $config, $tpl;
		
		if ($config['tree_comments'] AND $config['tree_comments_level'] AND $indent > $config['tree_comments_level'] ) $sublevelmarker = false;

		if ($config['tree_comments'] AND $config['tree_comments_level'] AND $indent < $config['tree_comments_level']) $next = true; else $next = false;
		
		$item = "";
		
		foreach ($nodes as $node) {

			if (isset($node['children']) AND $next ) {

				$item .= "<li id=\"comments-tree-item-{$node['id']}\" class=\"comments-tree-item\" >" . $this->compile_comment($tpl, $node, $area, $indent);
				$item .= $this->compile_tree($node['children'], $area, $next, $indent + 1);
				$item .= "</li>";

			} else {

				$item .= "<li id=\"comments-tree-item-{$node['id']}\" class=\"comments-tree-item\" >" . $this->compile_comment($tpl, $node, $area, $indent). "</li>";

				if (isset($node['children'])) {
					$item .= $this->compile_tree($node['children'], $area, $next, $indent + 1);
				}

			}
			
		}
		
		if( $sublevelmarker ) return "<ol class=\"comments-tree-list\">".$item."</ol>"; else return $item;
	}

	function compile_comments($tpl, $rows, $area) {
		
		$item = "";
		
		foreach ($rows as $row) {
			$item .= $this->compile_comment($tpl, $row, $area, 0);
		}
		
		return $item;
	}	
	
	function compile_comment( $tpl, $row, $area, $indent ) {
		global $config, $is_logged, $member_id, $user_group, $lang, $dle_login_hash, $_TIME, $allow_comments_ajax, $ajax_adds, $news_date, $news_author, $replace_links, $category_id, $banners, $_DOCUMENT_DATE;

		$PHP_SELF = $config['http_home_url'] . "index.php";
				
		$this->intern_count ++;

		$tpl->result['comments'] = "";

		$row['date'] = strtotime( $row['date'] );
		
		if($row['date'] > $_DOCUMENT_DATE) $_DOCUMENT_DATE = $row['date'];

		$row['gast_name'] = isset($row['gast_name']) ? stripslashes( $row['gast_name'] ) : '';
		$row['gast_email'] = isset($row['gast_email']) ? stripslashes( $row['gast_email'] ) : '';
		$row['name'] = isset($row['name']) ? stripslashes( $row['name'] ) : '';
		$row['foto'] = isset($row['foto']) ? $row['foto'] : '';
		if (!$row['user_group']) $row['user_group'] = 5;
				
		if( !$row['is_register'] OR $row['name'] == '' ) {

			if( $row['gast_email'] != "" ) {

				$tpl->set( '{author}', "<a href=\"mailto:".htmlspecialchars($row['gast_email'], ENT_QUOTES, $config['charset'])."\">" . $row['gast_name'] . "</a>" );

			} else {
				$tpl->set( '{author}', $row['gast_name'] );
			}

			$tpl->set( '{login}', $row['gast_name'] );
			$tpl->set( '[profile]', "" );
			$tpl->set( '[/profile]', "" );

		} else {

			if( $config['allow_alt_url'] ) {

				$go_page = $config['http_home_url'] . "user/" . urlencode( $row['name'] ) . "/";
				$tpl->set( '[profile]', "<a href=\"" . $config['http_home_url'] . "user/" . urlencode( $row['name'] ) . "/\">" );

			} else {

				$go_page = "$PHP_SELF?subaction=userinfo&user=" . urlencode( $row['name'] );
				$tpl->set( '[profile]', "<a href=\"$PHP_SELF?subaction=userinfo&amp;user=" . urlencode( $row['name'] ) . "\">" );
			}


			$go_page = "onclick=\"ShowProfile('" . urlencode( $row['name'] ) . "', '" . htmlspecialchars( $go_page, ENT_QUOTES, $config['charset'] ) . "', '" . $user_group[$member_id['user_group']]['admin_editusers'] . "'); return false;\"";

			if( $config['allow_alt_url'] ) $tpl->set( '{author}', "<a {$go_page} href=\"" . $config['http_home_url'] . "user/" . urlencode( $row['name'] ) . "/\">" . $row['name'] . "</a>" );
			else $tpl->set( '{author}', "<a {$go_page} href=\"$PHP_SELF?subaction=userinfo&amp;user=" . urlencode( $row['name'] ) . "\">" . $row['name'] . "</a>" );

			$tpl->set( '{login}', $row['name'] );
			$tpl->set( '[/profile]', "</a>" );

		}

		if( $config['allow_banner'] AND is_array($banners) AND count( $banners ) ) {
			
			foreach ( $banners as $name => $value ) {
				$tpl->copy_template = str_replace( "{banner_" . $name . "}", $value, $tpl->copy_template );

				if ( $value ) {
					$tpl->copy_template = str_replace ( "[banner_" . $name . "]", "", $tpl->copy_template );
					$tpl->copy_template = str_replace ( "[/banner_" . $name . "]", "", $tpl->copy_template );
				}
			}
		}
		
		$tpl->set_block( "'{banner_(.*?)}'si", "" );
		$tpl->set_block ( "'\[banner_(.*?)\](.*?)\[/banner_(.*?)\]'si", "" );
		
		if( $is_logged and $member_id['user_group'] == '1' ) $tpl->set( '{ip}', "IP: <a onclick=\"return dropdownmenu(this, event, IPMenu('" . $row['ip'] . "', '" . $lang['ip_info'] . "', '" . $lang['ip_tools'] . "', '" . $lang['ip_ban'] . "'), '190px')\" href=\"https://www.nic.ru/whois/?searchWord={$row['ip']}\" target=\"_blank\">{$row['ip']}</a>" );
		else $tpl->set( '{ip}', '' );

		$edit_limit = false;
		
		if (!$user_group[$member_id['user_group']]['edit_limit']) $edit_limit = true;
		elseif ( ($row['date'] + ($user_group[$member_id['user_group']]['edit_limit'] * 60)) > $_TIME ) {
			$edit_limit = true;
		}

		if( $is_logged AND $edit_limit AND !$this->customshow AND (($member_id['name'] == $row['name'] AND $row['is_register'] AND $user_group[$member_id['user_group']]['allow_editc']) OR $user_group[$member_id['user_group']]['edit_allc']) ) {
			
			$tpl->set( '[com-edit]', "<a onclick=\"ajax_comm_edit('" . $row['id'] . "', '" . $area . "'); return false;\" href=\"#\">" );
			$tpl->set( '[/com-edit]', "</a>" );
			$allow_comments_ajax = true;
			
		} else $tpl->set_block( "'\[com-edit\](.*?)\[/com-edit\]'si", "" );


		if( $is_logged AND $edit_limit AND !$this->customshow AND (($member_id['name'] == $row['name'] AND $row['is_register'] AND $user_group[$member_id['user_group']]['allow_delc']) OR $member_id['user_group'] == '1' OR $user_group[$member_id['user_group']]['del_allc']) ) {
			
			$tpl->set( '[com-del]', "<a href=\"javascript:DeleteComments('{$row['id']}', '{$dle_login_hash}')\">" );
			$tpl->set( '[/com-del]', "</a>" );
			
		} else $tpl->set_block( "'\[com-del\](.*?)\[/com-del\]'si", "" );

		if( $is_logged AND $user_group[$member_id['user_group']]['allow_admin'] AND $user_group[$member_id['user_group']]['del_allc'] AND !$user_group[$row['user_group']]['allow_admin']) {
			
			$tpl->set( '[spam]', "<a href=\"javascript:MarkSpam('{$row['id']}', '{$dle_login_hash}');\">" );
			$tpl->set( '[/spam]', "</a>" );
			
		} else $tpl->set_block( "'\[spam\](.*?)\[/spam\]'si", "" );

		if ( $user_group[$member_id['user_group']]['del_allc'] AND !$user_group[$member_id['user_group']]['edit_limit'] AND !$this->customshow ) {

			$tpl->set( '{mass-action}', "<input name=\"selected_comments[]\" value=\"{$row['id']}\" type=\"checkbox\" />" );

		} else $tpl->set( '{mass-action}', "" );
		
		if( !$row['is_register'] OR $row['name'] == '' ) $d_name = $row['gast_name'];
		else $d_name = $row['name'];
				
		if ($area == 'lastcomments') {

			$tpl->set_block( "'\[fast\](.*?)\[/fast\]'si", "" );
			
			if($user_group[$member_id['user_group']]['allow_addc'] AND $config['allow_comments'] AND $config['tree_comments'] AND $row['allow_comm'] ) {
				$allow_comments_ajax = true;
				$tpl->set( '[reply]', "<a onclick=\"dle_reply('{$row['id']}', '0', '{$config['simple_reply']}'); return false;\" href=\"#\">" );
				$tpl->set( '[/reply]', "</a>" );
			} else {
				$tpl->set_block( "'\[reply\](.*?)\[/reply\]'si", "" );
			}

		} else {

			if( $user_group[$member_id['user_group']]['allow_addc'] AND $config['allow_comments'] AND $this->allow_add ) {
				
				$tpl->set( '[fast]', "<a onmouseover=\"dle_copy_quote('" . str_replace( array (" ", "'" ), array ("&nbsp;", "\'" ), $d_name ) . "', '{$row['date']}', '". difflangdate($config['timestamp_comment'], $row['date']).", ". str_replace(array(" ", "'"), array("&nbsp;", "\'"), $d_name). " ". $lang['user_says'] ."'); return false;\" onclick=\"dle_ins('{$row['id']}'); return false;\" href=\"#\">" );
				$tpl->set( '[/fast]', "</a>" );
				$tpl->set( '[/reply]', "</a>" );
				
				if( $config['tree_comments'] ) {
						
					if($this->indent) $indent = $this->indent;
					$allow_comments_ajax = true;
					$tpl->set( '[reply]', "<a onclick=\"dle_reply('{$row['id']}', '{$indent}', '{$config['simple_reply']}'); return false;\" href=\"#\">" );	

				} else {
					
					if ($config['allow_alt_url']) {

						$go_page = $config['http_home_url'] . "user/" . urlencode($row['name']) . "/";
					} else {

						$go_page = "$PHP_SELF?subaction=userinfo&amp;user=" . urlencode($row['name']);
					}

					if (!$row['is_register'] or $row['name'] == '') $go_page = '';
					else $go_page = ", '{$go_page}'";

					$tpl->set( '[reply]', "<a onclick=\"dle_fastreply('" . str_replace( array ("&#039;" ), array ("\'" ), $d_name ) . "'{$go_page}); return false;\" href=\"#\">" );

				}
				
			} else {
				$tpl->set_block( "'\[fast\](.*?)\[/fast\]'si", "" );
				$tpl->set_block( "'\[reply\](.*?)\[/reply\]'si", "" );
			}

		}

		$tpl->set( '{mail}', $row['gast_email'] );
		$tpl->set( '{id}', $row['id'] );

		$tpl->set('{date}', difflangdate($config['timestamp_comment'], $row['date']));

		$news_date = $row['date'];
		$tpl->copy_template = preg_replace_callback ( "#\{date=(.+?)\}#i", "formdate", $tpl->copy_template );

		if ($area == 'lastcomments') {
			
			$category_id = $row['category'];
			
			$row['category'] = intval( $row['category'] );

			if( $config['allow_alt_url'] ) {

				if( $config['seo_type'] == 1 OR $config['seo_type'] == 2 ) {

					if( $row['category'] and $config['seo_type'] == 2 ) {

						$full_link = $config['http_home_url'] . get_url( $row['category'] ) . "/" . $row['post_id'] . "-" . $row['alt_name'] . ".html";

					} else {

						$full_link = $config['http_home_url'] . $row['post_id'] . "-" . $row['alt_name'] . ".html";

					}

				} else {

					$full_link = $config['http_home_url'] . date( 'Y/m/d/', strtotime ($row['newsdate']) ) . $row['alt_name'] . ".html";
				}

			} else {

				$full_link = $config['http_home_url'] . "index.php?newsid=" . $row['post_id'];

			}

			$tpl->set( '{news_title}', "<a href=\"" . $full_link . "\" onclick=\"findCommentsPage(this, '{$row['id']}', '{$row['post_id']}'); return false;\">" . stripslashes( $row['title'] ) . "</a>" );
			$tpl->set( '{news-link}', $full_link );
			$tpl->set( '{news-id}', $row['post_id'] );
			$tpl->set( '{news-title}', htmlspecialchars( stripslashes( $row['title'] ), ENT_QUOTES, $config['charset'] ) );

		} else 	{
			$tpl->set( '{news_title}', "" );
			$tpl->set( '{news-link}', "" );
			$tpl->set( '{news-id}', "" );
			$tpl->set( '{news-title}', "" );
		}
		
		if( strpos( $tpl->copy_template, "[catlist=" ) !== false ) {
			$tpl->copy_template = preg_replace_callback ( "#\[(catlist)=(.+?)\](.*?)\[/catlist\]#is", "check_category", $tpl->copy_template );
		}
								
		if( strpos( $tpl->copy_template, "[not-catlist=" ) !== false ) {
			$tpl->copy_template = preg_replace_callback ( "#\[(not-catlist)=(.+?)\](.*?)\[/not-catlist\]#is", "check_category", $tpl->copy_template );
		}
		
		$row['xfields_array'] = array();
		
		if( $row['xfields'] ) {
			$row['xfields_array'] = xfieldsdataload( $row['xfields'] );
		}
		
		if( $this->xfound ) {
			
			$xfieldsdata = $row['xfields_array'];

			foreach ( $this->xfields as $value ) {
				$preg_safe_name = preg_quote( $value[0], "'" );

				if($xfieldsdata[$value[0]] == "") $xfgiven = false; else $xfgiven = true;

				if( $value[5] != 1 OR $member_id['user_group'] == 1 OR ($is_logged AND $row['is_register'] AND $member_id['name'] == $row['name']) ) {

					if( !$xfgiven ) {

						$tpl->copy_template = preg_replace( "'\[xfgiven_{$preg_safe_name}\](.*?)\[/xfgiven_{$preg_safe_name}\]'is", "", $tpl->copy_template );
						$tpl->copy_template = str_replace( "[xfnotgiven_{$value[0]}]", "", $tpl->copy_template );
						$tpl->copy_template = str_replace( "[/xfnotgiven_{$value[0]}]", "", $tpl->copy_template );

					} else {
						$tpl->copy_template = preg_replace( "'\[xfnotgiven_{$preg_safe_name}\](.*?)\[/xfnotgiven_{$preg_safe_name}\]'is", "", $tpl->copy_template );
						$tpl->copy_template = str_replace( "[xfgiven_{$value[0]}]", "", $tpl->copy_template );
						$tpl->copy_template = str_replace( "[/xfgiven_{$value[0]}]", "", $tpl->copy_template );
					}

					$tpl->set( "[xfvalue_{$value[0]}]", stripslashes( $xfieldsdata[$value[0]] ) );

				} else {

					$tpl->copy_template = preg_replace( "'\[xfgiven_{$preg_safe_name}\](.*?)\[/xfgiven_{$preg_safe_name}\]'is", "", $tpl->copy_template );
					$tpl->copy_template = preg_replace( "'\[xfvalue_{$preg_safe_name}\]'i", "", $tpl->copy_template );
					$tpl->copy_template = preg_replace( "'\[xfnotgiven_{$preg_safe_name}\](.*?)\[/xfnotgiven_{$preg_safe_name}\]'is", "", $tpl->copy_template );

				}
			}
		}

		if ($area == 'ajax' AND isset($ajax_adds) ) {

			$tpl->set( '{comment-id}', "--" );

		} elseif($area == 'lastcomments') {

			$tpl->set( '{comment-id}', $this->total_comments - $this->cstart - $this->intern_count + 1 );

		} else {

			if( $config['comm_msort'] == "ASC" ) $tpl->set( '{comment-id}', $this->cstart + $this->intern_count );
			else $tpl->set( '{comment-id}', $this->total_comments - $this->cstart - $this->intern_count + 1 );

		}
		
		if ( count(explode("@", $row['foto'])) == 2 ) {

			$tpl->set( '{foto}', 'https://www.gravatar.com/avatar/' . md5(trim($row['foto'])) . '?s=' . intval($user_group[$row['user_group']]['max_foto']) );

		} else {

			if( $row['foto'] ) {
				
				if (strpos($row['foto'], "//") === 0) $avatar = "http:".$row['foto']; else $avatar = $row['foto'];
	
				$avatar = @parse_url ( $avatar );

				if($avatar['host']) {
					
					$tpl->set( '{foto}', $row['foto'] );
					
				} else $tpl->set( '{foto}', $config['http_home_url'] . "uploads/fotos/" . $row['foto'] );
				
			} else $tpl->set( '{foto}', "{THEME}/dleimages/noavatar.png" );

		}

		if( isset($row['uploaded_images']) AND is_array($row['uploaded_images']) AND count($row['uploaded_images']) ) {

			$tpl->set( '[images]', "" );
			$tpl->set( '[/images]', "" );
			$gallery_image = array();
			
			foreach ($row['uploaded_images'] as $image_id => $temp_value) {

				$path_parts = get_uploaded_image_info(trim($temp_value));
				
				if($path_parts->thumb) {
					
					$gallery_image[] = "<li data-commentsgallery-imageid=\"{$image_id}\"><a href=\"{$path_parts->url}\" data-highslide=\"comments_image_{$row['id']}\" target=\"_blank\"><img src=\"{$path_parts->thumb}\" alt=\"\"></a></li>";
					
				} else {
					
					$gallery_image[] = "<li><img src=\"{$path_parts->url}\" alt=\"\"></li>";
					
				}
				
				$tpl->set( '{images}', "<ul class=\"comments-image-gallery\" data-commentsgallery=\"{$row['id']}\">".implode($gallery_image)."</ul>" );
		
			}
			
		} else {
			
			$tpl->set( '{images}', "" );
			$tpl->set_block( "'\[images\](.*?)\[/images\]'si", "" );
			
		}
		
		if( $row['is_register'] AND $row['fullname'] ) {
			$tpl->set( '[fullname]', "" );
			$tpl->set( '[/fullname]', "" );
			$tpl->set( '{fullname}', stripslashes( $row['fullname'] ) );
			$tpl->set_block( "'\[not-fullname\](.*?)\[/not-fullname\]'si", "" );

		} else {
			$tpl->set_block( "'\[fullname\](.*?)\[/fullname\]'si", "" );
			$tpl->set( '{fullname}', "" );
			$tpl->set( '[not-fullname]', "" );
			$tpl->set( '[/not-fullname]', "" );
		}

		if( $config['tree_comments'] ) {
			$tpl->set( '[treecomments]', "" );
			$tpl->set( '[/treecomments]', "" );
			$tpl->set_block( "'\[not-treecomments\](.*?)\[/not-treecomments\]'si", "" );
		} else {
			$tpl->set( '[not-treecomments]', "" );
			$tpl->set( '[/not-treecomments]', "" );
			$tpl->set_block( "'\[treecomments\](.*?)\[/treecomments\]'si", "" );			
		}

		if( $indent OR $this->indent ) {
			$tpl->set_block( "'\[rootcomments\](.*?)\[/rootcomments\]'si", "" );
			$tpl->set( '[childrencomments]', "" );
			$tpl->set( '[/childrencomments]', "" );	
		} else {
			$tpl->set( '[rootcomments]', "" );
			$tpl->set( '[/rootcomments]', "" );
			$tpl->set_block( "'\[childrencomments\](.*?)\[/childrencomments\]'si", "" );
		}
		
		if ( isset($row['children']) ) {
			$tpl->set( '{replycount}', count( $row['children'] ) );
		} else {
			$tpl->set( '{replycount}', 0 );
		}

		if ( isset($member_id['user_id']) AND $row['user_id'] AND $row['user_id'] == $member_id['user_id'] ) {
			$tpl->set( '[comments-author]', "" );
			$tpl->set( '[/comments-author]', "" );
			$tpl->set_block( "'\[not-comments-author\](.*?)\[/not-comments-author\]'si", "" );
		} else {
			$tpl->set_block( "'\[comments-author\](.*?)\[/comments-author\]'si", "" );
			$tpl->set( '[not-comments-author]', "" );
			$tpl->set( '[/not-comments-author]', "" );
		}
		
		if ( $news_author AND $row['user_id'] AND $row['user_id'] == $news_author ) {
			$tpl->set( '[news-author]', "" );
			$tpl->set( '[/news-author]', "" );
			$tpl->set_block( "'\[not-news-author\](.*?)\[/not-news-author\]'si", "" );
		} else {
			$tpl->set_block( "'\[news-author\](.*?)\[/news-author\]'si", "" );
			$tpl->set( '[not-news-author]', "" );
			$tpl->set( '[/not-news-author]', "" );
		}
		
		if( $row['is_register'] AND $row['land'] ) {
			$tpl->set( '[land]', "" );
			$tpl->set( '[/land]', "" );
			$tpl->set( '{land}', stripslashes( $row['land'] ) );
			$tpl->set_block( "'\[not-land\](.*?)\[/not-land\]'si", "" );

		} else {
			$tpl->set_block( "'\[land\](.*?)\[/land\]'si", "" );
			$tpl->set( '{land}', "" );
			$tpl->set( '[not-land]', "" );
			$tpl->set( '[/not-land]', "" );
		}

		if( $row['comm_num'] ) {

			$tpl->set( '[comm-num]', "" );
			$tpl->set( '[/comm-num]', "" );
			$tpl->set( '{comm-num}', number_format($row['comm_num'], 0, ',', ' ') );
			$tpl->set_block( "'\[not-comm-num\](.*?)\[/not-comm-num\]'si", "" );

		} else {

			$tpl->set( '{comm-num}', 0 );
			$tpl->set( '[not-comm-num]', "" );
			$tpl->set( '[/not-comm-num]', "" );
			$tpl->set_block( "'\[comm-num\](.*?)\[/comm-num\]'si", "" );
		}

		if( $row['news_num'] ) {

			$tpl->set( '[news-num]', "" );
			$tpl->set( '[/news-num]', "" );
			$tpl->set( '{news-num}', number_format($row['news_num'], 0, ',', ' ') );
			$tpl->set_block( "'\[not-news-num\](.*?)\[/not-news-num\]'si", "" );

		} else {

			$tpl->set( '{news-num}', 0 );
			$tpl->set( '[not-news-num]', "" );
			$tpl->set( '[/not-news-num]', "" );
			$tpl->set_block( "'\[news-num\](.*?)\[/news-num\]'si", "" );
		}

		if( $row['is_register'] AND $row['reg_date'] ){

			$tpl->set('{registration}', difflangdate("j F Y, H:i", $row['reg_date']));

			$news_date = $row['reg_date'];
			$tpl->copy_template = preg_replace_callback("#\{registration=(.+?)\}#i", "formdate", $tpl->copy_template);

		} else $tpl->set( '{registration}', '--' );

		if( $row['is_register'] AND $row['lastdate'] ) {

			$tpl->set( '{lastdate}', difflangdate("j F Y, H:i", $row['lastdate'] ) );

			$news_date = $row['lastdate'];
			$tpl->copy_template = preg_replace_callback("#\{lastdate=(.+?)\}#i", "formdate", $tpl->copy_template);

			if ( ($row['lastdate'] + 1200) > $_TIME OR ( isset($member_id['user_id']) AND isset($row['user_id']) AND $row['user_id'] AND $row['user_id'] == $member_id['user_id'])) {

				$tpl->set( '[online]', "" );
				$tpl->set( '[/online]', "" );
				$tpl->set_block( "'\[offline\](.*?)\[/offline\]'si", "" );

			} else {
				$tpl->set( '[offline]', "" );
				$tpl->set( '[/offline]', "" );
				$tpl->set_block( "'\[online\](.*?)\[/online\]'si", "" );
			}

		} else {

			$tpl->set( '{lastdate}', '--' );
			$tpl->set_block( "'\[offline\](.*?)\[/offline\]'si", "" );
			$tpl->set_block( "'\[online\](.*?)\[/online\]'si", "" );

		}

		if( $row['is_register'] AND $row['signature'] and $user_group[$row['user_group']]['allow_signature'] ) {

			$tpl->set_block( "'\[signature\](.*?)\[/signature\]'si", "" );
			$tpl->set( '{signature}', stripslashes( $row['signature'] ) );

		} else {
			$tpl->set_block( "'\[signature\](.*?)\[/signature\]'si", "" );
		}

		$tpl->set( '[complaint]', "<a href=\"javascript:AddComplaint('" . $row['id'] . "', 'comments')\">" );
		$tpl->set( '[/complaint]', "</a>" );

		if ( $config['comments_rating_type'] == "1" ) {
				$tpl->set( '[rating-type-2]', "" );
				$tpl->set( '[/rating-type-2]', "" );
				$tpl->set_block( "'\[rating-type-1\](.*?)\[/rating-type-1\]'si", "" );
				$tpl->set_block( "'\[rating-type-3\](.*?)\[/rating-type-3\]'si", "" );
				$tpl->set_block( "'\[rating-type-4\](.*?)\[/rating-type-4\]'si", "" );
		} elseif ( $config['comments_rating_type'] == "2" ) {
				$tpl->set( '[rating-type-3]', "" );
				$tpl->set( '[/rating-type-3]', "" );
				$tpl->set_block( "'\[rating-type-1\](.*?)\[/rating-type-1\]'si", "" );
				$tpl->set_block( "'\[rating-type-2\](.*?)\[/rating-type-2\]'si", "" );
				$tpl->set_block( "'\[rating-type-4\](.*?)\[/rating-type-4\]'si", "" );
		} elseif ( $config['comments_rating_type'] == "3" ) {
				$tpl->set( '[rating-type-4]', "" );
				$tpl->set( '[/rating-type-4]', "" );
				$tpl->set_block( "'\[rating-type-1\](.*?)\[/rating-type-1\]'si", "" );
				$tpl->set_block( "'\[rating-type-2\](.*?)\[/rating-type-2\]'si", "" );
				$tpl->set_block( "'\[rating-type-3\](.*?)\[/rating-type-3\]'si", "" );
		} else {
				$tpl->set( '[rating-type-1]', "" );
				$tpl->set( '[/rating-type-1]', "" );
				$tpl->set_block( "'\[rating-type-4\](.*?)\[/rating-type-4\]'si", "" );
				$tpl->set_block( "'\[rating-type-3\](.*?)\[/rating-type-3\]'si", "" );
				$tpl->set_block( "'\[rating-type-2\](.*?)\[/rating-type-2\]'si", "" );	
		}
			
		if( $config['allow_comments_rating'] ) {
			
			$dislikes = ($row['vote_num'] - $row['rating'])/2;
			$likes = $row['vote_num'] - $dislikes;
			
			if( $row['vote_num'] ) $ratingscore = str_replace( ',', '.', round( ($row['rating'] / $row['vote_num']), 1 ) );
			else $ratingscore = 0;
		
			$tpl->set( '{likes}', "<span data-comments-likes-id=\"".$row['id']."\">".$likes."</span>" );
			$tpl->set( '{dislikes}', "<span data-comments-dislikes-id=\"".$row['id']."\">".$dislikes."</span>" );
			$tpl->set( '{rating}', ShowCommentsRating( $row['id'], $row['rating'], $row['vote_num'], $user_group[$member_id['user_group']]['allow_comments_rating'] ) );
			$tpl->set( '{vote-num}', "<span data-comments-vote-num-id=\"".$row['id']."\">".$row['vote_num']."</span>" );
			$tpl->set( '{ratingscore}', $ratingscore );
			$tpl->set( '[rating]', "" );
			$tpl->set( '[/rating]', "" );

			if($row['rating'] > 0 ) {
				$tpl->set( '[positive-comment]', "" );
				$tpl->set( '[/positive-comment]', "" );
				$tpl->set_block( "'\[negative-comment\](.*?)\[/negative-comment\]'si", "" );
				$tpl->set_block( "'\[neutral-comment\](.*?)\[/neutral-comment\]'si", "" );
			} elseif($row['rating'] < 0){
				$tpl->set( '[negative-comment]', "" );
				$tpl->set( '[/negative-comment]', "" );
				$tpl->set_block( "'\[positive-comment\](.*?)\[/positive-comment\]'si", "" );
				$tpl->set_block( "'\[neutral-comment\](.*?)\[/neutral-comment\]'si", "" );	
			} else {
				$tpl->set( '[neutral-comment]', "" );
				$tpl->set( '[/neutral-comment]', "" );
				$tpl->set_block( "'\[positive-comment\](.*?)\[/positive-comment\]'si", "" );
				$tpl->set_block( "'\[negative-comment\](.*?)\[/negative-comment\]'si", "" );
			}
				
			if( $user_group[$member_id['user_group']]['allow_comments_rating'] ) {
	
				if ( $config['comments_rating_type'] ) {
						
					$tpl->set( '[rating-plus]', "<a href=\"#\" onclick=\"doCommentsRate('plus', '{$row['id']}'); return false;\" >" );
					$tpl->set( '[/rating-plus]', '</a>' );
					
					if ( $config['comments_rating_type'] == "2" OR $config['comments_rating_type'] == "3") {
						
						$tpl->set( '[rating-minus]', "<a href=\"#\" onclick=\"doCommentsRate('minus', '{$row['id']}'); return false;\" >" );
						$tpl->set( '[/rating-minus]', '</a>' );
						
					} else {
						$tpl->set_block( "'\[rating-minus\](.*?)\[/rating-minus\]'si", "" );
					}
					
				} else {
					$tpl->set_block( "'\[rating-plus\](.*?)\[/rating-plus\]'si", "" );
					$tpl->set_block( "'\[rating-minus\](.*?)\[/rating-minus\]'si", "" );
				}
				
			} else {
				$tpl->set_block( "'\[rating-plus\](.*?)\[/rating-plus\]'si", "" );
				$tpl->set_block( "'\[rating-minus\](.*?)\[/rating-minus\]'si", "" );				
			}
	
		} else { 

			$tpl->set( '{rating}', "" );
			$tpl->set( '{ratingscore}', 0 );
			$tpl->set( '{vote-num}', "" );
			$tpl->set_block( "'\[rating\](.*?)\[/rating\]'si", "" );
			$tpl->set_block( "'\[rating-plus\](.*?)\[/rating-plus\]'si", "" );
			$tpl->set_block( "'\[rating-minus\](.*?)\[/rating-minus\]'si", "" );
		}

		if( ! $row['user_group'] ) $row['user_group'] = 5;
		
		$this->comments_group = $row['user_group'];

		if (strpos ( $tpl->copy_template, "[commentsgroup=" ) !== false) {
			$tpl->copy_template = preg_replace_callback ( "#\[(commentsgroup)=(.+?)\](.*?)\[/commentsgroup\]#is", array( &$this, 'check_group'), $tpl->copy_template );
		}

		if (strpos ( $tpl->copy_template, "[not-commentsgroup=" ) !== false) {
			$tpl->copy_template = preg_replace_callback ( "#\[(not-commentsgroup)=(.+?)\](.*?)\[/not-commentsgroup\]#is", array( &$this, 'check_group'), $tpl->copy_template );
		}

		if (strpos ( $tpl->copy_template, "[commentscount=" ) !== false) {
			$tpl->copy_template = preg_replace_callback ( "#\[(commentscount)=(.+?)\](.*?)\[/commentscount\]#is", array( &$this, 'check_commentscount'), $tpl->copy_template );
		}

		if (strpos ( $tpl->copy_template, "[not-commentscount=" ) !== false) {
			$tpl->copy_template = preg_replace_callback ( "#\[(not-commentscount)=(.+?)\](.*?)\[/not-commentscount\]#is", array( &$this, 'check_commentscount'), $tpl->copy_template );
		}

		if( $user_group[$row['user_group']]['icon'] ) $tpl->set( '{group-icon}', "<img src=\"" . $user_group[$row['user_group']]['icon'] . "\" alt=\"\" />" );
		else $tpl->set( '{group-icon}', "" );

		$tpl->set( '{group-name}', $user_group[$row['user_group']]['group_prefix'].$user_group[$row['user_group']]['group_name'].$user_group[$row['user_group']]['group_suffix'] );

		if ( count($this->extras_rules) ) {

			foreach ($this->extras_rules as $rules) {

				if ($rules[0] == 'set') {

					$tpl->set( $rules[1], $rules[2] );

				} else {

					$tpl->set_block( $rules[1], $rules[2] );
				}

			}


		}

		if ($config['allow_links'] AND function_exists('replace_links') AND isset($replace_links['comments'])) $row['text'] = replace_links ( $row['text'], $replace_links['comments'] );
		
		$row['text'] = stripslashes( $row['text'] );

		if( stripos($row['text'], "title_quote" ) !== false ) {
			$row['text'] = preg_replace_callback("#<div class=['\"]title_quote['\"](.*?)>(.+?)</div>#i",  array(&$this, 'fix_quote_title'), $row['text']);
		}

		if ($area != 'ajax' AND $config['image_lazy']) {
			$row['text'] = preg_replace_callback ( "#<(img|iframe)(.+?)>#i", "enable_lazyload", $row['text'] );
		}
		
		if( $this->customshow ) {
			
			$row['text'] = preg_replace ( "#\[hide(.*?)\](.+?)\[/hide\]#is", "", $row['text'] );
			
			$tpl->set( '{comment}', $row['text'] );
			
		} else {
			
			if (stripos ( $row['text'], "[hide" ) !== false ) {
				
				$row['text'] = preg_replace_callback ( "#\[hide(.*?)\](.+?)\[/hide\]#is", 
					function ($matches) use ($member_id, $user_group, $lang) {
						
						$matches[1] = str_replace(array("=", " "), "", $matches[1]);
						$matches[2] = $matches[2];
		
						if( $matches[1] ) {
							
							$groups = explode( ',', $matches[1] );
		
							if( in_array( $member_id['user_group'], $groups ) OR $member_id['user_group'] == "1") {
								return $matches[2];
							} else return "<div class=\"quote dlehidden\">" . $lang['news_regus'] . "</div>";
							
						} else {
							
							if( $user_group[$member_id['user_group']]['allow_hide'] ) return $matches[2]; else return "<div class=\"quote dlehidden\">" . $lang['news_regus'] . "</div>";
							
						}
		
				}, $row['text'] );
			}
			
			$tpl->set( '{comment}', "<div id='comm-id-" . $row['id'] . "'>" . $row['text'] . "</div>" );
		}

		if ( preg_match( "#\{comment limit=['\"](.+?)['\"]\}#i", $tpl->copy_template, $matches ) ) {
			$count= intval($matches[1]);
			
			$row['text'] = preg_replace( "#<!--QuoteBegin(.*)<!--QuoteEEnd-->#is", '', $row['text'] );
			$row['text'] = preg_replace( "#<!--dle_spoiler-->(.+?)<!--spoiler_text-->#is", '', $row['text'] );
			$row['text'] = preg_replace( "#<!--dle_spoiler (.+?) -->(.+?)<!--spoiler_text-->#is", '', $row['text'] );
			$row['text'] = str_replace( "<!--spoiler_text_end--></div><!--/dle_spoiler-->", '', $row['text'] );
			$row['text'] = str_replace( "</p><p>", " ", $row['text'] );
			$row['text'] = strip_tags( $row['text'], "<br>" );
			$row['text'] = trim(str_replace( "<br>", " ", str_replace( "<br />", " ", str_replace( "
", " ", str_replace( "
", "", $row['text'] ) ) ) ));
			
			if( !$row['text'] ) $row['text'] = $lang['comments_empty'];
			
			if( $count AND dle_strlen( $row['text'], $config['charset'] ) > $count ) {
						
				$row['text'] = dle_substr( $row['text'], 0, $count, $config['charset'] );
						
				if( ($temp_dmax = dle_strrpos( $row['text'], ' ', $config['charset'] )) ) $row['text'] = dle_substr( $row['text'], 0, $temp_dmax, $config['charset'] );

			}
	
			$tpl->set( $matches[0], $row['text'] );
	
		}

		$tpl->if_array = $row;
		$tpl->compile( 'comments', true, false );
		
		return $tpl->result['comments'];
		
	}
	
	function build_customcomments( $tpl, $template ) {
		
		$this->customshow = true;
		
		$tpl->load_template( $template );
		
		if( strpos( $tpl->copy_template, "[xfvalue_" ) !== false ) $this->xfound = true;
		else $this->xfound = false;
		
		if( stripos( $tpl->copy_template, "{images}" ) !== false OR stripos( $tpl->copy_template, "[images]" ) !== false ) $display_images = array();
		else $display_images = false;
		
		if( $this->xfound ) $this->xfields = xfieldsload( true );
		
		$rows = array();

		$sql_result = $this->db->query(  $this->query );
		
		while ( $row = $this->db->get_row( $sql_result ) ) {
			$rows[$row['id']] = array ();
			
			if( is_array($display_images) ) $display_images[] = $row['id'];
		
			foreach ( $row as $key => $value ) {
				if ($key == "parent" AND $value == 0 ) $value = false;
				$rows[$row['id']][$key] = $value;
			}				
		}
			
		$this->db->free( $sql_result );
		unset($row);
		
		if(is_array($display_images) AND count($display_images) ) {
			
			$display_images = implode( ',', $display_images );
			
			$sql_result = $this->db->query( "SELECT id, c_id, name FROM " . PREFIX . "_comments_files WHERE c_id IN ({$display_images})" );
			
			while ( $row = $this->db->get_row( $sql_result ) ) {
				if( is_array( $rows[$row['c_id']] ) ) $rows[$row['c_id']]['uploaded_images'][$row['id']] = $row['name'];
			}

			$this->db->free( $sql_result );
			unset($row);
			
		}
			
		if ( count( $rows ) ) {
			
			return $this->compile_comments($tpl, $rows, 'lastcomments');

		}
		
		return "";
		
	}
	
	function build_comments( $template, $area, $allow_cache = false, $re_url = false ) {
		global $config, $tpl, $is_logged, $member_id, $user_group, $lang, $ajax_adds, $dle_tree_comments, $dle_login_hash;

		$tpl->load_template( $template );

		if ( $area == "news" OR ( $area == 'ajax' AND !isset($ajax_adds) ) ) {
			$build_full_news = true;
		} else $build_full_news = false;
		
		
		$tpl->copy_template = "<div id='comment-id-{id}'>" . $tpl->copy_template . "</div>";
		$tpl->template = "<div id='comment-id-{id}'>" . $tpl->template . "</div>";

		if( stripos( $tpl->copy_template, "[xfvalue_" ) !== false ) $this->xfound = true;
		else $this->xfound = false;
		
		if( stripos( $tpl->copy_template, "{images}" ) !== false OR stripos( $tpl->copy_template, "[images]" ) !== false ) $display_images = array();
		else $display_images = false;
		
		if( $this->xfound ) $this->xfields = xfieldsload( true );

		$rows = false;

		if ( $allow_cache ) $rows = dle_cache ( "comm_".$allow_cache, $this->query );
		
		if( $rows ) {
	
			$rows = json_decode($rows, true);
	
		}

		if( is_array($rows) ) {

			$full_cache = true;
			
		} else {
			
			$rows = array();

			$sql_result = $this->db->query(  $this->query );
			
			while ( $row = $this->db->get_row( $sql_result ) ) {
				$rows[$row['id']] = array ();
				
				if( is_array($display_images) ) $display_images[] = $row['id'];
		
				foreach ( $row as $key => $value ) {
					if ($key == "parent" AND $value == 0 ) $value = false;
					$rows[$row['id']][$key] = $value;
				}				
			}
			
			$this->db->free( $sql_result );
			unset($row);
			
			if(is_array($display_images) AND count($display_images) ) {

				$display_images = implode( ',', $display_images );
				
				$sql_result = $this->db->query( "SELECT id, c_id, name FROM " . PREFIX . "_comments_files WHERE c_id IN ({$display_images})" );
				
				while ( $row = $this->db->get_row( $sql_result ) ) {
					if( is_array( $rows[$row['c_id']] ) ) $rows[$row['c_id']]['uploaded_images'][$row['id']] = $row['name'];
				}
				
				$this->db->free( $sql_result );
				unset($row);
				
			}
		
			if ( $build_full_news AND $config['tree_comments'] ) {
				$rows = $this->build_tree($rows);
				
				if( $config['comm_msort'] == "DESC" ) $rows = array_reverse($rows, true);
			}
			
			if ( $allow_cache ) create_cache ( "comm_".$allow_cache, json_encode($rows, JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES ), $this->query );
			
		}

		if ( $build_full_news AND count($rows) ) {
			$this->total_comments = count($rows);
			if( $this->cstart < $this->total_comments ) $rows = array_slice($rows, $this->cstart, $this->comments_per_pages, true); else $rows = array();
		}

		if ( count( $rows ) ) {
			
			if ( $build_full_news AND $config['tree_comments'] ) {
				$dle_tree_comments = 1;				
				$tpl->result['comments'] = $this->compile_tree($rows, $area);
			} else {
				
				$tpl->result['comments'] = $this->compile_comments($tpl, $rows, $area);
			}


		} else {

			if ($config['seo_control']  AND $_GET['cstart'] AND $re_url) {

				$re_url = parse_url($re_url, PHP_URL_PATH);
				header("HTTP/1.0 301 Moved Permanently");
				header("Location: {$re_url}");
				die("Redirect");

			}

			$tpl->result['comments'] = "";

		}

		$tpl->clear();
		
		if ($area != 'ajax')
			$tpl->result['comments'] = "<div id=\"comment\"></div>" . $tpl->result['comments'];
				
		if($config['comments_lazyload'] AND $area != 'ajax' AND $this->total_comments > $this->comments_per_pages) {

			$tpl->result['comments'] .= "
<div class=\"ajax_comments_area\"><div class=\"ajax_loaded_comments\"></div><div class=\"ajax_comments_next\"></div></div>
";

		}
		
		if ($area == 'news' AND $config['comm_msort'] == "DESC" )
			$tpl->result['comments'] = "
<div id=\"dle-ajax-comments\"></div>
" . $tpl->result['comments'];

		if ($area == 'news' AND $config['comm_msort'] == "ASC" )
			$tpl->result['comments'] .= "
<div id=\"dle-ajax-comments\"></div>
";

		if ($area != 'ajax' AND $user_group[$member_id['user_group']]['del_allc'] AND !$user_group[$member_id['user_group']]['edit_limit'])
			$tpl->result['comments'] .= "
<div class=\"mass_comments_action\">{$lang['mass_comments']}&nbsp;<select name=\"mass_action\"><option value=\"\">{$lang['edit_selact']}</option><option value=\"mass_combine\">{$lang['edit_selcomb']}</option><option value=\"mass_delete\">{$lang['edit_seldel']}</option></select>&nbsp;&nbsp;<input type=\"submit\" class=\"bbcodes\" value=\"{$lang['b_start']}\" /></div>
<input type=\"hidden\" name=\"do\" value=\"comments\" /><input type=\"hidden\" name=\"dle_allow_hash\" value=\"{$dle_login_hash}\" /><input type=\"hidden\" name=\"area\" value=\"{$area}\" />";

			
		if ($area != 'ajax')
			$tpl->result['comments'] = "<form method=\"post\" name=\"dlemasscomments\" id=\"dlemasscomments\"><div id=\"dle-comments-list\">
" . $tpl->result['comments']. "</div></form>
";

		if ( strpos ( $tpl->result['content'], "<!--dlecomments-->" ) !== false ) {

			$tpl->result['content'] = str_replace ( "<!--dlecomments-->", $tpl->result['comments'], $tpl->result['content'] );

		} else {

			$tpl->result['content'] .= $tpl->result['comments'];

		}

	}

	function build_navigation( $template, $alternative_link, $link, $re_url = false ) {
		global $tpl, $config, $lang, $news_id, $js_array, $onload_scripts, $canonical;

		if( $this->total_comments <= $this->comments_per_pages ) return;

		$PHP_SELF = $config['http_home_url'] . "index.php";

		if($config['comments_lazyload'] AND $news_id ) {

			$js_array[] = "engine/classes/js/waypoints.js";
			$enpages_count = @ceil( $this->total_comments / $this->comments_per_pages );

			$onload_scripts[] = <<<HTML
	var dle_news_id= '{$news_id}';
	var total_comments_pages= '{$enpages_count}';
	var current_comments_page= '1';

	$('.ajax_comments_next').waypoint(function() {

		if (current_comments_page < total_comments_pages ) {

			Waypoint.disableAll();
			current_comments_page ++;
			ShowLoading('');

			$.get(dle_root + "engine/ajax/controller.php?mod=comments", { cstart: current_comments_page, news_id: dle_news_id, skin: dle_skin, massact:'disable' }, function(data){

				$(".ajax_loaded_comments").append(data.comments);

				HideLoading('');
				Waypoint.refreshAll();
				setTimeout(function() { Waypoint.enableAll(); }, 500);

			}, "json");

		} else {

			Waypoint.destroyAll();
		}


	}, {
	  offset: 'bottom-in-view'
	});
HTML;

			return;

		}

		if( isset( $_GET['cstart'] ) ) $this->cstart = intval( $_GET['cstart'] );
		if( !$this->cstart OR $this->cstart < 0 ) $this->cstart = 1;

		$news_id = intval($news_id) > 0 ? intval($news_id): 0;

		$tpl->load_template( $template );

		if( $this->cstart > 1 ) {
			$prev = $this->cstart - 1;

			if( $config['allow_alt_url'] AND $alternative_link) {

				if ( $prev == 1 AND $re_url ) $url = $re_url."#comment";
				else $url = str_replace ("{page}", $prev, $alternative_link );

				if ( $config['comments_ajax'] AND $news_id ) {
					$url = str_replace($config['http_home_url'], '/', $url);
					$go_page = " onclick=\"CommentsPage('{$prev}', '{$news_id}', '{$url}'); return false;\"";
				} else $go_page = "";

				$tpl->set_block( "'\[prev-link\](.*?)\[/prev-link\]'si", "<a href=\"" . $url . "\"{$go_page}></a>" );

			} else {

				if ( $prev == 1 AND $re_url ) $url = $re_url."#comment";
				else $url = "$PHP_SELF?cstart={$prev}&amp;{$link}#comment";

				if ( $config['comments_ajax'] AND $news_id ) {
					$url = str_replace($config['http_home_url'], '/', $url);
					$go_page = " onclick=\"CommentsPage('{$prev}', '{$news_id}', '{$url}'); return false;\"";
				} else $go_page = "";

				$tpl->set_block( "'\[prev-link\](.*?)\[/prev-link\]'si", "<a href=\"{$url}\"{$go_page}></a>" );
			}

		} else {
			$tpl->set_block( "'\[prev-link\](.*?)\[/prev-link\]'si", "<span></span>" );
			$no_prev = TRUE;
		}

		if( $this->comments_per_pages ) {

			$enpages_count = @ceil( $this->total_comments / $this->comments_per_pages );
			$pages = "";

			if($this->cstart != 1 AND $canonical ) {
				
				if( $config['allow_alt_url'] AND $alternative_link ) {
					
					$canonical = str_replace ("{page}", $this->cstart, $alternative_link );
					$canonical = str_replace ("#comment", "", $canonical );

				} else {
					
					$canonical = "{$PHP_SELF}?cstart={$this->cstart}&".str_replace('&amp;', '&', $link);
					
				}
					
			}

			if( $enpages_count <= 10 ) {

				for($j = 1; $j <= $enpages_count; $j ++) {

					if( $j != $this->cstart  ) {

						if( $config['allow_alt_url'] AND $alternative_link ) {

							if ( $j == 1 AND $re_url ) $url = $re_url."#comment";
							else $url = str_replace ("{page}", $j, $alternative_link );

							if ( $config['comments_ajax'] AND $news_id ) {
								$url = str_replace($config['http_home_url'], '/', $url);
								$go_page = " onclick=\"CommentsPage('{$j}', '{$news_id}', '{$url}'); return false;\"";
							} else $go_page = "";

							$pages .= "<a href=\"" . $url . "\"{$go_page}>$j</a> ";

						} else {

							if ( $j == 1 AND $re_url ) $url = $re_url."#comment";
							else $url = "{$PHP_SELF}?cstart={$j}&amp;{$link}#comment";

							if ( $config['comments_ajax'] AND $news_id ) {
								$url = str_replace($config['http_home_url'], '/', $url);
								$go_page = " onclick=\"CommentsPage('{$j}', '{$news_id}', '{$url}'); return false;\"";
							} else $go_page = "";

							$pages .= "<a href=\"{$url}\"{$go_page}>$j</a> ";
						}

					} else {

						$pages .= "<span>$j</span> ";
					}

				}

			} else {

				$start = 1;
				$end = 10;
				$nav_prefix = "<span class=\"nav_ext\">{$lang['nav_trennen']}</span> ";

				if( $this->cstart  > 0 ) {

					if( $this->cstart  > 6 ) {

						$start = $this->cstart  - 4;
						$end = $start + 8;

						if( $end >= $enpages_count-1 ) {
							$start = $enpages_count - 9;
							$end = $enpages_count - 1;
						}

					}

				}
				
				if( $end >= $enpages_count-1 ) $nav_prefix = ""; else $nav_prefix = "<span class=\"nav_ext\">{$lang['nav_trennen']}</span> ";

				if( $start >= 2 ) {

					if( $re_url ) {

						$url = $re_url."#comment";

					} else $url = "{$PHP_SELF}?cstart=1&amp;{$link}#comment";

					if ( $config['comments_ajax'] AND $news_id ) {
						$url = str_replace($config['http_home_url'], '/', $url);
						$go_page = " onclick=\"CommentsPage('1', '{$news_id}', '{$url}'); return false;\"";
					} else $go_page = "";

					if( $start >= 3 ) $before_prefix = "<span class=\"nav_ext\">{$lang['nav_trennen']}</span> "; else $before_prefix = "";
					
					$pages .= "<a href=\"{$url}\"{$go_page}>1</a> ".$before_prefix;

				}

				for($j = $start; $j <= $end; $j ++) {

					if( $j != $this->cstart ) {

						if( $config['allow_alt_url'] AND $alternative_link) {

							if ( $j == 1 AND $re_url ) $url = $re_url."#comment";
							else $url = str_replace ("{page}", $j, $alternative_link );

							if ( $config['comments_ajax'] AND $news_id ) {
								$url = str_replace($config['http_home_url'], '/', $url);
								$go_page = " onclick=\"CommentsPage('{$j}', '{$news_id}', '{$url}'); return false;\"";
							} else $go_page = "";

							$pages .= "<a href=\"" . $url . "\"{$go_page}>$j</a> ";

						} else {

							if ( $j == 1 AND $re_url ) $url = $re_url."#comment";
							else $url = "{$PHP_SELF}?cstart={$j}&amp;{$link}#comment";

							if ( $config['comments_ajax'] AND $news_id ) {
								$url = str_replace($config['http_home_url'], '/', $url);
								$go_page = " onclick=\"CommentsPage('{$j}', '{$news_id}', '{$url}'); return false;\"";
							} else $go_page = "";

							$pages .= "<a href=\"{$url}\"{$go_page}>$j</a> ";
						}
					} else {

						$pages .= "<span>$j</span> ";
					}

				}

				if( $this->cstart != $enpages_count ) {

					if( $config['allow_alt_url'] AND $alternative_link) {

						$url = str_replace ("{page}", $enpages_count, $alternative_link );

						if ( $config['comments_ajax'] AND $news_id ) {
							$url = str_replace($config['http_home_url'], '/', $url);
							$go_page = " onclick=\"CommentsPage('{$enpages_count}', '{$news_id}', '{$url}'); return false;\"";
						} else $go_page = "";

						$pages .= $nav_prefix . "<a href=\"" . $url . "\"{$go_page}>{$enpages_count}</a>";

					} else {
						
						$url = "{$PHP_SELF}?cstart={$enpages_count}&amp;{$link}#comment";

						if ( $config['comments_ajax'] AND $news_id ) {
							$url = str_replace($config['http_home_url'], '/', "{$PHP_SELF}?cstart={$enpages_count}&amp;{$link}#comment");
							$go_page = " onclick=\"CommentsPage('{$enpages_count}', '{$news_id}', '{$url}'); return false;\"";
						} else $go_page = "";

						$pages .= $nav_prefix . "<a href=\"{$url}\"{$go_page}>{$enpages_count}</a>";
					}

				} else
					$pages .= "<span>{$enpages_count}</span> ";

			}

			$tpl->set( '{pages}', $pages );

		}

		if( $this->cstart < $enpages_count ) {


			$next_page = $this->cstart + 1;

			if( $config['allow_alt_url'] AND $alternative_link ) {

				$url = str_replace ("{page}", $next_page, $alternative_link );

				$tpl->set_block( "'\[next-link\](.*?)\[/next-link\]'si", "<a href=\"" . $url . "\"{$go_page}></a>" );

			} else $url = "{$PHP_SELF}?cstart=$next_page&amp;{$link}#comment";

			if ( $config['comments_ajax'] AND $news_id ) {
				$url = str_replace($config['http_home_url'], '/', $url);
				$go_page = " onclick=\"CommentsPage('{$next_page}', '{$news_id}', '{$url}'); return false;\"";
			} else $go_page = "";

			$tpl->set_block( "'\[next-link\](.*?)\[/next-link\]'si", "<a href=\"" . $url . "\"{$go_page}></a>" );

		} else {

			$tpl->set_block( "'\[next-link\](.*?)\[/next-link\]'si", "<span></span>" );
			$no_next = TRUE;

		}

		$tpl->compile( 'commentsnavigation' );

		$tpl->clear();

		if ( strpos ( $tpl->result['content'], "<!--dlenavigationcomments-->" ) !== false ) {

			$tpl->result['content'] = str_replace ( "<!--dlenavigationcomments-->", "<div class=\"dle-comments-navigation\">".$tpl->result['commentsnavigation']."</div>", $tpl->result['content'] );

		} else {

			$tpl->result['content'] .= "<div class=\"dle-comments-navigation\">".$tpl->result['commentsnavigation']."</div>";

		}

	}

	function check_group( $matches=array() ) {

		$groups = $matches[2];
		$block = $matches[3];

		if ($matches[1] == "commentsgroup") $action = true; else $action = false;

		$groups = explode( ',', $groups );

		if( $action ) {

			if( !in_array( $this->comments_group, $groups ) ) return "";

		} else {

			if( in_array( $this->comments_group, $groups ) ) return "";

		}


		return $block;

	}

	function check_commentscount( $matches=array() ) {

		$block = $matches[3];

		$counts = explode( ',', $matches[2] );

	    if( $matches[1] == "commentscount" ) {

			if( !in_array( $this->intern_count, $counts ) ) return "";

		} else {

			if( in_array( $this->intern_count, $counts ) ) return "";

		}

		return $block;

	}

	function isTimestamp($string)
	{
		try {
			new DateTime('@' . $string);
		} catch (Exception $e) {
			return false;
		}
		return true;
	}

	function fix_quote_title($matches = array())
	{ 
		global $config, $lang;

		$return_string = '<div class="title_quote"';
		$title_text = '';

		if (preg_match("#data-commenttime=['\"](.+?)['\"]#i", $matches[1], $match)) {
			
			$time = intval($match[1]);

			if( $this->isTimestamp( $time ) ) {
				$return_string .= " data-commenttime=\"{$time}\"";
				$title_text .= difflangdate($config['timestamp_comment'], $time).', ';
			}
		}

		if (preg_match("#data-commentuser=['\"](.+?)['\"]#i", $matches[1], $match)) {

			$author = html_entity_decode($match[1], ENT_QUOTES | ENT_HTML5, 'UTF-8');
			$author = htmlspecialchars($author, ENT_COMPAT | ENT_HTML5, 'UTF-8');
			
			intval($match[1]);

			if ( $author ) {
				$return_string .= " data-commentuser=\"{$author}\"";
				$title_text .= $author . ' ' . $lang['user_says'];
			}
		}

		$return_string .= '>';

		if($title_text) $return_string .= $title_text;
		else $return_string .= $matches[2];

		$return_string .= '</div>';

		return $return_string;
	}
}

Did this file decode correctly?

Original Code

$_F=__FILE__;$_X='PzY4P0d1R0QzKkQuLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLkRwbEFYQVUwSFdwSzxxMDxXcC1wTzlweVRIWG1XVlpwWVdpMEFwd0JUekdELS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1EcHVYWEdaOjMzaWNXLTxXVlpnQnozRC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tRHByVEc5QjBxdVhwKC8pcGVNTUwtZU1lW3B5VEhYbVdWWnBZV2kwQXB3QlR6R0QuLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLkRwIHUwWnAvVGlXcDBacEdCVFhXL1hXaXBPOXAvVEc5QjBxdVhELi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi5EcHMwY1c6cC9UNzdXPFhaZy9jQVpaZ0d1R0QtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLURwe1pXOnAvVDc3VzxYWnAvY0FaWkQuLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLkQqM0QwSChwIWlXSDA8V2kocCdsayBrVT1zS0ttdz1tSydwKXApcHZECXVXQWlXQihwIlAgIGQzNGc0cExNW3BzVEJPMGlpVzwicCk7RAl1V0FpV0JwKHAnVVQvQVgwVDw6cGdnM2dnMydwKTtECWkwVyhwIlBBL1EwPHFwQVhYVzdHWCEicCk7RGpERC9jQVpacGxVS19yVDc3VzxYWnB2REQJR3pPYzAvcCRpT3AucEhBY1pXO0QJR3pPYzAvcCRSeldCOXAucEhBY1pXO0QJR3pPYzAvcCQvWlhBQlhwLnBNO0QJR3pPYzAvcCRYVFhBY18vVDc3VzxYWnAucE07RAlHek9jMC9wJC9UNzdXPFhaX0dXQl9HQXFXWnAucE07RAlHek9jMC9wJDA8WFdCPF8vVHo8WHAucE07RAlHek9jMC9wJFdJWEJBWl9CemNXWnAucEFCQkE5KCk7RAlHek9jMC9wJC9UNzdXPFhaX3FCVHpHcC5wTTtECUd6T2MwL3AkSUgwV2NpWnAucEFCQkE5KCk7RAlHek9jMC9wJElIVHo8aXAucEhBY1pXO0QJR3pPYzAvcCQwPGlXPFhwLnBNO0QJR3pPYzAvcCQvelpYVDdadVRWcC5wSEFjWlc7RAlHek9jMC9wJEFjY1RWX0FpaXAucEhBY1pXO0QJRAlIejwvWDBUPHBfXy9UPFpYQnovWChwJGlPLHAkWFRYQWNfL1Q3N1c8WFoscCQvVDc3VzxYWl9HV0JfR0FxV1oscCRBY2NUVl9BaWlwLnBYQnpXcClwdkRECQkkWHUwWi02aU9wLnAkaU87RAkJJFh1MFotNlhUWEFjXy9UNzdXPFhacC5wJFhUWEFjXy9UNzdXPFhaO0QJCSRYdTBaLTZBY2NUVl9BaWlwLnAkQWNjVFZfQWlpO0QJCUQJCTBIKCQvVDc3VzxYWl9HV0JfR0FxV1pwOHA0KXBwJC9UNzdXPFhaX0dXQl9HQXFXWnAucFtNO0QJRAkJJFh1MFotNi9UNzdXPFhaX0dXQl9HQXFXWnAucCQvVDc3VzxYWl9HV0JfR0FxV1o7REQJCTBIcChwMFpaV1gocCRfd0sgYScvWlhBQlgnCnApcClwJFh1MFotNi9aWEFCWHAucDA8WGhBYyhwJF93SyBhJy9aWEFCWCcKcCk7cFdjWldwJFh1MFotNi9aWEFCWHAucE07REQJCTBIKHAkWHUwWi02L1pYQUJYcDZwTSlwdkQJCQkkWHUwWi02L1pYQUJYcC5wJFh1MFotNi9aWEFCWHAtcDQ7RAkJCSRYdTBaLTYvWlhBQlhwLnAkWHUwWi02L1pYQUJYcCpwJC9UNzdXPFhaX0dXQl9HQXFXWjtECQlqcFdjWldwJFh1MFotNi9aWEFCWHAucE07REQJakRECUh6PC9YMFQ8cEFpaV9CemNXWihwJEgwPGkscCRCV0djQS9XLHAkWDlHV3ApcHZERAkJJFh1MFotNldJWEJBWl9CemNXWmEKcC5wQUJCQTkoJFg5R1cscCRIMDxpLHAkQldHY0EvVyk7REQJakRECUh6PC9YMFQ8cE96MGNpX1hCV1cocCRpQVhBcClwdkRECQkkWEJXV3AucEFCQkE5KCk7RAkJSFRCV0EvdXAoJGlBWEFwQVpwJDBpLjYmJDxUaVcpcHZECQkJMEhwKCQ8VGlXYSdHQUJXPFgnCnAuLi5wSEFjWlcpcHZECQkJCSRYQldXYSQwaQpwLnAmJDxUaVc7RAkJCWpwV2NaV3B2RAkJCQkwSHAoITBaWldYKCRpQVhBYSQ8VGlXYSdHQUJXPFgnCgphJy91MGNpQlc8JwopKXAkaUFYQWEkPFRpV2EnR0FCVzxYJwoKYScvdTBjaUJXPCcKcC5wQUJCQTkoKTtECQkJCSRpQVhBYSQ8VGlXYSdHQUJXPFgnCgphJy91MGNpQlc8JwphJDBpCnAucCYkPFRpVztECQkJakQJCWpECQlECQlCV1h6QjxwJFhCV1c7REQJakRECUh6PC9YMFQ8cC9UN0cwY1dfWEJXVygkPFRpV1oscCRBQldBLHAkWnpPY1doV2M3QUJRV0JwLnBYQnpXLHAkMDxpVzxYcC5wTXApcHZECQlxY1RPQWNwJC9UPEgwcSxwJFhHYztECQlECQkwSHAoJC9UPEgwcWEnWEJXV18vVDc3VzxYWicKcGttbHAkL1Q8SDBxYSdYQldXXy9UNzdXPFhaX2NXaFdjJwpwa21scCQwPGlXPFhwNnAkL1Q8SDBxYSdYQldXXy9UNzdXPFhaX2NXaFdjJwpwKXAkWnpPY1doV2M3QUJRV0JwLnBIQWNaVztERAkJMEhwKCQvVDxIMHFhJ1hCV1dfL1Q3N1c8WFonCnBrbWxwJC9UPEgwcWEnWEJXV18vVDc3VzxYWl9jV2hXYycKcGttbHAkMDxpVzxYcDhwJC9UPEgwcWEnWEJXV18vVDc3VzxYWl9jV2hXYycKKXAkPFdJWHAucFhCelc7cFdjWldwJDxXSVhwLnBIQWNaVztECQlECQkkMFhXN3AucCIiO0QJCUQJCUhUQldBL3VwKCQ8VGlXWnBBWnAkPFRpVylwdkRECQkJMEhwKDBaWldYKCQ8VGlXYScvdTBjaUJXPCcKKXBrbWxwJDxXSVhwKXB2REQJCQkJJDBYVzdwZy5wIjhjMHAwaS5cIi9UNzdXPFhaLVhCV1ctMFhXNy12JDxUaVdhJzBpJwpqXCJwL2NBWlouXCIvVDc3VzxYWi1YQldXLTBYVzdcInA2InBncCRYdTBaLTYvVDdHMGNXXy9UNzdXPFgoJFhHYyxwJDxUaVcscCRBQldBLHAkMDxpVzxYKTtECQkJCSQwWFc3cGcucCRYdTBaLTYvVDdHMGNXX1hCV1coJDxUaVdhJy91MGNpQlc8JwoscCRBQldBLHAkPFdJWCxwJDA8aVc8WHArcDQpO0QJCQkJJDBYVzdwZy5wIjgzYzA2IjtERAkJCWpwV2NaV3B2REQJCQkJJDBYVzdwZy5wIjhjMHAwaS5cIi9UNzdXPFhaLVhCV1ctMFhXNy12JDxUaVdhJzBpJwpqXCJwL2NBWlouXCIvVDc3VzxYWi1YQldXLTBYVzdcInA2InBncCRYdTBaLTYvVDdHMGNXXy9UNzdXPFgoJFhHYyxwJDxUaVcscCRBQldBLHAkMDxpVzxYKWdwIjgzYzA2IjtERAkJCQkwSHAoMFpaV1goJDxUaVdhJy91MGNpQlc8JwopKXB2RAkJCQkJJDBYVzdwZy5wJFh1MFotNi9UN0cwY1dfWEJXVygkPFRpV2EnL3UwY2lCVzwnCixwJEFCV0EscCQ8V0lYLHAkMDxpVzxYcCtwNCk7RAkJCQlqREQJCQlqRAkJCUQJCWpECQlECQkwSChwJFp6T2NXaFdjN0FCUVdCcClwQldYekI8cCI4VGNwL2NBWlouXCIvVDc3VzxYWi1YQldXLWMwWlhcIjYiZyQwWFc3ZyI4M1RjNiI7cFdjWldwQldYekI8cCQwWFc3O0QJakRECUh6PC9YMFQ8cC9UN0cwY1dfL1Q3N1c8WFooJFhHYyxwJEJUVloscCRBQldBKXB2RAkJRAkJJDBYVzdwLnAiIjtECQlECQlIVEJXQS91cCgkQlRWWnBBWnAkQlRWKXB2RAkJCSQwWFc3cGcucCRYdTBaLTYvVDdHMGNXXy9UNzdXPFgoJFhHYyxwJEJUVixwJEFCV0EscE0pO0QJCWpECQlECQlCV1h6QjxwJDBYVzc7RAlqCUQJRAlIejwvWDBUPHAvVDdHMGNXXy9UNzdXPFgocCRYR2MscCRCVFYscCRBQldBLHAkMDxpVzxYcClwdkQJCXFjVE9BY3AkL1Q8SDBxLHAkMFpfY1RxcVdpLHAkN1c3T1dCXzBpLHAkelpXQl9xQlR6RyxwJGNBPHEscCRpY1dfY1RxMDxfdUFadSxwJF8gPVlLLHAkQWNjVFZfL1Q3N1c8WFpfQUpBSSxwJEFKQUlfQWlpWixwJDxXVlpfaUFYVyxwJDxXVlpfQXpYdVRCLHAkQldHY0EvV19jMDxRWixwJC9BWFdxVEI5XzBpLHAkT0E8PFdCWixwJF9sb3J7WUttIF9sayBLO0RECQkkZFBkX3lLVXNwLnAkL1Q8SDBxYSd1WFhHX3VUN1dfekJjJwpwZ3AiMDxpV0lnR3VHIjtECQkJCUQJCSRYdTBaLTYwPFhXQjxfL1R6PFhwKys7REQJCSRYR2MtNkJXWnpjWGEnL1Q3N1c8WFonCnAucCIiO0RECQkkQlRWYSdpQVhXJwpwLnBaWEJYVFgwN1cocCRCVFZhJ2lBWFcnCnApO0QJCUQJCTBIKCRCVFZhJ2lBWFcnCnA2cCRfbG9ye1lLbSBfbGsgSylwJF9sb3J7WUttIF9sayBLcC5wJEJUVmEnaUFYVycKO0RECQkkQlRWYSdxQVpYXzxBN1cnCnAucDBaWldYKCRCVFZhJ3FBWlhfPEE3VycKKXA/cFpYQjBHWmNBWnVXWihwJEJUVmEncUFaWF88QTdXJwpwKXA6cCcnO0QJCSRCVFZhJ3FBWlhfVzdBMGMnCnAucDBaWldYKCRCVFZhJ3FBWlhfVzdBMGMnCilwP3BaWEIwR1pjQVp1V1oocCRCVFZhJ3FBWlhfVzdBMGMnCnApcDpwJyc7RAkJJEJUVmEnPEE3VycKcC5wMFpaV1goJEJUVmEnPEE3VycKKXA/cFpYQjBHWmNBWnVXWihwJEJUVmEnPEE3VycKcClwOnAnJztECQkkQlRWYSdIVFhUJwpwLnAwWlpXWCgkQlRWYSdIVFhUJwopcD9wJEJUVmEnSFRYVCcKcDpwJyc7RAkJMEhwKCEkQlRWYSd6WldCX3FCVHpHJwopcCRCVFZhJ3paV0JfcUJUekcnCnAucEU7RAkJCQlECQkwSChwISRCVFZhJzBaX0JXcTBaWFdCJwpwbzJwJEJUVmEnPEE3VycKcC4ucCcncClwdkRECQkJMEgocCRCVFZhJ3FBWlhfVzdBMGMnCnAhLnAiInApcHZERAkJCQkkWEdjLTZaV1gocCd2QXpYdVRCaicscCI4QXB1QldILlwiN0EwY1hUOiJndVg3Y1pHVy8wQWMvdUFCWigkQlRWYSdxQVpYX1c3QTBjJwoscEttIF9Oe28gS3kscCQvVDxIMHFhJy91QUJaV1gnCilnIlwiNiJwZ3AkQlRWYSdxQVpYXzxBN1cnCnBncCI4M0E2InApO0RECQkJanBXY1pXcHZECQkJCSRYR2MtNlpXWChwJ3ZBelh1VEJqJyxwJEJUVmEncUFaWF88QTdXJwpwKTtECQkJakRECQkJJFhHYy02WldYKHAndmNUcTA8aicscCRCVFZhJ3FBWlhfPEE3VycKcCk7RAkJCSRYR2MtNlpXWChwJ2FHQlRIMGNXCicscCIicCk7RAkJCSRYR2MtNlpXWChwJ2EzR0JUSDBjVwonLHAiInApO0RECQlqcFdjWldwdkRECQkJMEgocCQvVDxIMHFhJ0FjY1RWX0FjWF96QmMnCnApcHZERAkJCQkkcVRfR0FxV3AucCQvVDxIMHFhJ3VYWEdfdVQ3V196QmMnCnBncCJ6WldCMyJwZ3B6QmNXPC9UaVcocCRCVFZhJzxBN1cnCnApcGdwIjMiO0QJCQkJJFhHYy02WldYKHAnYUdCVEgwY1cKJyxwIjhBcHVCV0guXCIicGdwJC9UPEgwcWEndVhYR191VDdXX3pCYycKcGdwInpaV0IzInBncHpCY1c8L1RpVyhwJEJUVmEnPEE3VycKcClwZ3AiM1wiNiJwKTtERAkJCWpwV2NaV3B2REQJCQkJJHFUX0dBcVdwLnAiJGRQZF95S1VzP1p6T0EvWDBUPC56WldCMDxIVCZ6WldCLiJwZ3B6QmNXPC9UaVcocCRCVFZhJzxBN1cnCnApO0QJCQkJJFhHYy02WldYKHAnYUdCVEgwY1cKJyxwIjhBcHVCV0guXCIkZFBkX3lLVXM/WnpPQS9YMFQ8LnpaV0IwPEhUJkE3Rzt6WldCLiJwZ3B6QmNXPC9UaVcocCRCVFZhJzxBN1cnCnApcGdwIlwiNiJwKTtECQkJakRERAkJCSRxVF9HQXFXcC5wIlQ8L2MwL1EuXCJ5dVRWZEJUSDBjVygnInBncHpCY1c8L1RpVyhwJEJUVmEnPEE3VycKcClwZ3AiJyxwJyJwZ3B1WDdjWkdXLzBBYy91QUJaKHAkcVRfR0FxVyxwS20gX057byBLeSxwJC9UPEgwcWEnL3VBQlpXWCcKcClwZ3AiJyxwJyJwZ3AkelpXQl9xQlR6R2EkN1c3T1dCXzBpYSd6WldCX3FCVHpHJwoKYSdBaTcwPF9XaTBYelpXQlonCnBncCInKTtwQldYekI8cEhBY1pXO1wiIjtERAkJCTBIKHAkL1Q8SDBxYSdBY2NUVl9BY1hfekJjJwpwKXAkWEdjLTZaV1gocCd2QXpYdVRCaicscCI4QXB2JHFUX0dBcVdqcHVCV0guXCIicGdwJC9UPEgwcWEndVhYR191VDdXX3pCYycKcGdwInpaV0IzInBncHpCY1c8L1RpVyhwJEJUVmEnPEE3VycKcClwZ3AiM1wiNiJwZ3AkQlRWYSc8QTdXJwpwZ3AiODNBNiJwKTtECQkJV2NaV3AkWEdjLTZaV1gocCd2QXpYdVRCaicscCI4QXB2JHFUX0dBcVdqcHVCV0guXCIkZFBkX3lLVXM/WnpPQS9YMFQ8LnpaV0IwPEhUJkE3Rzt6WldCLiJwZ3B6QmNXPC9UaVcocCRCVFZhJzxBN1cnCnApcGdwIlwiNiJwZ3AkQlRWYSc8QTdXJwpwZ3AiODNBNiJwKTtERAkJCSRYR2MtNlpXWChwJ3ZjVHEwPGonLHAkQlRWYSc8QTdXJwpwKTtECQkJJFhHYy02WldYKHAnYTNHQlRIMGNXCicscCI4M0E2InApO0RECQlqREQJCTBIKHAkL1Q8SDBxYSdBY2NUVl9PQTw8V0InCnBrbWxwMFpfQUJCQTkoJE9BPDxXQlopcGttbHAvVHo8WChwJE9BPDxXQlpwKXApcHZECQkJRAkJCUhUQldBL3VwKHAkT0E8PFdCWnBBWnAkPEE3V3AuNnAkaEFjeldwKXB2RAkJCQkkWEdjLTYvVEc5X1hXN0djQVhXcC5wWlhCX0JXR2NBL1cocCJ2T0E8PFdCXyJwZ3AkPEE3V3BncCJqIixwJGhBY3pXLHAkWEdjLTYvVEc5X1hXN0djQVhXcCk7REQJCQkJMEhwKHAkaEFjeldwKXB2RAkJCQkJJFhHYy02L1RHOV9YVzdHY0FYV3AucFpYQl9CV0djQS9XcChwImFPQTw8V0JfInBncCQ8QTdXcGdwIgoiLHAiIixwJFhHYy02L1RHOV9YVzdHY0FYV3ApO0QJCQkJCSRYR2MtNi9URzlfWFc3R2NBWFdwLnBaWEJfQldHY0EvV3AocCJhM09BPDxXQl8icGdwJDxBN1dwZ3AiCiIscCIiLHAkWEdjLTYvVEc5X1hXN0djQVhXcCk7RAkJCQlqRAkJCWpECQlqRAkJRAkJJFhHYy02WldYX09jVC9RKHAiJ3ZPQTw8V0JfKGcqPylqJ1owIixwIiJwKTtECQkkWEdjLTZaV1hfT2NUL1FwKHAiJ1xcYU9BPDxXQl8oZyo/KVxcCihnKj8pXFxhM09BPDxXQl8oZyo/KVxcCidaMCIscCIicCk7RAkJRAkJMEgocCQwWl9jVHFxV2lwQTxpcCQ3VzdPV0JfMGlhJ3paV0JfcUJUekcnCnAuLnAnNCdwKXAkWEdjLTZaV1gocCd2MEdqJyxwIj1kOnA4QXBUPC9jMC9RLlwiQldYekI8cGlCVEdpVFY8N1c8eihYdTBaLHBXaFc8WCxwPWRZVzx6KCcicGdwJEJUVmEnMEcnCnBncCInLHAnInBncCRjQTxxYScwR18wPEhUJwpwZ3AiJyxwJyJwZ3AkY0E8cWEnMEdfWFRUY1onCnBncCInLHAnInBncCRjQTxxYScwR19PQTwnCnBncCInKSxwJzRTTUdJJylcInB1QldILlwidVhYR1o6MzNWVlZnPDAvZ0J6M1Z1VDBaMz9aV0FCL3V9VEJpLnYkQlRWYScwRycKalwicFhBQnFXWC5cIl9PY0E8UVwiNnYkQlRWYScwRycKajgzQTYicCk7RAkJV2NaV3AkWEdjLTZaV1gocCd2MEdqJyxwJydwKTtERAkJJFdpMFhfYzA3MFhwLnBIQWNaVztECQlECQkwSHAoISR6WldCX3FCVHpHYSQ3VzdPV0JfMGlhJ3paV0JfcUJUekcnCgphJ1dpMFhfYzA3MFgnCilwJFdpMFhfYzA3MFhwLnBYQnpXO0QJCVdjWlcwSHAocCgkQlRWYSdpQVhXJwpwK3AoJHpaV0JfcUJUekdhJDdXN09XQl8waWEnelpXQl9xQlR6RycKCmEnV2kwWF9jMDcwWCcKcCpwbk0pKXA2cCRfID1ZS3ApcHZECQkJJFdpMFhfYzA3MFhwLnBYQnpXO0QJCWpERAkJMEgocCQwWl9jVHFxV2lwa21scCRXaTBYX2MwNzBYcGttbHAhJFh1MFotNi96WlhUN1p1VFZwa21scCgoJDdXN09XQl8waWEnPEE3VycKcC4ucCRCVFZhJzxBN1cnCnBrbWxwJEJUVmEnMFpfQldxMFpYV0InCnBrbWxwJHpaV0JfcUJUekdhJDdXN09XQl8waWEnelpXQl9xQlR6RycKCmEnQWNjVFZfV2kwWC8nCilwbzJwJHpaV0JfcUJUekdhJDdXN09XQl8waWEnelpXQl9xQlR6RycKCmEnV2kwWF9BY2MvJwopcClwdkQJCQlECQkJJFhHYy02WldYKHAnYS9UNy1XaTBYCicscCI4QXBUPC9jMC9RLlwiQUpBSV8vVDc3X1dpMFgoJyJwZ3AkQlRWYScwaScKcGdwIicscCcicGdwJEFCV0FwZ3AiJyk7cEJXWHpCPHBIQWNaVztcInB1QldILlwiI1wiNiJwKTtECQkJJFhHYy02WldYKHAnYTMvVDctV2kwWAonLHAiODNBNiJwKTtECQkJJEFjY1RWXy9UNzdXPFhaX0FKQUlwLnBYQnpXO0QJCQlECQlqcFdjWldwJFhHYy02WldYX09jVC9RKHAiJ1xcYS9UNy1XaTBYXFwKKGcqPylcXGEzL1Q3LVdpMFhcXAonWjAiLHAiInApO0RERAkJMEgocCQwWl9jVHFxV2lwa21scCRXaTBYX2MwNzBYcGttbHAhJFh1MFotNi96WlhUN1p1VFZwa21scCgoJDdXN09XQl8waWEnPEE3VycKcC4ucCRCVFZhJzxBN1cnCnBrbWxwJEJUVmEnMFpfQldxMFpYV0InCnBrbWxwJHpaV0JfcUJUekdhJDdXN09XQl8waWEnelpXQl9xQlR6RycKCmEnQWNjVFZfaVdjLycKKXBvMnAkN1c3T1dCXzBpYSd6WldCX3FCVHpHJwpwLi5wJzQncG8ycCR6WldCX3FCVHpHYSQ3VzdPV0JfMGlhJ3paV0JfcUJUekcnCgphJ2lXY19BY2MvJwopcClwdkQJCQlECQkJJFhHYy02WldYKHAnYS9UNy1pV2MKJyxwIjhBcHVCV0guXCJKQWhBWi9CMEdYOmxXY1dYV3JUNzdXPFhaKCd2JEJUVmEnMGknCmonLHAndiRpY1dfY1RxMDxfdUFadWonKVwiNiJwKTtECQkJJFhHYy02WldYKHAnYTMvVDctaVdjCicscCI4M0E2InApO0QJCQlECQlqcFdjWldwJFhHYy02WldYX09jVC9RKHAiJ1xcYS9UNy1pV2NcXAooZyo/KVxcYTMvVDctaVdjXFwKJ1owIixwIiJwKTtERAkJMEgocCQwWl9jVHFxV2lwa21scCR6WldCX3FCVHpHYSQ3VzdPV0JfMGlhJ3paV0JfcUJUekcnCgphJ0FjY1RWX0FpNzA8Jwpwa21scCR6WldCX3FCVHpHYSQ3VzdPV0JfMGlhJ3paV0JfcUJUekcnCgphJ2lXY19BY2MvJwpwa21scCEkelpXQl9xQlR6R2EkQlRWYSd6WldCX3FCVHpHJwoKYSdBY2NUVl9BaTcwPCcKKXB2RAkJCUQJCQkkWEdjLTZaV1gocCdhWkdBNwonLHAiOEFwdUJXSC5cIkpBaEFaL0IwR1g6WUFCUXlHQTcoJ3YkQlRWYScwaScKaicscCd2JGljV19jVHEwPF91QVp1aicpO1wiNiJwKTtECQkJJFhHYy02WldYKHAnYTNaR0E3CicscCI4M0E2InApO0QJCQlECQlqcFdjWldwJFhHYy02WldYX09jVC9RKHAiJ1xcYVpHQTdcXAooZyo/KVxcYTNaR0E3XFwKJ1owIixwIiJwKTtERAkJMEhwKHAkelpXQl9xQlR6R2EkN1c3T1dCXzBpYSd6WldCX3FCVHpHJwoKYSdpV2NfQWNjLycKcGttbHAhJHpaV0JfcUJUekdhJDdXN09XQl8waWEnelpXQl9xQlR6RycKCmEnV2kwWF9jMDcwWCcKcGttbHAhJFh1MFotNi96WlhUN1p1VFZwKXB2REQJCQkkWEdjLTZaV1gocCd2N0FaWi1BL1gwVDxqJyxwIjgwPEd6WHA8QTdXLlwiWldjVy9YV2lfL1Q3N1c8WFphClwicGhBY3pXLlwidiRCVFZhJzBpJwpqXCJwWDlHVy5cIi91Vy9RT1RJXCJwMzYicCk7REQJCWpwV2NaV3AkWEdjLTZaV1gocCd2N0FaWi1BL1gwVDxqJyxwIiJwKTtECQlECQkwSChwISRCVFZhJzBaX0JXcTBaWFdCJwpwbzJwJEJUVmEnPEE3VycKcC4ucCcncClwJGlfPEE3V3AucCRCVFZhJ3FBWlhfPEE3VycKO0QJCVdjWldwJGlfPEE3V3AucCRCVFZhJzxBN1cnCjtECQkJCUQJCTBIcCgkQUJXQXAuLnAnY0FaWC9UNzdXPFhaJylwdkRECQkJJFhHYy02WldYX09jVC9RKHAiJ1xcYUhBWlhcXAooZyo/KVxcYTNIQVpYXFwKJ1owIixwIiJwKTtECQkJRAkJCTBIKCR6WldCX3FCVHpHYSQ3VzdPV0JfMGlhJ3paV0JfcUJUekcnCgphJ0FjY1RWX0FpaS8nCnBrbWxwJC9UPEgwcWEnQWNjVFZfL1Q3N1c8WFonCnBrbWxwJC9UPEgwcWEnWEJXV18vVDc3VzxYWicKcGttbHAkQlRWYSdBY2NUVl8vVDc3JwpwKXB2RAkJCQkkQWNjVFZfL1Q3N1c8WFpfQUpBSXAucFhCelc7RAkJCQkkWEdjLTZaV1gocCdhQldHYzkKJyxwIjhBcFQ8L2MwL1EuXCJpY1dfQldHYzkoJ3YkQlRWYScwaScKaicscCdNJyxwJ3YkL1Q8SDBxYSdaMDdHY1dfQldHYzknCmonKTtwQldYekI8cEhBY1pXO1wicHVCV0guXCIjXCI2InApO0QJCQkJJFhHYy02WldYKHAnYTNCV0djOQonLHAiODNBNiJwKTtECQkJanBXY1pXcHZECQkJCSRYR2MtNlpXWF9PY1QvUShwIidcXGFCV0djOVxcCihnKj8pXFxhM0JXR2M5XFwKJ1owIixwIiJwKTtECQkJakRECQlqcFdjWldwdkRECQkJMEgocCR6WldCX3FCVHpHYSQ3VzdPV0JfMGlhJ3paV0JfcUJUekcnCgphJ0FjY1RWX0FpaS8nCnBrbWxwJC9UPEgwcWEnQWNjVFZfL1Q3N1c8WFonCnBrbWxwJFh1MFotNkFjY1RWX0FpaXApcHZECQkJCUQJCQkJJFhHYy02WldYKHAnYUhBWlgKJyxwIjhBcFQ8N1R6WldUaFdCLlwiaWNXXy9URzlfUnpUWFcoJyJwZ3BaWEJfQldHY0EvVyhwQUJCQTlwKCJwIixwIicicCkscEFCQkE5cCgiJjxPWkc7IixwIlwnInApLHAkaV88QTdXcClwZ3AiJyxwJ3YkQlRWYSdpQVhXJwpqJyxwJyJncGkwSEhjQTxxaUFYVygkL1Q8SDBxYSdYMDdXWlhBN0dfL1Q3N1c8WCcKLHAkQlRWYSdpQVhXJwopZyIscCJncFpYQl9CV0djQS9XKEFCQkE5KCJwIixwIiciKSxwQUJCQTkoIiY8T1pHOyIscCJcJyIpLHAkaV88QTdXKWdwInAiZ3AkY0E8cWEnelpXQl9aQTlaJwpwZyInKTtwQldYekI8cEhBY1pXO1wicFQ8L2MwL1EuXCJpY1dfMDxaKCd2JEJUVmEnMGknCmonKTtwQldYekI8cEhBY1pXO1wicHVCV0guXCIjXCI2InApO0QJCQkJJFhHYy02WldYKHAnYTNIQVpYCicscCI4M0E2InApO0QJCQkJJFhHYy02WldYKHAnYTNCV0djOQonLHAiODNBNiJwKTtECQkJCUQJCQkJMEgocCQvVDxIMHFhJ1hCV1dfL1Q3N1c8WFonCnApcHZECQkJCQkJRAkJCQkJMEgoJFh1MFotNjA8aVc8WClwJDA8aVc8WHAucCRYdTBaLTYwPGlXPFg7RAkJCQkJJEFjY1RWXy9UNzdXPFhaX0FKQUlwLnBYQnpXO0QJCQkJCSRYR2MtNlpXWChwJ2FCV0djOQonLHAiOEFwVDwvYzAvUS5cImljV19CV0djOSgndiRCVFZhJzBpJwpqJyxwJ3YkMDxpVzxYaicscCd2JC9UPEgwcWEnWjA3R2NXX0JXR2M5JwpqJyk7cEJXWHpCPHBIQWNaVztcInB1QldILlwiI1wiNiJwKTsJREQJCQkJanBXY1pXcHZECQkJCQlECQkJCQkwSHAoJC9UPEgwcWEnQWNjVFZfQWNYX3pCYycKKXB2REQJCQkJCQkkcVRfR0FxV3AucCQvVDxIMHFhJ3VYWEdfdVQ3V196QmMnCnBncCJ6WldCMyJwZ3B6QmNXPC9UaVcoJEJUVmEnPEE3VycKKXBncCIzIjtECQkJCQlqcFdjWldwdkRECQkJCQkJJHFUX0dBcVdwLnAiJGRQZF95S1VzP1p6T0EvWDBUPC56WldCMDxIVCZBN0c7elpXQi4icGdwekJjVzwvVGlXKCRCVFZhJzxBN1cnCik7RAkJCQkJakRECQkJCQkwSHAoISRCVFZhJzBaX0JXcTBaWFdCJwpwVEJwJEJUVmEnPEE3VycKcC4ucCcnKXAkcVRfR0FxV3AucCcnO0QJCQkJCVdjWldwJHFUX0dBcVdwLnAiLHAndiRxVF9HQXFXaiciO0RECQkJCQkkWEdjLTZaV1gocCdhQldHYzkKJyxwIjhBcFQ8L2MwL1EuXCJpY1dfSEFaWEJXR2M5KCcicGdwWlhCX0JXR2NBL1cocEFCQkE5cCgiJiNNW1M7InApLHBBQkJBOXAoIlwnInApLHAkaV88QTdXcClwZ3AiJ3YkcVRfR0FxV2opO3BCV1h6QjxwSEFjWlc7XCJwdUJXSC5cIiNcIjYicCk7REQJCQkJakQJCQkJRAkJCWpwV2NaV3B2RAkJCQkkWEdjLTZaV1hfT2NUL1EocCInXFxhSEFaWFxcCihnKj8pXFxhM0hBWlhcXAonWjAiLHAiInApO0QJCQkJJFhHYy02WldYX09jVC9RKHAiJ1xcYUJXR2M5XFwKKGcqPylcXGEzQldHYzlcXAonWjAiLHAiInApO0QJCQlqREQJCWpERAkJJFhHYy02WldYKHAndjdBMGNqJyxwJEJUVmEncUFaWF9XN0EwYycKcCk7RAkJJFhHYy02WldYKHAndjBpaicscCRCVFZhJzBpJwpwKTtERAkJJFhHYy02WldYKCd2aUFYV2onLHBpMEhIY0E8cWlBWFcoJC9UPEgwcWEnWDA3V1pYQTdHXy9UNzdXPFgnCixwJEJUVmEnaUFYVycKKSk7REQJCSQ8V1ZaX2lBWFdwLnAkQlRWYSdpQVhXJwo7RAkJJFhHYy02L1RHOV9YVzdHY0FYV3AucEdCV3FfQldHY0EvV18vQWNjT0EvUXAocCIjXHZpQVhXLihnKz8pXGojMCIscCJIVEI3aUFYVyIscCRYR2MtNi9URzlfWFc3R2NBWFdwKTtERAkJMEhwKCRBQldBcC4ucCdjQVpYL1Q3N1c8WFonKXB2RAkJCUQJCQkkL0FYV3FUQjlfMGlwLnAkQlRWYScvQVhXcVRCOScKO0QJCQlECQkJJEJUVmEnL0FYV3FUQjknCnAucDA8WGhBYyhwJEJUVmEnL0FYV3FUQjknCnApO0RECQkJMEgocCQvVDxIMHFhJ0FjY1RWX0FjWF96QmMnCnApcHZERAkJCQkwSChwJC9UPEgwcWEnWldUX1g5R1cnCnAuLnA0cG8ycCQvVDxIMHFhJ1pXVF9YOUdXJwpwLi5wZXApcHZERAkJCQkJMEgocCRCVFZhJy9BWFdxVEI5JwpwQTxpcCQvVDxIMHFhJ1pXVF9YOUdXJwpwLi5wZXApcHZERAkJCQkJCSRIemNjX2MwPFFwLnAkL1Q8SDBxYSd1WFhHX3VUN1dfekJjJwpwZ3BxV1hfekJjKHAkQlRWYScvQVhXcVRCOScKcClwZ3AiMyJwZ3AkQlRWYSdHVFpYXzBpJwpwZ3AiLSJwZ3AkQlRWYSdBY1hfPEE3VycKcGdwImd1WDdjIjtERAkJCQkJanBXY1pXcHZERAkJCQkJCSRIemNjX2MwPFFwLnAkL1Q8SDBxYSd1WFhHX3VUN1dfekJjJwpwZ3AkQlRWYSdHVFpYXzBpJwpwZ3AiLSJwZ3AkQlRWYSdBY1hfPEE3VycKcGdwImd1WDdjIjtERAkJCQkJakRECQkJCWpwV2NaV3B2REQJCQkJCSRIemNjX2MwPFFwLnAkL1Q8SDBxYSd1WFhHX3VUN1dfekJjJwpwZ3BpQVhXKHAnYjM3M2kzJyxwWlhCWFRYMDdXcCgkQlRWYSc8V1ZaaUFYVycKKXApcGdwJEJUVmEnQWNYXzxBN1cnCnBncCJndVg3YyI7RAkJCQlqREQJCQlqcFdjWldwdkRECQkJCSRIemNjX2MwPFFwLnAkL1Q8SDBxYSd1WFhHX3VUN1dfekJjJwpwZ3AiMDxpV0lnR3VHPzxXVlowaS4icGdwJEJUVmEnR1RaWF8waScKO0RECQkJakRECQkJJFhHYy02WldYKHAndjxXVlpfWDBYY1dqJyxwIjhBcHVCV0guXCIicGdwJEh6Y2NfYzA8UXBncCJcInBUPC9jMC9RLlwiSDA8aXJUNzdXPFhaZEFxVyhYdTBaLHAndiRCVFZhJzBpJwpqJyxwJ3YkQlRWYSdHVFpYXzBpJwpqJyk7cEJXWHpCPHBIQWNaVztcIjYicGdwWlhCMEdaY0FadVdaKHAkQlRWYSdYMFhjVycKcClwZ3AiODNBNiJwKTtECQkJJFhHYy02WldYKHAndjxXVlotYzA8UWonLHAkSHpjY19jMDxRcCk7RAkJCSRYR2MtNlpXWChwJ3Y8V1ZaLTBpaicscCRCVFZhJ0dUWlhfMGknCnApO0QJCQkkWEdjLTZaV1gocCd2PFdWWi1YMFhjV2onLHB1WDdjWkdXLzBBYy91QUJaKHBaWEIwR1pjQVp1V1oocCRCVFZhJ1gwWGNXJwpwKSxwS20gX057byBLeSxwJC9UPEgwcWEnL3VBQlpXWCcKcClwKTtERAkJanBXY1pXcAl2RAkJCSRYR2MtNlpXWChwJ3Y8V1ZaX1gwWGNXaicscCIicCk7RAkJCSRYR2MtNlpXWChwJ3Y8V1ZaLWMwPFFqJyxwIiJwKTtECQkJJFhHYy02WldYKHAndjxXVlotMGlqJyxwIiJwKTtECQkJJFhHYy02WldYKHAndjxXVlotWDBYY1dqJyxwIiJwKTtECQlqRAkJRAkJMEgocFpYQkdUWihwJFhHYy02L1RHOV9YVzdHY0FYVyxwImEvQVhjMFpYLiJwKXAhLi5wSEFjWldwKXB2RAkJCSRYR2MtNi9URzlfWFc3R2NBWFdwLnBHQldxX0JXR2NBL1dfL0FjY09BL1FwKHAiI1xcYSgvQVhjMFpYKS4oZys/KVxcCihnKj8pXFxhMy9BWGMwWlhcXAojMFoiLHAiL3VXL1FfL0FYV3FUQjkiLHAkWEdjLTYvVEc5X1hXN0djQVhXcCk7RAkJakQJCQkJCQkJCUQJCTBIKHBaWEJHVFoocCRYR2MtNi9URzlfWFc3R2NBWFcscCJhPFRYLS9BWGMwWlguInApcCEuLnBIQWNaV3ApcHZECQkJJFhHYy02L1RHOV9YVzdHY0FYV3AucEdCV3FfQldHY0EvV18vQWNjT0EvUXAocCIjXFxhKDxUWC0vQVhjMFpYKS4oZys/KVxcCihnKj8pXFxhMzxUWC0vQVhjMFpYXFwKIzBaIixwIi91Vy9RXy9BWFdxVEI5IixwJFhHYy02L1RHOV9YVzdHY0FYV3ApO0QJCWpECQlECQkkQlRWYSdJSDBXY2laX0FCQkE5JwpwLnBBQkJBOSgpO0QJCUQJCTBIKHAkQlRWYSdJSDBXY2laJwpwKXB2RAkJCSRCVFZhJ0lIMFdjaVpfQUJCQTknCnAucElIMFdjaVppQVhBY1RBaShwJEJUVmEnSUgwV2NpWicKcCk7RAkJakQJCUQJCTBIKHAkWHUwWi02SUhUejxpcClwdkQJCQlECQkJJElIMFdjaVppQVhBcC5wJEJUVmEnSUgwV2NpWl9BQkJBOScKO0RECQkJSFRCV0EvdXAocCRYdTBaLTZJSDBXY2lacEFacCRoQWN6V3ApcHZECQkJCSRHQldxX1pBSFdfPEE3V3AucEdCV3FfUnpUWFcocCRoQWN6V2FNCixwIicicCk7REQJCQkJMEgoJElIMFdjaVppQVhBYSRoQWN6V2FNCgpwLi5wIiIpcCRJSHEwaFc8cC5wSEFjWlc7cFdjWldwJElIcTBoVzxwLnBYQnpXO0RECQkJCTBIKHAkaEFjeldhRQpwIS5wNHBvMnAkN1c3T1dCXzBpYSd6WldCX3FCVHpHJwpwLi5wNHBvMnAoJDBaX2NUcXFXaXBrbWxwJEJUVmEnMFpfQldxMFpYV0InCnBrbWxwJDdXN09XQl8waWEnPEE3VycKcC4ucCRCVFZhJzxBN1cnCilwKXB2REQJCQkJCTBIKHAhJElIcTBoVzxwKXB2REQJCQkJCQkkWEdjLTYvVEc5X1hXN0djQVhXcC5wR0JXcV9CV0djQS9XKHAiJ1xcYUlIcTBoVzxfdiRHQldxX1pBSFdfPEE3V2pcXAooZyo/KVxcYTNJSHEwaFc8X3YkR0JXcV9aQUhXXzxBN1dqXFwKJzBaIixwIiIscCRYR2MtNi9URzlfWFc3R2NBWFdwKTtECQkJCQkJJFhHYy02L1RHOV9YVzdHY0FYV3AucFpYQl9CV0djQS9XKHAiYUlIPFRYcTBoVzxfdiRoQWN6V2FNCmoKIixwIiIscCRYR2MtNi9URzlfWFc3R2NBWFdwKTtECQkJCQkJJFhHYy02L1RHOV9YVzdHY0FYV3AucFpYQl9CV0djQS9XKHAiYTNJSDxUWHEwaFc8X3YkaEFjeldhTQpqCiIscCIiLHAkWEdjLTYvVEc5X1hXN0djQVhXcCk7REQJCQkJCWpwV2NaV3B2RAkJCQkJCSRYR2MtNi9URzlfWFc3R2NBWFdwLnBHQldxX0JXR2NBL1cocCInXFxhSUg8VFhxMGhXPF92JEdCV3FfWkFIV188QTdXalxcCihnKj8pXFxhM0lIPFRYcTBoVzxfdiRHQldxX1pBSFdfPEE3V2pcXAonMFoiLHAiIixwJFhHYy02L1RHOV9YVzdHY0FYV3ApO0QJCQkJCQkkWEdjLTYvVEc5X1hXN0djQVhXcC5wWlhCX0JXR2NBL1cocCJhSUhxMGhXPF92JGhBY3pXYU0KagoiLHAiIixwJFhHYy02L1RHOV9YVzdHY0FYV3ApO0QJCQkJCQkkWEdjLTYvVEc5X1hXN0djQVhXcC5wWlhCX0JXR2NBL1cocCJhM0lIcTBoVzxfdiRoQWN6V2FNCmoKIixwIiIscCRYR2MtNi9URzlfWFc3R2NBWFdwKTtECQkJCQlqREQJCQkJCSRYR2MtNlpXWChwImFJSGhBY3pXX3YkaEFjeldhTQpqCiIscFpYQjBHWmNBWnVXWihwJElIMFdjaVppQVhBYSRoQWN6V2FNCgpwKXApO0RECQkJCWpwV2NaV3B2REQJCQkJCSRYR2MtNi9URzlfWFc3R2NBWFdwLnBHQldxX0JXR2NBL1cocCInXFxhSUhxMGhXPF92JEdCV3FfWkFIV188QTdXalxcCihnKj8pXFxhM0lIcTBoVzxfdiRHQldxX1pBSFdfPEE3V2pcXAonMFoiLHAiIixwJFhHYy02L1RHOV9YVzdHY0FYV3ApO0QJCQkJCSRYR2MtNi9URzlfWFc3R2NBWFdwLnBHQldxX0JXR2NBL1cocCInXFxhSUhoQWN6V192JEdCV3FfWkFIV188QTdXalxcCicwIixwIiIscCRYR2MtNi9URzlfWFc3R2NBWFdwKTtECQkJCQkkWEdjLTYvVEc5X1hXN0djQVhXcC5wR0JXcV9CV0djQS9XKHAiJ1xcYUlIPFRYcTBoVzxfdiRHQldxX1pBSFdfPEE3V2pcXAooZyo/KVxcYTNJSDxUWHEwaFc8X3YkR0JXcV9aQUhXXzxBN1dqXFwKJzBaIixwIiIscCRYR2MtNi9URzlfWFc3R2NBWFdwKTtERAkJCQlqRAkJCWpECQlqREQJCTBIcCgkQUJXQXAuLnAnQUpBSSdwa21scDBaWldYKCRBSkFJX0FpaVopcClwdkRECQkJJFhHYy02WldYKHAndi9UNzdXPFgtMGlqJyxwIi0tInApO0RECQlqcFdjWlcwSCgkQUJXQXAuLnAnY0FaWC9UNzdXPFhaJylwdkRECQkJJFhHYy02WldYKHAndi9UNzdXPFgtMGlqJyxwJFh1MFotNlhUWEFjXy9UNzdXPFhacC1wJFh1MFotNi9aWEFCWHAtcCRYdTBaLTYwPFhXQjxfL1R6PFhwK3A0cCk7REQJCWpwV2NaV3B2REQJCQkwSChwJC9UPEgwcWEnL1Q3N183WlRCWCcKcC4ucCJreXIicClwJFhHYy02WldYKHAndi9UNzdXPFgtMGlqJyxwJFh1MFotNi9aWEFCWHArcCRYdTBaLTYwPFhXQjxfL1R6PFhwKTtECQkJV2NaV3AkWEdjLTZaV1gocCd2L1Q3N1c8WC0waWonLHAkWHUwWi02WFRYQWNfL1Q3N1c8WFpwLXAkWHUwWi02L1pYQUJYcC1wJFh1MFotNjA8WFdCPF8vVHo8WHArcDRwKTtERAkJakQJCUQJCTBIcChwL1R6PFgoV0lHY1RpVygiQCIscCRCVFZhJ0hUWFQnCikpcC4ucGVwKXB2REQJCQkkWEdjLTZaV1gocCd2SFRYVGonLHAndVhYR1o6MzNWVlZncUJBaEFYQUJnL1Q3M0FoQVhBQjMncGdwN2lFKFhCMDcoJEJUVmEnSFRYVCcKKSlwZ3AnP1ouJ3BncDA8WGhBYygkelpXQl9xQlR6R2EkQlRWYSd6WldCX3FCVHpHJwoKYSc3QUlfSFRYVCcKKXApO0RECQlqcFdjWldwdkRECQkJMEgocCRCVFZhJ0hUWFQnCnApcHZECQkJCUQJCQkJMEhwKFpYQkdUWigkQlRWYSdIVFhUJwoscCIzMyIpcC4uLnBNKXAkQWhBWEFCcC5wInVYWEc6ImckQlRWYSdIVFhUJwo7cFdjWldwJEFoQVhBQnAucCRCVFZhJ0hUWFQnCjtECUQJCQkJJEFoQVhBQnAucEBHQUJaV196QmNwKHAkQWhBWEFCcCk7REQJCQkJMEgoJEFoQVhBQmEndVRaWCcKKXB2RAkJCQkJRAkJCQkJJFhHYy02WldYKHAndkhUWFRqJyxwJEJUVmEnSFRYVCcKcCk7RAkJCQkJRAkJCQlqcFdjWldwJFhHYy02WldYKHAndkhUWFRqJyxwJC9UPEgwcWEndVhYR191VDdXX3pCYycKcGdwInpHY1RBaVozSFRYVFozInBncCRCVFZhJ0hUWFQnCnApO0QJCQkJRAkJCWpwV2NaV3AkWEdjLTZaV1gocCd2SFRYVGonLHAidiBQS1lLajNpY1cwN0FxV1ozPFRBaEFYQUJnRzxxInApO0RECQlqREQJCTBIKHAwWlpXWCgkQlRWYSd6R2NUQWlXaV8wN0FxV1onCilwa21scDBaX0FCQkE5KCRCVFZhJ3pHY1RBaVdpXzA3QXFXWicKKXBrbWxwL1R6PFgoJEJUVmEnekdjVEFpV2lfMDdBcVdaJwopcClwdkRECQkJJFhHYy02WldYKHAnYTA3QXFXWgonLHAiInApO0QJCQkkWEdjLTZaV1gocCdhMzA3QXFXWgonLHAiInApO0QJCQkkcUFjY1dCOV8wN0FxV3AucEFCQkE5KCk7RAkJCUQJCQlIVEJXQS91cCgkQlRWYSd6R2NUQWlXaV8wN0FxV1onCnBBWnAkMDdBcVdfMGlwLjZwJFhXN0dfaEFjelcpcHZERAkJCQkkR0FYdV9HQUJYWnAucHFXWF96R2NUQWlXaV8wN0FxV18wPEhUKFhCMDcoJFhXN0dfaEFjelcpKTtECQkJCUQJCQkJMEgoJEdBWHVfR0FCWFotNlh1ejdPKXB2RAkJCQkJRAkJCQkJJHFBY2NXQjlfMDdBcVdhCnAucCI4YzBwaUFYQS0vVDc3VzxYWnFBY2NXQjktMDdBcVcwaS5cInYkMDdBcVdfMGlqXCI2OEFwdUJXSC5cInYkR0FYdV9HQUJYWi02ekJjalwicGlBWEEtdTBxdVpjMGlXLlwiL1Q3N1c8WFpfMDdBcVdfdiRCVFZhJzBpJwpqXCJwWEFCcVdYLlwiX09jQTxRXCI2ODA3cXBaQi8uXCJ2JEdBWHVfR0FCWFotNlh1ejdPalwicEFjWC5cIlwiNjgzQTY4M2MwNiI7RAkJCQkJRAkJCQlqcFdjWldwdkQJCQkJCUQJCQkJCSRxQWNjV0I5XzA3QXFXYQpwLnAiOGMwNjgwN3FwWkIvLlwidiRHQVh1X0dBQlhaLTZ6QmNqXCJwQWNYLlwiXCI2ODNjMDYiO0QJCQkJCUQJCQkJakQJCQkJRAkJCQkkWEdjLTZaV1gocCd2MDdBcVdaaicscCI4emNwL2NBWlouXCIvVDc3VzxYWi0wN0FxVy1xQWNjV0I5XCJwaUFYQS0vVDc3VzxYWnFBY2NXQjkuXCJ2JEJUVmEnMGknCmpcIjYiZzA3R2NUaVcoJHFBY2NXQjlfMDdBcVcpZyI4M3pjNiJwKTtECQlECQkJakQJCQlECQlqcFdjWldwdkQJCQlECQkJJFhHYy02WldYKHAndjA3QXFXWmonLHAiInApO0QJCQkkWEdjLTZaV1hfT2NUL1EocCInXFxhMDdBcVdaXFwKKGcqPylcXGEzMDdBcVdaXFwKJ1owIixwIiJwKTtECQkJRAkJakQJCUQJCTBIKHAkQlRWYScwWl9CV3EwWlhXQicKcGttbHAkQlRWYSdIemNjPEE3VycKcClwdkQJCQkkWEdjLTZaV1gocCdhSHpjYzxBN1cKJyxwIiJwKTtECQkJJFhHYy02WldYKHAnYTNIemNjPEE3VwonLHAiInApO0QJCQkkWEdjLTZaV1gocCd2SHpjYzxBN1dqJyxwWlhCMEdaY0FadVdaKHAkQlRWYSdIemNjPEE3VycKcClwKTtECQkJJFhHYy02WldYX09jVC9RKHAiJ1xcYTxUWC1IemNjPEE3V1xcCihnKj8pXFxhMzxUWC1IemNjPEE3V1xcCidaMCIscCIicCk7REQJCWpwV2NaV3B2RAkJCSRYR2MtNlpXWF9PY1QvUShwIidcXGFIemNjPEE3V1xcCihnKj8pXFxhM0h6Y2M8QTdXXFwKJ1owIixwIiJwKTtECQkJJFhHYy02WldYKHAndkh6Y2M8QTdXaicscCIicCk7RAkJCSRYR2MtNlpXWChwJ2E8VFgtSHpjYzxBN1cKJyxwIiJwKTtECQkJJFhHYy02WldYKHAnYTM8VFgtSHpjYzxBN1cKJyxwIiJwKTtECQlqREQJCTBIKHAkL1Q8SDBxYSdYQldXXy9UNzdXPFhaJwpwKXB2RAkJCSRYR2MtNlpXWChwJ2FYQldXL1Q3N1c8WFoKJyxwIiJwKTtECQkJJFhHYy02WldYKHAnYTNYQldXL1Q3N1c8WFoKJyxwIiJwKTtECQkJJFhHYy02WldYX09jVC9RKHAiJ1xcYTxUWC1YQldXL1Q3N1c8WFpcXAooZyo/KVxcYTM8VFgtWEJXVy9UNzdXPFhaXFwKJ1owIixwIiJwKTtECQlqcFdjWldwdkQJCQkkWEdjLTZaV1gocCdhPFRYLVhCV1cvVDc3VzxYWgonLHAiInApO0QJCQkkWEdjLTZaV1gocCdhMzxUWC1YQldXL1Q3N1c8WFoKJyxwIiJwKTtECQkJJFhHYy02WldYX09jVC9RKHAiJ1xcYVhCV1cvVDc3VzxYWlxcCihnKj8pXFxhM1hCV1cvVDc3VzxYWlxcCidaMCIscCIicCk7CQkJRAkJakRECQkwSChwJDA8aVc8WHBvMnAkWHUwWi02MDxpVzxYcClwdkQJCQkkWEdjLTZaV1hfT2NUL1EocCInXFxhQlRUWC9UNzdXPFhaXFwKKGcqPylcXGEzQlRUWC9UNzdXPFhaXFwKJ1owIixwIiJwKTtECQkJJFhHYy02WldYKHAnYS91MGNpQlc8L1Q3N1c8WFoKJyxwIiJwKTtECQkJJFhHYy02WldYKHAnYTMvdTBjaUJXPC9UNzdXPFhaCicscCIicCk7CUQJCWpwV2NaV3B2RAkJCSRYR2MtNlpXWChwJ2FCVFRYL1Q3N1c8WFoKJyxwIiJwKTtECQkJJFhHYy02WldYKHAnYTNCVFRYL1Q3N1c8WFoKJyxwIiJwKTtECQkJJFhHYy02WldYX09jVC9RKHAiJ1xcYS91MGNpQlc8L1Q3N1c8WFpcXAooZyo/KVxcYTMvdTBjaUJXPC9UNzdXPFhaXFwKJ1owIixwIiJwKTtECQlqRAkJRAkJMEhwKHAwWlpXWCgkQlRWYScvdTBjaUJXPCcKKXApcHZECQkJJFhHYy02WldYKHAndkJXR2M5L1R6PFhqJyxwL1R6PFgocCRCVFZhJy91MGNpQlc8JwpwKXApO0QJCWpwV2NaV3B2RAkJCSRYR2MtNlpXWChwJ3ZCV0djOS9UejxYaicscE1wKTtECQlqREQJCTBIcChwMFpaV1goJDdXN09XQl8waWEnelpXQl8waScKKXBrbWxwJEJUVmEnelpXQl8waScKcGttbHAkQlRWYSd6WldCXzBpJwpwLi5wJDdXN09XQl8waWEnelpXQl8waScKcClwdkQJCQkkWEdjLTZaV1gocCdhL1Q3N1c8WFotQXpYdVRCCicscCIicCk7RAkJCSRYR2MtNlpXWChwJ2EzL1Q3N1c8WFotQXpYdVRCCicscCIicCk7RAkJCSRYR2MtNlpXWF9PY1QvUShwIidcXGE8VFgtL1Q3N1c8WFotQXpYdVRCXFwKKGcqPylcXGEzPFRYLS9UNzdXPFhaLUF6WHVUQlxcCidaMCIscCIicCk7RAkJanBXY1pXcHZECQkJJFhHYy02WldYX09jVC9RKHAiJ1xcYS9UNzdXPFhaLUF6WHVUQlxcCihnKj8pXFxhMy9UNzdXPFhaLUF6WHVUQlxcCidaMCIscCIicCk7RAkJCSRYR2MtNlpXWChwJ2E8VFgtL1Q3N1c8WFotQXpYdVRCCicscCIicCk7RAkJCSRYR2MtNlpXWChwJ2EzPFRYLS9UNzdXPFhaLUF6WHVUQgonLHAiInApO0QJCWpECQlECQkwSHAocCQ8V1ZaX0F6WHVUQnBrbWxwJEJUVmEnelpXQl8waScKcGttbHAkQlRWYSd6WldCXzBpJwpwLi5wJDxXVlpfQXpYdVRCcClwdkQJCQkkWEdjLTZaV1gocCdhPFdWWi1Belh1VEIKJyxwIiJwKTtECQkJJFhHYy02WldYKHAnYTM8V1ZaLUF6WHVUQgonLHAiInApO0QJCQkkWEdjLTZaV1hfT2NUL1EocCInXFxhPFRYLTxXVlotQXpYdVRCXFwKKGcqPylcXGEzPFRYLTxXVlotQXpYdVRCXFwKJ1owIixwIiJwKTtECQlqcFdjWldwdkQJCQkkWEdjLTZaV1hfT2NUL1EocCInXFxhPFdWWi1Belh1VEJcXAooZyo/KVxcYTM8V1ZaLUF6WHVUQlxcCidaMCIscCIicCk7RAkJCSRYR2MtNlpXWChwJ2E8VFgtPFdWWi1Belh1VEIKJyxwIiJwKTtECQkJJFhHYy02WldYKHAnYTM8VFgtPFdWWi1Belh1VEIKJyxwIiJwKTtECQlqRAkJRAkJMEgocCRCVFZhJzBaX0JXcTBaWFdCJwpwa21scCRCVFZhJ2NBPGknCnApcHZECQkJJFhHYy02WldYKHAnYWNBPGkKJyxwIiJwKTtECQkJJFhHYy02WldYKHAnYTNjQTxpCicscCIicCk7RAkJCSRYR2MtNlpXWChwJ3ZjQTxpaicscFpYQjBHWmNBWnVXWihwJEJUVmEnY0E8aScKcClwKTtECQkJJFhHYy02WldYX09jVC9RKHAiJ1xcYTxUWC1jQTxpXFwKKGcqPylcXGEzPFRYLWNBPGlcXAonWjAiLHAiInApO0RECQlqcFdjWldwdkQJCQkkWEdjLTZaV1hfT2NUL1EocCInXFxhY0E8aVxcCihnKj8pXFxhM2NBPGlcXAonWjAiLHAiInApO0QJCQkkWEdjLTZaV1gocCd2Y0E8aWonLHAiInApO0QJCQkkWEdjLTZaV1gocCdhPFRYLWNBPGkKJyxwIiJwKTtECQkJJFhHYy02WldYKHAnYTM8VFgtY0E8aQonLHAiInApO0QJCWpERAkJMEgocCRCVFZhJy9UNzdfPHo3JwpwKXB2REQJCQkkWEdjLTZaV1gocCdhL1Q3Ny08ejcKJyxwIiJwKTtECQkJJFhHYy02WldYKHAnYTMvVDc3LTx6NwonLHAiInApO0QJCQkkWEdjLTZaV1gocCd2L1Q3Ny08ejdqJyxwPHo3T1dCX0hUQjdBWCgkQlRWYScvVDc3Xzx6NycKLHBNLHAnLCcscCdwJylwKTtECQkJJFhHYy02WldYX09jVC9RKHAiJ1xcYTxUWC0vVDc3LTx6N1xcCihnKj8pXFxhMzxUWC0vVDc3LTx6N1xcCidaMCIscCIicCk7REQJCWpwV2NaV3B2REQJCQkkWEdjLTZaV1gocCd2L1Q3Ny08ejdqJyxwTXApO0QJCQkkWEdjLTZaV1gocCdhPFRYLS9UNzctPHo3CicscCIicCk7RAkJCSRYR2MtNlpXWChwJ2EzPFRYLS9UNzctPHo3CicscCIicCk7RAkJCSRYR2MtNlpXWF9PY1QvUShwIidcXGEvVDc3LTx6N1xcCihnKj8pXFxhMy9UNzctPHo3XFwKJ1owIixwIiJwKTtECQlqREQJCTBIKHAkQlRWYSc8V1ZaXzx6NycKcClwdkRECQkJJFhHYy02WldYKHAnYTxXVlotPHo3CicscCIicCk7RAkJCSRYR2MtNlpXWChwJ2EzPFdWWi08ejcKJyxwIiJwKTtECQkJJFhHYy02WldYKHAndjxXVlotPHo3aicscDx6N09XQl9IVEI3QVgoJEJUVmEnPFdWWl88ejcnCixwTSxwJywnLHAncCcpcCk7RAkJCSRYR2MtNlpXWF9PY1QvUShwIidcXGE8VFgtPFdWWi08ejdcXAooZyo/KVxcYTM8VFgtPFdWWi08ejdcXAonWjAiLHAiInApO0RECQlqcFdjWldwdkRECQkJJFhHYy02WldYKHAndjxXVlotPHo3aicscE1wKTtECQkJJFhHYy02WldYKHAnYTxUWC08V1ZaLTx6NwonLHAiInApO0QJCQkkWEdjLTZaV1gocCdhMzxUWC08V1ZaLTx6NwonLHAiInApO0QJCQkkWEdjLTZaV1hfT2NUL1EocCInXFxhPFdWWi08ejdcXAooZyo/KVxcYTM8V1ZaLTx6N1xcCidaMCIscCIicCk7RAkJakRECQkwSChwJEJUVmEnMFpfQldxMFpYV0InCnBrbWxwJEJUVmEnQldxX2lBWFcnCnApdkRECQkJJFhHYy02WldYKCd2QldxMFpYQkFYMFQ8aicscGkwSEhjQTxxaUFYVygiSnBzcGIscFA6MCIscCRCVFZhJ0JXcV9pQVhXJwopKTtERAkJCSQ8V1ZaX2lBWFdwLnAkQlRWYSdCV3FfaUFYVycKO0QJCQkkWEdjLTYvVEc5X1hXN0djQVhXcC5wR0JXcV9CV0djQS9XXy9BY2NPQS9RKCIjXHZCV3EwWlhCQVgwVDwuKGcrPylcaiMwIixwIkhUQjdpQVhXIixwJFhHYy02L1RHOV9YVzdHY0FYVyk7REQJCWpwV2NaV3AkWEdjLTZaV1gocCd2QldxMFpYQkFYMFQ8aicscCctLSdwKTtERAkJMEgocCRCVFZhJzBaX0JXcTBaWFdCJwpwa21scCRCVFZhJ2NBWlhpQVhXJwpwKXB2REQJCQkkWEdjLTZaV1gocCd2Y0FaWGlBWFdqJyxwaTBISGNBPHFpQVhXKCJKcHNwYixwUDowIixwJEJUVmEnY0FaWGlBWFcnCnApcCk7REQJCQkkPFdWWl9pQVhXcC5wJEJUVmEnY0FaWGlBWFcnCjtECQkJJFhHYy02L1RHOV9YVzdHY0FYV3AucEdCV3FfQldHY0EvV18vQWNjT0EvUSgiI1x2Y0FaWGlBWFcuKGcrPylcaiMwIixwIkhUQjdpQVhXIixwJFhHYy02L1RHOV9YVzdHY0FYVyk7REQJCQkwSHAocCgkQlRWYSdjQVpYaUFYVycKcCtwNGVNTSlwNnAkXyA9WUtwbzJwKHAwWlpXWCgkN1c3T1dCXzBpYSd6WldCXzBpJwopcGttbHAwWlpXWCgkQlRWYSd6WldCXzBpJwopcGttbHAkQlRWYSd6WldCXzBpJwpwa21scCRCVFZhJ3paV0JfMGknCnAuLnAkN1c3T1dCXzBpYSd6WldCXzBpJwopKXB2REQJCQkJJFhHYy02WldYKHAnYVQ8YzA8VwonLHAiInApO0QJCQkJJFhHYy02WldYKHAnYTNUPGMwPFcKJyxwIiJwKTtECQkJCSRYR2MtNlpXWF9PY1QvUShwIidcXGFUSEhjMDxXXFwKKGcqPylcXGEzVEhIYzA8V1xcCidaMCIscCIicCk7REQJCQlqcFdjWldwdkQJCQkJJFhHYy02WldYKHAnYVRISGMwPFcKJyxwIiJwKTtECQkJCSRYR2MtNlpXWChwJ2EzVEhIYzA8VwonLHAiInApO0QJCQkJJFhHYy02WldYX09jVC9RKHAiJ1xcYVQ8YzA8V1xcCihnKj8pXFxhM1Q8YzA8V1xcCidaMCIscCIicCk7RAkJCWpERAkJanBXY1pXcHZERAkJCSRYR2MtNlpXWChwJ3ZjQVpYaUFYV2onLHAnLS0ncCk7RAkJCSRYR2MtNlpXWF9PY1QvUShwIidcXGFUSEhjMDxXXFwKKGcqPylcXGEzVEhIYzA8V1xcCidaMCIscCIicCk7RAkJCSRYR2MtNlpXWF9PY1QvUShwIidcXGFUPGMwPFdcXAooZyo/KVxcYTNUPGMwPFdcXAonWjAiLHAiInApO0RECQlqREQJCTBIKHAkQlRWYScwWl9CV3EwWlhXQicKcGttbHAkQlRWYSdaMHE8QVh6QlcnCnBBPGlwJHpaV0JfcUJUekdhJEJUVmEnelpXQl9xQlR6RycKCmEnQWNjVFZfWjBxPEFYekJXJwpwKXB2REQJCQkkWEdjLTZaV1hfT2NUL1EocCInXFxhWjBxPEFYekJXXFwKKGcqPylcXGEzWjBxPEFYekJXXFwKJ1owIixwIlxcNCJwKTtECQkJJFhHYy02WldYKHAndlowcTxBWHpCV2onLHBaWEIwR1pjQVp1V1oocCRCVFZhJ1owcTxBWHpCVycKcClwKTtERAkJanBXY1pXcHZECQkJJFhHYy02WldYX09jVC9RKHAiJ1xcYVowcTxBWHpCV1xcCihnKj8pXFxhM1owcTxBWHpCV1xcCidaMCIscCIicCk7RAkJakRECQkkWEdjLTZaV1gocCdhL1Q3R2NBMDxYCicscCI4QXB1QldILlwiSkFoQVovQjBHWDpraWlyVDdHY0EwPFgoJyJwZ3AkQlRWYScwaScKcGdwIicscCcvVDc3VzxYWicpXCI2InApO0QJCSRYR2MtNlpXWChwJ2EzL1Q3R2NBMDxYCicscCI4M0E2InApO0RECQkwSHAocCQvVDxIMHFhJy9UNzdXPFhaX0JBWDA8cV9YOUdXJwpwLi5wIjQicClwdkQJCQkJJFhHYy02WldYKHAnYUJBWDA8cS1YOUdXLWUKJyxwIiJwKTtECQkJCSRYR2MtNlpXWChwJ2EzQkFYMDxxLVg5R1ctZQonLHAiInApO0QJCQkJJFhHYy02WldYX09jVC9RKHAiJ1xcYUJBWDA8cS1YOUdXLTRcXAooZyo/KVxcYTNCQVgwPHEtWDlHVy00XFwKJ1owIixwIiJwKTtECQkJCSRYR2MtNlpXWF9PY1QvUShwIidcXGFCQVgwPHEtWDlHVy1bXFwKKGcqPylcXGEzQkFYMDxxLVg5R1ctW1xcCidaMCIscCIicCk7RAkJCQkkWEdjLTZaV1hfT2NUL1EocCInXFxhQkFYMDxxLVg5R1ctTFxcCihnKj8pXFxhM0JBWDA8cS1YOUdXLUxcXAonWjAiLHAiInApO0QJCWpwV2NaVzBIcChwJC9UPEgwcWEnL1Q3N1c8WFpfQkFYMDxxX1g5R1cnCnAuLnAiZSJwKXB2RAkJCQkkWEdjLTZaV1gocCdhQkFYMDxxLVg5R1ctWwonLHAiInApO0QJCQkJJFhHYy02WldYKHAnYTNCQVgwPHEtWDlHVy1bCicscCIicCk7RAkJCQkkWEdjLTZaV1hfT2NUL1EocCInXFxhQkFYMDxxLVg5R1ctNFxcCihnKj8pXFxhM0JBWDA8cS1YOUdXLTRcXAonWjAiLHAiInApO0QJCQkJJFhHYy02WldYX09jVC9RKHAiJ1xcYUJBWDA8cS1YOUdXLWVcXAooZyo/KVxcYTNCQVgwPHEtWDlHVy1lXFwKJ1owIixwIiJwKTtECQkJCSRYR2MtNlpXWF9PY1QvUShwIidcXGFCQVgwPHEtWDlHVy1MXFwKKGcqPylcXGEzQkFYMDxxLVg5R1ctTFxcCidaMCIscCIicCk7RAkJanBXY1pXMEhwKHAkL1Q8SDBxYScvVDc3VzxYWl9CQVgwPHFfWDlHVycKcC4ucCJbInApcHZECQkJCSRYR2MtNlpXWChwJ2FCQVgwPHEtWDlHVy1MCicscCIicCk7RAkJCQkkWEdjLTZaV1gocCdhM0JBWDA8cS1YOUdXLUwKJyxwIiJwKTtECQkJCSRYR2MtNlpXWF9PY1QvUShwIidcXGFCQVgwPHEtWDlHVy00XFwKKGcqPylcXGEzQkFYMDxxLVg5R1ctNFxcCidaMCIscCIicCk7RAkJCQkkWEdjLTZaV1hfT2NUL1EocCInXFxhQkFYMDxxLVg5R1ctZVxcCihnKj8pXFxhM0JBWDA8cS1YOUdXLWVcXAonWjAiLHAiInApO0QJCQkJJFhHYy02WldYX09jVC9RKHAiJ1xcYUJBWDA8cS1YOUdXLVtcXAooZyo/KVxcYTNCQVgwPHEtWDlHVy1bXFwKJ1owIixwIiJwKTtECQlqcFdjWldwdkQJCQkJJFhHYy02WldYKHAnYUJBWDA8cS1YOUdXLTQKJyxwIiJwKTtECQkJCSRYR2MtNlpXWChwJ2EzQkFYMDxxLVg5R1ctNAonLHAiInApO0QJCQkJJFhHYy02WldYX09jVC9RKHAiJ1xcYUJBWDA8cS1YOUdXLUxcXAooZyo/KVxcYTNCQVgwPHEtWDlHVy1MXFwKJ1owIixwIiJwKTtECQkJCSRYR2MtNlpXWF9PY1QvUShwIidcXGFCQVgwPHEtWDlHVy1bXFwKKGcqPylcXGEzQkFYMDxxLVg5R1ctW1xcCidaMCIscCIicCk7RAkJCQkkWEdjLTZaV1hfT2NUL1EocCInXFxhQkFYMDxxLVg5R1ctZVxcCihnKj8pXFxhM0JBWDA8cS1YOUdXLWVcXAonWjAiLHAiInApOwlECQlqRAkJCUQJCTBIKHAkL1Q8SDBxYSdBY2NUVl8vVDc3VzxYWl9CQVgwPHEnCnApcHZECQkJRAkJCSRpMFpjMFFXWnAucCgkQlRWYSdoVFhXXzx6NycKcC1wJEJUVmEnQkFYMDxxJwopM2U7RAkJCSRjMFFXWnAucCRCVFZhJ2hUWFdfPHo3JwpwLXAkaTBaYzBRV1o7RAkJCUQJCQkwSChwJEJUVmEnaFRYV188ejcnCnApcCRCQVgwPHFaL1RCV3AucFpYQl9CV0djQS9XKHAnLCcscCdnJyxwQlR6PGkocCgkQlRWYSdCQVgwPHEnCnAzcCRCVFZhJ2hUWFdfPHo3JwopLHA0cClwKTtECQkJV2NaV3AkQkFYMDxxWi9UQldwLnBNO0QJCUQJCQkkWEdjLTZaV1gocCd2YzBRV1pqJyxwIjhaR0E8cGlBWEEtL1Q3N1c8WFotYzBRV1otMGkuXCIiZyRCVFZhJzBpJwpnIlwiNiJnJGMwUVdaZyI4M1pHQTw2InApO0QJCQkkWEdjLTZaV1gocCd2aTBaYzBRV1pqJyxwIjhaR0E8cGlBWEEtL1Q3N1c8WFotaTBaYzBRV1otMGkuXCIiZyRCVFZhJzBpJwpnIlwiNiJnJGkwWmMwUVdaZyI4M1pHQTw2InApO0QJCQkkWEdjLTZaV1gocCd2QkFYMDxxaicscHl1VFZyVDc3VzxYWjJBWDA8cShwJEJUVmEnMGknCixwJEJUVmEnQkFYMDxxJwoscCRCVFZhJ2hUWFdfPHo3JwoscCR6WldCX3FCVHpHYSQ3VzdPV0JfMGlhJ3paV0JfcUJUekcnCgphJ0FjY1RWXy9UNzdXPFhaX0JBWDA8cScKcClwKTtECQkJJFhHYy02WldYKHAndmhUWFctPHo3aicscCI4WkdBPHBpQVhBLS9UNzdXPFhaLWhUWFctPHo3LTBpLlwiImckQlRWYScwaScKZyJcIjYiZyRCVFZhJ2hUWFdfPHo3JwpnIjgzWkdBPDYicCk7RAkJCSRYR2MtNlpXWChwJ3ZCQVgwPHFaL1RCV2onLHAkQkFYMDxxWi9UQldwKTtECQkJJFhHYy02WldYKHAnYUJBWDA8cQonLHAiInApO0QJCQkkWEdjLTZaV1gocCdhM0JBWDA8cQonLHAiInApO0RECQkJMEgoJEJUVmEnQkFYMDxxJwpwNnBNcClwdkQJCQkJJFhHYy02WldYKHAnYUdUWjBYMGhXLS9UNzdXPFgKJyxwIiJwKTtECQkJCSRYR2MtNlpXWChwJ2EzR1RaMFgwaFctL1Q3N1c8WAonLHAiInApO0QJCQkJJFhHYy02WldYX09jVC9RKHAiJ1xcYTxXcUFYMGhXLS9UNzdXPFhcXAooZyo/KVxcYTM8V3FBWDBoVy0vVDc3VzxYXFwKJ1owIixwIiJwKTtECQkJCSRYR2MtNlpXWF9PY1QvUShwIidcXGE8V3pYQkFjLS9UNzdXPFhcXAooZyo/KVxcYTM8V3pYQkFjLS9UNzdXPFhcXAonWjAiLHAiInApO0QJCQlqcFdjWlcwSCgkQlRWYSdCQVgwPHEnCnA4cE0pdkQJCQkJJFhHYy02WldYKHAnYTxXcUFYMGhXLS9UNzdXPFgKJyxwIiJwKTtECQkJCSRYR2MtNlpXWChwJ2EzPFdxQVgwaFctL1Q3N1c8WAonLHAiInApO0QJCQkJJFhHYy02WldYX09jVC9RKHAiJ1xcYUdUWjBYMGhXLS9UNzdXPFhcXAooZyo/KVxcYTNHVFowWDBoVy0vVDc3VzxYXFwKJ1owIixwIiJwKTtECQkJCSRYR2MtNlpXWF9PY1QvUShwIidcXGE8V3pYQkFjLS9UNzdXPFhcXAooZyo/KVxcYTM8V3pYQkFjLS9UNzdXPFhcXAonWjAiLHAiInApOwlECQkJanBXY1pXcHZECQkJCSRYR2MtNlpXWChwJ2E8V3pYQkFjLS9UNzdXPFgKJyxwIiJwKTtECQkJCSRYR2MtNlpXWChwJ2EzPFd6WEJBYy0vVDc3VzxYCicscCIicCk7RAkJCQkkWEdjLTZaV1hfT2NUL1EocCInXFxhR1RaMFgwaFctL1Q3N1c8WFxcCihnKj8pXFxhM0dUWjBYMGhXLS9UNzdXPFhcXAonWjAiLHAiInApO0QJCQkJJFhHYy02WldYX09jVC9RKHAiJ1xcYTxXcUFYMGhXLS9UNzdXPFhcXAooZyo/KVxcYTM8V3FBWDBoVy0vVDc3VzxYXFwKJ1owIixwIiJwKTtECQkJakQJCQkJRAkJCTBIKHAkelpXQl9xQlR6R2EkN1c3T1dCXzBpYSd6WldCX3FCVHpHJwoKYSdBY2NUVl8vVDc3VzxYWl9CQVgwPHEnCnApcHZECUQJCQkJMEhwKHAkL1Q8SDBxYScvVDc3VzxYWl9CQVgwPHFfWDlHVycKcClwdkQJCQkJCQlECQkJCQkkWEdjLTZaV1gocCdhQkFYMDxxLUdjeloKJyxwIjhBcHVCV0guXCIjXCJwVDwvYzAvUS5cImlUclQ3N1c8WFoyQVhXKCdHY3paJyxwJ3YkQlRWYScwaScKaicpO3BCV1h6QjxwSEFjWlc7XCJwNiJwKTtECQkJCQkkWEdjLTZaV1gocCdhM0JBWDA8cS1HY3paCicscCc4M0E2J3ApO0QJCQkJCUQJCQkJCTBIcChwJC9UPEgwcWEnL1Q3N1c8WFpfQkFYMDxxX1g5R1cnCnAuLnAiZSJwbzJwJC9UPEgwcWEnL1Q3N1c8WFpfQkFYMDxxX1g5R1cnCnAuLnAiWyIpcHZECQkJCQkJRAkJCQkJCSRYR2MtNlpXWChwJ2FCQVgwPHEtNzA8eloKJyxwIjhBcHVCV0guXCIjXCJwVDwvYzAvUS5cImlUclQ3N1c8WFoyQVhXKCc3MDx6WicscCd2JEJUVmEnMGknCmonKTtwQldYekI8cEhBY1pXO1wicDYicCk7RAkJCQkJCSRYR2MtNlpXWChwJ2EzQkFYMDxxLTcwPHpaCicscCc4M0E2J3ApO0QJCQkJCQlECQkJCQlqcFdjWldwdkQJCQkJCQkkWEdjLTZaV1hfT2NUL1EocCInXFxhQkFYMDxxLTcwPHpaXFwKKGcqPylcXGEzQkFYMDxxLTcwPHpaXFwKJ1owIixwIiJwKTtECQkJCQlqRAkJCQkJRAkJCQlqcFdjWldwdkQJCQkJCSRYR2MtNlpXWF9PY1QvUShwIidcXGFCQVgwPHEtR2N6WlxcCihnKj8pXFxhM0JBWDA8cS1HY3paXFwKJ1owIixwIiJwKTtECQkJCQkkWEdjLTZaV1hfT2NUL1EocCInXFxhQkFYMDxxLTcwPHpaXFwKKGcqPylcXGEzQkFYMDxxLTcwPHpaXFwKJ1owIixwIiJwKTtECQkJCWpECQkJCUQJCQlqcFdjWldwdkQJCQkJJFhHYy02WldYX09jVC9RKHAiJ1xcYUJBWDA8cS1HY3paXFwKKGcqPylcXGEzQkFYMDxxLUdjelpcXAonWjAiLHAiInApO0QJCQkJJFhHYy02WldYX09jVC9RKHAiJ1xcYUJBWDA8cS03MDx6WlxcCihnKj8pXFxhM0JBWDA8cS03MDx6WlxcCidaMCIscCIicCk7CQkJCUQJCQlqRAlECQlqcFdjWldwdnBERAkJCSRYR2MtNlpXWChwJ3ZCQVgwPHFqJyxwIiJwKTtECQkJJFhHYy02WldYKHAndkJBWDA8cVovVEJXaicscE1wKTtECQkJJFhHYy02WldYKHAndmhUWFctPHo3aicscCIicCk7RAkJCSRYR2MtNlpXWF9PY1QvUShwIidcXGFCQVgwPHFcXAooZyo/KVxcYTNCQVgwPHFcXAonWjAiLHAiInApO0QJCQkkWEdjLTZaV1hfT2NUL1EocCInXFxhQkFYMDxxLUdjelpcXAooZyo/KVxcYTNCQVgwPHEtR2N6WlxcCidaMCIscCIicCk7RAkJCSRYR2MtNlpXWF9PY1QvUShwIidcXGFCQVgwPHEtNzA8elpcXAooZyo/KVxcYTNCQVgwPHEtNzA8elpcXAonWjAiLHAiInApO0QJCWpERAkJMEgocCFwJEJUVmEnelpXQl9xQlR6RycKcClwJEJUVmEnelpXQl9xQlR6RycKcC5wRTtECQlECQkkWHUwWi02L1Q3N1c8WFpfcUJUekdwLnAkQlRWYSd6WldCX3FCVHpHJwo7REQJCTBIcChaWEJHVFpwKHAkWEdjLTYvVEc5X1hXN0djQVhXLHAiYS9UNzdXPFhacUJUekcuInApcCEuLnBIQWNaVylwdkQJCQkkWEdjLTYvVEc5X1hXN0djQVhXcC5wR0JXcV9CV0djQS9XXy9BY2NPQS9RcChwIiNcXGEoL1Q3N1c8WFpxQlR6RykuKGcrPylcXAooZyo/KVxcYTMvVDc3VzxYWnFCVHpHXFwKIzBaIixwQUJCQTkocCYkWHUwWixwJy91Vy9RX3FCVHpHJykscCRYR2MtNi9URzlfWFc3R2NBWFdwKTtECQlqREQJCTBIcChaWEJHVFpwKHAkWEdjLTYvVEc5X1hXN0djQVhXLHAiYTxUWC0vVDc3VzxYWnFCVHpHLiJwKXAhLi5wSEFjWlcpcHZECQkJJFhHYy02L1RHOV9YVzdHY0FYV3AucEdCV3FfQldHY0EvV18vQWNjT0EvUXAocCIjXFxhKDxUWC0vVDc3VzxYWnFCVHpHKS4oZys/KVxcCihnKj8pXFxhMzxUWC0vVDc3VzxYWnFCVHpHXFwKIzBaIixwQUJCQTkocCYkWHUwWixwJy91Vy9RX3FCVHpHJykscCRYR2MtNi9URzlfWFc3R2NBWFdwKTtECQlqREQJCTBIcChaWEJHVFpwKHAkWEdjLTYvVEc5X1hXN0djQVhXLHAiYS9UNzdXPFhaL1R6PFguInApcCEuLnBIQWNaVylwdkQJCQkkWEdjLTYvVEc5X1hXN0djQVhXcC5wR0JXcV9CV0djQS9XXy9BY2NPQS9RcChwIiNcXGEoL1Q3N1c8WFovVHo8WCkuKGcrPylcXAooZyo/KVxcYTMvVDc3VzxYWi9UejxYXFwKIzBaIixwQUJCQTkocCYkWHUwWixwJy91Vy9RXy9UNzdXPFhaL1R6PFgnKSxwJFhHYy02L1RHOV9YVzdHY0FYV3ApO0QJCWpERAkJMEhwKFpYQkdUWnAocCRYR2MtNi9URzlfWFc3R2NBWFcscCJhPFRYLS9UNzdXPFhaL1R6PFguInApcCEuLnBIQWNaVylwdkQJCQkkWEdjLTYvVEc5X1hXN0djQVhXcC5wR0JXcV9CV0djQS9XXy9BY2NPQS9RcChwIiNcXGEoPFRYLS9UNzdXPFhaL1R6PFgpLihnKz8pXFwKKGcqPylcXGEzPFRYLS9UNzdXPFhaL1R6PFhcXAojMFoiLHBBQkJBOShwJiRYdTBaLHAnL3VXL1FfL1Q3N1c8WFovVHo8WCcpLHAkWEdjLTYvVEc5X1hXN0djQVhXcCk7RAkJakRECQkwSChwJHpaV0JfcUJUekdhJEJUVmEnelpXQl9xQlR6RycKCmEnMC9UPCcKcClwJFhHYy02WldYKHAndnFCVHpHLTAvVDxqJyxwIjgwN3FwWkIvLlwiInBncCR6WldCX3FCVHpHYSRCVFZhJ3paV0JfcUJUekcnCgphJzAvVDwnCnBncCJcInBBY1guXCJcInAzNiJwKTtECQlXY1pXcCRYR2MtNlpXWChwJ3ZxQlR6Ry0wL1Q8aicscCIicCk7REQJCSRYR2MtNlpXWChwJ3ZxQlR6Ry08QTdXaicscCR6WldCX3FCVHpHYSRCVFZhJ3paV0JfcUJUekcnCgphJ3FCVHpHX0dCV0gwSScKZyR6WldCX3FCVHpHYSRCVFZhJ3paV0JfcUJUekcnCgphJ3FCVHpHXzxBN1cnCmckelpXQl9xQlR6R2EkQlRWYSd6WldCX3FCVHpHJwoKYSdxQlR6R19aekhIMEknCnApO0RECQkwSHAocC9UejxYKCRYdTBaLTZXSVhCQVpfQnpjV1opcClwdkRECQkJSFRCV0EvdXAoJFh1MFotNldJWEJBWl9CemNXWnBBWnAkQnpjV1opcHZERAkJCQkwSHAoJEJ6Y1daYU0KcC4ucCdaV1gnKXB2REQJCQkJCSRYR2MtNlpXWChwJEJ6Y1daYTQKLHAkQnpjV1phZQpwKTtERAkJCQlqcFdjWldwdkRECQkJCQkkWEdjLTZaV1hfT2NUL1EocCRCemNXWmE0CixwJEJ6Y1daYWUKcCk7RAkJCQlqREQJCQlqRERECQlqREQJCTBIcCgkL1Q8SDBxYSdBY2NUVl9jMDxRWicKcGttbHBIejwvWDBUPF9XSTBaWFooJ0JXR2NBL1dfYzA8UVonKXBrbWxwMFpaV1goJEJXR2NBL1dfYzA8UVphJy9UNzdXPFhaJwopKXAkQlRWYSdYV0lYJwpwLnBCV0djQS9XX2MwPFFacChwJEJUVmEnWFdJWCcKLHAkQldHY0EvV19jMDxRWmEnL1Q3N1c8WFonCnApO0QJCUQJCSRCVFZhJ1hXSVgnCnAucFpYQjBHWmNBWnVXWihwJEJUVmEnWFdJWCcKcCk7REQJCTBIKHBaWEIwR1RaKCRCVFZhJ1hXSVgnCixwIlgwWGNXX1J6VFhXInApcCEuLnBIQWNaV3ApcHZECQkJJEJUVmEnWFdJWCcKcC5wR0JXcV9CV0djQS9XXy9BY2NPQS9RKCIjOGkwaHAvY0FaWi5hJ1wiClgwWGNXX1J6VFhXYSdcIgooZyo/KTYoZys/KTgzaTBoNiMwIixwcEFCQkE5KCYkWHUwWixwJ0gwSV9SelRYV19YMFhjVycpLHAkQlRWYSdYV0lYJwopO0QJCWpERAkJMEhwKCRBQldBcCEucCdBSkFJJ3BrbWxwJC9UPEgwcWEnMDdBcVdfY0FGOScKKXB2RAkJCSRCVFZhJ1hXSVgnCnAucEdCV3FfQldHY0EvV18vQWNjT0EvUXAocCIjOCgwN3F8MEhCQTdXKShnKz8pNiMwIixwIlc8QU9jV19jQUY5Y1RBaSIscCRCVFZhJ1hXSVgnCnApO0QJCWpECQlECQkwSChwJFh1MFotNi96WlhUN1p1VFZwKXB2RAkJCUQJCQkkQlRWYSdYV0lYJwpwLnBHQldxX0JXR2NBL1dwKHAiI1xhdTBpVyhnKj8pXAooZys/KVxhM3UwaVdcCiMwWiIscCIiLHAkQlRWYSdYV0lYJwpwKTtECQkJRAkJCSRYR2MtNlpXWChwJ3YvVDc3VzxYaicscCRCVFZhJ1hXSVgnCnApO0QJCQlECQlqcFdjWldwdkQJCQlECQkJMEhwKFpYQjBHVFpwKHAkQlRWYSdYV0lYJwoscCJhdTBpVyJwKXAhLi5wSEFjWldwKXB2RAkJCQlECQkJCSRCVFZhJ1hXSVgnCnAucEdCV3FfQldHY0EvV18vQWNjT0EvUXAocCIjXGF1MGlXKGcqPylcCihnKz8pXGEzdTBpV1wKIzBaIixwRAkJCQkJSHo8L1gwVDxwKCQ3QVgvdVdaKXB6WldwKCQ3VzdPV0JfMGkscCR6WldCX3FCVHpHLHAkY0E8cSlwdkQJCQkJCQlECQkJCQkJJDdBWC91V1phNApwLnBaWEJfQldHY0EvVyhBQkJBOSgiLiIscCJwIikscCIiLHAkN0FYL3VXWmE0Cik7RAkJCQkJCSQ3QVgvdVdaYWUKcC5wJDdBWC91V1phZQo7RAkJRAkJCQkJCTBIKHAkN0FYL3VXWmE0CnApcHZECQkJCQkJCUQJCQkJCQkJJHFCVHpHWnAucFdJR2NUaVcocCcsJyxwJDdBWC91V1phNApwKTtECQlECQkJCQkJCTBIKHAwPF9BQkJBOShwJDdXN09XQl8waWEnelpXQl9xQlR6RycKLHAkcUJUekdacClwbzJwJDdXN09XQl8waWEnelpXQl9xQlR6RycKcC4ucCI0IilwdkQJCQkJCQkJCUJXWHpCPHAkN0FYL3VXWmFlCjtECQkJCQkJCWpwV2NaV3BCV1h6QjxwIjhpMGhwL2NBWlouXCJSelRYV3BpY1d1MGlpVzxcIjYicGdwJGNBPHFhJzxXVlpfQldxelonCnBncCI4M2kwaDYiO0QJCQkJCQkJRAkJCQkJCWpwV2NaV3B2RAkJCQkJCQlECQkJCQkJCTBIKHAkelpXQl9xQlR6R2EkN1c3T1dCXzBpYSd6WldCX3FCVHpHJwoKYSdBY2NUVl91MGlXJwpwKXBCV1h6QjxwJDdBWC91V1phZQo7cFdjWldwQldYekI8cCI4aTBocC9jQVpaLlwiUnpUWFdwaWNXdTBpaVc8XCI2InBncCRjQTxxYSc8V1ZaX0JXcXpaJwpwZ3AiODNpMGg2IjtECQkJCQkJCUQJCQkJCQlqRAkJRAkJCQlqLHAkQlRWYSdYV0lYJwpwKTtECQkJakQJCQlECQkJJFhHYy02WldYKHAndi9UNzdXPFhqJyxwIjhpMGhwMGkuJy9UNzctMGktInBncCRCVFZhJzBpJwpwZ3AiJzYicGdwJEJUVmEnWFdJWCcKcGdwIjgzaTBoNiJwKTtECQlqREQJCTBIcChwR0JXcV83QVgvdShwIiNcXHYvVDc3VzxYcGMwNzBYLmEnXCIKKGcrPylhJ1wiClxcaiMwIixwJFhHYy02L1RHOV9YVzdHY0FYVyxwJDdBWC91V1pwKXApcHZECQkJJC9UejxYLnAwPFhoQWMoJDdBWC91V1phNAopO0QJCQlECQkJJEJUVmEnWFdJWCcKcC5wR0JXcV9CV0djQS9XKHAiIzghLS1OelRYV3hXcTA8KGcqKTghLS1OelRYV0tLPGktLTYjMFoiLHAnJyxwJEJUVmEnWFdJWCcKcCk7RAkJCSRCVFZhJ1hXSVgnCnAucEdCV3FfQldHY0EvVyhwIiM4IS0taWNXX1pHVDBjV0ItLTYoZys/KTghLS1aR1QwY1dCX1hXSVgtLTYjMFoiLHAnJyxwJEJUVmEnWFdJWCcKcCk7RAkJCSRCVFZhJ1hXSVgnCnAucEdCV3FfQldHY0EvVyhwIiM4IS0taWNXX1pHVDBjV0JwKGcrPylwLS02KGcrPyk4IS0tWkdUMGNXQl9YV0lYLS02IzBaIixwJycscCRCVFZhJ1hXSVgnCnApO0QJCQkkQlRWYSdYV0lYJwpwLnBaWEJfQldHY0EvVyhwIjghLS1aR1QwY1dCX1hXSVhfVzxpLS02ODNpMGg2OCEtLTNpY1dfWkdUMGNXQi0tNiIscCcnLHAkQlRWYSdYV0lYJwpwKTtECQkJJEJUVmEnWFdJWCcKcC5wWlhCX0JXR2NBL1cocCI4M0c2OEc2IixwInAiLHAkQlRWYSdYV0lYJwpwKTtECQkJJEJUVmEnWFdJWCcKcC5wWlhCMEdfWEFxWihwJEJUVmEnWFdJWCcKLHAiOE9CNiJwKTtECQkJJEJUVmEnWFdJWCcKcC5wWEIwNyhaWEJfQldHY0EvVyhwIjhPQjYiLHAicCIscFpYQl9CV0djQS9XKHAiOE9CcDM2IixwInAiLHBaWEJfQldHY0EvVyhwIlw8IixwInAiLHBaWEJfQldHY0EvVyhwIlxCIixwIiIscCRCVFZhJ1hXSVgnCnApcClwKXApKTtECQkJRAkJCTBIKHAhJEJUVmEnWFdJWCcKcClwJEJUVmEnWFdJWCcKcC5wJGNBPHFhJy9UNzdXPFhaX1c3R1g5Jwo7RAkJCUQJCQkwSChwJC9UejxYcGttbHBpY1dfWlhCY1c8KHAkQlRWYSdYV0lYJwoscCQvVDxIMHFhJy91QUJaV1gnCnApcDZwJC9UejxYcClwdkQJCQkJCQlECQkJCSRCVFZhJ1hXSVgnCnAucGljV19aek9aWEIocCRCVFZhJ1hXSVgnCixwTSxwJC9UejxYLHAkL1Q8SDBxYScvdUFCWldYJwpwKTtECQkJCQkJRAkJCQkwSChwKCRYVzdHX2k3QUlwLnBpY1dfWlhCQkdUWihwJEJUVmEnWFdJWCcKLHAncCcscCQvVDxIMHFhJy91QUJaV1gnCnApKXApcCRCVFZhJ1hXSVgnCnAucGljV19aek9aWEIocCRCVFZhJ1hXSVgnCixwTSxwJFhXN0dfaTdBSSxwJC9UPEgwcWEnL3VBQlpXWCcKcCk7REQJCQlqRAlECQkJJFhHYy02WldYKHAkN0FYL3VXWmFNCixwJEJUVmEnWFdJWCcKcCk7RAlECQlqREQJCSRYR2MtNjBIX0FCQkE5cC5wJEJUVjtECQkkWEdjLTYvVDdHMGNXKHAnL1Q3N1c8WFonLHBYQnpXLHBIQWNaV3ApO0QJCUQJCUJXWHpCPHAkWEdjLTZCV1p6Y1hhJy9UNzdXPFhaJwo7RAkJRAlqRAlECUh6PC9YMFQ8cE96MGNpXy96WlhUNy9UNzdXPFhaKHAkWEdjLHAkWFc3R2NBWFdwKXB2RAkJRAkJJFh1MFotNi96WlhUN1p1VFZwLnBYQnpXO0QJCUQJCSRYR2MtNmNUQWlfWFc3R2NBWFcocCRYVzdHY0FYV3ApO0QJCUQJCTBIKHBaWEJHVFoocCRYR2MtNi9URzlfWFc3R2NBWFcscCJhSUhoQWN6V18icClwIS4ucEhBY1pXcClwJFh1MFotNklIVHo8aXAucFhCelc7RAkJV2NaV3AkWHUwWi02SUhUejxpcC5wSEFjWlc7RAkJRAkJMEgocFpYQjBHVFoocCRYR2MtNi9URzlfWFc3R2NBWFcscCJ2MDdBcVdaaiJwKXAhLi5wSEFjWldwbzJwWlhCMEdUWihwJFhHYy02L1RHOV9YVzdHY0FYVyxwImEwN0FxV1oKInApcCEuLnBIQWNaV3ApcCRpMFpHY0E5XzA3QXFXWnAucEFCQkE5KCk7RAkJV2NaV3AkaTBaR2NBOV8wN0FxV1pwLnBIQWNaVztECQlECQkwSChwJFh1MFotNklIVHo8aXApcCRYdTBaLTZJSDBXY2lacC5wSUgwV2NpWmNUQWkocFhCeldwKTtECQlECQkkQlRWWnAucEFCQkE5KCk7REQJCSRaUmNfQldaemNYcC5wJFh1MFotNmlPLTZSeldCOShwcCRYdTBaLTZSeldCOXApO0QJCUQJCVZ1MGNXcChwJEJUVnAucCRYdTBaLTZpTy02cVdYX0JUVihwJFpSY19CV1p6Y1hwKXApcHZECQkJJEJUVlphJEJUVmEnMGknCgpwLnBBQkJBOXAoKTtECQkJRAkJCTBIKHAwWl9BQkJBOSgkaTBaR2NBOV8wN0FxV1opcClwJGkwWkdjQTlfMDdBcVdaYQpwLnAkQlRWYScwaScKO0QJCUQJCQlIVEJXQS91cChwJEJUVnBBWnAkUVc5cC42cCRoQWN6V3ApcHZECQkJCTBIcCgkUVc5cC4ucCJHQUJXPFgicGttbHAkaEFjeldwLi5wTXApcCRoQWN6V3AucEhBY1pXO0QJCQkJJEJUVlphJEJUVmEnMGknCgphJFFXOQpwLnAkaEFjelc7RAkJCWoJCQkJRAkJakQJCQlECQkkWHUwWi02aU8tNkhCV1cocCRaUmNfQldaemNYcCk7RAkJejxaV1goJEJUVik7RAkJRAkJMEgoMFpfQUJCQTkoJGkwWkdjQTlfMDdBcVdaKXBrbWxwL1R6PFgoJGkwWkdjQTlfMDdBcVdaKXApcHZECQkJRAkJCSRpMFpHY0E5XzA3QXFXWnAucDA3R2NUaVcocCcsJyxwJGkwWkdjQTlfMDdBcVdacCk7RAkJCUQJCQkkWlJjX0JXWnpjWHAucCRYdTBaLTZpTy02UnpXQjkocCJ5S1VLciBwMGkscC9fMGkscDxBN1dwczJvWXAicGdwZDJLcz1dcGdwIl8vVDc3VzxYWl9IMGNXWnB9UEsyS3AvXzBpcD1tcCh2JGkwWkdjQTlfMDdBcVdaaikicCk7RAkJCUQJCQlWdTBjV3AocCRCVFZwLnAkWHUwWi02aU8tNnFXWF9CVFYocCRaUmNfQldaemNYcClwKXB2RAkJCQkwSChwMFpfQUJCQTkocCRCVFZaYSRCVFZhJy9fMGknCgpwKXApcCRCVFZaYSRCVFZhJy9fMGknCgphJ3pHY1RBaVdpXzA3QXFXWicKYSRCVFZhJzBpJwoKcC5wJEJUVmEnPEE3VycKO0QJCQlqREQJCQkkWHUwWi02aU8tNkhCV1cocCRaUmNfQldaemNYcCk7RAkJCXo8WldYKCRCVFYpO0QJCQlECQlqRAkJCUQJCTBIcChwL1R6PFgocCRCVFZacClwKXB2RAkJCUQJCQlCV1h6QjxwJFh1MFotNi9UN0cwY1dfL1Q3N1c8WFooJFhHYyxwJEJUVloscCdjQVpYL1Q3N1c8WFonKTtERAkJakQJCUQJCUJXWHpCPHAiIjtECQlECWpECUQJSHo8L1gwVDxwT3owY2lfL1Q3N1c8WFoocCRYVzdHY0FYVyxwJEFCV0EscCRBY2NUVl8vQS91V3AucEhBY1pXLHAkQldfekJjcC5wSEFjWldwKXB2RAkJcWNUT0FjcCQvVDxIMHEscCRYR2MscCQwWl9jVHFxV2kscCQ3VzdPV0JfMGkscCR6WldCX3FCVHpHLHAkY0E8cSxwJEFKQUlfQWlpWixwJGljV19YQldXXy9UNzdXPFhaLHAkaWNXX2NUcTA8X3VBWnU7REQJCSRYR2MtNmNUQWlfWFc3R2NBWFcocCRYVzdHY0FYV3ApO0RECQkwSHAocCRBQldBcC4ucCI8V1ZaInBvMnAocCRBQldBcC4ucCdBSkFJJ3BrbWxwITBaWldYKCRBSkFJX0FpaVopcClwKXB2RAkJCSRPejBjaV9IemNjXzxXVlpwLnBYQnpXO0QJCWpwV2NaV3AkT3owY2lfSHpjY188V1ZacC5wSEFjWlc7RAkJRAkJRAkJJFhHYy02L1RHOV9YVzdHY0FYV3AucCI4aTBocDBpLicvVDc3VzxYLTBpLXYwaWonNiJwZ3AkWEdjLTYvVEc5X1hXN0djQVhXcGdwIjgzaTBoNiI7RAkJJFhHYy02WFc3R2NBWFdwLnAiOGkwaHAwaS4nL1Q3N1c8WC0waS12MGlqJzYicGdwJFhHYy02WFc3R2NBWFdwZ3AiODNpMGg2IjtERAkJMEgocFpYQjBHVFoocCRYR2MtNi9URzlfWFc3R2NBWFcscCJhSUhoQWN6V18icClwIS4ucEhBY1pXcClwJFh1MFotNklIVHo8aXAucFhCelc7RAkJV2NaV3AkWHUwWi02SUhUejxpcC5wSEFjWlc7RAkJRAkJMEgocFpYQjBHVFoocCRYR2MtNi9URzlfWFc3R2NBWFcscCJ2MDdBcVdaaiJwKXAhLi5wSEFjWldwbzJwWlhCMEdUWihwJFhHYy02L1RHOV9YVzdHY0FYVyxwImEwN0FxV1oKInApcCEuLnBIQWNaV3ApcCRpMFpHY0E5XzA3QXFXWnAucEFCQkE5KCk7RAkJV2NaV3AkaTBaR2NBOV8wN0FxV1pwLnBIQWNaVztECQlECQkwSChwJFh1MFotNklIVHo8aXApcCRYdTBaLTZJSDBXY2lacC5wSUgwV2NpWmNUQWkocFhCeldwKTtERAkJJEJUVlpwLnBIQWNaVztERAkJMEhwKHAkQWNjVFZfL0EvdVdwKXAkQlRWWnAucGljV18vQS91V3AocCIvVDc3XyJnJEFjY1RWXy9BL3VXLHAkWHUwWi02UnpXQjlwKTtECQlECQkwSChwJEJUVlpwKXB2RAlECQkJJEJUVlpwLnBKWlQ8X2lXL1RpVygkQlRWWixwWEJ6Vyk7RAlECQlqREQJCTBIKHAwWl9BQkJBOSgkQlRWWilwKXB2REQJCQkkSHpjY18vQS91V3AucFhCelc7RAkJCUQJCWpwV2NaV3B2RAkJCUQJCQkkQlRWWnAucEFCQkE5KCk7REQJCQkkWlJjX0JXWnpjWHAucCRYdTBaLTZpTy02UnpXQjkocHAkWHUwWi02UnpXQjlwKTtECQkJRAkJCVZ1MGNXcChwJEJUVnAucCRYdTBaLTZpTy02cVdYX0JUVihwJFpSY19CV1p6Y1hwKXApcHZECQkJCSRCVFZaYSRCVFZhJzBpJwoKcC5wQUJCQTlwKCk7RAkJCQlECQkJCTBIKHAwWl9BQkJBOSgkaTBaR2NBOV8wN0FxV1opcClwJGkwWkdjQTlfMDdBcVdaYQpwLnAkQlRWYScwaScKO0QJCUQJCQkJSFRCV0EvdXAocCRCVFZwQVpwJFFXOXAuNnAkaEFjeldwKXB2RAkJCQkJMEhwKCRRVzlwLi5wIkdBQlc8WCJwa21scCRoQWN6V3AuLnBNcClwJGhBY3pXcC5wSEFjWlc7RAkJCQkJJEJUVlphJEJUVmEnMGknCgphJFFXOQpwLnAkaEFjelc7RAkJCQlqCQkJCUQJCQlqRAkJCUQJCQkkWHUwWi02aU8tNkhCV1cocCRaUmNfQldaemNYcCk7RAkJCXo8WldYKCRCVFYpO0QJCQlECQkJMEgoMFpfQUJCQTkoJGkwWkdjQTlfMDdBcVdaKXBrbWxwL1R6PFgoJGkwWkdjQTlfMDdBcVdaKXApcHZERAkJCQkkaTBaR2NBOV8wN0FxV1pwLnAwN0djVGlXKHAnLCcscCRpMFpHY0E5XzA3QXFXWnApO0QJCQkJRAkJCQkkWlJjX0JXWnpjWHAucCRYdTBaLTZpTy02UnpXQjkocCJ5S1VLciBwMGkscC9fMGkscDxBN1dwczJvWXAicGdwZDJLcz1dcGdwIl8vVDc3VzxYWl9IMGNXWnB9UEsyS3AvXzBpcD1tcCh2JGkwWkdjQTlfMDdBcVdaaikicCk7RAkJCQlECQkJCVZ1MGNXcChwJEJUVnAucCRYdTBaLTZpTy02cVdYX0JUVihwJFpSY19CV1p6Y1hwKXApcHZECQkJCQkwSChwMFpfQUJCQTkocCRCVFZaYSRCVFZhJy9fMGknCgpwKXApcCRCVFZaYSRCVFZhJy9fMGknCgphJ3pHY1RBaVdpXzA3QXFXWicKYSRCVFZhJzBpJwoKcC5wJEJUVmEnPEE3VycKO0QJCQkJakQJCQkJRAkJCQkkWHUwWi02aU8tNkhCV1cocCRaUmNfQldaemNYcCk7RAkJCQl6PFpXWCgkQlRWKTtECQkJCUQJCQlqRAkJRAkJCTBIcChwJE96MGNpX0h6Y2NfPFdWWnBrbWxwJC9UPEgwcWEnWEJXV18vVDc3VzxYWicKcClwdkQJCQkJJEJUVlpwLnAkWHUwWi02T3owY2lfWEJXVygkQlRWWik7RAkJCQlECQkJCTBIKHAkL1Q8SDBxYScvVDc3XzdaVEJYJwpwLi5wImxLeXIicClwJEJUVlpwLnBBQkJBOV9CV2hXQlpXKCRCVFZaLHBYQnpXKTtECQkJakQJCQlECQkJMEhwKHAkQWNjVFZfL0EvdVdwKXAvQldBWFdfL0EvdVdwKHAiL1Q3N18iZyRBY2NUVl8vQS91VyxwSlpUPF9XPC9UaVcoJEJUVloscDV5b21fe21LeXJrZEtsX3ttPXJvbEtwfHA1eW9tX3ttS3lya2RLbF95VWt5UEt5cCkscCRYdTBaLTZSeldCOXApO0QJCQlECQlqREQJCTBIcChwJE96MGNpX0h6Y2NfPFdWWnBrbWxwL1R6PFgoJEJUVlopcClwdkQJCQkkWHUwWi02WFRYQWNfL1Q3N1c8WFpwLnAvVHo8WCgkQlRWWik7RAkJCTBIKHAkWHUwWi02L1pYQUJYcDhwJFh1MFotNlhUWEFjXy9UNzdXPFhacClwJEJUVlpwLnBBQkJBOV9aYzAvVygkQlRWWixwJFh1MFotNi9aWEFCWCxwJFh1MFotNi9UNzdXPFhaX0dXQl9HQXFXWixwWEJ6Vyk7cFdjWldwJEJUVlpwLnBBQkJBOSgpO0QJCWpERAkJMEhwKHAvVHo8WChwJEJUVlpwKXApcHZECQkJRAkJCTBIcChwJE96MGNpX0h6Y2NfPFdWWnBrbWxwJC9UPEgwcWEnWEJXV18vVDc3VzxYWicKcClwdkQJCQkJJGljV19YQldXXy9UNzdXPFhacC5wNDsJCQkJRAkJCQkkWEdjLTZCV1p6Y1hhJy9UNzdXPFhaJwpwLnAkWHUwWi02L1Q3RzBjV19YQldXKCRCVFZaLHAkQUJXQSk7RAkJCWpwV2NaV3B2RAkJCQlECQkJCSRYR2MtNkJXWnpjWGEnL1Q3N1c8WFonCnAucCRYdTBaLTYvVDdHMGNXXy9UNzdXPFhaKCRYR2MscCRCVFZaLHAkQUJXQSk7RAkJCWpEREQJCWpwV2NaV3B2REQJCQkwSHAoJC9UPEgwcWEnWldUXy9UPFhCVGMnCnBwa21scCRfd0sgYScvWlhBQlgnCnBrbWxwJEJXX3pCYylwdkRECQkJCSRCV196QmNwLnBHQUJaV196QmMoJEJXX3pCYyxwZFBkX3syVV9kayBQKTtECQkJCXVXQWlXQigiUCAgZDM0Z01wW000cFlUaFdpcGRXQjdBPFc8WGM5Iik7RAkJCQl1V0FpV0IoIlVUL0FYMFQ8OnB2JEJXX3pCY2oiKTtECQkJCWkwVygiMldpMEJXL1giKTtERAkJCWpERAkJCSRYR2MtNkJXWnpjWGEnL1Q3N1c8WFonCnAucCIiO0RECQlqREQJCSRYR2MtNi9jV0FCKCk7RAkJRAkJMEhwKCRBQldBcCEucCdBSkFJJylECQkJJFhHYy02QldaemNYYScvVDc3VzxYWicKcC5wIjhpMGhwMGkuXCIvVDc3VzxYXCI2ODNpMGg2InBncCRYR2MtNkJXWnpjWGEnL1Q3N1c8WFonCjtECQkJCUQJCTBIKCQvVDxIMHFhJy9UNzdXPFhaX2NBRjljVEFpJwpwa21scCRBQldBcCEucCdBSkFJJ3BrbWxwJFh1MFotNlhUWEFjXy9UNzdXPFhacDZwJFh1MFotNi9UNzdXPFhaX0dXQl9HQXFXWilwdkRECQkJJFhHYy02QldaemNYYScvVDc3VzxYWicKcGcucCJcPDhpMGhwL2NBWlouXCJBSkFJXy9UNzdXPFhaX0FCV0FcIjY4aTBocC9jQVpaLlwiQUpBSV9jVEFpV2lfL1Q3N1c8WFpcIjY4M2kwaDY4aTBocC9jQVpaLlwiQUpBSV8vVDc3VzxYWl88V0lYXCI2ODNpMGg2ODNpMGg2XDwiO0RECQlqRAkJRAkJMEhwKCRBQldBcC4ucCc8V1ZaJ3BrbWxwJC9UPEgwcWEnL1Q3N183WlRCWCcKcC4ucCJsS3lyInApRAkJCSRYR2MtNkJXWnpjWGEnL1Q3N1c8WFonCnAucCJcPDhpMGhwMGkuXCJpY1ctQUpBSS0vVDc3VzxYWlwiNjgzaTBoNlw8InBncCRYR2MtNkJXWnpjWGEnL1Q3N1c8WFonCjtERAkJMEhwKCRBQldBcC4ucCc8V1ZaJ3BrbWxwJC9UPEgwcWEnL1Q3N183WlRCWCcKcC4ucCJreXIicClECQkJJFhHYy02QldaemNYYScvVDc3VzxYWicKcGcucCJcPDhpMGhwMGkuXCJpY1ctQUpBSS0vVDc3VzxYWlwiNjgzaTBoNlw8IjtERAkJMEhwKCRBQldBcCEucCdBSkFJJ3BrbWxwJHpaV0JfcUJUekdhJDdXN09XQl8waWEnelpXQl9xQlR6RycKCmEnaVdjX0FjYy8nCnBrbWxwISR6WldCX3FCVHpHYSQ3VzdPV0JfMGlhJ3paV0JfcUJUekcnCgphJ1dpMFhfYzA3MFgnCilECQkJJFhHYy02QldaemNYYScvVDc3VzxYWicKcGcucCJcPDhpMGhwL2NBWlouXCI3QVpaXy9UNzdXPFhaX0EvWDBUPFwiNnYkY0E8cWEnN0FaWl8vVDc3VzxYWicKaiY8T1pHOzhaV2NXL1hwPEE3Vy5cIjdBWlpfQS9YMFQ8XCI2OFRHWDBUPHBoQWN6Vy5cIlwiNnYkY0E8cWEnV2kwWF9aV2NBL1gnCmo4M1RHWDBUPDY4VEdYMFQ8cGhBY3pXLlwiN0FaWl8vVDdPMDxXXCI2diRjQTxxYSdXaTBYX1pXYy9UN08nCmo4M1RHWDBUPDY4VEdYMFQ8cGhBY3pXLlwiN0FaWl9pV2NXWFdcIjZ2JGNBPHFhJ1dpMFhfWldjaVdjJwpqODNUR1gwVDw2ODNaV2NXL1g2JjxPWkc7JjxPWkc7ODA8R3pYcFg5R1cuXCJaek83MFhcInAvY0FaWi5cIk9PL1RpV1pcInBoQWN6Vy5cInYkY0E8cWEnT19aWEFCWCcKalwicDM2ODNpMGg2XDw4MDxHelhwWDlHVy5cInUwaWlXPFwicDxBN1cuXCJpVFwicGhBY3pXLlwiL1Q3N1c8WFpcInAzNjgwPEd6WHBYOUdXLlwidTBpaVc8XCJwPEE3Vy5cImljV19BY2NUVl91QVp1XCJwaEFjelcuXCJ2JGljV19jVHEwPF91QVp1alwicDM2ODA8R3pYcFg5R1cuXCJ1MGlpVzxcInA8QTdXLlwiQUJXQVwicGhBY3pXLlwidiRBQldBalwicDM2IjtERAkJCUQJCTBIcCgkQUJXQXAhLnAnQUpBSScpRAkJCSRYR2MtNkJXWnpjWGEnL1Q3N1c8WFonCnAucCI4SFRCN3A3V1h1VGkuXCJHVFpYXCJwPEE3Vy5cImljVzdBWlovVDc3VzxYWlwicDBpLlwiaWNXN0FaWi9UNzdXPFhaXCI2OGkwaHAwaS5cImljVy0vVDc3VzxYWi1jMFpYXCI2XDwicGdwJFhHYy02QldaemNYYScvVDc3VzxYWicKZ3AiODNpMGg2ODNIVEI3Nlw8IjtERAkJMEhwKHBaWEJHVFpwKHAkWEdjLTZCV1p6Y1hhJy9UPFhXPFgnCixwIjghLS1pY1cvVDc3VzxYWi0tNiJwKXAhLi5wSEFjWldwKXB2REQJCQkkWEdjLTZCV1p6Y1hhJy9UPFhXPFgnCnAucFpYQl9CV0djQS9XcChwIjghLS1pY1cvVDc3VzxYWi0tNiIscCRYR2MtNkJXWnpjWGEnL1Q3N1c8WFonCixwJFhHYy02QldaemNYYScvVDxYVzxYJwpwKTtERAkJanBXY1pXcHZERAkJCSRYR2MtNkJXWnpjWGEnL1Q8WFc8WCcKcGcucCRYR2MtNkJXWnpjWGEnL1Q3N1c8WFonCjtERAkJakRECWpERAlIejwvWDBUPHBPejBjaV88QWgwcUFYMFQ8KHAkWFc3R2NBWFcscCRBY1hXQjxBWDBoV19jMDxRLHAkYzA8USxwJEJXX3pCY3AucEhBY1pXcClwdkQJCXFjVE9BY3AkWEdjLHAkL1Q8SDBxLHAkY0E8cSxwJDxXVlpfMGkscCRKWl9BQkJBOSxwJFQ8Y1RBaV9aL0IwR1haLHAkL0E8VDwwL0FjO0RECQkwSChwJFh1MFotNlhUWEFjXy9UNzdXPFhacDgucCRYdTBaLTYvVDc3VzxYWl9HV0JfR0FxV1pwKXBCV1h6Qjw7REQJCSRkUGRfeUtVc3AucCQvVDxIMHFhJ3VYWEdfdVQ3V196QmMnCnBncCIwPGlXSWdHdUciO0RECQkwSCgkL1Q8SDBxYScvVDc3VzxYWl9jQUY5Y1RBaScKcGttbHAkPFdWWl8waXApcHZERAkJCSRKWl9BQkJBOWEKcC5wIlc8cTA8VzMvY0FaWldaM0paM1ZBOUdUMDxYWmdKWiI7RAkJCSRXPEdBcVdaXy9UejxYcC5wQC9XMGMocCRYdTBaLTZYVFhBY18vVDc3VzxYWnAzcCRYdTBaLTYvVDc3VzxYWl9HV0JfR0FxV1pwKTtERAkJCSRUPGNUQWlfWi9CMEdYWmEKcC5wODg4UCBZVUQJaEFCcGljV188V1ZaXzBpLnAndiQ8V1ZaXzBpaic7RAloQUJwWFRYQWNfL1Q3N1c8WFpfR0FxV1oucCd2JFc8R0FxV1pfL1R6PFhqJztECWhBQnAvekJCVzxYXy9UNzdXPFhaX0dBcVcucCc0JztERAkkKCdnQUpBSV8vVDc3VzxYWl88V0lYJylnVkE5R1QwPFgoSHo8L1gwVDwoKXB2REQJCTBIcCgvekJCVzxYXy9UNzdXPFhaX0dBcVdwOHBYVFhBY18vVDc3VzxYWl9HQXFXWnApcHZERAkJCX1BOUdUMDxYZ2kwWkFPY1drY2MoKTtECQkJL3pCQlc8WF8vVDc3VzxYWl9HQXFXcCsrO0QJCQl5dVRWVVRBaTA8cSgnJyk7REQJCQkkZ3FXWChpY1dfQlRUWHArcCJXPHEwPFczQUpBSTMvVDxYQlRjY1dCZ0d1Rz83VGkuL1Q3N1c8WFoiLHB2cC9aWEFCWDpwL3pCQlc8WF8vVDc3VzxYWl9HQXFXLHA8V1ZaXzBpOnBpY1dfPFdWWl8waSxwWlEwPDpwaWNXX1pRMDwscDdBWlpBL1g6J2kwWkFPY1cncGoscEh6PC9YMFQ8KGlBWEEpdkRECQkJCSQoImdBSkFJX2NUQWlXaV8vVDc3VzxYWiIpZ0FHR1c8aShpQVhBZy9UNzdXPFhaKTtERAkJCQlQMGlXVVRBaTA8cSgnJyk7RAkJCQl9QTlHVDA8WGdCV0hCV1p1a2NjKCk7RAkJCQlaV1ggMDdXVHpYKEh6PC9YMFQ8KClwdnB9QTlHVDA8WGdXPEFPY1drY2MoKTtwaixwRU1NKTtERAkJCWoscCJKWlQ8Iik7REQJCWpwV2NaV3B2REQJCQl9QTlHVDA8WGdpV1pYQlQ5a2NjKCk7RAkJakRERAlqLHB2RAlwcFRISFpXWDpwJ09UWFhUNy0wPC1oMFdWJ0QJaik7RFAgWVU7REQJCQlCV1h6Qjw7REQJCWpERAkJMEgocDBaWldYKHAkX3dLIGEnL1pYQUJYJwpwKXApcCRYdTBaLTYvWlhBQlhwLnAwPFhoQWMocCRfd0sgYScvWlhBQlgnCnApO0QJCTBIKHAhJFh1MFotNi9aWEFCWHBvMnAkWHUwWi02L1pYQUJYcDhwTXApcCRYdTBaLTYvWlhBQlhwLnA0O0RECQkkPFdWWl8waXAucDA8WGhBYygkPFdWWl8waSlwNnBNcD9wMDxYaEFjKCQ8V1ZaXzBpKTpwTTtERAkJJFhHYy02Y1RBaV9YVzdHY0FYVyhwJFhXN0djQVhXcCk7REQJCTBIKHAkWHUwWi02L1pYQUJYcDZwNHApcHZECQkJJEdCV2hwLnAkWHUwWi02L1pYQUJYcC1wNDtERAkJCTBIKHAkL1Q8SDBxYSdBY2NUVl9BY1hfekJjJwpwa21scCRBY1hXQjxBWDBoV19jMDxRKXB2REQJCQkJMEhwKHAkR0JXaHAuLnA0cGttbHAkQldfekJjcClwJHpCY3AucCRCV196QmNnIiMvVDc3VzxYIjtECQkJCVdjWldwJHpCY3AucFpYQl9CV0djQS9XcCgidkdBcVdqIixwJEdCV2gscCRBY1hXQjxBWDBoV19jMDxRcCk7REQJCQkJMEhwKHAkL1Q8SDBxYScvVDc3VzxYWl9BSkFJJwpwa21scCQ8V1ZaXzBpcClwdkQJCQkJCSR6QmNwLnBaWEJfQldHY0EvVygkL1Q8SDBxYSd1WFhHX3VUN1dfekJjJwoscCczJyxwJHpCYyk7RAkJCQkJJHFUX0dBcVdwLnAicFQ8L2MwL1EuXCJyVDc3VzxYWmRBcVcoJ3YkR0JXaGonLHAndiQ8V1ZaXzBpaicscCd2JHpCY2onKTtwQldYekI8cEhBY1pXO1wiIjtECQkJCWpwV2NaV3AkcVRfR0FxV3AucCIiO0RECQkJCSRYR2MtNlpXWF9PY1QvUShwIidcYUdCV2gtYzA8UVwKKGcqPylcYTNHQldoLWMwPFFcCidaMCIscCI4QXB1QldILlwiInBncCR6QmNwZ3AiXCJ2JHFUX0dBcVdqNlxcNDgzQTYicCk7REQJCQlqcFdjWldwdkRECQkJCTBIcChwJEdCV2hwLi5wNHBrbWxwJEJXX3pCY3ApcCR6QmNwLnAkQldfekJjZyIjL1Q3N1c8WCI7RAkJCQlXY1pXcCR6QmNwLnAiJGRQZF95S1VzPy9aWEFCWC52JEdCV2hqJkE3Rzt2JGMwPFFqIy9UNzdXPFgiO0RECQkJCTBIcChwJC9UPEgwcWEnL1Q3N1c8WFpfQUpBSScKcGttbHAkPFdWWl8waXApcHZECQkJCQkkekJjcC5wWlhCX0JXR2NBL1coJC9UPEgwcWEndVhYR191VDdXX3pCYycKLHAnMycscCR6QmMpO0QJCQkJCSRxVF9HQXFXcC5wInBUPC9jMC9RLlwiclQ3N1c8WFpkQXFXKCd2JEdCV2hqJyxwJ3YkPFdWWl8waWonLHAndiR6QmNqJyk7cEJXWHpCPHBIQWNaVztcIiI7RAkJCQlqcFdjWldwJHFUX0dBcVdwLnAiIjtERAkJCQkkWEdjLTZaV1hfT2NUL1EocCInXGFHQldoLWMwPFFcCihnKj8pXGEzR0JXaC1jMDxRXAonWjAiLHAiOEFwdUJXSC5cInYkekJjalwidiRxVF9HQXFXajZcXDQ4M0E2InApO0QJCQlqREQJCWpwV2NaV3B2RAkJCSRYR2MtNlpXWF9PY1QvUShwIidcYUdCV2gtYzA8UVwKKGcqPylcYTNHQldoLWMwPFFcCidaMCIscCI4WkdBPDZcXDQ4M1pHQTw2InApO0QJCQkkPFRfR0JXaHAucCAye0s7RAkJakRECQkwSChwJFh1MFotNi9UNzdXPFhaX0dXQl9HQXFXWnApcHZERAkJCSRXPEdBcVdaXy9UejxYcC5wQC9XMGMocCRYdTBaLTZYVFhBY18vVDc3VzxYWnAzcCRYdTBaLTYvVDc3VzxYWl9HV0JfR0FxV1pwKTtECQkJJEdBcVdacC5wIiI7REQJCQkwSCgkWHUwWi02L1pYQUJYcCEucDRwa21scCQvQTxUPDAvQWNwKXB2RAkJCQlECQkJCTBIKHAkL1Q8SDBxYSdBY2NUVl9BY1hfekJjJwpwa21scCRBY1hXQjxBWDBoV19jMDxRcClwdkQJCQkJCUQJCQkJCSQvQTxUPDAvQWNwLnBaWEJfQldHY0EvV3AoInZHQXFXaiIscCRYdTBaLTYvWlhBQlgscCRBY1hXQjxBWDBoV19jMDxRcCk7RAkJCQkJJC9BPFQ8MC9BY3AucFpYQl9CV0djQS9XcCgiIy9UNzdXPFgiLHAiIixwJC9BPFQ8MC9BY3ApO0RECQkJCWpwV2NaV3B2RAkJCQkJRAkJCQkJJC9BPFQ8MC9BY3AucCJ2JGRQZF95S1Vzaj8vWlhBQlgudiRYdTBaLTYvWlhBQlhqJiJnWlhCX0JXR2NBL1coJyZBN0c7JyxwJyYnLHAkYzA8USk7RAkJCQkJRAkJCQlqRAkJCQkJRAkJCWpERAkJCTBIKHAkVzxHQXFXWl8vVHo8WHA4LnA0TXApcHZERAkJCQlIVEIoJEpwLnA0O3AkSnA4LnAkVzxHQXFXWl8vVHo8WDtwJEpwKyspcHZERAkJCQkJMEgocCRKcCEucCRYdTBaLTYvWlhBQlhwcClwdkRECQkJCQkJMEgocCQvVDxIMHFhJ0FjY1RWX0FjWF96QmMnCnBrbWxwJEFjWFdCPEFYMGhXX2MwPFFwKXB2REQJCQkJCQkJMEhwKHAkSnAuLnA0cGttbHAkQldfekJjcClwJHpCY3AucCRCV196QmNnIiMvVDc3VzxYIjtECQkJCQkJCVdjWldwJHpCY3AucFpYQl9CV0djQS9XcCgidkdBcVdqIixwJEoscCRBY1hXQjxBWDBoV19jMDxRcCk7REQJCQkJCQkJMEhwKHAkL1Q8SDBxYScvVDc3VzxYWl9BSkFJJwpwa21scCQ8V1ZaXzBpcClwdkQJCQkJCQkJCSR6QmNwLnBaWEJfQldHY0EvVygkL1Q8SDBxYSd1WFhHX3VUN1dfekJjJwoscCczJyxwJHpCYyk7RAkJCQkJCQkJJHFUX0dBcVdwLnAicFQ8L2MwL1EuXCJyVDc3VzxYWmRBcVcoJ3YkSmonLHAndiQ8V1ZaXzBpaicscCd2JHpCY2onKTtwQldYekI8cEhBY1pXO1wiIjtECQkJCQkJCWpwV2NaV3AkcVRfR0FxV3AucCIiO0RECQkJCQkJCSRHQXFXWnBnLnAiOEFwdUJXSC5cIiJwZ3AkekJjcGdwIlwidiRxVF9HQXFXajYkSjgzQTZwIjtERAkJCQkJCWpwV2NaV3B2REQJCQkJCQkJMEhwKHAkSnAuLnA0cGttbHAkQldfekJjcClwJHpCY3AucCRCV196QmNnIiMvVDc3VzxYIjtECQkJCQkJCVdjWldwJHpCY3AucCJ2JGRQZF95S1Vzaj8vWlhBQlgudiRKaiZBN0c7diRjMDxRaiMvVDc3VzxYIjtERAkJCQkJCQkwSHAocCQvVDxIMHFhJy9UNzdXPFhaX0FKQUknCnBrbWxwJDxXVlpfMGlwKXB2RAkJCQkJCQkJJHpCY3AucFpYQl9CV0djQS9XKCQvVDxIMHFhJ3VYWEdfdVQ3V196QmMnCixwJzMnLHAkekJjKTtECQkJCQkJCQkkcVRfR0FxV3AucCJwVDwvYzAvUS5cInJUNzdXPFhaZEFxVygndiRKaicscCd2JDxXVlpfMGlqJyxwJ3YkekJjaicpO3BCV1h6QjxwSEFjWlc7XCIiO0QJCQkJCQkJanBXY1pXcCRxVF9HQXFXcC5wIiI7REQJCQkJCQkJJEdBcVdacGcucCI4QXB1QldILlwidiR6QmNqXCJ2JHFUX0dBcVdqNiRKODNBNnAiO0QJCQkJCQlqREQJCQkJCWpwV2NaV3B2REQJCQkJCQkkR0FxV1pwZy5wIjhaR0E8NiRKODNaR0E8NnAiO0QJCQkJCWpERAkJCQlqREQJCQlqcFdjWldwdkRECQkJCSRaWEFCWHAucDQ7RAkJCQkkVzxpcC5wNE07RAkJCQkkPEFoX0dCV0gwSXAucCI4WkdBPHAvY0FaWi5cIjxBaF9XSVhcIjZ2JGNBPHFhJzxBaF9YQlc8PFc8JwpqODNaR0E8NnAiO0RECQkJCTBIKHAkWHUwWi02L1pYQUJYcHA2cE1wKXB2REQJCQkJCTBIKHAkWHUwWi02L1pYQUJYcHA2cG5wKXB2REQJCQkJCQkkWlhBQlhwLnAkWHUwWi02L1pYQUJYcHAtcEw7RAkJCQkJCSRXPGlwLnAkWlhBQlhwK3A+O0RECQkJCQkJMEgocCRXPGlwNi5wJFc8R0FxV1pfL1R6PFgtNHApcHZECQkJCQkJCSRaWEFCWHAucCRXPEdBcVdaXy9UejxYcC1wUztECQkJCQkJCSRXPGlwLnAkVzxHQXFXWl8vVHo8WHAtcDQ7RAkJCQkJCWpERAkJCQkJakRECQkJCWpECQkJCUQJCQkJMEgocCRXPGlwNi5wJFc8R0FxV1pfL1R6PFgtNHApcCQ8QWhfR0JXSDBJcC5wIiI7cFdjWldwJDxBaF9HQldIMElwLnAiOFpHQTxwL2NBWlouXCI8QWhfV0lYXCI2diRjQTxxYSc8QWhfWEJXPDxXPCcKajgzWkdBPDZwIjtERAkJCQkwSChwJFpYQUJYcDYucGVwKXB2REQJCQkJCTBIKHAkQldfekJjcClwdkRECQkJCQkJJHpCY3AucCRCV196QmNnIiMvVDc3VzxYIjtERAkJCQkJanBXY1pXcCR6QmNwLnAidiRkUGRfeUtVc2o/L1pYQUJYLjQmQTdHO3YkYzA8UWojL1Q3N1c8WCI7REQJCQkJCTBIcChwJC9UPEgwcWEnL1Q3N1c8WFpfQUpBSScKcGttbHAkPFdWWl8waXApcHZECQkJCQkJJHpCY3AucFpYQl9CV0djQS9XKCQvVDxIMHFhJ3VYWEdfdVQ3V196QmMnCixwJzMnLHAkekJjKTtECQkJCQkJJHFUX0dBcVdwLnAicFQ8L2MwL1EuXCJyVDc3VzxYWmRBcVcoJzQnLHAndiQ8V1ZaXzBpaicscCd2JHpCY2onKTtwQldYekI8cEhBY1pXO1wiIjtECQkJCQlqcFdjWldwJHFUX0dBcVdwLnAiIjtERAkJCQkJMEgocCRaWEFCWHA2LnBbcClwJE9XSFRCV19HQldIMElwLnAiOFpHQTxwL2NBWlouXCI8QWhfV0lYXCI2diRjQTxxYSc8QWhfWEJXPDxXPCcKajgzWkdBPDZwIjtwV2NaV3AkT1dIVEJXX0dCV0gwSXAucCIiO0QJCQkJCUQJCQkJCSRHQXFXWnBnLnAiOEFwdUJXSC5cInYkekJjalwidiRxVF9HQXFXajY0ODNBNnAiZyRPV0hUQldfR0JXSDBJO0RECQkJCWpERAkJCQlIVEIoJEpwLnAkWlhBQlg7cCRKcDgucCRXPGk7cCRKcCsrKXB2REQJCQkJCTBIKHAkSnAhLnAkWHUwWi02L1pYQUJYcClwdkRECQkJCQkJMEgocCQvVDxIMHFhJ0FjY1RWX0FjWF96QmMnCnBrbWxwJEFjWFdCPEFYMGhXX2MwPFEpcHZERAkJCQkJCQkwSHAocCRKcC4ucDRwa21scCRCV196QmNwKXAkekJjcC5wJEJXX3pCY2ciIy9UNzdXPFgiO0QJCQkJCQkJV2NaV3AkekJjcC5wWlhCX0JXR2NBL1dwKCJ2R0FxV2oiLHAkSixwJEFjWFdCPEFYMGhXX2MwPFFwKTtERAkJCQkJCQkwSHAocCQvVDxIMHFhJy9UNzdXPFhaX0FKQUknCnBrbWxwJDxXVlpfMGlwKXB2RAkJCQkJCQkJJHpCY3AucFpYQl9CV0djQS9XKCQvVDxIMHFhJ3VYWEdfdVQ3V196QmMnCixwJzMnLHAkekJjKTtECQkJCQkJCQkkcVRfR0FxV3AucCJwVDwvYzAvUS5cInJUNzdXPFhaZEFxVygndiRKaicscCd2JDxXVlpfMGlqJyxwJ3YkekJjaicpO3BCV1h6QjxwSEFjWlc7XCIiO0QJCQkJCQkJanBXY1pXcCRxVF9HQXFXcC5wIiI7REQJCQkJCQkJJEdBcVdacGcucCI4QXB1QldILlwiInBncCR6QmNwZ3AiXCJ2JHFUX0dBcVdqNiRKODNBNnAiO0RECQkJCQkJanBXY1pXcHZERAkJCQkJCQkwSHAocCRKcC4ucDRwa21scCRCV196QmNwKXAkekJjcC5wJEJXX3pCY2ciIy9UNzdXPFgiO0QJCQkJCQkJV2NaV3AkekJjcC5wInYkZFBkX3lLVXNqPy9aWEFCWC52JEpqJkE3Rzt2JGMwPFFqIy9UNzdXPFgiO0RECQkJCQkJCTBIcChwJC9UPEgwcWEnL1Q3N1c8WFpfQUpBSScKcGttbHAkPFdWWl8waXApcHZECQkJCQkJCQkkekJjcC5wWlhCX0JXR2NBL1coJC9UPEgwcWEndVhYR191VDdXX3pCYycKLHAnMycscCR6QmMpO0QJCQkJCQkJCSRxVF9HQXFXcC5wInBUPC9jMC9RLlwiclQ3N1c8WFpkQXFXKCd2JEpqJyxwJ3YkPFdWWl8waWonLHAndiR6QmNqJyk7cEJXWHpCPHBIQWNaVztcIiI7RAkJCQkJCQlqcFdjWldwJHFUX0dBcVdwLnAiIjtERAkJCQkJCQkkR0FxV1pwZy5wIjhBcHVCV0guXCJ2JHpCY2pcInYkcVRfR0FxV2o2JEo4M0E2cCI7RAkJCQkJCWpECQkJCQlqcFdjWldwdkRECQkJCQkJJEdBcVdacGcucCI4WkdBPDYkSjgzWkdBPDZwIjtECQkJCQlqREQJCQkJakRECQkJCTBIKHAkWHUwWi02L1pYQUJYcCEucCRXPEdBcVdaXy9UejxYcClwdkRECQkJCQkwSChwJC9UPEgwcWEnQWNjVFZfQWNYX3pCYycKcGttbHAkQWNYV0I8QVgwaFdfYzA8USlwdkRECQkJCQkJJHpCY3AucFpYQl9CV0djQS9XcCgidkdBcVdqIixwJFc8R0FxV1pfL1R6PFgscCRBY1hXQjxBWDBoV19jMDxRcCk7REQJCQkJCQkwSHAocCQvVDxIMHFhJy9UNzdXPFhaX0FKQUknCnBrbWxwJDxXVlpfMGlwKXB2RAkJCQkJCQkkekJjcC5wWlhCX0JXR2NBL1coJC9UPEgwcWEndVhYR191VDdXX3pCYycKLHAnMycscCR6QmMpO0QJCQkJCQkJJHFUX0dBcVdwLnAicFQ8L2MwL1EuXCJyVDc3VzxYWmRBcVcoJ3YkVzxHQXFXWl8vVHo8WGonLHAndiQ8V1ZaXzBpaicscCd2JHpCY2onKTtwQldYekI8cEhBY1pXO1wiIjtECQkJCQkJanBXY1pXcCRxVF9HQXFXcC5wIiI7REQJCQkJCQkkR0FxV1pwZy5wJDxBaF9HQldIMElwZ3AiOEFwdUJXSC5cIiJwZ3AkekJjcGdwIlwidiRxVF9HQXFXajZ2JFc8R0FxV1pfL1R6PFhqODNBNiI7REQJCQkJCWpwV2NaV3B2RAkJCQkJCUQJCQkJCQkkekJjcC5wInYkZFBkX3lLVXNqPy9aWEFCWC52JFc8R0FxV1pfL1R6PFhqJkE3Rzt2JGMwPFFqIy9UNzdXPFgiO0RECQkJCQkJMEhwKHAkL1Q8SDBxYScvVDc3VzxYWl9BSkFJJwpwa21scCQ8V1ZaXzBpcClwdkQJCQkJCQkJJHpCY3AucFpYQl9CV0djQS9XKCQvVDxIMHFhJ3VYWEdfdVQ3V196QmMnCixwJzMnLHAidiRkUGRfeUtVc2o/L1pYQUJYLnYkVzxHQXFXWl8vVHo8WGomQTdHO3YkYzA8UWojL1Q3N1c8WCIpO0QJCQkJCQkJJHFUX0dBcVdwLnAicFQ8L2MwL1EuXCJyVDc3VzxYWmRBcVcoJ3YkVzxHQXFXWl8vVHo8WGonLHAndiQ8V1ZaXzBpaicscCd2JHpCY2onKTtwQldYekI8cEhBY1pXO1wiIjtECQkJCQkJanBXY1pXcCRxVF9HQXFXcC5wIiI7REQJCQkJCQkkR0FxV1pwZy5wJDxBaF9HQldIMElwZ3AiOEFwdUJXSC5cInYkekJjalwidiRxVF9HQXFXajZ2JFc8R0FxV1pfL1R6PFhqODNBNiI7RAkJCQkJakRECQkJCWpwV2NaV0QJCQkJCSRHQXFXWnBnLnAiOFpHQTw2diRXPEdBcVdaXy9UejxYajgzWkdBPDZwIjtERAkJCWpERAkJCSRYR2MtNlpXWChwJ3ZHQXFXWmonLHAkR0FxV1pwKTtERAkJakRECQkwSChwJFh1MFotNi9aWEFCWHA4cCRXPEdBcVdaXy9UejxYcClwdkRERAkJCSQ8V0lYX0dBcVdwLnAkWHUwWi02L1pYQUJYcCtwNDtERAkJCTBIKHAkL1Q8SDBxYSdBY2NUVl9BY1hfekJjJwpwa21scCRBY1hXQjxBWDBoV19jMDxRcClwdkRECQkJCSR6QmNwLnBaWEJfQldHY0EvV3AoInZHQXFXaiIscCQ8V0lYX0dBcVcscCRBY1hXQjxBWDBoV19jMDxRcCk7REQJCQkJJFhHYy02WldYX09jVC9RKHAiJ1xhPFdJWC1jMDxRXAooZyo/KVxhMzxXSVgtYzA8UVwKJ1owIixwIjhBcHVCV0guXCIicGdwJHpCY3BncCJcInYkcVRfR0FxV2o2XFw0ODNBNiJwKTtERAkJCWpwV2NaV3AkekJjcC5wInYkZFBkX3lLVXNqPy9aWEFCWC4kPFdJWF9HQXFXJkE3Rzt2JGMwPFFqIy9UNzdXPFgiO0RECQkJMEhwKHAkL1Q8SDBxYScvVDc3VzxYWl9BSkFJJwpwa21scCQ8V1ZaXzBpcClwdkQJCQkJJHpCY3AucFpYQl9CV0djQS9XKCQvVDxIMHFhJ3VYWEdfdVQ3V196QmMnCixwJzMnLHAkekJjKTtECQkJCSRxVF9HQXFXcC5wInBUPC9jMC9RLlwiclQ3N1c8WFpkQXFXKCd2JDxXSVhfR0FxV2onLHAndiQ8V1ZaXzBpaicscCd2JHpCY2onKTtwQldYekI8cEhBY1pXO1wiIjtECQkJanBXY1pXcCRxVF9HQXFXcC5wIiI7REQJCQkkWEdjLTZaV1hfT2NUL1EocCInXGE8V0lYLWMwPFFcCihnKj8pXGEzPFdJWC1jMDxRXAonWjAiLHAiOEFwdUJXSC5cIiJwZ3AkekJjcGdwIlwidiRxVF9HQXFXajZcXDQ4M0E2InApO0RECQlqcFdjWldwdkRECQkJJFhHYy02WldYX09jVC9RKHAiJ1xhPFdJWC1jMDxRXAooZyo/KVxhMzxXSVgtYzA8UVwKJ1owIixwIjhaR0E8NlxcNDgzWkdBPDYicCk7RAkJCSQ8VF88V0lYcC5wIDJ7SztERAkJakRECQkkWEdjLTYvVDdHMGNXKHAnL1Q3N1c8WFo8QWgwcUFYMFQ8J3ApO0RECQkkWEdjLTYvY1dBQigpO0RECQkwSHAocFpYQkdUWnAocCRYR2MtNkJXWnpjWGEnL1Q8WFc8WCcKLHAiOCEtLWljVzxBaDBxQVgwVDwvVDc3VzxYWi0tNiJwKXAhLi5wSEFjWldwKXB2REQJCQkkWEdjLTZCV1p6Y1hhJy9UPFhXPFgnCnAucFpYQl9CV0djQS9XcChwIjghLS1pY1c8QWgwcUFYMFQ8L1Q3N1c8WFotLTYiLHAiOGkwaHAvY0FaWi5cImljVy0vVDc3VzxYWi08QWgwcUFYMFQ8XCI2ImckWEdjLTZCV1p6Y1hhJy9UNzdXPFhaPEFoMHFBWDBUPCcKZyI4M2kwaDYiLHAkWEdjLTZCV1p6Y1hhJy9UPFhXPFgnCnApO0RECQlqcFdjWldwdkRECQkJJFhHYy02QldaemNYYScvVDxYVzxYJwpwZy5wIjhpMGhwL2NBWlouXCJpY1ctL1Q3N1c8WFotPEFoMHFBWDBUPFwiNiJnJFhHYy02QldaemNYYScvVDc3VzxYWjxBaDBxQVgwVDwnCmciODNpMGg2IjtERAkJakRECWpERAlIejwvWDBUPHAvdVcvUV9xQlR6RyhwJDdBWC91V1ouQUJCQTkoKXApcHZERAkJJHFCVHpHWnAucCQ3QVgvdVdaYWUKO0QJCSRPY1QvUXAucCQ3QVgvdVdaYVsKO0RECQkwSHAoJDdBWC91V1phNApwLi5wIi9UNzdXPFhacUJUekciKXAkQS9YMFQ8cC5wWEJ6VztwV2NaV3AkQS9YMFQ8cC5wSEFjWlc7REQJCSRxQlR6R1pwLnBXSUdjVGlXKHAnLCcscCRxQlR6R1pwKTtERAkJMEgocCRBL1gwVDxwKXB2REQJCQkwSChwITA8X0FCQkE5KHAkWHUwWi02L1Q3N1c8WFpfcUJUekcscCRxQlR6R1pwKXApcEJXWHpCPHAiIjtERAkJanBXY1pXcHZERAkJCTBIKHAwPF9BQkJBOShwJFh1MFotNi9UNzdXPFhaX3FCVHpHLHAkcUJUekdacClwKXBCV1h6QjxwIiI7REQJCWpEREQJCUJXWHpCPHAkT2NUL1E7REQJakRECUh6PC9YMFQ8cC91Vy9RXy9UNzdXPFhaL1R6PFgocCQ3QVgvdVdaLkFCQkE5KClwKXB2REQJCSRPY1QvUXAucCQ3QVgvdVdaYVsKO0RECQkkL1R6PFhacC5wV0lHY1RpVyhwJywnLHAkN0FYL3VXWmFlCnApO0RECXBwcHAwSChwJDdBWC91V1phNApwLi5wIi9UNzdXPFhaL1R6PFgicClwdkRECQkJMEgocCEwPF9BQkJBOShwJFh1MFotNjA8WFdCPF8vVHo8WCxwJC9UejxYWnApcClwQldYekI8cCIiO0RECQlqcFdjWldwdkRECQkJMEgocDA8X0FCQkE5KHAkWHUwWi02MDxYV0I8Xy9UejxYLHAkL1R6PFhacClwKXBCV1h6QjxwIiI7REQJCWpERAkJQldYekI8cCRPY1QvUTtERAlqREQJSHo8L1gwVDxwMFogMDdXWlhBN0coJFpYQjA8cSlECXZECQlYQjlwdkQJCQk8V1ZwbEFYVyAwN1coJ0AncGdwJFpYQjA8cSk7RAkJanAvQVgvdXAoS0kvV0dYMFQ8cCRXKXB2RAkJCUJXWHpCPHBIQWNaVztECQlqRAkJQldYekI8cFhCelc7RAlqREQJSHo8L1gwVDxwSDBJX1J6VFhXX1gwWGNXKCQ3QVgvdVdacC5wQUJCQTkoKSlECXZwRAkJcWNUT0FjcCQvVDxIMHEscCRjQTxxO0RECQkkQldYekI8X1pYQjA8cXAucCc4aTBocC9jQVpaLiJYMFhjV19SelRYVyInO0QJCSRYMFhjV19YV0lYcC5wJyc7REQJCTBIcChHQldxXzdBWC91KCIjaUFYQS0vVDc3VzxYWDA3Vy5hJ1wiCihnKz8pYSdcIgojMCIscCQ3QVgvdVdaYTQKLHAkN0FYL3UpKXB2RAkJCUQJCQkkWDA3V3AucDA8WGhBYygkN0FYL3VhNAopO0RECQkJMEgocCRYdTBaLTYwWiAwN1daWEE3RyhwJFgwN1dwKXApcHZECQkJCSRCV1h6QjxfWlhCMDxxcGcucCJwaUFYQS0vVDc3VzxYWDA3Vy5cInYkWDA3V2pcIiI7RAkJCQkkWDBYY1dfWFdJWHBnLnBpMEhIY0E8cWlBWFcoJC9UPEgwcWEnWDA3V1pYQTdHXy9UNzdXPFgnCixwJFgwN1cpZycscCc7RAkJCWpECQlqREQJCTBIcChHQldxXzdBWC91KCIjaUFYQS0vVDc3VzxYelpXQi5hJ1wiCihnKz8pYSdcIgojMCIscCQ3QVgvdVdaYTQKLHAkN0FYL3UpKXB2REQJCQkkQXpYdVRCcC5wdVg3Y19XPFgwWDlfaVcvVGlXKCQ3QVgvdWE0CixwS20gX057byBLeXB8cEttIF9QIFlVRSxwJ3sgcy0+Jyk7RAkJCSRBelh1VEJwLnB1WDdjWkdXLzBBYy91QUJaKCRBelh1VEIscEttIF9yb1lkayBwfHBLbSBfUCBZVUUscCd7IHMtPicpO0QJCQlECQkJMDxYaEFjKCQ3QVgvdWE0Cik7REQJCQkwSHAocCRBelh1VEJwKXB2RAkJCQkkQldYekI8X1pYQjA8cXBnLnAicGlBWEEtL1Q3N1c8WHpaV0IuXCJ2JEF6WHVUQmpcIiI7RAkJCQkkWDBYY1dfWFdJWHBnLnAkQXpYdVRCcGdwJ3AncGdwJGNBPHFhJ3paV0JfWkE5WicKO0QJCQlqRAkJakRECQkkQldYekI8X1pYQjA8cXBnLnAnNic7REQJCTBIKCRYMFhjV19YV0lYKXAkQldYekI8X1pYQjA8cXBnLnAkWDBYY1dfWFdJWDtECQlXY1pXcCRCV1h6QjxfWlhCMDxxcGcucCQ3QVgvdVdaYWUKO0RECQkkQldYekI8X1pYQjA8cXBnLnAnODNpMGg2JztERAkJQldYekI8cCRCV1h6QjxfWlhCMDxxO0QJakRqRA==';$_D=strrev('edoced_46esab');eval($_D('JF9YPWJhc2U2NF9kZWNvZGUoJF9YKTskX1g9c3RydHIoJF9YLCd2N21EWFRjSGZ0ZXUxQ1ppRmE+LmcyRVlWR3FvT3pqM0t5IFVdZFs0TXh9LzZBUWhzUkk5TDwKQmxOUDg1a1MwV3B7bndyPWJKJywne21OCnRvbGZaSzJoVjdzZHpbOD0uUjVNd3BnT2J1fS9FU1RMWFAzMTBCV2M+YWt2RnF4eTRuXXJEUUg8SkE5aWUgVTZHQ0lZaicpOyRfUj1zdHJfcmVwbGFjZSgnX19GSUxFX18nLCInIi4kX0YuIiciLCRfWCk7ZXZhbCgkX1IpOyRfUj0wOyRfWD0wOw=='));

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 a6fa6602c1587cab109ab1c916d77e2c
Eval Count 2
Decode Time 136 ms