avoiding crashes when trying to call a c++ callback from octave

GuidoRamon via Help-octave <[email protected]> Thu, 08 Feb 2024 12:17:14 +0000
Newsgroups gmane.comp.gnu.octave.general
Message-ID <PQJNZ3cPMqWdMnmDbc0XPky8osL_qUQbkCSk85d4uOc1RMeAoV2DO3Pb7055Na1EqUkPjHnroqTxEjuDjCLYRzuhtN9ZvYohWVOX0jv6ND8=@proton.me>
This is a multi-part message in MIME format.

--===============8759722490904467249==
Content-Type: multipart/alternative;
 boundary="b1_mFIIC5akUAeuA6Xqn3frpzMhsKpwPvO4ahEoepCmM8M"

This is a multi-part message in MIME format.

--b1_mFIIC5akUAeuA6Xqn3frpzMhsKpwPvO4ahEoepCmM8M
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: base64

SGVsbG8gZXZlcnlvbmUsCgpJIGhhdmUgYW4gaXNzdWUgd2l0aCBkaXNwYXRjaGluZyBjbGFzc2Vz
IGluIEdOVSBPY3RhdmUgOC40IG9uIFdpbmRvd3MgMTAuIEkgaW5zdGFsbGVkIGl0IHZpYSB0aGUg
eDY0IGV4ZSBpbnN0YWxsZXIuCgpJIGFtIHRyeWluZyB0byBjYWxsIGEgYysrIGZ1bmN0aW9uIGlu
IEdOVSBvY3RhdmUsIHNvIEkgdXNlIGEgZGlzcGF0Y2hlciAqLmNjIGZpbGUgYXMgZm9sbG93cywg
d2hpY2ggSSB0aGVuIHN1Y2Nlc3NmdWxseSBjb21waWxlIGludG8gYW4gb2N0LWZpbGU6Cgpta29j
dGZpbGUgbXlfZGlzcGF0Y2hlcl9mdW5jdGlvbi5jYyAtYwpta29jdGZpbGUgbXlfZGlzcGF0Y2hl
cl9mdW5jdGlvbi5vIG15X2NwcF9jbGFzc19waW1wbC5vIC1scXVhZG1hdGgKCiNpbmNsdWRlPG9j
dGF2ZS9vY3QuaD4KI2luY2x1ZGU8b2N0YXZlL2ROREFycmF5Lmg+CgovKiBib2R5IGFuZCBpbmxp
bmUtbWVtYmVycyBvZiBNeV9jcHBfY2xhc3MgKi8KCkRFRlVOX0RMRChteV9kaXNwYXRjaGVyX2Z1
bmN0aW9uLCBhcmdzLCBuYXJnb3V0LCAiRGVidWdnaW5nX215X2Rpc3BhdGNoZXJfZnVuY3Rpb25f
c3VpdGFibGVfbmFtZSIpewovLwovLyBmbGFnID0gTXlfY3BwX2NsYXNzLm15X2NwcF9mdW5jdGlv
bigpOwovLwovLyArKysrIHBvc3Nlc3MgYW4gaW5zdGFuY2UKc3RhdGljIE15X2NwcF9jbGFzcyBt
eV9jbGFzc19pbnN0YW5jZTsgLy8gSSBhbHNvIHRyaWVkIHdpdGhvdXQgInN0YXRpYyIsIGkuZS4g
cmUtaW5zdGFudGlhdGluZyBhdCBlYWNoIGNhbGwuIFNhbWUgYmVoYXZpb3VyIChpLmUuIG9jdGF2
ZSBjbG9zZXMpLgovLwovLyArKysrIGFjcXVpcmUgYXJyYXlzIE5EQXJyYXkgYXJyYXlfeCA9IGFy
Z3MoMCkuYXJyYXlfdmFsdWUoKTsKTkRBcnJheSBhcnJheV95ID0gYXJncygxKS5hcnJheV92YWx1
ZSgpOwovLwovLyArKysrIGxvYWQgaW5wdXRzIGludG8gY2xhc3MKZm9yKGludCBpPTA7aTwxMDsr
K2kpeyBteV9jbGFzc19pbnN0YW5jZS54W2ldID0gYXJyYXlfeChpKTsgfQovLwovLyArKysrIGNv
bXB1dGUKbXlfY2xhc3NfaW5zdGFuY2UuY29tcHV0ZSgpOwovLwovLyArKysrIGV4cG9ydCBvdXRw
dXRzCmZvcihpbnQgaT0wO2k8MjA7KytpKXsgYXJyYXlfeShpKSA9IG15X2NsYXNzX2luc3RhbmNl
LnlbaV07IH0KLy8KLy8gKysrKyBwYWNrIGFuZCByZXR1cm4gcmVzdWx0CgpvY3RhdmVfdmFsdWVf
bGlzdCByZXR2YWw7Ci8vCgpyZXR2YWwuYXBwZW5kKCBvY3RhdmVfdmFsdWUoYXJyYXlfeSApICk7
CgpyZXR1cm4gcmV0dmFsOwp9CgpUaGUgT2N0YXZlIGNvZGUsIHdoaWNoIGNhbGxzIHRoZSBvY3Qg
ZmlsZSwgaXM6Cgphc3NlcnQoIHNpemUoeCk9PVsxMCwxXSAmJiBzaXplKHgpPT1bMjAsMV0gKTsg
JSB0aGlzIHBhc3NlcyBzdWNjZXNzZnVsbHkKeSA9IG15X2Rpc3BhdGNoZXJfZnVuY3Rpb24oeCx5
KTsKClRoZSBjb25zdHJ1Y3RvciBvZiBNeV9jcHBfY2xhc3MgcmVsaWVzIG9uIGEgc2luZ2xldG9u
LCB3aGljaCBoYXMgYmVlbiBpbXBsZW1lbnRlZCB3aXRoIGEgbm9uLW1lbWJlciBmdW5jdGlvbiB0
aGF0IHJldHVybnMgYSBzdGF0aWMgaW5zdGFuY2Ugb2YgdGhlIFNpbmdsZXRvbi4KCkV2ZXJ5dGlt
ZSBJIGNhbGwgdGhlIGRpc3BhdGNoZXIgZnJvbSBPY3RhdmUgR1VJLCBPY3RhdmUgaW1tZWRpYXRl
bHkgY2xvc2VzIGFsbCB3aW5kb3dzIG9mIHRoZSBzb2Z0d2FyZSBhbmQgZW5kcy4gKE1heWJlIGEg
c3ViZ3JvdXAgb2YgdXMgY2FuIGFncmVlIHRoYXQgZWl0aGVyIG15IGNsYXNzIGxlYWtzIG9yIE9j
dGF2ZSBlbmNvdW50ZXJzIGEgYnVnLiBJIGhhdmUgZGVidWdnZWQgbXkgY2xhc3MuIEkgd291bGQg
YXBwcmVjaWF0ZSBhdm9pZGluZyBhIGRpc2N1c3Npb24gaW50byB0aGF0IGFyZWEuKQoKSSBkbyBu
b3Qga25vdyBvciB3YW50IHRvIGtub3cgb3IgZGlzY3VzcyB3aGV0aGVyIHRoaXMgaXMgYSBidWcu
CgpJIGFtIGludGVyZXN0ZWQgaW4gYWNxdWlyaW5nIGEgbWVhbnMgdG8gZG9pbmcgd2hhdCB0aGUg
YWJvdmUgY29kZSB3b3VsZCBiZSBleHBlY3RlZCB0byBkbyB1bmRlciByZWFzb25hYmxlIG5haXZl
IGFzc3VtcHRpb25zICh3aGljaCBhcmU6IEkgaGF2ZSBhIGNsYXNzLiBJIGNhbiBjb25zdHJ1Y3Qg
YW5kIGRlc3RydWN0IGluc3RhbmNlcyBvZiBpdCBpbiBjKysgbXVsdGlwbGUgdGltZXMgd2l0aG91
dCBtZW1vcnkgbGVha3MuIEVhY2ggaW5zdGFuY2UgaGFzIGJ1ZmZlcnMgeCx5IGFuZCBhIG1lbWJl
ciBmdW5jdGlvbiBjb21wdXRlIHRoYXQgbWFuaXB1bGF0ZXMgeS4gSSB3YW50IHRvIG9idGFpbiB5
IGluIE9jdGF2ZSBmcm9tIGdpdmVuIHggaW4gT2N0YXZlKS4KCkN1cnJlbnRseSwgbXkgd29yay1h
cm91bmQgaXMgdG8gd3JpdGUgYSB0ZXh0IGZpbGUgaW4gb2N0YXZlLCB0aGVuIG1ha2UgYSBzeXN0
ZW0gY2FsbCBmcm9tIG9jdGF2ZSB0byBteSBjcHAgZXhlLCB0aGlzIG1hbmlwdWxhdGVzIHRoZSB0
ZXh0ZmlsZSwgYW5kIG9jdGF2ZSByZWFkcyB0aGUgcmVzdWx0cy4gVGhlIGlzc3VlIGlzIHdpdGgg
c3BlZWQgb2YgZXhlY3V0aW9uLCBzaW5jZSB0aGUgd3JpdGUgdG8gaGFyZGRyaXZlIGludHJvZHVj
ZXMgZW5vdXJtb3VzIGxhdGVuY3ksIHBhcnRpY3VsYXJseSBzaW5jZSBJIG5lZWQgfjEwMDAwIGV2
YWxhdGlvbnMgcGVyIHVzZSBjYXNlLgoKVGhhbmsgeW91IGZvciBhbnkgaGVscC4KCktpbmQgcmVn
YXJkcywKR3VpZG8=

--b1_mFIIC5akUAeuA6Xqn3frpzMhsKpwPvO4ahEoepCmM8M
Content-Type: text/html; charset=utf-8
Content-Transfer-Encoding: base64

PGRpdiBzdHlsZT0iZm9udC1mYW1pbHk6IEFyaWFsLCBzYW5zLXNlcmlmOyBmb250LXNpemU6IDE0
cHg7IGNvbG9yOiByZ2IoMCwgMCwgMCk7IGJhY2tncm91bmQtY29sb3I6IHJnYigyNTUsIDI1NSwg
MjU1KTsiPkhlbGxvIGV2ZXJ5b25lLDwvZGl2PjxkaXYgc3R5bGU9ImZvbnQtZmFtaWx5OiBBcmlh
bCwgc2Fucy1zZXJpZjsgZm9udC1zaXplOiAxNHB4OyBjb2xvcjogcmdiKDAsIDAsIDApOyBiYWNr
Z3JvdW5kLWNvbG9yOiByZ2IoMjU1LCAyNTUsIDI1NSk7Ij48YnI+PC9kaXY+PGRpdiBzdHlsZT0i
Zm9udC1mYW1pbHk6IEFyaWFsLCBzYW5zLXNlcmlmOyBmb250LXNpemU6IDE0cHg7IGNvbG9yOiBy
Z2IoMCwgMCwgMCk7IGJhY2tncm91bmQtY29sb3I6IHJnYigyNTUsIDI1NSwgMjU1KTsiPkkgaGF2
ZSBhbiBpc3N1ZSB3aXRoIGRpc3BhdGNoaW5nIGNsYXNzZXMgaW4gR05VIE9jdGF2ZSA4LjQgb24g
V2luZG93cyAxMC4gSSBpbnN0YWxsZWQgaXQgdmlhIHRoZSB4NjQgZXhlIGluc3RhbGxlci48YnI+
PC9kaXY+PGRpdiBzdHlsZT0iZm9udC1mYW1pbHk6IEFyaWFsLCBzYW5zLXNlcmlmOyBmb250LXNp
emU6IDE0cHg7IGNvbG9yOiByZ2IoMCwgMCwgMCk7IGJhY2tncm91bmQtY29sb3I6IHJnYigyNTUs
IDI1NSwgMjU1KTsiPjxicj48L2Rpdj48ZGl2IHN0eWxlPSJmb250LWZhbWlseTogQXJpYWwsIHNh
bnMtc2VyaWY7IGZvbnQtc2l6ZTogMTRweDsgY29sb3I6IHJnYigwLCAwLCAwKTsgYmFja2dyb3Vu
ZC1jb2xvcjogcmdiKDI1NSwgMjU1LCAyNTUpOyI+SSBhbSB0cnlpbmcgdG8gY2FsbCBhIGMrKyBm
dW5jdGlvbiBpbiBHTlUgb2N0YXZlLCBzbyBJIHVzZSBhIGRpc3BhdGNoZXIgKi5jYyBmaWxlIGFz
IGZvbGxvd3MsIHdoaWNoIEkgdGhlbiBzdWNjZXNzZnVsbHkgY29tcGlsZSBpbnRvIGFuIG9jdC1m
aWxlOjxicj48YnI+PHNwYW4+bWtvY3RmaWxlIDxzcGFuPm15X2Rpc3BhdGNoZXJfZnVuY3Rpb248
L3NwYW4+LmNjIC1jPC9zcGFuPjxicj48c3Bhbj5ta29jdGZpbGUgPHNwYW4+PHNwYW4+bXlfZGlz
cGF0Y2hlcl9mdW5jdGlvbjwvc3Bhbj48L3NwYW4+Lm8gbXlfY3BwX2NsYXNzX3BpbXBsLm8gLWxx
dWFkbWF0aDwvc3Bhbj48YnI+PGJyPjwvZGl2PjxkaXYgc3R5bGU9ImZvbnQtZmFtaWx5OiBBcmlh
bCwgc2Fucy1zZXJpZjsgZm9udC1zaXplOiAxNHB4OyBjb2xvcjogcmdiKDAsIDAsIDApOyBiYWNr
Z3JvdW5kLWNvbG9yOiByZ2IoMjU1LCAyNTUsIDI1NSk7Ij48c3Bhbj4jaW5jbHVkZSZsdDtvY3Rh
dmUvb2N0LmgmZ3Q7PC9zcGFuPjxicj48c3Bhbj4jaW5jbHVkZSZsdDtvY3RhdmUvZE5EQXJyYXku
aCZndDs8L3NwYW4+PC9kaXY+PGRpdiBzdHlsZT0iZm9udC1mYW1pbHk6IEFyaWFsLCBzYW5zLXNl
cmlmOyBmb250LXNpemU6IDE0cHg7IGNvbG9yOiByZ2IoMCwgMCwgMCk7IGJhY2tncm91bmQtY29s
b3I6IHJnYigyNTUsIDI1NSwgMjU1KTsiPjxzcGFuPjxicj48L3NwYW4+PC9kaXY+PGRpdiBzdHls
ZT0iZm9udC1mYW1pbHk6IEFyaWFsLCBzYW5zLXNlcmlmOyBmb250LXNpemU6IDE0cHg7IGNvbG9y
OiByZ2IoMCwgMCwgMCk7IGJhY2tncm91bmQtY29sb3I6IHJnYigyNTUsIDI1NSwgMjU1KTsiPjxz
cGFuPi8qIGJvZHkgYW5kIGlubGluZS1tZW1iZXJzIG9mIE15X2NwcF9jbGFzcyAqLzxicj48L3Nw
YW4+PC9kaXY+PGRpdiBzdHlsZT0iZm9udC1mYW1pbHk6IEFyaWFsLCBzYW5zLXNlcmlmOyBmb250
LXNpemU6IDE0cHg7IGNvbG9yOiByZ2IoMCwgMCwgMCk7IGJhY2tncm91bmQtY29sb3I6IHJnYigy
NTUsIDI1NSwgMjU1KTsiPjxzcGFuPjxicj48L3NwYW4+PC9kaXY+PGRpdiBzdHlsZT0iZm9udC1m
YW1pbHk6IEFyaWFsLCBzYW5zLXNlcmlmOyBmb250LXNpemU6IDE0cHg7IGNvbG9yOiByZ2IoMCwg
MCwgMCk7IGJhY2tncm91bmQtY29sb3I6IHJnYigyNTUsIDI1NSwgMjU1KTsiPjxzcGFuPkRFRlVO
X0RMRChteV9kaXNwYXRjaGVyX2Z1bmN0aW9uLCBhcmdzLCBuYXJnb3V0LCAiRGVidWdnaW5nXzxz
cGFuPm15X2Rpc3BhdGNoZXJfZnVuY3Rpb248L3NwYW4+X3N1aXRhYmxlX25hbWUiKXs8L3NwYW4+
PGRpdj48c3Bhbj4mbmJzcDsgJm5ic3A7IC8vPC9zcGFuPjwvZGl2PjxkaXY+PHNwYW4+Jm5ic3A7
ICZuYnNwOyAvLyBmbGFnID0gTXlfY3BwX2NsYXNzLm15X2NwcF9mdW5jdGlvbigpOzxicj48L3Nw
YW4+PC9kaXY+PGRpdj48c3Bhbj4mbmJzcDsgJm5ic3A7IC8vPC9zcGFuPjwvZGl2PjxkaXY+PHNw
YW4+Jm5ic3A7ICZuYnNwOyAvLyArKysrIHBvc3Nlc3MgYW4gaW5zdGFuY2U8YnI+PC9zcGFuPjwv
ZGl2PjxkaXY+PHNwYW4+Jm5ic3A7ICZuYnNwOyBzdGF0aWMgTXlfY3BwX2NsYXNzIG15X2NsYXNz
X2luc3RhbmNlOyAvLyBJIGFsc28gdHJpZWQgd2l0aG91dCAic3RhdGljIiwgaS5lLiByZS1pbnN0
YW50aWF0aW5nIGF0IGVhY2ggY2FsbC4gU2FtZSBiZWhhdmlvdXIgKGkuZS4gb2N0YXZlIGNsb3Nl
cykuPGJyPjwvc3Bhbj48L2Rpdj48ZGl2PjxzcGFuPiZuYnNwOyAmbmJzcDsgLy88L3NwYW4+PC9k
aXY+PGRpdj48c3Bhbj4mbmJzcDsgJm5ic3A7IC8vICsrKysgYWNxdWlyZSBhcnJheXM8YnI+PC9z
cGFuPjwvZGl2PjxzcGFuPjxzcGFuPiZuYnNwOyAmbmJzcDsgTkRBcnJheSBhcnJheV94ID0gYXJn
cygwKS5hcnJheV92YWx1ZSgpOzxzcGFuPjxzcGFuPjwvc3Bhbj48YnI+PHNwYW4+Jm5ic3A7ICZu
YnNwOyBOREFycmF5IGFycmF5X3kgPSBhcmdzKDEpLmFycmF5X3ZhbHVlKCk7PC9zcGFuPjwvc3Bh
bj48L3NwYW4+PC9zcGFuPjwvZGl2PjxkaXYgc3R5bGU9ImZvbnQtZmFtaWx5OiBBcmlhbCwgc2Fu
cy1zZXJpZjsgZm9udC1zaXplOiAxNHB4OyBjb2xvcjogcmdiKDAsIDAsIDApOyBiYWNrZ3JvdW5k
LWNvbG9yOiByZ2IoMjU1LCAyNTUsIDI1NSk7Ij48c3Bhbj48c3Bhbj48c3Bhbj48c3Bhbj4mbmJz
cDsmbmJzcDsmbmJzcDsgLy88YnI+PC9zcGFuPjwvc3Bhbj48L3NwYW4+PC9zcGFuPjwvZGl2Pjxk
aXYgc3R5bGU9ImZvbnQtZmFtaWx5OiBBcmlhbCwgc2Fucy1zZXJpZjsgZm9udC1zaXplOiAxNHB4
OyBjb2xvcjogcmdiKDAsIDAsIDApOyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjU1LCAyNTUsIDI1
NSk7Ij48c3Bhbj4mbmJzcDsmbmJzcDsmbmJzcDsgLy8gKysrKyBsb2FkIGlucHV0cyBpbnRvIGNs
YXNzPC9zcGFuPjwvZGl2PjxkaXY+PHNwYW4gc3R5bGU9ImJhY2tncm91bmQtY29sb3I6IHJnYigy
NTUsIDI1NSwgMjU1KTsiPjxzcGFuPjwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9ImJhY2tncm91
bmQtY29sb3I6IHJnYigyNTUsIDI1NSwgMjU1KTsiPjxzcGFuPiZuYnNwOyZuYnNwOyZuYnNwOyBm
b3IoaW50IGk9MDtpJmx0OzEwOysraSl7IDxzcGFuPm15X2NsYXNzX2luc3RhbmNlPC9zcGFuPi54
W2ldID0gYXJyYXlfeChpKTsgfTwvc3Bhbj48L3NwYW4+PC9kaXY+PGRpdj48c3BhbiBzdHlsZT0i
YmFja2dyb3VuZC1jb2xvcjogcmdiKDI1NSwgMjU1LCAyNTUpOyI+PHNwYW4+Jm5ic3A7Jm5ic3A7
Jm5ic3A7IC8vPC9zcGFuPjwvc3Bhbj48L2Rpdj48ZGl2PjxzcGFuIHN0eWxlPSJiYWNrZ3JvdW5k
LWNvbG9yOiByZ2IoMjU1LCAyNTUsIDI1NSk7Ij48c3Bhbj4mbmJzcDsmbmJzcDsmbmJzcDsgLy8g
KysrKyBjb21wdXRlPC9zcGFuPjwvc3Bhbj48L2Rpdj48ZGl2PjxzcGFuIHN0eWxlPSJiYWNrZ3Jv
dW5kLWNvbG9yOiByZ2IoMjU1LCAyNTUsIDI1NSk7Ij48c3Bhbj4mbmJzcDsmbmJzcDsmbmJzcDsg
bXlfY2xhc3NfaW5zdGFuY2UuY29tcHV0ZSgpOzxicj48L3NwYW4+PC9zcGFuPjwvZGl2PjxkaXY+
PHNwYW4gc3R5bGU9ImJhY2tncm91bmQtY29sb3I6IHJnYigyNTUsIDI1NSwgMjU1KTsiPjxzcGFu
PiZuYnNwOyZuYnNwOyZuYnNwOyAvLzwvc3Bhbj48L3NwYW4+PC9kaXY+PGRpdj48c3BhbiBzdHls
ZT0iYmFja2dyb3VuZC1jb2xvcjogcmdiKDI1NSwgMjU1LCAyNTUpOyI+PHNwYW4+Jm5ic3A7Jm5i
c3A7Jm5ic3A7IC8vICsrKysgZXhwb3J0IG91dHB1dHM8YnI+PC9zcGFuPjwvc3Bhbj48L2Rpdj48
ZGl2IHN0eWxlPSJmb250LWZhbWlseTogQXJpYWwsIHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTRw
eDsgY29sb3I6IHJnYigwLCAwLCAwKTsgYmFja2dyb3VuZC1jb2xvcjogcmdiKDI1NSwgMjU1LCAy
NTUpOyI+PHNwYW4+PHNwYW4gc3R5bGU9ImJhY2tncm91bmQtY29sb3I6IHJnYigyNTUsIDI1NSwg
MjU1KTsiPjxzcGFuPjwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9ImJhY2tncm91bmQtY29sb3I6
IHJnYigyNTUsIDI1NSwgMjU1KTsiPjxzcGFuPiZuYnNwOyZuYnNwOyZuYnNwOyBmb3IoaW50IGk9
MDtpJmx0OzIwOysraSl7IDxzcGFuPmFycmF5X3koaSkgPSBteV9jbGFzc19pbnN0YW5jZTwvc3Bh
bj4ueVtpXTsgfTwvc3Bhbj48L3NwYW4+PC9zcGFuPjwvZGl2PjxkaXYgc3R5bGU9ImZvbnQtZmFt
aWx5OiBBcmlhbCwgc2Fucy1zZXJpZjsgZm9udC1zaXplOiAxNHB4OyBjb2xvcjogcmdiKDAsIDAs
IDApOyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjU1LCAyNTUsIDI1NSk7Ij48c3Bhbj48c3BhbiBz
dHlsZT0iYmFja2dyb3VuZC1jb2xvcjogcmdiKDI1NSwgMjU1LCAyNTUpOyI+PHNwYW4+Jm5ic3A7
Jm5ic3A7Jm5ic3A7IC8vPC9zcGFuPjwvc3Bhbj48L3NwYW4+PC9kaXY+PGRpdiBzdHlsZT0iZm9u
dC1mYW1pbHk6IEFyaWFsLCBzYW5zLXNlcmlmOyBmb250LXNpemU6IDE0cHg7IGNvbG9yOiByZ2Io
MCwgMCwgMCk7IGJhY2tncm91bmQtY29sb3I6IHJnYigyNTUsIDI1NSwgMjU1KTsiPjxzcGFuPjxz
cGFuIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjU1LCAyNTUsIDI1NSk7Ij48c3Bhbj4m
bmJzcDsmbmJzcDsmbmJzcDsgLy8gKysrKyBwYWNrIGFuZCByZXR1cm4gcmVzdWx0PGJyPjwvc3Bh
bj48L3NwYW4+PC9zcGFuPjwvZGl2PjxkaXYgc3R5bGU9ImZvbnQtZmFtaWx5OiBBcmlhbCwgc2Fu
cy1zZXJpZjsgZm9udC1zaXplOiAxNHB4OyBjb2xvcjogcmdiKDAsIDAsIDApOyBiYWNrZ3JvdW5k
LWNvbG9yOiByZ2IoMjU1LCAyNTUsIDI1NSk7Ij48c3Bhbj48c3Bhbj48L3NwYW4+PGRpdj48c3Bh
bj4mbmJzcDsgJm5ic3A7IG9jdGF2ZV92YWx1ZV9saXN0IHJldHZhbDs8L3NwYW4+PC9kaXY+PGRp
dj48c3Bhbj4mbmJzcDsgJm5ic3A7IC8vPC9zcGFuPjxzcGFuPjxzcGFuPjxicj48L3NwYW4+PC9z
cGFuPjwvZGl2PjxkaXY+PHNwYW4+Jm5ic3A7ICZuYnNwOyByZXR2YWwuYXBwZW5kKCBvY3RhdmVf
dmFsdWUoYXJyYXlfeSApICk7PHNwYW4+PHNwYW4+PHNwYW4+PHNwYW4+PGJyPjwvc3Bhbj48L3Nw
YW4+PC9zcGFuPjwvc3Bhbj48L3NwYW4+PC9kaXY+PGRpdj48c3Bhbj48c3Bhbj48c3Bhbj48c3Bh
bj48c3Bhbj4mbmJzcDsmbmJzcDsmbmJzcDsgcmV0dXJuIHJldHZhbDs8L3NwYW4+PC9zcGFuPjwv
c3Bhbj48L3NwYW4+PC9zcGFuPjwvZGl2PjxkaXY+PHNwYW4+PHNwYW4+PHNwYW4+PHNwYW4+PHNw
YW4+fTwvc3Bhbj48L3NwYW4+PC9zcGFuPjwvc3Bhbj48L3NwYW4+PC9kaXY+PGRpdj48c3Bhbj48
c3Bhbj48c3Bhbj48c3Bhbj48c3Bhbj48YnI+PC9zcGFuPjwvc3Bhbj48L3NwYW4+PC9zcGFuPjwv
c3Bhbj48L2Rpdj48ZGl2PjxzcGFuPjxzcGFuPjxzcGFuPjxzcGFuPjxzcGFuPlRoZSBPY3RhdmUg
Y29kZSwgd2hpY2ggY2FsbHMgdGhlIG9jdCBmaWxlLCBpczo8L3NwYW4+PC9zcGFuPjwvc3Bhbj48
L3NwYW4+PC9zcGFuPjwvZGl2PjxkaXY+PHNwYW4+PHNwYW4+PHNwYW4+PHNwYW4+PHNwYW4+PGJy
Pjwvc3Bhbj48L3NwYW4+PC9zcGFuPjwvc3Bhbj48L3NwYW4+PC9kaXY+PGRpdj48c3Bhbj48c3Bh
bj48c3Bhbj48c3Bhbj48c3Bhbj5hc3NlcnQoIHNpemUoeCk9PVsxMCwxXSAmYW1wOyZhbXA7IDxz
cGFuPjxzcGFuPjxzcGFuPjxzcGFuPjxzcGFuPjxzcGFuPnNpemUoeCk9PVsyMCwxXTwvc3Bhbj48
L3NwYW4+PC9zcGFuPjwvc3Bhbj48L3NwYW4+PC9zcGFuPiApOyAlIHRoaXMgcGFzc2VzIHN1Y2Nl
c3NmdWxseTxicj48L3NwYW4+PC9zcGFuPjwvc3Bhbj48L3NwYW4+PC9zcGFuPjwvZGl2PjxkaXY+
PHNwYW4+PHNwYW4+PHNwYW4+PHNwYW4+PHNwYW4+eSA9IDxzcGFuPm15X2Rpc3BhdGNoZXJfZnVu
Y3Rpb248L3NwYW4+KHgseSk7PGJyPjwvc3Bhbj48L3NwYW4+PC9zcGFuPjwvc3Bhbj48L3NwYW4+
PC9kaXY+PGRpdj48c3Bhbj48c3Bhbj48c3Bhbj48c3Bhbj48c3Bhbj48YnI+PC9zcGFuPjwvc3Bh
bj48L3NwYW4+PC9zcGFuPjwvc3Bhbj48L2Rpdj48ZGl2PjxzcGFuPjxzcGFuPjxzcGFuPjxzcGFu
PjxzcGFuPlRoZSBjb25zdHJ1Y3RvciBvZiA8c3Bhbj5NeV9jcHBfY2xhc3MgcmVsaWVzIG9uIGEg
c2luZ2xldG9uLCB3aGljaCBoYXMgYmVlbiBpbXBsZW1lbnRlZCB3aXRoIGEgbm9uLW1lbWJlciBm
dW5jdGlvbiB0aGF0IHJldHVybnMgYSBzdGF0aWMgaW5zdGFuY2Ugb2YgdGhlIFNpbmdsZXRvbi48
YnI+PC9zcGFuPjwvc3Bhbj48L3NwYW4+PC9zcGFuPjwvc3Bhbj48L3NwYW4+PC9kaXY+PGRpdj48
c3Bhbj48c3Bhbj48c3Bhbj48c3Bhbj48c3Bhbj48c3Bhbj48YnI+PC9zcGFuPjwvc3Bhbj48L3Nw
YW4+PC9zcGFuPjwvc3Bhbj48L3NwYW4+PC9kaXY+PGRpdj48c3Bhbj48c3Bhbj48c3Bhbj48c3Bh
bj48c3Bhbj48c3Bhbj5FdmVyeXRpbWUgSSBjYWxsIHRoZSBkaXNwYXRjaGVyIGZyb20gT2N0YXZl
IEdVSSwgT2N0YXZlIGltbWVkaWF0ZWx5IGNsb3NlcyBhbGwgd2luZG93cyBvZiB0aGUgc29mdHdh
cmUgYW5kIGVuZHMuIChNYXliZSBhIHN1Ymdyb3VwIG9mIHVzIGNhbiBhZ3JlZSB0aGF0IGVpdGhl
ciBteSBjbGFzcyBsZWFrcyBvciBPY3RhdmUgZW5jb3VudGVycyBhIGJ1Zy4gSSBoYXZlIGRlYnVn
Z2VkIG15IGNsYXNzLiBJIHdvdWxkIGFwcHJlY2lhdGUgYXZvaWRpbmcgYSBkaXNjdXNzaW9uIGlu
dG8gdGhhdCBhcmVhLik8YnI+PC9zcGFuPjwvc3Bhbj48L3NwYW4+PC9zcGFuPjwvc3Bhbj48L3Nw
YW4+PC9kaXY+PGRpdj48c3Bhbj48c3Bhbj48c3Bhbj48c3Bhbj48c3Bhbj48c3Bhbj48YnI+PC9z
cGFuPjwvc3Bhbj48L3NwYW4+PC9zcGFuPjwvc3Bhbj48L3NwYW4+PC9kaXY+PGRpdj48c3Bhbj48
c3Bhbj48c3Bhbj48c3Bhbj48c3Bhbj48c3Bhbj5JIGRvIG5vdCBrbm93IG9yIHdhbnQgdG8ga25v
dyBvciBkaXNjdXNzIHdoZXRoZXIgdGhpcyBpcyBhIGJ1Zy48L3NwYW4+PC9zcGFuPjwvc3Bhbj48
L3NwYW4+PC9zcGFuPjwvc3Bhbj48L2Rpdj48ZGl2PjxzcGFuPjxzcGFuPjxzcGFuPjxzcGFuPjxz
cGFuPjxzcGFuPjxicj48L3NwYW4+PC9zcGFuPjwvc3Bhbj48L3NwYW4+PC9zcGFuPjwvc3Bhbj48
L2Rpdj48ZGl2PjxzcGFuPjxzcGFuPjxzcGFuPjxzcGFuPjxzcGFuPjxzcGFuPkkgYW0gaW50ZXJl
c3RlZCBpbiBhY3F1aXJpbmcgYSBtZWFucyB0byBkb2luZyB3aGF0IHRoZSBhYm92ZSBjb2RlIHdv
dWxkIGJlIGV4cGVjdGVkIHRvIGRvIHVuZGVyIHJlYXNvbmFibGUgbmFpdmUgYXNzdW1wdGlvbnMg
KHdoaWNoIGFyZTogSSBoYXZlIGEgY2xhc3MuIEkgY2FuIGNvbnN0cnVjdCBhbmQgZGVzdHJ1Y3Qg
aW5zdGFuY2VzIG9mIGl0IGluIGMrKyBtdWx0aXBsZSB0aW1lcyB3aXRob3V0IG1lbW9yeSBsZWFr
cy4gRWFjaCBpbnN0YW5jZSBoYXMgYnVmZmVycyB4LHkgYW5kIGEgbWVtYmVyIGZ1bmN0aW9uIGNv
bXB1dGUgdGhhdCBtYW5pcHVsYXRlcyB5LiBJIHdhbnQgdG8gb2J0YWluIHkgaW4gT2N0YXZlIGZy
b20gZ2l2ZW4geCBpbiBPY3RhdmUpLjwvc3Bhbj48L3NwYW4+PC9zcGFuPjwvc3Bhbj48L3NwYW4+
PC9zcGFuPjwvZGl2PjxkaXY+PHNwYW4+PHNwYW4+PHNwYW4+PHNwYW4+PHNwYW4+PHNwYW4+PGJy
Pjwvc3Bhbj48L3NwYW4+PC9zcGFuPjwvc3Bhbj48L3NwYW4+PC9zcGFuPjwvZGl2PjxkaXY+PHNw
YW4+PHNwYW4+PHNwYW4+PHNwYW4+PHNwYW4+PHNwYW4+Q3VycmVudGx5LCBteSB3b3JrLWFyb3Vu
ZCBpcyB0byB3cml0ZSBhIHRleHQgZmlsZSBpbiBvY3RhdmUsIHRoZW4gbWFrZSBhIHN5c3RlbSBj
YWxsIGZyb20gb2N0YXZlIHRvIG15IGNwcCBleGUsIHRoaXMgbWFuaXB1bGF0ZXMgdGhlIHRleHRm
aWxlLCBhbmQgb2N0YXZlIHJlYWRzIHRoZSByZXN1bHRzLiBUaGUgaXNzdWUgaXMgd2l0aCBzcGVl
ZCBvZiBleGVjdXRpb24sIHNpbmNlIHRoZSB3cml0ZSB0byBoYXJkZHJpdmUgaW50cm9kdWNlcyBl
bm91cm1vdXMgbGF0ZW5jeSwgcGFydGljdWxhcmx5IHNpbmNlIEkgbmVlZCB+MTAwMDAgZXZhbGF0
aW9ucyBwZXIgdXNlIGNhc2UuPGJyPjwvc3Bhbj48L3NwYW4+PC9zcGFuPjwvc3Bhbj48L3NwYW4+
PC9zcGFuPjwvZGl2PjxkaXY+PHNwYW4+PHNwYW4+PHNwYW4+PHNwYW4+PHNwYW4+PHNwYW4+PGJy
Pjwvc3Bhbj48L3NwYW4+PC9zcGFuPjwvc3Bhbj48L3NwYW4+PC9zcGFuPjwvZGl2PjxkaXY+PHNw
YW4+PHNwYW4+PHNwYW4+PHNwYW4+PHNwYW4+PHNwYW4+VGhhbmsgeW91IGZvciBhbnkgaGVscC48
L3NwYW4+PC9zcGFuPjwvc3Bhbj48L3NwYW4+PC9zcGFuPjwvc3Bhbj48L2Rpdj48ZGl2PjxzcGFu
PjxzcGFuPjxzcGFuPjxzcGFuPjxzcGFuPjxzcGFuPjxicj48L3NwYW4+PC9zcGFuPjwvc3Bhbj48
L3NwYW4+PC9zcGFuPjwvc3Bhbj48L2Rpdj48ZGl2PjxzcGFuPjxzcGFuPjxzcGFuPjxzcGFuPjxz
cGFuPjxzcGFuPktpbmQgcmVnYXJkcyw8L3NwYW4+PC9zcGFuPjwvc3Bhbj48L3NwYW4+PC9zcGFu
Pjwvc3Bhbj48L2Rpdj48ZGl2PjxzcGFuPjxzcGFuPjxzcGFuPjxzcGFuPjxzcGFuPjxzcGFuPkd1
aWRvPGJyPjwvc3Bhbj48L3NwYW4+PC9zcGFuPjwvc3Bhbj48L3NwYW4+PC9zcGFuPjwvZGl2Pjwv
c3Bhbj48L2Rpdj4=


--b1_mFIIC5akUAeuA6Xqn3frpzMhsKpwPvO4ahEoepCmM8M--



--===============8759722490904467249==
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: base64
Content-Disposition: inline

Ci0tLS0tLS0tLS0KV2UgYXJlIHRyYW5zaXRpb25pbmcgdG8gYSB3ZWIgYmFzZWQgZm9ydW0KZm9y
IGNvbW11bml0eSBoZWxwIGRpc2N1c3Npb25zIGF0Cmh0dHBzOi8vb2N0YXZlLmRpc2NvdXJzZS5n
cm91cC9jL2hlbHAK

--===============8759722490904467249==--