Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 19 Oct 2006 07:21:14 -0700 (PDT)
From:      Martin Voros <martin_voros@yahoo.com>
To:        trustedbsd-audit@FreeBSD.org
Subject:   praudit - xml output patches
Message-ID:  <20061019142114.30659.qmail@web55515.mail.re4.yahoo.com>

next in thread | raw e-mail | index | archive | help
--0-26714257-1161267674=:28910
Content-Type: text/plain; charset=iso-8859-1
Content-Transfer-Encoding: 8bit

Hi all,

finally I found some time and prepared patches which add XML output for OpenBSM praudit utility and improve audit.log.5 manual page. I made these patches against OpenBSM 1.0 alpha 12 release. Unfortunately, I can't test 64 bits tokens and also I couldn't test some other tokens so I call for testing. Of course all comments and suggestions are welcome. I also added some token descriptions to audit.log.5 manual page.

Instructions:
# cd DIR_WITH_OBSM_alpha12
# patch < xml.patch
# patch < doc.patch

Best regards 
MV
 		
---------------------------------
Get your email and more, right on the  new Yahoo.com 
--0-26714257-1161267674=:28910
Content-Type: application/octet-stream; name="xml.patch"
Content-Transfer-Encoding: base64
Content-Description: 2279654603-xml.patch
Content-Disposition: attachment; filename="xml.patch"

SW5kZXg6ICBiaW4vcHJhdWRpdC9wcmF1ZGl0LmMKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gYmluL3ByYXVkaXQvcHJhdWRpdC5jCVNhdCBTZXAgIDIg
MTA6NDU6NTkgMjAwNgorKysgYmluL3ByYXVkaXQvcHJhdWRpdC5jCVdlZCBP
Y3QgMTEgMTU6NTA6MjEgMjAwNgpAQCAtMzQsNyArMzQsNyBAQAogICovCiAK
IC8qCi0gKiBwcmF1ZGl0IFstbHJzXSBbLWRkZWxdIFtmaWxlbmFtZXNdCisg
KiBwcmF1ZGl0IFstbHJzeF0gWy1kZGVsXSBbZmlsZW5hbWVzXQogICovCiAK
ICNpbmNsdWRlIDxic20vbGliYnNtLmg+CkBAIC01MSwxMiArNTEsMTMgQEAK
IHN0YXRpYyBpbnQJIHJhdyA9IDA7CiBzdGF0aWMgaW50CSBzaG9ydGZybSA9
IDA7CiBzdGF0aWMgaW50CSBwYXJ0aWFsID0gMDsKK3N0YXRpYyBpbnQgCSB4
bWwgPSAwOwogCiBzdGF0aWMgdm9pZAogdXNhZ2UoKQogewogCi0JZnByaW50
ZihzdGRlcnIsICJVc2FnZTogcHJhdWRpdCBbLWxyc10gWy1kZGVsXSBbZmls
ZW5hbWVzXVxuIik7CisJZnByaW50ZihzdGRlcnIsICJVc2FnZTogcHJhdWRp
dCBbLWxyc3hdIFstZGRlbF0gW2ZpbGVuYW1lc11cbiIpOwogCWV4aXQoMSk7
CiB9CiAKQEAgLTg4LDcgKzg5LDcgQEAKIAkJCWlmICgtMSA9PSBhdV9mZXRj
aF90b2soJnRvaywgYnVmICsgYnl0ZXNyZWFkLAogCQkJICAgIHJlY2xlbiAt
IGJ5dGVzcmVhZCkpCiAJCQkJYnJlYWs7Ci0JCQlhdV9wcmludF90b2soc3Rk
b3V0LCAmdG9rLCBkZWwsIHJhdywgc2hvcnRmcm0pOworCQkJYXVfcHJpbnRf
dG9rKHN0ZG91dCwgJnRvaywgZGVsLCByYXcsIHNob3J0ZnJtLCB4bWwpOwog
CQkJYnl0ZXNyZWFkICs9IHRvay5sZW47CiAJCQlpZiAob25lbGluZSkKIAkJ
CQlwcmludGYoIiVzIiwgZGVsKTsKQEAgLTEwOSw3ICsxMTAsNyBAQAogCWlu
dCBpOwogCUZJTEUgKmZwOwogCi0Jd2hpbGUgKChjaCA9IGdldG9wdChhcmdj
LCBhcmd2LCAibHByc2Q6IikpICE9IC0xKSB7CisJd2hpbGUgKChjaCA9IGdl
dG9wdChhcmdjLCBhcmd2LCAibHByc3hkOiIpKSAhPSAtMSkgewogCQlzd2l0
Y2goY2gpIHsKIAkJY2FzZSAnbCc6CiAJCQlvbmVsaW5lID0gMTsKQEAgLTEy
Nyw2ICsxMjgsMTAgQEAKIAkJCXNob3J0ZnJtID0gMTsKIAkJCWJyZWFrOwog
CisJCWNhc2UgJ3gnOgorCQkJeG1sID0gMTsKKwkJCWJyZWFrOworIAogCQlj
YXNlICdkJzoKIAkJCWRlbCA9IG9wdGFyZzsKIAkJCWJyZWFrOwpAQCAtMTQx
LDYgKzE0Niw5IEBACiAJCX0KIAl9CiAKKwlpZiAoeG1sKSAKKwkJcHJpbnRf
eG1sX2hlYWRlcihzdGRvdXQpOworCiAJLyogRm9yIGVhY2ggb2YgdGhlIGZp
bGVzIHBhc3NlZCBhcyBhcmd1bWVudHMgZHVtcCB0aGUgY29udGVudHMuICov
CiAJaWYgKG9wdGluZCA9PSBhcmdjKSB7CiAJCXByaW50X3Rva2VucyhzdGRp
bik7CkBAIC0xNTMsNSArMTYxLDkgQEAKIAkJaWYgKGZwICE9IE5VTEwpCiAJ
CQlmY2xvc2UoZnApOwogCX0KKworCWlmICh4bWwpCisJCXByaW50X3htbF9m
b290ZXIoc3Rkb3V0KTsKKwogCXJldHVybiAoMSk7CiB9CkluZGV4OiAgIGJz
bS9saWJic20uaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBic20vbGli
YnNtLmgJVHVlIE9jdCAgMyAxMToyODozMSAyMDA2CisrKyBic20vbGliYnNt
LmgJV2VkIE9jdCAxMSAxNTo0ODo1MyAyMDA2CkBAIC03NzAsNyArNzcwLDEz
IEBACiBpbnQJCQkgYXVfZmV0Y2hfdG9rKHRva2Vuc3RyX3QgKnRvaywgdV9j
aGFyICpidWYsIGludCBsZW4pOwogLy9YWFggVGhlIGZvbGxvd2luZyBpbnRl
cmZhY2UgaGFzIGRpZmZlcmVudCBwcm90b3R5cGUgZnJvbSBCU00KIHZvaWQJ
CQkgYXVfcHJpbnRfdG9rKEZJTEUgKm91dGZwLCB0b2tlbnN0cl90ICp0b2ss
Ci0JCQkgICAgY2hhciAqZGVsLCBjaGFyIHJhdywgY2hhciBzZnJtKTsKKwkJ
CSAgICBjaGFyICpkZWwsIGNoYXIgcmF3LCBjaGFyIHNmcm0sIGNoYXIgeG1s
KTsKKworLyogCisgKiBGdW5jdG9pbnMgcmVsYXRpbmcgdG8gWE1MIG91dHB1
dAorICovCit2b2lkCQkJIHByaW50X3htbF9oZWFkZXIoRklMRSAqb3V0ZnAp
Owordm9pZAkJCSBwcmludF94bWxfZm9vdGVyKEZJTEUgKm91dGZwKTsKIF9f
RU5EX0RFQ0xTCiAKIC8qCgpJbmRleDogbGliYnNtL2JzbV9pby5jCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIGxpYmJzbS9ic21faW8uYwlUdWUgT2N0
ICAzIDExOjI4OjM1IDIwMDYKKysrIGxpYmJzbS9ic21faW8uYwlXZWQgT2N0
IDExIDE2OjAxOjU2IDIwMDYKQEAgLTIwNywxNiArMjA3LDMzNCBAQAogfQog
CiAvKgorICogUHJpbnRzIHRoZSBiZWdnaW5pbmcgb2YgYXR0cmlidXRlLgor
ICovCitzdGF0aWMgdm9pZAorb3Blbl9hdHRyKEZJTEUgKmZwLCB1X2NoYXIg
KnN0cikKK3sKKworCWZwcmludGYoZnAsIiVzPVwiIiwgc3RyKTsKK30KKwor
LyoKKyAqIFByaW50cyB0aGUgZW5kIG9mIGF0dHJpYnV0ZS4KKyAqLworc3Rh
dGljIHZvaWQKK2Nsb3NlX2F0dHIoRklMRSAqZnApCit7CisKKwlmcHJpbnRm
KGZwLCJcIiAiKTsKK30KKworLyoKKyAqIFByaW50cyB0aGUgZW5kIG9mIHRh
Zy4KKyAqLworc3RhdGljIHZvaWQKK2Nsb3NlX3RhZyhGSUxFICpmcCwgdV9j
aGFyIHR5cGUpCit7CisKKwlzd2l0Y2godHlwZSkgeworCQljYXNlIEFVVF9I
RUFERVIzMjoKKwkJCWZwcmludGYoZnAsICI+Iik7CisJCQlicmVhazsKKwor
CQljYXNlIEFVVF9IRUFERVIzMl9FWDoKKwkJCWZwcmludGYoZnAsICI+Iik7
CisJCQlicmVhazsKKworCQljYXNlIEFVVF9IRUFERVI2NDoKKwkJCWZwcmlu
dGYoZnAsICI+Iik7CisJCQlicmVhazsKKworCQljYXNlIEFVVF9IRUFERVI2
NF9FWDoKKwkJCWZwcmludGYoZnAsICI+Iik7CisJCQlicmVhazsKKworCQlj
YXNlIEFVVF9BUkczMjoKKwkJCWZwcmludGYoZnAsICIvPiIpOworCQkJYnJl
YWs7CisKKwkJY2FzZSBBVVRfQVJHNjQ6CisJCQlmcHJpbnRmKGZwLCAiLz4i
KTsKKwkJCWJyZWFrOworCisJCWNhc2UgQVVUX0FUVFIzMjoKKwkJCWZwcmlu
dGYoZnAsICIvPiIpOworCQkJYnJlYWs7CisKKwkJY2FzZSBBVVRfQVRUUjY0
OgorCQkJZnByaW50ZihmcCwgIi8+Iik7CisJCQlicmVhazsKKworCQljYXNl
IEFVVF9FWElUOgorCQkJZnByaW50ZihmcCwgIi8+Iik7CisJCQlicmVhazsK
KworCQljYXNlIEFVVF9FWEVDX0FSR1M6CisJCQlmcHJpbnRmKGZwLCAiPC9l
eGVjX2FyZ3M+Iik7CisJCQlicmVhazsKKworCQljYXNlIEFVVF9FWEVDX0VO
VjoKKwkJCWZwcmludGYoZnAsICI8L2V4ZWNfZW52PiIpOworCQkJYnJlYWs7
CisKKwkJY2FzZSBBVVRfT1RIRVJfRklMRTMyOgorCQkJZnByaW50ZihmcCwg
IjwvZmlsZT4iKTsKKwkJCWJyZWFrOworCisJCWNhc2UgQVVUX05FV0dST1VQ
UzoKKwkJCWZwcmludGYoZnAsICI8L2dyb3VwPiIpOworCQkJYnJlYWs7CisK
KwkJY2FzZSBBVVRfSU5fQUREUjoKKwkJCWZwcmludGYoZnAsICI8L2lwX2Fk
ZHJlc3M+Iik7CisJCQlicmVhazsKKworCQljYXNlIEFVVF9JTl9BRERSX0VY
OgorCQkJZnByaW50ZihmcCwgIjwvaXBfYWRkcmVzcz4iKTsKKwkJCWJyZWFr
OworCisJCWNhc2UgQVVUX0lQOgorCQkJZnByaW50ZihmcCwgIi8+Iik7CisJ
CQlicmVhazsKKworCQljYXNlIEFVVF9JUEM6CisJCQlmcHJpbnRmKGZwLCAi
Lz4iKTsKKwkJCWJyZWFrOworCisJCWNhc2UgQVVUX0lQQ19QRVJNOgorCQkJ
ZnByaW50ZihmcCwgIi8+Iik7CisJCQlicmVhazsKKworCQljYXNlIEFVVF9J
UE9SVDoKKwkJCWZwcmludGYoZnAsICI8L2lwX3BvcnQ+Iik7CisJCQlicmVh
azsKKworCQljYXNlIEFVVF9PUEFRVUU6CisJCQlmcHJpbnRmKGZwLCAiPC9v
cGFxdWU+Iik7CisJCQlicmVhazsKKworCQljYXNlIEFVVF9QQVRIOgorCQkJ
ZnByaW50ZihmcCwgIjwvcGF0aD4iKTsKKwkJCWJyZWFrOworCisJCWNhc2Ug
QVVUX1BST0NFU1MzMjoKKwkJCWZwcmludGYoZnAsICIvPiIpOworCQkJYnJl
YWs7CisKKwkJY2FzZSBBVVRfUFJPQ0VTUzMyX0VYOgorCQkJZnByaW50Zihm
cCwgIi8+Iik7CisJCQlicmVhazsKKworCQljYXNlIEFVVF9SRVRVUk4zMjoK
KwkJCWZwcmludGYoZnAsICIvPiIpOworCQkJYnJlYWs7CisKKwkJY2FzZSBB
VVRfUkVUVVJONjQ6CisJCQlmcHJpbnRmKGZwLCAiLz4iKTsKKwkJCWJyZWFr
OworCisJCWNhc2UgQVVUX1NFUToKKwkJCWZwcmludGYoZnAsICIvPiIpOwor
CQkJYnJlYWs7CisKKwkJY2FzZSBBVVRfU09DS0VUOgorCQkJZnByaW50Zihm
cCwgIi8+Iik7CisJCQlicmVhazsKKworCQljYXNlIEFVVF9TT0NLSU5FVDMy
OgorCQkJZnByaW50ZihmcCwgIi8+Iik7CisJCQlicmVhazsKKworCQljYXNl
IEFVVF9TT0NLVU5JWDoKKwkJCWZwcmludGYoZnAsICIvPiIpOworCQkJYnJl
YWs7CisKKwkJY2FzZSBBVVRfU1VCSkVDVDMyOgorCQkJZnByaW50ZihmcCwg
Ii8+Iik7CisJCQlicmVhazsKKworCQljYXNlIEFVVF9TVUJKRUNUNjQ6CisJ
CQlmcHJpbnRmKGZwLCAiLz4iKTsKKwkJCWJyZWFrOworCisJCWNhc2UgQVVU
X1NVQkpFQ1QzMl9FWDoKKwkJCWZwcmludGYoZnAsICIvPiIpOworCQkJYnJl
YWs7CisKKwkJY2FzZSBBVVRfVEVYVDoKKwkJCWZwcmludGYoZnAsICI8L3Rl
eHQ+Iik7CisJCQlicmVhazsKKworCQljYXNlIEFVVF9TT0NLRVRfRVg6CisJ
CQlmcHJpbnRmKGZwLCAiLz4iKTsKKwkJCWJyZWFrOworCisJCWNhc2UgQVVU
X0RBVEE6CisJCQlmcHJpbnRmKGZwLCAiPC9hcmJpdHJhcnk+Iik7CisJCQli
cmVhazsKKwl9Cit9CisKKy8qCiAgKiBQcmludHMgdGhlIHRva2VuIHR5cGUg
aW4gZWl0aGVyIHRoZSByYXcgb3IgdGhlIGRlZmF1bHQgZm9ybS4KICAqLwog
c3RhdGljIHZvaWQKLXByaW50X3Rva190eXBlKEZJTEUgKmZwLCB1X2NoYXIg
dHlwZSwgY29uc3QgY2hhciAqdG9rbmFtZSwgY2hhciByYXcpCitwcmludF90
b2tfdHlwZShGSUxFICpmcCwgdV9jaGFyIHR5cGUsIGNvbnN0IGNoYXIgKnRv
a25hbWUsIGNoYXIgcmF3LCBjaGFyIHhtbCkKIHsKIAotCWlmIChyYXcpCi0J
CWZwcmludGYoZnAsICIldSIsIHR5cGUpOwotCWVsc2UKLQkJZnByaW50Zihm
cCwgIiVzIiwgdG9rbmFtZSk7CisJaWYgKHhtbCkgeworCQlzd2l0Y2godHlw
ZSkgeworCQkJY2FzZSBBVVRfSEVBREVSMzI6CisJCQkJZnByaW50ZihmcCwg
IjxyZWNvcmQgIik7CisJCQkJYnJlYWs7CisKKwkJCWNhc2UgQVVUX0hFQURF
UjMyX0VYOgorCQkJCWZwcmludGYoZnAsICI8cmVjb3JkICIpOworCQkJCWJy
ZWFrOworCisJCQljYXNlIEFVVF9IRUFERVI2NDoKKwkJCQlmcHJpbnRmKGZw
LCAiPHJlY29yZCAiKTsKKwkJCQlicmVhazsKKworCQkJY2FzZSBBVVRfSEVB
REVSNjRfRVg6CisJCQkJZnByaW50ZihmcCwgIjxyZWNvcmQgIik7CisJCQkJ
YnJlYWs7CisKKwkJCWNhc2UgQVVUX1RSQUlMRVI6CisJCQkJZnByaW50Zihm
cCwgIjwvcmVjb3JkPiIpOworCQkJCWJyZWFrOworCisJCQljYXNlIEFVVF9B
UkczMjoKKwkJCQlmcHJpbnRmKGZwLCAiPGFyZ3VtZW50ICIpOworCQkJCWJy
ZWFrOworCisJCQljYXNlIEFVVF9BUkc2NDoKKwkJCQlmcHJpbnRmKGZwLCAi
PGFyZ3VtZW50ICIpOworCQkJCWJyZWFrOworCisJCQljYXNlIEFVVF9BVFRS
MzI6CisJCQkJZnByaW50ZihmcCwgIjxhdHRyaWJ1dGUgIik7CisJCQkJYnJl
YWs7CisKKwkJCWNhc2UgQVVUX0FUVFI2NDoKKwkJCQlmcHJpbnRmKGZwLCAi
PGF0dHJpYnV0ZSAiKTsKKwkJCQlicmVhazsKKworCQkJY2FzZSBBVVRfRVhJ
VDoKKwkJCQlmcHJpbnRmKGZwLCAiPGV4aXQgIik7CisJCQkJYnJlYWs7CisK
KwkJCWNhc2UgQVVUX0VYRUNfQVJHUzoKKwkJCQlmcHJpbnRmKGZwLCAiPGV4
ZWNfYXJncz4iKTsKKwkJCQlicmVhazsKKworCQkJY2FzZSBBVVRfRVhFQ19F
TlY6CisJCQkJZnByaW50ZihmcCwgIjxleGVjX2Vudj4iKTsKKwkJCQlicmVh
azsKKworCQkJY2FzZSBBVVRfT1RIRVJfRklMRTMyOgorCQkJCWZwcmludGYo
ZnAsICI8ZmlsZSAiKTsKKwkJCQlicmVhazsKKworCQkJY2FzZSBBVVRfTkVX
R1JPVVBTOgorCQkJCWZwcmludGYoZnAsICI8Z3JvdXA+Iik7CisJCQkJYnJl
YWs7CisKKwkJCWNhc2UgQVVUX0lOX0FERFI6CisJCQkJZnByaW50ZihmcCwg
IjxpcF9hZGRyZXNzPiIpOworCQkJCWJyZWFrOworCisJCQljYXNlIEFVVF9J
Tl9BRERSX0VYOgorCQkJCWZwcmludGYoZnAsICI8aXBfYWRkcmVzcz4iKTsK
KwkJCQlicmVhazsKKworCQkJY2FzZSBBVVRfSVA6CisJCQkJZnByaW50Zihm
cCwgIjxpcCAiKTsKKwkJCQlicmVhazsKKworCQkJY2FzZSBBVVRfSVBDOgor
CQkJCWZwcmludGYoZnAsICI8SVBDIik7CisJCQkJYnJlYWs7CisKKwkJCWNh
c2UgQVVUX0lQQ19QRVJNOgorCQkJCWZwcmludGYoZnAsICI8SVBDX3Blcm0g
Iik7CisJCQkJYnJlYWs7CisKKwkJCWNhc2UgQVVUX0lQT1JUOgorCQkJCWZw
cmludGYoZnAsICI8aXBfcG9ydD4iKTsKKwkJCQlicmVhazsKKworCQkJY2Fz
ZSBBVVRfT1BBUVVFOgorCQkJCWZwcmludGYoZnAsICI8b3BhcXVlPiIpOwor
CQkJCWJyZWFrOworCisJCQljYXNlIEFVVF9QQVRIOgorCQkJCWZwcmludGYo
ZnAsICI8cGF0aD4iKTsKKwkJCQlicmVhazsKKworCQkJY2FzZSBBVVRfUFJP
Q0VTUzMyOgorCQkJCWZwcmludGYoZnAsICI8cHJvY2VzcyAiKTsKKwkJCQli
cmVhazsKKworCQkJY2FzZSBBVVRfUFJPQ0VTUzMyX0VYOgorCQkJCWZwcmlu
dGYoZnAsICI8cHJvY2VzcyAiKTsKKwkJCQlicmVhazsKKworCQkJY2FzZSBB
VVRfUkVUVVJOMzI6CisJCQkJZnByaW50ZihmcCwgIjxyZXR1cm4gIik7CisJ
CQkJYnJlYWs7CisKKwkJCWNhc2UgQVVUX1JFVFVSTjY0OgorCQkJCWZwcmlu
dGYoZnAsICI8cmV0dXJuICIpOworCQkJCWJyZWFrOworCisJCQljYXNlIEFV
VF9TRVE6CisJCQkJZnByaW50ZihmcCwgIjxzZXF1ZW5jZSAiKTsKKwkJCQli
cmVhazsKKworCQkJY2FzZSBBVVRfU09DS0VUOgorCQkJCWZwcmludGYoZnAs
ICI8c29ja2V0ICIpOworCQkJCWJyZWFrOworCisJCQljYXNlIEFVVF9TT0NL
SU5FVDMyOgorCQkJCWZwcmludGYoZnAsICI8b2xkX3NvY2tldCIpOworCQkJ
CWJyZWFrOworCisJCQljYXNlIEFVVF9TT0NLVU5JWDoKKwkJCQlmcHJpbnRm
KGZwLCAiPG9sZF9zb2NrZXQiKTsKKwkJCQlicmVhazsKKworCQkJY2FzZSBB
VVRfU1VCSkVDVDMyOgorCQkJCWZwcmludGYoZnAsICI8c3ViamVjdCAiKTsK
KwkJCQlicmVhazsKKworCQkJY2FzZSBBVVRfU1VCSkVDVDY0OgorCQkJCWZw
cmludGYoZnAsICI8c3ViamVjdCAiKTsKKwkJCQlicmVhazsKKworCQkJY2Fz
ZSBBVVRfU1VCSkVDVDMyX0VYOgorCQkJCWZwcmludGYoZnAsICI8c3ViamVj
dCAiKTsKKwkJCQlicmVhazsKKworCQkJY2FzZSBBVVRfVEVYVDoKKwkJCQlm
cHJpbnRmKGZwLCAiPHRleHQ+Iik7CisJCQkJYnJlYWs7CisKKwkJCWNhc2Ug
QVVUX1NPQ0tFVF9FWDoKKwkJCQlmcHJpbnRmKGZwLCAiPHNvY2tldCAiKTsK
KwkJCQlicmVhazsKKworCQkJY2FzZSBBVVRfREFUQToKKwkJCQlmcHJpbnRm
KGZwLCAiPGFyYml0cmFyeSAiKTsKKwkJCQlicmVhazsKKwkJfQorCX0gZWxz
ZSB7CisJCWlmIChyYXcpCisJCQlmcHJpbnRmKGZwLCAiJXUiLCB0eXBlKTsK
KwkJZWxzZQorCQkJZnByaW50ZihmcCwgIiVzIiwgdG9rbmFtZSk7CisJfQog
fQogCiAvKgpAQCAtNDU1LDYgKzc3MywyNyBAQAogfQogCiAvKgorICogUHJp
bnQgWE1MIGhlYWRlcgorICovCit2b2lkCitwcmludF94bWxfaGVhZGVyKEZJ
TEUgKm91dGZwKQoreworCQorCWZwcmludGYob3V0ZnAsICI8P3htbCB2ZXJz
aW9uPScxLjAnID8+XG4iKTsKKwlmcHJpbnRmKG91dGZwLCAiPGF1ZGl0Plxu
Iik7Cit9CisKKy8qCisgKiBQcmludCBYTUwgZm9vdGVyCisgKi8KK3ZvaWQK
K3ByaW50X3htbF9mb290ZXIoRklMRSAqb3V0ZnApCit7CisJCisJZnByaW50
ZihvdXRmcCwgIjwvYXVkaXQ+XG4iKTsKK30KKworLyoKICAqIHJlY29yZCBi
eXRlIGNvdW50ICAgICAgIDQgYnl0ZXMKICAqIHZlcnNpb24gIyAgICAgICAg
ICAgICAgIDEgYnl0ZSAgICBbMl0KICAqIGV2ZW50IHR5cGUgICAgICAgICAg
ICAgIDIgYnl0ZXMKQEAgLTQ5NSwyMiArODM0LDQxIEBACiB9CiAKIHN0YXRp
YyB2b2lkCi1wcmludF9oZWFkZXIzMl90b2soRklMRSAqZnAsIHRva2Vuc3Ry
X3QgKnRvaywgY2hhciAqZGVsLCBjaGFyIHJhdywgY2hhciBzZnJtKQorcHJp
bnRfaGVhZGVyMzJfdG9rKEZJTEUgKmZwLCB0b2tlbnN0cl90ICp0b2ssIGNo
YXIgKmRlbCwgY2hhciByYXcsIGNoYXIgc2ZybSwgY2hhciB4bWwpCiB7CiAK
LQlwcmludF90b2tfdHlwZShmcCwgdG9rLT5pZCwgImhlYWRlciIsIHJhdyk7
Ci0JcHJpbnRfZGVsaW0oZnAsIGRlbCk7Ci0JcHJpbnRfNF9ieXRlcyhmcCwg
dG9rLT50dC5oZHIzMi5zaXplLCAiJXUiKTsKLQlwcmludF9kZWxpbShmcCwg
ZGVsKTsKLQlwcmludF8xX2J5dGUoZnAsIHRvay0+dHQuaGRyMzIudmVyc2lv
biwgIiV1Iik7Ci0JcHJpbnRfZGVsaW0oZnAsIGRlbCk7Ci0JcHJpbnRfZXZl
bnQoZnAsIHRvay0+dHQuaGRyMzIuZV90eXBlLCByYXcsIHNmcm0pOwotCXBy
aW50X2RlbGltKGZwLCBkZWwpOwotCXByaW50X2V2bW9kKGZwLCB0b2stPnR0
LmhkcjMyLmVfbW9kLCByYXcpOwotCXByaW50X2RlbGltKGZwLCBkZWwpOwot
CXByaW50X3NlYzMyKGZwLCB0b2stPnR0LmhkcjMyLnMsIHJhdyk7Ci0JcHJp
bnRfZGVsaW0oZnAsIGRlbCk7Ci0JcHJpbnRfbXNlYzMyKGZwLCB0b2stPnR0
LmhkcjMyLm1zLCByYXcpOworCXByaW50X3Rva190eXBlKGZwLCB0b2stPmlk
LCAiaGVhZGVyIiwgcmF3LCB4bWwpOworCWlmICh4bWwpIHsKKwkJb3Blbl9h
dHRyKGZwLCAidmVyc2lvbiIpOworCQlwcmludF8xX2J5dGUoZnAsIHRvay0+
dHQuaGRyMzIudmVyc2lvbiwgIiV1Iik7CisJCWNsb3NlX2F0dHIoZnApOwor
CQlvcGVuX2F0dHIoZnAsICJldmVudCIpOworCQlwcmludF9ldmVudChmcCwg
dG9rLT50dC5oZHIzMi5lX3R5cGUsIHJhdywgc2ZybSk7CisJCWNsb3NlX2F0
dHIoZnApOworCQlvcGVuX2F0dHIoZnAsICJtb2RpZmllciIpOworCQlwcmlu
dF9ldm1vZChmcCwgdG9rLT50dC5oZHIzMi5lX21vZCwgcmF3KTsKKwkJY2xv
c2VfYXR0cihmcCk7CisJCW9wZW5fYXR0cihmcCwgInRpbWUiKTsKKwkJcHJp
bnRfc2VjMzIoZnAsIHRvay0+dHQuaGRyMzIucywgcmF3KTsKKwkJY2xvc2Vf
YXR0cihmcCk7CisJCW9wZW5fYXR0cihmcCwgIm1zZWMiKTsKKwkJcHJpbnRf
bXNlYzMyKGZwLCB0b2stPnR0LmhkcjMyLm1zLCAxKTsKKwkJY2xvc2VfYXR0
cihmcCk7CisJCWNsb3NlX3RhZyhmcCx0b2stPmlkKTsKKwl9IGVsc2Ugewor
CQlwcmludF9kZWxpbShmcCwgZGVsKTsKKwkJcHJpbnRfNF9ieXRlcyhmcCwg
dG9rLT50dC5oZHIzMi5zaXplLCAiJXUiKTsKKwkJcHJpbnRfZGVsaW0oZnAs
IGRlbCk7CisJCXByaW50XzFfYnl0ZShmcCwgdG9rLT50dC5oZHIzMi52ZXJz
aW9uLCAiJXUiKTsKKwkJcHJpbnRfZGVsaW0oZnAsIGRlbCk7CisJCXByaW50
X2V2ZW50KGZwLCB0b2stPnR0LmhkcjMyLmVfdHlwZSwgcmF3LCBzZnJtKTsK
KwkJcHJpbnRfZGVsaW0oZnAsIGRlbCk7CisJCXByaW50X2V2bW9kKGZwLCB0
b2stPnR0LmhkcjMyLmVfbW9kLCByYXcpOworCQlwcmludF9kZWxpbShmcCwg
ZGVsKTsKKwkJcHJpbnRfc2VjMzIoZnAsIHRvay0+dHQuaGRyMzIucywgcmF3
KTsKKwkJcHJpbnRfZGVsaW0oZnAsIGRlbCk7CisJCXByaW50X21zZWMzMihm
cCwgdG9rLT50dC5oZHIzMi5tcywgcmF3KTsKKwl9CiB9CiAKIC8qCkBAIC01
ODQsMjUgKzk0Miw0OCBAQAogCiBzdGF0aWMgdm9pZAogcHJpbnRfaGVhZGVy
MzJfZXhfdG9rKEZJTEUgKmZwLCB0b2tlbnN0cl90ICp0b2ssIGNoYXIgKmRl
bCwgY2hhciByYXcsCi0gICAgY2hhciBzZnJtKQorICAgIGNoYXIgc2ZybSwg
Y2hhciB4bWwpCiB7CiAKLQlwcmludF90b2tfdHlwZShmcCwgdG9rLT5pZCwg
ImhlYWRlcl9leCIsIHJhdyk7Ci0JcHJpbnRfZGVsaW0oZnAsIGRlbCk7Ci0J
cHJpbnRfNF9ieXRlcyhmcCwgdG9rLT50dC5oZHIzMl9leC5zaXplLCAiJXUi
KTsKLQlwcmludF9kZWxpbShmcCwgZGVsKTsKLQlwcmludF8xX2J5dGUoZnAs
IHRvay0+dHQuaGRyMzJfZXgudmVyc2lvbiwgIiV1Iik7Ci0JcHJpbnRfZGVs
aW0oZnAsIGRlbCk7Ci0JcHJpbnRfZXZlbnQoZnAsIHRvay0+dHQuaGRyMzJf
ZXguZV90eXBlLCByYXcsIHNmcm0pOwotCXByaW50X2RlbGltKGZwLCBkZWwp
OwotCXByaW50X2V2bW9kKGZwLCB0b2stPnR0LmhkcjMyX2V4LmVfbW9kLCBy
YXcpOwotCXByaW50X2RlbGltKGZwLCBkZWwpOwotCXByaW50X2lwX2V4X2Fk
ZHJlc3MoZnAsIHRvay0+dHQuaGRyMzJfZXguYWRfdHlwZSwKLQkgICAgdG9r
LT50dC5oZHIzMl9leC5hZGRyKTsKLQlwcmludF9kZWxpbShmcCwgZGVsKTsK
LQlwcmludF9zZWMzMihmcCwgdG9rLT50dC5oZHIzMl9leC5zLCByYXcpOwot
CXByaW50X2RlbGltKGZwLCBkZWwpOwotCXByaW50X21zZWMzMihmcCwgdG9r
LT50dC5oZHIzMl9leC5tcywgcmF3KTsKKwlwcmludF90b2tfdHlwZShmcCwg
dG9rLT5pZCwgImhlYWRlcl9leCIsIHJhdywgeG1sKTsKKwlpZiAoeG1sKSB7
CisJCW9wZW5fYXR0cihmcCwgInZlcnNpb24iKTsKKwkJcHJpbnRfMV9ieXRl
KGZwLCB0b2stPnR0LmhkcjMyX2V4LnZlcnNpb24sICIldSIpOworCQljbG9z
ZV9hdHRyKGZwKTsKKwkJb3Blbl9hdHRyKGZwLCAiZXZlbnQiKTsKKwkJcHJp
bnRfZXZlbnQoZnAsIHRvay0+dHQuaGRyMzJfZXguZV90eXBlLCByYXcsIHNm
cm0pOworCQljbG9zZV9hdHRyKGZwKTsKKwkJb3Blbl9hdHRyKGZwLCAibW9k
aWZpZXIiKTsKKwkJcHJpbnRfZXZtb2QoZnAsIHRvay0+dHQuaGRyMzJfZXgu
ZV9tb2QsIHJhdyk7CisJCWNsb3NlX2F0dHIoZnApOworLyogTm8gYXR0cmli
dXQgZm9yIGFkZC4gdHlwZQkJCisJCXByaW50X2lwX2V4X2FkZHJlc3MoZnAs
IHRvay0+dHQuaGRyMzJfZXguYWRfdHlwZSwKKwkJCXRvay0+dHQuaGRyMzJf
ZXguYWRkcik7CisqLworCQlvcGVuX2F0dHIoZnAsICJ0aW1lIik7CisJCXBy
aW50X3NlYzMyKGZwLCB0b2stPnR0LmhkcjMyX2V4LnMsIHJhdyk7CisJCWNs
b3NlX2F0dHIoZnApOworCQlvcGVuX2F0dHIoZnAsICJtc2VjIik7CisJCXBy
aW50X21zZWMzMihmcCwgdG9rLT50dC5oZHIzMl9leC5tcywgcmF3KTsKKwkJ
Y2xvc2VfYXR0cihmcCk7CisJCWNsb3NlX3RhZyhmcCwgdG9rLT5pZCk7CisJ
fSBlbHNlIHsKKwkJcHJpbnRfZGVsaW0oZnAsIGRlbCk7CisJCXByaW50XzRf
Ynl0ZXMoZnAsIHRvay0+dHQuaGRyMzJfZXguc2l6ZSwgIiV1Iik7CisJCXBy
aW50X2RlbGltKGZwLCBkZWwpOworCQlwcmludF8xX2J5dGUoZnAsIHRvay0+
dHQuaGRyMzJfZXgudmVyc2lvbiwgIiV1Iik7CisJCXByaW50X2RlbGltKGZw
LCBkZWwpOworCQlwcmludF9ldmVudChmcCwgdG9rLT50dC5oZHIzMl9leC5l
X3R5cGUsIHJhdywgc2ZybSk7CisJCXByaW50X2RlbGltKGZwLCBkZWwpOwor
CQlwcmludF9ldm1vZChmcCwgdG9rLT50dC5oZHIzMl9leC5lX21vZCwgcmF3
KTsKKwkJcHJpbnRfZGVsaW0oZnAsIGRlbCk7CisJCXByaW50X2lwX2V4X2Fk
ZHJlc3MoZnAsIHRvay0+dHQuaGRyMzJfZXguYWRfdHlwZSwKKwkJCXRvay0+
dHQuaGRyMzJfZXguYWRkcik7CisJCXByaW50X2RlbGltKGZwLCBkZWwpOwor
CQlwcmludF9zZWMzMihmcCwgdG9rLT50dC5oZHIzMl9leC5zLCByYXcpOwor
CQlwcmludF9kZWxpbShmcCwgZGVsKTsKKwkJcHJpbnRfbXNlYzMyKGZwLCB0
b2stPnR0LmhkcjMyX2V4Lm1zLCByYXcpOworCX0KIH0KIAogLyoKQEAgLTY0
NiwyMiArMTAyNyw0MyBAQAogfQogCiBzdGF0aWMgdm9pZAotcHJpbnRfaGVh
ZGVyNjRfdG9rKEZJTEUgKmZwLCB0b2tlbnN0cl90ICp0b2ssIGNoYXIgKmRl
bCwgY2hhciByYXcsIGNoYXIgc2ZybSkKK3ByaW50X2hlYWRlcjY0X3RvayhG
SUxFICpmcCwgdG9rZW5zdHJfdCAqdG9rLCBjaGFyICpkZWwsIGNoYXIgcmF3
LCBjaGFyIHNmcm0sIGNoYXIgeG1sKQogeworCQorCXByaW50X3Rva190eXBl
KGZwLCB0b2stPmlkLCAiaGVhZGVyIiwgcmF3LCB4bWwpOyAKKwlpZiAoeG1s
KSB7CisJCW9wZW5fYXR0cihmcCwgInZlcnNpb24iKTsKKwkJcHJpbnRfMV9i
eXRlKGZwLCB0b2stPnR0LmhkcjY0LnZlcnNpb24sICIldSIpOworCQljbG9z
ZV9hdHRyKGZwKTsKKwkJb3Blbl9hdHRyKGZwLCAiZXZlbnQiKTsKKwkJcHJp
bnRfZXZlbnQoZnAsIHRvay0+dHQuaGRyNjQuZV90eXBlLCByYXcsIHNmcm0p
OworCQljbG9zZV9hdHRyKGZwKTsKKwkJb3Blbl9hdHRyKGZwLCAibW9kaWZp
ZXIiKTsKKwkJcHJpbnRfZXZtb2QoZnAsIHRvay0+dHQuaGRyNjQuZV9tb2Qs
IHJhdyk7CisJCWNsb3NlX2F0dHIoZnApOworCQlvcGVuX2F0dHIoZnAsICJ0
aW1lIik7CisJCXByaW50X3NlYzY0KGZwLCB0b2stPnR0LmhkcjY0LnMsIHJh
dyk7CisJCWNsb3NlX2F0dHIoZnApOworCQlvcGVuX2F0dHIoZnAsICJtc2Vj
Iik7CisJCXByaW50X21zZWM2NChmcCwgdG9rLT50dC5oZHI2NC5tcywgcmF3
KTsKKwkJY2xvc2VfYXR0cihmcCk7CisJCWNsb3NlX3RhZyhmcCwgdG9rLT5p
ZCk7CisJfSBlbHNlIHsKKwkJcHJpbnRfZGVsaW0oZnAsIGRlbCk7CisJCXBy
aW50XzRfYnl0ZXMoZnAsIHRvay0+dHQuaGRyNjQuc2l6ZSwgIiV1Iik7CisJ
CXByaW50X2RlbGltKGZwLCBkZWwpOworCQlwcmludF8xX2J5dGUoZnAsIHRv
ay0+dHQuaGRyNjQudmVyc2lvbiwgIiV1Iik7CisJCXByaW50X2RlbGltKGZw
LCBkZWwpOworCQlwcmludF9ldmVudChmcCwgdG9rLT50dC5oZHI2NC5lX3R5
cGUsIHJhdywgc2ZybSk7CisJCXByaW50X2RlbGltKGZwLCBkZWwpOworCQlw
cmludF9ldm1vZChmcCwgdG9rLT50dC5oZHI2NC5lX21vZCwgcmF3KTsKKwkJ
cHJpbnRfZGVsaW0oZnAsIGRlbCk7CisJCXByaW50X3NlYzY0KGZwLCB0b2st
PnR0LmhkcjY0LnMsIHJhdyk7CisJCXByaW50X2RlbGltKGZwLCBkZWwpOwor
CQlwcmludF9tc2VjNjQoZnAsIHRvay0+dHQuaGRyNjQubXMsIHJhdyk7CisJ
fQorCiAKLQlwcmludF90b2tfdHlwZShmcCwgdG9rLT5pZCwgImhlYWRlciIs
IHJhdyk7Ci0JcHJpbnRfZGVsaW0oZnAsIGRlbCk7Ci0JcHJpbnRfNF9ieXRl
cyhmcCwgdG9rLT50dC5oZHI2NC5zaXplLCAiJXUiKTsKLQlwcmludF9kZWxp
bShmcCwgZGVsKTsKLQlwcmludF8xX2J5dGUoZnAsIHRvay0+dHQuaGRyNjQu
dmVyc2lvbiwgIiV1Iik7Ci0JcHJpbnRfZGVsaW0oZnAsIGRlbCk7Ci0JcHJp
bnRfZXZlbnQoZnAsIHRvay0+dHQuaGRyNjQuZV90eXBlLCByYXcsIHNmcm0p
OwotCXByaW50X2RlbGltKGZwLCBkZWwpOwotCXByaW50X2V2bW9kKGZwLCB0
b2stPnR0LmhkcjY0LmVfbW9kLCByYXcpOwotCXByaW50X2RlbGltKGZwLCBk
ZWwpOwotCXByaW50X3NlYzY0KGZwLCB0b2stPnR0LmhkcjY0LnMsIHJhdyk7
Ci0JcHJpbnRfZGVsaW0oZnAsIGRlbCk7Ci0JcHJpbnRfbXNlYzY0KGZwLCB0
b2stPnR0LmhkcjY0Lm1zLCByYXcpOwogfQogLyoKICAqIHJlY29yZCBieXRl
IGNvdW50ICAgICAgIDQgYnl0ZXMKQEAgLTcyOSwyNSArMTEzMSw0OCBAQAog
fQogCiBzdGF0aWMgdm9pZAotcHJpbnRfaGVhZGVyNjRfZXhfdG9rKEZJTEUg
KmZwLCB0b2tlbnN0cl90ICp0b2ssIGNoYXIgKmRlbCwgY2hhciByYXcsIGNo
YXIgc2ZybSkKK3ByaW50X2hlYWRlcjY0X2V4X3RvayhGSUxFICpmcCwgdG9r
ZW5zdHJfdCAqdG9rLCBjaGFyICpkZWwsIGNoYXIgcmF3LCBjaGFyIHNmcm0s
IGNoYXIgeG1sKQogewogCi0JcHJpbnRfdG9rX3R5cGUoZnAsIHRvay0+aWQs
ICJoZWFkZXJfZXgiLCByYXcpOwotCXByaW50X2RlbGltKGZwLCBkZWwpOwot
CXByaW50XzRfYnl0ZXMoZnAsIHRvay0+dHQuaGRyNjRfZXguc2l6ZSwgIiV1
Iik7Ci0JcHJpbnRfZGVsaW0oZnAsIGRlbCk7Ci0JcHJpbnRfMV9ieXRlKGZw
LCB0b2stPnR0LmhkcjY0X2V4LnZlcnNpb24sICIldSIpOwotCXByaW50X2Rl
bGltKGZwLCBkZWwpOwotCXByaW50X2V2ZW50KGZwLCB0b2stPnR0LmhkcjY0
X2V4LmVfdHlwZSwgcmF3LCBzZnJtKTsKLQlwcmludF9kZWxpbShmcCwgZGVs
KTsKLQlwcmludF9ldm1vZChmcCwgdG9rLT50dC5oZHI2NF9leC5lX21vZCwg
cmF3KTsKLQlwcmludF9kZWxpbShmcCwgZGVsKTsKLQlwcmludF9pcF9leF9h
ZGRyZXNzKGZwLCB0b2stPnR0LmhkcjY0X2V4LmFkX3R5cGUsCi0JICAgIHRv
ay0+dHQuaGRyNjRfZXguYWRkcik7Ci0JcHJpbnRfZGVsaW0oZnAsIGRlbCk7
Ci0JcHJpbnRfc2VjNjQoZnAsIHRvay0+dHQuaGRyNjRfZXgucywgcmF3KTsK
LQlwcmludF9kZWxpbShmcCwgZGVsKTsKLQlwcmludF9tc2VjNjQoZnAsIHRv
ay0+dHQuaGRyNjRfZXgubXMsIHJhdyk7CisJcHJpbnRfdG9rX3R5cGUoZnAs
IHRvay0+aWQsICJoZWFkZXJfZXgiLCByYXcsIHhtbCk7CisJaWYgKHhtbCkg
eworCQlvcGVuX2F0dHIoZnAsICJ2ZXJzaW9uIik7CisJCXByaW50XzFfYnl0
ZShmcCwgdG9rLT50dC5oZHI2NF9leC52ZXJzaW9uLCAiJXUiKTsKKwkJY2xv
c2VfYXR0cihmcCk7CisJCW9wZW5fYXR0cihmcCwgImV2ZW50Iik7CisJCXBy
aW50X2V2ZW50KGZwLCB0b2stPnR0LmhkcjY0X2V4LmVfdHlwZSwgcmF3LCBz
ZnJtKTsKKwkJY2xvc2VfYXR0cihmcCk7CisJCW9wZW5fYXR0cihmcCwgIm1v
ZGlmaWVyIik7CisJCXByaW50X2V2bW9kKGZwLCB0b2stPnR0LmhkcjY0X2V4
LmVfbW9kLCByYXcpOworCQljbG9zZV9hdHRyKGZwKTsKKy8qIE5vIGF0dHJp
YnV0ZSBmb3IgYWRkLiB0eXBlCQkKKwkJcHJpbnRfaXBfZXhfYWRkcmVzcyhm
cCwgdG9rLT50dC5oZHI2NF9leC5hZF90eXBlLAorCQkJdG9rLT50dC5oZHI2
NF9leC5hZGRyKTsKKyovCisJCW9wZW5fYXR0cihmcCwgInRpbWUiKTsKKwkJ
cHJpbnRfc2VjNjQoZnAsIHRvay0+dHQuaGRyNjRfZXgucywgcmF3KTsKKwkJ
Y2xvc2VfYXR0cihmcCk7CisJCW9wZW5fYXR0cihmcCwgIm1zZWMiKTsKKwkJ
cHJpbnRfbXNlYzY0KGZwLCB0b2stPnR0LmhkcjY0X2V4Lm1zLCByYXcpOwor
CQljbG9zZV9hdHRyKGZwKTsKKwkJY2xvc2VfdGFnKGZwLCB0b2stPmlkKTsK
Kwl9IGVsc2UgeworCQlwcmludF9kZWxpbShmcCwgZGVsKTsKKwkJcHJpbnRf
NF9ieXRlcyhmcCwgdG9rLT50dC5oZHI2NF9leC5zaXplLCAiJXUiKTsKKwkJ
cHJpbnRfZGVsaW0oZnAsIGRlbCk7CisJCXByaW50XzFfYnl0ZShmcCwgdG9r
LT50dC5oZHI2NF9leC52ZXJzaW9uLCAiJXUiKTsKKwkJcHJpbnRfZGVsaW0o
ZnAsIGRlbCk7CisJCXByaW50X2V2ZW50KGZwLCB0b2stPnR0LmhkcjY0X2V4
LmVfdHlwZSwgcmF3LCBzZnJtKTsKKwkJcHJpbnRfZGVsaW0oZnAsIGRlbCk7
CisJCXByaW50X2V2bW9kKGZwLCB0b2stPnR0LmhkcjY0X2V4LmVfbW9kLCBy
YXcpOworCQlwcmludF9kZWxpbShmcCwgZGVsKTsKKwkJcHJpbnRfaXBfZXhf
YWRkcmVzcyhmcCwgdG9rLT50dC5oZHI2NF9leC5hZF90eXBlLAorCQkJdG9r
LT50dC5oZHI2NF9leC5hZGRyKTsKKwkJcHJpbnRfZGVsaW0oZnAsIGRlbCk7
CisJCXByaW50X3NlYzY0KGZwLCB0b2stPnR0LmhkcjY0X2V4LnMsIHJhdyk7
CisJCXByaW50X2RlbGltKGZwLCBkZWwpOworCQlwcmludF9tc2VjNjQoZnAs
IHRvay0+dHQuaGRyNjRfZXgubXMsIHJhdyk7CisJCX0KIH0KIAogLyoKQEAg
LTc3MiwxMiArMTE5NywxNCBAQAogCiBzdGF0aWMgdm9pZAogcHJpbnRfdHJh
aWxlcl90b2soRklMRSAqZnAsIHRva2Vuc3RyX3QgKnRvaywgY2hhciAqZGVs
LCBjaGFyIHJhdywKLSAgICBfX3VudXNlZCBjaGFyIHNmcm0pCisgICAgX191
bnVzZWQgY2hhciBzZnJtLCBjaGFyIHhtbCkKIHsKIAotCXByaW50X3Rva190
eXBlKGZwLCB0b2stPmlkLCAidHJhaWxlciIsIHJhdyk7Ci0JcHJpbnRfZGVs
aW0oZnAsIGRlbCk7Ci0JcHJpbnRfNF9ieXRlcyhmcCwgdG9rLT50dC50cmFp
bC5jb3VudCwgIiV1Iik7CisJcHJpbnRfdG9rX3R5cGUoZnAsIHRvay0+aWQs
ICJ0cmFpbGVyIiwgcmF3LCB4bWwpOworCWlmICgheG1sKSB7CisJCXByaW50
X2RlbGltKGZwLCBkZWwpOworCQlwcmludF80X2J5dGVzKGZwLCB0b2stPnR0
LnRyYWlsLmNvdW50LCAiJXUiKTsKKwl9CiB9CiAKIC8qCkBAIC04MTMsMTYg
KzEyNDAsMjggQEAKIAogc3RhdGljIHZvaWQKIHByaW50X2FyZzMyX3RvayhG
SUxFICpmcCwgdG9rZW5zdHJfdCAqdG9rLCBjaGFyICpkZWwsIGNoYXIgcmF3
LAotICAgIF9fdW51c2VkIGNoYXIgc2ZybSkKKyAgICBfX3VudXNlZCBjaGFy
IHNmcm0sIGNoYXIgeG1sKQogewogCi0JcHJpbnRfdG9rX3R5cGUoZnAsIHRv
ay0+aWQsICJhcmd1bWVudCIsIHJhdyk7Ci0JcHJpbnRfZGVsaW0oZnAsIGRl
bCk7Ci0JcHJpbnRfMV9ieXRlKGZwLCB0b2stPnR0LmFyZzMyLm5vLCAiJXUi
KTsKLQlwcmludF9kZWxpbShmcCwgZGVsKTsKLQlwcmludF80X2J5dGVzKGZw
LCB0b2stPnR0LmFyZzMyLnZhbCwgIjB4JXgiKTsKLQlwcmludF9kZWxpbShm
cCwgZGVsKTsKLQlwcmludF9zdHJpbmcoZnAsIHRvay0+dHQuYXJnMzIudGV4
dCwgdG9rLT50dC5hcmczMi5sZW4pOworCXByaW50X3Rva190eXBlKGZwLCB0
b2stPmlkLCAiYXJndW1lbnQiLCByYXcsIHhtbCk7CisJaWYgKHhtbCkgewor
CQlvcGVuX2F0dHIoZnAsICJhcmctbnVtIik7CisJCXByaW50XzFfYnl0ZShm
cCwgdG9rLT50dC5hcmczMi5ubywgIiV1Iik7CisJCWNsb3NlX2F0dHIoZnAp
OworCQlvcGVuX2F0dHIoZnAsICJ2YWx1ZSIpOworCQlwcmludF80X2J5dGVz
KGZwLCB0b2stPnR0LmFyZzMyLnZhbCwgIjB4JXgiKTsKKwkJY2xvc2VfYXR0
cihmcCk7CisJCW9wZW5fYXR0cihmcCwgImRlc2MiKTsKKwkJcHJpbnRfc3Ry
aW5nKGZwLCB0b2stPnR0LmFyZzMyLnRleHQsIHRvay0+dHQuYXJnMzIubGVu
KTsKKwkJY2xvc2VfYXR0cihmcCk7CisJCWNsb3NlX3RhZyhmcCwgdG9rLT5p
ZCk7CisJfSBlbHNlIHsKKwkJcHJpbnRfZGVsaW0oZnAsIGRlbCk7CisJCXBy
aW50XzFfYnl0ZShmcCwgdG9rLT50dC5hcmczMi5ubywgIiV1Iik7CisJCXBy
aW50X2RlbGltKGZwLCBkZWwpOworCQlwcmludF80X2J5dGVzKGZwLCB0b2st
PnR0LmFyZzMyLnZhbCwgIjB4JXgiKTsKKwkJcHJpbnRfZGVsaW0oZnAsIGRl
bCk7CisJfQogfQogCiBzdGF0aWMgaW50CkBAIC04NTIsMTYgKzEyOTEsMjkg
QEAKIAogc3RhdGljIHZvaWQKIHByaW50X2FyZzY0X3RvayhGSUxFICpmcCwg
dG9rZW5zdHJfdCAqdG9rLCBjaGFyICpkZWwsIGNoYXIgcmF3LAotICAgIF9f
dW51c2VkIGNoYXIgc2ZybSkKKyAgICBfX3VudXNlZCBjaGFyIHNmcm0sIGNo
YXIgeG1sKQogewogCi0JcHJpbnRfdG9rX3R5cGUoZnAsIHRvay0+aWQsICJh
cmd1bWVudCIsIHJhdyk7Ci0JcHJpbnRfZGVsaW0oZnAsIGRlbCk7Ci0JcHJp
bnRfMV9ieXRlKGZwLCB0b2stPnR0LmFyZzY0Lm5vLCAiJXUiKTsKLQlwcmlu
dF9kZWxpbShmcCwgZGVsKTsKLQlwcmludF84X2J5dGVzKGZwLCB0b2stPnR0
LmFyZzY0LnZhbCwgIjB4JWxseCIpOwotCXByaW50X2RlbGltKGZwLCBkZWwp
OwotCXByaW50X3N0cmluZyhmcCwgdG9rLT50dC5hcmc2NC50ZXh0LCB0b2st
PnR0LmFyZzY0Lmxlbik7CisJcHJpbnRfdG9rX3R5cGUoZnAsIHRvay0+aWQs
ICJhcmd1bWVudCIsIHJhdywgeG1sKTsKKwlpZiAoeG1sKSB7CisJCW9wZW5f
YXR0cihmcCwgImFyZy1udW0iKTsKKwkJcHJpbnRfMV9ieXRlKGZwLCB0b2st
PnR0LmFyZzY0Lm5vLCAiJXUiKTsKKwkJY2xvc2VfYXR0cihmcCk7CisJCW9w
ZW5fYXR0cihmcCwgInZhbHVlIik7CisJCXByaW50XzhfYnl0ZXMoZnAsIHRv
ay0+dHQuYXJnNjQudmFsLCAiMHglbGx4Iik7CisJCWNsb3NlX2F0dHIoZnAp
OworCQlvcGVuX2F0dHIoZnAsICJkZXNjIik7CisJCXByaW50X3N0cmluZyhm
cCwgdG9rLT50dC5hcmc2NC50ZXh0LCB0b2stPnR0LmFyZzY0Lmxlbik7CisJ
CWNsb3NlX2F0dHIoZnApOworCQljbG9zZV90YWcoZnAsIHRvay0+aWQpOwor
CX0gZWxzZSB7CisJCXByaW50X2RlbGltKGZwLCBkZWwpOworCQlwcmludF8x
X2J5dGUoZnAsIHRvay0+dHQuYXJnNjQubm8sICIldSIpOworCQlwcmludF9k
ZWxpbShmcCwgZGVsKTsKKwkJcHJpbnRfOF9ieXRlcyhmcCwgdG9rLT50dC5h
cmc2NC52YWwsICIweCVsbHgiKTsKKwkJcHJpbnRfZGVsaW0oZnAsIGRlbCk7
CisJCXByaW50X3N0cmluZyhmcCwgdG9rLT50dC5hcmc2NC50ZXh0LCB0b2st
PnR0LmFyZzY0Lmxlbik7CisJfQogfQogCiAvKgpAQCAtOTI0LDE1ICsxMzc2
LDE2IEBACiAKIHN0YXRpYyB2b2lkCiBwcmludF9hcmJfdG9rKEZJTEUgKmZw
LCB0b2tlbnN0cl90ICp0b2ssIGNoYXIgKmRlbCwgY2hhciByYXcsCi0gICAg
X191bnVzZWQgY2hhciBzZnJtKQorICAgIF9fdW51c2VkIGNoYXIgc2ZybSwg
Y2hhciB4bWwpCiB7CiAJY2hhciAqc3RyOwogCWNoYXIgKmZvcm1hdDsKIAlz
aXplX3Qgc2l6ZTsKIAlpbnQgaTsKIAotCXByaW50X3Rva190eXBlKGZwLCB0
b2stPmlkLCAiYXJiaXRyYXJ5IiwgcmF3KTsKLQlwcmludF9kZWxpbShmcCwg
ZGVsKTsKKwlwcmludF90b2tfdHlwZShmcCwgdG9rLT5pZCwgImFyYml0cmFy
eSIsIHJhdywgeG1sKTsgCisJaWYgKCF4bWwpCisJCXByaW50X2RlbGltKGZw
LCBkZWwpOwogCiAJc3dpdGNoKHRvay0+dHQuYXJiLmhvd3RvcHIpIHsKIAlj
YXNlIEFVUF9CSU5BUlk6CkBAIC05NjQsNTYgKzE0MTcsMTE3IEBACiAJCXJl
dHVybjsKIAl9CiAKLQlwcmludF9zdHJpbmcoZnAsIHN0ciwgc3RybGVuKHN0
cikpOwotCXByaW50X2RlbGltKGZwLCBkZWwpOworCWlmICh4bWwpIHsKKwkJ
b3Blbl9hdHRyKGZwLCAicHJpbnQiKTsKKwkJZnByaW50ZihmcCwgIiVzIixz
dHIpOworCQljbG9zZV9hdHRyKGZwKTsKKwl9IGVsc2UgeworCQlwcmludF9z
dHJpbmcoZnAsIHN0ciwgc3RybGVuKHN0cikpOworCQlwcmludF9kZWxpbShm
cCwgZGVsKTsKKwl9CiAJc3dpdGNoKHRvay0+dHQuYXJiLmJ1KSB7CiAJY2Fz
ZSBBVVJfQllURToKIAkvKiBjYXNlIEFVUl9DSEFSOiAqLwogCQlzdHIgPSAi
Ynl0ZSI7CiAJCXNpemUgPSBBVVJfQllURV9TSVpFOwotCQlwcmludF9zdHJp
bmcoZnAsIHN0ciwgc3RybGVuKHN0cikpOwotCQlwcmludF9kZWxpbShmcCwg
ZGVsKTsKLQkJcHJpbnRfMV9ieXRlKGZwLCB0b2stPnR0LmFyYi51YywgIiV1
Iik7Ci0JCXByaW50X2RlbGltKGZwLCBkZWwpOwotCQlmb3IgKGkgPSAwOyBp
PHRvay0+dHQuYXJiLnVjOyBpKyspCi0JCQlmcHJpbnRmKGZwLCBmb3JtYXQs
ICoodG9rLT50dC5hcmIuZGF0YSArIChzaXplICogaSkpKTsKKwkJaWYgKHht
bCkgeworCQkJb3Blbl9hdHRyKGZwLCAidHlwZSIpOworCQkJZnByaW50Zihm
cCwgIiV1Iiwgc2l6ZSk7CisJCQljbG9zZV9hdHRyKGZwKTsKKwkJCW9wZW5f
YXR0cihmcCwgImNvdW50Iik7CisJCQlwcmludF8xX2J5dGUoZnAsIHRvay0+
dHQuYXJiLnVjLCAiJXUiKTsKKwkJCWNsb3NlX2F0dHIoZnApOworCQkJZnBy
aW50ZihmcCwgIj4iKTsKKwkJCWZvciAoaSA9IDA7IGk8dG9rLT50dC5hcmIu
dWM7IGkrKykKKwkJCQlmcHJpbnRmKGZwLCBmb3JtYXQsICoodG9rLT50dC5h
cmIuZGF0YSArIChzaXplICogaSkpKTsKKwkJCWNsb3NlX3RhZyhmcCwgdG9r
LT5pZCk7CisJCX0gZWxzZSB7CisJCQlwcmludF9zdHJpbmcoZnAsIHN0ciwg
c3RybGVuKHN0cikpOworCQkJcHJpbnRfZGVsaW0oZnAsIGRlbCk7CisJCQlw
cmludF8xX2J5dGUoZnAsIHRvay0+dHQuYXJiLnVjLCAiJXUiKTsKKwkJCXBy
aW50X2RlbGltKGZwLCBkZWwpOworCQkJZm9yIChpID0gMDsgaTx0b2stPnR0
LmFyYi51YzsgaSsrKQorCQkJCWZwcmludGYoZnAsIGZvcm1hdCwgKih0b2st
PnR0LmFyYi5kYXRhICsgKHNpemUgKiBpKSkpOworCQl9CiAJCWJyZWFrOwog
CiAJY2FzZSBBVVJfU0hPUlQ6CiAJCXN0ciA9ICJzaG9ydCI7CiAJCXNpemUg
PSBBVVJfU0hPUlRfU0laRTsKLQkJcHJpbnRfc3RyaW5nKGZwLCBzdHIsIHN0
cmxlbihzdHIpKTsKLQkJcHJpbnRfZGVsaW0oZnAsIGRlbCk7Ci0JCXByaW50
XzFfYnl0ZShmcCwgdG9rLT50dC5hcmIudWMsICIldSIpOwotCQlwcmludF9k
ZWxpbShmcCwgZGVsKTsKLQkJZm9yIChpID0gMDsgaSA8IHRvay0+dHQuYXJi
LnVjOyBpKyspCi0JCQlmcHJpbnRmKGZwLCBmb3JtYXQsICooKHVfaW50MTZf
dCAqKSh0b2stPnR0LmFyYi5kYXRhICsKLQkJCSAgICAoc2l6ZSAqIGkpKSkp
OworCQlpZiAoeG1sKSB7CisJCQlvcGVuX2F0dHIoZnAsICJ0eXBlIik7CisJ
CQlmcHJpbnRmKGZwLCAiJXUiLCBzaXplKTsKKwkJCWNsb3NlX2F0dHIoZnAp
OworCQkJb3Blbl9hdHRyKGZwLCAiY291bnQiKTsKKwkJCXByaW50XzFfYnl0
ZShmcCwgdG9rLT50dC5hcmIudWMsICIldSIpOworCQkJY2xvc2VfYXR0cihm
cCk7CisJCQlmcHJpbnRmKGZwLCAiPiIpOworCQkJZm9yIChpID0gMDsgaSA8
IHRvay0+dHQuYXJiLnVjOyBpKyspCisJCQkJZnByaW50ZihmcCwgZm9ybWF0
LCAqKCh1X2ludDE2X3QgKikodG9rLT50dC5hcmIuZGF0YSArCisJCQkJCShz
aXplICogaSkpKSk7CisJCQljbG9zZV90YWcoZnAsIHRvay0+aWQpOworCQl9
IGVsc2UgeworCQkJcHJpbnRfc3RyaW5nKGZwLCBzdHIsIHN0cmxlbihzdHIp
KTsKKwkJCXByaW50X2RlbGltKGZwLCBkZWwpOworCQkJcHJpbnRfMV9ieXRl
KGZwLCB0b2stPnR0LmFyYi51YywgIiV1Iik7CisJCQlwcmludF9kZWxpbShm
cCwgZGVsKTsKKwkJCWZvciAoaSA9IDA7IGkgPCB0b2stPnR0LmFyYi51Yzsg
aSsrKQorCQkJCWZwcmludGYoZnAsIGZvcm1hdCwgKigodV9pbnQxNl90ICop
KHRvay0+dHQuYXJiLmRhdGEgKworCQkJCQkoc2l6ZSAqIGkpKSkpOworCQl9
CiAJCWJyZWFrOwogCiAJY2FzZSBBVVJfSU5UMzI6CiAJLyogY2FzZSBBVVJf
SU5UOiAqLwogCQlzdHIgPSAiaW50IjsKIAkJc2l6ZSA9IEFVUl9JTlQzMl9T
SVpFOwotCQlwcmludF9zdHJpbmcoZnAsIHN0ciwgc3RybGVuKHN0cikpOwot
CQlwcmludF9kZWxpbShmcCwgZGVsKTsKLQkJcHJpbnRfMV9ieXRlKGZwLCB0
b2stPnR0LmFyYi51YywgIiV1Iik7Ci0JCXByaW50X2RlbGltKGZwLCBkZWwp
OwotCQlmb3IgKGkgPSAwOyBpIDwgdG9rLT50dC5hcmIudWM7IGkrKykKLQkJ
CWZwcmludGYoZnAsIGZvcm1hdCwgKigodV9pbnQzMl90ICopKHRvay0+dHQu
YXJiLmRhdGEgKwotCQkJICAgIChzaXplICogaSkpKSk7CisJCWlmICh4bWwp
IHsKKwkJCW9wZW5fYXR0cihmcCwgInR5cGUiKTsKKwkJCWZwcmludGYoZnAs
ICIldSIsIHNpemUpOworCQkJY2xvc2VfYXR0cihmcCk7CisJCQlvcGVuX2F0
dHIoZnAsICJjb3VudCIpOworCQkJcHJpbnRfMV9ieXRlKGZwLCB0b2stPnR0
LmFyYi51YywgIiV1Iik7CisJCQljbG9zZV9hdHRyKGZwKTsKKwkJCWZwcmlu
dGYoZnAsICI+Iik7CisJCQlmb3IgKGkgPSAwOyBpIDwgdG9rLT50dC5hcmIu
dWM7IGkrKykKKwkJCQlmcHJpbnRmKGZwLCBmb3JtYXQsICooKHVfaW50MzJf
dCAqKSh0b2stPnR0LmFyYi5kYXRhICsKKwkJCQkJKHNpemUgKiBpKSkpKTsK
KwkJCWNsb3NlX3RhZyhmcCwgdG9rLT5pZCk7CisJCX0gZWxzZSB7CisJCQlw
cmludF9zdHJpbmcoZnAsIHN0ciwgc3RybGVuKHN0cikpOworCQkJcHJpbnRf
ZGVsaW0oZnAsIGRlbCk7CisJCQlwcmludF8xX2J5dGUoZnAsIHRvay0+dHQu
YXJiLnVjLCAiJXUiKTsKKwkJCXByaW50X2RlbGltKGZwLCBkZWwpOworCQkJ
Zm9yIChpID0gMDsgaSA8IHRvay0+dHQuYXJiLnVjOyBpKyspCisJCQkJZnBy
aW50ZihmcCwgZm9ybWF0LCAqKCh1X2ludDMyX3QgKikodG9rLT50dC5hcmIu
ZGF0YSArCisJCQkJCShzaXplICogaSkpKSk7CisJCX0KIAkJYnJlYWs7CiAK
IAljYXNlIEFVUl9JTlQ2NDoKIAkJc3RyID0gImludDY0IjsKIAkJc2l6ZSA9
IEFVUl9JTlQ2NF9TSVpFOwotCQlwcmludF9zdHJpbmcoZnAsIHN0ciwgc3Ry
bGVuKHN0cikpOwotCQlwcmludF9kZWxpbShmcCwgZGVsKTsKLQkJcHJpbnRf
MV9ieXRlKGZwLCB0b2stPnR0LmFyYi51YywgIiV1Iik7Ci0JCXByaW50X2Rl
bGltKGZwLCBkZWwpOwotCQlmb3IgKGkgPSAwOyBpIDwgdG9rLT50dC5hcmIu
dWM7IGkrKykKLQkJCWZwcmludGYoZnAsIGZvcm1hdCwgKigodV9pbnQ2NF90
ICopKHRvay0+dHQuYXJiLmRhdGEgKwotCQkJICAgIChzaXplICogaSkpKSk7
CisJCWlmICh4bWwpIHsKKwkJCW9wZW5fYXR0cihmcCwgInR5cGUiKTsKKwkJ
CWZwcmludGYoZnAsICIldSIsIHNpemUpOworCQkJY2xvc2VfYXR0cihmcCk7
CisJCQlvcGVuX2F0dHIoZnAsICJjb3VudCIpOworCQkJcHJpbnRfMV9ieXRl
KGZwLCB0b2stPnR0LmFyYi51YywgIiV1Iik7CisJCQljbG9zZV9hdHRyKGZw
KTsKKwkJCWZwcmludGYoZnAsICI+Iik7CisJCQlmb3IgKGkgPSAwOyBpIDwg
dG9rLT50dC5hcmIudWM7IGkrKykKKwkJCQlmcHJpbnRmKGZwLCBmb3JtYXQs
ICooKHVfaW50NjRfdCAqKSh0b2stPnR0LmFyYi5kYXRhICsKKwkJCQkJKHNp
emUgKiBpKSkpKTsKKwkJCWNsb3NlX3RhZyhmcCwgdG9rLT5pZCk7CisJCX0g
ZWxzZSB7CisJCQlwcmludF9zdHJpbmcoZnAsIHN0ciwgc3RybGVuKHN0cikp
OworCQkJcHJpbnRfZGVsaW0oZnAsIGRlbCk7CisJCQlwcmludF8xX2J5dGUo
ZnAsIHRvay0+dHQuYXJiLnVjLCAiJXUiKTsKKwkJCXByaW50X2RlbGltKGZw
LCBkZWwpOworCQkJZm9yIChpID0gMDsgaSA8IHRvay0+dHQuYXJiLnVjOyBp
KyspCisJCQkJZnByaW50ZihmcCwgZm9ybWF0LCAqKCh1X2ludDY0X3QgKiko
dG9rLT50dC5hcmIuZGF0YSArCisJCQkJCShzaXplICogaSkpKSk7CisJCX0K
IAkJYnJlYWs7CiAKIAlkZWZhdWx0OgpAQCAtMTA2MywyMiArMTU3Nyw0NCBA
QAogCiBzdGF0aWMgdm9pZAogcHJpbnRfYXR0cjMyX3RvayhGSUxFICpmcCwg
dG9rZW5zdHJfdCAqdG9rLCBjaGFyICpkZWwsIGNoYXIgcmF3LAotICAgIF9f
dW51c2VkIGNoYXIgc2ZybSkKKyAgICBfX3VudXNlZCBjaGFyIHNmcm0sIGNo
YXIgeG1sKQogewogCi0JcHJpbnRfdG9rX3R5cGUoZnAsIHRvay0+aWQsICJh
dHRyaWJ1dGUiLCByYXcpOwotCXByaW50X2RlbGltKGZwLCBkZWwpOwotCXBy
aW50XzRfYnl0ZXMoZnAsIHRvay0+dHQuYXR0cjMyLm1vZGUsICIlbyIpOwot
CXByaW50X2RlbGltKGZwLCBkZWwpOwotCXByaW50X3VzZXIoZnAsIHRvay0+
dHQuYXR0cjMyLnVpZCwgcmF3KTsKLQlwcmludF9kZWxpbShmcCwgZGVsKTsK
LQlwcmludF9ncm91cChmcCwgdG9rLT50dC5hdHRyMzIuZ2lkLCByYXcpOwot
CXByaW50X2RlbGltKGZwLCBkZWwpOwotCXByaW50XzRfYnl0ZXMoZnAsIHRv
ay0+dHQuYXR0cjMyLmZzaWQsICIldSIpOwotCXByaW50X2RlbGltKGZwLCBk
ZWwpOwotCXByaW50XzhfYnl0ZXMoZnAsIHRvay0+dHQuYXR0cjMyLm5pZCwg
IiVsbGQiKTsKLQlwcmludF9kZWxpbShmcCwgZGVsKTsKLQlwcmludF80X2J5
dGVzKGZwLCB0b2stPnR0LmF0dHIzMi5kZXYsICIldSIpOworCXByaW50X3Rv
a190eXBlKGZwLCB0b2stPmlkLCAiYXR0cmlidXRlIiwgcmF3LCB4bWwpOwor
CWlmICh4bWwpIHsKKwkJb3Blbl9hdHRyKGZwLCAibW9kZSIpOworCQlwcmlu
dF80X2J5dGVzKGZwLCB0b2stPnR0LmF0dHIzMi5tb2RlLCAiJW8iKTsKKwkJ
Y2xvc2VfYXR0cihmcCk7CisJCW9wZW5fYXR0cihmcCwgInVpZCIpOworCQlw
cmludF91c2VyKGZwLCB0b2stPnR0LmF0dHIzMi51aWQsIHJhdyk7CisJCWNs
b3NlX2F0dHIoZnApOworCQlvcGVuX2F0dHIoZnAsICJnaWQiKTsKKwkJcHJp
bnRfZ3JvdXAoZnAsIHRvay0+dHQuYXR0cjMyLmdpZCwgcmF3KTsKKwkJY2xv
c2VfYXR0cihmcCk7CisJCW9wZW5fYXR0cihmcCwgImZzaWQiKTsKKwkJcHJp
bnRfNF9ieXRlcyhmcCwgdG9rLT50dC5hdHRyMzIuZnNpZCwgIiV1Iik7CisJ
CWNsb3NlX2F0dHIoZnApOworCQlvcGVuX2F0dHIoZnAsICJub2RlaWQiKTsK
KwkJcHJpbnRfOF9ieXRlcyhmcCwgdG9rLT50dC5hdHRyMzIubmlkLCAiJWxs
ZCIpOworCQljbG9zZV9hdHRyKGZwKTsKKwkJb3Blbl9hdHRyKGZwLCAiZGV2
aWNlIik7CisJCXByaW50XzRfYnl0ZXMoZnAsIHRvay0+dHQuYXR0cjMyLmRl
diwgIiV1Iik7CisJCWNsb3NlX2F0dHIoZnApOworCQljbG9zZV90YWcoZnAs
IHRvay0+aWQpOworCX0gZWxzZSB7CisJCXByaW50X2RlbGltKGZwLCBkZWwp
OworCQlwcmludF80X2J5dGVzKGZwLCB0b2stPnR0LmF0dHIzMi5tb2RlLCAi
JW8iKTsKKwkJcHJpbnRfZGVsaW0oZnAsIGRlbCk7CisJCXByaW50X3VzZXIo
ZnAsIHRvay0+dHQuYXR0cjMyLnVpZCwgcmF3KTsKKwkJcHJpbnRfZGVsaW0o
ZnAsIGRlbCk7CisJCXByaW50X2dyb3VwKGZwLCB0b2stPnR0LmF0dHIzMi5n
aWQsIHJhdyk7CisJCXByaW50X2RlbGltKGZwLCBkZWwpOworCQlwcmludF80
X2J5dGVzKGZwLCB0b2stPnR0LmF0dHIzMi5mc2lkLCAiJXUiKTsKKwkJcHJp
bnRfZGVsaW0oZnAsIGRlbCk7CisJCXByaW50XzhfYnl0ZXMoZnAsIHRvay0+
dHQuYXR0cjMyLm5pZCwgIiVsbGQiKTsKKwkJcHJpbnRfZGVsaW0oZnAsIGRl
bCk7CisJCXByaW50XzRfYnl0ZXMoZnAsIHRvay0+dHQuYXR0cjMyLmRldiwg
IiV1Iik7CisJfQogfQogCiAvKgpAQCAtMTEyMywyMiArMTY1OSw0NCBAQAog
CiBzdGF0aWMgdm9pZAogcHJpbnRfYXR0cjY0X3RvayhGSUxFICpmcCwgdG9r
ZW5zdHJfdCAqdG9rLCBjaGFyICpkZWwsIGNoYXIgcmF3LAotICAgIF9fdW51
c2VkIGNoYXIgc2ZybSkKKyAgICBfX3VudXNlZCBjaGFyIHNmcm0sIGNoYXIg
eG1sKQogewogCi0JcHJpbnRfdG9rX3R5cGUoZnAsIHRvay0+aWQsICJhdHRy
aWJ1dGUiLCByYXcpOwotCXByaW50X2RlbGltKGZwLCBkZWwpOwotCXByaW50
XzRfYnl0ZXMoZnAsIHRvay0+dHQuYXR0cjY0Lm1vZGUsICIlbyIpOwotCXBy
aW50X2RlbGltKGZwLCBkZWwpOwotCXByaW50X3VzZXIoZnAsIHRvay0+dHQu
YXR0cjY0LnVpZCwgcmF3KTsKLQlwcmludF9kZWxpbShmcCwgZGVsKTsKLQlw
cmludF9ncm91cChmcCwgdG9rLT50dC5hdHRyNjQuZ2lkLCByYXcpOwotCXBy
aW50X2RlbGltKGZwLCBkZWwpOwotCXByaW50XzRfYnl0ZXMoZnAsIHRvay0+
dHQuYXR0cjY0LmZzaWQsICIldSIpOwotCXByaW50X2RlbGltKGZwLCBkZWwp
OwotCXByaW50XzhfYnl0ZXMoZnAsIHRvay0+dHQuYXR0cjY0Lm5pZCwgIiVs
bGQiKTsKLQlwcmludF9kZWxpbShmcCwgZGVsKTsKLQlwcmludF84X2J5dGVz
KGZwLCB0b2stPnR0LmF0dHI2NC5kZXYsICIlbGx1Iik7CisJcHJpbnRfdG9r
X3R5cGUoZnAsIHRvay0+aWQsICJhdHRyaWJ1dGUiLCByYXcsIHhtbCk7CisJ
aWYgKHhtbCkgeworCQlvcGVuX2F0dHIoZnAsICJtb2RlIik7CisJCXByaW50
XzRfYnl0ZXMoZnAsIHRvay0+dHQuYXR0cjY0Lm1vZGUsICIlbyIpOworCQlj
bG9zZV9hdHRyKGZwKTsKKwkJb3Blbl9hdHRyKGZwLCAidWlkIik7CisJCXBy
aW50X3VzZXIoZnAsIHRvay0+dHQuYXR0cjY0LnVpZCwgcmF3KTsKKwkJY2xv
c2VfYXR0cihmcCk7CisJCW9wZW5fYXR0cihmcCwgImdpZCIpOworCQlwcmlu
dF9ncm91cChmcCwgdG9rLT50dC5hdHRyNjQuZ2lkLCByYXcpOworCQljbG9z
ZV9hdHRyKGZwKTsKKwkJb3Blbl9hdHRyKGZwLCAiZnNpZCIpOworCQlwcmlu
dF80X2J5dGVzKGZwLCB0b2stPnR0LmF0dHI2NC5mc2lkLCAiJXUiKTsKKwkJ
Y2xvc2VfYXR0cihmcCk7CisJCW9wZW5fYXR0cihmcCwgIm5vZGVpZCIpOwor
CQlwcmludF84X2J5dGVzKGZwLCB0b2stPnR0LmF0dHI2NC5uaWQsICIlbGxk
Iik7CisJCWNsb3NlX2F0dHIoZnApOworCQlvcGVuX2F0dHIoZnAsICJkZXZp
Y2UiKTsKKwkJcHJpbnRfOF9ieXRlcyhmcCwgdG9rLT50dC5hdHRyNjQuZGV2
LCAiJWxsdSIpOworCQljbG9zZV9hdHRyKGZwKTsKKwkJY2xvc2VfdGFnKGZw
LCB0b2stPmlkKTsKKwl9IGVsc2UgeworCQlwcmludF9kZWxpbShmcCwgZGVs
KTsKKwkJcHJpbnRfNF9ieXRlcyhmcCwgdG9rLT50dC5hdHRyNjQubW9kZSwg
IiVvIik7CisJCXByaW50X2RlbGltKGZwLCBkZWwpOworCQlwcmludF91c2Vy
KGZwLCB0b2stPnR0LmF0dHI2NC51aWQsIHJhdyk7CisJCXByaW50X2RlbGlt
KGZwLCBkZWwpOworCQlwcmludF9ncm91cChmcCwgdG9rLT50dC5hdHRyNjQu
Z2lkLCByYXcpOworCQlwcmludF9kZWxpbShmcCwgZGVsKTsKKwkJcHJpbnRf
NF9ieXRlcyhmcCwgdG9rLT50dC5hdHRyNjQuZnNpZCwgIiV1Iik7CisJCXBy
aW50X2RlbGltKGZwLCBkZWwpOworCQlwcmludF84X2J5dGVzKGZwLCB0b2st
PnR0LmF0dHI2NC5uaWQsICIlbGxkIik7CisJCXByaW50X2RlbGltKGZwLCBk
ZWwpOworCQlwcmludF84X2J5dGVzKGZwLCB0b2stPnR0LmF0dHI2NC5kZXYs
ICIlbGx1Iik7CisJfQogfQogCiAvKgpAQCAtMTE2MywxNCArMTcyMSwyNCBA
QAogCiBzdGF0aWMgdm9pZAogcHJpbnRfZXhpdF90b2soRklMRSAqZnAsIHRv
a2Vuc3RyX3QgKnRvaywgY2hhciAqZGVsLCBjaGFyIHJhdywKLSAgICBfX3Vu
dXNlZCBjaGFyIHNmcm0pCisgICAgX191bnVzZWQgY2hhciBzZnJtLCBjaGFy
IHhtbCkKIHsKIAotCXByaW50X3Rva190eXBlKGZwLCB0b2stPmlkLCAiZXhp
dCIsIHJhdyk7Ci0JcHJpbnRfZGVsaW0oZnAsIGRlbCk7Ci0JcHJpbnRfZXJy
dmFsKGZwLCB0b2stPnR0LmV4aXQuc3RhdHVzKTsKLQlwcmludF9kZWxpbShm
cCwgZGVsKTsKLQlwcmludF80X2J5dGVzKGZwLCB0b2stPnR0LmV4aXQucmV0
LCAiJXUiKTsKKwlwcmludF90b2tfdHlwZShmcCwgdG9rLT5pZCwgImV4aXQi
LCByYXcsIHhtbCk7IAorCWlmICh4bWwpIHsKKwkJb3Blbl9hdHRyKGZwLCAi
ZXJydmFsIik7CisJCXByaW50X2VycnZhbChmcCwgdG9rLT50dC5leGl0LnN0
YXR1cyk7CisJCWNsb3NlX2F0dHIoZnApOworCQlvcGVuX2F0dHIoZnAsICJy
ZXR2YWwiKTsKKwkJcHJpbnRfNF9ieXRlcyhmcCwgdG9rLT50dC5leGl0LnJl
dCwgIiV1Iik7CisJCWNsb3NlX2F0dHIoZnApOworCQljbG9zZV90YWcoZnAs
IHRvay0+aWQpOworCX0gZWxzZSB7CisJCXByaW50X2RlbGltKGZwLCBkZWwp
OworCQlwcmludF9lcnJ2YWwoZnAsIHRvay0+dHQuZXhpdC5zdGF0dXMpOwor
CQlwcmludF9kZWxpbShmcCwgZGVsKTsKKwkJcHJpbnRfNF9ieXRlcyhmcCwg
dG9rLT50dC5leGl0LnJldCwgIiV1Iik7CisJfQogfQogCiAvKgpAQCAtMTIx
MSwxNiArMTc3OSwyNSBAQAogCiBzdGF0aWMgdm9pZAogcHJpbnRfZXhlY2Fy
Z190b2soRklMRSAqZnAsIHRva2Vuc3RyX3QgKnRvaywgY2hhciAqZGVsLCBj
aGFyIHJhdywKLSAgICBfX3VudXNlZCBjaGFyIHNmcm0pCisgICAgX191bnVz
ZWQgY2hhciBzZnJtLCBjaGFyIHhtbCkKIHsKIAlpbnQgaTsKIAotCXByaW50
X3Rva190eXBlKGZwLCB0b2stPmlkLCAiZXhlYyBhcmciLCByYXcpOworCXBy
aW50X3Rva190eXBlKGZwLCB0b2stPmlkLCAiZXhlYyBhcmciLCByYXcsIHht
bCk7IAogCWZvciAoaSA9IDA7IGkgPCB0b2stPnR0LmV4ZWNhcmcuY291bnQ7
IGkrKykgewotCQlwcmludF9kZWxpbShmcCwgZGVsKTsKLQkJcHJpbnRfc3Ry
aW5nKGZwLCB0b2stPnR0LmV4ZWNhcmcudGV4dFtpXSwKLQkJICAgIHN0cmxl
bih0b2stPnR0LmV4ZWNhcmcudGV4dFtpXSkpOworCQlpZiAoeG1sKSB7CisJ
CQlmcHJpbnRmKGZwLCAiPGFyZz4iKTsKKwkJCXByaW50X3N0cmluZyhmcCwg
dG9rLT50dC5leGVjYXJnLnRleHRbaV0sCisJCQkJc3RybGVuKHRvay0+dHQu
ZXhlY2FyZy50ZXh0W2ldKSk7CisJCQlmcHJpbnRmKGZwLCAiPC9hcmc+Iik7
CisJCX0gZWxzZSB7CisJCQlwcmludF9kZWxpbShmcCwgZGVsKTsKKwkJCXBy
aW50X3N0cmluZyhmcCwgdG9rLT50dC5leGVjYXJnLnRleHRbaV0sCisJCQkJ
c3RybGVuKHRvay0+dHQuZXhlY2FyZy50ZXh0W2ldKSk7CisJCX0KIAl9CisJ
aWYgKHhtbCkKKwkJY2xvc2VfdGFnKGZwLCB0b2stPmlkKTsKIH0KIAogLyoK
QEAgLTEyNjEsMTYgKzE4MzgsMjUgQEAKIAogc3RhdGljIHZvaWQKIHByaW50
X2V4ZWNlbnZfdG9rKEZJTEUgKmZwLCB0b2tlbnN0cl90ICp0b2ssIGNoYXIg
KmRlbCwgY2hhciByYXcsCi0gICAgX191bnVzZWQgY2hhciBzZnJtKQorICAg
IF9fdW51c2VkIGNoYXIgc2ZybSwgY2hhciB4bWwpCiB7CiAJaW50IGk7CiAK
LQlwcmludF90b2tfdHlwZShmcCwgdG9rLT5pZCwgImV4ZWMgZW52IiwgcmF3
KTsKKwlwcmludF90b2tfdHlwZShmcCwgdG9rLT5pZCwgImV4ZWMgZW52Iiwg
cmF3LCB4bWwpOyAKIAlmb3IgKGkgPSAwOyBpPCB0b2stPnR0LmV4ZWNlbnYu
Y291bnQ7IGkrKykgewotCQlwcmludF9kZWxpbShmcCwgZGVsKTsKLQkJcHJp
bnRfc3RyaW5nKGZwLCB0b2stPnR0LmV4ZWNlbnYudGV4dFtpXSwKLQkJICAg
IHN0cmxlbih0b2stPnR0LmV4ZWNlbnYudGV4dFtpXSkpOworCQlpZiAoeG1s
KSB7CisJCQlmcHJpbnRmKGZwLCAiPGVudj4iKTsKKwkJCXByaW50X3N0cmlu
ZyhmcCwgdG9rLT50dC5leGVjZW52LnRleHRbaV0sCisJCQkJc3RybGVuKHRv
ay0+dHQuZXhlY2Vudi50ZXh0W2ldKSk7CisJCQlmcHJpbnRmKGZwLCAiPC9l
bnY+Iik7CisJCX0gZWxzZSB7CisJCQlwcmludF9kZWxpbShmcCwgZGVsKTsK
KwkJCXByaW50X3N0cmluZyhmcCwgdG9rLT50dC5leGVjZW52LnRleHRbaV0s
CisJCQkJc3RybGVuKHRvay0+dHQuZXhlY2Vudi50ZXh0W2ldKSk7CisJCX0K
IAl9CisJaWYgKHhtbCkKKwkJY2xvc2VfdGFnKGZwLCB0b2stPmlkKTsKIH0K
IAogLyoKQEAgLTEzMDUsMTYgKzE4OTEsMjggQEAKIAogc3RhdGljIHZvaWQK
IHByaW50X2ZpbGVfdG9rKEZJTEUgKmZwLCB0b2tlbnN0cl90ICp0b2ssIGNo
YXIgKmRlbCwgY2hhciByYXcsCi0gICAgX191bnVzZWQgY2hhciBzZnJtKQor
ICAgIF9fdW51c2VkIGNoYXIgc2ZybSwgY2hhciB4bWwpCiB7CiAKLQlwcmlu
dF90b2tfdHlwZShmcCwgdG9rLT5pZCwgImZpbGUiLCByYXcpOwotCXByaW50
X2RlbGltKGZwLCBkZWwpOwotCXByaW50X3NlYzMyKGZwLCB0b2stPnR0LmZp
bGUucywgcmF3KTsKLQlwcmludF9kZWxpbShmcCwgZGVsKTsKLQlwcmludF9t
c2VjMzIoZnAsIHRvay0+dHQuZmlsZS5tcywgcmF3KTsKLQlwcmludF9kZWxp
bShmcCwgZGVsKTsKLQlwcmludF9zdHJpbmcoZnAsIHRvay0+dHQuZmlsZS5u
YW1lLCB0b2stPnR0LmZpbGUubGVuKTsKKwlwcmludF90b2tfdHlwZShmcCwg
dG9rLT5pZCwgImZpbGUiLCByYXcsIHhtbCk7IAorCWlmICh4bWwpIHsKKwkJ
b3Blbl9hdHRyKGZwLCAidGltZSIpOworCQlwcmludF9zZWMzMihmcCwgdG9r
LT50dC5maWxlLnMsIHJhdyk7CisJCWNsb3NlX2F0dHIoZnApOworCQlvcGVu
X2F0dHIoZnAsICJtc2VjIik7CisJCXByaW50X21zZWMzMihmcCwgdG9rLT50
dC5maWxlLm1zLCByYXcpOworCQljbG9zZV9hdHRyKGZwKTsKKwkJZnByaW50
ZihmcCwgIj4iKTsKKwkJcHJpbnRfc3RyaW5nKGZwLCB0b2stPnR0LmZpbGUu
bmFtZSwgdG9rLT50dC5maWxlLmxlbik7CisJCWNsb3NlX3RhZyhmcCwgdG9r
LT5pZCk7CisJfSBlbHNlIHsKKwkJcHJpbnRfZGVsaW0oZnAsIGRlbCk7CisJ
CXByaW50X3NlYzMyKGZwLCB0b2stPnR0LmZpbGUucywgcmF3KTsKKwkJcHJp
bnRfZGVsaW0oZnAsIGRlbCk7CisJCXByaW50X21zZWMzMihmcCwgdG9rLT50
dC5maWxlLm1zLCByYXcpOworCQlwcmludF9kZWxpbShmcCwgZGVsKTsKKwkJ
cHJpbnRfc3RyaW5nKGZwLCB0b2stPnR0LmZpbGUubmFtZSwgdG9rLT50dC5m
aWxlLmxlbik7CisJfQogfQogCiAvKgpAQCAtMTM0MywxNCArMTk0MSwyMSBA
QAogCiBzdGF0aWMgdm9pZAogcHJpbnRfbmV3Z3JvdXBzX3RvayhGSUxFICpm
cCwgdG9rZW5zdHJfdCAqdG9rLCBjaGFyICpkZWwsIGNoYXIgcmF3LAotICAg
IF9fdW51c2VkIGNoYXIgc2ZybSkKKyAgICBfX3VudXNlZCBjaGFyIHNmcm0s
IGNoYXIgeG1sKQogewogCWludCBpOwogCi0JcHJpbnRfdG9rX3R5cGUoZnAs
IHRvay0+aWQsICJncm91cCIsIHJhdyk7CisJcHJpbnRfdG9rX3R5cGUoZnAs
IHRvay0+aWQsICJncm91cCIsIHJhdywgeG1sKTsgCiAJZm9yIChpID0gMDsg
aSA8IHRvay0+dHQuZ3Jwcy5ubzsgaSsrKSB7Ci0JCXByaW50X2RlbGltKGZw
LCBkZWwpOwotCQlwcmludF9ncm91cChmcCwgdG9rLT50dC5ncnBzLmxpc3Rb
aV0sIHJhdyk7CisJCWlmICh4bWwpIHsKKwkJCWZwcmludGYoZnAsICI8Z2lk
PiIpOworCQkJcHJpbnRfZ3JvdXAoZnAsIHRvay0+dHQuZ3Jwcy5saXN0W2ld
LCByYXcpOworCQkJZnByaW50ZihmcCwgIjwvZ2lkPiIpOworCQkJY2xvc2Vf
dGFnKGZwLCB0b2stPmlkKTsKKwkJfSBlbHNlIHsKKwkJCXByaW50X2RlbGlt
KGZwLCBkZWwpOworCQkJcHJpbnRfZ3JvdXAoZnAsIHRvay0+dHQuZ3Jwcy5s
aXN0W2ldLCByYXcpOworCQl9CiAJfQogfQogCkBAIC0xMzczLDEyICsxOTc4
LDE3IEBACiAKIHN0YXRpYyB2b2lkCiBwcmludF9pbmFkZHJfdG9rKEZJTEUg
KmZwLCB0b2tlbnN0cl90ICp0b2ssIGNoYXIgKmRlbCwgY2hhciByYXcsCi0g
ICAgX191bnVzZWQgY2hhciBzZnJtKQorICAgIF9fdW51c2VkIGNoYXIgc2Zy
bSwgY2hhciB4bWwpCiB7CiAKLQlwcmludF90b2tfdHlwZShmcCwgdG9rLT5p
ZCwgImlwIGFkZHIiLCByYXcpOwotCXByaW50X2RlbGltKGZwLCBkZWwpOwot
CXByaW50X2lwX2FkZHJlc3MoZnAsIHRvay0+dHQuaW5hZGRyLmFkZHIpOwor
CXByaW50X3Rva190eXBlKGZwLCB0b2stPmlkLCAiaXAgYWRkciIsIHJhdywg
eG1sKTsKKwlpZiAoeG1sKSB7CisJCXByaW50X2lwX2FkZHJlc3MoZnAsIHRv
ay0+dHQuaW5hZGRyLmFkZHIpOworCQljbG9zZV90YWcoZnAsIHRvay0+aWQp
OworCX0gZWxzZSB7CisJCXByaW50X2RlbGltKGZwLCBkZWwpOworCQlwcmlu
dF9pcF9hZGRyZXNzKGZwLCB0b2stPnR0LmluYWRkci5hZGRyKTsKKwl9CiB9
CiAKIC8qCkBAIC0xNDEyLDEzICsyMDIyLDE5IEBACiAKIHN0YXRpYyB2b2lk
CiBwcmludF9pbmFkZHJfZXhfdG9rKEZJTEUgKmZwLCB0b2tlbnN0cl90ICp0
b2ssIGNoYXIgKmRlbCwgY2hhciByYXcsCi0gICAgX191bnVzZWQgY2hhciBz
ZnJtKQorICAgIF9fdW51c2VkIGNoYXIgc2ZybSwgY2hhciB4bWwpCiB7CiAK
LQlwcmludF90b2tfdHlwZShmcCwgdG9rLT5pZCwgImlwIGFkZHIgZXgiLCBy
YXcpOwotCXByaW50X2RlbGltKGZwLCBkZWwpOwotCXByaW50X2lwX2V4X2Fk
ZHJlc3MoZnAsIHRvay0+dHQuaW5hZGRyX2V4LnR5cGUsCi0JICAgIHRvay0+
dHQuaW5hZGRyX2V4LmFkZHIpOworCXByaW50X3Rva190eXBlKGZwLCB0b2st
PmlkLCAiaXAgYWRkciBleCIsIHJhdywgeG1sKTsgCisJaWYgKHhtbCkgewor
CQlwcmludF9pcF9leF9hZGRyZXNzKGZwLCB0b2stPnR0LmluYWRkcl9leC50
eXBlLAorCQkJdG9rLT50dC5pbmFkZHJfZXguYWRkcik7CisJCWNsb3NlX3Rh
ZyhmcCwgdG9rLT5pZCk7CisJfSBlbHNlIHsKKwkJcHJpbnRfZGVsaW0oZnAs
IGRlbCk7CisJCXByaW50X2lwX2V4X2FkZHJlc3MoZnAsIHRvay0+dHQuaW5h
ZGRyX2V4LnR5cGUsCisJCQl0b2stPnR0LmluYWRkcl9leC5hZGRyKTsKKwl9
CiB9CiAKIC8qCkBAIC0xNDgwLDMwICsyMDk2LDY0IEBACiAKIHN0YXRpYyB2
b2lkCiBwcmludF9pcF90b2soRklMRSAqZnAsIHRva2Vuc3RyX3QgKnRvaywg
Y2hhciAqZGVsLCBjaGFyIHJhdywKLSAgICBfX3VudXNlZCBjaGFyIHNmcm0p
CisgICAgX191bnVzZWQgY2hhciBzZnJtLCBjaGFyIHhtbCkKIHsKIAotCXBy
aW50X3Rva190eXBlKGZwLCB0b2stPmlkLCAiaXAiLCByYXcpOwotCXByaW50
X2RlbGltKGZwLCBkZWwpOwotCXByaW50X21lbShmcCwgKHVfY2hhciAqKSgm
dG9rLT50dC5pcC52ZXJzaW9uKSwgc2l6ZW9mKHVfY2hhcikpOwotCXByaW50
X2RlbGltKGZwLCBkZWwpOwotCXByaW50X21lbShmcCwgKHVfY2hhciAqKSgm
dG9rLT50dC5pcC50b3MpLCBzaXplb2YodV9jaGFyKSk7Ci0JcHJpbnRfZGVs
aW0oZnAsIGRlbCk7Ci0JcHJpbnRfMl9ieXRlcyhmcCwgbnRvaHModG9rLT50
dC5pcC5sZW4pLCAiJXUiKTsKLQlwcmludF9kZWxpbShmcCwgZGVsKTsKLQlw
cmludF8yX2J5dGVzKGZwLCBudG9ocyh0b2stPnR0LmlwLmlkKSwgIiV1Iik7
Ci0JcHJpbnRfZGVsaW0oZnAsIGRlbCk7Ci0JcHJpbnRfMl9ieXRlcyhmcCwg
bnRvaHModG9rLT50dC5pcC5vZmZzZXQpLCAiJXUiKTsKLQlwcmludF9kZWxp
bShmcCwgZGVsKTsKLQlwcmludF9tZW0oZnAsICh1X2NoYXIgKikoJnRvay0+
dHQuaXAudHRsKSwgc2l6ZW9mKHVfY2hhcikpOwotCXByaW50X2RlbGltKGZw
LCBkZWwpOwotCXByaW50X21lbShmcCwgKHVfY2hhciAqKSgmdG9rLT50dC5p
cC5wcm90KSwgc2l6ZW9mKHVfY2hhcikpOwotCXByaW50X2RlbGltKGZwLCBk
ZWwpOwotCXByaW50XzJfYnl0ZXMoZnAsIG50b2hzKHRvay0+dHQuaXAuY2hr
c20pLCAiJXUiKTsKLQlwcmludF9kZWxpbShmcCwgZGVsKTsKLQlwcmludF9p
cF9hZGRyZXNzKGZwLCB0b2stPnR0LmlwLnNyYyk7Ci0JcHJpbnRfZGVsaW0o
ZnAsIGRlbCk7Ci0JcHJpbnRfaXBfYWRkcmVzcyhmcCwgdG9rLT50dC5pcC5k
ZXN0KTsKKwlwcmludF90b2tfdHlwZShmcCwgdG9rLT5pZCwgImlwIiwgcmF3
LCB4bWwpOyAKKwlpZiAoeG1sKSB7CisJCW9wZW5fYXR0cihmcCwgInZlcnNp
b24iKTsKKwkJcHJpbnRfbWVtKGZwLCAodV9jaGFyICopKCZ0b2stPnR0Lmlw
LnZlcnNpb24pLCBzaXplb2YodV9jaGFyKSk7CisJCWNsb3NlX2F0dHIoZnAp
OworCQlvcGVuX2F0dHIoZnAsICJzZXJ2aWNlX3R5cGUiKTsKKwkJcHJpbnRf
bWVtKGZwLCAodV9jaGFyICopKCZ0b2stPnR0LmlwLnRvcyksIHNpemVvZih1
X2NoYXIpKTsKKwkJY2xvc2VfYXR0cihmcCk7CisJCW9wZW5fYXR0cihmcCwg
ImxlbiIpOworCQlwcmludF8yX2J5dGVzKGZwLCBudG9ocyh0b2stPnR0Lmlw
LmxlbiksICIldSIpOworCQljbG9zZV9hdHRyKGZwKTsKKwkJb3Blbl9hdHRy
KGZwLCAiaWQiKTsKKwkJcHJpbnRfMl9ieXRlcyhmcCwgbnRvaHModG9rLT50
dC5pcC5pZCksICIldSIpOworCQljbG9zZV9hdHRyKGZwKTsKKwkJb3Blbl9h
dHRyKGZwLCAib2Zmc2V0Iik7CisJCXByaW50XzJfYnl0ZXMoZnAsIG50b2hz
KHRvay0+dHQuaXAub2Zmc2V0KSwgIiV1Iik7CisJCWNsb3NlX2F0dHIoZnAp
OworCQlvcGVuX2F0dHIoZnAsICJ0aW1lX3RvX2xpdmUiKTsKKwkJcHJpbnRf
bWVtKGZwLCAodV9jaGFyICopKCZ0b2stPnR0LmlwLnR0bCksIHNpemVvZih1
X2NoYXIpKTsKKwkJY2xvc2VfYXR0cihmcCk7CisJCW9wZW5fYXR0cihmcCwg
InByb3RvY29sIik7CisJCXByaW50X21lbShmcCwgKHVfY2hhciAqKSgmdG9r
LT50dC5pcC5wcm90KSwgc2l6ZW9mKHVfY2hhcikpOworCQljbG9zZV9hdHRy
KGZwKTsKKwkJb3Blbl9hdHRyKGZwLCAiY2tzdW0iKTsKKwkJcHJpbnRfMl9i
eXRlcyhmcCwgbnRvaHModG9rLT50dC5pcC5jaGtzbSksICIldSIpOworCQlj
bG9zZV9hdHRyKGZwKTsKKwkJb3Blbl9hdHRyKGZwLCAic3JjX2FkZHIiKTsK
KwkJcHJpbnRfaXBfYWRkcmVzcyhmcCwgdG9rLT50dC5pcC5zcmMpOworCQlj
bG9zZV9hdHRyKGZwKTsKKwkJb3Blbl9hdHRyKGZwLCAiZGVzdF9hZGRyIik7
CisJCXByaW50X2lwX2FkZHJlc3MoZnAsIHRvay0+dHQuaXAuZGVzdCk7CisJ
CWNsb3NlX2F0dHIoZnApOworCQljbG9zZV90YWcoZnAsIHRvay0+aWQpOwor
CX0gZWxzZSB7CisJCXByaW50X2RlbGltKGZwLCBkZWwpOworCQlwcmludF9t
ZW0oZnAsICh1X2NoYXIgKikoJnRvay0+dHQuaXAudmVyc2lvbiksIHNpemVv
Zih1X2NoYXIpKTsKKwkJcHJpbnRfZGVsaW0oZnAsIGRlbCk7CisJCXByaW50
X21lbShmcCwgKHVfY2hhciAqKSgmdG9rLT50dC5pcC50b3MpLCBzaXplb2Yo
dV9jaGFyKSk7CisJCXByaW50X2RlbGltKGZwLCBkZWwpOworCQlwcmludF8y
X2J5dGVzKGZwLCBudG9ocyh0b2stPnR0LmlwLmxlbiksICIldSIpOworCQlw
cmludF9kZWxpbShmcCwgZGVsKTsKKwkJcHJpbnRfMl9ieXRlcyhmcCwgbnRv
aHModG9rLT50dC5pcC5pZCksICIldSIpOworCQlwcmludF9kZWxpbShmcCwg
ZGVsKTsKKwkJcHJpbnRfMl9ieXRlcyhmcCwgbnRvaHModG9rLT50dC5pcC5v
ZmZzZXQpLCAiJXUiKTsKKwkJcHJpbnRfZGVsaW0oZnAsIGRlbCk7CisJCXBy
aW50X21lbShmcCwgKHVfY2hhciAqKSgmdG9rLT50dC5pcC50dGwpLCBzaXpl
b2YodV9jaGFyKSk7CisJCXByaW50X2RlbGltKGZwLCBkZWwpOworCQlwcmlu
dF9tZW0oZnAsICh1X2NoYXIgKikoJnRvay0+dHQuaXAucHJvdCksIHNpemVv
Zih1X2NoYXIpKTsKKwkJcHJpbnRfZGVsaW0oZnAsIGRlbCk7CisJCXByaW50
XzJfYnl0ZXMoZnAsIG50b2hzKHRvay0+dHQuaXAuY2hrc20pLCAiJXUiKTsK
KwkJcHJpbnRfZGVsaW0oZnAsIGRlbCk7CisJCXByaW50X2lwX2FkZHJlc3Mo
ZnAsIHRvay0+dHQuaXAuc3JjKTsKKwkJcHJpbnRfZGVsaW0oZnAsIGRlbCk7
CisJCXByaW50X2lwX2FkZHJlc3MoZnAsIHRvay0+dHQuaXAuZGVzdCk7CisJ
fQogfQogCiAvKgpAQCAtMTUyOCwxNCArMjE3OCwyNCBAQAogCiBzdGF0aWMg
dm9pZAogcHJpbnRfaXBjX3RvayhGSUxFICpmcCwgdG9rZW5zdHJfdCAqdG9r
LCBjaGFyICpkZWwsIGNoYXIgcmF3LAotICAgIF9fdW51c2VkIGNoYXIgc2Zy
bSkKKyAgICBfX3VudXNlZCBjaGFyIHNmcm0sIGNoYXIgeG1sKQogewogCi0J
cHJpbnRfdG9rX3R5cGUoZnAsIHRvay0+aWQsICJJUEMiLCByYXcpOwotCXBy
aW50X2RlbGltKGZwLCBkZWwpOwotCXByaW50X2lwY3R5cGUoZnAsIHRvay0+
dHQuaXBjLnR5cGUsIHJhdyk7Ci0JcHJpbnRfZGVsaW0oZnAsIGRlbCk7Ci0J
cHJpbnRfNF9ieXRlcyhmcCwgdG9rLT50dC5pcGMuaWQsICIldSIpOworCXBy
aW50X3Rva190eXBlKGZwLCB0b2stPmlkLCAiSVBDIiwgcmF3LCB4bWwpOyAK
KwlpZiAoeG1sKSB7CisJCW9wZW5fYXR0cihmcCwgImlwYy10eXBlIik7CisJ
CXByaW50X2lwY3R5cGUoZnAsIHRvay0+dHQuaXBjLnR5cGUsIHJhdyk7CisJ
CWNsb3NlX2F0dHIoZnApOworCQlvcGVuX2F0dHIoZnAsICJpcGMtaWQiKTsK
KwkJcHJpbnRfNF9ieXRlcyhmcCwgdG9rLT50dC5pcGMuaWQsICIldSIpOwor
CQljbG9zZV9hdHRyKGZwKTsKKwkJY2xvc2VfdGFnKGZwLCB0b2stPmlkKTsK
Kwl9IGVsc2UgeworCQlwcmludF9kZWxpbShmcCwgZGVsKTsKKwkJcHJpbnRf
aXBjdHlwZShmcCwgdG9rLT50dC5pcGMudHlwZSwgcmF3KTsKKwkJcHJpbnRf
ZGVsaW0oZnAsIGRlbCk7CisJCXByaW50XzRfYnl0ZXMoZnAsIHRvay0+dHQu
aXBjLmlkLCAiJXUiKTsKKwl9CiB9CiAKIC8qCkBAIC0xNTg1LDI0ICsyMjQ1
LDQ5IEBACiAKIHN0YXRpYyB2b2lkCiBwcmludF9pcGNwZXJtX3RvayhGSUxF
ICpmcCwgdG9rZW5zdHJfdCAqdG9rLCBjaGFyICpkZWwsIGNoYXIgcmF3LAot
ICAgIF9fdW51c2VkIGNoYXIgc2ZybSkKKyAgICBfX3VudXNlZCBjaGFyIHNm
cm0sIGNoYXIgeG1sKQogewogCi0JcHJpbnRfdG9rX3R5cGUoZnAsIHRvay0+
aWQsICJJUEMgcGVybSIsIHJhdyk7Ci0JcHJpbnRfZGVsaW0oZnAsIGRlbCk7
Ci0JcHJpbnRfdXNlcihmcCwgdG9rLT50dC5pcGNwZXJtLnVpZCwgcmF3KTsK
LQlwcmludF9kZWxpbShmcCwgZGVsKTsKLQlwcmludF9ncm91cChmcCwgdG9r
LT50dC5pcGNwZXJtLmdpZCwgcmF3KTsKLQlwcmludF9kZWxpbShmcCwgZGVs
KTsKLQlwcmludF91c2VyKGZwLCB0b2stPnR0LmlwY3Blcm0ucHVpZCwgcmF3
KTsKLQlwcmludF9kZWxpbShmcCwgZGVsKTsKLQlwcmludF9ncm91cChmcCwg
dG9rLT50dC5pcGNwZXJtLnBnaWQsIHJhdyk7Ci0JcHJpbnRfZGVsaW0oZnAs
IGRlbCk7Ci0JcHJpbnRfNF9ieXRlcyhmcCwgdG9rLT50dC5pcGNwZXJtLm1v
ZGUsICIlbyIpOwotCXByaW50X2RlbGltKGZwLCBkZWwpOwotCXByaW50XzRf
Ynl0ZXMoZnAsIHRvay0+dHQuaXBjcGVybS5zZXEsICIldSIpOwotCXByaW50
X2RlbGltKGZwLCBkZWwpOwotCXByaW50XzRfYnl0ZXMoZnAsIHRvay0+dHQu
aXBjcGVybS5rZXksICIldSIpOworCXByaW50X3Rva190eXBlKGZwLCB0b2st
PmlkLCAiSVBDIHBlcm0iLCByYXcsIHhtbCk7IAorCWlmICh4bWwpIHsKKwkJ
b3Blbl9hdHRyKGZwLCAidWlkIik7CisJCXByaW50X3VzZXIoZnAsIHRvay0+
dHQuaXBjcGVybS51aWQsIHJhdyk7CisJCWNsb3NlX2F0dHIoZnApOworCQlv
cGVuX2F0dHIoZnAsICJnaWQiKTsKKwkJcHJpbnRfZ3JvdXAoZnAsIHRvay0+
dHQuaXBjcGVybS5naWQsIHJhdyk7CisJCWNsb3NlX2F0dHIoZnApOworCQlv
cGVuX2F0dHIoZnAsICJjcmVhdG9yLXVpZCIpOworCQlwcmludF91c2VyKGZw
LCB0b2stPnR0LmlwY3Blcm0ucHVpZCwgcmF3KTsKKwkJY2xvc2VfYXR0cihm
cCk7CisJCW9wZW5fYXR0cihmcCwgImNyZWF0b3ItZ2lkIik7CisJCXByaW50
X2dyb3VwKGZwLCB0b2stPnR0LmlwY3Blcm0ucGdpZCwgcmF3KTsKKwkJY2xv
c2VfYXR0cihmcCk7CisJCW9wZW5fYXR0cihmcCwgIm1vZGUiKTsKKwkJcHJp
bnRfNF9ieXRlcyhmcCwgdG9rLT50dC5pcGNwZXJtLm1vZGUsICIlbyIpOwor
CQljbG9zZV9hdHRyKGZwKTsKKwkJb3Blbl9hdHRyKGZwLCAic2VxIik7CisJ
CXByaW50XzRfYnl0ZXMoZnAsIHRvay0+dHQuaXBjcGVybS5zZXEsICIldSIp
OworCQljbG9zZV9hdHRyKGZwKTsKKwkJb3Blbl9hdHRyKGZwLCAia2V5Iik7
CisJCXByaW50XzRfYnl0ZXMoZnAsIHRvay0+dHQuaXBjcGVybS5rZXksICIl
dSIpOworCQljbG9zZV9hdHRyKGZwKTsKKwkJY2xvc2VfdGFnKGZwLCB0b2st
PmlkKTsKKwl9IGVsc2UgeworCQlwcmludF9kZWxpbShmcCwgZGVsKTsKKwkJ
cHJpbnRfdXNlcihmcCwgdG9rLT50dC5pcGNwZXJtLnVpZCwgcmF3KTsKKwkJ
cHJpbnRfZGVsaW0oZnAsIGRlbCk7CisJCXByaW50X2dyb3VwKGZwLCB0b2st
PnR0LmlwY3Blcm0uZ2lkLCByYXcpOworCQlwcmludF9kZWxpbShmcCwgZGVs
KTsKKwkJcHJpbnRfdXNlcihmcCwgdG9rLT50dC5pcGNwZXJtLnB1aWQsIHJh
dyk7CisJCXByaW50X2RlbGltKGZwLCBkZWwpOworCQlwcmludF9ncm91cChm
cCwgdG9rLT50dC5pcGNwZXJtLnBnaWQsIHJhdyk7CisJCXByaW50X2RlbGlt
KGZwLCBkZWwpOworCQlwcmludF80X2J5dGVzKGZwLCB0b2stPnR0LmlwY3Bl
cm0ubW9kZSwgIiVvIik7CisJCXByaW50X2RlbGltKGZwLCBkZWwpOworCQlw
cmludF80X2J5dGVzKGZwLCB0b2stPnR0LmlwY3Blcm0uc2VxLCAiJXUiKTsK
KwkJcHJpbnRfZGVsaW0oZnAsIGRlbCk7CisJCXByaW50XzRfYnl0ZXMoZnAs
IHRvay0+dHQuaXBjcGVybS5rZXksICIldSIpOworCX0KIH0KIAogLyoKQEAg
LTE2MjMsMTIgKzIzMDgsMTggQEAKIAogc3RhdGljIHZvaWQKIHByaW50X2lw
b3J0X3RvayhGSUxFICpmcCwgdG9rZW5zdHJfdCAqdG9rLCBjaGFyICpkZWws
IGNoYXIgcmF3LAotICAgIF9fdW51c2VkIGNoYXIgc2ZybSkKKyAgICBfX3Vu
dXNlZCBjaGFyIHNmcm0sIGNoYXIgeG1sKQogewogCi0JcHJpbnRfdG9rX3R5
cGUoZnAsIHRvay0+aWQsICJpcCBwb3J0IiwgcmF3KTsKLQlwcmludF9kZWxp
bShmcCwgZGVsKTsKLQlwcmludF8yX2J5dGVzKGZwLCBudG9ocyh0b2stPnR0
Lmlwb3J0LnBvcnQpLCAiJSN4Iik7CisJcHJpbnRfdG9rX3R5cGUoZnAsIHRv
ay0+aWQsICJpcCBwb3J0IiwgcmF3LCB4bWwpOworCWlmICh4bWwpIHsKKwkJ
cHJpbnRfMl9ieXRlcyhmcCwgbnRvaHModG9rLT50dC5pcG9ydC5wb3J0KSwg
IiUjeCIpOworCQljbG9zZV90YWcoZnAsIHRvay0+aWQpOworCX0gZWxzZSB7
CisJCXByaW50X2RlbGltKGZwLCBkZWwpOworCQlwcmludF8yX2J5dGVzKGZw
LCBudG9ocyh0b2stPnR0Lmlwb3J0LnBvcnQpLCAiJSN4Iik7CisJfQorCiB9
CiAKIC8qCkBAIC0xNjU0LDE0ICsyMzQ1LDE5IEBACiAKIHN0YXRpYyB2b2lk
CiBwcmludF9vcGFxdWVfdG9rKEZJTEUgKmZwLCB0b2tlbnN0cl90ICp0b2ss
IGNoYXIgKmRlbCwgY2hhciByYXcsCi0gICAgX191bnVzZWQgY2hhciBzZnJt
KQorICAgIF9fdW51c2VkIGNoYXIgc2ZybSwgY2hhciB4bWwpCiB7CiAKLQlw
cmludF90b2tfdHlwZShmcCwgdG9rLT5pZCwgIm9wYXF1ZSIsIHJhdyk7Ci0J
cHJpbnRfZGVsaW0oZnAsIGRlbCk7Ci0JcHJpbnRfMl9ieXRlcyhmcCwgdG9r
LT50dC5vcGFxdWUuc2l6ZSwgIiV1Iik7Ci0JcHJpbnRfZGVsaW0oZnAsIGRl
bCk7Ci0JcHJpbnRfbWVtKGZwLCB0b2stPnR0Lm9wYXF1ZS5kYXRhLCB0b2st
PnR0Lm9wYXF1ZS5zaXplKTsKKwlwcmludF90b2tfdHlwZShmcCwgdG9rLT5p
ZCwgIm9wYXF1ZSIsIHJhdywgeG1sKTsKKwlpZiAoeG1sKSB7CisJCXByaW50
X21lbShmcCwgdG9rLT50dC5vcGFxdWUuZGF0YSwgdG9rLT50dC5vcGFxdWUu
c2l6ZSk7CisJCWNsb3NlX3RhZyhmcCwgdG9rLT5pZCk7CisJfSBlbHNlIHsK
KwkJcHJpbnRfZGVsaW0oZnAsIGRlbCk7CisJCXByaW50XzJfYnl0ZXMoZnAs
IHRvay0+dHQub3BhcXVlLnNpemUsICIldSIpOworCQlwcmludF9kZWxpbShm
cCwgZGVsKTsKKwkJcHJpbnRfbWVtKGZwLCB0b2stPnR0Lm9wYXF1ZS5kYXRh
LCB0b2stPnR0Lm9wYXF1ZS5zaXplKTsKKwl9CiB9CiAKIC8qCkBAIC0xNjg2
LDEyICsyMzgyLDE3IEBACiAKIHN0YXRpYyB2b2lkCiBwcmludF9wYXRoX3Rv
ayhGSUxFICpmcCwgdG9rZW5zdHJfdCAqdG9rLCBjaGFyICpkZWwsIGNoYXIg
cmF3LAotICAgIF9fdW51c2VkIGNoYXIgc2ZybSkKKyAgICBfX3VudXNlZCBj
aGFyIHNmcm0sIGNoYXIgeG1sKQogewogCi0JcHJpbnRfdG9rX3R5cGUoZnAs
IHRvay0+aWQsICJwYXRoIiwgcmF3KTsKLQlwcmludF9kZWxpbShmcCwgZGVs
KTsKLQlwcmludF9zdHJpbmcoZnAsIHRvay0+dHQucGF0aC5wYXRoLCB0b2st
PnR0LnBhdGgubGVuKTsKKwlwcmludF90b2tfdHlwZShmcCwgdG9rLT5pZCwg
InBhdGgiLCByYXcsIHhtbCk7IAorCWlmICh4bWwpIHsKKwkJcHJpbnRfc3Ry
aW5nKGZwLCB0b2stPnR0LnBhdGgucGF0aCwgdG9rLT50dC5wYXRoLmxlbik7
CisJCWNsb3NlX3RhZyhmcCwgdG9rLT5pZCk7CisJfSBlbHNlIHsKKwkJcHJp
bnRfZGVsaW0oZnAsIGRlbCk7CisJCXByaW50X3N0cmluZyhmcCwgdG9rLT50
dC5wYXRoLnBhdGgsIHRvay0+dHQucGF0aC5sZW4pOworCX0KIH0KIAogLyoK
QEAgLTE3NTQsMjggKzI0NTUsNTcgQEAKIAogc3RhdGljIHZvaWQKIHByaW50
X3Byb2Nlc3MzMl90b2soRklMRSAqZnAsIHRva2Vuc3RyX3QgKnRvaywgY2hh
ciAqZGVsLCBjaGFyIHJhdywKLSAgICBfX3VudXNlZCBjaGFyIHNmcm0pCisg
ICAgX191bnVzZWQgY2hhciBzZnJtLCBjaGFyIHhtbCkKIHsKIAotCXByaW50
X3Rva190eXBlKGZwLCB0b2stPmlkLCAicHJvY2VzcyIsIHJhdyk7Ci0JcHJp
bnRfZGVsaW0oZnAsIGRlbCk7Ci0JcHJpbnRfdXNlcihmcCwgdG9rLT50dC5w
cm9jMzIuYXVpZCwgcmF3KTsKLQlwcmludF9kZWxpbShmcCwgZGVsKTsKLQlw
cmludF91c2VyKGZwLCB0b2stPnR0LnByb2MzMi5ldWlkLCByYXcpOwotCXBy
aW50X2RlbGltKGZwLCBkZWwpOwotCXByaW50X2dyb3VwKGZwLCB0b2stPnR0
LnByb2MzMi5lZ2lkLCByYXcpOwotCXByaW50X2RlbGltKGZwLCBkZWwpOwot
CXByaW50X3VzZXIoZnAsIHRvay0+dHQucHJvYzMyLnJ1aWQsIHJhdyk7Ci0J
cHJpbnRfZGVsaW0oZnAsIGRlbCk7Ci0JcHJpbnRfZ3JvdXAoZnAsIHRvay0+
dHQucHJvYzMyLnJnaWQsIHJhdyk7Ci0JcHJpbnRfZGVsaW0oZnAsIGRlbCk7
Ci0JcHJpbnRfNF9ieXRlcyhmcCwgdG9rLT50dC5wcm9jMzIucGlkLCAiJXUi
KTsKLQlwcmludF9kZWxpbShmcCwgZGVsKTsKLQlwcmludF80X2J5dGVzKGZw
LCB0b2stPnR0LnByb2MzMi5zaWQsICIldSIpOwotCXByaW50X2RlbGltKGZw
LCBkZWwpOwotCXByaW50XzRfYnl0ZXMoZnAsIHRvay0+dHQucHJvYzMyLnRp
ZC5wb3J0LCAiJXUiKTsKLQlwcmludF9kZWxpbShmcCwgZGVsKTsKLQlwcmlu
dF9pcF9hZGRyZXNzKGZwLCB0b2stPnR0LnByb2MzMi50aWQuYWRkcik7CisJ
cHJpbnRfdG9rX3R5cGUoZnAsIHRvay0+aWQsICJwcm9jZXNzIiwgcmF3LCB4
bWwpOyAKKwlpZiAoeG1sKSB7CisJCW9wZW5fYXR0cihmcCwgImF1ZGl0LXVp
ZCIpOworCQlwcmludF91c2VyKGZwLCB0b2stPnR0LnByb2MzMi5hdWlkLCBy
YXcpOworCQljbG9zZV9hdHRyKGZwKTsKKwkJb3Blbl9hdHRyKGZwLCAidWlk
Iik7CisJCXByaW50X3VzZXIoZnAsIHRvay0+dHQucHJvYzMyLmV1aWQsIHJh
dyk7CisJCWNsb3NlX2F0dHIoZnApOworCQlvcGVuX2F0dHIoZnAsICJnaWQi
KTsKKwkJcHJpbnRfZ3JvdXAoZnAsIHRvay0+dHQucHJvYzMyLmVnaWQsIHJh
dyk7CisJCWNsb3NlX2F0dHIoZnApOworCQlvcGVuX2F0dHIoZnAsICJydWlk
Iik7CisJCXByaW50X3VzZXIoZnAsIHRvay0+dHQucHJvYzMyLnJ1aWQsIHJh
dyk7CisJCWNsb3NlX2F0dHIoZnApOworCQlvcGVuX2F0dHIoZnAsICJyZ2lk
Iik7CisJCXByaW50X2dyb3VwKGZwLCB0b2stPnR0LnByb2MzMi5yZ2lkLCBy
YXcpOworCQljbG9zZV9hdHRyKGZwKTsKKwkJb3Blbl9hdHRyKGZwLCAicGlk
Iik7CisJCXByaW50XzRfYnl0ZXMoZnAsIHRvay0+dHQucHJvYzMyLnBpZCwg
IiV1Iik7CisJCWNsb3NlX2F0dHIoZnApOworCQlvcGVuX2F0dHIoZnAsICJz
aWQiKTsKKwkJcHJpbnRfNF9ieXRlcyhmcCwgdG9rLT50dC5wcm9jMzIuc2lk
LCAiJXUiKTsKKwkJY2xvc2VfYXR0cihmcCk7CisJCW9wZW5fYXR0cihmcCwg
InRpZCIpOworCQlwcmludF80X2J5dGVzKGZwLCB0b2stPnR0LnByb2MzMi50
aWQucG9ydCwgIiV1Iik7CisJCXByaW50X2lwX2FkZHJlc3MoZnAsIHRvay0+
dHQucHJvYzMyLnRpZC5hZGRyKTsKKwkJY2xvc2VfYXR0cihmcCk7CisJCWNs
b3NlX3RhZyhmcCwgdG9rLT5pZCk7CisJfSBlbHNlIHsKKwkJcHJpbnRfZGVs
aW0oZnAsIGRlbCk7CisJCXByaW50X3VzZXIoZnAsIHRvay0+dHQucHJvYzMy
LmF1aWQsIHJhdyk7CisJCXByaW50X2RlbGltKGZwLCBkZWwpOworCQlwcmlu
dF91c2VyKGZwLCB0b2stPnR0LnByb2MzMi5ldWlkLCByYXcpOworCQlwcmlu
dF9kZWxpbShmcCwgZGVsKTsKKwkJcHJpbnRfZ3JvdXAoZnAsIHRvay0+dHQu
cHJvYzMyLmVnaWQsIHJhdyk7CisJCXByaW50X2RlbGltKGZwLCBkZWwpOwor
CQlwcmludF91c2VyKGZwLCB0b2stPnR0LnByb2MzMi5ydWlkLCByYXcpOwor
CQlwcmludF9kZWxpbShmcCwgZGVsKTsKKwkJcHJpbnRfZ3JvdXAoZnAsIHRv
ay0+dHQucHJvYzMyLnJnaWQsIHJhdyk7CisJCXByaW50X2RlbGltKGZwLCBk
ZWwpOworCQlwcmludF80X2J5dGVzKGZwLCB0b2stPnR0LnByb2MzMi5waWQs
ICIldSIpOworCQlwcmludF9kZWxpbShmcCwgZGVsKTsKKwkJcHJpbnRfNF9i
eXRlcyhmcCwgdG9rLT50dC5wcm9jMzIuc2lkLCAiJXUiKTsKKwkJcHJpbnRf
ZGVsaW0oZnAsIGRlbCk7CisJCXByaW50XzRfYnl0ZXMoZnAsIHRvay0+dHQu
cHJvYzMyLnRpZC5wb3J0LCAiJXUiKTsKKwkJcHJpbnRfZGVsaW0oZnAsIGRl
bCk7CisJCXByaW50X2lwX2FkZHJlc3MoZnAsIHRvay0+dHQucHJvYzMyLnRp
ZC5hZGRyKTsKKwl9CiB9CiAKIHN0YXRpYyBpbnQKQEAgLTE4MzksMjkgKzI1
NjksNTkgQEAKIAogc3RhdGljIHZvaWQKIHByaW50X3Byb2Nlc3MzMmV4X3Rv
ayhGSUxFICpmcCwgdG9rZW5zdHJfdCAqdG9rLCBjaGFyICpkZWwsIGNoYXIg
cmF3LAotICAgIF9fdW51c2VkIGNoYXIgc2ZybSkKKyAgICBfX3VudXNlZCBj
aGFyIHNmcm0sIGNoYXIgeG1sKQogewogCi0JcHJpbnRfdG9rX3R5cGUoZnAs
IHRvay0+aWQsICJwcm9jZXNzX2V4IiwgcmF3KTsKLQlwcmludF9kZWxpbShm
cCwgZGVsKTsKLQlwcmludF91c2VyKGZwLCB0b2stPnR0LnByb2MzMl9leC5h
dWlkLCByYXcpOwotCXByaW50X2RlbGltKGZwLCBkZWwpOwotCXByaW50X3Vz
ZXIoZnAsIHRvay0+dHQucHJvYzMyX2V4LmV1aWQsIHJhdyk7Ci0JcHJpbnRf
ZGVsaW0oZnAsIGRlbCk7Ci0JcHJpbnRfZ3JvdXAoZnAsIHRvay0+dHQucHJv
YzMyX2V4LmVnaWQsIHJhdyk7Ci0JcHJpbnRfZGVsaW0oZnAsIGRlbCk7Ci0J
cHJpbnRfdXNlcihmcCwgdG9rLT50dC5wcm9jMzJfZXgucnVpZCwgcmF3KTsK
LQlwcmludF9kZWxpbShmcCwgZGVsKTsKLQlwcmludF9ncm91cChmcCwgdG9r
LT50dC5wcm9jMzJfZXgucmdpZCwgcmF3KTsKLQlwcmludF9kZWxpbShmcCwg
ZGVsKTsKLQlwcmludF80X2J5dGVzKGZwLCB0b2stPnR0LnByb2MzMl9leC5w
aWQsICIldSIpOwotCXByaW50X2RlbGltKGZwLCBkZWwpOwotCXByaW50XzRf
Ynl0ZXMoZnAsIHRvay0+dHQucHJvYzMyX2V4LnNpZCwgIiV1Iik7Ci0JcHJp
bnRfZGVsaW0oZnAsIGRlbCk7Ci0JcHJpbnRfNF9ieXRlcyhmcCwgdG9rLT50
dC5wcm9jMzJfZXgudGlkLnBvcnQsICIldSIpOwotCXByaW50X2RlbGltKGZw
LCBkZWwpOwotCXByaW50X2lwX2V4X2FkZHJlc3MoZnAsIHRvay0+dHQucHJv
YzMyX2V4LnRpZC50eXBlLAotCSAgICB0b2stPnR0LnByb2MzMl9leC50aWQu
YWRkcik7CisJcHJpbnRfdG9rX3R5cGUoZnAsIHRvay0+aWQsICJwcm9jZXNz
X2V4IiwgcmF3LCB4bWwpOyAgCisJaWYgKHhtbCkgeworCQlvcGVuX2F0dHIo
ZnAsICJhdWRpdC11aWQiKTsKKwkJcHJpbnRfdXNlcihmcCwgdG9rLT50dC5w
cm9jMzJfZXguYXVpZCwgcmF3KTsKKwkJY2xvc2VfYXR0cihmcCk7CisJCW9w
ZW5fYXR0cihmcCwgInVpZCIpOworCQlwcmludF91c2VyKGZwLCB0b2stPnR0
LnByb2MzMl9leC5ldWlkLCByYXcpOworCQljbG9zZV9hdHRyKGZwKTsKKwkJ
b3Blbl9hdHRyKGZwLCAiZ2lkIik7CisJCXByaW50X2dyb3VwKGZwLCB0b2st
PnR0LnByb2MzMl9leC5lZ2lkLCByYXcpOworCQljbG9zZV9hdHRyKGZwKTsK
KwkJb3Blbl9hdHRyKGZwLCAicnVpZCIpOworCQlwcmludF91c2VyKGZwLCB0
b2stPnR0LnByb2MzMl9leC5ydWlkLCByYXcpOworCQljbG9zZV9hdHRyKGZw
KTsKKwkJb3Blbl9hdHRyKGZwLCAicmdpZCIpOworCQlwcmludF9ncm91cChm
cCwgdG9rLT50dC5wcm9jMzJfZXgucmdpZCwgcmF3KTsKKwkJY2xvc2VfYXR0
cihmcCk7CisJCW9wZW5fYXR0cihmcCwgInBpZCIpOworCQlwcmludF80X2J5
dGVzKGZwLCB0b2stPnR0LnByb2MzMl9leC5waWQsICIldSIpOworCQljbG9z
ZV9hdHRyKGZwKTsKKwkJb3Blbl9hdHRyKGZwLCAic2lkIik7CisJCXByaW50
XzRfYnl0ZXMoZnAsIHRvay0+dHQucHJvYzMyX2V4LnNpZCwgIiV1Iik7CisJ
CWNsb3NlX2F0dHIoZnApOworCQlvcGVuX2F0dHIoZnAsICJ0aWQiKTsKKwkJ
cHJpbnRfNF9ieXRlcyhmcCwgdG9rLT50dC5wcm9jMzJfZXgudGlkLnBvcnQs
ICIldSIpOworCQlwcmludF9pcF9leF9hZGRyZXNzKGZwLCB0b2stPnR0LnBy
b2MzMl9leC50aWQudHlwZSwKKwkJCXRvay0+dHQucHJvYzMyX2V4LnRpZC5h
ZGRyKTsKKwkJY2xvc2VfYXR0cihmcCk7CisJCWNsb3NlX3RhZyhmcCwgdG9r
LT5pZCk7CisJfSBlbHNlIHsKKwkJcHJpbnRfZGVsaW0oZnAsIGRlbCk7CisJ
CXByaW50X3VzZXIoZnAsIHRvay0+dHQucHJvYzMyX2V4LmF1aWQsIHJhdyk7
CisJCXByaW50X2RlbGltKGZwLCBkZWwpOworCQlwcmludF91c2VyKGZwLCB0
b2stPnR0LnByb2MzMl9leC5ldWlkLCByYXcpOworCQlwcmludF9kZWxpbShm
cCwgZGVsKTsKKwkJcHJpbnRfZ3JvdXAoZnAsIHRvay0+dHQucHJvYzMyX2V4
LmVnaWQsIHJhdyk7CisJCXByaW50X2RlbGltKGZwLCBkZWwpOworCQlwcmlu
dF91c2VyKGZwLCB0b2stPnR0LnByb2MzMl9leC5ydWlkLCByYXcpOworCQlw
cmludF9kZWxpbShmcCwgZGVsKTsKKwkJcHJpbnRfZ3JvdXAoZnAsIHRvay0+
dHQucHJvYzMyX2V4LnJnaWQsIHJhdyk7CisJCXByaW50X2RlbGltKGZwLCBk
ZWwpOworCQlwcmludF80X2J5dGVzKGZwLCB0b2stPnR0LnByb2MzMl9leC5w
aWQsICIldSIpOworCQlwcmludF9kZWxpbShmcCwgZGVsKTsKKwkJcHJpbnRf
NF9ieXRlcyhmcCwgdG9rLT50dC5wcm9jMzJfZXguc2lkLCAiJXUiKTsKKwkJ
cHJpbnRfZGVsaW0oZnAsIGRlbCk7CisJCXByaW50XzRfYnl0ZXMoZnAsIHRv
ay0+dHQucHJvYzMyX2V4LnRpZC5wb3J0LCAiJXUiKTsKKwkJcHJpbnRfZGVs
aW0oZnAsIGRlbCk7CisJCXByaW50X2lwX2V4X2FkZHJlc3MoZnAsIHRvay0+
dHQucHJvYzMyX2V4LnRpZC50eXBlLAorCQkJdG9rLT50dC5wcm9jMzJfZXgu
dGlkLmFkZHIpOworCX0KIH0KIAogLyoKQEAgLTE4ODYsMTQgKzI2NDYsMjQg
QEAKIAogc3RhdGljIHZvaWQKIHByaW50X3JldHVybjMyX3RvayhGSUxFICpm
cCwgdG9rZW5zdHJfdCAqdG9rLCBjaGFyICpkZWwsIGNoYXIgcmF3LAotICAg
IF9fdW51c2VkIGNoYXIgc2ZybSkKKyAgICBfX3VudXNlZCBjaGFyIHNmcm0s
IGNoYXIgeG1sKQogewogCi0JcHJpbnRfdG9rX3R5cGUoZnAsIHRvay0+aWQs
ICJyZXR1cm4iLCByYXcpOwotCXByaW50X2RlbGltKGZwLCBkZWwpOwotCXBy
aW50X3JldHZhbChmcCwgdG9rLT50dC5yZXQzMi5zdGF0dXMsIHJhdyk7Ci0J
cHJpbnRfZGVsaW0oZnAsIGRlbCk7Ci0JcHJpbnRfNF9ieXRlcyhmcCwgdG9r
LT50dC5yZXQzMi5yZXQsICIldSIpOworCXByaW50X3Rva190eXBlKGZwLCB0
b2stPmlkLCAicmV0dXJuIiwgcmF3LCB4bWwpOyAKKwlpZiAoeG1sKSB7CisJ
CW9wZW5fYXR0cihmcCAsImVycnZhbCIpOworCQlwcmludF9yZXR2YWwoZnAs
IHRvay0+dHQucmV0MzIuc3RhdHVzLCByYXcpOworCQljbG9zZV9hdHRyKGZw
KTsKKwkJb3Blbl9hdHRyKGZwLCAicmV0dmFsIik7CisJCXByaW50XzRfYnl0
ZXMoZnAsIHRvay0+dHQucmV0MzIucmV0LCAiJXUiKTsKKwkJY2xvc2VfYXR0
cihmcCk7CisJCWNsb3NlX3RhZyhmcCwgdG9rLT5pZCk7CisJfSBlbHNlIHsK
KwkJcHJpbnRfZGVsaW0oZnAsIGRlbCk7CisJCXByaW50X3JldHZhbChmcCwg
dG9rLT50dC5yZXQzMi5zdGF0dXMsIHJhdyk7CisJCXByaW50X2RlbGltKGZw
LCBkZWwpOworCQlwcmludF80X2J5dGVzKGZwLCB0b2stPnR0LnJldDMyLnJl
dCwgIiV1Iik7CisJfQogfQogCiBzdGF0aWMgaW50CkBAIC0xOTE0LDE0ICsy
Njg0LDI0IEBACiAKIHN0YXRpYyB2b2lkCiBwcmludF9yZXR1cm42NF90b2so
RklMRSAqZnAsIHRva2Vuc3RyX3QgKnRvaywgY2hhciAqZGVsLCBjaGFyIHJh
dywKLSAgICBfX3VudXNlZCBjaGFyIHNmcm0pCisgICAgX191bnVzZWQgY2hh
ciBzZnJtLCBjaGFyIHhtbCkKIHsKIAotCXByaW50X3Rva190eXBlKGZwLCB0
b2stPmlkLCAicmV0dXJuIiwgcmF3KTsKLQlwcmludF9kZWxpbShmcCwgZGVs
KTsKLQlwcmludF9yZXR2YWwoZnAsIHRvay0+dHQucmV0NjQuZXJyLCByYXcp
OwotCXByaW50X2RlbGltKGZwLCBkZWwpOwotCXByaW50XzhfYnl0ZXMoZnAs
IHRvay0+dHQucmV0NjQudmFsLCAiJWxsZCIpOworCXByaW50X3Rva190eXBl
KGZwLCB0b2stPmlkLCAicmV0dXJuIiwgcmF3LCB4bWwpOworCWlmICh4bWwp
IHsKKwkJb3Blbl9hdHRyKGZwLCAiZXJydmFsIik7CisJCXByaW50X3JldHZh
bChmcCwgdG9rLT50dC5yZXQ2NC5lcnIsIHJhdyk7CisJCWNsb3NlX2F0dHIo
ZnApOworCQlvcGVuX2F0dHIoZnAsICJyZXR2YWwiKTsKKwkJcHJpbnRfOF9i
eXRlcyhmcCwgdG9rLT50dC5yZXQ2NC52YWwsICIlbGxkIik7CisJCWNsb3Nl
X2F0dHIoZnApOworCQljbG9zZV90YWcoZnAsIHRvay0+aWQpOworCX0gZWxz
ZSB7CisJCXByaW50X2RlbGltKGZwLCBkZWwpOworCQlwcmludF9yZXR2YWwo
ZnAsIHRvay0+dHQucmV0NjQuZXJyLCByYXcpOworCQlwcmludF9kZWxpbShm
cCwgZGVsKTsKKwkJcHJpbnRfOF9ieXRlcyhmcCwgdG9rLT50dC5yZXQ2NC52
YWwsICIlbGxkIik7CisJfQogfQogCiAvKgpAQCAtMTk0MSwxMiArMjcyMSwx
OSBAQAogCiBzdGF0aWMgdm9pZAogcHJpbnRfc2VxX3RvayhGSUxFICpmcCwg
dG9rZW5zdHJfdCAqdG9rLCBjaGFyICpkZWwsIGNoYXIgcmF3LAotICAgIF9f
dW51c2VkIGNoYXIgc2ZybSkKKyAgICBfX3VudXNlZCBjaGFyIHNmcm0sIGNo
YXIgeG1sKQogewogCi0JcHJpbnRfdG9rX3R5cGUoZnAsIHRvay0+aWQsICJz
ZXF1ZW5jZSIsIHJhdyk7Ci0JcHJpbnRfZGVsaW0oZnAsIGRlbCk7Ci0JcHJp
bnRfNF9ieXRlcyhmcCwgdG9rLT50dC5zZXEuc2Vxbm8sICIldSIpOworCXBy
aW50X3Rva190eXBlKGZwLCB0b2stPmlkLCAic2VxdWVuY2UiLCByYXcsIHht
bCk7IAorCWlmICh4bWwpIHsKKwkJb3Blbl9hdHRyKGZwLCAic2VxLW51bSIp
OworCQlwcmludF80X2J5dGVzKGZwLCB0b2stPnR0LnNlcS5zZXFubywgIiV1
Iik7CisJCWNsb3NlX2F0dHIoZnApOworCQljbG9zZV90YWcoZnAsIHRvay0+
aWQpOworCX0gZWxzZSB7CisJCXByaW50X2RlbGltKGZwLCBkZWwpOworCQlw
cmludF80X2J5dGVzKGZwLCB0b2stPnR0LnNlcS5zZXFubywgIiV1Iik7CisJ
fQogfQogCiAvKgpAQCAtMTk3OSwxNiArMjc2NiwyOSBAQAogCiBzdGF0aWMg
dm9pZAogcHJpbnRfc29ja19pbmV0MzJfdG9rKEZJTEUgKmZwLCB0b2tlbnN0
cl90ICp0b2ssIGNoYXIgKmRlbCwgY2hhciByYXcsCi0gICAgX191bnVzZWQg
Y2hhciBzZnJtKQorICAgIF9fdW51c2VkIGNoYXIgc2ZybSwgY2hhciB4bWwp
CiB7CiAKLQlwcmludF90b2tfdHlwZShmcCwgdG9rLT5pZCwgInNvY2tldC1p
bmV0IiwgcmF3KTsKLQlwcmludF9kZWxpbShmcCwgZGVsKTsKLQlwcmludF8y
X2J5dGVzKGZwLCB0b2stPnR0LnNvY2tpbmV0MzIuZmFtaWx5LCAiJXUiKTsK
LQlwcmludF9kZWxpbShmcCwgZGVsKTsKLQlwcmludF8yX2J5dGVzKGZwLCBu
dG9ocyh0b2stPnR0LnNvY2tpbmV0MzIucG9ydCksICIldSIpOwotCXByaW50
X2RlbGltKGZwLCBkZWwpOwotCXByaW50X2lwX2FkZHJlc3MoZnAsIHRvay0+
dHQuc29ja2luZXQzMi5hZGRyKTsKKwlwcmludF90b2tfdHlwZShmcCwgdG9r
LT5pZCwgInNvY2tldC1pbmV0IiwgcmF3LCB4bWwpOyAKKwlpZiAoeG1sKSB7
CisJCW9wZW5fYXR0cihmcCwgInR5cGUiKTsKKwkJcHJpbnRfMl9ieXRlcyhm
cCwgdG9rLT50dC5zb2NraW5ldDMyLmZhbWlseSwgIiV1Iik7CisJCWNsb3Nl
X2F0dHIoZnApOworCQlvcGVuX2F0dHIoZnAsICJwb3J0Iik7CisJCXByaW50
XzJfYnl0ZXMoZnAsIG50b2hzKHRvay0+dHQuc29ja2luZXQzMi5wb3J0KSwg
IiV1Iik7CisJCWNsb3NlX2F0dHIoZnApOworCQlvcGVuX2F0dHIoZnAsICJh
ZGRyIik7CisJCXByaW50X2lwX2FkZHJlc3MoZnAsIHRvay0+dHQuc29ja2lu
ZXQzMi5hZGRyKTsKKwkJY2xvc2VfYXR0cihmcCk7CisJCWNsb3NlX3RhZyhm
cCwgdG9rLT5pZCk7CisJfSBlbHNlIHsKKwkJcHJpbnRfZGVsaW0oZnAsIGRl
bCk7CisJCXByaW50XzJfYnl0ZXMoZnAsIHRvay0+dHQuc29ja2luZXQzMi5m
YW1pbHksICIldSIpOworCQlwcmludF9kZWxpbShmcCwgZGVsKTsKKwkJcHJp
bnRfMl9ieXRlcyhmcCwgbnRvaHModG9rLT50dC5zb2NraW5ldDMyLnBvcnQp
LCAiJXUiKTsKKwkJcHJpbnRfZGVsaW0oZnAsIGRlbCk7CisJCXByaW50X2lw
X2FkZHJlc3MoZnAsIHRvay0+dHQuc29ja2luZXQzMi5hZGRyKTsKKwl9CiB9
CiAKIC8qCkBAIC0yMDE0LDE1ICsyODE0LDI4IEBACiAKIHN0YXRpYyB2b2lk
CiBwcmludF9zb2NrX3VuaXhfdG9rKEZJTEUgKmZwLCB0b2tlbnN0cl90ICp0
b2ssIGNoYXIgKmRlbCwgY2hhciByYXcsCi0gICAgX191bnVzZWQgY2hhciBz
ZnJtKQorICAgIF9fdW51c2VkIGNoYXIgc2ZybSwgY2hhciB4bWwpCiB7CiAK
LQlwcmludF90b2tfdHlwZShmcCwgdG9rLT5pZCwgInNvY2tldC11bml4Iiwg
cmF3KTsKLQlwcmludF9kZWxpbShmcCwgZGVsKTsKLQlwcmludF8yX2J5dGVz
KGZwLCB0b2stPnR0LnNvY2t1bml4LmZhbWlseSwgIiV1Iik7Ci0JcHJpbnRf
ZGVsaW0oZnAsIGRlbCk7Ci0JcHJpbnRfc3RyaW5nKGZwLCB0b2stPnR0LnNv
Y2t1bml4LnBhdGgsCi0JICAgIHN0cmxlbih0b2stPnR0LnNvY2t1bml4LnBh
dGgpKTsKKwlwcmludF90b2tfdHlwZShmcCwgdG9rLT5pZCwgInNvY2tldC11
bml4IiwgcmF3LCB4bWwpOworCWlmICh4bWwpIHsKKwkJb3Blbl9hdHRyKGZw
LCAidHlwZSIpOworCQlwcmludF8yX2J5dGVzKGZwLCB0b2stPnR0LnNvY2t1
bml4LmZhbWlseSwgIiV1Iik7CisJCWNsb3NlX2F0dHIoZnApOworCQlvcGVu
X2F0dHIoZnAsICJwb3J0Iik7CisJCWNsb3NlX2F0dHIoZnApOworCQlvcGVu
X2F0dHIoZnAsICJhZGRyIik7CisJCXByaW50X3N0cmluZyhmcCwgdG9rLT50
dC5zb2NrdW5peC5wYXRoLAorCQkJc3RybGVuKHRvay0+dHQuc29ja3VuaXgu
cGF0aCkpOworCQljbG9zZV9hdHRyKGZwKTsKKwkJY2xvc2VfdGFnKGZwLCB0
b2stPmlkKTsKKwl9IGVsc2UgeworCQlwcmludF9kZWxpbShmcCwgZGVsKTsK
KwkJcHJpbnRfMl9ieXRlcyhmcCwgdG9rLT50dC5zb2NrdW5peC5mYW1pbHks
ICIldSIpOworCQlwcmludF9kZWxpbShmcCwgZGVsKTsKKwkJcHJpbnRfc3Ry
aW5nKGZwLCB0b2stPnR0LnNvY2t1bml4LnBhdGgsCisJCQlzdHJsZW4odG9r
LT50dC5zb2NrdW5peC5wYXRoKSk7CisJfQogfQogCiAvKgpAQCAtMjA2Niwy
MCArMjg3OSwzOSBAQAogCiBzdGF0aWMgdm9pZAogcHJpbnRfc29ja2V0X3Rv
ayhGSUxFICpmcCwgdG9rZW5zdHJfdCAqdG9rLCBjaGFyICpkZWwsIGNoYXIg
cmF3LAotICAgIF9fdW51c2VkIGNoYXIgc2ZybSkKKyAgICBfX3VudXNlZCBj
aGFyIHNmcm0sIGNoYXIgeG1sKQogewogCi0JcHJpbnRfdG9rX3R5cGUoZnAs
IHRvay0+aWQsICJzb2NrZXQiLCByYXcpOwotCXByaW50X2RlbGltKGZwLCBk
ZWwpOwotCXByaW50XzJfYnl0ZXMoZnAsIHRvay0+dHQuc29ja2V0LnR5cGUs
ICIldSIpOwotCXByaW50X2RlbGltKGZwLCBkZWwpOwotCXByaW50XzJfYnl0
ZXMoZnAsIG50b2hzKHRvay0+dHQuc29ja2V0LmxfcG9ydCksICIldSIpOwot
CXByaW50X2RlbGltKGZwLCBkZWwpOwotCXByaW50X2lwX2FkZHJlc3MoZnAs
IHRvay0+dHQuc29ja2V0LmxfYWRkcik7Ci0JcHJpbnRfZGVsaW0oZnAsIGRl
bCk7Ci0JcHJpbnRfMl9ieXRlcyhmcCwgbnRvaHModG9rLT50dC5zb2NrZXQu
cl9wb3J0KSwgIiV1Iik7Ci0JcHJpbnRfZGVsaW0oZnAsIGRlbCk7Ci0JcHJp
bnRfaXBfYWRkcmVzcyhmcCwgdG9rLT50dC5zb2NrZXQucl9hZGRyKTsKKwlw
cmludF90b2tfdHlwZShmcCwgdG9rLT5pZCwgInNvY2tldCIsIHJhdywgeG1s
KTsgCisJaWYgKHhtbCkgeworCQlvcGVuX2F0dHIoZnAsICJzb2NrX3R5cGUi
KTsKKwkJcHJpbnRfMl9ieXRlcyhmcCwgdG9rLT50dC5zb2NrZXQudHlwZSwg
IiV1Iik7CisJCWNsb3NlX2F0dHIoZnApOworCQlvcGVuX2F0dHIoZnAsICJs
cG9ydCIpOworCQlwcmludF8yX2J5dGVzKGZwLCBudG9ocyh0b2stPnR0LnNv
Y2tldC5sX3BvcnQpLCAiJXUiKTsKKwkJY2xvc2VfYXR0cihmcCk7CisJCW9w
ZW5fYXR0cihmcCwgImxhZGRyIik7CisJCXByaW50X2lwX2FkZHJlc3MoZnAs
IHRvay0+dHQuc29ja2V0LmxfYWRkcik7CisJCWNsb3NlX2F0dHIoZnApOwor
CQlvcGVuX2F0dHIoZnAsICJmcG9ydCIpOworCQlwcmludF8yX2J5dGVzKGZw
LCBudG9ocyh0b2stPnR0LnNvY2tldC5yX3BvcnQpLCAiJXUiKTsKKwkJY2xv
c2VfYXR0cihmcCk7CisJCW9wZW5fYXR0cihmcCwgImZhZGRyIik7CisJCXBy
aW50X2lwX2FkZHJlc3MoZnAsIHRvay0+dHQuc29ja2V0LnJfYWRkcik7CisJ
CWNsb3NlX2F0dHIoZnApOworCQljbG9zZV90YWcoZnAsIHRvay0+aWQpOwor
CX0gZWxzZSB7CisJCXByaW50X2RlbGltKGZwLCBkZWwpOworCQlwcmludF8y
X2J5dGVzKGZwLCB0b2stPnR0LnNvY2tldC50eXBlLCAiJXUiKTsKKwkJcHJp
bnRfZGVsaW0oZnAsIGRlbCk7CisJCXByaW50XzJfYnl0ZXMoZnAsIG50b2hz
KHRvay0+dHQuc29ja2V0LmxfcG9ydCksICIldSIpOworCQlwcmludF9kZWxp
bShmcCwgZGVsKTsKKwkJcHJpbnRfaXBfYWRkcmVzcyhmcCwgdG9rLT50dC5z
b2NrZXQubF9hZGRyKTsKKwkJcHJpbnRfZGVsaW0oZnAsIGRlbCk7CisJCXBy
aW50XzJfYnl0ZXMoZnAsIG50b2hzKHRvay0+dHQuc29ja2V0LnJfcG9ydCks
ICIldSIpOworCQlwcmludF9kZWxpbShmcCwgZGVsKTsKKwkJcHJpbnRfaXBf
YWRkcmVzcyhmcCwgdG9rLT50dC5zb2NrZXQucl9hZGRyKTsKKwl9CiB9CiAK
IC8qCkBAIC0yMTQxLDI4ICsyOTczLDU3IEBACiAKIHN0YXRpYyB2b2lkCiBw
cmludF9zdWJqZWN0MzJfdG9rKEZJTEUgKmZwLCB0b2tlbnN0cl90ICp0b2ss
IGNoYXIgKmRlbCwgY2hhciByYXcsCi0gICAgX191bnVzZWQgY2hhciBzZnJt
KQorICAgIF9fdW51c2VkIGNoYXIgc2ZybSwgY2hhciB4bWwpCiB7CiAKLQlw
cmludF90b2tfdHlwZShmcCwgdG9rLT5pZCwgInN1YmplY3QiLCByYXcpOwot
CXByaW50X2RlbGltKGZwLCBkZWwpOwotCXByaW50X3VzZXIoZnAsIHRvay0+
dHQuc3ViajMyLmF1aWQsIHJhdyk7Ci0JcHJpbnRfZGVsaW0oZnAsIGRlbCk7
Ci0JcHJpbnRfdXNlcihmcCwgdG9rLT50dC5zdWJqMzIuZXVpZCwgcmF3KTsK
LQlwcmludF9kZWxpbShmcCwgZGVsKTsKLQlwcmludF9ncm91cChmcCwgdG9r
LT50dC5zdWJqMzIuZWdpZCwgcmF3KTsKLQlwcmludF9kZWxpbShmcCwgZGVs
KTsKLQlwcmludF91c2VyKGZwLCB0b2stPnR0LnN1YmozMi5ydWlkLCByYXcp
OwotCXByaW50X2RlbGltKGZwLCBkZWwpOwotCXByaW50X2dyb3VwKGZwLCB0
b2stPnR0LnN1YmozMi5yZ2lkLCByYXcpOwotCXByaW50X2RlbGltKGZwLCBk
ZWwpOwotCXByaW50XzRfYnl0ZXMoZnAsIHRvay0+dHQuc3ViajMyLnBpZCwg
IiV1Iik7Ci0JcHJpbnRfZGVsaW0oZnAsIGRlbCk7Ci0JcHJpbnRfNF9ieXRl
cyhmcCwgdG9rLT50dC5zdWJqMzIuc2lkLCAiJXUiKTsKLQlwcmludF9kZWxp
bShmcCwgZGVsKTsKLQlwcmludF80X2J5dGVzKGZwLCB0b2stPnR0LnN1Ymoz
Mi50aWQucG9ydCwgIiV1Iik7Ci0JcHJpbnRfZGVsaW0oZnAsIGRlbCk7Ci0J
cHJpbnRfaXBfYWRkcmVzcyhmcCwgdG9rLT50dC5zdWJqMzIudGlkLmFkZHIp
OworCXByaW50X3Rva190eXBlKGZwLCB0b2stPmlkLCAic3ViamVjdCIsIHJh
dywgeG1sKTsgCisJaWYgKHhtbCkgeworCQlvcGVuX2F0dHIoZnAsICJhdWRp
dC11aWQiKTsKKwkJcHJpbnRfdXNlcihmcCwgdG9rLT50dC5zdWJqMzIuYXVp
ZCwgcmF3KTsKKwkJY2xvc2VfYXR0cihmcCk7CisJCW9wZW5fYXR0cihmcCwg
InVpZCIpOworCQlwcmludF91c2VyKGZwLCB0b2stPnR0LnN1YmozMi5ldWlk
LCByYXcpOworCQljbG9zZV9hdHRyKGZwKTsKKwkJb3Blbl9hdHRyKGZwLCAi
Z2lkIik7CisJCXByaW50X2dyb3VwKGZwLCB0b2stPnR0LnN1YmozMi5lZ2lk
LCByYXcpOworCQljbG9zZV9hdHRyKGZwKTsKKwkJb3Blbl9hdHRyKGZwLCAi
cnVpZCIpOworCQlwcmludF91c2VyKGZwLCB0b2stPnR0LnN1YmozMi5ydWlk
LCByYXcpOworCQljbG9zZV9hdHRyKGZwKTsKKwkJb3Blbl9hdHRyKGZwLCAi
cmdpZCIpOworCQlwcmludF9ncm91cChmcCwgdG9rLT50dC5zdWJqMzIucmdp
ZCwgcmF3KTsKKwkJY2xvc2VfYXR0cihmcCk7CisJCW9wZW5fYXR0cihmcCwi
cGlkIik7CisJCXByaW50XzRfYnl0ZXMoZnAsIHRvay0+dHQuc3ViajMyLnBp
ZCwgIiV1Iik7CisJCWNsb3NlX2F0dHIoZnApOworCQlvcGVuX2F0dHIoZnAs
InNpZCIpOworCQlwcmludF80X2J5dGVzKGZwLCB0b2stPnR0LnN1YmozMi5z
aWQsICIldSIpOworCQljbG9zZV9hdHRyKGZwKTsKKwkJb3Blbl9hdHRyKGZw
LCJ0aWQiKTsKKwkJcHJpbnRfNF9ieXRlcyhmcCwgdG9rLT50dC5zdWJqMzIu
dGlkLnBvcnQsICIldSAiKTsKKwkJcHJpbnRfaXBfYWRkcmVzcyhmcCwgdG9r
LT50dC5zdWJqMzIudGlkLmFkZHIpOworCQljbG9zZV9hdHRyKGZwKTsKKwkJ
Y2xvc2VfdGFnKGZwLCB0b2stPmlkKTsKKwl9IGVsc2UgeworCQlwcmludF9k
ZWxpbShmcCwgZGVsKTsKKwkJcHJpbnRfdXNlcihmcCwgdG9rLT50dC5zdWJq
MzIuYXVpZCwgcmF3KTsKKwkJcHJpbnRfZGVsaW0oZnAsIGRlbCk7CisJCXBy
aW50X3VzZXIoZnAsIHRvay0+dHQuc3ViajMyLmV1aWQsIHJhdyk7CisJCXBy
aW50X2RlbGltKGZwLCBkZWwpOworCQlwcmludF9ncm91cChmcCwgdG9rLT50
dC5zdWJqMzIuZWdpZCwgcmF3KTsKKwkJcHJpbnRfZGVsaW0oZnAsIGRlbCk7
CisJCXByaW50X3VzZXIoZnAsIHRvay0+dHQuc3ViajMyLnJ1aWQsIHJhdyk7
CisJCXByaW50X2RlbGltKGZwLCBkZWwpOworCQlwcmludF9ncm91cChmcCwg
dG9rLT50dC5zdWJqMzIucmdpZCwgcmF3KTsKKwkJcHJpbnRfZGVsaW0oZnAs
IGRlbCk7CisJCXByaW50XzRfYnl0ZXMoZnAsIHRvay0+dHQuc3ViajMyLnBp
ZCwgIiV1Iik7CisJCXByaW50X2RlbGltKGZwLCBkZWwpOworCQlwcmludF80
X2J5dGVzKGZwLCB0b2stPnR0LnN1YmozMi5zaWQsICIldSIpOworCQlwcmlu
dF9kZWxpbShmcCwgZGVsKTsKKwkJcHJpbnRfNF9ieXRlcyhmcCwgdG9rLT50
dC5zdWJqMzIudGlkLnBvcnQsICIldSIpOworCQlwcmludF9kZWxpbShmcCwg
ZGVsKTsKKwkJcHJpbnRfaXBfYWRkcmVzcyhmcCwgdG9rLT50dC5zdWJqMzIu
dGlkLmFkZHIpOworCX0KIH0KIAogLyoKQEAgLTIyMjQsMjggKzMwODUsNTcg
QEAKIAogc3RhdGljIHZvaWQKIHByaW50X3N1YmplY3Q2NF90b2soRklMRSAq
ZnAsIHRva2Vuc3RyX3QgKnRvaywgY2hhciAqZGVsLCBjaGFyIHJhdywKLSAg
ICBfX3VudXNlZCBjaGFyIHNmcm0pCisgICAgX191bnVzZWQgY2hhciBzZnJt
LCBjaGFyIHhtbCkKIHsKIAotCXByaW50X3Rva190eXBlKGZwLCB0b2stPmlk
LCAic3ViamVjdCIsIHJhdyk7Ci0JcHJpbnRfZGVsaW0oZnAsIGRlbCk7Ci0J
cHJpbnRfdXNlcihmcCwgdG9rLT50dC5zdWJqNjQuYXVpZCwgcmF3KTsKLQlw
cmludF9kZWxpbShmcCwgZGVsKTsKLQlwcmludF91c2VyKGZwLCB0b2stPnR0
LnN1Ymo2NC5ldWlkLCByYXcpOwotCXByaW50X2RlbGltKGZwLCBkZWwpOwot
CXByaW50X2dyb3VwKGZwLCB0b2stPnR0LnN1Ymo2NC5lZ2lkLCByYXcpOwot
CXByaW50X2RlbGltKGZwLCBkZWwpOwotCXByaW50X3VzZXIoZnAsIHRvay0+
dHQuc3ViajY0LnJ1aWQsIHJhdyk7Ci0JcHJpbnRfZGVsaW0oZnAsIGRlbCk7
Ci0JcHJpbnRfZ3JvdXAoZnAsIHRvay0+dHQuc3ViajY0LnJnaWQsIHJhdyk7
Ci0JcHJpbnRfZGVsaW0oZnAsIGRlbCk7Ci0JcHJpbnRfNF9ieXRlcyhmcCwg
dG9rLT50dC5zdWJqNjQucGlkLCAiJXUiKTsKLQlwcmludF9kZWxpbShmcCwg
ZGVsKTsKLQlwcmludF80X2J5dGVzKGZwLCB0b2stPnR0LnN1Ymo2NC5zaWQs
ICIldSIpOwotCXByaW50X2RlbGltKGZwLCBkZWwpOwotCXByaW50XzhfYnl0
ZXMoZnAsIHRvay0+dHQuc3ViajY0LnRpZC5wb3J0LCAiJWxsdSIpOwotCXBy
aW50X2RlbGltKGZwLCBkZWwpOwotCXByaW50X2lwX2FkZHJlc3MoZnAsIHRv
ay0+dHQuc3ViajY0LnRpZC5hZGRyKTsKKwlwcmludF90b2tfdHlwZShmcCwg
dG9rLT5pZCwgInN1YmplY3QiLCByYXcsIHhtbCk7CisJaWYgKHhtbCkgewor
CQlvcGVuX2F0dHIoZnAsICJhdWRpdC11aWQiKTsKKwkJcHJpbnRfdXNlcihm
cCwgdG9rLT50dC5zdWJqNjQuYXVpZCwgcmF3KTsKKwkJY2xvc2VfYXR0cihm
cCk7CisJCW9wZW5fYXR0cihmcCwgInVpZCIpOworCQlwcmludF91c2VyKGZw
LCB0b2stPnR0LnN1Ymo2NC5ldWlkLCByYXcpOworCQljbG9zZV9hdHRyKGZw
KTsKKwkJb3Blbl9hdHRyKGZwLCAiZ2lkIik7CisJCXByaW50X2dyb3VwKGZw
LCB0b2stPnR0LnN1Ymo2NC5lZ2lkLCByYXcpOworCQljbG9zZV9hdHRyKGZw
KTsKKwkJb3Blbl9hdHRyKGZwLCAicnVpZCIpOworCQlwcmludF91c2VyKGZw
LCB0b2stPnR0LnN1Ymo2NC5ydWlkLCByYXcpOworCQljbG9zZV9hdHRyKGZw
KTsKKwkJb3Blbl9hdHRyKGZwLCAicmdpZCIpOworCQlwcmludF9ncm91cChm
cCwgdG9rLT50dC5zdWJqNjQucmdpZCwgcmF3KTsKKwkJY2xvc2VfYXR0cihm
cCk7CisJCW9wZW5fYXR0cihmcCwgInBpZCIpOworCQlwcmludF80X2J5dGVz
KGZwLCB0b2stPnR0LnN1Ymo2NC5waWQsICIldSIpOworCQljbG9zZV9hdHRy
KGZwKTsKKwkJb3Blbl9hdHRyKGZwLCAic2lkIik7CisJCXByaW50XzRfYnl0
ZXMoZnAsIHRvay0+dHQuc3ViajY0LnNpZCwgIiV1Iik7CisJCWNsb3NlX2F0
dHIoZnApOworCQlvcGVuX2F0dHIoZnAsICJ0aWQiKTsKKwkJcHJpbnRfOF9i
eXRlcyhmcCwgdG9rLT50dC5zdWJqNjQudGlkLnBvcnQsICIlbGx1Iik7CisJ
CXByaW50X2lwX2FkZHJlc3MoZnAsIHRvay0+dHQuc3ViajY0LnRpZC5hZGRy
KTsKKwkJY2xvc2VfYXR0cihmcCk7CisJCWNsb3NlX3RhZyhmcCwgdG9rLT5p
ZCk7CisJfSBlbHNlIHsKKwkJcHJpbnRfZGVsaW0oZnAsIGRlbCk7CisJCXBy
aW50X3VzZXIoZnAsIHRvay0+dHQuc3ViajY0LmF1aWQsIHJhdyk7CisJCXBy
aW50X2RlbGltKGZwLCBkZWwpOworCQlwcmludF91c2VyKGZwLCB0b2stPnR0
LnN1Ymo2NC5ldWlkLCByYXcpOworCQlwcmludF9kZWxpbShmcCwgZGVsKTsK
KwkJcHJpbnRfZ3JvdXAoZnAsIHRvay0+dHQuc3ViajY0LmVnaWQsIHJhdyk7
CisJCXByaW50X2RlbGltKGZwLCBkZWwpOworCQlwcmludF91c2VyKGZwLCB0
b2stPnR0LnN1Ymo2NC5ydWlkLCByYXcpOworCQlwcmludF9kZWxpbShmcCwg
ZGVsKTsKKwkJcHJpbnRfZ3JvdXAoZnAsIHRvay0+dHQuc3ViajY0LnJnaWQs
IHJhdyk7CisJCXByaW50X2RlbGltKGZwLCBkZWwpOworCQlwcmludF80X2J5
dGVzKGZwLCB0b2stPnR0LnN1Ymo2NC5waWQsICIldSIpOworCQlwcmludF9k
ZWxpbShmcCwgZGVsKTsKKwkJcHJpbnRfNF9ieXRlcyhmcCwgdG9rLT50dC5z
dWJqNjQuc2lkLCAiJXUiKTsKKwkJcHJpbnRfZGVsaW0oZnAsIGRlbCk7CisJ
CXByaW50XzhfYnl0ZXMoZnAsIHRvay0+dHQuc3ViajY0LnRpZC5wb3J0LCAi
JWxsdSIpOworCQlwcmludF9kZWxpbShmcCwgZGVsKTsKKwkJcHJpbnRfaXBf
YWRkcmVzcyhmcCwgdG9rLT50dC5zdWJqNjQudGlkLmFkZHIpOworCX0KIH0K
IAogLyoKQEAgLTIzMjIsMjkgKzMyMTIsNTkgQEAKIAogc3RhdGljIHZvaWQK
IHByaW50X3N1YmplY3QzMmV4X3RvayhGSUxFICpmcCwgdG9rZW5zdHJfdCAq
dG9rLCBjaGFyICpkZWwsIGNoYXIgcmF3LAotICAgIF9fdW51c2VkIGNoYXIg
c2ZybSkKKyAgICBfX3VudXNlZCBjaGFyIHNmcm0sIGNoYXIgeG1sKQogewog
Ci0JcHJpbnRfdG9rX3R5cGUoZnAsIHRvay0+aWQsICJzdWJqZWN0X2V4Iiwg
cmF3KTsKLQlwcmludF9kZWxpbShmcCwgZGVsKTsKLQlwcmludF91c2VyKGZw
LCB0b2stPnR0LnN1YmozMl9leC5hdWlkLCByYXcpOwotCXByaW50X2RlbGlt
KGZwLCBkZWwpOwotCXByaW50X3VzZXIoZnAsIHRvay0+dHQuc3ViajMyX2V4
LmV1aWQsIHJhdyk7Ci0JcHJpbnRfZGVsaW0oZnAsIGRlbCk7Ci0JcHJpbnRf
Z3JvdXAoZnAsIHRvay0+dHQuc3ViajMyX2V4LmVnaWQsIHJhdyk7Ci0JcHJp
bnRfZGVsaW0oZnAsIGRlbCk7Ci0JcHJpbnRfdXNlcihmcCwgdG9rLT50dC5z
dWJqMzJfZXgucnVpZCwgcmF3KTsKLQlwcmludF9kZWxpbShmcCwgZGVsKTsK
LQlwcmludF9ncm91cChmcCwgdG9rLT50dC5zdWJqMzJfZXgucmdpZCwgcmF3
KTsKLQlwcmludF9kZWxpbShmcCwgZGVsKTsKLQlwcmludF80X2J5dGVzKGZw
LCB0b2stPnR0LnN1YmozMl9leC5waWQsICIldSIpOwotCXByaW50X2RlbGlt
KGZwLCBkZWwpOwotCXByaW50XzRfYnl0ZXMoZnAsIHRvay0+dHQuc3ViajMy
X2V4LnNpZCwgIiV1Iik7Ci0JcHJpbnRfZGVsaW0oZnAsIGRlbCk7Ci0JcHJp
bnRfNF9ieXRlcyhmcCwgdG9rLT50dC5zdWJqMzJfZXgudGlkLnBvcnQsICIl
dSIpOwotCXByaW50X2RlbGltKGZwLCBkZWwpOwotCXByaW50X2lwX2V4X2Fk
ZHJlc3MoZnAsIHRvay0+dHQuc3ViajMyX2V4LnRpZC50eXBlLAotCSAgICB0
b2stPnR0LnN1YmozMl9leC50aWQuYWRkcik7CisJcHJpbnRfdG9rX3R5cGUo
ZnAsIHRvay0+aWQsICJzdWJqZWN0X2V4IiwgcmF3LCB4bWwpOworCWlmICh4
bWwpIHsKKwkJb3Blbl9hdHRyKGZwLCAiYXVkaXQtdWlkIik7CisJCXByaW50
X3VzZXIoZnAsIHRvay0+dHQuc3ViajMyX2V4LmF1aWQsIHJhdyk7CisJCWNs
b3NlX2F0dHIoZnApOworCQlvcGVuX2F0dHIoZnAsICJ1aWQiKTsKKwkJcHJp
bnRfdXNlcihmcCwgdG9rLT50dC5zdWJqMzJfZXguZXVpZCwgcmF3KTsKKwkJ
Y2xvc2VfYXR0cihmcCk7CisJCW9wZW5fYXR0cihmcCwgImdpZCIpOworCQlw
cmludF9ncm91cChmcCwgdG9rLT50dC5zdWJqMzJfZXguZWdpZCwgcmF3KTsK
KwkJY2xvc2VfYXR0cihmcCk7CisJCW9wZW5fYXR0cihmcCwgInJ1aWQiKTsK
KwkJcHJpbnRfdXNlcihmcCwgdG9rLT50dC5zdWJqMzJfZXgucnVpZCwgcmF3
KTsKKwkJY2xvc2VfYXR0cihmcCk7CisJCW9wZW5fYXR0cihmcCwgInJnaWQi
KTsKKwkJcHJpbnRfZ3JvdXAoZnAsIHRvay0+dHQuc3ViajMyX2V4LnJnaWQs
IHJhdyk7CisJCWNsb3NlX2F0dHIoZnApOworCQlvcGVuX2F0dHIoZnAsICJw
aWQiKTsKKwkJcHJpbnRfNF9ieXRlcyhmcCwgdG9rLT50dC5zdWJqMzJfZXgu
cGlkLCAiJXUiKTsKKwkJY2xvc2VfYXR0cihmcCk7CisJCW9wZW5fYXR0cihm
cCwgInNpZCIpOworCQlwcmludF80X2J5dGVzKGZwLCB0b2stPnR0LnN1Ymoz
Ml9leC5zaWQsICIldSIpOworCQljbG9zZV9hdHRyKGZwKTsKKwkJb3Blbl9h
dHRyKGZwLCAidGlkIik7CisJCXByaW50XzRfYnl0ZXMoZnAsIHRvay0+dHQu
c3ViajMyX2V4LnRpZC5wb3J0LCAiJXUiKTsKKwkJcHJpbnRfaXBfZXhfYWRk
cmVzcyhmcCwgdG9rLT50dC5zdWJqMzJfZXgudGlkLnR5cGUsCisJCQl0b2st
PnR0LnN1YmozMl9leC50aWQuYWRkcik7CisJCWNsb3NlX2F0dHIoZnApOwor
CQljbG9zZV90YWcoZnAsIHRvay0+aWQpOworCX0gZWxzZSB7CisJCXByaW50
X2RlbGltKGZwLCBkZWwpOworCQlwcmludF91c2VyKGZwLCB0b2stPnR0LnN1
YmozMl9leC5hdWlkLCByYXcpOworCQlwcmludF9kZWxpbShmcCwgZGVsKTsK
KwkJcHJpbnRfdXNlcihmcCwgdG9rLT50dC5zdWJqMzJfZXguZXVpZCwgcmF3
KTsKKwkJcHJpbnRfZGVsaW0oZnAsIGRlbCk7CisJCXByaW50X2dyb3VwKGZw
LCB0b2stPnR0LnN1YmozMl9leC5lZ2lkLCByYXcpOworCQlwcmludF9kZWxp
bShmcCwgZGVsKTsKKwkJcHJpbnRfdXNlcihmcCwgdG9rLT50dC5zdWJqMzJf
ZXgucnVpZCwgcmF3KTsKKwkJcHJpbnRfZGVsaW0oZnAsIGRlbCk7CisJCXBy
aW50X2dyb3VwKGZwLCB0b2stPnR0LnN1YmozMl9leC5yZ2lkLCByYXcpOwor
CQlwcmludF9kZWxpbShmcCwgZGVsKTsKKwkJcHJpbnRfNF9ieXRlcyhmcCwg
dG9rLT50dC5zdWJqMzJfZXgucGlkLCAiJXUiKTsKKwkJcHJpbnRfZGVsaW0o
ZnAsIGRlbCk7CisJCXByaW50XzRfYnl0ZXMoZnAsIHRvay0+dHQuc3ViajMy
X2V4LnNpZCwgIiV1Iik7CisJCXByaW50X2RlbGltKGZwLCBkZWwpOworCQlw
cmludF80X2J5dGVzKGZwLCB0b2stPnR0LnN1YmozMl9leC50aWQucG9ydCwg
IiV1Iik7CisJCXByaW50X2RlbGltKGZwLCBkZWwpOworCQlwcmludF9pcF9l
eF9hZGRyZXNzKGZwLCB0b2stPnR0LnN1YmozMl9leC50aWQudHlwZSwKKwkJ
CXRvay0+dHQuc3ViajMyX2V4LnRpZC5hZGRyKTsKKwl9CiB9CiAKIC8qCkBA
IC0yMzcwLDEyICszMjkwLDE3IEBACiAKIHN0YXRpYyB2b2lkCiBwcmludF90
ZXh0X3RvayhGSUxFICpmcCwgdG9rZW5zdHJfdCAqdG9rLCBjaGFyICpkZWws
IGNoYXIgcmF3LAotICAgIF9fdW51c2VkIGNoYXIgc2ZybSkKKyAgICBfX3Vu
dXNlZCBjaGFyIHNmcm0sIGNoYXIgeG1sKQogewogCi0JcHJpbnRfdG9rX3R5
cGUoZnAsIHRvay0+aWQsICJ0ZXh0IiwgcmF3KTsKLQlwcmludF9kZWxpbShm
cCwgZGVsKTsKLQlwcmludF9zdHJpbmcoZnAsIHRvay0+dHQudGV4dC50ZXh0
LCB0b2stPnR0LnRleHQubGVuKTsKKwlwcmludF90b2tfdHlwZShmcCwgdG9r
LT5pZCwgInRleHQiLCByYXcsIHhtbCk7IAorCWlmICh4bWwpIHsKKwkJcHJp
bnRfc3RyaW5nKGZwLCB0b2stPnR0LnRleHQudGV4dCwgdG9rLT50dC50ZXh0
Lmxlbik7CisJCWNsb3NlX3RhZyhmcCwgdG9rLT5pZCk7CisJfSBlbHNlIHsK
KwkJcHJpbnRfZGVsaW0oZnAsIGRlbCk7CisJCXByaW50X3N0cmluZyhmcCwg
dG9rLT50dC50ZXh0LnRleHQsIHRvay0+dHQudGV4dC5sZW4pOworCX0KIH0K
IAogLyoKQEAgLTI0MzIsMjAgKzMzNTcsMzkgQEAKIAogc3RhdGljIHZvaWQK
IHByaW50X3NvY2tldGV4MzJfdG9rKEZJTEUgKmZwLCB0b2tlbnN0cl90ICp0
b2ssIGNoYXIgKmRlbCwgY2hhciByYXcsCi0gICAgX191bnVzZWQgY2hhciBz
ZnJtKQorICAgIF9fdW51c2VkIGNoYXIgc2ZybSwgY2hhciB4bWwpCiB7CiAK
LQlwcmludF90b2tfdHlwZShmcCwgdG9rLT5pZCwgInNvY2tldCIsIHJhdyk7
Ci0JcHJpbnRfZGVsaW0oZnAsIGRlbCk7Ci0JcHJpbnRfMl9ieXRlcyhmcCwg
dG9rLT50dC5zb2NrZXRfZXgzMi50eXBlLCAiJSN4Iik7Ci0JcHJpbnRfZGVs
aW0oZnAsIGRlbCk7Ci0JcHJpbnRfMl9ieXRlcyhmcCwgbnRvaHModG9rLT50
dC5zb2NrZXRfZXgzMi5sX3BvcnQpLCAiJSN4Iik7Ci0JcHJpbnRfZGVsaW0o
ZnAsIGRlbCk7Ci0JcHJpbnRfaXBfYWRkcmVzcyhmcCwgdG9rLT50dC5zb2Nr
ZXRfZXgzMi5sX2FkZHIpOwotCXByaW50X2RlbGltKGZwLCBkZWwpOwotCXBy
aW50XzRfYnl0ZXMoZnAsIG50b2hzKHRvay0+dHQuc29ja2V0X2V4MzIucl9w
b3J0KSwgIiUjeCIpOwotCXByaW50X2RlbGltKGZwLCBkZWwpOwotCXByaW50
X2lwX2FkZHJlc3MoZnAsIHRvay0+dHQuc29ja2V0X2V4MzIucl9hZGRyKTsK
KwlwcmludF90b2tfdHlwZShmcCwgdG9rLT5pZCwgInNvY2tldCIsIHJhdywg
eG1sKTsgCisJaWYgKHhtbCkgeworCQlvcGVuX2F0dHIoZnAsICJzb2NrX3R5
cGUiKTsKKwkJcHJpbnRfMl9ieXRlcyhmcCwgdG9rLT50dC5zb2NrZXRfZXgz
Mi50eXBlLCAiJSN4Iik7CisJCWNsb3NlX2F0dHIoZnApOworCQlvcGVuX2F0
dHIoZnAsICJscG9ydCIpOworCQlwcmludF8yX2J5dGVzKGZwLCBudG9ocyh0
b2stPnR0LnNvY2tldF9leDMyLmxfcG9ydCksICIlI3giKTsKKwkJY2xvc2Vf
YXR0cihmcCk7CisJCW9wZW5fYXR0cihmcCwgImxhZGRyIik7CisJCXByaW50
X2lwX2FkZHJlc3MoZnAsIHRvay0+dHQuc29ja2V0X2V4MzIubF9hZGRyKTsK
KwkJY2xvc2VfYXR0cihmcCk7CisJCW9wZW5fYXR0cihmcCwgImZhZGRyIik7
CisJCXByaW50X2lwX2FkZHJlc3MoZnAsIHRvay0+dHQuc29ja2V0X2V4MzIu
cl9hZGRyKTsKKwkJY2xvc2VfYXR0cihmcCk7CisJCW9wZW5fYXR0cihmcCwg
ImZwb3J0Iik7CisJCXByaW50XzJfYnl0ZXMoZnAsIHRvay0+dHQuc29ja2V0
X2V4MzIudHlwZSwgIiUjeCIpOworCQljbG9zZV9hdHRyKGZwKTsKKwkJY2xv
c2VfdGFnKGZwLCB0b2stPmlkKTsKKwl9IGVsc2UgeworCQlwcmludF9kZWxp
bShmcCwgZGVsKTsKKwkJcHJpbnRfMl9ieXRlcyhmcCwgdG9rLT50dC5zb2Nr
ZXRfZXgzMi50eXBlLCAiJSN4Iik7CisJCXByaW50X2RlbGltKGZwLCBkZWwp
OworCQlwcmludF8yX2J5dGVzKGZwLCBudG9ocyh0b2stPnR0LnNvY2tldF9l
eDMyLmxfcG9ydCksICIlI3giKTsKKwkJcHJpbnRfZGVsaW0oZnAsIGRlbCk7
CisJCXByaW50X2lwX2FkZHJlc3MoZnAsIHRvay0+dHQuc29ja2V0X2V4MzIu
bF9hZGRyKTsKKwkJcHJpbnRfZGVsaW0oZnAsIGRlbCk7CisJCXByaW50XzRf
Ynl0ZXMoZnAsIG50b2hzKHRvay0+dHQuc29ja2V0X2V4MzIucl9wb3J0KSwg
IiUjeCIpOworCQlwcmludF9kZWxpbShmcCwgZGVsKTsKKwkJcHJpbnRfaXBf
YWRkcmVzcyhmcCwgdG9rLT50dC5zb2NrZXRfZXgzMi5yX2FkZHIpOworCX0K
IH0KIAogc3RhdGljIGludApAQCAtMjQ2OSwxMiArMzQxMywxNCBAQAogCiBz
dGF0aWMgdm9pZAogcHJpbnRfaW52YWxpZF90b2soRklMRSAqZnAsIHRva2Vu
c3RyX3QgKnRvaywgY2hhciAqZGVsLCBjaGFyIHJhdywKLSAgICBfX3VudXNl
ZCBjaGFyIHNmcm0pCisgICAgX191bnVzZWQgY2hhciBzZnJtLCBjaGFyIHht
bCkKIHsKIAotCXByaW50X3Rva190eXBlKGZwLCB0b2stPmlkLCAidW5rbm93
biIsIHJhdyk7Ci0JcHJpbnRfZGVsaW0oZnAsIGRlbCk7Ci0JcHJpbnRfbWVt
KGZwLCB0b2stPnR0LmludmFsaWQuZGF0YSwgdG9rLT50dC5pbnZhbGlkLmxl
bmd0aCk7CisJaWYgKCF4bWwpIHsKKwkJcHJpbnRfdG9rX3R5cGUoZnAsIHRv
ay0+aWQsICJ1bmtub3duIiwgcmF3LCAwKTsKKwkJcHJpbnRfZGVsaW0oZnAs
IGRlbCk7CisJCXByaW50X21lbShmcCwgdG9rLT50dC5pbnZhbGlkLmRhdGEs
IHRvay0+dHQuaW52YWxpZC5sZW5ndGgpOworCX0KIH0KIAogCkBAIC0yNjEw
LDE1NiArMzU1NiwxNTYgQEAKICAqICdwcmludHMnIHRoZSB0b2tlbiBvdXQg
dG8gb3V0ZnAKICAqLwogdm9pZAotYXVfcHJpbnRfdG9rKEZJTEUgKm91dGZw
LCB0b2tlbnN0cl90ICp0b2ssIGNoYXIgKmRlbCwgY2hhciByYXcsIGNoYXIg
c2ZybSkKK2F1X3ByaW50X3RvayhGSUxFICpvdXRmcCwgdG9rZW5zdHJfdCAq
dG9rLCBjaGFyICpkZWwsIGNoYXIgcmF3LCBjaGFyIHNmcm0sIGNoYXIgeG1s
KQogewogCiAJc3dpdGNoKHRvay0+aWQpIHsKIAljYXNlIEFVVF9IRUFERVIz
MjoKLQkJcHJpbnRfaGVhZGVyMzJfdG9rKG91dGZwLCB0b2ssIGRlbCwgcmF3
LCBzZnJtKTsKKwkJcHJpbnRfaGVhZGVyMzJfdG9rKG91dGZwLCB0b2ssIGRl
bCwgcmF3LCBzZnJtLCB4bWwpOwogCQlyZXR1cm47CiAKIAljYXNlIEFVVF9I
RUFERVIzMl9FWDoKLQkJcHJpbnRfaGVhZGVyMzJfZXhfdG9rKG91dGZwLCB0
b2ssIGRlbCwgcmF3LCBzZnJtKTsKKwkJcHJpbnRfaGVhZGVyMzJfZXhfdG9r
KG91dGZwLCB0b2ssIGRlbCwgcmF3LCBzZnJtLCB4bWwpOwogCQlyZXR1cm47
CiAKIAljYXNlIEFVVF9IRUFERVI2NDoKLQkJcHJpbnRfaGVhZGVyNjRfdG9r
KG91dGZwLCB0b2ssIGRlbCwgcmF3LCBzZnJtKTsKKwkJcHJpbnRfaGVhZGVy
NjRfdG9rKG91dGZwLCB0b2ssIGRlbCwgcmF3LCBzZnJtLCB4bWwpOwogCQly
ZXR1cm47CiAKIAljYXNlIEFVVF9IRUFERVI2NF9FWDoKLQkJcHJpbnRfaGVh
ZGVyNjRfZXhfdG9rKG91dGZwLCB0b2ssIGRlbCwgcmF3LCBzZnJtKTsKKwkJ
cHJpbnRfaGVhZGVyNjRfZXhfdG9rKG91dGZwLCB0b2ssIGRlbCwgcmF3LCBz
ZnJtLCB4bWwpOwogCQlyZXR1cm47CiAKIAljYXNlIEFVVF9UUkFJTEVSOgot
CQlwcmludF90cmFpbGVyX3RvayhvdXRmcCwgdG9rLCBkZWwsIHJhdywgc2Zy
bSk7CisJCXByaW50X3RyYWlsZXJfdG9rKG91dGZwLCB0b2ssIGRlbCwgcmF3
LCBzZnJtLCB4bWwpOwogCQlyZXR1cm47CiAKIAljYXNlIEFVVF9BUkczMjoK
LQkJcHJpbnRfYXJnMzJfdG9rKG91dGZwLCB0b2ssIGRlbCwgcmF3LCBzZnJt
KTsKKwkJcHJpbnRfYXJnMzJfdG9rKG91dGZwLCB0b2ssIGRlbCwgcmF3LCBz
ZnJtLCB4bWwpOwogCQlyZXR1cm47CiAKIAljYXNlIEFVVF9BUkc2NDoKLQkJ
cHJpbnRfYXJnNjRfdG9rKG91dGZwLCB0b2ssIGRlbCwgcmF3LCBzZnJtKTsK
KwkJcHJpbnRfYXJnNjRfdG9rKG91dGZwLCB0b2ssIGRlbCwgcmF3LCBzZnJt
LCB4bWwpOwogCQlyZXR1cm47CiAKIAljYXNlIEFVVF9EQVRBOgotCQlwcmlu
dF9hcmJfdG9rKG91dGZwLCB0b2ssIGRlbCwgcmF3LCBzZnJtKTsKKwkJcHJp
bnRfYXJiX3RvayhvdXRmcCwgdG9rLCBkZWwsIHJhdywgc2ZybSwgeG1sKTsK
IAkJcmV0dXJuOwogCiAJY2FzZSBBVVRfQVRUUjMyOgotCQlwcmludF9hdHRy
MzJfdG9rKG91dGZwLCB0b2ssIGRlbCwgcmF3LCBzZnJtKTsKKwkJcHJpbnRf
YXR0cjMyX3RvayhvdXRmcCwgdG9rLCBkZWwsIHJhdywgc2ZybSwgeG1sKTsK
IAkJcmV0dXJuOwogCiAJY2FzZSBBVVRfQVRUUjY0OgotCQlwcmludF9hdHRy
NjRfdG9rKG91dGZwLCB0b2ssIGRlbCwgcmF3LCBzZnJtKTsKKwkJcHJpbnRf
YXR0cjY0X3RvayhvdXRmcCwgdG9rLCBkZWwsIHJhdywgc2ZybSwgeG1sKTsK
IAkJcmV0dXJuOwogCiAJY2FzZSBBVVRfRVhJVDoKLQkJcHJpbnRfZXhpdF90
b2sob3V0ZnAsIHRvaywgZGVsLCByYXcsIHNmcm0pOworCQlwcmludF9leGl0
X3RvayhvdXRmcCwgdG9rLCBkZWwsIHJhdywgc2ZybSwgeG1sKTsKIAkJcmV0
dXJuOwogCiAJY2FzZSBBVVRfRVhFQ19BUkdTOgotCQlwcmludF9leGVjYXJn
X3RvayhvdXRmcCwgdG9rLCBkZWwsIHJhdywgc2ZybSk7CisJCXByaW50X2V4
ZWNhcmdfdG9rKG91dGZwLCB0b2ssIGRlbCwgcmF3LCBzZnJtLCB4bWwpOwog
CQlyZXR1cm47CiAKIAljYXNlIEFVVF9FWEVDX0VOVjoKLQkJcHJpbnRfZXhl
Y2Vudl90b2sob3V0ZnAsIHRvaywgZGVsLCByYXcsIHNmcm0pOworCQlwcmlu
dF9leGVjZW52X3RvayhvdXRmcCwgdG9rLCBkZWwsIHJhdywgc2ZybSwgeG1s
KTsKIAkJcmV0dXJuOwogCiAJY2FzZSBBVVRfT1RIRVJfRklMRTMyOgotCQlw
cmludF9maWxlX3RvayhvdXRmcCwgdG9rLCBkZWwsIHJhdywgc2ZybSk7CisJ
CXByaW50X2ZpbGVfdG9rKG91dGZwLCB0b2ssIGRlbCwgcmF3LCBzZnJtLCB4
bWwpOwogCQlyZXR1cm47CiAKIAljYXNlIEFVVF9ORVdHUk9VUFM6Ci0JCXBy
aW50X25ld2dyb3Vwc190b2sob3V0ZnAsIHRvaywgZGVsLCByYXcsIHNmcm0p
OworCQlwcmludF9uZXdncm91cHNfdG9rKG91dGZwLCB0b2ssIGRlbCwgcmF3
LCBzZnJtLCB4bWwpOwogCQlyZXR1cm47CiAKIAljYXNlIEFVVF9JTl9BRERS
OgotCQlwcmludF9pbmFkZHJfdG9rKG91dGZwLCB0b2ssIGRlbCwgcmF3LCBz
ZnJtKTsKKwkJcHJpbnRfaW5hZGRyX3RvayhvdXRmcCwgdG9rLCBkZWwsIHJh
dywgc2ZybSwgeG1sKTsKIAkJcmV0dXJuOwogCiAJY2FzZSBBVVRfSU5fQURE
Ul9FWDoKLQkJcHJpbnRfaW5hZGRyX2V4X3RvayhvdXRmcCwgdG9rLCBkZWws
IHJhdywgc2ZybSk7CisJCXByaW50X2luYWRkcl9leF90b2sob3V0ZnAsIHRv
aywgZGVsLCByYXcsIHNmcm0sIHhtbCk7CiAJCXJldHVybjsKIAogCWNhc2Ug
QVVUX0lQOgotCQlwcmludF9pcF90b2sob3V0ZnAsIHRvaywgZGVsLCByYXcs
IHNmcm0pOworCQlwcmludF9pcF90b2sob3V0ZnAsIHRvaywgZGVsLCByYXcs
IHNmcm0sIHhtbCk7CiAJCXJldHVybjsKIAogCWNhc2UgQVVUX0lQQzoKLQkJ
cHJpbnRfaXBjX3RvayhvdXRmcCwgdG9rLCBkZWwsIHJhdywgc2ZybSk7CisJ
CXByaW50X2lwY190b2sob3V0ZnAsIHRvaywgZGVsLCByYXcsIHNmcm0sIHht
bCk7CiAJCXJldHVybjsKIAogCWNhc2UgQVVUX0lQQ19QRVJNOgotCQlwcmlu
dF9pcGNwZXJtX3RvayhvdXRmcCwgdG9rLCBkZWwsIHJhdywgc2ZybSk7CisJ
CXByaW50X2lwY3Blcm1fdG9rKG91dGZwLCB0b2ssIGRlbCwgcmF3LCBzZnJt
LCB4bWwpOwogCQlyZXR1cm47CiAKIAljYXNlIEFVVF9JUE9SVDoKLQkJcHJp
bnRfaXBvcnRfdG9rKG91dGZwLCB0b2ssIGRlbCwgcmF3LCBzZnJtKTsKKwkJ
cHJpbnRfaXBvcnRfdG9rKG91dGZwLCB0b2ssIGRlbCwgcmF3LCBzZnJtLCB4
bWwpOwogCQlyZXR1cm47CiAKIAljYXNlIEFVVF9PUEFRVUU6Ci0JCXByaW50
X29wYXF1ZV90b2sob3V0ZnAsIHRvaywgZGVsLCByYXcsIHNmcm0pOworCQlw
cmludF9vcGFxdWVfdG9rKG91dGZwLCB0b2ssIGRlbCwgcmF3LCBzZnJtLCB4
bWwpOwogCQlyZXR1cm47CiAKIAljYXNlIEFVVF9QQVRIOgotCQlwcmludF9w
YXRoX3RvayhvdXRmcCwgdG9rLCBkZWwsIHJhdywgc2ZybSk7CisJCXByaW50
X3BhdGhfdG9rKG91dGZwLCB0b2ssIGRlbCwgcmF3LCBzZnJtLCB4bWwpOwog
CQlyZXR1cm47CiAKIAljYXNlIEFVVF9QUk9DRVNTMzI6Ci0JCXByaW50X3By
b2Nlc3MzMl90b2sob3V0ZnAsIHRvaywgZGVsLCByYXcsIHNmcm0pOworCQlw
cmludF9wcm9jZXNzMzJfdG9rKG91dGZwLCB0b2ssIGRlbCwgcmF3LCBzZnJt
LCB4bWwpOwogCQlyZXR1cm47CiAKIAljYXNlIEFVVF9QUk9DRVNTMzJfRVg6
Ci0JCXByaW50X3Byb2Nlc3MzMmV4X3RvayhvdXRmcCwgdG9rLCBkZWwsIHJh
dywgc2ZybSk7CisJCXByaW50X3Byb2Nlc3MzMmV4X3RvayhvdXRmcCwgdG9r
LCBkZWwsIHJhdywgc2ZybSwgeG1sKTsKIAkJcmV0dXJuOwogCiAJY2FzZSBB
VVRfUkVUVVJOMzI6Ci0JCXByaW50X3JldHVybjMyX3RvayhvdXRmcCwgdG9r
LCBkZWwsIHJhdywgc2ZybSk7CisJCXByaW50X3JldHVybjMyX3RvayhvdXRm
cCwgdG9rLCBkZWwsIHJhdywgc2ZybSwgeG1sKTsKIAkJcmV0dXJuOwogCiAJ
Y2FzZSBBVVRfUkVUVVJONjQ6Ci0JCXByaW50X3JldHVybjY0X3RvayhvdXRm
cCwgdG9rLCBkZWwsIHJhdywgc2ZybSk7CisJCXByaW50X3JldHVybjY0X3Rv
ayhvdXRmcCwgdG9rLCBkZWwsIHJhdywgc2ZybSwgeG1sKTsKIAkJcmV0dXJu
OwogCiAJY2FzZSBBVVRfU0VROgotCQlwcmludF9zZXFfdG9rKG91dGZwLCB0
b2ssIGRlbCwgcmF3LCBzZnJtKTsKKwkJcHJpbnRfc2VxX3RvayhvdXRmcCwg
dG9rLCBkZWwsIHJhdywgc2ZybSwgeG1sKTsKIAkJcmV0dXJuOwogCiAJY2Fz
ZSBBVVRfU09DS0VUOgotCQlwcmludF9zb2NrZXRfdG9rKG91dGZwLCB0b2ss
IGRlbCwgcmF3LCBzZnJtKTsKKwkJcHJpbnRfc29ja2V0X3RvayhvdXRmcCwg
dG9rLCBkZWwsIHJhdywgc2ZybSwgeG1sKTsKIAkJcmV0dXJuOwogCiAJY2Fz
ZSBBVVRfU09DS0lORVQzMjoKLQkJcHJpbnRfc29ja19pbmV0MzJfdG9rKG91
dGZwLCB0b2ssIGRlbCwgcmF3LCBzZnJtKTsKKwkJcHJpbnRfc29ja19pbmV0
MzJfdG9rKG91dGZwLCB0b2ssIGRlbCwgcmF3LCBzZnJtLCB4bWwpOwogCQly
ZXR1cm47CiAKIAljYXNlIEFVVF9TT0NLVU5JWDoKLQkJcHJpbnRfc29ja191
bml4X3RvayhvdXRmcCwgdG9rLCBkZWwsIHJhdywgc2ZybSk7CisJCXByaW50
X3NvY2tfdW5peF90b2sob3V0ZnAsIHRvaywgZGVsLCByYXcsIHNmcm0sIHht
bCk7CiAJCXJldHVybjsKIAogCWNhc2UgQVVUX1NVQkpFQ1QzMjoKLQkJcHJp
bnRfc3ViamVjdDMyX3RvayhvdXRmcCwgdG9rLCBkZWwsIHJhdywgc2ZybSk7
CisJCXByaW50X3N1YmplY3QzMl90b2sob3V0ZnAsIHRvaywgZGVsLCByYXcs
IHNmcm0sIHhtbCk7CiAJCXJldHVybjsKIAogCWNhc2UgQVVUX1NVQkpFQ1Q2
NDoKLQkJcHJpbnRfc3ViamVjdDY0X3RvayhvdXRmcCwgdG9rLCBkZWwsIHJh
dywgc2ZybSk7CisJCXByaW50X3N1YmplY3Q2NF90b2sob3V0ZnAsIHRvaywg
ZGVsLCByYXcsIHNmcm0sIHhtbCk7CiAJCXJldHVybjsKIAogCWNhc2UgQVVU
X1NVQkpFQ1QzMl9FWDoKLQkJcHJpbnRfc3ViamVjdDMyZXhfdG9rKG91dGZw
LCB0b2ssIGRlbCwgcmF3LCBzZnJtKTsKKwkJcHJpbnRfc3ViamVjdDMyZXhf
dG9rKG91dGZwLCB0b2ssIGRlbCwgcmF3LCBzZnJtLCB4bWwpOwogCQlyZXR1
cm47CiAKIAljYXNlIEFVVF9URVhUOgotCQlwcmludF90ZXh0X3RvayhvdXRm
cCwgdG9rLCBkZWwsIHJhdywgc2ZybSk7CisJCXByaW50X3RleHRfdG9rKG91
dGZwLCB0b2ssIGRlbCwgcmF3LCBzZnJtLCB4bWwpOwogCQlyZXR1cm47CiAK
IAljYXNlIEFVVF9TT0NLRVRfRVg6Ci0JCXByaW50X3NvY2tldGV4MzJfdG9r
KG91dGZwLCB0b2ssIGRlbCwgcmF3LCBzZnJtKTsKKwkJcHJpbnRfc29ja2V0
ZXgzMl90b2sob3V0ZnAsIHRvaywgZGVsLCByYXcsIHNmcm0sIHhtbCk7CiAJ
CXJldHVybjsKIAogCWRlZmF1bHQ6Ci0JCXByaW50X2ludmFsaWRfdG9rKG91
dGZwLCB0b2ssIGRlbCwgcmF3LCBzZnJtKTsKKwkJcHJpbnRfaW52YWxpZF90
b2sob3V0ZnAsIHRvaywgZGVsLCByYXcsIHNmcm0sIHhtbCk7CiAJfQogfQo=


--0-26714257-1161267674=:28910
Content-Type: application/octet-stream; name="doc.patch"
Content-Transfer-Encoding: base64
Content-Description: 3101188344-doc.patch
Content-Disposition: attachment; filename="doc.patch"

SW5kZXg6ICBtYW4vYXVkaXQubG9nLjUKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gbWFuL2F1ZGl0LmxvZy41CVRodSBPY3QgMTkgMTM6MzE6MTMgMjAw
NgorKysgbWFuL2F1ZGl0LmxvZy41CVN1biBTZXAgMjQgMjA6MjA6MTEgMjAw
NgpAQCAtNDE0LDggKzQxNCw3IEBACiAuU3MgU3lzdGVtIFYgSVBDIFRva2Vu
CiBUaGUKIC5EdiBTeXN0ZW0gViBJUEMKLXRva2VuIGNvbnRhaW5zIHRoZSBT
eXN0ZW0gViBJUEMgbWVzc2FnZSBoYW5kbGUsIHNlbWFwaG9yZSBoYW5kbGUg
b3Igc2hhcmVkIG1lbW9yeSBoYW5kbGUuIEEgU3lzdGVtIFYgSVBDIHRva2Vu
IG1heSBiZSBjcmVhdGVkIHVzaW5nIAotLlhyIGF1X3RvX2lwYyAzIC4gCit0
b2tlbiAuLi4KIC5CbCAtY29sdW1uIC1vZmZzZXQgaW5kICIuU3kgRmllbGQg
TmFtZSBXaWR0aCBYWCIgIi5TeSBYWCBCeXRlcyBYWFhYIiAiLlN5IERlc2Ny
aXB0aW9uIgogLkl0IFN5ICJGaWVsZCIgVGEgU3kgQnl0ZXMgVGEgU3kgRGVz
Y3JpcHRpb24KIC5JdCBMaSAiVG9rZW4gSUQiIFRhICIxIGJ5dGUiIFRhICJU
b2tlbiBJRCIKQEAgLTQ3OCw1NSArNDc3LDM4IEBACiAuU3MgU3lzdGVtIFYg
SVBDIFBlcm1pc3Npb24gVG9rZW4KIFRoZQogLkR2IFN5c3RlbSBWIElQQyBw
ZXJtaXNzaW9uCi10b2tlbiBjb250YWlucyBhIFN5c3RlbSBWIElQQyBhY2Nl
c3MgcGVybWlzc2lvbnMuIEEgSVBDIHBlcm1pc3Npb24gdG9rZW4gbWF5IGJl
IGNyZWF0ZWQgdXNpbmcKLS5YciBhdV90b19pcGNfcGVybSAzIC4gCit0b2tl
biAuLi4KIC5CbCAtY29sdW1uIC1vZmZzZXQgaW5kICIuU3kgRmllbGQgTmFt
ZSBXaWR0aCBYWCIgIi5TeSBYWCBCeXRlcyBYWFhYIiAiLlN5IERlc2NyaXB0
aW9uIgogLkl0IFN5ICJGaWVsZCIgVGEgU3kgQnl0ZXMgVGEgU3kgRGVzY3Jp
cHRpb24KIC5JdCBMaSAiVG9rZW4gSUQiIFRhICIxIGJ5dGUiIFRhICJUb2tl
biBJRCIKLS5JdCBMaSAiT3duZXIgdXNlciBJRCIgVGEgIjQgYnl0ZXMiIFRh
ICJVc2VyIElEIG9mIElQQyBvd25lciIKLS5JdCBMaSAiT3duZXIgZ3JvdXAg
SUQiIFRhICI0IGJ5dGVzIiBUYSAiR3JvdXAgSUQgb2YgSVBDIG93bmVyIgot
Lkl0IExpICJDcmVhdG9yIHVzZXIgSUQiIFRhICI0IGJ5dGVzIiBUYSAiVXNl
ciBJRCBvZiBJUEMgY3JlYXRvciIKLS5JdCBMaSAiQ3JlYXRvciBncm91cCBJ
RCIgVGEgIjQgYnl0ZXMiIFRhICJHcm91cCBJRCBvZiBJUEMgY3JlYXRvciIK
LS5JdCBMaSAiQWNjZXNzIG1vZGUiIFRhICI0IGJ5dGVzIiBUYSAiQWNjZXNz
IG1vZGUiCi0uSXQgTGkgIlNlcXVuY2UgbnVtYmVyIiBUYSAiNCBieXRlcyIg
VGEgIlNlcXVuY2UgbnVtYmVyIgotLkl0IExpICJLZXkiIFRhICI0IGJ5dGVz
IiBUYSAiSVBDIGtleSIKKy5JdCBMaSBYWFhYWAogLkVsCiAuU3MgQXJnIFRv
a2VuCiBUaGUKIC5EdiBhcmcKLXRva2VuIGNvbnRhaW5zIGluZm9ybWF0aW9u
cyBhYm91dCBhcmd1bWVudHMgb2YgdGhlIHN5c3RlbSBjYWxsLiBEZXBlbmQg
b24gc2l6ZSBvZiBhcmd1bWVudCB2YWx1ZSBhbiBBcmcgdG9rZW4gbWF5IGJl
IGNyZWF0ZWQgdXNpbmcKLS5YciBhdV90b19hcmczMiAzIAotb3IKLS5YciBh
dV90b19hcmc2NCAzIC4KK3Rva2VuIC4uLgogLkJsIC1jb2x1bW4gLW9mZnNl
dCBpbmQgIi5TeSBGaWVsZCBOYW1lIFdpZHRoIFhYIiAiLlN5IFhYIEJ5dGVz
IFhYWFgiICIuU3kgRGVzY3JpcHRpb24iCiAuSXQgU3kgIkZpZWxkIiBUYSBT
eSBCeXRlcyBUYSBTeSBEZXNjcmlwdGlvbgogLkl0IExpICJUb2tlbiBJRCIg
VGEgIjEgYnl0ZSIgVGEgIlRva2VuIElEIgotLkl0IExpICJBcmd1bWVudCBJ
RCIgVGEgIjEgYnl0ZSIgVGEgIkFyZ3VtZW50IElEIgotLkl0IExpICJBcmd1
bWVudCB2YWx1ZSIgVGEgIjQvOCBieXRlcyIgVGEgIkFyZ3VtZW50IHZhbHVl
IgotLkl0IExpICJMZW5ndGgiIFRhICIyIGJ5dGVzIiBUYSAiTGVuZ3RoIG9m
IHRoZSB0ZXh0IgotLkl0IExpICJUZXh0IiBUYSAiTiBieXRlcyArIDEgbnVs
IiBUYSAiVGhlIHN0cmluZyBpbmNsdWRpbmcgbnVsIgorLkl0IExpIFhYWFhY
CiAuRWwKIC5TcyBleGVjX2FyZ3MgVG9rZW4KIFRoZQogLkR2IGV4ZWNfYXJn
cwotdG9rZW4gY29udGFpbnMgaW5mb3JtYXRpb25zIGFib3V0IGFyZ3VlbWVu
dHMgb2YgdGhlIGV4ZWMoKSBzeXN0ZW0gY2FsbC4gQSBleGVjX2FyZ3MgdG9r
ZW4gbWF5IGJlIGNyZWF0ZWQgdXNpbmcKLS5YciBhdV90b19leGVjX2FyZ3Mg
MyAuCit0b2tlbiAuLi4KIC5CbCAtY29sdW1uIC1vZmZzZXQgaW5kICIuU3kg
RmllbGQgTmFtZSBXaWR0aCBYWCIgIi5TeSBYWCBCeXRlcyBYWFhYIiAiLlN5
IERlc2NyaXB0aW9uIgogLkl0IFN5ICJGaWVsZCIgVGEgU3kgQnl0ZXMgVGEg
U3kgRGVzY3JpcHRpb24KIC5JdCBMaSAiVG9rZW4gSUQiIFRhICIxIGJ5dGUi
IFRhICJUb2tlbiBJRCIKLS5JdCBMaSAiQ291bnQiIFRhICI0IGJ5dGVzIiBU
YSAiTnVtYmVyIG9mIGFyZ3VtZW50cyIKLS5JdCBMaSAiVGV4dCIgVGEgIiog
Ynl0ZXMiIFRhICJDb3VudCBudWxsLXRlcm1pbmF0ZWQgc3RyaW5ncyIKKy5J
dCBMaSBYWFhYWAogLkVsCiAuU3MgZXhlY19lbnYgVG9rZW4KIFRoZQogLkR2
IGV4ZWNfZW52Ci10b2tlbiBjb250YWlucyBjdXJyZW50IGV2aXJvbWVudCB2
YXJpYWJsZXMgdG8gYW4gZXhlYygpIHN5c3RlbSBjYWxsLiBBIGV4ZWNfYXJn
cyB0b2tlbiBtYXkgYmUgY3JlYXRlZCB1c2luZwotLlhyIGF1X3RvX2V4ZWNf
ZW52IDMgLgordG9rZW4gLi4uCiAuQmwgLWNvbHVtbiAtb2Zmc2V0IGluZCAi
LlN5IEZpZWxkIE5hbWUgV2lkdGggWFgiICIuU3kgWFggQnl0ZXMgWFhYWCIg
Ii5TeSBEZXNjcmlwdGlvbiIKIC5JdCBTeSAiRmllbGQiIFRhIFN5IEJ5dGVz
IFRhIFN5IERlc2NyaXB0aW9uCiAuSXQgTGkgIlRva2VuIElEIiBUYSAiMSBi
eXRlIiBUYSAiVG9rZW4gSUQiCi0uSXQgTGkgIkNvdW50IElEIiBUYSAiNCBi
eXRlcyIgVGEgIk51bWJlciBvZiB2YXJpYWJsZXMiCi0uSXQgTGkgIlRleHQi
IFRhICIqIGJ5dGVzIiBUYSAiQ291bnQgbnVsbC10ZXJtaW5hdGVkIHN0cmlu
Z3MiCisuSXQgTGkgWFhYWFgKIC5FbAogLlNzIEV4aXQgVG9rZW4KIFRoZQpA
QCAtNTQ1LDI3ICs1MjcsMTEgQEAKIC5TcyBTb2NrZXQgVG9rZW4KIFRoZQog
LkR2IHNvY2tldAotdG9rZW4gY29udGFpbnMgaW5mb3JtYXRpb25zIGFib3V0
IEludGVybmV0IHNvY2tldC4gVG9rZW4gaGFzIGZvdXIgZmllbGRzIG9yIGVp
Z2h0IGZpZWxkcy4gRGVwZW5kIG9uIHR5cGUgb2Ygc29ja2V0IGEgc29ja2V0
IHRva2VuIG1heSBiZSBjcmVhdGVkIHVzaW5nICAgCi0uWHIgYXVfdG9fc29j
a191bml4IDMgLAotLlhyIGF1X3RvX3NvY2tfaW5ldDMyIDMgb3IKLS5YciBh
dV90b19zb2NrX2luZXQxMjggMyAuCi0uQmwgLWNvbHVtbiAtb2Zmc2V0IGlu
ZCAiLlN5IEZpZWxkIE5hbWUgV2lkdGggWFgiICIuU3kgWFggQnl0ZXMgWFhY
WCIgIi5TeSBEZXNjcmlwdGlvbiIKLS5JdCBTeSAiRmllbGQiIFRhIFN5IEJ5
dGVzIFRhIFN5IERlc2NyaXB0aW9uCi0uSXQgTGkgIlRva2VuIElEIiBUYSAi
MSBieXRlIiBUYSAiVG9rZW4gSUQiCi0uSXQgTGkgIlNvY2tldCBmYW1pbHki
IFRhICIyIGJ5dGVzIiBUYSAiU29ja2V0IGZhbWlseSIKLS5JdCBMaSAiTG9j
YWwgcG9ydCIgVGEgIjIgYnl0ZXMiIFRhICJMb2NhbCBwb3J0IgotLkl0IExp
ICJTb2NrZXQgYWRkcmVzcyIgVGEgIjQgYnl0ZXMiIFRhICJTb2NrZXQgYWRk
cmVzcyIKLS5FbAordG9rZW4gLi4uCiAuQmwgLWNvbHVtbiAtb2Zmc2V0IGlu
ZCAiLlN5IEZpZWxkIE5hbWUgV2lkdGggWFgiICIuU3kgWFggQnl0ZXMgWFhY
WCIgIi5TeSBEZXNjcmlwdGlvbiIKIC5JdCBTeSAiRmllbGQiIFRhIFN5IEJ5
dGVzIFRhIFN5IERlc2NyaXB0aW9uCiAuSXQgTGkgIlRva2VuIElEIiBUYSAi
MSBieXRlIiBUYSAiVG9rZW4gSUQiCi0uSXQgTGkgIlNvY2tldCBkb21haW4i
IFRhICI0IGJ5dGVzIiBUYSAiU29ja2V0IGRvbWFpbiIKLS5JdCBMaSAiU29j
a2V0IGZhbWlseSIgVGEgIjIgYnl0ZXMiIFRhICJTb2NrZXQgZmFtaWx5Igot
Lkl0IExpICJBZGRyZXNzIHR5cGUiIFRhICIxIGJ5dGUiIFRhICJBZGRyZXNz
IHR5cGUgKElQdjQvSVB2NikiCi0uSXQgTGkgIkxvY2FsIHBvcnQiIFRhICIy
IGJ5dGVzIiBUYSAiTG9jYWwgcG9ydCIKLS5JdCBMaSAiTG9jYWwgSVAgYWRk
cmVzcyIgVGEgIjQvMTYgYnl0ZXMiIFRhICJMb2NhbCBJUCBhZGRyZXNzIgot
Lkl0IExpICJSZW1vdGUgcG9ydCIgVGEgIjIgYnl0ZXMiIFRhICJSZW1vdGUg
cG9ydCIKLS5JdCBMaSAiUmVtb3RlIElQIGFkZHJlc3MiIFRhICI0LzE2IGJ5
dGVzIiBUYSAiUmVtb3RlIElQIGFkZHJlc3MiCisuSXQgTGkgWFhYWFgKIC5F
bAogLlNzIEV4cGFuZGVkIFNvY2tldCBUb2tlbgogVGhlCg==

--0-26714257-1161267674=:28910--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20061019142114.30659.qmail>