From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Stefan Kangas Newsgroups: gmane.emacs.bugs Subject: bug#50752: 28.0.50; easy-menu-define lowers the menu-bar key Date: Tue, 26 Oct 2021 01:38:32 -0700 Message-ID: References: <87mtn5fc9s.fsf@gnus.org> <83bl3lchrp.fsf@gnu.org> <87ee8hfajg.fsf@gnus.org> <838rypc98p.fsf@gnu.org> <87h7ddc8iy.fsf@gnus.org> <831r4hc7ta.fsf@gnu.org> <878rypc7e8.fsf@gnus.org> <83zgr5asej.fsf@gnu.org> <8735oxc51n.fsf@gnus.org> <83wnm8c3v3.fsf@gnu.org> <87tuhcc1u1.fsf@gnus.org> <83tuhcaqad.fsf@gnu.org> <881r4fq5b8.fsf@fencepost.gnu.org> <87tuh5z22g.fsf@gnus.org> <83r1c91bu1.fsf@gnu.org> <878ryhz1cb.fsf@gnus.org> <83o87d1acw.fsf@gnu.org> <87h7d5xl8o.fsf@gnus.org> <83lf2h19cn.fsf@gnu.org> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="00000000000017a78505cf3d67e4" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="31950"; mail-complaints-to="usenet@ciao.gmane.io" Cc: rgm@gnu.org, 50752@debbugs.gnu.org, shuguang79@qq.com To: Eli Zaretskii , Lars Ingebrigtsen Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Tue Oct 26 10:41:38 2021 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1mfI1a-00087M-K5 for geb-bug-gnu-emacs@m.gmane-mx.org; Tue, 26 Oct 2021 10:41:38 +0200 Original-Received: from localhost ([::1]:46374 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1mfI1Z-0007en-K9 for geb-bug-gnu-emacs@m.gmane-mx.org; Tue, 26 Oct 2021 04:41:37 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:55236) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mfHz5-0005VE-15 for bug-gnu-emacs@gnu.org; Tue, 26 Oct 2021 04:39:03 -0400 Original-Received: from debbugs.gnu.org ([209.51.188.43]:33559) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1mfHz4-00045O-Ne for bug-gnu-emacs@gnu.org; Tue, 26 Oct 2021 04:39:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1mfHz4-0003hv-HQ for bug-gnu-emacs@gnu.org; Tue, 26 Oct 2021 04:39:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Stefan Kangas Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Tue, 26 Oct 2021 08:39:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 50752 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch Original-Received: via spool by 50752-submit@debbugs.gnu.org id=B50752.163523752214223 (code B ref 50752); Tue, 26 Oct 2021 08:39:02 +0000 Original-Received: (at 50752) by debbugs.gnu.org; 26 Oct 2021 08:38:42 +0000 Original-Received: from localhost ([127.0.0.1]:45105 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mfHyj-0003hK-7H for submit@debbugs.gnu.org; Tue, 26 Oct 2021 04:38:42 -0400 Original-Received: from mail-pj1-f53.google.com ([209.85.216.53]:43570) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mfHyg-0003h6-UI for 50752@debbugs.gnu.org; Tue, 26 Oct 2021 04:38:40 -0400 Original-Received: by mail-pj1-f53.google.com with SMTP id k2-20020a17090ac50200b001a218b956aaso1071131pjt.2 for <50752@debbugs.gnu.org>; Tue, 26 Oct 2021 01:38:38 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:in-reply-to:references:mime-version:date :message-id:subject:to:cc; bh=gIc3BGZmvz8YxycB236EfdFIoHdLbvSeXUna+PV+/gw=; b=w4jmmxa1C3FMiFqVd6Pm/2VVg8+6/zEYumF4ovd93f/zz2Rrvk8tvw9sC1LBlw489o Yf9EW9544OCBn8NRaNanBJXARZabODZpLh8QzSOuvE08VeRf3hwH72lXb7gg4VeR6pfy WR8kAcUdxjYJ+t+nGwWdLItBU6JqzgucaAMjjamMzXazUQIX1222ojcAOQlualsqk3Nq PE9R+7+iK6WOHWSurS7iU53SbXNYYfpt36ap4l2LbzQ6swPnQQJSgsD3Au1ommj9oQy0 19SwYqJItIuFEYjv4Nlu7HzpN7p8K1BwbY3tEy//cCs2+jQIHXhmCH0Lyqv4gjdDXUOK 2VmQ== X-Gm-Message-State: AOAM530UgytEAHwR74VeR1EuFcvCE3gESODryg08WkGcPtlJRIOG1aFl f6P6d2lIBG7XCnA1Y8zp6320QmBA5lQvkgGiqkw= X-Google-Smtp-Source: ABdhPJysemVBljVVQonWG0OgaTEEtzH7eYiou+Iixujeqp0sWClTVaNXSyxv2VAS8yYBh6eO6WEcpNZ3rx0OIDNYR34= X-Received: by 2002:a17:902:e5cc:b0:140:5a47:1e84 with SMTP id u12-20020a170902e5cc00b001405a471e84mr9051984plf.22.1635237513103; Tue, 26 Oct 2021 01:38:33 -0700 (PDT) Original-Received: from 753933720722 named unknown by gmailapi.google.com with HTTPREST; Tue, 26 Oct 2021 01:38:32 -0700 In-Reply-To: <83lf2h19cn.fsf@gnu.org> X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Original-Sender: "bug-gnu-emacs" Xref: news.gmane.io gmane.emacs.bugs:218362 Archived-At: --00000000000017a78505cf3d67e4 Content-Type: text/plain; charset="UTF-8" Eli Zaretskii writes: >> I think just downcasing ASCII would get use more than 99%, really. > > Then let's go with this variant on emacs-28, and leave the full > solution for master. OK. I'm not sure if you just mean my previous patch, but without Lars' fixes for the Turkish language environment, or if you mean a stripped down version of my patch. So I have attached two versions of the patch, one minimal one and the one you've already seen with the additional fixes for language environments. Please let me know which of these is acceptable for emacs-28, and I will push it as soon as possible. Thanks in advance. --00000000000017a78505cf3d67e4 Content-Type: text/x-diff; charset="utf-8"; name="minimal-0001-Be-more-allowing-when-looking-for-menu-bar-items.patch" Content-Disposition: attachment; filename="minimal-0001-Be-more-allowing-when-looking-for-menu-bar-items.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: 8b9c00588c050905_0.1 RnJvbSBmNGE4Y2ZmN2VlMGVmMDlmNWI5NTQ5NmRjY2M1ZmJjZmMyYTk5ZDE4IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBTdGVmYW4gS2FuZ2FzIDxzdGVmYW5AbWFyeGlzdC5zZT4KRGF0 ZTogV2VkLCAxMyBPY3QgMjAyMSAwMDowNDoyMyArMDIwMApTdWJqZWN0OiBbUEFUQ0hdIEJlIG1v cmUgYWxsb3dpbmcgd2hlbiBsb29raW5nIGZvciBtZW51LWJhciBpdGVtcwoKKiBzcmMva2V5bWFw LmMgKGxvb2t1cF9rZXlfMSk6IEZhY3RvciBvdXQgZnVuY3Rpb24gZnJvbQpGbG9va3VwX2tleS4K KEZsb29rdXBfa2V5KTogQmUgY2FzZSBpbnNlbnNpdGl2ZSwgYW5kIHRyZWF0IHNwYWNlcyBhcyBk YXNoZXMsCndoZW4gbG9va2luZyBmb3IgUW1lbnVfYmFyIGl0ZW1zLiAgKEJ1ZyM1MDc1MikKCiog dGVzdC9zcmMva2V5bWFwLXRlc3RzLmVsCihrZXltYXAtbG9va3VwLWtleS9taXhlZC1jYXNlKQoo a2V5bWFwLWxvb2t1cC1rZXkvbWl4ZWQtY2FzZS1tdWx0aWJ5dGUpCihrZXltYXAtbG9va3VwLWtl eW1hcC93aXRoLXNwYWNlcykKKGtleW1hcC1sb29rdXAta2V5bWFwL3dpdGgtc3BhY2VzLW11bHRp Ynl0ZSk6IE5ldyB0ZXN0cy4KLS0tCiBldGMvTkVXUyAgICAgICAgICAgICAgICAgfCAgIDggKysr CiBzcmMva2V5bWFwLmMgICAgICAgICAgICAgfCAxMTIgKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKy0tLS0tLS0tCiB0ZXN0L3NyYy9rZXltYXAtdGVzdHMuZWwgfCAgMzQgKysrKysrKysr KysrCiAzIGZpbGVzIGNoYW5nZWQsIDEzMyBpbnNlcnRpb25zKCspLCAyMSBkZWxldGlvbnMoLSkK CmRpZmYgLS1naXQgYS9ldGMvTkVXUyBiL2V0Yy9ORVdTCmluZGV4IDdmOTc5N2UxZmEuLjYwZGZm ZjYwYWIgMTAwNjQ0Ci0tLSBhL2V0Yy9ORVdTCisrKyBiL2V0Yy9ORVdTCkBAIC00MzQ4LDYgKzQz NDgsMTQgQEAgVGhlIG5ldyBvcHRpb25hbCAiLCIgcGFyYW1ldGVyIGhhcyBiZWVuIGFkZGVkLCBh bmQKICoqICdwYXJzZS10aW1lLXN0cmluZycgY2FuIG5vdyBwYXJzZSBJU08gODYwMSBmb3JtYXQg c3RyaW5ncy4KIFRoZXNlIGhhdmUgYSBmb3JtYXQgbGlrZSAiMjAyMC0wMS0xNVQxNjoxMjoyMS0w ODowMCIuCiAKKy0tLQorKiogJ2xvb2t1cC1rZXknIGlzIG1vcmUgYWxsb3dpbmcgd2hlbiBzZWFy Y2hpbmcgZm9yIGV4dGVuZGVkIG1lbnUgaXRlbXMuCitXaGVuIGxvb2tpbmcgZm9yIGEgbWVudSBp dGVtICdbbWVudS1iYXIgRm9vLUJhcl0nLCBmaXJzdCB0cnkgdG8gZmluZAorYW4gZXhhY3QgbWF0 Y2gsIHRoZW4gbG9vayBmb3IgdGhlIGxvd2VyY2FzZWQgJ1ttZW51LWJhciBmb28tYmFyXScuCitX aGVuIGxvb2tpbmcgZm9yIGEgbWVudSBpdGVtIHdpdGggYSBzeW1ib2wgY29udGFpbmluZyBzcGFj ZXMsIGFzIGluCisnW21lbnUtYmFyIEZvb1wgQmFyXScsIGxvb2sgZm9yIGFuIGV4YWN0IG1hdGNo ICwgdGhlbiBsb29rIGZvciBib3RoCisnW21lbnUtYmFyIGZvb1wgYmFyXScgYW5kICdbbWVudS1i YXIgZm9vLWJhcl0nLgorCiAtLS0KICoqICdtYWtlLW5ldHdvcmstcHJvY2VzcycsICdtYWtlLXNl cmlhbC1wcm9jZXNzJyAnOmNvZGluZycgYmVoYXZpb3IgY2hhbmdlLgogUHJldmlvdXNseSwgcGFz c2luZyAnOmNvZGluZyBuaWwnIHRvIGVpdGhlciBvZiB0aGVzZSBmdW5jdGlvbnMgd291bGQKZGlm ZiAtLWdpdCBhL3NyYy9rZXltYXAuYyBiL3NyYy9rZXltYXAuYwppbmRleCA5NDBhNmY0OTJlLi41 OTU1YjczYzYzIDEwMDY0NAotLS0gYS9zcmMva2V5bWFwLmMKKysrIGIvc3JjL2tleW1hcC5jCkBA IC0xMTgzLDI3ICsxMTgzLDggQEAgREVGVU4gKCJjb21tYW5kLXJlbWFwcGluZyIsIEZjb21tYW5k X3JlbWFwcGluZywgU2NvbW1hbmRfcmVtYXBwaW5nLCAxLCAzLCAwLAogICByZXR1cm4gRklYTlVN UCAoY29tbWFuZCkgPyBRbmlsIDogY29tbWFuZDsKIH0KIAotLyogVmFsdWUgaXMgbnVtYmVyIGlm IEtFWSBpcyB0b28gbG9uZzsgbmlsIGlmIHZhbGlkIGJ1dCBoYXMgbm8gZGVmaW5pdGlvbi4gICov Ci0vKiBHQyBpcyBwb3NzaWJsZSBpbiB0aGlzIGZ1bmN0aW9uLiAgKi8KLQotREVGVU4gKCJsb29r dXAta2V5IiwgRmxvb2t1cF9rZXksIFNsb29rdXBfa2V5LCAyLCAzLCAwLAotICAgICAgIGRvYzog LyogTG9vayB1cCBrZXkgc2VxdWVuY2UgS0VZIGluIEtFWU1BUC4gIFJldHVybiB0aGUgZGVmaW5p dGlvbi4KLUEgdmFsdWUgb2YgbmlsIG1lYW5zIHVuZGVmaW5lZC4gIFNlZSBkb2Mgb2YgYGRlZmlu ZS1rZXknCi1mb3Iga2luZHMgb2YgZGVmaW5pdGlvbnMuCi0KLUEgbnVtYmVyIGFzIHZhbHVlIG1l YW5zIEtFWSBpcyAidG9vIGxvbmciOwotdGhhdCBpcywgY2hhcmFjdGVycyBvciBzeW1ib2xzIGlu IGl0IGV4Y2VwdCBmb3IgdGhlIGxhc3Qgb25lCi1mYWlsIHRvIGJlIGEgdmFsaWQgc2VxdWVuY2Ug b2YgcHJlZml4IGNoYXJhY3RlcnMgaW4gS0VZTUFQLgotVGhlIG51bWJlciBpcyBob3cgbWFueSBj aGFyYWN0ZXJzIGF0IHRoZSBmcm9udCBvZiBLRVkKLWl0IHRha2VzIHRvIHJlYWNoIGEgbm9uLXBy ZWZpeCBrZXkuCi1LRVlNQVAgY2FuIGFsc28gYmUgYSBsaXN0IG9mIGtleW1hcHMuCi0KLU5vcm1h bGx5LCBgbG9va3VwLWtleScgaWdub3JlcyBiaW5kaW5ncyBmb3IgdCwgd2hpY2ggYWN0IGFzIGRl ZmF1bHQKLWJpbmRpbmdzLCB1c2VkIHdoZW4gbm90aGluZyBlbHNlIGluIHRoZSBrZXltYXAgYXBw bGllczsgdGhpcyBtYWtlcyBpdAotdXNhYmxlIGFzIGEgZ2VuZXJhbCBmdW5jdGlvbiBmb3IgcHJv YmluZyBrZXltYXBzLiAgSG93ZXZlciwgaWYgdGhlCi10aGlyZCBvcHRpb25hbCBhcmd1bWVudCBB Q0NFUFQtREVGQVVMVCBpcyBub24tbmlsLCBgbG9va3VwLWtleScgd2lsbAotcmVjb2duaXplIHRo ZSBkZWZhdWx0IGJpbmRpbmdzLCBqdXN0IGFzIGByZWFkLWtleS1zZXF1ZW5jZScgZG9lcy4gICov KQotICAoTGlzcF9PYmplY3Qga2V5bWFwLCBMaXNwX09iamVjdCBrZXksIExpc3BfT2JqZWN0IGFj Y2VwdF9kZWZhdWx0KQorc3RhdGljIExpc3BfT2JqZWN0Citsb29rdXBfa2V5XzEgKExpc3BfT2Jq ZWN0IGtleW1hcCwgTGlzcF9PYmplY3Qga2V5LCBMaXNwX09iamVjdCBhY2NlcHRfZGVmYXVsdCkK IHsKICAgYm9vbCB0X29rID0gIU5JTFAgKGFjY2VwdF9kZWZhdWx0KTsKIApAQCAtMTI0Myw2ICsx MjI0LDk1IEBAIERFRlVOICgibG9va3VwLWtleSIsIEZsb29rdXBfa2V5LCBTbG9va3VwX2tleSwg MiwgMywgMCwKICAgICB9CiB9CiAKKy8qIFZhbHVlIGlzIG51bWJlciBpZiBLRVkgaXMgdG9vIGxv bmc7IG5pbCBpZiB2YWxpZCBidXQgaGFzIG5vIGRlZmluaXRpb24uICAqLworLyogR0MgaXMgcG9z c2libGUgaW4gdGhpcyBmdW5jdGlvbi4gICovCisKK0RFRlVOICgibG9va3VwLWtleSIsIEZsb29r dXBfa2V5LCBTbG9va3VwX2tleSwgMiwgMywgMCwKKyAgICAgICBkb2M6IC8qIExvb2sgdXAga2V5 IHNlcXVlbmNlIEtFWSBpbiBLRVlNQVAuICBSZXR1cm4gdGhlIGRlZmluaXRpb24uCitBIHZhbHVl IG9mIG5pbCBtZWFucyB1bmRlZmluZWQuICBTZWUgZG9jIG9mIGBkZWZpbmUta2V5JworZm9yIGtp bmRzIG9mIGRlZmluaXRpb25zLgorCitBIG51bWJlciBhcyB2YWx1ZSBtZWFucyBLRVkgaXMgInRv byBsb25nIjsKK3RoYXQgaXMsIGNoYXJhY3RlcnMgb3Igc3ltYm9scyBpbiBpdCBleGNlcHQgZm9y IHRoZSBsYXN0IG9uZQorZmFpbCB0byBiZSBhIHZhbGlkIHNlcXVlbmNlIG9mIHByZWZpeCBjaGFy YWN0ZXJzIGluIEtFWU1BUC4KK1RoZSBudW1iZXIgaXMgaG93IG1hbnkgY2hhcmFjdGVycyBhdCB0 aGUgZnJvbnQgb2YgS0VZCitpdCB0YWtlcyB0byByZWFjaCBhIG5vbi1wcmVmaXgga2V5LgorS0VZ TUFQIGNhbiBhbHNvIGJlIGEgbGlzdCBvZiBrZXltYXBzLgorCitOb3JtYWxseSwgYGxvb2t1cC1r ZXknIGlnbm9yZXMgYmluZGluZ3MgZm9yIHQsIHdoaWNoIGFjdCBhcyBkZWZhdWx0CitiaW5kaW5n cywgdXNlZCB3aGVuIG5vdGhpbmcgZWxzZSBpbiB0aGUga2V5bWFwIGFwcGxpZXM7IHRoaXMgbWFr ZXMgaXQKK3VzYWJsZSBhcyBhIGdlbmVyYWwgZnVuY3Rpb24gZm9yIHByb2Jpbmcga2V5bWFwcy4g IEhvd2V2ZXIsIGlmIHRoZQordGhpcmQgb3B0aW9uYWwgYXJndW1lbnQgQUNDRVBULURFRkFVTFQg aXMgbm9uLW5pbCwgYGxvb2t1cC1rZXknIHdpbGwKK3JlY29nbml6ZSB0aGUgZGVmYXVsdCBiaW5k aW5ncywganVzdCBhcyBgcmVhZC1rZXktc2VxdWVuY2UnIGRvZXMuICAqLykKKyAgKExpc3BfT2Jq ZWN0IGtleW1hcCwgTGlzcF9PYmplY3Qga2V5LCBMaXNwX09iamVjdCBhY2NlcHRfZGVmYXVsdCkK K3sKKyAgTGlzcF9PYmplY3QgZm91bmQgPSBsb29rdXBfa2V5XzEgKGtleW1hcCwga2V5LCBhY2Nl cHRfZGVmYXVsdCk7CisgIGlmICghTklMUCAoZm91bmQpICYmICFOVU1CRVJQIChmb3VuZCkpCisg ICAgcmV0dXJuIGZvdW5kOworCisgIC8qIE1lbnUgZGVmaW5pdGlvbnMgbWlnaHQgdXNlIG1peGVk IGNhc2Ugc3ltYm9scyAobm90YWJseSBpbiBvbGQKKyAgICAgdmVyc2lvbnMgb2YgYGVhc3ktbWVu dS1kZWZpbmUnKSwgb3IgdXNlICIgIiBpbnN0ZWFkIG9mICItIi4KKyAgICAgVGhlIHJlc3Qgb2Yg dGhpcyBmdW5jdGlvbiBpcyBhYm91dCBhY2NlcHRpbmcgdGhlc2UgdmFyaWF0aW9ucyBmb3IKKyAg ICAgYmFja3dhcmRzLWNvbXBhdGliaWxpdHkuICAoQnVnIzUwNzUyKSAqLworCisgIC8qIEp1c3Qg c2tpcCBldmVyeXRoaW5nIGJlbG93IHVubGVzcyB0aGlzIGlzIGEgbWVudSBpdGVtLiAgKi8KKyAg aWYgKCFWRUNUT1JQIChrZXkpIHx8ICEoQVNJWkUgKGtleSkgPiAwKQorICAgICAgfHwgIUVRIChB UkVGIChrZXksIDApLCBRbWVudV9iYXIpKQorICAgIHJldHVybiBmb3VuZDsKKworICBwdHJkaWZm X3Qga2V5X2xlbiA9IEFTSVpFIChrZXkpOworICBMaXNwX09iamVjdCBuZXdfa2V5ID0gbWFrZV92 ZWN0b3IgKGtleV9sZW4sIFFuaWwpOworCisgIC8qIEZpcnN0LCBsZXQncyB0cnkgY29udmVydGlu ZyBhbGwgc3ltYm9scyBsaWtlICJGb28tQmFyLUJheiIgdG8KKyAgICAgImZvby1iYXItYmF6Ii4g ICovCisgIGZvciAoaW50IGkgPSAwOyBpIDwga2V5X2xlbjsgaSsrKQorICAgIHsKKyAgICAgIExp c3BfT2JqZWN0IG5ld19pdGVtID0gRmRvd25jYXNlIChGc3ltYm9sX25hbWUgKEFSRUYgKGtleSwg aSkpKTsKKyAgICAgIEFTRVQgKG5ld19rZXksIGksIEZpbnRlcm4gKG5ld19pdGVtLCBRbmlsKSk7 CisgICAgfQorCisgIC8qIENoZWNrIGZvciBtYXRjaC4gICovCisgIGZvdW5kID0gbG9va3VwX2tl eV8xIChrZXltYXAsIG5ld19rZXksIGFjY2VwdF9kZWZhdWx0KTsKKyAgaWYgKCFOSUxQIChmb3Vu ZCkgJiYgIU5VTUJFUlAgKGZvdW5kKSkKKyAgICByZXR1cm4gZm91bmQ7CisKKyAgLyogSWYgd2Ug c3RpbGwgZG9uJ3QgaGF2ZSBhIG1hdGNoLCBsZXQncyBjb252ZXJ0IGFueSBzcGFjZXMgaW4KKyAg ICAgb3VyIGxvd2VyY2FzZWQgc3RyaW5nIGludG8gZGFzaGVzLCBlLmcuICJmb28gYmFyIGJheiIg dG8KKyAgICAgImZvby1iYXItYmF6Ii4gICovCisgIGZvciAoaW50IGkgPSAwOyBpIDwga2V5X2xl bjsgaSsrKQorICAgIHsKKyAgICAgIExpc3BfT2JqZWN0IGxjX2tleSA9IEZzeW1ib2xfbmFtZSAo QVJFRiAobmV3X2tleSwgaSkpOworCisgICAgICAvKiBJZiB0aGVyZSBhcmUgbm8gc3BhY2VzIGlu IHRoaXMgc3ltYm9sLCBqdXN0IHNraXAgaXQuICAqLworICAgICAgaWYgKCFzdHJzdHIgKFNTREFU QSAobGNfa2V5KSwgIiAiKSkKKwljb250aW51ZTsKKworICAgICAgVVNFX1NBRkVfQUxMT0NBOwor ICAgICAgcHRyZGlmZl90IHNpemUgPSBTQ0hBUlMgKGxjX2tleSksIG47CisgICAgICBpZiAoSU5U X01VTFRJUExZX1dSQVBWIChzaXplLCBNQVhfTVVMVElCWVRFX0xFTkdUSCwgJm4pKQorCW4gPSBQ VFJESUZGX01BWDsKKyAgICAgIHVuc2lnbmVkIGNoYXIgKmRzdCA9IFNBRkVfQUxMT0NBIChuKTsK KworICAgICAgLyogV2UgY2FuIHdhbGsgdGhlIHN0cmluZyBkYXRhIGJ5dGUgYnkgYnl0ZSwgYmVj YXVzZSBVVEYtOAorCSBlbmNvZGluZyBlbnN1cmVzIHRoYXQgbm8gb3RoZXIgYnl0ZSBvZiBhbnkg bXVsdGlieXRlCisJIHNlcXVlbmNlIHdpbGwgZXZlciBpbmNsdWRlIGEgNy1iaXQgYnl0ZSBlcXVh bCB0byBhbiBBU0NJSQorCSBzaW5nbGUtYnl0ZSBjaGFyYWN0ZXIuICAqLworICAgICAgbWVtY3B5 IChkc3QsIFNTREFUQSAobGNfa2V5KSwgU0JZVEVTIChsY19rZXkpKTsKKyAgICAgIGZvciAoaW50 IGkgPSAwOyBpIDwgU0JZVEVTIChsY19rZXkpOyArK2kpCisJeworCSAgaWYgKGRzdFtpXSA9PSAn ICcpCisJICAgIGRzdFtpXSA9ICctJzsKKwl9CisgICAgICBMaXNwX09iamVjdAorCW5ld19pdCA9 IG1ha2VfbXVsdGlieXRlX3N0cmluZyAoKGNoYXIgKikgZHN0LCBTQ0hBUlMgKGxjX2tleSksIFNC WVRFUyAobGNfa2V5KSk7CisgICAgICBBU0VUIChuZXdfa2V5LCBpLCBGaW50ZXJuIChuZXdfaXQs IFFuaWwpKTsKKyAgICAgIFNBRkVfRlJFRSAoKTsKKyAgICB9CisKKyAgLyogQ2hlY2sgZm9yIG1h dGNoLiAgKi8KKyAgcmV0dXJuIGxvb2t1cF9rZXlfMSAoa2V5bWFwLCBuZXdfa2V5LCBhY2NlcHRf ZGVmYXVsdCk7Cit9CisKIC8qIE1ha2UgS0VZTUFQIGRlZmluZSBldmVudCBDIGFzIGEga2V5bWFw IChpLmUuLCBhcyBhIHByZWZpeCkuCiAgICBBc3N1bWUgdGhhdCBjdXJyZW50bHkgaXQgZG9lcyBu b3QgZGVmaW5lIEMgYXQgYWxsLgogICAgUmV0dXJuIHRoZSBrZXltYXAuICAqLwpkaWZmIC0tZ2l0 IGEvdGVzdC9zcmMva2V5bWFwLXRlc3RzLmVsIGIvdGVzdC9zcmMva2V5bWFwLXRlc3RzLmVsCmlu ZGV4IDY4YjQyYzM0NmMuLmU4MzVhZjQ4OTAgMTAwNjQ0Ci0tLSBhL3Rlc3Qvc3JjL2tleW1hcC10 ZXN0cy5lbAorKysgYi90ZXN0L3NyYy9rZXltYXAtdGVzdHMuZWwKQEAgLTEyNCw2ICsxMjQsNDAg QEAga2V5bWFwLWxvb2t1cC1rZXkvdG9vLWxvbmcKIDs7IChlcnQtZGVmdGVzdCBrZXltYXAtbG9v a3VwLWtleS9hY2NlcHQtZGVmYXVsdCAoKQogOzsgICAuLi4pCiAKKyhlcnQtZGVmdGVzdCBrZXlt YXAtbG9va3VwLWtleS9taXhlZC1jYXNlICgpCisgICJCYWNrd2FyZHMgY29tcGF0aWJpbGl0eSBi ZWhhdmlvdXIgKEJ1ZyM1MDc1MikuIgorICAobGV0ICgobWFwIChtYWtlLWtleW1hcCkpKQorICAg IChkZWZpbmUta2V5IG1hcCBbbWVudS1iYXIgZm9vIGJhcl0gJ2ZvbykKKyAgICAoc2hvdWxkIChl cSAobG9va3VwLWtleSBtYXAgW21lbnUtYmFyIGZvbyBiYXJdKSAnZm9vKSkKKyAgICAoc2hvdWxk IChlcSAobG9va3VwLWtleSBtYXAgW21lbnUtYmFyIEZvbyBCYXJdKSAnZm9vKSkpCisgIChsZXQg KChtYXAgKG1ha2Uta2V5bWFwKSkpCisgICAgKGRlZmluZS1rZXkgbWFwIFttZW51LWJhciBpLWJh cl0gJ2ZvbykKKyAgICAoc2hvdWxkIChlcSAobG9va3VwLWtleSBtYXAgW21lbnUtYmFyIEktYmFy XSkgJ2ZvbykpKSkKKworKGVydC1kZWZ0ZXN0IGtleW1hcC1sb29rdXAta2V5L21peGVkLWNhc2Ut bXVsdGlieXRlICgpCisgICJCYWNrd2FyZHMgY29tcGF0aWJpbGl0eSBiZWhhdmlvdXIgKEJ1ZyM1 MDc1MikuIgorICAobGV0ICgobWFwIChtYWtlLWtleW1hcCkpKQorICAgIDs7IChkb3duY2FzZSAi w4XDpMO2IikgPT4gIsOlw6TDtiIKKyAgICAoZGVmaW5lLWtleSBtYXAgW21lbnUtYmFyIMOlw6TD tiBiYXJdICdmb28pCisgICAgKHNob3VsZCAoZXEgKGxvb2t1cC1rZXkgbWFwIFttZW51LWJhciDD pcOkw7YgYmFyXSkgJ2ZvbykpCisgICAgKHNob3VsZCAoZXEgKGxvb2t1cC1rZXkgbWFwIFttZW51 LWJhciDDhcOkw7YgQmFyXSkgJ2ZvbykpCisgICAgOzsgKGRvd25jYXNlICLOkyIpID0+ICLOsyIK KyAgICAoZGVmaW5lLWtleSBtYXAgW21lbnUtYmFyIM6zIGJhcl0gJ2JheikKKyAgICAoc2hvdWxk IChlcSAobG9va3VwLWtleSBtYXAgW21lbnUtYmFyIM6zIGJhcl0pICdiYXopKQorICAgIChzaG91 bGQgKGVxIChsb29rdXAta2V5IG1hcCBbbWVudS1iYXIgzpMgQmFyXSkgJ2JheikpKSkKKworKGVy dC1kZWZ0ZXN0IGtleW1hcC1sb29rdXAta2V5bWFwL3dpdGgtc3BhY2VzICgpCisgICJCYWNrd2Fy ZHMgY29tcGF0aWJpbGl0eSBiZWhhdmlvdXIgKEJ1ZyM1MDc1MikuIgorICAobGV0ICgobWFwICht YWtlLWtleW1hcCkpKQorICAgIChkZWZpbmUta2V5IG1hcCBbbWVudS1iYXIgZm9vLWJhcl0gJ2Zv bykKKyAgICAoc2hvdWxkIChlcSAobG9va3VwLWtleSBtYXAgW21lbnUtYmFyIEZvb1wgQmFyXSkg J2ZvbykpKSkKKworKGVydC1kZWZ0ZXN0IGtleW1hcC1sb29rdXAta2V5bWFwL3dpdGgtc3BhY2Vz LW11bHRpYnl0ZSAoKQorICAiQmFja3dhcmRzIGNvbXBhdGliaWxpdHkgYmVoYXZpb3VyIChCdWcj NTA3NTIpLiIKKyAgKGxldCAoKG1hcCAobWFrZS1rZXltYXApKSkKKyAgICAoZGVmaW5lLWtleSBt YXAgW21lbnUtYmFyIMOlw6TDti1iYXJdICdmb28pCisgICAgKHNob3VsZCAoZXEgKGxvb2t1cC1r ZXkgbWFwIFttZW51LWJhciDDhcOkw7ZcIEJhcl0pICdmb28pKSkpCisKIChlcnQtZGVmdGVzdCBk ZXNjcmliZS1idWZmZXItYmluZGluZ3MvaGVhZGVyLWluLWN1cnJlbnQtYnVmZmVyICgpCiAgICJI ZWFkZXIgc2hvdWxkIGJlIGluc2VydGVkIGludG8gdGhlIGN1cnJlbnQgYnVmZmVyLgogaHR0cHM6 Ly9kZWJidWdzLmdudS5vcmcvMzkxNDkjMzEiCi0tIAoyLjMwLjIKCg== --00000000000017a78505cf3d67e4 Content-Type: text/x-diff; charset="utf-8"; name="full-0001-Be-more-allowing-when-looking-for-menu-bar-items.patch" Content-Disposition: attachment; filename="full-0001-Be-more-allowing-when-looking-for-menu-bar-items.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: 8b9c00588c050905_0.2 RnJvbSA3YTNkNWVhY2YyMGEyZWUxY2Y3MzJhODUwYzhlMDI4M2U1OTFhYWE3IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBTdGVmYW4gS2FuZ2FzIDxzdGVmYW5AbWFyeGlzdC5zZT4KRGF0 ZTogV2VkLCAxMyBPY3QgMjAyMSAwMDowNDoyMyArMDIwMApTdWJqZWN0OiBbUEFUQ0hdIEJlIG1v cmUgYWxsb3dpbmcgd2hlbiBsb29raW5nIGZvciBtZW51LWJhciBpdGVtcwoKKiBzcmMva2V5bWFw LmMgKGxvb2t1cF9rZXlfMSk6IEZhY3RvciBvdXQgZnVuY3Rpb24gZnJvbQpGbG9va3VwX2tleS4K KEZsb29rdXBfa2V5KTogQmUgY2FzZSBpbnNlbnNpdGl2ZSwgYW5kIHRyZWF0IHNwYWNlcyBhcyBk YXNoZXMsCndoZW4gbG9va2luZyBmb3IgUW1lbnVfYmFyIGl0ZW1zLiAgKEJ1ZyM1MDc1MikKCiog dGVzdC9zcmMva2V5bWFwLXRlc3RzLmVsCihrZXltYXAtbG9va3VwLWtleS9taXhlZC1jYXNlKQoo a2V5bWFwLWxvb2t1cC1rZXkvbWl4ZWQtY2FzZS1tdWx0aWJ5dGUpCihrZXltYXAtbG9va3VwLWtl eW1hcC93aXRoLXNwYWNlcykKKGtleW1hcC1sb29rdXAta2V5bWFwL3dpdGgtc3BhY2VzLW11bHRp Ynl0ZSkKKGtleW1hcC1sb29rdXAta2V5bWFwL3dpdGgtc3BhY2VzLW11bHRpYnl0ZS1sYW5nLWVu dik6IE5ldyB0ZXN0cy4KLS0tCiBldGMvTkVXUyAgICAgICAgICAgICAgICAgfCAgIDggKysKIHNy Yy9rZXltYXAuYyAgICAgICAgICAgICB8IDE2MSArKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrLS0tLS0KIHRlc3Qvc3JjL2tleW1hcC10ZXN0cy5lbCB8ICA0MyArKysrKysrKysrKwog MyBmaWxlcyBjaGFuZ2VkLCAxOTEgaW5zZXJ0aW9ucygrKSwgMjEgZGVsZXRpb25zKC0pCgpkaWZm IC0tZ2l0IGEvZXRjL05FV1MgYi9ldGMvTkVXUwppbmRleCA3Zjk3OTdlMWZhLi42MGRmZmY2MGFi IDEwMDY0NAotLS0gYS9ldGMvTkVXUworKysgYi9ldGMvTkVXUwpAQCAtNDM0OCw2ICs0MzQ4LDE0 IEBAIFRoZSBuZXcgb3B0aW9uYWwgIiwiIHBhcmFtZXRlciBoYXMgYmVlbiBhZGRlZCwgYW5kCiAq KiAncGFyc2UtdGltZS1zdHJpbmcnIGNhbiBub3cgcGFyc2UgSVNPIDg2MDEgZm9ybWF0IHN0cmlu Z3MuCiBUaGVzZSBoYXZlIGEgZm9ybWF0IGxpa2UgIjIwMjAtMDEtMTVUMTY6MTI6MjEtMDg6MDAi LgogCistLS0KKyoqICdsb29rdXAta2V5JyBpcyBtb3JlIGFsbG93aW5nIHdoZW4gc2VhcmNoaW5n IGZvciBleHRlbmRlZCBtZW51IGl0ZW1zLgorV2hlbiBsb29raW5nIGZvciBhIG1lbnUgaXRlbSAn W21lbnUtYmFyIEZvby1CYXJdJywgZmlyc3QgdHJ5IHRvIGZpbmQKK2FuIGV4YWN0IG1hdGNoLCB0 aGVuIGxvb2sgZm9yIHRoZSBsb3dlcmNhc2VkICdbbWVudS1iYXIgZm9vLWJhcl0nLgorV2hlbiBs b29raW5nIGZvciBhIG1lbnUgaXRlbSB3aXRoIGEgc3ltYm9sIGNvbnRhaW5pbmcgc3BhY2VzLCBh cyBpbgorJ1ttZW51LWJhciBGb29cIEJhcl0nLCBsb29rIGZvciBhbiBleGFjdCBtYXRjaCAsIHRo ZW4gbG9vayBmb3IgYm90aAorJ1ttZW51LWJhciBmb29cIGJhcl0nIGFuZCAnW21lbnUtYmFyIGZv by1iYXJdJy4KKwogLS0tCiAqKiAnbWFrZS1uZXR3b3JrLXByb2Nlc3MnLCAnbWFrZS1zZXJpYWwt cHJvY2VzcycgJzpjb2RpbmcnIGJlaGF2aW9yIGNoYW5nZS4KIFByZXZpb3VzbHksIHBhc3Npbmcg Jzpjb2RpbmcgbmlsJyB0byBlaXRoZXIgb2YgdGhlc2UgZnVuY3Rpb25zIHdvdWxkCmRpZmYgLS1n aXQgYS9zcmMva2V5bWFwLmMgYi9zcmMva2V5bWFwLmMKaW5kZXggOTQwYTZmNDkyZS4uZTRlNTA2 NWYyNiAxMDA2NDQKLS0tIGEvc3JjL2tleW1hcC5jCisrKyBiL3NyYy9rZXltYXAuYwpAQCAtNjUs NiArNjUsOSBAQAogLyogUHJlLWFsbG9jYXRlZCAyLWVsZW1lbnQgdmVjdG9yIGZvciBGY29tbWFu ZF9yZW1hcHBpbmcgdG8gdXNlLiAgKi8KIHN0YXRpYyBMaXNwX09iamVjdCBjb21tYW5kX3JlbWFw cGluZ192ZWN0b3I7CiAKKy8qIENoYXIgdGFibGUgZm9yIHRoZSBiYWNrd2FyZHMtY29tcGF0aWJp bGl0eSBwYXJ0IGluIEZsb29rdXBfa2V5LiAgKi8KK3N0YXRpYyBMaXNwX09iamVjdCB1bmljb2Rl X2Nhc2VfdGFibGU7CisKIC8qIEhhc2ggdGFibGUgdXNlZCB0byBjYWNoZSBhIHJldmVyc2UtbWFw IHRvIHNwZWVkIHVwIGNhbGxzIHRvIHdoZXJlLWlzLiAgKi8KIHN0YXRpYyBMaXNwX09iamVjdCB3 aGVyZV9pc19jYWNoZTsKIC8qIFdoaWNoIGtleW1hcHMgYXJlIHJldmVyc2Utc3RvcmVkIGluIHRo ZSBjYWNoZS4gICovCkBAIC0xMTgzLDI3ICsxMTg2LDggQEAgREVGVU4gKCJjb21tYW5kLXJlbWFw cGluZyIsIEZjb21tYW5kX3JlbWFwcGluZywgU2NvbW1hbmRfcmVtYXBwaW5nLCAxLCAzLCAwLAog ICByZXR1cm4gRklYTlVNUCAoY29tbWFuZCkgPyBRbmlsIDogY29tbWFuZDsKIH0KIAotLyogVmFs dWUgaXMgbnVtYmVyIGlmIEtFWSBpcyB0b28gbG9uZzsgbmlsIGlmIHZhbGlkIGJ1dCBoYXMgbm8g ZGVmaW5pdGlvbi4gICovCi0vKiBHQyBpcyBwb3NzaWJsZSBpbiB0aGlzIGZ1bmN0aW9uLiAgKi8K LQotREVGVU4gKCJsb29rdXAta2V5IiwgRmxvb2t1cF9rZXksIFNsb29rdXBfa2V5LCAyLCAzLCAw LAotICAgICAgIGRvYzogLyogTG9vayB1cCBrZXkgc2VxdWVuY2UgS0VZIGluIEtFWU1BUC4gIFJl dHVybiB0aGUgZGVmaW5pdGlvbi4KLUEgdmFsdWUgb2YgbmlsIG1lYW5zIHVuZGVmaW5lZC4gIFNl ZSBkb2Mgb2YgYGRlZmluZS1rZXknCi1mb3Iga2luZHMgb2YgZGVmaW5pdGlvbnMuCi0KLUEgbnVt YmVyIGFzIHZhbHVlIG1lYW5zIEtFWSBpcyAidG9vIGxvbmciOwotdGhhdCBpcywgY2hhcmFjdGVy cyBvciBzeW1ib2xzIGluIGl0IGV4Y2VwdCBmb3IgdGhlIGxhc3Qgb25lCi1mYWlsIHRvIGJlIGEg dmFsaWQgc2VxdWVuY2Ugb2YgcHJlZml4IGNoYXJhY3RlcnMgaW4gS0VZTUFQLgotVGhlIG51bWJl ciBpcyBob3cgbWFueSBjaGFyYWN0ZXJzIGF0IHRoZSBmcm9udCBvZiBLRVkKLWl0IHRha2VzIHRv IHJlYWNoIGEgbm9uLXByZWZpeCBrZXkuCi1LRVlNQVAgY2FuIGFsc28gYmUgYSBsaXN0IG9mIGtl eW1hcHMuCi0KLU5vcm1hbGx5LCBgbG9va3VwLWtleScgaWdub3JlcyBiaW5kaW5ncyBmb3IgdCwg d2hpY2ggYWN0IGFzIGRlZmF1bHQKLWJpbmRpbmdzLCB1c2VkIHdoZW4gbm90aGluZyBlbHNlIGlu IHRoZSBrZXltYXAgYXBwbGllczsgdGhpcyBtYWtlcyBpdAotdXNhYmxlIGFzIGEgZ2VuZXJhbCBm dW5jdGlvbiBmb3IgcHJvYmluZyBrZXltYXBzLiAgSG93ZXZlciwgaWYgdGhlCi10aGlyZCBvcHRp b25hbCBhcmd1bWVudCBBQ0NFUFQtREVGQVVMVCBpcyBub24tbmlsLCBgbG9va3VwLWtleScgd2ls bAotcmVjb2duaXplIHRoZSBkZWZhdWx0IGJpbmRpbmdzLCBqdXN0IGFzIGByZWFkLWtleS1zZXF1 ZW5jZScgZG9lcy4gICovKQotICAoTGlzcF9PYmplY3Qga2V5bWFwLCBMaXNwX09iamVjdCBrZXks IExpc3BfT2JqZWN0IGFjY2VwdF9kZWZhdWx0KQorc3RhdGljIExpc3BfT2JqZWN0Citsb29rdXBf a2V5XzEgKExpc3BfT2JqZWN0IGtleW1hcCwgTGlzcF9PYmplY3Qga2V5LCBMaXNwX09iamVjdCBh Y2NlcHRfZGVmYXVsdCkKIHsKICAgYm9vbCB0X29rID0gIU5JTFAgKGFjY2VwdF9kZWZhdWx0KTsK IApAQCAtMTI0Myw2ICsxMjI3LDE0MSBAQCBERUZVTiAoImxvb2t1cC1rZXkiLCBGbG9va3VwX2tl eSwgU2xvb2t1cF9rZXksIDIsIDMsIDAsCiAgICAgfQogfQogCisvKiBWYWx1ZSBpcyBudW1iZXIg aWYgS0VZIGlzIHRvbyBsb25nOyBuaWwgaWYgdmFsaWQgYnV0IGhhcyBubyBkZWZpbml0aW9uLiAg Ki8KKy8qIEdDIGlzIHBvc3NpYmxlIGluIHRoaXMgZnVuY3Rpb24uICAqLworCitERUZVTiAoImxv b2t1cC1rZXkiLCBGbG9va3VwX2tleSwgU2xvb2t1cF9rZXksIDIsIDMsIDAsCisgICAgICAgZG9j OiAvKiBMb29rIHVwIGtleSBzZXF1ZW5jZSBLRVkgaW4gS0VZTUFQLiAgUmV0dXJuIHRoZSBkZWZp bml0aW9uLgorQSB2YWx1ZSBvZiBuaWwgbWVhbnMgdW5kZWZpbmVkLiAgU2VlIGRvYyBvZiBgZGVm aW5lLWtleScKK2ZvciBraW5kcyBvZiBkZWZpbml0aW9ucy4KKworQSBudW1iZXIgYXMgdmFsdWUg bWVhbnMgS0VZIGlzICJ0b28gbG9uZyI7Cit0aGF0IGlzLCBjaGFyYWN0ZXJzIG9yIHN5bWJvbHMg aW4gaXQgZXhjZXB0IGZvciB0aGUgbGFzdCBvbmUKK2ZhaWwgdG8gYmUgYSB2YWxpZCBzZXF1ZW5j ZSBvZiBwcmVmaXggY2hhcmFjdGVycyBpbiBLRVlNQVAuCitUaGUgbnVtYmVyIGlzIGhvdyBtYW55 IGNoYXJhY3RlcnMgYXQgdGhlIGZyb250IG9mIEtFWQoraXQgdGFrZXMgdG8gcmVhY2ggYSBub24t cHJlZml4IGtleS4KK0tFWU1BUCBjYW4gYWxzbyBiZSBhIGxpc3Qgb2Yga2V5bWFwcy4KKworTm9y bWFsbHksIGBsb29rdXAta2V5JyBpZ25vcmVzIGJpbmRpbmdzIGZvciB0LCB3aGljaCBhY3QgYXMg ZGVmYXVsdAorYmluZGluZ3MsIHVzZWQgd2hlbiBub3RoaW5nIGVsc2UgaW4gdGhlIGtleW1hcCBh cHBsaWVzOyB0aGlzIG1ha2VzIGl0Cit1c2FibGUgYXMgYSBnZW5lcmFsIGZ1bmN0aW9uIGZvciBw cm9iaW5nIGtleW1hcHMuICBIb3dldmVyLCBpZiB0aGUKK3RoaXJkIG9wdGlvbmFsIGFyZ3VtZW50 IEFDQ0VQVC1ERUZBVUxUIGlzIG5vbi1uaWwsIGBsb29rdXAta2V5JyB3aWxsCityZWNvZ25pemUg dGhlIGRlZmF1bHQgYmluZGluZ3MsIGp1c3QgYXMgYHJlYWQta2V5LXNlcXVlbmNlJyBkb2VzLiAg Ki8pCisgIChMaXNwX09iamVjdCBrZXltYXAsIExpc3BfT2JqZWN0IGtleSwgTGlzcF9PYmplY3Qg YWNjZXB0X2RlZmF1bHQpCit7CisgIExpc3BfT2JqZWN0IGZvdW5kID0gbG9va3VwX2tleV8xIChr ZXltYXAsIGtleSwgYWNjZXB0X2RlZmF1bHQpOworICBpZiAoIU5JTFAgKGZvdW5kKSAmJiAhTlVN QkVSUCAoZm91bmQpKQorICAgIHJldHVybiBmb3VuZDsKKworICAvKiBNZW51IGRlZmluaXRpb25z IG1pZ2h0IHVzZSBtaXhlZCBjYXNlIHN5bWJvbHMgKG5vdGFibHkgaW4gb2xkCisgICAgIHZlcnNp b25zIG9mIGBlYXN5LW1lbnUtZGVmaW5lJyksIG9yIHVzZSAiICIgaW5zdGVhZCBvZiAiLSIuCisg ICAgIFRoZSByZXN0IG9mIHRoaXMgZnVuY3Rpb24gaXMgYWJvdXQgYWNjZXB0aW5nIHRoZXNlIHZh cmlhdGlvbnMgZm9yCisgICAgIGJhY2t3YXJkcy1jb21wYXRpYmlsaXR5LiAgKEJ1ZyM1MDc1Mikg Ki8KKworICAvKiBKdXN0IHNraXAgZXZlcnl0aGluZyBiZWxvdyB1bmxlc3MgdGhpcyBpcyBhIG1l bnUgaXRlbS4gICovCisgIGlmICghVkVDVE9SUCAoa2V5KSB8fCAhKEFTSVpFIChrZXkpID4gMCkK KyAgICAgIHx8ICFFUSAoQVJFRiAoa2V5LCAwKSwgUW1lbnVfYmFyKSkKKyAgICByZXR1cm4gZm91 bmQ7CisKKyAgLyogSW5pdGlhbGl6ZSB0aGUgdW5pY29kZSBjYXNlIHRhYmxlLCBpZiBpdCB3YXNu J3QgYWxyZWFkeS4gICovCisgIGlmIChOSUxQICh1bmljb2RlX2Nhc2VfdGFibGUpKQorICAgIHsK KyAgICAgIHVuaWNvZGVfY2FzZV90YWJsZSA9IHVuaXByb3BfdGFibGUgKGludGVybiAoImxvd2Vy Y2FzZSIpKTsKKyAgICAgIHN0YXRpY3BybyAoJnVuaWNvZGVfY2FzZV90YWJsZSk7CisgICAgfQor CisgIHB0cmRpZmZfdCBrZXlfbGVuID0gQVNJWkUgKGtleSk7CisgIExpc3BfT2JqZWN0IG5ld19r ZXkgPSBtYWtlX3ZlY3RvciAoa2V5X2xlbiwgUW5pbCk7CisKKyAgLyogVHJ5IGJvdGggdGhlIFVu aWNvZGUgY2FzZSB0YWJsZSwgYW5kIHRoZSBidWZmZXIgbG9jYWwgb25lLgorICAgICBPdGhlcndp c2UsIHdlIHdpbGwgZmFpbCBmb3IgZS5nLiB0aGUgIlR1cmtpc2giIGxhbmd1YWdlCisgICAgIGVu dmlyb25tZW50IHdoZXJlICdJJyBkb2VzIG5vdCBkb3duY2FzZSB0byAnaScuICAqLworICBMaXNw X09iamVjdCB0YWJsZXNbMl0gPSB7dW5pY29kZV9jYXNlX3RhYmxlLCBGY3VycmVudF9jYXNlX3Rh YmxlICgpfTsKKyAgZm9yIChpbnQgdGJsX251bSA9IDA7IHRibF9udW0gPCAyOyB0YmxfbnVtKysp CisgICAgeworICAgICAgLyogRmlyc3QsIGxldCdzIHRyeSBjb252ZXJ0aW5nIGFsbCBzeW1ib2xz IGxpa2UgIkZvby1CYXItQmF6IiB0bworCSAiZm9vLWJhci1iYXoiLiAgKi8KKyAgICAgIGZvciAo aW50IGkgPSAwOyBpIDwga2V5X2xlbjsgaSsrKQorCXsKKwkgIExpc3BfT2JqZWN0IGtleV9pdGVt ID0gRnN5bWJvbF9uYW1lIChBUkVGIChrZXksIGkpKTsKKwkgIExpc3BfT2JqZWN0IG5ld19pdGVt OworCSAgaWYgKCFTVFJJTkdfTVVMVElCWVRFIChrZXlfaXRlbSkpCisJICAgIG5ld19pdGVtID0g RmRvd25jYXNlIChrZXlfaXRlbSk7CisJICBlbHNlCisJICAgIHsKKwkgICAgICBVU0VfU0FGRV9B TExPQ0E7CisJICAgICAgcHRyZGlmZl90IHNpemUgPSBTQ0hBUlMgKGtleV9pdGVtKSwgbjsKKwkg ICAgICBpZiAoSU5UX01VTFRJUExZX1dSQVBWIChzaXplLCBNQVhfTVVMVElCWVRFX0xFTkdUSCwg Jm4pKQorCQluID0gUFRSRElGRl9NQVg7CisJICAgICAgdW5zaWduZWQgY2hhciAqZHN0ID0gU0FG RV9BTExPQ0EgKG4pOworCSAgICAgIHVuc2lnbmVkIGNoYXIgKnAgPSBkc3Q7CisJICAgICAgcHRy ZGlmZl90IGpfY2hhciA9IDAsIGpfYnl0ZSA9IDA7CisKKwkgICAgICB3aGlsZSAoal9jaGFyIDwg c2l6ZSkKKwkJeworCQkgIGludCBjaCA9IGZldGNoX3N0cmluZ19jaGFyX2FkdmFuY2UgKGtleV9p dGVtLCAmal9jaGFyLCAmal9ieXRlKTsKKwkJICBMaXNwX09iamVjdCBjaF9jb252ID0gQ0hBUl9U QUJMRV9SRUYgKHRhYmxlc1t0YmxfbnVtXSwgY2gpOworCQkgIGlmICghTklMUCAoY2hfY29udikp CisJCSAgICBDSEFSX1NUUklORyAoWEZJWE5VTSAoY2hfY29udiksIHApOworCQkgIGVsc2UKKwkJ ICAgIENIQVJfU1RSSU5HIChjaCwgcCk7CisJCSAgcCA9IGRzdCArIGpfYnl0ZTsKKwkJfQorCSAg ICAgIG5ld19pdGVtID0gbWFrZV9tdWx0aWJ5dGVfc3RyaW5nICgoY2hhciAqKSBkc3QsCisJCQkJ CQlTQ0hBUlMgKGtleV9pdGVtKSwKKwkJCQkJCVNCWVRFUyAoa2V5X2l0ZW0pKTsKKwkgICAgICBT QUZFX0ZSRUUgKCk7CisJICAgIH0KKwkgIEFTRVQgKG5ld19rZXksIGksIEZpbnRlcm4gKG5ld19p dGVtLCBRbmlsKSk7CisJfQorCisgICAgICAvKiBDaGVjayBmb3IgbWF0Y2guICAqLworICAgICAg Zm91bmQgPSBsb29rdXBfa2V5XzEgKGtleW1hcCwgbmV3X2tleSwgYWNjZXB0X2RlZmF1bHQpOwor ICAgICAgaWYgKCFOSUxQIChmb3VuZCkgJiYgIU5VTUJFUlAgKGZvdW5kKSkKKwlicmVhazsKKwor ICAgICAgLyogSWYgd2Ugc3RpbGwgZG9uJ3QgaGF2ZSBhIG1hdGNoLCBsZXQncyBjb252ZXJ0IGFu eSBzcGFjZXMgaW4KKwkgb3VyIGxvd2VyY2FzZWQgc3RyaW5nIGludG8gZGFzaGVzLCBlLmcuICJm b28gYmFyIGJheiIgdG8KKwkgImZvby1iYXItYmF6Ii4gICovCisgICAgICBmb3IgKGludCBpID0g MDsgaSA8IGtleV9sZW47IGkrKykKKwl7CisJICBMaXNwX09iamVjdCBsY19rZXkgPSBGc3ltYm9s X25hbWUgKEFSRUYgKG5ld19rZXksIGkpKTsKKworCSAgLyogSWYgdGhlcmUgYXJlIG5vIHNwYWNl cyBpbiB0aGlzIHN5bWJvbCwganVzdCBza2lwIGl0LiAgKi8KKwkgIGlmICghc3Ryc3RyIChTU0RB VEEgKGxjX2tleSksICIgIikpCisJICAgIGNvbnRpbnVlOworCisJICBVU0VfU0FGRV9BTExPQ0E7 CisJICBwdHJkaWZmX3Qgc2l6ZSA9IFNDSEFSUyAobGNfa2V5KSwgbjsKKwkgIGlmIChJTlRfTVVM VElQTFlfV1JBUFYgKHNpemUsIE1BWF9NVUxUSUJZVEVfTEVOR1RILCAmbikpCisJICAgIG4gPSBQ VFJESUZGX01BWDsKKwkgIHVuc2lnbmVkIGNoYXIgKmRzdCA9IFNBRkVfQUxMT0NBIChuKTsKKwor CSAgLyogV2UgY2FuIHdhbGsgdGhlIHN0cmluZyBkYXRhIGJ5dGUgYnkgYnl0ZSwgYmVjYXVzZSBV VEYtOAorCSAgICAgZW5jb2RpbmcgZW5zdXJlcyB0aGF0IG5vIG90aGVyIGJ5dGUgb2YgYW55IG11 bHRpYnl0ZQorCSAgICAgc2VxdWVuY2Ugd2lsbCBldmVyIGluY2x1ZGUgYSA3LWJpdCBieXRlIGVx dWFsIHRvIGFuIEFTQ0lJCisJICAgICBzaW5nbGUtYnl0ZSBjaGFyYWN0ZXIuICAqLworCSAgbWVt Y3B5IChkc3QsIFNTREFUQSAobGNfa2V5KSwgU0JZVEVTIChsY19rZXkpKTsKKwkgIGZvciAoaW50 IGkgPSAwOyBpIDwgU0JZVEVTIChsY19rZXkpOyArK2kpCisJICAgIHsKKwkgICAgICBpZiAoZHN0 W2ldID09ICcgJykKKwkJZHN0W2ldID0gJy0nOworCSAgICB9CisJICBMaXNwX09iamVjdAorCSAg ICBuZXdfaXQgPSBtYWtlX211bHRpYnl0ZV9zdHJpbmcgKChjaGFyICopIGRzdCwgU0NIQVJTIChs Y19rZXkpLCBTQllURVMgKGxjX2tleSkpOworCSAgQVNFVCAobmV3X2tleSwgaSwgRmludGVybiAo bmV3X2l0LCBRbmlsKSk7CisJICBTQUZFX0ZSRUUgKCk7CisJfQorCisgICAgICAvKiBDaGVjayBm b3IgbWF0Y2guICAqLworICAgICAgZm91bmQgPSBsb29rdXBfa2V5XzEgKGtleW1hcCwgbmV3X2tl eSwgYWNjZXB0X2RlZmF1bHQpOworICAgICAgaWYgKCFOSUxQIChmb3VuZCkgJiYgIU5VTUJFUlAg KGZvdW5kKSkKKwlicmVhazsKKyAgICB9CisKKyAgcmV0dXJuIGZvdW5kOworfQorCiAvKiBNYWtl IEtFWU1BUCBkZWZpbmUgZXZlbnQgQyBhcyBhIGtleW1hcCAoaS5lLiwgYXMgYSBwcmVmaXgpLgog ICAgQXNzdW1lIHRoYXQgY3VycmVudGx5IGl0IGRvZXMgbm90IGRlZmluZSBDIGF0IGFsbC4KICAg IFJldHVybiB0aGUga2V5bWFwLiAgKi8KZGlmZiAtLWdpdCBhL3Rlc3Qvc3JjL2tleW1hcC10ZXN0 cy5lbCBiL3Rlc3Qvc3JjL2tleW1hcC10ZXN0cy5lbAppbmRleCA2OGI0MmMzNDZjLi5hNzQ4MGZl NWNjIDEwMDY0NAotLS0gYS90ZXN0L3NyYy9rZXltYXAtdGVzdHMuZWwKKysrIGIvdGVzdC9zcmMv a2V5bWFwLXRlc3RzLmVsCkBAIC0xMjQsNiArMTI0LDQ5IEBAIGtleW1hcC1sb29rdXAta2V5L3Rv by1sb25nCiA7OyAoZXJ0LWRlZnRlc3Qga2V5bWFwLWxvb2t1cC1rZXkvYWNjZXB0LWRlZmF1bHQg KCkKIDs7ICAgLi4uKQogCisoZXJ0LWRlZnRlc3Qga2V5bWFwLWxvb2t1cC1rZXkvbWl4ZWQtY2Fz ZSAoKQorICAiQmFja3dhcmRzIGNvbXBhdGliaWxpdHkgYmVoYXZpb3VyIChCdWcjNTA3NTIpLiIK KyAgKGxldCAoKG1hcCAobWFrZS1rZXltYXApKSkKKyAgICAoZGVmaW5lLWtleSBtYXAgW21lbnUt YmFyIGZvbyBiYXJdICdmb28pCisgICAgKHNob3VsZCAoZXEgKGxvb2t1cC1rZXkgbWFwIFttZW51 LWJhciBmb28gYmFyXSkgJ2ZvbykpCisgICAgKHNob3VsZCAoZXEgKGxvb2t1cC1rZXkgbWFwIFtt ZW51LWJhciBGb28gQmFyXSkgJ2ZvbykpKQorICAobGV0ICgobWFwIChtYWtlLWtleW1hcCkpKQor ICAgIChkZWZpbmUta2V5IG1hcCBbbWVudS1iYXIgaS1iYXJdICdmb28pCisgICAgKHNob3VsZCAo ZXEgKGxvb2t1cC1rZXkgbWFwIFttZW51LWJhciBJLWJhcl0pICdmb28pKSkpCisKKyhlcnQtZGVm dGVzdCBrZXltYXAtbG9va3VwLWtleS9taXhlZC1jYXNlLW11bHRpYnl0ZSAoKQorICAiQmFja3dh cmRzIGNvbXBhdGliaWxpdHkgYmVoYXZpb3VyIChCdWcjNTA3NTIpLiIKKyAgKGxldCAoKG1hcCAo bWFrZS1rZXltYXApKSkKKyAgICA7OyAoZG93bmNhc2UgIsOFw6TDtiIpID0+ICLDpcOkw7YiCisg ICAgKGRlZmluZS1rZXkgbWFwIFttZW51LWJhciDDpcOkw7YgYmFyXSAnZm9vKQorICAgIChzaG91 bGQgKGVxIChsb29rdXAta2V5IG1hcCBbbWVudS1iYXIgw6XDpMO2IGJhcl0pICdmb28pKQorICAg IChzaG91bGQgKGVxIChsb29rdXAta2V5IG1hcCBbbWVudS1iYXIgw4XDpMO2IEJhcl0pICdmb28p KQorICAgIDs7IChkb3duY2FzZSAizpMiKSA9PiAizrMiCisgICAgKGRlZmluZS1rZXkgbWFwIFtt ZW51LWJhciDOsyBiYXJdICdiYXopCisgICAgKHNob3VsZCAoZXEgKGxvb2t1cC1rZXkgbWFwIFtt ZW51LWJhciDOsyBiYXJdKSAnYmF6KSkKKyAgICAoc2hvdWxkIChlcSAobG9va3VwLWtleSBtYXAg W21lbnUtYmFyIM6TIEJhcl0pICdiYXopKSkpCisKKyhlcnQtZGVmdGVzdCBrZXltYXAtbG9va3Vw LWtleW1hcC93aXRoLXNwYWNlcyAoKQorICAiQmFja3dhcmRzIGNvbXBhdGliaWxpdHkgYmVoYXZp b3VyIChCdWcjNTA3NTIpLiIKKyAgKGxldCAoKG1hcCAobWFrZS1rZXltYXApKSkKKyAgICAoZGVm aW5lLWtleSBtYXAgW21lbnUtYmFyIGZvby1iYXJdICdmb28pCisgICAgKHNob3VsZCAoZXEgKGxv b2t1cC1rZXkgbWFwIFttZW51LWJhciBGb29cIEJhcl0pICdmb28pKSkpCisKKyhlcnQtZGVmdGVz dCBrZXltYXAtbG9va3VwLWtleW1hcC93aXRoLXNwYWNlcy1tdWx0aWJ5dGUgKCkKKyAgIkJhY2t3 YXJkcyBjb21wYXRpYmlsaXR5IGJlaGF2aW91ciAoQnVnIzUwNzUyKS4iCisgIChsZXQgKChtYXAg KG1ha2Uta2V5bWFwKSkpCisgICAgKGRlZmluZS1rZXkgbWFwIFttZW51LWJhciDDpcOkw7YtYmFy XSAnZm9vKQorICAgIChzaG91bGQgKGVxIChsb29rdXAta2V5IG1hcCBbbWVudS1iYXIgw4XDpMO2 XCBCYXJdKSAnZm9vKSkpKQorCisoZXJ0LWRlZnRlc3Qga2V5bWFwLWxvb2t1cC1rZXltYXAvd2l0 aC1zcGFjZXMtbXVsdGlieXRlLWxhbmctZW52ICgpCisgICJCYWNrd2FyZHMgY29tcGF0aWJpbGl0 eSBiZWhhdmlvdXIgKEJ1ZyM1MDc1MikuIgorICAobGV0ICgobGFuZy1lbnYgY3VycmVudC1sYW5n dWFnZS1lbnZpcm9ubWVudCkpCisgICAgKHNldC1sYW5ndWFnZS1lbnZpcm9ubWVudCAiVHVya2lz aCIpCisgICAgKGxldCAoKG1hcCAobWFrZS1rZXltYXApKSkKKyAgICAgIChkZWZpbmUta2V5IG1h cCBbbWVudS1iYXIgaS1iYXJdICdmb28pCisgICAgICAoc2hvdWxkIChlcSAobG9va3VwLWtleSBt YXAgW21lbnUtYmFyIEktYmFyXSkgJ2ZvbykpKQorICAgIChzZXQtbGFuZ3VhZ2UtZW52aXJvbm1l bnQgbGFuZy1lbnYpKSkKKwogKGVydC1kZWZ0ZXN0IGRlc2NyaWJlLWJ1ZmZlci1iaW5kaW5ncy9o ZWFkZXItaW4tY3VycmVudC1idWZmZXIgKCkKICAgIkhlYWRlciBzaG91bGQgYmUgaW5zZXJ0ZWQg aW50byB0aGUgY3VycmVudCBidWZmZXIuCiBodHRwczovL2RlYmJ1Z3MuZ251Lm9yZy8zOTE0OSMz MSIKLS0gCjIuMzAuMgoK --00000000000017a78505cf3d67e4--