From nobody@FreeBSD.org  Wed Jan 12 09:30:23 2011
Return-Path: <nobody@FreeBSD.org>
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id 41EC3106566B
	for <freebsd-gnats-submit@FreeBSD.org>; Wed, 12 Jan 2011 09:30:23 +0000 (UTC)
	(envelope-from nobody@FreeBSD.org)
Received: from red.freebsd.org (unknown [IPv6:2001:4f8:fff6::22])
	by mx1.freebsd.org (Postfix) with ESMTP id EB4958FC14
	for <freebsd-gnats-submit@FreeBSD.org>; Wed, 12 Jan 2011 09:30:22 +0000 (UTC)
Received: from red.freebsd.org (localhost [127.0.0.1])
	by red.freebsd.org (8.14.4/8.14.4) with ESMTP id p0C9UMpp011399
	for <freebsd-gnats-submit@FreeBSD.org>; Wed, 12 Jan 2011 09:30:22 GMT
	(envelope-from nobody@red.freebsd.org)
Received: (from nobody@localhost)
	by red.freebsd.org (8.14.4/8.14.4/Submit) id p0C9UMWK011398;
	Wed, 12 Jan 2011 09:30:22 GMT
	(envelope-from nobody)
Message-Id: <201101120930.p0C9UMWK011398@red.freebsd.org>
Date: Wed, 12 Jan 2011 09:30:22 GMT
From: Alex Deiter <alex.deiter@gmail.com>
To: freebsd-gnats-submit@FreeBSD.org
Subject: [PATCH] update www/bigbluebutton
X-Send-Pr-Version: www-3.1
X-GNATS-Notify:

>Number:         153923
>Category:       ports
>Synopsis:       [PATCH] update www/bigbluebutton
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    wen
>State:          closed
>Quarter:        
>Keywords:       
>Date-Required:  
>Class:          maintainer-update
>Submitter-Id:   current-users
>Arrival-Date:   Wed Jan 12 09:40:07 UTC 2011
>Closed-Date:    Sat Jan 15 12:21:24 UTC 2011
>Last-Modified:  Sat Jan 15 12:21:24 UTC 2011
>Originator:     Alex Deiter
>Release:        8.1-RELEASE
>Organization:
N/A
>Environment:
FreeBSD x4150b.tdc 8.1-RELEASE FreeBSD 8.1-RELEASE #0: Mon Jul 19 02:36:49 UTC 2010     root@mason.cse.buffalo.edu:/usr/obj/usr/src/sys/GENERIC  amd64

>Description:
1. Update Makefile:
 - clean tabs
 - use different master sites URL for different files
 - remove unused options
 - add freeswitch user option
 - bump portrevision

2. Update bbb-conf script:
 - add freeswitch user
 - check installed packages
 - add start / stop options
 - verify host names with getent

3. Update rc script for openoffice:
 - set and use HOME env

4. Update pkg-message:
 - add note about hostname resolution
 - add start note

5. Clean pkg-plist


>How-To-Repeat:
cd /usr/ports/www
patch -p0 < patch-bigbluebutton.txt
cd bigbluebutton && make install
>Fix:
apply patch

Patch attached with submission follows:

diff -ur bigbluebutton.orig/Makefile bigbluebutton/Makefile
--- bigbluebutton.orig/Makefile	2011-01-09 22:10:39.000000000 +0000
+++ bigbluebutton/Makefile	2011-01-11 14:13:05.000000000 +0000
@@ -5,78 +5,76 @@
 # $FreeBSD: ports/www/bigbluebutton/Makefile,v 1.1 2011/01/09 22:10:39 jpaetzel Exp $
 #
 
-PORTNAME=		bigbluebutton
-PORTVERSION=		0.71
-CATEGORIES=		www java
-MASTER_SITES=		http://bigbluebutton.org/downloads/%SUBDIR%/
-MASTER_SITE_SUBDIR=	${PORTVERSION} ${PORTVERSION}/packages 0.70 0.64/blank
-DISTFILES=		bbb_extensions.conf bbb_sip.conf blank-slide.swf \
-			blank-thumb.png nginx-bigbluebutton.conf \
-			${EXTRACT_FILES}
-EXTRACT_ONLY=		${EXTRACT_FILES}
-
-MAINTAINER=		alex.deiter@gmail.com
-COMMENT=		Web conferencing system for distance education
-
-BUILD_DEPENDS=		${LOCALBASE}/bin/pdf2swf:${PORTSDIR}/graphics/swftools \
-			${LOCALBASE}/bin/convert:${PORTSDIR}/graphics/ImageMagick \
-			${LOCALBASE}/etc/rc.d/activemq:${PORTSDIR}/net/activemq \
-			${LOCALBASE}/sbin/nginx:${PORTSDIR}/www/nginx \
-			${LOCALBASE}/etc/rc.d/tomcat6:${PORTSDIR}/www/tomcat6 \
-			${LOCALBASE}/etc/rc.d/red5:${PORTSDIR}/www/red5
-RUN_DEPENDS=		${BUILD_DEPENDS}
-
-EXTRACT_FILES=		bigbluebutton.tar.gz freeswitch-config.tar.gz \
-			red5-0.9.1.tar.gz
-
-USE_DOS2UNIX=		yes
-DOS2UNIX_REGEX=		.+\.(conf|jsp|properties|xml)$
-
-USE_JAVA=		yes
-JAVA_VERSION=		1.5+
-JAVA_EXTRACT=		yes
-USE_MYSQL=		yes
-NO_BUILD=		yes
-NO_WRKSUBDIR=		yes
-DIST_SUBDIR=		${PORTNAME}
-USE_RC_SUBR=    	openoffice
-SOFFICEBIN?=		${PREFIX}/openoffice.org-3.2.1/openoffice.org3/program/soffice.bin
-RED5_HOME?=		${PREFIX}/red5
-RED5_HOME_REL=		${RED5_HOME:S,^${PREFIX}/,,}
-RED5_LOGS?=		${RED5_HOME}/log
-RED5_USER?=		www
-RED5_GROUP?=		${RED5_USER}
-TOMCAT_HOME?=		${PREFIX}/apache-tomcat-6.0
-TOMCAT_HOME_REL=	${TOMCAT_HOME:S,^${PREFIX}/,,}
-TOMCAT_LOGS?=		${TOMCAT_HOME}/logs
-TOMCAT_USER?=		www
-TOMCAT_GROUP?=		${TOMCAT_USER}
-WWWROOT?=		${WWWDIR:S|/${PORTNAME}$||}
-WWWROOT_REL=		${WWWROOT:S,^${PREFIX}/,,}
-
-OPTIONS=		MEETME "meetme Asterisk module" off \
-			KONFERENCE "konference Asterisk module" on \
-			FREESWITCH "mod_conference FreeSWITCH module" off \
-			OPENOFFICE "Include OpenOffice support" off
-
-PLIST_SUB+=		RED5_HOME=${RED5_HOME_REL} \
-			TOMCAT_HOME=${TOMCAT_HOME_REL} \
-			WWWROOT=${WWWROOT_REL}
-
-SUB_LIST+=		PORTNAME=${PORTNAME} \
-			SOFFICEBIN=${SOFFICEBIN} \
-			RED5_HOME=${RED5_HOME} \
-			RED5_LOGS=${RED5_LOGS} \
-			RED5_USER=${RED5_USER} \
-			RED5_GROUP=${RED5_GROUP} \
-			TOMCAT_HOME=${TOMCAT_HOME} \
-			TOMCAT_LOGS=${TOMCAT_LOGS} \
-			TOMCAT_USER=${TOMCAT_USER} \
-			TOMCAT_GROUP=${TOMCAT_GROUP} \
-			WWWROOT=${WWWROOT} \
-			WWWDIR=${WWWDIR}
+PORTNAME=	bigbluebutton
+PORTVERSION=	0.71
+PORTREVISION=	1
+CATEGORIES=	www java
+MASTER_SITES=	http://bigbluebutton.org/downloads/${PORTVERSION}/ \
+		http://bigbluebutton.org/downloads/0.70/:2 \
+		http://bigbluebutton.org/downloads/0.64/blank/:3
+DISTFILES=	bigbluebutton.tar.gz freeswitch-config.tar.gz \
+		nginx-bigbluebutton.conf bbb_extensions.conf:2 \
+		bbb_sip.conf:2 red5-0.9.1.tar.gz:2 \
+		blank-slide.swf:3 blank-thumb.png:3
+EXTRACT_ONLY=	bigbluebutton.tar.gz red5-0.9.1.tar.gz freeswitch-config.tar.gz
+
+MAINTAINER=	alex.deiter@gmail.com
+COMMENT=	Web conferencing system for distance education
+
+BUILD_DEPENDS=	${LOCALBASE}/bin/pdf2swf:${PORTSDIR}/graphics/swftools \
+		${LOCALBASE}/bin/convert:${PORTSDIR}/graphics/ImageMagick \
+		${LOCALBASE}/etc/rc.d/activemq:${PORTSDIR}/net/activemq \
+		${LOCALBASE}/sbin/nginx:${PORTSDIR}/www/nginx \
+		${LOCALBASE}/etc/rc.d/tomcat6:${PORTSDIR}/www/tomcat6 \
+		${LOCALBASE}/etc/rc.d/red5:${PORTSDIR}/www/red5
+RUN_DEPENDS=	${BUILD_DEPENDS}
+
+USE_DOS2UNIX=	yes
+DOS2UNIX_REGEX=	.+\.(conf|jsp|properties|xml)$
+
+USE_JAVA=	yes
+NO_BUILD=	yes
+NO_WRKSUBDIR=	yes
+DIST_SUBDIR=	${PORTNAME}
+USE_RC_SUBR=   	openoffice
+SOFFICEBIN?=	${PREFIX}/openoffice.org-3.2.1/openoffice.org3/program/soffice.bin
+RED5_HOME?=	${PREFIX}/red5
+RED5_LOGS?=	${RED5_HOME}/log
+RED5_USER?=	www
+RED5_GROUP?=	${RED5_USER}
+TOMCAT_HOME?=	${PREFIX}/apache-tomcat-6.0
+TOMCAT_LOGS?=	${TOMCAT_HOME}/logs
+TOMCAT_USER?=	www
+TOMCAT_GROUP?=	${TOMCAT_USER}
+FS_USER?=	freeswitch
+FS_GROUP?=	${FS_USER}
+WWWROOT?=	${WWWDIR:S|/${PORTNAME}$||}
+
+OPTIONS=	MEETME "meetme Asterisk module" off \
+		KONFERENCE "konference Asterisk module" on \
+		FREESWITCH "mod_conference FreeSWITCH module" off \
+		OPENOFFICE "Include OpenOffice support" off
+
+PLIST_SUB+=	RED5_HOME=${RED5_HOME:S,^${PREFIX}/,,} \
+		TOMCAT_HOME=${TOMCAT_HOME:S,^${PREFIX}/,,} \
+		WWWROOT=${WWWROOT:S,^${PREFIX}/,,}
+
+SUB_LIST+=	PORTNAME=${PORTNAME} \
+		SOFFICEBIN=${SOFFICEBIN} \
+		RED5_HOME=${RED5_HOME} \
+		RED5_LOGS=${RED5_LOGS} \
+		RED5_USER=${RED5_USER} \
+		RED5_GROUP=${RED5_GROUP} \
+		TOMCAT_HOME=${TOMCAT_HOME} \
+		TOMCAT_LOGS=${TOMCAT_LOGS} \
+		TOMCAT_USER=${TOMCAT_USER} \
+		TOMCAT_GROUP=${TOMCAT_GROUP} \
+		FREESWITCH_USER=${FS_USER} \
+		FREESWITCH_GROUP=${FS_GROUP} \
+		WWWROOT=${WWWROOT} \
+		WWWDIR=${WWWDIR}
 
-SUB_FILES=		pkg-message openoffice nginx.conf-dist bbb-conf
+SUB_FILES=	pkg-message openoffice nginx.conf-dist bbb-conf
 
 .include <bsd.port.pre.mk>
 
diff -ur bigbluebutton.orig/distinfo bigbluebutton/distinfo
--- bigbluebutton.orig/distinfo	2011-01-09 22:10:39.000000000 +0000
+++ bigbluebutton/distinfo	2011-01-11 11:25:42.000000000 +0000
@@ -1,16 +1,16 @@
+SHA256 (bigbluebutton/bigbluebutton.tar.gz) = b05d8bddcf80c9105bef3b85b80f9667f63082b3a5346b4d09ddd017bfd3766e
+SIZE (bigbluebutton/bigbluebutton.tar.gz) = 54825642
+SHA256 (bigbluebutton/freeswitch-config.tar.gz) = 4d5e6691fbc760bbf3540cd1871aa74b824f280ebc7853d07a0d1dca878f7f5f
+SIZE (bigbluebutton/freeswitch-config.tar.gz) = 48955
+SHA256 (bigbluebutton/nginx-bigbluebutton.conf) = 36593e846cf1c6abcfcf5a7295e33637fea017b460230ccec14af1032806e044
+SIZE (bigbluebutton/nginx-bigbluebutton.conf) = 3012
 SHA256 (bigbluebutton/bbb_extensions.conf) = 7f1afad7196210f926989fe08f2414ca570f4b97c6ad10d22236d411f3b7c6d7
 SIZE (bigbluebutton/bbb_extensions.conf) = 1788
 SHA256 (bigbluebutton/bbb_sip.conf) = 924925f909cb753623abf82006f8cb8acb55c3024b47544d22ca6fa01525081b
 SIZE (bigbluebutton/bbb_sip.conf) = 142
+SHA256 (bigbluebutton/red5-0.9.1.tar.gz) = afd0db4f8dfcda71c5a4d68dd2488774e013e7aa68f1bb3bf901550afd3ffbed
+SIZE (bigbluebutton/red5-0.9.1.tar.gz) = 86712320
 SHA256 (bigbluebutton/blank-slide.swf) = 7338ec4f98030b2da4051cd61be9f3d0e6964de10f3fd8e7e21460b401382964
 SIZE (bigbluebutton/blank-slide.swf) = 223
 SHA256 (bigbluebutton/blank-thumb.png) = c3c564e9023e7de608add924f752f75b28251a5b8468d2981665993fb9053cfa
 SIZE (bigbluebutton/blank-thumb.png) = 983
-SHA256 (bigbluebutton/nginx-bigbluebutton.conf) = 36593e846cf1c6abcfcf5a7295e33637fea017b460230ccec14af1032806e044
-SIZE (bigbluebutton/nginx-bigbluebutton.conf) = 3012
-SHA256 (bigbluebutton/bigbluebutton.tar.gz) = b05d8bddcf80c9105bef3b85b80f9667f63082b3a5346b4d09ddd017bfd3766e
-SIZE (bigbluebutton/bigbluebutton.tar.gz) = 54825642
-SHA256 (bigbluebutton/freeswitch-config.tar.gz) = 4d5e6691fbc760bbf3540cd1871aa74b824f280ebc7853d07a0d1dca878f7f5f
-SIZE (bigbluebutton/freeswitch-config.tar.gz) = 48955
-SHA256 (bigbluebutton/red5-0.9.1.tar.gz) = afd0db4f8dfcda71c5a4d68dd2488774e013e7aa68f1bb3bf901550afd3ffbed
-SIZE (bigbluebutton/red5-0.9.1.tar.gz) = 86712320
diff -ur bigbluebutton.orig/files/bbb-conf.in bigbluebutton/files/bbb-conf.in
--- bigbluebutton.orig/files/bbb-conf.in	2011-01-09 22:10:40.000000000 +0000
+++ bigbluebutton/files/bbb-conf.in	2011-01-11 14:06:36.000000000 +0000
@@ -17,6 +17,8 @@
 TOMCAT_LOGS="%%TOMCAT_LOGS%%"
 TOMCAT_USER="%%TOMCAT_USER%%"
 TOMCAT_GROUP="%%TOMCAT_GROUP%%"
+FREESWITCH_USER="%%FREESWITCH_USER%%"
+FREESWITCH_GROUP="%%FREESWITCH_GROUP%%"
 WWWROOT="%%WWWROOT%%"
 WWWDIR="%%WWWDIR%%"
 ASTERISK_ETC="$PREFIX/etc/asterisk"
@@ -29,16 +31,17 @@
 # BBB security salt
 BBB_SALT=""
 
-# BBB common path
+# BBB common
 BBB_SHAREDIR="%%DATADIR%%"
 BBB_PRESENTATIONDIR="/var/spool/%%PORTNAME%%"
+BBB_SRV_LIST=""
 BBB_INSTALL_CONF="$BBB_PRESENTATIONDIR/conf.txt"
 
 # BBB JDBC properties
 BBB_DATABASE_TYPE="mysql"
-BBB_DATABASE_HOST="localhost"
+BBB_DATABASE_HOST=""
 BBB_DATABASE_NAME="%%PORTNAME%%"
-BBB_DATABASE_URL="jdbc:$BBB_DATABASE_TYPE://$BBB_DATABASE_HOST/$BBB_DATABASE_NAME"
+BBB_DATABASE_URL=""
 BBB_DATABASE_DRIVER="com.mysql.jdbc.Driver"
 BBB_DATABASE_USERNAME="%%PORTNAME%%"
 BBB_DATABASE_PASSWORD=""
@@ -48,18 +51,18 @@
 BBB_CONFERENCE_TYPE=""
 
 # FreeSWITCH Event Socket Library (ESL)
-BBB_ESL_HOST="localhost"
+BBB_ESL_HOST=""
 BBB_ESL_PORT="8021"
 BBB_ESL_PASSWORD=""
 
 # Asterisk Management Interface (AMI)
-BBB_AMI_HOST="localhost"
+BBB_AMI_HOST=""
 BBB_AMI_PORT="5038"
 BBB_AMI_USERNAME="bbb"
 BBB_AMI_PASSWORD=""
 
 # SIP
-BBB_SIP_HOST="localhost"
+BBB_SIP_HOST=""
 BBB_SIP_PORT="5070"
 BBB_SIP_USERNAME="bbbuser"
 BBB_SIP_PASSWORD=""
@@ -68,8 +71,8 @@
 BBB_VAR_LIST="PREFIX WWWROOT WWWDIR \
 	RED5_HOME RED5_LOGS RED5_USER RED5_GROUP \
 	TOMCAT_HOME TOMCAT_LOGS TOMCAT_USER TOMCAT_GROUP \
-	ASTERISK_ETC NGINX_ETC BBB_HOSTNAME BBB_SALT \
-	BBB_SHAREDIR BBB_PRESENTATIONDIR BBB_INSTALL_CONF \
+	ASTERISK_ETC NGINX_ETC BBB_HOSTNAME BBB_IP_ADDRESS BBB_SALT \
+	BBB_SHAREDIR BBB_PRESENTATIONDIR BBB_SRV_LIST BBB_INSTALL_CONF \
 	BBB_DATABASE_TYPE BBB_DATABASE_HOST BBB_DATABASE_NAME BBB_DATABASE_URL \
 	BBB_DATABASE_DRIVER BBB_DATABASE_USERNAME BBB_DATABASE_PASSWORD \
 	BBB_CONFERENCE_MODULE BBB_CONFERENCE_TYPE \
@@ -86,6 +89,12 @@
 	Install initial configuration:
 	$SCRIPT install -h <hostname|ip address> -c <konference|meetme|freeswitch>
 
+	Start all BigBlueButton services:
+	$SCRIPT start
+
+	Stop all BigBlueButton services:
+	$SCRIPT stop
+
 	Restart all bbb services:
 	$SCRIPT restart
 
@@ -95,21 +104,30 @@
 }
 
 bbb_random() {
-	openssl rand -base64 $1 | sed -E 's|[^A-Za-z0-9]||g'
+	openssl rand -base64 48 | sed -E 's|[^A-Za-z0-9]||g' | cut -c 1-$1
 }
 
 bbb_install() {
+	CHECK_PKGS="swftools ImageMagick mysql-server activemq nginx tomcat"
+	CHECK_PKGS="$CHECK_PKGS red5"
 	CHECK_DIRS="RED5_HOME TOMCAT_HOME WWWROOT WWWDIR NGINX_ETC BBB_SHAREDIR"
 
 	case "$BBB_CONFERENCE_MODULE" in
 	konference|meetme)
+		CHECK_PKGS="$CHECK_PKGS asterisk"
 		CHECK_DIRS="$CHECK_DIRS ASTERISK_ETC"
 		;;
 	freeswitch)
+		CHECK_PKGS="$CHECK_PKGS freeswitch"
 		CHECK_DIRS="$CHECK_DIRS FREESWITCH_ETC"
 		;;
 	esac
 
+	for pkg in $CHECK_PKGS; do
+		echo -n "Check package $pkg: "
+		pkg_info -E ${pkg}\* || usage "$SCRIPT required $pkg package"
+	done
+
 	for var in $CHECK_DIRS; do
 		eval val=\$$var
 		echo -n "Check $var = '$val': "
@@ -126,6 +144,12 @@
 	BBB_ESL_PASSWORD="$(bbb_random 16)"
 	BBB_AMI_PASSWORD="$(bbb_random 16)"
 	BBB_SIP_PASSWORD="$(bbb_random 16)"
+	BBB_IP_ADDRESS="$(getent hosts "$BBB_HOSTNAME" | awk '{print $1}')"
+	BBB_DATABASE_HOST="$BBB_IP_ADDRESS"
+	BBB_DATABASE_URL="jdbc:$BBB_DATABASE_TYPE://$BBB_DATABASE_HOST/$BBB_DATABASE_NAME"
+	BBB_ESL_HOST="$BBB_IP_ADDRESS"
+	BBB_AMI_HOST="$BBB_IP_ADDRESS"
+	BBB_SIP_HOST="$BBB_IP_ADDRESS"
 
 	for var in $BBB_VAR_LIST; do
 		eval val=\$$var
@@ -136,13 +160,14 @@
 	mkdir -p /etc/rc.conf.d
 
 	echo "Configure activemq: rc.conf"
+	BBB_SRV_LIST="activemq"
 	cat >/etc/rc.conf.d/activemq <<-EOF
 	activemq_enable="YES"
 	EOF
 
 	echo -n "Configure $BBB_DATABASE_TYPE: drop/create/grant"
-	(/usr/local/etc/rc.d/mysql-server status || /usr/local/etc/rc.d/mysql-server start) >/dev/null 2>&1
-	mysql -h $BBB_DATABASE_HOST -u root >/dev/null <<-EOF
+	(/usr/local/etc/rc.d/mysql-server onestatus || /usr/local/etc/rc.d/mysql-server onestart) >/dev/null 2>&1
+	mysql -u root >/dev/null <<-EOF
 	drop database if exists $BBB_DATABASE_NAME;
 	create database $BBB_DATABASE_NAME;
 	grant all on $BBB_DATABASE_NAME.* to '$BBB_DATABASE_USERNAME'@'$BBB_DATABASE_HOST' identified by '$BBB_DATABASE_PASSWORD';
@@ -150,10 +175,13 @@
 	EOF
 
 	echo " rc.conf"
+	BBB_SRV_LIST="$BBB_SRV_LIST mysql-server"
 	cat >/etc/rc.conf.d/mysql <<-EOF
 	mysql_enable="YES"
 	EOF
 
+	/usr/local/etc/rc.d/mysql-server stop >/dev/null 2>&1
+
 	echo -n "Configure $BBB_CONFERENCE_TYPE:"
 	case "$BBB_CONFERENCE_MODULE" in
 	konference|meetme)
@@ -212,6 +240,7 @@
 			noload => app_konference.so
 			EOF
 
+			BBB_SRV_LIST="$BBB_SRV_LIST zaptel"
 			cat >/etc/rc.conf.d/zaptel <<-EOF
 			zaptel_enable="YES"
 			zaptel_kmod_load="zaptel.ko ztdummy.ko"
@@ -231,17 +260,50 @@
 		EOF
 
 		echo " rc.conf"
+		BBB_SRV_LIST="$BBB_SRV_LIST asterisk"
 		cat >/etc/rc.conf.d/asterisk <<-EOF
 		asterisk_enable="YES"
 		EOF
 		;;
 	freeswitch)
-		echo "Not implemented yet"
-		exit 1
+		cd $FREESWITCH_ETC
+		echo -n " backup"
+		mv conf conf$BACKUP
+
+		echo -n " extract"
+		(cd $BBB_SHAREDIR/freeswitch && tar cf - conf) | tar xf -
+		chown -R $FREESWITCH_USER:$FREESWITCH_GROUP conf
+		cd conf
+
+		echo -n " event_socket.conf.xml"
+		$INSTALL_CMD -m 0600 -o $FREESWITCH_USER -g $FREESWITCH_GROUP \
+			autoload_configs/event_socket.conf.xml-dist \
+			autoload_configs/event_socket.conf.xml
+		sed -i '' $BBB_REPLACE autoload_configs/event_socket.conf.xml
+
+		echo -n " acl.conf.xml"
+		$INSTALL_CMD -m 0600 -o $FREESWITCH_USER -g $FREESWITCH_GROUP \
+			autoload_configs/acl.conf.xml-dist \
+			autoload_configs/acl.conf.xml
+		sed -i '' $BBB_REPLACE autoload_configs/acl.conf.xml
+
+		echo -n " $BBB_SIP_USERNAME.xml"
+		$INSTALL_CMD -m 0600 -o $FREESWITCH_USER -g $FREESWITCH_GROUP \
+			directory/default/bbbuser.xml-dist \
+			directory/default/$BBB_SIP_USERNAME.xml
+		sed -i '' $BBB_REPLACE directory/default/$BBB_SIP_USERNAME.xml
+
+		echo " rc.conf"
+		BBB_SRV_LIST="$BBB_SRV_LIST freeswitch"
+		cat >/etc/rc.conf.d/freeswitch <<-EOF
+		freeswitch_enable="YES"
+		freeswitch_flags="-ncwait -waste -nonat"
+		EOF
 		;;
 	esac
 
 	echo "Configure openoffice: rc.conf"
+	BBB_SRV_LIST="$BBB_SRV_LIST openoffice"
 	cat >/etc/rc.conf.d/openoffice <<-EOF
 	openoffice_enable="YES"
 	EOF
@@ -269,35 +331,10 @@
 		WEB-INF/classes/log4j.properties
 
 	echo " rc.conf"
+	BBB_SRV_LIST="$BBB_SRV_LIST tomcat6"
 	cat >/etc/rc.conf.d/tomcat60 <<-EOF
 	tomcat60_enable="YES"
-	tomcat60_stop_timeout="60"
-	EOF
-
-	echo -n "Configure nginx:"
-	cd $NGINX_ETC
-	mkdir -p sites-available sites-enabled
-
-	echo -n " nginx.conf"
-	$INSTALL_CMD $BBB_SHAREDIR/nginx/nginx.conf-dist nginx.conf
-
-	echo -n " bigbluebutton.conf"
-	$INSTALL_CMD $BBB_SHAREDIR/nginx/nginx-bigbluebutton.conf-dist \
-		sites-available/bigbluebutton.conf
-	sed -i '' $BBB_REPLACE nginx.conf sites-available/bigbluebutton.conf
-	cd sites-enabled
-	rm -f bigbluebutton.conf
-	ln -s ../sites-available/bigbluebutton.conf \
-		bigbluebutton.conf
-	cd $WWWDIR/client/conf
-
-	echo -n " config.xml"
-	$INSTALL_CMD config.xml-dist config.xml
-	sed -i '' $BBB_REPLACE config.xml
-
-	echo " rc.conf"
-	cat >/etc/rc.conf.d/nginx <<-EOF
-	nginx_enable="YES"
+	tomcat60_stop_timeout="30"
 	EOF
 
 	echo -n "Configure red5:"
@@ -327,16 +364,44 @@
 	sed -i '' $BBB_REPLACE  bigbluebutton-sip.properties
 
 	echo " rc.conf"
+	BBB_SRV_LIST="$BBB_SRV_LIST red5"
 	RED5_RMI_PORT=$(awk -F= '/^jmx.rmi.port.registry/{print $2}' $RED5_HOME/conf/red5.properties)
 	RED5_RMI_USER=$(awk '/^[^#].+readwrite$/{print $1}' $RED5_HOME/conf/access.properties | head -1)
 	RED5_RMI_PASSWD=$(awk '/^'$RED5_RMI_USER'[\ \t]+/{print $2}' $RED5_HOME/conf/password.properties)
 	
 	cat >/etc/rc.conf.d/red5 <<-EOF
 	red5_enable="YES"
-	red5_stop_timeout="60"
+	red5_stop_timeout="30"
 	red5_stop_class_opts="$RED5_RMI_PORT $RED5_RMI_USER $RED5_RMI_PASSWD"
 	EOF
 
+	echo -n "Configure nginx:"
+	cd $NGINX_ETC
+	mkdir -p sites-available sites-enabled
+
+	echo -n " nginx.conf"
+	$INSTALL_CMD $BBB_SHAREDIR/nginx/nginx.conf-dist nginx.conf
+
+	echo -n " bigbluebutton.conf"
+	$INSTALL_CMD $BBB_SHAREDIR/nginx/nginx-bigbluebutton.conf-dist \
+		sites-available/bigbluebutton.conf
+	sed -i '' $BBB_REPLACE nginx.conf sites-available/bigbluebutton.conf
+	cd sites-enabled
+	rm -f bigbluebutton.conf
+	ln -s ../sites-available/bigbluebutton.conf \
+		bigbluebutton.conf
+	cd $WWWDIR/client/conf
+
+	echo -n " config.xml"
+	$INSTALL_CMD config.xml-dist config.xml
+	sed -i '' $BBB_REPLACE config.xml
+
+	echo " rc.conf"
+	BBB_SRV_LIST="$BBB_SRV_LIST nginx"
+	cat >/etc/rc.conf.d/nginx <<-EOF
+	nginx_enable="YES"
+	EOF
+
 	echo -n "Save config:"
 	$INSTALL_CMD -m 0600 /dev/null $BBB_INSTALL_CONF
 	cat >$BBB_INSTALL_CONF <<-EOF
@@ -348,35 +413,31 @@
 	for var in $BBB_VAR_LIST; do
 		eval val=\$$var
 		cat >>$BBB_INSTALL_CONF <<-EOF
-		$var=$val
+		$var="$val"
 		EOF
 	done
 	echo " $BBB_INSTALL_CONF"
 }
 
-bbb_restart() {
-	. $BBB_INSTALL_CONF
+bbb_start() {
+	for i in $BBB_SRV_LIST; do
+		$PREFIX/etc/rc.d/$i start || true
+	done
+}
 
-	$PREFIX/etc/rc.d/activemq restart
-	$PREFIX/etc/rc.d/mysql-server restart
-	case "$BBB_CONFERENCE_MODULE" in
-	meetme)
-		if ! kldstat -q -m ztdummy; then
-			$PREFIX/etc/rc.d/zaptel start >/dev/null 2>&1
-		fi
-		$PREFIX/etc/rc.d/asterisk restart
-		;;
-	konference)
-		$PREFIX/etc/rc.d/asterisk restart
-		;;
-	freeswitch)
-		$PREFIX/etc/rc.d/freeswitch restart
-		;;
-	esac
-	$PREFIX/etc/rc.d/openoffice restart
-	$PREFIX/etc/rc.d/tomcat6 restart
-	$PREFIX/etc/rc.d/red5 restart
-	$PREFIX/etc/rc.d/nginx restart
+bbb_stop() {
+	for i in $BBB_SRV_LIST; do
+		REVERSE_SRV_LIST="$i $REVERSE_SRV_LIST"
+	done
+
+	for i in $REVERSE_SRV_LIST; do
+		$PREFIX/etc/rc.d/$i stop || true
+	done
+}
+
+bbb_restart() {
+	bbb_stop
+	bbb_start
 }
 
 if [ "`/usr/bin/id -u`" != "0" ]; then
@@ -384,7 +445,7 @@
 fi
 
 if [ $# -eq 0 ]; then
-	bbb_usage "$SCRIPT <install|restart> [options]"
+	bbb_usage "$SCRIPT <install|start|stop|restart> [options]"
 fi
 
 BBB_ACTION="$1"
@@ -409,8 +470,8 @@
 	if [ -z "$BBB_HOSTNAME" ]; then
 		bbb_usage "Error: 'install' action required '-h' option"
 	else
-		if ! host "$BBB_HOSTNAME" >/dev/null 2>&1; then
-			bbb_usage "Error: hostname '$BBB_HOSTNAME' not found by host command"
+		if ! getent hosts "$BBB_HOSTNAME" >/dev/null 2>&1; then
+			bbb_usage "Error: hostname '$BBB_HOSTNAME' not found by getent command"
 		fi
 	fi
 
@@ -441,11 +502,18 @@
 	fi
 	bbb_install
 	;;
-restart)
-	if [ -n "$BBB_HOSTNAME" ]; then
-		bbb_usage "Error: 'restart' action do not allow any options"
+start|stop|restart)
+	if [ -n "$BBB_HOSTNAME" -o -n "$BBB_CONFERENCE_MODULE" ]; then
+		bbb_usage "Error: '$BBB_ACTION' action do not allow any options"
 	fi
-	bbb_restart
+
+	if [ -s "$BBB_INSTALL_CONF" ]; then
+		. $BBB_INSTALL_CONF
+	else
+		bbb_usage "Error: '$BBB_ACTION' action allow only after install"
+	fi
+
+	eval bbb_$BBB_ACTION
 	;;
 *)
 	bbb_usage "Error: '$BBB_ACTION' is not valid action"
diff -ur bigbluebutton.orig/files/openoffice.in bigbluebutton/files/openoffice.in
--- bigbluebutton.orig/files/openoffice.in	2011-01-09 22:10:41.000000000 +0000
+++ bigbluebutton/files/openoffice.in	2011-01-11 11:30:59.000000000 +0000
@@ -17,6 +17,8 @@
 #               Set it to required username.
 # openoffice_group (group):   Set to www by default.
 #               Set it to required group.
+# openoffice_home (string):   Set to /var/spool/%%PORTNAME%% by default.
+#               Set it to required dir.
 # openoffice_bin (string):    Set by default - see below.
 #               Set it to soffice.bin path.
 # openoffice_args (string):  Set by default - see below.
@@ -32,6 +34,7 @@
 : ${openoffice_enable:=NO}
 : ${openoffice_user:="www"}
 : ${openoffice_group:="www"}
+: ${openoffice_home:="/var/spool/%%PORTNAME%%"}
 : ${openoffice_bin:="%%SOFFICEBIN%%"}
 : ${openoffice_args:="-accept=socket,host=localhost,port=8100;urp -headless -nofirststartwizard"}
 
@@ -42,7 +45,8 @@
 
 openoffice_start() {
         echo "Starting ${name}."
-        /usr/sbin/daemon -f -p ${pidfile} -u ${openoffice_user} \
+        env HOME=${openoffice_home} /usr/sbin/daemon \
+		-f -p ${pidfile} -u ${openoffice_user} \
 		${openoffice_bin} ${openoffice_args}
 }
 
diff -ur bigbluebutton.orig/files/pkg-message.in bigbluebutton/files/pkg-message.in
--- bigbluebutton.orig/files/pkg-message.in	2011-01-09 22:10:41.000000000 +0000
+++ bigbluebutton/files/pkg-message.in	2011-01-11 11:31:26.000000000 +0000
@@ -1,15 +1,19 @@
-==========================================================================
+===============================================================================
 
 BigBlueButon is now installed. If you install it for the first time,
 you may need to perform the following steps:
 
-1. Configure your BigBlueButon with command:
+1. Check /etc/hosts or DNS for your BigBlueButon server hostname resolution:
+
+% getent hosts bbb-hostname
+
+2. Configure your BigBlueButon server with command:
 
 # bbb-config install -h <hostname|ip address> -c <konference|meetme|freeswitch>
 
 2. Start your BigBlueButon with command:
 
-# bbb-config restart
+# bbb-config start
 
 3. Open http://<hostname|ip address> in your web browser.
 
@@ -27,4 +31,4 @@
 http://code.google.com/p/bigbluebutton/wiki/ConfigurationFiles
 http://code.google.com/p/bigbluebutton/wiki/FAQ
 
-==========================================================================
+===============================================================================
diff -ur bigbluebutton.orig/pkg-plist bigbluebutton/pkg-plist
--- bigbluebutton.orig/pkg-plist	2011-01-09 22:10:39.000000000 +0000
+++ bigbluebutton/pkg-plist	2011-01-11 11:24:30.000000000 +0000
@@ -1530,7 +1530,6 @@
 @dirrmtry %%WWWDIR%%/client/org
 @dirrmtry %%WWWDIR%%/client/swfobject
 @dirrmtry %%WWWDIR%%/client
-@dirrmtry %%WWWDIR%%
 @dirrmtry %%RED5_HOME%%/webapps/deskshare/META-INF
 @dirrmtry %%RED5_HOME%%/webapps/deskshare/WEB-INF/lib
 @dirrmtry %%RED5_HOME%%/webapps/deskshare/WEB-INF/classes/org/bigbluebutton/deskshare/server/socket


>Release-Note:
>Audit-Trail:
Responsible-Changed-From-To: freebsd-ports-bugs->wen 
Responsible-Changed-By: wen 
Responsible-Changed-When: Thu Jan 13 00:40:33 UTC 2011 
Responsible-Changed-Why:  
I'll take it. 

http://www.freebsd.org/cgi/query-pr.cgi?pr=153923 

From: wen heping <wenheping@gmail.com>
To: bug-followup@FreeBSD.org, alex.deiter@gmail.com
Cc:  
Subject: Re: ports/153923: [PATCH] update www/bigbluebutton
Date: Fri, 14 Jan 2011 14:59:53 +0800

 Hi,
 
    Two problems:
 
     1 s/JAR/TAR/Makefile ?
 
     2 why remove "@dirrmtry %%WWWDIR%%" from plist ?
 It will result in plist error.
 
 
 
 wen

From: Alex Deiter <alex.deiter@gmail.com>
To: wen heping <wenheping@gmail.com>
Cc: bug-followup@FreeBSD.org
Subject: Re: ports/153923: [PATCH] update www/bigbluebutton
Date: Fri, 14 Jan 2011 10:24:27 +0300

 Hi,
 
 1. No:
 
 x4150b# cd /usr/ports/www/bigbluebutton
 x4150b# grep -A 1 JAR Makefile
 	@cd ${WRKDIR}/bigbluebutton-tomcat && ${JAR} xf \
 		${WRKDIR}/bigbluebutton.war
 
 war file - http://en.wikipedia.org/wiki/WAR_%28Sun_file_format%29
 
 WAR file (or Web application ARchive[1]) is a JAR file used to 
 distribute a collection of JavaServer Pages, servlets, Java classes, XML 
 files, tag libraries and static Web pages (HTML and related files) that 
 together constitute a Web application.
 
 2. I'm sorry. "@dirrmtry %%WWWDIR%%" must be in plist.
 
 Thanks a lot!
 
 14.01.2011 09:59, wen heping пишет:
 > Hi,
 >
 >     Two problems:
 >
 >      1 s/JAR/TAR/Makefile ?
 >
 >      2 why remove "@dirrmtry %%WWWDIR%%" from plist ?
 > It will result in plist error.
 >
 >
 >
 > wen

From: wen heping <wenheping@gmail.com>
To: Alex Deiter <alex.deiter@gmail.com>
Cc: bug-followup@freebsd.org
Subject: Re: ports/153923: [PATCH] update www/bigbluebutton
Date: Fri, 14 Jan 2011 17:08:46 +0800

 2011/1/14 Alex Deiter <alex.deiter@gmail.com>:
 > Hi,
 >
 > 1. No:
 >
 > x4150b# cd /usr/ports/www/bigbluebutton
 > x4150b# grep -A 1 JAR Makefile
 > =C2=A0 =C2=A0 =C2=A0 =C2=A0@cd ${WRKDIR}/bigbluebutton-tomcat && ${JAR} x=
 f \
 > =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0${WRKDIR}/bigblueb=
 utton.war
 
 Here is in the "make extract" phase when diablo-java was not added to
 the system,
 so it will result in build error when build on the tinderbox:
 http://wen.freebsd.your.org/tb/errors/7.3-FreeBSD/bigbluebutton-0.71_1.log
 
 Also it could build on my physical box , better we fix it.
 
 Maybe add a EXTRACT_DEPENDS ?
 
 
 wen
 
 
 
 >
 > war file - http://en.wikipedia.org/wiki/WAR_%28Sun_file_format%29
 >
 > WAR file (or Web application ARchive[1]) is a JAR file used to distribute=
  a
 > collection of JavaServer Pages, servlets, Java classes, XML files, tag
 > libraries and static Web pages (HTML and related files) that together
 > constitute a Web application.
 >
 > 2. I'm sorry. "@dirrmtry %%WWWDIR%%" must be in plist.
 >
 > Thanks a lot!
 >
 > 14.01.2011 09:59, wen heping =D0=BF=D0=B8=D1=88=D0=B5=D1=82:
 >>
 >> Hi,
 >>
 >> =C2=A0 =C2=A0Two problems:
 >>
 >> =C2=A0 =C2=A0 1 s/JAR/TAR/Makefile ?
 >>
 >> =C2=A0 =C2=A0 2 why remove "@dirrmtry %%WWWDIR%%" from plist ?
 >> It will result in plist error.
 >>
 >>
 >>
 >> wen
 >
 
 
 
 --=20
 =E7=9C=9F=E7=90=86=E4=BB=8E=E6=9D=A5=E6=B2=A1=E6=9C=89=E6=88=98=E8=83=9C=E8=
 =BF=87=E8=B0=AC=E8=AF=AF=EF=BC=8C=E7=9C=9F=E7=90=86=E5=8F=AA=E6=9C=89=E5=9C=
 =A8=E5=9D=9A=E6=8C=81=E8=B0=AC=E8=AF=AF=E7=9A=84=E4=BA=BA=E6=AD=BB=E5=8E=BB=
 =E5=90=8E=E6=89=8D=E6=88=90=E4=B8=BA=E7=9C=9F=E7=90=86=E3=80=82

From: Alex Deiter <alex.deiter@gmail.com>
To: wen heping <wenheping@gmail.com>
Cc: bug-followup@freebsd.org
Subject: Re: ports/153923: [PATCH] update www/bigbluebutton
Date: Fri, 14 Jan 2011 17:21:31 +0300

 This is a multi-part message in MIME format.
 --------------050200030606040700000105
 Content-Type: text/plain; charset=UTF-8; format=flowed
 Content-Transfer-Encoding: 8bit
 
 Hi,
 
 Thank you for update!
 I found solution:
 
 JAVA_EXTRACT=   yes
 
 /usr/ports/Mk/bsd.java.mk:.		if defined(JAVA_EXTRACT)
 /usr/ports/Mk/bsd.java.mk-EXTRACT_DEPENDS+=	${DEPEND_JAVA}
 
 
 New patch attached:
 
 +@dirrmtry %%WWWDIR%%
 +JAVA_EXTRACT=   yes
 
 Thanks!
 
 14.01.2011 12:08, wen heping пишет:
 > 2011/1/14 Alex Deiter<alex.deiter@gmail.com>:
 >> Hi,
 >>
 >> 1. No:
 >>
 >> x4150b# cd /usr/ports/www/bigbluebutton
 >> x4150b# grep -A 1 JAR Makefile
 >>         @cd ${WRKDIR}/bigbluebutton-tomcat&&  ${JAR} xf \
 >>                 ${WRKDIR}/bigbluebutton.war
 >
 > Here is in the "make extract" phase when diablo-java was not added to
 > the system,
 > so it will result in build error when build on the tinderbox:
 > http://wen.freebsd.your.org/tb/errors/7.3-FreeBSD/bigbluebutton-0.71_1.log
 >
 > Also it could build on my physical box , better we fix it.
 >
 > Maybe add a EXTRACT_DEPENDS ?
 >
 >
 > wen
 >
 >
 >
 >>
 >> war file - http://en.wikipedia.org/wiki/WAR_%28Sun_file_format%29
 >>
 >> WAR file (or Web application ARchive[1]) is a JAR file used to distribute a
 >> collection of JavaServer Pages, servlets, Java classes, XML files, tag
 >> libraries and static Web pages (HTML and related files) that together
 >> constitute a Web application.
 >>
 >> 2. I'm sorry. "@dirrmtry %%WWWDIR%%" must be in plist.
 >>
 >> Thanks a lot!
 >>
 >> 14.01.2011 09:59, wen heping пишет:
 >>>
 >>> Hi,
 >>>
 >>>     Two problems:
 >>>
 >>>      1 s/JAR/TAR/Makefile ?
 >>>
 >>>      2 why remove "@dirrmtry %%WWWDIR%%" from plist ?
 >>> It will result in plist error.
 >>>
 >>>
 >>>
 >>> wen
 >>
 >
 >
 >
 
 --------------050200030606040700000105
 Content-Type: text/plain;
  name="bigbluebutton-patch.txt"
 Content-Transfer-Encoding: base64
 Content-Disposition: attachment;
  filename="bigbluebutton-patch.txt"
 
 ZGlmZiAtdXIgYmlnYmx1ZWJ1dHRvbi5vcmlnL01ha2VmaWxlIGJpZ2JsdWVidXR0b24vTWFr
 ZWZpbGUKLS0tIGJpZ2JsdWVidXR0b24ub3JpZy9NYWtlZmlsZQkyMDExLTAxLTA5IDIyOjEw
 OjM5LjAwMDAwMDAwMCArMDAwMAorKysgYmlnYmx1ZWJ1dHRvbi9NYWtlZmlsZQkyMDExLTAx
 LTE0IDE0OjEyOjE0LjAwMDAwMDAwMCArMDAwMApAQCAtNSw3OCArNSw3NyBAQAogIyAkRnJl
 ZUJTRDogcG9ydHMvd3d3L2JpZ2JsdWVidXR0b24vTWFrZWZpbGUsdiAxLjEgMjAxMS8wMS8w
 OSAyMjoxMDozOSBqcGFldHplbCBFeHAgJAogIwogCi1QT1JUTkFNRT0JCWJpZ2JsdWVidXR0
 b24KLVBPUlRWRVJTSU9OPQkJMC43MQotQ0FURUdPUklFUz0JCXd3dyBqYXZhCi1NQVNURVJf
 U0lURVM9CQlodHRwOi8vYmlnYmx1ZWJ1dHRvbi5vcmcvZG93bmxvYWRzLyVTVUJESVIlLwot
 TUFTVEVSX1NJVEVfU1VCRElSPQkke1BPUlRWRVJTSU9OfSAke1BPUlRWRVJTSU9OfS9wYWNr
 YWdlcyAwLjcwIDAuNjQvYmxhbmsKLURJU1RGSUxFUz0JCWJiYl9leHRlbnNpb25zLmNvbmYg
 YmJiX3NpcC5jb25mIGJsYW5rLXNsaWRlLnN3ZiBcCi0JCQlibGFuay10aHVtYi5wbmcgbmdp
 bngtYmlnYmx1ZWJ1dHRvbi5jb25mIFwKLQkJCSR7RVhUUkFDVF9GSUxFU30KLUVYVFJBQ1Rf
 T05MWT0JCSR7RVhUUkFDVF9GSUxFU30KLQotTUFJTlRBSU5FUj0JCWFsZXguZGVpdGVyQGdt
 YWlsLmNvbQotQ09NTUVOVD0JCVdlYiBjb25mZXJlbmNpbmcgc3lzdGVtIGZvciBkaXN0YW5j
 ZSBlZHVjYXRpb24KLQotQlVJTERfREVQRU5EUz0JCSR7TE9DQUxCQVNFfS9iaW4vcGRmMnN3
 Zjoke1BPUlRTRElSfS9ncmFwaGljcy9zd2Z0b29scyBcCi0JCQkke0xPQ0FMQkFTRX0vYmlu
 L2NvbnZlcnQ6JHtQT1JUU0RJUn0vZ3JhcGhpY3MvSW1hZ2VNYWdpY2sgXAotCQkJJHtMT0NB
 TEJBU0V9L2V0Yy9yYy5kL2FjdGl2ZW1xOiR7UE9SVFNESVJ9L25ldC9hY3RpdmVtcSBcCi0J
 CQkke0xPQ0FMQkFTRX0vc2Jpbi9uZ2lueDoke1BPUlRTRElSfS93d3cvbmdpbnggXAotCQkJ
 JHtMT0NBTEJBU0V9L2V0Yy9yYy5kL3RvbWNhdDY6JHtQT1JUU0RJUn0vd3d3L3RvbWNhdDYg
 XAotCQkJJHtMT0NBTEJBU0V9L2V0Yy9yYy5kL3JlZDU6JHtQT1JUU0RJUn0vd3d3L3JlZDUK
 LVJVTl9ERVBFTkRTPQkJJHtCVUlMRF9ERVBFTkRTfQotCi1FWFRSQUNUX0ZJTEVTPQkJYmln
 Ymx1ZWJ1dHRvbi50YXIuZ3ogZnJlZXN3aXRjaC1jb25maWcudGFyLmd6IFwKLQkJCXJlZDUt
 MC45LjEudGFyLmd6Ci0KLVVTRV9ET1MyVU5JWD0JCXllcwotRE9TMlVOSVhfUkVHRVg9CQku
 K1wuKGNvbmZ8anNwfHByb3BlcnRpZXN8eG1sKSQKLQotVVNFX0pBVkE9CQl5ZXMKLUpBVkFf
 VkVSU0lPTj0JCTEuNSsKLUpBVkFfRVhUUkFDVD0JCXllcwotVVNFX01ZU1FMPQkJeWVzCi1O
 T19CVUlMRD0JCXllcwotTk9fV1JLU1VCRElSPQkJeWVzCi1ESVNUX1NVQkRJUj0JCSR7UE9S
 VE5BTUV9Ci1VU0VfUkNfU1VCUj0gICAgCW9wZW5vZmZpY2UKLVNPRkZJQ0VCSU4/PQkJJHtQ
 UkVGSVh9L29wZW5vZmZpY2Uub3JnLTMuMi4xL29wZW5vZmZpY2Uub3JnMy9wcm9ncmFtL3Nv
 ZmZpY2UuYmluCi1SRUQ1X0hPTUU/PQkJJHtQUkVGSVh9L3JlZDUKLVJFRDVfSE9NRV9SRUw9
 CQkke1JFRDVfSE9NRTpTLF4ke1BSRUZJWH0vLCx9Ci1SRUQ1X0xPR1M/PQkJJHtSRUQ1X0hP
 TUV9L2xvZwotUkVENV9VU0VSPz0JCXd3dwotUkVENV9HUk9VUD89CQkke1JFRDVfVVNFUn0K
 LVRPTUNBVF9IT01FPz0JCSR7UFJFRklYfS9hcGFjaGUtdG9tY2F0LTYuMAotVE9NQ0FUX0hP
 TUVfUkVMPQkke1RPTUNBVF9IT01FOlMsXiR7UFJFRklYfS8sLH0KLVRPTUNBVF9MT0dTPz0J
 CSR7VE9NQ0FUX0hPTUV9L2xvZ3MKLVRPTUNBVF9VU0VSPz0JCXd3dwotVE9NQ0FUX0dST1VQ
 Pz0JCSR7VE9NQ0FUX1VTRVJ9Ci1XV1dST09UPz0JCSR7V1dXRElSOlN8LyR7UE9SVE5BTUV9
 JHx8fQotV1dXUk9PVF9SRUw9CQkke1dXV1JPT1Q6UyxeJHtQUkVGSVh9LywsfQotCi1PUFRJ
 T05TPQkJTUVFVE1FICJtZWV0bWUgQXN0ZXJpc2sgbW9kdWxlIiBvZmYgXAotCQkJS09ORkVS
 RU5DRSAia29uZmVyZW5jZSBBc3RlcmlzayBtb2R1bGUiIG9uIFwKLQkJCUZSRUVTV0lUQ0gg
 Im1vZF9jb25mZXJlbmNlIEZyZWVTV0lUQ0ggbW9kdWxlIiBvZmYgXAotCQkJT1BFTk9GRklD
 RSAiSW5jbHVkZSBPcGVuT2ZmaWNlIHN1cHBvcnQiIG9mZgotCi1QTElTVF9TVUIrPQkJUkVE
 NV9IT01FPSR7UkVENV9IT01FX1JFTH0gXAotCQkJVE9NQ0FUX0hPTUU9JHtUT01DQVRfSE9N
 RV9SRUx9IFwKLQkJCVdXV1JPT1Q9JHtXV1dST09UX1JFTH0KLQotU1VCX0xJU1QrPQkJUE9S
 VE5BTUU9JHtQT1JUTkFNRX0gXAotCQkJU09GRklDRUJJTj0ke1NPRkZJQ0VCSU59IFwKLQkJ
 CVJFRDVfSE9NRT0ke1JFRDVfSE9NRX0gXAotCQkJUkVENV9MT0dTPSR7UkVENV9MT0dTfSBc
 Ci0JCQlSRUQ1X1VTRVI9JHtSRUQ1X1VTRVJ9IFwKLQkJCVJFRDVfR1JPVVA9JHtSRUQ1X0dS
 T1VQfSBcCi0JCQlUT01DQVRfSE9NRT0ke1RPTUNBVF9IT01FfSBcCi0JCQlUT01DQVRfTE9H
 Uz0ke1RPTUNBVF9MT0dTfSBcCi0JCQlUT01DQVRfVVNFUj0ke1RPTUNBVF9VU0VSfSBcCi0J
 CQlUT01DQVRfR1JPVVA9JHtUT01DQVRfR1JPVVB9IFwKLQkJCVdXV1JPT1Q9JHtXV1dST09U
 fSBcCi0JCQlXV1dESVI9JHtXV1dESVJ9CitQT1JUTkFNRT0JYmlnYmx1ZWJ1dHRvbgorUE9S
 VFZFUlNJT049CTAuNzEKK1BPUlRSRVZJU0lPTj0JMQorQ0FURUdPUklFUz0Jd3d3IGphdmEK
 K01BU1RFUl9TSVRFUz0JaHR0cDovL2JpZ2JsdWVidXR0b24ub3JnL2Rvd25sb2Fkcy8ke1BP
 UlRWRVJTSU9OfS8gXAorCQlodHRwOi8vYmlnYmx1ZWJ1dHRvbi5vcmcvZG93bmxvYWRzLzAu
 NzAvOjIgXAorCQlodHRwOi8vYmlnYmx1ZWJ1dHRvbi5vcmcvZG93bmxvYWRzLzAuNjQvYmxh
 bmsvOjMKK0RJU1RGSUxFUz0JYmlnYmx1ZWJ1dHRvbi50YXIuZ3ogZnJlZXN3aXRjaC1jb25m
 aWcudGFyLmd6IFwKKwkJbmdpbngtYmlnYmx1ZWJ1dHRvbi5jb25mIGJiYl9leHRlbnNpb25z
 LmNvbmY6MiBcCisJCWJiYl9zaXAuY29uZjoyIHJlZDUtMC45LjEudGFyLmd6OjIgXAorCQli
 bGFuay1zbGlkZS5zd2Y6MyBibGFuay10aHVtYi5wbmc6MworRVhUUkFDVF9PTkxZPQliaWdi
 bHVlYnV0dG9uLnRhci5neiByZWQ1LTAuOS4xLnRhci5neiBmcmVlc3dpdGNoLWNvbmZpZy50
 YXIuZ3oKKworTUFJTlRBSU5FUj0JYWxleC5kZWl0ZXJAZ21haWwuY29tCitDT01NRU5UPQlX
 ZWIgY29uZmVyZW5jaW5nIHN5c3RlbSBmb3IgZGlzdGFuY2UgZWR1Y2F0aW9uCisKK0JVSUxE
 X0RFUEVORFM9CSR7TE9DQUxCQVNFfS9iaW4vcGRmMnN3Zjoke1BPUlRTRElSfS9ncmFwaGlj
 cy9zd2Z0b29scyBcCisJCSR7TE9DQUxCQVNFfS9iaW4vY29udmVydDoke1BPUlRTRElSfS9n
 cmFwaGljcy9JbWFnZU1hZ2ljayBcCisJCSR7TE9DQUxCQVNFfS9ldGMvcmMuZC9hY3RpdmVt
 cToke1BPUlRTRElSfS9uZXQvYWN0aXZlbXEgXAorCQkke0xPQ0FMQkFTRX0vc2Jpbi9uZ2lu
 eDoke1BPUlRTRElSfS93d3cvbmdpbnggXAorCQkke0xPQ0FMQkFTRX0vZXRjL3JjLmQvdG9t
 Y2F0Njoke1BPUlRTRElSfS93d3cvdG9tY2F0NiBcCisJCSR7TE9DQUxCQVNFfS9ldGMvcmMu
 ZC9yZWQ1OiR7UE9SVFNESVJ9L3d3dy9yZWQ1CitSVU5fREVQRU5EUz0JJHtCVUlMRF9ERVBF
 TkRTfQorCitVU0VfRE9TMlVOSVg9CXllcworRE9TMlVOSVhfUkVHRVg9CS4rXC4oY29uZnxq
 c3B8cHJvcGVydGllc3x4bWwpJAorCitVU0VfSkFWQT0JeWVzCitKQVZBX0VYVFJBQ1Q9CXll
 cworTk9fQlVJTEQ9CXllcworTk9fV1JLU1VCRElSPQl5ZXMKK0RJU1RfU1VCRElSPQkke1BP
 UlROQU1FfQorVVNFX1JDX1NVQlI9ICAgCW9wZW5vZmZpY2UKK1NPRkZJQ0VCSU4/PQkke1BS
 RUZJWH0vb3Blbm9mZmljZS5vcmctMy4yLjEvb3Blbm9mZmljZS5vcmczL3Byb2dyYW0vc29m
 ZmljZS5iaW4KK1JFRDVfSE9NRT89CSR7UFJFRklYfS9yZWQ1CitSRUQ1X0xPR1M/PQkke1JF
 RDVfSE9NRX0vbG9nCitSRUQ1X1VTRVI/PQl3d3cKK1JFRDVfR1JPVVA/PQkke1JFRDVfVVNF
 Un0KK1RPTUNBVF9IT01FPz0JJHtQUkVGSVh9L2FwYWNoZS10b21jYXQtNi4wCitUT01DQVRf
 TE9HUz89CSR7VE9NQ0FUX0hPTUV9L2xvZ3MKK1RPTUNBVF9VU0VSPz0Jd3d3CitUT01DQVRf
 R1JPVVA/PQkke1RPTUNBVF9VU0VSfQorRlNfVVNFUj89CWZyZWVzd2l0Y2gKK0ZTX0dST1VQ
 Pz0JJHtGU19VU0VSfQorV1dXUk9PVD89CSR7V1dXRElSOlN8LyR7UE9SVE5BTUV9JHx8fQor
 CitPUFRJT05TPQlNRUVUTUUgIm1lZXRtZSBBc3RlcmlzayBtb2R1bGUiIG9mZiBcCisJCUtP
 TkZFUkVOQ0UgImtvbmZlcmVuY2UgQXN0ZXJpc2sgbW9kdWxlIiBvbiBcCisJCUZSRUVTV0lU
 Q0ggIm1vZF9jb25mZXJlbmNlIEZyZWVTV0lUQ0ggbW9kdWxlIiBvZmYgXAorCQlPUEVOT0ZG
 SUNFICJJbmNsdWRlIE9wZW5PZmZpY2Ugc3VwcG9ydCIgb2ZmCisKK1BMSVNUX1NVQis9CVJF
 RDVfSE9NRT0ke1JFRDVfSE9NRTpTLF4ke1BSRUZJWH0vLCx9IFwKKwkJVE9NQ0FUX0hPTUU9
 JHtUT01DQVRfSE9NRTpTLF4ke1BSRUZJWH0vLCx9IFwKKwkJV1dXUk9PVD0ke1dXV1JPT1Q6
 UyxeJHtQUkVGSVh9LywsfQorCitTVUJfTElTVCs9CVBPUlROQU1FPSR7UE9SVE5BTUV9IFwK
 KwkJU09GRklDRUJJTj0ke1NPRkZJQ0VCSU59IFwKKwkJUkVENV9IT01FPSR7UkVENV9IT01F
 fSBcCisJCVJFRDVfTE9HUz0ke1JFRDVfTE9HU30gXAorCQlSRUQ1X1VTRVI9JHtSRUQ1X1VT
 RVJ9IFwKKwkJUkVENV9HUk9VUD0ke1JFRDVfR1JPVVB9IFwKKwkJVE9NQ0FUX0hPTUU9JHtU
 T01DQVRfSE9NRX0gXAorCQlUT01DQVRfTE9HUz0ke1RPTUNBVF9MT0dTfSBcCisJCVRPTUNB
 VF9VU0VSPSR7VE9NQ0FUX1VTRVJ9IFwKKwkJVE9NQ0FUX0dST1VQPSR7VE9NQ0FUX0dST1VQ
 fSBcCisJCUZSRUVTV0lUQ0hfVVNFUj0ke0ZTX1VTRVJ9IFwKKwkJRlJFRVNXSVRDSF9HUk9V
 UD0ke0ZTX0dST1VQfSBcCisJCVdXV1JPT1Q9JHtXV1dST09UfSBcCisJCVdXV0RJUj0ke1dX
 V0RJUn0KIAotU1VCX0ZJTEVTPQkJcGtnLW1lc3NhZ2Ugb3Blbm9mZmljZSBuZ2lueC5jb25m
 LWRpc3QgYmJiLWNvbmYKK1NVQl9GSUxFUz0JcGtnLW1lc3NhZ2Ugb3Blbm9mZmljZSBuZ2lu
 eC5jb25mLWRpc3QgYmJiLWNvbmYKIAogLmluY2x1ZGUgPGJzZC5wb3J0LnByZS5taz4KIApk
 aWZmIC11ciBiaWdibHVlYnV0dG9uLm9yaWcvZGlzdGluZm8gYmlnYmx1ZWJ1dHRvbi9kaXN0
 aW5mbwotLS0gYmlnYmx1ZWJ1dHRvbi5vcmlnL2Rpc3RpbmZvCTIwMTEtMDEtMDkgMjI6MTA6
 MzkuMDAwMDAwMDAwICswMDAwCisrKyBiaWdibHVlYnV0dG9uL2Rpc3RpbmZvCTIwMTEtMDEt
 MTQgMTQ6MDY6NTEuMDAwMDAwMDAwICswMDAwCkBAIC0xLDE2ICsxLDE2IEBACitTSEEyNTYg
 KGJpZ2JsdWVidXR0b24vYmlnYmx1ZWJ1dHRvbi50YXIuZ3opID0gYjA1ZDhiZGRjZjgwYzkx
 MDViZWYzYjg1YjgwZjk2NjdmNjMwODJiM2E1MzQ2YjRkMDlkZGQwMTdiZmQzNzY2ZQorU0la
 RSAoYmlnYmx1ZWJ1dHRvbi9iaWdibHVlYnV0dG9uLnRhci5neikgPSA1NDgyNTY0MgorU0hB
 MjU2IChiaWdibHVlYnV0dG9uL2ZyZWVzd2l0Y2gtY29uZmlnLnRhci5neikgPSA0ZDVlNjY5
 MWZiYzc2MGJiZjM1NDBjZDE4NzFhYTc0YjgyNGYyODBlYmM3ODUzZDA3YTBkMWRjYTg3OGY3
 ZjVmCitTSVpFIChiaWdibHVlYnV0dG9uL2ZyZWVzd2l0Y2gtY29uZmlnLnRhci5neikgPSA0
 ODk1NQorU0hBMjU2IChiaWdibHVlYnV0dG9uL25naW54LWJpZ2JsdWVidXR0b24uY29uZikg
 PSAzNjU5M2U4NDZjZjFjNmFiY2ZjZjVhNzI5NWUzMzYzN2ZlYTAxN2I0NjAyMzBjY2VjMTRh
 ZjEwMzI4MDZlMDQ0CitTSVpFIChiaWdibHVlYnV0dG9uL25naW54LWJpZ2JsdWVidXR0b24u
 Y29uZikgPSAzMDEyCiBTSEEyNTYgKGJpZ2JsdWVidXR0b24vYmJiX2V4dGVuc2lvbnMuY29u
 ZikgPSA3ZjFhZmFkNzE5NjIxMGY5MjY5ODlmZTA4ZjI0MTRjYTU3MGY0Yjk3YzZhZDEwZDIy
 MjM2ZDQxMWYzYjdjNmQ3CiBTSVpFIChiaWdibHVlYnV0dG9uL2JiYl9leHRlbnNpb25zLmNv
 bmYpID0gMTc4OAogU0hBMjU2IChiaWdibHVlYnV0dG9uL2JiYl9zaXAuY29uZikgPSA5MjQ5
 MjVmOTA5Y2I3NTM2MjNhYmY4MjAwNmY4Y2I4YWNiNTVjMzAyNGI0NzU0NGQyMmNhNmZhMDE1
 MjUwODFiCiBTSVpFIChiaWdibHVlYnV0dG9uL2JiYl9zaXAuY29uZikgPSAxNDIKK1NIQTI1
 NiAoYmlnYmx1ZWJ1dHRvbi9yZWQ1LTAuOS4xLnRhci5neikgPSBhZmQwZGI0ZjhkZmNkYTcx
 YzVhNGQ2OGRkMjQ4ODc3NGUwMTNlN2FhNjhmMWJiM2JmOTAxNTUwYWZkM2ZmYmVkCitTSVpF
 IChiaWdibHVlYnV0dG9uL3JlZDUtMC45LjEudGFyLmd6KSA9IDg2NzEyMzIwCiBTSEEyNTYg
 KGJpZ2JsdWVidXR0b24vYmxhbmstc2xpZGUuc3dmKSA9IDczMzhlYzRmOTgwMzBiMmRhNDA1
 MWNkNjFiZTlmM2QwZTY5NjRkZTEwZjNmZDhlN2UyMTQ2MGI0MDEzODI5NjQKIFNJWkUgKGJp
 Z2JsdWVidXR0b24vYmxhbmstc2xpZGUuc3dmKSA9IDIyMwogU0hBMjU2IChiaWdibHVlYnV0
 dG9uL2JsYW5rLXRodW1iLnBuZykgPSBjM2M1NjRlOTAyM2U3ZGU2MDhhZGQ5MjRmNzUyZjc1
 YjI4MjUxYTViODQ2OGQyOTgxNjY1OTkzZmI5MDUzY2ZhCiBTSVpFIChiaWdibHVlYnV0dG9u
 L2JsYW5rLXRodW1iLnBuZykgPSA5ODMKLVNIQTI1NiAoYmlnYmx1ZWJ1dHRvbi9uZ2lueC1i
 aWdibHVlYnV0dG9uLmNvbmYpID0gMzY1OTNlODQ2Y2YxYzZhYmNmY2Y1YTcyOTVlMzM2Mzdm
 ZWEwMTdiNDYwMjMwY2NlYzE0YWYxMDMyODA2ZTA0NAotU0laRSAoYmlnYmx1ZWJ1dHRvbi9u
 Z2lueC1iaWdibHVlYnV0dG9uLmNvbmYpID0gMzAxMgotU0hBMjU2IChiaWdibHVlYnV0dG9u
 L2JpZ2JsdWVidXR0b24udGFyLmd6KSA9IGIwNWQ4YmRkY2Y4MGM5MTA1YmVmM2I4NWI4MGY5
 NjY3ZjYzMDgyYjNhNTM0NmI0ZDA5ZGRkMDE3YmZkMzc2NmUKLVNJWkUgKGJpZ2JsdWVidXR0
 b24vYmlnYmx1ZWJ1dHRvbi50YXIuZ3opID0gNTQ4MjU2NDIKLVNIQTI1NiAoYmlnYmx1ZWJ1
 dHRvbi9mcmVlc3dpdGNoLWNvbmZpZy50YXIuZ3opID0gNGQ1ZTY2OTFmYmM3NjBiYmYzNTQw
 Y2QxODcxYWE3NGI4MjRmMjgwZWJjNzg1M2QwN2EwZDFkY2E4NzhmN2Y1ZgotU0laRSAoYmln
 Ymx1ZWJ1dHRvbi9mcmVlc3dpdGNoLWNvbmZpZy50YXIuZ3opID0gNDg5NTUKLVNIQTI1NiAo
 YmlnYmx1ZWJ1dHRvbi9yZWQ1LTAuOS4xLnRhci5neikgPSBhZmQwZGI0ZjhkZmNkYTcxYzVh
 NGQ2OGRkMjQ4ODc3NGUwMTNlN2FhNjhmMWJiM2JmOTAxNTUwYWZkM2ZmYmVkCi1TSVpFIChi
 aWdibHVlYnV0dG9uL3JlZDUtMC45LjEudGFyLmd6KSA9IDg2NzEyMzIwCmRpZmYgLXVyIGJp
 Z2JsdWVidXR0b24ub3JpZy9maWxlcy9iYmItY29uZi5pbiBiaWdibHVlYnV0dG9uL2ZpbGVz
 L2JiYi1jb25mLmluCi0tLSBiaWdibHVlYnV0dG9uLm9yaWcvZmlsZXMvYmJiLWNvbmYuaW4J
 MjAxMS0wMS0wOSAyMjoxMDo0MC4wMDAwMDAwMDAgKzAwMDAKKysrIGJpZ2JsdWVidXR0b24v
 ZmlsZXMvYmJiLWNvbmYuaW4JMjAxMS0wMS0xNCAxNDowNjo1MS4wMDAwMDAwMDAgKzAwMDAK
 QEAgLTE3LDYgKzE3LDggQEAKIFRPTUNBVF9MT0dTPSIlJVRPTUNBVF9MT0dTJSUiCiBUT01D
 QVRfVVNFUj0iJSVUT01DQVRfVVNFUiUlIgogVE9NQ0FUX0dST1VQPSIlJVRPTUNBVF9HUk9V
 UCUlIgorRlJFRVNXSVRDSF9VU0VSPSIlJUZSRUVTV0lUQ0hfVVNFUiUlIgorRlJFRVNXSVRD
 SF9HUk9VUD0iJSVGUkVFU1dJVENIX0dST1VQJSUiCiBXV1dST09UPSIlJVdXV1JPT1QlJSIK
 IFdXV0RJUj0iJSVXV1dESVIlJSIKIEFTVEVSSVNLX0VUQz0iJFBSRUZJWC9ldGMvYXN0ZXJp
 c2siCkBAIC0yOSwxNiArMzEsMTcgQEAKICMgQkJCIHNlY3VyaXR5IHNhbHQKIEJCQl9TQUxU
 PSIiCiAKLSMgQkJCIGNvbW1vbiBwYXRoCisjIEJCQiBjb21tb24KIEJCQl9TSEFSRURJUj0i
 JSVEQVRBRElSJSUiCiBCQkJfUFJFU0VOVEFUSU9ORElSPSIvdmFyL3Nwb29sLyUlUE9SVE5B
 TUUlJSIKK0JCQl9TUlZfTElTVD0iIgogQkJCX0lOU1RBTExfQ09ORj0iJEJCQl9QUkVTRU5U
 QVRJT05ESVIvY29uZi50eHQiCiAKICMgQkJCIEpEQkMgcHJvcGVydGllcwogQkJCX0RBVEFC
 QVNFX1RZUEU9Im15c3FsIgotQkJCX0RBVEFCQVNFX0hPU1Q9ImxvY2FsaG9zdCIKK0JCQl9E
 QVRBQkFTRV9IT1NUPSIiCiBCQkJfREFUQUJBU0VfTkFNRT0iJSVQT1JUTkFNRSUlIgotQkJC
 X0RBVEFCQVNFX1VSTD0iamRiYzokQkJCX0RBVEFCQVNFX1RZUEU6Ly8kQkJCX0RBVEFCQVNF
 X0hPU1QvJEJCQl9EQVRBQkFTRV9OQU1FIgorQkJCX0RBVEFCQVNFX1VSTD0iIgogQkJCX0RB
 VEFCQVNFX0RSSVZFUj0iY29tLm15c3FsLmpkYmMuRHJpdmVyIgogQkJCX0RBVEFCQVNFX1VT
 RVJOQU1FPSIlJVBPUlROQU1FJSUiCiBCQkJfREFUQUJBU0VfUEFTU1dPUkQ9IiIKQEAgLTQ4
 LDE4ICs1MSwxOCBAQAogQkJCX0NPTkZFUkVOQ0VfVFlQRT0iIgogCiAjIEZyZWVTV0lUQ0gg
 RXZlbnQgU29ja2V0IExpYnJhcnkgKEVTTCkKLUJCQl9FU0xfSE9TVD0ibG9jYWxob3N0Igor
 QkJCX0VTTF9IT1NUPSIiCiBCQkJfRVNMX1BPUlQ9IjgwMjEiCiBCQkJfRVNMX1BBU1NXT1JE
 PSIiCiAKICMgQXN0ZXJpc2sgTWFuYWdlbWVudCBJbnRlcmZhY2UgKEFNSSkKLUJCQl9BTUlf
 SE9TVD0ibG9jYWxob3N0IgorQkJCX0FNSV9IT1NUPSIiCiBCQkJfQU1JX1BPUlQ9IjUwMzgi
 CiBCQkJfQU1JX1VTRVJOQU1FPSJiYmIiCiBCQkJfQU1JX1BBU1NXT1JEPSIiCiAKICMgU0lQ
 Ci1CQkJfU0lQX0hPU1Q9ImxvY2FsaG9zdCIKK0JCQl9TSVBfSE9TVD0iIgogQkJCX1NJUF9Q
 T1JUPSI1MDcwIgogQkJCX1NJUF9VU0VSTkFNRT0iYmJidXNlciIKIEJCQl9TSVBfUEFTU1dP
 UkQ9IiIKQEAgLTY4LDggKzcxLDggQEAKIEJCQl9WQVJfTElTVD0iUFJFRklYIFdXV1JPT1Qg
 V1dXRElSIFwKIAlSRUQ1X0hPTUUgUkVENV9MT0dTIFJFRDVfVVNFUiBSRUQ1X0dST1VQIFwK
 IAlUT01DQVRfSE9NRSBUT01DQVRfTE9HUyBUT01DQVRfVVNFUiBUT01DQVRfR1JPVVAgXAot
 CUFTVEVSSVNLX0VUQyBOR0lOWF9FVEMgQkJCX0hPU1ROQU1FIEJCQl9TQUxUIFwKLQlCQkJf
 U0hBUkVESVIgQkJCX1BSRVNFTlRBVElPTkRJUiBCQkJfSU5TVEFMTF9DT05GIFwKKwlBU1RF
 UklTS19FVEMgTkdJTlhfRVRDIEJCQl9IT1NUTkFNRSBCQkJfSVBfQUREUkVTUyBCQkJfU0FM
 VCBcCisJQkJCX1NIQVJFRElSIEJCQl9QUkVTRU5UQVRJT05ESVIgQkJCX1NSVl9MSVNUIEJC
 Ql9JTlNUQUxMX0NPTkYgXAogCUJCQl9EQVRBQkFTRV9UWVBFIEJCQl9EQVRBQkFTRV9IT1NU
 IEJCQl9EQVRBQkFTRV9OQU1FIEJCQl9EQVRBQkFTRV9VUkwgXAogCUJCQl9EQVRBQkFTRV9E
 UklWRVIgQkJCX0RBVEFCQVNFX1VTRVJOQU1FIEJCQl9EQVRBQkFTRV9QQVNTV09SRCBcCiAJ
 QkJCX0NPTkZFUkVOQ0VfTU9EVUxFIEJCQl9DT05GRVJFTkNFX1RZUEUgXApAQCAtODYsNiAr
 ODksMTIgQEAKIAlJbnN0YWxsIGluaXRpYWwgY29uZmlndXJhdGlvbjoKIAkkU0NSSVBUIGlu
 c3RhbGwgLWggPGhvc3RuYW1lfGlwIGFkZHJlc3M+IC1jIDxrb25mZXJlbmNlfG1lZXRtZXxm
 cmVlc3dpdGNoPgogCisJU3RhcnQgYWxsIEJpZ0JsdWVCdXR0b24gc2VydmljZXM6CisJJFND
 UklQVCBzdGFydAorCisJU3RvcCBhbGwgQmlnQmx1ZUJ1dHRvbiBzZXJ2aWNlczoKKwkkU0NS
 SVBUIHN0b3AKKwogCVJlc3RhcnQgYWxsIGJiYiBzZXJ2aWNlczoKIAkkU0NSSVBUIHJlc3Rh
 cnQKIApAQCAtOTUsMjEgKzEwNCwzMCBAQAogfQogCiBiYmJfcmFuZG9tKCkgewotCW9wZW5z
 c2wgcmFuZCAtYmFzZTY0ICQxIHwgc2VkIC1FICdzfFteQS1aYS16MC05XXx8ZycKKwlvcGVu
 c3NsIHJhbmQgLWJhc2U2NCA0OCB8IHNlZCAtRSAnc3xbXkEtWmEtejAtOV18fGcnIHwgY3V0
 IC1jIDEtJDEKIH0KIAogYmJiX2luc3RhbGwoKSB7CisJQ0hFQ0tfUEtHUz0ic3dmdG9vbHMg
 SW1hZ2VNYWdpY2sgbXlzcWwtc2VydmVyIGFjdGl2ZW1xIG5naW54IHRvbWNhdCIKKwlDSEVD
 S19QS0dTPSIkQ0hFQ0tfUEtHUyByZWQ1IgogCUNIRUNLX0RJUlM9IlJFRDVfSE9NRSBUT01D
 QVRfSE9NRSBXV1dST09UIFdXV0RJUiBOR0lOWF9FVEMgQkJCX1NIQVJFRElSIgogCiAJY2Fz
 ZSAiJEJCQl9DT05GRVJFTkNFX01PRFVMRSIgaW4KIAlrb25mZXJlbmNlfG1lZXRtZSkKKwkJ
 Q0hFQ0tfUEtHUz0iJENIRUNLX1BLR1MgYXN0ZXJpc2siCiAJCUNIRUNLX0RJUlM9IiRDSEVD
 S19ESVJTIEFTVEVSSVNLX0VUQyIKIAkJOzsKIAlmcmVlc3dpdGNoKQorCQlDSEVDS19QS0dT
 PSIkQ0hFQ0tfUEtHUyBmcmVlc3dpdGNoIgogCQlDSEVDS19ESVJTPSIkQ0hFQ0tfRElSUyBG
 UkVFU1dJVENIX0VUQyIKIAkJOzsKIAllc2FjCiAKKwlmb3IgcGtnIGluICRDSEVDS19QS0dT
 OyBkbworCQllY2hvIC1uICJDaGVjayBwYWNrYWdlICRwa2c6ICIKKwkJcGtnX2luZm8gLUUg
 JHtwa2d9XCogfHwgdXNhZ2UgIiRTQ1JJUFQgcmVxdWlyZWQgJHBrZyBwYWNrYWdlIgorCWRv
 bmUKKwogCWZvciB2YXIgaW4gJENIRUNLX0RJUlM7IGRvCiAJCWV2YWwgdmFsPVwkJHZhcgog
 CQllY2hvIC1uICJDaGVjayAkdmFyID0gJyR2YWwnOiAiCkBAIC0xMjYsNiArMTQ0LDEyIEBA
 CiAJQkJCX0VTTF9QQVNTV09SRD0iJChiYmJfcmFuZG9tIDE2KSIKIAlCQkJfQU1JX1BBU1NX
 T1JEPSIkKGJiYl9yYW5kb20gMTYpIgogCUJCQl9TSVBfUEFTU1dPUkQ9IiQoYmJiX3JhbmRv
 bSAxNikiCisJQkJCX0lQX0FERFJFU1M9IiQoZ2V0ZW50IGhvc3RzICIkQkJCX0hPU1ROQU1F
 IiB8IGF3ayAne3ByaW50ICQxfScpIgorCUJCQl9EQVRBQkFTRV9IT1NUPSIkQkJCX0lQX0FE
 RFJFU1MiCisJQkJCX0RBVEFCQVNFX1VSTD0iamRiYzokQkJCX0RBVEFCQVNFX1RZUEU6Ly8k
 QkJCX0RBVEFCQVNFX0hPU1QvJEJCQl9EQVRBQkFTRV9OQU1FIgorCUJCQl9FU0xfSE9TVD0i
 JEJCQl9JUF9BRERSRVNTIgorCUJCQl9BTUlfSE9TVD0iJEJCQl9JUF9BRERSRVNTIgorCUJC
 Ql9TSVBfSE9TVD0iJEJCQl9JUF9BRERSRVNTIgogCiAJZm9yIHZhciBpbiAkQkJCX1ZBUl9M
 SVNUOyBkbwogCQlldmFsIHZhbD1cJCR2YXIKQEAgLTEzNiwxMyArMTYwLDE0IEBACiAJbWtk
 aXIgLXAgL2V0Yy9yYy5jb25mLmQKIAogCWVjaG8gIkNvbmZpZ3VyZSBhY3RpdmVtcTogcmMu
 Y29uZiIKKwlCQkJfU1JWX0xJU1Q9ImFjdGl2ZW1xIgogCWNhdCA+L2V0Yy9yYy5jb25mLmQv
 YWN0aXZlbXEgPDwtRU9GCiAJYWN0aXZlbXFfZW5hYmxlPSJZRVMiCiAJRU9GCiAKIAllY2hv
 IC1uICJDb25maWd1cmUgJEJCQl9EQVRBQkFTRV9UWVBFOiBkcm9wL2NyZWF0ZS9ncmFudCIK
 LQkoL3Vzci9sb2NhbC9ldGMvcmMuZC9teXNxbC1zZXJ2ZXIgc3RhdHVzIHx8IC91c3IvbG9j
 YWwvZXRjL3JjLmQvbXlzcWwtc2VydmVyIHN0YXJ0KSA+L2Rldi9udWxsIDI+JjEKLQlteXNx
 bCAtaCAkQkJCX0RBVEFCQVNFX0hPU1QgLXUgcm9vdCA+L2Rldi9udWxsIDw8LUVPRgorCSgv
 dXNyL2xvY2FsL2V0Yy9yYy5kL215c3FsLXNlcnZlciBvbmVzdGF0dXMgfHwgL3Vzci9sb2Nh
 bC9ldGMvcmMuZC9teXNxbC1zZXJ2ZXIgb25lc3RhcnQpID4vZGV2L251bGwgMj4mMQorCW15
 c3FsIC11IHJvb3QgPi9kZXYvbnVsbCA8PC1FT0YKIAlkcm9wIGRhdGFiYXNlIGlmIGV4aXN0
 cyAkQkJCX0RBVEFCQVNFX05BTUU7CiAJY3JlYXRlIGRhdGFiYXNlICRCQkJfREFUQUJBU0Vf
 TkFNRTsKIAlncmFudCBhbGwgb24gJEJCQl9EQVRBQkFTRV9OQU1FLiogdG8gJyRCQkJfREFU
 QUJBU0VfVVNFUk5BTUUnQCckQkJCX0RBVEFCQVNFX0hPU1QnIGlkZW50aWZpZWQgYnkgJyRC
 QkJfREFUQUJBU0VfUEFTU1dPUkQnOwpAQCAtMTUwLDEwICsxNzUsMTMgQEAKIAlFT0YKIAog
 CWVjaG8gIiByYy5jb25mIgorCUJCQl9TUlZfTElTVD0iJEJCQl9TUlZfTElTVCBteXNxbC1z
 ZXJ2ZXIiCiAJY2F0ID4vZXRjL3JjLmNvbmYuZC9teXNxbCA8PC1FT0YKIAlteXNxbF9lbmFi
 bGU9IllFUyIKIAlFT0YKIAorCS91c3IvbG9jYWwvZXRjL3JjLmQvbXlzcWwtc2VydmVyIHN0
 b3AgPi9kZXYvbnVsbCAyPiYxCisKIAllY2hvIC1uICJDb25maWd1cmUgJEJCQl9DT05GRVJF
 TkNFX1RZUEU6IgogCWNhc2UgIiRCQkJfQ09ORkVSRU5DRV9NT0RVTEUiIGluCiAJa29uZmVy
 ZW5jZXxtZWV0bWUpCkBAIC0yMTIsNiArMjQwLDcgQEAKIAkJCW5vbG9hZCA9PiBhcHBfa29u
 ZmVyZW5jZS5zbwogCQkJRU9GCiAKKwkJCUJCQl9TUlZfTElTVD0iJEJCQl9TUlZfTElTVCB6
 YXB0ZWwiCiAJCQljYXQgPi9ldGMvcmMuY29uZi5kL3phcHRlbCA8PC1FT0YKIAkJCXphcHRl
 bF9lbmFibGU9IllFUyIKIAkJCXphcHRlbF9rbW9kX2xvYWQ9InphcHRlbC5rbyB6dGR1bW15
 LmtvIgpAQCAtMjMxLDE3ICsyNjAsNTAgQEAKIAkJRU9GCiAKIAkJZWNobyAiIHJjLmNvbmYi
 CisJCUJCQl9TUlZfTElTVD0iJEJCQl9TUlZfTElTVCBhc3RlcmlzayIKIAkJY2F0ID4vZXRj
 L3JjLmNvbmYuZC9hc3RlcmlzayA8PC1FT0YKIAkJYXN0ZXJpc2tfZW5hYmxlPSJZRVMiCiAJ
 CUVPRgogCQk7OwogCWZyZWVzd2l0Y2gpCi0JCWVjaG8gIk5vdCBpbXBsZW1lbnRlZCB5ZXQi
 Ci0JCWV4aXQgMQorCQljZCAkRlJFRVNXSVRDSF9FVEMKKwkJZWNobyAtbiAiIGJhY2t1cCIK
 KwkJbXYgY29uZiBjb25mJEJBQ0tVUAorCisJCWVjaG8gLW4gIiBleHRyYWN0IgorCQkoY2Qg
 JEJCQl9TSEFSRURJUi9mcmVlc3dpdGNoICYmIHRhciBjZiAtIGNvbmYpIHwgdGFyIHhmIC0K
 KwkJY2hvd24gLVIgJEZSRUVTV0lUQ0hfVVNFUjokRlJFRVNXSVRDSF9HUk9VUCBjb25mCisJ
 CWNkIGNvbmYKKworCQllY2hvIC1uICIgZXZlbnRfc29ja2V0LmNvbmYueG1sIgorCQkkSU5T
 VEFMTF9DTUQgLW0gMDYwMCAtbyAkRlJFRVNXSVRDSF9VU0VSIC1nICRGUkVFU1dJVENIX0dS
 T1VQIFwKKwkJCWF1dG9sb2FkX2NvbmZpZ3MvZXZlbnRfc29ja2V0LmNvbmYueG1sLWRpc3Qg
 XAorCQkJYXV0b2xvYWRfY29uZmlncy9ldmVudF9zb2NrZXQuY29uZi54bWwKKwkJc2VkIC1p
 ICcnICRCQkJfUkVQTEFDRSBhdXRvbG9hZF9jb25maWdzL2V2ZW50X3NvY2tldC5jb25mLnht
 bAorCisJCWVjaG8gLW4gIiBhY2wuY29uZi54bWwiCisJCSRJTlNUQUxMX0NNRCAtbSAwNjAw
 IC1vICRGUkVFU1dJVENIX1VTRVIgLWcgJEZSRUVTV0lUQ0hfR1JPVVAgXAorCQkJYXV0b2xv
 YWRfY29uZmlncy9hY2wuY29uZi54bWwtZGlzdCBcCisJCQlhdXRvbG9hZF9jb25maWdzL2Fj
 bC5jb25mLnhtbAorCQlzZWQgLWkgJycgJEJCQl9SRVBMQUNFIGF1dG9sb2FkX2NvbmZpZ3Mv
 YWNsLmNvbmYueG1sCisKKwkJZWNobyAtbiAiICRCQkJfU0lQX1VTRVJOQU1FLnhtbCIKKwkJ
 JElOU1RBTExfQ01EIC1tIDA2MDAgLW8gJEZSRUVTV0lUQ0hfVVNFUiAtZyAkRlJFRVNXSVRD
 SF9HUk9VUCBcCisJCQlkaXJlY3RvcnkvZGVmYXVsdC9iYmJ1c2VyLnhtbC1kaXN0IFwKKwkJ
 CWRpcmVjdG9yeS9kZWZhdWx0LyRCQkJfU0lQX1VTRVJOQU1FLnhtbAorCQlzZWQgLWkgJycg
 JEJCQl9SRVBMQUNFIGRpcmVjdG9yeS9kZWZhdWx0LyRCQkJfU0lQX1VTRVJOQU1FLnhtbAor
 CisJCWVjaG8gIiByYy5jb25mIgorCQlCQkJfU1JWX0xJU1Q9IiRCQkJfU1JWX0xJU1QgZnJl
 ZXN3aXRjaCIKKwkJY2F0ID4vZXRjL3JjLmNvbmYuZC9mcmVlc3dpdGNoIDw8LUVPRgorCQlm
 cmVlc3dpdGNoX2VuYWJsZT0iWUVTIgorCQlmcmVlc3dpdGNoX2ZsYWdzPSItbmN3YWl0IC13
 YXN0ZSAtbm9uYXQiCisJCUVPRgogCQk7OwogCWVzYWMKIAogCWVjaG8gIkNvbmZpZ3VyZSBv
 cGVub2ZmaWNlOiByYy5jb25mIgorCUJCQl9TUlZfTElTVD0iJEJCQl9TUlZfTElTVCBvcGVu
 b2ZmaWNlIgogCWNhdCA+L2V0Yy9yYy5jb25mLmQvb3Blbm9mZmljZSA8PC1FT0YKIAlvcGVu
 b2ZmaWNlX2VuYWJsZT0iWUVTIgogCUVPRgpAQCAtMjY5LDM1ICszMzEsMTAgQEAKIAkJV0VC
 LUlORi9jbGFzc2VzL2xvZzRqLnByb3BlcnRpZXMKIAogCWVjaG8gIiByYy5jb25mIgorCUJC
 Ql9TUlZfTElTVD0iJEJCQl9TUlZfTElTVCB0b21jYXQ2IgogCWNhdCA+L2V0Yy9yYy5jb25m
 LmQvdG9tY2F0NjAgPDwtRU9GCiAJdG9tY2F0NjBfZW5hYmxlPSJZRVMiCi0JdG9tY2F0NjBf
 c3RvcF90aW1lb3V0PSI2MCIKLQlFT0YKLQotCWVjaG8gLW4gIkNvbmZpZ3VyZSBuZ2lueDoi
 Ci0JY2QgJE5HSU5YX0VUQwotCW1rZGlyIC1wIHNpdGVzLWF2YWlsYWJsZSBzaXRlcy1lbmFi
 bGVkCi0KLQllY2hvIC1uICIgbmdpbnguY29uZiIKLQkkSU5TVEFMTF9DTUQgJEJCQl9TSEFS
 RURJUi9uZ2lueC9uZ2lueC5jb25mLWRpc3QgbmdpbnguY29uZgotCi0JZWNobyAtbiAiIGJp
 Z2JsdWVidXR0b24uY29uZiIKLQkkSU5TVEFMTF9DTUQgJEJCQl9TSEFSRURJUi9uZ2lueC9u
 Z2lueC1iaWdibHVlYnV0dG9uLmNvbmYtZGlzdCBcCi0JCXNpdGVzLWF2YWlsYWJsZS9iaWdi
 bHVlYnV0dG9uLmNvbmYKLQlzZWQgLWkgJycgJEJCQl9SRVBMQUNFIG5naW54LmNvbmYgc2l0
 ZXMtYXZhaWxhYmxlL2JpZ2JsdWVidXR0b24uY29uZgotCWNkIHNpdGVzLWVuYWJsZWQKLQly
 bSAtZiBiaWdibHVlYnV0dG9uLmNvbmYKLQlsbiAtcyAuLi9zaXRlcy1hdmFpbGFibGUvYmln
 Ymx1ZWJ1dHRvbi5jb25mIFwKLQkJYmlnYmx1ZWJ1dHRvbi5jb25mCi0JY2QgJFdXV0RJUi9j
 bGllbnQvY29uZgotCi0JZWNobyAtbiAiIGNvbmZpZy54bWwiCi0JJElOU1RBTExfQ01EIGNv
 bmZpZy54bWwtZGlzdCBjb25maWcueG1sCi0Jc2VkIC1pICcnICRCQkJfUkVQTEFDRSBjb25m
 aWcueG1sCi0KLQllY2hvICIgcmMuY29uZiIKLQljYXQgPi9ldGMvcmMuY29uZi5kL25naW54
 IDw8LUVPRgotCW5naW54X2VuYWJsZT0iWUVTIgorCXRvbWNhdDYwX3N0b3BfdGltZW91dD0i
 MzAiCiAJRU9GCiAKIAllY2hvIC1uICJDb25maWd1cmUgcmVkNToiCkBAIC0zMjcsMTYgKzM2
 NCw0NCBAQAogCXNlZCAtaSAnJyAkQkJCX1JFUExBQ0UgIGJpZ2JsdWVidXR0b24tc2lwLnBy
 b3BlcnRpZXMKIAogCWVjaG8gIiByYy5jb25mIgorCUJCQl9TUlZfTElTVD0iJEJCQl9TUlZf
 TElTVCByZWQ1IgogCVJFRDVfUk1JX1BPUlQ9JChhd2sgLUY9ICcvXmpteC5ybWkucG9ydC5y
 ZWdpc3RyeS97cHJpbnQgJDJ9JyAkUkVENV9IT01FL2NvbmYvcmVkNS5wcm9wZXJ0aWVzKQog
 CVJFRDVfUk1JX1VTRVI9JChhd2sgJy9eW14jXS4rcmVhZHdyaXRlJC97cHJpbnQgJDF9JyAk
 UkVENV9IT01FL2NvbmYvYWNjZXNzLnByb3BlcnRpZXMgfCBoZWFkIC0xKQogCVJFRDVfUk1J
 X1BBU1NXRD0kKGF3ayAnL14nJFJFRDVfUk1JX1VTRVInW1wgXHRdKy97cHJpbnQgJDJ9JyAk
 UkVENV9IT01FL2NvbmYvcGFzc3dvcmQucHJvcGVydGllcykKIAkKIAljYXQgPi9ldGMvcmMu
 Y29uZi5kL3JlZDUgPDwtRU9GCiAJcmVkNV9lbmFibGU9IllFUyIKLQlyZWQ1X3N0b3BfdGlt
 ZW91dD0iNjAiCisJcmVkNV9zdG9wX3RpbWVvdXQ9IjMwIgogCXJlZDVfc3RvcF9jbGFzc19v
 cHRzPSIkUkVENV9STUlfUE9SVCAkUkVENV9STUlfVVNFUiAkUkVENV9STUlfUEFTU1dEIgog
 CUVPRgogCisJZWNobyAtbiAiQ29uZmlndXJlIG5naW54OiIKKwljZCAkTkdJTlhfRVRDCisJ
 bWtkaXIgLXAgc2l0ZXMtYXZhaWxhYmxlIHNpdGVzLWVuYWJsZWQKKworCWVjaG8gLW4gIiBu
 Z2lueC5jb25mIgorCSRJTlNUQUxMX0NNRCAkQkJCX1NIQVJFRElSL25naW54L25naW54LmNv
 bmYtZGlzdCBuZ2lueC5jb25mCisKKwllY2hvIC1uICIgYmlnYmx1ZWJ1dHRvbi5jb25mIgor
 CSRJTlNUQUxMX0NNRCAkQkJCX1NIQVJFRElSL25naW54L25naW54LWJpZ2JsdWVidXR0b24u
 Y29uZi1kaXN0IFwKKwkJc2l0ZXMtYXZhaWxhYmxlL2JpZ2JsdWVidXR0b24uY29uZgorCXNl
 ZCAtaSAnJyAkQkJCX1JFUExBQ0UgbmdpbnguY29uZiBzaXRlcy1hdmFpbGFibGUvYmlnYmx1
 ZWJ1dHRvbi5jb25mCisJY2Qgc2l0ZXMtZW5hYmxlZAorCXJtIC1mIGJpZ2JsdWVidXR0b24u
 Y29uZgorCWxuIC1zIC4uL3NpdGVzLWF2YWlsYWJsZS9iaWdibHVlYnV0dG9uLmNvbmYgXAor
 CQliaWdibHVlYnV0dG9uLmNvbmYKKwljZCAkV1dXRElSL2NsaWVudC9jb25mCisKKwllY2hv
 IC1uICIgY29uZmlnLnhtbCIKKwkkSU5TVEFMTF9DTUQgY29uZmlnLnhtbC1kaXN0IGNvbmZp
 Zy54bWwKKwlzZWQgLWkgJycgJEJCQl9SRVBMQUNFIGNvbmZpZy54bWwKKworCWVjaG8gIiBy
 Yy5jb25mIgorCUJCQl9TUlZfTElTVD0iJEJCQl9TUlZfTElTVCBuZ2lueCIKKwljYXQgPi9l
 dGMvcmMuY29uZi5kL25naW54IDw8LUVPRgorCW5naW54X2VuYWJsZT0iWUVTIgorCUVPRgor
 CiAJZWNobyAtbiAiU2F2ZSBjb25maWc6IgogCSRJTlNUQUxMX0NNRCAtbSAwNjAwIC9kZXYv
 bnVsbCAkQkJCX0lOU1RBTExfQ09ORgogCWNhdCA+JEJCQl9JTlNUQUxMX0NPTkYgPDwtRU9G
 CkBAIC0zNDgsMzUgKzQxMywzMSBAQAogCWZvciB2YXIgaW4gJEJCQl9WQVJfTElTVDsgZG8K
 IAkJZXZhbCB2YWw9XCQkdmFyCiAJCWNhdCA+PiRCQkJfSU5TVEFMTF9DT05GIDw8LUVPRgot
 CQkkdmFyPSR2YWwKKwkJJHZhcj0iJHZhbCIKIAkJRU9GCiAJZG9uZQogCWVjaG8gIiAkQkJC
 X0lOU1RBTExfQ09ORiIKIH0KIAotYmJiX3Jlc3RhcnQoKSB7Ci0JLiAkQkJCX0lOU1RBTExf
 Q09ORgorYmJiX3N0YXJ0KCkgeworCWZvciBpIGluICRCQkJfU1JWX0xJU1Q7IGRvCisJCSRQ
 UkVGSVgvZXRjL3JjLmQvJGkgc3RhcnQgfHwgdHJ1ZQorCWRvbmUKK30KIAotCSRQUkVGSVgv
 ZXRjL3JjLmQvYWN0aXZlbXEgcmVzdGFydAotCSRQUkVGSVgvZXRjL3JjLmQvbXlzcWwtc2Vy
 dmVyIHJlc3RhcnQKLQljYXNlICIkQkJCX0NPTkZFUkVOQ0VfTU9EVUxFIiBpbgotCW1lZXRt
 ZSkKLQkJaWYgISBrbGRzdGF0IC1xIC1tIHp0ZHVtbXk7IHRoZW4KLQkJCSRQUkVGSVgvZXRj
 L3JjLmQvemFwdGVsIHN0YXJ0ID4vZGV2L251bGwgMj4mMQotCQlmaQotCQkkUFJFRklYL2V0
 Yy9yYy5kL2FzdGVyaXNrIHJlc3RhcnQKLQkJOzsKLQlrb25mZXJlbmNlKQotCQkkUFJFRklY
 L2V0Yy9yYy5kL2FzdGVyaXNrIHJlc3RhcnQKLQkJOzsKLQlmcmVlc3dpdGNoKQotCQkkUFJF
 RklYL2V0Yy9yYy5kL2ZyZWVzd2l0Y2ggcmVzdGFydAotCQk7OwotCWVzYWMKLQkkUFJFRklY
 L2V0Yy9yYy5kL29wZW5vZmZpY2UgcmVzdGFydAotCSRQUkVGSVgvZXRjL3JjLmQvdG9tY2F0
 NiByZXN0YXJ0Ci0JJFBSRUZJWC9ldGMvcmMuZC9yZWQ1IHJlc3RhcnQKLQkkUFJFRklYL2V0
 Yy9yYy5kL25naW54IHJlc3RhcnQKK2JiYl9zdG9wKCkgeworCWZvciBpIGluICRCQkJfU1JW
 X0xJU1Q7IGRvCisJCVJFVkVSU0VfU1JWX0xJU1Q9IiRpICRSRVZFUlNFX1NSVl9MSVNUIgor
 CWRvbmUKKworCWZvciBpIGluICRSRVZFUlNFX1NSVl9MSVNUOyBkbworCQkkUFJFRklYL2V0
 Yy9yYy5kLyRpIHN0b3AgfHwgdHJ1ZQorCWRvbmUKK30KKworYmJiX3Jlc3RhcnQoKSB7CisJ
 YmJiX3N0b3AKKwliYmJfc3RhcnQKIH0KIAogaWYgWyAiYC91c3IvYmluL2lkIC11YCIgIT0g
 IjAiIF07IHRoZW4KQEAgLTM4NCw3ICs0NDUsNyBAQAogZmkKIAogaWYgWyAkIyAtZXEgMCBd
 OyB0aGVuCi0JYmJiX3VzYWdlICIkU0NSSVBUIDxpbnN0YWxsfHJlc3RhcnQ+IFtvcHRpb25z
 XSIKKwliYmJfdXNhZ2UgIiRTQ1JJUFQgPGluc3RhbGx8c3RhcnR8c3RvcHxyZXN0YXJ0PiBb
 b3B0aW9uc10iCiBmaQogCiBCQkJfQUNUSU9OPSIkMSIKQEAgLTQwOSw4ICs0NzAsOCBAQAog
 CWlmIFsgLXogIiRCQkJfSE9TVE5BTUUiIF07IHRoZW4KIAkJYmJiX3VzYWdlICJFcnJvcjog
 J2luc3RhbGwnIGFjdGlvbiByZXF1aXJlZCAnLWgnIG9wdGlvbiIKIAllbHNlCi0JCWlmICEg
 aG9zdCAiJEJCQl9IT1NUTkFNRSIgPi9kZXYvbnVsbCAyPiYxOyB0aGVuCi0JCQliYmJfdXNh
 Z2UgIkVycm9yOiBob3N0bmFtZSAnJEJCQl9IT1NUTkFNRScgbm90IGZvdW5kIGJ5IGhvc3Qg
 Y29tbWFuZCIKKwkJaWYgISBnZXRlbnQgaG9zdHMgIiRCQkJfSE9TVE5BTUUiID4vZGV2L251
 bGwgMj4mMTsgdGhlbgorCQkJYmJiX3VzYWdlICJFcnJvcjogaG9zdG5hbWUgJyRCQkJfSE9T
 VE5BTUUnIG5vdCBmb3VuZCBieSBnZXRlbnQgY29tbWFuZCIKIAkJZmkKIAlmaQogCkBAIC00
 NDEsMTEgKzUwMiwxOCBAQAogCWZpCiAJYmJiX2luc3RhbGwKIAk7OwotcmVzdGFydCkKLQlp
 ZiBbIC1uICIkQkJCX0hPU1ROQU1FIiBdOyB0aGVuCi0JCWJiYl91c2FnZSAiRXJyb3I6ICdy
 ZXN0YXJ0JyBhY3Rpb24gZG8gbm90IGFsbG93IGFueSBvcHRpb25zIgorc3RhcnR8c3RvcHxy
 ZXN0YXJ0KQorCWlmIFsgLW4gIiRCQkJfSE9TVE5BTUUiIC1vIC1uICIkQkJCX0NPTkZFUkVO
 Q0VfTU9EVUxFIiBdOyB0aGVuCisJCWJiYl91c2FnZSAiRXJyb3I6ICckQkJCX0FDVElPTicg
 YWN0aW9uIGRvIG5vdCBhbGxvdyBhbnkgb3B0aW9ucyIKIAlmaQotCWJiYl9yZXN0YXJ0CisK
 KwlpZiBbIC1zICIkQkJCX0lOU1RBTExfQ09ORiIgXTsgdGhlbgorCQkuICRCQkJfSU5TVEFM
 TF9DT05GCisJZWxzZQorCQliYmJfdXNhZ2UgIkVycm9yOiAnJEJCQl9BQ1RJT04nIGFjdGlv
 biBhbGxvdyBvbmx5IGFmdGVyIGluc3RhbGwiCisJZmkKKworCWV2YWwgYmJiXyRCQkJfQUNU
 SU9OCiAJOzsKICopCiAJYmJiX3VzYWdlICJFcnJvcjogJyRCQkJfQUNUSU9OJyBpcyBub3Qg
 dmFsaWQgYWN0aW9uIgpkaWZmIC11ciBiaWdibHVlYnV0dG9uLm9yaWcvZmlsZXMvb3Blbm9m
 ZmljZS5pbiBiaWdibHVlYnV0dG9uL2ZpbGVzL29wZW5vZmZpY2UuaW4KLS0tIGJpZ2JsdWVi
 dXR0b24ub3JpZy9maWxlcy9vcGVub2ZmaWNlLmluCTIwMTEtMDEtMDkgMjI6MTA6NDEuMDAw
 MDAwMDAwICswMDAwCisrKyBiaWdibHVlYnV0dG9uL2ZpbGVzL29wZW5vZmZpY2UuaW4JMjAx
 MS0wMS0xNCAxNDowNjo1MS4wMDAwMDAwMDAgKzAwMDAKQEAgLTE3LDYgKzE3LDggQEAKICMg
 ICAgICAgICAgICAgICBTZXQgaXQgdG8gcmVxdWlyZWQgdXNlcm5hbWUuCiAjIG9wZW5vZmZp
 Y2VfZ3JvdXAgKGdyb3VwKTogICBTZXQgdG8gd3d3IGJ5IGRlZmF1bHQuCiAjICAgICAgICAg
 ICAgICAgU2V0IGl0IHRvIHJlcXVpcmVkIGdyb3VwLgorIyBvcGVub2ZmaWNlX2hvbWUgKHN0
 cmluZyk6ICAgU2V0IHRvIC92YXIvc3Bvb2wvJSVQT1JUTkFNRSUlIGJ5IGRlZmF1bHQuCisj
 ICAgICAgICAgICAgICAgU2V0IGl0IHRvIHJlcXVpcmVkIGRpci4KICMgb3Blbm9mZmljZV9i
 aW4gKHN0cmluZyk6ICAgIFNldCBieSBkZWZhdWx0IC0gc2VlIGJlbG93LgogIyAgICAgICAg
 ICAgICAgIFNldCBpdCB0byBzb2ZmaWNlLmJpbiBwYXRoLgogIyBvcGVub2ZmaWNlX2FyZ3Mg
 KHN0cmluZyk6ICBTZXQgYnkgZGVmYXVsdCAtIHNlZSBiZWxvdy4KQEAgLTMyLDYgKzM0LDcg
 QEAKIDogJHtvcGVub2ZmaWNlX2VuYWJsZTo9Tk99CiA6ICR7b3Blbm9mZmljZV91c2VyOj0i
 d3d3In0KIDogJHtvcGVub2ZmaWNlX2dyb3VwOj0id3d3In0KKzogJHtvcGVub2ZmaWNlX2hv
 bWU6PSIvdmFyL3Nwb29sLyUlUE9SVE5BTUUlJSJ9CiA6ICR7b3Blbm9mZmljZV9iaW46PSIl
 JVNPRkZJQ0VCSU4lJSJ9CiA6ICR7b3Blbm9mZmljZV9hcmdzOj0iLWFjY2VwdD1zb2NrZXQs
 aG9zdD1sb2NhbGhvc3QscG9ydD04MTAwO3VycCAtaGVhZGxlc3MgLW5vZmlyc3RzdGFydHdp
 emFyZCJ9CiAKQEAgLTQyLDcgKzQ1LDggQEAKIAogb3Blbm9mZmljZV9zdGFydCgpIHsKICAg
 ICAgICAgZWNobyAiU3RhcnRpbmcgJHtuYW1lfS4iCi0gICAgICAgIC91c3Ivc2Jpbi9kYWVt
 b24gLWYgLXAgJHtwaWRmaWxlfSAtdSAke29wZW5vZmZpY2VfdXNlcn0gXAorICAgICAgICBl
 bnYgSE9NRT0ke29wZW5vZmZpY2VfaG9tZX0gL3Vzci9zYmluL2RhZW1vbiBcCisJCS1mIC1w
 ICR7cGlkZmlsZX0gLXUgJHtvcGVub2ZmaWNlX3VzZXJ9IFwKIAkJJHtvcGVub2ZmaWNlX2Jp
 bn0gJHtvcGVub2ZmaWNlX2FyZ3N9CiB9CiAKZGlmZiAtdXIgYmlnYmx1ZWJ1dHRvbi5vcmln
 L2ZpbGVzL3BrZy1tZXNzYWdlLmluIGJpZ2JsdWVidXR0b24vZmlsZXMvcGtnLW1lc3NhZ2Uu
 aW4KLS0tIGJpZ2JsdWVidXR0b24ub3JpZy9maWxlcy9wa2ctbWVzc2FnZS5pbgkyMDExLTAx
 LTA5IDIyOjEwOjQxLjAwMDAwMDAwMCArMDAwMAorKysgYmlnYmx1ZWJ1dHRvbi9maWxlcy9w
 a2ctbWVzc2FnZS5pbgkyMDExLTAxLTE0IDE0OjA2OjUxLjAwMDAwMDAwMCArMDAwMApAQCAt
 MSwxNSArMSwxOSBAQAotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKz09PT09PT09PT09PT09PT09
 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
 PT09PT09PT0KIAogQmlnQmx1ZUJ1dG9uIGlzIG5vdyBpbnN0YWxsZWQuIElmIHlvdSBpbnN0
 YWxsIGl0IGZvciB0aGUgZmlyc3QgdGltZSwKIHlvdSBtYXkgbmVlZCB0byBwZXJmb3JtIHRo
 ZSBmb2xsb3dpbmcgc3RlcHM6CiAKLTEuIENvbmZpZ3VyZSB5b3VyIEJpZ0JsdWVCdXRvbiB3
 aXRoIGNvbW1hbmQ6CisxLiBDaGVjayAvZXRjL2hvc3RzIG9yIEROUyBmb3IgeW91ciBCaWdC
 bHVlQnV0b24gc2VydmVyIGhvc3RuYW1lIHJlc29sdXRpb246CisKKyUgZ2V0ZW50IGhvc3Rz
 IGJiYi1ob3N0bmFtZQorCisyLiBDb25maWd1cmUgeW91ciBCaWdCbHVlQnV0b24gc2VydmVy
 IHdpdGggY29tbWFuZDoKIAogIyBiYmItY29uZmlnIGluc3RhbGwgLWggPGhvc3RuYW1lfGlw
 IGFkZHJlc3M+IC1jIDxrb25mZXJlbmNlfG1lZXRtZXxmcmVlc3dpdGNoPgogCiAyLiBTdGFy
 dCB5b3VyIEJpZ0JsdWVCdXRvbiB3aXRoIGNvbW1hbmQ6CiAKLSMgYmJiLWNvbmZpZyByZXN0
 YXJ0CisjIGJiYi1jb25maWcgc3RhcnQKIAogMy4gT3BlbiBodHRwOi8vPGhvc3RuYW1lfGlw
 IGFkZHJlc3M+IGluIHlvdXIgd2ViIGJyb3dzZXIuCiAKQEAgLTI3LDQgKzMxLDQgQEAKIGh0
 dHA6Ly9jb2RlLmdvb2dsZS5jb20vcC9iaWdibHVlYnV0dG9uL3dpa2kvQ29uZmlndXJhdGlv
 bkZpbGVzCiBodHRwOi8vY29kZS5nb29nbGUuY29tL3AvYmlnYmx1ZWJ1dHRvbi93aWtpL0ZB
 UQogCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
 PT09PT09PT09PT09PT09PT09PT09PT09PQorPT09PT09PT09PT09PT09PT09PT09PT09PT09
 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQo=
 --------------050200030606040700000105--

From: wen heping <wenheping@gmail.com>
To: Alex Deiter <alex.deiter@gmail.com>
Cc: bug-followup@freebsd.org
Subject: Re: ports/153923: [PATCH] update www/bigbluebutton
Date: Fri, 14 Jan 2011 23:50:51 +0800

 2011/1/14 Alex Deiter <alex.deiter@gmail.com>:
 > Hi,
 >
 > Thank you for update!
 > I found solution:
 >
 > JAVA_EXTRACT=3D =C2=A0 yes
 
 
 Good work, now it build well. I shall commit it next Monday.
 
 wen
 
 
 >
 > /usr/ports/Mk/bsd.java.mk:. =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 if =
 defined(JAVA_EXTRACT)
 > /usr/ports/Mk/bsd.java.mk-EXTRACT_DEPENDS+=3D =C2=A0 =C2=A0 ${DEPEND_JAVA=
 }
 >
 >
 > New patch attached:
 >
 > +@dirrmtry %%WWWDIR%%
 > +JAVA_EXTRACT=3D =C2=A0 yes
 >
 > Thanks!
 >
 > 14.01.2011 12:08, wen heping =D0=BF=D0=B8=D1=88=D0=B5=D1=82:
 >>
 >> 2011/1/14 Alex Deiter<alex.deiter@gmail.com>:
 >>>
 >>> Hi,
 >>>
 >>> 1. No:
 >>>
 >>> x4150b# cd /usr/ports/www/bigbluebutton
 >>> x4150b# grep -A 1 JAR Makefile
 >>> =C2=A0 =C2=A0 =C2=A0 =C2=A0@cd ${WRKDIR}/bigbluebutton-tomcat&& =C2=A0$=
 {JAR} xf \
 >>> =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0${WRKDIR}/bigblu=
 ebutton.war
 >>
 >> Here is in the "make extract" phase when diablo-java was not added to
 >> the system,
 >> so it will result in build error when build on the tinderbox:
 >> http://wen.freebsd.your.org/tb/errors/7.3-FreeBSD/bigbluebutton-0.71_1.l=
 og
 >>
 >> Also it could build on my physical box , better we fix it.
 >>
 >> Maybe add a EXTRACT_DEPENDS ?
 >>
 >>
 >> wen
 >>
 >>
 >>
 >>>
 >>> war file - http://en.wikipedia.org/wiki/WAR_%28Sun_file_format%29
 >>>
 >>> WAR file (or Web application ARchive[1]) is a JAR file used to distribu=
 te
 >>> a
 >>> collection of JavaServer Pages, servlets, Java classes, XML files, tag
 >>> libraries and static Web pages (HTML and related files) that together
 >>> constitute a Web application.
 >>>
 >>> 2. I'm sorry. "@dirrmtry %%WWWDIR%%" must be in plist.
 >>>
 >>> Thanks a lot!
 >>>
 >>> 14.01.2011 09:59, wen heping =D0=BF=D0=B8=D1=88=D0=B5=D1=82:
 >>>>
 >>>> Hi,
 >>>>
 >>>> =C2=A0 =C2=A0Two problems:
 >>>>
 >>>> =C2=A0 =C2=A0 1 s/JAR/TAR/Makefile ?
 >>>>
 >>>> =C2=A0 =C2=A0 2 why remove "@dirrmtry %%WWWDIR%%" from plist ?
 >>>> It will result in plist error.
 >>>>
 >>>>
 >>>>
 >>>> wen
 >>>
 >>
 >>
 >>
 >

From: dfilter@FreeBSD.ORG (dfilter service)
To: bug-followup@FreeBSD.org
Cc:  
Subject: Re: ports/153923: commit references a PR
Date: Sat, 15 Jan 2011 12:11:08 +0000 (UTC)

 wen         2011-01-15 12:10:57 UTC
 
   FreeBSD ports repository
 
   Modified files:
     www/bigbluebutton    Makefile distinfo 
     www/bigbluebutton/files bbb-conf.in openoffice.in 
                             pkg-message.in 
   Log:
   1. Update Makefile:
   - clean tabs
   - use different master sites URL for different files
   - remove unused options
   - add freeswitch user option
   - bump portrevision
   
   2. Update bbb-conf script:
   - add freeswitch user
   - check installed packages
   - add start / stop options
   - verify host names with getent
   
   3. Update rc script for openoffice:
   - set and use HOME env
   
   4. Update pkg-message:
   - add note about hostname resolution
   - add start note
   
   5. Clean pkg-plist
   
   PR:             ports/153923
   Submitted by:   Alex Deiter <alex.deiter@gmail.com> (maintainer)
   Feature safe:   yes
   
   Revision  Changes    Path
   1.2       +70 -71    ports/www/bigbluebutton/Makefile
   1.2       +8 -8      ports/www/bigbluebutton/distinfo
   1.2       +140 -72   ports/www/bigbluebutton/files/bbb-conf.in
   1.2       +6 -2      ports/www/bigbluebutton/files/openoffice.in
   1.2       +8 -4      ports/www/bigbluebutton/files/pkg-message.in
 _______________________________________________
 cvs-all@freebsd.org mailing list
 http://lists.freebsd.org/mailman/listinfo/cvs-all
 To unsubscribe, send any mail to "cvs-all-unsubscribe@freebsd.org"
 
State-Changed-From-To: open->closed 
State-Changed-By: wen 
State-Changed-When: Sat Jan 15 12:21:23 UTC 2011 
State-Changed-Why:  
Committed. Thanks! 

http://www.freebsd.org/cgi/query-pr.cgi?pr=153923 
>Unformatted:
