From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Bastian Beranek Newsgroups: gmane.emacs.bugs Subject: bug#46299: 28.0.50; Value of tab-bar-show not respected in new frames. Date: Thu, 11 Feb 2021 13:14:53 +0100 Message-ID: References: <871rdv4xog.fsf@gmail.com> <87k0rmnbqs.fsf@mail.linkov.net> <87a6sfu0fi.fsf@mail.linkov.net> <87v9b2ifrz.fsf@mail.linkov.net> <55ebad56-b440-198a-653e-1660040d5eae@gmx.at> <38b988fd-2ad6-a596-23a0-1d765249f718@gmx.at> <87tuqjydku.fsf@mail.linkov.net> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="0000000000008a89fd05bb0e78f2" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="3370"; mail-complaints-to="usenet@ciao.gmane.io" Cc: 46299@debbugs.gnu.org To: Juri Linkov Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Thu Feb 11 13:16:25 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 1lAAtU-0000kp-TO for geb-bug-gnu-emacs@m.gmane-mx.org; Thu, 11 Feb 2021 13:16:25 +0100 Original-Received: from localhost ([::1]:37756 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lAAtT-0005kh-U2 for geb-bug-gnu-emacs@m.gmane-mx.org; Thu, 11 Feb 2021 07:16:23 -0500 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:51862) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lAAt8-0005hH-4U for bug-gnu-emacs@gnu.org; Thu, 11 Feb 2021 07:16:02 -0500 Original-Received: from debbugs.gnu.org ([209.51.188.43]:46412) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1lAAt7-000787-Ol for bug-gnu-emacs@gnu.org; Thu, 11 Feb 2021 07:16:01 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1lAAt7-0001xh-Jd for bug-gnu-emacs@gnu.org; Thu, 11 Feb 2021 07:16:01 -0500 X-Loop: help-debbugs@gnu.org Resent-From: Bastian Beranek Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 11 Feb 2021 12:16:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 46299 X-GNU-PR-Package: emacs Original-Received: via spool by 46299-submit@debbugs.gnu.org id=B46299.16130457187489 (code B ref 46299); Thu, 11 Feb 2021 12:16:01 +0000 Original-Received: (at 46299) by debbugs.gnu.org; 11 Feb 2021 12:15:18 +0000 Original-Received: from localhost ([127.0.0.1]:57958 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lAAsQ-0001wi-AT for submit@debbugs.gnu.org; Thu, 11 Feb 2021 07:15:18 -0500 Original-Received: from mail-qk1-f182.google.com ([209.85.222.182]:39450) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lAAsN-0001wS-FE for 46299@debbugs.gnu.org; Thu, 11 Feb 2021 07:15:16 -0500 Original-Received: by mail-qk1-f182.google.com with SMTP id h8so4869825qkk.6 for <46299@debbugs.gnu.org>; Thu, 11 Feb 2021 04:15:15 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=hIzpnYFFNFdgNgabu/kS0aDGGZbPMkPZW81P9psIKZY=; b=R9tqyCc8EBleCTlQx4mSXQHRKz1fN9r3jmV0PFoRoVA7gPovNRFjsuX1hh3dxRCWkD Xs9iunb0GBRKT9YQ+F5SltOTUkBFdL6m2rpQRLMieogN/zQsqsz2AGTbkRjSJ1PMIRW9 1xEwS06z3CaXdWJDsZf3RgEJrS/lnrxr3eLv7ZCNm5lKqbHrg2o23w4b8iDwHWL+crt1 DzpqK2G7uOmYXL28nxwt/02zYP2kDh+AGujbY3qXGmsy9vX9sjX9BQfcQKa07NEvX8Wi 3A5I3di+2YTnXddkA7wCvLitkGGttaV7K9vP7Ko3C/8TaXDhautJJ2tUbyV6X5zT1UPg szQQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=hIzpnYFFNFdgNgabu/kS0aDGGZbPMkPZW81P9psIKZY=; b=ozImhk4ckQmKUBNxUny1HlBo3eYMISpf+nt9i7QEDtJNDHDfJsvfg35K9N4BtPzJyH mPwsY6pUU+8TD9SUsjOcku29zzLJpXIPwGcgbS2Etcdq9KxoTpq8pDAT+IMB8qc0CQQ8 ew6b+OIHNBVlhhkVGfuvQR0wm9/Jk9anODlRiVHAVxgnFZ99qsZpt/qNC8fkH+LRn1Iz mdOTSSjxa4xoNHZunbJc4EizZDWurIvV6U4rRCeEcaQycusTfzZPyBnbsdzCOTCSoGYU e4zOOgu+XrOU4Me5MjD8kDXWM2Gr3iV8QrewWpknQnhqSuR+t6HUEhnJga+GtZcDkWQF W6rQ== X-Gm-Message-State: AOAM531S0ltOMRm0ticwI3EX/P7LSPzowoaLnS7Lfbec5/yOeD6xxVDz i261pl7rpm/zay0nZwdJwWHJrnElE6iyYmytUHn4MwI9m9IPlQ== X-Google-Smtp-Source: ABdhPJwfC5o5pjEEW5LXrFuHUtqmu0qGS5ne+jAO7oJvL39+OVVeStnOH0P4M+XxRexS7HFFjw5Ej4BHXmO+ObMU7SY= X-Received: by 2002:a05:620a:881:: with SMTP id b1mr8080900qka.149.1613045709824; Thu, 11 Feb 2021 04:15:09 -0800 (PST) In-Reply-To: <87tuqjydku.fsf@mail.linkov.net> 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:199805 Archived-At: --0000000000008a89fd05bb0e78f2 Content-Type: text/plain; charset="UTF-8" Hello Juri, I have updated my patch (see v6 attached). Please find my comments inline. I have also finished the copyright assignment procedure now. On Wed, Feb 10, 2021 at 7:41 PM Juri Linkov wrote: > I don't know if Martin will agree, but most frame functions > interpret their optional FRAME argument in such a way that > if it's nil or omitted, FRAME defaults to the selected frame. > > For example, 'set-frame-font' documents this: > > If FRAMES is nil, apply the font to the selected frame only. > If FRAMES is non-nil, it should be a list of frames to act upon, > or t meaning all existing graphical frames. > > and uses such implementation: > > (let ((frame-lst (cond ((null frames) > (list (selected-frame))) > ((eq frames t) > (frame-list)) > (t frames)))) > (dolist (f frame-lst) That's true and I noticed this inconsistency as well. So thanks for the suggestion, I have updated the patch accordingly. On Wed, Feb 10, 2021 at 7:41 PM Juri Linkov wrote: > > > Hope this is satisfactory, if not please feel free to adjust as you wish. > > Thanks, please see more comments: > > > +(defun tab-bar--tab-bar-lines-for-frame (frame) > > + (if (not tab-bar-mode) > > + 0 > > + (cond > > + ((eq tab-bar-show t) 1) > > + ((natnump tab-bar-show) > > + (if (> (length (funcall tab-bar-tabs-function frame)) tab-bar-show) 1 0)) > > + (t 0)))) > > A small optimization: > > ((not tab-bar-mode) 0) > > could be added as the first condition of the same 'cond'. Thanks! Done. > > > :set (lambda (sym val) > > (set-default sym val) > > ;; Preload button images > > + ;; Note: tab-bar-mode updates tab-bar-lines as well. > > + (tab-bar-mode 1)) > > Not sure whether the users would want to enable tab-bar-mode > unconditionally after customizing tab-bar-show. > > Maybe when customized tab-bar-show to nil, only call > tab-bar--update-tab-bar-lines in all frames? > Or maybe simply to disable the tab bar with (tab-bar-mode 0) > when customized to nil? I am not sure either. I think the best is to just leave tab-bar-mode as it is to be honest. All this entanglement doesn't seem very clean to me. Yes this would mean that the user needs to manually enable tab-bar-mode after customizing the variable, but on the other hand tab-bar-mode is on by default, so the user must have switched it off in his .emacs by choice. So I just added the call the tab-bar--update-tab-bar-lines for all frames, because this is necessary for sure. On the other hand I don't fully understand the comment about 'Preload button images'. I think the images and keybindings are loaded when tab-bar-mode is switched on and afterwards whenever a new tab is created in tab-bar-new-to, so it seems independent of tab-bar-show. When tab-bar-show is customized they are either already loaded because tab-bar-mode is on, or if it is not they are not required and will be loaded when tab-bar-mode is activated. > > > @@ -852,16 +867,15 @@ After the tab is created, the hooks in > > + ;; Switch on tab-bar-mode, since a tab was created > > + (when tab-bar-show > > (tab-bar-mode 1)) > > + > > + ;; Recalculate tab-bar-lines and update frames > > + (tab-bar--update-tab-bar-lines (selected-frame)) > > + (when tab-bar-mode > > + (tab-bar--load-buttons) > > + (tab-bar--define-keys)) > > Would you agree that here in tab-bar-new-tab-to, the first call of > tab-bar-mode should already do all these calls: tab-bar--update-tab-bar-lines, > tab-bar--load-buttons, tab-bar--define-keys? So maybe it should be > sufficient just to leave these 2 lines here: > > (when tab-bar-show > (tab-bar-mode 1)) Yes I agree that tab-bar--update-tab-bar-lines is not needed. It happens in the line before when tab-bar-show is not nil and doesn't matter otherwise. I have left these two lines, though: (when tab-bar-mode (tab-bar--load-buttons) (tab-bar--define-keys)) Because I think defining the keys is useful even if tab-bar-show is nil, so you can switch to another tab using the key bindings even if you can't see the tab-bar. As for the buttons, I think it makes sense to load them so that in case tab-bar-show is customized to another value afterwards they are available directly. --0000000000008a89fd05bb0e78f2 Content-Type: text/x-patch; charset="US-ASCII"; name="tab-bar_v6.patch" Content-Disposition: attachment; filename="tab-bar_v6.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_kl0tl6cl0 ZGlmZiAtLWdpdCBhL2xpc3AvdGFiLWJhci5lbCBiL2xpc3AvdGFiLWJhci5lbAppbmRleCA2NzIw ZDgyYjQ3Li43YWZiYjk2MjEyIDEwMDY0NAotLS0gYS9saXNwL3RhYi1iYXIuZWwKKysrIGIvbGlz cC90YWItYmFyLmVsCkBAIC0xMzQsMjEgKzEzNCw0NyBAQCBQb3NzaWJsZSBtb2RpZmllciBrZXlz IGFyZSBgY29udHJvbCcsIGBtZXRhJywgYHNoaWZ0JywgYGh5cGVyJywgYHN1cGVyJyBhbmQKICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDphc2NlbnQgY2VudGVyKSkK ICAgICAgICAgICAgICAgICAgICAgICAgICB0YWItYmFyLWNsb3NlLWJ1dHRvbikpKQogCisoZGVm dW4gdGFiLWJhci0tdGFiLWJhci1saW5lcy1mb3ItZnJhbWUgKGZyYW1lKQorICAiRGV0ZXJtaW5l IGFuZCByZXR1cm4gdGhlIHZhbHVlIG9mIGB0YWItYmFyLWxpbmVzJyBmb3IgRlJBTUUuCitSZXR1 cm4gMCBpZiBgdGFiLWJhci1tb2RlJyBpcyBub3QgZW5hYmxlZC4gIE90aGVyd2lzZSByZXR1cm4K K2VpdGhlciAxIG9yIDAgZGVwZW5kaW5nIG9uIHRoZSB2YWx1ZSBvZiB0aGUgY3VzdG9taXphYmxl IHZhcmlhYmxlCitgdGFiLWJhci1zaG93Jywgd2hpY2ggc2VlLiIKKyAgKGNvbmQKKyAgICgobm90 IHRhYi1iYXItbW9kZSkgMCkKKyAgICgobm90IHRhYi1iYXItc2hvdykgMCkKKyAgICgoZXEgdGFi LWJhci1zaG93IHQpIDEpCisgICAoKG5hdG51bXAgdGFiLWJhci1zaG93KQorICAgIChpZiAoPiAo bGVuZ3RoIChmdW5jYWxsIHRhYi1iYXItdGFicy1mdW5jdGlvbiBmcmFtZSkpIHRhYi1iYXItc2hv dykgMSAwKSkpKQorCisoZGVmdW4gdGFiLWJhci0tdXBkYXRlLXRhYi1iYXItbGluZXMgKCZvcHRp b25hbCBmcmFtZXMpCisgICJVcGRhdGUgdGhlIGB0YWItYmFyLWxpbmVzJyBwYXJhbWV0ZXIgaW4g ZnJhbWVzLgorVXBkYXRlIHRoZSB0YWItYmFyLWxpbmVzIGZyYW1lIHBhcmFtZXRlci4gSWYgdGhl IG9wdGlvbmFsCitwYXJhbWV0ZXIgRlJBTUVTIGlzIG9taXR0ZWQsIHVwZGF0ZSBvbmx5IHRoZSBj dXJyZW50bHkgc2VsZWN0ZWQKK2ZyYW1lLiAgSWYgaXQgaXMgYHQnLCB1cGRhdGUgYWxsIGZyYW1l cyBhcyB3ZWxsIGFzIHRoZSBkZWZhdWx0Citmb3IgbmV3IGZyYW1lcy4gIE90aGVyd2lzZSBGUkFN RVMgc2hvdWxkIGJlIGEgbGlzdCBvZiBmcmFtZXMgdG8KK3VwZGF0ZS4iCisgIChsZXQgKChmcmFt ZS1sc3QgKGNvbmQgKChudWxsIGZyYW1lcykKKyAgICAgICAgICAgICAgICAgICAgICAgICAgKGxp c3QgKHNlbGVjdGVkLWZyYW1lKSkpCisgICAgICAgICAgICAgICAgICAgICAgICAgKChlcSBmcmFt ZXMgdCkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgKGZyYW1lLWxpc3QpKQorICAgICAgICAg ICAgICAgICAgICAgICAgICh0IGZyYW1lcykpKSkKKyAgICA7OyBMb29wIG92ZXIgYWxsIGZyYW1l cyBhbmQgdXBkYXRlIGRlZmF1bHQtZnJhbWUtYWxpc3QKKyAgICAoZG9saXN0IChmcmFtZSBmcmFt ZS1sc3QpCisgICAgICAoc2V0LWZyYW1lLXBhcmFtZXRlciBmcmFtZSAndGFiLWJhci1saW5lcyAo dGFiLWJhci0tdGFiLWJhci1saW5lcy1mb3ItZnJhbWUgZnJhbWUpKSkpCisgICh3aGVuIChlcSBm cmFtZXMgdCkKKyAgICAoc2V0cSBkZWZhdWx0LWZyYW1lLWFsaXN0CisgICAgICAgICAgKGNvbnMg KGNvbnMgJ3RhYi1iYXItbGluZXMgKGlmIChhbmQgdGFiLWJhci1tb2RlIChlcSB0YWItYmFyLXNo b3cgdCkpIDEgMCkpCisgICAgICAgICAgICAgICAgKGFzc3EtZGVsZXRlLWFsbCAndGFiLWJhci1s aW5lcyBkZWZhdWx0LWZyYW1lLWFsaXN0KSkpKSkKKwogKGRlZmluZS1taW5vci1tb2RlIHRhYi1i YXItbW9kZQogICAiVG9nZ2xlIHRoZSB0YWIgYmFyIGluIGFsbCBncmFwaGljYWwgZnJhbWVzIChU YWIgQmFyIG1vZGUpLiIKICAgOmdsb2JhbCB0CiAgIDs7IEl0J3MgZGVmaW5lZCBpbiBDL2N1cy1z dGFydCwgdGhpcyBzdG9wcyB0aGUgZC1tLW0gbWFjcm8gZGVmaW5pbmcgaXQgYWdhaW4uCiAgIDp2 YXJpYWJsZSB0YWItYmFyLW1vZGUKLSAgKGxldCAoKHZhbCAoaWYgdGFiLWJhci1tb2RlIDEgMCkp KQotICAgIChkb2xpc3QgKGZyYW1lIChmcmFtZS1saXN0KSkKLSAgICAgIChzZXQtZnJhbWUtcGFy YW1ldGVyIGZyYW1lICd0YWItYmFyLWxpbmVzIHZhbCkpCi0gICAgOzsgSWYgdGhlIHVzZXIgaGFz IGdpdmVuIGBkZWZhdWx0LWZyYW1lLWFsaXN0JyBhIGB0YWItYmFyLWxpbmVzJwotICAgIDs7IHBh cmFtZXRlciwgcmVwbGFjZSBpdC4KLSAgICAoaWYgKGFzc3EgJ3RhYi1iYXItbGluZXMgZGVmYXVs dC1mcmFtZS1hbGlzdCkKLSAgICAgICAgKHNldHEgZGVmYXVsdC1mcmFtZS1hbGlzdAotICAgICAg ICAgICAgICAoY29ucyAoY29ucyAndGFiLWJhci1saW5lcyB2YWwpCi0gICAgICAgICAgICAgICAg ICAgIChhc3NxLWRlbGV0ZS1hbGwgJ3RhYi1iYXItbGluZXMKLSAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBkZWZhdWx0LWZyYW1lLWFsaXN0KSkpKSkKKworICA7OyBSZWNhbGN1 bGF0ZSB0YWItYmFyLWxpbmVzIGZvciBhbGwgZnJhbWVzCisgICh0YWItYmFyLS11cGRhdGUtdGFi LWJhci1saW5lcyB0KQorCiAgICh3aGVuIHRhYi1iYXItbW9kZQogICAgICh0YWItYmFyLS1sb2Fk LWJ1dHRvbnMpKQogICAoaWYgdGFiLWJhci1tb2RlCkBAIC0yNTAsMTcgKzI3Niw4IEBAIHlvdSBj YW4gdXNlIHRoZSBjb21tYW5kIGB0b2dnbGUtZnJhbWUtdGFiLWJhcicuIgogICA6aW5pdGlhbGl6 ZSAnY3VzdG9tLWluaXRpYWxpemUtZGVmYXVsdAogICA6c2V0IChsYW1iZGEgKHN5bSB2YWwpCiAg ICAgICAgICAoc2V0LWRlZmF1bHQgc3ltIHZhbCkKLSAgICAgICAgIDs7IFByZWxvYWQgYnV0dG9u IGltYWdlcwotICAgICAgICAgKHRhYi1iYXItbW9kZSAxKQotICAgICAgICAgOzsgVGhlbiBoYW5k bGUgZWFjaCBmcmFtZSBpbmRpdmlkdWFsbHkKLSAgICAgICAgIChkb2xpc3QgKGZyYW1lIChmcmFt ZS1saXN0KSkKLSAgICAgICAgICAgKHNldC1mcmFtZS1wYXJhbWV0ZXIKLSAgICAgICAgICAgIGZy YW1lICd0YWItYmFyLWxpbmVzCi0gICAgICAgICAgICAoaWYgKG9yIChlcSB2YWwgdCkKLSAgICAg ICAgICAgICAgICAgICAgKGFuZCAobmF0bnVtcCB2YWwpCi0gICAgICAgICAgICAgICAgICAgICAg ICAgKD4gKGxlbmd0aCAoZnVuY2FsbCB0YWItYmFyLXRhYnMtZnVuY3Rpb24gZnJhbWUpKQotICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHZhbCkpKQotICAgICAgICAgICAgICAgIDEgMCkpKSkK KyAgICAgICAgIDs7IFJlY2FsY3VsYXRlIHRhYi1iYXItbGluZXMgZm9yIGFsbCBmcmFtZXMKKyAg ICAgICAgICh0YWItYmFyLS11cGRhdGUtdGFiLWJhci1saW5lcyB0KSkKICAgOmdyb3VwICd0YWIt YmFyCiAgIDp2ZXJzaW9uICIyNy4xIikKIApAQCAtODUyLDE2ICs4NjksMTQgQEAgQWZ0ZXIgdGhl IHRhYiBpcyBjcmVhdGVkLCB0aGUgaG9va3MgaW4KICAgICAgIChydW4taG9vay13aXRoLWFyZ3Mg J3RhYi1iYXItdGFiLXBvc3Qtb3Blbi1mdW5jdGlvbnMKICAgICAgICAgICAgICAgICAgICAgICAg ICAgKG50aCB0by1pbmRleCB0YWJzKSkpCiAKLSAgICAoY29uZAotICAgICAoKGVxIHRhYi1iYXIt c2hvdyB0KQorICAgIDs7IFN3aXRjaCBvbiB0YWItYmFyLW1vZGUsIHNpbmNlIGEgdGFiIHdhcyBj cmVhdGVkCisgICAgOzsgTm90ZTogVGhpcyBhbHNvIHVwZGF0ZXMgdGFiLWJhci1saW5lcworICAg ICh3aGVuIHRhYi1iYXItc2hvdwogICAgICAgKHRhYi1iYXItbW9kZSAxKSkKLSAgICAgKChhbmQg KG5hdG51bXAgdGFiLWJhci1zaG93KQotICAgICAgICAgICAoPiAobGVuZ3RoIChmdW5jYWxsIHRh Yi1iYXItdGFicy1mdW5jdGlvbikpIHRhYi1iYXItc2hvdykKLSAgICAgICAgICAgKHplcm9wIChm cmFtZS1wYXJhbWV0ZXIgbmlsICd0YWItYmFyLWxpbmVzKSkpCi0gICAgICAocHJvZ24KLSAgICAg ICAgKHRhYi1iYXItLWxvYWQtYnV0dG9ucykKLSAgICAgICAgKHRhYi1iYXItLWRlZmluZS1rZXlz KQotICAgICAgICAoc2V0LWZyYW1lLXBhcmFtZXRlciBuaWwgJ3RhYi1iYXItbGluZXMgMSkpKSkK KworICAgICh3aGVuIHRhYi1iYXItbW9kZQorICAgICAgKHRhYi1iYXItLWxvYWQtYnV0dG9ucykK KyAgICAgICh0YWItYmFyLS1kZWZpbmUta2V5cykpCiAKICAgICAoZm9yY2UtbW9kZS1saW5lLXVw ZGF0ZSkKICAgICAodW5sZXNzIHRhYi1iYXItbW9kZQpAQCAtOTk2LDExICsxMDExLDggQEAgZm9y IHRoZSBsYXN0IHRhYiBvbiBhIGZyYW1lIGlzIGRldGVybWluZWQgYnkKICAgICAgICAgICAgICAg ICB0YWItYmFyLWNsb3NlZC10YWJzKQogICAgICAgICAgIChzZXQtZnJhbWUtcGFyYW1ldGVyIG5p bCAndGFicyAoZGVscSBjbG9zZS10YWIgdGFicykpKQogCi0gICAgICAgICh3aGVuIChhbmQgKG5v dCAoemVyb3AgKGZyYW1lLXBhcmFtZXRlciBuaWwgJ3RhYi1iYXItbGluZXMpKSkKLSAgICAgICAg ICAgICAgICAgICAobmF0bnVtcCB0YWItYmFyLXNob3cpCi0gICAgICAgICAgICAgICAgICAgKDw9 IChsZW5ndGggKGZ1bmNhbGwgdGFiLWJhci10YWJzLWZ1bmN0aW9uKSkKLSAgICAgICAgICAgICAg ICAgICAgICAgdGFiLWJhci1zaG93KSkKLSAgICAgICAgICAoc2V0LWZyYW1lLXBhcmFtZXRlciBu aWwgJ3RhYi1iYXItbGluZXMgMCkpCisgICAgICAgIDs7IFJlY2FsY3VsYXRlIHRhYi1iYXItbGlu ZXMgYW5kIHVwZGF0ZSBmcmFtZXMKKyAgICAgICAgKHRhYi1iYXItLXVwZGF0ZS10YWItYmFyLWxp bmVzKQogCiAgICAgICAgIChmb3JjZS1tb2RlLWxpbmUtdXBkYXRlKQogICAgICAgICAodW5sZXNz IHRhYi1iYXItbW9kZQpAQCAtMTAzNiwxMSArMTA0OCw4IEBAIGZvciB0aGUgbGFzdCB0YWIgb24g YSBmcmFtZSBpcyBkZXRlcm1pbmVkIGJ5CiAgICAgICAgICAgKHJ1bi1ob29rLXdpdGgtYXJncyAn dGFiLWJhci10YWItcHJlLWNsb3NlLWZ1bmN0aW9ucyAobnRoIGluZGV4IHRhYnMpIG5pbCkpKQog ICAgICAgKHNldC1mcmFtZS1wYXJhbWV0ZXIgbmlsICd0YWJzIChsaXN0IChudGggY3VycmVudC1p bmRleCB0YWJzKSkpCiAKLSAgICAgICh3aGVuIChhbmQgKG5vdCAoemVyb3AgKGZyYW1lLXBhcmFt ZXRlciBuaWwgJ3RhYi1iYXItbGluZXMpKSkKLSAgICAgICAgICAgICAgICAgKG5hdG51bXAgdGFi LWJhci1zaG93KQotICAgICAgICAgICAgICAgICAoPD0gKGxlbmd0aCAoZnVuY2FsbCB0YWItYmFy LXRhYnMtZnVuY3Rpb24pKQotICAgICAgICAgICAgICAgICAgICAgdGFiLWJhci1zaG93KSkKLSAg ICAgICAgKHNldC1mcmFtZS1wYXJhbWV0ZXIgbmlsICd0YWItYmFyLWxpbmVzIDApKQorICAgICAg OzsgUmVjYWxjdWxhdGUgdGFiLWJhci1saW5lcyBhbmQgdXBkYXRlIGZyYW1lcworICAgICAgKHRh Yi1iYXItLXVwZGF0ZS10YWItYmFyLWxpbmVzKQogCiAgICAgICAoZm9yY2UtbW9kZS1saW5lLXVw ZGF0ZSkKICAgICAgICh1bmxlc3MgdGFiLWJhci1tb2RlCg== --0000000000008a89fd05bb0e78f2--