Re: [PATCH V2] Support for the Algol 68 language

Paul Eggert <[email protected]> Wed, 23 Apr 2025 13:20:08 -0700
Newsgroups gmane.comp.sysutils.autoconf.patches
Organization UCLA Computer Science Department
Message-ID <[email protected]>
This is a multi-part message in MIME format.
--------------1S0AcrFqPlLmWnO5KeT2sfQo
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

I looked at the patches a bit more and thought that a couple of things 
needed to be renamed and some style issues addressed. Attached are two 
patches; the first your V2 rebased, the second my proposed further changes.

More important, though, the documentation and commit message needs to 
say where to get the GCC Algol 68 compiler, and that it's experimental 
and not part of the official GCC release, otherwise the reader is at a 
loss as to what's going on. Could you do that? Thanks.

Thanks.
--------------1S0AcrFqPlLmWnO5KeT2sfQo
Content-Type: text/x-patch; charset=UTF-8;
 name="0001-Support-for-the-Algol-68-language.patch"
Content-Disposition: attachment;
 filename="0001-Support-for-the-Algol-68-language.patch"
Content-Transfer-Encoding: base64

RnJvbSAyODhjMThmZTc2MWEyZWJkNDNlYzBkNWQwNGZiNDUxMTIyNTE4ZTlkIE1vbiBTZXAg
MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiAiSm9zZSBFLiBNYXJjaGVzaSIgPGplbWFyY2hAZ251
Lm9yZz4KRGF0ZTogU3VuLCAyIEZlYiAyMDI1IDIzOjAxOjU0ICswMTAwClN1YmplY3Q6IFtQ
QVRDSCAxLzJdIFN1cHBvcnQgZm9yIHRoZSBBbGdvbCA2OCBsYW5ndWFnZQoKW0RpZmZlcmVu
Y2VzIGZyb20gVjE6Ci0gVmFyaWFibGVzIEdBNjgqIHJlbmFtZWQgdG8gQTY4Ki5dCgpUaGlz
IHBhdGNoIGFkZHMgc3VwcG9ydCBmb3IgdGhlIEFsZ29sIDY4IHByb2dyYW1taW5nIGxhbmd1
YWdlIHRvCkF1dG9jb25mLiAgSXQgaXMgYmFzZWQgb24gdGhlIEFsZ29sIDY4IEdDQyBmcm9u
dC1lbmQsIHdoaWNoIGlzIGN1cnJlbnRseQp1bmRlciBkZXZlbG9wbWVudCBbMV0uIEEgV0lQ
IHNlcmllcyBnb3Qgc2VudCB0byBnY2MtcGF0Y2hlcyBpbiBKYW51YXJ5ClsyXSwgYW5kIHRo
ZSBmcm9udC1lbmQgaXMgdGVtcG9yYXJpbHkgaG9zdGVkIGluIHRoZSBzb3VyY2V3YXJlIGZv
cmdlCnVudGlsIGludGVncmF0aW9uIGluIEdDQyBpcyBjb21wbGV0ZWQgWzNdLgoKVGhlIGZ1
bGwgbGFuZ3VhZ2UgaXMgKGFsbW9zdCkgYWxyZWFkeSBpbXBsZW1lbnRlZCwgdGhlIGNvbXBp
bGVyIGlzCnVzZWZ1bCBhbmQgSSBwbGFuIHRvIHNlbmQgb2ZmaWNpYWwgcGF0Y2hlcyBmb3Ig
aW5jbHVzaW9uIGluIEdDQyAxNiB2ZXJ5CnNvb24uCgpBdXRvbWFrZSBzdXBwb3J0IGZvciBB
bGdvbCA2OCBoYXMgYmVlbiBhbHJlYWR5IHB1c2hlZCBhcyBvZiAyIEZlYnJ1YXJ5CjIwMjUu
CgpbMV0gaHR0cHM6Ly9nY2MuZ251Lm9yZy93aWtpL0FsZ29sNjhGcm9udEVuZApbMl0gaHR0
cHM6Ly9pbmJveC5zb3VyY2V3YXJlLm9yZy9nY2MtcGF0Y2hlcy8yMDI1MDEwMTAyMDk1Mi4x
ODQwNC0xLWpvc2UubWFyY2hlc2lAb3JhY2xlLmNvbS9ULyN0ClszXSBodHRwczovL2Zvcmdl
LnNvdXJjZWZvcmdlLm9yZy9qZW1hcmNoL2E2OC1nY2MKCiAgICBBZGQgc3VwcG9ydCBmb3Ig
dGhlIEFsZ29sNjggcHJvZ3JhbW1pbmcgbGFuZ3VhZ2UuCgogICAgKiBsaWIvYXV0b2NvbmYv
YTY4Lm00OiBOZXcgZmlsZS4KICAgICogbGliL2F1dG9jb25mL2F1dG9jb25mLm00OiBJbmNs
dWRlIGF1dG9jb25mL2E2OC5tNC4KICAgICogbGliL2F1dG9jb25mL01ha2VmaWxlLmFtIChk
aXN0X2F1dG9jb25mbGliX0RBVEEpOiBBZGQgYTY4Lm00LgogICAgKiBsaWIvZnJlZXplLm1r
IChhdXRvY29uZl9tNGZfZGVwZW5kZW5jaWVzKTogQWRkCiAgICAkKHNyY19saWJkaXIpL2F1
dG9jb25mL2E2OC5tNC4KICAgICogZG9jL2F1dG9jb25mLnRleGk6IFJlYnVpbGQgbWVudXMu
CiAgICAoUHJlc2V0IE91dHB1dCBWYXJpYWJsZXMpOiBNZW50aW9uIEFsZ29sIDY4LiAgRG9j
dW1lbnQgQTY4RkxBR1MuCiAgICAoQWxnb2wgNjggQ29tcGlsZXIpOiBOZXcgc3Vic2VjdGlv
bi4KICAgIChMYW5ndWFnZSBDaG9pY2UpOiBNZW50aW9uIEFsZ29sIDY4LgogICAgKEdlbmVy
YXRpbmcgU291cmNlcyk6IExpa2V3aXNlLgogICAgKFJ1bm5pbmcgdGhlIFByZXByb2Nlc3Nv
cik6IExpa2V3aXNlLgogICAgKiB0ZXN0cy9hNjguYXQ6IE5ldyBmaWxlLgogICAgKiB0ZXN0
cy9zdWl0ZS5hdDogSW5jbHVkZSBhNjguYXQgYW5kIGFjYTY4LmF0LgogICAgKiB0ZXN0cy9s
b2NhbC5hdCAoX0FUX0NIRUNLX0VOVik6IEFkZCBBNjggYW5kIEE2OEZMQUdTLgogICAgKiB0
ZXN0cy9NYWtlZmlsZS5hbSAoVEVTVFNVSVRFX0dFTkVSQVRFRF9BVCk6IEFkZAogICAgJChz
cmNkaXIpL2FjYTY4LmF0LgogICAgKFRFU1RTVUlURV9IQU5EX0FUKTogQWRkIGE2OC5hdC4K
ICAgIChBVVRPQ09ORl9GSUxFUyk6IEFkZCAkKGF1dG9jb25mZGlyKS9hNjgubTQuCiAgICAq
IE5FV1M6IFVwZGF0ZS4KLS0tCiBORVdTICAgICAgICAgICAgICAgICAgICAgfCAgIDMgKwog
ZG9jL2F1dG9jb25mLnRleGkgICAgICAgIHwgIDQ4ICsrKysrKysrKystLQogbGliL2F1dG9j
b25mL2E2OC5tNCAgICAgIHwgMTU1ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr
KysrKysrKwogbGliL2F1dG9jb25mL2F1dG9jb25mLm00IHwgICAxICsKIGxpYi9mcmVlemUu
bWsgICAgICAgICAgICB8ICAgMSArCiBsaWIvbG9jYWwubWsgICAgICAgICAgICAgfCAgIDEg
KwogdGVzdHMvYTY4LmF0ICAgICAgICAgICAgIHwgIDMzICsrKysrKysrKwogdGVzdHMvbG9j
YWwubWsgICAgICAgICAgIHwgICAzICsKIHRlc3RzL3N1aXRlLmF0ICAgICAgICAgICB8ICAg
MiArCiA5IGZpbGVzIGNoYW5nZWQsIDI0MiBpbnNlcnRpb25zKCspLCA1IGRlbGV0aW9ucygt
KQogY3JlYXRlIG1vZGUgMTAwNjQ0IGxpYi9hdXRvY29uZi9hNjgubTQKIGNyZWF0ZSBtb2Rl
IDEwMDY0NCB0ZXN0cy9hNjguYXQKCmRpZmYgLS1naXQgYS9ORVdTIGIvTkVXUwppbmRleCAx
ZTRlNTEzZS4uNGViNmE2MWYgMTAwNjQ0Ci0tLSBhL05FV1MKKysrIGIvTkVXUwpAQCAtMiw2
ICsyLDkgQEAgR05VIEF1dG9jb25mIE5FV1MgLSBVc2VyIHZpc2libGUgY2hhbmdlcy4KIAog
KiBOb3Rld29ydGh5IGNoYW5nZXMgaW4gcmVsZWFzZSA/Lj8gKD8/Pz8tPz8tPz8pIFs/XQog
CisqKiBTdXBwb3J0IGZvciB0aGUgQWxnb2wgNjggcHJvZ3JhbW1pbmcgbGFuZ3VhZ2UgaGFz
IGJlZW4gYWRkZWQuICBUaGUgbmV3IG1hY3JvCisgICBBQ19MQU5HX0E2OCBzZXRzIHZhcmlh
YmxlcyBBNjggYW5kIEE2OEZMQUdTLgorCiAqKiBCYWNrd2FyZCBpbmNvbXBhdGliaWxpdGll
cwogCiAqKiogQUNfUFJPR19DQyBub3cgcHJlZmVycyBDMjMgaWYgYXZhaWxhYmxlLgpkaWZm
IC0tZ2l0IGEvZG9jL2F1dG9jb25mLnRleGkgYi9kb2MvYXV0b2NvbmYudGV4aQppbmRleCA3
YjE1NmI4Mi4uNzc5YmUyNGEgMTAwNjQ0Ci0tLSBhL2RvYy9hdXRvY29uZi50ZXhpCisrKyBi
L2RvYy9hdXRvY29uZi50ZXhpCkBAIC00MTYsNiArNDE2LDcgQEAgQ29tcGlsZXJzIGFuZCBQ
cmVwcm9jZXNzb3JzCiAqIEVybGFuZyBDb21waWxlciBhbmQgSW50ZXJwcmV0ZXI6OiAgTGlr
ZXdpc2UKICogRm9ydHJhbiBDb21waWxlcjo6ICAgICAgICAgICAgTGlrZXdpc2UKICogR28g
Q29tcGlsZXI6OiAgICAgICAgICAgICAgICAgTGlrZXdpc2UKKyogQWxnb2wgNjggQ29tcGls
ZXI6OiAgICAgICAgICAgTGlrZXdpc2UKIAogV3JpdGluZyBUZXN0cwogCkBAIC0yNzQyLDcg
KzI3NDMsNyBAQCBwcm9ncmFtcyB0byB0ZXN0IGZvciBGb3J0cmFuIDc3IGZlYXR1cmVzLgog
T3B0aW9ucyBmb3IgdGhlIGxpbmtlci4gIElmIGl0IGlzIG5vdCBzZXQKIGluIHRoZSBlbnZp
cm9ubWVudCB3aGVuIEBjb21tYW5ke2NvbmZpZ3VyZX0gcnVucywgdGhlIGRlZmF1bHQgdmFs
dWUgaXMgZW1wdHkuCiBAY29tbWFuZHtjb25maWd1cmV9IHVzZXMgdGhpcyB2YXJpYWJsZSB3
aGVuIGxpbmtpbmcgcHJvZ3JhbXMgdG8gdGVzdCBmb3IKLUMsIEMrKywgT2JqZWN0aXZlIEMs
IE9iamVjdGl2ZSBDKyssIEZvcnRyYW4sIGFuZCBHbyBmZWF0dXJlcy4KK0MsIEMrKywgT2Jq
ZWN0aXZlIEMsIE9iamVjdGl2ZSBDKyssIEZvcnRyYW4sIEdvIGFuZCBBbGdvbCA2OCBmZWF0
dXJlcy4KIAogVGhpcyB2YXJpYWJsZSdzIGNvbnRlbnRzIHNob3VsZCBjb250YWluIG9wdGlv
bnMgbGlrZSBAb3B0aW9uey1zfSBhbmQKIEBvcHRpb257LUx9IHRoYXQgYWZmZWN0IG9ubHkg
dGhlIGJlaGF2aW9yIG9mIHRoZSBsaW5rZXIuICBQbGVhc2Ugc2VlIHRoZQpAQCAtMjc4NSw2
ICsyNzg2LDEzIEBAIERlYnVnZ2luZyBhbmQgb3B0aW1pemF0aW9uIG9wdGlvbnMgZm9yIHRo
ZSBHbyBjb21waWxlci4gIEl0IGFjdHMgbGlrZQogQGNvZGV7Q0ZMQUdTfSwgYnV0IGZvciBH
byBpbnN0ZWFkIG9mIEMuCiBAZW5kIGRlZnZhcgogCitAZGVmdmFyIEE2OEZMQUdTCitAZXZp
bmRleCBBNjhGTEFHUworQG92aW5kZXggQTY4RkxBR1MKK0RlYnVnZ2luZyBhbmQgb3B0aW1p
emF0aW9uIG9wdGlvbnMgZm9yIHRoZSBBbGdvbCA2OCBjb21waWxlci4gIEl0IGFjdHMKK2xp
a2UgQGNvZGV7Q0ZMQUdTfSwgYnV0IGZvciBBbGdvbDY4IGluc3RlYWQgb2YgQy4KK0BlbmQg
ZGVmdmFyCisKIEBkZWZ2YXIgYnVpbGRkaXIKIEBvdmluZGV4IGJ1aWxkZGlyCiBSaWdvcm91
c2x5IGVxdWFsIHRvIEBzYW1wey59LiAgQWRkZWQgZm9yIHN5bW1ldHJ5IG9ubHkuCkBAIC03
MDk0LDYgKzcxMDIsNyBAQCBjb21waWxpbmcuCiAqIEVybGFuZyBDb21waWxlciBhbmQgSW50
ZXJwcmV0ZXI6OiAgTGlrZXdpc2UKICogRm9ydHJhbiBDb21waWxlcjo6ICAgICAgICAgICAg
TGlrZXdpc2UKICogR28gQ29tcGlsZXI6OiAgICAgICAgICAgICAgICAgTGlrZXdpc2UKKyog
QWxnb2wgNjggQ29tcGlsZXI6OiAgICAgICAgICAgTGlrZXdpc2UKIEBlbmQgbWVudQogCiBA
bm9kZSBTcGVjaWZpYyBDb21waWxlciBDaGFyYWN0ZXJpc3RpY3MKQEAgLTg2MzUsNiArODY0
NCwzMSBAQCBJZiBvdXRwdXQgdmFyaWFibGUgQGNvZGV7R09GTEFHU30gd2FzIG5vdCBhbHJl
YWR5IHNldCwgc2V0IGl0IHRvCiBAZW5kIGRlZm1hYwogCiAKK0Bub2RlIEFsZ29sIDY4IENv
bXBpbGVyCitAc3Vic2VjdGlvbiBBbGdvbCA2OCBDb21waWxlcgorQGNpbmRleCBBbGdvbCA2
OAorCitBdXRvY29uZiBwcm92aWRlcyBiYXNpYyBzdXBwb3J0IGZvciB0aGUgQWxnb2wgNjgg
cHJvZ3JhbW1pbmcgbGFuZ3VhZ2UKK3doZW4gdXNpbmcgdGhlIEBjb2Rle2dhNjh9IGNvbXBp
bGVyLgorCitAZGVmbWFjIEFDX1BST0dfQTY4IChAb3Zhcntjb21waWxlci1zZWFyY2gtbGlz
dH0pCitGaW5kIHRoZSBBbGdvbCA2OCBjb21waWxlciB0byB1c2UuICBDaGVjayB3aGV0aGVy
IHRoZSBlbnZpcm9ubWVudAordmFyaWFibGUgQGNvZGV7QTY4fSBpcyBzZXQ7IGlmIHNvLCB0
aGVuIHNldCBvdXRwdXQgdmFyaWFibGUgQGNvZGV7QTY4fQordG8gaXRzIHZhbHVlLgorCitP
dGhlcndpc2UsIGlmIHRoZSBtYWNybyBpcyBpbnZva2VkIHdpdGhvdXQgYW4gYXJndW1lbnQs
IHRoZW4gc2VhcmNoIGZvcgorYW4gQWxnb2wgNjggY29tcGlsZXIgbmFtZWQgQGNvZGV7Z2E2
OH0uICBJZiBpdCBpcyBub3QgZm91bmQsIHRoZW4gYXMgYQorbGFzdCByZXNvcnQgc2V0IEBj
b2Rle0E2OH0gdG8gQGNvZGV7Z2E2OH0uCisKK1RoaXMgbWFjcm8gbWF5IGJlIGludm9rZWQg
d2l0aCBhbiBvcHRpb25hbCBmaXJzdCBhcmd1bWVudCB3aGljaCwgaWYKK3NwZWNpZmllZCwg
bXVzdCBiZSBhIGJsYW5rLXNlcGFyYXRlZCBsaXN0IG9mIEFsZ29sIDY4IGNvbXBpbGVycyB0
bworc2VhcmNoIGZvci4KKworSWYgb3V0cHV0IHZhcmlhYmxlIEBjb2Rle0E2OEZMQUdTfSB3
YXMgbm90IGFscmVhZHkgc2V0LCBzZXQgaXQgdG8KK0BvcHRpb257LWcgLU8yfS4gIElmIHlv
dXIgcGFja2FnZSBkb2VzIG5vdCBsaWtlIHRoaXMgZGVmYXVsdCwKK0Bjb2Rle0E2OEZMQUdT
fSBtYXkgYmUgc2V0IGJlZm9yZSBAY29kZXtBQ19QUk9HX0E2OH1sCitAZW5kIGRlZm1hYwor
CiBAbm9kZSBTeXN0ZW0gU2VydmljZXMKIEBzZWN0aW9uIFN5c3RlbSBTZXJ2aWNlcwogCkBA
IC05MTg1LDYgKzkyMTksMTAgQEAgZXh0ZW5zaW9uIEBmaWxley5tbX0gZm9yIHRlc3QgcHJv
Z3JhbXMuICBVc2UgY29tcGlsYXRpb24gZmxhZ3M6CiBAaXRlbSBHbwogRG8gY29tcGlsYXRp
b24gdGVzdHMgdXNpbmcgQGNvZGV7R09DfSBhbmQgdXNlIGV4dGVuc2lvbiBAZmlsZXsuZ299
IGZvcgogdGVzdCBwcm9ncmFtcy4gIFVzZSBjb21waWxhdGlvbiBmbGFncyBAY29kZXtHT0ZM
QUdTfS4KKworQGl0ZW0gQWxnb2wgNjgKK0RvIGNvbXBpbGF0aW9uIHRlc3RzIHVzaW5nIEBj
b2Rle0E2OH0gYW5kIHVzZSBleHRlbnNpb24gQGZpbGV7LmE2OH0gZm9yCit0ZXN0IHByb2dy
YW1zLiAgVXNlIGNvbXBpbGF0aW9uIGZsYWdzIEBjb2Rle0E2OEZMQUdTfS4KIEBlbmQgdGFi
bGUKIEBlbmQgZGVmbWFjCiAKQEAgLTk0MzIsOSArOTQ3MCw5IEBAIG9uIGEgc3lzdGVtIHdp
dGggQGNvbW1hbmR7Z2NjfSBpbnN0YWxsZWQsIHJlc3VsdHMgaW46CiBjb25zdCBjaGFyIGh3
W10gPSAiSGVsbG8sIFdvcmxkXG4iOwogQGVuZCBleGFtcGxlCiAKLVdoZW4gdGhlIHRlc3Qg
bGFuZ3VhZ2UgaXMgRm9ydHJhbiwgRXJsYW5nLCBvciBHbywgdGhlIEBjb2Rle0FDX0RFRklO
RX0KLWRlZmluaXRpb25zIGFyZSBub3QgYXV0b21hdGljYWxseSB0cmFuc2xhdGVkIGludG8g
Y29uc3RhbnRzIGluIHRoZQotc291cmNlIGNvZGUgYnkgdGhpcyBtYWNyby4KK1doZW4gdGhl
IHRlc3QgbGFuZ3VhZ2UgaXMgRm9ydHJhbiwgRXJsYW5nLCBHbyBvciBBbGdvbCA2OCwgdGhl
CitAY29kZXtBQ19ERUZJTkV9IGRlZmluaXRpb25zIGFyZSBub3QgYXV0b21hdGljYWxseSB0
cmFuc2xhdGVkIGludG8KK2NvbnN0YW50cyBpbiB0aGUgc291cmNlIGNvZGUgYnkgdGhpcyBt
YWNyby4KIAogQGRlZm1hYyBBQ19MQU5HX1BST0dSQU0gKEB2YXJ7cHJvbG9ndWV9LCBAdmFy
e2JvZHl9KQogQGFjaW5kZXh7TEFOR19QUk9HUkFNfQpAQCAtOTU1Nyw3ICs5NTk1LDcgQEAg
TmV2ZXJ0aGVsZXNzLCBpZiB5b3UgbmVlZCB0byBydW4gdGhlIHByZXByb2Nlc3NvciwgdGhl
biB1c2UKIEBjb2Rle0FDX1BSRVBST0NfSUZFTFNFfS4KIAogVGhlIG1hY3JvcyBkZXNjcmli
ZWQgaW4gdGhpcyBzZWN0aW9uIGNhbm5vdCBiZSB1c2VkIGZvciB0ZXN0cyBpbiBFcmxhbmcs
Ci1Gb3J0cmFuLCBvciBHbywgc2luY2UgdGhvc2UgbGFuZ3VhZ2VzIHJlcXVpcmUgbm8gcHJl
cHJvY2Vzc29yLgorRm9ydHJhbiwgR28sIG9yIEFsZ29sIDY4IHNpbmNlIHRob3NlIGxhbmd1
YWdlcyByZXF1aXJlIG5vIHByZXByb2Nlc3Nvci4KIAogQGFuY2hvcntBQ19QUkVQUk9DX0lG
RUxTRX0KIEBkZWZtYWMgQUNfUFJFUFJPQ19JRkVMU0UgKEB2YXJ7aW5wdXR9LCBAb3Zhcnth
Y3Rpb24taWYtdHJ1ZX0sIEAKZGlmZiAtLWdpdCBhL2xpYi9hdXRvY29uZi9hNjgubTQgYi9s
aWIvYXV0b2NvbmYvYTY4Lm00Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
Li4zMGQ4MzYyZQotLS0gL2Rldi9udWxsCisrKyBiL2xpYi9hdXRvY29uZi9hNjgubTQKQEAg
LTAsMCArMSwxNTUgQEAKKyMgVGhpcyBmaWxlIGlzIHBhcnQgb2YgQXV0b2NvbmYuICAgICAg
ICAgICAgICAgICAgICAgICAtKi0gQXV0b2NvbmYgLSotCisjIEFsZ29sIDY4IGxhbmd1YWdl
IHN1cHBvcnQuCisjIENvcHlyaWdodCAoQykgMjAyNSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRp
b24sIEluYy4KKworIyBUaGlzIGZpbGUgaXMgcGFydCBvZiBBdXRvY29uZi4gIFRoaXMgcHJv
Z3JhbSBpcyBmcmVlCisjIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQv
b3IgbW9kaWZ5IGl0IHVuZGVyIHRoZQorIyB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVi
bGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZQorIyBGcmVlIFNvZnR3YXJlIEZvdW5k
YXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yCisjIChhdCB5b3Vy
IG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisjCisjIFRoaXMgcHJvZ3JhbSBpcyBkaXN0
cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorIyBidXQgV0lU
SE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBv
ZgorIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBP
U0UuICBTZWUgdGhlCisjIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRl
dGFpbHMuCisjCisjIFVuZGVyIFNlY3Rpb24gNyBvZiBHUEwgdmVyc2lvbiAzLCB5b3UgYXJl
IGdyYW50ZWQgYWRkaXRpb25hbAorIyBwZXJtaXNzaW9ucyBkZXNjcmliZWQgaW4gdGhlIEF1
dG9jb25mIENvbmZpZ3VyZSBTY3JpcHQgRXhjZXB0aW9uLAorIyB2ZXJzaW9uIDMuMCwgYXMg
cHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24uCisjCisjIFlvdSBz
aG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBM
aWNlbnNlCisjIGFuZCBhIGNvcHkgb2YgdGhlIEF1dG9jb25mIENvbmZpZ3VyZSBTY3JpcHQg
RXhjZXB0aW9uIGFsb25nIHdpdGgKKyMgdGhpcyBwcm9ncmFtOyBzZWUgdGhlIGZpbGVzIENP
UFlJTkd2MyBhbmQgQ09QWUlORy5FWENFUFRJT04KKyMgcmVzcGVjdGl2ZWx5LiAgSWYgbm90
LCBzZWUgPGh0dHBzOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPiBhbmQKKyMgPGh0dHBzOi8v
Z2l0LnNhdmFubmFoLmdudS5vcmcvZ2l0d2ViLz9wPWF1dG9jb25mLmdpdDthPWJsb2JfcGxh
aW47Zj1DT1BZSU5HLkVYQ0VQVElPTj4uCisKKyMgQWxnb2wgNjggc3VwcG9ydCBjb250cmli
dXRlZCBieSBKb3NlIEUuIE1hcmNoZXNpLgorCisjIC0tLS0tLS0tLS0tLS0tLS0tLS0gIwor
IyBMYW5ndWFnZSBzZWxlY3Rpb24uCisjIC0tLS0tLS0tLS0tLS0tLS0tLS0gIworCisjIEFD
X0xBTkcoYTY4KQorIyAtLS0tLS0tLS0tLQorQUNfTEFOR19ERUZJTkUoW0E2OF0sIFthNjhd
LCBbQTY4XSwgW0E2OF0sIFtdLAorW2FjX2V4dD1hNjgKK2FjX2NvbXBpbGU9JyRBNjggLWMg
JEE2OEZMQUdTIGNvbmZ0ZXN0LiRhY19leHQgPiZBU19NRVNTQUdFX0xPR19GRCcKK2FjX2xp
bms9JyRBNjggLW8gY29uZnRlc3QkYWNfZXhlZXh0ICRBNjhGTEFHUyAkTERGTEFHUyBjb25m
dGVzdC4kYWNfZXh0ICRMSUJTID4mQVNfTUVTU0FHRV9MT0dfRkQnCithY19jb21waWxlcl9n
bnU9eWVzCitdKQorCisjIEFDX0xBTkdfQTY4CisjIC0tLS0tLS0tLS0tCitBVV9ERUZVTihb
QUNfTEFOR19BNjhdLCBbQUNfTEFORyhBNjgpXSkKKworIyAtLS0tLS0tLS0tLS0tLS0tLS0t
ICMKKyMgUHJvZHVjaW5nIHByb2dyYW1zLgorIyAtLS0tLS0tLS0tLS0tLS0tLS0tICMKKwor
IyBBQ19MQU5HX1BST0dSQU0oQTY4KShbUFJPTE9HVUVdLCBbQk9EWV0pCisjIC0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK200X2RlZmluZShbQUNfTEFOR19Q
Uk9HUkFNKEE2OCldLAorW1BST0dSQU0KKyQxCitCRUdJTgorJDIKKyAwCitFTkRdKQorCisj
IF9BQ19MQU5HX0lPX1BST0dSQU0oQTY4KQorIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0K
KyMgUHJvZHVjZSBzb3VyY2UgdGhhdCBwZXJmb3JtcyBJL08uCittNF9kZWZpbmUoW19BQ19M
QU5HX0lPX1BST0dSQU0oQTY4KV0sCitbQUNfTEFOR19QUk9HUkFNKFtdLAorW0lGIElOVCBm
ZCA9IGZjcmVhdGUgKCJjb25mdGVzdC5vdXQiLCA4cjA3NzcpOyBmZCA9IC0xCisgVEhFTiBw
ZXJyb3IgKCJlcnJvciBjcmVhdGluZyBjb25mdGVzdC5vdXQiKQorIEVMSUYgZmNsb3NlIChm
ZCkgPSAtMSBUSEVOIHBlcnJvciAoImVycm9yIGNsb3NpbmcgY29uZnRlc3Qub3V0Iik7Cisg
Rkk7CitdKV0pCisKKyMgQUNfTEFOR19DQUxMKEE2OCkoUFJPTE9HVUUsIEZVTkNUSU9OKQor
IyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIEF2b2lkIGNvbmZs
aWN0aW5nIGRlY2wgb2YgbWFpbi4KK200X2RlZmluZShbQUNfTEFOR19DQUxMKEE2OCldLAor
W0FDX0xBTkdfUFJPR1JBTShbXSxbXSldKQorCisjIEFDX0xBTkdfRlVOQ19MSU5LX1RSWShB
NjgpKEZVTkNUSU9OKQorIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0K
KyMgVHJ5IHRvIGxpbmsgYSBwcm9ncmFtIHdoaWNoIGNhbGxzIEZVTkNUSU9OLgorbTRfZGVm
aW5lKFtBQ19MQU5HX0ZVTkNfTElOS19UUlkoQTY4KV0sCitbQUNfTEFOR19QUk9HUkFNKFtd
LFtdKV0pCisKKyMgQUNfTEFOR19CT09MX0NPTVBJTEVfVFJZKEE2OCkoUFJPTE9HVUUsIEVY
UFJFU1NJT04pCisjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLQorIyBSZXR1cm4gYSBwcm9ncmFtIHdoaWNoIGlzIHZhbGlkIGlmIEVYUFJF
U1NJT04gaXMgbm9uemVyby4KK200X2RlZmluZShbQUNfTEFOR19CT09MX0NPTVBJTEVfVFJZ
KEE2OCldLAorW0FDX0xBTkdfUFJPR1JBTShbXSwgW0A8OkAkMkA6PkBJTlQgdGVzdCBtdWx0
aXBsZTsKKyAgICAgICAgICAgICAgICAgICAgICAwXSldKQorCisjIEFDX0xBTkdfSU5UX1NB
VkUoQTY4KShQUk9MT0dVRSwgRVhQUkVTU0lPTikKKyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tCittNF9kZWZpbmUoW0FDX0xBTkdfSU5UX1NBVkUoQTY4
KV0sCitbQUNfTEFOR19QUk9HUkFNKFsKK1BST0MgaXRvYSA9IChJTlQgaSkgU1RSSU5HOgor
ICAgICAgQkVHSU4gSUYgaSA9IDAKKyAgICAgICAgICAgIFRIRU4gIjAiCisgICAgICAgICAg
ICBFTFNFIElOVCBuIDo9IEFCUyBpOworICAgICAgICAgICAgICAgICBTVFJJTkcgcmVzOwor
ICAgICAgICAgICAgICAgICBXSElMRSBuIC89IDAKKyAgICAgICAgICAgICAgICAgRE8gSU5U
IHJlbSA9IG4gJSogMTA7CisgICAgICAgICAgICAgICAgICAgIHJlcyA6PSBSRVBSIChyZW0g
PiA5IHwgKHJlbSAtIDEwKSArIEFCUyAiYSIgfCByZW0gKyBBQlMgIjAiKSArIHJlczsKKyAg
ICAgICAgICAgICAgICAgICAgbiAlOj0gMTAKKyAgICAgICAgICAgICAgICAgT0Q7CisgICAg
ICAgICAgICAgICAgIChpIDwgMCB8ICItIiArIHJlcyB8IHJlcykKKyAgICAgICAgICAgIEZJ
CisgICAgICBFTkQ7CisKK0lOVCByZXQgOj0gMDsKK0lOVCBmZCA9IGZvcGVuICgiY29uZnRl
c3QudmFsIiwgZmlsZSBvIHdyb25seSkvCitJRiBmZCA9IC0xIFRIRU4gcmV0IDo9IDE7IHN0
b3AgRkk7CitJRiBmcHV0cyAoZmQsIGl0b2EgKCQyKSkgPSAwIFRIRU4gcmV0IDo9IDE7IHN0
b3AgRkk7CitzdG9wOgorOworXSldKQorCisjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gIwor
IyBMb29raW5nIGZvciBjb21waWxlcnMuICMKKyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAj
CisKKyMgQUNfTEFOR19DT01QSUxFUihBNjgpCisjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLQor
QUNfREVGVU4oW0FDX0xBTkdfQ09NUElMRVIoQTY4KV0sCitbQUNfUkVRVUlSRShbQUNfUFJP
R19BNjhdKV0pCisKKyMgQUNfUFJPR19BNjgKKyMgLS0tLS0tLS0tLS0KK0FOX01BS0VWQVIo
W0E2OF0sIFtBQ19QUk9HX0E2OF0pCitBTl9QUk9HUkFNKFtnYTY4XSwgW0FDX1BST0dfQTY4
XSkKK0FDX0RFRlVOKFtBQ19QUk9HX0E2OF0sCitbQUNfTEFOR19QVVNIKEE2OClkbmwKK0FD
X0FSR19WQVIoW0E2OF0sICAgW0FsZ29sIDY4IGNvbXBpbGVyIGNvbW1hbmRdKWRubAorQUNf
QVJHX1ZBUihbQTY4RkxBR1NdLCBbQWxnb2wgNjggY29tcGlsZXIgZmxhZ3NdKWRubAorX0FD
X0FSR19WQVJfTERGTEFHUygpZG5sCittNF9pZnZhbChbJDFdLAorICAgICAgW0FDX0NIRUNL
X1RPT0xTKEE2OCwgWyQxXSldLAorW0FDX0NIRUNLX1RPT0woQTY4LCBnYTY4KQoraWYgdGVz
dCAteiAiJEE2OCI7IHRoZW4KKyAgaWYgdGVzdCAtbiAiJGFjX3Rvb2xfcHJlZml4IjsgdGhl
bgorICAgIEFDX0NIRUNLX1BST0coQTY4LCBbJHthY190b29sX3ByZWZpeH1nYTY4XSwgWyRh
Y190b29sX3ByZWZpeH1nYTY4XSkKKyAgZmkKK2ZpCitpZiB0ZXN0IC16ICIkQTY4IjsgdGhl
bgorICBBQ19DSEVDS19QUk9HKEE2OCwgZ2E2OCwgZ2E2OCwgLCAsIGZhbHNlKQorZmkKK10p
CisKKyMgUHJvdmlkZSBzb21lIGluZm9ybWF0aW9uIGFib3V0IHRoZSBjb21waWxlci4KK19B
U19FQ0hPX0xPRyhbY2hlY2tpbmcgZm9yIF9BQ19MQU5HIGNvbXBpbGVyIHZlcnNpb25dKQor
c2V0IFggJGFjX2NvbXBpbGUKK2FjX2NvbXBpbGVyPSRbMl0KK19BQ19ET19MSU1JVChbJGFj
X2NvbXBpbGVyIC0tdmVyc2lvbiA+JkFTX01FU1NBR0VfTE9HX0ZEXSkKK200X2V4cGFuZF9v
bmNlKFtfQUNfQ09NUElMRVJfRVhFRVhUXSlbXWRubAorbTRfZXhwYW5kX29uY2UoW19BQ19D
T01QSUxFUl9PQkpFWFRdKVtdZG5sCitBNjhGTEFHUz0iLWcgLU8yIgorQUNfTEFOR19QT1Ao
QTY4KWRubAorXSkjIEFDX1BST0dfQTY4CmRpZmYgLS1naXQgYS9saWIvYXV0b2NvbmYvYXV0
b2NvbmYubTQgYi9saWIvYXV0b2NvbmYvYXV0b2NvbmYubTQKaW5kZXggYzJiNmFlYTMuLmQ3
OTg4OGU5IDEwMDY0NAotLS0gYS9saWIvYXV0b2NvbmYvYXV0b2NvbmYubTQKKysrIGIvbGli
L2F1dG9jb25mL2F1dG9jb25mLm00CkBAIC00NCw2ICs0NCw3IEBAIG00X2luY2x1ZGUoW2F1
dG9jb25mL2MubTRdKQogbTRfaW5jbHVkZShbYXV0b2NvbmYvZXJsYW5nLm00XSkKIG00X2lu
Y2x1ZGUoW2F1dG9jb25mL2ZvcnRyYW4ubTRdKQogbTRfaW5jbHVkZShbYXV0b2NvbmYvZ28u
bTRdKQorbTRfaW5jbHVkZShbYXV0b2NvbmYvYTY4Lm00XSkKIG00X2luY2x1ZGUoW2F1dG9j
b25mL2Z1bmN0aW9ucy5tNF0pCiBtNF9pbmNsdWRlKFthdXRvY29uZi9oZWFkZXJzLm00XSkK
IG00X2luY2x1ZGUoW2F1dG9jb25mL3R5cGVzLm00XSkKZGlmZiAtLWdpdCBhL2xpYi9mcmVl
emUubWsgYi9saWIvZnJlZXplLm1rCmluZGV4IDgyMzkwODBlLi5lNjVjMTI4YSAxMDA2NDQK
LS0tIGEvbGliL2ZyZWV6ZS5taworKysgYi9saWIvZnJlZXplLm1rCkBAIC04OSw2ICs4OSw3
IEBAIGF1dG9jb25mX200Zl9kZXBlbmRlbmNpZXMgPQkJCVwKIAkkKHNyY19saWJkaXIpL2F1
dG9jb25mL2ZvcnRyYW4ubTQJXAogCSQoc3JjX2xpYmRpcikvYXV0b2NvbmYvZXJsYW5nLm00
CVwKIAkkKHNyY19saWJkaXIpL2F1dG9jb25mL2dvLm00CQlcCisgICAgICAgICQoc3JjX2xp
YmRpcikvYXV0b2NvbmYvYTY4Lm00ICAgICAgICAgICBcCiAJJChzcmNfbGliZGlyKS9hdXRv
Y29uZi9mdW5jdGlvbnMubTQJXAogCSQoc3JjX2xpYmRpcikvYXV0b2NvbmYvaGVhZGVycy5t
NAlcCiAJJChzcmNfbGliZGlyKS9hdXRvY29uZi90eXBlcy5tNAkJXApkaWZmIC0tZ2l0IGEv
bGliL2xvY2FsLm1rIGIvbGliL2xvY2FsLm1rCmluZGV4IDk4YTdmMzZhLi42MjQ0MGRkMCAx
MDA2NDQKLS0tIGEvbGliL2xvY2FsLm1rCisrKyBiL2xpYi9sb2NhbC5tawpAQCAtOTUsNiAr
OTUsNyBAQCBkaXN0X2F1dG9jb25mbGliX0RBVEEgPSBcCiAgIGxpYi9hdXRvY29uZi9mb3J0
cmFuLm00IFwKICAgbGliL2F1dG9jb25mL2Z1bmN0aW9ucy5tNCBcCiAgIGxpYi9hdXRvY29u
Zi9nby5tNCBcCisgIGxpYi9hdXRvY29uZi9hNjgubTQgXAogICBsaWIvYXV0b2NvbmYvaGVh
ZGVycy5tNCBcCiAgIGxpYi9hdXRvY29uZi90eXBlcy5tNCBcCiAgIGxpYi9hdXRvY29uZi9s
aWJzLm00IFwKZGlmZiAtLWdpdCBhL3Rlc3RzL2E2OC5hdCBiL3Rlc3RzL2E2OC5hdApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMC4uYjk5YjUwZDIKLS0tIC9kZXYvbnVs
bAorKysgYi90ZXN0cy9hNjguYXQKQEAgLTAsMCArMSwzMyBAQAorIwkJCQkJCQktKi0gQXV0
b3Rlc3QgLSotCisKK0FUX0JBTk5FUihbQWxnb2wgNjggbG93IGxldmVsIGNvbXBpbGluZyBh
bmQgdXRpbGl0eSBtYWNyb3MuXSkKKworIyBDb3B5cmlnaHQgKEMpIDIwMjUgRnJlZSBTb2Z0
d2FyZSBGb3VuZGF0aW9uLCBJbmMuCisjCisjIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3
YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisjIGl0IHVuZGVy
IHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlz
aGVkIGJ5CisjIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9u
IDMgb2YgdGhlIExpY2Vuc2UsIG9yCisjIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZl
cnNpb24uCisjCisjIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0
aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdp
dGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorIyBNRVJDSEFOVEFCSUxJVFkg
b3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisjIEdOVSBH
ZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisjCisjIFlvdSBzaG91
bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNl
bnNlCisjIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiAgSWYgbm90LCBzZWUgPGh0dHBzOi8v
d3d3LmdudS5vcmcvbGljZW5zZXMvPi4KKworCisjIFNpbmNlIHRoZSBtYWNyb3Mgd2hpY2gg
Y29tcGlsZSBhcmUgcmVxdWlyZWQgYnkgbW9zdCB0ZXN0cywgY2hlY2sKKyMgdGhlbSBmaXJz
dC4gIEJ1dCByZW1lbWJlciB0aGF0IGxvb2tpbmcgZm9yIGEgY29tcGlsZXIgaXMgZXZlbiBt
b3JlCisjIHByaW1pdGl2ZSwgc28gY2hlY2sgdGhvc2UgZmlyc3QuCisKKworIyMgLS0tLS0t
LS0tLS0tLS0tLS0tLSAjIworIyMgQWxnb2wgNjggQ29tcGlsZXIuICAjIworIyMgLS0tLS0t
LS0tLS0tLS0tLS0tLSAjIworCitBVF9DSEVDS19NQUNSTyhbQTY4XSwKK1tbQUNfTEFORyhB
NjgpCitBQ19MQU5HX0NPTVBJTEVSCitdXSkKZGlmZiAtLWdpdCBhL3Rlc3RzL2xvY2FsLm1r
IGIvdGVzdHMvbG9jYWwubWsKaW5kZXggNmEyYzA2YTguLjc3ODA4ZjdkIDEwMDY0NAotLS0g
YS90ZXN0cy9sb2NhbC5taworKysgYi90ZXN0cy9sb2NhbC5tawpAQCAtOTIsNiArOTIsNyBA
QCBURVNUU1VJVEVfR0VORVJBVEVEX0FUID0gXAogICB0ZXN0cy9hY2VybGFuZy5hdCBcCiAg
IHRlc3RzL2FjZm9ydHJhbi5hdCBcCiAgIHRlc3RzL2FjZ28uYXQgXAorICB0ZXN0cy9hY2E2
OC5hdCBcCiAgIHRlc3RzL2FjZ2VuZXJhbC5hdCBcCiAgIHRlc3RzL2Fjc3RhdHVzLmF0IFwK
ICAgdGVzdHMvYWNhdXRvaGVhZGVyLmF0IFwKQEAgLTExNiw2ICsxMTcsNyBAQCBURVNUU1VJ
VEVfSEFORF9BVCA9IFwKICAgdGVzdHMvZXJsYW5nLmF0IFwKICAgdGVzdHMvZm9ydHJhbi5h
dCBcCiAgIHRlc3RzL2dvLmF0IFwKKyAgdGVzdHMvYTY4LmF0IFwKICAgdGVzdHMvc2VtYW50
aWNzLmF0IFwKICAgdGVzdHMvYXV0b3NjYW4uYXQgXAogICB0ZXN0cy9mb3JlaWduLmF0CkBA
IC0xOTgsNiArMjAwLDcgQEAgQVVUT0NPTkZfRklMRVMgPSAkKGF1dG9jb25mZGlyKS9nZW5l
cmFsLm00IFwKIAkJICQoYXV0b2NvbmZkaXIpL2VybGFuZy5tNCBcCiAJCSAkKGF1dG9jb25m
ZGlyKS9mb3J0cmFuLm00IFwKIAkJICQoYXV0b2NvbmZkaXIpL2dvLm00IFwKKwkJICQoYXV0
b2NvbmZkaXIpL2E2OC5tNCBcCiAJCSAkKGF1dG9jb25mZGlyKS9oZWFkZXJzLm00IFwKIAkJ
ICQoYXV0b2NvbmZkaXIpL2xpYnMubTQgXAogCQkgJChhdXRvY29uZmRpcikvdHlwZXMubTQg
XApkaWZmIC0tZ2l0IGEvdGVzdHMvc3VpdGUuYXQgYi90ZXN0cy9zdWl0ZS5hdAppbmRleCAx
N2ZjYTUwOC4uMTYwMGJmMzIgMTAwNjQ0Ci0tLSBhL3Rlc3RzL3N1aXRlLmF0CisrKyBiL3Rl
c3RzL3N1aXRlLmF0CkBAIC01NSw2ICs1NSw4IEBAIG00X2luY2x1ZGUoW2VybGFuZy5hdF0p
CiBtNF9pbmNsdWRlKFthY2VybGFuZy5hdF0pCiBtNF9pbmNsdWRlKFtnby5hdF0pCiBtNF9p
bmNsdWRlKFthY2dvLmF0XSkKK200X2luY2x1ZGUoW2E2OC5hdF0pCittNF9pbmNsdWRlKFth
Y2E2OC5hdF0pCiAKICMgQ2hlY2tpbmcgdGhhdCBBQ19DSEVDS19GT08gbWFjcm9zIHdvcmsg
cHJvcGVybHkuCiBtNF9pbmNsdWRlKFtzZW1hbnRpY3MuYXRdKQotLSAKMi40OC4xCgo=
--------------1S0AcrFqPlLmWnO5KeT2sfQo
Content-Type: text/x-patch; charset=UTF-8;
 name="0002-A68-A68C-Algol-68-in-some-cases.patch"
Content-Disposition: attachment;
 filename="0002-A68-A68C-Algol-68-in-some-cases.patch"
Content-Transfer-Encoding: base64

RnJvbSBkODc1YmRkOGM2ZDVkNWMxY2Q2YzA5YTM1MGQyYmNhMzVkZWQ0ZDI3IE1vbiBTZXAg
MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBQYXVsIEVnZ2VydCA8ZWdnZXJ0QGNzLnVjbGEuZWR1
PgpEYXRlOiBXZWQsIDIzIEFwciAyMDI1IDEyOjU4OjQxIC0wNzAwClN1YmplY3Q6IFtQQVRD
SCAyLzJdID0/VVRGLTg/cT9BNjg9MjA9RTI9ODY9OTI9MjBBNjhDPTIwLz0yMEFsZ29sPTIw
Njg9MjBpPz0KID0/VVRGLTg/cT9uPTIwc29tZT0yMGNhc2VzPz0KTUlNRS1WZXJzaW9uOiAx
LjAKQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04CkNvbnRlbnQtVHJh
bnNmZXItRW5jb2Rpbmc6IDhiaXQKCiogbGliL2F1dG9jb25mL2E2OC5tNDogQ2FsbCB0aGUg
bGFuZ3VhZ2Ug4oCYQWxnb2wgNjjigJksIG5vdCDigJhBNjjigJksIGluCm1hY3JvIG5hbWVz
IGFuZCB0aGUgbGlrZS4gIFVzZSB0aGUgc2hlbGwgdmFyaWFibGUgQTY4Qywgbm90IEE2OCwK
Zm9yIHRoZSBjb21waWxlci4gIFRoaXMgaXMgZm9yIGNvbnNpc3RlbmN5IG9mIG5hbWVzIGNv
bXBhcmVkIHRvCnN1cHBvcnQgZm9yIG90aGVyIGxhbmd1YWdlcyBsaWtlIEdvLiAgQWxsIHVz
ZXMgY2hhbmdlZC4KLS0tCiBORVdTICAgICAgICAgICAgICAgIHwgICA2ICstLQogZG9jL2F1
dG9jb25mLnRleGkgICB8ICAxNyArKystLS0tCiBsaWIvYXV0b2NvbmYvYTY4Lm00IHwgMTE0
ICsrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiBsaWIvZnJl
ZXplLm1rICAgICAgIHwgICAyICstCiB0ZXN0cy9hNjguYXQgICAgICAgIHwgICA0ICstCiA1
IGZpbGVzIGNoYW5nZWQsIDczIGluc2VydGlvbnMoKyksIDcwIGRlbGV0aW9ucygtKQoKZGlm
ZiAtLWdpdCBhL05FV1MgYi9ORVdTCmluZGV4IDRlYjZhNjFmLi5mZTUyMTZhYiAxMDA2NDQK
LS0tIGEvTkVXUworKysgYi9ORVdTCkBAIC0yLDkgKzIsNiBAQCBHTlUgQXV0b2NvbmYgTkVX
UyAtIFVzZXIgdmlzaWJsZSBjaGFuZ2VzLgogCiAqIE5vdGV3b3J0aHkgY2hhbmdlcyBpbiBy
ZWxlYXNlID8uPyAoPz8/Py0/Py0/PykgWz9dCiAKLSoqIFN1cHBvcnQgZm9yIHRoZSBBbGdv
bCA2OCBwcm9ncmFtbWluZyBsYW5ndWFnZSBoYXMgYmVlbiBhZGRlZC4gIFRoZSBuZXcgbWFj
cm8KLSAgIEFDX0xBTkdfQTY4IHNldHMgdmFyaWFibGVzIEE2OCBhbmQgQTY4RkxBR1MuCi0K
ICoqIEJhY2t3YXJkIGluY29tcGF0aWJpbGl0aWVzCiAKICoqKiBBQ19QUk9HX0NDIG5vdyBw
cmVmZXJzIEMyMyBpZiBhdmFpbGFibGUuCkBAIC0zMSw2ICsyOCw5IEBAIEdOVSBBdXRvY29u
ZiBORVdTIC0gVXNlciB2aXNpYmxlIGNoYW5nZXMuCiAgIFRoZSBhdXRvbTR0ZSwgYXV0b3Nj
YW4gYW5kIGlmbmFtZXMgcHJvZ3JhbXMgbm93IHJlY29nbml6ZSB0aGUgdHdvCiAgIHByZXBy
b2Nlc3NvciBkaXJlY3RpdmVzLCB3aGljaCB3ZXJlIGludHJvZHVjZWQgaW4gQzIzIGFuZCBD
KysyMy4KIAorKioqIFN1cHBvcnQgZm9yIHRoZSBBbGdvbCA2OCBwcm9ncmFtbWluZyBsYW5n
dWFnZSBoYXMgYmVlbiBhZGRlZC4KKyAgVGhlIG5ldyBtYWNybyBBQ19MQU5HX0E2OCBzZXRz
IHZhcmlhYmxlcyBBNjhDIGFuZCBBNjhGTEFHUy4KKwogKioqIEFDX1BST0dfQVdLIG5vdyBh
bHNvIGNoZWNrcyBmb3IgYnVzeWJveCBhd2suCiAKICoqKiBBQ19VU0VfU1lTVEVNX0VYVEVO
U0lPTlMgbm93IGRlZmluZXMgX0NPU01PX1NPVVJDRSBmb3IgQ29zbW9wb2xpdGFuIExpYmMu
CmRpZmYgLS1naXQgYS9kb2MvYXV0b2NvbmYudGV4aSBiL2RvYy9hdXRvY29uZi50ZXhpCmlu
ZGV4IDc3OWJlMjRhLi4xZGU5NDQ4NyAxMDA2NDQKLS0tIGEvZG9jL2F1dG9jb25mLnRleGkK
KysrIGIvZG9jL2F1dG9jb25mLnRleGkKQEAgLTI3NDMsNyArMjc0Myw3IEBAIHByb2dyYW1z
IHRvIHRlc3QgZm9yIEZvcnRyYW4gNzcgZmVhdHVyZXMuCiBPcHRpb25zIGZvciB0aGUgbGlu
a2VyLiAgSWYgaXQgaXMgbm90IHNldAogaW4gdGhlIGVudmlyb25tZW50IHdoZW4gQGNvbW1h
bmR7Y29uZmlndXJlfSBydW5zLCB0aGUgZGVmYXVsdCB2YWx1ZSBpcyBlbXB0eS4KIEBjb21t
YW5ke2NvbmZpZ3VyZX0gdXNlcyB0aGlzIHZhcmlhYmxlIHdoZW4gbGlua2luZyBwcm9ncmFt
cyB0byB0ZXN0IGZvcgotQywgQysrLCBPYmplY3RpdmUgQywgT2JqZWN0aXZlIEMrKywgRm9y
dHJhbiwgR28gYW5kIEFsZ29sIDY4IGZlYXR1cmVzLgorZmVhdHVyZXMgaW4gQywgQysrLCBP
YmplY3RpdmUgQywgT2JqZWN0aXZlIEMrKywgRm9ydHJhbiwgR28sIGFuZCBBbGdvbCA2OC4K
IAogVGhpcyB2YXJpYWJsZSdzIGNvbnRlbnRzIHNob3VsZCBjb250YWluIG9wdGlvbnMgbGlr
ZSBAb3B0aW9uey1zfSBhbmQKIEBvcHRpb257LUx9IHRoYXQgYWZmZWN0IG9ubHkgdGhlIGJl
aGF2aW9yIG9mIHRoZSBsaW5rZXIuICBQbGVhc2Ugc2VlIHRoZQpAQCAtMjc5MCw3ICsyNzkw
LDcgQEAgRGVidWdnaW5nIGFuZCBvcHRpbWl6YXRpb24gb3B0aW9ucyBmb3IgdGhlIEdvIGNv
bXBpbGVyLiAgSXQgYWN0cyBsaWtlCiBAZXZpbmRleCBBNjhGTEFHUwogQG92aW5kZXggQTY4
RkxBR1MKIERlYnVnZ2luZyBhbmQgb3B0aW1pemF0aW9uIG9wdGlvbnMgZm9yIHRoZSBBbGdv
bCA2OCBjb21waWxlci4gIEl0IGFjdHMKLWxpa2UgQGNvZGV7Q0ZMQUdTfSwgYnV0IGZvciBB
bGdvbDY4IGluc3RlYWQgb2YgQy4KK2xpa2UgQGNvZGV7Q0ZMQUdTfSwgYnV0IGZvciBBbGdv
bCA2OCBpbnN0ZWFkIG9mIEMuCiBAZW5kIGRlZnZhcgogCiBAZGVmdmFyIGJ1aWxkZGlyCkBA
IC04NjUzLDEyICs4NjUzLDEyIEBAIHdoZW4gdXNpbmcgdGhlIEBjb2Rle2dhNjh9IGNvbXBp
bGVyLgogCiBAZGVmbWFjIEFDX1BST0dfQTY4IChAb3Zhcntjb21waWxlci1zZWFyY2gtbGlz
dH0pCiBGaW5kIHRoZSBBbGdvbCA2OCBjb21waWxlciB0byB1c2UuICBDaGVjayB3aGV0aGVy
IHRoZSBlbnZpcm9ubWVudAotdmFyaWFibGUgQGNvZGV7QTY4fSBpcyBzZXQ7IGlmIHNvLCB0
aGVuIHNldCBvdXRwdXQgdmFyaWFibGUgQGNvZGV7QTY4fQordmFyaWFibGUgQGNvZGV7QTY4
Q30gaXMgc2V0OyBpZiBzbywgdGhlbiBzZXQgb3V0cHV0IHZhcmlhYmxlIEBjb2Rle0E2OEN9
CiB0byBpdHMgdmFsdWUuCiAKIE90aGVyd2lzZSwgaWYgdGhlIG1hY3JvIGlzIGludm9rZWQg
d2l0aG91dCBhbiBhcmd1bWVudCwgdGhlbiBzZWFyY2ggZm9yCiBhbiBBbGdvbCA2OCBjb21w
aWxlciBuYW1lZCBAY29kZXtnYTY4fS4gIElmIGl0IGlzIG5vdCBmb3VuZCwgdGhlbiBhcyBh
Ci1sYXN0IHJlc29ydCBzZXQgQGNvZGV7QTY4fSB0byBAY29kZXtnYTY4fS4KK2xhc3QgcmVz
b3J0IHNldCBAY29kZXtBNjhDfSB0byBAY29kZXtnYTY4fS4KIAogVGhpcyBtYWNybyBtYXkg
YmUgaW52b2tlZCB3aXRoIGFuIG9wdGlvbmFsIGZpcnN0IGFyZ3VtZW50IHdoaWNoLCBpZgog
c3BlY2lmaWVkLCBtdXN0IGJlIGEgYmxhbmstc2VwYXJhdGVkIGxpc3Qgb2YgQWxnb2wgNjgg
Y29tcGlsZXJzIHRvCkBAIC05MjIxLDcgKzkyMjEsNyBAQCBEbyBjb21waWxhdGlvbiB0ZXN0
cyB1c2luZyBAY29kZXtHT0N9IGFuZCB1c2UgZXh0ZW5zaW9uIEBmaWxley5nb30gZm9yCiB0
ZXN0IHByb2dyYW1zLiAgVXNlIGNvbXBpbGF0aW9uIGZsYWdzIEBjb2Rle0dPRkxBR1N9Lgog
CiBAaXRlbSBBbGdvbCA2OAotRG8gY29tcGlsYXRpb24gdGVzdHMgdXNpbmcgQGNvZGV7QTY4
fSBhbmQgdXNlIGV4dGVuc2lvbiBAZmlsZXsuYTY4fSBmb3IKK0RvIGNvbXBpbGF0aW9uIHRl
c3RzIHVzaW5nIEBjb2Rle0E2OEN9IGFuZCB1c2UgZXh0ZW5zaW9uIEBmaWxley5hNjh9IGZv
cgogdGVzdCBwcm9ncmFtcy4gIFVzZSBjb21waWxhdGlvbiBmbGFncyBAY29kZXtBNjhGTEFH
U30uCiBAZW5kIHRhYmxlCiBAZW5kIGRlZm1hYwpAQCAtOTQ3MCw5ICs5NDcwLDEwIEBAIG9u
IGEgc3lzdGVtIHdpdGggQGNvbW1hbmR7Z2NjfSBpbnN0YWxsZWQsIHJlc3VsdHMgaW46CiBj
b25zdCBjaGFyIGh3W10gPSAiSGVsbG8sIFdvcmxkXG4iOwogQGVuZCBleGFtcGxlCiAKLVdo
ZW4gdGhlIHRlc3QgbGFuZ3VhZ2UgaXMgRm9ydHJhbiwgRXJsYW5nLCBHbyBvciBBbGdvbCA2
OCwgdGhlCi1AY29kZXtBQ19ERUZJTkV9IGRlZmluaXRpb25zIGFyZSBub3QgYXV0b21hdGlj
YWxseSB0cmFuc2xhdGVkIGludG8KLWNvbnN0YW50cyBpbiB0aGUgc291cmNlIGNvZGUgYnkg
dGhpcyBtYWNyby4KK1doZW4gdGhlIHRlc3QgbGFuZ3VhZ2UgaXMgRm9ydHJhbiwgRXJsYW5n
LCBHbywgb3IgQWxnb2wgNjgsCit0aGUgQGNvZGV7QUNfREVGSU5FfQorZGVmaW5pdGlvbnMg
YXJlIG5vdCBhdXRvbWF0aWNhbGx5IHRyYW5zbGF0ZWQgaW50byBjb25zdGFudHMgaW4gdGhl
Citzb3VyY2UgY29kZSBieSB0aGlzIG1hY3JvLgogCiBAZGVmbWFjIEFDX0xBTkdfUFJPR1JB
TSAoQHZhcntwcm9sb2d1ZX0sIEB2YXJ7Ym9keX0pCiBAYWNpbmRleHtMQU5HX1BST0dSQU19
CmRpZmYgLS1naXQgYS9saWIvYXV0b2NvbmYvYTY4Lm00IGIvbGliL2F1dG9jb25mL2E2OC5t
NAppbmRleCAzMGQ4MzYyZS4uOGUzMzVmNmYgMTAwNjQ0Ci0tLSBhL2xpYi9hdXRvY29uZi9h
NjgubTQKKysrIGIvbGliL2F1dG9jb25mL2E2OC5tNApAQCAtMSw2ICsxLDYgQEAKICMgVGhp
cyBmaWxlIGlzIHBhcnQgb2YgQXV0b2NvbmYuICAgICAgICAgICAgICAgICAgICAgICAtKi0g
QXV0b2NvbmYgLSotCiAjIEFsZ29sIDY4IGxhbmd1YWdlIHN1cHBvcnQuCi0jIENvcHlyaWdo
dCAoQykgMjAyNSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KKyMgQ29weXJpZ2h0
IDIwMjUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCiAKICMgVGhpcyBmaWxlIGlz
IHBhcnQgb2YgQXV0b2NvbmYuICBUaGlzIHByb2dyYW0gaXMgZnJlZQogIyBzb2Z0d2FyZTsg
eW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeSBpdCB1bmRlciB0aGUKQEAg
LTI5LDI2ICsyOSwyNiBAQAogIyBMYW5ndWFnZSBzZWxlY3Rpb24uCiAjIC0tLS0tLS0tLS0t
LS0tLS0tLS0gIwogCi0jIEFDX0xBTkcoYTY4KQotIyAtLS0tLS0tLS0tLQotQUNfTEFOR19E
RUZJTkUoW0E2OF0sIFthNjhdLCBbQTY4XSwgW0E2OF0sIFtdLAorIyBBQ19MQU5HKEFsZ29s
IDY4KQorIyAtLS0tLS0tLS0tLS0tLS0tLQorQUNfTEFOR19ERUZJTkUoW0FsZ29sIDY4XSwg
W2E2OF0sIFtBNjhdLCBbQTY4Q10sIFtdLAogW2FjX2V4dD1hNjgKLWFjX2NvbXBpbGU9JyRB
NjggLWMgJEE2OEZMQUdTIGNvbmZ0ZXN0LiRhY19leHQgPiZBU19NRVNTQUdFX0xPR19GRCcK
LWFjX2xpbms9JyRBNjggLW8gY29uZnRlc3QkYWNfZXhlZXh0ICRBNjhGTEFHUyAkTERGTEFH
UyBjb25mdGVzdC4kYWNfZXh0ICRMSUJTID4mQVNfTUVTU0FHRV9MT0dfRkQnCithY19jb21w
aWxlPSckQTY4QyAtYyAkQTY4RkxBR1MgY29uZnRlc3QuJGFjX2V4dCA+JkFTX01FU1NBR0Vf
TE9HX0ZEJworYWNfbGluaz0nJEE2OEMgLW8gY29uZnRlc3QkYWNfZXhlZXh0ICRBNjhGTEFH
UyAkTERGTEFHUyBjb25mdGVzdC4kYWNfZXh0ICRMSUJTID4mQVNfTUVTU0FHRV9MT0dfRkQn
CiBhY19jb21waWxlcl9nbnU9eWVzCiBdKQogCiAjIEFDX0xBTkdfQTY4CiAjIC0tLS0tLS0t
LS0tCi1BVV9ERUZVTihbQUNfTEFOR19BNjhdLCBbQUNfTEFORyhBNjgpXSkKK0FVX0RFRlVO
KFtBQ19MQU5HX0E2OF0sIFtBQ19MQU5HKEFsZ29sIDY4KV0pCiAKICMgLS0tLS0tLS0tLS0t
LS0tLS0tLSAjCiAjIFByb2R1Y2luZyBwcm9ncmFtcy4KICMgLS0tLS0tLS0tLS0tLS0tLS0t
LSAjCiAKLSMgQUNfTEFOR19QUk9HUkFNKEE2OCkoW1BST0xPR1VFXSwgW0JPRFldKQotIyAt
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi1tNF9kZWZpbmUoW0FD
X0xBTkdfUFJPR1JBTShBNjgpXSwKKyMgQUNfTEFOR19QUk9HUkFNKEFsZ29sIDY4KShbUFJP
TE9HVUVdLCBbQk9EWV0pCisjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLQorbTRfZGVmaW5lKFtBQ19MQU5HX1BST0dSQU0oQWxnb2wgNjgpXSwKIFtQ
Uk9HUkFNCiAkMQogQkVHSU4KQEAgLTU2LDEwICs1NiwxMCBAQCAkMgogIDAKIEVORF0pCiAK
LSMgX0FDX0xBTkdfSU9fUFJPR1JBTShBNjgpCi0jIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LQorIyBfQUNfTEFOR19JT19QUk9HUkFNKEFsZ29sIDY4KQorIyAtLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLQogIyBQcm9kdWNlIHNvdXJjZSB0aGF0IHBlcmZvcm1zIEkvTy4KLW00
X2RlZmluZShbX0FDX0xBTkdfSU9fUFJPR1JBTShBNjgpXSwKK200X2RlZmluZShbX0FDX0xB
TkdfSU9fUFJPR1JBTShBbGdvbCA2OCldLAogW0FDX0xBTkdfUFJPR1JBTShbXSwKIFtJRiBJ
TlQgZmQgPSBmY3JlYXRlICgiY29uZnRlc3Qub3V0IiwgOHIwNzc3KTsgZmQgPSAtMQogIFRI
RU4gcGVycm9yICgiZXJyb3IgY3JlYXRpbmcgY29uZnRlc3Qub3V0IikKQEAgLTY3LDQxICs2
Nyw0MyBAQCBtNF9kZWZpbmUoW19BQ19MQU5HX0lPX1BST0dSQU0oQTY4KV0sCiAgRkk7CiBd
KV0pCiAKLSMgQUNfTEFOR19DQUxMKEE2OCkoUFJPTE9HVUUsIEZVTkNUSU9OKQotIyAtLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIEFDX0xBTkdfQ0FMTChBbGdv
bCA2OCkoUFJPTE9HVUUsIEZVTkNUSU9OKQorIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0KICMgQXZvaWQgY29uZmxpY3RpbmcgZGVjbCBvZiBtYWluLgot
bTRfZGVmaW5lKFtBQ19MQU5HX0NBTEwoQTY4KV0sCittNF9kZWZpbmUoW0FDX0xBTkdfQ0FM
TChBbGdvbCA2OCldLAogW0FDX0xBTkdfUFJPR1JBTShbXSxbXSldKQogCi0jIEFDX0xBTkdf
RlVOQ19MSU5LX1RSWShBNjgpKEZVTkNUSU9OKQotIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0KKyMgQUNfTEFOR19GVU5DX0xJTktfVFJZKEFsZ29sIDY4KShGVU5D
VElPTikKKyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICMg
VHJ5IHRvIGxpbmsgYSBwcm9ncmFtIHdoaWNoIGNhbGxzIEZVTkNUSU9OLgotbTRfZGVmaW5l
KFtBQ19MQU5HX0ZVTkNfTElOS19UUlkoQTY4KV0sCittNF9kZWZpbmUoW0FDX0xBTkdfRlVO
Q19MSU5LX1RSWShBbGdvbCA2OCldLAogW0FDX0xBTkdfUFJPR1JBTShbXSxbXSldKQogCi0j
IEFDX0xBTkdfQk9PTF9DT01QSUxFX1RSWShBNjgpKFBST0xPR1VFLCBFWFBSRVNTSU9OKQot
IyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0K
KyMgQUNfTEFOR19CT09MX0NPTVBJTEVfVFJZKEFsZ29sIDY4KShQUk9MT0dVRSwgRVhQUkVT
U0lPTikKKyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0KICMgUmV0dXJuIGEgcHJvZ3JhbSB3aGljaCBpcyB2YWxpZCBpZiBFWFBS
RVNTSU9OIGlzIG5vbnplcm8uCi1tNF9kZWZpbmUoW0FDX0xBTkdfQk9PTF9DT01QSUxFX1RS
WShBNjgpXSwKK200X2RlZmluZShbQUNfTEFOR19CT09MX0NPTVBJTEVfVFJZKEFsZ29sIDY4
KV0sCiBbQUNfTEFOR19QUk9HUkFNKFtdLCBbQDw6QCQyQDo+QElOVCB0ZXN0IG11bHRpcGxl
OwotICAgICAgICAgICAgICAgICAgICAgIDBdKV0pCisJCSAgICAgIDBdKV0pCiAKLSMgQUNf
TEFOR19JTlRfU0FWRShBNjgpKFBST0xPR1VFLCBFWFBSRVNTSU9OKQotIyAtLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLW00X2RlZmluZShbQUNfTEFOR19J
TlRfU0FWRShBNjgpXSwKKyMgQUNfTEFOR19JTlRfU0FWRShBbGdvbCA2OCkoUFJPTE9HVUUs
IEVYUFJFU1NJT04pCisjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLQorbTRfZGVmaW5lKFtBQ19MQU5HX0lOVF9TQVZFKEFsZ29sIDY4KV0sCiBb
QUNfTEFOR19QUk9HUkFNKFsKIFBST0MgaXRvYSA9IChJTlQgaSkgU1RSSU5HOgogICAgICAg
QkVHSU4gSUYgaSA9IDAKLSAgICAgICAgICAgIFRIRU4gIjAiCi0gICAgICAgICAgICBFTFNF
IElOVCBuIDo9IEFCUyBpOwotICAgICAgICAgICAgICAgICBTVFJJTkcgcmVzOwotICAgICAg
ICAgICAgICAgICBXSElMRSBuIC89IDAKLSAgICAgICAgICAgICAgICAgRE8gSU5UIHJlbSA9
IG4gJSogMTA7Ci0gICAgICAgICAgICAgICAgICAgIHJlcyA6PSBSRVBSIChyZW0gPiA5IHwg
KHJlbSAtIDEwKSArIEFCUyAiYSIgfCByZW0gKyBBQlMgIjAiKSArIHJlczsKLSAgICAgICAg
ICAgICAgICAgICAgbiAlOj0gMTAKLSAgICAgICAgICAgICAgICAgT0Q7Ci0gICAgICAgICAg
ICAgICAgIChpIDwgMCB8ICItIiArIHJlcyB8IHJlcykKLSAgICAgICAgICAgIEZJCisJICAg
IFRIRU4gIjAiCisJICAgIEVMU0UgSU5UIG4gOj0gQUJTIGk7CisJCSBTVFJJTkcgcmVzOwor
CQkgV0hJTEUgbiAvPSAwCisJCSBETyBJTlQgcmVtID0gbiAlKiAxMDsKKwkJICAgIHJlcyA6
PSAoUkVQUiAocmVtID4gOSB8IChyZW0gLSAxMCkgKyBBQlMgImEiCisJCQkJICB8IHJlbSAr
IEFCUyAiMCIpCisJCQkgICAgKyByZXMpOworCQkgICAgbiAlOj0gMTAKKwkJIE9EOworCQkg
KGkgPCAwIHwgIi0iICsgcmVzIHwgcmVzKQorCSAgICBGSQogICAgICAgRU5EOwogCiBJTlQg
cmV0IDo9IDA7CkBAIC0xMTYsMzAgKzExOCwzMCBAQCBzdG9wOgogIyBMb29raW5nIGZvciBj
b21waWxlcnMuICMKICMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAjCiAKLSMgQUNfTEFOR19D
T01QSUxFUihBNjgpCi0jIC0tLS0tLS0tLS0tLS0tLS0tLS0tLQotQUNfREVGVU4oW0FDX0xB
TkdfQ09NUElMRVIoQTY4KV0sCi1bQUNfUkVRVUlSRShbQUNfUFJPR19BNjhdKV0pCi0KLSMg
QUNfUFJPR19BNjgKLSMgLS0tLS0tLS0tLS0KLUFOX01BS0VWQVIoW0E2OF0sIFtBQ19QUk9H
X0E2OF0pCi1BTl9QUk9HUkFNKFtnYTY4XSwgW0FDX1BST0dfQTY4XSkKLUFDX0RFRlVOKFtB
Q19QUk9HX0E2OF0sCi1bQUNfTEFOR19QVVNIKEE2OClkbmwKLUFDX0FSR19WQVIoW0E2OF0s
ICAgW0FsZ29sIDY4IGNvbXBpbGVyIGNvbW1hbmRdKWRubAorIyBBQ19MQU5HX0NPTVBJTEVS
KEFsZ29sIDY4KQorIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorQUNfREVGVU4oW0FD
X0xBTkdfQ09NUElMRVIoQWxnb2wgNjgpXSwKK1tBQ19SRVFVSVJFKFtBQ19QUk9HX0E2OENd
KV0pCisKKyMgQUNfUFJPR19BNjhDCisjIC0tLS0tLS0tLS0tLQorQU5fTUFLRVZBUihbQTY4
Q10sIFtBQ19QUk9HX0E2OENdKQorQU5fUFJPR1JBTShbZ2E2OF0sIFtBQ19QUk9HX0E2OENd
KQorQUNfREVGVU4oW0FDX1BST0dfQTY4Q10sCitbQUNfTEFOR19QVVNIKEFsZ29sIDY4KWRu
bAorQUNfQVJHX1ZBUihbQTY4Q10sIFtBbGdvbCA2OCBjb21waWxlciBjb21tYW5kXSlkbmwK
IEFDX0FSR19WQVIoW0E2OEZMQUdTXSwgW0FsZ29sIDY4IGNvbXBpbGVyIGZsYWdzXSlkbmwK
IF9BQ19BUkdfVkFSX0xERkxBR1MoKWRubAogbTRfaWZ2YWwoWyQxXSwKLSAgICAgIFtBQ19D
SEVDS19UT09MUyhBNjgsIFskMV0pXSwKLVtBQ19DSEVDS19UT09MKEE2OCwgZ2E2OCkKLWlm
IHRlc3QgLXogIiRBNjgiOyB0aGVuCisgICAgICBbQUNfQ0hFQ0tfVE9PTFMoQTY4QywgWyQx
XSldLAorW0FDX0NIRUNLX1RPT0woQTY4QywgZ2E2OCkKK2lmIHRlc3QgLXogIiRBNjhDIjsg
dGhlbgogICBpZiB0ZXN0IC1uICIkYWNfdG9vbF9wcmVmaXgiOyB0aGVuCi0gICAgQUNfQ0hF
Q0tfUFJPRyhBNjgsIFske2FjX3Rvb2xfcHJlZml4fWdhNjhdLCBbJGFjX3Rvb2xfcHJlZml4
fWdhNjhdKQorICAgIEFDX0NIRUNLX1BST0coQTY4QywgWyR7YWNfdG9vbF9wcmVmaXh9Z2E2
OF0sIFskYWNfdG9vbF9wcmVmaXh9Z2E2OF0pCiAgIGZpCiBmaQotaWYgdGVzdCAteiAiJEE2
OCI7IHRoZW4KLSAgQUNfQ0hFQ0tfUFJPRyhBNjgsIGdhNjgsIGdhNjgsICwgLCBmYWxzZSkK
K2lmIHRlc3QgLXogIiRBNjhDIjsgdGhlbgorICBBQ19DSEVDS19QUk9HKEE2OEMsIGdhNjgs
IGdhNjgsICwgLCBmYWxzZSkKIGZpCiBdKQogCkBAIC0xNTEsNSArMTUzLDUgQEAgX0FDX0RP
X0xJTUlUKFskYWNfY29tcGlsZXIgLS12ZXJzaW9uID4mQVNfTUVTU0FHRV9MT0dfRkRdKQog
bTRfZXhwYW5kX29uY2UoW19BQ19DT01QSUxFUl9FWEVFWFRdKVtdZG5sCiBtNF9leHBhbmRf
b25jZShbX0FDX0NPTVBJTEVSX09CSkVYVF0pW11kbmwKIEE2OEZMQUdTPSItZyAtTzIiCi1B
Q19MQU5HX1BPUChBNjgpZG5sCi1dKSMgQUNfUFJPR19BNjgKK0FDX0xBTkdfUE9QKEFsZ29s
IDY4KWRubAorXSkjIEFDX1BST0dfQTY4QwpkaWZmIC0tZ2l0IGEvbGliL2ZyZWV6ZS5tayBi
L2xpYi9mcmVlemUubWsKaW5kZXggZTY1YzEyOGEuLjk1MzUzMDZmIDEwMDY0NAotLS0gYS9s
aWIvZnJlZXplLm1rCisrKyBiL2xpYi9mcmVlemUubWsKQEAgLTg5LDcgKzg5LDcgQEAgYXV0
b2NvbmZfbTRmX2RlcGVuZGVuY2llcyA9CQkJXAogCSQoc3JjX2xpYmRpcikvYXV0b2NvbmYv
Zm9ydHJhbi5tNAlcCiAJJChzcmNfbGliZGlyKS9hdXRvY29uZi9lcmxhbmcubTQJXAogCSQo
c3JjX2xpYmRpcikvYXV0b2NvbmYvZ28ubTQJCVwKLSAgICAgICAgJChzcmNfbGliZGlyKS9h
dXRvY29uZi9hNjgubTQgICAgICAgICAgIFwKKwkkKHNyY19saWJkaXIpL2F1dG9jb25mL2E2
OC5tNAkJXAogCSQoc3JjX2xpYmRpcikvYXV0b2NvbmYvZnVuY3Rpb25zLm00CVwKIAkkKHNy
Y19saWJkaXIpL2F1dG9jb25mL2hlYWRlcnMubTQJXAogCSQoc3JjX2xpYmRpcikvYXV0b2Nv
bmYvdHlwZXMubTQJCVwKZGlmZiAtLWdpdCBhL3Rlc3RzL2E2OC5hdCBiL3Rlc3RzL2E2OC5h
dAppbmRleCBiOTliNTBkMi4uZTlhYzAwZmMgMTAwNjQ0Ci0tLSBhL3Rlc3RzL2E2OC5hdAor
KysgYi90ZXN0cy9hNjguYXQKQEAgLTI3LDcgKzI3LDcgQEAgQVRfQkFOTkVSKFtBbGdvbCA2
OCBsb3cgbGV2ZWwgY29tcGlsaW5nIGFuZCB1dGlsaXR5IG1hY3Jvcy5dKQogIyMgQWxnb2wg
NjggQ29tcGlsZXIuICAjIwogIyMgLS0tLS0tLS0tLS0tLS0tLS0tLSAjIwogCi1BVF9DSEVD
S19NQUNSTyhbQTY4XSwKLVtbQUNfTEFORyhBNjgpCitBVF9DSEVDS19NQUNSTyhbQWxnb2wg
NjhdLAorW1tBQ19MQU5HKEFsZ29sIDY4KQogQUNfTEFOR19DT01QSUxFUgogXV0pCi0tIAoy
LjQ4LjEKCg==

--------------1S0AcrFqPlLmWnO5KeT2sfQo--