Объявления

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



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]; } ?>
Торговое помещение на Неглинной, 263 кв.м.
Торговое помещение ул. Неглинная д. 8, 263 кв.м. (2 торговых уровня), отдельный вход, витринное осте ...
 
Продам супер уасток 27 соток
Продам участок пос. Елькино, Александровский район, Владимирская обл.27 соток. Газ по участку, проду ...
 
Земля под загородный дом
Ивлево Подольский район, участок на продажу 58 га. Шикарное место для строительства загородного дом ...
 
Дом от собственника в Костроме
Продается дом в деревне на берегу Костромского водохранилища в заповедной зоне (охота, рыбалка, гриб ...
 
В деревне Горетово продам дом.
Продается дом на Можайском водохранилище, Минское шоссе 110 км от МКАД , в д. Горетово, Площадь дома ...
 
Продаю дачу на уч-ке 20 соток по Каширскому шоссе
Продаю дачу в сад. тов-ве 95 км от Москвы по Каширскому ш.Утепленный дом 6х9 на отличном высоком фун ...
 
Продается жилой дом площадью 61, 9 кв.м
Продается жилой дом площадью 61, 9 кв.м (жилая 16,1 кв.м.) с земельным участком 1 500 кв.м.Собственн ...
 
Продажа дома 233 м2.
Двухэтажный кирпичный дом, фундамент на двух бетонных блоках, бетонные межэтажные перекрытия. 1-й эт ...
 
Дом. 90 м2, от собственника!
85 км от МКАД по Ярославскому шоссе. Живописный уголок на стыке Московской и Владимирской областей. ...
 
В аренду коттедж на длительный срок
Г. Домодедово, ул. Западаня, д.13А.Каширское ш., 16 км от мкад, жилое.Собственник.Участок - 8 соток. ...
 
Продается новый уютный коттедж 200м2 уч.12соток
Киевское шоссе, Боровск Национальный ЗаповедникПродается новый уютный коттедж50 мин. от мкад (без пр ...
 
Продадим дачу в Заворово
Бетонные дорожки, стоянка под 2 автомобиля, газон, круглогодичный подьезд до участка, молодые лесные ...
 
Замечательный дом на громадном участке!
Продается дом по Ленинградскому или Дмитровскому шоссе, 40 км. Дом в два этажа, 537кв. м. , полно ...
 
Дом в уютном КП "Усадьба Алексино".
Котедж полностью готовый к проживанию . Ремонт мебель все инженерные системы интернет московский тел ...
 
Двух этажный кирпичный дом
Днп "Подмосковье",1995 г.п., расположено в окружении соснового леса и находиться на окраин ...
 
Продажа дома за городом 920м2, п.Горки Ленинские
Продаю дом без внутренней отделки с участком в Ленинском районе , п. Горки Ленинские . Площадь участ ...
 
Продается благоустроенная дача с двумя коттеджами
Дача расположена в 45 км от Москвы по Ленинградскому шоссе. Подъезд круглый год. Возделанный участо ...
 
Продажа таунхаусов,коттеджей,домов.
Супер предложение!!! ДУПЛЕКС площадью 160м2 на участке 5-7,5 соток в пригороде Санкт-Петербурга з ...
 
В деревне Горетово продам дом.
Продается дом на Можайском водохранилище, Минское шоссе 110 км от МКАД , в д. Горетово, Площадь дома ...
 
Аренда квартир от 2-х суток - года Питер
Снять-Сдать квартиру в аренду в Петербурге от 2-х суток до 1 года.Выбор вариантов жилой недвижимос ...
 
Офисы в аренду без посредников!
Снять офис в аренду от 228 до 1200 кв.м. / от 24600 р. Престижный центр Москвы, Парк культуры, 10 ми ...
 
Продается участок в д.Сырьево 30 км от М
Д.СЫРЬЕВО, земельный участок 10 соток, 30 км от МКАД по Киевскому ш. или 35 км от МКАД по Минскому ...
 
Агентство Арбат поможет оформить часть д
Агентство Арбат осуществляет поиск квартир в новостройках Твери на ваших условиях. Специалисты по ко ...
 
Аренда коммерческой недвижимости в Красноярске
Сдам под магазин,банк,кафе,представительский офис-Взлетка ("Башня")-174кв.м.- 1 этаж, цена: 2 000 ру ...
 
М.Выставочная. Сдаются в аренду новые павильоны .
М.Выставочная. Предлагаются новые торговые павильоны напротив выхода из метро. Свободного назначения ...
 
Аренда торгового помещения на Варшавском шоссе
Предлагается в аренду торговое помещение на пересечении двух транспортных магистралей(Варшавское ш. ...
 
Продажа земельного участка
Симферопольское шоссе Деревня Панино 45 км от Мкад Чеховский район,Газ, Электричество подведены, уча ...
 
Участок 8 сот.
Участок 8 соток в 55 км по Щелковскому шоссе. Неподалеку водоемы. ...
 
Участок 8 сот.
«Чеховские сосны» - поселок в пятидесяти километрах по Симферопольскому шоссе в Чеховском районе. По ...
 
Участок 8 сот.
«Лесная опушка» - это небольшой, аккуратный и очень уютный поселок в Пушкинском районе. Расположен в ...
 

[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]