From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Philipp Stephani Newsgroups: gmane.emacs.devel Subject: Re: Character literals for Unicode (control) characters Date: Sat, 19 Mar 2016 16:27:51 +0000 Message-ID: References: <87r3fsjenn.fsf@gnus.org> <56D8623F.6060806@cs.ucla.edu> <838u1vwqj9.fsf@gnu.org> <56DC7227.10708@cs.ucla.edu> <56DC7F18.8050103@cs.ucla.edu> <83si03v0c3.fsf@gnu.org> <56E7191A.60507@cs.ucla.edu> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: multipart/mixed; boundary=001a114080c0e4c7e0052e695835 X-Trace: ger.gmane.org 1458404895 22756 80.91.229.3 (19 Mar 2016 16:28:15 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Sat, 19 Mar 2016 16:28:15 +0000 (UTC) Cc: larsi@gnus.org, johnw@gnu.org, emacs-devel@gnu.org To: Paul Eggert , Eli Zaretskii Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Sat Mar 19 17:28:12 2016 Return-path: Envelope-to: ged-emacs-devel@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 1ahJjW-00064N-Cx for ged-emacs-devel@m.gmane.org; Sat, 19 Mar 2016 17:28:10 +0100 Original-Received: from localhost ([::1]:49598 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ahJjV-0004Np-Qb for ged-emacs-devel@m.gmane.org; Sat, 19 Mar 2016 12:28:09 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:55341) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ahJjP-0004G0-IN for emacs-devel@gnu.org; Sat, 19 Mar 2016 12:28:04 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ahJjO-0000Fa-LW for emacs-devel@gnu.org; Sat, 19 Mar 2016 12:28:03 -0400 Original-Received: from mail-lf0-x235.google.com ([2a00:1450:4010:c07::235]:36466) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ahJjO-0000FU-7v; Sat, 19 Mar 2016 12:28:02 -0400 Original-Received: by mail-lf0-x235.google.com with SMTP id d82so37799747lfe.3; Sat, 19 Mar 2016 09:28:02 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=+Jlj8AFzuOZAlMp3x+xIvQSEWiZFJBRYp1k/DSwwHWM=; b=ZF2uiQ7Q8SwxjUlef0hImuSacH/m2Kj7TmtHHZnld2sGUYCJzJ4bEQf+zbO99qbP8I x66tqwhoQu1GgFjvGD5jBj781gx0ModaRwMAfvVFV+6ZejtNLfaM6L6XMuxlK5AT9qc8 MR+oIW0X5BnK5J1KWqjgNqpPP0EbdJ6s8yhApnJC2pN1nCFcq+TTAAvOFwHWdWtHFiM9 G5wdANEP+3f5fuo961B3OIKQ8XU7toD2AyM+IX6xoRNuCZJecHreusr+qnK38M8Zx+wQ 2Wshvms/GexQ53AyRJtqYb9jzQetwUInFzRXzXjCs/DYnFRrSRhpyct7NS0b6qhM79qa fWjQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=+Jlj8AFzuOZAlMp3x+xIvQSEWiZFJBRYp1k/DSwwHWM=; b=AV7vXGmzD1GirslgYDogeUkv7J256NHnpmTMd5eGj6iHOtQlqnEwp5SAWmCwZUv4hY bachZa6loDhYdZ0p+3W42N+OZTG7sl7Q/KVGMFr99wWVivFbW3ME/mk0+Vj6DO7bJl45 aDwjv3T+DipqZDKqiRplF2dxYbnp1qxBYja7HaEFSJ64BmjUqNwE8JJjhl8AxgvirhGc L2D/XRnXTIzh8tGqYenCuM5fzKvNbgcVnhoEz9wbkeYswG9oKKqGIEWd7swqwcrM2Rbf 0fM4kUrTnHmID/aoMD9BH0BS3ONZOsEkgqpeu6INtw3mcCOGAPBnUYlHqzZG7Tr5hNXZ 4TZg== X-Gm-Message-State: AD7BkJJajt90osSCryylcgTOmaD1N3D6cVPQqkXrCD4vvrAMf4HusA6QWlRxJAsC2zbz1P+aP3EjRC96XxDFgQ== X-Received: by 10.25.81.144 with SMTP id f138mr7989050lfb.146.1458404881376; Sat, 19 Mar 2016 09:28:01 -0700 (PDT) In-Reply-To: <56E7191A.60507@cs.ucla.edu> X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2a00:1450:4010:c07::235 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.14 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.org@gnu.org Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:201875 Archived-At: --001a114080c0e4c7e0052e695835 Content-Type: multipart/alternative; boundary=001a114080c0e4c7dc052e695833 --001a114080c0e4c7dc052e695833 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Paul Eggert schrieb am Mo., 14. M=C3=A4rz 2016 um 21:0= 3 Uhr: > Thanks, here's a detailed low level review. > Thanks, all done. New patch is attached. --001a114080c0e4c7dc052e695833 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable


Paul E= ggert <eggert@cs.ucla.edu> = schrieb am Mo., 14. M=C3=A4rz 2016 um 21:03=C2=A0Uhr:
Thanks, here's a detailed low level review.

Thanks, all done. New patch is attached.= =C2=A0
--001a114080c0e4c7dc052e695833-- --001a114080c0e4c7e0052e695835 Content-Type: application/octet-stream; name="0001-Use-ucs-names-for-character-name-escapes.patch" Content-Disposition: attachment; filename="0001-Use-ucs-names-for-character-name-escapes.patch" Content-Transfer-Encoding: base64 Content-ID: <1538fb4276923203bd11> X-Attachment-Id: 1538fb4276923203bd11 RnJvbSAxNzNlYjhiMzhiNGI0OTVhNDZiY2EwMjc3OWFlNTkwMTMwMzI4MTc1IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBQaGlsaXBwIFN0ZXBoYW5pIDxwaHN0QGdvb2dsZS5jb20+CkRh dGU6IFN1biwgMTMgTWFyIDIwMTYgMjE6Mjc6MzAgKzAxMDAKU3ViamVjdDogW1BBVENIXSBVc2Ug YHVjcy1uYW1lcycgZm9yIGNoYXJhY3RlciBuYW1lIGVzY2FwZXMKCiogbHJlYWQuYyAoaW52YWxp ZF9jaGFyYWN0ZXJfbmFtZSwgY2hlY2tfc2NhbGFyX3ZhbHVlKQoocGFyc2VfY29kZV9hZnRlcl9w cmVmaXgsIGNoYXJhY3Rlcl9uYW1lX3RvX2NvZGUpOiBOZXcgaGVscGVyCmZ1bmN0aW9ucyB0aGF0 IHVzZSBgdWNzLW5hbWVzJyBhbmQgcGFyc2luZyBmb3IgQ0pLIGlkZW9ncmFwaHMuCihyZWFkX2Vz Y2FwZSk6IFVzZSBoZWxwZXIgZnVuY3Rpb25zLgooc3ltc19vZl9scmVhZCk6IE5ldyBzeW1ib2wg YHVjcy1uYW1lcycuCiogdGVzdC9zcmMvbHJlYWQtdGVzdHMuZWw6IE5ldyB0ZXN0czsgZml4IGEg Y291cGxlIG9mIGJ1Z3MgaW4KZXhpc3RpbmcgdGVzdHMuCi0tLQogc3JjL2xyZWFkLmMgICAgICAg ICAgICAgfCAxMjYgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0t LS0tCiB0ZXN0L3NyYy9scmVhZC10ZXN0cy5lbCB8ICAxMSArKysrLQogMiBmaWxlcyBjaGFuZ2Vk LCA5MSBpbnNlcnRpb25zKCspLCA0NiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9zcmMvbHJl YWQuYyBiL3NyYy9scmVhZC5jCmluZGV4IDQwMDA2MzcuLmRjMDIzZWIgMTAwNjQ0Ci0tLSBhL3Ny Yy9scmVhZC5jCisrKyBiL3NyYy9scmVhZC5jCkBAIC00NCw2ICs0NCw3IEBAIGFsb25nIHdpdGgg R05VIEVtYWNzLiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LiAg Ki8KICNpbmNsdWRlICJ0ZXJtaG9va3MuaCIKICNpbmNsdWRlICJibG9ja2lucHV0LmgiCiAjaW5j bHVkZSA8Yy1jdHlwZS5oPgorI2luY2x1ZGUgPHN0cmluZy5oPgogCiAjaWZkZWYgTVNET1MKICNp bmNsdWRlICJtc2Rvcy5oIgpAQCAtMjE1MSwzNiArMjE1Miw5MCBAQCBncm93X3JlYWRfYnVmZmVy ICh2b2lkKQogCQkJIE1BWF9NVUxUSUJZVEVfTEVOR1RILCAtMSwgMSk7CiB9CiAKLS8qIEhhc2gg dGFibGUgdGhhdCBtYXBzIFVuaWNvZGUgY2hhcmFjdGVyIG5hbWVzIHRvIGNvZGUgcG9pbnRzLiAg Ki8KLXN0YXRpYyBMaXNwX09iamVjdCBjaGFyYWN0ZXJfbmFtZXM7CisvKiBTaWduYWwgYW4gaW52 YWxpZC1yZWFkLXN5bnRheCBlcnJvciBpbmRpY2F0aW5nIHRoYXQgdGhlIGNoYXJhY3RlcgorICAg bmFtZSBpbiBhbiBcTnvigKZ9IGxpdGVyYWwgaXMgaW52YWxpZC4gICovCitzdGF0aWMgX05vcmV0 dXJuIHZvaWQKK2ludmFsaWRfY2hhcmFjdGVyX25hbWUgKExpc3BfT2JqZWN0IG5hbWUpCit7Cisg IHhzaWduYWwxIChRaW52YWxpZF9yZWFkX3N5bnRheCwKKyAgICAgICAgICAgIENBTExOIChGZm9y bWF0LCBidWlsZF9wdXJlX2Nfc3RyaW5nICgiXFxOeyVzfSIpLCBuYW1lKSk7Cit9CiAKLS8qIExl bmd0aCBvZiB0aGUgbG9uZ2VzdCBVbmljb2RlIGNoYXJhY3RlciBuYW1lLCBpbiBieXRlcy4gKi8K LXN0YXRpYyBwdHJkaWZmX3QgbWF4X2NoYXJhY3Rlcl9uYW1lX2xlbmd0aDsKKy8qIENoZWNrIHRo YXQgQ09ERSBpcyBhIHZhbGlkIFVuaWNvZGUgc2NhbGFyIHZhbHVlLCBhbmQgcmV0dXJuIGl0cwor ICAgdmFsdWUuICBDT0RFIHNob3VsZCBiZSBwYXJzZWQgZnJvbSB0aGUgY2hhcmFjdGVyIG5hbWUg Z2l2ZW4gYnkKKyAgIE5BTUUuICBOQU1FIGlzIHVzZWQgZm9yIGVycm9yIG1lc3NhZ2VzLiAgKi8K K3N0YXRpYyBpbnQKK2NoZWNrX3NjYWxhcl92YWx1ZSAoTGlzcF9PYmplY3QgY29kZSwgTGlzcF9P YmplY3QgbmFtZSkKK3sKKyAgaWYgKCEgTlVNQkVSUCAoY29kZSkpCisgICAgaW52YWxpZF9jaGFy YWN0ZXJfbmFtZSAobmFtZSk7CisgIEVNQUNTX0lOVCBpID0gWElOVCAoY29kZSk7CisgIGlmICgh ICgwIDw9IGkgJiYgaSA8PSBNQVhfVU5JQ09ERV9DSEFSKQorICAgICAgLyogRG9uJ3QgYWxsb3cg c3Vycm9nYXRlcy4gICovCisgICAgICB8fCAoMHhEODAwIDw9IGNvZGUgJiYgY29kZSA8PSAweERG RkYpKQorICAgIGludmFsaWRfY2hhcmFjdGVyX25hbWUgKG5hbWUpOworICByZXR1cm4gaTsKK30K IAotLyogSW5pdGlhbGl6ZXMgYGNoYXJhY3Rlcl9uYW1lcycgYW5kIGBtYXhfY2hhcmFjdGVyX25h bWVfbGVuZ3RoJy4KLSAgIENhbGxlZCBieSBgcmVhZF9lc2NhcGUnLiAgKi8KLXZvaWQgaW5pdF9j aGFyYWN0ZXJfbmFtZXMgKHZvaWQpCisvKiBJZiBOQU1FIHN0YXJ0cyB3aXRoIFBSRUZJWCwgaW50 ZXJwcmV0IHRoZSByZXN0IGFzIGEgaGV4YWRlY2ltYWwKKyAgIG51bWJlciBhbmQgcmV0dXJuIGl0 cyB2YWx1ZS4gIFJhaXNlIGludmFsaWQtcmVhZC1zeW50YXggaWYgdGhlCisgICBudW1iZXIgaXMg bm90IGEgdmFsaWQgc2NhbGFyIHZhbHVlLiAgUmV0dXJuIOKIkjEgaWYgTkFNRSBkb2VzbuKAmXQK KyAgIHN0YXJ0IHdpdGggUFJFRklYLiAgKi8KK3N0YXRpYyBpbnQKK3BhcnNlX2NvZGVfYWZ0ZXJf cHJlZml4IChMaXNwX09iamVjdCBuYW1lLCBjb25zdCBjaGFyICpwcmVmaXgpCiB7Ci0gIGNoYXJh Y3Rlcl9uYW1lcyA9IENBTExOIChGbWFrZV9oYXNoX3RhYmxlLAotICAgICAgICAgICAgICAgICAg ICAgICAgICAgUUN0ZXN0LCBRZXF1YWwsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBD dXJyZW50bHkgYXJvdW5kIDEwMCwwMDAgVW5pY29kZQotICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgY2hhcmFjdGVycyBhcmUgZGVmaW5lZC4gICovCi0gICAgICAgICAgICAgICAgICAgICAg ICAgICBRQ3NpemUsIG1ha2VfbmF0bnVtICgxMDAwMDApKTsKLSAgTGlzcF9PYmplY3QgZ2V0X3By b3BlcnR5ID0KLSAgICBGc3ltYm9sX2Z1bmN0aW9uIChpbnRlcm5fY19zdHJpbmcgKCJnZXQtY2hh ci1jb2RlLXByb3BlcnR5IikpOwotICBwdHJkaWZmX3QgbGVuZ3RoID0gMDsKLSAgZm9yIChpbnQg aSA9IDA7IGkgPD0gTUFYX1VOSUNPREVfQ0hBUjsgKytpKQorICBwdHJkaWZmX3QgbmFtZV9sZW4g PSBTQllURVMgKG5hbWUpOworICBwdHJkaWZmX3QgcHJlZml4X2xlbiA9IHN0cmxlbiAocHJlZml4 KTsKKyAgLyogQWxsb3cgYmV0d2VlbiBvbmUgYW5kIGVpZ2h0IGhleGFkZWNpbWFsIGRpZ2l0cyBh ZnRlciB0aGUKKyAgICAgcHJlZml4LiAgKi8KKyAgaWYgKHByZWZpeF9sZW4gPCBuYW1lX2xlbiAm JiBuYW1lX2xlbiA8PSBwcmVmaXhfbGVuICsgOAorICAgICAgJiYgbWVtY21wIChTREFUQSAobmFt ZSksIHByZWZpeCwgcHJlZml4X2xlbikgPT0gMCkKICAgICB7Ci0gICAgICBMaXNwX09iamVjdCBj b2RlID0gbWFrZV9uYXRudW0gKGkpOwotICAgICAgTGlzcF9PYmplY3QgbmFtZSA9IGNhbGwyIChn ZXRfcHJvcGVydHksIGNvZGUsIFFuYW1lKTsKLSAgICAgIGlmIChOSUxQIChuYW1lKSkgY29udGlu dWU7Ci0gICAgICBDSEVDS19TVFJJTkcgKG5hbWUpOwotICAgICAgbGVuZ3RoID0gbWF4IChsZW5n dGgsIFNCWVRFUyAobmFtZSkpOwotICAgICAgRnB1dGhhc2ggKG5hbWUsIGNvZGUsIGNoYXJhY3Rl cl9uYW1lcyk7CisgICAgICBMaXNwX09iamVjdCBjb2RlID0gc3RyaW5nX3RvX251bWJlciAoU0RB VEEgKG5hbWUpICsgcHJlZml4X2xlbiwgMTYsIGZhbHNlKTsKKyAgICAgIGlmIChOVU1CRVJQIChj b2RlKSkKKyAgICAgICAgcmV0dXJuIGNoZWNrX3NjYWxhcl92YWx1ZSAoY29kZSwgbmFtZSk7CiAg ICAgfQotICBtYXhfY2hhcmFjdGVyX25hbWVfbGVuZ3RoID0gbGVuZ3RoOworICByZXR1cm4gLTE7 CiB9CiAKKy8qIFJldHVybnMgdGhlIHNjYWxhciB2YWx1ZSB0aGF0IGhhcyB0aGUgVW5pY29kZSBj aGFyYWN0ZXIgbmFtZSBOQU1FLgorICAgUmFpc2VzIGBpbnZhbGlkLXJlYWQtc3ludGF4JyBpZiB0 aGVyZSBpcyBubyBzdWNoIGNoYXJhY3Rlci4gICovCitzdGF0aWMgaW50CitjaGFyYWN0ZXJfbmFt ZV90b19jb2RlIChMaXNwX09iamVjdCBuYW1lKQoreworICAvKiBDb2RlIHBvaW50IGFzIFUrTiwg d2hlcmUgTiBpcyBiZXR3ZWVuIDEgYW5kIDggaGV4YWRlY2ltYWwKKyAgICAgZGlnaXRzLiAgKi8K KyAgaW50IGNvZGUgPSBwYXJzZV9jb2RlX2FmdGVyX3ByZWZpeCAobmFtZSwgIlUrIik7CisgIGlm IChjb2RlID49IDApCisgICAgcmV0dXJuIGNvZGU7CisKKyAgLyogQ0pLIGlkZW9ncmFwaHMgYXJl IG5vdCBjb250YWluZWQgaW4gdGhlIGFzc29jaWF0aW9uIGxpc3QgcmV0dXJuZWQKKyAgICAgYnkg YHVjcy1uYW1lcycuICBCdXQgdGhleSBmb2xsb3cgYSBwcmVkaWN0YWJsZSBuYW1pbmcgcGF0dGVy bjogYQorICAgICBmaXhlZCBwcmVmaXggcGx1cyB0aGUgaGV4YWRlY2ltYWwgY29kZXBvaW50IHZh bHVlLiAgKi8KKyAgY29kZSA9IHBhcnNlX2NvZGVfYWZ0ZXJfcHJlZml4IChuYW1lLCAiQ0pLIElE RU9HUkFQSC0iKTsKKyAgaWYgKGNvZGUgPj0gMCkKKyAgICB7CisgICAgICAvKiBWYXJpb3VzIHJh bmdlcyBvZiBDSksgY2hhcmFjdGVyczsgc2VlIFVuaWNvZGVEYXRhLnR4dC4gICovCisgICAgICBp ZiAoKDB4MzQwMCA8PSBjb2RlICYmIGNvZGUgPD0gMHg0REI1KQorICAgICAgICAgIHx8ICgweDRF MDAgPD0gY29kZSAmJiBjb2RlIDw9IDB4OUZENSkKKyAgICAgICAgICB8fCAoMHgyMDAwMCA8PSBj b2RlICYmIGNvZGUgPD0gMHgyQTZENikKKyAgICAgICAgICB8fCAoMHgyQTcwMCA8PSBjb2RlICYm IGNvZGUgPD0gMHgyQjczNCkKKyAgICAgICAgICB8fCAoMHgyQjc0MCA8PSBjb2RlICYmIGNvZGUg PD0gMHgyQjgxRCkKKyAgICAgICAgICB8fCAoMHgyQjgyMCA8PSBjb2RlICYmIGNvZGUgPD0gMHgy Q0VBMSkpCisgICAgICAgIHJldHVybiBjb2RlOworICAgICAgZWxzZQorICAgICAgICBpbnZhbGlk X2NoYXJhY3Rlcl9uYW1lIChuYW1lKTsKKyAgICB9CisKKyAgLyogTG9vayB1cCB0aGUgbmFtZSBp biB0aGUgdGFibGUgcmV0dXJuZWQgYnkgYHVjcy1uYW1lcycuICAqLworICBMaXNwX09iamVjdCBu YW1lcyA9IGNhbGwwIChRdWNzX25hbWVzKTsKKyAgcmV0dXJuIGNoZWNrX3NjYWxhcl92YWx1ZSAo Q0RSIChGYXNzb2MgKG5hbWUsIG5hbWVzKSksIG5hbWUpOworfQorCisvKiBCb3VuZCBvbiB0aGUg bGVuZ3RoIG9mIGEgVW5pY29kZSBjaGFyYWN0ZXIgbmFtZS4gIEFzIG9mCisgICBVbmljb2RlwqA5 LjAuMCB0aGUgbWF4aW11bSBpcyA4Mywgc28gdGhpcyBzaG91bGQgYmUgc2FmZS4gKi8KK2VudW0g eyBVTklDT0RFX0NIQVJBQ1RFUl9OQU1FX0xFTkdUSF9CT1VORCA9IDIwMCB9OworCiAvKiBSZWFk IGEgXC1lc2NhcGUgc2VxdWVuY2UsIGFzc3VtaW5nIHdlIGFscmVhZHkgcmVhZCB0aGUgYFwnLgog ICAgSWYgdGhlIGVzY2FwZSBzZXF1ZW5jZSBmb3JjZXMgdW5pYnl0ZSwgcmV0dXJuIGVpZ2h0LWJp dCBjaGFyLiAgKi8KIApAQCAtMjM5NCwxMCArMjQ0OSw3IEBAIHJlYWRfZXNjYXBlIChMaXNwX09i amVjdCByZWFkY2hhcmZ1biwgYm9vbCBzdHJpbmdwKQogICAgICAgICBjID0gUkVBRENIQVI7CiAg ICAgICAgIGlmIChjICE9ICd7JykKICAgICAgICAgICBpbnZhbGlkX3N5bnRheCAoIkV4cGVjdGVk IG9wZW5pbmcgYnJhY2UgYWZ0ZXIgXFxOIik7Ci0gICAgICAgIGlmIChOSUxQIChjaGFyYWN0ZXJf bmFtZXMpKQotICAgICAgICAgIGluaXRfY2hhcmFjdGVyX25hbWVzICgpOwotICAgICAgICBVU0Vf U0FGRV9BTExPQ0E7Ci0gICAgICAgIGNoYXIgKm5hbWUgPSBTQUZFX0FMTE9DQSAobWF4X2NoYXJh Y3Rlcl9uYW1lX2xlbmd0aCArIDEpOworICAgICAgICBjaGFyIG5hbWVbVU5JQ09ERV9DSEFSQUNU RVJfTkFNRV9MRU5HVEhfQk9VTkQgKyAxXTsKICAgICAgICAgYm9vbCB3aGl0ZXNwYWNlID0gZmFs c2U7CiAgICAgICAgIHB0cmRpZmZfdCBsZW5ndGggPSAwOwogICAgICAgICB3aGlsZSAodHJ1ZSkK QEAgLTI0MjYsMjUgKzI0NzgsMTIgQEAgcmVhZF9lc2NhcGUgKExpc3BfT2JqZWN0IHJlYWRjaGFy ZnVuLCBib29sIHN0cmluZ3ApCiAgICAgICAgICAgICBlbHNlCiAgICAgICAgICAgICAgIHdoaXRl c3BhY2UgPSBmYWxzZTsKICAgICAgICAgICAgIG5hbWVbbGVuZ3RoKytdID0gYzsKLSAgICAgICAg ICAgIGlmIChsZW5ndGggPj0gbWF4X2NoYXJhY3Rlcl9uYW1lX2xlbmd0aCkKKyAgICAgICAgICAg IGlmIChsZW5ndGggPj0gc2l6ZW9mIG5hbWUpCiAgICAgICAgICAgICAgIGludmFsaWRfc3ludGF4 ICgiQ2hhcmFjdGVyIG5hbWUgdG9vIGxvbmciKTsKICAgICAgICAgICB9CiAgICAgICAgIGlmIChs ZW5ndGggPT0gMCkKICAgICAgICAgICBpbnZhbGlkX3N5bnRheCAoIkVtcHR5IGNoYXJhY3RlciBu YW1lIik7Ci0gICAgICAgIG5hbWVbbGVuZ3RoXSA9IDA7Ci0gICAgICAgIExpc3BfT2JqZWN0IGxp c3BfbmFtZSA9IG1ha2VfdW5pYnl0ZV9zdHJpbmcgKG5hbWUsIGxlbmd0aCk7Ci0gICAgICAgIExp c3BfT2JqZWN0IGNvZGUgPQotICAgICAgICAgIChsZW5ndGggPj0gMyAmJiBsZW5ndGggPD0gMTAg JiYgbmFtZVswXSA9PSAnVScgJiYgbmFtZVsxXSA9PSAnKycpID8KLSAgICAgICAgICAvKiBDb2Rl IHBvaW50IGFzIFUrTiwgd2hlcmUgTiBpcyBiZXR3ZWVuIDEgYW5kIDggaGV4YWRlY2ltYWwKLSAg ICAgICAgICAgICBkaWdpdHMuICAqLwotICAgICAgICAgIHN0cmluZ190b19udW1iZXIgKG5hbWUg KyAyLCAxNiwgZmFsc2UpIDoKLSAgICAgICAgICBGZ2V0aGFzaCAobGlzcF9uYW1lLCBjaGFyYWN0 ZXJfbmFtZXMsIFFuaWwpOwotICAgICAgICBTQUZFX0ZSRUUgKCk7Ci0gICAgICAgIGlmICghIFJB TkdFRF9JTlRFR0VSUCAoMCwgY29kZSwgTUFYX1VOSUNPREVfQ0hBUikpCi0gICAgICAgICAgeHNp Z25hbDEgKFFpbnZhbGlkX3JlYWRfc3ludGF4LAotICAgICAgICAgICAgICAgICAgICBDQUxMTiAo RmZvcm1hdCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIGJ1aWxkX3B1cmVfY19zdHJpbmcg KCJcXE57JXN9IiksIGxpc3BfbmFtZSkpOwotICAgICAgICByZXR1cm4gWElOVCAoY29kZSk7Cisg ICAgICAgIHJldHVybiBjaGFyYWN0ZXJfbmFtZV90b19jb2RlIChtYWtlX3VuaWJ5dGVfc3RyaW5n IChuYW1lLCBsZW5ndGgpKTsKICAgICAgIH0KIAogICAgIGRlZmF1bHQ6CkBAIC00ODM2LDYgKzQ4 NzUsNSBAQCB0aGF0IGFyZSBsb2FkZWQgYmVmb3JlIHlvdXIgY3VzdG9taXphdGlvbnMgYXJlIHJl YWQhICAqLyk7CiAgIERFRlNZTSAoUXJlaGFzaF9zaXplLCAicmVoYXNoLXNpemUiKTsKICAgREVG U1lNIChRcmVoYXNoX3RocmVzaG9sZCwgInJlaGFzaC10aHJlc2hvbGQiKTsKIAotICBjaGFyYWN0 ZXJfbmFtZXMgPSBRbmlsOwotICBzdGF0aWNwcm8gKCZjaGFyYWN0ZXJfbmFtZXMpOworICBERUZT WU0gKFF1Y3NfbmFtZXMsICJ1Y3MtbmFtZXMiKTsKIH0KZGlmZiAtLWdpdCBhL3Rlc3Qvc3JjL2xy ZWFkLXRlc3RzLmVsIGIvdGVzdC9zcmMvbHJlYWQtdGVzdHMuZWwKaW5kZXggMWY4NzMzNC4uZmY1 ZDBmNiAxMDA2NDQKLS0tIGEvdGVzdC9zcmMvbHJlYWQtdGVzdHMuZWwKKysrIGIvdGVzdC9zcmMv bHJlYWQtdGVzdHMuZWwKQEAgLTQwLDEwICs0MCwxNyBAQAogICAoc2hvdWxkLWVycm9yIChyZWFk ICI/XFxOe0RPRVMgTk9UIEVYSVNUfSIpKSA6dHlwZSAnaW52YWxpZC1yZWFkLXN5bnRheCkKIAog KGVydC1kZWZ0ZXN0IGxyZWFkLWNoYXItbm9uLWFzY2lpLW5hbWUgKCkKLSAgKHNob3VsZC1lcnJv ciAocmVhZCAiP1xcTntMQVRJTiBDQVBJVEFMIExFVFRFUiDDmH0iKSkgJ2ludmFsaWQtcmVhZC1z eW50YXgpCisgIChzaG91bGQtZXJyb3IgKHJlYWQgIj9cXE57TEFUSU4gQ0FQSVRBTCBMRVRURVIg w5h9IikKKyAgICAgICAgICAgICAgICA6dHlwZSAnaW52YWxpZC1yZWFkLXN5bnRheCkpCiAKIChl cnQtZGVmdGVzdCBscmVhZC1jaGFyLWVtcHR5LW5hbWUgKCkKLSAgKHNob3VsZC1lcnJvciAocmVh ZCAiP1xcTnt9IikpICdpbnZhbGlkLXJlYWQtc3ludGF4KQorICAoc2hvdWxkLWVycm9yIChyZWFk ICI/XFxOe30iKSA6dHlwZSAnaW52YWxpZC1yZWFkLXN5bnRheCkpCisKKyhlcnQtZGVmdGVzdCBs cmVhZC1jaGFyLWNqay1uYW1lICgpCisgIChzaG91bGQgKGVxdWFsID9cTntDSksgSURFT0dSQVBI LTJCNzM0fSAjeDJCNzM0KSkpCisKKyhlcnQtZGVmdGVzdCBscmVhZC1jaGFyLWludmFsaWQtY2pr LW5hbWUgKCkKKyAgKHNob3VsZC1lcnJvciAocmVhZCAiP1xcTntDSksgSURFT0dSQVBILTJCNzM1 fSIpIDp0eXBlICdpbnZhbGlkLXJlYWQtc3ludGF4KSkKIAogKGVydC1kZWZ0ZXN0IGxyZWFkLXN0 cmluZy1jaGFyLW51bWJlciAoKQogICAoc2hvdWxkIChlcXVhbCAiYVxOe1UrQTgxN31iIiAiYVx1 QTgxN2IiKSkpCi0tIAoyLjcuMAoK --001a114080c0e4c7e0052e695835--