From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Paul Eggert Newsgroups: gmane.emacs.bugs Subject: bug#23425: master branch: `message' wrongly corrupts ' to curly quote. Date: Tue, 3 May 2016 08:17:56 -0700 Organization: UCLA Computer Science Department Message-ID: <81eee1b9-263b-1516-35c7-a8d9c4e2d81f@cs.ucla.edu> References: <7e599cf6-18c3-1633-33d5-e9f4eaa8fe6a@cs.ucla.edu> <20160502191031.GB2048@acm.fritz.box> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="------------70CA95D1F5A5E085A9AE3CA0" X-Trace: ger.gmane.org 1462288831 20485 80.91.229.3 (3 May 2016 15:20:31 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Tue, 3 May 2016 15:20:31 +0000 (UTC) Cc: 23425@debbugs.gnu.org To: Alan Mackenzie Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Tue May 03 17:20:19 2016 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1axc6p-0008Qy-SF for geb-bug-gnu-emacs@m.gmane.org; Tue, 03 May 2016 17:19:36 +0200 Original-Received: from localhost ([::1]:41740 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1axc6l-00026j-Si for geb-bug-gnu-emacs@m.gmane.org; Tue, 03 May 2016 11:19:31 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:50179) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1axc6Z-0001o9-M5 for bug-gnu-emacs@gnu.org; Tue, 03 May 2016 11:19:27 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1axc6M-0006xe-5h for bug-gnu-emacs@gnu.org; Tue, 03 May 2016 11:19:14 -0400 Original-Received: from debbugs.gnu.org ([208.118.235.43]:51393) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1axc6M-0006wo-0m for bug-gnu-emacs@gnu.org; Tue, 03 May 2016 11:19:06 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1axc6I-0006su-As for bug-gnu-emacs@gnu.org; Tue, 03 May 2016 11:19:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Paul Eggert Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Tue, 03 May 2016 15:19:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 23425 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: Original-Received: via spool by 23425-submit@debbugs.gnu.org id=B23425.146228869226399 (code B ref 23425); Tue, 03 May 2016 15:19:02 +0000 Original-Received: (at 23425) by debbugs.gnu.org; 3 May 2016 15:18:12 +0000 Original-Received: from localhost ([127.0.0.1]:35497 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1axc5T-0006rj-Jq for submit@debbugs.gnu.org; Tue, 03 May 2016 11:18:12 -0400 Original-Received: from zimbra.cs.ucla.edu ([131.179.128.68]:57244) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1axc5Q-0006rU-EJ for 23425@debbugs.gnu.org; Tue, 03 May 2016 11:18:09 -0400 Original-Received: from localhost (localhost [127.0.0.1]) by zimbra.cs.ucla.edu (Postfix) with ESMTP id B33D7161272; Tue, 3 May 2016 08:18:02 -0700 (PDT) Original-Received: from zimbra.cs.ucla.edu ([127.0.0.1]) by localhost (zimbra.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10032) with ESMTP id SJJQ9DSww-kx; Tue, 3 May 2016 08:18:00 -0700 (PDT) Original-Received: from localhost (localhost [127.0.0.1]) by zimbra.cs.ucla.edu (Postfix) with ESMTP id A2197161274; Tue, 3 May 2016 08:18:00 -0700 (PDT) X-Virus-Scanned: amavisd-new at zimbra.cs.ucla.edu Original-Received: from zimbra.cs.ucla.edu ([127.0.0.1]) by localhost (zimbra.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10026) with ESMTP id XQJSD-W7LULf; Tue, 3 May 2016 08:18:00 -0700 (PDT) Original-Received: from penguin.cs.ucla.edu (Penguin.CS.UCLA.EDU [131.179.64.200]) by zimbra.cs.ucla.edu (Postfix) with ESMTPSA id 7F61A16126E; Tue, 3 May 2016 08:18:00 -0700 (PDT) User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.0 In-Reply-To: <20160502191031.GB2048@acm.fritz.box> 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:117640 Archived-At: This is a multi-part message in MIME format. --------------70CA95D1F5A5E085A9AE3CA0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit On 05/02/2016 12:10 PM, Alan Mackenzie wrote: > >> (message "%s" M) is the usual way to output a message M without >> formatting it, and something like this is needed anyway if M might >> contain %. > That is the case for a string that might contain percent characters. It > is not the case for a string known to be without percents. Sure, but the most common problem here is using (message M) to output an arbitrary string M that is under user control, which is why the advice about (message "%s" M) is helpful. This advice works for all format directives, not just % directives. > There is no mention of its corruption of quotes in > `messages''s doc string. Thanks, good point. I fixed it by installing the attached patch, which should address the other documentation problems you mention too. > It appears to me that these substitutions are only done on pairs of > quote marks, not single quotes. What gives you that impression? Substitutions are done on all quotes, not just paired quotes. > Properly, for me, means that it handles percent escape sequences, AND > OTHERWISE LEAVES THE STRING UNCHANGED. This alternative was considered when designing text-quoting-style, but at the time we didn't see a need for the extra complexity. The particular glitch you ran into is not a strong argument for revisiting this now. > Why is it not in the section "incompatible Lisp changes"? It is in that section, under "** New variable 'text-quoting-style' ...". --------------70CA95D1F5A5E085A9AE3CA0 Content-Type: text/plain; charset=UTF-8; name="0001-Doc-fixes-for-quoting.txt" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="0001-Doc-fixes-for-quoting.txt" RnJvbSBlZTJmMTc4NTAyNTk0ZjNjMDgxM2I2MWE2NGM0ZGE1MDFhOGM3MmZiIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBQYXVsIEVnZ2VydCA8ZWdnZXJ0QGNzLnVjbGEuZWR1 PgpEYXRlOiBUdWUsIDMgTWF5IDIwMTYgMDg6MDI6MTYgLTA3MDAKU3ViamVjdDogW1BBVENI XSBEb2MgZml4ZXMgZm9yIHF1b3RpbmcKCiogZG9jL2VtYWNzL3RleHQudGV4aSwgZG9jL2xp c3BpbnRyby9lbWFjcy1saXNwLWludHJvLnRleGk6CiogZG9jL2xpc3ByZWYvY29udHJvbC50 ZXhpLCBkb2MvbGlzcHJlZi9kaXNwbGF5LnRleGk6CiogZG9jL2xpc3ByZWYvaGVscC50ZXhp LCBkb2MvbGlzcHJlZi9zdHJpbmdzLnRleGksIGxpc3Avc3Vici5lbDoKKiBzcmMvY2FsbGlu dC5jLCBzcmMvZG9wcm50LmMsIHNyYy9lZGl0Zm5zLmM6CkRvY3VtZW50IHF1b3RpbmcgYSBi aXQgbW9yZSBzeXN0ZW1hdGljYWxseS4KUHJvYmxlbSByZXBvcnRlZCBieSBBbGFuIE1hY2tl bnppZSAoQnVnIzIzNDI1KS4KLS0tCiBkb2MvZW1hY3MvdGV4dC50ZXhpICAgICAgICAgICAg ICAgICB8ICA0ICsrLS0KIGRvYy9saXNwaW50cm8vZW1hY3MtbGlzcC1pbnRyby50ZXhpIHwg MjggKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLQogZG9jL2xpc3ByZWYvY29udHJvbC50 ZXhpICAgICAgICAgICAgfCAxMCArKysrKystLS0tCiBkb2MvbGlzcHJlZi9kaXNwbGF5LnRl eGkgICAgICAgICAgICB8IDEwICsrKysrKy0tLS0KIGRvYy9saXNwcmVmL2hlbHAudGV4aSAg ICAgICAgICAgICAgIHwgIDQgKysrKwogZG9jL2xpc3ByZWYvc3RyaW5ncy50ZXhpICAgICAg ICAgICAgfCAxMCArKysrKysrKy0tCiBsaXNwL3N1YnIuZWwgICAgICAgICAgICAgICAgICAg ICAgICB8IDE0ICsrKysrKysrKystLS0tCiBzcmMvY2FsbGludC5jICAgICAgICAgICAgICAg ICAgICAgICB8ICAyICstCiBzcmMvZG9wcm50LmMgICAgICAgICAgICAgICAgICAgICAgICB8 ICA2ICsrKy0tLQogc3JjL2VkaXRmbnMuYyAgICAgICAgICAgICAgICAgICAgICAgfCAxMyAr KysrKysrKy0tLS0tCiAxMCBmaWxlcyBjaGFuZ2VkLCA1OSBpbnNlcnRpb25zKCspLCA0MiBk ZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kb2MvZW1hY3MvdGV4dC50ZXhpIGIvZG9jL2Vt YWNzL3RleHQudGV4aQppbmRleCA2NmYwMWI0Li41NzlmNzg4IDEwMDY0NAotLS0gYS9kb2Mv ZW1hY3MvdGV4dC50ZXhpCisrKyBiL2RvYy9lbWFjcy90ZXh0LnRleGkKQEAgLTg2Miw4ICs4 NjIsOCBAQCBUZXh0IE1vZGUKIAogICBUZXh0IG1vZGUgdHVybnMgb2ZmIHRoZSBmZWF0dXJl cyBjb25jZXJuZWQgd2l0aCBjb21tZW50cyBleGNlcHQgd2hlbgogeW91IGV4cGxpY2l0bHkg aW52b2tlIHRoZW0uICBJdCBjaGFuZ2VzIHRoZSBzeW50YXggdGFibGUgc28gdGhhdAotc2lu Z2xlLXF1b3RlcyBhcmUgY29uc2lkZXJlZCBwYXJ0IG9mIHdvcmRzIChlLmcuLCBAc2FtcHtk b24ndH0gaXMKLWNvbnNpZGVyZWQgb25lIHdvcmQpLiAgSG93ZXZlciwgaWYgYSB3b3JkIHN0 YXJ0cyB3aXRoIGEgc2luZ2xlLXF1b3RlLAorYXBvc3Ryb3BoZXMgYXJlIGNvbnNpZGVyZWQg cGFydCBvZiB3b3JkcyAoZS5nLiwgQHNhbXB7ZG9uJ3R9IGlzCitjb25zaWRlcmVkIG9uZSB3 b3JkKS4gIEhvd2V2ZXIsIGlmIGEgd29yZCBzdGFydHMgd2l0aCBhbiBhcG9zdHJvcGhlLAog aXQgaXMgdHJlYXRlZCBhcyBhIHByZWZpeCBmb3IgdGhlIHB1cnBvc2VzIG9mIGNhcGl0YWxp emF0aW9uCiAoZS5nLiwgQGtiZHtNLWN9IGNvbnZlcnRzIEBzYW1weydoZWxsbyd9IGludG8g QHNhbXB7J0hlbGxvJ30sIGFzCiBleHBlY3RlZCkuCmRpZmYgLS1naXQgYS9kb2MvbGlzcGlu dHJvL2VtYWNzLWxpc3AtaW50cm8udGV4aSBiL2RvYy9saXNwaW50cm8vZW1hY3MtbGlzcC1p bnRyby50ZXhpCmluZGV4IDc4YzE4NjUuLmVlYTQ2YWYgMTAwNjQ0Ci0tLSBhL2RvYy9saXNw aW50cm8vZW1hY3MtbGlzcC1pbnRyby50ZXhpCisrKyBiL2RvYy9saXNwaW50cm8vZW1hY3Mt bGlzcC1pbnRyby50ZXhpCkBAIC0xMDA0LDExICsxMDA0LDExIEBAIExpc3QgUHJvY2Vzc2lu ZwogY2xhaW0gaXMgdW53YXJyYW50ZWQuICBMaXNwIHN0YW5kcyBmb3IgTElTdCBQcm9jZXNz aW5nLCBhbmQgdGhlCiBwcm9ncmFtbWluZyBsYW5ndWFnZSBoYW5kbGVzIEBlbXBoe2xpc3Rz fSAoYW5kIGxpc3RzIG9mIGxpc3RzKSBieQogcHV0dGluZyB0aGVtIGJldHdlZW4gcGFyZW50 aGVzZXMuICBUaGUgcGFyZW50aGVzZXMgbWFyayB0aGUgYm91bmRhcmllcwotb2YgdGhlIGxp c3QuICBTb21ldGltZXMgYSBsaXN0IGlzIHByZWNlZGVkIGJ5IGEgc2luZ2xlIGFwb3N0cm9w aGUgb3IKLXF1b3RhdGlvbiBtYXJrLCBAc2FtcHsnfUBmb290bm90ZXtUaGUgc2luZ2xlIGFw b3N0cm9waGUgb3IgcXVvdGF0aW9uCi1tYXJrIGlzIGFuIGFiYnJldmlhdGlvbiBmb3IgdGhl IGZ1bmN0aW9uIEBjb2Rle3F1b3RlfTsgeW91IG5lZWQgbm90Ci10aGluayBhYm91dCBmdW5j dGlvbnMgbm93OyBmdW5jdGlvbnMgYXJlIGRlZmluZWQgaW4gQHJlZntNYWtpbmcKLUVycm9y cywgLCBHZW5lcmF0ZSBhbiBFcnJvciBNZXNzYWdlfS59ICBMaXN0cyBhcmUgdGhlIGJhc2lz IG9mIExpc3AuCitvZiB0aGUgbGlzdC4gIFNvbWV0aW1lcyBhIGxpc3QgaXMgcHJlY2VkZWQg YnkgYW4gYXBvc3Ryb3BoZSBAc2FtcHsnfSwKK2NhbGxlZCBhIEBkZm57c2luZ2xlLXF1b3Rl fSBpbiBMaXNwLkBmb290bm90ZXtBIHNpbmdsZS1xdW90ZSBpcyBhbgorYWJicmV2aWF0aW9u IGZvciB0aGUgc3BlY2lhbCBmb3JtIEBjb2Rle3F1b3RlfTsgeW91IG5lZWQgbm90IHRoaW5r CithYm91dCBzcGVjaWFsIGZvcm1zIG5vdy4gIEB4cmVme0NvbXBsaWNhdGlvbnN9Ln0gIExp c3RzIGFyZSB0aGUgYmFzaXMKK29mIExpc3AuCiAKIEBtZW51CiAqIExpc3AgTGlzdHM6OiAg ICAgICAgICAgICAgICAgIFdoYXQgYXJlIGxpc3RzPwpAQCAtMjQ5MCwxNCArMjQ5MCw3IEBA IFN1bW1hcnkKIFRoZW4gdGhlIGluc3RydWN0aW9ucyBpbiB0aGUgZnVuY3Rpb24gZGVmaW5p dGlvbiBhcmUgY2FycmllZCBvdXQuCiAKIEBpdGVtCi1BIHNpbmdsZSBxdW90YXRpb24gbWFy aywKLUBpZmluZm8KLScKLUBlbmQgaWZpbmZvCi1AaWZub3RpbmZvCi1AY29kZXsnfQotQGVu ZCBpZm5vdGluZm8KLSwgdGVsbHMgdGhlIExpc3AgaW50ZXJwcmV0ZXIgdGhhdCBpdCBzaG91 bGQKK0Egc2luZ2xlLXF1b3RlIEBzYW1weyd9IHRlbGxzIHRoZSBMaXNwIGludGVycHJldGVy IHRoYXQgaXQgc2hvdWxkCiByZXR1cm4gdGhlIGZvbGxvd2luZyBleHByZXNzaW9uIGFzIHdy aXR0ZW4sIGFuZCBub3QgZXZhbHVhdGUgaXQgYXMgaXQKIHdvdWxkIGlmIHRoZSBxdW90ZSB3 ZXJlIG5vdCB0aGVyZS4KIApAQCAtNzYxMCw3ICs3NjAzLDggQEAgQ29tcGxldGUgemFwLXRv LWNoYXIKIHN1aXRhYmxlIGZvciB1c2UgYXMgcXVvdGVzLiAgT24gbW9zdCBtb2Rlcm4gZGlz cGxheXMgdGhpcyBpcyBubyBsb25nZXIKIHRydWUsIGFuZCB3aGVuIHRoZXNlIHR3byBBU0NJ SSBjaGFyYWN0ZXJzIGFwcGVhciBpbiBkb2N1bWVudGF0aW9uCiBzdHJpbmdzIG9yIGRpYWdu b3N0aWMgbWVzc2FnZSBmb3JtYXRzLCBFbWFjcyB0eXBpY2FsbHkgdHJhbnNsaXRlcmF0ZXMK LXRoZW0gdG8gY3VydmVkIHNpbmdsZSBxdW90ZXMsIHNvIHRoYXQgdGhlIGFib3ZlcXVvdGVk IHN5bWJvbCBhcHBlYXJzCit0aGVtIHRvIEBkZm57Y3VydmVkIHF1b3Rlc30gKGxlZnQgYW5k IHJpZ2h0IHNpbmdsZSBxdW90YXRpb24gbWFya3MpLAorc28gdGhhdCB0aGUgYWJvdmVxdW90 ZWQgc3ltYm9sIGFwcGVhcnMKIGFzIEB0e+KAmGNhc2UtZm9sZC1zZWFyY2jigJl9LiAgU291 cmNlLWNvZGUgc3RyaW5ncyBjYW4gYWxzbyBzaW1wbHkgdXNlCiBjdXJ2ZWQgcXVvdGVzIGRp cmVjdGx5LgogCkBAIC0xNzExNyw3ICsxNzExMSw3IEBAIFRleHQgYW5kIEF1dG8tZmlsbAog CiBXZSBhcmUgYWxyZWFkeSBmYW1pbGlhciB3aXRoIEBjb2Rle3NldHF9LiAgSXQgc2V0cyB0 aGUgZm9sbG93aW5nIHZhcmlhYmxlLAogQGNvZGV7bWFqb3ItbW9kZX0sIHRvIHRoZSBzdWJz ZXF1ZW50IHZhbHVlLCB3aGljaCBpcyBAY29kZXt0ZXh0LW1vZGV9LgotVGhlIHNpbmdsZSBx dW90ZSBtYXJrIGJlZm9yZSBAY29kZXt0ZXh0LW1vZGV9IHRlbGxzIEVtYWNzIHRvIGRlYWwg ZGlyZWN0bHkKK1RoZSBzaW5nbGUtcXVvdGUgYmVmb3JlIEBjb2Rle3RleHQtbW9kZX0gdGVs bHMgRW1hY3MgdG8gZGVhbCBkaXJlY3RseQogd2l0aCB0aGUgQGNvZGV7dGV4dC1tb2RlfSBz eW1ib2wsIG5vdCB3aXRoIHdoYXRldmVyIGl0IG1pZ2h0IHN0YW5kIGZvci4KIEB4cmVme3Nl dCAmIHNldHEsICwgU2V0dGluZyB0aGUgVmFsdWUgb2YgYSBWYXJpYWJsZX0sCiBmb3IgYSBy ZW1pbmRlciBvZiBob3cgQGNvZGV7c2V0cX0gd29ya3MuCkBAIC0xNzI4NCwxMSArMTcyNzgs MTEgQEAgS2V5YmluZGluZ3MKIGRldGFpbHMuKQogCiBUaGUgY29tbWFuZCBpbnZva2VkIGJ5 IHRoZSBrZXlzIGlzIEBjb2Rle2NvbXBhcmUtd2luZG93c30uICBOb3RlIHRoYXQKLUBjb2Rl e2NvbXBhcmUtd2luZG93c30gaXMgcHJlY2VkZWQgYnkgYSBzaW5nbGUgcXVvdGU7IG90aGVy d2lzZSwgRW1hY3MKK0Bjb2Rle2NvbXBhcmUtd2luZG93c30gaXMgcHJlY2VkZWQgYnkgYSBz aW5nbGUtcXVvdGU7IG90aGVyd2lzZSwgRW1hY3MKIHdvdWxkIGZpcnN0IHRyeSB0byBldmFs dWF0ZSB0aGUgc3ltYm9sIHRvIGRldGVybWluZSBpdHMgdmFsdWUuCiAKIFRoZXNlIHRocmVl IHRoaW5ncywgdGhlIGRvdWJsZSBxdW90YXRpb24gbWFya3MsIHRoZSBiYWNrc2xhc2ggYmVm b3JlCi10aGUgQHNhbXB7Q30sIGFuZCB0aGUgc2luZ2xlIHF1b3RlIG1hcmsgYXJlIG5lY2Vz c2FyeSBwYXJ0cyBvZgordGhlIEBzYW1we0N9LCBhbmQgdGhlIHNpbmdsZS1xdW90ZSBhcmUg bmVjZXNzYXJ5IHBhcnRzIG9mCiBrZXliaW5kaW5nIHRoYXQgSSB0ZW5kIHRvIGZvcmdldC4g IEZvcnR1bmF0ZWx5LCBJIGhhdmUgY29tZSB0bwogcmVtZW1iZXIgdGhhdCBJIHNob3VsZCBs b29rIGF0IG15IGV4aXN0aW5nIEBmaWxley5lbWFjc30gZmlsZSwgYW5kCiBhZGFwdCB3aGF0 IGlzIHRoZXJlLgpkaWZmIC0tZ2l0IGEvZG9jL2xpc3ByZWYvY29udHJvbC50ZXhpIGIvZG9j L2xpc3ByZWYvY29udHJvbC50ZXhpCmluZGV4IDNmNDhjNDUuLjc1ZDhkMjggMTAwNjQ0Ci0t LSBhL2RvYy9saXNwcmVmL2NvbnRyb2wudGV4aQorKysgYi9kb2MvbGlzcHJlZi9jb250cm9s LnRleGkKQEAgLTExMDAsMTAgKzExMDAsMTIgQEAgU2lnbmFsaW5nIEVycm9ycwogZXJyb3Ig c3ltYm9sIEBjb2Rle2Vycm9yfSwgYW5kIGEgbGlzdCBjb250YWluaW5nIHRoZSBzdHJpbmcg cmV0dXJuZWQgYnkKIEBjb2Rle2Zvcm1hdC1tZXNzYWdlfS4KIAotSW4gYSBmb3JtYXQgc3Ry aW5nIGNvbnRhaW5pbmcgc2luZ2xlIHF1b3RlcywgY3VydmVkIHF1b3RlcyBAdHvigJhsaWtl Ci10aGlz4oCZfSBhbmQgZ3JhdmUgcXVvdGVzIEB0e2BsaWtlIHRoaXMnfSB3b3JrIGJldHRl ciB0aGFuIHN0cmFpZ2h0Ci1xdW90ZXMgQHR7J2xpa2UgdGhpcyd9LCBhcyBAY29kZXtlcnJv cn0gdHlwaWNhbGx5IGZvcm1hdHMgZXZlcnkKLXN0cmFpZ2h0IHF1b3RlIGFzIGEgY3VydmVk IGNsb3NpbmcgcXVvdGUuCitBIGZvcm1hdCB0aGF0IHF1b3RlcyB3aXRoIGdyYXZlIGFjY2Vu dHMgYW5kIGFwb3N0cm9waGVzIEB0e2BsaWtlCit0aGlzJ30gdHlwaWNhbGx5IGdlbmVyYXRl cyBjdXJ2ZWQgcXVvdGVzIEB0e+KAmGxpa2UgdGhpc+KAmX0uICBJbgorY29udHJhc3QsIGEg Zm9ybWF0IHRoYXQgcXVvdGVzIHdpdGggb25seSBhcG9zdHJvcGhlcyBAdHsnbGlrZSB0aGlz J30KK3R5cGljYWxseSBnZW5lcmF0ZXMgdHdvIGNsb3NpbmcgY3VydmVkIHF1b3RlcyBAdHvi gJlsaWtlIHRoaXPigJl9LCBhbgordW51c3VhbCBzdHlsZSBpbiBFbmdsaXNoLiAgQHhyZWZ7 S2V5cyBpbiBEb2N1bWVudGF0aW9ufSwgZm9yIGhvdyB0aGUKK0Bjb2Rle3RleHQtcXVvdGlu Zy1zdHlsZX0gdmFyaWFibGUgYWZmZWN0cyBnZW5lcmF0ZWQgcXVvdGVzLgogCiBAc3Ryb25n e1dhcm5pbmc6fSBJZiB5b3Ugd2FudCB0byB1c2UgeW91ciBvd24gc3RyaW5nIGFzIGFuIGVy cm9yIG1lc3NhZ2UKIHZlcmJhdGltLCBkb24ndCBqdXN0IHdyaXRlIEBjb2RleyhlcnJvciBA dmFye3N0cmluZ30pfS4gIElmIEB2YXJ7c3RyaW5nfQpkaWZmIC0tZ2l0IGEvZG9jL2xpc3By ZWYvZGlzcGxheS50ZXhpIGIvZG9jL2xpc3ByZWYvZGlzcGxheS50ZXhpCmluZGV4IGM4MGY3 OGMuLmIwY2Q4NzMgMTAwNjQ0Ci0tLSBhL2RvYy9saXNwcmVmL2Rpc3BsYXkudGV4aQorKysg Yi9kb2MvbGlzcHJlZi9kaXNwbGF5LnRleGkKQEAgLTI2NSwxMCArMjY1LDEyIEBAIERpc3Bs YXlpbmcgTWVzc2FnZXMKIFRoZSBzdHJpbmcgaXMgYWxzbyBhZGRlZCB0byB0aGUgQGZpbGV7 Kk1lc3NhZ2VzKn0gYnVmZmVyLCBidXQgd2l0aG91dAogdGV4dCBwcm9wZXJ0aWVzIChAcHhy ZWZ7TG9nZ2luZyBNZXNzYWdlc30pLgogCi1JbiBhIGZvcm1hdCBzdHJpbmcgY29udGFpbmlu ZyBzaW5nbGUgcXVvdGVzLCBjdXJ2ZWQgcXVvdGVzIEB0e+KAmGxpa2UKLXRoaXPigJl9IGFu ZCBncmF2ZSBxdW90ZXMgQHR7YGxpa2UgdGhpcyd9IHdvcmsgYmV0dGVyIHRoYW4gc3RyYWln aHQKLXF1b3RlcyBAdHsnbGlrZSB0aGlzJ30sIGFzIEBjb2Rle21lc3NhZ2V9IHR5cGljYWxs eSBmb3JtYXRzIGV2ZXJ5Ci1zdHJhaWdodCBxdW90ZSBhcyBhIGN1cnZlZCBjbG9zaW5nIHF1 b3RlLgorQSBmb3JtYXQgdGhhdCBxdW90ZXMgd2l0aCBncmF2ZSBhY2NlbnRzIGFuZCBhcG9z dHJvcGhlcyBAdHtgbGlrZQordGhpcyd9IHR5cGljYWxseSBnZW5lcmF0ZXMgY3VydmVkIHF1 b3RlcyBAdHvigJhsaWtlIHRoaXPigJl9LiAgSW4KK2NvbnRyYXN0LCBhIGZvcm1hdCB0aGF0 IHF1b3RlcyB3aXRoIG9ubHkgYXBvc3Ryb3BoZXMgQHR7J2xpa2UgdGhpcyd9Cit0eXBpY2Fs bHkgZ2VuZXJhdGVzIHR3byBjbG9zaW5nIGN1cnZlZCBxdW90ZXMgQHR74oCZbGlrZSB0aGlz 4oCZfSwgYW4KK3VudXN1YWwgc3R5bGUgaW4gRW5nbGlzaC4gIEB4cmVme0tleXMgaW4gRG9j dW1lbnRhdGlvbn0sIGZvciBob3cgdGhlCitAY29kZXt0ZXh0LXF1b3Rpbmctc3R5bGV9IHZh cmlhYmxlIGFmZmVjdHMgZ2VuZXJhdGVkIHF1b3Rlcy4KIAogSW4gYmF0Y2ggbW9kZSwgdGhl IG1lc3NhZ2UgaXMgcHJpbnRlZCB0byB0aGUgc3RhbmRhcmQgZXJyb3Igc3RyZWFtLAogZm9s bG93ZWQgYnkgYSBuZXdsaW5lLgpkaWZmIC0tZ2l0IGEvZG9jL2xpc3ByZWYvaGVscC50ZXhp IGIvZG9jL2xpc3ByZWYvaGVscC50ZXhpCmluZGV4IDU4YTExZjIuLmI5NDVlNDMgMTAwNjQ0 Ci0tLSBhL2RvYy9saXNwcmVmL2hlbHAudGV4aQorKysgYi9kb2MvbGlzcHJlZi9oZWxwLnRl eGkKQEAgLTMzNSwxMCArMzM1LDE0IEBAIEtleXMgaW4gRG9jdW1lbnRhdGlvbgogQGl0ZW0g 4oCYCiBAaXRlbXggYAogKGxlZnQgc2luZ2xlIHF1b3RhdGlvbiBtYXJrIGFuZCBncmF2ZSBh Y2NlbnQpIGJvdGggc3RhbmQgZm9yIGEgbGVmdCBxdW90ZS4KK1RoaXMgZ2VuZXJhdGVzIGEg bGVmdCBzaW5nbGUgcXVvdGF0aW9uIG1hcmssIGFuIGFwb3N0cm9waGUsIG9yIGEgZ3JhdmUK K2FjY2VudCBkZXBlbmRpbmcgb24gdGhlIHZhbHVlIG9mIEBjb2Rle3RleHQtcXVvdGluZy1z dHlsZX0uCiAKIEBpdGVtIOKAmQogQGl0ZW14ICcKIChyaWdodCBzaW5nbGUgcXVvdGF0aW9u IG1hcmsgYW5kIGFwb3N0cm9waGUpIGJvdGggc3RhbmQgZm9yIGEgcmlnaHQgcXVvdGUuCitU aGlzIGdlbmVyYXRlcyBhIHJpZ2h0IHNpbmdsZSBxdW90YXRpb24gbWFyayBvciBhbiBhcG9z dHJvcGhlCitkZXBlbmRpbmcgb24gdGhlIHZhbHVlIG9mIEBjb2Rle3RleHQtcXVvdGluZy1z dHlsZX0uCiAKIEBpdGVtIFw9CiBxdW90ZXMgdGhlIGZvbGxvd2luZyBjaGFyYWN0ZXIgYW5k IGlzIGRpc2NhcmRlZDsgdGh1cywgQHNhbXB7XD1gfSBwdXRzCmRpZmYgLS1naXQgYS9kb2Mv bGlzcHJlZi9zdHJpbmdzLnRleGkgYi9kb2MvbGlzcHJlZi9zdHJpbmdzLnRleGkKaW5kZXgg OWQ2NjEzYy4uYzY1NjNmNyAxMDA2NDQKLS0tIGEvZG9jL2xpc3ByZWYvc3RyaW5ncy50ZXhp CisrKyBiL2RvYy9saXNwcmVmL3N0cmluZ3MudGV4aQpAQCAtODM0LDggKzgzNCwxNCBAQCBG b3JtYXR0aW5nIFN0cmluZ3MKIFRoaXMgZnVuY3Rpb24gYWN0cyBsaWtlIEBjb2Rle2Zvcm1h dH0sIGV4Y2VwdCBpdCBhbHNvIGNvbnZlcnRzIGFueQogY3VydmVkIHNpbmdsZSBxdW90ZXMg aW4gQHZhcntzdHJpbmd9IGFzIHBlciB0aGUgdmFsdWUgb2YKIEBjb2Rle3RleHQtcXVvdGlu Zy1zdHlsZX0sIGFuZCB0cmVhdHMgZ3JhdmUgYWNjZW50IChAdHtgfSkgYW5kCi1hcG9zdHJv cGhlIChAdHsnfSkgYXMgaWYgdGhleSB3ZXJlIGN1cnZlZCBzaW5nbGUgcXVvdGVzLiAgQHhy ZWZ7S2V5cwotaW4gRG9jdW1lbnRhdGlvbn0uCithcG9zdHJvcGhlIChAdHsnfSkgYXMgaWYg dGhleSB3ZXJlIGN1cnZlZCBzaW5nbGUgcXVvdGVzLgorCitBIGZvcm1hdCB0aGF0IHF1b3Rl cyB3aXRoIGdyYXZlIGFjY2VudHMgYW5kIGFwb3N0cm9waGVzIEB0e2BsaWtlCit0aGlzJ30g dHlwaWNhbGx5IGdlbmVyYXRlcyBjdXJ2ZWQgcXVvdGVzIEB0e+KAmGxpa2UgdGhpc+KAmX0u ICBJbgorY29udHJhc3QsIGEgZm9ybWF0IHRoYXQgcXVvdGVzIHdpdGggb25seSBhcG9zdHJv cGhlcyBAdHsnbGlrZSB0aGlzJ30KK3R5cGljYWxseSBnZW5lcmF0ZXMgdHdvIGNsb3Npbmcg Y3VydmVkIHF1b3RlcyBAdHvigJlsaWtlIHRoaXPigJl9LCBhbgordW51c3VhbCBzdHlsZSBp biBFbmdsaXNoLiAgQHhyZWZ7S2V5cyBpbiBEb2N1bWVudGF0aW9ufSwgZm9yIGhvdyB0aGUK K0Bjb2Rle3RleHQtcXVvdGluZy1zdHlsZX0gdmFyaWFibGUgYWZmZWN0cyBnZW5lcmF0ZWQg cXVvdGVzLgogQGVuZCBkZWZ1bgogCiBAY2luZGV4IEBzYW1weyV9IGluIGZvcm1hdApkaWZm IC0tZ2l0IGEvbGlzcC9zdWJyLmVsIGIvbGlzcC9zdWJyLmVsCmluZGV4IDBmMDIxNzAuLjNh YzYxZjkgMTAwNjQ0Ci0tLSBhL2xpc3Avc3Vici5lbAorKysgYi9saXNwL3N1YnIuZWwKQEAg LTI5MCwyMSArMjkwLDI3IEBAIGlnbm9yZQogCiA7OyBTaWduYWwgYSBjb21waWxlLWVycm9y IGlmIHRoZSBmaXJzdCBhcmcgaXMgbWlzc2luZy4KIChkZWZ1biBlcnJvciAoJnJlc3QgYXJn cykKLSAgIlNpZ25hbCBhbiBlcnJvciwgbWFraW5nIGVycm9yIG1lc3NhZ2UgYnkgcGFzc2lu ZyBhbGwgYXJncyB0byBgZm9ybWF0Jy4KKyAgIlNpZ25hbCBhbiBlcnJvciwgbWFraW5nIGEg bWVzc2FnZSBieSBwYXNzaW5nIGFyZ3MgdG8gYGZvcm1hdC1tZXNzYWdlJy4KIEluIEVtYWNz LCB0aGUgY29udmVudGlvbiBpcyB0aGF0IGVycm9yIG1lc3NhZ2VzIHN0YXJ0IHdpdGggYSBj YXBpdGFsCiBsZXR0ZXIgYnV0ICpkbyBub3QqIGVuZCB3aXRoIGEgcGVyaW9kLiAgUGxlYXNl IGZvbGxvdyB0aGlzIGNvbnZlbnRpb24KLWZvciB0aGUgc2FrZSBvZiBjb25zaXN0ZW5jeS4i Citmb3IgdGhlIHNha2Ugb2YgY29uc2lzdGVuY3kuCisKK05vdGU6IChlcnJvciBcIiVzXCIg VkFMVUUpIG1ha2VzIHRoZSBtZXNzYWdlIFZBTFVFIHdpdGhvdXQKK2ludGVycHJldGluZyBm b3JtYXQgY2hhcmFjdGVycyBsaWtlIGAlJywgYFxcPWAnLCBhbmQgYFxcPScnLiIKICAgKGRl Y2xhcmUgKGFkdmVydGlzZWQtY2FsbGluZy1jb252ZW50aW9uIChzdHJpbmcgJnJlc3QgYXJn cykgIjIzLjEiKSkKICAgKHNpZ25hbCAnZXJyb3IgKGxpc3QgKGFwcGx5ICMnZm9ybWF0LW1l c3NhZ2UgYXJncykpKSkKIAogKGRlZnVuIHVzZXItZXJyb3IgKGZvcm1hdCAmcmVzdCBhcmdz KQotICAiU2lnbmFsIGEgcGlsb3QgZXJyb3IsIG1ha2luZyBlcnJvciBtZXNzYWdlIGJ5IHBh c3NpbmcgYWxsIGFyZ3MgdG8gYGZvcm1hdCcuCisgICJTaWduYWwgYSBwaWxvdCBlcnJvciwg bWFraW5nIGEgbWVzc2FnZSBieSBwYXNzaW5nIGFyZ3MgdG8gYGZvcm1hdC1tZXNzYWdlJy4K IEluIEVtYWNzLCB0aGUgY29udmVudGlvbiBpcyB0aGF0IGVycm9yIG1lc3NhZ2VzIHN0YXJ0 IHdpdGggYSBjYXBpdGFsCiBsZXR0ZXIgYnV0ICpkbyBub3QqIGVuZCB3aXRoIGEgcGVyaW9k LiAgUGxlYXNlIGZvbGxvdyB0aGlzIGNvbnZlbnRpb24KIGZvciB0aGUgc2FrZSBvZiBjb25z aXN0ZW5jeS4KIFRoaXMgaXMganVzdCBsaWtlIGBlcnJvcicgZXhjZXB0IHRoYXQgYHVzZXIt ZXJyb3IncyBhcmUgZXhwZWN0ZWQgdG8gYmUgdGhlCiByZXN1bHQgb2YgYW4gaW5jb3JyZWN0 IG1hbmlwdWxhdGlvbiBvbiB0aGUgcGFydCBvZiB0aGUgdXNlciwgcmF0aGVyIHRoYW4gdGhl Ci1yZXN1bHQgb2YgYW4gYWN0dWFsIHByb2JsZW0uIgorcmVzdWx0IG9mIGFuIGFjdHVhbCBw cm9ibGVtLgorCitOb3RlOiAodXNlci1lcnJvciBcIiVzXCIgVkFMVUUpIG1ha2VzIHRoZSBt ZXNzYWdlIFZBTFVFIHdpdGhvdXQKK2ludGVycHJldGluZyBmb3JtYXQgY2hhcmFjdGVycyBs aWtlIGAlJywgYFxcPWAnLCBhbmQgYFxcPScnLiIKICAgKHNpZ25hbCAndXNlci1lcnJvciAo bGlzdCAoYXBwbHkgIydmb3JtYXQtbWVzc2FnZSBmb3JtYXQgYXJncykpKSkKIAogKGRlZnVu IGRlZmluZS1lcnJvciAobmFtZSBtZXNzYWdlICZvcHRpb25hbCBwYXJlbnQpCmRpZmYgLS1n aXQgYS9zcmMvY2FsbGludC5jIGIvc3JjL2NhbGxpbnQuYwppbmRleCBlNTZmN2NkLi4wNTNl ZTZjIDEwMDY0NAotLS0gYS9zcmMvY2FsbGludC5jCisrKyBiL3NyYy9jYWxsaW50LmMKQEAg LTI3Miw3ICsyNzIsNyBAQCBpbnZva2UgaXQuICBJZiBLRVlTIGlzIG9taXR0ZWQgb3Igbmls LCB0aGUgcmV0dXJuIHZhbHVlIG9mCiB7CiAgIC8qIGBhcmdzJyB3aWxsIGNvbnRhaW4gdGhl IGFycmF5IG9mIGFyZ3VtZW50cyB0byBwYXNzIHRvIHRoZSBmdW5jdGlvbi4KICAgICAgYHZp c2FyZ3MnIHdpbGwgY29udGFpbiB0aGUgc2FtZSBsaXN0IGJ1dCBpbiBhIG5pY2VyIGZvcm0s IHNvIHRoYXQgaWYgd2UKLSAgICAgcGFzcyBpdCB0byBgRmZvcm1hdCcgaXQgd2lsbCBiZSB1 bmRlcnN0YW5kYWJsZSB0byBhIGh1bWFuLiAgKi8KKyAgICAgcGFzcyBpdCB0byBgRmZvcm1h dF9tZXNzYWdlJyBpdCB3aWxsIGJlIHVuZGVyc3RhbmRhYmxlIHRvIGEgaHVtYW4uICAqLwog ICBMaXNwX09iamVjdCAqYXJncywgKnZpc2FyZ3M7CiAgIExpc3BfT2JqZWN0IHNwZWNzOwog ICBMaXNwX09iamVjdCBmaWx0ZXJfc3BlY3M7CmRpZmYgLS1naXQgYS9zcmMvZG9wcm50LmMg Yi9zcmMvZG9wcm50LmMKaW5kZXggNTA2YmJjMy4uOWQ4Yjc4MyAxMDA2NDQKLS0tIGEvc3Jj L2RvcHJudC5jCisrKyBiL3NyYy9kb3BybnQuYwpAQCAtNDYsMTUgKzQ2LDE1IEBAIGFsb25n IHdpdGggR05VIEVtYWNzLiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNl bnNlcy8+LiAgKi8KICAgIGlnbm9yZWQgJXMgYW5kICVjIGNvbnZlcnNpb25zLiAgKFNlZSBi ZWxvdyBmb3IgdGhlIGRldGFpbGVkIGRvY3VtZW50YXRpb24gb2YKICAgIHdoYXQgaXMgc3Vw cG9ydGVkLikgIEhvd2V2ZXIsIHRoaXMgaXMgb2theSwgYXMgdGhpcyBmdW5jdGlvbiBpcyBz dXBwb3NlZCB0bwogICAgYmUgY2FsbGVkIGZyb20gYGVycm9yJyBhbmQgc2ltaWxhciBmdW5j dGlvbnMsIGFuZCB0aHVzIGRvZXMgbm90IG5lZWQgdG8KLSAgIHN1cHBvcnQgZmVhdHVyZXMg YmV5b25kIHRob3NlIGluIGBGZm9ybWF0Jywgd2hpY2ggaXMgdXNlZCBieSBgZXJyb3InIG9u IHRoZQotICAgTGlzcCBsZXZlbC4gICovCisgICBzdXBwb3J0IGZlYXR1cmVzIGJleW9uZCB0 aG9zZSBpbiBgRmZvcm1hdF9tZXNzYWdlJywgd2hpY2ggaXMgdXNlZAorICAgYnkgYGVycm9y JyBvbiB0aGUgTGlzcCBsZXZlbC4gICovCiAKIC8qIEluIHRoZSBGT1JNQVQgYXJndW1lbnQg dGhpcyBmdW5jdGlvbiBzdXBwb3J0cyBgIGFuZCAnIGFzIGRpcmVjdGl2ZXMKICAgIHRoYXQg b3V0cHV0IGxlZnQgYW5kIHJpZ2h0IHF1b3RlcyBhcyBwZXIg4oCYdGV4dC1xdW90aW5nIHN0 eWxl4oCZLiAgSXQKICAgIGFsc28gc3VwcG9ydHMgdGhlIGZvbGxvd2luZyAlLXNlcXVlbmNl czoKIAogICAgJXMgbWVhbnMgcHJpbnQgYSBzdHJpbmcgYXJndW1lbnQuCi0gICAlUyBpcyBz aWxlbnRseSB0cmVhdGVkIGFzICVzLCBmb3IgbG9vc2UgY29tcGF0aWJpbGl0eSB3aXRoIGBG Zm9ybWF0Jy4KKyAgICVTIGlzIHRyZWF0ZWQgYXMgJXMsIGZvciBsb29zZSBjb21wYXRpYmls aXR5IHdpdGggYEZmb3JtYXRfbWVzc2FnZScuCiAgICAlZCBtZWFucyBwcmludCBhIGBzaWdu ZWQgaW50JyBhcmd1bWVudCBpbiBkZWNpbWFsLgogICAgJW8gbWVhbnMgcHJpbnQgYW4gYHVu c2lnbmVkIGludCcgYXJndW1lbnQgaW4gb2N0YWwuCiAgICAleCBtZWFucyBwcmludCBhbiBg dW5zaWduZWQgaW50JyBhcmd1bWVudCBpbiBoZXguCmRpZmYgLS1naXQgYS9zcmMvZWRpdGZu cy5jIGIvc3JjL2VkaXRmbnMuYwppbmRleCBmMGNlNGU3Li5hODU4ZTZlIDEwMDY0NAotLS0g YS9zcmMvZWRpdGZucy5jCisrKyBiL3NyYy9lZGl0Zm5zLmMKQEAgLTM2NjUsMTAgKzM2NjUs MTEgQEAgSW4gYmF0Y2ggbW9kZSwgdGhlIG1lc3NhZ2UgaXMgcHJpbnRlZCB0byB0aGUgc3Rh bmRhcmQgZXJyb3Igc3RyZWFtLAogZm9sbG93ZWQgYnkgYSBuZXdsaW5lLgogCiBUaGUgZmly c3QgYXJndW1lbnQgaXMgYSBmb3JtYXQgY29udHJvbCBzdHJpbmcsIGFuZCB0aGUgcmVzdCBh cmUgZGF0YQotdG8gYmUgZm9ybWF0dGVkIHVuZGVyIGNvbnRyb2wgb2YgdGhlIHN0cmluZy4g IFNlZSBgZm9ybWF0JyBmb3IgZGV0YWlscy4KK3RvIGJlIGZvcm1hdHRlZCB1bmRlciBjb250 cm9sIG9mIHRoZSBzdHJpbmcuICBTZWUgYGZvcm1hdC1tZXNzYWdlJyBmb3IKK2RldGFpbHMu CiAKLU5vdGU6IFVzZSAobWVzc2FnZSAiJXMiIFZBTFVFKSB0byBwcmludCB0aGUgdmFsdWUg b2YgZXhwcmVzc2lvbnMgYW5kCi12YXJpYWJsZXMgdG8gYXZvaWQgYWNjaWRlbnRhbGx5IGlu dGVycHJldGluZyBgJScgYXMgZm9ybWF0IHNwZWNpZmllcnMuCitOb3RlOiAobWVzc2FnZSAi JXMiIFZBTFVFKSBkaXNwbGF5cyB0aGUgc3RyaW5nIFZBTFVFIHdpdGhvdXQKK2ludGVycHJl dGluZyBmb3JtYXQgY2hhcmFjdGVycyBsaWtlIGAlJywgYFxcPWAnLCBhbmQgYFxcPScnLgog CiBJZiB0aGUgZmlyc3QgYXJndW1lbnQgaXMgbmlsIG9yIHRoZSBlbXB0eSBzdHJpbmcsIHRo ZSBmdW5jdGlvbiBjbGVhcnMKIGFueSBleGlzdGluZyBtZXNzYWdlOyB0aGlzIGxldHMgdGhl IG1pbmlidWZmZXIgY29udGVudHMgc2hvdy4gIFNlZQpAQCAtMzY5Niw3ICszNjk3LDggQEAg REVGVU4gKCJtZXNzYWdlLWJveCIsIEZtZXNzYWdlX2JveCwgU21lc3NhZ2VfYm94LCAxLCBN QU5ZLCAwLAogICAgICAgIGRvYzogLyogRGlzcGxheSBhIG1lc3NhZ2UsIGluIGEgZGlhbG9n IGJveCBpZiBwb3NzaWJsZS4KIElmIGEgZGlhbG9nIGJveCBpcyBub3QgYXZhaWxhYmxlLCB1 c2UgdGhlIGVjaG8gYXJlYS4KIFRoZSBmaXJzdCBhcmd1bWVudCBpcyBhIGZvcm1hdCBjb250 cm9sIHN0cmluZywgYW5kIHRoZSByZXN0IGFyZSBkYXRhCi10byBiZSBmb3JtYXR0ZWQgdW5k ZXIgY29udHJvbCBvZiB0aGUgc3RyaW5nLiAgU2VlIGBmb3JtYXQnIGZvciBkZXRhaWxzLgor dG8gYmUgZm9ybWF0dGVkIHVuZGVyIGNvbnRyb2wgb2YgdGhlIHN0cmluZy4gIFNlZSBgZm9y bWF0LW1lc3NhZ2UnIGZvcgorZGV0YWlscy4KIAogSWYgdGhlIGZpcnN0IGFyZ3VtZW50IGlz IG5pbCBvciB0aGUgZW1wdHkgc3RyaW5nLCBjbGVhciBhbnkgZXhpc3RpbmcKIG1lc3NhZ2U7 IGxldCB0aGUgbWluaWJ1ZmZlciBjb250ZW50cyBzaG93LgpAQCAtMzcyNyw3ICszNzI5LDgg QEAgSWYgdGhpcyBjb21tYW5kIHdhcyBpbnZva2VkIHdpdGggdGhlIG1vdXNlLCB1c2UgYSBk aWFsb2cgYm94IGlmCiBgdXNlLWRpYWxvZy1ib3gnIGlzIG5vbi1uaWwuCiBPdGhlcndpc2Us IHVzZSB0aGUgZWNobyBhcmVhLgogVGhlIGZpcnN0IGFyZ3VtZW50IGlzIGEgZm9ybWF0IGNv bnRyb2wgc3RyaW5nLCBhbmQgdGhlIHJlc3QgYXJlIGRhdGEKLXRvIGJlIGZvcm1hdHRlZCB1 bmRlciBjb250cm9sIG9mIHRoZSBzdHJpbmcuICBTZWUgYGZvcm1hdCcgZm9yIGRldGFpbHMu Cit0byBiZSBmb3JtYXR0ZWQgdW5kZXIgY29udHJvbCBvZiB0aGUgc3RyaW5nLiAgU2VlIGBm b3JtYXQtbWVzc2FnZScgZm9yCitkZXRhaWxzLgogCiBJZiB0aGUgZmlyc3QgYXJndW1lbnQg aXMgbmlsIG9yIHRoZSBlbXB0eSBzdHJpbmcsIGNsZWFyIGFueSBleGlzdGluZwogbWVzc2Fn ZTsgbGV0IHRoZSBtaW5pYnVmZmVyIGNvbnRlbnRzIHNob3cuCi0tIAoyLjUuNQoK --------------70CA95D1F5A5E085A9AE3CA0--