--------------Boundary-00=_SNMKF3K8X2OZQHSNQ968 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 8bit Hi, one thing I was missing in Kmail was the possibility to select a different folder than sent-mail when I was writing a mail. I could use outgoing filters for a lot of cases, but sometimes we have to manually select the folder. This patch creates this option. First you can configure a special sent-mail folder for each identity you have (if there's none selected, we use kernel->sentFolder()). Secondly, this adds an option (a combobox) to the composer window to allow me to select a different one for that specific message. One problem I have is the field label. I am using Fcc (folder carbon copy) right now because that's the name I got used to when I used Gnus. However, I think we must come up with a more user friendly name. So I'd appreciate comments and if it's ok I'd like to commit it. regards, Roberto. -- maragato@conectiva.com | maragato@kde.org pub key: 0x140432C6 Fingerprint: 4AD2 28FF 3D30 51E4 F84B E9C3 176D 98D8 1404 32C6 DISCLAIMER: This message represents the official views of the voices in my head. If the informations contained in this message cause any trouble at all I will plead insanity and get on with my life, so please do not even bother sueing. --------------Boundary-00=_SNMKF3K8X2OZQHSNQ968 Content-Type: text/x-diff; charset="iso-8859-1"; name="fcc.diff" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="fcc.diff" SW5kZXg6IGNvbmZpZ3VyZWRpYWxvZy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTogL2hvbWUva2Rl L2tkZW5ldHdvcmsva21haWwvY29uZmlndXJlZGlhbG9nLmNwcCx2CnJldHJpZXZpbmcgcmV2aXNp b24gMS4xNTEKZGlmZiAtdSAtYiAtdCAtcjEuMTUxIGNvbmZpZ3VyZWRpYWxvZy5jcHAKLS0tIGNv bmZpZ3VyZWRpYWxvZy5jcHAJMjAwMS8xMC8yMCAwOTo0Njo0MwkxLjE1MQorKysgY29uZmlndXJl ZGlhbG9nLmNwcAkyMDAxLzEwLzIxIDE5OjI3OjE1CkBAIC01Nyw2ICs1Nyw3IEBACiAjaW5jbHVk ZSAia21hY2N0bWdyLmgiCiAjaW5jbHVkZSAia21hY2N0c2VsZGxnLmgiCiAjaW5jbHVkZSAia21m b2xkZXIuaCIKKyNpbmNsdWRlICJrbWZvbGRlcm1nci5oIgogI2luY2x1ZGUgImttaGVhZGVycy5o IgogI2luY2x1ZGUgImttaWRlbnRpdHkuaCIKICNpbmNsdWRlICJrbXNlbmRlci5oIgpAQCAtNTU4 LDE4ICs1NTksMjUgQEAKICAgbGFiZWwtPnNldEJ1ZGR5KG1JZGVudGl0eS5yZXBseXRvRWRpdCk7 CiAgIGdsYXktPmFkZE11bHRpQ2VsbFdpZGdldCggbUlkZW50aXR5LnJlcGx5dG9FZGl0LCA1LCA1 LCAxLCAyICk7CiAKLSAgbGFiZWwgPSBuZXcgUUxhYmVsKCBpMThuKCJQR1AgJlVzZXIgSWRlbnRp dHk6IiksIHBhZ2UgKTsKKyAgbGFiZWwgPSBuZXcgUUxhYmVsKCBpMThuKCJGY2MiKSwgcGFnZSAp OwogICBnbGF5LT5hZGRXaWRnZXQoIGxhYmVsLCA2LCAwICk7CisgIG1JZGVudGl0eS5mY2NDb21i byA9IG5ldyBRQ29tYm9Cb3goIHBhZ2UgKTsKKyAgbUlkZW50aXR5LmZjY0NvbWJvLT5zZXRFZGl0 YWJsZSggRkFMU0UgKTsKKyAgbGFiZWwtPnNldEJ1ZGR5KG1JZGVudGl0eS5mY2NDb21ibyk7Cisg IGdsYXktPmFkZE11bHRpQ2VsbFdpZGdldCggbUlkZW50aXR5LmZjY0NvbWJvLCA2LCA2LCAxLCAy ICk7CisKKyAgbGFiZWwgPSBuZXcgUUxhYmVsKCBpMThuKCJQR1AgJlVzZXIgSWRlbnRpdHk6Iiks IHBhZ2UgKTsKKyAgZ2xheS0+YWRkV2lkZ2V0KCBsYWJlbCwgNywgMCApOwogICBtSWRlbnRpdHku cGdwSWRlbnRpdHlFZGl0ID0gbmV3IFFMaW5lRWRpdCggcGFnZSApOwogICBsYWJlbC0+c2V0QnVk ZHkobUlkZW50aXR5LnBncElkZW50aXR5RWRpdCk7Ci0gIGdsYXktPmFkZE11bHRpQ2VsbFdpZGdl dCggbUlkZW50aXR5LnBncElkZW50aXR5RWRpdCwgNiwgNiwgMSwgMiApOworICBnbGF5LT5hZGRN dWx0aUNlbGxXaWRnZXQoIG1JZGVudGl0eS5wZ3BJZGVudGl0eUVkaXQsIDcsIDcsIDEsIDIgKTsK IAogICBtSWRlbnRpdHkudHJhbnNwb3J0Q2hlY2sgPSBuZXcgUUNoZWNrQm94KCBpMThuKCJTcGUm Y2lhbCB0cmFuc3BvcnQiKSwgcGFnZSApOwotICBnbGF5LT5hZGRXaWRnZXQoIG1JZGVudGl0eS50 cmFuc3BvcnRDaGVjaywgNywgMCApOworICBnbGF5LT5hZGRXaWRnZXQoIG1JZGVudGl0eS50cmFu c3BvcnRDaGVjaywgOCwgMCApOwogICBtSWRlbnRpdHkudHJhbnNwb3J0Q29tYm8gPSBuZXcgUUNv bWJvQm94KCBwYWdlICk7CiAgIG1JZGVudGl0eS50cmFuc3BvcnRDb21iby0+c2V0RWRpdGFibGUo IFRSVUUgKTsKICAgbGFiZWwtPnNldEJ1ZGR5KG1JZGVudGl0eS50cmFuc3BvcnRDb21ibyk7Ci0g IGdsYXktPmFkZE11bHRpQ2VsbFdpZGdldCggbUlkZW50aXR5LnRyYW5zcG9ydENvbWJvLCA3LCA3 LCAxLCAyICk7CisgIGdsYXktPmFkZE11bHRpQ2VsbFdpZGdldCggbUlkZW50aXR5LnRyYW5zcG9y dENvbWJvLCA4LCA4LCAxLCAyICk7CiAgIGNvbm5lY3QobUlkZW50aXR5LnRyYW5zcG9ydENoZWNr LCBTSUdOQUwoY2xpY2tlZCgpKSwKICAgICBTTE9UKHNsb3RTcGVjaWFsVHJhbnNwb3J0Q2xpY2tl ZCgpKSk7CiAKQEAgLTU4MCwxMCArNTg4LDEwIEBACiAgIG1JZGVudGl0eS5zaWduYXR1cmVGaWxl UmFkaW8gPQogICAgIG5ldyBRUmFkaW9CdXR0b24oIGkxOG4oIiZVc2UgYSBzaWduYXR1cmUgZnJv bSBmaWxlIiksIHBhZ2UgKTsKICAgYnV0dG9uR3JvdXAtPmluc2VydCggbUlkZW50aXR5LnNpZ25h dHVyZUZpbGVSYWRpbyApOwotICBnbGF5LT5hZGRNdWx0aUNlbGxXaWRnZXQoIG1JZGVudGl0eS5z aWduYXR1cmVGaWxlUmFkaW8sIDgsIDgsIDAsIDEgKTsKKyAgZ2xheS0+YWRkTXVsdGlDZWxsV2lk Z2V0KCBtSWRlbnRpdHkuc2lnbmF0dXJlRmlsZVJhZGlvLCA5LCA5LCAwLCAxICk7CiAKICAgbUlk ZW50aXR5LnNpZ25hdHVyZUZpbGVMYWJlbCA9IG5ldyBRTGFiZWwoIGkxOG4oIiZTaWduYXR1cmUg RmlsZToiKSwgcGFnZSApOwotICBnbGF5LT5hZGRXaWRnZXQoIG1JZGVudGl0eS5zaWduYXR1cmVG aWxlTGFiZWwsIDksIDAgKTsKKyAgZ2xheS0+YWRkV2lkZ2V0KCBtSWRlbnRpdHkuc2lnbmF0dXJl RmlsZUxhYmVsLCAxMCwgMCApOwogICBtSWRlbnRpdHkuc2lnbmF0dXJlRmlsZUVkaXQgPSBuZXcg S1VSTFJlcXVlc3RlciggcGFnZSApOwogICBtSWRlbnRpdHkuc2lnbmF0dXJlRmlsZUxhYmVsLT5z ZXRCdWRkeShtSWRlbnRpdHkuc2lnbmF0dXJlRmlsZUVkaXQpOwogICBRUHVzaEJ1dHRvbiAqYnV0 dG9uID0gbUlkZW50aXR5LnNpZ25hdHVyZUZpbGVFZGl0LT5idXR0b24oKTsKQEAgLTU5MSwyNiAr NTk5LDI2IEBACiAgIGJ1dHRvbi0+c2V0QXV0b0RlZmF1bHQoIGZhbHNlICk7CiAgIGNvbm5lY3Qo IG1JZGVudGl0eS5zaWduYXR1cmVGaWxlRWRpdCwgU0lHTkFMKHRleHRDaGFuZ2VkKGNvbnN0IFFT dHJpbmcgJikpLAogICAgICAgICAgICB0aGlzLCBTTE9UKCBzbG90U2lnbmF0dXJlRmlsZShjb25z dCBRU3RyaW5nICYpKSApOwotICBnbGF5LT5hZGRNdWx0aUNlbGxXaWRnZXQoIG1JZGVudGl0eS5z aWduYXR1cmVGaWxlRWRpdCwgOSwgOSwgMSwgMiApOworICBnbGF5LT5hZGRNdWx0aUNlbGxXaWRn ZXQoIG1JZGVudGl0eS5zaWduYXR1cmVGaWxlRWRpdCwgMTAsIDEwLCAxLCAyICk7CiAKICAgbUlk ZW50aXR5LnNpZ25hdHVyZUV4ZWNDaGVjayA9CiAgICAgbmV3IFFDaGVja0JveCggaTE4bigiJlRo ZSBmaWxlIGlzIGEgcHJvZ3JhbSIpLCBwYWdlICk7Ci0gIGdsYXktPmFkZFdpZGdldCggbUlkZW50 aXR5LnNpZ25hdHVyZUV4ZWNDaGVjaywgMTAsIDEgKTsKKyAgZ2xheS0+YWRkV2lkZ2V0KCBtSWRl bnRpdHkuc2lnbmF0dXJlRXhlY0NoZWNrLCAxMSwgMSApOwogICBtSWRlbnRpdHkuc2lnbmF0dXJl RWRpdEJ1dHRvbiA9IG5ldyBRUHVzaEJ1dHRvbiggaTE4bigiRWQmaXQgRmlsZSIpLCBwYWdlICk7 CiAgIGNvbm5lY3QoIG1JZGVudGl0eS5zaWduYXR1cmVFZGl0QnV0dG9uLCBTSUdOQUwoY2xpY2tl ZCgpKSwKICAgICAgICAgICAgdGhpcywgU0xPVChzbG90U2lnbmF0dXJlRWRpdCgpKSApOwogICBt SWRlbnRpdHkuc2lnbmF0dXJlRWRpdEJ1dHRvbi0+c2V0QXV0b0RlZmF1bHQoIGZhbHNlICk7Ci0g IGdsYXktPmFkZFdpZGdldCggbUlkZW50aXR5LnNpZ25hdHVyZUVkaXRCdXR0b24sIDEwLCAyICk7 CisgIGdsYXktPmFkZFdpZGdldCggbUlkZW50aXR5LnNpZ25hdHVyZUVkaXRCdXR0b24sIDExLCAy ICk7CiAgIGJ1dHRvbi0+c2V0TWluaW11bVNpemUoIG1JZGVudGl0eS5zaWduYXR1cmVFZGl0QnV0 dG9uLT5zaXplSGludCgpICk7CiAKICAgbUlkZW50aXR5LnNpZ25hdHVyZVRleHRSYWRpbyA9CiAg ICAgbmV3IFFSYWRpb0J1dHRvbiggaTE4bigiJlNwZWNpZnkgc2lnbmF0dXJlIGJlbG93IiksIHBh Z2UgKTsKICAgYnV0dG9uR3JvdXAtPmluc2VydCggbUlkZW50aXR5LnNpZ25hdHVyZVRleHRSYWRp byApOwotICBnbGF5LT5hZGRNdWx0aUNlbGxXaWRnZXQoIG1JZGVudGl0eS5zaWduYXR1cmVUZXh0 UmFkaW8sIDExLCAxMSwgMCwgMiApOworICBnbGF5LT5hZGRNdWx0aUNlbGxXaWRnZXQoIG1JZGVu dGl0eS5zaWduYXR1cmVUZXh0UmFkaW8sIDEyLCAxMiwgMCwgMiApOwogCiAgIG1JZGVudGl0eS5z aWduYXR1cmVUZXh0RWRpdCA9IG5ldyBRTXVsdGlMaW5lRWRpdCggcGFnZSApOwogICBtSWRlbnRp dHkuc2lnbmF0dXJlVGV4dEVkaXQtPnNldFRleHQoIkRvZXMgbm90IHdvcmsgeWV0Iik7Ci0gIGds YXktPmFkZE11bHRpQ2VsbFdpZGdldCggbUlkZW50aXR5LnNpZ25hdHVyZVRleHRFZGl0LCAxMiwg MTIsIDAsIDIgKTsKKyAgZ2xheS0+YWRkTXVsdGlDZWxsV2lkZ2V0KCBtSWRlbnRpdHkuc2lnbmF0 dXJlVGV4dEVkaXQsIDEzLCAxMywgMCwgMiApOwogfQogCiAKQEAgLTE1OTUsMTQgKzE2MDMsMTgg QEAKICAgc2V0dXBNaXNjUGFnZSgpOwogfQogCi0KLQogdm9pZCBDb25maWd1cmVEaWFsb2c6OnNl dHVwSWRlbnRpdHlQYWdlKCB2b2lkICkKIHsKICAgbUlkZW50aXR5TGlzdC5pbXBvcnREYXRhKCk7 CiAgIG1JZGVudGl0eS5pZGVudGl0eUNvbWJvLT5jbGVhcigpOwogICBtSWRlbnRpdHkuaWRlbnRp dHlDb21iby0+aW5zZXJ0U3RyaW5nTGlzdCggbUlkZW50aXR5TGlzdC5pZGVudGl0aWVzKCkgKTsK ICAgbUlkZW50aXR5Lm1BY3RpdmVJZGVudGl0eSA9ICIiOworICAvLyBwb3B1bGF0ZSBmY2MgZm9s ZGVyIGxpc3QKKyAgUVN0cmluZ0xpc3QgbmFtZXM7CisgIFFWYWx1ZUxpc3Q8UUd1YXJkZWRQdHI8 S01Gb2xkZXI+ID4gZm9sZGVyczsKKyAga2VybmVsLT5mb2xkZXJNZ3IoKS0+Y3JlYXRlSTE4bkZv bGRlckxpc3QoJm5hbWVzLCAmZm9sZGVycyk7CisgIG1JZGVudGl0eS5mY2NDb21iby0+aW5zZXJ0 U3RyaW5nTGlzdChuYW1lcyk7CisKICAgc2xvdElkZW50aXR5U2VsZWN0b3JDaGFuZ2VkKCk7IC8v IFRoaXMgd2lsbCB0cmlnZ2VyIGFuIHVwZGF0ZQogfQogCkBAIC0yNTA3LDYgKzI1MTksNyBAQAog ICAgIGVudHJ5LT5zZXRVc2VTaWduYXR1cmVGaWxlKCBtSWRlbnRpdHkuc2lnbmF0dXJlRmlsZVJh ZGlvLT5pc0NoZWNrZWQoKSApOwogICAgIGVudHJ5LT5zZXRUcmFuc3BvcnQoIChtSWRlbnRpdHku dHJhbnNwb3J0Q2hlY2stPmlzQ2hlY2tlZCgpKSA/CiAgICAgICBtSWRlbnRpdHkudHJhbnNwb3J0 Q29tYm8tPmN1cnJlbnRUZXh0KCkgOiBRU3RyaW5nOjpudWxsICk7CisgICAgZW50cnktPnNldEZj YyggbUlkZW50aXR5LmZjY0NvbWJvLT5jdXJyZW50VGV4dCgpICk7CiAgIH0KIH0KIApAQCAtMjU0 Myw3ICsyNTU2LDEzIEBACiAgICAgdXNlU2lnbmF0dXJlRmlsZSA9IHRydWU7CiAgICAgbUlkZW50 aXR5LnRyYW5zcG9ydENoZWNrLT5zZXRDaGVja2VkKCBmYWxzZSApOwogICAgIG1JZGVudGl0eS50 cmFuc3BvcnRDb21iby0+c2V0RWRpdFRleHQoIFFTdHJpbmc6Om51bGwgKTsKKyAgICBmb3IgKGlu dCBpPTA7IGkgPCBtSWRlbnRpdHkuZmNjQ29tYm8tPmNvdW50KCk7ICsraSkKKyAgICAgIGlmICht SWRlbnRpdHkuZmNjQ29tYm8tPnRleHQoaSkgPT0ga2VybmVsLT5zZW50Rm9sZGVyKCktPmxhYmVs KCkpCisgICAgICB7CisgICAgICAgICAgbUlkZW50aXR5LmZjY0NvbWJvLT5zZXRDdXJyZW50SXRl bShpKTsKKyAgICAgICAgICBicmVhazsKICAgfQorICB9CiAgIGVsc2UKICAgewogICAgIG1JZGVu dGl0eS5uYW1lRWRpdC0+c2V0VGV4dCggZW50cnktPmZ1bGxOYW1lKCkgKTsKQEAgLTI1NTgsNyAr MjU3NywxMyBAQAogICAgIG1JZGVudGl0eS50cmFuc3BvcnRDaGVjay0+c2V0Q2hlY2tlZCghZW50 cnktPnRyYW5zcG9ydCgpLmlzRW1wdHkoKSk7CiAgICAgbUlkZW50aXR5LnRyYW5zcG9ydENvbWJv LT5zZXRFZGl0VGV4dChlbnRyeS0+dHJhbnNwb3J0KCkpOwogICAgIG1JZGVudGl0eS50cmFuc3Bv cnRDb21iby0+c2V0RW5hYmxlZCghZW50cnktPnRyYW5zcG9ydCgpLmlzRW1wdHkoKSk7CisgICAg Zm9yIChpbnQgaT0wOyBpIDwgbUlkZW50aXR5LmZjY0NvbWJvLT5jb3VudCgpOyArK2kpCisgICAg ICBpZiAobUlkZW50aXR5LmZjY0NvbWJvLT50ZXh0KGkpLnN0cmlwV2hpdGVTcGFjZSgpID09IGVu dHJ5LT5mY2MoKSkKKyAgICAgIHsKKyAgICAgICAgICBtSWRlbnRpdHkuZmNjQ29tYm8tPnNldEN1 cnJlbnRJdGVtKGkpOworICAgICAgICAgIGJyZWFrOwogICB9CisgIH0KIAogICBpZiggdXNlU2ln bmF0dXJlRmlsZSA9PSB0cnVlICkKICAgewpAQCAtMzcwMiw2ICszNzI3LDExIEBACiAgIHJldHVy biAoIG1UcmFuc3BvcnQgKTsKIH0KIAorUVN0cmluZyBJZGVudGl0eUVudHJ5OjpmY2MoKSBjb25z dAoreworICByZXR1cm4gKCBtRmNjICk7Cit9CisKIAogdm9pZCBJZGVudGl0eUVudHJ5OjpzZXRJ ZGVudGl0eSggY29uc3QgUVN0cmluZyAmaWRlbnRpdHkgKQogewpAQCAtMzc3NSw2ICszODA1LDEw IEBACiAgIG1UcmFuc3BvcnQgPSB0cmFuc3BvcnQ7CiB9CiAKK3ZvaWQgSWRlbnRpdHlFbnRyeTo6 c2V0RmNjKCBjb25zdCBRU3RyaW5nICZmY2MgKQoreworICBtRmNjID0gZmNjLnN0cmlwV2hpdGVT cGFjZSgpOworfQogCiAKIElkZW50aXR5TGlzdDo6SWRlbnRpdHlMaXN0KCkKQEAgLTM4NDQsNiAr Mzg3OCw3IEBACiAgICAgZW50cnkuc2V0U2lnbmF0dXJlSW5saW5lVGV4dCggaWRlbnQuc2lnbmF0 dXJlSW5saW5lVGV4dCgpICk7CiAgICAgZW50cnkuc2V0VXNlU2lnbmF0dXJlRmlsZSggaWRlbnQu dXNlU2lnbmF0dXJlRmlsZSgpICk7CiAgICAgZW50cnkuc2V0VHJhbnNwb3J0KGlkZW50LnRyYW5z cG9ydCgpKTsKKyAgICBlbnRyeS5zZXRGY2MoaWRlbnQuZmNjKCkpOwogICAgIGFkZCggZW50cnkg KTsKICAgfQogfQpAQCAtMzg2NCw2ICszODk5LDcgQEAKICAgICBpZGVudC5zZXRTaWduYXR1cmVG aWxlKCBlLT5zaWduYXR1cmVGaWxlTmFtZSh0cnVlKSApOwogICAgIGlkZW50LnNldFNpZ25hdHVy ZUlubGluZVRleHQoIGUtPnNpZ25hdHVyZUlubGluZVRleHQoKSApOwogICAgIGlkZW50LnNldFRy YW5zcG9ydCggZS0+dHJhbnNwb3J0KCkgKTsKKyAgICBpZGVudC5zZXRGY2MoIGUtPmZjYygpICk7 CiAgICAgaWRlbnQud3JpdGVDb25maWcoZmFsc2UpOwogICAgIGlkcy5hcHBlbmQoIGUtPmlkZW50 aXR5KCkgKTsKICAgfQpJbmRleDogY29uZmlndXJlZGlhbG9nLmgKPT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpSQ1MgZmls ZTogL2hvbWUva2RlL2tkZW5ldHdvcmsva21haWwvY29uZmlndXJlZGlhbG9nLmgsdgpyZXRyaWV2 aW5nIHJldmlzaW9uIDEuNTIKZGlmZiAtdSAtYiAtdCAtcjEuNTIgY29uZmlndXJlZGlhbG9nLmgK LS0tIGNvbmZpZ3VyZWRpYWxvZy5oCTIwMDEvMDkvMjAgMTQ6MTE6NDQJMS41MgorKysgY29uZmln dXJlZGlhbG9nLmgJMjAwMS8xMC8yMSAxOToyNzoxNQpAQCAtMTIwLDYgKzEyMCw3IEBACiAgICAg Ym9vbCAgICBzaWduYXR1cmVGaWxlSXNBUHJvZ3JhbSgpIGNvbnN0OwogICAgIGJvb2wgICAgdXNl U2lnbmF0dXJlRmlsZSgpIGNvbnN0OwogICAgIFFTdHJpbmcgdHJhbnNwb3J0KCkgY29uc3Q7Cisg ICAgUVN0cmluZyBmY2MoKSBjb25zdDsKIAogICAgIHZvaWQgc2V0SWRlbnRpdHkoIGNvbnN0IFFT dHJpbmcgJmlkZW50aXR5ICk7CiAgICAgdm9pZCBzZXRGdWxsTmFtZSggY29uc3QgUVN0cmluZyAm ZnVsbE5hbWUgKTsKQEAgLTEzMyw2ICsxMzQsNyBAQAogICAgIHZvaWQgc2V0U2lnbmF0dXJlRmls ZUlzQVByb2dyYW0oIGJvb2wgc2lnbmF0dXJlRmlsZUlzQVByb2dyYW0gKTsKICAgICB2b2lkIHNl dFVzZVNpZ25hdHVyZUZpbGUoIGJvb2wgdXNlU2lnbmF0dXJlRmlsZSApOwogICAgIHZvaWQgc2V0 VHJhbnNwb3J0KGNvbnN0IFFTdHJpbmcgJnRyYW5zcG9ydCk7CisgICAgdm9pZCBzZXRGY2MoIGNv bnN0IFFTdHJpbmcgJmZjYyApOwogCiAgIHByaXZhdGU6CiAgICAgUVN0cmluZyBtSWRlbnRpdHk7 CkBAIC0xNDYsNiArMTQ4LDcgQEAKICAgICBib29sICAgIG1TaWduYXR1cmVGaWxlSXNBUHJvZ3Jh bTsKICAgICBib29sICAgIG1Vc2VTaWduYXR1cmVGaWxlOwogICAgIFFTdHJpbmcgbVRyYW5zcG9y dDsKKyAgICBRU3RyaW5nIG1GY2M7CiB9OwogCiAKQEAgLTI2MSw2ICsyNjQsNyBAQAogICAgICAg UUxpbmVFZGl0ICAgICAgKnBncElkZW50aXR5RWRpdDsKICAgICAgIFFDaGVja0JveCAgICAgICp0 cmFuc3BvcnRDaGVjazsKICAgICAgIFFDb21ib0JveCAgICAgICp0cmFuc3BvcnRDb21ibzsKKyAg ICAgIFFDb21ib0JveCAgICAgICpmY2NDb21ibzsKICAgICAgIEtVUkxSZXF1ZXN0ZXIgICpzaWdu YXR1cmVGaWxlRWRpdDsKICAgICAgIFFMYWJlbCAgICAgICAgICpzaWduYXR1cmVGaWxlTGFiZWw7 CiAgICAgICBRQ2hlY2tCb3ggICAgICAqc2lnbmF0dXJlRXhlY0NoZWNrOwpJbmRleDoga21jb21w b3NlcnVpLnJjCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KUkNTIGZpbGU6IC9ob21lL2tkZS9rZGVuZXR3b3JrL2ttYWls L2ttY29tcG9zZXJ1aS5yYyx2CnJldHJpZXZpbmcgcmV2aXNpb24gMS4xMgpkaWZmIC11IC1iIC10 IC1yMS4xMiBrbWNvbXBvc2VydWkucmMKLS0tIGttY29tcG9zZXJ1aS5yYwkyMDAwLzExLzE2IDE3 OjE1OjI3CTEuMTIKKysrIGttY29tcG9zZXJ1aS5yYwkyMDAxLzEwLzIxIDE5OjI3OjE1CkBAIC00 Myw2ICs0Myw3IEBACiAgICA8QWN0aW9uIG5hbWU9InNob3dfdG8iIC8+CiAgICA8QWN0aW9uIG5h bWU9InNob3dfY2MiIC8+CiAgICA8QWN0aW9uIG5hbWU9InNob3dfYmNjIiAvPgorICAgPEFjdGlv biBuYW1lPSJzaG93X2ZjYyIgLz4KICAgIDxBY3Rpb24gbmFtZT0ic2hvd19zdWJqZWN0IiAvPgog ICA8L01lbnU+CiAgIDxNZW51IG5hbWU9ImF0dGFjaCIgPgpJbmRleDoga21jb21wb3Nld2luLmNw cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09ClJDUyBmaWxlOiAvaG9tZS9rZGUva2RlbmV0d29yay9rbWFpbC9rbWNvbXBv c2V3aW4uY3BwLHYKcmV0cmlldmluZyByZXZpc2lvbiAxLjQwNApkaWZmIC11IC1iIC10IC1yMS40 MDQga21jb21wb3Nld2luLmNwcAotLS0ga21jb21wb3Nld2luLmNwcAkyMDAxLzEwLzIwIDEwOjI2 OjQyCTEuNDA0CisrKyBrbWNvbXBvc2V3aW4uY3BwCTIwMDEvMTAvMjEgMTk6Mjc6MTYKQEAgLTE2 LDYgKzE2LDcgQEAKICNpbmNsdWRlICJrbWFkZHJib29rZGxnLmgiCiAjaW5jbHVkZSAia21hZGRy Ym9vay5oIgogI2luY2x1ZGUgImttZm9sZGVyLmgiCisjaW5jbHVkZSAia21mb2xkZXJtZ3IuaCIK ICNpbmNsdWRlICJrbXRyYW5zcG9ydC5oIgogCiAjaW5jbHVkZSA8a2FjdGlvbi5oPgpAQCAtNzUs NiArNzYsNyBAQAogICBtRWR0VG8gPSBuZXcgS01MaW5lRWRpdCh0aGlzLHRydWUsbU1haW5XaWRn ZXQpOwogICBtRWR0Q2MgPSBuZXcgS01MaW5lRWRpdCh0aGlzLHRydWUsbU1haW5XaWRnZXQpOwog ICBtRWR0QmNjID0gbmV3IEtNTGluZUVkaXQodGhpcyx0cnVlLG1NYWluV2lkZ2V0KTsKKyAgbUZj YyA9IG5ldyBRQ29tYm9Cb3gobU1haW5XaWRnZXQpOwogICBtRWR0U3ViamVjdCA9IG5ldyBLTUxp bmVFZGl0KHRoaXMsZmFsc2UsbU1haW5XaWRnZXQsICJzdWJqZWN0TGluZSIpOwogICBtTGJsSWRl bnRpdHkgPSBuZXcgUUxhYmVsKG1NYWluV2lkZ2V0KTsKICAgbUxibFRyYW5zcG9ydCA9IG5ldyBR TGFiZWwobU1haW5XaWRnZXQpOwpAQCAtODMsOSArODUsMTEgQEAKICAgbUxibFRvID0gbmV3IFFM YWJlbChtTWFpbldpZGdldCk7CiAgIG1MYmxDYyA9IG5ldyBRTGFiZWwobU1haW5XaWRnZXQpOwog ICBtTGJsQmNjID0gbmV3IFFMYWJlbChtTWFpbldpZGdldCk7CisgIG1MYmxGY2MgPSBuZXcgUUxh YmVsKG1NYWluV2lkZ2V0KTsKICAgbUxibFN1YmplY3QgPSBuZXcgUUxhYmVsKG1NYWluV2lkZ2V0 KTsKICAgbUJ0bklkZW50aXR5ID0gbmV3IFFDaGVja0JveChpMThuKCJTdGlja3kiKSxtTWFpbldp ZGdldCk7CiAgIG1CdG5UcmFuc3BvcnQgPSBuZXcgUUNoZWNrQm94KGkxOG4oIlN0aWNreSIpLG1N YWluV2lkZ2V0KTsKKyAgbUJ0bkZjYyA9IG5ldyBRQ2hlY2tCb3goaTE4bigiU3RpY2t5IiksbU1h aW5XaWRnZXQpOwogICBtQnRuVG8gPSBuZXcgUVB1c2hCdXR0b24oIi4uLiIsbU1haW5XaWRnZXQp OwogICBtQnRuQ2MgPSBuZXcgUVB1c2hCdXR0b24oIi4uLiIsbU1haW5XaWRnZXQpOwogICBtQnRu QmNjID0gbmV3IFFQdXNoQnV0dG9uKCIuLi4iLG1NYWluV2lkZ2V0KTsKQEAgLTExOSw2ICsxMjMs NyBAQAogICBtQnRuQmNjLT5zZXRGb2N1c1BvbGljeShRV2lkZ2V0OjpOb0ZvY3VzKTsKICAgbUJ0 bkZyb20tPnNldEZvY3VzUG9saWN5KFFXaWRnZXQ6Ok5vRm9jdXMpOwogICBtQnRuUmVwbHlUby0+ c2V0Rm9jdXNQb2xpY3koUVdpZGdldDo6Tm9Gb2N1cyk7CisgIG1GY2MtPnNldEZvY3VzUG9saWN5 KFFXaWRnZXQ6Ok5vRm9jdXMpOwogCiAgIG1BdG1MaXN0Qm94ID0gbmV3IFFMaXN0VmlldyhtTWFp bldpZGdldCwgIm1BdG1MaXN0Qm94Iik7CiAgIG1BdG1MaXN0Qm94LT5zZXRGb2N1c1BvbGljeShR V2lkZ2V0OjpOb0ZvY3VzKTsKQEAgLTI1MSw3ICsyNTYsNiBAQAogICBtRWRpdG9yLT5zZXRUZXh0 KGJvZHkpOwogfQogCi0KIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIGJvb2wgS01Db21wb3NlV2lu OjpldmVudChRRXZlbnQgKmUpCiB7CkBAIC0zMzEsNiArMzM1LDEwIEBACiAgIG1CdG5JZGVudGl0 eS0+c2V0Q2hlY2tlZChjb25maWctPnJlYWRCb29sRW50cnkoInN0aWNreS1pZGVudGl0eSIsIGZh bHNlKSk7CiAgIGlmIChtQnRuSWRlbnRpdHktPmlzQ2hlY2tlZCgpKQogICAgIG1JZCA9IGNvbmZp Zy0+cmVhZEVudHJ5KCJwcmV2aW91cy1pZGVudGl0eSIsIG1JZCApOworICBtQnRuRmNjLT5zZXRD aGVja2VkKGNvbmZpZy0+cmVhZEJvb2xFbnRyeSgic3RpY2t5LWZjYyIsIGZhbHNlKSk7CisgIFFT dHJpbmcgcHJldmlvdXNGY2MgPSBrZXJuZWwtPnNlbnRGb2xkZXIoKS0+bGFiZWwoKTsKKyAgaWYg KG1CdG5GY2MtPmlzQ2hlY2tlZCgpKQorICAgIHByZXZpb3VzRmNjID0gY29uZmlnLT5yZWFkRW50 cnkoInByZXZpb3VzLWZjYyIsIHByZXZpb3VzRmNjICk7CiAgIG1CdG5UcmFuc3BvcnQtPnNldENo ZWNrZWQoY29uZmlnLT5yZWFkQm9vbEVudHJ5KCJzdGlja3ktdHJhbnNwb3J0IiwgZmFsc2UpKTsK ICAgbVRyYW5zcG9ydEhpc3RvcnkgPSBjb25maWctPnJlYWRMaXN0RW50cnkoInRyYW5zcG9ydC1o aXN0b3J5Iik7CiAgIFFTdHJpbmcgY3VycmVudFRyYW5zcG9ydCA9IGNvbmZpZy0+cmVhZEVudHJ5 KCJjdXJyZW50LXRyYW5zcG9ydCIpOwpAQCAtNDE3LDkgKzQyNSwzMiBAQAogICBtVHJhbnNwb3J0 LT5pbnNlcnRTdHJpbmdMaXN0KCBtVHJhbnNwb3J0SGlzdG9yeSApOwogICBpZiAobUJ0blRyYW5z cG9ydC0+aXNDaGVja2VkKCkgJiYgIWN1cnJlbnRUcmFuc3BvcnQuaXNFbXB0eSgpKQogICAgIG1U cmFuc3BvcnQtPnNldEVkaXRUZXh0KCBjdXJyZW50VHJhbnNwb3J0ICk7Ci19CiAKKyAgUVN0cmlu Z0xpc3QgbmFtZXM7CisgIFFWYWx1ZUxpc3Q8UUd1YXJkZWRQdHI8S01Gb2xkZXI+ID4gZm9sZGVy czsKKyAga2VybmVsLT5mb2xkZXJNZ3IoKS0+Y3JlYXRlSTE4bkZvbGRlckxpc3QoJm5hbWVzLCAm Zm9sZGVycyk7CisgIG1GY2MtPmluc2VydFN0cmluZ0xpc3QobmFtZXMpOworCisgIGlmICggIW1C dG5GY2MtPmlzQ2hlY2tlZCgpICkKKyAgeworICAgICAga2REZWJ1Zyg1MDA2KSA8PCAiS01Db21w b3NlV2luOjpyZWFkQ29uZmlnLiAiIDw8IG1JZGVudGl0eS0+Y3VycmVudFRleHQoKSA8PCBlbmRs OworICAgICAgS01JZGVudGl0eSBpKCBtSWRlbnRpdHktPmN1cnJlbnRUZXh0KCkgKTsKKyAgICAg IGtkRGVidWcoNTAwNikgPDwgIktNQ29tcG9zZVdpbjo6cmVhZENvbmZpZzogaWRlbnRpdHkuZmNj KCk9JyIgPDwgaS5mY2MoKSA8PCAiJyIgPDwgZW5kbDsKKyAgICAgIGkucmVhZENvbmZpZygpOwor ICAgICAgaWYgKCBpLmZjYygpLmlzRW1wdHkoKSApCisgICAgICAgICAgaS5zZXRGY2MoIGtlcm5l bC0+c2VudEZvbGRlcigpLT5sYWJlbCgpICk7CisgICAgICBwcmV2aW91c0ZjYyA9IGkuZmNjKCk7 CisgICAgICBrZERlYnVnKCkgPDwgIktNQ29tcG9zZVdpbjo6cmVhZENvbmZpZzogcHJldmlvdXNG Y2M9IiA8PCBwcmV2aW91c0ZjYyA8PCAgZW5kbDsKKyAgfQogCisgIGZvciAoaW50IGk9MDsgaSA8 IG1GY2MtPmNvdW50KCk7ICsraSkKKyAgICAgIGlmIChtRmNjLT50ZXh0KGkpID09IHByZXZpb3Vz RmNjKQorICAgICAgeworICAgICAgICAgIG1GY2MtPnNldEN1cnJlbnRJdGVtKGkpOworICAgICAg ICAgIGJyZWFrOworICAgICAgfQorfQorCiAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiB2b2lkIEtN Q29tcG9zZVdpbjo6d3JpdGVDb25maWcodm9pZCkKIHsKQEAgLTUxNCw2ICs1NDUsOCBAQAogICAg IGlkID0gSERSX0JDQzsKICAgZWxzZSBpZiAoYWN0ID09IHN1YmplY3RBY3Rpb24pCiAgICAgaWQg PSBIRFJfU1VCSkVDVDsKKyAgZWxzZSBpZiAoYWN0ID09IGZjY0FjdGlvbikKKyAgICBpZCA9IEhE Ul9GQ0M7CiAgICBlbHNlCiAgICB7CiAgICAgIGlkID0gMDsKQEAgLTU4OSw2ICs2MjIsOSBAQAog ICBpZiAoIWZyb21TbG90KSBiY2NBY3Rpb24tPnNldENoZWNrZWQoYWJzKG1TaG93SGVhZGVycykm SERSX0JDQyk7CiAgIHJldGhpbmtIZWFkZXJMaW5lKHNob3dIZWFkZXJzLEhEUl9CQ0MsIHJvdywg aTE4bigiJkJjYzoiKSwKICAgICAgICAgICAgICAgICAgICAgbUxibEJjYywgbUVkdEJjYywgbUJ0 bkJjYyk7CisgIGlmICghZnJvbVNsb3QpIGZjY0FjdGlvbi0+c2V0Q2hlY2tlZChhYnMobVNob3dI ZWFkZXJzKSZIRFJfRkNDKTsKKyAgcmV0aGlua0hlYWRlckxpbmUoc2hvd0hlYWRlcnMsSERSX0ZD Qywgcm93LCBpMThuKCImRmNjOiIpLAorICAgICAgICAgICAgICAgICAgICBtTGJsRmNjLCBtRmNj LCBtQnRuRmNjKTsKICAgaWYgKCFmcm9tU2xvdCkgc3ViamVjdEFjdGlvbi0+c2V0Q2hlY2tlZChh YnMobVNob3dIZWFkZXJzKSZIRFJfU1VCSkVDVCk7CiAgIHJldGhpbmtIZWFkZXJMaW5lKHNob3dI ZWFkZXJzLEhEUl9TVUJKRUNULCByb3csIGkxOG4oIlMmdWJqZWN0OiIpLAogICAgICAgICAgICAg ICAgICAgICBtTGJsU3ViamVjdCwgbUVkdFN1YmplY3QpOwpAQCAtNjExLDYgKzY0Nyw3IEBACiAg IHRvQWN0aW9uLT5zZXRFbmFibGVkKCFhbGxGaWVsZHNBY3Rpb24tPmlzQ2hlY2tlZCgpKTsKICAg Y2NBY3Rpb24tPnNldEVuYWJsZWQoIWFsbEZpZWxkc0FjdGlvbi0+aXNDaGVja2VkKCkpOwogICBi Y2NBY3Rpb24tPnNldEVuYWJsZWQoIWFsbEZpZWxkc0FjdGlvbi0+aXNDaGVja2VkKCkpOworICBm Y2NBY3Rpb24tPnNldEVuYWJsZWQoIWFsbEZpZWxkc0FjdGlvbi0+aXNDaGVja2VkKCkpOwogICBz dWJqZWN0QWN0aW9uLT5zZXRFbmFibGVkKCFhbGxGaWVsZHNBY3Rpb24tPmlzQ2hlY2tlZCgpKTsK IH0KIApAQCAtNzk4LDYgKzgzNSw5IEBACiAgIGJjY0FjdGlvbiA9IG5ldyBLVG9nZ2xlQWN0aW9u IChpMThuKCImQmNjIiksIDAsIHRoaXMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBTTE9UKHNsb3RWaWV3KCkpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWN0 aW9uQ29sbGVjdGlvbigpLCAic2hvd19iY2MiKTsKKyAgZmNjQWN0aW9uID0gbmV3IEtUb2dnbGVB Y3Rpb24gKGkxOG4oIiZGY2MiKSwgMCwgdGhpcywKKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIFNMT1Qoc2xvdFZpZXcoKSksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBhY3Rpb25Db2xsZWN0aW9uKCksICJzaG93X2ZjYyIpOwogICBzdWJqZWN0QWN0aW9uID0gbmV3 IEtUb2dnbGVBY3Rpb24gKGkxOG4oIiZTdWJqZWN0IiksIDAsIHRoaXMsCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgU0xPVChzbG90VmlldygpKSwKICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBhY3Rpb25Db2xsZWN0aW9uKCksICJzaG93X3N1YmplY3Qi KTsKQEAgLTExMTYsNiArMTE1NiwxNCBAQAogICBtTXNnLT5zZXRSZXBseVRvKHJlcGx5VG8oKSk7 CiAgIG1Nc2ctPnNldEJjYyhiY2MoKSk7CiAKKyAgS01JZGVudGl0eSBpZCggbUlkZW50aXR5LT5j dXJyZW50VGV4dCgpICk7CisgIGlkLnJlYWRDb25maWcoKTsKKyAga2REZWJ1ZygpIDw8ICJLTUNv bXBvc2VXaW46OmFwcGx5Q2hhbmdlczogIiA8PCBtRmNjLT5jdXJyZW50VGV4dCgpIDw8ICI9PSIg PDwgaWQuZmNjKCkgPDwgIj8iIDw8IGVuZGw7CisgIGlmICggbUZjYy0+Y3VycmVudFRleHQoKS5z dHJpcFdoaXRlU3BhY2UoKSA9PSBpZC5mY2MoKSApCisgICAgICBtTXNnLT5zZXRGY2MoIFFTdHJp bmc6Om51bGwgKTsKKyAgZWxzZQorICAgICAgbU1zZy0+c2V0RmNjKG1GY2MtPmN1cnJlbnRUZXh0 KCkpOworCiAgIGlmIChtSWRlbnRpdHktPmN1cnJlbnRUZXh0KCkgPT0gaTE4bigiRGVmYXVsdCIp KQogICAgIG1Nc2ctPnJlbW92ZUhlYWRlckZpZWxkKCJYLUtNYWlsLUlkZW50aXR5Iik7CiAgIGVs c2UgbU1zZy0+c2V0SGVhZGVyRmllbGQoIlgtS01haWwtSWRlbnRpdHkiLCBtSWRlbnRpdHktPmN1 cnJlbnRUZXh0KCkpOwpAQCAtMjM3OSw2ICsyNDI3LDE5IEBACiAgICAgICBtVHJhbnNwb3J0LT5p bnNlcnRJdGVtKHRyYW5zcCxpKTsKICAgICAgIG1UcmFuc3BvcnQtPnNldEN1cnJlbnRJdGVtKGkp OwogICAgIH0KKyAgfQorCisgIGlmICggIW1CdG5GY2MtPmlzQ2hlY2tlZCgpICkKKyAgeworICAg ICAgaWYgKCBpZGVudC5mY2MoKS5pc0VtcHR5KCkgKQorICAgICAgICAgIGlkZW50LnNldEZjYygg a2VybmVsLT5zZW50Rm9sZGVyKCktPmxhYmVsKCkgKTsKKworICAgICAgZm9yICggaW50IGkgPSAw OyBpIDwgbUZjYy0+Y291bnQoKTsgKytpICkKKyAgICAgICAgICBpZiAoIG1GY2MtPnRleHQoaSkg PT0gaWRlbnQuZmNjKCkgKQorICAgICAgICAgIHsKKyAgICAgICAgICAgICAgbUZjYy0+c2V0Q3Vy cmVudEl0ZW0oIGkgKTsKKyAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgfQogICB9CiAK ICAgaWYgKCgocG9zID49IDApICYmIChwb3MgKyBtT2xkU2lnVGV4dC5sZW5ndGgoKSArIDUgPT0g ZWR0VGV4dC5sZW5ndGgoKSkpIHx8CkluZGV4OiBrbWNvbXBvc2V3aW4uaAo9PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJD UyBmaWxlOiAvaG9tZS9rZGUva2RlbmV0d29yay9rbWFpbC9rbWNvbXBvc2V3aW4uaCx2CnJldHJp ZXZpbmcgcmV2aXNpb24gMS4xMjgKZGlmZiAtdSAtYiAtdCAtcjEuMTI4IGttY29tcG9zZXdpbi5o Ci0tLSBrbWNvbXBvc2V3aW4uaAkyMDAxLzEwLzIwIDA5OjQ2OjQ0CTEuMTI4CisrKyBrbWNvbXBv c2V3aW4uaAkyMDAxLzEwLzIxIDE5OjI3OjE2CkBAIC00NzksMTEgKzQ3OSwxMSBAQAogCiBwcm90 ZWN0ZWQ6CiAgIFFXaWRnZXQgICAqbU1haW5XaWRnZXQ7Ci0gIFFDb21ib0JveCAqbUlkZW50aXR5 LCAqbVRyYW5zcG9ydDsKKyAgUUNvbWJvQm94ICptSWRlbnRpdHksICptVHJhbnNwb3J0LCAqbUZj YzsKICAgS01MaW5lRWRpdCAqbUVkdEZyb20sICptRWR0UmVwbHlUbywgKm1FZHRUbywgKm1FZHRD YywgKm1FZHRCY2MsICptRWR0U3ViamVjdDsKLSAgUUxhYmVsICAgICptTGJsSWRlbnRpdHksICpt TGJsVHJhbnNwb3J0OworICBRTGFiZWwgICAgKm1MYmxJZGVudGl0eSwgKm1MYmxUcmFuc3BvcnQs ICptTGJsRmNjOwogICBRTGFiZWwgICAgKm1MYmxGcm9tLCAqbUxibFJlcGx5VG8sICptTGJsVG8s ICptTGJsQ2MsICptTGJsQmNjLCAqbUxibFN1YmplY3Q7Ci0gIFFDaGVja0JveCAqbUJ0bklkZW50 aXR5LCAqbUJ0blRyYW5zcG9ydDsKKyAgUUNoZWNrQm94ICptQnRuSWRlbnRpdHksICptQnRuVHJh bnNwb3J0LCAqbUJ0bkZjYzsKICAgUVB1c2hCdXR0b24gKm1CdG5UbywgKm1CdG5DYywgKm1CdG5C Y2MsICptQnRuRnJvbSwgKm1CdG5SZXBseVRvOwogICBib29sIG1TcGVsbENoZWNrSW5Qcm9ncmVz czsKICAgYm9vbCBtRG9uZTsKQEAgLTUyMCw3ICs1MjAsNyBAQAogICBLVG9nZ2xlQWN0aW9uICpz aWduQWN0aW9uLCAqZW5jcnlwdEFjdGlvbiwgKmNvbmZpcm1EZWxpdmVyeUFjdGlvbjsKICAgS1Rv Z2dsZUFjdGlvbiAqY29uZmlybVJlYWRBY3Rpb24sICp1cmdlbnRBY3Rpb24sICphbGxGaWVsZHNB Y3Rpb24sICpmcm9tQWN0aW9uOwogICBLVG9nZ2xlQWN0aW9uICpyZXBseVRvQWN0aW9uLCAqdG9B Y3Rpb24sICpjY0FjdGlvbiwgKmJjY0FjdGlvbiwgKnN1YmplY3RBY3Rpb247Ci0gIEtUb2dnbGVB Y3Rpb24gKmlkZW50aXR5QWN0aW9uLCAqdHJhbnNwb3J0QWN0aW9uOworICBLVG9nZ2xlQWN0aW9u ICppZGVudGl0eUFjdGlvbiwgKnRyYW5zcG9ydEFjdGlvbiwgKmZjY0FjdGlvbjsKICAgS1RvZ2ds ZUFjdGlvbiAqdG9vbGJhckFjdGlvbiwgKnN0YXR1c2JhckFjdGlvbjsKICAgS1RvZ2dsZUFjdGlv biAqd29yZFdyYXBBY3Rpb247CiAKSW5kZXg6IGttZmlsdGVyYWN0aW9uLmNwcAo9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 ClJDUyBmaWxlOiAvaG9tZS9rZGUva2RlbmV0d29yay9rbWFpbC9rbWZpbHRlcmFjdGlvbi5jcHAs dgpyZXRyaWV2aW5nIHJldmlzaW9uIDEuNjUKZGlmZiAtdSAtYiAtdCAtcjEuNjUga21maWx0ZXJh Y3Rpb24uY3BwCi0tLSBrbWZpbHRlcmFjdGlvbi5jcHAJMjAwMS8xMC8xMSAxNDoxNDo1OQkxLjY1 CisrKyBrbWZpbHRlcmFjdGlvbi5jcHAJMjAwMS8xMC8yMSAxOToyNzoxNgpAQCAtMTAxMyw2ICsx MDEzLDE1IEBACiAgIGlmICggIW1Gb2xkZXIgKQogICAgIHJldHVybiBFcnJvckJ1dEdvT247CiAK KyAga2REZWJ1Zyg1MDA2KSA8PCAiS01GaWx0ZXJBY3Rpb25Nb3ZlOjpwcm9jZXNzOiBtc2ctPmZj YygpID09ICIgPDwgbXNnLT5mY2MoKSA8PCBlbmRsOworCisgIC8vIElmIHRoZSB1c2VyIGhhcyBk ZWZpbmVkIGEgc3BlY2lhbCBmb2xkZXIgdG8gRmNjIHRoZW4gd2UgaWdub3JlIGZvbGRlciBmaWx0 ZXJzLgorICBpZiAoICFtc2ctPmZjYygpLmlzRW1wdHkoKSApCisgIHsKKyAgICAgIGtkRGVidWco NTAwNikgPDwgIktNRmlsdGVyQWN0aW9uTW92ZTo6cHJvY2Vzczogd2lsbCBub3QgcHJvY2VzcyBL TUZpbHRlckFjdGlvbldpdGhGb2xkZXIiIDw8IGVuZGw7CisgICAgICByZXR1cm4gR29PbjsKKyAg fQorCiAgIEtNRmlsdGVyQWN0aW9uOjp0ZW1wT3BlbkZvbGRlciggbUZvbGRlciApOwogCiAgIGlm ICggbXNnLT5wYXJlbnQoKSApCkluZGV4OiBrbWZpbHRlcm1nci5jcHAKPT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpSQ1Mg ZmlsZTogL2hvbWUva2RlL2tkZW5ldHdvcmsva21haWwva21maWx0ZXJtZ3IuY3BwLHYKcmV0cmll dmluZyByZXZpc2lvbiAxLjMxCmRpZmYgLXUgLWIgLXQgLXIxLjMxIGttZmlsdGVybWdyLmNwcAot LS0ga21maWx0ZXJtZ3IuY3BwCTIwMDEvMTAvMTEgMTQ6MTQ6NTkJMS4zMQorKysga21maWx0ZXJt Z3IuY3BwCTIwMDEvMTAvMjEgMTk6Mjc6MTYKQEAgLTIsNyArMiwxMCBAQAogCiAjaW5jbHVkZSA8 a2FwcGxpY2F0aW9uLmg+CiAjaW5jbHVkZSA8a2RlYnVnLmg+CisjaW5jbHVkZSA8a21lc3NhZ2Vi b3guaD4KKyNpbmNsdWRlIDxrbG9jYWxlLmg+CiAKKyNpbmNsdWRlICJrbWZvbGRlcm1nci5oIgog I2luY2x1ZGUgImttZmlsdGVybWdyLmgiCiAjaW5jbHVkZSAia21maWx0ZXJkbGcuaCIKICNpbmNs dWRlICJrbW1lc3NhZ2UuaCIKQEAgLTkwLDYgKzkzLDQyIEBACiAgIGludCBzdGF0dXMgPSAtMTsK ICAgS01GaWx0ZXI6OlJldHVybkNvZGUgcmVzdWx0OwogCisgIC8vIGhlcmUgd2UgbXVzdCB0cmVh dCBYLUtNYWlsLUZjYyBvbiBvdXRnb2luZyBtZXNzYWdlcworICBpZiAoICggIW1zZy0+ZmNjKCku aXNFbXB0eSgpICkgJiYgKCBhU2V0ID09IE91dGJvdW5kICkgKQorICB7CisgICAgICBrZERlYnVn KDUwMDYpIDw8ICJLTUZpbHRlck1ncjo6cHJvY2Vzczogd2UgbXVzdCAiIDw8IG1zZy0+ZmNjKCkg PDwgIi0+bW92ZU1zZyhtc2cpIGhlcmUiIDw8IGVuZGw7CisgICAgICBRU3RyaW5nTGlzdCBuYW1l czsKKyAgICAgIFFWYWx1ZUxpc3Q8UUd1YXJkZWRQdHI8S01Gb2xkZXI+ID4gZm9sZGVyczsKKyAg ICAgIGtlcm5lbC0+Zm9sZGVyTWdyKCktPmNyZWF0ZUZvbGRlckxpc3QoICZuYW1lcywgJmZvbGRl cnMgKTsKKyAgICAgIEtNRm9sZGVyICpmID0gMDsKKyAgICAgIGZvciAoIHVuc2lnbmVkIGludCBp ID0gMDsgaSA8IGZvbGRlcnMuY291bnQoKTsgaSsrICkKKyAgICAgIHsKKyAgICAgICAgICBLTUZv bGRlciAqdG1wID0gKmZvbGRlcnMuYXQoIGkgKTsKKyAgICAgICAgICBrZERlYnVnKDUwMDYpIDw8 ICJLTUZpbHRlck1ncjo6cHJvY2VzczogIiA8PCB0bXAtPmxhYmVsKCkuc3RyaXBXaGl0ZVNwYWNl KCkgPDwgZW5kbDsKKyAgICAgICAgICBpZiAoIHRtcC0+bGFiZWwoKS5zdHJpcFdoaXRlU3BhY2Uo KSA9PSBtc2ctPmZjYygpICkKKyAgICAgICAgICB7CisgICAgICAgICAgICAgIGtkRGVidWcoNTAw NikgPDwgIktNRmlsdGVyTWdyOjpwcm9jZXNzOiBmb3VuZCBjb3JyZWN0IEZjYyBmb2xkZXIhIiA8 PCBlbmRsOworICAgICAgICAgICAgICBmID0gdG1wOworICAgICAgICAgICAgICBicmVhazsKKyAg ICAgICAgICB9CisgICAgICB9CisKKyAgICAgIGlmICggZiAhPSAwICkKKyAgICAgIHsKKyAgICAg ICAgICBrZERlYnVnKDUwMDYpIDw8ICJLTUZpbHRlck1ncjo6cHJvY2VzczogbW92aW5nIHRvICIg PDwgZi0+bGFiZWwoKSA8PCBlbmRsOworICAgICAgICAgIEtNRmlsdGVyQWN0aW9uOjp0ZW1wT3Bl bkZvbGRlciggZiApOworICAgICAgICAgIGYtPm1vdmVNc2coIG1zZyApOworICAgICAgICAgIHN0 YXR1cyA9IDA7IC8vIE1lc3NhZ2UgbW92ZWQgdG8gYSBmb2xkZXIuCisgICAgICB9CisgICAgICBl bHNlCisgICAgICB7CisgICAgICAgICAgS01lc3NhZ2VCb3g6OmluZm9ybWF0aW9uKCBOVUxMLCBp MThuKCAiQ291bGQgbm90IHNhdmUgdG8gJyUxJy4gV2lsbCBwcm9jZXNzIGZpbHRlcnMgbm9ybWFs bHkuIiApCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5hcmcoIG1zZy0+ZmNjKCkgKSAp OworICAgICAgICAgIC8vIHdlIHJlbW92ZSBYLUtNYWlsLUZjYyBzbyB0aGF0IHRoZSBmaWx0ZXIg d2lsbCB0YWtlIG92ZXIKKyAgICAgICAgICBtc2ctPnNldEZjYyggUVN0cmluZzo6bnVsbCApOwor ICAgICAgfQorICB9CisKICAgUVB0ckxpc3RJdGVyYXRvcjxLTUZpbHRlcj4gaXQoKnRoaXMpOwog ICBmb3IgKGl0LnRvRmlyc3QoKSA7ICFzdG9wSXQgJiYgaXQuY3VycmVudCgpIDsgKytpdCkKICAg ewpJbmRleDoga21nbG9iYWwuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJDUyBmaWxlOiAvaG9tZS9rZGUva2RlbmV0 d29yay9rbWFpbC9rbWdsb2JhbC5oLHYKcmV0cmlldmluZyByZXZpc2lvbiAxLjIyCmRpZmYgLXUg LWIgLXQgLXIxLjIyIGttZ2xvYmFsLmgKLS0tIGttZ2xvYmFsLmgJMjAwMS8wMi8yMyAxNDozNDo1 NQkxLjIyCisrKyBrbWdsb2JhbC5oCTIwMDEvMTAvMjEgMTk6Mjc6MTYKQEAgLTM2LDYgKzM2LDcg QEAKICNkZWZpbmUgSERSX0ZPTExPV1VQX1RPIDB4ODAKICNkZWZpbmUgSERSX0lERU5USVRZIDB4 MTAwCiAjZGVmaW5lIEhEUl9UUkFOU1BPUlQgMHgyMDAKKyNkZWZpbmUgSERSX0ZDQyAgICAgICAw eDQwMAogI2RlZmluZSBIRFJfQUxMICAgICAgMHgzZmYKIAogI2RlZmluZSBIRFJfU1RBTkRBUkQg KEhEUl9TVUJKRUNUfEhEUl9UT3xIRFJfQ0MpCkluZGV4OiBrbWlkZW50aXR5LmNwcAo9PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09ClJDUyBmaWxlOiAvaG9tZS9rZGUva2RlbmV0d29yay9rbWFpbC9rbWlkZW50aXR5LmNwcCx2 CnJldHJpZXZpbmcgcmV2aXNpb24gMS4zNgpkaWZmIC11IC1iIC10IC1yMS4zNiBrbWlkZW50aXR5 LmNwcAotLS0ga21pZGVudGl0eS5jcHAJMjAwMS8xMC8yMSAwNjo1NzozMQkxLjM2CisrKyBrbWlk ZW50aXR5LmNwcAkyMDAxLzEwLzIxIDE5OjI3OjE2CkBAIC0xMjIsNiArMTIyLDcgQEAKICAgbVNp Z25hdHVyZUZpbGUgPSBjb25maWctPnJlYWRFbnRyeSgiU2lnbmF0dXJlIEZpbGUiKTsKICAgbVVz ZVNpZ25hdHVyZUZpbGUgPSBjb25maWctPnJlYWRCb29sRW50cnkoIlVzZVNpZ25hdHVyZUZpbGUi LCBmYWxzZSk7CiAgIG1TaWduYXR1cmVJbmxpbmVUZXh0ID0gY29uZmlnLT5yZWFkRW50cnkoIklu bGluZSBTaWduYXR1cmUiKTsKKyAgbUZjYyA9IGNvbmZpZy0+cmVhZEVudHJ5KCJGY2MiKTsKICAg aWYgKG1JZGVudGl0eSA9PSBpMThuKCAiRGVmYXVsdCIgKSkKICAgICBtVHJhbnNwb3J0ID0gUVN0 cmluZzo6bnVsbDsKICAgZWxzZQpAQCAtMTQ4LDYgKzE0OSw3IEBACiAgIGNvbmZpZy0+d3JpdGVF bnRyeSgiVXNlU2lnbmF0dXJlRmlsZSIsIG1Vc2VTaWduYXR1cmVGaWxlICk7CiAgIGNvbmZpZy0+ d3JpdGVFbnRyeSgiVkNhcmRGaWxlIiwgbVZDYXJkRmlsZSk7CiAgIGNvbmZpZy0+d3JpdGVFbnRy eSgiVHJhbnNwb3J0IiwgbVRyYW5zcG9ydCk7CisgIGNvbmZpZy0+d3JpdGVFbnRyeSgiRmNjIiwg bUZjYyk7CiAKICAgaWYgKGFXaXRoU3luYykgY29uZmlnLT5zeW5jKCk7CiB9CkBAIC0yNTMsMTEg KzI1NSwxOSBAQAogICBtVXNlU2lnbmF0dXJlRmlsZSA9IGZsYWc7CiB9CiAKKwogLy8tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLQogdm9pZCBLTUlkZW50aXR5OjpzZXRUcmFuc3BvcnQoY29uc3QgUVN0cmlu ZyAmc3RyKQogewogICBtVHJhbnNwb3J0ID0gc3RyOwogfQorCisvLy0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tCit2b2lkIEtNSWRlbnRpdHk6OnNldEZjYyhjb25zdCBRU3RyaW5nICZzdHIpCit7CisgIG1G Y2MgPSBzdHI7Cit9CisKIAogLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogUVN0cmluZyBLTUlkZW50 aXR5OjpzaWduYXR1cmUodm9pZCkgY29uc3QKSW5kZXg6IGttaWRlbnRpdHkuaAo9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 ClJDUyBmaWxlOiAvaG9tZS9rZGUva2RlbmV0d29yay9rbWFpbC9rbWlkZW50aXR5LmgsdgpyZXRy aWV2aW5nIHJldmlzaW9uIDEuMTIKZGlmZiAtdSAtYiAtdCAtcjEuMTIga21pZGVudGl0eS5oCi0t LSBrbWlkZW50aXR5LmgJMjAwMS8xMC8yMSAwNjo1NzozMQkxLjEyCisrKyBrbWlkZW50aXR5LmgJ MjAwMS8xMC8yMSAxOToyNzoxNgpAQCAtOTIsOCArOTIsMTUgQEAKICAgUVN0cmluZyB0cmFuc3Bv cnQodm9pZCkgeyByZXR1cm4gbVRyYW5zcG9ydDsgfQogICB2aXJ0dWFsIHZvaWQgc2V0VHJhbnNw b3J0KGNvbnN0IFFTdHJpbmcmKTsKIAorCisgIC8qKiBUaGUgZm9sZGVyIHdoZXJlIHNlbnQgbWVz c2FnZXMgZnJvbSB0aGlzIGlkZW50aXR5IHdpbGwgYmUKKyAgICAgIHN0b3JlZCBieSBkZWZhdWx0 LiAqLworICBRU3RyaW5nIGZjYyh2b2lkKSB7IHJldHVybiBtRmNjOyB9CisgIHZpcnR1YWwgdm9p ZCBzZXRGY2MoY29uc3QgUVN0cmluZyYpOworCiBwcm90ZWN0ZWQ6CiAgIFFTdHJpbmcgbUlkZW50 aXR5LCBtRnVsbE5hbWUsIG1Pcmdhbml6YXRpb24sIG1QZ3BJZGVudGl0eSwgbUVtYWlsQWRkcjsK KyAgUVN0cmluZyBtRmNjOwogICBRU3RyaW5nIG1SZXBseVRvQWRkciwgbVNpZ25hdHVyZUZpbGU7 CiAgIFFTdHJpbmcgbVNpZ25hdHVyZUlubGluZVRleHQsIG1UcmFuc3BvcnQ7CiAgIFFTdHJpbmcg bVZDYXJkRmlsZTsKSW5kZXg6IGttbWVzc2FnZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTogL2hv bWUva2RlL2tkZW5ldHdvcmsva21haWwva21tZXNzYWdlLmNwcCx2CnJldHJpZXZpbmcgcmV2aXNp b24gMS4yMzIKZGlmZiAtdSAtYiAtdCAtcjEuMjMyIGttbWVzc2FnZS5jcHAKLS0tIGttbWVzc2Fn ZS5jcHAJMjAwMS8xMC8yMSAwNjo1NzozMQkxLjIzMgorKysga21tZXNzYWdlLmNwcAkyMDAxLzEw LzIxIDE5OjI3OjE2CkBAIC0xNTQsNiArMTU0LDcgQEAKICAgbXNnLnJlbW92ZUhlYWRlckZpZWxk KCJYLVN0YXR1cyIpOwogICBtc2cucmVtb3ZlSGVhZGVyRmllbGQoIlgtS01haWwtVHJhbnNwb3J0 Iik7CiAgIG1zZy5yZW1vdmVIZWFkZXJGaWVsZCgiWC1LTWFpbC1JZGVudGl0eSIpOworICBtc2cu cmVtb3ZlSGVhZGVyRmllbGQoIlgtS01haWwtRmNjIik7CiAgIG1zZy5yZW1vdmVIZWFkZXJGaWVs ZCgiQmNjIik7CiAgIHJldHVybiBtc2cuYXNTdHJpbmcoKTsKIH0KQEAgLTk1Miw2ICs5NTMsNyBA QAogICBib3VuY2VNc2cucmVtb3ZlSGVhZGVyRmllbGQoICJYLUtNYWlsLU1hcmsiICk7CiAgIGJv dW5jZU1zZy5yZW1vdmVIZWFkZXJGaWVsZCggIlgtS01haWwtSWRlbnRpdHkiICk7CiAgIGJvdW5j ZU1zZy5yZW1vdmVIZWFkZXJGaWVsZCggIlgtS01haWwtVHJhbnNwb3J0IiApOworICBib3VuY2VN c2cucmVtb3ZlSGVhZGVyRmllbGQoICJYLUtNYWlsLUZjYyIgKTsKICAgLy9GSVhNRSBJZiB5b3Ug a25vdyBvdGhlciBLTWFpbC1zcGVjaWZpYyBoZWFkZXJzLCBwbGVhc2UgYWRkIHRoZW0uCiAKICAg S01NZXNzYWdlICptc2cgPSBuZXcgS01NZXNzYWdlOwpAQCAtMTExNyw2ICsxMTE5LDExIEBACiAg IGVsc2UKICAgICBzZXRIZWFkZXJGaWVsZCgiWC1LTWFpbC1UcmFuc3BvcnQiLCBpZGVudC50cmFu c3BvcnQoKSk7CiAKKyAgaWYgKGlkZW50LmZjYygpLmlzRW1wdHkoKSkKKyAgICBzZXRGY2MoIFFT dHJpbmc6Om51bGwgKTsKKyAgZWxzZQorICAgIHNldEZjYyggaWRlbnQuZmNjKCkgKTsKKwogICBp ZiAoICAgICFzQ3JlYXRlT3duTWVzc2FnZUlkSGVhZGVycwogICAgICAgIHx8IHNNZXNzYWdlSWRT dWZmaXguaXNFbXB0eSgpCiAgICAgICAgfHwgc01lc3NhZ2VJZFN1ZmZpeC5pc051bGwoKSApCkBA IC0xMzU0LDYgKzEzNjEsMzAgQEAKICAgc2V0SGVhZGVyRmllbGQoIkJjYyIsIGFTdHIpOwogfQog CisvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitRU3RyaW5nIEtNTWVzc2FnZTo6ZmNjKHZvaWQpIGNv bnN0Cit7CisgICAgLy8gd2UgcmV0dXJuIHdoYXRldmVyIGhhcyBzb21ldGhpbmc6IHZhcmlhYmxl IG9yIGhlYWRlci4gV2UKKyAgICAvLyBkbyBpdCBiZWNhdXNlIGlmIHRoZSBtZXNzYWdlIHdhcyBp biB0aGUgT3V0Ym94LCBpdCdkIGxvc3QKKyAgICAvLyB0aGUgY29udGVudHMgb2YgdGhlIHZhcmlh YmxlIGJ1dCB0aGUgaGVhZGVyIHJlbWFpbnMuCisgICAgUVN0cmluZyB0bXAgPSBoZWFkZXJGaWVs ZCggIlgtS01haWwtRmNjIiApOworICAgIGlmICggdG1wLmlzRW1wdHkoKSApCisgICAgICAgIHJl dHVybiBtRmNjOworICAgIHJldHVybiB0bXA7Cit9CisKKworLy8tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LQordm9pZCBLTU1lc3NhZ2U6OnNldEZjYyhjb25zdCBRU3RyaW5nJiBhU3RyKQoreworICBrZERl YnVnKDUwMDYpIDw8ICJLTU1lc3NhZ2U6OnNldEZjYzogc2V0dGluZyBtRmNjIHRvICIgPDwgYVN0 ciA8PCBlbmRsOworICAvLyB3ZSBrZWVwIHRoaXMgaW5mb3JtYXRpb24gaW4gdGhlIGhlYWRlciBf YW5kXyBpbiBhIG1lbWJlciB2YXJpYWJsZQorICAvLyBiZWNhdXNlIGV2ZW50dWFsbHkgdGhlIG1l c3NhZ2UgbWF5IGJlIHB1dCBpbiB0aGUgb3V0Ym94IHdoZXJlIHRoZQorICAvLyB2YXJpYWJsZSB3 aWxsIGJlIGxvc3QuIE9UT0gsIHdoZW4gd2Ugc2VuZCB0aGUgbWVzc2FnZSB0byB0aGUKKyAgLy8g ZmlsdGVyLCB0aGlzIGhlYWRlciB3aWxsIGRpc2FwcGVhciBzbyB3ZSBtdXN0IGhhdmUgYSB2YXJp YWJsZS4KKyAgbUZjYyA9IGFTdHIuc3RyaXBXaGl0ZVNwYWNlKCk7CisgIHNldEhlYWRlckZpZWxk KCAiWC1LTWFpbC1GY2MiLCBtRmNjICk7Cit9CiAKIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIFFT dHJpbmcgS01NZXNzYWdlOjp3aG8odm9pZCkgY29uc3QKSW5kZXg6IGttbWVzc2FnZS5oCj09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT0KUkNTIGZpbGU6IC9ob21lL2tkZS9rZGVuZXR3b3JrL2ttYWlsL2ttbWVzc2FnZS5oLHYK cmV0cmlldmluZyByZXZpc2lvbiAxLjY4CmRpZmYgLXUgLWIgLXQgLXIxLjY4IGttbWVzc2FnZS5o Ci0tLSBrbW1lc3NhZ2UuaAkyMDAxLzEwLzE0IDE1OjMxOjI2CTEuNjgKKysrIGttbWVzc2FnZS5o CTIwMDEvMTAvMjEgMTk6Mjc6MTYKQEAgLTE2Nyw2ICsxNjcsMTAgQEAKICAgdmlydHVhbCBRU3Ry aW5nIGJjYyh2b2lkKSBjb25zdDsKICAgdmlydHVhbCB2b2lkIHNldEJjYyhjb25zdCBRU3RyaW5n JiBhU3RyKTsKIAorICAvKiogR2V0IG9yIHNldCB0aGUgJ0ZjYycgaGVhZGVyIGZpZWxkICovCisg IHZpcnR1YWwgUVN0cmluZyBmY2Modm9pZCkgY29uc3Q7CisgIHZpcnR1YWwgdm9pZCBzZXRGY2Mo Y29uc3QgUVN0cmluZyYgYVN0cik7CisKICAgLyoqIEdldCBvciBzZXQgdGhlICdGcm9tJyBoZWFk ZXIgZmllbGQgKi8KICAgdmlydHVhbCBRU3RyaW5nIGZyb20odm9pZCkgY29uc3Q7CiAgIHZpcnR1 YWwgdm9pZCBzZXRGcm9tKGNvbnN0IFFTdHJpbmcmIGFTdHIpOwpAQCAtMzY2LDYgKzM3MCw5IEBA CiBwcm90ZWN0ZWQ6CiAgICAgLyoqIENvbnZlcnQgd2lsZGNhcmRzIGludG8gbm9ybWFsIHN0cmlu ZyAqLwogICAgIFFTdHJpbmcgZm9ybWF0U3RyaW5nKGNvbnN0IFFTdHJpbmcmKSBjb25zdDsKKwor ICAgIC8qKiBDb250YWlucyB0aGUgbmFtZSBvZiB0aGUgRmNjIGZvbGRlciAqLworICAgIFFTdHJp bmcgbUZjYzsKIAogcHJvdGVjdGVkOgogICAgIER3TWVzc2FnZSogbU1zZzsK --------------Boundary-00=_SNMKF3K8X2OZQHSNQ968-- _______________________________________________ kmail Developers mailing list kmail@mail.kde.org http://mail.kde.org/mailman/listinfo/kmail