/pidgin/main: 65d716767017: http: Port to Gio

Mike Ruprecht <[email protected]> Mon, 10 Oct 2016 20:33:19 -0400
Newsgroups gmane.comp.gnome.gaim.cvs
Message-ID <[email protected]>
Q2hhbmdlc2V0OiA2NWQ3MTY3NjcwMTc5Y2IzNDExNzM2NDQyYmFiMTRkNmI2NjJlZGIzCkF1dGhv
cjoJIE1pa2UgUnVwcmVjaHQgPGNtYWlrdUBnbWFpbC5jb20+CkRhdGU6CSAyMDE2LTA5LTExIDEx
OjM5IC0wNTAwCkJyYW5jaDoJIGRlZmF1bHQKVVJMOiBodHRwczovL2hnLnBpZGdpbi5pbS9waWRn
aW4vbWFpbi9yZXYvNjVkNzE2NzY3MDE3CgpEZXNjcmlwdGlvbjoKCmh0dHA6IFBvcnQgdG8gR2lv
CgpUaGlzIHBhdGNoIHBvcnRzIGxpYnB1cnBsZSdzIEhUVFAgaW1wbGVtZW50YXRpb24gdG8gdXNl
IEdpbyBkaXJlY3RseQppbnN0ZWFkIG9mIHRocm91Z2ggUHVycGxlU29ja2V0LiBJdCB1c2VzIHRo
ZSBwb2xsYWJsZSBpbnRlcmZhY2UgdG8KR0lPU3RyZWFtcywgd2hpY2ggaXNuJ3QgaWRlYWwsIGJ1
dCBjb3VsZCBiZSBjaGFuZ2VkIGxhdGVyIGlmIGl0J3MKZGVjaWRlZCB3ZSdyZSBnb2luZyB0byBr
ZWVwIGl0LgoKZGlmZnN0YXQ6CgogbGlicHVycGxlL2h0dHAuYyB8ICAyMjUgKysrKysrKysrKysr
KysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tCiAxIGZpbGVzIGNoYW5n
ZWQsIDE2NiBpbnNlcnRpb25zKCspLCA1OSBkZWxldGlvbnMoLSkKCmRpZmZzICh0cnVuY2F0ZWQg
ZnJvbSA0MzAgdG8gMzAwIGxpbmVzKToKCmRpZmYgLS1naXQgYS9saWJwdXJwbGUvaHR0cC5jIGIv
bGlicHVycGxlL2h0dHAuYwotLS0gYS9saWJwdXJwbGUvaHR0cC5jCisrKyBiL2xpYnB1cnBsZS9o
dHRwLmMKQEAgLTI4LDcgKzI4LDcgQEAKICNpbmNsdWRlICJkZWJ1Zy5oIgogI2luY2x1ZGUgIm50
bG0uaCIKICNpbmNsdWRlICJwcm94eS5oIgotI2luY2x1ZGUgInB1cnBsZS1zb2NrZXQuaCIKKyNp
bmNsdWRlICJwdXJwbGUtZ2lvLmgiCiAKICNpbmNsdWRlIDx6bGliLmg+CiAjaWZuZGVmIHpfY29u
c3QKQEAgLTU3LDkgKzU3LDE1IEBAIHR5cGVkZWYgc3RydWN0IF9QdXJwbGVIdHRwS2VlcGFsaXZl
UmVxdWUKIAogdHlwZWRlZiBzdHJ1Y3QgX1B1cnBsZUh0dHBHelN0cmVhbSBQdXJwbGVIdHRwR3pT
dHJlYW07CiAKK3R5cGVkZWYgdm9pZCAoKlB1cnBsZUh0dHBTb2NrZXRDb25uZWN0Q2IpKFB1cnBs
ZUh0dHBTb2NrZXQgKmhzLAorCQljb25zdCBnY2hhciAqZXJyb3IsIGdwb2ludGVyIF9oYyk7CisK
IHN0cnVjdCBfUHVycGxlSHR0cFNvY2tldAogewotCVB1cnBsZVNvY2tldCAqcHM7CisJR1NvY2tl
dENvbm5lY3Rpb24gKmNvbm47CisJR0NhbmNlbGxhYmxlICpjYW5jZWxsYWJsZTsKKwlndWludCBp
bnB1dF9zb3VyY2U7CisJZ3VpbnQgb3V0cHV0X3NvdXJjZTsKIAogCWdib29sZWFuIGlzX2J1c3k7
CiAJZ3VpbnQgdXNlX2NvdW50OwpAQCAtMTc1LDcgKzE4MSw3IEBAIHN0cnVjdCBfUHVycGxlSHR0
cENvb2tpZUphcgogc3RydWN0IF9QdXJwbGVIdHRwS2VlcGFsaXZlUmVxdWVzdAogewogCVB1cnBs
ZUNvbm5lY3Rpb24gKmdjOwotCVB1cnBsZVNvY2tldENvbm5lY3RDYiBjYjsKKwlQdXJwbGVIdHRw
U29ja2V0Q29ubmVjdENiIGNiOwogCWdwb2ludGVyIHVzZXJfZGF0YTsKIAogCVB1cnBsZUh0dHBL
ZWVwYWxpdmVIb3N0ICpob3N0OwpAQCAtMjQ3LDcgKzI1Myw3IEBAIGdjaGFyICogcHVycGxlX2h0
dHBfY29va2llX2phcl9kdW1wKFB1cnAKIHN0YXRpYyBQdXJwbGVIdHRwS2VlcGFsaXZlUmVxdWVz
dCAqCiBwdXJwbGVfaHR0cF9rZWVwYWxpdmVfcG9vbF9yZXF1ZXN0KFB1cnBsZUh0dHBLZWVwYWxp
dmVQb29sICpwb29sLAogCVB1cnBsZUNvbm5lY3Rpb24gKmdjLCBjb25zdCBnY2hhciAqaG9zdCwg
aW50IHBvcnQsIGdib29sZWFuIGlzX3NzbCwKLQlQdXJwbGVTb2NrZXRDb25uZWN0Q2IgY2IsIGdw
b2ludGVyIHVzZXJfZGF0YSk7CisJUHVycGxlSHR0cFNvY2tldENvbm5lY3RDYiBjYiwgZ3BvaW50
ZXIgdXNlcl9kYXRhKTsKIHN0YXRpYyB2b2lkCiBwdXJwbGVfaHR0cF9rZWVwYWxpdmVfcG9vbF9y
ZXF1ZXN0X2NhbmNlbChQdXJwbGVIdHRwS2VlcGFsaXZlUmVxdWVzdCAqcmVxKTsKIHN0YXRpYyB2
b2lkCkBAIC00NjMsMjMgKzQ2OSw2NSBAQCBwdXJwbGVfaHR0cF9zb2NrZXRfaGFzaChjb25zdCBn
Y2hhciAqaG9zCiAJcmV0dXJuIGdfc3RyZHVwX3ByaW50ZigiJWM6JXM6JWQiLCAoaXNfc3NsID8g
J1MnIDogJ1InKSwgaG9zdCwgcG9ydCk7CiB9CiAKK3N0YXRpYyB2b2lkCitwdXJwbGVfaHR0cF9z
b2NrZXRfY29ubmVjdF9uZXdfY2IoR09iamVjdCAqc291cmNlLCBHQXN5bmNSZXN1bHQgKnJlcywK
KwkJZ3BvaW50ZXIgdXNlcl9kYXRhKQoreworCVB1cnBsZUh0dHBTb2NrZXQgKmhzID0gdXNlcl9k
YXRhOworCUdTb2NrZXRDb25uZWN0aW9uICpjb25uOworCVB1cnBsZUh0dHBTb2NrZXRDb25uZWN0
Q2IgY2I7CisJZ3BvaW50ZXIgY2JfZGF0YTsKKwlHRXJyb3IgKmVycm9yID0gTlVMTDsKKworCWNv
bm4gPSBnX3NvY2tldF9jbGllbnRfY29ubmVjdF90b19ob3N0X2ZpbmlzaChHX1NPQ0tFVF9DTElF
TlQoc291cmNlKSwKKwkJCXJlcywgJmVycm9yKTsKKworCWNiID0gZ19vYmplY3Rfc3RlYWxfZGF0
YShzb3VyY2UsICJjYiIpOworCWNiX2RhdGEgPSBnX29iamVjdF9zdGVhbF9kYXRhKHNvdXJjZSwg
ImNiX2RhdGEiKTsKKworCWlmIChjb25uID09IE5VTEwpIHsKKwkJY2IoaHMsIGVycm9yLT5tZXNz
YWdlLCBjYl9kYXRhKTsKKwkJZ19jbGVhcl9lcnJvcigmZXJyb3IpOworCQlyZXR1cm47CisJfQor
CisJaHMtPmNvbm4gPSBjb25uOworCisJY2IoaHMsIE5VTEwsIGNiX2RhdGEpOworfQorCiBzdGF0
aWMgUHVycGxlSHR0cFNvY2tldCAqCiBwdXJwbGVfaHR0cF9zb2NrZXRfY29ubmVjdF9uZXcoUHVy
cGxlQ29ubmVjdGlvbiAqZ2MsIGNvbnN0IGdjaGFyICpob3N0LAotCWludCBwb3J0LCBnYm9vbGVh
biBpc19zc2wsIFB1cnBsZVNvY2tldENvbm5lY3RDYiBjYiwgZ3BvaW50ZXIgdXNlcl9kYXRhKQor
CQlpbnQgcG9ydCwgZ2Jvb2xlYW4gaXNfc3NsLAorCQlQdXJwbGVIdHRwU29ja2V0Q29ubmVjdENi
IGNiLCBncG9pbnRlciB1c2VyX2RhdGEpCiB7Ci0JUHVycGxlSHR0cFNvY2tldCAqaHMgPSBnX25l
dzAoUHVycGxlSHR0cFNvY2tldCwgMSk7Ci0KLQlocy0+cHMgPSBwdXJwbGVfc29ja2V0X25ldyhn
Yyk7Ci0JcHVycGxlX3NvY2tldF9zZXRfZGF0YShocy0+cHMsICJocyIsIGhzKTsKLQlwdXJwbGVf
c29ja2V0X3NldF90bHMoaHMtPnBzLCBpc19zc2wpOwotCXB1cnBsZV9zb2NrZXRfc2V0X2hvc3Qo
aHMtPnBzLCBob3N0KTsKLQlwdXJwbGVfc29ja2V0X3NldF9wb3J0KGhzLT5wcywgcG9ydCk7Ci0J
aWYgKCFwdXJwbGVfc29ja2V0X2Nvbm5lY3QoaHMtPnBzLCBjYiwgdXNlcl9kYXRhKSkgewotCQlw
dXJwbGVfc29ja2V0X2Rlc3Ryb3koaHMtPnBzKTsKLQkJZ19mcmVlKGhzKTsKKwlQdXJwbGVIdHRw
U29ja2V0ICpoczsKKwlHU29ja2V0Q2xpZW50ICpjbGllbnQ7CisJR0Vycm9yICplcnJvciA9IE5V
TEw7CisKKwljbGllbnQgPSBwdXJwbGVfZ2lvX3NvY2tldF9jbGllbnRfbmV3KAorCQkJcHVycGxl
X2Nvbm5lY3Rpb25fZ2V0X2FjY291bnQoZ2MpLCAmZXJyb3IpOworCisJaWYgKGNsaWVudCA9PSBO
VUxMKSB7CisJCXB1cnBsZV9kZWJ1Z19lcnJvcigiaHR0cCIsICJFcnJvciBjb25uZWN0aW5nIHRv
ICclczolZCc6ICVzIiwKKwkJCQlob3N0LCBwb3J0LCBlcnJvci0+bWVzc2FnZSk7CisJCWdfY2xl
YXJfZXJyb3IoJmVycm9yKTsKIAkJcmV0dXJuIE5VTEw7CiAJfQogCisJaHMgPSBnX25ldzAoUHVy
cGxlSHR0cFNvY2tldCwgMSk7CisJaHMtPmNhbmNlbGxhYmxlID0gZ19jYW5jZWxsYWJsZV9uZXco
KTsKKworCWdfc29ja2V0X2NsaWVudF9zZXRfdGxzKGNsaWVudCwgaXNfc3NsKTsKKwlnX29iamVj
dF9zZXRfZGF0YShHX09CSkVDVChjbGllbnQpLCAiY2IiLCBjYik7CisJZ19vYmplY3Rfc2V0X2Rh
dGEoR19PQkpFQ1QoY2xpZW50KSwgImNiX2RhdGEiLCB1c2VyX2RhdGEpOworCisJZ19zb2NrZXRf
Y2xpZW50X2Nvbm5lY3RfdG9faG9zdF9hc3luYyhjbGllbnQsCisJCQlob3N0LCBwb3J0LCBocy0+
Y2FuY2VsbGFibGUsCisJCQlwdXJwbGVfaHR0cF9zb2NrZXRfY29ubmVjdF9uZXdfY2IsIGhzKTsK
KworCWdfb2JqZWN0X3VucmVmKGNsaWVudCk7CisKIAlpZiAocHVycGxlX2RlYnVnX2lzX3ZlcmJv
c2UoKSkKIAkJcHVycGxlX2RlYnVnX21pc2MoImh0dHAiLCAibmV3IHNvY2tldCBjcmVhdGVkOiAl
cFxuIiwgaHMpOwogCkBAIC00OTUsNyArNTQzLDI2IEBAIHB1cnBsZV9odHRwX3NvY2tldF9jbG9z
ZV9mcmVlKFB1cnBsZUh0dHAKIAlpZiAocHVycGxlX2RlYnVnX2lzX3ZlcmJvc2UoKSkKIAkJcHVy
cGxlX2RlYnVnX21pc2MoImh0dHAiLCAiZGVzdHJveWluZyBzb2NrZXQ6ICVwXG4iLCBocyk7CiAK
LQlwdXJwbGVfc29ja2V0X2Rlc3Ryb3koaHMtPnBzKTsKKwlpZiAoaHMtPmlucHV0X3NvdXJjZSA+
IDApIHsKKwkJZ19zb3VyY2VfcmVtb3ZlKGhzLT5pbnB1dF9zb3VyY2UpOworCQlocy0+aW5wdXRf
c291cmNlID0gMDsKKwl9CisKKwlpZiAoaHMtPm91dHB1dF9zb3VyY2UgPiAwKSB7CisJCWdfc291
cmNlX3JlbW92ZShocy0+b3V0cHV0X3NvdXJjZSk7CisJCWhzLT5vdXRwdXRfc291cmNlID0gMDsK
Kwl9CisKKwlpZiAoaHMtPmNhbmNlbGxhYmxlICE9IE5VTEwpIHsKKwkJZ19jYW5jZWxsYWJsZV9j
YW5jZWwoaHMtPmNhbmNlbGxhYmxlKTsKKwkJZ19jbGVhcl9vYmplY3QoJmhzLT5jYW5jZWxsYWJs
ZSk7CisJfQorCisJaWYgKGhzLT5jb25uICE9IE5VTEwpIHsKKwkJcHVycGxlX2dpb19ncmFjZWZ1
bF9jbG9zZShHX0lPX1NUUkVBTShocy0+Y29ubiksIE5VTEwsIE5VTEwpOworCQlnX2NsZWFyX29i
amVjdCgmaHMtPmNvbm4pOworCX0KKwogCWdfZnJlZShocyk7CiB9CiAKQEAgLTY4MiwxMCArNzQ5
LDkgQEAgc3RhdGljIHZvaWQgX3B1cnBsZV9odHRwX2Rpc2Nvbm5lY3QoUHVycAogCWdib29sZWFu
IGlzX2dyYWNlZnVsKTsKIAogc3RhdGljIHZvaWQgX3B1cnBsZV9odHRwX2dlbl9oZWFkZXJzKFB1
cnBsZUh0dHBDb25uZWN0aW9uICpoYyk7Ci1zdGF0aWMgZ2Jvb2xlYW4gX3B1cnBsZV9odHRwX3Jl
Y3ZfbG9vcGJvZHkoUHVycGxlSHR0cENvbm5lY3Rpb24gKmhjLCBnaW50IGZkKTsKLXN0YXRpYyB2
b2lkIF9wdXJwbGVfaHR0cF9yZWN2KGdwb2ludGVyIF9oYywgZ2ludCBmZCwKLQlQdXJwbGVJbnB1
dENvbmRpdGlvbiBjb25kKTsKLXN0YXRpYyB2b2lkIF9wdXJwbGVfaHR0cF9zZW5kKGdwb2ludGVy
IF9oYywgZ2ludCBmZCwgUHVycGxlSW5wdXRDb25kaXRpb24gY29uZCk7CitzdGF0aWMgZ2Jvb2xl
YW4gX3B1cnBsZV9odHRwX3JlY3ZfbG9vcGJvZHkoUHVycGxlSHR0cENvbm5lY3Rpb24gKmhjKTsK
K3N0YXRpYyBnYm9vbGVhbiBfcHVycGxlX2h0dHBfcmVjdihHT2JqZWN0ICpzb3VyY2UsIGdwb2lu
dGVyIF9oYyk7CitzdGF0aWMgZ2Jvb2xlYW4gX3B1cnBsZV9odHRwX3NlbmQoR09iamVjdCAqc291
cmNlLCBncG9pbnRlciBfaGMpOwogCiAvKiBjbG9zZXMgY3VycmVudCBjb25uZWN0aW9uIChpZiBl
eGlzdHMpLCBlc3RhYmlsaXNoZXMgb25lIGFuZCBwcm9jZWVkcyB3aXRoCiAgKiByZXF1ZXN0ICov
CkBAIC0xMDc3LDIxICsxMTQzLDMxIEBAIHN0YXRpYyBnYm9vbGVhbiBfcHVycGxlX2h0dHBfcmVj
dl9ib2R5KFAKIAlyZXR1cm4gX3B1cnBsZV9odHRwX3JlY3ZfYm9keV9kYXRhKGhjLCBidWYsIGxl
bik7CiB9CiAKLXN0YXRpYyBnYm9vbGVhbiBfcHVycGxlX2h0dHBfcmVjdl9sb29wYm9keShQdXJw
bGVIdHRwQ29ubmVjdGlvbiAqaGMsIGdpbnQgZmQpCitzdGF0aWMgZ2Jvb2xlYW4gX3B1cnBsZV9o
dHRwX3JlY3ZfbG9vcGJvZHkoUHVycGxlSHR0cENvbm5lY3Rpb24gKmhjKQogewogCWludCBsZW47
CiAJZ2NoYXIgYnVmWzQwOTZdOwogCWdib29sZWFuIGdvdF9hbnl0aGluZzsKLQotCWxlbiA9IHB1
cnBsZV9zb2NrZXRfcmVhZChoYy0+c29ja2V0LT5wcywgKGd1Y2hhciopYnVmLCBzaXplb2YoYnVm
KSk7CisJR0Vycm9yICplcnJvciA9IE5VTEw7CisKKwlsZW4gPSBnX3BvbGxhYmxlX2lucHV0X3N0
cmVhbV9yZWFkX25vbmJsb2NraW5nKAorCQkJCUdfUE9MTEFCTEVfSU5QVVRfU1RSRUFNKAorCQkJ
CWdfaW9fc3RyZWFtX2dldF9pbnB1dF9zdHJlYW0oCisJCQkJR19JT19TVFJFQU0oaGMtPnNvY2tl
dC0+Y29ubikpKSwKKwkJCQlidWYsIHNpemVvZihidWYpLCBoYy0+c29ja2V0LT5jYW5jZWxsYWJs
ZSwKKwkJCQkmZXJyb3IpOwogCWdvdF9hbnl0aGluZyA9IChsZW4gPiAwKTsKIAotCWlmIChsZW4g
PCAwICYmIGVycm5vID09IEVBR0FJTikKKwlpZiAobGVuIDwgMCAmJiBnX2Vycm9yX21hdGNoZXMo
ZXJyb3IsCisJCQlHX0lPX0VSUk9SLCBHX0lPX0VSUk9SX1dPVUxEX0JMT0NLKSkgeworCQlnX2Ns
ZWFyX2Vycm9yKCZlcnJvcik7CiAJCXJldHVybiBGQUxTRTsKKwl9CiAKIAlpZiAobGVuIDwgMCkg
ewogCQlfcHVycGxlX2h0dHBfZXJyb3IoaGMsIF8oIkVycm9yIHJlYWRpbmcgZnJvbSAlczogJXMi
KSwKLQkJCWhjLT51cmwtPmhvc3QsIGdfc3RyZXJyb3IoZXJybm8pKTsKKwkJCWhjLT51cmwtPmhv
c3QsIGVycm9yLT5tZXNzYWdlKTsKKwkJZ19jbGVhcl9lcnJvcigmZXJyb3IpOwogCQlyZXR1cm4g
RkFMU0U7CiAJfQogCkBAIC0xMjcwLDExICsxMzQ2LDEzIEBAIHN0YXRpYyBnYm9vbGVhbiBfcHVy
cGxlX2h0dHBfcmVjdl9sb29wYm8KIAlyZXR1cm4gZ290X2FueXRoaW5nOwogfQogCi1zdGF0aWMg
dm9pZCBfcHVycGxlX2h0dHBfcmVjdihncG9pbnRlciBfaGMsIGdpbnQgZmQsIFB1cnBsZUlucHV0
Q29uZGl0aW9uIGNvbmQpCitzdGF0aWMgZ2Jvb2xlYW4gX3B1cnBsZV9odHRwX3JlY3YoR09iamVj
dCAqc291cmNlLCBncG9pbnRlciBfaGMpCiB7CiAJUHVycGxlSHR0cENvbm5lY3Rpb24gKmhjID0g
X2hjOwogCi0Jd2hpbGUgKF9wdXJwbGVfaHR0cF9yZWN2X2xvb3Bib2R5KGhjLCBmZCkpOworCXdo
aWxlIChfcHVycGxlX2h0dHBfcmVjdl9sb29wYm9keShoYykpOworCisJcmV0dXJuIEdfU09VUkNF
X0NPTlRJTlVFOwogfQogCiBzdGF0aWMgdm9pZCBfcHVycGxlX2h0dHBfc2VuZF9nb3RfZGF0YShQ
dXJwbGVIdHRwQ29ubmVjdGlvbiAqaGMsCkBAIC0xMzA1LDE3ICsxMzgzLDE5IEBAIHN0YXRpYyB2
b2lkIF9wdXJwbGVfaHR0cF9zZW5kX2dvdF9kYXRhKFAKIAloYy0+cmVxdWVzdC0+Y29udGVudHNf
bGVuZ3RoID0gZXN0aW1hdGVkX2xlbmd0aDsKIH0KIAotc3RhdGljIHZvaWQgX3B1cnBsZV9odHRw
X3NlbmQoZ3BvaW50ZXIgX2hjLCBnaW50IGZkLCBQdXJwbGVJbnB1dENvbmRpdGlvbiBjb25kKQor
c3RhdGljIGdib29sZWFuIF9wdXJwbGVfaHR0cF9zZW5kKEdPYmplY3QgKnNvdXJjZSwgZ3BvaW50
ZXIgX2hjKQogewogCVB1cnBsZUh0dHBDb25uZWN0aW9uICpoYyA9IF9oYzsKIAlpbnQgd3JpdHRl
biwgd3JpdGVfbGVuOwogCWNvbnN0IGdjaGFyICp3cml0ZV9mcm9tOwogCWdib29sZWFuIHdyaXRp
bmdfaGVhZGVyczsKKwlHRXJyb3IgKmVycm9yID0gTlVMTDsKKwlHU291cmNlICpnc291cmNlOwog
CiAJLyogV2FpdGluZyBmb3IgZGF0YS4gVGhpcyBjb3VsZCBiZSB3cml0dGVuIG1vcmUgZWZmaWNp
ZW50bHksIGJ5IHJlbW92aW5nCiAJICogKGFuZCBsYXRlciwgYWRkaW5nKSBocy0+aW5wYS4gKi8K
IAlpZiAoaGMtPmNvbnRlbnRzX3JlYWRlcl9yZXF1ZXN0ZWQpCi0JCXJldHVybjsKKwkJcmV0dXJu
IEdfU09VUkNFX0NPTlRJTlVFOwogCiAJX3B1cnBsZV9odHRwX2dlbl9oZWFkZXJzKGhjKTsKIApA
QCAtMTMyOCw3ICsxNDA4LDcgQEAgc3RhdGljIHZvaWQgX3B1cnBsZV9odHRwX3NlbmQoZ3BvaW50
ZXIgXwogCQkJaGMtPnJlcXVlc3RfaGVhZGVyX3dyaXR0ZW47CiAJfSBlbHNlIGlmIChoYy0+cmVx
dWVzdC0+Y29udGVudHNfcmVhZGVyKSB7CiAJCWlmIChoYy0+Y29udGVudHNfcmVhZGVyX3JlcXVl
c3RlZCkKLQkJCXJldHVybjsgLyogd2FpdGluZyBmb3IgZGF0YSAqLworCQkJcmV0dXJuIEdfU09V
UkNFX0NPTlRJTlVFOyAvKiB3YWl0aW5nIGZvciBkYXRhICovCiAJCWlmICghaGMtPmNvbnRlbnRz
X3JlYWRlcl9idWZmZXIpCiAJCQloYy0+Y29udGVudHNfcmVhZGVyX2J1ZmZlciA9IGdfc3RyaW5n
X25ldygiIik7CiAJCWlmIChoYy0+Y29udGVudHNfcmVhZGVyX2J1ZmZlci0+bGVuID09IDApIHsK
QEAgLTEzNDEsNyArMTQyMSw3IEBAIHN0YXRpYyB2b2lkIF9wdXJwbGVfaHR0cF9zZW5kKGdwb2lu
dGVyIF8KIAkJCQlQVVJQTEVfSFRUUF9NQVhfUkVBRF9CVUZGRVJfTEVOLAogCQkJCWhjLT5yZXF1
ZXN0LT5jb250ZW50c19yZWFkZXJfZGF0YSwKIAkJCQlfcHVycGxlX2h0dHBfc2VuZF9nb3RfZGF0
YSk7Ci0JCQlyZXR1cm47CisJCQlyZXR1cm4gR19TT1VSQ0VfQ09OVElOVUU7CiAJCX0KIAkJd3Jp
dGVfZnJvbSA9IGhjLT5jb250ZW50c19yZWFkZXJfYnVmZmVyLT5zdHI7CiAJCXdyaXRlX2xlbiA9
IGhjLT5jb250ZW50c19yZWFkZXJfYnVmZmVyLT5sZW47CkBAIC0xMzU2LDEyICsxNDM2LDE5IEBA
IHN0YXRpYyB2b2lkIF9wdXJwbGVfaHR0cF9zZW5kKGdwb2ludGVyIF8KIAkJcHVycGxlX2RlYnVn
X3dhcm5pbmcoImh0dHAiLCAiTm90aGluZyB0byB3cml0ZVxuIik7CiAJCXdyaXR0ZW4gPSAwOwog
CX0gZWxzZSB7Ci0JCXdyaXR0ZW4gPSBwdXJwbGVfc29ja2V0X3dyaXRlKGhjLT5zb2NrZXQtPnBz
LAotCQkJKGNvbnN0IGd1Y2hhciopd3JpdGVfZnJvbSwgd3JpdGVfbGVuKTsKKwkJd3JpdHRlbiA9
IGdfcG9sbGFibGVfb3V0cHV0X3N0cmVhbV93cml0ZV9ub25ibG9ja2luZygKKwkJCQlHX1BPTExB
QkxFX09VVFBVVF9TVFJFQU0oCisJCQkJZ19pb19zdHJlYW1fZ2V0X291dHB1dF9zdHJlYW0oCisJ
CQkJR19JT19TVFJFQU0oaGMtPnNvY2tldC0+Y29ubikpKSwKKwkJCQl3cml0ZV9mcm9tLCB3cml0
ZV9sZW4sIGhjLT5zb2NrZXQtPmNhbmNlbGxhYmxlLAorCQkJCSZlcnJvcik7CiAJfQogCi0JaWYg
KHdyaXR0ZW4gPCAwICYmIGVycm5vID09IEVBR0FJTikKLQkJcmV0dXJuOworCWlmICh3cml0dGVu
IDwgMCAmJiBnX2Vycm9yX21hdGNoZXMoZXJyb3IsCisJCQlHX0lPX0VSUk9SLCBHX0lPX0VSUk9S
X1dPVUxEX0JMT0NLKSkgeworCQlnX2NsZWFyX2Vycm9yKCZlcnJvcik7CisJCXJldHVybiBHX1NP
VVJDRV9DT05USU5VRTsKKwl9CiAKIAlpZiAod3JpdHRlbiA8IDApIHsKIAkJaWYgKGhjLT5yZXF1
ZXN0X2hlYWRlcl93cml0dGVuID09IDAgJiYKQEAgLTEzNzAsMjEgKzE0NTcsMjIgQEAgc3RhdGlj
IHZvaWQgX3B1cnBsZV9odHRwX3NlbmQoZ3BvaW50ZXIgXwogCQkJcHVycGxlX2RlYnVnX2luZm8o
Imh0dHAiLCAiS2VlcC1hbGl2ZSBjb25uZWN0aW9uICIKIAkJCQkiZXhwaXJlZCAod2hlbiB3cml0
aW5nKSwgcmV0cnlpbmcuLi5cbiIpOwogCQkJcHVycGxlX2h0dHBfY29ubl9yZXRyeShoYyk7Ci0J
CQlyZXR1cm47CisJCX0gZWxzZSB7CisJCQlfcHVycGxlX2h0dHBfZXJyb3IoaGMsIF8oIkVycm9y
IHdyaXRpbmcgdG8gJXM6ICVzIiksCisJCQkJaGMtPnVybC0+aG9zdCwgZXJyb3ItPm1lc3NhZ2Up
OwogCQl9CiAKLQkJX3B1cnBsZV9odHRwX2Vycm9yKGhjLCBfKCJFcnJvciB3cml0aW5nIHRvICVz
OiAlcyIpLAotCQkJaGMtPnVybC0+aG9zdCwgZ19zdHJlcnJvcihlcnJubykpOwotCQlyZXR1cm47
CisJCWdfY2xlYXJfZXJyb3IoJmVycm9yKTsKKwkJcmV0dXJuIEdfU09VUkNFX0NPTlRJTlVFOwog
CX0KIAoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQ29t
bWl0cyBtYWlsaW5nIGxpc3QKQ29tbWl0c0BwaWRnaW4uaW0KaHR0cHM6Ly9waWRnaW4uaW0vY2dp
LWJpbi9tYWlsbWFuL2xpc3RpbmZvL2NvbW1pdHM=