From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 30169 invoked by alias); 12 Feb 2020 18:38:09 -0000 Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org Received: (qmail 30160 invoked by uid 89); 12 Feb 2020 18:38:09 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-7.0 required=5.0 tests=AWL,BAYES_00,FREEMAIL_FROM,RCVD_IN_DNSWL_NONE,SPF_PASS autolearn=ham version=3.3.1 spammy=H*c:PHrt, H*x:5.0, H*x:Windows X-HELO: sonic307-54.consmr.mail.ir2.yahoo.com Received: from sonic307-54.consmr.mail.ir2.yahoo.com (HELO sonic307-54.consmr.mail.ir2.yahoo.com) (87.248.110.31) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Wed, 12 Feb 2020 18:38:08 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.de; s=s2048; t=1581532684; bh=UgZNqAqhYFmCj8pnhera20sWRudMPh3SiT39rkRYOjg=; h=Date:From:To:In-Reply-To:References:Subject:From:Subject; b=VxPFBoR3P7zr5DFOKQI/HtEgOkkGHIX13OY7sP8lvvkyRoEzBcUjBHdpBLlkJyAQX7Svf14gd0GwElhL01V7T0YerW1wqcRjvYUDKe+WvYgM77c2EKIU/lqelBTGb59+EyK5hkUAf5bkRrlX/W0hpROY1IhqXMPY/SDuOgQ3rW89iTelqUGvFPSjelaqWOCkgDNdiZCQzDybh+lQu2ZqL9ytyYMRtlhrQ2MmIME16GdJX56Bx6yedTddHUkuzxfVFzGbfwB4GjCUrFFDCWFkAAXlWOLbD7TuDoNFSYlJL9sqwYTn6Jwz3nGZnWpukqTl6K89NCLxZZaHKp0uj2Ll/g== Received: from sonic.gate.mail.ne1.yahoo.com by sonic307.consmr.mail.ir2.yahoo.com with HTTP; Wed, 12 Feb 2020 18:38:04 +0000 Date: Wed, 12 Feb 2020 18:38:00 -0000 From: "Hannes Domani via gdb-patches" Reply-To: Hannes Domani To: Gdb-patches Message-ID: <2099208629.3632314.1581532650472@mail.yahoo.com> In-Reply-To: References: <691075103.286431.1581179823782.ref@mail.yahoo.com> <691075103.286431.1581179823782@mail.yahoo.com> <568325237.2257415.1581420878458@mail.yahoo.com> <2060919114.3614103.1581530742928@mail.yahoo.com> Subject: Re: [PING] [PATCH] Rebase executable to match relocated base address MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="----=_Part_3632313_1136051261.1581532650472" X-IsSubscribed: yes X-SW-Source: 2020-02/txt/msg00461.txt.bz2 ------=_Part_3632313_1136051261.1581532650472 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Content-length: 734 Am Mittwoch, 12. Februar 2020, 19:19:17 MEZ hat Christian Biesinger via gdb-patches Folgendes geschrieben: > On Wed, Feb 12, 2020 at 12:05 PM Hannes Domani via gdb-patches > > wrote: > > I only have one problem with this approach, it doesn't work with my > > corefile support for Windows minidumps if TIB or PEB were not included in > > the minidump file. > > > > Before, I created a fake .auxv section, just like I did in gdb. > > > Sorry for the tangent, but I was also working on supporting minidumps > in GDB -- could you share your code? Sure, I planned to submit the code soon anyways. It should be working completely, but the code is not ready for integration yet. ------=_Part_3632313_1136051261.1581532650472 Content-Type: application/octet-stream Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="=?UTF-8?b?MDAwMS1Nb3ZlLWNvcmUtZmlsZS1mdW5jdGlvbnMtZnJvbS1pMzg2LWN5Z3dpbi10ZGVwLmMtdG8tLnBhdGNo?=" Content-ID: Content-length: 9366 RnJvbSA2NTI5OTAyYzNlYWRmNjA4YjBhNzA2ODA4ODhlMGY3ZDAwZWEzMDI2 IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBIYW5uZXMgRG9tYW5p IDxzc2Jzc2FAeWFob28uZGU+CkRhdGU6IFdlZCwgMzAgSmFuIDIwMTkgMjM6 MzE6MTIgKzAxMDAKU3ViamVjdDogW1BBVENIIDEvNl0gTW92ZSBjb3JlIGZp bGUgZnVuY3Rpb25zIGZyb20gaTM4Ni1jeWd3aW4tdGRlcC5jIHRvCiB3aW5k b3dzLXRkZXAuYy4KCi0tLQogZ2RiL2kzODYtY3lnd2luLXRkZXAuYyB8IDEw NCAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tCiBnZGIvd2luZG93cy10ZGVwLmMgICAgIHwgMTA0ICsrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKIDIg ZmlsZXMgY2hhbmdlZCwgMTA0IGluc2VydGlvbnMoKyksIDEwNCBkZWxldGlv bnMoLSkKCmRpZmYgLS1naXQgYS9nZGIvaTM4Ni1jeWd3aW4tdGRlcC5jIGIv Z2RiL2kzODYtY3lnd2luLXRkZXAuYwppbmRleCBjYjY2NjMyNjQ4Li4zNDZl OTVkMTJhIDEwMDY0NAotLS0gYS9nZGIvaTM4Ni1jeWd3aW4tdGRlcC5jCisr KyBiL2dkYi9pMzg2LWN5Z3dpbi10ZGVwLmMKQEAgLTg4LDEwNSArODgsNiBA QCBzdGF0aWMgaW50IGkzODZfd2luZG93c19ncmVnc2V0X3JlZ19vZmZzZXRb XSA9CiAKICNkZWZpbmUgSTM4Nl9XSU5ET1dTX1NJWkVPRl9HUkVHU0VUIDcx NgogCi1zdHJ1Y3QgY3Btc19kYXRhCi17Ci0gIHN0cnVjdCBnZGJhcmNoICpn ZGJhcmNoOwotICBzdHJ1Y3Qgb2JzdGFjayAqb2JzdGFjazsKLSAgaW50IG1v ZHVsZV9jb3VudDsKLX07Ci0KLXN0YXRpYyB2b2lkCi1jb3JlX3Byb2Nlc3Nf bW9kdWxlX3NlY3Rpb24gKGJmZCAqYWJmZCwgYXNlY3Rpb24gKnNlY3QsIHZv aWQgKm9iaikKLXsKLSAgc3RydWN0IGNwbXNfZGF0YSAqZGF0YSA9IChzdHJ1 Y3QgY3Btc19kYXRhICopIG9iajsKLSAgZW51bSBiZmRfZW5kaWFuIGJ5dGVf b3JkZXIgPSBnZGJhcmNoX2J5dGVfb3JkZXIgKGRhdGEtPmdkYmFyY2gpOwot Ci0gIGNoYXIgKm1vZHVsZV9uYW1lOwotICBzaXplX3QgbW9kdWxlX25hbWVf c2l6ZTsKLSAgQ09SRV9BRERSIGJhc2VfYWRkcjsKLQotICBnZGJfYnl0ZSAq YnVmID0gTlVMTDsKLQotICBpZiAoIXN0YXJ0c3dpdGggKHNlY3QtPm5hbWUs ICIubW9kdWxlIikpCi0gICAgcmV0dXJuOwotCi0gIGJ1ZiA9IChnZGJfYnl0 ZSAqKSB4bWFsbG9jIChiZmRfc2VjdGlvbl9zaXplIChzZWN0KSArIDEpOwot ICBpZiAoIWJ1ZikKLSAgICB7Ci0gICAgICBwcmludGZfdW5maWx0ZXJlZCAo Im1lbW9yeSBhbGxvY2F0aW9uIGZhaWxlZCBmb3IgJXNcbiIsIHNlY3QtPm5h bWUpOwotICAgICAgZ290byBvdXQ7Ci0gICAgfQotICBpZiAoIWJmZF9nZXRf c2VjdGlvbl9jb250ZW50cyAoYWJmZCwgc2VjdCwKLQkJCQkgYnVmLCAwLCBi ZmRfc2VjdGlvbl9zaXplIChzZWN0KSkpCi0gICAgZ290byBvdXQ7Ci0KLQot Ci0gIC8qIEEgRFdPUkQgKGRhdGFfdHlwZSkgZm9sbG93ZWQgYnkgc3RydWN0 IHdpbmRvd3NfY29yZV9tb2R1bGVfaW5mby4gICovCi0KLSAgYmFzZV9hZGRy ID0KLSAgICBleHRyYWN0X3Vuc2lnbmVkX2ludGVnZXIgKGJ1ZiArIDQsIDQs IGJ5dGVfb3JkZXIpOwotCi0gIG1vZHVsZV9uYW1lX3NpemUgPQotICAgIGV4 dHJhY3RfdW5zaWduZWRfaW50ZWdlciAoYnVmICsgOCwgNCwgYnl0ZV9vcmRl cik7Ci0KLSAgaWYgKDEyICsgbW9kdWxlX25hbWVfc2l6ZSA+IGJmZF9zZWN0 aW9uX3NpemUgKHNlY3QpKQotICAgIGdvdG8gb3V0OwotICBtb2R1bGVfbmFt ZSA9IChjaGFyICopIGJ1ZiArIDEyOwotCi0gIC8qIFRoZSBmaXJzdCBtb2R1 bGUgaXMgdGhlIC5leGUgaXRzZWxmLiAgKi8KLSAgaWYgKGRhdGEtPm1vZHVs ZV9jb3VudCAhPSAwKQotICAgIHdpbmRvd3NfeGZlcl9zaGFyZWRfbGlicmFy eSAobW9kdWxlX25hbWUsIGJhc2VfYWRkciwKLQkJCQkgTlVMTCwgZGF0YS0+ Z2RiYXJjaCwgZGF0YS0+b2JzdGFjayk7Ci0gIGRhdGEtPm1vZHVsZV9jb3Vu dCsrOwotCi1vdXQ6Ci0gIGlmIChidWYpCi0gICAgeGZyZWUgKGJ1Zik7Ci0g IHJldHVybjsKLX0KLQotc3RhdGljIFVMT05HRVNUCi13aW5kb3dzX2NvcmVf eGZlcl9zaGFyZWRfbGlicmFyaWVzIChzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJj aCwKLQkJCQkgIGdkYl9ieXRlICpyZWFkYnVmLAotCQkJCSAgVUxPTkdFU1Qg b2Zmc2V0LCBVTE9OR0VTVCBsZW4pCi17Ci0gIHN0cnVjdCBvYnN0YWNrIG9i c3RhY2s7Ci0gIGNvbnN0IGNoYXIgKmJ1ZjsKLSAgVUxPTkdFU1QgbGVuX2F2 YWlsOwotICBzdHJ1Y3QgY3Btc19kYXRhIGRhdGEgPSB7IGdkYmFyY2gsICZv YnN0YWNrLCAwIH07Ci0KLSAgb2JzdGFja19pbml0ICgmb2JzdGFjayk7Ci0g IG9ic3RhY2tfZ3Jvd19zdHIgKCZvYnN0YWNrLCAiPGxpYnJhcnktbGlzdD5c biIpOwotICBiZmRfbWFwX292ZXJfc2VjdGlvbnMgKGNvcmVfYmZkLAotCQkJ IGNvcmVfcHJvY2Vzc19tb2R1bGVfc2VjdGlvbiwKLQkJCSAmZGF0YSk7Ci0g IG9ic3RhY2tfZ3Jvd19zdHIwICgmb2JzdGFjaywgIjwvbGlicmFyeS1saXN0 PlxuIik7Ci0KLSAgYnVmID0gKGNvbnN0IGNoYXIgKikgb2JzdGFja19maW5p c2ggKCZvYnN0YWNrKTsKLSAgbGVuX2F2YWlsID0gc3RybGVuIChidWYpOwot ICBpZiAob2Zmc2V0ID49IGxlbl9hdmFpbCkKLSAgICByZXR1cm4gMDsKLQot ICBpZiAobGVuID4gbGVuX2F2YWlsIC0gb2Zmc2V0KQotICAgIGxlbiA9IGxl bl9hdmFpbCAtIG9mZnNldDsKLSAgbWVtY3B5IChyZWFkYnVmLCBidWYgKyBv ZmZzZXQsIGxlbik7Ci0KLSAgb2JzdGFja19mcmVlICgmb2JzdGFjaywgTlVM TCk7Ci0gIHJldHVybiBsZW47Ci19Ci0KLS8qIFRoaXMgaXMgaG93IHdlIHdh bnQgUFRJRHMgZnJvbSBjb3JlIGZpbGVzIHRvIGJlIHByaW50ZWQuICAqLwot Ci1zdGF0aWMgc3RkOjpzdHJpbmcKLWkzODZfd2luZG93c19jb3JlX3BpZF90 b19zdHIgKHN0cnVjdCBnZGJhcmNoICpnZGJhcmNoLCBwdGlkX3QgcHRpZCkK LXsKLSAgaWYgKHB0aWQubHdwICgpICE9IDApCi0gICAgcmV0dXJuIHN0cmlu Z19wcmludGYgKCJUaHJlYWQgMHglbHgiLCBwdGlkLmx3cCAoKSk7Ci0KLSAg cmV0dXJuIG5vcm1hbF9waWRfdG9fc3RyIChwdGlkKTsKLX0KLQogc3RhdGlj IENPUkVfQUREUgogaTM4Nl9jeWd3aW5fc2tpcF90cmFtcG9saW5lX2NvZGUg KHN0cnVjdCBmcmFtZV9pbmZvICpmcmFtZSwgQ09SRV9BRERSIHBjKQogewpA QCAtMjE4LDExICsxMTksNiBAQCBpMzg2X2N5Z3dpbl9pbml0X2FiaSAoc3Ry dWN0IGdkYmFyY2hfaW5mbyBpbmZvLCBzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJj aCkKIAogICB0ZGVwLT5zaXplb2ZfZnByZWdzZXQgPSAwOwogCi0gIC8qIENv cmUgZmlsZSBzdXBwb3J0LiAgKi8KLSAgc2V0X2dkYmFyY2hfY29yZV94ZmVy X3NoYXJlZF9saWJyYXJpZXMKLSAgICAoZ2RiYXJjaCwgd2luZG93c19jb3Jl X3hmZXJfc2hhcmVkX2xpYnJhcmllcyk7Ci0gIHNldF9nZGJhcmNoX2NvcmVf cGlkX3RvX3N0ciAoZ2RiYXJjaCwgaTM4Nl93aW5kb3dzX2NvcmVfcGlkX3Rv X3N0cik7Ci0KICAgc2V0X2dkYmFyY2hfYXV0b193aWRlX2NoYXJzZXQgKGdk YmFyY2gsIGkzODZfY3lnd2luX2F1dG9fd2lkZV9jaGFyc2V0KTsKIH0KIApk aWZmIC0tZ2l0IGEvZ2RiL3dpbmRvd3MtdGRlcC5jIGIvZ2RiL3dpbmRvd3Mt dGRlcC5jCmluZGV4IDZlZWYzZmJkOTYuLjkxYTc3OGNkODEgMTAwNjQ0Ci0t LSBhL2dkYi93aW5kb3dzLXRkZXAuYworKysgYi9nZGIvd2luZG93cy10ZGVw LmMKQEAgLTgxMiw2ICs4MTIsMTA1IEBAIHdpbmRvd3NfZ2V0X3NpZ2luZm9f dHlwZSAoc3RydWN0IGdkYmFyY2ggKmdkYmFyY2gpCiAgIHJldHVybiBzaWdp bmZvX3R5cGU7CiB9CiAKK3N0cnVjdCBjcG1zX2RhdGEKK3sKKyAgc3RydWN0 IGdkYmFyY2ggKmdkYmFyY2g7CisgIHN0cnVjdCBvYnN0YWNrICpvYnN0YWNr OworICBpbnQgbW9kdWxlX2NvdW50OworfTsKKworc3RhdGljIHZvaWQKK2Nv cmVfcHJvY2Vzc19tb2R1bGVfc2VjdGlvbiAoYmZkICphYmZkLCBhc2VjdGlv biAqc2VjdCwgdm9pZCAqb2JqKQoreworICBzdHJ1Y3QgY3Btc19kYXRhICpk YXRhID0gKHN0cnVjdCBjcG1zX2RhdGEgKikgb2JqOworICBlbnVtIGJmZF9l bmRpYW4gYnl0ZV9vcmRlciA9IGdkYmFyY2hfYnl0ZV9vcmRlciAoZGF0YS0+ Z2RiYXJjaCk7CisKKyAgY2hhciAqbW9kdWxlX25hbWU7CisgIHNpemVfdCBt b2R1bGVfbmFtZV9zaXplOworICBDT1JFX0FERFIgYmFzZV9hZGRyOworCisg IGdkYl9ieXRlICpidWYgPSBOVUxMOworCisgIGlmICghc3RhcnRzd2l0aCAo c2VjdC0+bmFtZSwgIi5tb2R1bGUiKSkKKyAgICByZXR1cm47CisKKyAgYnVm ID0gKGdkYl9ieXRlICopIHhtYWxsb2MgKGJmZF9zZWN0aW9uX3NpemUgKHNl Y3QpICsgMSk7CisgIGlmICghYnVmKQorICAgIHsKKyAgICAgIHByaW50Zl91 bmZpbHRlcmVkICgibWVtb3J5IGFsbG9jYXRpb24gZmFpbGVkIGZvciAlc1xu Iiwgc2VjdC0+bmFtZSk7CisgICAgICBnb3RvIG91dDsKKyAgICB9CisgIGlm ICghYmZkX2dldF9zZWN0aW9uX2NvbnRlbnRzIChhYmZkLCBzZWN0LAorCQkJ CSBidWYsIDAsIGJmZF9zZWN0aW9uX3NpemUgKHNlY3QpKSkKKyAgICBnb3Rv IG91dDsKKworCisKKyAgLyogQSBEV09SRCAoZGF0YV90eXBlKSBmb2xsb3dl ZCBieSBzdHJ1Y3Qgd2luZG93c19jb3JlX21vZHVsZV9pbmZvLiAgKi8KKwor ICBiYXNlX2FkZHIgPQorICAgIGV4dHJhY3RfdW5zaWduZWRfaW50ZWdlciAo YnVmICsgNCwgNCwgYnl0ZV9vcmRlcik7CisKKyAgbW9kdWxlX25hbWVfc2l6 ZSA9CisgICAgZXh0cmFjdF91bnNpZ25lZF9pbnRlZ2VyIChidWYgKyA4LCA0 LCBieXRlX29yZGVyKTsKKworICBpZiAoMTIgKyBtb2R1bGVfbmFtZV9zaXpl ID4gYmZkX3NlY3Rpb25fc2l6ZSAoc2VjdCkpCisgICAgZ290byBvdXQ7Cisg IG1vZHVsZV9uYW1lID0gKGNoYXIgKikgYnVmICsgMTI7CisKKyAgLyogVGhl IGZpcnN0IG1vZHVsZSBpcyB0aGUgLmV4ZSBpdHNlbGYuICAqLworICBpZiAo ZGF0YS0+bW9kdWxlX2NvdW50ICE9IDApCisgICAgd2luZG93c194ZmVyX3No YXJlZF9saWJyYXJ5IChtb2R1bGVfbmFtZSwgYmFzZV9hZGRyLAorCQkJCSBO VUxMLCBkYXRhLT5nZGJhcmNoLCBkYXRhLT5vYnN0YWNrKTsKKyAgZGF0YS0+ bW9kdWxlX2NvdW50Kys7CisKK291dDoKKyAgaWYgKGJ1ZikKKyAgICB4ZnJl ZSAoYnVmKTsKKyAgcmV0dXJuOworfQorCitzdGF0aWMgVUxPTkdFU1QKK3dp bmRvd3NfY29yZV94ZmVyX3NoYXJlZF9saWJyYXJpZXMgKHN0cnVjdCBnZGJh cmNoICpnZGJhcmNoLAorCQkJCSAgZ2RiX2J5dGUgKnJlYWRidWYsCisJCQkJ ICBVTE9OR0VTVCBvZmZzZXQsIFVMT05HRVNUIGxlbikKK3sKKyAgc3RydWN0 IG9ic3RhY2sgb2JzdGFjazsKKyAgY29uc3QgY2hhciAqYnVmOworICBVTE9O R0VTVCBsZW5fYXZhaWw7CisgIHN0cnVjdCBjcG1zX2RhdGEgZGF0YSA9IHsg Z2RiYXJjaCwgJm9ic3RhY2ssIDAgfTsKKworICBvYnN0YWNrX2luaXQgKCZv YnN0YWNrKTsKKyAgb2JzdGFja19ncm93X3N0ciAoJm9ic3RhY2ssICI8bGli cmFyeS1saXN0PlxuIik7CisgIGJmZF9tYXBfb3Zlcl9zZWN0aW9ucyAoY29y ZV9iZmQsCisJCQkgY29yZV9wcm9jZXNzX21vZHVsZV9zZWN0aW9uLAorCQkJ ICZkYXRhKTsKKyAgb2JzdGFja19ncm93X3N0cjAgKCZvYnN0YWNrLCAiPC9s aWJyYXJ5LWxpc3Q+XG4iKTsKKworICBidWYgPSAoY29uc3QgY2hhciAqKSBv YnN0YWNrX2ZpbmlzaCAoJm9ic3RhY2spOworICBsZW5fYXZhaWwgPSBzdHJs ZW4gKGJ1Zik7CisgIGlmIChvZmZzZXQgPj0gbGVuX2F2YWlsKQorICAgIHJl dHVybiAwOworCisgIGlmIChsZW4gPiBsZW5fYXZhaWwgLSBvZmZzZXQpCisg ICAgbGVuID0gbGVuX2F2YWlsIC0gb2Zmc2V0OworICBtZW1jcHkgKHJlYWRi dWYsIGJ1ZiArIG9mZnNldCwgbGVuKTsKKworICBvYnN0YWNrX2ZyZWUgKCZv YnN0YWNrLCBOVUxMKTsKKyAgcmV0dXJuIGxlbjsKK30KKworLyogVGhpcyBp cyBob3cgd2Ugd2FudCBQVElEcyBmcm9tIGNvcmUgZmlsZXMgdG8gYmUgcHJp bnRlZC4gICovCisKK3N0YXRpYyBzdGQ6OnN0cmluZworaTM4Nl93aW5kb3dz X2NvcmVfcGlkX3RvX3N0ciAoc3RydWN0IGdkYmFyY2ggKmdkYmFyY2gsIHB0 aWRfdCBwdGlkKQoreworICBpZiAocHRpZC5sd3AgKCkgIT0gMCkKKyAgICBy ZXR1cm4gc3RyaW5nX3ByaW50ZiAoIlRocmVhZCAweCVseCIsIHB0aWQubHdw ICgpKTsKKworICByZXR1cm4gbm9ybWFsX3BpZF90b19zdHIgKHB0aWQpOwor fQorCiAvKiBUbyBiZSBjYWxsZWQgZnJvbSB0aGUgdmFyaW91cyBHREJfT1NB QklfQ1lHV0lOIGhhbmRsZXJzIGZvciB0aGUKICAgIHZhcmlvdXMgV2luZG93 cyBhcmNoaXRlY3R1cmVzIGFuZCBtYWNoaW5lIHR5cGVzLiAgKi8KIApAQCAt ODMzLDYgKzkzMiwxMSBAQCB3aW5kb3dzX2luaXRfYWJpIChzdHJ1Y3QgZ2Ri YXJjaF9pbmZvIGluZm8sIHN0cnVjdCBnZGJhcmNoICpnZGJhcmNoKQogICBz ZXRfc29saWJfb3BzIChnZGJhcmNoLCAmc29saWJfdGFyZ2V0X3NvX29wcyk7 CiAKICAgc2V0X2dkYmFyY2hfZ2V0X3NpZ2luZm9fdHlwZSAoZ2RiYXJjaCwg d2luZG93c19nZXRfc2lnaW5mb190eXBlKTsKKworICAvKiBDb3JlIGZpbGUg c3VwcG9ydC4gICovCisgIHNldF9nZGJhcmNoX2NvcmVfeGZlcl9zaGFyZWRf bGlicmFyaWVzCisgICAgKGdkYmFyY2gsIHdpbmRvd3NfY29yZV94ZmVyX3No YXJlZF9saWJyYXJpZXMpOworICBzZXRfZ2RiYXJjaF9jb3JlX3BpZF90b19z dHIgKGdkYmFyY2gsIGkzODZfd2luZG93c19jb3JlX3BpZF90b19zdHIpOwog fQogCiAvKiBJbXBsZW1lbnRhdGlvbiBvZiBgdGxiJyB2YXJpYWJsZS4gICov Ci0tIAoyLjE1LjEud2luZG93cy4yCgo= ------=_Part_3632313_1136051261.1581532650472 Content-Type: application/octet-stream Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="=?UTF-8?b?MDAwMi1SZWFkLW1pbmlkdW1wLWZpbGUucGF0Y2g=?=" Content-ID: Content-length: 20562 RnJvbSAxZjFlYmUyMTcyMzU4MGExYmQ1M2U5Nzc3OTkxMjExNGFiMmZhNTMy IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBIYW5uZXMgRG9tYW5p IDxzc2Jzc2FAeWFob28uZGU+CkRhdGU6IFRodSwgMzEgSmFuIDIwMTkgMDA6 NDg6NTAgKzAxMDAKU3ViamVjdDogW1BBVENIIDIvNl0gUmVhZCBtaW5pZHVt cCBmaWxlLgoKLS0tCiBiZmQvY29mZi1pMzg2LmMgICAgICAgICAgfCAgIDIg Ky0KIGJmZC9jb2ZmLXg4Nl82NC5jICAgICAgICB8ICAgMiArLQogYmZkL2Nv ZmZnZW4uYyAgICAgICAgICAgIHwgNDE1ICsrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrCiBiZmQvbGliY29mZi1pbi5o ICAgICAgICAgfCAgIDMgKwogYmZkL2xpYmNvZmYuaCAgICAgICAgICAgIHwg ICAzICsKIGdkYi9hbWQ2NC13aW5kb3dzLXRkZXAuYyB8ICA3NiArKysrKysr KysKIGdkYi93aW5kb3dzLXRkZXAuYyAgICAgICB8ICAyOSArKystCiA3IGZp bGVzIGNoYW5nZWQsIDUyNyBpbnNlcnRpb25zKCspLCAzIGRlbGV0aW9ucygt KQoKZGlmZiAtLWdpdCBhL2JmZC9jb2ZmLWkzODYuYyBiL2JmZC9jb2ZmLWkz ODYuYwppbmRleCA3ZmI1OWRkMzFjLi43MDVkZjJlYjc1IDEwMDY0NAotLS0g YS9iZmQvY29mZi1pMzg2LmMKKysrIGIvYmZkL2NvZmYtaTM4Ni5jCkBAIC02 NzcsNyArNjc3LDcgQEAgY29uc3QgYmZkX3RhcmdldAogICAgIF9iZmRfZHVt bXlfdGFyZ2V0LAogICAgIGNvZmZfb2JqZWN0X3AsCiAgICAgYmZkX2dlbmVy aWNfYXJjaGl2ZV9wLAotICAgIGNvZmZfb2JqZWN0X3AKKyAgICBjb2ZmX2Nv cmVfZmlsZV9wCiAgIH0sCiAjZW5kaWYKICAgewkJCQkvKiBiZmRfc2V0X2Zv cm1hdCAqLwpkaWZmIC0tZ2l0IGEvYmZkL2NvZmYteDg2XzY0LmMgYi9iZmQv Y29mZi14ODZfNjQuYwppbmRleCBlMGIzMmZkZGI4Li4wZGMwMTM2Y2Q1IDEw MDY0NAotLS0gYS9iZmQvY29mZi14ODZfNjQuYworKysgYi9iZmQvY29mZi14 ODZfNjQuYwpAQCAtNzk1LDcgKzc5NSw3IEBAIGNvbnN0IGJmZF90YXJnZXQK ICAgICBfYmZkX2R1bW15X3RhcmdldCwKICAgICBhbWQ2NGNvZmZfb2JqZWN0 X3AsCiAgICAgYmZkX2dlbmVyaWNfYXJjaGl2ZV9wLAotICAgIGFtZDY0Y29m Zl9vYmplY3RfcAorICAgIGNvZmZfY29yZV9maWxlX3AKICAgfSwKICAgewkJ CQkvKiBiZmRfc2V0X2Zvcm1hdC4gICovCiAgICAgX2JmZF9ib29sX2JmZF9m YWxzZV9lcnJvciwKZGlmZiAtLWdpdCBhL2JmZC9jb2ZmZ2VuLmMgYi9iZmQv Y29mZmdlbi5jCmluZGV4IDMxZTZmYTdhMDguLmY5ZjI1MzA5NTIgMTAwNjQ0 Ci0tLSBhL2JmZC9jb2ZmZ2VuLmMKKysrIGIvYmZkL2NvZmZnZW4uYwpAQCAt MzE4MywzICszMTgzLDQxOCBAQCBfYmZkX2NvZmZfY2xvc2VfYW5kX2NsZWFu dXAgKGJmZCAqYWJmZCkKICAgICB9CiAgIHJldHVybiBfYmZkX2dlbmVyaWNf Y2xvc2VfYW5kX2NsZWFudXAgKGFiZmQpOwogfQorCisvKiBSZWFkIG1pbmlk dW1wIGZpbGUuICAqLworCisjcHJhZ21hIHBhY2socHVzaCw0KQorCit0eXBl ZGVmIHN0cnVjdAoreworICB1aW50OF90IHNpZ1s0XTsKKyAgdWludDMyX3Qg dmVyOworICB1aW50MzJfdCBzdHJlYW1Db3VudDsKKyAgdWludDMyX3Qgc3Ry ZWFtUnZhOworICB1aW50MzJfdCBjaGVja3N1bTsKKyAgdWludDMyX3QgdGlt ZXN0YW1wOworICB1aW50NjRfdCBmbGFnczsKK30KK2R1bXBfaGVhZGVyOwor Cit0eXBlZGVmIHN0cnVjdAoreworICB1aW50MzJfdCBzaXplOworICB1aW50 MzJfdCBydmE7Cit9CitkdW1wX2xvY19kZXNjOworCit0eXBlZGVmIHN0cnVj dAoreworICB1aW50MzJfdCB0eXBlOworICBkdW1wX2xvY19kZXNjIGxvYzsK K30KK2R1bXBfZGlyZWN0b3J5OworCit0eXBlZGVmIGVudW0KK3sKKyAgVW51 c2VkU3RyZWFtLAorICBSZXNlcnZlZFN0cmVhbTAsCisgIFJlc2VydmVkU3Ry ZWFtMSwKKyAgVGhyZWFkTGlzdFN0cmVhbSwKKyAgTW9kdWxlTGlzdFN0cmVh bSwKKyAgTWVtb3J5TGlzdFN0cmVhbSwKKyAgRXhjZXB0aW9uU3RyZWFtLAor ICBTeXN0ZW1JbmZvU3RyZWFtLAorICBUaHJlYWRFeExpc3RTdHJlYW0sCisg IE1lbW9yeTY0TGlzdFN0cmVhbSwKKyAgQ29tbWVudFN0cmVhbUEsCisgIENv bW1lbnRTdHJlYW1XLAorICBIYW5kbGVEYXRhU3RyZWFtLAorICBGdW5jdGlv blRhYmxlU3RyZWFtLAorICBVbmxvYWRlZE1vZHVsZUxpc3RTdHJlYW0sCisg IE1pc2NJbmZvU3RyZWFtLAorICBNZW1vcnlJbmZvTGlzdFN0cmVhbSwKKyAg VGhyZWFkSW5mb0xpc3RTdHJlYW0sCisgIEhhbmRsZU9wZXJhdGlvbkxpc3RT dHJlYW0sCisgIFRva2VuU3RyZWFtLAorICBKYXZhU2NyaXB0RGF0YVN0cmVh bSwKKyAgU3lzdGVtTWVtb3J5SW5mb1N0cmVhbSwKKyAgUHJvY2Vzc1ZtQ291 bnRlcnNTdHJlYW0sCisgIElwdFRyYWNlU3RyZWFtLAorICBUaHJlYWROYW1l c1N0cmVhbSwKKyAgY2VTdHJlYW1OdWxsLAorICBjZVN0cmVhbVN5c3RlbUlu Zm8sCisgIGNlU3RyZWFtRXhjZXB0aW9uLAorICBjZVN0cmVhbU1vZHVsZUxp c3QsCisgIGNlU3RyZWFtUHJvY2Vzc0xpc3QsCisgIGNlU3RyZWFtVGhyZWFk TGlzdCwKKyAgY2VTdHJlYW1UaHJlYWRDb250ZXh0TGlzdCwKKyAgY2VTdHJl YW1UaHJlYWRDYWxsU3RhY2tMaXN0LAorICBjZVN0cmVhbU1lbW9yeVZpcnR1 YWxMaXN0LAorICBjZVN0cmVhbU1lbW9yeVBoeXNpY2FsTGlzdCwKKyAgY2VT dHJlYW1CdWNrZXRQYXJhbWV0ZXJzLAorICBjZVN0cmVhbVByb2Nlc3NNb2R1 bGVNYXAsCisgIGNlU3RyZWFtRGlhZ25vc2lzTGlzdCwKKyAgTGFzdFJlc2Vy dmVkU3RyZWFtCit9CitkdW1wX3N0cmVhbV90eXBlOworCit0eXBlZGVmIHN0 cnVjdAoreworICB1aW50NjRfdCBzdGFydEFkZHJlc3M7CisgIGR1bXBfbG9j X2Rlc2MgbWVtb3J5OworfQorZHVtcF9tZW1vcnlfZGVzYzsKKwordHlwZWRl ZiBzdHJ1Y3QKK3sKKyAgdWludDMyX3QgdGhyZWFkSWQ7CisgIHVpbnQzMl90 IHN1c3BlbmRDb3VudDsKKyAgdWludDMyX3QgcHJpb3JpdHlDbGFzczsKKyAg dWludDMyX3QgcHJpb3JpdHk7CisgIHVpbnQ2NF90IHRlYjsKKyAgZHVtcF9t ZW1vcnlfZGVzYyBzdGFjazsKKyAgZHVtcF9sb2NfZGVzYyBjb250ZXh0Owor fQorZHVtcF90aHJlYWQ7CisKK3R5cGVkZWYgc3RydWN0Cit7CisgIHVpbnQ2 NF90IHN0YXJ0QWRkcmVzczsKKyAgdWludDY0X3Qgc2l6ZTsKK30KK2R1bXBf bWVtb3J5X2Rlc2M2NDsKKwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgdWludDY0 X3QgcmFuZ2VDb3VudDsKKyAgdWludDY0X3QgYmFzZVJ2YTsKK30KK2R1bXBf bWVtb3J5NjRfbGlzdDsKKwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgdWludDMy X3QgY29kZTsKKyAgdWludDMyX3QgZmxhZ3M7CisgIHVpbnQ2NF90IHJlY29y ZDsKKyAgdWludDY0X3QgYWRkcmVzczsKKyAgdWludDMyX3QgcGFyYW1ldGVy Q291bnQ7CisgIHVpbnQzMl90IHVudXNlZEFsaWduOworICB1aW50NjRfdCBp bmZvcm1hdGlvblsxNV07Cit9CitkdW1wX2V4Y2VwdGlvbjsKKwordHlwZWRl ZiBzdHJ1Y3QKK3sKKyAgdWludDMyX3QgdGhyZWFkSWQ7CisgIHVpbnQzMl90 IHVudXNlZEFsaWduOworICBkdW1wX2V4Y2VwdGlvbiByZWNvcmQ7CisgIGR1 bXBfbG9jX2Rlc2MgY29udGV4dDsKK30KK2R1bXBfZXhjZXB0aW9uX3N0cmVh bTsKKwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgdWludDMyX3Qgc2lnbmF0dXJl OworICB1aW50MzJfdCBzdHJ1Y3RWZXJzaW9uOworICB1aW50MzJfdCBmaWxl VmVyc2lvbk1TOworICB1aW50MzJfdCBmaWxlVmVyc2lvbkxTOworICB1aW50 MzJfdCBwcm9kdWN0VmVyc2lvbk1TOworICB1aW50MzJfdCBwcm9kdWN0VmVy c2lvbkxTOworICB1aW50MzJfdCBmaWxlRmxhZ3NNYXNrOworICB1aW50MzJf dCBmaWxlRmxhZ3M7CisgIHVpbnQzMl90IGZpbGVPUzsKKyAgdWludDMyX3Qg ZmlsZVR5cGU7CisgIHVpbnQzMl90IGZpbGVTdWJ0eXBlOworICB1aW50MzJf dCBmaWxlRGF0ZU1TOworICB1aW50MzJfdCBmaWxlRGF0ZUxTOworfQorZHVt cF9maWxlX2luZm87CisKK3R5cGVkZWYgc3RydWN0Cit7CisgIHVpbnQ2NF90 IGJhc2U7CisgIHVpbnQzMl90IHNpemU7CisgIHVpbnQzMl90IGNoZWNrc3Vt OworICB1aW50MzJfdCB0aW1lc3RhbXA7CisgIHVpbnQzMl90IG5hbWVSdmE7 CisgIGR1bXBfZmlsZV9pbmZvIHZlcnNpb25JbmZvOworICBkdW1wX2xvY19k ZXNjIGN2UmVjb3JkOworICBkdW1wX2xvY19kZXNjIG1pc2NSZWNvcmQ7Cisg IHVpbnQ2NF90IHJlc2VydmVkMDsKKyAgdWludDY0X3QgcmVzZXJ2ZWQxOwor fQorZHVtcF9tb2R1bGU7CisKKyNwcmFnbWEgcGFjayhwb3ApCisKKworc3Rh dGljIGFzZWN0aW9uICoKK21ha2VfYmZkX2FzZWN0aW9uIChiZmQgKmFiZmQs IGNvbnN0IGNoYXIgKm5hbWUsIGZsYWd3b3JkIGZsYWdzLAorCQkgICBmaWxl X3B0ciBmaWxlcG9zLCBiZmRfc2l6ZV90eXBlIHNpemUsIGJmZF92bWEgdm1h KQoreworICBhc2VjdGlvbiAqYXNlY3Q7CisgIGNoYXIgKm5ld25hbWU7CisK KyAgbmV3bmFtZSA9IGJmZF9hbGxvYyAoYWJmZCwgKGJmZF9zaXplX3R5cGUp IHN0cmxlbiAobmFtZSkgKyAxKTsKKyAgaWYgKCFuZXduYW1lKQorICAgIHJl dHVybiBOVUxMOworCisgIHN0cmNweSAobmV3bmFtZSwgbmFtZSk7CisKKyAg YXNlY3QgPSBiZmRfbWFrZV9zZWN0aW9uX2FueXdheV93aXRoX2ZsYWdzIChh YmZkLCBuZXduYW1lLCBmbGFncyk7CisgIGlmICghYXNlY3QpCisgICAgcmV0 dXJuIE5VTEw7CisKKyAgYXNlY3QtPmZpbGVwb3MgPSBmaWxlcG9zOworICBh c2VjdC0+c2l6ZSA9IHNpemU7CisgIGFzZWN0LT52bWEgPSB2bWE7CisKKyAg cmV0dXJuIGFzZWN0OworfQorCitjb25zdCBiZmRfdGFyZ2V0ICoKK2NvZmZf Y29yZV9maWxlX3AgKGJmZCAqYWJmZCkKK3sKKyAgZHVtcF9oZWFkZXIgaGVh ZGVyOworICBhc2VjdGlvbiAqc2VjOworICB1aW50MzJfdCBzOworICB1aW50 MzJfdCBtb2R1bGVMaXN0UnZhID0gMDsKKyAgdWludDMyX3QgbWVtb3J5TGlz dFJ2YSA9IDA7CisgIHVpbnQzMl90IG1lbW9yeTY0TGlzdFJ2YSA9IDA7Cisg IHVpbnQzMl90IGV4Y2VwdGlvblJ2YSA9IDA7CisgIHVpbnQzMl90IHRocmVh ZExpc3RSdmEgPSAwOworICB1aW50MzJfdCBzeXN0ZW1JbmZvUnZhID0gMDsK KworICBpZiAoYmZkX2JyZWFkICgmaGVhZGVyLCBzaXplb2YgaGVhZGVyLCBh YmZkKSAhPSBzaXplb2YgaGVhZGVyKQorICAgIGdvdG8gZmFpbDsKKworICBp ZiAoaGVhZGVyLnNpZ1swXSAhPSAnTScgfHwgaGVhZGVyLnNpZ1sxXSAhPSAn RCcgfHwKKyAgICAgIGhlYWRlci5zaWdbMl0gIT0gJ00nIHx8IGhlYWRlci5z aWdbM10gIT0gJ1AnKQorICAgIGdvdG8gZmFpbDsKKworICBmb3IgKHMgPSAw OyBzIDwgaGVhZGVyLnN0cmVhbUNvdW50OyBzKyspCisgICAgeworICAgICAg ZHVtcF9kaXJlY3RvcnkgZGlyOworICAgICAgaWYgKGJmZF9icmVhZCAoJmRp ciwgc2l6ZW9mIGRpciwgYWJmZCkgIT0gc2l6ZW9mIGRpcikKKwlnb3RvIGZh aWw7CisKKyAgICAgIHN3aXRjaCAoZGlyLnR5cGUpCisJeworCWNhc2UgTW9k dWxlTGlzdFN0cmVhbToKKwkgIG1vZHVsZUxpc3RSdmEgPSBkaXIubG9jLnJ2 YTsKKwkgIGJyZWFrOworCWNhc2UgTWVtb3J5TGlzdFN0cmVhbToKKwkgIG1l bW9yeUxpc3RSdmEgPSBkaXIubG9jLnJ2YTsKKwkgIGJyZWFrOworCWNhc2Ug TWVtb3J5NjRMaXN0U3RyZWFtOgorCSAgbWVtb3J5NjRMaXN0UnZhID0gZGly LmxvYy5ydmE7CisJICBicmVhazsKKwljYXNlIEV4Y2VwdGlvblN0cmVhbToK KwkgIGV4Y2VwdGlvblJ2YSA9IGRpci5sb2MucnZhOworCSAgYnJlYWs7CisJ Y2FzZSBUaHJlYWRMaXN0U3RyZWFtOgorCSAgdGhyZWFkTGlzdFJ2YSA9IGRp ci5sb2MucnZhOworCSAgYnJlYWs7CisJY2FzZSBTeXN0ZW1JbmZvU3RyZWFt OgorCSAgc3lzdGVtSW5mb1J2YSA9IGRpci5sb2MucnZhOworCSAgYnJlYWs7 CisJfQorICAgIH0KKworICBpZiAobW9kdWxlTGlzdFJ2YSkKKyAgICB7Cisg ICAgICB1aW50MzJfdCBtb2R1bGVDb3VudDsKKyAgICAgIGR1bXBfbW9kdWxl IG1vZHVsZTsKKyAgICAgIGNoYXIgc2VjbmFtZVszMl07CisgICAgICB1aW50 MzJfdCBzaXplOworICAgICAgdWludDMyX3QgbTsKKworICAgICAgaWYgKGJm ZF9zZWVrIChhYmZkLCBtb2R1bGVMaXN0UnZhLCBTRUVLX1NFVCkgIT0gMAor CSAgfHwgYmZkX2JyZWFkICgmbW9kdWxlQ291bnQsIHNpemVvZiBtb2R1bGVD b3VudCwgYWJmZCkKKwkgICE9IHNpemVvZiBtb2R1bGVDb3VudCkKKwlnb3Rv IGZhaWw7CisKKyAgICAgIGZvciAobSA9IDA7IG0gPCBtb2R1bGVDb3VudDsg bSsrKQorCXsKKwkgIGlmIChiZmRfYnJlYWQgKCZtb2R1bGUsIHNpemVvZiBt b2R1bGUsIGFiZmQpICE9IHNpemVvZiBtb2R1bGUpCisJICAgIGdvdG8gZmFp bDsKKworCSAgaWYgKGJmZF9zZWVrIChhYmZkLCBtb2R1bGUubmFtZVJ2YSwg U0VFS19TRVQpICE9IDAKKwkgICAgICB8fCBiZmRfYnJlYWQgKCZzaXplLCBz aXplb2Ygc2l6ZSwgYWJmZCkgIT0gc2l6ZW9mIHNpemUpCisJICAgIGdvdG8g ZmFpbDsKKworCSAgc3ByaW50ZiAoc2VjbmFtZSwgIi5jb3JlbW9kdWxlLyVs bHgiLCBtb2R1bGUuYmFzZSk7CisKKwkgIHNlYyA9IG1ha2VfYmZkX2FzZWN0 aW9uIChhYmZkLCBzZWNuYW1lLAorCQkJCSAgIFNFQ19IQVNfQ09OVEVOVFMs CisJCQkJICAgbW9kdWxlLm5hbWVSdmEgKyA0LAorCQkJCSAgIHNpemUsCisJ CQkJICAgMCk7CisJICBpZiAoIXNlYykKKwkgICAgZ290byBmYWlsOworCisJ ICBpZiAoYmZkX3NlZWsgKGFiZmQsIG1vZHVsZUxpc3RSdmEgKyA0ICsgKG0g KyAxKSAqIHNpemVvZiBtb2R1bGUsCisJCQlTRUVLX1NFVCkgIT0gMCkKKwkg ICAgZ290byBmYWlsOworCX0KKyAgICB9CisKKyAgaWYgKG1lbW9yeUxpc3RS dmEpCisgICAgeworICAgICAgZHVtcF9tZW1vcnlfZGVzYyBkZXNjOworICAg ICAgdWludDMyX3QgcmFuZ2VDb3VudDsKKyAgICAgIHVpbnQzMl90IHI7CisK KyAgICAgIGlmIChiZmRfc2VlayAoYWJmZCwgbWVtb3J5TGlzdFJ2YSwgU0VF S19TRVQpICE9IDAKKwkgIHx8IGJmZF9icmVhZCAoJnJhbmdlQ291bnQsIHNp emVvZiByYW5nZUNvdW50LCBhYmZkKQorCSAgIT0gc2l6ZW9mIHJhbmdlQ291 bnQpCisJZ290byBmYWlsOworCisgICAgICBmb3IgKHIgPSAwOyByIDwgcmFu Z2VDb3VudDsgcisrKQorCXsKKwkgIGlmIChiZmRfYnJlYWQgKCZkZXNjLCBz aXplb2YgZGVzYywgYWJmZCkgIT0gc2l6ZW9mIGRlc2MpCisJICAgIGdvdG8g ZmFpbDsKKworCSAgc2VjID0gbWFrZV9iZmRfYXNlY3Rpb24gKGFiZmQsICIu ZGF0YSIsCisJCQkJICAgU0VDX0FMTE9DICsgU0VDX0xPQUQgKyBTRUNfSEFT X0NPTlRFTlRTLAorCQkJCSAgIGRlc2MubWVtb3J5LnJ2YSwKKwkJCQkgICBk ZXNjLm1lbW9yeS5zaXplLAorCQkJCSAgIGRlc2Muc3RhcnRBZGRyZXNzKTsK KwkgIGlmICghc2VjKQorCSAgICBnb3RvIGZhaWw7CisJfQorICAgIH0KKwor ICBpZiAobWVtb3J5NjRMaXN0UnZhKQorICAgIHsKKyAgICAgIGR1bXBfbWVt b3J5NjRfbGlzdCBsaXN0NjQ7CisgICAgICBkdW1wX21lbW9yeV9kZXNjNjQg ZGVzYzY0OworICAgICAgdWludDY0X3QgcjsKKworICAgICAgaWYgKGJmZF9z ZWVrIChhYmZkLCBtZW1vcnk2NExpc3RSdmEsIFNFRUtfU0VUKSAhPSAwCisJ ICB8fCBiZmRfYnJlYWQgKCZsaXN0NjQsIHNpemVvZiBsaXN0NjQsIGFiZmQp ICE9IHNpemVvZiBsaXN0NjQpCisJZ290byBmYWlsOworCisgICAgICBmb3Ig KHIgPSAwOyByIDwgbGlzdDY0LnJhbmdlQ291bnQ7IHIrKykKKwl7CisJICBp ZiAoYmZkX2JyZWFkICgmZGVzYzY0LCBzaXplb2YgZGVzYzY0LCBhYmZkKSAh PSBzaXplb2YgZGVzYzY0KQorCSAgICBnb3RvIGZhaWw7CisKKwkgIHNlYyA9 IG1ha2VfYmZkX2FzZWN0aW9uIChhYmZkLCAiLmRhdGEiLAorCQkJCSAgIFNF Q19BTExPQyArIFNFQ19MT0FEICsgU0VDX0hBU19DT05URU5UUywKKwkJCQkg ICBsaXN0NjQuYmFzZVJ2YSwKKwkJCQkgICBkZXNjNjQuc2l6ZSwKKwkJCQkg ICBkZXNjNjQuc3RhcnRBZGRyZXNzKTsKKwkgIGlmICghc2VjKQorCSAgICBn b3RvIGZhaWw7CisKKwkgIGxpc3Q2NC5iYXNlUnZhICs9IGRlc2M2NC5zaXpl OworCX0KKyAgICB9CisKKyAgdWludDMyX3QgZXhjZXB0aW9uVGhyZWFkSWQg PSAwOworICBpZiAoZXhjZXB0aW9uUnZhKQorICAgIHsKKyAgICAgIGR1bXBf ZXhjZXB0aW9uX3N0cmVhbSBleGNlcHRpb247CisgICAgICBjaGFyIHNlY25h bWVbMzJdOworCisgICAgICBpZiAoYmZkX3NlZWsgKGFiZmQsIGV4Y2VwdGlv blJ2YSwgU0VFS19TRVQpICE9IDAKKwkgIHx8IGJmZF9icmVhZCAoJmV4Y2Vw dGlvbiwgc2l6ZW9mIGV4Y2VwdGlvbiwgYWJmZCkgIT0gc2l6ZW9mIGV4Y2Vw dGlvbikKKwlnb3RvIGZhaWw7CisKKyAgICAgIHNlYyA9IG1ha2VfYmZkX2Fz ZWN0aW9uIChhYmZkLCAiLnJlZyIsCisJCQkgICAgICAgU0VDX0hBU19DT05U RU5UUywKKwkJCSAgICAgICBleGNlcHRpb24uY29udGV4dC5ydmEsCisJCQkg ICAgICAgZXhjZXB0aW9uLmNvbnRleHQuc2l6ZSwKKwkJCSAgICAgICAwKTsK KyAgICAgIGlmICghc2VjKQorCWdvdG8gZmFpbDsKKworICAgICAgc3ByaW50 ZiAoc2VjbmFtZSwgIi5yZWcvJXUiLCBleGNlcHRpb24udGhyZWFkSWQpOwor ICAgICAgc2VjID0gbWFrZV9iZmRfYXNlY3Rpb24gKGFiZmQsIHNlY25hbWUs CisJCQkgICAgICAgU0VDX0hBU19DT05URU5UUywKKwkJCSAgICAgICBleGNl cHRpb24uY29udGV4dC5ydmEsCisJCQkgICAgICAgZXhjZXB0aW9uLmNvbnRl eHQuc2l6ZSwKKwkJCSAgICAgICAwKTsKKyAgICAgIGlmICghc2VjKQorCWdv dG8gZmFpbDsKKworICAgICAgZXhjZXB0aW9uVGhyZWFkSWQgPSBleGNlcHRp b24udGhyZWFkSWQ7CisgICAgfQorCisgIGlmICh0aHJlYWRMaXN0UnZhKQor ICAgIHsKKyAgICAgIHVpbnQzMl90IHRocmVhZENvdW50OworICAgICAgZHVt cF90aHJlYWQgdGhyZWFkOworICAgICAgY2hhciBzZWNuYW1lWzMyXTsKKyAg ICAgIHVpbnQzMl90IHQ7CisKKyAgICAgIGlmIChiZmRfc2VlayAoYWJmZCwg dGhyZWFkTGlzdFJ2YSwgU0VFS19TRVQpICE9IDAKKwkgIHx8IGJmZF9icmVh ZCAoJnRocmVhZENvdW50LCBzaXplb2YgdGhyZWFkQ291bnQsIGFiZmQpCisJ ICAhPSBzaXplb2YgdGhyZWFkQ291bnQpCisJZ290byBmYWlsOworCisgICAg ICBmb3IgKHQgPSAwOyB0IDwgdGhyZWFkQ291bnQ7IHQrKykKKwl7CisJICBp ZiAoYmZkX2JyZWFkICgmdGhyZWFkLCBzaXplb2YgdGhyZWFkLCBhYmZkKSAh PSBzaXplb2YgdGhyZWFkKQorCSAgICBnb3RvIGZhaWw7CisKKwkgIHNlYyA9 IG1ha2VfYmZkX2FzZWN0aW9uIChhYmZkLCAiLnN0YWNrIiwKKwkJCQkgICBT RUNfQUxMT0MgKyBTRUNfTE9BRCArIFNFQ19IQVNfQ09OVEVOVFMsCisJCQkJ ICAgdGhyZWFkLnN0YWNrLm1lbW9yeS5ydmEsCisJCQkJICAgdGhyZWFkLnN0 YWNrLm1lbW9yeS5zaXplLAorCQkJCSAgIHRocmVhZC5zdGFjay5zdGFydEFk ZHJlc3MpOworCSAgaWYgKCFzZWMpCisJICAgIGdvdG8gZmFpbDsKKworCSAg aWYgKHRocmVhZC50aHJlYWRJZCAhPSBleGNlcHRpb25UaHJlYWRJZCkKKwkg ICAgeworCSAgICAgIHNwcmludGYgKHNlY25hbWUsICIucmVnLyV1IiwgdGhy ZWFkLnRocmVhZElkKTsKKwkgICAgICBzZWMgPSBtYWtlX2JmZF9hc2VjdGlv biAoYWJmZCwgc2VjbmFtZSwKKwkJCQkgICAgICAgU0VDX0hBU19DT05URU5U UywKKwkJCQkgICAgICAgdGhyZWFkLmNvbnRleHQucnZhLAorCQkJCSAgICAg ICB0aHJlYWQuY29udGV4dC5zaXplLAorCQkJCSAgICAgICAwKTsKKwkgICAg ICBpZiAoIXNlYykKKwkJZ290byBmYWlsOworCSAgICB9CisJfQorICAgIH0K KworICBpZiAoc3lzdGVtSW5mb1J2YSkKKyAgICB7CisgICAgICB1aW50MTZf dCBhcmNoOworICAgICAgaWYgKGJmZF9zZWVrIChhYmZkLCBzeXN0ZW1JbmZv UnZhLCBTRUVLX1NFVCkgIT0gMAorCSAgfHwgYmZkX2JyZWFkICgmYXJjaCwg c2l6ZW9mIGFyY2gsIGFiZmQpICE9IHNpemVvZiBhcmNoCisJICB8fCAoYXJj aCAhPSAwICYmIGFyY2ggIT0gOSkpCisJZ290byBmYWlsOworCisgICAgICBi ZmRfZGVmYXVsdF9zZXRfYXJjaF9tYWNoIChhYmZkLCBiZmRfYXJjaF9pMzg2 LAorCQkJCSBhcmNoID09IDkgPyBiZmRfbWFjaF94ODZfNjQgOiAwKTsKKyAg ICB9CisKKyAgcmV0dXJuIGFiZmQtPnh2ZWM7CisKK2ZhaWw6CisgIHJldHVy biBOVUxMOworfQpkaWZmIC0tZ2l0IGEvYmZkL2xpYmNvZmYtaW4uaCBiL2Jm ZC9saWJjb2ZmLWluLmgKaW5kZXggODA3ODE3Yzk0ZS4uN2M1MDMxMzk2MSAx MDA2NDQKLS0tIGEvYmZkL2xpYmNvZmYtaW4uaAorKysgYi9iZmQvbGliY29m Zi1pbi5oCkBAIC01ODMsNiArNTgzLDkgQEAgZXh0ZXJuIGJmZF9ib29sZWFu IGJmZF9jb2ZmX2djX3NlY3Rpb25zCiBleHRlcm4gY29uc3QgY2hhciAqYmZk X2NvZmZfZ3JvdXBfbmFtZQogICAoYmZkICosIGNvbnN0IGFzZWN0aW9uICop OwogCitleHRlcm4gY29uc3QgYmZkX3RhcmdldCAqY29mZl9jb3JlX2ZpbGVf cAorICAoYmZkICopOworCiAjZGVmaW5lIGNvZmZfZ2V0X3NlY3Rpb25fY29u dGVudHNfaW5fd2luZG93IFwKICAgX2JmZF9nZW5lcmljX2dldF9zZWN0aW9u X2NvbnRlbnRzX2luX3dpbmRvdwogCmRpZmYgLS1naXQgYS9iZmQvbGliY29m Zi5oIGIvYmZkL2xpYmNvZmYuaAppbmRleCBlNmFmOWQ2MTMwLi5lZTczZTlm OTgyIDEwMDY0NAotLS0gYS9iZmQvbGliY29mZi5oCisrKyBiL2JmZC9saWJj b2ZmLmgKQEAgLTU4Nyw2ICs1ODcsOSBAQCBleHRlcm4gYmZkX2Jvb2xlYW4g YmZkX2NvZmZfZ2Nfc2VjdGlvbnMKIGV4dGVybiBjb25zdCBjaGFyICpiZmRf Y29mZl9ncm91cF9uYW1lCiAgIChiZmQgKiwgY29uc3QgYXNlY3Rpb24gKik7 CiAKK2V4dGVybiBjb25zdCBiZmRfdGFyZ2V0ICpjb2ZmX2NvcmVfZmlsZV9w CisgIChiZmQgKik7CisKICNkZWZpbmUgY29mZl9nZXRfc2VjdGlvbl9jb250 ZW50c19pbl93aW5kb3cgXAogICBfYmZkX2dlbmVyaWNfZ2V0X3NlY3Rpb25f Y29udGVudHNfaW5fd2luZG93CiAKZGlmZiAtLWdpdCBhL2dkYi9hbWQ2NC13 aW5kb3dzLXRkZXAuYyBiL2dkYi9hbWQ2NC13aW5kb3dzLXRkZXAuYwppbmRl eCBkNGQ3OTY4MmRkLi42ZTE3NzRhNjE3IDEwMDY0NAotLS0gYS9nZGIvYW1k NjQtd2luZG93cy10ZGVwLmMKKysrIGIvZ2RiL2FtZDY0LXdpbmRvd3MtdGRl cC5jCkBAIC0zMyw2ICszMyw3NiBAQAogI2luY2x1ZGUgInZhbHVlLmgiCiAj aW5jbHVkZSA8YWxnb3JpdGhtPgogCisjZGVmaW5lIEFNRDY0X1dJTkRPV1Nf U0laRU9GX0dSRUdTRVQgMTIzMgorCitzdGF0aWMgaW50IGFtZDY0X3dpbmRv d3NfZ3JlZ3NldF9yZWdfb2Zmc2V0W10gPQoreworICAxMjAsIC8qIHJheCAq LworICAxNDQsIC8qIHJieCAqLworICAxMjgsIC8qIHJjeCAqLworICAxMzYs IC8qIHJkeCAqLworCisgIDE2OCwgLyogcnNpICovCisgIDE3NiwgLyogcmRp ICovCisgIDE2MCwgLyogcmJwICovCisgIDE1MiwgLyogcnNwICovCisKKyAg MTg0LCAvKiByOCAqLworICAxOTIsIC8qIHI5ICovCisgIDIwMCwgLyogcjEw ICovCisgIDIwOCwgLyogcjExICovCisgIDIxNiwgLyogcjEyICovCisgIDIy NCwgLyogcjEzICovCisgIDIzMiwgLyogcjE0ICovCisgIDI0MCwgLyogcjE1 ICovCisKKyAgMjQ4LCAvKiByaXAgKi8KKyAgNjgsIC8qIGVmbGFncyAqLwor ICA1NiwgLyogY3MgKi8KKyAgNjYsIC8qIHNzICovCisKKyAgNTgsIC8qIGRz ICovCisgIDYwLCAvKiBlcyAqLworICA2MiwgLyogZnMgKi8KKyAgNjQsIC8q IGdzICovCisKKyAgMjg4LCAvKiBzdDAgKi8KKyAgMzA0LCAvKiBzdDEgKi8K KyAgMzIwLCAvKiBzdDIgKi8KKyAgMzM2LCAvKiBzdDMgKi8KKyAgMzUyLCAv KiBzdDQgKi8KKyAgMzY4LCAvKiBzdDUgKi8KKyAgMzg0LCAvKiBzdDYgKi8K KyAgNDAwLCAvKiBzdDcgKi8KKworICAyNTYsIC8qIGZjdHJsICovCisgIDI1 OCwgLyogZnN0YXQgKi8KKyAgMjYwLCAvKiBmdGFnICovCisgIDI2OCwgLyog ZmlzZWcgKi8KKyAgMjY0LCAvKiBmaW9mZiAqLworICAyNzYsIC8qIGZvc2Vn ICovCisgIDI3MiwgLyogZm9vZmYgKi8KKyAgMjYyLCAvKiBmb3AgKi8KKwor ICA0MTYsIC8qIHhtbTAgKi8KKyAgNDMyLCAvKiB4bW0xICovCisgIDQ0OCwg LyogeG1tMiAqLworICA0NjQsIC8qIHhtbTMgKi8KKyAgNDgwLCAvKiB4bW00 ICovCisgIDQ5NiwgLyogeG1tNSAqLworICA1MTIsIC8qIHhtbTYgKi8KKyAg NTI4LCAvKiB4bW03ICovCisgIDU0NCwgLyogeG1tOCAqLworICA1NjAsIC8q IHhtbTkgKi8KKyAgNTc2LCAvKiB4bW0xMCAqLworICA1OTIsIC8qIHhtbTEx ICovCisgIDYwOCwgLyogeG1tMTIgKi8KKyAgNjI0LCAvKiB4bW0xMyAqLwor ICA2NDAsIC8qIHhtbTE0ICovCisgIDY1NiwgLyogeG1tMTUgKi8KKyAgMjgw LCAvKiBteGNzciAqLworfTsKKwogLyogVGhlIHJlZ2lzdGVycyB1c2VkIHRv IHBhc3MgaW50ZWdlciBhcmd1bWVudHMgZHVyaW5nIGEgZnVuY3Rpb24gY2Fs bC4gICovCiBzdGF0aWMgaW50IGFtZDY0X3dpbmRvd3NfZHVtbXlfY2FsbF9p bnRlZ2VyX3JlZ3NbXSA9CiB7CkBAIC0xMjExLDYgKzEyODEsOCBAQCBhbWQ2 NF93aW5kb3dzX2F1dG9fd2lkZV9jaGFyc2V0ICh2b2lkKQogc3RhdGljIHZv aWQKIGFtZDY0X3dpbmRvd3NfaW5pdF9hYmkgKHN0cnVjdCBnZGJhcmNoX2lu Zm8gaW5mbywgc3RydWN0IGdkYmFyY2ggKmdkYmFyY2gpCiB7CisgIHN0cnVj dCBnZGJhcmNoX3RkZXAgKnRkZXAgPSBnZGJhcmNoX3RkZXAgKGdkYmFyY2gp OworCiAgIC8qIFRoZSBkd2FyZjIgdW53aW5kZXIgKGFwcGVuZGVkIHZlcnkg ZWFybHkgYnkgaTM4Nl9nZGJhcmNoX2luaXQpIGlzCiAgICAgIHByZWZlcnJl ZCBvdmVyIHRoZSBTRUggb25lLiAgVGhlIHJlYXNvbnMgYXJlOgogICAgICAt IGJpbmFyaWVzIHdpdGhvdXQgU0VIIGJ1dCB3aXRoIGR3YXJmMiBkZWJ1ZyBp bmZvIGFyZSBjb3JyZWN0bHkgaGFuZGxlZApAQCAtMTI0MSw2ICsxMzEzLDEw IEBAIGFtZDY0X3dpbmRvd3NfaW5pdF9hYmkgKHN0cnVjdCBnZGJhcmNoX2lu Zm8gaW5mbywgc3RydWN0IGdkYmFyY2ggKmdkYmFyY2gpCiAKICAgc2V0X2dk YmFyY2hfc2tpcF9wcm9sb2d1ZSAoZ2RiYXJjaCwgYW1kNjRfd2luZG93c19z a2lwX3Byb2xvZ3VlKTsKIAorICB0ZGVwLT5ncmVnc2V0X3JlZ19vZmZzZXQg PSBhbWQ2NF93aW5kb3dzX2dyZWdzZXRfcmVnX29mZnNldDsKKyAgdGRlcC0+ Z3JlZ3NldF9udW1fcmVncyA9IEFSUkFZX1NJWkUgKGFtZDY0X3dpbmRvd3Nf Z3JlZ3NldF9yZWdfb2Zmc2V0KTsKKyAgdGRlcC0+c2l6ZW9mX2dyZWdzZXQg PSBBTUQ2NF9XSU5ET1dTX1NJWkVPRl9HUkVHU0VUOworCiAgIHNldF9nZGJh cmNoX2F1dG9fd2lkZV9jaGFyc2V0IChnZGJhcmNoLCBhbWQ2NF93aW5kb3dz X2F1dG9fd2lkZV9jaGFyc2V0KTsKIH0KIApkaWZmIC0tZ2l0IGEvZ2RiL3dp bmRvd3MtdGRlcC5jIGIvZ2RiL3dpbmRvd3MtdGRlcC5jCmluZGV4IDkxYTc3 OGNkODEuLjZiYmVlOTc5MTAgMTAwNjQ0Ci0tLSBhL2dkYi93aW5kb3dzLXRk ZXAuYworKysgYi9nZGIvd2luZG93cy10ZGVwLmMKQEAgLTM0LDYgKzM0LDkg QEAKICNpbmNsdWRlICJzb2xpYi5oIgogI2luY2x1ZGUgInNvbGliLXRhcmdl dC5oIgogI2luY2x1ZGUgImdkYmNvcmUuaCIKKyNpbmNsdWRlICJjaGFyc2V0 LmgiCisjaW5jbHVkZSAiY29mZi9pbnRlcm5hbC5oIgorI2luY2x1ZGUgImxp YmNvZmYuaCIKIAogLyogV2luZG93cyBzaWduYWwgbnVtYmVycyBkaWZmZXIg YmV0d2VlbiBNaW5HVyBmbGF2b3JzIGFuZCBiZXR3ZWVuCiAgICB0aG9zZSBh bmQgQ3lnd2luLiAgVGhlIGJlbG93IGVudW1lcmF0aW9uIHdhcyBnbGVhbmVk IGZyb20gdGhlCkBAIC04MjgsMTAgKzgzMSwxMyBAQCBjb3JlX3Byb2Nlc3Nf bW9kdWxlX3NlY3Rpb24gKGJmZCAqYWJmZCwgYXNlY3Rpb24gKnNlY3QsIHZv aWQgKm9iaikKICAgY2hhciAqbW9kdWxlX25hbWU7CiAgIHNpemVfdCBtb2R1 bGVfbmFtZV9zaXplOwogICBDT1JFX0FERFIgYmFzZV9hZGRyOworICBpbnQg aXNfbW9kdWxlLCBpc19jb3JlbW9kdWxlOwogCiAgIGdkYl9ieXRlICpidWYg PSBOVUxMOwogCi0gIGlmICghc3RhcnRzd2l0aCAoc2VjdC0+bmFtZSwgIi5t b2R1bGUiKSkKKyAgaXNfbW9kdWxlID0gc3RhcnRzd2l0aCAoc2VjdC0+bmFt ZSwgIi5tb2R1bGUiKTsKKyAgaXNfY29yZW1vZHVsZSA9IHN0YXJ0c3dpdGgg KHNlY3QtPm5hbWUsICIuY29yZW1vZHVsZS8iKTsKKyAgaWYgKCFpc19tb2R1 bGUgJiYgIWlzX2NvcmVtb2R1bGUpCiAgICAgcmV0dXJuOwogCiAgIGJ1ZiA9 IChnZGJfYnl0ZSAqKSB4bWFsbG9jIChiZmRfc2VjdGlvbl9zaXplIChzZWN0 KSArIDEpOwpAQCAtODQ1LDYgKzg1MSwyNyBAQCBjb3JlX3Byb2Nlc3NfbW9k dWxlX3NlY3Rpb24gKGJmZCAqYWJmZCwgYXNlY3Rpb24gKnNlY3QsIHZvaWQg Km9iaikKICAgICBnb3RvIG91dDsKIAogCisgIGlmIChpc19jb3JlbW9kdWxl KQorICAgIHsKKyAgICAgIGF1dG9fb2JzdGFjayBob3N0X25hbWU7CisgICAg ICBjb252ZXJ0X2JldHdlZW5fZW5jb2RpbmdzICh0YXJnZXRfd2lkZV9jaGFy c2V0IChkYXRhLT5nZGJhcmNoKSwKKwkJCQkgaG9zdF9jaGFyc2V0ICgpLAor CQkJCSBidWYsIGJmZF9zZWN0aW9uX3NpemUgKHNlY3QpLCAyLAorCQkJCSAm aG9zdF9uYW1lLCB0cmFuc2xpdF9jaGFyKTsKKyAgICAgIG9ic3RhY2tfZ3Jv d19zdHIwICgmaG9zdF9uYW1lLCAiIik7CisgICAgICBtb2R1bGVfbmFtZSA9 IChjaGFyICopIG9ic3RhY2tfYmFzZSAoJmhvc3RfbmFtZSk7CisKKyAgICAg IHNzY2FuZiAoc2VjdC0+bmFtZSArIDEyLCAiJWxseCIsICZiYXNlX2FkZHIp OworCisgICAgICBpZiAoZGF0YS0+bW9kdWxlX2NvdW50ICE9IDApCisJd2lu ZG93c194ZmVyX3NoYXJlZF9saWJyYXJ5IChtb2R1bGVfbmFtZSwgYmFzZV9h ZGRyLAorCQkJCSAgICAgTlVMTCwgZGF0YS0+Z2RiYXJjaCwgZGF0YS0+b2Jz dGFjayk7CisgICAgICBkYXRhLT5tb2R1bGVfY291bnQrKzsKKworICAgICAg eGZyZWUgKGJ1Zik7CisgICAgICByZXR1cm47CisgICAgfQorCiAKICAgLyog QSBEV09SRCAoZGF0YV90eXBlKSBmb2xsb3dlZCBieSBzdHJ1Y3Qgd2luZG93 c19jb3JlX21vZHVsZV9pbmZvLiAgKi8KIAotLSAKMi4xNS4xLndpbmRvd3Mu MgoK ------=_Part_3632313_1136051261.1581532650472 Content-Type: application/octet-stream Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="=?UTF-8?b?MDAwMy1BZGRpdGlvbmFsLWNvcmUtZmlsZS1mdW5jdGlvbnMtZm9yLW1pbmlkdW1wLnBhdGNo?=" Content-ID: <260bcc4d-12d0-005e-106f-e19e3368e8f0@yahoo.com> Content-length: 11961 RnJvbSBmMmI5MGU5YTk3MmMxZjk5N2M5MWQ0OWUwZjkyYjhmNjU0NTY0YWVm IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBIYW5uZXMgRG9tYW5p IDxzc2Jzc2FAeWFob28uZGU+CkRhdGU6IFRodSwgMzEgSmFuIDIwMTkgMDE6 MzE6MDUgKzAxMDAKU3ViamVjdDogW1BBVENIIDMvNl0gQWRkaXRpb25hbCBj b3JlIGZpbGUgZnVuY3Rpb25zIGZvciBtaW5pZHVtcC4KCi0tLQogYmZkL2Nv ZmYtaTM4Ni5jICAgIHwgICAyICstCiBiZmQvY29mZi14ODZfNjQuYyAgfCAg IDIgKy0KIGJmZC9jb2ZmZ2VuLmMgICAgICB8IDEwNyArKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwogYmZk L2xpYmNvZmYtaW4uaCAgIHwgICA4ICsrKysKIGJmZC9saWJjb2ZmLmggICAg ICB8ICAgOCArKysrCiBnZGIvd2luZG93cy10ZGVwLmMgfCAgNDcgKysrKysr KysrKysrKysrKysrKysrKysKIDYgZmlsZXMgY2hhbmdlZCwgMTcyIGluc2Vy dGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvYmZkL2Nv ZmYtaTM4Ni5jIGIvYmZkL2NvZmYtaTM4Ni5jCmluZGV4IDcwNWRmMmViNzUu LjRiY2ZjYjY2OGMgMTAwNjQ0Ci0tLSBhL2JmZC9jb2ZmLWkzODYuYworKysg Yi9iZmQvY29mZi1pMzg2LmMKQEAgLTY5NSw3ICs2OTUsNyBAQCBjb25zdCBi ZmRfdGFyZ2V0CiAKICAgQkZEX0pVTVBfVEFCTEVfR0VORVJJQyAoY29mZiks CiAgIEJGRF9KVU1QX1RBQkxFX0NPUFkgKGNvZmYpLAotICBCRkRfSlVNUF9U QUJMRV9DT1JFIChfYmZkX25vY29yZSksCisgIEJGRF9KVU1QX1RBQkxFX0NP UkUgKGNvZmYpLAogICBCRkRfSlVNUF9UQUJMRV9BUkNISVZFIChfYmZkX2Fy Y2hpdmVfY29mZiksCiAgIEJGRF9KVU1QX1RBQkxFX1NZTUJPTFMgKGNvZmYp LAogICBCRkRfSlVNUF9UQUJMRV9SRUxPQ1MgKGNvZmYpLApkaWZmIC0tZ2l0 IGEvYmZkL2NvZmYteDg2XzY0LmMgYi9iZmQvY29mZi14ODZfNjQuYwppbmRl eCAwZGMwMTM2Y2Q1Li44NTQ0MzQ4ODZmIDEwMDY0NAotLS0gYS9iZmQvY29m Zi14ODZfNjQuYworKysgYi9iZmQvY29mZi14ODZfNjQuYwpAQCAtODEyLDcg KzgxMiw3IEBAIGNvbnN0IGJmZF90YXJnZXQKIAogICBCRkRfSlVNUF9UQUJM RV9HRU5FUklDIChjb2ZmKSwKICAgQkZEX0pVTVBfVEFCTEVfQ09QWSAoY29m ZiksCi0gIEJGRF9KVU1QX1RBQkxFX0NPUkUgKF9iZmRfbm9jb3JlKSwKKyAg QkZEX0pVTVBfVEFCTEVfQ09SRSAoY29mZiksCiAgIEJGRF9KVU1QX1RBQkxF X0FSQ0hJVkUgKF9iZmRfYXJjaGl2ZV9jb2ZmKSwKICAgQkZEX0pVTVBfVEFC TEVfU1lNQk9MUyAoY29mZiksCiAgIEJGRF9KVU1QX1RBQkxFX1JFTE9DUyAo Y29mZiksCmRpZmYgLS1naXQgYS9iZmQvY29mZmdlbi5jIGIvYmZkL2NvZmZn ZW4uYwppbmRleCBmOWYyNTMwOTUyLi4yZTFlMDMzMzJhIDEwMDY0NAotLS0g YS9iZmQvY29mZmdlbi5jCisrKyBiL2JmZC9jb2ZmZ2VuLmMKQEAgLTQyLDYg KzQyLDcgQEAKICNpbmNsdWRlICJsaWJiZmQuaCIKICNpbmNsdWRlICJjb2Zm L2ludGVybmFsLmgiCiAjaW5jbHVkZSAibGliY29mZi5oIgorI2luY2x1ZGUg ImxpYmliZXJ0eS5oIgogCiAvKiBUYWtlIGEgc2VjdGlvbiBoZWFkZXIgcmVh ZCBmcm9tIGEgY29mZiBmaWxlIChpbiBIT1NUIGJ5dGUgb3JkZXIpLAogICAg YW5kIG1ha2UgYSBCRkQgInNlY3Rpb24iIG91dCBvZiBpdC4gIFRoaXMgaXMg dXNlZCBieSBFQ09GRi4gICovCkBAIC0zMTg2LDYgKzMxODcsMTQgQEAgX2Jm ZF9jb2ZmX2Nsb3NlX2FuZF9jbGVhbnVwIChiZmQgKmFiZmQpCiAKIC8qIFJl YWQgbWluaWR1bXAgZmlsZS4gICovCiAKK3R5cGVkZWYgc3RydWN0Cit7Cisg IGludCBwaWQ7CisgIGludCBzaWduYWw7CisgIGNoYXIgKmV4ZV9uYW1lOwor fQorcGVfY29yZV9kYXRhOworCiAjcHJhZ21hIHBhY2socHVzaCw0KQogCiB0 eXBlZGVmIHN0cnVjdApAQCAtMzM0NSw2ICszMzU0LDE0IEBAIHR5cGVkZWYg c3RydWN0CiB9CiBkdW1wX21vZHVsZTsKIAordHlwZWRlZiBzdHJ1Y3QKK3sK KyAgdWludDMyX3QgaW5mb1NpemU7CisgIHVpbnQzMl90IGZsYWdzOworICB1 aW50MzJfdCBwcm9jZXNzSWQ7Cit9CitkdW1wX21pc2M7CisKICNwcmFnbWEg cGFjayhwb3ApCiAKIApAQCAtMzM4NCw2ICszNDAxLDcgQEAgY29mZl9jb3Jl X2ZpbGVfcCAoYmZkICphYmZkKQogICB1aW50MzJfdCBleGNlcHRpb25SdmEg PSAwOwogICB1aW50MzJfdCB0aHJlYWRMaXN0UnZhID0gMDsKICAgdWludDMy X3Qgc3lzdGVtSW5mb1J2YSA9IDA7CisgIHVpbnQzMl90IG1pc2NJbmZvUnZh ID0gMDsKIAogICBpZiAoYmZkX2JyZWFkICgmaGVhZGVyLCBzaXplb2YgaGVh ZGVyLCBhYmZkKSAhPSBzaXplb2YgaGVhZGVyKQogICAgIGdvdG8gZmFpbDsK QEAgLTMzOTIsNiArMzQxMCwxMiBAQCBjb2ZmX2NvcmVfZmlsZV9wIChiZmQg KmFiZmQpCiAgICAgICBoZWFkZXIuc2lnWzJdICE9ICdNJyB8fCBoZWFkZXIu c2lnWzNdICE9ICdQJykKICAgICBnb3RvIGZhaWw7CiAKKyAgcGVfY29yZV9k YXRhICpwY2QgPSBiZmRfemFsbG9jIChhYmZkLCBzaXplb2YgKHBlX2NvcmVf ZGF0YSkpOworICBpZiAoIXBjZCkKKyAgICBnb3RvIGZhaWw7CisKKyAgYWJm ZC0+dGRhdGEuYW55ID0gcGNkOworCiAgIGZvciAocyA9IDA7IHMgPCBoZWFk ZXIuc3RyZWFtQ291bnQ7IHMrKykKICAgICB7CiAgICAgICBkdW1wX2RpcmVj dG9yeSBkaXI7CkBAIC0zNDE4LDYgKzM0NDIsOSBAQCBjb2ZmX2NvcmVfZmls ZV9wIChiZmQgKmFiZmQpCiAJY2FzZSBTeXN0ZW1JbmZvU3RyZWFtOgogCSAg c3lzdGVtSW5mb1J2YSA9IGRpci5sb2MucnZhOwogCSAgYnJlYWs7CisJY2Fz ZSBNaXNjSW5mb1N0cmVhbToKKwkgIG1pc2NJbmZvUnZhID0gZGlyLmxvYy5y dmE7CisJICBicmVhazsKIAl9CiAgICAgfQogCkBAIC0zNDQzLDYgKzM0NzAs MzMgQEAgY29mZl9jb3JlX2ZpbGVfcCAoYmZkICphYmZkKQogCSAgICAgIHx8 IGJmZF9icmVhZCAoJnNpemUsIHNpemVvZiBzaXplLCBhYmZkKSAhPSBzaXpl b2Ygc2l6ZSkKIAkgICAgZ290byBmYWlsOwogCisJICBpZiAoIW0gJiYgc2l6 ZSA+IDEpCisJICAgIHsKKwkgICAgICB1aW50MTZfdCAqd2lkZV9uYW1lID0g YmZkX21hbGxvYyAoc2l6ZSArIDIpOworCSAgICAgIGlmICh3aWRlX25hbWUg PT0gTlVMTCkKKwkJZ290byBmYWlsOworCisJICAgICAgaWYgKGJmZF9icmVh ZCAod2lkZV9uYW1lLCBzaXplLCBhYmZkKSA9PSBzaXplKQorCQl7CisJCSAg dWludDMyX3QgbGVuID0gc2l6ZSAvIDI7CisJCSAgd2lkZV9uYW1lW2xlbl0g PSAwOworCQkgIHBjZC0+ZXhlX25hbWUgPSBiZmRfemFsbG9jIChhYmZkLCBs ZW4gKyAxKTsKKwkJICBpZiAocGNkLT5leGVfbmFtZSkKKwkJICAgIHsKKyNp ZmRlZiBfX01JTkdXMzJfXworCQkgICAgICB3Y3N0b21icyAocGNkLT5leGVf bmFtZSwgd2lkZV9uYW1lLCBsZW4pOworI2Vsc2UKKwkJICAgICAgdWludDMy X3QgbjsKKwkJICAgICAgZm9yIChuID0gMDsgbiA8IHNpemU7IG4rKykKKwkJ CXBjZC0+ZXhlX25hbWVbbl0gPQorCQkJICB3aWRlX25hbWVbbl0gPCAweDgw ID8gd2lkZV9uYW1lW25dIDogJz8nOworI2VuZGlmCisJCSAgICB9CisJCX0K KworCSAgICAgIGZyZWUgKHdpZGVfbmFtZSk7CisJICAgIH0KKwogCSAgc3By aW50ZiAoc2VjbmFtZSwgIi5jb3JlbW9kdWxlLyVsbHgiLCBtb2R1bGUuYmFz ZSk7CiAKIAkgIHNlYyA9IG1ha2VfYmZkX2FzZWN0aW9uIChhYmZkLCBzZWNu YW1lLApAQCAtMzU0MCw2ICszNTk0LDEzIEBAIGNvZmZfY29yZV9maWxlX3Ag KGJmZCAqYWJmZCkKIAlnb3RvIGZhaWw7CiAKICAgICAgIGV4Y2VwdGlvblRo cmVhZElkID0gZXhjZXB0aW9uLnRocmVhZElkOworCisgICAgICAvKiBzb21l IGV4Y2VwdGlvbiBjb2RlcyBhcmUgYmlnZ2VyIHRoYW4gSU5UX01BWCwgc28g dGhpcyBtYWtlcyBzdXJlCisJIGJpdHMgMjQgLSAyNyBhcmUgMCwgYW5kIG1v dmUgdGhlIGhpZ2hlc3QgNCBiaXRzIGRvd24uCisJIHdpbmRvd3NfZ2RiX3Np Z25hbF9mcm9tX3RhcmdldCgpIHVzZXMgdGhlc2UgY2hhbmdlZCB2YWx1ZXMu ICovCisgICAgICBpZiAoIShleGNlcHRpb24ucmVjb3JkLmNvZGUgJiAweDBG MDAwMDAwKSkKKwlwY2QtPnNpZ25hbCA9ICgoZXhjZXB0aW9uLnJlY29yZC5j b2RlICYgMHhGMDAwMDAwMCkgPj4gNCkKKwkgIHwgKGV4Y2VwdGlvbi5yZWNv cmQuY29kZSAmIDB4MDBGRkZGRkYpOwogICAgIH0KIAogICBpZiAodGhyZWFk TGlzdFJ2YSkKQEAgLTM1OTMsOCArMzY1NCw1NCBAQCBjb2ZmX2NvcmVfZmls ZV9wIChiZmQgKmFiZmQpCiAJCQkJIGFyY2ggPT0gOSA/IGJmZF9tYWNoX3g4 Nl82NCA6IDApOwogICAgIH0KIAorICBpZiAobWlzY0luZm9SdmEpCisgICAg eworICAgICAgZHVtcF9taXNjIG1pc2M7CisgICAgICBpZiAoYmZkX3NlZWsg KGFiZmQsIG1pc2NJbmZvUnZhLCBTRUVLX1NFVCkgIT0gMAorCSAgfHwgYmZk X2JyZWFkICgmbWlzYywgc2l6ZW9mIG1pc2MsIGFiZmQpICE9IHNpemVvZiBt aXNjCisJICB8fCBtaXNjLmluZm9TaXplIDwgc2l6ZW9mIG1pc2MKKwkgIHx8 ICEobWlzYy5mbGFncyAmIDEpKQorCWdvdG8gZmFpbDsKKworICAgICAgcGNk LT5waWQgPSBtaXNjLnByb2Nlc3NJZDsKKyAgICB9CisKICAgcmV0dXJuIGFi ZmQtPnh2ZWM7CiAKIGZhaWw6CiAgIHJldHVybiBOVUxMOwogfQorCisKK2No YXIgKgorY29mZl9jb3JlX2ZpbGVfZmFpbGluZ19jb21tYW5kIChiZmQgKmFi ZmQpCit7CisgIHJldHVybiAoKHBlX2NvcmVfZGF0YSAqKSBhYmZkLT50ZGF0 YS5hbnkpLT5leGVfbmFtZTsKK30KKworaW50Citjb2ZmX2NvcmVfZmlsZV9m YWlsaW5nX3NpZ25hbCAoYmZkICphYmZkKQoreworICByZXR1cm4gKChwZV9j b3JlX2RhdGEgKikgYWJmZC0+dGRhdGEuYW55KS0+c2lnbmFsOworfQorCitp bnQKK2NvZmZfY29yZV9maWxlX3BpZCAoYmZkICphYmZkKQoreworICByZXR1 cm4gKChwZV9jb3JlX2RhdGEgKikgYWJmZC0+dGRhdGEuYW55KS0+cGlkOwor fQorCitiZmRfYm9vbGVhbgorY29mZl9jb3JlX2ZpbGVfbWF0Y2hlc19leGVj dXRhYmxlX3AgKGJmZCAqY29yZV9iZmQsCisJCQkJICAgICBiZmQgKmV4ZWNf YmZkKQoreworICBjb25zdCBjaGFyICpjb3JlX2V4ZSA9ICgocGVfY29yZV9k YXRhICopIGNvcmVfYmZkLT50ZGF0YS5hbnkpLT5leGVfbmFtZTsKKyAgY29u c3QgY2hhciAqZXhlY19leGUgPSBiZmRfZ2V0X2ZpbGVuYW1lIChleGVjX2Jm ZCk7CisgIGlmICghY29yZV9leGUpCisgICAgcmV0dXJuIFRSVUU7CisKKyAg Y29yZV9leGUgPSBkb3NfbGJhc2VuYW1lIChjb3JlX2V4ZSk7CisgIGV4ZWNf ZXhlID0gbGJhc2VuYW1lIChleGVjX2V4ZSk7CisKKyAgcmV0dXJuIHN0cmNh c2VjbXAgKGNvcmVfZXhlLCBleGVjX2V4ZSkgPT0gMDsKK30KZGlmZiAtLWdp dCBhL2JmZC9saWJjb2ZmLWluLmggYi9iZmQvbGliY29mZi1pbi5oCmluZGV4 IDdjNTAzMTM5NjEuLjZhODZmMTdmNGMgMTAwNjQ0Ci0tLSBhL2JmZC9saWJj b2ZmLWluLmgKKysrIGIvYmZkL2xpYmNvZmYtaW4uaApAQCAtNTg1LDYgKzU4 NSwxNCBAQCBleHRlcm4gY29uc3QgY2hhciAqYmZkX2NvZmZfZ3JvdXBfbmFt ZQogCiBleHRlcm4gY29uc3QgYmZkX3RhcmdldCAqY29mZl9jb3JlX2ZpbGVf cAogICAoYmZkICopOworZXh0ZXJuIGNoYXIgKmNvZmZfY29yZV9maWxlX2Zh aWxpbmdfY29tbWFuZAorICAoYmZkICopOworZXh0ZXJuIGludCBjb2ZmX2Nv cmVfZmlsZV9mYWlsaW5nX3NpZ25hbAorICAoYmZkICopOworZXh0ZXJuIGlu dCBjb2ZmX2NvcmVfZmlsZV9waWQKKyAgKGJmZCAqKTsKK2V4dGVybiBiZmRf Ym9vbGVhbiBjb2ZmX2NvcmVfZmlsZV9tYXRjaGVzX2V4ZWN1dGFibGVfcAor ICAoYmZkICosIGJmZCAqKTsKIAogI2RlZmluZSBjb2ZmX2dldF9zZWN0aW9u X2NvbnRlbnRzX2luX3dpbmRvdyBcCiAgIF9iZmRfZ2VuZXJpY19nZXRfc2Vj dGlvbl9jb250ZW50c19pbl93aW5kb3cKZGlmZiAtLWdpdCBhL2JmZC9saWJj b2ZmLmggYi9iZmQvbGliY29mZi5oCmluZGV4IGVlNzNlOWY5ODIuLjFlOGZk MjljNDEgMTAwNjQ0Ci0tLSBhL2JmZC9saWJjb2ZmLmgKKysrIGIvYmZkL2xp YmNvZmYuaApAQCAtNTg5LDYgKzU4OSwxNCBAQCBleHRlcm4gY29uc3QgY2hh ciAqYmZkX2NvZmZfZ3JvdXBfbmFtZQogCiBleHRlcm4gY29uc3QgYmZkX3Rh cmdldCAqY29mZl9jb3JlX2ZpbGVfcAogICAoYmZkICopOworZXh0ZXJuIGNo YXIgKmNvZmZfY29yZV9maWxlX2ZhaWxpbmdfY29tbWFuZAorICAoYmZkICop OworZXh0ZXJuIGludCBjb2ZmX2NvcmVfZmlsZV9mYWlsaW5nX3NpZ25hbAor ICAoYmZkICopOworZXh0ZXJuIGludCBjb2ZmX2NvcmVfZmlsZV9waWQKKyAg KGJmZCAqKTsKK2V4dGVybiBiZmRfYm9vbGVhbiBjb2ZmX2NvcmVfZmlsZV9t YXRjaGVzX2V4ZWN1dGFibGVfcAorICAoYmZkICosIGJmZCAqKTsKIAogI2Rl ZmluZSBjb2ZmX2dldF9zZWN0aW9uX2NvbnRlbnRzX2luX3dpbmRvdyBcCiAg IF9iZmRfZ2VuZXJpY19nZXRfc2VjdGlvbl9jb250ZW50c19pbl93aW5kb3cK ZGlmZiAtLWdpdCBhL2dkYi93aW5kb3dzLXRkZXAuYyBiL2dkYi93aW5kb3dz LXRkZXAuYwppbmRleCA2YmJlZTk3OTEwLi4wMzc1NWExMjQ0IDEwMDY0NAot LS0gYS9nZGIvd2luZG93cy10ZGVwLmMKKysrIGIvZ2RiL3dpbmRvd3MtdGRl cC5jCkBAIC05MzgsNiArOTM4LDUxIEBAIGkzODZfd2luZG93c19jb3JlX3Bp ZF90b19zdHIgKHN0cnVjdCBnZGJhcmNoICpnZGJhcmNoLCBwdGlkX3QgcHRp ZCkKICAgcmV0dXJuIG5vcm1hbF9waWRfdG9fc3RyIChwdGlkKTsKIH0KIAor c3RhdGljIGVudW0gZ2RiX3NpZ25hbAord2luZG93c19nZGJfc2lnbmFsX2Zy b21fdGFyZ2V0IChzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCwKKwkJCQlpbnQg c2lnbmFsKQoreworICB1bnNpZ25lZCBpbnQgdXNpZ25hbCA9IHNpZ25hbDsK KyAgc3dpdGNoICh1c2lnbmFsKQorICAgIHsKKyAgICBjYXNlIDA6CisgICAg ICByZXR1cm4gR0RCX1NJR05BTF8wOworCisgICAgY2FzZSAweEMwMDAwMDU6 IC8qIEVYQ0VQVElPTl9BQ0NFU1NfVklPTEFUSU9OICovCisgICAgY2FzZSAw eEMwMDAwRkQ6IC8qIFNUQVRVU19TVEFDS19PVkVSRkxPVyAqLworICAgICAg cmV0dXJuIEdEQl9TSUdOQUxfU0VHVjsKKworICAgIGNhc2UgMHhDMDAwMDhD OiAvKiBFWENFUFRJT05fQVJSQVlfQk9VTkRTX0VYQ0VFREVEICovCisgICAg Y2FzZSAweEMwMDAwOEQ6IC8qIFNUQVRVU19GTE9BVF9ERU5PUk1BTF9PUEVS QU5EICovCisgICAgY2FzZSAweEMwMDAwOEU6IC8qIFNUQVRVU19GTE9BVF9E SVZJREVfQllfWkVSTyAqLworICAgIGNhc2UgMHhDMDAwMDhGOiAvKiBTVEFU VVNfRkxPQVRfSU5FWEFDVF9SRVNVTFQgKi8KKyAgICBjYXNlIDB4QzAwMDA5 MDogLyogU1RBVFVTX0ZMT0FUX0lOVkFMSURfT1BFUkFUSU9OICovCisgICAg Y2FzZSAweEMwMDAwOTE6IC8qIFNUQVRVU19GTE9BVF9PVkVSRkxPVyAqLwor ICAgIGNhc2UgMHhDMDAwMDkyOiAvKiBTVEFUVVNfRkxPQVRfU1RBQ0tfQ0hF Q0sgKi8KKyAgICBjYXNlIDB4QzAwMDA5MzogLyogU1RBVFVTX0ZMT0FUX1VO REVSRkxPVyAqLworICAgIGNhc2UgMHhDMDAwMDk0OiAvKiBTVEFUVVNfSU5U RUdFUl9ESVZJREVfQllfWkVSTyAqLworICAgIGNhc2UgMHhDMDAwMDk1OiAv KiBTVEFUVVNfSU5URUdFUl9PVkVSRkxPVyAqLworICAgICAgcmV0dXJuIEdE Ql9TSUdOQUxfRlBFOworCisgICAgY2FzZSAweDgwMDAwMDM6IC8qIEVYQ0VQ VElPTl9CUkVBS1BPSU5UICovCisgICAgY2FzZSAweDgwMDAwMDQ6IC8qIEVY Q0VQVElPTl9TSU5HTEVfU1RFUCAqLworICAgICAgcmV0dXJuIEdEQl9TSUdO QUxfVFJBUDsKKworICAgIGNhc2UgMHg0MDEwMDA1OiAvKiBEQkdfQ09OVFJP TF9DICovCisgICAgY2FzZSAweDQwMTAwMDg6IC8qIERCR19DT05UUk9MX0JS RUFLICovCisgICAgICByZXR1cm4gR0RCX1NJR05BTF9JTlQ7CisKKyAgICBj YXNlIDB4QzAwMDAxRDogLyogRVhDRVBUSU9OX0lMTEVHQUxfSU5TVFJVQ1RJ T04gKi8KKyAgICBjYXNlIDB4QzAwMDA5NjogLyogRVhDRVBUSU9OX1BSSVZf SU5TVFJVQ1RJT04gKi8KKyAgICBjYXNlIDB4QzAwMDAyNTogLyogRVhDRVBU SU9OX05PTkNPTlRJTlVBQkxFX0VYQ0VQVElPTiAqLworICAgICAgcmV0dXJu IEdEQl9TSUdOQUxfSUxMOworCisgICAgY2FzZSAweDQwMDAwMTU6IC8qIEZB VEFMX0FQUF9FWElUICovCisgICAgICByZXR1cm4gR0RCX1NJR05BTF9BQlJU OworICAgIH0KKyAgcmV0dXJuIEdEQl9TSUdOQUxfVU5LTk9XTjsKK30KKwog LyogVG8gYmUgY2FsbGVkIGZyb20gdGhlIHZhcmlvdXMgR0RCX09TQUJJX0NZ R1dJTiBoYW5kbGVycyBmb3IgdGhlCiAgICB2YXJpb3VzIFdpbmRvd3MgYXJj aGl0ZWN0dXJlcyBhbmQgbWFjaGluZSB0eXBlcy4gICovCiAKQEAgLTk2NCw2 ICsxMDA5LDggQEAgd2luZG93c19pbml0X2FiaSAoc3RydWN0IGdkYmFyY2hf aW5mbyBpbmZvLCBzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCkKICAgc2V0X2dk YmFyY2hfY29yZV94ZmVyX3NoYXJlZF9saWJyYXJpZXMKICAgICAoZ2RiYXJj aCwgd2luZG93c19jb3JlX3hmZXJfc2hhcmVkX2xpYnJhcmllcyk7CiAgIHNl dF9nZGJhcmNoX2NvcmVfcGlkX3RvX3N0ciAoZ2RiYXJjaCwgaTM4Nl93aW5k b3dzX2NvcmVfcGlkX3RvX3N0cik7CisgIHNldF9nZGJhcmNoX2dkYl9zaWdu YWxfZnJvbV90YXJnZXQgKGdkYmFyY2gsCisJCQkJICAgICAgd2luZG93c19n ZGJfc2lnbmFsX2Zyb21fdGFyZ2V0KTsKIH0KIAogLyogSW1wbGVtZW50YXRp b24gb2YgYHRsYicgdmFyaWFibGUuICAqLwotLSAKMi4xNS4xLndpbmRvd3Mu MgoK ------=_Part_3632313_1136051261.1581532650472 Content-Type: application/octet-stream Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="=?UTF-8?b?MDAwNC1Vc2UtVEVCLXBvaW50ZXItb2YtbWluaWR1bXAtZmlsZS1mb3ItX3RsYi5wYXRjaA==?=" Content-ID: <8570842d-d65a-6f08-a9d6-3ec870b0add9@yahoo.com> Content-length: 2343 RnJvbSAwMjk3YWM1MzhiOTZmZTE2NGRlYWZlODVmODg5YTA4ZTczMWYyZDhi IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBIYW5uZXMgRG9tYW5p IDxzc2Jzc2FAeWFob28uZGU+CkRhdGU6IFRodSwgMzEgSmFuIDIwMTkgMTc6 MTM6MTIgKzAxMDAKU3ViamVjdDogW1BBVENIIDQvNl0gVXNlIFRFQiBwb2lu dGVyIG9mIG1pbmlkdW1wIGZpbGUgZm9yICRfdGxiLgoKLS0tCiBiZmQvY29m Zmdlbi5jIHwgIDkgKysrKysrKysrCiBnZGIvY29yZWxvdy5jIHwgMjAgKysr KysrKysrKysrKysrKysrKysKIDIgZmlsZXMgY2hhbmdlZCwgMjkgaW5zZXJ0 aW9ucygrKQoKZGlmZiAtLWdpdCBhL2JmZC9jb2ZmZ2VuLmMgYi9iZmQvY29m Zmdlbi5jCmluZGV4IDJlMWUwMzMzMmEuLjViNWM1M2M3YmEgMTAwNjQ0Ci0t LSBhL2JmZC9jb2ZmZ2VuLmMKKysrIGIvYmZkL2NvZmZnZW4uYwpAQCAtMzYz OSw2ICszNjM5LDE1IEBAIGNvZmZfY29yZV9maWxlX3AgKGJmZCAqYWJmZCkK IAkgICAgICBpZiAoIXNlYykKIAkJZ290byBmYWlsOwogCSAgICB9CisKKwkg IHNwcmludGYgKHNlY25hbWUsICIuY29yZXRsYi8ldSIsIHRocmVhZC50aHJl YWRJZCk7CisJICBzZWMgPSBtYWtlX2JmZF9hc2VjdGlvbiAoYWJmZCwgc2Vj bmFtZSwKKwkJCQkgICBTRUNfSEFTX0NPTlRFTlRTLAorCQkJCSAgIHRocmVh ZExpc3RSdmEgKyA0ICsgdCAqIHNpemVvZiB0aHJlYWQgKyAxNiwKKwkJCQkg ICA4LAorCQkJCSAgIDApOworCSAgaWYgKCFzZWMpCisJICAgIGdvdG8gZmFp bDsKIAl9CiAgICAgfQogCmRpZmYgLS1naXQgYS9nZGIvY29yZWxvdy5jIGIv Z2RiL2NvcmVsb3cuYwppbmRleCA1Y2QwNThkNTk5Li4zZGEzNGFiZDVlIDEw MDY0NAotLS0gYS9nZGIvY29yZWxvdy5jCisrKyBiL2dkYi9jb3JlbG93LmMK QEAgLTk4LDYgKzk4LDggQEAgcHVibGljOgogCiAgIGJvb2wgaW5mb19wcm9j IChjb25zdCBjaGFyICosIGVudW0gaW5mb19wcm9jX3doYXQpIG92ZXJyaWRl OwogCisgIGJvb2wgZ2V0X3RpYl9hZGRyZXNzIChwdGlkX3QgcHRpZCwgQ09S RV9BRERSICphZGRyKSBvdmVycmlkZTsKKwogICAvKiBBIGZldyBoZWxwZXJz LiAgKi8KIAogICAvKiBHZXR0ZXIsIHNlZSB2YXJpYWJsZSBkZWZpbml0aW9u LiAgKi8KQEAgLTk3OCw2ICs5ODAsMjQgQEAgY29yZV90YXJnZXQ6Omhhc19y ZWdpc3RlcnMgKCkKICAgcmV0dXJuIChjb3JlX2JmZCAhPSBOVUxMKTsKIH0K IAorYm9vbAorY29yZV90YXJnZXQ6OmdldF90aWJfYWRkcmVzcyAocHRpZF90 IHB0aWQsIENPUkVfQUREUiAqYWRkcikKK3sKKyAgY2hhciBzZWNuYW1lWzMy XTsKKyAgc3RydWN0IGJmZF9zZWN0aW9uICpzZWN0aW9uOworCisgIHNwcmlu dGYgKHNlY25hbWUsICIuY29yZXRsYi8lbGQiLCBwdGlkLmx3cCAoKSk7CisK KyAgc2VjdGlvbiA9IGJmZF9nZXRfc2VjdGlvbl9ieV9uYW1lIChjb3JlX2Jm ZCwgc2VjbmFtZSk7CisgIGlmIChzZWN0aW9uID09IE5VTEwpCisgICAgcmV0 dXJuIGZhbHNlOworCisgIGlmIChiZmRfc2VjdGlvbl9zaXplIChzZWN0aW9u KSA8IHNpemVvZiAqYWRkcikKKyAgICByZXR1cm4gZmFsc2U7CisKKyAgcmV0 dXJuIGJmZF9nZXRfc2VjdGlvbl9jb250ZW50cyAoY29yZV9iZmQsIHNlY3Rp b24sIGFkZHIsIDAsIHNpemVvZiAqYWRkcik7Cit9CisKIC8qIEltcGxlbWVu dCB0aGUgdG9faW5mb19wcm9jIG1ldGhvZC4gICovCiAKIGJvb2wKLS0gCjIu MTUuMS53aW5kb3dzLjIKCg== ------=_Part_3632313_1136051261.1581532650472 Content-Type: application/octet-stream Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="=?UTF-8?b?MDAwNS1BZGQtX3NpZ2luZm8tZm9yLW1pbmlkdW1wLnBhdGNo?=" Content-ID: <75b64189-0b32-893a-ea23-a0b862bfd9e4@yahoo.com> Content-length: 3587 RnJvbSA4YzdmNzU0MmVhMTBmOWQxMTMxNzZiNGVhODc5MTM3OTVjMjQzM2M2 IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBIYW5uZXMgRG9tYW5p IDxzc2Jzc2FAeWFob28uZGU+CkRhdGU6IFRodSwgMzEgSmFuIDIwMTkgMDE6 NDg6NTcgKzAxMDAKU3ViamVjdDogW1BBVENIIDUvNl0gQWRkICRfc2lnaW5m byBmb3IgbWluaWR1bXAuCgotLS0KIGJmZC9jb2ZmZ2VuLmMgICAgICB8ICA4 ICsrKysrKysrCiBnZGIvd2luZG93cy10ZGVwLmMgfCA0NCArKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwogMiBmaWxlcyBj aGFuZ2VkLCA1MiBpbnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0IGEvYmZkL2Nv ZmZnZW4uYyBiL2JmZC9jb2ZmZ2VuLmMKaW5kZXggNWI1YzUzYzdiYS4uODU2 YmNmNTU0NCAxMDA2NDQKLS0tIGEvYmZkL2NvZmZnZW4uYworKysgYi9iZmQv Y29mZmdlbi5jCkBAIC0zNTkzLDYgKzM1OTMsMTQgQEAgY29mZl9jb3JlX2Zp bGVfcCAoYmZkICphYmZkKQogICAgICAgaWYgKCFzZWMpCiAJZ290byBmYWls OwogCisgICAgICBzZWMgPSBtYWtlX2JmZF9hc2VjdGlvbiAoYWJmZCwgIi5j b3JlZXhjZXB0aW9uIiwKKwkJCSAgICAgICBTRUNfSEFTX0NPTlRFTlRTLAor CQkJICAgICAgIGV4Y2VwdGlvblJ2YSArIDgsCisJCQkgICAgICAgc2l6ZW9m IGV4Y2VwdGlvbi5yZWNvcmQsCisJCQkgICAgICAgMCk7CisgICAgICBpZiAo IXNlYykKKwlnb3RvIGZhaWw7CisKICAgICAgIGV4Y2VwdGlvblRocmVhZElk ID0gZXhjZXB0aW9uLnRocmVhZElkOwogCiAgICAgICAvKiBzb21lIGV4Y2Vw dGlvbiBjb2RlcyBhcmUgYmlnZ2VyIHRoYW4gSU5UX01BWCwgc28gdGhpcyBt YWtlcyBzdXJlCmRpZmYgLS1naXQgYS9nZGIvd2luZG93cy10ZGVwLmMgYi9n ZGIvd2luZG93cy10ZGVwLmMKaW5kZXggMDM3NTVhMTI0NC4uZGM1ODNjYjJj MCAxMDA2NDQKLS0tIGEvZ2RiL3dpbmRvd3MtdGRlcC5jCisrKyBiL2dkYi93 aW5kb3dzLXRkZXAuYwpAQCAtOTgzLDYgKzk4Myw0OSBAQCB3aW5kb3dzX2dk Yl9zaWduYWxfZnJvbV90YXJnZXQgKHN0cnVjdCBnZGJhcmNoICpnZGJhcmNo LAogICByZXR1cm4gR0RCX1NJR05BTF9VTktOT1dOOwogfQogCitzdGF0aWMg TE9OR0VTVAord2luZG93c19jb3JlX3hmZXJfc2lnaW5mbyAoc3RydWN0IGdk YmFyY2ggKmdkYmFyY2gsIGdkYl9ieXRlICpyZWFkYnVmLAorCQkJICAgVUxP TkdFU1Qgb2Zmc2V0LCBVTE9OR0VTVCBsZW4pCit7CisgIGFzZWN0aW9uICpz ZWN0aW9uID0gYmZkX2dldF9zZWN0aW9uX2J5X25hbWUgKGNvcmVfYmZkLCAi LmNvcmVleGNlcHRpb24iKTsKKyAgaWYgKHNlY3Rpb24gPT0gTlVMTCkKKyAg ICByZXR1cm4gLTE7CisKKyAgLyogVGhlIGV4Y2VwdGlvbiByZWNvcmQgb2Yg dGhlIG1pbmlkdW1wIGZpbGUgaXMgYWx3YXlzIGluIDY0Yml0IGZvcm1hdC4g ICovCisgIGlmIChnZGJhcmNoX3B0cl9iaXQgKGdkYmFyY2gpID09IDMyKQor ICAgIHsKKyAgICAgIHVpbnQzMl90IHJlY1szOF07CisgICAgICBpbnQgcjsK KworI2RlZmluZSBFWENfU0laRV8zMiA4MAorI2RlZmluZSBFWENfU0laRV82 NCAxNTIKKworICAgICAgaWYgKG9mZnNldCA+IEVYQ19TSVpFXzMyKQorCXJl dHVybiAtMTsKKworICAgICAgaWYgKGJmZF9zZWN0aW9uX3NpemUgKHNlY3Rp b24pICE9IEVYQ19TSVpFXzY0KQorCXJldHVybiAtMTsKKworICAgICAgaWYg KCFiZmRfZ2V0X3NlY3Rpb25fY29udGVudHMgKGNvcmVfYmZkLCBzZWN0aW9u LCByZWMsIDAsIEVYQ19TSVpFXzY0KSkKKwlyZXR1cm4gLTE7CisKKyAgICAg IGZvciAociA9IDI7IHIgPCAxOTsgcisrKQorCXJlY1tyICsgMV0gPSByZWNb ciAqIDJdOworCisgICAgICBpZiAobGVuID4gRVhDX1NJWkVfMzIgLSBvZmZz ZXQpCisJbGVuID0gRVhDX1NJWkVfMzIgLSBvZmZzZXQ7CisKKyAgICAgIG1l bWNweSAocmVhZGJ1ZiwgKGNoYXIgKikgcmVjICsgb2Zmc2V0LCBsZW4pOwor CisgICAgICByZXR1cm4gbGVuOworICAgIH0KKworICBpZiAoIWJmZF9nZXRf c2VjdGlvbl9jb250ZW50cyAoY29yZV9iZmQsIHNlY3Rpb24sIHJlYWRidWYs IG9mZnNldCwgbGVuKSkKKyAgICByZXR1cm4gLTE7CisKKyAgcmV0dXJuIGxl bjsKK30KKwogLyogVG8gYmUgY2FsbGVkIGZyb20gdGhlIHZhcmlvdXMgR0RC X09TQUJJX0NZR1dJTiBoYW5kbGVycyBmb3IgdGhlCiAgICB2YXJpb3VzIFdp bmRvd3MgYXJjaGl0ZWN0dXJlcyBhbmQgbWFjaGluZSB0eXBlcy4gICovCiAK QEAgLTEwMTEsNiArMTA1NCw3IEBAIHdpbmRvd3NfaW5pdF9hYmkgKHN0cnVj dCBnZGJhcmNoX2luZm8gaW5mbywgc3RydWN0IGdkYmFyY2ggKmdkYmFyY2gp CiAgIHNldF9nZGJhcmNoX2NvcmVfcGlkX3RvX3N0ciAoZ2RiYXJjaCwgaTM4 Nl93aW5kb3dzX2NvcmVfcGlkX3RvX3N0cik7CiAgIHNldF9nZGJhcmNoX2dk Yl9zaWduYWxfZnJvbV90YXJnZXQgKGdkYmFyY2gsCiAJCQkJICAgICAgd2lu ZG93c19nZGJfc2lnbmFsX2Zyb21fdGFyZ2V0KTsKKyAgc2V0X2dkYmFyY2hf Y29yZV94ZmVyX3NpZ2luZm8gKGdkYmFyY2gsIHdpbmRvd3NfY29yZV94ZmVy X3NpZ2luZm8pOwogfQogCiAvKiBJbXBsZW1lbnRhdGlvbiBvZiBgdGxiJyB2 YXJpYWJsZS4gICovCi0tIAoyLjE1LjEud2luZG93cy4yCgo= ------=_Part_3632313_1136051261.1581532650472 Content-Type: application/octet-stream Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="=?UTF-8?b?MDAwNi1BZGQtZmFrZS1taW5pZHVtcC0uYXV4di1zZWN0aW9uLWZvci1iYXNlLXJlbG9jYXRpb24ucGF0Y2g=?=" Content-ID: <49072490-9d91-1937-447c-ef5d25af2dc0@yahoo.com> Content-length: 2697 RnJvbSBkMGEwZjVhM2ZkZGM3NjMyMWE3ZDZkZmJlYjE0NTNjNjU1ZmRhYWZh IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBIYW5uZXMgRG9tYW5p IDxzc2Jzc2FAeWFob28uZGU+CkRhdGU6IFdlZCwgNiBGZWIgMjAxOSAxOToy MDo1MCArMDEwMApTdWJqZWN0OiBbUEFUQ0ggNi82XSBBZGQgZmFrZSBtaW5p ZHVtcCAuYXV4diBzZWN0aW9uIGZvciBiYXNlIHJlbG9jYXRpb24KCi0tLQog YmZkL2NvZmZnZW4uYyB8IDQwICsrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysKIDEgZmlsZSBjaGFuZ2VkLCA0MCBpbnNlcnRpb25z KCspCgpkaWZmIC0tZ2l0IGEvYmZkL2NvZmZnZW4uYyBiL2JmZC9jb2ZmZ2Vu LmMKaW5kZXggODU2YmNmNTU0NC4uZmNkYWU3OGZiNCAxMDA2NDQKLS0tIGEv YmZkL2NvZmZnZW4uYworKysgYi9iZmQvY29mZmdlbi5jCkBAIC0zNDAyLDYg KzM0MDIsNyBAQCBjb2ZmX2NvcmVfZmlsZV9wIChiZmQgKmFiZmQpCiAgIHVp bnQzMl90IHRocmVhZExpc3RSdmEgPSAwOwogICB1aW50MzJfdCBzeXN0ZW1J bmZvUnZhID0gMDsKICAgdWludDMyX3QgbWlzY0luZm9SdmEgPSAwOworICB1 aW50NjRfdCBleGVjX2Jhc2UgPSAwOwogCiAgIGlmIChiZmRfYnJlYWQgKCZo ZWFkZXIsIHNpemVvZiBoZWFkZXIsIGFiZmQpICE9IHNpemVvZiBoZWFkZXIp CiAgICAgZ290byBmYWlsOwpAQCAtMzQ2Niw2ICszNDY3LDkgQEAgY29mZl9j b3JlX2ZpbGVfcCAoYmZkICphYmZkKQogCSAgaWYgKGJmZF9icmVhZCAoJm1v ZHVsZSwgc2l6ZW9mIG1vZHVsZSwgYWJmZCkgIT0gc2l6ZW9mIG1vZHVsZSkK IAkgICAgZ290byBmYWlsOwogCisJICBpZiAoIW0pCisJICAgIGV4ZWNfYmFz ZSA9IG1vZHVsZS5iYXNlOworCiAJICBpZiAoYmZkX3NlZWsgKGFiZmQsIG1v ZHVsZS5uYW1lUnZhLCBTRUVLX1NFVCkgIT0gMAogCSAgICAgIHx8IGJmZF9i cmVhZCAoJnNpemUsIHNpemVvZiBzaXplLCBhYmZkKSAhPSBzaXplb2Ygc2l6 ZSkKIAkgICAgZ290byBmYWlsOwpAQCAtMzY2OSw2ICszNjczLDQyIEBAIGNv ZmZfY29yZV9maWxlX3AgKGJmZCAqYWJmZCkKIAogICAgICAgYmZkX2RlZmF1 bHRfc2V0X2FyY2hfbWFjaCAoYWJmZCwgYmZkX2FyY2hfaTM4NiwKIAkJCQkg YXJjaCA9PSA5ID8gYmZkX21hY2hfeDg2XzY0IDogMCk7CisKKyAgICAgIGlm IChleGVjX2Jhc2UpCisJeworCSAgYmZkX3NpemVfdHlwZSBhdXh2X3NpemUg PSAwOworCSAgdm9pZCAqYXV4diA9IE5VTEw7CisJICBpZiAoYXJjaCA9PSA5 KQorCSAgICB7CisJICAgICAgYXV4dl9zaXplID0gc2l6ZW9mICh1aW50NjRf dCkgKiA0OworCSAgICAgIHVpbnQ2NF90ICphdXh2NjQgPSBiZmRfemFsbG9j IChhYmZkLCBhdXh2X3NpemUpOworCSAgICAgIGlmICghYXV4djY0KQorCQln b3RvIGZhaWw7CisKKwkgICAgICBhdXh2NjRbMF0gPSA5OyAvKiBBVF9FTlRS WSAqLworCSAgICAgIGF1eHY2NFsxXSA9IGV4ZWNfYmFzZTsKKwkgICAgICBh dXh2ID0gYXV4djY0OworCSAgICB9CisJICBlbHNlCisJICAgIHsKKwkgICAg ICBhdXh2X3NpemUgPSBzaXplb2YgKHVpbnQzMl90KSAqIDQ7CisJICAgICAg dWludDMyX3QgKmF1eHYzMiA9IGJmZF96YWxsb2MgKGFiZmQsIGF1eHZfc2l6 ZSk7CisJICAgICAgaWYgKCFhdXh2MzIpCisJCWdvdG8gZmFpbDsKKworCSAg ICAgIGF1eHYzMlswXSA9IDk7IC8qIEFUX0VOVFJZICovCisJICAgICAgYXV4 djMyWzFdID0gZXhlY19iYXNlOworCSAgICAgIGF1eHYgPSBhdXh2MzI7CisJ ICAgIH0KKworCSAgc2VjID0gbWFrZV9iZmRfYXNlY3Rpb24gKGFiZmQsICIu YXV4diIsCisJCQkJICAgU0VDX0hBU19DT05URU5UUyB8IFNFQ19JTl9NRU1P UlksCisJCQkJICAgMCwgYXV4dl9zaXplLCAwKTsKKwkgIGlmICghc2VjKQor CSAgICBnb3RvIGZhaWw7CisKKwkgIHNlYy0+Y29udGVudHMgPSBhdXh2Owor CX0KICAgICB9CiAKICAgaWYgKG1pc2NJbmZvUnZhKQotLSAKMi4xNS4xLndp bmRvd3MuMgoK ------=_Part_3632313_1136051261.1581532650472--