From mboxrd@z Thu Jan 1 00:00:00 1970 X-Msuck: nntp://news.gmane.io/gmane.comp.tex.context/96410 Path: news.gmane.org!.POSTED!not-for-mail From: "Meer, Hans van der" Newsgroups: gmane.comp.tex.context Subject: Re: Last version standalone ConTeXt issue. Date: Mon, 10 Oct 2016 09:48:37 +0000 Message-ID: <6AB79355-48A5-4922-8A6B-90E97FBCF511@uva.nl> References: <56B9DB7B.201@gyza.cz> <56BA3508.2060703@wxs.nl> Reply-To: mailing list for ConTeXt users NNTP-Posting-Host: blaine.gmane.org Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="_004_6AB7935548A549228A6B90E97FBCF511uvanl_" X-Trace: blaine.gmane.org 1476092973 20734 195.159.176.226 (10 Oct 2016 09:49:33 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Mon, 10 Oct 2016 09:49:33 +0000 (UTC) To: NTG ConTeXt Original-X-From: ntg-context-bounces@ntg.nl Mon Oct 10 11:49:27 2016 Return-path: Envelope-to: gctc-ntg-context-518@m.gmane.org Original-Received: from zapf.boekplan.nl ([5.39.185.232] helo=zapf.ntg.nl) by blaine.gmane.org with esmtp (Exim 4.84_2) (envelope-from ) id 1btXCc-00019a-RG for gctc-ntg-context-518@m.gmane.org; Mon, 10 Oct 2016 11:48:58 +0200 Original-Received: from localhost (localhost [127.0.0.1]) by zapf.ntg.nl (Postfix) with ESMTP id 54D381AA14; Mon, 10 Oct 2016 11:48:53 +0200 (CEST) X-Virus-Scanned: Debian amavisd-new at zapf.boekplan.nl Original-Received: from zapf.ntg.nl ([127.0.0.1]) by localhost (zapf.ntg.nl [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 1obOOMqlQPTe; Mon, 10 Oct 2016 11:48:52 +0200 (CEST) Original-Received: from zapf.ntg.nl (localhost [IPv6:::1]) by zapf.ntg.nl (Postfix) with ESMTP id 9463F1AA20; Mon, 10 Oct 2016 11:48:52 +0200 (CEST) Original-Received: from localhost (localhost [127.0.0.1]) by zapf.ntg.nl (Postfix) with ESMTP id 4EBF71AA14 for ; Mon, 10 Oct 2016 11:48:51 +0200 (CEST) X-Virus-Scanned: Debian amavisd-new at zapf.boekplan.nl Original-Received: from zapf.ntg.nl ([127.0.0.1]) by localhost (zapf.ntg.nl [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id vcXqfiX5mAot for ; Mon, 10 Oct 2016 11:48:50 +0200 (CEST) Original-Received: from out45-ams.mf.surf.net (out45-ams.mf.surf.net [145.0.1.45]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by zapf.ntg.nl (Postfix) with ESMTPS id 9099C1AA0F for ; Mon, 10 Oct 2016 11:48:40 +0200 (CEST) Original-Received: from HUB02.uva.nl (hub02.uva.nl [146.50.108.231]) by outgoing2-ams.mf.surf.net (8.14.4/8.14.4/Debian-4+deb7u1) with ESMTP id u9A9mcJN022216 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Mon, 10 Oct 2016 11:48:39 +0200 Original-Received: from MBX02.uva.nl ([169.254.2.66]) by HUB02.uva.nl ([::1]) with mapi id 14.03.0319.002; Mon, 10 Oct 2016 11:48:38 +0200 Thread-Topic: [NTG-context] Last version standalone ConTeXt issue. Thread-Index: AQHSItt5wraOme91Z0el6VuFnm4aSg== In-Reply-To: <56BA3508.2060703@wxs.nl> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: yes X-MS-TNEF-Correlator: x-originating-ip: [84.106.134.200] x-endpointsecurity-0xde81-ev: v:6.2.7.719, d:out, a:y, w:t, t:15, sv:1476081700, ts:1476092918 X-Bayes-Prob: 0.0001 (Score 0, tokens from: uva-out:default, uva:default, base:default, @@RPTN) X-CanIt-Geo: ip=146.50.108.231; country=NL; region=North Holland; city=Amsterdam; latitude=52.3500; longitude=4.9167; http://maps.google.com/maps?q=52.3500,4.9167&z=6 X-CanItPRO-Stream: uva-out:default (inherits from uva:default,base:default) X-Canit-Stats-ID: 0vRRJMDXi - 897289fe14c6 - 20161010 (trained as not-spam) X-Scanned-By: CanIt (www . roaringpenguin . com) X-BeenThere: ntg-context@ntg.nl X-Mailman-Version: 2.1.16 Precedence: list List-Id: mailing list for ConTeXt users List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: ntg-context-bounces@ntg.nl Original-Sender: "ntg-context" Xref: news.gmane.org gmane.comp.tex.context:96410 Archived-At: --_004_6AB7935548A549228A6B90E97FBCF511uvanl_ Content-Type: multipart/alternative; boundary="_000_6AB7935548A549228A6B90E97FBCF511uvanl_" --_000_6AB7935548A549228A6B90E97FBCF511uvanl_ Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable This is an interesting feature for handling a call to an undefined macro (a= s might result from \csnam#1\endcsname, for example. > > \starttext > > \startluacode > > function interfaces.defined(name) > return token.get_cmdname(token.create(name)) ~=3D "undefined_cs" > end > > if interfaces.defined("foo") then > context("foo") > else > interfaces.setmacro("foo","bar") > end > > \stopluacode > > \foo > > \stoptext > > I'll add interfaces.defined to the core. > > ----------------------------------------------------------------- > Hans Hagen | PRAGMA ADE > Ridderstraat 27 | 8061 GH Hasselt | The Netherlands > tel: 038 477 53 69 | www.pragma-ade.com |= www.pragma-pod.nl > ----------------------------------------------------------------- As an example I executed the following code: \starttext \framed{\ConTeXt-version =3D \contextversion}\blank \def\nofoo{This is nofoo} \startluacode if interfaces.defined("foo") then context("foo") else interfaces.setmacro("foo","nofoo") end \stopluacode \tex{foo} is undefined: "\foo"\crlf \def\foo{This is foo} \tex{foo} is defined: "\foo"\crlf \stoptext The result of the first call to \foo, however, is not "This is nofoo" but t= he name of the nofoo macro. I expected that \nofoo would have been executed= instead. That would have been beneficial, because the missing macro \foo c= an then be substituted for something the programmer thinks useful. Is this correct? Or am I doing something wrong? Hans van der Meer --_000_6AB7935548A549228A6B90E97FBCF511uvanl_ Content-Type: text/html; charset="us-ascii" Content-ID: <14D9AA5C7339F242951413EF9B0ED096@uva.nl> Content-Transfer-Encoding: quoted-printable
This is an interesting feature for handling a call= to an undefined macro (as might result from \csnam#1\endcsname, for exampl= e.

>
> \starttext
>
> \startluacode
>
> function interfaces.defined(name)
>    return token.get_cmdname(token.create(name)) ~=3D &q= uot;undefined_cs"
> end
>
> if interfaces.defined("foo") then
>    context("foo")
> else
>    interfaces.setmacro("foo","bar")=
> end
>
> \stopluacode
>
> \foo
>
> \stoptext
>
> I'll add interfaces.defined to the core.
>
> -----------------------------------------------------------------
>            = ;            &n= bsp;            = ;     Hans Hagen | PRAGMA ADE
>            = ;  Ridderstraat 27 | 8061 GH Hasselt | The Netherlands
>      tel: 038 477 53 69 | www.pragma-ade.com | www.pragma-pod.nl
> -----------------------------------------------------------------

As an example I executed the following code:

\starttext
\framed{\ConTeXt-version =3D \contextversion}\blank

\def\nofoo{This is nofoo}
\startluacode
if interfaces.defined("foo") then
   context("foo")
else
   interfaces.setmacro("foo","nofoo")
end
\stopluacode
\tex{foo} is undefined: "\foo"\crlf
\def\foo{This is foo}
\tex{foo} is defined: "\foo"\crlf
\stoptext

The result of the first call to \foo, however, is not "This is nofoo&q= uot; but the name of the nofoo macro. I expected that \nofoo would have bee= n executed instead. That would have been beneficial, because the missing ma= cro \foo can then be substituted for something the programmer thinks useful.
Is this correct? Or am I doing something wrong?

Hans van der Meer



--_000_6AB7935548A549228A6B90E97FBCF511uvanl_-- --_004_6AB7935548A549228A6B90E97FBCF511uvanl_ Content-Type: application/pdf; name="tester.pdf" Content-Description: tester.pdf Content-Disposition: attachment; filename="tester.pdf"; size=8793; creation-date="Mon, 10 Oct 2016 09:48:37 GMT"; modification-date="Mon, 10 Oct 2016 09:48:37 GMT" Content-ID: <76CA9ACE9C622142A558AEA06001353C@uva.nl> Content-Transfer-Encoding: base64 JVBERi0xLjcKJdDUxdgKOSAwIG9iago8PC9MZW5ndGggMzc5ICAgICAgIC9GaWx0ZXIvRmxhdGVE ZWNvZGU+PgpzdHJlYW0KeF6lUslOAzEMvc9X+AcavCR2IqGRaEuRekPMreoJBBd64MTv48xSmJZV HGZiJ/azn/0QngDhpsHxXHbNxYaAKJSUSDN0j0Aegf7njCFJjAlMMWhkZugOsLtETNzuu20zRRqH lEQNDDmwpmMcX3ksIcZ1m9nzNM/ySgn+XATULc0521RAaBZImIKaKJ1VMHHU4hUQ0bBl8yrCfue+ +hn9GztYCGt9je1o6dJzPDfV+ORnHuz+zu16ikzR1asfr4aocQbXXfPyPggMuY6BYqDoteH+0Oz2 CA8+0C1gkJITvPbzPQAVDJGUzL1nuGtuPwJRQFVOPhn1JeQcv4XydVnwjrOcIbE6VJbC/4eygV1t ySRj+SO7Xmvpc61N0EaBC5pMOmDfq9iwwjRo4ku9uoZ6mqcYVQLKx6Wvqxx9jZtBKDb61a53vGoX UWIV+fhSaw89tIteX30z67GZHwgl9ZkJx/8QOsWYE/odEXV1iNOb5869r0i6xN8A3qbckwplbmRz dHJlYW0KZW5kb2JqCjE0IDAgb2JqCjw8L1N1YnR5cGUgL1hNTCAvVHlwZSAvTWV0YWRhdGEKL0xl bmd0aCAxNzczICAgICAgPj4Kc3RyZWFtCjw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0ieG9ydXVz bXlwemxkbGdzYnR3ZXFibmpvIj8+PHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyI+ PHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50 YXgtbnMjIj48cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczpkYz0iaHR0cDovL3B1 cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iPjxkYzpmb3JtYXQ+YXBwbGljYXRpb24vcGRmPC9kYzpm b3JtYXQ+PGRjOmNyZWF0b3I+PHJkZjpTZXE+PHJkZjpsaSB4bWw6bGFuZz0ieC1kZWZhdWx0Ii8+ PC9yZGY6U2VxPjwvZGM6Y3JlYXRvcj48ZGM6ZGVzY3JpcHRpb24+PHJkZjpBbHQ+PHJkZjpsaSB4 bWw6bGFuZz0ieC1kZWZhdWx0Ii8+PC9yZGY6QWx0PjwvZGM6ZGVzY3JpcHRpb24+PGRjOnRpdGxl PjxyZGY6QWx0PjxyZGY6bGkgeG1sOmxhbmc9IngtZGVmYXVsdCI+dGVzdGVyPC9yZGY6bGk+PC9y ZGY6QWx0PjwvZGM6dGl0bGU+PC9yZGY6RGVzY3JpcHRpb24+PHJkZjpEZXNjcmlwdGlvbiByZGY6 YWJvdXQ9IiIgeG1sbnM6cGRmeD0iaHR0cDovL25zLmFkb2JlLmNvbS9wZGZ4LzEuMy8iPjxwZGZ4 OkNvblRlWHQuSm9ibmFtZT50ZXN0ZXI8L3BkZng6Q29uVGVYdC5Kb2JuYW1lPjxwZGZ4OkNvblRl WHQuVGltZT4yMDE2LTEwLTEwIDExOjM5PC9wZGZ4OkNvblRlWHQuVGltZT48cGRmeDpDb25UZVh0 LlVybD53d3cucHJhZ21hLWFkZS5jb208L3BkZng6Q29uVGVYdC5Vcmw+PHBkZng6Q29uVGVYdC5W ZXJzaW9uPjIwMTYuMTAuMDggMDA6MTE8L3BkZng6Q29uVGVYdC5WZXJzaW9uPjxwZGZ4OklEPnRl c3Rlci4yMDE2LTEwLTEwVDExOjM5OjQ2KzAyOjAwPC9wZGZ4OklEPjxwZGZ4OlBURVguRnVsbGJh bm5lcj5UaGlzIGlzIEx1YVRlWCwgVmVyc2lvbiAxLjAuMCAoVGVYIExpdmUgMjAxNy9kZXYpPC9w ZGZ4OlBURVguRnVsbGJhbm5lcj48L3JkZjpEZXNjcmlwdGlvbj48cmRmOkRlc2NyaXB0aW9uIHJk ZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iPjx4bXA6 Q3JlYXRlRGF0ZT4yMDE2LTEwLTEwVDExOjM5OjQ2KzAyOjAwPC94bXA6Q3JlYXRlRGF0ZT48eG1w OkNyZWF0b3JUb29sPkx1YVRlWCArIENvblRlWHQgTWtJVjwveG1wOkNyZWF0b3JUb29sPjx4bXA6 TW9kaWZ5RGF0ZT4yMDE2LTEwLTEwVDExOjM5OjQ2KzAyOjAwPC94bXA6TW9kaWZ5RGF0ZT48eG1w Ok1ldGFkYXRhRGF0ZT4yMDE2LTEwLTEwVDExOjM5OjQ2KzAyOjAwPC94bXA6TWV0YWRhdGFEYXRl PjwvcmRmOkRlc2NyaXB0aW9uPjxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiIHhtbG5zOnBk Zj0iaHR0cDovL25zLmFkb2JlLmNvbS9wZGYvMS4zLyI+PHBkZjpLZXl3b3Jkcy8+PHBkZjpQcm9k dWNlcj5MdWFUZVgtMS4wLjA8L3BkZjpQcm9kdWNlcj48cGRmOlRyYXBwZWQ+RmFsc2U8L3BkZjpU cmFwcGVkPjwvcmRmOkRlc2NyaXB0aW9uPjxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiIHht bG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIj48eG1wTU06RG9jdW1l bnRJRD51dWlkOjA2Y2Q0Zjc0LTQzYTktYWIzZi0wMGZkLWExNmU0YTAwNGYxOTwveG1wTU06RG9j dW1lbnRJRD48eG1wTU06SW5zdGFuY2VJRD51dWlkOjAzZTMyNjE1LTQwMGYtODJiNi0xNGE5LTU3 YzEzZmEwZjdlYjwveG1wTU06SW5zdGFuY2VJRD48L3JkZjpEZXNjcmlwdGlvbj48L3JkZjpSREY+ PC94OnhtcG1ldGE+PD94cGFja2V0IGVuZD0idyI/PgplbmRzdHJlYW0KZW5kb2JqCjE2IDAgb2Jq Cjw8L0xlbmd0aCAxNyAgICAgICAgL0ZpbHRlci9GbGF0ZURlY29kZT4+CnN0cmVhbQp4XmNgYGDg YGAEkg4AAIgASgplbmRzdHJlYW0KZW5kb2JqCjE3IDAgb2JqCjw8L1N1YnR5cGUvQ0lERm9udFR5 cGUwQy9MZW5ndGggNjYzICAgICAgIC9GaWx0ZXIvRmxhdGVEZWNvZGU+PgpzdHJlYW0KeF51Ut1L U2EYf183V+bRmjQSzLM30bB0Z2sV0Qf4MVQcnmk5ocCo6d594Omcec6ZS1EkRCrOmVqKy1IUQRzk v9Cdu3IhXoWEXWYUFN143nUKOqMiCHounuf3ez74wcMPArMZQAjLWW+Xv7m1roNlBV4453bcwOE4 FxDzszZyklQqFE1oQOyQoAJyykSqzCoF9V7KtEuZv3fpW7k736YLKwGAz47m87p1j6oyQMEcVZ3n y1QNOFwAICgHlaAGnAU5WASt8MR/ZJuCQh9uD2JejsrDbsbluuARYsNiNByRkdvlOl+fz5dRM4O8 gf4BISENRFGADyIvg1gG+YSE0Y2iWoFHfTgS4EJICCE/voniEhYlFBaFeEw6wyB/JCqhhCAOIKOK mMMBCQdRnA9iEckRjNp6uv2oVeBl1BHtx7yEkcOBkIQxishy7IrTKcfDjCCGnSFjR3Jyv5YkZ/7O 0drp8zs62j0tvu4WRr4vo5AgoiCWA1FOYv798x/uE8R7AQ4YUQ0ugesm42NGmIEZQnPj+ntto5Sk 2KHcUgJukmoTuX3LNvt4+tETWt/LsYVLE5PziYrRkfGhieTDqUm7tvejs/DBzOzISsXzxdSK3bhV Mtp2RjuegZo3+/WtiTSRTdtmgzLacPWum+6pPTQWU3h+TVmwf9G36y1jg7+ZNmtZWFPS6UFlzF6v bWslf6le8sqyu6O8pJXZ4MaL1dQ6bchMZrR3GZjJaitZE+nVOJtmdX3WgQ5ctbpVL9uvOzjY/6SV 0d6ntjq20eNh33z8sPV6Z2ernaFL8547Riqo04ZxwMW8idJl4yniSWnXFqZUC+31c06qSKGKM0ey xem5RTWpquqUujxDURurBpxR1eR8co4q+QmZbw/WCmVuZHN0cmVhbQplbmRvYmoKMTkgMCBvYmoK PDwvTGVuZ3RoIDM3NyAgICAgICAvRmlsdGVyL0ZsYXRlRGVjb2RlPj4Kc3RyZWFtCnhehVJda4Mw FH3Pr7h7KLQP1tiuHZQirHYFx/pBLWOvNrl2AU0k6oP/fkmsLYyVCYI399xzzzlx8HRIvFeuzuhN xxSOWKlGM/SibVqSwWCtWFOgrHeIHHnfrRZw0IolWMMwitexFPXIgGPJ8oZjj/obtMKLkHeI3QPD E3552/fDabXxPrZbJVUw8Y54afJUe9RSn0Sd4+IfIBgaeEADjuYTdSWUXEAwppSagzfJI1VYhxXx r1bA781lQnJ9TQTOVjgJJsAFq6+VO2OFicoOJ21VYxHLTJHlEnxjQFS1bp3qEfH3mqMW8gLDBxoN JmnKMkerBygJQ+CYGWqT0S4tEHybU8xNV9Tto8DuM6e2RDB6DUfQCWaKY1WmDHUqL0iWJgQawnJj npCg5L/6tJs6Zx3cAPrPad9h36m2PJNnw0PpLAptNX1x1XzuqlnQVd2Oc+Zm7DYb3M0ca7Q2zly6 zrIVLiTeLqBUpZ1yr7u5/i+y1X5DfgD1duNACmVuZHN0cmVhbQplbmRvYmoKMjIgMCBvYmoKPDwv TGVuZ3RoIDIzICAgICAgICAvRmlsdGVyL0ZsYXRlRGVjb2RlPj4Kc3RyZWFtCnheY2AAAs1KxgUs CS1LrkxwAQAW9gR4CmVuZHN0cmVhbQplbmRvYmoKMjMgMCBvYmoKPDwvU3VidHlwZS9DSURGb250 VHlwZTBDL0xlbmd0aCAyOTYyICAgICAgL0ZpbHRlci9GbGF0ZURlY29kZT4+CnN0cmVhbQp4XqWX CVQT1xrHJ4ZkomLaxxifZuhMaK0LKiAu1RargmhVoFWxKiplCxAJCWYhBEUCyJJcIosssgQICAyI IosKr7ig1SryWreW1ufS2taqpYtLewcv5/RN8J3a89qe8855k3MmOd/9knvvN//v/8vlYU5OGI/H m7TUN2h1QMCMgMC16vhw1WzvWWvlMXpluMYxuJx1ZV8CzhRLYSzNY2WjWDc++7IT8nPmH3N2Gn4d tbgKNE+R4CUM41W84Lhf/xt0cX6Z+zTO13myI3DF+VVMNArjYZMwCpuCzcCe8sbyxvOkfzXt0ih1 hHxllFylU+iM3h5eXnP91AlGjSImVifz9vKaM9NxXyjz9ZCtCo+MUxu0cQpZuCpKtspDFughC1Ib uKhCNk2tkkXIY8OV0TJ1tCxYvlGm18o1WlmMRq1P0E73kAXHKrQyg1oTJ+PeNXKlPFwrj5LpVVFy jUwXK5etWL8uWLZcrdLJAhSRcpVWLps1SybTyuWyWJ0u4XVPT50+xkOtifGM5nK0nspnSVpPx/dm LX87KHhWwEo//6B1/h66JJ0sWq2RRcl14Qql1uMPhf4tEKTWxIcrMe5yx2ZinthszBubg83FXsMW Y0swXywQW4OtxTZiW7EwLAKTY7GYAovD4rEETIsZsRQ+V2TucsVcHeV2wnRYM28Kbx/v11GWUVf4 C/jH+VecZjkdFogF6wTbBYzQVXgOD8XPicaLskRfj14zZuyYjLEz0a/ii4nMkCfD673Hauv5QzK4 U1ICCkxplqzdFJqTjkT+7qQ/WncEdsEj8J1jV598643cq+lUK8gpJcvAnmoapuE2kJ+WaTGnZVIh PoIzoSsO+ZFoNfLmXmEoEs5FXnAlXHAPvgJH0eJhHAzCtEHenUE+DGAJSYOuRqMy6DTx+5NqG+w1 jRS64/SHmHhaWrWhnXWthooOF3hqAPSBgfFiYhdbOoHBV2QU9tDszziiTQIV/vHe3SE02o4ziWGH gkgkmjodjUfEg+lw1MCx41Vl9HIcEk5GkJOip4hDsdoI1SZyO8KK4btXSzvsLXRzdUfzcfLCodAd xXRpMjAbpeJawMA+Bh5meND1Bgyxw5n2fDt/yAUWSfRC5KXVLkOLSOQqfM9c2ELD2rv4dyXKebQd VuiF80zKGZQXzBG2WAuPUXCSEE5t3oQml9N24XaoFQx3qqqFV/ekRdPD9Xh0TpofZVCxvUIxikqz w61VoApuMLg0DcCMC8R5dgYcKynIysvMMGdlmanXtr+lCyfDpzTCpXQVbMKJHrsVVP20/j4ah4Rz JqMX0cSH7pAPx3ZBrIYOhBMlKF0IZ+/9ytZI/lKA3BS5tDixgRXUwaw6l87upE5Y15nUTSjZYPi6 5KFf16L3qeMN17pvS++89qHntEW+XopiRaOCKtmVa7kcIiKuuIduestX6vbTyoeQf+/mE2oFfCwJ ei9kTRyFRAMComVXUWR9j7T/486Prl7c4EfZhwnJ4jc3vEERLvN9L9z6/IO+/iYajvMR1Cd3K4Ok YjgWUofh9MO83iE3/tAG+EBSlQx2UsNfClOMwJhUCcpp9kthmQ3YaBTk9JdjYjQIGHY0A+sNPMjr u3udDx8MuUgOxzCb/X3Wv0qh0YtUn6MbeKgJrKJUuLXxNGgiG64Acy3NGHBfc0krDa9DAYNwOBr/ pru7c2+5ObOUyrZo0lVSXcWO2rqKijpKPI2bxKFFRsWpEeuHkf3ENdbGSXGTBjRZaBiA3wONugNU u2pLgYKcF7lKmUJb4EMhMfg7jQ7X/LaM+l7QSDK9wFxPM/jqVNBFwyD8yaUzFy6UbQyiUOqfJYrR Zbiml1cC9/FhHVwj6UX71uOO7mJYEbcuiA+6fDW4uI/YDzO5ha3Kzm+nWSec+AC5OrrkYlEm1yX7 nxfifcCQJWeB+SBNTFzH/iRp0lZp1Yn6hO12fX1TVd2zTcMWpu9/27O7fIEhg7Y8cmx5ZMJnbVn3 /205zc4uN/C4hmga4LPvwW0SKJn+CImQ80w35ILG/zgDCuGYwe+hC7W4SBILArdvoTartybJyejQ ih4VndBlOXdE2gbON3dRRxuPVRwi248Yoxro5q0gIFoq5irXwVzkhKO+xGc9JjBKfE5OaSvNnsdr Qa6BStBuip5MqvDa46D+ND1sw2NyUudQSpXQ2jAIWsiW74C54Zm9PfO2nj9amxi1se8kwoPcHD5D cyW23J1lRtK4M8WYS9cgq8Au/AVa/yQqRuVc7T/qsDlq/7gv+/qB68R4+DNnnk0JjWHzVZ5JmZQF 8oUEg6R/VuvfqxwndhuExKpnUp+ND3bc/WyvFVjyqIzsHZkJUlWtqaK6el8DJUbFJYnQ2wbLbbyW Lmjs4sMnkJD0bjuQXkTFNCcUrCwVxRf4ln0oba7p/gbyCjyUViojtxDsIUtAvo1+PAKFjCR9+m5q v1JZEEeicTErg00gti2WPqA+uLs7/bRpX85+g8i2c59eLQ3TbJ6zcnPbj3oq22axAmmeORvkkCaQ ZaSRK24EWcX5ubk1lVR+IbCWV4i2tPWCSvLJybPXHTYGQ+ruNZyt/vZmxE3AudlN6H9zx01inokz szAJnOTx9VTvbW+q06gGHBbAFzp6KUKEtbaa4qtowglLlYMImgAmfXlS/f7Kcuak/MRcTk0TkQQl oEboHPgFRVxaAnn3HsAJ9MJcyUYQmiSnNmtikiPJgPgzNel0en1az2Xp9dYfvjnNRCvKqYposClM Kr4ImCGMg8Y/b/CH5rCbJUaH4w8KjUjLPWnoXVbUCr1JWyMw76Wrc3JTddJhBleAlOlUDKepA49A O9n+GJgP0EwMPh2UHaRZBt9vLarIo6x7GVBFQu+iGORdRnPq4PpCysAAg8ujfr0dutqJJ5yLvSj5 QB+M+6nCo1aAe5UUbIFuDHLjvImI1Qsts2JmeOWIDDhx7QvULET8T3Sn+louXKXE4Ap8ep+zQJee +5/dAvcjbxG72QDow6EuJzkjOG2HKH33WhBPokBhQ+35i/V1IuIpnAllZ07+IIW412dcN4pWTJu3 8RjYU1NffqAxqUqdbgaWHOrjqt7ufvKLk8s854csXbuaRqEoUaBleTjH9nZW1MF7ZqT8ER8dQTpk ceT2XM8r8Pmhy5YszPrHKQre/s/IAMjxppE7HghimrZR2+s6U0+QlQcAc5BmaivagHQ2LkYuJYms F8OzsTo+m8VOkTC4WZUClORCK2dLR8z58SZpOofUVOpVVIKc4CFBVpkF5Evr24CN4nI1G0ACOcOR e6Y4W1lKw1fQU0FKvjWrlCwssFYW0nAC/FeRvfLoxdxJ4rvcIxcwPPuQP39oM7ePd7TgkI5G2+A1 SMGtlXXMsQe5k7gfDTOBjWTCamDV0Sq8M2efNllqys7MTKeQM1qGSLhFkJOXXZgvLaupaHUsQusD VKTaH1i1XP6nxVlxNTR8GzUhH2RO1sRFzrZM4mB2tAScIBv6R2CGh1t37a+UluQXFhRRcCqMg/NR lqAgPdeSLU01JkdZHPSr+5wz/UaOfnW0GCQO+Rp4nQNwL2etwfCa5FbWjZgB6laEnz2EXLNMtSCa VgekBSJM6l7o27qMWtx+SXuSvHP85FmGbv3U+v1Z6eJSyVtgsYnj1aikgKRYMm6VDfKSaNOHYOCy 9Cb4pOIc9VHlieajZNtZ3bwqet9a4LNCOkKVq7fjHcR64fZpA2dvcEof6CPyTSP/7UZgyHELjcsQ EEuwzDSLxUwTrZjFbAYpJBoNBcKHd9rOFb9vUTRR4TlKk6puV6WtrrT5xJauN73QmE0IoxH+X9Dv 4aDfdByYG3+j7Q3OColTpu6CXRE0anhOxeeZYscB6UWWdJ7CHXOwNxxHnnddEmtYv3KoLt5bI6RW BSs9nUcD57HMmP6xVblWzq4K8nKtHeXOzvaGMmtB/h6rNa8gz3kcu2v80N8l/wZxiSgzCmVuZHN0 cmVhbQplbmRvYmoKMjUgMCBvYmoKPDwvTGVuZ3RoIDQ5NiAgICAgICAvRmlsdGVyL0ZsYXRlRGVj b2RlPj4Kc3RyZWFtCnhehVNNa+MwEL37V2gPgfTgWv6I3YZgyEcDYdO0JKH06kiTrCGWjWwf8u93 pJFbKBvWYPDzvHkzbzQa/Xo/+HNZn8CPHznbQ1v3WoC/fC0abzRa1aKvQHU7AAlyiLZT9q5rcYCO jZeb1UaV3QOSN0pcewkD69+kBVxK9U0xddj4CJ/+fLH7vd3629d9XRUqjPw9XPproX1utI9ld4Xp /5gMhdg9IWaFPkC3Za2mLHzknOOPFyWXdWVMtl7g3LBg8HculdRuKOxkevfCiMlSdA7Zf6LCaZnk w63toNqoc+3NZixAC2Xb6Zvt+8EL3rQEXaoLG99rEkmHvmmuYBpi3MtzJuGM2jinXVEBC8ysNhKj ZXe7O7TvpOOtAYYdo0hILYtaQtsUAnShLuDNcAw8Z7M1PrkHSv6Ic8o6nYmOhOEzyoaQ+FNoIxTN UYjzJM4tWloUzwmtLUoTi+KQmBNCEcUciinviWIJoRWhjJgpIadJzMTYwELETJzmM6EV5b1YNKHq KRo2iJjYkkVPpOKYlBdFNpZShcwhysvILTZvVaizlFQm5DZ9JqZDC2I6FaqQkffMVSAVlLYq5C8j lZgTco5SK0/nYs/BHKHZx6+VEb3WuC92ae0imW0oFXztdVM3Jsu+9kIM99Ogt7X3F32vJ0MKZW5k c3RyZWFtCmVuZG9iagoxMyAwIG9iago8PC9UeXBlL09ialN0bS9OIDEzL0ZpcnN0IDkyL0xlbmd0 aCAxMDAyICAgICAgL0ZpbHRlci9GbGF0ZURlY29kZT4+CnN0cmVhbQp4Xq1VXU/bShB951fMW4Oq eD+8/kIICciNShu4CEJvJcsPS7zkWkrsyHYE/Pue2RAI6gVa6Uax1+s5s3Nm9uw4JUkJqTgkFZFW MamUtJGkFBmjSEuKYgMDJaGGgTJlSLEZUA00sHtKkzIyI42FjMH7FIsl0d7hoZg+rpy4tHMnTpu6 d3XfUYaIV+LKdc26nbkO0Xl+7srKnjQPucQ0yqJAJ1GUUWpUkKZZEhfitG1WAFAOwDMk3iJSKkhM 22r5LgRUWpAAbQ56dMQUxyDGg+K8mMo44uy9XVy2zeza9bm4HI3F1D30BZzyMM4jFRVR5IdU+aF4 zpdXHLlu1larvml9gAu7dOL86+X0ZPx5cn7e1I3Swys3Xy8sAAs778h44AnXYGiMoWEIFgl2RUmV FeK4m3nmmIhTu/riqvm/PcVKCQ7FJnYQZ71dVLPjer5wJMV175bfSSVa/HhyMKHyccbVwmHPN8U/ PRshSajgpSp+4xgorte3PU/4jRR/1bOmrOq5OCsRs+ofh1/Eie2ch76V4IZhaREWsC6HqhC2ENPm pq6wniPlVbHZkF9Dgx87bhh8GO11+VnQnOM/LPBtso8dCnNW3zUIh12our59pMFx2dy6ffF3W7oW KdJgm+M+irBaLdySyyyP8NvLjc4TmRTG5DrRhUnyyJjCZHkcx2TCiEyGgxVrFonOsiIOGUChjos4 9i7JxgXqYSiuIk29IQvzMEqLLM7DVBVZiiEusO+Mw2g4LrFJyeTpXeaXUkpDiQnGKE9CzPWTj4ZQ Yf9YoccnF98mEyj0qlna+n2Jak1DnaIVhBlagtLJi0Yx2dVoGr5oFB7/qdFMvSFRHe5KFEHf0clv SPTNDH/RqD8MuxrVXj9/ptG3C/qqR3Bn3YgUnfb/E+luA+4ILXjNHUR8q8ou96eCu9kWdGrROpq5 79bdU4ck9OXelrCgs7MDefPE3rpFR4eHJC7Wy863ZJ5ckxjhjhh0dISGjJvHn/MRFzedu2hqPHx3 bVc1NQkVJJ7AHn8dpu5HH3xtbmu0Shr0Dke03WfSGwufwKbtaTDjD8lDP7c4pnVQu34HNK3YV0sV D5XEH7o8CLMdwE27oMH9/X2wau18aYe2dMGsWe4gtuT8KoGSgUSl5IFSjGmd7cF8ZHuEGR0wBAdT Kj4D8WepP0n5aYtrWjq8c3d3UpqZlEkkJbAyMhjxHKVSaonrdjOaEO+Bjd1rTAK8t5ewAYseIKMY dT0bbYsUvOQ79fkeeC4HUoIKSv8RW3zjyvXMtTSYrC1qPVQBsobvtOrxFXlKgokw8QREn581iExb u1q5ksTYLjq3hw39CU2EYZoKZW5kc3RyZWFtCmVuZG9iagoyOSAwIG9iago8PC9UeXBlL1hSZWYv SW5kZXhbMCAzMF0vU2l6ZSAzMC9XWzEgMiAxXS9Sb290IDI3IDAgUi9JbmZvIDI4IDAgUi9JRFs8 N0ZDNUVFQjU2RDdDRjcyRTQ0MTYzMDRGNTM5NTJCQjk+IDw3RkM1RUVCNTZEN0NGNzJFNDQxNjMw NEY1Mzk1MkJCOT5dL0xlbmd0aCA4OCAgICAgICAgL0ZpbHRlci9GbGF0ZURlY29kZT4+CnN0cmVh bQp4XhXIyxFAQBCE4e59YFnrqCgXOcjLTRICEJIIxLN6Dl/90wOwAk68BInSCKrDSAExQe0kSM/t BfnZzzEtYLrs9synNUrDcoDlsd1yva1JBsncZ/zjIgzSCmVuZHN0cmVhbQplbmRvYmoKc3RhcnR4 cmVmCjg0NzEKJSVFT0YK --_004_6AB7935548A549228A6B90E97FBCF511uvanl_ Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: inline X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX18KSWYgeW91ciBxdWVzdGlvbiBpcyBvZiBpbnRlcmVz dCB0byBvdGhlcnMgYXMgd2VsbCwgcGxlYXNlIGFkZCBhbiBlbnRyeSB0byB0aGUgV2lraSEKCm1h aWxsaXN0IDogbnRnLWNvbnRleHRAbnRnLm5sIC8gaHR0cDovL3d3dy5udGcubmwvbWFpbG1hbi9s aXN0aW5mby9udGctY29udGV4dAp3ZWJwYWdlICA6IGh0dHA6Ly93d3cucHJhZ21hLWFkZS5ubCAv IGh0dHA6Ly90ZXguYWFuaGV0Lm5ldAphcmNoaXZlICA6IGh0dHA6Ly9mb3VuZHJ5LnN1cGVsZWMu ZnIvcHJvamVjdHMvY29udGV4dHJldi8Kd2lraSAgICAgOiBodHRwOi8vY29udGV4dGdhcmRlbi5u ZXQKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX18= --_004_6AB7935548A549228A6B90E97FBCF511uvanl_--