From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED.blaine.gmane.org!not-for-mail From: Pip Cet Newsgroups: gmane.emacs.bugs Subject: bug#36304: 27.0.50; request: switch to the superior HTML #RGB convention for colors Date: Fri, 28 Jun 2019 09:28:53 +0000 Message-ID: References: <83fto1onky.fsf@gnu.org> <83d0j5ol0i.fsf@gnu.org> <835zoxoe2n.fsf@gnu.org> <83a7e2i0wi.fsf@gnu.org> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="0000000000005d8636058c5eea9e" Injection-Info: blaine.gmane.org; posting-host="blaine.gmane.org:195.159.176.226"; logging-data="99668"; mail-complaints-to="usenet@blaine.gmane.org" Cc: rms@gnu.org, 36304@debbugs.gnu.org To: Eli Zaretskii Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Fri Jun 28 11:30:17 2019 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([209.51.188.17]) by blaine.gmane.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.89) (envelope-from ) id 1hgnCv-000Pim-Ii for geb-bug-gnu-emacs@m.gmane.org; Fri, 28 Jun 2019 11:30:13 +0200 Original-Received: from localhost ([::1]:58230 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.86_2) (envelope-from ) id 1hgnCu-0008RB-BP for geb-bug-gnu-emacs@m.gmane.org; Fri, 28 Jun 2019 05:30:12 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:46912) by lists.gnu.org with esmtp (Exim 4.86_2) (envelope-from ) id 1hgnCm-0008OJ-PT for bug-gnu-emacs@gnu.org; Fri, 28 Jun 2019 05:30:06 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1hgnCk-0000fr-WA for bug-gnu-emacs@gnu.org; Fri, 28 Jun 2019 05:30:04 -0400 Original-Received: from debbugs.gnu.org ([209.51.188.43]:55082) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1hgnCk-0000fh-Rm for bug-gnu-emacs@gnu.org; Fri, 28 Jun 2019 05:30:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1hgnCk-0007ad-LR for bug-gnu-emacs@gnu.org; Fri, 28 Jun 2019 05:30:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Pip Cet Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Fri, 28 Jun 2019 09:30:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 36304 X-GNU-PR-Package: emacs Original-Received: via spool by 36304-submit@debbugs.gnu.org id=B36304.156171417929123 (code B ref 36304); Fri, 28 Jun 2019 09:30:02 +0000 Original-Received: (at 36304) by debbugs.gnu.org; 28 Jun 2019 09:29:39 +0000 Original-Received: from localhost ([127.0.0.1]:40393 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hgnCM-0007Zf-EK for submit@debbugs.gnu.org; Fri, 28 Jun 2019 05:29:38 -0400 Original-Received: from mail-oi1-f176.google.com ([209.85.167.176]:40762) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hgnCK-0007ZR-Eb for 36304@debbugs.gnu.org; Fri, 28 Jun 2019 05:29:37 -0400 Original-Received: by mail-oi1-f176.google.com with SMTP id w196so3785754oie.7 for <36304@debbugs.gnu.org>; Fri, 28 Jun 2019 02:29:36 -0700 (PDT) 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=Bx7CdjuTjaVXvhkn0rNXblIb3esNtwsLqjThXNGxwlM=; b=nhkvSfG87eRd91woF7hM5IlAlaJlx5JI/rJJUG4jW8B1TmobelA/FMZ/tWVvTIcm1a 18/OlePNsqD/3cxyOFNoKANHu7bd4zAN/1qJliXpzWJmFPw6N+3K9lcRvs2suFWAP3/6 aWgLP3VsJt3nDoEJb5hQeU4v6yFm2b/V5xkPGVA1XbOD/vloxFpreK+taNfLfsJlcGz8 NEU6MLNL1MHiGFiriEOXksmoEvsX5aIyqQF+zmxOJOr07fmnLr+JtR6WwelR4yEVxE7+ 07lk5/90rG+YO7zmE+IVceKb5vG9rE9UdQtbFkMIygs7vafFEiO4cFw2vkdNHnhe+nTz I34g== 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=Bx7CdjuTjaVXvhkn0rNXblIb3esNtwsLqjThXNGxwlM=; b=QxmR3D9lSWt94RbHstZCDJiugWLf2ik+FX1SpXv8jH1V4GdRxH3H5Y4lZt1RDFQ1Co nBJLRJErX/zmty45Btst4EHZOv92NF0OoQmZnYRsDpeIalO2XsmnLp88EsNsBETd0j/H S7xrFfcuoFzoZxCZcc6S6qff8oQXQGfL5mmGfuK+ezEXoBFAKfi5XR0KbixdkN4cdA5E vJMlB25hBgswk9G/WlbfKZfGhbQbfTnHAhXMP4pKuzt7nwhsFwzjc7X50O/PDvfgRHdI jGYKmaH7Wm/J7hSqBFmGqFaLd6s3lCLWE3te8UOmbLR5VK9ADlacZIuH111Nh+EL3u+j gb5A== X-Gm-Message-State: APjAAAUPbsOWGgNAWn0SeZKuSwAkA5ATdT/5j7lpm/5paJXJhupB/gY+ pgUyb8Rc0SVmbhZQZgXTkpUdPN/18m3+2p+FDGelIAYHdCM= X-Google-Smtp-Source: APXvYqxkj71ITNvP2q8PwTIDKiA1cZxhlG88CSl8Ua34UgZYD3E8q0Mm8LmGiWGKjniPrqvj2Tb0pvAn57OC/fjwJiA= X-Received: by 2002:aca:2303:: with SMTP id e3mr992186oie.112.1561714170356; Fri, 28 Jun 2019 02:29:30 -0700 (PDT) In-Reply-To: <83a7e2i0wi.fsf@gnu.org> 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: 209.51.188.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:161702 Archived-At: --0000000000005d8636058c5eea9e Content-Type: text/plain; charset="UTF-8" On Fri, Jun 28, 2019 at 8:13 AM Eli Zaretskii wrote: > > While I was there, I've also made it accept upper-case hex digits > > (previously, #0F0 was accepted but #F00 wasn't), and fixed the ranges > > so rgb:f/f/f translates to (65535 65535 65535) rather than (255 255 > > 255). > > Thanks. Thanks for the very patient review. Sorry for making so many mistakes. > > - (cond ((and (>= len 4) ;; X-style "#XXYYZZ" color spec > > + (cond ((and (>= len 4) ;; "#XXYYZZ" color spec > > Is #XXYYZZ no longer considered "X-style"? I would say no, since X's interpretation of #f00 is a little different from the HTML/CSS/SVG interpretation. > > ;; Translate the string "#XXYYZZ" into a list > > - ;; of numbers (XX YY ZZ). If the primary colors > > - ;; are specified with less than 4 hex digits, > > - ;; the used digits represent the most significant > > - ;; bits of the value (e.g. #XYZ = #X000Y000Z000). > > + ;; of numbers (XX YY ZZ). If fewer than 4 hex > > + ;; digits are used, they represent the fraction > > + ;; of the maximum value (#XYZ = #XXXXYYYYZZZZ). > > IMO, this part makes the text confusing: Thanks, you're absolutely right. > Finally, this is just part of the patch, isn't it? The xterm.c part > is not here, and neither are the documentation parts. Did I miss > something? Complete updated patch attached. --0000000000005d8636058c5eea9e Content-Type: text/x-patch; charset="US-ASCII"; name="0001-Use-the-CSS-convention-for-RGB-colors-bug-36304.patch" Content-Disposition: attachment; filename="0001-Use-the-CSS-convention-for-RGB-colors-bug-36304.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_jxfw7xuz0 RnJvbSA2Mzg3NTAxZTEyNTJjNzc5ODdiMDdmZDM4ZDU0NTc4YmFkZmU4MWFmIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBQaXAgQ2V0IDxwaXBjZXRAZ21haWwuY29tPgpEYXRlOiBGcmks IDI4IEp1biAyMDE5IDA5OjIzOjE5ICswMDAwClN1YmplY3Q6IFtQQVRDSF0gVXNlIHRoZSBDU1Mg Y29udmVudGlvbiBmb3IgI1JHQiBjb2xvcnMgKGJ1ZyMzNjMwNCkuCgoqIHNyYy94dGVybS5jICh4 X3BhcnNlX2NvbG9yKTogQ2hhbmdlIGludGVycHJldGF0aW9uIG9mICNSR0IgY29sb3IKdHJpcGxl dHMgdG8gbWF0Y2ggQ1NTIHJhdGhlciB0aGFuIFggY29udmVudGlvbnMuCgoqIGxpc3AvdGVybS90 dHktY29sb3JzLmVsICh0dHktY29sb3Itc3RhbmRhcmQtdmFsdWVzKTogQ2hhbmdlCmludGVycHJl dGF0aW9uIG9mICNSR0IgY29sb3IgdHJpcGxldHMgdG8gbWF0Y2ggQ1NTIHJhdGhlciB0aGFuIFgK Y29udmVudGlvbnMuICBBbGxvdyB1cHBlci1jYXNlIGRpZ2l0cy4gIEZpeCByZ2I6Ui9HL0IKaW50 ZXJwcmV0YXRpb24uCgoqIGRvYy9lbWFjcy9kaXNwbGF5LnRleGkgKENvbG9ycyk6IFNwZWNpZnkg dGhlIGNvbnZlbnRpb24gdXNlZCBmb3IKIiNSR0IiIGNvbG9yIHRyaXBsZXRzLgotLS0KIGRvYy9l bWFjcy9kaXNwbGF5LnRleGkgIHwgMTggKysrKysrKystLS0tLQogbGlzcC90ZXJtL3R0eS1jb2xv cnMuZWwgfCA2MCArKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLQogc3Jj L3h0ZXJtLmMgICAgICAgICAgICAgfCAzMiArKysrKysrKysrKysrKysrKysrKy0tCiAzIGZpbGVz IGNoYW5nZWQsIDczIGluc2VydGlvbnMoKyksIDM3IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBh L2RvYy9lbWFjcy9kaXNwbGF5LnRleGkgYi9kb2MvZW1hY3MvZGlzcGxheS50ZXhpCmluZGV4IGY5 MmY3NTI5ZWEuLjczNWY5NmZkYTQgMTAwNjQ0Ci0tLSBhL2RvYy9lbWFjcy9kaXNwbGF5LnRleGkK KysrIGIvZG9jL2VtYWNzL2Rpc3BsYXkudGV4aQpAQCAtNTU2LDE0ICs1NTYsMTQgQEAgRmFjZXMK IAogQG5vZGUgQ29sb3JzCiBAc2VjdGlvbiBDb2xvcnMgZm9yIEZhY2VzCi1AY2luZGV4IGNvbG9y IG5hbWUKLUBjaW5kZXggUkdCIHRyaXBsZXQKIAogICBGYWNlcyBjYW4gaGF2ZSB2YXJpb3VzIGZv cmVncm91bmQgYW5kIGJhY2tncm91bmQgY29sb3JzLiAgV2hlbiB5b3UKIHNwZWNpZnkgYSBjb2xv ciBmb3IgYSBmYWNlLS0tZm9yIGluc3RhbmNlLCB3aGVuIGN1c3RvbWl6aW5nIHRoZSBmYWNlCiAo QHB4cmVme0ZhY2UgQ3VzdG9taXphdGlvbn0pLS0teW91IGNhbiB1c2UgZWl0aGVyIGEgQGRmbntj b2xvciBuYW1lfQogb3IgYW4gQGRmbntSR0IgdHJpcGxldH0uCiAKK0BzdWJzZWN0aW9uIENvbG9y IE5hbWVzCitAY2luZGV4IGNvbG9yIG5hbWUKIEBmaW5kZXggbGlzdC1jb2xvcnMtZGlzcGxheQog QHZpbmRleCBsaXN0LWNvbG9ycy1zb3J0CiAgIEEgY29sb3IgbmFtZSBpcyBhIHByZS1kZWZpbmVk IG5hbWUsIHN1Y2ggYXMgQHNhbXB7ZGFyayBvcmFuZ2V9IG9yCkBAIC01NzgsMTIgKzU3OCwxNiBA QCBDb2xvcnMKIHRleHQgdGVybWluYWxzOyBpZiBhIGZhY2UgaXMgZ2l2ZW4gYSBjb2xvciBzcGVj aWZpZWQgYnkgYW4gWDExIGNvbG9yCiBuYW1lLCBpdCBpcyBkaXNwbGF5ZWQgdXNpbmcgdGhlIGNs b3Nlc3QtbWF0Y2hpbmcgdGVybWluYWwgY29sb3IuCiAKK0BzdWJzZWN0aW9uIFJHQiBUcmlwbGV0 cworQGNpbmRleCBSR0IgdHJpcGxldAogICBBbiBSR0IgdHJpcGxldCBpcyBhIHN0cmluZyBvZiB0 aGUgZm9ybSBAc2FtcHsjUlJHR0JCfS4gIEVhY2ggb2YgdGhlCi1SLCBHLCBhbmQgQiBjb21wb25l bnRzIGlzIGEgaGV4YWRlY2ltYWwgbnVtYmVyIHNwZWNpZnlpbmcgdGhlCi1jb21wb25lbnQncyBy ZWxhdGl2ZSBpbnRlbnNpdHksIG9uZSB0byBmb3VyIGRpZ2l0cyBsb25nICh1c3VhbGx5IHR3bwot ZGlnaXRzIGFyZSB1c2VkKS4gIFRoZSBjb21wb25lbnRzIG11c3QgaGF2ZSB0aGUgc2FtZSBudW1i ZXIgb2YgZGlnaXRzLgotRm9yIGhleGFkZWNpbWFsIHZhbHVlcyBBIHRvIEYsIGVpdGhlciB1cHBl ciBvciBsb3dlciBjYXNlIGFyZQotYWNjZXB0YWJsZS4KK3ByaW1hcnkgY29sb3IgY29tcG9uZW50 cyBpcyByZXByZXNlbnRlZCBieSBhIGhleGFkZWNpbWFsIG51bWJlcgorYmV0d2VlbiBAc2FtcHsw MH0gKGludGVuc2l0eSAwKSBhbmQgQHNhbXB7RkZ9ICh0aGUgbWF4aW11bSBpbnRlbnNpdHkpLgor SXQgaXMgYWxzbyBwb3NzaWJsZSB0byB1c2Ugb25lLCB0aHJlZSwgb3IgZm91ciBoZXggZGlnaXRz IGZvciBlYWNoCitjb21wb25lbnQsIHNvIEBzYW1we3JlZH0gY2FuIGJlIHJlcHJlc2VudGVkIGFz IEBzYW1weyNGMDB9LAorQHNhbXB7I2ZmZjAwMDAwMH0sIG9yIEBzYW1weyNmZmZmMDAwMDAwMDB9 LiAgVGhlIGNvbXBvbmVudHMgbXVzdCBoYXZlCit0aGUgc2FtZSBudW1iZXIgb2YgZGlnaXRzLiAg Rm9yIGhleGFkZWNpbWFsIHZhbHVlcyBBIHRvIEYsIGVpdGhlcgordXBwZXIgb3IgbG93ZXIgY2Fz ZSBhcmUgYWNjZXB0YWJsZS4KIAogICBUaGUgQGtiZHtNLXggbGlzdC1jb2xvcnMtZGlzcGxheX0g Y29tbWFuZCBhbHNvIHNob3dzIHRoZSBlcXVpdmFsZW50CiBSR0IgdHJpcGxldCBmb3IgZWFjaCBu YW1lZCBjb2xvci4gIEZvciBpbnN0YW5jZSwgQHNhbXB7bWVkaXVtIHNlYQpkaWZmIC0tZ2l0IGEv bGlzcC90ZXJtL3R0eS1jb2xvcnMuZWwgYi9saXNwL3Rlcm0vdHR5LWNvbG9ycy5lbAppbmRleCAz MDc1ODZmMjIxLi5kYjk1MGQ0ZWI0IDEwMDY0NAotLS0gYS9saXNwL3Rlcm0vdHR5LWNvbG9ycy5l bAorKysgYi9saXNwL3Rlcm0vdHR5LWNvbG9ycy5lbApAQCAtOTE5LDQwICs5MTksNDQgQEAgdHR5 LWNvbG9yLXN0YW5kYXJkLXZhbHVlcwogVGhlIHJlc3VsdCBpcyBhIGxpc3Qgb2YgaW50ZWdlciBS R0IgdmFsdWVzLS0oUkVEIEdSRUVOIEJMVUUpLgogVGhlc2UgdmFsdWVzIHJhbmdlIGZyb20gMCB0 byA2NTUzNTsgd2hpdGUgaXMgKDY1NTM1IDY1NTM1IDY1NTM1KS4KIAotVGhlIHJldHVybmVkIHZh bHVlIHJlZmxlY3RzIHRoZSBzdGFuZGFyZCBYIGRlZmluaXRpb24gb2YgQ09MT1IsCi1yZWdhcmRs ZXNzIG9mIHdoZXRoZXIgdGhlIHRlcm1pbmFsIGNhbiBkaXNwbGF5IGl0LCBzbyB0aGUgcmV0dXJu IHZhbHVlCi1zaG91bGQgYmUgdGhlIHNhbWUgcmVnYXJkbGVzcyBvZiB3aGF0IGRpc3BsYXkgaXMg YmVpbmcgdXNlZC4iCitUaGUgcmV0dXJuZWQgdmFsdWUgcmVmbGVjdHMgdGhlIHN0YW5kYXJkIEVt YWNzIGRlZmluaXRpb24gb2YKK0NPTE9SIChzZWUgYENvbG9ycyBmb3IgRmFjZXMnIGluIHRoZSBF bWFjcyBtYW51YWwpLCByZWdhcmRsZXNzIG9mCit3aGV0aGVyIHRoZSB0ZXJtaW5hbCBjYW4gZGlz cGxheSBpdCwgc28gdGhlIHJldHVybiB2YWx1ZSBzaG91bGQKK2JlIHRoZSBzYW1lIHJlZ2FyZGxl c3Mgb2Ygd2hhdCBkaXNwbGF5IGlzIGJlaW5nIHVzZWQuIgogICAobGV0ICgobGVuIChsZW5ndGgg Y29sb3IpKSkKLSAgICAoY29uZCAoKGFuZCAoPj0gbGVuIDQpIDs7IFgtc3R5bGUgIiNYWFlZWloi IGNvbG9yIHNwZWMKKyAgICAoY29uZCAoKGFuZCAoPj0gbGVuIDQpIDs7ICIjWFhZWVpaIiBjb2xv ciBzcGVjCiAJCShlcSAoYXJlZiBjb2xvciAwKSA/IykKIAkJKG1lbWJlciAoYXJlZiBjb2xvciAx KQogCQkJJyg/MCA/MSA/MiA/MyA/NCA/NSA/NiA/NyA/OCA/OQotCQkJICAgICA/YSA/YiA/YyA/ ZCA/ZSA/ZikpKQotCSAgIDs7IFRyYW5zbGF0ZSB0aGUgc3RyaW5nICIjWFhZWVpaIiBpbnRvIGEg bGlzdAotCSAgIDs7IG9mIG51bWJlcnMgKFhYIFlZIFpaKS4gIElmIHRoZSBwcmltYXJ5IGNvbG9y cwotCSAgIDs7IGFyZSBzcGVjaWZpZWQgd2l0aCBsZXNzIHRoYW4gNCBoZXggZGlnaXRzLAotCSAg IDs7IHRoZSB1c2VkIGRpZ2l0cyByZXByZXNlbnQgdGhlIG1vc3Qgc2lnbmlmaWNhbnQKLQkgICA7 OyBiaXRzIG9mIHRoZSB2YWx1ZSAoZS5nLiAjWFlaID0gI1gwMDBZMDAwWjAwMCkuCisJCQkgICAg ID9hID9iID9jID9kID9lID9mCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgID9BID9CID9D ID9EID9FID9GKSkpCisJICAgOzsgVHJhbnNsYXRlIHRoZSBzdHJpbmcgIiNYWFlZWloiIGludG8g YSBsaXN0IG9mIG51bWJlcnMKKwkgICA7OyAoWFggWVkgWlopLCBzY2FsaW5nIGVhY2ggdG8gdGhl IHswLi42NTUzNX0gcmFuZ2UuICBUaGlzCisJICAgOzsgZm9sbG93cyB0aGUgQ1NTIGNvbG9yIGNv bnZlbnRpb24sIHdoZXJlIGJvdGggIiNmZmYiIGFuZAorCSAgIDs7ICIjZmZmZmZmIiByZXByZXNl bnQgdGhlIHNhbWUgY29sb3IsIHdoaXRlLgogCSAgIChsZXQqICgobmRpZyAoLyAoLSBsZW4gMSkg MykpCisJCSAgKG1heHZhbCAoMS0gKGFzaCAxICgqIDQgbmRpZykpKSkKIAkJICAoaTEgMSkKIAkJ ICAoaTIgKCsgaTEgbmRpZykpCiAJCSAgKGkzICgrIGkyIG5kaWcpKSkKIAkgICAgIChsaXN0Ci0J ICAgICAgKGFzaAotCSAgICAgICAoc3RyaW5nLXRvLW51bWJlciAoc3Vic3RyaW5nIGNvbG9yIGkx IGkyKSAxNikKLQkgICAgICAgKCogNCAoLSA0IG5kaWcpKSkKLQkgICAgICAoYXNoCi0JICAgICAg IChzdHJpbmctdG8tbnVtYmVyIChzdWJzdHJpbmcgY29sb3IgaTIgaTMpIDE2KQotCSAgICAgICAo KiA0ICgtIDQgbmRpZykpKQotCSAgICAgIChhc2gKLQkgICAgICAgKHN0cmluZy10by1udW1iZXIg KHN1YnN0cmluZyBjb2xvciBpMykgMTYpCi0JICAgICAgICgqIDQgKC0gNCBuZGlnKSkpKSkpCi0J ICAoKGFuZCAoPj0gbGVuIDkpIDs7IFgtc3R5bGUgUkdCOnh4L3l5L3p6IGNvbG9yIHNwZWMKKwkg ICAgICAoLyAoKiAoc3RyaW5nLXRvLW51bWJlcgorCQkgICAgIChzdWJzdHJpbmcgY29sb3IgaTEg aTIpIDE2KQorCQkgICAgNjU1MzUpCisJCSBtYXh2YWwpCisJICAgICAgKC8gKCogKHN0cmluZy10 by1udW1iZXIKKwkJICAgICAoc3Vic3RyaW5nIGNvbG9yIGkyIGkzKSAxNikKKwkJICAgIDY1NTM1 KQorCQkgbWF4dmFsKQorCSAgICAgICgvICgqIChzdHJpbmctdG8tbnVtYmVyCisJCSAgICAgKHN1 YnN0cmluZyBjb2xvciBpMykgMTYpCisJCSAgICA2NTUzNSkKKwkJIG1heHZhbCkpKSkKKwkgICgo YW5kICg+PSBsZW4gOSkgOzsgWC1zdHlsZSByZ2I6eHgveXkvenogY29sb3Igc3BlYwogCQkoc3Ry aW5nPSAoc3Vic3RyaW5nIGNvbG9yIDAgNCkgInJnYjoiKSkKLQkgICA7OyBUcmFuc2xhdGUgdGhl IHN0cmluZyAiUkdCOlhYL1lZL1paIiBpbnRvIGEgbGlzdAotCSAgIDs7IG9mIG51bWJlcnMgKFhY IFlZIFpaKS4gIElmIGZld2VyIHRoYW4gNCBoZXgKLQkgICA7OyBkaWdpdHMgYXJlIHVzZWQsIHRo ZXkgcmVwcmVzZW50IHRoZSBmcmFjdGlvbgotCSAgIDs7IG9mIHRoZSBtYXhpbXVtIHZhbHVlIChS R0I6WC9ZL1ogPSAjWFhYWFlZWVlaWlpaKS4KKwkgICA7OyBUcmFuc2xhdGUgdGhlIHN0cmluZyAi cmdiOlhYL1lZL1paIiBpbnRvIGEgbGlzdCBvZgorCSAgIDs7IG51bWJlcnMgKFhYIFlZIFpaKSwg c2NhbGluZyBlYWNoIHRvIHRoZSB7MC4uNjU1MzV9CisJICAgOzsgcmFuZ2UuICAicmdiOkYvRi9G IiBpcyB3aGl0ZS4KIAkgICAobGV0KiAoKG5kaWcgKC8gKC0gbGVuIDMpIDMpKQogCQkgIChtYXh2 YWwgKDEtIChhc2ggMSAoKiA0ICgtIG5kaWcgMSkpKSkpCiAJCSAgKGkxIDQpCkBAIC05NjEsMTUg Kzk2NSwxNSBAQCB0dHktY29sb3Itc3RhbmRhcmQtdmFsdWVzCiAJICAgICAobGlzdAogCSAgICAg ICgvICgqIChzdHJpbmctdG8tbnVtYmVyCiAJCSAgICAgKHN1YnN0cmluZyBjb2xvciBpMSAoLSBp MiAxKSkgMTYpCi0JCSAgICAyNTUpCisJCSAgICA2NTUzNSkKIAkJIG1heHZhbCkKIAkgICAgICAo LyAoKiAoc3RyaW5nLXRvLW51bWJlcgogCQkgICAgIChzdWJzdHJpbmcgY29sb3IgaTIgKC0gaTMg MSkpIDE2KQotCQkgICAgMjU1KQorCQkgICAgNjU1MzUpCiAJCSBtYXh2YWwpCiAJICAgICAgKC8g KCogKHN0cmluZy10by1udW1iZXIKIAkJICAgICAoc3Vic3RyaW5nIGNvbG9yIGkzKSAxNikKLQkJ ICAgIDI1NSkKKwkJICAgIDY1NTM1KQogCQkgbWF4dmFsKSkpKQogCSAgKHQKIAkgICAoY2RyIChh c3NvYyBjb2xvciBjb2xvci1uYW1lLXJnYi1hbGlzdCkpKSkpKQpAQCAtOTc4LDcgKzk4Miw3IEBA IHR0eS1jb2xvci10cmFuc2xhdGUKICAgIkdpdmVuIGEgY29sb3IgQ09MT1IsIHJldHVybiB0aGUg aW5kZXggb2YgdGhlIGNvcnJlc3BvbmRpbmcgVFRZIGNvbG9yLgogCiBDT0xPUiBtdXN0IGJlIGEg c3RyaW5nIHRoYXQgaXMgZWl0aGVyIHRoZSBjb2xvcidzIG5hbWUsIG9yIGl0cyBYLXN0eWxlCi1z cGVjaWZpY2F0aW9uIGxpa2UgXCIjUlJHR0JCXCIgb3IgXCJSR0I6cnIvZ2cvYmJcIiwgd2hlcmUg ZWFjaCBwcmltYXJ5Lgorc3BlY2lmaWNhdGlvbiBsaWtlIFwiI1JSR0dCQlwiIG9yIFwicmdiOlJS L0dHL0JCXCIsIHdoZXJlIGVhY2ggcHJpbWFyeS4KIGNvbG9yIGNhbiBiZSBnaXZlbiB3aXRoIDEg dG8gNCBoZXggZGlnaXRzLgogCiBJZiBDT0xPUiBpcyBhIGNvbG9yIG5hbWUgdGhhdCBpcyBmb3Vu ZCBhbW9uZyBzdXBwb3J0ZWQgY29sb3JzIGluCmRpZmYgLS1naXQgYS9zcmMveHRlcm0uYyBiL3Ny Yy94dGVybS5jCmluZGV4IDM4YmMxN2RlOTcuLjE3MWM3YWYwZTYgMTAwNjQ0Ci0tLSBhL3NyYy94 dGVybS5jCisrKyBiL3NyYy94dGVybS5jCkBAIC0yMzgxLDYgKzIzODEsOCBAQCB4X3F1ZXJ5X2Zy YW1lX2JhY2tncm91bmRfY29sb3IgKHN0cnVjdCBmcmFtZSAqZiwgWENvbG9yICpiZ2NvbG9yKQog ICB4X3F1ZXJ5X2NvbG9ycyAoZiwgYmdjb2xvciwgMSk7CiB9CiAKKyNkZWZpbmUgSEVYX0NPTE9S X05BTUVfTEVOR1RIIDMyCisKIC8qIE9uIGZyYW1lIEYsIHRyYW5zbGF0ZSB0aGUgY29sb3IgbmFt ZSB0byBSR0IgdmFsdWVzLiAgVXNlIGNhY2hlZAogICAgaW5mb3JtYXRpb24sIGlmIHBvc3NpYmxl LgogCkBAIC0yMzk4LDkgKzI0MDAsMzUgQEAgeF9xdWVyeV9mcmFtZV9iYWNrZ3JvdW5kX2NvbG9y IChzdHJ1Y3QgZnJhbWUgKmYsIFhDb2xvciAqYmdjb2xvcikKIAogICBpZiAoY29sb3JfbmFtZVsw XSA9PSAnIycpCiAgICAgewotICAgICAgLyogVGhlIGhleCBmb3JtIGlzIHBhcnNlZCBkaXJlY3Rs eSBieSBYUGFyc2VDb2xvciB3aXRob3V0CisgICAgICAvKiBEb24ndCBwYXNzICNSR0Igc3RyaW5n cyBkaXJlY3RseSB0byBYUGFyc2VDb2xvciwgYmVjYXVzZSB0aGF0CisJIGZvbGxvd3MgdGhlIG9s ZCBjb252ZW50aW9uIG9mIHplcm8tZXh0ZW5kaW5nIGVhY2ggY2hhbm5lbAorCSB2YWx1ZTogI2Yw MCBtZWFucyAjZjAwMDAwLiAgV2Ugd2FudCB0aGUgbmV3IGNvbnZlbnRpb24gb2YKKwkgc2NhbGlu ZyBjaGFubmVsIHZhbHVlcywgc28gI2YwMCBtZWFucyAjZmYwMDAwLgorCisJIFNvIHdlIHRyYW5z bGF0ZSAjZjAwIHRvIHJnYjpmLzAvMCwgd2hpY2ggWCBoYW5kbGVzCisJIGRpZmZlcmVudGx5LiAq LworICAgICAgY2hhciByZ2JfY29sb3JfbmFtZVtIRVhfQ09MT1JfTkFNRV9MRU5HVEhdOworICAg ICAgaW50IGxlbiA9IHN0cmxlbiAoY29sb3JfbmFtZSk7CisgICAgICBpbnQgZGlnaXRzX3Blcl9j aGFubmVsOworICAgICAgaWYgKGxlbiA9PSA0KQorCWRpZ2l0c19wZXJfY2hhbm5lbCA9IDE7Cisg ICAgICBlbHNlIGlmIChsZW4gPT0gNykKKwlkaWdpdHNfcGVyX2NoYW5uZWwgPSAyOworICAgICAg ZWxzZSBpZiAobGVuID09IDEwKQorCWRpZ2l0c19wZXJfY2hhbm5lbCA9IDM7CisgICAgICBlbHNl IGlmIChsZW4gPT0gMTMpCisJZGlnaXRzX3Blcl9jaGFubmVsID0gNDsKKyAgICAgIGVsc2UKKwly ZXR1cm4gMDsKKworICAgICAgc25wcmludGYgKHJnYl9jb2xvcl9uYW1lLCBzaXplb2YgcmdiX2Nv bG9yX25hbWUsICJyZ2I6JS4qcy8lLipzLyUuKnMiLAorCQlkaWdpdHNfcGVyX2NoYW5uZWwsIGNv bG9yX25hbWUgKyAxLAorCQlkaWdpdHNfcGVyX2NoYW5uZWwsIGNvbG9yX25hbWUgKyBkaWdpdHNf cGVyX2NoYW5uZWwgKyAxLAorCQlkaWdpdHNfcGVyX2NoYW5uZWwsIGNvbG9yX25hbWUgKyAyICog ZGlnaXRzX3Blcl9jaGFubmVsICsgMSk7CisKKyAgICAgIC8qIFRoZSByZ2IgZm9ybSBpcyBwYXJz ZWQgZGlyZWN0bHkgYnkgWFBhcnNlQ29sb3Igd2l0aG91dAogCSB0YWxraW5nIHRvIHRoZSBYIHNl cnZlci4gIE5vIG5lZWQgZm9yIGNhY2hpbmcuICAqLwotICAgICAgcmV0dXJuIFhQYXJzZUNvbG9y IChkcHksIGNtYXAsIGNvbG9yX25hbWUsIGNvbG9yKTsKKyAgICAgIHJldHVybiBYUGFyc2VDb2xv ciAoZHB5LCBjbWFwLCByZ2JfY29sb3JfbmFtZSwgY29sb3IpOwogICAgIH0KIAogICBmb3IgKGNh Y2hlX2VudHJ5ID0gRlJBTUVfRElTUExBWV9JTkZPIChmKS0+Y29sb3JfbmFtZXM7IGNhY2hlX2Vu dHJ5OwotLSAKMi4yMC4xCgo= --0000000000005d8636058c5eea9e--