From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: =?UTF-8?Q?=E0=A4=B8=E0=A4=AE=E0=A5=80=E0=A4=B0_?= =?UTF-8?Q?=E0=A4=B8=E0=A4=BF=E0=A4=82=E0=A4=B9?= Sameer Singh Newsgroups: gmane.emacs.bugs Subject: bug#55782: [PATCH] Add support for the Grantha script Date: Fri, 3 Jun 2022 19:40:30 +0530 Message-ID: References: <83czfpdgbm.fsf@gnu.org> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="00000000000007f8b705e08bb05b" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="4253"; mail-complaints-to="usenet@ciao.gmane.io" Cc: 55782@debbugs.gnu.org To: Eli Zaretskii Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Fri Jun 03 16:11:10 2022 Return-path: Envelope-to: geb-bug-gnu-emacs@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 1nx817-000104-D8 for geb-bug-gnu-emacs@m.gmane-mx.org; Fri, 03 Jun 2022 16:11:09 +0200 Original-Received: from localhost ([::1]:58460 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nx816-0000vr-Cg for geb-bug-gnu-emacs@m.gmane-mx.org; Fri, 03 Jun 2022 10:11:08 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:52136) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nx810-0000vj-Op for bug-gnu-emacs@gnu.org; Fri, 03 Jun 2022 10:11:02 -0400 Original-Received: from debbugs.gnu.org ([209.51.188.43]:34706) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nx810-0000UQ-G7 for bug-gnu-emacs@gnu.org; Fri, 03 Jun 2022 10:11:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1nx810-0006Sd-AD for bug-gnu-emacs@gnu.org; Fri, 03 Jun 2022 10:11:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: =?UTF-8?Q?=E0=A4=B8=E0=A4=AE=E0=A5=80=E0=A4=B0_?= =?UTF-8?Q?=E0=A4=B8=E0=A4=BF=E0=A4=82=E0=A4=B9?= Sameer Singh Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Fri, 03 Jun 2022 14:11:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 55782 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch Original-Received: via spool by 55782-submit@debbugs.gnu.org id=B55782.165426545124811 (code B ref 55782); Fri, 03 Jun 2022 14:11:02 +0000 Original-Received: (at 55782) by debbugs.gnu.org; 3 Jun 2022 14:10:51 +0000 Original-Received: from localhost ([127.0.0.1]:56836 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nx80o-0006S6-5T for submit@debbugs.gnu.org; Fri, 03 Jun 2022 10:10:51 -0400 Original-Received: from mail-qk1-f178.google.com ([209.85.222.178]:42823) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nx80l-0006Rq-Ms for 55782@debbugs.gnu.org; Fri, 03 Jun 2022 10:10:48 -0400 Original-Received: by mail-qk1-f178.google.com with SMTP id m68so5951373qkb.9 for <55782@debbugs.gnu.org>; Fri, 03 Jun 2022 07:10:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=jyAMVc8p3yj/ul2O/tnKLG3y0sDl3BuuAlTEGO1+pKY=; b=e6e9LQ4ORBtZHNR32mTOyU+hAFIZIU2M+kcb20OMROtSdLqRaCDWYs98nFZiltA+HB YLTEmYSXMhxfByFrMIbGqJjHOIx+Cc4tzNpVi8KkhX8uZ5NUmkTsk+OVYEP6CQo6AmYb aHNAcDVS7qL1CUcjkamw6PhIonxpfhVuqdqtDAzkZuosfXCdlLq+bTFLtIx8ykY49UXe dUs9V+YXzPY1u7+dYSRM4rm8Oc/KDn6G1Spjqj5hjIXx/5d4xiLJ4W9y8isnc2SFUtmC zDqazQZihpRUdJe+E/2XUh86aV9xzaHDZCrgDIYaadltC/e1PFuiQsv85q6hSksDT98q Thyg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=jyAMVc8p3yj/ul2O/tnKLG3y0sDl3BuuAlTEGO1+pKY=; b=p/qM4GpocCQ1eO8hbG9J6hfSntTh6bjUVwku2CX9UC+FqfFWzeTNrcJAJFwots2JDB 8UafrJK+cuzOGn8WZm7LJJqW/yvBhQ1QPT+AX1cq1PefX65Y548FjP3GFpHdlvO7jmUK gHy8aUjaUiBxiMdmU+Sls0s7u0vOtYMCc6I6uoqHM7nBnfh7YJMrBhRcd8h/LnQIz7BC xNxNAG6Np5WwBBH8twgKYHVwSrjS7cBXpjtPPVbQeanBDqYHJfalHJC39x19vu0qZV/r Y4lArDO8VM2C8aXGV0pFEDQwiECFx/xJ49z/PBiNiQkoYc6boNzyQGTZbk2TxoYLNctP UHrA== X-Gm-Message-State: AOAM530CV8Q6fp6DVeyIT6qh3sFGHhrl1G2WiXjzkzONNzicz5ISMKf+ 3c4bCGzzibelUAh1lGu/haTeQhhbH5IsrC2yR3s= X-Google-Smtp-Source: ABdhPJysen3FTn7+eKB75NYcTUtzqWPAm4BMtUgT0P6tgySQTKV6ezGHeTRCzB18MdvuWFrtOfiDa2RKwYoR7H2BFZk= X-Received: by 2002:a05:620a:470a:b0:6a6:3c96:6689 with SMTP id bs10-20020a05620a470a00b006a63c966689mr6447714qkb.469.1654265441915; Fri, 03 Jun 2022 07:10:41 -0700 (PDT) In-Reply-To: <83czfpdgbm.fsf@gnu.org> X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list 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-mx.org@gnu.org Original-Sender: "bug-gnu-emacs" Xref: news.gmane.io gmane.emacs.bugs:233613 Archived-At: --00000000000007f8b705e08bb05b Content-Type: multipart/alternative; boundary="00000000000007f8b505e08bb059" --00000000000007f8b505e08bb059 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable > > This part is IMO a mistake: since there are no known fonts that > support both the Tamil block and the Tamil Supplement block, adding > the characters from the Supplement block to > script-representative-chars might cause Emacs to reject a good Tamil > font because it doesn't support the character from the Supplement > block. We could use a vector instead of a list, but even that could > cause undesired consequences, whereby Emacs selects a font for Tamil > characters when it only supports Tamil Supplement, or vice versa. > > I think adding Noto Sans Tamil Supplement to the default fontset is > for now the most we can do about the Tamil Supplement block. Also, "which use" is slightly misleading, I think: at least Sanskrit > also uses other scripts, doesn't it? If so, I'd suggest saying "when > they use the Grantha script" instead. > Corrected Some sequences that match the regexp will not be composed, according > to this rule. For example, the sequence > > consonant vowel > > won't be composed, because its second character is not in the range > '(#x1133B . #x1134D). Is that okay? Or are you relying on the > default composition of combining characters? > Yes, three vowel signs are not in the range, because they compose correctly by default. I have attached the new patch, please review this Thank you On Fri, Jun 3, 2022 at 7:00 PM Eli Zaretskii wrote: > > From: =E0=A4=B8=E0=A4=AE=E0=A5=80=E0=A4=B0 =E0=A4=B8=E0=A4=BF=E0=A4=82= =E0=A4=B9 Sameer Singh > > > > Date: Fri, 3 Jun 2022 18:21:08 +0530 > > > > Add tamil supplement codepoints to (tamil). > [...] > > - (tamil #xB95) > > + (tamil #xB95 #x11FC0 #x11FC6) > > This part is IMO a mistake: since there are no known fonts that > support both the Tamil block and the Tamil Supplement block, adding > the characters from the Supplement block to > script-representative-chars might cause Emacs to reject a good Tamil > font because it doesn't support the character from the Supplement > block. We could use a vector instead of a list, but even that could > cause undesired consequences, whereby Emacs selects a font for Tamil > characters when it only supports Tamil Supplement, or vice versa. > > I think adding Noto Sans Tamil Supplement to the default fontset is > for now the most we can do about the Tamil Supplement block. > > > +(set-language-info-alist > > + "Grantha" '((charset unicode) > > + (coding-system utf-8) > > + (coding-priority utf-8) > > + (input-method . "grantha") > > + (sample-text . "Grantha (=F0=91=8C=97=F0=91=8D=8D=F0=91= =8C=B0=F0=91=8C=A8=F0=91=8D=8D=F0=91=8C=A5) =F0=91=8C=A8=F0=91=8C=AE=F0=91= =8C=B8=F0=91=8D=8D=F0=91=8C=A4=F0=91=8D=87") > > + (documentation . "\ > > +Languages such as Sanskrit and Manipravalam which uses the > ^^^^ > "use", in plural. > > Also, "which use" is slightly misleading, I think: at least Sanskrit > also uses other scripts, doesn't it? If so, I'd suggest saying "when > they use the Grantha script" instead. > > > +;; Grantha composition rules > > +(let ((consonant "[\x11315-\x11339]") > > + (nukta "\x1133C") > > + (independent-vowel "[\x11305-\x11314\x11360\x11361]") > > + (vowel "[\x1133E-\x1134C\x11357\x11362\x11363]") > > + (nasal "[\x11300-\x11302]") > > + (bindu "\x1133B") > > + (visarga "\x11303") > > + (virama "\x1134D") > > + (avagraha "\x1133D") > > + (modifier-above "[\x11366-\x11374]")) > > + (set-char-table-range composition-function-table > > + '(#x1133B . #x1134D) > > + (list (vector > > + ;; Consonant based syllables > > + (concat consonant nukta "?" "\\(?:" > virama consonant nukta > > + "?\\)*\\(?:" virama "\\|" vowel > "*" nukta "?" nasal > > + "?" bindu "?" visarga "?" > modifier-above "?" > > + avagraha "?\\)") > > + 1 'font-shape-gstring) > > Some sequences that match the regexp will not be composed, according > to this rule. For example, the sequence > > consonant vowel > > won't be composed, because its second character is not in the range > '(#x1133B . #x1134D). Is that okay? Or are you relying on the > default composition of combining characters? > > Thanks. > --00000000000007f8b505e08bb059 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
This par= t is IMO a mistake: since there are no known fonts that
support both the Tamil block and the Tamil Supplement block, adding
the characters from the Supplement block to
script-representative-chars might cause Emacs to reject a good Tamil
font because it doesn't support the character from the Supplement
block.=C2=A0 We could use a vector instead of a list, but even that could cause undesired consequences, whereby Emacs selects a font for Tamil
characters when it only supports Tamil Supplement, or vice versa.

I think adding Noto Sans Tamil Supplement to the default fontset is
for now the most we can do about the Tamil Supplement block.

Also, &= quot;which use" is slightly misleading, I think: at least Sanskrit
also uses other scripts, doesn't it?=C2=A0 If so, I'd suggest sayin= g "when
they use the Grantha script" instead.

=
Corrected

Some sequences that match the regexp will not be compo= sed, according
to this rule.=C2=A0 For example, the sequence

=C2=A0 =C2=A0consonant vowel

won't be composed, because its second character is not in the range
'(#x1133B . #x1134D).=C2=A0 Is that okay?=C2=A0 Or are you relying on t= he
default composition of combining characters?
Yes, three vowel signs are not in the range, because they compo= se correctly by default.

I have attached the new p= atch, please review this
Thank you

= On Fri, Jun 3, 2022 at 7:00 PM Eli Zaretskii <eliz@gnu.org> wrote:
> From: =E0=A4=B8=E0=A4=AE=E0=A5=80=E0=A4=B0 =E0=A4=B8= =E0=A4=BF=E0=A4=82=E0=A4=B9 Sameer Singh
>=C2=A0 <l= umarzeli30@gmail.com>
> Date: Fri, 3 Jun 2022 18:21:08 +0530
>
> Add tamil supplement codepoints to (tamil).
[...]
> -=C2=A0 =C2=A0 =C2=A0(tamil #xB95)
> +=C2=A0 =C2=A0 =C2=A0(tamil #xB95 #x11FC0 #x11FC6)

This part is IMO a mistake: since there are no known fonts that
support both the Tamil block and the Tamil Supplement block, adding
the characters from the Supplement block to
script-representative-chars might cause Emacs to reject a good Tamil
font because it doesn't support the character from the Supplement
block.=C2=A0 We could use a vector instead of a list, but even that could cause undesired consequences, whereby Emacs selects a font for Tamil
characters when it only supports Tamil Supplement, or vice versa.

I think adding Noto Sans Tamil Supplement to the default fontset is
for now the most we can do about the Tamil Supplement block.

> +(set-language-info-alist
> + "Grantha" '((charset unicode)
> +=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0(coding-system utf-8)=
> +=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0(coding-priority utf-= 8)
> +=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0(input-method . "= ;grantha")
> +=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0(sample-text . "= Grantha (=F0=91=8C=97=F0=91=8D=8D=F0=91=8C=B0=F0=91=8C=A8=F0=91=8D=8D=F0=91= =8C=A5)=C2=A0 =F0=91=8C=A8=F0=91=8C=AE=F0=91=8C=B8=F0=91=8D=8D=F0=91=8C=A4= =F0=91=8D=87")
> +=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0(documentation . &quo= t;\
> +Languages such as Sanskrit and Manipravalam which uses the
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0^^^^
"use", in plural.

Also, "which use" is slightly misleading, I think: at least Sansk= rit
also uses other scripts, doesn't it?=C2=A0 If so, I'd suggest sayin= g "when
they use the Grantha script" instead.

> +;; Grantha composition rules
> +(let ((consonant=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 "[\x11= 315-\x11339]")
> +=C2=A0 =C2=A0 =C2=A0 (nukta=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 "\x1133C")
> +=C2=A0 =C2=A0 =C2=A0 (independent-vowel=C2=A0 =C2=A0 "[\x11305-\= x11314\x11360\x11361]")
> +=C2=A0 =C2=A0 =C2=A0 (vowel=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 "[\x1133E-\x1134C\x11357\x11362\x11363]")
> +=C2=A0 =C2=A0 =C2=A0 (nasal=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 "[\x11300-\x11302]")
> +=C2=A0 =C2=A0 =C2=A0 (bindu=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 "\x1133B")
> +=C2=A0 =C2=A0 =C2=A0 (visarga=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 "\x11303")
> +=C2=A0 =C2=A0 =C2=A0 (virama=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0= =C2=A0 =C2=A0"\x1134D")
> +=C2=A0 =C2=A0 =C2=A0 (avagraha=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0"\x1133D")
> +=C2=A0 =C2=A0 =C2=A0 (modifier-above=C2=A0 =C2=A0 =C2=A0 =C2=A0"= [\x11366-\x11374]"))
> +=C2=A0 (set-char-table-range composition-function-table
> +=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0= =C2=A0 =C2=A0 '(#x1133B . #x1134D)
> +=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0= =C2=A0 =C2=A0 (list (vector
> +=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0= =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0;; Consonant based syllables
> +=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0= =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0(concat consonant nukta "?&q= uot; "\\(?:" virama consonant nukta
> +=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0= =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0"= ;?\\)*\\(?:" virama "\\|" vowel "*" nukta "?&= quot; nasal
> +=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0= =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0"= ;?" bindu "?" visarga "?" modifier-above "?&q= uot;
> +=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0= =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0avagr= aha "?\\)")
> +=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0= =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A01 'font-shape-gstring)

Some sequences that match the regexp will not be composed, according
to this rule.=C2=A0 For example, the sequence

=C2=A0 =C2=A0consonant vowel

won't be composed, because its second character is not in the range
'(#x1133B . #x1134D).=C2=A0 Is that okay?=C2=A0 Or are you relying on t= he
default composition of combining characters?

Thanks.
--00000000000007f8b505e08bb059-- --00000000000007f8b705e08bb05b Content-Type: text/x-patch; charset="UTF-8"; name="0001-Add-support-for-the-Grantha-script.patch" Content-Disposition: attachment; filename="0001-Add-support-for-the-Grantha-script.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_l3yithlh0 RnJvbSA5YWY3YmVlY2FlYmY3YTdhMTgxN2MzN2Y3MjMzZjM2OGMyMGUzYmJjIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiA9P1VURi04P3E/PUUwPUE0PUI4PUUwPUE0PUFFPUUwPUE1PTgw PUUwPUE0PUIwPTIwPUUwPUE0PUI4PUUwPUE0PUJGPz0KID0/VVRGLTg/cT89RTA9QTQ9ODI9RTA9 QTQ9Qjk9MjBTYW1lZXI9MjBTaW5naD89IDxsdW1hcnplbGkzMEBnbWFpbC5jb20+CkRhdGU6IFdl ZCwgMSBKdW4gMjAyMiAyMjoyOToyNCArMDUzMApTdWJqZWN0OiBbUEFUQ0hdIEFkZCBzdXBwb3J0 IGZvciB0aGUgR3JhbnRoYSBzY3JpcHQKCiogbGlzcC9sYW5ndWFnZS9pbmRpYW4uZWwgKCJHcmFu dGhhIik6IE5ldyBsYW5ndWFnZSBlbnZpcm9ubWVudC4KQWRkIGNvbXBvc2l0aW9uIHJ1bGVzIGZv ciBHcmFudGhhLiBBZGQgc2FtcGxlIHRleHQgYW5kIGlucHV0IG1ldGhvZC4KKiBsaXNwL2ludGVy bmF0aW9uYWwvZm9udHNldC5lbCAoc2NyaXB0LXJlcHJlc2VudGF0aXZlLWNoYXJzKQooc2V0dXAt ZGVmYXVsdC1mb250c2V0KTogU3VwcG9ydCBHcmFudGhhLgoqIGxpc3AvbGVpbS9xdWFpbC9pbmRp YW4uZWwgKCJncmFudGhhIik6IE5ldyBpbnB1dCBtZXRob2QuCgoqIGV0Yy9IRUxMTzogQWRkIHR3 byBHcmFudGhhIGdyZWV0aW5ncy4KKiBldGMvTkVXUzogQW5ub3VuY2UgdGhlIG5ldyBsYW5ndWFn ZSBlbnZpcm9ubWVudC4KLS0tCiBldGMvSEVMTE8gICAgICAgICAgICAgICAgICAgICB8ICAgMSAr CiBldGMvTkVXUyAgICAgICAgICAgICAgICAgICAgICB8ICAgMSArCiBsaXNwL2ludGVybmF0aW9u YWwvZm9udHNldC5lbCB8ICAgMyArLQogbGlzcC9sYW5ndWFnZS9pbmRpYW4uZWwgICAgICAgfCAg MzggKysrKysrKysrKysKIGxpc3AvbGVpbS9xdWFpbC9pbmRpYW4uZWwgICAgIHwgMTE1ICsrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysKIDUgZmlsZXMgY2hhbmdlZCwgMTU3IGluc2Vy dGlvbnMoKyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS9ldGMvSEVMTE8gYi9ldGMvSEVM TE8KaW5kZXggNDE0ODE4Mzk0OS4uNjY5NDUwMWE3ZCAxMDA2NDQKLS0tIGEvZXRjL0hFTExPCisr KyBiL2V0Yy9IRUxMTwpAQCAtNTYsNiArNTYsNyBAQCBGaW5uaXNoIChzdW9taSkJSGVpIC8gSHl2 w6TDpCBww6RpdsOkw6QKIEZyZW5jaCAoZnJhbsOnYWlzKQlCb25qb3VyIC8gU2FsdXQKIEdlb3Jn aWFuICjhg6Xhg5Dhg6Dhg5fhg6Phg5rhg5gpCeGDkuGDkOGDm+GDkOGDoOGDr+GDneGDkeGDkAog R2VybWFuIChEZXV0c2NoKQlHdXRlbiBUYWcgLyBHcsO8w58gR290dAorR3JhbnRoYSAo8JGMl/CR jY3wkYyw8JGMqPCRjY3wkYylKQnwkYyo8JGMrvCRjLjwkY2N8JGMpPCRjYcgLyDwkYyo8JGMrvCR jLjwkY2N8JGMlfCRjL7wkYyw8JGMgwogR3JlZWsgKM61zrvOu863zr3Ouc66zqwpCc6TzrXOuc6s IM+DzrHPggogR3JlZWssIGFuY2llbnQgKOG8kc67zrvOt869zrnOus6uKQnOn+G9ls67zq0gz4TO tSDOus6x4b22IM68zq3Os86xIM+HzrHhv5bPgc61CiBHdWphcmF0aSAo4KqX4KuB4Kqc4Kqw4Kq+ 4Kqk4KuAKQngqqjgqq7gqrjgq43gqqTgq4cKZGlmZiAtLWdpdCBhL2V0Yy9ORVdTIGIvZXRjL05F V1MKaW5kZXggNTRiYzZkODBlMS4uY2MzNzhkOTI5YyAxMDA2NDQKLS0tIGEvZXRjL05FV1MKKysr IGIvZXRjL05FV1MKQEAgLTg1MCw2ICs4NTAsNyBAQCBjb3JyZXNwb25kaW5nIGxhbmd1YWdlIGVu dmlyb25tZW50cyBhcmU6CiAqKioqIE1ha2FzYXIgc2NyaXB0IGFuZCBsYW5ndWFnZSBlbnZpcm9u bWVudAogKioqKiBMb250YXJhIHNjcmlwdCBhbmQgbGFuZ3VhZ2UgZW52aXJvbm1lbnQKICoqKiog SGFuaWZpIFJvaGluZ3lhIHNjcmlwdCBhbmQgbGFuZ3VhZ2UgZW52aXJvbm1lbnQKKyoqKiogR3Jh bnRoYSBzY3JpcHQgYW5kIGxhbmd1YWdlIGVudmlyb25tZW50CiAKIC0tLQogKioqIFRoZSAiT3Jp eWEiIGxhbmd1YWdlIGVudmlyb25tZW50IHdhcyByZW5hbWVkIHRvICJPZGlhIi4KZGlmZiAtLWdp dCBhL2xpc3AvaW50ZXJuYXRpb25hbC9mb250c2V0LmVsIGIvbGlzcC9pbnRlcm5hdGlvbmFsL2Zv bnRzZXQuZWwKaW5kZXggMmM1NGM4NmFiNy4uNzRiZTdlZGM2NCAxMDA2NDQKLS0tIGEvbGlzcC9p bnRlcm5hdGlvbmFsL2ZvbnRzZXQuZWwKKysrIGIvbGlzcC9pbnRlcm5hdGlvbmFsL2ZvbnRzZXQu ZWwKQEAgLTI1MCw3ICsyNTAsNyBAQCBmb250LWVuY29kaW5nLWNoYXJzZXQtYWxpc3QKICAgICAg ICAgKHNoYXJhZGEgI3gxMTE5MSAjeDExMUIzICN4MTExQ0QpCiAJKGtob2praSAjeDExMjAwKQog CShraHVkYXdhZGkgI3gxMTJCMCkKLQkoZ3JhbnRoYSAjeDExMzA1KQorCShncmFudGhhICN4MTEz MTUgI3gxMTMzRSAjeDExMzc0KQogCShuZXdhICN4MTE0MDApCiAJKHRpcmh1dGEgI3gxMTQ4MSAj eDExNDhGICN4MTE0RDApCiAJKHNpZGRoYW0gI3gxMTU4RSAjeDExNUFGICN4MTE1RDQpCkBAIC04 MDEsNiArODAxLDcgQEAgc2V0dXAtZGVmYXVsdC1mb250c2V0CiAgICAgICAgICAgICAgICAgICAg IGJyYWhtaQogICAgICAgICAgICAgICAgICAgICBrYWl0aGkKICAgICAgICAgICAgICAgICAgICAg c2hhcmFkYQorICAgICAgICAgICAgICAgICAgICBncmFudGhhCiAgICAgICAgICAgICAgICAgICAg IHRpcmh1dGEKICAgICAgICAgICAgICAgICAgICAgc2lkZGhhbQogICAgICAgICAgICAgICAgICAg ICBtb2RpCmRpZmYgLS1naXQgYS9saXNwL2xhbmd1YWdlL2luZGlhbi5lbCBiL2xpc3AvbGFuZ3Vh Z2UvaW5kaWFuLmVsCmluZGV4IDRkZmFkNzUyNzUuLjkzMjliNDNmZWEgMTAwNjQ0Ci0tLSBhL2xp c3AvbGFuZ3VhZ2UvaW5kaWFuLmVsCisrKyBiL2xpc3AvbGFuZ3VhZ2UvaW5kaWFuLmVsCkBAIC0y MzMsNiArMjMzLDE3IEBAICdkZXZhbmFnYXJpCiBsYW5ndWFnZSBlbnZpcm9ubWVudC4iKSkKICAn KCJJbmRpYW4iKSkKIAorKHNldC1sYW5ndWFnZS1pbmZvLWFsaXN0CisgIkdyYW50aGEiICcoKGNo YXJzZXQgdW5pY29kZSkKKyAgICAgICAgICAgICAoY29kaW5nLXN5c3RlbSB1dGYtOCkKKyAgICAg ICAgICAgICAoY29kaW5nLXByaW9yaXR5IHV0Zi04KQorICAgICAgICAgICAgIChpbnB1dC1tZXRo b2QgLiAiZ3JhbnRoYSIpCisgICAgICAgICAgICAgKHNhbXBsZS10ZXh0IC4gIkdyYW50aGEgKPCR jJfwkY2N8JGMsPCRjKjwkY2N8JGMpSkJ8JGMqPCRjK7wkYy48JGNjfCRjKTwkY2HIC8g8JGMqPCR jK7wkYy48JGNjfCRjJXwkYy+8JGMsPCRjIMiKQorICAgICAgICAgICAgIChkb2N1bWVudGF0aW9u IC4gIlwKK0xhbmd1YWdlcyBzdWNoIGFzIFNhbnNrcml0IGFuZCBNYW5pcHJhdmFsYW0sIHdoZW4g dGhleSB1c2UgdGhlCitHcmFudGhhIHNjcmlwdCwgYXJlIHN1cHBvcnRlZCBpbiB0aGlzIGxhbmd1 YWdlIGVudmlyb25tZW50LiIpKQorICcoIkluZGlhbiIpKQorCiA7OyBSZXBsYWNlIG1uZW1vbmlj IGNoYXJhY3RlcnMgaW4gUkVHRVhQIGFjY29yZGluZyB0byBUQUJMRS4gIFRBQkxFIGlzCiA7OyBh biBhbGlzdCBvZiAoTU5FTU9OSUMtU1RSSU5HIC4gUkVQTEFDRU1FTlQtU1RSSU5HKS4KIApAQCAt Njk2LDUgKzcwNywzMiBAQCBtYWxheWFsYW0tY29tcG9zYWJsZS1wYXR0ZXJuCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiPyIgdm93ZWwgIj8iIG90aGVyLXNpZ25zICI/ IikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxICdmb250LXNoYXBlLWdzdHJpbmcp KSkpCiAKKzs7IEdyYW50aGEgY29tcG9zaXRpb24gcnVsZXMKKyhsZXQgKChjb25zb25hbnQgICAg ICAgICAgICAiW1x4MTEzMTUtXHgxMTMzOV0iKQorICAgICAgKG51a3RhICAgICAgICAgICAgICAg ICJceDExMzNDIikKKyAgICAgIChpbmRlcGVuZGVudC12b3dlbCAgICAiW1x4MTEzMDUtXHgxMTMx NFx4MTEzNjBceDExMzYxXSIpCisgICAgICAodm93ZWwgICAgICAgICAgICAgICAgIltceDExMzNF LVx4MTEzNENceDExMzU3XHgxMTM2Mlx4MTEzNjNdIikKKyAgICAgIChuYXNhbCAgICAgICAgICAg ICAgICAiW1x4MTEzMDAtXHgxMTMwMl0iKQorICAgICAgKGJpbmR1ICAgICAgICAgICAgICAgICJc eDExMzNCIikKKyAgICAgICh2aXNhcmdhICAgICAgICAgICAgICAiXHgxMTMwMyIpCisgICAgICAo dmlyYW1hICAgICAgICAgICAgICAgIlx4MTEzNEQiKQorICAgICAgKGF2YWdyYWhhICAgICAgICAg ICAgICJceDExMzNEIikKKyAgICAgIChtb2RpZmllci1hYm92ZSAgICAgICAiW1x4MTEzNjYtXHgx MTM3NF0iKSkKKyAgKHNldC1jaGFyLXRhYmxlLXJhbmdlIGNvbXBvc2l0aW9uLWZ1bmN0aW9uLXRh YmxlCisgICAgICAgICAgICAgICAgICAgICAgICAnKCN4MTEzM0IgLiAjeDExMzREKQorICAgICAg ICAgICAgICAgICAgICAgICAgKGxpc3QgKHZlY3RvcgorICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIDs7IENvbnNvbmFudCBiYXNlZCBzeWxsYWJsZXMKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAoY29uY2F0IGNvbnNvbmFudCBudWt0YSAiPyIgIlxcKD86IiB2aXJhbWEgY29u c29uYW50IG51a3RhCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiP1xc KSpcXCg/OiIgdmlyYW1hICJcXHwiIHZvd2VsICIqIiBudWt0YSAiPyIgbmFzYWwKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICI/IiBiaW5kdSAiPyIgdmlzYXJnYSAiPyIg bW9kaWZpZXItYWJvdmUgIj8iCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBhdmFncmFoYSAiP1xcKSIpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMSAnZm9u dC1zaGFwZS1nc3RyaW5nKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHZlY3Rvcgor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDs7IFZvd2VscyBiYXNlZCBzeWxsYWJsZXMK KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY29uY2F0IGluZGVwZW5kZW50LXZvd2Vs IG51a3RhICI/IiB2aXJhbWEgIj8iIHZvd2VsICI/IgorICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgbmFzYWwgIj8iIGJpbmR1ICI/IiB2aXNhcmdhICI/IiBtb2RpZmllci1h Ym92ZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIj8iIGF2YWdyYWhh ICI/IikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxICdmb250LXNoYXBlLWdzdHJp bmcpKSkpCisKIChwcm92aWRlICdpbmRpYW4pCiA7OzsgaW5kaWFuLmVsIGVuZHMgaGVyZQpkaWZm IC0tZ2l0IGEvbGlzcC9sZWltL3F1YWlsL2luZGlhbi5lbCBiL2xpc3AvbGVpbS9xdWFpbC9pbmRp YW4uZWwKaW5kZXggMDMxYzMwYWFiYi4uNmEzNTgyZTgzZCAxMDA2NDQKLS0tIGEvbGlzcC9sZWlt L3F1YWlsL2luZGlhbi5lbAorKysgYi9saXNwL2xlaW0vcXVhaWwvaW5kaWFuLmVsCkBAIC0xNjU2 LDQgKzE2NTYsMTE5IEBAICJ8fCIKICgiYD8iID/hpYUpCiApCiAKKyhxdWFpbC1kZWZpbmUtcGFj a2FnZQorICJncmFudGhhIiAiR3JhbnRoYSIgIvCRjJfwkY2N8JGMsCIgdCAiR3JhbnRoYSBwaG9u ZXRpYyBpbnB1dCBtZXRob2QuCisKKyBgXFw9YCcgaXMgdXNlZCB0byBzd2l0Y2ggbGV2ZWxzIGlu c3RlYWQgb2YgQWx0LUdyLiIKKyBuaWwgdCB0IHQgdCBuaWwgbmlsIG5pbCBuaWwgbmlsIHQpCisK KyhxdWFpbC1kZWZpbmUtcnVsZXMKKyAoImBgIiA/4oK5KQorICgiMSIgID/gr6cpCisgKCJgMSIg PzEpCisgKCJgISIgP/CRjacpCisgKCIyIiAgP+CvqCkKKyAoImAyIiA/MikKKyAoImBAIiA/8JGN qCkKKyAoIjMiICA/4K+pKQorICgiYDMiID8zKQorICgiYCMiID/wkY2pKQorICgiNCIgID/gr6op CisgKCJgNCIgPzQpCisgKCJgJCIgP/CRjaopCisgKCI1IiAgP+CvqykKKyAoImA1IiA/NSkKKyAo ImAlIiA/8JGNqykKKyAoIjYiICA/4K+sKQorICgiYDYiID82KQorICgiYF4iID/wkY2sKQorICgi NyIgID/gr60pCisgKCJgNyIgPzcpCisgKCI4IiAgP+CvrikKKyAoImA4IiA/OCkKKyAoIjkiICA/ 4K+vKQorICgiYDkiID85KQorICgiMCIgID/gr6YpCisgKCJgMCIgPzApCisgKCJxIiAgP/CRjJ8p CisgKCJRIiAgP/CRjKApCisgKCJgcSIgP/CRjZApCisgKCJgUSIgP/CRjZ0pCisgKCJ3IiAgP/CR jKEpCisgKCJXIiAgP/CRjKIpCisgKCJgdyIgP/CRjZ4pCisgKCJgVyIgP/CRjZ8pCisgKCJlIiAg P/CRjYcpCisgKCJFIiAgP/CRjYgpCisgKCJgZSIgP/CRjI8pCisgKCJgRSIgP/CRjJApCisgKCJy IiAgP/CRjLApCisgKCJSIiAgP/CRjYMpCisgKCJgciIgP/CRjIspCisgKCJ0IiAgP/CRjKQpCisg KCJUIiAgP/CRjKUpCisgKCJgdCIgP/CRjZcpCisgKCJ5IiAgP/CRjK8pCisgKCJ1IiAgP/CRjYEp CisgKCJVIiAgP/CRjYIpCisgKCJgdSIgP/CRjIkpCisgKCJgVSIgP/CRjIopCisgKCJpIiAgP/CR jL8pCisgKCJJIiAgP/CRjYApCisgKCJgaSIgP/CRjIcpCisgKCJgSSIgP/CRjIgpCisgKCJvIiAg P/CRjYspCisgKCJPIiAgP/CRjYwpCisgKCJgbyIgP/CRjJMpCisgKCJgTyIgP/CRjJQpCisgKCJw IiAgP/CRjKopCisgKCJQIiAgP/CRjKspCisgKCJgcCIgP/CRjbQpCisgKCJhIiAgP/CRjL4pCisg KCJBIiAgP/CRjIYpCisgKCJgYSIgP/CRjIUpCisgKCJgQSIgP/CRjbApCisgKCJzIiAgP/CRjLgp CisgKCJTIiAgP/CRjLYpCisgKCJkIiAgP/CRjKYpCisgKCJEIiAgP/CRjKcpCisgKCJmIiAgP/CR jY0pCisgKCJGIiAgP/CRjYQpCisgKCJgZiIgP/CRjaApCisgKCJnIiAgP/CRjJcpCisgKCJHIiA/ 8JGMmCkKKyAoImgiICA/8JGMuSkKKyAoIkgiICA/8JGMgykKKyAoImoiICA/8JGMnCkKKyAoIkoi ICA/8JGMnSkKKyAoImsiICA/8JGMlSkKKyAoIksiICA/8JGMlikKKyAoImBrIiA/8JGNsSkKKyAo ImwiICA/8JGMsikKKyAoIkwiICA/8JGMsykKKyAoImBsIiA/8JGNoikKKyAoImBMIiA/8JGMjCkK KyAoInoiICA/8JGMnikKKyAoIloiICA/8JGMmSkKKyAoImB6IiA/8JGNoykKKyAoImBaIiA/8JGN oSkKKyAoIngiICA/8JGMtykKKyAoIlgiICA/8JGMvCkKKyAoImB4IiA/8JGMuykKKyAoImMiICA/ 8JGMmikKKyAoIkMiICA/8JGMmykKKyAoImBjIiAjeDIwMEMpICA7IFpXTkoKKyAoInYiICA/8JGM tSkKKyAoIlYiICA/8JGMvSkKKyAoImB2IiA/8JGNsykKKyAoImIiICA/8JGMrCkKKyAoIkIiICA/ 8JGMrSkKKyAoIm4iICA/8JGMqCkKKyAoIk4iICA/8JGMoykKKyAoImBuIiA/8JGNsikKKyAoIm0i ICA/8JGMrikKKyAoIk0iICA/8JGMgikKKyAoImBtIiA/8JGMgSkKKyAoImBNIiA/8JGMgCkpCisK IDs7OyBpbmRpYW4uZWwgZW5kcyBoZXJlCi0tIAoyLjM2LjEKCg== --00000000000007f8b705e08bb05b--