From owner-FreeBSD-users-jp@jp.freebsd.org  Wed Feb  2 14:13:41 2000
Received: (from daemon@localhost)
	by castle.jp.freebsd.org (8.9.3+3.2W/8.7.3) id OAA98769;
	Wed, 2 Feb 2000 14:13:41 +0900 (JST)
	(envelope-from owner-FreeBSD-users-jp@jp.FreeBSD.org)
Received: from mx.yaya.forks.co.jp (51.96.149.210.economy.2iij.net [210.149.96.51])
	by castle.jp.freebsd.org (8.9.3+3.2W/8.7.3) with ESMTP id OAA98763
	for <FreeBSD-users-jp@jp.freebsd.org>; Wed, 2 Feb 2000 14:13:39 +0900 (JST)
	(envelope-from marina@yaya.forks.co.jp)
Received: by mx.yaya.forks.co.jp (8.9.3/3.7W-2.8compat.base) id OAA40254; Wed, 2 Feb 2000 14:13:38 +0900 (JST)
Date: Wed, 02 Feb 2000 14:13:38 +0900
From: marina <marina@yaya.forks.co.jp>
To: FreeBSD-users-jp ML <FreeBSD-users-jp@jp.freebsd.org>
Message-Id: <3897BD022C6.60F8MARINA@yaya.forks.co.jp>
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="V2VkLCAwMiBGZWIgMjAwMCAxNDoxMzozOCArMDkwMA=="
Content-Transfer-Encoding: 7bit
X-Mailer: Becky! ver 1.25.06
Reply-To: FreeBSD-users-jp@jp.freebsd.org
Precedence: list
X-Distribute: distribute version 2.1 (Alpha) patchlevel 24e+990727
X-Sequence: FreeBSD-users-jp 49497
Subject: [FreeBSD-users-jp 49497] New function for tcpdump
Errors-To: owner-FreeBSD-users-jp@jp.freebsd.org
Sender: owner-FreeBSD-users-jp@jp.freebsd.org
X-Originator: marina@yaya.forks.co.jp

--V2VkLCAwMiBGZWIgMjAwMCAxNDoxMzozOCArMDkwMA==
Content-Type: text/plain; charset=ISO-2022-JP

$BIp@P$G$9!#(B

$B;EMM$r8x3+$7$F$/$l$J$$!"%k!<%?$N%Q%1%C%H$r8+$k0Y$K(B
tcpdump $B$K(B $B%"%9%-!<%@%s%W5!G=$rDI2C$7$?$b$N$r:n$C$F$_$^$7$?!#(B
$B<+J,$N;H$$$?$$5!G=$O;H$($F$k$_$?$$$J$s$G$9$,!"H4$1$,$"$k$+$b$G$9!#(B

#HTTP$B$N1#$7%Z!<%8$G%3%s%H%m!<%k$7$F$$$k$i$7$$!c%@%$%d%k%"%C%W%k!<%?(B
#$B$3$C$A$O$3$l$+$i$G$9$,!#!#(B

$B%*%W%7%g%s(B -X $B$G$9!#(B

make & debug $B$O(B FreeBSD 3.2 RELEASE
diff -2 -u tcpdump.orig tcpdump >tcpdump.patch
$B$H:n@.$7$F(B
patch & $B3NG'(B $B$O(B FreeBSD 3.4 RELEASE
patch -p <tcpdump.patch
$B$G9T$$$^$7$?!#(B

$BB>$K$"$C$?$i!"<:Ni$7$^$7$?!0!0!((B
$B3NG'$J$s$>$7$FD:$$$?$i$&$l$7$$$G$9!#(B
-----------------------------------------------------
Masanori Takeishi,  E-Mail: marina@yaya.forks.co.jp


--V2VkLCAwMiBGZWIgMjAwMCAxNDoxMzozOCArMDkwMA==
Content-Type: application/octet-stream; name="tcpdump.patch"
Content-Disposition: attachment;
 filename="tcpdump.patch"
Content-Transfer-Encoding: base64

ZGlmZiAtMiAtdSB0Y3BkdW1wLm9yaWcvaW50ZXJmYWNlLmggdGNwZHVtcC9pbnRlcmZhY2UuaAot
LS0gdGNwZHVtcC5vcmlnL2ludGVyZmFjZS5oCVdlZCBTZXAgMTYgMDQ6MzY6MjEgMTk5OAorKysg
dGNwZHVtcC9pbnRlcmZhY2UuaAlXZWQgRmViICAyIDEzOjMzOjA5IDIwMDAKQEAgLTQ2LDQgKzQ2
LDYgQEAKIGV4dGVybiBpbnQgdmZsYWc7CQkvKiB2ZXJib3NlICovCiBleHRlcm4gaW50IHhmbGFn
OwkJLyogcHJpbnQgcGFja2V0IGluIGhleCAqLworZXh0ZXJuIGludCBYZmxhZzsJCS8qIHByaW50
IHBhY2tldCBpbiBoZXggYW5kIGFzY2lpICovCitleHRlcm4gaW50IGludlhmbGFnOwkJLyogZGV0
ZXIgWGZsYWcvYXNjaWkgKHNvcnJ5IG5vIGFuIGlkZWEpICovCiAKIGV4dGVybiBpbnQgcGFja2V0
dHlwZTsJCS8qIGFzIHNwZWNpZmllZCBieSAtVCAqLwpDb21tb24gc3ViZGlyZWN0b3JpZXM6IHRj
cGR1bXAub3JpZy9sYmwgYW5kIHRjcGR1bXAvbGJsCmRpZmYgLTIgLXUgdGNwZHVtcC5vcmlnL3By
aW50LWFycC5jIHRjcGR1bXAvcHJpbnQtYXJwLmMKLS0tIHRjcGR1bXAub3JpZy9wcmludC1hcnAu
YwlXZWQgU2VwIDE2IDA0OjQ2OjU5IDE5OTgKKysrIHRjcGR1bXAvcHJpbnQtYXJwLmMJV2VkIEZl
YiAgMiAxMzozMzowOSAyMDAwCkBAIC03NCw1ICs3NCw3IEBACiAJaWYgKGxlbmd0aCA8IHNpemVv
ZihzdHJ1Y3QgZXRoZXJfYXJwKSkgewogCQkodm9pZClwcmludGYoInRydW5jYXRlZC1hcnAiKTsK
KwkJKytpbnZYZmxhZzsKIAkJZGVmYXVsdF9wcmludCgodV9jaGFyICopYXAsIGxlbmd0aCk7CisJ
CS0taW52WGZsYWc7CiAJCXJldHVybjsKIAl9CkBAIC0xMjcsNSArMTI5LDcgQEAKIAlkZWZhdWx0
OgogCQkodm9pZClwcmludGYoImFycC0jJWQiLCBvcCk7CisJCSsraW52WGZsYWc7CiAJCWRlZmF1
bHRfcHJpbnQoKHVfY2hhciAqKWFwLCBjYXBsZW4pOworCQktLWludlhmbGFnOwogCQlyZXR1cm47
CiAJfQpkaWZmIC0yIC11IHRjcGR1bXAub3JpZy9wcmludC1hdG0uYyB0Y3BkdW1wL3ByaW50LWF0
bS5jCi0tLSB0Y3BkdW1wLm9yaWcvcHJpbnQtYXRtLmMJV2VkIFNlcCAxNiAwNDo0Njo1OSAxOTk4
CisrKyB0Y3BkdW1wL3ByaW50LWF0bS5jCVdlZCBGZWIgIDIgMTM6MzM6MDkgMjAwMApAQCAtMTU5
LDQgKzE1OSw2IEBACiAJCWRlZmF1bHRfcHJpbnQocCwgY2FwbGVuKTsKICBvdXQ6CisJaWYgKFhm
bGFnKQorCQkodm9pZClkZWZhdWx0X3ByaW50X2NsZWFudXAoKTsKIAlwdXRjaGFyKCdcbicpOwog
fQpkaWZmIC0yIC11IHRjcGR1bXAub3JpZy9wcmludC1kZWNuZXQuYyB0Y3BkdW1wL3ByaW50LWRl
Y25ldC5jCi0tLSB0Y3BkdW1wLm9yaWcvcHJpbnQtZGVjbmV0LmMJV2VkIFNlcCAxNiAwNDozNjoy
NCAxOTk4CisrKyB0Y3BkdW1wL3ByaW50LWRlY25ldC5jCVdlZCBGZWIgIDIgMTM6MzM6MDkgMjAw
MApAQCAtMTEwLDUgKzExMCw3IEBACiAJaWYgKG1mbGFncyAmIFJNRl9GVkVSKSB7CiAJCSh2b2lk
KSBwcmludGYoImZ1dHVyZS12ZXJzaW9uLWRlY25ldCIpOworCQkrK2ludlhmbGFnOwogCQlkZWZh
dWx0X3ByaW50KGFwLCBsZW5ndGgpOworCQktLWludlhmbGFnOwogCQlyZXR1cm47CiAJfQpAQCAt
MTQxLDUgKzE0Myw3IEBACiAJZGVmYXVsdDoKIAkgICAgKHZvaWQpIHByaW50ZigidW5rbm93biBt
ZXNzYWdlIGZsYWdzIHVuZGVyIG1hc2siKTsKKwkgICAgKytpbnZYZmxhZzsKIAkgICAgZGVmYXVs
dF9wcmludCgodV9jaGFyICopYXAsIGxlbmd0aCk7CisJICAgIC0taW52WGZsYWc7CiAJICAgIHJl
dHVybjsKIAl9CkBAIC0yNTcsNSArMjYxLDcgQEAKIAlkZWZhdWx0OgogCSAgICAodm9pZClwcmlu
dGYoInVua25vd24gY29udHJvbCBtZXNzYWdlIik7CisJICAgICsraW52WGZsYWc7CiAJICAgIGRl
ZmF1bHRfcHJpbnQoKHVfY2hhciAqKXJocCwgbGVuZ3RoKTsKKwkgICAgLS1pbnZYZmxhZzsKIAkg
ICAgYnJlYWs7CiAJfQpkaWZmIC0yIC11IHRjcGR1bXAub3JpZy9wcmludC1ldGhlci5jIHRjcGR1
bXAvcHJpbnQtZXRoZXIuYwotLS0gdGNwZHVtcC5vcmlnL3ByaW50LWV0aGVyLmMJV2VkIFNlcCAx
NiAwNDo0Njo1OSAxOTk4CisrKyB0Y3BkdW1wL3ByaW50LWV0aGVyLmMJV2VkIEZlYiAgMiAxMzoz
MzowOSAyMDAwCkBAIC0xNDAsNCArMTQwLDYgQEAKIAkJZGVmYXVsdF9wcmludChwLCBjYXBsZW4p
OwogIG91dDoKKwlpZiAoWGZsYWcpCisJCSh2b2lkKWRlZmF1bHRfcHJpbnRfY2xlYW51cCgpOwog
CXB1dGNoYXIoJ1xuJyk7CiB9CmRpZmYgLTIgLXUgdGNwZHVtcC5vcmlnL3ByaW50LWZkZGkuYyB0
Y3BkdW1wL3ByaW50LWZkZGkuYwotLS0gdGNwZHVtcC5vcmlnL3ByaW50LWZkZGkuYwlXZWQgU2Vw
IDE2IDA0OjQ2OjU5IDE5OTgKKysrIHRjcGR1bXAvcHJpbnQtZmRkaS5jCVdlZCBGZWIgIDIgMTM6
MzM6MDkgMjAwMApAQCAtMzM0LDQgKzMzNCw2IEBACiAJCWRlZmF1bHRfcHJpbnQocCwgY2FwbGVu
KTsKIG91dDoKKwlpZiAoWGZsYWcpCisJCSh2b2lkKWRlZmF1bHRfcHJpbnRfY2xlYW51cCgpOwog
CXB1dGNoYXIoJ1xuJyk7CiB9CmRpZmYgLTIgLXUgdGNwZHVtcC5vcmlnL3ByaW50LWZyLmMgdGNw
ZHVtcC9wcmludC1mci5jCi0tLSB0Y3BkdW1wLm9yaWcvcHJpbnQtZnIuYwlUaHUgSmFuICAxIDEz
OjEzOjQzIDE5OTgKKysrIHRjcGR1bXAvcHJpbnQtZnIuYwlXZWQgRmViICAyIDEzOjMzOjA5IDIw
MDAKQEAgLTI1MCw0ICsyNTAsNiBAQAogCQkJCWNhcGxlbiAtIExBWUVSMl9MRU4ocCkpOwogb3V0
OgorCWlmIChYZmxhZykKKwkJKHZvaWQpZGVmYXVsdF9wcmludF9jbGVhbnVwKCk7CiAJcHV0Y2hh
cignXG4nKTsKIH0KZGlmZiAtMiAtdSB0Y3BkdW1wLm9yaWcvcHJpbnQtaXNvY2xucy5jIHRjcGR1
bXAvcHJpbnQtaXNvY2xucy5jCi0tLSB0Y3BkdW1wLm9yaWcvcHJpbnQtaXNvY2xucy5jCVdlZCBT
ZXAgMTYgMDQ6NDY6NTkgMTk5OAorKysgdGNwZHVtcC9wcmludC1pc29jbG5zLmMJV2VkIEZlYiAg
MiAxMzozMzoxMCAyMDAwCkBAIC0yMTgsNiArMjE4LDkgQEAKIAkJfQogCQkodm9pZClwcmludGYo
IiBsZW49JWQgIiwgbGVuZ3RoKTsKLQkJaWYgKCFpc2lzX3ByaW50KHAsIGxlbmd0aCkpCi0JCSAg
ICBkZWZhdWx0X3ByaW50X3VuYWxpZ25lZChwLCBjYXBsZW4pOworCQlpZiAoIWlzaXNfcHJpbnQo
cCwgbGVuZ3RoKSkgeworCQkJKytpbnZYZmxhZzsKKwkJCWRlZmF1bHRfcHJpbnRfdW5hbGlnbmVk
KHAsIGNhcGxlbik7CisJCQktLWludlhmbGFnOworCQl9CiAJCWJyZWFrOwogCkBAIC0yMzcsNiAr
MjQwLDkgQEAKIAkJCQkgICAgIGV0aGVyYWRkcl9zdHJpbmcoZWRzdCkpOwogCQkodm9pZClwcmlu
dGYoIiBsZW49JWQgIiwgbGVuZ3RoKTsKLQkJaWYgKGNhcGxlbiA+IDEpCisJCWlmIChjYXBsZW4g
PiAxKSB7CisJCQkrK2ludlhmbGFnOwogCQkJZGVmYXVsdF9wcmludF91bmFsaWduZWQocCwgY2Fw
bGVuKTsKKwkJCS0taW52WGZsYWc7CisJCX0KIAkJYnJlYWs7CiAJfQpAQCAtMzEyLDUgKzMxOCw3
IEBACiAJCXByaW50ZigiIGJhZCBja3N1bSAoZ290ICUwMnglMDJ4KSIsCiAJCSAgICAgICBlaC0+
Y2tzdW1bMV0sIGVoLT5ja3N1bVswXSk7CisJCSsraW52WGZsYWc7CiAJCWRlZmF1bHRfcHJpbnQo
cCwgbGVuZ3RoKTsKKwkJLS1pbnZYZmxhZzsKIAkJcmV0dXJuOwogCX0KQEAgLTM3MCw1ICszNzgs
NyBAQAogCQlpZiAobGVuZ3RoICYmIHAgPCBzbmFwZW5kKSB7CiAJCQlsZW5ndGggPSBzbmFwZW5k
IC0gcDsKKwkJCSsraW52WGZsYWc7CiAJCQlkZWZhdWx0X3ByaW50KHAsIGxlbmd0aCk7CisJCQkt
LWludlhmbGFnOwogCQl9CiAJCXJldHVybjsKQEAgLTYyMyw1ICs2MzMsNyBAQAogCWNhc2UgVExW
X0FVVEhFTlQ6CiAJICAgIHByaW50ZigiXG5cdFx0XHQgYXV0aGVudGljYXRpb24gZGF0YSIpOwor
CSAgICArK2ludlhmbGFnOwogCSAgICBkZWZhdWx0X3ByaW50KHBwdHIsIGxlbik7CisJICAgIC0t
aW52WGZsYWc7CiAJICAgIGJyZWFrOwogCWNhc2UgVExWX1BUUF9BREo6CmRpZmYgLTIgLXUgdGNw
ZHVtcC5vcmlnL3ByaW50LWxsYy5jIHRjcGR1bXAvcHJpbnQtbGxjLmMKLS0tIHRjcGR1bXAub3Jp
Zy9wcmludC1sbGMuYwlXZWQgU2VwIDE2IDA0OjQ2OjU5IDE5OTgKKysrIHRjcGR1bXAvcHJpbnQt
bGxjLmMJV2VkIEZlYiAgMiAxMzozMzoxMCAyMDAwCkBAIC02OSw1ICs2OSw3IEBACiAJaWYgKGNh
cGxlbiA8IDMpIHsKIAkJKHZvaWQpcHJpbnRmKCJbfGxsY10iKTsKKwkJKytpbnZYZmxhZzsKIAkJ
ZGVmYXVsdF9wcmludCgodV9jaGFyICopcCwgY2FwbGVuKTsKKwkJLS1pbnZYZmxhZzsKIAkJcmV0
dXJuKDApOwogCX0KQEAgLTk0LDUgKzk2LDcgQEAKIAkJaWYgKGNhcGxlbiA8IHNpemVvZihsbGMp
KSB7CiAJCSAgICAodm9pZClwcmludGYoIlt8bGxjLXNuYXBdIik7CisJCSAgICArK2ludlhmbGFn
OwogCQkgICAgZGVmYXVsdF9wcmludCgodV9jaGFyICopcCwgY2FwbGVuKTsKKwkJICAgIC0taW52
WGZsYWc7CiAJCSAgICByZXR1cm4gKDApOwogCQl9CkBAIC0xODcsNSArMTkxLDcgQEAKIAkodm9p
ZClwcmludGYoIiBsZW49JWQiLCBsZW5ndGgpOwogCWlmIChjYXBsZW4gPiAwICYmICFxZmxhZykg
eworCQkrK2ludlhmbGFnOwogCQlkZWZhdWx0X3ByaW50X3VuYWxpZ25lZChwLCBjYXBsZW4pOwor
CQktLWludlhmbGFnOwogCX0KIAlyZXR1cm4oMSk7CmRpZmYgLTIgLXUgdGNwZHVtcC5vcmlnL3By
aW50LW51bGwuYyB0Y3BkdW1wL3ByaW50LW51bGwuYwotLS0gdGNwZHVtcC5vcmlnL3ByaW50LW51
bGwuYwlXZWQgU2VwIDE2IDA0OjQ2OjU5IDE5OTgKKysrIHRjcGR1bXAvcHJpbnQtbnVsbC5jCVdl
ZCBGZWIgIDIgMTM6MzM6MTAgMjAwMApAQCAtMTE5LDQgKzExOSw2IEBACiAJaWYgKHhmbGFnKQog
CQlkZWZhdWx0X3ByaW50KChjb25zdCB1X2NoYXIgKilpcCwgY2FwbGVuIC0gTlVMTF9IRFJMRU4p
OworCWlmIChYZmxhZykKKwkJKHZvaWQpZGVmYXVsdF9wcmludF9jbGVhbnVwKCk7CiAJcHV0Y2hh
cignXG4nKTsKIH0KZGlmZiAtMiAtdSB0Y3BkdW1wLm9yaWcvcHJpbnQtcHBwLmMgdGNwZHVtcC9w
cmludC1wcHAuYwotLS0gdGNwZHVtcC5vcmlnL3ByaW50LXBwcC5jCVdlZCBTZXAgMTYgMDQ6NDY6
NTkgMTk5OAorKysgdGNwZHVtcC9wcmludC1wcHAuYwlXZWQgRmViICAyIDEzOjMzOjEwIDIwMDAK
QEAgLTUzMSw0ICs1MzEsNiBAQAogCQkJCWNhcGxlbiAtIFBQUF9IRFJMRU4pOwogb3V0OgorCWlm
IChYZmxhZykKKwkJKHZvaWQpZGVmYXVsdF9wcmludF9jbGVhbnVwKCk7CiAJcHV0Y2hhcignXG4n
KTsKIH0KQEAgLTYwOCw0ICs2MTAsNiBAQAogCQlkZWZhdWx0X3ByaW50KChjb25zdCB1X2NoYXIg
KilwLCBjYXBsZW4gLSBoZHJsZW5ndGgpOwogb3V0OgorCWlmIChYZmxhZykKKwkJKHZvaWQpZGVm
YXVsdF9wcmludF9jbGVhbnVwKCk7CiAJcHV0Y2hhcignXG4nKTsKIH0KZGlmZiAtMiAtdSB0Y3Bk
dW1wLm9yaWcvcHJpbnQtcmF3LmMgdGNwZHVtcC9wcmludC1yYXcuYwotLS0gdGNwZHVtcC5vcmln
L3ByaW50LXJhdy5jCVdlZCBTZXAgMTYgMDQ6MzY6MzAgMTk5OAorKysgdGNwZHVtcC9wcmludC1y
YXcuYwlXZWQgRmViICAyIDEzOjMzOjEwIDIwMDAKQEAgLTg1LDQgKzg1LDYgQEAKIAlpZiAoeGZs
YWcpCiAJCWRlZmF1bHRfcHJpbnQocCwgY2FwbGVuKTsKKwlpZiAoWGZsYWcpCisJCSh2b2lkKWRl
ZmF1bHRfcHJpbnRfY2xlYW51cCgpOwogCXB1dGNoYXIoJ1xuJyk7CiB9CmRpZmYgLTIgLXUgdGNw
ZHVtcC5vcmlnL3ByaW50LXNsLmMgdGNwZHVtcC9wcmludC1zbC5jCi0tLSB0Y3BkdW1wLm9yaWcv
cHJpbnQtc2wuYwlXZWQgU2VwIDE2IDA0OjQ2OjU5IDE5OTgKKysrIHRjcGR1bXAvcHJpbnQtc2wu
YwlXZWQgRmViICAyIDEzOjMzOjEwIDIwMDAKQEAgLTExMCw0ICsxMTAsNiBAQAogCQlkZWZhdWx0
X3ByaW50KCh1X2NoYXIgKilpcCwgY2FwbGVuIC0gU0xJUF9IRFJMRU4pOwogIG91dDoKKwlpZiAo
WGZsYWcpCisJCSh2b2lkKWRlZmF1bHRfcHJpbnRfY2xlYW51cCgpOwogCXB1dGNoYXIoJ1xuJyk7
CiB9CkBAIC0xNDksNCArMTUxLDYgQEAKIAkJZGVmYXVsdF9wcmludCgodV9jaGFyICopaXAsIGNh
cGxlbiAtIFNMSVBfSERSTEVOKTsKICBvdXQ6CisJaWYgKFhmbGFnKQorCQkodm9pZClkZWZhdWx0
X3ByaW50X2NsZWFudXAoKTsKIAlwdXRjaGFyKCdcbicpOwogfQpkaWZmIC0yIC11IHRjcGR1bXAu
b3JpZy90Y3BkdW1wLjEgdGNwZHVtcC90Y3BkdW1wLjEKLS0tIHRjcGR1bXAub3JpZy90Y3BkdW1w
LjEJVHVlIERlYyAyOSAxMTo1MzowOCAxOTk4CisrKyB0Y3BkdW1wL3RjcGR1bXAuMQlXZWQgRmVi
ICAyIDEzOjMzOjEwIDIwMDAKQEAgLTIxLDUgKzIxLDUgQEAKIC5cIiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLgogLlwiCi0uVEggVENQRFVNUCAx
ICAiMzAgSnVuZSAxOTk3IgorLlRIIFRDUERVTVAgMSAgIjAyIEZlYiAyMDAwIgogLlNIIE5BTUUK
IHRjcGR1bXAgXC0gZHVtcCB0cmFmZmljIG9uIGEgbmV0d29yawpAQCAtMjgsNSArMjgsNSBAQAog
LkIgdGNwZHVtcAogWwotLkIgXC1hZGVmbG5OT3BxU3R2eAorLkIgXC1hZGVmbG5OT3BxU3R2eFgK
IF0gWwogLkIgXC1jCkBAIC0yMTQsNCArMjE0LDExIEBACiBQcmludCBlYWNoIHBhY2tldCAobWlu
dXMgaXRzIGxpbmsgbGV2ZWwgaGVhZGVyKSBpbiBoZXguCiBUaGUgc21hbGxlciBvZiB0aGUgZW50
aXJlIHBhY2tldCBvcgorLkkgc25hcGxlbgorYnl0ZXMgd2lsbCBiZSBwcmludGVkLgorLlRQCisu
QiBcLVgKK1ByaW50IGVhY2ggcGFja2V0IChtaW51cyBpdHMgbGluayBsZXZlbCBoZWFkZXIpIGlu
IGhleCBhbmQgCisuSSBhc2NpaQorY29kZS4gVGhlIHNtYWxsZXIgb2YgdGhlIGVudGlyZSBwYWNr
ZXQgb3IKIC5JIHNuYXBsZW4KIGJ5dGVzIHdpbGwgYmUgcHJpbnRlZC4KZGlmZiAtMiAtdSB0Y3Bk
dW1wLm9yaWcvdGNwZHVtcC5jIHRjcGR1bXAvdGNwZHVtcC5jCi0tLSB0Y3BkdW1wLm9yaWcvdGNw
ZHVtcC5jCVdlZCBTZXAgMTYgMDQ6MzY6MzEgMTk5OAorKysgdGNwZHVtcC90Y3BkdW1wLmMJV2Vk
IEZlYiAgMiAxMzozMzoxMCAyMDAwCkBAIC02Nyw3ICs2NywxMiBAQAogaW50IHZmbGFnOwkJCS8q
IHZlcmJvc2UgKi8KIGludCB4ZmxhZzsJCQkvKiBwcmludCBwYWNrZXQgaW4gaGV4ICovCitpbnQg
WGZsYWc7CQkJLyogcHJpbnQgcGFja2V0IGluIGhleCBhbmQgYXNjaWkgKi8KK2ludCBpbnZYZmxh
ZzsJCQkvKiBkZXRlciBYZmxhZy9hc2NpaSAoc29ycnkgbm8gYW4gaWRlYSkgKi8KIAogaW50IHBh
Y2tldHR5cGU7CiAKK2NoYXIgc3RyaW5nc19wdHRuWzE3XSA9ICIuLi4uLi4uLi4uLi4uLi4iOwor
Y2hhciAqc3RyaW5nc19wdHRwOworaW50IHN0cmluZ3NfbGVuOwogCiBjaGFyICpwcm9ncmFtX25h
bWU7CkBAIC0xMzUsNCArMTQwLDcgQEAKIAljaGFyIGVidWZbUENBUF9FUlJCVUZfU0laRV07CiAK
KwlzdHJpbmdzX3B0dHAgPSBzdHJpbmdzX3B0dG47CisJc3RyaW5nc19sZW4gPSAwOworCiAJY250
ID0gLTE7CiAJZGV2aWNlID0gTlVMTDsKQEAgLTE1MCw1ICsxNTgsNSBAQAogCW9wdGVyciA9IDA7
CiAJd2hpbGUgKAotCSAgICAob3AgPSBnZXRvcHQoYXJnYywgYXJndiwgImFjOmRlZkY6aTpsbk5P
cHFyOnM6U3RUOnZ3OnhZIikpICE9IEVPRikKKwkgICAgKG9wID0gZ2V0b3B0KGFyZ2MsIGFyZ3Ys
ICJhYzpkZWZGOmk6bG5OT3BxcjpzOlN0VDp2dzp4WFkiKSkgIT0gRU9GKQogCQlzd2l0Y2ggKG9w
KSB7CiAKQEAgLTI2MCw0ICsyNjgsNiBAQAogCQkJYnJlYWs7CiAjZW5kaWYKKwkJY2FzZSAnWCc6
CisJCQkrK1hmbGFnOwogCQljYXNlICd4JzoKIAkJCSsreGZsYWc7CkBAIC0zODIsNCArMzkyLDQx
IEBACiB9CiAKK3ZvaWQKK2RlZmF1bHRfcHJpbnRfbGYodm9pZCkKK3sKKwlpZiAoc3RyaW5nc19s
ZW4pIHsKKwkJKHZvaWQpcHJpbnRmKCJcdHwlc3wiLHN0cmluZ3NfcHR0bik7CisJCXN0cmluZ3Nf
bGVuID0gMDsKKwkJc3RyaW5nc19wdHRwID0gc3RyaW5nc19wdHRuOworCX0KKwkodm9pZClwcmlu
dGYoIFhmbGFnID8gIlxuXHQiIDogIlxuXHRcdFx0Iik7Cit9CisKK3ZvaWQKK2RlZmF1bHRfcHJp
bnRfY2xlYW51cCh2b2lkKQoreworCWlmIChzdHJpbmdzX2xlbikgeworCQlzdHJpbmdzX2xlbiA9
IDE2IC0gc3RyaW5nc19sZW47CisJCWRvIHsKKwkJCSh2b2lkKXByaW50Zigoc3RyaW5nc19sZW4g
JiAxKSA/ICIgICIgOiAiICAgIik7CisJCQkqc3RyaW5nc19wdHRwKysgPSAweDIwOworCQl9IHdo
aWxlKC0tc3RyaW5nc19sZW4pOworCisJCSh2b2lkKXByaW50ZigiXHR8JXN8IixzdHJpbmdzX3B0
dG4pOworCQlzdHJpbmdzX2xlbiA9IDA7CisJCXN0cmluZ3NfcHR0cCA9IHN0cmluZ3NfcHR0bjsK
Kwl9Cit9CisKK3VfY2hhcgorZGVmYXVsdF9wcmludF9zdHJpbmdzX2NvbnYocmVnaXN0ZXIgdV9j
aGFyIGNoKQoreworCWlmIChYZmxhZykgeworCQkqc3RyaW5nc19wdHRwKysgPSAoKGNoIDwgMHgy
MCkgfHwgKGNoID4gMHg3ZSkpID8gMHgyZSA6IGNoOworCQkrK3N0cmluZ3NfbGVuOworCX0KKwly
ZXR1cm4gY2g7Cit9CisKIC8qIExpa2UgZGVmYXVsdF9wcmludCgpIGJ1dCBkYXRhIG5lZWQgbm90
IGJlIGFsaWduZWQgKi8KIHZvaWQKQEAgLTM5MywxMiArNDQwLDEyIEBACiAJd2hpbGUgKC0tbnNo
b3J0cyA+PSAwKSB7CiAJCWlmICgoaSsrICUgOCkgPT0gMCkKLQkJCSh2b2lkKXByaW50ZigiXG5c
dFx0XHQiKTsKKwkJCWRlZmF1bHRfcHJpbnRfbGYoKTsKIAkJcyA9ICpjcCsrOwotCQkodm9pZClw
cmludGYoIiAlMDJ4JTAyeCIsIHMsICpjcCsrKTsKKwkJKHZvaWQpcHJpbnRmKCIgJTAyeCUwMngi
LCBkZWZhdWx0X3ByaW50X3N0cmluZ3NfY29udihzKSwgZGVmYXVsdF9wcmludF9zdHJpbmdzX2Nv
bnYoKmNwKyspKTsKIAl9CiAJaWYgKGxlbmd0aCAmIDEpIHsKIAkJaWYgKChpICUgOCkgPT0gMCkK
LQkJCSh2b2lkKXByaW50ZigiXG5cdFx0XHQiKTsKLQkJKHZvaWQpcHJpbnRmKCIgJTAyeCIsICpj
cCk7CisJCQlkZWZhdWx0X3ByaW50X2xmKCk7CisJCSh2b2lkKXByaW50ZigiICUwMngiLCBkZWZh
dWx0X3ByaW50X3N0cmluZ3NfY29udigqY3ApKTsKIAl9CiB9CkBAIC00MjUsMTEgKzQ3MiwxNCBA
QAogCXdoaWxlICgtLW5zaG9ydHMgPj0gMCkgewogCQlpZiAoKGkrKyAlIDgpID09IDApCi0JCQko
dm9pZClwcmludGYoIlxuXHRcdFx0Iik7CisJCQlkZWZhdWx0X3ByaW50X2xmKCk7CiAJCSh2b2lk
KXByaW50ZigiICUwNHgiLCBudG9ocygqc3ArKykpOworCQkodm9pZClkZWZhdWx0X3ByaW50X3N0
cmluZ3NfY29udigqYnArKyk7CisJCSh2b2lkKWRlZmF1bHRfcHJpbnRfc3RyaW5nc19jb252KCpi
cCsrKTsKIAl9CiAJaWYgKGxlbmd0aCAmIDEpIHsKIAkJaWYgKChpICUgOCkgPT0gMCkKLQkJCSh2
b2lkKXByaW50ZigiXG5cdFx0XHQiKTsKKwkJCWRlZmF1bHRfcHJpbnRfbGYoKTsKIAkJKHZvaWQp
cHJpbnRmKCIgJTAyeCIsICoodV9jaGFyICopc3ApOworCQkodm9pZClkZWZhdWx0X3ByaW50X3N0
cmluZ3NfY29udigqYnApOwogCX0KIH0KQEAgLTQ0NCw1ICs0OTQsNSBAQAogCSh2b2lkKWZwcmlu
dGYoc3RkZXJyLCAibGlicGNhcCB2ZXJzaW9uICVzXG4iLCBwY2FwX3ZlcnNpb24pOwogCSh2b2lk
KWZwcmludGYoc3RkZXJyLAotIlVzYWdlOiAlcyBbLWFkZWZsbk5PcHFTdHZ4XSBbLWMgY291bnRd
IFsgLUYgZmlsZSBdXG4iLCBwcm9ncmFtX25hbWUpOworIlVzYWdlOiAlcyBbLWFkZWZsbk5PcHFT
dHZ4WF0gWy1jIGNvdW50XSBbIC1GIGZpbGUgXVxuIiwgcHJvZ3JhbV9uYW1lKTsKIAkodm9pZClm
cHJpbnRmKHN0ZGVyciwKICJcdFx0WyAtaSBpbnRlcmZhY2UgXSBbIC1yIGZpbGUgXSBbIC1zIHNu
YXBsZW4gXVxuIik7Cg==

--V2VkLCAwMiBGZWIgMjAwMCAxNDoxMzozOCArMDkwMA==--
