Re: Small patch for drivers/block/ide-probe.c

Andre M. Hedrick (hedrick@astro.dyer.vanderbilt.edu)
Mon, 14 Sep 1998 15:36:26 -0500 (CDT)


This message is in MIME format. The first part should be readable text,
while the remaining parts are likely unreadable without MIME-aware tools.
Send mail to mime@docserver.cac.washington.edu for more info.

--998314481-1371127584-905804312=:4854
Content-Type: TEXT/PLAIN; CHARSET=US-ASCII
Content-ID: <Pine.LNX.3.96.980914151834.4854D@Astro.Dyer.Vanderbilt.Edu>

On Sun, 13 Sep 1998, Bill Hawes wrote:

> Andre M. Hedrick wrote:
>
> > This has been in a bigger patch of mine for a long time that I have been
> > working to get in the kernel before 2.2.0
> >
> > http://www.dyer.vanderbilt.edu/server/udma
>
> Andre,
>
> It's often better to split a big patch up into smaller related pieces,
> especially if part of the patch is an important bug fix and other parts
> are of less certain merit.
>
> This makes it a lot easier for Linus to verify the correctness of the
> changes, and means that the bug fixes will get out sooner.

Done.........this contains the following :

endian fixes ide-floppy.c
Zip Drive firmware bug 23.D ide-floppy.c
endian fixes ide-cdrom.c & ide-cd.h
UDMA, (U)DMA reporting correction ide-disk.c
multi-count enable correction ide-disk.c
add timing functions for VIA via82c586.c (new)
added VIA as experimental Config.in
added VIA building Makefile
added lost probes from 2.0.x ide-probe.c
fixed device naming errors for disk genhd.c
fixed AEC6210UF support ide-pci.c
fixed PDC20246 (double reporting) ide-pci.c
allow off-board ide-pci booting ide-pci.c
added UDMA/DMA drive blacklisting ide-dma.c

forgot what I did, but minor ide.c
updated header ide.h

informed kernel of additions to genhd.c init/main.c

updated headers include/linux/pci.h
include/linux/hdreg.h
include/linux/cdrom.h

updated drivers/pci/oldproc.c
updated uniformity drivers/cdrom/cdrom.c

Note that some of this is work done by Erik A. and Geert U.

Cheers,
Andre

PS: I just boot this patch and it works fine for me.........

--998314481-1371127584-905804312=:4854
Content-Type: TEXT/PLAIN; CHARSET=US-ASCII; NAME="ide_update-2.1.121.patch"
Content-Transfer-Encoding: BASE64
Content-ID: <Pine.LNX.3.96.980914151832.4854B@Astro.Dyer.Vanderbilt.Edu>
Content-Description:

ZGlmZiAtdXJOIGxpbnV4LTIuMS4xMjEtcHJpc3RpbmUvRG9jdW1lbnRhdGlv
bi9Db25maWd1cmUuaGVscCBsaW51eC9Eb2N1bWVudGF0aW9uL0NvbmZpZ3Vy
ZS5oZWxwDQotLS0gbGludXgtMi4xLjEyMS1wcmlzdGluZS9Eb2N1bWVudGF0
aW9uL0NvbmZpZ3VyZS5oZWxwCUZyaSBTZXAgIDQgMTc6MzI6MjYgMTk5OA0K
KysrIGxpbnV4L0RvY3VtZW50YXRpb24vQ29uZmlndXJlLmhlbHAJTW9uIFNl
cCAxNCAxMDo0OTozOSAxOTk4DQpAQCAtNTA3LDYgKzUwNywyNyBAQA0KIA0K
ICAgUGxlYXNlIHJlYWQgdGhlIGNvbW1lbnRzIGF0IHRoZSB0b3Agb2YgZHJp
dmVycy9ibG9jay9uczg3NDE1LmMuDQogDQorVklBODJDNTg2IGNoaXBzZXQg
c3VwcG9ydCAoRVhQRVJJTUVOVEFMKQ0KK0NPTkZJR19CTEtfREVWX1ZJQTgy
QzU4Ng0KKyAgVGhpcyBhZGRzIGluaXRpYWwgdGltaW5nIHNldHRpbmdzIGZv
ciBWSUEgKFUpRE1BIG9uYm9hcmQgaWRlDQorICBjb250cm9sbGVycyB0aGF0
IGFyZSBBVEEzIGNvbXBsaWFudC4gIE1heSB3b3JrIHdpdGggQVRBNCBzeXN0
ZW1zLA0KKyAgYnV0IG5vdCB0ZXN0ZWQgdG8gZGF0ZS4NCisNCisgIFRoaXMg
cmVxdWlyZXMgQ09ORklHX0lERURNQV9BVVRPIHRvIGJlIGVuYWJsZWQuDQor
ICBQbGVhc2UgcmVhZCB0aGUgY29tbWVudHMgYXQgdGhlIHRvcCBvZiBkcml2
ZXJzL2Jsb2NrL3ZpYTgyQzU4Ni5jDQorDQorICBJZiB1bnN1cmUsIHNheSBO
Lg0KKw0KK0hQVDM0MyBjaGlwc2V0IHN1cHBvcnQgKEVYUEVSSU1FTlRBTCkN
CitDT05GSUdfQkxLX0RFVl9IUFQzNDMNCisgIFRoaXMgZHJpdmVyIGFkZHMg
dXAgdG8gNCBtb3JlIGVpZGUgZGV2aWNlcyBzaGFyaW5nIGEgc2luZ2xlIGlu
dGVycnVwdC4NCisgIFRoZSBIUFQzNDMgY2hpcHNldCBpbiBpdCdzIGN1cnJl
bnQgZm9ybSBpcyBhIG5vbi1ib290YWJsZSBQQ0kNCisgIFVETUEgY29udHJv
bGxlci4gIFRoaXMgZHJpdmVyIHJlcXVpcmVzIGR5bmFtaWMgdHVuaW5nIG9m
IHRoZQ0KKyAgY2hpcHNldCBkdXJpbmcgdGhlIGlkZS1wcm9iZSBhdCBib290
LiAgSXQgaXMgcmVwb3J0ZWQgdG8gc3VwcG9ydA0KKyAgRFZEIElJIGRyaXZl
cywgYnkgdGhlIG1hbnVmYWN0dXJlci4NCisNCisgIFBsZWFzZSByZWFkIHRo
ZSBjb21tZW50cyBhdCB0aGUgdG9wIG9mIGRyaXZlcnMvYmxvY2svaHB0MzQz
LmMNCisNCiBRREkgUUQ2NTgwIHN1cHBvcnQNCiBDT05GSUdfQkxLX0RFVl9R
RDY1ODANCiAgIFRoaXMgZHJpdmVyIGlzIGVuYWJsZWQgYXQgcnVudGltZSB1
c2luZyB0aGUgImlkZTA9cWQ2NTgwIiBrZXJuZWwNCkBAIC01MjcsNiArNTQ4
LDQ0IEBADQogICBvZiB0aGUgQUxJIE0xNDM5LzE0NDMvMTQ0NS8xNDg3LzE0
ODkgY2hpcHNldHMsIGFuZCBwZXJtaXRzIGZhc3Rlcg0KICAgSS9PIHNwZWVk
cyB0byBiZSBzZXQgYXMgd2VsbC4gU2VlIHRoZSBmaWxlcyBEb2N1bWVudGF0
aW9uL2lkZS50eHQNCiAgIGFuZCBhbGkxNHh4LmMgZm9yIG1vcmUgaW5mby4N
CisNCitBbWlnYSBidWlsdGluIEdheWxlIElERSBpbnRlcmZhY2Ugc3VwcG9y
dA0KK0NPTkZJR19CTEtfREVWX0dBWUxFDQorICBUaGlzIGlzIHRoZSBJREUg
ZHJpdmVyIGZvciB0aGUgYnVpbHRpbiBJREUgaW50ZXJmYWNlIG9uIHNvbWUg
QW1pZ2ENCisgIG1vZGVscy4gIEl0IHN1cHBvcnRzIGJvdGggdGhlIGBBMTIw
MCBzdHlsZScgKHVzZWQgaW4gQTYwMCBhbmQgQTEyMDApDQorICBhbmQgYEE0
MDAwIHN0eWxlJyAodXNlZCBpbiBBNDAwMCBhbmQgQTQwMDBUKSBvZiB0aGUg
R2F5bGUgSURFDQorICBpbnRlcmZhY2UuDQorICBTYXkgWSBpZiB5b3UgaGF2
ZSBzdWNoIGFuIEFtaWdhIG1vZGVsIGFuZCB3YW50IHRvIHVzZSBJREUgZGV2
aWNlcw0KKyAgKGhhcmQgZGlza3MsIENELVJPTSBkcml2ZXMsIGV0Yy4pIHRo
YXQgYXJlIGNvbm5lY3RlZCB0byB0aGUgYnVpbHRpbg0KKyAgSURFIGludGVy
ZmFjZS4NCisNCitGYWxjb24gSURFIGludGVyZmFjZSBzdXBwb3J0DQorQ09O
RklHX0JMS19ERVZfRkFMQ09OX0lERQ0KKyAgVGhpcyBpcyB0aGUgSURFIGRy
aXZlciBmb3IgdGhlIGJ1aWx0aW4gSURFIGludGVyZmFjZSBvbiB0aGUgQXRh
cmkNCisgIEZhbGNvbi4NCisgIFNheSBZIGlmIHlvdSBoYXZlIGEgRmFsY29u
IGFuZCB3YW50IHRvIHVzZSBJREUgZGV2aWNlcyAoaGFyZCBkaXNrcywNCisg
IENELVJPTSBkcml2ZXMsIGV0Yy4pIHRoYXQgYXJlIGNvbm5lY3RlZCB0byB0
aGUgYnVpbHRpbiBJREUgaW50ZXJmYWNlLg0KKw0KK0FtaWdhIEJ1ZGRoYS9D
YXR3ZWFzZWwgSURFIGludGVyZmFjZSBzdXBwb3J0IChFWFBFUklNRU5UQUwp
DQorQ09ORklHX0JMS19ERVZfQlVEREhBDQorICBUaGlzIGlzIHRoZSBJREUg
ZHJpdmVyIGZvciB0aGUgSURFIGludGVyZmFjZXMgb24gdGhlIEJ1ZGRoYSBh
bmQNCisgIENhdHdlYXNlbCBleHBhbnNpb24gYm9hcmRzLiAgSXQgc3VwcG9y
dHMgdXAgdG8gdHdvIGludGVyZmFjZXMgb24gdGhlDQorICBCdWRkaGEgYW5k
IHRocmVlIG9uIHRoZSBDYXR3ZWFzZWwuDQorICBTYXkgWSBpZiB5b3UgaGF2
ZSBhIEJ1ZGRoYSBvciBDYXR3ZWFzZWwgZXhwYW5zaW9uIGJvYXJkIGFuZCB3
YW50IHRvDQorICB1c2UgSURFIGRldmljZXMgKGhhcmQgZGlza3MsIENELVJP
TSBkcml2ZXMsIGV0Yy4pIHRoYXQgYXJlIGNvbm5lY3RlZA0KKyAgdG8gb25l
IG9mIGl0cyBJREUgaW50ZXJmYWNlcy4NCisNCitBbWlnYSBJREUgRG91Ymxl
ciBzdXBwb3J0IChFWFBFUklNRU5UQUwpDQorQ09ORklHX0JMS19ERVZfSURF
RE9VQkxFUg0KKyAgVGhpcyBkcml2ZXIgcHJvdmlkZXMgc3VwcG9ydCBmb3Ig
dGhlIHNvIGNhbGxlZCBgSURFIGRvdWJsZXJzJyAobWFkZSBieQ0KKyAgdmFy
aW91cyBtYW51ZmFjdHVyZXJzLCBlLmcuIEV5ZXRlY2gpIHRoYXQgY2FuIGJl
IGNvbm5lY3RlZCB0byB0aGUNCisgIGJ1aWx0aW4gSURFIGludGVyZmFjZSBv
ZiBzb21lIEFtaWdhIG1vZGVscy4gVXNpbmcgc3VjaCBhbiBJREUgZG91Ymxl
ciwNCisgIHlvdSBjYW4gY29ubmVjdCB1cCB0byBmb3VyIGluc3RlYWQgb2Yg
dHdvIElERSBkZXZpY2VzIG9uIHRoZSBBbWlnYSdzDQorICBidWlsdGluIElE
RSBpbnRlcmZhY2UuDQorICBOb3RlIHRoYXQgdGhlIG5vcm1hbCBBbWlnYSBH
YXlsZSBJREUgZHJpdmVyIG1heSBub3Qgd29yayBjb3JyZWN0bHkgaWYNCisg
IHlvdSBoYXZlIGFuIElERSBkb3VibGVyIGFuZCBkb24ndCBlbmFibGUgdGhp
cyBkcml2ZXIhDQorICBTYXkgWSBpZiB5b3UgaGF2ZSBhbiBJREUgZG91Ymxl
ci4gIFRoZSBkcml2ZXIgaXMgZW5hYmxlZCBhdCBrZXJuZWwNCisgIHJ1bnRp
bWUgdXNpbmcgdGhlICJpZGU9ZG91YmxlciIga2VybmVsIGJvb3QgcGFyYW1l
dGVyLg0KIA0KIEFwcGxlIE1hY2ludG9zaCBidWlsdGluIElERSBpbnRlcmZh
Y2Ugc3VwcG9ydCAoRVhQRVJJTUVOVEFMKQ0KIENPTkZJR19CTEtfREVWX01B
Q19JREUNCmRpZmYgLXVyTiBsaW51eC0yLjEuMTIxLXByaXN0aW5lL2RyaXZl
cnMvYmxvY2svQ29uZmlnLmluIGxpbnV4L2RyaXZlcnMvYmxvY2svQ29uZmln
LmluDQotLS0gbGludXgtMi4xLjEyMS1wcmlzdGluZS9kcml2ZXJzL2Jsb2Nr
L0NvbmZpZy5pbglUaHUgQXVnIDI3IDEzOjAzOjU2IDE5OTgNCisrKyBsaW51
eC9kcml2ZXJzL2Jsb2NrL0NvbmZpZy5pbglNb24gU2VwIDE0IDExOjMyOjUz
IDE5OTgNCkBAIC00MSw2ICs0MSw3IEBADQogICAgICAgICAgIGlmIFsgIiRD
T05GSUdfQkxLX0RFVl9JREVETUEiID0gInkiIF07IHRoZW4NCiAgICAgICAg
ICAgICBib29sICcgICAgIFRla3JhbSBUUk0yOTAgY2hpcHNldCBzdXBwb3J0
IChFWFBFUklNRU5UQUwpJyBDT05GSUdfQkxLX0RFVl9UUk0yOTANCiAgICAg
ICAgICAgICBib29sICcgICAgIE5TODc0MTUgY2hpcHNldCBzdXBwb3J0IChF
WFBFUklNRU5UQUwpJyBDT05GSUdfQkxLX0RFVl9OUzg3NDE1DQorICAgICAg
ICAgICAgYm9vbCAnICAgICBWSUE4MkM1ODYgY2hpcHNldCBzdXBwb3J0IChF
WFBFUklNRU5UQUwpJyBDT05GSUdfQkxLX0RFVl9WSUE4MkM1ODYNCiAgICAg
ICAgICAgZmkNCiAgICAgICAgIGZpDQogICAgICAgZmkNCmRpZmYgLXVyTiBs
aW51eC0yLjEuMTIxLXByaXN0aW5lL2RyaXZlcnMvYmxvY2svTUFLRURFVi1J
REU0NSBsaW51eC9kcml2ZXJzL2Jsb2NrL01BS0VERVYtSURFNDUNCi0tLSBs
aW51eC0yLjEuMTIxLXByaXN0aW5lL2RyaXZlcnMvYmxvY2svTUFLRURFVi1J
REU0NQlXZWQgRGVjIDMxIDE4OjAwOjAwIDE5NjkNCisrKyBsaW51eC9kcml2
ZXJzL2Jsb2NrL01BS0VERVYtSURFNDUJTW9uIFNlcCAxNCAxMDo0OTozOSAx
OTk4DQpAQCAtMCwwICsxLDk5IEBADQorIyEvYmluL3NoDQorIw0KKyMJQW5k
cmUgSGVkcmljayA8aGVkcmlja0Bhc3Ryby5keWVyLnZhbmRlcmJpbHQuZWR1
Pg0KKyMNCisjCVRoZSBzb25nIGdvZXMsICJJIGRpZCBpdCB0aGUgaGFyZCB3
YXkuLi4uLi4uLi4uLiINCisjDQorDQoraWYgWyAhIC1mIC9kZXYvaGRpIF07
IHRoZW4gXA0KKwllY2hvICJNYWtpbmcgSURFNCBQcmltYXJ5IERldmljZXMg
aGRpJ3MiOyBcDQorCW1rbm9kIC9kZXYvaGRpIGIgNTYgMDsgXA0KKwlta25v
ZCAvZGV2L2hkaTEgYiA1NiAxOyBcDQorCW1rbm9kIC9kZXYvaGRpMiBiIDU2
IDI7IFwNCisJbWtub2QgL2Rldi9oZGkzIGIgNTYgMzsgXA0KKwlta25vZCAv
ZGV2L2hkaTQgYiA1NiA0OyBcDQorCW1rbm9kIC9kZXYvaGRpNSBiIDU2IDU7
IFwNCisJbWtub2QgL2Rldi9oZGk2IGIgNTYgNjsgXA0KKwlta25vZCAvZGV2
L2hkaTcgYiA1NiA3OyBcDQorCW1rbm9kIC9kZXYvaGRpOCBiIDU2IDg7IFwN
CisJbWtub2QgL2Rldi9oZGk5IGIgNTYgOTsgXA0KKwlta25vZCAvZGV2L2hk
aTEwIGIgNTYgMTA7IFwNCisJbWtub2QgL2Rldi9oZGkxMSBiIDU2IDExOyBc
DQorCW1rbm9kIC9kZXYvaGRpMTIgYiA1NiAxMjsgXA0KKwlta25vZCAvZGV2
L2hkaTEzIGIgNTYgMTM7IFwNCisJbWtub2QgL2Rldi9oZGkxNCBiIDU2IDE0
OyBcDQorCW1rbm9kIC9kZXYvaGRpMTUgYiA1NiAxNTsgXA0KKwlta25vZCAv
ZGV2L2hkaTE2IGIgNTYgMTY7IFwNCisJY2hvd24gcm9vdC5kaXNrIC9kZXYv
aGRpKjsgXA0KKwljaG1vZCA2NjAgL2Rldi9oZGkqOyBcDQorZmkNCisNCitp
ZiBbICEgLWYgL2Rldi9oZGogXTsgdGhlbiBcDQorCWVjaG8gIk1ha2luZyBJ
REU0IFNlY29uZGFyeSBEZXZpY2VzIGhkaidzIjsgXA0KKwlta25vZCAvZGV2
L2hkaiBiIDU2IDY0OyBcDQorCW1rbm9kIC9kZXYvaGRqMSBiIDU2IDY1OyBc
DQorCW1rbm9kIC9kZXYvaGRqMiBiIDU2IDY2OyBcDQorCW1rbm9kIC9kZXYv
aGRqMyBiIDU2IDY3OyBcDQorCW1rbm9kIC9kZXYvaGRqNCBiIDU2IDY4OyBc
DQorCW1rbm9kIC9kZXYvaGRqNSBiIDU2IDY5OyBcDQorCW1rbm9kIC9kZXYv
aGRqNiBiIDU2IDcwOyBcDQorCW1rbm9kIC9kZXYvaGRqNyBiIDU2IDcxOyBc
DQorCW1rbm9kIC9kZXYvaGRqOCBiIDU2IDcyOyBcDQorCW1rbm9kIC9kZXYv
aGRqOSBiIDU2IDczOyBcDQorCW1rbm9kIC9kZXYvaGRqMTAgYiA1NiA3NDsg
XA0KKwlta25vZCAvZGV2L2hkajExIGIgNTYgNzU7IFwNCisJbWtub2QgL2Rl
di9oZGoxMiBiIDU2IDc2OyBcDQorCW1rbm9kIC9kZXYvaGRqMTMgYiA1NiA3
NzsgXA0KKwlta25vZCAvZGV2L2hkajE0IGIgNTYgNzg7IFwNCisJbWtub2Qg
L2Rldi9oZGoxNSBiIDU2IDc5OyBcDQorCW1rbm9kIC9kZXYvaGRqMTYgYiA1
NiA4MDsgXA0KKwljaG93biByb290LmRpc2sgL2Rldi9oZGoqOyBcDQorCWNo
bW9kIDY2MCAvZGV2L2hkaio7IFwNCitmaQ0KKw0KK2lmIFsgISAtZiAvZGV2
L2hkayBdOyB0aGVuIFwNCisJZWNobyAiTWFraW5nIElERTUgUHJpbWFyeSBE
ZXZpY2VzIGhkaydzIjsgXA0KKwlta25vZCAvZGV2L2hkayBiIDU3IDA7IFwN
CisJbWtub2QgL2Rldi9oZGsxIGIgNTcgMTsgXA0KKwlta25vZCAvZGV2L2hk
azIgYiA1NyAyOyBcDQorCW1rbm9kIC9kZXYvaGRrMyBiIDU3IDM7IFwNCisJ
bWtub2QgL2Rldi9oZGs0IGIgNTcgNDsgXA0KKwlta25vZCAvZGV2L2hkazUg
YiA1NyA1OyBcDQorCW1rbm9kIC9kZXYvaGRrNiBiIDU3IDY7IFwNCisJbWtu
b2QgL2Rldi9oZGs3IGIgNTcgNzsgXA0KKwlta25vZCAvZGV2L2hkazggYiA1
NyA4OyBcDQorCW1rbm9kIC9kZXYvaGRrOSBiIDU3IDk7IFwNCisJbWtub2Qg
L2Rldi9oZGsxMCBiIDU3IDEwOyBcDQorCW1rbm9kIC9kZXYvaGRrMTEgYiA1
NyAxMTsgXA0KKwlta25vZCAvZGV2L2hkazEyIGIgNTcgMTI7IFwNCisJbWtu
b2QgL2Rldi9oZGsxMyBiIDU3IDEzOyBcDQorCW1rbm9kIC9kZXYvaGRrMTQg
YiA1NyAxNDsgXA0KKwlta25vZCAvZGV2L2hkazE1IGIgNTcgMTU7IFwNCisJ
bWtub2QgL2Rldi9oZGsxNiBiIDU3IDE2OyBcDQorCWNob3duIHJvb3QuZGlz
ayAvZGV2L2hkayo7IFwNCisJY2htb2QgNjYwIC9kZXYvaGRrKjsgXA0KK2Zp
DQorDQoraWYgWyAhIC1mIC9kZXYvaGRsIF07IHRoZW4gXA0KKwllY2hvICJN
YWtpbmcgSURFNSBTZWNvbmRhcnkgRGV2aWNlcyBoZGwncyI7IFwNCisJbWtu
b2QgL2Rldi9oZGwgYiA1NyA2NDsgXA0KKwlta25vZCAvZGV2L2hkbDEgYiA1
NyA2NTsgXA0KKwlta25vZCAvZGV2L2hkbDIgYiA1NyA2NjsgXA0KKwlta25v
ZCAvZGV2L2hkbDMgYiA1NyA2NzsgXA0KKwlta25vZCAvZGV2L2hkbDQgYiA1
NyA2ODsgXA0KKwlta25vZCAvZGV2L2hkbDUgYiA1NyA2OTsgXA0KKwlta25v
ZCAvZGV2L2hkbDYgYiA1NyA3MDsgXA0KKwlta25vZCAvZGV2L2hkbDcgYiA1
NyA3MTsgXA0KKwlta25vZCAvZGV2L2hkbDggYiA1NyA3MjsgXA0KKwlta25v
ZCAvZGV2L2hkbDkgYiA1NyA3MzsgXA0KKwlta25vZCAvZGV2L2hkbDEwIGIg
NTcgNzQ7IFwNCisJbWtub2QgL2Rldi9oZGwxMSBiIDU3IDc1OyBcDQorCW1r
bm9kIC9kZXYvaGRsMTIgYiA1NyA3NjsgXA0KKwlta25vZCAvZGV2L2hkbDEz
IGIgNTcgNzc7IFwNCisJbWtub2QgL2Rldi9oZGwxNCBiIDU3IDc4OyBcDQor
CW1rbm9kIC9kZXYvaGRsMTUgYiA1NyA3OTsgXA0KKwlta25vZCAvZGV2L2hk
bDE2IGIgNTcgODA7IFwNCisJY2hvd24gcm9vdC5kaXNrIC9kZXYvaGRsKjsg
XA0KKwljaG1vZCA2NjAgL2Rldi9oZGwqOyBcDQorZmkNCisNCmRpZmYgLXVy
TiBsaW51eC0yLjEuMTIxLXByaXN0aW5lL2RyaXZlcnMvYmxvY2svTWFrZWZp
bGUgbGludXgvZHJpdmVycy9ibG9jay9NYWtlZmlsZQ0KLS0tIGxpbnV4LTIu
MS4xMjEtcHJpc3RpbmUvZHJpdmVycy9ibG9jay9NYWtlZmlsZQlUaHUgQXVn
IDI3IDEzOjAzOjU2IDE5OTgNCisrKyBsaW51eC9kcml2ZXJzL2Jsb2NrL01h
a2VmaWxlCU1vbiBTZXAgMTQgMTE6MzQ6MjYgMTk5OA0KQEAgLTE1NCw2ICsx
NTQsMTAgQEANCiBJREVfT0JKUyArPSBuczg3NDE1Lm8NCiBlbmRpZg0KIA0K
K2lmZXEgKCQoQ09ORklHX0JMS19ERVZfVklBODJDNTg2KSx5KQ0KK0lERV9P
QkpTICs9IHZpYTgyYzU4Ni5vDQorZW5kaWYNCisNCiBpZmVxICgkKENPTkZJ
R19CTEtfREVWX0NNRDY0NikseSkNCiBJREVfT0JKUyArPSBjbWQ2NDYubw0K
IGVuZGlmDQpkaWZmIC11ck4gbGludXgtMi4xLjEyMS1wcmlzdGluZS9kcml2
ZXJzL2Jsb2NrL2dlbmhkLmMgbGludXgvZHJpdmVycy9ibG9jay9nZW5oZC5j
DQotLS0gbGludXgtMi4xLjEyMS1wcmlzdGluZS9kcml2ZXJzL2Jsb2NrL2dl
bmhkLmMJVHVlIEF1ZyAyNSAxNjoxMjowNyAxOTk4DQorKysgbGludXgvZHJp
dmVycy9ibG9jay9nZW5oZC5jCU1vbiBTZXAgMTQgMTA6NDk6MzkgMTk5OA0K
QEAgLTE2LDYgKzE2LDggQEANCiAgKiAgTW9yZSBmbGV4aWJsZSBoYW5kbGlu
ZyBvZiBleHRlbmRlZCBwYXJ0aXRpb25zIC0gYWViLCA5NTA4MzENCiAgKg0K
ICAqICBDaGVjayBwYXJ0aXRpb24gdGFibGUgb24gSURFIGRpc2tzIGZvciBj
b21tb24gQ0hTIHRyYW5zbGF0aW9ucw0KKyAqDQorICogIEFkZGVkIG5lZWRl
ZCBNQUpPUlMgZm9yIG5ldyBwYWlycywge2hkaSxoZGp9LCB7aGRrLGhkbH0N
CiAgKi8NCiANCiAjaW5jbHVkZSA8bGludXgvY29uZmlnLmg+DQpAQCAtNzcs
NiArNzksMTAgQEANCiAJICogVGhpcyByZXF1aXJlcyBzcGVjaWFsIGhhbmRs
aW5nIGhlcmUuDQogCSAqLw0KIAlzd2l0Y2ggKGhkLT5tYWpvcikgew0KKwkJ
Y2FzZSBJREU1X01BSk9SOg0KKwkJCXVuaXQgKz0gMjsNCisJCWNhc2UgSURF
NF9NQUpPUjoNCisJCQl1bml0ICs9IDI7DQogCQljYXNlIElERTNfTUFKT1I6
DQogCQkJdW5pdCArPSAyOw0KIAkJY2FzZSBJREUyX01BSk9SOg0KQEAgLTQy
MCw5ICs0MjYsMTAgQEANCiAJCQkJICAgJiYgKHEtPnNlY3RvciAmIDYzKSA9
PSAxDQogCQkJCSAgICYmIChxLT5lbmRfc2VjdG9yICYgNjMpID09IDYzKSB7
DQogCQkJCQl1bnNpZ25lZCBpbnQgaGVhZHMgPSBxLT5lbmRfaGVhZCArIDE7
DQotCQkJCQlpZiAoaGVhZHMgPT0gMzIgfHwgaGVhZHMgPT0gNjQgfHwNCi0J
CQkJCSAgICBoZWFkcyA9PSAxMjggfHwgaGVhZHMgPT0gMjU1IHx8DQotCQkJ
CQkgICAgaGVhZHMgPT0gMjQwKSB7DQorCQkJCQlpZiAoaGVhZHMgPT0gMTUg
fHwgaGVhZHMgPT0gMTYgfHwNCisJCQkJCSAgICBoZWFkcyA9PSAzMiB8fCBo
ZWFkcyA9PSA2NCB8fA0KKwkJCQkJICAgIGhlYWRzID09IDEyOCB8fCBoZWFk
cyA9PSAyNDAgfHwNCisJCQkJCSAgICBoZWFkcyA9PSAyNTUpIHsNCiAJCQkJ
CQkodm9pZCkgaWRlX3hsYXRlXzEwMjQoZGV2LCBoZWFkcywgIiBbUFRCTF0i
KTsNCiAJCQkJCQlicmVhazsNCiAJCQkJCX0NCmRpZmYgLXVyTiBsaW51eC0y
LjEuMTIxLXByaXN0aW5lL2RyaXZlcnMvYmxvY2svaWRlLWNkLmMgbGludXgv
ZHJpdmVycy9ibG9jay9pZGUtY2QuYw0KLS0tIGxpbnV4LTIuMS4xMjEtcHJp
c3RpbmUvZHJpdmVycy9ibG9jay9pZGUtY2QuYwlXZWQgSnVsIDI5IDE0OjM3
OjA1IDE5OTgNCisrKyBsaW51eC9kcml2ZXJzL2Jsb2NrL2lkZS1jZC5jCU1v
biBTZXAgMTQgMTE6NDk6NTIgMTk5OA0KQEAgLTEsNCArMSw0IEBADQotI2Rl
ZmluZSBWRVJCT1NFX0lERV9DRF9FUlJPUlMgMQ0KKyNkZWZpbmUgVkVSQk9T
RV9JREVfQ0RfRVJST1JTCTENCiAvKg0KICAqIGxpbnV4L2RyaXZlcnMvYmxv
Y2svaWRlLWNkLmMNCiAgKiBDb3B5cmlnaHQgKEMpIDE5OTQsIDE5OTUsIDE5
OTYgIHNjb3R0IHNueWRlciAgPHNueWRlckBmbmFsZDAuZm5hbC5nb3Y+DQpA
QCAtMjE4LDkgKzIxOCwxMiBAQA0KICAqICAgICAgICAgICAgICAgICAgICAg
ICAgIHNpbmNlIHRoZSAucGRmIHZlcnNpb24gZG9lc24ndCBzZWVtIHRvIHdv
cmsuLi4NCiAgKiAgICAgICAgICAgICAgICAgICAgIC0tIFVwZGF0ZWQgdGhl
IFRPRE8gbGlzdCB0byBzb21ldGhpbmcgbW9yZSBjdXJyZW50Lg0KICAqDQor
ICogNC4xNSAgQXVnIDI1LCAxOTk4ICAtLSBVcGRhdGVkIGlkZS1jZC5oIHRv
IHJlc3BlY3QgbWVjaGluZSBlbmRpYW5lc3MsIA0KKyAqICAgICAgICAgICAg
ICAgICAgICAgICAgIHBhdGNoIHRoYW5rcyB0byAiRWRkaWUgQy4gRG9zdCIg
PGVjZEBza3luZXQuYmU+DQorICoNCiAgKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKi8NCiANCi0jZGVmaW5lIElERUNEX1ZFUlNJT04gIjQuMTQiDQor
I2RlZmluZSBJREVDRF9WRVJTSU9OICI0LjE1Ig0KIA0KICNpbmNsdWRlIDxs
aW51eC9tb2R1bGUuaD4NCiAjaW5jbHVkZSA8bGludXgvdHlwZXMuaD4NCmRp
ZmYgLXVyTiBsaW51eC0yLjEuMTIxLXByaXN0aW5lL2RyaXZlcnMvYmxvY2sv
aWRlLWNkLmggbGludXgvZHJpdmVycy9ibG9jay9pZGUtY2QuaA0KLS0tIGxp
bnV4LTIuMS4xMjEtcHJpc3RpbmUvZHJpdmVycy9ibG9jay9pZGUtY2QuaAlX
ZWQgSnVsIDI5IDE0OjM3OjA1IDE5OTgNCisrKyBsaW51eC9kcml2ZXJzL2Js
b2NrL2lkZS1jZC5oCU1vbiBTZXAgMTQgMTA6NDk6MzkgMTk5OA0KQEAgLTYs
NiArNiw4IEBADQogICogIENvcHlyaWdodCAoQykgMTk5NiAgRXJpayBBbmRl
cnNlbg0KICAqLw0KIA0KKyNpbmNsdWRlIDxhc20vYnl0ZW9yZGVyLmg+DQor
DQogLyogVHVybiB0aGlzIG9uIHRvIGhhdmUgdGhlIGRyaXZlciBwcmludCBv
dXQgdGhlIG1lYW5pbmdzIG9mIHRoZQ0KICAgIEFUQVBJIGVycm9yIGNvZGVz
LiAgVGhpcyB3aWxsIHVzZSB1cCBhZGRpdGlvbmFsIGtlcm5lbC1zcGFjZQ0K
ICAgIG1lbW9yeSwgdGhvdWdoLiAqLw0KQEAgLTE0OCwxMyArMTUwLDI5IEBA
DQogDQogDQogc3RydWN0IGF0YXBpX3JlcXVlc3Rfc2Vuc2Ugew0KKyNpZiBk
ZWZpbmVkKF9fQklHX0VORElBTl9CSVRGSUVMRCkNCisJdW5zaWduZWQgY2hh
ciB2YWxpZCAgICAgIDogMTsNCisJdW5zaWduZWQgY2hhciBlcnJvcl9jb2Rl
IDogNzsNCisjZWxpZiBkZWZpbmVkKF9fTElUVExFX0VORElBTl9CSVRGSUVM
RCkNCiAJdW5zaWduZWQgY2hhciBlcnJvcl9jb2RlIDogNzsNCiAJdW5zaWdu
ZWQgY2hhciB2YWxpZCAgICAgIDogMTsNCisjZWxzZQ0KKyNlcnJvciAiUGxl
YXNlIGZpeCA8YXNtL2J5dGVvcmRlci5oPiINCisjZW5kaWYNCiAJYnl0ZSBy
ZXNlcnZlZDE7DQorI2lmIGRlZmluZWQoX19CSUdfRU5ESUFOX0JJVEZJRUxE
KQ0KKwl1bnNpZ25lZCBjaGFyIHJlc2VydmVkMyAgOiAyOw0KKwl1bnNpZ25l
ZCBjaGFyIGlsaSAgICAgICAgOiAxOw0KKwl1bnNpZ25lZCBjaGFyIHJlc2Vy
dmVkMiAgOiAxOw0KKwl1bnNpZ25lZCBjaGFyIHNlbnNlX2tleSAgOiA0Ow0K
KyNlbGlmIGRlZmluZWQoX19MSVRUTEVfRU5ESUFOX0JJVEZJRUxEKQ0KIAl1
bnNpZ25lZCBjaGFyIHNlbnNlX2tleSAgOiA0Ow0KIAl1bnNpZ25lZCBjaGFy
IHJlc2VydmVkMiAgOiAxOw0KIAl1bnNpZ25lZCBjaGFyIGlsaSAgICAgICAg
OiAxOw0KIAl1bnNpZ25lZCBjaGFyIHJlc2VydmVkMyAgOiAyOw0KKyNlbHNl
DQorI2Vycm9yICJQbGVhc2UgZml4IDxhc20vYnl0ZW9yZGVyLmg+Ig0KKyNl
bmRpZg0KIAlieXRlIGluZm9bNF07DQogCWJ5dGUgc2Vuc2VfbGVuOw0KIAli
eXRlIGNvbW1hbmRfaW5mb1s0XTsNCkBAIC0xOTAsOCArMjA4LDE1IEBADQog
DQogc3RydWN0IGF0YXBpX3RvY19lbnRyeSB7DQogCWJ5dGUgcmVzZXJ2ZWQx
Ow0KLQl1bnNpZ25lZCBjb250cm9sIDogNDsNCi0JdW5zaWduZWQgYWRyICAg
ICA6IDQ7DQorI2lmIGRlZmluZWQoX19CSUdfRU5ESUFOX0JJVEZJRUxEKQ0K
KwlfX3U4IGFkciAgICAgOiA0Ow0KKwlfX3U4IGNvbnRyb2wgOiA0Ow0KKyNl
bGlmIGRlZmluZWQoX19MSVRUTEVfRU5ESUFOX0JJVEZJRUxEKQ0KKwlfX3U4
IGNvbnRyb2wgOiA0Ow0KKwlfX3U4IGFkciAgICAgOiA0Ow0KKyNlbHNlDQor
I2Vycm9yICJQbGVhc2UgZml4IDxhc20vYnl0ZW9yZGVyLmg+Ig0KKyNlbmRp
Zg0KIAlieXRlIHRyYWNrOw0KIAlieXRlIHJlc2VydmVkMjsNCiAJdW5pb24g
ew0KQEAgLTIxOCw4ICsyNDMsMTUgQEANCiAgCXVfc2hvcnQgYWNkc2NfbGVu
Z3RoOw0KIAl1X2NoYXIgIGFjZHNjX2Zvcm1hdDsNCiANCisjaWYgZGVmaW5l
ZChfX0JJR19FTkRJQU5fQklURklFTEQpDQorCXVfY2hhciAgYWNkc2NfY3Ry
bDogICAgIDQ7DQorCXVfY2hhciAgYWNkc2NfYWRyOiAgICAgIDQ7DQorI2Vs
aWYgZGVmaW5lZChfX0xJVFRMRV9FTkRJQU5fQklURklFTEQpDQogCXVfY2hh
ciAgYWNkc2NfYWRyOgk0Ow0KIAl1X2NoYXIgIGFjZHNjX2N0cmw6CTQ7DQor
I2Vsc2UNCisjZXJyb3IgIlBsZWFzZSBmaXggPGFzbS9ieXRlb3JkZXIuaD4i
DQorI2VuZGlmDQogCXVfY2hhciAgYWNkc2NfdHJrOw0KIAl1X2NoYXIgIGFj
ZHNjX2luZDsNCiAJdW5pb24gew0KQEAgLTI0Myw3OSArMjc1LDE4MiBAQA0K
IA0KIA0KIHN0cnVjdCBhdGFwaV9jYXBhYmlsaXRpZXNfcGFnZSB7DQotCXVu
c2lnbmVkIHBhZ2VfY29kZSAgICAgICAgICAgOiA2Ow0KLQl1bnNpZ25lZCBy
ZXNlcnZlZDEgICAgICAgICAgIDogMTsNCi0JdW5zaWduZWQgcGFyYW1ldGVy
c19zYXZlYWJsZSA6IDE7DQorI2lmIGRlZmluZWQoX19CSUdfRU5ESUFOX0JJ
VEZJRUxEKQ0KKwlfX3U4IHBhcmFtZXRlcnNfc2F2ZWFibGUgOiAxOw0KKwlf
X3U4IHJlc2VydmVkMSAgICAgICAgICAgOiAxOw0KKwlfX3U4IHBhZ2VfY29k
ZSAgICAgICAgICAgOiA2Ow0KKyNlbGlmIGRlZmluZWQoX19MSVRUTEVfRU5E
SUFOX0JJVEZJRUxEKQ0KKwlfX3U4IHBhZ2VfY29kZSAgICAgICAgICAgOiA2
Ow0KKwlfX3U4IHJlc2VydmVkMSAgICAgICAgICAgOiAxOw0KKwlfX3U4IHBh
cmFtZXRlcnNfc2F2ZWFibGUgOiAxOw0KKyNlbHNlDQorI2Vycm9yICJQbGVh
c2UgZml4IDxhc20vYnl0ZW9yZGVyLmg+Ig0KKyNlbmRpZg0KIA0KIAlieXRl
ICAgICBwYWdlX2xlbmd0aDsNCiANCisjaWYgZGVmaW5lZChfX0JJR19FTkRJ
QU5fQklURklFTEQpDQorCV9fdTggcmVzZXJ2ZWQyICAgICAgICAgICA6IDU7
DQorCS8qIERyaXZlIHN1cHBvcnRzIHJlYWRpbmcgQ0QtUiBkaXNjcyB3aXRo
IGFkZHJlc3NpbmcgbWV0aG9kIDIgKi8NCisJX191OCBtZXRob2QyICAgICAg
ICAgICAgIDogMTsgLyogcmVzZXJ2ZWQgaW4gMS4yICovDQorCS8qIERyaXZl
IGNhbiByZWFkIGZyb20gQ0QtUi9XIChDRC1FKSBkaXNjcyAob3JhbmdlIGJv
b2ssIHBhcnQgSUlJKSAqLw0KKwlfX3U4IGNkX3J3X3JlYWQgICAgICAgICAg
IDogMTsgLyogcmVzZXJ2ZWQgaW4gMS4yICovDQogCS8qIERyaXZlIHN1cHBv
cnRzIHJlYWQgZnJvbSBDRC1SIGRpc2NzIChvcmFuZ2UgYm9vaywgcGFydCBJ
SSkgKi8NCi0gICAgICAgIHVuc2lnbmVkIGNkX3JfcmVhZCAgICAgICAgICAg
OiAxOyAvKiByZXNlcnZlZCBpbiAxLjIgKi8NCi0JLyogRHJpdmUgc3VwcG9y
dHMgcmVhZCBmcm9tIENELVIvVyAoQ0QtRSkgZGlzY3MgKG9yYW5nZSBib29r
LCBwYXJ0IElJSSkgKi8NCi0gICAgICAgIHVuc2lnbmVkIGNkX3J3X3JlYWQg
ICAgICAgICAgIDogMTsgLyogcmVzZXJ2ZWQgaW4gMS4yICovDQorCV9fdTgg
Y2Rfcl9yZWFkICAgICAgICAgICA6IDE7IC8qIHJlc2VydmVkIGluIDEuMiAq
Lw0KKyNlbGlmIGRlZmluZWQoX19MSVRUTEVfRU5ESUFOX0JJVEZJRUxEKQ0K
KwkvKiBEcml2ZSBzdXBwb3J0cyByZWFkIGZyb20gQ0QtUiBkaXNjcyAob3Jh
bmdlIGJvb2ssIHBhcnQgSUkpICovDQorICAgICAgICBfX3U4IGNkX3JfcmVh
ZCAgICAgICAgICAgOiAxOyAvKiByZXNlcnZlZCBpbiAxLjIgKi8NCisJLyog
RHJpdmUgY2FuIHJlYWQgZnJvbSBDRC1SL1cgKENELUUpIGRpc2NzIChvcmFu
Z2UgYm9vaywgcGFydCBJSUkpICovDQorICAgICAgICBfX3U4IGNkX3J3X3Jl
YWQgICAgICAgICAgOiAxOyAvKiByZXNlcnZlZCBpbiAxLjIgKi8NCiAJLyog
RHJpdmUgc3VwcG9ydHMgcmVhZGluZyBDRC1SIGRpc2NzIHdpdGggYWRkcmVz
c2luZyBtZXRob2QgMiAqLw0KLQl1bnNpZ25lZCBtZXRob2QyICAgICAgICAg
ICAgIDogMTsgLyogcmVzZXJ2ZWQgaW4gMS4yICovDQotCXVuc2lnbmVkIHJl
c2VydmVkMiAgICAgICAgICAgOiA1Ow0KKwlfX3U4IG1ldGhvZDIgICAgICAg
ICAgICAgOiAxOyAvKiByZXNlcnZlZCBpbiAxLjIgKi8NCisJX191OCByZXNl
cnZlZDIgICAgICAgICAgIDogNTsNCisjZWxzZQ0KKyNlcnJvciAiUGxlYXNl
IGZpeCA8YXNtL2J5dGVvcmRlci5oPiINCisjZW5kaWYNCiANCisjaWYgZGVm
aW5lZChfX0JJR19FTkRJQU5fQklURklFTEQpDQorCV9fdTggcmVzZXJ2ZWQz
ICAgICAgICAgICA6IDY7DQorCS8qIERyaXZlIGNhbiB3cml0ZSB0byBDRC1S
L1cgKENELUUpIGRpc2NzIChvcmFuZ2UgYm9vaywgcGFydCBJSUkpICovDQor
CV9fdTggY2Rfcndfd3JpdGUgICAgICAgICAgOiAxOyAvKiByZXNlcnZlZCBp
biAxLjIgKi8NCiAJLyogRHJpdmUgc3VwcG9ydHMgd3JpdGUgdG8gQ0QtUiBk
aXNjcyAob3JhbmdlIGJvb2ssIHBhcnQgSUkpICovDQotICAgICAgICB1bnNp
Z25lZCBjZF9yX3dyaXRlICAgICAgICAgIDogMTsgLyogcmVzZXJ2ZWQgaW4g
MS4yICovDQotCS8qIERyaXZlIHN1cHBvcnRzIHdyaXRlIHRvIENELVIvVyAo
Q0QtRSkgZGlzY3MgKG9yYW5nZSBib29rLCBwYXJ0IElJSSkgKi8NCi0gICAg
ICAgIHVuc2lnbmVkIGNkX3J3X3dyaXRlICAgICAgICAgIDogMTsgLyogcmVz
ZXJ2ZWQgaW4gMS4yICovDQotCXVuc2lnbmVkIHJlc2VydmVkMyAgICAgICAg
ICAgOiA2Ow0KKwlfX3U4IGNkX3Jfd3JpdGUgICAgICAgICAgOiAxOyAvKiBy
ZXNlcnZlZCBpbiAxLjIgKi8NCisjZWxpZiBkZWZpbmVkKF9fTElUVExFX0VO
RElBTl9CSVRGSUVMRCkNCisNCisJLyogRHJpdmUgY2FuIHdyaXRlIHRvIENE
LVIgZGlzY3MgKG9yYW5nZSBib29rLCBwYXJ0IElJKSAqLw0KKyAgICAgICAg
X191OCBjZF9yX3dyaXRlICAgICAgICAgIDogMTsgLyogcmVzZXJ2ZWQgaW4g
MS4yICovDQorCS8qIERyaXZlIGNhbiB3cml0ZSB0byBDRC1SL1cgKENELUUp
IGRpc2NzIChvcmFuZ2UgYm9vaywgcGFydCBJSUkpICovDQorICAgICAgICBf
X3U4IGNkX3J3X3dyaXRlICAgICAgICAgIDogMTsgLyogcmVzZXJ2ZWQgaW4g
MS4yICovDQorCV9fdTggcmVzZXJ2ZWQzICAgICAgICAgICA6IDY7DQorI2Vs
c2UNCisjZXJyb3IgIlBsZWFzZSBmaXggPGFzbS9ieXRlb3JkZXIuaD4iDQor
I2VuZGlmDQogDQorI2lmIGRlZmluZWQoX19CSUdfRU5ESUFOX0JJVEZJRUxE
KQ0KKwlfX3U4IHJlc2VydmVkNCAgICAgICAgICAgOiAxOw0KKwkvKiBEcml2
ZSBjYW4gcmVhZCBtdWx0aXNlc3Npb24gZGlzY3MuICovDQorCV9fdTggbXVs
dGlzZXNzaW9uICAgICAgICA6IDE7DQorCS8qIERyaXZlIGNhbiByZWFkIG1v
ZGUgMiwgZm9ybSAyIGRhdGEuICovDQorCV9fdTggbW9kZTJfZm9ybTIgICAg
ICAgICA6IDE7DQorCS8qIERyaXZlIGNhbiByZWFkIG1vZGUgMiwgZm9ybSAx
IChYQSkgZGF0YS4gKi8NCisJX191OCBtb2RlMl9mb3JtMSAgICAgICAgIDog
MTsNCisJLyogRHJpdmUgc3VwcG9ydHMgZGlnaXRhbCBvdXRwdXQgb24gcG9y
dCAyLiAqLw0KKwlfX3U4IGRpZ3BvcnQyICAgICAgICAgICAgOiAxOw0KKwkv
KiBEcml2ZSBzdXBwb3J0cyBkaWdpdGFsIG91dHB1dCBvbiBwb3J0IDEuICov
DQorCV9fdTggZGlncG9ydDEgICAgICAgICAgICA6IDE7DQorCS8qIERyaXZl
IGNhbiBkZWxpdmVyIGEgY29tcG9zaXRlIGF1ZGlvL3ZpZGVvIGRhdGEgc3Ry
ZWFtLiAqLw0KKwlfX3U4IGNvbXBvc2l0ZSAgICAgICAgICAgOiAxOw0KKwkv
KiBEcml2ZSBzdXBwb3J0cyBhdWRpbyBwbGF5IG9wZXJhdGlvbnMuICovDQor
CV9fdTggYXVkaW9fcGxheSAgICAgICAgICA6IDE7DQorI2VsaWYgZGVmaW5l
ZChfX0xJVFRMRV9FTkRJQU5fQklURklFTEQpDQogCS8qIERyaXZlIHN1cHBv
cnRzIGF1ZGlvIHBsYXkgb3BlcmF0aW9ucy4gKi8NCi0JdW5zaWduZWQgYXVk
aW9fcGxheSAgICAgICAgICA6IDE7DQorCV9fdTggYXVkaW9fcGxheSAgICAg
ICAgICA6IDE7DQogCS8qIERyaXZlIGNhbiBkZWxpdmVyIGEgY29tcG9zaXRl
IGF1ZGlvL3ZpZGVvIGRhdGEgc3RyZWFtLiAqLw0KLQl1bnNpZ25lZCBjb21w
b3NpdGUgICAgICAgICAgIDogMTsNCisJX191OCBjb21wb3NpdGUgICAgICAg
ICAgIDogMTsNCiAJLyogRHJpdmUgc3VwcG9ydHMgZGlnaXRhbCBvdXRwdXQg
b24gcG9ydCAxLiAqLw0KLQl1bnNpZ25lZCBkaWdwb3J0MSAgICAgICAgICAg
IDogMTsNCisJX191OCBkaWdwb3J0MSAgICAgICAgICAgIDogMTsNCiAJLyog
RHJpdmUgc3VwcG9ydHMgZGlnaXRhbCBvdXRwdXQgb24gcG9ydCAyLiAqLw0K
LQl1bnNpZ25lZCBkaWdwb3J0MiAgICAgICAgICAgIDogMTsNCisJX191OCBk
aWdwb3J0MiAgICAgICAgICAgIDogMTsNCiAJLyogRHJpdmUgY2FuIHJlYWQg
bW9kZSAyLCBmb3JtIDEgKFhBKSBkYXRhLiAqLw0KLQl1bnNpZ25lZCBtb2Rl
Ml9mb3JtMSAgICAgICAgIDogMTsNCisJX191OCBtb2RlMl9mb3JtMSAgICAg
ICAgIDogMTsNCiAJLyogRHJpdmUgY2FuIHJlYWQgbW9kZSAyLCBmb3JtIDIg
ZGF0YS4gKi8NCi0JdW5zaWduZWQgbW9kZTJfZm9ybTIgICAgICAgICA6IDE7
DQorCV9fdTggbW9kZTJfZm9ybTIgICAgICAgICA6IDE7DQogCS8qIERyaXZl
IGNhbiByZWFkIG11bHRpc2Vzc2lvbiBkaXNjcy4gKi8NCi0JdW5zaWduZWQg
bXVsdGlzZXNzaW9uICAgICAgICA6IDE7DQotCXVuc2lnbmVkIHJlc2VydmVk
NCAgICAgICAgICAgOiAxOw0KKwlfX3U4IG11bHRpc2Vzc2lvbiAgICAgICAg
OiAxOw0KKwlfX3U4IHJlc2VydmVkNCAgICAgICAgICAgOiAxOw0KKyNlbHNl
DQorI2Vycm9yICJQbGVhc2UgZml4IDxhc20vYnl0ZW9yZGVyLmg+Ig0KKyNl
bmRpZg0KIA0KKyNpZiBkZWZpbmVkKF9fQklHX0VORElBTl9CSVRGSUVMRCkN
CisJX191OCByZXNlcnZlZDUgICAgICAgICAgIDogMTsNCisJLyogRHJpdmUg
Y2FuIHJldHVybiBNZWRpYSBDYXRhbG9nIE51bWJlciAoVVBDKSBpbmZvLiAq
Lw0KKwlfX3U4IHVwYyAgICAgICAgICAgICAgICAgOiAxOw0KKwkvKiBEcml2
ZSBjYW4gcmV0dXJuIEludGVybmF0aW9uYWwgU3RhbmRhcmQgUmVjb3JkaW5n
IENvZGUgaW5mby4gKi8NCisJX191OCBpc3JjICAgICAgICAgICAgICAgIDog
MTsNCisJLyogRHJpdmUgc3VwcG9ydHMgQzIgZXJyb3IgcG9pbnRlcnMuICov
DQorCV9fdTggYzJfcG9pbnRlcnMgICAgICAgICA6IDE7DQorCS8qIFItVyBk
YXRhIHdpbGwgYmUgcmV0dXJuZWQgZGVpbnRlcmxlYXZlZCBhbmQgZXJyb3Ig
Y29ycmVjdGVkLiAqLw0KKwlfX3U4IHJ3X2NvcnIgICAgICAgICAgICAgOiAx
Ow0KKwkvKiBTdWJjaGFubmVsIHJlYWRzIGNhbiByZXR1cm4gY29tYmluZWQg
Ui1XIGluZm9ybWF0aW9uLiAqLw0KKwlfX3U4IHJ3X3N1cHBvcnRlZCAgICAg
ICAgOiAxOw0KKwkvKiBEcml2ZSBjYW4gY29udGludWUgYSByZWFkIGNkZGEg
b3BlcmF0aW9uIGZyb20gYSBsb3NzIG9mIHN0cmVhbWluZy4qLw0KKwlfX3U4
IGNkZGFfYWNjdXJhdGUgICAgICAgOiAxOw0KKwkvKiBEcml2ZSBjYW4gcmVh
ZCBSZWQgQm9vayBhdWRpbyBkYXRhLiAqLw0KKwlfX3U4IGNkZGEgICAgICAg
ICAgICAgICAgOiAxOw0KKyNlbGlmIGRlZmluZWQoX19MSVRUTEVfRU5ESUFO
X0JJVEZJRUxEKQ0KIAkvKiBEcml2ZSBjYW4gcmVhZCBSZWQgQm9vayBhdWRp
byBkYXRhLiAqLw0KLQl1bnNpZ25lZCBjZGRhICAgICAgICAgICAgICAgIDog
MTsNCisJX191OCBjZGRhICAgICAgICAgICAgICAgIDogMTsNCiAJLyogRHJp
dmUgY2FuIGNvbnRpbnVlIGEgcmVhZCBjZGRhIG9wZXJhdGlvbiBmcm9tIGEg
bG9zcyBvZiBzdHJlYW1pbmcuKi8NCi0JdW5zaWduZWQgY2RkYV9hY2N1cmF0
ZSAgICAgICA6IDE7DQorCV9fdTggY2RkYV9hY2N1cmF0ZSAgICAgICA6IDE7
DQogCS8qIFN1YmNoYW5uZWwgcmVhZHMgY2FuIHJldHVybiBjb21iaW5lZCBS
LVcgaW5mb3JtYXRpb24uICovDQotCXVuc2lnbmVkIHJ3X3N1cHBvcnRlZCAg
ICAgICAgOiAxOw0KKwlfX3U4IHJ3X3N1cHBvcnRlZCAgICAgICAgOiAxOw0K
IAkvKiBSLVcgZGF0YSB3aWxsIGJlIHJldHVybmVkIGRlaW50ZXJsZWF2ZWQg
YW5kIGVycm9yIGNvcnJlY3RlZC4gKi8NCi0JdW5zaWduZWQgcndfY29yciAg
ICAgICAgICAgICA6IDE7DQorCV9fdTggcndfY29yciAgICAgICAgICAgICA6
IDE7DQogCS8qIERyaXZlIHN1cHBvcnRzIEMyIGVycm9yIHBvaW50ZXJzLiAq
Lw0KLQl1bnNpZ25lZCBjMl9wb2ludGVycyAgICAgICAgIDogMTsNCisJX191
OCBjMl9wb2ludGVycyAgICAgICAgIDogMTsNCiAJLyogRHJpdmUgY2FuIHJl
dHVybiBJbnRlcm5hdGlvbmFsIFN0YW5kYXJkIFJlY29yZGluZyBDb2RlIGlu
Zm8uICovDQotCXVuc2lnbmVkIGlzcmMgICAgICAgICAgICAgICAgOiAxOw0K
KwlfX3U4IGlzcmMgICAgICAgICAgICAgICAgOiAxOw0KIAkvKiBEcml2ZSBj
YW4gcmV0dXJuIE1lZGlhIENhdGFsb2cgTnVtYmVyIChVUEMpIGluZm8uICov
DQotCXVuc2lnbmVkIHVwYyAgICAgICAgICAgICAgICAgOiAxOw0KLQl1bnNp
Z25lZCByZXNlcnZlZDUgICAgICAgICAgIDogMTsNCisJX191OCB1cGMgICAg
ICAgICAgICAgICAgIDogMTsNCisJX191OCByZXNlcnZlZDUgICAgICAgICAg
IDogMTsNCisjZWxzZQ0KKyNlcnJvciAiUGxlYXNlIGZpeCA8YXNtL2J5dGVv
cmRlci5oPiINCisjZW5kaWYNCiANCisjaWYgZGVmaW5lZChfX0JJR19FTkRJ
QU5fQklURklFTEQpDQorCS8qIERyaXZlIG1lY2hhbmlzbSB0eXBlcy4gKi8N
CisJbWVjaHR5cGVfdCBtZWNodHlwZSAgICAgICAgICA6IDM7DQorCV9fdTgg
cmVzZXJ2ZWQ2ICAgICAgICAgICA6IDE7DQorCS8qIERyaXZlIGNhbiBlamVj
dCBhIGRpc2Mgb3IgY2hhbmdlciBjYXJ0cmlkZ2UuICovDQorCV9fdTggZWpl
Y3QgICAgICAgICAgICAgICA6IDE7DQorCS8qIFN0YXRlIG9mIHByZXZlbnQv
YWxsb3cganVtcGVyLiAqLw0KKwlfX3U4IHByZXZlbnRfanVtcGVyICAgICAg
OiAxOw0KKwkvKiBQcmVzZW50IHN0YXRlIG9mIGRvb3IgbG9jay4gKi8NCisJ
X191OCBsb2NrX3N0YXRlICAgICAgICAgIDogMTsNCiAJLyogRHJpdmUgY2Fu
IGxvY2sgdGhlIGRvb3IuICovDQotCXVuc2lnbmVkIGxvY2sgICAgICAgICAg
ICAgICAgOiAxOw0KKwlfX3U4IGxvY2sgICAgICAgICAgICAgICAgOiAxOw0K
KyNlbGlmIGRlZmluZWQoX19MSVRUTEVfRU5ESUFOX0JJVEZJRUxEKQ0KKw0K
KwkvKiBEcml2ZSBjYW4gbG9jayB0aGUgZG9vci4gKi8NCisJX191OCBsb2Nr
ICAgICAgICAgICAgICAgIDogMTsNCiAJLyogUHJlc2VudCBzdGF0ZSBvZiBk
b29yIGxvY2suICovDQotCXVuc2lnbmVkIGxvY2tfc3RhdGUgICAgICAgICAg
OiAxOw0KKwlfX3U4IGxvY2tfc3RhdGUgICAgICAgICAgOiAxOw0KIAkvKiBT
dGF0ZSBvZiBwcmV2ZW50L2FsbG93IGp1bXBlci4gKi8NCi0JdW5zaWduZWQg
cHJldmVudF9qdW1wZXIgICAgICA6IDE7DQorCV9fdTggcHJldmVudF9qdW1w
ZXIgICAgICA6IDE7DQogCS8qIERyaXZlIGNhbiBlamVjdCBhIGRpc2Mgb3Ig
Y2hhbmdlciBjYXJ0cmlkZ2UuICovDQotCXVuc2lnbmVkIGVqZWN0ICAgICAg
ICAgICAgICAgOiAxOw0KLQl1bnNpZ25lZCByZXNlcnZlZDYgICAgICAgICAg
IDogMTsNCisJX191OCBlamVjdCAgICAgICAgICAgICAgIDogMTsNCisJX191
OCByZXNlcnZlZDYgICAgICAgICAgIDogMTsNCiAJLyogRHJpdmUgbWVjaGFu
aXNtIHR5cGVzLiAqLw0KIAltZWNodHlwZV90IG1lY2h0eXBlICAgICAgICAg
IDogMzsNCisjZWxzZQ0KKyNlcnJvciAiUGxlYXNlIGZpeCA8YXNtL2J5dGVv
cmRlci5oPiINCisjZW5kaWYNCisNCisjaWYgZGVmaW5lZChfX0JJR19FTkRJ
QU5fQklURklFTEQpDQorCV9fdTggcmVzZXJ2ZWQ3ICAgICAgICAgICA6IDQ7
DQorCS8qIERyaXZlIHN1cHBvcnRzIHNvZnR3YXJlIHNsb3Qgc2VsZWN0aW9u
LiAqLw0KKwlfX3U4IHNzcyAgICAgICAgICAgICAgICAgOiAxOyAgLyogcmVz
ZXJ2ZWQgaW4gMS4yICovDQorCS8qIENoYW5nZXIgY2FuIHJlcG9ydCBleGFj
dCBjb250ZW50cyBvZiBzbG90cy4gKi8NCisJX191OCBkaXNjX3ByZXNlbnQg
ICAgICAgIDogMTsgIC8qIHJlc2VydmVkIGluIDEuMiAqLw0KKwkvKiBBdWRp
byBmb3IgZWFjaCBjaGFubmVsIGNhbiBiZSBtdXRlZCBpbmRlcGVuZGVudGx5
LiAqLw0KKwlfX3U4IHNlcGFyYXRlX211dGUgICAgICAgOiAxOw0KKwkvKiBB
dWRpbyBsZXZlbCBmb3IgZWFjaCBjaGFubmVsIGNhbiBiZSBjb250cm9sbGVk
IGluZGVwZW5kZW50bHkuICovDQorCV9fdTggc2VwYXJhdGVfdm9sdW1lICAg
ICA6IDE7DQorI2VsaWYgZGVmaW5lZChfX0xJVFRMRV9FTkRJQU5fQklURklF
TEQpDQogDQogCS8qIEF1ZGlvIGxldmVsIGZvciBlYWNoIGNoYW5uZWwgY2Fu
IGJlIGNvbnRyb2xsZWQgaW5kZXBlbmRlbnRseS4gKi8NCi0JdW5zaWduZWQg
c2VwYXJhdGVfdm9sdW1lICAgICA6IDE7DQorCV9fdTggc2VwYXJhdGVfdm9s
dW1lICAgICA6IDE7DQogCS8qIEF1ZGlvIGZvciBlYWNoIGNoYW5uZWwgY2Fu
IGJlIG11dGVkIGluZGVwZW5kZW50bHkuICovDQotCXVuc2lnbmVkIHNlcGFy
YXRlX211dGUgICAgICAgOiAxOw0KKwlfX3U4IHNlcGFyYXRlX211dGUgICAg
ICAgOiAxOw0KIAkvKiBDaGFuZ2VyIGNhbiByZXBvcnQgZXhhY3QgY29udGVu
dHMgb2Ygc2xvdHMuICovDQotCXVuc2lnbmVkIGRpc2NfcHJlc2VudCAgICAg
ICAgOiAxOyAgLyogcmVzZXJ2ZWQgaW4gMS4yICovDQorCV9fdTggZGlzY19w
cmVzZW50ICAgICAgICA6IDE7ICAvKiByZXNlcnZlZCBpbiAxLjIgKi8NCiAJ
LyogRHJpdmUgc3VwcG9ydHMgc29mdHdhcmUgc2xvdCBzZWxlY3Rpb24uICov
DQotCXVuc2lnbmVkIHNzcyAgICAgICAgICAgICAgICAgOiAxOyAgLyogcmVz
ZXJ2ZWQgaW4gMS4yICovDQotCXVuc2lnbmVkIHJlc2VydmVkNyAgICAgICAg
ICAgOiA0Ow0KKwlfX3U4IHNzcyAgICAgICAgICAgICAgICAgOiAxOyAgLyog
cmVzZXJ2ZWQgaW4gMS4yICovDQorCV9fdTggcmVzZXJ2ZWQ3ICAgICAgICAg
ICA6IDQ7DQorI2Vsc2UNCisjZXJyb3IgIlBsZWFzZSBmaXggPGFzbS9ieXRl
b3JkZXIuaD4iDQorI2VuZGlmDQogDQogCS8qIE5vdGU6IHRoZSBmb2xsb3dp
bmcgZm91ciBmaWVsZHMgYXJlIHJldHVybmVkIGluIGJpZy1lbmRpYW4gZm9y
bS4gKi8NCiAJLyogTWF4aW11bSBzcGVlZCAoaW4ga0IvcykuICovDQpAQCAt
MzMzLDIzICs0NjgsNDYgQEANCiANCiANCiBzdHJ1Y3QgYXRhcGlfbWVjaHN0
YXRfaGVhZGVyIHsNCi0JdW5zaWduZWQgY3Vyc2xvdCAgICAgICA6IDU7DQot
CXVuc2lnbmVkIGNoYW5nZXJfc3RhdGUgOiAyOw0KLQl1bnNpZ25lZCBmYXVs
dCAgICAgICAgIDogMTsNCisjaWYgZGVmaW5lZChfX0JJR19FTkRJQU5fQklU
RklFTEQpDQorCV9fdTggZmF1bHQgICAgICAgICA6IDE7DQorCV9fdTggY2hh
bmdlcl9zdGF0ZSA6IDI7DQorCV9fdTggY3Vyc2xvdCAgICAgICA6IDU7DQor
I2VsaWYgZGVmaW5lZChfX0xJVFRMRV9FTkRJQU5fQklURklFTEQpDQorCV9f
dTggY3Vyc2xvdCAgICAgICA6IDU7DQorCV9fdTggY2hhbmdlcl9zdGF0ZSA6
IDI7DQorCV9fdTggZmF1bHQgICAgICAgICA6IDE7DQorI2Vsc2UNCisjZXJy
b3IgIlBsZWFzZSBmaXggPGFzbS9ieXRlb3JkZXIuaD4iDQorI2VuZGlmDQog
DQotCXVuc2lnbmVkIHJlc2VydmVkMSAgICAgOiA1Ow0KLQl1bnNpZ25lZCBt
ZWNoX3N0YXRlICAgIDogMzsNCisjaWYgZGVmaW5lZChfX0JJR19FTkRJQU5f
QklURklFTEQpDQorCV9fdTggbWVjaF9zdGF0ZSAgICA6IDM7DQorCV9fdTgg
cmVzZXJ2ZWQxICAgICA6IDU7DQorI2VsaWYgZGVmaW5lZChfX0xJVFRMRV9F
TkRJQU5fQklURklFTEQpDQorCV9fdTggcmVzZXJ2ZWQxICAgICA6IDU7DQor
CV9fdTggbWVjaF9zdGF0ZSAgICA6IDM7DQorI2Vsc2UNCisjZXJyb3IgIlBs
ZWFzZSBmaXggPGFzbS9ieXRlb3JkZXIuaD4iDQorI2VuZGlmDQogDQogCWJ5
dGUgICAgIGN1cmxiYVszXTsNCiAJYnl0ZSAgICAgbnNsb3RzOw0KLQl1bnNp
Z25lZCBzaG9ydCBzbG90X3RhYmxlbGVuOw0KKwlfX3U4IHNob3J0IHNsb3Rf
dGFibGVsZW47DQogfTsNCiANCiANCiBzdHJ1Y3QgYXRhcGlfc2xvdCB7DQot
CXVuc2lnbmVkIGNoYW5nZSAgICAgICA6IDE7DQotCXVuc2lnbmVkIHJlc2Vy
dmVkMSAgICA6IDY7DQotCXVuc2lnbmVkIGRpc2NfcHJlc2VudCA6IDE7DQor
I2lmIGRlZmluZWQoX19CSUdfRU5ESUFOX0JJVEZJRUxEKQ0KKwlfX3U4IGRp
c2NfcHJlc2VudCA6IDE7DQorCV9fdTggcmVzZXJ2ZWQxICAgIDogNjsNCisJ
X191OCBjaGFuZ2UgICAgICAgOiAxOw0KKyNlbGlmIGRlZmluZWQoX19MSVRU
TEVfRU5ESUFOX0JJVEZJRUxEKQ0KKwlfX3U4IGNoYW5nZSAgICAgICA6IDE7
DQorCV9fdTggcmVzZXJ2ZWQxICAgIDogNjsNCisJX191OCBkaXNjX3ByZXNl
bnQgOiAxOw0KKyNlbHNlDQorI2Vycm9yICJQbGVhc2UgZml4IDxhc20vYnl0
ZW9yZGVyLmg+Ig0KKyNlbmRpZg0KIA0KIAlieXRlIHJlc2VydmVkMlszXTsN
CiB9Ow0KZGlmZiAtdXJOIGxpbnV4LTIuMS4xMjEtcHJpc3RpbmUvZHJpdmVy
cy9ibG9jay9pZGUtZGlzay5jIGxpbnV4L2RyaXZlcnMvYmxvY2svaWRlLWRp
c2suYw0KLS0tIGxpbnV4LTIuMS4xMjEtcHJpc3RpbmUvZHJpdmVycy9ibG9j
ay9pZGUtZGlzay5jCU1vbiBNYXkgMTggMTQ6NTA6MjYgMTk5OA0KKysrIGxp
bnV4L2RyaXZlcnMvYmxvY2svaWRlLWRpc2suYwlNb24gU2VwIDE0IDExOjUw
OjI5IDE5OTgNCkBAIC0xOSw2ICsxOSw3IEBADQogICogVmVyc2lvbiAxLjA1
CQlhZGQgY2FwYWNpdHkgc3VwcG9ydCBmb3IgQVRBMyA+PSA4R0INCiAgKiBW
ZXJzaW9uIDEuMDYJCWdldCBib290LXVwIG1lc3NhZ2VzIHRvIHNob3cgZnVs
bCBjeWwgY291bnQNCiAgKiBWZXJzaW9uIDEuMDcJCWRpc2FibGUgZG9vci1s
b2NraW5nIGlmIGl0IGZhaWxzDQorICogVmVyc2lvbiAxLjA3YQlmaXhlZCBt
dWx0X2NvdW50IGVuYWJsZXMNCiAgKi8NCiANCiAjZGVmaW5lIElERURJU0tf
VkVSU0lPTgkiMS4wNyINCkBAIC03MjQsMjAgKzcyNSwyNCBAQA0KIAkgZHJp
dmUtPm5hbWUsIGlkLT5tb2RlbCwgaWRlZGlza19jYXBhY2l0eShkcml2ZSkv
MjA0OEwsIGlkLT5idWZfc2l6ZS8yLA0KIAkgZHJpdmUtPmJpb3NfY3lsLCBk
cml2ZS0+Ymlvc19oZWFkLCBkcml2ZS0+Ymlvc19zZWN0KTsNCiAJaWYgKGRy
aXZlLT51c2luZ19kbWEpIHsNCi0JCWlmICgoaWQtPmZpZWxkX3ZhbGlkICYg
NCkgJiYgKGlkLT5kbWFfdWx0cmEgJiAoaWQtPmRtYV91bHRyYSA+PiA4KSAm
IDcpKQ0KLQkJCXByaW50aygiLCBVRE1BIik7DQotCQllbHNlDQorCQlpZiAo
KGlkLT5maWVsZF92YWxpZCAmIDQpICYmDQorCQkgICAgKGlkLT5kbWFfdWx0
cmEgJiAoaWQtPmRtYV91bHRyYSA+PiA4KSAmIDcpKSB7DQorCQkJcHJpbnRr
KCIsIFVETUEiKTsJLyogVURNQSBCSU9TLWVuYWJsZWQhICovDQorCQl9IGVs
c2UgaWYgKGlkLT5maWVsZF92YWxpZCAmIDQpIHsNCisJCQlwcmludGsoIiwg
KFUpRE1BIik7CS8qIENhbiBiZSBCSU9TLWVuYWJsZWQhICovDQorCQl9IGVs
c2Ugew0KIAkJCXByaW50aygiLCBETUEiKTsNCisJCX0NCiAJfQ0KIAlwcmlu
dGsoIlxuIik7DQogCWRyaXZlLT5tdWx0X2NvdW50ID0gMDsNCiAJaWYgKGlk
LT5tYXhfbXVsdHNlY3QpIHsNCi0JCWRyaXZlLT5tdWx0X3JlcSA9IElOSVRJ
QUxfTVVMVF9DT1VOVDsNCi0JCWlmIChkcml2ZS0+bXVsdF9yZXEgPiBpZC0+
bWF4X211bHRzZWN0KQ0KLQkJCWRyaXZlLT5tdWx0X3JlcSA9IGlkLT5tYXhf
bXVsdHNlY3Q7DQotCQlpZiAoZHJpdmUtPm11bHRfcmVxIHx8ICgoaWQtPm11
bHRzZWN0X3ZhbGlkICYgMSkgJiYgaWQtPm11bHRzZWN0KSkNCi0JCQlkcml2
ZS0+c3BlY2lhbC5iLnNldF9tdWx0bW9kZSA9IDE7DQorCQlpZC0+bXVsdHNl
Y3QgPSAoKGlkLT5tYXhfbXVsdHNlY3QvMikgPiAxKSA/IGlkLT5tYXhfbXVs
dHNlY3QgOiAwOw0KKwkJaWQtPm11bHRzZWN0X3ZhbGlkID0gaWQtPm11bHRz
ZWN0ID8gMSA6IDA7DQorCQlkcml2ZS0+bXVsdF9yZXEgPSBpZC0+bXVsdHNl
Y3RfdmFsaWQgPyBpZC0+bWF4X211bHRzZWN0IDogSU5JVElBTF9NVUxUX0NP
VU5UOw0KKwkJZHJpdmUtPnNwZWNpYWwuYi5zZXRfbXVsdG1vZGUgPSBkcml2
ZS0+bXVsdF9yZXEgPyAxIDogMDsNCiAJfQ0KKwlkcml2ZS0+bm9faW9fMzJi
aXQgPSBpZC0+ZHdvcmRfaW8gPyAxIDogMDsNCiB9DQogDQogaW50IGlkZWRp
c2tfaW5pdCAodm9pZCkNCmRpZmYgLXVyTiBsaW51eC0yLjEuMTIxLXByaXN0
aW5lL2RyaXZlcnMvYmxvY2svaWRlLWRtYS5jIGxpbnV4L2RyaXZlcnMvYmxv
Y2svaWRlLWRtYS5jDQotLS0gbGludXgtMi4xLjEyMS1wcmlzdGluZS9kcml2
ZXJzL2Jsb2NrL2lkZS1kbWEuYwlUaHUgSnVsIDMwIDIyOjA2OjUyIDE5OTgN
CisrKyBsaW51eC9kcml2ZXJzL2Jsb2NrL2lkZS1kbWEuYwlNb24gU2VwIDE0
IDEwOjQ5OjM5IDE5OTgNCkBAIC02Miw2ICs2MiwxMyBAQA0KICAqIGZvciBz
dXBwbHlpbmcgYSBQcm9taXNlIFVETUEgYm9hcmQgJiBXRCBVRE1BIGRyaXZl
IGZvciB0aGlzIHdvcmshDQogICoNCiAgKiBBbmQsIHllcywgSW50ZWwgWmFw
cGEgYm9hcmRzIHJlYWxseSAqZG8qIHVzZSBib3RoIFBJSVggSURFIHBvcnRz
Lg0KKyAqDQorICogQUNBUkQgQVRQODUwVUYgQ2hpcHNldCAiTW9kaWZpZWQg
U0NTSSBDbGFzcyIgd2l0aCBvdGhlciBuYW1lcw0KKyAqICAgICAgIEFFQzYy
MTAgVS9VRg0KKyAqICAgICAgIFNJSUcncyBVbHRyYUlERSBQcm8gQ04tMjQ0
OQ0KKyAqIFRUSSAgIEhQVDM0MyBDaGlwc2V0ICJNb2RpZmllZCBTQ1NJIENs
YXNzIiBidXQgcmVwb3J0cyBhcyBhbg0KKyAqICAgICAgIHVua25vd24gc3Rv
cmFnZSBkZXZpY2UuDQorICogTkVXCWNoZWNrX2RyaXZlX2xpc3RzKGlkZV9k
cml2ZV90ICpkcml2ZSwgaW50IGdvb2RfYmFkKQ0KICAqLw0KICNpbmNsdWRl
IDxsaW51eC9jb25maWcuaD4NCiAjaW5jbHVkZSA8bGludXgvdHlwZXMuaD4N
CkBAIC04NSw5ICs5MiwxOSBAQA0KIGNvbnN0IGNoYXIgKmdvb2RfZG1hX2Ry
aXZlc1tdID0geyJNaWNyb3BvbGlzIDIxMTJBIiwNCiAJCQkJICJDT05ORVIg
Q1RNQSA0MDAwIiwNCiAJCQkJICJTVDM0MzQyQSIsCS8qIGZvciBTdW4gVWx0
cmEgKi8NCisJCQkJICJXREMgQUMyMzQwRiIsCS8qIERNQSBtb2RlMSAqLw0K
KwkJCQkgIldEQyBBQzIzNDBIIiwJLyogRE1BIG1vZGUxICovDQogCQkJCSBO
VUxMfTsNCiANCiAvKg0KKyAqIGJhZF9kbWFfZHJpdmVzKCkgbGlzdHMgdGhl
IG1vZGVsIG5hbWVzIChmcm9tICJoZHBhcm0gLWkiKQ0KKyAqIG9mIGRyaXZl
cyB3aGljaCBzdXBwb3NlZGx5IHN1cHBvcnQgKFUpRE1BIGJ1dCB3aGljaCBh
cmUNCisgKiBrbm93biB0byBjb3JydXB0IGRhdGEgd2l0aCB0aGlzIGludGVy
ZmFjZSB1bmRlciBMaW51eC4NCisgKi8NCitjb25zdCBjaGFyICpiYWRfZG1h
X2RyaXZlc1tdID0geyJXREMgQUMyMjEwMEgiLA0KKyAJCQkJTlVMTH07DQor
DQorLyoNCiAgKiBPdXIgUGh5c2ljYWwgUmVnaW9uIERlc2NyaXB0b3IgKFBS
RCkgdGFibGUgc2hvdWxkIGJlIGxhcmdlIGVub3VnaA0KICAqIHRvIGhhbmRs
ZSB0aGUgYmlnZ2VzdCBJL08gcmVxdWVzdCB3ZSBhcmUgbGlrZWx5IHRvIHNl
ZS4gIFNpbmNlIHJlcXVlc3RzDQogICogY2FuIGhhdmUgbm8gbW9yZSB0aGFu
IDI1NiBzZWN0b3JzLCBhbmQgc2luY2UgdGhlIHR5cGljYWwgYmxvY2tzaXpl
IGlzDQpAQCAtMjA0LDI3ICsyMjEsNTcgQEANCiAJcmV0dXJuIGNvdW50Ow0K
IH0NCiANCi1zdGF0aWMgaW50IGNvbmZpZ19kcml2ZV9mb3JfZG1hIChpZGVf
ZHJpdmVfdCAqZHJpdmUpDQorLyoNCisgKiAgRm9yIGJvdGggQmxhY2tsaXN0
ZWQgYW5kIFdoaXRlbGlzdGVkIGRyaXZlcy4NCisgKiAgVGhpcyBpcyBzZXR1
cCB0byBiZSBjYWxsZWQgYXMgYW4gZXh0ZXJuIGZvciBmdXR1cmUgc3VwcG9y
dA0KKyAqICB0byBvdGhlciBzcGVjaWFsIGRyaXZlciBjb2RlLg0KKyAqLw0K
K2ludCBjaGVja19kcml2ZV9saXN0cyAoaWRlX2RyaXZlX3QgKmRyaXZlLCBp
bnQgZ29vZF9iYWQpDQogew0KIAljb25zdCBjaGFyICoqbGlzdDsNCiAJc3Ry
dWN0IGhkX2RyaXZlaWQgKmlkID0gZHJpdmUtPmlkOw0KKw0KKwlpZiAoZ29v
ZF9iYWQpIHsNCisJCS8qIENvbnN1bHQgdGhlIGxpc3Qgb2Yga25vd24gImdv
b2QiIGRyaXZlcyAqLw0KKwkJbGlzdCA9IGdvb2RfZG1hX2RyaXZlczsNCisJ
CXdoaWxlICgqbGlzdCkgew0KKwkJCWlmICghc3RyY21wKCpsaXN0KyssaWQt
Pm1vZGVsKSkNCisJCQkJcmV0dXJuIDE7DQorCQl9DQorCX0gZWxzZSB7DQor
CQkvKiBDb25zdWx0IHRoZSBsaXN0IG9mIGtub3duICJiYWQiIGRyaXZlcyAq
Lw0KKwkJbGlzdCA9IGJhZF9kbWFfZHJpdmVzOw0KKwkJd2hpbGUgKCpsaXN0
KSB7DQorCQkJaWYgKCFzdHJjbXAoKmxpc3QrKyxpZC0+bW9kZWwpKSB7DQor
CQkJCXByaW50aygiJXM6IChVKURNQSBjYXBhYmlsaXR5IGlzIGJyb2tlbiBm
b3IgJXNcbiIsDQorCQkJCQlkcml2ZS0+bmFtZSwgaWQtPm1vZGVsKTsNCisJ
CQkJcmV0dXJuIDE7DQorCQkJfQ0KKwkJfQ0KKwl9DQorCXJldHVybiAwOw0K
K30NCisNCitzdGF0aWMgaW50IGNvbmZpZ19kcml2ZV9mb3JfZG1hIChpZGVf
ZHJpdmVfdCAqZHJpdmUpDQorew0KKwlzdHJ1Y3QgaGRfZHJpdmVpZCAqaWQg
PSBkcml2ZS0+aWQ7DQogCWlkZV9od2lmX3QgKmh3aWYgPSBIV0lGKGRyaXZl
KTsNCiANCiAJaWYgKGlkICYmIChpZC0+Y2FwYWJpbGl0eSAmIDEpICYmIGh3
aWYtPmF1dG9kbWEpIHsNCisJCS8qIENvbnN1bHQgdGhlIGxpc3Qgb2Yga25v
d24gImJhZCIgZHJpdmVzICovDQorCQlpZiAoY2hlY2tfZHJpdmVfbGlzdHMo
ZHJpdmUsIEJBRF9ETUFfRFJJVkUpKQ0KKwkJCXJldHVybiBod2lmLT5kbWFw
cm9jKGlkZV9kbWFfb2ZmLCBkcml2ZSk7DQogCQkvKiBFbmFibGUgRE1BIG9u
IGFueSBkcml2ZSB0aGF0IGhhcyBVbHRyYURNQSAobW9kZSAwLzEvMikgZW5h
YmxlZCAqLw0KIAkJaWYgKGlkLT5maWVsZF92YWxpZCAmIDQpCS8qIFVsdHJh
RE1BICovDQogCQkJaWYgICgoaWQtPmRtYV91bHRyYSAmIChpZC0+ZG1hX3Vs
dHJhID4+IDgpICYgNykpDQogCQkJCXJldHVybiBod2lmLT5kbWFwcm9jKGlk
ZV9kbWFfb24sIGRyaXZlKTsNCiAJCS8qIEVuYWJsZSBETUEgb24gYW55IGRy
aXZlIHRoYXQgaGFzIG1vZGUyIERNQSAobXVsdGkgb3Igc2luZ2xlKSBlbmFi
bGVkICovDQogCQlpZiAoaWQtPmZpZWxkX3ZhbGlkICYgMikJLyogcmVndWxh
ciBETUEgKi8NCi0JCQlpZiAgKChpZC0+ZG1hX213b3JkICYgMHg0MDQpID09
IDB4NDA0IHx8IChpZC0+ZG1hXzF3b3JkICYgMHg0MDQpID09IDB4NDA0KQ0K
KwkJCWlmICgoaWQtPmRtYV9td29yZCAmIDB4NDA0KSA9PSAweDQwNCB8fCAo
aWQtPmRtYV8xd29yZCAmIDB4NDA0KSA9PSAweDQwNCkNCiAJCQkJcmV0dXJu
IGh3aWYtPmRtYXByb2MoaWRlX2RtYV9vbiwgZHJpdmUpOw0KIAkJLyogQ29u
c3VsdCB0aGUgbGlzdCBvZiBrbm93biAiZ29vZCIgZHJpdmVzICovDQotCQls
aXN0ID0gZ29vZF9kbWFfZHJpdmVzOw0KLQkJd2hpbGUgKCpsaXN0KSB7DQot
CQkJaWYgKCFzdHJjbXAoKmxpc3QrKyxpZC0+bW9kZWwpKQ0KLQkJCQlyZXR1
cm4gaHdpZi0+ZG1hcHJvYyhpZGVfZG1hX29uLCBkcml2ZSk7DQotCQl9DQor
CQlpZiAoY2hlY2tfZHJpdmVfbGlzdHMoZHJpdmUsIEdPT0RfRE1BX0RSSVZF
KSkNCisJCQlyZXR1cm4gaHdpZi0+ZG1hcHJvYyhpZGVfZG1hX29uLCBkcml2
ZSk7DQogCX0NCiAJcmV0dXJuIGh3aWYtPmRtYXByb2MoaWRlX2RtYV9vZmZf
cXVpZXRseSwgZHJpdmUpOw0KIH0NCkBAIC0zNTQsNyArNDAxLDcgQEANCiAJ
CX0NCiAJfQ0KIAlpZiAoZG1hX2Jhc2UpIHsNCi0JCWlmIChleHRyYSkgLyog
UERDMjAyNDYgKi8NCisJCWlmIChleHRyYSkgLyogUERDMjAyNDYgJiBIUFQz
NDMgKi8NCiAJCQlyZXF1ZXN0X3JlZ2lvbihkbWFfYmFzZSsxNiwgZXh0cmEs
IG5hbWUpOw0KIAkJZG1hX2Jhc2UgKz0gaHdpZi0+Y2hhbm5lbCA/IDggOiAw
Ow0KIAkJaWYgKGluYihkbWFfYmFzZSsyKSAmIDB4ODApIHsNCmRpZmYgLXVy
TiBsaW51eC0yLjEuMTIxLXByaXN0aW5lL2RyaXZlcnMvYmxvY2svaWRlLWZs
b3BweS5jIGxpbnV4L2RyaXZlcnMvYmxvY2svaWRlLWZsb3BweS5jDQotLS0g
bGludXgtMi4xLjEyMS1wcmlzdGluZS9kcml2ZXJzL2Jsb2NrL2lkZS1mbG9w
cHkuYwlTdW4gSnVsIDI2IDEzOjQ2OjQ2IDE5OTgNCisrKyBsaW51eC9kcml2
ZXJzL2Jsb2NrL2lkZS1mbG9wcHkuYwlNb24gU2VwIDE0IDExOjUzOjEyIDE5
OTgNCkBAIC0xMjEsMTAgKzEyMSwxOSBAQA0KICAqCVJlbW92YWJsZSBCbG9j
ayBBY2Nlc3MgQ2FwYWJpbGl0aWVzIFBhZ2UNCiAgKi8NCiB0eXBlZGVmIHN0
cnVjdCB7DQorI2lmIGRlZmluZWQoX19MSVRUTEVfRU5ESUFOX0JJVEZJRUxE
KQ0KIAl1bnNpZ25lZAlwYWdlX2NvZGUJOjY7CS8qIFBhZ2UgY29kZSAtIFNo
b3VsZCBiZSAweDFiICovDQogCXVuc2lnbmVkCXJlc2VydmVkMV82CToxOwkv
KiBSZXNlcnZlZCAqLw0KIAl1bnNpZ25lZAlwcwkJOjE7CS8qIFNob3VsZCBi
ZSAwICovDQorI2VsaWYgZGVmaW5lZChfX0JJR19FTkRJQU5fQklURklFTEQp
DQorCXVuc2lnbmVkCXBzCQk6MTsJLyogU2hvdWxkIGJlIDAgKi8NCisJdW5z
aWduZWQJcmVzZXJ2ZWQxXzYJOjE7CS8qIFJlc2VydmVkICovDQorCXVuc2ln
bmVkCXBhZ2VfY29kZQk6NjsJLyogUGFnZSBjb2RlIC0gU2hvdWxkIGJlIDB4
MWIgKi8NCisjZWxzZQ0KKyNlcnJvciAiQml0ZmllbGQgZW5kaWFubmVzcyBu
b3QgZGVmaW5lZCEgQ2hlY2sgeW91ciBieXRlb3JkZXIuaCINCisjZW5kaWYN
CiAJdTgJCXBhZ2VfbGVuZ3RoOwkJLyogUGFnZSBMZW5ndGggLSBTaG91bGQg
YmUgMHhhICovDQorI2lmIGRlZmluZWQoX19MSVRUTEVfRU5ESUFOX0JJVEZJ
RUxEKQ0KIAl1bnNpZ25lZAlyZXNlcnZlZDIJOjY7DQogCXVuc2lnbmVkCXNy
ZnAJCToxOwkvKiBTdXBwb3J0cyByZXBvcnRpbmcgcHJvZ3Jlc3Mgb2YgZm9y
bWF0ICovDQogCXVuc2lnbmVkCXNmbHAJCToxOwkvKiBTeXN0ZW0gZmxvcHB5
IHR5cGUgZGV2aWNlICovDQpAQCAtMTMyLDYgKzE0MSwxNyBAQA0KIAl1bnNp
Z25lZAlyZXNlcnZlZDMJOjM7DQogCXVuc2lnbmVkCXNtbAkJOjE7CS8qIFNp
bmdsZSAvIE11bHRpcGxlIGx1biBzdXBwb3J0ZWQgKi8NCiAJdW5zaWduZWQJ
bmNkCQk6MTsJLyogTm9uIGNkIG9wdGljYWwgZGV2aWNlICovDQorI2VsaWYg
ZGVmaW5lZChfX0JJR19FTkRJQU5fQklURklFTEQpDQorCXVuc2lnbmVkCXNm
bHAJCToxOwkvKiBTeXN0ZW0gZmxvcHB5IHR5cGUgZGV2aWNlICovDQorCXVu
c2lnbmVkCXNyZnAJCToxOwkvKiBTdXBwb3J0cyByZXBvcnRpbmcgcHJvZ3Jl
c3Mgb2YgZm9ybWF0ICovDQorCXVuc2lnbmVkCXJlc2VydmVkMgk6NjsNCisJ
dW5zaWduZWQJbmNkCQk6MTsJLyogTm9uIGNkIG9wdGljYWwgZGV2aWNlICov
DQorCXVuc2lnbmVkCXNtbAkJOjE7CS8qIFNpbmdsZSAvIE11bHRpcGxlIGx1
biBzdXBwb3J0ZWQgKi8NCisJdW5zaWduZWQJcmVzZXJ2ZWQzCTozOw0KKwl1
bnNpZ25lZAl0bHVuCQk6MzsJLyogVG90YWwgbG9naWNhbCB1bml0cyBzdXBw
b3J0ZWQgYnkgdGhlIGRldmljZSAqLw0KKyNlbHNlDQorI2Vycm9yICJCaXRm
aWVsZCBlbmRpYW5uZXNzIG5vdCBkZWZpbmVkISBDaGVjayB5b3VyIGJ5dGVv
cmRlci5oIg0KKyNlbmRpZg0KIAl1OAkJcmVzZXJ2ZWRbOF07DQogfSBpZGVm
bG9wcHlfY2FwYWJpbGl0aWVzX3BhZ2VfdDsNCiANCkBAIC0xMzksOSArMTU5
LDE3IEBADQogICoJRmxleGlibGUgZGlzayBwYWdlLg0KICAqLw0KIHR5cGVk
ZWYgc3RydWN0IHsNCisjaWYgZGVmaW5lZChfX0xJVFRMRV9FTkRJQU5fQklU
RklFTEQpDQogCXVuc2lnbmVkCXBhZ2VfY29kZQk6NjsJLyogUGFnZSBjb2Rl
IC0gU2hvdWxkIGJlIDB4NSAqLw0KIAl1bnNpZ25lZAlyZXNlcnZlZDFfNgk6
MTsJLyogUmVzZXJ2ZWQgKi8NCiAJdW5zaWduZWQJcHMJCToxOwkvKiBUaGUg
ZGV2aWNlIGlzIGNhcGFibGUgb2Ygc2F2aW5nIHRoZSBwYWdlICovDQorI2Vs
aWYgZGVmaW5lZChfX0JJR19FTkRJQU5fQklURklFTEQpDQorCXVuc2lnbmVk
CXBzCQk6MTsJLyogVGhlIGRldmljZSBpcyBjYXBhYmxlIG9mIHNhdmluZyB0
aGUgcGFnZSAqLw0KKwl1bnNpZ25lZAlyZXNlcnZlZDFfNgk6MTsJLyogUmVz
ZXJ2ZWQgKi8NCisJdW5zaWduZWQJcGFnZV9jb2RlCTo2OwkvKiBQYWdlIGNv
ZGUgLSBTaG91bGQgYmUgMHg1ICovDQorI2Vsc2UNCisjZXJyb3IgIkJpdGZp
ZWxkIGVuZGlhbm5lc3Mgbm90IGRlZmluZWQhIENoZWNrIHlvdXIgYnl0ZW9y
ZGVyLmgiDQorI2VuZGlmDQogCXU4CQlwYWdlX2xlbmd0aDsJCS8qIFBhZ2Ug
TGVuZ3RoIC0gU2hvdWxkIGJlIDB4MWUgKi8NCiAJdTE2CQl0cmFuc2Zlcl9y
YXRlOwkJLyogSW4ga2lsb2JpdHMgcGVyIHNlY29uZCAqLw0KIAl1OAkJaGVh
ZHMsIHNlY3RvcnM7CQkvKiBOdW1iZXIgb2YgaGVhZHMsIE51bWJlciBvZiBz
ZWN0b3JzIHBlciB0cmFjayAqLw0KQEAgLTE2NCw4ICsxOTIsMTUgQEANCiAN
CiB0eXBlZGVmIHN0cnVjdCB7DQogCXUzMgkJYmxvY2tzOwkJCS8qIE51bWJl
ciBvZiBibG9ja3MgKi8NCisjaWYgZGVmaW5lZChfX0xJVFRMRV9FTkRJQU5f
QklURklFTEQpDQogCXVuc2lnbmVkCWRjCQk6MjsJLyogRGVzY3JpcHRvciBD
b2RlICovDQogCXVuc2lnbmVkCXJlc2VydmVkCTo2Ow0KKyNlbGlmIGRlZmlu
ZWQoX19CSUdfRU5ESUFOX0JJVEZJRUxEKQ0KKwl1bnNpZ25lZAlyZXNlcnZl
ZAk6NjsNCisJdW5zaWduZWQJZGMJCToyOwkvKiBEZXNjcmlwdG9yIENvZGUg
Ki8NCisjZWxzZQ0KKyNlcnJvciAiQml0ZmllbGQgZW5kaWFubmVzcyBub3Qg
ZGVmaW5lZCEgQ2hlY2sgeW91ciBieXRlb3JkZXIuaCINCisjZW5kaWYNCiAJ
dTgJCWxlbmd0aF9tc2I7CQkvKiBCbG9jayBMZW5ndGggKE1TQikqLw0KIAl1
MTYJCWxlbmd0aDsJCQkvKiBCbG9jayBMZW5ndGggKi8NCiB9IGlkZWZsb3Bw
eV9jYXBhY2l0eV9kZXNjcmlwdG9yX3Q7DQpAQCAtMjcxLDYgKzMwNiw3IEBA
DQogdHlwZWRlZiB1bmlvbiB7DQogCXVuc2lnbmVkIGFsbAkJCTo4Ow0KIAlz
dHJ1Y3Qgew0KKyNpZiBkZWZpbmVkKF9fTElUVExFX0VORElBTl9CSVRGSUVM
RCkNCiAJCXVuc2lnbmVkIGNoZWNrCQk6MTsJLyogRXJyb3Igb2NjdXJyZWQg
Ki8NCiAJCXVuc2lnbmVkIGlkeAkJOjE7CS8qIFJlc2VydmVkICovDQogCQl1
bnNpZ25lZCBjb3JyCQk6MTsJLyogQ29ycmVjdGFibGUgZXJyb3Igb2NjdXJy
ZWQgKi8NCkBAIC0yNzksNiArMzE1LDE4IEBADQogCQl1bnNpZ25lZCByZXNl
cnZlZDUJOjE7CS8qIFJlc2VydmVkICovDQogCQl1bnNpZ25lZCBkcmR5CQk6
MTsJLyogSWdub3JlZCBmb3IgQVRBUEkgY29tbWFuZHMgKHJlYWR5IHRvIGFj
Y2VwdCBBVEEgY29tbWFuZCkgKi8NCiAJCXVuc2lnbmVkIGJzeQkJOjE7CS8q
IFRoZSBkZXZpY2UgaGFzIGFjY2VzcyB0byB0aGUgY29tbWFuZCBibG9jayAq
Lw0KKyNlbGlmIGRlZmluZWQoX19CSUdfRU5ESUFOX0JJVEZJRUxEKQ0KKwkJ
dW5zaWduZWQgYnN5CQk6MTsJLyogVGhlIGRldmljZSBoYXMgYWNjZXNzIHRv
IHRoZSBjb21tYW5kIGJsb2NrICovDQorCQl1bnNpZ25lZCBkcmR5CQk6MTsJ
LyogSWdub3JlZCBmb3IgQVRBUEkgY29tbWFuZHMgKHJlYWR5IHRvIGFjY2Vw
dCBBVEEgY29tbWFuZCkgKi8NCisJCXVuc2lnbmVkIHJlc2VydmVkNQk6MTsJ
LyogUmVzZXJ2ZWQgKi8NCisJCXVuc2lnbmVkIGRzYwkJOjE7CS8qIE1lZGlh
IGFjY2VzcyBjb21tYW5kIGZpbmlzaGVkICovDQorCQl1bnNpZ25lZCBkcnEJ
CToxOwkvKiBEYXRhIGlzIHJlcXVlc3QgYnkgdGhlIGRldmljZSAqLw0KKwkJ
dW5zaWduZWQgY29ycgkJOjE7CS8qIENvcnJlY3RhYmxlIGVycm9yIG9jY3Vy
cmVkICovDQorCQl1bnNpZ25lZCBpZHgJCToxOwkvKiBSZXNlcnZlZCAqLw0K
KwkJdW5zaWduZWQgY2hlY2sJCToxOwkvKiBFcnJvciBvY2N1cnJlZCAqLw0K
KyNlbHNlDQorI2Vycm9yICJCaXRmaWVsZCBlbmRpYW5uZXNzIG5vdCBkZWZp
bmVkISBDaGVjayB5b3VyIGJ5dGVvcmRlci5oIg0KKyNlbmRpZg0KIAl9IGI7
DQogfSBpZGVmbG9wcHlfc3RhdHVzX3JlZ190Ow0KIA0KQEAgLTI4OCwxMSAr
MzM2LDIxIEBADQogdHlwZWRlZiB1bmlvbiB7DQogCXVuc2lnbmVkIGFsbAkJ
CTo4Ow0KIAlzdHJ1Y3Qgew0KKyNpZiBkZWZpbmVkKF9fTElUVExFX0VORElB
Tl9CSVRGSUVMRCkNCiAJCXVuc2lnbmVkIGlsaQkJOjE7CS8qIElsbGVnYWwg
TGVuZ3RoIEluZGljYXRpb24gKi8NCiAJCXVuc2lnbmVkIGVvbQkJOjE7CS8q
IEVuZCBPZiBNZWRpYSBEZXRlY3RlZCAqLw0KIAkJdW5zaWduZWQgYWJydAkJ
OjE7CS8qIEFib3J0ZWQgY29tbWFuZCAtIEFzIGRlZmluZWQgYnkgQVRBICov
DQogCQl1bnNpZ25lZCBtY3IJCToxOwkvKiBNZWRpYSBDaGFuZ2UgUmVxdWVz
dGVkIC0gQXMgZGVmaW5lZCBieSBBVEEgKi8NCiAJCXVuc2lnbmVkIHNlbnNl
X2tleQk6NDsJLyogU2Vuc2Uga2V5IG9mIHRoZSBsYXN0IGZhaWxlZCBwYWNr
ZXQgY29tbWFuZCAqLw0KKyNlbGlmIGRlZmluZWQoX19CSUdfRU5ESUFOX0JJ
VEZJRUxEKQ0KKwkJdW5zaWduZWQgc2Vuc2Vfa2V5CTo0OwkvKiBTZW5zZSBr
ZXkgb2YgdGhlIGxhc3QgZmFpbGVkIHBhY2tldCBjb21tYW5kICovDQorCQl1
bnNpZ25lZCBtY3IJCToxOwkvKiBNZWRpYSBDaGFuZ2UgUmVxdWVzdGVkIC0g
QXMgZGVmaW5lZCBieSBBVEEgKi8NCisJCXVuc2lnbmVkIGFicnQJCToxOwkv
KiBBYm9ydGVkIGNvbW1hbmQgLSBBcyBkZWZpbmVkIGJ5IEFUQSAqLw0KKwkJ
dW5zaWduZWQgZW9tCQk6MTsJLyogRW5kIE9mIE1lZGlhIERldGVjdGVkICov
DQorCQl1bnNpZ25lZCBpbGkJCToxOwkvKiBJbGxlZ2FsIExlbmd0aCBJbmRp
Y2F0aW9uICovDQorI2Vsc2UNCisjZXJyb3IgIkJpdGZpZWxkIGVuZGlhbm5l
c3Mgbm90IGRlZmluZWQhIENoZWNrIHlvdXIgYnl0ZW9yZGVyLmgiDQorI2Vu
ZGlmDQogCX0gYjsNCiB9IGlkZWZsb3BweV9lcnJvcl9yZWdfdDsNCiANCkBA
IC0zMDIsMTAgKzM2MCwxOSBAQA0KIHR5cGVkZWYgdW5pb24gew0KIAl1bnNp
Z25lZCBhbGwJCQk6ODsNCiAJc3RydWN0IHsNCisjaWYgZGVmaW5lZChfX0xJ
VFRMRV9FTkRJQU5fQklURklFTEQpDQogCQl1bnNpZ25lZCBkbWEJCToxOwkv
KiBVc2luZyBETUEgb3IgUElPICovDQogCQl1bnNpZ25lZCByZXNlcnZlZDMy
MQk6MzsJLyogUmVzZXJ2ZWQgKi8NCiAJCXVuc2lnbmVkIHJlc2VydmVkNjU0
CTozOwkvKiBSZXNlcnZlZCAoVGFnIFR5cGUpICovDQogCQl1bnNpZ25lZCBy
ZXNlcnZlZDcJOjE7CS8qIFJlc2VydmVkICovDQorI2VsaWYgZGVmaW5lZChf
X0JJR19FTkRJQU5fQklURklFTEQpDQorCQl1bnNpZ25lZCByZXNlcnZlZDcJ
OjE7CS8qIFJlc2VydmVkICovDQorCQl1bnNpZ25lZCByZXNlcnZlZDY1NAk6
MzsJLyogUmVzZXJ2ZWQgKFRhZyBUeXBlKSAqLw0KKwkJdW5zaWduZWQgcmVz
ZXJ2ZWQzMjEJOjM7CS8qIFJlc2VydmVkICovDQorCQl1bnNpZ25lZCBkbWEJ
CToxOwkvKiBVc2luZyBETUEgb3IgUElPICovDQorI2Vsc2UNCisjZXJyb3Ig
IkJpdGZpZWxkIGVuZGlhbm5lc3Mgbm90IGRlZmluZWQhIENoZWNrIHlvdXIg
Ynl0ZW9yZGVyLmgiDQorI2VuZGlmDQogCX0gYjsNCiB9IGlkZWZsb3BweV9m
ZWF0dXJlX3JlZ190Ow0KIA0KQEAgLTMxNSw4ICszODIsMTUgQEANCiB0eXBl
ZGVmIHVuaW9uIHsNCiAJdW5zaWduZWQgYWxsCQkJOjE2Ow0KIAlzdHJ1Y3Qg
ew0KKyNpZiBkZWZpbmVkKF9fTElUVExFX0VORElBTl9CSVRGSUVMRCkNCiAJ
CXVuc2lnbmVkIGxvdwkJOjg7CS8qIExTQiAqLw0KIAkJdW5zaWduZWQgaGln
aAkJOjg7CS8qIE1TQiAqLw0KKyNlbGlmIGRlZmluZWQoX19CSUdfRU5ESUFO
X0JJVEZJRUxEKQ0KKwkJdW5zaWduZWQgaGlnaAkJOjg7CS8qIE1TQiAqLw0K
KwkJdW5zaWduZWQgbG93CQk6ODsJLyogTFNCICovDQorI2Vsc2UNCisjZXJy
b3IgIkJpdGZpZWxkIGVuZGlhbm5lc3Mgbm90IGRlZmluZWQhIENoZWNrIHlv
dXIgYnl0ZW9yZGVyLmgiDQorI2VuZGlmDQogCX0gYjsNCiB9IGlkZWZsb3Bw
eV9iY291bnRfcmVnX3Q7DQogDQpAQCAtMzI2LDkgKzQwMCwxNyBAQA0KIHR5
cGVkZWYgdW5pb24gew0KIAl1bnNpZ25lZCBhbGwJCQk6ODsNCiAJc3RydWN0
IHsNCisjaWYgZGVmaW5lZChfX0xJVFRMRV9FTkRJQU5fQklURklFTEQpDQog
CQl1bnNpZ25lZCBjb2QJCToxOwkvKiBJbmZvcm1hdGlvbiB0cmFuc2ZlcnJl
ZCBpcyBjb21tYW5kICgxKSBvciBkYXRhICgwKSAqLw0KIAkJdW5zaWduZWQg
aW8JCToxOwkvKiBUaGUgZGV2aWNlIHJlcXVlc3RzIHVzIHRvIHJlYWQgKDEp
IG9yIHdyaXRlICgwKSAqLw0KIAkJdW5zaWduZWQgcmVzZXJ2ZWQJOjY7CS8q
IFJlc2VydmVkICovDQorI2VsaWYgZGVmaW5lZChfX0JJR19FTkRJQU5fQklU
RklFTEQpDQorCQl1bnNpZ25lZCByZXNlcnZlZAk6NjsJLyogUmVzZXJ2ZWQg
Ki8NCisJCXVuc2lnbmVkIGlvCQk6MTsJLyogVGhlIGRldmljZSByZXF1ZXN0
cyB1cyB0byByZWFkICgxKSBvciB3cml0ZSAoMCkgKi8NCisJCXVuc2lnbmVk
IGNvZAkJOjE7CS8qIEluZm9ybWF0aW9uIHRyYW5zZmVycmVkIGlzIGNvbW1h
bmQgKDEpIG9yIGRhdGEgKDApICovDQorI2Vsc2UNCisjZXJyb3IgIkJpdGZp
ZWxkIGVuZGlhbm5lc3Mgbm90IGRlZmluZWQhIENoZWNrIHlvdXIgYnl0ZW9y
ZGVyLmgiDQorI2VuZGlmDQogCX0gYjsNCiB9IGlkZWZsb3BweV9pcmVhc29u
X3JlZ190Ow0KIA0KQEAgLTMzOCwxMiArNDIwLDIzIEBADQogdHlwZWRlZiB1
bmlvbiB7CQ0KIAl1bnNpZ25lZCBhbGwJCQk6ODsNCiAJc3RydWN0IHsNCisj
aWYgZGVmaW5lZChfX0xJVFRMRV9FTkRJQU5fQklURklFTEQpDQogCQl1bnNp
Z25lZCBzYW1fbHVuCTozOwkvKiBMb2dpY2FsIHVuaXQgbnVtYmVyICovDQog
CQl1bnNpZ25lZCByZXNlcnZlZDMJOjE7CS8qIFJlc2VydmVkICovDQogCQl1
bnNpZ25lZCBkcnYJCToxOwkvKiBUaGUgcmVzcG9uZGluZyBkcml2ZSB3aWxs
IGJlIGRyaXZlIDAgKDApIG9yIGRyaXZlIDEgKDEpICovDQogCQl1bnNpZ25l
ZCBvbmU1CQk6MTsJLyogU2hvdWxkIGJlIHNldCB0byAxICovDQogCQl1bnNp
Z25lZCByZXNlcnZlZDYJOjE7CS8qIFJlc2VydmVkICovDQogCQl1bnNpZ25l
ZCBvbmU3CQk6MTsJLyogU2hvdWxkIGJlIHNldCB0byAxICovDQorI2VsaWYg
ZGVmaW5lZChfX0JJR19FTkRJQU5fQklURklFTEQpDQorCQl1bnNpZ25lZCBv
bmU3CQk6MTsJLyogU2hvdWxkIGJlIHNldCB0byAxICovDQorCQl1bnNpZ25l
ZCByZXNlcnZlZDYJOjE7CS8qIFJlc2VydmVkICovDQorCQl1bnNpZ25lZCBv
bmU1CQk6MTsJLyogU2hvdWxkIGJlIHNldCB0byAxICovDQorCQl1bnNpZ25l
ZCBkcnYJCToxOwkvKiBUaGUgcmVzcG9uZGluZyBkcml2ZSB3aWxsIGJlIGRy
aXZlIDAgKDApIG9yIGRyaXZlIDEgKDEpICovDQorCQl1bnNpZ25lZCByZXNl
cnZlZDMJOjE7CS8qIFJlc2VydmVkICovDQorCQl1bnNpZ25lZCBzYW1fbHVu
CTozOwkvKiBMb2dpY2FsIHVuaXQgbnVtYmVyICovDQorI2Vsc2UNCisjZXJy
b3IgIkJpdGZpZWxkIGVuZGlhbm5lc3Mgbm90IGRlZmluZWQhIENoZWNrIHlv
dXIgYnl0ZW9yZGVyLmgiDQorI2VuZGlmDQogCX0gYjsNCiB9IGlkZWZsb3Bw
eV9kcml2ZXNlbF9yZWdfdDsNCiANCkBAIC0zNTMsMTEgKzQ0NiwyMSBAQA0K
IHR5cGVkZWYgdW5pb24gewkJCQ0KIAl1bnNpZ25lZCBhbGwJCQk6ODsNCiAJ
c3RydWN0IHsNCisjaWYgZGVmaW5lZChfX0xJVFRMRV9FTkRJQU5fQklURklF
TEQpDQogCQl1bnNpZ25lZCB6ZXJvMAkJOjE7CS8qIFNob3VsZCBiZSBzZXQg
dG8gemVybyAqLw0KIAkJdW5zaWduZWQgbmllbgkJOjE7CS8qIERldmljZSBp
bnRlcnJ1cHQgaXMgZGlzYWJsZWQgKDEpIG9yIGVuYWJsZWQgKDApICovDQog
CQl1bnNpZ25lZCBzcnN0CQk6MTsJLyogQVRBIHNvZnR3YXJlIHJlc2V0LiBB
VEFQSSBkZXZpY2VzIHNob3VsZCB1c2UgdGhlIG5ldyBBVEFQSSBzcnN0LiAq
Lw0KIAkJdW5zaWduZWQgb25lMwkJOjE7CS8qIFNob3VsZCBiZSBzZXQgdG8g
MSAqLw0KIAkJdW5zaWduZWQgcmVzZXJ2ZWQ0NTY3CTo0OwkvKiBSZXNlcnZl
ZCAqLw0KKyNlbGlmIGRlZmluZWQoX19CSUdfRU5ESUFOX0JJVEZJRUxEKQ0K
KwkJdW5zaWduZWQgcmVzZXJ2ZWQ0NTY3CTo0OwkvKiBSZXNlcnZlZCAqLw0K
KwkJdW5zaWduZWQgb25lMwkJOjE7CS8qIFNob3VsZCBiZSBzZXQgdG8gMSAq
Lw0KKwkJdW5zaWduZWQgc3JzdAkJOjE7CS8qIEFUQSBzb2Z0d2FyZSByZXNl
dC4gQVRBUEkgZGV2aWNlcyBzaG91bGQgdXNlIHRoZSBuZXcgQVRBUEkgc3Jz
dC4gKi8NCisJCXVuc2lnbmVkIG5pZW4JCToxOwkvKiBEZXZpY2UgaW50ZXJy
dXB0IGlzIGRpc2FibGVkICgxKSBvciBlbmFibGVkICgwKSAqLw0KKwkJdW5z
aWduZWQgemVybzAJCToxOwkvKiBTaG91bGQgYmUgc2V0IHRvIHplcm8gKi8N
CisjZWxzZQ0KKyNlcnJvciAiQml0ZmllbGQgZW5kaWFubmVzcyBub3QgZGVm
aW5lZCEgQ2hlY2sgeW91ciBieXRlb3JkZXIuaCINCisjZW5kaWYNCiAJfSBi
Ow0KIH0gaWRlZmxvcHB5X2NvbnRyb2xfcmVnX3Q7DQogDQpAQCAtMzY2LDYg
KzQ2OSw3IEBADQogICoJdGhlIEFUQVBJIElERU5USUZZIERFVklDRSBjb21t
YW5kLg0KICAqLw0KIHN0cnVjdCBpZGVmbG9wcHlfaWRfZ2N3IHsJDQorI2lm
IGRlZmluZWQoX19MSVRUTEVfRU5ESUFOX0JJVEZJRUxEKQ0KIAl1bnNpZ25l
ZCBwYWNrZXRfc2l6ZQkJOjI7CS8qIFBhY2tldCBTaXplICovDQogCXVuc2ln
bmVkIHJlc2VydmVkMjM0CQk6MzsJLyogUmVzZXJ2ZWQgKi8NCiAJdW5zaWdu
ZWQgZHJxX3R5cGUJCToyOwkvKiBDb21tYW5kIHBhY2tldCBEUlEgdHlwZSAq
Lw0KQEAgLTM3MywxMiArNDc3LDI0IEBADQogCXVuc2lnbmVkIGRldmljZV90
eXBlCQk6NTsJLyogRGV2aWNlIHR5cGUgKi8NCiAJdW5zaWduZWQgcmVzZXJ2
ZWQxMwkJOjE7CS8qIFJlc2VydmVkICovDQogCXVuc2lnbmVkIHByb3RvY29s
CQk6MjsJLyogUHJvdG9jb2wgdHlwZSAqLw0KKyNlbGlmIGRlZmluZWQoX19C
SUdfRU5ESUFOX0JJVEZJRUxEKQ0KKwl1bnNpZ25lZCBwcm90b2NvbAkJOjI7
CS8qIFByb3RvY29sIHR5cGUgKi8NCisJdW5zaWduZWQgcmVzZXJ2ZWQxMwkJ
OjE7CS8qIFJlc2VydmVkICovDQorCXVuc2lnbmVkIGRldmljZV90eXBlCQk6
NTsJLyogRGV2aWNlIHR5cGUgKi8NCisJdW5zaWduZWQgcmVtb3ZhYmxlCQk6
MTsJLyogUmVtb3ZhYmxlIG1lZGlhICovDQorCXVuc2lnbmVkIGRycV90eXBl
CQk6MjsJLyogQ29tbWFuZCBwYWNrZXQgRFJRIHR5cGUgKi8NCisJdW5zaWdu
ZWQgcmVzZXJ2ZWQyMzQJCTozOwkvKiBSZXNlcnZlZCAqLw0KKwl1bnNpZ25l
ZCBwYWNrZXRfc2l6ZQkJOjI7CS8qIFBhY2tldCBTaXplICovDQorI2Vsc2UN
CisjZXJyb3IgIkJpdGZpZWxkIGVuZGlhbm5lc3Mgbm90IGRlZmluZWQhIENo
ZWNrIHlvdXIgYnl0ZW9yZGVyLmgiDQorI2VuZGlmDQogfTsNCiANCiAvKg0K
ICAqCUlOUVVJUlkgcGFja2V0IGNvbW1hbmQgLSBEYXRhIEZvcm1hdA0KICAq
Lw0KIHR5cGVkZWYgc3RydWN0IHsNCisjaWYgZGVmaW5lZChfX0xJVFRMRV9F
TkRJQU5fQklURklFTEQpDQogCXVuc2lnbmVkCWRldmljZV90eXBlCTo1Owkv
KiBQZXJpcGhlcmFsIERldmljZSBUeXBlICovDQogCXVuc2lnbmVkCXJlc2Vy
dmVkMF83NjUJOjM7CS8qIFBlcmlwaGVyYWwgUXVhbGlmaWVyIC0gUmVzZXJ2
ZWQgKi8NCiAJdW5zaWduZWQJcmVzZXJ2ZWQxXzZ0MAk6NzsJLyogUmVzZXJ2
ZWQgKi8NCkBAIC0zOTAsNiArNTA2LDIxIEBADQogCXVuc2lnbmVkCXJlc2Vy
dmVkM180NQk6MjsJLyogUmVzZXJ2ZWQgKi8NCiAJdW5zaWduZWQJcmVzZXJ2
ZWQzXzYJOjE7CS8qIFRybUlPUCAtIFJlc2VydmVkICovDQogCXVuc2lnbmVk
CXJlc2VydmVkM183CToxOwkvKiBBRU5DIC0gUmVzZXJ2ZWQgKi8NCisjZWxp
ZiBkZWZpbmVkKF9fQklHX0VORElBTl9CSVRGSUVMRCkNCisJdW5zaWduZWQJ
cmVzZXJ2ZWQwXzc2NQk6MzsJLyogUGVyaXBoZXJhbCBRdWFsaWZpZXIgLSBS
ZXNlcnZlZCAqLw0KKwl1bnNpZ25lZAlkZXZpY2VfdHlwZQk6NTsJLyogUGVy
aXBoZXJhbCBEZXZpY2UgVHlwZSAqLw0KKwl1bnNpZ25lZAlybWIJCToxOwkv
KiBSZW1vdmFibGUgTWVkaXVtIEJpdCAqLw0KKwl1bnNpZ25lZAlyZXNlcnZl
ZDFfNnQwCTo3OwkvKiBSZXNlcnZlZCAqLw0KKwl1bnNpZ25lZAlpc29fdmVy
c2lvbgk6MjsJLyogSVNPIFZlcnNpb24gKi8NCisJdW5zaWduZWQJZWNtYV92
ZXJzaW9uCTozOwkvKiBFQ01BIFZlcnNpb24gKi8NCisJdW5zaWduZWQJYW5z
aV92ZXJzaW9uCTozOwkvKiBBTlNJIFZlcnNpb24gKi8NCisJdW5zaWduZWQJ
cmVzZXJ2ZWQzXzcJOjE7CS8qIEFFTkMgLSBSZXNlcnZlZCAqLw0KKwl1bnNp
Z25lZAlyZXNlcnZlZDNfNgk6MTsJLyogVHJtSU9QIC0gUmVzZXJ2ZWQgKi8N
CisJdW5zaWduZWQJcmVzZXJ2ZWQzXzQ1CToyOwkvKiBSZXNlcnZlZCAqLw0K
Kwl1bnNpZ25lZAlyZXNwb25zZV9mb3JtYXQgOjQ7CS8qIFJlc3BvbnNlIERh
dGEgRm9ybWF0ICovDQorI2Vsc2UNCisjZXJyb3IgIkJpdGZpZWxkIGVuZGlh
bm5lc3Mgbm90IGRlZmluZWQhIENoZWNrIHlvdXIgYnl0ZW9yZGVyLmgiDQor
I2VuZGlmDQogCXU4CQlhZGRpdGlvbmFsX2xlbmd0aDsJLyogQWRkaXRpb25h
bCBMZW5ndGggKHRvdGFsX2xlbmd0aC00KSAqLw0KIAl1OAkJcnN2NSwgcnN2
NiwgcnN2NzsJLyogUmVzZXJ2ZWQgKi8NCiAJdTgJCXZlbmRvcl9pZFs4XTsJ
CS8qIFZlbmRvciBJZGVudGlmaWNhdGlvbiAqLw0KQEAgLTQwNCw2ICs1MzUs
NyBAQA0KICAqCVJFUVVFU1QgU0VOU0UgcGFja2V0IGNvbW1hbmQgcmVzdWx0
IC0gRGF0YSBGb3JtYXQuDQogICovDQogdHlwZWRlZiBzdHJ1Y3Qgew0KKyNp
ZiBkZWZpbmVkKF9fTElUVExFX0VORElBTl9CSVRGSUVMRCkNCiAJdW5zaWdu
ZWQJZXJyb3JfY29kZQk6NzsJLyogQ3VycmVudCBlcnJvciAoMHg3MCkgKi8N
CiAJdW5zaWduZWQJdmFsaWQJCToxOwkvKiBUaGUgaW5mb3JtYXRpb24gZmll
bGQgY29uZm9ybXMgdG8gU0ZGLTgwNzBpICovDQogCXU4CQlyZXNlcnZlZDEJ
Ojg7CS8qIFJlc2VydmVkICovDQpAQCAtNDExLDYgKzU0MywxNyBAQA0KIAl1
bnNpZ25lZAlyZXNlcnZlZDJfNAk6MTsJLyogUmVzZXJ2ZWQgKi8NCiAJdW5z
aWduZWQJaWxpCQk6MTsJLyogSW5jb3JyZWN0IExlbmd0aCBJbmRpY2F0b3Ig
Ki8NCiAJdW5zaWduZWQJcmVzZXJ2ZWQyXzY3CToyOw0KKyNlbGlmIGRlZmlu
ZWQoX19CSUdfRU5ESUFOX0JJVEZJRUxEKQ0KKwl1bnNpZ25lZAl2YWxpZAkJ
OjE7CS8qIFRoZSBpbmZvcm1hdGlvbiBmaWVsZCBjb25mb3JtcyB0byBTRkYt
ODA3MGkgKi8NCisJdW5zaWduZWQJZXJyb3JfY29kZQk6NzsJLyogQ3VycmVu
dCBlcnJvciAoMHg3MCkgKi8NCisJdTgJCXJlc2VydmVkMQk6ODsJLyogUmVz
ZXJ2ZWQgKi8NCisJdW5zaWduZWQJcmVzZXJ2ZWQyXzY3CToyOw0KKwl1bnNp
Z25lZAlpbGkJCToxOwkvKiBJbmNvcnJlY3QgTGVuZ3RoIEluZGljYXRvciAq
Lw0KKwl1bnNpZ25lZAlyZXNlcnZlZDJfNAk6MTsJLyogUmVzZXJ2ZWQgKi8N
CisJdW5zaWduZWQJc2Vuc2Vfa2V5CTo0OwkvKiBTZW5zZSBLZXkgKi8NCisj
ZWxzZQ0KKyNlcnJvciAiQml0ZmllbGQgZW5kaWFubmVzcyBub3QgZGVmaW5l
ZCEgQ2hlY2sgeW91ciBieXRlb3JkZXIuaCINCisjZW5kaWYNCiAJdTMyCQlp
bmZvcm1hdGlvbiBfX2F0dHJpYnV0ZV9fICgocGFja2VkKSk7DQogCXU4CQlh
c2w7CQkJLyogQWRkaXRpb25hbCBzZW5zZSBsZW5ndGggKG4tNykgKi8NCiAJ
dTMyCQljb21tYW5kX3NwZWNpZmljOwkvKiBBZGRpdGlvbmFsIGNvbW1hbmQg
c3BlY2lmaWMgaW5mb3JtYXRpb24gKi8NCkBAIC00MzMsOCArNTc2LDE1IEBA
DQogdHlwZWRlZiBzdHJ1Y3Qgew0KIAl1MTYJCW1vZGVfZGF0YV9sZW5ndGg7
CS8qIExlbmd0aCBvZiB0aGUgZm9sbG93aW5nIGRhdGEgdHJhbnNmZXIgKi8N
CiAJdTgJCW1lZGl1bV90eXBlOwkJLyogTWVkaXVtIFR5cGUgKi8NCisjaWYg
ZGVmaW5lZChfX0xJVFRMRV9FTkRJQU5fQklURklFTEQpDQogCXVuc2lnbmVk
CXJlc2VydmVkMwk6NzsNCiAJdW5zaWduZWQJd3AJCToxOwkvKiBXcml0ZSBw
cm90ZWN0ICovDQorI2VsaWYgZGVmaW5lZChfX0JJR19FTkRJQU5fQklURklF
TEQpDQorCXVuc2lnbmVkCXdwCQk6MTsJLyogV3JpdGUgcHJvdGVjdCAqLw0K
Kwl1bnNpZ25lZAlyZXNlcnZlZDMJOjc7DQorI2Vsc2UNCisjZXJyb3IgIkJp
dGZpZWxkIGVuZGlhbm5lc3Mgbm90IGRlZmluZWQhIENoZWNrIHlvdXIgYnl0
ZW9yZGVyLmgiDQorI2VuZGlmDQogCXU4CQlyZXNlcnZlZFs0XTsNCiB9IGlk
ZWZsb3BweV9tb2RlX3BhcmFtZXRlcl9oZWFkZXJfdDsNCiANCkBAIC0xMzcx
LDcgKzE1MjEsOCBAQA0KIAlpZiAoZ2N3LmRycV90eXBlID09IDEpDQogCQlz
ZXRfYml0IChJREVGTE9QUFlfRFJRX0lOVEVSUlVQVCwgJmZsb3BweS0+Zmxh
Z3MpOw0KIAlpZiAoc3RyY21wKGRyaXZlLT5pZC0+bW9kZWwsICJJT01FR0Eg
WklQIDEwMCBBVEFQSSIpID09IDAgJiYNCi0JICAgIHN0cmNtcChkcml2ZS0+
aWQtPmZ3X3JldiwgIjIxLkQiKSA9PSAwKSB7DQorCSAgICAoKHN0cmNtcChk
cml2ZS0+aWQtPmZ3X3JldiwgIjIxLkQiKSA9PSAwKSB8fA0KKwkgICAgIChz
dHJjbXAoZHJpdmUtPmlkLT5md19yZXYsICIyMy5EIikgPT0gMCkpKSB7DQog
CQlmb3IgKGkgPSAwOyBpIDwgMSA8PCBQQVJUTl9CSVRTOyBpKyspDQogCQkJ
bWF4X3NlY3RvcnNbbWFqb3JdW21pbm9yICsgaV0gPSA2NDsNCiAJfQ0KZGlm
ZiAtdXJOIGxpbnV4LTIuMS4xMjEtcHJpc3RpbmUvZHJpdmVycy9ibG9jay9p
ZGUtcGNpLmMgbGludXgvZHJpdmVycy9ibG9jay9pZGUtcGNpLmMNCi0tLSBs
aW51eC0yLjEuMTIxLXByaXN0aW5lL2RyaXZlcnMvYmxvY2svaWRlLXBjaS5j
CVR1ZSBBdWcgIDQgMTg6NTY6MzcgMTk5OA0KKysrIGxpbnV4L2RyaXZlcnMv
YmxvY2svaWRlLXBjaS5jCU1vbiBTZXAgMTQgMTM6MjA6MjYgMTk5OA0KQEAg
LTQyLDggKzQyLDExIEBADQogI2RlZmluZSBERVZJRF9OUzg3NDEwCSgoaWRl
X3BjaV9kZXZpZF90KXtQQ0lfVkVORE9SX0lEX05TLCAgICAgIFBDSV9ERVZJ
Q0VfSURfTlNfODc0MTB9KQ0KICNkZWZpbmUgREVWSURfTlM4NzQxNQkoKGlk
ZV9wY2lfZGV2aWRfdCl7UENJX1ZFTkRPUl9JRF9OUywgICAgICBQQ0lfREVW
SUNFX0lEX05TXzg3NDE1fSkNCiAjZGVmaW5lIERFVklEX0hUNjU2NQkoKGlk
ZV9wY2lfZGV2aWRfdCl7UENJX1ZFTkRPUl9JRF9IT0xURUssICBQQ0lfREVW
SUNFX0lEX0hPTFRFS182NTY1fSkNCi0jZGVmaW5lIERFVklEX0FFQzYyMTAJ
KChpZGVfcGNpX2RldmlkX3QpezB4MTE5MSwgICAgICAgICAgICAgICAgMHgw
MDA1fSkNCisjZGVmaW5lIERFVklEX0FFQzYyMTAJKChpZGVfcGNpX2Rldmlk
X3Qpe1BDSV9WRU5ET1JfSURfQVJUT1AsICAgUENJX0RFVklDRV9JRF9BUlRP
UF9BVFA4NTBVRn0pDQorI2RlZmluZSBERVZJRF9BRUM2NjIwCSgoaWRlX3Bj
aV9kZXZpZF90KXtQQ0lfVkVORE9SX0lEX0FSVE9QLCAgIFBDSV9ERVZJQ0Vf
SURfQVJUT1BfQVRQODQwMH0pDQogI2RlZmluZSBERVZJRF9XODJDMTA1CSgo
aWRlX3BjaV9kZXZpZF90KXtQQ0lfVkVORE9SX0lEX1dJTkJPTkQsIFBDSV9E
RVZJQ0VfSURfV0lOQk9ORF84MkMxMDV9KQ0KKyNkZWZpbmUgREVWSURfVU04
ODg2QkYJKChpZGVfcGNpX2RldmlkX3Qpe1BDSV9WRU5ET1JfSURfVU1DLCAg
ICAgUENJX0RFVklDRV9JRF9VTUNfVU04ODg2QkZ9KQ0KKyNkZWZpbmUgREVW
SURfSFBUMzQzCSgoaWRlX3BjaV9kZXZpZF90KXtQQ0lfVkVORE9SX0lEX1RU
SSwgICAgIFBDSV9ERVZJQ0VfSURfVFRJX0hQVDM0M30pDQogDQogI2RlZmlu
ZSBJREVfSUdOT1JFCSgodm9pZCAqKS0xKQ0KIA0KQEAgLTkzLDYgKzk2LDEz
IEBADQogI2RlZmluZSBJTklUX1JaMTAwMAlJREVfSUdOT1JFDQogI2VuZGlm
DQogDQorI2lmZGVmIENPTkZJR19CTEtfREVWX1ZJQTgyQzU4Ng0KK2V4dGVy
biB2b2lkIGlkZV9pbml0X3ZpYTgyYzU4NihpZGVfaHdpZl90ICopOw0KKyNk
ZWZpbmUJSU5JVF9WSUE4MkM1ODYJJmlkZV9pbml0X3ZpYTgyYzU4Ng0KKyNl
bHNlDQorI2RlZmluZQlJTklUX1ZJQTgyQzU4NglOVUxMDQorI2VuZGlmDQor
DQogdHlwZWRlZiBzdHJ1Y3QgaWRlX3BjaV9lbmFibGViaXRfcyB7DQogCWJ5
dGUJcmVnOwkvKiBieXRlIHBjaSByZWcgaG9sZGluZyB0aGUgZW5hYmxlLWJp
dCAqLw0KIAlieXRlCW1hc2s7CS8qIG1hc2sgdG8gaXNvbGF0ZSB0aGUgZW5h
YmxlLWJpdCAqLw0KQEAgLTEwNCwzNSArMTE0LDEwMiBAQA0KIAljb25zdCBj
aGFyCQkqbmFtZTsNCiAJdm9pZCAJCQkoKmluaXRfaHdpZikoaWRlX2h3aWZf
dCAqaHdpZik7DQogCWlkZV9wY2lfZW5hYmxlYml0X3QJZW5hYmxlYml0c1sy
XTsNCisJYnl0ZQkJCWJvb3RhYmxlOw0KKwl1bnNpZ25lZCBpbnQJCWV4dHJh
Ow0KIH0gaWRlX3BjaV9kZXZpY2VfdDsNCiANCiBzdGF0aWMgaWRlX3BjaV9k
ZXZpY2VfdCBpZGVfcGNpX2NoaXBzZXRzW10gX19pbml0ZGF0YSA9IHsNCi0J
e0RFVklEX1BJSVhhLAkiUElJWCIsCQlOVUxMLAkJe3sweDQxLDB4ODAsMHg4
MH0sIHsweDQzLDB4ODAsMHg4MH19IH0sDQotCXtERVZJRF9QSUlYYiwJIlBJ
SVgiLAkJTlVMTCwJCXt7MHg0MSwweDgwLDB4ODB9LCB7MHg0MywweDgwLDB4
ODB9fSB9LA0KLQl7REVWSURfUElJWDMsCSJQSUlYMyIsCU5VTEwsCQl7ezB4
NDEsMHg4MCwweDgwfSwgezB4NDMsMHg4MCwweDgwfX0gfSwNCi0Je0RFVklE
X1BJSVg0LAkiUElJWDQiLAlOVUxMLAkJe3sweDQxLDB4ODAsMHg4MH0sIHsw
eDQzLDB4ODAsMHg4MH19IH0sDQotCXtERVZJRF9WUF9JREUsCSJWUF9JREUi
LAlOVUxMLAkJe3sweDQwLDB4MDIsMHgwMn0sIHsweDQwLDB4MDEsMHgwMX19
IH0sDQotCXtERVZJRF9QREMyMDI0NiwiUERDMjAyNDYiLAlOVUxMLAkJe3sw
eDUwLDB4MDIsMHgwMn0sIHsweDUwLDB4MDQsMHgwNH19IH0sDQotCXtERVZJ
RF9SWjEwMDAsCSJSWjEwMDAiLAlJTklUX1JaMTAwMCwJe3sweDAwLDB4MDAs
MHgwMH0sIHsweDAwLDB4MDAsMHgwMH19IH0sDQotCXtERVZJRF9SWjEwMDEs
CSJSWjEwMDEiLAlJTklUX1JaMTAwMCwJe3sweDAwLDB4MDAsMHgwMH0sIHsw
eDAwLDB4MDAsMHgwMH19IH0sDQotCXtERVZJRF9DTUQ2NDAsCSJDTUQ2NDAi
LAlJREVfSUdOT1JFLAl7ezB4MDAsMHgwMCwweDAwfSwgezB4MDAsMHgwMCww
eDAwfX0gfSwNCi0Je0RFVklEX05TODc0MTAsCSJOUzg3NDEwIiwJTlVMTCwJ
CXt7MHg0MywweDA4LDB4MDh9LCB7MHg0NywweDA4LDB4MDh9fSB9LA0KLQl7
REVWSURfU0lTNTUxMywJIlNJUzU1MTMiLAlOVUxMLAkJe3sweDRhLDB4MDIs
MHgwMn0sIHsweDRhLDB4MDQsMHgwNH19IH0sDQotCXtERVZJRF9DTUQ2NDYs
CSJDTUQ2NDYiLAlJTklUX0NNRDY0NiwJe3sweDAwLDB4MDAsMHgwMH0sIHsw
eDUxLDB4ODAsMHg4MH19IH0sDQotCXtERVZJRF9IVDY1NjUsCSJIVDY1NjUi
LAlOVUxMLAkJe3sweDAwLDB4MDAsMHgwMH0sIHsweDAwLDB4MDAsMHgwMH19
IH0sDQotCXtERVZJRF9PUFRJNjIxLAkiT1BUSTYyMSIsCUlOSVRfT1BUSTYy
MSwJe3sweDQ1LDB4ODAsMHgwMH0sIHsweDQwLDB4MDgsMHgwMH19IH0sDQot
CXtERVZJRF9PUFRJNjIxWCwiT1BUSTYyMVgiLAlJTklUX09QVEk2MjEsCXt7
MHg0NSwweDgwLDB4MDB9LCB7MHg0MCwweDA4LDB4MDB9fSB9LA0KLQl7REVW
SURfVFJNMjkwLAkiVFJNMjkwIiwJSU5JVF9UUk0yOTAsCXt7MHgwMCwweDAw
LDB4MDB9LCB7MHgwMCwweDAwLDB4MDB9fSB9LA0KLQl7REVWSURfTlM4NzQx
NSwJIk5TODc0MTUiLAlJTklUX05TODc0MTUsCXt7MHgwMCwweDAwLDB4MDB9
LCB7MHgwMCwweDAwLDB4MDB9fSB9LA0KLQl7REVWSURfQUVDNjIxMCwJIkFF
QzYyMTAiLAlOVUxMLAkJe3sweDAwLDB4MDAsMHgwMH0sIHsweDAwLDB4MDAs
MHgwMH19IH0sDQotCXtERVZJRF9XODJDMTA1LAkiVzgyQzEwNSIsCUlOSVRf
VzgyQzEwNSwJe3sweDQwLDB4MDEsMHgwMX0sIHsweDQwLDB4MTAsMHgxMH19
IH0sDQotCXtJREVfUENJX0RFVklEX05VTEwsICJQQ0lfSURFIiwJTlVMTCwJ
CXt7MHgwMCwweDAwLDB4MDB9LCB7MHgwMCwweDAwLDB4MDB9fSB9fTsNCisJ
e0RFVklEX1BJSVhhLAkiUElJWCIsCQlOVUxMLAkJe3sweDQxLDB4ODAsMHg4
MH0sIHsweDQzLDB4ODAsMHg4MH19LCAJMHgwMSwJMCB9LA0KKwl7REVWSURf
UElJWGIsCSJQSUlYIiwJCU5VTEwsCQl7ezB4NDEsMHg4MCwweDgwfSwgezB4
NDMsMHg4MCwweDgwfX0sIAkweDAxLAkwIH0sDQorCXtERVZJRF9QSUlYMywJ
IlBJSVgzIiwJTlVMTCwJCXt7MHg0MSwweDgwLDB4ODB9LCB7MHg0MywweDgw
LDB4ODB9fSwgCTB4MDEsCTAgfSwNCisJe0RFVklEX1BJSVg0LAkiUElJWDQi
LAlOVUxMLAkJe3sweDQxLDB4ODAsMHg4MH0sIHsweDQzLDB4ODAsMHg4MH19
LCAJMHgwMSwJMCB9LA0KKwl7REVWSURfVlBfSURFLAkiVlBfSURFIiwJSU5J
VF9WSUE4MkM1ODYsCXt7MHg0MCwweDAyLDB4MDJ9LCB7MHg0MCwweDAxLDB4
MDF9fSwgCTB4MDEsCTAgfSwNCisJe0RFVklEX1BEQzIwMjQ2LCJQREMyMDI0
NiIsCU5VTEwsCQl7ezB4NTAsMHgwMiwweDAyfSwgezB4NTAsMHgwNCwweDA0
fX0sIAkweDAxLAkxNiB9LA0KKwl7REVWSURfUloxMDAwLAkiUloxMDAwIiwJ
SU5JVF9SWjEwMDAsCXt7MHgwMCwweDAwLDB4MDB9LCB7MHgwMCwweDAwLDB4
MDB9fSwgCTB4MDEsCTAgfSwNCisJe0RFVklEX1JaMTAwMSwJIlJaMTAwMSIs
CUlOSVRfUloxMDAwLAl7ezB4MDAsMHgwMCwweDAwfSwgezB4MDAsMHgwMCww
eDAwfX0sIAkweDAxLAkwIH0sDQorCXtERVZJRF9DTUQ2NDAsCSJDTUQ2NDAi
LAlJREVfSUdOT1JFLAl7ezB4MDAsMHgwMCwweDAwfSwgezB4MDAsMHgwMCww
eDAwfX0sIAkweDAxLAkwIH0sDQorCXtERVZJRF9OUzg3NDEwLAkiTlM4NzQx
MCIsCU5VTEwsCQl7ezB4NDMsMHgwOCwweDA4fSwgezB4NDcsMHgwOCwweDA4
fX0sIAkweDAxLAkwIH0sDQorCXtERVZJRF9TSVM1NTEzLAkiU0lTNTUxMyIs
CU5VTEwsCQl7ezB4NGEsMHgwMiwweDAyfSwgezB4NGEsMHgwNCwweDA0fX0s
IAkweDAxLAkwIH0sDQorCXtERVZJRF9DTUQ2NDYsCSJDTUQ2NDYiLAlJTklU
X0NNRDY0NiwJe3sweDAwLDB4MDAsMHgwMH0sIHsweDUxLDB4ODAsMHg4MH19
LCAJMHgwMSwJMCB9LA0KKwl7REVWSURfSFQ2NTY1LAkiSFQ2NTY1IiwJTlVM
TCwJCXt7MHgwMCwweDAwLDB4MDB9LCB7MHgwMCwweDAwLDB4MDB9fSwgCTB4
MDEsCTAgfSwNCisJe0RFVklEX09QVEk2MjEsCSJPUFRJNjIxIiwJSU5JVF9P
UFRJNjIxLAl7ezB4NDUsMHg4MCwweDAwfSwgezB4NDAsMHgwOCwweDAwfX0s
IAkweDAxLAkwIH0sDQorCXtERVZJRF9PUFRJNjIxWCwiT1BUSTYyMVgiLAlJ
TklUX09QVEk2MjEsCXt7MHg0NSwweDgwLDB4MDB9LCB7MHg0MCwweDA4LDB4
MDB9fSwgCTB4MDEsCTAgfSwNCisJe0RFVklEX1RSTTI5MCwJIlRSTTI5MCIs
CUlOSVRfVFJNMjkwLAl7ezB4MDAsMHgwMCwweDAwfSwgezB4MDAsMHgwMCww
eDAwfX0sIAkweDAxLAkwIH0sDQorCXtERVZJRF9OUzg3NDE1LAkiTlM4NzQx
NSIsCUlOSVRfTlM4NzQxNSwJe3sweDAwLDB4MDAsMHgwMH0sIHsweDAwLDB4
MDAsMHgwMH19LCAJMHgwMSwJMCB9LA0KKwl7REVWSURfQUVDNjIxMCwJIkFF
QzYyMTAiLAlOVUxMLAkJe3sweDAwLDB4MDAsMHgwMH0sIHsweDAwLDB4MDAs
MHgwMH19LCAJMHgwMSwJMCB9LA0KKwl7REVWSURfQUVDNjYyMCwJIkFFQzY2
MjAiLAlOVUxMLAkJe3sweDAwLDB4MDAsMHgwMH0sIHsweDAwLDB4MDAsMHgw
MH19LCAJMHgwMSwJMCB9LA0KKwl7REVWSURfVzgyQzEwNSwJIlc4MkMxMDUi
LAlJTklUX1c4MkMxMDUsCXt7MHg0MCwweDAxLDB4MDF9LCB7MHg0MCwweDEw
LDB4MTB9fSwgCTB4MDEsCTAgfSwNCisJe0RFVklEX1VNODg4NkJGLCJVTTg4
ODZCRiIsCU5VTEwsCQl7ezB4MDAsMHgwMCwweDAwfSwgezB4MDAsMHgwMCww
eDAwfX0sIAkweDAxLAkwIH0sDQorCXtERVZJRF9IUFQzNDMsCSJIUFQzNDMi
LAlOVUxMLAkJe3sweDAwLDB4MDAsMHgwMH0sIHsweDAwLDB4MDAsMHgwMH19
LAkweDAwLAkxNiB9LA0KKwl7SURFX1BDSV9ERVZJRF9OVUxMLCAiUENJX0lE
RSIsCU5VTEwsCQl7ezB4MDAsMHgwMCwweDAwfSwgezB4MDAsMHgwMCwweDAw
fX0sIAkweDAxLAkwIH19Ow0KKw0KKy8qDQorICogVGhpcyBhbGxvd3Mgb2Zm
Ym9hcmQgaWRlLXBjaSBjYXJkcyB0aGUgZW5hYmxlIGEgQklPUywgdmVyaWZ5
IGludGVycnVwdA0KKyAqIHNldHRpbmdzIG9mIHNwbGl0LW1pcnJvciBwY2kt
Y29uZmlnIHNwYWNlLCBwbGFjZSBjaGlwc2V0IGludG8gaW5pdC1tb2RlLA0K
KyAqIGFuZC9vciBwcmVzZXJ2ZSBhbiBpbnRlcnJ1cHQgaWYgdGhlIGNhcmQg
aXMgbm90IG5hdGl2ZSBpZGUgc3VwcG9ydC4NCisgKi8NCitfX2luaXRmdW5j
KHN0YXRpYyB1bnNpZ25lZCBpbnQgaWRlX3NwZWNpYWxfc2V0dGluZ3MgKHN0
cnVjdCBwY2lfZGV2ICpkZXYsIGNvbnN0IGNoYXIgKm5hbWUpKQ0KK3sNCisJ
dW5zaWduZWQgaW50IGFkZHJlc3NiaW9zID0gMCwgYmFzZSA9IDA7DQorCWlu
dCByZWcgPSAwOw0KKw0KKwlwY2lfcmVhZF9jb25maWdfZHdvcmQoZGV2LCBQ
Q0lfUk9NX0FERFJFU1MsICZhZGRyZXNzYmlvcyk7DQorDQorCXN3aXRjaChk
ZXYtPmRldmljZSkgew0KKwkJY2FzZSBQQ0lfREVWSUNFX0lEX0FSVE9QX0FU
UDg0MDA6DQorCQkJcHJpbnRrKCIlczogU29tZXRoaW5nIG1heSBuZWVkIHRv
IGJlIGFkZGVkIGZvciB0aGlzIGNhcmQuXG4iLCBuYW1lKTsNCisJCQlwcmlu
dGsoIiVzOiBSZXBvcnQgcmVzdWx0cyB0byBoZWRyaWNrQGFzdHJvLmR5ZXIu
dmFuZGVyYmlsdC5lZHVcbiIsIG5hbWUpOw0KKwkJCXByaW50aygiJXM6IHZp
ZCAweCUwNHggIGRpZCAweCUwNHhcbiIsIG5hbWUsIGRldi0+dmVuZG9yLCBk
ZXYtPmRldmljZSk7DQorCQkJZm9yIChyZWcgPSAwOyByZWcgPCA2OyByZWcr
Kykgew0KKwkJCQliYXNlID0gZGV2LT5iYXNlX2FkZHJlc3NbcmVnXTsNCisJ
CQkJaWYgKCFiYXNlKQ0KKwkJCQkJY29udGludWU7DQorCQkJCWlmIChiYXNl
ICYgUENJX0JBU0VfQUREUkVTU19TUEFDRV9JTykgew0KKwkJCQkJcHJpbnRr
KCIgICAgSS9PIGF0IDB4JWx4IFsweCVseF0uXG4iLA0KKwkJCQkJCWJhc2Ug
JiBQQ0lfQkFTRV9BRERSRVNTX0lPX01BU0ssDQorCQkJCQkJZGV2LT5iYXNl
X2FkZHJlc3NbcmVnXSk7DQorCQkJCX0NCisJCQl9DQorCQkJaWYgKGFkZHJl
c3NiaW9zKSB7DQorCQkJCXByaW50aygiICAgIEV4cGFuc2lvbiBST00gYXQg
JTA4bHglc1xuIiwNCisJCQkJCWFkZHJlc3NiaW9zICYgUENJX1JPTV9BRERS
RVNTX01BU0ssDQorCQkJCQkoYWRkcmVzc2Jpb3MgJiBQQ0lfUk9NX0FERFJF
U1NfRU5BQkxFKSA/ICIiIDogIiBbZGlzYWJsZWRdIik7DQorCQkJfQ0KKwkJ
CXJldHVybiBkZXYtPmlycTsNCisJCWNhc2UgUENJX0RFVklDRV9JRF9BUlRP
UF9BVFA4NTBVRjoNCisJCWNhc2UgUENJX0RFVklDRV9JRF9QUk9NSVNFXzIw
MjQ2Og0KKwkJCXBjaV93cml0ZV9jb25maWdfYnl0ZShkZXYsIFBDSV9ST01f
QUREUkVTUywgUENJX1JPTV9BRERSRVNTX0VOQUJMRSk7DQorCQkJcHJpbnRr
KCIlczogUk9NIGVuYWJsZWQgIiwgbmFtZSk7DQorDQorCQkJaWYgKCFhZGRy
ZXNzYmlvcykgew0KKwkJCQlwcmludGsoImJ1dCBubyBhZGRyZXNzXG4iKTsN
CisJCQl9IGVsc2Ugew0KKwkJCQlwcmludGsoImF0IDB4JTA4eFxuIiwgYWRk
cmVzc2Jpb3MpOw0KKwkJCX0NCisNCisJCQlpZiAoKGRldi0+Y2xhc3MgPj4g
OCkgPT0gUENJX0NMQVNTX1NUT1JBR0VfUkFJRCkgew0KKwkJCQl1bnNpZ25l
ZCBjaGFyIGlycTEgPSAwLCBpcnEyID0gMDsNCisNCisJCQkJcGNpX3JlYWRf
Y29uZmlnX2J5dGUoZGV2LCBQQ0lfSU5URVJSVVBUX0xJTkUsICZpcnExKTsN
CisJCQkJcGNpX3JlYWRfY29uZmlnX2J5dGUoZGV2LCAoUENJX0lOVEVSUlVQ
VF9MSU5FKXwweDgwLCAmaXJxMik7CS8qIDB4YmMgKi8NCisJCQkJaWYgKGly
cTEgIT0gaXJxMikgew0KKwkJCQkJcHJpbnRrKCIlczogSVJRMSAlZCBJUlEy
ICVkXG4iLA0KKwkJCQkJCW5hbWUsIGlycTEsIGlycTIpOw0KKwkJCQkJcGNp
X3dyaXRlX2NvbmZpZ19ieXRlKGRldiwgKFBDSV9JTlRFUlJVUFRfTElORSl8
MHg4MCwgaXJxMSk7CS8qIDB4YmMgKi8NCisJCQkJfQ0KKwkJCX0NCisJCQly
ZXR1cm4gZGV2LT5pcnE7DQorCQlkZWZhdWx0Og0KKwkJCWJyZWFrOw0KKwl9
DQorCXJldHVybiAwOw0KK30NCiANCiAvKg0KICAqIE1hdGNoIGEgUENJIElE
RSBwb3J0IGFnYWluc3QgYW4gZW50cnkgaW4gaWRlX2h3aWZzW10sDQogICog
YmFzZWQgb24gaW9fYmFzZSBwb3J0IGlmIHBvc3NpYmxlLg0KICAqLw0KLV9f
aW5pdGZ1bmMoc3RhdGljIGlkZV9od2lmX3QgKmlkZV9tYXRjaF9od2lmICh1
bnNpZ25lZCBsb25nIGlvX2Jhc2UsIGNvbnN0IGNoYXIgKm5hbWUpKQ0KK19f
aW5pdGZ1bmMoc3RhdGljIGlkZV9od2lmX3QgKmlkZV9tYXRjaF9od2lmICh1
bnNpZ25lZCBsb25nIGlvX2Jhc2UsIGJ5dGUgYm9vdGFibGUsIGNvbnN0IGNo
YXIgKm5hbWUpKQ0KIHsNCiAJaW50IGg7DQogCWlkZV9od2lmX3QgKmh3aWY7
DQpAQCAtMTY4LDExICsyNDUsMjIgQEANCiAJICogR2l2ZSBwcmVmZXJlbmNl
IHRvIGNsYWltaW5nIG90aGVyIHNsb3RzIGJlZm9yZSBjbGFpbWluZyBpZGUw
L2lkZTEsDQogCSAqIGp1c3QgaW4gY2FzZSB0aGVyZSdzIGFub3RoZXIgaW50
ZXJmYWNlIHlldC10by1iZS1zY2FubmVkDQogCSAqIHdoaWNoIHVzZXMgcG9y
dHMgMWYwLzE3MCAodGhlIGlkZTAvaWRlMSBkZWZhdWx0cykuDQorCSAqDQor
CSAqIFVubGVzcyB0aGVyZSBpcyBhIGJvb3RhYmxlIGNhcmQgdGhhdCBkb2Vz
IG5vdCB1c2UgdGhlIHN0YW5kYXJkDQorCSAqIHBvcnRzIDFmMC8xNzAgKHRo
ZSBpZGUwL2lkZTEgZGVmYXVsdHMpLiBUaGUgKGJvb3RhYmxlKSBmbGFnLg0K
IAkgKi8NCi0JZm9yIChoID0gMjsgaCA8IE1BWF9IV0lGUzsgKytoKSB7DQot
CQlod2lmID0gaWRlX2h3aWZzICsgaDsNCi0JCWlmIChod2lmLT5jaGlwc2V0
ID09IGlkZV91bmtub3duKQ0KLQkJCXJldHVybiBod2lmOwkvKiBwaWNrIGFu
IHVudXNlZCBlbnRyeSAqLw0KKwlpZiAoYm9vdGFibGUpIHsNCisJCWZvciAo
aCA9IDA7IGggPCBNQVhfSFdJRlM7ICsraCkgew0KKwkJCWh3aWYgPSAmaWRl
X2h3aWZzW2hdOw0KKwkJCWlmIChod2lmLT5jaGlwc2V0ID09IGlkZV91bmtu
b3duKQ0KKwkJCQlyZXR1cm4gaHdpZjsJLyogcGljayBhbiB1bnVzZWQgZW50
cnkgKi8NCisJCX0NCisJfSBlbHNlIHsNCisJCWZvciAoaCA9IDI7IGggPCBN
QVhfSFdJRlM7ICsraCkgew0KKwkJCWh3aWYgPSBpZGVfaHdpZnMgKyBoOw0K
KwkJCWlmIChod2lmLT5jaGlwc2V0ID09IGlkZV91bmtub3duKQ0KKwkJCQly
ZXR1cm4gaHdpZjsJLyogcGljayBhbiB1bnVzZWQgZW50cnkgKi8NCisJCX0N
CiAJfQ0KIAlmb3IgKGggPSAwOyBoIDwgMjsgKytoKSB7DQogCQlod2lmID0g
aWRlX2h3aWZzICsgaDsNCkBAIC0yNjMsNyArMzUxLDcgQEANCiAJcGNpaXJx
ID0gZGV2LT5pcnE7DQogCWlmICgoZGV2LT5jbGFzcyAmIH4oMHhmYSkpICE9
ICgoUENJX0NMQVNTX1NUT1JBR0VfSURFIDw8IDgpIHwgNSkpIHsNCiAJCXBy
aW50aygiJXM6IG5vdCAxMDAlJSBuYXRpdmUgbW9kZTogd2lsbCBwcm9iZSBp
cnFzIGxhdGVyXG4iLCBkLT5uYW1lKTsNCi0JCXBjaWlycSA9IDA7DQorCQlw
Y2lpcnEgPSBpZGVfc3BlY2lhbF9zZXR0aW5ncyhkZXYsIGQtPm5hbWUpOw0K
IAl9IGVsc2UgaWYgKHRyaWVkX2NvbmZpZykgew0KIAkJcHJpbnRrKCIlczog
d2lsbCBwcm9iZSBpcnFzIGxhdGVyXG4iLCBkLT5uYW1lKTsNCiAJCXBjaWly
cSA9IDA7DQpAQCAtMjk4LDcgKzM4Niw3IEBADQogCQkJY3RsID0gcG9ydCA/
IDB4Mzc0IDogMHgzZjQ7CS8qIHVzZSBkZWZhdWx0IHZhbHVlICovDQogCQlp
ZiAoIWJhc2UpDQogCQkJYmFzZSA9IHBvcnQgPyAweDE3MCA6IDB4MWYwOwkv
KiB1c2UgZGVmYXVsdCB2YWx1ZSAqLw0KLQkJaWYgKChod2lmID0gaWRlX21h
dGNoX2h3aWYoYmFzZSwgZC0+bmFtZSkpID09IE5VTEwpDQorCQlpZiAoKGh3
aWYgPSBpZGVfbWF0Y2hfaHdpZihiYXNlLCBkLT5ib290YWJsZSwgZC0+bmFt
ZSkpID09IE5VTEwpDQogCQkJY29udGludWU7CS8qIG5vIHJvb20gaW4gaWRl
X2h3aWZzW10gKi8NCiAJCWlmIChod2lmLT5pb19wb3J0c1tJREVfREFUQV9P
RkZTRVRdICE9IGJhc2UpIHsNCiAJCQlpZGVfaW5pdF9od2lmX3BvcnRzKGh3
aWYtPmlvX3BvcnRzLCBiYXNlLCBOVUxMKTsNCkBAIC0zMTQsNiArNDAyLDEw
IEBADQogCQlpZiAobWF0ZSkgew0KIAkJCWh3aWYtPm1hdGUgPSBtYXRlOw0K
IAkJCW1hdGUtPm1hdGUgPSBod2lmOw0KKwkJCWlmIChJREVfUENJX0RFVklE
X0VRKGQtPmRldmlkLCBERVZJRF9BRUM2MjEwKSkgew0KKwkJCQlod2lmLT5z
ZXJpYWxpemVkID0gMTsNCisJCQkJbWF0ZS0+c2VyaWFsaXplZCA9IDE7DQor
CQkJfQ0KIAkJfQ0KICNpZmRlZiBDT05GSUdfQkxLX0RFVl9JREVETUENCiAJ
CWlmIChJREVfUENJX0RFVklEX0VRKGQtPmRldmlkLCBERVZJRF9TSVM1NTEz
KSkNCkBAIC0zMjEsOSArNDEzLDEwIEBADQogCQlpZiAoYXV0b2RtYSkNCiAJ
CQlod2lmLT5hdXRvZG1hID0gMTsNCiAJCWlmIChJREVfUENJX0RFVklEX0VR
KGQtPmRldmlkLCBERVZJRF9QREMyMDI0NikgfHwNCisJCSAgICBJREVfUENJ
X0RFVklEX0VRKGQtPmRldmlkLCBERVZJRF9BRUM2MjEwKSB8fA0KKwkJICAg
IElERV9QQ0lfREVWSURfRVEoZC0+ZGV2aWQsIERFVklEX0hQVDM0MykgfHwN
CiAJCSAgICAoKGRldi0+Y2xhc3MgPj4gOCkgPT0gUENJX0NMQVNTX1NUT1JB
R0VfSURFICYmIChkZXYtPmNsYXNzICYgMHg4MCkpKSB7DQotCQkJdW5zaWdu
ZWQgaW50IGV4dHJhID0gKCFtYXRlICYmIElERV9QQ0lfREVWSURfRVEoZC0+
ZGV2aWQsIERFVklEX1BEQzIwMjQ2KSkgPyAxNiA6IDA7DQotCQkJdW5zaWdu
ZWQgbG9uZyBkbWFfYmFzZSA9IGlkZV9nZXRfb3Jfc2V0X2RtYV9iYXNlKGh3
aWYsIGV4dHJhLCBkLT5uYW1lKTsNCisJCQl1bnNpZ25lZCBsb25nIGRtYV9i
YXNlID0gaWRlX2dldF9vcl9zZXRfZG1hX2Jhc2UoaHdpZiwgKCFtYXRlICYm
IGQtPmV4dHJhKSA/IGQtPmV4dHJhIDogMCwgZC0+bmFtZSk7DQogCQkJaWYg
KGRtYV9iYXNlICYmICEocGNpY21kICYgUENJX0NPTU1BTkRfTUFTVEVSKSkg
ew0KIAkJCQkvKg0KICAJIAkJCSAqIFNldCB1cCBCTS1ETUEgY2FwYWJpbGl0
eSAoUG5QIEJJT1Mgc2hvdWxkIGhhdmUgZG9uZSB0aGlzKQ0KZGlmZiAtdXJO
IGxpbnV4LTIuMS4xMjEtcHJpc3RpbmUvZHJpdmVycy9ibG9jay9pZGUtcHJv
YmUuYyBsaW51eC9kcml2ZXJzL2Jsb2NrL2lkZS1wcm9iZS5jDQotLS0gbGlu
dXgtMi4xLjEyMS1wcmlzdGluZS9kcml2ZXJzL2Jsb2NrL2lkZS1wcm9iZS5j
CVR1ZSBTZXAgIDggMTI6Mzk6MjcgMTk5OA0KKysrIGxpbnV4L2RyaXZlcnMv
YmxvY2svaWRlLXByb2JlLmMJTW9uIFNlcCAxNCAxMzoyNjo1OCAxOTk4DQpA
QCAtMjczLDYgKzI3MywxOCBAQA0KIAl7DQogCQlpZiAoKHJjID0gdHJ5X3Rv
X2lkZW50aWZ5KGRyaXZlLGNtZCkpKSAgIC8qIHNlbmQgY21kIGFuZCB3YWl0
ICovDQogCQkJcmMgPSB0cnlfdG9faWRlbnRpZnkoZHJpdmUsY21kKTsgLyog
ZmFpbGVkOiB0cnkgYWdhaW4gKi8NCisJCWlmIChyYyA9PSAxICYmIGNtZCA9
PSBXSU5fUElERU5USUZZICYmIGRyaXZlLT5hdXRvdHVuZSAhPSAyKSB7DQor
CQkJdW5zaWduZWQgbG9uZyB0aW1lb3V0Ow0KKwkJCXByaW50aygiJXM6IG5v
IHJlc3BvbnNlIChzdGF0dXMgPSAweCUwMngpLCByZXNldHRpbmcgZHJpdmVc
biIsIGRyaXZlLT5uYW1lLCBHRVRfU1RBVCgpKTsNCisJCQlkZWxheV81MG1z
KCk7DQorCQkJT1VUX0JZVEUgKGRyaXZlLT5zZWxlY3QuYWxsLCBJREVfU0VM
RUNUX1JFRyk7DQorCQkJZGVsYXlfNTBtcygpOw0KKwkJCU9VVF9CWVRFKFdJ
Tl9TUlNULCBJREVfQ09NTUFORF9SRUcpOw0KKwkJCXRpbWVvdXQgPSBqaWZm
aWVzOw0KKwkJCXdoaWxlICgoR0VUX1NUQVQoKSAmIEJVU1lfU1RBVCkgJiYg
amlmZmllcyA8IHRpbWVvdXQgKyBXQUlUX1dPUlNUQ0FTRSkNCisJCQkJZGVs
YXlfNTBtcygpOw0KKwkJCXJjID0gdHJ5X3RvX2lkZW50aWZ5KGRyaXZlLCBj
bWQpOw0KKwkJfQ0KIAkJaWYgKHJjID09IDEpDQogCQkJcHJpbnRrKCIlczog
bm8gcmVzcG9uc2UgKHN0YXR1cyA9IDB4JTAyeClcbiIsIGRyaXZlLT5uYW1l
LCBHRVRfU1RBVCgpKTsNCiAJCSh2b2lkKSBHRVRfU1RBVCgpOwkJLyogZW5z
dXJlIGRyaXZlIGlycSBpcyBjbGVhciAqLw0KZGlmZiAtdXJOIGxpbnV4LTIu
MS4xMjEtcHJpc3RpbmUvZHJpdmVycy9ibG9jay9pZGUuYyBsaW51eC9kcml2
ZXJzL2Jsb2NrL2lkZS5jDQotLS0gbGludXgtMi4xLjEyMS1wcmlzdGluZS9k
cml2ZXJzL2Jsb2NrL2lkZS5jCVN1biBBdWcgMzAgMTM6Mjc6MzUgMTk5OA0K
KysrIGxpbnV4L2RyaXZlcnMvYmxvY2svaWRlLmMJTW9uIFNlcCAxNCAxMzo0
MToyMyAxOTk4DQpAQCAtMTEwNCw2ICsxMTA0LDEwIEBADQogCQkJaWYgKHNs
ZWVwKSB7DQogCQkJCWlmICgwIDwgKHNpZ25lZCBsb25nKShqaWZmaWVzICsg
V0FJVF9NSU5fU0xFRVAgLSBzbGVlcCkpIA0KIAkJCQkJc2xlZXAgPSBqaWZm
aWVzICsgV0FJVF9NSU5fU0xFRVA7DQorI2lmIDENCisJCQkJaWYgKGh3Z3Jv
dXAtPnRpbWVyLm5leHQgfHwgaHdncm91cC0+dGltZXIucHJldikNCisJCQkJ
CXByaW50aygiaWRlX3NldF9oYW5kbGVyOiB0aW1lciBhbHJlYWR5IGFjdGl2
ZVxuIik7DQorI2VuZGlmDQogCQkJCW1vZF90aW1lcigmaHdncm91cC0+dGlt
ZXIsIHNsZWVwKTsNCiAJCQl9IGVsc2Ugew0KIAkJCQkvKiBVZ2x5LCBidXQg
aG93IGNhbiB3ZSBzbGVlcCBmb3IgdGhlIGxvY2sgb3RoZXJ3aXNlPyBwZXJo
YXBzIGZyb20gdHFfc2NoZWR1bGVyPyAqLw0KQEAgLTEyNTMsNyArMTI1Nyw3
IEBADQogCX0NCiAJaHdncm91cC0+YnVzeSA9IDE7CS8qIHNob3VsZCBhbHJl
YWR5IGJlICIxIiAqLw0KIAlod2dyb3VwLT5oYW5kbGVyID0gTlVMTDsNCi0J
ZGVsX3RpbWVyKCZod2dyb3VwLT50aW1lcik7DQorCWRlbF90aW1lcigmaHdn
cm91cC0+dGltZXIpOwkvKiBJcyB0aGlzIG5lZWRlZD8/ICovDQogCWlmICho
d2dyb3VwLT5wb2xsX3RpbWVvdXQgIT0gMCkgewkvKiBwb2xsaW5nIGluIHBy
b2dyZXNzPyAqLw0KIAkJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmaHdncm91
cC0+c3BpbmxvY2ssIGZsYWdzKTsNCiAJCWhhbmRsZXIoZHJpdmUpOw0KQEAg
LTEyNjUsNiArMTI2OSwxMCBAQA0KIAkJaWYgKGRyaXZlLT53YWl0aW5nX2Zv
cl9kbWEpIHsNCiAJCQkodm9pZCkgaHdncm91cC0+aHdpZi0+ZG1hcHJvYyhp
ZGVfZG1hX2VuZCwgZHJpdmUpOw0KIAkJCXByaW50aygiJXM6IHRpbWVvdXQg
d2FpdGluZyBmb3IgRE1BXG4iLCBkcml2ZS0+bmFtZSk7DQorCS8qDQorCSAq
ICBuZWVkIHNvbWV0aGluZyBoZXJlIGZvciBIWCBQSUlYMyBVRE1BIGFuZCBI
UFQzNDMuLi4uLi4uQU1IDQorCSAqICBpcnEgdGltZW91dDogc3RhdHVzPTB4
NTggeyBEcml2ZVJlYWR5IFNlZWtDb21wbGV0ZSBEYXRhUmVxdWVzdCB9DQor
CSAqLw0KIAkJfQ0KIAkJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmaHdncm91
cC0+c3BpbmxvY2ssIGZsYWdzKTsNCiAJCWlkZV9lcnJvcihkcml2ZSwgImly
cSB0aW1lb3V0IiwgR0VUX1NUQVQoKSk7DQpkaWZmIC11ck4gbGludXgtMi4x
LjEyMS1wcmlzdGluZS9kcml2ZXJzL2Jsb2NrL2lkZS5oIGxpbnV4L2RyaXZl
cnMvYmxvY2svaWRlLmgNCi0tLSBsaW51eC0yLjEuMTIxLXByaXN0aW5lL2Ry
aXZlcnMvYmxvY2svaWRlLmgJV2VkIFNlcCAgOSAxNToyNjowMSAxOTk4DQor
KysgbGludXgvZHJpdmVycy9ibG9jay9pZGUuaAlNb24gU2VwIDE0IDExOjQ3
OjA5IDE5OTgNCkBAIC03MjksOCArNzI5LDExIEBADQogdm9pZCBpZGVfc2Nh
bl9wY2lidXMgKHZvaWQpIF9faW5pdDsNCiAjZW5kaWYNCiAjaWZkZWYgQ09O
RklHX0JMS19ERVZfSURFRE1BDQorI2RlZmluZSBCQURfRE1BX0RSSVZFCQkw
DQorI2RlZmluZSBHT09EX0RNQV9EUklWRQkJMQ0KIGludCBpZGVfYnVpbGRf
ZG1hdGFibGUgKGlkZV9kcml2ZV90ICpkcml2ZSk7DQogdm9pZCBpZGVfZG1h
X2ludHIgIChpZGVfZHJpdmVfdCAqZHJpdmUpOw0KK2ludCBjaGVja19kcml2
ZV9saXN0cyAoaWRlX2RyaXZlX3QgKmRyaXZlLCBpbnQgZ29vZF9iYWQpOw0K
IGludCBpZGVfZG1hcHJvYyAoaWRlX2RtYV9hY3Rpb25fdCBmdW5jLCBpZGVf
ZHJpdmVfdCAqZHJpdmUpOw0KIHZvaWQgaWRlX3NldHVwX2RtYSAoaWRlX2h3
aWZfdCAqaHdpZiwgdW5zaWduZWQgbG9uZyBkbWFiYXNlLCB1bnNpZ25lZCBp
bnQgbnVtX3BvcnRzKSBfX2luaXQ7DQogdW5zaWduZWQgbG9uZyBpZGVfZ2V0
X29yX3NldF9kbWFfYmFzZSAoaWRlX2h3aWZfdCAqaHdpZiwgaW50IGV4dHJh
LCBjb25zdCBjaGFyICpuYW1lKSBfX2luaXQ7DQpkaWZmIC11ck4gbGludXgt
Mi4xLjEyMS1wcmlzdGluZS9kcml2ZXJzL2Jsb2NrL3ZpYTgyYzU4Ni5jIGxp
bnV4L2RyaXZlcnMvYmxvY2svdmlhODJjNTg2LmMNCi0tLSBsaW51eC0yLjEu
MTIxLXByaXN0aW5lL2RyaXZlcnMvYmxvY2svdmlhODJjNTg2LmMJV2VkIERl
YyAzMSAxODowMDowMCAxOTY5DQorKysgbGludXgvZHJpdmVycy9ibG9jay92
aWE4MmM1ODYuYwlNb24gU2VwIDE0IDEwOjQ5OjQwIDE5OTgNCkBAIC0wLDAg
KzEsODYgQEANCisvKg0KKyAqIGxpbnV4L2RyaXZlcnMvYmxvY2svdmlhODJD
NTg2LmMJVmVyc2lvbiAwLjAxCUF1ZyAxNiwgMTk5OA0KKyAqDQorICogIENv
cHlyaWdodCAoQykgMTk5OCBNaWNoZWwgQXVicnkNCisgKiAgQ29weXJpZ2h0
IChDKSAxOTk4IEFuZHJlIEhlZHJpY2sNCisgKg0KKyAqICBUaGUgVklBIE1W
UC0zIGlzIHJlcG9ydGVkIE9LIHdpdGggVURNQS4NCisgKg0KKyAqICBWSUEg
Y2hpcHMgYWxzbyBoYXZlIGEgc2luZ2xlIEZJRk8sIHdpdGggdGhlIHNhbWUg
NjQgYnl0ZXMgZGVlcCBidWZmZXIgKDE2IGxldmVscyANCisgKiAgb2YgNCBi
eXRlcyBlYWNoKS4NCisgKiAgSG93ZXZlciwgVklBIGNoaXBzIGNhbiBoYXZl
IHRoZSBidWZmZXIgc3BsaXQgZWl0aGVyIDg6OCBsZXZlbHMsIDE2OjAgbGV2
ZWxzIG9yIA0KKyAqICAwOjE2IGxldmVscyBiZXR3ZWVuIGJvdGggY2hhbm5l
bHMuIE9uZSBjb3VsZCB0aGluayBvZiB1c2luZyB0aGlzIGZlYXR1cmUsIGFz
IGV2ZW4NCisgKiAgaWYgbm8gbGV2ZWwgb2YgRklGTyBpcyBnaXZlbiB0byBh
IGdpdmVuIGNoYW5uZWwsIG9uZSBjYW4gYWx3YXlzIHJlYWNoIEFUQVBJIGRy
aXZlcyANCisgKiAgdGhyb3VnaCBpdCwgb3IsIGlmIG9uZSBjaGFubmVsIGlz
IHVudXNlZCwgY29uZmlndXJhdGlvbiBkZWZhdWx0cyB0byBhbiBldmVuIHNw
bGl0IA0KKyAqICBGSUZPIGxldmVscy4NCisgKi8NCisNCisjaW5jbHVkZSA8
bGludXgvdHlwZXMuaD4NCisjaW5jbHVkZSA8bGludXgva2VybmVsLmg+DQor
I2luY2x1ZGUgPGxpbnV4L3RpbWVyLmg+DQorI2luY2x1ZGUgPGxpbnV4L21t
Lmg+DQorI2luY2x1ZGUgPGxpbnV4L2lvcG9ydC5oPg0KKyNpbmNsdWRlIDxs
aW51eC9pbnRlcnJ1cHQuaD4NCisjaW5jbHVkZSA8bGludXgvYmxrZGV2Lmg+
DQorI2luY2x1ZGUgPGxpbnV4L2hkcmVnLmg+DQorI2luY2x1ZGUgPGxpbnV4
L3BjaS5oPg0KKyNpbmNsdWRlIDxsaW51eC9kZWxheS5oPg0KKyNpbmNsdWRl
IDxhc20vaW8uaD4NCisjaW5jbHVkZSAiaWRlLmgiDQorDQorLyoNCisgKiAg
U2V0IFZJQSBDaGlwc2V0IFRpbWluZ3MgZm9yIChVKURNQSBtb2RlcyBlbmFi
bGVkLg0KKyAqDQorICogIFZJQSBBcG9sbG8gY2hpcHNldCBoYXMgY29tcGxl
dGUgc3VwcG9ydCBmb3INCisgKiAgc2V0dGluZyB1cCB0aGUgdGltaW5nIHBh
cmFtZXRlcnMuDQorICovDQorc3RhdGljIHZvaWQgc2V0X3ZpYV90aW1pbmdz
IChpZGVfaHdpZl90ICpod2lmKQ0KK3sNCisJc3RydWN0IHBjaV9kZXYgICpk
ZXYgPSBod2lmLT5wY2lfZGV2Ow0KKwlieXRlIHBvc3QgID0gaHdpZi0+Y2hh
bm5lbCA/IDB4YzAgOiAweDMwOw0KKwlieXRlIGZsdXNoID0gaHdpZi0+Y2hh
bm5lbCA/IDB4YTAgOiAweDUwOw0KKwlieXRlIHZpYV9jb25maWcgPSAwOw0K
KwlpbnQgcmMgPSAwLCBlcnJvcnMgPSAwOw0KKw0KKwlwcmludGsoIiVzOiBW
SUEgQnVzLU1hc3RlciAiLCBod2lmLT5uYW1lKTsNCisNCisJaWYgKCFod2lm
LT5kbWFfYmFzZSkgew0KKwkJcHJpbnRrKCIgRVJST1IsIE5PIERNQV9CQVNF
XG4iKTsNCisJCXJldHVybjsNCisJfQ0KKw0KKwkvKiBzZXR0aW5nIElERSBy
ZWFkIHByZWZldGNoIGJ1ZmZlciBhbmQgSURFIHBvc3Qgd3JpdGUgYnVmZmVy
Lg0KKwkgKiAoVGhpcyBmZWF0dXJlIGFsbG93cyBwcmVmZXRjaGVkIHJlYWRz
IGFuZCBwb3N0IHdyaXRlcykuDQorCSAqLw0KKwlpZiAoKHJjID0gcGNpX3Jl
YWRfY29uZmlnX2J5dGUoZGV2LCAweDQxLCAmdmlhX2NvbmZpZykpKSB7DQor
CQllcnJvcnMrKzsNCisJCWdvdG8gdmlhX2Vycm9yOw0KKwl9DQorCWlmICgo
cmMgPSBwY2lfd3JpdGVfY29uZmlnX2J5dGUoZGV2LCAweDQxLCB2aWFfY29u
ZmlnIHwgcG9zdCkpKSB7DQorCQllcnJvcnMrKzsNCisJCWdvdG8gdmlhX2Vy
cm9yOw0KKwl9DQorDQorCS8qIHNldHRpbmcgQ2hhbm5lbCByZWFkIGFuZCBF
bmQtb2Ytc2VjdG9yIEZJRk8gZmx1c2guDQorCSAqIChUaGlzIGZlYXR1cmUg
ZW5zdXJlcyB0aGF0IEZJRk8gZmx1c2ggaXMgZW5hYmxlZDoNCisgICAgICAg
ICAqICAtIGZvciByZWFkIERNQSB3aGVuIGludGVycnVwdCBhc3NlcnRzIHRo
ZSBnaXZlbiBjaGFubmVsLg0KKyAgICAgICAgICogIC0gYXQgdGhlIGVuZCBv
ZiBlYWNoIHNlY3RvciBmb3IgdGhlIGdpdmVuIGNoYW5uZWwuKQ0KKwkgKi8N
CisJaWYgKChyYyA9IHBjaV9yZWFkX2NvbmZpZ19ieXRlKGRldiwgMHg0Niwg
JnZpYV9jb25maWcpKSkgew0KKwkJZXJyb3JzKys7DQorCQlnb3RvIHZpYV9l
cnJvcjsNCisJfQ0KKyAgICAgICAgaWYgKChyYyA9IHBjaV93cml0ZV9jb25m
aWdfYnl0ZShkZXYsIDB4NDYsIHZpYV9jb25maWcgfCBmbHVzaCkpKSB7DQor
CQllcnJvcnMrKzsNCisJCWdvdG8gdmlhX2Vycm9yOw0KKwl9DQorDQordmlh
X2Vycm9yOg0KKwlwcmludGsoIihVKURNQSBUaW1pbmcgQ29uZmlnICVzXG4i
LCBlcnJvcnMgPyAiRVJST1IiIDogIlN1Y2Nlc3MiKTsNCit9DQorDQordm9p
ZCBpZGVfaW5pdF92aWE4MmM1ODYgKGlkZV9od2lmX3QgKmh3aWYpDQorew0K
KwlzZXRfdmlhX3RpbWluZ3MoaHdpZik7DQorfQ0KKw0KZGlmZiAtdXJOIGxp
bnV4LTIuMS4xMjEtcHJpc3RpbmUvZHJpdmVycy9jZHJvbS9jZHJvbS5jIGxp
bnV4L2RyaXZlcnMvY2Ryb20vY2Ryb20uYw0KLS0tIGxpbnV4LTIuMS4xMjEt
cHJpc3RpbmUvZHJpdmVycy9jZHJvbS9jZHJvbS5jCVR1ZSBTZXAgIDggMTI6
Mzk6MjcgMTk5OA0KKysrIGxpbnV4L2RyaXZlcnMvY2Ryb20vY2Ryb20uYwlN
b24gU2VwIDE0IDEwOjQ5OjQwIDE5OTgNCkBAIC02Nyw3ICs2Nyw3IEBADQog
DQogMi4xMiAgSmFuICAyNCwgMTk5OCAtLSBFcmlrIEFuZGVyc2VuIDxhbmRl
cnNlZUBkZWJpYW4ub3JnPg0KICAgLS0gRml4ZWQgYSBidWcgaW4gdGhlIElP
Q1RMX0lOIGFuZCBJT0NUTF9PVVQgbWFjcm9zLiAgSXQgdHVybnMgb3V0IHRo
YXQNCi0gIGNvcHlfKl91c2VyIGRvZXMgbm90IHJldHVybiBFRkFVTFQgb24g
ZXJyb3IsIGJ1dCBpbnN0ZWFkIHJldHVybiB0aGUgbnVtYmVyIA0KKyAgY29w
eV8qX3VzZXIgZG9lcyBub3QgcmV0dXJuIEVGQVVMVCBvbiBlcnJvciwgYnV0
IGluc3RlYWQgcmV0dXJucyB0aGUgbnVtYmVyIA0KICAgb2YgYnl0ZXMgbm90
IGNvcGllZC4gIEkgd2FzIHJldHVybmluZyB3aGF0ZXZlciBub24temVybyBz
dHVmZiBjYW1lIGJhY2sgZnJvbSANCiAgIHRoZSBjb3B5XypfdXNlciBmdW5j
dGlvbnMgZGlyZWN0bHksIHdoaWNoIHdvdWxkIHJlc3VsdCBpbiBzdHJhbmdl
IGVycm9ycy4NCiANCkBAIC04MCwxMCArODAsMTYgQEANCiAgIC0tIEZpeGVk
IGl0IHNvIHRoYXQgdGhlIC9wcm9jIGVudHJ5IG5vdyBhbHNvIHNob3dzIHVw
IHdoZW4gY2Ryb20gaXMNCiAgIGNvbXBpbGVkIGludG8gdGhlIGtlcm5lbC4g
IEJlZm9yZSBpdCBvbmx5IHdvcmtlZCB3aGVuIGxvYWRlZCBhcyBhIG1vZHVs
ZS4NCiANCisgIDIuMTQgQXVndXN0IDE3LCAxOTk4IC0tIEVyaWsgQW5kZXJz
ZW4gPGFuZGVyc2VlQGRlYmlhbi5vcmc+DQorICAtLSBGaXhlZCBhIGJ1ZyBp
biBjZHJvbV9tZWRpYV9jaGFuZ2VkIGFuZCBoYW5kbGluZyBvZiByZXBvcnRp
bmcgdGhhdA0KKyAgdGhlIG1lZGlhIGhhZCBjaGFuZ2VkIGZvciBkZXZpY2Vz
IHRoYXQgX2Rvbid0XyBpbXBsZW1lbnQgbWVkaWFfY2hhbmdlZC4gIA0KKyAg
VGhhbmtzIHRvIEdyYW50IFIuIEd1ZW50aGVyIDxncmFudEB0b3JxdWUubmV0
PiBmb3Igc3BvdHRpbmcgdGhpcyBidWcuDQorICAtLSBNYWRlIGEgZmV3IHRo
aW5ncyBtb3JlIHBlZGFudGljbHkgY29ycmVjdC4NCisNCiAtLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tKi8NCiANCi0jZGVmaW5lIFJFVklTSU9OICJS
ZXZpc2lvbjogMi4xMyINCi0jZGVmaW5lIFZFUlNJT04gIklkOiBjZHJvbS5j
IDIuMTMgMTk5OC8wNy8xNyBlcmlrIg0KKyNkZWZpbmUgUkVWSVNJT04gIlJl
dmlzaW9uOiAyLjE0Ig0KKyNkZWZpbmUgVkVSU0lPTiAiSWQ6IGNkcm9tLmMg
Mi4xNCAxOTk4LzA4LzE3IGVyaWsiDQogDQogLyogSSB1c2UgYW4gZXJyb3It
bG9nIG1hc2sgdG8gZ2l2ZSBmaW5lIGdyYWluIGNvbnRyb2wgb3ZlciB0aGUg
dHlwZSBvZg0KICAgIG1lc3NhZ2VzIGR1bXBlZCB0byB0aGUgc3lzdGVtIGxv
Z3MuICBUaGUgYXZhaWxhYmxlIG1hc2tzIGluY2x1ZGU6ICovDQpAQCAtMTYz
LDE1ICsxNjksNiBAQA0KIHN0YXRpYyB2b2lkIHNhbml0aXplX2Zvcm1hdCh1
bmlvbiBjZHJvbV9hZGRyICphZGRyLCANCiAJCXVfY2hhciAqIGN1cnIsIHVf
Y2hhciByZXF1ZXN0ZWQpOw0KIHN0YXRpYyB2b2lkIGNkcm9tX3N5c2N0bF9y
ZWdpc3Rlcih2b2lkKTsNCi10eXBlZGVmIHN0cnVjdCB7DQotCWludCBkYXRh
Ow0KLQlpbnQgYXVkaW87DQotCWludCBjZGk7DQotCWludCB4YTsNCi0JbG9u
ZyBlcnJvcjsNCi19IHRyYWNrdHlwZTsNCi0NCi1zdGF0aWMgdm9pZCBjZHJv
bV9jb3VudF90cmFja3Moc3RydWN0IGNkcm9tX2RldmljZV9pbmZvICpjZGks
dHJhY2t0eXBlKiB0cmFja3MpOw0KIHN0YXRpYyBzdHJ1Y3QgY2Ryb21fZGV2
aWNlX2luZm8gKnRvcENkcm9tUHRyID0gTlVMTDsNCiANCiBzdHJ1Y3QgZmls
ZV9vcGVyYXRpb25zIGNkcm9tX2ZvcHMgPQ0KQEAgLTMxMiw2ICszMDksOSBA
QA0KIAkJcmV0ID0gb3Blbl9mb3JfZGF0YShjZGkpOw0KIAlpZiAoIXJldCkg
Y2RpLT51c2VfY291bnQrKzsNCiAJY2RpbmZvKENEX09QRU4sICJVc2UgY291
bnQgZm9yIFwiL2Rldi8lc1wiIG5vdyAlZFxuIiwgY2RpLT5uYW1lLCBjZGkt
PnVzZV9jb3VudCk7DQorCS8qIERvIHRoaXMgb24gb3Blbi4gIERvbid0IHdh
aXQgZm9yIG1vdW50LCBiZWNhdXNlIHRoZXkgbWlnaHQNCisJICAgIG5vdCBi
ZSBtb3VudGluZywgYnV0IG9wZW5pbmcgd2l0aCBPX05PTkJMT0NLICovDQor
CWNoZWNrX2Rpc2tfY2hhbmdlKGRldik7DQogCXJldHVybiByZXQ7DQogfQ0K
IA0KQEAgLTQ5Nyw3ICs0OTcsMTAgQEANCiAJCSEoZnAgJiYgZnAtPmZfZmxh
Z3MgJiBPX05PTkJMT0NLKTsNCiAJY2RvLT5yZWxlYXNlKGNkaSk7DQogCWlm
IChjZGktPnVzZV9jb3VudCA9PSAwKSB7ICAgICAgLyogbGFzdCBwcm9jZXNz
IHRoYXQgY2xvc2VzIGRldiovDQorCQlzdHJ1Y3Qgc3VwZXJfYmxvY2sgKnNi
Ow0KIAkJc3luY19kZXYoZGV2KTsNCisJCXNiID0gZ2V0X3N1cGVyKGRldik7
DQorCQlpZiAoc2IpIGludmFsaWRhdGVfaW5vZGVzKHNiKTsNCiAJCWludmFs
aWRhdGVfYnVmZmVycyhkZXYpOw0KIAkJaWYgKG9wZW5lZF9mb3JfZGF0YSAm
Jg0KIAkJICAgIGNkaS0+b3B0aW9ucyAmIENET19BVVRPX0VKRUNUICYmDQpA
QCAtNTE5LDYgKzUyMiw4IEBADQogCXVuc2lnbmVkIGludCBtYXNrID0gKDEg
PDwgKHF1ZXVlICYgMSkpOw0KIAlpbnQgcmV0ID0gISEoY2RpLT5tY19mbGFn
cyAmIG1hc2spOw0KIA0KKwlpZiAoIShjZGktPm9wcy0+Y2FwYWJpbGl0eSAm
IH5jZGktPm1hc2sgJiBDRENfTUVESUFfQ0hBTkdFRCkpDQorCSAgICByZXR1
cm4gcmV0Ow0KIAkvKiBjaGFuZ2VkIHNpbmNlIGxhc3QgY2FsbD8gKi8NCiAJ
aWYgKGNkaS0+b3BzLT5tZWRpYV9jaGFuZ2VkKGNkaSwgQ0RTTF9DVVJSRU5U
KSkgew0KIAkJY2RpLT5tY19mbGFncyA9IDB4MzsgICAgLyogc2V0IGJpdCBv
biBib3RoIHF1ZXVlcyAqLw0KQEAgLTUzMiwxNCArNTM3LDE4IEBADQogaW50
IGNkcm9tX21lZGlhX2NoYW5nZWQoa2Rldl90IGRldikNCiB7DQogCXN0cnVj
dCBjZHJvbV9kZXZpY2VfaW5mbyAqY2RpID0gY2Ryb21fZmluZF9kZXZpY2Ug
KGRldik7DQorCS8qIFRoaXMgdGFsa3MgdG8gdGhlIFZGUywgd2hpY2ggZG9l
c24ndCBsaWtlIGVycm9ycyAtIGp1c3QgMSBvciAwLiAgDQorCSAqIFJldHVy
bmluZyAiMCIgaXMgYWx3YXlzIHNhZmUgKG1lZGlhIGhhc24ndCBiZWVuIGNo
YW5nZWQpLiBEbyB0aGF0IA0KKwkgKiBpZiB0aGUgbG93LWxldmVsIGNkcm9t
IGRyaXZlciBkb3NuJ3Qgc3VwcG9ydCBtZWRpYSBjaGFuZ2VkLiAqLyANCiAJ
aWYgKGNkaSA9PSBOVUxMKQ0KLQkJcmV0dXJuIC1FTk9ERVY7DQorCQlyZXR1
cm4gMDsNCiAJaWYgKGNkaS0+b3BzLT5tZWRpYV9jaGFuZ2VkID09IE5VTEwp
DQotCQlyZXR1cm4gLUVOT1NZUzsNCi0JcmV0dXJuIG1lZGlhX2NoYW5nZWQo
Y2RpLCAwKTsNCisJCXJldHVybiAwOw0KKwlpZiAoIShjZGktPm9wcy0+Y2Fw
YWJpbGl0eSAmIH5jZGktPm1hc2sgJiBDRENfTUVESUFfQ0hBTkdFRCkpDQor
CSAgICByZXR1cm4gMDsNCisJcmV0dXJuIChtZWRpYV9jaGFuZ2VkKGNkaSwg
MCkpOw0KIH0NCiANCi1zdGF0aWMNCiB2b2lkIGNkcm9tX2NvdW50X3RyYWNr
cyhzdHJ1Y3QgY2Ryb21fZGV2aWNlX2luZm8gKmNkaSwgdHJhY2t0eXBlKiB0
cmFja3MpDQogew0KIAlzdHJ1Y3QgY2Ryb21fdG9jaGRyIGhlYWRlcjsNCkBA
IC05NTAsNiArOTU5LDcgQEANCiAJCXJldHVybiBjZG8tPmRldl9pb2N0bChj
ZGksIGNtZCwgYXJnKTsNCiB9DQogDQorRVhQT1JUX1NZTUJPTChjZHJvbV9j
b3VudF90cmFja3MpOw0KIEVYUE9SVF9TWU1CT0wocmVnaXN0ZXJfY2Ryb20p
Ow0KIEVYUE9SVF9TWU1CT0wodW5yZWdpc3Rlcl9jZHJvbSk7DQogRVhQT1JU
X1NZTUJPTChjZHJvbV9mb3BzKTsNCmRpZmYgLXVyTiBsaW51eC0yLjEuMTIx
LXByaXN0aW5lL2RyaXZlcnMvcGNpL29sZHByb2MuYyBsaW51eC9kcml2ZXJz
L3BjaS9vbGRwcm9jLmMNCi0tLSBsaW51eC0yLjEuMTIxLXByaXN0aW5lL2Ry
aXZlcnMvcGNpL29sZHByb2MuYwlNb24gQXVnIDI0IDE3OjEyOjMyIDE5OTgN
CisrKyBsaW51eC9kcml2ZXJzL3BjaS9vbGRwcm9jLmMJTW9uIFNlcCAxNCAx
MDo0OTo0MCAxOTk4DQpAQCAtMjU1LDYgKzI1NSw3IEBADQogCURFVklDRSgg
V0lOQk9ORCwJV0lOQk9ORF84MkMxMDUsCSJTTDgyQzEwNSIpLA0KIAlERVZJ
Q0UoIFdJTkJPTkQsCVdJTkJPTkRfODNDNTUzLAkiVzgzQzU1MyIpLA0KIAlE
RVZJQ0UoIERBVEFCT09LLCAgICAgIAlEQVRBQk9PS184NzE0NCwJIkRCODcx
NDQiKSwNCisJREVWSUNFKAlQTFgsCQlQTFhfOTA1MCwJIlBDSTkwNTAgSTJP
IiksDQogCURFVklDRSggUExYLAkJUExYXzkwODAsCSJQQ0k5MDgwIEkyTyIp
LA0KIAlERVZJQ0UoIE1BREdFLAkJTUFER0VfTUsyLAkiU21hcnQgMTYvNCBC
TSBNazIgUmluZ25vZGUiKSwNCiAJREVWSUNFKCBNQURHRSwJCU1BREdFX0Mx
NTVTLAkiQ29sbGFnZSAxNTUgU2VydmVyIiksDQpAQCAtMzE0LDYgKzMxNSw3
IEBADQogCURFVklDRSggVFJVRVZJU0lPTiwJVFJVRVZJU0lPTl9UMTAwMCwi
VEFSR0EgMTAwMCIpLA0KIAlERVZJQ0UoIElOSVQsCQlJTklUXzMyMFAsCSIz
MjAgUCIpLA0KIAlERVZJQ0UoIElOSVQsCQlJTklUXzM2MFAsCSIzNjAgUCIp
LA0KKwlERVZJQ0UoCVRUSSwJCVRUSV9IUFQzNDMsCSJIUFQzNDMiKSwNCiAJ
REVWSUNFKCBWSUEsCQlWSUFfODJDNTA1LAkiVlQgODJDNTA1IiksDQogCURF
VklDRSggVklBLAkJVklBXzgyQzU2MSwJIlZUIDgyQzU2MSIpLA0KIAlERVZJ
Q0UoIFZJQSwJCVZJQV84MkM1ODZfMSwJIlZUIDgyQzU4NiBBcG9sbG8gSURF
IiksDQpAQCAtMzg5LDYgKzM5MSw3IEBADQogCURFVklDRSggVE9TSElCQSwJ
VE9TSElCQV9UT1BJQzk1LCJUb1BJQzk1IiksDQogCURFVklDRSggVE9TSElC
QSwJVE9TSElCQV9UT1BJQzk3LCJUb1BJQzk3IiksDQogCURFVklDRSggUklD
T0gsCQlSSUNPSF9STDVDNDY2LAkiUkw1QzQ2NiIpLA0KKwlERVZJQ0UoCUFS
VE9QLAkJQVJUT1BfQVRQODQwMCwJIkFUUDg0MDAiKSwNCiAJREVWSUNFKCBB
UlRPUCwJCUFSVE9QX0FUUDg1MFVGLAkiQVRQODUwVUYiKSwNCiAJREVWSUNF
KCBaRUlUTkVULAlaRUlUTkVUXzEyMjEsCSIxMjIxIiksDQogCURFVklDRSgg
WkVJVE5FVCwJWkVJVE5FVF8xMjI1LAkiMTIyNSIpLA0KQEAgLTcyMiw2ICs3
MjUsNyBAQA0KIAkgICAgICBjYXNlIFBDSV9WRU5ET1JfSURfUkVBTFRFSzoJ
cmV0dXJuICJSZWFsdGVrIjsNCiAJICAgICAgY2FzZSBQQ0lfVkVORE9SX0lE
X1RSVUVWSVNJT046CXJldHVybiAiVHJ1ZXZpc2lvbiI7DQogCSAgICAgIGNh
c2UgUENJX1ZFTkRPUl9JRF9JTklUOgkJcmV0dXJuICJJbml0aW8gQ29ycCI7
DQorCSAgICAgIGNhc2UgUENJX1ZFTkRPUl9JRF9UVEk6CQlyZXR1cm4gIlRy
aW9uZXMgVGVjaG5vbG9naWVzLCBJbmMuIjsNCiAJICAgICAgY2FzZSBQQ0lf
VkVORE9SX0lEX1ZJQToJCXJldHVybiAiVklBIFRlY2hub2xvZ2llcyI7DQog
CSAgICAgIGNhc2UgUENJX1ZFTkRPUl9JRF9WT1JURVg6CXJldHVybiAiVk9S
VEVYIjsNCiAJICAgICAgY2FzZSBQQ0lfVkVORE9SX0lEX0VGOgkJcmV0dXJu
ICJFZmZpY2llbnQgTmV0d29ya3MiOw0KZGlmZiAtdXJOIGxpbnV4LTIuMS4x
MjEtcHJpc3RpbmUvaW5jbHVkZS9saW51eC9jZHJvbS5oIGxpbnV4L2luY2x1
ZGUvbGludXgvY2Ryb20uaA0KLS0tIGxpbnV4LTIuMS4xMjEtcHJpc3RpbmUv
aW5jbHVkZS9saW51eC9jZHJvbS5oCVNhdCBKdW4gMTMgMTU6MDU6MjIgMTk5
OA0KKysrIGxpbnV4L2luY2x1ZGUvbGludXgvY2Ryb20uaAlNb24gU2VwIDE0
IDEwOjQ5OjQxIDE5OTgNCkBAIC00MTUsNiArNDE1LDE0IEBADQogDQogZXh0
ZXJuIGludCByZWdpc3Rlcl9jZHJvbShzdHJ1Y3QgY2Ryb21fZGV2aWNlX2lu
Zm8gKmNkaSk7DQogZXh0ZXJuIGludCB1bnJlZ2lzdGVyX2Nkcm9tKHN0cnVj
dCBjZHJvbV9kZXZpY2VfaW5mbyAqY2RpKTsNCit0eXBlZGVmIHN0cnVjdCB7
DQorICAgIGludCBkYXRhOw0KKyAgICBpbnQgYXVkaW87DQorICAgIGludCBj
ZGk7DQorICAgIGludCB4YTsNCisgICAgbG9uZyBlcnJvcjsNCit9IHRyYWNr
dHlwZTsNCitleHRlcm4gdm9pZCBjZHJvbV9jb3VudF90cmFja3Moc3RydWN0
IGNkcm9tX2RldmljZV9pbmZvICpjZGksdHJhY2t0eXBlKiB0cmFja3MpOw0K
ICNlbmRpZiAgLyogRW5kIG9mIGtlcm5lbCBvbmx5IHN0dWZmICovIA0KIA0K
ICNlbmRpZiAgLyogX0xJTlVYX0NEUk9NX0ggKi8NCmRpZmYgLXVyTiBsaW51
eC0yLjEuMTIxLXByaXN0aW5lL2luY2x1ZGUvbGludXgvaGRyZWcuaCBsaW51
eC9pbmNsdWRlL2xpbnV4L2hkcmVnLmgNCi0tLSBsaW51eC0yLjEuMTIxLXBy
aXN0aW5lL2luY2x1ZGUvbGludXgvaGRyZWcuaAlXZWQgU2VwICA5IDExOjA3
OjA4IDE5OTgNCisrKyBsaW51eC9pbmNsdWRlL2xpbnV4L2hkcmVnLmgJTW9u
IFNlcCAxNCAxMDo0OTo0MSAxOTk4DQpAQCAtNDIsNiArNDIsNyBAQA0KICNk
ZWZpbmUgV0lOX1JFU1RPUkUJCTB4MTANCiAjZGVmaW5lIFdJTl9SRUFECQkw
eDIwDQogI2RlZmluZSBXSU5fV1JJVEUJCTB4MzANCisjZGVmaW5lIFdJTl9X
UklURV9WRVJJRlkJMHgzQw0KICNkZWZpbmUgV0lOX1ZFUklGWQkJMHg0MA0K
ICNkZWZpbmUgV0lOX0ZPUk1BVAkJMHg1MA0KICNkZWZpbmUgV0lOX0lOSVQJ
CTB4NjANCkBAIC02Miw2ICs2Myw5IEBADQogI2RlZmluZSBXSU5fUkVBRERN
QQkJMHhjOAkvKiByZWFkIHNlY3RvcnMgdXNpbmcgRE1BIHRyYW5zZmVycyAq
Lw0KICNkZWZpbmUgV0lOX1dSSVRFRE1BCQkweGNhCS8qIHdyaXRlIHNlY3Rv
cnMgdXNpbmcgRE1BIHRyYW5zZmVycyAqLw0KIA0KKyNkZWZpbmUgV0lOX1JF
QURfQlVGRkVSCQkweEU0CS8qIGZvcmNlIHJlYWQgb25seSAxIHNlY3RvciAq
Lw0KKyNkZWZpbmUgV0lOX1dSSVRFX0JVRkZFUgkweEU4CS8qIGZvcmNlIHdy
aXRlIG9ubHkgMSBzZWN0b3IgKi8NCisNCiAjZGVmaW5lIFdJTl9TTUFSVAkJ
MHhiMAkvKiBzZWxmLW1vbml0b3JpbmcgYW5kIHJlcG9ydGluZyAqLw0KIA0K
IC8qIEFkZGl0aW9uYWwgZHJpdmUgY29tbWFuZCBjb2RlcyB1c2VkIGJ5IEFU
QVBJIGRldmljZXMuICovDQpAQCAtODUsNiArODksNyBAQA0KICNkZWZpbmUg
TUFSS19FUlIJMHgwMQkvKiBCYWQgYWRkcmVzcyBtYXJrICovDQogI2RlZmlu
ZSBUUkswX0VSUgkweDAyCS8qIGNvdWxkbid0IGZpbmQgdHJhY2sgMCAqLw0K
ICNkZWZpbmUgQUJSVF9FUlIJMHgwNAkvKiBDb21tYW5kIGFib3J0ZWQgKi8N
CisjZGVmaW5lIE1DUl9FUlIJCTB4MDgJLyogbWVkaWEgY2hhbmdlIHJlcXVl
c3QgKi8NCiAjZGVmaW5lIElEX0VSUgkJMHgxMAkvKiBJRCBmaWVsZCBub3Qg
Zm91bmQgKi8NCiAjZGVmaW5lIEVDQ19FUlIJCTB4NDAJLyogVW5jb3JyZWN0
YWJsZSBFQ0MgZXJyb3IgKi8NCiAjZGVmaW5lCUJCRF9FUlIJCTB4ODAJLyog
cHJlLUVJREUgbWVhbmluZzogIGJsb2NrIG1hcmtlZCBiYWQgKi8NCmRpZmYg
LXVyTiBsaW51eC0yLjEuMTIxLXByaXN0aW5lL2luY2x1ZGUvbGludXgvcGNp
LmggbGludXgvaW5jbHVkZS9saW51eC9wY2kuaA0KLS0tIGxpbnV4LTIuMS4x
MjEtcHJpc3RpbmUvaW5jbHVkZS9saW51eC9wY2kuaAlXZWQgU2VwICA5IDEx
OjA3OjA4IDE5OTgNCisrKyBsaW51eC9pbmNsdWRlL2xpbnV4L3BjaS5oCU1v
biBTZXAgMTQgMTA6NDk6NDEgMTk5OA0KQEAgLTYwMSw2ICs2MDEsNyBAQA0K
ICNkZWZpbmUgUENJX0RFVklDRV9JRF9EQVRBQk9PS184NzE0NAkweGIxMDYN
CiANCiAjZGVmaW5lIFBDSV9WRU5ET1JfSURfUExYCQkweDEwYjUNCisjZGVm
aW5lIFBDSV9ERVZJQ0VfSURfUExYXzkwNTAJCTB4OTA1MA0KICNkZWZpbmUg
UENJX0RFVklDRV9JRF9QTFhfOTA2MAkJMHg5MDYwDQogI2RlZmluZSBQQ0lf
REVWSUNFX0lEX1BMWF85MDYwRVMJMHg5MDZFDQogI2RlZmluZSBQQ0lfREVW
SUNFX0lEX1BMWF85MDYwU0QJMHg5MDZEDQpAQCAtNzAzLDYgKzcwNCw5IEBA
DQogI2RlZmluZSBQQ0lfREVWSUNFX0lEX0lOSVRfMzIwUAkJMHg5MTAwDQog
I2RlZmluZSBQQ0lfREVWSUNFX0lEX0lOSVRfMzYwUAkJMHg5NTAwDQogDQor
I2RlZmluZSBQQ0lfVkVORE9SX0lEX1RUSQkJMHgxMTAzDQorI2RlZmluZSBQ
Q0lfREVWSUNFX0lEX1RUSV9IUFQzNDMJMHgwMDAzDQorDQogI2RlZmluZSBQ
Q0lfVkVORE9SX0lEX1ZJQQkJMHgxMTA2DQogI2RlZmluZSBQQ0lfREVWSUNF
X0lEX1ZJQV84MkM1MDUJMHgwNTA1DQogI2RlZmluZSBQQ0lfREVWSUNFX0lE
X1ZJQV84MkM1NjEJMHgwNTYxDQpAQCAtODEyLDYgKzgxNiw3IEBADQogI2Rl
ZmluZSBQQ0lfREVWSUNFX0lEX1JJQ09IX1JMNUM0NjYJMHgwNDY2DQogDQog
I2RlZmluZSBQQ0lfVkVORE9SX0lEX0FSVE9QCQkweDExOTENCisjZGVmaW5l
IFBDSV9ERVZJQ0VfSURfQVJUT1BfQVRQODQwMAkweDAwMDQNCiAjZGVmaW5l
IFBDSV9ERVZJQ0VfSURfQVJUT1BfQVRQODUwVUYJMHgwMDA1DQogDQogI2Rl
ZmluZSBQQ0lfVkVORE9SX0lEX1pFSVRORVQJCTB4MTE5Mw0KZGlmZiAtdXJO
IGxpbnV4LTIuMS4xMjEtcHJpc3RpbmUvaW5pdC9tYWluLmMgbGludXgvaW5p
dC9tYWluLmMNCi0tLSBsaW51eC0yLjEuMTIxLXByaXN0aW5lL2luaXQvbWFp
bi5jCVdlZCBTZXAgIDkgMTA6NTY6NTkgMTk5OA0KKysrIGxpbnV4L2luaXQv
bWFpbi5jCU1vbiBTZXAgMTQgMTA6NDk6NDEgMTk5OA0KQEAgLTM4OCw2ICsz
ODgsMTAgQEANCiAJeyAiaGRmIiwgICAgIDB4MjE0MCB9LA0KIAl7ICJoZGci
LCAgICAgMHgyMjAwIH0sDQogCXsgImhkaCIsICAgICAweDIyNDAgfSwNCisJ
eyAiaGRpIiwgICAgIDB4MzgwMCB9LA0KKwl7ICJoZGoiLCAgICAgMHgzODQw
IH0sDQorCXsgImhkayIsICAgICAweDM5MDAgfSwNCisJeyAiaGRsIiwgICAg
IDB4Mzk0MCB9LA0KICNlbmRpZg0KICNpZmRlZiBDT05GSUdfQkxLX0RFVl9T
RA0KIAl7ICJzZGEiLCAgICAgMHgwODAwIH0sDQo=
--998314481-1371127584-905804312=:4854--

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/