From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Jim Porter Newsgroups: gmane.emacs.bugs Subject: bug#56896: 29.0.50; [PATCHv3] Make the bookmark fringe icon look like a bookmark Date: Sat, 13 Aug 2022 14:59:49 -0700 Message-ID: <01ebb4e2-4f0d-98c1-2e34-e7f5ea3fdc39@gmail.com> References: <39a51230-2a0f-4eb7-a811-e4509a826f5d@gmail.com> <83tu6u5u9r.fsf@gnu.org> <57ab6ad0-8b1f-ac3c-b675-bc4131d3e0c2@gmail.com> <83sfme5acq.fsf@gnu.org> <3b7b3223-3710-c57b-4c75-eb050eec63a9@gmail.com> <83edxw4hzn.fsf@gnu.org> <7566691d-090e-f380-b395-4d2aa2fdebdb@gmail.com> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="------------F2BAFEE8C72D9A96344EA0EB" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="39260"; mail-complaints-to="usenet@ciao.gmane.io" To: Eli Zaretskii , Lars Ingebrigtsen , 56896@debbugs.gnu.org Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Sun Aug 14 00:01:41 2022 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 1oMzCO-000A41-75 for geb-bug-gnu-emacs@m.gmane-mx.org; Sun, 14 Aug 2022 00:01:40 +0200 Original-Received: from localhost ([::1]:39666 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1oMzCM-0002Qs-J9 for geb-bug-gnu-emacs@m.gmane-mx.org; Sat, 13 Aug 2022 18:01:38 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:45864) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oMzBm-0002PV-Nv for bug-gnu-emacs@gnu.org; Sat, 13 Aug 2022 18:01:02 -0400 Original-Received: from debbugs.gnu.org ([209.51.188.43]:45567) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1oMzBm-00017w-ER for bug-gnu-emacs@gnu.org; Sat, 13 Aug 2022 18:01:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1oMzBm-0007cu-AC for bug-gnu-emacs@gnu.org; Sat, 13 Aug 2022 18:01:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Jim Porter Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sat, 13 Aug 2022 22:01:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 56896 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch Original-Received: via spool by 56896-submit@debbugs.gnu.org id=B56896.166042800329137 (code B ref 56896); Sat, 13 Aug 2022 22:01:02 +0000 Original-Received: (at 56896) by debbugs.gnu.org; 13 Aug 2022 22:00:03 +0000 Original-Received: from localhost ([127.0.0.1]:35316 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oMzAn-0007ZL-CE for submit@debbugs.gnu.org; Sat, 13 Aug 2022 18:00:02 -0400 Original-Received: from mail-pg1-f179.google.com ([209.85.215.179]:33338) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oMzAj-0007Z7-UY for 56896@debbugs.gnu.org; Sat, 13 Aug 2022 17:59:59 -0400 Original-Received: by mail-pg1-f179.google.com with SMTP id l64so3638662pge.0 for <56896@debbugs.gnu.org>; Sat, 13 Aug 2022 14:59:57 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=content-language:in-reply-to:mime-version:date:message-id :references:to:from:subject:from:to:cc; bh=goKi1PkMjBSNu4dUoq4iZfVqhxF7ePlVg8nZDzMDw5k=; b=XPQJk9s5CjZbNt/2ph9dXfvqSUP1j/UWjbfjzSlOqyFdG5tJl0u3aVWIKBjLlDwMRn RZIoM+AdTjiDV7fDlwyiu28BPCsaLEgYF3TPfKZLFFhh9bPedXB07Lpc5hOQeLU3rJBB GeEKsfrRPghdCL2WjOABCMDNhZ3cfOBDH2E9OR7/i4bu/r8prcOz2yZcUUAwf4ao/7jY NGNBFYTJ2ib16vXR5BG8WgSb4UI2KgNxhKejX91HBQwGozdMlbzjyIl1ZIM9VF+Tf/Mm ZDbHkIRAb42NE5P85gnTsWcj3wqRV4Kd3GoASW7TNWrHmTMOcXgguzyp2GalCGYD8tI7 ig2Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-language:in-reply-to:mime-version:date:message-id :references:to:from:subject:x-gm-message-state:from:to:cc; bh=goKi1PkMjBSNu4dUoq4iZfVqhxF7ePlVg8nZDzMDw5k=; b=OQ3dxApWotpjmlbcoho77gI2EwJN2f2uNw8yd0nMIbbcfVsd/BIF06PD4B7m3Z0KOv moD6crRy3LC6qHTrFsVoWegwkGfTazMhOtViyetvmli9sGHopUngjd+cJOtdLi5PJsQl LzkbqGiLRPPJTwUCrZhQ6T6/XHJnqWGxMyO9EmTC36w1b0qm7BM3TWWstHDsjMB2PTBw cmD2yc3+GGHsARn5X2KaVgLZm5DQgkG21km93H73I+6mj5Qxfg7+9eRl4tC6iQK9/+gz 5HIIPEoe6Jw9xaDztW3anuR7RYGSRt6Sfz/b8Y2N8XFJRhuz4gaP8n5m/AZC6hcPzEZS YpFA== X-Gm-Message-State: ACgBeo2Fr1+GNvbMMHwzdxtgnMxfYLPyxzw5kCHePx41gAaAA/9VVio0 awprkmNCGQzWsRAnoYoYmYt76fhqks0= X-Google-Smtp-Source: AA6agR4UnyYERcceh6KzfDKIAtU6TLMeu3f+uk9aF85+aLQH9ttjsQuuqbV8hlytBn6TL24KF2lKQg== X-Received: by 2002:a05:6a00:288d:b0:52e:e0cd:151e with SMTP id ch13-20020a056a00288d00b0052ee0cd151emr9502713pfb.24.1660427991899; Sat, 13 Aug 2022 14:59:51 -0700 (PDT) Original-Received: from [192.168.1.2] (cpe-76-168-148-233.socal.res.rr.com. [76.168.148.233]) by smtp.googlemail.com with ESMTPSA id v14-20020aa799ce000000b0052b6277df9esm4060844pfi.43.2022.08.13.14.59.50 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sat, 13 Aug 2022 14:59:50 -0700 (PDT) In-Reply-To: <7566691d-090e-f380-b395-4d2aa2fdebdb@gmail.com> Content-Language: en-US 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:239599 Archived-At: This is a multi-part message in MIME format. --------------F2BAFEE8C72D9A96344EA0EB Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit On 8/4/2022 9:41 PM, Jim Porter wrote: > Ok, I figured out a way to do this. I added a proxy object > ('bookmark--fringe-mark') that I can dynamically set the 'fringe' > property on, and then the :set function will update that and the display > code will Just Work. Well, so long as a redisplay is triggered, but I > think happens when you set options via Customize? It worked in my tests, > anyway. > > This method feels kind of hacky, but I can't think of a better way, and > it's certainly more feasible than trying to find all the fringe markers > manually. (Given that code can define custom bookmark handler functions, > I'm not even sure that would have been possible...) Here's a better version of this patch. Rather than a proxy object, it just sets the 'fringe' property on the defcustom, which the rest of the bookmark code can then use like a "regular" fringe bitmap (essentially, it's just an alias to a real fringe bitmap). I also added a 'fringe-custom-set-bitmap' function that anyone can use as a :set function. This should be general enough that it could be used wherever anyone wants to allow users to use Customize to change the fringe bitmap that gets used for a particular purpose. Potentially, it could even be used for *every* use of a fringe bitmap. That would let users pick icons they like for a particular purpose based on their general description (e.g. 'right-triangle'), but they could also independently adjust the bitmaps (e.g. redefining all the fringe bitmaps to be larger for high DPI monitors). For the latter case, maybe users could download a package from ELPA to do that. --------------F2BAFEE8C72D9A96344EA0EB Content-Type: text/plain; charset=UTF-8; name="0001-Make-the-bookmark-fringe-icon-look-like-a-bookmark.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename*0="0001-Make-the-bookmark-fringe-icon-look-like-a-bookmark.patc"; filename*1="h" RnJvbSBjODMwMzRlMmNjNGQyOWE3YWI0YTg0NzYxYTEwN2M1M2JhZDZjZGU4IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBKaW0gUG9ydGVyIDxqcG9ydGVyYnVnc0BnbWFpbC5j b20+CkRhdGU6IFR1ZSwgMiBBdWcgMjAyMiAxMTo0MDo0MyAtMDcwMApTdWJqZWN0OiBbUEFU Q0hdIE1ha2UgdGhlIGJvb2ttYXJrIGZyaW5nZSBpY29uIGxvb2sgbGlrZSBhIGJvb2ttYXJr CgoqIHNyYy9mcmluZ2UuYyAobGFyZ2VfY2lyY2xlX2JpdHMpOiBOZXcgdmFyaWFibGUuCihz dGFuZGFyZF9iaXRtYXBzKTogQWRkIGxhcmdlX2NpcmNsZV9iaXRzLgoKKiBsaXNwL2ZyaW5n ZS5lbCAoZnJpbmdlLWJpdG1hcHMpOiBBZGQgJ2xhcmdlLWNpcmNsZScuCihmcmluZ2UtY3Vz dG9tLXNldC1iaXRtYXApOiBOZXcgZnVuY3Rpb24uCgoqIGxpc3AvY3VzLWVkaXQuZWwgKHdp ZGdldC1mcmluZ2UtYml0bWFwLXByb21wdC12YWx1ZS1oaXN0b3J5KTogTmV3CnZhcmlhYmxl LgooZnJpbmdlLWJpdG1hcCk6IE5ldyB3aWRnZXQuCgoqIGxpc3AvYm9va21hcmsuZWwgKGJv b2ttYXJrLXNldC1mcmluZ2UtbWFyayk6IE9ic29sZXRlIGluIGZhdm9yIG9mLi4uCihib29r bWFyay1mcmluZ2UtbWFyayk6IC4uLiB0aGlzLgooYm9va21hcmstZnJpbmdlLW1hcmspOiBS ZW5hbWUgdGhpcyBmcmluZ2UgYml0bWFwIHRvLi4uCihib29rbWFyay1tYXJrKTogLi4uIGFu ZCBjaGFuZ2UgaXQgdG8gbG9vayBsaWtlIGEgYm9va21hcmsuCihib29rbWFyay1mYWNlKTog RG9uJ3Qgc2V0IHRoZSAnOmJhY2tncm91bmQnIG9mIHRoZSBmYWNlLiAgSW5zdGVhZCwKc2V0 ICc6ZGlzdGFudC1mb3JlZ3JvdW5kJy4KKGJvb2ttYXJrLS1zZXQtZnJpbmdlLW1hcmssIGJv b2ttYXJrLS1yZW1vdmUtZnJpbmdlLW1hcmspCihib29rbWFyay1zdG9yZSwgYm9va21hcmst LWp1bXAtdmlhKTogQ29uc3VsdCB0aGUKJ2Jvb2ttYXJrLWZyaW5nZS1tYXJrJyBvcHRpb24u CgoqIGRvYy9saXNwcmVmL2N1c3RvbWl6ZS50ZXhpIChTaW1wbGUgVHlwZXMpOiBEb2N1bWVu dCAnZnJpbmdlLWJpdG1hcCcKdHlwZS4KCiogZG9jL2xpc3ByZWYvZGlzcGxheS50ZXhpIChG cmluZ2UgQml0bWFwcyk6IE1lbnRpb24gJ2xhcmdlLWNpcmNsZScuCgoqIGV0Yy9ORVdTOiBB bm5vdW5jZSB0aGlzIGNoYW5nZS4KLS0tCiBkb2MvbGlzcHJlZi9jdXN0b21pemUudGV4aSB8 ICA0ICsrKysKIGRvYy9saXNwcmVmL2Rpc3BsYXkudGV4aSAgIHwgIDEgKwogZXRjL05FV1Mg ICAgICAgICAgICAgICAgICAgfCAgNSArKysrKwogbGlzcC9ib29rbWFyay5lbCAgICAgICAg ICAgfCA0MCArKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLQogbGlzcC9j dXMtZWRpdC5lbCAgICAgICAgICAgfCAyMSArKysrKysrKysrKysrKysrKysrKwogbGlzcC9m cmluZ2UuZWwgICAgICAgICAgICAgfCAxMiArKysrKysrKysrKysKIHNyYy9mcmluZ2UuYyAg ICAgICAgICAgICAgIHwgMTUgKysrKysrKysrKysrKysKIDcgZmlsZXMgY2hhbmdlZCwgODQg aW5zZXJ0aW9ucygrKSwgMTQgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZG9jL2xpc3By ZWYvY3VzdG9taXplLnRleGkgYi9kb2MvbGlzcHJlZi9jdXN0b21pemUudGV4aQppbmRleCA1 Mjg0MjFiZjNiLi42YmEzNWNmZmZmIDEwMDY0NAotLS0gYS9kb2MvbGlzcHJlZi9jdXN0b21p emUudGV4aQorKysgYi9kb2MvbGlzcHJlZi9jdXN0b21pemUudGV4aQpAQCAtNjcyLDYgKzY3 MiwxMCBAQCBTaW1wbGUgVHlwZXMKIGZvciBjb2xvciBuYW1lcywgYXMgd2VsbCBhcyBhIHNh bXBsZSBhbmQgYSBidXR0b24gZm9yIHNlbGVjdGluZyBhCiBjb2xvciBuYW1lIGZyb20gYSBs aXN0IG9mIGNvbG9yIG5hbWVzIHNob3duIGluIGEgQGZpbGV7KkNvbG9ycyp9CiBidWZmZXIu CisKK0BpdGVtIGZyaW5nZS1iaXRtYXAKK1RoZSB2YWx1ZSBtdXN0IGJlIGEgdmFsaWQgZnJp bmdlIGJpdG1hcCBuYW1lLiAgVGhlIHdpZGdldCBwcm92aWRlcworY29tcGxldGlvbi4KIEBl bmQgdGFibGUKIAogQG5vZGUgQ29tcG9zaXRlIFR5cGVzCmRpZmYgLS1naXQgYS9kb2MvbGlz cHJlZi9kaXNwbGF5LnRleGkgYi9kb2MvbGlzcHJlZi9kaXNwbGF5LnRleGkKaW5kZXggOTYw NzlkYzEwNi4uZDMzNmNkYTY3NCAxMDA2NDQKLS0tIGEvZG9jL2xpc3ByZWYvZGlzcGxheS50 ZXhpCisrKyBiL2RvYy9saXNwcmVmL2Rpc3BsYXkudGV4aQpAQCAtNDYyNiw2ICs0NjI2LDcg QEAgRnJpbmdlIEJpdG1hcHMKIFVzZWQgZm9yIGRpZmZlcmVudCB0eXBlcyBvZiBmcmluZ2Ug Y3Vyc29ycy4KIAogQGl0ZW0gQGNvZGV7ZXhjbGFtYXRpb24tbWFya30sIEBjb2Rle3F1ZXN0 aW9uLW1hcmt9CitAaXRlbXggQGNvZGV7bGFyZ2UtY2lyY2xlfQogTm90IHVzZWQgYnkgY29y ZSBFbWFjcyBmZWF0dXJlcy4KIEBlbmQgdGFibGUKIApkaWZmIC0tZ2l0IGEvZXRjL05FV1Mg Yi9ldGMvTkVXUwppbmRleCBlMmJjY2NhNGE4Li5mNDEzOThlNWIwIDEwMDY0NAotLS0gYS9l dGMvTkVXUworKysgYi9ldGMvTkVXUwpAQCAtMjAxMSw2ICsyMDExLDExIEBAIHJlY2VudGx5 IHNldC4KICoqKiBXaGVuIGVkaXRpbmcgYSBib29rbWFyayBhbm5vdGF0aW9uLCAnQy1jIEMt aycgd2lsbCBub3cgY2FuY2VsLgogSXQgaXMgYm91bmQgdG8gdGhlIG5ldyBjb21tYW5kICdi b29rbWFyay1lZGl0LWFubm90YXRpb24tY2FuY2VsJy4KIAorLS0tCisqKiogTmV3IG9wdGlv biAnYm9va21hcmstZnJpbmdlLW1hcmsnLgorVGhpcyBvcHRpb24gY29udHJvbHMgdGhlIGJp dG1hcCB1c2VkIHRvIGluZGljYXRlIGJvb2ttYXJrcyBpbiB0aGUKK2ZyaW5nZSAob3IgJ25p bCcgdG8gZGlzYWJsZSBzaG93aW5nIHRoaXMgbWFya2VyKS4KKwogKiogRXhpZgogCiAtLS0K ZGlmZiAtLWdpdCBhL2xpc3AvYm9va21hcmsuZWwgYi9saXNwL2Jvb2ttYXJrLmVsCmluZGV4 IGQwODkzZTkzMmIuLjc0NjZiZTMyYjQgMTAwNjQ0Ci0tLSBhL2xpc3AvYm9va21hcmsuZWwK KysrIGIvbGlzcC9ib29rbWFyay5lbApAQCAtMTgxLDEwICsxODEsMjUgQEAgYm9va21hcmst c2VhcmNoLWRlbGF5CiAgICJUaW1lIGJlZm9yZSBgYm9va21hcmstYm1lbnUtc2VhcmNoJyB1 cGRhdGVzIHRoZSBkaXNwbGF5LiIKICAgOnR5cGUgICdudW1iZXIpCiAKLShkZWZjdXN0b20g Ym9va21hcmstc2V0LWZyaW5nZS1tYXJrIHQKLSAgIldoZXRoZXIgdG8gc2V0IGEgZnJpbmdl IG1hcmsgYXQgYm9va21hcmtlZCBsaW5lcy4iCi0gIDp0eXBlICAnYm9vbGVhbgotICA6dmVy c2lvbiAiMjguMSIpCisoZGVmaW5lLWZyaW5nZS1iaXRtYXAgJ2Jvb2ttYXJrLW1hcmsKKyAg WyNiMDExMTExMTAKKyAgICNiMDExMTExMTAKKyAgICNiMDExMTExMTAKKyAgICNiMDExMTEx MTAKKyAgICNiMDExMTExMTAKKyAgICNiMDExMTExMTAKKyAgICNiMDExMDAxMTAKKyAgICNi MDEwMDAwMTBdKQorCisoZGVmaW5lLW9ic29sZXRlLXZhcmlhYmxlLWFsaWFzICdib29rbWFy ay1zZXQtZnJpbmdlLW1hcmsKKyAgJ2Jvb2ttYXJrLWZyaW5nZS1tYXJrICIyOS4xIikKKwor KGRlZmN1c3RvbSBib29rbWFyay1mcmluZ2UtbWFyayAnYm9va21hcmstbWFyaworICAiVGhl IGZyaW5nZSBiaXRtYXAgdG8gbWFyayBib29rbWFya2VkIGxpbmVzIHdpdGguCitJZiBuaWws IGRvbid0IGRpc3BsYXkgYSBtYXJrIG9uIHRoZSBmcmluZ2UuIgorICA6dHlwZSAnKGNob2lj ZSAoY29uc3QgbmlsKSBmcmluZ2UtYml0bWFwKQorICA6c2V0ICMnZnJpbmdlLWN1c3RvbS1z ZXQtYml0bWFwCisgIDp2ZXJzaW9uICIyOS4xIikKIAogOzsgRklYTUU6IE5vIGxvbmdlciB1 c2VkLiAgU2hvdWxkIGJlIGRlY2xhcmVkIG9ic29sZXRlIG9yIHJlbW92ZWQuCiAoZGVmZmFj ZSBib29rbWFyay1tZW51LWhlYWRpbmcKQEAgLTIwMSwxMCArMjE2LDEwIEBAIGJvb2ttYXJr LWZhY2UKICAgICAgOmZvcmVncm91bmQgIkxpZ2h0R3JheSIpCiAgICAgKCgoY2xhc3MgY29s b3IpCiAgICAgICAoYmFja2dyb3VuZCBsaWdodCkpCi0gICAgIDpiYWNrZ3JvdW5kICJXaGl0 ZSIgOmZvcmVncm91bmQgIkRhcmtPcmFuZ2UxIikKKyAgICAgOmZvcmVncm91bmQgIkRhcmtP cmFuZ2UxIiA6ZGlzdGFudC1mb3JlZ3JvdW5kICJEYXJrT3JhbmdlMyIpCiAgICAgKCgoY2xh c3MgY29sb3IpCiAgICAgICAoYmFja2dyb3VuZCBkYXJrKSkKLSAgICAgOmJhY2tncm91bmQg IkJsYWNrIiA6Zm9yZWdyb3VuZCAiRGFya09yYW5nZTEiKSkKKyAgICAgOmZvcmVncm91bmQg IkRhcmtPcmFuZ2UxIiA6ZGlzdGFudC1mb3JlZ3JvdW5kICJPcmFuZ2UxIikpCiAgICJGYWNl IHVzZWQgdG8gaGlnaGxpZ2h0IGN1cnJlbnQgbGluZS4iCiAgIDp2ZXJzaW9uICIyOC4xIikK IApAQCAtNDgyLDEyICs0OTcsOSBAQCBib29rbWFyay11cGRhdGUtbGFzdC1tb2RpZmllZAog KGRlZnZhciBib29rbWFyay1oaXN0b3J5IG5pbAogICAiVGhlIGhpc3RvcnkgbGlzdCBmb3Ig Ym9va21hcmsgZnVuY3Rpb25zLiIpCiAKLShkZWZpbmUtZnJpbmdlLWJpdG1hcCAnYm9va21h cmstZnJpbmdlLW1hcmsKLSAgIlx4M2NceDdlXHhmZlx4ZmZceGZmXHhmZlx4N2VceDNjIikK LQogKGRlZnVuIGJvb2ttYXJrLS1zZXQtZnJpbmdlLW1hcmsgKCkKICAgIkFwcGx5IGEgY29s b3JpemVkIG92ZXJsYXkgdG8gdGhlIGJvb2ttYXJrZWQgbG9jYXRpb24uCi1TZWUgdXNlciBv cHRpb24gYGJvb2ttYXJrLXNldC1mcmluZ2UtbWFyaycuIgorU2VlIHVzZXIgb3B0aW9uIGBi b29rbWFyay1mcmluZ2UtbWFyaycuIgogICAobGV0ICgoYm0gKG1ha2Utb3ZlcmxheSAocG9p bnQtYXQtYm9sKSAoMSsgKHBvaW50LWF0LWJvbCkpKSkpCiAgICAgKG92ZXJsYXktcHV0IGJt ICdjYXRlZ29yeSAnYm9va21hcmspCiAgICAgKG92ZXJsYXktcHV0IGJtICdldmFwb3JhdGUg dCkKQEAgLTQ5OSw3ICs1MTEsNyBAQCBib29rbWFyay0tc2V0LWZyaW5nZS1tYXJrCiAoZGVm dW4gYm9va21hcmstLXJlbW92ZS1mcmluZ2UtbWFyayAoYm0pCiAgICJSZW1vdmUgYSBib29r bWFyaydzIGNvbG9yaXplZCBvdmVybGF5LgogQk0gaXMgYSBib29rbWFyayBhcyByZXR1cm5l ZCBmcm9tIGZ1bmN0aW9uIGBib29rbWFyay1nZXQtYm9va21hcmsnLgotU2VlIHVzZXIgb3B0 aW9uIGBib29rbWFyay1zZXQtZnJpbmdlJy4iCitTZWUgdXNlciBvcHRpb24gYGJvb2ttYXJr LWZyaW5nZS1tYXJrJy4iCiAgIChsZXQgKChmaWxlbmFtZSAoY2RyIChhc3NxICdmaWxlbmFt ZSBibSkpKQogICAgICAgICAocG9zIChjZHIgKGFzc3EgJ3Bvc2l0aW9uIGJtKSkpCiAgICAg ICAgIG92ZXJsYXlzIGZvdW5kIHRlbXApCkBAIC02MTUsNyArNjI3LDcgQEAgYm9va21hcmst c3RvcmUKICAgICAgICAgOzsgbm8gcHJlZml4IGFyZyBtZWFucyBqdXN0IG92ZXJ3cml0ZSBv bGQgYm9va21hcmsuCiAgICAgICAgIChsZXQgKChibSAoYm9va21hcmstZ2V0LWJvb2ttYXJr IHN0cmlwcGVkLW5hbWUpKSkKICAgICAgICAgICA7OyBGaXJzdCBjbGVhbiB1cCBpZiBwcmV2 aW91c2x5IGxvY2F0aW9uIHdhcyBmb250aWZpZWQuCi0gICAgICAgICAgKHdoZW4gYm9va21h cmstc2V0LWZyaW5nZS1tYXJrCisgICAgICAgICAgKHdoZW4gYm9va21hcmstZnJpbmdlLW1h cmsKICAgICAgICAgICAgIChib29rbWFyay0tcmVtb3ZlLWZyaW5nZS1tYXJrIGJtKSkKICAg ICAgICAgICA7OyBNb2RpZnkgdXNpbmcgdGhlIG5ldyAoTkFNRSAuIEFMSVNUKSBmb3JtYXQu CiAgICAgICAgICAgKHNldGNkciBibSBhbGlzdCkpCkBAIC05MzEsNyArOTQzLDcgQEAgYm9v a21hcmstc2V0LWludGVybmFsCiAgICAgICAgICAgIDs7IEFzayBmb3IgYW4gYW5ub3RhdGlv biBidWZmZXIgZm9yIHRoaXMgYm9va21hcmsKICAgICAgICAgICAgKHdoZW4gYm9va21hcmst dXNlLWFubm90YXRpb25zCiAgICAgICAgICAgICAgKGJvb2ttYXJrLWVkaXQtYW5ub3RhdGlv biBzdHIpKQotICAgICAgICAgICAod2hlbiBib29rbWFyay1zZXQtZnJpbmdlLW1hcmsKKyAg ICAgICAgICAgKHdoZW4gYm9va21hcmstZnJpbmdlLW1hcmsKICAgICAgICAgICAgICAoYm9v a21hcmstLXNldC1mcmluZ2UtbWFyaykpKSkKICAgICAoc2V0cSBib29rbWFyay15YW5rLXBv aW50IG5pbCkKICAgICAoc2V0cSBib29rbWFyay1jdXJyZW50LWJ1ZmZlciBuaWwpKSkKQEAg LTEyMTMsNyArMTIyNSw3IEBAIGJvb2ttYXJrLS1qdW1wLXZpYQogICAgIChpZiB3aW4gKHNl dC13aW5kb3ctcG9pbnQgd2luIChwb2ludCkpKSkKICAgOzsgRklYTUU6IHdlIHVzZWQgdG8g b25seSBydW4gYm9va21hcmstYWZ0ZXItanVtcC1ob29rIGluCiAgIDs7IGBib29rbWFyay1q dW1wJyBpdHNlbGYsIGJ1dCBpbiBub25lIG9mIHRoZSBvdGhlciBjb21tYW5kcy4KLSAgKHdo ZW4gYm9va21hcmstc2V0LWZyaW5nZS1tYXJrCisgICh3aGVuIGJvb2ttYXJrLWZyaW5nZS1t YXJrCiAgICAgKGxldCAoKG92ZXJsYXlzIChvdmVybGF5cy1pbiAocG9pbnQtYXQtYm9sKSAo MSsgKHBvaW50LWF0LWJvbCkpKSkKICAgICAgICAgICB0ZW1wIGZvdW5kKQogICAgICAgKHdo aWxlIChhbmQgKG5vdCBmb3VuZCkgKHNldHEgdGVtcCAocG9wIG92ZXJsYXlzKSkpCmRpZmYg LS1naXQgYS9saXNwL2N1cy1lZGl0LmVsIGIvbGlzcC9jdXMtZWRpdC5lbAppbmRleCBlZGMw OWYzMTk5Li5kNWJhZThmNjZmIDEwMDY0NAotLS0gYS9saXNwL2N1cy1lZGl0LmVsCisrKyBi L2xpc3AvY3VzLWVkaXQuZWwKQEAgLTQyODYsNiArNDI4NiwyNyBAQCBjdXN0b20taG9vay1j b252ZXJ0LXdpZGdldAogICAgICh3aWRnZXQtcHV0IHdpZGdldCA6YXJncyBhcmdzKQogICAg IHdpZGdldCkpCiAKKzs7OyBUaGUgYGZyaW5nZS1iaXRtYXAnIFdpZGdldC4KKworKGRlZnZh ciB3aWRnZXQtZnJpbmdlLWJpdG1hcC1wcm9tcHQtdmFsdWUtaGlzdG9yeSBuaWwKKyAgIkhp c3Rvcnkgb2YgaW5wdXQgdG8gYHdpZGdldC1mcmluZ2UtYml0bWFwLXByb21wdC12YWx1ZScu IikKKworKGRlZmluZS13aWRnZXQgJ2ZyaW5nZS1iaXRtYXAgJ3N5bWJvbAorICAiQSBMaXNw IGZyaW5nZSBiaXRtYXAgbmFtZS4iCisgIDpmb3JtYXQgIiV2IgorICA6dGFnICJGcmluZ2Ug Yml0bWFwIgorICA6bWF0Y2ggKGxhbWJkYSAoX3dpZGdldCB2YWx1ZSkgKGZyaW5nZS1iaXRt YXAtcCB2YWx1ZSkpCisgIDpjb21wbGV0aW9ucyAoYXBwbHktcGFydGlhbGx5ICMnY29tcGxl dGlvbi10YWJsZS13aXRoLXByZWRpY2F0ZQorICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBvYmFycmF5ICMnZnJpbmdlLWJpdG1hcC1wICdzdHJpY3QpCisgIDpwcm9tcHQtbWF0 Y2ggJ2ZyaW5nZS1iaXRtYXAtcAorICA6cHJvbXB0LWhpc3RvcnkgJ3dpZGdldC1mYWNlLXBy b21wdC12YWx1ZS1oaXN0b3J5CisgIDp2YWxpZGF0ZSAobGFtYmRhICh3aWRnZXQpCisJICAg ICAgKHVubGVzcyAoZnJpbmdlLWJpdG1hcC1wICh3aWRnZXQtdmFsdWUgd2lkZ2V0KSkKKwkJ KHdpZGdldC1wdXQgd2lkZ2V0CisJCQkgICAgOmVycm9yIChmb3JtYXQgIkludmFsaWQgZnJp bmdlIGJpdG1hcDogJVMiCisJCQkJCSAgICh3aWRnZXQtdmFsdWUgd2lkZ2V0KSkpCisJCXdp ZGdldCkpKQorCiA7OzsgVGhlIGBjdXN0b20tZ3JvdXAtbGluaycgV2lkZ2V0LgogCiAoZGVm aW5lLXdpZGdldCAnY3VzdG9tLWdyb3VwLWxpbmsgJ2xpbmsKZGlmZiAtLWdpdCBhL2xpc3Av ZnJpbmdlLmVsIGIvbGlzcC9mcmluZ2UuZWwKaW5kZXggNjU3YTczNzcyZC4uMGM4ODUwMTI5 OCAxMDA2NDQKLS0tIGEvbGlzcC9mcmluZ2UuZWwKKysrIGIvbGlzcC9mcmluZ2UuZWwKQEAg LTQ2LDYgKzQ2LDcgQEAgZnJpbmdlCiAgIChsZXQgKChiaXRtYXBzICcocXVlc3Rpb24tbWFy ayBleGNsYW1hdGlvbi1tYXJrCiAJCSAgIGxlZnQtYXJyb3cgcmlnaHQtYXJyb3cgdXAtYXJy b3cgZG93bi1hcnJvdwogCQkgICBsZWZ0LWN1cmx5LWFycm93IHJpZ2h0LWN1cmx5LWFycm93 CisJCSAgIGxhcmdlLWNpcmNsZQogCQkgICBsZWZ0LXRyaWFuZ2xlIHJpZ2h0LXRyaWFuZ2xl CiAJCSAgIHRvcC1sZWZ0LWFuZ2xlIHRvcC1yaWdodC1hbmdsZQogCQkgICBib3R0b20tbGVm dC1hbmdsZSBib3R0b20tcmlnaHQtYW5nbGUKQEAgLTMyNCw2ICszMjUsMTcgQEAgZnJpbmdl LWNvbHVtbnMKICAgICA7OyBUaGUgcmVhbCBpbXBsZW1lbnRhdGlvbiBpcyBpbiBzcmMvZnJp bmdlLmMuCiAgICAgKSkKIAorKGRlZnVuIGZyaW5nZS1jdXN0b20tc2V0LWJpdG1hcCAoc3lt Ym9sIHZhbHVlKQorICAiU2V0IFNZTUJPTCB0byBhIGZyaW5nZSBiaXRtYXAgVkFMVUUuCitU aGlzIHNldHMgdGhlIGBmcmluZ2UnIHByb3BlcnR5IG9uIFNZTUJPTCB0byBtYXRjaCB0aGF0 IG9mIFZBTFVFLAorYW5kIHRoZW4gZm9yY2UgYWxsIHdpbmRvd3MgdG8gYmUgdXBkYXRlZCBv biB0aGUgbmV4dCByZWRpc3BsYXkuCitZb3Ugc2hvdWxkIHVzZSB0aGlzIGZvciB0aGUgOnNl dCBwYXJhbWV0ZXIgZm9yIGN1c3RvbWl6YXRpb24KK29wdGlvbnMgdG8gcGljayBhIGZyaW5n ZSBiaXRtYXAuIgorICAocHJvZzEKKyAgICAgIChzZXQgc3ltYm9sIHZhbHVlKQorICAgIChw dXQgc3ltYm9sICdmcmluZ2UgKGdldCB2YWx1ZSAnZnJpbmdlKSkKKyAgICAoZm9yY2Utd2lu ZG93LXVwZGF0ZSkpKQorCiAocHJvdmlkZSAnZnJpbmdlKQogCiA7OzsgZnJpbmdlLmVsIGVu ZHMgaGVyZQpkaWZmIC0tZ2l0IGEvc3JjL2ZyaW5nZS5jIGIvc3JjL2ZyaW5nZS5jCmluZGV4 IGJmMGI1ZmRlNzYuLjVkN2M4ZGNhOTkgMTAwNjQ0Ci0tLSBhL3NyYy9mcmluZ2UuYworKysg Yi9zcmMvZnJpbmdlLmMKQEAgLTIwOSw2ICsyMDksMjAgQEAKIHN0YXRpYyB1bnNpZ25lZCBz aG9ydCByaWdodF9jdXJseV9hcnJvd19iaXRzW10gPSB7CiAgICAweDNjLCAweDNlLCAweDAz LCAweDI3LCAweDNmLCAweDNlLCAweDNjLCAweDNlfTsKIAorLyogTGFyZ2UgY2lyY2xlIGJp dG1hcC4gICovCisvKgorICAuLi4uLi4uLgorICAuLnh4eHguLgorICAueHh4eHh4LgorICB4 eHh4eHh4eAorICB4eHh4eHh4eAorICAueHh4eHh4LgorICAuLnh4eHguLgorICAuLi4uLi4u LgorKi8KK3N0YXRpYyB1bnNpZ25lZCBzaG9ydCBsYXJnZV9jaXJjbGVfYml0c1tdID0gewor ICAweDNjLCAweDdlLCAweGZmLCAweGZmLCAweGZmLCAweGZmLCAweDdlLCAweDNjfTsKKwog LyogUmV2ZXJzZSBPdmVybGF5IGFycm93IGJpdG1hcC4gIEEgdHJpYW5ndWxhciBhcnJvdy4g ICovCiAvKgogICAuLi4uLi54eApAQCAtNDU0LDYgKzQ2OCw3IEBAICNkZWZpbmUgRlJCSVRT KGJpdHMpICBiaXRzLCBTVEFOREFSRF9CSVRNQVBfSEVJR0hUIChiaXRzKQogICB7IEZSQklU UyAoZG93bl9hcnJvd19iaXRzKSwgICAgICAgICA4LCAwLCBBTElHTl9CSVRNQVBfQk9UVE9N LCAwIH0sCiAgIHsgRlJCSVRTIChsZWZ0X2N1cmx5X2Fycm93X2JpdHMpLCAgIDgsIDAsIEFM SUdOX0JJVE1BUF9DRU5URVIsIDAgfSwKICAgeyBGUkJJVFMgKHJpZ2h0X2N1cmx5X2Fycm93 X2JpdHMpLCAgOCwgMCwgQUxJR05fQklUTUFQX0NFTlRFUiwgMCB9LAorICB7IEZSQklUUyAo bGFyZ2VfY2lyY2xlX2JpdHMpLCAgICAgICA4LCAwLCBBTElHTl9CSVRNQVBfQ0VOVEVSLCAw IH0sCiAgIHsgRlJCSVRTIChsZWZ0X3RyaWFuZ2xlX2JpdHMpLCAgICAgIDgsIDAsIEFMSUdO X0JJVE1BUF9DRU5URVIsIDAgfSwKICAgeyBGUkJJVFMgKHJpZ2h0X3RyaWFuZ2xlX2JpdHMp LCAgICAgOCwgMCwgQUxJR05fQklUTUFQX0NFTlRFUiwgMCB9LAogICB7IEZSQklUUyAodG9w X2xlZnRfYW5nbGVfYml0cyksICAgICA4LCAwLCBBTElHTl9CSVRNQVBfVE9QLCAgICAwIH0s Ci0tIAoyLjI1LjEKCg== --------------F2BAFEE8C72D9A96344EA0EB--