From mboxrd@z Thu Jan 1 00:00:00 1970 X-Msuck: nntp://news.gmane.io/gmane.comp.tex.context/91489 Path: news.gmane.org!not-for-mail From: Maggyero Newsgroups: gmane.comp.tex.context Subject: Changing font for math function Date: Sat, 16 May 2015 01:34:50 +0200 Message-ID: Reply-To: mailing list for ConTeXt users NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="===============1975894203==" X-Trace: ger.gmane.org 1431732961 8133 80.91.229.3 (15 May 2015 23:36:01 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Fri, 15 May 2015 23:36:01 +0000 (UTC) To: ntg-context@ntg.nl Original-X-From: ntg-context-bounces@ntg.nl Sat May 16 01:35:51 2015 Return-path: Envelope-to: gctc-ntg-context-518@m.gmane.org Original-Received: from balder.ntg.nl ([5.39.185.229]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1YtP8u-0006Fs-A3 for gctc-ntg-context-518@m.gmane.org; Sat, 16 May 2015 01:35:48 +0200 Original-Received: from localhost (localhost [127.0.0.1]) by balder.ntg.nl (Postfix) with ESMTP id 7F63D10220 for ; Sat, 16 May 2015 01:35:47 +0200 (CEST) X-Virus-Scanned: Debian amavisd-new at balder.ntg.nl Original-Received: from balder.ntg.nl ([127.0.0.1]) by localhost (balder.ntg.nl [127.0.0.1]) (amavisd-new, port 10024) with LMTP id KmMo7ntLh9n1 for ; Sat, 16 May 2015 01:35:45 +0200 (CEST) Original-Received: from balder.ntg.nl (localhost [IPv6:::1]) by balder.ntg.nl (Postfix) with ESMTP id 408C11022F for ; Sat, 16 May 2015 01:35:05 +0200 (CEST) Original-Received: from localhost (localhost [127.0.0.1]) by balder.ntg.nl (Postfix) with ESMTP id 78BD8101EA for ; Sat, 16 May 2015 01:35:00 +0200 (CEST) X-Virus-Scanned: Debian amavisd-new at balder.ntg.nl Original-Received: from balder.ntg.nl ([127.0.0.1]) by localhost (balder.ntg.nl [127.0.0.1]) (amavisd-new, port 10024) with LMTP id ZZz1fYoqGzF6 for ; Sat, 16 May 2015 01:34:58 +0200 (CEST) Original-Received: from filter1-utr.mf.surf.net (filter1-utr.mf.surf.net [195.169.124.152]) by balder.ntg.nl (Postfix) with ESMTP id BF625101E8 for ; Sat, 16 May 2015 01:34:53 +0200 (CEST) Original-Received: from mail-ig0-x22e.google.com (mail-ig0-x22e.google.com [IPv6:2607:f8b0:4001:c05::22e]) by filter1-utr.mf.surf.net (8.14.3/8.14.3/Debian-9.4) with ESMTP id t4FNYpWS026930 (version=TLSv1/SSLv3 cipher=RC4-SHA bits=128 verify=NOT) for ; Sat, 16 May 2015 01:34:52 +0200 Original-Received: by igcau1 with SMTP id au1so10015849igc.1 for ; Fri, 15 May 2015 16:34:51 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:date:message-id:subject:from:to:content-type; bh=JsvUUzE9PLjq2Szw4Z3PPtcZjT/qol2ytwGU04K5wvo=; b=oHEAnnUdIVJcWlXAmvLb5C9Jfuj8ukiGNgNmnmNwB55vwL2dkZsvBumF2Cy1nX7Z6l c7ffRrzi/9qgW3V4gXAF0scWV2dd0K1howQvvADgU2vxSKXXjcXrcqoYyq0Uk8SBOzmc CNtAWzKJAQK02j4WJ3EullIGCNhVdNosep9jyhuDpkEDvWGghHmnjFZLqkV0A2vFngh6 I8TZ7fk+x0JY595D1DuWUWohbufLjEouq9HvzabRgfYw5oqDX3ENzSI6u1fipGRSnQ5R /uN5J+BRI2V116/crlfaQ5W0m1NhrSdD/Xu0YqhXsTKAu3CfaTrm0zm9gfI0+YMBMYSw zpAg== X-Received: by 10.107.30.10 with SMTP id e10mr16511123ioe.72.1431732890824; Fri, 15 May 2015 16:34:50 -0700 (PDT) Original-Received: by 10.36.65.80 with HTTP; Fri, 15 May 2015 16:34:50 -0700 (PDT) X-Bayes-Prob: 0.0001 (Score 0, tokens from: ntg-context@ntg.nl, base:default, @@RPTN) X-CanIt-Geo: ip=2607:f8b0:4001:c05::22e; country=US; region=Iowa; city=Council Bluffs; latitude=41.2324; longitude=-95.8762; http://maps.google.com/maps?q=41.2324,-95.8762&z=6 X-CanItPRO-Stream: uu:ntg-context@ntg.nl (inherits from uu:default, base:default) X-Canit-Stats-ID: 07OsnyQ9a - 866cec090230 - 20150516 (trained as not-spam) Received-SPF: pass (filter1-utr.mf.surf.net: domain of maggyero@gmail.com designates 2607:f8b0:4001:c05::22e as permitted sender) receiver=filter1-utr.mf.surf.net; client-ip=2607:f8b0:4001:c05::22e; envelope-from=; helo=mail-ig0-x22e.google.com; identity=mailfrom 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:91489 Archived-At: --===============1975894203== Content-Type: multipart/alternative; boundary=001a1140f33c5ef6b20516274a61 --001a1140f33c5ef6b20516274a61 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable > Aditya Mahajan: > The default should be \mathupright (as is the case in amstex and latex, and probably also plaintex). > Hans Hagen: > next beta: when one of the stylealternatives text mode else mathmode > (default nothing =3D=3D math upright) > Hans Hagen: >> Because like in \mtext, the \text command is ESSENTIAL (for the function names to have the mathcodes, kerning and ligatures of the text mode instead of the ones of the math mode). >that is not needed because if you use a style known as text style a text font is used Alright, but why not ALWAYS use your text style (or my \text), why talking about \mathupright then? \mathupright should never be used to display a name in text style in my opinion. I don't get it, is there something that I missed with that \mathupright? (And I'm not managing to download the new beta of yesterday so I don't have access to the new code yet). Appart from that story of \text or not \text, what do you think about the suggestion that I gave in the conclusion of my previous post? Do you plan to still use version 1 or to implement version 2 after the freeze for TeXLive 2015? My conclusion was: CONCLUSION. =E2=80=94 It all comes down to the choice of the best user inte= rface for math functions and math texts (usually used as subscripts of variables). Their styles and colors is handled with \setupmathematics. There are two choices of user interface: 1. $\normalmathop{\mfunction{Arsinh}}\nolimits x\ \text{and}\ n_{\mtext{air}}$. 2. $\mfunction{Arsinh} x\ \text{and}\ n_{\mtext{air}}$. First, the default functionstyle and textstyle in \setupmathematics should be \rm\tf (the text mode equivalent of \mathupright, as we are always in text mode thanks to the \text hardcoded in \mfunction and \mtext). Then, in the 1st solution \normalmathop is used instead of \mathop because the latter is modified by ConTeXt to convert \rm to \mf, which makes \setupmathematics[functionstyle=3D\rm] without effect. The 2nd solution is obviously way cleaner, that is why I think it should be preferred. The implementation is given in my '2nd DEFINITION of \mfunction' for replacing the existing definition in math-ini.mkiv: =E2=80=94=E2=80=94=E2=80=94=E2=80=94=E2=80=94=E2=80=94=E2=80=94=E2=80=94=E2= =80=94=E2=80=94=E2=80=94=E2=80=94=E2=80=94=E2=80=94=E2=80=94=E2=80=94=E2=80= =94=E2=80=94=E2=80=94=E2=80=94=E2=80=94=E2=80=94=E2=80=94 \unexpanded\def\mfunction{\dosingleempty\domfunction} \def\domfunction[#1]#2% {\iffirstargument \doifelse{#1}{op}{\normalmathop{\text{\usemathematicsstyleandcolor\c!funct= ionstyle\c!functioncolor#2}}}{\doifelse{#1}{limop}{\normalmathop{\text{\use= mathematicsstyleandcolor\c!functionstyle\c!functioncolor#2}}}{\normalmathop= {\text{\usemathematicsstyleandcolor\c!functionstyle\c!functioncolor#2}}\nol= imits}} \else \normalmathop{\text{\usemathematicsstyleandcolor\c!functionstyle\c!functio= ncolor#2}}\nolimits \fi} =E2=80=94=E2=80=94=E2=80=94=E2=80=94=E2=80=94=E2=80=94=E2=80=94=E2=80=94=E2= =80=94=E2=80=94=E2=80=94=E2=80=94=E2=80=94=E2=80=94=E2=80=94=E2=80=94=E2=80= =94=E2=80=94=E2=80=94=E2=80=94=E2=80=94=E2=80=94=E2=80=94 We also saw that \mfunctionlabeltext is inconsistent with ConTeXt \labeltext because the former has a style attached to it, so \mfunctionlabeltext should be removed from math-ini.mkiv and \mfunction{\mathlabeltext } should be used instead when needed. To go even further in userfriendlyness, we the new macro \definemathcommand should be added in math-ini.mkiv: =E2=80=94=E2=80=94=E2=80=94=E2=80=94=E2=80=94=E2=80=94=E2=80=94=E2=80=94=E2= =80=94=E2=80=94=E2=80=94=E2=80=94=E2=80=94=E2=80=94=E2=80=94=E2=80=94=E2=80= =94=E2=80=94=E2=80=94=E2=80=94=E2=80=94=E2=80=94=E2=80=94 \unexpanded\def\definemathfunction{\dodoubleempty\dodefinemathfunction} \def\dodefinemathfunction[#1][#2]#3% {\ifsecondargument \definemathcommand[#1]{\mfunction[#2]{#3}} \else \definemathcommand[#1]{\mfunction{#3}} \fi} =E2=80=94=E2=80=94=E2=80=94=E2=80=94=E2=80=94=E2=80=94=E2=80=94=E2=80=94=E2= =80=94=E2=80=94=E2=80=94=E2=80=94=E2=80=94=E2=80=94=E2=80=94=E2=80=94=E2=80= =94=E2=80=94=E2=80=94=E2=80=94=E2=80=94=E2=80=94=E2=80=94 Finally, with this new \mfunction definition and the removal of the misleading \mfunctionlabeltext, the functions defined in math-def.mkiv should be rewrite as: =E2=80=94=E2=80=94=E2=80=94=E2=80=94=E2=80=94=E2=80=94=E2=80=94=E2=80=94=E2= =80=94=E2=80=94=E2=80=94=E2=80=94=E2=80=94=E2=80=94=E2=80=94=E2=80=94=E2=80= =94=E2=80=94=E2=80=94=E2=80=94=E2=80=94=E2=80=94=E2=80=94 \definemathcommand[cos]{\mfunction{\mathlabeltext{cos}}} % Or \definemathcommand[cos]{\mfunction[nolop]{\mathlabeltext{cos}}}, it is the same. \definemathcommand[det]{\mfunction[limop]{\mathlabeltext{det}}} \definemathcommand[diff]{\normalmathop{\text{\mathfunctionstyle d}}\mathopen{}} %etc. =E2=80=94=E2=80=94=E2=80=94=E2=80=94=E2=80=94=E2=80=94=E2=80=94=E2=80=94=E2= =80=94=E2=80=94=E2=80=94=E2=80=94=E2=80=94=E2=80=94=E2=80=94=E2=80=94=E2=80= =94=E2=80=94=E2=80=94=E2=80=94=E2=80=94=E2=80=94=E2=80=94 or =E2=80=94=E2=80=94=E2=80=94=E2=80=94=E2=80=94=E2=80=94=E2=80=94=E2=80=94=E2= =80=94=E2=80=94=E2=80=94=E2=80=94=E2=80=94=E2=80=94=E2=80=94=E2=80=94=E2=80= =94=E2=80=94=E2=80=94=E2=80=94=E2=80=94=E2=80=94=E2=80=94 \definemathfunction[cos]{\mathlabeltext{cos}} % Or \definemathfunction[cos][nolop]{\mathlabeltext{cos}}, it is the same. \definemathfunction[det][limop]{\mathlabeltext{det}} \definemathcommand[diff]{\normalmathop{\text{\mathfunctionstyle d}}\mathopen{}} % It is a special function so it should still be treated with the more general \definemathcommand. %etc. =E2=80=94=E2=80=94=E2=80=94=E2=80=94=E2=80=94=E2=80=94=E2=80=94=E2=80=94=E2= =80=94=E2=80=94=E2=80=94=E2=80=94=E2=80=94=E2=80=94=E2=80=94=E2=80=94=E2=80= =94=E2=80=94=E2=80=94=E2=80=94=E2=80=94=E2=80=94=E2=80=94 ConTeXt users are now provided, if Hans agrees to implement the code given in this conclusion, with three extremely useful macros: =E2=80=94 \mtext (that should be used for all math texts such as subscripts= of variables): $n_{\mtext{air}}$; =E2=80=94 \mfunction (the equivalent of LaTeX \operatorname macro of the am= sopn package): $\mfunction{Arsinh} x$ $\mfunction[op]{Arsinh} x$ or equivalently $\mfunction[limop]{Arsinh} x$; =E2=80=94 \definemathfunction (the equivalent of LaTeX \DeclareMathOperator= macro of the amsopn package): \definemathfunction[arsinh]{Arsinh} $\arsinh x$ \definemathfunction[arsinh][op]{Arsinh} $\arsinh x$ or equivalently \definemathfunction[arsinh][limop]{Arsinh} $\arsinh x$. Maggyero --001a1140f33c5ef6b20516274a61 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
> Aditya Mahajan:
> The default shoul= d be \mathupright (as is the case in amstex
and latex, and probab= ly also plaintex).

> Hans Hagen:
>= next beta: when one of the stylealternatives text mode else mathmode
=
> (default nothing =3D=3D math upright)

&g= t; Hans Hagen:
>> Because like in \mtext, the \text command= is ESSENTIAL (for the function names to have the mathcodes, kerning and li= gatures of the text mode instead of the ones of the math mode).
&= gt;that is not needed because if you use a style known as text style a text= font is used

Alright, but why not ALWAYS use your= text style (or my \text), why talking about \mathupright then? \mathuprigh= t should never be used to display a name in text style in my opinion. I don= 't get it, is there something that I missed with that \mathupright? (An= d I'm not managing to download the new beta of yesterday so I don't= have access to the new code yet).


= Appart from that story of \text or not \text, what do you think about the s= uggestion that I gave in the conclusion of my previous post? Do you plan to= still use version 1 or to implement version 2 after the freeze for TeXLive= 2015? My conclusion was:

CONCLUSION. =E2=80=94 It= all comes down to the choice of the best user interface for math functions= and math texts (usually used as subscripts of variables). Their styles and= colors is handled with \setupmathematics. There are two choices of user in= terface:
1. $\normalmathop{\mfunction{Arsinh}}\nolimits x\ \text{= and}\ n_{\mtext{air}}$.
2. $\mfunction{Arsinh} x\ \text{and}\ n_{= \mtext{air}}$.

First, the default functionstyle an= d textstyle in \setupmathematics should be \rm\tf (the text mode equivalent= of \mathupright, as we are always in text mode thanks to the \text hardcod= ed in \mfunction and \mtext).

Then, in the 1st sol= ution \normalmathop is used instead of \mathop because the latter is modifi= ed by ConTeXt to convert \rm to \mf, which makes \setupmathematics[function= style=3D\rm] without effect.

The 2nd solution is o= bviously way cleaner, that is why I think it should be preferred. The imple= mentation is given in my '2nd DEFINITION of \mfunction' for replaci= ng the existing definition in math-ini.mkiv:
=E2=80=94=E2=80=94= =E2=80=94=E2=80=94=E2=80=94=E2=80=94=E2=80=94=E2=80=94=E2=80=94=E2=80=94=E2= =80=94=E2=80=94=E2=80=94=E2=80=94=E2=80=94=E2=80=94=E2=80=94=E2=80=94=E2=80= =94=E2=80=94=E2=80=94=E2=80=94=E2=80=94
\unexpanded\def\mfunction= {\dosingleempty\domfunction}
\def\domfunction[#1]#2%
= =C2=A0 {\iffirstargument
=C2=A0 =C2=A0 =C2=A0\doifelse{#1}{op}{\n= ormalmathop{\text{\usemathematicsstyleandcolor\c!functionstyle\c!functionco= lor#2}}}{\doifelse{#1}{limop}{\normalmathop{\text{\usemathematicsstyleandco= lor\c!functionstyle\c!functioncolor#2}}}{\normalmathop{\text{\usemathematic= sstyleandcolor\c!functionstyle\c!functioncolor#2}}\nolimits}}
=C2= =A0 =C2=A0\else
=C2=A0 =C2=A0 =C2=A0\normalmathop{\text{\usemathe= maticsstyleandcolor\c!functionstyle\c!functioncolor#2}}\nolimits
= =C2=A0 =C2=A0\fi}
=E2=80=94=E2=80=94=E2=80=94=E2=80=94=E2=80=94= =E2=80=94=E2=80=94=E2=80=94=E2=80=94=E2=80=94=E2=80=94=E2=80=94=E2=80=94=E2= =80=94=E2=80=94=E2=80=94=E2=80=94=E2=80=94=E2=80=94=E2=80=94=E2=80=94=E2=80= =94=E2=80=94

We also saw that \mfunctionlabeltext = is inconsistent with ConTeXt \labeltext because the former has a style atta= ched to it, so \mfunctionlabeltext should be removed from math-ini.mkiv and= \mfunction{\mathlabeltext } should be used instead when needed.
=
To go even further in userfriendlyness, we the new macro \de= finemathcommand should be added in math-ini.mkiv:
=E2=80=94=E2=80= =94=E2=80=94=E2=80=94=E2=80=94=E2=80=94=E2=80=94=E2=80=94=E2=80=94=E2=80=94= =E2=80=94=E2=80=94=E2=80=94=E2=80=94=E2=80=94=E2=80=94=E2=80=94=E2=80=94=E2= =80=94=E2=80=94=E2=80=94=E2=80=94=E2=80=94
\unexpanded\def\define= mathfunction{\dodoubleempty\dodefinemathfunction}
\def\dodefinema= thfunction[#1][#2]#3%
=C2=A0 {\ifsecondargument
=C2=A0 = =C2=A0 =C2=A0\definemathcommand[#1]{\mfunction[#2]{#3}}
=C2=A0 = =C2=A0\else
=C2=A0 =C2=A0 =C2=A0\definemathcommand[#1]{\mfunction= {#3}}
=C2=A0 =C2=A0\fi}
=E2=80=94=E2=80=94=E2=80=94=E2= =80=94=E2=80=94=E2=80=94=E2=80=94=E2=80=94=E2=80=94=E2=80=94=E2=80=94=E2=80= =94=E2=80=94=E2=80=94=E2=80=94=E2=80=94=E2=80=94=E2=80=94=E2=80=94=E2=80=94= =E2=80=94=E2=80=94=E2=80=94

Finally, with this new= \mfunction definition and the removal of the misleading \mfunctionlabeltex= t, the functions defined in math-def.mkiv should be rewrite as:
= =E2=80=94=E2=80=94=E2=80=94=E2=80=94=E2=80=94=E2=80=94=E2=80=94=E2=80=94=E2= =80=94=E2=80=94=E2=80=94=E2=80=94=E2=80=94=E2=80=94=E2=80=94=E2=80=94=E2=80= =94=E2=80=94=E2=80=94=E2=80=94=E2=80=94=E2=80=94=E2=80=94
\define= mathcommand[cos]{\mfunction{\mathlabeltext{cos}}} % Or \definemathcommand[c= os]{\mfunction[nolop]{\mathlabeltext{cos}}}, it is the same.
\def= inemathcommand[det]{\mfunction[limop]{\mathlabeltext{det}}}
\defi= nemathcommand[diff]{\normalmathop{\text{\mathfunctionstyle d}}\mathopen{}}<= /div>
%etc.
=E2=80=94=E2=80=94=E2=80=94=E2=80=94=E2=80=94=E2= =80=94=E2=80=94=E2=80=94=E2=80=94=E2=80=94=E2=80=94=E2=80=94=E2=80=94=E2=80= =94=E2=80=94=E2=80=94=E2=80=94=E2=80=94=E2=80=94=E2=80=94=E2=80=94=E2=80=94= =E2=80=94

or
=E2=80=94=E2=80=94=E2=80=94= =E2=80=94=E2=80=94=E2=80=94=E2=80=94=E2=80=94=E2=80=94=E2=80=94=E2=80=94=E2= =80=94=E2=80=94=E2=80=94=E2=80=94=E2=80=94=E2=80=94=E2=80=94=E2=80=94=E2=80= =94=E2=80=94=E2=80=94=E2=80=94
\definemathfunction[cos]{\mathlabe= ltext{cos}} % Or \definemathfunction[cos][nolop]{\mathlabeltext{cos}}, it i= s the same.
\definemathfunction[det][limop]{\mathlabeltext{det}}<= /div>
\definemathcommand[diff]{\normalmathop{\text{\mathfunctionstyle d= }}\mathopen{}} % It is a special function so it should still be treated wit= h the more general \definemathcommand.
%etc.
=E2=80=94= =E2=80=94=E2=80=94=E2=80=94=E2=80=94=E2=80=94=E2=80=94=E2=80=94=E2=80=94=E2= =80=94=E2=80=94=E2=80=94=E2=80=94=E2=80=94=E2=80=94=E2=80=94=E2=80=94=E2=80= =94=E2=80=94=E2=80=94=E2=80=94=E2=80=94=E2=80=94

C= onTeXt users are now provided, if Hans agrees to implement the code given i= n this conclusion, with three extremely useful macros:
=E2=80=94 = \mtext (that should be used for all math texts such as subscripts of variab= les):
=C2=A0 $n_{\mtext{air}}$;
=E2=80=94 \mfunction (t= he equivalent of LaTeX \operatorname macro of the amsopn package):
=C2=A0 $\mfunction{Arsinh} x$
=C2=A0 $\mfunction[op]{Arsinh} x$= or equivalently $\mfunction[limop]{Arsinh} x$;
=E2=80=94 \define= mathfunction (the equivalent of LaTeX \DeclareMathOperator macro of the ams= opn package):
=C2=A0 \definemathfunction[arsinh]{Arsinh} $\arsinh= x$
=C2=A0 \definemathfunction[arsinh][op]{Arsinh} $\arsinh x$ or= equivalently \definemathfunction[arsinh][limop]{Arsinh} $\arsinh x$.
=

Maggyero
--001a1140f33c5ef6b20516274a61-- --===============1975894203== 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= --===============1975894203==--