patches for eclipse building

[email protected] (Christian Lynbech) Sun, 23 Mar 2003 18:15:36 +0100
Newsgroups gmane.comp.window-managers.eclipse
Message-ID <[email protected]>
--Oa7ZIqXZQ4
Content-Type: text/plain; charset=us-ascii
Content-Description: message body text
Content-Transfer-Encoding: 7bit

I have finally finished my attempt at improving the eclipse build
process.

As far as I can test it, it should support both fasl files (libing in the
source directory) and standalone core files (where everything
necessary gets installed).

This patch contains also a new option for determining the name of the
startup file as was previously discussed.

I propose (and the patch anticipates its approval :-) that we rename
the system startup file from .eclipse to eclipserc. I do not think
eclipse should install dot files. I always keep forgetting that theyu
are there and they is no real reason that the two files (user file and
library file) must have the same name.

I have thrown in another little modification. Under CMUCL, I have
changed the %quit% code from calling `quit' to calling `unix:exit'. I
have numerous times gotten an eclipse process looping endslessly in a
SIGPIPE error after exiting X. I guess that `quit' wants to do some
cleanup, but this fails since the connection has been closed
down. After the change I have not seen that problem. Alternatively we
could probably just call `quit' with a non-nil argument which
presumably has pretty much the same effect (judging from the document
string of `quit').

I have tried to add some documentation to the readme file but I am not
sure that I am explaining configuration options very well.

The patch comes as three files, one diff, the new file
"config.lisp.in" and a cvsignore file for lib/ which I think is
missing.

The diff is against a freshly updated sandbox so it should apply
cleanly.


--Oa7ZIqXZQ4
Content-Type: application/octet-stream
Content-Disposition: attachment;
	filename="diff2"
Content-Transfer-Encoding: base64

PyBjb25maWcubGlzcC5pbgo/IGVjbGlwc2VyYwo/IGxpYi8uY3ZzaWdub3JlCkluZGV4OiAuY3Zz
aWdub3JlCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KUkNTIGZpbGU6IC9ob21lL2N2c3Jvb3QvZWNsaXBzZS8uY3ZzaWdu
b3JlLHYKcmV0cmlldmluZyByZXZpc2lvbiAxLjEKZGlmZiAtdSAtdSAtcjEuMSAuY3ZzaWdub3Jl
Ci0tLSAuY3ZzaWdub3JlCTIwMDIvMDYvMjQgMDc6NDg6NTIJMS4xCisrKyAuY3ZzaWdub3JlCTIw
MDMvMDMvMjMgMTY6NTk6MjQKQEAgLTEsNyArMSw5IEBACiAjICRJZDogLmN2c2lnbm9yZSx2IDEu
MSAyMDAyLzA2LzI0IDA3OjQ4OjUyIGphbWVzIEV4cCAkCiAjIEdlbmVyYXRlZCBmaWxlcworY29u
ZmlnLmxpc3AKIGVjbGlwc2UKIGxvYWQtZWNsaXBzZS5saXNwCitFY2xpcHNlLmRlc2t0b3AKICMg
Q01VQ0wgc3R1ZmYKICoueDg2ZgogKi5lcnIKSW5kZXg6IE1ha2VmaWxlLmluCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
UkNTIGZpbGU6IC9ob21lL2N2c3Jvb3QvZWNsaXBzZS9NYWtlZmlsZS5pbix2CnJldHJpZXZpbmcg
cmV2aXNpb24gMS41CmRpZmYgLXUgLXUgLXIxLjUgTWFrZWZpbGUuaW4KLS0tIE1ha2VmaWxlLmlu
CTIwMDIvMTEvMDcgMTU6NTQ6MzQJMS41CisrKyBNYWtlZmlsZS5pbgkyMDAzLzAzLzIzIDE2OjU5
OjI0CkBAIC0zLDEyICszLDE0IEBACiAjCiAjIE1ha2VmaWxlIGZvciBFY2xpcHNlIHdpbmRvdyBt
YW5hZ2VyLgogCi1MSVNQID0gQExJU1BACi1DT1JFID0gQENPUkVACi1jb3JlX2Rlc3QgPSBAY29y
ZV9kZXN0QAorTElTUCA9IEBMSVNQQCAkKExJU1BGTEFHUykKK3VzZWNvcmUgPSBAdXNlY29yZUAK
K0lOSVRDT1JFID0gQElOSVRDT1JFQAorQ09SRU5BTUUgPSBAQ09SRU5BTUVACitDT1JFRElSID0g
QENPUkVESVJACiBQUkcgPSBlY2xpcHNlCiAKLSMgbGlzcCBhcmd1bWVudCBuYW1lIGZvciBldmFs
dXRpbmcgZm9ybXMgOgorIyBsaXNwIGFyZ3VtZW50IG5hbWUgZm9yIGV2YWx1YXRpbmcgZm9ybXMg
OgogZXZhbF9mb3JtID0gQGV2YWxfZm9ybUAKICMgbGlzcCBhcmd1bWVudCBuYW1lIGZvciBsb2Fk
aW5nIGZpbGUgOgogbG9hZF9zd2l0Y2ggPSBAbG9hZF9zd2l0Y2hACkBAIC0yMiw1OCArMjQsMTAx
IEBACiBleGVjX3ByZWZpeCA9IEBleGVjX3ByZWZpeEAKIGJpbmRpciA9IEBiaW5kaXJACiBkYXRh
ZGlyID0gQGRhdGFkaXJACitsaWJkaXIgPSBAbGliZGlyQAogbWFuZGlyID0gQG1hbmRpckAKIGlu
c3RhbGwgPSBASU5TVEFMTEAKIGdub21lX2VudHJ5X2RpciA9IEBnbm9tZV9lbnRyeV9kaXJACitl
Y2xpcHNlZGlyID0gQGVjbGlwc2VkaXJACityY2ZpbGUgPSBAcmNmaWxlQAorCit0aGVtZWRpciA9
ICR7ZWNsaXBzZWRpcn0vdGhlbWVzCiB0aGVtZXMgPSBtaWNyb0dVSSBTdGVwIGJydXNoZWQtbWV0
YWwgQ29vbENsZWFuCiAKKyMgSW4gb3JkZXIgdG8gY29tbXVuaWNhdGUgY29uZmlndXJhdGlvbiBv
cHRpb25zIHRvIHRoZSBsaXNwIHN5c3RlbSB0aGUKKyMgY29ycmVzcG9uZGluZyB2YXJpYWJsZSBz
aG91bGQgYmUgZ2l2ZW4gYSBkZWZpbml0aW9uIGFib3ZlLCBhbiBlbnRyeQorIyBpbiBgc2V0Y29u
ZmlnJyBiZWxvdyBhbmQgYSBgZGVmdmFyJyBpbiAiY29uZmlnLmxpc3AuaW4iLiBBbHdheXMgdXNl
IGFuCisjIGV4cGxpY2l0IHByZWZpeCBvZiAiY2wtdXNlcjo6IiB0byBwcmV2ZW50IGFueSBwYWNr
YWdlIHByb2JsZW1zLgorCitzZXRjb25maWcgPSBjbC11c2VyOjoqZWNsaXBzZS1lY2xpcHNlZGly
KiAiJChlY2xpcHNlZGlyKS8iIFwKKwkgICAgY2wtdXNlcjo6KmVjbGlwc2UtcmNmaWxlKiAiJChy
Y2ZpbGUpIgorCisKIGFsbDoJY29tcGlsZSB0aGVtZXMgY29yZQogCiBjb21waWxlOgotCUAkKExJ
U1ApICQoQ09SRSkgJHtsb2FkX3N3aXRjaH0gY29tcGlsZS5saXNwCisJJChMSVNQKSAkKElOSVRD
T1JFKSAke2xvYWRfc3dpdGNofSBjb21waWxlLmxpc3AKIAogY29yZToJCi0JQGlmIHRlc3QgISAk
e2NvcmVfZGVzdH0gPSBubztcCi0gICAgICAgIHRoZW4gJChMSVNQKSAkKENPUkUpICR7bG9hZF9z
d2l0Y2h9IHN5c3RlbS5saXNwICR7ZXZhbF9mb3JtfVwKLQkiKHByb2duXAotCSAgIChvcGVyYXRl
LW9uLXN5c3RlbSA6ZWNsaXBzZSA6bG9hZClcCi0JICAgKCR7c2F2ZV9saXNwfSBcIiR7Y29yZV9k
ZXN0fVwiKSkiO1wKKwlpZiB0ZXN0ICEgJHt1c2Vjb3JlfSA9IG5vOwkJCQkJIFwKKyAgICAgICAg
dGhlbiAkKExJU1ApICQoSU5JVENPUkUpCQkJCQkgXAorICAgICAgICAgICAgICAgICAgICAgJHts
b2FkX3N3aXRjaH0gc3lzdGVtLmxpc3AJCQkJIFwKKyAgICAgICAgICAgICAgICAgICAgICR7ZXZh
bF9mb3JtfSAnKHNldHEgJChzZXRjb25maWcpKScJCQkgXAorICAgICAgICAgICAgICAgICAgICAg
JHtldmFsX2Zvcm19ICAiKHByb2duCQkJCSBcCisJCQkgICAgICAgICAgICAgIChvcGVyYXRlLW9u
LXN5c3RlbSA6ZWNsaXBzZSA6bG9hZCkgXAorCQkJICAgICAgICAgICAgICAoJHtzYXZlX2xpc3B9
IFwiJHtDT1JFTkFNRX1cIikpIjsJIFwKIAlmaQogCiAKIC5QSE9OWTogdGhlbWVzCiAKIHRoZW1l
czoKLQlAZm9yIHRoZW1lIGluICR7dGhlbWVzfTsgXAotCWRvIFwKLQkgJChMSVNQKSAkKENPUkUp
IFwKLQkJICR7bG9hZF9zd2l0Y2h9IHN5c3RlbS5saXNwIFwKLQkgICAgICAgICAke2V2YWxfZm9y
bX0gIihwcm9nblwKLQkJCQkgKGNvbXBpbGUtdGhlbWUgXCJ0aGVtZXMvJCR0aGVtZVwiKVwKLQkJ
CQkgIys6Y211KGV4dDpxdWl0KVwKLQkJCSAgICAgICAgICMrOmFsbGVncm8oZXhjbDpleGl0KSki
O1wKKwlAZm9yIHRoZW1lIGluICR7dGhlbWVzfTsJCQkJCVwKKwlkbwkJCQkJCQkJXAorCSAkKExJ
U1ApICQoSU5JVENPUkUpCQkJCQkJXAorCQkgJHtsb2FkX3N3aXRjaH0gc3lzdGVtLmxpc3AJCQkJ
XAorCSAgICAgICAgICR7ZXZhbF9mb3JtfSAiKHByb2duCQkJCQlcCisJCQkJIChjb21waWxlLXRo
ZW1lIFwidGhlbWVzLyQkdGhlbWUvXCIpCVwKKwkJCQkgIys6Y211KGV4dDpxdWl0KQkJCVwKKwkJ
CSAgICAgICAgICMrOmFsbGVncm8oZXhjbDpleGl0KSkiOwkJXAogCWRvbmUKIAotY2xlYW46Ci0J
L2Jpbi9ybSAtZiBsb2FkLWVjbGlwc2UubGlzcAotCS9iaW4vcm0gLWYgZWNsaXBzZQotCS9iaW4v
cm0gLWYgKi5lcnIgbGliLyouZXJyIGxpYi9jbHgtZXh0LyouZXJyCi0JQCQoTElTUCkgJChDT1JF
KSAke2xvYWRfc3dpdGNofSBzeXN0ZW0ubGlzcCAke2V2YWxfZm9ybX1cCi0JICIocHJvZ25cCi0J
ICAgIChvcGVyYXRlLW9uLXN5c3RlbSA6ZWNsaXBzZSA6Y2xlYW4pXAotCSAgICAjKzpjbXUoZXh0
OnF1aXQpXAorY2xlYW46IGNsZWFuLWZhc2wgY2xlYW4tY29yZSBjbGVhbi10aGVtZXMKKworY2xl
YW4tZmFzbDoKKwkkKExJU1ApICQoSU5JVENPUkUpICR7bG9hZF9zd2l0Y2h9IHN5c3RlbS5saXNw
ICR7ZXZhbF9mb3JtfQlcCisJICIocHJvZ24JCQkJCQkJXAorCSAgICAob3BlcmF0ZS1vbi1zeXN0
ZW0gOmVjbGlwc2UgOmNsZWFuKQkJCQlcCisJICAgICMrOmNtdShleHQ6cXVpdCkJCQkJCQlcCiAJ
ICAgICMrOmFsbGVncm8oZXhjbDpleGl0KSkiCi0JQGlmIHRlc3QgISAke2NvcmVfZGVzdH0gPSBu
bzsgdGhlbiAvYmluL3JtIC1mICR7Y29yZV9kZXN0fTsgZmkKLQlAZm9yIHRoZW1lIGluIHRoZW1l
cy8qOyBkbyAvYmluL3JtIC1mICQkdGhlbWUvdGhlbWUubzsgZG9uZQorCS9iaW4vcm0gLWYgKi5l
cnIKIAorY2xlYW4tY29yZToKKwlpZiB0ZXN0ICEgJHt1c2Vjb3JlfSA9IG5vOyB0aGVuIC9iaW4v
cm0gLWYgJHtDT1JFTkFNRX07IGZpCisKK2NsZWFuLXRoZW1lczoKKwlmb3IgdGhlbWUgaW4gdGhl
bWVzLyo7IGRvIC9iaW4vcm0gLWYgJCR0aGVtZS90aGVtZS5vOyBkb25lCisKK3JlYWxjbGVhbjog
Y2xlYW4KKwkvYmluL3JtIC1mIE1ha2VmaWxlCisJL2Jpbi9ybSAtZiBlY2xpcHNlCisJL2Jpbi9y
bSAtZiBsb2FkLWVjbGlwc2UubGlzcCBjb25maWcubGlzcAorCS9iaW4vcm0gLWYgY29uZmlnLmNh
Y2hlIGNvbmZpZy5sb2cgY29uZmlnLnN0YXR1cworCiBpbnN0YWxsOgorCWlmIHRlc3QgISAke3Vz
ZWNvcmV9ID0gbm8gOyB0aGVuCQkJXAorCSAgICAkKGluc3RhbGwpIC1kICR7Q09SRURJUn0gOwkJ
CQlcCisJICAgICQoaW5zdGFsbCkgJHtDT1JFTkFNRX0gJHtDT1JFRElSfS8ke0NPUkVOQU1FfSA7
CVwKKwkgICAgZm9yIHRoZW1lIGluICR7dGhlbWVzfSA7IGRvCQkJCVwKKwkgICAgICB0ZXN0IC1m
ICJ0aGVtZXMvJCR0aGVtZS90aGVtZS5vIiAmJgkJXAorCSAgICAgICQoaW5zdGFsbCkgLWQgJHt0
aGVtZWRpcn0vJCR0aGVtZSAmJgkJXAorCSAgICAgIGZvciBmaWxlIGluIHRoZW1lcy8kJHRoZW1l
LyogOyBkbwkJCVwKKwkJJChpbnN0YWxsKSAkJGZpbGUgJHt0aGVtZWRpcn0vJCR0aGVtZS8uIDsJ
XAorCSAgICAgIGRvbmUgOwkJCQkJCVwKKwkgICAgZG9uZSA7CQkJCQkJXAorCWZpCisJJChpbnN0
YWxsKSAtZCAke2VjbGlwc2VkaXJ9CisJJChpbnN0YWxsKSBlY2xpcHNlcmMgJHtlY2xpcHNlZGly
fQogCSQoaW5zdGFsbCkgLWQgJHtiaW5kaXJ9CiAJJChpbnN0YWxsKSAtbSA3NTUgJHtQUkd9ICR7
YmluZGlyfS8ke1BSR30KKwlpZiB0ZXN0ICEgLXggJHtiaW5kaXJ9L2BiYXNlbmFtZSAke0xJU1B9
YCA7IHRoZW4JXAorCSAgICAkKGluc3RhbGwpICR7TElTUH0gJHtiaW5kaXJ9IDsJCQlcCisJZmkK
IAkkKGluc3RhbGwpIC1kICR7bWFuZGlyfS9tYW4xCiAJJChpbnN0YWxsKSAtbSA2NDQgZG9jcy9l
Y2xpcHNlLjEgJHttYW5kaXJ9L21hbjEvZWNsaXBzZS4xCi0JaWYgdGVzdCAhICR7Z25vbWVfZW50
cnlfZGlyfSA9IG5vO1wKKwkkKGluc3RhbGwpIC1kICR7dGhlbWVkaXJ9CisJLWlmIHRlc3QgISAk
e2dub21lfSA9IG5vO1wKIAl0aGVuXAotCSAgaWYgISB0ZXN0IC1kICR7Z25vbWVfZW50cnlfZGly
fTtcCisJICBpZiB0ZXN0ICEgLWQgJHtnbm9tZV9lbnRyeV9kaXJ9O1wKIAkgIHRoZW4gJChpbnN0
YWxsKSAtZCAke2dub21lX2VudHJ5X2Rpcn07XAogCSAgZmk7XAogCSAgJChpbnN0YWxsKSAtbSA2
NDQgRWNsaXBzZS5kZXNrdG9wICR7Z25vbWVfZW50cnlfZGlyfS9FY2xpcHNlLmRlc2t0b3A7XApA
QCAtODEsNiArMTI2LDcgQEAKIAogdW5pbnN0YWxsOiAKIAkvYmluL3JtIC1mICR7YmluZGlyfS8k
e1BSR30KKwkvYmluL3JtIC1mICR7Q09SRURJUn0vJHtDT1JFTkFNRX0KIAkvYmluL3JtIC1mICR7
bWFuZGlyfS9tYW4xL2VjbGlwc2UuMQogCWlmIHRlc3QgISAke2dub21lX2VudHJ5X2Rpcn0gPSBu
bztcCiAJdGhlbiAvYmluL3JtIC1mICR7Z25vbWVfZW50cnlfZGlyfS9FY2xpcHNlLmRlc2t0b3A7
IGZpCkluZGV4OiBjb25maWd1cmUKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTogL2hvbWUvY3Zzcm9vdC9l
Y2xpcHNlL2NvbmZpZ3VyZSx2CnJldHJpZXZpbmcgcmV2aXNpb24gMS40CmRpZmYgLXUgLXUgLXIx
LjQgY29uZmlndXJlCi0tLSBjb25maWd1cmUJMjAwMy8wMy8xNSAyMzoyMjozOAkxLjQKKysrIGNv
bmZpZ3VyZQkyMDAzLzAzLzIzIDE2OjU5OjI2CkBAIC0xNCwxMSArMTQsMTUgQEAKIGFjX2hlbHA9
IiRhY19oZWxwCiAgIC0td2l0aC1saXNwPURJUiBvciBGSUxFIHdoZXJlIHRvIGZpbmQgeW91ciBs
aXNwIHN5c3RlbSIKIGFjX2hlbHA9IiRhY19oZWxwCi0gIC0td2l0aC1jb3JlPUZJTEUgICAgICAg
IHdoYXQgaXMgdGhlIGNvcmUgaW1hZ2UgdG8gdXNlIgorICAtLXdpdGgtaW5pdGNvcmU9RklMRSAg
ICB0aGUgbmFtZSBvZiB0aGUgY29yZSB0byB1c2Ugd2hlbiBjb21waWxpbmciCiBhY19oZWxwPSIk
YWNfaGVscAorICAtLXdpdGgtY29yZW5hbWU9RklMRSAgICB3aGF0IGlzIHRoZSBuYW1lIG9mIHRo
ZSBjb3JlIGltYWdlIHRvIGR1bXAiCithY19oZWxwPSIkYWNfaGVscAorICAtLXdpdGgtY29yZWRl
c3Q9RElSICAgICB3aGF0IGlzIHRoZSBkZXN0aW5hdGlvbiBvZiB0aGUgZHVtcGVkIGNvcmUgaW1h
Z2UiCithY19oZWxwPSIkYWNfaGVscAogICAtLXdpdGgtZ25vbWUtZW50cnktZGlyPVtQQVRIXSAg
cGF0aCB0byB0aGUgZ25vbWUgV00gZW50cmllcyBkaXJlY3RvcnkuIgogYWNfaGVscD0iJGFjX2hl
bHAKLSAgLS1lbmFibGUtY29tcGlsZS1pbnRvLWNvcmU9W05BTUVdIGNvcmUgZmlsZS1uYW1lIGZv
ciBjb21waWxlIGRlc3RpbmF0aW9uIgorICAtLWVuYWJsZS1jb21waWxlLWludG8tY29yZT1beWVz
fG5vXSAgY29tcGlsZSB0byBjb3JlIgogCiAjIEluaXRpYWxpemUgc29tZSB2YXJpYWJsZXMgc2V0
IGJ5IG9wdGlvbnMuCiAjIFRoZSB2YXJpYWJsZXMgaGF2ZSB0aGUgc2FtZSBuYW1lcyBhcyB0aGUg
b3B0aW9ucywgd2l0aApAQCAtNTMwLDExICs1MzQsMTYgQEAKIAogCiAKK2VjbGlwc2VkaXI9JHts
aWJkaXJ9L2VjbGlwc2UKKwogU1JDPWBwd2RgCiBMSVNQPSIiCi1DT1JFPSIiCitJTklUQ09SRT0i
IgorQ09SRU5BTUU9ImVjbGlwc2UuY29yZSIKK0NPUkVESVI9JHtlY2xpcHNlZGlyfQogQVJHUz0i
IgotY29yZV9kZXN0PSIiCityY2ZpbGU9Ii5lY2xpcHNlIgordXNlY29yZT0iIgogZ25vbWVfZW50
cnlfZGlyPSIiCiBpbnRlcnA9IiIKIApAQCAtNTQ4LDcgKzU1Nyw3IEBACiAjIFB1bGwgdGhlIGhh
c2ggbWFyayBvdXQgb2YgdGhlIG1hY3JvIGNhbGwgdG8gYXZvaWQgbTQgcHJvYmxlbXMuCiBhY19t
c2c9IndoZXRoZXIgIyEgd29ya3MgaW4gc2hlbGwgc2NyaXB0cyIKIGVjaG8gJGFjX24gImNoZWNr
aW5nICRhY19tc2ciIi4uLiAkYWNfYyIgMT4mNgotZWNobyAiY29uZmlndXJlOjU1MjogY2hlY2tp
bmcgJGFjX21zZyIgPiY1CitlY2hvICJjb25maWd1cmU6NTYxOiBjaGVja2luZyAkYWNfbXNnIiA+
JjUKIGlmIGV2YWwgInRlc3QgXCJgZWNobyAnJCcneydhY19jdl9zeXNfaW50ZXJwcmV0ZXInK3Nl
dH0nYFwiID0gc2V0IjsgdGhlbgogICBlY2hvICRhY19uICIoY2FjaGVkKSAkYWNfYyIgMT4mNgog
ZWxzZQpAQCAtNTk5LDcgKzYwOCw3IEBACiAjIFNWUjQgL3Vzci91Y2IvaW5zdGFsbCwgd2hpY2gg
dHJpZXMgdG8gdXNlIHRoZSBub25leGlzdGVudCBncm91cCAic3RhZmYiCiAjIC4vaW5zdGFsbCwg
d2hpY2ggY2FuIGJlIGVycm9uZW91c2x5IGNyZWF0ZWQgYnkgbWFrZSBmcm9tIC4vaW5zdGFsbC5z
aC4KIGVjaG8gJGFjX24gImNoZWNraW5nIGZvciBhIEJTRCBjb21wYXRpYmxlIGluc3RhbGwiIi4u
LiAkYWNfYyIgMT4mNgotZWNobyAiY29uZmlndXJlOjYwMzogY2hlY2tpbmcgZm9yIGEgQlNEIGNv
bXBhdGlibGUgaW5zdGFsbCIgPiY1CitlY2hvICJjb25maWd1cmU6NjEyOiBjaGVja2luZyBmb3Ig
YSBCU0QgY29tcGF0aWJsZSBpbnN0YWxsIiA+JjUKIGlmIHRlc3QgLXogIiRJTlNUQUxMIjsgdGhl
bgogaWYgZXZhbCAidGVzdCBcImBlY2hvICckJyd7J2FjX2N2X3BhdGhfaW5zdGFsbCcrc2V0fSdg
XCIgPSBzZXQiOyB0aGVuCiAgIGVjaG8gJGFjX24gIihjYWNoZWQpICRhY19jIiAxPiY2CkBAIC02
NTQsNyArNjYzLDcgQEAKIAogIyBhc3N1bWUgdGhhdCB3ZSBjYW4gZ2l2ZSBhcmd1bWVudCB0byBj
b25maWd1cmUgOgogIyAtLXdpdGgtbGlzcAotIyAtLXdpdGgtY29yZQorIyAtLXdpdGgtaW5pdGNv
cmUKICMgLS13aXRoLWdub21lLWVudHJ5LWRpcgogIyAtLWVuYWJsZS1jb21waWxlLWludG8tY29y
ZQogCkBAIC02NjYsNyArNjc1LDcgQEAKICAgIyBFeHRyYWN0IHRoZSBmaXJzdCB3b3JkIG9mICJs
aXNwIiwgc28gaXQgY2FuIGJlIGEgcHJvZ3JhbSBuYW1lIHdpdGggYXJncy4KIHNldCBkdW1teSBs
aXNwOyBhY193b3JkPSQyCiBlY2hvICRhY19uICJjaGVja2luZyBmb3IgJGFjX3dvcmQiIi4uLiAk
YWNfYyIgMT4mNgotZWNobyAiY29uZmlndXJlOjY3MDogY2hlY2tpbmcgZm9yICRhY193b3JkIiA+
JjUKK2VjaG8gImNvbmZpZ3VyZTo2Nzk6IGNoZWNraW5nIGZvciAkYWNfd29yZCIgPiY1CiBpZiBl
dmFsICJ0ZXN0IFwiYGVjaG8gJyQnJ3snYWNfY3ZfcGF0aF9MSVNQJytzZXR9J2BcIiA9IHNldCI7
IHRoZW4KICAgZWNobyAkYWNfbiAiKGNhY2hlZCkgJGFjX2MiIDE+JjYKIGVsc2UKQEAgLTcwMSwx
NSArNzEwLDMzIEBACiBmaQogCiAKLSMgQ2hlY2sgd2hldGhlciAtLXdpdGgtY29yZSBvciAtLXdp
dGhvdXQtY29yZSB3YXMgZ2l2ZW4uCi1pZiB0ZXN0ICIke3dpdGhfY29yZStzZXR9IiA9IHNldDsg
dGhlbgotICB3aXRodmFsPSIkd2l0aF9jb3JlIgorIyBDaGVjayB3aGV0aGVyIC0td2l0aC1pbml0
Y29yZSBvciAtLXdpdGhvdXQtaW5pdGNvcmUgd2FzIGdpdmVuLgoraWYgdGVzdCAiJHt3aXRoX2lu
aXRjb3JlK3NldH0iID0gc2V0OyB0aGVuCisgIHdpdGh2YWw9IiR3aXRoX2luaXRjb3JlIgogICBp
ZiB0ZXN0IC1uICR3aXRodmFsIC1hIC1yICR3aXRodmFsCi10aGVuIENPUkU9IiR7d2l0aF9pbWFn
ZX0gJHdpdGh2YWwiCit0aGVuIElOSVRDT1JFPSIke3dpdGhfaW1hZ2V9ICR3aXRodmFsIgogZmkK
IGZpCiAKIAorIyBDaGVjayB3aGV0aGVyIC0td2l0aC1jb3JlbmFtZSBvciAtLXdpdGhvdXQtY29y
ZW5hbWUgd2FzIGdpdmVuLgoraWYgdGVzdCAiJHt3aXRoX2NvcmVuYW1lK3NldH0iID0gc2V0OyB0
aGVuCisgIHdpdGh2YWw9IiR3aXRoX2NvcmVuYW1lIgorICBpZiB0ZXN0IC1uICR3aXRodmFsIC1h
IC1yICR3aXRodmFsCit0aGVuIENPUkVOQU1FPSIkd2l0aHZhbCIKK2ZpCitmaQorCisKKyMgQ2hl
Y2sgd2hldGhlciAtLXdpdGgtY29yZWRlc3Qgb3IgLS13aXRob3V0LWNvcmVkZXN0IHdhcyBnaXZl
bi4KK2lmIHRlc3QgIiR7d2l0aF9jb3JlZGVzdCtzZXR9IiA9IHNldDsgdGhlbgorICB3aXRodmFs
PSIkd2l0aF9jb3JlZGVzdCIKKyAgaWYgdGVzdCAtbiAkd2l0aHZhbCAtYSAtciAkd2l0aHZhbAor
dGhlbiBDT1JFRElSPSIkd2l0aHZhbCIKK2ZpCitmaQorCisKICMgQ2hlY2sgd2hldGhlciAtLXdp
dGgtZ25vbWVfZW50cnlfZGlyIG9yIC0td2l0aG91dC1nbm9tZV9lbnRyeV9kaXIgd2FzIGdpdmVu
LgogaWYgdGVzdCAiJHt3aXRoX2dub21lX2VudHJ5X2RpcitzZXR9IiA9IHNldDsgdGhlbgogICB3
aXRodmFsPSIkd2l0aF9nbm9tZV9lbnRyeV9kaXIiCkBAIC03MjUsNyArNzUyLDEwIEBACiAjIENo
ZWNrIHdoZXRoZXIgLS1lbmFibGUtY29tcGlsZS1pbnRvLWNvcmUgb3IgLS1kaXNhYmxlLWNvbXBp
bGUtaW50by1jb3JlIHdhcyBnaXZlbi4KIGlmIHRlc3QgIiR7ZW5hYmxlX2NvbXBpbGVfaW50b19j
b3JlK3NldH0iID0gc2V0OyB0aGVuCiAgIGVuYWJsZXZhbD0iJGVuYWJsZV9jb21waWxlX2ludG9f
Y29yZSIKLSAgY29yZV9kZXN0PSRlbmFibGV2YWwKKyAgaWYgdGVzdCAhICIkZW5hYmxldmFsIiA9
IG5vIAordGhlbiB1c2Vjb3JlPXllcworZWxzZSB1c2Vjb3JlPW5vCitmaQogZmkKIAogCkBAIC03
NDUsNyArNzc1LDcgQEAKICMKICMgZXh0cmEgY2hlY2sgZm9yIGdub21lIHdtLXByb3BlcnRpZXMg
ZGlyZWN0b3J5LgogZWNobyAkYWNfbiAiY2hlY2tpbmcgY2hlY2tpbmcgZm9yIGdub21lIHdtLXBy
b3BlcnRpZXMgZGlyZWN0b3J5IiIuLi4gJGFjX2MiIDE+JjYKLWVjaG8gImNvbmZpZ3VyZTo3NDk6
IGNoZWNraW5nIGNoZWNraW5nIGZvciBnbm9tZSB3bS1wcm9wZXJ0aWVzIGRpcmVjdG9yeSIgPiY1
CitlY2hvICJjb25maWd1cmU6Nzc5OiBjaGVja2luZyBjaGVja2luZyBmb3IgZ25vbWUgd20tcHJv
cGVydGllcyBkaXJlY3RvcnkiID4mNQogaWYgZXZhbCAidGVzdCBcImBlY2hvICckJyd7J2Nsd21f
Y3ZfZ25vbWVfZW50cnlfZGlyJytzZXR9J2BcIiA9IHNldCI7IHRoZW4KICAgZWNobyAkYWNfbiAi
KGNhY2hlZCkgJGFjX2MiIDE+JjYKIGVsc2UKQEAgLTc2NCwyOCArNzk0LDEzIEBACiBlY2hvICIk
YWNfdCIiJGNsd21fY3ZfZ25vbWVfZW50cnlfZGlyIiAxPiY2CiBnbm9tZV9lbnRyeV9kaXI9JHtj
bHdtX2N2X2dub21lX2VudHJ5X2Rpcn0KIAotIwotIyBmaXggY29yZSBpbWFnZSBuYW1lIGRlc3Rp
bmF0aW9uIGlmIG5lY2Vzc2FyeS4KLWNhc2UgIiR7Y29yZV9kZXN0fSIgaW4KLSAgeWVzKSBjb3Jl
X2Rlc3Q9ZWNsaXBzZS1saXNwLmNvcmUgOzsKLSAgbm8pIDs7Ci0gICIiIHwgJCkgY29yZV9kZXN0
PSJubyIgOzsKLSAgICopIDs7Ci1lc2FjCi0jIGFuZCBwcmVwYXJlIHRoZSBsaXNwIGFyZ3VtZW50
cyBmb3IgdGhlIHdtIGxvYWRlci4KLWlmIHRlc3QgISAke2NvcmVfZGVzdH0gPSBubworIyBwcmVw
YXJlIHRoZSBsaXNwIGFyZ3VtZW50cyBmb3IgdGhlIHdtIGxvYWRlci4KK2lmIHRlc3QgISAke3Vz
ZWNvcmV9ID0gbm8KIHRoZW4KLSAjIHB1dCB0aGUgYWJzb2x1dGUgcGF0aG5hbWUgb2YgdGhlIGNv
cmUgZGVzdGluYXRpb24gZmlsZS4KLSBpZiB0ZXN0IGBkaXJuYW1lICR7Y29yZV9kZXN0fWAgPSAu
Ci0gdGhlbiBjb3JlX2Rlc3Q9JHtTUkN9LyR7Y29yZV9kZXN0fQotIGZpCi0gaWYgdGVzdCAtZCAk
e2NvcmVfZGVzdH0KLSB0aGVuIGNvcmVfZGVzdD1gZGlybmFtZSAke2NvcmVfZGVzdH1gL2BiYXNl
bmFtZSAke2NvcmVfZGVzdH1gL2VjbGlwc2UtbGlzcC5jb3JlCi0gZmkKLSBBUkdTPSIke3dpdGhf
aW1hZ2V9ICR7Y29yZV9kZXN0fVwKKyBBUkdTPSIke3dpdGhfaW1hZ2V9ICR7Q09SRURJUn0vJHtD
T1JFTkFNRX1cCiAgICAgICAgJHtldmFsX2Zvcm19IFwiKGVjbGlwc2U6ZWNsaXBzZSBcJHtkaXNw
bGF5X3NwZWN9KVwiIgogZWxzZQotIEFSR1M9IiR7Q09SRX0gJHtsb2FkX3N3aXRjaH0gJHtTUkN9
L2xvYWQtZWNsaXBzZS5saXNwICR7ZXZhbF9mb3JtfVwKKyBBUkdTPSIke0lOSVRDT1JFfSAke2xv
YWRfc3dpdGNofSAke1NSQ30vbG9hZC1lY2xpcHNlLmxpc3AgJHtldmFsX2Zvcm19XAogIFwiKHN0
YXJ0IFwke2Rpc3BsYXlfc3BlY30pXCIiCiBmaQogCkBAIC04MTEsNiArODI2LDEwIEBACiAKIAog
CisKKworCisKIHRyYXAgJycgMSAyIDE1CiBjYXQgPiBjb25mY2FjaGUgPDxcRU9GCiAjIFRoaXMg
ZmlsZSBpcyBhIHNoZWxsIHNjcmlwdCB0aGF0IGNhY2hlcyB0aGUgcmVzdWx0cyBvZiBjb25maWd1
cmUKQEAgLTkyNCw3ICs5NDMsNyBAQAogYWNfZ2l2ZW5fc3JjZGlyPSRzcmNkaXIKIGFjX2dpdmVu
X0lOU1RBTEw9IiRJTlNUQUxMIgogCi10cmFwICdybSAtZnIgYGVjaG8gIk1ha2VmaWxlIGVjbGlw
c2UgbG9hZC1lY2xpcHNlLmxpc3AiIHwgc2VkICJzLzpbXiBdKi8vZyJgIGNvbmZ0ZXN0KjsgZXhp
dCAxJyAxIDIgMTUKK3RyYXAgJ3JtIC1mciBgZWNobyAiTWFrZWZpbGUgZWNsaXBzZSBsb2FkLWVj
bGlwc2UubGlzcCBjb25maWcubGlzcCIgfCBzZWQgInMvOlteIF0qLy9nImAgY29uZnRlc3QqOyBl
eGl0IDEnIDEgMiAxNQogRU9GCiBjYXQgPj4gJENPTkZJR19TVEFUVVMgPDxFT0YKIApAQCAtOTYx
LDcgKzk4MCw5IEBACiBzJUBJTlNUQUxMX0RBVEFAJSRJTlNUQUxMX0RBVEElZwogcyVATElTUEAl
JExJU1AlZwogcyVAaW50ZXJwQCUkaW50ZXJwJWcKLXMlQENPUkVAJSRDT1JFJWcKK3MlQElOSVRD
T1JFQCUkSU5JVENPUkUlZworcyVAQ09SRU5BTUVAJSRDT1JFTkFNRSVnCitzJUBDT1JFRElSQCUk
Q09SRURJUiVnCiBzJUBTUkNAJSRTUkMlZwogcyVAQVJHU0AlJEFSR1MlZwogcyVASU5TVEFMTEAl
JElOU1RBTEwlZwpAQCAtOTY5LDcgKzk5MCw5IEBACiBzJUB3aXRoX2ltYWdlQCUkd2l0aF9pbWFn
ZSVnCiBzJUBsb2FkX3N3aXRjaEAlJGxvYWRfc3dpdGNoJWcKIHMlQHNhdmVfbGlzcEAlJHNhdmVf
bGlzcCVnCi1zJUBjb3JlX2Rlc3RAJSRjb3JlX2Rlc3QlZworcyVAdXNlY29yZUAlJHVzZWNvcmUl
ZworcyVAcmNmaWxlQCUkcmNmaWxlJWcKK3MlQGVjbGlwc2VkaXJAJSRlY2xpcHNlZGlyJWcKIHMl
QGdub21lX2VudHJ5X2RpckAlJGdub21lX2VudHJ5X2RpciVnCiAKIENFT0YKQEAgLTEwMTIsNyAr
MTAzNSw3IEBACiAKIGNhdCA+PiAkQ09ORklHX1NUQVRVUyA8PEVPRgogCi1DT05GSUdfRklMRVM9
XCR7Q09ORklHX0ZJTEVTLSJNYWtlZmlsZSBlY2xpcHNlIGxvYWQtZWNsaXBzZS5saXNwIn0KK0NP
TkZJR19GSUxFUz1cJHtDT05GSUdfRklMRVMtIk1ha2VmaWxlIGVjbGlwc2UgbG9hZC1lY2xpcHNl
Lmxpc3AgY29uZmlnLmxpc3AifQogRU9GCiBjYXQgPj4gJENPTkZJR19TVEFUVVMgPDxcRU9GCiBm
b3IgYWNfZmlsZSBpbiAuLiAkQ09ORklHX0ZJTEVTOyBkbyBpZiB0ZXN0ICJ4JGFjX2ZpbGUiICE9
IHguLjsgdGhlbgpAQCAtMTEwNCwxMyArMTEyNywxNSBAQAogIwogIyBDb25maWd1cmF0aW9uIHJl
cG9ydAogcHJpbnRmICJcblxuQ29uZmlndXJhdGlvbiByZXBvcnRcbiIKLXByaW50ZiAiIC0gaW5z
dGFsbCBwcmVmaXggICAgICA6ICR7cHJlZml4fS5cbiIKLXByaW50ZiAiIC0gZXhlYyBwcmVmaXgg
ICAgICAgICA6ICR7ZXhlY19wcmVmaXh9L2Jpbi5cbiIKLXByaW50ZiAiIC0gbGlzcCBzeXN0ZW0g
Zm91bmQgICA6ICR7TElTUH0uXG4iCi1pZiB0ZXN0IC1uICIke0NPUkV9IgotdGhlbiBwcmludGYg
IiAtIHVzZSBzcGVjaWZpYyBpbWFnZSAgOiAke0NPUkV9LlxuIgotZWxzZSBwcmludGYgIiAtIHVz
ZSBzcGVjaWZpYyBpbWFnZSAgOiBuby5cbiIKLWZpCi1wcmludGYgIiAtIGNvbXBpbGUgaW4gYW4g
aW1hZ2UgOiAke2NvcmVfZGVzdH0uXG4iCi1wcmludGYgIiAtIGNyZWF0ZSBnbm9tZSBlbnRyeSAg
OiAke2dub21lX2VudHJ5X2Rpcn0uXG4iCi1wcmludGYgIiAtIGluc3RhbGxlciAgICAgICAgICAg
OiAke0lOU1RBTEx9LlxuIgorcHJpbnRmICIgLSBpbnN0YWxsIHByZWZpeCAgICAgICAgICAgIDog
JHtwcmVmaXh9LlxuIgorcHJpbnRmICIgLSBleGVjIHByZWZpeCAgICAgICAgICAgICAgIDogJHtl
eGVjX3ByZWZpeH0vYmluLlxuIgorcHJpbnRmICIgLSBlY2xpcHNlIGRpciAgICAgICAgICAgICAg
IDogJHtlY2xpcHNlZGlyfS5cbiIKK3ByaW50ZiAiIC0gZWNsaXBzZSByYyBmaWxlICAgICAgICAg
ICA6ICR7cmNmaWxlfS5cbiIKK3ByaW50ZiAiIC0gbGlzcCBzeXN0ZW0gZm91bmQgICAgICAgICA6
ICR7TElTUH0uXG4iCitwcmludGYgIiAtIHVzZSBjb3JlIHdoZW4gY29tcGlsaW5nICAgOiAke0lO
SVRDT1JFfS5cbiIKK3ByaW50ZiAiIC0gY29tcGlsZSBhbmQgZHVtcCBpbWFnZSAgICA6ICR7dXNl
Y29yZX0uXG4iCitpZiB0ZXN0ICIke3VzZWNvcmV9IiA9IHllcyA7IHRoZW4gCitwcmludGYgIiAt
IGltYWdlIHBhdGggICAgICAgICAgICAgICAgOiAke0NPUkVESVJ9LyR7Q09SRU5BTUV9LlxuIgor
ZmkKK3ByaW50ZiAiIC0gY3JlYXRlIGdub21lIGVudHJ5ICAgICAgICA6ICR7Z25vbWVfZW50cnlf
ZGlyfS5cbiIKK3ByaW50ZiAiIC0gaW5zdGFsbGVyICAgICAgICAgICAgICAgICA6ICR7SU5TVEFM
TH0uXG4iCkluZGV4OiBjb25maWd1cmUuaW4KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTogL2hvbWUvY3Zz
cm9vdC9lY2xpcHNlL2NvbmZpZ3VyZS5pbix2CnJldHJpZXZpbmcgcmV2aXNpb24gMS4zCmRpZmYg
LXUgLXUgLXIxLjMgY29uZmlndXJlLmluCi0tLSBjb25maWd1cmUuaW4JMjAwMi8xMS8wNyAxNDo1
NDoyNgkxLjMKKysrIGNvbmZpZ3VyZS5pbgkyMDAzLzAzLzIzIDE2OjU5OjI3CkBAIC0xLDExICsx
LDE2IEBACiAjICRJZDogY29uZmlndXJlLmluLHYgMS4zIDIwMDIvMTEvMDcgMTQ6NTQ6MjYgaGF0
Y2hvbmQgRXhwICQKIEFDX0lOSVQoKQogCitlY2xpcHNlZGlyPSR7bGliZGlyfS9lY2xpcHNlCisK
IFNSQz1gcHdkYAogTElTUD0iIgotQ09SRT0iIgorSU5JVENPUkU9IiIKK0NPUkVOQU1FPSJlY2xp
cHNlLmNvcmUiCitDT1JFRElSPSR7ZWNsaXBzZWRpcn0KIEFSR1M9IiIKLWNvcmVfZGVzdD0iIgor
cmNmaWxlPSIuZWNsaXBzZSIKK3VzZWNvcmU9Im5vIgogZ25vbWVfZW50cnlfZGlyPSIiCiBpbnRl
cnA9IiIKIApAQCAtMjEsNyArMjYsNyBAQAogCiAjIGFzc3VtZSB0aGF0IHdlIGNhbiBnaXZlIGFy
Z3VtZW50IHRvIGNvbmZpZ3VyZSA6CiAjIC0td2l0aC1saXNwCi0jIC0td2l0aC1jb3JlCisjIC0t
d2l0aC1pbml0Y29yZQogIyAtLXdpdGgtZ25vbWUtZW50cnktZGlyCiAjIC0tZW5hYmxlLWNvbXBp
bGUtaW50by1jb3JlCiAKQEAgLTI5LDExICszNCwyMyBAQAogWyAgLS13aXRoLWxpc3A9RElSIG9y
IEZJTEUgd2hlcmUgdG8gZmluZCB5b3VyIGxpc3Agc3lzdGVtXSwKIExJU1A9JHdpdGh2YWwsCiBb
QUNfUEFUSF9QUk9HKExJU1AsbGlzcCldKQorCitBQ19BUkdfV0lUSChpbml0Y29yZSwKK1sgIC0t
d2l0aC1pbml0Y29yZT1GSUxFICAgIHRoZSBuYW1lIG9mIHRoZSBjb3JlIHRvIHVzZSB3aGVuIGNv
bXBpbGluZ10sCitpZiB0ZXN0IC1uICR3aXRodmFsIC1hIC1yICR3aXRodmFsCit0aGVuIElOSVRD
T1JFPSIke3dpdGhfaW1hZ2V9ICR3aXRodmFsIgorZmkpCisKK0FDX0FSR19XSVRIKGNvcmVuYW1l
LAorWyAgLS13aXRoLWNvcmVuYW1lPUZJTEUgICAgd2hhdCBpcyB0aGUgbmFtZSBvZiB0aGUgY29y
ZSBpbWFnZSB0byBkdW1wXSwKK2lmIHRlc3QgLW4gJHdpdGh2YWwgLWEgLXIgJHdpdGh2YWwKK3Ro
ZW4gQ09SRU5BTUU9IiR3aXRodmFsIgorZmkpCiAKLUFDX0FSR19XSVRIKGNvcmUsCi1bICAtLXdp
dGgtY29yZT1GSUxFICAgICAgICB3aGF0IGlzIHRoZSBjb3JlIGltYWdlIHRvIHVzZV0sCitBQ19B
UkdfV0lUSChjb3JlZGVzdCwKK1sgIC0td2l0aC1jb3JlZGVzdD1ESVIgICAgIHdoYXQgaXMgdGhl
IGRlc3RpbmF0aW9uIG9mIHRoZSBkdW1wZWQgY29yZSBpbWFnZV0sCiBpZiB0ZXN0IC1uICR3aXRo
dmFsIC1hIC1yICR3aXRodmFsCi10aGVuIENPUkU9IiR7d2l0aF9pbWFnZX0gJHdpdGh2YWwiCit0
aGVuIENPUkVESVI9IiR3aXRodmFsIgogZmkpCiAKIEFDX0FSR19XSVRIKGdub21lX2VudHJ5X2Rp
ciwKQEAgLTQ1LDggKzYyLDExIEBACiBnbm9tZV9lbnRyeV9kaXI9eWVzKQogCiBBQ19BUkdfRU5B
QkxFKGNvbXBpbGUtaW50by1jb3JlLAotWyAgLS1lbmFibGUtY29tcGlsZS1pbnRvLWNvcmU9W05B
TUVdIGNvcmUgZmlsZS1uYW1lIGZvciBjb21waWxlIGRlc3RpbmF0aW9uXSwKLWNvcmVfZGVzdD0k
ZW5hYmxldmFsKQorWyAgLS1lbmFibGUtY29tcGlsZS1pbnRvLWNvcmU9W3llc3xub10gIGNvbXBp
bGUgdG8gY29yZV0sCitpZiB0ZXN0ICEgIiRlbmFibGV2YWwiID0gbm8gCit0aGVuIHVzZWNvcmU9
eWVzCitlbHNlIHVzZWNvcmU9bm8KK2ZpKQogCiAjCiAjIHVzZXIgZ2F2ZSBhIGRpcmVjdG9yeSBm
b3IgdGhlIGxpc3Agc3lzdGVtCkBAIC03NywyOCArOTcsMTMgQEAKIGNsd21fY3ZfZ25vbWVfZW50
cnlfZGlyPSR7Z25vbWVfZW50cnlfZGlyfSkKIGdub21lX2VudHJ5X2Rpcj0ke2Nsd21fY3ZfZ25v
bWVfZW50cnlfZGlyfQogCi0jCi0jIGZpeCBjb3JlIGltYWdlIG5hbWUgZGVzdGluYXRpb24gaWYg
bmVjZXNzYXJ5LgotY2FzZSAiJHtjb3JlX2Rlc3R9IiBpbgotICB5ZXMpIGNvcmVfZGVzdD1lY2xp
cHNlLWxpc3AuY29yZSA7OwotICBubykgOzsKLSAgIiIgfCAkKSBjb3JlX2Rlc3Q9Im5vIiA7Owot
ICAgKikgOzsKLWVzYWMKLSMgYW5kIHByZXBhcmUgdGhlIGxpc3AgYXJndW1lbnRzIGZvciB0aGUg
d20gbG9hZGVyLgotaWYgdGVzdCAhICR7Y29yZV9kZXN0fSA9IG5vCisjIHByZXBhcmUgdGhlIGxp
c3AgYXJndW1lbnRzIGZvciB0aGUgd20gbG9hZGVyLgoraWYgdGVzdCAhICR7dXNlY29yZX0gPSBu
bwogdGhlbgotICMgcHV0IHRoZSBhYnNvbHV0ZSBwYXRobmFtZSBvZiB0aGUgY29yZSBkZXN0aW5h
dGlvbiBmaWxlLgotIGlmIHRlc3QgYGRpcm5hbWUgJHtjb3JlX2Rlc3R9YCA9IC4KLSB0aGVuIGNv
cmVfZGVzdD0ke1NSQ30vJHtjb3JlX2Rlc3R9Ci0gZmkKLSBpZiB0ZXN0IC1kICR7Y29yZV9kZXN0
fQotIHRoZW4gY29yZV9kZXN0PWBkaXJuYW1lICR7Y29yZV9kZXN0fWAvYGJhc2VuYW1lICR7Y29y
ZV9kZXN0fWAvZWNsaXBzZS1saXNwLmNvcmUKLSBmaQotIEFSR1M9IiR7d2l0aF9pbWFnZX0gJHtj
b3JlX2Rlc3R9XAorIEFSR1M9IiR7d2l0aF9pbWFnZX0gJHtDT1JFRElSfS8ke0NPUkVOQU1FfVwK
ICAgICAgICAke2V2YWxfZm9ybX0gXCIoZWNsaXBzZTplY2xpcHNlIFwke2Rpc3BsYXlfc3BlY30p
XCIiCiBlbHNlCi0gQVJHUz0iJHtDT1JFfSAke2xvYWRfc3dpdGNofSAke1NSQ30vbG9hZC1lY2xp
cHNlLmxpc3AgJHtldmFsX2Zvcm19XAorIEFSR1M9IiR7SU5JVENPUkV9ICR7bG9hZF9zd2l0Y2h9
ICR7U1JDfS9sb2FkLWVjbGlwc2UubGlzcCAke2V2YWxfZm9ybX1cCiAgXCIoc3RhcnQgXCR7ZGlz
cGxheV9zcGVjfSlcIiIKIGZpCiAKQEAgLTExMyw3ICsxMTgsOSBAQAogQUNfU1VCU1QoaW50ZXJw
KSAgIAogQUNfU1VCU1QoU0hFTEwpCiBBQ19TVUJTVChMSVNQKQotQUNfU1VCU1QoQ09SRSkKK0FD
X1NVQlNUKElOSVRDT1JFKQorQUNfU1VCU1QoQ09SRU5BTUUpCitBQ19TVUJTVChDT1JFRElSKQog
QUNfU1VCU1QoU1JDKQogQUNfU1VCU1QoQVJHUykKIEFDX1NVQlNUKElOU1RBTEwpCkBAIC0xMjEs
MTAgKzEyOCwxMiBAQAogQUNfU1VCU1Qod2l0aF9pbWFnZSkKIEFDX1NVQlNUKGxvYWRfc3dpdGNo
KQogQUNfU1VCU1Qoc2F2ZV9saXNwKQotQUNfU1VCU1QoY29yZV9kZXN0KQorQUNfU1VCU1QodXNl
Y29yZSkKK0FDX1NVQlNUKHJjZmlsZSkKK0FDX1NVQlNUKGVjbGlwc2VkaXIpCiBBQ19TVUJTVChn
bm9tZV9lbnRyeV9kaXIpCiAKLUFDX09VVFBVVChbTWFrZWZpbGUgZWNsaXBzZSBsb2FkLWVjbGlw
c2UubGlzcF0pCitBQ19PVVRQVVQoW01ha2VmaWxlIGVjbGlwc2UgbG9hZC1lY2xpcHNlLmxpc3Ag
Y29uZmlnLmxpc3BdKQogCiBpZiB0ZXN0ICEgJHtnbm9tZV9lbnRyeV9kaXJ9ID0gbm8KIHRoZW4g
CkBAIC0xNDYsMTMgKzE1NSwxNSBAQAogIwogIyBDb25maWd1cmF0aW9uIHJlcG9ydAogcHJpbnRm
ICJcblxuQ29uZmlndXJhdGlvbiByZXBvcnRcbiIKLXByaW50ZiAiIC0gaW5zdGFsbCBwcmVmaXgg
ICAgICA6ICR7cHJlZml4fS5cbiIKLXByaW50ZiAiIC0gZXhlYyBwcmVmaXggICAgICAgICA6ICR7
ZXhlY19wcmVmaXh9L2Jpbi5cbiIKLXByaW50ZiAiIC0gbGlzcCBzeXN0ZW0gZm91bmQgICA6ICR7
TElTUH0uXG4iCi1pZiB0ZXN0IC1uICIke0NPUkV9IgotdGhlbiBwcmludGYgIiAtIHVzZSBzcGVj
aWZpYyBpbWFnZSAgOiAke0NPUkV9LlxuIgotZWxzZSBwcmludGYgIiAtIHVzZSBzcGVjaWZpYyBp
bWFnZSAgOiBuby5cbiIKLWZpCi1wcmludGYgIiAtIGNvbXBpbGUgaW4gYW4gaW1hZ2UgOiAke2Nv
cmVfZGVzdH0uXG4iCi1wcmludGYgIiAtIGNyZWF0ZSBnbm9tZSBlbnRyeSAgOiAke2dub21lX2Vu
dHJ5X2Rpcn0uXG4iCi1wcmludGYgIiAtIGluc3RhbGxlciAgICAgICAgICAgOiAke0lOU1RBTEx9
LlxuIgorcHJpbnRmICIgLSBpbnN0YWxsIHByZWZpeCAgICAgICAgICAgIDogJHtwcmVmaXh9Llxu
IgorcHJpbnRmICIgLSBleGVjIHByZWZpeCAgICAgICAgICAgICAgIDogJHtleGVjX3ByZWZpeH0v
YmluLlxuIgorcHJpbnRmICIgLSBlY2xpcHNlIGRpciAgICAgICAgICAgICAgIDogJHtlY2xpcHNl
ZGlyfS5cbiIKK3ByaW50ZiAiIC0gZWNsaXBzZSByYyBmaWxlICAgICAgICAgICA6ICR7cmNmaWxl
fS5cbiIKK3ByaW50ZiAiIC0gbGlzcCBzeXN0ZW0gZm91bmQgICAgICAgICA6ICR7TElTUH0uXG4i
CitwcmludGYgIiAtIHVzZSBjb3JlIHdoZW4gY29tcGlsaW5nICAgOiAke0lOSVRDT1JFfS5cbiIK
K3ByaW50ZiAiIC0gY29tcGlsZSBhbmQgZHVtcCBpbWFnZSAgICA6ICR7dXNlY29yZX0uXG4iCitp
ZiB0ZXN0ICIke3VzZWNvcmV9IiA9IHllcyA7IHRoZW4gCitwcmludGYgIiAtIGltYWdlIHBhdGgg
ICAgICAgICAgICAgICAgOiAke0NPUkVESVJ9LyR7Q09SRU5BTUV9LlxuIgorZmkKK3ByaW50ZiAi
IC0gY3JlYXRlIGdub21lIGVudHJ5ICAgICAgICA6ICR7Z25vbWVfZW50cnlfZGlyfS5cbiIKK3By
aW50ZiAiIC0gaW5zdGFsbGVyICAgICAgICAgICAgICAgICA6ICR7SU5TVEFMTH0uXG4iCkluZGV4
OiBlY2xpcHNlLmluCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KUkNTIGZpbGU6IC9ob21lL2N2c3Jvb3QvZWNsaXBzZS9l
Y2xpcHNlLmluLHYKcmV0cmlldmluZyByZXZpc2lvbiAxLjMKZGlmZiAtdSAtdSAtcjEuMyBlY2xp
cHNlLmluCi0tLSBlY2xpcHNlLmluCTIwMDIvMTEvMDcgMTQ6NTQ6MjYJMS4zCisrKyBlY2xpcHNl
LmluCTIwMDMvMDMvMjMgMTY6NTk6MjcKQEAgLTIsNyArMiwxNyBAQAogIyAkSWQ6IGVjbGlwc2Uu
aW4sdiAxLjMgMjAwMi8xMS8wNyAxNDo1NDoyNiBoYXRjaG9uZCBFeHAgJAogIwogIyBAY29uZmln
dXJlX2lucHV0QAotIyBUaGlzIGZpbGUgc3RhcnQgdGhlIGVjbGlwc2Ugd2luZG93IG1hbmFnZXIK
KyMgVGhpcyBmaWxlIHN0YXJ0cyB0aGUgZWNsaXBzZSB3aW5kb3cgbWFuYWdlcgogCiBkaXNwbGF5
X3NwZWM9YGlmIFsgLW4gIiQxIiBdOyB0aGVuIGVjaG8gXCIkMVwiOyBmaWAKLUBMSVNQQCBAQVJH
U0AKKworaWYgWyAtZCBAU1JDQCBdIDsgdGhlbgorICAgIGNkIEBTUkNACitmaQorCitsaXNwPWBi
YXNlbmFtZSBATElTUEBgCitwcmVmaXg9QHByZWZpeEAKK2V4ZWNfcHJlZml4PUBleGVjX3ByZWZp
eEAKK2xpYmRpcj1AbGliZGlyQAorCitAYmluZGlyQC8kbGlzcCBAQVJHU0AKSW5kZXg6IGVjbGlw
c2UubGlzcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09ClJDUyBmaWxlOiAvaG9tZS9jdnNyb290L2VjbGlwc2UvZWNsaXBz
ZS5saXNwLHYKcmV0cmlldmluZyByZXZpc2lvbiAxLjMKZGlmZiAtdSAtdSAtcjEuMyBlY2xpcHNl
Lmxpc3AKLS0tIGVjbGlwc2UubGlzcAkyMDAyLzExLzEyIDE3OjEzOjAxCTEuMworKysgZWNsaXBz
ZS5saXNwCTIwMDMvMDMvMjMgMTY6NTk6MjcKQEAgLTU5LDggKzU5LDggQEAKICAgICAgIChrZXli
b2FyZDppbml0LWtleWJvYXJkIGRpc3BsYXkpCiAgICAgICAocHBtOmluaXRpYWxpemUgY29sb3Jt
YXApCiAgICAgICA7OyBsb2FkIHBlcnNvbmFsIGNvbmZpZ3VyYXRpb24gZmlsZSwgb3IgdGhlIGRl
ZmF1bHQgb25lLgotICAgICAgKG9yIChsb2FkLWNvbmZpZy1maWxlIChob21lLXN1YmRpcmVjdG9y
eSAiLmVjbGlwc2UiKSkKLQkgIChsb2FkLWNvbmZpZy1maWxlIChlY2xpcHNlLXBhdGggIi5lY2xp
cHNlIikpCisgICAgICAob3IgKGxvYWQtY29uZmlnLWZpbGUgKGhvbWUtc3ViZGlyZWN0b3J5IGNs
LXVzZXI6OiplY2xpcHNlLXJjZmlsZSopKQorCSAgKGxvYWQtY29uZmlnLWZpbGUgKGVjbGlwc2Ut
cGF0aCAiZWNsaXBzZXJjIikpCiAJICAoZm9ybWF0ICplcnJvci1vdXRwdXQqICJVbmFibGUgdG8g
cmVhZCBhIGNvbmZpZ3VyYXRpb24gZmlsZS5+JSIpCiAJICAoJXF1aXQlKSkKICAgICAgIDs7IEVj
bGlwc2UgZ2xvYmFscyB2YXJzLgpJbmRleDogZ2xvYmFsLmxpc3AKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpSQ1MgZmls
ZTogL2hvbWUvY3Zzcm9vdC9lY2xpcHNlL2dsb2JhbC5saXNwLHYKcmV0cmlldmluZyByZXZpc2lv
biAxLjUKZGlmZiAtdSAtdSAtcjEuNSBnbG9iYWwubGlzcAotLS0gZ2xvYmFsLmxpc3AJMjAwMy8w
My8xOSAxMDo1NDozMwkxLjUKKysrIGdsb2JhbC5saXNwCTIwMDMvMDMvMjMgMTY6NTk6MjcKQEAg
LTI1LDEwICsyNSwxMiBAQAogKGRlZnBhcmFtZXRlciAqZWNsaXBzZS1kaXJlY3RvcnkqIChkaXJl
Y3RvcnktbmFtZXN0cmluZyAqbG9hZC10cnVlbmFtZSopKQogCiAoZGVmdW4gZWNsaXBzZS1wYXRo
ICgmcmVzdCBuYW1lcykKLSAgKGFwcGx5ICMnY29uY2F0ZW5hdGUgJ3N0cmluZyAqZWNsaXBzZS1k
aXJlY3RvcnkqIG5hbWVzKSkKKyAgKGFwcGx5ICMnY29uY2F0ZW5hdGUgJ3N0cmluZworCSAob3Ig
Y2wtdXNlcjo6KmVjbGlwc2UtZWNsaXBzZWRpciogKmVjbGlwc2UtZGlyZWN0b3J5KikKKwkgbmFt
ZXMpKQogCi07OyBUaGlzIGNvbnN0YW50IHJlcHJlc2FudCBhbGwgdGhlIGdub21lIHByb3RvY29s
IGFuZCBleHRlbmRlZCwgdGhhdCB3ZSBhcmUKLTs7IGFjdHVhbGx5IGRlYWxsaW5nIHdpdGguCis7
OyBUaGlzIGNvbnN0YW50IHJlcHJlc2VudHMgYWxsIHRoZSBnbm9tZSBwcm90b2NvbHMgYW5kIGV4
dGVuc2lvbnMsCis7OyB0aGF0IHdlIGFyZSBhY3R1YWxseSBkZWFsbGluZyB3aXRoLgogKGRlZmNv
bnN0YW50ICtnbm9tZS1wcm90b2NvbHMrCiAgICcoOl93aW5fd29ya3NwYWNlIDpfd2luX3dvcmtz
cGFjZV9jb3VudCA6X3dpbl9jbGllbnRfbGlzdAogICAgIDpfd2luX3dvcmtzcGFjZV9uYW1lcykp
CkBAIC0xMDksNyArMTExLDcgQEAKIChkZWZ1biAlcXVpdCUgKCZvcHRpb25hbCBjb2RlKQogICAj
K2FsbGVncm8gKGV4Y2w6ZXhpdCBjb2RlKQogICAjK2NsaXNwICgjK2xpc3A9Y2wgZXh0OnF1aXQg
Iy1saXNwPWNsIGxpc3A6cXVpdCBjb2RlKQotICAjK2NtdSAoZXh0OnF1aXQgY29kZSkKKyAgIytj
bXUgKHVuaXg6dW5peC1leGl0IChvciBjb2RlIDApKQogICAjK2Nvcm1hbmxpc3AgKHdpbjMyOmV4
aXRwcm9jZXNzIGNvZGUpCiAgICMrZ2NsIChsaXNwOmJ5ZSBjb2RlKQogICAjK2xpc3B3b3JrcyAo
bHc6cXVpdCA6c3RhdHVzIGNvZGUpCkluZGV4OiBsb2FkLWVjbGlwc2UubGlzcC5pbgo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09ClJDUyBmaWxlOiAvaG9tZS9jdnNyb290L2VjbGlwc2UvbG9hZC1lY2xpcHNlLmxpc3AuaW4s
dgpyZXRyaWV2aW5nIHJldmlzaW9uIDEuNApkaWZmIC11IC11IC1yMS40IGxvYWQtZWNsaXBzZS5s
aXNwLmluCi0tLSBsb2FkLWVjbGlwc2UubGlzcC5pbgkyMDAzLzAzLzE1IDIzOjIyOjM4CTEuNAor
KysgbG9hZC1lY2xpcHNlLmxpc3AuaW4JMjAwMy8wMy8yMyAxNjo1OToyNwpAQCAtMTAsNiArMTAs
NyBAQAogIytNSy1ERUZTWVNURU0gKHVzZS1wYWNrYWdlICJNSyIpCiAKIChwcm9nbgorICAobG9h
ZCAiQFNSQ0AvY29uZmlnLmxpc3AiKQogICAobG9hZCAiQFNSQ0Avc3lzdGVtLmxpc3AiKQogICAo
b3BlcmF0ZS1vbi1zeXN0ZW0gOmVjbGlwc2UgOmxvYWQpKQogCkluZGV4OiBzeXN0ZW0ubGlzcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09ClJDUyBmaWxlOiAvaG9tZS9jdnNyb290L2VjbGlwc2Uvc3lzdGVtLmxpc3Asdgpy
ZXRyaWV2aW5nIHJldmlzaW9uIDEuNApkaWZmIC11IC11IC1yMS40IHN5c3RlbS5saXNwCi0tLSBz
eXN0ZW0ubGlzcAkyMDAzLzAyLzAzIDA4OjA2OjMyCTEuNAorKysgc3lzdGVtLmxpc3AJMjAwMy8w
My8yMyAxNjo1OToyNwpAQCAtMjEsMTEgKzIxLDExIEBACiAKIChjb21tb24tbGlzcDppbi1wYWNr
YWdlIDpjb21tb24tbGlzcC11c2VyKQogCi0oZGVmcGFyYW1ldGVyICplY2xpcHNlLWRpcmVjdG9y
eSogKGRpcmVjdG9yeS1uYW1lc3RyaW5nICpsb2FkLXRydWVuYW1lKikpCisoZGVmcGFyYW1ldGVy
ICplY2xpcHNlLXNyYy1kaXJlY3RvcnkqIChkaXJlY3RvcnktbmFtZXN0cmluZyAqbG9hZC10cnVl
bmFtZSopKQogCiAjK2NtdQogKHByb2duCi0gICMtQ0xYIChyZXF1aXJlIDpjbHgpCisgICMtQ0xY
IChyZXF1aXJlIDpjbXVjbC1jbHgpCQk7d29ya3MgdW5kZXIgRGViaWFuIExpbnV4CiAgICMtTUst
REVGU1lTVEVNIChsb2FkICJsaWJyYXJ5OnN1YnN5c3RlbXMvZGVmc3lzdGVtIikpCiAKICMrOmV4
Y2wocmVxdWlyZSA6Y2x4KQpAQCAtMzQsNyArMzQsNyBAQAogCiAoZGVmbWFjcm8gZWNsaXBzZS1k
ZWZzeXN0ZW0gKChtb2R1bGUgJmtleSBkZXBlbmRzLW9uKSAmcmVzdCBjb21wb25lbnRzKQogICBg
KGRlZnN5c3RlbSAsbW9kdWxlICMtbWstZGVmc3lzdGVtICgpCi0gICAgICAgIyttay1kZWZzeXN0
ZW0gOnNvdXJjZS1wYXRobmFtZSAqZWNsaXBzZS1kaXJlY3RvcnkqCisgICAgICAgIyttay1kZWZz
eXN0ZW0gOnNvdXJjZS1wYXRobmFtZSAqZWNsaXBzZS1zcmMtZGlyZWN0b3J5KgogICAgICAgICMr
bWstZGVmc3lzdGVtIDpzb3VyY2UtZXh0ZW5zaW9uICJsaXNwIgogICAgICAgICMrbWstZGVmc3lz
dGVtICxAKGFuZCBkZXBlbmRzLW9uIGAoOmRlcGVuZHMtb24gLGRlcGVuZHMtb24pKQogICAgICAg
ICA6Y29tcG9uZW50cwpAQCAtNzcsOSArNzcsOSBAQAogICAgKQogCiAoZGVmdW4gY29tcGlsZS10
aGVtZSAoZGlyZWN0b3J5LW5hbWUpCi0gIChsZXQgKChpLWZpbGVzcGVjIChjb25jYXRlbmF0ZSAn
c3RyaW5nIGRpcmVjdG9yeS1uYW1lICIvdGhlbWUubGlzcCIpKQotCShvLWZpbGVzcGVjICMrY211
ICJ0aGVtZS5vIgotCQkgICAgIy1jbXUgKGNvbmNhdGVuYXRlICdzdHJpbmcgZGlyZWN0b3J5LW5h
bWUgIi90aGVtZS5vIikpKQorICAobGV0ICgoaS1maWxlc3BlYyAobWVyZ2UtcGF0aG5hbWVzICJ0
aGVtZS5saXNwIiBkaXJlY3RvcnktbmFtZSkpCisJKG8tZmlsZXNwZWMgKG1lcmdlLXBhdGhuYW1l
cyAidGhlbWUubyIpKSkKICAgICAob3BlcmF0ZS1vbi1zeXN0ZW0gOmVjbGlwc2UgOmxvYWQpCiAg
ICAgKGxvYWQgaS1maWxlc3BlYykKLSAgICAoY29tcGlsZS1maWxlIGktZmlsZXNwZWMgOm91dHB1
dC1maWxlIG8tZmlsZXNwZWMpKSkKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCisgICAgKGNv
bXBpbGUtZmlsZSBpLWZpbGVzcGVjIDpvdXRwdXQtZmlsZSBvLWZpbGVzcGVjKSkpCisKSW5kZXg6
IGRvY3MvUkVBRE1FCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KUkNTIGZpbGU6IC9ob21lL2N2c3Jvb3QvZWNsaXBzZS9k
b2NzL1JFQURNRSx2CnJldHJpZXZpbmcgcmV2aXNpb24gMS4zCmRpZmYgLXUgLXUgLXIxLjMgUkVB
RE1FCi0tLSBkb2NzL1JFQURNRQkyMDAyLzExLzA3IDE0OjU0OjI3CTEuMworKysgZG9jcy9SRUFE
TUUJMjAwMy8wMy8yMyAxNjo1OToyOApAQCAtNTUsMjEgKzU1LDQ2IEBACiAKIHNob3VsZCB3b3Jr
LiAoYXQgbGVhc3QgZm9yIENNVUNMKQogCi1zZWUgLi9jb25maWd1cmUgLS1oZWxwIGZvciBvcHRp
b25zIHRoYXQgY2FuIGJlIHVzZWQuCi10aGUgcGFydGljdWxhciAtLWVuYWJsZSBhbmQgLS13aXRo
IG9wdGlvbnMgcmVjb2duaXplZDoKK1NlZSAuL2NvbmZpZ3VyZSAtLWhlbHAgZm9yIG9wdGlvbnMg
dGhhdCBjYW4gYmUgdXNlZC4KIAotICAtLXdpdGgtbGlzcD1ESVIgb3IgRklMRSAgICAgICAgIHlv
dXIgbGlzcCBzeXN0ZW0uCi0gIC0td2l0aC1jb3JlPUZJTEUgICAgICAgICAgICAgICAgc3BlY2lm
aWVzIHBhcnRpY3VsYXIgY29yZSBpbWFnZSB0byB1c2UgaWYKLQkJCQkgIHRoZSBkZWZhdWx0IG9u
ZSBpcyBub3QgYXBwcm9wcmlhdGUuCi0gIC0tZW5hYmxlLWNvbXBpbGUtaW50by1jb3JlPUZJTEUg
Y29yZSBpbWFnZSBuYW1lIGZvciBjb21waWxlIGRlc3RpbmF0aW9uCi0JCQkJICBkZWZhdWx0IGlz
IGRpc2FibGUuCi0JCQkJICBkZWZhdWx0IGNvcmUgbmFtZSA6IGVjbGlwc2UtbGlzcC5jb3JlLgot
ICAtLXdpdGgtZ25vbWUtZW50cnktZGlyPVBBVEggICAgIHBhdGggdG8gdGhlIHdtLXByb3BlcnRp
ZXMgZGlyZWN0b3J5LgotCQkJCSAgZGVmYXVsdCBpcyBlbmFibGUuCi0JCQkJICAoZGVmYXVsdCBz
ZWFyY2ggbGlzdCA6Ci0JCQkJCSAvdXNyL3NoYXJlL2dub21lL3dtLXByb3BlcnRpZXMKLQkJCQkJ
IC91c3IvbG9jYWwvc2hhcmUvZ25vbWUvd20tcHJvcGVydGllcyApCitUaGUgcGFydGljdWxhciAt
LWVuYWJsZSBhbmQgLS13aXRoIG9wdGlvbnMgcmVjb2duaXplZDoKIAorICAtLXdpdGgtbGlzcD1E
SVIgb3IgRklMRSB3aGVyZSB0byBmaW5kIHlvdXIgbGlzcCBzeXN0ZW0KKyAgLS13aXRoLWluaXRj
b3JlPUZJTEUgICAgdGhlIG5hbWUgb2YgdGhlIGNvcmUgdG8gdXNlIHdoZW4gY29tcGlsaW5nCisg
IC0td2l0aC1jb3JlbmFtZT1GSUxFICAgIHdoYXQgaXMgdGhlIG5hbWUgb2YgdGhlIGNvcmUgaW1h
Z2UgdG8gZHVtcAorICAtLXdpdGgtY29yZWRlc3Q9RElSICAgICB3aGF0IGlzIHRoZSBkZXN0aW5h
dGlvbiBvZiB0aGUgZHVtcGVkIGNvcmUgaW1hZ2UKKyAgLS13aXRoLWVjbGlwc2VyYz1GSUxFICAg
d2hlcmUgZWNsaXBzZSByZXNvdXJjZSBmaWxlIGlzIHNpdHVhdGVkLgorICAtLXdpdGgtZ25vbWUt
ZW50cnktZGlyPVtQQVRIXSAgcGF0aCB0byB0aGUgZ25vbWUgV00gZW50cmllcyBkaXJlY3Rvcnku
CisgIC0tZW5hYmxlLWNvbXBpbGUtaW50by1jb3JlPVt5ZXN8bm9dICB3aGV0aGVyIHRvIHVzZSBh
biBpbWFnZWZpbGUgb3Igbm90CisKKworCitOb3RlcyBvbiBpbnN0YWxsYXRpb24gOgorLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tCisKK0VjbGlwc2UgY2FuIGJlIHJ1biBpbiBvbmUgb2YgdHdvIGRp
ZmZlcmVudCBvcmdhbmlzYXRpb25zLiBFaXRoZXIKK2VjbGlwc2UgaXMgY29tcGlsZWQgaW50byBh
biBpbWFnZWZpbGUgb3IgZWNsaXBzZSBpcyBjb21waWxlZCB0byBmYXNsCitmaWxlcyB3aGljaCBh
cmUgbG9hZGVkIHVwb24gc3RhcnR1cC4KKworVGhlIGNob2ljZSBiZXR3ZWVuIHRoZSB0d28gaXMg
Y29udHJvbGxlZCBieSB0aGUgY29uZmlndXJhdGlvbiBvcHRpb24KK2AtLWVuYWJsZS1jb21waWxl
LWludG8tY29yZScuIElmIHRoaXMgb3B0aW9uIGlzIHNldCB0byAibm8iIGVjbGlwc2UKK3dpbGwg
b25seSBjb21waWxlIHRvIGZhc2wgZmlsZXMgYW5kIG5vIGltYWdlZmlsZSB3aWxsIGJlIGdlbmVy
YXRlZC4KKworVGhpcyBoYXMgaW1wbGljYXRpb25zIGZvciB0aGUgaW5zdGFsbGF0aW9uIHByb2Nl
ZHVyZS4gSWYgdGhlIGZhc2wgZmlsZQorb3JnYW5pc2F0aW9uIGlzIHVzZWQsIGVjbGlwc2Ugd2ls
bCBydW4gb2ZmIHRoZSBmYXNsIGZpbGVzIGFzIHRoZXkgd2VyZQorZ2VuZXJhdGVkIGluIHRoZSBz
b3VyY2UgZGlyZWN0b3J5LiBPbmx5IGluIHRoZSBpbWFnZWZpbGUgY2FzZSB3aWxsIHRoZQorYGlu
c3RhbGwnIHRhcmdldCBnZW5lcmF0ZSBhIGZ1bGx5IHN0YW5kYWxvbmUgaW5zdGFsbGF0aW9uIHRo
YXQgd2lsbCBiZQoraW5kZXBlbmRlbnQgb2YgdGhlIHNvdXJjZSBkaXJlY3RvcnkuCisKK1doZXJl
IHRoZSBmaWxlcyBhcmUgaW5zdGFsbGVkIGluIHRoZSBpbWFnZWZpbGUgY2FzZSwgaXMgZGV0ZXJt
aW5lZCBieQorYSBudW1iZXIgb2YgY29uZmlndXJhdGlvbiBvcHRpb25zOiAKKworICAgIGAtLWJp
bmRpcicgIGRldGVybWluZXMgd2hlcmUgYmluYXJpZXMgKGllLiB0aGUgc3RhcnR1cCBzY3JpcHQp
CisgICAgYC0tbGliZGlyJyAgZGV0ZXJtaW5lcyB3aGVyZSB0aGUgaW1hZ2VmaWxlIGdvZXMgKHdo
ZW4gdGhhdCBpcyBlbmFibGVkKS4KKyAgICBgLS1kYXRhZGlyJyBkZXRlcm1pbmVzIHdoZXJlIHRo
ZSB0aGVtZSBkZWZpbml0aW9ucyBnby4KKworVGhlIGFjdHVhbCB2YWx1ZXMgb2YgdGhlIGRpZmZl
cmVudCB3aWxsIGJlIHNob3duIHdoZW4gdGhlIGAtLWhlbHAnCitvcHRpb24gaXMgZ2l2ZW4gdG8g
YGNvbmZpZ3VyZScuCiAKIENvcmUgY3JlYXRpb24gOgogLS0tLS0tLS0tLS0tLS0tCg==
--Oa7ZIqXZQ4
Content-Type: application/octet-stream
Content-Description: lisp configuration helper file
Content-Disposition: attachment;
	filename="config.lisp.in"
Content-Transfer-Encoding: base64

Ozs7IC0qLSBNb2RlOiBMaXNwOyBQYWNrYWdlOiBjb21tb24tbGlzcC11c2VyIC0qLQo7OzsgJElk
OiBnZXN0dXJlcy5saXNwLHYgMS4zIDIwMDMvMDMvMTcgMTE6MTM6MTcgaGF0Y2hvbmQgRXhwICQK
Ozs7Cjs7OyBFQ0xJUFNFLiBUaGUgQ29tbW9uIExpc3AgV2luZG93IE1hbmFnZXIuCjs7OyBDb3B5
cmlnaHQgKEMpIDIwMDIgSWJhbiBIQVRDSE9ORE8KOzs7IGNvbnRhY3QgOiBoYXRjaG9uZEB5YWhv
by5mcgo7OzsKOzs7IFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlz
dHJpYnV0ZSBpdCBhbmQvb3IKOzs7IG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdO
VSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCjs7OyBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29m
dHdhcmUgRm91bmRhdGlvbi4KOzs7Cjs7OyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4g
dGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKOzs7IGJ1dCBXSVRIT1VUIEFOWSBXQVJS
QU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCjs7OyBNRVJDSEFOVEFC
SUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCjs7OyBH
TlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgo7OzsKOzs7IFlvdSBz
aG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNl
bnNlCjs7OyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJl
ZSBTb2Z0d2FyZQo7OzsgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlIC0gU3VpdGUg
MzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcsIFVTQQoKOzs7OyBUaGlzIGZpbGUgY29tbXVuaWNh
dGVzIGNvbmZpZ3VyYXRpb24gb3B0aW9ucyB0byB0aGUgbGlzcCB3b3JsZC4KCihpbi1wYWNrYWdl
IDpjbC11c2VyKQoKKGRlZnZhciAqZWNsaXBzZS1lY2xpcHNlZGlyKiBuaWwpCgooZGVmdmFyICpl
Y2xpcHNlLXJjZmlsZSogIkByY2ZpbGVAIikKCgo7Ozs7IGNvbmZpZy5saXNwLmluIGVuZHMgaGVy
ZS4K
--Oa7ZIqXZQ4
Content-Type: application/octet-stream
Content-Description: cvsignore file for lib/
Content-Disposition: attachment;
	filename=".cvsignore"
Content-Transfer-Encoding: base64

Ki5lcnIK
--Oa7ZIqXZQ4
Content-Type: text/plain; charset=us-ascii
Content-Description: message body text
Content-Transfer-Encoding: 7bit



------------------------+-----------------------------------------------------
Christian Lynbech       | email:  [email protected] 
------------------------+-----------------------------------------------------
Hit the philistines three times over the head with the Elisp reference manual.
                                        - [email protected] (Michael A. Petonic)



--Oa7ZIqXZQ4--
_______________________________________________
http://lists.unlambda.com/mailman/listinfo/eclipse