From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: martin rudalics Newsgroups: gmane.emacs.bugs Subject: bug#25055: 25.1.50; completion buffer changes window size Date: Sat, 29 Apr 2017 12:29:55 +0200 Message-ID: <59046B23.5050805@gmx.at> References: <1480381769.2861995.801885809.40126DE8@webmail.messagingengine.com> <58F232E2.1030504@gmx.at> <87lgqlfzcf.fsf@aol.com> NNTP-Posting-Host: blaine.gmane.org Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="------------010802060108000804060102" X-Trace: blaine.gmane.org 1493461909 5939 195.159.176.226 (29 Apr 2017 10:31:49 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Sat, 29 Apr 2017 10:31:49 +0000 (UTC) To: Live System User , 25055@debbugs.gnu.org Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Sat Apr 29 12:31:45 2017 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by blaine.gmane.org with esmtp (Exim 4.84_2) (envelope-from ) id 1d4PfC-0001PP-QB for geb-bug-gnu-emacs@m.gmane.org; Sat, 29 Apr 2017 12:31:43 +0200 Original-Received: from localhost ([::1]:40530 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1d4PfI-0008GP-IK for geb-bug-gnu-emacs@m.gmane.org; Sat, 29 Apr 2017 06:31:48 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:48049) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1d4Ped-0007sL-KE for bug-gnu-emacs@gnu.org; Sat, 29 Apr 2017 06:31:08 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1d4PeY-0005gx-Ns for bug-gnu-emacs@gnu.org; Sat, 29 Apr 2017 06:31:07 -0400 Original-Received: from debbugs.gnu.org ([208.118.235.43]:47367) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1d4PeY-0005gt-Ih for bug-gnu-emacs@gnu.org; Sat, 29 Apr 2017 06:31:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1d4PeY-0004dW-Cb for bug-gnu-emacs@gnu.org; Sat, 29 Apr 2017 06:31:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: martin rudalics Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sat, 29 Apr 2017 10:31:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 25055 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: Original-Received: via spool by 25055-submit@debbugs.gnu.org id=B25055.149346181017712 (code B ref 25055); Sat, 29 Apr 2017 10:31:02 +0000 Original-Received: (at 25055) by debbugs.gnu.org; 29 Apr 2017 10:30:10 +0000 Original-Received: from localhost ([127.0.0.1]:45554 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1d4Pdi-0004bc-HR for submit@debbugs.gnu.org; Sat, 29 Apr 2017 06:30:10 -0400 Original-Received: from mout.gmx.net ([212.227.15.18]:50050) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1d4Pdg-0004aY-If for 25055@debbugs.gnu.org; Sat, 29 Apr 2017 06:30:09 -0400 Original-Received: from [192.168.1.100] ([213.162.68.115]) by mail.gmx.com (mrgmx003 [212.227.17.190]) with ESMTPSA (Nemesis) id 0Mb7pT-1dOxKP35Hn-00Kl28; Sat, 29 Apr 2017 12:29:58 +0200 In-Reply-To: <87lgqlfzcf.fsf@aol.com> X-Provags-ID: V03:K0:8rTr9N3Cyh+d03CNRMYzidnh/KsSk3mn8RXKbBAMp+BysAPNdxT 4isIMKqJAQezcavVZsEWYbdbdmLBZ60t/yoDW4X8IPO5gM1MRABr50dEI8eBOeEx1fxej/K DxO2RR3R1zN9bZrM4dBxbFVGbtd1fwhEqJ0hFDZcDGwnFg3JV2bTSBicqOMfTMag+p07HfG YuSOv2gS3nnsQ4IqRDlXQ== X-UI-Out-Filterresults: notjunk:1;V01:K0:vB0SC5/Ilts=:x+UIK+tCob9YGIHIt7p5uT eSaJlVRKpXQ6eTLbFQCemGnDryBZNTiW3NHNPd5URi3I3cmcHkDW67dwbMjjiNnKQmRCYeA2d I6pk/lhN9HiNsEYbTwqHlct0bKG/VAnGajM7g4ArI4wa1ESqwNlES2DP9lmSJjHorjUGM2sqD EOpf0YTgKQXC/+b1pVMAaan9exZ9LC0y2xtvkUCAvej6hP1kYoZXW+eO8JzLV/wXGf6jYNNFN /bFwVv926j0yY0RbIC098dS+sBlRgKs4fMoGwJfZseWWVBkkBguEpRY8HovfxcncY2ps3BdoY 4YyjQ5HTCV+rgKPKs9LutmJodgsV4CL1Ht2nhnYqFqgAopYOGomSAiX7LL7jBq188yC0vpQ6Z EtXTMhZKMJq4zrCiQVlHfVTmbP0I3/L4U+tnNR0aEQhVX0g81Al0UoS1Rr32fHMer7RJQV5kU R91k+yAgogLOz+251mQNWnlLvb52Y6dNvHKFHavT+EZ5M2nsl32bHOAzTRYmHJFCi4mgJ2Ryb aIfDzKlDM61O8Trz93h60VmMwIQpvTct163nw9SFK4oEnkwYEIhdiwKMrw4U8b9wi14h2Jcx4 8uasCotp0hz5foAVnCeZ09+zrWMvuR6tl7i2mUkH8bGoxgIc9iVInY3R9cBF4rznNsAzbKv61 uM9hzOVQ+Q8o0wjcHv0Q247Ei6EIIyyvp93xqi5AgjUv1IwuhGlr/JcxAbhHF2cS9INwlZMIu +pLxyJ/VsfMNLRwSdtxZcBl2YeFGU6eGIrXHEKsa0kz+cyNNyE0u/gHOiDmInCR03xsJ8nc7 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 208.118.235.43 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.org@gnu.org Original-Sender: "bug-gnu-emacs" Xref: news.gmane.org gmane.emacs.bugs:132096 Archived-At: This is a multi-part message in MIME format. --------------010802060108000804060102 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit >> If for some reason you cannot build Emacs or work with master, please >> tell me. I'll then try to explain how to get the desired behavior with >> Emacs 25 and your .emacs alone. Meanwhile closing this bug. > > I'd like to know how to do this on Emacs 25. Store the attached file my-fit-window.el somewhere on your machine, byte-compile it with Emacs 25 and load my-fit-window.elc from .emacs. And please tell me if it works. Thanks, martin --------------010802060108000804060102 Content-Type: application/emacs-lisp; name="my-fit-window.el" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="my-fit-window.el" Ozs7IG15LWZpdC13aW5kb3cuZWwgLS0tIEZpeCBgd2l0aC1kaXNwbGF5ZWQtYnVmZmVyLXdp bmRvdycgLSotIGxleGljYWwtYmluZGluZzp0IC0qLQoocmVxdWlyZSAnZGlyZWQpCgooZGVm dW4gZml0LXdpbmRvdy10by1idWZmZXIgKCZvcHRpb25hbCB3aW5kb3cgbWF4LWhlaWdodCBt aW4taGVpZ2h0IG1heC13aWR0aCBtaW4td2lkdGggcHJlc2VydmUtc2l6ZSkKICAiQWRqdXN0 IHNpemUgb2YgV0lORE9XIHRvIGRpc3BsYXkgaXRzIGJ1ZmZlcidzIGNvbnRlbnRzIGV4YWN0 bHkuCldJTkRPVyBtdXN0IGJlIGEgbGl2ZSB3aW5kb3cgYW5kIGRlZmF1bHRzIHRvIHRoZSBz ZWxlY3RlZCBvbmUuCgpJZiBXSU5ET1cgaXMgcGFydCBvZiBhIHZlcnRpY2FsIGNvbWJpbmF0 aW9uLCBhZGp1c3QgV0lORE9XJ3MKaGVpZ2h0LiAgVGhlIG5ldyBoZWlnaHQgaXMgY2FsY3Vs YXRlZCBmcm9tIHRoZSBhY3R1YWwgaGVpZ2h0IG9mCnRoZSBhY2Nlc3NpYmxlIHBvcnRpb24g b2YgaXRzIGJ1ZmZlci4gIFRoZSBvcHRpb25hbCBhcmd1bWVudApNQVgtSEVJR0hUIHNwZWNp ZmllcyBhIG1heGltdW0gaGVpZ2h0IGFuZCBkZWZhdWx0cyB0byB0aGUgaGVpZ2h0Cm9mIFdJ TkRPVydzIGZyYW1lLiAgVGhlIG9wdGlvbmFsIGFyZ3VtZW50IE1JTi1IRUlHSFQgc3BlY2lm aWVzIGEKbWluaW11bSBoZWlnaHQgYW5kIGRlZmF1bHRzIHRvIGB3aW5kb3ctbWluLWhlaWdo dCcuICBCb3RoCk1BWC1IRUlHSFQgYW5kIE1JTi1IRUlHSFQgYXJlIHNwZWNpZmllZCBpbiBs aW5lcyBhbmQgaW5jbHVkZSBtb2RlCmFuZCBoZWFkZXIgbGluZSBhbmQgYSBib3R0b20gZGl2 aWRlciwgaWYgYW55LgoKSWYgV0lORE9XIGlzIHBhcnQgb2YgYSBob3Jpem9udGFsIGNvbWJp bmF0aW9uIGFuZCB0aGUgdmFsdWUgb2YKdGhlIG9wdGlvbiBgZml0LXdpbmRvdy10by1idWZm ZXItaG9yaXpvbnRhbGx5JyBpcyBub24tbmlsLCBhZGp1c3QKV0lORE9XJ3Mgd2lkdGguICBU aGUgbmV3IHdpZHRoIG9mIFdJTkRPVyBpcyBjYWxjdWxhdGVkIGZyb20gdGhlCm1heGltdW0g bGVuZ3RoIG9mIGl0cyBidWZmZXIncyBsaW5lcyB0aGF0IGZvbGxvdyB0aGUgY3VycmVudApz dGFydCBwb3NpdGlvbiBvZiBXSU5ET1cuICBUaGUgb3B0aW9uYWwgYXJndW1lbnQgTUFYLVdJ RFRICnNwZWNpZmllcyBhIG1heGltdW0gd2lkdGggYW5kIGRlZmF1bHRzIHRvIHRoZSB3aWR0 aCBvZiBXSU5ET1cncwpmcmFtZS4gIFRoZSBvcHRpb25hbCBhcmd1bWVudCBNSU4tV0lEVEgg c3BlY2lmaWVzIGEgbWluaW11bSB3aWR0aAphbmQgZGVmYXVsdHMgdG8gYHdpbmRvdy1taW4t d2lkdGgnLiAgQm90aCBNQVgtV0lEVEggYW5kIE1JTi1XSURUSAphcmUgc3BlY2lmaWVkIGlu IGNvbHVtbnMgYW5kIGluY2x1ZGUgZnJpbmdlcywgbWFyZ2lucywgYQpzY3JvbGxiYXIgYW5k IGEgdmVydGljYWwgZGl2aWRlciwgaWYgYW55LgoKSWYgdGhlIG9wdGlvbmFsIGFyZ3VtZW50 IGBwcmVzZXJ2ZS1zaXplJyBpcyBub24tbmlsLCBwcmVzZXJ2ZSB0aGUKc2l6ZSBvZiBXSU5E T1cgKHNlZSBgd2luZG93LXByZXNlcnZlLXNpemUnKS4KCkZpdCBwaXhlbHdpc2UgaWYgdGhl IG9wdGlvbiBgd2luZG93LXJlc2l6ZS1waXhlbHdpc2UnIGlzIG5vbi1uaWwuCklmIFdJTkRP VyBpcyBpdHMgZnJhbWUncyByb290IHdpbmRvdyBhbmQgdGhlIG9wdGlvbgpgZml0LWZyYW1l LXRvLWJ1ZmZlcicgaXMgbm9uLW5pbCwgY2FsbCBgZml0LWZyYW1lLXRvLWJ1ZmZlcicgdG8K YWRqdXN0IHRoZSBmcmFtZSdzIHNpemUuCgpOb3RlIHRoYXQgZXZlbiBpZiB0aGlzIGZ1bmN0 aW9uIG1ha2VzIFdJTkRPVyBsYXJnZSBlbm91Z2ggdG8gc2hvdwpfYWxsXyBwYXJ0cyBvZiBp dHMgYnVmZmVyIHlvdSBtaWdodCBub3Qgc2VlIHRoZSBmaXJzdCBwYXJ0IHdoZW4KV0lORE9X IHdhcyBzY3JvbGxlZC4gIElmIFdJTkRPVyBpcyByZXNpemVkIGhvcml6b250YWxseSwgeW91 IHdpbGwKbm90IHNlZSB0aGUgdG9wIG9mIGl0cyBidWZmZXIgdW5sZXNzIFdJTkRPVyBzdGFy dHMgYXQgaXRzIG1pbmltdW0KYWNjZXNzaWJsZSBwb3NpdGlvbi4iCiAgKGludGVyYWN0aXZl KQogIChzZXRxIHdpbmRvdyAod2luZG93LW5vcm1hbGl6ZS13aW5kb3cgd2luZG93IHQpKQog IChpZiAoZXEgd2luZG93IChmcmFtZS1yb290LXdpbmRvdyB3aW5kb3cpKQogICAgICAod2hl biBmaXQtZnJhbWUtdG8tYnVmZmVyCgk7OyBGaXQgV0lORE9XJ3MgZnJhbWUgdG8gYnVmZmVy LgoJKGZpdC1mcmFtZS10by1idWZmZXIKCSAod2luZG93LWZyYW1lIHdpbmRvdykKCSBtYXgt aGVpZ2h0IG1pbi1oZWlnaHQgbWF4LXdpZHRoIG1pbi13aWR0aAoJIChhbmQgKG1lbXEgZml0 LWZyYW1lLXRvLWJ1ZmZlciAnKHZlcnRpY2FsbHkgaG9yaXpvbnRhbGx5KSkKCSAgICAgIGZp dC1mcmFtZS10by1idWZmZXIpKSkKICAgICh3aXRoLXNlbGVjdGVkLXdpbmRvdyB3aW5kb3cK ICAgICAgKGxldCogKChwaXhlbHdpc2Ugd2luZG93LXJlc2l6ZS1waXhlbHdpc2UpCgkgICAg IChjaGFyLWhlaWdodCAoZnJhbWUtY2hhci1oZWlnaHQpKQoJICAgICAoY2hhci13aWR0aCAo ZnJhbWUtY2hhci13aWR0aCkpCgkgICAgICh0b3RhbC1oZWlnaHQgKHdpbmRvdy1zaXplIHdp bmRvdyBuaWwgcGl4ZWx3aXNlKSkKCSAgICAgKGJvZHktaGVpZ2h0ICh3aW5kb3ctYm9keS1o ZWlnaHQgd2luZG93IHBpeGVsd2lzZSkpCgkgICAgIChib2R5LXdpZHRoICh3aW5kb3ctYm9k eS13aWR0aCB3aW5kb3cgcGl4ZWx3aXNlKSkKCSAgICAgKG1pbi1oZWlnaHQKCSAgICAgIDs7 IFNhbml0aXplIE1JTi1IRUlHSFQuCgkgICAgICAoaWYgKG51bWJlcnAgbWluLWhlaWdodCkK CQkgIDs7IENhbid0IGdldCBzbWFsbGVyIHRoYW4gYHdpbmRvdy1zYWZlLW1pbi1oZWlnaHQn LgoJCSAgKG1heCAoaWYgcGl4ZWx3aXNlCgkJCSAgICgqIGNoYXItaGVpZ2h0IG1pbi1oZWln aHQpCgkJCSBtaW4taGVpZ2h0KQoJCSAgICAgICAoaWYgcGl4ZWx3aXNlCgkJCSAgICh3aW5k b3ctc2FmZS1taW4tcGl4ZWwtaGVpZ2h0IHdpbmRvdykKCQkJIHdpbmRvdy1zYWZlLW1pbi1o ZWlnaHQpKQoJCTs7IFByZXNlcnZlIGhlYWRlciBhbmQgbW9kZSBsaW5lIGlmIHByZXNlbnQu CgkJKG1heCAoaWYgcGl4ZWx3aXNlCgkJCSAoKiBjaGFyLWhlaWdodCB3aW5kb3ctbWluLWhl aWdodCkKCQkgICAgICAgd2luZG93LW1pbi1oZWlnaHQpCgkJICAgICAod2luZG93LW1pbi1z aXplIHdpbmRvdyBuaWwgd2luZG93IHBpeGVsd2lzZSkpKSkKCSAgICAgKG1heC1oZWlnaHQK CSAgICAgIDs7IFNhbml0aXplIE1BWC1IRUlHSFQuCgkgICAgICAoaWYgKG51bWJlcnAgbWF4 LWhlaWdodCkKCQkgIChtaW4KCQkgICAoKyB0b3RhbC1oZWlnaHQKCQkgICAgICAod2luZG93 LW1heC1kZWx0YQoJCSAgICAgICB3aW5kb3cgbmlsIHdpbmRvdyBuaWwgdCBuaWwgcGl4ZWx3 aXNlKSkKCQkgICAoaWYgcGl4ZWx3aXNlCgkJICAgICAgICgqIGNoYXItaGVpZ2h0IG1heC1o ZWlnaHQpCgkJICAgICBtYXgtaGVpZ2h0KSkKCQkoKyB0b3RhbC1oZWlnaHQgKHdpbmRvdy1t YXgtZGVsdGEKCQkJCSB3aW5kb3cgbmlsIHdpbmRvdyBuaWwgdCBuaWwgcGl4ZWx3aXNlKSkp KQoJICAgICBoZWlnaHQpCgkoY29uZAoJIDs7IElmIFdJTkRPVyBpcyB2ZXJ0aWNhbGx5IGNv bWJpbmVkLCB0cnkgdG8gcmVzaXplIGl0CgkgOzsgdmVydGljYWxseS4KCSAoKGFuZCAobm90 IChlcSBmaXQtd2luZG93LXRvLWJ1ZmZlci1ob3Jpem9udGFsbHkgJ29ubHkpKQoJICAgICAg IChub3QgKHdpbmRvdy1zaXplLWZpeGVkLXAgd2luZG93ICdwcmVzZXJ2ZWQpKQoJICAgICAg ICh3aW5kb3ctY29tYmluZWQtcCkpCgkgIDs7IFZlcnRpY2FsbHkgd2UgYWx3YXlzIHdhbnQg dG8gZml0IHRoZSBlbnRpcmUgYnVmZmVyLgoJICA7OyBXSU5ET1cnUyBoZWlnaHQgY2FuJ3Qg Z2V0IGxhcmdlciB0aGFuIGl0cyBmcmFtZSdzIHBpeGVsCgkgIDs7IGhlaWdodC4gIEl0cyB3 aWR0aCByZW1haW5zIGZpeGVkLgoJICAoc2V0cSBoZWlnaHQgKCsgKGNkciAod2luZG93LXRl eHQtcGl4ZWwtc2l6ZQoJCQkJbmlsIG5pbCB0IG5pbCAoZnJhbWUtcGl4ZWwtaGVpZ2h0KSB0 KSkKCQkJICAod2luZG93LXNjcm9sbC1iYXItaGVpZ2h0IHdpbmRvdykKCQkJICAod2luZG93 LWJvdHRvbS1kaXZpZGVyLXdpZHRoKSkpCgkgIDs7IFJvdW5kIGhlaWdodC4KCSAgKHVubGVz cyBwaXhlbHdpc2UKCSAgICAoc2V0cSBoZWlnaHQgKC8gKCsgaGVpZ2h0IGNoYXItaGVpZ2h0 IC0xKSBjaGFyLWhlaWdodCkpKQoJICAodW5sZXNzICg9IGhlaWdodCB0b3RhbC1oZWlnaHQp CgkgICAgKHdpbmRvdy1wcmVzZXJ2ZS1zaXplIHdpbmRvdykKCSAgICAod2luZG93LXJlc2l6 ZS1uby1lcnJvcgoJICAgICB3aW5kb3cKCSAgICAgKC0gKG1heCBtaW4taGVpZ2h0IChtaW4g bWF4LWhlaWdodCBoZWlnaHQpKSB0b3RhbC1oZWlnaHQpCgkgICAgIG5pbCB3aW5kb3cgcGl4 ZWx3aXNlKQoJICAgICh3aGVuIHByZXNlcnZlLXNpemUKCSAgICAgICh3aW5kb3ctcHJlc2Vy dmUtc2l6ZSB3aW5kb3cgbmlsIHQpKSkpCgkgOzsgSWYgV0lORE9XIGlzIGhvcml6b250YWxs eSBjb21iaW5lZCwgdHJ5IHRvIHJlc2l6ZSBpdAoJIDs7IGhvcml6b250YWxseS4KCSAoKGFu ZCBmaXQtd2luZG93LXRvLWJ1ZmZlci1ob3Jpem9udGFsbHkKCSAgICAgICAobm90ICh3aW5k b3ctc2l6ZS1maXhlZC1wIHdpbmRvdyB0ICdwcmVzZXJ2ZWQpKQoJICAgICAgICh3aW5kb3ct Y29tYmluZWQtcCBuaWwgdCkpCgkgIChsZXQqICgodG90YWwtd2lkdGggKHdpbmRvdy1zaXpl IHdpbmRvdyB0IHBpeGVsd2lzZSkpCgkJIChtaW4td2lkdGgKCQkgIDs7IFNhbml0aXplIE1J Ti1XSURUSC4KCQkgIChpZiAobnVtYmVycCBtaW4td2lkdGgpCgkJICAgICAgOzsgQ2FuJ3Qg Z2V0IHNtYWxsZXIgdGhhbiBgd2luZG93LXNhZmUtbWluLXdpZHRoJy4KCQkgICAgICAobWF4 IChpZiBwaXhlbHdpc2UKCQkJICAgICAgICgqIGNoYXItd2lkdGggbWluLXdpZHRoKQoJCQkg ICAgIG1pbi13aWR0aCkKCQkJICAgKGlmIHBpeGVsd2lzZQoJCQkgICAgICAgKHdpbmRvdy1z YWZlLW1pbi1waXhlbC13aWR0aCkKCQkJICAgICB3aW5kb3ctc2FmZS1taW4td2lkdGgpKQoJ CSAgICA7OyBQcmVzZXJ2ZSBmcmluZ2VzLCBtYXJnaW5zLCBzY3JvbGxiYXJzIGlmIHByZXNl bnQuCgkJICAgIChtYXggKGlmIHBpeGVsd2lzZQoJCQkgICAgICgqIGNoYXItd2lkdGggd2lu ZG93LW1pbi13aWR0aCkKCQkJICAgd2luZG93LW1pbi13aWR0aCkKCQkJICh3aW5kb3ctbWlu LXNpemUgbmlsIG5pbCB3aW5kb3cgcGl4ZWx3aXNlKSkpKQoJCSAobWF4LXdpZHRoCgkJICA7 OyBTYW5pdGl6ZSBNQVgtV0lEVEguCgkJICAoaWYgKG51bWJlcnAgbWF4LXdpZHRoKQoJCSAg ICAgIChtaW4gKCsgdG90YWwtd2lkdGgKCQkJICAgICAgKHdpbmRvdy1tYXgtZGVsdGEKCQkJ ICAgICAgIHdpbmRvdyB0IHdpbmRvdyBuaWwgdCBuaWwgcGl4ZWx3aXNlKSkKCQkJICAgKGlm IHBpeGVsd2lzZQoJCQkgICAgICAgKCogY2hhci13aWR0aCBtYXgtd2lkdGgpCgkJCSAgICAg bWF4LXdpZHRoKSkKCQkgICAgKCsgdG90YWwtd2lkdGggKHdpbmRvdy1tYXgtZGVsdGEKCQkJ CSAgICB3aW5kb3cgdCB3aW5kb3cgbmlsIHQgbmlsIHBpeGVsd2lzZSkpKSkKCQkgOzsgV2hl biBmaXR0aW5nIGhvcml6b250YWxseSwgYXNzdW1lIHRoYXQgV0lORE9XJ3MKCQkgOzsgc3Rh cnQgcG9zaXRpb24gcmVtYWlucyB1bmFsdGVyZWQuICBXSU5ET1cgY2FuJ3QgZ2V0CgkJIDs7 IHdpZGVyIHRoYW4gaXRzIGZyYW1lJ3MgcGl4ZWwgd2lkdGgsIGl0cyBoZWlnaHQKCQkgOzsg cmVtYWlucyB1bmFsdGVyZWQuCgkJICh3aWR0aCAoKyAoY2FyICh3aW5kb3ctdGV4dC1waXhl bC1zaXplCgkJCQkgbmlsICh3aW5kb3ctc3RhcnQpIChwb2ludC1tYXgpCgkJCQkgKGZyYW1l LXBpeGVsLXdpZHRoKQoJCQkJIDs7IEFkZCBvbmUgY2hhci1oZWlnaHQgdG8gYXNzdXJlIHRo YXQKCQkJCSA7OyB3ZSdyZSBvbiB0aGUgc2FmZSBzaWRlLiAgVGhpcwoJCQkJIDs7IG92ZXJz aG9vdHMgd2hlbiB0aGUgZmlyc3QgbGluZSBiZWxvdwoJCQkJIDs7IHRoZSBib3R0b20gaXMg d2lkZXIgdGhhbiB0aGUgd2luZG93LgoJCQkJICgqIGJvZHktaGVpZ2h0CgkJCQkgICAgKGlm IHBpeGVsd2lzZSAxIGNoYXItaGVpZ2h0KSkpKQoJCQkgICAod2luZG93LXJpZ2h0LWRpdmlk ZXItd2lkdGgpKSkpCgkgICAgKHVubGVzcyBwaXhlbHdpc2UKCSAgICAgIChzZXRxIHdpZHRo ICgvICgrIHdpZHRoIGNoYXItd2lkdGggLTEpIGNoYXItd2lkdGgpKSkKCSAgICAodW5sZXNz ICg9IHdpZHRoIGJvZHktd2lkdGgpCgkgICAgICAod2luZG93LXByZXNlcnZlLXNpemUgd2lu ZG93IHQpCgkgICAgICAod2luZG93LXJlc2l6ZS1uby1lcnJvcgoJICAgICAgIHdpbmRvdwoJ ICAgICAgICgtIChtYXggbWluLXdpZHRoCgkJICAgICAgIChtaW4gbWF4LXdpZHRoCgkJCSAg ICAoKyB0b3RhbC13aWR0aCAoLSB3aWR0aCBib2R5LXdpZHRoKSkpKQoJCSAgdG90YWwtd2lk dGgpCgkgICAgICAgdCB3aW5kb3cgcGl4ZWx3aXNlKQoJICAgICAgKHdoZW4gcHJlc2VydmUt c2l6ZQoJCSh3aW5kb3ctcHJlc2VydmUtc2l6ZSB3aW5kb3cgdCB0KSkpKSkpKSkpKQoKKGRl Zm1hY3JvIHdpdGgtZGlzcGxheWVkLWJ1ZmZlci13aW5kb3cgKGJ1ZmZlci1vci1uYW1lIGFj dGlvbiBxdWl0LWZ1bmN0aW9uICZyZXN0IGJvZHkpCiAgIlNob3cgYSBidWZmZXIgQlVGRkVS LU9SLU5BTUUgYW5kIGV2YWx1YXRlIEJPRFkgaW4gdGhhdCBidWZmZXIuClRoaXMgY29uc3Ry dWN0IGlzIGxpa2UgYHdpdGgtY3VycmVudC1idWZmZXItd2luZG93JyBidXQgdW5saWtlIHRo YXQKZGlzcGxheXMgdGhlIGJ1ZmZlciBzcGVjaWZpZWQgYnkgQlVGRkVSLU9SLU5BTUUgYmVm b3JlIHJ1bm5pbmcgQk9EWS4iCiAgKGRlY2xhcmUgKGRlYnVnIHQpKQogIChsZXQgKChidWZm ZXIgKG1ha2Utc3ltYm9sICJidWZmZXIiKSkKCSh3aW5kb3cgKG1ha2Utc3ltYm9sICJ3aW5k b3ciKSkKCSh2YWx1ZSAobWFrZS1zeW1ib2wgInZhbHVlIikpKQogICAgKG1hY3JvZXhwLWxl dDIqIG5pbCAoKHZidWZmZXItb3ItbmFtZSBidWZmZXItb3ItbmFtZSkKCQkJICh2YWN0aW9u IGFjdGlvbikKCQkJICh2cXVpdC1mdW5jdGlvbiBxdWl0LWZ1bmN0aW9uKSkKICAgICAgYChs ZXQqICgoLGJ1ZmZlciAodGVtcC1idWZmZXItd2luZG93LXNldHVwICx2YnVmZmVyLW9yLW5h bWUpKQoJICAgICAgKHN0YW5kYXJkLW91dHB1dCAsYnVmZmVyKQogICAgICAgICAgICAgIDs7 IElmIGEgJ3dpbmRvdy1oZWlnaHQnIGVudHJ5IHNwZWNpZmllcyBhIGZ1bmN0aW9uLAogICAg ICAgICAgICAgIDs7IHJlbWVtYmVyIGl0IGhlcmUgaW4gb3JkZXIgdG8gY2FsbCBpdCBiZWxv dyBidXQgcmVwbGFjZQogICAgICAgICAgICAgIDs7IHRoZSBlbnRyeSBzbyBgd2luZG93LS10 cnktdG8tc3BsaXQtd2luZG93JyB3aWxsIGJpbmQKICAgICAgICAgICAgICA7OyBgd2luZG93 LWNvbWJpbmF0aW9uLWxpbWl0JyB0byB0IGFuZCB0aGUgZnVuY3Rpb24gZG9lcwogICAgICAg ICAgICAgIDs7IG5vdCByZXNpemUgYW55IG90aGVyIHdpbmRvdyBidXQgdGhlIG9uZSB3ZSBz cGxpdCB0aGlzCiAgICAgICAgICAgICAgOzsgb25lIG9mZiAoQnVnIzI1MDU1LCBCdWcjMjUx NzkpLgogICAgICAgICAgICAgICh2aGVpZ2h0LWZ1bmN0aW9uCiAgICAgICAgICAgICAgIChs ZXQgKCh3aW5kb3ctaGVpZ2h0IChhc3NxICd3aW5kb3ctaGVpZ2h0IChjZHIgLHZhY3Rpb24p KSkpCiAgICAgICAgICAgICAgICAgKHdoZW4gKGZ1bmN0aW9ucCAoY2RyIHdpbmRvdy1oZWln aHQpKQogICAgICAgICAgICAgICAgICAgKGNkciB3aW5kb3ctaGVpZ2h0KSkpKQogICAgICAg ICAgICAgICh2YWN0aW9uLWNvcGllZAogICAgICAgICAgICAgICAod2hlbiB2aGVpZ2h0LWZ1 bmN0aW9uCiAgICAgICAgICAgICAgICAgKGNvbnMgKGNhciAsIHZhY3Rpb24pCiAgICAgICAg ICAgICAgICAgICAgICAgKGNvbnMKICAgICAgICAgICAgICAgICAgICAgICAgJyh3aW5kb3ct aGVpZ2h0IC4gdCkKICAgICAgICAgICAgICAgICAgICAgICAgKGFzc3EtZGVsZXRlLWFsbAog ICAgICAgICAgICAgICAgICAgICAgICAgJ3dpbmRvdy1oZWlnaHQgKGNkciAoY29weS1zZXF1 ZW5jZSAsdmFjdGlvbikpKSkpKSkKCSAgICAgICx3aW5kb3cgLHZhbHVlKQoJICh3aXRoLWN1 cnJlbnQtYnVmZmVyICxidWZmZXIKCSAgIChzZXRxICx3aW5kb3cgKHRlbXAtYnVmZmVyLXdp bmRvdy1zaG93CiAgICAgICAgICAgICAgICAgICAgICAgICAgLGJ1ZmZlciAob3IgdmFjdGlv bi1jb3BpZWQgLHZhY3Rpb24pKSkpCgoJIChsZXQgKChpbmhpYml0LXJlYWQtb25seSB0KQoJ ICAgICAgIChpbmhpYml0LW1vZGlmaWNhdGlvbi1ob29rcyB0KSkKCSAgIChzZXRxICx2YWx1 ZSAocHJvZ24gLEBib2R5KSkpCgoJIChzZXQtd2luZG93LXBvaW50ICx3aW5kb3cgKHBvaW50 LW1pbikpCgoJICh3aGVuIHZoZWlnaHQtZnVuY3Rpb24KCSAgIChpZ25vcmUtZXJyb3JzCgkg ICAgIChzZXQtd2luZG93LXBhcmFtZXRlciAsd2luZG93ICdwcmVzZXJ2ZS1zaXplIG5pbCkK ICAgICAgICAgICAgIChmdW5jYWxsIHZoZWlnaHQtZnVuY3Rpb24gLHdpbmRvdykpKQoKCSAo d2hlbiAoY29uc3AgKGNkciAoYXNzcSAncHJlc2VydmUtc2l6ZSAoY2RyICx2YWN0aW9uKSkp KQoJICAgKHdpbmRvdy1wcmVzZXJ2ZS1zaXplCgkgICAgLHdpbmRvdyB0IChjYWRyIChhc3Nx ICdwcmVzZXJ2ZS1zaXplIChjZHIgLHZhY3Rpb24pKSkpCgkgICh3aW5kb3ctcHJlc2VydmUt c2l6ZQoJICAgICx3aW5kb3cgbmlsIChjZGRyIChhc3NxICdwcmVzZXJ2ZS1zaXplIChjZHIg LHZhY3Rpb24pKSkpKQoKCSAoaWYgKGZ1bmN0aW9ucCAsdnF1aXQtZnVuY3Rpb24pCgkgICAg IChmdW5jYWxsICx2cXVpdC1mdW5jdGlvbiAsd2luZG93ICx2YWx1ZSkKCSAgICx2YWx1ZSkp KSkpCgooZGVmdW4gZGlyZWQtbWFyay1wb3AtdXAgKGJ1ZmZlci1vci1uYW1lIG9wLXN5bWJv bCBmaWxlcyBmdW5jdGlvbiAmcmVzdCBhcmdzKQogICJSZXR1cm4gRlVOQ1RJT04ncyByZXN1 bHQgb24gQVJHUyBhZnRlciBzaG93aW5nIHdoaWNoIGZpbGVzIGFyZSBtYXJrZWQuCkRpc3Bs YXlzIHRoZSBmaWxlIG5hbWVzIGluIGEgd2luZG93IHNob3dpbmcgYSBidWZmZXIgbmFtZWQK QlVGRkVSLU9SLU5BTUU7IHRoZSBkZWZhdWx0IG5hbWUgYmVpbmcgXCIgKk1hcmtlZCBGaWxl cypcIi4gIFRoZQp3aW5kb3cgaXMgbm90IHNob3duIGlmIHRoZXJlIGlzIGp1c3Qgb25lIGZp bGUsIGBkaXJlZC1uby1jb25maXJtJwppcyB0LCBvciBPUC1TWU1CT0wgaXMgYSBtZW1iZXIg b2YgdGhlIGxpc3QgaW4gYGRpcmVkLW5vLWNvbmZpcm0nLgoKQnkgZGVmYXVsdCwgRGlyZWQg c2hyaW5rcyB0aGUgZGlzcGxheSBidWZmZXIgdG8gZml0IHRoZSBtYXJrZWQgZmlsZXMuClRv IGRpc2FibGUgdGhpcywgdXNlIHRoZSBDdXN0b21pemF0aW9uIGludGVyZmFjZSB0byBhZGQg YSBuZXcgcnVsZQp0byBgZGlzcGxheS1idWZmZXItYWxpc3QnIHdoZXJlIGNvbmRpdGlvbiBy ZWdleHAgaXMgXCJeIFxcKk1hcmtlZCBGaWxlc1xcKiRcIiwKYWN0aW9uIGFyZ3VtZW50IHN5 bWJvbCBpcyBgd2luZG93LWhlaWdodCcgYW5kIGl0cyB2YWx1ZSBpcyBuaWwuCgpGSUxFUyBp cyB0aGUgbGlzdCBvZiBtYXJrZWQgZmlsZXMuICBJdCBjYW4gYWxzbyBiZSAodCBGSUxFTkFN RSkKaW4gdGhlIGNhc2Ugb2Ygb25lIG1hcmtlZCBmaWxlLCB0byBkaXN0aW5ndWlzaCB0aGF0 IGZyb20gdXNpbmcKanVzdCB0aGUgY3VycmVudCBmaWxlLgoKRlVOQ1RJT04gc2hvdWxkIG5v dCBtYW5pcHVsYXRlIGZpbGVzLCBqdXN0IHJlYWQgaW5wdXQgKGFuCmFyZ3VtZW50IG9yIGNv bmZpcm1hdGlvbikuIgogIChpZiAob3IgKGVxIGRpcmVkLW5vLWNvbmZpcm0gdCkKCSAgKG1l bXEgb3Atc3ltYm9sIGRpcmVkLW5vLWNvbmZpcm0pCgkgIDs7IElmIEZJTEVTIGRlZmF1bHRl ZCB0byB0aGUgY3VycmVudCBsaW5lJ3MgZmlsZS4KCSAgKD0gKGxlbmd0aCBmaWxlcykgMSkp CiAgICAgIChhcHBseSBmdW5jdGlvbiBhcmdzKQogICAgKGxldCAoKGJ1ZmZlciAoZ2V0LWJ1 ZmZlci1jcmVhdGUgKG9yIGJ1ZmZlci1vci1uYW1lICIgKk1hcmtlZCBGaWxlcyoiKSkpCgkg IDs7IE1hcmsgKk1hcmtlZCBGaWxlcyogd2luZG93IGFzIHNvZnRseS1kZWRpY2F0ZWQsIHRv IHByZXZlbnQKCSAgOzsgb3RoZXIgYnVmZmVycyBlLmcuICpDb21wbGV0aW9ucyogZnJvbSBy ZXVzaW5nIGl0IChidWcjMTc1NTQpLgoJICAoZGlzcGxheS1idWZmZXItbWFyay1kZWRpY2F0 ZWQgJ3NvZnQpKQogICAgICAod2l0aC1kaXNwbGF5ZWQtYnVmZmVyLXdpbmRvdwogICAgICAg YnVmZmVyCiAgICAgICAoY29ucyAnZGlzcGxheS1idWZmZXItYmVsb3ctc2VsZWN0ZWQKCSAg ICAgJygod2luZG93LWhlaWdodCAuIGZpdC13aW5kb3ctdG8tYnVmZmVyKQoJICAgICAgIChw cmVzZXJ2ZS1zaXplIC4gKG5pbCAuIHQpKSkpCiAgICAgICAjJyhsYW1iZGEgKHdpbmRvdyBf dmFsdWUpCgkgICAod2l0aC1zZWxlY3RlZC13aW5kb3cgd2luZG93CgkgICAgICh1bndpbmQt cHJvdGVjdAoJCSAoYXBwbHkgZnVuY3Rpb24gYXJncykKCSAgICAgICAod2hlbiAod2luZG93 LWxpdmUtcCB3aW5kb3cpCgkJIChxdWl0LXJlc3RvcmUtd2luZG93IHdpbmRvdyAna2lsbCkp KSkpCiAgICAgICA7OyBIYW5kbGUgKHQgRklMRSkganVzdCBsaWtlIChGSUxFKSwgaGVyZS4g IFRoYXQgdmFsdWUgaXMKICAgICAgIDs7IHVzZWQgKG9ubHkgaW4gc29tZSBjYXNlcyksIHRv IG1lYW4ganVzdCBvbmUgZmlsZSB0aGF0IHdhcwogICAgICAgOzsgbWFya2VkLCByYXRoZXIg dGhhbiB0aGUgY3VycmVudCBsaW5lIGZpbGUuCiAgICAgICAod2l0aC1jdXJyZW50LWJ1ZmZl ciBidWZmZXIKCSAoZGlyZWQtZm9ybWF0LWNvbHVtbnMtb2YtZmlsZXMKCSAgKGlmIChlcSAo Y2FyIGZpbGVzKSB0KSAoY2RyIGZpbGVzKSBmaWxlcykpCgkgKHJlbW92ZS10ZXh0LXByb3Bl cnRpZXMgKHBvaW50LW1pbikgKHBvaW50LW1heCkKCQkJCSAnKG1vdXNlLWZhY2UgbmlsIGhl bHAtZWNobyBuaWwpKSkpKSkpCgooZGVmdW4gbWluaWJ1ZmZlci1jb21wbGV0aW9uLWhlbHAg KCZvcHRpb25hbCBzdGFydCBlbmQpCiAgIkRpc3BsYXkgYSBsaXN0IG9mIHBvc3NpYmxlIGNv bXBsZXRpb25zIG9mIHRoZSBjdXJyZW50IG1pbmlidWZmZXIgY29udGVudHMuIgogIChpbnRl cmFjdGl2ZSkKICAobWVzc2FnZSAiTWFraW5nIGNvbXBsZXRpb24gbGlzdC4uLiIpCiAgKGxl dCogKChzdGFydCAob3Igc3RhcnQgKG1pbmlidWZmZXItcHJvbXB0LWVuZCkpKQogICAgICAg ICAoZW5kIChvciBlbmQgKHBvaW50LW1heCkpKQogICAgICAgICAoc3RyaW5nIChidWZmZXIt c3Vic3RyaW5nIHN0YXJ0IGVuZCkpCiAgICAgICAgIChtZCAoY29tcGxldGlvbi0tZmllbGQt bWV0YWRhdGEgc3RhcnQpKQogICAgICAgICAoY29tcGxldGlvbnMgKGNvbXBsZXRpb24tYWxs LWNvbXBsZXRpb25zCiAgICAgICAgICAgICAgICAgICAgICAgc3RyaW5nCiAgICAgICAgICAg ICAgICAgICAgICAgbWluaWJ1ZmZlci1jb21wbGV0aW9uLXRhYmxlCiAgICAgICAgICAgICAg ICAgICAgICAgbWluaWJ1ZmZlci1jb21wbGV0aW9uLXByZWRpY2F0ZQogICAgICAgICAgICAg ICAgICAgICAgICgtIChwb2ludCkgc3RhcnQpCiAgICAgICAgICAgICAgICAgICAgICAgbWQp KSkKICAgIChtZXNzYWdlIG5pbCkKICAgIChpZiAob3IgKG51bGwgY29tcGxldGlvbnMpCiAg ICAgICAgICAgIChhbmQgKG5vdCAoY29uc3AgKGNkciBjb21wbGV0aW9ucykpKQogICAgICAg ICAgICAgICAgIChlcXVhbCAoY2FyIGNvbXBsZXRpb25zKSBzdHJpbmcpKSkKICAgICAgICAo cHJvZ24KICAgICAgICAgIDs7IElmIHRoZXJlIGFyZSBubyBjb21wbGV0aW9ucywgb3IgaWYg dGhlIGN1cnJlbnQgaW5wdXQgaXMgYWxyZWFkeQogICAgICAgICAgOzsgdGhlIHNvbGUgY29t cGxldGlvbiwgdGhlbiBoaWRlIChwcmV2aW91cyZzdGFsZSkgY29tcGxldGlvbnMuCiAgICAg ICAgICAobWluaWJ1ZmZlci1oaWRlLWNvbXBsZXRpb25zKQogICAgICAgICAgKGRpbmcpCiAg ICAgICAgICAobWluaWJ1ZmZlci1tZXNzYWdlCiAgICAgICAgICAgKGlmIGNvbXBsZXRpb25z ICJTb2xlIGNvbXBsZXRpb24iICJObyBjb21wbGV0aW9ucyIpKSkKCiAgICAgIChsZXQqICgo bGFzdCAobGFzdCBjb21wbGV0aW9ucykpCiAgICAgICAgICAgICAoYmFzZS1zaXplIChvciAo Y2RyIGxhc3QpIDApKQogICAgICAgICAgICAgKHByZWZpeCAodW5sZXNzICh6ZXJvcCBiYXNl LXNpemUpIChzdWJzdHJpbmcgc3RyaW5nIDAgYmFzZS1zaXplKSkpCiAgICAgICAgICAgICAo YWxsLW1kIChjb21wbGV0aW9uLS1tZXRhZGF0YSAoYnVmZmVyLXN1YnN0cmluZy1uby1wcm9w ZXJ0aWVzCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Rh cnQgKHBvaW50KSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IGJhc2Utc2l6ZSBtZAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgbWluaWJ1ZmZlci1jb21wbGV0aW9uLXRhYmxlCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBtaW5pYnVmZmVyLWNvbXBsZXRpb24tcHJlZGljYXRlKSkK ICAgICAgICAgICAgIChhZnVuIChvciAoY29tcGxldGlvbi1tZXRhZGF0YS1nZXQgYWxsLW1k ICdhbm5vdGF0aW9uLWZ1bmN0aW9uKQogICAgICAgICAgICAgICAgICAgICAgIChwbGlzdC1n ZXQgY29tcGxldGlvbi1leHRyYS1wcm9wZXJ0aWVzCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICA6YW5ub3RhdGlvbi1mdW5jdGlvbikKICAgICAgICAgICAgICAgICAgICAg ICBjb21wbGV0aW9uLWFubm90YXRlLWZ1bmN0aW9uKSkKICAgICAgICAgICAgIDs7IElmIHRo ZSAqQ29tcGxldGlvbnMqIGJ1ZmZlciBpcyBzaG93biBpbiBhIG5ldwogICAgICAgICAgICAg Ozsgd2luZG93LCBtYXJrIGl0IGFzIHNvZnRseS1kZWRpY2F0ZWQsIHNvIGJ1cnktYnVmZmVy IGluCiAgICAgICAgICAgICA7OyBtaW5pYnVmZmVyLWhpZGUtY29tcGxldGlvbnMgd2lsbCBr bm93IHdoZXRoZXIgdG8KICAgICAgICAgICAgIDs7IGRlbGV0ZSB0aGUgd2luZG93IG9yIG5v dC4KICAgICAgICAgICAgIChkaXNwbGF5LWJ1ZmZlci1tYXJrLWRlZGljYXRlZCAnc29mdCkK ICAgICAgICAgICAgIDs7IERpc2FibGUgYHBvcC11cC13aW5kb3dzJyB0ZW1wb3JhcmlseSB0 byBhbGxvdwogICAgICAgICAgICAgOzsgYGRpc3BsYXktYnVmZmVyLS1tYXliZS1wb3AtdXAt ZnJhbWUtb3Itd2luZG93JwogICAgICAgICAgICAgOzsgaW4gdGhlIGRpc3BsYXkgYWN0aW9u cyBiZWxvdyB0byBwb3AgdXAgYSBmcmFtZQogICAgICAgICAgICAgOzsgaWYgYHBvcC11cC1m cmFtZXMnIGlzIG5vbi1uaWwsIGJ1dCBub3QgdG8gcG9wIHVwIGEgd2luZG93LgogICAgICAg ICAgICAgKHBvcC11cC13aW5kb3dzIG5pbCkpCiAgICAgICAgKHdpdGgtZGlzcGxheWVkLWJ1 ZmZlci13aW5kb3cKICAgICAgICAgICIqQ29tcGxldGlvbnMqIgogICAgICAgICAgOzsgVGhp cyBpcyBhIGNvcHkgb2YgYGRpc3BsYXktYnVmZmVyLWZhbGxiYWNrLWFjdGlvbicKICAgICAg ICAgIDs7IHdoZXJlIGBkaXNwbGF5LWJ1ZmZlci11c2Utc29tZS13aW5kb3cnIGlzIHJlcGxh Y2VkCiAgICAgICAgICA7OyB3aXRoIGBkaXNwbGF5LWJ1ZmZlci1hdC1ib3R0b20nLgogICAg ICAgICAgYCgoZGlzcGxheS1idWZmZXItLW1heWJlLXNhbWUtd2luZG93CiAgICAgICAgICAg ICBkaXNwbGF5LWJ1ZmZlci1yZXVzZS13aW5kb3cKICAgICAgICAgICAgIGRpc3BsYXktYnVm ZmVyLS1tYXliZS1wb3AtdXAtZnJhbWUtb3Itd2luZG93CiAgICAgICAgICAgICA7OyBVc2Ug YGRpc3BsYXktYnVmZmVyLWJlbG93LXNlbGVjdGVkJyBmb3IgaW5saW5lIGNvbXBsZXRpb25z LAogICAgICAgICAgICAgOzsgYnV0IG5vdCBpbiB0aGUgbWluaWJ1ZmZlciAoZS5nLiBpbiBg ZXZhbC1leHByZXNzaW9uJykKICAgICAgICAgICAgIDs7IGZvciB3aGljaCBgZGlzcGxheS1i dWZmZXItYXQtYm90dG9tJyBpcyB1c2VkLgogICAgICAgICAgICAgLChpZiAoZXEgKHNlbGVj dGVkLXdpbmRvdykgKG1pbmlidWZmZXItd2luZG93KSkKICAgICAgICAgICAgICAgICAgJ2Rp c3BsYXktYnVmZmVyLWF0LWJvdHRvbQogICAgICAgICAgICAgICAgJ2Rpc3BsYXktYnVmZmVy LWJlbG93LXNlbGVjdGVkKSkKCSAgICAsKGlmIHRlbXAtYnVmZmVyLXJlc2l6ZS1tb2RlCgkJ ICcod2luZG93LWhlaWdodCAuIHJlc2l6ZS10ZW1wLWJ1ZmZlci13aW5kb3cpCgkgICAgICAg Jyh3aW5kb3ctaGVpZ2h0IC4gZml0LXdpbmRvdy10by1idWZmZXIpKQoJICAgICwod2hlbiB0 ZW1wLWJ1ZmZlci1yZXNpemUtbW9kZQoJICAgICAgICcocHJlc2VydmUtc2l6ZSAuIChuaWwg LiB0KSkpKQogICAgICAgICAgbmlsCiAgICAgICAgICA7OyBSZW1vdmUgdGhlIGJhc2Utc2l6 ZSB0YWlsIGJlY2F1c2UgYHNvcnQnIHJlcXVpcmVzIGEgcHJvcGVybHkKICAgICAgICAgIDs7 IG5pbC10ZXJtaW5hdGVkIGxpc3QuCiAgICAgICAgICAod2hlbiBsYXN0IChzZXRjZHIgbGFz dCBuaWwpKQogICAgICAgICAgKHNldHEgY29tcGxldGlvbnMKICAgICAgICAgICAgICAgIDs7 IEZJWE1FOiBUaGlzIGZ1bmN0aW9uIGlzIGZvciB0aGUgb3V0cHV0IG9mIGFsbC1jb21wbGV0 aW9ucywKICAgICAgICAgICAgICAgIDs7IG5vdCBjb21wbGV0aW9uLWFsbC1jb21wbGV0aW9u cy4gIE9mdGVuIGl0J3MgdGhlIHNhbWUsIGJ1dAogICAgICAgICAgICAgICAgOzsgbm90IGFs d2F5cy4KICAgICAgICAgICAgICAgIChsZXQgKChzb3J0LWZ1biAoY29tcGxldGlvbi1tZXRh ZGF0YS1nZXQKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWxsLW1kICdkaXNw bGF5LXNvcnQtZnVuY3Rpb24pKSkKICAgICAgICAgICAgICAgICAgKGlmIHNvcnQtZnVuCiAg ICAgICAgICAgICAgICAgICAgICAoZnVuY2FsbCBzb3J0LWZ1biBjb21wbGV0aW9ucykKICAg ICAgICAgICAgICAgICAgICAoc29ydCBjb21wbGV0aW9ucyAnc3RyaW5nLWxlc3NwKSkpKQog ICAgICAgICAgKHdoZW4gYWZ1bgogICAgICAgICAgICAoc2V0cSBjb21wbGV0aW9ucwogICAg ICAgICAgICAgICAgICAobWFwY2FyIChsYW1iZGEgKHMpCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAobGV0ICgoYW5uIChmdW5jYWxsIGFmdW4gcykpKQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAoaWYgYW5uIChsaXN0IHMgYW5uKSBzKSkpCiAgICAgICAgICAgICAg ICAgICAgICAgICAgY29tcGxldGlvbnMpKSkKCiAgICAgICAgICAod2l0aC1jdXJyZW50LWJ1 ZmZlciBzdGFuZGFyZC1vdXRwdXQKICAgICAgICAgICAgKHNldCAobWFrZS1sb2NhbC12YXJp YWJsZSAnY29tcGxldGlvbi1iYXNlLXBvc2l0aW9uKQogICAgICAgICAgICAgICAgIChsaXN0 ICgrIHN0YXJ0IGJhc2Utc2l6ZSkKICAgICAgICAgICAgICAgICAgICAgICA7OyBGSVhNRTog V2Ugc2hvdWxkIHBheSBhdHRlbnRpb24gdG8gY29tcGxldGlvbgogICAgICAgICAgICAgICAg ICAgICAgIDs7IGJvdW5kYXJpZXMgaGVyZSwgYnV0IGN1cnJlbnRseQogICAgICAgICAgICAg ICAgICAgICAgIDs7IGNvbXBsZXRpb24tYWxsLWNvbXBsZXRpb25zIGRvZXMgbm90IGdpdmUg dXMgdGhlCiAgICAgICAgICAgICAgICAgICAgICAgOzsgbmVjZXNzYXJ5IGluZm9ybWF0aW9u LgogICAgICAgICAgICAgICAgICAgICAgIGVuZCkpCiAgICAgICAgICAgIChzZXQgKG1ha2Ut bG9jYWwtdmFyaWFibGUgJ2NvbXBsZXRpb24tbGlzdC1pbnNlcnQtY2hvaWNlLWZ1bmN0aW9u KQogICAgICAgICAgICAgICAgIChsZXQgKChjdGFibGUgbWluaWJ1ZmZlci1jb21wbGV0aW9u LXRhYmxlKQogICAgICAgICAgICAgICAgICAgICAgIChjcHJlZCBtaW5pYnVmZmVyLWNvbXBs ZXRpb24tcHJlZGljYXRlKQogICAgICAgICAgICAgICAgICAgICAgIChjcHJvcHMgY29tcGxl dGlvbi1leHRyYS1wcm9wZXJ0aWVzKSkKICAgICAgICAgICAgICAgICAgIChsYW1iZGEgKHN0 YXJ0IGVuZCBjaG9pY2UpCiAgICAgICAgICAgICAgICAgICAgICh1bmxlc3MgKG9yICh6ZXJv cCAobGVuZ3RoIHByZWZpeCkpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChl cXVhbCBwcmVmaXgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChi dWZmZXItc3Vic3RyaW5nLW5vLXByb3BlcnRpZXMKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAobWF4IChwb2ludC1taW4pCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAoLSBzdGFydCAobGVuZ3RoIHByZWZpeCkpKQog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXJ0KSkpCiAgICAg ICAgICAgICAgICAgICAgICAgKG1lc3NhZ2UgIipDb21wbGV0aW9ucyogb3V0IG9mIGRhdGUi KSkKICAgICAgICAgICAgICAgICAgICAgOzsgRklYTUU6IFVzZSBgbWQnIHRvIGRvIHF1b3Rp bmcmdGVybWluYXRvciBoZXJlLgogICAgICAgICAgICAgICAgICAgICAoY29tcGxldGlvbi0t cmVwbGFjZSBzdGFydCBlbmQgY2hvaWNlKQogICAgICAgICAgICAgICAgICAgICAobGV0KiAo KG1pbmlidWZmZXItY29tcGxldGlvbi10YWJsZSBjdGFibGUpCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAobWluaWJ1ZmZlci1jb21wbGV0aW9uLXByZWRpY2F0ZSBjcHJlZCkKICAg ICAgICAgICAgICAgICAgICAgICAgICAgIChjb21wbGV0aW9uLWV4dHJhLXByb3BlcnRpZXMg Y3Byb3BzKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgKHJlc3VsdCAoY29uY2F0IHBy ZWZpeCBjaG9pY2UpKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgKGJvdW5kcyAoY29t cGxldGlvbi1ib3VuZGFyaWVzCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICByZXN1bHQgY3RhYmxlIGNwcmVkICIiKSkpCiAgICAgICAgICAgICAgICAgICAgICAgOzsg SWYgdGhlIGNvbXBsZXRpb24gaW50cm9kdWNlcyBhIG5ldyBmaWVsZCwgdGhlbgogICAgICAg ICAgICAgICAgICAgICAgIDs7IGNvbXBsZXRpb24gaXMgbm90IGZpbmlzaGVkLgogICAgICAg ICAgICAgICAgICAgICAgIChjb21wbGV0aW9uLS1kb25lIHJlc3VsdAogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIChpZiAoZXEgKGNhciBib3VuZHMpIChsZW5n dGggcmVzdWx0KSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgJ2V4YWN0ICdmaW5pc2hlZCkpKSkpKSkKCiAgICAgICAgICAoZGlzcGxheS1jb21wbGV0 aW9uLWxpc3QgY29tcGxldGlvbnMpKSkpCiAgICBuaWwpKQo= --------------010802060108000804060102--