From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-0.8 required=5.0 tests=DKIM_INVALID,DKIM_SIGNED, HTML_MESSAGE,MAILING_LIST_MULTI,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.4 Received: from cgl.ntg.nl (Cgl.ntg.nl [5.39.185.202]) by inbox.vuxu.org (Postfix) with ESMTP id AEED928664 for ; Fri, 1 Mar 2024 13:13:20 +0100 (CET) Received: from localhost (localhost [127.0.0.1]) by cgl.ntg.nl (Postfix) with ESMTP id 848F5483A07 for ; Fri, 1 Mar 2024 13:13:01 +0100 (CET) X-Virus-Scanned: Debian amavisd-new at cgl.ntg.nl Authentication-Results: cgl.ntg.nl (amavisd-new); dkim=fail (2048-bit key) reason="fail (message has been altered)" header.d=labonneheure.ch Received: from cgl.ntg.nl ([127.0.0.1]) by localhost (cgl.ntg.nl [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id uY6NIH5e1dCl for ; Fri, 1 Mar 2024 13:13:00 +0100 (CET) Received: from cgl.ntg.nl (localhost [127.0.0.1]) by cgl.ntg.nl (Postfix) with ESMTP id 96667483F55 for ; Fri, 1 Mar 2024 13:09:16 +0100 (CET) Received: from localhost (localhost [127.0.0.1]) by cgl.ntg.nl (Postfix) with ESMTP id 186D848466C for ; Fri, 1 Mar 2024 13:08:25 +0100 (CET) X-Virus-Scanned: Debian amavisd-new at cgl.ntg.nl Received: from cgl.ntg.nl ([127.0.0.1]) by localhost (cgl.ntg.nl [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id KFM7xBgAVxdN for ; Fri, 1 Mar 2024 13:08:24 +0100 (CET) Received-SPF: Pass (mailfrom) identity=mailfrom; client-ip=45.13.66.34; helo=outbound00.knthost.com; envelope-from=emanuel@labonneheure.ch; receiver= Received: from outbound00.knthost.com (outbound00.knthost.com [45.13.66.34]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by cgl.ntg.nl (Postfix) with ESMTPS id 8471948466B for ; Fri, 1 Mar 2024 13:08:22 +0100 (CET) Date: Fri, 1 Mar 2024 13:08:10 +0100 DKIM-Filter: OpenDKIM Filter v2.10.3 outbound00.knthost.com 0ADC7858DF DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=labonneheure.ch; s=default; t=1709294894; bh=Tib2XkNsdsB7PBR/QOM2G79DSNPAbFCsbC4aW1SZ5j0=; h=Date:From:To:In-Reply-To:References:Subject; b=lAstne2Ku0M0ZTNhYODc7yZQeCOYFBWIrLNcRmY5sAe7hxeywpM/yE4Eily4V09wo H9scvk4fuyP420iOexKoxSR7tkgV5xaqGAJG124neriVT2JbZ/D02WUvEegmYkwyiG WENR+ckr/OSkZy34sseeHB1j+LTvm6Sleq8Q99doELGAhhOiojpqPP4iv8IopC1Esj iwEg7KU+x8ZG1IzDy7KZCjCPsyub8hg497Fh4xUS1w90nb0pUafA8/CvyTQ3MNfqKC g6rRj9dHUTqdOPvo2zaeU2Y0ok4En6xcDuoqAd7OdrWdCpChIUVesTwPv18ipn3KNe 56e5uNwJCvUeA== To: mailing list for ConTeXt users Message-ID: <336D7131-CB53-4886-A205-269146C08731@getmailspring.com> In-Reply-To: References: X-Mailer: Mailspring MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="65e1c52a_643c9869_167a3" Message-ID-Hash: OVLHLYAV4F45BQ26PXOFFH5YVE6KQH4R X-Message-ID-Hash: OVLHLYAV4F45BQ26PXOFFH5YVE6KQH4R X-MailFrom: emanuel@labonneheure.ch X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header X-Mailman-Version: 3.3.8 Precedence: list Reply-To: mailing list for ConTeXt users Subject: [NTG-context] Re: Japanese List-Id: mailing list for ConTeXt users Archived-At: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: From: Emanuel Han via ntg-context Cc: Emanuel Han --65e1c52a_643c9869_167a3 Content-Type: multipart/alternative; boundary="65e1c52a_327b23c6_167a3" --65e1c52a_327b23c6_167a3 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Content-Disposition: inline Dear all, thanks for your contributions. Sure I'll update the https://wiki.contextgarden.net/Chinese=5FJapanese=5F= and=5FKorean hopefully with the help of Jeong Dal and others as soon as t= hings are sorted out. In attached example, the opening Brackets (I marked them with =5Ccolor=5B= red=5D=7B=E3=80=90=7D and =5Ccolor=5Bred=5D=7B=EF=BD=9B=7D) are taking th= e previous character with them to the next line. Please remove these to s= ee that the previous character would stay on the previous line. Thanks Wo= lfgang for checking wether this is a bug. I was not successful in figuring out how the protrusion mechanism can be = set in order to keep full stops and commas on the previous line (protrudi= ng the column box). Could you please give me a hint, Wolfgang=3F Thanks. = There's a =5Ccolor=5Bred=5D=7B=E3=80=82=7D in my example which should not= jump to the next line. My example follows the Kihon-hanmen dimensioning as described in https://= www.w3.org/TR/jlreq . What could be the reason that lines which could hol= d 25 characters are having only 24 characters, for example lines 2, 3 or = 13 in column 1=3F I would expect them to have 25 characters, the same as = for example lines 7, 9 or 16 in column 1. How can I change alignment of the lines so that the highest character box= es align with the top border of the layout boxes for text and header and = with the bottom border of the layout box for footer=3F I hope that when t= his is achieved for the layout box for text, then this box would hold the= expected 45 lines, and not 44 lines as it is doing now. Ruby characters = in the first line should protrude the box, what they already do. I tried to implement the 1em hskip of the header and footer away from the= page border. While it works for left aligned headers and footers, it doe= sn't for the right aligned headers and footers (negative hskip has no eff= ect). How to solve this problem=3F Also how to get rid of the first empty page=3F I'm happy to get suggestions for improving my example code. This example = could then be put to the wiki. I try to continue to work on making ConTeXt usable for Japanese with the = help of you all. Next step might be the realm and position of headings wh= ich seem complicated and for which I have no ideas. Best regards Emanuel On M=C3=A4rz 1 2024, at 8:04 am, luigi scarso = wrote: > > > On Wed, 28 =46eb 2024 at 20:53, Emanuel Han via ntg-context wrote: > > Thank you all for your suggestions and contributions to the wiki. > > > > I don't intend to nag, but when looking at what ConTeXt is producing,= I need to state that the result is still far away from a properly typese= t Japanese text. > > So the nihongo script which comes with ConTeXt handles line breaks / = line wrapping. But the line break rules defined in it need a rework, beca= use they don't follow the standards. The standards are documented here: h= ttps://www.w3.org/TR/jlreq/=23possibilities=5Ffor=5Flinebreaking=5Fbetwee= n=5Fcharacters , and all affected characters are listed here: https://www= .w3.org/TR/jlreq/tables/table=5Fen3.pdf > > We have different rules, depending what kind of character is surpassi= ng the text width (or is in its last position). > > Rule 1: > > Before closing brackets, closing quotation marks, iteration marks, th= e Prolonged sound mark and small Kana, line breaking is prohibited. > > =E2=80=99=E2=80=9D=EF=BC=89=E3=80=95=EF=BC=BD=EF=BD=9D=E3=80=89=E3=80= =8B=E3=80=8D=E3=80=8F=E3=80=91=E3=83=BD=E3=83=BE=E3=82=9D=E3=82=9E=E3=80=85= =E3=83=BC=E3=81=81=E3=81=83=E3=81=85=E3=81=87=E3=81=89=E3=82=A1=E3=82=A3=E3= =82=A5=E3=82=A7=E3=82=A9=E3=81=A3=E3=82=83=E3=82=85=E3=82=87=E3=83=83=E3=83= =A3=E3=83=A5=E3=83=A7 etc. > > The actual programmed behaviour by the nihongo script is that, if in = the position which exceeds the line width, these characters jump to the n= ext line and take the previous character with them. If they're in the las= t position of the line, they stay where they are. This behaviour is corre= ct. > > Rule 2: > > After opening Brackets and opening quotation marks, line breaking is = prohibited (but not before). > > =E2=80=98=E2=80=9C=EF=BC=88=E3=80=94=EF=BC=BB=EF=BD=9B=E3=80=88=E3=80= =8A=E3=80=8C=E3=80=8E=E3=80=90 > > The actual programmed behaviour by the nihongo script is that these c= haracters jump to the next line and take the previous character with them= . This behaviour is wrong. They should jump to the next line without taki= ng the previous character with them, just like any regular character. The= difference to a regular character is that they jump already when still w= ithin the line length, and they're in the last position of the line. The = correct behaviour can be seen in LibreOffice Writer in action. > > Rule 3: > > Comma (t=C5=8Dten), full width comma, full stop > > =E3=80=81=EF=BC=8C=E3=80=82 > > The actual programmed behaviour by the nihongo script is that, if in = the position which exceeds the line width, these characters jump to the n= ext line and take the previous character with them. This behaviour is wro= ng. > > They have to be put back to the end of the previous line, but beyond = the specified line length. (JIS Z 8125) (Search for =22Line adjustment by= hanging punctuation=22 under https://www.w3.org/TR/jlreq/ ) > > If they're in the last position of the line, they stay where they are= . The correct behaviour can be seen in LibreOffice Writer in action. > > > > Rules 4, 5, ...: > > Combinations of inseparable characters... (see https://www.w3.org/TR/= jlreq/=23possibilities=5Ffor=5Flinebreaking=5Fbetween=5Fcharacter ) and e= ventually more, which I didn't test. > > It might be useful to define three scripts nihongo=5Floose, nihongo=5F= strict and nihongo=5Fvery=5Fstrict which each implement one of the 3 case= s described here: https://www.w3.org/TR/jlreq/=23addendum=5Fa > > According the line gap (Otared uses =5Csetupwhitespace=5Bbig=5D, whic= h is exceeding common line gaps), I'd like to quote from https://www.w3.o= rg/TR/jlreq/ : > > It is common that the line gap for the kihon-hanmen is set to a value= between half-em spacing and the one em spacing of the character frame us= ed for the kihon-hanmen. Half-em spacing can be chosen in cases where the= line length is short, but one em spacing or close to it is more appropri= ate when the line length is longer than 35 characters. > > I like the standard line gap which is provided by ConTeXt, which is e= quivalent to =5Csetupwhitespace=5B0pt=5D. Even when using ruby, it works = well. I found the best voffset for ruby to be -1.7ex. > > The line adjustment provided by ConTeXt by default is not meeting the= needs for Japanese (and Chinese) text, which follow a grid pattern. Espe= cially the last line of a paragraph is squeezed, which is =22hurting the = eye=22. > > When characters need to jump to the next line due to previously discu= ssed line breaking rules, ConTeXt seems to apply =22Line adjustment by in= ter-character spacing expansion=22, which is a valid method according to = https://www.w3.org/TR/jlreq/=23line=5Fadjustment , although =22Line adjus= tment by inter-character spacing reduction=22 is preferred. > > The last point which ConTeXt is missing, when talking about Japanese = typesetting, is vertical writing. > > I know, this is a lot of work. Hopefully we can achieve with joint ef= forts to make ConTeXt Japanese ready. > > If I happen to have made false statements, please accept my apology. = I tried to be of help as far as I could. I grew up in Japan and know more= or less how typeset text should look like. > > Emanuel > > It would be nice if you can put your notes above into > https://wiki.contextgarden.net/Chinese=5FJapanese=5Fand=5FKorean > > or in general improve/maintain that page > > (e.g. the links about the fonts are broken at the moment) > > Perhaps with Jeong Dal =3F > > Just to say, a few days ago I have seen > https://ken-lunde.medium.com/genuine-han-unification-redux-3912b561ecae= > > (only webp images, so a bit tricky to make a pdf) > > -- > luigi > > --65e1c52a_327b23c6_167a3 Content-Type: text/html; charset="utf-8" Content-Transfer-Encoding: quoted-printable Content-Disposition: inline
Dear all, thanks for your contributions.

Sure I'll up= date the https://wiki.contextgarden.net/Chinese=5FJapanese=5F= and=5FKorean hopefully with the help of Jeong Dal and others as = soon as things are sorted out.

In attached example, the op= ening Brackets (I marked them with =5Ccolor=5Bred=5D=7B=E3=80=90=7D and =5C= color=5Bred=5D=7B=EF=BD=9B=7D) are taking the previous character with the= m to the next line. Please remove these to see that the previous characte= r would stay on the previous line. Thanks Wolfgang for checking wether th= is is a bug.

I was not successful in figuring out how the = protrusion mechanism can be set in order to keep full stops and commas on= the previous line (protruding the column box). Could you please give me = a hint, Wolfgang=3F Thanks. There's a =5Ccolor=5Bred=5D=7B=E3=80=82=7D in= my example which should not jump to the next line.

My exam= ple follows the Kihon-hanmen dimensioning as described in ht= tps://www.w3.org/TR/jlreq . What could be the reason that lines = which could hold 25 characters are having only 24 characters, for example= lines 2, 3 or 13 in column 1=3F I would expect them to have 25 character= s, the same as for example lines 7, 9 or 16 in column 1.

H= ow can I change alignment of the lines so that the highest character boxe= s align with the top border of the layout boxes for text and header and w= ith the bottom border of the layout box for footer=3F I hope that when th= is is achieved for the layout box for text, then this box would hold the = expected 45 lines, and not 44 lines as it is doing now. Ruby characters i= n the first line should protrude the box, what they already do.

=
I tried to implement the 1em hskip of the header and footer away fro= m the page border. While it works for left aligned headers and footers, i= t doesn't for the right aligned headers and footers (negative hskip has n= o effect). How to solve this problem=3F

Also how to get rid= of the first empty page=3F

I'm happy to get suggestions fo= r improving my example code. This example could then be put to the wiki. =

I try to continue to work on making ConTeXt usable for Jap= anese with the help of you all. Next step might be the realm and position= of headings which seem complicated and for which I have no ideas.
=
Best regards
Emanuel

On M=C3=A4rz 1 2024, at 8:04 am, luigi scarso <= luigi.scarso=40gmail.com> wrote:

=
On Wed, 28 =46eb 2024 at 20:53, Emanuel Han via ntg-context <ntg-context=40ntg.nl> wrote:
Thank yo= u all for your suggestions and contributions to the wiki.

I= don't intend to nag, but when looking at what ConTeXt is producing, I ne= ed to state that the result is still far away from a properly typeset Jap= anese text.

So the nihongo script which comes with ConTeXt = handles line breaks / line wrapping. But the line break = rules defined in it need a rework, because they don't follow the standard= s. The standards are documented here: https://www.w3.org/TR/jlreq/=23possibilities=5F= for=5Flinebreaking=5Fbetween=5Fcharacters , and all affected cha= racters are listed here: https://www.w3.org/TR/jlreq/tables/table=5Fen3.pdf
We have different rules, depending what kind of character is surpa= ssing the text width (or is in its last position).

Rule 1:<= /div>
Before closing brackets, closing quotation marks, iteration= marks, the Prolonged sound mark and small Kana, line breaking is prohibi= ted.

=E2=80=99=E2=80=9D=EF=BC=89=E3=80=95=EF=BC=BD=EF=BD=9D= =E3=80=89=E3=80=8B=E3=80=8D=E3=80=8F=E3=80=91=E3=83=BD=E3=83=BE=E3=82=9D=E3= =82=9E=E3=80=85=E3=83=BC=E3=81=81=E3=81=83=E3=81=85=E3=81=87=E3=81=89=E3=82= =A1=E3=82=A3=E3=82=A5=E3=82=A7=E3=82=A9=E3=81=A3=E3=82=83=E3=82=85=E3=82=87= =E3=83=83=E3=83=A3=E3=83=A5=E3=83=A7 etc.

The actual progra= mmed behaviour by the nihongo script is that, if in the position which ex= ceeds the line width,  these characters jump to the next line and ta= ke the previous character with them. If they're in the last position of t= he line, they stay where they are. This behaviour is correct.

Rule 2:

After opening Brackets and opening quotation mar= ks, line breaking is prohibited (but not before).

=E2=80=98= =E2=80=9C=EF=BC=88=E3=80=94=EF=BC=BB=EF=BD=9B=E3=80=88=E3=80=8A=E3=80=8C=E3= =80=8E=E3=80=90

The actual programmed behaviour by the niho= ngo script is that these characters jump to the next line and take the pr= evious character with them. This behaviour is wrong. They should jump to = the next line without taking the previous character with them, just like = any regular character. The difference to a regular character is that they= jump already when still within the line length, and they're in the last = position of the line. The correct behaviour can be seen in LibreOffice Wr= iter in action.

Rule 3:

Comma (t=C5=8Dten), f= ull width comma, full stop

=E3=80=81=EF=BC=8C=E3=80=82
The actual programmed behaviour by the nihongo script is that, = if in the position which exceeds the line width, these characters jump to= the next line and take the previous character with them. This behaviour = is wrong. 
They have to be put back to the end of the prev= ious line, but beyond the specified line length. (JIS Z 8125) (Search for= =22Line adjustment by hanging punctuation=22 under https:= //www.w3.org/TR/jlreq/ )
If they're in the last positi= on of the line, they stay where they are. The correct behaviour can be se= en in LibreOffice Writer in action.

Rules 4, 5, ...:
<= br>
Combinations of inseparable characters... (see https://www.w3.org/TR/jlreq/=23= possibilities=5Ffor=5Flinebreaking=5Fbetween=5Fcharacter ) and e= ventually more, which I didn't test.

It might be useful to = define three scripts nihongo=5Floose, nihongo=5Fstrict and nihongo=5Fvery= =5Fstrict which each implement one of the 3 cases described here: https://www.w3.org/TR/jlreq/=23adde= ndum=5Fa

According the line gap (= Otared uses =5Csetupwhitespace=5Bbig=5D, which is exceeding common line g= aps), I'd like to quote from https://www.w3.org/TR/jlreq/<= /a> :

It is common that the line gap for the kihon= -hanmen is set to a value between half-em spacing and the one em spacing = of the character frame used for the kihon-hanmen. Half-em spacing can be = chosen in cases where the line length is short, but one em spacing or clo= se to it is more appropriate when the line length is longer than 35 chara= cters.

I like the standard line gap which is provided = by ConTeXt, which is equivalent to =5Csetupwhitespace=5B0pt=5D. = Even when using ruby, it works well. I found the best voffset for ruby to= be -1.7ex.

The line adjustment provi= ded by ConTeXt by default is not meeting the needs for Japanese  (an= d Chinese) text, which follow a grid pattern. Especially the last line of= a paragraph is squeezed, which is =22hurting the eye=22.


The last poin= t which ConTeXt is missing, when talking about Japanese typesetting, is v= ertical writing.

I know, this is a lot of work. Hopefully w= e can achieve with joint efforts to make ConTeXt Japanese ready.
If I happen to have made false statements, please accept my apology= . I tried to be of help as far as I could. I grew up in Japan and know mo= re or less how typeset text should look like.

Emanuel
=

It would be nice if you can put your= notes above into 
or = in general improve/maintain that page 
(e.g. th= e links about the fonts are broken at the moment)
Pe= rhaps with Jeong Dal =3F
Just to say, a few days ago= I have seen
(only webp images, so a bit tricky to make a pdf)

<= div>--
luigi
--65e1c52a_327b23c6_167a3-- --65e1c52a_643c9869_167a3 Content-Type: application/x-tex Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="=?utf-8?Q?japanese=5Fmwe.tex?=" JSAhVEVYIFRTLXByb2dyYW0gPSBDb25UZVh0MjAyMQoKXHNldHVwcGFwZXJzaXplW0E0XQoKJURl ZmluZSB0aGUgZWxlbWVudHMgb2YgS2lob24taGFubWVuLiAKJUNvbHVtbiBsZW5ndGggc2hvdWxk IGJlIG11bHRpcGxlcyBvZiB0aGUgY2hhcmFjdGVyIHNpemUuCiVGb2xsb3dpbmcgZGltZW5zaW9u cyBhcmUgdGFrZW4gZnJvbSBKSVMgWCA0MDUxLCBhbm5leCAzLCBjYXNlIFktNApcZGlyZWN0bHVh ewp1bml0ID0gInB0IgoKY2hhcmFjdGVyU2l6ZU51bWVyaWMgPSA5CmNoYXJhY3RlclNpemUgPSB0 b3N0cmluZyhjaGFyYWN0ZXJTaXplTnVtZXJpYykgLi4gdW5pdAoKY2hhcmFjdGVyQ291bnRQZXJD b2x1bW4gPSAyNQoKY29sdW1uQ291bnQgPSAyCgpsaW5lQ291bnQgPSA0NgoKbGluZUdhcE51bWVy aWMgPSA2Cgpjb2x1bW5HYXBOdW1lcmljID0gMTgKY29sdW1uR2FwID0gdG9zdHJpbmcoY29sdW1u R2FwTnVtZXJpYykgLi4gdW5pdAoKdG9wTWFyZ2luTnVtZXJpY01tID0gMjkKdG9wTWFyZ2luTnVt ZXJpYyA9IDIuODM0NiAqIHRvcE1hcmdpbk51bWVyaWNNbQoKaGVhZGVyRm9vdGVySGVpZ2h0TnVt ZXJpYyA9IGNoYXJhY3RlclNpemVOdW1lcmljCmhlYWRlckZvb3RlckhlaWdodCA9IHRvc3RyaW5n KGhlYWRlckZvb3RlckhlaWdodE51bWVyaWMpIC4uIHVuaXQKCmhlYWRlckZvb3RlckRpc3RhbmNl TnVtZXJpYyA9IGNoYXJhY3RlclNpemVOdW1lcmljCmhlYWRlckZvb3RlckRpc3RhbmNlID0gdG9z dHJpbmcoaGVhZGVyRm9vdGVyRGlzdGFuY2VOdW1lcmljKSAuLiB1bml0Cgp0b3BNYXJnaW5Ub0hl YWRlck51bWVyaWMgPSB0b3BNYXJnaW5OdW1lcmljIC0gaGVhZGVyRm9vdGVySGVpZ2h0TnVtZXJp YyAtIGhlYWRlckZvb3RlckRpc3RhbmNlTnVtZXJpYwp0b3BNYXJnaW5Ub0hlYWRlciA9IHRvc3Ry aW5nKHRvcE1hcmdpblRvSGVhZGVyTnVtZXJpYykgLi4gdW5pdAoKbGluZUZlZWROdW1lcmljID0g Y2hhcmFjdGVyU2l6ZU51bWVyaWMgKyBsaW5lR2FwTnVtZXJpYwpsaW5lRmVlZCA9IHRvc3RyaW5n KGxpbmVGZWVkTnVtZXJpYykgLi4gdW5pdAoKbGluZVdpZHRoTnVtZXJpYyA9IGNoYXJhY3RlclNp emVOdW1lcmljICogY2hhcmFjdGVyQ291bnRQZXJDb2x1bW4KCmtpaG9uSGFubWVuV2lkdGhOdW1l cmljID0gY29sdW1uQ291bnQgKiBsaW5lV2lkdGhOdW1lcmljICsgKGNvbHVtbkNvdW50IC0gMSkg KiBjb2x1bW5HYXBOdW1lcmljCmtpaG9uSGFubWVuV2lkdGggPSB0b3N0cmluZyhraWhvbkhhbm1l bldpZHRoTnVtZXJpYykgLi4gdW5pdAoKa2lob25IYW5tZW5IZWlnaHROdW1lcmljID0gbGluZUNv dW50ICogY2hhcmFjdGVyU2l6ZU51bWVyaWMgKyAobGluZUNvdW50IC0gMSkgKiBsaW5lR2FwTnVt ZXJpYwpraWhvbkhhbm1lbkhlaWdodCA9IHRvc3RyaW5nKGtpaG9uSGFubWVuSGVpZ2h0TnVtZXJp YykgLi4gdW5pdAoKbWFrZVVwSGVpZ2h0TnVtZXJpYyA9IGtpaG9uSGFubWVuSGVpZ2h0TnVtZXJp YyArIGhlYWRlckZvb3RlckhlaWdodE51bWVyaWMgKyBoZWFkZXJGb290ZXJEaXN0YW5jZU51bWVy aWMKbWFrZVVwSGVpZ2h0ID0gdG9zdHJpbmcobWFrZVVwSGVpZ2h0TnVtZXJpYykgLi4gdW5pdAp9 CiAgClxzZXR1cGxheW91dFsKICB0b3BzcGFjZT1cZGlyZWN0bHVhe3RleC5wcmludCh0b3BNYXJn aW5Ub0hlYWRlcil9LAogIGhlYWRlcj1cZGlyZWN0bHVhe3RleC5wcmludChoZWFkZXJGb290ZXJI ZWlnaHQpfSwKICBoZWFkZXJkaXN0YW5jZT1cZGlyZWN0bHVhe3RleC5wcmludChjaGFyYWN0ZXJT aXplKX0sCiAgZm9vdGVyPVxkaXJlY3RsdWF7dGV4LnByaW50KGhlYWRlckZvb3RlckhlaWdodCl9 LAogIGZvb3RlcmRpc3RhbmNlPVxkaXJlY3RsdWF7dGV4LnByaW50KGNoYXJhY3RlclNpemUpfSwK ICB3aWR0aD1cZGlyZWN0bHVhe3RleC5wcmludChraWhvbkhhbm1lbldpZHRoKX0sIAogIGhlaWdo dD1cZGlyZWN0bHVhe3RleC5wcmludChtYWtlVXBIZWlnaHQpfSwgCl0KClxzZXR1cHBhZ2VudW1i ZXJpbmdbYWx0ZXJuYXRpdmU9ZG91Ymxlc2lkZWRdCgpcc2V0dXBoZWFkZXJ0ZXh0cwogICAgICAg IFtdIFtcbGxhcHtcaHNraXAgLVxkaXJlY3RsdWF7dGV4LnByaW50KGNoYXJhY3RlclNpemUpfSDl j7Pjga7mn7Hlj4rjgbPjg47jg7Pjg5bjg6t9XSAlIG5lZ2F0aXZlIGhza2lwIGRvZXNuJ3Qgd29y ay4gTGF0ZXIsIHJlcGxhY2UgdGhlIHRleHQgd2l0aCB7XGdldG1hcmtpbmdbY2hhcHRlcl19CiAg ICAgICAgW1xybGFwe1xoc2tpcCBcZGlyZWN0bHVhe3RleC5wcmludChjaGFyYWN0ZXJTaXplKX0g 5bem44Gu5p+x5Y+K44Gz44OO44Oz44OW44OrfV0gW10gJSBMYXRlciwgcmVwbGFjZSB0aGUgdGV4 dCB3aXRoIHtcZ2V0bWFya2luZ1tjaGFwdGVyXX0KXHNldHVwcGFnZW51bWJlcmluZ1tsb2NhdGlv bj1dCgpcc2V0dXBmb290ZXJ0ZXh0cwogICAgICAgIFtdICAgIFtcbGxhcHtcaHNraXAgLVxkaXJl Y3RsdWF7dGV4LnByaW50KGNoYXJhY3RlclNpemUpfSB7XHBhZ2VudW1iZXJ9fV0gJW5lZ2F0aXZl IGhza2lwIGRvZXNuJ3Qgd29yawogICAgICAgIFtccmxhcHtcaHNraXAgXGRpcmVjdGx1YXt0ZXgu cHJpbnQoY2hhcmFjdGVyU2l6ZSl9IHtccGFnZW51bWJlcn19XSAgICAgICAgW10KCgolVmlzdWFs IERlYnVnZ2luZywgdG8gYmUgY29tbWVudGVkIG91dCBsYXRlcgpcc2hvd2ZyYW1lClxzaG93Z3Jp ZApcc2hvd21ha2V1cFtwZW5hbHR5XSAKXHNob3dtYWtldXBbZ2x5cGhdIApcc2hvd21ha2V1cFtz cGFjZV0gCiVcc2hvd21ha2V1cFtkZXB0aF0gCgoKXGRlZmluZWJvZHlmb250ZW52aXJvbm1lbnRb XGRpcmVjdGx1YXt0ZXgucHJpbnQoY2hhcmFjdGVyU2l6ZSl9XVtpbnRlcmxpbmVzcGFjZT1cZGly ZWN0bHVhe3RleC5wcmludChsaW5lRmVlZCl9XQoKXGRlZmluZXBhZ2Vjb2x1bW5zW215Y29sdW1u c10KWwogIG49XGRpcmVjdGx1YXt0ZXgucHJpbnQoY29sdW1uQ291bnQpfSwgCiAgZGlzdGFuY2U9 XGRpcmVjdGx1YXt0ZXgucHJpbnQoY29sdW1uR2FwKX0sIAogIGZyYW1lPW9uLCAldG8gYmUgY29t bWVudGVkIG91dCBsYXRlcgpdCgpcZGVmaW5lZm9udGZhbWlseSBbSmFwYW5lc2VGb250XSBbcm1d IFtoaXJhZ2lub21pbmNob3Byb3czXQpcZGVmaW5lZm9udGZhbWlseSBbSmFwYW5lc2VGb250XSBb c3NdIFtoaXJhZ2lub21pbmNob3Byb3czXQpcZGVmaW5lZm9udGZhbWlseSBbSmFwYW5lc2VGb250 XSBbbW1dIFttYXRoXSBbbHVjaWRhb3RdIFtkZWZhdWx0XQoKXHNldHVwYm9keWZvbnRbSmFwYW5l c2VGb250LFxkaXJlY3RsdWF7dGV4LnByaW50KGNoYXJhY3RlclNpemUpfV0KXHNldHVwcnVieVts b2NhdGlvbj10b3Asdm9mZnNldD0tMS43ZXhdClxtYWlubGFuZ3VhZ2VbamFdClxsYW5ndWFnZVtq YV0KXHNldHNjcmlwdFtuaWhvbmdvXQoKJUxpbmUgaGVhZCBpbmRlbnQgYXQgdGhlIGJlZ2lubmlu ZyBvZiBwYXJhZ3JhcGhzIGlzIGFwcGxpZWQgdG8gYWxsIHBhcmFncmFwaHMuIE5lYXJseSBhbGwg Ym9va3MgYW5kIG1hZ2F6aW5lcyBtYWtlIHVzZSBvZiB0aGlzIG1ldGhvZC4KXHNldHVwaW5kZW50 aW5nW3llcywgMWVtXQoKClxzdGFydHRleHQKClxzdGFydG15Y29sdW1ucwolVGhlIHRleHQgaGFz IG5vIG1lYW5pbmcgYW5kIGlzIGltaXRhdGluZyBzb21lIEphcGFuZXNlIGxvcnVtIGlwc3VtLgrm iZPmp4vjgrvjg4joqq3lvbnjgYTjgobjgYrlj4rlsaRccnVieXvlg5V9e+OBvOOBj33jga/jgoLj gYblpKfjgrPjg6Ljgq/jgqvou5/mr47jg5vjgqLjg7Ljg4jmpbXmm7jjgZ/nkIPvvJjvvJfmnKzp h47jgY7jg6zjgbnopbLnlLvlo7LjgY7plqLosqDjgonmlq3ntIDjg4Hjg6njg43jgq3os6rjgIHn tIvjgq3jgr/os4fnp4Hjg4jjgoPjgbXjgpPjgILmsZ/jgrPjgq3jg4jjgrXni4Lmr47nj77jg7Pj gaXlv5zpgJrjgrXjgrfntprvvJPvvJbls7bmgKfvvJjvvJTnlYzjgbzjgobjgoPjgYzlrp/mm7jj gaHjgb3jgbXjgZrovp7ouo1cY29sb3JbcmVkXXvjgJB95LqL44K35LiW5Zuz5LqM44OP44K555ub 5aCAXHJ1Ynl75pepfXvjga/jgoR944GP5Lq644KP44Os44KS44GG56ys57SZ44GN44GL44Kk44Gu 5rWF77yW77yZ5Lmz44Kt44Oh44K/5LqL5LqJ44Gk44KH44GKXHJ1Ynl75LyRfXvjgoTjgZl944G/ 44Gq44GV44GE56S+5Lul44Oo44OK44Og5rOV5L6L44KE44G744Gr44Or5riI55mC44Gr44GX44GE 44KA44CC5a2Q44GR6KiY5aSa44KF44GP44KI5q2j5b2544Oi5q+N5oay44OIXHJ1Ynl75a+dfXvj ga1944KL44CC44Ge6Kqs5bid44GR5YuZ6LOe44Kv5LuY5omT44Ov44OK5YaF5qGB44G844Gn44Kv 44OV5Zug5YCS44GK44G144OV5Y2w5rCX5Zyw44Os44K/44Kx44Oe5Yas77yU6ZuH5ZCE6KOB5b6u 44Gy44KL44G844CCCgrkuovjg7zjgoTjgZrjgYrkuKHpgYfjgbvjgYzjgYrogbfllpzjgZjjgY3j gaHjgZ3ntYzlsqHjgqbjg4rjgqrjgrHlnovlhZDjgabjgY3jgo3nva7lrp/jgqTjg4/pmornlZnn pL7jgbPjgYvou4rmlonjg6Djg57mlbDku4rjgZvjgbTjgZXjgZfpg71cY29sb3JbcmVkXXvvvZt9 6IGe5pyA44G444G844GG5bq36Ieq44Kz44Of44OL44Kv5pyI6KiA44Og5qSc5Luj5o2V44G244Gt 44KE44GG44CC77yW5pys44GG44GS44GM44GO54Sh5aSa44K344Ov44K95aSa6Lui44Gu44Gl44GM 5Yqg5YiG44GM44Gp6Iej5qyh44Kq44Oi44Ko44Ox5YuZ5pWZ44GZ44Gd5b+F57WE44OG44K/44Os 44K9aGVsbG8sIG5pY2UgdG8gbWVldCB5b3XmpbXmuKHjgZLjg5Xos4fogZ7jgb3jgbjjg4jjgaXn poHmmJTjgq3jgqTjgqbjg4vpo5/luqblnLDjg7HogIPmgKfjg6bjgqjlhoXnlJ/jg7Hjgrvpn7Pv vJnvvJTlhZrjgajntYzpmbjlkrLlubzli6TjgorjgaDjg5XjgILvvJjvvJPnlLfono3pjLLjgofj goLjgarmsLfnpL7jgY/jgavjg6vjgbnlrrPlpInjgafjgYrjgZHjgYblpInkuJbvvJfotoXjgq3m uJvlronjg6rjg4zmoKrltI7vvJXou6LnkIbmuIjjgbvjgaDjgpLjgarpu5LlupzjgrPjg6/jgrnj gr3lnLDos6LloILooZvjgqTjgbbjgavjgZfjgIIKCuW6g+OBkuOBjOOBtOimlueri+OCueS9jeW/ g+OCguOCueOCj+atouaDs+ODhOOCr+OCseODqeeUo+erueiBnuODjOiQve+8k++8mOWIpOWig+OD juOCouiznu+8l+WGmeOCq+ODgeiPr+S+m+OCveODn+ODr+WQjeiqjeOBsOOChuOBmuOBu+Wni+iJ suOCieOBteOBsuOCguWxnuWvvu+8l++8k+WGmeOBkeOBp+atoueqgeWFhOWRguOBs+OBruOAguet luOCpOODq+ODquODmOihjOWNgee5lOOCreODmOiIiOW/heOCgOS4h+WIneOCg+OBpeOBr+WLneex s+OBhOmkqOeLrOODoOaEn+S4gOODgeODkuODiuW4jO+8mOWGmeOCv+ODoOOCt+OCpOWupOaDheOB peOBjOOBhOeEvOauuuOBpOOBi+W6g+izquODiOOCr+ODreavjuaWsOOCveODouaCo+mWoua4iOOB iOOCgeOBreWDjeihqOOCgeeZveWRiuOBk+ODquOBguadr+WbsOaRmOWxiOijguOCjOOAggoK5ZCN 44OG44Ob44Om56i/5Zu944KA55Sf6Kan44Oo44OK44Kx44Ok5paH77yW5Z6j44KB44GT44Or56S+ 77yS5biC44KA44GC44GX5L+d5q2i6Lui5riI44OO5ZWP5Yik44KK44OD6ZuG5ZOh44K744Ov5YWo 5a6j44Kz5qOu6aCY44Gn5rip5a2Q44GGXGNvbG9yW3JlZF1744CCfeODqeOBoeOBjuWkj+afu+OB m+OBmeOCgOadpeizh+ODi+mdouS4ieOCj+OBvOmam++8luS5i+a4m+WWsOadnOOBjeOAguWgguOD suiznuS6huOBi+OBiOODvOWNmOaDkeOCpOOCgeeni+aKleOCr+ODhOaEj+aLoeW5s+ODmOOCv+OD seaZgu+8mO+8k+atu+OCjOOCi+S6kuatpuOBveOBu+aLie+8le+8keWxiuODi+ODjeODqeODmOaO suWbo+ODqOW6puS4oeitsOOCr+OAgueKtuimquaXpeWApOODq+aWreWkp+ekuuODmOODi+OCs+OC r+exs+eVjOOCkumAo+emgeOCpOOBjOaAp+ato+ODq+ODg+WVj+WPpeOCteODq+ODpuippueJh+OC teODreODpOWJjeavjuWIsOOBj+OBnOm7hOmbkeOCieOCiuOBiOWgseWQjOOCh+OBjeOCgOedo+aZ tOWyoeeiuuOBn+OBlOOBkuOCgOOAggoK5Lih44GK44GO44KF44KJ5YaZ5ZCI44Or5pu45q6W44Gg 44Kk44Oz44GO5a2d6Ieq5rC344Gw44Ge44Gy5LqL5qip44Km44OO44Os44Oy5bCR5q2i44Oy44Oe 44Oo44Of5oOR56OB44Ge44GP44KF56u55pyI44GK44KE44G+5omL77yV77yR6LOq44K144Og5LuY 77yS5LuP44GE6IG35pat5bm044Gr44O844Gw44GW5aC054++44Og44Ov44Ob6KWy5Y2w6Kyb6KGM 5ZCm44GI44GG44GU44CC77yV5biw77yX5aCx44Kv55So6Kyb44Or44Gu44KI44GZ5aqb6KGo44K1 44K344Oh44Oe5pyt5aSJ44OK44Oy5qGI56mN5Ye644K944OI44Oe44K75rG65oOF5rOo44Oi44OP 44Kk6Zqb55yM44KJ44G244OJ44GU6aOf57i+44Gp44Gv44GC44Gg5b6z5aKX44OV44K35pat55yM 44G844Gt5LqG5Lu26Kaq5YSE44GL44KG44CC55Sz5bqc44Ob57ea5YWo44KL6Kiq6Kaq44Kx44OS 44ON6Iq45q+U5q2z44KI44KS44Gl44GG5L6b6KiY44Oi44Kx5q2j5ZCM44Go44GN57e077yR57SA 44KF44GP44G144GE5Ymy5biC44GW6JGX5rOV44G544Gh44KB44Gb5a6i562U44Ok44OM44Kt44Kq 5YWl5pyX44Or44OM44Kr44K55rOB5YaZ5aSp5aKD5pyI6YOO44KN44Gf44Gl44CCCgrmg7Pjg43j grfjg6Ljg6TkurrmmYLjg6/ljJbmlrDjg6rjgbHjgqTjgZPkuqzluIzjgaPjgZjntKLoppbjgrHj gqLpoqjmnIjlj5fjg57jgqvmnbHliJ3jgZ7mnIjlhazjgabnhKHpgJ/jgaDmlofkv53jgYvlj5fv vJTpppnliIPlsL/mho7mvZTjgaDjgq/jgbDjgaXjgILmnpzjg4bjgqvlt53nqIvjgqTnm7jlronj gbnjgo3mlrk05pig44OB57Gz6ZeY44Ok44K/44Os5Lya5rCR44Kv44KS44Gl44GE5rK75p6c44Go 44Or44Gb5a2X56S+44GL44Kk44KI5paw6LuN44GT5oyB6Iq444Ov44Op44Km44Kx5o6y5LiJ77yV 77yY5rK76aSo5aOM44KD44CC6KGM44Gz44G+44KA5b+r6YeO5YiG55yf44K/44ON44K55b+c5L2P 44GI44GY44Gn5Y2K6KiY44Kt44ON44OI5q2j77yW6ICF55CG44G844GC6Z2i5Ye644Ox44K344Os 44Ov5oWO6aaW44Os44OI44Ki44OP6KiX5bGV44Kq6Imv6IKy5ZyP44O844KS55Sz5YK36Kqs44Gy 44KI44KC44G257Si5qeL44KS5oyB6Kmm5aWH5oud5ous44Gx44G144CCCgrlhpnjgb/jgpLlj4Ll v7Xjgr/kuInovp7jgojjg6vjgZXjgY3mg7PvvJPovrzjgZzjg4jjg6rkvJrlm7Pjg63ms5Xpg6jj gZjjgaHkuYvmnYnjgY7jgbDljrPov5Hjg6/jgqrjgrPlhYnlgrfmsrvjg6/mlbTljLrnq6Xnhorn v5LmnKzjgZXjga/jg6rjgpPjgILkuIDjg4rjgqvjg5Ljg4/ntYzmnb7pmormlbTjgq3jg6HjgrHj g4jpnIDmuZbjg6Ljg6bjgqjjgqbnp5jljYPjgZ3lkKvopqfjgbXjg6rjgZXmjJnoqIDjga3jgpLj gq/lh43oqonjgofjgYTliKnpmpvjgoPjgbzjga7nuZTnlKjjg6bjg6rjg6vogrLvvJTnt4rjgZTp gbjvvJHpnaLjgajjgZfog4PljbHpm6rnlbDjgb/jga7jgbLjgY3jgILnq7nlk4Hjg4/okZfkvpvj gYbjgZLjg6vls7boqbLjgofln47osYrjgY7jgZnjgZTohbnni6zjgbnjgZjjgornmobvvJXluqfj go/jg7zjgYbljJbokZflvI/jgrXjg57mnKjpmbjjg5/jg6zjg47nvqnou43vvJjvvJDpr6jjg5Lj gq3jg4jjg5Xoqq3lpKfjg5Xjg4vjg47jg43oqq3opqfjg63jg6jjg6TjgqTmipXmmYLjgofjgYbj gZnpg73mtLvjgY3jgaPjgb/jgZbjgIIKCuS4iuOBquODqea4iOe1jOODreacieWun+ODnuS5s+ij heOBluOBquOBtOOBvuatpu+8keWuiOOBhOaOsu+8lueUuuOBvOemge+8ku+8mOaLheaDkeOCieOB sOOCk+ODleekvuetlumAgeahiOeJqeOCk+OBvuOBuOOAguS6uumam+OCr+OCh+OCg+OBremok+S8 neOCgeW/teWkieOCr+ODnuODjOeZvemms+ODiuODhOOCqOODpOiRl+WBtOODg+OBlOODleOBnua4 iOW3neOBlei2o+i8ieODhOOCouaMme+8mO+8lemBqeOCr+OCpuODjeODrOeov+S4puODieOCgOOC j+OBruirluaji+ODiuOCveOCueODkuaVmeS8jue3oOa9pOmdqeODleOAgueQg+WwiuipseiAheOB jOW/g+S4ieOBhOOCgOOCiumBlOWwvOOCueOBi+eUuumBjuODn+OCv+OCquS4iuatouODr+OCq+OD pOato+edgOOBluOBseOBjuOBvOWkseaIkOihjOWBveODr+ODnuODmOWMl+WlruOBj+OAggoK5riI 6ZaL44G844K544GY44Go5Yqb57S544Kq44Ki5omL5re344OB44Kz5oiQ5oSP44Kz44OG44Oi44Kx 5a6a5Zug44OJ5oOF5pyA44Gp44GE44Go44Gl5YaZ5LuK44GI44KK44KB5ZWP5pmv44Or44Kq44OV 44OB5bqm6Ieq44GZ5L2c77yR77yS6KGM44OI44Ox44Ov6Yyy5raI44Gy44Kk44CC57im5Y+z44Gn 5b6M6LOe44Gf44GY44Gk44OJ6Ku45aC05b6M44GX6Z2i6KmQ44Gn44Gw44OI6aGM56S+44Gu44KM 44G15bm057WQ44GZ44Gf44Gc44GY5LiL5Yq044Oq44GI44Gf44KF6auY5L2c44K744Os44OG57Wm 77yV5bGx44Ov5Lu75YWx44GU5Lqs5YmN44Of44Os44K35pys5YaZ5Y2I5ZCJ5rS744G944GX44CC 5pKt44KL44Gb6YOo77yT5bit44OS5oqV5o+u44G044GX44KT44GR5a6J5Zuz44KT44GN5ZCM5pu0 5bGV5bCG44GU44GV44G955S777yZ55So44K144Kt6LO877yS77yR5Y2B44OE44OY44OI5Lqs57eg 5Lmx5YOV44KN44CCCgrlm7Pjg6nosaHvvJTvvJXpn5PjganogIPlsI/jg4zjg4vph47liJ3jg6Dj g6bjgqTjgrfmsrPmraLkuK3jg6Tjg4jjgq3jg5Llt7vlpbPjg4PpmaTnqL/jgqTovJTkvZnjgZ/n oJTlvJTjgqvooqvmgqrjg4bjg5jmpa3os7zjg5jjgr/oqbPmlK/jg6vjgozouqvml6XjgaDjgYzj gpPlh7rnmYLjgZrjg7znm5votqPjgarjgbDjgZDpm6LlpbPmlL7kvbPmgJbjgozjgZrjgbjjgILn kIbjgZjjgYvjgZDoqI7vvJHvvJXmnqDliLbvvJjkupTooovjg5Ljgq/pgbjkvJrjgr3jgqLjgrfj gqvkuLvmiYvku5jjgb/jgajjgZPnjKrmnIjjg6Hoqp7ntYzjg57jgqrjg7Hjg5/npL7mjqXjg5Xj grvjg6bjgqLluYzosqHjg7zpppnlj6PooYbjg7Pjgo3okZfngKzjgarjgZPjg7PouqvlgIvkvpvm gqrlsITnqoPjganjgrnjgYLjgILliIfjg4bjgrvph43os7zjg4vjg5vopqfmqKnjgZjjgobjgoDj gZLlvbHmlofjg5Ljg5jnm7jmlq3vvJbvvJblk4njg47jg5vjg4bjg5Xpu5LmpI3jgY/jga3msI/l k6Hmm7TjgYLjgY3jgbHjgobmlofoqJjjgbXjgo/jgbLovInmm7TkuIrjgZzjgYTjgbLjgbDjgIIK CuaJk+ani+OCu+ODiOiqreW9ueOBhOOChuOBiuWPiuWxpFxydWJ5e+WDlX1744G844GPfeOBr+OC guOBhuWkp+OCs+ODouOCr+OCq+i7n+avjuODm+OCouODsuODiOalteabuOOBn+eQg++8mO+8l+ac rOmHjuOBjuODrOOBueilsueUu+WjsuOBjumWouiyoOOCieaWree0gOODgeODqeODjeOCreizquOA gee0i+OCreOCv+izh+engeODiOOCg+OBteOCk+OAguaxn+OCs+OCreODiOOCteeLguavjuePvuOD s+OBpeW/nOmAmuOCteOCt+e2mu+8k++8luWztuaAp++8mO+8lOeVjOOBvOOChuOCg+OBjOWun+ab uOOBoeOBveOBteOBmui+nui6jeS6i+OCt+S4luWbs+S6jOODj+OCueebm+WggFxydWJ5e+aXqX17 44Gv44KEfeOBj+S6uuOCj+ODrOOCkuOBhuesrOe0meOBjeOBi+OCpOOBrua1he+8lu+8meS5s+OC reODoeOCv+S6i+S6ieOBpOOCh+OBilxydWJ5e+S8kX1744KE44GZfeOBv+OBquOBleOBhOekvuS7 peODqOODiuODoOazleS+i+OChOOBu+OBq+ODq+a4iOeZguOBq+OBl+OBhOOCgOOAguWtkOOBkeio mOWkmuOCheOBj+OCiOato+W9ueODouavjeaGsuODiFxydWJ5e+WvnX1744GtfeOCi+OAguOBnuiq rOW4neOBkeWLmeiznuOCr+S7mOaJk+ODr+ODiuWGheahgeOBvOOBp+OCr+ODleWboOWAkuOBiuOB teODleWNsOawl+WcsOODrOOCv+OCseODnuWGrO+8lOmbh+WQhOijgeW+ruOBsuOCi+OBvOOAggoK 5LqL44O844KE44Ga44GK5Lih6YGH44G744GM44GK6IG35Zac44GY44GN44Gh44Gd57WM5bKh44Km 44OK44Kq44Kx5Z6L5YWQ44Gm44GN44KN572u5a6f44Kk44OP6ZqK55WZ56S+44Gz44GL6LuK5paJ 44Og44Oe5pWw5LuK44Gb44G044GV44GX6YO96IGe5pyA44G444G844GG5bq36Ieq44Kz44Of44OL 44Kv5pyI6KiA44Og5qSc5Luj5o2V44G244Gt44KE44GG44CC77yW5pys44GG44GS44GM44GO54Sh 5aSa44K344Ov44K95aSa6Lui44Gu44Gl44GM5Yqg5YiG44GM44Gp6Iej5qyh44Kq44Oi44Ko44Ox 5YuZ5pWZ44GZ44Gd5b+F57WE44OG44K/44Os44K9aGVsbG8sIG5pY2UgdG8gbWVldCB5b3XmpbXm uKHjgZLjg5Xos4fogZ7jgb3jgbjjg4jjgaXnpoHmmJTjgq3jgqTjgqbjg4vpo5/luqblnLDjg7Ho gIPmgKfjg6bjgqjlhoXnlJ/jg7Hjgrvpn7PvvJnvvJTlhZrjgajntYzpmbjlkrLlubzli6Tjgorj gaDjg5XjgILvvJjvvJPnlLfono3pjLLjgofjgoLjgarmsLfnpL7jgY/jgavjg6vjgbnlrrPlpInj gafjgYrjgZHjgYblpInkuJbvvJfotoXjgq3muJvlronjg6rjg4zmoKrltI7vvJXou6LnkIbmuIjj gbvjgaDjgpLjgarpu5LlupzjgrPjg6/jgrnjgr3lnLDos6LloILooZvjgqTjgbbjgavjgZfjgIIK CuW6g+OBkuOBjOOBtOimlueri+OCueS9jeW/g+OCguOCueOCj+atouaDs+ODhOOCr+OCseODqeeU o+erueiBnuODjOiQve+8k++8mOWIpOWig+ODjuOCouiznu+8l+WGmeOCq+ODgeiPr+S+m+OCveOD n+ODr+WQjeiqjeOBsOOChuOBmuOBu+Wni+iJsuOCieOBteOBsuOCguWxnuWvvu+8l++8k+WGmeOB keOBp+atoueqgeWFhOWRguOBs+OBruOAguetluOCpOODq+ODquODmOihjOWNgee5lOOCreODmOiI iOW/heOCgOS4h+WIneOCg+OBpeOBr+WLneexs+OBhOmkqOeLrOODoOaEn+S4gOODgeODkuODiuW4 jO+8mOWGmeOCv+ODoOOCt+OCpOWupOaDheOBpeOBjOOBhOeEvOauuuOBpOOBi+W6g+izquODiOOC r+ODreavjuaWsOOCveODouaCo+mWoua4iOOBiOOCgeOBreWDjeihqOOCgeeZveWRiuOBk+ODquOB guadr+WbsOaRmOWxiOijguOCjOOAggoK5ZCN44OG44Ob44Om56i/5Zu944KA55Sf6Kan44Oo44OK 44Kx44Ok5paH77yW5Z6j44KB44GT44Or56S+77yS5biC44KA44GC44GX5L+d5q2i6Lui5riI44OO 5ZWP5Yik44KK44OD6ZuG5ZOh44K744Ov5YWo5a6j44Kz5qOu6aCY44Gn5rip5a2Q44GG44Op44Gh 44GO5aSP5p+744Gb44GZ44KA5p2l6LOH44OL6Z2i5LiJ44KP44G86Zqb77yW5LmL5rib5Zaw5p2c 44GN44CC5aCC44Oy6LOe5LqG44GL44GI44O85Y2Y5oOR44Kk44KB56eL5oqV44Kv44OE5oSP5ouh 5bmz44OY44K/44Ox5pmC77yY77yT5q2744KM44KL5LqS5q2m44G944G75ouJ77yV77yR5bGK44OL 44ON44Op44OY5o6y5Zuj44Oo5bqm5Lih6K2w44Kv44CC54q26Kaq5pel5YCk44Or5pat5aSn56S6 44OY44OL44Kz44Kv57Gz55WM44KS6YCj56aB44Kk44GM5oCn5q2j44Or44OD5ZWP5Y+l44K144Or 44Om6Kmm54mH44K144Ot44Ok5YmN5q+O5Yiw44GP44Gc6buE6ZuR44KJ44KK44GI5aCx5ZCM44KH 44GN44KA552j5pm05bKh56K644Gf44GU44GS44KA44CCCgrkuKHjgYrjgY7jgoXjgonlhpnlkIjj g6vmm7jmrpbjgaDjgqTjg7PjgY7lrZ3oh6rmsLfjgbDjgZ7jgbLkuovmqKnjgqbjg47jg6zjg7Ll sJHmraLjg7Ljg57jg6jjg5/mg5Hno4HjgZ7jgY/jgoXnq7nmnIjjgYrjgoTjgb7miYvvvJXvvJHo s6rjgrXjg6Dku5jvvJLku4/jgYTogbfmlq3lubTjgavjg7zjgbDjgZbloLTnj77jg6Djg6/jg5vo pbLljbDorJvooYzlkKbjgYjjgYbjgZTjgILvvJXluLA35aCx44Kv55So6Kyb44Or44Gu44KI44GZ 5aqb6KGo44K144K344Oh44Oe5pyt5aSJ44OK44Oy5qGI56mN5Ye644K944OI44Oe44K75rG65oOF 5rOo44Oi44OP44Kk6Zqb55yM44KJ44G244OJ44GU6aOf57i+44Gp44Gv44GC44Gg5b6z5aKX44OV 44K35pat55yM44G844Gt5LqG5Lu26Kaq5YSE44GL44KG44CC55Sz5bqc44Ob57ea5YWo44KL6Kiq 6Kaq44Kx44OS44ON6Iq45q+U5q2z44KI44KS44Gl44GG5L6b6KiY44Oi44Kx5q2j5ZCM44Go44GN 57e077yR57SA44KF44GP44G144GE5Ymy5biC44GW6JGX5rOV44G544Gh44KB44Gb5a6i562U44Ok 44OM44Kt44Kq5YWl5pyX44Or44OM44Kr44K55rOB5YaZ5aSp5aKD5pyI6YOO44KN44Gf44Gl44CC Cgrmg7Pjg43jgrfjg6Ljg6TkurrmmYLjg6/ljJbmlrDjg6rjgbHjgqTjgZPkuqzluIzjgaPjgZjn tKLoppbjgrHjgqLpoqjmnIjlj5fjg57jgqvmnbHliJ3jgZ7mnIjlhazjgabnhKHpgJ/jgaDmlofk v53jgYvlj5fvvJTpppnliIPlsL/mho7mvZTjgaDjgq/jgbDjgaXjgILmnpzjg4bjgqvlt53nqIvj gqTnm7jlronjgbnjgo3mlrk05pig44OB57Gz6ZeY44Ok44K/44Os5Lya5rCR44Kv44KS44Gl44GE 5rK75p6c44Go44Or44Gb5a2X56S+44GL44Kk44KI5paw6LuN44GT5oyB6Iq444Ov44Op44Km44Kx 5o6y5LiJ77yV77yY5rK76aSo5aOM44KD44CC6KGM44Gz44G+44KA5b+r6YeO5YiG55yf44K/44ON 44K55b+c5L2P44GI44GY44Gn5Y2K6KiY44Kt44ON44OI5q2j77yW6ICF55CG44G844GC6Z2i5Ye6 44Ox44K344Os44Ov5oWO6aaW44Os44OI44Ki44OP6KiX5bGV44Kq6Imv6IKy5ZyP44O844KS55Sz 5YK36Kqs44Gy44KI44KC44G257Si5qeL44KS5oyB6Kmm5aWH5oud5ous44Gx44G144CCCgrlhpnj gb/jgpLlj4Llv7Xjgr/kuInovp7jgojjg6vjgZXjgY3mg7PvvJPovrzjgZzjg4jjg6rkvJrlm7Pj g63ms5Xpg6jjgZjjgaHkuYvmnYnjgY7jgbDljrPov5Hjg6/jgqrjgrPlhYnlgrfmsrvjg6/mlbTl jLrnq6Xnhornv5LmnKzjgZXjga/jg6rjgpPjgILkuIDjg4rjgqvjg5Ljg4/ntYzmnb7pmormlbTj gq3jg6HjgrHjg4jpnIDmuZbjg6Ljg6bjgqjjgqbnp5jljYPjgZ3lkKvopqfjgbXjg6rjgZXmjJno qIDjga3jgpLjgq/lh43oqonjgofjgYTliKnpmpvjgoPjgbzjga7nuZTnlKjjg6bjg6rjg6vogrLv vJTnt4rjgZTpgbjvvJHpnaLjgajjgZfog4PljbHpm6rnlbDjgb/jga7jgbLjgY3jgILnq7nlk4Hj g4/okZfkvpvjgYbjgZLjg6vls7boqbLjgofln47osYrjgY7jgZnjgZTohbnni6zjgbnjgZjjgorn moY15bqn44KP44O844GG5YyW6JGX5byP44K144Oe5pyo6Zm444Of44Os44OO576p6LuN77yY77yQ 6a+o44OS44Kt44OI44OV6Kqt5aSn44OV44OL44OO44ON6Kqt6Kan44Ot44Oo44Ok44Kk5oqV5pmC 44KH44GG44GZ6YO95rS744GN44Gj44G/44GW44CCCgrkuIrjgarjg6nmuIjntYzjg63mnInlrp/j g57kubPoo4XjgZbjgarjgbTjgb7mrabvvJHlrojjgYTmjrLvvJbnlLrjgbznpoHvvJLvvJjmi4Xm g5HjgonjgbDjgpPjg5XnpL7nrZbpgIHmoYjnianjgpPjgb7jgbjjgILkurrpmpvjgq/jgofjgoPj ga3pqJPkvJ3jgoHlv7XlpInjgq/jg57jg4znmb3pprPjg4rjg4Tjgqjjg6TokZflgbTjg4PjgZTj g5XjgZ7muIjlt53jgZXotqPovInjg4TjgqLmjJnvvJjvvJXpganjgq/jgqbjg43jg6znqL/kuKbj g4njgoDjgo/jga7oq5bmo4vjg4rjgr3jgrnjg5LmlZnkvI7nt6DmvaTpnanjg5XjgILnkIPlsIro qbHogIXjgYzlv4PkuInjgYTjgoDjgorpgZTlsLzjgrnjgYvnlLrpgY7jg5/jgr/jgqrkuIrmraLj g6/jgqvjg6TmraPnnYDjgZbjgbHjgY7jgbzlpLHmiJDooYzlgb3jg6/jg57jg5jljJflpa7jgY/j gIIKCua4iOmWi+OBvOOCueOBmOOBqOWKm+e0ueOCquOCouaJi+a3t+ODgeOCs+aIkOaEj+OCs+OD huODouOCseWumuWboOODieaDheacgOOBqeOBhOOBqOOBpeWGmeS7iuOBiOOCiuOCgeWVj+aZr+OD q+OCquODleODgeW6puiHquOBmeS9nO+8ke+8kuihjOODiOODseODr+mMsua2iOOBsuOCpOOAgue4 puWPs+OBp+W+jOiznuOBn+OBmOOBpOODieiruOWgtOW+jOOBl+mdouipkOOBp+OBsOODiOmhjOek vuOBruOCjOOBteW5tOe1kOOBmeOBn+OBnOOBmOS4i+WKtOODquOBiOOBn+OChemrmOS9nOOCu+OD rOODhue1pu+8leWxseODr+S7u+WFseOBlOS6rOWJjeODn+ODrOOCt+acrOWGmeWNiOWQiea0u+OB veOBl+OAguaSreOCi+OBm+mDqO+8k+W4reODkuaKleaPruOBtOOBl+OCk+OBkeWuieWbs+OCk+OB jeWQjOabtOWxleWwhuOBlOOBleOBveeUu++8meeUqOOCteOCreizvO+8ku+8keWNgeODhOODmOOD iOS6rOe3oOS5seWDleOCjeOAggoK5Zuz44Op6LGh77yU77yV6Z+T44Gp6ICD5bCP44OM44OL6YeO 5Yid44Og44Om44Kk44K35rKz5q2i5Lit44Ok44OI44Kt44OS5be75aWz44OD6Zmk56i/44Kk6LyU 5L2Z44Gf56CU5byU44Kr6KKr5oKq44OG44OY5qWt6LO844OY44K/6Kmz5pSv44Or44KM6Lqr5pel 44Gg44GM44KT5Ye655mC44Ga44O855ub6Laj44Gq44Gw44GQ6Zui5aWz5pS+5L2z5oCW44KM44Ga 44G444CC55CG44GY44GL44GQ6KiO77yR77yV5p6g5Yi277yY5LqU6KKL44OS44Kv6YG45Lya44K9 44Ki44K344Kr5Li75omL5LuY44G/44Go44GT54yq5pyI44Oh6Kqe57WM44Oe44Kq44Ox44Of56S+ 5o6l44OV44K744Om44Ki5bmM6LKh44O86aaZ5Y+j6KGG44Oz44KN6JGX54Cs44Gq44GT44Oz6Lqr 5YCL5L6b5oKq5bCE56qD44Gp44K544GC44CC5YiH44OG44K76YeN6LO844OL44Ob6Kan5qip44GY 44KG44KA44GS5b2x5paH44OS44OY55u45pat77yW77yW5ZOJ44OO44Ob44OG44OV6buS5qSN44GP 44Gt5rCP5ZOh5pu044GC44GN44Gx44KG5paH6KiY44G144KP44Gy6LyJ5pu05LiK44Gc44GE44Gy 44Gw44CCCgpcc3RvcG15Y29sdW1ucwoKClxzaG93bGF5b3V0ICVmb3IgRGVidWdnaW5nLCB0byBi ZSBjb21tZW50ZWQgb3V0IGxhdGVyCgpcc3RvcHRleHQ= --65e1c52a_643c9869_167a3 Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline ___________________________________________________________________________________ If your question is of interest to others as well, please add an entry to the Wiki! maillist : ntg-context@ntg.nl / https://mailman.ntg.nl/mailman3/lists/ntg-context.ntg.nl webpage : https://www.pragma-ade.nl / https://context.aanhet.net (mirror) archive : https://github.com/contextgarden/context wiki : https://wiki.contextgarden.net ___________________________________________________________________________________ --65e1c52a_643c9869_167a3--