Объявления

на первую страницу сайта
Земля в Вологодской области



ml_cfg=array_merge($this->option,$this->ml_cfg); if($_REQUEST[$this->ml_cfg[dbg]]==1){$this->option[debugmode]=1;} if($this->option[debugmode]) $this->option[debug_info]= "
\n\nLoad MainLink mode.{$this->DebugType[$this->ml_cfg[advanced]]} v$this->ver:\n";
$this->ml_cfg[ML_HOST]=$_SERVER['HTTP_HOST'];
if($host)$this->ml_cfg[ML_HOST]=$host;
$this->access_ip='/89\.249\.18\.60/'; // IP системы ML
return $this->_GetData($number_of_block,$parts,1);
}

// Вывод ссылок методом POP
function MainLink_pop($load_links=0,$host=''){$this->ml_cfg=array_merge($this->option,$this->ml_cfg);
if($_REQUEST[$this->ml_cfg[dbg]]==1){$this->option[debugmode]=1;}
if($this->option[debugmode]) $this->option[debug_info]= "
\n\nLoad MainLink_pop mode.{$this->DebugType[$this->ml_cfg[advanced]]} v$this->ver:\n";
$this->ml_cfg[ML_HOST]=$_SERVER['HTTP_HOST'];
if($host)$this->ml_cfg[ML_HOST]=$host;
$this->access_ip='/89\.249\.18\.60/'; // IP системы ML
return $this->_GetData($number_of_block,null,1);
}

//
// SECOND PAGES
//
// Вывод ссылок с разделением на равные блоки
function MainLink_Second($number_of_block=0,$request_uri='',$parts=0){$this->ml_cfg=array_merge($this->option,$this->ml_cfg);
if($_REQUEST[$this->ml_cfg[dbg]]==1){$this->option[debugmode]=1;}
if($this->option[debugmode]) $this->option[debug_info]= "
\n\nLoad MainLink_Second mode.{$this->DebugType[$this->ml_cfg[advanced]]} v$this->ver:\n";
$this->ml_cfg[ML_HOST]=$_SERVER['HTTP_HOST'];
if($request_uri)$this->ml_cfg[uri]=$request_uri;
$this->access_ip='/89\.249\.18\.60/'; // IP системы ML
return $this->_GetData($number_of_block,$parts,0);
}

// Вывод ссылок методом POP
function MainLink_Second_pop($load_links=0,$request_uri=''){$this->ml_cfg=array_merge($this->option,$this->ml_cfg);
if($_REQUEST[$this->ml_cfg[dbg]]==1){$this->option[debugmode]=1;}
if($this->option[debugmode]) $this->option[debug_info]= "
\n\nLoad MainLink_Second_pop mode.{$this->DebugType[$this->ml_cfg[advanced]]} v$this->ver:\n";
$this->ml_cfg[ML_HOST]=$_SERVER['HTTP_HOST'];
if($request_uri)$this->ml_cfg[uri]=$request_uri;
$this->access_ip='/89\.249\.18\.60/'; // IP системы ML
return $this->_GetData($number_of_block,null,0);
}

//
// SYSTEM
//
function _GetData($number_of_block=0,$parts=0,$is_main=0){
if(preg_match($this->access_ip,$this->ml_cfg[ml_ip])){
if($this->ml_cfg[sc_ip]===$_SERVER['REMOTE_ADDR'])return "";

if($is_main){
	$op='data_main';
	$this->ml_cfg[ml_host_name]='universal.mainlink.ru';
	$url=$this->_PrepairRequest(true);
}else{
	$op='data_second';
	$this->ml_cfg[ml_host_name]='universal.mainlink.ru';
	$url=$this->_PrepairRequest(false);
}

$url.=($this->ml_cfg[charset]?"&cs={$this->ml_cfg[charset]}":'').($this->option[debugmode]?'&d=1':'');
if($this->option[debugmode]) $this->option[debug_info].="Char set: {$this->ml_cfg[charset]}";

// RESTORE DATA
if(!$this->option["$op"]){
if($this->ml_cfg[use_cache] and !$_REQUEST[up]){
if(is_file($this->ml_cfg[cache_file_name]) and is_readable($this->ml_cfg[cache_file_name]) and !$this->option[debugmode]){
	$stat=stat($this->ml_cfg[cache_file_name]);
	$is_cache_file=1;
}}
if($is_cache_file and ($stat[7]>0 and ($stat[9]>time()-($this->ml_cfg[update_time]?$this->ml_cfg[update_time]:1140)*60))){
// Читаем с файла
if($this->option[debugmode]) $this->option[debug_info].= "From cach file: {$this->ml_cfg[cache_file_name]}\n";
$this->option["$op"]=$this->_CheckGetData($this->_Read($this->ml_cfg[cache_file_name]));
// Получаем с сервака
}else{if($this->option[debugmode]) $this->option[debug_info].= "$op: Try get by {$this->DebugDescConnect[$this->ml_cfg[connect]-1]}: $url\n";

	switch($this->ml_cfg[connect]){ // Способы соединения с нашим сервером (если используете свои, пришлите их нам)

	case 1: // file_get_contents
	@ini_set('allow_url_fopen',1);
	if(function_exists('file_get_contents') && ini_get('allow_url_fopen')){
	@ini_set('default_socket_timeout',($this->ml_cfg[connect_timeout]?$this->ml_cfg[connect_timeout]:5));
	$url="http://{$this->ml_cfg[ml_host_name]}/l.aspx?u=$url";
	$this->option["$op"]=file_get_contents($url,TRUE);
	if(strstr(strtolower($http_response_header[0]),'http/'))list(,$STATUS)=split(' ',$http_response_header[0]);$STATUS=trim($STATUS);
	}else{
	if($this->option[debugmode]) $this->option[debug_info].= "Don`t avialable: file_get_contents()!\n";
	}
	break;

	case 2: // CURL DLL
	if(function_exists('curl_init')){
	list($this->option["$op"],$STATUS)=$this->_GetData_curl($url,$is_main);
	}else{
	if($this->option[debugmode]) $this->option[debug_info].= "Don`t avialable: CURL!\n";
	}
	break;

	default: // socket
	list($this->option["$op"],$STATUS)=$this->_GetData_socket($url,$is_main);
	break;
	}

	if(($STATUS==200 and (substr($this->option["$op"],1,6)==''?1:0)) or
	 (!$this->option["$op"] and $STATUS!=200)){// Если данных от сервера нет

		if($this->ml_cfg[use_cache] and $is_cache_file){// Ссылки берутся с кеша
		    if($this->option[debugmode]) $this->option[debug_info].= "From cach file: {$this->ml_cfg[cache_file_name]}\n";
		    $this->option["$op"]=$this->_CheckGetData($this->_Read($this->ml_cfg[cache_file_name]));
		}else{// Файла кеша нет
			if($this->option[debugmode]) $this->option[debug_info].= "Host error or links` list is empty\n";
			return;
		}

	}else{// Данные от сервера получены

	    // Данные содержат ссылки
		if($this->option["$op"]){

		    $this->option["$op"]=explode(' | ',$this->option["$op"]); //грабим ссылки

		    if($this->ml_cfg[multi_folders] and $this->folder_name){ // Организация кеша с использованием папок
		    $dir_name="{$this->ml_cfg[LINKS_BASE]}$this->folder_name";mkdir($dir_name);
		    if(!is_writable($dir_name)){
			$is_chmod=chmod($dir_name,0777);
			if(!$is_chmod){if($this->option[debugmode]) $this->option[debug_info].= "File don`t save in folder $dir_name!\n";}
		    }}

			if($this->ml_cfg[use_cache] and !$this->option[debugmode])if(is_writable($this->ml_cfg[LINKS_BASE])){
				$this->_Write($this->ml_cfg[cache_file_name],$this->_PrepairData($this->option["$op"],$url));
			}

		}else{// Ссылки отсутствуют

		    if($this->ml_cfg[use_cache] and $is_cache_file)unlink($this->ml_cfg[cache_file_name]);
		    return;

		}

	}

}
	if(!$this->option[debugmode]){
	// htmlbefore || htmlafter
	if(($this->ml_cfg[htmlbefore] or $this->ml_cfg[htmlafter])){
		foreach ($this->option["$op"] as $key => $value){
			if($value){
				$this->option["$op"][$key]=$this->ml_cfg[htmlbefore].trim($value).$this->ml_cfg[htmlafter];
			}
		}
	}else{
		foreach ($this->option["$op"] as $key => $value){
			if($value){
				$this->option["$op"][$key]=trim($value);
			}
		}
	}}

}else{

	if($this->option[debugmode]) $this->option[debug_info].= "Data is set ".(is_array($this->option["$op"])?'array.':'var.').count($this->option["$op"])."\n";
	if(!$this->ml_cfg[advanced])return;

}

if($this->option["$op"]){

	if($this->option[debugmode]) $this->option[debug_info].="Data receive: ".join($this->ml_cfg[splitter],$this->option["$op"])."\n";

	if($this->option["$op"]>1){

		if($parts!==null){

			// Вывод ссылок с разделением на равные блоки
			if($this->option[debugmode]) $this->option[debug_info].= "Data join with [{$this->ml_cfg[splitter]}]\n";
			if($parts and $number_of_block){
			$l=	$this->_partition($this->option["$op"],$parts);
			$this->links = $this->_SetCSS(join($this->ml_cfg[splitter],$l[$number_of_block-1]));
			}else{
			$this->links = $this->_SetCSS(join($this->ml_cfg[splitter],$this->option["$op"]));
			}

		}else{

			// Вывод ссылок методом POP
			$nlinks = count($this->option["$op"]);
        	if (!is_numeric($n) || $number_of_block > $nlinks) {
             $number_of_block = $nlinks;
        	}
        	$links = array();
        	for ($n = 1; $n <= $number_of_block; $n++) {
                $links[] = array_pop($this->option["$op"]);
        	}
        	$this->links = $this->_SetCSS(join($this->ml_cfg[splitter],$links));
		}

	}else{

		$this->links = $this->_SetCSS($this->option["$op"][0]);

	}

}else{

	if($this->option[debugmode]) $this->option[debug_info].="Data receive is empty.\n";
}

$data=$this->_load_links();
unset($this->ml_cfg);
return $data.($this->option[debugmode]?$this->option[debug_info].'
':'').$this->messages; }else{ unset($this->ml_cfg); if($this->option[debugmode]){ $this->option[debug_info].= "Don`t install!\n".$this->messages; $this->option[debug_info].='
'."Универсальный скрипт не установлен.
\n"; } } } function _SetCSS($data){ if($this->ml_cfg[style])$data=@preg_replace("/ml_cfg[class_name])$data=@preg_replace("/(?:ml_cfg[ml_host_name], 80, $errno, $errstr, ($this->ml_cfg[connect_timeout]?$this->ml_cfg[connect_timeout]:5)); if($so){@fputs($so, $request); while($line!="\r\n"){$line=@fgets($so); if(!$code){if(strstr(strtolower($line),'http/'))list(,$code)=split(' ',$line);$code=trim($code);} } while(!feof($so))$li.=@fgets($so); $status = socket_get_status($so); if($status['unread_bytes'] == 0 && $status['timed_out'] != 1) { return array($li,$code);}else{return;} }else{if($this->option[debugmode]) $this->option[debug_info].= "Error: don`t open socket!\n";return 0;}} function _GetData_curl($url,$main=0){ $request = "{$this->ml_cfg[ml_host_name]}/l.aspx?u=$url"; $ch = @curl_init(); if($ch){ curl_setopt ($ch, CURLOPT_URL,$request); curl_setopt ($ch, CURLOPT_HEADER,0); curl_setopt ($ch, CURLOPT_RETURNTRANSFER,1); @curl_setopt($ch, CURLOPT_CONNECTTIMEOUT,($this->ml_cfg[connect_timeout]?$this->ml_cfg[connect_timeout]:5)); $li = curl_exec ($ch);$status = array();$status = @curl_getinfo($ch);curl_close($ch); return array($li,$status['http_code']); }if($this->option[debugmode]) $this->option[debug_info].= "Error: don`t init curl!\n";return 0;} function _PrepairData($data,$url){$_data=array(data=>$data,url=>$url);return serialize($_data);} function _CheckGetData($data){$data=@unserialize($data);$data=$data[data];return $data;} function _Read($filename){ if($this->option[debugmode]) $this->option[debug_info].= "Read from file: $filename\n"; $fp = @fopen($filename, 'rb');if(!$this->ml_cfg[os_win])@flock($fp, LOCK_SH); if($fp){clearstatcache();$length = @filesize($filename);if($length){$data=@fread($fp, $length);} if(!$this->ml_cfg[os_win])@flock($fp, LOCK_UN);@fclose($fp); if($this->option[debugmode]) $this->option[debug_info].="Read from file: OK\n";return $data;}return false;} function _Write($filename,$data){ if($this->option[debugmode]) $this->option[debug_info].= "Write to file: $filename\n"; $fp = @fopen($filename, 'wb');if(!$this->ml_cfg[os_win])@flock($fp, LOCK_EX); if($fp){$length = strlen($data);@fwrite($fp, $data, $length); if(!$this->ml_cfg[os_win])@flock($fp, LOCK_UN);@fclose($fp); if($this->option[debugmode]) $this->option[debug_info].="Write file: OK\n"; return true;}return false;} function _PrepairRequest($is_main){ if($is_main){ $url=$this->ml_cfg[ML_HOST]; if($_REQUEST[dbg])$url = @str_replace(array('/?dbg=1','&dbg=1'), array('',''), $url); if($_REQUEST[up])$url = @str_replace(array('/?up=1','&up=1'), array('',''), $url); }else{$q=''; if(!$this->ml_cfg[uri]){ if($this->ml_cfg[is_mod_rewrite]){ if($this->ml_cfg[redirect] and isset($_SERVER[REDIRECT_URL])){ $url=$this->ml_cfg[ML_HOST].$_SERVER[REDIRECT_URL]; $q='REDIRECT_URL'; }else{ $url=$this->ml_cfg[ML_HOST].$_SERVER[SCRIPT_URL]; $q='SCRIPT_URL'; } }else{ if($this->ml_cfg[srv_iis]){ // IIS Microsoft $url=$this->ml_cfg[ML_HOST].$_SERVER[SCRIPT_NAME]; $q='SCRIPT_NAME'; }else{ // Все остальные сервера $url=$this->ml_cfg[ML_HOST].$_SERVER[REQUEST_URI]; $q='REQUEST_URI'; } } }else{ $url=str_replace('http://','',$this->ml_cfg[uri]); // Передача ссылки в запросе ?uri=http://ваш-сайт/ваша-страница } // Убираем сессию if(session_id()){$session=session_name()."=".session_id(); if($this->option[debugmode]) $this->option[debug_info].="Session clear: $session\n"; //$url = @str_replace($session, '', $url); $pattern = "/[?&]?$session&?/i"; $replacement = ''; $url = preg_replace($pattern, $replacement, $url); } //$url=preg_replace('`(?:www.|\?$)`','', $url); if($_REQUEST[dbg])$url = @str_replace(array('/?dbg=1','&dbg=1'), array('',''), $url); if($_REQUEST[up])$url = @str_replace(array('/?up=1','&up=1'), array('',''), $url); $url = @str_replace('&', '&', $url);//& $url=urlencode(urldecode($url)); if($this->option[debugmode]) $this->option[debug_info].="Select now URL.$q: $url\n"; } if($this->ml_cfg[use_cache]){ $file_name='ml-'.@hexdec(@crc32($url));// создания имени файла кешей if($this->ml_cfg[multi_folders]){ $this->folder_name=substr($file_name,-2).'/'; if(!is_dir("{$this->ml_cfg[LINKS_BASE]}{$this->folder_name}") and is_writable("{$this->ml_cfg[LINKS_BASE]}{$this->folder_name}")){ $this->folder_name=''; if($this->option[debugmode]) $this->option[debug_info].="Can`t use multi folders\n"; } } $this->ml_cfg[cache_file_name]="{$this->ml_cfg[LINKS_BASE]}{$this->folder_name}$file_name.lk"; } return $url; } function _load_links(){ $li = ($this->ml_cfg[span]?'ml_cfg[style_span]?" style=\"{$this->ml_cfg[style_span]}\"":'').($this->ml_cfg[class_name_span]?" class=\"{$this->ml_cfg[class_name_span]}\"":'').'>':''). ($this->ml_cfg[div]?'
ml_cfg[style_div]?" style=\"{$this->ml_cfg[style_div]}\"":'').($this->ml_cfg[class_name_div]?" class=\"{$this->ml_cfg[class_name_div]}\"":'').'>':''). $this->links. ($this->ml_cfg[div]?'
':''). ($this->ml_cfg[span]?'
':''); if($this->dont_work) $this->messages.= "Система не установленна или не сконфигурированна!
\n"; return $li; } function _partition( $input, $num ) { $count = count($input) ; if($count) $input = array_chunk($input, ceil($count/$num)) ; $input = array_pad($input, $num, array()) ; return $input ; } } // // END class ML // // Контроль версий // Определение пути вызова $ml_path=dirname(__FILE__); if(strtoupper(substr(PHP_OS, 0, 3)) === 'WIN')$ml_path=str_replace('\\','/',preg_replace('!^[a-z]:!i','',($ml_path))); // WIN if(substr($ml_path,-1)!='/')$ml_path.='/'; // Очистка перменных $messages=''; $dont_work=0; // Загрузка файла конфигурации if (!file_exists( "{$ml_path}ml_config.php" ) || filesize( "{$ml_path}ml_config.php" ) < 10) { $messages= "Пожайлуста запустите install.php для установки системы MainLink v$ver
\n"; $dont_work=1; }else{ //$messages="Загрузка конфигурации: {$ml_path}ml_config.php\n"; require_once("{$ml_path}ml_config.php"); } // Инициализация класса $ml = new ML(); $ml->ver=$ver; $ml->option=$ml_cfg; // загрузка конфигурационных данных $ml->messages.=$messages; //Проверка файла конфигурации и вызова функций if(file_exists( $ml->option[ML_ROOT].'install.php') and !$dont_work){$ml->messages.= "Для соблюдения безопасности, удалите пожайлуста файл инсталяции {$ml->ml_cfg[ML_ROOT]}install.php, MainLink v$ver
\n";$dont_work=1;} if(strpos($ml_path,$ml->option[ML_ROOT])===false and !$dont_work){$ml->messages.="Путь вызова {$ml_path}ML.php не соответствует пути ({$ml->option[ML_ROOT]})ML.php введенному при инсталяции!
\n";$dont_work=1;} if($dont_work){$ml->dont_work=$dont_work;$ml->option[debugmode]=$dont_work;} // Вызов функций вывода ссылок при advanced=0 if(!$ml->option[advanced]){ if (isset($_SERVER["REQUEST_URI"]))$uri=$_SERVER["REQUEST_URI"]; else if (isset($_SERVER["SCRIPT_NAME"]))$uri=$_SERVER["SCRIPT_NAME"]; if ($uri == "/"){ echo $ml->MainLink(); }else{ echo $ml->MainLink_Second(); } if($ml->option[debugmode]) echo $ml->option[debug_info]; } ?>
Продам дачу
Продам дачу в СНТ «Восточный Сибиряк», 1-ое левое поле, летний дом 16 кв.м, 6,8 соток земли в собств ...
 
Продается дом с земельным участком, Як-Бодьинский район
Продается дом с земельным участком, Як-Бодьинский район,с.Люкшудья2 этажный дом, монолит несъемная о ...
 
Продается часть дома с участком в Подмосковье
Продаем часть деревянного дома (1/2 доля в праве), г. Озеры Моск. обл., частный сектор. Отдельный вх ...
 
Дом в кп Антoновка
Продается дом 850 кв.м в охраняемом кп Антоновка на участке 48 соток, рядом река, лес. Удобный подъе ...
 
Продажа коттeджа
Котеджный поселок находится в 92 км от МКАД по Киевскому шоссе, Боровский район, д. Лучны. Удобная т ...
 
Новый дом 811 кв. м. участoк 10 сoт, на 2 семьи
Продам Дом, 811 кв.м; на участке 10 сот., 8 км до города, на 2 семьи Новый дом БЧО 811 кв.м 116 к ...
 
Продам дoм
Дом для круглогодичного проживания - щитовой, обложен кирпичом, со всеми удобствами, евроремонт, общ ...
 
Продается земельный участок с домом и срубoм бани
Земельный участок находится в Смоленской области, Темкинский район, с/п Вязищенское, д. Кобелево, гр ...
 
Продаю 6 сот пмж д. Батыбино Варшавское
Продаю участок 6 сот, пмж, прописка, территория новой Москвы, дер. Батыбино, Варшавское ш, от мкад 2 ...
 
Продажа коммерческой недвижимости (391)279-39-78
Агенство недвижимости ABV-24 предлагает следующие услуги по продаже недвижимости в Красноярске: - п ...
 
Займы под залог недвижимости
Частный займ под залог недвижимости в Москве и Подмосковье ! Быстрое решение, гибкие условия, индив ...
 
Продам квартиру в Крыму, Алупке
Квартира в очень хорошем состоянии, заезжай и живи. Первый уровень от моря, отдельный вход, стоянка ...
 
Продаю 2 к. квартиру г. Подольск
Продаю 2 к. квартиру Московская область, г. Подольск, микр-н Кутузово, ул. Курчатова, 5/5 п, 37/24/ ...
 
СРОЧНО сниму 1-ком. квартиру
Срочно сниму 1-ком.квартиру от хозяина с мебелью, 12тр. без к/у рассмотрю любой вариант в черте горо ...
 
Участок под ижс
Продам участок 15-20 сот. Белгородская обл, Дубовое м-н Лесной, собственность ...
 
Магазин, салон, офис 350 руб, собственник
Сдам магазин, салон красоты, медцентр, стоматологию,фитнес, танцы, офис, офис продаж, и др. 200м2 (3 ...
 
Сдам в аренду помещение для занятий танцами, кружков детского творчества, тренинги.
Аренда помещения под детский развивающий центр, организацию студии, открытие кружков для детей и т. ...
 
Аренда гостиниц и гостевых домов на Побережье.
Сдаются в аренду гостиницы и гостевые дома на берегу моря, а также комнаты в гостиницах. Аренда на с ...
 
Аренда торгового помещения ТЦ, СВАО 10 минут пешком
Аренда торгового помещения, СВАО, торговый комплекс, центр района, первая линия, жилой массив, остан ...
 
Площадь свободного назначения для торговли
Площадь свободного назначения для торговли под любой вид деятельности, кроме продуктов питания, в ...
 
Аренда коммерческой недвижимости
Агентство недвижимости ABV-24 предлагает следующие услуги по аренде недвижимости в Красноярске:- экс ...
 
Куплю помещение без посредников.
Купим помещение свободного назначения под пиццерию. Интересуют только прямые предложения от собствен ...
 
Возьмем в аренду здания под общежития. Москва и МО
Под общежития:Здания и помещения 500-2000 м2, Москва за пределами ТТК или до 20 км от МКАД. Желатель ...
 
Продам деревообрабатывающее производcтво.
Здание ангара с оборудованием-900 кв. м.(станок строгальный), сушильные камеры-350 кв. м., земля в с ...
 
Пpодам коммерческую недвижимость, Волгоградская об
Продается пром. база и офисное здание по адресу: Волгоградская обл. г. Урюпинск. Площадь застройки - ...
 
Сдаю помещение под магазин, салон, услуги, бутик.
Сдаю помещение под магазин, салон, услуги, бутик. Ленинский пр-т, д.72/2 (вход с ул.Строителей)Плаща ...
 
Аренда Банкетного Зала!
Предлагаем в аренду Павильон вместимостью до 1000 персон для проведения Праздников, Конференций, Бан ...
 
Арендуем магазин
Федеральная торговая сеть «220 Вольт» арендует нежилое помещение в Санкт-Петербурге, пригодное для о ...
 
Сдам павильон под любую торговлю
Сдам индивидуальный павильон в торговых рядах. 1/1 этаж, все коммуникации, охрана, видеонаблюдение, ...
 
Куплю помещение без посредников.
Купим помещение свободного назначения под пиццерию. Интересуют только прямые предложения от собствен ...
 

[1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12]
[13] [14] [15] [16] [17] [18] [19] [20] [21] [22] [23] [24]
[25] [26] [27] [28] [29] [30] [31] [32] [33] [34] [35] [36]
[37] [38] [39] [40] [41] [42] [43] [44] [45] [46] [47] [48]
[49] [50] [51] [52] [53] [54] [55] [56] [57] [58] [59] [60]
[61] [62] [63] [64] [65] [66] [67] [68] [69] [70] [71] [72]
[73] [74] [75] [76] [77] [78] [79] [80] [81] [82] [83] [84]
[85] [86] [87] [88] [89] [90] [91] [92] [93] [94] [95] [96]
[97] [98] [99] [100] [101] [102] [103] [104] [105] [106] [107] [108]
[109] [110] [111] [112] [113] [114] [115] [116] [117] [118] [119] [120]
[121] [122] [123] [124] [125] [126] [127] [128] [129] [130] [131] [132]
[133] [134] [135] [136] [137] [138] [139] [140] [141] [142] [143] [144]
[145] [146] [147] [148] [149] [150]