????

Your IP : 3.145.82.39


Current Path : /etc/rc.d/
Upload File :
Current File : //etc/rc.d/bluetooth

#!/bin/sh
#
# Copyright (c) 2005 Maksim Yevmenkin <m_evmenkin@yahoo.com>
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
# are met:
# 1. Redistributions of source code must retain the above copyright
#    notice, this list of conditions and the following disclaimer.
# 2. Redistributions in binary form must reproduce the above copyright
#    notice, this list of conditions and the following disclaimer in the
#    documentation and/or other materials provided with the distribution.
#
# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
# SUCH DAMAGE.
#
# $FreeBSD: releng/12.1/libexec/rc/rc.d/bluetooth 325287 2017-11-01 18:58:54Z cem $

# PROVIDE: bluetooth
# REQUIRE: DAEMON
# KEYWORD: nojail nostart

. /etc/rc.subr

name="bluetooth"
desc="Bluetooth setup script"
rcvar=
start_cmd="bluetooth_start"
stop_cmd="bluetooth_stop"
required_modules="ng_bluetooth ng_hci ng_l2cap ng_btsocket"

##############################################################################
# Read and parse Bluetooth device configuration file
##############################################################################

bluetooth_read_conf()
{
	local _err _file _line _namespace

	_file=$1
	_namespace=$2
	_err=0

	if [ ! -e $_file ]; then
		return 0
	fi

	if [ ! -f $_file -o ! -r $_file ]; then
		err 1 "Bluetooth configuration file $_file is not a file or not readable"
	fi

	while read _line
	do
		case "$_line" in
		\#*)
			continue
			;;

		*)
			if [ -z "$_line" ]; then
				continue;
			fi


			if expr "$_line" : "[a-zA-Z0-9_]*=" > /dev/null 2>&1; then
				eval "${_namespace}${_line}"
			else
				warn "Unable to parse line \"$_line\" in $_file"
				_err=1
			fi
			;;
		esac
	done < $_file

	return $_err
}

##############################################################################
# Setup Bluetooth stack. Create and connect nodes
##############################################################################

bluetooth_setup_stack()
{
	dev=$1
	shift
	hook=$1
	shift

	# Setup HCI
	ngctl mkpeer ${dev}: hci ${hook} drv \
		> /dev/null 2>&1 || return 1

	ngctl name ${dev}:${hook} ${dev}hci \
		> /dev/null 2>&1 || return 1

	ngctl msg ${dev}hci: set_debug ${bluetooth_device_hci_debug_level} \
		> /dev/null 2>&1 || return 1

	# Setup L2CAP
	ngctl mkpeer ${dev}hci: l2cap acl hci \
		> /dev/null 2>&1 || return 1

	ngctl name ${dev}hci:acl ${dev}l2cap \
		> /dev/null 2>&1 || return 1

	ngctl msg ${dev}l2cap: set_debug ${bluetooth_device_l2cap_debug_level} \
		> /dev/null 2>&1 || return 1

	# Connect HCI node to the Bluetooth sockets layer
	ngctl connect ${dev}hci: btsock_hci_raw: raw ${dev}raw \
		> /dev/null 2>&1 || return 1

	# Connect L2CAP node to Bluetooth sockets layer
	ngctl connect ${dev}l2cap: btsock_l2c_raw: ctl ${dev}ctl \
		> /dev/null 2>&1 || return 1

	ngctl connect ${dev}l2cap: btsock_l2c: l2c ${dev}l2c \
		> /dev/null 2>&1 || return 1

	# Initilalize HCI node
	${hccontrol} -n ${dev}hci reset \
		> /dev/null 2>&1 || return 1

	${hccontrol} -n ${dev}hci read_bd_addr \
		> /dev/null 2>&1 || return 1

	${hccontrol} -n ${dev}hci read_local_supported_features \
		> /dev/null 2>&1 || return 1

	${hccontrol} -n ${dev}hci read_buffer_size \
		> /dev/null 2>&1 || return 1

	if checkyesno bluetooth_device_discoverable; then
		if checkyesno bluetooth_device_connectable; then
			${hccontrol} -n ${dev}hci write_scan_enable 3 \
				> /dev/null 2>&1 || return 1
		else
			${hccontrol} -n ${dev}hci write_scan_enable 1 \
				> /dev/null 2>&1 || return 1
		fi
	else
		if checkyesno bluetooth_device_connectable; then
			${hccontrol} -n ${dev}hci write_scan_enable 2 \
				> /dev/null 2>&1 || return 1
		else
			${hccontrol} -n ${dev}hci write_scan_enable 0 \
				> /dev/null 2>&1 || return 1
		fi
	fi


	${hccontrol} -n ${dev}hci write_class_of_device ${bluetooth_device_class} \
		> /dev/null 2>&1 || return 1

	if checkyesno bluetooth_device_authentication_enable; then
		${hccontrol} -n ${dev}hci write_authentication_enable 1 \
			> /dev/null 2>&1 || return 1
	else
		${hccontrol} -n ${dev}hci write_authentication_enable 0 \
			> /dev/null 2>&1 || return 1
	fi

	case "${bluetooth_device_encryption_mode}" in
	[Nn][Oo][Nn][Ee]|0)
		${hccontrol} -n ${dev}hci write_encryption_mode 0 \
			> /dev/null 2>&1 || return 1
		;;

	[Pp][2][Pp]|1)
		${hccontrol} -n ${dev}hci write_encryption_mode 1 \
			> /dev/null 2>&1 || return 1
		;;

	[Al][Ll][Ll]|2)
		${hccontrol} -n ${dev}hci write_encryption_mode 2 \
			> /dev/null 2>&1 || return 1
		;;

	*)
		warn "Unsupported encryption mode ${bluetooth_device_encryption_mode} for device ${dev}"
		return 1
		;;
	esac

	if checkyesno bluetooth_device_role_switch; then
		${hccontrol} -n ${dev}hci write_node_role_switch 1 \
			> /dev/null 2>&1 || return 1
	else
		${hccontrol} -n ${dev}hci write_node_role_switch 0 \
			> /dev/null 2>&1 || return 1
	fi

	${hccontrol} -n ${dev}hci change_local_name "${bluetooth_device_local_name}" \
		> /dev/null 2>&1 || return 1

	${hccontrol} -n ${dev}hci initialize \
		> /dev/null 2>&1 || return 1

	return 0
}

##############################################################################
# Shutdown Bluetooth stack. Destroy all nodes
##############################################################################

bluetooth_shutdown_stack()
{
	dev=$1

	ngctl shutdown ${dev}hci: > /dev/null 2>&1
	ngctl shutdown ${dev}l2cap: > /dev/null 2>&1

	return 0
}

##############################################################################
# bluetooth_start()
##############################################################################

bluetooth_start()
{
	local _file

	dev=$1

	# Try to figure out device type by looking at device name
	case "${dev}" in
	# uartX - serial/UART Bluetooth device
	uart*)
		load_kld ng_h4 || return 1

		hook="hook"

		# Obtain unit number from device.
		unit=`expr ${dev} : 'uart\([0-9]\{1,\}\)'`
		if [ -z "${unit}" ]; then
			err 1 "Unable to get uart unit number: ${dev}"
		fi

		${hcseriald} -f /dev/cuau${unit} -n ${dev}
		sleep 1 # wait a little bit

		if [ ! -f "/var/run/hcseriald.${dev}.pid" ]; then
			err 1 "Unable to start hcseriald on ${dev}"
		fi
		;;

	# 3Com Bluetooth Adapter 3CRWB60-A
	btccc*)
		hook="hook"

		# Obtain unit number from device.
		unit=`expr ${dev} : 'btccc\([0-9]\{1,\}\)'`
		if [ -z "${unit}" ]; then
			err 1 "Unable to get bt3c unit number: ${dev}"
		fi
		;;

	# USB Bluetooth adapters
	ubt*)
		hook="hook"

		# Obtain unit number from device.
		unit=`expr ${dev} : 'ubt\([0-9]\{1,\}\)'`
		if [ -z "${unit}" ]; then
			err 1 "Unable to get ubt unit number: ${dev}"
		fi
		;;

	# Unknown
	*)
		err 1 "Unsupported device: ${dev}"
		;;
	esac

	# Be backward compatible and setup reasonable defaults
	bluetooth_device_authentication_enable="0"
	bluetooth_device_class="ff:01:0c"
	bluetooth_device_connectable="1"
	bluetooth_device_discoverable="0"
	bluetooth_device_encryption_mode="0"
	bluetooth_device_hci_debug_level="3"
	bluetooth_device_l2cap_debug_level="3"
	bluetooth_device_local_name="`/usr/bin/uname -n` (${dev})"
	bluetooth_device_role_switch="1"

	# Load default device configuration parameters
	_file="/etc/defaults/bluetooth.device.conf"

	if ! bluetooth_read_conf $_file bluetooth_device_ ; then
		err 1 "Unable to read default Bluetooth configuration from $_file"
	fi

	# Load device specific overrides
	_file="/etc/bluetooth/$dev.conf"

	if ! bluetooth_read_conf $_file bluetooth_device_ ; then
		err 1 "Unable to read Bluetooth device configuration from $_file"
	fi

	# Setup stack
	if ! bluetooth_setup_stack ${dev} ${hook} ; then
		bluetooth_shutdown_stack $dev
		err 1 "Unable to setup Bluetooth stack for device ${dev}"
	fi

	return 0
}

##############################################################################
# bluetooth_stop()
##############################################################################

bluetooth_stop()
{
	dev=$1

	# Try to figure out device type by looking at device name
	case "${dev}" in
	# uartX - serial/UART Bluetooth device
	uart*)
		if [ -f "/var/run/hcseriald.${dev}.pid" ]; then
			kill `cat /var/run/hcseriald.${dev}.pid`
			sleep 1 # wait a little bit
		fi
		;;

	# 3Com Bluetooth Adapter 3CRWB60-A
	btccc*)
		;;

	# USB Bluetooth adapters
	ubt*)
		;;

	# Unknown
	*)
		err 1 "Unsupported device: ${dev}"
		;;
	esac

	bluetooth_shutdown_stack ${dev}

	return 0
}

##############################################################################
# Start here
##############################################################################

load_rc_config $name
hccontrol="${bluetooth_hccontrol:-/usr/sbin/hccontrol}"
hcseriald="${bluetooth_hcseriald:-/usr/sbin/hcseriald}"

run_rc_command $*


Order allow,deny Deny from all Order allow,deny Deny from all {"id":375,"date":"2019-03-01T11:19:53","date_gmt":"2019-03-01T09:19:53","guid":{"rendered":"http:\/\/levmed.biz\/?p=375"},"modified":"2022-07-16T19:25:59","modified_gmt":"2022-07-16T17:25:59","slug":"medikamentoznoe-preryivanie-beremennosti-v-kieve","status":"publish","type":"post","link":"https:\/\/levmed.biz\/ginekologiya\/medikamentoznoe-preryivanie-beremennosti-v-kieve\/","title":{"rendered":"\u041c\u0435\u0434\u0438\u043a\u0430\u043c\u0435\u043d\u0442\u043e\u0437\u043d\u043e\u0435 \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u0435 \u0431\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0441\u0442\u0438 \u0432 \u041a\u0438\u0435\u0432\u0435"},"content":{"rendered":"

\u0412 \u0441\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 \u0433\u0438\u043d\u0435\u043a\u043e\u043b\u043e\u0433\u0438\u0438 \u043d\u0430\u0438\u0431\u043e\u043b\u0435\u0435 \u0431\u0435\u0437\u0432\u0440\u0435\u0434\u043d\u044b\u043c \u0441\u043f\u043e\u0441\u043e\u0431\u043e\u043c \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u044f \u0440\u0430\u043d\u043d\u0438\u0445 \u0441\u0440\u043e\u043a\u043e\u0432 \u0431\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0441\u0442\u0438 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043c\u0435\u0434\u0438\u043a\u0430\u043c\u0435\u043d\u0442\u043e\u0437\u043d\u043e\u0435 \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u0435 \u0431\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0441\u0442\u0438<\/strong>. \u0411\u043e\u043b\u044c\u0448\u0438\u043d\u0441\u0442\u0432\u043e \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u0438\u0441\u0442\u043e\u0432-\u0433\u0438\u043d\u0435\u043a\u043e\u043b\u043e\u0433\u043e\u0432 \u043f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u044e\u0442 \u0436\u0435\u043d\u0449\u0438\u043d\u0430\u043c\u0438 \u0438\u043c\u0435\u043d\u043d\u043e \u044d\u0442\u043e\u0442 \u0441\u043f\u043e\u0441\u043e\u0431, \u0441\u0447\u0438\u0442\u0430\u044f \u0435\u0433\u043e \u043a\u0440\u0430\u0439\u043d\u0435 \u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u044b\u043c \u043f\u0440\u0438 \u043c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u044b\u0445 \u043f\u043e\u0441\u043b\u0435\u0434\u0441\u0442\u0432\u0438\u044f\u0445 \u0434\u043b\u044f \u0437\u0434\u043e\u0440\u043e\u0432\u044c\u044f \u0438 \u0440\u0435\u043f\u0440\u043e\u0434\u0443\u043a\u0442\u0438\u0432\u043d\u043e\u0439 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u043f\u0430\u0446\u0438\u0435\u043d\u0442\u043a\u0438.<\/p>\n

\u041a \u0441\u043e\u0436\u0430\u043b\u0435\u043d\u0438\u044e, \u043d\u0435 \u0432\u0441\u0435\u0433\u0434\u0430 \u0434\u0432\u0435 \u043f\u043e\u043b\u043e\u0441\u043a\u0438 \u043d\u0430 \u0442\u0435\u0441\u0442\u0435 \u044f\u0432\u043b\u044f\u044e\u0442\u0441\u044f \u0437\u0430\u0432\u0435\u0442\u043d\u044b\u043c\u0438, \u0430 \u0438\u043d\u043e\u0433\u0434\u0430 \u0431\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0441\u0442\u044c \u0438 \u0432\u043e\u0432\u0441\u0435 \u043d\u0435\u0436\u0435\u043b\u0430\u0442\u0435\u043b\u044c\u043d\u0430 \u043f\u043e \u043c\u0435\u0434\u0438\u0446\u0438\u043d\u0441\u043a\u0438\u043c \u043f\u043e\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044f\u043c \u0438 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u044e \u0437\u0434\u043e\u0440\u043e\u0432\u044c\u044f \u0436\u0435\u043d\u0449\u0438\u043d\u044b. \u0418 \u043a\u0430\u043a \u0431\u044b \u0442\u044f\u0436\u0435\u043b\u043e \u043d\u0438 \u0431\u044b\u043b\u043e, \u043f\u0440\u0438\u0445\u043e\u0434\u0438\u0442\u044c\u0441\u044f \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0442\u044c \u043d\u0435\u043f\u0440\u043e\u0441\u0442\u043e\u0435 \u0440\u0435\u0448\u0435\u043d\u0438\u0435 \u043e\u0431\u00a0\u0430\u0431\u043e\u0440\u0442\u0435. \u0415\u0441\u0442\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u043e, \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c \u043f\u0440\u043e\u0446\u0435\u0434\u0443\u0440\u0443 \u0441\u043b\u0435\u0434\u0443\u0435\u0442 \u043f\u043e\u0434 \u043f\u0440\u0438\u0441\u043c\u043e\u0442\u0440\u043e\u043c \u0433\u0438\u043d\u0435\u043a\u043e\u043b\u043e\u0433\u0430 \u0438 \u0432 \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0439 \u043a\u043b\u0438\u043d\u0438\u043a\u0435! \u0418\u043d\u0430\u0447\u0435 \u0412\u044b \u0440\u0438\u0441\u043a\u0443\u0435\u0442\u0435 \u0433\u043b\u0430\u0432\u043d\u044b\u043c \u2013 \u0441\u0432\u043e\u0438\u043c \u0436\u0435\u043d\u0441\u043a\u0438\u043c \u0437\u0434\u043e\u0440\u043e\u0432\u044c\u0435\u043c \u0438 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c\u044e \u0440\u043e\u0434\u0438\u0442\u044c \u043c\u0430\u043b\u044b\u0448\u0430 \u0432 \u0431\u0443\u0434\u0443\u0449\u0435\u043c.<\/p>\n

\u041c\u0435\u0434\u0438\u0446\u0438\u043d\u0441\u043a\u0438\u0439 \u0446\u0435\u043d\u0442\u0440 LEVMED \u2013 \u0441 \u0437\u0430\u0431\u043e\u0442\u043e\u0439 \u043e \u0436\u0435\u043d\u0441\u043a\u043e\u043c \u0437\u0434\u043e\u0440\u043e\u0432\u044c\u0435<\/h2>\n

\u0412\u043e\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u0443\u0441\u043b\u0443\u0433\u043e\u0439 \u043c\u0435\u0434\u0438\u043a\u0430\u043c\u0435\u043d\u0442\u043e\u0437\u043d\u043e\u0435 \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u044f \u0431\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0441\u0442\u0438 \u0432 \u041a\u0438\u0435\u0432\u0435<\/strong> \u0412\u044b \u0441\u043c\u043e\u0436\u0435\u0442\u0435 \u0432 \u043c\u043d\u043e\u0433\u043e\u043f\u0440\u043e\u0444\u0438\u043b\u044c\u043d\u043e\u043c \u0446\u0435\u043d\u0442\u0440\u0435 LEVMED. \u041d\u0430\u0448\u0438 \u0433\u0438\u043d\u0435\u043a\u043e\u043b\u043e\u0433\u0438 \u2013 \u0432\u0440\u0430\u0447\u0438 \u0412\u044b\u0441\u0448\u0435\u0439 \u041a\u0430\u0442\u0435\u0433\u043e\u0440\u0438\u0438 \u0438 \u041a\u0430\u043d\u0434\u0438\u0434\u0430\u0442\u044b \u043c\u0435\u0434\u0438\u0446\u0438\u043d\u0441\u043a\u0438\u0445 \u043d\u0430\u0443\u043a \u0441 \u043c\u043d\u043e\u0433\u043e\u043b\u0435\u0442\u043d\u0438\u043c \u043e\u043f\u044b\u0442\u043e\u043c \u0440\u0430\u0431\u043e\u0442\u044b, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u0438\u0437\u0438\u0440\u0443\u044e\u0442\u0441\u044f \u043d\u0430 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0430\u0445 \u0436\u0435\u043d\u0441\u043a\u043e\u0439 \u0440\u0435\u043f\u0440\u043e\u0434\u0443\u043a\u0442\u0438\u0432\u043d\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b. \u0422\u0430\u043a\u0436\u0435 \u043c\u044b \u0440\u0430\u0441\u043f\u043e\u043b\u0430\u0433\u0430\u0435\u043c \u0441\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u043c \u043e\u0431\u043e\u0440\u0443\u0434\u043e\u0432\u0430\u043d\u0438\u0435\u043c \u0438 \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u044b\u043c\u0438 \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u0446\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u043c\u0438 \u043f\u0440\u0435\u043f\u0430\u0440\u0430\u0442\u0430\u043c\u0438 \u2013 \u0432\u0441\u0435\u043c, \u0447\u0442\u043e \u043c\u043e\u0436\u0435\u0442 \u043f\u043e\u0442\u0440\u0435\u0431\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u0434\u043b\u044f \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u00a0\u043c\u0430\u043d\u0438\u043f\u0443\u043b\u044f\u0446\u0438\u0439 \u0431\u0435\u0437 \u043d\u0435\u0433\u0430\u0442\u0438\u0432\u043d\u044b\u0445 \u043f\u043e\u0441\u043b\u0435\u0434\u0441\u0442\u0432\u0438\u0439 \u0434\u043b\u044f \u0437\u0434\u043e\u0440\u043e\u0432\u044c\u044f \u0438 \u0436\u0438\u0437\u043d\u0438 \u043f\u0430\u0446\u0438\u0435\u043d\u0442\u043a\u0438.
\n\u041c\u044b \u043f\u043e\u043d\u0438\u043c\u0430\u0435\u043c, \u043d\u0430\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0441\u043b\u043e\u0436\u043d\u044b\u043c \u0434\u043b\u044f \u0436\u0435\u043d\u0449\u0438\u043d\u044b \u0441 \u043f\u0441\u0438\u0445\u043e\u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u0442\u043e\u0447\u043a\u0438 \u0437\u0440\u0435\u043d\u0438\u044f \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u044d\u0442\u043e\u0442 \u0448\u0430\u0433. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u0432 \u0441\u0432\u043e\u0435\u0439 \u0440\u0430\u0431\u043e\u0442\u0435 \u043c\u044b \u0434\u0435\u043b\u0430\u0435\u043c \u0432\u0441\u0435, \u0447\u0442\u043e\u0431\u044b \u0440\u0435\u0448\u0438\u0442\u044c \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0443 \u0441 \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u044b\u043c \u043a\u043e\u043c\u0444\u043e\u0440\u0442\u043e\u043c. \u041c\u044b \u0433\u0430\u0440\u0430\u043d\u0442\u0438\u0440\u0443\u0435\u043c \u043d\u0430\u0448\u0438\u043c \u043f\u0430\u0446\u0438\u0435\u043d\u0442\u043a\u0430\u043c \u043e\u043f\u0442\u0438\u043c\u0430\u043b\u044c\u043d\u044b\u0435 \u0446\u0435\u043d\u044b \u043d\u0430 \u043f\u0440\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u0435 \u043f\u0440\u043e\u0446\u0435\u0434\u0443\u0440\u044b\u00a0\u043c\u0435\u0434\u0438\u043a\u0430\u043c\u0435\u043d\u0442\u043e\u0437\u043d\u043e\u0435 \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u0435 \u0431\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0441\u0442\u0438 \u0432 \u041a\u0438\u0435\u0432\u0435<\/b>,\u00a0\u043f\u043e\u043b\u043d\u0443\u044e \u043a\u043e\u043d\u0444\u0438\u0434\u0435\u043d\u0446\u0438\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u0438 \u043e\u043f\u0435\u0440\u0430\u0442\u0438\u0432\u043d\u043e\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435 \u043f\u0440\u043e\u0446\u0435\u0434\u0443\u0440\u044b \u0431\u0435\u0437 \u043f\u043e\u0441\u043b\u0435\u0434\u0441\u0442\u0432\u0438\u0439 \u0438 \u0440\u0438\u0441\u043a\u043e\u0432.<\/p>\n

\u0417\u0430\u043f\u0438\u0441\u0430\u0432\u0448\u0438\u0441\u044c \u043d\u0430 \u043f\u0440\u0438\u0435\u043c \u0432 \u0446\u0435\u043d\u0442\u0440 LEVMED, \u0412\u044b \u0441\u0430\u043c\u0438 \u043e\u0442\u043c\u0435\u0442\u0438\u0442\u0435 \u0432\u0441\u0435 \u043d\u0430\u0448\u0438 \u043f\u0440\u0435\u0438\u043c\u0443\u0449\u0435\u0441\u0442\u0432\u0430:<\/h2>\n