[SCM] GNU Inetutils branch, master, updated. v2.2-4-gfc310f0

Simon Josefsson via Commit-inetutils <[email protected]> Wed, 1 Sep 2021 16:51:59 -0400 (EDT)
Newsgroups gmane.comp.gnu.inetutils.cvs
Message-ID <[email protected]>
VGhpcyBpcyBhbiBhdXRvbWF0ZWQgZW1haWwgZnJvbSB0aGUgZ2l0IGhvb2tzL3Bvc3QtcmVjZWl2
ZSBzY3JpcHQuIEl0IHdhcwpnZW5lcmF0ZWQgYmVjYXVzZSBhIHJlZiBjaGFuZ2Ugd2FzIHB1c2hl
ZCB0byB0aGUgcmVwb3NpdG9yeSBjb250YWluaW5nCnRoZSBwcm9qZWN0ICJHTlUgSW5ldHV0aWxz
ICIuCgpUaGUgYnJhbmNoLCBtYXN0ZXIgaGFzIGJlZW4gdXBkYXRlZAogICAgICAgdmlhICBmYzMx
MGYwNTljNTk4ODRhMjIxNzYwNmRmNjJiNDQ0ODg3Yzg2Zjg0IChjb21taXQpCiAgICAgICB2aWEg
IDBjZWVlMjMyNjIzYjJlZDkzYmRmOTZiYWQ2ZTBmNGU0ODM0ZjMxYWEgKGNvbW1pdCkKICAgICAg
IHZpYSAgMGU0ODMyZTczYTkzZWNkM2YzMzY1YjU0MDI0MjgzOWFjOTkzNDNkYyAoY29tbWl0KQog
ICAgICBmcm9tICA4NzgwYjQ3YTdmZDAyOWM4ZmZhZGI1NDg0MTg2Mzk2NGNkZTAwZjE4IChjb21t
aXQpCgpUaG9zZSByZXZpc2lvbnMgbGlzdGVkIGFib3ZlIHRoYXQgYXJlIG5ldyB0byB0aGlzIHJl
cG9zaXRvcnkgaGF2ZQpub3QgYXBwZWFyZWQgb24gYW55IG90aGVyIG5vdGlmaWNhdGlvbiBlbWFp
bDsgc28gd2UgbGlzdCB0aG9zZQpyZXZpc2lvbnMgaW4gZnVsbCwgYmVsb3cuCgotIExvZyAtLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLQpodHRwOi8vZ2l0LnNhdmFubmFoLmdudS5vcmcvY2dpdC9pbmV0dXRpbHMuZ2l0L2NvbW1p
dC8/aWQ9ZmMzMTBmMDU5YzU5ODg0YTIyMTc2MDZkZjYyYjQ0NDg4N2M4NmY4NAoKCmNvbW1pdCBm
YzMxMGYwNTljNTk4ODRhMjIxNzYwNmRmNjJiNDQ0ODg3Yzg2Zjg0CkF1dGhvcjogU2ltb24gSm9z
ZWZzc29uIDxzaW1vbkBqb3NlZnNzb24ub3JnPgpEYXRlOiAgIFdlZCBTZXAgMSAyMjo1MToyNCAy
MDIxICswMjAwCgogICAgRG9uJ3QgdXNlIG9ic29sZXRlIEFDX1RZUEVfU0lHTkFMLgogICAgCiAg
ICAqIGNvbmZpZ3VyZS5hYzogUmVtb3ZlIGNhbGwgdG8gQUNfVFlQRV9TSUdOQUwuCgpkaWZmIC0t
Z2l0IGEvY29uZmlndXJlLmFjIGIvY29uZmlndXJlLmFjCmluZGV4IDVlMTZjM2EuLmRkMWQ3NjIg
MTAwNjQ0Ci0tLSBhL2NvbmZpZ3VyZS5hYworKysgYi9jb25maWd1cmUuYWMKQEAgLTY1MCw5ICs2
NTAsNiBAQCBmaQogCiAjIyMgQ2hlY2tzIGZvciB0eXBlcy4KIAotIyBDaGVja3MgcmV0dXJuIHR5
cGUgb2Ygc2lnbmFsIGhhbmRsZXJzCi1BQ19UWVBFX1NJR05BTAotCiBBQ19DSEVDS19UWVBFUyhz
dHJ1Y3QgaWZfbmFtZWluZGV4LCAsICwKICAgW0lVX0ZMVVNITEVGVChbI2luY2x1ZGUgPHN5cy90
eXBlcy5oPgogICAgICAgICAgICAgICAgICAjaW5jbHVkZSA8c3lzL3NvY2tldC5oPgoKaHR0cDov
L2dpdC5zYXZhbm5haC5nbnUub3JnL2NnaXQvaW5ldHV0aWxzLmdpdC9jb21taXQvP2lkPTBjZWVl
MjMyNjIzYjJlZDkzYmRmOTZiYWQ2ZTBmNGU0ODM0ZjMxYWEKCgpjb21taXQgMGNlZWUyMzI2MjNi
MmVkOTNiZGY5NmJhZDZlMGY0ZTQ4MzRmMzFhYQpBdXRob3I6IFNpbW9uIEpvc2Vmc3NvbiA8c2lt
b25Aam9zZWZzc29uLm9yZz4KRGF0ZTogICBXZWQgU2VwIDEgMjI6NDk6MTggMjAyMSArMDIwMAoK
ICAgIFVzZSBnbnVsaWIgbW9kdWxlICdhdHRyaWJ1dGUnIGluc3RlYWQgb2Ygb2Jzb2xldGUgJ3Nu
aXBwZXRzL3VudXNlZC1wYXJhbWV0ZXJzJy4KICAgIAogICAgKiAqLyouYzogVXNlIE1BWUJFX1VO
VVNFRCBpbnN0ZWFkIG9mIF9HTF9VTlVTRURfUEFSQU1FVEVSLgogICAgKiAqLyouYzogSW5jbHVk
ZSBhdHRyaWJ1dGUuaCBpbnN0ZWFkIG9mIHVudXNlZC1wYXJhbWV0ZXJzLmguCgpkaWZmIC0tZ2l0
IGEvYm9vdHN0cmFwLmNvbmYgYi9ib290c3RyYXAuY29uZgppbmRleCBlZDUxYzkzLi5mMzQ3ZDQ3
IDEwMDY0NAotLS0gYS9ib290c3RyYXAuY29uZgorKysgYi9ib290c3RyYXAuY29uZgpAQCAtNDAs
NiArNDAsNyBAQCBhbGxvY2EKIGFsbG9jYS1vcHQKIGFyZ3AKIGFyZ3AtdmVyc2lvbi1ldGMKK2F0
dHJpYnV0ZQogYXV0b2J1aWxkCiBkaXJmZAogZGlybmFtZS1sZ3BsCkBAIC04NCw3ICs4NSw2IEBA
IHNldGVudgogc2V0aG9zdG5hbWUKIHNpZ25hbAogc2l6ZV9tYXgKLXNuaXBwZXQvdW51c2VkLXBh
cmFtZXRlcgogc25wcmludGYKIHNvY2tsZW4KIHN0ZGFyZwpkaWZmIC0tZ2l0IGEvZnRwL2NtZHMu
YyBiL2Z0cC9jbWRzLmMKaW5kZXggNzgwYWJjOC4uNTU5YTEyMSAxMDA2NDQKLS0tIGEvZnRwL2Nt
ZHMuYworKysgYi9mdHAvY21kcy5jCkBAIC05MSw3ICs5MSw3IEBACiAjZW5kaWYKIAogI2luY2x1
ZGUgImZ0cF92YXIuaCIKLSNpbmNsdWRlICJ1bnVzZWQtcGFyYW1ldGVyLmgiCisjaW5jbHVkZSAi
YXR0cmlidXRlLmgiCiAjaW5jbHVkZSAieGFsbG9jLmgiCiAjaW5jbHVkZSAieGdldGN3ZC5oIgog
CkBAIC00ODEsNyArNDgxLDcgQEAgY2hhciAqc3R5cGVbXSA9IHsKICAqIFNldCBiaW5hcnkgdHJh
bnNmZXIgdHlwZS4KICAqLwogdm9pZAotc2V0YmluYXJ5IChpbnQgYXJnYyBfR0xfVU5VU0VEX1BB
UkFNRVRFUiwgY2hhciAqKmFyZ3YgX0dMX1VOVVNFRF9QQVJBTUVURVIpCitzZXRiaW5hcnkgKGlu
dCBhcmdjIE1BWUJFX1VOVVNFRCwgY2hhciAqKmFyZ3YgTUFZQkVfVU5VU0VEKQogewogCiAgIHN0
eXBlWzFdID0gImJpbmFyeSI7CkBAIC00OTIsNyArNDkyLDcgQEAgc2V0YmluYXJ5IChpbnQgYXJn
YyBfR0xfVU5VU0VEX1BBUkFNRVRFUiwgY2hhciAqKmFyZ3YgX0dMX1VOVVNFRF9QQVJBTUVURVIp
CiAgKiBTZXQgYXNjaWkgdHJhbnNmZXIgdHlwZS4KICAqLwogdm9pZAotc2V0YXNjaWkgKGludCBh
cmdjIF9HTF9VTlVTRURfUEFSQU1FVEVSLCBjaGFyICoqYXJndiBfR0xfVU5VU0VEX1BBUkFNRVRF
UikKK3NldGFzY2lpIChpbnQgYXJnYyBNQVlCRV9VTlVTRUQsIGNoYXIgKiphcmd2IE1BWUJFX1VO
VVNFRCkKIHsKIAogICBzdHlwZVsxXSA9ICJhc2NpaSI7CkBAIC01MDMsNyArNTAzLDcgQEAgc2V0
YXNjaWkgKGludCBhcmdjIF9HTF9VTlVTRURfUEFSQU1FVEVSLCBjaGFyICoqYXJndiBfR0xfVU5V
U0VEX1BBUkFNRVRFUikKICAqIFNldCB0ZW5leCB0cmFuc2ZlciB0eXBlLgogICovCiB2b2lkCi1z
ZXR0ZW5leCAoaW50IGFyZ2MgX0dMX1VOVVNFRF9QQVJBTUVURVIsIGNoYXIgKiphcmd2IF9HTF9V
TlVTRURfUEFSQU1FVEVSKQorc2V0dGVuZXggKGludCBhcmdjIE1BWUJFX1VOVVNFRCwgY2hhciAq
KmFyZ3YgTUFZQkVfVU5VU0VEKQogewogCiAgIHN0eXBlWzFdID0gInRlbmV4IjsKQEAgLTUxNCw3
ICs1MTQsNyBAQCBzZXR0ZW5leCAoaW50IGFyZ2MgX0dMX1VOVVNFRF9QQVJBTUVURVIsIGNoYXIg
Kiphcmd2IF9HTF9VTlVTRURfUEFSQU1FVEVSKQogICogU2V0IGZpbGUgdHJhbnNmZXIgbW9kZS4K
ICAqLwogdm9pZAotc2V0ZnRtb2RlIChpbnQgYXJnYyBfR0xfVU5VU0VEX1BBUkFNRVRFUiwgY2hh
ciAqKmFyZ3YgX0dMX1VOVVNFRF9QQVJBTUVURVIpCitzZXRmdG1vZGUgKGludCBhcmdjIE1BWUJF
X1VOVVNFRCwgY2hhciAqKmFyZ3YgTUFZQkVfVU5VU0VEKQogewogCiAgIHByaW50ZiAoIldlIG9u
bHkgc3VwcG9ydCAlcyBtb2RlLCBzb3JyeS5cbiIsIG1vZGVuYW1lKTsKQEAgLTUyNSw3ICs1MjUs
NyBAQCBzZXRmdG1vZGUgKGludCBhcmdjIF9HTF9VTlVTRURfUEFSQU1FVEVSLCBjaGFyICoqYXJn
diBfR0xfVU5VU0VEX1BBUkFNRVRFUikKICAqIFNldCBmaWxlIHRyYW5zZmVyIGZvcm1hdC4KICAq
Lwogdm9pZAotc2V0Zm9ybSAoaW50IGFyZ2MgX0dMX1VOVVNFRF9QQVJBTUVURVIsIGNoYXIgKiph
cmd2IF9HTF9VTlVTRURfUEFSQU1FVEVSKQorc2V0Zm9ybSAoaW50IGFyZ2MgTUFZQkVfVU5VU0VE
LCBjaGFyICoqYXJndiBNQVlCRV9VTlVTRUQpCiB7CiAKICAgcHJpbnRmICgiV2Ugb25seSBzdXBw
b3J0ICVzIGZvcm1hdCwgc29ycnkuXG4iLCBmb3JtbmFtZSk7CkBAIC01MzYsNyArNTM2LDcgQEAg
c2V0Zm9ybSAoaW50IGFyZ2MgX0dMX1VOVVNFRF9QQVJBTUVURVIsIGNoYXIgKiphcmd2IF9HTF9V
TlVTRURfUEFSQU1FVEVSKQogICogU2V0IGZpbGUgdHJhbnNmZXIgc3RydWN0dXJlLgogICovCiB2
b2lkCi1zZXRzdHJ1Y3QgKGludCBhcmdjIF9HTF9VTlVTRURfUEFSQU1FVEVSLCBjaGFyICoqYXJn
diBfR0xfVU5VU0VEX1BBUkFNRVRFUikKK3NldHN0cnVjdCAoaW50IGFyZ2MgTUFZQkVfVU5VU0VE
LCBjaGFyICoqYXJndiBNQVlCRV9VTlVTRUQpCiB7CiAKICAgcHJpbnRmICgiV2Ugb25seSBzdXBw
b3J0ICVzIHN0cnVjdHVyZSwgc29ycnkuXG4iLCBzdHJ1Y3RuYW1lKTsKQEAgLTkxNCw3ICs5MTQs
NyBAQCBnZXRpdCAoaW50IGFyZ2MsIGNoYXIgKiphcmd2LCBpbnQgcmVzdGFydGl0LCBjaGFyICpt
b2RlKQogfQogCiB2b2lkCi1tYWJvcnQgKGludCBzaWdubyBfR0xfVU5VU0VEX1BBUkFNRVRFUikK
K21hYm9ydCAoaW50IHNpZ25vIE1BWUJFX1VOVVNFRCkKIHsKICAgaW50IG9pbnRlcjsKIApAQCAt
MTEyNyw3ICsxMTI3LDcgQEAgb25vZmYgKGludCBib29sKQogICogU2hvdyBzdGF0dXMuCiAgKi8K
IHZvaWQKLXN0YXR1cyAoaW50IGFyZ2MgX0dMX1VOVVNFRF9QQVJBTUVURVIsIGNoYXIgKiphcmd2
IF9HTF9VTlVTRURfUEFSQU1FVEVSKQorc3RhdHVzIChpbnQgYXJnYyBNQVlCRV9VTlVTRUQsIGNo
YXIgKiphcmd2IE1BWUJFX1VOVVNFRCkKIHsKICAgaW50IGk7CiAKQEAgLTExOTIsNyArMTE5Miw3
IEBAIHN0YXR1cyAoaW50IGFyZ2MgX0dMX1VOVVNFRF9QQVJBTUVURVIsIGNoYXIgKiphcmd2IF9H
TF9VTlVTRURfUEFSQU1FVEVSKQogICogU2V0IGJlZXAgb24gY21kIGNvbXBsZXRlZCBtb2RlLgog
ICovCiB2b2lkCi1zZXRiZWxsIChpbnQgYXJnYyBfR0xfVU5VU0VEX1BBUkFNRVRFUiwgY2hhciAq
KmFyZ3YgX0dMX1VOVVNFRF9QQVJBTUVURVIpCitzZXRiZWxsIChpbnQgYXJnYyBNQVlCRV9VTlVT
RUQsIGNoYXIgKiphcmd2IE1BWUJFX1VOVVNFRCkKIHsKIAogICBiZWxsID0gIWJlbGw7CkBAIC0x
MjA0LDcgKzEyMDQsNyBAQCBzZXRiZWxsIChpbnQgYXJnYyBfR0xfVU5VU0VEX1BBUkFNRVRFUiwg
Y2hhciAqKmFyZ3YgX0dMX1VOVVNFRF9QQVJBTUVURVIpCiAgKiBUdXJuIG9uIHBhY2tldCB0cmFj
aW5nLgogICovCiB2b2lkCi1zZXR0cmFjZSAoaW50IGFyZ2MgX0dMX1VOVVNFRF9QQVJBTUVURVIs
IGNoYXIgKiphcmd2IF9HTF9VTlVTRURfUEFSQU1FVEVSKQorc2V0dHJhY2UgKGludCBhcmdjIE1B
WUJFX1VOVVNFRCwgY2hhciAqKmFyZ3YgTUFZQkVfVU5VU0VEKQogewogCiAgIHRyYWNlID0gIXRy
YWNlOwpAQCAtMTIyMyw3ICsxMjIzLDcgQEAgc2V0dHJhY2UgKGludCBhcmdjIF9HTF9VTlVTRURf
UEFSQU1FVEVSLCBjaGFyICoqYXJndiBfR0xfVU5VU0VEX1BBUkFNRVRFUikKICAqIFRvZ2dsZSBz
dGF0ZSBvbmx5IGluIGFic2VuY2Ugb2YgYW4gYXJndW1lbnQuCiAgKi8KIHZvaWQKLXNldGhhc2gg
KGludCBhcmdjIF9HTF9VTlVTRURfUEFSQU1FVEVSLCBjaGFyICoqYXJndikKK3NldGhhc2ggKGlu
dCBhcmdjIE1BWUJFX1VOVVNFRCwgY2hhciAqKmFyZ3YpCiB7CiAgIGNoYXIgKnAgPSBhcmd2WzFd
OwogCkBAIC0xMjczLDcgKzEyNzMsNyBAQCBzZXRoYXNoIChpbnQgYXJnYyBfR0xfVU5VU0VEX1BB
UkFNRVRFUiwgY2hhciAqKmFyZ3YpCiAgKiBUdXJuIG9uIHByaW50aW5nIG9mIHNlcnZlciBlY2hv
J3MuCiAgKi8KIHZvaWQKLXNldHZlcmJvc2UgKGludCBhcmdjIF9HTF9VTlVTRURfUEFSQU1FVEVS
LCBjaGFyICoqYXJndiBfR0xfVU5VU0VEX1BBUkFNRVRFUikKK3NldHZlcmJvc2UgKGludCBhcmdj
IE1BWUJFX1VOVVNFRCwgY2hhciAqKmFyZ3YgTUFZQkVfVU5VU0VEKQogewogCiAgIHZlcmJvc2Ug
PSAhdmVyYm9zZTsKQEAgLTEyODUsNyArMTI4NSw3IEBAIHNldHZlcmJvc2UgKGludCBhcmdjIF9H
TF9VTlVTRURfUEFSQU1FVEVSLCBjaGFyICoqYXJndiBfR0xfVU5VU0VEX1BBUkFNRVRFUikKICAq
IEFsbG93IGFueSBhZGRyZXNzIGZhbWlseS4KICAqLwogdm9pZAotc2V0aXBhbnkgKGludCBhcmdj
IF9HTF9VTlVTRURfUEFSQU1FVEVSLCBjaGFyICoqYXJndiBfR0xfVU5VU0VEX1BBUkFNRVRFUikK
K3NldGlwYW55IChpbnQgYXJnYyBNQVlCRV9VTlVTRUQsIGNoYXIgKiphcmd2IE1BWUJFX1VOVVNF
RCkKIHsKICAgdXNlZmFtaWx5ID0gQUZfVU5TUEVDOwogICBwcmludGYgKCJTZWxlY3RpbmcgYWRk
cmVzc2VzOiAlcy5cbiIsICJhbnkiKTsKQEAgLTEyOTYsNyArMTI5Niw3IEBAIHNldGlwYW55IChp
bnQgYXJnYyBfR0xfVU5VU0VEX1BBUkFNRVRFUiwgY2hhciAqKmFyZ3YgX0dMX1VOVVNFRF9QQVJB
TUVURVIpCiAgKiBSZXN0cmljdCB0byBJUHY0IGFkZHJlc3Nlcy4KICAqLwogdm9pZAotc2V0aXB2
NCAoaW50IGFyZ2MgX0dMX1VOVVNFRF9QQVJBTUVURVIsIGNoYXIgKiphcmd2IF9HTF9VTlVTRURf
UEFSQU1FVEVSKQorc2V0aXB2NCAoaW50IGFyZ2MgTUFZQkVfVU5VU0VELCBjaGFyICoqYXJndiBN
QVlCRV9VTlVTRUQpCiB7CiAgIHVzZWZhbWlseSA9IEFGX0lORVQ7CiAgIHByaW50ZiAoIlNlbGVj
dGluZyBhZGRyZXNzZXM6ICVzLlxuIiwgIklQdjQiKTsKQEAgLTEzMDcsNyArMTMwNyw3IEBAIHNl
dGlwdjQgKGludCBhcmdjIF9HTF9VTlVTRURfUEFSQU1FVEVSLCBjaGFyICoqYXJndiBfR0xfVU5V
U0VEX1BBUkFNRVRFUikKICAqIFJlc3RyaWN0IHRvIElQdjYgYWRkcmVzc2VzLgogICovCiB2b2lk
Ci1zZXRpcHY2IChpbnQgYXJnYyBfR0xfVU5VU0VEX1BBUkFNRVRFUiwgY2hhciAqKmFyZ3YgX0dM
X1VOVVNFRF9QQVJBTUVURVIpCitzZXRpcHY2IChpbnQgYXJnYyBNQVlCRV9VTlVTRUQsIGNoYXIg
Kiphcmd2IE1BWUJFX1VOVVNFRCkKIHsKICAgdXNlZmFtaWx5ID0gQUZfSU5FVDY7CiAgIHByaW50
ZiAoIlNlbGVjdGluZyBhZGRyZXNzZXM6ICVzLlxuIiwgIklQdjYiKTsKQEAgLTEzMTgsNyArMTMx
OCw3IEBAIHNldGlwdjYgKGludCBhcmdjIF9HTF9VTlVTRURfUEFSQU1FVEVSLCBjaGFyICoqYXJn
diBfR0xfVU5VU0VEX1BBUkFNRVRFUikKICAqIFRvZ2dsZSB1c2Ugb2YgRVBSVC9FUFJUIGZvciBJ
UHY0LgogICovCiB2b2lkCi1zZXRlcHN2NCAoaW50IGFyZ2MgX0dMX1VOVVNFRF9QQVJBTUVURVIs
IGNoYXIgKiphcmd2IF9HTF9VTlVTRURfUEFSQU1FVEVSKQorc2V0ZXBzdjQgKGludCBhcmdjIE1B
WUJFX1VOVVNFRCwgY2hhciAqKmFyZ3YgTUFZQkVfVU5VU0VEKQogewogCiAgIGRvZXBzdjQgPSAh
ZG9lcHN2NDsKQEAgLTEzMzAsNyArMTMzMCw3IEBAIHNldGVwc3Y0IChpbnQgYXJnYyBfR0xfVU5V
U0VEX1BBUkFNRVRFUiwgY2hhciAqKmFyZ3YgX0dMX1VOVVNFRF9QQVJBTUVURVIpCiAgKiBUb2dn
bGUgUE9SVCBjbWQgdXNlIGJlZm9yZSBlYWNoIGRhdGEgY29ubmVjdGlvbi4KICAqLwogdm9pZAot
c2V0cG9ydCAoaW50IGFyZ2MgX0dMX1VOVVNFRF9QQVJBTUVURVIsIGNoYXIgKiphcmd2IF9HTF9V
TlVTRURfUEFSQU1FVEVSKQorc2V0cG9ydCAoaW50IGFyZ2MgTUFZQkVfVU5VU0VELCBjaGFyICoq
YXJndiBNQVlCRV9VTlVTRUQpCiB7CiAKICAgc2VuZHBvcnQgPSAhc2VuZHBvcnQ7CkBAIC0xMzQz
LDcgKzEzNDMsNyBAQCBzZXRwb3J0IChpbnQgYXJnYyBfR0xfVU5VU0VEX1BBUkFNRVRFUiwgY2hh
ciAqKmFyZ3YgX0dMX1VOVVNFRF9QQVJBTUVURVIpCiAgKiBkdXJpbmcgbWdldCwgbXB1dCwgYW5k
IG1kZWxldGUuCiAgKi8KIHZvaWQKLXNldHByb21wdCAoaW50IGFyZ2MgX0dMX1VOVVNFRF9QQVJB
TUVURVIsIGNoYXIgKiphcmd2IF9HTF9VTlVTRURfUEFSQU1FVEVSKQorc2V0cHJvbXB0IChpbnQg
YXJnYyBNQVlCRV9VTlVTRUQsIGNoYXIgKiphcmd2IE1BWUJFX1VOVVNFRCkKIHsKIAogICBpbnRl
cmFjdGl2ZSA9ICFpbnRlcmFjdGl2ZTsKQEAgLTEzNTYsNyArMTM1Niw3IEBAIHNldHByb21wdCAo
aW50IGFyZ2MgX0dMX1VOVVNFRF9QQVJBTUVURVIsIGNoYXIgKiphcmd2IF9HTF9VTlVTRURfUEFS
QU1FVEVSKQogICogb24gbG9jYWwgZmlsZSBuYW1lcy4KICAqLwogdm9pZAotc2V0Z2xvYiAoaW50
IGFyZ2MgX0dMX1VOVVNFRF9QQVJBTUVURVIsIGNoYXIgKiphcmd2IF9HTF9VTlVTRURfUEFSQU1F
VEVSKQorc2V0Z2xvYiAoaW50IGFyZ2MgTUFZQkVfVU5VU0VELCBjaGFyICoqYXJndiBNQVlCRV9V
TlVTRUQpCiB7CiAKICAgZG9nbG9iID0gIWRvZ2xvYjsKQEAgLTE2NTksNyArMTY1OSw3IEBAIG1s
cyAoaW50IGFyZ2MsIGNoYXIgKiphcmd2KQogICogRG8gYSBzaGVsbCBlc2NhcGUKICAqLwogdm9p
ZAotc2hlbGwgKGludCBhcmdjLCBjaGFyICoqYXJndiBfR0xfVU5VU0VEX1BBUkFNRVRFUikKK3No
ZWxsIChpbnQgYXJnYywgY2hhciAqKmFyZ3YgTUFZQkVfVU5VU0VEKQogewogICBwaWRfdCBwaWQ7
CiAgIHNpZ2hhbmRsZXJfdCBvbGQxLCBvbGQyOwpAQCAtMTc5MCw3ICsxNzkwLDcgQEAgdXNlciAo
aW50IGFyZ2MsIGNoYXIgKiphcmd2KQogICogUHJpbnQgd29ya2luZyBkaXJlY3RvcnkuCiAgKi8K
IHZvaWQKLXB3ZCAoaW50IGFyZ2MgX0dMX1VOVVNFRF9QQVJBTUVURVIsIGNoYXIgKiphcmd2IF9H
TF9VTlVTRURfUEFSQU1FVEVSKQorcHdkIChpbnQgYXJnYyBNQVlCRV9VTlVTRUQsIGNoYXIgKiph
cmd2IE1BWUJFX1VOVVNFRCkKIHsKICAgaW50IG9sZHZlcmJvc2UgPSB2ZXJib3NlOwogCkBAIC0x
ODEwLDcgKzE4MTAsNyBAQCBwd2QgKGludCBhcmdjIF9HTF9VTlVTRURfUEFSQU1FVEVSLCBjaGFy
ICoqYXJndiBfR0xfVU5VU0VEX1BBUkFNRVRFUikKICAqIFByaW50IGxvY2FsIHdvcmtpbmcgZGly
ZWN0b3J5LgogICovCiB2b2lkCi1scHdkIChpbnQgYXJnYyBfR0xfVU5VU0VEX1BBUkFNRVRFUiwg
Y2hhciAqKmFyZ3YgX0dMX1VOVVNFRF9QQVJBTUVURVIpCitscHdkIChpbnQgYXJnYyBNQVlCRV9V
TlVTRUQsIGNoYXIgKiphcmd2IE1BWUJFX1VOVVNFRCkKIHsKICAgY2hhciAqZGlyID0geGdldGN3
ZCAoKTsKIApAQCAtMTk4Miw3ICsxOTgyLDcgQEAgcm10aGVscCAoaW50IGFyZ2MsIGNoYXIgKiph
cmd2KQogICogVGVybWluYXRlIHNlc3Npb24gYW5kIGV4aXQuCiAgKi8KIHZvaWQKLXF1aXQgKGlu
dCBhcmdjIF9HTF9VTlVTRURfUEFSQU1FVEVSLCBjaGFyICoqYXJndiBfR0xfVU5VU0VEX1BBUkFN
RVRFUikKK3F1aXQgKGludCBhcmdjIE1BWUJFX1VOVVNFRCwgY2hhciAqKmFyZ3YgTUFZQkVfVU5V
U0VEKQogewogCiAgIGlmIChjb25uZWN0ZWQpCkBAIC0xOTk5LDcgKzE5OTksNyBAQCBxdWl0IChp
bnQgYXJnYyBfR0xfVU5VU0VEX1BBUkFNRVRFUiwgY2hhciAqKmFyZ3YgX0dMX1VOVVNFRF9QQVJB
TUVURVIpCiAgKiBUZXJtaW5hdGUgc2Vzc2lvbiwgYnV0IGRvbid0IGV4aXQuCiAgKi8KIHZvaWQK
LWRpc2Nvbm5lY3QgKGludCBhcmdjIF9HTF9VTlVTRURfUEFSQU1FVEVSLCBjaGFyICoqYXJndiBf
R0xfVU5VU0VEX1BBUkFNRVRFUikKK2Rpc2Nvbm5lY3QgKGludCBhcmdjIE1BWUJFX1VOVVNFRCwg
Y2hhciAqKmFyZ3YgTUFZQkVfVU5VU0VEKQogewogCiAgIGlmICghY29ubmVjdGVkKQpAQCAtMjEw
Nyw3ICsyMTA3LDcgQEAgYWNjb3VudCAoaW50IGFyZ2MsIGNoYXIgKiphcmd2KQogam1wX2J1ZiBh
Ym9ydHByb3g7CiAKIHZvaWQKLXByb3hhYm9ydCAoaW50IHNpZyBfR0xfVU5VU0VEX1BBUkFNRVRF
UikKK3Byb3hhYm9ydCAoaW50IHNpZyBNQVlCRV9VTlVTRUQpCiB7CiAKICAgaWYgKCFwcm94eSkK
QEAgLTIxOTAsNyArMjE5MCw3IEBAIGRvcHJveHkgKGludCBhcmdjLCBjaGFyICoqYXJndikKIH0K
IAogdm9pZAotc2V0Y2FzZSAoaW50IGFyZ2MgX0dMX1VOVVNFRF9QQVJBTUVURVIsIGNoYXIgKiph
cmd2IF9HTF9VTlVTRURfUEFSQU1FVEVSKQorc2V0Y2FzZSAoaW50IGFyZ2MgTUFZQkVfVU5VU0VE
LCBjaGFyICoqYXJndiBNQVlCRV9VTlVTRUQpCiB7CiAKICAgbWNhc2UgPSAhbWNhc2U7CkBAIC0y
MTk5LDcgKzIxOTksNyBAQCBzZXRjYXNlIChpbnQgYXJnYyBfR0xfVU5VU0VEX1BBUkFNRVRFUiwg
Y2hhciAqKmFyZ3YgX0dMX1VOVVNFRF9QQVJBTUVURVIpCiB9CiAKIHZvaWQKLXNldGNyIChpbnQg
YXJnYyBfR0xfVU5VU0VEX1BBUkFNRVRFUiwgY2hhciAqKmFyZ3YgX0dMX1VOVVNFRF9QQVJBTUVU
RVIpCitzZXRjciAoaW50IGFyZ2MgTUFZQkVfVU5VU0VELCBjaGFyICoqYXJndiBNQVlCRV9VTlVT
RUQpCiB7CiAKICAgY3JmbGFnID0gIWNyZmxhZzsKQEAgLTIyNjcsNyArMjI2Nyw3IEBAIGRvdHJh
bnMgKGNoYXIgKm5hbWUpCiB9CiAKIHZvaWQKLXNldHBhc3NpdmUgKGludCBhcmdjIF9HTF9VTlVT
RURfUEFSQU1FVEVSLCBjaGFyICoqYXJndiBfR0xfVU5VU0VEX1BBUkFNRVRFUikKK3NldHBhc3Np
dmUgKGludCBhcmdjIE1BWUJFX1VOVVNFRCwgY2hhciAqKmFyZ3YgTUFZQkVfVU5VU0VEKQogewog
CiAgIHBhc3NpdmVtb2RlID0gIXBhc3NpdmVtb2RlOwpAQCAtMjUyNiw3ICsyNTI2LDcgQEAgZG9t
YXAgKGNoYXIgKm5hbWUpCiB9CiAKIHZvaWQKLXNldHN1bmlxdWUgKGludCBhcmdjIF9HTF9VTlVT
RURfUEFSQU1FVEVSLCBjaGFyICoqYXJndiBfR0xfVU5VU0VEX1BBUkFNRVRFUikKK3NldHN1bmlx
dWUgKGludCBhcmdjIE1BWUJFX1VOVVNFRCwgY2hhciAqKmFyZ3YgTUFZQkVfVU5VU0VEKQogewog
CiAgIHN1bmlxdWUgPSAhc3VuaXF1ZTsKQEAgLTI1MzUsNyArMjUzNSw3IEBAIHNldHN1bmlxdWUg
KGludCBhcmdjIF9HTF9VTlVTRURfUEFSQU1FVEVSLCBjaGFyICoqYXJndiBfR0xfVU5VU0VEX1BB
UkFNRVRFUikKIH0KIAogdm9pZAotc2V0cnVuaXF1ZSAoaW50IGFyZ2MgX0dMX1VOVVNFRF9QQVJB
TUVURVIsIGNoYXIgKiphcmd2IF9HTF9VTlVTRURfUEFSQU1FVEVSKQorc2V0cnVuaXF1ZSAoaW50
IGFyZ2MgTUFZQkVfVU5VU0VELCBjaGFyICoqYXJndiBNQVlCRV9VTlVTRUQpCiB7CiAKICAgcnVu
aXF1ZSA9ICFydW5pcXVlOwpAQCAtMjU0NSw3ICsyNTQ1LDcgQEAgc2V0cnVuaXF1ZSAoaW50IGFy
Z2MgX0dMX1VOVVNFRF9QQVJBTUVURVIsIGNoYXIgKiphcmd2IF9HTF9VTlVTRURfUEFSQU1FVEVS
KQogCiAvKiBjaGFuZ2UgZGlyZWN0b3J5IHRvIHBhcmVudCBkaXJlY3RvcnkgKi8KIHZvaWQKLWNk
dXAgKGludCBhcmdjIF9HTF9VTlVTRURfUEFSQU1FVEVSLCBjaGFyICoqYXJndiBfR0xfVU5VU0VE
X1BBUkFNRVRFUikKK2NkdXAgKGludCBhcmdjIE1BWUJFX1VOVVNFRCwgY2hhciAqKmFyZ3YgTUFZ
QkVfVU5VU0VEKQogewogCiAgIGlmIChjb21tYW5kICgiQ0RVUCIpID09IEVSUk9SICYmIGNvZGUg
PT0gNTAwKQpAQCAtMjU3Myw3ICsyNTczLDcgQEAgcmVzdGFydCAoaW50IGFyZ2MsIGNoYXIgKiph
cmd2KQogCiAvKiBzaG93IHJlbW90ZSBzeXN0ZW0gdHlwZSAqLwogdm9pZAotc3lzdCAoaW50IGFy
Z2MgX0dMX1VOVVNFRF9QQVJBTUVURVIsIGNoYXIgKiphcmd2IF9HTF9VTlVTRURfUEFSQU1FVEVS
KQorc3lzdCAoaW50IGFyZ2MgTUFZQkVfVU5VU0VELCBjaGFyICoqYXJndiBNQVlCRV9VTlVTRUQp
CiB7CiAKICAgY29tbWFuZCAoIlNZU1QiKTsKZGlmZiAtLWdpdCBhL2Z0cC9mdHAuYyBiL2Z0cC9m
dHAuYwppbmRleCA3NTEzNTM5Li43MzBhODU1IDEwMDY0NAotLS0gYS9mdHAvZnRwLmMKKysrIGIv
ZnRwL2Z0cC5jCkBAIC05MSw3ICs5MSw3IEBACiAjZW5kaWYKIAogI2luY2x1ZGUgImZ0cF92YXIu
aCIKLSNpbmNsdWRlICJ1bnVzZWQtcGFyYW1ldGVyLmgiCisjaW5jbHVkZSAiYXR0cmlidXRlLmgi
CiAKICNpZiAhSEFWRV9ERUNMX0ZDTE9TRQogLyogU29tZSBzeXN0ZW1zIGRvbid0IGRlY2xhcmUg
ZmNsb3NlIGluIDxzdGRpby5oPiwgc28gZG8gaXQgb3Vyc2VsdmVzLiAgKi8KQEAgLTQxMCw3ICs0
MTAsNyBAQCBsb2dpbiAoY2hhciAqaG9zdCkKIH0KIAogdm9pZAotY21kYWJvcnQgKGludCBzaWcg
X0dMX1VOVVNFRF9QQVJBTUVURVIpCitjbWRhYm9ydCAoaW50IHNpZyBNQVlCRV9VTlVTRUQpCiB7
CiAKICAgcHJpbnRmICgiXG4iKTsKQEAgLTU5Nyw3ICs1OTcsNyBAQCBlbXB0eSAoZmRfc2V0ICpt
YXNrLCBpbnQgc2VjKQogam1wX2J1ZiBzZW5kYWJvcnQ7CiAKIHZvaWQKLWFib3J0c2VuZCAoaW50
IHNpZyBfR0xfVU5VU0VEX1BBUkFNRVRFUikKK2Fib3J0c2VuZCAoaW50IHNpZyBNQVlCRV9VTlVT
RUQpCiB7CiAKICAgbWZsYWcgPSAwOwpAQCAtOTAyLDcgKzkwMiw3IEBAIGFib3J0Ogogam1wX2J1
ZiByZWN2YWJvcnQ7CiAKIHZvaWQKLWFib3J0cmVjdiAoaW50IHNpZyBfR0xfVU5VU0VEX1BBUkFN
RVRFUikKK2Fib3J0cmVjdiAoaW50IHNpZyBNQVlCRV9VTlVTRUQpCiB7CiAKICAgbWZsYWcgPSAw
OwpAQCAtMTY2OSw3ICsxNjY5LDcgQEAgdHZzdWIgKHN0cnVjdCB0aW1ldmFsICp0ZGlmZiwgc3Ry
dWN0IHRpbWV2YWwgKnQxLCBzdHJ1Y3QgdGltZXZhbCAqdDApCiB9CiAKIHZvaWQKLXBzYWJvcnQg
KGludCBzaWcgX0dMX1VOVVNFRF9QQVJBTUVURVIpCitwc2Fib3J0IChpbnQgc2lnIE1BWUJFX1VO
VVNFRCkKIHsKIAogICBhYnJ0ZmxhZysrOwpAQCAtMTc4Miw3ICsxNzgyLDcgQEAgcHN3aXRjaCAo
aW50IGZsYWcpCiB9CiAKIHZvaWQKLWFib3J0cHQgKGludCBzaWcgX0dMX1VOVVNFRF9QQVJBTUVU
RVIpCithYm9ydHB0IChpbnQgc2lnIE1BWUJFX1VOVVNFRCkKIHsKIAogICBwcmludGYgKCJcbiIp
OwpAQCAtMTkyNCw3ICsxOTI0LDcgQEAgYWJvcnQ6CiB9CiAKIHZvaWQKLXJlc2V0IChpbnQgYXJn
YyBfR0xfVU5VU0VEX1BBUkFNRVRFUiwgY2hhciAqKmFyZ3YgX0dMX1VOVVNFRF9QQVJBTUVURVIp
CityZXNldCAoaW50IGFyZ2MgTUFZQkVfVU5VU0VELCBjaGFyICoqYXJndiBNQVlCRV9VTlVTRUQp
CiB7CiAgIGZkX3NldCBtYXNrOwogICBpbnQgbmZuZCA9IDE7CmRpZmYgLS1naXQgYS9mdHAvbWFp
bi5jIGIvZnRwL21haW4uYwppbmRleCBiNmI2YzI3Li42NjZjODY2IDEwMDY0NAotLS0gYS9mdHAv
bWFpbi5jCisrKyBiL2Z0cC9tYWluLmMKQEAgLTgxLDcgKzgxLDcgQEAKICNpbmNsdWRlICJmdHBf
dmFyLmgiCiAKICNpbmNsdWRlICJsaWJpbmV0dXRpbHMuaCIKLSNpbmNsdWRlICJ1bnVzZWQtcGFy
YW1ldGVyLmgiCisjaW5jbHVkZSAiYXR0cmlidXRlLmgiCiAKICNpZmRlZiBIQVZFX1JFQURMSU5F
X1JFQURMSU5FX0gKICMgaW5jbHVkZSA8cmVhZGxpbmUvcmVhZGxpbmUuaD4KQEAgLTE0Miw3ICsx
NDIsNyBAQCBzdGF0aWMgc3RydWN0IGFyZ3Bfb3B0aW9uIGFyZ3Bfb3B0aW9uc1tdID0gewogfTsK
IAogc3RhdGljIGVycm9yX3QKLXBhcnNlX29wdCAoaW50IGtleSwgY2hhciAqYXJnLCBzdHJ1Y3Qg
YXJncF9zdGF0ZSAqc3RhdGUgX0dMX1VOVVNFRF9QQVJBTUVURVIpCitwYXJzZV9vcHQgKGludCBr
ZXksIGNoYXIgKmFyZywgc3RydWN0IGFyZ3Bfc3RhdGUgKnN0YXRlIE1BWUJFX1VOVVNFRCkKIHsK
ICAgc3dpdGNoIChrZXkpCiAgICAgewpAQCAtMzE2LDEzICszMTYsMTMgQEAgbWFpbiAoaW50IGFy
Z2MsIGNoYXIgKmFyZ3ZbXSkKIH0KIAogdm9pZAotaW50ciAoaW50IHNpZyBfR0xfVU5VU0VEX1BB
UkFNRVRFUikKK2ludHIgKGludCBzaWcgTUFZQkVfVU5VU0VEKQogewogICBsb25nam1wICh0b3Bs
ZXZlbCwgMSk7CiB9CiAKIHZvaWQKLWxvc3RwZWVyIChpbnQgc2lnIF9HTF9VTlVTRURfUEFSQU1F
VEVSKQorbG9zdHBlZXIgKGludCBzaWcgTUFZQkVfVU5VU0VEKQogewogICBpZiAoY29ubmVjdGVk
KQogICAgIHsKZGlmZiAtLWdpdCBhL2Z0cGQvZnRwZC5jIGIvZnRwZC9mdHBkLmMKaW5kZXggNjhk
NDFmZC4uZjRiMjlkNSAxMDA2NDQKLS0tIGEvZnRwZC9mdHBkLmMKKysrIGIvZnRwZC9mdHBkLmMK
QEAgLTEwNCw3ICsxMDQsNyBAQAogI2luY2x1ZGUgPHByb2duYW1lLmg+CiAjaW5jbHVkZSA8bGli
aW5ldHV0aWxzLmg+CiAjaW5jbHVkZSAiZXh0ZXJuLmgiCi0jaW5jbHVkZSAidW51c2VkLXBhcmFt
ZXRlci5oIgorI2luY2x1ZGUgImF0dHJpYnV0ZS5oIgogCiAjaWZuZGVmIExJTkVfTUFYCiAjIGRl
ZmluZSBMSU5FX01BWCAyMDQ4CkBAIC02MzQsNyArNjM0LDcgQEAgc2lncXVpdCAoaW50IHNpZ25v
KQogCiAKIHN0YXRpYyB2b2lkCi1sb3N0Y29ubiAoaW50IHNpZ25vIF9HTF9VTlVTRURfUEFSQU1F
VEVSKQorbG9zdGNvbm4gKGludCBzaWdubyBNQVlCRV9VTlVTRUQpCiB7CiAgIGlmIChkZWJ1ZykK
ICAgICBzeXNsb2cgKExPR19ERUJVRywgImxvc3QgY29ubmVjdGlvbiIpOwpAQCAtMTkxOSw3ICsx
OTE5LDcgQEAgZG9sb2dvdXQgKGludCBzdGF0dXMpCiB9CiAKIHN0YXRpYyB2b2lkCi1teW9vYiAo
aW50IHNpZ25vIF9HTF9VTlVTRURfUEFSQU1FVEVSKQorbXlvb2IgKGludCBzaWdubyBNQVlCRV9V
TlVTRUQpCiB7CiAgIGNoYXIgKmNwOwogCmRpZmYgLS1naXQgYS9mdHBkL3BhbS5jIGIvZnRwZC9w
YW0uYwppbmRleCBlMTA3NWQ2Li44YzdhMzYxIDEwMDY0NAotLS0gYS9mdHBkL3BhbS5jCisrKyBi
L2Z0cGQvcGFtLmMKQEAgLTI1LDcgKzI1LDcgQEAKICNpbmNsdWRlIDxzdGRsaWIuaD4KICNpbmNs
dWRlIDx1bmlzdGQuaD4KICNpbmNsdWRlIDxzeXNsb2cuaD4KLSNpbmNsdWRlIDx1bnVzZWQtcGFy
YW1ldGVyLmg+CisjaW5jbHVkZSA8YXR0cmlidXRlLmg+CiAjaW5jbHVkZSAiZXh0ZXJuLmgiCiAK
ICNpZmRlZiBIQVZFX1NFQ1VSSVRZX1BBTV9BUFBMX0gKQEAgLTMxNCw3ICszMTQsNyBAQCBwYW1f
cGFzcyAoY29uc3QgY2hhciAqcGFzc3dkLCBzdHJ1Y3QgY3JlZGVudGlhbHMgKnBjcmVkKQogfQog
CiB2b2lkCi1wYW1fZW5kX2xvZ2luIChzdHJ1Y3QgY3JlZGVudGlhbHMgKiBwY3JlZCBfR0xfVU5V
U0VEX1BBUkFNRVRFUikKK3BhbV9lbmRfbG9naW4gKHN0cnVjdCBjcmVkZW50aWFscyAqIHBjcmVk
IE1BWUJFX1VOVVNFRCkKIHsKICAgaW50IGVycm9yOwogCmRpZmYgLS1naXQgYS9mdHBkL3NlcnZl
cl9tb2RlLmMgYi9mdHBkL3NlcnZlcl9tb2RlLmMKaW5kZXggZjlkZmU4Zi4uZGJjZWM1OSAxMDA2
NDQKLS0tIGEvZnRwZC9zZXJ2ZXJfbW9kZS5jCisrKyBiL2Z0cGQvc2VydmVyX21vZGUuYwpAQCAt
MzksNyArMzksNyBAQAogI2VuZGlmCiAKICNpbmNsdWRlIDxsaWJpbmV0dXRpbHMuaD4KLSNpbmNs
dWRlICJ1bnVzZWQtcGFyYW1ldGVyLmgiCisjaW5jbHVkZSAiYXR0cmlidXRlLmgiCiAKIGludCB1
c2VmYW1pbHkgPSBBRl9VTlNQRUM7CS8qIEFkZHJlc3MgZmFtaWx5IGZvciBkYWVtb24uICAqLwog
CkBAIC05Nyw3ICs5Nyw3IEBAIGNoZWNrX2hvc3QgKHN0cnVjdCBzb2NrYWRkciAqc2EsIHNvY2ts
ZW5fdCBsZW4pCiAjZW5kaWYgLyogV0lUSF9XUkFQICovCiAKIHN0YXRpYyB2b2lkCi1yZWFwY2hp
bGQgKGludCBzaWdubyBfR0xfVU5VU0VEX1BBUkFNRVRFUikKK3JlYXBjaGlsZCAoaW50IHNpZ25v
IE1BWUJFX1VOVVNFRCkKIHsKICAgaW50IHNhdmVfZXJybm8gPSBlcnJubzsKIApkaWZmIC0tZ2l0
IGEvaWZjb25maWcvb3B0aW9ucy5jIGIvaWZjb25maWcvb3B0aW9ucy5jCmluZGV4IDEwYmY0YmUu
LmM2NzIxYmEgMTAwNjQ0Ci0tLSBhL2lmY29uZmlnL29wdGlvbnMuYworKysgYi9pZmNvbmZpZy9v
cHRpb25zLmMKQEAgLTM5LDcgKzM5LDcgQEAKICNpbmNsdWRlIDxzeXMvc29ja2V0Lmg+CiAjaW5j
bHVkZSA8bmV0L2lmLmg+CiAKLSNpbmNsdWRlIDx1bnVzZWQtcGFyYW1ldGVyLmg+CisjaW5jbHVk
ZSA8YXR0cmlidXRlLmg+CiAKICNpbmNsdWRlICJpZmNvbmZpZy5oIgogCkBAIC0zODAsNyArMzgw
LDcgQEAgdm9pZCBwYXJzZV9vcHRfc2V0X2FmIChzdHJ1Y3QgaWZjb25maWcgKmlmcCwgY2hhciAq
YWYpCiB9CiAKIHZvaWQKLXBhcnNlX29wdF9zZXRfZmxhZyAoc3RydWN0IGlmY29uZmlnICppZnAg
X0dMX1VOVVNFRF9QQVJBTUVURVIsCitwYXJzZV9vcHRfc2V0X2ZsYWcgKHN0cnVjdCBpZmNvbmZp
ZyAqaWZwIE1BWUJFX1VOVVNFRCwKIAkJICAgIGludCBmbGFnLCBpbnQgcmV2KQogewogICBpZiAo
aWZwKQpAQCAtNjE0LDcgKzYxNCw3IEBAIHBhcnNlX29wdCAoaW50IGtleSwgY2hhciAqYXJnLCBz
dHJ1Y3QgYXJncF9zdGF0ZSAqc3RhdGUpCiAKIHN0YXRpYyBjaGFyICoKIGRlZmF1bHRfaGVscF9m
aWx0ZXIgKGludCBrZXksIGNvbnN0IGNoYXIgKnRleHQsCi0JCSAgICAgdm9pZCAqaW5wdXQgX0dM
X1VOVVNFRF9QQVJBTUVURVIpCisJCSAgICAgdm9pZCAqaW5wdXQgTUFZQkVfVU5VU0VEKQogewog
ICBjaGFyICpzOwogCmRpZmYgLS1naXQgYS9pZmNvbmZpZy9wcmludGlmLmMgYi9pZmNvbmZpZy9w
cmludGlmLmMKaW5kZXggNjBjMjZlYS4uMTc2NjdhOCAxMDA2NDQKLS0tIGEvaWZjb25maWcvcHJp
bnRpZi5jCisrKyBiL2lmY29uZmlnL3ByaW50aWYuYwpAQCAtNDgsNyArNDgsNyBAQAogI2luY2x1
ZGUgPGFycGEvaW5ldC5oPgogI2luY2x1ZGUgImlmY29uZmlnLmgiCiAjaW5jbHVkZSAieGFsbG9j
LmgiCi0jaW5jbHVkZSA8dW51c2VkLXBhcmFtZXRlci5oPgorI2luY2x1ZGUgPGF0dHJpYnV0ZS5o
PgogCiBGSUxFICpvc3RyZWFtOwkJCS8qIEVpdGhlciBzdGRvdXQgb3Igc3RkZXJyb3IuICAqLwog
aW50IGNvbHVtbl9zdGRvdXQ7CQkvKiBUaGUgY29sdW1uIHBvc2l0aW9uIG9mIHRoZSBjdXJzb3Ig
b24gc3Rkb3V0LiAgKi8KQEAgLTEyMCw3ICsxMjAsNyBAQCBzdHJ1Y3QgZm9ybWF0X2hhbmRsZSBm
b3JtYXRfaGFuZGxlc1tdID0gewogLyogVmFyaW91cyBoZWxwZXIgZnVuY3Rpb25zIHRvIGdldCB0
aGUgam9iIGRvbmUuICAqLwogCiB2b2lkCi1wdXRfY2hhciAoZm9ybWF0X2RhdGFfdCBmb3JtIF9H
TF9VTlVTRURfUEFSQU1FVEVSLCBjaGFyIGMpCitwdXRfY2hhciAoZm9ybWF0X2RhdGFfdCBmb3Jt
IE1BWUJFX1VOVVNFRCwgY2hhciBjKQogewogICBzd2l0Y2ggKGMpCiAgICAgewpAQCAtMTQ4LDcg
KzE0OCw3IEBAIHB1dF9zdHJpbmcgKGZvcm1hdF9kYXRhX3QgZm9ybSwgY29uc3QgY2hhciAqcykK
IH0KIAogdm9pZAotcHV0X2ludCAoZm9ybWF0X2RhdGFfdCBmb3JtIF9HTF9VTlVTRURfUEFSQU1F
VEVSLAorcHV0X2ludCAoZm9ybWF0X2RhdGFfdCBmb3JtIE1BWUJFX1VOVVNFRCwKIAkgaW50IGFy
Z2MsIGNoYXIgKmFyZ3ZbXSwgaW50IG5yKQogewogICBjaGFyICpmbXQ7CkBAIC0yMDUsNyArMjA1
LDcgQEAgcHV0X2ludCAoZm9ybWF0X2RhdGFfdCBmb3JtIF9HTF9VTlVTRURfUEFSQU1FVEVSLAog
fQogCiB2b2lkCi1wdXRfdWxvbmcgKGZvcm1hdF9kYXRhX3QgZm9ybSBfR0xfVU5VU0VEX1BBUkFN
RVRFUiwKK3B1dF91bG9uZyAoZm9ybWF0X2RhdGFfdCBmb3JtIE1BWUJFX1VOVVNFRCwKIAkgICBp
bnQgYXJnYywgY2hhciAqYXJndltdLCB1bnNpZ25lZCBsb25nIHZhbHVlKQogewogICBjaGFyICpm
bXQ7CkBAIC0zNDYsOCArMzQ2LDggQEAgcHV0X2ZsYWdzIChmb3JtYXRfZGF0YV90IGZvcm0sIGlu
dCBhcmdjLCBjaGFyICphcmd2W10sIGludCBmbGFncykKIH0KIAogdm9pZAotcHV0X2ZsYWdzX3No
b3J0IChmb3JtYXRfZGF0YV90IGZvcm0sIGludCBhcmdjIF9HTF9VTlVTRURfUEFSQU1FVEVSLAot
CQkgY2hhciAqYXJndltdIF9HTF9VTlVTRURfUEFSQU1FVEVSLCBpbnQgZmxhZ3MpCitwdXRfZmxh
Z3Nfc2hvcnQgKGZvcm1hdF9kYXRhX3QgZm9ybSwgaW50IGFyZ2MgTUFZQkVfVU5VU0VELAorCQkg
Y2hhciAqYXJndltdIE1BWUJFX1VOVVNFRCwgaW50IGZsYWdzKQogewogICBjaGFyIGJ1ZltJRl9G
T1JNQVRfRkxBR1NfQlVGU0laRV07CiAgIGlmX2Zvcm1hdF9mbGFncyAoZmxhZ3MsIGJ1Ziwgc2l6
ZW9mIGJ1Zik7CkBAIC0zNzgsOSArMzc4LDkgQEAgZm9ybWF0X2hhbmRsZXIgKGNvbnN0IGNoYXIg
Km5hbWUsIGZvcm1hdF9kYXRhX3QgZm9ybSwgaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKIH0KIAog
dm9pZAotZmhfbm90aGluZyAoZm9ybWF0X2RhdGFfdCBmb3JtIF9HTF9VTlVTRURfUEFSQU1FVEVS
LAotCSAgICBpbnQgYXJnYyBfR0xfVU5VU0VEX1BBUkFNRVRFUiwKLQkgICAgY2hhciAqYXJndltd
IF9HTF9VTlVTRURfUEFSQU1FVEVSKQorZmhfbm90aGluZyAoZm9ybWF0X2RhdGFfdCBmb3JtIE1B
WUJFX1VOVVNFRCwKKwkgICAgaW50IGFyZ2MgTUFZQkVfVU5VU0VELAorCSAgICBjaGFyICphcmd2
W10gTUFZQkVfVU5VU0VEKQogewogfQogCkBAIC00MzksMTUgKzQzOSwxNSBAQCBmaF9mb3JlYWNo
Zm9ybWF0IChmb3JtYXRfZGF0YV90IGZvcm0sIGludCBhcmdjLCBjaGFyICphcmd2W10pCiB9CiAK
IHZvaWQKLWZoX25ld2xpbmUgKGZvcm1hdF9kYXRhX3QgZm9ybSwgaW50IGFyZ2MgX0dMX1VOVVNF
RF9QQVJBTUVURVIsCi0JICAgIGNoYXIgKmFyZ3ZbXSBfR0xfVU5VU0VEX1BBUkFNRVRFUikKK2Zo
X25ld2xpbmUgKGZvcm1hdF9kYXRhX3QgZm9ybSwgaW50IGFyZ2MgTUFZQkVfVU5VU0VELAorCSAg
ICBjaGFyICphcmd2W10gTUFZQkVfVU5VU0VEKQogewogICBwdXRfY2hhciAoZm9ybSwgJ1xuJyk7
CiB9CiAKIHZvaWQKLWZoX3RhYnVsYXRvciAoZm9ybWF0X2RhdGFfdCBmb3JtLCBpbnQgYXJnYyBf
R0xfVU5VU0VEX1BBUkFNRVRFUiwKLQkgICAgICBjaGFyICphcmd2W10gX0dMX1VOVVNFRF9QQVJB
TUVURVIpCitmaF90YWJ1bGF0b3IgKGZvcm1hdF9kYXRhX3QgZm9ybSwgaW50IGFyZ2MgTUFZQkVf
VU5VU0VELAorCSAgICAgIGNoYXIgKmFyZ3ZbXSBNQVlCRV9VTlVTRUQpCiB7CiAgIHB1dF9jaGFy
IChmb3JtLCAnXHQnKTsKIH0KQEAgLTYxNCwxNCArNjE0LDE0IEBAIGZoX2Vycm9yIChmb3JtYXRf
ZGF0YV90IGZvcm0sIGludCBhcmdjLCBjaGFyICphcmd2W10pCiB9CiAKIHZvaWQKLWZoX3Byb2du
YW1lIChmb3JtYXRfZGF0YV90IGZvcm0sIGludCBhcmdjIF9HTF9VTlVTRURfUEFSQU1FVEVSLAot
CSAgICAgY2hhciAqYXJndltdIF9HTF9VTlVTRURfUEFSQU1FVEVSKQorZmhfcHJvZ25hbWUgKGZv
cm1hdF9kYXRhX3QgZm9ybSwgaW50IGFyZ2MgTUFZQkVfVU5VU0VELAorCSAgICAgY2hhciAqYXJn
dltdIE1BWUJFX1VOVVNFRCkKIHsKICAgcHV0X3N0cmluZyAoZm9ybSwgcHJvZ3JhbV9uYW1lKTsK
IH0KIAogdm9pZAotZmhfZXhpdCAoZm9ybWF0X2RhdGFfdCBmb3JtIF9HTF9VTlVTRURfUEFSQU1F
VEVSLAorZmhfZXhpdCAoZm9ybWF0X2RhdGFfdCBmb3JtIE1BWUJFX1VOVVNFRCwKIAkgaW50IGFy
Z2MsIGNoYXIgKmFyZ3ZbXSkKIHsKICAgaW50IGVyciA9IDA7CkBAIC02MzMsOCArNjMzLDggQEAg
ZmhfZXhpdCAoZm9ybWF0X2RhdGFfdCBmb3JtIF9HTF9VTlVTRURfUEFSQU1FVEVSLAogfQogCiB2
b2lkCi1maF9uYW1lIChmb3JtYXRfZGF0YV90IGZvcm0sIGludCBhcmdjIF9HTF9VTlVTRURfUEFS
QU1FVEVSLAotCSBjaGFyICphcmd2W10gX0dMX1VOVVNFRF9QQVJBTUVURVIpCitmaF9uYW1lIChm
b3JtYXRfZGF0YV90IGZvcm0sIGludCBhcmdjIE1BWUJFX1VOVVNFRCwKKwkgY2hhciAqYXJndltd
IE1BWUJFX1VOVVNFRCkKIHsKICAgcHV0X3N0cmluZyAoZm9ybSwgZm9ybS0+bmFtZSk7CiB9CkBA
IC02NDYsOCArNjQ2LDggQEAgZmhfaW5kZXhfcXVlcnkgKGZvcm1hdF9kYXRhX3QgZm9ybSwgaW50
IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKIH0KIAogdm9pZAotZmhfaW5kZXggKGZvcm1hdF9kYXRhX3Qg
Zm9ybSwgaW50IGFyZ2MgX0dMX1VOVVNFRF9QQVJBTUVURVIsCi0JICBjaGFyICphcmd2W10gX0dM
X1VOVVNFRF9QQVJBTUVURVIpCitmaF9pbmRleCAoZm9ybWF0X2RhdGFfdCBmb3JtLCBpbnQgYXJn
YyBNQVlCRV9VTlVTRUQsCisJICBjaGFyICphcmd2W10gTUFZQkVfVU5VU0VEKQogewogICBpbnQg
aW5keCA9IGlmX25hbWV0b2luZGV4IChmb3JtLT5uYW1lKTsKIApAQCAtOTMwLDggKzkzMCw4IEBA
IGZoX21lZGlhX3F1ZXJ5IChmb3JtYXRfZGF0YV90IGZvcm0sIGludCBhcmdjLCBjaGFyICphcmd2
W10pCiB9CiAKIHZvaWQKLWZoX21lZGlhIChmb3JtYXRfZGF0YV90IGZvcm0sIGludCBhcmdjIF9H
TF9VTlVTRURfUEFSQU1FVEVSLAotCSAgY2hhciAqYXJndltdIF9HTF9VTlVTRURfUEFSQU1FVEVS
KQorZmhfbWVkaWEgKGZvcm1hdF9kYXRhX3QgZm9ybSwgaW50IGFyZ2MgTUFZQkVfVU5VU0VELAor
CSAgY2hhciAqYXJndltdIE1BWUJFX1VOVVNFRCkKIHsKICAgLyogTXVzdCBiZSBvdmVycmlkZGVu
IGJ5IGEgc3lzdGVtIGRlcGVuZGVudCBpbXBsZW1lbnRhdGlvbi4gICovCiAgIHB1dF9zdHJpbmcg
KGZvcm0sICIobm90IGtub3duKSIpOwpAQCAtOTQ3LDggKzk0Nyw4IEBAIGZoX3N0YXR1c19xdWVy
eSAoZm9ybWF0X2RhdGFfdCBmb3JtLCBpbnQgYXJnYywgY2hhciAqYXJndltdKQogfQogCiB2b2lk
Ci1maF9zdGF0dXMgKGZvcm1hdF9kYXRhX3QgZm9ybSwgaW50IGFyZ2MgX0dMX1VOVVNFRF9QQVJB
TUVURVIsCi0JICAgY2hhciAqYXJndltdIF9HTF9VTlVTRURfUEFSQU1FVEVSKQorZmhfc3RhdHVz
IChmb3JtYXRfZGF0YV90IGZvcm0sIGludCBhcmdjIE1BWUJFX1VOVVNFRCwKKwkgICBjaGFyICph
cmd2W10gTUFZQkVfVU5VU0VEKQogewogICAvKiBNdXN0IGJlIG92ZXJyaWRkZW4gYnkgYSBzeXN0
ZW0gZGVwZW5kZW50IGltcGxlbWVudGF0aW9uLiAgKi8KICAgcHV0X3N0cmluZyAoZm9ybSwgIihu
b3Qga25vd24pIik7CmRpZmYgLS1naXQgYS9pZmNvbmZpZy9zeXN0ZW0vYnNkLmMgYi9pZmNvbmZp
Zy9zeXN0ZW0vYnNkLmMKaW5kZXggZDY5YTE0YS4uMjFhOTEyOSAxMDA2NDQKLS0tIGEvaWZjb25m
aWcvc3lzdGVtL2JzZC5jCisrKyBiL2lmY29uZmlnL3N5c3RlbS9ic2QuYwpAQCAtMzQsNyArMzQs
NyBAQAogI2luY2x1ZGUgPG5ldGluZXQvaWZfZXRoZXIuaD4KICNpbmNsdWRlIDxpZmFkZHJzLmg+
CiAKLSNpbmNsdWRlIDx1bnVzZWQtcGFyYW1ldGVyLmg+CisjaW5jbHVkZSA8YXR0cmlidXRlLmg+
CiAMCiAKIC8qIE91dHB1dCBmb3JtYXQgc3R1ZmYuICAqLwpAQCAtNTEsOSArNTEsOSBAQCBOQU1F
IFtBRERSIFtEU1RBRERSXV0gW2Jyb2FkY2FzdCBCUkRBRERSXSBbbmV0bWFzayBNQVNLXSAiCiBz
dHJ1Y3QgYXJncF9jaGlsZCBzeXN0ZW1fYXJncF9jaGlsZDsKIAogaW50Ci1zeXN0ZW1fcGFyc2Vf
b3B0IChzdHJ1Y3QgaWZjb25maWcgKippZnAgX0dMX1VOVVNFRF9QQVJBTUVURVIsCi0JCSAgY2hh
ciBvcHRpb24gX0dMX1VOVVNFRF9QQVJBTUVURVIsCi0JCSAgY2hhciAqb3B0YXJnIF9HTF9VTlVT
RURfUEFSQU1FVEVSKQorc3lzdGVtX3BhcnNlX29wdCAoc3RydWN0IGlmY29uZmlnICoqaWZwIE1B
WUJFX1VOVVNFRCwKKwkJICBjaGFyIG9wdGlvbiBNQVlCRV9VTlVTRUQsCisJCSAgY2hhciAqb3B0
YXJnIE1BWUJFX1VOVVNFRCkKIHsKICAgcmV0dXJuIDA7CiB9CkBAIC0xODAsOSArMTgwLDkgQEAg
c3lzdGVtX3BhcnNlX29wdF9yZXN0IChzdHJ1Y3QgaWZjb25maWcgKippZnAsIGludCBhcmdjLCBj
aGFyICphcmd2W10pCiB9CiAKIGludAotc3lzdGVtX2NvbmZpZ3VyZSAoaW50IHNmZCBfR0xfVU5V
U0VEX1BBUkFNRVRFUiwKLQkJICBzdHJ1Y3QgaWZyZXEgKmlmciBfR0xfVU5VU0VEX1BBUkFNRVRF
UiwKLQkJICBzdHJ1Y3Qgc3lzdGVtX2lmY29uZmlnICppZnMgX0dMX1VOVVNFRF9QQVJBTUVURVIp
CitzeXN0ZW1fY29uZmlndXJlIChpbnQgc2ZkIE1BWUJFX1VOVVNFRCwKKwkJICBzdHJ1Y3QgaWZy
ZXEgKmlmciBNQVlCRV9VTlVTRUQsCisJCSAgc3RydWN0IHN5c3RlbV9pZmNvbmZpZyAqaWZzIE1B
WUJFX1VOVVNFRCkKIHsKICAgcmV0dXJuIDA7CiB9CkBAIC0zNzAsOCArMzcwLDggQEAgc3lzdGVt
X2ZoX2h3YWRkcl9xdWVyeSAoZm9ybWF0X2RhdGFfdCBmb3JtLCBpbnQgYXJnYywgY2hhciAqYXJn
dltdKQogfQogCiB2b2lkCi1zeXN0ZW1fZmhfaHdhZGRyIChmb3JtYXRfZGF0YV90IGZvcm0sIGlu
dCBhcmdjIF9HTF9VTlVTRURfUEFSQU1FVEVSLAotCQkgIGNoYXIgKmFyZ3ZbXSBfR0xfVU5VU0VE
X1BBUkFNRVRFUikKK3N5c3RlbV9maF9od2FkZHIgKGZvcm1hdF9kYXRhX3QgZm9ybSwgaW50IGFy
Z2MgTUFZQkVfVU5VU0VELAorCQkgIGNoYXIgKmFyZ3ZbXSBNQVlCRV9VTlVTRUQpCiB7CiAgIEVT
VEFCTElTSF9JRkFERFJTCiAgIGlmICghaWZwKQpAQCAtNDQxLDggKzQ0MSw4IEBAIHN5c3RlbV9m
aF9od3R5cGVfcXVlcnkgKGZvcm1hdF9kYXRhX3QgZm9ybSwgaW50IGFyZ2MsIGNoYXIgKmFyZ3Zb
XSkKIH0KIAogdm9pZAotc3lzdGVtX2ZoX2h3dHlwZSAoZm9ybWF0X2RhdGFfdCBmb3JtLCBpbnQg
YXJnYyBfR0xfVU5VU0VEX1BBUkFNRVRFUiwKLQkJICBjaGFyICphcmd2W10gX0dMX1VOVVNFRF9Q
QVJBTUVURVIpCitzeXN0ZW1fZmhfaHd0eXBlIChmb3JtYXRfZGF0YV90IGZvcm0sIGludCBhcmdj
IE1BWUJFX1VOVVNFRCwKKwkJICBjaGFyICphcmd2W10gTUFZQkVfVU5VU0VEKQogewogICBpbnQg
Zm91bmQgPSAwOwogCkBAIC01MzAsOCArNTMwLDggQEAgc3lzdGVtX2ZoX21lZGlhX3F1ZXJ5IChm
b3JtYXRfZGF0YV90IGZvcm0sIGludCBhcmdjLCBjaGFyICphcmd2W10pCiB9CiAKIHZvaWQKLXN5
c3RlbV9maF9tZWRpYSAoZm9ybWF0X2RhdGFfdCBmb3JtLCBpbnQgYXJnYyBfR0xfVU5VU0VEX1BB
UkFNRVRFUiwKLQkJIGNoYXIgKmFyZ3ZbXSBfR0xfVU5VU0VEX1BBUkFNRVRFUikKK3N5c3RlbV9m
aF9tZWRpYSAoZm9ybWF0X2RhdGFfdCBmb3JtLCBpbnQgYXJnYyBNQVlCRV9VTlVTRUQsCisJCSBj
aGFyICphcmd2W10gTUFZQkVfVU5VU0VEKQogewogI2lmZGVmIFNJT0NHSUZNRURJQQogICBtZW1z
ZXQgKCZpZm0sIDAsIHNpemVvZiAoaWZtKSk7CmRpZmYgLS1naXQgYS9pZmNvbmZpZy9zeXN0ZW0v
Z2VuZXJpYy5jIGIvaWZjb25maWcvc3lzdGVtL2dlbmVyaWMuYwppbmRleCBkNmRiNDJhLi40N2Jk
YjQzIDEwMDY0NAotLS0gYS9pZmNvbmZpZy9zeXN0ZW0vZ2VuZXJpYy5jCisrKyBiL2lmY29uZmln
L3N5c3RlbS9nZW5lcmljLmMKQEAgLTI0LDcgKzI0LDcgQEAKIAogI2luY2x1ZGUgIi4uL2lmY29u
ZmlnLmgiCiAKLSNpbmNsdWRlIDx1bnVzZWQtcGFyYW1ldGVyLmg+CisjaW5jbHVkZSA8YXR0cmli
dXRlLmg+CiAMCiAKIC8qIE91dHB1dCBmb3JtYXQgc3R1ZmYuICAqLwpAQCAtMzksMjUgKzM5LDI1
IEBAIGNvbnN0IGNoYXIgKnN5c3RlbV9oZWxwOwogc3RydWN0IGFyZ3BfY2hpbGQgc3lzdGVtX2Fy
Z3BfY2hpbGQ7CiAKIGludAotc3lzdGVtX3BhcnNlX29wdCAoc3RydWN0IGlmY29uZmlnICoqaWZw
IF9HTF9VTlVTRURfUEFSQU1FVEVSLAotCQkgIGNoYXIgb3B0aW9uIF9HTF9VTlVTRURfUEFSQU1F
VEVSLAotCQkgIGNoYXIgKm9wdGFyZyBfR0xfVU5VU0VEX1BBUkFNRVRFUikKK3N5c3RlbV9wYXJz
ZV9vcHQgKHN0cnVjdCBpZmNvbmZpZyAqKmlmcCBNQVlCRV9VTlVTRUQsCisJCSAgY2hhciBvcHRp
b24gTUFZQkVfVU5VU0VELAorCQkgIGNoYXIgKm9wdGFyZyBNQVlCRV9VTlVTRUQpCiB7CiAgIHJl
dHVybiAwOwogfQogCiBpbnQKLXN5c3RlbV9wYXJzZV9vcHRfcmVzdCAoc3RydWN0IGlmY29uZmln
ICoqaWZwIF9HTF9VTlVTRURfUEFSQU1FVEVSLAotCQkgICAgICAgaW50IGFyZ2MgX0dMX1VOVVNF
RF9QQVJBTUVURVIsCi0JCSAgICAgICBjaGFyICphcmd2W10gX0dMX1VOVVNFRF9QQVJBTUVURVIp
CitzeXN0ZW1fcGFyc2Vfb3B0X3Jlc3QgKHN0cnVjdCBpZmNvbmZpZyAqKmlmcCBNQVlCRV9VTlVT
RUQsCisJCSAgICAgICBpbnQgYXJnYyBNQVlCRV9VTlVTRUQsCisJCSAgICAgICBjaGFyICphcmd2
W10gTUFZQkVfVU5VU0VEKQogewogICByZXR1cm4gMDsKIH0KIAogaW50Ci1zeXN0ZW1fY29uZmln
dXJlIChpbnQgc2ZkIF9HTF9VTlVTRURfUEFSQU1FVEVSLAotCQkgIHN0cnVjdCBpZnJlcSAqaWZy
IF9HTF9VTlVTRURfUEFSQU1FVEVSLAotCQkgIHN0cnVjdCBzeXN0ZW1faWZjb25maWcgKmlmcyBf
R0xfVU5VU0VEX1BBUkFNRVRFUikKK3N5c3RlbV9jb25maWd1cmUgKGludCBzZmQgTUFZQkVfVU5V
U0VELAorCQkgIHN0cnVjdCBpZnJlcSAqaWZyIE1BWUJFX1VOVVNFRCwKKwkJICBzdHJ1Y3Qgc3lz
dGVtX2lmY29uZmlnICppZnMgTUFZQkVfVU5VU0VEKQogewogICByZXR1cm4gMDsKIH0KZGlmZiAt
LWdpdCBhL2lmY29uZmlnL3N5c3RlbS9odXJkLmMgYi9pZmNvbmZpZy9zeXN0ZW0vaHVyZC5jCmlu
ZGV4IDU5MGNiMTMuLmZmODVkNzIgMTAwNjQ0Ci0tLSBhL2lmY29uZmlnL3N5c3RlbS9odXJkLmMK
KysrIGIvaWZjb25maWcvc3lzdGVtL2h1cmQuYwpAQCAtMjcsNyArMjcsNyBAQAogI2luY2x1ZGUg
PG5ldC9pZl9hcnAuaD4KICNpbmNsdWRlICIuLi9pZmNvbmZpZy5oIgogCi0jaW5jbHVkZSA8dW51
c2VkLXBhcmFtZXRlci5oPgorI2luY2x1ZGUgPGF0dHJpYnV0ZS5oPgogDAogCiAvKiBPdXRwdXQg
Zm9ybWF0IHN0dWZmLiAgKi8KQEAgLTQ0LDkgKzQ0LDkgQEAgY29uc3QgY2hhciAqc3lzdGVtX2hl
bHAgPSAiTkFNRSBbQUREUl1cCiBzdHJ1Y3QgYXJncF9jaGlsZCBzeXN0ZW1fYXJncF9jaGlsZDsK
IAogaW50Ci1zeXN0ZW1fcGFyc2Vfb3B0IChzdHJ1Y3QgaWZjb25maWcgKippZnAgX0dMX1VOVVNF
RF9QQVJBTUVURVIsCi0JCSAgY2hhciBvcHRpb24gX0dMX1VOVVNFRF9QQVJBTUVURVIsCi0JCSAg
Y2hhciAqb3B0YXJnIF9HTF9VTlVTRURfUEFSQU1FVEVSKQorc3lzdGVtX3BhcnNlX29wdCAoc3Ry
dWN0IGlmY29uZmlnICoqaWZwIE1BWUJFX1VOVVNFRCwKKwkJICBjaGFyIG9wdGlvbiBNQVlCRV9V
TlVTRUQsCisJCSAgY2hhciAqb3B0YXJnIE1BWUJFX1VOVVNFRCkKIHsKICAgcmV0dXJuIDA7CiB9
CkBAIC0xNTgsOSArMTU4LDkgQEAgc3lzdGVtX3BhcnNlX29wdF9yZXN0IChzdHJ1Y3QgaWZjb25m
aWcgKippZnAsIGludCBhcmdjLCBjaGFyICphcmd2W10pCiB9CiAKIGludAotc3lzdGVtX2NvbmZp
Z3VyZSAoaW50IHNmZCBfR0xfVU5VU0VEX1BBUkFNRVRFUiwKLQkJICBzdHJ1Y3QgaWZyZXEgKmlm
ciBfR0xfVU5VU0VEX1BBUkFNRVRFUiwKLQkJICBzdHJ1Y3Qgc3lzdGVtX2lmY29uZmlnICppZnMg
X0dMX1VOVVNFRF9QQVJBTUVURVIpCitzeXN0ZW1fY29uZmlndXJlIChpbnQgc2ZkIE1BWUJFX1VO
VVNFRCwKKwkJICBzdHJ1Y3QgaWZyZXEgKmlmciBNQVlCRV9VTlVTRUQsCisJCSAgc3RydWN0IHN5
c3RlbV9pZmNvbmZpZyAqaWZzIE1BWUJFX1VOVVNFRCkKIHsKICAgcmV0dXJuIDA7CiB9CkBAIC0x
NjgsNyArMTY4LDcgQEAgc3lzdGVtX2NvbmZpZ3VyZSAoaW50IHNmZCBfR0xfVU5VU0VEX1BBUkFN
RVRFUiwKIHN0cnVjdCBpZl9uYW1laW5kZXgqICgqc3lzdGVtX2lmX25hbWVpbmRleCkgKHZvaWQp
ID0gaWZfbmFtZWluZGV4OwogCiBzdGF0aWMgdm9pZAotcHJpbnRfaHdhZGRyX2V0aGVyIChmb3Jt
YXRfZGF0YV90IGZvcm0gX0dMX1VOVVNFRF9QQVJBTUVURVIsCitwcmludF9od2FkZHJfZXRoZXIg
KGZvcm1hdF9kYXRhX3QgZm9ybSBNQVlCRV9VTlVTRUQsCiAJCSAgICB1bnNpZ25lZCBjaGFyICpk
YXRhKQogewogICAqY29sdW1uICs9IHByaW50ZiAoIiUwMlg6JTAyWDolMDJYOiUwMlg6JTAyWDol
MDJYIiwKQEAgLTIzNiw4ICsyMzYsOCBAQCBzeXN0ZW1fZmhfaHdhZGRyX3F1ZXJ5IChmb3JtYXRf
ZGF0YV90IGZvcm0sIGludCBhcmdjLCBjaGFyICphcmd2W10pCiB9CiAKIHZvaWQKLXN5c3RlbV9m
aF9od2FkZHIgKGZvcm1hdF9kYXRhX3QgZm9ybSwgaW50IGFyZ2MgX0dMX1VOVVNFRF9QQVJBTUVU
RVIsCi0JCSAgY2hhciAqYXJndltdIF9HTF9VTlVTRURfUEFSQU1FVEVSKQorc3lzdGVtX2ZoX2h3
YWRkciAoZm9ybWF0X2RhdGFfdCBmb3JtLCBpbnQgYXJnYyBNQVlCRV9VTlVTRUQsCisJCSAgY2hh
ciAqYXJndltdIE1BWUJFX1VOVVNFRCkKIHsKICNpZmRlZiBTSU9DR0lGSFdBRERSCiAgIGlmIChp
b2N0bCAoZm9ybS0+c2ZkLCBTSU9DR0lGSFdBRERSLCBmb3JtLT5pZnIpIDwgMCkKQEAgLTI3Myw4
ICsyNzMsOCBAQCBzeXN0ZW1fZmhfaHd0eXBlX3F1ZXJ5IChmb3JtYXRfZGF0YV90IGZvcm0sIGlu
dCBhcmdjLCBjaGFyICphcmd2W10pCiB9CiAKIHZvaWQKLXN5c3RlbV9maF9od3R5cGUgKGZvcm1h
dF9kYXRhX3QgZm9ybSwgaW50IGFyZ2MgX0dMX1VOVVNFRF9QQVJBTUVURVIsCi0JCSAgY2hhciAq
YXJndltdIF9HTF9VTlVTRURfUEFSQU1FVEVSKQorc3lzdGVtX2ZoX2h3dHlwZSAoZm9ybWF0X2Rh
dGFfdCBmb3JtLCBpbnQgYXJnYyBNQVlCRV9VTlVTRUQsCisJCSAgY2hhciAqYXJndltdIE1BWUJF
X1VOVVNFRCkKIHsKICNpZmRlZiBTSU9DR0lGSFdBRERSCiAgIGlmIChpb2N0bCAoZm9ybS0+c2Zk
LCBTSU9DR0lGSFdBRERSLCBmb3JtLT5pZnIpIDwgMCkKZGlmZiAtLWdpdCBhL2lmY29uZmlnL3N5
c3RlbS9saW51eC5jIGIvaWZjb25maWcvc3lzdGVtL2xpbnV4LmMKaW5kZXggZTQ1M2I0Ni4uZjFi
YmMwNiAxMDA2NDQKLS0tIGEvaWZjb25maWcvc3lzdGVtL2xpbnV4LmMKKysrIGIvaWZjb25maWcv
c3lzdGVtL2xpbnV4LmMKQEAgLTQ4LDcgKzQ4LDcgQEAKICNlbmRpZgogCiAjaW5jbHVkZSA8cmVh
ZC1maWxlLmg+Ci0jaW5jbHVkZSA8dW51c2VkLXBhcmFtZXRlci5oPgorI2luY2x1ZGUgPGF0dHJp
YnV0ZS5oPgogCiAjaW5jbHVkZSAiLi4vaWZjb25maWcuaCIKIAwKQEAgLTU2LDcgKzU2LDcgQEAK
IC8qIEFSUEhSRCBzdHVmZi4gICovCiAKIHN0YXRpYyB2b2lkCi1wcmludF9od2FkZHJfZXRoZXIg
KGZvcm1hdF9kYXRhX3QgZm9ybSBfR0xfVU5VU0VEX1BBUkFNRVRFUiwKK3ByaW50X2h3YWRkcl9l
dGhlciAoZm9ybWF0X2RhdGFfdCBmb3JtIE1BWUJFX1VOVVNFRCwKIAkJICAgIHVuc2lnbmVkIGNo
YXIgKmRhdGEpCiB7CiAgICpjb2x1bW4gKz0gcHJpbnRmICgiJTAyWDolMDJYOiUwMlg6JTAyWDol
MDJYOiUwMlgiLApAQCAtNjUsNyArNjUsNyBAQCBwcmludF9od2FkZHJfZXRoZXIgKGZvcm1hdF9k
YXRhX3QgZm9ybSBfR0xfVU5VU0VEX1BBUkFNRVRFUiwKIH0KIAogc3RhdGljIHZvaWQKLXByaW50
X2h3YWRkcl9hcmNuZXQgKGZvcm1hdF9kYXRhX3QgZm9ybSBfR0xfVU5VU0VEX1BBUkFNRVRFUiwK
K3ByaW50X2h3YWRkcl9hcmNuZXQgKGZvcm1hdF9kYXRhX3QgZm9ybSBNQVlCRV9VTlVTRUQsCiAJ
CSAgICAgdW5zaWduZWQgY2hhciAqZGF0YSkKIHsKICAgKmNvbHVtbiArPSBwcmludGYgKCIlMDJY
IiwgZGF0YVswXSk7CkBAIC03Myw3ICs3Myw3IEBAIHByaW50X2h3YWRkcl9hcmNuZXQgKGZvcm1h
dF9kYXRhX3QgZm9ybSBfR0xfVU5VU0VEX1BBUkFNRVRFUiwKIH0KIAogc3RhdGljIHZvaWQKLXBy
aW50X2h3YWRkcl9kbGNpIChmb3JtYXRfZGF0YV90IGZvcm0gX0dMX1VOVVNFRF9QQVJBTUVURVIs
CitwcmludF9od2FkZHJfZGxjaSAoZm9ybWF0X2RhdGFfdCBmb3JtIE1BWUJFX1VOVVNFRCwKIAkJ
ICAgdW5zaWduZWQgY2hhciAqZGF0YSkKIHsKICAgKmNvbHVtbiArPSBwcmludGYgKCIlaSIsICoo
KHNob3J0ICopIGRhdGEpKTsKQEAgLTk5LDcgKzk5LDcgQEAgcHJpbnRfaHdhZGRyX2F4MjUgKGZv
cm1hdF9kYXRhX3QgZm9ybSwgdW5zaWduZWQgY2hhciAqZGF0YSkKIH0KIAogc3RhdGljIHZvaWQK
LXByaW50X2h3YWRkcl9pcmRhIChmb3JtYXRfZGF0YV90IGZvcm0gX0dMX1VOVVNFRF9QQVJBTUVU
RVIsCitwcmludF9od2FkZHJfaXJkYSAoZm9ybWF0X2RhdGFfdCBmb3JtIE1BWUJFX1VOVVNFRCwK
IAkJICAgdW5zaWduZWQgY2hhciAqZGF0YSkKIHsKICAgKmNvbHVtbiArPSBwcmludGYgKCIlMDJY
OiUwMlg6JTAyWDolMDJYIiwKQEAgLTEwOCw3ICsxMDgsNyBAQCBwcmludF9od2FkZHJfaXJkYSAo
Zm9ybWF0X2RhdGFfdCBmb3JtIF9HTF9VTlVTRURfUEFSQU1FVEVSLAogfQogCiBzdGF0aWMgdm9p
ZAotcHJpbnRfaHdhZGRyX3Jvc2UgKGZvcm1hdF9kYXRhX3QgZm9ybSBfR0xfVU5VU0VEX1BBUkFN
RVRFUiwKK3ByaW50X2h3YWRkcl9yb3NlIChmb3JtYXRfZGF0YV90IGZvcm0gTUFZQkVfVU5VU0VE
LAogCQkgICB1bnNpZ25lZCBjaGFyICpkYXRhKQogewogICAqY29sdW1uICs9IHByaW50ZiAoIiUw
MlglMDJYJTAyWCUwMlglMDJYIiwKQEAgLTU1Miw4ICs1NTIsOCBAQCBzeXN0ZW1fZmhfaHdhZGRy
X3F1ZXJ5IChmb3JtYXRfZGF0YV90IGZvcm0sIGludCBhcmdjLCBjaGFyICphcmd2W10pCiB9CiAK
IHZvaWQKLXN5c3RlbV9maF9od2FkZHIgKGZvcm1hdF9kYXRhX3QgZm9ybSwgaW50IGFyZ2MgX0dM
X1VOVVNFRF9QQVJBTUVURVIsCi0JCSAgY2hhciAqYXJndltdIF9HTF9VTlVTRURfUEFSQU1FVEVS
KQorc3lzdGVtX2ZoX2h3YWRkciAoZm9ybWF0X2RhdGFfdCBmb3JtLCBpbnQgYXJnYyBNQVlCRV9V
TlVTRUQsCisJCSAgY2hhciAqYXJndltdIE1BWUJFX1VOVVNFRCkKIHsKICNpZmRlZiBTSU9DR0lG
SFdBRERSCiAgIGlmIChpb2N0bCAoZm9ybS0+c2ZkLCBTSU9DR0lGSFdBRERSLCBmb3JtLT5pZnIp
IDwgMCkKQEAgLTU4OSw4ICs1ODksOCBAQCBzeXN0ZW1fZmhfaHd0eXBlX3F1ZXJ5IChmb3JtYXRf
ZGF0YV90IGZvcm0sIGludCBhcmdjLCBjaGFyICphcmd2W10pCiB9CiAKIHZvaWQKLXN5c3RlbV9m
aF9od3R5cGUgKGZvcm1hdF9kYXRhX3QgZm9ybSwgaW50IGFyZ2MgX0dMX1VOVVNFRF9QQVJBTUVU
RVIsCi0JCSAgY2hhciAqYXJndltdIF9HTF9VTlVTRURfUEFSQU1FVEVSKQorc3lzdGVtX2ZoX2h3
dHlwZSAoZm9ybWF0X2RhdGFfdCBmb3JtLCBpbnQgYXJnYyBNQVlCRV9VTlVTRUQsCisJCSAgY2hh
ciAqYXJndltdIE1BWUJFX1VOVVNFRCkKIHsKICNpZmRlZiBTSU9DR0lGSFdBRERSCiAgIGlmIChp
b2N0bCAoZm9ybS0+c2ZkLCBTSU9DR0lGSFdBRERSLCBmb3JtLT5pZnIpIDwgMCkKZGlmZiAtLWdp
dCBhL2lmY29uZmlnL3N5c3RlbS9zb2xhcmlzLmMgYi9pZmNvbmZpZy9zeXN0ZW0vc29sYXJpcy5j
CmluZGV4IGFkMGU5NzAuLmNjY2U0NjQgMTAwNjQ0Ci0tLSBhL2lmY29uZmlnL3N5c3RlbS9zb2xh
cmlzLmMKKysrIGIvaWZjb25maWcvc3lzdGVtL3NvbGFyaXMuYwpAQCAtNDYsNyArNDYsNyBAQAog
I2luY2x1ZGUgPG5ldC9pZl9hcnAuaD4KICNpbmNsdWRlIDxuZXRpbmV0L2lmX2V0aGVyLmg+CiAK
LSNpbmNsdWRlIDx1bnVzZWQtcGFyYW1ldGVyLmg+CisjaW5jbHVkZSA8YXR0cmlidXRlLmg+CiAK
ICNpbmNsdWRlICIuLi9pZmNvbmZpZy5oIgogDApAQCAtNjUsOSArNjUsOSBAQCBOQU1FIFtBRERS
IFtEU1RBRERSXV0gW2Jyb2FkY2FzdCBCUkRBRERSXSBbbmV0bWFzayBNQVNLXSAiCiBzdHJ1Y3Qg
YXJncF9jaGlsZCBzeXN0ZW1fYXJncF9jaGlsZDsKIAogaW50Ci1zeXN0ZW1fcGFyc2Vfb3B0IChz
dHJ1Y3QgaWZjb25maWcgKippZnAgX0dMX1VOVVNFRF9QQVJBTUVURVIsCi0JCSAgY2hhciBvcHRp
b24gX0dMX1VOVVNFRF9QQVJBTUVURVIsCi0JCSAgY2hhciAqb3B0YXJnIF9HTF9VTlVTRURfUEFS
QU1FVEVSKQorc3lzdGVtX3BhcnNlX29wdCAoc3RydWN0IGlmY29uZmlnICoqaWZwIE1BWUJFX1VO
VVNFRCwKKwkJICBjaGFyIG9wdGlvbiBNQVlCRV9VTlVTRUQsCisJCSAgY2hhciAqb3B0YXJnIE1B
WUJFX1VOVVNFRCkKIHsKICAgcmV0dXJuIDA7CiB9CmRpZmYgLS1naXQgYS9saWJpbmV0dXRpbHMv
ZGFlbW9uLmMgYi9saWJpbmV0dXRpbHMvZGFlbW9uLmMKaW5kZXggZDhmZTc1Yi4uNGY1YTFkYSAx
MDA2NDQKLS0tIGEvbGliaW5ldHV0aWxzL2RhZW1vbi5jCisrKyBiL2xpYmluZXR1dGlscy9kYWVt
b24uYwpAQCAtNTUsNyArNTUsNyBAQAogI2luY2x1ZGUgPHN0ZGxpYi5oPgogI2luY2x1ZGUgPHN5
cy90eXBlcy5oPgogI2luY2x1ZGUgPHN5cy93YWl0Lmg+Ci0jaW5jbHVkZSA8dW51c2VkLXBhcmFt
ZXRlci5oPgorI2luY2x1ZGUgPGF0dHJpYnV0ZS5oPgogCiAvKgogICBBY2NvcmRpbmcgdG8gVW5p
eC1GQVEgbWFpbnRhaW5lZCBieSBBbmRyZXcgR2llcnRoOgpAQCAtMTA0LDcgKzEwNCw3IEBACiAj
ZGVmaW5lIE1BWEZEIDY0CiAKIHZvaWQKLXdhaXRkYWVtb25fdGltZW91dCAoaW50IHNpZ25vIF9H
TF9VTlVTRURfUEFSQU1FVEVSKQord2FpdGRhZW1vbl90aW1lb3V0IChpbnQgc2lnbm8gTUFZQkVf
VU5VU0VEKQogewogICBpbnQgbGVmdDsKIApkaWZmIC0tZ2l0IGEvbGlidGVsbmV0L2F1dGguYyBi
L2xpYnRlbG5ldC9hdXRoLmMKaW5kZXggMzEwZDMwZC4uZWI0YWUyMyAxMDA2NDQKLS0tIGEvbGli
dGVsbmV0L2F1dGguYworKysgYi9saWJ0ZWxuZXQvYXV0aC5jCkBAIC03MCw3ICs3MCw3IEBACiAK
ICNpbmNsdWRlIDxjb25maWcuaD4KIAotI2luY2x1ZGUgInVudXNlZC1wYXJhbWV0ZXIuaCIKKyNp
bmNsdWRlICJhdHRyaWJ1dGUuaCIKIAogI2lmIGRlZmluZWQgQVVUSEVOVElDQVRJT04KICMgaW5j
bHVkZSA8c3RkaW8uaD4KQEAgLTY2NSw3ICs2NjUsNyBAQCBhdXRoX2ZpbmlzaGVkIChUTl9BdXRo
ZW50aWNhdG9yICogYXAsIGludCByZXN1bHQpCiB9CiAKIHN0YXRpYyB2b2lkCi1hdXRoX2ludHIg
KGludCBzaWcgX0dMX1VOVVNFRF9QQVJBTUVURVIpCithdXRoX2ludHIgKGludCBzaWcgTUFZQkVf
VU5VU0VEKQogewogICBhdXRoX2ZpbmlzaGVkICgwLCBBVVRIX1JFSkVDVCk7CiB9CmRpZmYgLS1n
aXQgYS9saWJ0ZWxuZXQvZW5jcnlwdC5jIGIvbGlidGVsbmV0L2VuY3J5cHQuYwppbmRleCBmZGVm
NDNlLi40OTczYjAwIDEwMDY0NAotLS0gYS9saWJ0ZWxuZXQvZW5jcnlwdC5jCisrKyBiL2xpYnRl
bG5ldC9lbmNyeXB0LmMKQEAgLTgyLDcgKzgyLDcgQEAKICMgaW5jbHVkZSA8c3RyaW5nLmg+CiAK
ICMgaW5jbHVkZSA8c3RkaW8uaD4KLSMgaW5jbHVkZSA8dW51c2VkLXBhcmFtZXRlci5oPgorIyBp
bmNsdWRlIDxhdHRyaWJ1dGUuaD4KICMgaW5jbHVkZSAiZ2VuZ2V0LmgiCiAKIC8qIFN0cmluZyBy
ZXByZXNlbnRhdGlvbiBvZiBvdXIgY2FwYWJpbGl0aWVzLgpAQCAtNjY5LDggKzY2OSw4IEBAIGVu
Y3J5cHRfcmVwbHkgKHVuc2lnbmVkIGNoYXIgKmRhdGEsIGludCBjbnQpCiAgKiBDYWxsZWQgd2hl
biBhIEVOQ1JZUFQgU1RBUlQgY29tbWFuZCBpcyByZWNlaXZlZC4KICAqLwogdm9pZAotZW5jcnlw
dF9zdGFydCAodW5zaWduZWQgY2hhciAqZGF0YSBfR0xfVU5VU0VEX1BBUkFNRVRFUiwKLQkgICAg
ICAgaW50IGNudCBfR0xfVU5VU0VEX1BBUkFNRVRFUikKK2VuY3J5cHRfc3RhcnQgKHVuc2lnbmVk
IGNoYXIgKmRhdGEgTUFZQkVfVU5VU0VELAorCSAgICAgICBpbnQgY250IE1BWUJFX1VOVVNFRCkK
IHsKICAgRW5jcnlwdGlvbnMgKmVwOwogCkBAIC03NTIsOCArNzUyLDggQEAgZW5jcnlwdF9yZXF1
ZXN0X2VuZCAodm9pZCkKICAqIGNhbi4KICAqLwogdm9pZAotZW5jcnlwdF9yZXF1ZXN0X3N0YXJ0
ICh1bnNpZ25lZCBjaGFyICpkYXRhIF9HTF9VTlVTRURfUEFSQU1FVEVSLAotCQkgICAgICAgaW50
IGNudCBfR0xfVU5VU0VEX1BBUkFNRVRFUikKK2VuY3J5cHRfcmVxdWVzdF9zdGFydCAodW5zaWdu
ZWQgY2hhciAqZGF0YSBNQVlCRV9VTlVTRUQsCisJCSAgICAgICBpbnQgY250IE1BWUJFX1VOVVNF
RCkKIHsKICAgaWYgKGVuY3J5cHRfbW9kZSA9PSAwKQogICAgIHsKZGlmZiAtLWdpdCBhL2xpYnRl
bG5ldC9rZXJiZXJvczUuYyBiL2xpYnRlbG5ldC9rZXJiZXJvczUuYwppbmRleCAxOWU0ZmI1Li43
N2Q0MDIzIDEwMDY0NAotLS0gYS9saWJ0ZWxuZXQva2VyYmVyb3M1LmMKKysrIGIvbGlidGVsbmV0
L2tlcmJlcm9zNS5jCkBAIC0zNyw3ICszNyw3IEBACiAjIGluY2x1ZGUgPGN0eXBlLmg+CiAjIGlu
Y2x1ZGUgPHN5c2xvZy5oPgogIyBpbmNsdWRlIDxzdHJpbmcuaD4KLSMgaW5jbHVkZSA8dW51c2Vk
LXBhcmFtZXRlci5oPgorIyBpbmNsdWRlIDxhdHRyaWJ1dGUuaD4KIAogIyBpbmNsdWRlICJhdXRo
LmgiCiAjIGluY2x1ZGUgIm1pc2MuaCIKQEAgLTEyMSw3ICsxMjEsNyBAQCBEYXRhIChUTl9BdXRo
ZW50aWNhdG9yICogYXAsIGludCB0eXBlLCBrcmI1X3BvaW50ZXIgZCwgaW50IGMpCiAKIC8qIEZJ
WE1FOiBSZXZlcnNlIHJldHVybiBjb2RlISAqLwogaW50Ci1rZXJiZXJvczVfaW5pdCAoVE5fQXV0
aGVudGljYXRvciAqIGFwIF9HTF9VTlVTRURfUEFSQU1FVEVSLCBpbnQgc2VydmVyKQora2VyYmVy
b3M1X2luaXQgKFROX0F1dGhlbnRpY2F0b3IgKiBhcCBNQVlCRV9VTlVTRUQsIGludCBzZXJ2ZXIp
CiB7CiAgIHN0cl9kYXRhWzNdID0gc2VydmVyID8gVEVMUVVBTF9SRVBMWSA6IFRFTFFVQUxfSVM7
CiAgIGlmICh0ZWxuZXRfY29udGV4dCA9PSAwICYmIGtyYjVfaW5pdF9jb250ZXh0ICgmdGVsbmV0
X2NvbnRleHQpKQpAQCAtNDI4LDcgKzQyOCw3IEBAIGtlcmJlcm9zNV9yZXBseSAoVE5fQXV0aGVu
dGljYXRvciAqIGFwLCB1bnNpZ25lZCBjaGFyICpkYXRhLCBpbnQgY250KQogfQogCiBpbnQKLWtl
cmJlcm9zNV9zdGF0dXMgKFROX0F1dGhlbnRpY2F0b3IgKiBhcCBfR0xfVU5VU0VEX1BBUkFNRVRF
UiwKK2tlcmJlcm9zNV9zdGF0dXMgKFROX0F1dGhlbnRpY2F0b3IgKiBhcCBNQVlCRV9VTlVTRUQs
CiAJCSAgY2hhciAqbmFtZSwgc2l6ZV90IGxlbiwgaW50IGxldmVsKQogewogICBpZiAobGV2ZWwg
PCBBVVRIX1VTRVIpCmRpZmYgLS1naXQgYS9saWJ0ZWxuZXQvc2hpc2hpLmMgYi9saWJ0ZWxuZXQv
c2hpc2hpLmMKaW5kZXggZGVhY2I3ZS4uYTZiYWZiYyAxMDA2NDQKLS0tIGEvbGlidGVsbmV0L3No
aXNoaS5jCisrKyBiL2xpYnRlbG5ldC9zaGlzaGkuYwpAQCAtMzMsNyArMzMsNyBAQAogIyBpbmNs
dWRlIDxjdHlwZS5oPgogIyBpbmNsdWRlIDxzeXNsb2cuaD4KICMgaW5jbHVkZSA8c3RyaW5nLmg+
Ci0jIGluY2x1ZGUgPHVudXNlZC1wYXJhbWV0ZXIuaD4KKyMgaW5jbHVkZSA8YXR0cmlidXRlLmg+
CiAKICMgaW5jbHVkZSAiYXV0aC5oIgogIyBpbmNsdWRlICJtaXNjLmgiCkBAIC0xMDIsNyArMTAy
LDcgQEAgU2hpc2hpICpzaGlzaGlfdGVsbmV0ID0gTlVMTDsKIAogLyogRklYTUU6IFJldmVyc2Ug
cmV0dXJuIGNvZGUhICovCiBpbnQKLWtyYjVzaGlzaGlfaW5pdCAoVE5fQXV0aGVudGljYXRvciAq
IGFwIF9HTF9VTlVTRURfUEFSQU1FVEVSLAora3JiNXNoaXNoaV9pbml0IChUTl9BdXRoZW50aWNh
dG9yICogYXAgTUFZQkVfVU5VU0VELAogCQkgaW50IHNlcnZlcikKIHsKICAgaWYgKHNlcnZlcikK
QEAgLTEzNyw3ICsxMzcsNyBAQCBkZWxheWVkX3NoaXNoaV9pbml0ICh2b2lkKQogfQogCiB2b2lk
Ci1rcmI1c2hpc2hpX2NsZWFudXAgKFROX0F1dGhlbnRpY2F0b3IgKiBhcCBfR0xfVU5VU0VEX1BB
UkFNRVRFUikKK2tyYjVzaGlzaGlfY2xlYW51cCAoVE5fQXV0aGVudGljYXRvciAqIGFwIE1BWUJF
X1VOVVNFRCkKIHsKICAgaWYgKHNoaXNoaV9oYW5kbGUgPT0gTlVMTCkKICAgICByZXR1cm47CkBA
IC0zOTYsNyArMzk2LDcgQEAga3JiNXNoaXNoaV9yZXBseSAoVE5fQXV0aGVudGljYXRvciAqIGFw
LCB1bnNpZ25lZCBjaGFyICpkYXRhLCBpbnQgY250KQogfQogCiBpbnQKLWtyYjVzaGlzaGlfc3Rh
dHVzIChUTl9BdXRoZW50aWNhdG9yICogYXAgX0dMX1VOVVNFRF9QQVJBTUVURVIsCitrcmI1c2hp
c2hpX3N0YXR1cyAoVE5fQXV0aGVudGljYXRvciAqIGFwIE1BWUJFX1VOVVNFRCwKIAkJICAgY2hh
ciAqbmFtZSwgc2l6ZV90IGxlbiwgaW50IGxldmVsKQogewogICBpbnQgc3RhdHVzOwpkaWZmIC0t
Z2l0IGEvcGluZy9waW5nLmMgYi9waW5nL3BpbmcuYwppbmRleCAxNDlkZjc0Li40OWVlMmE0IDEw
MDY0NAotLS0gYS9waW5nL3BpbmcuYworKysgYi9waW5nL3BpbmcuYwpAQCAtNDgsNyArNDgsNyBA
QAogI2VuZGlmCiAKICNpbmNsdWRlIDxhcmdwLmg+Ci0jaW5jbHVkZSA8dW51c2VkLXBhcmFtZXRl
ci5oPgorI2luY2x1ZGUgPGF0dHJpYnV0ZS5oPgogI2luY2x1ZGUgPHBpbmcuaD4KICNpbmNsdWRl
ICJwaW5nX2ltcGwuaCIKICNpbmNsdWRlICJsaWJpbmV0dXRpbHMuaCIKQEAgLTM3Nyw3ICszNzcs
NyBAQCBkZWNvZGVfaXBfdGltZXN0YW1wIChjaGFyICphcmcpCiBpbnQgdm9sYXRpbGUgc3RvcCA9
IDA7CiAKIHZvaWQKLXNpZ19pbnQgKGludCBzaWduYWwgX0dMX1VOVVNFRF9QQVJBTUVURVIpCitz
aWdfaW50IChpbnQgc2lnbmFsIE1BWUJFX1VOVVNFRCkKIHsKICAgc3RvcCA9IDE7CiB9CmRpZmYg
LS1naXQgYS9waW5nL3Bpbmc2LmMgYi9waW5nL3Bpbmc2LmMKaW5kZXggZmZhODViMy4uOGQ5NzU0
MSAxMDA2NDQKLS0tIGEvcGluZy9waW5nNi5jCisrKyBiL3BpbmcvcGluZzYuYwpAQCAtNTIsNyAr
NTIsNyBAQAogIyBpbmNsdWRlIDxpZG5hLmg+CiAjZW5kaWYKIAotI2luY2x1ZGUgPHVudXNlZC1w
YXJhbWV0ZXIuaD4KKyNpbmNsdWRlIDxhdHRyaWJ1dGUuaD4KICNpbmNsdWRlIDx4YWxsb2MuaD4K
ICNpbmNsdWRlICJwaW5nNi5oIgogI2luY2x1ZGUgImxpYmluZXR1dGlscy5oIgpAQCAtMzEwLDcg
KzMxMCw3IEBAIG1haW4gKGludCBhcmdjLCBjaGFyICoqYXJndikKIHN0YXRpYyB2b2xhdGlsZSBp
bnQgc3RvcCA9IDA7CiAKIHN0YXRpYyB2b2lkCi1zaWdfaW50IChpbnQgc2lnbmFsIF9HTF9VTlVT
RURfUEFSQU1FVEVSKQorc2lnX2ludCAoaW50IHNpZ25hbCBNQVlCRV9VTlVTRUQpCiB7CiAgIHN0
b3AgPSAxOwogfQpAQCAtNTQ2LDcgKzU0Niw3IEBAIHBpbmdfcmVzZXQgKFBJTkcgKiBwKQogCiBz
dGF0aWMgaW50CiBwcmludF9lY2hvIChpbnQgZHVwZmxhZywgaW50IGhvcHMsIHN0cnVjdCBwaW5n
X3N0YXQgKnBpbmdfc3RhdCwKLQkgICAgc3RydWN0IHNvY2thZGRyX2luNiAqZGVzdCBfR0xfVU5V
U0VEX1BBUkFNRVRFUiwKKwkgICAgc3RydWN0IHNvY2thZGRyX2luNiAqZGVzdCBNQVlCRV9VTlVT
RUQsCiAJICAgIHN0cnVjdCBzb2NrYWRkcl9pbjYgKmZyb20sCiAJICAgIHN0cnVjdCBpY21wNl9o
ZHIgKmljbXA2LCBpbnQgZGF0YWxlbikKIHsKQEAgLTgyMyw3ICs4MjMsNyBAQCBlY2hvX2Zpbmlz
aCAodm9pZCkKIH0KIAogc3RhdGljIFBJTkcgKgotcGluZ19pbml0IChpbnQgdHlwZSBfR0xfVU5V
U0VEX1BBUkFNRVRFUiwgaW50IGlkZW50KQorcGluZ19pbml0IChpbnQgdHlwZSBNQVlCRV9VTlVT
RUQsIGludCBpZGVudCkKIHsKICAgaW50IGZkLCBlcnI7CiAgIGNvbnN0IGludCBvbiA9IDE7CmRp
ZmYgLS1naXQgYS9waW5nL3BpbmdfYWRkcmVzcy5jIGIvcGluZy9waW5nX2FkZHJlc3MuYwppbmRl
eCA3MTYzZGRkLi43ODE3Yzk4IDEwMDY0NAotLS0gYS9waW5nL3BpbmdfYWRkcmVzcy5jCisrKyBi
L3BpbmcvcGluZ19hZGRyZXNzLmMKQEAgLTQxLDcgKzQxLDcgQEAKICNpbmNsdWRlIDxzdGRpby5o
PgogI2luY2x1ZGUgPGN0eXBlLmg+CiAjaW5jbHVkZSA8ZXJybm8uaD4KLSNpbmNsdWRlIDx1bnVz
ZWQtcGFyYW1ldGVyLmg+CisjaW5jbHVkZSA8YXR0cmlidXRlLmg+CiAKICNpbmNsdWRlIDxwaW5n
Lmg+CiAjaW5jbHVkZSA8cGluZ19pbXBsLmg+CkBAIC05MSwxMCArOTEsMTAgQEAgcmVjdl9hZGRy
ZXNzIChpbnQgY29kZSwgdm9pZCAqY2xvc3VyZSwKIH0KIAogdm9pZAotcHJpbnRfYWRkcmVzcyAo
aW50IGR1cGZsYWcsIHZvaWQgKmNsb3N1cmUgX0dMX1VOVVNFRF9QQVJBTUVURVIsCi0JICAgICAg
IHN0cnVjdCBzb2NrYWRkcl9pbiAqZGVzdCBfR0xfVU5VU0VEX1BBUkFNRVRFUiwKK3ByaW50X2Fk
ZHJlc3MgKGludCBkdXBmbGFnLCB2b2lkICpjbG9zdXJlIE1BWUJFX1VOVVNFRCwKKwkgICAgICAg
c3RydWN0IHNvY2thZGRyX2luICpkZXN0IE1BWUJFX1VOVVNFRCwKIAkgICAgICAgc3RydWN0IHNv
Y2thZGRyX2luICpmcm9tLAotCSAgICAgICBzdHJ1Y3QgaXAgKmlwIF9HTF9VTlVTRURfUEFSQU1F
VEVSLAorCSAgICAgICBzdHJ1Y3QgaXAgKmlwIE1BWUJFX1VOVVNFRCwKIAkgICAgICAgaWNtcGhk
cl90ICogaWNtcCwgaW50IGRhdGFsZW4pCiB7CiAgIHN0cnVjdCBpbl9hZGRyIGFkZHI7CmRpZmYg
LS1naXQgYS9waW5nL3BpbmdfY29tbW9uLmMgYi9waW5nL3BpbmdfY29tbW9uLmMKaW5kZXggY2Uw
NzQ1MS4uMmZjYWU5MiAxMDA2NDQKLS0tIGEvcGluZy9waW5nX2NvbW1vbi5jCisrKyBiL3Bpbmcv
cGluZ19jb21tb24uYwpAQCAtMzEsNyArMzEsNyBAQAogI2luY2x1ZGUgPGFycGEvaW5ldC5oPgog
I2luY2x1ZGUgPG5ldGRiLmg+CiAjaW5jbHVkZSA8eGFsbG9jLmg+Ci0jaW5jbHVkZSA8dW51c2Vk
LXBhcmFtZXRlci5oPgorI2luY2x1ZGUgPGF0dHJpYnV0ZS5oPgogCiAjaW5jbHVkZSAicGluZ19j
b21tb24uaCIKIApkaWZmIC0tZ2l0IGEvcGluZy9waW5nX2VjaG8uYyBiL3BpbmcvcGluZ19lY2hv
LmMKaW5kZXggMjk3NjgzMC4uM2FiMTE2ZiAxMDA2NDQKLS0tIGEvcGluZy9waW5nX2VjaG8uYwor
KysgYi9waW5nL3BpbmdfZWNoby5jCkBAIC00MSw3ICs0MSw3IEBACiAjaW5jbHVkZSA8Y3R5cGUu
aD4KICNpbmNsdWRlIDxlcnJuby5oPgogI2luY2x1ZGUgPGxpbWl0cy5oPgotI2luY2x1ZGUgPHVu
dXNlZC1wYXJhbWV0ZXIuaD4KKyNpbmNsdWRlIDxhdHRyaWJ1dGUuaD4KIAogI2luY2x1ZGUgPHBp
bmcuaD4KICNpbmNsdWRlICJwaW5nX2ltcGwuaCIKQEAgLTE3NCw3ICsxNzQsNyBAQCBoYW5kbGVy
IChpbnQgY29kZSwgdm9pZCAqY2xvc3VyZSwKIAogaW50CiBwcmludF9lY2hvIChpbnQgZHVwZmxh
Zywgc3RydWN0IHBpbmdfc3RhdCAqcGluZ19zdGF0LAotCSAgICBzdHJ1Y3Qgc29ja2FkZHJfaW4g
KmRlc3QgX0dMX1VOVVNFRF9QQVJBTUVURVIsCisJICAgIHN0cnVjdCBzb2NrYWRkcl9pbiAqZGVz
dCBNQVlCRV9VTlVTRUQsCiAJICAgIHN0cnVjdCBzb2NrYWRkcl9pbiAqZnJvbSwKIAkgICAgc3Ry
dWN0IGlwICppcCwgaWNtcGhkcl90ICogaWNtcCwgaW50IGRhdGFsZW4pCiB7CkBAIC0zMzksNyAr
MzM5LDcgQEAgcHJpbnRfaXBfaGVhZGVyIChzdHJ1Y3QgaXAgKmlwKQogfQogCiB2b2lkCi1wcmlu
dF9pcF9kYXRhIChpY21waGRyX3QgKiBpY21wLCB2b2lkICpkYXRhIF9HTF9VTlVTRURfUEFSQU1F
VEVSKQorcHJpbnRfaXBfZGF0YSAoaWNtcGhkcl90ICogaWNtcCwgdm9pZCAqZGF0YSBNQVlCRV9V
TlVTRUQpCiB7CiAgIGludCBobGVuOwogICB1bnNpZ25lZCBjaGFyICpjcDsKZGlmZiAtLWdpdCBh
L3BpbmcvcGluZ19yb3V0ZXIuYyBiL3BpbmcvcGluZ19yb3V0ZXIuYwppbmRleCAwYTZkNDhkLi4x
MjVkOGQzIDEwMDY0NAotLS0gYS9waW5nL3Bpbmdfcm91dGVyLmMKKysrIGIvcGluZy9waW5nX3Jv
dXRlci5jCkBAIC00MCwxMyArNDAsMTMgQEAKICNpbmNsdWRlIDxzdGRpby5oPgogI2luY2x1ZGUg
PGN0eXBlLmg+CiAjaW5jbHVkZSA8ZXJybm8uaD4KLSNpbmNsdWRlIDx1bnVzZWQtcGFyYW1ldGVy
Lmg+CisjaW5jbHVkZSA8YXR0cmlidXRlLmg+CiAKICNpbmNsdWRlIDxwaW5nLmg+CiAjaW5jbHVk
ZSA8cGluZ19pbXBsLmg+CiAKIGludAotcGluZ19yb3V0ZXIgKGNoYXIgKmhvc3RuYW1lIF9HTF9V
TlVTRURfUEFSQU1FVEVSKQorcGluZ19yb3V0ZXIgKGNoYXIgKmhvc3RuYW1lIE1BWUJFX1VOVVNF
RCkKIHsKICAgcmV0dXJuIDA7CiB9CmRpZmYgLS1naXQgYS9waW5nL3BpbmdfdGltZXN0YW1wLmMg
Yi9waW5nL3BpbmdfdGltZXN0YW1wLmMKaW5kZXggYjMyYzM2Zi4uMTdmNTFkMSAxMDA2NDQKLS0t
IGEvcGluZy9waW5nX3RpbWVzdGFtcC5jCisrKyBiL3BpbmcvcGluZ190aW1lc3RhbXAuYwpAQCAt
NDAsNyArNDAsNyBAQAogI2luY2x1ZGUgPHN0ZGlvLmg+CiAjaW5jbHVkZSA8Y3R5cGUuaD4KICNp
bmNsdWRlIDxlcnJuby5oPgotI2luY2x1ZGUgPHVudXNlZC1wYXJhbWV0ZXIuaD4KKyNpbmNsdWRl
IDxhdHRyaWJ1dGUuaD4KIAogI2luY2x1ZGUgPHBpbmcuaD4KICNpbmNsdWRlIDxwaW5nX2ltcGwu
aD4KQEAgLTkxLDEwICs5MSwxMCBAQCByZWN2X3RpbWVzdGFtcCAoaW50IGNvZGUsIHZvaWQgKmNs
b3N1cmUsCiAKIAogdm9pZAotcHJpbnRfdGltZXN0YW1wIChpbnQgZHVwZmxhZywgdm9pZCAqY2xv
c3VyZSBfR0xfVU5VU0VEX1BBUkFNRVRFUiwKLQkJIHN0cnVjdCBzb2NrYWRkcl9pbiAqZGVzdCBf
R0xfVU5VU0VEX1BBUkFNRVRFUiwKK3ByaW50X3RpbWVzdGFtcCAoaW50IGR1cGZsYWcsIHZvaWQg
KmNsb3N1cmUgTUFZQkVfVU5VU0VELAorCQkgc3RydWN0IHNvY2thZGRyX2luICpkZXN0IE1BWUJF
X1VOVVNFRCwKIAkJIHN0cnVjdCBzb2NrYWRkcl9pbiAqZnJvbSwKLQkJIHN0cnVjdCBpcCAqaXAg
X0dMX1VOVVNFRF9QQVJBTUVURVIsCisJCSBzdHJ1Y3QgaXAgKmlwIE1BWUJFX1VOVVNFRCwKIAkJ
IGljbXBoZHJfdCAqIGljbXAsIGludCBkYXRhbGVuKQogewogICBjaGFyIHRpbWVzdHJbMTZdOwpk
aWZmIC0tZ2l0IGEvc3JjL2luZXRkLmMgYi9zcmMvaW5ldGQuYwppbmRleCBkM2Q4MjgxLi4wNGQz
MzYxIDEwMDY0NAotLS0gYS9zcmMvaW5ldGQuYworKysgYi9zcmMvaW5ldGQuYwpAQCAtMTM3LDcg
KzEzNyw3IEBACiAjaW5jbHVkZSAibGliaW5ldHV0aWxzLmgiCiAjaW5jbHVkZSAiYXJnY3YuaCIK
ICNpbmNsdWRlICJ2ZXJzaW9uLWV0Yy5oIgotI2luY2x1ZGUgInVudXNlZC1wYXJhbWV0ZXIuaCIK
KyNpbmNsdWRlICJhdHRyaWJ1dGUuaCIKIAogI2lmbmRlZiBFQUlfQUREUkZBTUlMWQogIyBkZWZp
bmUgRUFJX0FERFJGQU1JTFkgMQpAQCAtMjAzLDcgKzIwMyw3IEBAIHN0YXRpYyBzdHJ1Y3QgYXJn
cF9vcHRpb24gYXJncF9vcHRpb25zW10gPSB7CiAKIHN0YXRpYyBlcnJvcl90CiBwYXJzZV9vcHQg
KGludCBrZXksIGNoYXIgKmFyZywKLQkgICBzdHJ1Y3QgYXJncF9zdGF0ZSAqc3RhdGUgX0dMX1VO
VVNFRF9QQVJBTUVURVIpCisJICAgc3RydWN0IGFyZ3Bfc3RhdGUgKnN0YXRlIE1BWUJFX1VOVVNF
RCkKIHsKICAgY2hhciAqcDsKICAgaW50IG51bWJlcjsKQEAgLTQ5MCw3ICs0OTAsNyBAQCBydW5f
c2VydmljZSAoaW50IGN0cmwsIHN0cnVjdCBzZXJ2dGFiICpzZXApCiB9CiAKIHZvaWQKLXJlYXBj
aGlsZCAoaW50IHNpZ25vIF9HTF9VTlVTRURfUEFSQU1FVEVSKQorcmVhcGNoaWxkIChpbnQgc2ln
bm8gTUFZQkVfVU5VU0VEKQogewogICBpbnQgc3RhdHVzOwogICBwaWRfdCBwaWQ7CkBAIC02OTIs
NyArNjkyLDcgQEAgc2VydmVudF9zZXR1cCAoc3RydWN0IHNlcnZ0YWIgKnNlcCkKIH0KIAogdm9p
ZAotcmV0cnkgKGludCBzaWdubyBfR0xfVU5VU0VEX1BBUkFNRVRFUikKK3JldHJ5IChpbnQgc2ln
bm8gTUFZQkVfVU5VU0VEKQogewogICBzdHJ1Y3Qgc2VydnRhYiAqc2VwOwogCkBAIC0xNTI1LDcg
KzE1MjUsNyBAQCBlY2hvX3N0cmVhbSAoaW50IHMsIHN0cnVjdCBzZXJ2dGFiICpzZXApCiAKIC8q
IEVjaG8gc2VydmljZSAtLSBlY2hvIGRhdGEgYmFjayAqLwogdm9pZAotZWNob19kZyAoaW50IHMs
IHN0cnVjdCBzZXJ2dGFiICpzZXAgX0dMX1VOVVNFRF9QQVJBTUVURVIpCitlY2hvX2RnIChpbnQg
cywgc3RydWN0IHNlcnZ0YWIgKnNlcCBNQVlCRV9VTlVTRUQpCiB7CiAgIGNoYXIgYnVmZmVyW0JV
RlNJWkVdOwogICBpbnQgaTsKQEAgLTE1NjMsNyArMTU2Myw3IEBAIGRpc2NhcmRfc3RyZWFtIChp
bnQgcywgc3RydWN0IHNlcnZ0YWIgKnNlcCkKIAogdm9pZAogLyogRGlzY2FyZCBzZXJ2aWNlIC0t
IGlnbm9yZSBkYXRhICovCi1kaXNjYXJkX2RnIChpbnQgcywgc3RydWN0IHNlcnZ0YWIgKnNlcCBf
R0xfVU5VU0VEX1BBUkFNRVRFUikKK2Rpc2NhcmRfZGcgKGludCBzLCBzdHJ1Y3Qgc2VydnRhYiAq
c2VwIE1BWUJFX1VOVVNFRCkKIHsKICAgY2hhciBidWZmZXJbQlVGU0laRV07CiAKQEAgLTE2MjQs
NyArMTYyNCw3IEBAIGNoYXJnZW5fc3RyZWFtIChpbnQgcywgc3RydWN0IHNlcnZ0YWIgKnNlcCkK
IAogLyogQ2hhcmFjdGVyIGdlbmVyYXRvciAqLwogdm9pZAotY2hhcmdlbl9kZyAoaW50IHMsIHN0
cnVjdCBzZXJ2dGFiICpzZXAgX0dMX1VOVVNFRF9QQVJBTUVURVIpCitjaGFyZ2VuX2RnIChpbnQg
cywgc3RydWN0IHNlcnZ0YWIgKnNlcCBNQVlCRV9VTlVTRUQpCiB7CiAjaWZkZWYgSVBWNgogICBz
dHJ1Y3Qgc29ja2FkZHJfc3RvcmFnZSBzYTsKQEAgLTE2ODYsNyArMTY4Niw3IEBAIG1hY2h0aW1l
ICh2b2lkKQogfQogCiB2b2lkCi1tYWNodGltZV9zdHJlYW0gKGludCBzLCBzdHJ1Y3Qgc2VydnRh
YiAqc2VwIF9HTF9VTlVTRURfUEFSQU1FVEVSKQorbWFjaHRpbWVfc3RyZWFtIChpbnQgcywgc3Ry
dWN0IHNlcnZ0YWIgKnNlcCBNQVlCRV9VTlVTRUQpCiB7CiAgIGxvbmcgcmVzdWx0OwogCkBAIC0x
Njk1LDcgKzE2OTUsNyBAQCBtYWNodGltZV9zdHJlYW0gKGludCBzLCBzdHJ1Y3Qgc2VydnRhYiAq
c2VwIF9HTF9VTlVTRURfUEFSQU1FVEVSKQogfQogCiB2b2lkCi1tYWNodGltZV9kZyAoaW50IHMs
IHN0cnVjdCBzZXJ2dGFiICpzZXAgX0dMX1VOVVNFRF9QQVJBTUVURVIpCittYWNodGltZV9kZyAo
aW50IHMsIHN0cnVjdCBzZXJ2dGFiICpzZXAgTUFZQkVfVU5VU0VEKQogewogICBsb25nIHJlc3Vs
dDsKICNpZmRlZiBJUFY2CkBAIC0xNzE2LDcgKzE3MTYsNyBAQCBtYWNodGltZV9kZyAoaW50IHMs
IHN0cnVjdCBzZXJ2dGFiICpzZXAgX0dMX1VOVVNFRF9QQVJBTUVURVIpCiAKIHZvaWQKIC8qIFJl
dHVybiBodW1hbi1yZWFkYWJsZSB0aW1lIG9mIGRheSAqLwotZGF5dGltZV9zdHJlYW0gKGludCBz
LCBzdHJ1Y3Qgc2VydnRhYiAqc2VwIF9HTF9VTlVTRURfUEFSQU1FVEVSKQorZGF5dGltZV9zdHJl
YW0gKGludCBzLCBzdHJ1Y3Qgc2VydnRhYiAqc2VwIE1BWUJFX1VOVVNFRCkKIHsKICAgY2hhciBi
dWZmZXJbMjU2XTsKICAgdGltZV90IGxjbG9jazsKQEAgLTE3MjksNyArMTcyOSw3IEBAIGRheXRp
bWVfc3RyZWFtIChpbnQgcywgc3RydWN0IHNlcnZ0YWIgKnNlcCBfR0xfVU5VU0VEX1BBUkFNRVRF
UikKIAogLyogUmV0dXJuIGh1bWFuLXJlYWRhYmxlIHRpbWUgb2YgZGF5ICovCiB2b2lkCi1kYXl0
aW1lX2RnIChpbnQgcywgc3RydWN0IHNlcnZ0YWIgKnNlcCBfR0xfVU5VU0VEX1BBUkFNRVRFUikK
K2RheXRpbWVfZGcgKGludCBzLCBzdHJ1Y3Qgc2VydnRhYiAqc2VwIE1BWUJFX1VOVVNFRCkKIHsK
ICAgY2hhciBidWZmZXJbMjU2XTsKICAgdGltZV90IGxjbG9jazsKZGlmZiAtLWdpdCBhL3NyYy9s
b2dnZXIuYyBiL3NyYy9sb2dnZXIuYwppbmRleCAxMjI4YTFlLi4yNWI2ZTJiIDEwMDY0NAotLS0g
YS9zcmMvbG9nZ2VyLmMKKysrIGIvc3JjL2xvZ2dlci5jCkBAIC00MSw3ICs0MSw3IEBACiAjaW5j
bHVkZSA8ZXJyb3IuaD4KICNpbmNsdWRlIDx4YWxsb2MuaD4KICNpbmNsdWRlIDxpbnR0b3N0ci5o
PgotI2luY2x1ZGUgPHVudXNlZC1wYXJhbWV0ZXIuaD4KKyNpbmNsdWRlIDxhdHRyaWJ1dGUuaD4K
IAogI2RlZmluZSBTWVNMT0dfTkFNRVMKICNpbmNsdWRlIDxzeXNsb2cuaD4KQEAgLTM3NCw3ICsz
NzQsNyBAQCBzdGF0aWMgc3RydWN0IGFyZ3Bfb3B0aW9uIGFyZ3Bfb3B0aW9uc1tdID0gewogfTsK
IAogc3RhdGljIGVycm9yX3QKLXBhcnNlX29wdCAoaW50IGtleSwgY2hhciAqYXJnLCBzdHJ1Y3Qg
YXJncF9zdGF0ZSAqc3RhdGUgX0dMX1VOVVNFRF9QQVJBTUVURVIpCitwYXJzZV9vcHQgKGludCBr
ZXksIGNoYXIgKmFyZywgc3RydWN0IGFyZ3Bfc3RhdGUgKnN0YXRlIE1BWUJFX1VOVVNFRCkKIHsK
ICAgc3dpdGNoIChrZXkpCiAgICAgewpkaWZmIC0tZ2l0IGEvc3JjL3JjcC5jIGIvc3JjL3JjcC5j
CmluZGV4IDQ3NmNiYWEuLjc0MzkzMGMgMTAwNjQ0Ci0tLSBhL3NyYy9yY3AuYworKysgYi9zcmMv
cmNwLmMKQEAgLTg0LDcgKzg0LDcgQEAKICMgaW5jbHVkZSA8dXRpbWUuaD4JCS8qIElmIHdlIGRv
bid0IGhhdmUgdXRpbWVzKCksIHVzZSB1dGltZSgpLiAqLwogI2VuZGlmCiAjaW5jbHVkZSA8cHJv
Z25hbWUuaD4KLSNpbmNsdWRlIDx1bnVzZWQtcGFyYW1ldGVyLmg+CisjaW5jbHVkZSA8YXR0cmli
dXRlLmg+CiAjaW5jbHVkZSA8bGliaW5ldHV0aWxzLmg+CiAjaW5jbHVkZSA8YXJncC5oPgogI2lu
Y2x1ZGUgPGVycm9yLmg+CkBAIC0yMDIsNyArMjAyLDcgQEAgc3RhdGljIHN0cnVjdCBhcmdwX29w
dGlvbiBvcHRpb25zW10gPSB7CiB9OwogCiBzdGF0aWMgZXJyb3JfdAotcGFyc2Vfb3B0IChpbnQg
a2V5LCBjaGFyICphcmcsIHN0cnVjdCBhcmdwX3N0YXRlICpzdGF0ZSBfR0xfVU5VU0VEX1BBUkFN
RVRFUikKK3BhcnNlX29wdCAoaW50IGtleSwgY2hhciAqYXJnLCBzdHJ1Y3QgYXJncF9zdGF0ZSAq
c3RhdGUgTUFZQkVfVU5VU0VEKQogewogICBzd2l0Y2ggKGtleSkKICAgICB7CkBAIC0xNDg5LDcg
KzE0ODksNyBAQCBhbGxvY2J1ZiAoQlVGICogYnAsIGludCBmZCwgaW50IGJsa3NpemUpCiB9CiAK
IHZvaWQKLWxvc3Rjb25uIChpbnQgc2lnbm8gX0dMX1VOVVNFRF9QQVJBTUVURVIpCitsb3N0Y29u
biAoaW50IHNpZ25vIE1BWUJFX1VOVVNFRCkKIHsKICAgaWYgKCFpYW1yZW1vdGUpCiAgICAgZXJy
b3IgKDAsIDAsICJsb3N0IGNvbm5lY3Rpb24iKTsKZGlmZiAtLWdpdCBhL3NyYy9yZXhlY2QuYyBi
L3NyYy9yZXhlY2QuYwppbmRleCBmM2M1MDkyLi40Nzc3YTZkIDEwMDY0NAotLS0gYS9zcmMvcmV4
ZWNkLmMKKysrIGIvc3JjL3JleGVjZC5jCkBAIC0xMTIsNyArMTEyLDcgQEAKICNpbmNsdWRlIDxw
cm9nbmFtZS5oPgogI2luY2x1ZGUgPGFyZ3AuaD4KICNpbmNsdWRlIDxlcnJvci5oPgotI2luY2x1
ZGUgPHVudXNlZC1wYXJhbWV0ZXIuaD4KKyNpbmNsdWRlIDxhdHRyaWJ1dGUuaD4KICNpbmNsdWRl
ICJsaWJpbmV0dXRpbHMuaCIKIAogdm9pZCBkaWUgKGludCBjb2RlLCBjb25zdCBjaGFyICpmbXQs
IC4uLik7CkBAIC0xMzcsOCArMTM3LDggQEAgc3RhdGljIHN0cnVjdCBhcmdwX29wdGlvbiBvcHRp
b25zW10gPSB7CiB9OwogCiBzdGF0aWMgZXJyb3JfdAotcGFyc2Vfb3B0IChpbnQga2V5LCBjaGFy
ICphcmcgX0dMX1VOVVNFRF9QQVJBTUVURVIsCi0JICAgc3RydWN0IGFyZ3Bfc3RhdGUgKnN0YXRl
IF9HTF9VTlVTRURfUEFSQU1FVEVSKQorcGFyc2Vfb3B0IChpbnQga2V5LCBjaGFyICphcmcgTUFZ
QkVfVU5VU0VELAorCSAgIHN0cnVjdCBhcmdwX3N0YXRlICpzdGF0ZSBNQVlCRV9VTlVTRUQpCiB7
CiAgIHN3aXRjaCAoa2V5KQogICAgIHsKQEAgLTczMCw3ICs3MzAsNyBAQCBnZXRzdHIgKGNvbnN0
IGNoYXIgKmVycikKIHN0YXRpYyBpbnQKIHJleGVjX2NvbnYgKGludCBudW0sIGNvbnN0IHN0cnVj
dCBwYW1fbWVzc2FnZSAqKnBhbV9tc2csCiAJICAgIHN0cnVjdCBwYW1fcmVzcG9uc2UgKipwYW1f
cmVzcCwKLQkgICAgdm9pZCAqZGF0YSBfR0xfVU5VU0VEX1BBUkFNRVRFUikKKwkgICAgdm9pZCAq
ZGF0YSBNQVlCRV9VTlVTRUQpCiB7CiAgIHN0cnVjdCBwYW1fcmVzcG9uc2UgKnJlc3A7CiAKZGlm
ZiAtLWdpdCBhL3NyYy9ybG9naW4uYyBiL3NyYy9ybG9naW4uYwppbmRleCBiZGZjZmE2Li4yYWJi
MmQyIDEwMDY0NAotLS0gYS9zcmMvcmxvZ2luLmMKKysrIGIvc3JjL3Jsb2dpbi5jCkBAIC0xMDMs
NyArMTAzLDcgQEAKIAogI2luY2x1ZGUgPHByb2duYW1lLmg+CiAjaW5jbHVkZSAibGliaW5ldHV0
aWxzLmgiCi0jaW5jbHVkZSAidW51c2VkLXBhcmFtZXRlci5oIgorI2luY2x1ZGUgImF0dHJpYnV0
ZS5oIgogI2luY2x1ZGUgInhhbGxvYy5oIgogCiAjaWZkZWYgS0VSQkVST1MKQEAgLTkyNyw3ICs5
MjcsNyBAQCBpbnQgZG9zaWd3aW5jaDsKICAqIEZJWE1FOiBSYWNlIGNvbmRpdGlvbiBkdWUgdG8g
c2VuZHdpbmRvdygpIGluIHNpZ25hbCBoYW5kbGVyPwogICovCiB2b2lkCi13cml0ZXJvb2IgKGlu
dCBzaWdubyBfR0xfVU5VU0VEX1BBUkFNRVRFUikKK3dyaXRlcm9vYiAoaW50IHNpZ25vIE1BWUJF
X1VOVVNFRCkKIHsKICAgaWYgKGRvc2lnd2luY2ggPT0gMCkKICAgICB7CkBAIC05NDYsNyArOTQ2
LDcgQEAgd3JpdGVyb29iIChpbnQgc2lnbm8gX0dMX1VOVVNFRF9QQVJBTUVURVIpCiAvKiBGSVhN
RTogU3lzdGVtIGRlcGVuZGVudCByYWNlIGNvbmRpdGlvbiBkdWUgdG8gZG9uZSgpLgogICovCiB2
b2lkCi1jYXRjaF9jaGlsZCAoaW50IHNpZ25vIF9HTF9VTlVTRURfUEFSQU1FVEVSKQorY2F0Y2hf
Y2hpbGQgKGludCBzaWdubyBNQVlCRV9VTlVTRUQpCiB7CiAgIGludCBzdGF0dXM7CiAgIHBpZF90
IHBpZDsKQEAgLTExMTMsNyArMTExMyw3IEBAIHN0b3AgKGNoYXIgY21kYykKIH0KIAogdm9pZAot
c2lnd2luY2ggKGludCBzaWdubyBfR0xfVU5VU0VEX1BBUkFNRVRFUikKK3NpZ3dpbmNoIChpbnQg
c2lnbm8gTUFZQkVfVU5VU0VEKQogewogICBzdHJ1Y3Qgd2luc2l6ZSB3czsKIApAQCAtMTE3Miw3
ICsxMTcyLDcgQEAgaW50IHJjdmNudCwgcmN2c3RhdGU7CiBjaGFyIHJjdmJ1Zls4ICogMTAyNF07
CiAKIHZvaWQKLW9vYiAoaW50IHNpZ25vIF9HTF9VTlVTRURfUEFSQU1FVEVSKQorb29iIChpbnQg
c2lnbm8gTUFZQkVfVU5VU0VEKQogewogICBjaGFyIG1hcms7CiAgIHN0cnVjdCB0ZXJtaW9zIHR0
OwpkaWZmIC0tZ2l0IGEvc3JjL3Jsb2dpbmQuYyBiL3NyYy9ybG9naW5kLmMKaW5kZXggMzQ1Yjli
Ni4uM2JlM2I0NSAxMDA2NDQKLS0tIGEvc3JjL3Jsb2dpbmQuYworKysgYi9zcmMvcmxvZ2luZC5j
CkBAIC0xMTcsNyArMTE3LDcgQEAKICNpbmNsdWRlIDxwcm9nbmFtZS5oPgogI2luY2x1ZGUgPGFy
Z3AuaD4KICNpbmNsdWRlIDxsaWJpbmV0dXRpbHMuaD4KLSNpbmNsdWRlICJ1bnVzZWQtcGFyYW1l
dGVyLmgiCisjaW5jbHVkZSAiYXR0cmlidXRlLmgiCiAjaW5jbHVkZSAieGFsbG9jLmgiCiAKIC8q
CkBAIC0zMDksNyArMzA5LDcgQEAgdm9pZCBwcmV2ZW50X3JvdXRpbmcgKGludCBmZCwgc3RydWN0
IGF1dGhfZGF0YSAqYXApOwogI2VuZGlmCiAKIHZvaWQKLXJsb2dpbmRfc2lnY2hsZCAoaW50IHNp
Z25vIF9HTF9VTlVTRURfUEFSQU1FVEVSKQorcmxvZ2luZF9zaWdjaGxkIChpbnQgc2lnbm8gTUFZ
QkVfVU5VU0VEKQogewogICBwaWRfdCBwaWQ7CiAgIGludCBzdGF0dXM7CkBAIC00ODgsNyArNDg4
LDcgQEAgc3RhdGljIHN0cnVjdCBhcmdwX29wdGlvbiBvcHRpb25zW10gPSB7CiAKIHN0YXRpYyBl
cnJvcl90CiBwYXJzZV9vcHQgKGludCBrZXksIGNoYXIgKmFyZywKLQkgICBzdHJ1Y3QgYXJncF9z
dGF0ZSAqc3RhdGUgX0dMX1VOVVNFRF9QQVJBTUVURVIpCisJICAgc3RydWN0IGFyZ3Bfc3RhdGUg
KnN0YXRlIE1BWUJFX1VOVVNFRCkKIHsKICAgc3dpdGNoIChrZXkpCiAgICAgewpAQCAtMjIzMCw3
ICsyMjMwLDcgQEAgZG9fcGFtX2NoZWNrIChpbnQgaW5mZCwgc3RydWN0IGF1dGhfZGF0YSAqYXAs
IGNvbnN0IGNoYXIgKnNlcnZpY2UpCiBzdGF0aWMgaW50CiBybG9naW5fY29udiAoaW50IG51bSwg
Y29uc3Qgc3RydWN0IHBhbV9tZXNzYWdlICoqcGFtX21zZywKIAkgICAgIHN0cnVjdCBwYW1fcmVz
cG9uc2UgKipwYW1fcmVzcCwKLQkgICAgIHZvaWQgKmRhdGEgX0dMX1VOVVNFRF9QQVJBTUVURVIp
CisJICAgICB2b2lkICpkYXRhIE1BWUJFX1VOVVNFRCkKIHsKICAgc3RydWN0IHBhbV9yZXNwb25z
ZSAqcmVzcDsKIApkaWZmIC0tZ2l0IGEvc3JjL3JzaC5jIGIvc3JjL3JzaC5jCmluZGV4IGZhOTdl
MmEuLjc5YmZiYzIgMTAwNjQ0Ci0tLSBhL3NyYy9yc2guYworKysgYi9zcmMvcnNoLmMKQEAgLTc4
LDcgKzc4LDcgQEAKICNpbmNsdWRlIDx4YWxsb2MuaD4KICNpbmNsdWRlIDxhcmdwLmg+CiAjaW5j
bHVkZSA8bGliaW5ldHV0aWxzLmg+Ci0jaW5jbHVkZSA8dW51c2VkLXBhcmFtZXRlci5oPgorI2lu
Y2x1ZGUgPGF0dHJpYnV0ZS5oPgogCiAjaWZkZWYgS1JCNQogIyBpZmRlZiBIQVZFX0tSQjVfSApA
QCAtMTczLDcgKzE3Myw3IEBAIHN0YXRpYyBzdHJ1Y3QgYXJncF9vcHRpb24gb3B0aW9uc1tdID0g
ewogCiBzdGF0aWMgZXJyb3JfdAogcGFyc2Vfb3B0IChpbnQga2V5LCBjaGFyICphcmcsCi0JICAg
c3RydWN0IGFyZ3Bfc3RhdGUgKnN0YXRlIF9HTF9VTlVTRURfUEFSQU1FVEVSKQorCSAgIHN0cnVj
dCBhcmdwX3N0YXRlICpzdGF0ZSBNQVlCRV9VTlVTRUQpCiB7CiAgIHN3aXRjaCAoa2V5KQogICAg
IHsKQEAgLTc4NCw3ICs3ODQsNyBAQCBzZW5kc2lnIChpbnQgc2lnKQogfQogCiB2b2lkCi1zaWdw
aXBlIChpbnQgc2lnIF9HTF9VTlVTRURfUEFSQU1FVEVSKQorc2lncGlwZSAoaW50IHNpZyBNQVlC
RV9VTlVTRUQpCiB7CiAgICsrZW5kX29mX3BpcGU7CiB9CmRpZmYgLS1naXQgYS9zcmMvcnNoZC5j
IGIvc3JjL3JzaGQuYwppbmRleCBmZWQ2ZjM5Li5lODNmYmFiIDEwMDY0NAotLS0gYS9zcmMvcnNo
ZC5jCisrKyBiL3NyYy9yc2hkLmMKQEAgLTE0Niw3ICsxNDYsNyBAQAogI2luY2x1ZGUgPGVycm9y
Lmg+CiAjaW5jbHVkZSA8cHJvZ25hbWUuaD4KICNpbmNsdWRlIDxhcmdwLmg+Ci0jaW5jbHVkZSA8
dW51c2VkLXBhcmFtZXRlci5oPgorI2luY2x1ZGUgPGF0dHJpYnV0ZS5oPgogI2luY2x1ZGUgPGxp
YmluZXR1dGlscy5oPgogI2luY2x1ZGUgInhhbGxvYy5oIgogCkBAIC0yNzEsNyArMjcxLDcgQEAg
ZXh0ZXJuIGludCBpcnVzZXJvayAodWludDMyX3QgcmFkZHIsIGludCBzdXBlcnVzZXIsCiAjZW5k
aWYgLyogV0lUSF9QQU0gKi8KIAogc3RhdGljIGVycm9yX3QKLXBhcnNlX29wdCAoaW50IGtleSwg
Y2hhciAqYXJnLCBzdHJ1Y3QgYXJncF9zdGF0ZSAqc3RhdGUgX0dMX1VOVVNFRF9QQVJBTUVURVIp
CitwYXJzZV9vcHQgKGludCBrZXksIGNoYXIgKmFyZywgc3RydWN0IGFyZ3Bfc3RhdGUgKnN0YXRl
IE1BWUJFX1VOVVNFRCkKIHsKICAgc3dpdGNoIChrZXkpCiAgICAgewpAQCAtMjA5Myw3ICsyMDkz
LDcgQEAgdG9wZG9tYWluIChjb25zdCBjaGFyICpoKQogc3RhdGljIGludAogcnNoX2NvbnYgKGlu
dCBudW0sIGNvbnN0IHN0cnVjdCBwYW1fbWVzc2FnZSAqKnBhbV9tc2csCiAJICAgIHN0cnVjdCBw
YW1fcmVzcG9uc2UgKipwYW1fcmVzcCwKLQkgICAgdm9pZCAqZGF0YSBfR0xfVU5VU0VEX1BBUkFN
RVRFUikKKwkgICAgdm9pZCAqZGF0YSBNQVlCRV9VTlVTRUQpCiB7CiAgIHN0cnVjdCBwYW1fcmVz
cG9uc2UgKnJlc3A7CiAKZGlmZiAtLWdpdCBhL3NyYy9zeXNsb2dkLmMgYi9zcmMvc3lzbG9nZC5j
CmluZGV4IDQ1MjhkN2UuLmZiNzFlNGMgMTAwNjQ0Ci0tLSBhL3NyYy9zeXNsb2dkLmMKKysrIGIv
c3JjL3N5c2xvZ2QuYwpAQCAtMTM3LDcgKzEzNyw3IEBACiAjaW5jbHVkZSA8cHJvZ25hbWUuaD4K
ICNpbmNsdWRlIDxsaWJpbmV0dXRpbHMuaD4KICNpbmNsdWRlIDxyZWFkdXRtcC5oPgkJLyogTWF5
IGRlZmluZSBVVE1QX05BTUVfRlVOQ1RJT04uICAqLwotI2luY2x1ZGUgInVudXNlZC1wYXJhbWV0
ZXIuaCIKKyNpbmNsdWRlICJhdHRyaWJ1dGUuaCIKICNpbmNsdWRlICJ4YWxsb2MuaCIKIAogLyog
QSBtYXNrIG9mIGFsbCBmYWNpbGl0aWVzIG1lbnRpb25lZCBleHBsaWNpdGx5IGluIHRoZSBjb25m
aWd1cmF0aW9uIGZpbGUKQEAgLTE3NDQsNyArMTc0NCw3IEBAIGN2dGhuYW1lIChzdHJ1Y3Qgc29j
a2FkZHIgKmYsIHNvY2tsZW5fdCBsZW4pCiB9CiAKIHZvaWQKLWRvbWFyayAoaW50IHNpZ25vIF9H
TF9VTlVTRURfUEFSQU1FVEVSKQorZG9tYXJrIChpbnQgc2lnbm8gTUFZQkVfVU5VU0VEKQogewog
ICBzdHJ1Y3QgZmlsZWQgKmY7CiAKQEAgLTE3OTMsNyArMTc5Myw3IEBAIGxvZ2Vycm9yIChjb25z
dCBjaGFyICp0eXBlKQogfQogCiB2b2lkCi1kb2V4aXQgKGludCBzaWdubyBfR0xfVU5VU0VEX1BB
UkFNRVRFUikKK2RvZXhpdCAoaW50IHNpZ25vIE1BWUJFX1VOVVNFRCkKIHsKICAgX2V4aXQgKEVY
SVRfU1VDQ0VTUyk7CiB9CkBAIC0yMDkwLDcgKzIwOTAsNyBAQCBsb2FkX2NvbmZkaXIgKGNvbnN0
IGNoYXIgKmRpcm5hbWUsIHN0cnVjdCBmaWxlZCAqKm5leHRwKQogCiAvKiBJTklUIC0tIEluaXRp
YWxpemUgc3lzbG9nZCBmcm9tIGNvbmZpZ3VyYXRpb24gdGFibGUuICAqLwogdm9pZAotaW5pdCAo
aW50IHNpZ25vIF9HTF9VTlVTRURfUEFSQU1FVEVSKQoraW5pdCAoaW50IHNpZ25vIE1BWUJFX1VO
VVNFRCkKIHsKICAgaW50IHJjLCByZXQ7CiAgIHN0cnVjdCBmaWxlZCAqZiwgKm5leHQsICoqbmV4
dHA7CkBAIC0yNDg3LDcgKzI0ODcsNyBAQCBkZWNvZGUgKGNvbnN0IGNoYXIgKm5hbWUsIENPREUg
KiBjb2RldGFiKQogfQogCiB2b2lkCi1kYmdfdG9nZ2xlIChpbnQgc2lnbm8gX0dMX1VOVVNFRF9Q
QVJBTUVURVIpCitkYmdfdG9nZ2xlIChpbnQgc2lnbm8gTUFZQkVfVU5VU0VEKQogewogICBpbnQg
ZGJnX3NhdmUgPSBkYmdfb3V0cHV0OwogCkBAIC0yNTIzLDcgKzI1MjMsNyBAQCBkYmdfcHJpbnRm
IChjb25zdCBjaGFyICpmbXQsIC4uLikKICAgIHNldCBhIGZsYWcgdmFyaWFibGUgd2hpY2ggd2ls
bCB0ZWxsIHRoZSBtYWluIGxvb3AgdG8gZ28gdGhyb3VnaCBhCiAgICByZXN0YXJ0LiAgKi8KIHZv
aWQKLXRyaWdnZXJfcmVzdGFydCAoaW50IHNpZ25vIF9HTF9VTlVTRURfUEFSQU1FVEVSKQordHJp
Z2dlcl9yZXN0YXJ0IChpbnQgc2lnbm8gTUFZQkVfVU5VU0VEKQogewogICByZXN0YXJ0ID0gMTsK
ICNpZm5kZWYgSEFWRV9TSUdBQ1RJT04KZGlmZiAtLWdpdCBhL3NyYy90ZnRwLmMgYi9zcmMvdGZ0
cC5jCmluZGV4IDExNDNlNzQuLjc1ZWY2NjMgMTAwNjQ0Ci0tLSBhL3NyYy90ZnRwLmMKKysrIGIv
c3JjL3RmdHAuYwpAQCAtODMsNyArODMsNyBAQAogI2VuZGlmCiAKICNpbmNsdWRlIDxhcmdwLmg+
Ci0jaW5jbHVkZSA8dW51c2VkLXBhcmFtZXRlci5oPgorI2luY2x1ZGUgPGF0dHJpYnV0ZS5oPgog
CiAjaW5jbHVkZSA8bGliaW5ldHV0aWxzLmg+CiAKQEAgLTUxNiwxMyArNTE2LDEzIEBAIG1vZGVj
bWQgKGludCBhcmdjLCBjaGFyICphcmd2W10pCiB9CiAKIHZvaWQKLXNldGJpbmFyeSAoaW50IGFy
Z2MgX0dMX1VOVVNFRF9QQVJBTUVURVIsIGNoYXIgKmFyZ3ZbXSBfR0xfVU5VU0VEX1BBUkFNRVRF
UikKK3NldGJpbmFyeSAoaW50IGFyZ2MgTUFZQkVfVU5VU0VELCBjaGFyICphcmd2W10gTUFZQkVf
VU5VU0VEKQogewogICBzZXR0ZnRwbW9kZSAoIm9jdGV0Iik7CiB9CiAKIHZvaWQKLXNldGFzY2lp
IChpbnQgYXJnYyBfR0xfVU5VU0VEX1BBUkFNRVRFUiwgY2hhciAqYXJndltdIF9HTF9VTlVTRURf
UEFSQU1FVEVSKQorc2V0YXNjaWkgKGludCBhcmdjIE1BWUJFX1VOVVNFRCwgY2hhciAqYXJndltd
IE1BWUJFX1VOVVNFRCkKIHsKICAgc2V0dGZ0cG1vZGUgKCJuZXRhc2NpaSIpOwogfQpAQCAtNzky
LDcgKzc5Miw3IEBAIHNldHRpbWVvdXQgKGludCBhcmdjLCBjaGFyICphcmd2W10pCiB9CiAKIHZv
aWQKLXN0YXR1cyAoaW50IGFyZ2MgX0dMX1VOVVNFRF9QQVJBTUVURVIsIGNoYXIgKmFyZ3ZbXSBf
R0xfVU5VU0VEX1BBUkFNRVRFUikKK3N0YXR1cyAoaW50IGFyZ2MgTUFZQkVfVU5VU0VELCBjaGFy
ICphcmd2W10gTUFZQkVfVU5VU0VEKQogewogICBpZiAoY29ubmVjdGVkKQogICAgIHByaW50ZiAo
IkNvbm5lY3RlZCB0byAlcy5cbiIsIGhvc3RuYW1lKTsKQEAgLTgwNSw3ICs4MDUsNyBAQCBzdGF0
dXMgKGludCBhcmdjIF9HTF9VTlVTRURfUEFSQU1FVEVSLCBjaGFyICphcmd2W10gX0dMX1VOVVNF
RF9QQVJBTUVURVIpCiB9CiAKIHZvaWQKLWludHIgKGludCBzaWdubyBfR0xfVU5VU0VEX1BBUkFN
RVRFUikKK2ludHIgKGludCBzaWdubyBNQVlCRV9VTlVTRUQpCiB7CiAgIHNpZ25hbCAoU0lHQUxS
TSwgU0lHX0lHTik7CiAgIGFsYXJtICgwKTsKQEAgLTkyOSw3ICs5MjksNyBAQCBtYWtlYXJndiAo
dm9pZCkKIH0KIAogdm9pZAotcXVpdCAoaW50IGFyZ2MgX0dMX1VOVVNFRF9QQVJBTUVURVIsIGNo
YXIgKmFyZ3ZbXSBfR0xfVU5VU0VEX1BBUkFNRVRFUikKK3F1aXQgKGludCBhcmdjIE1BWUJFX1VO
VVNFRCwgY2hhciAqYXJndltdIE1BWUJFX1VOVVNFRCkKIHsKICAgZXhpdCAoRVhJVF9TVUNDRVNT
KTsKIH0KQEAgLTk2NiwxNCArOTY2LDE0IEBAIGhlbHAgKGludCBhcmdjLCBjaGFyICphcmd2W10p
CiB9CiAKIHZvaWQKLXNldHRyYWNlIChpbnQgYXJnYyBfR0xfVU5VU0VEX1BBUkFNRVRFUiwgY2hh
ciAqYXJndltdIF9HTF9VTlVTRURfUEFSQU1FVEVSKQorc2V0dHJhY2UgKGludCBhcmdjIE1BWUJF
X1VOVVNFRCwgY2hhciAqYXJndltdIE1BWUJFX1VOVVNFRCkKIHsKICAgdHJhY2UgPSAhdHJhY2U7
CiAgIHByaW50ZiAoIlBhY2tldCB0cmFjaW5nICVzLlxuIiwgdHJhY2UgPyAib24iIDogIm9mZiIp
OwogfQogCiB2b2lkCi1zZXR2ZXJib3NlIChpbnQgYXJnYyBfR0xfVU5VU0VEX1BBUkFNRVRFUiwg
Y2hhciAqYXJndltdIF9HTF9VTlVTRURfUEFSQU1FVEVSKQorc2V0dmVyYm9zZSAoaW50IGFyZ2Mg
TUFZQkVfVU5VU0VELCBjaGFyICphcmd2W10gTUFZQkVfVU5VU0VEKQogewogICB2ZXJib3NlID0g
IXZlcmJvc2U7CiAgIHByaW50ZiAoIlZlcmJvc2UgbW9kZSAlcy5cbiIsIHZlcmJvc2UgPyAib24i
IDogIm9mZiIpOwpAQCAtMTM3OCw3ICsxMzc4LDcgQEAgcHJpbnRzdGF0cyAoY29uc3QgY2hhciAq
ZGlyZWN0aW9uLCB1bnNpZ25lZCBsb25nIGFtb3VudCkKIH0KIAogc3RhdGljIHZvaWQKLXRpbWVy
IChpbnQgc2lnIF9HTF9VTlVTRURfUEFSQU1FVEVSKQordGltZXIgKGludCBzaWcgTUFZQkVfVU5V
U0VEKQogewogICB0aW1lb3V0ICs9IHJleG10dmFsOwogICBpZiAodGltZW91dCA+PSBtYXh0aW1l
b3V0KQpkaWZmIC0tZ2l0IGEvc3JjL3RmdHBkLmMgYi9zcmMvdGZ0cGQuYwppbmRleCBjYzFiNzAz
Li44OTA2NTkxIDEwMDY0NAotLS0gYS9zcmMvdGZ0cGQuYworKysgYi9zcmMvdGZ0cGQuYwpAQCAt
ODUsNyArODUsNyBAQAogCiAjaW5jbHVkZSAidGZ0cHN1YnMuaCIKIAotI2luY2x1ZGUgPHVudXNl
ZC1wYXJhbWV0ZXIuaD4KKyNpbmNsdWRlIDxhdHRyaWJ1dGUuaD4KICNpbmNsdWRlIDx4YWxsb2Mu
aD4KICNpbmNsdWRlIDxhcmdwLmg+CiAjaW5jbHVkZSA8cHJvZ25hbWUuaD4KQEAgLTE2NSw3ICsx
NjUsNyBAQCBzdGF0aWMgc3RydWN0IGFyZ3Bfb3B0aW9uIG9wdGlvbnNbXSA9IHsKIAogc3RhdGlj
IGVycm9yX3QKIHBhcnNlX29wdCAoaW50IGtleSwgY2hhciAqYXJnLAotCSAgIHN0cnVjdCBhcmdw
X3N0YXRlICpzdGF0ZSBfR0xfVU5VU0VEX1BBUkFNRVRFUikKKwkgICBzdHJ1Y3QgYXJncF9zdGF0
ZSAqc3RhdGUgTUFZQkVfVU5VU0VEKQogewogICBzd2l0Y2ggKGtleSkKICAgICB7CkBAIC02MzYs
NyArNjM2LDcgQEAgaW50IHRpbWVvdXQ7CiBzaWdqbXBfYnVmIHRpbWVvdXRidWY7CiAKIHZvaWQK
LXRpbWVyIChpbnQgc2lnIF9HTF9VTlVTRURfUEFSQU1FVEVSKQordGltZXIgKGludCBzaWcgTUFZ
QkVfVU5VU0VEKQogewogCiAgIHRpbWVvdXQgKz0gcmV4bXR2YWw7CkBAIC03MTYsNyArNzE2LDcg
QEAgYWJvcnQ6CiB9CiAKIHZvaWQKLWp1c3RxdWl0IChpbnQgc2lnIF9HTF9VTlVTRURfUEFSQU1F
VEVSKQoranVzdHF1aXQgKGludCBzaWcgTUFZQkVfVU5VU0VEKQogewogICBleGl0IChFWElUX1NV
Q0NFU1MpOwogfQpkaWZmIC0tZ2l0IGEvc3JjL3RyYWNlcm91dGUuYyBiL3NyYy90cmFjZXJvdXRl
LmMKaW5kZXggZGU3ZGI0Yi4uYzk2MjBkNiAxMDA2NDQKLS0tIGEvc3JjL3RyYWNlcm91dGUuYwor
KysgYi9zcmMvdHJhY2Vyb3V0ZS5jCkBAIC00OSw3ICs0OSw3IEBACiAjaW5jbHVkZSA8bGltaXRz
Lmg+CiAjaW5jbHVkZSA8YXNzZXJ0Lmg+CiAjaW5jbHVkZSA8YXJncC5oPgotI2luY2x1ZGUgPHVu
dXNlZC1wYXJhbWV0ZXIuaD4KKyNpbmNsdWRlIDxhdHRyaWJ1dGUuaD4KICNpbmNsdWRlIDxpY21w
Lmg+CiAjaWZkZWYgSEFWRV9MT0NBTEVfSAogIyBpbmNsdWRlIDxsb2NhbGUuaD4KQEAgLTM1NCw3
ICszNTQsNyBAQCBtYWluIChpbnQgYXJnYywgY2hhciAqKmFyZ3YpCiAKIHZvaWQKIGRvX3RyeSAo
dHJhY2VfdCAqIHRyYWNlLCBjb25zdCBpbnQgaG9wLAotCWNvbnN0IGludCBtYXhfaG9wcyBfR0xf
VU5VU0VEX1BBUkFNRVRFUiwKKwljb25zdCBpbnQgbWF4X2hvcHMgTUFZQkVfVU5VU0VELAogCWNv
bnN0IGludCBtYXhfdHJpZXMpCiB7CiAgIGZkX3NldCByZWFkc2V0OwpkaWZmIC0tZ2l0IGEvc3Jj
L3V1Y3BkLmMgYi9zcmMvdXVjcGQuYwppbmRleCBjOGJiNDYwLi4wNzJjMjIyIDEwMDY0NAotLS0g
YS9zcmMvdXVjcGQuYworKysgYi9zcmMvdXVjcGQuYwpAQCAtODgsNyArODgsNyBAQAogCiAjaW5j
bHVkZSA8YXJncC5oPgogI2luY2x1ZGUgPHByb2duYW1lLmg+Ci0jaW5jbHVkZSA8dW51c2VkLXBh
cmFtZXRlci5oPgorI2luY2x1ZGUgPGF0dHJpYnV0ZS5oPgogI2luY2x1ZGUgPGxpYmluZXR1dGls
cy5oPgogCiB2b2lkIGRvbG9naW4gKHN0cnVjdCBwYXNzd2QgKnB3LCBzdHJ1Y3Qgc29ja2FkZHIg
KnNhcCwgc29ja2xlbl90IHNhbGVuKTsKQEAgLTExOSw3ICsxMTksNyBAQCBzdGF0aWMgc3RydWN0
IGFyZ3Bfb3B0aW9uIGFyZ3Bfb3B0aW9uc1tdID0gewogCiBzdGF0aWMgZXJyb3JfdAogcGFyc2Vf
b3B0IChpbnQga2V5LCBjaGFyICphcmcsCi0JICAgc3RydWN0IGFyZ3Bfc3RhdGUgKnN0YXRlIF9H
TF9VTlVTRURfUEFSQU1FVEVSKQorCSAgIHN0cnVjdCBhcmdwX3N0YXRlICpzdGF0ZSBNQVlCRV9V
TlVTRUQpCiB7CiAgIHN3aXRjaCAoa2V5KQogICAgIHsKZGlmZiAtLWdpdCBhL3RhbGsvaW5pdF9k
aXNwLmMgYi90YWxrL2luaXRfZGlzcC5jCmluZGV4IDk5ZTZiNjAuLmQ1ZTBjMjUgMTAwNjQ0Ci0t
LSBhL3RhbGsvaW5pdF9kaXNwLmMKKysrIGIvdGFsay9pbml0X2Rpc3AuYwpAQCAtNjIsMTAgKzYy
LDEwIEBACiAjaW5jbHVkZSA8c2lnbmFsLmg+CiAjaW5jbHVkZSA8ZXJyb3IuaD4KICNpbmNsdWRl
ICJ0YWxrLmgiCi0jaW5jbHVkZSAidW51c2VkLXBhcmFtZXRlci5oIgorI2luY2x1ZGUgImF0dHJp
YnV0ZS5oIgogCiBzdGF0aWMgdm9pZAotc2lnX3NlbnQgKGludCBzaWcgX0dMX1VOVVNFRF9QQVJB
TUVURVIpCitzaWdfc2VudCAoaW50IHNpZyBNQVlCRV9VTlVTRUQpCiB7CiAKICAgbWVzc2FnZSAo
IkNvbm5lY3Rpb24gY2xvc2luZy4gRXhpdGluZyIpOwpkaWZmIC0tZ2l0IGEvdGFsay9pbnZpdGUu
YyBiL3RhbGsvaW52aXRlLmMKaW5kZXggODRiMTk3Ni4uY2UxZDA4MyAxMDA2NDQKLS0tIGEvdGFs
ay9pbnZpdGUuYworKysgYi90YWxrL2ludml0ZS5jCkBAIC02Miw3ICs2Miw3IEBACiAjaW5jbHVk
ZSA8ZXJybm8uaD4KICNpbmNsdWRlIDx1bmlzdGQuaD4KICNpbmNsdWRlIDxzZXRqbXAuaD4KLSNp
bmNsdWRlIDx1bnVzZWQtcGFyYW1ldGVyLmg+CisjaW5jbHVkZSA8YXR0cmlidXRlLmg+CiAjaW5j
bHVkZSAidGFsa19jdGwuaCIKICNpbmNsdWRlICJ0YWxrLmgiCiAKQEAgLTExNyw3ICsxMTcsNyBA
QCBhbm5vdW5jZV9pbnZpdGUgKHZvaWQpCiAgKiBSb3V0aW5lIGNhbGxlZCBvbiBpbnRlcnVwdCB0
byByZS1pbnZpdGUgdGhlIGNhbGxlZQogICovCiB2b2lkCi1yZV9pbnZpdGUgKGludCBzaWcgX0dM
X1VOVVNFRF9QQVJBTUVURVIpCityZV9pbnZpdGUgKGludCBzaWcgTUFZQkVfVU5VU0VEKQogewog
CiAgIG1lc3NhZ2UgKCJSaW5naW5nIHlvdXIgcGFydHkgYWdhaW4iKTsKZGlmZiAtLWdpdCBhL3Rh
bGsvbXNncy5jIGIvdGFsay9tc2dzLmMKaW5kZXggZDU1NWUyMS4uOGMwMWI1NCAxMDA2NDQKLS0t
IGEvdGFsay9tc2dzLmMKKysrIGIvdGFsay9tc2dzLmMKQEAgLTU5LDcgKzU5LDcgQEAKICNpbmNs
dWRlIDx0aW1lLmg+CiAjaW5jbHVkZSA8c2lnbmFsLmg+CiAjaW5jbHVkZSA8c3RkaW8uaD4KLSNp
bmNsdWRlIDx1bnVzZWQtcGFyYW1ldGVyLmg+CisjaW5jbHVkZSA8YXR0cmlidXRlLmg+CiAjaW5j
bHVkZSAidGFsay5oIgogCiAjZGVmaW5lIE1TR19JTlRFUlZBTCA0CkBAIC02OCw3ICs2OCw3IEBA
IGNoYXIgKmN1cnJlbnRfc3RhdGU7CiBpbnQgY3VycmVudF9saW5lID0gMDsKIAogc3RhdGljIHZv
aWQKLWRpc3BfbXNnIChpbnQgc2lnIF9HTF9VTlVTRURfUEFSQU1FVEVSKQorZGlzcF9tc2cgKGlu
dCBzaWcgTUFZQkVfVU5VU0VEKQogewogICBtZXNzYWdlIChjdXJyZW50X3N0YXRlKTsKIH0KZGlm
ZiAtLWdpdCBhL3RhbGtkL3RhYmxlLmMgYi90YWxrZC90YWJsZS5jCmluZGV4IDc2YjExMzcuLmZm
ZTAzMDYgMTAwNjQ0Ci0tLSBhL3RhbGtkL3RhYmxlLmMKKysrIGIvdGFsa2QvdGFibGUuYwpAQCAt
MjEsNyArMjEsNyBAQAogI2luY2x1ZGUgPGNvbmZpZy5oPgogCiAjaW5jbHVkZSA8aW50YWxrZC5o
PgotI2luY2x1ZGUgInVudXNlZC1wYXJhbWV0ZXIuaCIKKyNpbmNsdWRlICJhdHRyaWJ1dGUuaCIK
IAogdHlwZWRlZiBzdHJ1Y3QgcmVxdWVzdF90YWJsZSB0YWJsZV90OwogCkBAIC05Myw3ICs5Myw3
IEBAIGxvb2t1cF9yZXF1ZXN0IChDVExfTVNHICogcmVxdWVzdCwKIAogc3RhdGljIGludAogZnV6
enlfY29tcCAodGFibGVfdCAqIHB0ciwgQ1RMX01TRyAqIHJlcXVlc3QsCi0JICAgIHRpbWVfdCAq
IHVudXNlZCBfR0xfVU5VU0VEX1BBUkFNRVRFUikKKwkgICAgdGltZV90ICogdW51c2VkIE1BWUJF
X1VOVVNFRCkKIHsKICAgaWYgKHB0ci0+cmVxdWVzdC50eXBlID09IExFQVZFX0lOVklURQogICAg
ICAgJiYgc3RyY21wIChyZXF1ZXN0LT5sX25hbWUsIHB0ci0+cmVxdWVzdC5yX25hbWUpID09IDAK
ZGlmZiAtLWdpdCBhL3RhbGtkL3RhbGtkLmMgYi90YWxrZC90YWxrZC5jCmluZGV4IDQ1MmQzZjEu
LjA4ZTNhNWIgMTAwNjQ0Ci0tLSBhL3RhbGtkL3RhbGtkLmMKKysrIGIvdGFsa2QvdGFsa2QuYwpA
QCAtMjQsNyArMjQsNyBAQAogI2luY2x1ZGUgPHNpZ25hbC5oPgogI2luY2x1ZGUgPGxpYmluZXR1
dGlscy5oPgogI2luY2x1ZGUgPHByb2duYW1lLmg+Ci0jaW5jbHVkZSAidW51c2VkLXBhcmFtZXRl
ci5oIgorI2luY2x1ZGUgImF0dHJpYnV0ZS5oIgogCiAjaWZuZGVmIExPR19GQUNJTElUWQogIyBk
ZWZpbmUgTE9HX0ZBQ0lMSVRZIExPR19EQUVNT04KQEAgLTY3LDcgKzY3LDcgQEAgc3RhdGljIHN0
cnVjdCBhcmdwX29wdGlvbiBhcmdwX29wdGlvbnNbXSA9IHsKIAogc3RhdGljIGVycm9yX3QKIHBh
cnNlX29wdCAoaW50IGtleSwgY2hhciAqYXJnLAotCSAgIHN0cnVjdCBhcmdwX3N0YXRlICpzdGF0
ZSBfR0xfVU5VU0VEX1BBUkFNRVRFUikKKwkgICBzdHJ1Y3QgYXJncF9zdGF0ZSAqc3RhdGUgTUFZ
QkVfVU5VU0VEKQogewogICBzd2l0Y2ggKGtleSkKICAgICB7CkBAIC0xMzgsNyArMTM4LDcgQEAg
dGFsa2RfaW5pdCAodm9pZCkKIHRpbWVfdCBsYXN0X21zZ190aW1lOwogCiBzdGF0aWMgdm9pZAot
YWxhcm1faGFuZGxlciAoaW50IGVyciBfR0xfVU5VU0VEX1BBUkFNRVRFUikKK2FsYXJtX2hhbmRs
ZXIgKGludCBlcnIgTUFZQkVfVU5VU0VEKQogewogICBpbnQgb2Vycm5vID0gZXJybm87CiAKZGlm
ZiAtLWdpdCBhL3RlbG5ldC9jb21tYW5kcy5jIGIvdGVsbmV0L2NvbW1hbmRzLmMKaW5kZXggNWNj
OWI0ZC4uMjZjZWRiYSAxMDA2NDQKLS0tIGEvdGVsbmV0L2NvbW1hbmRzLmMKKysrIGIvdGVsbmV0
L2NvbW1hbmRzLmMKQEAgLTgxLDcgKzgxLDcgQEAKICMgaW5jbHVkZSA8aWRuYS5oPgogI2VuZGlm
CiAKLSNpbmNsdWRlIDx1bnVzZWQtcGFyYW1ldGVyLmg+CisjaW5jbHVkZSA8YXR0cmlidXRlLmg+
CiAjaW5jbHVkZSA8bGliaW5ldHV0aWxzLmg+CiAKICNpbmNsdWRlICJnZW5lcmFsLmgiCkBAIC0x
NTY3LDcgKzE1NjcsNyBAQCBzdXNwZW5kICh2b2lkKQogCiAjaWYgIWRlZmluZWQgVE4zMjcwCiBp
bnQKLXNoZWxsIChpbnQgYXJnYywgY2hhciAqYXJndltdIF9HTF9VTlVTRURfUEFSQU1FVEVSKQor
c2hlbGwgKGludCBhcmdjLCBjaGFyICphcmd2W10gTUFZQkVfVU5VU0VEKQogewogICBsb25nIG9s
ZHJvd3MsIG9sZGNvbHMsIG5ld3Jvd3MsIG5ld2NvbHMsIGVycjsKIApkaWZmIC0tZ2l0IGEvdGVs
bmV0L21haW4uYyBiL3RlbG5ldC9tYWluLmMKaW5kZXggYzc5MGQ2ZS4uMWE5NmQzNSAxMDA2NDQK
LS0tIGEvdGVsbmV0L21haW4uYworKysgYi90ZWxuZXQvbWFpbi5jCkBAIC02NCw3ICs2NCw3IEBA
CiAjaW5jbHVkZSA8cHJvZ25hbWUuaD4KICNpbmNsdWRlIDxlcnJvci5oPgogI2luY2x1ZGUgPGFy
Z3AuaD4KLSNpbmNsdWRlIDx1bnVzZWQtcGFyYW1ldGVyLmg+CisjaW5jbHVkZSA8YXR0cmlidXRl
Lmg+CiAjaW5jbHVkZSA8bGliaW5ldHV0aWxzLmg+CiAKICNpbmNsdWRlIDxhcnBhL3RlbG5ldC5o
PgpAQCAtMjAxLDcgKzIwMSw3IEBAIHN0YXRpYyBzdHJ1Y3QgYXJncF9vcHRpb24gYXJncF9vcHRp
b25zW10gPSB7CiB9OwogCiBzdGF0aWMgZXJyb3JfdAotcGFyc2Vfb3B0IChpbnQga2V5LCBjaGFy
ICphcmcsIHN0cnVjdCBhcmdwX3N0YXRlICpzdGF0ZSBfR0xfVU5VU0VEX1BBUkFNRVRFUikKK3Bh
cnNlX29wdCAoaW50IGtleSwgY2hhciAqYXJnLCBzdHJ1Y3QgYXJncF9zdGF0ZSAqc3RhdGUgTUFZ
QkVfVU5VU0VEKQogewogICBzd2l0Y2ggKGtleSkKICAgICB7CmRpZmYgLS1naXQgYS90ZWxuZXQv
c3lzX2JzZC5jIGIvdGVsbmV0L3N5c19ic2QuYwppbmRleCA2YTRiNjU1Li45ZGQyZWM0IDEwMDY0
NAotLS0gYS90ZWxuZXQvc3lzX2JzZC5jCisrKyBiL3RlbG5ldC9zeXNfYnNkLmMKQEAgLTY0LDcg
KzY0LDcgQEAKICNpbmNsdWRlIDxlcnJuby5oPgogI2luY2x1ZGUgPGFycGEvdGVsbmV0Lmg+CiAj
aW5jbHVkZSA8c3lzL3NlbGVjdC5oPgotI2luY2x1ZGUgPHVudXNlZC1wYXJhbWV0ZXIuaD4KKyNp
bmNsdWRlIDxhdHRyaWJ1dGUuaD4KIAogI2luY2x1ZGUgInJpbmcuaCIKIApAQCAtOTQyLDcgKzk0
Miw3IEBAIE5ldFNldFBncnAgKGludCBmZCkKICAqLwogCiB2b2lkCi1kZWFkcGVlciAoaW50IHNp
ZyBfR0xfVU5VU0VEX1BBUkFNRVRFUikKK2RlYWRwZWVyIChpbnQgc2lnIE1BWUJFX1VOVVNFRCkK
IHsKICAgc2V0Y29tbWFuZG1vZGUgKCk7CiAgIGxvbmdqbXAgKHBlZXJkaWVkLCAtMSk7CkBAIC05
NTAsNyArOTUwLDcgQEAgZGVhZHBlZXIgKGludCBzaWcgX0dMX1VOVVNFRF9QQVJBTUVURVIpCiAK
IAogdm9pZAotaW50ciAoaW50IHNpZyBfR0xfVU5VU0VEX1BBUkFNRVRFUikKK2ludHIgKGludCBz
aWcgTUFZQkVfVU5VU0VEKQogewogICBpZiAobG9jYWxjaGFycykKICAgICB7CkBAIC05NjMsNyAr
OTYzLDcgQEAgaW50ciAoaW50IHNpZyBfR0xfVU5VU0VEX1BBUkFNRVRFUikKIAogCiB2b2lkCi1p
bnRyMiAoaW50IHNpZyBfR0xfVU5VU0VEX1BBUkFNRVRFUikKK2ludHIyIChpbnQgc2lnIE1BWUJF
X1VOVVNFRCkKIHsKICAgaWYgKGxvY2FsY2hhcnMpCiAgICAgewpAQCAtOTc5LDcgKzk3OSw3IEBA
IGludHIyIChpbnQgc2lnIF9HTF9VTlVTRURfUEFSQU1FVEVSKQogCiAjaWZkZWYJU0lHVFNUUAog
dm9pZAotc3VzcCAoaW50IHNpZyBfR0xfVU5VU0VEX1BBUkFNRVRFUikKK3N1c3AgKGludCBzaWcg
TUFZQkVfVU5VU0VEKQogewogICBpZiAoKHJsb2dpbiAhPSBfUE9TSVhfVkRJU0FCTEUpICYmIHJs
b2dpbl9zdXNwICgpKQogICAgIHJldHVybjsKQEAgLTk5MCw3ICs5OTAsNyBAQCBzdXNwIChpbnQg
c2lnIF9HTF9VTlVTRURfUEFSQU1FVEVSKQogCiAjaWZkZWYJU0lHV0lOQ0gKIHZvaWQKLXNlbmR3
aW4gKGludCBzaWcgX0dMX1VOVVNFRF9QQVJBTUVURVIpCitzZW5kd2luIChpbnQgc2lnIE1BWUJF
X1VOVVNFRCkKIHsKICAgaWYgKGNvbm5lY3RlZCkKICAgICB7CkBAIC0xMDAxLDcgKzEwMDEsNyBA
QCBzZW5kd2luIChpbnQgc2lnIF9HTF9VTlVTRURfUEFSQU1FVEVSKQogCiAjaWZkZWYJU0lHSU5G
Twogdm9pZAotYXl0IChpbnQgc2lnIF9HTF9VTlVTRURfUEFSQU1FVEVSKQorYXl0IChpbnQgc2ln
IE1BWUJFX1VOVVNFRCkKIHsKICAgaWYgKGNvbm5lY3RlZCkKICAgICBzZW5kYXl0ICgpOwpkaWZm
IC0tZ2l0IGEvdGVsbmV0ZC90ZWxuZXRkLmMgYi90ZWxuZXRkL3RlbG5ldGQuYwppbmRleCBjMGQz
YmEwLi5kYjVkMjEyIDEwMDY0NAotLS0gYS90ZWxuZXRkL3RlbG5ldGQuYworKysgYi90ZWxuZXRk
L3RlbG5ldGQuYwpAQCAtMjcsNyArMjcsNyBAQAogI2luY2x1ZGUgPGFyZ3AuaD4KICNpbmNsdWRl
IDxwcm9nbmFtZS5oPgogI2luY2x1ZGUgPGVycm9yLmg+Ci0jaW5jbHVkZSA8dW51c2VkLXBhcmFt
ZXRlci5oPgorI2luY2x1ZGUgPGF0dHJpYnV0ZS5oPgogI2luY2x1ZGUgPGxpYmluZXR1dGlscy5o
PgogCiAjaWYgZGVmaW5lZCBBVVRIRU5USUNBVElPTiB8fCBkZWZpbmVkIEVOQ1JZUFRJT04KQEAg
LTE0NSw3ICsxNDUsNyBAQCBzdGF0aWMgc3RydWN0IGFyZ3Bfb3B0aW9uIGFyZ3Bfb3B0aW9uc1td
ID0gewogfTsKIAogc3RhdGljIGVycm9yX3QKLXBhcnNlX29wdCAoaW50IGtleSwgY2hhciAqYXJn
LCBzdHJ1Y3QgYXJncF9zdGF0ZSAqc3RhdGUgX0dMX1VOVVNFRF9QQVJBTUVURVIpCitwYXJzZV9v
cHQgKGludCBrZXksIGNoYXIgKmFyZywgc3RydWN0IGFyZ3Bfc3RhdGUgKnN0YXRlIE1BWUJFX1VO
VVNFRCkKIHsKICAgc3dpdGNoIChrZXkpCiAgICAgewpAQCAtNzk2LDcgKzc5Niw3IEBAIHByaW50
X2hvc3RpbmZvICh2b2lkKQogfQogCiBzdGF0aWMgdm9pZAotY2hsZF9pc19kb25lIChpbnQgc2ln
IF9HTF9VTlVTRURfUEFSQU1FVEVSKQorY2hsZF9pc19kb25lIChpbnQgc2lnIE1BWUJFX1VOVVNF
RCkKIHsKICAgcGVuZGluZ19zaWdjaGxkID0gMTsKIH0KZGlmZiAtLWdpdCBhL3Rlc3RzL2xvY2Fs
aG9zdC5jIGIvdGVzdHMvbG9jYWxob3N0LmMKaW5kZXggOGI3YTc0NS4uMDE5YjIzOCAxMDA2NDQK
LS0tIGEvdGVzdHMvbG9jYWxob3N0LmMKKysrIGIvdGVzdHMvbG9jYWxob3N0LmMKQEAgLTIzLDEx
ICsyMywxMSBAQAogCiAjaW5jbHVkZSA8c3RkaW8uaD4KICNpbmNsdWRlIDxzdGRsaWIuaD4KLSNp
bmNsdWRlIDx1bnVzZWQtcGFyYW1ldGVyLmg+CisjaW5jbHVkZSA8YXR0cmlidXRlLmg+CiAjaW5j
bHVkZSA8cHJvZ25hbWUuaD4KIAogaW50Ci1tYWluIChpbnQgYXJnYyBfR0xfVU5VU0VEX1BBUkFN
RVRFUiwgY2hhciAqKmFyZ3YpCittYWluIChpbnQgYXJnYyBNQVlCRV9VTlVTRUQsIGNoYXIgKiph
cmd2KQogewogICBjaGFyICpwID0gbG9jYWxob3N0ICgpOwogICBzZXRfcHJvZ3JhbV9uYW1lIChh
cmd2WzBdKTsKZGlmZiAtLWdpdCBhL3Rlc3RzL3dhaXRkYWVtb24uYyBiL3Rlc3RzL3dhaXRkYWVt
b24uYwppbmRleCA5NWJmMmVlLi42NmFmNmNhIDEwMDY0NAotLS0gYS90ZXN0cy93YWl0ZGFlbW9u
LmMKKysrIGIvdGVzdHMvd2FpdGRhZW1vbi5jCkBAIC0zNCwxOCArMzQsMTggQEAKICNpbmNsdWRl
IDxlcnJvci5oPgogI2luY2x1ZGUgPHByb2duYW1lLmg+CiAjaW5jbHVkZSA8bGliaW5ldHV0aWxz
Lmg+Ci0jaW5jbHVkZSA8dW51c2VkLXBhcmFtZXRlci5oPgorI2luY2x1ZGUgPGF0dHJpYnV0ZS5o
PgogCiBleHRlcm4gaW50IHdhaXRkYWVtb24gKGludCBub2NoZGlyLCBpbnQgbm9jbG9zZSwgaW50
IG1heHdhaXQpOwogCiB2b2lkCi1kb2V4aXQgKGludCBzaWdubyBfR0xfVU5VU0VEX1BBUkFNRVRF
UikKK2RvZXhpdCAoaW50IHNpZ25vIE1BWUJFX1VOVVNFRCkKIHsKICAgX2V4aXQgKEVYSVRfU1VD
Q0VTUyk7CiB9CiAKIGludAotbWFpbiAoaW50IGFyZ2MgX0dMX1VOVVNFRF9QQVJBTUVURVIsIGNo
YXIgKmFyZ3ZbXSkKK21haW4gKGludCBhcmdjIE1BWUJFX1VOVVNFRCwgY2hhciAqYXJndltdKQog
ewogICBwaWRfdCBwcGlkOwogCmRpZmYgLS1naXQgYS93aG9pcy93aG9pcy5jIGIvd2hvaXMvd2hv
aXMuYwppbmRleCBhNjJmNWNhLi4zZTRmMTkyIDEwMDY0NAotLS0gYS93aG9pcy93aG9pcy5jCisr
KyBiL3dob2lzL3dob2lzLmMKQEAgLTQxLDcgKzQxLDcgQEAKICNkZWZpbmUgb2JzdGFja19jaHVu
a19mcmVlIGZyZWUKICNpbmNsdWRlIDxvYnN0YWNrLmg+CiAjaW5jbHVkZSA8ZXJyb3IuaD4KLSNp
bmNsdWRlIDx1bnVzZWQtcGFyYW1ldGVyLmg+CisjaW5jbHVkZSA8YXR0cmlidXRlLmg+CiAjaW5j
bHVkZSA8bGliaW5ldHV0aWxzLmg+CiAKIC8qIEFwcGxpY2F0aW9uLXNwZWNpZmljICovCkBAIC0x
MDMsNyArMTAzLDcgQEAgc3RhdGljIHN0cnVjdCBhcmdwX29wdGlvbiByaXBlX2FyZ3Bfb3B0aW9u
c1tdID0gewogCiBzdGF0aWMgZXJyb3JfdAogcmlwZV9hcmdwX3BhcnNlciAoaW50IGtleSwgY2hh
ciAqYXJnLAotCQkgIHN0cnVjdCBhcmdwX3N0YXRlICpzdGF0ZSBfR0xfVU5VU0VEX1BBUkFNRVRF
UikKKwkJICBzdHJ1Y3QgYXJncF9zdGF0ZSAqc3RhdGUgTUFZQkVfVU5VU0VEKQogewogICBpZiAo
a2V5ID4gMCAmJiAodW5zaWduZWQpIGtleSA8IDEyOCkKICAgICB7CkBAIC0xNDIsNyArMTQyLDcg
QEAgc3RhdGljIHN0cnVjdCBhcmdwX29wdGlvbiBnd2hvaXNfYXJncF9vcHRpb25zW10gPSB7CiAK
IHN0YXRpYyBlcnJvcl90CiBnd2hvaXNfYXJncF9wYXJzZXIgKGludCBrZXksIGNoYXIgKmFyZywK
LQkJICAgIHN0cnVjdCBhcmdwX3N0YXRlICpzdGF0ZSBfR0xfVU5VU0VEX1BBUkFNRVRFUikKKwkJ
ICAgIHN0cnVjdCBhcmdwX3N0YXRlICpzdGF0ZSBNQVlCRV9VTlVTRUQpCiB7CiAgIGNoYXIgKnAs
ICpxOwogCgpodHRwOi8vZ2l0LnNhdmFubmFoLmdudS5vcmcvY2dpdC9pbmV0dXRpbHMuZ2l0L2Nv
bW1pdC8/aWQ9MGU0ODMyZTczYTkzZWNkM2YzMzY1YjU0MDI0MjgzOWFjOTkzNDNkYwoKCmNvbW1p
dCAwZTQ4MzJlNzNhOTNlY2QzZjMzNjViNTQwMjQyODM5YWM5OTM0M2RjCkF1dGhvcjogU2ltb24g
Sm9zZWZzc29uIDxzaW1vbkBqb3NlZnNzb24ub3JnPgpEYXRlOiAgIFdlZCBTZXAgMSAyMjowOToy
MiAyMDIxICswMjAwCgogICAgbWFpbnQ6IERvbid0IGNjIHJlbGVhc2UgYW5ub3VuY2VtZW50IHRv
IHRyYW5zbGF0b3JzLgogICAgCiAgICAqIG1haW50Lm1rICh0cmFuc2xhdGlvbl9wcm9qZWN0Xyk6
IFNldCB0byBlbXB0eS4KCmRpZmYgLS1naXQgYS9jZmcubWsgYi9jZmcubWsKaW5kZXggYTBlMjM0
ZS4uNjJlNDdlOCAxMDA2NDQKLS0tIGEvY2ZnLm1rCisrKyBiL2NmZy5tawpAQCAtMjMsNiArMjMs
OCBAQCBib290c3RyYXAtdG9vbHMgPSBnbnVsaWIsYXV0b2NvbmYsYXV0b21ha2UsYmlzb24sbTQs
bWFrZWluZm8saGVscDJtYW4sbWFrZSxnemlwLAogCiBvbGRfTkVXU19oYXNoID0gOWU1ODI5MGEy
OTIwNDRiZDZkZTYzNGY1MmY2ZWQ5NDAKIAordHJhbnNsYXRpb25fcHJvamVjdF8gPQorCiBfbWFr
ZWZpbGVfYXRfYXRfY2hlY2tfZXhjZXB0aW9ucyA9ICcgJiYgIS9QQVRIREVGU19NQUtFLycKIAog
bG9jYWwtY2hlY2tzLXRvLXNraXAgPSBcCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKU3VtbWFyeSBvZiBjaGFu
Z2VzOgogYm9vdHN0cmFwLmNvbmYgICAgICAgICAgICB8ICAyICstCiBjZmcubWsgICAgICAgICAg
ICAgICAgICAgIHwgIDIgKysKIGNvbmZpZ3VyZS5hYyAgICAgICAgICAgICAgfCAgMyAtLS0KIGZ0
cC9jbWRzLmMgICAgICAgICAgICAgICAgfCA2NiArKysrKysrKysrKysrKysrKysrKysrKy0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLQogZnRwL2Z0cC5jICAgICAgICAgICAgICAgICB8IDE0ICsrKysr
LS0tLS0KIGZ0cC9tYWluLmMgICAgICAgICAgICAgICAgfCAgOCArKystLS0KIGZ0cGQvZnRwZC5j
ICAgICAgICAgICAgICAgfCAgNiArKy0tLQogZnRwZC9wYW0uYyAgICAgICAgICAgICAgICB8ICA0
ICstLQogZnRwZC9zZXJ2ZXJfbW9kZS5jICAgICAgICB8ICA0ICstLQogaWZjb25maWcvb3B0aW9u
cy5jICAgICAgICB8ICA2ICsrLS0tCiBpZmNvbmZpZy9wcmludGlmLmMgICAgICAgIHwgNDggKysr
KysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLQogaWZjb25maWcvc3lzdGVtL2JzZC5jICAg
ICB8IDI2ICsrKysrKysrKy0tLS0tLS0tLS0KIGlmY29uZmlnL3N5c3RlbS9nZW5lcmljLmMgfCAy
MCArKysrKysrLS0tLS0tLQogaWZjb25maWcvc3lzdGVtL2h1cmQuYyAgICB8IDI0ICsrKysrKysr
LS0tLS0tLS0tCiBpZmNvbmZpZy9zeXN0ZW0vbGludXguYyAgIHwgMjAgKysrKysrKy0tLS0tLS0K
IGlmY29uZmlnL3N5c3RlbS9zb2xhcmlzLmMgfCAgOCArKystLS0KIGxpYmluZXR1dGlscy9kYWVt
b24uYyAgICAgfCAgNCArLS0KIGxpYnRlbG5ldC9hdXRoLmMgICAgICAgICAgfCAgNCArLS0KIGxp
YnRlbG5ldC9lbmNyeXB0LmMgICAgICAgfCAxMCArKystLS0tCiBsaWJ0ZWxuZXQva2VyYmVyb3M1
LmMgICAgIHwgIDYgKystLS0KIGxpYnRlbG5ldC9zaGlzaGkuYyAgICAgICAgfCAgOCArKystLS0K
IHBpbmcvcGluZy5jICAgICAgICAgICAgICAgfCAgNCArLS0KIHBpbmcvcGluZzYuYyAgICAgICAg
ICAgICAgfCAgOCArKystLS0KIHBpbmcvcGluZ19hZGRyZXNzLmMgICAgICAgfCAgOCArKystLS0K
IHBpbmcvcGluZ19jb21tb24uYyAgICAgICAgfCAgMiArLQogcGluZy9waW5nX2VjaG8uYyAgICAg
ICAgICB8ICA2ICsrLS0tCiBwaW5nL3Bpbmdfcm91dGVyLmMgICAgICAgIHwgIDQgKy0tCiBwaW5n
L3BpbmdfdGltZXN0YW1wLmMgICAgIHwgIDggKysrLS0tCiBzcmMvaW5ldGQuYyAgICAgICAgICAg
ICAgIHwgMjIgKysrKysrKystLS0tLS0tLQogc3JjL2xvZ2dlci5jICAgICAgICAgICAgICB8ICA0
ICstLQogc3JjL3JjcC5jICAgICAgICAgICAgICAgICB8ICA2ICsrLS0tCiBzcmMvcmV4ZWNkLmMg
ICAgICAgICAgICAgIHwgIDggKysrLS0tCiBzcmMvcmxvZ2luLmMgICAgICAgICAgICAgIHwgMTAg
KysrLS0tLQogc3JjL3Jsb2dpbmQuYyAgICAgICAgICAgICB8ICA4ICsrKy0tLQogc3JjL3JzaC5j
ICAgICAgICAgICAgICAgICB8ICA2ICsrLS0tCiBzcmMvcnNoZC5jICAgICAgICAgICAgICAgIHwg
IDYgKystLS0KIHNyYy9zeXNsb2dkLmMgICAgICAgICAgICAgfCAxMiArKysrLS0tLS0KIHNyYy90
ZnRwLmMgICAgICAgICAgICAgICAgfCAxOCArKysrKystLS0tLS0tCiBzcmMvdGZ0cGQuYyAgICAg
ICAgICAgICAgIHwgIDggKysrLS0tCiBzcmMvdHJhY2Vyb3V0ZS5jICAgICAgICAgIHwgIDQgKy0t
CiBzcmMvdXVjcGQuYyAgICAgICAgICAgICAgIHwgIDQgKy0tCiB0YWxrL2luaXRfZGlzcC5jICAg
ICAgICAgIHwgIDQgKy0tCiB0YWxrL2ludml0ZS5jICAgICAgICAgICAgIHwgIDQgKy0tCiB0YWxr
L21zZ3MuYyAgICAgICAgICAgICAgIHwgIDQgKy0tCiB0YWxrZC90YWJsZS5jICAgICAgICAgICAg
IHwgIDQgKy0tCiB0YWxrZC90YWxrZC5jICAgICAgICAgICAgIHwgIDYgKystLS0KIHRlbG5ldC9j
b21tYW5kcy5jICAgICAgICAgfCAgNCArLS0KIHRlbG5ldC9tYWluLmMgICAgICAgICAgICAgfCAg
NCArLS0KIHRlbG5ldC9zeXNfYnNkLmMgICAgICAgICAgfCAxNCArKysrKy0tLS0tCiB0ZWxuZXRk
L3RlbG5ldGQuYyAgICAgICAgIHwgIDYgKystLS0KIHRlc3RzL2xvY2FsaG9zdC5jICAgICAgICAg
fCAgNCArLS0KIHRlc3RzL3dhaXRkYWVtb24uYyAgICAgICAgfCAgNiArKy0tLQogd2hvaXMvd2hv
aXMuYyAgICAgICAgICAgICB8ICA2ICsrLS0tCiA1MyBmaWxlcyBjaGFuZ2VkLCAyNTcgaW5zZXJ0
aW9ucygrKSwgMjU4IGRlbGV0aW9ucygtKQoKCmhvb2tzL3Bvc3QtcmVjZWl2ZQotLSAKR05VIElu
ZXR1dGlscyAKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
CkNvbW1pdC1pbmV0dXRpbHMgbWFpbGluZyBsaXN0CkNvbW1pdC1pbmV0dXRpbHNAZ251Lm9yZwpo
dHRwczovL2xpc3RzLmdudS5vcmcvbWFpbG1hbi9saXN0aW5mby9jb21taXQtaW5ldHV0aWxzCg==