From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: martin rudalics Newsgroups: gmane.emacs.devel Subject: Re: [PATCH] Fix display-buffer-use-some-window to honor reusable-frames Date: Thu, 2 Feb 2023 17:39:44 +0100 Message-ID: References: <834jsccepb.fsf@gnu.org> <30c3d810-ed96-a9bd-c622-1761a138515c@gmx.at> <115a6020-2b86-2653-844e-d19eb03cf62c@gmx.at> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="------------ojVnJGve6FqkdCHZQokuZcwT" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="35140"; mail-complaints-to="usenet@ciao.gmane.io" Cc: Eli Zaretskii , emacs-devel@gnu.org, larsi@gnus.org To: Tom Gillespie Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Thu Feb 02 17:40:35 2023 Return-path: Envelope-to: ged-emacs-devel@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 1pNcdX-0008yJ-1A for ged-emacs-devel@m.gmane-mx.org; Thu, 02 Feb 2023 17:40:35 +0100 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pNccr-0002tO-36; Thu, 02 Feb 2023 11:39:53 -0500 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pNccp-0002sa-49 for emacs-devel@gnu.org; Thu, 02 Feb 2023 11:39:51 -0500 Original-Received: from mout.gmx.net ([212.227.15.19]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pNccm-0002hA-Ul; Thu, 02 Feb 2023 11:39:50 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.at; s=s31663417; t=1675355986; bh=P0HJ2/8EbZjiHBpCLC1TKr3349akmfsf39fNkFRP08Y=; h=X-UI-Sender-Class:Date:Subject:From:To:Cc:References:In-Reply-To; b=qppm5LZ9MayauuW6dDdsRKaNBa+fksDpRJ9q5/acO66Hgd9h8qQw86ZpTXYcGlrs0 dXXVKKiz+xdHfCmW8hGo/YiJ46oRO9x5uglHB9eKkdrZ9G3/XwQCxILm8L3bYgAjpn fMb7YyA9Ew1+EQap6viD0li39PFniAPFzIIY7tZNFj9rVZ4rG+8tVI9uBWc5GrJB/u jllCdOC/c614Qyqn3Sh+ztqDKK4sEhRb3vFLm6gcddszWP1oNvDczUizUXmoU4n7s2 BT1nKNQYRCwjYLQdzqbG/UoiW+X+GXqyTfemPFP22amx5xfFl5ZoWPJxmcHegW/4tV WAENgm7BmW/Pw== X-UI-Sender-Class: 724b4f7f-cbec-4199-ad4e-598c01a50d3a Original-Received: from [192.168.1.103] ([46.125.249.77]) by mail.gmx.net (mrgmx005 [212.227.17.190]) with ESMTPSA (Nemesis) id 1MPGRz-1p0CS43OXN-00PdUL; Thu, 02 Feb 2023 17:39:45 +0100 Content-Language: en-US In-Reply-To: X-Provags-ID: V03:K1:WKt9ttFvpqzRwqJbRC6LciUODGS4y1/CWMdREQdQG+1oPqD/FCz flPxAdx+/ZCu97dzOdmu/ZIGeaaPdSGL48mEECAP5cL8z6kVm4C4kxfL4HxreX8Mw0oA5h6 ADuex9Slv5tGlQm7KMXiBA6Yupskc8v0F0OCn/n2J16EW18PhktJck77q//BDcppPKeIzVU QXo3TyXuLMf29XNaYYXXQ== UI-OutboundReport: notjunk:1;M01:P0:zz2KuwX97pg=;ygEpCfdE7oFZVd0XFbJ0ZE9hM0W wzoPq9M4dFpxnXEvQLThc8Zc3xT+mr1yghS/lxuN247cZWX5338PNo4A3tBgLBvNGDCLl4IgY cR5eu3wg7Lr7cFQoLv0I2K9NBl2KRv7WShYsC4nkTuSxEYQLWJhAClIoejg0mBatnG4EKm0SG u/+sdL+CmRVr6Ao/MQeHExxwnj0bG3LhWO5Q/73DGd3DKLYGvKQVE3J2A51ttCECgYWDPnvew 4gdC3fUD4zuXu1CFK5pPxWEMRMwf+lOBX5ACvpllmJIRbnZtV4pbG/PI306AUcsDX8yx9L290 V70lYqTnBnmyPZcR+FiTc6PPkFeVJoobasq0GwiA2Fvn0x62hmXsSnuw6574j+v3d14E2zKrR 7/orfwyV7vPCraagMHbe8ZIk1uL8aVII5XU7l61mlII9jIEXFM/biq5N+UN6vMWr4y7+TpYGb +4o54vQ1gI/uECP8d1W7lKEHlWrwob2qE/GbwKhhjvNNf498vn4iT8XZ7V7aAoWT6XVEWRuUg F+/18ng6T32MzozysPkSxym0mALerbDwML9PaZBk40ceMwuvXH304nfu98Br5F0XiGb6is9Zx AALzAhxK9PtaNLDlNBeuD30qu4yv+OBTdD3DsCneCwNh8/YV7noCZ3jdicd8pua85PrqX/yoB JiEar1b7BB5H91M2dcpUGRI1jhaqH3de9L+G8Qoo7I8iseftIKZys1cuhIBHs6w84EIJxNU7i S9neMPwbE+IgGfAc9Ah4aPJPwCBSjlan1rzwP3ij3J+42DcG+Zzxe4U8Oa3xqF3oTIfHzzzc Received-SPF: pass client-ip=212.227.15.19; envelope-from=rudalics@gmx.at; helo=mout.gmx.net X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.emacs.devel:302906 Archived-At: This is a multi-part message in MIME format. --------------ojVnJGve6FqkdCHZQokuZcwT Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit > And note one thing: When you call 'get-lru-window' twice in a row, it > will usually _not_ return a window it has internally considered as > "second best" provided it finds a best one. > > Consider a frame with three windows, one of them full width and the > other two, including the selected one, not full width. In this case > 'get-lru-window' will always return the full width window even if it has > a higher use time than the not selected, not full width one. A tentative solution for this and the other problems mentioned in this thread is in the attached diff. It should be able to digest the following form. (let* ((window (selected-window)) use-time) ;; Make window at bottom mru. (select-window (split-window)) ;; Make window on right mru. (select-window (split-window window nil t)) ;; Make initial window mru so the lru window is the one at bottom. (select-window window) (setq use-time (window-use-time)) (display-buffer (get-buffer-create "*foo*") `((display-buffer-use-least-recent-window) (window-min-width . full-width) (lru-time . ,use-time) )) (display-buffer (get-buffer-create "*bar*") `((display-buffer-use-least-recent-window) (window-min-width . full-width) (lru-time . ,use-time) ))) Note how it uses a non-full-width window for *bar* despite the fact that we would have preferred a full-width one. And note the settings of lru-time to the use time of the selected window before the first 'display-buffer' call. Commenting out these lru-time settings will make it use as window for *bar* the window it previously used for *foo*. martin --------------ojVnJGve6FqkdCHZQokuZcwT Content-Type: text/x-patch; charset=UTF-8; name="Gillespie.diff" Content-Disposition: attachment; filename="Gillespie.diff" Content-Transfer-Encoding: base64 ZGlmZiAtLWdpdCBhL2xpc3Avd2luZG93LmVsIGIvbGlzcC93aW5kb3cuZWwKaW5kZXggYTEx MjkzZDM3Mi4uYTBlMDlhYjQ5MiAxMDA2NDQKLS0tIGEvbGlzcC93aW5kb3cuZWwKKysrIGIv bGlzcC93aW5kb3cuZWwKQEAgLTg0OTcsMTYgKzg0OTcsNiBAQCBkaXNwbGF5LWJ1ZmZlci1p bi1wcmV2aW91cy13aW5kb3cKICAgICAod2hlbiAoc2V0cSB3aW5kb3cgKG9yIGJlc3Qtd2lu ZG93IHNlY29uZC1iZXN0LXdpbmRvdykpCiAgICAgICAod2luZG93LS1kaXNwbGF5LWJ1ZmZl ciBidWZmZXIgd2luZG93ICdyZXVzZSBhbGlzdCkpKSkKIAotKGRlZnVuIGRpc3BsYXktYnVm ZmVyLXVzZS1sZWFzdC1yZWNlbnQtd2luZG93IChidWZmZXIgYWxpc3QpCi0gICJEaXNwbGF5 IEJVRkZFUiBpbiBhbiBleGlzdGluZyB3aW5kb3csIGJ1dCB0aGF0IGhhc24ndCBiZWVuIHVz ZWQgbGF0ZWx5LgotVGhpcyBgZGlzcGxheS1idWZmZXInIGFjdGlvbiBmdW5jdGlvbiBpcyBs aWtlCi1gZGlzcGxheS1idWZmZXItdXNlLXNvbWUtd2luZG93JywgYnV0IHdpbGwgY3ljbGUg dGhyb3VnaCB3aW5kb3dzCi13aGVuIGRpc3BsYXlpbmcgYnVmZmVycyByZXBlYXRlZGx5LCBh bmQgaWYgdGhlcmUncyBvbmx5IGEgc2luZ2xlCi13aW5kb3csIGl0IHdpbGwgc3BsaXQgdGhl IHdpbmRvdy4iCi0gICh3aGVuLWxldCAoKHdpbmRvdyAoZGlzcGxheS1idWZmZXItdXNlLXNv bWUtd2luZG93Ci0gICAgICAgICAgICAgICAgICAgICAgYnVmZmVyIChjb25zIChjb25zICdp bmhpYml0LXNhbWUtd2luZG93IHQpIGFsaXN0KSkpKQotICAgICh3aW5kb3ctYnVtcC11c2Ut dGltZSB3aW5kb3cpKSkKLQogKGRlZnVuIGRpc3BsYXktYnVmZmVyLXVzZS1zb21lLXdpbmRv dyAoYnVmZmVyIGFsaXN0KQogICAiRGlzcGxheSBCVUZGRVIgaW4gYW4gZXhpc3Rpbmcgd2lu ZG93LgogU2VhcmNoIGZvciBhIHVzYWJsZSB3aW5kb3csIHNldCB0aGF0IHdpbmRvdyB0byB0 aGUgYnVmZmVyLCBhbmQKQEAgLTg1NTksNiArODU0OSw5MiBAQCBkaXNwbGF5LWJ1ZmZlci11 c2Utc29tZS13aW5kb3cKIAkodW5sZXNzIChjZHIgKGFzc3EgJ2luaGliaXQtc3dpdGNoLWZy YW1lIGFsaXN0KSkKIAkgICh3aW5kb3ctLW1heWJlLXJhaXNlLWZyYW1lICh3aW5kb3ctZnJh bWUgd2luZG93KSkpKSkpKQogCisoZGVmdW4gZGlzcGxheS1idWZmZXItLWxydS13aW5kb3cg KGFsaXN0KQorICAiUmV0dXJuIHRoZSBsZWFzdCByZWNlbnRseSB1c2VkIHdpbmRvdyBhY2Nv cmRpbmcgdG8gQUxJU1QuCitEbyBub3QgcmV0dXJuIGEgbWluaWJ1ZmZlciB3aW5kb3cgb3Ig YSB3aW5kb3cgZGVkaWNhdGVkIHRvIGl0cworYnVmZmVyLiAgVGhlIGZvbGxvd2luZyBBTElT VCBlbnRyaWVzIGhhdmUgYSBzcGVjaWFsIG1lYW5pbmc6CisKKy0gYGxydS1mcmFtZXMnIHNw ZWNpZmllcyB0aGUgZnJhbWVzIHRvIGludmVzdGlnYXRlIGFuZCBoYXMgdGhlCisgIHNhbWUg bWVhbmluZyBhcyB0aGUgQUxMLUZSQU1FUyBhcmd1bWVudCBvZiBgZ2V0LWxydS13aW5kb3cn LgorCistIGBscnUtdGltZScgc3BlY2lmaWVzIGEgdXNlIHRpbWUuICBEbyBub3QgcmV0dXJu IGEgd2luZG93IHdob3NlCisgIHVzZSB0aW1lIGlzIGhpZ2hlciB0aGFuIHRoaXMuCisKKy0g YHdpbmRvdy1taW4td2lkdGgnIHNwZWNpZmllcyBhIHByZWZlcnJlZCBtaW5pbXVtIHdpZHRo IGluCisgIGNhbm9uaWNhbCBmcmFtZSBjb2x1bW5zLiAgSWYgaXQgaXMgdGhlIGNvbnN0YW50 IGBmdWxsLXdpZHRoJywKKyAgYXNrIGZvciBhIGZ1bGwtd2lkdGggd2luZG93LgorCistIGB3 aW5kb3ctbWluLWhlaWdodCcgc3BlY2lmaWVzIGEgcHJlZmVycmVkIG1pbmltdW0gaGVpZ2h0 IGluCisgIGNhbm9uaWNhbCBmcmFtZSBsaW5lcy4gIElmIGl0IGlzIHRoZSBjb25zdGFudCBg ZnVsbC1oZWlnaHQnLAorICBhc2sgZm9yIGEgZnVsbC1oZWlnaHQgd2luZG93LgorCistIGBu b3QtdGhpcy13aW5kb3cnIG5vbi1uaWwgbWVhbnMgdG8gbmV2ZXIgcmV0dXJuIHRoZSBzZWxl Y3RlZAorICB3aW5kb3cuICBFdmVuIGlmIHRoaXMgZW50cnkgaXMgbm90IHByZXNlbnQsIHRy eSB0byBhdm9pZAorICByZXR1cm5pbmcgdGhlIHNlbGVjdGVkIHdpbmRvdy4iCisgIChsZXQg KCh3aW5kb3dzCisgICAgICAgICAod2luZG93LWxpc3QtMSBuaWwgJ25vbWluaSAoY2RyIChh c3NxICdscnUtZnJhbWVzIGFsaXN0KSkpKQorICAgICAgICAobHJ1LXRpbWUgKGNkciAoYXNz cSAnbHJ1LXRpbWUgYWxpc3QpKSkKKyAgICAgICAgKG1pbi13aWR0aCAoY2RyIChhc3NxICd3 aW5kb3ctbWluLXdpZHRoIGFsaXN0KSkpCisgICAgICAgIChtaW4taGVpZ2h0IChjZHIgKGFz c3EgJ3dpbmRvdy1taW4taGVpZ2h0IGFsaXN0KSkpCisgICAgICAgIChub3Qtc2VsZWN0ZWQg KGNkciAoYXNzcSAnbm90LXRoaXMtd2luZG93IGFsaXN0KSkpCisgICAgICAgIGJlc3Qtd2lu ZG93IGJlc3QtdGltZSBzZWNvbmQtYmVzdC13aW5kb3cgc2Vjb25kLWJlc3QtdGltZSB0aW1l KQorICAgIChkb2xpc3QgKHdpbmRvdyB3aW5kb3dzKQorICAgICAgKHdoZW4gKGFuZCAobm90 ICh3aW5kb3ctZGVkaWNhdGVkLXAgd2luZG93KSkKKwkJIChvciAobm90IG5vdC1zZWxlY3Rl ZCkgKG5vdCAoZXEgd2luZG93IChzZWxlY3RlZC13aW5kb3cpKSkpKQorCShzZXRxIHRpbWUg KHdpbmRvdy11c2UtdGltZSB3aW5kb3cpKQorICAgICAgICAodW5sZXNzIChhbmQgKG51bWJl cnAgbHJ1LXRpbWUpICg+IHRpbWUgbHJ1LXRpbWUpKQorCSAgKGlmIChvciAoZXEgd2luZG93 IChzZWxlY3RlZC13aW5kb3cpKQorICAgICAgICAgICAgICAgICAgKGFuZCBtaW4td2lkdGgK KyAgICAgICAgICAgICAgICAgICAgICAgKG9yIChhbmQgKG51bWJlcnAgbWluLXdpZHRoKQor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoPCAod2luZG93LXdpZHRoIHdpbmRv dykgbWluLXdpZHRoKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIChhbmQgKGVxIG1p bi13aWR0aCAnZnVsbC13aWR0aCkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg KG5vdCAod2luZG93LWZ1bGwtd2lkdGgtcCB3aW5kb3cpKSkpKQorICAgICAgICAgICAgICAg ICAgKGFuZCBtaW4taGVpZ2h0CisgICAgICAgICAgICAgICAgICAgICAgIChvciAoYW5kIChu dW1iZXJwIG1pbi1oZWlnaHQpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg8 ICh3aW5kb3ctaGVpZ2h0IHdpbmRvdykgbWluLWhlaWdodCkpCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAoYW5kIChlcSBtaW4taGVpZ2h0ICdmdWxsLWhlaWdodCkKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgKG5vdCAod2luZG93LWZ1bGwtaGVpZ2h0LXAgd2lu ZG93KSkpKSkpCisgICAgICAgICAgICAgIDs7IFRoaXMgd2luZG93IGlzIGVpdGhlciBzZWxl Y3RlZCBvciBkb2VzIG5vdCBtZWV0IHRoZSBzaXplCisgICAgICAgICAgICAgIDs7IHJlc3Ry aWN0aW9ucyAtIHNvIGl0J3Mgb25seSBhIHNlY29uZCBiZXN0IGNob2ljZS4gIFRyeSB0bwor ICAgICAgICAgICAgICA7OyBmaW5kIGEgbW9yZSByZWNlbnRseSB1c2VkIG9uZSB0aGF0IGZp dHMuCisJICAgICAgKHdoZW4gKG9yIChub3Qgc2Vjb25kLWJlc3QtdGltZSkgKDwgdGltZSBz ZWNvbmQtYmVzdC10aW1lKSkKKwkgICAgICAgIChzZXRxIHNlY29uZC1iZXN0LXRpbWUgdGlt ZSkKKwkgICAgICAgIChzZXRxIHNlY29uZC1iZXN0LXdpbmRvdyB3aW5kb3cpKQorICAgICAg ICAgICAgOzsgVGhpcyB3aW5kb3cgaXMgbm90IHNlbGVjdGVkIGFuZCBkb2VzIG1lZXQgdGhl IHNpemUKKyAgICAgICAgICAgIDs7IHJlc3RyaWN0aW9ucy4gIEl0J3MgdGhlIGJlc3QgY2hv aWNlIHNvIGZhci4KKwkgICAgKHdoZW4gKG9yIChub3QgYmVzdC10aW1lKSAoPCB0aW1lIGJl c3QtdGltZSkpCisJICAgICAgKHNldHEgYmVzdC10aW1lIHRpbWUpCisJICAgICAgKHNldHEg YmVzdC13aW5kb3cgd2luZG93KSkpKSkpCisgICAgKG9yIGJlc3Qtd2luZG93IHNlY29uZC1i ZXN0LXdpbmRvdykpKQorCisoZGVmdW4gZGlzcGxheS1idWZmZXItdXNlLWxlYXN0LXJlY2Vu dC13aW5kb3cgKGJ1ZmZlciBhbGlzdCkKKyAgIi4uLiIKKyAgKGxldCogKChhbGlzdCAoY29u cyAoY29ucyAnaW5oaWJpdC1zYW1lLXdpbmRvdyB0KSBhbGlzdCkpCisgICAgICAgICAod2lu ZG93CisgICAgICAgICAgKG9yIChkaXNwbGF5LWJ1ZmZlci1yZXVzZS13aW5kb3cgYnVmZmVy IGFsaXN0KQorICAgICAgICAgICAgICAobGV0ICgod2luZG93IChkaXNwbGF5LWJ1ZmZlci0t bHJ1LXdpbmRvdyBhbGlzdCkpKQorICAgICAgICAgICAgICAgICh3aGVuICh3aW5kb3ctbGl2 ZS1wIHdpbmRvdykKKyAgICAgICAgICAgICAgICAgIChsZXQqICgocXVpdC1yZXN0b3JlICh3 aW5kb3ctcGFyYW1ldGVyIHdpbmRvdyAncXVpdC1yZXN0b3JlKSkKKwkgICAgICAgICAgICAg ICAgIChxdWFkIChudGggMSBxdWl0LXJlc3RvcmUpKSkKKyAgICAgICAgICAgICAgICAgICAg OzsgSWYgdGhlIHdpbmRvdyB3YXMgdXNlZCBieSBgZGlzcGxheS1idWZmZXInIGJlZm9yZSwg dHJ5IHRvCisgICAgICAgICAgICAgICAgICAgIDs7IHJlc2l6ZSBpdCB0byBpdHMgb2xkIGhl aWdodCBidXQgZG9uJ3Qgc2lnbmFsIGFuIGVycm9yLgorICAgICAgICAgICAgICAgICAgICAo d2hlbiAoYW5kIChsaXN0cCBxdWFkKQorCQkgICAgICAgICAgICAgICAoaW50ZWdlcnAgKG50 aCAzIHF1YWQpKQorCQkgICAgICAgICAgICAgICAoPiAobnRoIDMgcXVhZCkgKHdpbmRvdy10 b3RhbC1oZWlnaHQgd2luZG93KSkpCisJICAgICAgICAgICAgICAoY29uZGl0aW9uLWNhc2Ug bmlsCisJICAgICAgICAgICAgICAgICAgKHdpbmRvdy1yZXNpemUKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgIHdpbmRvdyAoLSAobnRoIDMgcXVhZCkgKHdpbmRvdy10b3RhbC1oZWln aHQgd2luZG93KSkpCisJICAgICAgICAgICAgICAgIChlcnJvciBuaWwpKSkKKyAgICAgICAg ICAgICAgICAgICAgKHByb2cxCisJICAgICAgICAgICAgICAgICh3aW5kb3ctLWRpc3BsYXkt YnVmZmVyIGJ1ZmZlciB3aW5kb3cgJ3JldXNlIGFsaXN0KQorCSAgICAgICAgICAgICAgKHdp bmRvdy0tZXZlbi13aW5kb3ctc2l6ZXMgd2luZG93KQorCSAgICAgICAgICAgICAgKHVubGVz cyAoY2RyIChhc3NxICdpbmhpYml0LXN3aXRjaC1mcmFtZSBhbGlzdCkpCisJICAgICAgICAg ICAgICAgICh3aW5kb3ctLW1heWJlLXJhaXNlLWZyYW1lICh3aW5kb3ctZnJhbWUgd2luZG93 KSkpKSkpKQorICAgICAgICAgICAgICAoZGlzcGxheS1idWZmZXItcG9wLXVwLXdpbmRvdyBi dWZmZXIgYWxpc3QpKSkpCisgICAgKHdoZW4gd2luZG93CisgICAgICAod2luZG93LWJ1bXAt dXNlLXRpbWUgd2luZG93KQorICAgICAgd2luZG93KSkpCisKIChkZWZ1biBkaXNwbGF5LWJ1 ZmZlci1uby13aW5kb3cgKF9idWZmZXIgYWxpc3QpCiAgICJEaXNwbGF5IEJVRkZFUiBpbiBu byB3aW5kb3cuCiBBTElTVCBpcyBhbiBhc3NvY2lhdGlvbiBsaXN0IG9mIGFjdGlvbiBzeW1i b2xzIGFuZCB2YWx1ZXMuICBTZWUK --------------ojVnJGve6FqkdCHZQokuZcwT--