ANSIfication to sys/netinet/ *
This is a multi-part message in MIME format.
--------------000208080505030708010900
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
Patches are tarred (22 total).
ANSIfication to sys/netinet/ if_atm.c if_ether.c igmp.c in.c in_gif.c
in_pcb.c in_rmx.c ip_ecn.c ip_encap.c ip_flow.c ip_gre.c ip_icmp.c
ip_id.c ip_input.c ip_output.c tcp_debug.c tcp_input.c tcp_output.c
tcp_syncache.c tcp_timer.c tcp_usrreq.c udp_usrreq.c
--
Tim Wickberg
me@k9mach3.org
--------------000208080505030708010900
Content-Type: application/octet-stream;
name="netinet.tar"
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
filename="netinet.tar"
aWZfYXRtLmMuZGlmZgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAxMDA2NDQA
MDAwMTc1MAAwMDAxNzUwADAwMDAwMDAxMjcwADEwMDU3NTI2MzQ2ADAxMTU0NQAgMAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB1c3RhciAgAHRpbQAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdGltAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtLS0gL3Vzci9zcmMvc3lzL25ldGluZXQvaWZf
YXRtLmMJMjAwNC0wMy0yMyAxNzoxOTowNy4wMDAwMDAwMDAgLTA1MDAKKysrIGlmX2F0bS5j
CTIwMDQtMDYtMDIgMjM6Mjc6MTcuMDAwMDAwMDAwIC0wNDAwCkBAIC03NiwxMCArNzYsNyBA
QAogICovCiAKIHZvaWQKLWF0bV9ydHJlcXVlc3QocmVxLCBydCwgaW5mbykKLQlpbnQgcmVx
OwotCXN0cnVjdCBydGVudHJ5ICpydDsKLQlzdHJ1Y3QgcnRfYWRkcmluZm8gKmluZm87Cith
dG1fcnRyZXF1ZXN0KGludCByZXEsIHN0cnVjdCBydGVudHJ5ICpydCwgc3RydWN0IHJ0X2Fk
ZHJpbmZvICppbmZvKQogewogCXN0cnVjdCBzb2NrYWRkciAqZ2F0ZSA9IHJ0LT5ydF9nYXRl
d2F5OwogCXN0cnVjdCBhdG1fcHNldWRvaW9jdGwgYXBpOwpAQCAtMjIxLDEzICsyMTgsOCBA
QAogICovCiAKIGludAotYXRtcmVzb2x2ZShydCwgbSwgZHN0LCBkZXN0ZW4pCi0KLXN0cnVj
dCBydGVudHJ5ICpydDsKLXN0cnVjdCBtYnVmICptOwotc3RydWN0IHNvY2thZGRyICpkc3Q7
Ci1zdHJ1Y3QgYXRtX3BzZXVkb2hkciAqZGVzdGVuOwkvKiBPVVQgKi8KLQorYXRtcmVzb2x2
ZShzdHJ1Y3QgcnRlbnRyeSAqcnQsIHN0cnVjdCBtYnVmICptLCAKKyAgICBzdHJ1Y3Qgc29j
a2FkZHIgKmRzdCwgc3RydWN0IGF0bV9wc2V1ZG9oZHIgKmRlc3RlbikKIHsKIAlzdHJ1Y3Qg
c29ja2FkZHJfZGwgKnNkbDsKIAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAaWZfZXRoZXIuYy5kaWZmAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAADAxMDA2NDQAMDAwMTc1MAAwMDAxNzUwADAwMDAwMDA0NTQwADEw
MDU3NTI2MzQ2ADAxMjA3NgAgMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAB1c3RhciAgAHRpbQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdGlt
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtLS0g
L3Vzci9zcmMvc3lzL25ldGluZXQvaWZfZXRoZXIuYwkyMDA0LTA2LTAyIDEwOjQzOjAxLjAw
MDAwMDAwMCAtMDQwMAorKysgaWZfZXRoZXIuYwkyMDA0LTA2LTAyIDIzOjMzOjIyLjAwMDAw
MDAwMCAtMDQwMApAQCAtMTQyLDggKzE0Miw3IEBACiAgKi8KIC8qIEFSR1NVU0VEICovCiBz
dGF0aWMgdm9pZAotYXJwdGltZXIoaWdub3JlZF9hcmcpCi0Jdm9pZCAqaWdub3JlZF9hcmc7
CithcnB0aW1lcih2b2lkICppZ25vcmVkX2FyZykKIHsKIAlpbnQgcyA9IHNwbG5ldCgpOwog
CXN0cnVjdCBsbGluZm9fYXJwICpsYSA9IExJU1RfRklSU1QoJmxsaW5mb19hcnApOwpAQCAt
MTYzLDEwICsxNjIsNyBAQAogICogUGFyYWxsZWwgdG8gbGxjX3J0cmVxdWVzdC4KICAqLwog
c3RhdGljIHZvaWQKLWFycF9ydHJlcXVlc3QocmVxLCBydCwgaW5mbykKLQlpbnQgcmVxOwot
CXN0cnVjdCBydGVudHJ5ICpydDsKLQlzdHJ1Y3QgcnRfYWRkcmluZm8gKmluZm87CithcnBf
cnRyZXF1ZXN0KGludCByZXEsIHN0cnVjdCBydGVudHJ5ICpydCwgc3RydWN0IHJ0X2FkZHJp
bmZvICppbmZvKQogewogCXN0cnVjdCBzb2NrYWRkciAqZ2F0ZSA9IHJ0LT5ydF9nYXRld2F5
OwogCXN0cnVjdCBsbGluZm9fYXJwICpsYSA9IChzdHJ1Y3QgbGxpbmZvX2FycCAqKXJ0LT5y
dF9sbGluZm87CkBAIC0yOTYsMTAgKzI5Miw4IEBACiAgKgktIGFycCBoZWFkZXIgc291cmNl
IGV0aGVybmV0IGFkZHJlc3MKICAqLwogc3RhdGljIHZvaWQKLWFycHJlcXVlc3QoaWZwLCBz
aXAsIHRpcCwgZW5hZGRyKQotCXN0cnVjdCBpZm5ldCAqaWZwOwotCXN0cnVjdCBpbl9hZGRy
ICpzaXAsICp0aXA7Ci0JdV9jaGFyICplbmFkZHI7CithcnByZXF1ZXN0KHN0cnVjdCBpZm5l
dCAqaWZwLCBzdHJ1Y3QgaW5fYWRkciAqc2lwLCAKKyAgICBzdHJ1Y3QgaW5fYWRkciAqdGlw
LCB1X2NoYXIgKmVuYWRkcikKIHsKIAlzdHJ1Y3QgbWJ1ZiAqbTsKIAlzdHJ1Y3QgZXRoZXJf
aGVhZGVyICplaDsKQEAgLTM5NCwxMyArMzg4LDggQEAKICAqIHRha2VuIG92ZXIgaGVyZSwg
ZWl0aGVyIG5vdyBvciBmb3IgbGF0ZXIgdHJhbnNtaXNzaW9uLgogICovCiBpbnQKLWFycHJl
c29sdmUoaWZwLCBydCwgbSwgZHN0LCBkZXN0ZW4sIHJ0MCkKLQlzdHJ1Y3QgaWZuZXQgKmlm
cDsKLQlzdHJ1Y3QgcnRlbnRyeSAqcnQ7Ci0Jc3RydWN0IG1idWYgKm07Ci0Jc3RydWN0IHNv
Y2thZGRyICpkc3Q7Ci0JdV9jaGFyICpkZXN0ZW47Ci0Jc3RydWN0IHJ0ZW50cnkgKnJ0MDsK
K2FycHJlc29sdmUoc3RydWN0IGlmbmV0ICppZnAsIHN0cnVjdCBydGVudHJ5ICpydCwgc3Ry
dWN0IG1idWYgKm0sCisgICAgc3RydWN0IHNvY2thZGRyICpkc3QsIHVfY2hhciAqZGVzdGVu
LCBzdHJ1Y3QgcnRlbnRyeSAqcnQwKQogewogCXN0cnVjdCBsbGluZm9fYXJwICpsYSA9IDA7
CiAJc3RydWN0IHNvY2thZGRyX2RsICpzZGw7CkBAIC01NjAsOCArNTQ5LDcgQEAKIAkibG9n
IGFycCBwYWNrZXRzIGFycml2aW5nIG9uIHRoZSB3cm9uZyBpbnRlcmZhY2UiKTsKIAogc3Rh
dGljIHZvaWQKLWluX2FycGlucHV0KG0pCi0Jc3RydWN0IG1idWYgKm07Citpbl9hcnBpbnB1
dChzdHJ1Y3QgbWJ1ZiAqbSkKIHsKIAlzdHJ1Y3QgYXJwaGRyICphaDsKIAlzdHJ1Y3QgaWZu
ZXQgKmlmcCA9IG0tPm1fcGt0aGRyLnJjdmlmOwpAQCAtODQ1LDggKzgzMyw3IEBACiAgKiBG
cmVlIGFuIGFycCBlbnRyeS4KICAqLwogc3RhdGljIHZvaWQKLWFycHRmcmVlKGxhKQotCXN0
cnVjdCBsbGluZm9fYXJwICpsYTsKK2FycHRmcmVlKHN0cnVjdCBsbGluZm9fYXJwICpsYSkK
IHsKIAlzdHJ1Y3QgcnRlbnRyeSAqcnQgPSBsYS0+bGFfcnQ7CiAJc3RydWN0IHNvY2thZGRy
X2RsICpzZGw7CkBAIC04NjYsOSArODUzLDcgQEAKICAqIExvb2t1cCBvciBlbnRlciBhIG5l
dyBhZGRyZXNzIGluIGFycHRhYi4KICAqLwogc3RhdGljIHN0cnVjdCBsbGluZm9fYXJwICoK
LWFycGxvb2t1cChhZGRyLCBjcmVhdGUsIHByb3h5KQotCXVfbG9uZyBhZGRyOwotCWludCBj
cmVhdGUsIHByb3h5OworYXJwbG9va3VwKHVfbG9uZyBhZGRyLCBpbnQgY3JlYXRlLCBpbnQg
cHJveHkpCiB7CiAJc3RydWN0IHJ0ZW50cnkgKnJ0OwogCXN0YXRpYyBzdHJ1Y3Qgc29ja2Fk
ZHJfaW5hcnAgc2luID0ge3NpemVvZihzaW4pLCBBRl9JTkVUIH07CkBAIC05MDcsOSArODky
LDcgQEAKIH0KIAogdm9pZAotYXJwX2lmaW5pdChpZnAsIGlmYSkKLQlzdHJ1Y3QgaWZuZXQg
KmlmcDsKLQlzdHJ1Y3QgaWZhZGRyICppZmE7CithcnBfaWZpbml0KHN0cnVjdCBpZm5ldCAq
aWZwLCBzdHJ1Y3QgaWZhZGRyICppZmEpCiB7CiAJaWYgKG50b2hsKElBX1NJTihpZmEpLT5z
aW5fYWRkci5zX2FkZHIpICE9IElOQUREUl9BTlkpCiAJCWFycHJlcXVlc3QoaWZwLCAmSUFf
U0lOKGlmYSktPnNpbl9hZGRyLAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAaWdtcC5jLmRpZmYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAADAxMDA2NDQAMDAwMTc1MAAwMDAxNzUwADAwMDAwMDAyMTE0ADEwMDU3NTI2
MzQ2ADAxMTI0MAAgMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAB1c3RhciAgAHRpbQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdGltAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtLS0gL3Vzci9z
cmMvc3lzL25ldGluZXQvaWdtcC5jCTIwMDQtMDYtMDIgMTA6NDM6MDEuMDAwMDAwMDAwIC0w
NDAwCisrKyBpZ21wLmMJMjAwNC0wNi0wMiAyMzozNTozNi4wMDAwMDAwMDAgLTA0MDAKQEAg
LTExOCw4ICsxMTgsNyBAQAogfQogCiBzdGF0aWMgc3RydWN0IHJvdXRlcl9pbmZvICoKLWZp
bmRfcnRpKGlmcCkKLQlzdHJ1Y3QgaWZuZXQgKmlmcDsKK2ZpbmRfcnRpKHN0cnVjdCBpZm5l
dCAqaWZwKQogewogICAgICAgICBzdHJ1Y3Qgcm91dGVyX2luZm8gKnJ0aSA9IEhlYWQ7CiAK
QEAgLTE0OCw5ICsxNDcsNyBAQAogfQogCiB2b2lkCi1pZ21wX2lucHV0KG0sIG9mZiwgcHJv
dG8pCi0Jc3RydWN0IG1idWYgKm07Ci0JaW50IG9mZiwgcHJvdG87CitpZ21wX2lucHV0KHN0
cnVjdCBtYnVmICptLCBpbnQgb2ZmLCBpbnQgcHJvdG8pCiB7CiAJaW50IGlwaGxlbiA9IG9m
ZjsKIAlzdHJ1Y3QgaWdtcCAqaWdtcDsKQEAgLTM0Miw4ICszMzksNyBAQAogfQogCiB2b2lk
Ci1pZ21wX2pvaW5ncm91cChpbm0pCi0Jc3RydWN0IGluX211bHRpICppbm07CitpZ21wX2pv
aW5ncm91cChzdHJ1Y3QgaW5fbXVsdGkgKmlubSkKIHsKIAlpbnQgcyA9IHNwbG5ldCgpOwog
CkBAIC0zNjMsOCArMzU5LDcgQEAKIH0KIAogdm9pZAotaWdtcF9sZWF2ZWdyb3VwKGlubSkK
LQlzdHJ1Y3QgaW5fbXVsdGkgKmlubTsKK2lnbXBfbGVhdmVncm91cChzdHJ1Y3QgaW5fbXVs
dGkgKmlubSkKIHsKIAlpZiAoaW5tLT5pbm1fc3RhdGUgPT0gSUdNUF9JUkVQT1JURURMQVNU
ICYmCiAJICAgIGlubS0+aW5tX2FkZHIuc19hZGRyICE9IGlnbXBfYWxsX2hvc3RzX2dyb3Vw
ICYmCkBAIC00MzIsMTAgKzQyNyw3IEBACiBzdGF0aWMgc3RydWN0IHJvdXRlIGlnbXBydDsK
IAogc3RhdGljIHZvaWQKLWlnbXBfc2VuZHBrdChpbm0sIHR5cGUsIGFkZHIpCi0Jc3RydWN0
IGluX211bHRpICppbm07Ci0JaW50IHR5cGU7Ci0JdW5zaWduZWQgbG9uZyBhZGRyOworaWdt
cF9zZW5kcGt0KHN0cnVjdCBpbl9tdWx0aSAqaW5tLCBpbnQgdHlwZSwgdW5zaWduZWQgbG9u
ZyBhZGRyKQogewogICAgICAgICBzdHJ1Y3QgbWJ1ZiAqbTsKICAgICAgICAgc3RydWN0IGln
bXAgKmlnbXA7CgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAABpbi5jLmRpZmYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAMDEwMDY0NAAwMDAxNzUwADAwMDE3NTAAMDAwMDAwMDU1NDEAMTAwNTc1MjYzNDYA
MDEwNzIxACAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AHVzdGFyICAAdGltAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB0aW0AAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC0tLSAvdXNyL3NyYy9z
eXMvbmV0aW5ldC9pbi5jCTIwMDQtMDQtMjIgMDA6MzU6NDUuMDAwMDAwMDAwIC0wNDAwCisr
KyBpbi5jCTIwMDQtMDYtMDIgMjM6NDA6MjEuMDAwMDAwMDAwIC0wNDAwCkBAIC04Miw4ICs4
Miw3IEBACiAgKiBPdGhlcndpc2UsIGl0IGluY2x1ZGVzIG9ubHkgdGhlIGRpcmVjdGx5LWNv
bm5lY3RlZCAoc3ViKW5ldHMuCiAgKi8KIGludAotaW5fbG9jYWxhZGRyKGluKQotCXN0cnVj
dCBpbl9hZGRyIGluOworaW5fbG9jYWxhZGRyKHN0cnVjdCBpbl9hZGRyIGluKQogewogCXVf
bG9uZyBpID0gbnRvaGwoaW4uc19hZGRyKTsKIAlzdHJ1Y3QgaW5faWZhZGRyICppYTsKQEAg
LTEwNiw4ICsxMDUsNyBAQAogICogbWF5IGJlIGZvcndhcmRlZC4KICAqLwogaW50Ci1pbl9j
YW5mb3J3YXJkKGluKQotCXN0cnVjdCBpbl9hZGRyIGluOworaW5fY2FuZm9yd2FyZChzdHJ1
Y3QgaW5fYWRkciBpbikKIHsKIAl1X2xvbmcgaSA9IG50b2hsKGluLnNfYWRkcik7CiAJdV9s
b25nIG5ldDsKQEAgLTEyNiw4ICsxMjQsNyBAQAogICogVHJpbSBhIG1hc2sgaW4gYSBzb2Nr
YWRkcgogICovCiBzdGF0aWMgdm9pZAotaW5fc29ja3RyaW0oYXApCi1zdHJ1Y3Qgc29ja2Fk
ZHJfaW4gKmFwOworaW5fc29ja3RyaW0oc3RydWN0IHNvY2thZGRyX2luICphcCkKIHsKICAg
ICBjaGFyICpjcGxpbSA9IChjaGFyICopICZhcC0+c2luX2FkZHI7CiAgICAgY2hhciAqY3Ag
PSAoY2hhciAqKSAoJmFwLT5zaW5fYWRkciArIDEpOwpAQCAtMTQxLDggKzEzOCw3IEBACiB9
CiAKIHN0YXRpYyBpbnQKLWluX21hc2sybGVuKG1hc2spCi0Jc3RydWN0IGluX2FkZHIgKm1h
c2s7Citpbl9tYXNrMmxlbihzdHJ1Y3QgaW5fYWRkciAqbWFzaykKIHsKIAlpbnQgeCwgeTsK
IAl1X2NoYXIgKnA7CkBAIC0xNjMsOSArMTU5LDcgQEAKIH0KIAogc3RhdGljIHZvaWQKLWlu
X2xlbjJtYXNrKG1hc2ssIGxlbikKLQlzdHJ1Y3QgaW5fYWRkciAqbWFzazsKLQlpbnQgbGVu
OworaW5fbGVuMm1hc2soc3RydWN0IGluX2FkZHIgKm1hc2ssIGludCBsZW4pCiB7CiAJaW50
IGk7CiAJdV9jaGFyICpwOwpAQCAtMTg4LDEyICsxODIsOCBAQAogICovCiAvKiBBUkdTVVNF
RCAqLwogaW50Ci1pbl9jb250cm9sKHNvLCBjbWQsIGRhdGEsIGlmcCwgdGQpCi0Jc3RydWN0
IHNvY2tldCAqc287Ci0JdV9sb25nIGNtZDsKLQljYWRkcl90IGRhdGE7Ci0Jc3RydWN0IGlm
bmV0ICppZnA7Ci0Jc3RydWN0IHRocmVhZCAqdGQ7Citpbl9jb250cm9sKHN0cnVjdCBzb2Nr
ZXQgKnNvLCB1X2xvbmcgY21kLCBjYWRkcl90IGRhdGEsIAorICAgIHN0cnVjdCBpZm5ldCAq
aWZwLCBzdHJ1Y3QgdGhyZWFkICp0ZCkKIHsKIAlzdHJ1Y3QgaWZyZXEgKmlmciA9IChzdHJ1
Y3QgaWZyZXEgKilkYXRhOwogCXN0cnVjdCBpbl9pZmFkZHIgKmlhID0gMCwgKmlhcDsKQEAg
LTQ4MCwxMiArNDcwLDggQEAKICAqIE5PVEUhIHRkIG1pZ2h0IGJlIE5VTEwuCiAgKi8KIHN0
YXRpYyBpbnQKLWluX2xpZmFkZHJfaW9jdGwoc28sIGNtZCwgZGF0YSwgaWZwLCB0ZCkKLQlz
dHJ1Y3Qgc29ja2V0ICpzbzsKLQl1X2xvbmcgY21kOwotCWNhZGRyX3QJZGF0YTsKLQlzdHJ1
Y3QgaWZuZXQgKmlmcDsKLQlzdHJ1Y3QgdGhyZWFkICp0ZDsKK2luX2xpZmFkZHJfaW9jdGwo
c3RydWN0IHNvY2tldCAqc28sIHVfbG9uZyBjbWQsIGNhZGRyX3QgZGF0YSwgCisgICAgc3Ry
dWN0IGlmbmV0ICppZnAsIHN0cnVjdCB0aHJlYWQgKnRkKQogewogCXN0cnVjdCBpZl9sYWRk
cnJlcSAqaWZsciA9IChzdHJ1Y3QgaWZfbGFkZHJyZXEgKilkYXRhOwogCXN0cnVjdCBpZmFk
ZHIgKmlmYTsKQEAgLTY2NCwxMSArNjUwLDggQEAKICAqIGFuZCByb3V0aW5nIHRhYmxlIGVu
dHJ5LgogICovCiBzdGF0aWMgaW50Ci1pbl9pZmluaXQoaWZwLCBpYSwgc2luLCBzY3J1YikK
LQlzdHJ1Y3QgaWZuZXQgKmlmcDsKLQlzdHJ1Y3QgaW5faWZhZGRyICppYTsKLQlzdHJ1Y3Qg
c29ja2FkZHJfaW4gKnNpbjsKLQlpbnQgc2NydWI7Citpbl9pZmluaXQoc3RydWN0IGlmbmV0
ICppZnAsIHN0cnVjdCBpbl9pZmFkZHIgKmlhLAorICAgIHN0cnVjdCBzb2NrYWRkcl9pbiAq
c2luLCBpbnQgc2NydWIpCiB7CiAJdV9sb25nIGkgPSBudG9obChzaW4tPnNpbl9hZGRyLnNf
YWRkcik7CiAJc3RydWN0IHNvY2thZGRyX2luIG9sZGFkZHI7CkBAIC03NzcsOSArNzYwLDcg
QEAKICAqIFJldHVybiAxIGlmIHRoZSBhZGRyZXNzIG1pZ2h0IGJlIGEgbG9jYWwgYnJvYWRj
YXN0IGFkZHJlc3MuCiAgKi8KIGludAotaW5fYnJvYWRjYXN0KGluLCBpZnApCi0Jc3RydWN0
IGluX2FkZHIgaW47Ci0gICAgICAgIHN0cnVjdCBpZm5ldCAqaWZwOworaW5fYnJvYWRjYXN0
KHN0cnVjdCBpbl9hZGRyIGluLCBzdHJ1Y3QgaWZuZXQgKmlmcCkKIHsKIAlzdHJ1Y3QgaWZh
ZGRyICppZmE7CiAJdV9sb25nIHQ7CkBAIC04MTcsOSArNzk4LDcgQEAKICAqIEFkZCBhbiBh
ZGRyZXNzIHRvIHRoZSBsaXN0IG9mIElQIG11bHRpY2FzdCBhZGRyZXNzZXMgZm9yIGEgZ2l2
ZW4gaW50ZXJmYWNlLgogICovCiBzdHJ1Y3QgaW5fbXVsdGkgKgotaW5fYWRkbXVsdGkoYXAs
IGlmcCkKLQlzdHJ1Y3QgaW5fYWRkciAqYXA7Ci0Jc3RydWN0IGlmbmV0ICppZnA7Citpbl9h
ZGRtdWx0aShzdHJ1Y3QgaW5fYWRkciAqYXAsIHN0cnVjdCBpZm5ldCAqaWZwKQogewogCXN0
cnVjdCBpbl9tdWx0aSAqaW5tOwogCWludCBlcnJvcjsKQEAgLTg3Miw4ICs4NTEsNyBAQAog
ICogRGVsZXRlIGEgbXVsdGljYXN0IGFkZHJlc3MgcmVjb3JkLgogICovCiB2b2lkCi1pbl9k
ZWxtdWx0aShpbm0pCi0Jc3RydWN0IGluX211bHRpICppbm07Citpbl9kZWxtdWx0aShzdHJ1
Y3QgaW5fbXVsdGkgKmlubSkKIHsKIAlzdHJ1Y3QgaWZtdWx0aWFkZHIgKmlmbWEgPSBpbm0t
PmlubV9pZm1hOwogCXN0cnVjdCBpbl9tdWx0aSBteV9pbm07CgAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGluX2dpZi5jLmRpZmYAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwMTAwNjQ0ADAwMDE3NTAAMDAwMTc1MAAwMDAw
MDAwMzA1NAAxMDA1NzUyNjM0NgAwMTE1NDMAIDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAdXN0YXIgIAB0aW0AAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAHRpbQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAALS0tIC91c3Ivc3JjL3N5cy9uZXRpbmV0L2luX2dpZi5jCTIwMDQtMDYtMDIgMTA6
NDM6MDEuMDAwMDAwMDAwIC0wNDAwCisrKyBpbl9naWYuYwkyMDA0LTA2LTAyIDIzOjQzOjAx
LjAwMDAwMDAwMCAtMDQwMApAQCAtODUsMTAgKzg1LDcgQEAKIAkmaXBfZ2lmX3R0bCwJMCwg
IiIpOwogCiBpbnQKLWluX2dpZl9vdXRwdXQoaWZwLCBmYW1pbHksIG0pCi0Jc3RydWN0IGlm
bmV0CSppZnA7Ci0JaW50CQlmYW1pbHk7Ci0Jc3RydWN0IG1idWYJKm07Citpbl9naWZfb3V0
cHV0KHN0cnVjdCBpZm5ldCAqaWZwLCBpbnQgZmFtaWx5LCBzdHJ1Y3QgbWJ1ZiAqbSkKIHsK
IAlzdHJ1Y3QgZ2lmX3NvZnRjICpzYyA9IChzdHJ1Y3QgZ2lmX3NvZnRjKilpZnA7CiAJc3Ry
dWN0IHNvY2thZGRyX2luICpkc3QgPSAoc3RydWN0IHNvY2thZGRyX2luICopJnNjLT5naWZf
cm8ucm9fZHN0OwpAQCAtMjEyLDEwICsyMDksNyBAQAogfQogCiB2b2lkCi1pbl9naWZfaW5w
dXQobSwgb2ZmLCBwcm90bykKLQlzdHJ1Y3QgbWJ1ZiAqbTsKLQlpbnQgb2ZmOwotCWludCBw
cm90bzsKK2luX2dpZl9pbnB1dChzdHJ1Y3QgbWJ1ZiAqbSwgaW50IG9mZiwgaW50IHByb3Rv
KQogewogCXN0cnVjdCBpZm5ldCAqZ2lmcCA9IE5VTEw7CiAJc3RydWN0IGlwICppcDsKQEAg
LTI4OSwxMCArMjgzLDcgQEAKICAqIHZhbGlkYXRlIG91dGVyIGFkZHJlc3MuCiAgKi8KIHN0
YXRpYyBpbnQKLWdpZl92YWxpZGF0ZTQoaXAsIHNjLCBpZnApCi0JY29uc3Qgc3RydWN0IGlw
ICppcDsKLQlzdHJ1Y3QgZ2lmX3NvZnRjICpzYzsKLQlzdHJ1Y3QgaWZuZXQgKmlmcDsKK2dp
Zl92YWxpZGF0ZTQoY29uc3Qgc3RydWN0IGlwICppcCwgc3RydWN0IGdpZl9zb2Z0YyAqc2Ms
IHN0cnVjdCBpZm5ldCAqaWZwKQogewogCXN0cnVjdCBzb2NrYWRkcl9pbiAqc3JjLCAqZHN0
OwogCXN0cnVjdCBpbl9pZmFkZHIgKmlhNDsKQEAgLTM1MywxMSArMzQ0LDcgQEAKICAqIG1h
dGNoZWQgdGhlIHBoeXNpY2FsIGFkZHIgZmFtaWx5LiAgc2VlIGdpZl9lbmNhcGNoZWNrKCku
CiAgKi8KIGludAotZ2lmX2VuY2FwY2hlY2s0KG0sIG9mZiwgcHJvdG8sIGFyZykKLQljb25z
dCBzdHJ1Y3QgbWJ1ZiAqbTsKLQlpbnQgb2ZmOwotCWludCBwcm90bzsKLQl2b2lkICphcmc7
CitnaWZfZW5jYXBjaGVjazQoY29uc3Qgc3RydWN0IG1idWYgKm0sIGludCBvZmYsIGludCBw
cm90bywgdm9pZCAqYXJnKQogewogCXN0cnVjdCBpcCBpcDsKIAlzdHJ1Y3QgZ2lmX3NvZnRj
ICpzYzsKQEAgLTM3NCw4ICszNjEsNyBAQAogfQogCiBpbnQKLWluX2dpZl9hdHRhY2goc2Mp
Ci0Jc3RydWN0IGdpZl9zb2Z0YyAqc2M7Citpbl9naWZfYXR0YWNoKHN0cnVjdCBnaWZfc29m
dGMgKnNjKQogewogCXNjLT5lbmNhcF9jb29raWU0ID0gZW5jYXBfYXR0YWNoX2Z1bmMoQUZf
SU5FVCwgLTEsIGdpZl9lbmNhcGNoZWNrLAogCSAgICAmaW5fZ2lmX3Byb3Rvc3csIHNjKTsK
QEAgLTM4NSw4ICszNzEsNyBAQAogfQogCiBpbnQKLWluX2dpZl9kZXRhY2goc2MpCi0Jc3Ry
dWN0IGdpZl9zb2Z0YyAqc2M7Citpbl9naWZfZGV0YWNoKHN0cnVjdCBnaWZfc29mdGMgKnNj
KQogewogCWludCBlcnJvcjsKIAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AABpbl9wY2IuYy5kaWZmAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDEwMDY0
NAAwMDAxNzUwADAwMDE3NTAAMDAwMDAwMDY1MDcAMTAwNTc1MjYzNDYAMDExNTUwACAwAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHVzdGFyICAAdGlt
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB0aW0AAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC0tLSAvdXNyL3NyYy9zeXMvbmV0aW5ldC9p
bl9wY2IuYwkyMDA0LTA1LTA4IDA5OjMwOjUyLjAwMDAwMDAwMCAtMDQwMAorKysgaW5fcGNi
LmMJMjAwNC0wNi0wMiAyMzo1MzoyOC4wMDAwMDAwMDAgLTA0MDAKQEAgLTM4MiwxMCArMzgy
LDggQEAKICAqICAgaGF2ZSBmb3JjZWQgbWlub3IgY2hhbmdlcyBpbiBldmVyeSBwcm90b2Nv
bCkuCiAgKi8KIGludAotaW5fcGNibGFkZHIoaW5wLCBuYW0sIHBsb2NhbF9zaW4pCi0Jc3Ry
dWN0IGlucGNiICppbnA7Ci0Jc3RydWN0IHNvY2thZGRyICpuYW07Ci0Jc3RydWN0IHNvY2th
ZGRyX2luICoqcGxvY2FsX3NpbjsKK2luX3BjYmxhZGRyKHN0cnVjdCBpbnBjYiAqaW5wLCBz
dHJ1Y3Qgc29ja2FkZHIgKm5hbSwgCisgICAgc3RydWN0IHNvY2thZGRyX2luICoqcGxvY2Fs
X3NpbikKIHsKIAlzdHJ1Y3QgaW5faWZhZGRyICppYTsKIAlzdHJ1Y3Qgc29ja2FkZHJfaW4g
KnNpbiA9IChzdHJ1Y3Qgc29ja2FkZHJfaW4gKiluYW07CkBAIC01NDMsOCArNTQxLDcgQEAK
IH0KIAogdm9pZAotaW5fcGNiZGlzY29ubmVjdChpbnApCi0Jc3RydWN0IGlucGNiICppbnA7
Citpbl9wY2JkaXNjb25uZWN0KHN0cnVjdCBpbnBjYiAqaW5wKQogewogCiAJaW5wLT5pbnBf
ZmFkZHIuc19hZGRyID0gSU5BRERSX0FOWTsKQEAgLTU1NSw4ICs1NTIsNyBAQAogfQogCiB2
b2lkCi1pbl9wY2JkZXRhY2goaW5wKQotCXN0cnVjdCBpbnBjYiAqaW5wOworaW5fcGNiZGV0
YWNoKHN0cnVjdCBpbnBjYiAqaW5wKQogewogCXN0cnVjdCBzb2NrZXQgKnNvID0gaW5wLT5p
bnBfc29ja2V0OwogCXN0cnVjdCBpbnBjYmluZm8gKmlwaSA9IGlucC0+aW5wX3BjYmluZm87
CkBAIC01ODgsOSArNTg0LDcgQEAKICAqIGJlY2F1c2UgdGhlcmUgYWN0dWFsbHkgL2lzLyBh
IHByb2dyYW1taW5nIGVycm9yIHNvbWV3aGVyZS4uLiBYWFgpCiAgKi8KIGludAotaW5fc2V0
c29ja2FkZHIoc28sIG5hbSkKLQlzdHJ1Y3Qgc29ja2V0ICpzbzsKLQlzdHJ1Y3Qgc29ja2Fk
ZHIgKipuYW07Citpbl9zZXRzb2NrYWRkcihzdHJ1Y3Qgc29ja2V0ICpzbywgc3RydWN0IHNv
Y2thZGRyICoqbmFtKQogewogCWludCBzOwogCXN0cnVjdCBpbnBjYiAqaW5wOwpAQCAtNjIw
LDkgKzYxNCw3IEBACiB9CiAKIGludAotaW5fc2V0cGVlcmFkZHIoc28sIG5hbSkKLQlzdHJ1
Y3Qgc29ja2V0ICpzbzsKLQlzdHJ1Y3Qgc29ja2FkZHIgKipuYW07Citpbl9zZXRwZWVyYWRk
cihzdHJ1Y3Qgc29ja2V0ICpzbywgc3RydWN0IHNvY2thZGRyICoqbmFtKQogewogCWludCBz
OwogCXN0cnVjdCBpbnBjYiAqaW5wOwpAQCAtNjUyLDEwICs2NDQsOCBAQAogfQogCiB2b2lk
Ci1pbl9wY2Jub3RpZnlhbGwoaGVhZCwgZmFkZHIsIGVycm5vLCBub3RpZnkpCi0Jc3RydWN0
IGlucGNiaGVhZCAqaGVhZDsKLQlzdHJ1Y3QgaW5fYWRkciBmYWRkcjsKLQl2b2lkICgqbm90
aWZ5KSAoc3RydWN0IGlucGNiICosIGludCk7Citpbl9wY2Jub3RpZnlhbGwoc3RydWN0IGlu
cGNiaGVhZCAqaGVhZCwgc3RydWN0IGluX2FkZHIgZmFkZHIsIAorICAgIGludCBlcnJubywg
dm9pZCAoKm5vdGlmeSkgKHN0cnVjdCBpbnBjYiAqLCBpbnQpKQogewogCXN0cnVjdCBpbnBj
YiAqaW5wLCAqbmlucDsKIAlpbnQgczsKQEAgLTY3Niw5ICs2NjYsNyBAQAogfQogCiB2b2lk
Ci1pbl9wY2JwdXJnZWlmMChoZWFkLCBpZnApCi0Jc3RydWN0IGlucGNiICpoZWFkOwotCXN0
cnVjdCBpZm5ldCAqaWZwOworaW5fcGNicHVyZ2VpZjAoc3RydWN0IGlucGNiICpoZWFkLCBz
dHJ1Y3QgaWZuZXQgKmlmcCkKIHsKIAlzdHJ1Y3QgaW5wY2IgKmlucDsKIAlzdHJ1Y3QgaXBf
bW9wdGlvbnMgKmltbzsKQEAgLTcxOSw4ICs3MDcsNyBAQAogICogKGJ5IGEgcmVkaXJlY3Qp
LCB0aW1lIHRvIHRyeSBhIGRlZmF1bHQgZ2F0ZXdheSBhZ2Fpbi4KICAqLwogdm9pZAotaW5f
bG9zaW5nKGlucCkKLQlzdHJ1Y3QgaW5wY2IgKmlucDsKK2luX2xvc2luZyhzdHJ1Y3QgaW5w
Y2IgKmlucCkKIHsKIAlzdHJ1Y3QgcnRlbnRyeSAqcnQ7CiAJc3RydWN0IHJ0X2FkZHJpbmZv
IGluZm87CkBAIC03NDgsOSArNzM1LDcgQEAKICAqIGFuZCBhbGxvY2F0ZSBhIChob3BlZnVs
bHkpIGJldHRlciBvbmUuCiAgKi8KIHZvaWQKLWluX3J0Y2hhbmdlKGlucCwgZXJybm8pCi0J
c3RydWN0IGlucGNiICppbnA7Ci0JaW50IGVycm5vOworaW5fcnRjaGFuZ2Uoc3RydWN0IGlu
cGNiICppbnAsIGludCBlcnJubykKIHsKIAlpZiAoaW5wLT5pbnBfcm91dGUucm9fcnQpIHsK
IAkJcnRmcmVlKGlucC0+aW5wX3JvdXRlLnJvX3J0KTsKQEAgLTc2NiwxMSArNzUxLDggQEAK
ICAqIExvb2t1cCBhIFBDQiBiYXNlZCBvbiB0aGUgbG9jYWwgYWRkcmVzcyBhbmQgcG9ydC4K
ICAqLwogc3RydWN0IGlucGNiICoKLWluX3BjYmxvb2t1cF9sb2NhbChwY2JpbmZvLCBsYWRk
ciwgbHBvcnRfYXJnLCB3aWxkX29rYXkpCi0Jc3RydWN0IGlucGNiaW5mbyAqcGNiaW5mbzsK
LQlzdHJ1Y3QgaW5fYWRkciBsYWRkcjsKLQl1X2ludCBscG9ydF9hcmc7Ci0JaW50IHdpbGRf
b2theTsKK2luX3BjYmxvb2t1cF9sb2NhbChzdHJ1Y3QgaW5wY2JpbmZvICpwY2JpbmZvLCBz
dHJ1Y3QgaW5fYWRkciBsYWRkciwKKyAgICB1X2ludCBscG9ydF9hcmcsIGludCB3aWxkX29r
YXkpCiB7CiAJc3RydWN0IGlucGNiICppbnA7CiAJaW50IG1hdGNod2lsZCA9IDMsIHdpbGRj
YXJkOwpAQCAtODMyLDEyICs4MTQsOSBAQAogICogTG9va3VwIFBDQiBpbiBoYXNoIGxpc3Qu
CiAgKi8KIHN0cnVjdCBpbnBjYiAqCi1pbl9wY2Jsb29rdXBfaGFzaChwY2JpbmZvLCBmYWRk
ciwgZnBvcnRfYXJnLCBsYWRkciwgbHBvcnRfYXJnLCB3aWxkY2FyZCwgaWZwKQotCXN0cnVj
dCBpbnBjYmluZm8gKnBjYmluZm87Ci0Jc3RydWN0IGluX2FkZHIgZmFkZHIsIGxhZGRyOwot
CXVfaW50IGZwb3J0X2FyZywgbHBvcnRfYXJnOwotCWJvb2xlYW5fdCB3aWxkY2FyZDsKLQlz
dHJ1Y3QgaWZuZXQgKmlmcDsKK2luX3BjYmxvb2t1cF9oYXNoKHN0cnVjdCBpbnBjYmluZm8g
KnBjYmluZm8sIHN0cnVjdCBpbl9hZGRyIGZhZGRyLAorICAgICB1X2ludCBmcG9ydF9hcmcs
IHN0cnVjdCBpbl9hZGRyIGxhZGRyLCB1X2ludCBscG9ydF9hcmcsIAorICAgICBib29sZWFu
X3Qgd2lsZGNhcmQsIHN0cnVjdCBpZm5ldCAqaWZwKQogewogCXN0cnVjdCBpbnBjYmhlYWQg
KmhlYWQ7CiAJc3RydWN0IGlucGNiICppbnA7CkBAIC0xMDU1LDggKzEwMzQsNyBAQAogICog
UmVtb3ZlIFBDQiBmcm9tIHZhcmlvdXMgbGlzdHMuCiAgKi8KIHZvaWQKLWluX3BjYnJlbWxp
c3RzKGlucCkKLQlzdHJ1Y3QgaW5wY2IgKmlucDsKK2luX3BjYnJlbWxpc3RzKHN0cnVjdCBp
bnBjYiAqaW5wKQogewogCWlmIChpbnAtPmlucF9scG9ydCkgewogCQlzdHJ1Y3QgaW5wY2Jw
b3J0ICpwaGQgPSBpbnAtPmlucF9waGQ7CgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAaW5fcm14
LmMuZGlmZgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAxMDA2NDQAMDAwMTc1
MAAwMDAxNzUwADAwMDAwMDAxMTQwADEwMDU3NTI2MzQ2ADAxMTU3NgAgMAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB1c3RhciAgAHRpbQAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAdGltAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAtLS0gL3Vzci9zcmMvc3lzL25ldGluZXQvaW5fcm14LmMJ
MjAwNC0wMS0wNyAwNjowNDoyMy4wMDAwMDAwMDAgLTA1MDAKKysrIGluX3JteC5jCTIwMDQt
MDYtMDIgMjM6NTU6MDAuMDAwMDAwMDAwIC0wNDAwCkBAIC02Niw3ICs2Niw3IEBACiAgKi8K
IHN0YXRpYyBzdHJ1Y3QgcmFkaXhfbm9kZSAqCiBpbl9hZGRyb3V0ZSh2b2lkICp2X2FyZywg
dm9pZCAqbl9hcmcsIHN0cnVjdCByYWRpeF9ub2RlX2hlYWQgKmhlYWQsCi0JICAgIHN0cnVj
dCByYWRpeF9ub2RlICp0cmVlbm9kZXMpCisgICAgc3RydWN0IHJhZGl4X25vZGUgKnRyZWVu
b2RlcykKIHsKIAlzdHJ1Y3QgcnRlbnRyeSAqcnQgPSAoc3RydWN0IHJ0ZW50cnkgKil0cmVl
bm9kZXM7CiAJc3RydWN0IHNvY2thZGRyX2luICpzaW4gPSAoc3RydWN0IHNvY2thZGRyX2lu
ICopcnRfa2V5KHJ0KTsKQEAgLTM2Niw3ICszNjYsNiBAQAogCXJldHVybiAxOwogfQogCi0M
CiAvKgogICogVGhpcyB6YXBzIG9sZCByb3V0ZXMgd2hlbiB0aGUgaW50ZXJmYWNlIGdvZXMg
ZG93biBvciBpbnRlcmZhY2UKICAqIGFkZHJlc3MgaXMgZGVsZXRlZC4gIEluIHRoZSBsYXR0
ZXIgY2FzZSwgaXQgZGVsZXRlcyBzdGF0aWMgcm91dGVzCgAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAaXBfZWNuLmMuZGlmZgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAADAxMDA2NDQAMDAwMTc1MAAwMDAxNzUwADAwMDAwMDAyMzY0ADEwMDU3NTI2
MzQ2ADAxMTU1MAAgMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAB1c3RhciAgAHRpbQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdGltAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtLS0gL3Vzci9z
cmMvc3lzL25ldGluZXQvaXBfZWNuLmMJMjAwMy0wNi0xNyAwMDoyODo1MS4wMDAwMDAwMDAg
LTA0MDAKKysrIGlwX2Vjbi5jCTIwMDQtMDYtMDIgMjM6NTc6MjEuMDAwMDAwMDAwIC0wNDAw
CkBAIC02MSwxMCArNjEsNyBAQAogICogbW9kaWZ5IG91dGVyIEVDTiAoVE9TKSBmaWVsZCBv
biBpbmdyZXNzIG9wZXJhdGlvbiAodHVubmVsIGVuY2Fwc3VsYXRpb24pLgogICovCiB2b2lk
Ci1pcF9lY25faW5ncmVzcyhtb2RlLCBvdXRlciwgaW5uZXIpCi0JaW50IG1vZGU7Ci0JdV9p
bnQ4X3QgKm91dGVyOwotCWNvbnN0IHVfaW50OF90ICppbm5lcjsKK2lwX2Vjbl9pbmdyZXNz
KGludCBtb2RlLCB1X2ludDhfdCAqb3V0ZXIsIGNvbnN0IHVfaW50OF90ICppbm5lcikKIHsK
IAlpZiAoIW91dGVyIHx8ICFpbm5lcikKIAkJcGFuaWMoIk5VTEwgcG9pbnRlciBwYXNzZWQg
dG8gaXBfZWNuX2luZ3Jlc3MiKTsKQEAgLTg2LDEwICs4Myw3IEBACiAgKiBtb2RpZnkgaW5u
ZXIgRUNOIChUT1MpIGZpZWxkIG9uIGVncmVzcyBvcGVyYXRpb24gKHR1bm5lbCBkZWNhcHN1
bGF0aW9uKS4KICAqLwogdm9pZAotaXBfZWNuX2VncmVzcyhtb2RlLCBvdXRlciwgaW5uZXIp
Ci0JaW50IG1vZGU7Ci0JY29uc3QgdV9pbnQ4X3QgKm91dGVyOwotCXVfaW50OF90ICppbm5l
cjsKK2lwX2Vjbl9lZ3Jlc3MoaW50IG1vZGUsIGNvbnN0IHVfaW50OF90ICpvdXRlciwgdV9p
bnQ4X3QgKmlubmVyKQogewogCWlmICghb3V0ZXIgfHwgIWlubmVyKQogCQlwYW5pYygiTlVM
TCBwb2ludGVyIHBhc3NlZCB0byBpcF9lY25fZWdyZXNzIik7CkBAIC0xMDcsMTAgKzEwMSw3
IEBACiAKICNpZmRlZiBJTkVUNgogdm9pZAotaXA2X2Vjbl9pbmdyZXNzKG1vZGUsIG91dGVy
LCBpbm5lcikKLQlpbnQgbW9kZTsKLQl1X2ludDMyX3QgKm91dGVyOwotCWNvbnN0IHVfaW50
MzJfdCAqaW5uZXI7CitpcDZfZWNuX2luZ3Jlc3MoaW50IG1vZGUsIHVfaW50MzJfdCAqb3V0
ZXIsIGNvbnN0IHVfaW50MzJfdCAqaW5uZXIpCiB7CiAJdV9pbnQ4X3Qgb3V0ZXI4LCBpbm5l
cjg7CiAKQEAgLTEyNSwxMCArMTE2LDcgQEAKIH0KIAogdm9pZAotaXA2X2Vjbl9lZ3Jlc3Mo
bW9kZSwgb3V0ZXIsIGlubmVyKQotCWludCBtb2RlOwotCWNvbnN0IHVfaW50MzJfdCAqb3V0
ZXI7Ci0JdV9pbnQzMl90ICppbm5lcjsKK2lwNl9lY25fZWdyZXNzKGludCBtb2RlLCBjb25z
dCB1X2ludDMyX3QgKm91dGVyLCB1X2ludDMyX3QgKmlubmVyKQogewogCXVfaW50OF90IG91
dGVyOCwgaW5uZXI4OwogCgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAABpcF9lbmNhcC5jLmRpZmYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAMDEwMDY0NAAwMDAxNzUwADAwMDE3NTAAMDAwMDAwMDQzNDAAMTAwNTc1MzExMTcA
MDEyMDU1ACAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AHVzdGFyICAAdGltAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB0aW0AAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC0tLSAvdXNyL3NyYy9z
eXMvbmV0aW5ldC9pcF9lbmNhcC5jCTIwMDQtMDYtMDIgMTA6NDM6MDEuMDAwMDAwMDAwIC0w
NDAwCisrKyBpcF9lbmNhcC5jCTIwMDQtMDYtMDMgMDA6MDI6MDUuMDAwMDAwMDAwIC0wNDAw
CkBAIC0yMTcsMTAgKzIxNyw3IEBACiAKICNpZmRlZiBJTkVUNgogaW50Ci1lbmNhcDZfaW5w
dXQobXAsIG9mZnAsIHByb3RvKQotCXN0cnVjdCBtYnVmICoqbXA7Ci0JaW50ICpvZmZwOwot
CWludCBwcm90bzsKK2VuY2FwNl9pbnB1dChzdHJ1Y3QgbWJ1ZiAqKm1wLCBpbnQgKm9mZnAs
IGludCBwcm90bykKIHsKIAlzdHJ1Y3QgbWJ1ZiAqbSA9ICptcDsKIAlzdHJ1Y3QgaXA2X2hk
ciAqaXA2OwpAQCAtMjg1LDggKzI4Miw3IEBACiAjZW5kaWYKIAogc3RhdGljIHZvaWQKLWVu
Y2FwX2FkZChlcCkKLQlzdHJ1Y3QgZW5jYXB0YWIgKmVwOworZW5jYXBfYWRkKHN0cnVjdCBl
bmNhcHRhYiAqZXApCiB7CiAKIAlMSVNUX0lOU0VSVF9IRUFEKCZlbmNhcHRhYiwgZXAsIGNo
YWluKTsKQEAgLTI5OCwxMyArMjk0LDkgQEAKICAqIFJldHVybiB2YWx1ZSB3aWxsIGJlIG5l
Y2Vzc2FyeSBhcyBpbnB1dCAoY29va2llKSBmb3IgZW5jYXBfZGV0YWNoKCkuCiAgKi8KIGNv
bnN0IHN0cnVjdCBlbmNhcHRhYiAqCi1lbmNhcF9hdHRhY2goYWYsIHByb3RvLCBzcCwgc20s
IGRwLCBkbSwgcHN3LCBhcmcpCi0JaW50IGFmOwotCWludCBwcm90bzsKLQljb25zdCBzdHJ1
Y3Qgc29ja2FkZHIgKnNwLCAqc207Ci0JY29uc3Qgc3RydWN0IHNvY2thZGRyICpkcCwgKmRt
OwotCWNvbnN0IHN0cnVjdCBwcm90b3N3ICpwc3c7Ci0Jdm9pZCAqYXJnOworZW5jYXBfYXR0
YWNoKGludCBhZiwgaW50IHByb3RvLCBjb25zdCBzdHJ1Y3Qgc29ja2FkZHIgKnNwLAorICAg
IGNvbnN0IHN0cnVjdCBzb2NrYWRkciAqc20sIGNvbnN0IHN0cnVjdCBzb2NrYWRkciAqZHAs
CisgICAgY29uc3Qgc3RydWN0IHNvY2thZGRyICpkbSwgY29uc3Qgc3RydWN0IHByb3Rvc3cg
KnBzdywgdm9pZCAqYXJnKQogewogCXN0cnVjdCBlbmNhcHRhYiAqZXA7CiAJaW50IGVycm9y
OwpAQCAtMzcxLDEyICszNjMsOSBAQAogfQogCiBjb25zdCBzdHJ1Y3QgZW5jYXB0YWIgKgot
ZW5jYXBfYXR0YWNoX2Z1bmMoYWYsIHByb3RvLCBmdW5jLCBwc3csIGFyZykKLQlpbnQgYWY7
Ci0JaW50IHByb3RvOwotCWludCAoKmZ1bmMpIChjb25zdCBzdHJ1Y3QgbWJ1ZiAqLCBpbnQs
IGludCwgdm9pZCAqKTsKLQljb25zdCBzdHJ1Y3QgcHJvdG9zdyAqcHN3OwotCXZvaWQgKmFy
ZzsKK2VuY2FwX2F0dGFjaF9mdW5jKGludCBhZiwgaW50IHByb3RvLCAKKyAgICBpbnQgKCpm
dW5jKSAoY29uc3Qgc3RydWN0IG1idWYgKiwgaW50LCBpbnQsIHZvaWQgKiksIAorICAgIGNv
bnN0IHN0cnVjdCBwcm90b3N3ICpwc3csIHZvaWQgKmFyZykKIHsKIAlzdHJ1Y3QgZW5jYXB0
YWIgKmVwOwogCWludCBlcnJvcjsKQEAgLTQxMyw4ICs0MDIsNyBAQAogfQogCiBpbnQKLWVu
Y2FwX2RldGFjaChjb29raWUpCi0JY29uc3Qgc3RydWN0IGVuY2FwdGFiICpjb29raWU7Citl
bmNhcF9kZXRhY2goY29uc3Qgc3RydWN0IGVuY2FwdGFiICpjb29raWUpCiB7CiAJY29uc3Qg
c3RydWN0IGVuY2FwdGFiICplcCA9IGNvb2tpZTsKIAlzdHJ1Y3QgZW5jYXB0YWIgKnA7CkBA
IC00MzEsMTAgKzQxOSw4IEBACiB9CiAKIHN0YXRpYyBpbnQKLW1hc2tfbWF0Y2goZXAsIHNw
LCBkcCkKLQljb25zdCBzdHJ1Y3QgZW5jYXB0YWIgKmVwOwotCWNvbnN0IHN0cnVjdCBzb2Nr
YWRkciAqc3A7Ci0JY29uc3Qgc3RydWN0IHNvY2thZGRyICpkcDsKK21hc2tfbWF0Y2goY29u
c3Qgc3RydWN0IGVuY2FwdGFiICplcCwgY29uc3Qgc3RydWN0IHNvY2thZGRyICpzcCwgCisg
ICAgY29uc3Qgc3RydWN0IHNvY2thZGRyICpkcCkKIHsKIAlzdHJ1Y3Qgc29ja2FkZHJfc3Rv
cmFnZSBzOwogCXN0cnVjdCBzb2NrYWRkcl9zdG9yYWdlIGQ7CkBAIC00ODQsOSArNDcwLDcg
QEAKIH0KIAogc3RhdGljIHZvaWQKLWVuY2FwX2ZpbGxhcmcobSwgZXApCi0Jc3RydWN0IG1i
dWYgKm07Ci0JY29uc3Qgc3RydWN0IGVuY2FwdGFiICplcDsKK2VuY2FwX2ZpbGxhcmcoc3Ry
dWN0IG1idWYgKm0sIGNvbnN0IHN0cnVjdCBlbmNhcHRhYiAqZXApCiB7CiAJc3RydWN0IG1f
dGFnICp0YWc7CiAKQEAgLTQ5OCw4ICs0ODIsNyBAQAogfQogCiB2b2lkICoKLWVuY2FwX2dl
dGFyZyhtKQotCXN0cnVjdCBtYnVmICptOworZW5jYXBfZ2V0YXJnKHN0cnVjdCBtYnVmICpt
KQogewogCXZvaWQgKnAgPSBOVUxMOwogCXN0cnVjdCBtX3RhZyAqdGFnOwoAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAABpcF9mbG93LmMuZGlmZgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
MDEwMDY0NAAwMDAxNzUwADAwMDE3NTAAMDAwMDAwMDI0NDUAMTAwNTc1MjYzNDYAMDExNzUy
ACAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHVzdGFy
ICAAdGltAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB0aW0AAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC0tLSAvdXNyL3NyYy9zeXMvbmV0
aW5ldC9pcF9mbG93LmMJMjAwNC0wNS0wMyAxMToxODoyNS4wMDAwMDAwMDAgLTA0MDAKKysr
IGlwX2Zsb3cuYwkyMDA0LTA2LTAzIDAwOjAzOjI4LjAwMDAwMDAwMCAtMDQwMApAQCAtNzMs
MTAgKzczLDcgQEAKIHN0YXRpYyBNQUxMT0NfREVGSU5FKE1fSVBGTE9XLCAiaXBfZmxvdyIs
ICJJUCBmbG93Iik7CiAKIHN0YXRpYyB1bnNpZ25lZAotaXBmbG93X2hhc2goCi0Jc3RydWN0
IGluX2FkZHIgZHN0LAotCXN0cnVjdCBpbl9hZGRyIHNyYywKLQl1bnNpZ25lZCB0b3MpCitp
cGZsb3dfaGFzaChzdHJ1Y3QgaW5fYWRkciBkc3QsIHN0cnVjdCBpbl9hZGRyIHNyYywgdW5z
aWduZWQgdG9zKQogewogCXVuc2lnbmVkIGhhc2ggPSB0b3M7CiAJaW50IGlkeDsKQEAgLTg2
LDggKzgzLDcgQEAKIH0KIAogc3RhdGljIHN0cnVjdCBpcGZsb3cgKgotaXBmbG93X2xvb2t1
cCgKLQljb25zdCBzdHJ1Y3QgaXAgKmlwKQoraXBmbG93X2xvb2t1cChjb25zdCBzdHJ1Y3Qg
aXAgKmlwKQogewogCXVuc2lnbmVkIGhhc2g7CiAJc3RydWN0IGlwZmxvdyAqaXBmOwpAQCAt
MTA2LDggKzEwMiw3IEBACiB9CiAKIGludAotaXBmbG93X2Zhc3Rmb3J3YXJkKAotCXN0cnVj
dCBtYnVmICptKQoraXBmbG93X2Zhc3Rmb3J3YXJkKHN0cnVjdCBtYnVmICptKQogewogCXN0
cnVjdCBpcCAqaXA7CiAJc3RydWN0IGlwZmxvdyAqaXBmOwpAQCAtMTc3LDggKzE3Miw3IEBA
CiB9CiAMCiBzdGF0aWMgdm9pZAotaXBmbG93X2FkZHN0YXRzKAotCXN0cnVjdCBpcGZsb3cg
KmlwZikKK2lwZmxvd19hZGRzdGF0cyhzdHJ1Y3QgaXBmbG93ICppcGYpCiB7CiAJaXBmLT5p
cGZfcm8ucm9fcnQtPnJ0X3VzZSArPSBpcGYtPmlwZl91c2VzOwogCWlwc3RhdC5pcHNfY2Fu
dGZvcndhcmQgKz0gaXBmLT5pcGZfZXJyb3JzICsgaXBmLT5pcGZfZHJvcHBlZDsKQEAgLTE4
Nyw4ICsxODEsNyBAQAogfQogCiBzdGF0aWMgdm9pZAotaXBmbG93X2ZyZWUoCi0Jc3RydWN0
IGlwZmxvdyAqaXBmKQoraXBmbG93X2ZyZWUoc3RydWN0IGlwZmxvdyAqaXBmKQogewogCWlu
dCBzOwogCS8qCkBAIC0yMDYsOCArMTk5LDcgQEAKIH0KIAogc3RhdGljIHN0cnVjdCBpcGZs
b3cgKgotaXBmbG93X3JlYXAoCi0Jdm9pZCkKK2lwZmxvd19yZWFwKHZvaWQpCiB7CiAJc3Ry
dWN0IGlwZmxvdyAqaXBmLCAqbWF5YmVfaXBmID0gTlVMTDsKIAlpbnQgaWR4OwpAQCAtMjUx
LDggKzI0Myw3IEBACiB9CiAKIHZvaWQKLWlwZmxvd19zbG93dGltbygKLQl2b2lkKQoraXBm
bG93X3Nsb3d0aW1vKHZvaWQpCiB7CiAJc3RydWN0IGlwZmxvdyAqaXBmOwogCWludCBpZHg7
CgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAGlwX2dyZS5jLmRpZmYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwMTAw
NjQ0ADAwMDE3NTAAMDAwMTc1MAAwMDAwMDAwMDYyNgAxMDA1NzUyNjM0NgAwMTE1NTcAIDAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdXN0YXIgIAB0
aW0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHRpbQAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALS0tIC91c3Ivc3JjL3N5cy9uZXRpbmV0
L2lwX2dyZS5jCTIwMDQtMDItMTQgMTY6MTI6MzkuMDAwMDAwMDAwIC0wNTAwCisrKyBpcF9n
cmUuYwkyMDA0LTA2LTAzIDAwOjA0OjEwLjAwMDAwMDAwMCAtMDQwMApAQCAtMjg5LDkgKzI4
OSw3IEBACiAgKiBGaW5kIHRoZSBncmUgaW50ZXJmYWNlIGFzc29jaWF0ZWQgd2l0aCBvdXIg
c3JjL2RzdC9wcm90byBzZXQuCiAgKi8KIHN0YXRpYyBzdHJ1Y3QgZ3JlX3NvZnRjICoKLWdy
ZV9sb29rdXAobSwgcHJvdG8pCi0Jc3RydWN0IG1idWYgKm07Ci0JdV9pbnQ4X3QgcHJvdG87
CitncmVfbG9va3VwKHN0cnVjdCBtYnVmICptLCB1X2ludDhfdCBwcm90bykKIHsKIAlzdHJ1
Y3QgaXAgKmlwID0gbXRvZChtLCBzdHJ1Y3QgaXAgKik7CiAJc3RydWN0IGdyZV9zb2Z0YyAq
c2M7CgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AABpcF9pY21wLmMuZGlmZgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDEwMDY0
NAAwMDAxNzUwADAwMDE3NTAAMDAwMDAwMDI3MzQAMTAwNTc1MjYzNDYAMDExNzM0ACAwAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHVzdGFyICAAdGlt
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB0aW0AAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC0tLSAvdXNyL3NyYy9zeXMvbmV0aW5ldC9p
cF9pY21wLmMJMjAwNC0wNi0wMiAxMDo0MzowMS4wMDAwMDAwMDAgLTA0MDAKKysrIGlwX2lj
bXAuYwkyMDA0LTA2LTAzIDAwOjA2OjQxLjAwMDAwMDAwMCAtMDQwMApAQCAtMTM5LDExICsx
MzksOCBAQAogICogaW4gcmVzcG9uc2UgdG8gYmFkIHBhY2tldCBpcC4KICAqLwogdm9pZAot
aWNtcF9lcnJvcihuLCB0eXBlLCBjb2RlLCBkZXN0LCBkZXN0aWZwKQotCXN0cnVjdCBtYnVm
ICpuOwotCWludCB0eXBlLCBjb2RlOwotCW5fbG9uZyBkZXN0OwotCXN0cnVjdCBpZm5ldCAq
ZGVzdGlmcDsKK2ljbXBfZXJyb3Ioc3RydWN0IG1idWYgKm4sIGludCB0eXBlLCBpbnQgY29k
ZSwgbl9sb25nIGRlc3QsIAorICAgIHN0cnVjdCBpZm5ldCAqZGVzdGlmcCkKIHsKIAlzdHJ1
Y3QgaXAgKm9pcCA9IG10b2Qobiwgc3RydWN0IGlwICopLCAqbmlwOwogCXVuc2lnbmVkIG9p
cGxlbiA9IElQX1ZITF9ITChvaXAtPmlwX3ZobCkgPDwgMjsKQEAgLTI0Niw5ICsyNDMsNyBA
QAogICogUHJvY2VzcyBhIHJlY2VpdmVkIElDTVAgbWVzc2FnZS4KICAqLwogdm9pZAotaWNt
cF9pbnB1dChtLCBvZmYsIHByb3RvKQotCXN0cnVjdCBtYnVmICptOwotCWludCBvZmYsIHBy
b3RvOworaWNtcF9pbnB1dChzdHJ1Y3QgbWJ1ZiAqbSwgaW50IG9mZiwgaW50IHByb3RvKQog
ewogCWludCBobGVuID0gb2ZmOwogCXN0cnVjdCBpY21wICppY3A7CkBAIC02MDQsOCArNTk5
LDcgQEAKICAqIFJlZmxlY3QgdGhlIGlwIHBhY2tldCBiYWNrIHRvIHRoZSBzb3VyY2UKICAq
Lwogc3RhdGljIHZvaWQKLWljbXBfcmVmbGVjdChtKQotCXN0cnVjdCBtYnVmICptOworaWNt
cF9yZWZsZWN0KHN0cnVjdCBtYnVmICptKQogewogCXN0cnVjdCBpcCAqaXAgPSBtdG9kKG0s
IHN0cnVjdCBpcCAqKTsKIAlzdHJ1Y3QgaWZhZGRyICppZmE7CkBAIC03NDQsMTAgKzczOCw3
IEBACiAgKiBhZnRlciBzdXBwbHlpbmcgYSBjaGVja3N1bS4KICAqLwogc3RhdGljIHZvaWQK
LWljbXBfc2VuZChtLCBvcHRzLCBydCkKLQlzdHJ1Y3QgbWJ1ZiAqbTsKLQlzdHJ1Y3QgbWJ1
ZiAqb3B0czsKLQlzdHJ1Y3Qgcm91dGUgKnJ0OworaWNtcF9zZW5kKHN0cnVjdCBtYnVmICpt
LCBzdHJ1Y3QgbWJ1ZiAqb3B0cywgc3RydWN0IHJvdXRlICpydCkKIHsKIAlzdHJ1Y3QgaXAg
KmlwID0gbXRvZChtLCBzdHJ1Y3QgaXAgKik7CiAJaW50IGhsZW47CkBAIC03OTEsOSArNzgy
LDcgQEAKICAqIGlzIHJldHVybmVkOyBvdGhlcndpc2UsIGEgc21hbGxlciB2YWx1ZSBpcyBy
ZXR1cm5lZC4KICAqLwogc3RhdGljIGludAotaXBfbmV4dF9tdHUobXR1LCBkaXIpCi0JaW50
IG10dTsKLQlpbnQgZGlyOworaXBfbmV4dF9tdHUoaW50IG10dSwgaW50IGRpcikKIHsKIAlz
dGF0aWMgaW50IG10dXRhYltdID0gewogCQk2NTUzNSwgMzIwMDAsIDE3OTE0LCA4MTY2LCA0
MzUyLCAyMDAyLCAxNDkyLCAxMDA2LCA1MDgsIDI5NiwKQEAgLTg5NSw1ICs4ODQsMyBAQAog
fQogCiAjZW5kaWYKLQotCgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGlw
X2lkLmMuZGlmZgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwMTAwNjQ0ADAw
MDE3NTAAMDAwMTc1MAAwMDAwMDAwMDU0MwAxMDA1NzUyNjM0NgAwMTEzNzQAIDAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdXN0YXIgIAB0aW0AAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHRpbQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALS0tIC91c3Ivc3JjL3N5cy9uZXRpbmV0L2lwX2lk
LmMJMjAwMy0wOC0yMyAwNzoxODowMC4wMDAwMDAwMDAgLTA0MDAKKysrIGlwX2lkLmMJMjAw
NC0wNi0wMyAwMDowOToxNi4wMDAwMDAwMDAgLTA0MDAKQEAgLTk3LDE0ICs5Nyw4IEBACiAg
KiBvZiAwIC0gKG1vZC0xKQogICovCiAKLSNpZmRlZiBfX1NURENfXwogc3RhdGljIHVfaW50
MTZfdAogcG1vZCh1X2ludDE2X3QgZ2VuLCB1X2ludDE2X3QgZXhwLCB1X2ludDE2X3QgbW9k
KQotI2Vsc2UKLXN0YXRpYyB1X2ludDE2X3QKLXBtb2QoZ2VuLCBleHAsIG1vZCkKLQl1X2lu
dDE2X3QgZ2VuLCBleHAsIG1vZDsKLSNlbmRpZgogewogCXVfaW50MTZfdCBzLCB0LCB1Owog
CgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABpcF9p
bnB1dC5jLmRpZmYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDEwMDY0NAAwMDAx
NzUwADAwMDE3NTAAMDAwMDAwMDE3MDEAMTAwNTc1MjYzNDYAMDEyMTM0ACAwAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHVzdGFyICAAdGltAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB0aW0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAC0tLSAvdXNyL3NyYy9zeXMvbmV0aW5ldC9pcF9pbnB1
dC5jCTIwMDQtMDYtMDIgMTA6NDM6MDEuMDAwMDAwMDAwIC0wNDAwCisrKyBpcF9pbnB1dC5j
CTIwMDQtMDYtMDMgMDA6MTI6MzIuMDAwMDAwMDAwIC0wNDAwCkBAIC0zNDksNyArMzQ5LDcg
QEAKIC8qIERvIHRyYW5zcG9ydCBwcm90b2NvbCBwcm9jZXNzaW5nLiAqLwogc3RhdGljIHZv
aWQKIHRyYW5zcG9ydF9wcm9jZXNzaW5nX29uY3B1KHN0cnVjdCBtYnVmICptLCBpbnQgaGxl
biwgc3RydWN0IGlwICppcCwKLQkJCSAgIHN0cnVjdCBzb2NrYWRkcl9pbiAqbmV4dGhvcCkK
KyAgICBzdHJ1Y3Qgc29ja2FkZHJfaW4gKm5leHRob3ApCiB7CiAJLyoKIAkgKiBTd2l0Y2gg
b3V0IHRvIHByb3RvY29sJ3MgaW5wdXQgcm91dGluZS4KQEAgLTEwODEsNyArMTA4MSw3IEBA
CiAKIHN0YXRpYyBzdHJ1Y3QgbWJ1ZiAqCiBpcF9yZWFzcyhzdHJ1Y3QgbWJ1ZiAqbSwgc3Ry
dWN0IGlwcSAqZnAsIHN0cnVjdCBpcHEgKndoZXJlLAotCSB1X2ludDMyX3QgKmRpdmluZm8s
IHVfaW50MTZfdCAqZGl2ZXJ0X3J1bGUpCisgICAgdV9pbnQzMl90ICpkaXZpbmZvLCB1X2lu
dDE2X3QgKmRpdmVydF9ydWxlKQogewogCXN0cnVjdCBpcCAqaXAgPSBtdG9kKG0sIHN0cnVj
dCBpcCAqKTsKIAlzdHJ1Y3QgbWJ1ZiAqcCA9IE5VTEwsICpxLCAqbnE7CkBAIC0yMTE4LDgg
KzIxMTgsOCBAQAogfQogCiB2b2lkCi1pcF9zYXZlY29udHJvbChzdHJ1Y3QgaW5wY2IgKmlu
cCwgc3RydWN0IG1idWYgKiptcCwgc3RydWN0IGlwICppcCwKLQkgICAgICAgc3RydWN0IG1i
dWYgKm0pCitpcF9zYXZlY29udHJvbChzdHJ1Y3QgaW5wY2IgKmlucCwgc3RydWN0IG1idWYg
KiptcCwKKyAgICBzdHJ1Y3QgaXAgKmlwLCBzdHJ1Y3QgbWJ1ZiAqbSkKIHsKIAlpZiAoaW5w
LT5pbnBfc29ja2V0LT5zb19vcHRpb25zICYgU09fVElNRVNUQU1QKSB7CiAJCXN0cnVjdCB0
aW1ldmFsIHR2OwoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAABpcF9vdXRwdXQuYy5kaWZmAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAMDEwMDY0NAAwMDAxNzUwADAwMDE3NTAAMDAwMDAwMDYwMjUAMTAwNTc1
MjYzNDYAMDEyMzQxACAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAHVzdGFyICAAdGltAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB0aW0AAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC0tLSAvdXNy
L3NyYy9zeXMvbmV0aW5ldC9pcF9vdXRwdXQuYwkyMDA0LTA2LTAyIDEwOjQzOjAxLjAwMDAw
MDAwMCAtMDQwMAorKysgaXBfb3V0cHV0LmMJMjAwNC0wNi0wMyAwMDoxNzoyNy4wMDAwMDAw
MDAgLTA0MDAKQEAgLTEzMSw3ICsxMzEsNyBAQAogICovCiBpbnQKIGlwX291dHB1dChzdHJ1
Y3QgbWJ1ZiAqbTAsIHN0cnVjdCBtYnVmICpvcHQsIHN0cnVjdCByb3V0ZSAqcm8sCi0JaW50
IGZsYWdzLCBzdHJ1Y3QgaXBfbW9wdGlvbnMgKmltbywgc3RydWN0IGlucGNiICppbnApCisg
ICAgaW50IGZsYWdzLCBzdHJ1Y3QgaXBfbW9wdGlvbnMgKmltbywgc3RydWN0IGlucGNiICpp
bnApCiB7CiAJc3RydWN0IGlwICppcDsKIAlzdHJ1Y3QgaWZuZXQgKmlmcCA9IE5VTEw7CS8q
IGtlZXAgY29tcGlsZXIgaGFwcHkgKi8KQEAgLTExMjUsNyArMTEyNSw3IEBACiAgKi8KIGlu
dAogaXBfZnJhZ21lbnQoc3RydWN0IGlwICppcCwgc3RydWN0IG1idWYgKiptX2ZyYWcsIGlu
dCBtdHUsCi0JICAgIHVfbG9uZyBpZl9od2Fzc2lzdF9mbGFncywgaW50IHN3X2NzdW0pCisg
ICAgdV9sb25nIGlmX2h3YXNzaXN0X2ZsYWdzLCBpbnQgc3dfY3N1bSkKIHsKIAlpbnQgZXJy
b3IgPSAwOwogCWludCBobGVuID0gSVBfVkhMX0hMKGlwLT5pcF92aGwpIDw8IDI7CkBAIC0x
MzEzLDEwICsxMzEzLDcgQEAKICAqIFhYWCBUaGlzIHJvdXRpbmUgYXNzdW1lcyB0aGF0IHRo
ZSBwYWNrZXQgaGFzIG5vIG9wdGlvbnMgaW4gcGxhY2UuCiAgKi8KIHN0YXRpYyBzdHJ1Y3Qg
bWJ1ZiAqCi1pcF9pbnNlcnRvcHRpb25zKG0sIG9wdCwgcGhsZW4pCi0Jc3RydWN0IG1idWYg
Km07Ci0Jc3RydWN0IG1idWYgKm9wdDsKLQlpbnQgKnBobGVuOworaXBfaW5zZXJ0b3B0aW9u
cyhzdHJ1Y3QgbWJ1ZiAqbSwgc3RydWN0IG1idWYgKm9wdCwgaW50ICpwaGxlbikKIHsKIAlz
dHJ1Y3QgaXBvcHRpb24gKnAgPSBtdG9kKG9wdCwgc3RydWN0IGlwb3B0aW9uICopOwogCXN0
cnVjdCBtYnVmICpuOwpAQCAtMTM2NCw4ICsxMzYxLDcgQEAKICAqIG9taXR0aW5nIHRob3Nl
IG5vdCBjb3BpZWQgZHVyaW5nIGZyYWdtZW50YXRpb24uCiAgKi8KIGludAotaXBfb3B0Y29w
eShpcCwganApCi0Jc3RydWN0IGlwICppcCwgKmpwOworaXBfb3B0Y29weShzdHJ1Y3QgaXAg
KmlwLCBzdHJ1Y3QgaXAgKmpwKQogewogCXVfY2hhciAqY3AsICpkcDsKIAlpbnQgb3B0LCBv
cHRsZW4sIGNudDsKQEAgLTE0MDcsOSArMTQwMyw3IEBACiAgKiBJUCBzb2NrZXQgb3B0aW9u
IHByb2Nlc3NpbmcuCiAgKi8KIGludAotaXBfY3Rsb3V0cHV0KHNvLCBzb3B0KQotCXN0cnVj
dCBzb2NrZXQgKnNvOwotCXN0cnVjdCBzb2Nrb3B0ICpzb3B0OworaXBfY3Rsb3V0cHV0KHN0
cnVjdCBzb2NrZXQgKnNvLCBzdHJ1Y3Qgc29ja29wdCAqc29wdCkKIHsKIAlzdHJ1Y3QJaW5w
Y2IgKmlucCA9IHNvdG9pbnBjYihzbyk7CiAJaW50CWVycm9yLCBvcHR2YWw7CkBAIC0xNjcw
LDEwICsxNjY0LDcgQEAKICAqIHdpdGggZGVzdGluYXRpb24gYWRkcmVzcyBpZiBzb3VyY2Ug
cm91dGVkLgogICovCiBzdGF0aWMgaW50Ci1pcF9wY2JvcHRzKG9wdG5hbWUsIHBjYm9wdCwg
bSkKLQlpbnQgb3B0bmFtZTsKLQlzdHJ1Y3QgbWJ1ZiAqKnBjYm9wdDsKLQlzdHJ1Y3QgbWJ1
ZiAqbTsKK2lwX3BjYm9wdHMoaW50IG9wdG5hbWUsIHN0cnVjdCBtYnVmICoqcGNib3B0LCBz
dHJ1Y3QgbWJ1ZiAqbSkKIHsKIAlpbnQgY250LCBvcHRsZW47CiAJdV9jaGFyICpjcDsKQEAg
LTE3NzksOSArMTc3MCw3IEBACiAgKiBmb2xsb3dpbmcgUkZDMTcyNCBzZWN0aW9uIDMuMywg
MC4wLjAuMC84IGlzIGludGVycHJldGVkIGFzIGludGVyZmFjZSBpbmRleC4KICAqLwogc3Rh
dGljIHN0cnVjdCBpZm5ldCAqCi1pcF9tdWx0aWNhc3RfaWYoYSwgaWZpbmRleHApCi0Jc3Ry
dWN0IGluX2FkZHIgKmE7Ci0JaW50ICppZmluZGV4cDsKK2lwX211bHRpY2FzdF9pZihzdHJ1
Y3QgaW5fYWRkciAqYSwgaW50ICppZmluZGV4cCkKIHsKIAlpbnQgaWZpbmRleDsKIAlzdHJ1
Y3QgaWZuZXQgKmlmcDsKQEAgLTE4MDUsOSArMTc5NCw3IEBACiAgKiBTZXQgdGhlIElQIG11
bHRpY2FzdCBvcHRpb25zIGluIHJlc3BvbnNlIHRvIHVzZXIgc2V0c29ja29wdCgpLgogICov
CiBzdGF0aWMgaW50Ci1pcF9zZXRtb3B0aW9ucyhzb3B0LCBpbW9wKQotCXN0cnVjdCBzb2Nr
b3B0ICpzb3B0OwotCXN0cnVjdCBpcF9tb3B0aW9ucyAqKmltb3A7CitpcF9zZXRtb3B0aW9u
cyhzdHJ1Y3Qgc29ja29wdCAqc29wdCwgc3RydWN0IGlwX21vcHRpb25zICoqaW1vcCkKIHsK
IAlpbnQgZXJyb3IgPSAwOwogCWludCBpOwpAQCAtMjEwMyw5ICsyMDkwLDcgQEAKICAqIFJl
dHVybiB0aGUgSVAgbXVsdGljYXN0IG9wdGlvbnMgaW4gcmVzcG9uc2UgdG8gdXNlciBnZXRz
b2Nrb3B0KCkuCiAgKi8KIHN0YXRpYyBpbnQKLWlwX2dldG1vcHRpb25zKHNvcHQsIGltbykK
LQlzdHJ1Y3Qgc29ja29wdCAqc29wdDsKLQlzdHJ1Y3QgaXBfbW9wdGlvbnMgKmltbzsKK2lw
X2dldG1vcHRpb25zKHN0cnVjdCBzb2Nrb3B0ICpzb3B0LCBzdHJ1Y3QgaXBfbW9wdGlvbnMg
KmltbykKIHsKIAlzdHJ1Y3QgaW5fYWRkciBhZGRyOwogCXN0cnVjdCBpbl9pZmFkZHIgKmlh
OwpAQCAtMjE2OSw4ICsyMTU0LDcgQEAKICAqIERpc2NhcmQgdGhlIElQIG11bHRpY2FzdCBv
cHRpb25zLgogICovCiB2b2lkCi1pcF9mcmVlbW9wdGlvbnMoaW1vKQotCXN0cnVjdCBpcF9t
b3B0aW9ucyAqaW1vOworaXBfZnJlZW1vcHRpb25zKHN0cnVjdCBpcF9tb3B0aW9ucyAqaW1v
KQogewogCWludCBpOwogCkBAIC0yMTg5LDExICsyMTczLDggQEAKICAqIHJlcGxpY2F0aW5n
IHRoYXQgY29kZSBoZXJlLgogICovCiBzdGF0aWMgdm9pZAotaXBfbWxvb3BiYWNrKGlmcCwg
bSwgZHN0LCBobGVuKQotCXN0cnVjdCBpZm5ldCAqaWZwOwotCXN0cnVjdCBtYnVmICptOwot
CXN0cnVjdCBzb2NrYWRkcl9pbiAqZHN0OwotCWludCBobGVuOworaXBfbWxvb3BiYWNrKHN0
cnVjdCBpZm5ldCAqaWZwLCBzdHJ1Y3QgbWJ1ZiAqbSwKKyAgICBzdHJ1Y3Qgc29ja2FkZHJf
aW4gKmRzdCwgaW50IGhsZW4pCiB7CiAJc3RydWN0IGlwICppcDsKIAlzdHJ1Y3QgbWJ1ZiAq
Y29weW07CgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAdGNwX2RlYnVnLmMuZGlmZgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAADAxMDA2NDQAMDAwMTc1MAAwMDAxNzUwADAwMDAwMDAwNjcyADEwMDU3NTI2MzQ2ADAx
MjI0NwAgMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB1
c3RhciAgAHRpbQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdGltAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtLS0gL3Vzci9zcmMvc3lz
L25ldGluZXQvdGNwX2RlYnVnLmMJMjAwMy0wNi0xNyAwMDoyODo1MS4wMDAwMDAwMDAgLTA0
MDAKKysrIHRjcF9kZWJ1Zy5jCTIwMDQtMDYtMDMgMDA6MTk6MjMuMDAwMDAwMDAwIC0wNDAw
CkBAIC04MSwxMiArODEsOCBAQAogICogVGNwIGRlYnVnIHJvdXRpbmVzCiAgKi8KIHZvaWQK
LXRjcF90cmFjZShhY3QsIG9zdGF0ZSwgdHAsIGlwZ2VuLCB0aCwgcmVxKQotCXNob3J0IGFj
dCwgb3N0YXRlOwotCXN0cnVjdCB0Y3BjYiAqdHA7Ci0Jdm9pZCAqaXBnZW47Ci0Jc3RydWN0
IHRjcGhkciAqdGg7Ci0JaW50IHJlcTsKK3RjcF90cmFjZShzaG9ydCBhY3QsIHNob3J0IG9z
dGF0ZSwgc3RydWN0IHRjcGNiICp0cCwgdm9pZCAqaXBnZW4sIAorICAgIHN0cnVjdCB0Y3Bo
ZHIgKnRoLCBpbnQgcmVxKQogewogI2lmZGVmIElORVQ2CiAJaW50IGlzaXB2NjsKAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAHRjcF9pbnB1dC5jLmRpZmYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAwMTAwNjQ0ADAwMDE3NTAAMDAwMTc1MAAwMDAwMDAwNDU3MwAxMDA1NzUyNjM0NgAwMTIz
MjQAIDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdXN0
YXIgIAB0aW0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHRpbQAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALS0tIC91c3Ivc3JjL3N5cy9u
ZXRpbmV0L3RjcF9pbnB1dC5jCTIwMDQtMDUtMjAgMDA6Mjg6NTIuMDAwMDAwMDAwIC0wNDAw
CisrKyB0Y3BfaW5wdXQuYwkyMDA0LTA2LTAzIDAwOjI4OjM5LjAwMDAwMDAwMCAtMDQwMApA
QCAtMTkxLDExICsxOTEsNyBAQAogCSh0cC0+dF9mbGFncyAmIFRGX1JYV0lOMFNFTlQpID09
IDApCiAKIHN0YXRpYyBpbnQKLXRjcF9yZWFzcyh0cCwgdGgsIHRsZW5wLCBtKQotCXN0cnVj
dCB0Y3BjYiAqdHA7Ci0Jc3RydWN0IHRjcGhkciAqdGg7Ci0JaW50ICp0bGVucDsKLQlzdHJ1
Y3QgbWJ1ZiAqbTsKK3RjcF9yZWFzcyhzdHJ1Y3QgdGNwY2IgKnRwLCBzdHJ1Y3QgdGNwaGRy
ICp0aCwgaW50ICp0bGVucCwgc3RydWN0IG1idWYgKm0pCiB7CiAJc3RydWN0IHRzZWdfcWVu
dCAqcTsKIAlzdHJ1Y3QgdHNlZ19xZW50ICpwID0gTlVMTDsKQEAgLTM0NSw5ICszNDEsNyBA
QAogICovCiAjaWZkZWYgSU5FVDYKIGludAotdGNwNl9pbnB1dChtcCwgb2ZmcCwgcHJvdG8p
Ci0Jc3RydWN0IG1idWYgKiptcDsKLQlpbnQgKm9mZnAsIHByb3RvOwordGNwNl9pbnB1dChz
dHJ1Y3QgbWJ1ZiAqKm1wLCBpbnQgKm9mZnAsIGludCBwcm90bykKIHsKIAlzdHJ1Y3QgbWJ1
ZiAqbSA9ICptcDsKIAlzdHJ1Y3QgaW42X2lmYWRkciAqaWE2OwpAQCAtMzc0LDkgKzM2OCw3
IEBACiAjZW5kaWYKIAogdm9pZAotdGNwX2lucHV0KG0sIG9mZjAsIHByb3RvKQotCXN0cnVj
dCBtYnVmICptOwotCWludCBvZmYwLCBwcm90bzsKK3RjcF9pbnB1dChzdHJ1Y3QgbWJ1ZiAq
bSwgaW50IG9mZjAsIGludCBwcm90bykKIHsKIAlzdHJ1Y3QgdGNwaGRyICp0aDsKIAlzdHJ1
Y3QgaXAgKmlwID0gTlVMTDsKQEAgLTIzODgsMTAgKzIzODAsNyBAQAogICogUGFyc2UgVENQ
IG9wdGlvbnMgYW5kIHBsYWNlIGluIHRjcG9wdC4KICAqLwogc3RhdGljIHZvaWQKLXRjcF9k
b29wdGlvbnModG8sIGNwLCBjbnQsIGlzX3N5bikKLQlzdHJ1Y3QgdGNwb3B0ICp0bzsKLQl1
X2NoYXIgKmNwOwotCWludCBjbnQ7Cit0Y3BfZG9vcHRpb25zKHN0cnVjdCB0Y3BvcHQgKnRv
LCB1X2NoYXIgY3AsIGludCBjbnQsIGludCBpc19zeW4pCiB7CiAJaW50IG9wdCwgb3B0bGVu
OwogCkBAIC0yNDc4LDEzICsyNDY3LDExIEBACiAgKiBpdCBkb2Vzbid0IGFwcGVhciBpbiB0
aGUgdXNlcidzIGRhdGEgcXVldWUuCiAgKiBJdCBpcyBzdGlsbCByZWZsZWN0ZWQgaW4gdGhl
IHNlZ21lbnQgbGVuZ3RoIGZvcgogICogc2VxdWVuY2luZyBwdXJwb3Nlcy4KKyAqCisgKiBp
bnQgb2ZmOiBkZWxheWVkIHRvIGJlIGRyb3BwZWQgaGRybGVuCiAgKi8KIHN0YXRpYyB2b2lk
Ci10Y3BfcHVsbG91dG9mYmFuZChzbywgdGgsIG0sIG9mZikKLQlzdHJ1Y3Qgc29ja2V0ICpz
bzsKLQlzdHJ1Y3QgdGNwaGRyICp0aDsKLQlzdHJ1Y3QgbWJ1ZiAqbTsKLQlpbnQgb2ZmOwkJ
LyogZGVsYXllZCB0byBiZSBkcm9wZWQgaGRybGVuICovCit0Y3BfcHVsbG91dG9mYmFuZChz
dHJ1Y3Qgc29ja2V0ICpzbywgc3RydWN0IHRjcGhkciAqdGgsIHN0cnVjdCBtYnVmICptLCBp
bnQgb2ZmKQogewogCWludCBjbnQgPSBvZmYgKyB0aC0+dGhfdXJwIC0gMTsKIApAQCAtMjUx
NCw5ICsyNTAxLDcgQEAKICAqIGFuZCB1cGRhdGUgYXZlcmFnZXMgYW5kIGN1cnJlbnQgdGlt
ZW91dC4KICAqLwogc3RhdGljIHZvaWQKLXRjcF94bWl0X3RpbWVyKHRwLCBydHQpCi0Jc3Ry
dWN0IHRjcGNiICp0cDsKLQlpbnQgcnR0OwordGNwX3htaXRfdGltZXIoc3RydWN0IHRjcGNi
ICp0cCwgaW50IHJ0dCkKIHsKIAlpbnQgZGVsdGE7CiAKQEAgLTI2MTksOSArMjYwNCw3IEBA
CiAgKiBNU1Mgb2Ygb3VyIHBlZXIuCiAgKi8KIHZvaWQKLXRjcF9tc3ModHAsIG9mZmVyKQot
CXN0cnVjdCB0Y3BjYiAqdHA7Ci0JaW50IG9mZmVyOwordGNwX21zcyhzdHJ1Y3QgdGNwY2Ig
KnRwLCBpbnQgb2ZmZXIpCiB7CiAJc3RydWN0IHJ0ZW50cnkgKnJ0OwogCXN0cnVjdCBpZm5l
dCAqaWZwOwpAQCAtMjgxNCw4ICsyNzk3LDcgQEAKICAqIERldGVybWluZSB0aGUgTVNTIG9w
dGlvbiB0byBzZW5kIG9uIGFuIG91dGdvaW5nIFNZTi4KICAqLwogaW50Ci10Y3BfbXNzb3B0
KHRwKQotCXN0cnVjdCB0Y3BjYiAqdHA7Cit0Y3BfbXNzb3B0KHN0cnVjdCB0Y3BjYiAqdHAp
CiB7CiAJc3RydWN0IHJ0ZW50cnkgKnJ0OwogI2lmZGVmIElORVQ2CkBAIC0yODQ3LDkgKzI4
MjksNyBAQAogICogYmUgc3RhcnRlZCBhZ2Fpbi4KICAqLwogc3RhdGljIHZvaWQKLXRjcF9u
ZXdyZW5vX3BhcnRpYWxfYWNrKHRwLCB0aCkKLQlzdHJ1Y3QgdGNwY2IgKnRwOwotCXN0cnVj
dCB0Y3BoZHIgKnRoOwordGNwX25ld3Jlbm9fcGFydGlhbF9hY2soc3RydWN0IHRjcGNiICp0
cCwgc3RydWN0IHRjcGhkciAqdGgpCiB7CiAJdGNwX3NlcSBvbnh0ID0gdHAtPnNuZF9ueHQ7
CiAJdV9sb25nICBvY3duZCA9IHRwLT5zbmRfY3duZDsKAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAHRjcF9vdXRwdXQuYy5kaWZmAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwMTAw
NjQ0ADAwMDE3NTAAMDAwMTc1MAAwMDAwMDAwMTA0MAAxMDA1NzUyNjM0NgAwMTI1MDcAIDAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdXN0YXIgIAB0
aW0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHRpbQAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALS0tIC91c3Ivc3JjL3N5cy9uZXRpbmV0
L3RjcF9vdXRwdXQuYwkyMDA0LTA2LTAyIDEwOjQzOjAxLjAwMDAwMDAwMCAtMDQwMAorKysg
dGNwX291dHB1dC5jCTIwMDQtMDYtMDMgMDA6Mjk6MzIuMDAwMDAwMDAwIC0wNDAwCkBAIC0x
MDYsOCArMTA2LDcgQEAKICAqIFRjcCBvdXRwdXQgcm91dGluZTogZmlndXJlIG91dCB3aGF0
IHNob3VsZCBiZSBzZW50IGFuZCBzZW5kIGl0LgogICovCiBpbnQKLXRjcF9vdXRwdXQodHAp
Ci0Jc3RydWN0IHRjcGNiICp0cDsKK3RjcF9vdXRwdXQoc3RydWN0IHRjcGNiICp0cCkKIHsK
IAlzdHJ1Y3QgaW5wY2IgKiBjb25zdCBpbnAgPSB0cC0+dF9pbnBjYjsKIAlzdHJ1Y3Qgc29j
a2V0ICpzbyA9IGlucC0+aW5wX3NvY2tldDsKQEAgLTk0MSw4ICs5NDAsNyBAQAogfQogCiB2
b2lkCi10Y3Bfc2V0cGVyc2lzdCh0cCkKLQlzdHJ1Y3QgdGNwY2IgKnRwOwordGNwX3NldHBl
cnNpc3Qoc3RydWN0IHRjcGNiICp0cCkKIHsKIAlpbnQgdCA9ICgodHAtPnRfc3J0dCA+PiAy
KSArIHRwLT50X3J0dHZhcikgPj4gMTsKIAlpbnQgdHQ7CgAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHRjcF9zeW5jYWNoZS5jLmRpZmYAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAwMTAwNjQ0ADAwMDE3NTAAMDAwMTc1MAAwMDAwMDAwNjMw
NAAxMDA1NzUyNjM0NgAwMTI3NTQAIDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAdXN0YXIgIAB0aW0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AHRpbQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
LS0tIC91c3Ivc3JjL3N5cy9uZXRpbmV0L3RjcF9zeW5jYWNoZS5jCTIwMDQtMDYtMDIgMTA6
NDM6MDEuMDAwMDAwMDAwIC0wNDAwCisrKyB0Y3Bfc3luY2FjaGUuYwkyMDA0LTA2LTAzIDAw
OjM2OjE4LjAwMDAwMDAwMCAtMDQwMApAQCAtMjY5LDkgKzI2OSw3IEBACiB9CiAKIHN0YXRp
YyB2b2lkCi1zeW5jYWNoZV9pbnNlcnQoc2MsIHNjaCkKLQlzdHJ1Y3Qgc3luY2FjaGUgKnNj
OwotCXN0cnVjdCBzeW5jYWNoZV9oZWFkICpzY2g7CitzeW5jYWNoZV9pbnNlcnQoc3RydWN0
IHN5bmNhY2hlICpzYywgc3RydWN0IHN5bmNhY2hlX2hlYWQgKnNjaCkKIHsKIAlzdHJ1Y3Qg
c3luY2FjaGUgKnNjMjsKIAlpbnQgaTsKQEAgLTMxNiw5ICszMTQsNyBAQAogfQogCiBzdGF0
aWMgdm9pZAotc3luY2FjaGVfZHJvcChzYywgc2NoKQotCXN0cnVjdCBzeW5jYWNoZSAqc2M7
Ci0Jc3RydWN0IHN5bmNhY2hlX2hlYWQgKnNjaDsKK3N5bmNhY2hlX2Ryb3Aoc3RydWN0IHN5
bmNhY2hlICpzYywgc3RydWN0IHN5bmNhY2hlX2hlYWQgKnNjaCkKIHsKIAogCWlmIChzY2gg
PT0gTlVMTCkgewpAQCAtMzUwLDggKzM0Niw3IEBACiAgKiBJZiB3ZSBoYXZlIHJldHJhbnNt
aXR0ZWQgYW4gZW50cnkgdGhlIG1heGltdW0gbnVtYmVyIG9mIHRpbWVzLCBleHBpcmUgaXQu
CiAgKi8KIHN0YXRpYyB2b2lkCi1zeW5jYWNoZV90aW1lcih4c2xvdCkKLQl2b2lkICp4c2xv
dDsKK3N5bmNhY2hlX3RpbWVyKHZvaWQgKnhzbG90KQogewogCWludHB0cl90IHNsb3QgPSAo
aW50cHRyX3QpeHNsb3Q7CiAJc3RydWN0IHN5bmNhY2hlICpzYywgKm5zYzsKQEAgLTQwMSw5
ICszOTYsNyBAQAogICogRmluZCBhbiBlbnRyeSBpbiB0aGUgc3luY2FjaGUuCiAgKi8KIHN0
cnVjdCBzeW5jYWNoZSAqCi1zeW5jYWNoZV9sb29rdXAoaW5jLCBzY2hwKQotCXN0cnVjdCBp
bl9jb25uaW5mbyAqaW5jOwotCXN0cnVjdCBzeW5jYWNoZV9oZWFkICoqc2NocDsKK3N5bmNh
Y2hlX2xvb2t1cChzdHJ1Y3QgaW5fY29ubmluZm8gKmluYywgc3RydWN0IHN5bmNhY2hlX2hl
YWQgKipzY2hwKQogewogCXN0cnVjdCBzeW5jYWNoZSAqc2M7CiAJc3RydWN0IHN5bmNhY2hl
X2hlYWQgKnNjaDsKQEAgLTQ0MCw5ICs0MzMsNyBAQAogICogY29ubmVjdGlvbiBpcyBpbiB0
aGUgc3luIGNhY2hlLiAgSWYgaXQgaXMsIHphcCBpdC4KICAqLwogdm9pZAotc3luY2FjaGVf
Y2hrcnN0KGluYywgdGgpCi0Jc3RydWN0IGluX2Nvbm5pbmZvICppbmM7Ci0Jc3RydWN0IHRj
cGhkciAqdGg7CitzeW5jYWNoZV9jaGtyc3Qoc3RydWN0IGluX2Nvbm5pbmZvICppbmMsIHN0
cnVjdCB0Y3BoZHIgKnRoKQogewogCXN0cnVjdCBzeW5jYWNoZSAqc2M7CiAJc3RydWN0IHN5
bmNhY2hlX2hlYWQgKnNjaDsKQEAgLTQ3MSw4ICs0NjIsNyBAQAogfQogCiB2b2lkCi1zeW5j
YWNoZV9iYWRhY2soaW5jKQotCXN0cnVjdCBpbl9jb25uaW5mbyAqaW5jOworc3luY2FjaGVf
YmFkYWNrKHN0cnVjdCBpbl9jb25uaW5mbyAqaW5jKQogewogCXN0cnVjdCBzeW5jYWNoZSAq
c2M7CiAJc3RydWN0IHN5bmNhY2hlX2hlYWQgKnNjaDsKQEAgLTQ4NSw5ICs0NzUsNyBAQAog
fQogCiB2b2lkCi1zeW5jYWNoZV91bnJlYWNoKGluYywgdGgpCi0Jc3RydWN0IGluX2Nvbm5p
bmZvICppbmM7Ci0Jc3RydWN0IHRjcGhkciAqdGg7CitzeW5jYWNoZV91bnJlYWNoKHN0cnVj
dCBpbl9jb25uaW5mbyAqaW5jLCBzdHJ1Y3QgdGNwaGRyICp0aCkKIHsKIAlzdHJ1Y3Qgc3lu
Y2FjaGUgKnNjOwogCXN0cnVjdCBzeW5jYWNoZV9oZWFkICpzY2g7CkBAIC01MjEsOSArNTA5
LDcgQEAKICAqIEJ1aWxkIGEgbmV3IFRDUCBzb2NrZXQgc3RydWN0dXJlIGZyb20gYSBzeW5j
YWNoZSBlbnRyeS4KICAqLwogc3RhdGljIHN0cnVjdCBzb2NrZXQgKgotc3luY2FjaGVfc29j
a2V0KHNjLCBsc28pCi0Jc3RydWN0IHN5bmNhY2hlICpzYzsKLQlzdHJ1Y3Qgc29ja2V0ICps
c287CitzeW5jYWNoZV9zb2NrZXQoc3RydWN0IHN5bmNhY2hlICpzYywgc3RydWN0IHNvY2tl
dCAqbHNvKQogewogCXN0cnVjdCBpbnBjYiAqaW5wID0gTlVMTDsKIAlzdHJ1Y3Qgc29ja2V0
ICpzbzsKQEAgLTcwNCwxMSArNjkwLDggQEAKICAqIHRoZSBTWU4tUkVDRUlWRUQgc3RhdGUu
CiAgKi8KIGludAotc3luY2FjaGVfZXhwYW5kKGluYywgdGgsIHNvcCwgbSkKLQlzdHJ1Y3Qg
aW5fY29ubmluZm8gKmluYzsKLQlzdHJ1Y3QgdGNwaGRyICp0aDsKLQlzdHJ1Y3Qgc29ja2V0
ICoqc29wOwotCXN0cnVjdCBtYnVmICptOworc3luY2FjaGVfZXhwYW5kKHN0cnVjdCBpbl9j
b25uaW5mbyAqaW5jLCBzdHJ1Y3QgdGNwaGRyICp0aCwKKyAgICBzdHJ1Y3Qgc29ja2V0ICoq
c29wLCBzdHJ1Y3QgbWJ1ZiAqbSkKIHsKIAlzdHJ1Y3Qgc3luY2FjaGUgKnNjOwogCXN0cnVj
dCBzeW5jYWNoZV9oZWFkICpzY2g7CkBAIC03NzYsMTIgKzc1OSw4IEBACiAgKiB0aGUgZGF0
YSwgd2UgYXZvaWQgdGhpcyBEb1Mgc2NlbmFyaW8uCiAgKi8KIGludAotc3luY2FjaGVfYWRk
KGluYywgdG8sIHRoLCBzb3AsIG0pCi0Jc3RydWN0IGluX2Nvbm5pbmZvICppbmM7Ci0Jc3Ry
dWN0IHRjcG9wdCAqdG87Ci0Jc3RydWN0IHRjcGhkciAqdGg7Ci0Jc3RydWN0IHNvY2tldCAq
KnNvcDsKLQlzdHJ1Y3QgbWJ1ZiAqbTsKK3N5bmNhY2hlX2FkZChzdHJ1Y3QgaW5fY29ubmlu
Zm8gKmluYywgc3RydWN0IHRjcG9wdCAqdG8sIHN0cnVjdCB0Y3BoZHIgKnRoLCAKKyAgICBz
dHJ1Y3Qgc29ja2V0ICoqc29wLCBzdHJ1Y3QgbWJ1ZiAqbSkKIHsKIAlzdHJ1Y3QgdGNwY2Ig
KnRwOwogCXN0cnVjdCBzb2NrZXQgKnNvOwpAQCAtOTgwLDkgKzk1OSw3IEBACiB9CiAKIHN0
YXRpYyBpbnQKLXN5bmNhY2hlX3Jlc3BvbmQoc2MsIG0pCi0Jc3RydWN0IHN5bmNhY2hlICpz
YzsKLQlzdHJ1Y3QgbWJ1ZiAqbTsKK3N5bmNhY2hlX3Jlc3BvbmQoc3RydWN0IHN5bmNhY2hl
ICpzYywgc3RydWN0IG1idWYgKm0pCiB7CiAJdV9pbnQ4X3QgKm9wdHA7CiAJaW50IG9wdGxl
biwgZXJyb3I7CkBAIC0xMjYzLDEwICsxMjQwLDcgQEAKIH0KIAogc3RhdGljIHN0cnVjdCBz
eW5jYWNoZSAqCi1zeW5jb29raWVfbG9va3VwKGluYywgdGgsIHNvKQotCXN0cnVjdCBpbl9j
b25uaW5mbyAqaW5jOwotCXN0cnVjdCB0Y3BoZHIgKnRoOwotCXN0cnVjdCBzb2NrZXQgKnNv
Oworc3luY29va2llX2xvb2t1cChzdHJ1Y3QgaW5fY29ubmluZm8gKmluYywgc3RydWN0IHRj
cGhkciAqdGgsIHN0cnVjdCBzb2NrZXQgKnNvKQogewogCXVfaW50MzJfdCBtZDVfYnVmZmVy
WzRdOwogCXN0cnVjdCBzeW5jYWNoZSAqc2M7CgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAB0Y3BfdGltZXIuYy5kaWZmAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAMDEwMDY0NAAwMDAxNzUwADAwMDE3NTAAMDAwMDAwMDIwMjEAMTAwNTc1
MjYzNDYAMDEyMjY3ACAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAHVzdGFyICAAdGltAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB0aW0AAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC0tLSAvdXNy
L3NyYy9zeXMvbmV0aW5ldC90Y3BfdGltZXIuYwkyMDA0LTA1LTIwIDAwOjMyOjU5LjAwMDAw
MDAwMCAtMDQwMAorKysgdGNwX3RpbWVyLmMJMjAwNC0wNi0wMyAwMDozODozOC4wMDAwMDAw
MDAgLTA0MDAKQEAgLTE1Miw4ICsxNTIsNyBAQAogICogQ2FuY2VsIGFsbCB0aW1lcnMgZm9y
IFRDUCB0cC4KICAqLwogdm9pZAotdGNwX2NhbmNlbHRpbWVycyh0cCkKLQlzdHJ1Y3QgdGNw
Y2IgKnRwOwordGNwX2NhbmNlbHRpbWVycyhzdHJ1Y3QgdGNwY2IgKnRwKQogewogCWNhbGxv
dXRfc3RvcCh0cC0+dHRfMm1zbCk7CiAJY2FsbG91dF9zdG9wKHRwLT50dF9wZXJzaXN0KTsK
QEAgLTE3Myw4ICsxNzIsNyBAQAogICogVENQIHRpbWVyIHByb2Nlc3NpbmcuCiAgKi8KIHZv
aWQKLXRjcF90aW1lcl9kZWxhY2soeHRwKQotCXZvaWQgKnh0cDsKK3RjcF90aW1lcl9kZWxh
Y2sodm9pZCAqeHRwKQogewogCXN0cnVjdCB0Y3BjYiAqdHAgPSB4dHA7CiAJaW50IHM7CkBA
IC0xOTMsOCArMTkxLDcgQEAKIH0KIAogdm9pZAotdGNwX3RpbWVyXzJtc2woeHRwKQotCXZv
aWQgKnh0cDsKK3RjcF90aW1lcl8ybXNsKHZvaWQgKnh0cCkKIHsKIAlzdHJ1Y3QgdGNwY2Ig
KnRwID0geHRwOwogCWludCBzOwpAQCAtMjMxLDggKzIyOCw3IEBACiB9CiAKIHZvaWQKLXRj
cF90aW1lcl9rZWVwKHh0cCkKLQl2b2lkICp4dHA7Cit0Y3BfdGltZXJfa2VlcCh2b2lkICp4
dHApCiB7CiAJc3RydWN0IHRjcGNiICp0cCA9IHh0cDsKIAlzdHJ1Y3QgdGNwdGVtcCAqdF90
ZW1wbGF0ZTsKQEAgLTMwNSw4ICszMDEsNyBAQAogfQogCiB2b2lkCi10Y3BfdGltZXJfcGVy
c2lzdCh4dHApCi0Jdm9pZCAqeHRwOwordGNwX3RpbWVyX3BlcnNpc3Qodm9pZCAqeHRwKQog
ewogCXN0cnVjdCB0Y3BjYiAqdHAgPSB4dHA7CiAJaW50IHM7CkBAIC0zOTAsOCArMzg1LDcg
QEAKIH0KIAogdm9pZAotdGNwX3RpbWVyX3JleG10KHh0cCkKLQl2b2lkICp4dHA7Cit0Y3Bf
dGltZXJfcmV4bXQodm9pZCAqeHRwKQogewogCXN0cnVjdCB0Y3BjYiAqdHAgPSB4dHA7CiAJ
aW50IHM7CgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAHRjcF91c3JyZXEuYy5kaWZmAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAwMTAwNjQ0ADAwMDE3NTAAMDAwMTc1MAAwMDAwMDAwMjUwNgAxMDA1NzUyNjM0
NgAwMTI1MDAAIDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAdXN0YXIgIAB0aW0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHRpbQAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALS0tIC91c3Ivc3Jj
L3N5cy9uZXRpbmV0L3RjcF91c3JyZXEuYwkyMDA0LTA1LTIwIDAwOjMyOjU5LjAwMDAwMDAw
MCAtMDQwMAorKysgdGNwX3VzcnJlcS5jCTIwMDQtMDYtMDMgMDA6NDA6NTIuMDAwMDAwMDAw
IC0wNDAwCkBAIC01NTgsNyArNTU4LDcgQEAKICAqLwogc3RhdGljIGludAogdGNwX3Vzcl9z
ZW5kKHN0cnVjdCBzb2NrZXQgKnNvLCBpbnQgZmxhZ3MsIHN0cnVjdCBtYnVmICptLCAKLQkg
ICAgIHN0cnVjdCBzb2NrYWRkciAqbmFtLCBzdHJ1Y3QgbWJ1ZiAqY29udHJvbCwgc3RydWN0
IHRocmVhZCAqdGQpCisgICAgc3RydWN0IHNvY2thZGRyICpuYW0sIHN0cnVjdCBtYnVmICpj
b250cm9sLCBzdHJ1Y3QgdGhyZWFkICp0ZCkKIHsKIAlpbnQgcyA9IHNwbG5ldCgpOwogCWlu
dCBlcnJvciA9IDA7CkBAIC03NDUsNyArNzQ1LDcgQEAKIAogc3RhdGljIGludAogdGNwX2Nv
bm5lY3Rfb25jcHUoc3RydWN0IHRjcGNiICp0cCwgc3RydWN0IHNvY2thZGRyX2luICpzaW4s
Ci0JCSAgc3RydWN0IHNvY2thZGRyX2luICppZl9zaW4pCisgICAgc3RydWN0IHNvY2thZGRy
X2luICppZl9zaW4pCiB7CiAJc3RydWN0IGlucGNiICppbnAgPSB0cC0+dF9pbnBjYiwgKm9p
bnA7CiAJc3RydWN0IHNvY2tldCAqc28gPSBpbnAtPmlucF9zb2NrZXQ7CkBAIC05ODAsOSAr
OTgwLDcgQEAKICAqIHNwbG5ldCgpIGFueSBtb3JlLiAgVGhpcyBuZWVkcyBtb3JlIGV4YW1p
bmF0aW9uLikKICAqLwogaW50Ci10Y3BfY3Rsb3V0cHV0KHNvLCBzb3B0KQotCXN0cnVjdCBz
b2NrZXQgKnNvOwotCXN0cnVjdCBzb2Nrb3B0ICpzb3B0OwordGNwX2N0bG91dHB1dChzdHJ1
Y3Qgc29ja2V0ICpzbywgc3RydWN0IHNvY2tvcHQgKnNvcHQpCiB7CiAJaW50CWVycm9yLCBv
cHQsIG9wdHZhbCwgczsKIAlzdHJ1Y3QJaW5wY2IgKmlucDsKQEAgLTExNjcsOCArMTE2NSw3
IEBACiAgKiBzZW5kIHNlZ21lbnQgdG8gcGVlciAod2l0aCBGSU4pLgogICovCiBzdGF0aWMg
c3RydWN0IHRjcGNiICoKLXRjcF9kaXNjb25uZWN0KHRwKQotCXN0cnVjdCB0Y3BjYiAqdHA7
Cit0Y3BfZGlzY29ubmVjdChzdHJ1Y3QgdGNwY2IgKnRwKQogewogCXN0cnVjdCBzb2NrZXQg
KnNvID0gdHAtPnRfaW5wY2ItPmlucF9zb2NrZXQ7CiAKQEAgLTExOTcsOCArMTE5NCw3IEBA
CiAgKiBXZSBjYW4gbGV0IHRoZSB1c2VyIGV4aXQgZnJvbSB0aGUgY2xvc2UgYXMgc29vbiBh
cyB0aGUgRklOIGlzIGFja2VkLgogICovCiBzdGF0aWMgc3RydWN0IHRjcGNiICoKLXRjcF91
c3JjbG9zZWQodHApCi0Jc3RydWN0IHRjcGNiICp0cDsKK3RjcF91c3JjbG9zZWQoc3RydWN0
IHRjcGNiICp0cCkKIHsKIAogCXN3aXRjaCAodHAtPnRfc3RhdGUpIHsKAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAdWRwX3VzcnJlcS5jLmRpZmYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAADAxMDA2NDQAMDAwMTc1MAAwMDAxNzUwADAwMDAwMDAzNTYxADEwMDU3NTI2MzQ2ADAx
MjUwNAAgMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB1
c3RhciAgAHRpbQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdGltAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtLS0gL3Vzci9zcmMvc3lz
L25ldGluZXQvdWRwX3VzcnJlcS5jCTIwMDQtMDYtMDIgMTA6NDM6MDEuMDAwMDAwMDAwIC0w
NDAwCisrKyB1ZHBfdXNycmVxLmMJMjAwNC0wNi0wMyAwMDo0Mzo1Ni4wMDAwMDAwMDAgLTA0
MDAKQEAgLTE4OCw5ICsxODgsNyBAQAogfQogCiB2b2lkCi11ZHBfaW5wdXQobSwgb2ZmLCBw
cm90bykKLQlzdHJ1Y3QgbWJ1ZiAqbTsKLQlpbnQgb2ZmLCBwcm90bzsKK3VkcF9pbnB1dChz
dHJ1Y3QgbWJ1ZiAqbSwgaW50IG9mZiwgaW50IHByb3RvKQogewogCWludCBpcGhsZW4gPSBv
ZmY7CiAJc3RydWN0IGlwICppcDsKQEAgLTQ5NSwxMSArNDkzLDcgQEAKICAqIGNhbGxlciBt
dXN0IHByb3Blcmx5IGluaXQgdWRwX2lwNiBhbmQgdWRwX2luNiBiZWZvcmVoYW5kLgogICov
CiBzdGF0aWMgdm9pZAotdWRwX2FwcGVuZChsYXN0LCBpcCwgbiwgb2ZmKQotCXN0cnVjdCBp
bnBjYiAqbGFzdDsKLQlzdHJ1Y3QgaXAgKmlwOwotCXN0cnVjdCBtYnVmICpuOwotCWludCBv
ZmY7Cit1ZHBfYXBwZW5kKHN0cnVjdCBpbnBjYiAqbGFzdCwgc3RydWN0IGlwICppcCwgc3Ry
dWN0IG1idWYgKm4sIGludCBvZmYpCiB7CiAJc3RydWN0IHNvY2thZGRyICphcHBlbmRfc2E7
CiAJc3RydWN0IG1idWYgKm9wdHMgPSAwOwpAQCAtNTQ3LDkgKzU0MSw3IEBACiAgKiBqdXN0
IHdha2UgdXAgc28gdGhhdCBoZSBjYW4gY29sbGVjdCBlcnJvciBzdGF0dXMuCiAgKi8KIHZv
aWQKLXVkcF9ub3RpZnkoaW5wLCBlcnJubykKLQlzdHJ1Y3QgaW5wY2IgKmlucDsKLQlpbnQg
ZXJybm87Cit1ZHBfbm90aWZ5KHN0cnVjdCBpbnBjYiAqaW5wLCBpbnQgZXJybm8pCiB7CiAJ
aW5wLT5pbnBfc29ja2V0LT5zb19lcnJvciA9IGVycm5vOwogCXNvcndha2V1cChpbnAtPmlu
cF9zb2NrZXQpOwpAQCAtNTU3LDEwICs1NDksNyBAQAogfQogCiB2b2lkCi11ZHBfY3RsaW5w
dXQoY21kLCBzYSwgdmlwKQotCWludCBjbWQ7Ci0Jc3RydWN0IHNvY2thZGRyICpzYTsKLQl2
b2lkICp2aXA7Cit1ZHBfY3RsaW5wdXQoaW50IGNtZCwgc3RydWN0IHNvY2thZGRyICpzYSwg
dm9pZCAqdmlwKQogewogCXN0cnVjdCBpcCAqaXAgPSB2aXA7CiAJc3RydWN0IHVkcGhkciAq
dWg7CkBAIC03MDksMTIgKzY5OCw4IEBACiAgICAgMCwgMCwgdWRwX2dldGNyZWQsICJTLHVj
cmVkIiwgIkdldCB0aGUgdWNyZWQgb2YgYSBVRFAgY29ubmVjdGlvbiIpOwogCiBzdGF0aWMg
aW50Ci11ZHBfb3V0cHV0KGlucCwgbSwgZHN0YWRkciwgY29udHJvbCwgdGQpCi0Jc3RydWN0
IGlucGNiICppbnA7Ci0Jc3RydWN0IG1idWYgKm07Ci0Jc3RydWN0IHNvY2thZGRyICpkc3Rh
ZGRyOwotCXN0cnVjdCBtYnVmICpjb250cm9sOwotCXN0cnVjdCB0aHJlYWQgKnRkOwordWRw
X291dHB1dChzdHJ1Y3QgaW5wY2IgKmlucCwgc3RydWN0IG1idWYgKm0sIHN0cnVjdCBzb2Nr
YWRkciAqZHN0YWRkciwgCisgICAgc3RydWN0IG1idWYgKmNvbnRyb2wsIHN0cnVjdCB0aHJl
YWQgKnRkKQogewogCXN0cnVjdCB1ZHBpcGhkciAqdWk7CiAJaW50IGxlbiA9IG0tPm1fcGt0
aGRyLmxlbjsKQEAgLTk4Myw3ICs5NjgsNyBAQAogCiBzdGF0aWMgaW50CiB1ZHBfc2VuZChz
dHJ1Y3Qgc29ja2V0ICpzbywgaW50IGZsYWdzLCBzdHJ1Y3QgbWJ1ZiAqbSwgc3RydWN0IHNv
Y2thZGRyICphZGRyLAotCSAgICBzdHJ1Y3QgbWJ1ZiAqY29udHJvbCwgc3RydWN0IHRocmVh
ZCAqdGQpCisgICAgc3RydWN0IG1idWYgKmNvbnRyb2wsIHN0cnVjdCB0aHJlYWQgKnRkKQog
ewogCXN0cnVjdCBpbnBjYiAqaW5wOwogCkBAIC0xMDE0LDQgKzk5OSwzIEBACiAJcHJ1X3Jj
dm9vYl9ub3RzdXBwLCB1ZHBfc2VuZCwgcHJ1X3NlbnNlX251bGwsIHVkcF9zaHV0ZG93biwK
IAlpbl9zZXRzb2NrYWRkciwgc29zZW5kdWRwLCBzb3JlY2VpdmUsIHNvcG9sbAogfTsKLQoA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
--------------000208080505030708010900--
討論串 (同標題文章)
完整討論串 (本文為第 1 之 5 篇):