Re: master: Perform local common subexpression elimination for some memory loads

Stas Boukarev <[email protected]> Tue, 4 Aug 2026 17:55:28 +0300
Newsgroups gmane.lisp.steel-bank.cvs,gmane.lisp.steel-bank.devel
Message-ID <CAF63=11iVp1yqOah06dbGHO7mNjnRhRLDu3g2s8jEj_y3tDBLg@mail.gmail.com>
KGRlZnVuIHRlc3QgKHkgbGlzdCkKICAoZGVjbGFyZSAob3B0aW1pemUgKGRlYnVnIDEpKSkKICAo
bGV0ICgoeSAoMSsgeSkpKQogICAgKHZhbHVlcyB5IHkKICAgICAgICAgICAgKGxldCAoKGl0ZW0g
KGNhciBsaXN0KSkpCiAgICAgICAgICAgICAgKGFkam9pbiBpdGVtIChjYXIgbGlzdCkgOnRlc3Qg
J2VxdWFsKSkpKSkKPT4KOyBjYXVnaHQgV0FSTklORzoKOyAgIFRoZSBmdW5jdGlvbiBFUVVBTCBp
cyBjYWxsZWQgYnkgQURKT0lOIHdpdGggKE5JTCBUKSBidXQgaXQgYWNjZXB0cyAoVCBUKS4KCk9u
IFR1ZSwgQXVnIDQsIDIwMjYgYXQgNzoxN+KAr0FNIFN0YXMgQm91a2FyZXYgPHN0YXNzYXRzQGdt
YWlsLmNvbT4gd3JvdGU6Cj4KPiAoZGVmdW4gajIgKHggbikKPiAgIChkZWNsYXJlIChvcHRpbWl6
ZSAoZGVidWcgMCkpKQo+ICAgKGxldCAoKHkgKDErIHgpKSkKPiAgICAgKGxpc3QgKDErIChjYXIg
bikpCj4gICAgICAgICAgIChjYXIgbikKPiAgICAgICAgICAgKGNkciBuKQo+ICAgICAgICAgICB5
IHkpKSkKPiBpbmNyZWFzZXMgc3RhY2sgdXNhZ2UgZHVlIHRvIGhhdmluZyB0byBzYXZlIHRoZSBu
ZXcgc2hhcmVkIHZhcmlhYmxlIG9uCj4gdGhlIHN0YWNrLgo+Cj4gT24gVHVlLCBBdWcgNCwgMjAy
NiBhdCA3OjA04oCvQU0gU3RhcyBCb3VrYXJldiA8c3Rhc3NhdHNAZ21haWwuY29tPiB3cm90ZToK
PiA+Cj4gPiAoZGVmdW4gayAoeCBuKQo+ID4gICAobGV0ICgoeSAoMSsgeCkpKQo+ID4gICAgICh2
YWx1ZXMgeSB5Cj4gPiAgICAgICAgICAgICAoZXEgKGNhciAoY29weS10cmVlIG4pKQo+ID4gICAg
ICAgICAgICAgICAgIChjYXIgKGNvcHktdHJlZSBuKSkpKSkpCj4gPiA9Pgo+ID4gKGsgMSAnKCgx
KSkpCj4gPiA9Pgo+ID4gMgo+ID4gMgo+ID4gVAo+ID4KPiA+IE9uIFR1ZSwgQXVnIDQsIDIwMjYg
YXQgNjo0N+KAr0FNIFN0YXMgQm91a2FyZXYgPHN0YXNzYXRzQGdtYWlsLmNvbT4gd3JvdGU6Cj4g
PiA+Cj4gPiA+IChkZWZ1biBqICh4KQo+ID4gPiAgIChsZXQgKCh5ICgxKyB4KSkpCj4gPiA+ICAg
ICAodmFsdWVzIHkgeQo+ID4gPiAgICAgICAgICAgICAoY2FyICopCj4gPiA+ICAgICAgICAgICAg
IChzZXRmICogJyhiKSkKPiA+ID4gICAgICAgICAgICAgKGNhciAqKSkpKQo+ID4gPiAobGV0ICgo
KiAnKGEpKSkgKGogMSkpCj4gPiA+ID0+Cj4gPiA+IDIKPiA+ID4gMgo+ID4gPiBBCj4gPiA+IChC
KQo+ID4gPiBBCj4gPiA+Cj4gPiA+IE9uIFR1ZSwgQXVnIDQsIDIwMjYgYXQgNDoyMuKAr0FNIFN0
YXMgQm91a2FyZXYgPHN0YXNzYXRzQGdtYWlsLmNvbT4gd3JvdGU6Cj4gPiA+ID4KPiA+ID4gPiAo
ZGVmc3RydWN0IHMKPiA+ID4gPiAgICh4IChtYWtlLWFycmF5IDMpKSkKPiA+ID4gPgo+ID4gPiA+
IChsZXQgKCopCj4gPiA+ID4gICAobGFtYmRhICgpCj4gPiA+ID4gICAgIChsZXQqICgocyAjLiht
YWtlLXMpKQo+ID4gPiA+ICAgICAgICAgICAgKGEgKHMteCBzKSkKPiA+ID4gPiAgICAgICAgICAg
IChiIChzLXggcykpKQo+ID4gPiA+ICAgICAgICh2YWx1ZXMgKGFyZWYgYSAwKQo+ID4gPiA+ICAg
ICAgICAgICAgICAgKGFyZWYgYiAwKSkpKSkKPiA+ID4gPgo+ID4gPiA+Cj4gPiA+ID4gZGVidWdn
ZXIgaW52b2tlZCBvbiBhIFNCLUlOVDpCVUcgQEI4MDA3Qjg1QUQgaW4gdGhyZWFkCj4gPiA+ID4g
IzxUSFJFQUQgdGlkPTE5ODY0MDIgIm1haW4gdGhyZWFkIiBSVU5OSU5HIHsxMjAxNEYwMDAzfT46
Cj4gPiA+ID4gICAgIGZhaWxlZCBBVkVSOiAoRVEgRU5WIChMQU1CREEtRU5WSVJPTk1FTlQgKExB
TUJEQS1WQVItSE9NRSBUSElORykpKQo+ID4gPiA+Cj4gPiA+ID4gT24gVHVlLCBBdWcgNCwgMjAy
NiBhdCAzOjU54oCvQU0gc251Z2xhcyB2aWEgU2JjbC1jb21taXRzCj4gPiA+ID4gPHNiY2wtY29t
bWl0c0BsaXN0cy5zb3VyY2Vmb3JnZS5uZXQ+IHdyb3RlOgo+ID4gPiA+ID4KPiA+ID4gPiA+IFRo
ZSBicmFuY2ggIm1hc3RlciIgaGFzIGJlZW4gdXBkYXRlZCBpbiBTQkNMOgo+ID4gPiA+ID4gICAg
ICAgIHZpYSAgMTAwYzljMmJkY2RjYjg0ZmYwNGM4ZmVlZjk4M2E1YjQ0Njk1Yzk3YSAoY29tbWl0
KQo+ID4gPiA+ID4gICAgICAgZnJvbSAgYjU0MWYyZjI1YjE0YjYyZmNhYjdlMTRhYTUxMjRkYjVk
ZDFkNmIyMCAoY29tbWl0KQo+ID4gPiA+ID4KPiA+ID4gPiA+IC0gTG9nIC0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCj4gPiA+
ID4gPiBjb21taXQgMTAwYzljMmJkY2RjYjg0ZmYwNGM4ZmVlZjk4M2E1YjQ0Njk1Yzk3YQo+ID4g
PiA+ID4gQXV0aG9yOiBEb3VnbGFzIEthdHptYW4gPGRvdWdrQGdvb2dsZS5jb20+Cj4gPiA+ID4g
PiBEYXRlOiAgIFR1ZSBBdWcgNCAwMDo1ODoyMSAyMDI2ICswMDAwCj4gPiA+ID4gPgo+ID4gPiA+
ID4gICAgIFBlcmZvcm0gbG9jYWwgY29tbW9uIHN1YmV4cHJlc3Npb24gZWxpbWluYXRpb24gZm9y
IHNvbWUgbWVtb3J5IGxvYWRzCj4gPiA+ID4gPgo+ID4gPiA+ID4gICAgIFRoZSB0ZWNobmlxdWUg
aXMgdG8gZmluZCAiZXF1aXZhbGVudCIgbG9hZHMgaW4gYmV0d2VlbiB3aGljaCB0aGVyZSBpcyBu
bwo+ID4gPiA+ID4gICAgIGNvbXB1dGF0aW9uIHRoYXQgYWZmZWN0cyB0aGUgcmVzdWx0IG9mIHRo
ZSBsb2FkLiBBbHNvIGl0IG5lZWRzIGEgc3Vycm91bmRpbmcKPiA+ID4gPiA+ICAgICBMRVQsIHdo
aWNoIGlzIGF1Z21lbnRlZCB3aXRoIGEgbmV3IHRlbXAgdmFyaWFibGUgYXMgaWYgdGhlIHVzZXIg
ZGlkIHRoYXQuCj4gPiA+ID4gPiAgICAgVGhpcyBpcyBzbGlnaHRseSBkZWZpY2llbnQgZm9yIHZh
cmlvdXMgcmVhc29uczoKPiA+ID4gPiA+ICAgICAxLiBpdCB3b24ndCBkbyBhbnl0aGluZyB3aXRo
b3V0IHRoZSBMRVQKPiA+ID4gPiA+ICAgICAyLiB0aGUgbW9yZSBraW5kcyBvZiBjb21tb24gc3Vi
ZXhwcmVzc2lvbnMgd2UgYWxsb3cgKHN1Y2ggYXMgbWF0aCksCj4gPiA+ID4gPiAgICAgICAgdGhl
IHNsb3dlciBJUjEtT1BUSU1JWkUtQ09NQklOQVRJT04gaXMgZ29pbmcgdG8gcnVuCj4gPiA+ID4g
PiAgICAgMy4gdGhlcmUgYXJlIHBvc3NpYmx5IG90aGVyIG5vZGUgdHlwZXMgdGhhdCBzaG91bGQg
YmUgYWxsb3dlZCB0byBpbnRlcnZlbmUKPiA+ID4gPiA+Cj4gPiA+ID4gPiAgICAgT24gdGhlIHBs
dXMgc2lkZSwgaXQncyBub3QgYWxsIHRoYXQgaGFyZCB0byBleHRlbmQgdGhlIGxvZ2ljIHRvIGFj
Y2VwdAo+ID4gPiA+ID4gICAgIG90aGVyIGZ1bmN0aW9ucyBhcyBwYXJ0aWNpcGFudHMgaW4gY29t
bW9uIHN1YmV4cHJlc3Npb25zLgo+ID4gPiA+ID4KPiA+ID4gPiA+ICAgICBBbGwgdGVzdCBjYXNl
cyBwbHVzIGEgbGl0dGxlIGJpdCBvZiBhc3Npc3RhbmNlIGZyb20gR2VtaW5pCj4gPiA+ID4gPiAt
LS0KPiA+ID4gPiA+ICBzcmMvY29tcGlsZXIvaXIxb3B0Lmxpc3AgfCAxNzkgKysrKysrKysrKysr
KysrKysrKysrKysrKysrKysrKysrKysrCj4gPiA+ID4gPiAgdGVzdHMvbGNzZS5wdXJlLmxpc3Ag
ICAgIHwgMjM0ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr
Cj4gPiA+ID4gPiAgeHBlcmZlY3RoYXNoMzAubGlzcC1leHByIHwgICAzICsKPiA+ID4gPiA+ICB4
cGVyZmVjdGhhc2g2MS5saXNwLWV4cHIgfCAgIDMgKwo+ID4gPiA+ID4gIHhwZXJmZWN0aGFzaDYz
Lmxpc3AtZXhwciB8ICAgMyArCj4gPiA+ID4gPiAgNSBmaWxlcyBjaGFuZ2VkLCA0MjIgaW5zZXJ0
aW9ucygrKQo+ID4gPiA+ID4KPiA+ID4gPiA+IGRpZmYgLS1naXQgYS9zcmMvY29tcGlsZXIvaXIx
b3B0Lmxpc3AgYi9zcmMvY29tcGlsZXIvaXIxb3B0Lmxpc3AKPiA+ID4gPiA+IGluZGV4IDg1NTk4
MjRmMS4uZGFjMzkzZTMxIDEwMDY0NAo+ID4gPiA+ID4gLS0tIGEvc3JjL2NvbXBpbGVyL2lyMW9w
dC5saXNwCj4gPiA+ID4gPiArKysgYi9zcmMvY29tcGlsZXIvaXIxb3B0Lmxpc3AKPiA+ID4gPiA+
IEBAIC0xMjIwLDYgKzEyMjAsMTgyIEBACj4gPiA+ID4gPiAgICAgICAgICAgICAgKHNob3ctdHlw
ZS1kZXJpdmF0aW9uIGNvbWJpbmF0aW9uIHJlcykpCj4gPiA+ID4gPiAgICAgICAgICAgIChjb2Vy
Y2UtdG8tdmFsdWVzIHJlcykpKSkpKQo+ID4gPiA+ID4KPiA+ID4gPiA+ICsoZGVmdW4gY29sbGVj
dC1sdmFyLXZhcnMgKGx2YXIpCj4gPiA+ID4gPiArICAoZGVjbGFyZSAodHlwZSBsdmFyIGx2YXIp
KQo+ID4gPiA+ID4gKyAgKGxldCAoKHVzZSAocHJpbmNpcGFsLWx2YXItdXNlIGx2YXIpKSkKPiA+
ID4gPiA+ICsgICAgKGNvbmQgKChyZWYtcCB1c2UpCj4gPiA+ID4gPiArICAgICAgICAgICAobGV0
ICgobGVhZiAocmVmLWxlYWYgdXNlKSkpCj4gPiA+ID4gPiArICAgICAgICAgICAgICh3aGVuIChs
YW1iZGEtdmFyLXAgbGVhZikKPiA+ID4gPiA+ICsgICAgICAgICAgICAgICAobGlzdCBsZWFmKSkp
KQo+ID4gPiA+ID4gKyAgICAgICAgICAoKGNvbWJpbmF0aW9uLXAgdXNlKQo+ID4gPiA+ID4gKyAg
ICAgICAgICAgKG1hcGNhbiAjJ2NvbGxlY3QtbHZhci12YXJzIChiYXNpYy1jb21iaW5hdGlvbi1h
cmdzIHVzZSkpKQo+ID4gPiA+ID4gKyAgICAgICAgICAodCBuaWwpKSkpCj4gPiA+ID4gPiArCj4g
PiA+ID4gPiArKGRlZnVuIGZpbmQtYWN0aXZlLWxldC1sYW1iZGEgKG5vZGUpCj4gPiA+ID4gPiAr
ICAoZGVjbGFyZSAodHlwZSBub2RlIG5vZGUpKQo+ID4gPiA+ID4gKyAgKGxvb3AgZm9yIGVudiA9
IChub2RlLWxleGVudiBub2RlKSB0aGVuIChsZXhlbnYtcGFyZW50IGVudikKPiA+ID4gPiA+ICsg
ICAgICAgIHdoaWxlIGVudgo+ID4gPiA+ID4gKyAgICAgICAgZG8gKGxldCAoKGwgKGxleGVudi1s
YW1iZGEgZW52KSkpCj4gPiA+ID4gPiArICAgICAgICAgICAgICh3aGVuIChhbmQgbAo+ID4gPiA+
ID4gKyAgICAgICAgICAgICAgICAgICAgICAgIChmdW5jdGlvbmFsLWtpbmQtZXEgbCBsZXQpCj4g
PiA+ID4gPiArICAgICAgICAgICAgICAgICAgICAgICAgKG5vdCAoZnVuY3Rpb25hbC1raW5kLWVx
IGwgem9tYmllKSkpCj4gPiA+ID4gPiArICAgICAgICAgICAgICAgKHJldHVybiBsKSkpKSkKPiA+
ID4gPiA+ICsKPiA+ID4gPiA+ICsoZGVmdW4gYWRkLXZhcmlhYmxlLXRvLWxldC1sYW1iZGEgKGxl
dC1sYW1iZGEgdikKPiA+ID4gPiA+ICsgIChkZWNsYXJlICh0eXBlIGNsYW1iZGEgbGV0LWxhbWJk
YSkKPiA+ID4gPiA+ICsgICAgICAgICAgICh0eXBlIGxhbWJkYS12YXIgdikpCj4gPiA+ID4gPiAr
ICAoc2V0ZiAobGFtYmRhLXZhci1ob21lIHYpIGxldC1sYW1iZGEpCj4gPiA+ID4gPiArICAoc2V0
ZiAobGFtYmRhLXZhcnMgbGV0LWxhbWJkYSkgKGFwcGVuZCAobGFtYmRhLXZhcnMgbGV0LWxhbWJk
YSkgKGxpc3QgdikpKQo+ID4gPiA+ID4gKyAgOzsgVXBkYXRlIHRoZSBjYWxsIHRvIHRoZSBMRVQg
bGFtYmRhCj4gPiA+ID4gPiArICAobGV0KiAoKHJlZiAoY2FyIChsZWFmLXJlZnMgbGV0LWxhbWJk
YSkpKQo+ID4gPiA+ID4gKyAgICAgICAgIChjYWxsIChhbmQgcmVmCj4gPiA+ID4gPiArICAgICAg
ICAgICAgICAgICAgICAobm9kZS1sdmFyIHJlZikKPiA+ID4gPiA+ICsgICAgICAgICAgICAgICAg
ICAgIChsdmFyLWRlc3QgKG5vZGUtbHZhciByZWYpKSkpKQo+ID4gPiA+ID4gKyAgICAod2hlbiAo
YW5kIGNhbGwgKGNvbWJpbmF0aW9uLXAgY2FsbCkpCj4gPiA+ID4gPiArICAgICAgKGxldCAoKGR1
bW15LWx2YXIgKG1ha2UtbHZhcikpKQo+ID4gPiA+ID4gKyAgICAgICAgKHNldGYgKGx2YXItZGVz
dCBkdW1teS1sdmFyKSBjYWxsKQo+ID4gPiA+ID4gKyAgICAgICAgKHNldGYgKGJhc2ljLWNvbWJp
bmF0aW9uLWFyZ3MgY2FsbCkKPiA+ID4gPiA+ICsgICAgICAgICAgICAgIChhcHBlbmQgKGJhc2lj
LWNvbWJpbmF0aW9uLWFyZ3MgY2FsbCkgKGxpc3QgZHVtbXktbHZhcikpKQo+ID4gPiA+ID4gKyAg
ICAgICAgKHNldGYgKGx2YXItZGVzdCBkdW1teS1sdmFyKSBjYWxsKSkpKSkKPiA+ID4gPiA+ICsK
PiA+ID4gPiA+ICs7OyBSZXVzZSBvZiBTWU1CT0wtVkFMVUUgb2YgYSBzcGVjaWFsIHZhciB3b3Vs
ZCBiZSBuaWNlLAo+ID4gPiA+ID4gKzs7IGJ1dCBTWU1CT0wtVkFMVUUgaXQgaXMgbm90IHJlcHJl
c2VudGVkIGFzIGEgY2FsbCBpbiBJUjEKPiA+ID4gPiA+ICsoZGVmaW5lLWxvYWQtdGltZS1nbG9i
YWwgKmVsaWRhYmxlLW1lbW9yeS1sb2FkcyoKPiA+ID4gPiA+ICsgICAgJyhjYXIgY2RyICVpbnN0
YW5jZS1yZWYgJXJhdy1pbnN0YW5jZS1yZWYvd29yZCAlcmF3LWluc3RhbmNlLXJlZi9zaWduZWQt
d29yZAo+ID4gPiA+ID4gKyAgICAgIHNhcC1yZWYtMTYgc2lnbmVkLXNhcC1yZWYtMTYgc2Itc3lz
Ojolc2FwLXJlZi0xNi1pbmRleGVkIHNiLXN5czo6JXNpZ25lZC1zYXAtcmVmLTE2LWluZGV4ZWQK
PiA+ID4gPiA+ICsgICAgICBzYXAtcmVmLTMyIHNpZ25lZC1zYXAtcmVmLTMyIHNiLXN5czo6JXNh
cC1yZWYtMzItaW5kZXhlZCBzYi1zeXM6OiVzaWduZWQtc2FwLXJlZi0zMi1pbmRleGVkCj4gPiA+
ID4gPiArICAgICAgc2FwLXJlZi02NCBzaWduZWQtc2FwLXJlZi02NCBzYi1zeXM6OiVzYXAtcmVm
LTY0LWluZGV4ZWQgc2Itc3lzOjolc2lnbmVkLXNhcC1yZWYtNjQtaW5kZXhlZAo+ID4gPiA+ID4g
KyAgICAgIHNiLWFsaWVuOmRlcmVmCj4gPiA+ID4gPiArICAgICAgc2ItYWxpZW46YWxpZW4tc2Fw
KSkKPiA+ID4gPiA+ICsKPiA+ID4gPiA+ICs7OzsgTG9vayBmb3IgYW55IG5vZGUgZXF1aXZhbGVu
dCB0byBNQVRDSCBjb25zZGVyaW5nIG5vZGVzIGluIHJldmVyc2Ugc3RhcnRpbmcgYXQgRlJPTS4K
PiA+ID4gPiA+ICs7OzsgTWVtb3J5IGxvYWRzIGZyb20gdGhlIHNhbWUgb2JqZWN0K3Nsb3Qgb3Ig
U0FQK29mZnNldCBjb3VsZCBiZSBlcXVpdmFsZW50Lgo+ID4gPiA+ID4gKzs7OyBOb3RoaW5nIGVs
c2UgY2FuIGJlIGVxdWl2YWxlbnQgKHVudGlsIEkgZW5oYW5jZSB0aGlzKQo+ID4gPiA+ID4gKyhk
ZWZ1biBmaW5kLWVxdWl2YWxlbnQtbm9kZS1iYWNrd2FyZHMgKG1hdGNoIGZyb20pCj4gPiA+ID4g
PiArICAobGFiZWxzICgobHZhci1lcXVpdmFsZW50LXAgKGwxIGwyKQo+ID4gPiA+ID4gKyAgICAg
ICAgICAgICAoZGVjbGFyZSAodHlwZSBsdmFyIGwxIGwyKSkKPiA+ID4gPiA+ICsgICAgICAgICAg
ICAgKGNvbmQgKChlcSBsMSBsMikgdCkKPiA+ID4gPiA+ICsgICAgICAgICAgICAgICAgICAgKChh
bmQgKGNvbnN0YW50LWx2YXItcCBsMSkgKGNvbnN0YW50LWx2YXItcCBsMikpCj4gPiA+ID4gPiAr
ICAgICAgICAgICAgICAgICAgICAoZXFsIChsdmFyLXZhbHVlIGwxKSAobHZhci12YWx1ZSBsMikp
KQo+ID4gPiA+ID4gKyAgICAgICAgICAgICAgICAgICAodAo+ID4gPiA+ID4gKyAgICAgICAgICAg
ICAgICAgICAgKGxldCAoKHUxIChwcmluY2lwYWwtbHZhci11c2UgbDEpKQo+ID4gPiA+ID4gKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgKHUyIChwcmluY2lwYWwtbHZhci11c2UgbDIpKSkKPiA+
ID4gPiA+ICsgICAgICAgICAgICAgICAgICAgICAgKGNvbmQgKChhbmQgKHJlZi1wIHUxKSAocmVm
LXAgdTIpKQo+ID4gPiA+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGVxIChyZWYt
bGVhZiB1MSkgKHJlZi1sZWFmIHUyKSkpCj4gPiA+ID4gPiArICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICgoYW5kIChjb21iaW5hdGlvbi1wIHUxKSAoY29tYmluYXRpb24tcCB1MikKPiA+ID4g
PiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGVxIChiYXNpYy1jb21iaW5h
dGlvbi1raW5kIHUxKSA6a25vd24pCj4gPiA+ID4gPiArICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIChlcSAoYmFzaWMtY29tYmluYXRpb24ta2luZCB1MikgOmtub3duKSkKPiA+ID4g
PiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjb21iaW5hdGlvbi1lcXVpdmFsZW50
LXAgdTEgdTIpKQo+ID4gPiA+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAodCBuaWwp
KSkpKSkKPiA+ID4gPiA+ICsgICAgICAgICAgIChjb21iaW5hdGlvbi1lcXVpdmFsZW50LXAgKGMx
IGMyKQo+ID4gPiA+ID4gKyAgICAgICAgICAgICAoZGVjbGFyZSAodHlwZSBjb21iaW5hdGlvbiBj
MSBjMikpCj4gPiA+ID4gPiArICAgICAgICAgICAgIChhbmQgKGVxIChiYXNpYy1jb21iaW5hdGlv
bi1mdW4taW5mbyBjMSkgKGJhc2ljLWNvbWJpbmF0aW9uLWZ1bi1pbmZvIGMyKSkKPiA+ID4gPiA+
ICsgICAgICAgICAgICAgICAgICAobGV0ICgoYXJnczEgKGJhc2ljLWNvbWJpbmF0aW9uLWFyZ3Mg
YzEpKQo+ID4gPiA+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgIChhcmdzMiAoYmFzaWMtY29t
YmluYXRpb24tYXJncyBjMikpKQo+ID4gPiA+ID4gKyAgICAgICAgICAgICAgICAgICAgKGFuZCAo
PSAobGVuZ3RoIGFyZ3MxKSAobGVuZ3RoIGFyZ3MyKSkKPiA+ID4gPiA+ICsgICAgICAgICAgICAg
ICAgICAgICAgICAgKGV2ZXJ5ICMnbHZhci1lcXVpdmFsZW50LXAgYXJnczEgYXJnczIpKSkpKSkK
PiA+ID4gPiA+ICsgICAgKGRvICgobm9kZSBmcm9tIChjdHJhbi11c2UgKG5vZGUtcHJldiBub2Rl
KSkpKSAoKG51bGwgbm9kZSkpCj4gPiA+ID4gPiArICAgICAgKHdoZW4gKGFuZCAoY29tYmluYXRp
b24tcCBub2RlKQo+ID4gPiA+ID4gKyAgICAgICAgICAgICAgICAgKGVxIChjb21iaW5hdGlvbi1r
aW5kIG5vZGUpIDprbm93bikKPiA+ID4gPiA+ICsgICAgICAgICAgICAgICAgIChub2RlLWx2YXIg
bm9kZSkKPiA+ID4gPiA+ICsgICAgICAgICAgICAgICAgIChjb21iaW5hdGlvbi1lcXVpdmFsZW50
LXAgbm9kZSBtYXRjaCkpCj4gPiA+ID4gPiArICAgICAgICAocmV0dXJuIG5vZGUpKQo+ID4gPiA+
ID4gKyAgICAgICh0eXBlY2FzZSBub2RlCj4gPiA+ID4gPiArICAgICAgICAoKG9yIGNzZXQgcmVm
IGNhc3QgY29tYmluYXRpb24gY2lmKSkKPiA+ID4gPiA+ICsgICAgICAgICh0Cj4gPiA+ID4gPiAr
ICAgICAgICAgOzsgUmV0dXJuIDpGQUlMIHRvIGFib3J0IHF1aWNrbHkuIFRoaXMgY291bGQgY2hv
b3NlIHRvIGZhaWwgaWYgYSBub24tZmx1c2hhYmxlCj4gPiA+ID4gPiArICAgICAgICAgOzsgY29t
YmluYXRpb24gaXMgc2VlbiwgYnV0IGZvciBub3cgSSdtIGRlZmVycmluZyB0aGF0IHNvdW5kbmVz
cyBjaGVjay4KPiA+ID4gPiA+ICsgICAgICAgICAocmV0dXJuLWZyb20gZmluZC1lcXVpdmFsZW50
LW5vZGUtYmFja3dhcmRzIDpmYWlsKSkpKSkpCj4gPiA+ID4gPiArCj4gPiA+ID4gPiArOzs7IEF0
dG1wdCB0byBmaW5kIGEgQ09NQklOQVRJT04gZXF1aXZhbGVudCB0byBUSElTIHByZWNlZGluZyBp
dCBpbiBub2RlIG9yZGVyLCB0aGUgdmFsdWUKPiA+ID4gPiA+ICs7Ozsgb2Ygd2hpY2ggY2FuIGJl
IHN1YnN0aXR1dGVkIGZvciB0aGUgY2FsbCB0byBUSElTLCBhY3R1YWxseSBtYWtpbmcgdGhlIHN1
YnN0aXR1dGlvbi4KPiA+ID4gPiA+ICs7OzsgTG9va2luZyBiYWNrd2FyZHMgYXQgbW9zdCBhIGZl
dyBibG9ja3MgdGVuZHMgdG8gd29yayB3ZWxsIGVub3VnaCwgYW5kIGlucG9ydGFudGx5Cj4gPiA+
ID4gPiArOzs7IGxpbWl0cyB0aGUgd29yay4gU2Nhbm5pbmcgb25seSB0aGUgY3VycmVudCBibG9j
ayBpcyBpbmFkZXF1YXRlIGFzIHRoZSBleGFtcGxlCj4gPiA+ID4gPiArOzs7IGluIDpMT09QLU9W
RVItREVSRUYgc2hvd3MuIFRoZSBpbW1lZGlhdGUgcHJlZGVjZXNzb3IgaXMgc3RpbGwgbm90IGVu
b3VnaCwgYmVjYXVzZSB0aGUKPiA+ID4gPiA+ICs7OzsgcHJlZGVjZXNzb3IgY291bGQgaGF2ZSBi
ZWVuIHNwbGl0LCBsZWF2aW5nIGEgdGlueSBibG9jayB3aGVyZSB0aGUgb25seSBub2RlIGlzCj4g
PiA+ID4gPiArOzs7IGEgdHJpdmlhbCBvcGVyYXRpb24uCj4gPiA+ID4gPiArKGRlZnVuIHRyeS1y
ZXVzZS1leHByLXZhbHVlICh0aGlzKQo+ID4gPiA+ID4gKyAgKGRlY2xhcmUgKHR5cGUgY29tYmlu
YXRpb24gdGhpcykpCj4gPiA+ID4gPiArICAoYmluZGluZyoKPiA+ID4gPiA+ICsgICAgICAoKGhv
bWUtbGFtYmRhIChmaW5kLWFjdGl2ZS1sZXQtbGFtYmRhIHRoaXMpIDpleGl0LWlmLW51bGwpCj4g
PiA+ID4gPiArICAgICAgIChsb29rYmFjayAwKQo+ID4gPiA+ID4gKyAgICAgICAoYzEKPiA+ID4g
PiA+ICsgICAgICAgIDs7IEluIHRoaXMgYmxvY2ssIGV4cGxpY2l0bHkgZ28gYmFjayBhIG5vZGUg
c28gdGhhdCBGSU5ELUJBQ0tXQVJEUyBkb2Vzbid0IGNvbnNpZGVyIFRISVMKPiA+ID4gPiA+ICsg
ICAgICAgIDs7IGFzIGVxdWl2YWxlbnQgdG8gaXRzZWxmLiBGYWlsaW5nIHRoYXQsIHRyeSBwcmVk
ZWNlc3NvciBibG9ja3MsIGJ1dCBvbmx5IGFzIGxvbmcgYXMKPiA+ID4gPiA+ICsgICAgICAgIDs7
IHByZWQgaXMgdW5pcXVlIHNpbmNlIHdlIGhhdmUgbm8gaW5mb3JtYXRpb24gYWJvdXQgbm9kZXMg
dGhhdCBkb21pbmF0ZSBUSElTLgo+ID4gPiA+ID4gKyAgICAgICAgKG9yIChmaW5kLWVxdWl2YWxl
bnQtbm9kZS1iYWNrd2FyZHMgdGhpcyAoY3RyYW4tdXNlIChub2RlLXByZXYgdGhpcykpKQo+ID4g
PiA+ID4gKyAgICAgICAgICAgIChkbyAoKHByZWQgKGJsb2NrLXByZWQgKG5vZGUtYmxvY2sgdGhp
cykpKSkKPiA+ID4gPiA+ICsgICAgICAgICAgICAgICAgKChvciAoPiBsb29rYmFjayAzKSAobm90
IChzaW5nbGV0b24tcCBwcmVkKSkpKQo+ID4gPiA+ID4gKyAgICAgICAgICAgICAgKGluY2YgbG9v
a2JhY2spCj4gPiA+ID4gPiArICAgICAgICAgICAgICAobGV0ICgobm9kZSAoYmxvY2stbGFzdCAo
Y2FyIHByZWQpKSkpCj4gPiA+ID4gPiArICAgICAgICAgICAgICAgICh3aGVuIChudWxsIG5vZGUp
IChyZXR1cm4pKQo+ID4gPiA+ID4gKyAgICAgICAgICAgICAgICAoYXdoZW4gKGZpbmQtZXF1aXZh
bGVudC1ub2RlLWJhY2t3YXJkcyB0aGlzIG5vZGUpIChyZXR1cm4gaXQpKQo+ID4gPiA+ID4gKyAg
ICAgICAgICAgICAgICAoc2V0cSBwcmVkIChibG9jay1wcmVkIChub2RlLWJsb2NrIG5vZGUpKSkp
KSkKPiA+ID4gPiA+ICsgICAgICAgIDpleGl0LWlmLW51bGwpCj4gPiA+ID4gPiArICAgICAgICh2
YXJzIDsgY2FuJ3QgdXNlIDpleGl0LWlmLW51bGwgaGVyZSBiZWNhdXNlIFZBUlMgY2FuIGJlIGFu
ZCB1c3VhbGx5IGlzIE5JTAo+ID4gPiA+ID4gKyAgICAgICAgKHVubGVzcyAoZXEgYzEgOmZhaWwp
Cj4gPiA+ID4gPiArICAgICAgICAgIChtYXBjYW4gIydjb2xsZWN0LWx2YXItdmFycyAoYmFzaWMt
Y29tYmluYXRpb24tYXJncyBjMSkpKSkpCj4gPiA+ID4gPiArICAgICh3aGVuIChlcSBjMSA6ZmFp
bCkKPiA+ID4gPiA+ICsgICAgICAocmV0dXJuLWZyb20gdHJ5LXJldXNlLWV4cHItdmFsdWUgbmls
KSkKPiA+ID4gPiA+ICsgICAgKGxhYmVscyAoKGFsbC1mbHVzaGFibGUgKGN0cmFuIGVuZC1ub2Rl
KQo+ID4gPiA+ID4gKyAgICAgICAgICAgICAgIChkZWNsYXJlIChjdHJhbiBjdHJhbikgKHR5cGUg
KG9yIG5vZGUgbnVsbCkgZW5kLW5vZGUpKQo+ID4gPiA+ID4gKyAgICAgICAgICAgICAgIChsb29w
IChsZXQgKChub2RlIChjdHJhbi1uZXh0IGN0cmFuKSkpCj4gPiA+ID4gPiArICAgICAgICAgICAg
ICAgICAgICAgICAoY29uZCAoKGVxIG5vZGUgZW5kLW5vZGUpIChyZXR1cm4gdCkpCj4gPiA+ID4g
PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKG5vdCAob2stdG8tZmx1c2ggbm9kZSkp
IChyZXR1cm4gbmlsKSkKPiA+ID4gPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgo
YW5kIChub3QgZW5kLW5vZGUpIChub3QgKG5vZGUtbmV4dCBub2RlKSkpIChyZXR1cm4gdCkpKQo+
ID4gPiA+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgKHNldHEgY3RyYW4gKG5vZGUtbmV4dCBu
b2RlKSkpKSkKPiA+ID4gPiA+ICsgICAgICAgICAgICAgKG9rLXRvLWZsdXNoIChub2RlKQo+ID4g
PiA+ID4gKyAgICAgICAgICAgICAgIChjb25kICgoc2V0LXAgbm9kZSkgKG5vdCAobWVtYmVyIChz
ZXQtdmFyIG5vZGUpIHZhcnMpKSkKPiA+ID4gPiA+ICsgICAgICAgICAgICAgICAgICAgICAoKGNv
bWJpbmF0aW9uLXAgbm9kZSkgKGZsdXNoYWJsZS1jb21iaW5hdGlvbi1wIG5vZGUpKQo+ID4gPiA+
ID4gKyAgICAgICAgICAgICAgICAgICAgICgoYmFzaWMtY29tYmluYXRpb24tcCBub2RlKSBuaWwp
Cj4gPiA+ID4gPiArICAgICAgICAgICAgICAgICAgICAgKHQgdCkpKSkgOyBhbnl0aGluZyBlbHNl
IHRoZSBiYWNrd2FyZHMgc2VhcmNoIGFsbG93ZWQgaXMgb2sKPiA+ID4gPiA+ICsgICAgICA7OyBX
aGVuIGxvb2tiYWNrPjAgaXQncyBwb3NzaWJsZSBmb3IgdGhlIGVxdWl2YWxlbnQgbm9kZSB0byBi
ZSB0aGUgZmluYWwgbm9kZQo+ID4gPiA+ID4gKyAgICAgIDs7IG9mIGl0cyBibG9jaywgaW4gd2hp
Y2ggY2FzZSBpdHMgTk9ERS1ORVhUIGlzIG51bGwuCj4gPiA+ID4gPiArICAgICAgKGxldCogKCh0
aGlzLWJsb2NrIChub2RlLWJsb2NrIHRoaXMpKQo+ID4gPiA+ID4gKyAgICAgICAgICAgICAocHJl
ZCAoY2FyIChibG9jay1wcmVkIHRoaXMtYmxvY2spKSkpCj4gPiA+ID4gPiArICAgICAgICAodW5s
ZXNzIChpZiAoPSBsb29rYmFjayAwKQo+ID4gPiA+ID4gKyAgICAgICAgICAgICAgICAgICAgKGFs
bC1mbHVzaGFibGUgKG5vZGUtbmV4dCBjMSkgdGhpcykKPiA+ID4gPiA+ICsgICAgICAgICAgICAg
ICAgICAgIChhbmQKPiA+ID4gPiA+ICsgICAgICAgICAgICAgICAgICAgICA7OyBDaGVjayBwcmV2
IGJsb2NrIGZyb20gQzEgdG8gaXRzIGVuZCBvZiBibG9jaywgYW5kIGN1cnJlbnQgYmxvY2sgdXAg
dG8gVEhJUwo+ID4gPiA+ID4gKyAgICAgICAgICAgICAgICAgICAgIChhY29uZCAoKG5vZGUtbmV4
dCBjMSkgKGFsbC1mbHVzaGFibGUgaXQgbmlsKSkgKHQgdCkpCj4gPiA+ID4gPiArICAgICAgICAg
ICAgICAgICAgICAgKGFsbC1mbHVzaGFibGUgKGJsb2NrLXN0YXJ0IHRoaXMtYmxvY2spIHRoaXMp
Cj4gPiA+ID4gPiArICAgICAgICAgICAgICAgICAgICAgOzsgQWxsIGNoZWNrIGFsbCBvZiBvbmUg
b3IgYm90aCBpbnRlcnZlbmluZyBibG9ja3MKPiA+ID4gPiA+ICsgICAgICAgICAgICAgICAgICAg
ICAob3IgKDwgbG9va2JhY2sgMikKPiA+ID4gPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAg
KGFsbC1mbHVzaGFibGUgKGJsb2NrLXN0YXJ0IHByZWQpIG5pbCkpCj4gPiA+ID4gPiArICAgICAg
ICAgICAgICAgICAgICAgKG9yICg8IGxvb2tiYWNrIDMpCj4gPiA+ID4gPiArICAgICAgICAgICAg
ICAgICAgICAgICAgIChhbGwtZmx1c2hhYmxlIChibG9jay1zdGFydCAoY2FyIChibG9jay1wcmVk
IHByZWQpKSkgbmlsKSkpKQo+ID4gPiA+ID4gKyAgICAgICAgICAocmV0dXJuLWZyb20gdHJ5LXJl
dXNlLWV4cHItdmFsdWUgbmlsKSkpKQo+ID4gPiA+ID4gKyAgICA7OyBTdWJzdGl0dXRlIEMxJ3Mg
cmVzdWx0IGluIGZvciBUSElTCj4gPiA+ID4gPiArICAgIChiaW5kaW5nKiAoKGx2YXItYzEgKG5v
ZGUtbHZhciBjMSkgOmV4aXQtaWYtbnVsbCkKPiA+ID4gPiA+ICsgICAgICAgICAgICAgICAoY29u
c3VtZXItMSAobHZhci1kZXN0IGx2YXItYzEpIDpleGl0LWlmLW51bGwpCj4gPiA+ID4gPiArICAg
ICAgICAgICAgICAgKGMyIHRoaXMpCj4gPiA+ID4gPiArICAgICAgICAgICAgICAgKGx2YXItYzIg
KG5vZGUtbHZhciBjMikgOmV4aXQtaWYtbnVsbCkKPiA+ID4gPiA+ICsgICAgICAgICAgICAgICAo
diAobWFrZS1sYW1iZGEtdmFyIChnZW5zeW0gIlJFVVNFRC1WQUwiKQo+ID4gPiA+ID4gKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOnR5cGUgKHNpbmdsZS12YWx1ZS10eXBlIChu
b2RlLWRlcml2ZWQtdHlwZSBjMSkpKSkKPiA+ID4gPiA+ICsgICAgICAgICAgICAgICAobHZhci1u
ZXcgKG1ha2UtbHZhcikpKQo+ID4gPiA+ID4gKyAgICAgIChhZGQtdmFyaWFibGUtdG8tbGV0LWxh
bWJkYSBob21lLWxhbWJkYSB2KQo+ID4gPiA+ID4gKwo+ID4gPiA+ID4gKyAgICAgIDs7IDEuIFJl
ZGlyZWN0IGNvbnN1bWVyLTEgdG8gcmVhZCBmcm9tIGx2YXItbmV3Cj4gPiA+ID4gPiArICAgICAg
KHN1YnN0aXR1dGUtbHZhciBsdmFyLW5ldyBsdmFyLWMxKQo+ID4gPiA+ID4gKwo+ID4gPiA+ID4g
KyAgICAgICh3aXRoLWlyMS1lbnZpcm9ubWVudC1mcm9tLW5vZGUgYzEKPiA+ID4gPiA+ICsgICAg
ICAgIDs7IDIuIE1ha2UgQzEgd3JpdGUgdG8gYSBuZXcgTFZBUiwgYW5kIGxpbmsgaXQgdG8gYSBD
U0VUIG9uIFYKPiA+ID4gPiA+ICsgICAgICAgIChsZXQgKChsdmFyLWMxLW5ldyAobWFrZS1sdmFy
KSkpCj4gPiA+ID4gPiArICAgICAgICAgICglZGVsZXRlLWx2YXItdXNlIGMxKQo+ID4gPiA+ID4g
KyAgICAgICAgICAodXNlLWx2YXIgYzEgbHZhci1jMS1uZXcpCj4gPiA+ID4gPiArICAgICAgICAg
IDs7IDMuIENyZWF0ZSBTMSAoc2V0IFYgPSBsdmFyLWMxLW5ldykgYW5kIGluc2VydCBhZnRlciBD
MQo+ID4gPiA+ID4gKyAgICAgICAgICAobGV0ICgoczEgKG1ha2Utc2V0IHYgbHZhci1jMS1uZXcp
KSkKPiA+ID4gPiA+ICsgICAgICAgICAgICAoc2V0ZiAobHZhci1kZXN0IGx2YXItYzEtbmV3KSBz
MSkKPiA+ID4gPiA+ICsgICAgICAgICAgICAocHVzaCBzMSAoYmFzaWMtdmFyLXNldHMgdikpCj4g
PiA+ID4gPiArICAgICAgICAgICAgKGluc2VydC1ub2RlLWFmdGVyIGMxIHMxKSkpKQo+ID4gPiA+
ID4gKwo+ID4gPiA+ID4gKyAgICAgIDs7IDQuIEluc2VydCByZWYxIGJlZm9yZSBjb25zdW1lci0x
LCB3cml0aW5nIHRvIGx2YXItbmV3Cj4gPiA+ID4gPiArICAgICAgKGluc2VydC1yZWYtYmVmb3Jl
IHYgY29uc3VtZXItMSBsdmFyLW5ldykKPiA+ID4gPiA+ICsgICAgICA7OyA1LiBJbnNlcnQgcmVm
MiBiZWZvcmUgQzIsIHN0ZWFsaW5nIEMyJ3MgbHZhcgo+ID4gPiA+ID4gKyAgICAgIChpbnNlcnQt
cmVmLWJlZm9yZSB2IGMyIHQpCj4gPiA+ID4gPiArICAgICAgOzsgQzIgaXMgbm93IGRlYWQgYW5k
IHdpbGwgYmUgZmx1c2hlZCBieSB0aGUgY2FsbGVyIQo+ID4gPiA+ID4gKyAgICAgIHQpKSkKPiA+
ID4gPiA+ICsKPiA+ID4gPiA+ICA7OzsgRG8gSVIxIG9wdGltaXphdGlvbnMgb24gYSBDT01CSU5B
VElPTiBub2RlLgo+ID4gPiA+ID4gIChkZWZ1biBpcjEtb3B0aW1pemUtY29tYmluYXRpb24gKG5v
ZGUgJmF1eCAoc2hvdyAqc2hvdy10cmFuc2Zvcm1zLXAqKSkKPiA+ID4gPiA+ICAgIChkZWNsYXJl
ICh0eXBlIGNvbWJpbmF0aW9uIG5vZGUpKQo+ID4gPiA+ID4gQEAgLTEzMDUsNiArMTQ4MSw5IEBA
Cj4gPiA+ID4gPiAgICAgICAgICAgICAgICAgICAgICAgICAobm90IChub2RlLWx2YXIgbm9kZSkp
KQo+ID4gPiA+ID4gICAgICAgICAgICAgICAgICAgIChyZXR1cm4tZnJvbSBpcjEtb3B0aW1pemUt
Y29tYmluYXRpb24gKGZsdXNoLW5vZGUgbm9kZSkpKQo+ID4gPiA+ID4gICAgICAgICAgICAgICAg
ICAgKChmb2xkLWNhbGwtZGVyaXZlZC10by1jb25zdGFudCBub2RlKQo+ID4gPiA+ID4gKyAgICAg
ICAgICAgICAgICAgIChyZXR1cm4tZnJvbSBpcjEtb3B0aW1pemUtY29tYmluYXRpb24pKQo+ID4g
PiA+ID4gKyAgICAgICAgICAgICAgICAgKChhbmQgKGNvbWJpbmF0aW9uLWlzIG5vZGUgKmVsaWRh
YmxlLW1lbW9yeS1sb2FkcyopCj4gPiA+ID4gPiArICAgICAgICAgICAgICAgICAgICAgICAodHJ5
LXJldXNlLWV4cHItdmFsdWUgbm9kZSkpCj4gPiA+ID4gPiAgICAgICAgICAgICAgICAgICAgKHJl
dHVybi1mcm9tIGlyMS1vcHRpbWl6ZS1jb21iaW5hdGlvbikpKQo+ID4gPiA+ID4gICAgICAgICAg
ICAgKHdoZW4gKGFuZCAoaXIxLWF0dHJpYnV0ZXAgKGZ1bi1pbmZvLWF0dHJpYnV0ZXMgaW5mbykg
Y29tbXV0YXRpdmUpCj4gPiA+ID4gPiAgICAgICAgICAgICAgICAgICAgICAgICg9IChsZW5ndGgg
YXJncykgMikKPiA+ID4gPiA+IGRpZmYgLS1naXQgYS90ZXN0cy9sY3NlLnB1cmUubGlzcCBiL3Rl
c3RzL2xjc2UucHVyZS5saXNwCj4gPiA+ID4gPiBuZXcgZmlsZSBtb2RlIDEwMDY0NAo+ID4gPiA+
ID4gaW5kZXggMDAwMDAwMDAwLi40M2IzNGU5OTgKPiA+ID4gPiA+IC0tLSAvZGV2L251bGwKPiA+
ID4gPiA+ICsrKyBiL3Rlc3RzL2xjc2UucHVyZS5saXNwCj4gPiA+ID4gPiBAQCAtMCwwICsxLDIz
NCBAQAo+ID4gPiA+ID4gKzs7OzsgVGhpcyBzb2Z0d2FyZSBpcyBwYXJ0IG9mIHRoZSBTQkNMIHN5
c3RlbS4gU2VlIHRoZSBSRUFETUUgZmlsZSBmb3IKPiA+ID4gPiA+ICs7Ozs7IG1vcmUgaW5mb3Jt
YXRpb24uCj4gPiA+ID4gPiArOzs7Owo+ID4gPiA+ID4gKzs7OzsgV2hpbGUgbW9zdCBvZiBTQkNM
IGlzIGRlcml2ZWQgZnJvbSB0aGUgQ01VIENMIHN5c3RlbSwgdGhlIHRlc3QKPiA+ID4gPiA+ICs7
Ozs7IGZpbGVzIChsaWtlIHRoaXMgb25lKSB3ZXJlIHdyaXR0ZW4gZnJvbSBzY3JhdGNoIGFmdGVy
IHRoZSBmb3JrCj4gPiA+ID4gPiArOzs7OyBmcm9tIENNVSBDTC4KPiA+ID4gPiA+ICs7Ozs7Cj4g
PiA+ID4gPiArOzs7OyBUaGlzIHNvZnR3YXJlIGlzIGluIHRoZSBwdWJsaWMgZG9tYWluIGFuZCBp
cyBwcm92aWRlZCB3aXRoCj4gPiA+ID4gPiArOzs7OyBhYnNvbHV0ZWx5IG5vIHdhcnJhbnR5LiBT
ZWUgdGhlIENPUFlJTkcgYW5kIENSRURJVFMgZmlsZXMgZm9yCj4gPiA+ID4gPiArOzs7OyBtb3Jl
IGluZm9ybWF0aW9uLgo+ID4gPiA+ID4gKwo+ID4gPiA+ID4gKzs7OzsgVGVzdHMgb2YgbG9jYWwg
Y29tbW9uIHN1YmV4cHJlc3Npb24gZWxpbWluYXRpb24KPiA+ID4gPiA+ICsKPiA+ID4gPiA+ICso
aW1wb3J0ICcoY3R1Omluc3BlY3QtaXIKPiA+ID4gPiA+ICsgICAgICAgICAgc2ItYzo6Y29tYmlu
YXRpb24tZnVuLWRlYnVnLW5hbWUKPiA+ID4gPiA+ICsgICAgICAgICAgc2ItYzo6YmFzaWMtY29t
YmluYXRpb24tcCkpCj4gPiA+ID4gPiArCj4gPiA+ID4gPiArKGRlZnVuIGlyLWNhbGxzIChmb3Jt
KQo+ID4gPiA+ID4gKyAgKGxldCAoY2FsbHMpCj4gPiA+ID4gPiArICAgIChpbnNwZWN0LWlyCj4g
PiA+ID4gPiArICAgICBmb3JtCj4gPiA+ID4gPiArICAgICAobGFtYmRhIChjb21wb25lbnQpCj4g
PiA+ID4gPiArICAgICAgIChjdHU6ZG8tYmxvY2tzIChibG9jayBjb21wb25lbnQpCj4gPiA+ID4g
PiArICAgICAgICAgKGN0dTpkby1ub2RlcyAobm9kZSBuaWwgYmxvY2spCj4gPiA+ID4gPiArICAg
ICAgICAgICAod2hlbiAoYmFzaWMtY29tYmluYXRpb24tcCBub2RlKQo+ID4gPiA+ID4gKyAgICAg
ICAgICAgICAocHVzaCBub2RlIGNhbGxzKSkpKSkpCj4gPiA+ID4gPiArICAgIGNhbGxzKSkKPiA+
ID4gPiA+ICsKPiA+ID4gPiA+ICsoZGVmbWFjcm8gYXNzZXJ0LWNhbGxzIChmdW4tbmFtZSBleHBl
Y3RlZC1jb3VudCAoJnJlc3QgbGFtYmRhLWFyZ3MpICZib2R5IGJvZHkpCj4gPiA+ID4gPiArICAo
c2ItaW50OmJpbmRpbmcqCj4gPiA+ID4gPiArICAgICAgKCgoZm9ybXMgZGVjbHMpIChzYi1pbnQ6
cGFyc2UtYm9keSBib2R5IG5pbCkpCj4gPiA+ID4gPiArICAgICAgIChsZXhwciBgKGxhbWJkYSAo
LEBsYW1iZGEtYXJncykKPiA+ID4gPiA+ICsgICAgICAgICAgICAgICAgICxAZGVjbHMKPiA+ID4g
PiA+ICsgICAgICAgICAgICAgICAgICA7OyBXaXRob3V0IGEgY29udGFpbmluZyBMRVQgZm9ybSwg
dGhlIGN1cnJlbnQgaW1wbGVtZW50YXRpb24gb2YgQ1NFCj4gPiA+ID4gPiArICAgICAgICAgICAg
ICAgICAgOzsgaXMgdW53aWxsaW5nIHRvIGJpbmQgYSB0ZW1wb3JhcnkgbGFtYmRhIHZhciBmb3Ig
cmV1c2UuCj4gPiA+ID4gPiArICAgICAgICAgICAgICAgICAgKGxldCAoKGFjdGl2ZS1sZXQtdmFy
IDApKQo+ID4gPiA+ID4gKyAgICAgICAgICAgICAgICAgICAgKHByaW50IGFjdGl2ZS1sZXQtdmFy
KQo+ID4gPiA+ID4gKyAgICAgICAgICAgICAgICAgICAgKGluY2YgYWN0aXZlLWxldC12YXIgKHJh
bmRvbSA1KSkKPiA+ID4gPiA+ICsgICAgICAgICAgICAgICAgICAgIChwcmludCBhY3RpdmUtbGV0
LXZhcikKPiA+ID4gPiA+ICsgICAgICAgICAgICAgICAgICAgICxAZm9ybXMpKSkpCj4gPiA+ID4g
PiArICAgIGAoYXNzZXJ0ICg9IChjb3VudCAnLGZ1bi1uYW1lIChpci1jYWxscyAnLGxleHByKSA6
a2V5ICMnY29tYmluYXRpb24tZnVuLWRlYnVnLW5hbWUpCj4gPiA+ID4gPiArICAgICAgICAgICAg
ICAgICxleHBlY3RlZC1jb3VudCkpKSkKPiA+ID4gPiA+ICsKPiA+ID4gPiA+ICs7OzsgQmFzaWMg
dGVzdHM6IGEgc2FtcGxpbmcgb2YgZWxpZGFibGUgbG9hZCB0eXBlIHdpdGggdHdvIGlkZW50aWNh
bCBsb2Fkcwo+ID4gPiA+ID4gKwo+ID4gPiA+ID4gKyh3aXRoLXRlc3QgKDpuYW1lICg6Y3NlIDpj
YXIpKQo+ID4gPiA+ID4gKyAgKGFzc2VydC1jYWxscyBjYXIgMSAoY29ucykKPiA+ID4gPiA+ICsg
ICAgKGRlY2xhcmUgKHR5cGUgY29ucyBjb25zKSkKPiA+ID4gPiA+ICsgICAgKGlmIChjYXIgY29u
cykKPiA+ID4gPiA+ICsgICAgICAgIChwcmluYyAoY2FyIGNvbnMpKQo+ID4gPiA+ID4gKyAgICAg
ICAgKHByaW5jIChjZHIgY29ucykpKSkpCj4gPiA+ID4gPiArCj4gPiA+ID4gPiArKHdpdGgtdGVz
dCAoOm5hbWUgKDpjc2UgOmRpZmZlcmVudC1uYW1lcy1mb3Itc2FtZS1vYmplY3QpKQo+ID4gPiA+
ID4gKyAgOzsgWSBhbmQgWCByZWZlciB0byB0aGUgc2FtZSB0aGluZywgYW5kIGl0IGRvZXNuJ3Qg
bWF0dGVyCj4gPiA+ID4gPiArICA7OyB3aG9zZSBDRFIgd2UgdGFrZSBmaXJzdC4gT25seSBvbmUg
Q0RSIG9wZXJhdGlvbiBpcyBwZXJmb3JtZWQKPiA+ID4gPiA+ICsgIChhc3NlcnQtY2FsbHMgY2Ry
IDEgKHgpCj4gPiA+ID4gPiArICAgIChkZWNsYXJlICh0eXBlIGNvbnMgeCkpCj4gPiA+ID4gPiAr
ICAgIChsZXQgKCh5IHgpKQo+ID4gPiA+ID4gKyAgICAgIChsaXN0IChjZHIgeSkgKGNkciB4KSkp
KQo+ID4gPiA+ID4gKyAgKGFzc2VydC1jYWxscyBjZHIgMSAoeCkKPiA+ID4gPiA+ICsgICAgKGRl
Y2xhcmUgKHR5cGUgY29ucyB4KSkKPiA+ID4gPiA+ICsgICAgKGxldCAoKHkgeCkpCj4gPiA+ID4g
PiArICAgICAgKGxpc3QgKGNkciB4KSAoY2RyIHkpKSkpKQo+ID4gPiA+ID4gKwo+ID4gPiA+ID4g
Kyh3aXRoLXRlc3QgKDpuYW1lICg6Y3NlIDpjb21wb3NpdGlvbi1vZi1jeHIpKQo+ID4gPiA+ID4g
KyAgOzsgVGhlIENBUiBleHRyYWN0aW9uIHdoaWNoIGlzIHBhcnQgb2YgdGhlIENEQVIgZnVuY3Rp
b24gY2FuIGJlCj4gPiA+ID4gPiArICA7OyByZXVzZWQgYmFzZWQgb24gdGhlIGZhY3QgdGhhdCB3
ZSBldmFsdWF0ZWQgKExJU1RQIChDQVIgWCkpCj4gPiA+ID4gPiArICAoYXNzZXJ0LWNhbGxzIGNh
ciAxICh4KQo+ID4gPiA+ID4gKyAgICAoaWYgKGxpc3RwIChjYXIgeCkpIChjZGFyIHgpKSkKPiA+
ID4gPiA+ICsgIDs7IG5lZ2F0aXZlIHRlc3QgLSBDREFSIG9uIGEgZGlmZmVyZW50IFkgaXMgYW5v
dGhlciBDQVIgb3BlcmF0aW9uCj4gPiA+ID4gPiArICAoYXNzZXJ0LWNhbGxzIGNhciAyICh4IHkp
Cj4gPiA+ID4gPiArICAgIChpZiAobGlzdHAgKGNhciB4KSkgKGNkYXIgeSkpKSkKPiA+ID4gPiA+
ICsKPiA+ID4gPiA+ICsoZGVmc3RydWN0IGNzZS10ZXN0LWZvbyBzbG90ICh3c2xvdCAwIDp0eXBl
IHNiLXZtOndvcmQpKQo+ID4gPiA+ID4gKyh3aXRoLXRlc3QgKDpuYW1lICg6Y3NlIDppbnN0YW5j
ZS1yZWYpKQo+ID4gPiA+ID4gKyAgKGFzc2VydC1jYWxscyBzYi1rZXJuZWw6JWluc3RhbmNlLXJl
ZiAxICh4KQo+ID4gPiA+ID4gKyAgICA7OyBEZXBlbmRpbmcgb24gd2hhdCBUUkFOU0ZPUk0tSU5T
VEFOQ0UtVFlQRVAgZG9lcywgaXQgbWlnaHQgYWNjZXNzIGluc3RhbmNlLWxheW91dAo+ID4gPiA+
ID4gKyAgICA7OyB1c2luZyAlSU5TVEFOQ0UtUkVGIHdoaWNoIHdvdWxkIGhhdmUgdG8gYmUgZGlz
Y291bnRlZCBpbiB0aGUgY2FsbCBjb3VudGluZy4KPiA+ID4gPiA+ICsgICAgOzsgSnVzdCBicnV0
ZS1mb3JjZSB0aGUgdHlwZSB0byBhdm9pZCB0aGF0IHNpdHVhdGlvbi4KPiA+ID4gPiA+ICsgICAg
KGxldCAoKHggKHRydWx5LXRoZSBjc2UtdGVzdC1mb28geCkpKQo+ID4gPiA+ID4gKyAgICAgIChp
ZiAoY3NlLXRlc3QtZm9vLXNsb3QgeCkKPiA+ID4gPiA+ICsgICAgICAgICAgKHByaW5jIChjc2Ut
dGVzdC1mb28tc2xvdCB4KSkKPiA+ID4gPiA+ICsgICAgICAgICAgbmlsKSkpKQo+ID4gPiA+ID4g
Kwo+ID4gPiA+ID4gKyh3aXRoLXRlc3QgKDpuYW1lICg6Y3NlIDpyYXctaW5zdGFuY2UtcmVmL3dv
cmQpKQo+ID4gPiA+ID4gKyAgKGFzc2VydC1jYWxscyBzYi1rZXJuZWw6JXJhdy1pbnN0YW5jZS1y
ZWYvd29yZCAxICh4KQo+ID4gPiA+ID4gKyAgICAoZGVjbGFyZSAodHlwZSBjc2UtdGVzdC1mb28g
eCkpCj4gPiA+ID4gPiArICAgIChpZiAobG9ndGVzdCAoY3NlLXRlc3QtZm9vLXdzbG90IHgpICN4
ZmYwMDApCj4gPiA+ID4gPiArICAgICAgICAocHJpbmMgKGNzZS10ZXN0LWZvby13c2xvdCB4KSkK
PiA+ID4gPiA+ICsgICAgICAgIG5pbCkpKQo+ID4gPiA+ID4gKwo+ID4gPiA+ID4gKyh3aXRoLXRl
c3QgKDpuYW1lICg6Y3NlIDpzYXAtcmVmLTMyKSkKPiA+ID4gPiA+ICsgIChhc3NlcnQtY2FsbHMg
c2Itc3lzOnNhcC1yZWYtMzIgMSAoc2FwIG9mZnNldCkKPiA+ID4gPiA+ICsgICAgKGRlY2xhcmUg
KHR5cGUgc2Itc3lzOnN5c3RlbS1hcmVhLXBvaW50ZXIgc2FwKQo+ID4gPiA+ID4gKyAgICAgICAg
ICAgICAodHlwZSBzYi12bTp3b3JkIG9mZnNldCkpCj4gPiA+ID4gPiArICAgIChpZiAocGx1c3Ag
KHNiLXN5czpzYXAtcmVmLTMyIHNhcCBvZmZzZXQpKQo+ID4gPiA+ID4gKyAgICAgICAgKHByaW5j
IChzYi1zeXM6c2FwLXJlZi0zMiBzYXAgb2Zmc2V0KSkKPiA+ID4gPiA+ICsgICAgICAgIG5pbCkp
Cj4gPiA+ID4gPiArICAoYXNzZXJ0LWNhbGxzIHNiLXN5czpzaWduZWQtc2FwLXJlZi0zMiAxIChz
YXAgb2Zmc2V0KQo+ID4gPiA+ID4gKyAgICAoZGVjbGFyZSAodHlwZSBzYi1zeXM6c3lzdGVtLWFy
ZWEtcG9pbnRlciBzYXApCj4gPiA+ID4gPiArICAgICAgICAgICAgICh0eXBlIHNiLXZtOndvcmQg
b2Zmc2V0KSkKPiA+ID4gPiA+ICsgICAgKGlmIChwbHVzcCAoc2Itc3lzOnNpZ25lZC1zYXAtcmVm
LTMyIHNhcCBvZmZzZXQpKQo+ID4gPiA+ID4gKyAgICAgICAgKHByaW5jIChzYi1zeXM6c2lnbmVk
LXNhcC1yZWYtMzIgc2FwIG9mZnNldCkpCj4gPiA+ID4gPiArICAgICAgICBuaWwpKSkKPiA+ID4g
PiA+ICsKPiA+ID4gPiA+ICsod2l0aC10ZXN0ICg6bmFtZSAoOmNzZSA6c2FwLXJlZi02NCkgOnNr
aXBwZWQtb24gKDpub3QgOjY0LWJpdCkpCj4gPiA+ID4gPiArICAoYXNzZXJ0LWNhbGxzIHNiLXN5
czpzYXAtcmVmLTY0IDEgKHNhcCBvZmZzZXQpCj4gPiA+ID4gPiArICAgIChkZWNsYXJlICh0eXBl
IHNiLXN5czpzeXN0ZW0tYXJlYS1wb2ludGVyIHNhcCkKPiA+ID4gPiA+ICsgICAgICAgICAgICAg
KHR5cGUgc2Itdm06d29yZCBvZmZzZXQpKQo+ID4gPiA+ID4gKyAgICAoaWYgKHBsdXNwIChzYi1z
eXM6c2FwLXJlZi02NCBzYXAgb2Zmc2V0KSkKPiA+ID4gPiA+ICsgICAgICAgIChwcmluYyAoc2It
c3lzOnNhcC1yZWYtNjQgc2FwIG9mZnNldCkpCj4gPiA+ID4gPiArICAgICAgICBuaWwpKQo+ID4g
PiA+ID4gKyAgKGFzc2VydC1jYWxscyBzYi1zeXM6c2lnbmVkLXNhcC1yZWYtNjQgMSAoc2FwIG9m
ZnNldCkKPiA+ID4gPiA+ICsgICAgKGRlY2xhcmUgKHR5cGUgc2Itc3lzOnN5c3RlbS1hcmVhLXBv
aW50ZXIgc2FwKQo+ID4gPiA+ID4gKyAgICAgICAgICAgICAodHlwZSBzYi12bTp3b3JkIG9mZnNl
dCkpCj4gPiA+ID4gPiArICAgIChpZiAocGx1c3AgKHNiLXN5czpzaWduZWQtc2FwLXJlZi02NCBz
YXAgb2Zmc2V0KSkKPiA+ID4gPiA+ICsgICAgICAgIChwcmluYyAoc2Itc3lzOnNpZ25lZC1zYXAt
cmVmLTY0IHNhcCBvZmZzZXQpKQo+ID4gPiA+ID4gKyAgICAgICAgbmlsKSkpCj4gPiA+ID4gPiAr
Cj4gPiA+ID4gPiArKHdpdGgtdGVzdCAoOm5hbWUgKDpjc2UgOmxvb3Atb3Zlci1kZXJlZikpCj4g
PiA+ID4gPiArICAobGV0ICgobGV4cHIKPiA+ID4gPiA+ICsgICAgICAgICAnKGxhbWJkYSAoZikK
PiA+ID4gPiA+ICsgICAgICAgICAgICAoZGVjbGFyZSAob3B0aW1pemUgKHNiLWM6OmFsaWVuLWZ1
bmNhbGwtc2F2ZXMtZnAtYW5kLXBjIDApCj4gPiA+ID4gPiArICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIChzYi1jOjp0eXBlLWNoZWNrIDApKSkKPiA+ID4gPiA+ICsgICAgICAgICAgICA7
OyBGIHJldHVybnMgYSBwb2ludGVyIHRvIGEgbnVsbC10ZXJtaW5hdGVkIGFycmF5IG9mIHVuc2ln
bmVkLWludC4KPiA+ID4gPiA+ICsgICAgICAgICAgICA7OyBUaGUgZGVyZWYgZm9yIHRoZSBsb29w
IHRlcm1pbmF0aW9uIHRlc3QsIGFuZCBhZ2FpbiBpbiB0aGUgYm9keQo+ID4gPiA+ID4gKyAgICAg
ICAgICAgIDs7IHNob3VsZCB1c2UgYSBzaW5nbGUgbWVtb3J5IGxvYWQuCj4gPiA+ID4gPiArICAg
ICAgICAgICAgKGxldCAoKGEgKGFsaWVuLWZ1bmNhbGwgKHRoZSAoYWxpZW4gKGZ1bmN0aW9uICgq
IHVuc2lnbmVkKSkpIGYpKSkpCj4gPiA+ID4gPiArICAgICAgICAgICAgICAoZG8gKChpbmRleCAw
ICgxKyBpbmRleCkpKQo+ID4gPiA+ID4gKyAgICAgICAgICAgICAgICAgICgoemVyb3AgKGRlcmVm
IGEgaW5kZXgpKSkKPiA+ID4gPiA+ICsgICAgICAgICAgICAgICAgKHByaW5jICh0aGUgZml4bnVt
IChkZXJlZiBhIGluZGV4KSkpKSkpKSkKPiA+ID4gPiA+ICsgICAgKGFzc2VydCAoPSAoY291bnQg
Iysob3IgYXJtNjQgeDg2LTY0KSAnc2Itc3lzOiVzYXAtcmVmLTY0LWluZGV4ZWQKPiA+ID4gPiA+
ICsgICAgICAgICAgICAgICAgICAgICAgIy0ob3IgYXJtNjQgeDg2LTY0KQo+ID4gPiA+ID4gKyAg
ICAgICAgICAgICAgICAgICAgICAocHJvZ24gIys2NC1iaXQgJ3NiLXN5czpzYXAtcmVmLTY0ICMt
NjQtYml0ICdzYi1zeXM6c2FwLXJlZi0zMikKPiA+ID4gPiA+ICsgICAgICAgICAgICAgICAgICAg
ICAgKGlyLWNhbGxzIGxleHByKSA6a2V5ICMnY29tYmluYXRpb24tZnVuLWRlYnVnLW5hbWUpCj4g
PiA+ID4gPiArICAgICAgICAgICAgICAgMSkpKSkKPiA+ID4gPiA+ICsKPiA+ID4gPiA+ICs7Ozsg
U0VUUSBvZiBhIHZhcmlhYmxlIHVzZWQgYXMgYW4gYXJndW1lbnQgdG8gYW4gZWxpZGFibGUgbG9h
ZCBwcmV2ZW50cyBDU0UuCj4gPiA+ID4gPiArOzs7IFdoZW4gYSB2YXJpYWJsZSB0aGF0IHBhcnRp
Y2lwYXRlcyBpbiB0aGUgbG9hZCBleHByZXNzaW9uIChlLmcuLCB0aGUgY29ucwo+ID4gPiA+ID4g
Kzs7OyBiZWluZyBDQVInZCkgaXMgYXNzaWduZWQgYmV0d2VlbiB0d28gaWRlbnRpY2FsIGxvYWRz
LCB0aGUgc2Vjb25kIGxvYWQKPiA+ID4gPiA+ICs7OzsgbXVzdCBub3QgYmUgZWxpbWluYXRlZCBi
ZWNhdXNlIHRoZSB2YXJpYWJsZSBtYXkgcmVmZXJlbmNlIGEgZGlmZmVyZW50IG9iamVjdC4KPiA+
ID4gPiA+ICsod2l0aC10ZXN0ICg6bmFtZSAoOmNzZSA6c2V0cS1vZi1sb2FkLWFyZy1wcmV2ZW50
cy1jYXIpKQo+ID4gPiA+ID4gKyAgOzsgQ09OUyBpcyB0aGUgYXJndW1lbnQgdG8gQ0FSLiBBc3Np
Z25pbmcgQ09OUyBiZXR3ZWVuIHR3byAoQ0FSIENPTlMpCj4gPiA+ID4gPiArICA7OyBwcmV2ZW50
cyBDU0UuCj4gPiA+ID4gPiArICAoYXNzZXJ0LWNhbGxzIGNhciAyIChjb25zIG90aGVyKQo+ID4g
PiA+ID4gKyAgICAoZGVjbGFyZSAodHlwZSBjb25zIGNvbnMgb3RoZXIpKQo+ID4gPiA+ID4gKyAg
ICAobGV0ICgoYSAoY2FyIGNvbnMpKSkKPiA+ID4gPiA+ICsgICAgICAoc2V0cSBjb25zIG90aGVy
KQo+ID4gPiA+ID4gKyAgICAgIChsZXQgKChiIChjYXIgY29ucykpKQo+ID4gPiA+ID4gKyAgICAg
ICAgKGxpc3QgYSBiKSkpKSkKPiA+ID4gPiA+ICsKPiA+ID4gPiA+ICsod2l0aC10ZXN0ICg6bmFt
ZSAoOmNzZSA6c2V0cS1vZi1sb2FkLWFyZy1wcmV2ZW50cy1jZHIpKQo+ID4gPiA+ID4gKyAgKGFz
c2VydC1jYWxscyBjZHIgMiAoY29ucyBvdGhlcikKPiA+ID4gPiA+ICsgICAgKGRlY2xhcmUgKHR5
cGUgY29ucyBjb25zIG90aGVyKSkKPiA+ID4gPiA+ICsgICAgKGxldCAoKGEgKGNkciBjb25zKSkp
Cj4gPiA+ID4gPiArICAgICAgKHNldHEgY29ucyBvdGhlcikKPiA+ID4gPiA+ICsgICAgICAobGV0
ICgoYiAoY2RyIGNvbnMpKSkKPiA+ID4gPiA+ICsgICAgICAgIChsaXN0IGEgYikpKSkpCj4gPiA+
ID4gPiArCj4gPiA+ID4gPiArKHdpdGgtdGVzdCAoOm5hbWUgKDpjc2UgOnNldHEtb2YtbG9hZC1h
cmctcHJldmVudHMtaW5zdGFuY2UtcmVmKSkKPiA+ID4gPiA+ICsgIDs7IEFzc2lnbmluZyB0aGUg
c3RydWN0IHZhcmlhYmxlIGJldHdlZW4gdHdvIHJlYWRzIG9mIHRoZSBzYW1lIHNsb3QgcHJldmVu
dHMgQ1NFLgo+ID4gPiA+ID4gKyAgKGFzc2VydC1jYWxscyBzYi1rZXJuZWw6JWluc3RhbmNlLXJl
ZiAyICh4IHkpCj4gPiA+ID4gPiArICAgIChsZXQgKCh4ICh0cnVseS10aGUgY3NlLXRlc3QtZm9v
IHgpKQo+ID4gPiA+ID4gKyAgICAgICAgICAoeSAodHJ1bHktdGhlIGNzZS10ZXN0LWZvbyB5KSkp
Cj4gPiA+ID4gPiArICAgICAgKGxldCAoKGEgKGNzZS10ZXN0LWZvby1zbG90IHgpKSkKPiA+ID4g
PiA+ICsgICAgICAgIChzZXRxIHggeSkKPiA+ID4gPiA+ICsgICAgICAgIChsZXQgKChiIChjc2Ut
dGVzdC1mb28tc2xvdCB4KSkpCj4gPiA+ID4gPiArICAgICAgICAgIChsaXN0IGEgYikpKSkpKQo+
ID4gPiA+ID4gKwo+ID4gPiA+ID4gKyh3aXRoLXRlc3QgKDpuYW1lICg6Y3NlIDpzZXRxLW9mLWxv
YWQtYXJnLXByZXZlbnRzLXNhcC1yZWYpKQo+ID4gPiA+ID4gKyAgOzsgQXNzaWduaW5nIHRoZSBT
QVAgdmFyaWFibGUgYmV0d2VlbiB0d28gcmVhZHMgYXQgdGhlIHNhbWUgb2Zmc2V0Cj4gPiA+ID4g
PiArICA7OyBtdXN0IHByZXZlbnQgQ1NFIHNpbmNlIHRoZSBzZWNvbmQgcmVhZCBtYXkgdXNlIGEg
ZGlmZmVyZW50IFNBUC4KPiA+ID4gPiA+ICsgIChhc3NlcnQtY2FsbHMgc2Itc3lzOnNhcC1yZWYt
MzIgMiAoc2FwMSBzYXAyIG9mZnNldCkKPiA+ID4gPiA+ICsgICAgKGRlY2xhcmUgKHR5cGUgc2It
c3lzOnN5c3RlbS1hcmVhLXBvaW50ZXIgc2FwMSBzYXAyKQo+ID4gPiA+ID4gKyAgICAgICAgICAg
ICAodHlwZSBzYi12bTp3b3JkIG9mZnNldCkpCj4gPiA+ID4gPiArICAgIChsZXQgKChhIChzYi1z
eXM6c2FwLXJlZi0zMiBzYXAxIG9mZnNldCkpKQo+ID4gPiA+ID4gKyAgICAgIChzZXRxIHNhcDEg
c2FwMikKPiA+ID4gPiA+ICsgICAgICAobGV0ICgoYiAoc2Itc3lzOnNhcC1yZWYtMzIgc2FwMSBv
ZmZzZXQpKSkKPiA+ID4gPiA+ICsgICAgICAgIChsaXN0IGEgYikpKSkpCj4gPiA+ID4gPiArCj4g
PiA+ID4gPiArOzs7IFNFVFEgb2YgYW4gKnVucmVsYXRlZCogdmFyaWFibGUgc2hvdWxkIE5PVCBw
cmV2ZW50IENTRS4KPiA+ID4gPiA+ICs7OzsgT25seSBtdXRhdGlvbnMgb2YgdmFyaWFibGVzIHRo
YXQgcGFydGljaXBhdGUgaW4gdGhlIGxvYWQgbWF0dGVyLgo+ID4gPiA+ID4gKyh3aXRoLXRlc3Qg
KDpuYW1lICg6Y3NlIDpzZXRxLW9mLXVucmVsYXRlZC12YXItYWxsb3dzLWNzZSkpCj4gPiA+ID4g
PiArICA7OyBaIGlzIG5vdCBhbiBhcmd1bWVudCB0byBDQVIsIHNvIHNldHRpbmcgWiBkb2VzIG5v
dCBpbmhpYml0IENTRS4KPiA+ID4gPiA+ICsgIChhc3NlcnQtY2FsbHMgY2FyIDEgKGNvbnMgeikK
PiA+ID4gPiA+ICsgICAgKGRlY2xhcmUgKHR5cGUgY29ucyBjb25zKSkKPiA+ID4gPiA+ICsgICAg
KGxldCAoKGEgKGNhciBjb25zKSkpCj4gPiA+ID4gPiArICAgICAgKHNldHEgeiBhKQo+ID4gPiA+
ID4gKyAgICAgIChsZXQgKChiIChjYXIgY29ucykpKQo+ID4gPiA+ID4gKyAgICAgICAgKGxpc3Qg
eiBiKSkpKSkKPiA+ID4gPiA+ICsKPiA+ID4gPiA+ICs7OzsgU0ItVEhSRUFEOkJBUlJJRVIgb2Yg
YW55IGtpbmQgcHJldmVudHMgZWxpc2lvbiBvZiB0aGUgc2Vjb25kIGxvYWQKPiA+ID4gPiA+ICs7
Ozsgc2luY2UgdGhlIG1lbW9yeSBiYXJyaWVycyBpcyBub3QgZmx1c2hhYmxlLiBUaGlzIGlzIHRo
ZSBjb25zZXJ2YXRpdmUgc3RhbmNlLgo+ID4gPiA+ID4gKzs7OyBUaGUgYWN0dWFsIChsb29zZXIp
IHJlcXVpcmVtZW50cyBhcmUgbW9yZSBzdWJ0bGUgdGhhbiBJIGNhcmUgdG8gZGVhbCB3aXRoLgo+
ID4gPiA+ID4gKyhkZWZtYWNybyBiYXJyaWVyLXRlc3QgKGtpbmQpCj4gPiA+ID4gPiArICBgKHdp
dGgtdGVzdCAoOm5hbWUgKDpjc2UgOmJhcnJpZXItcHJldmVudHMtY2FyICxraW5kKSkKPiA+ID4g
PiA+ICsgICAgIChhc3NlcnQtY2FsbHMgY2FyIDIgKGNvbnMpCj4gPiA+ID4gPiArICAgICAgKGRl
Y2xhcmUgKHR5cGUgY29ucyBjb25zKSkKPiA+ID4gPiA+ICsgICAgICAobGV0ICgoYSAoY2FyIGNv
bnMpKSkKPiA+ID4gPiA+ICsgICAgICAgIChzYi10aHJlYWQ6YmFycmllciAoLGtpbmQpKQo+ID4g
PiA+ID4gKyAgICAgICAgKGxldCAoKGIgKGNhciBjb25zKSkpCj4gPiA+ID4gPiArICAgICAgICAg
IChsaXN0IGEgYikpKSkpKQo+ID4gPiA+ID4gKyhiYXJyaWVyLXRlc3QgOnJlYWQpCj4gPiA+ID4g
PiArKGJhcnJpZXItdGVzdCA6d3JpdGUpCj4gPiA+ID4gPiArKGJhcnJpZXItdGVzdCA6bWVtb3J5
KQo+ID4gPiA+ID4gKyhiYXJyaWVyLXRlc3QgOmNvbXBpbGVyKQo+ID4gPiA+ID4gKyhiYXJyaWVy
LXRlc3QgOmRhdGEtZGVwZW5kZW5jeSkKPiA+ID4gPiA+ICsKPiA+ID4gPiA+ICs7OzsgQW55IG5v
bi1mbHVzaGFibGUgY2FsbCBiZXR3ZWVuIHR3byBpZGVudGljYWwgbG9hZHMgcHJldmVudHMgQ1NF
Cj4gPiA+ID4gPiArOzs7IGJlY2F1c2UgdGhlIGNhbGwgbWF5IGhhdmUgc2lkZSBlZmZlY3RzIHRo
YXQgbW9kaWZ5IHRoZSBsb2FkZWQgbWVtb3J5Lgo+ID4gPiA+ID4gKwo+ID4gPiA+ID4gKyh3aXRo
LXRlc3QgKDpuYW1lICg6Y3NlIDpub24tZmx1c2hhYmxlLWNhbGwtcHJldmVudHMtY3NlKSkKPiA+
ID4gPiA+ICsgIDs7IFBSSU5DIGlzIGEgbm9uLWZsdXNoYWJsZQo+ID4gPiA+ID4gKyAgKGFzc2Vy
dC1jYWxscyBjYXIgMiAoY29ucykKPiA+ID4gPiA+ICsgICAgKGRlY2xhcmUgKHR5cGUgY29ucyBj
b25zKSkKPiA+ID4gPiA+ICsgICAgKGxldCAoKGEgKGNhciBjb25zKSkpCj4gPiA+ID4gPiArICAg
ICAgKHByaW5jIDQyKQo+ID4gPiA+ID4gKyAgICAgIChsZXQgKChiIChjYXIgY29ucykpKQo+ID4g
PiA+ID4gKyAgICAgICAgKGxpc3QgYSBiKSkpKSkKPiA+ID4gPiA+ICsKPiA+ID4gPiA+ICs7Ozsg
RGlmZmVyZW50IGZ1bmN0aW9ucyBvbiB0aGUgc2FtZSBvYmplY3QgYXJlIE5PVCBjb25zaWRlcmVk
IGNvbW1vbiBzdWJleHByZXNzaW9ucy4KPiA+ID4gPiA+ICs7OzsgKENBUiB4KSBhbmQgKENEUiB4
KSBhcmUgZGlmZmVyZW50IGxvYWRzIGV2ZW4gaWYgeCBpcyB0aGUgc2FtZS4KPiA+ID4gPiA+ICso
d2l0aC10ZXN0ICg6bmFtZSAoOmNzZSA6ZGlmZmVyZW50LWFjY2Vzc29ycy1ub3QtY3NlKSkKPiA+
ID4gPiA+ICsgIDs7IEJvdGggQ0FSIGFuZCBDRFIgc2hvdWxkIGFwcGVhciwgZWFjaCBleGFjdGx5
IG9uY2UuCj4gPiA+ID4gPiArICAoYXNzZXJ0LWNhbGxzIGNhciAxIChjb25zKQo+ID4gPiA+ID4g
KyAgICAoZGVjbGFyZSAodHlwZSBjb25zIGNvbnMpKQo+ID4gPiA+ID4gKyAgICAoaWYgKGNhciBj
b25zKQo+ID4gPiA+ID4gKyAgICAgICAgKHByaW5jIChjZHIgY29ucykpCj4gPiA+ID4gPiArICAg
ICAgICBuaWwpKQo+ID4gPiA+ID4gKyAgKGFzc2VydC1jYWxscyBjZHIgMSAoY29ucykKPiA+ID4g
PiA+ICsgICAgKGRlY2xhcmUgKHR5cGUgY29ucyBjb25zKSkKPiA+ID4gPiA+ICsgICAgKGlmIChj
YXIgY29ucykKPiA+ID4gPiA+ICsgICAgICAgIChwcmluYyAoY2RyIGNvbnMpKQo+ID4gPiA+ID4g
KyAgICAgICAgbmlsKSkpCj4gPiA+ID4gPiBkaWZmIC0tZ2l0IGEveHBlcmZlY3RoYXNoMzAubGlz
cC1leHByIGIveHBlcmZlY3RoYXNoMzAubGlzcC1leHByCj4gPiA+ID4gPiBpbmRleCA2YTUwM2Fj
ZjAuLjFiNzIyN2M3OCAxMDA2NDQKPiA+ID4gPiA+IC0tLSBhL3hwZXJmZWN0aGFzaDMwLmxpc3At
ZXhwcgo+ID4gPiA+ID4gKysrIGIveHBlcmZlY3RoYXNoMzAubGlzcC1leHByCj4gPiA+ID4gPiBA
QCAtMTUwNiw2ICsxNTA2LDkgQEAKPiA+ID4gPiA+ICAoIygxMEJFNzI3NyAxMjIxNEFFOCAxMkUy
Q0JEQSAxOTczOTUzOSAxRjM1NTZDNyAxRjY0NDM4NykKPiA+ID4gPiA+ICAgIihJTlRFR0VSIEJJ
R05VTSBTQi1WTTo6VU5TSUdORUQtQllURS0zMSBTQi1WTTo6U0lHTkVELUJZVEUtMzIgRklYTlVN
IFNCLVZNOjpQT1NJVElWRS1GSVhOVU0pIgo+ID4gPiA+ID4gICAiKCgmICheIHZhbCAoPj4gdmFs
IDIyKSkgNykpIikKPiA+ID4gPiA+ICsoIygxMEQyRUE0RSAxMjI0QzU1NyAxNUE1OEQ4NSAxNUI1
QTJCNSAxNzUyNEE3OCAxNzY5RTQxOSAxODkwNkQwOCkKPiA+ID4gPiA+ICsgIihTQi1DOjpDU0VU
IFNCLUM6OlJFRiBERUxBWSBTQi1DOjpBUlJBWS1JTkRFWC1DQVNUIENBU1QgU0ItQzo6Q09NQklO
QVRJT04gU0ItQzo6Q0lGKSIKPiA+ID4gPiA+ICsgIigoJiAoKyAoPj4gdmFsIDEpICg+PiB2YWwg
OSkpIDcpKSIpCj4gPiA+ID4gPiAgKCMoMTBEMkVBNEUgMTIyNEM1NTcgMTVBNThEODUgMTVCNUEy
QjUgMTc1MjRBNzggMTc2OUU0MTkgMTg5MDZEMDggMTk1Nzc1MzkgMUMwNjVDQjggMUQ2NkM5MzIp
Cj4gPiA+ID4gPiAgICIjKCgoOlRZUEUgU0ItQzo6UkVGKSkgKCg6VFlQRSBTQi1DOjpDT01CSU5B
VElPTikpICgoOlRZUEUgU0ItQzo6Q0lGKSkgKCg6VFlQRSBTQi1DOjpDUkVUVVJOKSkgKCg6VFlQ
RSBTQi1DOjpNVi1DT01CSU5BVElPTikpICgoOlRZUEUgRVhJVCkpICgoOlRZUEUgU0ItQzo6Q1NF
VCkpICgoOlRZUEUgREVMQVkpICg6VFlQRSBTQi1DOjpBUlJBWS1JTkRFWC1DQVNUKSAoOlRZUEUg
Q0FTVCkpKSIKPiA+ID4gPiA+ICAgIigobGV0ICgodGFiICNhKCg4KSAodW5zaWduZWQtYnl0ZSA4
KSAwIDUgMiA4IDEzIDMgMCAwKSkpCj4gPiA+ID4gPiBkaWZmIC0tZ2l0IGEveHBlcmZlY3RoYXNo
NjEubGlzcC1leHByIGIveHBlcmZlY3RoYXNoNjEubGlzcC1leHByCj4gPiA+ID4gPiBpbmRleCA2
ZWI3MjQ4NmIuLmIxYmMwMTRmYiAxMDA2NDQKPiA+ID4gPiA+IC0tLSBhL3hwZXJmZWN0aGFzaDYx
Lmxpc3AtZXhwcgo+ID4gPiA+ID4gKysrIGIveHBlcmZlY3RoYXNoNjEubGlzcC1leHByCj4gPiA+
ID4gPiBAQCAtNDYzLDYgKzQ2Myw5IEBACj4gPiA+ID4gPiAgKCMoOUEzMjBENCAzOUNBQTMzOSA0
M0JCRUUxOCA0RDYxMzY4RiA1MzIyMkRGQiBCRkE4NjE4OSBFREExMDM3RiBGRUU5OUE5NSkKPiA+
ID4gPiA+ICAgIiMoKCg6VFlQRSBTQi1DOjpSRUYpKSAoKDpUWVBFIFNCLUM6OkNPTUJJTkFUSU9O
KSkgKCg6VFlQRSBTQi1DOjpNVi1DT01CSU5BVElPTikpICgoOlRZUEUgRVhJVCkpICgoOlRZUEUg
U0ItQzo6Q1NFVCkpICgoOlRZUEUgREVMQVkpICg6VFlQRSBTQi1DOjpBUlJBWS1JTkRFWC1DQVNU
KSAoOlRZUEUgQ0FTVCkpKSIKPiA+ID4gPiA+ICAgIigoJiAoLSAoPj4gdmFsIDMpICg+PiB2YWwg
MjkpKSA3KSkiKQo+ID4gPiA+ID4gKygjKDlBMzIwRDQgMzlDQUEzMzkgNDNCQkVFMTggNTMyMjJE
RkIgOTM4MDgzN0MgQkZBODYxODkgRkVFOTlBOTUpCj4gPiA+ID4gPiArICIjKCgoOlRZUEUgU0It
Qzo6Q0lGKSAoOlRZUEUgU0ItQzo6Q09NQklOQVRJT04pICg6VFlQRSBERUxBWSkgKDpUWVBFIFNC
LUM6OkFSUkFZLUlOREVYLUNBU1QpICg6VFlQRSBDQVNUKSAoOlRZUEUgU0ItQzo6UkVGKSAoOlRZ
UEUgU0ItQzo6Q1NFVCkpKSIKPiA+ID4gPiA+ICsgIigoJiAoKyB2YWwgKD4+IHZhbCAzMSkpIDcp
KSIpCj4gPiA+ID4gPiAgKCMoOUEzMjBENCA0M0JCRUUxOCA1MzIyMkRGQiBBOEE0QzdEMiBCRkE4
NjE4OSBFQUEzREE1QyBGRUU5OUE5NSkKPiA+ID4gPiA+ICAgIiMoKCg6VFlQRSBTQi1DOjpSRUYp
KSAoKDpUWVBFIERFTEFZKSAoOlRZUEUgU0ItQzo6QVJSQVktSU5ERVgtQ0FTVCkgKDpUWVBFIENB
U1QpKSAoKDpUWVBFIFNCLUM6OkNPTUJJTkFUSU9OKSkgKCg6VFlQRSBTQi1DOjpFTlRSWSkpICgo
OlRZUEUgU0ItQzo6RU5DTE9TRSkpKSIKPiA+ID4gPiA+ICAgIigoJiAoXiAoPj4gdmFsIDcpICg+
PiB2YWwgMjMpKSA3KSkiKQo+ID4gPiA+ID4gZGlmZiAtLWdpdCBhL3hwZXJmZWN0aGFzaDYzLmxp
c3AtZXhwciBiL3hwZXJmZWN0aGFzaDYzLmxpc3AtZXhwcgo+ID4gPiA+ID4gaW5kZXggY2M4NjFi
YjMzLi4xM2JiNWQ4NWQgMTAwNjQ0Cj4gPiA+ID4gPiAtLS0gYS94cGVyZmVjdGhhc2g2My5saXNw
LWV4cHIKPiA+ID4gPiA+ICsrKyBiL3hwZXJmZWN0aGFzaDYzLmxpc3AtZXhwcgo+ID4gPiA+ID4g
QEAgLTg3MCw2ICs4NzAsOSBAQAo+ID4gPiA+ID4gICgjKDEyMTA2OEREIDRENjEzNjhGIDU4MTEw
RTdGIDY3RUUyRDFBIDZEOUE4ODNEIDc0NTg5RDgyIDg5N0I0NjU2IEE2OEEzOTY1KQo+ID4gPiA+
ID4gICAiIygoKDpUWVBFIFNCLUM6OlJFRikpICgoOlRZUEUgU0ItQzo6Q09NQklOQVRJT04pKSAo
KDpUWVBFIFNCLUM6Ok1WLUNPTUJJTkFUSU9OKSkgKCg6VFlQRSBFWElUKSkgKCg6VFlQRSBTQi1D
OjpDU0VUKSkgKCg6VFlQRSBERUxBWSkgKDpUWVBFIFNCLUM6OkFSUkFZLUlOREVYLUNBU1QpICg6
VFlQRSBDQVNUKSkpIgo+ID4gPiA+ID4gICAiKCgmICgtICg+PiB2YWwgNCkgKD4+IHZhbCAxNikp
IDcpKSIpCj4gPiA+ID4gPiArKCMoMTIxMDY4REQgNTgxMTBFN0YgNjdFRTJEMUEgNkQ5QTg4M0Qg
NzQyRDRDNTQgODk3QjQ2NTYgQTY4QTM5NjUpCj4gPiA+ID4gPiArICIjKCgoOlRZUEUgU0ItQzo6
Q0lGKSAoOlRZUEUgU0ItQzo6Q09NQklOQVRJT04pICg6VFlQRSBERUxBWSkgKDpUWVBFIFNCLUM6
OkFSUkFZLUlOREVYLUNBU1QpICg6VFlQRSBDQVNUKSAoOlRZUEUgU0ItQzo6UkVGKSAoOlRZUEUg
U0ItQzo6Q1NFVCkpKSIKPiA+ID4gPiA+ICsgIigoJiAoLSAoPj4gdmFsIDQpICg+PiB2YWwgMTYp
KSA3KSkiKQo+ID4gPiA+ID4gICgjKDEyNkFEQjAyIDMxQjA5NUREIDQyRDgzRkZCIDQzNDFGN0Q4
IDYzQzk3MUQ3IDdBODBGMjAxIDdCNDA4ODgwIDhGNzkxMkQ2IEVCRDAxODcyKQo+ID4gPiA+ID4g
ICAiKDpBTExPVy1PVEhFUi1LRVlTIDpUWVBFIDpSRVNVTFQtU1BFQ1MgOkFSRy1TUEVDUyA6Q0FM
TEVSIDpERVBTIDpGSVJFRCA6TEVYRU5WIDpTT1VSQ0UtUEFUSCkiCj4gPiA+ID4gPiAgICIoKGxl
dCAoKHRhYiAjYSgoOCkgKHVuc2lnbmVkLWJ5dGUgOCkgMCA1IDAgMyAwIDUgMTIgNikpKQo+ID4g
PiA+ID4KPiA+ID4gPiA+IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCj4gPiA+ID4gPgo+ID4gPiA+ID4KPiA+ID4g
PiA+IGhvb2tzL3Bvc3QtcmVjZWl2ZQo+ID4gPiA+ID4gLS0KPiA+ID4gPiA+IFNCQ0wKPiA+ID4g
PiA+Cj4gPiA+ID4gPgo+ID4gPiA+ID4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX18KPiA+ID4gPiA+IFNiY2wtY29tbWl0cyBtYWlsaW5nIGxpc3QKPiA+ID4g
PiA+IFNiY2wtY29tbWl0c0BsaXN0cy5zb3VyY2Vmb3JnZS5uZXQKPiA+ID4gPiA+IGh0dHBzOi8v
bGlzdHMuc291cmNlZm9yZ2UubmV0L2xpc3RzL2xpc3RpbmZvL3NiY2wtY29tbWl0cwoKCl9fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClNiY2wtY29tbWl0cyBt
YWlsaW5nIGxpc3QKU2JjbC1jb21taXRzQGxpc3RzLnNvdXJjZWZvcmdlLm5ldApodHRwczovL2xp
c3RzLnNvdXJjZWZvcmdlLm5ldC9saXN0cy9saXN0aW5mby9zYmNsLWNvbW1pdHMK