Re: GCC segfault on i686

Matthew Carter <[email protected]> Thu, 25 Aug 2016 21:10:14 -0400
Newsgroups gmane.comp.gnu.prolog.bugs
Message-ID <[email protected]>
SGkgYWdhaW4sCgpJdCBpcyBqdXN0IHRoZSAtLWRpc2FibGUtcmVncyBmbGFnIG5lZWRlZCBkdXJp
bmcgdGhlIGNvbmZpZ3VyZSBzdGVwIHRvCnNvbHZlIHRoaXMgaXNzdWUuCgpTbzoKCiAgLi9jb25m
aWd1cmUgLS1kaXNhYmxlLXJlZ3MgJiYgbWFrZSBjbGVhbiAmJiBtYWtlCgpTaG91bGQgZG8gdGhl
IHRyaWNrIG9uIGk2ODYuCgotTWF0dAoKT24gVGh1LCBBdWcgMjUsIDIwMTYgYXQgMDc6NDk6MTJQ
TSArMDIwMCwgVGlsbCBIb2ZtYW5uIHdyb3RlOgo+IEhpIGFsbCwKPiAKPiBkbyB5b3UgaGF2ZSBh
IHN1Z2dlc3Rpb24gb24gaG93IHRvIHByb2NlZWQgd2l0aCB0aGlzIGJ1Zz8gQ2FuIHRoaXMgYmUK
PiBmaXhlZCBvbiB0aGUgUHJvbG9nIHNpZGU/IFNob3VsZCB0aGlzIGJlIHJlcG9ydGVkIGFzIEdD
QyBidWc/Cj4gCj4gS2luZCByZWdhcmRzLAo+IFRpbGwKPiAKPiBPbiAwOC8xOS8yMDE2IDA4OjU2
IEFNLCBUaWxsIEhvZm1hbm4gd3JvdGU6Cj4gPiBPbiAwOC8xOS8yMDE2IDAyOjQwIEFNLCBNYXR0
aGV3IENhcnRlciB3cm90ZToKPiA+PiBJIGNhbiBjb25maXJtIGZhaWx1cmUgdG8gYnVpbGQgd2l0
aCBnY2MgNi4xKyBvbiBpNjg2ICh1c2luZyBBcmNoIExpbnV4Cj4gPj4gbXlzZWxmKS4KPiA+Pgo+
ID4+IEkgY291bGRuJ3QgZ2V0IGl0IHRvIGJ1aWxkIHdpdGggeW91ciBjb25maWd1cmUgb3B0aW9u
cyBob3dldmVyIChpdCBzdGlsbAo+ID4+IGZhaWxlZCB3aXRoIHNlZ2ZhdWx0IGluIHRoZSBzYW1l
IHBsYWNlKS4KPiA+IAo+ID4gVGhlIGNvbmZpZ3VyZSBvcHRpb25zIHdlcmUgb25seSB0byBwcm9k
dWNlIHRoZSBtb3JlIHZlcmJvc2UgbWFrZSBvdXRwdXQKPiA+IGFuZCB0aGUgLmkgZmlsZXMuIFRo
ZSBidWlsZCBzdGlsbCBmYWlscy4gU29ycnkgaWYgdGhpcyB3YXNuJ3QgY2xlYXIuCj4gPiAKPiA+
IEtpbmQgcmVnYXJkcywKPiA+IFRpbGwKPiA+IAo+ID4+Cj4gPj4gLU1hdHQKPiA+Pgo+ID4+IE9u
IFRodSwgQXVnIDE4LCAyMDE2IGF0IDEyOjEwOjQ5UE0gKzAyMDAsIFRpbGwgSG9mbWFubiB3cm90
ZToKPiA+Pj4gSGkgYWxsLAo+ID4+Pgo+ID4+PiBJJ20gY3VycmVudGx5IHRyeWluZyB0byBkZWJ1
ZyBhIEdDQyBzZWdmYXVsdCB0aGF0IG9jY3VycyB3aGVuIGNvbXBpbGluZwo+ID4+PiBFbmdpbmVQ
bC9tYWNoaW5lLmMgb24gaTY4NiBtYWNoaW5lczoKPiA+Pj4KPiA+Pj4+IG1ha2VbMV06IEVudGVy
aW5nIGRpcmVjdG9yeSAnL2hvbWUvdGlsbC9ycG1idWlsZC9TT1VSQ0VTL2dwcm9sb2ctMS40LjQv
c3JjL0VuZ2luZVBsJwo+ID4+Pj4gZ3BsYyAtYyAtQyAnLU8zIC1mb21pdC1mcmFtZS1wb2ludGVy
JyBtYWNoaW5lLmMKPiA+Pj4+IG1hY2hpbmUuYzogSW4gZnVuY3Rpb24g4oCYUGxfTV9SYW5kb21p
emXigJk6Cj4gPj4+PiBtYWNoaW5lLmM6Mzg2OjE6IGludGVybmFsIGNvbXBpbGVyIGVycm9yOiBT
ZWdtZW50YXRpb24gZmF1bHQKPiA+Pj4KPiA+Pj4gSXQgbG9va3MgbGlrZSB0aGlzIGlzIHJlbGF0
ZWQgdG8gdXNpbmcgdGhlIGVieCByZWdpc3RlcjsgaWYgSSByZW1vdmUKPiA+Pj4gJy1mZml4ZWQt
ZWJ4JyBmcm9tIHRoZSBjYWxsIHRvIGNjMSwgdGhlIHNlZ2ZhdWx0IGRpc2FwcGVhcnMuCj4gPj4+
Cj4gPj4+IExvb2tpbmcgYXQgdGhlIENoYW5nZWxvZywgaXQgbG9va3MgbGlrZSB0aGVyZSB3YXMg
YSBmaXggZm9yIHNvbWUgaXNzdWUKPiA+Pj4gcmVsYXRlZCB0byB1c2luZyBlYnggaW4gMS4zLjEs
IGJ1dCB0aGUgZXJyb3Igc3RpbGwgb2NjdXJzIG9uIGk2ODYuCj4gPj4+Cj4gPj4+IFRvIHJlcHJv
ZHVjZSwgeW91IG5lZWQgdG8gYnVpbGQgZ3Byb2xvZyBvbiBpNjg2IHdpdGggR0NDIDYuMS4gSSBj
b3VsZAo+ID4+PiByZXByb2R1Y2UgdGhpcyBvbiBtdWx0aXBsZSBtYWNoaW5lcy4KPiA+Pj4KPiA+
Pj4gU29tZSBhZGRpdGlvbmFsIGluZm86Cj4gPj4+IGdwcm9sb2cgdmVyc2lvbjogMS40LjQKPiA+
Pj4gT1M6IEZlZG9yYSAyNCAoYWxzbyBvY2N1cnMgb24gRmVkb3JhIDI1IGFuZCBGZWRvcmEgUmF3
aGlkZSkKPiA+Pj4gJCBnY2MgLS12ZXJzaW9uCj4gPj4+IGdjYyAoR0NDKSA2LjEuMSAyMDE2MDYy
MSAoUmVkIEhhdCA2LjEuMS0zKQo+ID4+PiAkIHVuYW1lIC1hCj4gPj4+IExpbnV4IG5jMTAgNC42
LjUtMzAwLmZjMjQuaTY4NitQQUUgIzEgU01QIFRodSBKdWwgMjggMDE6MzQ6NDYgVVRDIDIwMTYK
PiA+Pj4gaTY4NiBpNjg2IGkzODYgR05VL0xpbnV4Cj4gPj4+Cj4gPj4+IEkgYnVpbGQgd2l0aCAi
Li9jb25maWd1cmUgLS13aXRoLWMtZmxhZ3M9Jy12IC1zYXZlLXRlbXBzJyIsIEkndmUKPiA+Pj4g
YXR0YWNoZWQgdGhlIGZ1bGwgb3V0cHV0IGZyb20gbWFrZS4gSSd2ZSBhbHNvIGF0dGFjaGVkIG1h
Y2hpbmUuaS4KPiA+Pj4KPiA+Pj4gV2l0aCBvbGRlciBHQ0MgdmVyc2lvbnMgKDw2KSwgdGhlIGJ1
ZyBkb2VzIG5vdCBvY2N1ciwgc28gdGhpcyBtaWdodCB3ZWxsCj4gPj4+IGJlIGEgYnVnIGluIEdD
QzYuCj4gPj4+Cj4gPj4+Cj4gPj4+IEtpbmQgcmVnYXJkcwo+ID4+PiBUaWxsCj4gPj4KPiA+Pj4g
Y2QgRW5naW5lUGw7IG1ha2UgY29uZmlnCj4gPj4+IG1ha2VbMV06IEVudGVyaW5nIGRpcmVjdG9y
eSAnL2hvbWUvdGlsbC9ycG1idWlsZC9TT1VSQ0VTL2dwcm9sb2ctMS40LjQvc3JjL0VuZ2luZVBs
Jwo+ID4+PiBnY2MgLW1hcmNoPXBlbnRpdW1wcm8gLW0zMiAtZm5vLXN0cmljdC1hbGlhc2luZyAt
diAtc2F2ZS10ZW1wcyAgLW8gcGxfY29uZmlnIHBsX2NvbmZpZy5jCj4gPj4+IFVzaW5nIGJ1aWx0
LWluIHNwZWNzLgo+ID4+PiBDT0xMRUNUX0dDQz1nY2MKPiA+Pj4gQ09MTEVDVF9MVE9fV1JBUFBF
Uj0vdXNyL2xpYmV4ZWMvZ2NjL2k2ODYtcmVkaGF0LWxpbnV4LzYuMS4xL2x0by13cmFwcGVyCj4g
Pj4+IFRhcmdldDogaTY4Ni1yZWRoYXQtbGludXgKPiA+Pj4gQ29uZmlndXJlZCB3aXRoOiAuLi9j
b25maWd1cmUgLS1lbmFibGUtYm9vdHN0cmFwIC0tZW5hYmxlLWxhbmd1YWdlcz1jLGMrKyxvYmpj
LG9iai1jKyssZm9ydHJhbixhZGEsZ28sbHRvIC0tcHJlZml4PS91c3IgLS1tYW5kaXI9L3Vzci9z
aGFyZS9tYW4gLS1pbmZvZGlyPS91c3Ivc2hhcmUvaW5mbyAtLXdpdGgtYnVndXJsPWh0dHA6Ly9i
dWd6aWxsYS5yZWRoYXQuY29tL2J1Z3ppbGxhIC0tZW5hYmxlLXNoYXJlZCAtLWVuYWJsZS10aHJl
YWRzPXBvc2l4IC0tZW5hYmxlLWNoZWNraW5nPXJlbGVhc2UgLS1lbmFibGUtbXVsdGlsaWIgLS13
aXRoLXN5c3RlbS16bGliIC0tZW5hYmxlLV9fY3hhX2F0ZXhpdCAtLWRpc2FibGUtbGlidW53aW5k
LWV4Y2VwdGlvbnMgLS1lbmFibGUtZ251LXVuaXF1ZS1vYmplY3QgLS1lbmFibGUtbGlua2VyLWJ1
aWxkLWlkIC0td2l0aC1saW5rZXItaGFzaC1zdHlsZT1nbnUgLS1lbmFibGUtcGx1Z2luIC0tZW5h
YmxlLWluaXRmaW5pLWFycmF5IC0tZGlzYWJsZS1saWJnY2ogLS13aXRoLWlzbCAtLWVuYWJsZS1s
aWJtcHggLS1lbmFibGUtZ251LWluZGlyZWN0LWZ1bmN0aW9uIC0td2l0aC10dW5lPWdlbmVyaWMg
LS13aXRoLWFyY2g9aTY4NiAtLWJ1aWxkPWk2ODYtcmVkaGF0LWxpbnV4Cj4gPj4+IFRocmVhZCBt
b2RlbDogcG9zaXgKPiA+Pj4gZ2NjIHZlcnNpb24gNi4xLjEgMjAxNjA2MjEgKFJlZCBIYXQgNi4x
LjEtMykgKEdDQykgCj4gPj4+IENPTExFQ1RfR0NDX09QVElPTlM9Jy1tYXJjaD1wZW50aXVtcHJv
JyAnLW0zMicgJy1mbm8tc3RyaWN0LWFsaWFzaW5nJyAnLXYnICctc2F2ZS10ZW1wcycgJy1vJyAn
cGxfY29uZmlnJwo+ID4+PiAgL3Vzci9saWJleGVjL2djYy9pNjg2LXJlZGhhdC1saW51eC82LjEu
MS9jYzEgLUUgLXF1aWV0IC12IHBsX2NvbmZpZy5jIC1tYXJjaD1wZW50aXVtcHJvIC1tMzIgLWZu
by1zdHJpY3QtYWxpYXNpbmcgLWZwY2gtcHJlcHJvY2VzcyAtbyBwbF9jb25maWcuaQo+ID4+PiBp
Z25vcmluZyBub25leGlzdGVudCBkaXJlY3RvcnkgIi91c3IvbGliL2djYy9pNjg2LXJlZGhhdC1s
aW51eC82LjEuMS9pbmNsdWRlLWZpeGVkIgo+ID4+PiBpZ25vcmluZyBub25leGlzdGVudCBkaXJl
Y3RvcnkgIi91c3IvbGliL2djYy9pNjg2LXJlZGhhdC1saW51eC82LjEuMS8uLi8uLi8uLi8uLi9p
Njg2LXJlZGhhdC1saW51eC9pbmNsdWRlIgo+ID4+PiAjaW5jbHVkZSAiLi4uIiBzZWFyY2ggc3Rh
cnRzIGhlcmU6Cj4gPj4+ICNpbmNsdWRlIDwuLi4+IHNlYXJjaCBzdGFydHMgaGVyZToKPiA+Pj4g
IC91c3IvbGliL2djYy9pNjg2LXJlZGhhdC1saW51eC82LjEuMS9pbmNsdWRlCj4gPj4+ICAvdXNy
L2xvY2FsL2luY2x1ZGUKPiA+Pj4gIC91c3IvaW5jbHVkZQo+ID4+PiBFbmQgb2Ygc2VhcmNoIGxp
c3QuCj4gPj4+IENPTExFQ1RfR0NDX09QVElPTlM9Jy1tYXJjaD1wZW50aXVtcHJvJyAnLW0zMicg
Jy1mbm8tc3RyaWN0LWFsaWFzaW5nJyAnLXYnICctc2F2ZS10ZW1wcycgJy1vJyAncGxfY29uZmln
Jwo+ID4+PiAgL3Vzci9saWJleGVjL2djYy9pNjg2LXJlZGhhdC1saW51eC82LjEuMS9jYzEgLWZw
cmVwcm9jZXNzZWQgcGxfY29uZmlnLmkgLXF1aWV0IC1kdW1wYmFzZSBwbF9jb25maWcuYyAtbWFy
Y2g9cGVudGl1bXBybyAtbTMyIC1hdXhiYXNlIHBsX2NvbmZpZyAtdmVyc2lvbiAtZm5vLXN0cmlj
dC1hbGlhc2luZyAtbyBwbF9jb25maWcucwo+ID4+PiBHTlUgQzExIChHQ0MpIHZlcnNpb24gNi4x
LjEgMjAxNjA2MjEgKFJlZCBIYXQgNi4xLjEtMykgKGk2ODYtcmVkaGF0LWxpbnV4KQo+ID4+PiAJ
Y29tcGlsZWQgYnkgR05VIEMgdmVyc2lvbiA2LjEuMSAyMDE2MDYyMSAoUmVkIEhhdCA2LjEuMS0z
KSwgR01QIHZlcnNpb24gNi4xLjAsIE1QRlIgdmVyc2lvbiAzLjEuNCwgTVBDIHZlcnNpb24gMS4w
LjIsIGlzbCB2ZXJzaW9uIDAuMTQgb3IgMC4xMwo+ID4+PiB3YXJuaW5nOiBHTVAgaGVhZGVyIHZl
cnNpb24gNi4xLjAgZGlmZmVycyBmcm9tIGxpYnJhcnkgdmVyc2lvbiA2LjEuMS4KPiA+Pj4gR0dD
IGhldXJpc3RpY3M6IC0tcGFyYW0gZ2djLW1pbi1leHBhbmQ9MTAwIC0tcGFyYW0gZ2djLW1pbi1o
ZWFwc2l6ZT0xMzEwNzIKPiA+Pj4gR05VIEMxMSAoR0NDKSB2ZXJzaW9uIDYuMS4xIDIwMTYwNjIx
IChSZWQgSGF0IDYuMS4xLTMpIChpNjg2LXJlZGhhdC1saW51eCkKPiA+Pj4gCWNvbXBpbGVkIGJ5
IEdOVSBDIHZlcnNpb24gNi4xLjEgMjAxNjA2MjEgKFJlZCBIYXQgNi4xLjEtMyksIEdNUCB2ZXJz
aW9uIDYuMS4wLCBNUEZSIHZlcnNpb24gMy4xLjQsIE1QQyB2ZXJzaW9uIDEuMC4yLCBpc2wgdmVy
c2lvbiAwLjE0IG9yIDAuMTMKPiA+Pj4gd2FybmluZzogR01QIGhlYWRlciB2ZXJzaW9uIDYuMS4w
IGRpZmZlcnMgZnJvbSBsaWJyYXJ5IHZlcnNpb24gNi4xLjEuCj4gPj4+IEdHQyBoZXVyaXN0aWNz
OiAtLXBhcmFtIGdnYy1taW4tZXhwYW5kPTEwMCAtLXBhcmFtIGdnYy1taW4taGVhcHNpemU9MTMx
MDcyCj4gPj4+IENvbXBpbGVyIGV4ZWN1dGFibGUgY2hlY2tzdW06IGFiY2ViMTM4YWY0M2E3OGMz
NmMxYWFhMjI4ZjVmOTJhCj4gPj4+IENPTExFQ1RfR0NDX09QVElPTlM9Jy1tYXJjaD1wZW50aXVt
cHJvJyAnLW0zMicgJy1mbm8tc3RyaWN0LWFsaWFzaW5nJyAnLXYnICctc2F2ZS10ZW1wcycgJy1v
JyAncGxfY29uZmlnJwo+ID4+PiAgYXMgLXYgLS0zMiAtbyBwbF9jb25maWcubyBwbF9jb25maWcu
cwo+ID4+PiBHTlUgYXNzZW1ibGVyIHZlcnNpb24gMi4yNi4xIChpNjg2LXJlZGhhdC1saW51eCkg
dXNpbmcgQkZEIHZlcnNpb24gdmVyc2lvbiAyLjI2LjEtMS5mYzI0Cj4gPj4+IENPTVBJTEVSX1BB
VEg9L3Vzci9saWJleGVjL2djYy9pNjg2LXJlZGhhdC1saW51eC82LjEuMS86L3Vzci9saWJleGVj
L2djYy9pNjg2LXJlZGhhdC1saW51eC82LjEuMS86L3Vzci9saWJleGVjL2djYy9pNjg2LXJlZGhh
dC1saW51eC86L3Vzci9saWIvZ2NjL2k2ODYtcmVkaGF0LWxpbnV4LzYuMS4xLzovdXNyL2xpYi9n
Y2MvaTY4Ni1yZWRoYXQtbGludXgvCj4gPj4+IExJQlJBUllfUEFUSD0vdXNyL2xpYi9nY2MvaTY4
Ni1yZWRoYXQtbGludXgvNi4xLjEvOi91c3IvbGliL2djYy9pNjg2LXJlZGhhdC1saW51eC82LjEu
MS8uLi8uLi8uLi86L2xpYi86L3Vzci9saWIvCj4gPj4+IENPTExFQ1RfR0NDX09QVElPTlM9Jy1t
YXJjaD1wZW50aXVtcHJvJyAnLW0zMicgJy1mbm8tc3RyaWN0LWFsaWFzaW5nJyAnLXYnICctc2F2
ZS10ZW1wcycgJy1vJyAncGxfY29uZmlnJwo+ID4+PiAgL3Vzci9saWJleGVjL2djYy9pNjg2LXJl
ZGhhdC1saW51eC82LjEuMS9jb2xsZWN0MiAtcGx1Z2luIC91c3IvbGliZXhlYy9nY2MvaTY4Ni1y
ZWRoYXQtbGludXgvNi4xLjEvbGlibHRvX3BsdWdpbi5zbyAtcGx1Z2luLW9wdD0vdXNyL2xpYmV4
ZWMvZ2NjL2k2ODYtcmVkaGF0LWxpbnV4LzYuMS4xL2x0by13cmFwcGVyIC1wbHVnaW4tb3B0PS1m
cmVzb2x1dGlvbj1wbF9jb25maWcucmVzIC1wbHVnaW4tb3B0PS1wYXNzLXRocm91Z2g9LWxnY2Mg
LXBsdWdpbi1vcHQ9LXBhc3MtdGhyb3VnaD0tbGdjY19zIC1wbHVnaW4tb3B0PS1wYXNzLXRocm91
Z2g9LWxjIC1wbHVnaW4tb3B0PS1wYXNzLXRocm91Z2g9LWxnY2MgLXBsdWdpbi1vcHQ9LXBhc3Mt
dGhyb3VnaD0tbGdjY19zIC0tYnVpbGQtaWQgLS1uby1hZGQtbmVlZGVkIC0tZWgtZnJhbWUtaGRy
IC0taGFzaC1zdHlsZT1nbnUgLW0gZWxmX2kzODYgLWR5bmFtaWMtbGlua2VyIC9saWIvbGQtbGlu
dXguc28uMiAtbyBwbF9jb25maWcgL3Vzci9saWIvZ2NjL2k2ODYtcmVkaGF0LWxpbnV4LzYuMS4x
Ly4uLy4uLy4uL2NydDEubyAvdXNyL2xpYi9nY2MvaTY4Ni1yZWRoYXQtbGludXgvNi4xLjEvLi4v
Li4vLi4vY3J0aS5vIC91c3IvbGliL2djYy9pNjg2LXJlZGhhdC1saW51eC82LjEuMS9jcnRiZWdp
bi5vIC1ML3Vzci9saWIvZ2NjL2k2ODYtcmVkaGF0LWxpbnV4LzYuMS4xIC1ML3Vzci9saWIvZ2Nj
L2k2ODYtcmVkaGF0LWxpbnV4LzYuMS4xLy4uLy4uLy4uIHBsX2NvbmZpZy5vIC1sZ2NjIC0tYXMt
bmVlZGVkIC1sZ2NjX3MgLS1uby1hcy1uZWVkZWQgLWxjIC1sZ2NjIC0tYXMtbmVlZGVkIC1sZ2Nj
X3MgLS1uby1hcy1uZWVkZWQgL3Vzci9saWIvZ2NjL2k2ODYtcmVkaGF0LWxpbnV4LzYuMS4xL2Ny
dGVuZC5vIC91c3IvbGliL2djYy9pNjg2LXJlZGhhdC1saW51eC82LjEuMS8uLi8uLi8uLi9jcnRu
Lm8KPiA+Pj4gQ09MTEVDVF9HQ0NfT1BUSU9OUz0nLW1hcmNoPXBlbnRpdW1wcm8nICctbTMyJyAn
LWZuby1zdHJpY3QtYWxpYXNpbmcnICctdicgJy1zYXZlLXRlbXBzJyAnLW8nICdwbF9jb25maWcn
Cj4gPj4+IC4vcGxfY29uZmlnCj4gPj4+Cj4gPj4+IAktLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tCj4gPj4+IAktLS0gR05VIFBST0xPRyBJTlNUQUxMQVRJT04gLS0tCj4gPj4+IAktLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCj4gPj4+Cj4gPj4+IEdOVSBQcm9sb2cgdmVyc2lv
bjogMS40LjQgKEF1ZyAxOCAyMDE2KQo+ID4+PiBPcGVyYXRpbmcgc3lzdGVtICA6IGxpbnV4LWdu
dQo+ID4+PiBQcm9jZXNzb3IgICAgICAgICA6IGk2ODYKPiA+Pj4gU2l6ZSBvZiBhIFdBTSB3b3Jk
OiAzMiBiaXRzCj4gPj4+IEMgY29tcGlsZXIgICAgICAgIDogZ2NjCj4gPj4+IEMgZmxhZ3MgICAg
ICAgICAgIDogLXYgLXNhdmUtdGVtcHMKPiA+Pj4gQyBmbGFncyBtYWNoaW5lICAgOiAtbWFyY2g9
cGVudGl1bXBybyAtbTMyIC1mbm8tc3RyaWN0LWFsaWFzaW5nCj4gPj4+IEFzc2VtYmxlciAgICAg
ICAgIDogYXMKPiA+Pj4gQXNzZW1ibGVyIGZsYWdzICAgOiAtLTMyCj4gPj4+IExvYWRlciBmbGFn
cyAgICAgIDogCj4gPj4+IExvYWRlciBsaWJyYXJpZXMgIDogLWxtCj4gPj4+IFVzZSBsaW5lIGVk
aXRvciAgIDogWWVzCj4gPj4+IFVzZSBwaXBlZCBjb25zdWx0IDogWWVzCj4gPj4+IFVzZSBzb2Nr
ZXRzICAgICAgIDogWWVzCj4gPj4+IFVzZSBGRCBzb2x2ZXIgICAgIDogWWVzCj4gPj4+IFVzZSBm
YXN0IGNhbGwgICAgIDogWWVzCj4gPj4+IFVzZSBtYWNoaW5lIHJlZ3MuIDogWWVzCj4gPj4+IFVz
ZWQgcmVnaXN0ZXIocykgIDogZWJ4IChUUikgIAo+ID4+Pgo+ID4+PiAJLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tCj4gPj4+Cj4gPj4+IChjZCAuLi9Ub3BDb21wOyBtYWtlIGdwbGMpCj4g
Pj4+IG1ha2VbMl06IEVudGVyaW5nIGRpcmVjdG9yeSAnL2hvbWUvdGlsbC9ycG1idWlsZC9TT1VS
Q0VTL2dwcm9sb2ctMS40LjQvc3JjL1RvcENvbXAnCj4gPj4+IGdjYyAtbWFyY2g9cGVudGl1bXBy
byAtbTMyIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC12IC1zYXZlLXRlbXBzIC1vIGdwbGMgdG9wX2Nv
bXAuYyAtbG0KPiA+Pj4gVXNpbmcgYnVpbHQtaW4gc3BlY3MuCj4gPj4+IENPTExFQ1RfR0NDPWdj
Ywo+ID4+PiBDT0xMRUNUX0xUT19XUkFQUEVSPS91c3IvbGliZXhlYy9nY2MvaTY4Ni1yZWRoYXQt
bGludXgvNi4xLjEvbHRvLXdyYXBwZXIKPiA+Pj4gVGFyZ2V0OiBpNjg2LXJlZGhhdC1saW51eAo+
ID4+PiBDb25maWd1cmVkIHdpdGg6IC4uL2NvbmZpZ3VyZSAtLWVuYWJsZS1ib290c3RyYXAgLS1l
bmFibGUtbGFuZ3VhZ2VzPWMsYysrLG9iamMsb2JqLWMrKyxmb3J0cmFuLGFkYSxnbyxsdG8gLS1w
cmVmaXg9L3VzciAtLW1hbmRpcj0vdXNyL3NoYXJlL21hbiAtLWluZm9kaXI9L3Vzci9zaGFyZS9p
bmZvIC0td2l0aC1idWd1cmw9aHR0cDovL2J1Z3ppbGxhLnJlZGhhdC5jb20vYnVnemlsbGEgLS1l
bmFibGUtc2hhcmVkIC0tZW5hYmxlLXRocmVhZHM9cG9zaXggLS1lbmFibGUtY2hlY2tpbmc9cmVs
ZWFzZSAtLWVuYWJsZS1tdWx0aWxpYiAtLXdpdGgtc3lzdGVtLXpsaWIgLS1lbmFibGUtX19jeGFf
YXRleGl0IC0tZGlzYWJsZS1saWJ1bndpbmQtZXhjZXB0aW9ucyAtLWVuYWJsZS1nbnUtdW5pcXVl
LW9iamVjdCAtLWVuYWJsZS1saW5rZXItYnVpbGQtaWQgLS13aXRoLWxpbmtlci1oYXNoLXN0eWxl
PWdudSAtLWVuYWJsZS1wbHVnaW4gLS1lbmFibGUtaW5pdGZpbmktYXJyYXkgLS1kaXNhYmxlLWxp
YmdjaiAtLXdpdGgtaXNsIC0tZW5hYmxlLWxpYm1weCAtLWVuYWJsZS1nbnUtaW5kaXJlY3QtZnVu
Y3Rpb24gLS13aXRoLXR1bmU9Z2VuZXJpYyAtLXdpdGgtYXJjaD1pNjg2IC0tYnVpbGQ9aTY4Ni1y
ZWRoYXQtbGludXgKPiA+Pj4gVGhyZWFkIG1vZGVsOiBwb3NpeAo+ID4+PiBnY2MgdmVyc2lvbiA2
LjEuMSAyMDE2MDYyMSAoUmVkIEhhdCA2LjEuMS0zKSAoR0NDKSAKPiA+Pj4gQ09MTEVDVF9HQ0Nf
T1BUSU9OUz0nLW1hcmNoPXBlbnRpdW1wcm8nICctbTMyJyAnLWZuby1zdHJpY3QtYWxpYXNpbmcn
ICctdicgJy1zYXZlLXRlbXBzJyAnLW8nICdncGxjJwo+ID4+PiAgL3Vzci9saWJleGVjL2djYy9p
Njg2LXJlZGhhdC1saW51eC82LjEuMS9jYzEgLUUgLXF1aWV0IC12IHRvcF9jb21wLmMgLW1hcmNo
PXBlbnRpdW1wcm8gLW0zMiAtZm5vLXN0cmljdC1hbGlhc2luZyAtZnBjaC1wcmVwcm9jZXNzIC1v
IHRvcF9jb21wLmkKPiA+Pj4gaWdub3Jpbmcgbm9uZXhpc3RlbnQgZGlyZWN0b3J5ICIvdXNyL2xp
Yi9nY2MvaTY4Ni1yZWRoYXQtbGludXgvNi4xLjEvaW5jbHVkZS1maXhlZCIKPiA+Pj4gaWdub3Jp
bmcgbm9uZXhpc3RlbnQgZGlyZWN0b3J5ICIvdXNyL2xpYi9nY2MvaTY4Ni1yZWRoYXQtbGludXgv
Ni4xLjEvLi4vLi4vLi4vLi4vaTY4Ni1yZWRoYXQtbGludXgvaW5jbHVkZSIKPiA+Pj4gI2luY2x1
ZGUgIi4uLiIgc2VhcmNoIHN0YXJ0cyBoZXJlOgo+ID4+PiAjaW5jbHVkZSA8Li4uPiBzZWFyY2gg
c3RhcnRzIGhlcmU6Cj4gPj4+ICAvdXNyL2xpYi9nY2MvaTY4Ni1yZWRoYXQtbGludXgvNi4xLjEv
aW5jbHVkZQo+ID4+PiAgL3Vzci9sb2NhbC9pbmNsdWRlCj4gPj4+ICAvdXNyL2luY2x1ZGUKPiA+
Pj4gRW5kIG9mIHNlYXJjaCBsaXN0Lgo+ID4+PiBDT0xMRUNUX0dDQ19PUFRJT05TPSctbWFyY2g9
cGVudGl1bXBybycgJy1tMzInICctZm5vLXN0cmljdC1hbGlhc2luZycgJy12JyAnLXNhdmUtdGVt
cHMnICctbycgJ2dwbGMnCj4gPj4+ICAvdXNyL2xpYmV4ZWMvZ2NjL2k2ODYtcmVkaGF0LWxpbnV4
LzYuMS4xL2NjMSAtZnByZXByb2Nlc3NlZCB0b3BfY29tcC5pIC1xdWlldCAtZHVtcGJhc2UgdG9w
X2NvbXAuYyAtbWFyY2g9cGVudGl1bXBybyAtbTMyIC1hdXhiYXNlIHRvcF9jb21wIC12ZXJzaW9u
IC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1vIHRvcF9jb21wLnMKPiA+Pj4gR05VIEMxMSAoR0NDKSB2
ZXJzaW9uIDYuMS4xIDIwMTYwNjIxIChSZWQgSGF0IDYuMS4xLTMpIChpNjg2LXJlZGhhdC1saW51
eCkKPiA+Pj4gCWNvbXBpbGVkIGJ5IEdOVSBDIHZlcnNpb24gNi4xLjEgMjAxNjA2MjEgKFJlZCBI
YXQgNi4xLjEtMyksIEdNUCB2ZXJzaW9uIDYuMS4wLCBNUEZSIHZlcnNpb24gMy4xLjQsIE1QQyB2
ZXJzaW9uIDEuMC4yLCBpc2wgdmVyc2lvbiAwLjE0IG9yIDAuMTMKPiA+Pj4gd2FybmluZzogR01Q
IGhlYWRlciB2ZXJzaW9uIDYuMS4wIGRpZmZlcnMgZnJvbSBsaWJyYXJ5IHZlcnNpb24gNi4xLjEu
Cj4gPj4+IEdHQyBoZXVyaXN0aWNzOiAtLXBhcmFtIGdnYy1taW4tZXhwYW5kPTEwMCAtLXBhcmFt
IGdnYy1taW4taGVhcHNpemU9MTMxMDcyCj4gPj4+IEdOVSBDMTEgKEdDQykgdmVyc2lvbiA2LjEu
MSAyMDE2MDYyMSAoUmVkIEhhdCA2LjEuMS0zKSAoaTY4Ni1yZWRoYXQtbGludXgpCj4gPj4+IAlj
b21waWxlZCBieSBHTlUgQyB2ZXJzaW9uIDYuMS4xIDIwMTYwNjIxIChSZWQgSGF0IDYuMS4xLTMp
LCBHTVAgdmVyc2lvbiA2LjEuMCwgTVBGUiB2ZXJzaW9uIDMuMS40LCBNUEMgdmVyc2lvbiAxLjAu
MiwgaXNsIHZlcnNpb24gMC4xNCBvciAwLjEzCj4gPj4+IHdhcm5pbmc6IEdNUCBoZWFkZXIgdmVy
c2lvbiA2LjEuMCBkaWZmZXJzIGZyb20gbGlicmFyeSB2ZXJzaW9uIDYuMS4xLgo+ID4+PiBHR0Mg
aGV1cmlzdGljczogLS1wYXJhbSBnZ2MtbWluLWV4cGFuZD0xMDAgLS1wYXJhbSBnZ2MtbWluLWhl
YXBzaXplPTEzMTA3Mgo+ID4+PiBDb21waWxlciBleGVjdXRhYmxlIGNoZWNrc3VtOiBhYmNlYjEz
OGFmNDNhNzhjMzZjMWFhYTIyOGY1ZjkyYQo+ID4+PiBDT0xMRUNUX0dDQ19PUFRJT05TPSctbWFy
Y2g9cGVudGl1bXBybycgJy1tMzInICctZm5vLXN0cmljdC1hbGlhc2luZycgJy12JyAnLXNhdmUt
dGVtcHMnICctbycgJ2dwbGMnCj4gPj4+ICBhcyAtdiAtLTMyIC1vIHRvcF9jb21wLm8gdG9wX2Nv
bXAucwo+ID4+PiBHTlUgYXNzZW1ibGVyIHZlcnNpb24gMi4yNi4xIChpNjg2LXJlZGhhdC1saW51
eCkgdXNpbmcgQkZEIHZlcnNpb24gdmVyc2lvbiAyLjI2LjEtMS5mYzI0Cj4gPj4+IENPTVBJTEVS
X1BBVEg9L3Vzci9saWJleGVjL2djYy9pNjg2LXJlZGhhdC1saW51eC82LjEuMS86L3Vzci9saWJl
eGVjL2djYy9pNjg2LXJlZGhhdC1saW51eC82LjEuMS86L3Vzci9saWJleGVjL2djYy9pNjg2LXJl
ZGhhdC1saW51eC86L3Vzci9saWIvZ2NjL2k2ODYtcmVkaGF0LWxpbnV4LzYuMS4xLzovdXNyL2xp
Yi9nY2MvaTY4Ni1yZWRoYXQtbGludXgvCj4gPj4+IExJQlJBUllfUEFUSD0vdXNyL2xpYi9nY2Mv
aTY4Ni1yZWRoYXQtbGludXgvNi4xLjEvOi91c3IvbGliL2djYy9pNjg2LXJlZGhhdC1saW51eC82
LjEuMS8uLi8uLi8uLi86L2xpYi86L3Vzci9saWIvCj4gPj4+IENPTExFQ1RfR0NDX09QVElPTlM9
Jy1tYXJjaD1wZW50aXVtcHJvJyAnLW0zMicgJy1mbm8tc3RyaWN0LWFsaWFzaW5nJyAnLXYnICct
c2F2ZS10ZW1wcycgJy1vJyAnZ3BsYycKPiA+Pj4gIC91c3IvbGliZXhlYy9nY2MvaTY4Ni1yZWRo
YXQtbGludXgvNi4xLjEvY29sbGVjdDIgLXBsdWdpbiAvdXNyL2xpYmV4ZWMvZ2NjL2k2ODYtcmVk
aGF0LWxpbnV4LzYuMS4xL2xpYmx0b19wbHVnaW4uc28gLXBsdWdpbi1vcHQ9L3Vzci9saWJleGVj
L2djYy9pNjg2LXJlZGhhdC1saW51eC82LjEuMS9sdG8td3JhcHBlciAtcGx1Z2luLW9wdD0tZnJl
c29sdXRpb249dG9wX2NvbXAucmVzIC1wbHVnaW4tb3B0PS1wYXNzLXRocm91Z2g9LWxnY2MgLXBs
dWdpbi1vcHQ9LXBhc3MtdGhyb3VnaD0tbGdjY19zIC1wbHVnaW4tb3B0PS1wYXNzLXRocm91Z2g9
LWxjIC1wbHVnaW4tb3B0PS1wYXNzLXRocm91Z2g9LWxnY2MgLXBsdWdpbi1vcHQ9LXBhc3MtdGhy
b3VnaD0tbGdjY19zIC0tYnVpbGQtaWQgLS1uby1hZGQtbmVlZGVkIC0tZWgtZnJhbWUtaGRyIC0t
aGFzaC1zdHlsZT1nbnUgLW0gZWxmX2kzODYgLWR5bmFtaWMtbGlua2VyIC9saWIvbGQtbGludXgu
c28uMiAtbyBncGxjIC91c3IvbGliL2djYy9pNjg2LXJlZGhhdC1saW51eC82LjEuMS8uLi8uLi8u
Li9jcnQxLm8gL3Vzci9saWIvZ2NjL2k2ODYtcmVkaGF0LWxpbnV4LzYuMS4xLy4uLy4uLy4uL2Ny
dGkubyAvdXNyL2xpYi9nY2MvaTY4Ni1yZWRoYXQtbGludXgvNi4xLjEvY3J0YmVnaW4ubyAtTC91
c3IvbGliL2djYy9pNjg2LXJlZGhhdC1saW51eC82LjEuMSAtTC91c3IvbGliL2djYy9pNjg2LXJl
ZGhhdC1saW51eC82LjEuMS8uLi8uLi8uLiB0b3BfY29tcC5vIC1sbSAtbGdjYyAtLWFzLW5lZWRl
ZCAtbGdjY19zIC0tbm8tYXMtbmVlZGVkIC1sYyAtbGdjYyAtLWFzLW5lZWRlZCAtbGdjY19zIC0t
bm8tYXMtbmVlZGVkIC91c3IvbGliL2djYy9pNjg2LXJlZGhhdC1saW51eC82LjEuMS9jcnRlbmQu
byAvdXNyL2xpYi9nY2MvaTY4Ni1yZWRoYXQtbGludXgvNi4xLjEvLi4vLi4vLi4vY3J0bi5vCj4g
Pj4+IENPTExFQ1RfR0NDX09QVElPTlM9Jy1tYXJjaD1wZW50aXVtcHJvJyAnLW0zMicgJy1mbm8t
c3RyaWN0LWFsaWFzaW5nJyAnLXYnICctc2F2ZS10ZW1wcycgJy1vJyAnZ3BsYycKPiA+Pj4gbWFr
ZVsyXTogTGVhdmluZyBkaXJlY3RvcnkgJy9ob21lL3RpbGwvcnBtYnVpbGQvU09VUkNFUy9ncHJv
bG9nLTEuNC40L3NyYy9Ub3BDb21wJwo+ID4+PiBtYWtlWzFdOiBMZWF2aW5nIGRpcmVjdG9yeSAn
L2hvbWUvdGlsbC9ycG1idWlsZC9TT1VSQ0VTL2dwcm9sb2ctMS40LjQvc3JjL0VuZ2luZVBsJwo+
ID4+PiAuIC4vU0VUVkFSUztmb3IgaSBpbiBFbmdpbmVQbCBUb3BDb21wIFdhbTJNYSBNYTJBc20g
TGluZWRpdCBCaXBzUGwgUGwyV2FtIEZkMkMgRW5naW5lRkQgQmlwc0ZEO2RvIChjZCAkaTsgbWFr
ZSkgfHwgZXhpdCAxOyBkb25lO1wKPiA+Pj4gKGNkIFRvcENvbXA7IG1ha2UgdG9wLWxldmVsKSB8
fCBleGl0IDE7XAo+ID4+PiAoY2QgUGwyV2FtOyBtYWtlIHN0YWdlMikKPiA+Pj4gbWFrZVsxXTog
RW50ZXJpbmcgZGlyZWN0b3J5ICcvaG9tZS90aWxsL3JwbWJ1aWxkL1NPVVJDRVMvZ3Byb2xvZy0x
LjQuNC9zcmMvRW5naW5lUGwnCj4gPj4+IGdjYyAtbWFyY2g9cGVudGl1bXBybyAtbTMyIC1mbm8t
c3RyaWN0LWFsaWFzaW5nIC12IC1zYXZlLXRlbXBzICAtbyBjcHBfaGVhZGVycyBjcHBfaGVhZGVy
cy5jCj4gPj4+IFVzaW5nIGJ1aWx0LWluIHNwZWNzLgo+ID4+PiBDT0xMRUNUX0dDQz1nY2MKPiA+
Pj4gQ09MTEVDVF9MVE9fV1JBUFBFUj0vdXNyL2xpYmV4ZWMvZ2NjL2k2ODYtcmVkaGF0LWxpbnV4
LzYuMS4xL2x0by13cmFwcGVyCj4gPj4+IFRhcmdldDogaTY4Ni1yZWRoYXQtbGludXgKPiA+Pj4g
Q29uZmlndXJlZCB3aXRoOiAuLi9jb25maWd1cmUgLS1lbmFibGUtYm9vdHN0cmFwIC0tZW5hYmxl
LWxhbmd1YWdlcz1jLGMrKyxvYmpjLG9iai1jKyssZm9ydHJhbixhZGEsZ28sbHRvIC0tcHJlZml4
PS91c3IgLS1tYW5kaXI9L3Vzci9zaGFyZS9tYW4gLS1pbmZvZGlyPS91c3Ivc2hhcmUvaW5mbyAt
LXdpdGgtYnVndXJsPWh0dHA6Ly9idWd6aWxsYS5yZWRoYXQuY29tL2J1Z3ppbGxhIC0tZW5hYmxl
LXNoYXJlZCAtLWVuYWJsZS10aHJlYWRzPXBvc2l4IC0tZW5hYmxlLWNoZWNraW5nPXJlbGVhc2Ug
LS1lbmFibGUtbXVsdGlsaWIgLS13aXRoLXN5c3RlbS16bGliIC0tZW5hYmxlLV9fY3hhX2F0ZXhp
dCAtLWRpc2FibGUtbGlidW53aW5kLWV4Y2VwdGlvbnMgLS1lbmFibGUtZ251LXVuaXF1ZS1vYmpl
Y3QgLS1lbmFibGUtbGlua2VyLWJ1aWxkLWlkIC0td2l0aC1saW5rZXItaGFzaC1zdHlsZT1nbnUg
LS1lbmFibGUtcGx1Z2luIC0tZW5hYmxlLWluaXRmaW5pLWFycmF5IC0tZGlzYWJsZS1saWJnY2og
LS13aXRoLWlzbCAtLWVuYWJsZS1saWJtcHggLS1lbmFibGUtZ251LWluZGlyZWN0LWZ1bmN0aW9u
IC0td2l0aC10dW5lPWdlbmVyaWMgLS13aXRoLWFyY2g9aTY4NiAtLWJ1aWxkPWk2ODYtcmVkaGF0
LWxpbnV4Cj4gPj4+IFRocmVhZCBtb2RlbDogcG9zaXgKPiA+Pj4gZ2NjIHZlcnNpb24gNi4xLjEg
MjAxNjA2MjEgKFJlZCBIYXQgNi4xLjEtMykgKEdDQykgCj4gPj4+IENPTExFQ1RfR0NDX09QVElP
TlM9Jy1tYXJjaD1wZW50aXVtcHJvJyAnLW0zMicgJy1mbm8tc3RyaWN0LWFsaWFzaW5nJyAnLXYn
ICctc2F2ZS10ZW1wcycgJy1vJyAnY3BwX2hlYWRlcnMnCj4gPj4+ICAvdXNyL2xpYmV4ZWMvZ2Nj
L2k2ODYtcmVkaGF0LWxpbnV4LzYuMS4xL2NjMSAtRSAtcXVpZXQgLXYgY3BwX2hlYWRlcnMuYyAt
bWFyY2g9cGVudGl1bXBybyAtbTMyIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1mcGNoLXByZXByb2Nl
c3MgLW8gY3BwX2hlYWRlcnMuaQo+ID4+PiBpZ25vcmluZyBub25leGlzdGVudCBkaXJlY3Rvcnkg
Ii91c3IvbGliL2djYy9pNjg2LXJlZGhhdC1saW51eC82LjEuMS9pbmNsdWRlLWZpeGVkIgo+ID4+
PiBpZ25vcmluZyBub25leGlzdGVudCBkaXJlY3RvcnkgIi91c3IvbGliL2djYy9pNjg2LXJlZGhh
dC1saW51eC82LjEuMS8uLi8uLi8uLi8uLi9pNjg2LXJlZGhhdC1saW51eC9pbmNsdWRlIgo+ID4+
PiAjaW5jbHVkZSAiLi4uIiBzZWFyY2ggc3RhcnRzIGhlcmU6Cj4gPj4+ICNpbmNsdWRlIDwuLi4+
IHNlYXJjaCBzdGFydHMgaGVyZToKPiA+Pj4gIC91c3IvbGliL2djYy9pNjg2LXJlZGhhdC1saW51
eC82LjEuMS9pbmNsdWRlCj4gPj4+ICAvdXNyL2xvY2FsL2luY2x1ZGUKPiA+Pj4gIC91c3IvaW5j
bHVkZQo+ID4+PiBFbmQgb2Ygc2VhcmNoIGxpc3QuCj4gPj4+IENPTExFQ1RfR0NDX09QVElPTlM9
Jy1tYXJjaD1wZW50aXVtcHJvJyAnLW0zMicgJy1mbm8tc3RyaWN0LWFsaWFzaW5nJyAnLXYnICct
c2F2ZS10ZW1wcycgJy1vJyAnY3BwX2hlYWRlcnMnCj4gPj4+ICAvdXNyL2xpYmV4ZWMvZ2NjL2k2
ODYtcmVkaGF0LWxpbnV4LzYuMS4xL2NjMSAtZnByZXByb2Nlc3NlZCBjcHBfaGVhZGVycy5pIC1x
dWlldCAtZHVtcGJhc2UgY3BwX2hlYWRlcnMuYyAtbWFyY2g9cGVudGl1bXBybyAtbTMyIC1hdXhi
YXNlIGNwcF9oZWFkZXJzIC12ZXJzaW9uIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1vIGNwcF9oZWFk
ZXJzLnMKPiA+Pj4gR05VIEMxMSAoR0NDKSB2ZXJzaW9uIDYuMS4xIDIwMTYwNjIxIChSZWQgSGF0
IDYuMS4xLTMpIChpNjg2LXJlZGhhdC1saW51eCkKPiA+Pj4gCWNvbXBpbGVkIGJ5IEdOVSBDIHZl
cnNpb24gNi4xLjEgMjAxNjA2MjEgKFJlZCBIYXQgNi4xLjEtMyksIEdNUCB2ZXJzaW9uIDYuMS4w
LCBNUEZSIHZlcnNpb24gMy4xLjQsIE1QQyB2ZXJzaW9uIDEuMC4yLCBpc2wgdmVyc2lvbiAwLjE0
IG9yIDAuMTMKPiA+Pj4gd2FybmluZzogR01QIGhlYWRlciB2ZXJzaW9uIDYuMS4wIGRpZmZlcnMg
ZnJvbSBsaWJyYXJ5IHZlcnNpb24gNi4xLjEuCj4gPj4+IEdHQyBoZXVyaXN0aWNzOiAtLXBhcmFt
IGdnYy1taW4tZXhwYW5kPTEwMCAtLXBhcmFtIGdnYy1taW4taGVhcHNpemU9MTMxMDcyCj4gPj4+
IEdOVSBDMTEgKEdDQykgdmVyc2lvbiA2LjEuMSAyMDE2MDYyMSAoUmVkIEhhdCA2LjEuMS0zKSAo
aTY4Ni1yZWRoYXQtbGludXgpCj4gPj4+IAljb21waWxlZCBieSBHTlUgQyB2ZXJzaW9uIDYuMS4x
IDIwMTYwNjIxIChSZWQgSGF0IDYuMS4xLTMpLCBHTVAgdmVyc2lvbiA2LjEuMCwgTVBGUiB2ZXJz
aW9uIDMuMS40LCBNUEMgdmVyc2lvbiAxLjAuMiwgaXNsIHZlcnNpb24gMC4xNCBvciAwLjEzCj4g
Pj4+IHdhcm5pbmc6IEdNUCBoZWFkZXIgdmVyc2lvbiA2LjEuMCBkaWZmZXJzIGZyb20gbGlicmFy
eSB2ZXJzaW9uIDYuMS4xLgo+ID4+PiBHR0MgaGV1cmlzdGljczogLS1wYXJhbSBnZ2MtbWluLWV4
cGFuZD0xMDAgLS1wYXJhbSBnZ2MtbWluLWhlYXBzaXplPTEzMTA3Mgo+ID4+PiBDb21waWxlciBl
eGVjdXRhYmxlIGNoZWNrc3VtOiBhYmNlYjEzOGFmNDNhNzhjMzZjMWFhYTIyOGY1ZjkyYQo+ID4+
PiBDT0xMRUNUX0dDQ19PUFRJT05TPSctbWFyY2g9cGVudGl1bXBybycgJy1tMzInICctZm5vLXN0
cmljdC1hbGlhc2luZycgJy12JyAnLXNhdmUtdGVtcHMnICctbycgJ2NwcF9oZWFkZXJzJwo+ID4+
PiAgYXMgLXYgLS0zMiAtbyBjcHBfaGVhZGVycy5vIGNwcF9oZWFkZXJzLnMKPiA+Pj4gR05VIGFz
c2VtYmxlciB2ZXJzaW9uIDIuMjYuMSAoaTY4Ni1yZWRoYXQtbGludXgpIHVzaW5nIEJGRCB2ZXJz
aW9uIHZlcnNpb24gMi4yNi4xLTEuZmMyNAo+ID4+PiBDT01QSUxFUl9QQVRIPS91c3IvbGliZXhl
Yy9nY2MvaTY4Ni1yZWRoYXQtbGludXgvNi4xLjEvOi91c3IvbGliZXhlYy9nY2MvaTY4Ni1yZWRo
YXQtbGludXgvNi4xLjEvOi91c3IvbGliZXhlYy9nY2MvaTY4Ni1yZWRoYXQtbGludXgvOi91c3Iv
bGliL2djYy9pNjg2LXJlZGhhdC1saW51eC82LjEuMS86L3Vzci9saWIvZ2NjL2k2ODYtcmVkaGF0
LWxpbnV4Lwo+ID4+PiBMSUJSQVJZX1BBVEg9L3Vzci9saWIvZ2NjL2k2ODYtcmVkaGF0LWxpbnV4
LzYuMS4xLzovdXNyL2xpYi9nY2MvaTY4Ni1yZWRoYXQtbGludXgvNi4xLjEvLi4vLi4vLi4vOi9s
aWIvOi91c3IvbGliLwo+ID4+PiBDT0xMRUNUX0dDQ19PUFRJT05TPSctbWFyY2g9cGVudGl1bXBy
bycgJy1tMzInICctZm5vLXN0cmljdC1hbGlhc2luZycgJy12JyAnLXNhdmUtdGVtcHMnICctbycg
J2NwcF9oZWFkZXJzJwo+ID4+PiAgL3Vzci9saWJleGVjL2djYy9pNjg2LXJlZGhhdC1saW51eC82
LjEuMS9jb2xsZWN0MiAtcGx1Z2luIC91c3IvbGliZXhlYy9nY2MvaTY4Ni1yZWRoYXQtbGludXgv
Ni4xLjEvbGlibHRvX3BsdWdpbi5zbyAtcGx1Z2luLW9wdD0vdXNyL2xpYmV4ZWMvZ2NjL2k2ODYt
cmVkaGF0LWxpbnV4LzYuMS4xL2x0by13cmFwcGVyIC1wbHVnaW4tb3B0PS1mcmVzb2x1dGlvbj1j
cHBfaGVhZGVycy5yZXMgLXBsdWdpbi1vcHQ9LXBhc3MtdGhyb3VnaD0tbGdjYyAtcGx1Z2luLW9w
dD0tcGFzcy10aHJvdWdoPS1sZ2NjX3MgLXBsdWdpbi1vcHQ9LXBhc3MtdGhyb3VnaD0tbGMgLXBs
dWdpbi1vcHQ9LXBhc3MtdGhyb3VnaD0tbGdjYyAtcGx1Z2luLW9wdD0tcGFzcy10aHJvdWdoPS1s
Z2NjX3MgLS1idWlsZC1pZCAtLW5vLWFkZC1uZWVkZWQgLS1laC1mcmFtZS1oZHIgLS1oYXNoLXN0
eWxlPWdudSAtbSBlbGZfaTM4NiAtZHluYW1pYy1saW5rZXIgL2xpYi9sZC1saW51eC5zby4yIC1v
IGNwcF9oZWFkZXJzIC91c3IvbGliL2djYy9pNjg2LXJlZGhhdC1saW51eC82LjEuMS8uLi8uLi8u
Li9jcnQxLm8gL3Vzci9saWIvZ2NjL2k2ODYtcmVkaGF0LWxpbnV4LzYuMS4xLy4uLy4uLy4uL2Ny
dGkubyAvdXNyL2xpYi9nY2MvaTY4Ni1yZWRoYXQtbGludXgvNi4xLjEvY3J0YmVnaW4ubyAtTC91
c3IvbGliL2djYy9pNjg2LXJlZGhhdC1saW51eC82LjEuMSAtTC91c3IvbGliL2djYy9pNjg2LXJl
ZGhhdC1saW51eC82LjEuMS8uLi8uLi8uLiBjcHBfaGVhZGVycy5vIC1sZ2NjIC0tYXMtbmVlZGVk
IC1sZ2NjX3MgLS1uby1hcy1uZWVkZWQgLWxjIC1sZ2NjIC0tYXMtbmVlZGVkIC1sZ2NjX3MgLS1u
by1hcy1uZWVkZWQgL3Vzci9saWIvZ2NjL2k2ODYtcmVkaGF0LWxpbnV4LzYuMS4xL2NydGVuZC5v
IC91c3IvbGliL2djYy9pNjg2LXJlZGhhdC1saW51eC82LjEuMS8uLi8uLi8uLi9jcnRuLm8KPiA+
Pj4gQ09MTEVDVF9HQ0NfT1BUSU9OUz0nLW1hcmNoPXBlbnRpdW1wcm8nICctbTMyJyAnLWZuby1z
dHJpY3QtYWxpYXNpbmcnICctdicgJy1zYXZlLXRlbXBzJyAnLW8nICdjcHBfaGVhZGVycycKPiA+
Pj4gZ3BsYyAtYyAtQyAnLXYgLXNhdmUtdGVtcHMnIG1hY2hpbmUuYwo+ID4+PiBVc2luZyBidWls
dC1pbiBzcGVjcy4KPiA+Pj4gQ09MTEVDVF9HQ0M9Z2NjCj4gPj4+IFRhcmdldDogaTY4Ni1yZWRo
YXQtbGludXgKPiA+Pj4gQ29uZmlndXJlZCB3aXRoOiAuLi9jb25maWd1cmUgLS1lbmFibGUtYm9v
dHN0cmFwIC0tZW5hYmxlLWxhbmd1YWdlcz1jLGMrKyxvYmpjLG9iai1jKyssZm9ydHJhbixhZGEs
Z28sbHRvIC0tcHJlZml4PS91c3IgLS1tYW5kaXI9L3Vzci9zaGFyZS9tYW4gLS1pbmZvZGlyPS91
c3Ivc2hhcmUvaW5mbyAtLXdpdGgtYnVndXJsPWh0dHA6Ly9idWd6aWxsYS5yZWRoYXQuY29tL2J1
Z3ppbGxhIC0tZW5hYmxlLXNoYXJlZCAtLWVuYWJsZS10aHJlYWRzPXBvc2l4IC0tZW5hYmxlLWNo
ZWNraW5nPXJlbGVhc2UgLS1lbmFibGUtbXVsdGlsaWIgLS13aXRoLXN5c3RlbS16bGliIC0tZW5h
YmxlLV9fY3hhX2F0ZXhpdCAtLWRpc2FibGUtbGlidW53aW5kLWV4Y2VwdGlvbnMgLS1lbmFibGUt
Z251LXVuaXF1ZS1vYmplY3QgLS1lbmFibGUtbGlua2VyLWJ1aWxkLWlkIC0td2l0aC1saW5rZXIt
aGFzaC1zdHlsZT1nbnUgLS1lbmFibGUtcGx1Z2luIC0tZW5hYmxlLWluaXRmaW5pLWFycmF5IC0t
ZGlzYWJsZS1saWJnY2ogLS13aXRoLWlzbCAtLWVuYWJsZS1saWJtcHggLS1lbmFibGUtZ251LWlu
ZGlyZWN0LWZ1bmN0aW9uIC0td2l0aC10dW5lPWdlbmVyaWMgLS13aXRoLWFyY2g9aTY4NiAtLWJ1
aWxkPWk2ODYtcmVkaGF0LWxpbnV4Cj4gPj4+IFRocmVhZCBtb2RlbDogcG9zaXgKPiA+Pj4gZ2Nj
IHZlcnNpb24gNi4xLjEgMjAxNjA2MjEgKFJlZCBIYXQgNi4xLjEtMykgKEdDQykgCj4gPj4+IENP
TExFQ1RfR0NDX09QVElPTlM9Jy12JyAnLXNhdmUtdGVtcHMnICctbWFyY2g9cGVudGl1bXBybycg
Jy1tMzInICctZm5vLXN0cmljdC1hbGlhc2luZycgJy1mZml4ZWQtZWJ4JyAnLWMnICctSScgJy9o
b21lL3RpbGwvcnBtYnVpbGQvU09VUkNFUy9ncHJvbG9nLTEuNC40L3NyYy9FbmdpbmVQbCcgJy1J
JyAnL2hvbWUvdGlsbC9ycG1idWlsZC9TT1VSQ0VTL2dwcm9sb2ctMS40LjQvc3JjL0JpcHNQbCcg
Jy1JJyAnL2hvbWUvdGlsbC9ycG1idWlsZC9TT1VSQ0VTL2dwcm9sb2ctMS40LjQvc3JjL0VuZ2lu
ZUZEJyAnLUknICcvaG9tZS90aWxsL3JwbWJ1aWxkL1NPVVJDRVMvZ3Byb2xvZy0xLjQuNC9zcmMv
Qmlwc0ZEJyAnLUknICcvaG9tZS90aWxsL3JwbWJ1aWxkL1NPVVJDRVMvZ3Byb2xvZy0xLjQuNC9z
cmMvTGluZWRpdCcgJy1JJyAnL2hvbWUvdGlsbC9ycG1idWlsZC9TT1VSQ0VTL2dwcm9sb2ctMS40
LjQvc3JjL1czMkdVSUNvbnMnICctbycgJ21hY2hpbmUubycKPiA+Pj4gIC91c3IvbGliZXhlYy9n
Y2MvaTY4Ni1yZWRoYXQtbGludXgvNi4xLjEvY2MxIC1FIC1xdWlldCAtdiAtSSAvaG9tZS90aWxs
L3JwbWJ1aWxkL1NPVVJDRVMvZ3Byb2xvZy0xLjQuNC9zcmMvRW5naW5lUGwgLUkgL2hvbWUvdGls
bC9ycG1idWlsZC9TT1VSQ0VTL2dwcm9sb2ctMS40LjQvc3JjL0JpcHNQbCAtSSAvaG9tZS90aWxs
L3JwbWJ1aWxkL1NPVVJDRVMvZ3Byb2xvZy0xLjQuNC9zcmMvRW5naW5lRkQgLUkgL2hvbWUvdGls
bC9ycG1idWlsZC9TT1VSQ0VTL2dwcm9sb2ctMS40LjQvc3JjL0JpcHNGRCAtSSAvaG9tZS90aWxs
L3JwbWJ1aWxkL1NPVVJDRVMvZ3Byb2xvZy0xLjQuNC9zcmMvTGluZWRpdCAtSSAvaG9tZS90aWxs
L3JwbWJ1aWxkL1NPVVJDRVMvZ3Byb2xvZy0xLjQuNC9zcmMvVzMyR1VJQ29ucyBtYWNoaW5lLmMg
LW1hcmNoPXBlbnRpdW1wcm8gLW0zMiAtZm5vLXN0cmljdC1hbGlhc2luZyAtZmZpeGVkLWVieCAt
ZnBjaC1wcmVwcm9jZXNzIC1vIG1hY2hpbmUuaQo+ID4+PiBpZ25vcmluZyBub25leGlzdGVudCBk
aXJlY3RvcnkgIi91c3IvbGliL2djYy9pNjg2LXJlZGhhdC1saW51eC82LjEuMS9pbmNsdWRlLWZp
eGVkIgo+ID4+PiBpZ25vcmluZyBub25leGlzdGVudCBkaXJlY3RvcnkgIi91c3IvbGliL2djYy9p
Njg2LXJlZGhhdC1saW51eC82LjEuMS8uLi8uLi8uLi8uLi9pNjg2LXJlZGhhdC1saW51eC9pbmNs
dWRlIgo+ID4+PiAjaW5jbHVkZSAiLi4uIiBzZWFyY2ggc3RhcnRzIGhlcmU6Cj4gPj4+ICNpbmNs
dWRlIDwuLi4+IHNlYXJjaCBzdGFydHMgaGVyZToKPiA+Pj4gIC9ob21lL3RpbGwvcnBtYnVpbGQv
U09VUkNFUy9ncHJvbG9nLTEuNC40L3NyYy9FbmdpbmVQbAo+ID4+PiAgL2hvbWUvdGlsbC9ycG1i
dWlsZC9TT1VSQ0VTL2dwcm9sb2ctMS40LjQvc3JjL0JpcHNQbAo+ID4+PiAgL2hvbWUvdGlsbC9y
cG1idWlsZC9TT1VSQ0VTL2dwcm9sb2ctMS40LjQvc3JjL0VuZ2luZUZECj4gPj4+ICAvaG9tZS90
aWxsL3JwbWJ1aWxkL1NPVVJDRVMvZ3Byb2xvZy0xLjQuNC9zcmMvQmlwc0ZECj4gPj4+ICAvaG9t
ZS90aWxsL3JwbWJ1aWxkL1NPVVJDRVMvZ3Byb2xvZy0xLjQuNC9zcmMvTGluZWRpdAo+ID4+PiAg
L2hvbWUvdGlsbC9ycG1idWlsZC9TT1VSQ0VTL2dwcm9sb2ctMS40LjQvc3JjL1czMkdVSUNvbnMK
PiA+Pj4gIC91c3IvbGliL2djYy9pNjg2LXJlZGhhdC1saW51eC82LjEuMS9pbmNsdWRlCj4gPj4+
ICAvdXNyL2xvY2FsL2luY2x1ZGUKPiA+Pj4gIC91c3IvaW5jbHVkZQo+ID4+PiBFbmQgb2Ygc2Vh
cmNoIGxpc3QuCj4gPj4+IENPTExFQ1RfR0NDX09QVElPTlM9Jy12JyAnLXNhdmUtdGVtcHMnICct
bWFyY2g9cGVudGl1bXBybycgJy1tMzInICctZm5vLXN0cmljdC1hbGlhc2luZycgJy1mZml4ZWQt
ZWJ4JyAnLWMnICctSScgJy9ob21lL3RpbGwvcnBtYnVpbGQvU09VUkNFUy9ncHJvbG9nLTEuNC40
L3NyYy9FbmdpbmVQbCcgJy1JJyAnL2hvbWUvdGlsbC9ycG1idWlsZC9TT1VSQ0VTL2dwcm9sb2ct
MS40LjQvc3JjL0JpcHNQbCcgJy1JJyAnL2hvbWUvdGlsbC9ycG1idWlsZC9TT1VSQ0VTL2dwcm9s
b2ctMS40LjQvc3JjL0VuZ2luZUZEJyAnLUknICcvaG9tZS90aWxsL3JwbWJ1aWxkL1NPVVJDRVMv
Z3Byb2xvZy0xLjQuNC9zcmMvQmlwc0ZEJyAnLUknICcvaG9tZS90aWxsL3JwbWJ1aWxkL1NPVVJD
RVMvZ3Byb2xvZy0xLjQuNC9zcmMvTGluZWRpdCcgJy1JJyAnL2hvbWUvdGlsbC9ycG1idWlsZC9T
T1VSQ0VTL2dwcm9sb2ctMS40LjQvc3JjL1czMkdVSUNvbnMnICctbycgJ21hY2hpbmUubycKPiA+
Pj4gIC91c3IvbGliZXhlYy9nY2MvaTY4Ni1yZWRoYXQtbGludXgvNi4xLjEvY2MxIC1mcHJlcHJv
Y2Vzc2VkIG1hY2hpbmUuaSAtcXVpZXQgLWR1bXBiYXNlIG1hY2hpbmUuYyAtbWFyY2g9cGVudGl1
bXBybyAtbTMyIC1hdXhiYXNlLXN0cmlwIG1hY2hpbmUubyAtdmVyc2lvbiAtZm5vLXN0cmljdC1h
bGlhc2luZyAtZmZpeGVkLWVieCAtbyBtYWNoaW5lLnMKPiA+Pj4gR05VIEMxMSAoR0NDKSB2ZXJz
aW9uIDYuMS4xIDIwMTYwNjIxIChSZWQgSGF0IDYuMS4xLTMpIChpNjg2LXJlZGhhdC1saW51eCkK
PiA+Pj4gCWNvbXBpbGVkIGJ5IEdOVSBDIHZlcnNpb24gNi4xLjEgMjAxNjA2MjEgKFJlZCBIYXQg
Ni4xLjEtMyksIEdNUCB2ZXJzaW9uIDYuMS4wLCBNUEZSIHZlcnNpb24gMy4xLjQsIE1QQyB2ZXJz
aW9uIDEuMC4yLCBpc2wgdmVyc2lvbiAwLjE0IG9yIDAuMTMKPiA+Pj4gd2FybmluZzogR01QIGhl
YWRlciB2ZXJzaW9uIDYuMS4wIGRpZmZlcnMgZnJvbSBsaWJyYXJ5IHZlcnNpb24gNi4xLjEuCj4g
Pj4+IEdHQyBoZXVyaXN0aWNzOiAtLXBhcmFtIGdnYy1taW4tZXhwYW5kPTEwMCAtLXBhcmFtIGdn
Yy1taW4taGVhcHNpemU9MTMxMDcyCj4gPj4+IEdOVSBDMTEgKEdDQykgdmVyc2lvbiA2LjEuMSAy
MDE2MDYyMSAoUmVkIEhhdCA2LjEuMS0zKSAoaTY4Ni1yZWRoYXQtbGludXgpCj4gPj4+IAljb21w
aWxlZCBieSBHTlUgQyB2ZXJzaW9uIDYuMS4xIDIwMTYwNjIxIChSZWQgSGF0IDYuMS4xLTMpLCBH
TVAgdmVyc2lvbiA2LjEuMCwgTVBGUiB2ZXJzaW9uIDMuMS40LCBNUEMgdmVyc2lvbiAxLjAuMiwg
aXNsIHZlcnNpb24gMC4xNCBvciAwLjEzCj4gPj4+IHdhcm5pbmc6IEdNUCBoZWFkZXIgdmVyc2lv
biA2LjEuMCBkaWZmZXJzIGZyb20gbGlicmFyeSB2ZXJzaW9uIDYuMS4xLgo+ID4+PiBHR0MgaGV1
cmlzdGljczogLS1wYXJhbSBnZ2MtbWluLWV4cGFuZD0xMDAgLS1wYXJhbSBnZ2MtbWluLWhlYXBz
aXplPTEzMTA3Mgo+ID4+PiBDb21waWxlciBleGVjdXRhYmxlIGNoZWNrc3VtOiBhYmNlYjEzOGFm
NDNhNzhjMzZjMWFhYTIyOGY1ZjkyYQo+ID4+PiBtYWNoaW5lLmM6IEluIGZ1bmN0aW9uIOKAmFBs
X01fUmFuZG9taXpl4oCZOgo+ID4+PiBtYWNoaW5lLmM6Mzg2OjE6IGludGVybmFsIGNvbXBpbGVy
IGVycm9yOiBTZWdtZW50YXRpb24gZmF1bHQKPiA+Pj4gIH0KPiA+Pj4gIF4KPiA+Pj4gUGxlYXNl
IHN1Ym1pdCBhIGZ1bGwgYnVnIHJlcG9ydCwKPiA+Pj4gd2l0aCBwcmVwcm9jZXNzZWQgc291cmNl
IGlmIGFwcHJvcHJpYXRlLgo+ID4+PiBTZWUgPGh0dHA6Ly9idWd6aWxsYS5yZWRoYXQuY29tL2J1
Z3ppbGxhPiBmb3IgaW5zdHJ1Y3Rpb25zLgo+ID4+PiBQcmVwcm9jZXNzZWQgc291cmNlIHN0b3Jl
ZCBpbnRvIC90bXAvY2NjWENBV00ub3V0IGZpbGUsIHBsZWFzZSBhdHRhY2ggdGhpcyB0byB5b3Vy
IGJ1Z3JlcG9ydC4KPiA+Pj4gY29tcGlsYXRpb24gZmFpbGVkCj4gPj4+IE1ha2VmaWxlOjMwOiBy
ZWNpcGUgZm9yIHRhcmdldCAnbWFjaGluZS5vJyBmYWlsZWQKPiA+Pj4gbWFrZVsxXTogKioqIFtt
YWNoaW5lLm9dIEVycm9yIDEKPiA+Pj4gbWFrZVsxXTogTGVhdmluZyBkaXJlY3RvcnkgJy9ob21l
L3RpbGwvcnBtYnVpbGQvU09VUkNFUy9ncHJvbG9nLTEuNC40L3NyYy9FbmdpbmVQbCcKPiA+Pj4g
TWFrZWZpbGU6NDU6IHJlY2lwZSBmb3IgdGFyZ2V0ICdhbGwnIGZhaWxlZAo+ID4+PiBtYWtlOiAq
KiogW2FsbF0gRXJyb3IgMQo+ID4+Cj4gPj4+ICMgMSAibWFjaGluZS5jIgo+ID4+PiAjIDEgIjxi
dWlsdC1pbj4iCj4gPj4+ICMgMSAiPGNvbW1hbmQtbGluZT4iCj4gPj4+ICMgMzEgIjxjb21tYW5k
LWxpbmU+Igo+ID4+PiAjIDEgIi91c3IvaW5jbHVkZS9zdGRjLXByZWRlZi5oIiAxIDMgNAo+ID4+
PiAjIDMyICI8Y29tbWFuZC1saW5lPiIgMgo+ID4+PiAjIDEgIm1hY2hpbmUuYyIKPiA+Pj4gIyAz
OSAibWFjaGluZS5jIgo+ID4+PiAjIDEgIi91c3IvaW5jbHVkZS9zdGRpby5oIiAxIDMgNAo+ID4+
PiAjIDI3ICIvdXNyL2luY2x1ZGUvc3RkaW8uaCIgMyA0Cj4gPj4+ICMgMSAiL3Vzci9pbmNsdWRl
L2ZlYXR1cmVzLmgiIDEgMyA0Cj4gPj4+ICMgMzY4ICIvdXNyL2luY2x1ZGUvZmVhdHVyZXMuaCIg
MyA0Cj4gPj4+ICMgMSAiL3Vzci9pbmNsdWRlL3N5cy9jZGVmcy5oIiAxIDMgNAo+ID4+PiAjIDQx
MCAiL3Vzci9pbmNsdWRlL3N5cy9jZGVmcy5oIiAzIDQKPiA+Pj4gIyAxICIvdXNyL2luY2x1ZGUv
Yml0cy93b3Jkc2l6ZS5oIiAxIDMgNAo+ID4+PiAjIDQxMSAiL3Vzci9pbmNsdWRlL3N5cy9jZGVm
cy5oIiAyIDMgNAo+ID4+PiAjIDM2OSAiL3Vzci9pbmNsdWRlL2ZlYXR1cmVzLmgiIDIgMyA0Cj4g
Pj4+ICMgMzkyICIvdXNyL2luY2x1ZGUvZmVhdHVyZXMuaCIgMyA0Cj4gPj4+ICMgMSAiL3Vzci9p
bmNsdWRlL2dudS9zdHVicy5oIiAxIDMgNAo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+Pgo+
ID4+Pgo+ID4+PiAjIDEgIi91c3IvaW5jbHVkZS9nbnUvc3R1YnMtMzIuaCIgMSAzIDQKPiA+Pj4g
IyA4ICIvdXNyL2luY2x1ZGUvZ251L3N0dWJzLmgiIDIgMyA0Cj4gPj4+ICMgMzkzICIvdXNyL2lu
Y2x1ZGUvZmVhdHVyZXMuaCIgMiAzIDQKPiA+Pj4gIyAyOCAiL3Vzci9pbmNsdWRlL3N0ZGlvLmgi
IDIgMyA0Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+ICMgMSAiL3Vzci9saWIv
Z2NjL2k2ODYtcmVkaGF0LWxpbnV4LzYuMS4xL2luY2x1ZGUvc3RkZGVmLmgiIDEgMyA0Cj4gPj4+
ICMgMjE2ICIvdXNyL2xpYi9nY2MvaTY4Ni1yZWRoYXQtbGludXgvNi4xLjEvaW5jbHVkZS9zdGRk
ZWYuaCIgMyA0Cj4gPj4+Cj4gPj4+ICMgMjE2ICIvdXNyL2xpYi9nY2MvaTY4Ni1yZWRoYXQtbGlu
dXgvNi4xLjEvaW5jbHVkZS9zdGRkZWYuaCIgMyA0Cj4gPj4+IHR5cGVkZWYgdW5zaWduZWQgaW50
IHNpemVfdDsKPiA+Pj4gIyAzNCAiL3Vzci9pbmNsdWRlL3N0ZGlvLmgiIDIgMyA0Cj4gPj4+Cj4g
Pj4+ICMgMSAiL3Vzci9pbmNsdWRlL2JpdHMvdHlwZXMuaCIgMSAzIDQKPiA+Pj4gIyAyNyAiL3Vz
ci9pbmNsdWRlL2JpdHMvdHlwZXMuaCIgMyA0Cj4gPj4+ICMgMSAiL3Vzci9pbmNsdWRlL2JpdHMv
d29yZHNpemUuaCIgMSAzIDQKPiA+Pj4gIyAyOCAiL3Vzci9pbmNsdWRlL2JpdHMvdHlwZXMuaCIg
MiAzIDQKPiA+Pj4KPiA+Pj4KPiA+Pj4gdHlwZWRlZiB1bnNpZ25lZCBjaGFyIF9fdV9jaGFyOwo+
ID4+PiB0eXBlZGVmIHVuc2lnbmVkIHNob3J0IGludCBfX3Vfc2hvcnQ7Cj4gPj4+IHR5cGVkZWYg
dW5zaWduZWQgaW50IF9fdV9pbnQ7Cj4gPj4+IHR5cGVkZWYgdW5zaWduZWQgbG9uZyBpbnQgX191
X2xvbmc7Cj4gPj4+Cj4gPj4+Cj4gPj4+IHR5cGVkZWYgc2lnbmVkIGNoYXIgX19pbnQ4X3Q7Cj4g
Pj4+IHR5cGVkZWYgdW5zaWduZWQgY2hhciBfX3VpbnQ4X3Q7Cj4gPj4+IHR5cGVkZWYgc2lnbmVk
IHNob3J0IGludCBfX2ludDE2X3Q7Cj4gPj4+IHR5cGVkZWYgdW5zaWduZWQgc2hvcnQgaW50IF9f
dWludDE2X3Q7Cj4gPj4+IHR5cGVkZWYgc2lnbmVkIGludCBfX2ludDMyX3Q7Cj4gPj4+IHR5cGVk
ZWYgdW5zaWduZWQgaW50IF9fdWludDMyX3Q7Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+
IF9fZXh0ZW5zaW9uX18gdHlwZWRlZiBzaWduZWQgbG9uZyBsb25nIGludCBfX2ludDY0X3Q7Cj4g
Pj4+IF9fZXh0ZW5zaW9uX18gdHlwZWRlZiB1bnNpZ25lZCBsb25nIGxvbmcgaW50IF9fdWludDY0
X3Q7Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+IF9fZXh0
ZW5zaW9uX18gdHlwZWRlZiBsb25nIGxvbmcgaW50IF9fcXVhZF90Owo+ID4+PiBfX2V4dGVuc2lv
bl9fIHR5cGVkZWYgdW5zaWduZWQgbG9uZyBsb25nIGludCBfX3VfcXVhZF90Owo+ID4+PiAjIDEy
MSAiL3Vzci9pbmNsdWRlL2JpdHMvdHlwZXMuaCIgMyA0Cj4gPj4+ICMgMSAiL3Vzci9pbmNsdWRl
L2JpdHMvdHlwZXNpemVzLmgiIDEgMyA0Cj4gPj4+ICMgMTIyICIvdXNyL2luY2x1ZGUvYml0cy90
eXBlcy5oIiAyIDMgNAo+ID4+Pgo+ID4+Pgo+ID4+PiBfX2V4dGVuc2lvbl9fIHR5cGVkZWYgX191
X3F1YWRfdCBfX2Rldl90Owo+ID4+PiBfX2V4dGVuc2lvbl9fIHR5cGVkZWYgdW5zaWduZWQgaW50
IF9fdWlkX3Q7Cj4gPj4+IF9fZXh0ZW5zaW9uX18gdHlwZWRlZiB1bnNpZ25lZCBpbnQgX19naWRf
dDsKPiA+Pj4gX19leHRlbnNpb25fXyB0eXBlZGVmIHVuc2lnbmVkIGxvbmcgaW50IF9faW5vX3Q7
Cj4gPj4+IF9fZXh0ZW5zaW9uX18gdHlwZWRlZiBfX3VfcXVhZF90IF9faW5vNjRfdDsKPiA+Pj4g
X19leHRlbnNpb25fXyB0eXBlZGVmIHVuc2lnbmVkIGludCBfX21vZGVfdDsKPiA+Pj4gX19leHRl
bnNpb25fXyB0eXBlZGVmIHVuc2lnbmVkIGludCBfX25saW5rX3Q7Cj4gPj4+IF9fZXh0ZW5zaW9u
X18gdHlwZWRlZiBsb25nIGludCBfX29mZl90Owo+ID4+PiBfX2V4dGVuc2lvbl9fIHR5cGVkZWYg
X19xdWFkX3QgX19vZmY2NF90Owo+ID4+PiBfX2V4dGVuc2lvbl9fIHR5cGVkZWYgaW50IF9fcGlk
X3Q7Cj4gPj4+IF9fZXh0ZW5zaW9uX18gdHlwZWRlZiBzdHJ1Y3QgeyBpbnQgX192YWxbMl07IH0g
X19mc2lkX3Q7Cj4gPj4+IF9fZXh0ZW5zaW9uX18gdHlwZWRlZiBsb25nIGludCBfX2Nsb2NrX3Q7
Cj4gPj4+IF9fZXh0ZW5zaW9uX18gdHlwZWRlZiB1bnNpZ25lZCBsb25nIGludCBfX3JsaW1fdDsK
PiA+Pj4gX19leHRlbnNpb25fXyB0eXBlZGVmIF9fdV9xdWFkX3QgX19ybGltNjRfdDsKPiA+Pj4g
X19leHRlbnNpb25fXyB0eXBlZGVmIHVuc2lnbmVkIGludCBfX2lkX3Q7Cj4gPj4+IF9fZXh0ZW5z
aW9uX18gdHlwZWRlZiBsb25nIGludCBfX3RpbWVfdDsKPiA+Pj4gX19leHRlbnNpb25fXyB0eXBl
ZGVmIHVuc2lnbmVkIGludCBfX3VzZWNvbmRzX3Q7Cj4gPj4+IF9fZXh0ZW5zaW9uX18gdHlwZWRl
ZiBsb25nIGludCBfX3N1c2Vjb25kc190Owo+ID4+Pgo+ID4+PiBfX2V4dGVuc2lvbl9fIHR5cGVk
ZWYgaW50IF9fZGFkZHJfdDsKPiA+Pj4gX19leHRlbnNpb25fXyB0eXBlZGVmIGludCBfX2tleV90
Owo+ID4+Pgo+ID4+Pgo+ID4+PiBfX2V4dGVuc2lvbl9fIHR5cGVkZWYgaW50IF9fY2xvY2tpZF90
Owo+ID4+Pgo+ID4+Pgo+ID4+PiBfX2V4dGVuc2lvbl9fIHR5cGVkZWYgdm9pZCAqIF9fdGltZXJf
dDsKPiA+Pj4KPiA+Pj4KPiA+Pj4gX19leHRlbnNpb25fXyB0eXBlZGVmIGxvbmcgaW50IF9fYmxr
c2l6ZV90Owo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+PiBfX2V4dGVuc2lvbl9fIHR5cGVk
ZWYgbG9uZyBpbnQgX19ibGtjbnRfdDsKPiA+Pj4gX19leHRlbnNpb25fXyB0eXBlZGVmIF9fcXVh
ZF90IF9fYmxrY250NjRfdDsKPiA+Pj4KPiA+Pj4KPiA+Pj4gX19leHRlbnNpb25fXyB0eXBlZGVm
IHVuc2lnbmVkIGxvbmcgaW50IF9fZnNibGtjbnRfdDsKPiA+Pj4gX19leHRlbnNpb25fXyB0eXBl
ZGVmIF9fdV9xdWFkX3QgX19mc2Jsa2NudDY0X3Q7Cj4gPj4+Cj4gPj4+Cj4gPj4+IF9fZXh0ZW5z
aW9uX18gdHlwZWRlZiB1bnNpZ25lZCBsb25nIGludCBfX2ZzZmlsY250X3Q7Cj4gPj4+IF9fZXh0
ZW5zaW9uX18gdHlwZWRlZiBfX3VfcXVhZF90IF9fZnNmaWxjbnQ2NF90Owo+ID4+Pgo+ID4+Pgo+
ID4+PiBfX2V4dGVuc2lvbl9fIHR5cGVkZWYgaW50IF9fZnN3b3JkX3Q7Cj4gPj4+Cj4gPj4+IF9f
ZXh0ZW5zaW9uX18gdHlwZWRlZiBpbnQgX19zc2l6ZV90Owo+ID4+Pgo+ID4+Pgo+ID4+PiBfX2V4
dGVuc2lvbl9fIHR5cGVkZWYgbG9uZyBpbnQgX19zeXNjYWxsX3Nsb25nX3Q7Cj4gPj4+Cj4gPj4+
IF9fZXh0ZW5zaW9uX18gdHlwZWRlZiB1bnNpZ25lZCBsb25nIGludCBfX3N5c2NhbGxfdWxvbmdf
dDsKPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4gdHlwZWRlZiBfX29mZjY0X3QgX19sb2ZmX3Q7Cj4g
Pj4+IHR5cGVkZWYgX19xdWFkX3QgKl9fcWFkZHJfdDsKPiA+Pj4gdHlwZWRlZiBjaGFyICpfX2Nh
ZGRyX3Q7Cj4gPj4+Cj4gPj4+Cj4gPj4+IF9fZXh0ZW5zaW9uX18gdHlwZWRlZiBpbnQgX19pbnRw
dHJfdDsKPiA+Pj4KPiA+Pj4KPiA+Pj4gX19leHRlbnNpb25fXyB0eXBlZGVmIHVuc2lnbmVkIGlu
dCBfX3NvY2tsZW5fdDsKPiA+Pj4gIyAzNiAiL3Vzci9pbmNsdWRlL3N0ZGlvLmgiIDIgMyA0Cj4g
Pj4+ICMgNDQgIi91c3IvaW5jbHVkZS9zdGRpby5oIiAzIDQKPiA+Pj4gc3RydWN0IF9JT19GSUxF
Owo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+PiB0eXBlZGVmIHN0cnVjdCBfSU9fRklMRSBGSUxFOwo+
ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+PiAjIDY0ICIvdXNyL2luY2x1ZGUvc3Rk
aW8uaCIgMyA0Cj4gPj4+IHR5cGVkZWYgc3RydWN0IF9JT19GSUxFIF9fRklMRTsKPiA+Pj4gIyA3
NCAiL3Vzci9pbmNsdWRlL3N0ZGlvLmgiIDMgNAo+ID4+PiAjIDEgIi91c3IvaW5jbHVkZS9saWJp
by5oIiAxIDMgNAo+ID4+PiAjIDMxICIvdXNyL2luY2x1ZGUvbGliaW8uaCIgMyA0Cj4gPj4+ICMg
MSAiL3Vzci9pbmNsdWRlL19HX2NvbmZpZy5oIiAxIDMgNAo+ID4+PiAjIDE1ICIvdXNyL2luY2x1
ZGUvX0dfY29uZmlnLmgiIDMgNAo+ID4+PiAjIDEgIi91c3IvbGliL2djYy9pNjg2LXJlZGhhdC1s
aW51eC82LjEuMS9pbmNsdWRlL3N0ZGRlZi5oIiAxIDMgNAo+ID4+PiAjIDE2ICIvdXNyL2luY2x1
ZGUvX0dfY29uZmlnLmgiIDIgMyA0Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+ICMgMSAi
L3Vzci9pbmNsdWRlL3djaGFyLmgiIDEgMyA0Cj4gPj4+ICMgODIgIi91c3IvaW5jbHVkZS93Y2hh
ci5oIiAzIDQKPiA+Pj4gdHlwZWRlZiBzdHJ1Y3QKPiA+Pj4gewo+ID4+PiAgIGludCBfX2NvdW50
Owo+ID4+PiAgIHVuaW9uCj4gPj4+ICAgewo+ID4+Pgo+ID4+PiAgICAgdW5zaWduZWQgaW50IF9f
d2NoOwo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+PiAgICAgY2hhciBfX3djaGJbNF07Cj4gPj4+ICAg
fSBfX3ZhbHVlOwo+ID4+PiB9IF9fbWJzdGF0ZV90Owo+ID4+PiAjIDIxICIvdXNyL2luY2x1ZGUv
X0dfY29uZmlnLmgiIDIgMyA0Cj4gPj4+IHR5cGVkZWYgc3RydWN0Cj4gPj4+IHsKPiA+Pj4gICBf
X29mZl90IF9fcG9zOwo+ID4+PiAgIF9fbWJzdGF0ZV90IF9fc3RhdGU7Cj4gPj4+IH0gX0dfZnBv
c190Owo+ID4+PiB0eXBlZGVmIHN0cnVjdAo+ID4+PiB7Cj4gPj4+ICAgX19vZmY2NF90IF9fcG9z
Owo+ID4+PiAgIF9fbWJzdGF0ZV90IF9fc3RhdGU7Cj4gPj4+IH0gX0dfZnBvczY0X3Q7Cj4gPj4+
ICMgMzIgIi91c3IvaW5jbHVkZS9saWJpby5oIiAyIDMgNAo+ID4+PiAjIDQ5ICIvdXNyL2luY2x1
ZGUvbGliaW8uaCIgMyA0Cj4gPj4+ICMgMSAiL3Vzci9saWIvZ2NjL2k2ODYtcmVkaGF0LWxpbnV4
LzYuMS4xL2luY2x1ZGUvc3RkYXJnLmgiIDEgMyA0Cj4gPj4+ICMgNDAgIi91c3IvbGliL2djYy9p
Njg2LXJlZGhhdC1saW51eC82LjEuMS9pbmNsdWRlL3N0ZGFyZy5oIiAzIDQKPiA+Pj4gdHlwZWRl
ZiBfX2J1aWx0aW5fdmFfbGlzdCBfX2dudWNfdmFfbGlzdDsKPiA+Pj4gIyA1MCAiL3Vzci9pbmNs
dWRlL2xpYmlvLmgiIDIgMyA0Cj4gPj4+ICMgMTQ0ICIvdXNyL2luY2x1ZGUvbGliaW8uaCIgMyA0
Cj4gPj4+IHN0cnVjdCBfSU9fanVtcF90OyBzdHJ1Y3QgX0lPX0ZJTEU7Cj4gPj4+Cj4gPj4+Cj4g
Pj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+IHR5cGVkZWYgdm9pZCBfSU9fbG9ja190Owo+ID4+Pgo+ID4+
Pgo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+PiBzdHJ1Y3QgX0lPX21hcmtlciB7Cj4gPj4+ICAgc3Ry
dWN0IF9JT19tYXJrZXIgKl9uZXh0Owo+ID4+PiAgIHN0cnVjdCBfSU9fRklMRSAqX3NidWY7Cj4g
Pj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+ICAgaW50IF9wb3M7Cj4gPj4+ICMgMTczICIvdXNyL2luY2x1
ZGUvbGliaW8uaCIgMyA0Cj4gPj4+IH07Cj4gPj4+Cj4gPj4+Cj4gPj4+IGVudW0gX19jb2RlY3Z0
X3Jlc3VsdAo+ID4+PiB7Cj4gPj4+ICAgX19jb2RlY3Z0X29rLAo+ID4+PiAgIF9fY29kZWN2dF9w
YXJ0aWFsLAo+ID4+PiAgIF9fY29kZWN2dF9lcnJvciwKPiA+Pj4gICBfX2NvZGVjdnRfbm9jb252
Cj4gPj4+IH07Cj4gPj4+ICMgMjQxICIvdXNyL2luY2x1ZGUvbGliaW8uaCIgMyA0Cj4gPj4+IHN0
cnVjdCBfSU9fRklMRSB7Cj4gPj4+ICAgaW50IF9mbGFnczsKPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+
Pj4KPiA+Pj4gICBjaGFyKiBfSU9fcmVhZF9wdHI7Cj4gPj4+ICAgY2hhciogX0lPX3JlYWRfZW5k
Owo+ID4+PiAgIGNoYXIqIF9JT19yZWFkX2Jhc2U7Cj4gPj4+ICAgY2hhciogX0lPX3dyaXRlX2Jh
c2U7Cj4gPj4+ICAgY2hhciogX0lPX3dyaXRlX3B0cjsKPiA+Pj4gICBjaGFyKiBfSU9fd3JpdGVf
ZW5kOwo+ID4+PiAgIGNoYXIqIF9JT19idWZfYmFzZTsKPiA+Pj4gICBjaGFyKiBfSU9fYnVmX2Vu
ZDsKPiA+Pj4KPiA+Pj4gICBjaGFyICpfSU9fc2F2ZV9iYXNlOwo+ID4+PiAgIGNoYXIgKl9JT19i
YWNrdXBfYmFzZTsKPiA+Pj4gICBjaGFyICpfSU9fc2F2ZV9lbmQ7Cj4gPj4+Cj4gPj4+ICAgc3Ry
dWN0IF9JT19tYXJrZXIgKl9tYXJrZXJzOwo+ID4+Pgo+ID4+PiAgIHN0cnVjdCBfSU9fRklMRSAq
X2NoYWluOwo+ID4+Pgo+ID4+PiAgIGludCBfZmlsZW5vOwo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+
PiAgIGludCBfZmxhZ3MyOwo+ID4+Pgo+ID4+PiAgIF9fb2ZmX3QgX29sZF9vZmZzZXQ7Cj4gPj4+
Cj4gPj4+Cj4gPj4+Cj4gPj4+ICAgdW5zaWduZWQgc2hvcnQgX2N1cl9jb2x1bW47Cj4gPj4+ICAg
c2lnbmVkIGNoYXIgX3Z0YWJsZV9vZmZzZXQ7Cj4gPj4+ICAgY2hhciBfc2hvcnRidWZbMV07Cj4g
Pj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+ICAgX0lPX2xvY2tfdCAqX2xvY2s7Cj4gPj4+ICMgMjg5ICIv
dXNyL2luY2x1ZGUvbGliaW8uaCIgMyA0Cj4gPj4+ICAgX19vZmY2NF90IF9vZmZzZXQ7Cj4gPj4+
Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+ICAgdm9pZCAqX19wYWQx
Owo+ID4+PiAgIHZvaWQgKl9fcGFkMjsKPiA+Pj4gICB2b2lkICpfX3BhZDM7Cj4gPj4+ICAgdm9p
ZCAqX19wYWQ0Owo+ID4+Pgo+ID4+PiAgIHNpemVfdCBfX3BhZDU7Cj4gPj4+ICAgaW50IF9tb2Rl
Owo+ID4+Pgo+ID4+PiAgIGNoYXIgX3VudXNlZDJbMTUgKiBzaXplb2YgKGludCkgLSA0ICogc2l6
ZW9mICh2b2lkICopIC0gc2l6ZW9mIChzaXplX3QpXTsKPiA+Pj4KPiA+Pj4gfTsKPiA+Pj4KPiA+
Pj4KPiA+Pj4gdHlwZWRlZiBzdHJ1Y3QgX0lPX0ZJTEUgX0lPX0ZJTEU7Cj4gPj4+Cj4gPj4+Cj4g
Pj4+IHN0cnVjdCBfSU9fRklMRV9wbHVzOwo+ID4+Pgo+ID4+PiBleHRlcm4gc3RydWN0IF9JT19G
SUxFX3BsdXMgX0lPXzJfMV9zdGRpbl87Cj4gPj4+IGV4dGVybiBzdHJ1Y3QgX0lPX0ZJTEVfcGx1
cyBfSU9fMl8xX3N0ZG91dF87Cj4gPj4+IGV4dGVybiBzdHJ1Y3QgX0lPX0ZJTEVfcGx1cyBfSU9f
Ml8xX3N0ZGVycl87Cj4gPj4+ICMgMzMzICIvdXNyL2luY2x1ZGUvbGliaW8uaCIgMyA0Cj4gPj4+
IHR5cGVkZWYgX19zc2l6ZV90IF9faW9fcmVhZF9mbiAodm9pZCAqX19jb29raWUsIGNoYXIgKl9f
YnVmLCBzaXplX3QgX19uYnl0ZXMpOwo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+
Pgo+ID4+Pgo+ID4+PiB0eXBlZGVmIF9fc3NpemVfdCBfX2lvX3dyaXRlX2ZuICh2b2lkICpfX2Nv
b2tpZSwgY29uc3QgY2hhciAqX19idWYsCj4gPj4+ICAgICAgc2l6ZV90IF9fbik7Cj4gPj4+Cj4g
Pj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+IHR5cGVkZWYgaW50IF9faW9f
c2Vla19mbiAodm9pZCAqX19jb29raWUsIF9fb2ZmNjRfdCAqX19wb3MsIGludCBfX3cpOwo+ID4+
Pgo+ID4+Pgo+ID4+PiB0eXBlZGVmIGludCBfX2lvX2Nsb3NlX2ZuICh2b2lkICpfX2Nvb2tpZSk7
Cj4gPj4+ICMgMzg1ICIvdXNyL2luY2x1ZGUvbGliaW8uaCIgMyA0Cj4gPj4+IGV4dGVybiBpbnQg
X191bmRlcmZsb3cgKF9JT19GSUxFICopOwo+ID4+PiBleHRlcm4gaW50IF9fdWZsb3cgKF9JT19G
SUxFICopOwo+ID4+PiBleHRlcm4gaW50IF9fb3ZlcmZsb3cgKF9JT19GSUxFICosIGludCk7Cj4g
Pj4+ICMgNDI5ICIvdXNyL2luY2x1ZGUvbGliaW8uaCIgMyA0Cj4gPj4+IGV4dGVybiBpbnQgX0lP
X2dldGMgKF9JT19GSUxFICpfX2ZwKTsKPiA+Pj4gZXh0ZXJuIGludCBfSU9fcHV0YyAoaW50IF9f
YywgX0lPX0ZJTEUgKl9fZnApOwo+ID4+PiBleHRlcm4gaW50IF9JT19mZW9mIChfSU9fRklMRSAq
X19mcCkgX19hdHRyaWJ1dGVfXyAoKF9fbm90aHJvd19fICwgX19sZWFmX18pKTsKPiA+Pj4gZXh0
ZXJuIGludCBfSU9fZmVycm9yIChfSU9fRklMRSAqX19mcCkgX19hdHRyaWJ1dGVfXyAoKF9fbm90
aHJvd19fICwgX19sZWFmX18pKTsKPiA+Pj4KPiA+Pj4gZXh0ZXJuIGludCBfSU9fcGVla2NfbG9j
a2VkIChfSU9fRklMRSAqX19mcCk7Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+
IGV4dGVybiB2b2lkIF9JT19mbG9ja2ZpbGUgKF9JT19GSUxFICopIF9fYXR0cmlidXRlX18gKChf
X25vdGhyb3dfXyAsIF9fbGVhZl9fKSk7Cj4gPj4+IGV4dGVybiB2b2lkIF9JT19mdW5sb2NrZmls
ZSAoX0lPX0ZJTEUgKikgX19hdHRyaWJ1dGVfXyAoKF9fbm90aHJvd19fICwgX19sZWFmX18pKTsK
PiA+Pj4gZXh0ZXJuIGludCBfSU9fZnRyeWxvY2tmaWxlIChfSU9fRklMRSAqKSBfX2F0dHJpYnV0
ZV9fICgoX19ub3Rocm93X18gLCBfX2xlYWZfXykpOwo+ID4+PiAjIDQ1OSAiL3Vzci9pbmNsdWRl
L2xpYmlvLmgiIDMgNAo+ID4+PiBleHRlcm4gaW50IF9JT192ZnNjYW5mIChfSU9fRklMRSAqIF9f
cmVzdHJpY3QsIGNvbnN0IGNoYXIgKiBfX3Jlc3RyaWN0LAo+ID4+PiAgICBfX2dudWNfdmFfbGlz
dCwgaW50ICpfX3Jlc3RyaWN0KTsKPiA+Pj4gZXh0ZXJuIGludCBfSU9fdmZwcmludGYgKF9JT19G
SUxFICpfX3Jlc3RyaWN0LCBjb25zdCBjaGFyICpfX3Jlc3RyaWN0LAo+ID4+PiAgICAgX19nbnVj
X3ZhX2xpc3QpOwo+ID4+PiBleHRlcm4gX19zc2l6ZV90IF9JT19wYWRuIChfSU9fRklMRSAqLCBp
bnQsIF9fc3NpemVfdCk7Cj4gPj4+IGV4dGVybiBzaXplX3QgX0lPX3NnZXRuIChfSU9fRklMRSAq
LCB2b2lkICosIHNpemVfdCk7Cj4gPj4+Cj4gPj4+IGV4dGVybiBfX29mZjY0X3QgX0lPX3NlZWtv
ZmYgKF9JT19GSUxFICosIF9fb2ZmNjRfdCwgaW50LCBpbnQpOwo+ID4+PiBleHRlcm4gX19vZmY2
NF90IF9JT19zZWVrcG9zIChfSU9fRklMRSAqLCBfX29mZjY0X3QsIGludCk7Cj4gPj4+Cj4gPj4+
IGV4dGVybiB2b2lkIF9JT19mcmVlX2JhY2t1cF9hcmVhIChfSU9fRklMRSAqKSBfX2F0dHJpYnV0
ZV9fICgoX19ub3Rocm93X18gLCBfX2xlYWZfXykpOwo+ID4+PiAjIDc1ICIvdXNyL2luY2x1ZGUv
c3RkaW8uaCIgMiAzIDQKPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4gdHlwZWRlZiBfX2du
dWNfdmFfbGlzdCB2YV9saXN0Owo+ID4+PiAjIDkwICIvdXNyL2luY2x1ZGUvc3RkaW8uaCIgMyA0
Cj4gPj4+IHR5cGVkZWYgX19vZmZfdCBvZmZfdDsKPiA+Pj4gIyAxMDIgIi91c3IvaW5jbHVkZS9z
dGRpby5oIiAzIDQKPiA+Pj4gdHlwZWRlZiBfX3NzaXplX3Qgc3NpemVfdDsKPiA+Pj4KPiA+Pj4K
PiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4gdHlwZWRlZiBfR19mcG9zX3QgZnBv
c190Owo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+PiAjIDE2NCAiL3Vzci9pbmNsdWRlL3N0
ZGlvLmgiIDMgNAo+ID4+PiAjIDEgIi91c3IvaW5jbHVkZS9iaXRzL3N0ZGlvX2xpbS5oIiAxIDMg
NAo+ID4+PiAjIDE2NSAiL3Vzci9pbmNsdWRlL3N0ZGlvLmgiIDIgMyA0Cj4gPj4+Cj4gPj4+Cj4g
Pj4+Cj4gPj4+IGV4dGVybiBzdHJ1Y3QgX0lPX0ZJTEUgKnN0ZGluOwo+ID4+PiBleHRlcm4gc3Ry
dWN0IF9JT19GSUxFICpzdGRvdXQ7Cj4gPj4+IGV4dGVybiBzdHJ1Y3QgX0lPX0ZJTEUgKnN0ZGVy
cjsKPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4gZXh0ZXJu
IGludCByZW1vdmUgKGNvbnN0IGNoYXIgKl9fZmlsZW5hbWUpIF9fYXR0cmlidXRlX18gKChfX25v
dGhyb3dfXyAsIF9fbGVhZl9fKSk7Cj4gPj4+Cj4gPj4+IGV4dGVybiBpbnQgcmVuYW1lIChjb25z
dCBjaGFyICpfX29sZCwgY29uc3QgY2hhciAqX19uZXcpIF9fYXR0cmlidXRlX18gKChfX25vdGhy
b3dfXyAsIF9fbGVhZl9fKSk7Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+IGV4dGVybiBp
bnQgcmVuYW1lYXQgKGludCBfX29sZGZkLCBjb25zdCBjaGFyICpfX29sZCwgaW50IF9fbmV3ZmQs
Cj4gPj4+ICAgICAgICBjb25zdCBjaGFyICpfX25ldykgX19hdHRyaWJ1dGVfXyAoKF9fbm90aHJv
d19fICwgX19sZWFmX18pKTsKPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+
Pj4KPiA+Pj4KPiA+Pj4gZXh0ZXJuIEZJTEUgKnRtcGZpbGUgKHZvaWQpIDsKPiA+Pj4gIyAyMDkg
Ii91c3IvaW5jbHVkZS9zdGRpby5oIiAzIDQKPiA+Pj4gZXh0ZXJuIGNoYXIgKnRtcG5hbSAoY2hh
ciAqX19zKSBfX2F0dHJpYnV0ZV9fICgoX19ub3Rocm93X18gLCBfX2xlYWZfXykpIDsKPiA+Pj4K
PiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4gZXh0ZXJuIGNoYXIgKnRtcG5hbV9yIChjaGFy
ICpfX3MpIF9fYXR0cmlidXRlX18gKChfX25vdGhyb3dfXyAsIF9fbGVhZl9fKSkgOwo+ID4+PiAj
IDIyNyAiL3Vzci9pbmNsdWRlL3N0ZGlvLmgiIDMgNAo+ID4+PiBleHRlcm4gY2hhciAqdGVtcG5h
bSAoY29uc3QgY2hhciAqX19kaXIsIGNvbnN0IGNoYXIgKl9fcGZ4KQo+ID4+PiAgICAgIF9fYXR0
cmlidXRlX18gKChfX25vdGhyb3dfXyAsIF9fbGVhZl9fKSkgX19hdHRyaWJ1dGVfXyAoKF9fbWFs
bG9jX18pKSA7Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+
Cj4gPj4+IGV4dGVybiBpbnQgZmNsb3NlIChGSUxFICpfX3N0cmVhbSk7Cj4gPj4+Cj4gPj4+Cj4g
Pj4+Cj4gPj4+Cj4gPj4+IGV4dGVybiBpbnQgZmZsdXNoIChGSUxFICpfX3N0cmVhbSk7Cj4gPj4+
Cj4gPj4+ICMgMjUyICIvdXNyL2luY2x1ZGUvc3RkaW8uaCIgMyA0Cj4gPj4+IGV4dGVybiBpbnQg
ZmZsdXNoX3VubG9ja2VkIChGSUxFICpfX3N0cmVhbSk7Cj4gPj4+ICMgMjY2ICIvdXNyL2luY2x1
ZGUvc3RkaW8uaCIgMyA0Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+
IGV4dGVybiBGSUxFICpmb3BlbiAoY29uc3QgY2hhciAqX19yZXN0cmljdCBfX2ZpbGVuYW1lLAo+
ID4+PiAgICAgICBjb25zdCBjaGFyICpfX3Jlc3RyaWN0IF9fbW9kZXMpIDsKPiA+Pj4KPiA+Pj4K
PiA+Pj4KPiA+Pj4KPiA+Pj4gZXh0ZXJuIEZJTEUgKmZyZW9wZW4gKGNvbnN0IGNoYXIgKl9fcmVz
dHJpY3QgX19maWxlbmFtZSwKPiA+Pj4gICAgICAgICBjb25zdCBjaGFyICpfX3Jlc3RyaWN0IF9f
bW9kZXMsCj4gPj4+ICAgICAgICAgRklMRSAqX19yZXN0cmljdCBfX3N0cmVhbSkgOwo+ID4+PiAj
IDI5NSAiL3Vzci9pbmNsdWRlL3N0ZGlvLmgiIDMgNAo+ID4+Pgo+ID4+PiAjIDMwNiAiL3Vzci9p
bmNsdWRlL3N0ZGlvLmgiIDMgNAo+ID4+PiBleHRlcm4gRklMRSAqZmRvcGVuIChpbnQgX19mZCwg
Y29uc3QgY2hhciAqX19tb2RlcykgX19hdHRyaWJ1dGVfXyAoKF9fbm90aHJvd19fICwgX19sZWFm
X18pKSA7Cj4gPj4+ICMgMzE5ICIvdXNyL2luY2x1ZGUvc3RkaW8uaCIgMyA0Cj4gPj4+IGV4dGVy
biBGSUxFICpmbWVtb3BlbiAodm9pZCAqX19zLCBzaXplX3QgX19sZW4sIGNvbnN0IGNoYXIgKl9f
bW9kZXMpCj4gPj4+ICAgX19hdHRyaWJ1dGVfXyAoKF9fbm90aHJvd19fICwgX19sZWFmX18pKSA7
Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+IGV4dGVybiBGSUxFICpvcGVuX21lbXN0cmVh
bSAoY2hhciAqKl9fYnVmbG9jLCBzaXplX3QgKl9fc2l6ZWxvYykgX19hdHRyaWJ1dGVfXyAoKF9f
bm90aHJvd19fICwgX19sZWFmX18pKSA7Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4g
Pj4+Cj4gPj4+IGV4dGVybiB2b2lkIHNldGJ1ZiAoRklMRSAqX19yZXN0cmljdCBfX3N0cmVhbSwg
Y2hhciAqX19yZXN0cmljdCBfX2J1ZikgX19hdHRyaWJ1dGVfXyAoKF9fbm90aHJvd19fICwgX19s
ZWFmX18pKTsKPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4gZXh0ZXJuIGludCBzZXR2YnVmIChGSUxF
ICpfX3Jlc3RyaWN0IF9fc3RyZWFtLCBjaGFyICpfX3Jlc3RyaWN0IF9fYnVmLAo+ID4+PiAgICAg
ICBpbnQgX19tb2Rlcywgc2l6ZV90IF9fbikgX19hdHRyaWJ1dGVfXyAoKF9fbm90aHJvd19fICwg
X19sZWFmX18pKTsKPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4gZXh0ZXJuIHZv
aWQgc2V0YnVmZmVyIChGSUxFICpfX3Jlc3RyaWN0IF9fc3RyZWFtLCBjaGFyICpfX3Jlc3RyaWN0
IF9fYnVmLAo+ID4+PiAgICAgICAgICBzaXplX3QgX19zaXplKSBfX2F0dHJpYnV0ZV9fICgoX19u
b3Rocm93X18gLCBfX2xlYWZfXykpOwo+ID4+Pgo+ID4+Pgo+ID4+PiBleHRlcm4gdm9pZCBzZXRs
aW5lYnVmIChGSUxFICpfX3N0cmVhbSkgX19hdHRyaWJ1dGVfXyAoKF9fbm90aHJvd19fICwgX19s
ZWFmX18pKTsKPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4K
PiA+Pj4gZXh0ZXJuIGludCBmcHJpbnRmIChGSUxFICpfX3Jlc3RyaWN0IF9fc3RyZWFtLAo+ID4+
PiAgICAgICBjb25zdCBjaGFyICpfX3Jlc3RyaWN0IF9fZm9ybWF0LCAuLi4pOwo+ID4+Pgo+ID4+
Pgo+ID4+Pgo+ID4+Pgo+ID4+PiBleHRlcm4gaW50IHByaW50ZiAoY29uc3QgY2hhciAqX19yZXN0
cmljdCBfX2Zvcm1hdCwgLi4uKTsKPiA+Pj4KPiA+Pj4gZXh0ZXJuIGludCBzcHJpbnRmIChjaGFy
ICpfX3Jlc3RyaWN0IF9fcywKPiA+Pj4gICAgICAgY29uc3QgY2hhciAqX19yZXN0cmljdCBfX2Zv
cm1hdCwgLi4uKSBfX2F0dHJpYnV0ZV9fICgoX19ub3Rocm93X18pKTsKPiA+Pj4KPiA+Pj4KPiA+
Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4gZXh0ZXJuIGludCB2ZnByaW50ZiAoRklMRSAqX19yZXN0cmlj
dCBfX3MsIGNvbnN0IGNoYXIgKl9fcmVzdHJpY3QgX19mb3JtYXQsCj4gPj4+ICAgICAgICBfX2du
dWNfdmFfbGlzdCBfX2FyZyk7Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+IGV4dGVybiBp
bnQgdnByaW50ZiAoY29uc3QgY2hhciAqX19yZXN0cmljdCBfX2Zvcm1hdCwgX19nbnVjX3ZhX2xp
c3QgX19hcmcpOwo+ID4+Pgo+ID4+PiBleHRlcm4gaW50IHZzcHJpbnRmIChjaGFyICpfX3Jlc3Ry
aWN0IF9fcywgY29uc3QgY2hhciAqX19yZXN0cmljdCBfX2Zvcm1hdCwKPiA+Pj4gICAgICAgIF9f
Z251Y192YV9saXN0IF9fYXJnKSBfX2F0dHJpYnV0ZV9fICgoX19ub3Rocm93X18pKTsKPiA+Pj4K
PiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4gZXh0ZXJuIGludCBzbnByaW50ZiAoY2hhciAq
X19yZXN0cmljdCBfX3MsIHNpemVfdCBfX21heGxlbiwKPiA+Pj4gICAgICAgIGNvbnN0IGNoYXIg
Kl9fcmVzdHJpY3QgX19mb3JtYXQsIC4uLikKPiA+Pj4gICAgICBfX2F0dHJpYnV0ZV9fICgoX19u
b3Rocm93X18pKSBfX2F0dHJpYnV0ZV9fICgoX19mb3JtYXRfXyAoX19wcmludGZfXywgMywgNCkp
KTsKPiA+Pj4KPiA+Pj4gZXh0ZXJuIGludCB2c25wcmludGYgKGNoYXIgKl9fcmVzdHJpY3QgX19z
LCBzaXplX3QgX19tYXhsZW4sCj4gPj4+ICAgICAgICAgY29uc3QgY2hhciAqX19yZXN0cmljdCBf
X2Zvcm1hdCwgX19nbnVjX3ZhX2xpc3QgX19hcmcpCj4gPj4+ICAgICAgX19hdHRyaWJ1dGVfXyAo
KF9fbm90aHJvd19fKSkgX19hdHRyaWJ1dGVfXyAoKF9fZm9ybWF0X18gKF9fcHJpbnRmX18sIDMs
IDApKSk7Cj4gPj4+Cj4gPj4+ICMgNDEyICIvdXNyL2luY2x1ZGUvc3RkaW8uaCIgMyA0Cj4gPj4+
IGV4dGVybiBpbnQgdmRwcmludGYgKGludCBfX2ZkLCBjb25zdCBjaGFyICpfX3Jlc3RyaWN0IF9f
Zm10LAo+ID4+PiAgICAgICAgX19nbnVjX3ZhX2xpc3QgX19hcmcpCj4gPj4+ICAgICAgX19hdHRy
aWJ1dGVfXyAoKF9fZm9ybWF0X18gKF9fcHJpbnRmX18sIDIsIDApKSk7Cj4gPj4+IGV4dGVybiBp
bnQgZHByaW50ZiAoaW50IF9fZmQsIGNvbnN0IGNoYXIgKl9fcmVzdHJpY3QgX19mbXQsIC4uLikK
PiA+Pj4gICAgICBfX2F0dHJpYnV0ZV9fICgoX19mb3JtYXRfXyAoX19wcmludGZfXywgMiwgMykp
KTsKPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4g
ZXh0ZXJuIGludCBmc2NhbmYgKEZJTEUgKl9fcmVzdHJpY3QgX19zdHJlYW0sCj4gPj4+ICAgICAg
Y29uc3QgY2hhciAqX19yZXN0cmljdCBfX2Zvcm1hdCwgLi4uKSA7Cj4gPj4+Cj4gPj4+Cj4gPj4+
Cj4gPj4+Cj4gPj4+IGV4dGVybiBpbnQgc2NhbmYgKGNvbnN0IGNoYXIgKl9fcmVzdHJpY3QgX19m
b3JtYXQsIC4uLikgOwo+ID4+Pgo+ID4+PiBleHRlcm4gaW50IHNzY2FuZiAoY29uc3QgY2hhciAq
X19yZXN0cmljdCBfX3MsCj4gPj4+ICAgICAgY29uc3QgY2hhciAqX19yZXN0cmljdCBfX2Zvcm1h
dCwgLi4uKSBfX2F0dHJpYnV0ZV9fICgoX19ub3Rocm93X18gLCBfX2xlYWZfXykpOwo+ID4+PiAj
IDQ0MyAiL3Vzci9pbmNsdWRlL3N0ZGlvLmgiIDMgNAo+ID4+PiBleHRlcm4gaW50IGZzY2FuZiAo
RklMRSAqX19yZXN0cmljdCBfX3N0cmVhbSwgY29uc3QgY2hhciAqX19yZXN0cmljdCBfX2Zvcm1h
dCwgLi4uKSBfX2FzbV9fICgiIiAiX19pc29jOTlfZnNjYW5mIikKPiA+Pj4KPiA+Pj4gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIDsKPiA+Pj4gZXh0ZXJuIGludCBzY2FuZiAoY29uc3Qg
Y2hhciAqX19yZXN0cmljdCBfX2Zvcm1hdCwgLi4uKSBfX2FzbV9fICgiIiAiX19pc29jOTlfc2Nh
bmYiKQo+ID4+PiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA7Cj4gPj4+IGV4dGVybiBp
bnQgc3NjYW5mIChjb25zdCBjaGFyICpfX3Jlc3RyaWN0IF9fcywgY29uc3QgY2hhciAqX19yZXN0
cmljdCBfX2Zvcm1hdCwgLi4uKSBfX2FzbV9fICgiIiAiX19pc29jOTlfc3NjYW5mIikgX19hdHRy
aWJ1dGVfXyAoKF9fbm90aHJvd19fICwgX19sZWFmX18pKQo+ID4+Pgo+ID4+PiAgICAgICAgICAg
ICAgICAgICAgICAgOwo+ID4+PiAjIDQ2MyAiL3Vzci9pbmNsdWRlL3N0ZGlvLmgiIDMgNAo+ID4+
Pgo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+PiBleHRlcm4g
aW50IHZmc2NhbmYgKEZJTEUgKl9fcmVzdHJpY3QgX19zLCBjb25zdCBjaGFyICpfX3Jlc3RyaWN0
IF9fZm9ybWF0LAo+ID4+PiAgICAgICBfX2dudWNfdmFfbGlzdCBfX2FyZykKPiA+Pj4gICAgICBf
X2F0dHJpYnV0ZV9fICgoX19mb3JtYXRfXyAoX19zY2FuZl9fLCAyLCAwKSkpIDsKPiA+Pj4KPiA+
Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4gZXh0ZXJuIGludCB2c2NhbmYgKGNvbnN0IGNoYXIg
Kl9fcmVzdHJpY3QgX19mb3JtYXQsIF9fZ251Y192YV9saXN0IF9fYXJnKQo+ID4+PiAgICAgIF9f
YXR0cmlidXRlX18gKChfX2Zvcm1hdF9fIChfX3NjYW5mX18sIDEsIDApKSkgOwo+ID4+Pgo+ID4+
Pgo+ID4+PiBleHRlcm4gaW50IHZzc2NhbmYgKGNvbnN0IGNoYXIgKl9fcmVzdHJpY3QgX19zLAo+
ID4+PiAgICAgICBjb25zdCBjaGFyICpfX3Jlc3RyaWN0IF9fZm9ybWF0LCBfX2dudWNfdmFfbGlz
dCBfX2FyZykKPiA+Pj4gICAgICBfX2F0dHJpYnV0ZV9fICgoX19ub3Rocm93X18gLCBfX2xlYWZf
XykpIF9fYXR0cmlidXRlX18gKChfX2Zvcm1hdF9fIChfX3NjYW5mX18sIDIsIDApKSk7Cj4gPj4+
ICMgNDk0ICIvdXNyL2luY2x1ZGUvc3RkaW8uaCIgMyA0Cj4gPj4+IGV4dGVybiBpbnQgdmZzY2Fu
ZiAoRklMRSAqX19yZXN0cmljdCBfX3MsIGNvbnN0IGNoYXIgKl9fcmVzdHJpY3QgX19mb3JtYXQs
IF9fZ251Y192YV9saXN0IF9fYXJnKSBfX2FzbV9fICgiIiAiX19pc29jOTlfdmZzY2FuZiIpCj4g
Pj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+ICAgICAgX19hdHRyaWJ1dGVfXyAoKF9fZm9ybWF0X18gKF9f
c2NhbmZfXywgMiwgMCkpKSA7Cj4gPj4+IGV4dGVybiBpbnQgdnNjYW5mIChjb25zdCBjaGFyICpf
X3Jlc3RyaWN0IF9fZm9ybWF0LCBfX2dudWNfdmFfbGlzdCBfX2FyZykgX19hc21fXyAoIiIgIl9f
aXNvYzk5X3ZzY2FuZiIpCj4gPj4+Cj4gPj4+ICAgICAgX19hdHRyaWJ1dGVfXyAoKF9fZm9ybWF0
X18gKF9fc2NhbmZfXywgMSwgMCkpKSA7Cj4gPj4+IGV4dGVybiBpbnQgdnNzY2FuZiAoY29uc3Qg
Y2hhciAqX19yZXN0cmljdCBfX3MsIGNvbnN0IGNoYXIgKl9fcmVzdHJpY3QgX19mb3JtYXQsIF9f
Z251Y192YV9saXN0IF9fYXJnKSBfX2FzbV9fICgiIiAiX19pc29jOTlfdnNzY2FuZiIpIF9fYXR0
cmlidXRlX18gKChfX25vdGhyb3dfXyAsIF9fbGVhZl9fKSkKPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+
Pj4gICAgICBfX2F0dHJpYnV0ZV9fICgoX19mb3JtYXRfXyAoX19zY2FuZl9fLCAyLCAwKSkpOwo+
ID4+PiAjIDUyMiAiL3Vzci9pbmNsdWRlL3N0ZGlvLmgiIDMgNAo+ID4+Pgo+ID4+Pgo+ID4+Pgo+
ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+PiBleHRlcm4gaW50IGZnZXRj
IChGSUxFICpfX3N0cmVhbSk7Cj4gPj4+IGV4dGVybiBpbnQgZ2V0YyAoRklMRSAqX19zdHJlYW0p
Owo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+PiBleHRlcm4gaW50IGdldGNoYXIg
KHZvaWQpOwo+ID4+Pgo+ID4+PiAjIDU1MCAiL3Vzci9pbmNsdWRlL3N0ZGlvLmgiIDMgNAo+ID4+
PiBleHRlcm4gaW50IGdldGNfdW5sb2NrZWQgKEZJTEUgKl9fc3RyZWFtKTsKPiA+Pj4gZXh0ZXJu
IGludCBnZXRjaGFyX3VubG9ja2VkICh2b2lkKTsKPiA+Pj4gIyA1NjEgIi91c3IvaW5jbHVkZS9z
dGRpby5oIiAzIDQKPiA+Pj4gZXh0ZXJuIGludCBmZ2V0Y191bmxvY2tlZCAoRklMRSAqX19zdHJl
YW0pOwo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+
Pgo+ID4+Pgo+ID4+Pgo+ID4+PiBleHRlcm4gaW50IGZwdXRjIChpbnQgX19jLCBGSUxFICpfX3N0
cmVhbSk7Cj4gPj4+IGV4dGVybiBpbnQgcHV0YyAoaW50IF9fYywgRklMRSAqX19zdHJlYW0pOwo+
ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+PiBleHRlcm4gaW50IHB1dGNoYXIgKGlu
dCBfX2MpOwo+ID4+Pgo+ID4+PiAjIDU5NCAiL3Vzci9pbmNsdWRlL3N0ZGlvLmgiIDMgNAo+ID4+
PiBleHRlcm4gaW50IGZwdXRjX3VubG9ja2VkIChpbnQgX19jLCBGSUxFICpfX3N0cmVhbSk7Cj4g
Pj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+IGV4dGVybiBpbnQg
cHV0Y191bmxvY2tlZCAoaW50IF9fYywgRklMRSAqX19zdHJlYW0pOwo+ID4+PiBleHRlcm4gaW50
IHB1dGNoYXJfdW5sb2NrZWQgKGludCBfX2MpOwo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+
Pgo+ID4+Pgo+ID4+PiBleHRlcm4gaW50IGdldHcgKEZJTEUgKl9fc3RyZWFtKTsKPiA+Pj4KPiA+
Pj4KPiA+Pj4gZXh0ZXJuIGludCBwdXR3IChpbnQgX193LCBGSUxFICpfX3N0cmVhbSk7Cj4gPj4+
Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+IGV4dGVybiBj
aGFyICpmZ2V0cyAoY2hhciAqX19yZXN0cmljdCBfX3MsIGludCBfX24sIEZJTEUgKl9fcmVzdHJp
Y3QgX19zdHJlYW0pCj4gPj4+ICAgICAgOwo+ID4+PiAjIDY0MCAiL3Vzci9pbmNsdWRlL3N0ZGlv
LmgiIDMgNAo+ID4+Pgo+ID4+PiAjIDY2NSAiL3Vzci9pbmNsdWRlL3N0ZGlvLmgiIDMgNAo+ID4+
PiBleHRlcm4gX19zc2l6ZV90IF9fZ2V0ZGVsaW0gKGNoYXIgKipfX3Jlc3RyaWN0IF9fbGluZXB0
ciwKPiA+Pj4gICAgICAgICAgIHNpemVfdCAqX19yZXN0cmljdCBfX24sIGludCBfX2RlbGltaXRl
ciwKPiA+Pj4gICAgICAgICAgIEZJTEUgKl9fcmVzdHJpY3QgX19zdHJlYW0pIDsKPiA+Pj4gZXh0
ZXJuIF9fc3NpemVfdCBnZXRkZWxpbSAoY2hhciAqKl9fcmVzdHJpY3QgX19saW5lcHRyLAo+ID4+
PiAgICAgICAgIHNpemVfdCAqX19yZXN0cmljdCBfX24sIGludCBfX2RlbGltaXRlciwKPiA+Pj4g
ICAgICAgICBGSUxFICpfX3Jlc3RyaWN0IF9fc3RyZWFtKSA7Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4g
Pj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+IGV4dGVybiBfX3NzaXplX3QgZ2V0bGluZSAoY2hh
ciAqKl9fcmVzdHJpY3QgX19saW5lcHRyLAo+ID4+PiAgICAgICAgc2l6ZV90ICpfX3Jlc3RyaWN0
IF9fbiwKPiA+Pj4gICAgICAgIEZJTEUgKl9fcmVzdHJpY3QgX19zdHJlYW0pIDsKPiA+Pj4KPiA+
Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4gZXh0ZXJuIGludCBm
cHV0cyAoY29uc3QgY2hhciAqX19yZXN0cmljdCBfX3MsIEZJTEUgKl9fcmVzdHJpY3QgX19zdHJl
YW0pOwo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+PiBleHRlcm4gaW50IHB1dHMg
KGNvbnN0IGNoYXIgKl9fcyk7Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4g
Pj4+IGV4dGVybiBpbnQgdW5nZXRjIChpbnQgX19jLCBGSUxFICpfX3N0cmVhbSk7Cj4gPj4+Cj4g
Pj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+IGV4dGVybiBzaXplX3QgZnJlYWQgKHZv
aWQgKl9fcmVzdHJpY3QgX19wdHIsIHNpemVfdCBfX3NpemUsCj4gPj4+ICAgICAgICBzaXplX3Qg
X19uLCBGSUxFICpfX3Jlc3RyaWN0IF9fc3RyZWFtKSA7Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+
Cj4gPj4+IGV4dGVybiBzaXplX3QgZndyaXRlIChjb25zdCB2b2lkICpfX3Jlc3RyaWN0IF9fcHRy
LCBzaXplX3QgX19zaXplLAo+ID4+PiAgICAgICAgIHNpemVfdCBfX24sIEZJTEUgKl9fcmVzdHJp
Y3QgX19zKTsKPiA+Pj4KPiA+Pj4gIyA3MzcgIi91c3IvaW5jbHVkZS9zdGRpby5oIiAzIDQKPiA+
Pj4gZXh0ZXJuIHNpemVfdCBmcmVhZF91bmxvY2tlZCAodm9pZCAqX19yZXN0cmljdCBfX3B0ciwg
c2l6ZV90IF9fc2l6ZSwKPiA+Pj4gICAgICAgICAgc2l6ZV90IF9fbiwgRklMRSAqX19yZXN0cmlj
dCBfX3N0cmVhbSkgOwo+ID4+PiBleHRlcm4gc2l6ZV90IGZ3cml0ZV91bmxvY2tlZCAoY29uc3Qg
dm9pZCAqX19yZXN0cmljdCBfX3B0ciwgc2l6ZV90IF9fc2l6ZSwKPiA+Pj4gICAgICAgICAgIHNp
emVfdCBfX24sIEZJTEUgKl9fcmVzdHJpY3QgX19zdHJlYW0pOwo+ID4+Pgo+ID4+Pgo+ID4+Pgo+
ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+PiBleHRlcm4gaW50IGZzZWVrIChGSUxF
ICpfX3N0cmVhbSwgbG9uZyBpbnQgX19vZmYsIGludCBfX3doZW5jZSk7Cj4gPj4+Cj4gPj4+Cj4g
Pj4+Cj4gPj4+Cj4gPj4+IGV4dGVybiBsb25nIGludCBmdGVsbCAoRklMRSAqX19zdHJlYW0pIDsK
PiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4gZXh0ZXJuIHZvaWQgcmV3aW5kIChGSUxFICpf
X3N0cmVhbSk7Cj4gPj4+Cj4gPj4+ICMgNzczICIvdXNyL2luY2x1ZGUvc3RkaW8uaCIgMyA0Cj4g
Pj4+IGV4dGVybiBpbnQgZnNlZWtvIChGSUxFICpfX3N0cmVhbSwgX19vZmZfdCBfX29mZiwgaW50
IF9fd2hlbmNlKTsKPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4gZXh0ZXJuIF9fb2ZmX3Qg
ZnRlbGxvIChGSUxFICpfX3N0cmVhbSkgOwo+ID4+PiAjIDc5MiAiL3Vzci9pbmNsdWRlL3N0ZGlv
LmgiIDMgNAo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+PiBleHRlcm4g
aW50IGZnZXRwb3MgKEZJTEUgKl9fcmVzdHJpY3QgX19zdHJlYW0sIGZwb3NfdCAqX19yZXN0cmlj
dCBfX3Bvcyk7Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+IGV4dGVybiBpbnQgZnNldHBv
cyAoRklMRSAqX19zdHJlYW0sIGNvbnN0IGZwb3NfdCAqX19wb3MpOwo+ID4+PiAjIDgxNSAiL3Vz
ci9pbmNsdWRlL3N0ZGlvLmgiIDMgNAo+ID4+Pgo+ID4+PiAjIDgyNCAiL3Vzci9pbmNsdWRlL3N0
ZGlvLmgiIDMgNAo+ID4+Pgo+ID4+Pgo+ID4+PiBleHRlcm4gdm9pZCBjbGVhcmVyciAoRklMRSAq
X19zdHJlYW0pIF9fYXR0cmlidXRlX18gKChfX25vdGhyb3dfXyAsIF9fbGVhZl9fKSk7Cj4gPj4+
Cj4gPj4+IGV4dGVybiBpbnQgZmVvZiAoRklMRSAqX19zdHJlYW0pIF9fYXR0cmlidXRlX18gKChf
X25vdGhyb3dfXyAsIF9fbGVhZl9fKSkgOwo+ID4+Pgo+ID4+PiBleHRlcm4gaW50IGZlcnJvciAo
RklMRSAqX19zdHJlYW0pIF9fYXR0cmlidXRlX18gKChfX25vdGhyb3dfXyAsIF9fbGVhZl9fKSkg
Owo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+PiBleHRlcm4gdm9pZCBjbGVhcmVycl91bmxv
Y2tlZCAoRklMRSAqX19zdHJlYW0pIF9fYXR0cmlidXRlX18gKChfX25vdGhyb3dfXyAsIF9fbGVh
Zl9fKSk7Cj4gPj4+IGV4dGVybiBpbnQgZmVvZl91bmxvY2tlZCAoRklMRSAqX19zdHJlYW0pIF9f
YXR0cmlidXRlX18gKChfX25vdGhyb3dfXyAsIF9fbGVhZl9fKSkgOwo+ID4+PiBleHRlcm4gaW50
IGZlcnJvcl91bmxvY2tlZCAoRklMRSAqX19zdHJlYW0pIF9fYXR0cmlidXRlX18gKChfX25vdGhy
b3dfXyAsIF9fbGVhZl9fKSkgOwo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+Pgo+
ID4+Pgo+ID4+Pgo+ID4+PiBleHRlcm4gdm9pZCBwZXJyb3IgKGNvbnN0IGNoYXIgKl9fcyk7Cj4g
Pj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+ICMgMSAiL3Vzci9pbmNsdWRl
L2JpdHMvc3lzX2Vycmxpc3QuaCIgMSAzIDQKPiA+Pj4gIyAyNiAiL3Vzci9pbmNsdWRlL2JpdHMv
c3lzX2Vycmxpc3QuaCIgMyA0Cj4gPj4+IGV4dGVybiBpbnQgc3lzX25lcnI7Cj4gPj4+IGV4dGVy
biBjb25zdCBjaGFyICpjb25zdCBzeXNfZXJybGlzdFtdOwo+ID4+PiAjIDg1NCAiL3Vzci9pbmNs
dWRlL3N0ZGlvLmgiIDIgMyA0Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+IGV4dGVybiBp
bnQgZmlsZW5vIChGSUxFICpfX3N0cmVhbSkgX19hdHRyaWJ1dGVfXyAoKF9fbm90aHJvd19fICwg
X19sZWFmX18pKSA7Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+IGV4dGVybiBpbnQgZmls
ZW5vX3VubG9ja2VkIChGSUxFICpfX3N0cmVhbSkgX19hdHRyaWJ1dGVfXyAoKF9fbm90aHJvd19f
ICwgX19sZWFmX18pKSA7Cj4gPj4+ICMgODcyICIvdXNyL2luY2x1ZGUvc3RkaW8uaCIgMyA0Cj4g
Pj4+IGV4dGVybiBGSUxFICpwb3BlbiAoY29uc3QgY2hhciAqX19jb21tYW5kLCBjb25zdCBjaGFy
ICpfX21vZGVzKSA7Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+IGV4dGVybiBp
bnQgcGNsb3NlIChGSUxFICpfX3N0cmVhbSk7Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+
Cj4gPj4+IGV4dGVybiBjaGFyICpjdGVybWlkIChjaGFyICpfX3MpIF9fYXR0cmlidXRlX18gKChf
X25vdGhyb3dfXyAsIF9fbGVhZl9fKSk7Cj4gPj4+ICMgOTEyICIvdXNyL2luY2x1ZGUvc3RkaW8u
aCIgMyA0Cj4gPj4+IGV4dGVybiB2b2lkIGZsb2NrZmlsZSAoRklMRSAqX19zdHJlYW0pIF9fYXR0
cmlidXRlX18gKChfX25vdGhyb3dfXyAsIF9fbGVhZl9fKSk7Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4g
Pj4+IGV4dGVybiBpbnQgZnRyeWxvY2tmaWxlIChGSUxFICpfX3N0cmVhbSkgX19hdHRyaWJ1dGVf
XyAoKF9fbm90aHJvd19fICwgX19sZWFmX18pKSA7Cj4gPj4+Cj4gPj4+Cj4gPj4+IGV4dGVybiB2
b2lkIGZ1bmxvY2tmaWxlIChGSUxFICpfX3N0cmVhbSkgX19hdHRyaWJ1dGVfXyAoKF9fbm90aHJv
d19fICwgX19sZWFmX18pKTsKPiA+Pj4gIyA5NDIgIi91c3IvaW5jbHVkZS9zdGRpby5oIiAzIDQK
PiA+Pj4KPiA+Pj4gIyA0MCAibWFjaGluZS5jIiAyCj4gPj4+ICMgMSAiL3Vzci9pbmNsdWRlL3N0
ZGxpYi5oIiAxIDMgNAo+ID4+PiAjIDMyICIvdXNyL2luY2x1ZGUvc3RkbGliLmgiIDMgNAo+ID4+
PiAjIDEgIi91c3IvbGliL2djYy9pNjg2LXJlZGhhdC1saW51eC82LjEuMS9pbmNsdWRlL3N0ZGRl
Zi5oIiAxIDMgNAo+ID4+PiAjIDMyOCAiL3Vzci9saWIvZ2NjL2k2ODYtcmVkaGF0LWxpbnV4LzYu
MS4xL2luY2x1ZGUvc3RkZGVmLmgiIDMgNAo+ID4+PiB0eXBlZGVmIGxvbmcgaW50IHdjaGFyX3Q7
Cj4gPj4+ICMgMzMgIi91c3IvaW5jbHVkZS9zdGRsaWIuaCIgMiAzIDQKPiA+Pj4KPiA+Pj4KPiA+
Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4gIyAxICIvdXNyL2luY2x1ZGUv
Yml0cy93YWl0ZmxhZ3MuaCIgMSAzIDQKPiA+Pj4gIyA0MiAiL3Vzci9pbmNsdWRlL3N0ZGxpYi5o
IiAyIDMgNAo+ID4+PiAjIDEgIi91c3IvaW5jbHVkZS9iaXRzL3dhaXRzdGF0dXMuaCIgMSAzIDQK
PiA+Pj4gIyA2NCAiL3Vzci9pbmNsdWRlL2JpdHMvd2FpdHN0YXR1cy5oIiAzIDQKPiA+Pj4gIyAx
ICIvdXNyL2luY2x1ZGUvZW5kaWFuLmgiIDEgMyA0Cj4gPj4+ICMgMzYgIi91c3IvaW5jbHVkZS9l
bmRpYW4uaCIgMyA0Cj4gPj4+ICMgMSAiL3Vzci9pbmNsdWRlL2JpdHMvZW5kaWFuLmgiIDEgMyA0
Cj4gPj4+ICMgMzcgIi91c3IvaW5jbHVkZS9lbmRpYW4uaCIgMiAzIDQKPiA+Pj4gIyA2MCAiL3Vz
ci9pbmNsdWRlL2VuZGlhbi5oIiAzIDQKPiA+Pj4gIyAxICIvdXNyL2luY2x1ZGUvYml0cy9ieXRl
c3dhcC5oIiAxIDMgNAo+ID4+PiAjIDI4ICIvdXNyL2luY2x1ZGUvYml0cy9ieXRlc3dhcC5oIiAz
IDQKPiA+Pj4gIyAxICIvdXNyL2luY2x1ZGUvYml0cy93b3Jkc2l6ZS5oIiAxIDMgNAo+ID4+PiAj
IDI5ICIvdXNyL2luY2x1ZGUvYml0cy9ieXRlc3dhcC5oIiAyIDMgNAo+ID4+Pgo+ID4+Pgo+ID4+
Pgo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+PiAjIDEgIi91c3IvaW5jbHVkZS9iaXRzL2J5dGVzd2Fw
LTE2LmgiIDEgMyA0Cj4gPj4+ICMgMzYgIi91c3IvaW5jbHVkZS9iaXRzL2J5dGVzd2FwLmgiIDIg
MyA0Cj4gPj4+ICMgNDQgIi91c3IvaW5jbHVkZS9iaXRzL2J5dGVzd2FwLmgiIDMgNAo+ID4+PiBz
dGF0aWMgX19pbmxpbmUgdW5zaWduZWQgaW50Cj4gPj4+IF9fYnN3YXBfMzIgKHVuc2lnbmVkIGlu
dCBfX2JzeCkKPiA+Pj4gewo+ID4+PiAgIHJldHVybiBfX2J1aWx0aW5fYnN3YXAzMiAoX19ic3gp
Owo+ID4+PiB9Cj4gPj4+ICMgMTA4ICIvdXNyL2luY2x1ZGUvYml0cy9ieXRlc3dhcC5oIiAzIDQK
PiA+Pj4gc3RhdGljIF9faW5saW5lIF9fdWludDY0X3QKPiA+Pj4gX19ic3dhcF82NCAoX191aW50
NjRfdCBfX2JzeCkKPiA+Pj4gewo+ID4+PiAgIHJldHVybiBfX2J1aWx0aW5fYnN3YXA2NCAoX19i
c3gpOwo+ID4+PiB9Cj4gPj4+ICMgNjEgIi91c3IvaW5jbHVkZS9lbmRpYW4uaCIgMiAzIDQKPiA+
Pj4gIyA2NSAiL3Vzci9pbmNsdWRlL2JpdHMvd2FpdHN0YXR1cy5oIiAyIDMgNAo+ID4+Pgo+ID4+
PiB1bmlvbiB3YWl0Cj4gPj4+ICAgewo+ID4+PiAgICAgaW50IHdfc3RhdHVzOwo+ID4+PiAgICAg
c3RydWN0Cj4gPj4+ICAgICAgIHsKPiA+Pj4KPiA+Pj4gIHVuc2lnbmVkIGludCBfX3dfdGVybXNp
Zzo3Owo+ID4+PiAgdW5zaWduZWQgaW50IF9fd19jb3JlZHVtcDoxOwo+ID4+PiAgdW5zaWduZWQg
aW50IF9fd19yZXRjb2RlOjg7Cj4gPj4+ICB1bnNpZ25lZCBpbnQ6MTY7Cj4gPj4+Cj4gPj4+Cj4g
Pj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+ICAgICAgIH0gX193YWl0X3Rlcm1pbmF0
ZWQ7Cj4gPj4+ICAgICBzdHJ1Y3QKPiA+Pj4gICAgICAgewo+ID4+Pgo+ID4+PiAgdW5zaWduZWQg
aW50IF9fd19zdG9wdmFsOjg7Cj4gPj4+ICB1bnNpZ25lZCBpbnQgX193X3N0b3BzaWc6ODsKPiA+
Pj4gIHVuc2lnbmVkIGludDoxNjsKPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4K
PiA+Pj4gICAgICAgfSBfX3dhaXRfc3RvcHBlZDsKPiA+Pj4gICB9Owo+ID4+PiAjIDQzICIvdXNy
L2luY2x1ZGUvc3RkbGliLmgiIDIgMyA0Cj4gPj4+ICMgNjcgIi91c3IvaW5jbHVkZS9zdGRsaWIu
aCIgMyA0Cj4gPj4+IHR5cGVkZWYgdW5pb24KPiA+Pj4gICB7Cj4gPj4+ICAgICB1bmlvbiB3YWl0
ICpfX3VwdHI7Cj4gPj4+ICAgICBpbnQgKl9faXB0cjsKPiA+Pj4gICB9IF9fV0FJVF9TVEFUVVMg
X19hdHRyaWJ1dGVfXyAoKF9fdHJhbnNwYXJlbnRfdW5pb25fXykpOwo+ID4+PiAjIDk1ICIvdXNy
L2luY2x1ZGUvc3RkbGliLmgiIDMgNAo+ID4+Pgo+ID4+Pgo+ID4+PiB0eXBlZGVmIHN0cnVjdAo+
ID4+PiAgIHsKPiA+Pj4gICAgIGludCBxdW90Owo+ID4+PiAgICAgaW50IHJlbTsKPiA+Pj4gICB9
IGRpdl90Owo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+PiB0eXBlZGVmIHN0cnVjdAo+ID4+PiAgIHsK
PiA+Pj4gICAgIGxvbmcgaW50IHF1b3Q7Cj4gPj4+ICAgICBsb25nIGludCByZW07Cj4gPj4+ICAg
fSBsZGl2X3Q7Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+
IF9fZXh0ZW5zaW9uX18gdHlwZWRlZiBzdHJ1Y3QKPiA+Pj4gICB7Cj4gPj4+ICAgICBsb25nIGxv
bmcgaW50IHF1b3Q7Cj4gPj4+ICAgICBsb25nIGxvbmcgaW50IHJlbTsKPiA+Pj4gICB9IGxsZGl2
X3Q7Cj4gPj4+Cj4gPj4+Cj4gPj4+ICMgMTM5ICIvdXNyL2luY2x1ZGUvc3RkbGliLmgiIDMgNAo+
ID4+PiBleHRlcm4gc2l6ZV90IF9fY3R5cGVfZ2V0X21iX2N1cl9tYXggKHZvaWQpIF9fYXR0cmli
dXRlX18gKChfX25vdGhyb3dfXyAsIF9fbGVhZl9fKSkgOwo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+
Pgo+ID4+PiBleHRlcm4gZG91YmxlIGF0b2YgKGNvbnN0IGNoYXIgKl9fbnB0cikKPiA+Pj4gICAg
ICBfX2F0dHJpYnV0ZV9fICgoX19ub3Rocm93X18gLCBfX2xlYWZfXykpIF9fYXR0cmlidXRlX18g
KChfX3B1cmVfXykpIF9fYXR0cmlidXRlX18gKChfX25vbm51bGxfXyAoMSkpKSA7Cj4gPj4+Cj4g
Pj4+IGV4dGVybiBpbnQgYXRvaSAoY29uc3QgY2hhciAqX19ucHRyKQo+ID4+PiAgICAgIF9fYXR0
cmlidXRlX18gKChfX25vdGhyb3dfXyAsIF9fbGVhZl9fKSkgX19hdHRyaWJ1dGVfXyAoKF9fcHVy
ZV9fKSkgX19hdHRyaWJ1dGVfXyAoKF9fbm9ubnVsbF9fICgxKSkpIDsKPiA+Pj4KPiA+Pj4gZXh0
ZXJuIGxvbmcgaW50IGF0b2wgKGNvbnN0IGNoYXIgKl9fbnB0cikKPiA+Pj4gICAgICBfX2F0dHJp
YnV0ZV9fICgoX19ub3Rocm93X18gLCBfX2xlYWZfXykpIF9fYXR0cmlidXRlX18gKChfX3B1cmVf
XykpIF9fYXR0cmlidXRlX18gKChfX25vbm51bGxfXyAoMSkpKSA7Cj4gPj4+Cj4gPj4+Cj4gPj4+
Cj4gPj4+Cj4gPj4+Cj4gPj4+IF9fZXh0ZW5zaW9uX18gZXh0ZXJuIGxvbmcgbG9uZyBpbnQgYXRv
bGwgKGNvbnN0IGNoYXIgKl9fbnB0cikKPiA+Pj4gICAgICBfX2F0dHJpYnV0ZV9fICgoX19ub3Ro
cm93X18gLCBfX2xlYWZfXykpIF9fYXR0cmlidXRlX18gKChfX3B1cmVfXykpIF9fYXR0cmlidXRl
X18gKChfX25vbm51bGxfXyAoMSkpKSA7Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4g
Pj4+IGV4dGVybiBkb3VibGUgc3RydG9kIChjb25zdCBjaGFyICpfX3Jlc3RyaWN0IF9fbnB0ciwK
PiA+Pj4gICAgICAgICBjaGFyICoqX19yZXN0cmljdCBfX2VuZHB0cikKPiA+Pj4gICAgICBfX2F0
dHJpYnV0ZV9fICgoX19ub3Rocm93X18gLCBfX2xlYWZfXykpIF9fYXR0cmlidXRlX18gKChfX25v
bm51bGxfXyAoMSkpKTsKPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4gZXh0ZXJu
IGZsb2F0IHN0cnRvZiAoY29uc3QgY2hhciAqX19yZXN0cmljdCBfX25wdHIsCj4gPj4+ICAgICAg
ICBjaGFyICoqX19yZXN0cmljdCBfX2VuZHB0cikgX19hdHRyaWJ1dGVfXyAoKF9fbm90aHJvd19f
ICwgX19sZWFmX18pKSBfX2F0dHJpYnV0ZV9fICgoX19ub25udWxsX18gKDEpKSk7Cj4gPj4+Cj4g
Pj4+IGV4dGVybiBsb25nIGRvdWJsZSBzdHJ0b2xkIChjb25zdCBjaGFyICpfX3Jlc3RyaWN0IF9f
bnB0ciwKPiA+Pj4gICAgICAgIGNoYXIgKipfX3Jlc3RyaWN0IF9fZW5kcHRyKQo+ID4+PiAgICAg
IF9fYXR0cmlidXRlX18gKChfX25vdGhyb3dfXyAsIF9fbGVhZl9fKSkgX19hdHRyaWJ1dGVfXyAo
KF9fbm9ubnVsbF9fICgxKSkpOwo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+PiBl
eHRlcm4gbG9uZyBpbnQgc3RydG9sIChjb25zdCBjaGFyICpfX3Jlc3RyaWN0IF9fbnB0ciwKPiA+
Pj4gICAgY2hhciAqKl9fcmVzdHJpY3QgX19lbmRwdHIsIGludCBfX2Jhc2UpCj4gPj4+ICAgICAg
X19hdHRyaWJ1dGVfXyAoKF9fbm90aHJvd19fICwgX19sZWFmX18pKSBfX2F0dHJpYnV0ZV9fICgo
X19ub25udWxsX18gKDEpKSk7Cj4gPj4+Cj4gPj4+IGV4dGVybiB1bnNpZ25lZCBsb25nIGludCBz
dHJ0b3VsIChjb25zdCBjaGFyICpfX3Jlc3RyaWN0IF9fbnB0ciwKPiA+Pj4gICAgICAgY2hhciAq
Kl9fcmVzdHJpY3QgX19lbmRwdHIsIGludCBfX2Jhc2UpCj4gPj4+ICAgICAgX19hdHRyaWJ1dGVf
XyAoKF9fbm90aHJvd19fICwgX19sZWFmX18pKSBfX2F0dHJpYnV0ZV9fICgoX19ub25udWxsX18g
KDEpKSk7Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+IF9fZXh0ZW5zaW9uX18KPiA+Pj4g
ZXh0ZXJuIGxvbmcgbG9uZyBpbnQgc3RydG9xIChjb25zdCBjaGFyICpfX3Jlc3RyaWN0IF9fbnB0
ciwKPiA+Pj4gICAgICAgICBjaGFyICoqX19yZXN0cmljdCBfX2VuZHB0ciwgaW50IF9fYmFzZSkK
PiA+Pj4gICAgICBfX2F0dHJpYnV0ZV9fICgoX19ub3Rocm93X18gLCBfX2xlYWZfXykpIF9fYXR0
cmlidXRlX18gKChfX25vbm51bGxfXyAoMSkpKTsKPiA+Pj4KPiA+Pj4gX19leHRlbnNpb25fXwo+
ID4+PiBleHRlcm4gdW5zaWduZWQgbG9uZyBsb25nIGludCBzdHJ0b3VxIChjb25zdCBjaGFyICpf
X3Jlc3RyaWN0IF9fbnB0ciwKPiA+Pj4gICAgICAgICAgICBjaGFyICoqX19yZXN0cmljdCBfX2Vu
ZHB0ciwgaW50IF9fYmFzZSkKPiA+Pj4gICAgICBfX2F0dHJpYnV0ZV9fICgoX19ub3Rocm93X18g
LCBfX2xlYWZfXykpIF9fYXR0cmlidXRlX18gKChfX25vbm51bGxfXyAoMSkpKTsKPiA+Pj4KPiA+
Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4gX19leHRlbnNpb25fXwo+ID4+PiBleHRlcm4gbG9u
ZyBsb25nIGludCBzdHJ0b2xsIChjb25zdCBjaGFyICpfX3Jlc3RyaWN0IF9fbnB0ciwKPiA+Pj4g
ICAgICAgICAgY2hhciAqKl9fcmVzdHJpY3QgX19lbmRwdHIsIGludCBfX2Jhc2UpCj4gPj4+ICAg
ICAgX19hdHRyaWJ1dGVfXyAoKF9fbm90aHJvd19fICwgX19sZWFmX18pKSBfX2F0dHJpYnV0ZV9f
ICgoX19ub25udWxsX18gKDEpKSk7Cj4gPj4+Cj4gPj4+IF9fZXh0ZW5zaW9uX18KPiA+Pj4gZXh0
ZXJuIHVuc2lnbmVkIGxvbmcgbG9uZyBpbnQgc3RydG91bGwgKGNvbnN0IGNoYXIgKl9fcmVzdHJp
Y3QgX19ucHRyLAo+ID4+PiAgICAgIGNoYXIgKipfX3Jlc3RyaWN0IF9fZW5kcHRyLCBpbnQgX19i
YXNlKQo+ID4+PiAgICAgIF9fYXR0cmlidXRlX18gKChfX25vdGhyb3dfXyAsIF9fbGVhZl9fKSkg
X19hdHRyaWJ1dGVfXyAoKF9fbm9ubnVsbF9fICgxKSkpOwo+ID4+Pgo+ID4+PiAjIDMwNSAiL3Vz
ci9pbmNsdWRlL3N0ZGxpYi5oIiAzIDQKPiA+Pj4gZXh0ZXJuIGNoYXIgKmw2NGEgKGxvbmcgaW50
IF9fbikgX19hdHRyaWJ1dGVfXyAoKF9fbm90aHJvd19fICwgX19sZWFmX18pKSA7Cj4gPj4+Cj4g
Pj4+Cj4gPj4+IGV4dGVybiBsb25nIGludCBhNjRsIChjb25zdCBjaGFyICpfX3MpCj4gPj4+ICAg
ICAgX19hdHRyaWJ1dGVfXyAoKF9fbm90aHJvd19fICwgX19sZWFmX18pKSBfX2F0dHJpYnV0ZV9f
ICgoX19wdXJlX18pKSBfX2F0dHJpYnV0ZV9fICgoX19ub25udWxsX18gKDEpKSkgOwo+ID4+Pgo+
ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+PiAjIDEgIi91c3IvaW5jbHVkZS9zeXMvdHlwZXMuaCIgMSAz
IDQKPiA+Pj4gIyAyNyAiL3Vzci9pbmNsdWRlL3N5cy90eXBlcy5oIiAzIDQKPiA+Pj4KPiA+Pj4K
PiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4gdHlwZWRlZiBfX3VfY2hhciB1X2NoYXI7Cj4g
Pj4+IHR5cGVkZWYgX191X3Nob3J0IHVfc2hvcnQ7Cj4gPj4+IHR5cGVkZWYgX191X2ludCB1X2lu
dDsKPiA+Pj4gdHlwZWRlZiBfX3VfbG9uZyB1X2xvbmc7Cj4gPj4+IHR5cGVkZWYgX19xdWFkX3Qg
cXVhZF90Owo+ID4+PiB0eXBlZGVmIF9fdV9xdWFkX3QgdV9xdWFkX3Q7Cj4gPj4+IHR5cGVkZWYg
X19mc2lkX3QgZnNpZF90Owo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+PiB0eXBlZGVmIF9f
bG9mZl90IGxvZmZfdDsKPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4gdHlwZWRlZiBfX2lub190IGlu
b190Owo+ID4+PiAjIDYwICIvdXNyL2luY2x1ZGUvc3lzL3R5cGVzLmgiIDMgNAo+ID4+PiB0eXBl
ZGVmIF9fZGV2X3QgZGV2X3Q7Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+IHR5cGVkZWYg
X19naWRfdCBnaWRfdDsKPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4gdHlwZWRlZiBfX21v
ZGVfdCBtb2RlX3Q7Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+IHR5cGVkZWYgX19ubGlu
a190IG5saW5rX3Q7Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+IHR5cGVkZWYgX191aWRf
dCB1aWRfdDsKPiA+Pj4gIyA5OCAiL3Vzci9pbmNsdWRlL3N5cy90eXBlcy5oIiAzIDQKPiA+Pj4g
dHlwZWRlZiBfX3BpZF90IHBpZF90Owo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+
PiB0eXBlZGVmIF9faWRfdCBpZF90Owo+ID4+PiAjIDExNSAiL3Vzci9pbmNsdWRlL3N5cy90eXBl
cy5oIiAzIDQKPiA+Pj4gdHlwZWRlZiBfX2RhZGRyX3QgZGFkZHJfdDsKPiA+Pj4gdHlwZWRlZiBf
X2NhZGRyX3QgY2FkZHJfdDsKPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4gdHlw
ZWRlZiBfX2tleV90IGtleV90Owo+ID4+PiAjIDEzMiAiL3Vzci9pbmNsdWRlL3N5cy90eXBlcy5o
IiAzIDQKPiA+Pj4gIyAxICIvdXNyL2luY2x1ZGUvdGltZS5oIiAxIDMgNAo+ID4+PiAjIDU3ICIv
dXNyL2luY2x1ZGUvdGltZS5oIiAzIDQKPiA+Pj4KPiA+Pj4KPiA+Pj4gdHlwZWRlZiBfX2Nsb2Nr
X3QgY2xvY2tfdDsKPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4gIyA3MyAiL3Vzci9pbmNsdWRlL3Rp
bWUuaCIgMyA0Cj4gPj4+Cj4gPj4+Cj4gPj4+IHR5cGVkZWYgX190aW1lX3QgdGltZV90Owo+ID4+
Pgo+ID4+Pgo+ID4+Pgo+ID4+PiAjIDkxICIvdXNyL2luY2x1ZGUvdGltZS5oIiAzIDQKPiA+Pj4g
dHlwZWRlZiBfX2Nsb2NraWRfdCBjbG9ja2lkX3Q7Cj4gPj4+ICMgMTAzICIvdXNyL2luY2x1ZGUv
dGltZS5oIiAzIDQKPiA+Pj4gdHlwZWRlZiBfX3RpbWVyX3QgdGltZXJfdDsKPiA+Pj4gIyAxMzMg
Ii91c3IvaW5jbHVkZS9zeXMvdHlwZXMuaCIgMiAzIDQKPiA+Pj4gIyAxNDYgIi91c3IvaW5jbHVk
ZS9zeXMvdHlwZXMuaCIgMyA0Cj4gPj4+ICMgMSAiL3Vzci9saWIvZ2NjL2k2ODYtcmVkaGF0LWxp
bnV4LzYuMS4xL2luY2x1ZGUvc3RkZGVmLmgiIDEgMyA0Cj4gPj4+ICMgMTQ3ICIvdXNyL2luY2x1
ZGUvc3lzL3R5cGVzLmgiIDIgMyA0Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+IHR5cGVkZWYgdW5z
aWduZWQgbG9uZyBpbnQgdWxvbmc7Cj4gPj4+IHR5cGVkZWYgdW5zaWduZWQgc2hvcnQgaW50IHVz
aG9ydDsKPiA+Pj4gdHlwZWRlZiB1bnNpZ25lZCBpbnQgdWludDsKPiA+Pj4gIyAxOTQgIi91c3Iv
aW5jbHVkZS9zeXMvdHlwZXMuaCIgMyA0Cj4gPj4+IHR5cGVkZWYgaW50IGludDhfdCBfX2F0dHJp
YnV0ZV9fICgoX19tb2RlX18gKF9fUUlfXykpKTsKPiA+Pj4gdHlwZWRlZiBpbnQgaW50MTZfdCBf
X2F0dHJpYnV0ZV9fICgoX19tb2RlX18gKF9fSElfXykpKTsKPiA+Pj4gdHlwZWRlZiBpbnQgaW50
MzJfdCBfX2F0dHJpYnV0ZV9fICgoX19tb2RlX18gKF9fU0lfXykpKTsKPiA+Pj4gdHlwZWRlZiBp
bnQgaW50NjRfdCBfX2F0dHJpYnV0ZV9fICgoX19tb2RlX18gKF9fRElfXykpKTsKPiA+Pj4KPiA+
Pj4KPiA+Pj4gdHlwZWRlZiB1bnNpZ25lZCBpbnQgdV9pbnQ4X3QgX19hdHRyaWJ1dGVfXyAoKF9f
bW9kZV9fIChfX1FJX18pKSk7Cj4gPj4+IHR5cGVkZWYgdW5zaWduZWQgaW50IHVfaW50MTZfdCBf
X2F0dHJpYnV0ZV9fICgoX19tb2RlX18gKF9fSElfXykpKTsKPiA+Pj4gdHlwZWRlZiB1bnNpZ25l
ZCBpbnQgdV9pbnQzMl90IF9fYXR0cmlidXRlX18gKChfX21vZGVfXyAoX19TSV9fKSkpOwo+ID4+
PiB0eXBlZGVmIHVuc2lnbmVkIGludCB1X2ludDY0X3QgX19hdHRyaWJ1dGVfXyAoKF9fbW9kZV9f
IChfX0RJX18pKSk7Cj4gPj4+Cj4gPj4+IHR5cGVkZWYgaW50IHJlZ2lzdGVyX3QgX19hdHRyaWJ1
dGVfXyAoKF9fbW9kZV9fIChfX3dvcmRfXykpKTsKPiA+Pj4gIyAyMTkgIi91c3IvaW5jbHVkZS9z
eXMvdHlwZXMuaCIgMyA0Cj4gPj4+ICMgMSAiL3Vzci9pbmNsdWRlL3N5cy9zZWxlY3QuaCIgMSAz
IDQKPiA+Pj4gIyAzMCAiL3Vzci9pbmNsdWRlL3N5cy9zZWxlY3QuaCIgMyA0Cj4gPj4+ICMgMSAi
L3Vzci9pbmNsdWRlL2JpdHMvc2VsZWN0LmgiIDEgMyA0Cj4gPj4+ICMgMjIgIi91c3IvaW5jbHVk
ZS9iaXRzL3NlbGVjdC5oIiAzIDQKPiA+Pj4gIyAxICIvdXNyL2luY2x1ZGUvYml0cy93b3Jkc2l6
ZS5oIiAxIDMgNAo+ID4+PiAjIDIzICIvdXNyL2luY2x1ZGUvYml0cy9zZWxlY3QuaCIgMiAzIDQK
PiA+Pj4gIyAzMSAiL3Vzci9pbmNsdWRlL3N5cy9zZWxlY3QuaCIgMiAzIDQKPiA+Pj4KPiA+Pj4K
PiA+Pj4gIyAxICIvdXNyL2luY2x1ZGUvYml0cy9zaWdzZXQuaCIgMSAzIDQKPiA+Pj4gIyAyMiAi
L3Vzci9pbmNsdWRlL2JpdHMvc2lnc2V0LmgiIDMgNAo+ID4+PiB0eXBlZGVmIGludCBfX3NpZ19h
dG9taWNfdDsKPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4gdHlwZWRlZiBzdHJ1Y3QKPiA+
Pj4gICB7Cj4gPj4+ICAgICB1bnNpZ25lZCBsb25nIGludCBfX3ZhbFsoMTAyNCAvICg4ICogc2l6
ZW9mICh1bnNpZ25lZCBsb25nIGludCkpKV07Cj4gPj4+ICAgfSBfX3NpZ3NldF90Owo+ID4+PiAj
IDM0ICIvdXNyL2luY2x1ZGUvc3lzL3NlbGVjdC5oIiAyIDMgNAo+ID4+Pgo+ID4+Pgo+ID4+Pgo+
ID4+PiB0eXBlZGVmIF9fc2lnc2V0X3Qgc2lnc2V0X3Q7Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+
Cj4gPj4+Cj4gPj4+ICMgMSAiL3Vzci9pbmNsdWRlL3RpbWUuaCIgMSAzIDQKPiA+Pj4gIyAxMjAg
Ii91c3IvaW5jbHVkZS90aW1lLmgiIDMgNAo+ID4+PiBzdHJ1Y3QgdGltZXNwZWMKPiA+Pj4gICB7
Cj4gPj4+ICAgICBfX3RpbWVfdCB0dl9zZWM7Cj4gPj4+ICAgICBfX3N5c2NhbGxfc2xvbmdfdCB0
dl9uc2VjOwo+ID4+PiAgIH07Cj4gPj4+ICMgNDQgIi91c3IvaW5jbHVkZS9zeXMvc2VsZWN0Lmgi
IDIgMyA0Cj4gPj4+Cj4gPj4+ICMgMSAiL3Vzci9pbmNsdWRlL2JpdHMvdGltZS5oIiAxIDMgNAo+
ID4+PiAjIDMwICIvdXNyL2luY2x1ZGUvYml0cy90aW1lLmgiIDMgNAo+ID4+PiBzdHJ1Y3QgdGlt
ZXZhbAo+ID4+PiAgIHsKPiA+Pj4gICAgIF9fdGltZV90IHR2X3NlYzsKPiA+Pj4gICAgIF9fc3Vz
ZWNvbmRzX3QgdHZfdXNlYzsKPiA+Pj4gICB9Owo+ID4+PiAjIDQ2ICIvdXNyL2luY2x1ZGUvc3lz
L3NlbGVjdC5oIiAyIDMgNAo+ID4+Pgo+ID4+Pgo+ID4+PiB0eXBlZGVmIF9fc3VzZWNvbmRzX3Qg
c3VzZWNvbmRzX3Q7Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+IHR5cGVkZWYg
bG9uZyBpbnQgX19mZF9tYXNrOwo+ID4+PiAjIDY0ICIvdXNyL2luY2x1ZGUvc3lzL3NlbGVjdC5o
IiAzIDQKPiA+Pj4gdHlwZWRlZiBzdHJ1Y3QKPiA+Pj4gICB7Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4g
Pj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+ICAgICBfX2ZkX21hc2sgX19mZHNfYml0c1sxMDI0IC8gKDgg
KiAoaW50KSBzaXplb2YgKF9fZmRfbWFzaykpXTsKPiA+Pj4KPiA+Pj4KPiA+Pj4gICB9IGZkX3Nl
dDsKPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4gdHlwZWRlZiBfX2Zk
X21hc2sgZmRfbWFzazsKPiA+Pj4gIyA5NiAiL3Vzci9pbmNsdWRlL3N5cy9zZWxlY3QuaCIgMyA0
Cj4gPj4+Cj4gPj4+ICMgMTA2ICIvdXNyL2luY2x1ZGUvc3lzL3NlbGVjdC5oIiAzIDQKPiA+Pj4g
ZXh0ZXJuIGludCBzZWxlY3QgKGludCBfX25mZHMsIGZkX3NldCAqX19yZXN0cmljdCBfX3JlYWRm
ZHMsCj4gPj4+ICAgICAgZmRfc2V0ICpfX3Jlc3RyaWN0IF9fd3JpdGVmZHMsCj4gPj4+ICAgICAg
ZmRfc2V0ICpfX3Jlc3RyaWN0IF9fZXhjZXB0ZmRzLAo+ID4+PiAgICAgIHN0cnVjdCB0aW1ldmFs
ICpfX3Jlc3RyaWN0IF9fdGltZW91dCk7Cj4gPj4+ICMgMTE4ICIvdXNyL2luY2x1ZGUvc3lzL3Nl
bGVjdC5oIiAzIDQKPiA+Pj4gZXh0ZXJuIGludCBwc2VsZWN0IChpbnQgX19uZmRzLCBmZF9zZXQg
Kl9fcmVzdHJpY3QgX19yZWFkZmRzLAo+ID4+PiAgICAgICBmZF9zZXQgKl9fcmVzdHJpY3QgX193
cml0ZWZkcywKPiA+Pj4gICAgICAgZmRfc2V0ICpfX3Jlc3RyaWN0IF9fZXhjZXB0ZmRzLAo+ID4+
PiAgICAgICBjb25zdCBzdHJ1Y3QgdGltZXNwZWMgKl9fcmVzdHJpY3QgX190aW1lb3V0LAo+ID4+
PiAgICAgICBjb25zdCBfX3NpZ3NldF90ICpfX3Jlc3RyaWN0IF9fc2lnbWFzayk7Cj4gPj4+ICMg
MTMxICIvdXNyL2luY2x1ZGUvc3lzL3NlbGVjdC5oIiAzIDQKPiA+Pj4KPiA+Pj4gIyAyMjAgIi91
c3IvaW5jbHVkZS9zeXMvdHlwZXMuaCIgMiAzIDQKPiA+Pj4KPiA+Pj4KPiA+Pj4gIyAxICIvdXNy
L2luY2x1ZGUvc3lzL3N5c21hY3Jvcy5oIiAxIDMgNAo+ID4+PiAjIDI0ICIvdXNyL2luY2x1ZGUv
c3lzL3N5c21hY3Jvcy5oIiAzIDQKPiA+Pj4KPiA+Pj4KPiA+Pj4gX19leHRlbnNpb25fXwo+ID4+
PiBleHRlcm4gdW5zaWduZWQgaW50IGdudV9kZXZfbWFqb3IgKHVuc2lnbmVkIGxvbmcgbG9uZyBp
bnQgX19kZXYpCj4gPj4+ICAgICAgX19hdHRyaWJ1dGVfXyAoKF9fbm90aHJvd19fICwgX19sZWFm
X18pKSBfX2F0dHJpYnV0ZV9fICgoX19jb25zdF9fKSk7Cj4gPj4+IF9fZXh0ZW5zaW9uX18KPiA+
Pj4gZXh0ZXJuIHVuc2lnbmVkIGludCBnbnVfZGV2X21pbm9yICh1bnNpZ25lZCBsb25nIGxvbmcg
aW50IF9fZGV2KQo+ID4+PiAgICAgIF9fYXR0cmlidXRlX18gKChfX25vdGhyb3dfXyAsIF9fbGVh
Zl9fKSkgX19hdHRyaWJ1dGVfXyAoKF9fY29uc3RfXykpOwo+ID4+PiBfX2V4dGVuc2lvbl9fCj4g
Pj4+IGV4dGVybiB1bnNpZ25lZCBsb25nIGxvbmcgaW50IGdudV9kZXZfbWFrZWRldiAodW5zaWdu
ZWQgaW50IF9fbWFqb3IsCj4gPj4+ICAgICAgICAgICAgIHVuc2lnbmVkIGludCBfX21pbm9yKQo+
ID4+PiAgICAgIF9fYXR0cmlidXRlX18gKChfX25vdGhyb3dfXyAsIF9fbGVhZl9fKSkgX19hdHRy
aWJ1dGVfXyAoKF9fY29uc3RfXykpOwo+ID4+PiAjIDU4ICIvdXNyL2luY2x1ZGUvc3lzL3N5c21h
Y3Jvcy5oIiAzIDQKPiA+Pj4KPiA+Pj4gIyAyMjMgIi91c3IvaW5jbHVkZS9zeXMvdHlwZXMuaCIg
MiAzIDQKPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4gdHlwZWRlZiBfX2Jsa3Np
emVfdCBibGtzaXplX3Q7Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+
IHR5cGVkZWYgX19ibGtjbnRfdCBibGtjbnRfdDsKPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4gdHlw
ZWRlZiBfX2ZzYmxrY250X3QgZnNibGtjbnRfdDsKPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4gdHlw
ZWRlZiBfX2ZzZmlsY250X3QgZnNmaWxjbnRfdDsKPiA+Pj4gIyAyNzAgIi91c3IvaW5jbHVkZS9z
eXMvdHlwZXMuaCIgMyA0Cj4gPj4+ICMgMSAiL3Vzci9pbmNsdWRlL2JpdHMvcHRocmVhZHR5cGVz
LmgiIDEgMyA0Cj4gPj4+ICMgMjEgIi91c3IvaW5jbHVkZS9iaXRzL3B0aHJlYWR0eXBlcy5oIiAz
IDQKPiA+Pj4gIyAxICIvdXNyL2luY2x1ZGUvYml0cy93b3Jkc2l6ZS5oIiAxIDMgNAo+ID4+PiAj
IDIyICIvdXNyL2luY2x1ZGUvYml0cy9wdGhyZWFkdHlwZXMuaCIgMiAzIDQKPiA+Pj4gIyA2MCAi
L3Vzci9pbmNsdWRlL2JpdHMvcHRocmVhZHR5cGVzLmgiIDMgNAo+ID4+PiB0eXBlZGVmIHVuc2ln
bmVkIGxvbmcgaW50IHB0aHJlYWRfdDsKPiA+Pj4KPiA+Pj4KPiA+Pj4gdW5pb24gcHRocmVhZF9h
dHRyX3QKPiA+Pj4gewo+ID4+PiAgIGNoYXIgX19zaXplWzM2XTsKPiA+Pj4gICBsb25nIGludCBf
X2FsaWduOwo+ID4+PiB9Owo+ID4+Pgo+ID4+PiB0eXBlZGVmIHVuaW9uIHB0aHJlYWRfYXR0cl90
IHB0aHJlYWRfYXR0cl90Owo+ID4+PiAjIDgxICIvdXNyL2luY2x1ZGUvYml0cy9wdGhyZWFkdHlw
ZXMuaCIgMyA0Cj4gPj4+IHR5cGVkZWYgc3RydWN0IF9fcHRocmVhZF9pbnRlcm5hbF9zbGlzdAo+
ID4+PiB7Cj4gPj4+ICAgc3RydWN0IF9fcHRocmVhZF9pbnRlcm5hbF9zbGlzdCAqX19uZXh0Owo+
ID4+PiB9IF9fcHRocmVhZF9zbGlzdF90Owo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+Pgo+
ID4+PiB0eXBlZGVmIHVuaW9uCj4gPj4+IHsKPiA+Pj4gICBzdHJ1Y3QgX19wdGhyZWFkX211dGV4
X3MKPiA+Pj4gICB7Cj4gPj4+ICAgICBpbnQgX19sb2NrOwo+ID4+PiAgICAgdW5zaWduZWQgaW50
IF9fY291bnQ7Cj4gPj4+ICAgICBpbnQgX19vd25lcjsKPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4K
PiA+Pj4KPiA+Pj4gICAgIGludCBfX2tpbmQ7Cj4gPj4+ICMgMTExICIvdXNyL2luY2x1ZGUvYml0
cy9wdGhyZWFkdHlwZXMuaCIgMyA0Cj4gPj4+ICAgICB1bnNpZ25lZCBpbnQgX19udXNlcnM7Cj4g
Pj4+ICAgICBfX2V4dGVuc2lvbl9fIHVuaW9uCj4gPj4+ICAgICB7Cj4gPj4+ICAgICAgIHN0cnVj
dAo+ID4+PiAgICAgICB7Cj4gPj4+ICBzaG9ydCBfX2VzcGluczsKPiA+Pj4gIHNob3J0IF9fZWxp
c2lvbjsKPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4gICAgICAgfSBfX2VsaXNpb25fZGF0YTsKPiA+
Pj4gICAgICAgX19wdGhyZWFkX3NsaXN0X3QgX19saXN0Owo+ID4+PiAgICAgfTsKPiA+Pj4KPiA+
Pj4gICB9IF9fZGF0YTsKPiA+Pj4gICBjaGFyIF9fc2l6ZVsyNF07Cj4gPj4+ICAgbG9uZyBpbnQg
X19hbGlnbjsKPiA+Pj4gfSBwdGhyZWFkX211dGV4X3Q7Cj4gPj4+Cj4gPj4+IHR5cGVkZWYgdW5p
b24KPiA+Pj4gewo+ID4+PiAgIGNoYXIgX19zaXplWzRdOwo+ID4+PiAgIGludCBfX2FsaWduOwo+
ID4+PiB9IHB0aHJlYWRfbXV0ZXhhdHRyX3Q7Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+
IHR5cGVkZWYgdW5pb24KPiA+Pj4gewo+ID4+PiAgIHN0cnVjdAo+ID4+PiAgIHsKPiA+Pj4gICAg
IGludCBfX2xvY2s7Cj4gPj4+ICAgICB1bnNpZ25lZCBpbnQgX19mdXRleDsKPiA+Pj4gICAgIF9f
ZXh0ZW5zaW9uX18gdW5zaWduZWQgbG9uZyBsb25nIGludCBfX3RvdGFsX3NlcTsKPiA+Pj4gICAg
IF9fZXh0ZW5zaW9uX18gdW5zaWduZWQgbG9uZyBsb25nIGludCBfX3dha2V1cF9zZXE7Cj4gPj4+
ICAgICBfX2V4dGVuc2lvbl9fIHVuc2lnbmVkIGxvbmcgbG9uZyBpbnQgX193b2tlbl9zZXE7Cj4g
Pj4+ICAgICB2b2lkICpfX211dGV4Owo+ID4+PiAgICAgdW5zaWduZWQgaW50IF9fbndhaXRlcnM7
Cj4gPj4+ICAgICB1bnNpZ25lZCBpbnQgX19icm9hZGNhc3Rfc2VxOwo+ID4+PiAgIH0gX19kYXRh
Owo+ID4+PiAgIGNoYXIgX19zaXplWzQ4XTsKPiA+Pj4gICBfX2V4dGVuc2lvbl9fIGxvbmcgbG9u
ZyBpbnQgX19hbGlnbjsKPiA+Pj4gfSBwdGhyZWFkX2NvbmRfdDsKPiA+Pj4KPiA+Pj4gdHlwZWRl
ZiB1bmlvbgo+ID4+PiB7Cj4gPj4+ICAgY2hhciBfX3NpemVbNF07Cj4gPj4+ICAgaW50IF9fYWxp
Z247Cj4gPj4+IH0gcHRocmVhZF9jb25kYXR0cl90Owo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+PiB0
eXBlZGVmIHVuc2lnbmVkIGludCBwdGhyZWFkX2tleV90Owo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+
PiB0eXBlZGVmIGludCBwdGhyZWFkX29uY2VfdDsKPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+
Pj4KPiA+Pj4gdHlwZWRlZiB1bmlvbgo+ID4+PiB7Cj4gPj4+ICMgMjAyICIvdXNyL2luY2x1ZGUv
Yml0cy9wdGhyZWFkdHlwZXMuaCIgMyA0Cj4gPj4+ICAgc3RydWN0Cj4gPj4+ICAgewo+ID4+PiAg
ICAgaW50IF9fbG9jazsKPiA+Pj4gICAgIHVuc2lnbmVkIGludCBfX25yX3JlYWRlcnM7Cj4gPj4+
ICAgICB1bnNpZ25lZCBpbnQgX19yZWFkZXJzX3dha2V1cDsKPiA+Pj4gICAgIHVuc2lnbmVkIGlu
dCBfX3dyaXRlcl93YWtldXA7Cj4gPj4+ICAgICB1bnNpZ25lZCBpbnQgX19ucl9yZWFkZXJzX3F1
ZXVlZDsKPiA+Pj4gICAgIHVuc2lnbmVkIGludCBfX25yX3dyaXRlcnNfcXVldWVkOwo+ID4+Pgo+
ID4+Pgo+ID4+PiAgICAgdW5zaWduZWQgY2hhciBfX2ZsYWdzOwo+ID4+PiAgICAgdW5zaWduZWQg
Y2hhciBfX3NoYXJlZDsKPiA+Pj4gICAgIHNpZ25lZCBjaGFyIF9fcndlbGlzaW9uOwo+ID4+Pgo+
ID4+PiAgICAgdW5zaWduZWQgY2hhciBfX3BhZDI7Cj4gPj4+ICAgICBpbnQgX193cml0ZXI7Cj4g
Pj4+ICAgfSBfX2RhdGE7Cj4gPj4+Cj4gPj4+ICAgY2hhciBfX3NpemVbMzJdOwo+ID4+PiAgIGxv
bmcgaW50IF9fYWxpZ247Cj4gPj4+IH0gcHRocmVhZF9yd2xvY2tfdDsKPiA+Pj4KPiA+Pj4gdHlw
ZWRlZiB1bmlvbgo+ID4+PiB7Cj4gPj4+ICAgY2hhciBfX3NpemVbOF07Cj4gPj4+ICAgbG9uZyBp
bnQgX19hbGlnbjsKPiA+Pj4gfSBwdGhyZWFkX3J3bG9ja2F0dHJfdDsKPiA+Pj4KPiA+Pj4KPiA+
Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4gdHlwZWRlZiB2b2xhdGlsZSBpbnQgcHRocmVhZF9zcGlubG9j
a190Owo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+PiB0eXBlZGVmIHVuaW9uCj4gPj4+IHsK
PiA+Pj4gICBjaGFyIF9fc2l6ZVsyMF07Cj4gPj4+ICAgbG9uZyBpbnQgX19hbGlnbjsKPiA+Pj4g
fSBwdGhyZWFkX2JhcnJpZXJfdDsKPiA+Pj4KPiA+Pj4gdHlwZWRlZiB1bmlvbgo+ID4+PiB7Cj4g
Pj4+ICAgY2hhciBfX3NpemVbNF07Cj4gPj4+ICAgaW50IF9fYWxpZ247Cj4gPj4+IH0gcHRocmVh
ZF9iYXJyaWVyYXR0cl90Owo+ID4+PiAjIDI3MSAiL3Vzci9pbmNsdWRlL3N5cy90eXBlcy5oIiAy
IDMgNAo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+PiAjIDMxNSAiL3Vzci9pbmNsdWRlL3N0ZGxpYi5o
IiAyIDMgNAo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+PiBleHRlcm4g
bG9uZyBpbnQgcmFuZG9tICh2b2lkKSBfX2F0dHJpYnV0ZV9fICgoX19ub3Rocm93X18gLCBfX2xl
YWZfXykpOwo+ID4+Pgo+ID4+Pgo+ID4+PiBleHRlcm4gdm9pZCBzcmFuZG9tICh1bnNpZ25lZCBp
bnQgX19zZWVkKSBfX2F0dHJpYnV0ZV9fICgoX19ub3Rocm93X18gLCBfX2xlYWZfXykpOwo+ID4+
Pgo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+PiBleHRlcm4gY2hhciAqaW5pdHN0YXRlICh1
bnNpZ25lZCBpbnQgX19zZWVkLCBjaGFyICpfX3N0YXRlYnVmLAo+ID4+PiAgICBzaXplX3QgX19z
dGF0ZWxlbikgX19hdHRyaWJ1dGVfXyAoKF9fbm90aHJvd19fICwgX19sZWFmX18pKSBfX2F0dHJp
YnV0ZV9fICgoX19ub25udWxsX18gKDIpKSk7Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+IGV4dGVy
biBjaGFyICpzZXRzdGF0ZSAoY2hhciAqX19zdGF0ZWJ1ZikgX19hdHRyaWJ1dGVfXyAoKF9fbm90
aHJvd19fICwgX19sZWFmX18pKSBfX2F0dHJpYnV0ZV9fICgoX19ub25udWxsX18gKDEpKSk7Cj4g
Pj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+IHN0cnVjdCByYW5k
b21fZGF0YQo+ID4+PiAgIHsKPiA+Pj4gICAgIGludDMyX3QgKmZwdHI7Cj4gPj4+ICAgICBpbnQz
Ml90ICpycHRyOwo+ID4+PiAgICAgaW50MzJfdCAqc3RhdGU7Cj4gPj4+ICAgICBpbnQgcmFuZF90
eXBlOwo+ID4+PiAgICAgaW50IHJhbmRfZGVnOwo+ID4+PiAgICAgaW50IHJhbmRfc2VwOwo+ID4+
PiAgICAgaW50MzJfdCAqZW5kX3B0cjsKPiA+Pj4gICB9Owo+ID4+Pgo+ID4+PiBleHRlcm4gaW50
IHJhbmRvbV9yIChzdHJ1Y3QgcmFuZG9tX2RhdGEgKl9fcmVzdHJpY3QgX19idWYsCj4gPj4+ICAg
ICAgICBpbnQzMl90ICpfX3Jlc3RyaWN0IF9fcmVzdWx0KSBfX2F0dHJpYnV0ZV9fICgoX19ub3Ro
cm93X18gLCBfX2xlYWZfXykpIF9fYXR0cmlidXRlX18gKChfX25vbm51bGxfXyAoMSwgMikpKTsK
PiA+Pj4KPiA+Pj4gZXh0ZXJuIGludCBzcmFuZG9tX3IgKHVuc2lnbmVkIGludCBfX3NlZWQsIHN0
cnVjdCByYW5kb21fZGF0YSAqX19idWYpCj4gPj4+ICAgICAgX19hdHRyaWJ1dGVfXyAoKF9fbm90
aHJvd19fICwgX19sZWFmX18pKSBfX2F0dHJpYnV0ZV9fICgoX19ub25udWxsX18gKDIpKSk7Cj4g
Pj4+Cj4gPj4+IGV4dGVybiBpbnQgaW5pdHN0YXRlX3IgKHVuc2lnbmVkIGludCBfX3NlZWQsIGNo
YXIgKl9fcmVzdHJpY3QgX19zdGF0ZWJ1ZiwKPiA+Pj4gICAgc2l6ZV90IF9fc3RhdGVsZW4sCj4g
Pj4+ICAgIHN0cnVjdCByYW5kb21fZGF0YSAqX19yZXN0cmljdCBfX2J1ZikKPiA+Pj4gICAgICBf
X2F0dHJpYnV0ZV9fICgoX19ub3Rocm93X18gLCBfX2xlYWZfXykpIF9fYXR0cmlidXRlX18gKChf
X25vbm51bGxfXyAoMiwgNCkpKTsKPiA+Pj4KPiA+Pj4gZXh0ZXJuIGludCBzZXRzdGF0ZV9yIChj
aGFyICpfX3Jlc3RyaWN0IF9fc3RhdGVidWYsCj4gPj4+ICAgICAgICAgIHN0cnVjdCByYW5kb21f
ZGF0YSAqX19yZXN0cmljdCBfX2J1ZikKPiA+Pj4gICAgICBfX2F0dHJpYnV0ZV9fICgoX19ub3Ro
cm93X18gLCBfX2xlYWZfXykpIF9fYXR0cmlidXRlX18gKChfX25vbm51bGxfXyAoMSwgMikpKTsK
PiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4gZXh0ZXJuIGludCByYW5k
ICh2b2lkKSBfX2F0dHJpYnV0ZV9fICgoX19ub3Rocm93X18gLCBfX2xlYWZfXykpOwo+ID4+Pgo+
ID4+PiBleHRlcm4gdm9pZCBzcmFuZCAodW5zaWduZWQgaW50IF9fc2VlZCkgX19hdHRyaWJ1dGVf
XyAoKF9fbm90aHJvd19fICwgX19sZWFmX18pKTsKPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+
Pj4gZXh0ZXJuIGludCByYW5kX3IgKHVuc2lnbmVkIGludCAqX19zZWVkKSBfX2F0dHJpYnV0ZV9f
ICgoX19ub3Rocm93X18gLCBfX2xlYWZfXykpOwo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+
Pgo+ID4+Pgo+ID4+Pgo+ID4+PiBleHRlcm4gZG91YmxlIGRyYW5kNDggKHZvaWQpIF9fYXR0cmli
dXRlX18gKChfX25vdGhyb3dfXyAsIF9fbGVhZl9fKSk7Cj4gPj4+IGV4dGVybiBkb3VibGUgZXJh
bmQ0OCAodW5zaWduZWQgc2hvcnQgaW50IF9feHN1YmlbM10pIF9fYXR0cmlidXRlX18gKChfX25v
dGhyb3dfXyAsIF9fbGVhZl9fKSkgX19hdHRyaWJ1dGVfXyAoKF9fbm9ubnVsbF9fICgxKSkpOwo+
ID4+Pgo+ID4+Pgo+ID4+PiBleHRlcm4gbG9uZyBpbnQgbHJhbmQ0OCAodm9pZCkgX19hdHRyaWJ1
dGVfXyAoKF9fbm90aHJvd19fICwgX19sZWFmX18pKTsKPiA+Pj4gZXh0ZXJuIGxvbmcgaW50IG5y
YW5kNDggKHVuc2lnbmVkIHNob3J0IGludCBfX3hzdWJpWzNdKQo+ID4+PiAgICAgIF9fYXR0cmli
dXRlX18gKChfX25vdGhyb3dfXyAsIF9fbGVhZl9fKSkgX19hdHRyaWJ1dGVfXyAoKF9fbm9ubnVs
bF9fICgxKSkpOwo+ID4+Pgo+ID4+Pgo+ID4+PiBleHRlcm4gbG9uZyBpbnQgbXJhbmQ0OCAodm9p
ZCkgX19hdHRyaWJ1dGVfXyAoKF9fbm90aHJvd19fICwgX19sZWFmX18pKTsKPiA+Pj4gZXh0ZXJu
IGxvbmcgaW50IGpyYW5kNDggKHVuc2lnbmVkIHNob3J0IGludCBfX3hzdWJpWzNdKQo+ID4+PiAg
ICAgIF9fYXR0cmlidXRlX18gKChfX25vdGhyb3dfXyAsIF9fbGVhZl9fKSkgX19hdHRyaWJ1dGVf
XyAoKF9fbm9ubnVsbF9fICgxKSkpOwo+ID4+Pgo+ID4+Pgo+ID4+PiBleHRlcm4gdm9pZCBzcmFu
ZDQ4IChsb25nIGludCBfX3NlZWR2YWwpIF9fYXR0cmlidXRlX18gKChfX25vdGhyb3dfXyAsIF9f
bGVhZl9fKSk7Cj4gPj4+IGV4dGVybiB1bnNpZ25lZCBzaG9ydCBpbnQgKnNlZWQ0OCAodW5zaWdu
ZWQgc2hvcnQgaW50IF9fc2VlZDE2dlszXSkKPiA+Pj4gICAgICBfX2F0dHJpYnV0ZV9fICgoX19u
b3Rocm93X18gLCBfX2xlYWZfXykpIF9fYXR0cmlidXRlX18gKChfX25vbm51bGxfXyAoMSkpKTsK
PiA+Pj4gZXh0ZXJuIHZvaWQgbGNvbmc0OCAodW5zaWduZWQgc2hvcnQgaW50IF9fcGFyYW1bN10p
IF9fYXR0cmlidXRlX18gKChfX25vdGhyb3dfXyAsIF9fbGVhZl9fKSkgX19hdHRyaWJ1dGVfXyAo
KF9fbm9ubnVsbF9fICgxKSkpOwo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+PiBz
dHJ1Y3QgZHJhbmQ0OF9kYXRhCj4gPj4+ICAgewo+ID4+PiAgICAgdW5zaWduZWQgc2hvcnQgaW50
IF9feFszXTsKPiA+Pj4gICAgIHVuc2lnbmVkIHNob3J0IGludCBfX29sZF94WzNdOwo+ID4+PiAg
ICAgdW5zaWduZWQgc2hvcnQgaW50IF9fYzsKPiA+Pj4gICAgIHVuc2lnbmVkIHNob3J0IGludCBf
X2luaXQ7Cj4gPj4+ICAgICBfX2V4dGVuc2lvbl9fIHVuc2lnbmVkIGxvbmcgbG9uZyBpbnQgX19h
Owo+ID4+Pgo+ID4+PiAgIH07Cj4gPj4+Cj4gPj4+Cj4gPj4+IGV4dGVybiBpbnQgZHJhbmQ0OF9y
IChzdHJ1Y3QgZHJhbmQ0OF9kYXRhICpfX3Jlc3RyaWN0IF9fYnVmZmVyLAo+ID4+PiAgICAgICAg
IGRvdWJsZSAqX19yZXN0cmljdCBfX3Jlc3VsdCkgX19hdHRyaWJ1dGVfXyAoKF9fbm90aHJvd19f
ICwgX19sZWFmX18pKSBfX2F0dHJpYnV0ZV9fICgoX19ub25udWxsX18gKDEsIDIpKSk7Cj4gPj4+
IGV4dGVybiBpbnQgZXJhbmQ0OF9yICh1bnNpZ25lZCBzaG9ydCBpbnQgX194c3ViaVszXSwKPiA+
Pj4gICAgICAgICBzdHJ1Y3QgZHJhbmQ0OF9kYXRhICpfX3Jlc3RyaWN0IF9fYnVmZmVyLAo+ID4+
PiAgICAgICAgIGRvdWJsZSAqX19yZXN0cmljdCBfX3Jlc3VsdCkgX19hdHRyaWJ1dGVfXyAoKF9f
bm90aHJvd19fICwgX19sZWFmX18pKSBfX2F0dHJpYnV0ZV9fICgoX19ub25udWxsX18gKDEsIDIp
KSk7Cj4gPj4+Cj4gPj4+Cj4gPj4+IGV4dGVybiBpbnQgbHJhbmQ0OF9yIChzdHJ1Y3QgZHJhbmQ0
OF9kYXRhICpfX3Jlc3RyaWN0IF9fYnVmZmVyLAo+ID4+PiAgICAgICAgIGxvbmcgaW50ICpfX3Jl
c3RyaWN0IF9fcmVzdWx0KQo+ID4+PiAgICAgIF9fYXR0cmlidXRlX18gKChfX25vdGhyb3dfXyAs
IF9fbGVhZl9fKSkgX19hdHRyaWJ1dGVfXyAoKF9fbm9ubnVsbF9fICgxLCAyKSkpOwo+ID4+PiBl
eHRlcm4gaW50IG5yYW5kNDhfciAodW5zaWduZWQgc2hvcnQgaW50IF9feHN1YmlbM10sCj4gPj4+
ICAgICAgICAgc3RydWN0IGRyYW5kNDhfZGF0YSAqX19yZXN0cmljdCBfX2J1ZmZlciwKPiA+Pj4g
ICAgICAgICBsb25nIGludCAqX19yZXN0cmljdCBfX3Jlc3VsdCkKPiA+Pj4gICAgICBfX2F0dHJp
YnV0ZV9fICgoX19ub3Rocm93X18gLCBfX2xlYWZfXykpIF9fYXR0cmlidXRlX18gKChfX25vbm51
bGxfXyAoMSwgMikpKTsKPiA+Pj4KPiA+Pj4KPiA+Pj4gZXh0ZXJuIGludCBtcmFuZDQ4X3IgKHN0
cnVjdCBkcmFuZDQ4X2RhdGEgKl9fcmVzdHJpY3QgX19idWZmZXIsCj4gPj4+ICAgICAgICAgbG9u
ZyBpbnQgKl9fcmVzdHJpY3QgX19yZXN1bHQpCj4gPj4+ICAgICAgX19hdHRyaWJ1dGVfXyAoKF9f
bm90aHJvd19fICwgX19sZWFmX18pKSBfX2F0dHJpYnV0ZV9fICgoX19ub25udWxsX18gKDEsIDIp
KSk7Cj4gPj4+IGV4dGVybiBpbnQganJhbmQ0OF9yICh1bnNpZ25lZCBzaG9ydCBpbnQgX194c3Vi
aVszXSwKPiA+Pj4gICAgICAgICBzdHJ1Y3QgZHJhbmQ0OF9kYXRhICpfX3Jlc3RyaWN0IF9fYnVm
ZmVyLAo+ID4+PiAgICAgICAgIGxvbmcgaW50ICpfX3Jlc3RyaWN0IF9fcmVzdWx0KQo+ID4+PiAg
ICAgIF9fYXR0cmlidXRlX18gKChfX25vdGhyb3dfXyAsIF9fbGVhZl9fKSkgX19hdHRyaWJ1dGVf
XyAoKF9fbm9ubnVsbF9fICgxLCAyKSkpOwo+ID4+Pgo+ID4+Pgo+ID4+PiBleHRlcm4gaW50IHNy
YW5kNDhfciAobG9uZyBpbnQgX19zZWVkdmFsLCBzdHJ1Y3QgZHJhbmQ0OF9kYXRhICpfX2J1ZmZl
cikKPiA+Pj4gICAgICBfX2F0dHJpYnV0ZV9fICgoX19ub3Rocm93X18gLCBfX2xlYWZfXykpIF9f
YXR0cmlidXRlX18gKChfX25vbm51bGxfXyAoMikpKTsKPiA+Pj4KPiA+Pj4gZXh0ZXJuIGludCBz
ZWVkNDhfciAodW5zaWduZWQgc2hvcnQgaW50IF9fc2VlZDE2dlszXSwKPiA+Pj4gICAgICAgIHN0
cnVjdCBkcmFuZDQ4X2RhdGEgKl9fYnVmZmVyKSBfX2F0dHJpYnV0ZV9fICgoX19ub3Rocm93X18g
LCBfX2xlYWZfXykpIF9fYXR0cmlidXRlX18gKChfX25vbm51bGxfXyAoMSwgMikpKTsKPiA+Pj4K
PiA+Pj4gZXh0ZXJuIGludCBsY29uZzQ4X3IgKHVuc2lnbmVkIHNob3J0IGludCBfX3BhcmFtWzdd
LAo+ID4+PiAgICAgICAgIHN0cnVjdCBkcmFuZDQ4X2RhdGEgKl9fYnVmZmVyKQo+ID4+PiAgICAg
IF9fYXR0cmlidXRlX18gKChfX25vdGhyb3dfXyAsIF9fbGVhZl9fKSkgX19hdHRyaWJ1dGVfXyAo
KF9fbm9ubnVsbF9fICgxLCAyKSkpOwo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+
Pgo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+PiBleHRlcm4gdm9pZCAqbWFsbG9jIChzaXplX3QgX19z
aXplKSBfX2F0dHJpYnV0ZV9fICgoX19ub3Rocm93X18gLCBfX2xlYWZfXykpIF9fYXR0cmlidXRl
X18gKChfX21hbGxvY19fKSkgOwo+ID4+Pgo+ID4+PiBleHRlcm4gdm9pZCAqY2FsbG9jIChzaXpl
X3QgX19ubWVtYiwgc2l6ZV90IF9fc2l6ZSkKPiA+Pj4gICAgICBfX2F0dHJpYnV0ZV9fICgoX19u
b3Rocm93X18gLCBfX2xlYWZfXykpIF9fYXR0cmlidXRlX18gKChfX21hbGxvY19fKSkgOwo+ID4+
Pgo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+Pgo+
ID4+PiBleHRlcm4gdm9pZCAqcmVhbGxvYyAodm9pZCAqX19wdHIsIHNpemVfdCBfX3NpemUpCj4g
Pj4+ICAgICAgX19hdHRyaWJ1dGVfXyAoKF9fbm90aHJvd19fICwgX19sZWFmX18pKSBfX2F0dHJp
YnV0ZV9fICgoX193YXJuX3VudXNlZF9yZXN1bHRfXykpOwo+ID4+Pgo+ID4+PiBleHRlcm4gdm9p
ZCBmcmVlICh2b2lkICpfX3B0cikgX19hdHRyaWJ1dGVfXyAoKF9fbm90aHJvd19fICwgX19sZWFm
X18pKTsKPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4gZXh0ZXJuIHZvaWQgY2ZyZWUgKHZv
aWQgKl9fcHRyKSBfX2F0dHJpYnV0ZV9fICgoX19ub3Rocm93X18gLCBfX2xlYWZfXykpOwo+ID4+
Pgo+ID4+Pgo+ID4+Pgo+ID4+PiAjIDEgIi91c3IvaW5jbHVkZS9hbGxvY2EuaCIgMSAzIDQKPiA+
Pj4gIyAyNCAiL3Vzci9pbmNsdWRlL2FsbG9jYS5oIiAzIDQKPiA+Pj4gIyAxICIvdXNyL2xpYi9n
Y2MvaTY4Ni1yZWRoYXQtbGludXgvNi4xLjEvaW5jbHVkZS9zdGRkZWYuaCIgMSAzIDQKPiA+Pj4g
IyAyNSAiL3Vzci9pbmNsdWRlL2FsbG9jYS5oIiAyIDMgNAo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+
Pgo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+PiBleHRlcm4gdm9pZCAqYWxsb2NhIChzaXplX3QgX19z
aXplKSBfX2F0dHJpYnV0ZV9fICgoX19ub3Rocm93X18gLCBfX2xlYWZfXykpOwo+ID4+Pgo+ID4+
Pgo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+PiAjIDQ5MyAiL3Vzci9pbmNsdWRlL3N0ZGxp
Yi5oIiAyIDMgNAo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+PiBleHRlcm4gdm9p
ZCAqdmFsbG9jIChzaXplX3QgX19zaXplKSBfX2F0dHJpYnV0ZV9fICgoX19ub3Rocm93X18gLCBf
X2xlYWZfXykpIF9fYXR0cmlidXRlX18gKChfX21hbGxvY19fKSkgOwo+ID4+Pgo+ID4+Pgo+ID4+
Pgo+ID4+Pgo+ID4+PiBleHRlcm4gaW50IHBvc2l4X21lbWFsaWduICh2b2lkICoqX19tZW1wdHIs
IHNpemVfdCBfX2FsaWdubWVudCwgc2l6ZV90IF9fc2l6ZSkKPiA+Pj4gICAgICBfX2F0dHJpYnV0
ZV9fICgoX19ub3Rocm93X18gLCBfX2xlYWZfXykpIF9fYXR0cmlidXRlX18gKChfX25vbm51bGxf
XyAoMSkpKSA7Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+IGV4dGVybiB2b2lkICphbGln
bmVkX2FsbG9jIChzaXplX3QgX19hbGlnbm1lbnQsIHNpemVfdCBfX3NpemUpCj4gPj4+ICAgICAg
X19hdHRyaWJ1dGVfXyAoKF9fbm90aHJvd19fICwgX19sZWFmX18pKSBfX2F0dHJpYnV0ZV9fICgo
X19tYWxsb2NfXykpIF9fYXR0cmlidXRlX18gKChfX2FsbG9jX3NpemVfXyAoMikpKSA7Cj4gPj4+
Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+IGV4dGVybiB2b2lkIGFib3J0ICh2b2lkKSBfX2F0dHJp
YnV0ZV9fICgoX19ub3Rocm93X18gLCBfX2xlYWZfXykpIF9fYXR0cmlidXRlX18gKChfX25vcmV0
dXJuX18pKTsKPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4gZXh0ZXJuIGludCBhdGV4aXQgKHZvaWQg
KCpfX2Z1bmMpICh2b2lkKSkgX19hdHRyaWJ1dGVfXyAoKF9fbm90aHJvd19fICwgX19sZWFmX18p
KSBfX2F0dHJpYnV0ZV9fICgoX19ub25udWxsX18gKDEpKSk7Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4g
Pj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+IGV4dGVybiBpbnQgYXRfcXVpY2tfZXhpdCAodm9p
ZCAoKl9fZnVuYykgKHZvaWQpKSBfX2F0dHJpYnV0ZV9fICgoX19ub3Rocm93X18gLCBfX2xlYWZf
XykpIF9fYXR0cmlidXRlX18gKChfX25vbm51bGxfXyAoMSkpKTsKPiA+Pj4KPiA+Pj4KPiA+Pj4K
PiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4gZXh0ZXJuIGludCBvbl9leGl0ICh2b2lkICgq
X19mdW5jKSAoaW50IF9fc3RhdHVzLCB2b2lkICpfX2FyZyksIHZvaWQgKl9fYXJnKQo+ID4+PiAg
ICAgIF9fYXR0cmlidXRlX18gKChfX25vdGhyb3dfXyAsIF9fbGVhZl9fKSkgX19hdHRyaWJ1dGVf
XyAoKF9fbm9ubnVsbF9fICgxKSkpOwo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+
Pgo+ID4+PiBleHRlcm4gdm9pZCBleGl0IChpbnQgX19zdGF0dXMpIF9fYXR0cmlidXRlX18gKChf
X25vdGhyb3dfXyAsIF9fbGVhZl9fKSkgX19hdHRyaWJ1dGVfXyAoKF9fbm9yZXR1cm5fXykpOwo+
ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+PiBleHRlcm4gdm9pZCBxdWlja19leGl0
IChpbnQgX19zdGF0dXMpIF9fYXR0cmlidXRlX18gKChfX25vdGhyb3dfXyAsIF9fbGVhZl9fKSkg
X19hdHRyaWJ1dGVfXyAoKF9fbm9yZXR1cm5fXykpOwo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+Pgo+
ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+PiBleHRlcm4gdm9pZCBfRXhpdCAoaW50IF9fc3RhdHVzKSBf
X2F0dHJpYnV0ZV9fICgoX19ub3Rocm93X18gLCBfX2xlYWZfXykpIF9fYXR0cmlidXRlX18gKChf
X25vcmV0dXJuX18pKTsKPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4g
ZXh0ZXJuIGNoYXIgKmdldGVudiAoY29uc3QgY2hhciAqX19uYW1lKSBfX2F0dHJpYnV0ZV9fICgo
X19ub3Rocm93X18gLCBfX2xlYWZfXykpIF9fYXR0cmlidXRlX18gKChfX25vbm51bGxfXyAoMSkp
KSA7Cj4gPj4+Cj4gPj4+ICMgNTc4ICIvdXNyL2luY2x1ZGUvc3RkbGliLmgiIDMgNAo+ID4+PiBl
eHRlcm4gaW50IHB1dGVudiAoY2hhciAqX19zdHJpbmcpIF9fYXR0cmlidXRlX18gKChfX25vdGhy
b3dfXyAsIF9fbGVhZl9fKSkgX19hdHRyaWJ1dGVfXyAoKF9fbm9ubnVsbF9fICgxKSkpOwo+ID4+
Pgo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+PiBleHRlcm4gaW50IHNldGVudiAoY29uc3Qg
Y2hhciAqX19uYW1lLCBjb25zdCBjaGFyICpfX3ZhbHVlLCBpbnQgX19yZXBsYWNlKQo+ID4+PiAg
ICAgIF9fYXR0cmlidXRlX18gKChfX25vdGhyb3dfXyAsIF9fbGVhZl9fKSkgX19hdHRyaWJ1dGVf
XyAoKF9fbm9ubnVsbF9fICgyKSkpOwo+ID4+Pgo+ID4+Pgo+ID4+PiBleHRlcm4gaW50IHVuc2V0
ZW52IChjb25zdCBjaGFyICpfX25hbWUpIF9fYXR0cmlidXRlX18gKChfX25vdGhyb3dfXyAsIF9f
bGVhZl9fKSkgX19hdHRyaWJ1dGVfXyAoKF9fbm9ubnVsbF9fICgxKSkpOwo+ID4+Pgo+ID4+Pgo+
ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+PiBleHRlcm4gaW50IGNsZWFyZW52ICh2b2lkKSBf
X2F0dHJpYnV0ZV9fICgoX19ub3Rocm93X18gLCBfX2xlYWZfXykpOwo+ID4+PiAjIDYwNiAiL3Vz
ci9pbmNsdWRlL3N0ZGxpYi5oIiAzIDQKPiA+Pj4gZXh0ZXJuIGNoYXIgKm1rdGVtcCAoY2hhciAq
X190ZW1wbGF0ZSkgX19hdHRyaWJ1dGVfXyAoKF9fbm90aHJvd19fICwgX19sZWFmX18pKSBfX2F0
dHJpYnV0ZV9fICgoX19ub25udWxsX18gKDEpKSk7Cj4gPj4+ICMgNjE5ICIvdXNyL2luY2x1ZGUv
c3RkbGliLmgiIDMgNAo+ID4+PiBleHRlcm4gaW50IG1rc3RlbXAgKGNoYXIgKl9fdGVtcGxhdGUp
IF9fYXR0cmlidXRlX18gKChfX25vbm51bGxfXyAoMSkpKSA7Cj4gPj4+ICMgNjQxICIvdXNyL2lu
Y2x1ZGUvc3RkbGliLmgiIDMgNAo+ID4+PiBleHRlcm4gaW50IG1rc3RlbXBzIChjaGFyICpfX3Rl
bXBsYXRlLCBpbnQgX19zdWZmaXhsZW4pIF9fYXR0cmlidXRlX18gKChfX25vbm51bGxfXyAoMSkp
KSA7Cj4gPj4+ICMgNjYyICIvdXNyL2luY2x1ZGUvc3RkbGliLmgiIDMgNAo+ID4+PiBleHRlcm4g
Y2hhciAqbWtkdGVtcCAoY2hhciAqX190ZW1wbGF0ZSkgX19hdHRyaWJ1dGVfXyAoKF9fbm90aHJv
d19fICwgX19sZWFmX18pKSBfX2F0dHJpYnV0ZV9fICgoX19ub25udWxsX18gKDEpKSkgOwo+ID4+
PiAjIDcxMSAiL3Vzci9pbmNsdWRlL3N0ZGxpYi5oIiAzIDQKPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+
Pj4KPiA+Pj4KPiA+Pj4gZXh0ZXJuIGludCBzeXN0ZW0gKGNvbnN0IGNoYXIgKl9fY29tbWFuZCkg
Owo+ID4+Pgo+ID4+PiAjIDczMyAiL3Vzci9pbmNsdWRlL3N0ZGxpYi5oIiAzIDQKPiA+Pj4gZXh0
ZXJuIGNoYXIgKnJlYWxwYXRoIChjb25zdCBjaGFyICpfX3Jlc3RyaWN0IF9fbmFtZSwKPiA+Pj4g
ICAgICAgICAgY2hhciAqX19yZXN0cmljdCBfX3Jlc29sdmVkKSBfX2F0dHJpYnV0ZV9fICgoX19u
b3Rocm93X18gLCBfX2xlYWZfXykpIDsKPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+
Pj4KPiA+Pj4gdHlwZWRlZiBpbnQgKCpfX2NvbXBhcl9mbl90KSAoY29uc3Qgdm9pZCAqLCBjb25z
dCB2b2lkICopOwo+ID4+PiAjIDc1MSAiL3Vzci9pbmNsdWRlL3N0ZGxpYi5oIiAzIDQKPiA+Pj4K
PiA+Pj4KPiA+Pj4KPiA+Pj4gZXh0ZXJuIHZvaWQgKmJzZWFyY2ggKGNvbnN0IHZvaWQgKl9fa2V5
LCBjb25zdCB2b2lkICpfX2Jhc2UsCj4gPj4+ICAgICAgICAgc2l6ZV90IF9fbm1lbWIsIHNpemVf
dCBfX3NpemUsIF9fY29tcGFyX2ZuX3QgX19jb21wYXIpCj4gPj4+ICAgICAgX19hdHRyaWJ1dGVf
XyAoKF9fbm9ubnVsbF9fICgxLCAyLCA1KSkpIDsKPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+
Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4gZXh0ZXJuIHZvaWQgcXNvcnQgKHZvaWQgKl9fYmFzZSwgc2l6
ZV90IF9fbm1lbWIsIHNpemVfdCBfX3NpemUsCj4gPj4+ICAgICAgX19jb21wYXJfZm5fdCBfX2Nv
bXBhcikgX19hdHRyaWJ1dGVfXyAoKF9fbm9ubnVsbF9fICgxLCA0KSkpOwo+ID4+PiAjIDc3NCAi
L3Vzci9pbmNsdWRlL3N0ZGxpYi5oIiAzIDQKPiA+Pj4gZXh0ZXJuIGludCBhYnMgKGludCBfX3gp
IF9fYXR0cmlidXRlX18gKChfX25vdGhyb3dfXyAsIF9fbGVhZl9fKSkgX19hdHRyaWJ1dGVfXyAo
KF9fY29uc3RfXykpIDsKPiA+Pj4gZXh0ZXJuIGxvbmcgaW50IGxhYnMgKGxvbmcgaW50IF9feCkg
X19hdHRyaWJ1dGVfXyAoKF9fbm90aHJvd19fICwgX19sZWFmX18pKSBfX2F0dHJpYnV0ZV9fICgo
X19jb25zdF9fKSkgOwo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+PiBfX2V4dGVuc2lvbl9fIGV4dGVy
biBsb25nIGxvbmcgaW50IGxsYWJzIChsb25nIGxvbmcgaW50IF9feCkKPiA+Pj4gICAgICBfX2F0
dHJpYnV0ZV9fICgoX19ub3Rocm93X18gLCBfX2xlYWZfXykpIF9fYXR0cmlidXRlX18gKChfX2Nv
bnN0X18pKSA7Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+
IGV4dGVybiBkaXZfdCBkaXYgKGludCBfX251bWVyLCBpbnQgX19kZW5vbSkKPiA+Pj4gICAgICBf
X2F0dHJpYnV0ZV9fICgoX19ub3Rocm93X18gLCBfX2xlYWZfXykpIF9fYXR0cmlidXRlX18gKChf
X2NvbnN0X18pKSA7Cj4gPj4+IGV4dGVybiBsZGl2X3QgbGRpdiAobG9uZyBpbnQgX19udW1lciwg
bG9uZyBpbnQgX19kZW5vbSkKPiA+Pj4gICAgICBfX2F0dHJpYnV0ZV9fICgoX19ub3Rocm93X18g
LCBfX2xlYWZfXykpIF9fYXR0cmlidXRlX18gKChfX2NvbnN0X18pKSA7Cj4gPj4+Cj4gPj4+Cj4g
Pj4+Cj4gPj4+Cj4gPj4+IF9fZXh0ZW5zaW9uX18gZXh0ZXJuIGxsZGl2X3QgbGxkaXYgKGxvbmcg
bG9uZyBpbnQgX19udW1lciwKPiA+Pj4gICAgICAgICBsb25nIGxvbmcgaW50IF9fZGVub20pCj4g
Pj4+ICAgICAgX19hdHRyaWJ1dGVfXyAoKF9fbm90aHJvd19fICwgX19sZWFmX18pKSBfX2F0dHJp
YnV0ZV9fICgoX19jb25zdF9fKSkgOwo+ID4+Pgo+ID4+PiAjIDgxMSAiL3Vzci9pbmNsdWRlL3N0
ZGxpYi5oIiAzIDQKPiA+Pj4gZXh0ZXJuIGNoYXIgKmVjdnQgKGRvdWJsZSBfX3ZhbHVlLCBpbnQg
X19uZGlnaXQsIGludCAqX19yZXN0cmljdCBfX2RlY3B0LAo+ID4+PiAgICAgIGludCAqX19yZXN0
cmljdCBfX3NpZ24pIF9fYXR0cmlidXRlX18gKChfX25vdGhyb3dfXyAsIF9fbGVhZl9fKSkgX19h
dHRyaWJ1dGVfXyAoKF9fbm9ubnVsbF9fICgzLCA0KSkpIDsKPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+
Pj4KPiA+Pj4gZXh0ZXJuIGNoYXIgKmZjdnQgKGRvdWJsZSBfX3ZhbHVlLCBpbnQgX19uZGlnaXQs
IGludCAqX19yZXN0cmljdCBfX2RlY3B0LAo+ID4+PiAgICAgIGludCAqX19yZXN0cmljdCBfX3Np
Z24pIF9fYXR0cmlidXRlX18gKChfX25vdGhyb3dfXyAsIF9fbGVhZl9fKSkgX19hdHRyaWJ1dGVf
XyAoKF9fbm9ubnVsbF9fICgzLCA0KSkpIDsKPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4g
ZXh0ZXJuIGNoYXIgKmdjdnQgKGRvdWJsZSBfX3ZhbHVlLCBpbnQgX19uZGlnaXQsIGNoYXIgKl9f
YnVmKQo+ID4+PiAgICAgIF9fYXR0cmlidXRlX18gKChfX25vdGhyb3dfXyAsIF9fbGVhZl9fKSkg
X19hdHRyaWJ1dGVfXyAoKF9fbm9ubnVsbF9fICgzKSkpIDsKPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+
Pj4KPiA+Pj4gZXh0ZXJuIGNoYXIgKnFlY3Z0IChsb25nIGRvdWJsZSBfX3ZhbHVlLCBpbnQgX19u
ZGlnaXQsCj4gPj4+ICAgICAgIGludCAqX19yZXN0cmljdCBfX2RlY3B0LCBpbnQgKl9fcmVzdHJp
Y3QgX19zaWduKQo+ID4+PiAgICAgIF9fYXR0cmlidXRlX18gKChfX25vdGhyb3dfXyAsIF9fbGVh
Zl9fKSkgX19hdHRyaWJ1dGVfXyAoKF9fbm9ubnVsbF9fICgzLCA0KSkpIDsKPiA+Pj4gZXh0ZXJu
IGNoYXIgKnFmY3Z0IChsb25nIGRvdWJsZSBfX3ZhbHVlLCBpbnQgX19uZGlnaXQsCj4gPj4+ICAg
ICAgIGludCAqX19yZXN0cmljdCBfX2RlY3B0LCBpbnQgKl9fcmVzdHJpY3QgX19zaWduKQo+ID4+
PiAgICAgIF9fYXR0cmlidXRlX18gKChfX25vdGhyb3dfXyAsIF9fbGVhZl9fKSkgX19hdHRyaWJ1
dGVfXyAoKF9fbm9ubnVsbF9fICgzLCA0KSkpIDsKPiA+Pj4gZXh0ZXJuIGNoYXIgKnFnY3Z0IChs
b25nIGRvdWJsZSBfX3ZhbHVlLCBpbnQgX19uZGlnaXQsIGNoYXIgKl9fYnVmKQo+ID4+PiAgICAg
IF9fYXR0cmlidXRlX18gKChfX25vdGhyb3dfXyAsIF9fbGVhZl9fKSkgX19hdHRyaWJ1dGVfXyAo
KF9fbm9ubnVsbF9fICgzKSkpIDsKPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4gZXh0ZXJu
IGludCBlY3Z0X3IgKGRvdWJsZSBfX3ZhbHVlLCBpbnQgX19uZGlnaXQsIGludCAqX19yZXN0cmlj
dCBfX2RlY3B0LAo+ID4+PiAgICAgIGludCAqX19yZXN0cmljdCBfX3NpZ24sIGNoYXIgKl9fcmVz
dHJpY3QgX19idWYsCj4gPj4+ICAgICAgc2l6ZV90IF9fbGVuKSBfX2F0dHJpYnV0ZV9fICgoX19u
b3Rocm93X18gLCBfX2xlYWZfXykpIF9fYXR0cmlidXRlX18gKChfX25vbm51bGxfXyAoMywgNCwg
NSkpKTsKPiA+Pj4gZXh0ZXJuIGludCBmY3Z0X3IgKGRvdWJsZSBfX3ZhbHVlLCBpbnQgX19uZGln
aXQsIGludCAqX19yZXN0cmljdCBfX2RlY3B0LAo+ID4+PiAgICAgIGludCAqX19yZXN0cmljdCBf
X3NpZ24sIGNoYXIgKl9fcmVzdHJpY3QgX19idWYsCj4gPj4+ICAgICAgc2l6ZV90IF9fbGVuKSBf
X2F0dHJpYnV0ZV9fICgoX19ub3Rocm93X18gLCBfX2xlYWZfXykpIF9fYXR0cmlidXRlX18gKChf
X25vbm51bGxfXyAoMywgNCwgNSkpKTsKPiA+Pj4KPiA+Pj4gZXh0ZXJuIGludCBxZWN2dF9yIChs
b25nIGRvdWJsZSBfX3ZhbHVlLCBpbnQgX19uZGlnaXQsCj4gPj4+ICAgICAgIGludCAqX19yZXN0
cmljdCBfX2RlY3B0LCBpbnQgKl9fcmVzdHJpY3QgX19zaWduLAo+ID4+PiAgICAgICBjaGFyICpf
X3Jlc3RyaWN0IF9fYnVmLCBzaXplX3QgX19sZW4pCj4gPj4+ICAgICAgX19hdHRyaWJ1dGVfXyAo
KF9fbm90aHJvd19fICwgX19sZWFmX18pKSBfX2F0dHJpYnV0ZV9fICgoX19ub25udWxsX18gKDMs
IDQsIDUpKSk7Cj4gPj4+IGV4dGVybiBpbnQgcWZjdnRfciAobG9uZyBkb3VibGUgX192YWx1ZSwg
aW50IF9fbmRpZ2l0LAo+ID4+PiAgICAgICBpbnQgKl9fcmVzdHJpY3QgX19kZWNwdCwgaW50ICpf
X3Jlc3RyaWN0IF9fc2lnbiwKPiA+Pj4gICAgICAgY2hhciAqX19yZXN0cmljdCBfX2J1Ziwgc2l6
ZV90IF9fbGVuKQo+ID4+PiAgICAgIF9fYXR0cmlidXRlX18gKChfX25vdGhyb3dfXyAsIF9fbGVh
Zl9fKSkgX19hdHRyaWJ1dGVfXyAoKF9fbm9ubnVsbF9fICgzLCA0LCA1KSkpOwo+ID4+Pgo+ID4+
Pgo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+PiBleHRlcm4gaW50IG1ibGVuIChjb25zdCBj
aGFyICpfX3MsIHNpemVfdCBfX24pIF9fYXR0cmlidXRlX18gKChfX25vdGhyb3dfXyAsIF9fbGVh
Zl9fKSk7Cj4gPj4+Cj4gPj4+Cj4gPj4+IGV4dGVybiBpbnQgbWJ0b3djICh3Y2hhcl90ICpfX3Jl
c3RyaWN0IF9fcHdjLAo+ID4+PiAgICAgIGNvbnN0IGNoYXIgKl9fcmVzdHJpY3QgX19zLCBzaXpl
X3QgX19uKSBfX2F0dHJpYnV0ZV9fICgoX19ub3Rocm93X18gLCBfX2xlYWZfXykpOwo+ID4+Pgo+
ID4+Pgo+ID4+PiBleHRlcm4gaW50IHdjdG9tYiAoY2hhciAqX19zLCB3Y2hhcl90IF9fd2NoYXIp
IF9fYXR0cmlidXRlX18gKChfX25vdGhyb3dfXyAsIF9fbGVhZl9fKSk7Cj4gPj4+Cj4gPj4+Cj4g
Pj4+Cj4gPj4+IGV4dGVybiBzaXplX3QgbWJzdG93Y3MgKHdjaGFyX3QgKl9fcmVzdHJpY3QgX19w
d2NzLAo+ID4+PiAgICBjb25zdCBjaGFyICpfX3Jlc3RyaWN0IF9fcywgc2l6ZV90IF9fbikgX19h
dHRyaWJ1dGVfXyAoKF9fbm90aHJvd19fICwgX19sZWFmX18pKTsKPiA+Pj4KPiA+Pj4gZXh0ZXJu
IHNpemVfdCB3Y3N0b21icyAoY2hhciAqX19yZXN0cmljdCBfX3MsCj4gPj4+ICAgIGNvbnN0IHdj
aGFyX3QgKl9fcmVzdHJpY3QgX19wd2NzLCBzaXplX3QgX19uKQo+ID4+PiAgICAgIF9fYXR0cmli
dXRlX18gKChfX25vdGhyb3dfXyAsIF9fbGVhZl9fKSk7Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+
Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+IGV4dGVybiBpbnQgcnBtYXRjaCAoY29uc3Qg
Y2hhciAqX19yZXNwb25zZSkgX19hdHRyaWJ1dGVfXyAoKF9fbm90aHJvd19fICwgX19sZWFmX18p
KSBfX2F0dHJpYnV0ZV9fICgoX19ub25udWxsX18gKDEpKSkgOwo+ID4+PiAjIDg5OCAiL3Vzci9p
bmNsdWRlL3N0ZGxpYi5oIiAzIDQKPiA+Pj4gZXh0ZXJuIGludCBnZXRzdWJvcHQgKGNoYXIgKipf
X3Jlc3RyaWN0IF9fb3B0aW9ucCwKPiA+Pj4gICAgICAgICBjaGFyICpjb25zdCAqX19yZXN0cmlj
dCBfX3Rva2VucywKPiA+Pj4gICAgICAgICBjaGFyICoqX19yZXN0cmljdCBfX3ZhbHVlcCkKPiA+
Pj4gICAgICBfX2F0dHJpYnV0ZV9fICgoX19ub3Rocm93X18gLCBfX2xlYWZfXykpIF9fYXR0cmli
dXRlX18gKChfX25vbm51bGxfXyAoMSwgMiwgMykpKSA7Cj4gPj4+ICMgOTUwICIvdXNyL2luY2x1
ZGUvc3RkbGliLmgiIDMgNAo+ID4+PiBleHRlcm4gaW50IGdldGxvYWRhdmcgKGRvdWJsZSBfX2xv
YWRhdmdbXSwgaW50IF9fbmVsZW0pCj4gPj4+ICAgICAgX19hdHRyaWJ1dGVfXyAoKF9fbm90aHJv
d19fICwgX19sZWFmX18pKSBfX2F0dHJpYnV0ZV9fICgoX19ub25udWxsX18gKDEpKSk7Cj4gPj4+
Cj4gPj4+Cj4gPj4+ICMgMSAiL3Vzci9pbmNsdWRlL2JpdHMvc3RkbGliLWZsb2F0LmgiIDEgMyA0
Cj4gPj4+ICMgOTU1ICIvdXNyL2luY2x1ZGUvc3RkbGliLmgiIDIgMyA0Cj4gPj4+ICMgOTY3ICIv
dXNyL2luY2x1ZGUvc3RkbGliLmgiIDMgNAo+ID4+Pgo+ID4+PiAjIDQxICJtYWNoaW5lLmMiIDIK
PiA+Pj4gIyAxICIvdXNyL2luY2x1ZGUvc2lnbmFsLmgiIDEgMyA0Cj4gPj4+ICMgMzAgIi91c3Iv
aW5jbHVkZS9zaWduYWwuaCIgMyA0Cj4gPj4+Cj4gPj4+Cj4gPj4+ICMgMSAiL3Vzci9pbmNsdWRl
L2JpdHMvc2lnc2V0LmgiIDEgMyA0Cj4gPj4+ICMgMTAyICIvdXNyL2luY2x1ZGUvYml0cy9zaWdz
ZXQuaCIgMyA0Cj4gPj4+IGV4dGVybiBpbnQgX19zaWdpc21lbWJlciAoY29uc3QgX19zaWdzZXRf
dCAqLCBpbnQpOwo+ID4+PiBleHRlcm4gaW50IF9fc2lnYWRkc2V0IChfX3NpZ3NldF90ICosIGlu
dCk7Cj4gPj4+IGV4dGVybiBpbnQgX19zaWdkZWxzZXQgKF9fc2lnc2V0X3QgKiwgaW50KTsKPiA+
Pj4gIyAzMyAiL3Vzci9pbmNsdWRlL3NpZ25hbC5oIiAyIDMgNAo+ID4+Pgo+ID4+Pgo+ID4+Pgo+
ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+PiB0eXBlZGVmIF9fc2lnX2F0b21pY190IHNpZ19h
dG9taWNfdDsKPiA+Pj4KPiA+Pj4gIyA1NyAiL3Vzci9pbmNsdWRlL3NpZ25hbC5oIiAzIDQKPiA+
Pj4gIyAxICIvdXNyL2luY2x1ZGUvYml0cy9zaWdudW0uaCIgMSAzIDQKPiA+Pj4gIyA1OCAiL3Vz
ci9pbmNsdWRlL3NpZ25hbC5oIiAyIDMgNAo+ID4+PiAjIDc1ICIvdXNyL2luY2x1ZGUvc2lnbmFs
LmgiIDMgNAo+ID4+PiAjIDEgIi91c3IvaW5jbHVkZS90aW1lLmgiIDEgMyA0Cj4gPj4+ICMgNzYg
Ii91c3IvaW5jbHVkZS9zaWduYWwuaCIgMiAzIDQKPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+
Pj4gIyAxICIvdXNyL2luY2x1ZGUvYml0cy9zaWdpbmZvLmgiIDEgMyA0Cj4gPj4+ICMgMjQgIi91
c3IvaW5jbHVkZS9iaXRzL3NpZ2luZm8uaCIgMyA0Cj4gPj4+ICMgMSAiL3Vzci9pbmNsdWRlL2Jp
dHMvd29yZHNpemUuaCIgMSAzIDQKPiA+Pj4gIyAyNSAiL3Vzci9pbmNsdWRlL2JpdHMvc2lnaW5m
by5oIiAyIDMgNAo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+
PiB0eXBlZGVmIHVuaW9uIHNpZ3ZhbAo+ID4+PiAgIHsKPiA+Pj4gICAgIGludCBzaXZhbF9pbnQ7
Cj4gPj4+ICAgICB2b2lkICpzaXZhbF9wdHI7Cj4gPj4+ICAgfSBzaWd2YWxfdDsKPiA+Pj4gIyA1
OCAiL3Vzci9pbmNsdWRlL2JpdHMvc2lnaW5mby5oIiAzIDQKPiA+Pj4gdHlwZWRlZiBfX2Nsb2Nr
X3QgX19zaWdjaGxkX2Nsb2NrX3Q7Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+IHR5cGVkZWYgc3Ry
dWN0Cj4gPj4+ICAgewo+ID4+PiAgICAgaW50IHNpX3NpZ25vOwo+ID4+PiAgICAgaW50IHNpX2Vy
cm5vOwo+ID4+Pgo+ID4+PiAgICAgaW50IHNpX2NvZGU7Cj4gPj4+Cj4gPj4+ICAgICB1bmlvbgo+
ID4+PiAgICAgICB7Cj4gPj4+ICBpbnQgX3BhZFsoKDEyOCAvIHNpemVvZiAoaW50KSkgLSAzKV07
Cj4gPj4+Cj4gPj4+Cj4gPj4+ICBzdHJ1Y3QKPiA+Pj4gICAgewo+ID4+PiAgICAgIF9fcGlkX3Qg
c2lfcGlkOwo+ID4+PiAgICAgIF9fdWlkX3Qgc2lfdWlkOwo+ID4+PiAgICB9IF9raWxsOwo+ID4+
Pgo+ID4+Pgo+ID4+PiAgc3RydWN0Cj4gPj4+ICAgIHsKPiA+Pj4gICAgICBpbnQgc2lfdGlkOwo+
ID4+PiAgICAgIGludCBzaV9vdmVycnVuOwo+ID4+PiAgICAgIHNpZ3ZhbF90IHNpX3NpZ3ZhbDsK
PiA+Pj4gICAgfSBfdGltZXI7Cj4gPj4+Cj4gPj4+Cj4gPj4+ICBzdHJ1Y3QKPiA+Pj4gICAgewo+
ID4+PiAgICAgIF9fcGlkX3Qgc2lfcGlkOwo+ID4+PiAgICAgIF9fdWlkX3Qgc2lfdWlkOwo+ID4+
PiAgICAgIHNpZ3ZhbF90IHNpX3NpZ3ZhbDsKPiA+Pj4gICAgfSBfcnQ7Cj4gPj4+Cj4gPj4+Cj4g
Pj4+ICBzdHJ1Y3QKPiA+Pj4gICAgewo+ID4+PiAgICAgIF9fcGlkX3Qgc2lfcGlkOwo+ID4+PiAg
ICAgIF9fdWlkX3Qgc2lfdWlkOwo+ID4+PiAgICAgIGludCBzaV9zdGF0dXM7Cj4gPj4+ICAgICAg
X19zaWdjaGxkX2Nsb2NrX3Qgc2lfdXRpbWU7Cj4gPj4+ICAgICAgX19zaWdjaGxkX2Nsb2NrX3Qg
c2lfc3RpbWU7Cj4gPj4+ICAgIH0gX3NpZ2NobGQ7Cj4gPj4+Cj4gPj4+Cj4gPj4+ICBzdHJ1Y3QK
PiA+Pj4gICAgewo+ID4+PiAgICAgIHZvaWQgKnNpX2FkZHI7Cj4gPj4+ICAgICAgc2hvcnQgaW50
IHNpX2FkZHJfbHNiOwo+ID4+PiAgICAgIHN0cnVjdAo+ID4+PiAgICAgICAgewo+ID4+PiAgIHZv
aWQgKl9sb3dlcjsKPiA+Pj4gICB2b2lkICpfdXBwZXI7Cj4gPj4+ICAgICAgICB9IHNpX2FkZHJf
Ym5kOwo+ID4+PiAgICB9IF9zaWdmYXVsdDsKPiA+Pj4KPiA+Pj4KPiA+Pj4gIHN0cnVjdAo+ID4+
PiAgICB7Cj4gPj4+ICAgICAgbG9uZyBpbnQgc2lfYmFuZDsKPiA+Pj4gICAgICBpbnQgc2lfZmQ7
Cj4gPj4+ICAgIH0gX3NpZ3BvbGw7Cj4gPj4+Cj4gPj4+Cj4gPj4+ICBzdHJ1Y3QKPiA+Pj4gICAg
ewo+ID4+PiAgICAgIHZvaWQgKl9jYWxsX2FkZHI7Cj4gPj4+ICAgICAgaW50IF9zeXNjYWxsOwo+
ID4+PiAgICAgIHVuc2lnbmVkIGludCBfYXJjaDsKPiA+Pj4gICAgfSBfc2lnc3lzOwo+ID4+PiAg
ICAgICB9IF9zaWZpZWxkczsKPiA+Pj4gICB9IHNpZ2luZm9fdCA7Cj4gPj4+ICMgMTYwICIvdXNy
L2luY2x1ZGUvYml0cy9zaWdpbmZvLmgiIDMgNAo+ID4+PiBlbnVtCj4gPj4+IHsKPiA+Pj4gICBT
SV9BU1lOQ05MID0gLTYwLAo+ID4+Pgo+ID4+PiAgIFNJX1RLSUxMID0gLTYsCj4gPj4+Cj4gPj4+
ICAgU0lfU0lHSU8sCj4gPj4+Cj4gPj4+ICAgU0lfQVNZTkNJTywKPiA+Pj4KPiA+Pj4gICBTSV9N
RVNHUSwKPiA+Pj4KPiA+Pj4gICBTSV9USU1FUiwKPiA+Pj4KPiA+Pj4gICBTSV9RVUVVRSwKPiA+
Pj4KPiA+Pj4gICBTSV9VU0VSLAo+ID4+Pgo+ID4+PiAgIFNJX0tFUk5FTCA9IDB4ODAKPiA+Pj4K
PiA+Pj4gfTsKPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4gZW51bQo+ID4+PiB7Cj4gPj4+
ICAgSUxMX0lMTE9QQyA9IDEsCj4gPj4+Cj4gPj4+ICAgSUxMX0lMTE9QTiwKPiA+Pj4KPiA+Pj4g
ICBJTExfSUxMQURSLAo+ID4+Pgo+ID4+PiAgIElMTF9JTExUUlAsCj4gPj4+Cj4gPj4+ICAgSUxM
X1BSVk9QQywKPiA+Pj4KPiA+Pj4gICBJTExfUFJWUkVHLAo+ID4+Pgo+ID4+PiAgIElMTF9DT1BS
T0MsCj4gPj4+Cj4gPj4+ICAgSUxMX0JBRFNUSwo+ID4+Pgo+ID4+PiB9Owo+ID4+Pgo+ID4+Pgo+
ID4+PiBlbnVtCj4gPj4+IHsKPiA+Pj4gICBGUEVfSU5URElWID0gMSwKPiA+Pj4KPiA+Pj4gICBG
UEVfSU5UT1ZGLAo+ID4+Pgo+ID4+PiAgIEZQRV9GTFRESVYsCj4gPj4+Cj4gPj4+ICAgRlBFX0ZM
VE9WRiwKPiA+Pj4KPiA+Pj4gICBGUEVfRkxUVU5ELAo+ID4+Pgo+ID4+PiAgIEZQRV9GTFRSRVMs
Cj4gPj4+Cj4gPj4+ICAgRlBFX0ZMVElOViwKPiA+Pj4KPiA+Pj4gICBGUEVfRkxUU1VCCj4gPj4+
Cj4gPj4+IH07Cj4gPj4+Cj4gPj4+Cj4gPj4+IGVudW0KPiA+Pj4gewo+ID4+PiAgIFNFR1ZfTUFQ
RVJSID0gMSwKPiA+Pj4KPiA+Pj4gICBTRUdWX0FDQ0VSUgo+ID4+Pgo+ID4+PiB9Owo+ID4+Pgo+
ID4+Pgo+ID4+PiBlbnVtCj4gPj4+IHsKPiA+Pj4gICBCVVNfQURSQUxOID0gMSwKPiA+Pj4KPiA+
Pj4gICBCVVNfQURSRVJSLAo+ID4+Pgo+ID4+PiAgIEJVU19PQkpFUlIsCj4gPj4+Cj4gPj4+ICAg
QlVTX01DRUVSUl9BUiwKPiA+Pj4KPiA+Pj4gICBCVVNfTUNFRVJSX0FPCj4gPj4+Cj4gPj4+IH07
Cj4gPj4+ICMgMjY0ICIvdXNyL2luY2x1ZGUvYml0cy9zaWdpbmZvLmgiIDMgNAo+ID4+PiBlbnVt
Cj4gPj4+IHsKPiA+Pj4gICBDTERfRVhJVEVEID0gMSwKPiA+Pj4KPiA+Pj4gICBDTERfS0lMTEVE
LAo+ID4+Pgo+ID4+PiAgIENMRF9EVU1QRUQsCj4gPj4+Cj4gPj4+ICAgQ0xEX1RSQVBQRUQsCj4g
Pj4+Cj4gPj4+ICAgQ0xEX1NUT1BQRUQsCj4gPj4+Cj4gPj4+ICAgQ0xEX0NPTlRJTlVFRAo+ID4+
Pgo+ID4+PiB9Owo+ID4+Pgo+ID4+Pgo+ID4+PiBlbnVtCj4gPj4+IHsKPiA+Pj4gICBQT0xMX0lO
ID0gMSwKPiA+Pj4KPiA+Pj4gICBQT0xMX09VVCwKPiA+Pj4KPiA+Pj4gICBQT0xMX01TRywKPiA+
Pj4KPiA+Pj4gICBQT0xMX0VSUiwKPiA+Pj4KPiA+Pj4gICBQT0xMX1BSSSwKPiA+Pj4KPiA+Pj4g
ICBQT0xMX0hVUAo+ID4+Pgo+ID4+PiB9Owo+ID4+PiAjIDMyMCAiL3Vzci9pbmNsdWRlL2JpdHMv
c2lnaW5mby5oIiAzIDQKPiA+Pj4gdHlwZWRlZiBzdHJ1Y3Qgc2lnZXZlbnQKPiA+Pj4gICB7Cj4g
Pj4+ICAgICBzaWd2YWxfdCBzaWdldl92YWx1ZTsKPiA+Pj4gICAgIGludCBzaWdldl9zaWdubzsK
PiA+Pj4gICAgIGludCBzaWdldl9ub3RpZnk7Cj4gPj4+Cj4gPj4+ICAgICB1bmlvbgo+ID4+PiAg
ICAgICB7Cj4gPj4+ICBpbnQgX3BhZFsoKDY0IC8gc2l6ZW9mIChpbnQpKSAtIDMpXTsKPiA+Pj4K
PiA+Pj4KPiA+Pj4KPiA+Pj4gIF9fcGlkX3QgX3RpZDsKPiA+Pj4KPiA+Pj4gIHN0cnVjdAo+ID4+
PiAgICB7Cj4gPj4+ICAgICAgdm9pZCAoKl9mdW5jdGlvbikgKHNpZ3ZhbF90KTsKPiA+Pj4gICAg
ICBwdGhyZWFkX2F0dHJfdCAqX2F0dHJpYnV0ZTsKPiA+Pj4gICAgfSBfc2lnZXZfdGhyZWFkOwo+
ID4+PiAgICAgICB9IF9zaWdldl91bjsKPiA+Pj4gICB9IHNpZ2V2ZW50X3Q7Cj4gPj4+Cj4gPj4+
Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+IGVudW0KPiA+Pj4gewo+ID4+PiAgIFNJR0VW
X1NJR05BTCA9IDAsCj4gPj4+Cj4gPj4+ICAgU0lHRVZfTk9ORSwKPiA+Pj4KPiA+Pj4gICBTSUdF
Vl9USFJFQUQsCj4gPj4+Cj4gPj4+Cj4gPj4+ICAgU0lHRVZfVEhSRUFEX0lEID0gNAo+ID4+Pgo+
ID4+PiB9Owo+ID4+PiAjIDgxICIvdXNyL2luY2x1ZGUvc2lnbmFsLmgiIDIgMyA0Cj4gPj4+Cj4g
Pj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+IHR5cGVkZWYgdm9pZCAoKl9fc2lnaGFuZGxlcl90KSAoaW50
KTsKPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4gZXh0ZXJuIF9fc2lnaGFuZGxlcl90IF9f
c3lzdl9zaWduYWwgKGludCBfX3NpZywgX19zaWdoYW5kbGVyX3QgX19oYW5kbGVyKQo+ID4+PiAg
ICAgIF9fYXR0cmlidXRlX18gKChfX25vdGhyb3dfXyAsIF9fbGVhZl9fKSk7Cj4gPj4+ICMgMTAw
ICIvdXNyL2luY2x1ZGUvc2lnbmFsLmgiIDMgNAo+ID4+Pgo+ID4+Pgo+ID4+PiBleHRlcm4gX19z
aWdoYW5kbGVyX3Qgc2lnbmFsIChpbnQgX19zaWcsIF9fc2lnaGFuZGxlcl90IF9faGFuZGxlcikK
PiA+Pj4gICAgICBfX2F0dHJpYnV0ZV9fICgoX19ub3Rocm93X18gLCBfX2xlYWZfXykpOwo+ID4+
PiAjIDExNCAiL3Vzci9pbmNsdWRlL3NpZ25hbC5oIiAzIDQKPiA+Pj4KPiA+Pj4gIyAxMjcgIi91
c3IvaW5jbHVkZS9zaWduYWwuaCIgMyA0Cj4gPj4+IGV4dGVybiBpbnQga2lsbCAoX19waWRfdCBf
X3BpZCwgaW50IF9fc2lnKSBfX2F0dHJpYnV0ZV9fICgoX19ub3Rocm93X18gLCBfX2xlYWZfXykp
Owo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+PiBleHRlcm4gaW50IGtp
bGxwZyAoX19waWRfdCBfX3BncnAsIGludCBfX3NpZykgX19hdHRyaWJ1dGVfXyAoKF9fbm90aHJv
d19fICwgX19sZWFmX18pKTsKPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4gZXh0ZXJuIGlu
dCByYWlzZSAoaW50IF9fc2lnKSBfX2F0dHJpYnV0ZV9fICgoX19ub3Rocm93X18gLCBfX2xlYWZf
XykpOwo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+PiBleHRlcm4gX19zaWdoYW5kbGVyX3Qg
c3NpZ25hbCAoaW50IF9fc2lnLCBfX3NpZ2hhbmRsZXJfdCBfX2hhbmRsZXIpCj4gPj4+ICAgICAg
X19hdHRyaWJ1dGVfXyAoKF9fbm90aHJvd19fICwgX19sZWFmX18pKTsKPiA+Pj4gZXh0ZXJuIGlu
dCBnc2lnbmFsIChpbnQgX19zaWcpIF9fYXR0cmlidXRlX18gKChfX25vdGhyb3dfXyAsIF9fbGVh
Zl9fKSk7Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+IGV4dGVybiB2b2lkIHBzaWduYWwg
KGludCBfX3NpZywgY29uc3QgY2hhciAqX19zKTsKPiA+Pj4KPiA+Pj4KPiA+Pj4gZXh0ZXJuIHZv
aWQgcHNpZ2luZm8gKGNvbnN0IHNpZ2luZm9fdCAqX19waW5mbywgY29uc3QgY2hhciAqX19zKTsK
PiA+Pj4gIyAxODcgIi91c3IvaW5jbHVkZS9zaWduYWwuaCIgMyA0Cj4gPj4+IGV4dGVybiBpbnQg
c2lnYmxvY2sgKGludCBfX21hc2spIF9fYXR0cmlidXRlX18gKChfX25vdGhyb3dfXyAsIF9fbGVh
Zl9fKSkgX19hdHRyaWJ1dGVfXyAoKF9fZGVwcmVjYXRlZF9fKSk7Cj4gPj4+Cj4gPj4+Cj4gPj4+
IGV4dGVybiBpbnQgc2lnc2V0bWFzayAoaW50IF9fbWFzaykgX19hdHRyaWJ1dGVfXyAoKF9fbm90
aHJvd19fICwgX19sZWFmX18pKSBfX2F0dHJpYnV0ZV9fICgoX19kZXByZWNhdGVkX18pKTsKPiA+
Pj4KPiA+Pj4KPiA+Pj4gZXh0ZXJuIGludCBzaWdnZXRtYXNrICh2b2lkKSBfX2F0dHJpYnV0ZV9f
ICgoX19ub3Rocm93X18gLCBfX2xlYWZfXykpIF9fYXR0cmlidXRlX18gKChfX2RlcHJlY2F0ZWRf
XykpOwo+ID4+PiAjIDIwNyAiL3Vzci9pbmNsdWRlL3NpZ25hbC5oIiAzIDQKPiA+Pj4gdHlwZWRl
ZiBfX3NpZ2hhbmRsZXJfdCBzaWdfdDsKPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+
Pj4gZXh0ZXJuIGludCBzaWdlbXB0eXNldCAoc2lnc2V0X3QgKl9fc2V0KSBfX2F0dHJpYnV0ZV9f
ICgoX19ub3Rocm93X18gLCBfX2xlYWZfXykpIF9fYXR0cmlidXRlX18gKChfX25vbm51bGxfXyAo
MSkpKTsKPiA+Pj4KPiA+Pj4KPiA+Pj4gZXh0ZXJuIGludCBzaWdmaWxsc2V0IChzaWdzZXRfdCAq
X19zZXQpIF9fYXR0cmlidXRlX18gKChfX25vdGhyb3dfXyAsIF9fbGVhZl9fKSkgX19hdHRyaWJ1
dGVfXyAoKF9fbm9ubnVsbF9fICgxKSkpOwo+ID4+Pgo+ID4+Pgo+ID4+PiBleHRlcm4gaW50IHNp
Z2FkZHNldCAoc2lnc2V0X3QgKl9fc2V0LCBpbnQgX19zaWdubykgX19hdHRyaWJ1dGVfXyAoKF9f
bm90aHJvd19fICwgX19sZWFmX18pKSBfX2F0dHJpYnV0ZV9fICgoX19ub25udWxsX18gKDEpKSk7
Cj4gPj4+Cj4gPj4+Cj4gPj4+IGV4dGVybiBpbnQgc2lnZGVsc2V0IChzaWdzZXRfdCAqX19zZXQs
IGludCBfX3NpZ25vKSBfX2F0dHJpYnV0ZV9fICgoX19ub3Rocm93X18gLCBfX2xlYWZfXykpIF9f
YXR0cmlidXRlX18gKChfX25vbm51bGxfXyAoMSkpKTsKPiA+Pj4KPiA+Pj4KPiA+Pj4gZXh0ZXJu
IGludCBzaWdpc21lbWJlciAoY29uc3Qgc2lnc2V0X3QgKl9fc2V0LCBpbnQgX19zaWdubykKPiA+
Pj4gICAgICBfX2F0dHJpYnV0ZV9fICgoX19ub3Rocm93X18gLCBfX2xlYWZfXykpIF9fYXR0cmli
dXRlX18gKChfX25vbm51bGxfXyAoMSkpKTsKPiA+Pj4gIyAyNDMgIi91c3IvaW5jbHVkZS9zaWdu
YWwuaCIgMyA0Cj4gPj4+ICMgMSAiL3Vzci9pbmNsdWRlL2JpdHMvc2lnYWN0aW9uLmgiIDEgMyA0
Cj4gPj4+ICMgMjQgIi91c3IvaW5jbHVkZS9iaXRzL3NpZ2FjdGlvbi5oIiAzIDQKPiA+Pj4gc3Ry
dWN0IHNpZ2FjdGlvbgo+ID4+PiAgIHsKPiA+Pj4KPiA+Pj4KPiA+Pj4gICAgIHVuaW9uCj4gPj4+
ICAgICAgIHsKPiA+Pj4KPiA+Pj4gIF9fc2lnaGFuZGxlcl90IHNhX2hhbmRsZXI7Cj4gPj4+Cj4g
Pj4+ICB2b2lkICgqc2Ffc2lnYWN0aW9uKSAoaW50LCBzaWdpbmZvX3QgKiwgdm9pZCAqKTsKPiA+
Pj4gICAgICAgfQo+ID4+PiAgICAgX19zaWdhY3Rpb25faGFuZGxlcjsKPiA+Pj4KPiA+Pj4KPiA+
Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4gICAgIF9fc2lnc2V0X3Qgc2FfbWFzazsK
PiA+Pj4KPiA+Pj4KPiA+Pj4gICAgIGludCBzYV9mbGFnczsKPiA+Pj4KPiA+Pj4KPiA+Pj4gICAg
IHZvaWQgKCpzYV9yZXN0b3JlcikgKHZvaWQpOwo+ID4+PiAgIH07Cj4gPj4+ICMgMjQ0ICIvdXNy
L2luY2x1ZGUvc2lnbmFsLmgiIDIgMyA0Cj4gPj4+Cj4gPj4+Cj4gPj4+IGV4dGVybiBpbnQgc2ln
cHJvY21hc2sgKGludCBfX2hvdywgY29uc3Qgc2lnc2V0X3QgKl9fcmVzdHJpY3QgX19zZXQsCj4g
Pj4+ICAgIHNpZ3NldF90ICpfX3Jlc3RyaWN0IF9fb3NldCkgX19hdHRyaWJ1dGVfXyAoKF9fbm90
aHJvd19fICwgX19sZWFmX18pKTsKPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4K
PiA+Pj4gZXh0ZXJuIGludCBzaWdzdXNwZW5kIChjb25zdCBzaWdzZXRfdCAqX19zZXQpIF9fYXR0
cmlidXRlX18gKChfX25vbm51bGxfXyAoMSkpKTsKPiA+Pj4KPiA+Pj4KPiA+Pj4gZXh0ZXJuIGlu
dCBzaWdhY3Rpb24gKGludCBfX3NpZywgY29uc3Qgc3RydWN0IHNpZ2FjdGlvbiAqX19yZXN0cmlj
dCBfX2FjdCwKPiA+Pj4gICAgICAgICBzdHJ1Y3Qgc2lnYWN0aW9uICpfX3Jlc3RyaWN0IF9fb2Fj
dCkgX19hdHRyaWJ1dGVfXyAoKF9fbm90aHJvd19fICwgX19sZWFmX18pKTsKPiA+Pj4KPiA+Pj4K
PiA+Pj4gZXh0ZXJuIGludCBzaWdwZW5kaW5nIChzaWdzZXRfdCAqX19zZXQpIF9fYXR0cmlidXRl
X18gKChfX25vdGhyb3dfXyAsIF9fbGVhZl9fKSkgX19hdHRyaWJ1dGVfXyAoKF9fbm9ubnVsbF9f
ICgxKSkpOwo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+PiBleHRlcm4g
aW50IHNpZ3dhaXQgKGNvbnN0IHNpZ3NldF90ICpfX3Jlc3RyaWN0IF9fc2V0LCBpbnQgKl9fcmVz
dHJpY3QgX19zaWcpCj4gPj4+ICAgICAgX19hdHRyaWJ1dGVfXyAoKF9fbm9ubnVsbF9fICgxLCAy
KSkpOwo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+PiBleHRlcm4gaW50
IHNpZ3dhaXRpbmZvIChjb25zdCBzaWdzZXRfdCAqX19yZXN0cmljdCBfX3NldCwKPiA+Pj4gICAg
c2lnaW5mb190ICpfX3Jlc3RyaWN0IF9faW5mbykgX19hdHRyaWJ1dGVfXyAoKF9fbm9ubnVsbF9f
ICgxKSkpOwo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+PiBleHRlcm4g
aW50IHNpZ3RpbWVkd2FpdCAoY29uc3Qgc2lnc2V0X3QgKl9fcmVzdHJpY3QgX19zZXQsCj4gPj4+
ICAgICBzaWdpbmZvX3QgKl9fcmVzdHJpY3QgX19pbmZvLAo+ID4+PiAgICAgY29uc3Qgc3RydWN0
IHRpbWVzcGVjICpfX3Jlc3RyaWN0IF9fdGltZW91dCkKPiA+Pj4gICAgICBfX2F0dHJpYnV0ZV9f
ICgoX19ub25udWxsX18gKDEpKSk7Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+IGV4dGVybiBpbnQg
c2lncXVldWUgKF9fcGlkX3QgX19waWQsIGludCBfX3NpZywgY29uc3QgdW5pb24gc2lndmFsIF9f
dmFsKQo+ID4+PiAgICAgIF9fYXR0cmlidXRlX18gKChfX25vdGhyb3dfXyAsIF9fbGVhZl9fKSk7
Cj4gPj4+ICMgMzAxICIvdXNyL2luY2x1ZGUvc2lnbmFsLmgiIDMgNAo+ID4+PiBleHRlcm4gY29u
c3QgY2hhciAqY29uc3QgX3N5c19zaWdsaXN0WzY1XTsKPiA+Pj4gZXh0ZXJuIGNvbnN0IGNoYXIg
KmNvbnN0IHN5c19zaWdsaXN0WzY1XTsKPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4gIyAxICIvdXNy
L2luY2x1ZGUvYml0cy9zaWdjb250ZXh0LmgiIDEgMyA0Cj4gPj4+ICMgMjkgIi91c3IvaW5jbHVk
ZS9iaXRzL3NpZ2NvbnRleHQuaCIgMyA0Cj4gPj4+IHN0cnVjdCBfZnB4X3N3X2J5dGVzCj4gPj4+
IHsKPiA+Pj4gICBfX3VpbnQzMl90IG1hZ2ljMTsKPiA+Pj4gICBfX3VpbnQzMl90IGV4dGVuZGVk
X3NpemU7Cj4gPj4+ICAgX191aW50NjRfdCB4c3RhdGVfYnY7Cj4gPj4+ICAgX191aW50MzJfdCB4
c3RhdGVfc2l6ZTsKPiA+Pj4gICBfX3VpbnQzMl90IHBhZGRpbmdbN107Cj4gPj4+IH07Cj4gPj4+
Cj4gPj4+IHN0cnVjdCBfZnByZWcKPiA+Pj4gewo+ID4+PiAgIHVuc2lnbmVkIHNob3J0IHNpZ25p
ZmljYW5kWzRdOwo+ID4+PiAgIHVuc2lnbmVkIHNob3J0IGV4cG9uZW50Owo+ID4+PiB9Owo+ID4+
Pgo+ID4+PiBzdHJ1Y3QgX2ZweHJlZwo+ID4+PiB7Cj4gPj4+ICAgdW5zaWduZWQgc2hvcnQgc2ln
bmlmaWNhbmRbNF07Cj4gPj4+ICAgdW5zaWduZWQgc2hvcnQgZXhwb25lbnQ7Cj4gPj4+ICAgdW5z
aWduZWQgc2hvcnQgcGFkZGluZ1szXTsKPiA+Pj4gfTsKPiA+Pj4KPiA+Pj4gc3RydWN0IF94bW1y
ZWcKPiA+Pj4gewo+ID4+PiAgIF9fdWludDMyX3QgZWxlbWVudFs0XTsKPiA+Pj4gfTsKPiA+Pj4K
PiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4gc3RydWN0IF9mcHN0YXRlCj4gPj4+IHsKPiA+
Pj4KPiA+Pj4gICBfX3VpbnQzMl90IGN3Owo+ID4+PiAgIF9fdWludDMyX3Qgc3c7Cj4gPj4+ICAg
X191aW50MzJfdCB0YWc7Cj4gPj4+ICAgX191aW50MzJfdCBpcG9mZjsKPiA+Pj4gICBfX3VpbnQz
Ml90IGNzc2VsOwo+ID4+PiAgIF9fdWludDMyX3QgZGF0YW9mZjsKPiA+Pj4gICBfX3VpbnQzMl90
IGRhdGFzZWw7Cj4gPj4+ICAgc3RydWN0IF9mcHJlZyBfc3RbOF07Cj4gPj4+ICAgdW5zaWduZWQg
c2hvcnQgc3RhdHVzOwo+ID4+PiAgIHVuc2lnbmVkIHNob3J0IG1hZ2ljOwo+ID4+Pgo+ID4+Pgo+
ID4+PiAgIF9fdWludDMyX3QgX2Z4c3JfZW52WzZdOwo+ID4+PiAgIF9fdWludDMyX3QgbXhjc3I7
Cj4gPj4+ICAgX191aW50MzJfdCByZXNlcnZlZDsKPiA+Pj4gICBzdHJ1Y3QgX2ZweHJlZyBfZnhz
cl9zdFs4XTsKPiA+Pj4gICBzdHJ1Y3QgX3htbXJlZyBfeG1tWzhdOwo+ID4+PiAgIF9fdWludDMy
X3QgcGFkZGluZ1s1Nl07Cj4gPj4+IH07Cj4gPj4+ICMgOTMgIi91c3IvaW5jbHVkZS9iaXRzL3Np
Z2NvbnRleHQuaCIgMyA0Cj4gPj4+IHN0cnVjdCBzaWdjb250ZXh0Cj4gPj4+IHsKPiA+Pj4gICB1
bnNpZ25lZCBzaG9ydCBncywgX19nc2g7Cj4gPj4+ICAgdW5zaWduZWQgc2hvcnQgZnMsIF9fZnNo
Owo+ID4+PiAgIHVuc2lnbmVkIHNob3J0IGVzLCBfX2VzaDsKPiA+Pj4gICB1bnNpZ25lZCBzaG9y
dCBkcywgX19kc2g7Cj4gPj4+ICAgdW5zaWduZWQgbG9uZyBlZGk7Cj4gPj4+ICAgdW5zaWduZWQg
bG9uZyBlc2k7Cj4gPj4+ICAgdW5zaWduZWQgbG9uZyBlYnA7Cj4gPj4+ICAgdW5zaWduZWQgbG9u
ZyBlc3A7Cj4gPj4+ICAgdW5zaWduZWQgbG9uZyBlYng7Cj4gPj4+ICAgdW5zaWduZWQgbG9uZyBl
ZHg7Cj4gPj4+ICAgdW5zaWduZWQgbG9uZyBlY3g7Cj4gPj4+ICAgdW5zaWduZWQgbG9uZyBlYXg7
Cj4gPj4+ICAgdW5zaWduZWQgbG9uZyB0cmFwbm87Cj4gPj4+ICAgdW5zaWduZWQgbG9uZyBlcnI7
Cj4gPj4+ICAgdW5zaWduZWQgbG9uZyBlaXA7Cj4gPj4+ICAgdW5zaWduZWQgc2hvcnQgY3MsIF9f
Y3NoOwo+ID4+PiAgIHVuc2lnbmVkIGxvbmcgZWZsYWdzOwo+ID4+PiAgIHVuc2lnbmVkIGxvbmcg
ZXNwX2F0X3NpZ25hbDsKPiA+Pj4gICB1bnNpZ25lZCBzaG9ydCBzcywgX19zc2g7Cj4gPj4+ICAg
c3RydWN0IF9mcHN0YXRlICogZnBzdGF0ZTsKPiA+Pj4gICB1bnNpZ25lZCBsb25nIG9sZG1hc2s7
Cj4gPj4+ICAgdW5zaWduZWQgbG9uZyBjcjI7Cj4gPj4+IH07Cj4gPj4+ICMgMTc1ICIvdXNyL2lu
Y2x1ZGUvYml0cy9zaWdjb250ZXh0LmgiIDMgNAo+ID4+PiBzdHJ1Y3QgX3hzYXZlX2hkcgo+ID4+
PiB7Cj4gPj4+ICAgX191aW50NjRfdCB4c3RhdGVfYnY7Cj4gPj4+ICAgX191aW50NjRfdCByZXNl
cnZlZDFbMl07Cj4gPj4+ICAgX191aW50NjRfdCByZXNlcnZlZDJbNV07Cj4gPj4+IH07Cj4gPj4+
Cj4gPj4+IHN0cnVjdCBfeW1taF9zdGF0ZQo+ID4+PiB7Cj4gPj4+ICAgX191aW50MzJfdCB5bW1o
X3NwYWNlWzY0XTsKPiA+Pj4gfTsKPiA+Pj4KPiA+Pj4gc3RydWN0IF94c3RhdGUKPiA+Pj4gewo+
ID4+PiAgIHN0cnVjdCBfZnBzdGF0ZSBmcHN0YXRlOwo+ID4+PiAgIHN0cnVjdCBfeHNhdmVfaGRy
IHhzdGF0ZV9oZHI7Cj4gPj4+ICAgc3RydWN0IF95bW1oX3N0YXRlIHltbWg7Cj4gPj4+IH07Cj4g
Pj4+ICMgMzA3ICIvdXNyL2luY2x1ZGUvc2lnbmFsLmgiIDIgMyA0Cj4gPj4+Cj4gPj4+Cj4gPj4+
IGV4dGVybiBpbnQgc2lncmV0dXJuIChzdHJ1Y3Qgc2lnY29udGV4dCAqX19zY3ApIF9fYXR0cmli
dXRlX18gKChfX25vdGhyb3dfXyAsIF9fbGVhZl9fKSk7Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+
Cj4gPj4+Cj4gPj4+Cj4gPj4+ICMgMSAiL3Vzci9saWIvZ2NjL2k2ODYtcmVkaGF0LWxpbnV4LzYu
MS4xL2luY2x1ZGUvc3RkZGVmLmgiIDEgMyA0Cj4gPj4+ICMgMzE3ICIvdXNyL2luY2x1ZGUvc2ln
bmFsLmgiIDIgMyA0Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+IGV4dGVybiBpbnQgc2ln
aW50ZXJydXB0IChpbnQgX19zaWcsIGludCBfX2ludGVycnVwdCkgX19hdHRyaWJ1dGVfXyAoKF9f
bm90aHJvd19fICwgX19sZWFmX18pKTsKPiA+Pj4KPiA+Pj4gIyAxICIvdXNyL2luY2x1ZGUvYml0
cy9zaWdzdGFjay5oIiAxIDMgNAo+ID4+PiAjIDI1ICIvdXNyL2luY2x1ZGUvYml0cy9zaWdzdGFj
ay5oIiAzIDQKPiA+Pj4gc3RydWN0IHNpZ3N0YWNrCj4gPj4+ICAgewo+ID4+PiAgICAgdm9pZCAq
c3Nfc3A7Cj4gPj4+ICAgICBpbnQgc3Nfb25zdGFjazsKPiA+Pj4gICB9Owo+ID4+Pgo+ID4+Pgo+
ID4+Pgo+ID4+PiBlbnVtCj4gPj4+IHsKPiA+Pj4gICBTU19PTlNUQUNLID0gMSwKPiA+Pj4KPiA+
Pj4gICBTU19ESVNBQkxFCj4gPj4+Cj4gPj4+IH07Cj4gPj4+ICMgNDkgIi91c3IvaW5jbHVkZS9i
aXRzL3NpZ3N0YWNrLmgiIDMgNAo+ID4+PiB0eXBlZGVmIHN0cnVjdCBzaWdhbHRzdGFjawo+ID4+
PiAgIHsKPiA+Pj4gICAgIHZvaWQgKnNzX3NwOwo+ID4+PiAgICAgaW50IHNzX2ZsYWdzOwo+ID4+
PiAgICAgc2l6ZV90IHNzX3NpemU7Cj4gPj4+ICAgfSBzdGFja190Owo+ID4+PiAjIDMyNCAiL3Vz
ci9pbmNsdWRlL3NpZ25hbC5oIiAyIDMgNAo+ID4+Pgo+ID4+Pgo+ID4+PiAjIDEgIi91c3IvaW5j
bHVkZS9zeXMvdWNvbnRleHQuaCIgMSAzIDQKPiA+Pj4gIyAyMiAiL3Vzci9pbmNsdWRlL3N5cy91
Y29udGV4dC5oIiAzIDQKPiA+Pj4gIyAxICIvdXNyL2luY2x1ZGUvc2lnbmFsLmgiIDEgMyA0Cj4g
Pj4+ICMgMjMgIi91c3IvaW5jbHVkZS9zeXMvdWNvbnRleHQuaCIgMiAzIDQKPiA+Pj4gIyAxNDYg
Ii91c3IvaW5jbHVkZS9zeXMvdWNvbnRleHQuaCIgMyA0Cj4gPj4+IHR5cGVkZWYgaW50IGdyZWdf
dDsKPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4gdHlwZWRlZiBncmVnX3QgZ3Jl
Z3NldF90WzE5XTsKPiA+Pj4gIyAyMDAgIi91c3IvaW5jbHVkZS9zeXMvdWNvbnRleHQuaCIgMyA0
Cj4gPj4+IHN0cnVjdCBfbGliY19mcHJlZwo+ID4+PiB7Cj4gPj4+ICAgdW5zaWduZWQgc2hvcnQg
aW50IHNpZ25pZmljYW5kWzRdOwo+ID4+PiAgIHVuc2lnbmVkIHNob3J0IGludCBleHBvbmVudDsK
PiA+Pj4gfTsKPiA+Pj4KPiA+Pj4gc3RydWN0IF9saWJjX2Zwc3RhdGUKPiA+Pj4gewo+ID4+PiAg
IHVuc2lnbmVkIGxvbmcgaW50IGN3Owo+ID4+PiAgIHVuc2lnbmVkIGxvbmcgaW50IHN3Owo+ID4+
PiAgIHVuc2lnbmVkIGxvbmcgaW50IHRhZzsKPiA+Pj4gICB1bnNpZ25lZCBsb25nIGludCBpcG9m
ZjsKPiA+Pj4gICB1bnNpZ25lZCBsb25nIGludCBjc3NlbDsKPiA+Pj4gICB1bnNpZ25lZCBsb25n
IGludCBkYXRhb2ZmOwo+ID4+PiAgIHVuc2lnbmVkIGxvbmcgaW50IGRhdGFzZWw7Cj4gPj4+ICAg
c3RydWN0IF9saWJjX2ZwcmVnIF9zdFs4XTsKPiA+Pj4gICB1bnNpZ25lZCBsb25nIGludCBzdGF0
dXM7Cj4gPj4+IH07Cj4gPj4+Cj4gPj4+Cj4gPj4+IHR5cGVkZWYgc3RydWN0IF9saWJjX2Zwc3Rh
dGUgKmZwcmVnc2V0X3Q7Cj4gPj4+Cj4gPj4+Cj4gPj4+IHR5cGVkZWYgc3RydWN0Cj4gPj4+ICAg
ewo+ID4+PiAgICAgZ3JlZ3NldF90IGdyZWdzOwo+ID4+Pgo+ID4+Pgo+ID4+PiAgICAgZnByZWdz
ZXRfdCBmcHJlZ3M7Cj4gPj4+ICAgICB1bnNpZ25lZCBsb25nIGludCBvbGRtYXNrOwo+ID4+PiAg
ICAgdW5zaWduZWQgbG9uZyBpbnQgY3IyOwo+ID4+PiAgIH0gbWNvbnRleHRfdDsKPiA+Pj4KPiA+
Pj4KPiA+Pj4gdHlwZWRlZiBzdHJ1Y3QgdWNvbnRleHQKPiA+Pj4gICB7Cj4gPj4+ICAgICB1bnNp
Z25lZCBsb25nIGludCB1Y19mbGFnczsKPiA+Pj4gICAgIHN0cnVjdCB1Y29udGV4dCAqdWNfbGlu
azsKPiA+Pj4gICAgIHN0YWNrX3QgdWNfc3RhY2s7Cj4gPj4+ICAgICBtY29udGV4dF90IHVjX21j
b250ZXh0Owo+ID4+PiAgICAgX19zaWdzZXRfdCB1Y19zaWdtYXNrOwo+ID4+PiAgICAgc3RydWN0
IF9saWJjX2Zwc3RhdGUgX19mcHJlZ3NfbWVtOwo+ID4+PiAgIH0gdWNvbnRleHRfdDsKPiA+Pj4g
IyAzMjcgIi91c3IvaW5jbHVkZS9zaWduYWwuaCIgMiAzIDQKPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+
Pj4KPiA+Pj4KPiA+Pj4gZXh0ZXJuIGludCBzaWdzdGFjayAoc3RydWN0IHNpZ3N0YWNrICpfX3Nz
LCBzdHJ1Y3Qgc2lnc3RhY2sgKl9fb3NzKQo+ID4+PiAgICAgIF9fYXR0cmlidXRlX18gKChfX25v
dGhyb3dfXyAsIF9fbGVhZl9fKSkgX19hdHRyaWJ1dGVfXyAoKF9fZGVwcmVjYXRlZF9fKSk7Cj4g
Pj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+IGV4dGVybiBpbnQgc2lnYWx0c3RhY2sgKGNvbnN0IHN0cnVj
dCBzaWdhbHRzdGFjayAqX19yZXN0cmljdCBfX3NzLAo+ID4+PiAgICBzdHJ1Y3Qgc2lnYWx0c3Rh
Y2sgKl9fcmVzdHJpY3QgX19vc3MpIF9fYXR0cmlidXRlX18gKChfX25vdGhyb3dfXyAsIF9fbGVh
Zl9fKSk7Cj4gPj4+ICMgMzYyICIvdXNyL2luY2x1ZGUvc2lnbmFsLmgiIDMgNAo+ID4+PiAjIDEg
Ii91c3IvaW5jbHVkZS9iaXRzL3NpZ3RocmVhZC5oIiAxIDMgNAo+ID4+PiAjIDMwICIvdXNyL2lu
Y2x1ZGUvYml0cy9zaWd0aHJlYWQuaCIgMyA0Cj4gPj4+IGV4dGVybiBpbnQgcHRocmVhZF9zaWdt
YXNrIChpbnQgX19ob3csCj4gPj4+ICAgICAgICBjb25zdCBfX3NpZ3NldF90ICpfX3Jlc3RyaWN0
IF9fbmV3bWFzaywKPiA+Pj4gICAgICAgIF9fc2lnc2V0X3QgKl9fcmVzdHJpY3QgX19vbGRtYXNr
KV9fYXR0cmlidXRlX18gKChfX25vdGhyb3dfXyAsIF9fbGVhZl9fKSk7Cj4gPj4+Cj4gPj4+Cj4g
Pj4+IGV4dGVybiBpbnQgcHRocmVhZF9raWxsIChwdGhyZWFkX3QgX190aHJlYWRpZCwgaW50IF9f
c2lnbm8pIF9fYXR0cmlidXRlX18gKChfX25vdGhyb3dfXyAsIF9fbGVhZl9fKSk7Cj4gPj4+ICMg
MzYzICIvdXNyL2luY2x1ZGUvc2lnbmFsLmgiIDIgMyA0Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+
Cj4gPj4+Cj4gPj4+Cj4gPj4+IGV4dGVybiBpbnQgX19saWJjX2N1cnJlbnRfc2lncnRtaW4gKHZv
aWQpIF9fYXR0cmlidXRlX18gKChfX25vdGhyb3dfXyAsIF9fbGVhZl9fKSk7Cj4gPj4+Cj4gPj4+
IGV4dGVybiBpbnQgX19saWJjX2N1cnJlbnRfc2lncnRtYXggKHZvaWQpIF9fYXR0cmlidXRlX18g
KChfX25vdGhyb3dfXyAsIF9fbGVhZl9fKSk7Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+
ICMgNDIgIm1hY2hpbmUuYyIgMgo+ID4+PiAjIDEgIi91c3IvaW5jbHVkZS9lcnJuby5oIiAxIDMg
NAo+ID4+PiAjIDMxICIvdXNyL2luY2x1ZGUvZXJybm8uaCIgMyA0Cj4gPj4+Cj4gPj4+Cj4gPj4+
Cj4gPj4+Cj4gPj4+ICMgMSAiL3Vzci9pbmNsdWRlL2JpdHMvZXJybm8uaCIgMSAzIDQKPiA+Pj4g
IyAyNCAiL3Vzci9pbmNsdWRlL2JpdHMvZXJybm8uaCIgMyA0Cj4gPj4+ICMgMSAiL3Vzci9pbmNs
dWRlL2xpbnV4L2Vycm5vLmgiIDEgMyA0Cj4gPj4+ICMgMSAiL3Vzci9pbmNsdWRlL2FzbS9lcnJu
by5oIiAxIDMgNAo+ID4+PiAjIDEgIi91c3IvaW5jbHVkZS9hc20tZ2VuZXJpYy9lcnJuby5oIiAx
IDMgNAo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+PiAjIDEgIi91c3IvaW5jbHVkZS9hc20tZ2VuZXJp
Yy9lcnJuby1iYXNlLmgiIDEgMyA0Cj4gPj4+ICMgNSAiL3Vzci9pbmNsdWRlL2FzbS1nZW5lcmlj
L2Vycm5vLmgiIDIgMyA0Cj4gPj4+ICMgMSAiL3Vzci9pbmNsdWRlL2FzbS9lcnJuby5oIiAyIDMg
NAo+ID4+PiAjIDEgIi91c3IvaW5jbHVkZS9saW51eC9lcnJuby5oIiAyIDMgNAo+ID4+PiAjIDI1
ICIvdXNyL2luY2x1ZGUvYml0cy9lcnJuby5oIiAyIDMgNAo+ID4+PiAjIDUwICIvdXNyL2luY2x1
ZGUvYml0cy9lcnJuby5oIiAzIDQKPiA+Pj4gZXh0ZXJuIGludCAqX19lcnJub19sb2NhdGlvbiAo
dm9pZCkgX19hdHRyaWJ1dGVfXyAoKF9fbm90aHJvd19fICwgX19sZWFmX18pKSBfX2F0dHJpYnV0
ZV9fICgoX19jb25zdF9fKSk7Cj4gPj4+ICMgMzYgIi91c3IvaW5jbHVkZS9lcnJuby5oIiAyIDMg
NAo+ID4+PiAjIDU4ICIvdXNyL2luY2x1ZGUvZXJybm8uaCIgMyA0Cj4gPj4+Cj4gPj4+ICMgNDMg
Im1hY2hpbmUuYyIgMgo+ID4+PiAjIDEgIi91c3IvaW5jbHVkZS9mY250bC5oIiAxIDMgNAo+ID4+
PiAjIDI4ICIvdXNyL2luY2x1ZGUvZmNudGwuaCIgMyA0Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+
Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+ICMgMSAiL3Vzci9pbmNsdWRlL2JpdHMvZmNudGwuaCIg
MSAzIDQKPiA+Pj4gIyAzNSAiL3Vzci9pbmNsdWRlL2JpdHMvZmNudGwuaCIgMyA0Cj4gPj4+IHN0
cnVjdCBmbG9jawo+ID4+PiAgIHsKPiA+Pj4gICAgIHNob3J0IGludCBsX3R5cGU7Cj4gPj4+ICAg
ICBzaG9ydCBpbnQgbF93aGVuY2U7Cj4gPj4+Cj4gPj4+ICAgICBfX29mZl90IGxfc3RhcnQ7Cj4g
Pj4+ICAgICBfX29mZl90IGxfbGVuOwo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+PiAgICAg
X19waWRfdCBsX3BpZDsKPiA+Pj4gICB9Owo+ID4+PiAjIDYxICIvdXNyL2luY2x1ZGUvYml0cy9m
Y250bC5oIiAzIDQKPiA+Pj4gIyAxICIvdXNyL2luY2x1ZGUvYml0cy9mY250bC1saW51eC5oIiAx
IDMgNAo+ID4+PiAjIDM0NSAiL3Vzci9pbmNsdWRlL2JpdHMvZmNudGwtbGludXguaCIgMyA0Cj4g
Pj4+Cj4gPj4+ICMgNDE5ICIvdXNyL2luY2x1ZGUvYml0cy9mY250bC1saW51eC5oIiAzIDQKPiA+
Pj4KPiA+Pj4gIyA2MSAiL3Vzci9pbmNsdWRlL2JpdHMvZmNudGwuaCIgMiAzIDQKPiA+Pj4gIyAz
NiAiL3Vzci9pbmNsdWRlL2ZjbnRsLmgiIDIgMyA0Cj4gPj4+ICMgNzYgIi91c3IvaW5jbHVkZS9m
Y250bC5oIiAzIDQKPiA+Pj4gIyAxICIvdXNyL2luY2x1ZGUvdGltZS5oIiAxIDMgNAo+ID4+PiAj
IDc3ICIvdXNyL2luY2x1ZGUvZmNudGwuaCIgMiAzIDQKPiA+Pj4gIyAxICIvdXNyL2luY2x1ZGUv
Yml0cy9zdGF0LmgiIDEgMyA0Cj4gPj4+ICMgNDYgIi91c3IvaW5jbHVkZS9iaXRzL3N0YXQuaCIg
MyA0Cj4gPj4+IHN0cnVjdCBzdGF0Cj4gPj4+ICAgewo+ID4+PiAgICAgX19kZXZfdCBzdF9kZXY7
Cj4gPj4+Cj4gPj4+ICAgICB1bnNpZ25lZCBzaG9ydCBpbnQgX19wYWQxOwo+ID4+Pgo+ID4+Pgo+
ID4+PiAgICAgX19pbm9fdCBzdF9pbm87Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+ICAg
ICBfX21vZGVfdCBzdF9tb2RlOwo+ID4+PiAgICAgX19ubGlua190IHN0X25saW5rOwo+ID4+Pgo+
ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+PiAgICAgX191aWRfdCBzdF91aWQ7Cj4gPj4+ICAgICBfX2dp
ZF90IHN0X2dpZDsKPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4gICAgIF9fZGV2X3Qgc3RfcmRldjsK
PiA+Pj4KPiA+Pj4gICAgIHVuc2lnbmVkIHNob3J0IGludCBfX3BhZDI7Cj4gPj4+Cj4gPj4+Cj4g
Pj4+ICAgICBfX29mZl90IHN0X3NpemU7Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+ICAgICBfX2Js
a3NpemVfdCBzdF9ibGtzaXplOwo+ID4+Pgo+ID4+PiAgICAgX19ibGtjbnRfdCBzdF9ibG9ja3M7
Cj4gPj4+ICMgOTEgIi91c3IvaW5jbHVkZS9iaXRzL3N0YXQuaCIgMyA0Cj4gPj4+ICAgICBzdHJ1
Y3QgdGltZXNwZWMgc3RfYXRpbTsKPiA+Pj4gICAgIHN0cnVjdCB0aW1lc3BlYyBzdF9tdGltOwo+
ID4+PiAgICAgc3RydWN0IHRpbWVzcGVjIHN0X2N0aW07Cj4gPj4+ICMgMTA5ICIvdXNyL2luY2x1
ZGUvYml0cy9zdGF0LmgiIDMgNAo+ID4+PiAgICAgdW5zaWduZWQgbG9uZyBpbnQgX19nbGliY19y
ZXNlcnZlZDQ7Cj4gPj4+ICAgICB1bnNpZ25lZCBsb25nIGludCBfX2dsaWJjX3Jlc2VydmVkNTsK
PiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4gICB9Owo+ID4+PiAjIDc4ICIvdXNyL2luY2x1
ZGUvZmNudGwuaCIgMiAzIDQKPiA+Pj4gIyAxNjkgIi91c3IvaW5jbHVkZS9mY250bC5oIiAzIDQK
PiA+Pj4gZXh0ZXJuIGludCBmY250bCAoaW50IF9fZmQsIGludCBfX2NtZCwgLi4uKTsKPiA+Pj4g
IyAxNzkgIi91c3IvaW5jbHVkZS9mY250bC5oIiAzIDQKPiA+Pj4gZXh0ZXJuIGludCBvcGVuIChj
b25zdCBjaGFyICpfX2ZpbGUsIGludCBfX29mbGFnLCAuLi4pIF9fYXR0cmlidXRlX18gKChfX25v
bm51bGxfXyAoMSkpKTsKPiA+Pj4gIyAyMDMgIi91c3IvaW5jbHVkZS9mY250bC5oIiAzIDQKPiA+
Pj4gZXh0ZXJuIGludCBvcGVuYXQgKGludCBfX2ZkLCBjb25zdCBjaGFyICpfX2ZpbGUsIGludCBf
X29mbGFnLCAuLi4pCj4gPj4+ICAgICAgX19hdHRyaWJ1dGVfXyAoKF9fbm9ubnVsbF9fICgyKSkp
Owo+ID4+PiAjIDIyNSAiL3Vzci9pbmNsdWRlL2ZjbnRsLmgiIDMgNAo+ID4+PiBleHRlcm4gaW50
IGNyZWF0IChjb25zdCBjaGFyICpfX2ZpbGUsIG1vZGVfdCBfX21vZGUpIF9fYXR0cmlidXRlX18g
KChfX25vbm51bGxfXyAoMSkpKTsKPiA+Pj4gIyAyNTQgIi91c3IvaW5jbHVkZS9mY250bC5oIiAz
IDQKPiA+Pj4gZXh0ZXJuIGludCBsb2NrZiAoaW50IF9fZmQsIGludCBfX2NtZCwgb2ZmX3QgX19s
ZW4pOwo+ID4+PiAjIDI3MSAiL3Vzci9pbmNsdWRlL2ZjbnRsLmgiIDMgNAo+ID4+PiBleHRlcm4g
aW50IHBvc2l4X2ZhZHZpc2UgKGludCBfX2ZkLCBvZmZfdCBfX29mZnNldCwgb2ZmX3QgX19sZW4s
Cj4gPj4+ICAgICAgaW50IF9fYWR2aXNlKSBfX2F0dHJpYnV0ZV9fICgoX19ub3Rocm93X18gLCBf
X2xlYWZfXykpOwo+ID4+PiAjIDI5MyAiL3Vzci9pbmNsdWRlL2ZjbnRsLmgiIDMgNAo+ID4+PiBl
eHRlcm4gaW50IHBvc2l4X2ZhbGxvY2F0ZSAoaW50IF9fZmQsIG9mZl90IF9fb2Zmc2V0LCBvZmZf
dCBfX2xlbik7Cj4gPj4+ICMgMzE1ICIvdXNyL2luY2x1ZGUvZmNudGwuaCIgMyA0Cj4gPj4+Cj4g
Pj4+ICMgNDQgIm1hY2hpbmUuYyIgMgo+ID4+PiAjIDEgIi91c3IvaW5jbHVkZS9jdHlwZS5oIiAx
IDMgNAo+ID4+PiAjIDI4ICIvdXNyL2luY2x1ZGUvY3R5cGUuaCIgMyA0Cj4gPj4+Cj4gPj4+ICMg
NDYgIi91c3IvaW5jbHVkZS9jdHlwZS5oIiAzIDQKPiA+Pj4gZW51bQo+ID4+PiB7Cj4gPj4+ICAg
X0lTdXBwZXIgPSAoKDApIDwgOCA/ICgoMSA8PCAoMCkpIDw8IDgpIDogKCgxIDw8ICgwKSkgPj4g
OCkpLAo+ID4+PiAgIF9JU2xvd2VyID0gKCgxKSA8IDggPyAoKDEgPDwgKDEpKSA8PCA4KSA6ICgo
MSA8PCAoMSkpID4+IDgpKSwKPiA+Pj4gICBfSVNhbHBoYSA9ICgoMikgPCA4ID8gKCgxIDw8ICgy
KSkgPDwgOCkgOiAoKDEgPDwgKDIpKSA+PiA4KSksCj4gPj4+ICAgX0lTZGlnaXQgPSAoKDMpIDwg
OCA/ICgoMSA8PCAoMykpIDw8IDgpIDogKCgxIDw8ICgzKSkgPj4gOCkpLAo+ID4+PiAgIF9JU3hk
aWdpdCA9ICgoNCkgPCA4ID8gKCgxIDw8ICg0KSkgPDwgOCkgOiAoKDEgPDwgKDQpKSA+PiA4KSks
Cj4gPj4+ICAgX0lTc3BhY2UgPSAoKDUpIDwgOCA/ICgoMSA8PCAoNSkpIDw8IDgpIDogKCgxIDw8
ICg1KSkgPj4gOCkpLAo+ID4+PiAgIF9JU3ByaW50ID0gKCg2KSA8IDggPyAoKDEgPDwgKDYpKSA8
PCA4KSA6ICgoMSA8PCAoNikpID4+IDgpKSwKPiA+Pj4gICBfSVNncmFwaCA9ICgoNykgPCA4ID8g
KCgxIDw8ICg3KSkgPDwgOCkgOiAoKDEgPDwgKDcpKSA+PiA4KSksCj4gPj4+ICAgX0lTYmxhbmsg
PSAoKDgpIDwgOCA/ICgoMSA8PCAoOCkpIDw8IDgpIDogKCgxIDw8ICg4KSkgPj4gOCkpLAo+ID4+
PiAgIF9JU2NudHJsID0gKCg5KSA8IDggPyAoKDEgPDwgKDkpKSA8PCA4KSA6ICgoMSA8PCAoOSkp
ID4+IDgpKSwKPiA+Pj4gICBfSVNwdW5jdCA9ICgoMTApIDwgOCA/ICgoMSA8PCAoMTApKSA8PCA4
KSA6ICgoMSA8PCAoMTApKSA+PiA4KSksCj4gPj4+ICAgX0lTYWxudW0gPSAoKDExKSA8IDggPyAo
KDEgPDwgKDExKSkgPDwgOCkgOiAoKDEgPDwgKDExKSkgPj4gOCkpCj4gPj4+IH07Cj4gPj4+ICMg
NzkgIi91c3IvaW5jbHVkZS9jdHlwZS5oIiAzIDQKPiA+Pj4gZXh0ZXJuIGNvbnN0IHVuc2lnbmVk
IHNob3J0IGludCAqKl9fY3R5cGVfYl9sb2MgKHZvaWQpCj4gPj4+ICAgICAgX19hdHRyaWJ1dGVf
XyAoKF9fbm90aHJvd19fICwgX19sZWFmX18pKSBfX2F0dHJpYnV0ZV9fICgoX19jb25zdF9fKSk7
Cj4gPj4+IGV4dGVybiBjb25zdCBfX2ludDMyX3QgKipfX2N0eXBlX3RvbG93ZXJfbG9jICh2b2lk
KQo+ID4+PiAgICAgIF9fYXR0cmlidXRlX18gKChfX25vdGhyb3dfXyAsIF9fbGVhZl9fKSkgX19h
dHRyaWJ1dGVfXyAoKF9fY29uc3RfXykpOwo+ID4+PiBleHRlcm4gY29uc3QgX19pbnQzMl90ICoq
X19jdHlwZV90b3VwcGVyX2xvYyAodm9pZCkKPiA+Pj4gICAgICBfX2F0dHJpYnV0ZV9fICgoX19u
b3Rocm93X18gLCBfX2xlYWZfXykpIF9fYXR0cmlidXRlX18gKChfX2NvbnN0X18pKTsKPiA+Pj4g
IyAxMDQgIi91c3IvaW5jbHVkZS9jdHlwZS5oIiAzIDQKPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4K
PiA+Pj4KPiA+Pj4KPiA+Pj4gZXh0ZXJuIGludCBpc2FsbnVtIChpbnQpIF9fYXR0cmlidXRlX18g
KChfX25vdGhyb3dfXyAsIF9fbGVhZl9fKSk7Cj4gPj4+IGV4dGVybiBpbnQgaXNhbHBoYSAoaW50
KSBfX2F0dHJpYnV0ZV9fICgoX19ub3Rocm93X18gLCBfX2xlYWZfXykpOwo+ID4+PiBleHRlcm4g
aW50IGlzY250cmwgKGludCkgX19hdHRyaWJ1dGVfXyAoKF9fbm90aHJvd19fICwgX19sZWFmX18p
KTsKPiA+Pj4gZXh0ZXJuIGludCBpc2RpZ2l0IChpbnQpIF9fYXR0cmlidXRlX18gKChfX25vdGhy
b3dfXyAsIF9fbGVhZl9fKSk7Cj4gPj4+IGV4dGVybiBpbnQgaXNsb3dlciAoaW50KSBfX2F0dHJp
YnV0ZV9fICgoX19ub3Rocm93X18gLCBfX2xlYWZfXykpOwo+ID4+PiBleHRlcm4gaW50IGlzZ3Jh
cGggKGludCkgX19hdHRyaWJ1dGVfXyAoKF9fbm90aHJvd19fICwgX19sZWFmX18pKTsKPiA+Pj4g
ZXh0ZXJuIGludCBpc3ByaW50IChpbnQpIF9fYXR0cmlidXRlX18gKChfX25vdGhyb3dfXyAsIF9f
bGVhZl9fKSk7Cj4gPj4+IGV4dGVybiBpbnQgaXNwdW5jdCAoaW50KSBfX2F0dHJpYnV0ZV9fICgo
X19ub3Rocm93X18gLCBfX2xlYWZfXykpOwo+ID4+PiBleHRlcm4gaW50IGlzc3BhY2UgKGludCkg
X19hdHRyaWJ1dGVfXyAoKF9fbm90aHJvd19fICwgX19sZWFmX18pKTsKPiA+Pj4gZXh0ZXJuIGlu
dCBpc3VwcGVyIChpbnQpIF9fYXR0cmlidXRlX18gKChfX25vdGhyb3dfXyAsIF9fbGVhZl9fKSk7
Cj4gPj4+IGV4dGVybiBpbnQgaXN4ZGlnaXQgKGludCkgX19hdHRyaWJ1dGVfXyAoKF9fbm90aHJv
d19fICwgX19sZWFmX18pKTsKPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4gZXh0ZXJuIGludCB0b2xv
d2VyIChpbnQgX19jKSBfX2F0dHJpYnV0ZV9fICgoX19ub3Rocm93X18gLCBfX2xlYWZfXykpOwo+
ID4+Pgo+ID4+Pgo+ID4+PiBleHRlcm4gaW50IHRvdXBwZXIgKGludCBfX2MpIF9fYXR0cmlidXRl
X18gKChfX25vdGhyb3dfXyAsIF9fbGVhZl9fKSk7Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4g
Pj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+IGV4dGVybiBpbnQgaXNibGFuayAoaW50KSBfX2F0
dHJpYnV0ZV9fICgoX19ub3Rocm93X18gLCBfX2xlYWZfXykpOwo+ID4+Pgo+ID4+Pgo+ID4+PiAj
IDE1MCAiL3Vzci9pbmNsdWRlL2N0eXBlLmgiIDMgNAo+ID4+PiBleHRlcm4gaW50IGlzYXNjaWkg
KGludCBfX2MpIF9fYXR0cmlidXRlX18gKChfX25vdGhyb3dfXyAsIF9fbGVhZl9fKSk7Cj4gPj4+
Cj4gPj4+Cj4gPj4+Cj4gPj4+IGV4dGVybiBpbnQgdG9hc2NpaSAoaW50IF9fYykgX19hdHRyaWJ1
dGVfXyAoKF9fbm90aHJvd19fICwgX19sZWFmX18pKTsKPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4g
ZXh0ZXJuIGludCBfdG91cHBlciAoaW50KSBfX2F0dHJpYnV0ZV9fICgoX19ub3Rocm93X18gLCBf
X2xlYWZfXykpOwo+ID4+PiBleHRlcm4gaW50IF90b2xvd2VyIChpbnQpIF9fYXR0cmlidXRlX18g
KChfX25vdGhyb3dfXyAsIF9fbGVhZl9fKSk7Cj4gPj4+ICMgMjU3ICIvdXNyL2luY2x1ZGUvY3R5
cGUuaCIgMyA0Cj4gPj4+ICMgMSAiL3Vzci9pbmNsdWRlL3hsb2NhbGUuaCIgMSAzIDQKPiA+Pj4g
IyAyNyAiL3Vzci9pbmNsdWRlL3hsb2NhbGUuaCIgMyA0Cj4gPj4+IHR5cGVkZWYgc3RydWN0IF9f
bG9jYWxlX3N0cnVjdAo+ID4+PiB7Cj4gPj4+Cj4gPj4+ICAgc3RydWN0IF9fbG9jYWxlX2RhdGEg
Kl9fbG9jYWxlc1sxM107Cj4gPj4+Cj4gPj4+Cj4gPj4+ICAgY29uc3QgdW5zaWduZWQgc2hvcnQg
aW50ICpfX2N0eXBlX2I7Cj4gPj4+ICAgY29uc3QgaW50ICpfX2N0eXBlX3RvbG93ZXI7Cj4gPj4+
ICAgY29uc3QgaW50ICpfX2N0eXBlX3RvdXBwZXI7Cj4gPj4+Cj4gPj4+Cj4gPj4+ICAgY29uc3Qg
Y2hhciAqX19uYW1lc1sxM107Cj4gPj4+IH0gKl9fbG9jYWxlX3Q7Cj4gPj4+Cj4gPj4+Cj4gPj4+
IHR5cGVkZWYgX19sb2NhbGVfdCBsb2NhbGVfdDsKPiA+Pj4gIyAyNTggIi91c3IvaW5jbHVkZS9j
dHlwZS5oIiAyIDMgNAo+ID4+PiAjIDI3MSAiL3Vzci9pbmNsdWRlL2N0eXBlLmgiIDMgNAo+ID4+
PiBleHRlcm4gaW50IGlzYWxudW1fbCAoaW50LCBfX2xvY2FsZV90KSBfX2F0dHJpYnV0ZV9fICgo
X19ub3Rocm93X18gLCBfX2xlYWZfXykpOwo+ID4+PiBleHRlcm4gaW50IGlzYWxwaGFfbCAoaW50
LCBfX2xvY2FsZV90KSBfX2F0dHJpYnV0ZV9fICgoX19ub3Rocm93X18gLCBfX2xlYWZfXykpOwo+
ID4+PiBleHRlcm4gaW50IGlzY250cmxfbCAoaW50LCBfX2xvY2FsZV90KSBfX2F0dHJpYnV0ZV9f
ICgoX19ub3Rocm93X18gLCBfX2xlYWZfXykpOwo+ID4+PiBleHRlcm4gaW50IGlzZGlnaXRfbCAo
aW50LCBfX2xvY2FsZV90KSBfX2F0dHJpYnV0ZV9fICgoX19ub3Rocm93X18gLCBfX2xlYWZfXykp
Owo+ID4+PiBleHRlcm4gaW50IGlzbG93ZXJfbCAoaW50LCBfX2xvY2FsZV90KSBfX2F0dHJpYnV0
ZV9fICgoX19ub3Rocm93X18gLCBfX2xlYWZfXykpOwo+ID4+PiBleHRlcm4gaW50IGlzZ3JhcGhf
bCAoaW50LCBfX2xvY2FsZV90KSBfX2F0dHJpYnV0ZV9fICgoX19ub3Rocm93X18gLCBfX2xlYWZf
XykpOwo+ID4+PiBleHRlcm4gaW50IGlzcHJpbnRfbCAoaW50LCBfX2xvY2FsZV90KSBfX2F0dHJp
YnV0ZV9fICgoX19ub3Rocm93X18gLCBfX2xlYWZfXykpOwo+ID4+PiBleHRlcm4gaW50IGlzcHVu
Y3RfbCAoaW50LCBfX2xvY2FsZV90KSBfX2F0dHJpYnV0ZV9fICgoX19ub3Rocm93X18gLCBfX2xl
YWZfXykpOwo+ID4+PiBleHRlcm4gaW50IGlzc3BhY2VfbCAoaW50LCBfX2xvY2FsZV90KSBfX2F0
dHJpYnV0ZV9fICgoX19ub3Rocm93X18gLCBfX2xlYWZfXykpOwo+ID4+PiBleHRlcm4gaW50IGlz
dXBwZXJfbCAoaW50LCBfX2xvY2FsZV90KSBfX2F0dHJpYnV0ZV9fICgoX19ub3Rocm93X18gLCBf
X2xlYWZfXykpOwo+ID4+PiBleHRlcm4gaW50IGlzeGRpZ2l0X2wgKGludCwgX19sb2NhbGVfdCkg
X19hdHRyaWJ1dGVfXyAoKF9fbm90aHJvd19fICwgX19sZWFmX18pKTsKPiA+Pj4KPiA+Pj4gZXh0
ZXJuIGludCBpc2JsYW5rX2wgKGludCwgX19sb2NhbGVfdCkgX19hdHRyaWJ1dGVfXyAoKF9fbm90
aHJvd19fICwgX19sZWFmX18pKTsKPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4gZXh0ZXJuIGludCBf
X3RvbG93ZXJfbCAoaW50IF9fYywgX19sb2NhbGVfdCBfX2wpIF9fYXR0cmlidXRlX18gKChfX25v
dGhyb3dfXyAsIF9fbGVhZl9fKSk7Cj4gPj4+IGV4dGVybiBpbnQgdG9sb3dlcl9sIChpbnQgX19j
LCBfX2xvY2FsZV90IF9fbCkgX19hdHRyaWJ1dGVfXyAoKF9fbm90aHJvd19fICwgX19sZWFmX18p
KTsKPiA+Pj4KPiA+Pj4KPiA+Pj4gZXh0ZXJuIGludCBfX3RvdXBwZXJfbCAoaW50IF9fYywgX19s
b2NhbGVfdCBfX2wpIF9fYXR0cmlidXRlX18gKChfX25vdGhyb3dfXyAsIF9fbGVhZl9fKSk7Cj4g
Pj4+IGV4dGVybiBpbnQgdG91cHBlcl9sIChpbnQgX19jLCBfX2xvY2FsZV90IF9fbCkgX19hdHRy
aWJ1dGVfXyAoKF9fbm90aHJvd19fICwgX19sZWFmX18pKTsKPiA+Pj4gIyAzNDcgIi91c3IvaW5j
bHVkZS9jdHlwZS5oIiAzIDQKPiA+Pj4KPiA+Pj4gIyA0NSAibWFjaGluZS5jIiAyCj4gPj4+ICMg
MSAiL3Vzci9pbmNsdWRlL3N0cmluZy5oIiAxIDMgNAo+ID4+PiAjIDI3ICIvdXNyL2luY2x1ZGUv
c3RyaW5nLmgiIDMgNAo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+PiAjIDEgIi91
c3IvbGliL2djYy9pNjg2LXJlZGhhdC1saW51eC82LjEuMS9pbmNsdWRlL3N0ZGRlZi5oIiAxIDMg
NAo+ID4+PiAjIDMzICIvdXNyL2luY2x1ZGUvc3RyaW5nLmgiIDIgMyA0Cj4gPj4+Cj4gPj4+Cj4g
Pj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+IGV4dGVybiB2b2lk
ICptZW1jcHkgKHZvaWQgKl9fcmVzdHJpY3QgX19kZXN0LCBjb25zdCB2b2lkICpfX3Jlc3RyaWN0
IF9fc3JjLAo+ID4+PiAgICAgICAgc2l6ZV90IF9fbikgX19hdHRyaWJ1dGVfXyAoKF9fbm90aHJv
d19fICwgX19sZWFmX18pKSBfX2F0dHJpYnV0ZV9fICgoX19ub25udWxsX18gKDEsIDIpKSk7Cj4g
Pj4+Cj4gPj4+Cj4gPj4+IGV4dGVybiB2b2lkICptZW1tb3ZlICh2b2lkICpfX2Rlc3QsIGNvbnN0
IHZvaWQgKl9fc3JjLCBzaXplX3QgX19uKQo+ID4+PiAgICAgIF9fYXR0cmlidXRlX18gKChfX25v
dGhyb3dfXyAsIF9fbGVhZl9fKSkgX19hdHRyaWJ1dGVfXyAoKF9fbm9ubnVsbF9fICgxLCAyKSkp
Owo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+PiBleHRlcm4gdm9pZCAq
bWVtY2NweSAodm9pZCAqX19yZXN0cmljdCBfX2Rlc3QsIGNvbnN0IHZvaWQgKl9fcmVzdHJpY3Qg
X19zcmMsCj4gPj4+ICAgICAgICAgaW50IF9fYywgc2l6ZV90IF9fbikKPiA+Pj4gICAgICBfX2F0
dHJpYnV0ZV9fICgoX19ub3Rocm93X18gLCBfX2xlYWZfXykpIF9fYXR0cmlidXRlX18gKChfX25v
bm51bGxfXyAoMSwgMikpKTsKPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4gZXh0
ZXJuIHZvaWQgKm1lbXNldCAodm9pZCAqX19zLCBpbnQgX19jLCBzaXplX3QgX19uKSBfX2F0dHJp
YnV0ZV9fICgoX19ub3Rocm93X18gLCBfX2xlYWZfXykpIF9fYXR0cmlidXRlX18gKChfX25vbm51
bGxfXyAoMSkpKTsKPiA+Pj4KPiA+Pj4KPiA+Pj4gZXh0ZXJuIGludCBtZW1jbXAgKGNvbnN0IHZv
aWQgKl9fczEsIGNvbnN0IHZvaWQgKl9fczIsIHNpemVfdCBfX24pCj4gPj4+ICAgICAgX19hdHRy
aWJ1dGVfXyAoKF9fbm90aHJvd19fICwgX19sZWFmX18pKSBfX2F0dHJpYnV0ZV9fICgoX19wdXJl
X18pKSBfX2F0dHJpYnV0ZV9fICgoX19ub25udWxsX18gKDEsIDIpKSk7Cj4gPj4+ICMgOTIgIi91
c3IvaW5jbHVkZS9zdHJpbmcuaCIgMyA0Cj4gPj4+IGV4dGVybiB2b2lkICptZW1jaHIgKGNvbnN0
IHZvaWQgKl9fcywgaW50IF9fYywgc2l6ZV90IF9fbikKPiA+Pj4gICAgICAgX19hdHRyaWJ1dGVf
XyAoKF9fbm90aHJvd19fICwgX19sZWFmX18pKSBfX2F0dHJpYnV0ZV9fICgoX19wdXJlX18pKSBf
X2F0dHJpYnV0ZV9fICgoX19ub25udWxsX18gKDEpKSk7Cj4gPj4+Cj4gPj4+Cj4gPj4+ICMgMTIz
ICIvdXNyL2luY2x1ZGUvc3RyaW5nLmgiIDMgNAo+ID4+Pgo+ID4+Pgo+ID4+PiBleHRlcm4gY2hh
ciAqc3RyY3B5IChjaGFyICpfX3Jlc3RyaWN0IF9fZGVzdCwgY29uc3QgY2hhciAqX19yZXN0cmlj
dCBfX3NyYykKPiA+Pj4gICAgICBfX2F0dHJpYnV0ZV9fICgoX19ub3Rocm93X18gLCBfX2xlYWZf
XykpIF9fYXR0cmlidXRlX18gKChfX25vbm51bGxfXyAoMSwgMikpKTsKPiA+Pj4KPiA+Pj4gZXh0
ZXJuIGNoYXIgKnN0cm5jcHkgKGNoYXIgKl9fcmVzdHJpY3QgX19kZXN0LAo+ID4+PiAgICAgICAg
IGNvbnN0IGNoYXIgKl9fcmVzdHJpY3QgX19zcmMsIHNpemVfdCBfX24pCj4gPj4+ICAgICAgX19h
dHRyaWJ1dGVfXyAoKF9fbm90aHJvd19fICwgX19sZWFmX18pKSBfX2F0dHJpYnV0ZV9fICgoX19u
b25udWxsX18gKDEsIDIpKSk7Cj4gPj4+Cj4gPj4+Cj4gPj4+IGV4dGVybiBjaGFyICpzdHJjYXQg
KGNoYXIgKl9fcmVzdHJpY3QgX19kZXN0LCBjb25zdCBjaGFyICpfX3Jlc3RyaWN0IF9fc3JjKQo+
ID4+PiAgICAgIF9fYXR0cmlidXRlX18gKChfX25vdGhyb3dfXyAsIF9fbGVhZl9fKSkgX19hdHRy
aWJ1dGVfXyAoKF9fbm9ubnVsbF9fICgxLCAyKSkpOwo+ID4+Pgo+ID4+PiBleHRlcm4gY2hhciAq
c3RybmNhdCAoY2hhciAqX19yZXN0cmljdCBfX2Rlc3QsIGNvbnN0IGNoYXIgKl9fcmVzdHJpY3Qg
X19zcmMsCj4gPj4+ICAgICAgICAgc2l6ZV90IF9fbikgX19hdHRyaWJ1dGVfXyAoKF9fbm90aHJv
d19fICwgX19sZWFmX18pKSBfX2F0dHJpYnV0ZV9fICgoX19ub25udWxsX18gKDEsIDIpKSk7Cj4g
Pj4+Cj4gPj4+Cj4gPj4+IGV4dGVybiBpbnQgc3RyY21wIChjb25zdCBjaGFyICpfX3MxLCBjb25z
dCBjaGFyICpfX3MyKQo+ID4+PiAgICAgIF9fYXR0cmlidXRlX18gKChfX25vdGhyb3dfXyAsIF9f
bGVhZl9fKSkgX19hdHRyaWJ1dGVfXyAoKF9fcHVyZV9fKSkgX19hdHRyaWJ1dGVfXyAoKF9fbm9u
bnVsbF9fICgxLCAyKSkpOwo+ID4+Pgo+ID4+PiBleHRlcm4gaW50IHN0cm5jbXAgKGNvbnN0IGNo
YXIgKl9fczEsIGNvbnN0IGNoYXIgKl9fczIsIHNpemVfdCBfX24pCj4gPj4+ICAgICAgX19hdHRy
aWJ1dGVfXyAoKF9fbm90aHJvd19fICwgX19sZWFmX18pKSBfX2F0dHJpYnV0ZV9fICgoX19wdXJl
X18pKSBfX2F0dHJpYnV0ZV9fICgoX19ub25udWxsX18gKDEsIDIpKSk7Cj4gPj4+Cj4gPj4+Cj4g
Pj4+IGV4dGVybiBpbnQgc3RyY29sbCAoY29uc3QgY2hhciAqX19zMSwgY29uc3QgY2hhciAqX19z
MikKPiA+Pj4gICAgICBfX2F0dHJpYnV0ZV9fICgoX19ub3Rocm93X18gLCBfX2xlYWZfXykpIF9f
YXR0cmlidXRlX18gKChfX3B1cmVfXykpIF9fYXR0cmlidXRlX18gKChfX25vbm51bGxfXyAoMSwg
MikpKTsKPiA+Pj4KPiA+Pj4gZXh0ZXJuIHNpemVfdCBzdHJ4ZnJtIChjaGFyICpfX3Jlc3RyaWN0
IF9fZGVzdCwKPiA+Pj4gICAgICAgICAgY29uc3QgY2hhciAqX19yZXN0cmljdCBfX3NyYywgc2l6
ZV90IF9fbikKPiA+Pj4gICAgICBfX2F0dHJpYnV0ZV9fICgoX19ub3Rocm93X18gLCBfX2xlYWZf
XykpIF9fYXR0cmlidXRlX18gKChfX25vbm51bGxfXyAoMikpKTsKPiA+Pj4KPiA+Pj4gIyAxNjIg
Ii91c3IvaW5jbHVkZS9zdHJpbmcuaCIgMyA0Cj4gPj4+IGV4dGVybiBpbnQgc3RyY29sbF9sIChj
b25zdCBjaGFyICpfX3MxLCBjb25zdCBjaGFyICpfX3MyLCBfX2xvY2FsZV90IF9fbCkKPiA+Pj4g
ICAgICBfX2F0dHJpYnV0ZV9fICgoX19ub3Rocm93X18gLCBfX2xlYWZfXykpIF9fYXR0cmlidXRl
X18gKChfX3B1cmVfXykpIF9fYXR0cmlidXRlX18gKChfX25vbm51bGxfXyAoMSwgMiwgMykpKTsK
PiA+Pj4KPiA+Pj4gZXh0ZXJuIHNpemVfdCBzdHJ4ZnJtX2wgKGNoYXIgKl9fZGVzdCwgY29uc3Qg
Y2hhciAqX19zcmMsIHNpemVfdCBfX24sCj4gPj4+ICAgICBfX2xvY2FsZV90IF9fbCkgX19hdHRy
aWJ1dGVfXyAoKF9fbm90aHJvd19fICwgX19sZWFmX18pKSBfX2F0dHJpYnV0ZV9fICgoX19ub25u
dWxsX18gKDIsIDQpKSk7Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+IGV4dGVybiBjaGFy
ICpzdHJkdXAgKGNvbnN0IGNoYXIgKl9fcykKPiA+Pj4gICAgICBfX2F0dHJpYnV0ZV9fICgoX19u
b3Rocm93X18gLCBfX2xlYWZfXykpIF9fYXR0cmlidXRlX18gKChfX21hbGxvY19fKSkgX19hdHRy
aWJ1dGVfXyAoKF9fbm9ubnVsbF9fICgxKSkpOwo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+
Pgo+ID4+Pgo+ID4+PiBleHRlcm4gY2hhciAqc3RybmR1cCAoY29uc3QgY2hhciAqX19zdHJpbmcs
IHNpemVfdCBfX24pCj4gPj4+ICAgICAgX19hdHRyaWJ1dGVfXyAoKF9fbm90aHJvd19fICwgX19s
ZWFmX18pKSBfX2F0dHJpYnV0ZV9fICgoX19tYWxsb2NfXykpIF9fYXR0cmlidXRlX18gKChfX25v
bm51bGxfXyAoMSkpKTsKPiA+Pj4gIyAyMDYgIi91c3IvaW5jbHVkZS9zdHJpbmcuaCIgMyA0Cj4g
Pj4+Cj4gPj4+ICMgMjMxICIvdXNyL2luY2x1ZGUvc3RyaW5nLmgiIDMgNAo+ID4+PiBleHRlcm4g
Y2hhciAqc3RyY2hyIChjb25zdCBjaGFyICpfX3MsIGludCBfX2MpCj4gPj4+ICAgICAgX19hdHRy
aWJ1dGVfXyAoKF9fbm90aHJvd19fICwgX19sZWFmX18pKSBfX2F0dHJpYnV0ZV9fICgoX19wdXJl
X18pKSBfX2F0dHJpYnV0ZV9fICgoX19ub25udWxsX18gKDEpKSk7Cj4gPj4+ICMgMjU4ICIvdXNy
L2luY2x1ZGUvc3RyaW5nLmgiIDMgNAo+ID4+PiBleHRlcm4gY2hhciAqc3RycmNociAoY29uc3Qg
Y2hhciAqX19zLCBpbnQgX19jKQo+ID4+PiAgICAgIF9fYXR0cmlidXRlX18gKChfX25vdGhyb3df
XyAsIF9fbGVhZl9fKSkgX19hdHRyaWJ1dGVfXyAoKF9fcHVyZV9fKSkgX19hdHRyaWJ1dGVfXyAo
KF9fbm9ubnVsbF9fICgxKSkpOwo+ID4+Pgo+ID4+Pgo+ID4+PiAjIDI3NyAiL3Vzci9pbmNsdWRl
L3N0cmluZy5oIiAzIDQKPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4gZXh0ZXJuIHNpemVfdCBzdHJj
c3BuIChjb25zdCBjaGFyICpfX3MsIGNvbnN0IGNoYXIgKl9fcmVqZWN0KQo+ID4+PiAgICAgIF9f
YXR0cmlidXRlX18gKChfX25vdGhyb3dfXyAsIF9fbGVhZl9fKSkgX19hdHRyaWJ1dGVfXyAoKF9f
cHVyZV9fKSkgX19hdHRyaWJ1dGVfXyAoKF9fbm9ubnVsbF9fICgxLCAyKSkpOwo+ID4+Pgo+ID4+
Pgo+ID4+PiBleHRlcm4gc2l6ZV90IHN0cnNwbiAoY29uc3QgY2hhciAqX19zLCBjb25zdCBjaGFy
ICpfX2FjY2VwdCkKPiA+Pj4gICAgICBfX2F0dHJpYnV0ZV9fICgoX19ub3Rocm93X18gLCBfX2xl
YWZfXykpIF9fYXR0cmlidXRlX18gKChfX3B1cmVfXykpIF9fYXR0cmlidXRlX18gKChfX25vbm51
bGxfXyAoMSwgMikpKTsKPiA+Pj4gIyAzMTAgIi91c3IvaW5jbHVkZS9zdHJpbmcuaCIgMyA0Cj4g
Pj4+IGV4dGVybiBjaGFyICpzdHJwYnJrIChjb25zdCBjaGFyICpfX3MsIGNvbnN0IGNoYXIgKl9f
YWNjZXB0KQo+ID4+PiAgICAgIF9fYXR0cmlidXRlX18gKChfX25vdGhyb3dfXyAsIF9fbGVhZl9f
KSkgX19hdHRyaWJ1dGVfXyAoKF9fcHVyZV9fKSkgX19hdHRyaWJ1dGVfXyAoKF9fbm9ubnVsbF9f
ICgxLCAyKSkpOwo+ID4+PiAjIDMzNyAiL3Vzci9pbmNsdWRlL3N0cmluZy5oIiAzIDQKPiA+Pj4g
ZXh0ZXJuIGNoYXIgKnN0cnN0ciAoY29uc3QgY2hhciAqX19oYXlzdGFjaywgY29uc3QgY2hhciAq
X19uZWVkbGUpCj4gPj4+ICAgICAgX19hdHRyaWJ1dGVfXyAoKF9fbm90aHJvd19fICwgX19sZWFm
X18pKSBfX2F0dHJpYnV0ZV9fICgoX19wdXJlX18pKSBfX2F0dHJpYnV0ZV9fICgoX19ub25udWxs
X18gKDEsIDIpKSk7Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+IGV4dGVybiBjaGFyICpz
dHJ0b2sgKGNoYXIgKl9fcmVzdHJpY3QgX19zLCBjb25zdCBjaGFyICpfX3Jlc3RyaWN0IF9fZGVs
aW0pCj4gPj4+ICAgICAgX19hdHRyaWJ1dGVfXyAoKF9fbm90aHJvd19fICwgX19sZWFmX18pKSBf
X2F0dHJpYnV0ZV9fICgoX19ub25udWxsX18gKDIpKSk7Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+
Cj4gPj4+IGV4dGVybiBjaGFyICpfX3N0cnRva19yIChjaGFyICpfX3Jlc3RyaWN0IF9fcywKPiA+
Pj4gICAgIGNvbnN0IGNoYXIgKl9fcmVzdHJpY3QgX19kZWxpbSwKPiA+Pj4gICAgIGNoYXIgKipf
X3Jlc3RyaWN0IF9fc2F2ZV9wdHIpCj4gPj4+ICAgICAgX19hdHRyaWJ1dGVfXyAoKF9fbm90aHJv
d19fICwgX19sZWFmX18pKSBfX2F0dHJpYnV0ZV9fICgoX19ub25udWxsX18gKDIsIDMpKSk7Cj4g
Pj4+Cj4gPj4+IGV4dGVybiBjaGFyICpzdHJ0b2tfciAoY2hhciAqX19yZXN0cmljdCBfX3MsIGNv
bnN0IGNoYXIgKl9fcmVzdHJpY3QgX19kZWxpbSwKPiA+Pj4gICAgICAgICAgY2hhciAqKl9fcmVz
dHJpY3QgX19zYXZlX3B0cikKPiA+Pj4gICAgICBfX2F0dHJpYnV0ZV9fICgoX19ub3Rocm93X18g
LCBfX2xlYWZfXykpIF9fYXR0cmlidXRlX18gKChfX25vbm51bGxfXyAoMiwgMykpKTsKPiA+Pj4g
IyAzOTIgIi91c3IvaW5jbHVkZS9zdHJpbmcuaCIgMyA0Cj4gPj4+Cj4gPj4+Cj4gPj4+IGV4dGVy
biBzaXplX3Qgc3RybGVuIChjb25zdCBjaGFyICpfX3MpCj4gPj4+ICAgICAgX19hdHRyaWJ1dGVf
XyAoKF9fbm90aHJvd19fICwgX19sZWFmX18pKSBfX2F0dHJpYnV0ZV9fICgoX19wdXJlX18pKSBf
X2F0dHJpYnV0ZV9fICgoX19ub25udWxsX18gKDEpKSk7Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+
Cj4gPj4+Cj4gPj4+IGV4dGVybiBzaXplX3Qgc3RybmxlbiAoY29uc3QgY2hhciAqX19zdHJpbmcs
IHNpemVfdCBfX21heGxlbikKPiA+Pj4gICAgICBfX2F0dHJpYnV0ZV9fICgoX19ub3Rocm93X18g
LCBfX2xlYWZfXykpIF9fYXR0cmlidXRlX18gKChfX3B1cmVfXykpIF9fYXR0cmlidXRlX18gKChf
X25vbm51bGxfXyAoMSkpKTsKPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4gZXh0
ZXJuIGNoYXIgKnN0cmVycm9yIChpbnQgX19lcnJudW0pIF9fYXR0cmlidXRlX18gKChfX25vdGhy
b3dfXyAsIF9fbGVhZl9fKSk7Cj4gPj4+Cj4gPj4+ICMgNDIyICIvdXNyL2luY2x1ZGUvc3RyaW5n
LmgiIDMgNAo+ID4+PiBleHRlcm4gaW50IHN0cmVycm9yX3IgKGludCBfX2Vycm51bSwgY2hhciAq
X19idWYsIHNpemVfdCBfX2J1ZmxlbikgX19hc21fXyAoIiIgIl9feHBnX3N0cmVycm9yX3IiKSBf
X2F0dHJpYnV0ZV9fICgoX19ub3Rocm93X18gLCBfX2xlYWZfXykpCj4gPj4+Cj4gPj4+ICAgICAg
ICAgICAgICAgICAgICAgICAgIF9fYXR0cmlidXRlX18gKChfX25vbm51bGxfXyAoMikpKTsKPiA+
Pj4gIyA0NDAgIi91c3IvaW5jbHVkZS9zdHJpbmcuaCIgMyA0Cj4gPj4+IGV4dGVybiBjaGFyICpz
dHJlcnJvcl9sIChpbnQgX19lcnJudW0sIF9fbG9jYWxlX3QgX19sKSBfX2F0dHJpYnV0ZV9fICgo
X19ub3Rocm93X18gLCBfX2xlYWZfXykpOwo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+Pgo+
ID4+PiBleHRlcm4gdm9pZCBfX2J6ZXJvICh2b2lkICpfX3MsIHNpemVfdCBfX24pIF9fYXR0cmli
dXRlX18gKChfX25vdGhyb3dfXyAsIF9fbGVhZl9fKSkgX19hdHRyaWJ1dGVfXyAoKF9fbm9ubnVs
bF9fICgxKSkpOwo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+PiBleHRlcm4gdm9pZCBiY29weSAoY29u
c3Qgdm9pZCAqX19zcmMsIHZvaWQgKl9fZGVzdCwgc2l6ZV90IF9fbikKPiA+Pj4gICAgICBfX2F0
dHJpYnV0ZV9fICgoX19ub3Rocm93X18gLCBfX2xlYWZfXykpIF9fYXR0cmlidXRlX18gKChfX25v
bm51bGxfXyAoMSwgMikpKTsKPiA+Pj4KPiA+Pj4KPiA+Pj4gZXh0ZXJuIHZvaWQgYnplcm8gKHZv
aWQgKl9fcywgc2l6ZV90IF9fbikgX19hdHRyaWJ1dGVfXyAoKF9fbm90aHJvd19fICwgX19sZWFm
X18pKSBfX2F0dHJpYnV0ZV9fICgoX19ub25udWxsX18gKDEpKSk7Cj4gPj4+Cj4gPj4+Cj4gPj4+
IGV4dGVybiBpbnQgYmNtcCAoY29uc3Qgdm9pZCAqX19zMSwgY29uc3Qgdm9pZCAqX19zMiwgc2l6
ZV90IF9fbikKPiA+Pj4gICAgICBfX2F0dHJpYnV0ZV9fICgoX19ub3Rocm93X18gLCBfX2xlYWZf
XykpIF9fYXR0cmlidXRlX18gKChfX3B1cmVfXykpIF9fYXR0cmlidXRlX18gKChfX25vbm51bGxf
XyAoMSwgMikpKTsKPiA+Pj4gIyA0ODQgIi91c3IvaW5jbHVkZS9zdHJpbmcuaCIgMyA0Cj4gPj4+
IGV4dGVybiBjaGFyICppbmRleCAoY29uc3QgY2hhciAqX19zLCBpbnQgX19jKQo+ID4+PiAgICAg
IF9fYXR0cmlidXRlX18gKChfX25vdGhyb3dfXyAsIF9fbGVhZl9fKSkgX19hdHRyaWJ1dGVfXyAo
KF9fcHVyZV9fKSkgX19hdHRyaWJ1dGVfXyAoKF9fbm9ubnVsbF9fICgxKSkpOwo+ID4+PiAjIDUx
MiAiL3Vzci9pbmNsdWRlL3N0cmluZy5oIiAzIDQKPiA+Pj4gZXh0ZXJuIGNoYXIgKnJpbmRleCAo
Y29uc3QgY2hhciAqX19zLCBpbnQgX19jKQo+ID4+PiAgICAgIF9fYXR0cmlidXRlX18gKChfX25v
dGhyb3dfXyAsIF9fbGVhZl9fKSkgX19hdHRyaWJ1dGVfXyAoKF9fcHVyZV9fKSkgX19hdHRyaWJ1
dGVfXyAoKF9fbm9ubnVsbF9fICgxKSkpOwo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+PiBl
eHRlcm4gaW50IGZmcyAoaW50IF9faSkgX19hdHRyaWJ1dGVfXyAoKF9fbm90aHJvd19fICwgX19s
ZWFmX18pKSBfX2F0dHJpYnV0ZV9fICgoX19jb25zdF9fKSk7Cj4gPj4+ICMgNTI5ICIvdXNyL2lu
Y2x1ZGUvc3RyaW5nLmgiIDMgNAo+ID4+PiBleHRlcm4gaW50IHN0cmNhc2VjbXAgKGNvbnN0IGNo
YXIgKl9fczEsIGNvbnN0IGNoYXIgKl9fczIpCj4gPj4+ICAgICAgX19hdHRyaWJ1dGVfXyAoKF9f
bm90aHJvd19fICwgX19sZWFmX18pKSBfX2F0dHJpYnV0ZV9fICgoX19wdXJlX18pKSBfX2F0dHJp
YnV0ZV9fICgoX19ub25udWxsX18gKDEsIDIpKSk7Cj4gPj4+Cj4gPj4+Cj4gPj4+IGV4dGVybiBp
bnQgc3RybmNhc2VjbXAgKGNvbnN0IGNoYXIgKl9fczEsIGNvbnN0IGNoYXIgKl9fczIsIHNpemVf
dCBfX24pCj4gPj4+ICAgICAgX19hdHRyaWJ1dGVfXyAoKF9fbm90aHJvd19fICwgX19sZWFmX18p
KSBfX2F0dHJpYnV0ZV9fICgoX19wdXJlX18pKSBfX2F0dHJpYnV0ZV9fICgoX19ub25udWxsX18g
KDEsIDIpKSk7Cj4gPj4+ICMgNTUyICIvdXNyL2luY2x1ZGUvc3RyaW5nLmgiIDMgNAo+ID4+PiBl
eHRlcm4gY2hhciAqc3Ryc2VwIChjaGFyICoqX19yZXN0cmljdCBfX3N0cmluZ3AsCj4gPj4+ICAg
ICAgICBjb25zdCBjaGFyICpfX3Jlc3RyaWN0IF9fZGVsaW0pCj4gPj4+ICAgICAgX19hdHRyaWJ1
dGVfXyAoKF9fbm90aHJvd19fICwgX19sZWFmX18pKSBfX2F0dHJpYnV0ZV9fICgoX19ub25udWxs
X18gKDEsIDIpKSk7Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+IGV4dGVybiBjaGFyICpz
dHJzaWduYWwgKGludCBfX3NpZykgX19hdHRyaWJ1dGVfXyAoKF9fbm90aHJvd19fICwgX19sZWFm
X18pKTsKPiA+Pj4KPiA+Pj4KPiA+Pj4gZXh0ZXJuIGNoYXIgKl9fc3RwY3B5IChjaGFyICpfX3Jl
c3RyaWN0IF9fZGVzdCwgY29uc3QgY2hhciAqX19yZXN0cmljdCBfX3NyYykKPiA+Pj4gICAgICBf
X2F0dHJpYnV0ZV9fICgoX19ub3Rocm93X18gLCBfX2xlYWZfXykpIF9fYXR0cmlidXRlX18gKChf
X25vbm51bGxfXyAoMSwgMikpKTsKPiA+Pj4gZXh0ZXJuIGNoYXIgKnN0cGNweSAoY2hhciAqX19y
ZXN0cmljdCBfX2Rlc3QsIGNvbnN0IGNoYXIgKl9fcmVzdHJpY3QgX19zcmMpCj4gPj4+ICAgICAg
X19hdHRyaWJ1dGVfXyAoKF9fbm90aHJvd19fICwgX19sZWFmX18pKSBfX2F0dHJpYnV0ZV9fICgo
X19ub25udWxsX18gKDEsIDIpKSk7Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+IGV4dGVybiBjaGFy
ICpfX3N0cG5jcHkgKGNoYXIgKl9fcmVzdHJpY3QgX19kZXN0LAo+ID4+PiAgICBjb25zdCBjaGFy
ICpfX3Jlc3RyaWN0IF9fc3JjLCBzaXplX3QgX19uKQo+ID4+PiAgICAgIF9fYXR0cmlidXRlX18g
KChfX25vdGhyb3dfXyAsIF9fbGVhZl9fKSkgX19hdHRyaWJ1dGVfXyAoKF9fbm9ubnVsbF9fICgx
LCAyKSkpOwo+ID4+PiBleHRlcm4gY2hhciAqc3RwbmNweSAoY2hhciAqX19yZXN0cmljdCBfX2Rl
c3QsCj4gPj4+ICAgICAgICAgY29uc3QgY2hhciAqX19yZXN0cmljdCBfX3NyYywgc2l6ZV90IF9f
bikKPiA+Pj4gICAgICBfX2F0dHJpYnV0ZV9fICgoX19ub3Rocm93X18gLCBfX2xlYWZfXykpIF9f
YXR0cmlidXRlX18gKChfX25vbm51bGxfXyAoMSwgMikpKTsKPiA+Pj4gIyA2NTggIi91c3IvaW5j
bHVkZS9zdHJpbmcuaCIgMyA0Cj4gPj4+Cj4gPj4+ICMgNDYgIm1hY2hpbmUuYyIgMgo+ID4+PiAj
IDEgIi91c3IvaW5jbHVkZS90aW1lLmgiIDEgMyA0Cj4gPj4+ICMgMjkgIi91c3IvaW5jbHVkZS90
aW1lLmgiIDMgNAo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+
Pgo+ID4+PiAjIDEgIi91c3IvbGliL2djYy9pNjg2LXJlZGhhdC1saW51eC82LjEuMS9pbmNsdWRl
L3N0ZGRlZi5oIiAxIDMgNAo+ID4+PiAjIDM4ICIvdXNyL2luY2x1ZGUvdGltZS5oIiAyIDMgNAo+
ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+PiAjIDEgIi91c3IvaW5jbHVkZS9iaXRzL3RpbWUuaCIgMSAz
IDQKPiA+Pj4gIyA0MiAiL3Vzci9pbmNsdWRlL3RpbWUuaCIgMiAzIDQKPiA+Pj4gIyAxMzEgIi91
c3IvaW5jbHVkZS90aW1lLmgiIDMgNAo+ID4+Pgo+ID4+Pgo+ID4+PiBzdHJ1Y3QgdG0KPiA+Pj4g
ewo+ID4+PiAgIGludCB0bV9zZWM7Cj4gPj4+ICAgaW50IHRtX21pbjsKPiA+Pj4gICBpbnQgdG1f
aG91cjsKPiA+Pj4gICBpbnQgdG1fbWRheTsKPiA+Pj4gICBpbnQgdG1fbW9uOwo+ID4+PiAgIGlu
dCB0bV95ZWFyOwo+ID4+PiAgIGludCB0bV93ZGF5Owo+ID4+PiAgIGludCB0bV95ZGF5Owo+ID4+
PiAgIGludCB0bV9pc2RzdDsKPiA+Pj4KPiA+Pj4KPiA+Pj4gICBsb25nIGludCB0bV9nbXRvZmY7
Cj4gPj4+ICAgY29uc3QgY2hhciAqdG1fem9uZTsKPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+
Pj4gfTsKPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+
Pj4gc3RydWN0IGl0aW1lcnNwZWMKPiA+Pj4gICB7Cj4gPj4+ICAgICBzdHJ1Y3QgdGltZXNwZWMg
aXRfaW50ZXJ2YWw7Cj4gPj4+ICAgICBzdHJ1Y3QgdGltZXNwZWMgaXRfdmFsdWU7Cj4gPj4+ICAg
fTsKPiA+Pj4KPiA+Pj4KPiA+Pj4gc3RydWN0IHNpZ2V2ZW50Owo+ID4+PiAjIDE4NiAiL3Vzci9p
bmNsdWRlL3RpbWUuaCIgMyA0Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+IGV4dGVybiBjbG9ja190
IGNsb2NrICh2b2lkKSBfX2F0dHJpYnV0ZV9fICgoX19ub3Rocm93X18gLCBfX2xlYWZfXykpOwo+
ID4+Pgo+ID4+Pgo+ID4+PiBleHRlcm4gdGltZV90IHRpbWUgKHRpbWVfdCAqX190aW1lcikgX19h
dHRyaWJ1dGVfXyAoKF9fbm90aHJvd19fICwgX19sZWFmX18pKTsKPiA+Pj4KPiA+Pj4KPiA+Pj4g
ZXh0ZXJuIGRvdWJsZSBkaWZmdGltZSAodGltZV90IF9fdGltZTEsIHRpbWVfdCBfX3RpbWUwKQo+
ID4+PiAgICAgIF9fYXR0cmlidXRlX18gKChfX25vdGhyb3dfXyAsIF9fbGVhZl9fKSkgX19hdHRy
aWJ1dGVfXyAoKF9fY29uc3RfXykpOwo+ID4+Pgo+ID4+Pgo+ID4+PiBleHRlcm4gdGltZV90IG1r
dGltZSAoc3RydWN0IHRtICpfX3RwKSBfX2F0dHJpYnV0ZV9fICgoX19ub3Rocm93X18gLCBfX2xl
YWZfXykpOwo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+PiBleHRlcm4gc2l6ZV90
IHN0cmZ0aW1lIChjaGFyICpfX3Jlc3RyaWN0IF9fcywgc2l6ZV90IF9fbWF4c2l6ZSwKPiA+Pj4g
ICAgY29uc3QgY2hhciAqX19yZXN0cmljdCBfX2Zvcm1hdCwKPiA+Pj4gICAgY29uc3Qgc3RydWN0
IHRtICpfX3Jlc3RyaWN0IF9fdHApIF9fYXR0cmlidXRlX18gKChfX25vdGhyb3dfXyAsIF9fbGVh
Zl9fKSk7Cj4gPj4+Cj4gPj4+ICMgMjIzICIvdXNyL2luY2x1ZGUvdGltZS5oIiAzIDQKPiA+Pj4g
ZXh0ZXJuIHNpemVfdCBzdHJmdGltZV9sIChjaGFyICpfX3Jlc3RyaWN0IF9fcywgc2l6ZV90IF9f
bWF4c2l6ZSwKPiA+Pj4gICAgICBjb25zdCBjaGFyICpfX3Jlc3RyaWN0IF9fZm9ybWF0LAo+ID4+
PiAgICAgIGNvbnN0IHN0cnVjdCB0bSAqX19yZXN0cmljdCBfX3RwLAo+ID4+PiAgICAgIF9fbG9j
YWxlX3QgX19sb2MpIF9fYXR0cmlidXRlX18gKChfX25vdGhyb3dfXyAsIF9fbGVhZl9fKSk7Cj4g
Pj4+ICMgMjM2ICIvdXNyL2luY2x1ZGUvdGltZS5oIiAzIDQKPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+
Pj4gZXh0ZXJuIHN0cnVjdCB0bSAqZ210aW1lIChjb25zdCB0aW1lX3QgKl9fdGltZXIpIF9fYXR0
cmlidXRlX18gKChfX25vdGhyb3dfXyAsIF9fbGVhZl9fKSk7Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4g
Pj4+IGV4dGVybiBzdHJ1Y3QgdG0gKmxvY2FsdGltZSAoY29uc3QgdGltZV90ICpfX3RpbWVyKSBf
X2F0dHJpYnV0ZV9fICgoX19ub3Rocm93X18gLCBfX2xlYWZfXykpOwo+ID4+Pgo+ID4+Pgo+ID4+
Pgo+ID4+Pgo+ID4+Pgo+ID4+PiBleHRlcm4gc3RydWN0IHRtICpnbXRpbWVfciAoY29uc3QgdGlt
ZV90ICpfX3Jlc3RyaWN0IF9fdGltZXIsCj4gPj4+ICAgICAgICBzdHJ1Y3QgdG0gKl9fcmVzdHJp
Y3QgX190cCkgX19hdHRyaWJ1dGVfXyAoKF9fbm90aHJvd19fICwgX19sZWFmX18pKTsKPiA+Pj4K
PiA+Pj4KPiA+Pj4KPiA+Pj4gZXh0ZXJuIHN0cnVjdCB0bSAqbG9jYWx0aW1lX3IgKGNvbnN0IHRp
bWVfdCAqX19yZXN0cmljdCBfX3RpbWVyLAo+ID4+PiAgICAgICAgICAgc3RydWN0IHRtICpfX3Jl
c3RyaWN0IF9fdHApIF9fYXR0cmlidXRlX18gKChfX25vdGhyb3dfXyAsIF9fbGVhZl9fKSk7Cj4g
Pj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+IGV4dGVybiBjaGFyICphc2N0aW1lIChj
b25zdCBzdHJ1Y3QgdG0gKl9fdHApIF9fYXR0cmlidXRlX18gKChfX25vdGhyb3dfXyAsIF9fbGVh
Zl9fKSk7Cj4gPj4+Cj4gPj4+Cj4gPj4+IGV4dGVybiBjaGFyICpjdGltZSAoY29uc3QgdGltZV90
ICpfX3RpbWVyKSBfX2F0dHJpYnV0ZV9fICgoX19ub3Rocm93X18gLCBfX2xlYWZfXykpOwo+ID4+
Pgo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+PiBleHRlcm4gY2hhciAq
YXNjdGltZV9yIChjb25zdCBzdHJ1Y3QgdG0gKl9fcmVzdHJpY3QgX190cCwKPiA+Pj4gICAgY2hh
ciAqX19yZXN0cmljdCBfX2J1ZikgX19hdHRyaWJ1dGVfXyAoKF9fbm90aHJvd19fICwgX19sZWFm
X18pKTsKPiA+Pj4KPiA+Pj4KPiA+Pj4gZXh0ZXJuIGNoYXIgKmN0aW1lX3IgKGNvbnN0IHRpbWVf
dCAqX19yZXN0cmljdCBfX3RpbWVyLAo+ID4+PiAgICAgICAgIGNoYXIgKl9fcmVzdHJpY3QgX19i
dWYpIF9fYXR0cmlidXRlX18gKChfX25vdGhyb3dfXyAsIF9fbGVhZl9fKSk7Cj4gPj4+Cj4gPj4+
Cj4gPj4+Cj4gPj4+Cj4gPj4+IGV4dGVybiBjaGFyICpfX3R6bmFtZVsyXTsKPiA+Pj4gZXh0ZXJu
IGludCBfX2RheWxpZ2h0Owo+ID4+PiBleHRlcm4gbG9uZyBpbnQgX190aW1lem9uZTsKPiA+Pj4K
PiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4gZXh0ZXJuIGNoYXIgKnR6bmFtZVsyXTsKPiA+Pj4KPiA+
Pj4KPiA+Pj4KPiA+Pj4gZXh0ZXJuIHZvaWQgdHpzZXQgKHZvaWQpIF9fYXR0cmlidXRlX18gKChf
X25vdGhyb3dfXyAsIF9fbGVhZl9fKSk7Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+IGV4dGVybiBp
bnQgZGF5bGlnaHQ7Cj4gPj4+IGV4dGVybiBsb25nIGludCB0aW1lem9uZTsKPiA+Pj4KPiA+Pj4K
PiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4gZXh0ZXJuIGludCBzdGltZSAoY29uc3QgdGltZV90ICpf
X3doZW4pIF9fYXR0cmlidXRlX18gKChfX25vdGhyb3dfXyAsIF9fbGVhZl9fKSk7Cj4gPj4+ICMg
MzE5ICIvdXNyL2luY2x1ZGUvdGltZS5oIiAzIDQKPiA+Pj4gZXh0ZXJuIHRpbWVfdCB0aW1lZ20g
KHN0cnVjdCB0bSAqX190cCkgX19hdHRyaWJ1dGVfXyAoKF9fbm90aHJvd19fICwgX19sZWFmX18p
KTsKPiA+Pj4KPiA+Pj4KPiA+Pj4gZXh0ZXJuIHRpbWVfdCB0aW1lbG9jYWwgKHN0cnVjdCB0bSAq
X190cCkgX19hdHRyaWJ1dGVfXyAoKF9fbm90aHJvd19fICwgX19sZWFmX18pKTsKPiA+Pj4KPiA+
Pj4KPiA+Pj4gZXh0ZXJuIGludCBkeXNpemUgKGludCBfX3llYXIpIF9fYXR0cmlidXRlX18gKChf
X25vdGhyb3dfXyAsIF9fbGVhZl9fKSkgX19hdHRyaWJ1dGVfXyAoKF9fY29uc3RfXykpOwo+ID4+
PiAjIDMzNCAiL3Vzci9pbmNsdWRlL3RpbWUuaCIgMyA0Cj4gPj4+IGV4dGVybiBpbnQgbmFub3Ns
ZWVwIChjb25zdCBzdHJ1Y3QgdGltZXNwZWMgKl9fcmVxdWVzdGVkX3RpbWUsCj4gPj4+ICAgICAg
ICAgc3RydWN0IHRpbWVzcGVjICpfX3JlbWFpbmluZyk7Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+
IGV4dGVybiBpbnQgY2xvY2tfZ2V0cmVzIChjbG9ja2lkX3QgX19jbG9ja19pZCwgc3RydWN0IHRp
bWVzcGVjICpfX3JlcykgX19hdHRyaWJ1dGVfXyAoKF9fbm90aHJvd19fICwgX19sZWFmX18pKTsK
PiA+Pj4KPiA+Pj4KPiA+Pj4gZXh0ZXJuIGludCBjbG9ja19nZXR0aW1lIChjbG9ja2lkX3QgX19j
bG9ja19pZCwgc3RydWN0IHRpbWVzcGVjICpfX3RwKSBfX2F0dHJpYnV0ZV9fICgoX19ub3Rocm93
X18gLCBfX2xlYWZfXykpOwo+ID4+Pgo+ID4+Pgo+ID4+PiBleHRlcm4gaW50IGNsb2NrX3NldHRp
bWUgKGNsb2NraWRfdCBfX2Nsb2NrX2lkLCBjb25zdCBzdHJ1Y3QgdGltZXNwZWMgKl9fdHApCj4g
Pj4+ICAgICAgX19hdHRyaWJ1dGVfXyAoKF9fbm90aHJvd19fICwgX19sZWFmX18pKTsKPiA+Pj4K
PiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4gZXh0ZXJuIGludCBjbG9ja19uYW5v
c2xlZXAgKGNsb2NraWRfdCBfX2Nsb2NrX2lkLCBpbnQgX19mbGFncywKPiA+Pj4gICAgICAgIGNv
bnN0IHN0cnVjdCB0aW1lc3BlYyAqX19yZXEsCj4gPj4+ICAgICAgICBzdHJ1Y3QgdGltZXNwZWMg
Kl9fcmVtKTsKPiA+Pj4KPiA+Pj4KPiA+Pj4gZXh0ZXJuIGludCBjbG9ja19nZXRjcHVjbG9ja2lk
IChwaWRfdCBfX3BpZCwgY2xvY2tpZF90ICpfX2Nsb2NrX2lkKSBfX2F0dHJpYnV0ZV9fICgoX19u
b3Rocm93X18gLCBfX2xlYWZfXykpOwo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+PiBleHRl
cm4gaW50IHRpbWVyX2NyZWF0ZSAoY2xvY2tpZF90IF9fY2xvY2tfaWQsCj4gPj4+ICAgICBzdHJ1
Y3Qgc2lnZXZlbnQgKl9fcmVzdHJpY3QgX19ldnAsCj4gPj4+ICAgICB0aW1lcl90ICpfX3Jlc3Ry
aWN0IF9fdGltZXJpZCkgX19hdHRyaWJ1dGVfXyAoKF9fbm90aHJvd19fICwgX19sZWFmX18pKTsK
PiA+Pj4KPiA+Pj4KPiA+Pj4gZXh0ZXJuIGludCB0aW1lcl9kZWxldGUgKHRpbWVyX3QgX190aW1l
cmlkKSBfX2F0dHJpYnV0ZV9fICgoX19ub3Rocm93X18gLCBfX2xlYWZfXykpOwo+ID4+Pgo+ID4+
Pgo+ID4+PiBleHRlcm4gaW50IHRpbWVyX3NldHRpbWUgKHRpbWVyX3QgX190aW1lcmlkLCBpbnQg
X19mbGFncywKPiA+Pj4gICAgICBjb25zdCBzdHJ1Y3QgaXRpbWVyc3BlYyAqX19yZXN0cmljdCBf
X3ZhbHVlLAo+ID4+PiAgICAgIHN0cnVjdCBpdGltZXJzcGVjICpfX3Jlc3RyaWN0IF9fb3ZhbHVl
KSBfX2F0dHJpYnV0ZV9fICgoX19ub3Rocm93X18gLCBfX2xlYWZfXykpOwo+ID4+Pgo+ID4+Pgo+
ID4+PiBleHRlcm4gaW50IHRpbWVyX2dldHRpbWUgKHRpbWVyX3QgX190aW1lcmlkLCBzdHJ1Y3Qg
aXRpbWVyc3BlYyAqX192YWx1ZSkKPiA+Pj4gICAgICBfX2F0dHJpYnV0ZV9fICgoX19ub3Rocm93
X18gLCBfX2xlYWZfXykpOwo+ID4+Pgo+ID4+Pgo+ID4+PiBleHRlcm4gaW50IHRpbWVyX2dldG92
ZXJydW4gKHRpbWVyX3QgX190aW1lcmlkKSBfX2F0dHJpYnV0ZV9fICgoX19ub3Rocm93X18gLCBf
X2xlYWZfXykpOwo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+PiBleHRlcm4gaW50
IHRpbWVzcGVjX2dldCAoc3RydWN0IHRpbWVzcGVjICpfX3RzLCBpbnQgX19iYXNlKQo+ID4+PiAg
ICAgIF9fYXR0cmlidXRlX18gKChfX25vdGhyb3dfXyAsIF9fbGVhZl9fKSkgX19hdHRyaWJ1dGVf
XyAoKF9fbm9ubnVsbF9fICgxKSkpOwo+ID4+PiAjIDQzMCAiL3Vzci9pbmNsdWRlL3RpbWUuaCIg
MyA0Cj4gPj4+Cj4gPj4+ICMgNDcgIm1hY2hpbmUuYyIgMgo+ID4+Pgo+ID4+PiAjIDEgIi91c3Iv
aW5jbHVkZS9zeXMvc3RhdC5oIiAxIDMgNAo+ID4+PiAjIDEwMiAiL3Vzci9pbmNsdWRlL3N5cy9z
dGF0LmgiIDMgNAo+ID4+Pgo+ID4+Pgo+ID4+PiAjIDEgIi91c3IvaW5jbHVkZS9iaXRzL3N0YXQu
aCIgMSAzIDQKPiA+Pj4gIyAxMDUgIi91c3IvaW5jbHVkZS9zeXMvc3RhdC5oIiAyIDMgNAo+ID4+
PiAjIDIwOCAiL3Vzci9pbmNsdWRlL3N5cy9zdGF0LmgiIDMgNAo+ID4+PiBleHRlcm4gaW50IHN0
YXQgKGNvbnN0IGNoYXIgKl9fcmVzdHJpY3QgX19maWxlLAo+ID4+PiAgICBzdHJ1Y3Qgc3RhdCAq
X19yZXN0cmljdCBfX2J1ZikgX19hdHRyaWJ1dGVfXyAoKF9fbm90aHJvd19fICwgX19sZWFmX18p
KSBfX2F0dHJpYnV0ZV9fICgoX19ub25udWxsX18gKDEsIDIpKSk7Cj4gPj4+Cj4gPj4+Cj4gPj4+
Cj4gPj4+IGV4dGVybiBpbnQgZnN0YXQgKGludCBfX2ZkLCBzdHJ1Y3Qgc3RhdCAqX19idWYpIF9f
YXR0cmlidXRlX18gKChfX25vdGhyb3dfXyAsIF9fbGVhZl9fKSkgX19hdHRyaWJ1dGVfXyAoKF9f
bm9ubnVsbF9fICgyKSkpOwo+ID4+PiAjIDIzNyAiL3Vzci9pbmNsdWRlL3N5cy9zdGF0LmgiIDMg
NAo+ID4+PiBleHRlcm4gaW50IGZzdGF0YXQgKGludCBfX2ZkLCBjb25zdCBjaGFyICpfX3Jlc3Ry
aWN0IF9fZmlsZSwKPiA+Pj4gICAgICAgc3RydWN0IHN0YXQgKl9fcmVzdHJpY3QgX19idWYsIGlu
dCBfX2ZsYWcpCj4gPj4+ICAgICAgX19hdHRyaWJ1dGVfXyAoKF9fbm90aHJvd19fICwgX19sZWFm
X18pKSBfX2F0dHJpYnV0ZV9fICgoX19ub25udWxsX18gKDIsIDMpKSk7Cj4gPj4+ICMgMjYyICIv
dXNyL2luY2x1ZGUvc3lzL3N0YXQuaCIgMyA0Cj4gPj4+IGV4dGVybiBpbnQgbHN0YXQgKGNvbnN0
IGNoYXIgKl9fcmVzdHJpY3QgX19maWxlLAo+ID4+PiAgICAgc3RydWN0IHN0YXQgKl9fcmVzdHJp
Y3QgX19idWYpIF9fYXR0cmlidXRlX18gKChfX25vdGhyb3dfXyAsIF9fbGVhZl9fKSkgX19hdHRy
aWJ1dGVfXyAoKF9fbm9ubnVsbF9fICgxLCAyKSkpOwo+ID4+PiAjIDI4MyAiL3Vzci9pbmNsdWRl
L3N5cy9zdGF0LmgiIDMgNAo+ID4+PiBleHRlcm4gaW50IGNobW9kIChjb25zdCBjaGFyICpfX2Zp
bGUsIF9fbW9kZV90IF9fbW9kZSkKPiA+Pj4gICAgICBfX2F0dHJpYnV0ZV9fICgoX19ub3Rocm93
X18gLCBfX2xlYWZfXykpIF9fYXR0cmlidXRlX18gKChfX25vbm51bGxfXyAoMSkpKTsKPiA+Pj4K
PiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4gZXh0ZXJuIGludCBsY2htb2QgKGNvbnN0IGNo
YXIgKl9fZmlsZSwgX19tb2RlX3QgX19tb2RlKQo+ID4+PiAgICAgIF9fYXR0cmlidXRlX18gKChf
X25vdGhyb3dfXyAsIF9fbGVhZl9fKSkgX19hdHRyaWJ1dGVfXyAoKF9fbm9ubnVsbF9fICgxKSkp
Owo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+PiBleHRlcm4gaW50IGZjaG1vZCAoaW50IF9f
ZmQsIF9fbW9kZV90IF9fbW9kZSkgX19hdHRyaWJ1dGVfXyAoKF9fbm90aHJvd19fICwgX19sZWFm
X18pKTsKPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4gZXh0ZXJuIGludCBmY2ht
b2RhdCAoaW50IF9fZmQsIGNvbnN0IGNoYXIgKl9fZmlsZSwgX19tb2RlX3QgX19tb2RlLAo+ID4+
PiAgICAgICAgaW50IF9fZmxhZykKPiA+Pj4gICAgICBfX2F0dHJpYnV0ZV9fICgoX19ub3Rocm93
X18gLCBfX2xlYWZfXykpIF9fYXR0cmlidXRlX18gKChfX25vbm51bGxfXyAoMikpKSA7Cj4gPj4+
Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+IGV4dGVybiBfX21vZGVfdCB1bWFz
ayAoX19tb2RlX3QgX19tYXNrKSBfX2F0dHJpYnV0ZV9fICgoX19ub3Rocm93X18gLCBfX2xlYWZf
XykpOwo+ID4+PiAjIDMyMCAiL3Vzci9pbmNsdWRlL3N5cy9zdGF0LmgiIDMgNAo+ID4+PiBleHRl
cm4gaW50IG1rZGlyIChjb25zdCBjaGFyICpfX3BhdGgsIF9fbW9kZV90IF9fbW9kZSkKPiA+Pj4g
ICAgICBfX2F0dHJpYnV0ZV9fICgoX19ub3Rocm93X18gLCBfX2xlYWZfXykpIF9fYXR0cmlidXRl
X18gKChfX25vbm51bGxfXyAoMSkpKTsKPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+
Pj4gZXh0ZXJuIGludCBta2RpcmF0IChpbnQgX19mZCwgY29uc3QgY2hhciAqX19wYXRoLCBfX21v
ZGVfdCBfX21vZGUpCj4gPj4+ICAgICAgX19hdHRyaWJ1dGVfXyAoKF9fbm90aHJvd19fICwgX19s
ZWFmX18pKSBfX2F0dHJpYnV0ZV9fICgoX19ub25udWxsX18gKDIpKSk7Cj4gPj4+Cj4gPj4+Cj4g
Pj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+IGV4dGVybiBpbnQgbWtub2QgKGNvbnN0IGNoYXIg
Kl9fcGF0aCwgX19tb2RlX3QgX19tb2RlLCBfX2Rldl90IF9fZGV2KQo+ID4+PiAgICAgIF9fYXR0
cmlidXRlX18gKChfX25vdGhyb3dfXyAsIF9fbGVhZl9fKSkgX19hdHRyaWJ1dGVfXyAoKF9fbm9u
bnVsbF9fICgxKSkpOwo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+PiBleHRlcm4g
aW50IG1rbm9kYXQgKGludCBfX2ZkLCBjb25zdCBjaGFyICpfX3BhdGgsIF9fbW9kZV90IF9fbW9k
ZSwKPiA+Pj4gICAgICAgX19kZXZfdCBfX2RldikgX19hdHRyaWJ1dGVfXyAoKF9fbm90aHJvd19f
ICwgX19sZWFmX18pKSBfX2F0dHJpYnV0ZV9fICgoX19ub25udWxsX18gKDIpKSk7Cj4gPj4+Cj4g
Pj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+IGV4dGVybiBpbnQgbWtmaWZvIChjb25zdCBjaGFy
ICpfX3BhdGgsIF9fbW9kZV90IF9fbW9kZSkKPiA+Pj4gICAgICBfX2F0dHJpYnV0ZV9fICgoX19u
b3Rocm93X18gLCBfX2xlYWZfXykpIF9fYXR0cmlidXRlX18gKChfX25vbm51bGxfXyAoMSkpKTsK
PiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4gZXh0ZXJuIGludCBta2ZpZm9hdCAo
aW50IF9fZmQsIGNvbnN0IGNoYXIgKl9fcGF0aCwgX19tb2RlX3QgX19tb2RlKQo+ID4+PiAgICAg
IF9fYXR0cmlidXRlX18gKChfX25vdGhyb3dfXyAsIF9fbGVhZl9fKSkgX19hdHRyaWJ1dGVfXyAo
KF9fbm9ubnVsbF9fICgyKSkpOwo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+PiBl
eHRlcm4gaW50IHV0aW1lbnNhdCAoaW50IF9fZmQsIGNvbnN0IGNoYXIgKl9fcGF0aCwKPiA+Pj4g
ICAgICAgICBjb25zdCBzdHJ1Y3QgdGltZXNwZWMgX190aW1lc1syXSwKPiA+Pj4gICAgICAgICBp
bnQgX19mbGFncykKPiA+Pj4gICAgICBfX2F0dHJpYnV0ZV9fICgoX19ub3Rocm93X18gLCBfX2xl
YWZfXykpIF9fYXR0cmlidXRlX18gKChfX25vbm51bGxfXyAoMikpKTsKPiA+Pj4KPiA+Pj4KPiA+
Pj4KPiA+Pj4KPiA+Pj4gZXh0ZXJuIGludCBmdXRpbWVucyAoaW50IF9fZmQsIGNvbnN0IHN0cnVj
dCB0aW1lc3BlYyBfX3RpbWVzWzJdKSBfX2F0dHJpYnV0ZV9fICgoX19ub3Rocm93X18gLCBfX2xl
YWZfXykpOwo+ID4+PiAjIDM5OCAiL3Vzci9pbmNsdWRlL3N5cy9zdGF0LmgiIDMgNAo+ID4+PiBl
eHRlcm4gaW50IF9fZnhzdGF0IChpbnQgX192ZXIsIGludCBfX2ZpbGRlcywgc3RydWN0IHN0YXQg
Kl9fc3RhdF9idWYpCj4gPj4+ICAgICAgX19hdHRyaWJ1dGVfXyAoKF9fbm90aHJvd19fICwgX19s
ZWFmX18pKSBfX2F0dHJpYnV0ZV9fICgoX19ub25udWxsX18gKDMpKSk7Cj4gPj4+IGV4dGVybiBp
bnQgX194c3RhdCAoaW50IF9fdmVyLCBjb25zdCBjaGFyICpfX2ZpbGVuYW1lLAo+ID4+PiAgICAg
ICBzdHJ1Y3Qgc3RhdCAqX19zdGF0X2J1ZikgX19hdHRyaWJ1dGVfXyAoKF9fbm90aHJvd19fICwg
X19sZWFmX18pKSBfX2F0dHJpYnV0ZV9fICgoX19ub25udWxsX18gKDIsIDMpKSk7Cj4gPj4+IGV4
dGVybiBpbnQgX19seHN0YXQgKGludCBfX3ZlciwgY29uc3QgY2hhciAqX19maWxlbmFtZSwKPiA+
Pj4gICAgICAgIHN0cnVjdCBzdGF0ICpfX3N0YXRfYnVmKSBfX2F0dHJpYnV0ZV9fICgoX19ub3Ro
cm93X18gLCBfX2xlYWZfXykpIF9fYXR0cmlidXRlX18gKChfX25vbm51bGxfXyAoMiwgMykpKTsK
PiA+Pj4gZXh0ZXJuIGludCBfX2Z4c3RhdGF0IChpbnQgX192ZXIsIGludCBfX2ZpbGRlcywgY29u
c3QgY2hhciAqX19maWxlbmFtZSwKPiA+Pj4gICAgICAgICAgc3RydWN0IHN0YXQgKl9fc3RhdF9i
dWYsIGludCBfX2ZsYWcpCj4gPj4+ICAgICAgX19hdHRyaWJ1dGVfXyAoKF9fbm90aHJvd19fICwg
X19sZWFmX18pKSBfX2F0dHJpYnV0ZV9fICgoX19ub25udWxsX18gKDMsIDQpKSk7Cj4gPj4+ICMg
NDQxICIvdXNyL2luY2x1ZGUvc3lzL3N0YXQuaCIgMyA0Cj4gPj4+IGV4dGVybiBpbnQgX194bWtu
b2QgKGludCBfX3ZlciwgY29uc3QgY2hhciAqX19wYXRoLCBfX21vZGVfdCBfX21vZGUsCj4gPj4+
ICAgICAgICBfX2Rldl90ICpfX2RldikgX19hdHRyaWJ1dGVfXyAoKF9fbm90aHJvd19fICwgX19s
ZWFmX18pKSBfX2F0dHJpYnV0ZV9fICgoX19ub25udWxsX18gKDIsIDQpKSk7Cj4gPj4+Cj4gPj4+
IGV4dGVybiBpbnQgX194bWtub2RhdCAoaW50IF9fdmVyLCBpbnQgX19mZCwgY29uc3QgY2hhciAq
X19wYXRoLAo+ID4+PiAgICAgICAgICBfX21vZGVfdCBfX21vZGUsIF9fZGV2X3QgKl9fZGV2KQo+
ID4+PiAgICAgIF9fYXR0cmlidXRlX18gKChfX25vdGhyb3dfXyAsIF9fbGVhZl9fKSkgX19hdHRy
aWJ1dGVfXyAoKF9fbm9ubnVsbF9fICgzLCA1KSkpOwo+ID4+PiAjIDUzMyAiL3Vzci9pbmNsdWRl
L3N5cy9zdGF0LmgiIDMgNAo+ID4+Pgo+ID4+PiAjIDQ5ICJtYWNoaW5lLmMiIDIKPiA+Pj4KPiA+
Pj4gIyAxICJncF9jb25maWcuaCIgMQo+ID4+PiAjIDMyNyAiZ3BfY29uZmlnLmgiCj4gPj4+ICMg
MSAiYXJjaF9kZXAuaCIgMQo+ID4+PiAjIDMyOCAiZ3BfY29uZmlnLmgiIDIKPiA+Pj4gIyAxICJw
bF9sb25nLmgiIDEKPiA+Pj4gIyA0MSAicGxfbG9uZy5oIgo+ID4+PiAjIDEgIi91c3IvbGliL2dj
Yy9pNjg2LXJlZGhhdC1saW51eC82LjEuMS9pbmNsdWRlL3N0ZGludC5oIiAxIDMgNAo+ID4+PiAj
IDkgIi91c3IvbGliL2djYy9pNjg2LXJlZGhhdC1saW51eC82LjEuMS9pbmNsdWRlL3N0ZGludC5o
IiAzIDQKPiA+Pj4gIyAxICIvdXNyL2luY2x1ZGUvc3RkaW50LmgiIDEgMyA0Cj4gPj4+ICMgMjYg
Ii91c3IvaW5jbHVkZS9zdGRpbnQuaCIgMyA0Cj4gPj4+ICMgMSAiL3Vzci9pbmNsdWRlL2JpdHMv
d2NoYXIuaCIgMSAzIDQKPiA+Pj4gIyAyNyAiL3Vzci9pbmNsdWRlL3N0ZGludC5oIiAyIDMgNAo+
ID4+PiAjIDEgIi91c3IvaW5jbHVkZS9iaXRzL3dvcmRzaXplLmgiIDEgMyA0Cj4gPj4+ICMgMjgg
Ii91c3IvaW5jbHVkZS9zdGRpbnQuaCIgMiAzIDQKPiA+Pj4gIyA0OCAiL3Vzci9pbmNsdWRlL3N0
ZGludC5oIiAzIDQKPiA+Pj4gdHlwZWRlZiB1bnNpZ25lZCBjaGFyIHVpbnQ4X3Q7Cj4gPj4+IHR5
cGVkZWYgdW5zaWduZWQgc2hvcnQgaW50IHVpbnQxNl90Owo+ID4+Pgo+ID4+PiB0eXBlZGVmIHVu
c2lnbmVkIGludCB1aW50MzJfdDsKPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4g
X19leHRlbnNpb25fXwo+ID4+PiB0eXBlZGVmIHVuc2lnbmVkIGxvbmcgbG9uZyBpbnQgdWludDY0
X3Q7Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+IHR5cGVkZWYgc2ln
bmVkIGNoYXIgaW50X2xlYXN0OF90Owo+ID4+PiB0eXBlZGVmIHNob3J0IGludCBpbnRfbGVhc3Qx
Nl90Owo+ID4+PiB0eXBlZGVmIGludCBpbnRfbGVhc3QzMl90Owo+ID4+Pgo+ID4+Pgo+ID4+Pgo+
ID4+PiBfX2V4dGVuc2lvbl9fCj4gPj4+IHR5cGVkZWYgbG9uZyBsb25nIGludCBpbnRfbGVhc3Q2
NF90Owo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+PiB0eXBlZGVmIHVuc2lnbmVkIGNoYXIgdWludF9s
ZWFzdDhfdDsKPiA+Pj4gdHlwZWRlZiB1bnNpZ25lZCBzaG9ydCBpbnQgdWludF9sZWFzdDE2X3Q7
Cj4gPj4+IHR5cGVkZWYgdW5zaWduZWQgaW50IHVpbnRfbGVhc3QzMl90Owo+ID4+Pgo+ID4+Pgo+
ID4+Pgo+ID4+PiBfX2V4dGVuc2lvbl9fCj4gPj4+IHR5cGVkZWYgdW5zaWduZWQgbG9uZyBsb25n
IGludCB1aW50X2xlYXN0NjRfdDsKPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4K
PiA+Pj4gdHlwZWRlZiBzaWduZWQgY2hhciBpbnRfZmFzdDhfdDsKPiA+Pj4KPiA+Pj4KPiA+Pj4K
PiA+Pj4KPiA+Pj4KPiA+Pj4gdHlwZWRlZiBpbnQgaW50X2Zhc3QxNl90Owo+ID4+PiB0eXBlZGVm
IGludCBpbnRfZmFzdDMyX3Q7Cj4gPj4+IF9fZXh0ZW5zaW9uX18KPiA+Pj4gdHlwZWRlZiBsb25n
IGxvbmcgaW50IGludF9mYXN0NjRfdDsKPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4gdHlwZWRlZiB1
bnNpZ25lZCBjaGFyIHVpbnRfZmFzdDhfdDsKPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4K
PiA+Pj4gdHlwZWRlZiB1bnNpZ25lZCBpbnQgdWludF9mYXN0MTZfdDsKPiA+Pj4gdHlwZWRlZiB1
bnNpZ25lZCBpbnQgdWludF9mYXN0MzJfdDsKPiA+Pj4gX19leHRlbnNpb25fXwo+ID4+PiB0eXBl
ZGVmIHVuc2lnbmVkIGxvbmcgbG9uZyBpbnQgdWludF9mYXN0NjRfdDsKPiA+Pj4gIyAxMjUgIi91
c3IvaW5jbHVkZS9zdGRpbnQuaCIgMyA0Cj4gPj4+IHR5cGVkZWYgaW50IGludHB0cl90Owo+ID4+
Pgo+ID4+Pgo+ID4+PiB0eXBlZGVmIHVuc2lnbmVkIGludCB1aW50cHRyX3Q7Cj4gPj4+ICMgMTM3
ICIvdXNyL2luY2x1ZGUvc3RkaW50LmgiIDMgNAo+ID4+PiBfX2V4dGVuc2lvbl9fCj4gPj4+IHR5
cGVkZWYgbG9uZyBsb25nIGludCBpbnRtYXhfdDsKPiA+Pj4gX19leHRlbnNpb25fXwo+ID4+PiB0
eXBlZGVmIHVuc2lnbmVkIGxvbmcgbG9uZyBpbnQgdWludG1heF90Owo+ID4+PiAjIDEwICIvdXNy
L2xpYi9nY2MvaTY4Ni1yZWRoYXQtbGludXgvNi4xLjEvaW5jbHVkZS9zdGRpbnQuaCIgMiAzIDQK
PiA+Pj4gIyA0MiAicGxfbG9uZy5oIiAyCj4gPj4+Cj4gPj4+ICMgMSAiZ3BfY29uZmlnLmgiIDEK
PiA+Pj4gIyA0NCAicGxfbG9uZy5oIiAyCj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+ICMg
NDcgInBsX2xvbmcuaCIKPiA+Pj4gdHlwZWRlZiBpbnRwdHJfdCBQbExvbmc7Cj4gPj4+IHR5cGVk
ZWYgdWludHB0cl90IFBsVUxvbmc7Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+ICMgMSAiL3Vzci9p
bmNsdWRlL2ludHR5cGVzLmgiIDEgMyA0Cj4gPj4+ICMgMzQgIi91c3IvaW5jbHVkZS9pbnR0eXBl
cy5oIiAzIDQKPiA+Pj4KPiA+Pj4gIyAzNCAiL3Vzci9pbmNsdWRlL2ludHR5cGVzLmgiIDMgNAo+
ID4+PiB0eXBlZGVmIGxvbmcgaW50IF9fZ3djaGFyX3Q7Cj4gPj4+ICMgMjY2ICIvdXNyL2luY2x1
ZGUvaW50dHlwZXMuaCIgMyA0Cj4gPj4+Cj4gPj4+ICMgMjgwICIvdXNyL2luY2x1ZGUvaW50dHlw
ZXMuaCIgMyA0Cj4gPj4+IHR5cGVkZWYgc3RydWN0Cj4gPj4+ICAgewo+ID4+PiAgICAgX19leHRl
bnNpb25fXyBsb25nIGxvbmcgaW50IHF1b3Q7Cj4gPj4+ICAgICBfX2V4dGVuc2lvbl9fIGxvbmcg
bG9uZyBpbnQgcmVtOwo+ID4+PiAgIH0gaW1heGRpdl90Owo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+
Pgo+ID4+Pgo+ID4+PiBleHRlcm4gaW50bWF4X3QgaW1heGFicyAoaW50bWF4X3QgX19uKSBfX2F0
dHJpYnV0ZV9fICgoX19ub3Rocm93X18gLCBfX2xlYWZfXykpIF9fYXR0cmlidXRlX18gKChfX2Nv
bnN0X18pKTsKPiA+Pj4KPiA+Pj4KPiA+Pj4gZXh0ZXJuIGltYXhkaXZfdCBpbWF4ZGl2IChpbnRt
YXhfdCBfX251bWVyLCBpbnRtYXhfdCBfX2Rlbm9tKQo+ID4+PiAgICAgICBfX2F0dHJpYnV0ZV9f
ICgoX19ub3Rocm93X18gLCBfX2xlYWZfXykpIF9fYXR0cmlidXRlX18gKChfX2NvbnN0X18pKTsK
PiA+Pj4KPiA+Pj4KPiA+Pj4gZXh0ZXJuIGludG1heF90IHN0cnRvaW1heCAoY29uc3QgY2hhciAq
X19yZXN0cmljdCBfX25wdHIsCj4gPj4+ICAgICAgIGNoYXIgKipfX3Jlc3RyaWN0IF9fZW5kcHRy
LCBpbnQgX19iYXNlKSBfX2F0dHJpYnV0ZV9fICgoX19ub3Rocm93X18gLCBfX2xlYWZfXykpOwo+
ID4+Pgo+ID4+Pgo+ID4+PiBleHRlcm4gdWludG1heF90IHN0cnRvdW1heCAoY29uc3QgY2hhciAq
X19yZXN0cmljdCBfX25wdHIsCj4gPj4+ICAgICAgICBjaGFyICoqIF9fcmVzdHJpY3QgX19lbmRw
dHIsIGludCBfX2Jhc2UpIF9fYXR0cmlidXRlX18gKChfX25vdGhyb3dfXyAsIF9fbGVhZl9fKSk7
Cj4gPj4+Cj4gPj4+Cj4gPj4+IGV4dGVybiBpbnRtYXhfdCB3Y3N0b2ltYXggKGNvbnN0IF9fZ3dj
aGFyX3QgKl9fcmVzdHJpY3QgX19ucHRyLAo+ID4+PiAgICAgICBfX2d3Y2hhcl90ICoqX19yZXN0
cmljdCBfX2VuZHB0ciwgaW50IF9fYmFzZSkKPiA+Pj4gICAgICBfX2F0dHJpYnV0ZV9fICgoX19u
b3Rocm93X18gLCBfX2xlYWZfXykpOwo+ID4+Pgo+ID4+Pgo+ID4+PiBleHRlcm4gdWludG1heF90
IHdjc3RvdW1heCAoY29uc3QgX19nd2NoYXJfdCAqX19yZXN0cmljdCBfX25wdHIsCj4gPj4+ICAg
ICAgICBfX2d3Y2hhcl90ICoqIF9fcmVzdHJpY3QgX19lbmRwdHIsIGludCBfX2Jhc2UpCj4gPj4+
ICAgICAgX19hdHRyaWJ1dGVfXyAoKF9fbm90aHJvd19fICwgX19sZWFmX18pKTsKPiA+Pj4gIyA0
MzIgIi91c3IvaW5jbHVkZS9pbnR0eXBlcy5oIiAzIDQKPiA+Pj4KPiA+Pj4gIyA1MyAicGxfbG9u
Zy5oIiAyCj4gPj4+ICMgMzI5ICJncF9jb25maWcuaCIgMgo+ID4+PiAjIDUxICJtYWNoaW5lLmMi
IDIKPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4gIyAxICIvdXNyL2lu
Y2x1ZGUvcHdkLmgiIDEgMyA0Cj4gPj4+ICMgMjcgIi91c3IvaW5jbHVkZS9wd2QuaCIgMyA0Cj4g
Pj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+ICMgMSAiL3Vzci9saWIvZ2NjL2k2ODYt
cmVkaGF0LWxpbnV4LzYuMS4xL2luY2x1ZGUvc3RkZGVmLmgiIDEgMyA0Cj4gPj4+ICMgMzMgIi91
c3IvaW5jbHVkZS9wd2QuaCIgMiAzIDQKPiA+Pj4gIyA0OSAiL3Vzci9pbmNsdWRlL3B3ZC5oIiAz
IDQKPiA+Pj4gc3RydWN0IHBhc3N3ZAo+ID4+PiB7Cj4gPj4+ICAgY2hhciAqcHdfbmFtZTsKPiA+
Pj4gICBjaGFyICpwd19wYXNzd2Q7Cj4gPj4+ICAgX191aWRfdCBwd191aWQ7Cj4gPj4+ICAgX19n
aWRfdCBwd19naWQ7Cj4gPj4+ICAgY2hhciAqcHdfZ2Vjb3M7Cj4gPj4+ICAgY2hhciAqcHdfZGly
Owo+ID4+PiAgIGNoYXIgKnB3X3NoZWxsOwo+ID4+PiB9Owo+ID4+PiAjIDcyICIvdXNyL2luY2x1
ZGUvcHdkLmgiIDMgNAo+ID4+PiBleHRlcm4gdm9pZCBzZXRwd2VudCAodm9pZCk7Cj4gPj4+Cj4g
Pj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+IGV4dGVybiB2b2lkIGVuZHB3ZW50ICh2b2lkKTsK
PiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4gZXh0ZXJuIHN0cnVjdCBwYXNzd2Qg
KmdldHB3ZW50ICh2b2lkKTsKPiA+Pj4gIyA5NCAiL3Vzci9pbmNsdWRlL3B3ZC5oIiAzIDQKPiA+
Pj4gZXh0ZXJuIHN0cnVjdCBwYXNzd2QgKmZnZXRwd2VudCAoRklMRSAqX19zdHJlYW0pIF9fYXR0
cmlidXRlX18gKChfX25vbm51bGxfXyAoMSkpKTsKPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+
Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4gZXh0ZXJuIGludCBwdXRwd2VudCAoY29uc3Qgc3RydWN0IHBh
c3N3ZCAqX19yZXN0cmljdCBfX3AsCj4gPj4+ICAgICAgICBGSUxFICpfX3Jlc3RyaWN0IF9fZik7
Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+IGV4dGVybiBzdHJ1Y3Qg
cGFzc3dkICpnZXRwd3VpZCAoX191aWRfdCBfX3VpZCk7Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+
Cj4gPj4+Cj4gPj4+IGV4dGVybiBzdHJ1Y3QgcGFzc3dkICpnZXRwd25hbSAoY29uc3QgY2hhciAq
X19uYW1lKSBfX2F0dHJpYnV0ZV9fICgoX19ub25udWxsX18gKDEpKSk7Cj4gPj4+ICMgMTM5ICIv
dXNyL2luY2x1ZGUvcHdkLmgiIDMgNAo+ID4+PiBleHRlcm4gaW50IGdldHB3ZW50X3IgKHN0cnVj
dCBwYXNzd2QgKl9fcmVzdHJpY3QgX19yZXN1bHRidWYsCj4gPj4+ICAgICAgICAgIGNoYXIgKl9f
cmVzdHJpY3QgX19idWZmZXIsIHNpemVfdCBfX2J1ZmxlbiwKPiA+Pj4gICAgICAgICAgc3RydWN0
IHBhc3N3ZCAqKl9fcmVzdHJpY3QgX19yZXN1bHQpCj4gPj4+ICAgICAgICAgIF9fYXR0cmlidXRl
X18gKChfX25vbm51bGxfXyAoMSwgMiwgNCkpKTsKPiA+Pj4KPiA+Pj4KPiA+Pj4gZXh0ZXJuIGlu
dCBnZXRwd3VpZF9yIChfX3VpZF90IF9fdWlkLAo+ID4+PiAgICAgICAgICBzdHJ1Y3QgcGFzc3dk
ICpfX3Jlc3RyaWN0IF9fcmVzdWx0YnVmLAo+ID4+PiAgICAgICAgICBjaGFyICpfX3Jlc3RyaWN0
IF9fYnVmZmVyLCBzaXplX3QgX19idWZsZW4sCj4gPj4+ICAgICAgICAgIHN0cnVjdCBwYXNzd2Qg
KipfX3Jlc3RyaWN0IF9fcmVzdWx0KQo+ID4+PiAgICAgICAgICBfX2F0dHJpYnV0ZV9fICgoX19u
b25udWxsX18gKDIsIDMsIDUpKSk7Cj4gPj4+Cj4gPj4+IGV4dGVybiBpbnQgZ2V0cHduYW1fciAo
Y29uc3QgY2hhciAqX19yZXN0cmljdCBfX25hbWUsCj4gPj4+ICAgICAgICAgIHN0cnVjdCBwYXNz
d2QgKl9fcmVzdHJpY3QgX19yZXN1bHRidWYsCj4gPj4+ICAgICAgICAgIGNoYXIgKl9fcmVzdHJp
Y3QgX19idWZmZXIsIHNpemVfdCBfX2J1ZmxlbiwKPiA+Pj4gICAgICAgICAgc3RydWN0IHBhc3N3
ZCAqKl9fcmVzdHJpY3QgX19yZXN1bHQpCj4gPj4+ICAgICAgICAgIF9fYXR0cmlidXRlX18gKChf
X25vbm51bGxfXyAoMSwgMiwgMywgNSkpKTsKPiA+Pj4gIyAxNjYgIi91c3IvaW5jbHVkZS9wd2Qu
aCIgMyA0Cj4gPj4+IGV4dGVybiBpbnQgZmdldHB3ZW50X3IgKEZJTEUgKl9fcmVzdHJpY3QgX19z
dHJlYW0sCj4gPj4+ICAgIHN0cnVjdCBwYXNzd2QgKl9fcmVzdHJpY3QgX19yZXN1bHRidWYsCj4g
Pj4+ICAgIGNoYXIgKl9fcmVzdHJpY3QgX19idWZmZXIsIHNpemVfdCBfX2J1ZmxlbiwKPiA+Pj4g
ICAgc3RydWN0IHBhc3N3ZCAqKl9fcmVzdHJpY3QgX19yZXN1bHQpCj4gPj4+ICAgIF9fYXR0cmli
dXRlX18gKChfX25vbm51bGxfXyAoMSwgMiwgMywgNSkpKTsKPiA+Pj4gIyAxODcgIi91c3IvaW5j
bHVkZS9wd2QuaCIgMyA0Cj4gPj4+Cj4gPj4+ICMgNTggIm1hY2hpbmUuYyIgMgo+ID4+PiAjIDEg
Ii91c3IvaW5jbHVkZS91bmlzdGQuaCIgMSAzIDQKPiA+Pj4gIyAyNyAiL3Vzci9pbmNsdWRlL3Vu
aXN0ZC5oIiAzIDQKPiA+Pj4KPiA+Pj4gIyAyMDUgIi91c3IvaW5jbHVkZS91bmlzdGQuaCIgMyA0
Cj4gPj4+ICMgMSAiL3Vzci9pbmNsdWRlL2JpdHMvcG9zaXhfb3B0LmgiIDEgMyA0Cj4gPj4+ICMg
MjA2ICIvdXNyL2luY2x1ZGUvdW5pc3RkLmgiIDIgMyA0Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+
ICMgMSAiL3Vzci9pbmNsdWRlL2JpdHMvZW52aXJvbm1lbnRzLmgiIDEgMyA0Cj4gPj4+ICMgMjIg
Ii91c3IvaW5jbHVkZS9iaXRzL2Vudmlyb25tZW50cy5oIiAzIDQKPiA+Pj4gIyAxICIvdXNyL2lu
Y2x1ZGUvYml0cy93b3Jkc2l6ZS5oIiAxIDMgNAo+ID4+PiAjIDIzICIvdXNyL2luY2x1ZGUvYml0
cy9lbnZpcm9ubWVudHMuaCIgMiAzIDQKPiA+Pj4gIyAyMTAgIi91c3IvaW5jbHVkZS91bmlzdGQu
aCIgMiAzIDQKPiA+Pj4gIyAyMjkgIi91c3IvaW5jbHVkZS91bmlzdGQuaCIgMyA0Cj4gPj4+ICMg
MSAiL3Vzci9saWIvZ2NjL2k2ODYtcmVkaGF0LWxpbnV4LzYuMS4xL2luY2x1ZGUvc3RkZGVmLmgi
IDEgMyA0Cj4gPj4+ICMgMjMwICIvdXNyL2luY2x1ZGUvdW5pc3RkLmgiIDIgMyA0Cj4gPj4+ICMg
MjU4ICIvdXNyL2luY2x1ZGUvdW5pc3RkLmgiIDMgNAo+ID4+PiB0eXBlZGVmIF9fdXNlY29uZHNf
dCB1c2Vjb25kc190Owo+ID4+PiAjIDI3NyAiL3Vzci9pbmNsdWRlL3VuaXN0ZC5oIiAzIDQKPiA+
Pj4gdHlwZWRlZiBfX3NvY2tsZW5fdCBzb2NrbGVuX3Q7Cj4gPj4+ICMgMjkwICIvdXNyL2luY2x1
ZGUvdW5pc3RkLmgiIDMgNAo+ID4+PiBleHRlcm4gaW50IGFjY2VzcyAoY29uc3QgY2hhciAqX19u
YW1lLCBpbnQgX190eXBlKSBfX2F0dHJpYnV0ZV9fICgoX19ub3Rocm93X18gLCBfX2xlYWZfXykp
IF9fYXR0cmlidXRlX18gKChfX25vbm51bGxfXyAoMSkpKTsKPiA+Pj4gIyAzMDcgIi91c3IvaW5j
bHVkZS91bmlzdGQuaCIgMyA0Cj4gPj4+IGV4dGVybiBpbnQgZmFjY2Vzc2F0IChpbnQgX19mZCwg
Y29uc3QgY2hhciAqX19maWxlLCBpbnQgX190eXBlLCBpbnQgX19mbGFnKQo+ID4+PiAgICAgIF9f
YXR0cmlidXRlX18gKChfX25vdGhyb3dfXyAsIF9fbGVhZl9fKSkgX19hdHRyaWJ1dGVfXyAoKF9f
bm9ubnVsbF9fICgyKSkpIDsKPiA+Pj4gIyAzMzcgIi91c3IvaW5jbHVkZS91bmlzdGQuaCIgMyA0
Cj4gPj4+IGV4dGVybiBfX29mZl90IGxzZWVrIChpbnQgX19mZCwgX19vZmZfdCBfX29mZnNldCwg
aW50IF9fd2hlbmNlKSBfX2F0dHJpYnV0ZV9fICgoX19ub3Rocm93X18gLCBfX2xlYWZfXykpOwo+
ID4+PiAjIDM1NiAiL3Vzci9pbmNsdWRlL3VuaXN0ZC5oIiAzIDQKPiA+Pj4gZXh0ZXJuIGludCBj
bG9zZSAoaW50IF9fZmQpOwo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+
PiBleHRlcm4gc3NpemVfdCByZWFkIChpbnQgX19mZCwgdm9pZCAqX19idWYsIHNpemVfdCBfX25i
eXRlcykgOwo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+PiBleHRlcm4gc3NpemVf
dCB3cml0ZSAoaW50IF9fZmQsIGNvbnN0IHZvaWQgKl9fYnVmLCBzaXplX3QgX19uKSA7Cj4gPj4+
ICMgMzc5ICIvdXNyL2luY2x1ZGUvdW5pc3RkLmgiIDMgNAo+ID4+PiBleHRlcm4gc3NpemVfdCBw
cmVhZCAoaW50IF9fZmQsIHZvaWQgKl9fYnVmLCBzaXplX3QgX19uYnl0ZXMsCj4gPj4+ICAgICAg
ICAgX19vZmZfdCBfX29mZnNldCkgOwo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+
Pgo+ID4+PiBleHRlcm4gc3NpemVfdCBwd3JpdGUgKGludCBfX2ZkLCBjb25zdCB2b2lkICpfX2J1
Ziwgc2l6ZV90IF9fbiwKPiA+Pj4gICAgICAgICAgX19vZmZfdCBfX29mZnNldCkgOwo+ID4+PiAj
IDQyMCAiL3Vzci9pbmNsdWRlL3VuaXN0ZC5oIiAzIDQKPiA+Pj4gZXh0ZXJuIGludCBwaXBlIChp
bnQgX19waXBlZGVzWzJdKSBfX2F0dHJpYnV0ZV9fICgoX19ub3Rocm93X18gLCBfX2xlYWZfXykp
IDsKPiA+Pj4gIyA0MzUgIi91c3IvaW5jbHVkZS91bmlzdGQuaCIgMyA0Cj4gPj4+IGV4dGVybiB1
bnNpZ25lZCBpbnQgYWxhcm0gKHVuc2lnbmVkIGludCBfX3NlY29uZHMpIF9fYXR0cmlidXRlX18g
KChfX25vdGhyb3dfXyAsIF9fbGVhZl9fKSk7Cj4gPj4+ICMgNDQ3ICIvdXNyL2luY2x1ZGUvdW5p
c3RkLmgiIDMgNAo+ID4+PiBleHRlcm4gdW5zaWduZWQgaW50IHNsZWVwICh1bnNpZ25lZCBpbnQg
X19zZWNvbmRzKTsKPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+
Pj4gZXh0ZXJuIF9fdXNlY29uZHNfdCB1YWxhcm0gKF9fdXNlY29uZHNfdCBfX3ZhbHVlLCBfX3Vz
ZWNvbmRzX3QgX19pbnRlcnZhbCkKPiA+Pj4gICAgICBfX2F0dHJpYnV0ZV9fICgoX19ub3Rocm93
X18gLCBfX2xlYWZfXykpOwo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+
PiBleHRlcm4gaW50IHVzbGVlcCAoX191c2Vjb25kc190IF9fdXNlY29uZHMpOwo+ID4+PiAjIDQ3
MiAiL3Vzci9pbmNsdWRlL3VuaXN0ZC5oIiAzIDQKPiA+Pj4gZXh0ZXJuIGludCBwYXVzZSAodm9p
ZCk7Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+IGV4dGVybiBpbnQgY2hvd24gKGNvbnN0IGNoYXIg
Kl9fZmlsZSwgX191aWRfdCBfX293bmVyLCBfX2dpZF90IF9fZ3JvdXApCj4gPj4+ICAgICAgX19h
dHRyaWJ1dGVfXyAoKF9fbm90aHJvd19fICwgX19sZWFmX18pKSBfX2F0dHJpYnV0ZV9fICgoX19u
b25udWxsX18gKDEpKSkgOwo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+PiBleHRlcm4gaW50IGZjaG93
biAoaW50IF9fZmQsIF9fdWlkX3QgX19vd25lciwgX19naWRfdCBfX2dyb3VwKSBfX2F0dHJpYnV0
ZV9fICgoX19ub3Rocm93X18gLCBfX2xlYWZfXykpIDsKPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4K
PiA+Pj4gZXh0ZXJuIGludCBsY2hvd24gKGNvbnN0IGNoYXIgKl9fZmlsZSwgX191aWRfdCBfX293
bmVyLCBfX2dpZF90IF9fZ3JvdXApCj4gPj4+ICAgICAgX19hdHRyaWJ1dGVfXyAoKF9fbm90aHJv
d19fICwgX19sZWFmX18pKSBfX2F0dHJpYnV0ZV9fICgoX19ub25udWxsX18gKDEpKSkgOwo+ID4+
Pgo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+PiBleHRlcm4gaW50IGZjaG93bmF0
IChpbnQgX19mZCwgY29uc3QgY2hhciAqX19maWxlLCBfX3VpZF90IF9fb3duZXIsCj4gPj4+ICAg
ICAgICBfX2dpZF90IF9fZ3JvdXAsIGludCBfX2ZsYWcpCj4gPj4+ICAgICAgX19hdHRyaWJ1dGVf
XyAoKF9fbm90aHJvd19fICwgX19sZWFmX18pKSBfX2F0dHJpYnV0ZV9fICgoX19ub25udWxsX18g
KDIpKSkgOwo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+PiBleHRlcm4gaW50IGNoZGlyIChjb25zdCBj
aGFyICpfX3BhdGgpIF9fYXR0cmlidXRlX18gKChfX25vdGhyb3dfXyAsIF9fbGVhZl9fKSkgX19h
dHRyaWJ1dGVfXyAoKF9fbm9ubnVsbF9fICgxKSkpIDsKPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4g
ZXh0ZXJuIGludCBmY2hkaXIgKGludCBfX2ZkKSBfX2F0dHJpYnV0ZV9fICgoX19ub3Rocm93X18g
LCBfX2xlYWZfXykpIDsKPiA+Pj4gIyA1MTQgIi91c3IvaW5jbHVkZS91bmlzdGQuaCIgMyA0Cj4g
Pj4+IGV4dGVybiBjaGFyICpnZXRjd2QgKGNoYXIgKl9fYnVmLCBzaXplX3QgX19zaXplKSBfX2F0
dHJpYnV0ZV9fICgoX19ub3Rocm93X18gLCBfX2xlYWZfXykpIDsKPiA+Pj4gIyA1MjggIi91c3Iv
aW5jbHVkZS91bmlzdGQuaCIgMyA0Cj4gPj4+IGV4dGVybiBjaGFyICpnZXR3ZCAoY2hhciAqX19i
dWYpCj4gPj4+ICAgICAgX19hdHRyaWJ1dGVfXyAoKF9fbm90aHJvd19fICwgX19sZWFmX18pKSBf
X2F0dHJpYnV0ZV9fICgoX19ub25udWxsX18gKDEpKSkgX19hdHRyaWJ1dGVfXyAoKF9fZGVwcmVj
YXRlZF9fKSkgOwo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+PiBleHRlcm4gaW50IGR1cCAo
aW50IF9fZmQpIF9fYXR0cmlidXRlX18gKChfX25vdGhyb3dfXyAsIF9fbGVhZl9fKSkgOwo+ID4+
Pgo+ID4+Pgo+ID4+PiBleHRlcm4gaW50IGR1cDIgKGludCBfX2ZkLCBpbnQgX19mZDIpIF9fYXR0
cmlidXRlX18gKChfX25vdGhyb3dfXyAsIF9fbGVhZl9fKSk7Cj4gPj4+ICMgNTQ2ICIvdXNyL2lu
Y2x1ZGUvdW5pc3RkLmgiIDMgNAo+ID4+PiBleHRlcm4gY2hhciAqKl9fZW52aXJvbjsKPiA+Pj4K
PiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4gZXh0ZXJuIGludCBleGVj
dmUgKGNvbnN0IGNoYXIgKl9fcGF0aCwgY2hhciAqY29uc3QgX19hcmd2W10sCj4gPj4+ICAgICAg
Y2hhciAqY29uc3QgX19lbnZwW10pIF9fYXR0cmlidXRlX18gKChfX25vdGhyb3dfXyAsIF9fbGVh
Zl9fKSkgX19hdHRyaWJ1dGVfXyAoKF9fbm9ubnVsbF9fICgxLCAyKSkpOwo+ID4+Pgo+ID4+Pgo+
ID4+Pgo+ID4+Pgo+ID4+PiBleHRlcm4gaW50IGZleGVjdmUgKGludCBfX2ZkLCBjaGFyICpjb25z
dCBfX2FyZ3ZbXSwgY2hhciAqY29uc3QgX19lbnZwW10pCj4gPj4+ICAgICAgX19hdHRyaWJ1dGVf
XyAoKF9fbm90aHJvd19fICwgX19sZWFmX18pKSBfX2F0dHJpYnV0ZV9fICgoX19ub25udWxsX18g
KDIpKSk7Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+IGV4dGVybiBpbnQgZXhlY3YgKGNv
bnN0IGNoYXIgKl9fcGF0aCwgY2hhciAqY29uc3QgX19hcmd2W10pCj4gPj4+ICAgICAgX19hdHRy
aWJ1dGVfXyAoKF9fbm90aHJvd19fICwgX19sZWFmX18pKSBfX2F0dHJpYnV0ZV9fICgoX19ub25u
dWxsX18gKDEsIDIpKSk7Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+IGV4dGVybiBpbnQgZXhlY2xl
IChjb25zdCBjaGFyICpfX3BhdGgsIGNvbnN0IGNoYXIgKl9fYXJnLCAuLi4pCj4gPj4+ICAgICAg
X19hdHRyaWJ1dGVfXyAoKF9fbm90aHJvd19fICwgX19sZWFmX18pKSBfX2F0dHJpYnV0ZV9fICgo
X19ub25udWxsX18gKDEsIDIpKSk7Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+IGV4dGVybiBpbnQg
ZXhlY2wgKGNvbnN0IGNoYXIgKl9fcGF0aCwgY29uc3QgY2hhciAqX19hcmcsIC4uLikKPiA+Pj4g
ICAgICBfX2F0dHJpYnV0ZV9fICgoX19ub3Rocm93X18gLCBfX2xlYWZfXykpIF9fYXR0cmlidXRl
X18gKChfX25vbm51bGxfXyAoMSwgMikpKTsKPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4gZXh0ZXJu
IGludCBleGVjdnAgKGNvbnN0IGNoYXIgKl9fZmlsZSwgY2hhciAqY29uc3QgX19hcmd2W10pCj4g
Pj4+ICAgICAgX19hdHRyaWJ1dGVfXyAoKF9fbm90aHJvd19fICwgX19sZWFmX18pKSBfX2F0dHJp
YnV0ZV9fICgoX19ub25udWxsX18gKDEsIDIpKSk7Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4g
Pj4+IGV4dGVybiBpbnQgZXhlY2xwIChjb25zdCBjaGFyICpfX2ZpbGUsIGNvbnN0IGNoYXIgKl9f
YXJnLCAuLi4pCj4gPj4+ICAgICAgX19hdHRyaWJ1dGVfXyAoKF9fbm90aHJvd19fICwgX19sZWFm
X18pKSBfX2F0dHJpYnV0ZV9fICgoX19ub25udWxsX18gKDEsIDIpKSk7Cj4gPj4+ICMgNjAxICIv
dXNyL2luY2x1ZGUvdW5pc3RkLmgiIDMgNAo+ID4+PiBleHRlcm4gaW50IG5pY2UgKGludCBfX2lu
YykgX19hdHRyaWJ1dGVfXyAoKF9fbm90aHJvd19fICwgX19sZWFmX18pKSA7Cj4gPj4+Cj4gPj4+
Cj4gPj4+Cj4gPj4+Cj4gPj4+IGV4dGVybiB2b2lkIF9leGl0IChpbnQgX19zdGF0dXMpIF9fYXR0
cmlidXRlX18gKChfX25vcmV0dXJuX18pKTsKPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4K
PiA+Pj4gIyAxICIvdXNyL2luY2x1ZGUvYml0cy9jb25mbmFtZS5oIiAxIDMgNAo+ID4+PiAjIDI0
ICIvdXNyL2luY2x1ZGUvYml0cy9jb25mbmFtZS5oIiAzIDQKPiA+Pj4gZW51bQo+ID4+PiAgIHsK
PiA+Pj4gICAgIF9QQ19MSU5LX01BWCwKPiA+Pj4KPiA+Pj4gICAgIF9QQ19NQVhfQ0FOT04sCj4g
Pj4+Cj4gPj4+ICAgICBfUENfTUFYX0lOUFVULAo+ID4+Pgo+ID4+PiAgICAgX1BDX05BTUVfTUFY
LAo+ID4+Pgo+ID4+PiAgICAgX1BDX1BBVEhfTUFYLAo+ID4+Pgo+ID4+PiAgICAgX1BDX1BJUEVf
QlVGLAo+ID4+Pgo+ID4+PiAgICAgX1BDX0NIT1dOX1JFU1RSSUNURUQsCj4gPj4+Cj4gPj4+ICAg
ICBfUENfTk9fVFJVTkMsCj4gPj4+Cj4gPj4+ICAgICBfUENfVkRJU0FCTEUsCj4gPj4+Cj4gPj4+
ICAgICBfUENfU1lOQ19JTywKPiA+Pj4KPiA+Pj4gICAgIF9QQ19BU1lOQ19JTywKPiA+Pj4KPiA+
Pj4gICAgIF9QQ19QUklPX0lPLAo+ID4+Pgo+ID4+PiAgICAgX1BDX1NPQ0tfTUFYQlVGLAo+ID4+
Pgo+ID4+PiAgICAgX1BDX0ZJTEVTSVpFQklUUywKPiA+Pj4KPiA+Pj4gICAgIF9QQ19SRUNfSU5D
Ul9YRkVSX1NJWkUsCj4gPj4+Cj4gPj4+ICAgICBfUENfUkVDX01BWF9YRkVSX1NJWkUsCj4gPj4+
Cj4gPj4+ICAgICBfUENfUkVDX01JTl9YRkVSX1NJWkUsCj4gPj4+Cj4gPj4+ICAgICBfUENfUkVD
X1hGRVJfQUxJR04sCj4gPj4+Cj4gPj4+ICAgICBfUENfQUxMT0NfU0laRV9NSU4sCj4gPj4+Cj4g
Pj4+ICAgICBfUENfU1lNTElOS19NQVgsCj4gPj4+Cj4gPj4+ICAgICBfUENfMl9TWU1MSU5LUwo+
ID4+Pgo+ID4+PiAgIH07Cj4gPj4+Cj4gPj4+Cj4gPj4+IGVudW0KPiA+Pj4gICB7Cj4gPj4+ICAg
ICBfU0NfQVJHX01BWCwKPiA+Pj4KPiA+Pj4gICAgIF9TQ19DSElMRF9NQVgsCj4gPj4+Cj4gPj4+
ICAgICBfU0NfQ0xLX1RDSywKPiA+Pj4KPiA+Pj4gICAgIF9TQ19OR1JPVVBTX01BWCwKPiA+Pj4K
PiA+Pj4gICAgIF9TQ19PUEVOX01BWCwKPiA+Pj4KPiA+Pj4gICAgIF9TQ19TVFJFQU1fTUFYLAo+
ID4+Pgo+ID4+PiAgICAgX1NDX1RaTkFNRV9NQVgsCj4gPj4+Cj4gPj4+ICAgICBfU0NfSk9CX0NP
TlRST0wsCj4gPj4+Cj4gPj4+ICAgICBfU0NfU0FWRURfSURTLAo+ID4+Pgo+ID4+PiAgICAgX1ND
X1JFQUxUSU1FX1NJR05BTFMsCj4gPj4+Cj4gPj4+ICAgICBfU0NfUFJJT1JJVFlfU0NIRURVTElO
RywKPiA+Pj4KPiA+Pj4gICAgIF9TQ19USU1FUlMsCj4gPj4+Cj4gPj4+ICAgICBfU0NfQVNZTkNI
Uk9OT1VTX0lPLAo+ID4+Pgo+ID4+PiAgICAgX1NDX1BSSU9SSVRJWkVEX0lPLAo+ID4+Pgo+ID4+
PiAgICAgX1NDX1NZTkNIUk9OSVpFRF9JTywKPiA+Pj4KPiA+Pj4gICAgIF9TQ19GU1lOQywKPiA+
Pj4KPiA+Pj4gICAgIF9TQ19NQVBQRURfRklMRVMsCj4gPj4+Cj4gPj4+ICAgICBfU0NfTUVNTE9D
SywKPiA+Pj4KPiA+Pj4gICAgIF9TQ19NRU1MT0NLX1JBTkdFLAo+ID4+Pgo+ID4+PiAgICAgX1ND
X01FTU9SWV9QUk9URUNUSU9OLAo+ID4+Pgo+ID4+PiAgICAgX1NDX01FU1NBR0VfUEFTU0lORywK
PiA+Pj4KPiA+Pj4gICAgIF9TQ19TRU1BUEhPUkVTLAo+ID4+Pgo+ID4+PiAgICAgX1NDX1NIQVJF
RF9NRU1PUllfT0JKRUNUUywKPiA+Pj4KPiA+Pj4gICAgIF9TQ19BSU9fTElTVElPX01BWCwKPiA+
Pj4KPiA+Pj4gICAgIF9TQ19BSU9fTUFYLAo+ID4+Pgo+ID4+PiAgICAgX1NDX0FJT19QUklPX0RF
TFRBX01BWCwKPiA+Pj4KPiA+Pj4gICAgIF9TQ19ERUxBWVRJTUVSX01BWCwKPiA+Pj4KPiA+Pj4g
ICAgIF9TQ19NUV9PUEVOX01BWCwKPiA+Pj4KPiA+Pj4gICAgIF9TQ19NUV9QUklPX01BWCwKPiA+
Pj4KPiA+Pj4gICAgIF9TQ19WRVJTSU9OLAo+ID4+Pgo+ID4+PiAgICAgX1NDX1BBR0VTSVpFLAo+
ID4+Pgo+ID4+Pgo+ID4+PiAgICAgX1NDX1JUU0lHX01BWCwKPiA+Pj4KPiA+Pj4gICAgIF9TQ19T
RU1fTlNFTVNfTUFYLAo+ID4+Pgo+ID4+PiAgICAgX1NDX1NFTV9WQUxVRV9NQVgsCj4gPj4+Cj4g
Pj4+ICAgICBfU0NfU0lHUVVFVUVfTUFYLAo+ID4+Pgo+ID4+PiAgICAgX1NDX1RJTUVSX01BWCwK
PiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4gICAgIF9TQ19CQ19CQVNFX01BWCwKPiA+Pj4K
PiA+Pj4gICAgIF9TQ19CQ19ESU1fTUFYLAo+ID4+Pgo+ID4+PiAgICAgX1NDX0JDX1NDQUxFX01B
WCwKPiA+Pj4KPiA+Pj4gICAgIF9TQ19CQ19TVFJJTkdfTUFYLAo+ID4+Pgo+ID4+PiAgICAgX1ND
X0NPTExfV0VJR0hUU19NQVgsCj4gPj4+Cj4gPj4+ICAgICBfU0NfRVFVSVZfQ0xBU1NfTUFYLAo+
ID4+Pgo+ID4+PiAgICAgX1NDX0VYUFJfTkVTVF9NQVgsCj4gPj4+Cj4gPj4+ICAgICBfU0NfTElO
RV9NQVgsCj4gPj4+Cj4gPj4+ICAgICBfU0NfUkVfRFVQX01BWCwKPiA+Pj4KPiA+Pj4gICAgIF9T
Q19DSEFSQ0xBU1NfTkFNRV9NQVgsCj4gPj4+Cj4gPj4+Cj4gPj4+ICAgICBfU0NfMl9WRVJTSU9O
LAo+ID4+Pgo+ID4+PiAgICAgX1NDXzJfQ19CSU5ELAo+ID4+Pgo+ID4+PiAgICAgX1NDXzJfQ19E
RVYsCj4gPj4+Cj4gPj4+ICAgICBfU0NfMl9GT1JUX0RFViwKPiA+Pj4KPiA+Pj4gICAgIF9TQ18y
X0ZPUlRfUlVOLAo+ID4+Pgo+ID4+PiAgICAgX1NDXzJfU1dfREVWLAo+ID4+Pgo+ID4+PiAgICAg
X1NDXzJfTE9DQUxFREVGLAo+ID4+Pgo+ID4+Pgo+ID4+PiAgICAgX1NDX1BJSSwKPiA+Pj4KPiA+
Pj4gICAgIF9TQ19QSUlfWFRJLAo+ID4+Pgo+ID4+PiAgICAgX1NDX1BJSV9TT0NLRVQsCj4gPj4+
Cj4gPj4+ICAgICBfU0NfUElJX0lOVEVSTkVULAo+ID4+Pgo+ID4+PiAgICAgX1NDX1BJSV9PU0ks
Cj4gPj4+Cj4gPj4+ICAgICBfU0NfUE9MTCwKPiA+Pj4KPiA+Pj4gICAgIF9TQ19TRUxFQ1QsCj4g
Pj4+Cj4gPj4+ICAgICBfU0NfVUlPX01BWElPViwKPiA+Pj4KPiA+Pj4gICAgIF9TQ19JT1ZfTUFY
ID0gX1NDX1VJT19NQVhJT1YsCj4gPj4+Cj4gPj4+ICAgICBfU0NfUElJX0lOVEVSTkVUX1NUUkVB
TSwKPiA+Pj4KPiA+Pj4gICAgIF9TQ19QSUlfSU5URVJORVRfREdSQU0sCj4gPj4+Cj4gPj4+ICAg
ICBfU0NfUElJX09TSV9DT1RTLAo+ID4+Pgo+ID4+PiAgICAgX1NDX1BJSV9PU0lfQ0xUUywKPiA+
Pj4KPiA+Pj4gICAgIF9TQ19QSUlfT1NJX00sCj4gPj4+Cj4gPj4+ICAgICBfU0NfVF9JT1ZfTUFY
LAo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+PiAgICAgX1NDX1RIUkVBRFMsCj4gPj4+Cj4gPj4+ICAg
ICBfU0NfVEhSRUFEX1NBRkVfRlVOQ1RJT05TLAo+ID4+Pgo+ID4+PiAgICAgX1NDX0dFVEdSX1Jf
U0laRV9NQVgsCj4gPj4+Cj4gPj4+ICAgICBfU0NfR0VUUFdfUl9TSVpFX01BWCwKPiA+Pj4KPiA+
Pj4gICAgIF9TQ19MT0dJTl9OQU1FX01BWCwKPiA+Pj4KPiA+Pj4gICAgIF9TQ19UVFlfTkFNRV9N
QVgsCj4gPj4+Cj4gPj4+ICAgICBfU0NfVEhSRUFEX0RFU1RSVUNUT1JfSVRFUkFUSU9OUywKPiA+
Pj4KPiA+Pj4gICAgIF9TQ19USFJFQURfS0VZU19NQVgsCj4gPj4+Cj4gPj4+ICAgICBfU0NfVEhS
RUFEX1NUQUNLX01JTiwKPiA+Pj4KPiA+Pj4gICAgIF9TQ19USFJFQURfVEhSRUFEU19NQVgsCj4g
Pj4+Cj4gPj4+ICAgICBfU0NfVEhSRUFEX0FUVFJfU1RBQ0tBRERSLAo+ID4+Pgo+ID4+PiAgICAg
X1NDX1RIUkVBRF9BVFRSX1NUQUNLU0laRSwKPiA+Pj4KPiA+Pj4gICAgIF9TQ19USFJFQURfUFJJ
T1JJVFlfU0NIRURVTElORywKPiA+Pj4KPiA+Pj4gICAgIF9TQ19USFJFQURfUFJJT19JTkhFUklU
LAo+ID4+Pgo+ID4+PiAgICAgX1NDX1RIUkVBRF9QUklPX1BST1RFQ1QsCj4gPj4+Cj4gPj4+ICAg
ICBfU0NfVEhSRUFEX1BST0NFU1NfU0hBUkVELAo+ID4+Pgo+ID4+Pgo+ID4+PiAgICAgX1NDX05Q
Uk9DRVNTT1JTX0NPTkYsCj4gPj4+Cj4gPj4+ICAgICBfU0NfTlBST0NFU1NPUlNfT05MTiwKPiA+
Pj4KPiA+Pj4gICAgIF9TQ19QSFlTX1BBR0VTLAo+ID4+Pgo+ID4+PiAgICAgX1NDX0FWUEhZU19Q
QUdFUywKPiA+Pj4KPiA+Pj4gICAgIF9TQ19BVEVYSVRfTUFYLAo+ID4+Pgo+ID4+PiAgICAgX1ND
X1BBU1NfTUFYLAo+ID4+Pgo+ID4+Pgo+ID4+PiAgICAgX1NDX1hPUEVOX1ZFUlNJT04sCj4gPj4+
Cj4gPj4+ICAgICBfU0NfWE9QRU5fWENVX1ZFUlNJT04sCj4gPj4+Cj4gPj4+ICAgICBfU0NfWE9Q
RU5fVU5JWCwKPiA+Pj4KPiA+Pj4gICAgIF9TQ19YT1BFTl9DUllQVCwKPiA+Pj4KPiA+Pj4gICAg
IF9TQ19YT1BFTl9FTkhfSTE4TiwKPiA+Pj4KPiA+Pj4gICAgIF9TQ19YT1BFTl9TSE0sCj4gPj4+
Cj4gPj4+Cj4gPj4+ICAgICBfU0NfMl9DSEFSX1RFUk0sCj4gPj4+Cj4gPj4+ICAgICBfU0NfMl9D
X1ZFUlNJT04sCj4gPj4+Cj4gPj4+ICAgICBfU0NfMl9VUEUsCj4gPj4+Cj4gPj4+Cj4gPj4+ICAg
ICBfU0NfWE9QRU5fWFBHMiwKPiA+Pj4KPiA+Pj4gICAgIF9TQ19YT1BFTl9YUEczLAo+ID4+Pgo+
ID4+PiAgICAgX1NDX1hPUEVOX1hQRzQsCj4gPj4+Cj4gPj4+Cj4gPj4+ICAgICBfU0NfQ0hBUl9C
SVQsCj4gPj4+Cj4gPj4+ICAgICBfU0NfQ0hBUl9NQVgsCj4gPj4+Cj4gPj4+ICAgICBfU0NfQ0hB
Ul9NSU4sCj4gPj4+Cj4gPj4+ICAgICBfU0NfSU5UX01BWCwKPiA+Pj4KPiA+Pj4gICAgIF9TQ19J
TlRfTUlOLAo+ID4+Pgo+ID4+PiAgICAgX1NDX0xPTkdfQklULAo+ID4+Pgo+ID4+PiAgICAgX1ND
X1dPUkRfQklULAo+ID4+Pgo+ID4+PiAgICAgX1NDX01CX0xFTl9NQVgsCj4gPj4+Cj4gPj4+ICAg
ICBfU0NfTlpFUk8sCj4gPj4+Cj4gPj4+ICAgICBfU0NfU1NJWkVfTUFYLAo+ID4+Pgo+ID4+PiAg
ICAgX1NDX1NDSEFSX01BWCwKPiA+Pj4KPiA+Pj4gICAgIF9TQ19TQ0hBUl9NSU4sCj4gPj4+Cj4g
Pj4+ICAgICBfU0NfU0hSVF9NQVgsCj4gPj4+Cj4gPj4+ICAgICBfU0NfU0hSVF9NSU4sCj4gPj4+
Cj4gPj4+ICAgICBfU0NfVUNIQVJfTUFYLAo+ID4+Pgo+ID4+PiAgICAgX1NDX1VJTlRfTUFYLAo+
ID4+Pgo+ID4+PiAgICAgX1NDX1VMT05HX01BWCwKPiA+Pj4KPiA+Pj4gICAgIF9TQ19VU0hSVF9N
QVgsCj4gPj4+Cj4gPj4+Cj4gPj4+ICAgICBfU0NfTkxfQVJHTUFYLAo+ID4+Pgo+ID4+PiAgICAg
X1NDX05MX0xBTkdNQVgsCj4gPj4+Cj4gPj4+ICAgICBfU0NfTkxfTVNHTUFYLAo+ID4+Pgo+ID4+
PiAgICAgX1NDX05MX05NQVgsCj4gPj4+Cj4gPj4+ICAgICBfU0NfTkxfU0VUTUFYLAo+ID4+Pgo+
ID4+PiAgICAgX1NDX05MX1RFWFRNQVgsCj4gPj4+Cj4gPj4+Cj4gPj4+ICAgICBfU0NfWEJTNV9J
TFAzMl9PRkYzMiwKPiA+Pj4KPiA+Pj4gICAgIF9TQ19YQlM1X0lMUDMyX09GRkJJRywKPiA+Pj4K
PiA+Pj4gICAgIF9TQ19YQlM1X0xQNjRfT0ZGNjQsCj4gPj4+Cj4gPj4+ICAgICBfU0NfWEJTNV9M
UEJJR19PRkZCSUcsCj4gPj4+Cj4gPj4+Cj4gPj4+ICAgICBfU0NfWE9QRU5fTEVHQUNZLAo+ID4+
Pgo+ID4+PiAgICAgX1NDX1hPUEVOX1JFQUxUSU1FLAo+ID4+Pgo+ID4+PiAgICAgX1NDX1hPUEVO
X1JFQUxUSU1FX1RIUkVBRFMsCj4gPj4+Cj4gPj4+Cj4gPj4+ICAgICBfU0NfQURWSVNPUllfSU5G
TywKPiA+Pj4KPiA+Pj4gICAgIF9TQ19CQVJSSUVSUywKPiA+Pj4KPiA+Pj4gICAgIF9TQ19CQVNF
LAo+ID4+Pgo+ID4+PiAgICAgX1NDX0NfTEFOR19TVVBQT1JULAo+ID4+Pgo+ID4+PiAgICAgX1ND
X0NfTEFOR19TVVBQT1JUX1IsCj4gPj4+Cj4gPj4+ICAgICBfU0NfQ0xPQ0tfU0VMRUNUSU9OLAo+
ID4+Pgo+ID4+PiAgICAgX1NDX0NQVVRJTUUsCj4gPj4+Cj4gPj4+ICAgICBfU0NfVEhSRUFEX0NQ
VVRJTUUsCj4gPj4+Cj4gPj4+ICAgICBfU0NfREVWSUNFX0lPLAo+ID4+Pgo+ID4+PiAgICAgX1ND
X0RFVklDRV9TUEVDSUZJQywKPiA+Pj4KPiA+Pj4gICAgIF9TQ19ERVZJQ0VfU1BFQ0lGSUNfUiwK
PiA+Pj4KPiA+Pj4gICAgIF9TQ19GRF9NR01ULAo+ID4+Pgo+ID4+PiAgICAgX1NDX0ZJRk8sCj4g
Pj4+Cj4gPj4+ICAgICBfU0NfUElQRSwKPiA+Pj4KPiA+Pj4gICAgIF9TQ19GSUxFX0FUVFJJQlVU
RVMsCj4gPj4+Cj4gPj4+ICAgICBfU0NfRklMRV9MT0NLSU5HLAo+ID4+Pgo+ID4+PiAgICAgX1ND
X0ZJTEVfU1lTVEVNLAo+ID4+Pgo+ID4+PiAgICAgX1NDX01PTk9UT05JQ19DTE9DSywKPiA+Pj4K
PiA+Pj4gICAgIF9TQ19NVUxUSV9QUk9DRVNTLAo+ID4+Pgo+ID4+PiAgICAgX1NDX1NJTkdMRV9Q
Uk9DRVNTLAo+ID4+Pgo+ID4+PiAgICAgX1NDX05FVFdPUktJTkcsCj4gPj4+Cj4gPj4+ICAgICBf
U0NfUkVBREVSX1dSSVRFUl9MT0NLUywKPiA+Pj4KPiA+Pj4gICAgIF9TQ19TUElOX0xPQ0tTLAo+
ID4+Pgo+ID4+PiAgICAgX1NDX1JFR0VYUCwKPiA+Pj4KPiA+Pj4gICAgIF9TQ19SRUdFWF9WRVJT
SU9OLAo+ID4+Pgo+ID4+PiAgICAgX1NDX1NIRUxMLAo+ID4+Pgo+ID4+PiAgICAgX1NDX1NJR05B
TFMsCj4gPj4+Cj4gPj4+ICAgICBfU0NfU1BBV04sCj4gPj4+Cj4gPj4+ICAgICBfU0NfU1BPUkFE
SUNfU0VSVkVSLAo+ID4+Pgo+ID4+PiAgICAgX1NDX1RIUkVBRF9TUE9SQURJQ19TRVJWRVIsCj4g
Pj4+Cj4gPj4+ICAgICBfU0NfU1lTVEVNX0RBVEFCQVNFLAo+ID4+Pgo+ID4+PiAgICAgX1NDX1NZ
U1RFTV9EQVRBQkFTRV9SLAo+ID4+Pgo+ID4+PiAgICAgX1NDX1RJTUVPVVRTLAo+ID4+Pgo+ID4+
PiAgICAgX1NDX1RZUEVEX01FTU9SWV9PQkpFQ1RTLAo+ID4+Pgo+ID4+PiAgICAgX1NDX1VTRVJf
R1JPVVBTLAo+ID4+Pgo+ID4+PiAgICAgX1NDX1VTRVJfR1JPVVBTX1IsCj4gPj4+Cj4gPj4+ICAg
ICBfU0NfMl9QQlMsCj4gPj4+Cj4gPj4+ICAgICBfU0NfMl9QQlNfQUNDT1VOVElORywKPiA+Pj4K
PiA+Pj4gICAgIF9TQ18yX1BCU19MT0NBVEUsCj4gPj4+Cj4gPj4+ICAgICBfU0NfMl9QQlNfTUVT
U0FHRSwKPiA+Pj4KPiA+Pj4gICAgIF9TQ18yX1BCU19UUkFDSywKPiA+Pj4KPiA+Pj4gICAgIF9T
Q19TWU1MT09QX01BWCwKPiA+Pj4KPiA+Pj4gICAgIF9TQ19TVFJFQU1TLAo+ID4+Pgo+ID4+PiAg
ICAgX1NDXzJfUEJTX0NIRUNLUE9JTlQsCj4gPj4+Cj4gPj4+Cj4gPj4+ICAgICBfU0NfVjZfSUxQ
MzJfT0ZGMzIsCj4gPj4+Cj4gPj4+ICAgICBfU0NfVjZfSUxQMzJfT0ZGQklHLAo+ID4+Pgo+ID4+
PiAgICAgX1NDX1Y2X0xQNjRfT0ZGNjQsCj4gPj4+Cj4gPj4+ICAgICBfU0NfVjZfTFBCSUdfT0ZG
QklHLAo+ID4+Pgo+ID4+Pgo+ID4+PiAgICAgX1NDX0hPU1RfTkFNRV9NQVgsCj4gPj4+Cj4gPj4+
ICAgICBfU0NfVFJBQ0UsCj4gPj4+Cj4gPj4+ICAgICBfU0NfVFJBQ0VfRVZFTlRfRklMVEVSLAo+
ID4+Pgo+ID4+PiAgICAgX1NDX1RSQUNFX0lOSEVSSVQsCj4gPj4+Cj4gPj4+ICAgICBfU0NfVFJB
Q0VfTE9HLAo+ID4+Pgo+ID4+Pgo+ID4+PiAgICAgX1NDX0xFVkVMMV9JQ0FDSEVfU0laRSwKPiA+
Pj4KPiA+Pj4gICAgIF9TQ19MRVZFTDFfSUNBQ0hFX0FTU09DLAo+ID4+Pgo+ID4+PiAgICAgX1ND
X0xFVkVMMV9JQ0FDSEVfTElORVNJWkUsCj4gPj4+Cj4gPj4+ICAgICBfU0NfTEVWRUwxX0RDQUNI
RV9TSVpFLAo+ID4+Pgo+ID4+PiAgICAgX1NDX0xFVkVMMV9EQ0FDSEVfQVNTT0MsCj4gPj4+Cj4g
Pj4+ICAgICBfU0NfTEVWRUwxX0RDQUNIRV9MSU5FU0laRSwKPiA+Pj4KPiA+Pj4gICAgIF9TQ19M
RVZFTDJfQ0FDSEVfU0laRSwKPiA+Pj4KPiA+Pj4gICAgIF9TQ19MRVZFTDJfQ0FDSEVfQVNTT0Ms
Cj4gPj4+Cj4gPj4+ICAgICBfU0NfTEVWRUwyX0NBQ0hFX0xJTkVTSVpFLAo+ID4+Pgo+ID4+PiAg
ICAgX1NDX0xFVkVMM19DQUNIRV9TSVpFLAo+ID4+Pgo+ID4+PiAgICAgX1NDX0xFVkVMM19DQUNI
RV9BU1NPQywKPiA+Pj4KPiA+Pj4gICAgIF9TQ19MRVZFTDNfQ0FDSEVfTElORVNJWkUsCj4gPj4+
Cj4gPj4+ICAgICBfU0NfTEVWRUw0X0NBQ0hFX1NJWkUsCj4gPj4+Cj4gPj4+ICAgICBfU0NfTEVW
RUw0X0NBQ0hFX0FTU09DLAo+ID4+Pgo+ID4+PiAgICAgX1NDX0xFVkVMNF9DQUNIRV9MSU5FU0la
RSwKPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4gICAgIF9TQ19JUFY2ID0gX1NDX0xFVkVMMV9JQ0FD
SEVfU0laRSArIDUwLAo+ID4+Pgo+ID4+PiAgICAgX1NDX1JBV19TT0NLRVRTLAo+ID4+Pgo+ID4+
Pgo+ID4+PiAgICAgX1NDX1Y3X0lMUDMyX09GRjMyLAo+ID4+Pgo+ID4+PiAgICAgX1NDX1Y3X0lM
UDMyX09GRkJJRywKPiA+Pj4KPiA+Pj4gICAgIF9TQ19WN19MUDY0X09GRjY0LAo+ID4+Pgo+ID4+
PiAgICAgX1NDX1Y3X0xQQklHX09GRkJJRywKPiA+Pj4KPiA+Pj4KPiA+Pj4gICAgIF9TQ19TU19S
RVBMX01BWCwKPiA+Pj4KPiA+Pj4KPiA+Pj4gICAgIF9TQ19UUkFDRV9FVkVOVF9OQU1FX01BWCwK
PiA+Pj4KPiA+Pj4gICAgIF9TQ19UUkFDRV9OQU1FX01BWCwKPiA+Pj4KPiA+Pj4gICAgIF9TQ19U
UkFDRV9TWVNfTUFYLAo+ID4+Pgo+ID4+PiAgICAgX1NDX1RSQUNFX1VTRVJfRVZFTlRfTUFYLAo+
ID4+Pgo+ID4+Pgo+ID4+PiAgICAgX1NDX1hPUEVOX1NUUkVBTVMsCj4gPj4+Cj4gPj4+Cj4gPj4+
ICAgICBfU0NfVEhSRUFEX1JPQlVTVF9QUklPX0lOSEVSSVQsCj4gPj4+Cj4gPj4+ICAgICBfU0Nf
VEhSRUFEX1JPQlVTVF9QUklPX1BST1RFQ1QKPiA+Pj4KPiA+Pj4gICB9Owo+ID4+Pgo+ID4+Pgo+
ID4+PiBlbnVtCj4gPj4+ICAgewo+ID4+PiAgICAgX0NTX1BBVEgsCj4gPj4+Cj4gPj4+Cj4gPj4+
ICAgICBfQ1NfVjZfV0lEVEhfUkVTVFJJQ1RFRF9FTlZTLAo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+
PiAgICAgX0NTX0dOVV9MSUJDX1ZFUlNJT04sCj4gPj4+Cj4gPj4+ICAgICBfQ1NfR05VX0xJQlBU
SFJFQURfVkVSU0lPTiwKPiA+Pj4KPiA+Pj4KPiA+Pj4gICAgIF9DU19WNV9XSURUSF9SRVNUUklD
VEVEX0VOVlMsCj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+ICAgICBfQ1NfVjdfV0lEVEhfUkVTVFJJ
Q1RFRF9FTlZTLAo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+PiAgICAgX0NTX0xGU19DRkxBR1MgPSAx
MDAwLAo+ID4+Pgo+ID4+PiAgICAgX0NTX0xGU19MREZMQUdTLAo+ID4+Pgo+ID4+PiAgICAgX0NT
X0xGU19MSUJTLAo+ID4+Pgo+ID4+PiAgICAgX0NTX0xGU19MSU5URkxBR1MsCj4gPj4+Cj4gPj4+
ICAgICBfQ1NfTEZTNjRfQ0ZMQUdTLAo+ID4+Pgo+ID4+PiAgICAgX0NTX0xGUzY0X0xERkxBR1Ms
Cj4gPj4+Cj4gPj4+ICAgICBfQ1NfTEZTNjRfTElCUywKPiA+Pj4KPiA+Pj4gICAgIF9DU19MRlM2
NF9MSU5URkxBR1MsCj4gPj4+Cj4gPj4+Cj4gPj4+ICAgICBfQ1NfWEJTNV9JTFAzMl9PRkYzMl9D
RkxBR1MgPSAxMTAwLAo+ID4+Pgo+ID4+PiAgICAgX0NTX1hCUzVfSUxQMzJfT0ZGMzJfTERGTEFH
UywKPiA+Pj4KPiA+Pj4gICAgIF9DU19YQlM1X0lMUDMyX09GRjMyX0xJQlMsCj4gPj4+Cj4gPj4+
ICAgICBfQ1NfWEJTNV9JTFAzMl9PRkYzMl9MSU5URkxBR1MsCj4gPj4+Cj4gPj4+ICAgICBfQ1Nf
WEJTNV9JTFAzMl9PRkZCSUdfQ0ZMQUdTLAo+ID4+Pgo+ID4+PiAgICAgX0NTX1hCUzVfSUxQMzJf
T0ZGQklHX0xERkxBR1MsCj4gPj4+Cj4gPj4+ICAgICBfQ1NfWEJTNV9JTFAzMl9PRkZCSUdfTElC
UywKPiA+Pj4KPiA+Pj4gICAgIF9DU19YQlM1X0lMUDMyX09GRkJJR19MSU5URkxBR1MsCj4gPj4+
Cj4gPj4+ICAgICBfQ1NfWEJTNV9MUDY0X09GRjY0X0NGTEFHUywKPiA+Pj4KPiA+Pj4gICAgIF9D
U19YQlM1X0xQNjRfT0ZGNjRfTERGTEFHUywKPiA+Pj4KPiA+Pj4gICAgIF9DU19YQlM1X0xQNjRf
T0ZGNjRfTElCUywKPiA+Pj4KPiA+Pj4gICAgIF9DU19YQlM1X0xQNjRfT0ZGNjRfTElOVEZMQUdT
LAo+ID4+Pgo+ID4+PiAgICAgX0NTX1hCUzVfTFBCSUdfT0ZGQklHX0NGTEFHUywKPiA+Pj4KPiA+
Pj4gICAgIF9DU19YQlM1X0xQQklHX09GRkJJR19MREZMQUdTLAo+ID4+Pgo+ID4+PiAgICAgX0NT
X1hCUzVfTFBCSUdfT0ZGQklHX0xJQlMsCj4gPj4+Cj4gPj4+ICAgICBfQ1NfWEJTNV9MUEJJR19P
RkZCSUdfTElOVEZMQUdTLAo+ID4+Pgo+ID4+Pgo+ID4+PiAgICAgX0NTX1BPU0lYX1Y2X0lMUDMy
X09GRjMyX0NGTEFHUywKPiA+Pj4KPiA+Pj4gICAgIF9DU19QT1NJWF9WNl9JTFAzMl9PRkYzMl9M
REZMQUdTLAo+ID4+Pgo+ID4+PiAgICAgX0NTX1BPU0lYX1Y2X0lMUDMyX09GRjMyX0xJQlMsCj4g
Pj4+Cj4gPj4+ICAgICBfQ1NfUE9TSVhfVjZfSUxQMzJfT0ZGMzJfTElOVEZMQUdTLAo+ID4+Pgo+
ID4+PiAgICAgX0NTX1BPU0lYX1Y2X0lMUDMyX09GRkJJR19DRkxBR1MsCj4gPj4+Cj4gPj4+ICAg
ICBfQ1NfUE9TSVhfVjZfSUxQMzJfT0ZGQklHX0xERkxBR1MsCj4gPj4+Cj4gPj4+ICAgICBfQ1Nf
UE9TSVhfVjZfSUxQMzJfT0ZGQklHX0xJQlMsCj4gPj4+Cj4gPj4+ICAgICBfQ1NfUE9TSVhfVjZf
SUxQMzJfT0ZGQklHX0xJTlRGTEFHUywKPiA+Pj4KPiA+Pj4gICAgIF9DU19QT1NJWF9WNl9MUDY0
X09GRjY0X0NGTEFHUywKPiA+Pj4KPiA+Pj4gICAgIF9DU19QT1NJWF9WNl9MUDY0X09GRjY0X0xE
RkxBR1MsCj4gPj4+Cj4gPj4+ICAgICBfQ1NfUE9TSVhfVjZfTFA2NF9PRkY2NF9MSUJTLAo+ID4+
Pgo+ID4+PiAgICAgX0NTX1BPU0lYX1Y2X0xQNjRfT0ZGNjRfTElOVEZMQUdTLAo+ID4+Pgo+ID4+
PiAgICAgX0NTX1BPU0lYX1Y2X0xQQklHX09GRkJJR19DRkxBR1MsCj4gPj4+Cj4gPj4+ICAgICBf
Q1NfUE9TSVhfVjZfTFBCSUdfT0ZGQklHX0xERkxBR1MsCj4gPj4+Cj4gPj4+ICAgICBfQ1NfUE9T
SVhfVjZfTFBCSUdfT0ZGQklHX0xJQlMsCj4gPj4+Cj4gPj4+ICAgICBfQ1NfUE9TSVhfVjZfTFBC
SUdfT0ZGQklHX0xJTlRGTEFHUywKPiA+Pj4KPiA+Pj4KPiA+Pj4gICAgIF9DU19QT1NJWF9WN19J
TFAzMl9PRkYzMl9DRkxBR1MsCj4gPj4+Cj4gPj4+ICAgICBfQ1NfUE9TSVhfVjdfSUxQMzJfT0ZG
MzJfTERGTEFHUywKPiA+Pj4KPiA+Pj4gICAgIF9DU19QT1NJWF9WN19JTFAzMl9PRkYzMl9MSUJT
LAo+ID4+Pgo+ID4+PiAgICAgX0NTX1BPU0lYX1Y3X0lMUDMyX09GRjMyX0xJTlRGTEFHUywKPiA+
Pj4KPiA+Pj4gICAgIF9DU19QT1NJWF9WN19JTFAzMl9PRkZCSUdfQ0ZMQUdTLAo+ID4+Pgo+ID4+
PiAgICAgX0NTX1BPU0lYX1Y3X0lMUDMyX09GRkJJR19MREZMQUdTLAo+ID4+Pgo+ID4+PiAgICAg
X0NTX1BPU0lYX1Y3X0lMUDMyX09GRkJJR19MSUJTLAo+ID4+Pgo+ID4+PiAgICAgX0NTX1BPU0lY
X1Y3X0lMUDMyX09GRkJJR19MSU5URkxBR1MsCj4gPj4+Cj4gPj4+ICAgICBfQ1NfUE9TSVhfVjdf
TFA2NF9PRkY2NF9DRkxBR1MsCj4gPj4+Cj4gPj4+ICAgICBfQ1NfUE9TSVhfVjdfTFA2NF9PRkY2
NF9MREZMQUdTLAo+ID4+Pgo+ID4+PiAgICAgX0NTX1BPU0lYX1Y3X0xQNjRfT0ZGNjRfTElCUywK
PiA+Pj4KPiA+Pj4gICAgIF9DU19QT1NJWF9WN19MUDY0X09GRjY0X0xJTlRGTEFHUywKPiA+Pj4K
PiA+Pj4gICAgIF9DU19QT1NJWF9WN19MUEJJR19PRkZCSUdfQ0ZMQUdTLAo+ID4+Pgo+ID4+PiAg
ICAgX0NTX1BPU0lYX1Y3X0xQQklHX09GRkJJR19MREZMQUdTLAo+ID4+Pgo+ID4+PiAgICAgX0NT
X1BPU0lYX1Y3X0xQQklHX09GRkJJR19MSUJTLAo+ID4+Pgo+ID4+PiAgICAgX0NTX1BPU0lYX1Y3
X0xQQklHX09GRkJJR19MSU5URkxBR1MsCj4gPj4+Cj4gPj4+Cj4gPj4+ICAgICBfQ1NfVjZfRU5W
LAo+ID4+Pgo+ID4+PiAgICAgX0NTX1Y3X0VOVgo+ID4+Pgo+ID4+PiAgIH07Cj4gPj4+ICMgNjEz
ICIvdXNyL2luY2x1ZGUvdW5pc3RkLmgiIDIgMyA0Cj4gPj4+Cj4gPj4+Cj4gPj4+IGV4dGVybiBs
b25nIGludCBwYXRoY29uZiAoY29uc3QgY2hhciAqX19wYXRoLCBpbnQgX19uYW1lKQo+ID4+PiAg
ICAgIF9fYXR0cmlidXRlX18gKChfX25vdGhyb3dfXyAsIF9fbGVhZl9fKSkgX19hdHRyaWJ1dGVf
XyAoKF9fbm9ubnVsbF9fICgxKSkpOwo+ID4+Pgo+ID4+Pgo+ID4+PiBleHRlcm4gbG9uZyBpbnQg
ZnBhdGhjb25mIChpbnQgX19mZCwgaW50IF9fbmFtZSkgX19hdHRyaWJ1dGVfXyAoKF9fbm90aHJv
d19fICwgX19sZWFmX18pKTsKPiA+Pj4KPiA+Pj4KPiA+Pj4gZXh0ZXJuIGxvbmcgaW50IHN5c2Nv
bmYgKGludCBfX25hbWUpIF9fYXR0cmlidXRlX18gKChfX25vdGhyb3dfXyAsIF9fbGVhZl9fKSk7
Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+IGV4dGVybiBzaXplX3QgY29uZnN0ciAoaW50IF9fbmFt
ZSwgY2hhciAqX19idWYsIHNpemVfdCBfX2xlbikgX19hdHRyaWJ1dGVfXyAoKF9fbm90aHJvd19f
ICwgX19sZWFmX18pKTsKPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4gZXh0ZXJuIF9fcGlk
X3QgZ2V0cGlkICh2b2lkKSBfX2F0dHJpYnV0ZV9fICgoX19ub3Rocm93X18gLCBfX2xlYWZfXykp
Owo+ID4+Pgo+ID4+Pgo+ID4+PiBleHRlcm4gX19waWRfdCBnZXRwcGlkICh2b2lkKSBfX2F0dHJp
YnV0ZV9fICgoX19ub3Rocm93X18gLCBfX2xlYWZfXykpOwo+ID4+Pgo+ID4+Pgo+ID4+PiBleHRl
cm4gX19waWRfdCBnZXRwZ3JwICh2b2lkKSBfX2F0dHJpYnV0ZV9fICgoX19ub3Rocm93X18gLCBf
X2xlYWZfXykpOwo+ID4+Pgo+ID4+Pgo+ID4+PiBleHRlcm4gX19waWRfdCBfX2dldHBnaWQgKF9f
cGlkX3QgX19waWQpIF9fYXR0cmlidXRlX18gKChfX25vdGhyb3dfXyAsIF9fbGVhZl9fKSk7Cj4g
Pj4+Cj4gPj4+IGV4dGVybiBfX3BpZF90IGdldHBnaWQgKF9fcGlkX3QgX19waWQpIF9fYXR0cmli
dXRlX18gKChfX25vdGhyb3dfXyAsIF9fbGVhZl9fKSk7Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+
Cj4gPj4+Cj4gPj4+Cj4gPj4+IGV4dGVybiBpbnQgc2V0cGdpZCAoX19waWRfdCBfX3BpZCwgX19w
aWRfdCBfX3BnaWQpIF9fYXR0cmlidXRlX18gKChfX25vdGhyb3dfXyAsIF9fbGVhZl9fKSk7Cj4g
Pj4+ICMgNjYzICIvdXNyL2luY2x1ZGUvdW5pc3RkLmgiIDMgNAo+ID4+PiBleHRlcm4gaW50IHNl
dHBncnAgKHZvaWQpIF9fYXR0cmlidXRlX18gKChfX25vdGhyb3dfXyAsIF9fbGVhZl9fKSk7Cj4g
Pj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+IGV4dGVybiBfX3BpZF90IHNl
dHNpZCAodm9pZCkgX19hdHRyaWJ1dGVfXyAoKF9fbm90aHJvd19fICwgX19sZWFmX18pKTsKPiA+
Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4gZXh0ZXJuIF9fcGlkX3QgZ2V0c2lkIChfX3BpZF90IF9fcGlk
KSBfX2F0dHJpYnV0ZV9fICgoX19ub3Rocm93X18gLCBfX2xlYWZfXykpOwo+ID4+Pgo+ID4+Pgo+
ID4+Pgo+ID4+PiBleHRlcm4gX191aWRfdCBnZXR1aWQgKHZvaWQpIF9fYXR0cmlidXRlX18gKChf
X25vdGhyb3dfXyAsIF9fbGVhZl9fKSk7Cj4gPj4+Cj4gPj4+Cj4gPj4+IGV4dGVybiBfX3VpZF90
IGdldGV1aWQgKHZvaWQpIF9fYXR0cmlidXRlX18gKChfX25vdGhyb3dfXyAsIF9fbGVhZl9fKSk7
Cj4gPj4+Cj4gPj4+Cj4gPj4+IGV4dGVybiBfX2dpZF90IGdldGdpZCAodm9pZCkgX19hdHRyaWJ1
dGVfXyAoKF9fbm90aHJvd19fICwgX19sZWFmX18pKTsKPiA+Pj4KPiA+Pj4KPiA+Pj4gZXh0ZXJu
IF9fZ2lkX3QgZ2V0ZWdpZCAodm9pZCkgX19hdHRyaWJ1dGVfXyAoKF9fbm90aHJvd19fICwgX19s
ZWFmX18pKTsKPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4gZXh0ZXJuIGludCBnZXRncm91
cHMgKGludCBfX3NpemUsIF9fZ2lkX3QgX19saXN0W10pIF9fYXR0cmlidXRlX18gKChfX25vdGhy
b3dfXyAsIF9fbGVhZl9fKSkgOwo+ID4+PiAjIDcwMyAiL3Vzci9pbmNsdWRlL3VuaXN0ZC5oIiAz
IDQKPiA+Pj4gZXh0ZXJuIGludCBzZXR1aWQgKF9fdWlkX3QgX191aWQpIF9fYXR0cmlidXRlX18g
KChfX25vdGhyb3dfXyAsIF9fbGVhZl9fKSkgOwo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+
PiBleHRlcm4gaW50IHNldHJldWlkIChfX3VpZF90IF9fcnVpZCwgX191aWRfdCBfX2V1aWQpIF9f
YXR0cmlidXRlX18gKChfX25vdGhyb3dfXyAsIF9fbGVhZl9fKSkgOwo+ID4+Pgo+ID4+Pgo+ID4+
Pgo+ID4+Pgo+ID4+PiBleHRlcm4gaW50IHNldGV1aWQgKF9fdWlkX3QgX191aWQpIF9fYXR0cmli
dXRlX18gKChfX25vdGhyb3dfXyAsIF9fbGVhZl9fKSkgOwo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+
Pgo+ID4+Pgo+ID4+Pgo+ID4+PiBleHRlcm4gaW50IHNldGdpZCAoX19naWRfdCBfX2dpZCkgX19h
dHRyaWJ1dGVfXyAoKF9fbm90aHJvd19fICwgX19sZWFmX18pKSA7Cj4gPj4+Cj4gPj4+Cj4gPj4+
Cj4gPj4+Cj4gPj4+IGV4dGVybiBpbnQgc2V0cmVnaWQgKF9fZ2lkX3QgX19yZ2lkLCBfX2dpZF90
IF9fZWdpZCkgX19hdHRyaWJ1dGVfXyAoKF9fbm90aHJvd19fICwgX19sZWFmX18pKSA7Cj4gPj4+
Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+IGV4dGVybiBpbnQgc2V0ZWdpZCAoX19naWRfdCBfX2dp
ZCkgX19hdHRyaWJ1dGVfXyAoKF9fbm90aHJvd19fICwgX19sZWFmX18pKSA7Cj4gPj4+ICMgNzU5
ICIvdXNyL2luY2x1ZGUvdW5pc3RkLmgiIDMgNAo+ID4+PiBleHRlcm4gX19waWRfdCBmb3JrICh2
b2lkKSBfX2F0dHJpYnV0ZV9fICgoX19ub3Rocm93X18pKTsKPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+
Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4gZXh0ZXJuIF9fcGlkX3QgdmZvcmsgKHZvaWQpIF9f
YXR0cmlidXRlX18gKChfX25vdGhyb3dfXyAsIF9fbGVhZl9fKSk7Cj4gPj4+Cj4gPj4+Cj4gPj4+
Cj4gPj4+Cj4gPj4+Cj4gPj4+IGV4dGVybiBjaGFyICp0dHluYW1lIChpbnQgX19mZCkgX19hdHRy
aWJ1dGVfXyAoKF9fbm90aHJvd19fICwgX19sZWFmX18pKTsKPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+
Pj4gZXh0ZXJuIGludCB0dHluYW1lX3IgKGludCBfX2ZkLCBjaGFyICpfX2J1Ziwgc2l6ZV90IF9f
YnVmbGVuKQo+ID4+PiAgICAgIF9fYXR0cmlidXRlX18gKChfX25vdGhyb3dfXyAsIF9fbGVhZl9f
KSkgX19hdHRyaWJ1dGVfXyAoKF9fbm9ubnVsbF9fICgyKSkpIDsKPiA+Pj4KPiA+Pj4KPiA+Pj4K
PiA+Pj4gZXh0ZXJuIGludCBpc2F0dHkgKGludCBfX2ZkKSBfX2F0dHJpYnV0ZV9fICgoX19ub3Ro
cm93X18gLCBfX2xlYWZfXykpOwo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+PiBl
eHRlcm4gaW50IHR0eXNsb3QgKHZvaWQpIF9fYXR0cmlidXRlX18gKChfX25vdGhyb3dfXyAsIF9f
bGVhZl9fKSk7Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+IGV4dGVybiBpbnQgbGluayAo
Y29uc3QgY2hhciAqX19mcm9tLCBjb25zdCBjaGFyICpfX3RvKQo+ID4+PiAgICAgIF9fYXR0cmli
dXRlX18gKChfX25vdGhyb3dfXyAsIF9fbGVhZl9fKSkgX19hdHRyaWJ1dGVfXyAoKF9fbm9ubnVs
bF9fICgxLCAyKSkpIDsKPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4gZXh0ZXJuIGludCBs
aW5rYXQgKGludCBfX2Zyb21mZCwgY29uc3QgY2hhciAqX19mcm9tLCBpbnQgX190b2ZkLAo+ID4+
PiAgICAgIGNvbnN0IGNoYXIgKl9fdG8sIGludCBfX2ZsYWdzKQo+ID4+PiAgICAgIF9fYXR0cmli
dXRlX18gKChfX25vdGhyb3dfXyAsIF9fbGVhZl9fKSkgX19hdHRyaWJ1dGVfXyAoKF9fbm9ubnVs
bF9fICgyLCA0KSkpIDsKPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4gZXh0ZXJuIGludCBz
eW1saW5rIChjb25zdCBjaGFyICpfX2Zyb20sIGNvbnN0IGNoYXIgKl9fdG8pCj4gPj4+ICAgICAg
X19hdHRyaWJ1dGVfXyAoKF9fbm90aHJvd19fICwgX19sZWFmX18pKSBfX2F0dHJpYnV0ZV9fICgo
X19ub25udWxsX18gKDEsIDIpKSkgOwo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+PiBleHRl
cm4gc3NpemVfdCByZWFkbGluayAoY29uc3QgY2hhciAqX19yZXN0cmljdCBfX3BhdGgsCj4gPj4+
ICAgICBjaGFyICpfX3Jlc3RyaWN0IF9fYnVmLCBzaXplX3QgX19sZW4pCj4gPj4+ICAgICAgX19h
dHRyaWJ1dGVfXyAoKF9fbm90aHJvd19fICwgX19sZWFmX18pKSBfX2F0dHJpYnV0ZV9fICgoX19u
b25udWxsX18gKDEsIDIpKSkgOwo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+PiBleHRlcm4g
aW50IHN5bWxpbmthdCAoY29uc3QgY2hhciAqX19mcm9tLCBpbnQgX190b2ZkLAo+ID4+PiAgICAg
ICAgIGNvbnN0IGNoYXIgKl9fdG8pIF9fYXR0cmlidXRlX18gKChfX25vdGhyb3dfXyAsIF9fbGVh
Zl9fKSkgX19hdHRyaWJ1dGVfXyAoKF9fbm9ubnVsbF9fICgxLCAzKSkpIDsKPiA+Pj4KPiA+Pj4K
PiA+Pj4gZXh0ZXJuIHNzaXplX3QgcmVhZGxpbmthdCAoaW50IF9fZmQsIGNvbnN0IGNoYXIgKl9f
cmVzdHJpY3QgX19wYXRoLAo+ID4+PiAgICAgICBjaGFyICpfX3Jlc3RyaWN0IF9fYnVmLCBzaXpl
X3QgX19sZW4pCj4gPj4+ICAgICAgX19hdHRyaWJ1dGVfXyAoKF9fbm90aHJvd19fICwgX19sZWFm
X18pKSBfX2F0dHJpYnV0ZV9fICgoX19ub25udWxsX18gKDIsIDMpKSkgOwo+ID4+Pgo+ID4+Pgo+
ID4+Pgo+ID4+PiBleHRlcm4gaW50IHVubGluayAoY29uc3QgY2hhciAqX19uYW1lKSBfX2F0dHJp
YnV0ZV9fICgoX19ub3Rocm93X18gLCBfX2xlYWZfXykpIF9fYXR0cmlidXRlX18gKChfX25vbm51
bGxfXyAoMSkpKTsKPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4gZXh0ZXJuIGludCB1bmxpbmthdCAo
aW50IF9fZmQsIGNvbnN0IGNoYXIgKl9fbmFtZSwgaW50IF9fZmxhZykKPiA+Pj4gICAgICBfX2F0
dHJpYnV0ZV9fICgoX19ub3Rocm93X18gLCBfX2xlYWZfXykpIF9fYXR0cmlidXRlX18gKChfX25v
bm51bGxfXyAoMikpKTsKPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4gZXh0ZXJuIGludCBybWRpciAo
Y29uc3QgY2hhciAqX19wYXRoKSBfX2F0dHJpYnV0ZV9fICgoX19ub3Rocm93X18gLCBfX2xlYWZf
XykpIF9fYXR0cmlidXRlX18gKChfX25vbm51bGxfXyAoMSkpKTsKPiA+Pj4KPiA+Pj4KPiA+Pj4K
PiA+Pj4gZXh0ZXJuIF9fcGlkX3QgdGNnZXRwZ3JwIChpbnQgX19mZCkgX19hdHRyaWJ1dGVfXyAo
KF9fbm90aHJvd19fICwgX19sZWFmX18pKTsKPiA+Pj4KPiA+Pj4KPiA+Pj4gZXh0ZXJuIGludCB0
Y3NldHBncnAgKGludCBfX2ZkLCBfX3BpZF90IF9fcGdycF9pZCkgX19hdHRyaWJ1dGVfXyAoKF9f
bm90aHJvd19fICwgX19sZWFmX18pKTsKPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+
Pj4KPiA+Pj4gZXh0ZXJuIGNoYXIgKmdldGxvZ2luICh2b2lkKTsKPiA+Pj4KPiA+Pj4KPiA+Pj4K
PiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4gZXh0ZXJuIGludCBnZXRsb2dpbl9yIChjaGFy
ICpfX25hbWUsIHNpemVfdCBfX25hbWVfbGVuKSBfX2F0dHJpYnV0ZV9fICgoX19ub25udWxsX18g
KDEpKSk7Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+IGV4dGVybiBpbnQgc2V0bG9naW4g
KGNvbnN0IGNoYXIgKl9fbmFtZSkgX19hdHRyaWJ1dGVfXyAoKF9fbm90aHJvd19fICwgX19sZWFm
X18pKSBfX2F0dHJpYnV0ZV9fICgoX19ub25udWxsX18gKDEpKSk7Cj4gPj4+ICMgODc0ICIvdXNy
L2luY2x1ZGUvdW5pc3RkLmgiIDMgNAo+ID4+PiAjIDEgIi91c3IvaW5jbHVkZS9nZXRvcHQuaCIg
MSAzIDQKPiA+Pj4gIyA1NyAiL3Vzci9pbmNsdWRlL2dldG9wdC5oIiAzIDQKPiA+Pj4gZXh0ZXJu
IGNoYXIgKm9wdGFyZzsKPiA+Pj4gIyA3MSAiL3Vzci9pbmNsdWRlL2dldG9wdC5oIiAzIDQKPiA+
Pj4gZXh0ZXJuIGludCBvcHRpbmQ7Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+IGV4dGVy
biBpbnQgb3B0ZXJyOwo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+PiBleHRlcm4gaW50IG9wdG9wdDsK
PiA+Pj4gIyAxNTAgIi91c3IvaW5jbHVkZS9nZXRvcHQuaCIgMyA0Cj4gPj4+IGV4dGVybiBpbnQg
Z2V0b3B0IChpbnQgX19fYXJnYywgY2hhciAqY29uc3QgKl9fX2FyZ3YsIGNvbnN0IGNoYXIgKl9f
c2hvcnRvcHRzKQo+ID4+PiAgICAgICAgX19hdHRyaWJ1dGVfXyAoKF9fbm90aHJvd19fICwgX19s
ZWFmX18pKTsKPiA+Pj4gIyA4NzUgIi91c3IvaW5jbHVkZS91bmlzdGQuaCIgMiAzIDQKPiA+Pj4K
PiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4gZXh0ZXJuIGludCBnZXRo
b3N0bmFtZSAoY2hhciAqX19uYW1lLCBzaXplX3QgX19sZW4pIF9fYXR0cmlidXRlX18gKChfX25v
dGhyb3dfXyAsIF9fbGVhZl9fKSkgX19hdHRyaWJ1dGVfXyAoKF9fbm9ubnVsbF9fICgxKSkpOwo+
ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+PiBleHRlcm4gaW50IHNldGhv
c3RuYW1lIChjb25zdCBjaGFyICpfX25hbWUsIHNpemVfdCBfX2xlbikKPiA+Pj4gICAgICBfX2F0
dHJpYnV0ZV9fICgoX19ub3Rocm93X18gLCBfX2xlYWZfXykpIF9fYXR0cmlidXRlX18gKChfX25v
bm51bGxfXyAoMSkpKSA7Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+IGV4dGVybiBpbnQgc2V0aG9z
dGlkIChsb25nIGludCBfX2lkKSBfX2F0dHJpYnV0ZV9fICgoX19ub3Rocm93X18gLCBfX2xlYWZf
XykpIDsKPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4gZXh0ZXJuIGludCBnZXRk
b21haW5uYW1lIChjaGFyICpfX25hbWUsIHNpemVfdCBfX2xlbikKPiA+Pj4gICAgICBfX2F0dHJp
YnV0ZV9fICgoX19ub3Rocm93X18gLCBfX2xlYWZfXykpIF9fYXR0cmlidXRlX18gKChfX25vbm51
bGxfXyAoMSkpKSA7Cj4gPj4+IGV4dGVybiBpbnQgc2V0ZG9tYWlubmFtZSAoY29uc3QgY2hhciAq
X19uYW1lLCBzaXplX3QgX19sZW4pCj4gPj4+ICAgICAgX19hdHRyaWJ1dGVfXyAoKF9fbm90aHJv
d19fICwgX19sZWFmX18pKSBfX2F0dHJpYnV0ZV9fICgoX19ub25udWxsX18gKDEpKSkgOwo+ID4+
Pgo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+PiBleHRlcm4gaW50IHZoYW5ndXAgKHZvaWQp
IF9fYXR0cmlidXRlX18gKChfX25vdGhyb3dfXyAsIF9fbGVhZl9fKSk7Cj4gPj4+Cj4gPj4+Cj4g
Pj4+IGV4dGVybiBpbnQgcmV2b2tlIChjb25zdCBjaGFyICpfX2ZpbGUpIF9fYXR0cmlidXRlX18g
KChfX25vdGhyb3dfXyAsIF9fbGVhZl9fKSkgX19hdHRyaWJ1dGVfXyAoKF9fbm9ubnVsbF9fICgx
KSkpIDsKPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4gZXh0
ZXJuIGludCBwcm9maWwgKHVuc2lnbmVkIHNob3J0IGludCAqX19zYW1wbGVfYnVmZmVyLCBzaXpl
X3QgX19zaXplLAo+ID4+PiAgICAgIHNpemVfdCBfX29mZnNldCwgdW5zaWduZWQgaW50IF9fc2Nh
bGUpCj4gPj4+ICAgICAgX19hdHRyaWJ1dGVfXyAoKF9fbm90aHJvd19fICwgX19sZWFmX18pKSBf
X2F0dHJpYnV0ZV9fICgoX19ub25udWxsX18gKDEpKSk7Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+
Cj4gPj4+Cj4gPj4+IGV4dGVybiBpbnQgYWNjdCAoY29uc3QgY2hhciAqX19uYW1lKSBfX2F0dHJp
YnV0ZV9fICgoX19ub3Rocm93X18gLCBfX2xlYWZfXykpOwo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+
PiBleHRlcm4gY2hhciAqZ2V0dXNlcnNoZWxsICh2b2lkKSBfX2F0dHJpYnV0ZV9fICgoX19ub3Ro
cm93X18gLCBfX2xlYWZfXykpOwo+ID4+PiBleHRlcm4gdm9pZCBlbmR1c2Vyc2hlbGwgKHZvaWQp
IF9fYXR0cmlidXRlX18gKChfX25vdGhyb3dfXyAsIF9fbGVhZl9fKSk7Cj4gPj4+IGV4dGVybiB2
b2lkIHNldHVzZXJzaGVsbCAodm9pZCkgX19hdHRyaWJ1dGVfXyAoKF9fbm90aHJvd19fICwgX19s
ZWFmX18pKTsKPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4gZXh0ZXJuIGludCBk
YWVtb24gKGludCBfX25vY2hkaXIsIGludCBfX25vY2xvc2UpIF9fYXR0cmlidXRlX18gKChfX25v
dGhyb3dfXyAsIF9fbGVhZl9fKSkgOwo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+
Pgo+ID4+PiBleHRlcm4gaW50IGNocm9vdCAoY29uc3QgY2hhciAqX19wYXRoKSBfX2F0dHJpYnV0
ZV9fICgoX19ub3Rocm93X18gLCBfX2xlYWZfXykpIF9fYXR0cmlidXRlX18gKChfX25vbm51bGxf
XyAoMSkpKSA7Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+IGV4dGVybiBjaGFyICpnZXRwYXNzIChj
b25zdCBjaGFyICpfX3Byb21wdCkgX19hdHRyaWJ1dGVfXyAoKF9fbm9ubnVsbF9fICgxKSkpOwo+
ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+PiBleHRlcm4gaW50
IGZzeW5jIChpbnQgX19mZCk7Cj4gPj4+ICMgOTcyICIvdXNyL2luY2x1ZGUvdW5pc3RkLmgiIDMg
NAo+ID4+PiBleHRlcm4gbG9uZyBpbnQgZ2V0aG9zdGlkICh2b2lkKTsKPiA+Pj4KPiA+Pj4KPiA+
Pj4gZXh0ZXJuIHZvaWQgc3luYyAodm9pZCkgX19hdHRyaWJ1dGVfXyAoKF9fbm90aHJvd19fICwg
X19sZWFmX18pKTsKPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4gZXh0ZXJuIGlu
dCBnZXRwYWdlc2l6ZSAodm9pZCkgX19hdHRyaWJ1dGVfXyAoKF9fbm90aHJvd19fICwgX19sZWFm
X18pKSBfX2F0dHJpYnV0ZV9fICgoX19jb25zdF9fKSk7Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+
Cj4gPj4+IGV4dGVybiBpbnQgZ2V0ZHRhYmxlc2l6ZSAodm9pZCkgX19hdHRyaWJ1dGVfXyAoKF9f
bm90aHJvd19fICwgX19sZWFmX18pKTsKPiA+Pj4gIyA5OTYgIi91c3IvaW5jbHVkZS91bmlzdGQu
aCIgMyA0Cj4gPj4+IGV4dGVybiBpbnQgdHJ1bmNhdGUgKGNvbnN0IGNoYXIgKl9fZmlsZSwgX19v
ZmZfdCBfX2xlbmd0aCkKPiA+Pj4gICAgICBfX2F0dHJpYnV0ZV9fICgoX19ub3Rocm93X18gLCBf
X2xlYWZfXykpIF9fYXR0cmlidXRlX18gKChfX25vbm51bGxfXyAoMSkpKSA7Cj4gPj4+ICMgMTAx
OSAiL3Vzci9pbmNsdWRlL3VuaXN0ZC5oIiAzIDQKPiA+Pj4gZXh0ZXJuIGludCBmdHJ1bmNhdGUg
KGludCBfX2ZkLCBfX29mZl90IF9fbGVuZ3RoKSBfX2F0dHJpYnV0ZV9fICgoX19ub3Rocm93X18g
LCBfX2xlYWZfXykpIDsKPiA+Pj4gIyAxMDQwICIvdXNyL2luY2x1ZGUvdW5pc3RkLmgiIDMgNAo+
ID4+PiBleHRlcm4gaW50IGJyayAodm9pZCAqX19hZGRyKSBfX2F0dHJpYnV0ZV9fICgoX19ub3Ro
cm93X18gLCBfX2xlYWZfXykpIDsKPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4g
ZXh0ZXJuIHZvaWQgKnNicmsgKGludHB0cl90IF9fZGVsdGEpIF9fYXR0cmlidXRlX18gKChfX25v
dGhyb3dfXyAsIF9fbGVhZl9fKSk7Cj4gPj4+ICMgMTA2MSAiL3Vzci9pbmNsdWRlL3VuaXN0ZC5o
IiAzIDQKPiA+Pj4gZXh0ZXJuIGxvbmcgaW50IHN5c2NhbGwgKGxvbmcgaW50IF9fc3lzbm8sIC4u
LikgX19hdHRyaWJ1dGVfXyAoKF9fbm90aHJvd19fICwgX19sZWFmX18pKTsKPiA+Pj4gIyAxMTE1
ICIvdXNyL2luY2x1ZGUvdW5pc3RkLmgiIDMgNAo+ID4+PiBleHRlcm4gaW50IGZkYXRhc3luYyAo
aW50IF9fZmlsZGVzKTsKPiA+Pj4gIyAxMTU0ICIvdXNyL2luY2x1ZGUvdW5pc3RkLmgiIDMgNAo+
ID4+Pgo+ID4+PiAjIDU5ICJtYWNoaW5lLmMiIDIKPiA+Pj4gIyAxICIvdXNyL2luY2x1ZGUvc3lz
L3BhcmFtLmgiIDEgMyA0Cj4gPj4+ICMgMjMgIi91c3IvaW5jbHVkZS9zeXMvcGFyYW0uaCIgMyA0
Cj4gPj4+ICMgMSAiL3Vzci9saWIvZ2NjL2k2ODYtcmVkaGF0LWxpbnV4LzYuMS4xL2luY2x1ZGUv
c3RkZGVmLmgiIDEgMyA0Cj4gPj4+ICMgMjQgIi91c3IvaW5jbHVkZS9zeXMvcGFyYW0uaCIgMiAz
IDQKPiA+Pj4KPiA+Pj4KPiA+Pj4gIyAxICIvdXNyL2xpYi9nY2MvaTY4Ni1yZWRoYXQtbGludXgv
Ni4xLjEvaW5jbHVkZS9saW1pdHMuaCIgMSAzIDQKPiA+Pj4gIyAzNCAiL3Vzci9saWIvZ2NjL2k2
ODYtcmVkaGF0LWxpbnV4LzYuMS4xL2luY2x1ZGUvbGltaXRzLmgiIDMgNAo+ID4+PiAjIDEgIi91
c3IvbGliL2djYy9pNjg2LXJlZGhhdC1saW51eC82LjEuMS9pbmNsdWRlL3N5c2xpbWl0cy5oIiAx
IDMgNAo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+PiAjIDEgIi91c3Iv
bGliL2djYy9pNjg2LXJlZGhhdC1saW51eC82LjEuMS9pbmNsdWRlL2xpbWl0cy5oIiAxIDMgNAo+
ID4+PiAjIDE2OCAiL3Vzci9saWIvZ2NjL2k2ODYtcmVkaGF0LWxpbnV4LzYuMS4xL2luY2x1ZGUv
bGltaXRzLmgiIDMgNAo+ID4+PiAjIDEgIi91c3IvaW5jbHVkZS9saW1pdHMuaCIgMSAzIDQKPiA+
Pj4gIyAxNDMgIi91c3IvaW5jbHVkZS9saW1pdHMuaCIgMyA0Cj4gPj4+ICMgMSAiL3Vzci9pbmNs
dWRlL2JpdHMvcG9zaXgxX2xpbS5oIiAxIDMgNAo+ID4+PiAjIDE2MCAiL3Vzci9pbmNsdWRlL2Jp
dHMvcG9zaXgxX2xpbS5oIiAzIDQKPiA+Pj4gIyAxICIvdXNyL2luY2x1ZGUvYml0cy9sb2NhbF9s
aW0uaCIgMSAzIDQKPiA+Pj4gIyAzOCAiL3Vzci9pbmNsdWRlL2JpdHMvbG9jYWxfbGltLmgiIDMg
NAo+ID4+PiAjIDEgIi91c3IvaW5jbHVkZS9saW51eC9saW1pdHMuaCIgMSAzIDQKPiA+Pj4gIyAz
OSAiL3Vzci9pbmNsdWRlL2JpdHMvbG9jYWxfbGltLmgiIDIgMyA0Cj4gPj4+ICMgMTYxICIvdXNy
L2luY2x1ZGUvYml0cy9wb3NpeDFfbGltLmgiIDIgMyA0Cj4gPj4+ICMgMTQ0ICIvdXNyL2luY2x1
ZGUvbGltaXRzLmgiIDIgMyA0Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+ICMgMSAiL3Vzci9pbmNs
dWRlL2JpdHMvcG9zaXgyX2xpbS5oIiAxIDMgNAo+ID4+PiAjIDE0OCAiL3Vzci9pbmNsdWRlL2xp
bWl0cy5oIiAyIDMgNAo+ID4+PiAjIDE2OSAiL3Vzci9saWIvZ2NjL2k2ODYtcmVkaGF0LWxpbnV4
LzYuMS4xL2luY2x1ZGUvbGltaXRzLmgiIDIgMyA0Cj4gPj4+ICMgOCAiL3Vzci9saWIvZ2NjL2k2
ODYtcmVkaGF0LWxpbnV4LzYuMS4xL2luY2x1ZGUvc3lzbGltaXRzLmgiIDIgMyA0Cj4gPj4+ICMg
MzUgIi91c3IvbGliL2djYy9pNjg2LXJlZGhhdC1saW51eC82LjEuMS9pbmNsdWRlL2xpbWl0cy5o
IiAyIDMgNAo+ID4+PiAjIDI3ICIvdXNyL2luY2x1ZGUvc3lzL3BhcmFtLmgiIDIgMyA0Cj4gPj4+
Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+ICMgMSAiL3Vzci9pbmNsdWRlL2JpdHMvcGFyYW0uaCIg
MSAzIDQKPiA+Pj4gIyAyOCAiL3Vzci9pbmNsdWRlL2JpdHMvcGFyYW0uaCIgMyA0Cj4gPj4+ICMg
MSAiL3Vzci9pbmNsdWRlL2xpbnV4L3BhcmFtLmgiIDEgMyA0Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4g
Pj4+ICMgMSAiL3Vzci9pbmNsdWRlL2FzbS9wYXJhbS5oIiAxIDMgNAo+ID4+PiAjIDEgIi91c3Iv
aW5jbHVkZS9hc20tZ2VuZXJpYy9wYXJhbS5oIiAxIDMgNAo+ID4+PiAjIDEgIi91c3IvaW5jbHVk
ZS9hc20vcGFyYW0uaCIgMiAzIDQKPiA+Pj4gIyA1ICIvdXNyL2luY2x1ZGUvbGludXgvcGFyYW0u
aCIgMiAzIDQKPiA+Pj4gIyAyOSAiL3Vzci9pbmNsdWRlL2JpdHMvcGFyYW0uaCIgMiAzIDQKPiA+
Pj4gIyAzMiAiL3Vzci9pbmNsdWRlL3N5cy9wYXJhbS5oIiAyIDMgNAo+ID4+PiAjIDYwICJtYWNo
aW5lLmMiIDIKPiA+Pj4gIyAxICIvdXNyL2luY2x1ZGUvc3lzL3RpbWUuaCIgMSAzIDQKPiA+Pj4g
IyAyNyAiL3Vzci9pbmNsdWRlL3N5cy90aW1lLmgiIDMgNAo+ID4+PiAjIDEgIi91c3IvaW5jbHVk
ZS9iaXRzL3RpbWUuaCIgMSAzIDQKPiA+Pj4gIyAyOCAiL3Vzci9pbmNsdWRlL3N5cy90aW1lLmgi
IDIgMyA0Cj4gPj4+ICMgMzcgIi91c3IvaW5jbHVkZS9zeXMvdGltZS5oIiAzIDQKPiA+Pj4KPiA+
Pj4gIyA1NSAiL3Vzci9pbmNsdWRlL3N5cy90aW1lLmgiIDMgNAo+ID4+PiBzdHJ1Y3QgdGltZXpv
bmUKPiA+Pj4gICB7Cj4gPj4+ICAgICBpbnQgdHpfbWludXRlc3dlc3Q7Cj4gPj4+ICAgICBpbnQg
dHpfZHN0dGltZTsKPiA+Pj4gICB9Owo+ID4+Pgo+ID4+PiB0eXBlZGVmIHN0cnVjdCB0aW1lem9u
ZSAqX19yZXN0cmljdCBfX3RpbWV6b25lX3B0cl90Owo+ID4+PiAjIDcxICIvdXNyL2luY2x1ZGUv
c3lzL3RpbWUuaCIgMyA0Cj4gPj4+IGV4dGVybiBpbnQgZ2V0dGltZW9mZGF5IChzdHJ1Y3QgdGlt
ZXZhbCAqX19yZXN0cmljdCBfX3R2LAo+ID4+PiAgICAgX190aW1lem9uZV9wdHJfdCBfX3R6KSBf
X2F0dHJpYnV0ZV9fICgoX19ub3Rocm93X18gLCBfX2xlYWZfXykpIF9fYXR0cmlidXRlX18gKChf
X25vbm51bGxfXyAoMSkpKTsKPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4gZXh0ZXJuIGlu
dCBzZXR0aW1lb2ZkYXkgKGNvbnN0IHN0cnVjdCB0aW1ldmFsICpfX3R2LAo+ID4+PiAgICAgY29u
c3Qgc3RydWN0IHRpbWV6b25lICpfX3R6KQo+ID4+PiAgICAgIF9fYXR0cmlidXRlX18gKChfX25v
dGhyb3dfXyAsIF9fbGVhZl9fKSk7Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+
IGV4dGVybiBpbnQgYWRqdGltZSAoY29uc3Qgc3RydWN0IHRpbWV2YWwgKl9fZGVsdGEsCj4gPj4+
ICAgICAgIHN0cnVjdCB0aW1ldmFsICpfX29sZGRlbHRhKSBfX2F0dHJpYnV0ZV9fICgoX19ub3Ro
cm93X18gLCBfX2xlYWZfXykpOwo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+PiBlbnVtIF9f
aXRpbWVyX3doaWNoCj4gPj4+ICAgewo+ID4+Pgo+ID4+PiAgICAgSVRJTUVSX1JFQUwgPSAwLAo+
ID4+Pgo+ID4+Pgo+ID4+PiAgICAgSVRJTUVSX1ZJUlRVQUwgPSAxLAo+ID4+Pgo+ID4+Pgo+ID4+
Pgo+ID4+PiAgICAgSVRJTUVSX1BST0YgPSAyCj4gPj4+Cj4gPj4+ICAgfTsKPiA+Pj4KPiA+Pj4K
PiA+Pj4KPiA+Pj4gc3RydWN0IGl0aW1lcnZhbAo+ID4+PiAgIHsKPiA+Pj4KPiA+Pj4gICAgIHN0
cnVjdCB0aW1ldmFsIGl0X2ludGVydmFsOwo+ID4+Pgo+ID4+PiAgICAgc3RydWN0IHRpbWV2YWwg
aXRfdmFsdWU7Cj4gPj4+ICAgfTsKPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4K
PiA+Pj4gdHlwZWRlZiBpbnQgX19pdGltZXJfd2hpY2hfdDsKPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+
Pj4KPiA+Pj4gZXh0ZXJuIGludCBnZXRpdGltZXIgKF9faXRpbWVyX3doaWNoX3QgX193aGljaCwK
PiA+Pj4gICAgICAgICBzdHJ1Y3QgaXRpbWVydmFsICpfX3ZhbHVlKSBfX2F0dHJpYnV0ZV9fICgo
X19ub3Rocm93X18gLCBfX2xlYWZfXykpOwo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+PiBl
eHRlcm4gaW50IHNldGl0aW1lciAoX19pdGltZXJfd2hpY2hfdCBfX3doaWNoLAo+ID4+PiAgICAg
ICAgIGNvbnN0IHN0cnVjdCBpdGltZXJ2YWwgKl9fcmVzdHJpY3QgX19uZXcsCj4gPj4+ICAgICAg
ICAgc3RydWN0IGl0aW1lcnZhbCAqX19yZXN0cmljdCBfX29sZCkgX19hdHRyaWJ1dGVfXyAoKF9f
bm90aHJvd19fICwgX19sZWFmX18pKTsKPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4gZXh0
ZXJuIGludCB1dGltZXMgKGNvbnN0IGNoYXIgKl9fZmlsZSwgY29uc3Qgc3RydWN0IHRpbWV2YWwg
X190dnBbMl0pCj4gPj4+ICAgICAgX19hdHRyaWJ1dGVfXyAoKF9fbm90aHJvd19fICwgX19sZWFm
X18pKSBfX2F0dHJpYnV0ZV9fICgoX19ub25udWxsX18gKDEpKSk7Cj4gPj4+Cj4gPj4+Cj4gPj4+
Cj4gPj4+IGV4dGVybiBpbnQgbHV0aW1lcyAoY29uc3QgY2hhciAqX19maWxlLCBjb25zdCBzdHJ1
Y3QgdGltZXZhbCBfX3R2cFsyXSkKPiA+Pj4gICAgICBfX2F0dHJpYnV0ZV9fICgoX19ub3Rocm93
X18gLCBfX2xlYWZfXykpIF9fYXR0cmlidXRlX18gKChfX25vbm51bGxfXyAoMSkpKTsKPiA+Pj4K
PiA+Pj4KPiA+Pj4gZXh0ZXJuIGludCBmdXRpbWVzIChpbnQgX19mZCwgY29uc3Qgc3RydWN0IHRp
bWV2YWwgX190dnBbMl0pIF9fYXR0cmlidXRlX18gKChfX25vdGhyb3dfXyAsIF9fbGVhZl9fKSk7
Cj4gPj4+ICMgMTg5ICIvdXNyL2luY2x1ZGUvc3lzL3RpbWUuaCIgMyA0Cj4gPj4+Cj4gPj4+ICMg
NjEgIm1hY2hpbmUuYyIgMgo+ID4+PiAjIDEgIi91c3IvaW5jbHVkZS9zeXMvdGltZXMuaCIgMSAz
IDQKPiA+Pj4gIyAzMSAiL3Vzci9pbmNsdWRlL3N5cy90aW1lcy5oIiAzIDQKPiA+Pj4KPiA+Pj4K
PiA+Pj4KPiA+Pj4gc3RydWN0IHRtcwo+ID4+PiAgIHsKPiA+Pj4gICAgIGNsb2NrX3QgdG1zX3V0
aW1lOwo+ID4+PiAgICAgY2xvY2tfdCB0bXNfc3RpbWU7Cj4gPj4+Cj4gPj4+ICAgICBjbG9ja190
IHRtc19jdXRpbWU7Cj4gPj4+ICAgICBjbG9ja190IHRtc19jc3RpbWU7Cj4gPj4+ICAgfTsKPiA+
Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4gZXh0ZXJuIGNsb2NrX3QgdGlt
ZXMgKHN0cnVjdCB0bXMgKl9fYnVmZmVyKSBfX2F0dHJpYnV0ZV9fICgoX19ub3Rocm93X18gLCBf
X2xlYWZfXykpOwo+ID4+Pgo+ID4+Pgo+ID4+PiAjIDYyICJtYWNoaW5lLmMiIDIKPiA+Pj4gIyAx
ICIvdXNyL2luY2x1ZGUvc3lzL3Jlc291cmNlLmgiIDEgMyA0Cj4gPj4+ICMgMjQgIi91c3IvaW5j
bHVkZS9zeXMvcmVzb3VyY2UuaCIgMyA0Cj4gPj4+ICMgMSAiL3Vzci9pbmNsdWRlL2JpdHMvcmVz
b3VyY2UuaCIgMSAzIDQKPiA+Pj4gIyAzMSAiL3Vzci9pbmNsdWRlL2JpdHMvcmVzb3VyY2UuaCIg
MyA0Cj4gPj4+IGVudW0gX19ybGltaXRfcmVzb3VyY2UKPiA+Pj4gewo+ID4+Pgo+ID4+PiAgIFJM
SU1JVF9DUFUgPSAwLAo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+PiAgIFJMSU1JVF9GU0laRSA9IDEs
Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+ICAgUkxJTUlUX0RBVEEgPSAyLAo+ID4+Pgo+ID4+Pgo+
ID4+Pgo+ID4+PiAgIFJMSU1JVF9TVEFDSyA9IDMsCj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+ICAg
UkxJTUlUX0NPUkUgPSA0LAo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+
PiAgIF9fUkxJTUlUX1JTUyA9IDUsCj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+ICAgUkxJTUlUX05P
RklMRSA9IDcsCj4gPj4+ICAgX19STElNSVRfT0ZJTEUgPSBSTElNSVRfTk9GSUxFLAo+ID4+Pgo+
ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+PiAgIFJMSU1JVF9BUyA9IDksCj4gPj4+Cj4gPj4+Cj4gPj4+
Cj4gPj4+ICAgX19STElNSVRfTlBST0MgPSA2LAo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+PiAgIF9f
UkxJTUlUX01FTUxPQ0sgPSA4LAo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+PiAgIF9fUkxJTUlUX0xP
Q0tTID0gMTAsCj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+ICAgX19STElNSVRfU0lHUEVORElORyA9
IDExLAo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+PiAgIF9fUkxJTUlUX01TR1FVRVVFID0gMTIsCj4g
Pj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+ICAgX19STElNSVRfTklDRSA9IDEzLAo+
ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+PiAgIF9fUkxJTUlUX1JUUFJJTyA9IDE0LAo+ID4+
Pgo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+PiAgIF9fUkxJTUlUX1JUVElNRSA9IDE1LAo+
ID4+Pgo+ID4+Pgo+ID4+PiAgIF9fUkxJTUlUX05MSU1JVFMgPSAxNiwKPiA+Pj4gICBfX1JMSU1f
TkxJTUlUUyA9IF9fUkxJTUlUX05MSU1JVFMKPiA+Pj4KPiA+Pj4KPiA+Pj4gfTsKPiA+Pj4gIyAx
MzEgIi91c3IvaW5jbHVkZS9iaXRzL3Jlc291cmNlLmgiIDMgNAo+ID4+PiB0eXBlZGVmIF9fcmxp
bV90IHJsaW1fdDsKPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+
Pj4gc3RydWN0IHJsaW1pdAo+ID4+PiAgIHsKPiA+Pj4KPiA+Pj4gICAgIHJsaW1fdCBybGltX2N1
cjsKPiA+Pj4KPiA+Pj4gICAgIHJsaW1fdCBybGltX21heDsKPiA+Pj4gICB9Owo+ID4+PiAjIDE1
OCAiL3Vzci9pbmNsdWRlL2JpdHMvcmVzb3VyY2UuaCIgMyA0Cj4gPj4+IGVudW0gX19ydXNhZ2Vf
d2hvCj4gPj4+IHsKPiA+Pj4KPiA+Pj4gICBSVVNBR0VfU0VMRiA9IDAsCj4gPj4+Cj4gPj4+Cj4g
Pj4+Cj4gPj4+ICAgUlVTQUdFX0NISUxEUkVOID0gLTEKPiA+Pj4gIyAxNzYgIi91c3IvaW5jbHVk
ZS9iaXRzL3Jlc291cmNlLmgiIDMgNAo+ID4+PiB9Owo+ID4+Pgo+ID4+Pgo+ID4+PiAjIDEgIi91
c3IvaW5jbHVkZS9iaXRzL3RpbWUuaCIgMSAzIDQKPiA+Pj4gIyAxODAgIi91c3IvaW5jbHVkZS9i
aXRzL3Jlc291cmNlLmgiIDIgMyA0Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+
Cj4gPj4+Cj4gPj4+IHN0cnVjdCBydXNhZ2UKPiA+Pj4gICB7Cj4gPj4+Cj4gPj4+ICAgICBzdHJ1
Y3QgdGltZXZhbCBydV91dGltZTsKPiA+Pj4KPiA+Pj4gICAgIHN0cnVjdCB0aW1ldmFsIHJ1X3N0
aW1lOwo+ID4+Pgo+ID4+PiAgICAgX19leHRlbnNpb25fXyB1bmlvbgo+ID4+PiAgICAgICB7Cj4g
Pj4+ICBsb25nIGludCBydV9tYXhyc3M7Cj4gPj4+ICBfX3N5c2NhbGxfc2xvbmdfdCBfX3J1X21h
eHJzc193b3JkOwo+ID4+PiAgICAgICB9Owo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+PiAgICAgX19l
eHRlbnNpb25fXyB1bmlvbgo+ID4+PiAgICAgICB7Cj4gPj4+ICBsb25nIGludCBydV9peHJzczsK
PiA+Pj4gIF9fc3lzY2FsbF9zbG9uZ190IF9fcnVfaXhyc3Nfd29yZDsKPiA+Pj4gICAgICAgfTsK
PiA+Pj4KPiA+Pj4gICAgIF9fZXh0ZW5zaW9uX18gdW5pb24KPiA+Pj4gICAgICAgewo+ID4+PiAg
bG9uZyBpbnQgcnVfaWRyc3M7Cj4gPj4+ICBfX3N5c2NhbGxfc2xvbmdfdCBfX3J1X2lkcnNzX3dv
cmQ7Cj4gPj4+ICAgICAgIH07Cj4gPj4+Cj4gPj4+ICAgICBfX2V4dGVuc2lvbl9fIHVuaW9uCj4g
Pj4+ICAgICAgIHsKPiA+Pj4gIGxvbmcgaW50IHJ1X2lzcnNzOwo+ID4+PiAgIF9fc3lzY2FsbF9z
bG9uZ190IF9fcnVfaXNyc3Nfd29yZDsKPiA+Pj4gICAgICAgfTsKPiA+Pj4KPiA+Pj4KPiA+Pj4g
ICAgIF9fZXh0ZW5zaW9uX18gdW5pb24KPiA+Pj4gICAgICAgewo+ID4+PiAgbG9uZyBpbnQgcnVf
bWluZmx0Owo+ID4+PiAgX19zeXNjYWxsX3Nsb25nX3QgX19ydV9taW5mbHRfd29yZDsKPiA+Pj4g
ICAgICAgfTsKPiA+Pj4KPiA+Pj4gICAgIF9fZXh0ZW5zaW9uX18gdW5pb24KPiA+Pj4gICAgICAg
ewo+ID4+PiAgbG9uZyBpbnQgcnVfbWFqZmx0Owo+ID4+PiAgX19zeXNjYWxsX3Nsb25nX3QgX19y
dV9tYWpmbHRfd29yZDsKPiA+Pj4gICAgICAgfTsKPiA+Pj4KPiA+Pj4gICAgIF9fZXh0ZW5zaW9u
X18gdW5pb24KPiA+Pj4gICAgICAgewo+ID4+PiAgbG9uZyBpbnQgcnVfbnN3YXA7Cj4gPj4+ICBf
X3N5c2NhbGxfc2xvbmdfdCBfX3J1X25zd2FwX3dvcmQ7Cj4gPj4+ICAgICAgIH07Cj4gPj4+Cj4g
Pj4+Cj4gPj4+ICAgICBfX2V4dGVuc2lvbl9fIHVuaW9uCj4gPj4+ICAgICAgIHsKPiA+Pj4gIGxv
bmcgaW50IHJ1X2luYmxvY2s7Cj4gPj4+ICBfX3N5c2NhbGxfc2xvbmdfdCBfX3J1X2luYmxvY2tf
d29yZDsKPiA+Pj4gICAgICAgfTsKPiA+Pj4KPiA+Pj4gICAgIF9fZXh0ZW5zaW9uX18gdW5pb24K
PiA+Pj4gICAgICAgewo+ID4+PiAgbG9uZyBpbnQgcnVfb3VibG9jazsKPiA+Pj4gIF9fc3lzY2Fs
bF9zbG9uZ190IF9fcnVfb3VibG9ja193b3JkOwo+ID4+PiAgICAgICB9Owo+ID4+Pgo+ID4+PiAg
ICAgX19leHRlbnNpb25fXyB1bmlvbgo+ID4+PiAgICAgICB7Cj4gPj4+ICBsb25nIGludCBydV9t
c2dzbmQ7Cj4gPj4+ICBfX3N5c2NhbGxfc2xvbmdfdCBfX3J1X21zZ3NuZF93b3JkOwo+ID4+PiAg
ICAgICB9Owo+ID4+Pgo+ID4+PiAgICAgX19leHRlbnNpb25fXyB1bmlvbgo+ID4+PiAgICAgICB7
Cj4gPj4+ICBsb25nIGludCBydV9tc2dyY3Y7Cj4gPj4+ICBfX3N5c2NhbGxfc2xvbmdfdCBfX3J1
X21zZ3Jjdl93b3JkOwo+ID4+PiAgICAgICB9Owo+ID4+Pgo+ID4+PiAgICAgX19leHRlbnNpb25f
XyB1bmlvbgo+ID4+PiAgICAgICB7Cj4gPj4+ICBsb25nIGludCBydV9uc2lnbmFsczsKPiA+Pj4g
IF9fc3lzY2FsbF9zbG9uZ190IF9fcnVfbnNpZ25hbHNfd29yZDsKPiA+Pj4gICAgICAgfTsKPiA+
Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4gICAgIF9fZXh0ZW5zaW9uX18gdW5pb24KPiA+Pj4gICAgICAg
ewo+ID4+PiAgbG9uZyBpbnQgcnVfbnZjc3c7Cj4gPj4+ICBfX3N5c2NhbGxfc2xvbmdfdCBfX3J1
X252Y3N3X3dvcmQ7Cj4gPj4+ICAgICAgIH07Cj4gPj4+Cj4gPj4+Cj4gPj4+ICAgICBfX2V4dGVu
c2lvbl9fIHVuaW9uCj4gPj4+ICAgICAgIHsKPiA+Pj4gIGxvbmcgaW50IHJ1X25pdmNzdzsKPiA+
Pj4gIF9fc3lzY2FsbF9zbG9uZ190IF9fcnVfbml2Y3N3X3dvcmQ7Cj4gPj4+ICAgICAgIH07Cj4g
Pj4+ICAgfTsKPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4g
ZW51bSBfX3ByaW9yaXR5X3doaWNoCj4gPj4+IHsKPiA+Pj4gICBQUklPX1BST0NFU1MgPSAwLAo+
ID4+Pgo+ID4+PiAgIFBSSU9fUEdSUCA9IDEsCj4gPj4+Cj4gPj4+ICAgUFJJT19VU0VSID0gMgo+
ID4+Pgo+ID4+PiB9Owo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+PiAjIDMyOCAiL3Vzci9pbmNsdWRl
L2JpdHMvcmVzb3VyY2UuaCIgMyA0Cj4gPj4+Cj4gPj4+ICMgMjUgIi91c3IvaW5jbHVkZS9zeXMv
cmVzb3VyY2UuaCIgMiAzIDQKPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+
Pj4KPiA+Pj4gIyA0MiAiL3Vzci9pbmNsdWRlL3N5cy9yZXNvdXJjZS5oIiAzIDQKPiA+Pj4gdHlw
ZWRlZiBpbnQgX19ybGltaXRfcmVzb3VyY2VfdDsKPiA+Pj4gdHlwZWRlZiBpbnQgX19ydXNhZ2Vf
d2hvX3Q7Cj4gPj4+IHR5cGVkZWYgaW50IF9fcHJpb3JpdHlfd2hpY2hfdDsKPiA+Pj4KPiA+Pj4K
PiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4gZXh0ZXJuIGludCBnZXRybGltaXQgKF9fcmxpbWl0X3Jl
c291cmNlX3QgX19yZXNvdXJjZSwKPiA+Pj4gICAgICAgICBzdHJ1Y3QgcmxpbWl0ICpfX3JsaW1p
dHMpIF9fYXR0cmlidXRlX18gKChfX25vdGhyb3dfXyAsIF9fbGVhZl9fKSk7Cj4gPj4+ICMgNjkg
Ii91c3IvaW5jbHVkZS9zeXMvcmVzb3VyY2UuaCIgMyA0Cj4gPj4+IGV4dGVybiBpbnQgc2V0cmxp
bWl0IChfX3JsaW1pdF9yZXNvdXJjZV90IF9fcmVzb3VyY2UsCj4gPj4+ICAgICAgICAgY29uc3Qg
c3RydWN0IHJsaW1pdCAqX19ybGltaXRzKSBfX2F0dHJpYnV0ZV9fICgoX19ub3Rocm93X18gLCBf
X2xlYWZfXykpOwo+ID4+PiAjIDg3ICIvdXNyL2luY2x1ZGUvc3lzL3Jlc291cmNlLmgiIDMgNAo+
ID4+PiBleHRlcm4gaW50IGdldHJ1c2FnZSAoX19ydXNhZ2Vfd2hvX3QgX193aG8sIHN0cnVjdCBy
dXNhZ2UgKl9fdXNhZ2UpIF9fYXR0cmlidXRlX18gKChfX25vdGhyb3dfXyAsIF9fbGVhZl9fKSk7
Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+IGV4dGVybiBpbnQgZ2V0cHJpb3Jp
dHkgKF9fcHJpb3JpdHlfd2hpY2hfdCBfX3doaWNoLCBpZF90IF9fd2hvKSBfX2F0dHJpYnV0ZV9f
ICgoX19ub3Rocm93X18gLCBfX2xlYWZfXykpOwo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+PiBleHRl
cm4gaW50IHNldHByaW9yaXR5IChfX3ByaW9yaXR5X3doaWNoX3QgX193aGljaCwgaWRfdCBfX3do
bywgaW50IF9fcHJpbykKPiA+Pj4gICAgICBfX2F0dHJpYnV0ZV9fICgoX19ub3Rocm93X18gLCBf
X2xlYWZfXykpOwo+ID4+Pgo+ID4+Pgo+ID4+PiAjIDYzICJtYWNoaW5lLmMiIDIKPiA+Pj4gIyA3
MSAibWFjaGluZS5jIgo+ID4+PiAjIDEgImVuZ2luZV9wbC5oIiAxCj4gPj4+ICMgNDAgImVuZ2lu
ZV9wbC5oIgo+ID4+PiAjIDEgInBsX3BhcmFtcy5oIiAxCj4gPj4+ICMgNDEgImVuZ2luZV9wbC5o
IiAyCj4gPj4+ICMgMSAiaGFzaF9mY3QuaCIgMQo+ID4+PiAjIDUzICJoYXNoX2ZjdC5oIgo+ID4+
Pgo+ID4+PiAjIDUzICJoYXNoX2ZjdC5oIgo+ID4+PiB0eXBlZGVmIHN0cnVjdAo+ID4+PiB7Cj4g
Pj4+ICAgaW50IGxlbjsKPiA+Pj4gICB1aW50MzJfdCBoYXNoOwo+ID4+PiB9IEhhc2hJbmNySW5m
bzsKPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4gdWludDMy
X3QgUGxfSGFzaF9CdWZmZXIoY29uc3Qgdm9pZCAqZGF0YSwgaW50IGxlbik7Cj4gPj4+Cj4gPj4+
IHZvaWQgUGxfSGFzaF9JbmNyX0luaXQoSGFzaEluY3JJbmZvICpoaSk7Cj4gPj4+Cj4gPj4+IHZv
aWQgUGxfSGFzaF9JbmNyX0J1ZmZlcihIYXNoSW5jckluZm8gKmhpLCBjb25zdCB2b2lkICpkYXRh
LCBpbnQgbGVuKTsKPiA+Pj4KPiA+Pj4gdm9pZCBQbF9IYXNoX0luY3JfSW50MzIoSGFzaEluY3JJ
bmZvICpoaSwgdWludDMyX3QgeCk7Cj4gPj4+Cj4gPj4+IHZvaWQgUGxfSGFzaF9JbmNyX0ludDY0
KEhhc2hJbmNySW5mbyAqaGksIHVpbnQ2NF90IHgpOwo+ID4+Pgo+ID4+PiB2b2lkIFBsX0hhc2hf
SW5jcl9Eb3VibGUoSGFzaEluY3JJbmZvICpoaSwgZG91YmxlIHgpOwo+ID4+Pgo+ID4+PiB1aW50
MzJfdCBQbF9IYXNoX0luY3JfVGVybShIYXNoSW5jckluZm8gKmhpKTsKPiA+Pj4gIyA0MiAiZW5n
aW5lX3BsLmgiIDIKPiA+Pj4gIyAxICJoYXNoLmgiIDEKPiA+Pj4gIyA0OCAiaGFzaC5oIgo+ID4+
PiB0eXBlZGVmIHN0cnVjdAo+ID4+PiB7Cj4gPj4+ICAgY2hhciAqZW5kdDsKPiA+Pj4gICBjaGFy
ICpjdXJfdDsKPiA+Pj4gICBjaGFyICpjdXJfcDsKPiA+Pj4gfQo+ID4+PiBIYXNoU2NhbjsKPiA+
Pj4gIyA2NyAiaGFzaC5oIgo+ID4+PiBjaGFyICpQbF9IYXNoX0FsbG9jX1RhYmxlKGludCB0Ymxf
c2l6ZSwgaW50IGVsZW1fc2l6ZSk7Cj4gPj4+Cj4gPj4+IHZvaWQgUGxfSGFzaF9GcmVlX1RhYmxl
KGNoYXIgKnRibCk7Cj4gPj4+Cj4gPj4+IGNoYXIgKlBsX0hhc2hfUmVhbGxvY19UYWJsZShjaGFy
ICp0YmwsIGludCBuZXdfdGJsX3NpemUpOwo+ID4+Pgo+ID4+PiB2b2lkIFBsX0hhc2hfRGVsZXRl
X0FsbChjaGFyICp0YmwpOwo+ID4+Pgo+ID4+PiBjaGFyICpQbF9IYXNoX0luc2VydChjaGFyICp0
YmwsIGNoYXIgKmVsZW0sIGludCByZXBsYWNlKTsKPiA+Pj4KPiA+Pj4gY2hhciAqUGxfSGFzaF9G
aW5kKGNoYXIgKnRibCwgUGxMb25nIGtleSk7Cj4gPj4+Cj4gPj4+IGNoYXIgKlBsX0hhc2hfRGVs
ZXRlKGNoYXIgKnRibCwgUGxMb25nIGtleSk7Cj4gPj4+Cj4gPj4+IGNoYXIgKlBsX0hhc2hfRmly
c3QoY2hhciAqdGJsLCBIYXNoU2NhbiAqc2Nhbik7Cj4gPj4+Cj4gPj4+IGNoYXIgKlBsX0hhc2hf
TmV4dChIYXNoU2NhbiAqc2Nhbik7Cj4gPj4+Cj4gPj4+IGludCBQbF9IYXNoX1RhYmxlX1NpemUo
Y2hhciAqdGJsKTsKPiA+Pj4KPiA+Pj4gaW50IFBsX0hhc2hfTmJfRWxlbWVudHMoY2hhciAqdGJs
KTsKPiA+Pj4gIyA0MyAiZW5naW5lX3BsLmgiIDIKPiA+Pj4gIyAxICJib29sLmgiIDEKPiA+Pj4g
IyA2NSAiYm9vbC5oIgo+ID4+PiB0eXBlZGVmIGludCBCb29sOwo+ID4+PiAjIDQ0ICJlbmdpbmVf
cGwuaCIgMgo+ID4+PiAjIDEgIndhbV9yZWdzLmgiIDEKPiA+Pj4gIyA0NSAiZW5naW5lX3BsLmgi
IDIKPiA+Pj4gIyAxICJ3YW1fYXJjaGkuaCIgMQo+ID4+PiAjIDQ0ICJ3YW1fYXJjaGkuaCIKPiA+
Pj4gdHlwZWRlZiBpbnRwdHJfdCBXYW1Xb3JkOwo+ID4+Pgo+ID4+PiB0eXBlZGVmIHZvaWQgKCpD
b2RlUHRyKSAoKTsKPiA+Pj4KPiA+Pj4gdHlwZWRlZiBDb2RlUHRyIFdhbUNvbnQ7Cj4gPj4+Cj4g
Pj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+IHR5cGVkZWYgV2FtV29yZCAqV2FtV29y
ZFA7Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+IHJlZ2lzdGVyIFdh
bVdvcmRQIFRSIGFzbSAoImVieCIpOwo+ID4+PiAjIDk2ICJ3YW1fYXJjaGkuaCIKPiA+Pj4gZXh0
ZXJuIFdhbVdvcmQgcGxfcmVnX2JhbmtbXTsKPiA+Pj4gZXh0ZXJuIFdhbVdvcmQgcGxfYnVmZl9z
aWduYWxfcmVnW107Cj4gPj4+Cj4gPj4+IGV4dGVybiBjaGFyICpwbF9yZWdfdGJsW107Cj4gPj4+
ICMgMjcwICJ3YW1fYXJjaGkuaCIKPiA+Pj4gdHlwZWRlZiBlbnVtCj4gPj4+IHsKPiA+Pj4gICBM
T05HX0lOVCwKPiA+Pj4gICBTSE9SVF9VTlMsCj4gPj4+ICAgQUREUkVTUwo+ID4+PiB9VHlwVGFn
Owo+ID4+Pgo+ID4+PiB0eXBlZGVmIHN0cnVjdAo+ID4+PiB7Cj4gPj4+ICAgY2hhciAqbmFtZTsK
PiA+Pj4gICBUeXBUYWcgdHlwZTsKPiA+Pj4gICBpbnQgdmFsdWU7Cj4gPj4+ICAgUGxMb25nIHRh
Z19tYXNrOwo+ID4+PiB9SW5mVGFnOwo+ID4+PiAjIDMwMSAid2FtX2FyY2hpLmgiCj4gPj4+IGV4
dGVybiBJbmZUYWcgcGxfdGFnX3RibFtdOwo+ID4+PiAjIDMyOCAid2FtX2FyY2hpLmgiCj4gPj4+
ICMgMSAid2FtX3N0YWNrcy5oIiAxCj4gPj4+ICMgMjcgIndhbV9zdGFja3MuaCIKPiA+Pj4gdHlw
ZWRlZiBzdHJ1Y3QKPiA+Pj4gewo+ID4+PiAgIGNoYXIgKm5hbWU7Cj4gPj4+ICAgY2hhciAqZGVz
YzsKPiA+Pj4gICBjaGFyICplbnZfdmFyX25hbWU7Cj4gPj4+ICAgUGxMb25nICpwX2RlZl9zaXpl
Owo+ID4+PiAgIGludCBkZWZhdWx0X3NpemU7Cj4gPj4+ICAgaW50IHNpemU7Cj4gPj4+ICAgV2Ft
V29yZCAqc3RhY2s7Cj4gPj4+IH1JbmZTdGFjazsKPiA+Pj4gIyA1OCAid2FtX3N0YWNrcy5oIgo+
ID4+PiBleHRlcm4gUGxMb25nIHBsX2RlZl90cmFpbF9zaXplOwo+ID4+PiBleHRlcm4gUGxMb25n
IHBsX2RlZl9jc3RyX3NpemU7Cj4gPj4+IGV4dGVybiBQbExvbmcgcGxfZGVmX2dsb2JhbF9zaXpl
Owo+ID4+PiBleHRlcm4gUGxMb25nIHBsX2RlZl9sb2NhbF9zaXplOwo+ID4+PiBleHRlcm4gUGxM
b25nIHBsX2ZpeGVkX3NpemVzOwo+ID4+Pgo+ID4+Pgo+ID4+PiBleHRlcm4gSW5mU3RhY2sgcGxf
c3RrX3RibFtdOwo+ID4+PiAjIDMyOSAid2FtX2FyY2hpLmgiIDIKPiA+Pj4gIyA0NiAiZW5naW5l
X3BsLmgiIDIKPiA+Pj4gIyAxICJlbmdpbmUuaCIgMQo+ID4+PiAjIDg3ICJlbmdpbmUuaCIKPiA+
Pj4gZXh0ZXJuIGludCBwbF9vc19hcmdjOwo+ID4+PiBleHRlcm4gY2hhciAqKnBsX29zX2FyZ3Y7
Cj4gPj4+Cj4gPj4+IGV4dGVybiBjaGFyICpwbF9ob21lOwo+ID4+PiBleHRlcm4gaW50IHBsX2Rl
dmVsX21vZGU7Cj4gPj4+Cj4gPj4+IGV4dGVybiBjaGFyIHBsX2dsb2JfYnVmZltdOwo+ID4+Pgo+
ID4+PiBleHRlcm4gUGxMb25nICpwbF9iYXNlX2ZsOwo+ID4+PiBleHRlcm4gZG91YmxlICpwbF9i
YXNlX2ZkOwo+ID4+Pgo+ID4+PiBleHRlcm4gaW50IHBsX2xlX21vZGU7Cj4gPj4+ICMgMTA4ICJl
bmdpbmUuaCIKPiA+Pj4gaW50IFBsX1N0YXJ0X1Byb2xvZyhpbnQgYXJnYywgY2hhciAqYXJndltd
KTsKPiA+Pj4KPiA+Pj4gdm9pZCBQbF9TdG9wX1Byb2xvZyh2b2lkKTsKPiA+Pj4KPiA+Pj4gdm9p
ZCBQbF9SZXNldF9Qcm9sb2codm9pZCk7Cj4gPj4+Cj4gPj4+IHZvaWQgUGxfUmVzZXRfUHJvbG9n
X0luX1NpZ25hbCh2b2lkKTsKPiA+Pj4KPiA+Pj4gdm9pZCBQbF9TZXRfSGVhcF9BY3R1YWxfU3Rh
cnQoV2FtV29yZCAqaGVhcF9hY3R1YWxfc3RhcnQpOwo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+PiB2
b2lkIFBsX0V4ZWN1dGVfRGlyZWN0aXZlKGludCBwbF9maWxlLCBpbnQgcGxfbGluZSwgQm9vbCBp
c19zeXN0ZW0sCj4gPj4+ICAgICAgQ29kZVB0ciBwcm9jKTsKPiA+Pj4KPiA+Pj4gQm9vbCBQbF9U
cnlfRXhlY3V0ZV9Ub3BfTGV2ZWwodm9pZCk7Cj4gPj4+Cj4gPj4+IEJvb2wgUGxfQ2FsbF9Qcm9s
b2coQ29kZVB0ciBjb2RlcCk7Cj4gPj4+Cj4gPj4+IEJvb2wgUGxfQ2FsbF9Qcm9sb2dfTmV4dF9T
b2woV2FtV29yZCAqcXVlcnlfYik7Cj4gPj4+Cj4gPj4+IHZvaWQgUGxfS2VlcF9SZXN0X0Zvcl9Q
cm9sb2coV2FtV29yZCAqcXVlcnlfYik7Cj4gPj4+Cj4gPj4+IHZvaWQgUGxfRXhpdF9XaXRoX0V4
Y2VwdGlvbih2b2lkKTsKPiA+Pj4KPiA+Pj4gdm9pZCBQbF9FeGVjdXRlX0FfQ29udGludWF0aW9u
KENvZGVQdHIgY29kZXApOwo+ID4+PiAjIDQ3ICJlbmdpbmVfcGwuaCIgMgo+ID4+PiAjIDEgImF0
b20uaCIgMQo+ID4+PiAjIDk3ICJhdG9tLmgiCj4gPj4+IHR5cGVkZWYgc3RydWN0Cj4gPj4+IHsK
PiA+Pj4gICB1bnNpZ25lZCBsZW5ndGg6MTY7Cj4gPj4+ICAgdW5zaWduZWQgb3BfbWFzazo0Owo+
ID4+PiAgIHVuc2lnbmVkIHR5cGU6MjsKPiA+Pj4gICB1bnNpZ25lZCBuZWVkc19xdW90ZToxOwo+
ID4+PiAgIHVuc2lnbmVkIG5lZWRzX3NjYW46MTsKPiA+Pj4gfQo+ID4+PiBBdG9tUHJvcDsKPiA+
Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4gdHlwZWRlZiBzdHJ1Y3QKPiA+Pj4gewo+ID4+PiAg
IGNoYXIgKm5hbWU7Cj4gPj4+ICAgdW5zaWduZWQgaGFzaDsKPiA+Pj4gICBBdG9tUHJvcCBwcm9w
Owo+ID4+PiAgIHZvaWQgKmluZm87Cj4gPj4+IH0KPiA+Pj4gQXRvbUluZjsKPiA+Pj4gIyAxNTMg
ImF0b20uaCIKPiA+Pj4gZXh0ZXJuIEF0b21JbmYgKnBsX2F0b21fdGJsOwo+ID4+PiBleHRlcm4g
aW50IHBsX21heF9hdG9tOwo+ID4+PiBleHRlcm4gaW50IHBsX25iX2F0b207Cj4gPj4+Cj4gPj4+
IGV4dGVybiBpbnQgcGxfYXRvbV92b2lkOwo+ID4+PiBleHRlcm4gaW50IHBsX2F0b21fY3VybHlf
YnJhY2tldHM7Cj4gPj4+Cj4gPj4+IGV4dGVybiBpbnQgcGxfYXRvbV9mYWxzZTsKPiA+Pj4gZXh0
ZXJuIGludCBwbF9hdG9tX3RydWU7Cj4gPj4+Cj4gPj4+IGV4dGVybiBpbnQgcGxfYXRvbV9lbmRf
b2ZfZmlsZTsKPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4gZXh0ZXJuIGNoYXIg
cGxfY2hhcl9jb252W107Cj4gPj4+IGV4dGVybiBpbnQgcGxfY2hhcl90eXBlW107Cj4gPj4+Cj4g
Pj4+IGV4dGVybiBjaGFyIHBsX2VzY2FwZV9zeW1ib2xbXTsKPiA+Pj4gZXh0ZXJuIGNoYXIgcGxf
ZXNjYXBlX2NoYXJbXTsKPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4gUGxMb25nIHBsX2RlZl9tYXhf
YXRvbTsKPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4gdm9p
ZCBQbF9Jbml0X0F0b20odm9pZCk7Cj4gPj4+Cj4gPj4+IGludCBQbF9DcmVhdGVfQWxsb2NhdGVf
QXRvbShjaGFyICpuYW1lKTsKPiA+Pj4KPiA+Pj4gaW50IFBsX0NyZWF0ZV9BdG9tKGNoYXIgKm5h
bWUpOwo+ID4+Pgo+ID4+PiBXYW1Xb3JkIF9fYXR0cmlidXRlX18oKHJlZ3Bhcm0oMykpKSBQbF9D
cmVhdGVfQXRvbV9UYWdnZWQoY2hhciAqbmFtZSk7Cj4gPj4+Cj4gPj4+IGludCBQbF9GaW5kX0F0
b20oY2hhciAqbmFtZSk7Cj4gPj4+Cj4gPj4+IGludCBQbF9HZW5fTmV3X0F0b20oY2hhciAqcHJl
Zml4KTsKPiA+Pj4KPiA+Pj4gaW50IFBsX0ZpbmRfTmV4dF9BdG9tKGludCBsYXN0X2F0b20pOwo+
ID4+PiAjIDQ4ICJlbmdpbmVfcGwuaCIgMgo+ID4+PiAjIDEgInByZWQuaCIgMQo+ID4+PiAjIDYy
ICJwcmVkLmgiCj4gPj4+IHR5cGVkZWYgc3RydWN0Cj4gPj4+IHsKPiA+Pj4gICBQbExvbmcgZl9u
Owo+ID4+PiAgIGludCBwbF9maWxlOwo+ID4+PiAgIGludCBwbF9saW5lOwo+ID4+PiAgIGludCBw
cm9wOwo+ID4+PiAgIFBsTG9uZyAqY29kZXA7Cj4gPj4+ICAgUGxMb25nICpkeW47Cj4gPj4+IH0K
PiA+Pj4gUHJlZEluZjsKPiA+Pj4gIyA4NiAicHJlZC5oIgo+ID4+PiBleHRlcm4gY2hhciAqcGxf
cHJlZF90Ymw7Cj4gPj4+ICMgOTcgInByZWQuaCIKPiA+Pj4gdm9pZCBQbF9Jbml0X1ByZWQodm9p
ZCk7Cj4gPj4+Cj4gPj4+IFByZWRJbmYgKiBfX2F0dHJpYnV0ZV9fKChyZWdwYXJtKDMpKSkgUGxf
Q3JlYXRlX1ByZWQoaW50IGZ1bmMsIGludCBhcml0eSwgaW50IHBsX2ZpbGUsIGludCBwbF9saW5l
LAo+ID4+PiAgICAgICAgaW50IHByb3AsIFBsTG9uZyAqY29kZXApOwo+ID4+Pgo+ID4+PiBQcmVk
SW5mICogX19hdHRyaWJ1dGVfXygocmVncGFybSgzKSkpIFBsX0xvb2t1cF9QcmVkKGludCBmdW5j
LCBpbnQgYXJpdHkpOwo+ID4+Pgo+ID4+PiB2b2lkIF9fYXR0cmlidXRlX18oKHJlZ3Bhcm0oMykp
KSBQbF9EZWxldGVfUHJlZChpbnQgZnVuYywgaW50IGFyaXR5KTsKPiA+Pj4gIyA0OSAiZW5naW5l
X3BsLmgiIDIKPiA+Pj4gIyAxICJtaXNjLmgiIDEKPiA+Pj4gIyA1NyAibWlzYy5oIgo+ID4+PiBj
aGFyICpQbF9NYWxsb2NfQ2hlY2sodW5zaWduZWQgc2l6ZSwgY2hhciAqc3JjX2ZpbGUsIGludCBz
cmNfbGluZSk7Cj4gPj4+Cj4gPj4+IGNoYXIgKlBsX0NhbGxvY19DaGVjayh1bnNpZ25lZCBuYiwg
dW5zaWduZWQgc2l6ZSwgY2hhciAqc3JjX2ZpbGUsCj4gPj4+ICAgICAgaW50IHNyY19saW5lKTsK
PiA+Pj4KPiA+Pj4gY2hhciAqUGxfUmVhbGxvY19DaGVjayhjaGFyICpwdHIsIHVuc2lnbmVkIHNp
emUsIGNoYXIgKnNyY19maWxlLCBpbnQgc3JjX2xpbmUpOwo+ID4+Pgo+ID4+PiBjaGFyICpQbF9T
dHJkdXBfQ2hlY2soY2hhciAqc3RyLCBjaGFyICpzcmNfZmlsZSwgaW50IHNyY19saW5lKTsKPiA+
Pj4gIyA3NiAibWlzYy5oIgo+ID4+PiB2b2lkIFBsX0V4dGVuZF9UYWJsZV9JZl9OZWVkZWQoY2hh
ciAqKmhhc2hfdGJsKTsKPiA+Pj4KPiA+Pj4gdm9pZCBQbF9FeHRlbmRfQXJyYXkoY2hhciAqKnB0
YmwsIGludCAqbmJfZWxlbSwgaW50IGVsZW1fc2l6ZSwgQm9vbCBiemVybyk7Cj4gPj4+Cj4gPj4+
IHZvaWQgUGxfRXhpdF9XaXRoX1ZhbHVlKGludCByZXRfdmFsKTsKPiA+Pj4KPiA+Pj4gdm9pZCBQ
bF9GYXRhbF9FcnJvcihjaGFyICpmb3JtYXQsIC4uLik7Cj4gPj4+ICMgMTE0ICJtaXNjLmgiCj4g
Pj4+IHZvaWQgKlBsX0R1bW15X1B0cih2b2lkICpwKTsKPiA+Pj4gIyA1MCAiZW5naW5lX3BsLmgi
IDIKPiA+Pj4gIyAxICJvcGVyLmgiIDEKPiA+Pj4gIyA3MiAib3Blci5oIgo+ID4+PiB0eXBlZGVm
IHN0cnVjdAo+ID4+PiB7Cj4gPj4+ICAgUGxMb25nIGFfdDsKPiA+Pj4gICBpbnQgcHJlYzsKPiA+
Pj4gICBpbnQgbGVmdDsKPiA+Pj4gICBpbnQgcmlnaHQ7Cj4gPj4+IH0KPiA+Pj4gT3BlckluZjsK
PiA+Pj4gIyA5NCAib3Blci5oIgo+ID4+PiBleHRlcm4gY2hhciAqcGxfb3Blcl90Ymw7Cj4gPj4+
ICMgMTAzICJvcGVyLmgiCj4gPj4+IHZvaWQgUGxfSW5pdF9PcGVyKHZvaWQpOwo+ID4+Pgo+ID4+
PiBPcGVySW5mICpQbF9DcmVhdGVfT3BlcihpbnQgYXRvbV9vcCwgaW50IHR5cGUsIGludCBwcmVj
LCBpbnQgbGVmdCwgaW50IHJpZ2h0KTsKPiA+Pj4KPiA+Pj4gT3BlckluZiAqUGxfTG9va3VwX09w
ZXIoaW50IGF0b21fb3AsIGludCB0eXBlKTsKPiA+Pj4KPiA+Pj4gT3BlckluZiAqUGxfTG9va3Vw
X09wZXJfQW55X1R5cGUoaW50IGF0b21fb3ApOwo+ID4+Pgo+ID4+PiBPcGVySW5mICpQbF9EZWxl
dGVfT3BlcihpbnQgYXRvbV9vcCwgaW50IHR5cGUpOwo+ID4+PiAjIDUxICJlbmdpbmVfcGwuaCIg
Mgo+ID4+PiAjIDEgIm1hY2hpbmUxLmgiIDEKPiA+Pj4gIyA3MCAibWFjaGluZTEuaCIKPiA+Pj4g
ZXh0ZXJuIGludCBwbF9tX29zX3R5cGU7Cj4gPj4+IGV4dGVybiBjaGFyIHBsX21fYXJjaGl0ZWN0
dXJlW107Cj4gPj4+IGV4dGVybiBjaGFyIHBsX21fb3NfdmVyc2lvbltdOwo+ID4+PiAjIDgzICJt
YWNoaW5lMS5oIgo+ID4+PiB2b2lkIFBsX0luaXRfTWFjaGluZTEodm9pZCk7Cj4gPj4+Cj4gPj4+
IGNoYXIgKipQbF9NX0NyZWF0ZV9TaGVsbF9Db21tYW5kKGNoYXIgKmNtZCk7Cj4gPj4+Cj4gPj4+
IGNoYXIgKipQbF9NX0NtZF9MaW5lX1RvX0FyZ3YoY2hhciAqY21kLCBpbnQgKmFyZ2MpOwo+ID4+
Pgo+ID4+PiBpbnQgUGxfTV9TaGVsbChjaGFyICpjbWQpOwo+ID4+Pgo+ID4+PiBpbnQgUGxfTV9T
cGF3bihjaGFyICphcmdbXSk7Cj4gPj4+Cj4gPj4+IGludCBQbF9NX1NwYXduX1JlZGlyZWN0KGNo
YXIgKmFyZ1tdLCBpbnQgZGV0YWNoLAo+ID4+PiAgICAgICAgRklMRSAqKmZfaW4sIEZJTEUgKipm
X291dCwgRklMRSAqKmZfZXJyKTsKPiA+Pj4KPiA+Pj4gaW50IFBsX01fR2V0X1N0YXR1cyhpbnQg
cGlkKTsKPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4gY2hhciAqUGxfTV9Na3RlbXAoY2hhciAqdG1w
X3RlbXBsYXRlKTsKPiA+Pj4KPiA+Pj4gY2hhciAqUGxfTV9UZW1wbmFtKGNoYXIgKmRpciwgY2hh
ciAqcGZ4KTsKPiA+Pj4gIyA1MiAiZW5naW5lX3BsLmgiIDIKPiA+Pj4gIyAxICJtYWNoaW5lLmgi
IDEKPiA+Pj4gIyA2MSAibWFjaGluZS5oIgo+ID4+PiB2b2lkIFBsX0luaXRfTWFjaGluZSh2b2lk
KTsKPiA+Pj4KPiA+Pj4gY2hhciAqUGxfTV9TeXNfRXJyX1N0cmluZyhpbnQgcmV0X3ZhbCk7Cj4g
Pj4+Cj4gPj4+IFBsTG9uZyBQbF9NX1VzZXJfVGltZSh2b2lkKTsKPiA+Pj4KPiA+Pj4gUGxMb25n
IFBsX01fU3lzdGVtX1RpbWUodm9pZCk7Cj4gPj4+Cj4gPj4+IFBsTG9uZyBQbF9NX1JlYWxfVGlt
ZSh2b2lkKTsKPiA+Pj4KPiA+Pj4gdm9pZCBQbF9NX1JhbmRvbWl6ZSh2b2lkKTsKPiA+Pj4KPiA+
Pj4gdm9pZCBQbF9NX1NldF9TZWVkKGludCBuKTsKPiA+Pj4KPiA+Pj4gaW50IFBsX01fR2V0X1Nl
ZWQodm9pZCk7Cj4gPj4+Cj4gPj4+IGludCBQbF9NX1JhbmRvbV9JbnRlZ2VyKGludCBuKTsKPiA+
Pj4KPiA+Pj4gZG91YmxlIFBsX01fUmFuZG9tX0Zsb2F0KGRvdWJsZSBuKTsKPiA+Pj4KPiA+Pj4K
PiA+Pj4KPiA+Pj4gY2hhciAqUGxfTV9Ib3N0X05hbWVfRnJvbV9OYW1lKGNoYXIgKmhvc3RfbmFt
ZSk7Cj4gPj4+Cj4gPj4+IGNoYXIgKlBsX01fSG9zdF9OYW1lX0Zyb21fQWRyKGNoYXIgKmhvc3Rf
YWRkcmVzcyk7Cj4gPj4+Cj4gPj4+IGNoYXIgKlBsX01fR2V0X1dvcmtpbmdfRGlyKHZvaWQpOwo+
ID4+Pgo+ID4+PiBCb29sIFBsX01fU2V0X1dvcmtpbmdfRGlyKGNoYXIgKnBhdGgpOwo+ID4+Pgo+
ID4+PiBjaGFyICpQbF9NX0Fic29sdXRlX1BhdGhfTmFtZShjaGFyICpzcmMpOwo+ID4+Pgo+ID4+
PiBCb29sIFBsX01fSXNfQWJzb2x1dGVfRmlsZV9OYW1lKGNoYXIgKnBhdGgpOwo+ID4+Pgo+ID4+
PiBjaGFyICpQbF9NX0RlY29tcG9zZV9GaWxlX05hbWUoY2hhciAqcGF0aCwgQm9vbCBkZWxfdHJh
aWxfc2xhc2hlcywKPiA+Pj4gICAgICAgICAgIGNoYXIgKipiYXNlLCBjaGFyICoqc3VmZml4KTsK
PiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4gdm9pZCBNX0No
ZWNrX01hZ2ljX1dvcmRzKHZvaWQpOwo+ID4+PiAjIDUzICJlbmdpbmVfcGwuaCIgMgo+ID4+PiAj
IDEgInN0YWNrc19zaWdzZWd2LmgiIDEKPiA+Pj4gIyA1MCAic3RhY2tzX3NpZ3NlZ3YuaCIKPiA+
Pj4gdHlwZWRlZiBpbnQgKCpTZWd2SGRscikodm9pZCAqYmFkX2FkZHIpOwo+ID4+PiAjIDYwICJz
dGFja3Nfc2lnc2Vndi5oIgo+ID4+PiB2b2lkIFBsX0FsbG9jYXRlX1N0YWNrcyh2b2lkKTsKPiA+
Pj4KPiA+Pj4gdm9pZCBQbF9QdXNoX1NJR1NFR1ZfSGFuZGxlcihTZWd2SGRsciBoYW5kbGVyKTsK
PiA+Pj4KPiA+Pj4gdm9pZCBQbF9Qb3BfU0lHU0VHVl9IYW5kbGVyKHZvaWQpOwo+ID4+PiAjIDU0
ICJlbmdpbmVfcGwuaCIgMgo+ID4+PiAjIDEgIm9ial9jaGFpbi5oIiAxCj4gPj4+ICMgNTggIm9i
al9jaGFpbi5oIgo+ID4+PiB2b2lkIFBsX0ZpbmRfTGlua2VkX09iamVjdHModm9pZCk7Cj4gPj4+
Cj4gPj4+IHZvaWQgUGxfTmV3X09iamVjdCh2b2lkICgqZmN0X29ial9pbml0KSgpLCB2b2lkICgq
ZmN0X2V4ZWNfc3lzdGVtKSAoKSwgdm9pZCAoKmZjdF9leGVjX3VzZXIpICgpKTsKPiA+Pj4gIyA1
NSAiZW5naW5lX3BsLmgiIDIKPiA+Pj4gIyAxICJ3YW1faW5zdC5oIiAxCj4gPj4+ICMgMjQ5ICJ3
YW1faW5zdC5oIgo+ID4+PiB0eXBlZGVmIHN0cnVjdAo+ID4+PiB7Cj4gPj4+ICAgUGxMb25nIGtl
eTsKPiA+Pj4gICBDb2RlUHRyIGNvZGVwOwo+ID4+PiB9Cj4gPj4+IFN3dEluZjsKPiA+Pj4KPiA+
Pj4gdHlwZWRlZiBTd3RJbmYgKlN3dFRibDsKPiA+Pj4gIyAyNjkgIndhbV9pbnN0LmgiCj4gPj4+
IFdhbVdvcmQgX19hdHRyaWJ1dGVfXygocmVncGFybSgzKSkpIFBsX0NyZWF0ZV9GdW5jdG9yX0Fy
aXR5X1RhZ2dlZChjaGFyICpmdW5jX3N0ciwgaW50IGFyaXR5KTsKPiA+Pj4KPiA+Pj4gU3d0VGJs
IF9fYXR0cmlidXRlX18oKHJlZ3Bhcm0oMykpKSBQbF9DcmVhdGVfU3d0X1RhYmxlKGludCBzaXpl
KTsKPiA+Pj4KPiA+Pj4gdm9pZCBfX2F0dHJpYnV0ZV9fKChyZWdwYXJtKDMpKSkgUGxfQ3JlYXRl
X1N3dF9BdG1fRWxlbWVudChTd3RUYmwgdCwgaW50IHNpemUsIGludCBhdG9tLCBDb2RlUHRyIGNv
ZGVwKTsKPiA+Pj4KPiA+Pj4gdm9pZCBfX2F0dHJpYnV0ZV9fKChyZWdwYXJtKDMpKSkgUGxfQ3Jl
YXRlX1N3dF9TdGNfRWxlbWVudChTd3RUYmwgdCwgaW50IHNpemUsIGludCBmdW5jLCBpbnQgYXJp
dHksCj4gPj4+ICAgICAgICBDb2RlUHRyIGNvZGVwKTsKPiA+Pj4KPiA+Pj4gQm9vbCBfX2F0dHJp
YnV0ZV9fKChyZWdwYXJtKDMpKSkgUGxfR2V0X0F0b21fVGFnZ2VkKFdhbVdvcmQgdywgV2FtV29y
ZCBzdGFydF93b3JkKTsKPiA+Pj4KPiA+Pj4gQm9vbCBfX2F0dHJpYnV0ZV9fKChyZWdwYXJtKDMp
KSkgUGxfR2V0X0F0b20oaW50IGF0b20sIFdhbVdvcmQgc3RhcnRfd29yZCk7Cj4gPj4+Cj4gPj4+
IEJvb2wgX19hdHRyaWJ1dGVfXygocmVncGFybSgzKSkpIFBsX0dldF9JbnRlZ2VyX1RhZ2dlZChX
YW1Xb3JkIHcsIFdhbVdvcmQgc3RhcnRfd29yZCk7Cj4gPj4+Cj4gPj4+IEJvb2wgX19hdHRyaWJ1
dGVfXygocmVncGFybSgzKSkpIFBsX0dldF9JbnRlZ2VyKFBsTG9uZyBuLCBXYW1Xb3JkIHN0YXJ0
X3dvcmQpOwo+ID4+Pgo+ID4+PiBCb29sIF9fYXR0cmlidXRlX18oKHJlZ3Bhcm0oMykpKSBQbF9H
ZXRfRmxvYXQoZG91YmxlIG4sIFdhbVdvcmQgc3RhcnRfd29yZCk7Cj4gPj4+Cj4gPj4+IEJvb2wg
X19hdHRyaWJ1dGVfXygocmVncGFybSgzKSkpIFBsX0dldF9OaWwoV2FtV29yZCBzdGFydF93b3Jk
KTsKPiA+Pj4KPiA+Pj4gQm9vbCBfX2F0dHJpYnV0ZV9fKChyZWdwYXJtKDMpKSkgUGxfR2V0X0xp
c3QoV2FtV29yZCBzdGFydF93b3JkKTsKPiA+Pj4KPiA+Pj4gQm9vbCBfX2F0dHJpYnV0ZV9fKChy
ZWdwYXJtKDMpKSkgUGxfR2V0X1N0cnVjdHVyZV9UYWdnZWQoV2FtV29yZCB3LCBXYW1Xb3JkIHN0
YXJ0X3dvcmQpOwo+ID4+Pgo+ID4+PiBCb29sIF9fYXR0cmlidXRlX18oKHJlZ3Bhcm0oMykpKSBQ
bF9HZXRfU3RydWN0dXJlKGludCBmdW5jLCBpbnQgYXJpdHksIFdhbVdvcmQgc3RhcnRfd29yZCk7
Cj4gPj4+Cj4gPj4+IFdhbVdvcmQgX19hdHRyaWJ1dGVfXygocmVncGFybSgzKSkpIFBsX1B1dF9Y
X1ZhcmlhYmxlKHZvaWQpOwo+ID4+Pgo+ID4+PiBXYW1Xb3JkIF9fYXR0cmlidXRlX18oKHJlZ3Bh
cm0oMykpKSBQbF9QdXRfWV9WYXJpYWJsZShXYW1Xb3JkICp5X2Fkcik7Cj4gPj4+Cj4gPj4+IFdh
bVdvcmQgX19hdHRyaWJ1dGVfXygocmVncGFybSgzKSkpIFBsX1B1dF9VbnNhZmVfVmFsdWUoV2Ft
V29yZCBzdGFydF93b3JkKTsKPiA+Pj4KPiA+Pj4gV2FtV29yZCBfX2F0dHJpYnV0ZV9fKChyZWdw
YXJtKDMpKSkgUGxfUHV0X0F0b21fVGFnZ2VkKFdhbVdvcmQgdyk7Cj4gPj4+Cj4gPj4+IFdhbVdv
cmQgX19hdHRyaWJ1dGVfXygocmVncGFybSgzKSkpIFBsX1B1dF9BdG9tKGludCBhdG9tKTsKPiA+
Pj4KPiA+Pj4gV2FtV29yZCBfX2F0dHJpYnV0ZV9fKChyZWdwYXJtKDMpKSkgUGxfUHV0X0ludGVn
ZXJfVGFnZ2VkKFdhbVdvcmQgdyk7Cj4gPj4+Cj4gPj4+IFdhbVdvcmQgX19hdHRyaWJ1dGVfXygo
cmVncGFybSgzKSkpIFBsX1B1dF9JbnRlZ2VyKFBsTG9uZyBuKTsKPiA+Pj4KPiA+Pj4gV2FtV29y
ZCBfX2F0dHJpYnV0ZV9fKChyZWdwYXJtKDMpKSkgUGxfUHV0X0Zsb2F0KGRvdWJsZSBuKTsKPiA+
Pj4KPiA+Pj4gV2FtV29yZCBfX2F0dHJpYnV0ZV9fKChyZWdwYXJtKDMpKSkgUGxfUHV0X05pbCh2
b2lkKTsKPiA+Pj4KPiA+Pj4gV2FtV29yZCBfX2F0dHJpYnV0ZV9fKChyZWdwYXJtKDMpKSkgUGxf
UHV0X0xpc3Qodm9pZCk7Cj4gPj4+Cj4gPj4+IFdhbVdvcmQgX19hdHRyaWJ1dGVfXygocmVncGFy
bSgzKSkpIFBsX1B1dF9TdHJ1Y3R1cmVfVGFnZ2VkKFdhbVdvcmQgdyk7Cj4gPj4+Cj4gPj4+IFdh
bVdvcmQgX19hdHRyaWJ1dGVfXygocmVncGFybSgzKSkpIFBsX1B1dF9TdHJ1Y3R1cmUoaW50IGZ1
bmMsIGludCBhcml0eSk7Cj4gPj4+Cj4gPj4+IFdhbVdvcmQgX19hdHRyaWJ1dGVfXygocmVncGFy
bSgzKSkpIFBsX1VuaWZ5X1ZhcmlhYmxlKHZvaWQpOwo+ID4+Pgo+ID4+PiB2b2lkIF9fYXR0cmli
dXRlX18oKHJlZ3Bhcm0oMykpKSBQbF9VbmlmeV9Wb2lkKGludCBuKTsKPiA+Pj4KPiA+Pj4gQm9v
bCBfX2F0dHJpYnV0ZV9fKChyZWdwYXJtKDMpKSkgUGxfVW5pZnlfVmFsdWUoV2FtV29yZCBzdGFy
dF93b3JkKTsKPiA+Pj4KPiA+Pj4gQm9vbCBfX2F0dHJpYnV0ZV9fKChyZWdwYXJtKDMpKSkgUGxf
VW5pZnlfTG9jYWxfVmFsdWUoV2FtV29yZCBzdGFydF93b3JkKTsKPiA+Pj4KPiA+Pj4gQm9vbCBf
X2F0dHJpYnV0ZV9fKChyZWdwYXJtKDMpKSkgUGxfVW5pZnlfQXRvbV9UYWdnZWQoV2FtV29yZCB3
KTsKPiA+Pj4KPiA+Pj4gQm9vbCBfX2F0dHJpYnV0ZV9fKChyZWdwYXJtKDMpKSkgUGxfVW5pZnlf
QXRvbShpbnQgYXRvbSk7Cj4gPj4+Cj4gPj4+IEJvb2wgX19hdHRyaWJ1dGVfXygocmVncGFybSgz
KSkpIFBsX1VuaWZ5X0ludGVnZXJfVGFnZ2VkKFdhbVdvcmQgdyk7Cj4gPj4+Cj4gPj4+IEJvb2wg
X19hdHRyaWJ1dGVfXygocmVncGFybSgzKSkpIFBsX1VuaWZ5X0ludGVnZXIoUGxMb25nIG4pOwo+
ID4+Pgo+ID4+PiBCb29sIF9fYXR0cmlidXRlX18oKHJlZ3Bhcm0oMykpKSBQbF9VbmlmeV9OaWwo
dm9pZCk7Cj4gPj4+Cj4gPj4+IEJvb2wgX19hdHRyaWJ1dGVfXygocmVncGFybSgzKSkpIFBsX1Vu
aWZ5X0xpc3Qodm9pZCk7Cj4gPj4+Cj4gPj4+IEJvb2wgX19hdHRyaWJ1dGVfXygocmVncGFybSgz
KSkpIFBsX1VuaWZ5X1N0cnVjdHVyZV9UYWdnZWQoV2FtV29yZCB3KTsKPiA+Pj4KPiA+Pj4gQm9v
bCBfX2F0dHJpYnV0ZV9fKChyZWdwYXJtKDMpKSkgUGxfVW5pZnlfU3RydWN0dXJlKGludCBmdW5j
LCBpbnQgYXJpdHkpOwo+ID4+Pgo+ID4+PiBXYW1Xb3JkIF9fYXR0cmlidXRlX18oKHJlZ3Bhcm0o
MykpKSBQbF9HbG9iYWxpemVfSWZfSW5fTG9jYWwoV2FtV29yZCBzdGFydF93b3JkKTsKPiA+Pj4K
PiA+Pj4gdm9pZCBfX2F0dHJpYnV0ZV9fKChyZWdwYXJtKDMpKSkgUGxfQWxsb2NhdGUoaW50IG4p
Owo+ID4+Pgo+ID4+PiB2b2lkIF9fYXR0cmlidXRlX18oKHJlZ3Bhcm0oMykpKSBQbF9EZWFsbG9j
YXRlKHZvaWQpOwo+ID4+Pgo+ID4+PiBDb2RlUHRyIF9fYXR0cmlidXRlX18oKHJlZ3Bhcm0oMykp
KSBQbF9Td2l0Y2hfT25fVGVybShDb2RlUHRyIGNfdmFyLCBDb2RlUHRyIGNfYXRtLCBDb2RlUHRy
IGNfaW50LAo+ID4+PiAgICAgICAgICAgICBDb2RlUHRyIGNfbHN0LCBDb2RlUHRyIGNfc3RjKTsK
PiA+Pj4gQ29kZVB0ciBfX2F0dHJpYnV0ZV9fKChyZWdwYXJtKDMpKSkgUGxfU3dpdGNoX09uX1Rl
cm1fVmFyX0F0bShDb2RlUHRyIGNfdmFyLCBDb2RlUHRyIGNfYXRtKTsKPiA+Pj4gQ29kZVB0ciBf
X2F0dHJpYnV0ZV9fKChyZWdwYXJtKDMpKSkgUGxfU3dpdGNoX09uX1Rlcm1fVmFyX1N0YyhDb2Rl
UHRyIGNfdmFyLCBDb2RlUHRyIGNfc3RjKTsKPiA+Pj4gQ29kZVB0ciBfX2F0dHJpYnV0ZV9fKChy
ZWdwYXJtKDMpKSkgUGxfU3dpdGNoX09uX1Rlcm1fVmFyX0F0bV9Mc3QoQ29kZVB0ciBjX3Zhciwg
Q29kZVB0ciBjX2F0bSwKPiA+Pj4gICAgICAgICAgIENvZGVQdHIgY19sc3QpOwo+ID4+PiBDb2Rl
UHRyIF9fYXR0cmlidXRlX18oKHJlZ3Bhcm0oMykpKSBQbF9Td2l0Y2hfT25fVGVybV9WYXJfQXRt
X1N0YyhDb2RlUHRyIGNfdmFyLCBDb2RlUHRyIGNfYXRtLAo+ID4+PiAgICAgICAgICAgQ29kZVB0
ciBjX3N0Yyk7Cj4gPj4+Cj4gPj4+IENvZGVQdHIgX19hdHRyaWJ1dGVfXygocmVncGFybSgzKSkp
IFBsX1N3aXRjaF9Pbl9BdG9tKFN3dFRibCB0LCBpbnQgc2l6ZSk7Cj4gPj4+Cj4gPj4+IFBsTG9u
ZyBfX2F0dHJpYnV0ZV9fKChyZWdwYXJtKDMpKSkgUGxfU3dpdGNoX09uX0ludGVnZXIodm9pZCk7
Cj4gPj4+Cj4gPj4+IENvZGVQdHIgX19hdHRyaWJ1dGVfXygocmVncGFybSgzKSkpIFBsX1N3aXRj
aF9Pbl9TdHJ1Y3R1cmUoU3d0VGJsIHQsIGludCBzaXplKTsKPiA+Pj4KPiA+Pj4gV2FtV29yZCBf
X2F0dHJpYnV0ZV9fKChyZWdwYXJtKDMpKSkgUGxfR2V0X0N1cnJlbnRfQ2hvaWNlKHZvaWQpOwo+
ID4+Pgo+ID4+PiB2b2lkIF9fYXR0cmlidXRlX18oKHJlZ3Bhcm0oMykpKSBQbF9DdXQoV2FtV29y
ZCBiX3dvcmQpOwo+ID4+Pgo+ID4+PiB2b2lkIF9fYXR0cmlidXRlX18oKHJlZ3Bhcm0oMykpKSBQ
bF9Tb2Z0X0N1dChXYW1Xb3JkIGJfd29yZCk7Cj4gPj4+Cj4gPj4+IHZvaWQgX19hdHRyaWJ1dGVf
XygocmVncGFybSgzKSkpIFBsX0dsb2JhbF9QdXNoX0Zsb2F0KGRvdWJsZSBuKTsKPiA+Pj4KPiA+
Pj4gZG91YmxlIF9fYXR0cmlidXRlX18oKHJlZ3Bhcm0oMykpKSBQbF9PYnRhaW5fRmxvYXQoV2Ft
V29yZCAqYWRyKTsKPiA+Pj4KPiA+Pj4KPiA+Pj4gdm9pZCBfX2F0dHJpYnV0ZV9fKChyZWdwYXJt
KDMpKSkgUGxfQ3JlYXRlX0Nob2ljZV9Qb2ludChDb2RlUHRyIGNvZGVwX2FsdCwgaW50IGFyaXR5
KTsKPiA+Pj4gdm9pZCBfX2F0dHJpYnV0ZV9fKChyZWdwYXJtKDMpKSkgUGxfQ3JlYXRlX0Nob2lj
ZV9Qb2ludDAoQ29kZVB0ciBjb2RlcF9hbHQpOwo+ID4+PiB2b2lkIF9fYXR0cmlidXRlX18oKHJl
Z3Bhcm0oMykpKSBQbF9DcmVhdGVfQ2hvaWNlX1BvaW50MShDb2RlUHRyIGNvZGVwX2FsdCk7Cj4g
Pj4+IHZvaWQgX19hdHRyaWJ1dGVfXygocmVncGFybSgzKSkpIFBsX0NyZWF0ZV9DaG9pY2VfUG9p
bnQyKENvZGVQdHIgY29kZXBfYWx0KTsKPiA+Pj4gdm9pZCBfX2F0dHJpYnV0ZV9fKChyZWdwYXJt
KDMpKSkgUGxfQ3JlYXRlX0Nob2ljZV9Qb2ludDMoQ29kZVB0ciBjb2RlcF9hbHQpOwo+ID4+PiB2
b2lkIF9fYXR0cmlidXRlX18oKHJlZ3Bhcm0oMykpKSBQbF9DcmVhdGVfQ2hvaWNlX1BvaW50NChD
b2RlUHRyIGNvZGVwX2FsdCk7Cj4gPj4+Cj4gPj4+Cj4gPj4+IHZvaWQgX19hdHRyaWJ1dGVfXygo
cmVncGFybSgzKSkpIFBsX1VwZGF0ZV9DaG9pY2VfUG9pbnQoQ29kZVB0ciBjb2RlcF9hbHQsIGlu
dCBhcml0eSk7Cj4gPj4+IHZvaWQgX19hdHRyaWJ1dGVfXygocmVncGFybSgzKSkpIFBsX1VwZGF0
ZV9DaG9pY2VfUG9pbnQwKENvZGVQdHIgY29kZXBfYWx0KTsKPiA+Pj4gdm9pZCBfX2F0dHJpYnV0
ZV9fKChyZWdwYXJtKDMpKSkgUGxfVXBkYXRlX0Nob2ljZV9Qb2ludDEoQ29kZVB0ciBjb2RlcF9h
bHQpOwo+ID4+PiB2b2lkIF9fYXR0cmlidXRlX18oKHJlZ3Bhcm0oMykpKSBQbF9VcGRhdGVfQ2hv
aWNlX1BvaW50MihDb2RlUHRyIGNvZGVwX2FsdCk7Cj4gPj4+IHZvaWQgX19hdHRyaWJ1dGVfXygo
cmVncGFybSgzKSkpIFBsX1VwZGF0ZV9DaG9pY2VfUG9pbnQzKENvZGVQdHIgY29kZXBfYWx0KTsK
PiA+Pj4gdm9pZCBfX2F0dHJpYnV0ZV9fKChyZWdwYXJtKDMpKSkgUGxfVXBkYXRlX0Nob2ljZV9Q
b2ludDQoQ29kZVB0ciBjb2RlcF9hbHQpOwo+ID4+Pgo+ID4+PiB2b2lkIF9fYXR0cmlidXRlX18o
KHJlZ3Bhcm0oMykpKSBQbF9EZWxldGVfQ2hvaWNlX1BvaW50KGludCBhcml0eSk7Cj4gPj4+IHZv
aWQgX19hdHRyaWJ1dGVfXygocmVncGFybSgzKSkpIFBsX0RlbGV0ZV9DaG9pY2VfUG9pbnQwKHZv
aWQpOwo+ID4+PiB2b2lkIF9fYXR0cmlidXRlX18oKHJlZ3Bhcm0oMykpKSBQbF9EZWxldGVfQ2hv
aWNlX1BvaW50MSh2b2lkKTsKPiA+Pj4gdm9pZCBfX2F0dHJpYnV0ZV9fKChyZWdwYXJtKDMpKSkg
UGxfRGVsZXRlX0Nob2ljZV9Qb2ludDIodm9pZCk7Cj4gPj4+IHZvaWQgX19hdHRyaWJ1dGVfXygo
cmVncGFybSgzKSkpIFBsX0RlbGV0ZV9DaG9pY2VfUG9pbnQzKHZvaWQpOwo+ID4+PiB2b2lkIF9f
YXR0cmlidXRlX18oKHJlZ3Bhcm0oMykpKSBQbF9EZWxldGVfQ2hvaWNlX1BvaW50NCh2b2lkKTsK
PiA+Pj4KPiA+Pj4KPiA+Pj4gdm9pZCBQbF9EZWZlYXNpYmxlX09wZW4oKTsKPiA+Pj4gdm9pZCBQ
bF9EZWZlYXNpYmxlX1VuZG8oKTsKPiA+Pj4gdm9pZCBQbF9EZWZlYXNpYmxlX0Nsb3NlKEJvb2wg
dW5kb19iZWZvcmUpOwo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+PiB2b2lkIF9fYXR0cmlidXRlX18o
KHJlZ3Bhcm0oMykpKSBQbF9VbnRyYWlsKFdhbVdvcmQgKmxvd19hZHIpOwo+ID4+Pgo+ID4+PiBC
b29sIF9fYXR0cmlidXRlX18oKHJlZ3Bhcm0oMykpKSBQbF9VbmlmeShXYW1Xb3JkIHN0YXJ0X3Vf
d29yZCwgV2FtV29yZCBzdGFydF92X3dvcmQpOwo+ID4+Pgo+ID4+PiBCb29sIF9fYXR0cmlidXRl
X18oKHJlZ3Bhcm0oMykpKSBQbF9VbmlmeV9PY2N1cnNfQ2hlY2soV2FtV29yZCBzdGFydF91X3dv
cmQsIFdhbVdvcmQgc3RhcnRfdl93b3JkKTsKPiA+Pj4gIyA1NiAiZW5naW5lX3BsLmgiIDIKPiA+
Pj4gIyAxICJpZl9ub19mZC5oIiAxCj4gPj4+ICMgNjUgImlmX25vX2ZkLmgiCj4gPj4+IGV4dGVy
biB2b2lkICgqcGxfZmRfaW5pdF9zb2x2ZXIpICgpOwo+ID4+PiBleHRlcm4gdm9pZCAoKnBsX2Zk
X3Jlc2V0X3NvbHZlcikgKCk7Cj4gPj4+IGV4dGVybiBCb29sICgqcGxfZmRfdW5pZnlfd2l0aF9p
bnRlZ2VyKSAoKTsKPiA+Pj4gZXh0ZXJuIEJvb2wgKCpwbF9mZF91bmlmeV93aXRoX2ZkX3Zhcikg
KCk7Cj4gPj4+IGV4dGVybiBpbnQgKCpwbF9mZF92YXJpYWJsZV9zaXplKSAoKTsKPiA+Pj4gZXh0
ZXJuIGludCAoKnBsX2ZkX2NvcHlfdmFyaWFibGUpICgpOwo+ID4+PiBleHRlcm4gY2hhciAqKCpw
bF9mZF92YXJpYWJsZV90b19zdHJpbmcpICgpOwo+ID4+PiAjIDgyICJpZl9ub19mZC5oIgo+ID4+
PiB2b2lkIFBsX0ZkX0luaXRfU29sdmVyKHZvaWQpOwo+ID4+Pgo+ID4+PiB2b2lkIFBsX0ZkX1Jl
c2V0X1NvbHZlcih2b2lkKTsKPiA+Pj4gIyA1NiAiZW5naW5lX3BsLmgiIDIKPiA+Pj4gIyA3MiAi
bWFjaGluZS5jIiAyCj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+ICMgMSAiL3Vzci9pbmNsdWRlL21h
bGxvYy5oIiAxIDMgNAo+ID4+PiAjIDIzICIvdXNyL2luY2x1ZGUvbWFsbG9jLmgiIDMgNAo+ID4+
PiAjIDEgIi91c3IvbGliL2djYy9pNjg2LXJlZGhhdC1saW51eC82LjEuMS9pbmNsdWRlL3N0ZGRl
Zi5oIiAxIDMgNAo+ID4+PiAjIDE0OSAiL3Vzci9saWIvZ2NjL2k2ODYtcmVkaGF0LWxpbnV4LzYu
MS4xL2luY2x1ZGUvc3RkZGVmLmgiIDMgNAo+ID4+Pgo+ID4+PiAjIDE0OSAiL3Vzci9saWIvZ2Nj
L2k2ODYtcmVkaGF0LWxpbnV4LzYuMS4xL2luY2x1ZGUvc3RkZGVmLmgiIDMgNAo+ID4+PiB0eXBl
ZGVmIGludCBwdHJkaWZmX3Q7Cj4gPj4+ICMgNDI2ICIvdXNyL2xpYi9nY2MvaTY4Ni1yZWRoYXQt
bGludXgvNi4xLjEvaW5jbHVkZS9zdGRkZWYuaCIgMyA0Cj4gPj4+IHR5cGVkZWYgc3RydWN0IHsK
PiA+Pj4gICBsb25nIGxvbmcgX19tYXhfYWxpZ25fbGwgX19hdHRyaWJ1dGVfXygoX19hbGlnbmVk
X18oX19hbGlnbm9mX18obG9uZyBsb25nKSkpKTsKPiA+Pj4gICBsb25nIGRvdWJsZSBfX21heF9h
bGlnbl9sZCBfX2F0dHJpYnV0ZV9fKChfX2FsaWduZWRfXyhfX2FsaWdub2ZfXyhsb25nIGRvdWJs
ZSkpKSk7Cj4gPj4+IH0gbWF4X2FsaWduX3Q7Cj4gPj4+ICMgMjQgIi91c3IvaW5jbHVkZS9tYWxs
b2MuaCIgMiAzIDQKPiA+Pj4gIyAzNSAiL3Vzci9pbmNsdWRlL21hbGxvYy5oIiAzIDQKPiA+Pj4K
PiA+Pj4KPiA+Pj4KPiA+Pj4gZXh0ZXJuIHZvaWQgKm1hbGxvYyAoc2l6ZV90IF9fc2l6ZSkgX19h
dHRyaWJ1dGVfXyAoKF9fbm90aHJvd19fICwgX19sZWFmX18pKSBfX2F0dHJpYnV0ZV9fICgoX19t
YWxsb2NfXykpIDsKPiA+Pj4KPiA+Pj4KPiA+Pj4gZXh0ZXJuIHZvaWQgKmNhbGxvYyAoc2l6ZV90
IF9fbm1lbWIsIHNpemVfdCBfX3NpemUpCj4gPj4+IF9fYXR0cmlidXRlX18gKChfX25vdGhyb3df
XyAsIF9fbGVhZl9fKSkgX19hdHRyaWJ1dGVfXyAoKF9fbWFsbG9jX18pKSA7Cj4gPj4+Cj4gPj4+
Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+IGV4dGVybiB2b2lkICpyZWFsbG9jICh2b2lk
ICpfX3B0ciwgc2l6ZV90IF9fc2l6ZSkKPiA+Pj4gX19hdHRyaWJ1dGVfXyAoKF9fbm90aHJvd19f
ICwgX19sZWFmX18pKSBfX2F0dHJpYnV0ZV9fICgoX193YXJuX3VudXNlZF9yZXN1bHRfXykpOwo+
ID4+Pgo+ID4+Pgo+ID4+PiBleHRlcm4gdm9pZCBmcmVlICh2b2lkICpfX3B0cikgX19hdHRyaWJ1
dGVfXyAoKF9fbm90aHJvd19fICwgX19sZWFmX18pKTsKPiA+Pj4KPiA+Pj4KPiA+Pj4gZXh0ZXJu
IHZvaWQgY2ZyZWUgKHZvaWQgKl9fcHRyKSBfX2F0dHJpYnV0ZV9fICgoX19ub3Rocm93X18gLCBf
X2xlYWZfXykpOwo+ID4+Pgo+ID4+Pgo+ID4+PiBleHRlcm4gdm9pZCAqbWVtYWxpZ24gKHNpemVf
dCBfX2FsaWdubWVudCwgc2l6ZV90IF9fc2l6ZSkKPiA+Pj4gX19hdHRyaWJ1dGVfXyAoKF9fbm90
aHJvd19fICwgX19sZWFmX18pKSBfX2F0dHJpYnV0ZV9fICgoX19tYWxsb2NfXykpIDsKPiA+Pj4K
PiA+Pj4KPiA+Pj4gZXh0ZXJuIHZvaWQgKnZhbGxvYyAoc2l6ZV90IF9fc2l6ZSkgX19hdHRyaWJ1
dGVfXyAoKF9fbm90aHJvd19fICwgX19sZWFmX18pKSBfX2F0dHJpYnV0ZV9fICgoX19tYWxsb2Nf
XykpIDsKPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4gZXh0ZXJuIHZvaWQgKnB2YWxsb2MgKHNpemVf
dCBfX3NpemUpIF9fYXR0cmlidXRlX18gKChfX25vdGhyb3dfXyAsIF9fbGVhZl9fKSkgX19hdHRy
aWJ1dGVfXyAoKF9fbWFsbG9jX18pKSA7Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+IGV4dGVybiB2
b2lkICooKl9fbW9yZWNvcmUpIChwdHJkaWZmX3QgX19zaXplKTsKPiA+Pj4KPiA+Pj4KPiA+Pj4g
ZXh0ZXJuIHZvaWQgKl9fZGVmYXVsdF9tb3JlY29yZSAocHRyZGlmZl90IF9fc2l6ZSkKPiA+Pj4g
X19hdHRyaWJ1dGVfXyAoKF9fbm90aHJvd19fICwgX19sZWFmX18pKSBfX2F0dHJpYnV0ZV9fICgo
X19tYWxsb2NfXykpOwo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+PiBzdHJ1Y3QgbWFsbGluZm8KPiA+
Pj4gewo+ID4+PiAgIGludCBhcmVuYTsKPiA+Pj4gICBpbnQgb3JkYmxrczsKPiA+Pj4gICBpbnQg
c21ibGtzOwo+ID4+PiAgIGludCBoYmxrczsKPiA+Pj4gICBpbnQgaGJsa2hkOwo+ID4+PiAgIGlu
dCB1c21ibGtzOwo+ID4+PiAgIGludCBmc21ibGtzOwo+ID4+PiAgIGludCB1b3JkYmxrczsKPiA+
Pj4gICBpbnQgZm9yZGJsa3M7Cj4gPj4+ICAgaW50IGtlZXBjb3N0Owo+ID4+PiB9Owo+ID4+Pgo+
ID4+Pgo+ID4+PiBleHRlcm4gc3RydWN0IG1hbGxpbmZvIG1hbGxpbmZvICh2b2lkKSBfX2F0dHJp
YnV0ZV9fICgoX19ub3Rocm93X18gLCBfX2xlYWZfXykpOwo+ID4+PiAjIDEyMSAiL3Vzci9pbmNs
dWRlL21hbGxvYy5oIiAzIDQKPiA+Pj4gZXh0ZXJuIGludCBtYWxsb3B0IChpbnQgX19wYXJhbSwg
aW50IF9fdmFsKSBfX2F0dHJpYnV0ZV9fICgoX19ub3Rocm93X18gLCBfX2xlYWZfXykpOwo+ID4+
Pgo+ID4+Pgo+ID4+Pgo+ID4+PiBleHRlcm4gaW50IG1hbGxvY190cmltIChzaXplX3QgX19wYWQp
IF9fYXR0cmlidXRlX18gKChfX25vdGhyb3dfXyAsIF9fbGVhZl9fKSk7Cj4gPj4+Cj4gPj4+Cj4g
Pj4+Cj4gPj4+IGV4dGVybiBzaXplX3QgbWFsbG9jX3VzYWJsZV9zaXplICh2b2lkICpfX3B0cikg
X19hdHRyaWJ1dGVfXyAoKF9fbm90aHJvd19fICwgX19sZWFmX18pKTsKPiA+Pj4KPiA+Pj4KPiA+
Pj4gZXh0ZXJuIHZvaWQgbWFsbG9jX3N0YXRzICh2b2lkKSBfX2F0dHJpYnV0ZV9fICgoX19ub3Ro
cm93X18gLCBfX2xlYWZfXykpOwo+ID4+Pgo+ID4+Pgo+ID4+PiBleHRlcm4gaW50IG1hbGxvY19p
bmZvIChpbnQgX19vcHRpb25zLCBGSUxFICpfX2ZwKSBfX2F0dHJpYnV0ZV9fICgoX19ub3Rocm93
X18gLCBfX2xlYWZfXykpOwo+ID4+Pgo+ID4+Pgo+ID4+PiBleHRlcm4gdm9pZCAqbWFsbG9jX2dl
dF9zdGF0ZSAodm9pZCkgX19hdHRyaWJ1dGVfXyAoKF9fbm90aHJvd19fICwgX19sZWFmX18pKTsK
PiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4gZXh0ZXJuIGludCBtYWxsb2Nfc2V0X3N0YXRlICh2b2lk
ICpfX3B0cikgX19hdHRyaWJ1dGVfXyAoKF9fbm90aHJvd19fICwgX19sZWFmX18pKTsKPiA+Pj4K
PiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4gZXh0ZXJuIHZvaWQgKCp2b2xhdGlsZSBfX21hbGxvY19p
bml0aWFsaXplX2hvb2spICh2b2lkKQo+ID4+PiBfX2F0dHJpYnV0ZV9fICgoX19kZXByZWNhdGVk
X18pKTsKPiA+Pj4KPiA+Pj4gZXh0ZXJuIHZvaWQgKCp2b2xhdGlsZSBfX2ZyZWVfaG9vaykgKHZv
aWQgKl9fcHRyLAo+ID4+PiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCB2b2lkICopCj4gPj4+IF9fYXR0cmlidXRlX18gKChfX2RlcHJlY2F0
ZWRfXykpOwo+ID4+PiBleHRlcm4gdm9pZCAqKCp2b2xhdGlsZSBfX21hbGxvY19ob29rKShzaXpl
X3QgX19zaXplLAo+ID4+PiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IHZvaWQgKikKPiA+Pj4gX19hdHRyaWJ1dGVfXyAoKF9fZGVwcmVj
YXRlZF9fKSk7Cj4gPj4+IGV4dGVybiB2b2lkICooKnZvbGF0aWxlIF9fcmVhbGxvY19ob29rKSh2
b2lkICpfX3B0ciwKPiA+Pj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgc2l6ZV90IF9fc2l6ZSwKPiA+Pj4gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgdm9pZCAqKQo+ID4+PiBfX2F0
dHJpYnV0ZV9fICgoX19kZXByZWNhdGVkX18pKTsKPiA+Pj4gZXh0ZXJuIHZvaWQgKigqdm9sYXRp
bGUgX19tZW1hbGlnbl9ob29rKShzaXplX3QgX19hbGlnbm1lbnQsCj4gPj4+ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplX3QgX19zaXpl
LAo+ID4+PiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgY29uc3Qgdm9pZCAqKQo+ID4+PiBfX2F0dHJpYnV0ZV9fICgoX19kZXByZWNhdGVkX18p
KTsKPiA+Pj4gZXh0ZXJuIHZvaWQgKCp2b2xhdGlsZSBfX2FmdGVyX21vcmVjb3JlX2hvb2spICh2
b2lkKTsKPiA+Pj4KPiA+Pj4KPiA+Pj4gZXh0ZXJuIHZvaWQgX19tYWxsb2NfY2hlY2tfaW5pdCAo
dm9pZCkgX19hdHRyaWJ1dGVfXyAoKF9fbm90aHJvd19fICwgX19sZWFmX18pKSBfX2F0dHJpYnV0
ZV9fICgoX19kZXByZWNhdGVkX18pKTsKPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4gIyA3NiAibWFj
aGluZS5jIiAyCj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+ICMgMSAiL3Vzci9pbmNsdWRl
L25ldGRiLmgiIDEgMyA0Cj4gPj4+ICMgMjcgIi91c3IvaW5jbHVkZS9uZXRkYi5oIiAzIDQKPiA+
Pj4gIyAxICIvdXNyL2luY2x1ZGUvbmV0aW5ldC9pbi5oIiAxIDMgNAo+ID4+PiAjIDIzICIvdXNy
L2luY2x1ZGUvbmV0aW5ldC9pbi5oIiAzIDQKPiA+Pj4gIyAxICIvdXNyL2luY2x1ZGUvc3lzL3Nv
Y2tldC5oIiAxIDMgNAo+ID4+PiAjIDI0ICIvdXNyL2luY2x1ZGUvc3lzL3NvY2tldC5oIiAzIDQK
PiA+Pj4KPiA+Pj4KPiA+Pj4gIyAxICIvdXNyL2luY2x1ZGUvc3lzL3Vpby5oIiAxIDMgNAo+ID4+
PiAjIDI1ICIvdXNyL2luY2x1ZGUvc3lzL3Vpby5oIiAzIDQKPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+
Pj4gIyAxICIvdXNyL2luY2x1ZGUvYml0cy91aW8uaCIgMSAzIDQKPiA+Pj4gIyA0MyAiL3Vzci9p
bmNsdWRlL2JpdHMvdWlvLmgiIDMgNAo+ID4+PiBzdHJ1Y3QgaW92ZWMKPiA+Pj4gICB7Cj4gPj4+
ICAgICB2b2lkICppb3ZfYmFzZTsKPiA+Pj4gICAgIHNpemVfdCBpb3ZfbGVuOwo+ID4+PiAgIH07
Cj4gPj4+ICMgMjkgIi91c3IvaW5jbHVkZS9zeXMvdWlvLmgiIDIgMyA0Cj4gPj4+ICMgMzkgIi91
c3IvaW5jbHVkZS9zeXMvdWlvLmgiIDMgNAo+ID4+PiBleHRlcm4gc3NpemVfdCByZWFkdiAoaW50
IF9fZmQsIGNvbnN0IHN0cnVjdCBpb3ZlYyAqX19pb3ZlYywgaW50IF9fY291bnQpCj4gPj4+ICAg
Owo+ID4+PiAjIDUwICIvdXNyL2luY2x1ZGUvc3lzL3Vpby5oIiAzIDQKPiA+Pj4gZXh0ZXJuIHNz
aXplX3Qgd3JpdGV2IChpbnQgX19mZCwgY29uc3Qgc3RydWN0IGlvdmVjICpfX2lvdmVjLCBpbnQg
X19jb3VudCkKPiA+Pj4gICA7Cj4gPj4+ICMgNjUgIi91c3IvaW5jbHVkZS9zeXMvdWlvLmgiIDMg
NAo+ID4+PiBleHRlcm4gc3NpemVfdCBwcmVhZHYgKGludCBfX2ZkLCBjb25zdCBzdHJ1Y3QgaW92
ZWMgKl9faW92ZWMsIGludCBfX2NvdW50LAo+ID4+PiAgICAgICAgICBfX29mZl90IF9fb2Zmc2V0
KSA7Cj4gPj4+ICMgNzcgIi91c3IvaW5jbHVkZS9zeXMvdWlvLmgiIDMgNAo+ID4+PiBleHRlcm4g
c3NpemVfdCBwd3JpdGV2IChpbnQgX19mZCwgY29uc3Qgc3RydWN0IGlvdmVjICpfX2lvdmVjLCBp
bnQgX19jb3VudCwKPiA+Pj4gICAgX19vZmZfdCBfX29mZnNldCkgOwo+ID4+PiAjIDEyMCAiL3Vz
ci9pbmNsdWRlL3N5cy91aW8uaCIgMyA0Cj4gPj4+Cj4gPj4+ICMgMjcgIi91c3IvaW5jbHVkZS9z
eXMvc29ja2V0LmgiIDIgMyA0Cj4gPj4+Cj4gPj4+ICMgMSAiL3Vzci9saWIvZ2NjL2k2ODYtcmVk
aGF0LWxpbnV4LzYuMS4xL2luY2x1ZGUvc3RkZGVmLmgiIDEgMyA0Cj4gPj4+ICMgMjkgIi91c3Iv
aW5jbHVkZS9zeXMvc29ja2V0LmgiIDIgMyA0Cj4gPj4+ICMgMzggIi91c3IvaW5jbHVkZS9zeXMv
c29ja2V0LmgiIDMgNAo+ID4+PiAjIDEgIi91c3IvaW5jbHVkZS9iaXRzL3NvY2tldC5oIiAxIDMg
NAo+ID4+PiAjIDI3ICIvdXNyL2luY2x1ZGUvYml0cy9zb2NrZXQuaCIgMyA0Cj4gPj4+ICMgMSAi
L3Vzci9saWIvZ2NjL2k2ODYtcmVkaGF0LWxpbnV4LzYuMS4xL2luY2x1ZGUvc3RkZGVmLmgiIDEg
MyA0Cj4gPj4+ICMgMjggIi91c3IvaW5jbHVkZS9iaXRzL3NvY2tldC5oIiAyIDMgNAo+ID4+PiAj
IDM4ICIvdXNyL2luY2x1ZGUvYml0cy9zb2NrZXQuaCIgMyA0Cj4gPj4+ICMgMSAiL3Vzci9pbmNs
dWRlL2JpdHMvc29ja2V0X3R5cGUuaCIgMSAzIDQKPiA+Pj4gIyAyNCAiL3Vzci9pbmNsdWRlL2Jp
dHMvc29ja2V0X3R5cGUuaCIgMyA0Cj4gPj4+IGVudW0gX19zb2NrZXRfdHlwZQo+ID4+PiB7Cj4g
Pj4+ICAgU09DS19TVFJFQU0gPSAxLAo+ID4+Pgo+ID4+Pgo+ID4+PiAgIFNPQ0tfREdSQU0gPSAy
LAo+ID4+Pgo+ID4+Pgo+ID4+PiAgIFNPQ0tfUkFXID0gMywKPiA+Pj4KPiA+Pj4gICBTT0NLX1JE
TSA9IDQsCj4gPj4+Cj4gPj4+ICAgU09DS19TRVFQQUNLRVQgPSA1LAo+ID4+Pgo+ID4+Pgo+ID4+
PiAgIFNPQ0tfRENDUCA9IDYsCj4gPj4+Cj4gPj4+ICAgU09DS19QQUNLRVQgPSAxMCwKPiA+Pj4K
PiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4gICBTT0NLX0NMT0VYRUMg
PSAwMjAwMDAwMCwKPiA+Pj4KPiA+Pj4KPiA+Pj4gICBTT0NLX05PTkJMT0NLID0gMDAwMDQwMDAK
PiA+Pj4KPiA+Pj4KPiA+Pj4gfTsKPiA+Pj4gIyAzOSAiL3Vzci9pbmNsdWRlL2JpdHMvc29ja2V0
LmgiIDIgMyA0Cj4gPj4+ICMgMTUwICIvdXNyL2luY2x1ZGUvYml0cy9zb2NrZXQuaCIgMyA0Cj4g
Pj4+ICMgMSAiL3Vzci9pbmNsdWRlL2JpdHMvc29ja2FkZHIuaCIgMSAzIDQKPiA+Pj4gIyAyOCAi
L3Vzci9pbmNsdWRlL2JpdHMvc29ja2FkZHIuaCIgMyA0Cj4gPj4+IHR5cGVkZWYgdW5zaWduZWQg
c2hvcnQgaW50IHNhX2ZhbWlseV90Owo+ID4+PiAjIDE1MSAiL3Vzci9pbmNsdWRlL2JpdHMvc29j
a2V0LmgiIDIgMyA0Cj4gPj4+Cj4gPj4+Cj4gPj4+IHN0cnVjdCBzb2NrYWRkcgo+ID4+PiAgIHsK
PiA+Pj4gICAgIHNhX2ZhbWlseV90IHNhX2ZhbWlseTsKPiA+Pj4gICAgIGNoYXIgc2FfZGF0YVsx
NF07Cj4gPj4+ICAgfTsKPiA+Pj4gIyAxNjYgIi91c3IvaW5jbHVkZS9iaXRzL3NvY2tldC5oIiAz
IDQKPiA+Pj4gc3RydWN0IHNvY2thZGRyX3N0b3JhZ2UKPiA+Pj4gICB7Cj4gPj4+ICAgICBzYV9m
YW1pbHlfdCBzc19mYW1pbHk7Cj4gPj4+ICAgICBjaGFyIF9fc3NfcGFkZGluZ1soMTI4IC0gKHNp
emVvZiAodW5zaWduZWQgc2hvcnQgaW50KSkgLSBzaXplb2YgKHVuc2lnbmVkIGxvbmcgaW50KSld
Owo+ID4+PiAgICAgdW5zaWduZWQgbG9uZyBpbnQgX19zc19hbGlnbjsKPiA+Pj4gICB9Owo+ID4+
Pgo+ID4+Pgo+ID4+Pgo+ID4+PiBlbnVtCj4gPj4+ICAgewo+ID4+PiAgICAgTVNHX09PQiA9IDB4
MDEsCj4gPj4+Cj4gPj4+ICAgICBNU0dfUEVFSyA9IDB4MDIsCj4gPj4+Cj4gPj4+ICAgICBNU0df
RE9OVFJPVVRFID0gMHgwNCwKPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+
Pj4gICAgIE1TR19DVFJVTkMgPSAweDA4LAo+ID4+Pgo+ID4+PiAgICAgTVNHX1BST1hZID0gMHgx
MCwKPiA+Pj4KPiA+Pj4gICAgIE1TR19UUlVOQyA9IDB4MjAsCj4gPj4+Cj4gPj4+ICAgICBNU0df
RE9OVFdBSVQgPSAweDQwLAo+ID4+Pgo+ID4+PiAgICAgTVNHX0VPUiA9IDB4ODAsCj4gPj4+Cj4g
Pj4+ICAgICBNU0dfV0FJVEFMTCA9IDB4MTAwLAo+ID4+Pgo+ID4+PiAgICAgTVNHX0ZJTiA9IDB4
MjAwLAo+ID4+Pgo+ID4+PiAgICAgTVNHX1NZTiA9IDB4NDAwLAo+ID4+Pgo+ID4+PiAgICAgTVNH
X0NPTkZJUk0gPSAweDgwMCwKPiA+Pj4KPiA+Pj4gICAgIE1TR19SU1QgPSAweDEwMDAsCj4gPj4+
Cj4gPj4+ICAgICBNU0dfRVJSUVVFVUUgPSAweDIwMDAsCj4gPj4+Cj4gPj4+ICAgICBNU0dfTk9T
SUdOQUwgPSAweDQwMDAsCj4gPj4+Cj4gPj4+ICAgICBNU0dfTU9SRSA9IDB4ODAwMCwKPiA+Pj4K
PiA+Pj4gICAgIE1TR19XQUlURk9ST05FID0gMHgxMDAwMCwKPiA+Pj4KPiA+Pj4gICAgIE1TR19G
QVNUT1BFTiA9IDB4MjAwMDAwMDAsCj4gPj4+Cj4gPj4+Cj4gPj4+ICAgICBNU0dfQ01TR19DTE9F
WEVDID0gMHg0MDAwMDAwMAo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+PiAgIH07Cj4gPj4+Cj4gPj4+
Cj4gPj4+Cj4gPj4+Cj4gPj4+IHN0cnVjdCBtc2doZHIKPiA+Pj4gICB7Cj4gPj4+ICAgICB2b2lk
ICptc2dfbmFtZTsKPiA+Pj4gICAgIHNvY2tsZW5fdCBtc2dfbmFtZWxlbjsKPiA+Pj4KPiA+Pj4g
ICAgIHN0cnVjdCBpb3ZlYyAqbXNnX2lvdjsKPiA+Pj4gICAgIHNpemVfdCBtc2dfaW92bGVuOwo+
ID4+Pgo+ID4+PiAgICAgdm9pZCAqbXNnX2NvbnRyb2w7Cj4gPj4+ICAgICBzaXplX3QgbXNnX2Nv
bnRyb2xsZW47Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+ICAgICBpbnQgbXNnX2ZsYWdz
Owo+ID4+PiAgIH07Cj4gPj4+Cj4gPj4+Cj4gPj4+IHN0cnVjdCBjbXNnaGRyCj4gPj4+ICAgewo+
ID4+PiAgICAgc2l6ZV90IGNtc2dfbGVuOwo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+PiAg
ICAgaW50IGNtc2dfbGV2ZWw7Cj4gPj4+ICAgICBpbnQgY21zZ190eXBlOwo+ID4+Pgo+ID4+PiAg
ICAgX19leHRlbnNpb25fXyB1bnNpZ25lZCBjaGFyIF9fY21zZ19kYXRhIFtdOwo+ID4+Pgo+ID4+
PiAgIH07Cj4gPj4+ICMgMjc2ICIvdXNyL2luY2x1ZGUvYml0cy9zb2NrZXQuaCIgMyA0Cj4gPj4+
IGV4dGVybiBzdHJ1Y3QgY21zZ2hkciAqX19jbXNnX254dGhkciAoc3RydWN0IG1zZ2hkciAqX19t
aGRyLAo+ID4+PiAgICAgICAgICAgc3RydWN0IGNtc2doZHIgKl9fY21zZykgX19hdHRyaWJ1dGVf
XyAoKF9fbm90aHJvd19fICwgX19sZWFmX18pKTsKPiA+Pj4gIyAzMDMgIi91c3IvaW5jbHVkZS9i
aXRzL3NvY2tldC5oIiAzIDQKPiA+Pj4gZW51bQo+ID4+PiAgIHsKPiA+Pj4gICAgIFNDTV9SSUdI
VFMgPSAweDAxCj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+ICAgfTsKPiA+Pj4g
IyAzNDkgIi91c3IvaW5jbHVkZS9iaXRzL3NvY2tldC5oIiAzIDQKPiA+Pj4gIyAxICIvdXNyL2lu
Y2x1ZGUvYXNtL3NvY2tldC5oIiAxIDMgNAo+ID4+PiAjIDEgIi91c3IvaW5jbHVkZS9hc20tZ2Vu
ZXJpYy9zb2NrZXQuaCIgMSAzIDQKPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4gIyAxICIvdXNyL2lu
Y2x1ZGUvYXNtL3NvY2tpb3MuaCIgMSAzIDQKPiA+Pj4gIyAxICIvdXNyL2luY2x1ZGUvYXNtLWdl
bmVyaWMvc29ja2lvcy5oIiAxIDMgNAo+ID4+PiAjIDEgIi91c3IvaW5jbHVkZS9hc20vc29ja2lv
cy5oIiAyIDMgNAo+ID4+PiAjIDUgIi91c3IvaW5jbHVkZS9hc20tZ2VuZXJpYy9zb2NrZXQuaCIg
MiAzIDQKPiA+Pj4gIyAxICIvdXNyL2luY2x1ZGUvYXNtL3NvY2tldC5oIiAyIDMgNAo+ID4+PiAj
IDM1MCAiL3Vzci9pbmNsdWRlL2JpdHMvc29ja2V0LmgiIDIgMyA0Cj4gPj4+ICMgMzgzICIvdXNy
L2luY2x1ZGUvYml0cy9zb2NrZXQuaCIgMyA0Cj4gPj4+IHN0cnVjdCBsaW5nZXIKPiA+Pj4gICB7
Cj4gPj4+ICAgICBpbnQgbF9vbm9mZjsKPiA+Pj4gICAgIGludCBsX2xpbmdlcjsKPiA+Pj4gICB9
Owo+ID4+PiAjIDM5ICIvdXNyL2luY2x1ZGUvc3lzL3NvY2tldC5oIiAyIDMgNAo+ID4+Pgo+ID4+
Pgo+ID4+Pgo+ID4+Pgo+ID4+PiBzdHJ1Y3Qgb3NvY2thZGRyCj4gPj4+ICAgewo+ID4+PiAgICAg
dW5zaWduZWQgc2hvcnQgaW50IHNhX2ZhbWlseTsKPiA+Pj4gICAgIHVuc2lnbmVkIGNoYXIgc2Ff
ZGF0YVsxNF07Cj4gPj4+ICAgfTsKPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4gZW51bQo+
ID4+PiB7Cj4gPj4+ICAgU0hVVF9SRCA9IDAsCj4gPj4+Cj4gPj4+ICAgU0hVVF9XUiwKPiA+Pj4K
PiA+Pj4gICBTSFVUX1JEV1IKPiA+Pj4KPiA+Pj4gfTsKPiA+Pj4gIyAxMTMgIi91c3IvaW5jbHVk
ZS9zeXMvc29ja2V0LmgiIDMgNAo+ID4+PiBleHRlcm4gaW50IHNvY2tldCAoaW50IF9fZG9tYWlu
LCBpbnQgX190eXBlLCBpbnQgX19wcm90b2NvbCkgX19hdHRyaWJ1dGVfXyAoKF9fbm90aHJvd19f
ICwgX19sZWFmX18pKTsKPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4gZXh0ZXJu
IGludCBzb2NrZXRwYWlyIChpbnQgX19kb21haW4sIGludCBfX3R5cGUsIGludCBfX3Byb3RvY29s
LAo+ID4+PiAgICAgICAgICBpbnQgX19mZHNbMl0pIF9fYXR0cmlidXRlX18gKChfX25vdGhyb3df
XyAsIF9fbGVhZl9fKSk7Cj4gPj4+Cj4gPj4+Cj4gPj4+IGV4dGVybiBpbnQgYmluZCAoaW50IF9f
ZmQsIGNvbnN0IHN0cnVjdCBzb2NrYWRkciAqIF9fYWRkciwgc29ja2xlbl90IF9fbGVuKQo+ID4+
PiAgICAgIF9fYXR0cmlidXRlX18gKChfX25vdGhyb3dfXyAsIF9fbGVhZl9fKSk7Cj4gPj4+Cj4g
Pj4+Cj4gPj4+IGV4dGVybiBpbnQgZ2V0c29ja25hbWUgKGludCBfX2ZkLCBzdHJ1Y3Qgc29ja2Fk
ZHIgKl9fcmVzdHJpY3QgX19hZGRyLAo+ID4+PiAgICBzb2NrbGVuX3QgKl9fcmVzdHJpY3QgX19s
ZW4pIF9fYXR0cmlidXRlX18gKChfX25vdGhyb3dfXyAsIF9fbGVhZl9fKSk7Cj4gPj4+ICMgMTM3
ICIvdXNyL2luY2x1ZGUvc3lzL3NvY2tldC5oIiAzIDQKPiA+Pj4gZXh0ZXJuIGludCBjb25uZWN0
IChpbnQgX19mZCwgY29uc3Qgc3RydWN0IHNvY2thZGRyICogX19hZGRyLCBzb2NrbGVuX3QgX19s
ZW4pOwo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+PiBleHRlcm4gaW50IGdldHBlZXJuYW1lIChpbnQg
X19mZCwgc3RydWN0IHNvY2thZGRyICpfX3Jlc3RyaWN0IF9fYWRkciwKPiA+Pj4gICAgc29ja2xl
bl90ICpfX3Jlc3RyaWN0IF9fbGVuKSBfX2F0dHJpYnV0ZV9fICgoX19ub3Rocm93X18gLCBfX2xl
YWZfXykpOwo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+PiBleHRlcm4g
c3NpemVfdCBzZW5kIChpbnQgX19mZCwgY29uc3Qgdm9pZCAqX19idWYsIHNpemVfdCBfX24sIGlu
dCBfX2ZsYWdzKTsKPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4gZXh0
ZXJuIHNzaXplX3QgcmVjdiAoaW50IF9fZmQsIHZvaWQgKl9fYnVmLCBzaXplX3QgX19uLCBpbnQg
X19mbGFncyk7Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+IGV4dGVy
biBzc2l6ZV90IHNlbmR0byAoaW50IF9fZmQsIGNvbnN0IHZvaWQgKl9fYnVmLCBzaXplX3QgX19u
LAo+ID4+PiAgICAgICAgICBpbnQgX19mbGFncywgY29uc3Qgc3RydWN0IHNvY2thZGRyICogX19h
ZGRyLAo+ID4+PiAgICAgICAgICBzb2NrbGVuX3QgX19hZGRyX2xlbik7Cj4gPj4+ICMgMTc0ICIv
dXNyL2luY2x1ZGUvc3lzL3NvY2tldC5oIiAzIDQKPiA+Pj4gZXh0ZXJuIHNzaXplX3QgcmVjdmZy
b20gKGludCBfX2ZkLCB2b2lkICpfX3Jlc3RyaWN0IF9fYnVmLCBzaXplX3QgX19uLAo+ID4+PiAg
ICAgaW50IF9fZmxhZ3MsIHN0cnVjdCBzb2NrYWRkciAqX19yZXN0cmljdCBfX2FkZHIsCj4gPj4+
ICAgICBzb2NrbGVuX3QgKl9fcmVzdHJpY3QgX19hZGRyX2xlbik7Cj4gPj4+Cj4gPj4+Cj4gPj4+
Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+IGV4dGVybiBzc2l6ZV90IHNlbmRtc2cgKGlu
dCBfX2ZkLCBjb25zdCBzdHJ1Y3QgbXNnaGRyICpfX21lc3NhZ2UsCj4gPj4+ICAgIGludCBfX2Zs
YWdzKTsKPiA+Pj4gIyAyMDIgIi91c3IvaW5jbHVkZS9zeXMvc29ja2V0LmgiIDMgNAo+ID4+PiBl
eHRlcm4gc3NpemVfdCByZWN2bXNnIChpbnQgX19mZCwgc3RydWN0IG1zZ2hkciAqX19tZXNzYWdl
LCBpbnQgX19mbGFncyk7Cj4gPj4+ICMgMjE5ICIvdXNyL2luY2x1ZGUvc3lzL3NvY2tldC5oIiAz
IDQKPiA+Pj4gZXh0ZXJuIGludCBnZXRzb2Nrb3B0IChpbnQgX19mZCwgaW50IF9fbGV2ZWwsIGlu
dCBfX29wdG5hbWUsCj4gPj4+ICAgICAgICAgIHZvaWQgKl9fcmVzdHJpY3QgX19vcHR2YWwsCj4g
Pj4+ICAgICAgICAgIHNvY2tsZW5fdCAqX19yZXN0cmljdCBfX29wdGxlbikgX19hdHRyaWJ1dGVf
XyAoKF9fbm90aHJvd19fICwgX19sZWFmX18pKTsKPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+
Pj4gZXh0ZXJuIGludCBzZXRzb2Nrb3B0IChpbnQgX19mZCwgaW50IF9fbGV2ZWwsIGludCBfX29w
dG5hbWUsCj4gPj4+ICAgICAgICAgIGNvbnN0IHZvaWQgKl9fb3B0dmFsLCBzb2NrbGVuX3QgX19v
cHRsZW4pIF9fYXR0cmlidXRlX18gKChfX25vdGhyb3dfXyAsIF9fbGVhZl9fKSk7Cj4gPj4+Cj4g
Pj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+IGV4dGVybiBpbnQgbGlzdGVuIChpbnQgX19mZCwg
aW50IF9fbikgX19hdHRyaWJ1dGVfXyAoKF9fbm90aHJvd19fICwgX19sZWFmX18pKTsKPiA+Pj4g
IyAyNDMgIi91c3IvaW5jbHVkZS9zeXMvc29ja2V0LmgiIDMgNAo+ID4+PiBleHRlcm4gaW50IGFj
Y2VwdCAoaW50IF9fZmQsIHN0cnVjdCBzb2NrYWRkciAqX19yZXN0cmljdCBfX2FkZHIsCj4gPj4+
ICAgICAgc29ja2xlbl90ICpfX3Jlc3RyaWN0IF9fYWRkcl9sZW4pOwo+ID4+PiAjIDI2MSAiL3Vz
ci9pbmNsdWRlL3N5cy9zb2NrZXQuaCIgMyA0Cj4gPj4+IGV4dGVybiBpbnQgc2h1dGRvd24gKGlu
dCBfX2ZkLCBpbnQgX19ob3cpIF9fYXR0cmlidXRlX18gKChfX25vdGhyb3dfXyAsIF9fbGVhZl9f
KSk7Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+IGV4dGVybiBpbnQgc29ja2F0bWFyayAo
aW50IF9fZmQpIF9fYXR0cmlidXRlX18gKChfX25vdGhyb3dfXyAsIF9fbGVhZl9fKSk7Cj4gPj4+
Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+IGV4dGVybiBpbnQgaXNm
ZHR5cGUgKGludCBfX2ZkLCBpbnQgX19mZHR5cGUpIF9fYXR0cmlidXRlX18gKChfX25vdGhyb3df
XyAsIF9fbGVhZl9fKSk7Cj4gPj4+ICMgMjgzICIvdXNyL2luY2x1ZGUvc3lzL3NvY2tldC5oIiAz
IDQKPiA+Pj4KPiA+Pj4gIyAyNCAiL3Vzci9pbmNsdWRlL25ldGluZXQvaW4uaCIgMiAzIDQKPiA+
Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4gdHlwZWRlZiB1aW50MzJfdCBp
bl9hZGRyX3Q7Cj4gPj4+IHN0cnVjdCBpbl9hZGRyCj4gPj4+ICAgewo+ID4+PiAgICAgaW5fYWRk
cl90IHNfYWRkcjsKPiA+Pj4gICB9Owo+ID4+Pgo+ID4+Pgo+ID4+PiAjIDEgIi91c3IvaW5jbHVk
ZS9iaXRzL2luLmgiIDEgMyA0Cj4gPj4+ICMgMTMzICIvdXNyL2luY2x1ZGUvYml0cy9pbi5oIiAz
IDQKPiA+Pj4gc3RydWN0IGlwX29wdHMKPiA+Pj4gICB7Cj4gPj4+ICAgICBzdHJ1Y3QgaW5fYWRk
ciBpcF9kc3Q7Cj4gPj4+ICAgICBjaGFyIGlwX29wdHNbNDBdOwo+ID4+PiAgIH07Cj4gPj4+Cj4g
Pj4+Cj4gPj4+IHN0cnVjdCBpcF9tcmVxbgo+ID4+PiAgIHsKPiA+Pj4gICAgIHN0cnVjdCBpbl9h
ZGRyIGltcl9tdWx0aWFkZHI7Cj4gPj4+ICAgICBzdHJ1Y3QgaW5fYWRkciBpbXJfYWRkcmVzczsK
PiA+Pj4gICAgIGludCBpbXJfaWZpbmRleDsKPiA+Pj4gICB9Owo+ID4+Pgo+ID4+Pgo+ID4+PiBz
dHJ1Y3QgaW5fcGt0aW5mbwo+ID4+PiAgIHsKPiA+Pj4gICAgIGludCBpcGlfaWZpbmRleDsKPiA+
Pj4gICAgIHN0cnVjdCBpbl9hZGRyIGlwaV9zcGVjX2RzdDsKPiA+Pj4gICAgIHN0cnVjdCBpbl9h
ZGRyIGlwaV9hZGRyOwo+ID4+PiAgIH07Cj4gPj4+ICMgMzggIi91c3IvaW5jbHVkZS9uZXRpbmV0
L2luLmgiIDIgMyA0Cj4gPj4+Cj4gPj4+Cj4gPj4+IGVudW0KPiA+Pj4gICB7Cj4gPj4+ICAgICBJ
UFBST1RPX0lQID0gMCwKPiA+Pj4KPiA+Pj4gICAgIElQUFJPVE9fSUNNUCA9IDEsCj4gPj4+Cj4g
Pj4+ICAgICBJUFBST1RPX0lHTVAgPSAyLAo+ID4+Pgo+ID4+PiAgICAgSVBQUk9UT19JUElQID0g
NCwKPiA+Pj4KPiA+Pj4gICAgIElQUFJPVE9fVENQID0gNiwKPiA+Pj4KPiA+Pj4gICAgIElQUFJP
VE9fRUdQID0gOCwKPiA+Pj4KPiA+Pj4gICAgIElQUFJPVE9fUFVQID0gMTIsCj4gPj4+Cj4gPj4+
ICAgICBJUFBST1RPX1VEUCA9IDE3LAo+ID4+Pgo+ID4+PiAgICAgSVBQUk9UT19JRFAgPSAyMiwK
PiA+Pj4KPiA+Pj4gICAgIElQUFJPVE9fVFAgPSAyOSwKPiA+Pj4KPiA+Pj4gICAgIElQUFJPVE9f
RENDUCA9IDMzLAo+ID4+Pgo+ID4+PiAgICAgSVBQUk9UT19JUFY2ID0gNDEsCj4gPj4+Cj4gPj4+
ICAgICBJUFBST1RPX1JTVlAgPSA0NiwKPiA+Pj4KPiA+Pj4gICAgIElQUFJPVE9fR1JFID0gNDcs
Cj4gPj4+Cj4gPj4+ICAgICBJUFBST1RPX0VTUCA9IDUwLAo+ID4+Pgo+ID4+PiAgICAgSVBQUk9U
T19BSCA9IDUxLAo+ID4+Pgo+ID4+PiAgICAgSVBQUk9UT19NVFAgPSA5MiwKPiA+Pj4KPiA+Pj4g
ICAgIElQUFJPVE9fQkVFVFBIID0gOTQsCj4gPj4+Cj4gPj4+ICAgICBJUFBST1RPX0VOQ0FQID0g
OTgsCj4gPj4+Cj4gPj4+ICAgICBJUFBST1RPX1BJTSA9IDEwMywKPiA+Pj4KPiA+Pj4gICAgIElQ
UFJPVE9fQ09NUCA9IDEwOCwKPiA+Pj4KPiA+Pj4gICAgIElQUFJPVE9fU0NUUCA9IDEzMiwKPiA+
Pj4KPiA+Pj4gICAgIElQUFJPVE9fVURQTElURSA9IDEzNiwKPiA+Pj4KPiA+Pj4gICAgIElQUFJP
VE9fTVBMUyA9IDEzNywKPiA+Pj4KPiA+Pj4gICAgIElQUFJPVE9fUkFXID0gMjU1LAo+ID4+Pgo+
ID4+PiAgICAgSVBQUk9UT19NQVgKPiA+Pj4gICB9Owo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+Pgo+
ID4+Pgo+ID4+PiBlbnVtCj4gPj4+ICAgewo+ID4+PiAgICAgSVBQUk9UT19IT1BPUFRTID0gMCwK
PiA+Pj4KPiA+Pj4gICAgIElQUFJPVE9fUk9VVElORyA9IDQzLAo+ID4+Pgo+ID4+PiAgICAgSVBQ
Uk9UT19GUkFHTUVOVCA9IDQ0LAo+ID4+Pgo+ID4+PiAgICAgSVBQUk9UT19JQ01QVjYgPSA1OCwK
PiA+Pj4KPiA+Pj4gICAgIElQUFJPVE9fTk9ORSA9IDU5LAo+ID4+Pgo+ID4+PiAgICAgSVBQUk9U
T19EU1RPUFRTID0gNjAsCj4gPj4+Cj4gPj4+ICAgICBJUFBST1RPX01IID0gMTM1Cj4gPj4+Cj4g
Pj4+ICAgfTsKPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4gdHlwZWRlZiB1aW50MTZfdCBpbl9wb3J0
X3Q7Cj4gPj4+Cj4gPj4+Cj4gPj4+IGVudW0KPiA+Pj4gICB7Cj4gPj4+ICAgICBJUFBPUlRfRUNI
TyA9IDcsCj4gPj4+ICAgICBJUFBPUlRfRElTQ0FSRCA9IDksCj4gPj4+ICAgICBJUFBPUlRfU1lT
VEFUID0gMTEsCj4gPj4+ICAgICBJUFBPUlRfREFZVElNRSA9IDEzLAo+ID4+PiAgICAgSVBQT1JU
X05FVFNUQVQgPSAxNSwKPiA+Pj4gICAgIElQUE9SVF9GVFAgPSAyMSwKPiA+Pj4gICAgIElQUE9S
VF9URUxORVQgPSAyMywKPiA+Pj4gICAgIElQUE9SVF9TTVRQID0gMjUsCj4gPj4+ICAgICBJUFBP
UlRfVElNRVNFUlZFUiA9IDM3LAo+ID4+PiAgICAgSVBQT1JUX05BTUVTRVJWRVIgPSA0MiwKPiA+
Pj4gICAgIElQUE9SVF9XSE9JUyA9IDQzLAo+ID4+PiAgICAgSVBQT1JUX01UUCA9IDU3LAo+ID4+
Pgo+ID4+PiAgICAgSVBQT1JUX1RGVFAgPSA2OSwKPiA+Pj4gICAgIElQUE9SVF9SSkUgPSA3NywK
PiA+Pj4gICAgIElQUE9SVF9GSU5HRVIgPSA3OSwKPiA+Pj4gICAgIElQUE9SVF9UVFlMSU5LID0g
ODcsCj4gPj4+ICAgICBJUFBPUlRfU1VQRFVQID0gOTUsCj4gPj4+Cj4gPj4+Cj4gPj4+ICAgICBJ
UFBPUlRfRVhFQ1NFUlZFUiA9IDUxMiwKPiA+Pj4gICAgIElQUE9SVF9MT0dJTlNFUlZFUiA9IDUx
MywKPiA+Pj4gICAgIElQUE9SVF9DTURTRVJWRVIgPSA1MTQsCj4gPj4+ICAgICBJUFBPUlRfRUZT
U0VSVkVSID0gNTIwLAo+ID4+Pgo+ID4+Pgo+ID4+PiAgICAgSVBQT1JUX0JJRkZVRFAgPSA1MTIs
Cj4gPj4+ICAgICBJUFBPUlRfV0hPU0VSVkVSID0gNTEzLAo+ID4+PiAgICAgSVBQT1JUX1JPVVRF
U0VSVkVSID0gNTIwLAo+ID4+Pgo+ID4+Pgo+ID4+PiAgICAgSVBQT1JUX1JFU0VSVkVEID0gMTAy
NCwKPiA+Pj4KPiA+Pj4KPiA+Pj4gICAgIElQUE9SVF9VU0VSUkVTRVJWRUQgPSA1MDAwCj4gPj4+
ICAgfTsKPiA+Pj4gIyAyMTEgIi91c3IvaW5jbHVkZS9uZXRpbmV0L2luLmgiIDMgNAo+ID4+PiBz
dHJ1Y3QgaW42X2FkZHIKPiA+Pj4gICB7Cj4gPj4+ICAgICB1bmlvbgo+ID4+PiAgICAgICB7Cj4g
Pj4+ICB1aW50OF90IF9fdTZfYWRkcjhbMTZdOwo+ID4+Pgo+ID4+PiAgdWludDE2X3QgX191Nl9h
ZGRyMTZbOF07Cj4gPj4+ICB1aW50MzJfdCBfX3U2X2FkZHIzMls0XTsKPiA+Pj4KPiA+Pj4gICAg
ICAgfSBfX2luNl91Owo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+PiAgIH07Cj4g
Pj4+Cj4gPj4+Cj4gPj4+IGV4dGVybiBjb25zdCBzdHJ1Y3QgaW42X2FkZHIgaW42YWRkcl9hbnk7
Cj4gPj4+IGV4dGVybiBjb25zdCBzdHJ1Y3QgaW42X2FkZHIgaW42YWRkcl9sb29wYmFjazsKPiA+
Pj4gIyAyMzkgIi91c3IvaW5jbHVkZS9uZXRpbmV0L2luLmgiIDMgNAo+ID4+PiBzdHJ1Y3Qgc29j
a2FkZHJfaW4KPiA+Pj4gICB7Cj4gPj4+ICAgICBzYV9mYW1pbHlfdCBzaW5fZmFtaWx5Owo+ID4+
PiAgICAgaW5fcG9ydF90IHNpbl9wb3J0Owo+ID4+PiAgICAgc3RydWN0IGluX2FkZHIgc2luX2Fk
ZHI7Cj4gPj4+Cj4gPj4+Cj4gPj4+ICAgICB1bnNpZ25lZCBjaGFyIHNpbl96ZXJvW3NpemVvZiAo
c3RydWN0IHNvY2thZGRyKSAtCj4gPj4+ICAgICAgIChzaXplb2YgKHVuc2lnbmVkIHNob3J0IGlu
dCkpIC0KPiA+Pj4gICAgICAgc2l6ZW9mIChpbl9wb3J0X3QpIC0KPiA+Pj4gICAgICAgc2l6ZW9m
IChzdHJ1Y3QgaW5fYWRkcildOwo+ID4+PiAgIH07Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+IHN0
cnVjdCBzb2NrYWRkcl9pbjYKPiA+Pj4gICB7Cj4gPj4+ICAgICBzYV9mYW1pbHlfdCBzaW42X2Zh
bWlseTsKPiA+Pj4gICAgIGluX3BvcnRfdCBzaW42X3BvcnQ7Cj4gPj4+ICAgICB1aW50MzJfdCBz
aW42X2Zsb3dpbmZvOwo+ID4+PiAgICAgc3RydWN0IGluNl9hZGRyIHNpbjZfYWRkcjsKPiA+Pj4g
ICAgIHVpbnQzMl90IHNpbjZfc2NvcGVfaWQ7Cj4gPj4+ICAgfTsKPiA+Pj4KPiA+Pj4KPiA+Pj4K
PiA+Pj4KPiA+Pj4gc3RydWN0IGlwX21yZXEKPiA+Pj4gICB7Cj4gPj4+Cj4gPj4+ICAgICBzdHJ1
Y3QgaW5fYWRkciBpbXJfbXVsdGlhZGRyOwo+ID4+Pgo+ID4+Pgo+ID4+PiAgICAgc3RydWN0IGlu
X2FkZHIgaW1yX2ludGVyZmFjZTsKPiA+Pj4gICB9Owo+ID4+Pgo+ID4+PiBzdHJ1Y3QgaXBfbXJl
cV9zb3VyY2UKPiA+Pj4gICB7Cj4gPj4+Cj4gPj4+ICAgICBzdHJ1Y3QgaW5fYWRkciBpbXJfbXVs
dGlhZGRyOwo+ID4+Pgo+ID4+Pgo+ID4+PiAgICAgc3RydWN0IGluX2FkZHIgaW1yX2ludGVyZmFj
ZTsKPiA+Pj4KPiA+Pj4KPiA+Pj4gICAgIHN0cnVjdCBpbl9hZGRyIGltcl9zb3VyY2VhZGRyOwo+
ID4+PiAgIH07Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+IHN0cnVjdCBpcHY2X21yZXEK
PiA+Pj4gICB7Cj4gPj4+Cj4gPj4+ICAgICBzdHJ1Y3QgaW42X2FkZHIgaXB2Nm1yX211bHRpYWRk
cjsKPiA+Pj4KPiA+Pj4KPiA+Pj4gICAgIHVuc2lnbmVkIGludCBpcHY2bXJfaW50ZXJmYWNlOwo+
ID4+PiAgIH07Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+IHN0cnVjdCBncm91cF9yZXEK
PiA+Pj4gICB7Cj4gPj4+Cj4gPj4+ICAgICB1aW50MzJfdCBncl9pbnRlcmZhY2U7Cj4gPj4+Cj4g
Pj4+Cj4gPj4+ICAgICBzdHJ1Y3Qgc29ja2FkZHJfc3RvcmFnZSBncl9ncm91cDsKPiA+Pj4gICB9
Owo+ID4+Pgo+ID4+PiBzdHJ1Y3QgZ3JvdXBfc291cmNlX3JlcQo+ID4+PiAgIHsKPiA+Pj4KPiA+
Pj4gICAgIHVpbnQzMl90IGdzcl9pbnRlcmZhY2U7Cj4gPj4+Cj4gPj4+Cj4gPj4+ICAgICBzdHJ1
Y3Qgc29ja2FkZHJfc3RvcmFnZSBnc3JfZ3JvdXA7Cj4gPj4+Cj4gPj4+Cj4gPj4+ICAgICBzdHJ1
Y3Qgc29ja2FkZHJfc3RvcmFnZSBnc3Jfc291cmNlOwo+ID4+PiAgIH07Cj4gPj4+Cj4gPj4+Cj4g
Pj4+Cj4gPj4+IHN0cnVjdCBpcF9tc2ZpbHRlcgo+ID4+PiAgIHsKPiA+Pj4KPiA+Pj4gICAgIHN0
cnVjdCBpbl9hZGRyIGltc2ZfbXVsdGlhZGRyOwo+ID4+Pgo+ID4+Pgo+ID4+PiAgICAgc3RydWN0
IGluX2FkZHIgaW1zZl9pbnRlcmZhY2U7Cj4gPj4+Cj4gPj4+Cj4gPj4+ICAgICB1aW50MzJfdCBp
bXNmX2Ztb2RlOwo+ID4+Pgo+ID4+Pgo+ID4+PiAgICAgdWludDMyX3QgaW1zZl9udW1zcmM7Cj4g
Pj4+Cj4gPj4+ICAgICBzdHJ1Y3QgaW5fYWRkciBpbXNmX3NsaXN0WzFdOwo+ID4+PiAgIH07Cj4g
Pj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+IHN0cnVjdCBncm91cF9maWx0ZXIKPiA+
Pj4gICB7Cj4gPj4+Cj4gPj4+ICAgICB1aW50MzJfdCBnZl9pbnRlcmZhY2U7Cj4gPj4+Cj4gPj4+
Cj4gPj4+ICAgICBzdHJ1Y3Qgc29ja2FkZHJfc3RvcmFnZSBnZl9ncm91cDsKPiA+Pj4KPiA+Pj4K
PiA+Pj4gICAgIHVpbnQzMl90IGdmX2Ztb2RlOwo+ID4+Pgo+ID4+Pgo+ID4+PiAgICAgdWludDMy
X3QgZ2ZfbnVtc3JjOwo+ID4+Pgo+ID4+PiAgICAgc3RydWN0IHNvY2thZGRyX3N0b3JhZ2UgZ2Zf
c2xpc3RbMV07Cj4gPj4+IH07Cj4gPj4+ICMgMzc2ICIvdXNyL2luY2x1ZGUvbmV0aW5ldC9pbi5o
IiAzIDQKPiA+Pj4gZXh0ZXJuIHVpbnQzMl90IG50b2hsICh1aW50MzJfdCBfX25ldGxvbmcpIF9f
YXR0cmlidXRlX18gKChfX25vdGhyb3dfXyAsIF9fbGVhZl9fKSkgX19hdHRyaWJ1dGVfXyAoKF9f
Y29uc3RfXykpOwo+ID4+PiBleHRlcm4gdWludDE2X3QgbnRvaHMgKHVpbnQxNl90IF9fbmV0c2hv
cnQpCj4gPj4+ICAgICAgX19hdHRyaWJ1dGVfXyAoKF9fbm90aHJvd19fICwgX19sZWFmX18pKSBf
X2F0dHJpYnV0ZV9fICgoX19jb25zdF9fKSk7Cj4gPj4+IGV4dGVybiB1aW50MzJfdCBodG9ubCAo
dWludDMyX3QgX19ob3N0bG9uZykKPiA+Pj4gICAgICBfX2F0dHJpYnV0ZV9fICgoX19ub3Rocm93
X18gLCBfX2xlYWZfXykpIF9fYXR0cmlidXRlX18gKChfX2NvbnN0X18pKTsKPiA+Pj4gZXh0ZXJu
IHVpbnQxNl90IGh0b25zICh1aW50MTZfdCBfX2hvc3RzaG9ydCkKPiA+Pj4gICAgICBfX2F0dHJp
YnV0ZV9fICgoX19ub3Rocm93X18gLCBfX2xlYWZfXykpIF9fYXR0cmlidXRlX18gKChfX2NvbnN0
X18pKTsKPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4gIyAxICIvdXNyL2luY2x1ZGUvYml0
cy9ieXRlc3dhcC5oIiAxIDMgNAo+ID4+PiAjIDM4OCAiL3Vzci9pbmNsdWRlL25ldGluZXQvaW4u
aCIgMiAzIDQKPiA+Pj4gIyA1MDMgIi91c3IvaW5jbHVkZS9uZXRpbmV0L2luLmgiIDMgNAo+ID4+
PiBleHRlcm4gaW50IGJpbmRyZXN2cG9ydCAoaW50IF9fc29ja2ZkLCBzdHJ1Y3Qgc29ja2FkZHJf
aW4gKl9fc29ja19pbikgX19hdHRyaWJ1dGVfXyAoKF9fbm90aHJvd19fICwgX19sZWFmX18pKTsK
PiA+Pj4KPiA+Pj4KPiA+Pj4gZXh0ZXJuIGludCBiaW5kcmVzdnBvcnQ2IChpbnQgX19zb2NrZmQs
IHN0cnVjdCBzb2NrYWRkcl9pbjYgKl9fc29ja19pbikKPiA+Pj4gICAgICBfX2F0dHJpYnV0ZV9f
ICgoX19ub3Rocm93X18gLCBfX2xlYWZfXykpOwo+ID4+PiAjIDYzMSAiL3Vzci9pbmNsdWRlL25l
dGluZXQvaW4uaCIgMyA0Cj4gPj4+Cj4gPj4+ICMgMjggIi91c3IvaW5jbHVkZS9uZXRkYi5oIiAy
IDMgNAo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+PiAjIDEgIi91c3IvaW5jbHVkZS9ycGMv
bmV0ZGIuaCIgMSAzIDQKPiA+Pj4gIyA0MiAiL3Vzci9pbmNsdWRlL3JwYy9uZXRkYi5oIiAzIDQK
PiA+Pj4gIyAxICIvdXNyL2xpYi9nY2MvaTY4Ni1yZWRoYXQtbGludXgvNi4xLjEvaW5jbHVkZS9z
dGRkZWYuaCIgMSAzIDQKPiA+Pj4gIyA0MyAiL3Vzci9pbmNsdWRlL3JwYy9uZXRkYi5oIiAyIDMg
NAo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+PiBzdHJ1Y3QgcnBjZW50Cj4gPj4+IHsKPiA+Pj4gICBj
aGFyICpyX25hbWU7Cj4gPj4+ICAgY2hhciAqKnJfYWxpYXNlczsKPiA+Pj4gICBpbnQgcl9udW1i
ZXI7Cj4gPj4+IH07Cj4gPj4+Cj4gPj4+IGV4dGVybiB2b2lkIHNldHJwY2VudCAoaW50IF9fc3Rh
eW9wZW4pIF9fYXR0cmlidXRlX18gKChfX25vdGhyb3dfXyAsIF9fbGVhZl9fKSk7Cj4gPj4+IGV4
dGVybiB2b2lkIGVuZHJwY2VudCAodm9pZCkgX19hdHRyaWJ1dGVfXyAoKF9fbm90aHJvd19fICwg
X19sZWFmX18pKTsKPiA+Pj4gZXh0ZXJuIHN0cnVjdCBycGNlbnQgKmdldHJwY2J5bmFtZSAoY29u
c3QgY2hhciAqX19uYW1lKSBfX2F0dHJpYnV0ZV9fICgoX19ub3Rocm93X18gLCBfX2xlYWZfXykp
Owo+ID4+PiBleHRlcm4gc3RydWN0IHJwY2VudCAqZ2V0cnBjYnludW1iZXIgKGludCBfX251bWJl
cikgX19hdHRyaWJ1dGVfXyAoKF9fbm90aHJvd19fICwgX19sZWFmX18pKTsKPiA+Pj4gZXh0ZXJu
IHN0cnVjdCBycGNlbnQgKmdldHJwY2VudCAodm9pZCkgX19hdHRyaWJ1dGVfXyAoKF9fbm90aHJv
d19fICwgX19sZWFmX18pKTsKPiA+Pj4KPiA+Pj4KPiA+Pj4gZXh0ZXJuIGludCBnZXRycGNieW5h
bWVfciAoY29uc3QgY2hhciAqX19uYW1lLCBzdHJ1Y3QgcnBjZW50ICpfX3Jlc3VsdF9idWYsCj4g
Pj4+ICAgICAgIGNoYXIgKl9fYnVmZmVyLCBzaXplX3QgX19idWZsZW4sCj4gPj4+ICAgICAgIHN0
cnVjdCBycGNlbnQgKipfX3Jlc3VsdCkgX19hdHRyaWJ1dGVfXyAoKF9fbm90aHJvd19fICwgX19s
ZWFmX18pKTsKPiA+Pj4KPiA+Pj4gZXh0ZXJuIGludCBnZXRycGNieW51bWJlcl9yIChpbnQgX19u
dW1iZXIsIHN0cnVjdCBycGNlbnQgKl9fcmVzdWx0X2J1ZiwKPiA+Pj4gICAgICAgICBjaGFyICpf
X2J1ZmZlciwgc2l6ZV90IF9fYnVmbGVuLAo+ID4+PiAgICAgICAgIHN0cnVjdCBycGNlbnQgKipf
X3Jlc3VsdCkgX19hdHRyaWJ1dGVfXyAoKF9fbm90aHJvd19fICwgX19sZWFmX18pKTsKPiA+Pj4K
PiA+Pj4gZXh0ZXJuIGludCBnZXRycGNlbnRfciAoc3RydWN0IHJwY2VudCAqX19yZXN1bHRfYnVm
LCBjaGFyICpfX2J1ZmZlciwKPiA+Pj4gICAgc2l6ZV90IF9fYnVmbGVuLCBzdHJ1Y3QgcnBjZW50
ICoqX19yZXN1bHQpIF9fYXR0cmlidXRlX18gKChfX25vdGhyb3dfXyAsIF9fbGVhZl9fKSk7Cj4g
Pj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+ICMgMzMgIi91c3IvaW5jbHVkZS9uZXRkYi5oIiAyIDMgNAo+
ID4+PiAjIDQyICIvdXNyL2luY2x1ZGUvbmV0ZGIuaCIgMyA0Cj4gPj4+ICMgMSAiL3Vzci9pbmNs
dWRlL2JpdHMvbmV0ZGIuaCIgMSAzIDQKPiA+Pj4gIyAyNiAiL3Vzci9pbmNsdWRlL2JpdHMvbmV0
ZGIuaCIgMyA0Cj4gPj4+IHN0cnVjdCBuZXRlbnQKPiA+Pj4gewo+ID4+PiAgIGNoYXIgKm5fbmFt
ZTsKPiA+Pj4gICBjaGFyICoqbl9hbGlhc2VzOwo+ID4+PiAgIGludCBuX2FkZHJ0eXBlOwo+ID4+
PiAgIHVpbnQzMl90IG5fbmV0Owo+ID4+PiB9Owo+ID4+PiAjIDQzICIvdXNyL2luY2x1ZGUvbmV0
ZGIuaCIgMiAzIDQKPiA+Pj4gIyA1MyAiL3Vzci9pbmNsdWRlL25ldGRiLmgiIDMgNAo+ID4+Pgo+
ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+PiBleHRlcm4gaW50
ICpfX2hfZXJybm9fbG9jYXRpb24gKHZvaWQpIF9fYXR0cmlidXRlX18gKChfX25vdGhyb3dfXyAs
IF9fbGVhZl9fKSkgX19hdHRyaWJ1dGVfXyAoKF9fY29uc3RfXykpOwo+ID4+PiAjIDkyICIvdXNy
L2luY2x1ZGUvbmV0ZGIuaCIgMyA0Cj4gPj4+IGV4dGVybiB2b2lkIGhlcnJvciAoY29uc3QgY2hh
ciAqX19zdHIpIF9fYXR0cmlidXRlX18gKChfX25vdGhyb3dfXyAsIF9fbGVhZl9fKSk7Cj4gPj4+
Cj4gPj4+Cj4gPj4+IGV4dGVybiBjb25zdCBjaGFyICpoc3RyZXJyb3IgKGludCBfX2Vycl9udW0p
IF9fYXR0cmlidXRlX18gKChfX25vdGhyb3dfXyAsIF9fbGVhZl9fKSk7Cj4gPj4+Cj4gPj4+Cj4g
Pj4+Cj4gPj4+Cj4gPj4+IHN0cnVjdCBob3N0ZW50Cj4gPj4+IHsKPiA+Pj4gICBjaGFyICpoX25h
bWU7Cj4gPj4+ICAgY2hhciAqKmhfYWxpYXNlczsKPiA+Pj4gICBpbnQgaF9hZGRydHlwZTsKPiA+
Pj4gICBpbnQgaF9sZW5ndGg7Cj4gPj4+ICAgY2hhciAqKmhfYWRkcl9saXN0Owo+ID4+Pgo+ID4+
Pgo+ID4+Pgo+ID4+PiB9Owo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+
PiBleHRlcm4gdm9pZCBzZXRob3N0ZW50IChpbnQgX19zdGF5X29wZW4pOwo+ID4+Pgo+ID4+Pgo+
ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+PiBleHRlcm4gdm9pZCBlbmRob3N0ZW50ICh2b2lkKTsKPiA+
Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4gZXh0ZXJuIHN0cnVjdCBob3N0
ZW50ICpnZXRob3N0ZW50ICh2b2lkKTsKPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+
Pj4KPiA+Pj4gZXh0ZXJuIHN0cnVjdCBob3N0ZW50ICpnZXRob3N0YnlhZGRyIChjb25zdCB2b2lk
ICpfX2FkZHIsIF9fc29ja2xlbl90IF9fbGVuLAo+ID4+PiAgICAgICAgICAgaW50IF9fdHlwZSk7
Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+IGV4dGVybiBzdHJ1Y3QgaG9zdGVu
dCAqZ2V0aG9zdGJ5bmFtZSAoY29uc3QgY2hhciAqX19uYW1lKTsKPiA+Pj4gIyAxNTUgIi91c3Iv
aW5jbHVkZS9uZXRkYi5oIiAzIDQKPiA+Pj4gZXh0ZXJuIHN0cnVjdCBob3N0ZW50ICpnZXRob3N0
YnluYW1lMiAoY29uc3QgY2hhciAqX19uYW1lLCBpbnQgX19hZik7Cj4gPj4+ICMgMTY3ICIvdXNy
L2luY2x1ZGUvbmV0ZGIuaCIgMyA0Cj4gPj4+IGV4dGVybiBpbnQgZ2V0aG9zdGVudF9yIChzdHJ1
Y3QgaG9zdGVudCAqX19yZXN0cmljdCBfX3Jlc3VsdF9idWYsCj4gPj4+ICAgICBjaGFyICpfX3Jl
c3RyaWN0IF9fYnVmLCBzaXplX3QgX19idWZsZW4sCj4gPj4+ICAgICBzdHJ1Y3QgaG9zdGVudCAq
Kl9fcmVzdHJpY3QgX19yZXN1bHQsCj4gPj4+ICAgICBpbnQgKl9fcmVzdHJpY3QgX19oX2Vycm5v
cCk7Cj4gPj4+Cj4gPj4+IGV4dGVybiBpbnQgZ2V0aG9zdGJ5YWRkcl9yIChjb25zdCB2b2lkICpf
X3Jlc3RyaWN0IF9fYWRkciwgX19zb2NrbGVuX3QgX19sZW4sCj4gPj4+ICAgICAgICBpbnQgX190
eXBlLAo+ID4+PiAgICAgICAgc3RydWN0IGhvc3RlbnQgKl9fcmVzdHJpY3QgX19yZXN1bHRfYnVm
LAo+ID4+PiAgICAgICAgY2hhciAqX19yZXN0cmljdCBfX2J1Ziwgc2l6ZV90IF9fYnVmbGVuLAo+
ID4+PiAgICAgICAgc3RydWN0IGhvc3RlbnQgKipfX3Jlc3RyaWN0IF9fcmVzdWx0LAo+ID4+PiAg
ICAgICAgaW50ICpfX3Jlc3RyaWN0IF9faF9lcnJub3ApOwo+ID4+Pgo+ID4+PiBleHRlcm4gaW50
IGdldGhvc3RieW5hbWVfciAoY29uc3QgY2hhciAqX19yZXN0cmljdCBfX25hbWUsCj4gPj4+ICAg
ICAgICBzdHJ1Y3QgaG9zdGVudCAqX19yZXN0cmljdCBfX3Jlc3VsdF9idWYsCj4gPj4+ICAgICAg
ICBjaGFyICpfX3Jlc3RyaWN0IF9fYnVmLCBzaXplX3QgX19idWZsZW4sCj4gPj4+ICAgICAgICBz
dHJ1Y3QgaG9zdGVudCAqKl9fcmVzdHJpY3QgX19yZXN1bHQsCj4gPj4+ICAgICAgICBpbnQgKl9f
cmVzdHJpY3QgX19oX2Vycm5vcCk7Cj4gPj4+Cj4gPj4+IGV4dGVybiBpbnQgZ2V0aG9zdGJ5bmFt
ZTJfciAoY29uc3QgY2hhciAqX19yZXN0cmljdCBfX25hbWUsIGludCBfX2FmLAo+ID4+PiAgICAg
ICAgIHN0cnVjdCBob3N0ZW50ICpfX3Jlc3RyaWN0IF9fcmVzdWx0X2J1ZiwKPiA+Pj4gICAgICAg
ICBjaGFyICpfX3Jlc3RyaWN0IF9fYnVmLCBzaXplX3QgX19idWZsZW4sCj4gPj4+ICAgICAgICAg
c3RydWN0IGhvc3RlbnQgKipfX3Jlc3RyaWN0IF9fcmVzdWx0LAo+ID4+PiAgICAgICAgIGludCAq
X19yZXN0cmljdCBfX2hfZXJybm9wKTsKPiA+Pj4gIyAxOTggIi91c3IvaW5jbHVkZS9uZXRkYi5o
IiAzIDQKPiA+Pj4gZXh0ZXJuIHZvaWQgc2V0bmV0ZW50IChpbnQgX19zdGF5X29wZW4pOwo+ID4+
Pgo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+PiBleHRlcm4gdm9pZCBlbmRuZXRlbnQgKHZv
aWQpOwo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+PiBleHRlcm4gc3Ry
dWN0IG5ldGVudCAqZ2V0bmV0ZW50ICh2b2lkKTsKPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+
Pj4KPiA+Pj4KPiA+Pj4gZXh0ZXJuIHN0cnVjdCBuZXRlbnQgKmdldG5ldGJ5YWRkciAodWludDMy
X3QgX19uZXQsIGludCBfX3R5cGUpOwo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+
PiBleHRlcm4gc3RydWN0IG5ldGVudCAqZ2V0bmV0YnluYW1lIChjb25zdCBjaGFyICpfX25hbWUp
Owo+ID4+PiAjIDIzNyAiL3Vzci9pbmNsdWRlL25ldGRiLmgiIDMgNAo+ID4+PiBleHRlcm4gaW50
IGdldG5ldGVudF9yIChzdHJ1Y3QgbmV0ZW50ICpfX3Jlc3RyaWN0IF9fcmVzdWx0X2J1ZiwKPiA+
Pj4gICAgY2hhciAqX19yZXN0cmljdCBfX2J1Ziwgc2l6ZV90IF9fYnVmbGVuLAo+ID4+PiAgICBz
dHJ1Y3QgbmV0ZW50ICoqX19yZXN0cmljdCBfX3Jlc3VsdCwKPiA+Pj4gICAgaW50ICpfX3Jlc3Ry
aWN0IF9faF9lcnJub3ApOwo+ID4+Pgo+ID4+PiBleHRlcm4gaW50IGdldG5ldGJ5YWRkcl9yICh1
aW50MzJfdCBfX25ldCwgaW50IF9fdHlwZSwKPiA+Pj4gICAgICAgc3RydWN0IG5ldGVudCAqX19y
ZXN0cmljdCBfX3Jlc3VsdF9idWYsCj4gPj4+ICAgICAgIGNoYXIgKl9fcmVzdHJpY3QgX19idWYs
IHNpemVfdCBfX2J1ZmxlbiwKPiA+Pj4gICAgICAgc3RydWN0IG5ldGVudCAqKl9fcmVzdHJpY3Qg
X19yZXN1bHQsCj4gPj4+ICAgICAgIGludCAqX19yZXN0cmljdCBfX2hfZXJybm9wKTsKPiA+Pj4K
PiA+Pj4gZXh0ZXJuIGludCBnZXRuZXRieW5hbWVfciAoY29uc3QgY2hhciAqX19yZXN0cmljdCBf
X25hbWUsCj4gPj4+ICAgICAgIHN0cnVjdCBuZXRlbnQgKl9fcmVzdHJpY3QgX19yZXN1bHRfYnVm
LAo+ID4+PiAgICAgICBjaGFyICpfX3Jlc3RyaWN0IF9fYnVmLCBzaXplX3QgX19idWZsZW4sCj4g
Pj4+ICAgICAgIHN0cnVjdCBuZXRlbnQgKipfX3Jlc3RyaWN0IF9fcmVzdWx0LAo+ID4+PiAgICAg
ICBpbnQgKl9fcmVzdHJpY3QgX19oX2Vycm5vcCk7Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4g
Pj4+IHN0cnVjdCBzZXJ2ZW50Cj4gPj4+IHsKPiA+Pj4gICBjaGFyICpzX25hbWU7Cj4gPj4+ICAg
Y2hhciAqKnNfYWxpYXNlczsKPiA+Pj4gICBpbnQgc19wb3J0Owo+ID4+PiAgIGNoYXIgKnNfcHJv
dG87Cj4gPj4+IH07Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+IGV4
dGVybiB2b2lkIHNldHNlcnZlbnQgKGludCBfX3N0YXlfb3Blbik7Cj4gPj4+Cj4gPj4+Cj4gPj4+
Cj4gPj4+Cj4gPj4+Cj4gPj4+IGV4dGVybiB2b2lkIGVuZHNlcnZlbnQgKHZvaWQpOwo+ID4+Pgo+
ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+PiBleHRlcm4gc3RydWN0IHNlcnZlbnQg
KmdldHNlcnZlbnQgKHZvaWQpOwo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+Pgo+
ID4+PiBleHRlcm4gc3RydWN0IHNlcnZlbnQgKmdldHNlcnZieW5hbWUgKGNvbnN0IGNoYXIgKl9f
bmFtZSwgY29uc3QgY2hhciAqX19wcm90byk7Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+
Cj4gPj4+Cj4gPj4+IGV4dGVybiBzdHJ1Y3Qgc2VydmVudCAqZ2V0c2VydmJ5cG9ydCAoaW50IF9f
cG9ydCwgY29uc3QgY2hhciAqX19wcm90byk7Cj4gPj4+ICMgMzA4ICIvdXNyL2luY2x1ZGUvbmV0
ZGIuaCIgMyA0Cj4gPj4+IGV4dGVybiBpbnQgZ2V0c2VydmVudF9yIChzdHJ1Y3Qgc2VydmVudCAq
X19yZXN0cmljdCBfX3Jlc3VsdF9idWYsCj4gPj4+ICAgICBjaGFyICpfX3Jlc3RyaWN0IF9fYnVm
LCBzaXplX3QgX19idWZsZW4sCj4gPj4+ICAgICBzdHJ1Y3Qgc2VydmVudCAqKl9fcmVzdHJpY3Qg
X19yZXN1bHQpOwo+ID4+Pgo+ID4+PiBleHRlcm4gaW50IGdldHNlcnZieW5hbWVfciAoY29uc3Qg
Y2hhciAqX19yZXN0cmljdCBfX25hbWUsCj4gPj4+ICAgICAgICBjb25zdCBjaGFyICpfX3Jlc3Ry
aWN0IF9fcHJvdG8sCj4gPj4+ICAgICAgICBzdHJ1Y3Qgc2VydmVudCAqX19yZXN0cmljdCBfX3Jl
c3VsdF9idWYsCj4gPj4+ICAgICAgICBjaGFyICpfX3Jlc3RyaWN0IF9fYnVmLCBzaXplX3QgX19i
dWZsZW4sCj4gPj4+ICAgICAgICBzdHJ1Y3Qgc2VydmVudCAqKl9fcmVzdHJpY3QgX19yZXN1bHQp
Owo+ID4+Pgo+ID4+PiBleHRlcm4gaW50IGdldHNlcnZieXBvcnRfciAoaW50IF9fcG9ydCwgY29u
c3QgY2hhciAqX19yZXN0cmljdCBfX3Byb3RvLAo+ID4+PiAgICAgICAgc3RydWN0IHNlcnZlbnQg
Kl9fcmVzdHJpY3QgX19yZXN1bHRfYnVmLAo+ID4+PiAgICAgICAgY2hhciAqX19yZXN0cmljdCBf
X2J1Ziwgc2l6ZV90IF9fYnVmbGVuLAo+ID4+PiAgICAgICAgc3RydWN0IHNlcnZlbnQgKipfX3Jl
c3RyaWN0IF9fcmVzdWx0KTsKPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4gc3RydWN0IHBy
b3RvZW50Cj4gPj4+IHsKPiA+Pj4gICBjaGFyICpwX25hbWU7Cj4gPj4+ICAgY2hhciAqKnBfYWxp
YXNlczsKPiA+Pj4gICBpbnQgcF9wcm90bzsKPiA+Pj4gfTsKPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+
Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4gZXh0ZXJuIHZvaWQgc2V0cHJvdG9lbnQgKGludCBfX3N0YXlf
b3Blbik7Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+IGV4dGVybiB2b2lkIGVu
ZHByb3RvZW50ICh2b2lkKTsKPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+
Pj4gZXh0ZXJuIHN0cnVjdCBwcm90b2VudCAqZ2V0cHJvdG9lbnQgKHZvaWQpOwo+ID4+Pgo+ID4+
Pgo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+PiBleHRlcm4gc3RydWN0IHByb3RvZW50ICpnZXRwcm90
b2J5bmFtZSAoY29uc3QgY2hhciAqX19uYW1lKTsKPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+
Pj4KPiA+Pj4gZXh0ZXJuIHN0cnVjdCBwcm90b2VudCAqZ2V0cHJvdG9ieW51bWJlciAoaW50IF9f
cHJvdG8pOwo+ID4+PiAjIDM3NCAiL3Vzci9pbmNsdWRlL25ldGRiLmgiIDMgNAo+ID4+PiBleHRl
cm4gaW50IGdldHByb3RvZW50X3IgKHN0cnVjdCBwcm90b2VudCAqX19yZXN0cmljdCBfX3Jlc3Vs
dF9idWYsCj4gPj4+ICAgICAgY2hhciAqX19yZXN0cmljdCBfX2J1Ziwgc2l6ZV90IF9fYnVmbGVu
LAo+ID4+PiAgICAgIHN0cnVjdCBwcm90b2VudCAqKl9fcmVzdHJpY3QgX19yZXN1bHQpOwo+ID4+
Pgo+ID4+PiBleHRlcm4gaW50IGdldHByb3RvYnluYW1lX3IgKGNvbnN0IGNoYXIgKl9fcmVzdHJp
Y3QgX19uYW1lLAo+ID4+PiAgICAgICAgIHN0cnVjdCBwcm90b2VudCAqX19yZXN0cmljdCBfX3Jl
c3VsdF9idWYsCj4gPj4+ICAgICAgICAgY2hhciAqX19yZXN0cmljdCBfX2J1Ziwgc2l6ZV90IF9f
YnVmbGVuLAo+ID4+PiAgICAgICAgIHN0cnVjdCBwcm90b2VudCAqKl9fcmVzdHJpY3QgX19yZXN1
bHQpOwo+ID4+Pgo+ID4+PiBleHRlcm4gaW50IGdldHByb3RvYnludW1iZXJfciAoaW50IF9fcHJv
dG8sCj4gPj4+ICAgICAgICAgICBzdHJ1Y3QgcHJvdG9lbnQgKl9fcmVzdHJpY3QgX19yZXN1bHRf
YnVmLAo+ID4+PiAgICAgICAgICAgY2hhciAqX19yZXN0cmljdCBfX2J1Ziwgc2l6ZV90IF9fYnVm
bGVuLAo+ID4+PiAgICAgICAgICAgc3RydWN0IHByb3RvZW50ICoqX19yZXN0cmljdCBfX3Jlc3Vs
dCk7Cj4gPj4+ICMgMzk1ICIvdXNyL2luY2x1ZGUvbmV0ZGIuaCIgMyA0Cj4gPj4+IGV4dGVybiBp
bnQgc2V0bmV0Z3JlbnQgKGNvbnN0IGNoYXIgKl9fbmV0Z3JvdXApOwo+ID4+Pgo+ID4+Pgo+ID4+
Pgo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+PiBleHRlcm4gdm9pZCBlbmRuZXRncmVudCAo
dm9pZCk7Cj4gPj4+ICMgNDEyICIvdXNyL2luY2x1ZGUvbmV0ZGIuaCIgMyA0Cj4gPj4+IGV4dGVy
biBpbnQgZ2V0bmV0Z3JlbnQgKGNoYXIgKipfX3Jlc3RyaWN0IF9faG9zdHAsCj4gPj4+ICAgIGNo
YXIgKipfX3Jlc3RyaWN0IF9fdXNlcnAsCj4gPj4+ICAgIGNoYXIgKipfX3Jlc3RyaWN0IF9fZG9t
YWlucCk7Cj4gPj4+ICMgNDIzICIvdXNyL2luY2x1ZGUvbmV0ZGIuaCIgMyA0Cj4gPj4+IGV4dGVy
biBpbnQgaW5uZXRnciAoY29uc3QgY2hhciAqX19uZXRncm91cCwgY29uc3QgY2hhciAqX19ob3N0
LAo+ID4+PiAgICAgICBjb25zdCBjaGFyICpfX3VzZXIsIGNvbnN0IGNoYXIgKl9fZG9tYWluKTsK
PiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4gZXh0ZXJuIGlu
dCBnZXRuZXRncmVudF9yIChjaGFyICoqX19yZXN0cmljdCBfX2hvc3RwLAo+ID4+PiAgICAgIGNo
YXIgKipfX3Jlc3RyaWN0IF9fdXNlcnAsCj4gPj4+ICAgICAgY2hhciAqKl9fcmVzdHJpY3QgX19k
b21haW5wLAo+ID4+PiAgICAgIGNoYXIgKl9fcmVzdHJpY3QgX19idWZmZXIsIHNpemVfdCBfX2J1
Zmxlbik7Cj4gPj4+ICMgNDUxICIvdXNyL2luY2x1ZGUvbmV0ZGIuaCIgMyA0Cj4gPj4+IGV4dGVy
biBpbnQgcmNtZCAoY2hhciAqKl9fcmVzdHJpY3QgX19haG9zdCwgdW5zaWduZWQgc2hvcnQgaW50
IF9fcnBvcnQsCj4gPj4+ICAgIGNvbnN0IGNoYXIgKl9fcmVzdHJpY3QgX19sb2N1c2VyLAo+ID4+
PiAgICBjb25zdCBjaGFyICpfX3Jlc3RyaWN0IF9fcmVtdXNlciwKPiA+Pj4gICAgY29uc3QgY2hh
ciAqX19yZXN0cmljdCBfX2NtZCwgaW50ICpfX3Jlc3RyaWN0IF9fZmQycCk7Cj4gPj4+ICMgNDYz
ICIvdXNyL2luY2x1ZGUvbmV0ZGIuaCIgMyA0Cj4gPj4+IGV4dGVybiBpbnQgcmNtZF9hZiAoY2hh
ciAqKl9fcmVzdHJpY3QgX19haG9zdCwgdW5zaWduZWQgc2hvcnQgaW50IF9fcnBvcnQsCj4gPj4+
ICAgICAgIGNvbnN0IGNoYXIgKl9fcmVzdHJpY3QgX19sb2N1c2VyLAo+ID4+PiAgICAgICBjb25z
dCBjaGFyICpfX3Jlc3RyaWN0IF9fcmVtdXNlciwKPiA+Pj4gICAgICAgY29uc3QgY2hhciAqX19y
ZXN0cmljdCBfX2NtZCwgaW50ICpfX3Jlc3RyaWN0IF9fZmQycCwKPiA+Pj4gICAgICAgc2FfZmFt
aWx5X3QgX19hZik7Cj4gPj4+ICMgNDc5ICIvdXNyL2luY2x1ZGUvbmV0ZGIuaCIgMyA0Cj4gPj4+
IGV4dGVybiBpbnQgcmV4ZWMgKGNoYXIgKipfX3Jlc3RyaWN0IF9fYWhvc3QsIGludCBfX3Jwb3J0
LAo+ID4+PiAgICAgY29uc3QgY2hhciAqX19yZXN0cmljdCBfX25hbWUsCj4gPj4+ICAgICBjb25z
dCBjaGFyICpfX3Jlc3RyaWN0IF9fcGFzcywKPiA+Pj4gICAgIGNvbnN0IGNoYXIgKl9fcmVzdHJp
Y3QgX19jbWQsIGludCAqX19yZXN0cmljdCBfX2ZkMnApOwo+ID4+PiAjIDQ5MSAiL3Vzci9pbmNs
dWRlL25ldGRiLmgiIDMgNAo+ID4+PiBleHRlcm4gaW50IHJleGVjX2FmIChjaGFyICoqX19yZXN0
cmljdCBfX2Fob3N0LCBpbnQgX19ycG9ydCwKPiA+Pj4gICAgICAgIGNvbnN0IGNoYXIgKl9fcmVz
dHJpY3QgX19uYW1lLAo+ID4+PiAgICAgICAgY29uc3QgY2hhciAqX19yZXN0cmljdCBfX3Bhc3Ms
Cj4gPj4+ICAgICAgICBjb25zdCBjaGFyICpfX3Jlc3RyaWN0IF9fY21kLCBpbnQgKl9fcmVzdHJp
Y3QgX19mZDJwLAo+ID4+PiAgICAgICAgc2FfZmFtaWx5X3QgX19hZik7Cj4gPj4+ICMgNTA1ICIv
dXNyL2luY2x1ZGUvbmV0ZGIuaCIgMyA0Cj4gPj4+IGV4dGVybiBpbnQgcnVzZXJvayAoY29uc3Qg
Y2hhciAqX19yaG9zdCwgaW50IF9fc3VzZXIsCj4gPj4+ICAgICAgIGNvbnN0IGNoYXIgKl9fcmVt
dXNlciwgY29uc3QgY2hhciAqX19sb2N1c2VyKTsKPiA+Pj4gIyA1MTUgIi91c3IvaW5jbHVkZS9u
ZXRkYi5oIiAzIDQKPiA+Pj4gZXh0ZXJuIGludCBydXNlcm9rX2FmIChjb25zdCBjaGFyICpfX3Jo
b3N0LCBpbnQgX19zdXNlciwKPiA+Pj4gICAgICAgICAgY29uc3QgY2hhciAqX19yZW11c2VyLCBj
b25zdCBjaGFyICpfX2xvY3VzZXIsCj4gPj4+ICAgICAgICAgIHNhX2ZhbWlseV90IF9fYWYpOwo+
ID4+PiAjIDUyOCAiL3Vzci9pbmNsdWRlL25ldGRiLmgiIDMgNAo+ID4+PiBleHRlcm4gaW50IGly
dXNlcm9rICh1aW50MzJfdCBfX3JhZGRyLCBpbnQgX19zdXNlciwKPiA+Pj4gICAgICAgIGNvbnN0
IGNoYXIgKl9fcmVtdXNlciwgY29uc3QgY2hhciAqX19sb2N1c2VyKTsKPiA+Pj4gIyA1MzkgIi91
c3IvaW5jbHVkZS9uZXRkYi5oIiAzIDQKPiA+Pj4gZXh0ZXJuIGludCBpcnVzZXJva19hZiAoY29u
c3Qgdm9pZCAqX19yYWRkciwgaW50IF9fc3VzZXIsCj4gPj4+ICAgIGNvbnN0IGNoYXIgKl9fcmVt
dXNlciwgY29uc3QgY2hhciAqX19sb2N1c2VyLAo+ID4+PiAgICBzYV9mYW1pbHlfdCBfX2FmKTsK
PiA+Pj4gIyA1NTEgIi91c3IvaW5jbHVkZS9uZXRkYi5oIiAzIDQKPiA+Pj4gZXh0ZXJuIGludCBy
cmVzdnBvcnQgKGludCAqX19hbHBvcnQpOwo+ID4+PiAjIDU2MCAiL3Vzci9pbmNsdWRlL25ldGRi
LmgiIDMgNAo+ID4+PiBleHRlcm4gaW50IHJyZXN2cG9ydF9hZiAoaW50ICpfX2FscG9ydCwgc2Ff
ZmFtaWx5X3QgX19hZik7Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+
IHN0cnVjdCBhZGRyaW5mbwo+ID4+PiB7Cj4gPj4+ICAgaW50IGFpX2ZsYWdzOwo+ID4+PiAgIGlu
dCBhaV9mYW1pbHk7Cj4gPj4+ICAgaW50IGFpX3NvY2t0eXBlOwo+ID4+PiAgIGludCBhaV9wcm90
b2NvbDsKPiA+Pj4gICBzb2NrbGVuX3QgYWlfYWRkcmxlbjsKPiA+Pj4gICBzdHJ1Y3Qgc29ja2Fk
ZHIgKmFpX2FkZHI7Cj4gPj4+ICAgY2hhciAqYWlfY2Fub25uYW1lOwo+ID4+PiAgIHN0cnVjdCBh
ZGRyaW5mbyAqYWlfbmV4dDsKPiA+Pj4gfTsKPiA+Pj4gIyA2NjIgIi91c3IvaW5jbHVkZS9uZXRk
Yi5oIiAzIDQKPiA+Pj4gZXh0ZXJuIGludCBnZXRhZGRyaW5mbyAoY29uc3QgY2hhciAqX19yZXN0
cmljdCBfX25hbWUsCj4gPj4+ICAgIGNvbnN0IGNoYXIgKl9fcmVzdHJpY3QgX19zZXJ2aWNlLAo+
ID4+PiAgICBjb25zdCBzdHJ1Y3QgYWRkcmluZm8gKl9fcmVzdHJpY3QgX19yZXEsCj4gPj4+ICAg
IHN0cnVjdCBhZGRyaW5mbyAqKl9fcmVzdHJpY3QgX19wYWkpOwo+ID4+Pgo+ID4+Pgo+ID4+PiBl
eHRlcm4gdm9pZCBmcmVlYWRkcmluZm8gKHN0cnVjdCBhZGRyaW5mbyAqX19haSkgX19hdHRyaWJ1
dGVfXyAoKF9fbm90aHJvd19fICwgX19sZWFmX18pKTsKPiA+Pj4KPiA+Pj4KPiA+Pj4gZXh0ZXJu
IGNvbnN0IGNoYXIgKmdhaV9zdHJlcnJvciAoaW50IF9fZWNvZGUpIF9fYXR0cmlidXRlX18gKChf
X25vdGhyb3dfXyAsIF9fbGVhZl9fKSk7Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4g
Pj4+IGV4dGVybiBpbnQgZ2V0bmFtZWluZm8gKGNvbnN0IHN0cnVjdCBzb2NrYWRkciAqX19yZXN0
cmljdCBfX3NhLAo+ID4+PiAgICBzb2NrbGVuX3QgX19zYWxlbiwgY2hhciAqX19yZXN0cmljdCBf
X2hvc3QsCj4gPj4+ICAgIHNvY2tsZW5fdCBfX2hvc3RsZW4sIGNoYXIgKl9fcmVzdHJpY3QgX19z
ZXJ2LAo+ID4+PiAgICBzb2NrbGVuX3QgX19zZXJ2bGVuLCBpbnQgX19mbGFncyk7Cj4gPj4+ICMg
NzEzICIvdXNyL2luY2x1ZGUvbmV0ZGIuaCIgMyA0Cj4gPj4+Cj4gPj4+ICMgODEgIm1hY2hpbmUu
YyIgMgo+ID4+Pgo+ID4+PiAjIDEgIi91c3IvaW5jbHVkZS9hcnBhL2luZXQuaCIgMSAzIDQKPiA+
Pj4gIyAzMCAiL3Vzci9pbmNsdWRlL2FycGEvaW5ldC5oIiAzIDQKPiA+Pj4KPiA+Pj4KPiA+Pj4K
PiA+Pj4KPiA+Pj4gZXh0ZXJuIGluX2FkZHJfdCBpbmV0X2FkZHIgKGNvbnN0IGNoYXIgKl9fY3Ap
IF9fYXR0cmlidXRlX18gKChfX25vdGhyb3dfXyAsIF9fbGVhZl9fKSk7Cj4gPj4+Cj4gPj4+Cj4g
Pj4+IGV4dGVybiBpbl9hZGRyX3QgaW5ldF9sbmFvZiAoc3RydWN0IGluX2FkZHIgX19pbikgX19h
dHRyaWJ1dGVfXyAoKF9fbm90aHJvd19fICwgX19sZWFmX18pKTsKPiA+Pj4KPiA+Pj4KPiA+Pj4K
PiA+Pj4gZXh0ZXJuIHN0cnVjdCBpbl9hZGRyIGluZXRfbWFrZWFkZHIgKGluX2FkZHJfdCBfX25l
dCwgaW5fYWRkcl90IF9faG9zdCkKPiA+Pj4gICAgICBfX2F0dHJpYnV0ZV9fICgoX19ub3Rocm93
X18gLCBfX2xlYWZfXykpOwo+ID4+Pgo+ID4+Pgo+ID4+PiBleHRlcm4gaW5fYWRkcl90IGluZXRf
bmV0b2YgKHN0cnVjdCBpbl9hZGRyIF9faW4pIF9fYXR0cmlidXRlX18gKChfX25vdGhyb3dfXyAs
IF9fbGVhZl9fKSk7Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+IGV4dGVybiBpbl9hZGRyX3QgaW5l
dF9uZXR3b3JrIChjb25zdCBjaGFyICpfX2NwKSBfX2F0dHJpYnV0ZV9fICgoX19ub3Rocm93X18g
LCBfX2xlYWZfXykpOwo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+PiBleHRlcm4gY2hhciAqaW5ldF9u
dG9hIChzdHJ1Y3QgaW5fYWRkciBfX2luKSBfX2F0dHJpYnV0ZV9fICgoX19ub3Rocm93X18gLCBf
X2xlYWZfXykpOwo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+PiBleHRlcm4gaW50IGluZXRf
cHRvbiAoaW50IF9fYWYsIGNvbnN0IGNoYXIgKl9fcmVzdHJpY3QgX19jcCwKPiA+Pj4gICAgICAg
ICB2b2lkICpfX3Jlc3RyaWN0IF9fYnVmKSBfX2F0dHJpYnV0ZV9fICgoX19ub3Rocm93X18gLCBf
X2xlYWZfXykpOwo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+PiBleHRlcm4gY29uc3QgY2hh
ciAqaW5ldF9udG9wIChpbnQgX19hZiwgY29uc3Qgdm9pZCAqX19yZXN0cmljdCBfX2NwLAo+ID4+
PiAgICAgICAgICBjaGFyICpfX3Jlc3RyaWN0IF9fYnVmLCBzb2NrbGVuX3QgX19sZW4pCj4gPj4+
ICAgICAgX19hdHRyaWJ1dGVfXyAoKF9fbm90aHJvd19fICwgX19sZWFmX18pKTsKPiA+Pj4KPiA+
Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4gZXh0ZXJuIGludCBpbmV0X2F0b24gKGNv
bnN0IGNoYXIgKl9fY3AsIHN0cnVjdCBpbl9hZGRyICpfX2lucCkgX19hdHRyaWJ1dGVfXyAoKF9f
bm90aHJvd19fICwgX19sZWFmX18pKTsKPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4gZXh0ZXJuIGNo
YXIgKmluZXRfbmV0YSAoaW5fYWRkcl90IF9fbmV0LCBjaGFyICpfX2J1Ziwgc2l6ZV90IF9fbGVu
KSBfX2F0dHJpYnV0ZV9fICgoX19ub3Rocm93X18gLCBfX2xlYWZfXykpOwo+ID4+Pgo+ID4+Pgo+
ID4+Pgo+ID4+Pgo+ID4+PiBleHRlcm4gY2hhciAqaW5ldF9uZXRfbnRvcCAoaW50IF9fYWYsIGNv
bnN0IHZvaWQgKl9fY3AsIGludCBfX2JpdHMsCj4gPj4+ICAgICAgICBjaGFyICpfX2J1Ziwgc2l6
ZV90IF9fbGVuKSBfX2F0dHJpYnV0ZV9fICgoX19ub3Rocm93X18gLCBfX2xlYWZfXykpOwo+ID4+
Pgo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+PiBleHRlcm4gaW50IGluZXRfbmV0X3B0b24gKGludCBf
X2FmLCBjb25zdCBjaGFyICpfX2NwLAo+ID4+PiAgICAgIHZvaWQgKl9fYnVmLCBzaXplX3QgX19s
ZW4pIF9fYXR0cmlidXRlX18gKChfX25vdGhyb3dfXyAsIF9fbGVhZl9fKSk7Cj4gPj4+Cj4gPj4+
Cj4gPj4+Cj4gPj4+Cj4gPj4+IGV4dGVybiB1bnNpZ25lZCBpbnQgaW5ldF9uc2FwX2FkZHIgKGNv
bnN0IGNoYXIgKl9fY3AsCj4gPj4+ICAgICAgICAgdW5zaWduZWQgY2hhciAqX19idWYsIGludCBf
X2xlbikgX19hdHRyaWJ1dGVfXyAoKF9fbm90aHJvd19fICwgX19sZWFmX18pKTsKPiA+Pj4KPiA+
Pj4KPiA+Pj4KPiA+Pj4gZXh0ZXJuIGNoYXIgKmluZXRfbnNhcF9udG9hIChpbnQgX19sZW4sIGNv
bnN0IHVuc2lnbmVkIGNoYXIgKl9fY3AsCj4gPj4+ICAgICAgICAgY2hhciAqX19idWYpIF9fYXR0
cmlidXRlX18gKChfX25vdGhyb3dfXyAsIF9fbGVhZl9fKSk7Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4g
Pj4+ICMgODMgIm1hY2hpbmUuYyIgMgo+ID4+PiAjIDEzNSAibWFjaGluZS5jIgo+ID4+Pgo+ID4+
PiAjIDEzNSAibWFjaGluZS5jIgo+ID4+PiBzdGF0aWMgUGxMb25nIHN0YXJ0X3VzZXJfdGltZSA9
IDA7Cj4gPj4+IHN0YXRpYyBQbExvbmcgc3RhcnRfc3lzdGVtX3RpbWUgPSAwOwo+ID4+PiBzdGF0
aWMgUGxMb25nIHN0YXJ0X3JlYWxfdGltZSA9IDA7Cj4gPj4+Cj4gPj4+IHN0YXRpYyBpbnQgY3Vy
X3NlZWQgPSAxOwo+ID4+PiAjIDE1MCAibWFjaGluZS5jIgo+ID4+PiBzdGF0aWMgY2hhciAqSG9z
dF9OYW1lX0Zyb21fQWxpYXMoc3RydWN0IGhvc3RlbnQgKmhvc3RfZW50cnkpOwo+ID4+PiAjIDE2
NyAibWFjaGluZS5jIgo+ID4+PiB2b2lkCj4gPj4+IFBsX0luaXRfTWFjaGluZSh2b2lkKQo+ID4+
PiB7Cj4gPj4+ICAgdHpzZXQoKTsKPiA+Pj4KPiA+Pj4gICBzdGFydF91c2VyX3RpbWUgPSBQbF9N
X1VzZXJfVGltZSgpOwo+ID4+PiAgIHN0YXJ0X3N5c3RlbV90aW1lID0gUGxfTV9TeXN0ZW1fVGlt
ZSgpOwo+ID4+PiAgIHN0YXJ0X3JlYWxfdGltZSA9IFBsX01fUmVhbF9UaW1lKCk7Cj4gPj4+Cj4g
Pj4+Cj4gPj4+ICAgbWFsbG9wdCgKPiA+Pj4gIyAxNzcgIm1hY2hpbmUuYyIgMyA0Cj4gPj4+ICAg
ICAgICAgIC00Cj4gPj4+ICMgMTc3ICJtYWNoaW5lLmMiCj4gPj4+ICAgICAgICAgICAgICAgICAg
ICAsIDApOwo+ID4+Pgo+ID4+Pgo+ID4+PiAgIFBsX0luaXRfTWFjaGluZTEoKTsKPiA+Pj4gfQo+
ID4+PiAjIDE5MCAibWFjaGluZS5jIgo+ID4+PiBjaGFyICoKPiA+Pj4gUGxfTV9TeXNfRXJyX1N0
cmluZyhpbnQgcmV0X3ZhbCkKPiA+Pj4gewo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+Pgo+
ID4+PiAgIGNoYXIgKnN0cjsKPiA+Pj4gICBzdGF0aWMgY2hhciBidWZmWzY0XTsKPiA+Pj4gIyAy
MjYgIm1hY2hpbmUuYyIKPiA+Pj4gICBzdHIgPSBzdHJlcnJvcigKPiA+Pj4gIyAyMjYgIm1hY2hp
bmUuYyIgMyA0Cj4gPj4+ICAgICAgICAgICAgICAgICAoKl9fZXJybm9fbG9jYXRpb24gKCkpCj4g
Pj4+ICMgMjI2ICJtYWNoaW5lLmMiCj4gPj4+ICAgICAgICAgICAgICAgICAgICAgICk7Cj4gPj4+
Cj4gPj4+Cj4gPj4+ICAgaWYgKHN0cikKPiA+Pj4gICAgIHJldHVybiBzdHI7Cj4gPj4+Cj4gPj4+
ICAgc3ByaW50ZihidWZmLCAiVW5rbm93biBlcnJvciAoJWQpIiwgCj4gPj4+ICMgMjMyICJtYWNo
aW5lLmMiIDMgNAo+ID4+PiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCpfX2Vy
cm5vX2xvY2F0aW9uICgpKQo+ID4+PiAjIDIzMiAibWFjaGluZS5jIgo+ID4+PiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICApOwo+ID4+PiAgIHJldHVybiBidWZmOwo+ID4+
PiB9Cj4gPj4+ICMgMjQ0ICJtYWNoaW5lLmMiCj4gPj4+IFBsTG9uZwo+ID4+PiBQbF9NX1VzZXJf
VGltZSh2b2lkKQo+ID4+PiB7Cj4gPj4+ICAgUGxMb25nIHVzZXJfdGltZTsKPiA+Pj4KPiA+Pj4K
PiA+Pj4gICBzdHJ1Y3QgcnVzYWdlIHJzcl91c2FnZTsKPiA+Pj4KPiA+Pj4gICBnZXRydXNhZ2Uo
Cj4gPj4+ICMgMjUyICJtYWNoaW5lLmMiIDMgNAo+ID4+PiAgICAgICAgICAgIFJVU0FHRV9TRUxG
Cj4gPj4+ICMgMjUyICJtYWNoaW5lLmMiCj4gPj4+ICAgICAgICAgICAgICAgICAgICAgICAsICZy
c3JfdXNhZ2UpOwo+ID4+Pgo+ID4+PiAgIHVzZXJfdGltZSA9IChyc3JfdXNhZ2UucnVfdXRpbWUu
dHZfc2VjICogMTAwMCkgKwo+ID4+PiAgICAgKHJzcl91c2FnZS5ydV91dGltZS50dl91c2VjIC8g
MTAwMCk7Cj4gPj4+ICMgMjc1ICJtYWNoaW5lLmMiCj4gPj4+ICAgcmV0dXJuIHVzZXJfdGltZSAt
IHN0YXJ0X3VzZXJfdGltZTsKPiA+Pj4gfQo+ID4+PiAjIDI4NiAibWFjaGluZS5jIgo+ID4+PiBQ
bExvbmcKPiA+Pj4gUGxfTV9TeXN0ZW1fVGltZSh2b2lkKQo+ID4+PiB7Cj4gPj4+ICAgUGxMb25n
IHN5c3RlbV90aW1lOwo+ID4+Pgo+ID4+Pgo+ID4+PiAgIHN0cnVjdCBydXNhZ2UgcnNyX3VzYWdl
Owo+ID4+Pgo+ID4+PiAgIGdldHJ1c2FnZSgKPiA+Pj4gIyAyOTQgIm1hY2hpbmUuYyIgMyA0Cj4g
Pj4+ICAgICAgICAgICAgUlVTQUdFX1NFTEYKPiA+Pj4gIyAyOTQgIm1hY2hpbmUuYyIKPiA+Pj4g
ICAgICAgICAgICAgICAgICAgICAgICwgJnJzcl91c2FnZSk7Cj4gPj4+Cj4gPj4+ICAgc3lzdGVt
X3RpbWUgPSAocnNyX3VzYWdlLnJ1X3N0aW1lLnR2X3NlYyAqIDEwMDApICsKPiA+Pj4gICAgIChy
c3JfdXNhZ2UucnVfc3RpbWUudHZfdXNlYyAvIDEwMDApOwo+ID4+PiAjIDMxNyAibWFjaGluZS5j
Igo+ID4+PiAgIHJldHVybiBzeXN0ZW1fdGltZSAtIHN0YXJ0X3N5c3RlbV90aW1lOwo+ID4+PiB9
Cj4gPj4+ICMgMzI4ICJtYWNoaW5lLmMiCj4gPj4+IFBsTG9uZwo+ID4+PiBQbF9NX1JlYWxfVGlt
ZSh2b2lkKQo+ID4+PiB7Cj4gPj4+ICAgUGxMb25nIHJlYWxfdGltZTsKPiA+Pj4KPiA+Pj4KPiA+
Pj4gICBzdHJ1Y3QgdGltZXZhbCB0djsKPiA+Pj4KPiA+Pj4gICBnZXR0aW1lb2ZkYXkoJnR2LCAK
PiA+Pj4gIyAzMzYgIm1hY2hpbmUuYyIgMyA0Cj4gPj4+ICAgICAgICAgICAgICAgICAgICAoKHZv
aWQgKikwKQo+ID4+PiAjIDMzNiAibWFjaGluZS5jIgo+ID4+PiAgICAgICAgICAgICAgICAgICAg
ICAgICk7Cj4gPj4+ICAgcmVhbF90aW1lID0gKHR2LnR2X3NlYyAqIDEwMDApICsgKHR2LnR2X3Vz
ZWMgLyAxMDAwKTsKPiA+Pj4gIyAzNTAgIm1hY2hpbmUuYyIKPiA+Pj4gICByZXR1cm4gcmVhbF90
aW1lIC0gc3RhcnRfcmVhbF90aW1lOwo+ID4+PiB9Cj4gPj4+ICMgMzY3ICJtYWNoaW5lLmMiCj4g
Pj4+IHZvaWQKPiA+Pj4gUGxfTV9SYW5kb21pemUodm9pZCkKPiA+Pj4gewo+ID4+PiAgIHN0YXRp
YyBpbnQgY291bnQgPSAwOwo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+PiAgIHN0cnVjdCB0aW1ldmFs
IHR2Owo+ID4+PiAgIGludCBzZWVkOwo+ID4+Pgo+ID4+PiAgIGdldHRpbWVvZmRheSgmdHYsIAo+
ID4+PiAjIDM3NyAibWFjaGluZS5jIiAzIDQKPiA+Pj4gICAgICAgICAgICAgICAgICAgICgodm9p
ZCAqKTApCj4gPj4+ICMgMzc3ICJtYWNoaW5lLmMiCj4gPj4+ICAgICAgICAgICAgICAgICAgICAg
ICAgKTsKPiA+Pj4gICBzZWVkID0gKHR2LnR2X3NlYyAqIDEwMDApICsgKHR2LnR2X3VzZWMgLyAx
MDAwKTsKPiA+Pj4KPiA+Pj4gICBjb3VudCA9IChjb3VudCArIHJhbmQoKSkgJSAweEZGRkY7Cj4g
Pj4+ICAgc2VlZCA9IHNlZWQgXiAoZ2V0cGlkKCkgPDwgKHNlZWQgJiAweEZGKSk7Cj4gPj4+ICAg
c2VlZCAqPSBjb3VudDsKPiA+Pj4gICBzZWVkID0gc2VlZCAmIDB4RkZGRkZGOwo+ID4+Pgo+ID4+
PiAgIFBsX01fU2V0X1NlZWQoc2VlZCk7Cj4gPj4+IH0KPiA+Pj4gIyAzOTUgIm1hY2hpbmUuYyIK
PiA+Pj4gdm9pZAo+ID4+PiBQbF9NX1NldF9TZWVkKGludCBuKQo+ID4+PiB7Cj4gPj4+ICAgY3Vy
X3NlZWQgPSBuOwo+ID4+PiAgIHNyYW5kKGN1cl9zZWVkKTsKPiA+Pj4gfQo+ID4+PiAjIDQwOSAi
bWFjaGluZS5jIgo+ID4+PiBpbnQKPiA+Pj4gUGxfTV9HZXRfU2VlZCh2b2lkKQo+ID4+PiB7Cj4g
Pj4+ICAgcmV0dXJuIGN1cl9zZWVkOwo+ID4+PiB9Cj4gPj4+ICMgNDIzICJtYWNoaW5lLmMiCj4g
Pj4+IGludAo+ID4+PiBQbF9NX1JhbmRvbV9JbnRlZ2VyKGludCBuKQo+ID4+PiB7Cj4gPj4+ICAg
cmV0dXJuIChpbnQpICgoZG91YmxlKSBuICogcmFuZCgpIC8gKAo+ID4+PiAjIDQyNiAibWFjaGlu
ZS5jIiAzIDQKPiA+Pj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAyMTQ3
NDgzNjQ3IAo+ID4+PiAjIDQyNiAibWFjaGluZS5jIgo+ID4+PiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICsgMS4wKSk7Cj4gPj4+IH0KPiA+Pj4gIyA0Mzcg
Im1hY2hpbmUuYyIKPiA+Pj4gZG91YmxlCj4gPj4+IFBsX01fUmFuZG9tX0Zsb2F0KGRvdWJsZSBu
KQo+ID4+PiB7Cj4gPj4+ICAgcmV0dXJuIG4gKiByYW5kKCkgLyAoCj4gPj4+ICMgNDQwICJtYWNo
aW5lLmMiIDMgNAo+ID4+PiAgICAgICAgICAgICAgICAgICAgICAgMjE0NzQ4MzY0NyAKPiA+Pj4g
IyA0NDAgIm1hY2hpbmUuYyIKPiA+Pj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICsg
MS4wKTsKPiA+Pj4gfQo+ID4+PiAjIDQ1MSAibWFjaGluZS5jIgo+ID4+PiBjaGFyICoKPiA+Pj4g
UGxfTV9Ib3N0X05hbWVfRnJvbV9OYW1lKGNoYXIgKmhvc3RfbmFtZSkKPiA+Pj4gewo+ID4+PiAg
IHN0YXRpYyBjaGFyIGJ1ZmZbNDA5Nl07Cj4gPj4+Cj4gPj4+Cj4gPj4+ICAgc3RydWN0IGhvc3Rl
bnQgKmhvc3RfZW50cnk7Cj4gPj4+Cj4gPj4+Cj4gPj4+ICAgaWYgKGhvc3RfbmFtZSA9PSAKPiA+
Pj4gIyA0NjAgIm1hY2hpbmUuYyIgMyA0Cj4gPj4+ICAgICAgICAgICAgICAgICAgICgodm9pZCAq
KTApCj4gPj4+ICMgNDYwICJtYWNoaW5lLmMiCj4gPj4+ICAgICAgICAgICAgICAgICAgICAgICAp
Cj4gPj4+ICAgICB7Cj4gPj4+ICAgICAgIFBsTG9uZyBsZW5ndGggPSBzaXplb2YoYnVmZik7Cj4g
Pj4+ICAgICAgIGhvc3RfbmFtZSA9IGJ1ZmY7Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+ICAgICAg
IGlmIChnZXRob3N0bmFtZShidWZmLCBsZW5ndGgpKQo+ID4+Pgo+ID4+PiAgICAgICAgIHsKPiA+
Pj4gICAgICAgICAgIHN0cmNweShidWZmLCAidW5rbm93biBob3N0IG5hbWUiKTsKPiA+Pj4gICAg
ICAgICAgIGdvdG8gZmluaXNoOwo+ID4+PiAgICAgICAgIH0KPiA+Pj4gICAgIH0KPiA+Pj4KPiA+
Pj4gICBpZiAoc3RyY2hyKGhvc3RfbmFtZSwgJy4nKSAhPSAKPiA+Pj4gIyA0NzUgIm1hY2hpbmUu
YyIgMyA0Cj4gPj4+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKHZvaWQgKikwKQo+
ID4+PiAjIDQ3NSAibWFjaGluZS5jIgo+ID4+PiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICkKPiA+Pj4gICAgIGdvdG8gZmluaXNoOwo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+PiAg
IGhvc3RfZW50cnkgPSBnZXRob3N0YnluYW1lKGhvc3RfbmFtZSk7Cj4gPj4+ICAgaWYgKGhvc3Rf
ZW50cnkgPT0gCj4gPj4+ICMgNDgxICJtYWNoaW5lLmMiIDMgNAo+ID4+PiAgICAgICAgICAgICAg
ICAgICAgKCh2b2lkICopMCkKPiA+Pj4gIyA0ODEgIm1hY2hpbmUuYyIKPiA+Pj4gICAgICAgICAg
ICAgICAgICAgICAgICApCj4gPj4+ICAgICBnb3RvIGZpbmlzaDsKPiA+Pj4KPiA+Pj4gICBob3N0
X25hbWUgPSBIb3N0X05hbWVfRnJvbV9BbGlhcyhob3N0X2VudHJ5KTsKPiA+Pj4KPiA+Pj4KPiA+
Pj4KPiA+Pj4gZmluaXNoOgo+ID4+PiAgIHJldHVybiBob3N0X25hbWU7Cj4gPj4+IH0KPiA+Pj4g
IyA0OTkgIm1hY2hpbmUuYyIKPiA+Pj4gY2hhciAqCj4gPj4+IFBsX01fSG9zdF9OYW1lX0Zyb21f
QWRyKGNoYXIgKmhvc3RfYWRkcmVzcykKPiA+Pj4gewo+ID4+Pgo+ID4+PiAgIHN0cnVjdCBob3N0
ZW50ICpob3N0X2VudHJ5Owo+ID4+PiAgIHN0cnVjdCBpbl9hZGRyIGlhZHI7Cj4gPj4+Cj4gPj4+
Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+ICAgaWYgKGluZXRfYXRvbihob3N0X2FkZHJl
c3MsICZpYWRyKSA9PSAwKQo+ID4+Pgo+ID4+PiAgICAgcmV0dXJuIDA7Cj4gPj4+Cj4gPj4+ICAg
aG9zdF9lbnRyeSA9IGdldGhvc3RieWFkZHIoKGNoYXIgKikgJmlhZHIsIHNpemVvZihpYWRyKSwg
Cj4gPj4+ICMgNTE1ICJtYWNoaW5lLmMiIDMgNAo+ID4+PiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMgo+ID4+PiAjIDUxNSAibWFjaGlu
ZS5jIgo+ID4+PiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICk7Cj4gPj4+ICAgaWYgKGhvc3RfZW50cnkgPT0gCj4gPj4+ICMg
NTE2ICJtYWNoaW5lLmMiIDMgNAo+ID4+PiAgICAgICAgICAgICAgICAgICAgKCh2b2lkICopMCkK
PiA+Pj4gIyA1MTYgIm1hY2hpbmUuYyIKPiA+Pj4gICAgICAgICAgICAgICAgICAgICAgICApCj4g
Pj4+ICAgICByZXR1cm4gCj4gPj4+ICMgNTE3ICJtYWNoaW5lLmMiIDMgNAo+ID4+PiAgICAgICAg
ICAgKCh2b2lkICopMCkKPiA+Pj4gIyA1MTcgIm1hY2hpbmUuYyIKPiA+Pj4gICAgICAgICAgICAg
ICA7Cj4gPj4+Cj4gPj4+ICAgcmV0dXJuIEhvc3RfTmFtZV9Gcm9tX0FsaWFzKGhvc3RfZW50cnkp
Owo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+PiB9Cj4gPj4+ICMgNTM0ICJtYWNoaW5lLmMiCj4gPj4+
IHN0YXRpYyBjaGFyICoKPiA+Pj4gSG9zdF9OYW1lX0Zyb21fQWxpYXMoc3RydWN0IGhvc3RlbnQg
Kmhvc3RfZW50cnkpCj4gPj4+IHsKPiA+Pj4gICBjaGFyICpuYW1lOwo+ID4+PiAgIGNoYXIgKiph
bGlhczsKPiA+Pj4gICBjaGFyICpwOwo+ID4+Pgo+ID4+PiAgIG5hbWUgPSAoY2hhciAqKSBob3N0
X2VudHJ5LT5oX25hbWU7Cj4gPj4+ICAgYWxpYXMgPSBob3N0X2VudHJ5LT5oX2FsaWFzZXM7Cj4g
Pj4+ICAgd2hpbGUgKChwID0gc3RyY2hyKG5hbWUsICcuJykpID09IAo+ID4+PiAjIDU0MyAibWFj
aGluZS5jIiAzIDQKPiA+Pj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKHZv
aWQgKikwKSAKPiA+Pj4gIyA1NDMgIm1hY2hpbmUuYyIKPiA+Pj4gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICYmICphbGlhcykKPiA+Pj4gICAgIG5hbWUgPSAqYWxpYXMr
KzsKPiA+Pj4KPiA+Pj4gICBpZiAocCkKPiA+Pj4gICAgIHJldHVybiBuYW1lOwo+ID4+Pgo+ID4+
PiAgIHJldHVybiAoY2hhciAqKSBob3N0X2VudHJ5LT5oX25hbWU7Cj4gPj4+IH0KPiA+Pj4gIyA1
NjEgIm1hY2hpbmUuYyIKPiA+Pj4gQm9vbAo+ID4+PiBQbF9NX1NldF9Xb3JraW5nX0RpcihjaGFy
ICpwYXRoKQo+ID4+PiB7Cj4gPj4+ICAgY2hhciAqbmV3X3BhdGggPSBQbF9NX0Fic29sdXRlX1Bh
dGhfTmFtZShwYXRoKTsKPiA+Pj4KPiA+Pj4gICByZXR1cm4gKG5ld19wYXRoICE9IAo+ID4+PiAj
IDU2NiAibWFjaGluZS5jIiAzIDQKPiA+Pj4gICAgICAgICAgICAgICAgICAgICAgKCh2b2lkICop
MCkgCj4gPj4+ICMgNTY2ICJtYWNoaW5lLmMiCj4gPj4+ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgJiYgY2hkaXIobmV3X3BhdGgpID09IDApOwo+ID4+PiB9Cj4gPj4+ICMgNTc2ICJtYWNoaW5l
LmMiCj4gPj4+IGNoYXIgKgo+ID4+PiBQbF9NX0dldF9Xb3JraW5nX0Rpcih2b2lkKQo+ID4+PiB7
Cj4gPj4+ICAgc3RhdGljIGNoYXIgY3VyX3dvcmtfZGlyWwo+ID4+PiAjIDU3OSAibWFjaGluZS5j
IiAzIDQKPiA+Pj4gICAgICAgICAgICAgICAgICAgICAgICAgICA0MDk2Cj4gPj4+ICMgNTc5ICJt
YWNoaW5lLmMiCj4gPj4+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF07Cj4g
Pj4+Cj4gPj4+ICAgaWYgKGdldGN3ZChjdXJfd29ya19kaXIsIHNpemVvZihjdXJfd29ya19kaXIp
IC0gMSkgPT0gCj4gPj4+ICMgNTgxICJtYWNoaW5lLmMiIDMgNAo+ID4+PiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCh2b2lkICopMCkKPiA+
Pj4gIyA1ODEgIm1hY2hpbmUuYyIKPiA+Pj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCj4gPj4+ICAgICBzdHJjcHkoY3VyX3dvcmtf
ZGlyLCAiLiIpOwo+ID4+PiAgIHJldHVybiBjdXJfd29ya19kaXI7Cj4gPj4+IH0KPiA+Pj4gIyA1
OTQgIm1hY2hpbmUuYyIKPiA+Pj4gY2hhciAqCj4gPj4+IFBsX01fQWJzb2x1dGVfUGF0aF9OYW1l
KGNoYXIgKnNyYykKPiA+Pj4gewo+ID4+PiAgIHN0YXRpYyBjaGFyIGJ1ZmZbMl1bCj4gPj4+ICMg
NTk3ICJtYWNoaW5lLmMiIDMgNAo+ID4+PiAgICAgICAgICAgICAgICAgICAgICA0MDk2Cj4gPj4+
ICMgNTk3ICJtYWNoaW5lLmMiCj4gPj4+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBd
Owo+ID4+PiAgIGludCByZXMgPSAwOwo+ID4+PiAgIGNoYXIgKmRzdDsKPiA+Pj4gICBjaGFyICpw
LCAqcTsKPiA+Pj4gICBjaGFyIGM7Cj4gPj4+Cj4gPj4+ICAgZHN0ID0gYnVmZltyZXNdOwo+ID4+
PiAgIHdoaWxlICgoKmRzdCsrID0gKnNyYykpCj4gPj4+ICAgICB7Cj4gPj4+ICAgICAgIGMgPSAq
c3JjKys7Cj4gPj4+ICAgICAgIGlmIChjID09ICckJwo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+PiAg
ICAgICAgICkKPiA+Pj4gICAgICAgICB7Cj4gPj4+ICAgICAgICAgICBwID0gZHN0Owo+ID4+PiAg
ICAgICAgICAgd2hpbGUgKAo+ID4+PiAjIDYxNCAibWFjaGluZS5jIiAzIDQKPiA+Pj4gICAgICAg
ICAgICAgICAgICgoKl9fY3R5cGVfYl9sb2MgKCkpWyhpbnQpICgoCj4gPj4+ICMgNjE0ICJtYWNo
aW5lLmMiCj4gPj4+ICAgICAgICAgICAgICAgICAqc3JjCj4gPj4+ICMgNjE0ICJtYWNoaW5lLmMi
IDMgNAo+ID4+PiAgICAgICAgICAgICAgICAgKSldICYgKHVuc2lnbmVkIHNob3J0IGludCkgX0lT
YWxudW0pIAo+ID4+PiAjIDYxNCAibWFjaGluZS5jIgo+ID4+PiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB8fCAqc3JjID09ICdfJykKPiA+Pj4gICAgICAgICAgICAgKmRzdCsrID0gKnNy
YysrOwo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+PiAgICAgICAgICAgKmRzdCA9ICdcMCc7
Cj4gPj4+ICAgICAgICAgICBxID0gZ2V0ZW52KHApOwo+ID4+PiAgICAgICAgICAgaWYgKHEpCj4g
Pj4+ICAgICAgICAgICAgIHsKPiA+Pj4gICAgICAgICAgICAgICBwLS07Cj4gPj4+ICAgICAgICAg
ICAgICAgc3RyY3B5KHAsIHEpOwo+ID4+PiAgICAgICAgICAgICAgIGRzdCA9IHAgKyBzdHJsZW4o
cCk7Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+ICAgICAgICAgICAgIH0KPiA+Pj4KPiA+
Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4gICAgICAgICB9Cj4gPj4+ICAgICB9Cj4gPj4+ICAgKmRzdCA9
ICdcMCc7Cj4gPj4+Cj4gPj4+ICAgaWYgKGJ1ZmZbcmVzXVswXSA9PSAnficpCj4gPj4+ICAgICB7
Cj4gPj4+ICAgICAgIGlmICgoKGJ1ZmZbcmVzXVsxXSkgPT0gJy8nIHx8IChidWZmW3Jlc11bMV0p
ID09ICcvJykgfHwgYnVmZltyZXNdWzFdID09ICdcMCcpCj4gPj4+ICAgICAgICAgewo+ID4+PiAg
ICBxID0gCj4gPj4+ICMgNjQ0ICJtYWNoaW5lLmMiIDMgNAo+ID4+PiAgICAgICAoKHZvaWQgKikw
KQo+ID4+PiAjIDY0NCAibWFjaGluZS5jIgo+ID4+PiAgICAgICAgICAgOzsKPiA+Pj4gICAgICAg
ICAgIGlmICgocCA9IGdldGVudigiSE9NRSIpKSA9PSAKPiA+Pj4gIyA2NDUgIm1hY2hpbmUuYyIg
MyA0Cj4gPj4+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKHZvaWQgKikw
KQo+ID4+PiAjIDY0NSAibWFjaGluZS5jIgo+ID4+PiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICkKPiA+Pj4gICAgICB7Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4g
Pj4+Cj4gPj4+ICAgICAgICByZXR1cm4gCj4gPj4+ICMgNjUyICJtYWNoaW5lLmMiIDMgNAo+ID4+
PiAgICAgICAgICAgICAgKCh2b2lkICopMCkKPiA+Pj4gIyA2NTIgIm1hY2hpbmUuYyIKPiA+Pj4g
ICAgICAgICAgICAgICAgICA7Cj4gPj4+Cj4gPj4+ICAgICAgfQo+ID4+PiAgICBpZiAocSA9PSAK
PiA+Pj4gIyA2NTUgIm1hY2hpbmUuYyIgMyA0Cj4gPj4+ICAgICAgICAgICAgKCh2b2lkICopMCkK
PiA+Pj4gIyA2NTUgIm1hY2hpbmUuYyIKPiA+Pj4gICAgICAgICAgICAgICAgKQo+ID4+PiAgICAg
IHEgPSAiIjsKPiA+Pj4gICAgICAgICAgIHNwcmludGYoYnVmZlsxIC0gcmVzXSwgIiVzJXMvJXMi
LCBxLCBwLCBidWZmW3Jlc10gKyAxKTsKPiA+Pj4gICAgICAgICAgIHJlcyA9IDEgLSByZXM7Cj4g
Pj4+ICAgICAgICAgfQo+ID4+Pgo+ID4+PiAgICAgICBlbHNlCj4gPj4+ICAgICAgICAgewo+ID4+
PiAgICAgICAgICAgc3RydWN0IHBhc3N3ZCAqcHc7Cj4gPj4+Cj4gPj4+ICAgICAgICAgICBwID0g
YnVmZltyZXNdICsgMTsKPiA+Pj4gICAgICAgICAgIHdoaWxlICgqcCAmJiAhKCgqcCkgPT0gJy8n
IHx8ICgqcCkgPT0gJy8nKSkKPiA+Pj4gICAgICAgICAgICAgcCsrOwo+ID4+Pgo+ID4+PiAgICAg
ICAgICAgYnVmZltyZXNdWzBdID0gKnA7Cj4gPj4+ICAgICAgICAgICAqcCA9ICdcMCc7Cj4gPj4+
ICAgICAgICAgICBpZiAoKHB3ID0gZ2V0cHduYW0oYnVmZltyZXNdICsgMSkpID09IAo+ID4+PiAj
IDY3MSAibWFjaGluZS5jIiAzIDQKPiA+Pj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAoKHZvaWQgKikwKQo+ID4+PiAjIDY3MSAibWFjaGluZS5jIgo+ID4+
PiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCj4g
Pj4+ICAgICAgICAgICAgIHJldHVybiAKPiA+Pj4gIyA2NzIgIm1hY2hpbmUuYyIgMyA0Cj4gPj4+
ICAgICAgICAgICAgICAgICAgICgodm9pZCAqKTApCj4gPj4+ICMgNjcyICJtYWNoaW5lLmMiCj4g
Pj4+ICAgICAgICAgICAgICAgICAgICAgICA7Cj4gPj4+Cj4gPj4+ICAgICAgICAgICAqcCA9IGJ1
ZmZbcmVzXVswXTsKPiA+Pj4KPiA+Pj4gICAgICAgICAgIHNwcmludGYoYnVmZlsxIC0gcmVzXSwg
IiVzLyVzIiwgcHctPnB3X2RpciwgcCk7Cj4gPj4+ICAgICAgICAgICByZXMgPSAxIC0gcmVzOwo+
ID4+PiAgICAgICAgIH0KPiA+Pj4KPiA+Pj4gICAgIH0KPiA+Pj4KPiA+Pj4gICBpZiAoc3RyY21w
KGJ1ZmZbcmVzXSwgInVzZXIiKSA9PSAwKQo+ID4+PiAgICAgcmV0dXJuIGJ1ZmZbcmVzXTsKPiA+
Pj4gIyA3MDYgIm1hY2hpbmUuYyIKPiA+Pj4gICBpZiAoYnVmZltyZXNdWzBdICE9ICcvJykKPiA+
Pj4gICAgIHsKPiA+Pj4gICAgICAgc3ByaW50ZihidWZmWzEgLSByZXNdLCAiJXMvJXMiLCBQbF9N
X0dldF9Xb3JraW5nX0RpcigpLCBidWZmW3Jlc10pOwo+ID4+PiAgICAgICByZXMgPSAxIC0gcmVz
Owo+ID4+PiAgICAgfQo+ID4+Pgo+ID4+PiAgIHNyYyA9IGJ1ZmZbcmVzXTsKPiA+Pj4gICByZXMg
PSAxIC0gcmVzOwo+ID4+PiAgIGRzdCA9IGJ1ZmZbcmVzXTsKPiA+Pj4KPiA+Pj4gICB3aGlsZSAo
KCpkc3QrKyA9ICpzcmMpKQo+ID4+PiAgICAgewo+ID4+PiAgICAgICBpZiAoKnNyYysrICE9ICcv
JykKPiA+Pj4gICAgICAgICBjb250aW51ZTsKPiA+Pj4KPiA+Pj4gICAgIGNvbGxhcHNlOgo+ID4+
PiAgICAgICB3aGlsZSAoKnNyYyA9PSAnLycpCj4gPj4+ICAgICAgICAgc3JjKys7Cj4gPj4+Cj4g
Pj4+ICAgICAgIGlmICgqc3JjICE9ICcuJykKPiA+Pj4gICAgICAgICBjb250aW51ZTsKPiA+Pj4K
PiA+Pj4gICAgICAgaWYgKHNyY1sxXSA9PSAnLycgfHwgc3JjWzFdID09ICdcMCcpCj4gPj4+ICAg
ICAgICAgewo+ID4+PiAgICAgICAgICAgc3JjKys7Cj4gPj4+ICAgICAgICAgICBnb3RvIGNvbGxh
cHNlOwo+ID4+PiAgICAgICAgIH0KPiA+Pj4KPiA+Pj4gICAgICAgaWYgKHNyY1sxXSAhPSAnLicg
fHwgKHNyY1syXSAhPSAnLycgJiYgc3JjWzJdICE9ICdcMCcpKQo+ID4+PiAgICAgICAgIGNvbnRp
bnVlOwo+ID4+Pgo+ID4+PiAgICAgICBzcmMgKz0gMjsKPiA+Pj4gICAgICAgcCA9IGRzdCAtIDI7
Cj4gPj4+ICAgICAgIHdoaWxlIChwID49IGJ1ZmZbcmVzXSAmJiAqcCAhPSAnLycpCj4gPj4+ICAg
ICAgICAgcC0tOwo+ID4+Pgo+ID4+PiAgICAgICBpZiAocCA8IGJ1ZmZbcmVzXSkKPiA+Pj4gICAg
ICAgICByZXR1cm4gCj4gPj4+ICMgNzQzICJtYWNoaW5lLmMiIDMgNAo+ID4+PiAgICAgICAgICAg
ICAgICgodm9pZCAqKTApCj4gPj4+ICMgNzQzICJtYWNoaW5lLmMiCj4gPj4+ICAgICAgICAgICAg
ICAgICAgIDsKPiA+Pj4KPiA+Pj4gICAgICAgZHN0ID0gcDsKPiA+Pj4gICAgIH0KPiA+Pj4KPiA+
Pj4gICBkc3QtLTsKPiA+Pj4gIyA3NTkgIm1hY2hpbmUuYyIKPiA+Pj4gICBpZiAoZHN0IC0gYnVm
ZltyZXNdID4gMSAmJiAoKGRzdFstMV0pID09ICcvJyB8fCAoZHN0Wy0xXSkgPT0gJy8nKSkKPiA+
Pj4gICAgIGRzdFstMV0gPSAnXDAnOwo+ID4+Pgo+ID4+PiAgIHJldHVybiBidWZmW3Jlc107Cj4g
Pj4+IH0KPiA+Pj4gIyA3NzMgIm1hY2hpbmUuYyIKPiA+Pj4gQm9vbAo+ID4+PiBQbF9NX0lzX0Fi
c29sdXRlX0ZpbGVfTmFtZShjaGFyICpwYXRoKQo+ID4+PiB7Cj4gPj4+ICAgaWYgKCgoKnBhdGgp
ID09ICcvJyB8fCAoKnBhdGgpID09ICcvJykpCj4gPj4+ICAgICByZXR1cm4gMTsKPiA+Pj4gIyA3
OTUgIm1hY2hpbmUuYyIKPiA+Pj4gICByZXR1cm4gMDsKPiA+Pj4gfQo+ID4+PiAjIDgyOSAibWFj
aGluZS5jIgo+ID4+PiBjaGFyICoKPiA+Pj4gUGxfTV9EZWNvbXBvc2VfRmlsZV9OYW1lKGNoYXIg
KnBhdGgsIEJvb2wgZGVsX3RyYWlsX3NsYXNoZXMsIGNoYXIgKipiYXNlLCBjaGFyICoqc3VmZml4
KQo+ID4+PiB7Cj4gPj4+ICAgc3RhdGljIGNoYXIgYnVmZl9kaXJbCj4gPj4+ICMgODMyICJtYWNo
aW5lLmMiIDMgNAo+ID4+PiAgICAgICAgICAgICAgICAgICAgICAgNDA5Ngo+ID4+PiAjIDgzMiAi
bWFjaGluZS5jIgo+ID4+PiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF07Cj4gPj4+
ICAgc3RhdGljIGNoYXIgYnVmZl9iYXNlWwo+ID4+PiAjIDgzMyAibWFjaGluZS5jIiAzIDQKPiA+
Pj4gICAgICAgICAgICAgICAgICAgICAgICA0MDk2Cj4gPj4+ICMgODMzICJtYWNoaW5lLmMiCj4g
Pj4+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF07Cj4gPj4+ICAgaW50IGRpcl9z
dGFydF9wb3MgPSAwOwo+ID4+PiAjIDg1MiAibWFjaGluZS5jIgo+ID4+PiAgIGNoYXIgKnA7Cj4g
Pj4+Cj4gPj4+ICAgc3RyY3B5KGJ1ZmZfZGlyLCBwYXRoKTsKPiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+
Pj4KPiA+Pj4KPiA+Pj4gICBkbyB7IGNoYXIgKl9wdHI7IGZvcigocCkgPSAKPiA+Pj4gIyA4NjAg
Im1hY2hpbmUuYyIgMyA0Cj4gPj4+ICAoKHZvaWQgKikwKQo+ID4+PiAjIDg2MCAibWFjaGluZS5j
Igo+ID4+PiAgLCBfcHRyID0gKGJ1ZmZfZGlyKTsgKl9wdHI7IF9wdHIrKykgaWYgKCgoKl9wdHIp
ID09ICcvJyB8fCAoKl9wdHIpID09ICcvJykpIChwKSA9IF9wdHI7IH0gd2hpbGUoMCk7Cj4gPj4+
Cj4gPj4+ICAgcCA9IChwID09IAo+ID4+PiAjIDg2MiAibWFjaGluZS5jIiAzIDQKPiA+Pj4gICAg
ICAgICAgICAoKHZvaWQgKikwKQo+ID4+PiAjIDg2MiAibWFjaGluZS5jIgo+ID4+PiAgICAgICAg
ICAgICAgICApID8gYnVmZl9kaXIgKyBkaXJfc3RhcnRfcG9zIDogcCArIDE7Cj4gPj4+Cj4gPj4+
ICAgc3RyY3B5KGJ1ZmZfYmFzZSwgcCk7Cj4gPj4+ICAgKnAgPSAnXDAnOwo+ID4+Pgo+ID4+PiAg
IGlmICgocCA9IHN0cnJjaHIoYnVmZl9iYXNlLCAnLicpKSAhPSAKPiA+Pj4gIyA4NjcgIm1hY2hp
bmUuYyIgMyA0Cj4gPj4+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCh2
b2lkICopMCkKPiA+Pj4gIyA4NjcgIm1hY2hpbmUuYyIKPiA+Pj4gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgKQo+ID4+PiAgICAgKnN1ZmZpeCA9IHA7Cj4gPj4+ICAg
ZWxzZQo+ID4+PiAgICAgKnN1ZmZpeCA9IGJ1ZmZfYmFzZSArIHN0cmxlbihidWZmX2Jhc2UpOwo+
ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+PiAgIGlmIChkZWxfdHJhaWxfc2xhc2hlcykKPiA+Pj4gICAg
IHsKPiA+Pj4gICAgICAgaWYgKGJ1ZmZfZGlyW2Rpcl9zdGFydF9wb3NdID09ICdcMCcpCj4gPj4+
ICBzdHJjYXQoYnVmZl9kaXIsICIuIik7Cj4gPj4+ICAgICAgIGVsc2UKPiA+Pj4gIHsKPiA+Pj4g
ICAgaW50IGxlbiA9IHN0cmxlbihidWZmX2Rpcik7Cj4gPj4+ICAgIHdoaWxlKC0tbGVuID49IGRp
cl9zdGFydF9wb3MgJiYgKChidWZmX2RpcltsZW5dKSA9PSAnLycgfHwgKGJ1ZmZfZGlyW2xlbl0p
ID09ICcvJykpCj4gPj4+ICAgICAgOwo+ID4+Pgo+ID4+PiAgICBpZiAobGVuIDwgZGlyX3N0YXJ0
X3BvcykKPiA+Pj4gICAgICBsZW4gPSBkaXJfc3RhcnRfcG9zOwo+ID4+PiAgICBidWZmX2Rpclts
ZW4gKyAxXSA9ICdcMCc7Cj4gPj4+ICB9Cj4gPj4+ICAgICB9Cj4gPj4+Cj4gPj4+Cj4gPj4+Cj4g
Pj4+Cj4gPj4+Cj4gPj4+Cj4gPj4+ICAgKmJhc2UgPSBidWZmX2Jhc2U7Cj4gPj4+Cj4gPj4+ICAg
cmV0dXJuIGJ1ZmZfZGlyOwo+ID4+PiB9Cj4gPj4KPiA+Pj4gX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX18KPiA+Pj4gQnVnLXByb2xvZyBtYWlsaW5nIGxpc3QK
PiA+Pj4gQnVnLXByb2xvZ0BnbnUub3JnCj4gPj4+IGh0dHBzOi8vbGlzdHMuZ251Lm9yZy9tYWls
bWFuL2xpc3RpbmZvL2J1Zy1wcm9sb2cKPiA+Pgo+ID4+Cj4gPiAKPiAKPiBfX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwo+IEJ1Zy1wcm9sb2cgbWFpbGluZyBs
aXN0Cj4gQnVnLXByb2xvZ0BnbnUub3JnCj4gaHR0cHM6Ly9saXN0cy5nbnUub3JnL21haWxtYW4v
bGlzdGluZm8vYnVnLXByb2xvZwoKLS0gCk1hdHRoZXcgQ2FydGVyCmplaGl2YUBnbWFpbC5jb20K
Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkJ1Zy1wcm9s
b2cgbWFpbGluZyBsaXN0CkJ1Zy1wcm9sb2dAZ251Lm9yZwpodHRwczovL2xpc3RzLmdudS5vcmcv
bWFpbG1hbi9saXN0aW5mby9idWctcHJvbG9nCg==