From mboxrd@z Thu Jan 1 00:00:00 1970 X-Msuck: nntp://news.gmane.io/gmane.comp.tex.context/107778 Path: news.gmane.io!.POSTED.ciao.gmane.io!not-for-mail From: "Lukas/ConTeXt" Newsgroups: gmane.comp.tex.context Subject: =?utf-8?q?Checking_existence_of_a_macro_=28control?= =?utf-8?q?_sequence=29_by_Lua_-_problem_after_updating_MkIV?= Date: Thu, 18 Jun 2020 10:27:34 +0200 (CEST) Message-ID: Reply-To: mailing list for ConTeXt users Mime-Version: 1.0 (szn-mime-2.0.57) Content-Type: multipart/mixed; boundary="=_5b1e150f3726cd142049933b=878ba6a5-0730-5fd3-be8b-f2deac6d4c9a_=" Injection-Info: ciao.gmane.io; posting-host="ciao.gmane.io:159.69.161.202"; logging-data="72752"; mail-complaints-to="usenet@ciao.gmane.io" To: Original-X-From: ntg-context-bounces@ntg.nl Thu Jun 18 10:31:05 2020 Return-path: Envelope-to: gctc-ntg-context-518@m.gmane-mx.org Original-Received: from zapf.boekplan.nl ([5.39.185.232] helo=zapf.ntg.nl) by ciao.gmane.io with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1jlpwr-000Iq5-Fw for gctc-ntg-context-518@m.gmane-mx.org; Thu, 18 Jun 2020 10:31:01 +0200 Original-Received: from localhost (localhost [127.0.0.1]) by zapf.ntg.nl (Postfix) with ESMTP id 55256162F44; Thu, 18 Jun 2020 10:30:38 +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 5haggKVJkXeV; Thu, 18 Jun 2020 10:30:36 +0200 (CEST) Original-Received: from zapf.ntg.nl (localhost [127.0.0.1]) by zapf.ntg.nl (Postfix) with ESMTP id 3AF72162F45; Thu, 18 Jun 2020 10:30:36 +0200 (CEST) Original-Received: from localhost (localhost [127.0.0.1]) by zapf.ntg.nl (Postfix) with ESMTP id 374A7162F45 for ; Thu, 18 Jun 2020 10:30:35 +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 5rRp817rBuFg for ; Thu, 18 Jun 2020 10:30:34 +0200 (CEST) Received-SPF: Pass (mailfrom) identity=mailfrom; client-ip=77.75.76.89; helo=mxb2.seznam.cz; envelope-from=lpr.context@email.cz; receiver= X-Greylist: delayed 177 seconds by postgrey-1.36 at zapf.ntg.nl; Thu, 18 Jun 2020 10:30:34 CEST Original-Received: from mxb2.seznam.cz (mxb2.seznam.cz [77.75.76.89]) (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 62536162F44 for ; Thu, 18 Jun 2020 10:30:34 +0200 (CEST) Original-Received: from email.seznam.cz by email-smtpc22a.ng.seznam.cz (email-smtpc22a.ng.seznam.cz [10.23.18.28]) id 5446c9ac6d40548e526dfac3; Thu, 18 Jun 2020 10:30:33 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=email.cz; s=beta; t=1592469033; bh=zLGeClTp4FJl48uzX5Rlq2RL1mq0g3eWODVgqX9ndPo=; h=Received:From:To:Subject:Date:Message-Id:Mime-Version:X-Mailer: Content-Type; b=HjL6uVzxpAEZ6on25cY8uxcElUXl+SvABbyoWlmqYO8qVA6FmtADBxZ/kwm/AUbZD f2AXXQXHnlGqiRszap57yzQmLdKXxYqDmrFZQ7aIsRaRQm7cnC9z5yFoCpsNpZD9fa l5cVsiLCuUquxuY1VmTzZxz7jdh3V/twcyszbVps= Original-Received: from unknown ([::ffff:185.228.166.98]) by email.seznam.cz (szn-ebox-5.0.29) with HTTP; Thu, 18 Jun 2020 10:27:34 +0200 (CEST) X-Mailer: szn-ebox-5.0.29 X-BeenThere: ntg-context@ntg.nl X-Mailman-Version: 2.1.26 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.io gmane.comp.tex.context:107778 Archived-At: --=_5b1e150f3726cd142049933b=878ba6a5-0730-5fd3-be8b-f2deac6d4c9a_= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Hello, I'm using Hans' macro suggested some time before. I've just updated Ctx MkIV and my sample code: ---- \starttext \def\MyMacro{Ahoj} \def\MyMacWithPars#1#2{Something} \def\Undefined{} \let\Undefined\undefined \def\DoNothing{} \let\DoNothing\donothing \startluacode if CONTEXTLMTXMODE =3D=3D 0 then local d =3D tokens.defined local c =3D tokens.create function tokens.defined(s,b) if b then return d(s) else return c(s).cmd_name =3D=3D "undefined_cmd" end end end -- local defined =3D tokens.defined for _, v in ipairs{ "MyMacro", "MyMacWithPars", "Undefined", "DoNothin= g", "NonExisting" } do print(string.format("\letterpercent-12s", v), defined(v), defined(v,= true), defined(v, false)) end \stopluacode Aaa \stoptext ---- gives: " MyMacro false false false MyMacWithPars false false false Undefined false false false DoNothing false false false NonExisting false false false " IOW, I'm not able to determine whether a control sequence has not been def= ined (or has \undefined value) or not. Am I doing a trivial mistake or has anything changed? Thank you for patience... Lukas --=_5b1e150f3726cd142049933b=878ba6a5-0730-5fd3-be8b-f2deac6d4c9a_= Content-Type: text/plain; charset=utf-8; name=IsMacDef3.log Content-Transfer-Encoding: quoted-printable Content-Disposition: attachment; size=7140; filename=IsMacDef3.log open source > level 1, order 1, name 'd:/Ctx-Beta/tex/texmf-context/te= x/context/base/mkiv/cont-yes.mkiv'=0A= system > =0A= system > ConTeXt ver: 2020.06.17 18:56 MKIV beta fmt: 2020.6.18= int: english/english=0A= system > =0A= system > 'cont-new.mkiv' loaded=0A= open source > level 2, order 2, name 'd:/Ctx-Beta/tex/texmf-context/te= x/context/base/mkiv/cont-new.mkiv'=0A= system > beware: some patches loaded from cont-new.mkiv=0A= close source > level 2, order 2, name 'd:/Ctx-Beta/tex/texmf-context/te= x/context/base/mkiv/cont-new.mkiv'=0A= =0A= system > jobfiles > using path: d:/Lukas/ConTeXt/Styles=0A= system > files > jobname 'IsMacDef3', input 'D:/Lukas/ConTeXt/Tes= t/IsMacDef3.mkiv', result 'IsMacDef3'=0A= fonts > latin modern fonts are not preloaded=0A= languages > language 'en' is active=0A= open source > level 2, order 3, name 'D:/Lukas/ConTeXt/Test/IsMacDef3.= mkiv'=0A= fonts > preloading latin modern fonts (second stage)=0A= fonts > 'fallback modern-designsize rm 12pt' is loaded=0A= backend > xmp > using file 'd:/Ctx-Beta/tex/texmf-context/tex/cont= ext/base/mkiv/lpdf-pdx.xml'=0A= pages > flushing realpage 1, userpage 1, subpage 1=0A= close source > level 2, order 3, name 'D:/Lukas/ConTeXt/Test/IsMacDef3.= mkiv'=0A= close source > level 1, order 3, name 'd:/Ctx-Beta/tex/texmf-context/te= x/context/base/mkiv/cont-yes.mkiv'=0A= =0A= system > start used files=0A= =0A= system > text: IsMacDef3=0A= =0A= system > stop used files=0A= =0A= =0A= system > start used files=0A= =0A= system > 1: filename=3Dchar-prv.lua filetype=3Dtex format=3Dte= x foundname=3Dd:/Ctx-Beta/tex/texmf-context/tex/context/base/mkiv/char-prv= .lua fullname=3Dd:/Ctx-Beta/tex/texmf-context/tex/context/base/mkiv/char-p= rv.lua usedmethod=3Ddatabase=0A= system > 2: filename=3Dcont-yes.mkiv filetype=3Dtex foundname= =3Dd:/Ctx-Beta/tex/texmf-context/tex/context/base/mkiv/cont-yes.mkiv fulln= ame=3Dd:/Ctx-Beta/tex/texmf-context/tex/context/base/mkiv/cont-yes.mkiv us= edmethod=3Ddatabase=0A= system > 3: filename=3Dpubl-imp-default.lua filetype=3Dlua fou= ndname=3Dd:/Ctx-Beta/tex/texmf-context/tex/context/base/mkiv/publ-imp-defa= ult.lua fullname=3Dd:/Ctx-Beta/tex/texmf-context/tex/context/base/mkiv/pub= l-imp-default.lua usedmethod=3Dotherwise=0A= system > 4: filename=3Dcont-new.mkiv filetype=3Dtex foundname= =3Dd:/Ctx-Beta/tex/texmf-context/tex/context/base/mkiv/cont-new.mkiv fulln= ame=3Dd:/Ctx-Beta/tex/texmf-context/tex/context/base/mkiv/cont-new.mkiv us= edmethod=3Ddatabase=0A= system > 5: filename=3Dlang-exc.lua filetype=3Dlua foundname= =3Dd:/Ctx-Beta/tex/texmf-context/tex/context/base/mkiv/lang-exc.lua fullna= me=3Dd:/Ctx-Beta/tex/texmf-context/tex/context/base/mkiv/lang-exc.lua used= method=3Dotherwise=0A= system > 6: filename=3Dlang-us.lua filetype=3Dlua foundname=3D= d:/Ctx-Beta/tex/texmf-context/tex/context/patterns/mkiv/lang-us.lua fullna= me=3Dd:/Ctx-Beta/tex/texmf-context/tex/context/patterns/mkiv/lang-us.lua u= sedmethod=3Dotherwise=0A= system > 7: filename=3DD:/Lukas/ConTeXt/Test/IsMacDef3.mkiv fo= undname=3DD:/Lukas/ConTeXt/Test/IsMacDef3.mkiv fullname=3DD:/Lukas/ConTeXt= /Test/IsMacDef3.mkiv usedmethod=3Ddirect=0A= system > 8: filename=3Dlm.lfg filetype=3Dtex foundname=3Dd:/Ct= x-Beta/tex/texmf-context/tex/context/fonts/mkiv/lm.lfg fullname=3Dd:/Ctx-B= eta/tex/texmf-context/tex/context/fonts/mkiv/lm.lfg usedmethod=3Ddatabase= =0A= system > 9: filename=3Dlmroman12-regular filetype=3Dotf format= =3Dotf foundname=3Dd:/Ctx-Beta/tex/texmf/fonts/opentype/public/lm/lmroman1= 2-regular.otf fullname=3Dd:/Ctx-Beta/tex/texmf/fonts/opentype/public/lm/lm= roman12-regular.otf usedmethod=3Ddatabase=0A= system > 10: filename=3Dlatinmodern-math.otf filetype=3Dopentyp= efonts foundname=3Dd:/Ctx-Beta/tex/texmf/fonts/opentype/public/lm-math/lat= inmodern-math.otf fullname=3Dd:/Ctx-Beta/tex/texmf/fonts/opentype/public/l= m-math/latinmodern-math.otf usedmethod=3Ddatabase=0A= system > 11: filename=3Dpdftex.map filetype=3Dmap format=3Dmap = foundname=3Dd:/Ctx-Beta/tex/texmf/fonts/map/pdftex/plain/pdftex.map fullna= me=3Dd:/Ctx-Beta/tex/texmf/fonts/map/pdftex/plain/pdftex.map usedmethod=3D= database=0A= system > 12: filename=3Dlpdf-pdx.xml filetype=3Dtex foundname= =3Dd:/Ctx-Beta/tex/texmf-context/tex/context/base/mkiv/lpdf-pdx.xml fullna= me=3Dd:/Ctx-Beta/tex/texmf-context/tex/context/base/mkiv/lpdf-pdx.xml used= method=3Ddatabase=0A= =0A= system > stop used files=0A= =0A= =0A= system > start commandline options=0A= =0A= system > currentrun=3D"1"=0A= system > fulljobname=3D"D:/Lukas/ConTeXt/Test/IsMacDef3.mkiv"= =0A= system > input=3D"D:/Lukas/ConTeXt/Test/IsMacDef3.mkiv"=0A= system > kindofrun=3D"1"=0A= system > maxnofruns=3D"9"=0A= system > nonstopmode=3D"true"=0A= system > path=3D"d:/Lukas/ConTeXt/Styles"=0A= system > texmfbinpath=3D"d:/Ctx-Beta/tex/texmf-mswin/bin"=0A= =0A= system > stop commandline options=0A= =0A= =0A= system > start commandline files=0A= =0A= system > 1: D:/Lukas/ConTeXt/Test/IsMacDef3.mkiv=0A= =0A= system > stop commandline files=0A= =0A= =0A= modules > start used modules=0A= =0A= =0A= modules > stop used modules=0A= =0A= =0A= mkiv lua stats > used config file: selfautoparent:/texmf/web2c/texmfcnf.l= ua=0A= mkiv lua stats > used cache path: d:/Ctx-Beta/tex/texmf-cache/luatex-cach= e/context/5fe67e0bfe781ce0dde776fb1556f32e=0A= mkiv lua stats > resource resolver: loadtime 0.008 seconds, 0 scans with = scantime 0.000 seconds, 0 shared scans, 12 found files, scanned paths: =0A= mkiv lua stats > stored bytecode data: 452 modules (0.231 sec), 93 tables= (0.013 sec), 545 chunks (0.244 sec)=0A= mkiv lua stats > traced context: maxstack: 1409, freed: 0, unreachable: 1= 409=0A= mkiv lua stats > cleaned up reserved nodes: 57 nodes, 9 lists of 442= =0A= mkiv lua stats > node memory usage: 11 attribute, 4 attribute_list, 1 glu= e, 51 glue_spec, 3 kern, 2 penalty, 2 temp, 2 user_defined=0A= mkiv lua stats > node list callback tasks: 8 unique task lists, 7 instanc= es (re)created, 38 calls=0A= mkiv lua stats > used backend: pdf (backend for directly generating pdf o= utput)=0A= mkiv lua stats > jobdata time: 0.001 seconds saving, 0.001 seconds loadin= g=0A= mkiv lua stats > callbacks: internal: 138, file: 179, direct: 3, late: 0,= function 502, total: 822=0A= mkiv lua stats > randomizer: resumed with value 0.54769897460938=0A= mkiv lua stats > result saved in file: IsMacDef3.pdf, compresslevel 3, ob= jectcompresslevel 1=0A= mkiv lua stats > loaded patterns: en::1, load time: 0.000=0A= mkiv lua stats > loaded fonts: 2 files: latinmodern-math.otf, lmroman12-r= egular.otf=0A= mkiv lua stats > font engine: otf 3.111, afm 1.513, tfm 1.000, 7 instance= s, 3 shared in backend, 3 common vectors, 0 common hashes, load time 0.191= seconds =0A= mkiv lua stats > used platform: mswin, type: windows, binary subtree: tex= mf-mswin=0A= mkiv lua stats > used engine: luatex version: 1.13, functionality level: = 7353, banner: this is luatex, version 1.13.0 (tex live 2020/w32tex)=0A= mkiv lua stats > used hash slots: 45878 of 65536 + 100000=0A= mkiv lua stats > lua properties: engine: lua 5.3, used memory: 71 MB, ctx= : 70 MB, max: unknown MB, hash chars: min(32,40), symbol mask: utf (=CF=84= =CE=B5=CF=87)=0A= mkiv lua stats > runtime: 0.494 seconds, 1 processed pages, 1 shipped pag= es, 2.024 pages/second=0A= =0A= --=_5b1e150f3726cd142049933b=878ba6a5-0730-5fd3-be8b-f2deac6d4c9a_= Content-Type: text/plain; charset=us-ascii; name=IsMacDef3.mkiv Content-Transfer-Encoding: quoted-printable Content-Disposition: attachment; size=798; filename=IsMacDef3.mkiv \starttext \def\MyMacro{Ahoj} \def\MyMacWithPars#1#2{Something} \def\Undefined{} \let\Undefined\undefined \def\DoNothing{} \let\DoNothing\donothing \startluacode if CONTEXTLMTXMODE =3D=3D 0 then local d =3D tokens.defined local c =3D tokens.create function tokens.defined(s,b) if b then return d(s) else return c(s).cmd_name =3D=3D "undefined_cmd" end end end -- local defined =3D tokens.defined for _, v in ipairs{ "MyMacro", "MyMacWithPars", "Undefined", "DoNothin= g", "NonExisting" } do print(string.format("\letterpercent-12s", v), defined(v), defined(v,= true), defined(v, false)) end \stopluacode Aaa \stoptext --=_5b1e150f3726cd142049933b=878ba6a5-0730-5fd3-be8b-f2deac6d4c9a_= Content-Type: text/plain; charset=us-ascii; name="IsMacDef3.log_" Content-Transfer-Encoding: quoted-printable Content-Disposition: attachment; size=3928; filename="IsMacDef3.log_" resolvers | formats | executing runner 'run luatex format': d:/Ctx-B= eta/tex/texmf-mswin/bin/luatex --interaction=3D"nonstopmode" --jobnam= =0A= xmf-mswin/bin"=0A= This is LuaTeX, Version 1.13.0 (TeX Live 2020/W32TeX)=0A= system commands enabled.=0A= open source > level 1, order 1, name 'd:/Ctx-Beta/tex/texmf-context/te= x/context/base/mkiv/cont-yes.mkiv'=0A= system >=0A= system > ConTeXt ver: 2020.06.17 18:56 MKIV beta fmt: 2020.6.18= int: english/english=0A= system >=0A= system > 'cont-new.mkiv' loaded=0A= open source > level 2, order 2, name 'd:/Ctx-Beta/tex/texmf-context/te= x/context/base/mkiv/cont-new.mkiv'=0A= system > beware: some patches loaded from cont-new.mkiv=0A= close source > level 2, order 2, name 'd:/Ctx-Beta/tex/texmf-context/te= x/context/base/mkiv/cont-new.mkiv'=0A= =0A= system > jobfiles > using path: d:/Lukas/ConTeXt/Styles=0A= system > files > jobname 'IsMacDef3', input 'D:/Lukas/ConTeXt/Tes= t/IsMacDef3.mkiv', result 'IsMacDef3'=0A= fonts > latin modern fonts are not preloaded=0A= languages > language 'en' is active=0A= open source > level 2, order 3, name 'D:/Lukas/ConTeXt/Test/IsMacDef3.= mkiv'=0A= fonts > preloading latin modern fonts (second stage)=0A= fonts > 'fallback modern-designsize rm 12pt' is loaded=0A= MyMacro false false false=0A= MyMacWithPars false false false=0A= Undefined false false false=0A= DoNothing false false false=0A= NonExisting false false false=0A= backend > xmp > using file 'd:/Ctx-Beta/tex/texmf-context/tex/cont= ext/base/mkiv/lpdf-pdx.xml'=0A= pages > flushing realpage 1, userpage 1, subpage 1=0A= close source > level 2, order 3, name 'D:/Lukas/ConTeXt/Test/IsMacDef3.= mkiv'=0A= close source > level 1, order 3, name 'd:/Ctx-Beta/tex/texmf-context/te= x/context/base/mkiv/cont-yes.mkiv'=0A= =0A= mkiv lua stats > used config file: selfautoparent:/texmf/web2c/texmfcnf.l= ua=0A= mkiv lua stats > used cache path: d:/Ctx-Beta/tex/texmf-cache/luatex-cach= e/context/5fe67e0bfe781ce0dde776fb1556f32e=0A= mkiv lua stats > resource resolver: loadtime 0.008 seconds, 0 scans with = scantime 0.000 seconds, 0 shared scans, 12 found files, scanned pat=0A= mkiv lua stats > stored bytecode data: 452 modules (0.231 sec), 93 tables= (0.013 sec), 545 chunks (0.244 sec)=0A= mkiv lua stats > traced context: maxstack: 1409, freed: 0, unreachable: 1= 409=0A= mkiv lua stats > cleaned up reserved nodes: 57 nodes, 9 lists of 442= =0A= mkiv lua stats > node memory usage: 11 attribute, 4 attribute_list, 1 glu= e, 51 glue_spec, 3 kern, 2 penalty, 2 temp, 2 user_defined=0A= mkiv lua stats > node list callback tasks: 8 unique task lists, 7 instanc= es (re)created, 38 calls=0A= mkiv lua stats > used backend: pdf (backend for directly generating pdf o= utput)=0A= mkiv lua stats > jobdata time: 0.001 seconds saving, 0.001 seconds loadin= g=0A= mkiv lua stats > callbacks: internal: 138, file: 179, direct: 3, late: 0,= function 502, total: 822=0A= mkiv lua stats > randomizer: resumed with value 0.54769897460938=0A= mkiv lua stats > result saved in file: IsMacDef3.pdf, compresslevel 3, ob= jectcompresslevel 1=0A= mkiv lua stats > loaded patterns: en::1, load time: 0.000=0A= mkiv lua stats > loaded fonts: 2 files: latinmodern-math.otf, lmroman12-r= egular.otf=0A= mkiv lua stats > font engine: otf 3.111, afm 1.513, tfm 1.000, 7 instance= s, 3 shared in backend, 3 common vectors, 0 common hashes, load tim=0A= mkiv lua stats > used platform: mswin, type: windows, binary subtree: tex= mf-mswin=0A= mkiv lua stats > used engine: luatex version: 1.13, functionality level: = 7353, banner: this is luatex, version 1.13.0 (tex live 2020/w32tex)=0A= mkiv lua stats > used hash slots: 45878 of 65536 + 100000=0A= mkiv lua stats > lua properties: engine: lua 5.3, used memory: 71 MB, ctx= : 70 MB, max: unknown MB, hash chars: min(32,40), symbol mask: utf=0A= mkiv lua stats > runtime: 0.494 seconds, 1 processed pages, 1 shipped pag= es, 2.024 pages/second=0A= system | total runtime: 0.798 seconds=0A= --=_5b1e150f3726cd142049933b=878ba6a5-0730-5fd3-be8b-f2deac6d4c9a_= Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: inline X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX18KSWYgeW91ciBxdWVzdGlvbiBpcyBvZiBpbnRlcmVz dCB0byBvdGhlcnMgYXMgd2VsbCwgcGxlYXNlIGFkZCBhbiBlbnRyeSB0byB0aGUgV2lraSEKCm1h aWxsaXN0IDogbnRnLWNvbnRleHRAbnRnLm5sIC8gaHR0cDovL3d3dy5udGcubmwvbWFpbG1hbi9s aXN0aW5mby9udGctY29udGV4dAp3ZWJwYWdlICA6IGh0dHA6Ly93d3cucHJhZ21hLWFkZS5ubCAv IGh0dHA6Ly9jb250ZXh0LmFhbmhldC5uZXQKYXJjaGl2ZSAgOiBodHRwczovL2JpdGJ1Y2tldC5v cmcvcGhnL2NvbnRleHQtbWlycm9yL2NvbW1pdHMvCndpa2kgICAgIDogaHR0cDovL2NvbnRleHRn YXJkZW4ubmV0Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCg== --=_5b1e150f3726cd142049933b=878ba6a5-0730-5fd3-be8b-f2deac6d4c9a_=--