Re: Infix/postfix/nary redefinition issue (was loading to_poly_solve has side-effect).

serge de marre <[email protected]> Tue, 28 Jul 2026 14:33:38 +0200
Newsgroups gmane.comp.mathematics.maxima.general
Message-ID <CAON_BKxbLq5+KAJRYGRC_m=wGWr4imdbCeze0nwMp3eiQDo9eg@mail.gmail.com>
--0000000000000d67d80657ab0da3
Content-Type: multipart/alternative; boundary="0000000000000d67d70657ab0da1"

--0000000000000d67d70657ab0da1
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

Hi David,

Thanks for taking the time to look into this.
I've attached 2 files: a diff (comparing to 60186bb22) of the work:
*  changes to src/defcal.lisp and src/nparse.lisp (the proposed fix)
* tests/rtest_operators.mac
* change to src/testsuite.lisp to actually run rtest_operators.mac (I'm not
sure if this is needed ?)
I've also added a handover document that you can give to claude, and then
interact with it to find out more details (that can be useful in your
review process).

serge

On Tue, Jul 28, 2026 at 1:29=E2=80=AFPM David Scherfgen <d.scherfgen@google=
mail.com>
wrote:

> Great! Please share Claude's fix in whatever way is the most convenient
> for you, and I will give it another review and integrate it.
>
> serge de marre <[email protected]> schrieb am Di., 28. Juli 2026, 13:05:
>
>> Hi all,
>>
>> Turns out the issue has nothing to do with to_poly_solve itself, but wit=
h
>> operator (re)definitions.
>> it's not just with nary, but also with prefix, postfix, infix, nofix and
>> matchfix.
>> I've added a bug entry in sourceforge ( Maxima -- GPL CAS based on
>> DOE-MACSYMA / Bugs / #4883 Redefining an operator to be infix/postfix/na=
ry
>> causes a parser bug <https://sourceforge.net/p/maxima/bugs/4883/> ) ,
>> with steps to reproduce.
>> I've also attached a testcase to that sourceforge issue, a testcase that
>> currently fails and that should pass (I think).
>> I've used claude to assist with the investigation (and the writing of th=
e
>> test), and it suggested 2 fixes that I can provide (or I could create a
>> pull request),
>> The fixes make the provided testcase pass, as well as the 19700+ tests o=
f
>> the current run_testsuite(share_tests=3Dtrue);
>>
>> serge
>> _______________________________________________
>> Maxima-discuss mailing list
>> [email protected]
>> https://lists.sourceforge.net/lists/listinfo/maxima-discuss
>>
>

--0000000000000d67d70657ab0da1
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr">Hi David,<div><br></div><div>Thanks for taking the time to=
 look into this.</div><div>I&#39;ve attached 2 files: a diff (comparing to=
=C2=A060186bb22) of the work:=C2=A0</div><div>*=C2=A0<span style=3D"backgro=
und-color:transparent">=C2=A0changes to src/defcal.lisp and src/nparse.lisp=
=C2=A0(the proposed fix)</span></div><div>* tests/rtest_operators.mac</div>=
<div>* change to src/testsuite.lisp to actually run rtest_operators.mac (I&=
#39;m not sure if this is needed ?)</div><div>I&#39;ve also added a handove=
r document that you can give to claude, and then interact with it to find o=
ut more details (that can be useful in your review process).</div><div><br>=
</div><div>serge</div></div><br><div class=3D"gmail_quote gmail_quote_conta=
iner"><div dir=3D"ltr" class=3D"gmail_attr">On Tue, Jul 28, 2026 at 1:29=E2=
=80=AFPM David Scherfgen &lt;<a href=3D"mailto:[email protected]">=
[email protected]</a>&gt; wrote:<br></div><blockquote class=3D"gma=
il_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,2=
04,204);padding-left:1ex"><div dir=3D"auto">Great! Please share Claude&#39;=
s fix in whatever way is the most convenient for you, and I will give it an=
other review and integrate it.</div><br><div class=3D"gmail_quote"><div dir=
=3D"ltr" class=3D"gmail_attr">serge de marre &lt;<a href=3D"mailto:sdemarre=
@gmail.com" target=3D"_blank">[email protected]</a>&gt; schrieb am Di., 28=
. Juli 2026, 13:05:<br></div><blockquote class=3D"gmail_quote" style=3D"mar=
gin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1=
ex"><div dir=3D"ltr"><div id=3D"m_-3318829815725664550m_-640002428975278414=
7gmail-:2i6" aria-label=3D"Message Body" role=3D"textbox" aria-multiline=3D=
"true" style=3D"direction:ltr;min-height:85px" aria-controls=3D":2kv" aria-=
expanded=3D"false"><div id=3D"m_-3318829815725664550m_-6400024289752784147g=
mail-:2i6" aria-label=3D"Message Body" role=3D"textbox" aria-multiline=3D"t=
rue" style=3D"direction:ltr;min-height:85px" aria-controls=3D":2kv" aria-ex=
panded=3D"false">Hi all,<div><br></div><div>Turns out the issue has nothing=
 to do with to_poly_solve itself, but with operator (re)definitions.</div><=
div>it&#39;s not just with nary, but also with prefix, postfix, infix, nofi=
x and matchfix.</div><div>I&#39;ve added a bug entry in sourceforge (

<a href=3D"https://sourceforge.net/p/maxima/bugs/4883/" rel=3D"noreferrer" =
target=3D"_blank">Maxima -- GPL CAS based on DOE-MACSYMA / Bugs / #4883 Red=
efining an operator to be infix/postfix/nary causes a parser bug</a>=C2=A0)=
 , with steps to reproduce.</div><div>I&#39;ve also attached a testcase=C2=
=A0to that sourceforge issue, a testcase that currently fails and that shou=
ld pass (I think).</div><div>I&#39;ve used claude to assist with the invest=
igation (and the writing of the test), and it suggested 2 fixes that I can =
provide (or I could create a pull request),</div><div>The fixes make the pr=
ovided testcase pass, as well as the 19700+ tests of the current run_testsu=
ite(share_tests=3Dtrue);</div><div><br></div><div>serge</div></div></div></=
div>
_______________________________________________<br>
Maxima-discuss mailing list<br>
<a href=3D"mailto:[email protected]" rel=3D"noreferrer" =
target=3D"_blank">[email protected]</a><br>
<a href=3D"https://lists.sourceforge.net/lists/listinfo/maxima-discuss" rel=
=3D"noreferrer noreferrer" target=3D"_blank">https://lists.sourceforge.net/=
lists/listinfo/maxima-discuss</a><br>
</blockquote></div>
</blockquote></div>

--0000000000000d67d70657ab0da1--
--0000000000000d67d80657ab0da3
Content-Type: application/octet-stream; name="maxima-4883.patch"
Content-Disposition: attachment; filename="maxima-4883.patch"
Content-Transfer-Encoding: base64
Content-ID: <f_ms4mywt70>
X-Attachment-Id: f_ms4mywt70

ZGlmZiAtLWdpdCBhL3NyYy9kZWZjYWwubGlzcCBiL3NyYy9kZWZjYWwubGlzcAppbmRleCA4OGNh
YWIzNTEuLjk1ZTNhY2VhNyAxMDA2NDQKLS0tIGEvc3JjL2RlZmNhbC5saXNwCisrKyBiL3NyYy9k
ZWZjYWwubGlzcApAQCAtNzEsNyArNzEsMTUgQEAKICAgKCpkZWZpbmUtaW5pdGlhbC1zeW1ib2xz
IChkZWxldGUgb3ByIHN5bWJvbHMtZGVmaW5lZCA6dGVzdCAjJ2VxdWFsKSkpCiAKIChkZWZ1biBk
ZWZpbmUtc3ltYm9sICh4KQotICAoKmRlZmluZS1pbml0aWFsLXN5bWJvbHMgKGNvbnMgeCBzeW1i
b2xzLWRlZmluZWQpKQorICA7OyBPbmx5IGV4dGVuZCBTWU1CT0xTLURFRklORUQgd2hlbiBYIGlz
IG5vdCBhbHJlYWR5IGtub3duLiBBZGRpbmcgYQorICA7OyBkdXBsaWNhdGUgZW50cnkgbWFrZXMg
Q1NUUlNFVFVQIGJ1aWxkIGEgZGVnZW5lcmF0ZSBub2RlIGNhcnJ5aW5nIGEKKyAgOzsgc3B1cmlv
dXMgZW1wdHkgYnJhbmNoLCBlLmcuIGRlY2xhcmluZyAiJW9yIiB0d2ljZSB0dXJucworICA7OyAg
ICgjXCUgI1xvICNcciAoQU5TICQlT1IpKQorICA7OyBpbnRvCisgIDs7ICAgKCNcJSAjXG8gI1xy
IChBTlMgJCVPUikgKChBTlMgJCVPUikpKQorICA7OyB3aGljaCBwdXNoZXMgUkVBRC1DT01NQU5E
LVRPS0VOLUFVWCBvdXQgb2YgaXRzIGxlYWYgY2FzZS4KKyAgKHVubGVzcyAobWVtYmVyIHggc3lt
Ym9scy1kZWZpbmVkIDp0ZXN0ICMnZXF1YWwpCisgICAgKCpkZWZpbmUtaW5pdGlhbC1zeW1ib2xz
IChjb25zIHggc3ltYm9scy1kZWZpbmVkKSkpCiAgIChzeW1ib2xjb25jICckIChtYXliZS1pbnZl
cnQtc3RyaW5nLWNhc2UgeCkpKQogCiAoZGVmdW4gY3N0cnNldHVwIChhcmcpCmRpZmYgLS1naXQg
YS9zcmMvbnBhcnNlLmxpc3AgYi9zcmMvbnBhcnNlLmxpc3AKaW5kZXggYzE1MWNjNjM2Li5jZTkx
ZDU2NGUgMTAwNjQ0Ci0tLSBhL3NyYy9ucGFyc2UubGlzcAorKysgYi9zcmMvbnBhcnNlLmxpc3AK
QEAgLTI4MSw2ICsyODEsMTYgQEAKIAkJICAgICAgICAgICAgIChjYWRyIChjYWRyIGxpcykpKSkp
CiAJICAgICAgICAgKHQKIAkJICAobGV0ICgocmVzICAgKGFuZCAoZXFsIChjYXIgKGNhZHIgbGlz
KSkgJ2FucykKKwkJICAgICAgICAgICAgICAgICAgICA7OyBTYW1lIGRlbGltaXRlciBjaGVjayBh
cyB0aGUgbGVhZiBjYXNlCisJCSAgICAgICAgICAgICAgICAgICAgOzsgYWJvdmU6IGFuIG9wZXJh
dG9yIHdob3NlIG5hbWUgc3RhcnRzIHdpdGgKKwkJICAgICAgICAgICAgICAgICAgICA7OyBhbiBh
bHBoYWJldGljIGNoYXJhY3RlciBtdXN0IGJlIGZvbGxvd2VkCisJCSAgICAgICAgICAgICAgICAg
ICAgOzsgYnkgd2hpdGVzcGFjZSwgb3RoZXJ3aXNlICVvcmIgaGFzIHRvIGJlCisJCSAgICAgICAg
ICAgICAgICAgICAgOzsgcmVhZCBhcyB0aGUgc3ltYm9sICVvcmIgcmF0aGVyIHRoYW4gYXMKKwkJ
ICAgICAgICAgICAgICAgICAgICA7OyB0aGUgb3BlcmF0b3IgJW9yIGFwcGxpZWQgdG8gYi4gUmVh
Y2hhYmxlCisJCSAgICAgICAgICAgICAgICAgICAgOzsgd2hlbmV2ZXIgb25lIG9wZXJhdG9yIG5h
bWUgaXMgYSBzdHJpY3QKKwkJICAgICAgICAgICAgICAgICAgICA7OyBwcmVmaXggb2YgYW5vdGhl
ciwgZS5nLiAlb3IgYW5kICVvcmUuCisJCSAgICAgICAgICAgICAgICAgICAgKG9yIChub3QgKGFs
cGhhYmV0cCAoY2FkciAoZXhwbG9kZW4gKGNhZHIgKGNhZHIgbGlzKSkpKSkpCisJCSAgICAgICAg
ICAgICAgICAgICAgICAgIChtZW1iZXIgKHBhcnNlLXR5aXBlZWspICp3aGl0ZXNwYWNlLWNoYXJz
KikpCiAJCQkJICAgIChjYWRyIChjYWRyIGxpcykpKSkKIAkJCShjb20tdG9rZW4gKHJlYWQtY29t
bWFuZC10b2tlbi1hdXggKGNkZHIgbGlzKSApKSkKIAkJICAgIChzZXRxIHJlc3VsdCAob3IgY29t
LXRva2VuIHJlcwpkaWZmIC0tZ2l0IGEvc3JjL3Rlc3RzdWl0ZS5saXNwIGIvc3JjL3Rlc3RzdWl0
ZS5saXNwCmluZGV4IDI3ZTBkMzVjZS4uOTgxMDkzNWRkIDEwMDY0NAotLS0gYS9zcmMvdGVzdHN1
aXRlLmxpc3AKKysrIGIvc3JjL3Rlc3RzdWl0ZS5saXNwCkBAIC05NCw2ICs5NCw3IEBACiAJICgo
bWxpc3Qgc2ltcCkgODggOTEgOTcgMTA0IDEyOCAxMjkpKQogICAgICAgICAoKG1saXN0IHNpbXAp
ICJydGVzdF9kb3QiKQogICAgICAgICAicnRlc3RfbXNldCIKKyAgICAgICAgInJ0ZXN0X29wZXJh
dG9ycyIKICAgICAgICAgInJ0ZXN0X2Jvb2xlYW4iCiAgICAgICAgICJydGVzdF9yb3VuZCIKICAg
ICAgICAgKChtbGlzdCBzaW1wKSAicnRlc3RfbWFwIgpkaWZmIC0tZ2l0IGEvdGVzdHMvcnRlc3Rf
b3BlcmF0b3JzLm1hYyBiL3Rlc3RzL3J0ZXN0X29wZXJhdG9ycy5tYWMKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwLi4wN2RkYzU0NzUKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0
cy9ydGVzdF9vcGVyYXRvcnMubWFjCkBAIC0wLDAgKzEsMTkwIEBACisvKiBUZXN0cyBmb3IgdGhl
IHN5bnRheC1leHRlbnNpb24gZnVuY3Rpb25zIHByZWZpeCwgaW5maXgsIG5hcnksIHBvc3RmaXgs
CisgICBub2ZpeCBhbmQgbWF0Y2hmaXguCisKKyAgIFJlZGVjbGFyaW5nIGFuIG9wZXJhdG9yLCBv
ciBkZWNsYXJpbmcgdHdvIG9wZXJhdG9ycyB3aGVyZSBvbmUgbmFtZSBpcyBhCisgICBzdHJpY3Qg
cHJlZml4IG9mIHRoZSBvdGhlciwgdXNlZCB0byBjb3JydXB0IHRoZSB0b2tlbml6ZXIncyBvcGVy
YXRvciB0cmllCisgICBzbyB0aGF0IGFuIG9yZGluYXJ5IGlkZW50aWZpZXIgYmVnaW5uaW5nIHdp
dGggdGhlIG9wZXJhdG9yIG5hbWUgd2FzIHNwbGl0CisgICBpbnRvIHRoZSBvcGVyYXRvciBwbHVz
IHRoZSByZXN0LiAgRm9yIGV4YW1wbGUsIGFmdGVyIG5hcnkoIiVvciIpIGhhZCBiZWVuCisgICBy
dW4gdHdpY2UgLS0gd2hpY2ggaGFwcGVucyB3aGVuIHRvX3BvbHlfc29sdmUgaXMgbG9hZGVkIHR3
aWNlLCBzaW5jZSBpdAorICAgYWxpYXNlcyB0b19wb2x5X3NvbHZlIHRvICVzb2x2ZSAtLSB0aGUg
aWRlbnRpZmllciAlb3JiIHdhcyB0b2tlbml6ZWQgYXMKKyAgICVvciBmb2xsb3dlZCBieSBiLCBn
aXZpbmcgImluY29ycmVjdCBzeW50YXg6ICVvciBpcyBub3QgYSBwcmVmaXggb3BlcmF0b3IiLgor
CisgICBOT1RFIE9OIFNUWUxFOiBldmVyeSBvcGVyYXRvciBuYW1lIGFuZCBldmVyeSBleHByZXNz
aW9uIHRoYXQgdXNlcyBvbmUgaXMKKyAgIHdyaXR0ZW4gaW5zaWRlIGEgc3RyaW5nIGFuZCBleGVy
Y2lzZWQgdGhyb3VnaCBwYXJzZV9zdHJpbmcvZXZhbF9zdHJpbmcsCisgICBuZXZlciBpbiB0aGlz
IGZpbGUncyBvd24gc3ludGF4LiAgVHdvIHJlYXNvbnM6CisKKyAgICAgMS4gRGVjbGFyaW5nIGFu
IG9wZXJhdG9yIGNoYW5nZXMgaG93IHRoZSAqcmVzdCogb2YgdGhpcyBmaWxlIGlzIHJlYWQsCisg
ICAgICAgIGJlY2F1c2UgYmF0Y2ggcGFyc2VzIG9uZSBzdGF0ZW1lbnQgYXQgYSB0aW1lLiAgS2Vl
cGluZyB0aGUgbmFtZXMgaW4KKyAgICAgICAgc3RyaW5ncyBtYWtlcyBlYWNoIHRlc3QgaW5kZXBl
bmRlbnQgb2YgdGhlIG9uZXMgYmVmb3JlIGl0LgorCisgICAgIDIuIEEgdG9rZW5pemVyIHJlZ3Jl
c3Npb24gaXMgYSByZWFkIGVycm9yLCBhbmQgYSByZWFkIGVycm9yIGluIHRoZSBmaWxlCisgICAg
ICAgIGl0c2VsZiB3b3VsZCBhYm9ydCB0aGUgd2hvbGUgZmlsZSByYXRoZXIgdGhhbiBmYWlsIG9u
ZSB0ZXN0LiAgSW5zaWRlCisgICAgICAgIGV2YWxfc3RyaW5nIHRoZSBzYW1lIGZhaWx1cmUgaXMg
YW4gb3JkaW5hcnkgTWF4aW1hIGVycm9yIGNvbmZpbmVkIHRvCisgICAgICAgIGEgc2luZ2xlIHRl
c3QsIHNvIHRoZSByZXN0IG9mIHRoZSBmaWxlIHN0aWxsIHJ1bnMgYW5kIHRoZSBoYXJuZXNzCisg
ICAgICAgIHJlcG9ydHMgZXhhY3RseSB3aGljaCBjYXNlcyBicm9rZS4gKi8KKworKGtpbGwoYWxs
KSwgbG9hZCgiZXZhbF9zdHJpbmciKSwgMCk7CiswJAorCisvKiAtLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgICBE
ZWNsYXJpbmcgYW4gb3BlcmF0b3IgdHdpY2UgbXVzdCBub3QgY2hhbmdlIGhvdyBhIGxvbmdlciBp
ZGVudGlmaWVyCisgICBiZWdpbm5pbmcgd2l0aCB0aGF0IG9wZXJhdG9yIG5hbWUgaXMgdG9rZW5p
emVkLiAgQWxsIHNpeCBkZWNsYXJhdG9ycworICAgcm91dGUgdGhyb3VnaCBkZWYtb3BlcmF0b3Ig
LT4gZGVmaW5lLXN5bWJvbCwgc28gYWxsIHNpeCBhcmUgYWZmZWN0ZWQuCisgICAtLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tICovCisKKyhldmFsX3N0cmluZygicGZ4Zm9vKGEsYikgOj0gYStiIiksIHByZWZpeCgicGZ4
IiksIHByZWZpeCgicGZ4IiksCisgZXZhbF9zdHJpbmcoInBmeGZvbygxLDMpIikpOworNCQKKwor
KGV2YWxfc3RyaW5nKCJpZnhmb28oYSxiKSA6PSBhK2IiKSwgaW5maXgoImlmeCIpLCBpbmZpeCgi
aWZ4IiksCisgZXZhbF9zdHJpbmcoImlmeGZvbygxLDMpIikpOworNCQKKworKGV2YWxfc3RyaW5n
KCJucnlmb28oYSxiKSA6PSBhK2IiKSwgbmFyeSgibnJ5IiksIG5hcnkoIm5yeSIpLAorIGV2YWxf
c3RyaW5nKCJucnlmb28oMSwzKSIpKTsKKzQkCisKKyhldmFsX3N0cmluZygicHN4Zm9vKGEsYikg
Oj0gYStiIiksIHBvc3RmaXgoInBzeCIpLCBwb3N0Zml4KCJwc3giKSwKKyBldmFsX3N0cmluZygi
cHN4Zm9vKDEsMykiKSk7Cis0JAorCisoZXZhbF9zdHJpbmcoIm5meGZvbyhhLGIpIDo9IGErYiIp
LCBub2ZpeCgibmZ4IiksIG5vZml4KCJuZngiKSwKKyBldmFsX3N0cmluZygibmZ4Zm9vKDEsMyki
KSk7Cis0JAorCisoZXZhbF9zdHJpbmcoIm1meGZvbyhhLGIpIDo9IGErYiIpLCBtYXRjaGZpeCgi
bWZ4IiwieGZtIiksIG1hdGNoZml4KCJtZngiLCJ4Zm0iKSwKKyBldmFsX3N0cmluZygibWZ4Zm9v
KDEsMykiKSk7Cis0JAorCisvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgICAuLi4gYW5kIHRoZSBvcGVyYXRv
ciBpdHNlbGYgbXVzdCBzdGlsbCBwYXJzZSBhZnRlciBiZWluZyBkZWNsYXJlZCB0d2ljZS4KKyAg
IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0gKi8KKworc3RyaW5nKHBhcnNlX3N0cmluZygicGZ4IHgiKSk7CisicGZ4
IHgiJAorCitzdHJpbmcocGFyc2Vfc3RyaW5nKCJhIGlmeCBiIikpOworImEgaWZ4IGIiJAorCitz
dHJpbmcocGFyc2Vfc3RyaW5nKCJhIG5yeSBiIG5yeSBjIikpOworImEgbnJ5IGIgbnJ5IGMiJAor
CitzdHJpbmcocGFyc2Vfc3RyaW5nKCJhIHBzeCIpKTsKKyJhIHBzeCIkCisKK3N0cmluZyhwYXJz
ZV9zdHJpbmcoIm5meCIpKTsKKyJuZngiJAorCitzdHJpbmcocGFyc2Vfc3RyaW5nKCJtZnggYSxi
IHhmbSIpKTsKKyJtZnhhLGJ4Zm0iJAorCisvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgICBUd28gZGlzdGlu
Y3Qgb3BlcmF0b3JzIHdoZXJlIG9uZSBuYW1lIGlzIGEgc3RyaWN0IHByZWZpeCBvZiB0aGUgb3Ro
ZXIuCisgICBUaGlzIHJlYWNoZXMgdGhlIHNhbWUgdG9rZW5pemVyIGRlZmVjdCB3aXRoIG5vIHJl
ZGVjbGFyYXRpb24gaW52b2x2ZWQ6CisgICB0aGUgbm9kZSBmb3IgImNmeCIgY2FycmllcyBib3Ro
IGFuIGFuc3dlciBhbmQgYSBicmFuY2ggZm9yICJjZnhsIiwgd2hpY2gKKyAgIHVzZWQgdG8gYnlw
YXNzIHRoZSBjaGVjayB0aGF0IGFuIG9wZXJhdG9yIHN0YXJ0aW5nIHdpdGggYW4gYWxwaGFiZXRp
YworICAgY2hhcmFjdGVyIG11c3QgYmUgZm9sbG93ZWQgYnkgd2hpdGVzcGFjZS4KKyAgIC0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0gKi8KKworKGV2YWxfc3RyaW5nKCJjZnhmb28oYSxiKSA6PSBhK2IiKSwgaW5maXgo
ImNmeCIpLCBpbmZpeCgiY2Z4bCIpLAorIGV2YWxfc3RyaW5nKCJjZnhmb28oMSwzKSIpKTsKKzQk
CisKK3N0cmluZyhwYXJzZV9zdHJpbmcoImEgY2Z4IGIiKSk7CisiYSBjZnggYiIkCisKK3N0cmlu
ZyhwYXJzZV9zdHJpbmcoImEgY2Z4bCBiIikpOworImEgY2Z4bCBiIiQKKworLyogLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLQorICAgVGhlIHJlcG9ydGVkIGNhc2U6IG5hbWVzIGJlZ2lubmluZyB3aXRoICUsIGFzIHVz
ZWQgYnkgdG9fcG9seV9zb2x2ZSwKKyAgIHdoaWNoIGRlY2xhcmVzIG5hcnkoIiVhbmQiKSBhbmQg
bmFyeSgiJW9yIikuCisgICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovCisKKyhldmFsX3N0cmluZygiJW9yZm9v
KGEsYikgOj0gYStiIiksIG5hcnkoIiVvciIpLCBuYXJ5KCIlb3IiKSwKKyBldmFsX3N0cmluZygi
JW9yZm9vKDEsMykiKSk7Cis0JAorCitzdHJpbmcocGFyc2Vfc3RyaW5nKCJhICVvciBiIikpOwor
ImEgJW9yIGIiJAorCisoZXZhbF9zdHJpbmcoIiVhbmZvbyhhLGIpIDo9IGErYiIpLCBuYXJ5KCIl
YW4iKSwgbmFyeSgiJWFuZSIpLAorIGV2YWxfc3RyaW5nKCIlYW5mb28oMSwzKSIpKTsKKzQkCisK
Ky8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0KKyAgIFJlZGVjbGFyaW5nIGFuIG9wZXJhdG9yIG11c3Qgc3RpbGwg
dGFrZSBlZmZlY3QuICBUaGVzZSBndWFyZCBhZ2FpbnN0IGEKKyAgIGZpeCB0aGF0IHN1cHByZXNz
ZXMgdGhlIGR1cGxpY2F0ZSB0b28gYWdncmVzc2l2ZWx5OiB0aGUgb3BlcmF0b3IgdHJpZQorICAg
bWFwcyBhIGNoYXJhY3RlciBzZXF1ZW5jZSB0byBhIHN5bWJvbCBhbmQgY2FycmllcyBubyB0eXBl
IG9yIGJpbmRpbmcKKyAgIHBvd2VyLCBzbyByZWJ1aWxkaW5nIGl0IGlzIGEgbm8tb3AsIGJ1dCB0
aGUgcHJvcGVydGllcyBzZXQgYnkKKyAgIGRlZi1vcGVyYXRvciBtdXN0IHN0aWxsIGJlIHVwZGF0
ZWQgb24gZXZlcnkgY2FsbC4KKyAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8KKworLyogcHJlZml4IHJlZGVj
bGFyZWQgYXMgaW5maXggKi8KKyhwcmVmaXgoInJkZiIpLCBzdHJpbmcocGFyc2Vfc3RyaW5nKCJy
ZGYgeCIpKSk7CisicmRmIHgiJAorCisoaW5maXgoInJkZiIpLCBzdHJpbmcocGFyc2Vfc3RyaW5n
KCJhIHJkZiBiIikpKTsKKyJhIHJkZiBiIiQKKworLyogYmluZGluZyBwb3dlcnM6IGF0IDExMCB0
aGUgb3BlcmF0b3IgYmluZHMgdGlnaHRlciB0aGFuICssIGF0IDkwIGxvb3NlciAqLworKGluZml4
KCJicHgiLDExMCwxMTApLCBzdHJpbmcocGFyc2Vfc3RyaW5nKCJhIGJweCBiICsgYyIpKSk7Cisi
YythIGJweCBiIiQKKworKGluZml4KCJicHgiLDkwLDkwKSwgc3RyaW5nKHBhcnNlX3N0cmluZygi
YSBicHggYiArIGMiKSkpOworImEgYnB4IGMrYiIkCisKKy8qIGFzc29jaWF0aXZpdHkgZm9sbG93
cyBmcm9tIHRoZSBiaW5kaW5nIHBvd2VyczogbGJwPHJicCBpcyBsZWZ0CisgICBhc3NvY2lhdGl2
ZSwgc28gdGhlIGxlZnQgb3BlcmFuZCBvZiB0aGUgb3V0ZXIgb3BlcmF0b3IgaXMgImEgYXB5IGIi
OworICAgbGJwPnJicCBpcyByaWdodCBhc3NvY2lhdGl2ZSwgc28gaXQgaXMganVzdCAiYSIgKi8K
KyhpbmZpeCgiYXB5IiwxMDAsMTAxKSwgc3RyaW5nKGZpcnN0KGFyZ3MocGFyc2Vfc3RyaW5nKCJh
IGFweSBiIGFweSBjIikpKSkpOworImEgYXB5IGIiJAorCisoaW5maXgoImFweSIsMTAxLDEwMCks
IHN0cmluZyhmaXJzdChhcmdzKHBhcnNlX3N0cmluZygiYSBhcHkgYiBhcHkgYyIpKSkpKTsKKyJh
IiQKKworLyogYSBtYXRjaGZpeCBvcGVyYXRvciBtYXkgYmUgZ2l2ZW4gYSBuZXcgcmlnaHQgZGVs
aW1pdGVyICovCisobWF0Y2hmaXgoImRseCIsInhsZCIpLCBzdHJpbmcocGFyc2Vfc3RyaW5nKCJk
bHggYSxiIHhsZCIpKSk7CisiZGx4YSxieGxkIiQKKworKG1hdGNoZml4KCJkbHgiLCJ4ZGwiKSwg
c3RyaW5nKHBhcnNlX3N0cmluZygiZGx4IGEsYiB4ZGwiKSkpOworImRseGEsYnhkbCIkCisKKy8q
IGtpbGwgYW5kIHJlZGVjbGFyZSAqLworKGV2YWxfc3RyaW5nKCJrbHhmb28oYSxiKSA6PSBhK2Ii
KSwgaW5maXgoImtseCIpLCBpbmZpeCgia2x4IiksCisgZXZhbF9zdHJpbmcoImtseGZvbygxLDMp
IikpOworNCQKKworKGtpbGwoImtseCIpLCBldmFsX3N0cmluZygia2x4Zm9vKDEsMykiKSk7Cis0
JAorCisoaW5maXgoImtseCIpLCBzdHJpbmcocGFyc2Vfc3RyaW5nKCJhIGtseCBiIikpKTsKKyJh
IGtseCBiIiQKKworLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICAgUmVtb3ZlIHRoZSBvcGVyYXRvcnMgZGVj
bGFyZWQgYWJvdmUgc28gdGhhdCB0aGV5IGNhbm5vdCBhZmZlY3QgYW55IHRlc3QKKyAgIGZpbGUg
cnVuIGFmdGVyIHRoaXMgb25lLCBhbmQgY2hlY2sgdGhhdCBhbiBpZGVudGlmaWVyIGJlZ2lubmlu
ZyB3aXRoIGEKKyAgIGZvcm1lciBvcGVyYXRvciBuYW1lIGlzIHJlYWQgYXMgYSBwbGFpbiBzeW1i
b2wgYWdhaW4uCisgICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovCisKKy8qIGtpbGwgZG9lcyBub3QgZXZhbHVh
dGUgaXRzIGFyZ3VtZW50LCBzbyBraWxsKHMpIGluc2lkZSB0aGUgbGFtYmRhIHdvdWxkCisgICBr
aWxsIHRoZSBzeW1ib2wgcyBpdHNlbGYgYW5kIGxlYXZlIHRoZSBvcGVyYXRvcnMgaW4gcGxhY2U7
IGFwcGx5IHN1cHBsaWVzCisgICB0aGUgdmFsdWUgb2YgcyBpbnN0ZWFkICovCisobWFwKGxhbWJk
YShbc10sIGFwcGx5KGtpbGwsIFtzXSkpLAorICAgICBbInBmeCIsImlmeCIsIm5yeSIsInBzeCIs
Im5meCIsIm1meCIsInhmbSIsImNmeCIsImNmeGwiLCIlb3IiLCIlYW4iLAorICAgICAgIiVhbmUi
LCJyZGYiLCJicHgiLCJhcHkiLCJkbHgiLCJ4bGQiLCJ4ZGwiLCJrbHgiXSksIDApOworMCQKKwor
LyogdGhlIG9wZXJhdG9ycyByZWFsbHkgYXJlIGdvbmU6IGFuIGV4cHJlc3Npb24gdGhhdCB1c2Vk
IG9uZSBubyBsb25nZXIKKyAgIHBhcnNlcywgc28gZXJyY2F0Y2ggcmV0dXJucyB0aGUgZW1wdHkg
bGlzdCAqLworZXJyY2F0Y2gocGFyc2Vfc3RyaW5nKCJhIGlmeCBiIikpOworW10kCisKK2VycmNh
dGNoKHBhcnNlX3N0cmluZygibWZ4IGEsYiB4Zm0iKSk7CitbXSQKKworKGV2YWxfc3RyaW5nKCJw
ZnhiYXIoYSxiKSA6PSBhK2IiKSwgZXZhbF9zdHJpbmcoInBmeGJhcigxLDMpIikpOworNCQKKwor
KGtpbGwoYWxsKSwgMCk7CiswJAo=
--0000000000000d67d80657ab0da3
Content-Type: text/markdown; charset="UTF-8"; name="handover-4883.md"
Content-Disposition: attachment; filename="handover-4883.md"
Content-Transfer-Encoding: base64
Content-ID: <f_ms4mz0fv1>
X-Attachment-Id: f_ms4mz0fv1

IyBIYW5kb3ZlciDigJQgU291cmNlRm9yZ2UgdGlja2V0ICM0ODgzCgpNYXhpbWEgdG9rZW5pemVy
OiByZWRlY2xhcmluZyBhbiBvcGVyYXRvciBjb3JydXB0cyB0aGUgb3BlcmF0b3IgdHJpZSBhbmQK
c3BsaXRzIG9yZGluYXJ5IGlkZW50aWZpZXJzLgoKU3RhdHVzOiAqKnJvb3QgY2F1c2UgZm91bmQs
IGZpeGVkLCB0ZXN0ZWQsIHZlcmlmaWVkIG9uIGEgZnVsbCByZWJ1aWxkLioqClJlbWFpbmluZyB3
b3JrOiB3cml0ZSB0aGUgdXBzdHJlYW0gYnVnIHJlcG9ydCAoZHJhZnQgZ3VpZGFuY2UgYXQgdGhl
IGVuZCkuCgotLS0KCiMjIDEuIFRoZSByZXBvcnRlZCBzeW1wdG9tCgpgYGBtYXhpbWEKJW9yYihh
LGIpIDo9IGErYjsKJW9yYigxLDMpOyAgICAgICAgICAgICAgLyogNCDigJQgZmluZSAqLwpsb2Fk
KHRvX3BvbHlfc29sdmUpOwolb3JiKDEsMyk7ICAgICAgICAgICAgICAvKiA0IOKAlCBzdGlsbCBm
aW5lICovCmxvYWQodG9fcG9seV9zb2x2ZSk7ICAgIC8qIHNlY29uZCBsb2FkICovCiVvcmIoMSwz
KTsgICAgICAgICAgICAgIC8qIGluY29ycmVjdCBzeW50YXg6ICVvciBpcyBub3QgYSBwcmVmaXgg
b3BlcmF0b3IgKi8KYGBgCgpUaGUgdXNlcidzIG93biBmdW5jdGlvbiBgJW9yYmAgc3RvcHMgcGFy
c2luZyBhZnRlciBgdG9fcG9seV9zb2x2ZWAgaXMgbG9hZGVkCmEgKnNlY29uZCogdGltZS4gVGhl
IHBhcnNlciBoYXMgc3BsaXQgdGhlIGlkZW50aWZpZXIgYCVvcmJgIGludG8gdGhlIG9wZXJhdG9y
CmAlb3JgIGZvbGxvd2VkIGJ5IGBiYC4KClR3byB0aGluZ3MgbWFrZSB0aGlzIGVhc3kgdG8gaGl0
IGJ5IGFjY2lkZW50OgoKLSBgdG9fcG9seV9zb2x2ZS5tYWNgIGFsaWFzZXMgYHRvX3BvbHlfc29s
dmVgIHRvIGAlc29sdmVgLCBzbyBhIHNlY29uZAogIGBsb2FkKHRvX3BvbHlfc29sdmUpYCBkb2Vz
IG5vdCBsb29rIGxpa2UgYSByZWxvYWQuIEluIGEgYmF0Y2ggZWNobyBpdCBldmVuCiAgcHJpbnRz
IGFzIGBsb2FkKCVzb2x2ZSlgLgotIGB0b19wb2x5X3NvbHZlX2V4dHJhLmxpc3BgIGRlY2xhcmVz
IHR3byBvcGVyYXRvcnMgdGhpcyB3YXksIGF0IGxpbmVzIDIzIGFuZAogIDczOiBgKG1mdW5jYWxs
ICckbmFyeSAiJWFuZCIpYCBhbmQgYChtZnVuY2FsbCAnJG5hcnkgIiVvciIpYC4gU28gYCVhbmRg
CiAgaXMgYWZmZWN0ZWQgaWRlbnRpY2FsbHkg4oCUIGAlYW5kYmAgYnJlYWtzIHRoZSBzYW1lIHdh
eS4gTm90aGluZyBhYm91dCBgJW9yYAogIGlzIHNwZWNpYWwuCgpOb3RlIHRoZSByZXBvcnRlZCBl
cnJvciBsb2NhdGlvbiAoYHRvX3BvbHlfc29sdmUubWFjOjY6M2ApIGlzIG1pc2xlYWRpbmc6IHRo
ZQpmaWxlbmFtZSBpcyBzdGFsZSBmcm9tIHRoZSBgbG9hZGAsIHRoZSBsaW5lL2NvbHVtbiByZWZl
ciB0byB0aGUgdXNlcidzIGZpbGUuCgotLS0KCiMjIDIuIE1pbmltYWwgcmVwcm9kdWNlcnMKCk5v
IHBhY2thZ2VzIG5lZWRlZC4gVHdvICppbmRlcGVuZGVudCogcmVwcm9kdWNlcnMsIGJlY2F1c2Ug
dGhlcmUgYXJlIHR3bwpkaXN0aW5jdCBkZWZlY3RzOgoKKipBIOKAlCByZWRlY2xhcmluZyB0aGUg
c2FtZSBvcGVyYXRvciAobmVlZHMgYm90aCBkZWZlY3RzKToqKgoKYGBgbWF4aW1hCiVvcmIoYSxi
KSA6PSBhK2I7Cm5hcnkoIiVvciIpOwpuYXJ5KCIlb3IiKTsgICAgIC8qIHRoZSBzZWNvbmQgZGVj
bGFyYXRpb24gaXMgd2hhdCBicmVha3MgaXQgKi8KJW9yYigxLDMpOyAgICAgICAvKiBpbmNvcnJl
Y3Qgc3ludGF4OiAlb3IgaXMgbm90IGEgcHJlZml4IG9wZXJhdG9yICovCmBgYAoKKipCIOKAlCB0
d28gb3BlcmF0b3JzLCBvbmUgbmFtZSBhIHN0cmljdCBwcmVmaXggb2YgdGhlIG90aGVyIChkZWZl
Y3QgMiBhbG9uZSwKbm8gcmVkZWNsYXJhdGlvbik6KioKCmBgYG1heGltYQolb3JiKGEsYikgOj0g
YStiOwpuYXJ5KCIlb3IiKTsKbmFyeSgiJW9yZSIpOwolb3JiKDEsMyk7ICAgICAgIC8qIHNhbWUg
ZXJyb3IgKi8KYGBgCgpCIGlzIHRoZSBiZXR0ZXIgcmVwcm9kdWNlciB0byBsZWFkIHdpdGggdXBz
dHJlYW06IGl0IHNob3dzIHRoZSB0b2tlbml6ZXIKZGVmZWN0IG9uIGl0cyBvd24sIHdpdGggZWFj
aCBvcGVyYXRvciBkZWNsYXJlZCBleGFjdGx5IG9uY2UuCgoqKkFsbCBzaXggZGVjbGFyYXRvcnMg
YXJlIGFmZmVjdGVkKiogKHRoZXkgYWxsIHJvdXRlIHRocm91Z2ggYGRlZi1vcGVyYXRvcmAK4oaS
IGBkZWZpbmUtc3ltYm9sYCkuIERlY2xhcmluZyB0d2ljZSwgdGhlbiBldmFsdWF0aW5nIGB6emIo
MSwzKWAgd2hlcmUKYHp6YihhLGIpOj1hK2JgOgoKfCBkZWNsYXJhdG9yIHwgdW5wYXRjaGVkIGJl
aGF2aW91ciB8CnwtLS18LS0tfAp8IGBwcmVmaXgoInp6IilgIHwgKipzaWxlbnRseSB3cm9uZyoq
OiByZXR1cm5zIGB6eiBiKDEsMylgLCBubyBlcnJvciB8CnwgYGluZml4KCJ6eiIpYCB8IGB6eiBp
cyBub3QgYSBwcmVmaXggb3BlcmF0b3JgIHwKfCBgbmFyeSgienoiKWAgfCBgenogaXMgbm90IGEg
cHJlZml4IG9wZXJhdG9yYCB8CnwgYHBvc3RmaXgoInp6IilgIHwgYHp6IGlzIG5vdCBhIHByZWZp
eCBvcGVyYXRvcmAgfAp8IGBub2ZpeCgienoiKWAgfCBgYiBpcyBub3QgYSBwcmVmaXggb3BlcmF0
b3JgIHwKfCBgbWF0Y2hmaXgoInp6IiwicXEiKWAgfCBgTWlzc2luZyBxcWAgfAoKVGhlIGBwcmVm
aXhgIGNhc2UgaXMgdGhlIHdvcnN0IGFuZCBpcyB0aGUgc3Ryb25nZXN0IGFyZ3VtZW50IHVwc3Ry
ZWFtOiBpdApwcm9kdWNlcyBhIHdyb25nIGFuc3dlciB3aXRoIG5vIGRpYWdub3N0aWMgYXQgYWxs
LgoKLS0tCgojIyAzLiBSb290IGNhdXNlIOKAlCB0d28gY29tcG9zaW5nIGRlZmVjdHMKClRoZSB0
b2tlbml6ZXIgbWF0Y2hlcyBtdWx0aS1jaGFyYWN0ZXIgb3BlcmF0b3JzIHdpdGggYSBjaGFyYWN0
ZXIgdHJpZQooIkNTVFIiLCB0aGUgZ2xvYmFsIGBtYWNzeW1hLW9wZXJhdG9yc2ApLCBidWlsdCBi
eSBgY3N0cnNldHVwYCBmcm9tIHRoZSBsaXN0CmBzeW1ib2xzLWRlZmluZWRgLgoKIyMjIERlZmVj
dCAxIOKAlCBgc3JjL2RlZmNhbC5saXNwOjczYCwgYGRlZmluZS1zeW1ib2xgCgpgYGBsaXNwCihk
ZWZ1biBkZWZpbmUtc3ltYm9sICh4KQogICgqZGVmaW5lLWluaXRpYWwtc3ltYm9scyAoY29ucyB4
IHN5bWJvbHMtZGVmaW5lZCkpICAgOyBubyBkdXBsaWNhdGUgY2hlY2sKYGBgCgpSZS1kZWNsYXJp
bmcgY29uc2VzIHRoZSBuYW1lIG9uIGFnYWluIGFuZCByZWJ1aWxkcyB0aGUgdHJpZSwgcHJvZHVj
aW5nIGEKZGVnZW5lcmF0ZSBub2RlIHdpdGggYSBzcHVyaW91cyBlbXB0eSBicmFuY2g6CgpgYGAK
YWZ0ZXIgMXggbmFyeSgiJW9yIik6ICAoI1wlICNcbyAjXHIgKEFOUyAkJU9SKSkKYWZ0ZXIgMngg
bmFyeSgiJW9yIik6ICAoI1wlICNcbyAjXHIgKEFOUyAkJU9SKSAoKEFOUyAkJU9SKSkpCmBgYAoK
IyMjIERlZmVjdCAyIOKAlCBgc3JjL25wYXJzZS5saXNwOjI0OGAsIGByZWFkLWNvbW1hbmQtdG9r
ZW4tYXV4YAoKQW4gb3BlcmF0b3Igd2hvc2UgbmFtZSBzdGFydHMgd2l0aCBhbiBhbHBoYWJldGlj
IGNoYXJhY3RlciAoYCVgIGFuZCBgX2AKY291bnQgYXMgYWxwaGFiZXRpYyBpbiBNYXhpbWEpIG11
c3QgYmUgZm9sbG93ZWQgYnkgd2hpdGVzcGFjZSB0byBiZSB0cmVhdGVkCmFzIGFuIG9wZXJhdG9y
IOKAlCBvdGhlcndpc2UgYCVvcmJgIGhhcyB0byBmYWxsIGJhY2sgdG8gcmVhZGluZyBhIHBsYWlu
IHN5bWJvbC4KVGhhdCBndWFyZCBleGlzdGVkICoqb25seSBpbiB0aGUgbGVhZiBicmFuY2gqKiBg
KG51bGwgKGNkZHIgbGlzKSlgOgoKYGBgbGlzcAooKG51bGwgKGNkZHIgbGlzKSkKIChzZXRxIHJl
c3VsdCAoYW5kIChlcWwgKGNhciAoY2FkciBsaXMpKSAnYW5zKQogICAgICAgICAgICAgICAgICAg
KG9yIChub3QgKGFscGhhYmV0cCAoY2FkciAoZXhwbG9kZW4gKGNhZHIgKGNhZHIgbGlzKSkpKSkp
CiAgICAgICAgICAgICAgICAgICAgICAgKG1lbWJlciAocGFyc2UtdHlpcGVlaykgKndoaXRlc3Bh
Y2UtY2hhcnMqKSkgICA7IDwtLSBndWFyZAogICAgICAgICAgICAgICAgICAgKGNhZHIgKGNhZHIg
bGlzKSkpKSkKKHQKIChsZXQgKChyZXMgKGFuZCAoZXFsIChjYXIgKGNhZHIgbGlzKSkgJ2FucykK
ICAgICAgICAgICAgICAgICAoY2FkciAoY2FkciBsaXMpKSkpICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIDsgPC0tIG5vIGd1YXJkCiAgICAgICAuLi4KYGBgCgpUaGUgc3B1cmlvdXMg
YnJhbmNoIGZyb20gZGVmZWN0IDEgcHVzaGVzIHRoZSBub2RlIG91dCBvZiB0aGUgbGVhZiBjYXNl
IGludG8KdGhlIGAodCAuLi4pYCBjYXNlLCB0aGUgZ3VhcmQgaXMgc2tpcHBlZCwgYCVvcmJgIHRv
a2VuaXplcyBhcyBgJW9yYCArIGBiYCwKYW5kIHRoZSBQcmF0dCBwYXJzZXIgdGhlbiByZXBvcnRz
IHRoYXQgdGhlIG5hcnkgb3BlcmF0b3IgYCVvcmAgaXMgbm90IGEKcHJlZml4IG9wZXJhdG9yLiBS
ZXByb2R1Y2VyIEIgcmVhY2hlcyB0aGUgc2FtZSBgKHQgLi4uKWAgY2FzZSBsZWdpdGltYXRlbHks
CnZpYSBhIGdlbnVpbmUgcHJlZml4LXBhaXIgb2Ygb3BlcmF0b3IgbmFtZXMuCgojIyMgQ2FsbCBw
YXRoICh2ZXJpZmllZCBieSBTQkNMIHRyYWNlKQoKYGBgCm5hcnkoIiVvciIpICAgICAgICAgICAg
ICAgICAgICAgTWF4aW1hIGxldmVsCuKUlOKUgCAkTkFSWSAgICAgICAgICAgICAgICAgICAgICAg
IG5wYXJzZS5saXNwOjE2NTMgIChkZWZtZnVuKQogICDilJTilIAgREVGLU9QRVJBVE9SICAgICAg
ICAgICAgICBucGFyc2UubGlzcDoxNjg0CiAgICAgIOKUnOKUgCBERUZJTkUtU1lNQk9MICIlb3Ii
ICAgIGRlZmNhbC5saXNwOjczICAgIOKGkCBkZWZlY3QgMQogICAgICDilIIgIOKUgiAgcmVhY2hl
ZCBvbmx5IHZpYSAoaWYgKHN0cmluZ3Agb3ApIC4uLikgYXQgbnBhcnNlLmxpc3A6MTcwMAogICAg
ICDilIIgIOKUlOKUgCAqREVGSU5FLUlOSVRJQUwtU1lNQk9MUyAgZGVmY2FsLmxpc3A6NTYKICAg
ICAg4pSCICAgICDilJTilIAgQ1NUUlNFVFVQIOKGkiBBREQyQ1NUUiDihpIgQUREMkNTVFIxCiAg
ICAgIOKUgiAgICAgICAg4oeSIHJlYnVpbGRzIG1hY3N5bWEtb3BlcmF0b3JzCiAgICAgIOKUlOKU
gCBPUC1TRVRVUCAkJU9SICAgICAgICAgIG5wYXJzZS5saXNwOjE3MTggIChwcm9wZXJ0eSBsaXN0
LCBub3QgdGhlIHRyaWUpCmBgYAoKQ29uc3VtZXIgc2lkZSwgbXVjaCBsYXRlciwgYXQgcGFyc2Ug
dGltZToKCmBgYApzY2FuLW9uZS10b2tlbi1nICBucGFyc2UubGlzcDo1NzgK4pSU4pSAIHJlYWQt
Y29tbWFuZC10b2tlbiBtYWNzeW1hLW9wZXJhdG9ycyAgbnBhcnNlLmxpc3A6NTgzIOKGkiAxODQK
ICAg4pSU4pSAIFJFQUQtQ09NTUFORC1UT0tFTi1BVVggICAgICAgICAgICAgbnBhcnNlLmxpc3A6
MjQ4ICDihpAgZGVmZWN0IDIKYGBgCgpUaGlzIHNwbGl0IGV4cGxhaW5zIHRoZSBkZWZlcnJlZCBm
YWlsdXJlOiBgZGVmaW5lLXN5bWJvbGAgY29ycnVwdHMgdGhlIHRyaWUKc2hhcGUgYXQgKmRlY2xh
cmF0aW9uKiB0aW1lLCBgcmVhZC1jb21tYW5kLXRva2VuLWF1eGAgbWlzcmVhZHMgaXQgYXQgdGhl
CipuZXh0IHBhcnNlKi4KCiMjIyBIaXN0b3J5IChnaXQgYmxhbWUpCgotIGBkZWZpbmUtc3ltYm9s
YCdzIG1pc3NpbmcgZGVkdXAgaXMgKipvcmlnaW5hbCoqIOKAlCB1bmNoYW5nZWQgaW4gdGhlIG9s
ZGVzdAogIGNvbW1pdCBpbiB0aGUgcmVwbywgdGhlIGBtYXhpbWEtNS40YCBpbXBvcnQgKGA5ZTgz
MjY1NzdgLCAyMDAwLTA1LTA4KS4KICBMYXRlciBibGFtZSBoaXRzIGFyZSBtYXNzIG1lY2hhbmlj
YWwgcmV3cml0ZXMgKDIwMDQgZG93bmNhc2luZywgMjAwNwogIHN0cmluZ3MtYXMtbGlzcC1zdHJp
bmdzKS4KLSBUaGUgYCh0IC4uLilgIGJyYW5jaCBkYXRlcyB0byBgZGNjMTgxZGM0MmAgKHdmcywg
MjAwMS0wMy0yMikuCi0gKipUaGUgd2hpdGVzcGFjZSBndWFyZCB3YXMgYWRkZWQgYnkgYDY2ZjNm
MzYwMWAgKGNyYXRlZ3VzLCAyMDEwLTA5LTI0KSoqLAogICJBIHByZWZpeCBvcGVyYXRvciB3aGlj
aCBzdGFydHMgd2l0aCBhIGxpdGVyYWwgbXVzdCBiZSBmb2xsb3dlZCBieSBhCiAgd2hpdGVzcGFj
ZSIsIGZvciBTRiBidWcgMjk3MDc5MiAoYGdyYWRlZihzKWAgd2l0aCB0aGUgdmVjdCBwYWNrYWdl
KS4gVGhhdAogIGNvbW1pdCByZWluZGVudHMgdGhlIGAodGAgbGluZSAqaW1tZWRpYXRlbHkgYmVs
b3cqIHRoZSBndWFyZCBpdCBhZGRlZCBhbmQKICBsZWF2ZXMgdGhlIGByZXNgIGJpbmRpbmcgYWxv
bmUuCgoqKlNvIGRlZmVjdCAyIGlzIGFuIGluY29tcGxldGUgMjAxMCBmaXgsIG5vdCBhIG5vdmVs
IGRlc2lnbiBxdWVzdGlvbi4qKiBGcmFtZQp0aGUgdXBzdHJlYW0gcmVwb3J0IGFzIGNvbXBsZXRp
bmcgYDY2ZjNmMzYwMWAuIFRoYXQgY29tbWl0J3Mgbm90ZSAiTm8gcHJvYmxlbXMKd2l0aCB0aGUg
dGVzdHN1aXRlIiBhbHNvIG1hdGNoZXMgb3VyIHJlc3VsdCDigJQgbm90aGluZyBpbiB0aGUgc3Vp
dGUgZGVjbGFyZXMgYQpwcmVmaXgtY29sbGlkaW5nIGFscGhhYmV0aWMgb3BlcmF0b3IgcGFpci4K
Ci0tLQoKIyMgNC4gVGhlIGZpeAoKU291cmNlIHRyZWU6IGAvaG9tZS9zZXJnZS9zcmMvZXh0ZXJu
YWwvbWF4aW1hYCAoYnJhbmNoIGBtYXN0ZXJgLCBiYXNlIGNvbW1pdApgZTFkZmY1ZTNkYCkuIFR3
byBvbmUtbGluZSBsb2dpYyBjaGFuZ2VzIHBsdXMgY29tbWVudHM6CgoqKmBzcmMvZGVmY2FsLmxp
c3A6ODFgKiog4oCUIHNraXAgdGhlIHJlYnVpbGQgd2hlbiB0aGUgbmFtZSBpcyBhbHJlYWR5IGtu
b3duOgoKYGBgbGlzcAoodW5sZXNzIChtZW1iZXIgeCBzeW1ib2xzLWRlZmluZWQgOnRlc3QgIydl
cXVhbCkKICAoKmRlZmluZS1pbml0aWFsLXN5bWJvbHMgKGNvbnMgeCBzeW1ib2xzLWRlZmluZWQp
KSkKYGBgCgoqKmBzcmMvbnBhcnNlLmxpc3A6Mjg0YCoqIOKAlCBjb3B5IHRoZSBhbHBoYWJldGlj
L3doaXRlc3BhY2UgZ3VhcmQgaW50byB0aGUKYCh0IC4uLilgIGJyYW5jaC4KCkluc3BlY3Qgd2l0
aCBgZ2l0IC1DIC9ob21lL3NlcmdlL3NyYy9leHRlcm5hbC9tYXhpbWEgZGlmZmAuCgojIyMgV2h5
IHRoZSBkZWR1cCBjYW5ub3QgYnJlYWsgbGVnaXRpbWF0ZSByZWRlZmluaXRpb24KClRoZSB0d28g
Y29uY2VybnMgbGl2ZSBpbiBzZXBhcmF0ZSBwbGFjZXM6CgotIHRoZSB0cmllIG1hcHMgYSAqKmNo
YXJhY3RlciBzZXF1ZW5jZSDihpIgc3ltYm9sKiogYW5kIGNhcnJpZXMgbm8gdHlwZSBvcgogIGJp
bmRpbmcgcG93ZXI7Ci0gcHJlZml4L2luZml4L2JpbmRpbmcgcG93ZXJzIGxpdmUgb24gdGhlICoq
cHJvcGVydHkgbGlzdCoqIChgbnVkYCwgYGxlZGAsCiAgYGxicGAsIGByYnBgKSwgc2V0IGJ5IGBk
ZWYtb3BlcmF0b3JgJ3MgYHB1dHByb3BgIGNhbGxzIG9uICpldmVyeSogY2FsbCwKICB1bnRvdWNo
ZWQgYnkgdGhlIHBhdGNoLgoKVmVyaWZpZWQg4oCUIHRoZSB0cmllIG5vZGUgaXMgaWRlbnRpY2Fs
IGJlZm9yZSBhbmQgYWZ0ZXIgY2hhbmdpbmcgdGhlIHR5cGU6CgpgYGAKYWZ0ZXIgcHJlZml4KCJ6
eiIpOiAgKCNceiAjXHogKEFOUyAkWlopKQphZnRlciBpbmZpeCgienoiKTogICAoI1x6ICNceiAo
QU5TICRaWikpCmBgYAoKUmVidWlsZGluZyBpdCBmb3IgYSBrbm93biBuYW1lIHdhcyBhbHdheXMg
YSBuby1vcCwgd2hpY2ggaXMgZXhhY3RseSB3aHkKc2tpcHBpbmcgaXQgaXMgc2FmZS4gUmVkZWZp
bml0aW9uIHdhcyByZS12ZXJpZmllZCBlbmQgdG8gZW5kICjCpzUpLgoKLS0tCgojIyA1LiBUZXN0
IGZpbGUgcHJvZHVjZWQKCmB0ZXN0cy9ydGVzdF9vcGVyYXRvcnMubWFjYCAoMTkwIGxpbmVzLCAz
NSB0ZXN0cyksIHJlZ2lzdGVyZWQgYXQKYHNyYy90ZXN0c3VpdGUubGlzcDo5N2AuIE5vIGB0ZXN0
cy9NYWtlZmlsZS5hbWAgY2hhbmdlIG5lZWRlZCDigJQgaXQgcGlja3MgdXAKYCoubWFjYCBieSB3
aWxkY2FyZCAobGluZSA5MSkuCgojIyMgVGhlIGtleSB0ZWNobmlxdWUg4oCUIGhvdyB0byB0ZXN0
IGEgKnBhcnNlKiBmYWlsdXJlCgpgZXJyY2F0Y2hgIGFsb25lIGlzIHVzZWxlc3MgaGVyZTogdGhl
IGZhaWx1cmUgaGFwcGVucyBhdCAqKnJlYWQqKiB0aW1lLCBzbyBhCnJlZ3Jlc3Npb24gd291bGQg
YWJvcnQgdGhlIHdob2xlIHRlc3QgZmlsZSBpbnN0ZWFkIG9mIGZhaWxpbmcgb25lIHRlc3QuCgpU
aGUgZml4IGlzIGBldmFsX3N0cmluZ2AgLyBgcGFyc2Vfc3RyaW5nYCAoYXV0b2xvYWRlZCBmcm9t
CmBzaGFyZS9zdHJpbmdwcm9jYCksIHdoaWNoIG1vdmUgcGFyc2luZyB0byAqKmV2YWx1YXRpb24q
KiB0aW1lOgoKYGBgbWF4aW1hCmVycmNhdGNoKGV2YWxfc3RyaW5nKCIxKyIpKSAgIOKfuSAgW10g
ICAgIC8qIGNhdWdodDsgdGhlIGJhdGNoIHN1cnZpdmVzICovCmBgYAoKU28gdGhlIGZpbGUgZm9s
bG93cyBvbmUgcnVsZTogKipldmVyeSBvcGVyYXRvciBuYW1lLCBhbmQgZXZlcnkgZXhwcmVzc2lv
bgp1c2luZyBvbmUsIGlzIHdyaXR0ZW4gaW5zaWRlIGEgc3RyaW5nKiosIG5ldmVyIGluIHRoZSBm
aWxlJ3Mgb3duIHN5bnRheC4KVHdvIHBheW9mZnM6CgoxLiAqKlN0YXRlbWVudCBpbmRlcGVuZGVu
Y2UqKiDigJQgYGJhdGNoYCBwYXJzZXMgb25lIHN0YXRlbWVudCBhdCBhIHRpbWUsIHNvCiAgIGRl
Y2xhcmluZyBhbiBvcGVyYXRvciBvbiBsaW5lIDUgd291bGQgb3RoZXJ3aXNlIGNoYW5nZSBob3cg
bGluZSA5IGlzIHJlYWQuCjIuICoqQ29udGFpbmVkIGZhaWx1cmVzKiog4oCUIGEgdG9rZW5pemVy
IHJlZ3Jlc3Npb24gYmVjb21lcyBhbiBvcmRpbmFyeQogICBNYXhpbWEgZXJyb3IgaW5zaWRlIG9u
ZSB0ZXN0LCBzbyB0aGUgcmVzdCBvZiB0aGUgZmlsZSBzdGlsbCBydW5zIGFuZCB0aGUKICAgaGFy
bmVzcyBuYW1lcyBleGFjdGx5IHdoaWNoIGNhc2VzIGJyb2tlLgoKQW55b25lIGV4dGVuZGluZyB0
aGlzIGZpbGUgbXVzdCBrZWVwIHRoYXQgcnVsZSBvciB0aGUgaXNvbGF0aW9uIGlzIGxvc3QuCgoj
IyMgQ292ZXJhZ2UKCi0gYWxsIHNpeCBkZWNsYXJhdG9ycyDDlyAoZG91YmxlIGRlY2xhcmF0aW9u
IGRvZXNuJ3QgYnJlYWsgYSBsb25nZXIKICBpZGVudGlmaWVyOyB0aGUgb3BlcmF0b3IgaXRzZWxm
IHN0aWxsIHBhcnNlcyBhZnRlcndhcmRzKQotIHN0cmljdC1wcmVmaXggb3BlcmF0b3IgcGFpcnMs
IG5vIHJlZGVjbGFyYXRpb24gKGRlZmVjdCAyIGFsb25lKQotIHRoZSBgJWAtcHJlZml4ZWQgYHRv
X3BvbHlfc29sdmVgIHNoYXBlIChgJW9yYCwgYW5kIGAlYW5gL2AlYW5lYCkKLSByZWRlZmluaXRp
b24gc3RpbGwgd29ya3M6IHByZWZpeOKGkmluZml4LCBwcmVjZWRlbmNlLCBhc3NvY2lhdGl2aXR5
LAogIG1hdGNoZml4IHJlLWRlbGltaXRpbmcsIGtpbGwvcmVkZWNsYXJlIOKAlCB0aGVzZSBndWFy
ZCBhZ2FpbnN0IGEgZml4IHRoYXQKICBzdXBwcmVzc2VzIHRoZSBkdXBsaWNhdGUgdG9vIGFnZ3Jl
c3NpdmVseQotIGNsZWFudXAsIHdpdGggYW4gYXNzZXJ0aW9uIHRoYXQgaXQgd29ya2VkCgojIyMg
RGlzY3JpbWluYXRpb24gKHRoaXMgaXMgdGhlIGltcG9ydGFudCBiaXQpCgp8IHwgcGF0Y2hlZCB8
IHVucGF0Y2hlZCB8CnwtLS18LS0tfC0tLXwKfCBgYmF0Y2goInJ0ZXN0X29wZXJhdG9ycy5tYWMi
LCB0ZXN0KWAgfCAqKjM1LzM1KiogfCAqKjI1LzM1KiosIGZhaWxlZCBgKDIgMyA0IDUgNiA3IDE0
IDE3IDE5IDI4KWAgfAoKVGhlIHVucGF0Y2hlZCBydW4gKipjb21wbGV0ZXMqKiDigJQgbm8gYWJv
cnQg4oCUIHdoaWNoIGlzIHRoZSB3aG9sZSBwb2ludCBvZiB0aGUKYGV2YWxfc3RyaW5nYCBhcHBy
b2FjaC4gQWxsIDEwIGZhaWx1cmVzIGFyZSBnZW51aW5lIGJ1ZyBtYW5pZmVzdGF0aW9ucwooMuKA
kzcgdGhlIHNpeCBkZWNsYXJhdG9ycywgMTQgdGhlIHN0cmljdC1wcmVmaXggcGFpciwgMTcgYCVv
cmAsIDE5IGAlYW5gLwpgJWFuZWAsIDI4IGtpbGwvcmVkZWNsYXJlKS4KCi0tLQoKIyMgNi4gVmVy
aWZpY2F0aW9uIHN0YXR1cwoKKipGdWxsIHRlc3RzdWl0ZSBvbiBhIHByb3BlciByZWJ1aWxkIChy
dW4gYnkgdGhlIHVzZXIpOiAxNCw3ODAgdGVzdHMsICJubwp1bmV4cGVjdGVkIGVycm9ycyBmb3Vu
ZC4iKiogMTQsNzQ1IOKGkiAxNCw3ODAgY29uZmlybXMgYWxsIDM1IG5ldyB0ZXN0cyByYW4KYW5k
IHBhc3NlZCwgd2l0aCBubyByZWdyZXNzaW9ucy4KCkVhcmxpZXIgcnVucyBhZ2FpbnN0IHRoZSAq
aW5zdGFsbGVkKiBNYXhpbWEgd2l0aCB0aGUgZml4IGxvYWRlZCBhdCBydW50aW1lCmFsc28gc2hv
d2VkIDE0LDc0NSB0ZXN0cywgbm8gcmVncmVzc2lvbnMsIHBlci1maWxlIHJlc3VsdHMgYnl0ZS1p
ZGVudGljYWwgdG8KYmFzZWxpbmUgYWNyb3NzIGFsbCA3OCBmaWxlcy4KCi0tLQoKIyMgNy4gVHJh
cHMgYW5kIGdvdGNoYXMgZGlzY292ZXJlZAoKV29ydGgga25vd2luZyBiZWZvcmUgeW91IHRvdWNo
IGFueSBvZiB0aGlzLgoKKipgLS12ZXJ5LXF1aWV0YCBicmVha3MgYHJ0ZXN0M2AgcHJvYmxlbSAy
MjIuKiogSXQgc2V0cyBgKmRpc3BsYXktbGFiZWxzLXAqYAp0byBgbmlsYCAoYHNyYy9pbml0LWNs
Lmxpc3A6NTc1YCksIGFuZCBwcm9ibGVtIDIyMiB0ZXN0cyBleGFjdGx5IHRoYXQ6CmBwcmludF9z
dHJpbmdfMmQoJz9tbGFiZWwoYSxiKSlgIGV4cGVjdHMgdGhlIGxhYmVsIGAoYSlgLCBidXQgd2l0
aCBsYWJlbHMKc3VwcHJlc3NlZCB0aGUgYG1sYWJlbGAgd3JhcHBlciByZW5kZXJzIGFzIG5vdGhp
bmcuICoqRG8gbm90IHVzZQpgLS12ZXJ5LXF1aWV0YCB3aGVuIHJ1bm5pbmcgdGhlIHRlc3RzdWl0
ZS4qKiBJdCBjb3N0IHRpbWUgaGVyZS4KCioqYHJ0ZXN0M2AgcHJvYmxlbSAxNDYgaXMgYSByZWdp
c3RlcmVkIGtub3duIGZhaWx1cmUqKiDigJQKYHNyYy90ZXN0c3VpdGUubGlzcDo2NGAsIGAoKG1s
aXN0IHNpbXApICJydGVzdDMiICgobWxpc3Qgc2ltcCkgMTQ2KSlgLgpgcnVuX3Rlc3RzdWl0ZSgp
YCBjb3VudHMgaXQgYXMgZXhwZWN0ZWQgYW5kIG5ldmVyIHJlcG9ydHMgaXQ7IGEgYmFyZQpgYmF0
Y2goLi4uLCB0ZXN0KWAgb24gcnRlc3QzIHdpbGwgc2hvdyBpdCBhcyBhIGZhaWx1cmUuCgoqKmBr
aWxsYCBkb2VzIG5vdCBldmFsdWF0ZSBpdHMgYXJndW1lbnQuKiogYG1hcChsYW1iZGEoW3NdLCBr
aWxsKHMpKSwgWy4uLl0pYApraWxscyB0aGUgc3ltYm9sIGBzYCBlYWNoIHRpbWUgYW5kIGlzIGEg
Kipuby1vcCoqIOKAlCBpdCBzaWxlbnRseSBsZWZ0IGV2ZXJ5CmRlY2xhcmVkIG9wZXJhdG9yIGlu
IHBsYWNlIGluIHRoZSBmaXJzdCBkcmFmdCBvZiB0aGUgdGVzdCBmaWxlLCB3aGljaCB3b3VsZApo
YXZlIGxlYWtlZCBgJW9yYCwgYGlmeGAsIGBjZnhgIGV0Yy4gaW50byBldmVyeSBzdWJzZXF1ZW50
IGZpbGUgaW4gdGhlIHN1aXRlLgpVc2UgYGFwcGx5KGtpbGwsIFtzXSlgLiBUaGUgdGVzdCBmaWxl
IG5vdyBhc3NlcnRzIHRoZSBjbGVhbnVwIHdvcmtlZCBhbmQgd2FzCmNoZWNrZWQgZm9yIHBvbGx1
dGlvbiBieSBydW5uaW5nIGBydGVzdF9vcGVyYXRvcnNgIHRoZW4gYHJ0ZXN0X2RvdGAgaW4gb25l
CnNlc3Npb24gKDM1LzM1LCB0aGVuIDcyLzcyIG1hdGNoaW5nIGl0cyBjb250cm9sKS4KCioqYGtp
bGwoenopYCBkb2Vzbid0IHBhcnNlIG9uY2UgYHp6YCBpcyBhbiBpbmZpeCBvcGVyYXRvcioqIOKA
lCB1c2UKYGtpbGwoInp6IilgLiBTYW1lIGNhdXNlIGFzIMKnOC4xLgoKLS0tCgojIyA4LiBSZWxh
dGVkIHByb2JsZW1zIGZvdW5kIGJ1dCBkZWxpYmVyYXRlbHkgTk9UIGZpeGVkCgpUaGVzZSBhcmUg
cmVhbCwgYnV0IHNlcGFyYXRlIGZyb20gdGlja2V0ICM0ODgzLiBEbyBub3Qgc2lsZW50bHkgYnVu
ZGxlIHRoZW0uCgojIyMgOC4xIGBuYXJ5KGYpYCB3aXRoIGEgYmFyZSBzeW1ib2wg4oCUIGRpZmZl
cmVudCBidWcsIG5vdCBmaXhlZAoKYGBgbWF4aW1hCm5hcnkoZik7Cm5hcnkoZik7ICAgICAvKiBp
bmNvcnJlY3Qgc3ludGF4OiBmIGlzIG5vdCBhIHByZWZpeCBvcGVyYXRvciAqLwpgYGAKCkZhaWxz
IGlkZW50aWNhbGx5IHdpdGggYW5kIHdpdGhvdXQgdGhlIHBhdGNoLiBJdCBuZXZlciByZWFjaGVz
CmBkZWZpbmUtc3ltYm9sYCBhdCBhbGwg4oCUIGBkZWYtb3BlcmF0b3JgIGd1YXJkcyB0aGF0IHdp
dGgKYChpZiAoc3RyaW5ncCBvcCkgLi4uKWAgKG5wYXJzZS5saXNwOjE3MDApLCBzbyB0aGUgdHJp
ZSBpcyB1bnRvdWNoZWQuCgpUaGUgcmVhbCBtZWNoYW5pc206IGFmdGVyIGEgc2luZ2xlIGBuYXJ5
KGYpYCwgdGhlIHN5bWJvbCBoYXMKYG51ZD1OSUwgbGVkPVQgbGJwPTE4MCByYnA9MTgwYC4gV2l0
aCBhIGxlZnQtZGVub3RhdGlvbiBidXQgbm8KbnVsbC1kZW5vdGF0aW9uLCBgZmAgaGFzIG5vIHBh
cnNlIGluIHByZWZpeCBwb3NpdGlvbi4gVGhlIGRlY2lzaXZlIGV2aWRlbmNlCnRoYXQgcmVkZWNs
YXJhdGlvbiBpcyBpcnJlbGV2YW50IOKAlCBhZnRlciAqKm9uZSoqIGBuYXJ5KGYpYCwgYSBwbGFp
bgphc3NpZ25tZW50IGFscmVhZHkgZmFpbHM6CgpgYGBtYXhpbWEKbmFyeShmKSQKZyA6IGYkICAg
ICAgIC8qIGluY29ycmVjdCBzeW50YXg6IGYgaXMgbm90IGEgcHJlZml4IG9wZXJhdG9yICovCmBg
YAoKQ2FsbGluZyBgbmFyeShmKWAgdHdpY2UgaXMganVzdCB0aGUgbmV4dCBwbGFjZSB5b3UgaGFw
cGVuIHRvIHdyaXRlIGJhcmUgYGZgLgpRdW90aW5nIGRvZXMgbm90IGhlbHAgKGBuYXJ5KCdmKWAg
ZmFpbHMgaWRlbnRpY2FsbHkg4oCUIHRoZSBmYWlsdXJlIHByZWNlZGVzCnF1b3RpbmcpLiBXb3Jr
YXJvdW5kOiB1c2UgdGhlIHN0cmluZyBmb3JtLCBgbmFyeSgiZiIpYC4KClRoaXMgaXMgYXJndWFi
bHkgaW5oZXJlbnQgdG8gTWF4aW1hJ3Mgb3BlcmF0b3Ivc3ltYm9sIGR1YWxpdHk7ICJmaXhpbmci
IGl0CndvdWxkIG1lYW4gZ2l2aW5nIGRlY2xhcmVkIG9wZXJhdG9ycyBhIGZhbGxiYWNrIG51ZCwg
d2hpY2ggY2hhbmdlcyBob3cKYGEgZiBiYCB2cyBgZmAgYXJlIHJlYWQgaW4gZ2VuZXJhbC4gVHJl
YXQgYXMgYSBkZXNpZ24gY29uc3RyYWludC4KCiMjIyA4LjIgUmVkZWZpbmluZyBhbiBvcGVyYXRv
cidzIHR5cGUgbGVhdmVzIHRoZSBvbGQgZGVub3RhdGlvbiBhY3RpdmUKCmBkZWYtb3BlcmF0b3Jg
IG9ubHkgZXZlciAqYWRkcyogcHJvcGVydGllcy4gQWZ0ZXIgYHByZWZpeCgienoiKWAgdGhlbgpg
aW5maXgoInp6IilgLCB0aGUgc3ltYm9sIGhhcyAqKmJvdGgqKiBgbnVkPVRgIGFuZCBgbGVkPVRg
LCBzbyBgenogYWAgc3RpbGwKcGFyc2VzIGFzIHByZWZpeCBhbmQgdGhlbiBmYWlscyBhdCBldmFs
dWF0aW9uOgoKYGBgCnp6PzogZXhwZWN0ZWQgZXhhY3RseSAyPyBhcmd1bWVudHMgYnV0IGdvdCAx
PzogW2FdCmBgYAoKUHJlLWV4aXN0aW5nOyB1bmNoYW5nZWQgYnkgdGhlIHBhdGNoLiBBIGJlaGF2
aW91cmFsIGNoYW5nZSB3aXRoIHJlYWwgYmxhc3QKcmFkaXVzIOKAlCBrZWVwIGl0IG91dCBvZiB0
aGUgdHdvLWxpbmUgZml4LgoKIyMjIDguMyBEb2N1bWVudGF0aW9uIGdhcAoKVGhlIGRvY3MgbmV2
ZXIgc3RhdGUgdGhlIHR5cGUgb2YgdGhlIG9wZXJhdG9yIGFyZ3VtZW50LiBgbmFyeWAncyBzaWdu
YXR1cmUKaXMgYG5hcnkoQHZhcntvcH0pYCB3aXRoIG5vIHR5cGU7IHRoZSBwcm9zZSBvbmx5ICpp
bGx1c3RyYXRlcyogd2l0aApgbmFyeSgieCIpYC4gQWxsIDEyIHdvcmtlZCBleGFtcGxlcyBpbiBg
ZG9jL2luZm8vT3BlcmF0b3JzLnRleGlgIHVzZSBzdHJpbmdzCmFuZCBub25lIHVzZXMgYSBiYXJl
IHN5bWJvbCDigJQgeWV0IGBtYXRjaGZpeGAgaXMgdGhlIG9ubHkgb25lIG9mIHRoZSBzaXggdGhh
dApzYXlzIHNvIGV4cGxpY2l0bHkgKCJUaGUgZGVsaW1pdGVycyBhcmUgc3BlY2lmaWVkIGFzIHN0
cmluZ3MiLCBsaW5lcyAxODEyIGFuZAoxODE2KS4KCk1lYW53aGlsZSB0aGUgZG9jcyBwb3NpdGl2
ZWx5ICpzYW5jdGlvbiogcmVkZWNsYXJhdGlvbiwgd2hpY2ggaXMgd2hhdCBtYWtlcwp0aGlzIGEg
YnVnIHJhdGhlciB0aGFuIGEgZG9jdW1lbnRlZCBzaGFycCBlZGdlOgoKLSBsaW5lIDE3OiAi4oCm
b3IgdG8gKipyZWRlZmluZSB0aGUgcHJlY2VkZW5jZSBvZiBleGlzdGluZyBvcGVyYXRvcnMqKi4i
Ci0gbGluZSAxODI3OiAiKipBbiBleGlzdGluZyBvcGVyYXRvciBtYXkgYmUgcmVkZWNsYXJlZCoq
IGFzIGEgbWF0Y2hmaXgKICBvcGVyYXRvciB3aXRob3V0IGNoYW5naW5nIGl0cyBvdGhlciBwcm9w
ZXJ0aWVzLiIKClN1Z2dlc3RlZDogc3RhdGUgdGhhdCBgb3BgIGlzIGEgc3RyaW5nIGZvciBgaW5m
aXhgL2BuYXJ5YC9gcHJlZml4YC8KYHBvc3RmaXhgL2Bub2ZpeGAgYXMgYG1hdGNoZml4YCBhbHJl
YWR5IGRvZXMsIGFuZCBub3RlIHdoYXQgcGFzc2luZyBhIHN5bWJvbApkb2VzIGluc3RlYWQgKMKn
OC4xKS4gQ2hlYXA7IHJlYXNvbmFibGUgdG8gZm9sZCBpbnRvIHRoZSBzYW1lIHJlcG9ydC4KCi0t
LQoKIyMgOS4gV2hlcmUgZXZlcnl0aGluZyBpcwoKYGBgCi9ob21lL3NlcmdlL3NyYy9leHRlcm5h
bC9tYXhpbWEvICAgICAgICAgIG1heGltYSBzb3VyY2UgKGdpdCwgbWFzdGVyLCBiYXNlIGUxZGZm
NWUzZCkK4pSc4pSA4pSAIHNyYy9kZWZjYWwubGlzcDo4MSAgICAgICAgICAgICAgICAgICAgZml4
IDEg4oCUIGRlZmluZS1zeW1ib2wgZGVkdXAK4pSc4pSA4pSAIHNyYy9ucGFyc2UubGlzcDoyODQg
ICAgICAgICAgICAgICAgICAgZml4IDIg4oCUIHJlYWQtY29tbWFuZC10b2tlbi1hdXggZ3VhcmQK
4pSc4pSA4pSAIHNyYy90ZXN0c3VpdGUubGlzcDo5NyAgICAgICAgICAgICAgICAgInJ0ZXN0X29w
ZXJhdG9ycyIgcmVnaXN0ZXJlZArilJTilIDilIAgdGVzdHMvcnRlc3Rfb3BlcmF0b3JzLm1hYyAg
ICAgICAgICAgICBuZXcsIDM1IHRlc3RzCgovaG9tZS9zZXJnZS9sb2NhbC/igKYvYnJhbmNoXzVf
NDlfYmFzZV8xMzhfZ2UxZGZmNWUzZC8gICBpbnN0YWxsZWQgbWF4aW1hCmBgYAoKV29ya2luZyB0
cmVlIGFsc28gaGFzIHVudHJhY2tlZCBidWlsZCBhcnRpZmFjdHMgdW5kZXIgYGRvYy9pbmZvL2Ag
YW5kCmBpbnRlcmZhY2VzL2VtYWNzL2Ag4oCUIHByZS1leGlzdGluZywgdW5yZWxhdGVkLgoKVXNl
ZnVsIGNvbW1hbmRzOgoKYGBgYmFzaApnaXQgLUMgL2hvbWUvc2VyZ2Uvc3JjL2V4dGVybmFsL21h
eGltYSBkaWZmCm1heGltYSAtLWJhdGNoLXN0cmluZz0ncnVuX3Rlc3RzdWl0ZSgpJCcgICAgICAg
ICAgICAgICAgICAgICAgICAjIE5PVCAtLXZlcnktcXVpZXQKbWF4aW1hIC0tYmF0Y2gtc3RyaW5n
PSdiYXRjaCgidGVzdHMvcnRlc3Rfb3BlcmF0b3JzLm1hYyIsIHRlc3QpJCcKYGBgCgpJbnZlc3Rp
Z2F0aW9uIHNjcmF0Y2ggZmlsZXMgKHJlcHJvZHVjZXJzLCB0aGUgcnVudGltZS1wYXRjaCBgZml4
Lmxpc3BgLAp0ZXN0c3VpdGUgbG9ncykgd2VyZSBsZWZ0IGluIHRoZSBzZXNzaW9uIHNjcmF0Y2hw
YWQgdW5kZXIKYC90bXAvY2xhdWRlLTEwMDAvLWhvbWUtc2VyZ2Utc3JjLW1heGltYS/igKYvc2Ny
YXRjaHBhZC9gLiBUaGV5IGFyZQpyZXByb2R1Y2libGUgZnJvbSB0aGlzIGRvY3VtZW50OyB0cmVh
dCB0aGVtIGFzIGRpc3Bvc2FibGUuCgotLS0KCiMjIDEwLiBSZW1haW5pbmcgd29yayDigJQgdGhl
IHVwc3RyZWFtIHJlcG9ydAoKTm90aGluZyBpcyBibG9ja2VkOyB0aGUgY29kZSBhbmQgdGVzdHMg
YXJlIGRvbmUgYW5kIHZlcmlmaWVkLgoKU3VnZ2VzdGVkIGZyYW1pbmcgZm9yIFNGICM0ODgzOgoK
MS4gKipMZWFkIHdpdGggdGhlIGBwcmVmaXhgIGNhc2UqKiDigJQgYSBzaWxlbnRseSB3cm9uZyBh
bnN3ZXIgd2l0aCBubwogICBkaWFnbm9zdGljIGlzIG1vcmUgY29tcGVsbGluZyB0aGFuIGEgcGFy
c2UgZXJyb3IuCjIuICoqVXNlIHJlcHJvZHVjZXIgQioqIChgbmFyeSgiJW9yIik7IG5hcnkoIiVv
cmUiKTsgJW9yYigxLDMpO2ApIGFzIHRoZQogICBwcmltYXJ5LCBzaW5jZSBpdCBzaG93cyB0aGUg
dG9rZW5pemVyIGRlZmVjdCB3aXRoIGVhY2ggb3BlcmF0b3IgZGVjbGFyZWQKICAgZXhhY3RseSBv
bmNlIGFuZCBubyBkdXBsaWNhdGUgaW52b2x2ZWQuCjMuICoqQ2l0ZSBgNjZmM2YzNjAxYCAoMjAx
MC0wOS0yNCkqKiDigJQgZGVmZWN0IDIgaXMgdGhhdCBmaXggbGVmdCB1bmRvbmUsIGluCiAgIHRo
ZSBicmFuY2ggaW1tZWRpYXRlbHkgYmVsb3cgdGhlIG9uZSBpdCBwYXRjaGVkLiBUaGlzIHNob3Vs
ZCBtYWtlIHJldmlldwogICBzdHJhaWdodGZvcndhcmQuCjQuICoqQ2l0ZSB0aGUgcmVhbC13b3Js
ZCB0cmlnZ2VyKiog4oCUIGEgZG91YmxlIGBsb2FkKHRvX3BvbHlfc29sdmUpYCwgZWFzeSB0bwog
ICBkbyBieSBhY2NpZGVudCBiZWNhdXNlIG9mIHRoZSBgdG9fcG9seV9zb2x2ZWAg4oaSIGAlc29s
dmVgIGFsaWFzLgo1LiBNZW50aW9uIGAlYW5kYCBpcyBhZmZlY3RlZCBpZGVudGljYWxseSB0byBg
JW9yYC4KNi4gT3B0aW9uYWxseSBpbmNsdWRlIHRoZSBkb2MgZml4ICjCpzguMykuIEtlZXAgwqc4
LjEgYW5kIMKnOC4yIG91dCwgb3IgZmlsZQogICB0aGVtIHNlcGFyYXRlbHkuCg==
--0000000000000d67d80657ab0da3
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline


--0000000000000d67d80657ab0da3
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Maxima-discuss mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/maxima-discuss

--0000000000000d67d80657ab0da3--