typeSizes.f90, netcdf.f90, and netcdf_expanded.f90

Charlie Zender <[email protected]> Sun, 12 Oct 2003 17:08:32 -0700
Newsgroups gmane.comp.compilers.g95
Message-ID <[email protected]>
> If you are reading this, your mail reader may not support MIME.
> Some parts of this message will be readable as plain text.

--12.Oct.2003mysteryboxofun
Content-Type: application/octet-stream; name="typeSizes.f90"
Content-Description: /data/zender/tmp/netcdf-3.5.1-beta10/src/f90/typeSizes.f90
Content-Transfer-Encoding: base64

ISBEZXNjcmlwdGlvbjoKISAgIFByb3ZpZGUgbmFtZWQga2luZCBwYXJhbWV0ZXJzIGZvciB1
c2UgaW4gZGVjbGFyYXRpb25zIG9mIHJlYWwgYW5kIGludGVnZXIgCiEgICAgdmFyaWFibGVz
IHdpdGggc3BlY2lmaWMgYnl0ZSBzaXplcyAoaS5lLiBvbmUsIHR3bywgZm91ciwgYW5kIGVp
Z2h0IGJ5dGUKISAgICBpbnRlZ2VyczsgZm91ciBhbmQgZWlnaHQgYnl0ZSByZWFscykuIFRo
ZSBwYXJhbWV0ZXJzIGNhbiB0aGVuIGJlIHVzZWQKISAgICBpbiAoS0lORCA9IFhYKSBtb2Rp
ZmllcnMgaW4gZGVjbGFyYXRpb25zLgohICAgQSBzaW5nbGUgZnVuY3Rpb24gKGJ5dGVTaXpl
c09LKCkpIGlzIHByb3ZpZGVkIHRvIGVuc3VyZSB0aGF0IHRoZSBzZWxlY3RlZCAKISAgICBr
aW5kIHBhcmFtZXRlcnMgYXJlIGNvcnJlY3QuCiEgIAohIElucHV0IFBhcmFtZXRlcnM6CiEg
ICBOb25lLgohCiEgT3V0cHV0IFBhcmFtZXRlcnM6CiEgICBQdWJsaWMgcGFyYW1ldGVycywg
Zml4ZWQgYXQgY29tcGlsZSB0aW1lOgohICAgICBPbmVCeXRlSW50LCBUd29CeXRlSW50LCBG
b3VyQnl0ZUludCwgRWlnaHRCeXRlSW50CiEgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgRm91ckJ5dGVSZWFsLCBFaWdodEJ5dGVSYWRsCiEKISBSZWZlcmVuY2VzIGFu
ZCBDcmVkaXRzOgohICAgV3JpdHRlbiBieQohICAgIFJvYmVydCBQaW5jdXMKISAgICBDb29w
ZXJhdGl2ZSBJbnN0aXR1ZSBmb3IgTWV0ZW9yb2xvZ2ljYWwgU2F0ZWxsaXRlIFN0dWRpZXMK
ISAgICBVbml2ZXJzaXR5IG9mIFdpc2NvbnNpbiAtIE1hZGlzb24KISAgICAxMjI1IFcuIERh
eXRvbiBTdC4gCiEgICAgTWFkaXNvbiwgV2lzY29uc2luIDUzNzA2CiEgICAgUm9iZXJ0LlBp
bmN1c0Bzc2VjLndpc2MuZWR1CiEKISBEZXNpZ24gTm90ZXM6CiEgICBGb3J0cmFuIDkwIGRv
ZXNuJ3QgYWxsb3cgb25lIHRvIGNoZWNrIHRoZSBudW1iZXIgb2YgYnl0ZXMgaW4gYSByZWFs
IHZhcmlhYmxlOwohICAgICB3ZSBjaGVjayBvbmx5IHRoYXQgZm91ciBieXRlIGFuZCBlaWdo
dCBieXRlIHJlYWxzIGhhdmUgZGlmZmVyZW50IGtpbmQgcGFyYW1ldGVycy4gCiEKbW9kdWxl
IHR5cGVTaXplcwogIGltcGxpY2l0IG5vbmUKICBwdWJsaWMKICBpbnRlZ2VyLCBwYXJhbWV0
ZXIgOjogICBPbmVCeXRlSW50ID0gc2VsZWN0ZWRfaW50X2tpbmQoMiksICYKICAgICAgICAg
ICAgICAgICAgICAgICAgICBUd29CeXRlSW50ID0gc2VsZWN0ZWRfaW50X2tpbmQoNCksICYK
ICAgICAgICAgICAgICAgICAgICAgICAgIEZvdXJCeXRlSW50ID0gc2VsZWN0ZWRfaW50X2tp
bmQoOSksICYKICAgICAgICAgICAgICAgICAgICAgICAgRWlnaHRCeXRlSW50ID0gc2VsZWN0
ZWRfaW50X2tpbmQoMTgpCgogIGludGVnZXIsIHBhcmFtZXRlciA6OiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICYKICAgICAgICAgICAgICAgICAgICAgICAg
Rm91ckJ5dGVSZWFsID0gc2VsZWN0ZWRfcmVhbF9raW5kKFAgPSAgNiwgUiA9ICAzNyksICYK
ICAgICAgICAgICAgICAgICAgICAgICBFaWdodEJ5dGVSZWFsID0gc2VsZWN0ZWRfcmVhbF9r
aW5kKFAgPSAxMywgUiA9IDMwNykKY29udGFpbnMKICBsb2dpY2FsIGZ1bmN0aW9uIGJ5dGVT
aXplc09LKCkKICAhIFVzZXJzIG1heSBjYWxsIHRoaXMgZnVuY3Rpb24gb25jZSB0byBlbnN1
cmUgdGhhdCB0aGUga2luZCBwYXJhbWV0ZXJzIAogICEgICB0aGUgbW9kdWxlIGRlZmluZXMg
YXJlIGF2YWlsYWJsZSB3aXRoIHRoZSBjdXJyZW50IGNvbXBpbGVyLiAKICAhIFdlIGNhbid0
IGVuc3VyZSB0aGF0IHRoZSB0d28gUkVBTCBraW5kcyBhcmUgYWN0dWFsbHkgZm91ciBhbmQg
CiAgISAgIGVpZ2h0IGJ5dGVzIGxvbmcsIGJ1dCB3ZSBjYW4gZW5zdXJlIHRoYXQgdGhleSBh
cmUgZGlzdGluY3QuIAogICEgRWFybHkgRm9ydHJhbiA5MCBjb21waWxlcnMgd291bGQgc29t
ZXRpbWVzIHJlcG9ydCBpbmNvcnJlY3QgcmVzdWx0cyBmb3IgCiAgISAgIHRoZSBiaXRfc2l6
ZSBpbnRyaW5zaWMsIGJ1dCBJIGhhdmVuJ3Qgc2VlbiB0aGlzIGluIGEgbG9uZyB0aW1lLiAK
CiAgICAhIExvY2FsIHZhcmlhYmxlcwogICAgaW50ZWdlciAoa2luZCA9ICBPbmVCeXRlSW50
KSA6OiBPbmUKICAgIGludGVnZXIgKGtpbmQgPSAgVHdvQnl0ZUludCkgOjogVHdvCiAgICBp
bnRlZ2VyIChraW5kID0gRm91ckJ5dGVJbnQpIDo6IEZvdXIKCiAgICBpZiAoYml0X3NpemUo
IE9uZSkgPT0gOCAgLmFuZC4gYml0X3NpemUoIFR3bykgPT0gMTYgLmFuZC4gICYKICAgICAg
ICBiaXRfc2l6ZShGb3VyKSA9PSAzMiAuYW5kLiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgJgogICAgICAgIEZvdXJCeXRlUmVhbCA+IDAgLmFuZC4gRWlnaHRCeXRlUmVhbCA+IDAg
LmFuZC4gJgogICAgICAgIEZvdXJCeXRlUmVhbCAvPSBFaWdodEJ5dGVSZWFsKSB0aGVuCiAg
ICAgIGJ5dGVTaXplc09LID0gLnRydWUuCiAgICBlbHNlCiAgICAgIGJ5dGVTaXplc09LID0g
LmZhbHNlLgogICAgZW5kIGlmCiAgZW5kIGZ1bmN0aW9uIGJ5dGVTaXplc09LCmVuZCBtb2R1
bGUgdHlwZVNpemVzCg==


--12.Oct.2003mysteryboxofun
Content-Type: application/octet-stream; name="netcdf.f90"
Content-Description: /data/zender/tmp/netcdf-3.5.1-beta10/src/f90/netcdf.f90
Content-Transfer-Encoding: base64

ISBEZXNjcmlwdGlvbjoKISAgCiEgSW5wdXQgUGFyYW1ldGVyczoKISAgIE5vbmUuCiEKISBP
dXRwdXQgUGFyYW1ldGVyczoKISAgIE1hbnkgcHVibGljIGNvbnN0YW50cyBhcmUgZGVmaW5l
ZCBpbiAibmV0Y2RmX2NvbnN0YW50cy5mOTAiLiBUaGUgbmFtZXMgZm9sbG93IAohICAgICB0
aGUgRm9ydHJhbiA3NyBuYW1lcywgd2l0aCBuZjkwXyB1c2VkIGFzIGEgcHJlZml4IGluc3Rl
YWQgb2YgbmZfNzcuIAohICAgRnVuY3Rpb25zIGFyZSBtYWRlIGFjY2Vzc2FibGUgdGhyb3Vn
aCBQVUJMSUM6OiBzdGF0ZW1lbnRzIGluICJuZXRjZGZfdmlzaWJpbGl0eS5mOTAiLiAKISAg
ICAgT25seSB0aGUgZnVuY3Rpb25zIGxpc3RlZCBpbiB0aGlzIGZpbGUgYXJlIGF2YWlsYWJs
ZSBpbiB0aGUgaW50ZXJmYWNlLiAKIQohIFJlZmVyZW5jZXMgYW5kIENyZWRpdHM6CiEgICBX
cml0dGVuIGJ5CiEgICAgUm9iZXJ0IFBpbmN1cwohICAgIENvb3BlcmF0aXZlIEluc3RpdHVl
IGZvciBNZXRlb3JvbG9naWNhbCBTYXRlbGxpdGUgU3R1ZGllcwohICAgIFVuaXZlcnNpdHkg
b2YgV2lzY29uc2luIC0gTWFkaXNvbgohICAgIDEyMjUgVy4gRGF5dG9uIFN0LiAKISAgICBN
YWRpc29uLCBXaXNjb25zaW4gNTM3MDYKISAgICBSb2JlcnQuUGluY3VzQHNzZWMud2lzYy5l
ZHUKIQohIERlc2lnbiBOb3RlczoKISAgIE1vZHVsZSBlbGVtZW50cyBhcmUgcHJpdmF0ZSBi
eSBkZWZhdWx0LiAKISAgIE1hbnkgZnVuY3Rpb25zIGhhdmUgb3B0aW9uYWwgYXJndW1lbnRz
LiBJbiBvcmRlciB0byBrZWVwIHRoZSBpbnRlcmZhY2UgZWFzeSB0byB1c2UsIAohICAgICB3
ZSd2ZSByZW9yZGVyZWQgdGhlIGFyZ3VtZW50cyAocmVsYXRpdmUgdG8gdGhlIEY3NyBpbnRl
cmZhY2UpIGluIHNvbWUgZnVuY3Rpb25zLiAKISAgIFRoZSBleHRlcm5hbCBkYXRhdHlwZSBv
ZiBhdHRyaWJ1dGVzIGlzIHRoZSBzYW1lIGFzIHRoZSBpbnRlcm5hbCB0eXBlLiAKISAgIEJ5
IGRlZmF1bHQsIGRhdGEgaXMgcmVhZCBmcm9tIG9yIHB1dCBpbnRvIHRoZSBsb3dlc3QgcGFy
dCBvZiB0aGUgbmV0Q0RGIGFycmF5IHdpdGggc3RyaWRlIDEuIAohICAgV2UndmUgbWFkZSBo
ZWF2eSB1c2Ugb2Ygb3ZlcmxvYWRpbmcsIGVzcGVjaWFsbHkgaW4gdGhlIHZhcmlhYmxlIHB1
dCBhbmQgZ2V0IHJvdXRpbmVzLiAKISAgICAgQSBzaW5nbGUgZnVuY3Rpb24gZXhpc3RzIGZv
ciBwdXR0aW5nIGFsbCB2YXJpYWJsZXM7IGEgc2luZ2xlIGZ1bmN0aW9uIGV4aXN0cyBmb3Ig
Z2V0dGluZyAKISAgICAgdmFyaWFibGVzLiAKISAgIFRleHQgdmFyaWFibGVzIG11c3QgYmUg
dHJlYXRlZCBzb21ld2hhdCBkaWZmZXJlbnRseS4gV2hlbiBhIGNoYXJhY3RlciB2YXJpYWJs
ZSBpcyBkZWZpbmVkLCB0aGUKISAgICAgZmFzdGVzdC12YXJ5aW5nIGluZGV4IChmaXJzdCBp
bmRleCBpbiBGb3J0cmFuKSBtdXN0IGJlIHRoZSBtYXhpdW11IGxlbmd0aCBvZiB0aGUgY2hh
cmFjdGVyIAohICAgICBzdHJpbmcuIE4gZGltZW5zaW9uYWwgYXJyYXlzIG9mIHN0cmluZ3Mg
cGFzc2VkIHRvIHRoZSBwdXQgb3IgZ2V0IGZ1bmN0aW9ucyBhcmUgd3JpdHRlbi9yZWFkCiEg
ICAgIGZyb20gZGltZW5zaW9ucyAyOk4rMS4gVGhlIG51bWJlciBvZiB2YWx1ZXMgYWxvbmcg
dGhlIGZpcnN0IGRpbWVuc2lvbiBpcyBkZXRlcm1pbmVkIGJ5IHRoZQohICAgICBsZW5ndGgg
b2YgdGhlIGFyZ3VtZW50IGNoYXJhY3RlciBzdHJpbmcuIAohCiBtb2R1bGUgbmV0Y2RmCiAg
dXNlIHR5cGVTaXplcywgb25seTogT25lQnl0ZUludCwgVHdvQnl0ZUludCwgRm91ckJ5dGVJ
bnQsIEVpZ2h0Qnl0ZUludCwgJgogICAgICAgICAgICAgICAgICAgICAgIEZvdXJCeXRlUmVh
bCwgRWlnaHRCeXRlUmVhbAogIGltcGxpY2l0IG5vbmUKICBwcml2YXRlCiAgCiAgaW5jbHVk
ZSAibmV0Y2RmX2NvbnN0YW50cy5mOTAiCiAgaW5jbHVkZSAibmV0Y2RmX2V4dGVybmFscy5m
OTAiCiAgaW5jbHVkZSAibmV0Y2RmX292ZXJsb2Fkcy5mOTAiCiAgaW5jbHVkZSAibmV0Y2Rm
X3Zpc2liaWxpdHkuZjkwIgpjb250YWlucwogIGluY2x1ZGUgIm5ldGNkZl9maWxlLmY5MCIK
ICBpbmNsdWRlICJuZXRjZGZfZGltcy5mOTAiCiAgaW5jbHVkZSAibmV0Y2RmX2F0dHJpYnV0
ZXMuZjkwIgogIGluY2x1ZGUgIm5ldGNkZl92YXJpYWJsZXMuZjkwIgogIGluY2x1ZGUgIm5l
dGNkZl90ZXh0X3ZhcmlhYmxlcy5mOTAiCiAgaW5jbHVkZSAibmV0Y2RmX2V4cGFuZGVkLmY5
MCIKZW5kIG1vZHVsZSBuZXRjZGYK


--12.Oct.2003mysteryboxofun
Content-Type: application/octet-stream; name="netcdf_expanded.f90"
Content-Description: /data/zender/tmp/netcdf-3.5.1-beta10/src/f90/netcdf_expanded.f90
Content-Transfer-Encoding: base64

CgoKCgoKICAgZnVuY3Rpb24gbmY5MF9wdXRfdmFyX09uZUJ5dGVJbnQobmNpZCwgdmFyaWQs
IHZhbHVlcywgc3RhcnQpCiAgICAgaW50ZWdlciwgICAgICAgICAgICAgICAgICAgICAgICAg
aW50ZW50KCBpbikgOjogbmNpZCwgdmFyaWQKICAgICBpbnRlZ2VyIChraW5kID0gT25lQnl0
ZUludCksIGludGVudCggaW4pIDo6IHZhbHVlcwogICAgIGludGVnZXIsIGRpbWVuc2lvbig6
KSwgb3B0aW9uYWwsIGludGVudCggaW4pIDo6IHN0YXJ0CiAgICAgaW50ZWdlciAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOjogbmY5MF9wdXRfdmFyX09uZUJ5dGVJ
bnQKIAogICAgIGludGVnZXIsIGRpbWVuc2lvbihuZjkwX21heF92YXJfZGltcykgOjogbG9j
YWxJbmRleAogICAgIGludGVnZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOjog
Y291bnRlcgogCiAgICAgISBTZXQgbG9jYWwgYXJndW1lbnRzIHRvIGRlZmF1bHQgdmFsdWVz
CiAgICAgbG9jYWxJbmRleCg6KSA9IDEKICAgICBpZihwcmVzZW50KHN0YXJ0KSkgbG9jYWxJ
bmRleCg6c2l6ZShzdGFydCkpID0gc3RhcnQoOikKIAogICAgIG5mOTBfcHV0X3Zhcl9PbmVC
eXRlSW50ID0gbmZfcHV0X3ZhcjFfaW50MShuY2lkLCB2YXJpZCwgbG9jYWxJbmRleCwgdmFs
dWVzKQogICBlbmQgZnVuY3Rpb24gbmY5MF9wdXRfdmFyX09uZUJ5dGVJbnQKCgogICBmdW5j
dGlvbiBuZjkwX3B1dF92YXJfVHdvQnl0ZUludChuY2lkLCB2YXJpZCwgdmFsdWVzLCBzdGFy
dCkKICAgICBpbnRlZ2VyLCAgICAgICAgICAgICAgICAgICAgICAgICBpbnRlbnQoIGluKSA6
OiBuY2lkLCB2YXJpZAogICAgIGludGVnZXIgKGtpbmQgPSBUd29CeXRlSW50KSwgaW50ZW50
KCBpbikgOjogdmFsdWVzCiAgICAgaW50ZWdlciwgZGltZW5zaW9uKDopLCBvcHRpb25hbCwg
aW50ZW50KCBpbikgOjogc3RhcnQKICAgICBpbnRlZ2VyICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICA6OiBuZjkwX3B1dF92YXJfVHdvQnl0ZUludAogCiAgICAgaW50
ZWdlciwgZGltZW5zaW9uKG5mOTBfbWF4X3Zhcl9kaW1zKSA6OiBsb2NhbEluZGV4CiAgICAg
aW50ZWdlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6OiBjb3VudGVyCiAKICAg
ICAhIFNldCBsb2NhbCBhcmd1bWVudHMgdG8gZGVmYXVsdCB2YWx1ZXMKICAgICBsb2NhbElu
ZGV4KDopID0gMQogICAgIGlmKHByZXNlbnQoc3RhcnQpKSBsb2NhbEluZGV4KDpzaXplKHN0
YXJ0KSkgPSBzdGFydCg6KQogCiAgICAgbmY5MF9wdXRfdmFyX1R3b0J5dGVJbnQgPSBuZl9w
dXRfdmFyMV9pbnQyKG5jaWQsIHZhcmlkLCBsb2NhbEluZGV4LCB2YWx1ZXMpCiAgIGVuZCBm
dW5jdGlvbiBuZjkwX3B1dF92YXJfVHdvQnl0ZUludAoKCiAgIGZ1bmN0aW9uIG5mOTBfcHV0
X3Zhcl9Gb3VyQnl0ZUludChuY2lkLCB2YXJpZCwgdmFsdWVzLCBzdGFydCkKICAgICBpbnRl
Z2VyLCAgICAgICAgICAgICAgICAgICAgICAgICBpbnRlbnQoIGluKSA6OiBuY2lkLCB2YXJp
ZAogICAgIGludGVnZXIgKGtpbmQgPSBGb3VyQnl0ZUludCksIGludGVudCggaW4pIDo6IHZh
bHVlcwogICAgIGludGVnZXIsIGRpbWVuc2lvbig6KSwgb3B0aW9uYWwsIGludGVudCggaW4p
IDo6IHN0YXJ0CiAgICAgaW50ZWdlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgOjogbmY5MF9wdXRfdmFyX0ZvdXJCeXRlSW50CiAKICAgICBpbnRlZ2VyLCBkaW1l
bnNpb24obmY5MF9tYXhfdmFyX2RpbXMpIDo6IGxvY2FsSW5kZXgKICAgICBpbnRlZ2VyICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDo6IGNvdW50ZXIKIAogICAgICEgU2V0IGxv
Y2FsIGFyZ3VtZW50cyB0byBkZWZhdWx0IHZhbHVlcwogICAgIGxvY2FsSW5kZXgoOikgPSAx
CiAgICAgaWYocHJlc2VudChzdGFydCkpIGxvY2FsSW5kZXgoOnNpemUoc3RhcnQpKSA9IHN0
YXJ0KDopCiAKICAgICBuZjkwX3B1dF92YXJfRm91ckJ5dGVJbnQgPSBuZl9wdXRfdmFyMV9p
bnQobmNpZCwgdmFyaWQsIGxvY2FsSW5kZXgsIGludCh2YWx1ZXMpKQogICBlbmQgZnVuY3Rp
b24gbmY5MF9wdXRfdmFyX0ZvdXJCeXRlSW50CgoKICAgZnVuY3Rpb24gbmY5MF9wdXRfdmFy
X0VpZ2h0Qnl0ZUludChuY2lkLCB2YXJpZCwgdmFsdWVzLCBzdGFydCkKICAgICBpbnRlZ2Vy
LCAgICAgICAgICAgICAgICAgICAgICAgICBpbnRlbnQoIGluKSA6OiBuY2lkLCB2YXJpZAog
ICAgIGludGVnZXIgKGtpbmQgPSBFaWdodEJ5dGVJbnQpLCBpbnRlbnQoIGluKSA6OiB2YWx1
ZXMKICAgICBpbnRlZ2VyLCBkaW1lbnNpb24oOiksIG9wdGlvbmFsLCBpbnRlbnQoIGluKSA6
OiBzdGFydAogICAgIGludGVnZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIDo6IG5mOTBfcHV0X3Zhcl9FaWdodEJ5dGVJbnQKIAogICAgIGludGVnZXIsIGRpbWVu
c2lvbihuZjkwX21heF92YXJfZGltcykgOjogbG9jYWxJbmRleAogICAgIGludGVnZXIgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgOjogY291bnRlcgogCiAgICAgISBTZXQgbG9j
YWwgYXJndW1lbnRzIHRvIGRlZmF1bHQgdmFsdWVzCiAgICAgbG9jYWxJbmRleCg6KSA9IDEK
ICAgICBpZihwcmVzZW50KHN0YXJ0KSkgbG9jYWxJbmRleCg6c2l6ZShzdGFydCkpID0gc3Rh
cnQoOikKIAogICAgIG5mOTBfcHV0X3Zhcl9FaWdodEJ5dGVJbnQgPSBuZl9wdXRfdmFyMV9p
bnQobmNpZCwgdmFyaWQsIGxvY2FsSW5kZXgsIGludCh2YWx1ZXMpKQogICBlbmQgZnVuY3Rp
b24gbmY5MF9wdXRfdmFyX0VpZ2h0Qnl0ZUludAoKCiAgIGZ1bmN0aW9uIG5mOTBfcHV0X3Zh
cl9Gb3VyQnl0ZVJlYWwobmNpZCwgdmFyaWQsIHZhbHVlcywgc3RhcnQpCiAgICAgaW50ZWdl
ciwgICAgICAgICAgICAgICAgICAgICAgICAgaW50ZW50KCBpbikgOjogbmNpZCwgdmFyaWQK
ICAgICByZWFsIChraW5kID0gRm91ckJ5dGVSZWFsKSwgaW50ZW50KCBpbikgOjogdmFsdWVz
CiAgICAgaW50ZWdlciwgZGltZW5zaW9uKDopLCBvcHRpb25hbCwgaW50ZW50KCBpbikgOjog
c3RhcnQKICAgICBpbnRlZ2VyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICA6OiBuZjkwX3B1dF92YXJfRm91ckJ5dGVSZWFsCiAKICAgICBpbnRlZ2VyLCBkaW1lbnNp
b24obmY5MF9tYXhfdmFyX2RpbXMpIDo6IGxvY2FsSW5kZXgKICAgICBpbnRlZ2VyICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIDo6IGNvdW50ZXIKIAogICAgICEgU2V0IGxvY2Fs
IGFyZ3VtZW50cyB0byBkZWZhdWx0IHZhbHVlcwogICAgIGxvY2FsSW5kZXgoOikgPSAxCiAg
ICAgaWYocHJlc2VudChzdGFydCkpIGxvY2FsSW5kZXgoOnNpemUoc3RhcnQpKSA9IHN0YXJ0
KDopCiAKICAgICBuZjkwX3B1dF92YXJfRm91ckJ5dGVSZWFsID0gbmZfcHV0X3ZhcjFfcmVh
bChuY2lkLCB2YXJpZCwgbG9jYWxJbmRleCwgdmFsdWVzKQogICBlbmQgZnVuY3Rpb24gbmY5
MF9wdXRfdmFyX0ZvdXJCeXRlUmVhbAoKCiAgIGZ1bmN0aW9uIG5mOTBfcHV0X3Zhcl9FaWdo
dEJ5dGVSZWFsKG5jaWQsIHZhcmlkLCB2YWx1ZXMsIHN0YXJ0KQogICAgIGludGVnZXIsICAg
ICAgICAgICAgICAgICAgICAgICAgIGludGVudCggaW4pIDo6IG5jaWQsIHZhcmlkCiAgICAg
cmVhbCAoa2luZCA9IEVpZ2h0Qnl0ZVJlYWwpLCBpbnRlbnQoIGluKSA6OiB2YWx1ZXMKICAg
ICBpbnRlZ2VyLCBkaW1lbnNpb24oOiksIG9wdGlvbmFsLCBpbnRlbnQoIGluKSA6OiBzdGFy
dAogICAgIGludGVnZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDo6
IG5mOTBfcHV0X3Zhcl9FaWdodEJ5dGVSZWFsCiAKICAgICBpbnRlZ2VyLCBkaW1lbnNpb24o
bmY5MF9tYXhfdmFyX2RpbXMpIDo6IGxvY2FsSW5kZXgKICAgICBpbnRlZ2VyICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIDo6IGNvdW50ZXIKIAogICAgICEgU2V0IGxvY2FsIGFy
Z3VtZW50cyB0byBkZWZhdWx0IHZhbHVlcwogICAgIGxvY2FsSW5kZXgoOikgPSAxCiAgICAg
aWYocHJlc2VudChzdGFydCkpIGxvY2FsSW5kZXgoOnNpemUoc3RhcnQpKSA9IHN0YXJ0KDop
CiAKICAgICBuZjkwX3B1dF92YXJfRWlnaHRCeXRlUmVhbCA9IG5mX3B1dF92YXIxX2RvdWJs
ZShuY2lkLCB2YXJpZCwgbG9jYWxJbmRleCwgdmFsdWVzKQogICBlbmQgZnVuY3Rpb24gbmY5
MF9wdXRfdmFyX0VpZ2h0Qnl0ZVJlYWwKCgogICBmdW5jdGlvbiBuZjkwX2dldF92YXJfT25l
Qnl0ZUludChuY2lkLCB2YXJpZCwgdmFsdWVzLCBzdGFydCkKICAgICBpbnRlZ2VyLCAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnRlbnQoIGluKSA6OiBuY2lkLCB2YXJpZAogICAgIGlu
dGVnZXIgKGtpbmQgPSBPbmVCeXRlSW50KSwgaW50ZW50KG91dCkgOjogdmFsdWVzCiAgICAg
aW50ZWdlciwgZGltZW5zaW9uKDopLCBvcHRpb25hbCwgaW50ZW50KCBpbikgOjogc3RhcnQK
ICAgICBpbnRlZ2VyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6OiBu
ZjkwX2dldF92YXJfT25lQnl0ZUludAogCiAgICAgaW50ZWdlciwgZGltZW5zaW9uKG5mOTBf
bWF4X3Zhcl9kaW1zKSA6OiBsb2NhbEluZGV4CiAgICAgaW50ZWdlciAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICA6OiBjb3VudGVyCiAKICAgICAhIFNldCBsb2NhbCBhcmd1bWVu
dHMgdG8gZGVmYXVsdCB2YWx1ZXMKICAgICBsb2NhbEluZGV4KDopID0gMQogICAgIGlmKHBy
ZXNlbnQoc3RhcnQpKSBsb2NhbEluZGV4KDpzaXplKHN0YXJ0KSkgPSBzdGFydCg6KQogCiAg
ICAgbmY5MF9nZXRfdmFyX09uZUJ5dGVJbnQgPSBuZl9nZXRfdmFyMV9pbnQxKG5jaWQsIHZh
cmlkLCBsb2NhbEluZGV4LCB2YWx1ZXMpCiAgIGVuZCBmdW5jdGlvbiBuZjkwX2dldF92YXJf
T25lQnl0ZUludAoKCiAgIGZ1bmN0aW9uIG5mOTBfZ2V0X3Zhcl9Ud29CeXRlSW50KG5jaWQs
IHZhcmlkLCB2YWx1ZXMsIHN0YXJ0KQogICAgIGludGVnZXIsICAgICAgICAgICAgICAgICAg
ICAgICAgIGludGVudCggaW4pIDo6IG5jaWQsIHZhcmlkCiAgICAgaW50ZWdlciAoa2luZCA9
IFR3b0J5dGVJbnQpLCBpbnRlbnQob3V0KSA6OiB2YWx1ZXMKICAgICBpbnRlZ2VyLCBkaW1l
bnNpb24oOiksIG9wdGlvbmFsLCBpbnRlbnQoIGluKSA6OiBzdGFydAogICAgIGludGVnZXIg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDo6IG5mOTBfZ2V0X3Zhcl9U
d29CeXRlSW50CiAKICAgICBpbnRlZ2VyLCBkaW1lbnNpb24obmY5MF9tYXhfdmFyX2RpbXMp
IDo6IGxvY2FsSW5kZXgKICAgICBpbnRlZ2VyICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIDo6IGNvdW50ZXIKIAogICAgICEgU2V0IGxvY2FsIGFyZ3VtZW50cyB0byBkZWZhdWx0
IHZhbHVlcwogICAgIGxvY2FsSW5kZXgoOikgPSAxCiAgICAgaWYocHJlc2VudChzdGFydCkp
IGxvY2FsSW5kZXgoOnNpemUoc3RhcnQpKSA9IHN0YXJ0KDopCiAKICAgICBuZjkwX2dldF92
YXJfVHdvQnl0ZUludCA9IG5mX2dldF92YXIxX2ludDIobmNpZCwgdmFyaWQsIGxvY2FsSW5k
ZXgsIHZhbHVlcykKICAgZW5kIGZ1bmN0aW9uIG5mOTBfZ2V0X3Zhcl9Ud29CeXRlSW50CgoK
ICAgZnVuY3Rpb24gbmY5MF9nZXRfdmFyX0ZvdXJCeXRlSW50KG5jaWQsIHZhcmlkLCB2YWx1
ZXMsIHN0YXJ0KQogICAgIGludGVnZXIsICAgICAgICAgICAgICAgICAgICAgICAgIGludGVu
dCggaW4pIDo6IG5jaWQsIHZhcmlkCiAgICAgaW50ZWdlciAoa2luZCA9IEZvdXJCeXRlSW50
KSwgaW50ZW50KG91dCkgOjogdmFsdWVzCiAgICAgaW50ZWdlciwgZGltZW5zaW9uKDopLCBv
cHRpb25hbCwgaW50ZW50KCBpbikgOjogc3RhcnQKICAgICBpbnRlZ2VyICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICA6OiBuZjkwX2dldF92YXJfRm91ckJ5dGVJbnQK
IAogICAgIGludGVnZXIsIGRpbWVuc2lvbihuZjkwX21heF92YXJfZGltcykgOjogbG9jYWxJ
bmRleAogICAgIGludGVnZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOjogY291
bnRlcgogICAgIGludGVnZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOjogZGVm
YXVsdEludGVnZXIKICAgICAKICAgICAhIFNldCBsb2NhbCBhcmd1bWVudHMgdG8gZGVmYXVs
dCB2YWx1ZXMKICAgICBsb2NhbEluZGV4KDopID0gMQogICAgIGlmKHByZXNlbnQoc3RhcnQp
KSBsb2NhbEluZGV4KDpzaXplKHN0YXJ0KSkgPSBzdGFydCg6KQogCiAgICAgbmY5MF9nZXRf
dmFyX0ZvdXJCeXRlSW50ID0gbmZfZ2V0X3ZhcjFfaW50KG5jaWQsIHZhcmlkLCBsb2NhbElu
ZGV4LCBkZWZhdWx0SW50ZWdlcikKICAgICB2YWx1ZXMgPSBkZWZhdWx0SW50ZWdlcgogICBl
bmQgZnVuY3Rpb24gbmY5MF9nZXRfdmFyX0ZvdXJCeXRlSW50CgoKICAgZnVuY3Rpb24gbmY5
MF9nZXRfdmFyX0VpZ2h0Qnl0ZUludChuY2lkLCB2YXJpZCwgdmFsdWVzLCBzdGFydCkKICAg
ICBpbnRlZ2VyLCAgICAgICAgICAgICAgICAgICAgICAgICBpbnRlbnQoIGluKSA6OiBuY2lk
LCB2YXJpZAogICAgIGludGVnZXIgKGtpbmQgPSBFaWdodEJ5dGVJbnQpLCBpbnRlbnQob3V0
KSA6OiB2YWx1ZXMKICAgICBpbnRlZ2VyLCBkaW1lbnNpb24oOiksIG9wdGlvbmFsLCBpbnRl
bnQoIGluKSA6OiBzdGFydAogICAgIGludGVnZXIgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIDo6IG5mOTBfZ2V0X3Zhcl9FaWdodEJ5dGVJbnQKIAogICAgIGludGVn
ZXIsIGRpbWVuc2lvbihuZjkwX21heF92YXJfZGltcykgOjogbG9jYWxJbmRleAogICAgIGlu
dGVnZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOjogY291bnRlcgogICAgIGlu
dGVnZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOjogZGVmYXVsdEludGVnZXIK
ICAgICAKICAgICAhIFNldCBsb2NhbCBhcmd1bWVudHMgdG8gZGVmYXVsdCB2YWx1ZXMKICAg
ICBsb2NhbEluZGV4KDopID0gMQogICAgIGlmKHByZXNlbnQoc3RhcnQpKSBsb2NhbEluZGV4
KDpzaXplKHN0YXJ0KSkgPSBzdGFydCg6KQogCiAgICAgbmY5MF9nZXRfdmFyX0VpZ2h0Qnl0
ZUludCA9IG5mX2dldF92YXIxX2ludChuY2lkLCB2YXJpZCwgbG9jYWxJbmRleCwgZGVmYXVs
dEludGVnZXIpCiAgICAgdmFsdWVzID0gZGVmYXVsdEludGVnZXIKICAgZW5kIGZ1bmN0aW9u
IG5mOTBfZ2V0X3Zhcl9FaWdodEJ5dGVJbnQKCgogICBmdW5jdGlvbiBuZjkwX2dldF92YXJf
Rm91ckJ5dGVSZWFsKG5jaWQsIHZhcmlkLCB2YWx1ZXMsIHN0YXJ0KQogICAgIGludGVnZXIs
ICAgICAgICAgICAgICAgICAgICAgICAgIGludGVudCggaW4pIDo6IG5jaWQsIHZhcmlkCiAg
ICAgcmVhbCAoa2luZCA9IEZvdXJCeXRlUmVhbCksIGludGVudChvdXQpIDo6IHZhbHVlcwog
ICAgIGludGVnZXIsIGRpbWVuc2lvbig6KSwgb3B0aW9uYWwsIGludGVudCggaW4pIDo6IHN0
YXJ0CiAgICAgaW50ZWdlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
OjogbmY5MF9nZXRfdmFyX0ZvdXJCeXRlUmVhbAogCiAgICAgaW50ZWdlciwgZGltZW5zaW9u
KG5mOTBfbWF4X3Zhcl9kaW1zKSA6OiBsb2NhbEluZGV4CiAgICAgaW50ZWdlciAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICA6OiBjb3VudGVyCiAKICAgICAhIFNldCBsb2NhbCBh
cmd1bWVudHMgdG8gZGVmYXVsdCB2YWx1ZXMKICAgICBsb2NhbEluZGV4KDopID0gMQogICAg
IGlmKHByZXNlbnQoc3RhcnQpKSBsb2NhbEluZGV4KDpzaXplKHN0YXJ0KSkgPSBzdGFydCg6
KQogCiAgICAgbmY5MF9nZXRfdmFyX0ZvdXJCeXRlUmVhbCA9IG5mX2dldF92YXIxX3JlYWwo
bmNpZCwgdmFyaWQsIGxvY2FsSW5kZXgsIHZhbHVlcykKICAgZW5kIGZ1bmN0aW9uIG5mOTBf
Z2V0X3Zhcl9Gb3VyQnl0ZVJlYWwKCgogICBmdW5jdGlvbiBuZjkwX2dldF92YXJfRWlnaHRC
eXRlUmVhbChuY2lkLCB2YXJpZCwgdmFsdWVzLCBzdGFydCkKICAgICBpbnRlZ2VyLCAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnRlbnQoIGluKSA6OiBuY2lkLCB2YXJpZAogICAgIHJl
YWwgKGtpbmQgPSBFaWdodEJ5dGVSZWFsKSwgaW50ZW50KG91dCkgOjogdmFsdWVzCiAgICAg
aW50ZWdlciwgZGltZW5zaW9uKDopLCBvcHRpb25hbCwgaW50ZW50KCBpbikgOjogc3RhcnQK
ICAgICBpbnRlZ2VyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6OiBu
ZjkwX2dldF92YXJfRWlnaHRCeXRlUmVhbAogCiAgICAgaW50ZWdlciwgZGltZW5zaW9uKG5m
OTBfbWF4X3Zhcl9kaW1zKSA6OiBsb2NhbEluZGV4CiAgICAgaW50ZWdlciAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICA6OiBjb3VudGVyCiAKICAgICAhIFNldCBsb2NhbCBhcmd1
bWVudHMgdG8gZGVmYXVsdCB2YWx1ZXMKICAgICBsb2NhbEluZGV4KDopID0gMQogICAgIGlm
KHByZXNlbnQoc3RhcnQpKSBsb2NhbEluZGV4KDpzaXplKHN0YXJ0KSkgPSBzdGFydCg6KQog
CiAgICAgbmY5MF9nZXRfdmFyX0VpZ2h0Qnl0ZVJlYWwgPSBuZl9nZXRfdmFyMV9kb3VibGUo
bmNpZCwgdmFyaWQsIGxvY2FsSW5kZXgsIHZhbHVlcykKICAgZW5kIGZ1bmN0aW9uIG5mOTBf
Z2V0X3Zhcl9FaWdodEJ5dGVSZWFsCgoKCiAgIGZ1bmN0aW9uIG5mOTBfcHV0X3Zhcl8xRF9P
bmVCeXRlSW50KG5jaWQsIHZhcmlkLCB2YWx1ZXMsIHN0YXJ0LCBjb3VudCwgc3RyaWRlLCBt
YXApCiAgICAgaW50ZWdlciwgICAgICAgICAgICAgICAgICAgICAgICAgaW50ZW50KCBpbikg
OjogbmNpZCwgdmFyaWQKICAgICBpbnRlZ2VyIChraW5kID0gT25lQnl0ZUludCksIGRpbWVu
c2lvbig6KSwgJgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludGVu
dCggaW4pIDo6IHZhbHVlcwogICAgIGludGVnZXIsIGRpbWVuc2lvbig6KSwgb3B0aW9uYWws
IGludGVudCggaW4pIDo6IHN0YXJ0LCBjb3VudCwgc3RyaWRlLCBtYXAKICAgICBpbnRlZ2Vy
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6OiBuZjkwX3B1dF92YXJf
MURfT25lQnl0ZUludAogCiAgICAgaW50ZWdlciwgZGltZW5zaW9uKG5mOTBfbWF4X3Zhcl9k
aW1zKSA6OiBsb2NhbFN0YXJ0LCBsb2NhbENvdW50LCBsb2NhbFN0cmlkZSwgbG9jYWxNYXAK
ICAgICBpbnRlZ2VyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDo6IG51bURpbXMs
IGNvdW50ZXIKIAogICAgICEgU2V0IGxvY2FsIGFyZ3VtZW50cyB0byBkZWZhdWx0IHZhbHVl
cwogICAgIG51bURpbXMgICAgICAgICAgICAgICAgID0gc2l6ZShzaGFwZSh2YWx1ZXMpKQog
ICAgIGxvY2FsU3RhcnQgKDogICAgICAgICApID0gMQogICAgIGxvY2FsQ291bnQgKDpudW1E
aW1zICApID0gc2hhcGUodmFsdWVzKQogICAgIGxvY2FsQ291bnQgKG51bURpbXMrMTopID0g
MQogICAgIGxvY2FsU3RyaWRlKDogICAgICAgICApID0gMQogICAgIGxvY2FsTWFwICAgKDpu
dW1EaW1zICApID0gKC8gMSwgKHByb2R1Y3QobG9jYWxDb3VudCg6Y291bnRlcikpLCBjb3Vu
dGVyID0gMSwgbnVtRGltcyAtIDEpIC8pCiAKICAgICBpZihwcmVzZW50KHN0YXJ0KSkgIGxv
Y2FsU3RhcnQgKDpzaXplKHN0YXJ0KSApICA9IHN0YXJ0KDopCiAgICAgaWYocHJlc2VudChj
b3VudCkpICBsb2NhbENvdW50ICg6c2l6ZShjb3VudCkgKSAgPSBjb3VudCg6KQogICAgIGlm
KHByZXNlbnQoc3RyaWRlKSkgbG9jYWxTdHJpZGUoOnNpemUoc3RyaWRlKSkgPSBzdHJpZGUo
OikKICAgICBpZihwcmVzZW50KG1hcCkpICB0aGVuCiAgICAgICBsb2NhbE1hcCAgICg6c2l6
ZShtYXApKSAgICA9IG1hcCg6KQogICAgICAgbmY5MF9wdXRfdmFyXzFEX09uZUJ5dGVJbnQg
PSAmCiAgICAgICAgICBuZl9wdXRfdmFybV9pbnQxKG5jaWQsIHZhcmlkLCBsb2NhbFN0YXJ0
LCBsb2NhbENvdW50LCBsb2NhbFN0cmlkZSwgbG9jYWxNYXAsIHZhbHVlcykKICAgICBlbHNl
CiAgICAgICBuZjkwX3B1dF92YXJfMURfT25lQnl0ZUludCA9ICYKICAgICAgICAgIG5mX3B1
dF92YXJzX2ludDEobmNpZCwgdmFyaWQsIGxvY2FsU3RhcnQsIGxvY2FsQ291bnQsIGxvY2Fs
U3RyaWRlLCB2YWx1ZXMpCiAgICAgZW5kIGlmCiAgIGVuZCBmdW5jdGlvbiBuZjkwX3B1dF92
YXJfMURfT25lQnl0ZUludAoKCiAgIGZ1bmN0aW9uIG5mOTBfcHV0X3Zhcl8yRF9PbmVCeXRl
SW50KG5jaWQsIHZhcmlkLCB2YWx1ZXMsIHN0YXJ0LCBjb3VudCwgc3RyaWRlLCBtYXApCiAg
ICAgaW50ZWdlciwgICAgICAgICAgICAgICAgICAgICAgICAgaW50ZW50KCBpbikgOjogbmNp
ZCwgdmFyaWQKICAgICBpbnRlZ2VyIChraW5kID0gT25lQnl0ZUludCksIGRpbWVuc2lvbig6
LCA6KSwgJgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludGVudCgg
aW4pIDo6IHZhbHVlcwogICAgIGludGVnZXIsIGRpbWVuc2lvbig6KSwgb3B0aW9uYWwsIGlu
dGVudCggaW4pIDo6IHN0YXJ0LCBjb3VudCwgc3RyaWRlLCBtYXAKICAgICBpbnRlZ2VyICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6OiBuZjkwX3B1dF92YXJfMkRf
T25lQnl0ZUludAogCiAgICAgaW50ZWdlciwgZGltZW5zaW9uKG5mOTBfbWF4X3Zhcl9kaW1z
KSA6OiBsb2NhbFN0YXJ0LCBsb2NhbENvdW50LCBsb2NhbFN0cmlkZSwgbG9jYWxNYXAKICAg
ICBpbnRlZ2VyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDo6IG51bURpbXMsIGNv
dW50ZXIKIAogICAgICEgU2V0IGxvY2FsIGFyZ3VtZW50cyB0byBkZWZhdWx0IHZhbHVlcwog
ICAgIG51bURpbXMgICAgICAgICAgICAgICAgID0gc2l6ZShzaGFwZSh2YWx1ZXMpKQogICAg
IGxvY2FsU3RhcnQgKDogICAgICAgICApID0gMQogICAgIGxvY2FsQ291bnQgKDpudW1EaW1z
ICApID0gc2hhcGUodmFsdWVzKQogICAgIGxvY2FsQ291bnQgKG51bURpbXMrMTopID0gMQog
ICAgIGxvY2FsU3RyaWRlKDogICAgICAgICApID0gMQogICAgIGxvY2FsTWFwICAgKDpudW1E
aW1zICApID0gKC8gMSwgKHByb2R1Y3QobG9jYWxDb3VudCg6Y291bnRlcikpLCBjb3VudGVy
ID0gMSwgbnVtRGltcyAtIDEpIC8pCiAKICAgICBpZihwcmVzZW50KHN0YXJ0KSkgIGxvY2Fs
U3RhcnQgKDpzaXplKHN0YXJ0KSApICA9IHN0YXJ0KDopCiAgICAgaWYocHJlc2VudChjb3Vu
dCkpICBsb2NhbENvdW50ICg6c2l6ZShjb3VudCkgKSAgPSBjb3VudCg6KQogICAgIGlmKHBy
ZXNlbnQoc3RyaWRlKSkgbG9jYWxTdHJpZGUoOnNpemUoc3RyaWRlKSkgPSBzdHJpZGUoOikK
ICAgICBpZihwcmVzZW50KG1hcCkpICB0aGVuCiAgICAgICBsb2NhbE1hcCAgICg6c2l6ZSht
YXApKSAgICA9IG1hcCg6KQogICAgICAgbmY5MF9wdXRfdmFyXzJEX09uZUJ5dGVJbnQgPSAm
CiAgICAgICAgICBuZl9wdXRfdmFybV9pbnQxKG5jaWQsIHZhcmlkLCBsb2NhbFN0YXJ0LCBs
b2NhbENvdW50LCBsb2NhbFN0cmlkZSwgbG9jYWxNYXAsIHZhbHVlcykKICAgICBlbHNlCiAg
ICAgICBuZjkwX3B1dF92YXJfMkRfT25lQnl0ZUludCA9ICYKICAgICAgICAgIG5mX3B1dF92
YXJzX2ludDEobmNpZCwgdmFyaWQsIGxvY2FsU3RhcnQsIGxvY2FsQ291bnQsIGxvY2FsU3Ry
aWRlLCB2YWx1ZXMpCiAgICAgZW5kIGlmCiAgIGVuZCBmdW5jdGlvbiBuZjkwX3B1dF92YXJf
MkRfT25lQnl0ZUludAoKCiAgIGZ1bmN0aW9uIG5mOTBfcHV0X3Zhcl8zRF9PbmVCeXRlSW50
KG5jaWQsIHZhcmlkLCB2YWx1ZXMsIHN0YXJ0LCBjb3VudCwgc3RyaWRlLCBtYXApCiAgICAg
aW50ZWdlciwgICAgICAgICAgICAgICAgICAgICAgICAgaW50ZW50KCBpbikgOjogbmNpZCwg
dmFyaWQKICAgICBpbnRlZ2VyIChraW5kID0gT25lQnl0ZUludCksIGRpbWVuc2lvbig6LCA6
LCA6KSwgJgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludGVudCgg
aW4pIDo6IHZhbHVlcwogICAgIGludGVnZXIsIGRpbWVuc2lvbig6KSwgb3B0aW9uYWwsIGlu
dGVudCggaW4pIDo6IHN0YXJ0LCBjb3VudCwgc3RyaWRlLCBtYXAKICAgICBpbnRlZ2VyICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6OiBuZjkwX3B1dF92YXJfM0Rf
T25lQnl0ZUludAogCiAgICAgaW50ZWdlciwgZGltZW5zaW9uKG5mOTBfbWF4X3Zhcl9kaW1z
KSA6OiBsb2NhbFN0YXJ0LCBsb2NhbENvdW50LCBsb2NhbFN0cmlkZSwgbG9jYWxNYXAKICAg
ICBpbnRlZ2VyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDo6IG51bURpbXMsIGNv
dW50ZXIKIAogICAgICEgU2V0IGxvY2FsIGFyZ3VtZW50cyB0byBkZWZhdWx0IHZhbHVlcwog
ICAgIG51bURpbXMgICAgICAgICAgICAgICAgID0gc2l6ZShzaGFwZSh2YWx1ZXMpKQogICAg
IGxvY2FsU3RhcnQgKDogICAgICAgICApID0gMQogICAgIGxvY2FsQ291bnQgKDpudW1EaW1z
ICApID0gc2hhcGUodmFsdWVzKQogICAgIGxvY2FsQ291bnQgKG51bURpbXMrMTopID0gMQog
ICAgIGxvY2FsU3RyaWRlKDogICAgICAgICApID0gMQogICAgIGxvY2FsTWFwICAgKDpudW1E
aW1zICApID0gKC8gMSwgKHByb2R1Y3QobG9jYWxDb3VudCg6Y291bnRlcikpLCBjb3VudGVy
ID0gMSwgbnVtRGltcyAtIDEpIC8pCiAKICAgICBpZihwcmVzZW50KHN0YXJ0KSkgIGxvY2Fs
U3RhcnQgKDpzaXplKHN0YXJ0KSApICA9IHN0YXJ0KDopCiAgICAgaWYocHJlc2VudChjb3Vu
dCkpICBsb2NhbENvdW50ICg6c2l6ZShjb3VudCkgKSAgPSBjb3VudCg6KQogICAgIGlmKHBy
ZXNlbnQoc3RyaWRlKSkgbG9jYWxTdHJpZGUoOnNpemUoc3RyaWRlKSkgPSBzdHJpZGUoOikK
ICAgICBpZihwcmVzZW50KG1hcCkpICB0aGVuCiAgICAgICBsb2NhbE1hcCAgICg6c2l6ZSht
YXApKSAgICA9IG1hcCg6KQogICAgICAgbmY5MF9wdXRfdmFyXzNEX09uZUJ5dGVJbnQgPSAm
CiAgICAgICAgICBuZl9wdXRfdmFybV9pbnQxKG5jaWQsIHZhcmlkLCBsb2NhbFN0YXJ0LCBs
b2NhbENvdW50LCBsb2NhbFN0cmlkZSwgbG9jYWxNYXAsIHZhbHVlcykKICAgICBlbHNlCiAg
ICAgICBuZjkwX3B1dF92YXJfM0RfT25lQnl0ZUludCA9ICYKICAgICAgICAgIG5mX3B1dF92
YXJzX2ludDEobmNpZCwgdmFyaWQsIGxvY2FsU3RhcnQsIGxvY2FsQ291bnQsIGxvY2FsU3Ry
aWRlLCB2YWx1ZXMpCiAgICAgZW5kIGlmCiAgIGVuZCBmdW5jdGlvbiBuZjkwX3B1dF92YXJf
M0RfT25lQnl0ZUludAoKCiAgIGZ1bmN0aW9uIG5mOTBfcHV0X3Zhcl80RF9PbmVCeXRlSW50
KG5jaWQsIHZhcmlkLCB2YWx1ZXMsIHN0YXJ0LCBjb3VudCwgc3RyaWRlLCBtYXApCiAgICAg
aW50ZWdlciwgICAgICAgICAgICAgICAgICAgICAgICAgaW50ZW50KCBpbikgOjogbmNpZCwg
dmFyaWQKICAgICBpbnRlZ2VyIChraW5kID0gT25lQnl0ZUludCksIGRpbWVuc2lvbig6LCA6
LCA6LCA6KSwgJgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludGVu
dCggaW4pIDo6IHZhbHVlcwogICAgIGludGVnZXIsIGRpbWVuc2lvbig6KSwgb3B0aW9uYWws
IGludGVudCggaW4pIDo6IHN0YXJ0LCBjb3VudCwgc3RyaWRlLCBtYXAKICAgICBpbnRlZ2Vy
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6OiBuZjkwX3B1dF92YXJf
NERfT25lQnl0ZUludAogCiAgICAgaW50ZWdlciwgZGltZW5zaW9uKG5mOTBfbWF4X3Zhcl9k
aW1zKSA6OiBsb2NhbFN0YXJ0LCBsb2NhbENvdW50LCBsb2NhbFN0cmlkZSwgbG9jYWxNYXAK
ICAgICBpbnRlZ2VyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDo6IG51bURpbXMs
IGNvdW50ZXIKIAogICAgICEgU2V0IGxvY2FsIGFyZ3VtZW50cyB0byBkZWZhdWx0IHZhbHVl
cwogICAgIG51bURpbXMgICAgICAgICAgICAgICAgID0gc2l6ZShzaGFwZSh2YWx1ZXMpKQog
ICAgIGxvY2FsU3RhcnQgKDogICAgICAgICApID0gMQogICAgIGxvY2FsQ291bnQgKDpudW1E
aW1zICApID0gc2hhcGUodmFsdWVzKQogICAgIGxvY2FsQ291bnQgKG51bURpbXMrMTopID0g
MQogICAgIGxvY2FsU3RyaWRlKDogICAgICAgICApID0gMQogICAgIGxvY2FsTWFwICAgKDpu
dW1EaW1zICApID0gKC8gMSwgKHByb2R1Y3QobG9jYWxDb3VudCg6Y291bnRlcikpLCBjb3Vu
dGVyID0gMSwgbnVtRGltcyAtIDEpIC8pCiAKICAgICBpZihwcmVzZW50KHN0YXJ0KSkgIGxv
Y2FsU3RhcnQgKDpzaXplKHN0YXJ0KSApICA9IHN0YXJ0KDopCiAgICAgaWYocHJlc2VudChj
b3VudCkpICBsb2NhbENvdW50ICg6c2l6ZShjb3VudCkgKSAgPSBjb3VudCg6KQogICAgIGlm
KHByZXNlbnQoc3RyaWRlKSkgbG9jYWxTdHJpZGUoOnNpemUoc3RyaWRlKSkgPSBzdHJpZGUo
OikKICAgICBpZihwcmVzZW50KG1hcCkpICB0aGVuCiAgICAgICBsb2NhbE1hcCAgICg6c2l6
ZShtYXApKSAgICA9IG1hcCg6KQogICAgICAgbmY5MF9wdXRfdmFyXzREX09uZUJ5dGVJbnQg
PSAmCiAgICAgICAgICBuZl9wdXRfdmFybV9pbnQxKG5jaWQsIHZhcmlkLCBsb2NhbFN0YXJ0
LCBsb2NhbENvdW50LCBsb2NhbFN0cmlkZSwgbG9jYWxNYXAsIHZhbHVlcykKICAgICBlbHNl
CiAgICAgICBuZjkwX3B1dF92YXJfNERfT25lQnl0ZUludCA9ICYKICAgICAgICAgIG5mX3B1
dF92YXJzX2ludDEobmNpZCwgdmFyaWQsIGxvY2FsU3RhcnQsIGxvY2FsQ291bnQsIGxvY2Fs
U3RyaWRlLCB2YWx1ZXMpCiAgICAgZW5kIGlmCiAgIGVuZCBmdW5jdGlvbiBuZjkwX3B1dF92
YXJfNERfT25lQnl0ZUludAoKCiAgIGZ1bmN0aW9uIG5mOTBfcHV0X3Zhcl81RF9PbmVCeXRl
SW50KG5jaWQsIHZhcmlkLCB2YWx1ZXMsIHN0YXJ0LCBjb3VudCwgc3RyaWRlLCBtYXApCiAg
ICAgaW50ZWdlciwgICAgICAgICAgICAgICAgICAgICAgICAgaW50ZW50KCBpbikgOjogbmNp
ZCwgdmFyaWQKICAgICBpbnRlZ2VyIChraW5kID0gT25lQnl0ZUludCksIGRpbWVuc2lvbig6
LCA6LCA6LCA6LCA6KSwgJgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGludGVudCggaW4pIDo6IHZhbHVlcwogICAgIGludGVnZXIsIGRpbWVuc2lvbig6KSwgb3B0
aW9uYWwsIGludGVudCggaW4pIDo6IHN0YXJ0LCBjb3VudCwgc3RyaWRlLCBtYXAKICAgICBp
bnRlZ2VyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6OiBuZjkwX3B1
dF92YXJfNURfT25lQnl0ZUludAogCiAgICAgaW50ZWdlciwgZGltZW5zaW9uKG5mOTBfbWF4
X3Zhcl9kaW1zKSA6OiBsb2NhbFN0YXJ0LCBsb2NhbENvdW50LCBsb2NhbFN0cmlkZSwgbG9j
YWxNYXAKICAgICBpbnRlZ2VyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDo6IG51
bURpbXMsIGNvdW50ZXIKIAogICAgICEgU2V0IGxvY2FsIGFyZ3VtZW50cyB0byBkZWZhdWx0
IHZhbHVlcwogICAgIG51bURpbXMgICAgICAgICAgICAgICAgID0gc2l6ZShzaGFwZSh2YWx1
ZXMpKQogICAgIGxvY2FsU3RhcnQgKDogICAgICAgICApID0gMQogICAgIGxvY2FsQ291bnQg
KDpudW1EaW1zICApID0gc2hhcGUodmFsdWVzKQogICAgIGxvY2FsQ291bnQgKG51bURpbXMr
MTopID0gMQogICAgIGxvY2FsU3RyaWRlKDogICAgICAgICApID0gMQogICAgIGxvY2FsTWFw
ICAgKDpudW1EaW1zICApID0gKC8gMSwgKHByb2R1Y3QobG9jYWxDb3VudCg6Y291bnRlcikp
LCBjb3VudGVyID0gMSwgbnVtRGltcyAtIDEpIC8pCiAKICAgICBpZihwcmVzZW50KHN0YXJ0
KSkgIGxvY2FsU3RhcnQgKDpzaXplKHN0YXJ0KSApICA9IHN0YXJ0KDopCiAgICAgaWYocHJl
c2VudChjb3VudCkpICBsb2NhbENvdW50ICg6c2l6ZShjb3VudCkgKSAgPSBjb3VudCg6KQog
ICAgIGlmKHByZXNlbnQoc3RyaWRlKSkgbG9jYWxTdHJpZGUoOnNpemUoc3RyaWRlKSkgPSBz
dHJpZGUoOikKICAgICBpZihwcmVzZW50KG1hcCkpICB0aGVuCiAgICAgICBsb2NhbE1hcCAg
ICg6c2l6ZShtYXApKSAgICA9IG1hcCg6KQogICAgICAgbmY5MF9wdXRfdmFyXzVEX09uZUJ5
dGVJbnQgPSAmCiAgICAgICAgICBuZl9wdXRfdmFybV9pbnQxKG5jaWQsIHZhcmlkLCBsb2Nh
bFN0YXJ0LCBsb2NhbENvdW50LCBsb2NhbFN0cmlkZSwgbG9jYWxNYXAsIHZhbHVlcykKICAg
ICBlbHNlCiAgICAgICBuZjkwX3B1dF92YXJfNURfT25lQnl0ZUludCA9ICYKICAgICAgICAg
IG5mX3B1dF92YXJzX2ludDEobmNpZCwgdmFyaWQsIGxvY2FsU3RhcnQsIGxvY2FsQ291bnQs
IGxvY2FsU3RyaWRlLCB2YWx1ZXMpCiAgICAgZW5kIGlmCiAgIGVuZCBmdW5jdGlvbiBuZjkw
X3B1dF92YXJfNURfT25lQnl0ZUludAoKCiAgIGZ1bmN0aW9uIG5mOTBfcHV0X3Zhcl82RF9P
bmVCeXRlSW50KG5jaWQsIHZhcmlkLCB2YWx1ZXMsIHN0YXJ0LCBjb3VudCwgc3RyaWRlLCBt
YXApCiAgICAgaW50ZWdlciwgICAgICAgICAgICAgICAgICAgICAgICAgaW50ZW50KCBpbikg
OjogbmNpZCwgdmFyaWQKICAgICBpbnRlZ2VyIChraW5kID0gT25lQnl0ZUludCksIGRpbWVu
c2lvbig6LCA6LCA6LCA6LCA6LCA6KSwgJgogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludGVudCggaW4pIDo6IHZhbHVlcwogICAgIGludGVnZXIsIGRpbWVuc2lv
big6KSwgb3B0aW9uYWwsIGludGVudCggaW4pIDo6IHN0YXJ0LCBjb3VudCwgc3RyaWRlLCBt
YXAKICAgICBpbnRlZ2VyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6
OiBuZjkwX3B1dF92YXJfNkRfT25lQnl0ZUludAogCiAgICAgaW50ZWdlciwgZGltZW5zaW9u
KG5mOTBfbWF4X3Zhcl9kaW1zKSA6OiBsb2NhbFN0YXJ0LCBsb2NhbENvdW50LCBsb2NhbFN0
cmlkZSwgbG9jYWxNYXAKICAgICBpbnRlZ2VyICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIDo6IG51bURpbXMsIGNvdW50ZXIKIAogICAgICEgU2V0IGxvY2FsIGFyZ3VtZW50cyB0
byBkZWZhdWx0IHZhbHVlcwogICAgIG51bURpbXMgICAgICAgICAgICAgICAgID0gc2l6ZShz
aGFwZSh2YWx1ZXMpKQogICAgIGxvY2FsU3RhcnQgKDogICAgICAgICApID0gMQogICAgIGxv
Y2FsQ291bnQgKDpudW1EaW1zICApID0gc2hhcGUodmFsdWVzKQogICAgIGxvY2FsQ291bnQg
KG51bURpbXMrMTopID0gMQogICAgIGxvY2FsU3RyaWRlKDogICAgICAgICApID0gMQogICAg
IGxvY2FsTWFwICAgKDpudW1EaW1zICApID0gKC8gMSwgKHByb2R1Y3QobG9jYWxDb3VudCg6
Y291bnRlcikpLCBjb3VudGVyID0gMSwgbnVtRGltcyAtIDEpIC8pCiAKICAgICBpZihwcmVz
ZW50KHN0YXJ0KSkgIGxvY2FsU3RhcnQgKDpzaXplKHN0YXJ0KSApICA9IHN0YXJ0KDopCiAg
ICAgaWYocHJlc2VudChjb3VudCkpICBsb2NhbENvdW50ICg6c2l6ZShjb3VudCkgKSAgPSBj
b3VudCg6KQogICAgIGlmKHByZXNlbnQoc3RyaWRlKSkgbG9jYWxTdHJpZGUoOnNpemUoc3Ry
aWRlKSkgPSBzdHJpZGUoOikKICAgICBpZihwcmVzZW50KG1hcCkpICB0aGVuCiAgICAgICBs
b2NhbE1hcCAgICg6c2l6ZShtYXApKSAgICA9IG1hcCg6KQogICAgICAgbmY5MF9wdXRfdmFy
XzZEX09uZUJ5dGVJbnQgPSAmCiAgICAgICAgICBuZl9wdXRfdmFybV9pbnQxKG5jaWQsIHZh
cmlkLCBsb2NhbFN0YXJ0LCBsb2NhbENvdW50LCBsb2NhbFN0cmlkZSwgbG9jYWxNYXAsIHZh
bHVlcykKICAgICBlbHNlCiAgICAgICBuZjkwX3B1dF92YXJfNkRfT25lQnl0ZUludCA9ICYK
ICAgICAgICAgIG5mX3B1dF92YXJzX2ludDEobmNpZCwgdmFyaWQsIGxvY2FsU3RhcnQsIGxv
Y2FsQ291bnQsIGxvY2FsU3RyaWRlLCB2YWx1ZXMpCiAgICAgZW5kIGlmCiAgIGVuZCBmdW5j
dGlvbiBuZjkwX3B1dF92YXJfNkRfT25lQnl0ZUludAoKCiAgIGZ1bmN0aW9uIG5mOTBfcHV0
X3Zhcl83RF9PbmVCeXRlSW50KG5jaWQsIHZhcmlkLCB2YWx1ZXMsIHN0YXJ0LCBjb3VudCwg
c3RyaWRlLCBtYXApCiAgICAgaW50ZWdlciwgICAgICAgICAgICAgICAgICAgICAgICAgaW50
ZW50KCBpbikgOjogbmNpZCwgdmFyaWQKICAgICBpbnRlZ2VyIChraW5kID0gT25lQnl0ZUlu
dCksIGRpbWVuc2lvbig6LCA6LCA6LCA6LCA6LCA6LCA6KSwgJgogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludGVudCggaW4pIDo6IHZhbHVlcwogICAgIGludGVn
ZXIsIGRpbWVuc2lvbig6KSwgb3B0aW9uYWwsIGludGVudCggaW4pIDo6IHN0YXJ0LCBjb3Vu
dCwgc3RyaWRlLCBtYXAKICAgICBpbnRlZ2VyICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICA6OiBuZjkwX3B1dF92YXJfN0RfT25lQnl0ZUludAogCiAgICAgaW50ZWdl
ciwgZGltZW5zaW9uKG5mOTBfbWF4X3Zhcl9kaW1zKSA6OiBsb2NhbFN0YXJ0LCBsb2NhbENv
dW50LCBsb2NhbFN0cmlkZSwgbG9jYWxNYXAKICAgICBpbnRlZ2VyICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIDo6IG51bURpbXMsIGNvdW50ZXIKIAogICAgICEgU2V0IGxvY2Fs
IGFyZ3VtZW50cyB0byBkZWZhdWx0IHZhbHVlcwogICAgIG51bURpbXMgICAgICAgICAgICAg
ICAgID0gc2l6ZShzaGFwZSh2YWx1ZXMpKQogICAgIGxvY2FsU3RhcnQgKDogICAgICAgICAp
ID0gMQogICAgIGxvY2FsQ291bnQgKDpudW1EaW1zICApID0gc2hhcGUodmFsdWVzKQogICAg
IGxvY2FsQ291bnQgKG51bURpbXMrMTopID0gMQogICAgIGxvY2FsU3RyaWRlKDogICAgICAg
ICApID0gMQogICAgIGxvY2FsTWFwICAgKDpudW1EaW1zICApID0gKC8gMSwgKHByb2R1Y3Qo
bG9jYWxDb3VudCg6Y291bnRlcikpLCBjb3VudGVyID0gMSwgbnVtRGltcyAtIDEpIC8pCiAK
ICAgICBpZihwcmVzZW50KHN0YXJ0KSkgIGxvY2FsU3RhcnQgKDpzaXplKHN0YXJ0KSApICA9
IHN0YXJ0KDopCiAgICAgaWYocHJlc2VudChjb3VudCkpICBsb2NhbENvdW50ICg6c2l6ZShj
b3VudCkgKSAgPSBjb3VudCg6KQogICAgIGlmKHByZXNlbnQoc3RyaWRlKSkgbG9jYWxTdHJp
ZGUoOnNpemUoc3RyaWRlKSkgPSBzdHJpZGUoOikKICAgICBpZihwcmVzZW50KG1hcCkpICB0
aGVuCiAgICAgICBsb2NhbE1hcCAgICg6c2l6ZShtYXApKSAgICA9IG1hcCg6KQogICAgICAg
bmY5MF9wdXRfdmFyXzdEX09uZUJ5dGVJbnQgPSAmCiAgICAgICAgICBuZl9wdXRfdmFybV9p
bnQxKG5jaWQsIHZhcmlkLCBsb2NhbFN0YXJ0LCBsb2NhbENvdW50LCBsb2NhbFN0cmlkZSwg
bG9jYWxNYXAsIHZhbHVlcykKICAgICBlbHNlCiAgICAgICBuZjkwX3B1dF92YXJfN0RfT25l
Qnl0ZUludCA9ICYKICAgICAgICAgIG5mX3B1dF92YXJzX2ludDEobmNpZCwgdmFyaWQsIGxv
Y2FsU3RhcnQsIGxvY2FsQ291bnQsIGxvY2FsU3RyaWRlLCB2YWx1ZXMpCiAgICAgZW5kIGlm
CiAgIGVuZCBmdW5jdGlvbiBuZjkwX3B1dF92YXJfN0RfT25lQnl0ZUludAoKCiAgIGZ1bmN0
aW9uIG5mOTBfcHV0X3Zhcl8xRF9Ud29CeXRlSW50KG5jaWQsIHZhcmlkLCB2YWx1ZXMsIHN0
YXJ0LCBjb3VudCwgc3RyaWRlLCBtYXApCiAgICAgaW50ZWdlciwgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50ZW50KCBpbikgOjogbmNpZCwgdmFyaWQKICAgICBpbnRlZ2VyIChraW5k
ID0gVHdvQnl0ZUludCksIGRpbWVuc2lvbig6KSwgJgogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGludGVudCggaW4pIDo6IHZhbHVlcwogICAgIGludGVnZXIsIGRp
bWVuc2lvbig6KSwgb3B0aW9uYWwsIGludGVudCggaW4pIDo6IHN0YXJ0LCBjb3VudCwgc3Ry
aWRlLCBtYXAKICAgICBpbnRlZ2VyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICA6OiBuZjkwX3B1dF92YXJfMURfVHdvQnl0ZUludAogCiAgICAgaW50ZWdlciwgZGlt
ZW5zaW9uKG5mOTBfbWF4X3Zhcl9kaW1zKSA6OiBsb2NhbFN0YXJ0LCBsb2NhbENvdW50LCBs
b2NhbFN0cmlkZSwgbG9jYWxNYXAKICAgICBpbnRlZ2VyICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIDo6IG51bURpbXMsIGNvdW50ZXIKIAogICAgICEgU2V0IGxvY2FsIGFyZ3Vt
ZW50cyB0byBkZWZhdWx0IHZhbHVlcwogICAgIG51bURpbXMgICAgICAgICAgICAgICAgID0g
c2l6ZShzaGFwZSh2YWx1ZXMpKQogICAgIGxvY2FsU3RhcnQgKDogICAgICAgICApID0gMQog
ICAgIGxvY2FsQ291bnQgKDpudW1EaW1zICApID0gc2hhcGUodmFsdWVzKQogICAgIGxvY2Fs
Q291bnQgKG51bURpbXMrMTopID0gMQogICAgIGxvY2FsU3RyaWRlKDogICAgICAgICApID0g
MQogICAgIGxvY2FsTWFwICAgKDpudW1EaW1zICApID0gKC8gMSwgKHByb2R1Y3QobG9jYWxD
b3VudCg6Y291bnRlcikpLCBjb3VudGVyID0gMSwgbnVtRGltcyAtIDEpIC8pCiAKICAgICBp
ZihwcmVzZW50KHN0YXJ0KSkgIGxvY2FsU3RhcnQgKDpzaXplKHN0YXJ0KSApICA9IHN0YXJ0
KDopCiAgICAgaWYocHJlc2VudChjb3VudCkpICBsb2NhbENvdW50ICg6c2l6ZShjb3VudCkg
KSAgPSBjb3VudCg6KQogICAgIGlmKHByZXNlbnQoc3RyaWRlKSkgbG9jYWxTdHJpZGUoOnNp
emUoc3RyaWRlKSkgPSBzdHJpZGUoOikKICAgICBpZihwcmVzZW50KG1hcCkpICB0aGVuCiAg
ICAgICBsb2NhbE1hcCAgICg6c2l6ZShtYXApKSAgICA9IG1hcCg6KQogICAgICAgbmY5MF9w
dXRfdmFyXzFEX1R3b0J5dGVJbnQgPSAmCiAgICAgICAgICBuZl9wdXRfdmFybV9pbnQyKG5j
aWQsIHZhcmlkLCBsb2NhbFN0YXJ0LCBsb2NhbENvdW50LCBsb2NhbFN0cmlkZSwgbG9jYWxN
YXAsIHZhbHVlcykKICAgICBlbHNlCiAgICAgICBuZjkwX3B1dF92YXJfMURfVHdvQnl0ZUlu
dCA9ICYKICAgICAgICAgIG5mX3B1dF92YXJzX2ludDIobmNpZCwgdmFyaWQsIGxvY2FsU3Rh
cnQsIGxvY2FsQ291bnQsIGxvY2FsU3RyaWRlLCB2YWx1ZXMpCiAgICAgZW5kIGlmCiAgIGVu
ZCBmdW5jdGlvbiBuZjkwX3B1dF92YXJfMURfVHdvQnl0ZUludAoKCiAgIGZ1bmN0aW9uIG5m
OTBfcHV0X3Zhcl8yRF9Ud29CeXRlSW50KG5jaWQsIHZhcmlkLCB2YWx1ZXMsIHN0YXJ0LCBj
b3VudCwgc3RyaWRlLCBtYXApCiAgICAgaW50ZWdlciwgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50ZW50KCBpbikgOjogbmNpZCwgdmFyaWQKICAgICBpbnRlZ2VyIChraW5kID0gVHdv
Qnl0ZUludCksIGRpbWVuc2lvbig6LCA6KSwgJgogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludGVudCggaW4pIDo6IHZhbHVlcwogICAgIGludGVnZXIsIGRpbWVu
c2lvbig6KSwgb3B0aW9uYWwsIGludGVudCggaW4pIDo6IHN0YXJ0LCBjb3VudCwgc3RyaWRl
LCBtYXAKICAgICBpbnRlZ2VyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICA6OiBuZjkwX3B1dF92YXJfMkRfVHdvQnl0ZUludAogCiAgICAgaW50ZWdlciwgZGltZW5z
aW9uKG5mOTBfbWF4X3Zhcl9kaW1zKSA6OiBsb2NhbFN0YXJ0LCBsb2NhbENvdW50LCBsb2Nh
bFN0cmlkZSwgbG9jYWxNYXAKICAgICBpbnRlZ2VyICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIDo6IG51bURpbXMsIGNvdW50ZXIKIAogICAgICEgU2V0IGxvY2FsIGFyZ3VtZW50
cyB0byBkZWZhdWx0IHZhbHVlcwogICAgIG51bURpbXMgICAgICAgICAgICAgICAgID0gc2l6
ZShzaGFwZSh2YWx1ZXMpKQogICAgIGxvY2FsU3RhcnQgKDogICAgICAgICApID0gMQogICAg
IGxvY2FsQ291bnQgKDpudW1EaW1zICApID0gc2hhcGUodmFsdWVzKQogICAgIGxvY2FsQ291
bnQgKG51bURpbXMrMTopID0gMQogICAgIGxvY2FsU3RyaWRlKDogICAgICAgICApID0gMQog
ICAgIGxvY2FsTWFwICAgKDpudW1EaW1zICApID0gKC8gMSwgKHByb2R1Y3QobG9jYWxDb3Vu
dCg6Y291bnRlcikpLCBjb3VudGVyID0gMSwgbnVtRGltcyAtIDEpIC8pCiAKICAgICBpZihw
cmVzZW50KHN0YXJ0KSkgIGxvY2FsU3RhcnQgKDpzaXplKHN0YXJ0KSApICA9IHN0YXJ0KDop
CiAgICAgaWYocHJlc2VudChjb3VudCkpICBsb2NhbENvdW50ICg6c2l6ZShjb3VudCkgKSAg
PSBjb3VudCg6KQogICAgIGlmKHByZXNlbnQoc3RyaWRlKSkgbG9jYWxTdHJpZGUoOnNpemUo
c3RyaWRlKSkgPSBzdHJpZGUoOikKICAgICBpZihwcmVzZW50KG1hcCkpICB0aGVuCiAgICAg
ICBsb2NhbE1hcCAgICg6c2l6ZShtYXApKSAgICA9IG1hcCg6KQogICAgICAgbmY5MF9wdXRf
dmFyXzJEX1R3b0J5dGVJbnQgPSAmCiAgICAgICAgICBuZl9wdXRfdmFybV9pbnQyKG5jaWQs
IHZhcmlkLCBsb2NhbFN0YXJ0LCBsb2NhbENvdW50LCBsb2NhbFN0cmlkZSwgbG9jYWxNYXAs
IHZhbHVlcykKICAgICBlbHNlCiAgICAgICBuZjkwX3B1dF92YXJfMkRfVHdvQnl0ZUludCA9
ICYKICAgICAgICAgIG5mX3B1dF92YXJzX2ludDIobmNpZCwgdmFyaWQsIGxvY2FsU3RhcnQs
IGxvY2FsQ291bnQsIGxvY2FsU3RyaWRlLCB2YWx1ZXMpCiAgICAgZW5kIGlmCiAgIGVuZCBm
dW5jdGlvbiBuZjkwX3B1dF92YXJfMkRfVHdvQnl0ZUludAoKCiAgIGZ1bmN0aW9uIG5mOTBf
cHV0X3Zhcl8zRF9Ud29CeXRlSW50KG5jaWQsIHZhcmlkLCB2YWx1ZXMsIHN0YXJ0LCBjb3Vu
dCwgc3RyaWRlLCBtYXApCiAgICAgaW50ZWdlciwgICAgICAgICAgICAgICAgICAgICAgICAg
aW50ZW50KCBpbikgOjogbmNpZCwgdmFyaWQKICAgICBpbnRlZ2VyIChraW5kID0gVHdvQnl0
ZUludCksIGRpbWVuc2lvbig6LCA6LCA6KSwgJgogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGludGVudCggaW4pIDo6IHZhbHVlcwogICAgIGludGVnZXIsIGRpbWVu
c2lvbig6KSwgb3B0aW9uYWwsIGludGVudCggaW4pIDo6IHN0YXJ0LCBjb3VudCwgc3RyaWRl
LCBtYXAKICAgICBpbnRlZ2VyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICA6OiBuZjkwX3B1dF92YXJfM0RfVHdvQnl0ZUludAogCiAgICAgaW50ZWdlciwgZGltZW5z
aW9uKG5mOTBfbWF4X3Zhcl9kaW1zKSA6OiBsb2NhbFN0YXJ0LCBsb2NhbENvdW50LCBsb2Nh
bFN0cmlkZSwgbG9jYWxNYXAKICAgICBpbnRlZ2VyICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIDo6IG51bURpbXMsIGNvdW50ZXIKIAogICAgICEgU2V0IGxvY2FsIGFyZ3VtZW50
cyB0byBkZWZhdWx0IHZhbHVlcwogICAgIG51bURpbXMgICAgICAgICAgICAgICAgID0gc2l6
ZShzaGFwZSh2YWx1ZXMpKQogICAgIGxvY2FsU3RhcnQgKDogICAgICAgICApID0gMQogICAg
IGxvY2FsQ291bnQgKDpudW1EaW1zICApID0gc2hhcGUodmFsdWVzKQogICAgIGxvY2FsQ291
bnQgKG51bURpbXMrMTopID0gMQogICAgIGxvY2FsU3RyaWRlKDogICAgICAgICApID0gMQog
ICAgIGxvY2FsTWFwICAgKDpudW1EaW1zICApID0gKC8gMSwgKHByb2R1Y3QobG9jYWxDb3Vu
dCg6Y291bnRlcikpLCBjb3VudGVyID0gMSwgbnVtRGltcyAtIDEpIC8pCiAKICAgICBpZihw
cmVzZW50KHN0YXJ0KSkgIGxvY2FsU3RhcnQgKDpzaXplKHN0YXJ0KSApICA9IHN0YXJ0KDop
CiAgICAgaWYocHJlc2VudChjb3VudCkpICBsb2NhbENvdW50ICg6c2l6ZShjb3VudCkgKSAg
PSBjb3VudCg6KQogICAgIGlmKHByZXNlbnQoc3RyaWRlKSkgbG9jYWxTdHJpZGUoOnNpemUo
c3RyaWRlKSkgPSBzdHJpZGUoOikKICAgICBpZihwcmVzZW50KG1hcCkpICB0aGVuCiAgICAg
ICBsb2NhbE1hcCAgICg6c2l6ZShtYXApKSAgICA9IG1hcCg6KQogICAgICAgbmY5MF9wdXRf
dmFyXzNEX1R3b0J5dGVJbnQgPSAmCiAgICAgICAgICBuZl9wdXRfdmFybV9pbnQyKG5jaWQs
IHZhcmlkLCBsb2NhbFN0YXJ0LCBsb2NhbENvdW50LCBsb2NhbFN0cmlkZSwgbG9jYWxNYXAs
IHZhbHVlcykKICAgICBlbHNlCiAgICAgICBuZjkwX3B1dF92YXJfM0RfVHdvQnl0ZUludCA9
ICYKICAgICAgICAgIG5mX3B1dF92YXJzX2ludDIobmNpZCwgdmFyaWQsIGxvY2FsU3RhcnQs
IGxvY2FsQ291bnQsIGxvY2FsU3RyaWRlLCB2YWx1ZXMpCiAgICAgZW5kIGlmCiAgIGVuZCBm
dW5jdGlvbiBuZjkwX3B1dF92YXJfM0RfVHdvQnl0ZUludAoKCiAgIGZ1bmN0aW9uIG5mOTBf
cHV0X3Zhcl80RF9Ud29CeXRlSW50KG5jaWQsIHZhcmlkLCB2YWx1ZXMsIHN0YXJ0LCBjb3Vu
dCwgc3RyaWRlLCBtYXApCiAgICAgaW50ZWdlciwgICAgICAgICAgICAgICAgICAgICAgICAg
aW50ZW50KCBpbikgOjogbmNpZCwgdmFyaWQKICAgICBpbnRlZ2VyIChraW5kID0gVHdvQnl0
ZUludCksIGRpbWVuc2lvbig6LCA6LCA6LCA6KSwgJgogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGludGVudCggaW4pIDo6IHZhbHVlcwogICAgIGludGVnZXIsIGRp
bWVuc2lvbig6KSwgb3B0aW9uYWwsIGludGVudCggaW4pIDo6IHN0YXJ0LCBjb3VudCwgc3Ry
aWRlLCBtYXAKICAgICBpbnRlZ2VyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICA6OiBuZjkwX3B1dF92YXJfNERfVHdvQnl0ZUludAogCiAgICAgaW50ZWdlciwgZGlt
ZW5zaW9uKG5mOTBfbWF4X3Zhcl9kaW1zKSA6OiBsb2NhbFN0YXJ0LCBsb2NhbENvdW50LCBs
b2NhbFN0cmlkZSwgbG9jYWxNYXAKICAgICBpbnRlZ2VyICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIDo6IG51bURpbXMsIGNvdW50ZXIKIAogICAgICEgU2V0IGxvY2FsIGFyZ3Vt
ZW50cyB0byBkZWZhdWx0IHZhbHVlcwogICAgIG51bURpbXMgICAgICAgICAgICAgICAgID0g
c2l6ZShzaGFwZSh2YWx1ZXMpKQogICAgIGxvY2FsU3RhcnQgKDogICAgICAgICApID0gMQog
ICAgIGxvY2FsQ291bnQgKDpudW1EaW1zICApID0gc2hhcGUodmFsdWVzKQogICAgIGxvY2Fs
Q291bnQgKG51bURpbXMrMTopID0gMQogICAgIGxvY2FsU3RyaWRlKDogICAgICAgICApID0g
MQogICAgIGxvY2FsTWFwICAgKDpudW1EaW1zICApID0gKC8gMSwgKHByb2R1Y3QobG9jYWxD
b3VudCg6Y291bnRlcikpLCBjb3VudGVyID0gMSwgbnVtRGltcyAtIDEpIC8pCiAKICAgICBp
ZihwcmVzZW50KHN0YXJ0KSkgIGxvY2FsU3RhcnQgKDpzaXplKHN0YXJ0KSApICA9IHN0YXJ0
KDopCiAgICAgaWYocHJlc2VudChjb3VudCkpICBsb2NhbENvdW50ICg6c2l6ZShjb3VudCkg
KSAgPSBjb3VudCg6KQogICAgIGlmKHByZXNlbnQoc3RyaWRlKSkgbG9jYWxTdHJpZGUoOnNp
emUoc3RyaWRlKSkgPSBzdHJpZGUoOikKICAgICBpZihwcmVzZW50KG1hcCkpICB0aGVuCiAg
ICAgICBsb2NhbE1hcCAgICg6c2l6ZShtYXApKSAgICA9IG1hcCg6KQogICAgICAgbmY5MF9w
dXRfdmFyXzREX1R3b0J5dGVJbnQgPSAmCiAgICAgICAgICBuZl9wdXRfdmFybV9pbnQyKG5j
aWQsIHZhcmlkLCBsb2NhbFN0YXJ0LCBsb2NhbENvdW50LCBsb2NhbFN0cmlkZSwgbG9jYWxN
YXAsIHZhbHVlcykKICAgICBlbHNlCiAgICAgICBuZjkwX3B1dF92YXJfNERfVHdvQnl0ZUlu
dCA9ICYKICAgICAgICAgIG5mX3B1dF92YXJzX2ludDIobmNpZCwgdmFyaWQsIGxvY2FsU3Rh
cnQsIGxvY2FsQ291bnQsIGxvY2FsU3RyaWRlLCB2YWx1ZXMpCiAgICAgZW5kIGlmCiAgIGVu
ZCBmdW5jdGlvbiBuZjkwX3B1dF92YXJfNERfVHdvQnl0ZUludAoKCiAgIGZ1bmN0aW9uIG5m
OTBfcHV0X3Zhcl81RF9Ud29CeXRlSW50KG5jaWQsIHZhcmlkLCB2YWx1ZXMsIHN0YXJ0LCBj
b3VudCwgc3RyaWRlLCBtYXApCiAgICAgaW50ZWdlciwgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50ZW50KCBpbikgOjogbmNpZCwgdmFyaWQKICAgICBpbnRlZ2VyIChraW5kID0gVHdv
Qnl0ZUludCksIGRpbWVuc2lvbig6LCA6LCA6LCA6LCA6KSwgJgogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludGVudCggaW4pIDo6IHZhbHVlcwogICAgIGludGVn
ZXIsIGRpbWVuc2lvbig6KSwgb3B0aW9uYWwsIGludGVudCggaW4pIDo6IHN0YXJ0LCBjb3Vu
dCwgc3RyaWRlLCBtYXAKICAgICBpbnRlZ2VyICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICA6OiBuZjkwX3B1dF92YXJfNURfVHdvQnl0ZUludAogCiAgICAgaW50ZWdl
ciwgZGltZW5zaW9uKG5mOTBfbWF4X3Zhcl9kaW1zKSA6OiBsb2NhbFN0YXJ0LCBsb2NhbENv
dW50LCBsb2NhbFN0cmlkZSwgbG9jYWxNYXAKICAgICBpbnRlZ2VyICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIDo6IG51bURpbXMsIGNvdW50ZXIKIAogICAgICEgU2V0IGxvY2Fs
IGFyZ3VtZW50cyB0byBkZWZhdWx0IHZhbHVlcwogICAgIG51bURpbXMgICAgICAgICAgICAg
ICAgID0gc2l6ZShzaGFwZSh2YWx1ZXMpKQogICAgIGxvY2FsU3RhcnQgKDogICAgICAgICAp
ID0gMQogICAgIGxvY2FsQ291bnQgKDpudW1EaW1zICApID0gc2hhcGUodmFsdWVzKQogICAg
IGxvY2FsQ291bnQgKG51bURpbXMrMTopID0gMQogICAgIGxvY2FsU3RyaWRlKDogICAgICAg
ICApID0gMQogICAgIGxvY2FsTWFwICAgKDpudW1EaW1zICApID0gKC8gMSwgKHByb2R1Y3Qo
bG9jYWxDb3VudCg6Y291bnRlcikpLCBjb3VudGVyID0gMSwgbnVtRGltcyAtIDEpIC8pCiAK
ICAgICBpZihwcmVzZW50KHN0YXJ0KSkgIGxvY2FsU3RhcnQgKDpzaXplKHN0YXJ0KSApICA9
IHN0YXJ0KDopCiAgICAgaWYocHJlc2VudChjb3VudCkpICBsb2NhbENvdW50ICg6c2l6ZShj
b3VudCkgKSAgPSBjb3VudCg6KQogICAgIGlmKHByZXNlbnQoc3RyaWRlKSkgbG9jYWxTdHJp
ZGUoOnNpemUoc3RyaWRlKSkgPSBzdHJpZGUoOikKICAgICBpZihwcmVzZW50KG1hcCkpICB0
aGVuCiAgICAgICBsb2NhbE1hcCAgICg6c2l6ZShtYXApKSAgICA9IG1hcCg6KQogICAgICAg
bmY5MF9wdXRfdmFyXzVEX1R3b0J5dGVJbnQgPSAmCiAgICAgICAgICBuZl9wdXRfdmFybV9p
bnQyKG5jaWQsIHZhcmlkLCBsb2NhbFN0YXJ0LCBsb2NhbENvdW50LCBsb2NhbFN0cmlkZSwg
bG9jYWxNYXAsIHZhbHVlcykKICAgICBlbHNlCiAgICAgICBuZjkwX3B1dF92YXJfNURfVHdv
Qnl0ZUludCA9ICYKICAgICAgICAgIG5mX3B1dF92YXJzX2ludDIobmNpZCwgdmFyaWQsIGxv
Y2FsU3RhcnQsIGxvY2FsQ291bnQsIGxvY2FsU3RyaWRlLCB2YWx1ZXMpCiAgICAgZW5kIGlm
CiAgIGVuZCBmdW5jdGlvbiBuZjkwX3B1dF92YXJfNURfVHdvQnl0ZUludAoKCiAgIGZ1bmN0
aW9uIG5mOTBfcHV0X3Zhcl82RF9Ud29CeXRlSW50KG5jaWQsIHZhcmlkLCB2YWx1ZXMsIHN0
YXJ0LCBjb3VudCwgc3RyaWRlLCBtYXApCiAgICAgaW50ZWdlciwgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50ZW50KCBpbikgOjogbmNpZCwgdmFyaWQKICAgICBpbnRlZ2VyIChraW5k
ID0gVHdvQnl0ZUludCksIGRpbWVuc2lvbig6LCA6LCA6LCA6LCA6LCA6KSwgJgogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludGVudCggaW4pIDo6IHZhbHVlcwog
ICAgIGludGVnZXIsIGRpbWVuc2lvbig6KSwgb3B0aW9uYWwsIGludGVudCggaW4pIDo6IHN0
YXJ0LCBjb3VudCwgc3RyaWRlLCBtYXAKICAgICBpbnRlZ2VyICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICA6OiBuZjkwX3B1dF92YXJfNkRfVHdvQnl0ZUludAogCiAg
ICAgaW50ZWdlciwgZGltZW5zaW9uKG5mOTBfbWF4X3Zhcl9kaW1zKSA6OiBsb2NhbFN0YXJ0
LCBsb2NhbENvdW50LCBsb2NhbFN0cmlkZSwgbG9jYWxNYXAKICAgICBpbnRlZ2VyICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIDo6IG51bURpbXMsIGNvdW50ZXIKIAogICAgICEg
U2V0IGxvY2FsIGFyZ3VtZW50cyB0byBkZWZhdWx0IHZhbHVlcwogICAgIG51bURpbXMgICAg
ICAgICAgICAgICAgID0gc2l6ZShzaGFwZSh2YWx1ZXMpKQogICAgIGxvY2FsU3RhcnQgKDog
ICAgICAgICApID0gMQogICAgIGxvY2FsQ291bnQgKDpudW1EaW1zICApID0gc2hhcGUodmFs
dWVzKQogICAgIGxvY2FsQ291bnQgKG51bURpbXMrMTopID0gMQogICAgIGxvY2FsU3RyaWRl
KDogICAgICAgICApID0gMQogICAgIGxvY2FsTWFwICAgKDpudW1EaW1zICApID0gKC8gMSwg
KHByb2R1Y3QobG9jYWxDb3VudCg6Y291bnRlcikpLCBjb3VudGVyID0gMSwgbnVtRGltcyAt
IDEpIC8pCiAKICAgICBpZihwcmVzZW50KHN0YXJ0KSkgIGxvY2FsU3RhcnQgKDpzaXplKHN0
YXJ0KSApICA9IHN0YXJ0KDopCiAgICAgaWYocHJlc2VudChjb3VudCkpICBsb2NhbENvdW50
ICg6c2l6ZShjb3VudCkgKSAgPSBjb3VudCg6KQogICAgIGlmKHByZXNlbnQoc3RyaWRlKSkg
bG9jYWxTdHJpZGUoOnNpemUoc3RyaWRlKSkgPSBzdHJpZGUoOikKICAgICBpZihwcmVzZW50
KG1hcCkpICB0aGVuCiAgICAgICBsb2NhbE1hcCAgICg6c2l6ZShtYXApKSAgICA9IG1hcCg6
KQogICAgICAgbmY5MF9wdXRfdmFyXzZEX1R3b0J5dGVJbnQgPSAmCiAgICAgICAgICBuZl9w
dXRfdmFybV9pbnQyKG5jaWQsIHZhcmlkLCBsb2NhbFN0YXJ0LCBsb2NhbENvdW50LCBsb2Nh
bFN0cmlkZSwgbG9jYWxNYXAsIHZhbHVlcykKICAgICBlbHNlCiAgICAgICBuZjkwX3B1dF92
YXJfNkRfVHdvQnl0ZUludCA9ICYKICAgICAgICAgIG5mX3B1dF92YXJzX2ludDIobmNpZCwg
dmFyaWQsIGxvY2FsU3RhcnQsIGxvY2FsQ291bnQsIGxvY2FsU3RyaWRlLCB2YWx1ZXMpCiAg
ICAgZW5kIGlmCiAgIGVuZCBmdW5jdGlvbiBuZjkwX3B1dF92YXJfNkRfVHdvQnl0ZUludAoK
CiAgIGZ1bmN0aW9uIG5mOTBfcHV0X3Zhcl83RF9Ud29CeXRlSW50KG5jaWQsIHZhcmlkLCB2
YWx1ZXMsIHN0YXJ0LCBjb3VudCwgc3RyaWRlLCBtYXApCiAgICAgaW50ZWdlciwgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50ZW50KCBpbikgOjogbmNpZCwgdmFyaWQKICAgICBpbnRl
Z2VyIChraW5kID0gVHdvQnl0ZUludCksIGRpbWVuc2lvbig6LCA6LCA6LCA6LCA6LCA6LCA6
KSwgJgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludGVudCggaW4p
IDo6IHZhbHVlcwogICAgIGludGVnZXIsIGRpbWVuc2lvbig6KSwgb3B0aW9uYWwsIGludGVu
dCggaW4pIDo6IHN0YXJ0LCBjb3VudCwgc3RyaWRlLCBtYXAKICAgICBpbnRlZ2VyICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6OiBuZjkwX3B1dF92YXJfN0RfVHdv
Qnl0ZUludAogCiAgICAgaW50ZWdlciwgZGltZW5zaW9uKG5mOTBfbWF4X3Zhcl9kaW1zKSA6
OiBsb2NhbFN0YXJ0LCBsb2NhbENvdW50LCBsb2NhbFN0cmlkZSwgbG9jYWxNYXAKICAgICBp
bnRlZ2VyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDo6IG51bURpbXMsIGNvdW50
ZXIKIAogICAgICEgU2V0IGxvY2FsIGFyZ3VtZW50cyB0byBkZWZhdWx0IHZhbHVlcwogICAg
IG51bURpbXMgICAgICAgICAgICAgICAgID0gc2l6ZShzaGFwZSh2YWx1ZXMpKQogICAgIGxv
Y2FsU3RhcnQgKDogICAgICAgICApID0gMQogICAgIGxvY2FsQ291bnQgKDpudW1EaW1zICAp
ID0gc2hhcGUodmFsdWVzKQogICAgIGxvY2FsQ291bnQgKG51bURpbXMrMTopID0gMQogICAg
IGxvY2FsU3RyaWRlKDogICAgICAgICApID0gMQogICAgIGxvY2FsTWFwICAgKDpudW1EaW1z
ICApID0gKC8gMSwgKHByb2R1Y3QobG9jYWxDb3VudCg6Y291bnRlcikpLCBjb3VudGVyID0g
MSwgbnVtRGltcyAtIDEpIC8pCiAKICAgICBpZihwcmVzZW50KHN0YXJ0KSkgIGxvY2FsU3Rh
cnQgKDpzaXplKHN0YXJ0KSApICA9IHN0YXJ0KDopCiAgICAgaWYocHJlc2VudChjb3VudCkp
ICBsb2NhbENvdW50ICg6c2l6ZShjb3VudCkgKSAgPSBjb3VudCg6KQogICAgIGlmKHByZXNl
bnQoc3RyaWRlKSkgbG9jYWxTdHJpZGUoOnNpemUoc3RyaWRlKSkgPSBzdHJpZGUoOikKICAg
ICBpZihwcmVzZW50KG1hcCkpICB0aGVuCiAgICAgICBsb2NhbE1hcCAgICg6c2l6ZShtYXAp
KSAgICA9IG1hcCg6KQogICAgICAgbmY5MF9wdXRfdmFyXzdEX1R3b0J5dGVJbnQgPSAmCiAg
ICAgICAgICBuZl9wdXRfdmFybV9pbnQyKG5jaWQsIHZhcmlkLCBsb2NhbFN0YXJ0LCBsb2Nh
bENvdW50LCBsb2NhbFN0cmlkZSwgbG9jYWxNYXAsIHZhbHVlcykKICAgICBlbHNlCiAgICAg
ICBuZjkwX3B1dF92YXJfN0RfVHdvQnl0ZUludCA9ICYKICAgICAgICAgIG5mX3B1dF92YXJz
X2ludDIobmNpZCwgdmFyaWQsIGxvY2FsU3RhcnQsIGxvY2FsQ291bnQsIGxvY2FsU3RyaWRl
LCB2YWx1ZXMpCiAgICAgZW5kIGlmCiAgIGVuZCBmdW5jdGlvbiBuZjkwX3B1dF92YXJfN0Rf
VHdvQnl0ZUludAoKCiAgIGZ1bmN0aW9uIG5mOTBfcHV0X3Zhcl8xRF9Gb3VyQnl0ZUludChu
Y2lkLCB2YXJpZCwgdmFsdWVzLCBzdGFydCwgY291bnQsIHN0cmlkZSwgbWFwKQogICAgIGlu
dGVnZXIsICAgICAgICAgICAgICAgICAgICAgICAgIGludGVudCggaW4pIDo6IG5jaWQsIHZh
cmlkCiAgICAgaW50ZWdlciAoa2luZCA9IEZvdXJCeXRlSW50KSwgZGltZW5zaW9uKDopLCAm
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50ZW50KCBpbikgOjog
dmFsdWVzCiAgICAgaW50ZWdlciwgZGltZW5zaW9uKDopLCBvcHRpb25hbCwgaW50ZW50KCBp
bikgOjogc3RhcnQsIGNvdW50LCBzdHJpZGUsIG1hcAogICAgIGludGVnZXIgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDo6IG5mOTBfcHV0X3Zhcl8xRF9Gb3VyQnl0
ZUludAogCiAgICAgaW50ZWdlciwgZGltZW5zaW9uKG5mOTBfbWF4X3Zhcl9kaW1zKSA6OiBs
b2NhbFN0YXJ0LCBsb2NhbENvdW50LCBsb2NhbFN0cmlkZSwgbG9jYWxNYXAKICAgICBpbnRl
Z2VyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDo6IG51bURpbXMsIGNvdW50ZXIK
IAogICAgICEgU2V0IGxvY2FsIGFyZ3VtZW50cyB0byBkZWZhdWx0IHZhbHVlcwogICAgIG51
bURpbXMgICAgICAgICAgICAgICAgID0gc2l6ZShzaGFwZSh2YWx1ZXMpKQogICAgIGxvY2Fs
U3RhcnQgKDogICAgICAgICApID0gMQogICAgIGxvY2FsQ291bnQgKDpudW1EaW1zICApID0g
c2hhcGUodmFsdWVzKQogICAgIGxvY2FsQ291bnQgKG51bURpbXMrMTopID0gMQogICAgIGxv
Y2FsU3RyaWRlKDogICAgICAgICApID0gMQogICAgIGxvY2FsTWFwICAgKDpudW1EaW1zICAp
ID0gKC8gMSwgKHByb2R1Y3QobG9jYWxDb3VudCg6Y291bnRlcikpLCBjb3VudGVyID0gMSwg
bnVtRGltcyAtIDEpIC8pCiAKICAgICBpZihwcmVzZW50KHN0YXJ0KSkgIGxvY2FsU3RhcnQg
KDpzaXplKHN0YXJ0KSApICA9IHN0YXJ0KDopCiAgICAgaWYocHJlc2VudChjb3VudCkpICBs
b2NhbENvdW50ICg6c2l6ZShjb3VudCkgKSAgPSBjb3VudCg6KQogICAgIGlmKHByZXNlbnQo
c3RyaWRlKSkgbG9jYWxTdHJpZGUoOnNpemUoc3RyaWRlKSkgPSBzdHJpZGUoOikKICAgICBp
ZihwcmVzZW50KG1hcCkpICB0aGVuCiAgICAgICBsb2NhbE1hcCAgICg6c2l6ZShtYXApKSAg
ICA9IG1hcCg6KQogICAgICAgbmY5MF9wdXRfdmFyXzFEX0ZvdXJCeXRlSW50ID0gJgogICAg
ICAgICAgbmZfcHV0X3Zhcm1faW50KG5jaWQsIHZhcmlkLCBsb2NhbFN0YXJ0LCBsb2NhbENv
dW50LCBsb2NhbFN0cmlkZSwgbG9jYWxNYXAsIGludCh2YWx1ZXMpKQogICAgIGVsc2UKICAg
ICAgIG5mOTBfcHV0X3Zhcl8xRF9Gb3VyQnl0ZUludCA9ICYKICAgICAgICAgIG5mX3B1dF92
YXJzX2ludChuY2lkLCB2YXJpZCwgbG9jYWxTdGFydCwgbG9jYWxDb3VudCwgbG9jYWxTdHJp
ZGUsIGludCh2YWx1ZXMpKQogICAgIGVuZCBpZgogICBlbmQgZnVuY3Rpb24gbmY5MF9wdXRf
dmFyXzFEX0ZvdXJCeXRlSW50CgoKICAgZnVuY3Rpb24gbmY5MF9wdXRfdmFyXzJEX0ZvdXJC
eXRlSW50KG5jaWQsIHZhcmlkLCB2YWx1ZXMsIHN0YXJ0LCBjb3VudCwgc3RyaWRlLCBtYXAp
CiAgICAgaW50ZWdlciwgICAgICAgICAgICAgICAgICAgICAgICAgaW50ZW50KCBpbikgOjog
bmNpZCwgdmFyaWQKICAgICBpbnRlZ2VyIChraW5kID0gRm91ckJ5dGVJbnQpLCBkaW1lbnNp
b24oOiwgOiksICYKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnRl
bnQoIGluKSA6OiB2YWx1ZXMKICAgICBpbnRlZ2VyLCBkaW1lbnNpb24oOiksIG9wdGlvbmFs
LCBpbnRlbnQoIGluKSA6OiBzdGFydCwgY291bnQsIHN0cmlkZSwgbWFwCiAgICAgaW50ZWdl
ciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOjogbmY5MF9wdXRfdmFy
XzJEX0ZvdXJCeXRlSW50CiAKICAgICBpbnRlZ2VyLCBkaW1lbnNpb24obmY5MF9tYXhfdmFy
X2RpbXMpIDo6IGxvY2FsU3RhcnQsIGxvY2FsQ291bnQsIGxvY2FsU3RyaWRlLCBsb2NhbE1h
cAogICAgIGludGVnZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOjogbnVtRGlt
cywgY291bnRlcgogCiAgICAgISBTZXQgbG9jYWwgYXJndW1lbnRzIHRvIGRlZmF1bHQgdmFs
dWVzCiAgICAgbnVtRGltcyAgICAgICAgICAgICAgICAgPSBzaXplKHNoYXBlKHZhbHVlcykp
CiAgICAgbG9jYWxTdGFydCAoOiAgICAgICAgICkgPSAxCiAgICAgbG9jYWxDb3VudCAoOm51
bURpbXMgICkgPSBzaGFwZSh2YWx1ZXMpCiAgICAgbG9jYWxDb3VudCAobnVtRGltcysxOikg
PSAxCiAgICAgbG9jYWxTdHJpZGUoOiAgICAgICAgICkgPSAxCiAgICAgbG9jYWxNYXAgICAo
Om51bURpbXMgICkgPSAoLyAxLCAocHJvZHVjdChsb2NhbENvdW50KDpjb3VudGVyKSksIGNv
dW50ZXIgPSAxLCBudW1EaW1zIC0gMSkgLykKIAogICAgIGlmKHByZXNlbnQoc3RhcnQpKSAg
bG9jYWxTdGFydCAoOnNpemUoc3RhcnQpICkgID0gc3RhcnQoOikKICAgICBpZihwcmVzZW50
KGNvdW50KSkgIGxvY2FsQ291bnQgKDpzaXplKGNvdW50KSApICA9IGNvdW50KDopCiAgICAg
aWYocHJlc2VudChzdHJpZGUpKSBsb2NhbFN0cmlkZSg6c2l6ZShzdHJpZGUpKSA9IHN0cmlk
ZSg6KQogICAgIGlmKHByZXNlbnQobWFwKSkgIHRoZW4KICAgICAgIGxvY2FsTWFwICAgKDpz
aXplKG1hcCkpICAgID0gbWFwKDopCiAgICAgICBuZjkwX3B1dF92YXJfMkRfRm91ckJ5dGVJ
bnQgPSAmCiAgICAgICAgICBuZl9wdXRfdmFybV9pbnQobmNpZCwgdmFyaWQsIGxvY2FsU3Rh
cnQsIGxvY2FsQ291bnQsIGxvY2FsU3RyaWRlLCBsb2NhbE1hcCwgaW50KHZhbHVlcykpCiAg
ICAgZWxzZQogICAgICAgbmY5MF9wdXRfdmFyXzJEX0ZvdXJCeXRlSW50ID0gJgogICAgICAg
ICAgbmZfcHV0X3ZhcnNfaW50KG5jaWQsIHZhcmlkLCBsb2NhbFN0YXJ0LCBsb2NhbENvdW50
LCBsb2NhbFN0cmlkZSwgaW50KHZhbHVlcykpCiAgICAgZW5kIGlmCiAgIGVuZCBmdW5jdGlv
biBuZjkwX3B1dF92YXJfMkRfRm91ckJ5dGVJbnQKCgogICBmdW5jdGlvbiBuZjkwX3B1dF92
YXJfM0RfRm91ckJ5dGVJbnQobmNpZCwgdmFyaWQsIHZhbHVlcywgc3RhcnQsIGNvdW50LCBz
dHJpZGUsIG1hcCkKICAgICBpbnRlZ2VyLCAgICAgICAgICAgICAgICAgICAgICAgICBpbnRl
bnQoIGluKSA6OiBuY2lkLCB2YXJpZAogICAgIGludGVnZXIgKGtpbmQgPSBGb3VyQnl0ZUlu
dCksIGRpbWVuc2lvbig6LCA6LCA6KSwgJgogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludGVudCggaW4pIDo6IHZhbHVlcwogICAgIGludGVnZXIsIGRpbWVuc2lv
big6KSwgb3B0aW9uYWwsIGludGVudCggaW4pIDo6IHN0YXJ0LCBjb3VudCwgc3RyaWRlLCBt
YXAKICAgICBpbnRlZ2VyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6
OiBuZjkwX3B1dF92YXJfM0RfRm91ckJ5dGVJbnQKIAogICAgIGludGVnZXIsIGRpbWVuc2lv
bihuZjkwX21heF92YXJfZGltcykgOjogbG9jYWxTdGFydCwgbG9jYWxDb3VudCwgbG9jYWxT
dHJpZGUsIGxvY2FsTWFwCiAgICAgaW50ZWdlciAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICA6OiBudW1EaW1zLCBjb3VudGVyCiAKICAgICAhIFNldCBsb2NhbCBhcmd1bWVudHMg
dG8gZGVmYXVsdCB2YWx1ZXMKICAgICBudW1EaW1zICAgICAgICAgICAgICAgICA9IHNpemUo
c2hhcGUodmFsdWVzKSkKICAgICBsb2NhbFN0YXJ0ICg6ICAgICAgICAgKSA9IDEKICAgICBs
b2NhbENvdW50ICg6bnVtRGltcyAgKSA9IHNoYXBlKHZhbHVlcykKICAgICBsb2NhbENvdW50
IChudW1EaW1zKzE6KSA9IDEKICAgICBsb2NhbFN0cmlkZSg6ICAgICAgICAgKSA9IDEKICAg
ICBsb2NhbE1hcCAgICg6bnVtRGltcyAgKSA9ICgvIDEsIChwcm9kdWN0KGxvY2FsQ291bnQo
OmNvdW50ZXIpKSwgY291bnRlciA9IDEsIG51bURpbXMgLSAxKSAvKQogCiAgICAgaWYocHJl
c2VudChzdGFydCkpICBsb2NhbFN0YXJ0ICg6c2l6ZShzdGFydCkgKSAgPSBzdGFydCg6KQog
ICAgIGlmKHByZXNlbnQoY291bnQpKSAgbG9jYWxDb3VudCAoOnNpemUoY291bnQpICkgID0g
Y291bnQoOikKICAgICBpZihwcmVzZW50KHN0cmlkZSkpIGxvY2FsU3RyaWRlKDpzaXplKHN0
cmlkZSkpID0gc3RyaWRlKDopCiAgICAgaWYocHJlc2VudChtYXApKSAgdGhlbgogICAgICAg
bG9jYWxNYXAgICAoOnNpemUobWFwKSkgICAgPSBtYXAoOikKICAgICAgIG5mOTBfcHV0X3Zh
cl8zRF9Gb3VyQnl0ZUludCA9ICYKICAgICAgICAgIG5mX3B1dF92YXJtX2ludChuY2lkLCB2
YXJpZCwgbG9jYWxTdGFydCwgbG9jYWxDb3VudCwgbG9jYWxTdHJpZGUsIGxvY2FsTWFwLCBp
bnQodmFsdWVzKSkKICAgICBlbHNlCiAgICAgICBuZjkwX3B1dF92YXJfM0RfRm91ckJ5dGVJ
bnQgPSAmCiAgICAgICAgICBuZl9wdXRfdmFyc19pbnQobmNpZCwgdmFyaWQsIGxvY2FsU3Rh
cnQsIGxvY2FsQ291bnQsIGxvY2FsU3RyaWRlLCBpbnQodmFsdWVzKSkKICAgICBlbmQgaWYK
ICAgZW5kIGZ1bmN0aW9uIG5mOTBfcHV0X3Zhcl8zRF9Gb3VyQnl0ZUludAoKCiAgIGZ1bmN0
aW9uIG5mOTBfcHV0X3Zhcl80RF9Gb3VyQnl0ZUludChuY2lkLCB2YXJpZCwgdmFsdWVzLCBz
dGFydCwgY291bnQsIHN0cmlkZSwgbWFwKQogICAgIGludGVnZXIsICAgICAgICAgICAgICAg
ICAgICAgICAgIGludGVudCggaW4pIDo6IG5jaWQsIHZhcmlkCiAgICAgaW50ZWdlciAoa2lu
ZCA9IEZvdXJCeXRlSW50KSwgZGltZW5zaW9uKDosIDosIDosIDopLCAmCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50ZW50KCBpbikgOjogdmFsdWVzCiAgICAg
aW50ZWdlciwgZGltZW5zaW9uKDopLCBvcHRpb25hbCwgaW50ZW50KCBpbikgOjogc3RhcnQs
IGNvdW50LCBzdHJpZGUsIG1hcAogICAgIGludGVnZXIgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIDo6IG5mOTBfcHV0X3Zhcl80RF9Gb3VyQnl0ZUludAogCiAgICAg
aW50ZWdlciwgZGltZW5zaW9uKG5mOTBfbWF4X3Zhcl9kaW1zKSA6OiBsb2NhbFN0YXJ0LCBs
b2NhbENvdW50LCBsb2NhbFN0cmlkZSwgbG9jYWxNYXAKICAgICBpbnRlZ2VyICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIDo6IG51bURpbXMsIGNvdW50ZXIKIAogICAgICEgU2V0
IGxvY2FsIGFyZ3VtZW50cyB0byBkZWZhdWx0IHZhbHVlcwogICAgIG51bURpbXMgICAgICAg
ICAgICAgICAgID0gc2l6ZShzaGFwZSh2YWx1ZXMpKQogICAgIGxvY2FsU3RhcnQgKDogICAg
ICAgICApID0gMQogICAgIGxvY2FsQ291bnQgKDpudW1EaW1zICApID0gc2hhcGUodmFsdWVz
KQogICAgIGxvY2FsQ291bnQgKG51bURpbXMrMTopID0gMQogICAgIGxvY2FsU3RyaWRlKDog
ICAgICAgICApID0gMQogICAgIGxvY2FsTWFwICAgKDpudW1EaW1zICApID0gKC8gMSwgKHBy
b2R1Y3QobG9jYWxDb3VudCg6Y291bnRlcikpLCBjb3VudGVyID0gMSwgbnVtRGltcyAtIDEp
IC8pCiAKICAgICBpZihwcmVzZW50KHN0YXJ0KSkgIGxvY2FsU3RhcnQgKDpzaXplKHN0YXJ0
KSApICA9IHN0YXJ0KDopCiAgICAgaWYocHJlc2VudChjb3VudCkpICBsb2NhbENvdW50ICg6
c2l6ZShjb3VudCkgKSAgPSBjb3VudCg6KQogICAgIGlmKHByZXNlbnQoc3RyaWRlKSkgbG9j
YWxTdHJpZGUoOnNpemUoc3RyaWRlKSkgPSBzdHJpZGUoOikKICAgICBpZihwcmVzZW50KG1h
cCkpICB0aGVuCiAgICAgICBsb2NhbE1hcCAgICg6c2l6ZShtYXApKSAgICA9IG1hcCg6KQog
ICAgICAgbmY5MF9wdXRfdmFyXzREX0ZvdXJCeXRlSW50ID0gJgogICAgICAgICAgbmZfcHV0
X3Zhcm1faW50KG5jaWQsIHZhcmlkLCBsb2NhbFN0YXJ0LCBsb2NhbENvdW50LCBsb2NhbFN0
cmlkZSwgbG9jYWxNYXAsIGludCh2YWx1ZXMpKQogICAgIGVsc2UKICAgICAgIG5mOTBfcHV0
X3Zhcl80RF9Gb3VyQnl0ZUludCA9ICYKICAgICAgICAgIG5mX3B1dF92YXJzX2ludChuY2lk
LCB2YXJpZCwgbG9jYWxTdGFydCwgbG9jYWxDb3VudCwgbG9jYWxTdHJpZGUsIGludCh2YWx1
ZXMpKQogICAgIGVuZCBpZgogICBlbmQgZnVuY3Rpb24gbmY5MF9wdXRfdmFyXzREX0ZvdXJC
eXRlSW50CgoKICAgZnVuY3Rpb24gbmY5MF9wdXRfdmFyXzVEX0ZvdXJCeXRlSW50KG5jaWQs
IHZhcmlkLCB2YWx1ZXMsIHN0YXJ0LCBjb3VudCwgc3RyaWRlLCBtYXApCiAgICAgaW50ZWdl
ciwgICAgICAgICAgICAgICAgICAgICAgICAgaW50ZW50KCBpbikgOjogbmNpZCwgdmFyaWQK
ICAgICBpbnRlZ2VyIChraW5kID0gRm91ckJ5dGVJbnQpLCBkaW1lbnNpb24oOiwgOiwgOiwg
OiwgOiksICYKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnRlbnQo
IGluKSA6OiB2YWx1ZXMKICAgICBpbnRlZ2VyLCBkaW1lbnNpb24oOiksIG9wdGlvbmFsLCBp
bnRlbnQoIGluKSA6OiBzdGFydCwgY291bnQsIHN0cmlkZSwgbWFwCiAgICAgaW50ZWdlciAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOjogbmY5MF9wdXRfdmFyXzVE
X0ZvdXJCeXRlSW50CiAKICAgICBpbnRlZ2VyLCBkaW1lbnNpb24obmY5MF9tYXhfdmFyX2Rp
bXMpIDo6IGxvY2FsU3RhcnQsIGxvY2FsQ291bnQsIGxvY2FsU3RyaWRlLCBsb2NhbE1hcAog
ICAgIGludGVnZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOjogbnVtRGltcywg
Y291bnRlcgogCiAgICAgISBTZXQgbG9jYWwgYXJndW1lbnRzIHRvIGRlZmF1bHQgdmFsdWVz
CiAgICAgbnVtRGltcyAgICAgICAgICAgICAgICAgPSBzaXplKHNoYXBlKHZhbHVlcykpCiAg
ICAgbG9jYWxTdGFydCAoOiAgICAgICAgICkgPSAxCiAgICAgbG9jYWxDb3VudCAoOm51bURp
bXMgICkgPSBzaGFwZSh2YWx1ZXMpCiAgICAgbG9jYWxDb3VudCAobnVtRGltcysxOikgPSAx
CiAgICAgbG9jYWxTdHJpZGUoOiAgICAgICAgICkgPSAxCiAgICAgbG9jYWxNYXAgICAoOm51
bURpbXMgICkgPSAoLyAxLCAocHJvZHVjdChsb2NhbENvdW50KDpjb3VudGVyKSksIGNvdW50
ZXIgPSAxLCBudW1EaW1zIC0gMSkgLykKIAogICAgIGlmKHByZXNlbnQoc3RhcnQpKSAgbG9j
YWxTdGFydCAoOnNpemUoc3RhcnQpICkgID0gc3RhcnQoOikKICAgICBpZihwcmVzZW50KGNv
dW50KSkgIGxvY2FsQ291bnQgKDpzaXplKGNvdW50KSApICA9IGNvdW50KDopCiAgICAgaWYo
cHJlc2VudChzdHJpZGUpKSBsb2NhbFN0cmlkZSg6c2l6ZShzdHJpZGUpKSA9IHN0cmlkZSg6
KQogICAgIGlmKHByZXNlbnQobWFwKSkgIHRoZW4KICAgICAgIGxvY2FsTWFwICAgKDpzaXpl
KG1hcCkpICAgID0gbWFwKDopCiAgICAgICBuZjkwX3B1dF92YXJfNURfRm91ckJ5dGVJbnQg
PSAmCiAgICAgICAgICBuZl9wdXRfdmFybV9pbnQobmNpZCwgdmFyaWQsIGxvY2FsU3RhcnQs
IGxvY2FsQ291bnQsIGxvY2FsU3RyaWRlLCBsb2NhbE1hcCwgaW50KHZhbHVlcykpCiAgICAg
ZWxzZQogICAgICAgbmY5MF9wdXRfdmFyXzVEX0ZvdXJCeXRlSW50ID0gJgogICAgICAgICAg
bmZfcHV0X3ZhcnNfaW50KG5jaWQsIHZhcmlkLCBsb2NhbFN0YXJ0LCBsb2NhbENvdW50LCBs
b2NhbFN0cmlkZSwgaW50KHZhbHVlcykpCiAgICAgZW5kIGlmCiAgIGVuZCBmdW5jdGlvbiBu
ZjkwX3B1dF92YXJfNURfRm91ckJ5dGVJbnQKCgogICBmdW5jdGlvbiBuZjkwX3B1dF92YXJf
NkRfRm91ckJ5dGVJbnQobmNpZCwgdmFyaWQsIHZhbHVlcywgc3RhcnQsIGNvdW50LCBzdHJp
ZGUsIG1hcCkKICAgICBpbnRlZ2VyLCAgICAgICAgICAgICAgICAgICAgICAgICBpbnRlbnQo
IGluKSA6OiBuY2lkLCB2YXJpZAogICAgIGludGVnZXIgKGtpbmQgPSBGb3VyQnl0ZUludCks
IGRpbWVuc2lvbig6LCA6LCA6LCA6LCA6LCA6KSwgJgogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGludGVudCggaW4pIDo6IHZhbHVlcwogICAgIGludGVnZXIsIGRp
bWVuc2lvbig6KSwgb3B0aW9uYWwsIGludGVudCggaW4pIDo6IHN0YXJ0LCBjb3VudCwgc3Ry
aWRlLCBtYXAKICAgICBpbnRlZ2VyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICA6OiBuZjkwX3B1dF92YXJfNkRfRm91ckJ5dGVJbnQKIAogICAgIGludGVnZXIsIGRp
bWVuc2lvbihuZjkwX21heF92YXJfZGltcykgOjogbG9jYWxTdGFydCwgbG9jYWxDb3VudCwg
bG9jYWxTdHJpZGUsIGxvY2FsTWFwCiAgICAgaW50ZWdlciAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICA6OiBudW1EaW1zLCBjb3VudGVyCiAKICAgICAhIFNldCBsb2NhbCBhcmd1
bWVudHMgdG8gZGVmYXVsdCB2YWx1ZXMKICAgICBudW1EaW1zICAgICAgICAgICAgICAgICA9
IHNpemUoc2hhcGUodmFsdWVzKSkKICAgICBsb2NhbFN0YXJ0ICg6ICAgICAgICAgKSA9IDEK
ICAgICBsb2NhbENvdW50ICg6bnVtRGltcyAgKSA9IHNoYXBlKHZhbHVlcykKICAgICBsb2Nh
bENvdW50IChudW1EaW1zKzE6KSA9IDEKICAgICBsb2NhbFN0cmlkZSg6ICAgICAgICAgKSA9
IDEKICAgICBsb2NhbE1hcCAgICg6bnVtRGltcyAgKSA9ICgvIDEsIChwcm9kdWN0KGxvY2Fs
Q291bnQoOmNvdW50ZXIpKSwgY291bnRlciA9IDEsIG51bURpbXMgLSAxKSAvKQogCiAgICAg
aWYocHJlc2VudChzdGFydCkpICBsb2NhbFN0YXJ0ICg6c2l6ZShzdGFydCkgKSAgPSBzdGFy
dCg6KQogICAgIGlmKHByZXNlbnQoY291bnQpKSAgbG9jYWxDb3VudCAoOnNpemUoY291bnQp
ICkgID0gY291bnQoOikKICAgICBpZihwcmVzZW50KHN0cmlkZSkpIGxvY2FsU3RyaWRlKDpz
aXplKHN0cmlkZSkpID0gc3RyaWRlKDopCiAgICAgaWYocHJlc2VudChtYXApKSAgdGhlbgog
ICAgICAgbG9jYWxNYXAgICAoOnNpemUobWFwKSkgICAgPSBtYXAoOikKICAgICAgIG5mOTBf
cHV0X3Zhcl82RF9Gb3VyQnl0ZUludCA9ICYKICAgICAgICAgIG5mX3B1dF92YXJtX2ludChu
Y2lkLCB2YXJpZCwgbG9jYWxTdGFydCwgbG9jYWxDb3VudCwgbG9jYWxTdHJpZGUsIGxvY2Fs
TWFwLCBpbnQodmFsdWVzKSkKICAgICBlbHNlCiAgICAgICBuZjkwX3B1dF92YXJfNkRfRm91
ckJ5dGVJbnQgPSAmCiAgICAgICAgICBuZl9wdXRfdmFyc19pbnQobmNpZCwgdmFyaWQsIGxv
Y2FsU3RhcnQsIGxvY2FsQ291bnQsIGxvY2FsU3RyaWRlLCBpbnQodmFsdWVzKSkKICAgICBl
bmQgaWYKICAgZW5kIGZ1bmN0aW9uIG5mOTBfcHV0X3Zhcl82RF9Gb3VyQnl0ZUludAoKCiAg
IGZ1bmN0aW9uIG5mOTBfcHV0X3Zhcl83RF9Gb3VyQnl0ZUludChuY2lkLCB2YXJpZCwgdmFs
dWVzLCBzdGFydCwgY291bnQsIHN0cmlkZSwgbWFwKQogICAgIGludGVnZXIsICAgICAgICAg
ICAgICAgICAgICAgICAgIGludGVudCggaW4pIDo6IG5jaWQsIHZhcmlkCiAgICAgaW50ZWdl
ciAoa2luZCA9IEZvdXJCeXRlSW50KSwgZGltZW5zaW9uKDosIDosIDosIDosIDosIDosIDop
LCAmCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50ZW50KCBpbikg
OjogdmFsdWVzCiAgICAgaW50ZWdlciwgZGltZW5zaW9uKDopLCBvcHRpb25hbCwgaW50ZW50
KCBpbikgOjogc3RhcnQsIGNvdW50LCBzdHJpZGUsIG1hcAogICAgIGludGVnZXIgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDo6IG5mOTBfcHV0X3Zhcl83RF9Gb3Vy
Qnl0ZUludAogCiAgICAgaW50ZWdlciwgZGltZW5zaW9uKG5mOTBfbWF4X3Zhcl9kaW1zKSA6
OiBsb2NhbFN0YXJ0LCBsb2NhbENvdW50LCBsb2NhbFN0cmlkZSwgbG9jYWxNYXAKICAgICBp
bnRlZ2VyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDo6IG51bURpbXMsIGNvdW50
ZXIKIAogICAgICEgU2V0IGxvY2FsIGFyZ3VtZW50cyB0byBkZWZhdWx0IHZhbHVlcwogICAg
IG51bURpbXMgICAgICAgICAgICAgICAgID0gc2l6ZShzaGFwZSh2YWx1ZXMpKQogICAgIGxv
Y2FsU3RhcnQgKDogICAgICAgICApID0gMQogICAgIGxvY2FsQ291bnQgKDpudW1EaW1zICAp
ID0gc2hhcGUodmFsdWVzKQogICAgIGxvY2FsQ291bnQgKG51bURpbXMrMTopID0gMQogICAg
IGxvY2FsU3RyaWRlKDogICAgICAgICApID0gMQogICAgIGxvY2FsTWFwICAgKDpudW1EaW1z
ICApID0gKC8gMSwgKHByb2R1Y3QobG9jYWxDb3VudCg6Y291bnRlcikpLCBjb3VudGVyID0g
MSwgbnVtRGltcyAtIDEpIC8pCiAKICAgICBpZihwcmVzZW50KHN0YXJ0KSkgIGxvY2FsU3Rh
cnQgKDpzaXplKHN0YXJ0KSApICA9IHN0YXJ0KDopCiAgICAgaWYocHJlc2VudChjb3VudCkp
ICBsb2NhbENvdW50ICg6c2l6ZShjb3VudCkgKSAgPSBjb3VudCg6KQogICAgIGlmKHByZXNl
bnQoc3RyaWRlKSkgbG9jYWxTdHJpZGUoOnNpemUoc3RyaWRlKSkgPSBzdHJpZGUoOikKICAg
ICBpZihwcmVzZW50KG1hcCkpICB0aGVuCiAgICAgICBsb2NhbE1hcCAgICg6c2l6ZShtYXAp
KSAgICA9IG1hcCg6KQogICAgICAgbmY5MF9wdXRfdmFyXzdEX0ZvdXJCeXRlSW50ID0gJgog
ICAgICAgICAgbmZfcHV0X3Zhcm1faW50KG5jaWQsIHZhcmlkLCBsb2NhbFN0YXJ0LCBsb2Nh
bENvdW50LCBsb2NhbFN0cmlkZSwgbG9jYWxNYXAsIGludCh2YWx1ZXMpKQogICAgIGVsc2UK
ICAgICAgIG5mOTBfcHV0X3Zhcl83RF9Gb3VyQnl0ZUludCA9ICYKICAgICAgICAgIG5mX3B1
dF92YXJzX2ludChuY2lkLCB2YXJpZCwgbG9jYWxTdGFydCwgbG9jYWxDb3VudCwgbG9jYWxT
dHJpZGUsIGludCh2YWx1ZXMpKQogICAgIGVuZCBpZgogICBlbmQgZnVuY3Rpb24gbmY5MF9w
dXRfdmFyXzdEX0ZvdXJCeXRlSW50CgoKICAgZnVuY3Rpb24gbmY5MF9wdXRfdmFyXzFEX0Vp
Z2h0Qnl0ZUludChuY2lkLCB2YXJpZCwgdmFsdWVzLCBzdGFydCwgY291bnQsIHN0cmlkZSwg
bWFwKQogICAgIGludGVnZXIsICAgICAgICAgICAgICAgICAgICAgICAgIGludGVudCggaW4p
IDo6IG5jaWQsIHZhcmlkCiAgICAgaW50ZWdlciAoa2luZCA9IEVpZ2h0Qnl0ZUludCksIGRp
bWVuc2lvbig6KSwgJgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dGVudCggaW4pIDo6IHZhbHVlcwogICAgIGludGVnZXIsIGRpbWVuc2lvbig6KSwgb3B0aW9u
YWwsIGludGVudCggaW4pIDo6IHN0YXJ0LCBjb3VudCwgc3RyaWRlLCBtYXAKICAgICBpbnRl
Z2VyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6OiBuZjkwX3B1dF92
YXJfMURfRWlnaHRCeXRlSW50CiAKICAgICBpbnRlZ2VyLCBkaW1lbnNpb24obmY5MF9tYXhf
dmFyX2RpbXMpIDo6IGxvY2FsU3RhcnQsIGxvY2FsQ291bnQsIGxvY2FsU3RyaWRlLCBsb2Nh
bE1hcAogICAgIGludGVnZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOjogbnVt
RGltcywgY291bnRlcgogCiAgICAgISBTZXQgbG9jYWwgYXJndW1lbnRzIHRvIGRlZmF1bHQg
dmFsdWVzCiAgICAgbnVtRGltcyAgICAgICAgICAgICAgICAgPSBzaXplKHNoYXBlKHZhbHVl
cykpCiAgICAgbG9jYWxTdGFydCAoOiAgICAgICAgICkgPSAxCiAgICAgbG9jYWxDb3VudCAo
Om51bURpbXMgICkgPSBzaGFwZSh2YWx1ZXMpCiAgICAgbG9jYWxDb3VudCAobnVtRGltcysx
OikgPSAxCiAgICAgbG9jYWxTdHJpZGUoOiAgICAgICAgICkgPSAxCiAgICAgbG9jYWxNYXAg
ICAoOm51bURpbXMgICkgPSAoLyAxLCAocHJvZHVjdChsb2NhbENvdW50KDpjb3VudGVyKSks
IGNvdW50ZXIgPSAxLCBudW1EaW1zIC0gMSkgLykKIAogICAgIGlmKHByZXNlbnQoc3RhcnQp
KSAgbG9jYWxTdGFydCAoOnNpemUoc3RhcnQpICkgID0gc3RhcnQoOikKICAgICBpZihwcmVz
ZW50KGNvdW50KSkgIGxvY2FsQ291bnQgKDpzaXplKGNvdW50KSApICA9IGNvdW50KDopCiAg
ICAgaWYocHJlc2VudChzdHJpZGUpKSBsb2NhbFN0cmlkZSg6c2l6ZShzdHJpZGUpKSA9IHN0
cmlkZSg6KQogICAgIGlmKHByZXNlbnQobWFwKSkgIHRoZW4KICAgICAgIGxvY2FsTWFwICAg
KDpzaXplKG1hcCkpICAgID0gbWFwKDopCiAgICAgICBuZjkwX3B1dF92YXJfMURfRWlnaHRC
eXRlSW50ID0gJgogICAgICAgICAgbmZfcHV0X3Zhcm1faW50KG5jaWQsIHZhcmlkLCBsb2Nh
bFN0YXJ0LCBsb2NhbENvdW50LCBsb2NhbFN0cmlkZSwgbG9jYWxNYXAsIGludCh2YWx1ZXMp
KQogICAgIGVsc2UKICAgICAgIG5mOTBfcHV0X3Zhcl8xRF9FaWdodEJ5dGVJbnQgPSAmCiAg
ICAgICAgICBuZl9wdXRfdmFyc19pbnQobmNpZCwgdmFyaWQsIGxvY2FsU3RhcnQsIGxvY2Fs
Q291bnQsIGxvY2FsU3RyaWRlLCBpbnQodmFsdWVzKSkKICAgICBlbmQgaWYKICAgZW5kIGZ1
bmN0aW9uIG5mOTBfcHV0X3Zhcl8xRF9FaWdodEJ5dGVJbnQKCgogICBmdW5jdGlvbiBuZjkw
X3B1dF92YXJfMkRfRWlnaHRCeXRlSW50KG5jaWQsIHZhcmlkLCB2YWx1ZXMsIHN0YXJ0LCBj
b3VudCwgc3RyaWRlLCBtYXApCiAgICAgaW50ZWdlciwgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50ZW50KCBpbikgOjogbmNpZCwgdmFyaWQKICAgICBpbnRlZ2VyIChraW5kID0gRWln
aHRCeXRlSW50KSwgZGltZW5zaW9uKDosIDopLCAmCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50ZW50KCBpbikgOjogdmFsdWVzCiAgICAgaW50ZWdlciwgZGlt
ZW5zaW9uKDopLCBvcHRpb25hbCwgaW50ZW50KCBpbikgOjogc3RhcnQsIGNvdW50LCBzdHJp
ZGUsIG1hcAogICAgIGludGVnZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIDo6IG5mOTBfcHV0X3Zhcl8yRF9FaWdodEJ5dGVJbnQKIAogICAgIGludGVnZXIsIGRp
bWVuc2lvbihuZjkwX21heF92YXJfZGltcykgOjogbG9jYWxTdGFydCwgbG9jYWxDb3VudCwg
bG9jYWxTdHJpZGUsIGxvY2FsTWFwCiAgICAgaW50ZWdlciAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICA6OiBudW1EaW1zLCBjb3VudGVyCiAKICAgICAhIFNldCBsb2NhbCBhcmd1
bWVudHMgdG8gZGVmYXVsdCB2YWx1ZXMKICAgICBudW1EaW1zICAgICAgICAgICAgICAgICA9
IHNpemUoc2hhcGUodmFsdWVzKSkKICAgICBsb2NhbFN0YXJ0ICg6ICAgICAgICAgKSA9IDEK
ICAgICBsb2NhbENvdW50ICg6bnVtRGltcyAgKSA9IHNoYXBlKHZhbHVlcykKICAgICBsb2Nh
bENvdW50IChudW1EaW1zKzE6KSA9IDEKICAgICBsb2NhbFN0cmlkZSg6ICAgICAgICAgKSA9
IDEKICAgICBsb2NhbE1hcCAgICg6bnVtRGltcyAgKSA9ICgvIDEsIChwcm9kdWN0KGxvY2Fs
Q291bnQoOmNvdW50ZXIpKSwgY291bnRlciA9IDEsIG51bURpbXMgLSAxKSAvKQogCiAgICAg
aWYocHJlc2VudChzdGFydCkpICBsb2NhbFN0YXJ0ICg6c2l6ZShzdGFydCkgKSAgPSBzdGFy
dCg6KQogICAgIGlmKHByZXNlbnQoY291bnQpKSAgbG9jYWxDb3VudCAoOnNpemUoY291bnQp
ICkgID0gY291bnQoOikKICAgICBpZihwcmVzZW50KHN0cmlkZSkpIGxvY2FsU3RyaWRlKDpz
aXplKHN0cmlkZSkpID0gc3RyaWRlKDopCiAgICAgaWYocHJlc2VudChtYXApKSAgdGhlbgog
ICAgICAgbG9jYWxNYXAgICAoOnNpemUobWFwKSkgICAgPSBtYXAoOikKICAgICAgIG5mOTBf
cHV0X3Zhcl8yRF9FaWdodEJ5dGVJbnQgPSAmCiAgICAgICAgICBuZl9wdXRfdmFybV9pbnQo
bmNpZCwgdmFyaWQsIGxvY2FsU3RhcnQsIGxvY2FsQ291bnQsIGxvY2FsU3RyaWRlLCBsb2Nh
bE1hcCwgaW50KHZhbHVlcykpCiAgICAgZWxzZQogICAgICAgbmY5MF9wdXRfdmFyXzJEX0Vp
Z2h0Qnl0ZUludCA9ICYKICAgICAgICAgIG5mX3B1dF92YXJzX2ludChuY2lkLCB2YXJpZCwg
bG9jYWxTdGFydCwgbG9jYWxDb3VudCwgbG9jYWxTdHJpZGUsIGludCh2YWx1ZXMpKQogICAg
IGVuZCBpZgogICBlbmQgZnVuY3Rpb24gbmY5MF9wdXRfdmFyXzJEX0VpZ2h0Qnl0ZUludAoK
CiAgIGZ1bmN0aW9uIG5mOTBfcHV0X3Zhcl8zRF9FaWdodEJ5dGVJbnQobmNpZCwgdmFyaWQs
IHZhbHVlcywgc3RhcnQsIGNvdW50LCBzdHJpZGUsIG1hcCkKICAgICBpbnRlZ2VyLCAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnRlbnQoIGluKSA6OiBuY2lkLCB2YXJpZAogICAgIGlu
dGVnZXIgKGtpbmQgPSBFaWdodEJ5dGVJbnQpLCBkaW1lbnNpb24oOiwgOiwgOiksICYKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnRlbnQoIGluKSA6OiB2YWx1
ZXMKICAgICBpbnRlZ2VyLCBkaW1lbnNpb24oOiksIG9wdGlvbmFsLCBpbnRlbnQoIGluKSA6
OiBzdGFydCwgY291bnQsIHN0cmlkZSwgbWFwCiAgICAgaW50ZWdlciAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgOjogbmY5MF9wdXRfdmFyXzNEX0VpZ2h0Qnl0ZUlu
dAogCiAgICAgaW50ZWdlciwgZGltZW5zaW9uKG5mOTBfbWF4X3Zhcl9kaW1zKSA6OiBsb2Nh
bFN0YXJ0LCBsb2NhbENvdW50LCBsb2NhbFN0cmlkZSwgbG9jYWxNYXAKICAgICBpbnRlZ2Vy
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDo6IG51bURpbXMsIGNvdW50ZXIKIAog
ICAgICEgU2V0IGxvY2FsIGFyZ3VtZW50cyB0byBkZWZhdWx0IHZhbHVlcwogICAgIG51bURp
bXMgICAgICAgICAgICAgICAgID0gc2l6ZShzaGFwZSh2YWx1ZXMpKQogICAgIGxvY2FsU3Rh
cnQgKDogICAgICAgICApID0gMQogICAgIGxvY2FsQ291bnQgKDpudW1EaW1zICApID0gc2hh
cGUodmFsdWVzKQogICAgIGxvY2FsQ291bnQgKG51bURpbXMrMTopID0gMQogICAgIGxvY2Fs
U3RyaWRlKDogICAgICAgICApID0gMQogICAgIGxvY2FsTWFwICAgKDpudW1EaW1zICApID0g
KC8gMSwgKHByb2R1Y3QobG9jYWxDb3VudCg6Y291bnRlcikpLCBjb3VudGVyID0gMSwgbnVt
RGltcyAtIDEpIC8pCiAKICAgICBpZihwcmVzZW50KHN0YXJ0KSkgIGxvY2FsU3RhcnQgKDpz
aXplKHN0YXJ0KSApICA9IHN0YXJ0KDopCiAgICAgaWYocHJlc2VudChjb3VudCkpICBsb2Nh
bENvdW50ICg6c2l6ZShjb3VudCkgKSAgPSBjb3VudCg6KQogICAgIGlmKHByZXNlbnQoc3Ry
aWRlKSkgbG9jYWxTdHJpZGUoOnNpemUoc3RyaWRlKSkgPSBzdHJpZGUoOikKICAgICBpZihw
cmVzZW50KG1hcCkpICB0aGVuCiAgICAgICBsb2NhbE1hcCAgICg6c2l6ZShtYXApKSAgICA9
IG1hcCg6KQogICAgICAgbmY5MF9wdXRfdmFyXzNEX0VpZ2h0Qnl0ZUludCA9ICYKICAgICAg
ICAgIG5mX3B1dF92YXJtX2ludChuY2lkLCB2YXJpZCwgbG9jYWxTdGFydCwgbG9jYWxDb3Vu
dCwgbG9jYWxTdHJpZGUsIGxvY2FsTWFwLCBpbnQodmFsdWVzKSkKICAgICBlbHNlCiAgICAg
ICBuZjkwX3B1dF92YXJfM0RfRWlnaHRCeXRlSW50ID0gJgogICAgICAgICAgbmZfcHV0X3Zh
cnNfaW50KG5jaWQsIHZhcmlkLCBsb2NhbFN0YXJ0LCBsb2NhbENvdW50LCBsb2NhbFN0cmlk
ZSwgaW50KHZhbHVlcykpCiAgICAgZW5kIGlmCiAgIGVuZCBmdW5jdGlvbiBuZjkwX3B1dF92
YXJfM0RfRWlnaHRCeXRlSW50CgoKICAgZnVuY3Rpb24gbmY5MF9wdXRfdmFyXzREX0VpZ2h0
Qnl0ZUludChuY2lkLCB2YXJpZCwgdmFsdWVzLCBzdGFydCwgY291bnQsIHN0cmlkZSwgbWFw
KQogICAgIGludGVnZXIsICAgICAgICAgICAgICAgICAgICAgICAgIGludGVudCggaW4pIDo6
IG5jaWQsIHZhcmlkCiAgICAgaW50ZWdlciAoa2luZCA9IEVpZ2h0Qnl0ZUludCksIGRpbWVu
c2lvbig6LCA6LCA6LCA6KSwgJgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludGVudCggaW4pIDo6IHZhbHVlcwogICAgIGludGVnZXIsIGRpbWVuc2lvbig6KSwg
b3B0aW9uYWwsIGludGVudCggaW4pIDo6IHN0YXJ0LCBjb3VudCwgc3RyaWRlLCBtYXAKICAg
ICBpbnRlZ2VyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6OiBuZjkw
X3B1dF92YXJfNERfRWlnaHRCeXRlSW50CiAKICAgICBpbnRlZ2VyLCBkaW1lbnNpb24obmY5
MF9tYXhfdmFyX2RpbXMpIDo6IGxvY2FsU3RhcnQsIGxvY2FsQ291bnQsIGxvY2FsU3RyaWRl
LCBsb2NhbE1hcAogICAgIGludGVnZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
OjogbnVtRGltcywgY291bnRlcgogCiAgICAgISBTZXQgbG9jYWwgYXJndW1lbnRzIHRvIGRl
ZmF1bHQgdmFsdWVzCiAgICAgbnVtRGltcyAgICAgICAgICAgICAgICAgPSBzaXplKHNoYXBl
KHZhbHVlcykpCiAgICAgbG9jYWxTdGFydCAoOiAgICAgICAgICkgPSAxCiAgICAgbG9jYWxD
b3VudCAoOm51bURpbXMgICkgPSBzaGFwZSh2YWx1ZXMpCiAgICAgbG9jYWxDb3VudCAobnVt
RGltcysxOikgPSAxCiAgICAgbG9jYWxTdHJpZGUoOiAgICAgICAgICkgPSAxCiAgICAgbG9j
YWxNYXAgICAoOm51bURpbXMgICkgPSAoLyAxLCAocHJvZHVjdChsb2NhbENvdW50KDpjb3Vu
dGVyKSksIGNvdW50ZXIgPSAxLCBudW1EaW1zIC0gMSkgLykKIAogICAgIGlmKHByZXNlbnQo
c3RhcnQpKSAgbG9jYWxTdGFydCAoOnNpemUoc3RhcnQpICkgID0gc3RhcnQoOikKICAgICBp
ZihwcmVzZW50KGNvdW50KSkgIGxvY2FsQ291bnQgKDpzaXplKGNvdW50KSApICA9IGNvdW50
KDopCiAgICAgaWYocHJlc2VudChzdHJpZGUpKSBsb2NhbFN0cmlkZSg6c2l6ZShzdHJpZGUp
KSA9IHN0cmlkZSg6KQogICAgIGlmKHByZXNlbnQobWFwKSkgIHRoZW4KICAgICAgIGxvY2Fs
TWFwICAgKDpzaXplKG1hcCkpICAgID0gbWFwKDopCiAgICAgICBuZjkwX3B1dF92YXJfNERf
RWlnaHRCeXRlSW50ID0gJgogICAgICAgICAgbmZfcHV0X3Zhcm1faW50KG5jaWQsIHZhcmlk
LCBsb2NhbFN0YXJ0LCBsb2NhbENvdW50LCBsb2NhbFN0cmlkZSwgbG9jYWxNYXAsIGludCh2
YWx1ZXMpKQogICAgIGVsc2UKICAgICAgIG5mOTBfcHV0X3Zhcl80RF9FaWdodEJ5dGVJbnQg
PSAmCiAgICAgICAgICBuZl9wdXRfdmFyc19pbnQobmNpZCwgdmFyaWQsIGxvY2FsU3RhcnQs
IGxvY2FsQ291bnQsIGxvY2FsU3RyaWRlLCBpbnQodmFsdWVzKSkKICAgICBlbmQgaWYKICAg
ZW5kIGZ1bmN0aW9uIG5mOTBfcHV0X3Zhcl80RF9FaWdodEJ5dGVJbnQKCgogICBmdW5jdGlv
biBuZjkwX3B1dF92YXJfNURfRWlnaHRCeXRlSW50KG5jaWQsIHZhcmlkLCB2YWx1ZXMsIHN0
YXJ0LCBjb3VudCwgc3RyaWRlLCBtYXApCiAgICAgaW50ZWdlciwgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50ZW50KCBpbikgOjogbmNpZCwgdmFyaWQKICAgICBpbnRlZ2VyIChraW5k
ID0gRWlnaHRCeXRlSW50KSwgZGltZW5zaW9uKDosIDosIDosIDosIDopLCAmCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50ZW50KCBpbikgOjogdmFsdWVzCiAg
ICAgaW50ZWdlciwgZGltZW5zaW9uKDopLCBvcHRpb25hbCwgaW50ZW50KCBpbikgOjogc3Rh
cnQsIGNvdW50LCBzdHJpZGUsIG1hcAogICAgIGludGVnZXIgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIDo6IG5mOTBfcHV0X3Zhcl81RF9FaWdodEJ5dGVJbnQKIAog
ICAgIGludGVnZXIsIGRpbWVuc2lvbihuZjkwX21heF92YXJfZGltcykgOjogbG9jYWxTdGFy
dCwgbG9jYWxDb3VudCwgbG9jYWxTdHJpZGUsIGxvY2FsTWFwCiAgICAgaW50ZWdlciAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICA6OiBudW1EaW1zLCBjb3VudGVyCiAKICAgICAh
IFNldCBsb2NhbCBhcmd1bWVudHMgdG8gZGVmYXVsdCB2YWx1ZXMKICAgICBudW1EaW1zICAg
ICAgICAgICAgICAgICA9IHNpemUoc2hhcGUodmFsdWVzKSkKICAgICBsb2NhbFN0YXJ0ICg6
ICAgICAgICAgKSA9IDEKICAgICBsb2NhbENvdW50ICg6bnVtRGltcyAgKSA9IHNoYXBlKHZh
bHVlcykKICAgICBsb2NhbENvdW50IChudW1EaW1zKzE6KSA9IDEKICAgICBsb2NhbFN0cmlk
ZSg6ICAgICAgICAgKSA9IDEKICAgICBsb2NhbE1hcCAgICg6bnVtRGltcyAgKSA9ICgvIDEs
IChwcm9kdWN0KGxvY2FsQ291bnQoOmNvdW50ZXIpKSwgY291bnRlciA9IDEsIG51bURpbXMg
LSAxKSAvKQogCiAgICAgaWYocHJlc2VudChzdGFydCkpICBsb2NhbFN0YXJ0ICg6c2l6ZShz
dGFydCkgKSAgPSBzdGFydCg6KQogICAgIGlmKHByZXNlbnQoY291bnQpKSAgbG9jYWxDb3Vu
dCAoOnNpemUoY291bnQpICkgID0gY291bnQoOikKICAgICBpZihwcmVzZW50KHN0cmlkZSkp
IGxvY2FsU3RyaWRlKDpzaXplKHN0cmlkZSkpID0gc3RyaWRlKDopCiAgICAgaWYocHJlc2Vu
dChtYXApKSAgdGhlbgogICAgICAgbG9jYWxNYXAgICAoOnNpemUobWFwKSkgICAgPSBtYXAo
OikKICAgICAgIG5mOTBfcHV0X3Zhcl81RF9FaWdodEJ5dGVJbnQgPSAmCiAgICAgICAgICBu
Zl9wdXRfdmFybV9pbnQobmNpZCwgdmFyaWQsIGxvY2FsU3RhcnQsIGxvY2FsQ291bnQsIGxv
Y2FsU3RyaWRlLCBsb2NhbE1hcCwgaW50KHZhbHVlcykpCiAgICAgZWxzZQogICAgICAgbmY5
MF9wdXRfdmFyXzVEX0VpZ2h0Qnl0ZUludCA9ICYKICAgICAgICAgIG5mX3B1dF92YXJzX2lu
dChuY2lkLCB2YXJpZCwgbG9jYWxTdGFydCwgbG9jYWxDb3VudCwgbG9jYWxTdHJpZGUsIGlu
dCh2YWx1ZXMpKQogICAgIGVuZCBpZgogICBlbmQgZnVuY3Rpb24gbmY5MF9wdXRfdmFyXzVE
X0VpZ2h0Qnl0ZUludAoKCiAgIGZ1bmN0aW9uIG5mOTBfcHV0X3Zhcl82RF9FaWdodEJ5dGVJ
bnQobmNpZCwgdmFyaWQsIHZhbHVlcywgc3RhcnQsIGNvdW50LCBzdHJpZGUsIG1hcCkKICAg
ICBpbnRlZ2VyLCAgICAgICAgICAgICAgICAgICAgICAgICBpbnRlbnQoIGluKSA6OiBuY2lk
LCB2YXJpZAogICAgIGludGVnZXIgKGtpbmQgPSBFaWdodEJ5dGVJbnQpLCBkaW1lbnNpb24o
OiwgOiwgOiwgOiwgOiwgOiksICYKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnRlbnQoIGluKSA6OiB2YWx1ZXMKICAgICBpbnRlZ2VyLCBkaW1lbnNpb24oOiks
IG9wdGlvbmFsLCBpbnRlbnQoIGluKSA6OiBzdGFydCwgY291bnQsIHN0cmlkZSwgbWFwCiAg
ICAgaW50ZWdlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOjogbmY5
MF9wdXRfdmFyXzZEX0VpZ2h0Qnl0ZUludAogCiAgICAgaW50ZWdlciwgZGltZW5zaW9uKG5m
OTBfbWF4X3Zhcl9kaW1zKSA6OiBsb2NhbFN0YXJ0LCBsb2NhbENvdW50LCBsb2NhbFN0cmlk
ZSwgbG9jYWxNYXAKICAgICBpbnRlZ2VyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IDo6IG51bURpbXMsIGNvdW50ZXIKIAogICAgICEgU2V0IGxvY2FsIGFyZ3VtZW50cyB0byBk
ZWZhdWx0IHZhbHVlcwogICAgIG51bURpbXMgICAgICAgICAgICAgICAgID0gc2l6ZShzaGFw
ZSh2YWx1ZXMpKQogICAgIGxvY2FsU3RhcnQgKDogICAgICAgICApID0gMQogICAgIGxvY2Fs
Q291bnQgKDpudW1EaW1zICApID0gc2hhcGUodmFsdWVzKQogICAgIGxvY2FsQ291bnQgKG51
bURpbXMrMTopID0gMQogICAgIGxvY2FsU3RyaWRlKDogICAgICAgICApID0gMQogICAgIGxv
Y2FsTWFwICAgKDpudW1EaW1zICApID0gKC8gMSwgKHByb2R1Y3QobG9jYWxDb3VudCg6Y291
bnRlcikpLCBjb3VudGVyID0gMSwgbnVtRGltcyAtIDEpIC8pCiAKICAgICBpZihwcmVzZW50
KHN0YXJ0KSkgIGxvY2FsU3RhcnQgKDpzaXplKHN0YXJ0KSApICA9IHN0YXJ0KDopCiAgICAg
aWYocHJlc2VudChjb3VudCkpICBsb2NhbENvdW50ICg6c2l6ZShjb3VudCkgKSAgPSBjb3Vu
dCg6KQogICAgIGlmKHByZXNlbnQoc3RyaWRlKSkgbG9jYWxTdHJpZGUoOnNpemUoc3RyaWRl
KSkgPSBzdHJpZGUoOikKICAgICBpZihwcmVzZW50KG1hcCkpICB0aGVuCiAgICAgICBsb2Nh
bE1hcCAgICg6c2l6ZShtYXApKSAgICA9IG1hcCg6KQogICAgICAgbmY5MF9wdXRfdmFyXzZE
X0VpZ2h0Qnl0ZUludCA9ICYKICAgICAgICAgIG5mX3B1dF92YXJtX2ludChuY2lkLCB2YXJp
ZCwgbG9jYWxTdGFydCwgbG9jYWxDb3VudCwgbG9jYWxTdHJpZGUsIGxvY2FsTWFwLCBpbnQo
dmFsdWVzKSkKICAgICBlbHNlCiAgICAgICBuZjkwX3B1dF92YXJfNkRfRWlnaHRCeXRlSW50
ID0gJgogICAgICAgICAgbmZfcHV0X3ZhcnNfaW50KG5jaWQsIHZhcmlkLCBsb2NhbFN0YXJ0
LCBsb2NhbENvdW50LCBsb2NhbFN0cmlkZSwgaW50KHZhbHVlcykpCiAgICAgZW5kIGlmCiAg
IGVuZCBmdW5jdGlvbiBuZjkwX3B1dF92YXJfNkRfRWlnaHRCeXRlSW50CgoKICAgZnVuY3Rp
b24gbmY5MF9wdXRfdmFyXzdEX0VpZ2h0Qnl0ZUludChuY2lkLCB2YXJpZCwgdmFsdWVzLCBz
dGFydCwgY291bnQsIHN0cmlkZSwgbWFwKQogICAgIGludGVnZXIsICAgICAgICAgICAgICAg
ICAgICAgICAgIGludGVudCggaW4pIDo6IG5jaWQsIHZhcmlkCiAgICAgaW50ZWdlciAoa2lu
ZCA9IEVpZ2h0Qnl0ZUludCksIGRpbWVuc2lvbig6LCA6LCA6LCA6LCA6LCA6LCA6KSwgJgog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludGVudCggaW4pIDo6IHZh
bHVlcwogICAgIGludGVnZXIsIGRpbWVuc2lvbig6KSwgb3B0aW9uYWwsIGludGVudCggaW4p
IDo6IHN0YXJ0LCBjb3VudCwgc3RyaWRlLCBtYXAKICAgICBpbnRlZ2VyICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICA6OiBuZjkwX3B1dF92YXJfN0RfRWlnaHRCeXRl
SW50CiAKICAgICBpbnRlZ2VyLCBkaW1lbnNpb24obmY5MF9tYXhfdmFyX2RpbXMpIDo6IGxv
Y2FsU3RhcnQsIGxvY2FsQ291bnQsIGxvY2FsU3RyaWRlLCBsb2NhbE1hcAogICAgIGludGVn
ZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOjogbnVtRGltcywgY291bnRlcgog
CiAgICAgISBTZXQgbG9jYWwgYXJndW1lbnRzIHRvIGRlZmF1bHQgdmFsdWVzCiAgICAgbnVt
RGltcyAgICAgICAgICAgICAgICAgPSBzaXplKHNoYXBlKHZhbHVlcykpCiAgICAgbG9jYWxT
dGFydCAoOiAgICAgICAgICkgPSAxCiAgICAgbG9jYWxDb3VudCAoOm51bURpbXMgICkgPSBz
aGFwZSh2YWx1ZXMpCiAgICAgbG9jYWxDb3VudCAobnVtRGltcysxOikgPSAxCiAgICAgbG9j
YWxTdHJpZGUoOiAgICAgICAgICkgPSAxCiAgICAgbG9jYWxNYXAgICAoOm51bURpbXMgICkg
PSAoLyAxLCAocHJvZHVjdChsb2NhbENvdW50KDpjb3VudGVyKSksIGNvdW50ZXIgPSAxLCBu
dW1EaW1zIC0gMSkgLykKIAogICAgIGlmKHByZXNlbnQoc3RhcnQpKSAgbG9jYWxTdGFydCAo
OnNpemUoc3RhcnQpICkgID0gc3RhcnQoOikKICAgICBpZihwcmVzZW50KGNvdW50KSkgIGxv
Y2FsQ291bnQgKDpzaXplKGNvdW50KSApICA9IGNvdW50KDopCiAgICAgaWYocHJlc2VudChz
dHJpZGUpKSBsb2NhbFN0cmlkZSg6c2l6ZShzdHJpZGUpKSA9IHN0cmlkZSg6KQogICAgIGlm
KHByZXNlbnQobWFwKSkgIHRoZW4KICAgICAgIGxvY2FsTWFwICAgKDpzaXplKG1hcCkpICAg
ID0gbWFwKDopCiAgICAgICBuZjkwX3B1dF92YXJfN0RfRWlnaHRCeXRlSW50ID0gJgogICAg
ICAgICAgbmZfcHV0X3Zhcm1faW50KG5jaWQsIHZhcmlkLCBsb2NhbFN0YXJ0LCBsb2NhbENv
dW50LCBsb2NhbFN0cmlkZSwgbG9jYWxNYXAsIGludCh2YWx1ZXMpKQogICAgIGVsc2UKICAg
ICAgIG5mOTBfcHV0X3Zhcl83RF9FaWdodEJ5dGVJbnQgPSAmCiAgICAgICAgICBuZl9wdXRf
dmFyc19pbnQobmNpZCwgdmFyaWQsIGxvY2FsU3RhcnQsIGxvY2FsQ291bnQsIGxvY2FsU3Ry
aWRlLCBpbnQodmFsdWVzKSkKICAgICBlbmQgaWYKICAgZW5kIGZ1bmN0aW9uIG5mOTBfcHV0
X3Zhcl83RF9FaWdodEJ5dGVJbnQKCgogICBmdW5jdGlvbiBuZjkwX3B1dF92YXJfMURfRm91
ckJ5dGVSZWFsKG5jaWQsIHZhcmlkLCB2YWx1ZXMsIHN0YXJ0LCBjb3VudCwgc3RyaWRlLCBt
YXApCiAgICAgaW50ZWdlciwgICAgICAgICAgICAgICAgICAgICAgICAgaW50ZW50KCBpbikg
OjogbmNpZCwgdmFyaWQKICAgICByZWFsIChraW5kID0gRm91ckJ5dGVSZWFsKSwgZGltZW5z
aW9uKDopLCAmCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50ZW50
KCBpbikgOjogdmFsdWVzCiAgICAgaW50ZWdlciwgZGltZW5zaW9uKDopLCBvcHRpb25hbCwg
aW50ZW50KCBpbikgOjogc3RhcnQsIGNvdW50LCBzdHJpZGUsIG1hcAogICAgIGludGVnZXIg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDo6IG5mOTBfcHV0X3Zhcl8x
RF9Gb3VyQnl0ZVJlYWwKIAogICAgIGludGVnZXIsIGRpbWVuc2lvbihuZjkwX21heF92YXJf
ZGltcykgOjogbG9jYWxTdGFydCwgbG9jYWxDb3VudCwgbG9jYWxTdHJpZGUsIGxvY2FsTWFw
CiAgICAgaW50ZWdlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6OiBudW1EaW1z
LCBjb3VudGVyCiAKICAgICAhIFNldCBsb2NhbCBhcmd1bWVudHMgdG8gZGVmYXVsdCB2YWx1
ZXMKICAgICBudW1EaW1zICAgICAgICAgICAgICAgICA9IHNpemUoc2hhcGUodmFsdWVzKSkK
ICAgICBsb2NhbFN0YXJ0ICg6ICAgICAgICAgKSA9IDEKICAgICBsb2NhbENvdW50ICg6bnVt
RGltcyAgKSA9IHNoYXBlKHZhbHVlcykKICAgICBsb2NhbENvdW50IChudW1EaW1zKzE6KSA9
IDEKICAgICBsb2NhbFN0cmlkZSg6ICAgICAgICAgKSA9IDEKICAgICBsb2NhbE1hcCAgICg6
bnVtRGltcyAgKSA9ICgvIDEsIChwcm9kdWN0KGxvY2FsQ291bnQoOmNvdW50ZXIpKSwgY291
bnRlciA9IDEsIG51bURpbXMgLSAxKSAvKQogCiAgICAgaWYocHJlc2VudChzdGFydCkpICBs
b2NhbFN0YXJ0ICg6c2l6ZShzdGFydCkgKSAgPSBzdGFydCg6KQogICAgIGlmKHByZXNlbnQo
Y291bnQpKSAgbG9jYWxDb3VudCAoOnNpemUoY291bnQpICkgID0gY291bnQoOikKICAgICBp
ZihwcmVzZW50KHN0cmlkZSkpIGxvY2FsU3RyaWRlKDpzaXplKHN0cmlkZSkpID0gc3RyaWRl
KDopCiAgICAgaWYocHJlc2VudChtYXApKSAgdGhlbgogICAgICAgbG9jYWxNYXAgICAoOnNp
emUobWFwKSkgICAgPSBtYXAoOikKICAgICAgIG5mOTBfcHV0X3Zhcl8xRF9Gb3VyQnl0ZVJl
YWwgPSAmCiAgICAgICAgICBuZl9wdXRfdmFybV9yZWFsKG5jaWQsIHZhcmlkLCBsb2NhbFN0
YXJ0LCBsb2NhbENvdW50LCBsb2NhbFN0cmlkZSwgbG9jYWxNYXAsIHZhbHVlcykKICAgICBl
bHNlCiAgICAgICBuZjkwX3B1dF92YXJfMURfRm91ckJ5dGVSZWFsID0gJgogICAgICAgICAg
bmZfcHV0X3ZhcnNfcmVhbChuY2lkLCB2YXJpZCwgbG9jYWxTdGFydCwgbG9jYWxDb3VudCwg
bG9jYWxTdHJpZGUsIHZhbHVlcykKICAgICBlbmQgaWYKICAgZW5kIGZ1bmN0aW9uIG5mOTBf
cHV0X3Zhcl8xRF9Gb3VyQnl0ZVJlYWwKCgogICBmdW5jdGlvbiBuZjkwX3B1dF92YXJfMkRf
Rm91ckJ5dGVSZWFsKG5jaWQsIHZhcmlkLCB2YWx1ZXMsIHN0YXJ0LCBjb3VudCwgc3RyaWRl
LCBtYXApCiAgICAgaW50ZWdlciwgICAgICAgICAgICAgICAgICAgICAgICAgaW50ZW50KCBp
bikgOjogbmNpZCwgdmFyaWQKICAgICByZWFsIChraW5kID0gRm91ckJ5dGVSZWFsKSwgZGlt
ZW5zaW9uKDosIDopLCAmCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50ZW50KCBpbikgOjogdmFsdWVzCiAgICAgaW50ZWdlciwgZGltZW5zaW9uKDopLCBvcHRp
b25hbCwgaW50ZW50KCBpbikgOjogc3RhcnQsIGNvdW50LCBzdHJpZGUsIG1hcAogICAgIGlu
dGVnZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDo6IG5mOTBfcHV0
X3Zhcl8yRF9Gb3VyQnl0ZVJlYWwKIAogICAgIGludGVnZXIsIGRpbWVuc2lvbihuZjkwX21h
eF92YXJfZGltcykgOjogbG9jYWxTdGFydCwgbG9jYWxDb3VudCwgbG9jYWxTdHJpZGUsIGxv
Y2FsTWFwCiAgICAgaW50ZWdlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6OiBu
dW1EaW1zLCBjb3VudGVyCiAKICAgICAhIFNldCBsb2NhbCBhcmd1bWVudHMgdG8gZGVmYXVs
dCB2YWx1ZXMKICAgICBudW1EaW1zICAgICAgICAgICAgICAgICA9IHNpemUoc2hhcGUodmFs
dWVzKSkKICAgICBsb2NhbFN0YXJ0ICg6ICAgICAgICAgKSA9IDEKICAgICBsb2NhbENvdW50
ICg6bnVtRGltcyAgKSA9IHNoYXBlKHZhbHVlcykKICAgICBsb2NhbENvdW50IChudW1EaW1z
KzE6KSA9IDEKICAgICBsb2NhbFN0cmlkZSg6ICAgICAgICAgKSA9IDEKICAgICBsb2NhbE1h
cCAgICg6bnVtRGltcyAgKSA9ICgvIDEsIChwcm9kdWN0KGxvY2FsQ291bnQoOmNvdW50ZXIp
KSwgY291bnRlciA9IDEsIG51bURpbXMgLSAxKSAvKQogCiAgICAgaWYocHJlc2VudChzdGFy
dCkpICBsb2NhbFN0YXJ0ICg6c2l6ZShzdGFydCkgKSAgPSBzdGFydCg6KQogICAgIGlmKHBy
ZXNlbnQoY291bnQpKSAgbG9jYWxDb3VudCAoOnNpemUoY291bnQpICkgID0gY291bnQoOikK
ICAgICBpZihwcmVzZW50KHN0cmlkZSkpIGxvY2FsU3RyaWRlKDpzaXplKHN0cmlkZSkpID0g
c3RyaWRlKDopCiAgICAgaWYocHJlc2VudChtYXApKSAgdGhlbgogICAgICAgbG9jYWxNYXAg
ICAoOnNpemUobWFwKSkgICAgPSBtYXAoOikKICAgICAgIG5mOTBfcHV0X3Zhcl8yRF9Gb3Vy
Qnl0ZVJlYWwgPSAmCiAgICAgICAgICBuZl9wdXRfdmFybV9yZWFsKG5jaWQsIHZhcmlkLCBs
b2NhbFN0YXJ0LCBsb2NhbENvdW50LCBsb2NhbFN0cmlkZSwgbG9jYWxNYXAsIHZhbHVlcykK
ICAgICBlbHNlCiAgICAgICBuZjkwX3B1dF92YXJfMkRfRm91ckJ5dGVSZWFsID0gJgogICAg
ICAgICAgbmZfcHV0X3ZhcnNfcmVhbChuY2lkLCB2YXJpZCwgbG9jYWxTdGFydCwgbG9jYWxD
b3VudCwgbG9jYWxTdHJpZGUsIHZhbHVlcykKICAgICBlbmQgaWYKICAgZW5kIGZ1bmN0aW9u
IG5mOTBfcHV0X3Zhcl8yRF9Gb3VyQnl0ZVJlYWwKCgogICBmdW5jdGlvbiBuZjkwX3B1dF92
YXJfM0RfRm91ckJ5dGVSZWFsKG5jaWQsIHZhcmlkLCB2YWx1ZXMsIHN0YXJ0LCBjb3VudCwg
c3RyaWRlLCBtYXApCiAgICAgaW50ZWdlciwgICAgICAgICAgICAgICAgICAgICAgICAgaW50
ZW50KCBpbikgOjogbmNpZCwgdmFyaWQKICAgICByZWFsIChraW5kID0gRm91ckJ5dGVSZWFs
KSwgZGltZW5zaW9uKDosIDosIDopLCAmCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50ZW50KCBpbikgOjogdmFsdWVzCiAgICAgaW50ZWdlciwgZGltZW5zaW9u
KDopLCBvcHRpb25hbCwgaW50ZW50KCBpbikgOjogc3RhcnQsIGNvdW50LCBzdHJpZGUsIG1h
cAogICAgIGludGVnZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDo6
IG5mOTBfcHV0X3Zhcl8zRF9Gb3VyQnl0ZVJlYWwKIAogICAgIGludGVnZXIsIGRpbWVuc2lv
bihuZjkwX21heF92YXJfZGltcykgOjogbG9jYWxTdGFydCwgbG9jYWxDb3VudCwgbG9jYWxT
dHJpZGUsIGxvY2FsTWFwCiAgICAgaW50ZWdlciAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICA6OiBudW1EaW1zLCBjb3VudGVyCiAKICAgICAhIFNldCBsb2NhbCBhcmd1bWVudHMg
dG8gZGVmYXVsdCB2YWx1ZXMKICAgICBudW1EaW1zICAgICAgICAgICAgICAgICA9IHNpemUo
c2hhcGUodmFsdWVzKSkKICAgICBsb2NhbFN0YXJ0ICg6ICAgICAgICAgKSA9IDEKICAgICBs
b2NhbENvdW50ICg6bnVtRGltcyAgKSA9IHNoYXBlKHZhbHVlcykKICAgICBsb2NhbENvdW50
IChudW1EaW1zKzE6KSA9IDEKICAgICBsb2NhbFN0cmlkZSg6ICAgICAgICAgKSA9IDEKICAg
ICBsb2NhbE1hcCAgICg6bnVtRGltcyAgKSA9ICgvIDEsIChwcm9kdWN0KGxvY2FsQ291bnQo
OmNvdW50ZXIpKSwgY291bnRlciA9IDEsIG51bURpbXMgLSAxKSAvKQogCiAgICAgaWYocHJl
c2VudChzdGFydCkpICBsb2NhbFN0YXJ0ICg6c2l6ZShzdGFydCkgKSAgPSBzdGFydCg6KQog
ICAgIGlmKHByZXNlbnQoY291bnQpKSAgbG9jYWxDb3VudCAoOnNpemUoY291bnQpICkgID0g
Y291bnQoOikKICAgICBpZihwcmVzZW50KHN0cmlkZSkpIGxvY2FsU3RyaWRlKDpzaXplKHN0
cmlkZSkpID0gc3RyaWRlKDopCiAgICAgaWYocHJlc2VudChtYXApKSAgdGhlbgogICAgICAg
bG9jYWxNYXAgICAoOnNpemUobWFwKSkgICAgPSBtYXAoOikKICAgICAgIG5mOTBfcHV0X3Zh
cl8zRF9Gb3VyQnl0ZVJlYWwgPSAmCiAgICAgICAgICBuZl9wdXRfdmFybV9yZWFsKG5jaWQs
IHZhcmlkLCBsb2NhbFN0YXJ0LCBsb2NhbENvdW50LCBsb2NhbFN0cmlkZSwgbG9jYWxNYXAs
IHZhbHVlcykKICAgICBlbHNlCiAgICAgICBuZjkwX3B1dF92YXJfM0RfRm91ckJ5dGVSZWFs
ID0gJgogICAgICAgICAgbmZfcHV0X3ZhcnNfcmVhbChuY2lkLCB2YXJpZCwgbG9jYWxTdGFy
dCwgbG9jYWxDb3VudCwgbG9jYWxTdHJpZGUsIHZhbHVlcykKICAgICBlbmQgaWYKICAgZW5k
IGZ1bmN0aW9uIG5mOTBfcHV0X3Zhcl8zRF9Gb3VyQnl0ZVJlYWwKCgogICBmdW5jdGlvbiBu
ZjkwX3B1dF92YXJfNERfRm91ckJ5dGVSZWFsKG5jaWQsIHZhcmlkLCB2YWx1ZXMsIHN0YXJ0
LCBjb3VudCwgc3RyaWRlLCBtYXApCiAgICAgaW50ZWdlciwgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50ZW50KCBpbikgOjogbmNpZCwgdmFyaWQKICAgICByZWFsIChraW5kID0gRm91
ckJ5dGVSZWFsKSwgZGltZW5zaW9uKDosIDosIDosIDopLCAmCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50ZW50KCBpbikgOjogdmFsdWVzCiAgICAgaW50ZWdl
ciwgZGltZW5zaW9uKDopLCBvcHRpb25hbCwgaW50ZW50KCBpbikgOjogc3RhcnQsIGNvdW50
LCBzdHJpZGUsIG1hcAogICAgIGludGVnZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIDo6IG5mOTBfcHV0X3Zhcl80RF9Gb3VyQnl0ZVJlYWwKIAogICAgIGludGVn
ZXIsIGRpbWVuc2lvbihuZjkwX21heF92YXJfZGltcykgOjogbG9jYWxTdGFydCwgbG9jYWxD
b3VudCwgbG9jYWxTdHJpZGUsIGxvY2FsTWFwCiAgICAgaW50ZWdlciAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICA6OiBudW1EaW1zLCBjb3VudGVyCiAKICAgICAhIFNldCBsb2Nh
bCBhcmd1bWVudHMgdG8gZGVmYXVsdCB2YWx1ZXMKICAgICBudW1EaW1zICAgICAgICAgICAg
ICAgICA9IHNpemUoc2hhcGUodmFsdWVzKSkKICAgICBsb2NhbFN0YXJ0ICg6ICAgICAgICAg
KSA9IDEKICAgICBsb2NhbENvdW50ICg6bnVtRGltcyAgKSA9IHNoYXBlKHZhbHVlcykKICAg
ICBsb2NhbENvdW50IChudW1EaW1zKzE6KSA9IDEKICAgICBsb2NhbFN0cmlkZSg6ICAgICAg
ICAgKSA9IDEKICAgICBsb2NhbE1hcCAgICg6bnVtRGltcyAgKSA9ICgvIDEsIChwcm9kdWN0
KGxvY2FsQ291bnQoOmNvdW50ZXIpKSwgY291bnRlciA9IDEsIG51bURpbXMgLSAxKSAvKQog
CiAgICAgaWYocHJlc2VudChzdGFydCkpICBsb2NhbFN0YXJ0ICg6c2l6ZShzdGFydCkgKSAg
PSBzdGFydCg6KQogICAgIGlmKHByZXNlbnQoY291bnQpKSAgbG9jYWxDb3VudCAoOnNpemUo
Y291bnQpICkgID0gY291bnQoOikKICAgICBpZihwcmVzZW50KHN0cmlkZSkpIGxvY2FsU3Ry
aWRlKDpzaXplKHN0cmlkZSkpID0gc3RyaWRlKDopCiAgICAgaWYocHJlc2VudChtYXApKSAg
dGhlbgogICAgICAgbG9jYWxNYXAgICAoOnNpemUobWFwKSkgICAgPSBtYXAoOikKICAgICAg
IG5mOTBfcHV0X3Zhcl80RF9Gb3VyQnl0ZVJlYWwgPSAmCiAgICAgICAgICBuZl9wdXRfdmFy
bV9yZWFsKG5jaWQsIHZhcmlkLCBsb2NhbFN0YXJ0LCBsb2NhbENvdW50LCBsb2NhbFN0cmlk
ZSwgbG9jYWxNYXAsIHZhbHVlcykKICAgICBlbHNlCiAgICAgICBuZjkwX3B1dF92YXJfNERf
Rm91ckJ5dGVSZWFsID0gJgogICAgICAgICAgbmZfcHV0X3ZhcnNfcmVhbChuY2lkLCB2YXJp
ZCwgbG9jYWxTdGFydCwgbG9jYWxDb3VudCwgbG9jYWxTdHJpZGUsIHZhbHVlcykKICAgICBl
bmQgaWYKICAgZW5kIGZ1bmN0aW9uIG5mOTBfcHV0X3Zhcl80RF9Gb3VyQnl0ZVJlYWwKCgog
ICBmdW5jdGlvbiBuZjkwX3B1dF92YXJfNURfRm91ckJ5dGVSZWFsKG5jaWQsIHZhcmlkLCB2
YWx1ZXMsIHN0YXJ0LCBjb3VudCwgc3RyaWRlLCBtYXApCiAgICAgaW50ZWdlciwgICAgICAg
ICAgICAgICAgICAgICAgICAgaW50ZW50KCBpbikgOjogbmNpZCwgdmFyaWQKICAgICByZWFs
IChraW5kID0gRm91ckJ5dGVSZWFsKSwgZGltZW5zaW9uKDosIDosIDosIDosIDopLCAmCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50ZW50KCBpbikgOjogdmFs
dWVzCiAgICAgaW50ZWdlciwgZGltZW5zaW9uKDopLCBvcHRpb25hbCwgaW50ZW50KCBpbikg
Ojogc3RhcnQsIGNvdW50LCBzdHJpZGUsIG1hcAogICAgIGludGVnZXIgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIDo6IG5mOTBfcHV0X3Zhcl81RF9Gb3VyQnl0ZVJl
YWwKIAogICAgIGludGVnZXIsIGRpbWVuc2lvbihuZjkwX21heF92YXJfZGltcykgOjogbG9j
YWxTdGFydCwgbG9jYWxDb3VudCwgbG9jYWxTdHJpZGUsIGxvY2FsTWFwCiAgICAgaW50ZWdl
ciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6OiBudW1EaW1zLCBjb3VudGVyCiAK
ICAgICAhIFNldCBsb2NhbCBhcmd1bWVudHMgdG8gZGVmYXVsdCB2YWx1ZXMKICAgICBudW1E
aW1zICAgICAgICAgICAgICAgICA9IHNpemUoc2hhcGUodmFsdWVzKSkKICAgICBsb2NhbFN0
YXJ0ICg6ICAgICAgICAgKSA9IDEKICAgICBsb2NhbENvdW50ICg6bnVtRGltcyAgKSA9IHNo
YXBlKHZhbHVlcykKICAgICBsb2NhbENvdW50IChudW1EaW1zKzE6KSA9IDEKICAgICBsb2Nh
bFN0cmlkZSg6ICAgICAgICAgKSA9IDEKICAgICBsb2NhbE1hcCAgICg6bnVtRGltcyAgKSA9
ICgvIDEsIChwcm9kdWN0KGxvY2FsQ291bnQoOmNvdW50ZXIpKSwgY291bnRlciA9IDEsIG51
bURpbXMgLSAxKSAvKQogCiAgICAgaWYocHJlc2VudChzdGFydCkpICBsb2NhbFN0YXJ0ICg6
c2l6ZShzdGFydCkgKSAgPSBzdGFydCg6KQogICAgIGlmKHByZXNlbnQoY291bnQpKSAgbG9j
YWxDb3VudCAoOnNpemUoY291bnQpICkgID0gY291bnQoOikKICAgICBpZihwcmVzZW50KHN0
cmlkZSkpIGxvY2FsU3RyaWRlKDpzaXplKHN0cmlkZSkpID0gc3RyaWRlKDopCiAgICAgaWYo
cHJlc2VudChtYXApKSAgdGhlbgogICAgICAgbG9jYWxNYXAgICAoOnNpemUobWFwKSkgICAg
PSBtYXAoOikKICAgICAgIG5mOTBfcHV0X3Zhcl81RF9Gb3VyQnl0ZVJlYWwgPSAmCiAgICAg
ICAgICBuZl9wdXRfdmFybV9yZWFsKG5jaWQsIHZhcmlkLCBsb2NhbFN0YXJ0LCBsb2NhbENv
dW50LCBsb2NhbFN0cmlkZSwgbG9jYWxNYXAsIHZhbHVlcykKICAgICBlbHNlCiAgICAgICBu
ZjkwX3B1dF92YXJfNURfRm91ckJ5dGVSZWFsID0gJgogICAgICAgICAgbmZfcHV0X3ZhcnNf
cmVhbChuY2lkLCB2YXJpZCwgbG9jYWxTdGFydCwgbG9jYWxDb3VudCwgbG9jYWxTdHJpZGUs
IHZhbHVlcykKICAgICBlbmQgaWYKICAgZW5kIGZ1bmN0aW9uIG5mOTBfcHV0X3Zhcl81RF9G
b3VyQnl0ZVJlYWwKCgogICBmdW5jdGlvbiBuZjkwX3B1dF92YXJfNkRfRm91ckJ5dGVSZWFs
KG5jaWQsIHZhcmlkLCB2YWx1ZXMsIHN0YXJ0LCBjb3VudCwgc3RyaWRlLCBtYXApCiAgICAg
aW50ZWdlciwgICAgICAgICAgICAgICAgICAgICAgICAgaW50ZW50KCBpbikgOjogbmNpZCwg
dmFyaWQKICAgICByZWFsIChraW5kID0gRm91ckJ5dGVSZWFsKSwgZGltZW5zaW9uKDosIDos
IDosIDosIDosIDopLCAmCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50ZW50KCBpbikgOjogdmFsdWVzCiAgICAgaW50ZWdlciwgZGltZW5zaW9uKDopLCBvcHRp
b25hbCwgaW50ZW50KCBpbikgOjogc3RhcnQsIGNvdW50LCBzdHJpZGUsIG1hcAogICAgIGlu
dGVnZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDo6IG5mOTBfcHV0
X3Zhcl82RF9Gb3VyQnl0ZVJlYWwKIAogICAgIGludGVnZXIsIGRpbWVuc2lvbihuZjkwX21h
eF92YXJfZGltcykgOjogbG9jYWxTdGFydCwgbG9jYWxDb3VudCwgbG9jYWxTdHJpZGUsIGxv
Y2FsTWFwCiAgICAgaW50ZWdlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6OiBu
dW1EaW1zLCBjb3VudGVyCiAKICAgICAhIFNldCBsb2NhbCBhcmd1bWVudHMgdG8gZGVmYXVs
dCB2YWx1ZXMKICAgICBudW1EaW1zICAgICAgICAgICAgICAgICA9IHNpemUoc2hhcGUodmFs
dWVzKSkKICAgICBsb2NhbFN0YXJ0ICg6ICAgICAgICAgKSA9IDEKICAgICBsb2NhbENvdW50
ICg6bnVtRGltcyAgKSA9IHNoYXBlKHZhbHVlcykKICAgICBsb2NhbENvdW50IChudW1EaW1z
KzE6KSA9IDEKICAgICBsb2NhbFN0cmlkZSg6ICAgICAgICAgKSA9IDEKICAgICBsb2NhbE1h
cCAgICg6bnVtRGltcyAgKSA9ICgvIDEsIChwcm9kdWN0KGxvY2FsQ291bnQoOmNvdW50ZXIp
KSwgY291bnRlciA9IDEsIG51bURpbXMgLSAxKSAvKQogCiAgICAgaWYocHJlc2VudChzdGFy
dCkpICBsb2NhbFN0YXJ0ICg6c2l6ZShzdGFydCkgKSAgPSBzdGFydCg6KQogICAgIGlmKHBy
ZXNlbnQoY291bnQpKSAgbG9jYWxDb3VudCAoOnNpemUoY291bnQpICkgID0gY291bnQoOikK
ICAgICBpZihwcmVzZW50KHN0cmlkZSkpIGxvY2FsU3RyaWRlKDpzaXplKHN0cmlkZSkpID0g
c3RyaWRlKDopCiAgICAgaWYocHJlc2VudChtYXApKSAgdGhlbgogICAgICAgbG9jYWxNYXAg
ICAoOnNpemUobWFwKSkgICAgPSBtYXAoOikKICAgICAgIG5mOTBfcHV0X3Zhcl82RF9Gb3Vy
Qnl0ZVJlYWwgPSAmCiAgICAgICAgICBuZl9wdXRfdmFybV9yZWFsKG5jaWQsIHZhcmlkLCBs
b2NhbFN0YXJ0LCBsb2NhbENvdW50LCBsb2NhbFN0cmlkZSwgbG9jYWxNYXAsIHZhbHVlcykK
ICAgICBlbHNlCiAgICAgICBuZjkwX3B1dF92YXJfNkRfRm91ckJ5dGVSZWFsID0gJgogICAg
ICAgICAgbmZfcHV0X3ZhcnNfcmVhbChuY2lkLCB2YXJpZCwgbG9jYWxTdGFydCwgbG9jYWxD
b3VudCwgbG9jYWxTdHJpZGUsIHZhbHVlcykKICAgICBlbmQgaWYKICAgZW5kIGZ1bmN0aW9u
IG5mOTBfcHV0X3Zhcl82RF9Gb3VyQnl0ZVJlYWwKCgogICBmdW5jdGlvbiBuZjkwX3B1dF92
YXJfN0RfRm91ckJ5dGVSZWFsKG5jaWQsIHZhcmlkLCB2YWx1ZXMsIHN0YXJ0LCBjb3VudCwg
c3RyaWRlLCBtYXApCiAgICAgaW50ZWdlciwgICAgICAgICAgICAgICAgICAgICAgICAgaW50
ZW50KCBpbikgOjogbmNpZCwgdmFyaWQKICAgICByZWFsIChraW5kID0gRm91ckJ5dGVSZWFs
KSwgZGltZW5zaW9uKDosIDosIDosIDosIDosIDosIDopLCAmCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50ZW50KCBpbikgOjogdmFsdWVzCiAgICAgaW50ZWdl
ciwgZGltZW5zaW9uKDopLCBvcHRpb25hbCwgaW50ZW50KCBpbikgOjogc3RhcnQsIGNvdW50
LCBzdHJpZGUsIG1hcAogICAgIGludGVnZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIDo6IG5mOTBfcHV0X3Zhcl83RF9Gb3VyQnl0ZVJlYWwKIAogICAgIGludGVn
ZXIsIGRpbWVuc2lvbihuZjkwX21heF92YXJfZGltcykgOjogbG9jYWxTdGFydCwgbG9jYWxD
b3VudCwgbG9jYWxTdHJpZGUsIGxvY2FsTWFwCiAgICAgaW50ZWdlciAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICA6OiBudW1EaW1zLCBjb3VudGVyCiAKICAgICAhIFNldCBsb2Nh
bCBhcmd1bWVudHMgdG8gZGVmYXVsdCB2YWx1ZXMKICAgICBudW1EaW1zICAgICAgICAgICAg
ICAgICA9IHNpemUoc2hhcGUodmFsdWVzKSkKICAgICBsb2NhbFN0YXJ0ICg6ICAgICAgICAg
KSA9IDEKICAgICBsb2NhbENvdW50ICg6bnVtRGltcyAgKSA9IHNoYXBlKHZhbHVlcykKICAg
ICBsb2NhbENvdW50IChudW1EaW1zKzE6KSA9IDEKICAgICBsb2NhbFN0cmlkZSg6ICAgICAg
ICAgKSA9IDEKICAgICBsb2NhbE1hcCAgICg6bnVtRGltcyAgKSA9ICgvIDEsIChwcm9kdWN0
KGxvY2FsQ291bnQoOmNvdW50ZXIpKSwgY291bnRlciA9IDEsIG51bURpbXMgLSAxKSAvKQog
CiAgICAgaWYocHJlc2VudChzdGFydCkpICBsb2NhbFN0YXJ0ICg6c2l6ZShzdGFydCkgKSAg
PSBzdGFydCg6KQogICAgIGlmKHByZXNlbnQoY291bnQpKSAgbG9jYWxDb3VudCAoOnNpemUo
Y291bnQpICkgID0gY291bnQoOikKICAgICBpZihwcmVzZW50KHN0cmlkZSkpIGxvY2FsU3Ry
aWRlKDpzaXplKHN0cmlkZSkpID0gc3RyaWRlKDopCiAgICAgaWYocHJlc2VudChtYXApKSAg
dGhlbgogICAgICAgbG9jYWxNYXAgICAoOnNpemUobWFwKSkgICAgPSBtYXAoOikKICAgICAg
IG5mOTBfcHV0X3Zhcl83RF9Gb3VyQnl0ZVJlYWwgPSAmCiAgICAgICAgICBuZl9wdXRfdmFy
bV9yZWFsKG5jaWQsIHZhcmlkLCBsb2NhbFN0YXJ0LCBsb2NhbENvdW50LCBsb2NhbFN0cmlk
ZSwgbG9jYWxNYXAsIHZhbHVlcykKICAgICBlbHNlCiAgICAgICBuZjkwX3B1dF92YXJfN0Rf
Rm91ckJ5dGVSZWFsID0gJgogICAgICAgICAgbmZfcHV0X3ZhcnNfcmVhbChuY2lkLCB2YXJp
ZCwgbG9jYWxTdGFydCwgbG9jYWxDb3VudCwgbG9jYWxTdHJpZGUsIHZhbHVlcykKICAgICBl
bmQgaWYKICAgZW5kIGZ1bmN0aW9uIG5mOTBfcHV0X3Zhcl83RF9Gb3VyQnl0ZVJlYWwKCgog
ICBmdW5jdGlvbiBuZjkwX3B1dF92YXJfMURfRWlnaHRCeXRlUmVhbChuY2lkLCB2YXJpZCwg
dmFsdWVzLCBzdGFydCwgY291bnQsIHN0cmlkZSwgbWFwKQogICAgIGludGVnZXIsICAgICAg
ICAgICAgICAgICAgICAgICAgIGludGVudCggaW4pIDo6IG5jaWQsIHZhcmlkCiAgICAgcmVh
bCAoa2luZCA9IEVpZ2h0Qnl0ZVJlYWwpLCBkaW1lbnNpb24oOiksICYKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnRlbnQoIGluKSA6OiB2YWx1ZXMKICAgICBp
bnRlZ2VyLCBkaW1lbnNpb24oOiksIG9wdGlvbmFsLCBpbnRlbnQoIGluKSA6OiBzdGFydCwg
Y291bnQsIHN0cmlkZSwgbWFwCiAgICAgaW50ZWdlciAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgOjogbmY5MF9wdXRfdmFyXzFEX0VpZ2h0Qnl0ZVJlYWwKIAogICAg
IGludGVnZXIsIGRpbWVuc2lvbihuZjkwX21heF92YXJfZGltcykgOjogbG9jYWxTdGFydCwg
bG9jYWxDb3VudCwgbG9jYWxTdHJpZGUsIGxvY2FsTWFwCiAgICAgaW50ZWdlciAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICA6OiBudW1EaW1zLCBjb3VudGVyCiAKICAgICAhIFNl
dCBsb2NhbCBhcmd1bWVudHMgdG8gZGVmYXVsdCB2YWx1ZXMKICAgICBudW1EaW1zICAgICAg
ICAgICAgICAgICA9IHNpemUoc2hhcGUodmFsdWVzKSkKICAgICBsb2NhbFN0YXJ0ICg6ICAg
ICAgICAgKSA9IDEKICAgICBsb2NhbENvdW50ICg6bnVtRGltcyAgKSA9IHNoYXBlKHZhbHVl
cykKICAgICBsb2NhbENvdW50IChudW1EaW1zKzE6KSA9IDEKICAgICBsb2NhbFN0cmlkZSg6
ICAgICAgICAgKSA9IDEKICAgICBsb2NhbE1hcCAgICg6bnVtRGltcyAgKSA9ICgvIDEsIChw
cm9kdWN0KGxvY2FsQ291bnQoOmNvdW50ZXIpKSwgY291bnRlciA9IDEsIG51bURpbXMgLSAx
KSAvKQogCiAgICAgaWYocHJlc2VudChzdGFydCkpICBsb2NhbFN0YXJ0ICg6c2l6ZShzdGFy
dCkgKSAgPSBzdGFydCg6KQogICAgIGlmKHByZXNlbnQoY291bnQpKSAgbG9jYWxDb3VudCAo
OnNpemUoY291bnQpICkgID0gY291bnQoOikKICAgICBpZihwcmVzZW50KHN0cmlkZSkpIGxv
Y2FsU3RyaWRlKDpzaXplKHN0cmlkZSkpID0gc3RyaWRlKDopCiAgICAgaWYocHJlc2VudCht
YXApKSAgdGhlbgogICAgICAgbG9jYWxNYXAgICAoOnNpemUobWFwKSkgICAgPSBtYXAoOikK
ICAgICAgIG5mOTBfcHV0X3Zhcl8xRF9FaWdodEJ5dGVSZWFsID0gJgogICAgICAgICAgbmZf
cHV0X3Zhcm1fZG91YmxlKG5jaWQsIHZhcmlkLCBsb2NhbFN0YXJ0LCBsb2NhbENvdW50LCBs
b2NhbFN0cmlkZSwgbG9jYWxNYXAsIHZhbHVlcykKICAgICBlbHNlCiAgICAgICBuZjkwX3B1
dF92YXJfMURfRWlnaHRCeXRlUmVhbCA9ICYKICAgICAgICAgIG5mX3B1dF92YXJzX2RvdWJs
ZShuY2lkLCB2YXJpZCwgbG9jYWxTdGFydCwgbG9jYWxDb3VudCwgbG9jYWxTdHJpZGUsIHZh
bHVlcykKICAgICBlbmQgaWYKICAgZW5kIGZ1bmN0aW9uIG5mOTBfcHV0X3Zhcl8xRF9FaWdo
dEJ5dGVSZWFsCgoKICAgZnVuY3Rpb24gbmY5MF9wdXRfdmFyXzJEX0VpZ2h0Qnl0ZVJlYWwo
bmNpZCwgdmFyaWQsIHZhbHVlcywgc3RhcnQsIGNvdW50LCBzdHJpZGUsIG1hcCkKICAgICBp
bnRlZ2VyLCAgICAgICAgICAgICAgICAgICAgICAgICBpbnRlbnQoIGluKSA6OiBuY2lkLCB2
YXJpZAogICAgIHJlYWwgKGtpbmQgPSBFaWdodEJ5dGVSZWFsKSwgZGltZW5zaW9uKDosIDop
LCAmCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50ZW50KCBpbikg
OjogdmFsdWVzCiAgICAgaW50ZWdlciwgZGltZW5zaW9uKDopLCBvcHRpb25hbCwgaW50ZW50
KCBpbikgOjogc3RhcnQsIGNvdW50LCBzdHJpZGUsIG1hcAogICAgIGludGVnZXIgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDo6IG5mOTBfcHV0X3Zhcl8yRF9FaWdo
dEJ5dGVSZWFsCiAKICAgICBpbnRlZ2VyLCBkaW1lbnNpb24obmY5MF9tYXhfdmFyX2RpbXMp
IDo6IGxvY2FsU3RhcnQsIGxvY2FsQ291bnQsIGxvY2FsU3RyaWRlLCBsb2NhbE1hcAogICAg
IGludGVnZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOjogbnVtRGltcywgY291
bnRlcgogCiAgICAgISBTZXQgbG9jYWwgYXJndW1lbnRzIHRvIGRlZmF1bHQgdmFsdWVzCiAg
ICAgbnVtRGltcyAgICAgICAgICAgICAgICAgPSBzaXplKHNoYXBlKHZhbHVlcykpCiAgICAg
bG9jYWxTdGFydCAoOiAgICAgICAgICkgPSAxCiAgICAgbG9jYWxDb3VudCAoOm51bURpbXMg
ICkgPSBzaGFwZSh2YWx1ZXMpCiAgICAgbG9jYWxDb3VudCAobnVtRGltcysxOikgPSAxCiAg
ICAgbG9jYWxTdHJpZGUoOiAgICAgICAgICkgPSAxCiAgICAgbG9jYWxNYXAgICAoOm51bURp
bXMgICkgPSAoLyAxLCAocHJvZHVjdChsb2NhbENvdW50KDpjb3VudGVyKSksIGNvdW50ZXIg
PSAxLCBudW1EaW1zIC0gMSkgLykKIAogICAgIGlmKHByZXNlbnQoc3RhcnQpKSAgbG9jYWxT
dGFydCAoOnNpemUoc3RhcnQpICkgID0gc3RhcnQoOikKICAgICBpZihwcmVzZW50KGNvdW50
KSkgIGxvY2FsQ291bnQgKDpzaXplKGNvdW50KSApICA9IGNvdW50KDopCiAgICAgaWYocHJl
c2VudChzdHJpZGUpKSBsb2NhbFN0cmlkZSg6c2l6ZShzdHJpZGUpKSA9IHN0cmlkZSg6KQog
ICAgIGlmKHByZXNlbnQobWFwKSkgIHRoZW4KICAgICAgIGxvY2FsTWFwICAgKDpzaXplKG1h
cCkpICAgID0gbWFwKDopCiAgICAgICBuZjkwX3B1dF92YXJfMkRfRWlnaHRCeXRlUmVhbCA9
ICYKICAgICAgICAgIG5mX3B1dF92YXJtX2RvdWJsZShuY2lkLCB2YXJpZCwgbG9jYWxTdGFy
dCwgbG9jYWxDb3VudCwgbG9jYWxTdHJpZGUsIGxvY2FsTWFwLCB2YWx1ZXMpCiAgICAgZWxz
ZQogICAgICAgbmY5MF9wdXRfdmFyXzJEX0VpZ2h0Qnl0ZVJlYWwgPSAmCiAgICAgICAgICBu
Zl9wdXRfdmFyc19kb3VibGUobmNpZCwgdmFyaWQsIGxvY2FsU3RhcnQsIGxvY2FsQ291bnQs
IGxvY2FsU3RyaWRlLCB2YWx1ZXMpCiAgICAgZW5kIGlmCiAgIGVuZCBmdW5jdGlvbiBuZjkw
X3B1dF92YXJfMkRfRWlnaHRCeXRlUmVhbAoKCiAgIGZ1bmN0aW9uIG5mOTBfcHV0X3Zhcl8z
RF9FaWdodEJ5dGVSZWFsKG5jaWQsIHZhcmlkLCB2YWx1ZXMsIHN0YXJ0LCBjb3VudCwgc3Ry
aWRlLCBtYXApCiAgICAgaW50ZWdlciwgICAgICAgICAgICAgICAgICAgICAgICAgaW50ZW50
KCBpbikgOjogbmNpZCwgdmFyaWQKICAgICByZWFsIChraW5kID0gRWlnaHRCeXRlUmVhbCks
IGRpbWVuc2lvbig6LCA6LCA6KSwgJgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludGVudCggaW4pIDo6IHZhbHVlcwogICAgIGludGVnZXIsIGRpbWVuc2lvbig6
KSwgb3B0aW9uYWwsIGludGVudCggaW4pIDo6IHN0YXJ0LCBjb3VudCwgc3RyaWRlLCBtYXAK
ICAgICBpbnRlZ2VyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6OiBu
ZjkwX3B1dF92YXJfM0RfRWlnaHRCeXRlUmVhbAogCiAgICAgaW50ZWdlciwgZGltZW5zaW9u
KG5mOTBfbWF4X3Zhcl9kaW1zKSA6OiBsb2NhbFN0YXJ0LCBsb2NhbENvdW50LCBsb2NhbFN0
cmlkZSwgbG9jYWxNYXAKICAgICBpbnRlZ2VyICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIDo6IG51bURpbXMsIGNvdW50ZXIKIAogICAgICEgU2V0IGxvY2FsIGFyZ3VtZW50cyB0
byBkZWZhdWx0IHZhbHVlcwogICAgIG51bURpbXMgICAgICAgICAgICAgICAgID0gc2l6ZShz
aGFwZSh2YWx1ZXMpKQogICAgIGxvY2FsU3RhcnQgKDogICAgICAgICApID0gMQogICAgIGxv
Y2FsQ291bnQgKDpudW1EaW1zICApID0gc2hhcGUodmFsdWVzKQogICAgIGxvY2FsQ291bnQg
KG51bURpbXMrMTopID0gMQogICAgIGxvY2FsU3RyaWRlKDogICAgICAgICApID0gMQogICAg
IGxvY2FsTWFwICAgKDpudW1EaW1zICApID0gKC8gMSwgKHByb2R1Y3QobG9jYWxDb3VudCg6
Y291bnRlcikpLCBjb3VudGVyID0gMSwgbnVtRGltcyAtIDEpIC8pCiAKICAgICBpZihwcmVz
ZW50KHN0YXJ0KSkgIGxvY2FsU3RhcnQgKDpzaXplKHN0YXJ0KSApICA9IHN0YXJ0KDopCiAg
ICAgaWYocHJlc2VudChjb3VudCkpICBsb2NhbENvdW50ICg6c2l6ZShjb3VudCkgKSAgPSBj
b3VudCg6KQogICAgIGlmKHByZXNlbnQoc3RyaWRlKSkgbG9jYWxTdHJpZGUoOnNpemUoc3Ry
aWRlKSkgPSBzdHJpZGUoOikKICAgICBpZihwcmVzZW50KG1hcCkpICB0aGVuCiAgICAgICBs
b2NhbE1hcCAgICg6c2l6ZShtYXApKSAgICA9IG1hcCg6KQogICAgICAgbmY5MF9wdXRfdmFy
XzNEX0VpZ2h0Qnl0ZVJlYWwgPSAmCiAgICAgICAgICBuZl9wdXRfdmFybV9kb3VibGUobmNp
ZCwgdmFyaWQsIGxvY2FsU3RhcnQsIGxvY2FsQ291bnQsIGxvY2FsU3RyaWRlLCBsb2NhbE1h
cCwgdmFsdWVzKQogICAgIGVsc2UKICAgICAgIG5mOTBfcHV0X3Zhcl8zRF9FaWdodEJ5dGVS
ZWFsID0gJgogICAgICAgICAgbmZfcHV0X3ZhcnNfZG91YmxlKG5jaWQsIHZhcmlkLCBsb2Nh
bFN0YXJ0LCBsb2NhbENvdW50LCBsb2NhbFN0cmlkZSwgdmFsdWVzKQogICAgIGVuZCBpZgog
ICBlbmQgZnVuY3Rpb24gbmY5MF9wdXRfdmFyXzNEX0VpZ2h0Qnl0ZVJlYWwKCgogICBmdW5j
dGlvbiBuZjkwX3B1dF92YXJfNERfRWlnaHRCeXRlUmVhbChuY2lkLCB2YXJpZCwgdmFsdWVz
LCBzdGFydCwgY291bnQsIHN0cmlkZSwgbWFwKQogICAgIGludGVnZXIsICAgICAgICAgICAg
ICAgICAgICAgICAgIGludGVudCggaW4pIDo6IG5jaWQsIHZhcmlkCiAgICAgcmVhbCAoa2lu
ZCA9IEVpZ2h0Qnl0ZVJlYWwpLCBkaW1lbnNpb24oOiwgOiwgOiwgOiksICYKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnRlbnQoIGluKSA6OiB2YWx1ZXMKICAg
ICBpbnRlZ2VyLCBkaW1lbnNpb24oOiksIG9wdGlvbmFsLCBpbnRlbnQoIGluKSA6OiBzdGFy
dCwgY291bnQsIHN0cmlkZSwgbWFwCiAgICAgaW50ZWdlciAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgOjogbmY5MF9wdXRfdmFyXzREX0VpZ2h0Qnl0ZVJlYWwKIAog
ICAgIGludGVnZXIsIGRpbWVuc2lvbihuZjkwX21heF92YXJfZGltcykgOjogbG9jYWxTdGFy
dCwgbG9jYWxDb3VudCwgbG9jYWxTdHJpZGUsIGxvY2FsTWFwCiAgICAgaW50ZWdlciAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICA6OiBudW1EaW1zLCBjb3VudGVyCiAKICAgICAh
IFNldCBsb2NhbCBhcmd1bWVudHMgdG8gZGVmYXVsdCB2YWx1ZXMKICAgICBudW1EaW1zICAg
ICAgICAgICAgICAgICA9IHNpemUoc2hhcGUodmFsdWVzKSkKICAgICBsb2NhbFN0YXJ0ICg6
ICAgICAgICAgKSA9IDEKICAgICBsb2NhbENvdW50ICg6bnVtRGltcyAgKSA9IHNoYXBlKHZh
bHVlcykKICAgICBsb2NhbENvdW50IChudW1EaW1zKzE6KSA9IDEKICAgICBsb2NhbFN0cmlk
ZSg6ICAgICAgICAgKSA9IDEKICAgICBsb2NhbE1hcCAgICg6bnVtRGltcyAgKSA9ICgvIDEs
IChwcm9kdWN0KGxvY2FsQ291bnQoOmNvdW50ZXIpKSwgY291bnRlciA9IDEsIG51bURpbXMg
LSAxKSAvKQogCiAgICAgaWYocHJlc2VudChzdGFydCkpICBsb2NhbFN0YXJ0ICg6c2l6ZShz
dGFydCkgKSAgPSBzdGFydCg6KQogICAgIGlmKHByZXNlbnQoY291bnQpKSAgbG9jYWxDb3Vu
dCAoOnNpemUoY291bnQpICkgID0gY291bnQoOikKICAgICBpZihwcmVzZW50KHN0cmlkZSkp
IGxvY2FsU3RyaWRlKDpzaXplKHN0cmlkZSkpID0gc3RyaWRlKDopCiAgICAgaWYocHJlc2Vu
dChtYXApKSAgdGhlbgogICAgICAgbG9jYWxNYXAgICAoOnNpemUobWFwKSkgICAgPSBtYXAo
OikKICAgICAgIG5mOTBfcHV0X3Zhcl80RF9FaWdodEJ5dGVSZWFsID0gJgogICAgICAgICAg
bmZfcHV0X3Zhcm1fZG91YmxlKG5jaWQsIHZhcmlkLCBsb2NhbFN0YXJ0LCBsb2NhbENvdW50
LCBsb2NhbFN0cmlkZSwgbG9jYWxNYXAsIHZhbHVlcykKICAgICBlbHNlCiAgICAgICBuZjkw
X3B1dF92YXJfNERfRWlnaHRCeXRlUmVhbCA9ICYKICAgICAgICAgIG5mX3B1dF92YXJzX2Rv
dWJsZShuY2lkLCB2YXJpZCwgbG9jYWxTdGFydCwgbG9jYWxDb3VudCwgbG9jYWxTdHJpZGUs
IHZhbHVlcykKICAgICBlbmQgaWYKICAgZW5kIGZ1bmN0aW9uIG5mOTBfcHV0X3Zhcl80RF9F
aWdodEJ5dGVSZWFsCgoKICAgZnVuY3Rpb24gbmY5MF9wdXRfdmFyXzVEX0VpZ2h0Qnl0ZVJl
YWwobmNpZCwgdmFyaWQsIHZhbHVlcywgc3RhcnQsIGNvdW50LCBzdHJpZGUsIG1hcCkKICAg
ICBpbnRlZ2VyLCAgICAgICAgICAgICAgICAgICAgICAgICBpbnRlbnQoIGluKSA6OiBuY2lk
LCB2YXJpZAogICAgIHJlYWwgKGtpbmQgPSBFaWdodEJ5dGVSZWFsKSwgZGltZW5zaW9uKDos
IDosIDosIDosIDopLCAmCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW50ZW50KCBpbikgOjogdmFsdWVzCiAgICAgaW50ZWdlciwgZGltZW5zaW9uKDopLCBvcHRp
b25hbCwgaW50ZW50KCBpbikgOjogc3RhcnQsIGNvdW50LCBzdHJpZGUsIG1hcAogICAgIGlu
dGVnZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDo6IG5mOTBfcHV0
X3Zhcl81RF9FaWdodEJ5dGVSZWFsCiAKICAgICBpbnRlZ2VyLCBkaW1lbnNpb24obmY5MF9t
YXhfdmFyX2RpbXMpIDo6IGxvY2FsU3RhcnQsIGxvY2FsQ291bnQsIGxvY2FsU3RyaWRlLCBs
b2NhbE1hcAogICAgIGludGVnZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOjog
bnVtRGltcywgY291bnRlcgogCiAgICAgISBTZXQgbG9jYWwgYXJndW1lbnRzIHRvIGRlZmF1
bHQgdmFsdWVzCiAgICAgbnVtRGltcyAgICAgICAgICAgICAgICAgPSBzaXplKHNoYXBlKHZh
bHVlcykpCiAgICAgbG9jYWxTdGFydCAoOiAgICAgICAgICkgPSAxCiAgICAgbG9jYWxDb3Vu
dCAoOm51bURpbXMgICkgPSBzaGFwZSh2YWx1ZXMpCiAgICAgbG9jYWxDb3VudCAobnVtRGlt
cysxOikgPSAxCiAgICAgbG9jYWxTdHJpZGUoOiAgICAgICAgICkgPSAxCiAgICAgbG9jYWxN
YXAgICAoOm51bURpbXMgICkgPSAoLyAxLCAocHJvZHVjdChsb2NhbENvdW50KDpjb3VudGVy
KSksIGNvdW50ZXIgPSAxLCBudW1EaW1zIC0gMSkgLykKIAogICAgIGlmKHByZXNlbnQoc3Rh
cnQpKSAgbG9jYWxTdGFydCAoOnNpemUoc3RhcnQpICkgID0gc3RhcnQoOikKICAgICBpZihw
cmVzZW50KGNvdW50KSkgIGxvY2FsQ291bnQgKDpzaXplKGNvdW50KSApICA9IGNvdW50KDop
CiAgICAgaWYocHJlc2VudChzdHJpZGUpKSBsb2NhbFN0cmlkZSg6c2l6ZShzdHJpZGUpKSA9
IHN0cmlkZSg6KQogICAgIGlmKHByZXNlbnQobWFwKSkgIHRoZW4KICAgICAgIGxvY2FsTWFw
ICAgKDpzaXplKG1hcCkpICAgID0gbWFwKDopCiAgICAgICBuZjkwX3B1dF92YXJfNURfRWln
aHRCeXRlUmVhbCA9ICYKICAgICAgICAgIG5mX3B1dF92YXJtX2RvdWJsZShuY2lkLCB2YXJp
ZCwgbG9jYWxTdGFydCwgbG9jYWxDb3VudCwgbG9jYWxTdHJpZGUsIGxvY2FsTWFwLCB2YWx1
ZXMpCiAgICAgZWxzZQogICAgICAgbmY5MF9wdXRfdmFyXzVEX0VpZ2h0Qnl0ZVJlYWwgPSAm
CiAgICAgICAgICBuZl9wdXRfdmFyc19kb3VibGUobmNpZCwgdmFyaWQsIGxvY2FsU3RhcnQs
IGxvY2FsQ291bnQsIGxvY2FsU3RyaWRlLCB2YWx1ZXMpCiAgICAgZW5kIGlmCiAgIGVuZCBm
dW5jdGlvbiBuZjkwX3B1dF92YXJfNURfRWlnaHRCeXRlUmVhbAoKCiAgIGZ1bmN0aW9uIG5m
OTBfcHV0X3Zhcl82RF9FaWdodEJ5dGVSZWFsKG5jaWQsIHZhcmlkLCB2YWx1ZXMsIHN0YXJ0
LCBjb3VudCwgc3RyaWRlLCBtYXApCiAgICAgaW50ZWdlciwgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50ZW50KCBpbikgOjogbmNpZCwgdmFyaWQKICAgICByZWFsIChraW5kID0gRWln
aHRCeXRlUmVhbCksIGRpbWVuc2lvbig6LCA6LCA6LCA6LCA6LCA6KSwgJgogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludGVudCggaW4pIDo6IHZhbHVlcwogICAg
IGludGVnZXIsIGRpbWVuc2lvbig6KSwgb3B0aW9uYWwsIGludGVudCggaW4pIDo6IHN0YXJ0
LCBjb3VudCwgc3RyaWRlLCBtYXAKICAgICBpbnRlZ2VyICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICA6OiBuZjkwX3B1dF92YXJfNkRfRWlnaHRCeXRlUmVhbAogCiAg
ICAgaW50ZWdlciwgZGltZW5zaW9uKG5mOTBfbWF4X3Zhcl9kaW1zKSA6OiBsb2NhbFN0YXJ0
LCBsb2NhbENvdW50LCBsb2NhbFN0cmlkZSwgbG9jYWxNYXAKICAgICBpbnRlZ2VyICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIDo6IG51bURpbXMsIGNvdW50ZXIKIAogICAgICEg
U2V0IGxvY2FsIGFyZ3VtZW50cyB0byBkZWZhdWx0IHZhbHVlcwogICAgIG51bURpbXMgICAg
ICAgICAgICAgICAgID0gc2l6ZShzaGFwZSh2YWx1ZXMpKQogICAgIGxvY2FsU3RhcnQgKDog
ICAgICAgICApID0gMQogICAgIGxvY2FsQ291bnQgKDpudW1EaW1zICApID0gc2hhcGUodmFs
dWVzKQogICAgIGxvY2FsQ291bnQgKG51bURpbXMrMTopID0gMQogICAgIGxvY2FsU3RyaWRl
KDogICAgICAgICApID0gMQogICAgIGxvY2FsTWFwICAgKDpudW1EaW1zICApID0gKC8gMSwg
KHByb2R1Y3QobG9jYWxDb3VudCg6Y291bnRlcikpLCBjb3VudGVyID0gMSwgbnVtRGltcyAt
IDEpIC8pCiAKICAgICBpZihwcmVzZW50KHN0YXJ0KSkgIGxvY2FsU3RhcnQgKDpzaXplKHN0
YXJ0KSApICA9IHN0YXJ0KDopCiAgICAgaWYocHJlc2VudChjb3VudCkpICBsb2NhbENvdW50
ICg6c2l6ZShjb3VudCkgKSAgPSBjb3VudCg6KQogICAgIGlmKHByZXNlbnQoc3RyaWRlKSkg
bG9jYWxTdHJpZGUoOnNpemUoc3RyaWRlKSkgPSBzdHJpZGUoOikKICAgICBpZihwcmVzZW50
KG1hcCkpICB0aGVuCiAgICAgICBsb2NhbE1hcCAgICg6c2l6ZShtYXApKSAgICA9IG1hcCg6
KQogICAgICAgbmY5MF9wdXRfdmFyXzZEX0VpZ2h0Qnl0ZVJlYWwgPSAmCiAgICAgICAgICBu
Zl9wdXRfdmFybV9kb3VibGUobmNpZCwgdmFyaWQsIGxvY2FsU3RhcnQsIGxvY2FsQ291bnQs
IGxvY2FsU3RyaWRlLCBsb2NhbE1hcCwgdmFsdWVzKQogICAgIGVsc2UKICAgICAgIG5mOTBf
cHV0X3Zhcl82RF9FaWdodEJ5dGVSZWFsID0gJgogICAgICAgICAgbmZfcHV0X3ZhcnNfZG91
YmxlKG5jaWQsIHZhcmlkLCBsb2NhbFN0YXJ0LCBsb2NhbENvdW50LCBsb2NhbFN0cmlkZSwg
dmFsdWVzKQogICAgIGVuZCBpZgogICBlbmQgZnVuY3Rpb24gbmY5MF9wdXRfdmFyXzZEX0Vp
Z2h0Qnl0ZVJlYWwKCgogICBmdW5jdGlvbiBuZjkwX3B1dF92YXJfN0RfRWlnaHRCeXRlUmVh
bChuY2lkLCB2YXJpZCwgdmFsdWVzLCBzdGFydCwgY291bnQsIHN0cmlkZSwgbWFwKQogICAg
IGludGVnZXIsICAgICAgICAgICAgICAgICAgICAgICAgIGludGVudCggaW4pIDo6IG5jaWQs
IHZhcmlkCiAgICAgcmVhbCAoa2luZCA9IEVpZ2h0Qnl0ZVJlYWwpLCBkaW1lbnNpb24oOiwg
OiwgOiwgOiwgOiwgOiwgOiksICYKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnRlbnQoIGluKSA6OiB2YWx1ZXMKICAgICBpbnRlZ2VyLCBkaW1lbnNpb24oOiks
IG9wdGlvbmFsLCBpbnRlbnQoIGluKSA6OiBzdGFydCwgY291bnQsIHN0cmlkZSwgbWFwCiAg
ICAgaW50ZWdlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOjogbmY5
MF9wdXRfdmFyXzdEX0VpZ2h0Qnl0ZVJlYWwKIAogICAgIGludGVnZXIsIGRpbWVuc2lvbihu
ZjkwX21heF92YXJfZGltcykgOjogbG9jYWxTdGFydCwgbG9jYWxDb3VudCwgbG9jYWxTdHJp
ZGUsIGxvY2FsTWFwCiAgICAgaW50ZWdlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICA6OiBudW1EaW1zLCBjb3VudGVyCiAKICAgICAhIFNldCBsb2NhbCBhcmd1bWVudHMgdG8g
ZGVmYXVsdCB2YWx1ZXMKICAgICBudW1EaW1zICAgICAgICAgICAgICAgICA9IHNpemUoc2hh
cGUodmFsdWVzKSkKICAgICBsb2NhbFN0YXJ0ICg6ICAgICAgICAgKSA9IDEKICAgICBsb2Nh
bENvdW50ICg6bnVtRGltcyAgKSA9IHNoYXBlKHZhbHVlcykKICAgICBsb2NhbENvdW50IChu
dW1EaW1zKzE6KSA9IDEKICAgICBsb2NhbFN0cmlkZSg6ICAgICAgICAgKSA9IDEKICAgICBs
b2NhbE1hcCAgICg6bnVtRGltcyAgKSA9ICgvIDEsIChwcm9kdWN0KGxvY2FsQ291bnQoOmNv
dW50ZXIpKSwgY291bnRlciA9IDEsIG51bURpbXMgLSAxKSAvKQogCiAgICAgaWYocHJlc2Vu
dChzdGFydCkpICBsb2NhbFN0YXJ0ICg6c2l6ZShzdGFydCkgKSAgPSBzdGFydCg6KQogICAg
IGlmKHByZXNlbnQoY291bnQpKSAgbG9jYWxDb3VudCAoOnNpemUoY291bnQpICkgID0gY291
bnQoOikKICAgICBpZihwcmVzZW50KHN0cmlkZSkpIGxvY2FsU3RyaWRlKDpzaXplKHN0cmlk
ZSkpID0gc3RyaWRlKDopCiAgICAgaWYocHJlc2VudChtYXApKSAgdGhlbgogICAgICAgbG9j
YWxNYXAgICAoOnNpemUobWFwKSkgICAgPSBtYXAoOikKICAgICAgIG5mOTBfcHV0X3Zhcl83
RF9FaWdodEJ5dGVSZWFsID0gJgogICAgICAgICAgbmZfcHV0X3Zhcm1fZG91YmxlKG5jaWQs
IHZhcmlkLCBsb2NhbFN0YXJ0LCBsb2NhbENvdW50LCBsb2NhbFN0cmlkZSwgbG9jYWxNYXAs
IHZhbHVlcykKICAgICBlbHNlCiAgICAgICBuZjkwX3B1dF92YXJfN0RfRWlnaHRCeXRlUmVh
bCA9ICYKICAgICAgICAgIG5mX3B1dF92YXJzX2RvdWJsZShuY2lkLCB2YXJpZCwgbG9jYWxT
dGFydCwgbG9jYWxDb3VudCwgbG9jYWxTdHJpZGUsIHZhbHVlcykKICAgICBlbmQgaWYKICAg
ZW5kIGZ1bmN0aW9uIG5mOTBfcHV0X3Zhcl83RF9FaWdodEJ5dGVSZWFsCgoKICAgZnVuY3Rp
b24gbmY5MF9nZXRfdmFyXzFEX09uZUJ5dGVJbnQobmNpZCwgdmFyaWQsIHZhbHVlcywgc3Rh
cnQsIGNvdW50LCBzdHJpZGUsIG1hcCkKICAgICBpbnRlZ2VyLCAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnRlbnQoIGluKSA6OiBuY2lkLCB2YXJpZAogICAgIGludGVnZXIgKGtpbmQg
PSBPbmVCeXRlSW50KSwgZGltZW5zaW9uKDopLCAmCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50ZW50KG91dCkgOjogdmFsdWVzCiAgICAgaW50ZWdlciwgZGlt
ZW5zaW9uKDopLCBvcHRpb25hbCwgaW50ZW50KCBpbikgOjogc3RhcnQsIGNvdW50LCBzdHJp
ZGUsIG1hcAogICAgIGludGVnZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIDo6IG5mOTBfZ2V0X3Zhcl8xRF9PbmVCeXRlSW50CiAKICAgICBpbnRlZ2VyLCBkaW1l
bnNpb24obmY5MF9tYXhfdmFyX2RpbXMpIDo6IGxvY2FsU3RhcnQsIGxvY2FsQ291bnQsIGxv
Y2FsU3RyaWRlLCBsb2NhbE1hcAogICAgIGludGVnZXIgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgOjogbnVtRGltcywgY291bnRlcgogCiAgICAgISBTZXQgbG9jYWwgYXJndW1l
bnRzIHRvIGRlZmF1bHQgdmFsdWVzCiAgICAgbnVtRGltcyAgICAgICAgICAgICAgICAgPSBz
aXplKHNoYXBlKHZhbHVlcykpCiAgICAgbG9jYWxTdGFydCAoOiAgICAgICAgICkgPSAxCiAg
ICAgbG9jYWxDb3VudCAoOm51bURpbXMgICkgPSBzaGFwZSh2YWx1ZXMpCiAgICAgbG9jYWxD
b3VudCAobnVtRGltcysxOikgPSAxCiAgICAgbG9jYWxTdHJpZGUoOiAgICAgICAgICkgPSAx
CiAgICAgbG9jYWxNYXAgICAoOm51bURpbXMgICkgPSAoLyAxLCAocHJvZHVjdChsb2NhbENv
dW50KDpjb3VudGVyKSksIGNvdW50ZXIgPSAxLCBudW1EaW1zIC0gMSkgLykKIAogICAgIGlm
KHByZXNlbnQoc3RhcnQpKSAgbG9jYWxTdGFydCAoOnNpemUoc3RhcnQpICkgID0gc3RhcnQo
OikKICAgICBpZihwcmVzZW50KGNvdW50KSkgIGxvY2FsQ291bnQgKDpzaXplKGNvdW50KSAp
ICA9IGNvdW50KDopCiAgICAgaWYocHJlc2VudChzdHJpZGUpKSBsb2NhbFN0cmlkZSg6c2l6
ZShzdHJpZGUpKSA9IHN0cmlkZSg6KQogICAgIGlmKHByZXNlbnQobWFwKSkgIHRoZW4KICAg
ICAgIGxvY2FsTWFwICAgKDpzaXplKG1hcCkpICAgID0gbWFwKDopCiAgICAgICBuZjkwX2dl
dF92YXJfMURfT25lQnl0ZUludCA9ICYKICAgICAgICAgIG5mX2dldF92YXJtX2ludDEobmNp
ZCwgdmFyaWQsIGxvY2FsU3RhcnQsIGxvY2FsQ291bnQsIGxvY2FsU3RyaWRlLCBsb2NhbE1h
cCwgdmFsdWVzKQogICAgIGVsc2UKICAgICAgIG5mOTBfZ2V0X3Zhcl8xRF9PbmVCeXRlSW50
ID0gJgogICAgICAgICAgbmZfZ2V0X3ZhcnNfaW50MShuY2lkLCB2YXJpZCwgbG9jYWxTdGFy
dCwgbG9jYWxDb3VudCwgbG9jYWxTdHJpZGUsIHZhbHVlcykKICAgICBlbmQgaWYKICAgZW5k
IGZ1bmN0aW9uIG5mOTBfZ2V0X3Zhcl8xRF9PbmVCeXRlSW50CgoKICAgZnVuY3Rpb24gbmY5
MF9nZXRfdmFyXzJEX09uZUJ5dGVJbnQobmNpZCwgdmFyaWQsIHZhbHVlcywgc3RhcnQsIGNv
dW50LCBzdHJpZGUsIG1hcCkKICAgICBpbnRlZ2VyLCAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnRlbnQoIGluKSA6OiBuY2lkLCB2YXJpZAogICAgIGludGVnZXIgKGtpbmQgPSBPbmVC
eXRlSW50KSwgZGltZW5zaW9uKDosIDopLCAmCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50ZW50KG91dCkgOjogdmFsdWVzCiAgICAgaW50ZWdlciwgZGltZW5z
aW9uKDopLCBvcHRpb25hbCwgaW50ZW50KCBpbikgOjogc3RhcnQsIGNvdW50LCBzdHJpZGUs
IG1hcAogICAgIGludGVnZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IDo6IG5mOTBfZ2V0X3Zhcl8yRF9PbmVCeXRlSW50CiAKICAgICBpbnRlZ2VyLCBkaW1lbnNp
b24obmY5MF9tYXhfdmFyX2RpbXMpIDo6IGxvY2FsU3RhcnQsIGxvY2FsQ291bnQsIGxvY2Fs
U3RyaWRlLCBsb2NhbE1hcAogICAgIGludGVnZXIgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgOjogbnVtRGltcywgY291bnRlcgogCiAgICAgISBTZXQgbG9jYWwgYXJndW1lbnRz
IHRvIGRlZmF1bHQgdmFsdWVzCiAgICAgbnVtRGltcyAgICAgICAgICAgICAgICAgPSBzaXpl
KHNoYXBlKHZhbHVlcykpCiAgICAgbG9jYWxTdGFydCAoOiAgICAgICAgICkgPSAxCiAgICAg
bG9jYWxDb3VudCAoOm51bURpbXMgICkgPSBzaGFwZSh2YWx1ZXMpCiAgICAgbG9jYWxDb3Vu
dCAobnVtRGltcysxOikgPSAxCiAgICAgbG9jYWxTdHJpZGUoOiAgICAgICAgICkgPSAxCiAg
ICAgbG9jYWxNYXAgICAoOm51bURpbXMgICkgPSAoLyAxLCAocHJvZHVjdChsb2NhbENvdW50
KDpjb3VudGVyKSksIGNvdW50ZXIgPSAxLCBudW1EaW1zIC0gMSkgLykKIAogICAgIGlmKHBy
ZXNlbnQoc3RhcnQpKSAgbG9jYWxTdGFydCAoOnNpemUoc3RhcnQpICkgID0gc3RhcnQoOikK
ICAgICBpZihwcmVzZW50KGNvdW50KSkgIGxvY2FsQ291bnQgKDpzaXplKGNvdW50KSApICA9
IGNvdW50KDopCiAgICAgaWYocHJlc2VudChzdHJpZGUpKSBsb2NhbFN0cmlkZSg6c2l6ZShz
dHJpZGUpKSA9IHN0cmlkZSg6KQogICAgIGlmKHByZXNlbnQobWFwKSkgIHRoZW4KICAgICAg
IGxvY2FsTWFwICAgKDpzaXplKG1hcCkpICAgID0gbWFwKDopCiAgICAgICBuZjkwX2dldF92
YXJfMkRfT25lQnl0ZUludCA9ICYKICAgICAgICAgIG5mX2dldF92YXJtX2ludDEobmNpZCwg
dmFyaWQsIGxvY2FsU3RhcnQsIGxvY2FsQ291bnQsIGxvY2FsU3RyaWRlLCBsb2NhbE1hcCwg
dmFsdWVzKQogICAgIGVsc2UKICAgICAgIG5mOTBfZ2V0X3Zhcl8yRF9PbmVCeXRlSW50ID0g
JgogICAgICAgICAgbmZfZ2V0X3ZhcnNfaW50MShuY2lkLCB2YXJpZCwgbG9jYWxTdGFydCwg
bG9jYWxDb3VudCwgbG9jYWxTdHJpZGUsIHZhbHVlcykKICAgICBlbmQgaWYKICAgZW5kIGZ1
bmN0aW9uIG5mOTBfZ2V0X3Zhcl8yRF9PbmVCeXRlSW50CgoKICAgZnVuY3Rpb24gbmY5MF9n
ZXRfdmFyXzNEX09uZUJ5dGVJbnQobmNpZCwgdmFyaWQsIHZhbHVlcywgc3RhcnQsIGNvdW50
LCBzdHJpZGUsIG1hcCkKICAgICBpbnRlZ2VyLCAgICAgICAgICAgICAgICAgICAgICAgICBp
bnRlbnQoIGluKSA6OiBuY2lkLCB2YXJpZAogICAgIGludGVnZXIgKGtpbmQgPSBPbmVCeXRl
SW50KSwgZGltZW5zaW9uKDosIDosIDopLCAmCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW50ZW50KG91dCkgOjogdmFsdWVzCiAgICAgaW50ZWdlciwgZGltZW5z
aW9uKDopLCBvcHRpb25hbCwgaW50ZW50KCBpbikgOjogc3RhcnQsIGNvdW50LCBzdHJpZGUs
IG1hcAogICAgIGludGVnZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IDo6IG5mOTBfZ2V0X3Zhcl8zRF9PbmVCeXRlSW50CiAKICAgICBpbnRlZ2VyLCBkaW1lbnNp
b24obmY5MF9tYXhfdmFyX2RpbXMpIDo6IGxvY2FsU3RhcnQsIGxvY2FsQ291bnQsIGxvY2Fs
U3RyaWRlLCBsb2NhbE1hcAogICAgIGludGVnZXIgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgOjogbnVtRGltcywgY291bnRlcgogCiAgICAgISBTZXQgbG9jYWwgYXJndW1lbnRz
IHRvIGRlZmF1bHQgdmFsdWVzCiAgICAgbnVtRGltcyAgICAgICAgICAgICAgICAgPSBzaXpl
KHNoYXBlKHZhbHVlcykpCiAgICAgbG9jYWxTdGFydCAoOiAgICAgICAgICkgPSAxCiAgICAg
bG9jYWxDb3VudCAoOm51bURpbXMgICkgPSBzaGFwZSh2YWx1ZXMpCiAgICAgbG9jYWxDb3Vu
dCAobnVtRGltcysxOikgPSAxCiAgICAgbG9jYWxTdHJpZGUoOiAgICAgICAgICkgPSAxCiAg
ICAgbG9jYWxNYXAgICAoOm51bURpbXMgICkgPSAoLyAxLCAocHJvZHVjdChsb2NhbENvdW50
KDpjb3VudGVyKSksIGNvdW50ZXIgPSAxLCBudW1EaW1zIC0gMSkgLykKIAogICAgIGlmKHBy
ZXNlbnQoc3RhcnQpKSAgbG9jYWxTdGFydCAoOnNpemUoc3RhcnQpICkgID0gc3RhcnQoOikK
ICAgICBpZihwcmVzZW50KGNvdW50KSkgIGxvY2FsQ291bnQgKDpzaXplKGNvdW50KSApICA9
IGNvdW50KDopCiAgICAgaWYocHJlc2VudChzdHJpZGUpKSBsb2NhbFN0cmlkZSg6c2l6ZShz
dHJpZGUpKSA9IHN0cmlkZSg6KQogICAgIGlmKHByZXNlbnQobWFwKSkgIHRoZW4KICAgICAg
IGxvY2FsTWFwICAgKDpzaXplKG1hcCkpICAgID0gbWFwKDopCiAgICAgICBuZjkwX2dldF92
YXJfM0RfT25lQnl0ZUludCA9ICYKICAgICAgICAgIG5mX2dldF92YXJtX2ludDEobmNpZCwg
dmFyaWQsIGxvY2FsU3RhcnQsIGxvY2FsQ291bnQsIGxvY2FsU3RyaWRlLCBsb2NhbE1hcCwg
dmFsdWVzKQogICAgIGVsc2UKICAgICAgIG5mOTBfZ2V0X3Zhcl8zRF9PbmVCeXRlSW50ID0g
JgogICAgICAgICAgbmZfZ2V0X3ZhcnNfaW50MShuY2lkLCB2YXJpZCwgbG9jYWxTdGFydCwg
bG9jYWxDb3VudCwgbG9jYWxTdHJpZGUsIHZhbHVlcykKICAgICBlbmQgaWYKICAgZW5kIGZ1
bmN0aW9uIG5mOTBfZ2V0X3Zhcl8zRF9PbmVCeXRlSW50CgoKICAgZnVuY3Rpb24gbmY5MF9n
ZXRfdmFyXzREX09uZUJ5dGVJbnQobmNpZCwgdmFyaWQsIHZhbHVlcywgc3RhcnQsIGNvdW50
LCBzdHJpZGUsIG1hcCkKICAgICBpbnRlZ2VyLCAgICAgICAgICAgICAgICAgICAgICAgICBp
bnRlbnQoIGluKSA6OiBuY2lkLCB2YXJpZAogICAgIGludGVnZXIgKGtpbmQgPSBPbmVCeXRl
SW50KSwgZGltZW5zaW9uKDosIDosIDosIDopLCAmCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW50ZW50KG91dCkgOjogdmFsdWVzCiAgICAgaW50ZWdlciwgZGlt
ZW5zaW9uKDopLCBvcHRpb25hbCwgaW50ZW50KCBpbikgOjogc3RhcnQsIGNvdW50LCBzdHJp
ZGUsIG1hcAogICAgIGludGVnZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIDo6IG5mOTBfZ2V0X3Zhcl80RF9PbmVCeXRlSW50CiAKICAgICBpbnRlZ2VyLCBkaW1l
bnNpb24obmY5MF9tYXhfdmFyX2RpbXMpIDo6IGxvY2FsU3RhcnQsIGxvY2FsQ291bnQsIGxv
Y2FsU3RyaWRlLCBsb2NhbE1hcAogICAgIGludGVnZXIgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgOjogbnVtRGltcywgY291bnRlcgogCiAgICAgISBTZXQgbG9jYWwgYXJndW1l
bnRzIHRvIGRlZmF1bHQgdmFsdWVzCiAgICAgbnVtRGltcyAgICAgICAgICAgICAgICAgPSBz
aXplKHNoYXBlKHZhbHVlcykpCiAgICAgbG9jYWxTdGFydCAoOiAgICAgICAgICkgPSAxCiAg
ICAgbG9jYWxDb3VudCAoOm51bURpbXMgICkgPSBzaGFwZSh2YWx1ZXMpCiAgICAgbG9jYWxD
b3VudCAobnVtRGltcysxOikgPSAxCiAgICAgbG9jYWxTdHJpZGUoOiAgICAgICAgICkgPSAx
CiAgICAgbG9jYWxNYXAgICAoOm51bURpbXMgICkgPSAoLyAxLCAocHJvZHVjdChsb2NhbENv
dW50KDpjb3VudGVyKSksIGNvdW50ZXIgPSAxLCBudW1EaW1zIC0gMSkgLykKIAogICAgIGlm
KHByZXNlbnQoc3RhcnQpKSAgbG9jYWxTdGFydCAoOnNpemUoc3RhcnQpICkgID0gc3RhcnQo
OikKICAgICBpZihwcmVzZW50KGNvdW50KSkgIGxvY2FsQ291bnQgKDpzaXplKGNvdW50KSAp
ICA9IGNvdW50KDopCiAgICAgaWYocHJlc2VudChzdHJpZGUpKSBsb2NhbFN0cmlkZSg6c2l6
ZShzdHJpZGUpKSA9IHN0cmlkZSg6KQogICAgIGlmKHByZXNlbnQobWFwKSkgIHRoZW4KICAg
ICAgIGxvY2FsTWFwICAgKDpzaXplKG1hcCkpICAgID0gbWFwKDopCiAgICAgICBuZjkwX2dl
dF92YXJfNERfT25lQnl0ZUludCA9ICYKICAgICAgICAgIG5mX2dldF92YXJtX2ludDEobmNp
ZCwgdmFyaWQsIGxvY2FsU3RhcnQsIGxvY2FsQ291bnQsIGxvY2FsU3RyaWRlLCBsb2NhbE1h
cCwgdmFsdWVzKQogICAgIGVsc2UKICAgICAgIG5mOTBfZ2V0X3Zhcl80RF9PbmVCeXRlSW50
ID0gJgogICAgICAgICAgbmZfZ2V0X3ZhcnNfaW50MShuY2lkLCB2YXJpZCwgbG9jYWxTdGFy
dCwgbG9jYWxDb3VudCwgbG9jYWxTdHJpZGUsIHZhbHVlcykKICAgICBlbmQgaWYKICAgZW5k
IGZ1bmN0aW9uIG5mOTBfZ2V0X3Zhcl80RF9PbmVCeXRlSW50CgoKICAgZnVuY3Rpb24gbmY5
MF9nZXRfdmFyXzVEX09uZUJ5dGVJbnQobmNpZCwgdmFyaWQsIHZhbHVlcywgc3RhcnQsIGNv
dW50LCBzdHJpZGUsIG1hcCkKICAgICBpbnRlZ2VyLCAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnRlbnQoIGluKSA6OiBuY2lkLCB2YXJpZAogICAgIGludGVnZXIgKGtpbmQgPSBPbmVC
eXRlSW50KSwgZGltZW5zaW9uKDosIDosIDosIDosIDopLCAmCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW50ZW50KG91dCkgOjogdmFsdWVzCiAgICAgaW50ZWdl
ciwgZGltZW5zaW9uKDopLCBvcHRpb25hbCwgaW50ZW50KCBpbikgOjogc3RhcnQsIGNvdW50
LCBzdHJpZGUsIG1hcAogICAgIGludGVnZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIDo6IG5mOTBfZ2V0X3Zhcl81RF9PbmVCeXRlSW50CiAKICAgICBpbnRlZ2Vy
LCBkaW1lbnNpb24obmY5MF9tYXhfdmFyX2RpbXMpIDo6IGxvY2FsU3RhcnQsIGxvY2FsQ291
bnQsIGxvY2FsU3RyaWRlLCBsb2NhbE1hcAogICAgIGludGVnZXIgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgOjogbnVtRGltcywgY291bnRlcgogCiAgICAgISBTZXQgbG9jYWwg
YXJndW1lbnRzIHRvIGRlZmF1bHQgdmFsdWVzCiAgICAgbnVtRGltcyAgICAgICAgICAgICAg
ICAgPSBzaXplKHNoYXBlKHZhbHVlcykpCiAgICAgbG9jYWxTdGFydCAoOiAgICAgICAgICkg
PSAxCiAgICAgbG9jYWxDb3VudCAoOm51bURpbXMgICkgPSBzaGFwZSh2YWx1ZXMpCiAgICAg
bG9jYWxDb3VudCAobnVtRGltcysxOikgPSAxCiAgICAgbG9jYWxTdHJpZGUoOiAgICAgICAg
ICkgPSAxCiAgICAgbG9jYWxNYXAgICAoOm51bURpbXMgICkgPSAoLyAxLCAocHJvZHVjdChs
b2NhbENvdW50KDpjb3VudGVyKSksIGNvdW50ZXIgPSAxLCBudW1EaW1zIC0gMSkgLykKIAog
ICAgIGlmKHByZXNlbnQoc3RhcnQpKSAgbG9jYWxTdGFydCAoOnNpemUoc3RhcnQpICkgID0g
c3RhcnQoOikKICAgICBpZihwcmVzZW50KGNvdW50KSkgIGxvY2FsQ291bnQgKDpzaXplKGNv
dW50KSApICA9IGNvdW50KDopCiAgICAgaWYocHJlc2VudChzdHJpZGUpKSBsb2NhbFN0cmlk
ZSg6c2l6ZShzdHJpZGUpKSA9IHN0cmlkZSg6KQogICAgIGlmKHByZXNlbnQobWFwKSkgIHRo
ZW4KICAgICAgIGxvY2FsTWFwICAgKDpzaXplKG1hcCkpICAgID0gbWFwKDopCiAgICAgICBu
ZjkwX2dldF92YXJfNURfT25lQnl0ZUludCA9ICYKICAgICAgICAgIG5mX2dldF92YXJtX2lu
dDEobmNpZCwgdmFyaWQsIGxvY2FsU3RhcnQsIGxvY2FsQ291bnQsIGxvY2FsU3RyaWRlLCBs
b2NhbE1hcCwgdmFsdWVzKQogICAgIGVsc2UKICAgICAgIG5mOTBfZ2V0X3Zhcl81RF9PbmVC
eXRlSW50ID0gJgogICAgICAgICAgbmZfZ2V0X3ZhcnNfaW50MShuY2lkLCB2YXJpZCwgbG9j
YWxTdGFydCwgbG9jYWxDb3VudCwgbG9jYWxTdHJpZGUsIHZhbHVlcykKICAgICBlbmQgaWYK
ICAgZW5kIGZ1bmN0aW9uIG5mOTBfZ2V0X3Zhcl81RF9PbmVCeXRlSW50CgoKICAgZnVuY3Rp
b24gbmY5MF9nZXRfdmFyXzZEX09uZUJ5dGVJbnQobmNpZCwgdmFyaWQsIHZhbHVlcywgc3Rh
cnQsIGNvdW50LCBzdHJpZGUsIG1hcCkKICAgICBpbnRlZ2VyLCAgICAgICAgICAgICAgICAg
ICAgICAgICBpbnRlbnQoIGluKSA6OiBuY2lkLCB2YXJpZAogICAgIGludGVnZXIgKGtpbmQg
PSBPbmVCeXRlSW50KSwgZGltZW5zaW9uKDosIDosIDosIDosIDosIDopLCAmCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50ZW50KG91dCkgOjogdmFsdWVzCiAg
ICAgaW50ZWdlciwgZGltZW5zaW9uKDopLCBvcHRpb25hbCwgaW50ZW50KCBpbikgOjogc3Rh
cnQsIGNvdW50LCBzdHJpZGUsIG1hcAogICAgIGludGVnZXIgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIDo6IG5mOTBfZ2V0X3Zhcl82RF9PbmVCeXRlSW50CiAKICAg
ICBpbnRlZ2VyLCBkaW1lbnNpb24obmY5MF9tYXhfdmFyX2RpbXMpIDo6IGxvY2FsU3RhcnQs
IGxvY2FsQ291bnQsIGxvY2FsU3RyaWRlLCBsb2NhbE1hcAogICAgIGludGVnZXIgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgOjogbnVtRGltcywgY291bnRlcgogCiAgICAgISBT
ZXQgbG9jYWwgYXJndW1lbnRzIHRvIGRlZmF1bHQgdmFsdWVzCiAgICAgbnVtRGltcyAgICAg
ICAgICAgICAgICAgPSBzaXplKHNoYXBlKHZhbHVlcykpCiAgICAgbG9jYWxTdGFydCAoOiAg
ICAgICAgICkgPSAxCiAgICAgbG9jYWxDb3VudCAoOm51bURpbXMgICkgPSBzaGFwZSh2YWx1
ZXMpCiAgICAgbG9jYWxDb3VudCAobnVtRGltcysxOikgPSAxCiAgICAgbG9jYWxTdHJpZGUo
OiAgICAgICAgICkgPSAxCiAgICAgbG9jYWxNYXAgICAoOm51bURpbXMgICkgPSAoLyAxLCAo
cHJvZHVjdChsb2NhbENvdW50KDpjb3VudGVyKSksIGNvdW50ZXIgPSAxLCBudW1EaW1zIC0g
MSkgLykKIAogICAgIGlmKHByZXNlbnQoc3RhcnQpKSAgbG9jYWxTdGFydCAoOnNpemUoc3Rh
cnQpICkgID0gc3RhcnQoOikKICAgICBpZihwcmVzZW50KGNvdW50KSkgIGxvY2FsQ291bnQg
KDpzaXplKGNvdW50KSApICA9IGNvdW50KDopCiAgICAgaWYocHJlc2VudChzdHJpZGUpKSBs
b2NhbFN0cmlkZSg6c2l6ZShzdHJpZGUpKSA9IHN0cmlkZSg6KQogICAgIGlmKHByZXNlbnQo
bWFwKSkgIHRoZW4KICAgICAgIGxvY2FsTWFwICAgKDpzaXplKG1hcCkpICAgID0gbWFwKDop
CiAgICAgICBuZjkwX2dldF92YXJfNkRfT25lQnl0ZUludCA9ICYKICAgICAgICAgIG5mX2dl
dF92YXJtX2ludDEobmNpZCwgdmFyaWQsIGxvY2FsU3RhcnQsIGxvY2FsQ291bnQsIGxvY2Fs
U3RyaWRlLCBsb2NhbE1hcCwgdmFsdWVzKQogICAgIGVsc2UKICAgICAgIG5mOTBfZ2V0X3Zh
cl82RF9PbmVCeXRlSW50ID0gJgogICAgICAgICAgbmZfZ2V0X3ZhcnNfaW50MShuY2lkLCB2
YXJpZCwgbG9jYWxTdGFydCwgbG9jYWxDb3VudCwgbG9jYWxTdHJpZGUsIHZhbHVlcykKICAg
ICBlbmQgaWYKICAgZW5kIGZ1bmN0aW9uIG5mOTBfZ2V0X3Zhcl82RF9PbmVCeXRlSW50CgoK
ICAgZnVuY3Rpb24gbmY5MF9nZXRfdmFyXzdEX09uZUJ5dGVJbnQobmNpZCwgdmFyaWQsIHZh
bHVlcywgc3RhcnQsIGNvdW50LCBzdHJpZGUsIG1hcCkKICAgICBpbnRlZ2VyLCAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnRlbnQoIGluKSA6OiBuY2lkLCB2YXJpZAogICAgIGludGVn
ZXIgKGtpbmQgPSBPbmVCeXRlSW50KSwgZGltZW5zaW9uKDosIDosIDosIDosIDosIDosIDop
LCAmCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50ZW50KG91dCkg
OjogdmFsdWVzCiAgICAgaW50ZWdlciwgZGltZW5zaW9uKDopLCBvcHRpb25hbCwgaW50ZW50
KCBpbikgOjogc3RhcnQsIGNvdW50LCBzdHJpZGUsIG1hcAogICAgIGludGVnZXIgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDo6IG5mOTBfZ2V0X3Zhcl83RF9PbmVC
eXRlSW50CiAKICAgICBpbnRlZ2VyLCBkaW1lbnNpb24obmY5MF9tYXhfdmFyX2RpbXMpIDo6
IGxvY2FsU3RhcnQsIGxvY2FsQ291bnQsIGxvY2FsU3RyaWRlLCBsb2NhbE1hcAogICAgIGlu
dGVnZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOjogbnVtRGltcywgY291bnRl
cgogCiAgICAgISBTZXQgbG9jYWwgYXJndW1lbnRzIHRvIGRlZmF1bHQgdmFsdWVzCiAgICAg
bnVtRGltcyAgICAgICAgICAgICAgICAgPSBzaXplKHNoYXBlKHZhbHVlcykpCiAgICAgbG9j
YWxTdGFydCAoOiAgICAgICAgICkgPSAxCiAgICAgbG9jYWxDb3VudCAoOm51bURpbXMgICkg
PSBzaGFwZSh2YWx1ZXMpCiAgICAgbG9jYWxDb3VudCAobnVtRGltcysxOikgPSAxCiAgICAg
bG9jYWxTdHJpZGUoOiAgICAgICAgICkgPSAxCiAgICAgbG9jYWxNYXAgICAoOm51bURpbXMg
ICkgPSAoLyAxLCAocHJvZHVjdChsb2NhbENvdW50KDpjb3VudGVyKSksIGNvdW50ZXIgPSAx
LCBudW1EaW1zIC0gMSkgLykKIAogICAgIGlmKHByZXNlbnQoc3RhcnQpKSAgbG9jYWxTdGFy
dCAoOnNpemUoc3RhcnQpICkgID0gc3RhcnQoOikKICAgICBpZihwcmVzZW50KGNvdW50KSkg
IGxvY2FsQ291bnQgKDpzaXplKGNvdW50KSApICA9IGNvdW50KDopCiAgICAgaWYocHJlc2Vu
dChzdHJpZGUpKSBsb2NhbFN0cmlkZSg6c2l6ZShzdHJpZGUpKSA9IHN0cmlkZSg6KQogICAg
IGlmKHByZXNlbnQobWFwKSkgIHRoZW4KICAgICAgIGxvY2FsTWFwICAgKDpzaXplKG1hcCkp
ICAgID0gbWFwKDopCiAgICAgICBuZjkwX2dldF92YXJfN0RfT25lQnl0ZUludCA9ICYKICAg
ICAgICAgIG5mX2dldF92YXJtX2ludDEobmNpZCwgdmFyaWQsIGxvY2FsU3RhcnQsIGxvY2Fs
Q291bnQsIGxvY2FsU3RyaWRlLCBsb2NhbE1hcCwgdmFsdWVzKQogICAgIGVsc2UKICAgICAg
IG5mOTBfZ2V0X3Zhcl83RF9PbmVCeXRlSW50ID0gJgogICAgICAgICAgbmZfZ2V0X3ZhcnNf
aW50MShuY2lkLCB2YXJpZCwgbG9jYWxTdGFydCwgbG9jYWxDb3VudCwgbG9jYWxTdHJpZGUs
IHZhbHVlcykKICAgICBlbmQgaWYKICAgZW5kIGZ1bmN0aW9uIG5mOTBfZ2V0X3Zhcl83RF9P
bmVCeXRlSW50CgoKICAgZnVuY3Rpb24gbmY5MF9nZXRfdmFyXzFEX1R3b0J5dGVJbnQobmNp
ZCwgdmFyaWQsIHZhbHVlcywgc3RhcnQsIGNvdW50LCBzdHJpZGUsIG1hcCkKICAgICBpbnRl
Z2VyLCAgICAgICAgICAgICAgICAgICAgICAgICBpbnRlbnQoIGluKSA6OiBuY2lkLCB2YXJp
ZAogICAgIGludGVnZXIgKGtpbmQgPSBUd29CeXRlSW50KSwgZGltZW5zaW9uKDopLCAmCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50ZW50KG91dCkgOjogdmFs
dWVzCiAgICAgaW50ZWdlciwgZGltZW5zaW9uKDopLCBvcHRpb25hbCwgaW50ZW50KCBpbikg
Ojogc3RhcnQsIGNvdW50LCBzdHJpZGUsIG1hcAogICAgIGludGVnZXIgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIDo6IG5mOTBfZ2V0X3Zhcl8xRF9Ud29CeXRlSW50
CiAKICAgICBpbnRlZ2VyLCBkaW1lbnNpb24obmY5MF9tYXhfdmFyX2RpbXMpIDo6IGxvY2Fs
U3RhcnQsIGxvY2FsQ291bnQsIGxvY2FsU3RyaWRlLCBsb2NhbE1hcAogICAgIGludGVnZXIg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOjogbnVtRGltcywgY291bnRlcgogCiAg
ICAgISBTZXQgbG9jYWwgYXJndW1lbnRzIHRvIGRlZmF1bHQgdmFsdWVzCiAgICAgbnVtRGlt
cyAgICAgICAgICAgICAgICAgPSBzaXplKHNoYXBlKHZhbHVlcykpCiAgICAgbG9jYWxTdGFy
dCAoOiAgICAgICAgICkgPSAxCiAgICAgbG9jYWxDb3VudCAoOm51bURpbXMgICkgPSBzaGFw
ZSh2YWx1ZXMpCiAgICAgbG9jYWxDb3VudCAobnVtRGltcysxOikgPSAxCiAgICAgbG9jYWxT
dHJpZGUoOiAgICAgICAgICkgPSAxCiAgICAgbG9jYWxNYXAgICAoOm51bURpbXMgICkgPSAo
LyAxLCAocHJvZHVjdChsb2NhbENvdW50KDpjb3VudGVyKSksIGNvdW50ZXIgPSAxLCBudW1E
aW1zIC0gMSkgLykKIAogICAgIGlmKHByZXNlbnQoc3RhcnQpKSAgbG9jYWxTdGFydCAoOnNp
emUoc3RhcnQpICkgID0gc3RhcnQoOikKICAgICBpZihwcmVzZW50KGNvdW50KSkgIGxvY2Fs
Q291bnQgKDpzaXplKGNvdW50KSApICA9IGNvdW50KDopCiAgICAgaWYocHJlc2VudChzdHJp
ZGUpKSBsb2NhbFN0cmlkZSg6c2l6ZShzdHJpZGUpKSA9IHN0cmlkZSg6KQogICAgIGlmKHBy
ZXNlbnQobWFwKSkgIHRoZW4KICAgICAgIGxvY2FsTWFwICAgKDpzaXplKG1hcCkpICAgID0g
bWFwKDopCiAgICAgICBuZjkwX2dldF92YXJfMURfVHdvQnl0ZUludCA9ICYKICAgICAgICAg
IG5mX2dldF92YXJtX2ludDIobmNpZCwgdmFyaWQsIGxvY2FsU3RhcnQsIGxvY2FsQ291bnQs
IGxvY2FsU3RyaWRlLCBsb2NhbE1hcCwgdmFsdWVzKQogICAgIGVsc2UKICAgICAgIG5mOTBf
Z2V0X3Zhcl8xRF9Ud29CeXRlSW50ID0gJgogICAgICAgICAgbmZfZ2V0X3ZhcnNfaW50Mihu
Y2lkLCB2YXJpZCwgbG9jYWxTdGFydCwgbG9jYWxDb3VudCwgbG9jYWxTdHJpZGUsIHZhbHVl
cykKICAgICBlbmQgaWYKICAgZW5kIGZ1bmN0aW9uIG5mOTBfZ2V0X3Zhcl8xRF9Ud29CeXRl
SW50CgoKICAgZnVuY3Rpb24gbmY5MF9nZXRfdmFyXzJEX1R3b0J5dGVJbnQobmNpZCwgdmFy
aWQsIHZhbHVlcywgc3RhcnQsIGNvdW50LCBzdHJpZGUsIG1hcCkKICAgICBpbnRlZ2VyLCAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnRlbnQoIGluKSA6OiBuY2lkLCB2YXJpZAogICAg
IGludGVnZXIgKGtpbmQgPSBUd29CeXRlSW50KSwgZGltZW5zaW9uKDosIDopLCAmCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50ZW50KG91dCkgOjogdmFsdWVz
CiAgICAgaW50ZWdlciwgZGltZW5zaW9uKDopLCBvcHRpb25hbCwgaW50ZW50KCBpbikgOjog
c3RhcnQsIGNvdW50LCBzdHJpZGUsIG1hcAogICAgIGludGVnZXIgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIDo6IG5mOTBfZ2V0X3Zhcl8yRF9Ud29CeXRlSW50CiAK
ICAgICBpbnRlZ2VyLCBkaW1lbnNpb24obmY5MF9tYXhfdmFyX2RpbXMpIDo6IGxvY2FsU3Rh
cnQsIGxvY2FsQ291bnQsIGxvY2FsU3RyaWRlLCBsb2NhbE1hcAogICAgIGludGVnZXIgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgOjogbnVtRGltcywgY291bnRlcgogCiAgICAg
ISBTZXQgbG9jYWwgYXJndW1lbnRzIHRvIGRlZmF1bHQgdmFsdWVzCiAgICAgbnVtRGltcyAg
ICAgICAgICAgICAgICAgPSBzaXplKHNoYXBlKHZhbHVlcykpCiAgICAgbG9jYWxTdGFydCAo
OiAgICAgICAgICkgPSAxCiAgICAgbG9jYWxDb3VudCAoOm51bURpbXMgICkgPSBzaGFwZSh2
YWx1ZXMpCiAgICAgbG9jYWxDb3VudCAobnVtRGltcysxOikgPSAxCiAgICAgbG9jYWxTdHJp
ZGUoOiAgICAgICAgICkgPSAxCiAgICAgbG9jYWxNYXAgICAoOm51bURpbXMgICkgPSAoLyAx
LCAocHJvZHVjdChsb2NhbENvdW50KDpjb3VudGVyKSksIGNvdW50ZXIgPSAxLCBudW1EaW1z
IC0gMSkgLykKIAogICAgIGlmKHByZXNlbnQoc3RhcnQpKSAgbG9jYWxTdGFydCAoOnNpemUo
c3RhcnQpICkgID0gc3RhcnQoOikKICAgICBpZihwcmVzZW50KGNvdW50KSkgIGxvY2FsQ291
bnQgKDpzaXplKGNvdW50KSApICA9IGNvdW50KDopCiAgICAgaWYocHJlc2VudChzdHJpZGUp
KSBsb2NhbFN0cmlkZSg6c2l6ZShzdHJpZGUpKSA9IHN0cmlkZSg6KQogICAgIGlmKHByZXNl
bnQobWFwKSkgIHRoZW4KICAgICAgIGxvY2FsTWFwICAgKDpzaXplKG1hcCkpICAgID0gbWFw
KDopCiAgICAgICBuZjkwX2dldF92YXJfMkRfVHdvQnl0ZUludCA9ICYKICAgICAgICAgIG5m
X2dldF92YXJtX2ludDIobmNpZCwgdmFyaWQsIGxvY2FsU3RhcnQsIGxvY2FsQ291bnQsIGxv
Y2FsU3RyaWRlLCBsb2NhbE1hcCwgdmFsdWVzKQogICAgIGVsc2UKICAgICAgIG5mOTBfZ2V0
X3Zhcl8yRF9Ud29CeXRlSW50ID0gJgogICAgICAgICAgbmZfZ2V0X3ZhcnNfaW50MihuY2lk
LCB2YXJpZCwgbG9jYWxTdGFydCwgbG9jYWxDb3VudCwgbG9jYWxTdHJpZGUsIHZhbHVlcykK
ICAgICBlbmQgaWYKICAgZW5kIGZ1bmN0aW9uIG5mOTBfZ2V0X3Zhcl8yRF9Ud29CeXRlSW50
CgoKICAgZnVuY3Rpb24gbmY5MF9nZXRfdmFyXzNEX1R3b0J5dGVJbnQobmNpZCwgdmFyaWQs
IHZhbHVlcywgc3RhcnQsIGNvdW50LCBzdHJpZGUsIG1hcCkKICAgICBpbnRlZ2VyLCAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnRlbnQoIGluKSA6OiBuY2lkLCB2YXJpZAogICAgIGlu
dGVnZXIgKGtpbmQgPSBUd29CeXRlSW50KSwgZGltZW5zaW9uKDosIDosIDopLCAmCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50ZW50KG91dCkgOjogdmFsdWVz
CiAgICAgaW50ZWdlciwgZGltZW5zaW9uKDopLCBvcHRpb25hbCwgaW50ZW50KCBpbikgOjog
c3RhcnQsIGNvdW50LCBzdHJpZGUsIG1hcAogICAgIGludGVnZXIgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIDo6IG5mOTBfZ2V0X3Zhcl8zRF9Ud29CeXRlSW50CiAK
ICAgICBpbnRlZ2VyLCBkaW1lbnNpb24obmY5MF9tYXhfdmFyX2RpbXMpIDo6IGxvY2FsU3Rh
cnQsIGxvY2FsQ291bnQsIGxvY2FsU3RyaWRlLCBsb2NhbE1hcAogICAgIGludGVnZXIgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgOjogbnVtRGltcywgY291bnRlcgogCiAgICAg
ISBTZXQgbG9jYWwgYXJndW1lbnRzIHRvIGRlZmF1bHQgdmFsdWVzCiAgICAgbnVtRGltcyAg
ICAgICAgICAgICAgICAgPSBzaXplKHNoYXBlKHZhbHVlcykpCiAgICAgbG9jYWxTdGFydCAo
OiAgICAgICAgICkgPSAxCiAgICAgbG9jYWxDb3VudCAoOm51bURpbXMgICkgPSBzaGFwZSh2
YWx1ZXMpCiAgICAgbG9jYWxDb3VudCAobnVtRGltcysxOikgPSAxCiAgICAgbG9jYWxTdHJp
ZGUoOiAgICAgICAgICkgPSAxCiAgICAgbG9jYWxNYXAgICAoOm51bURpbXMgICkgPSAoLyAx
LCAocHJvZHVjdChsb2NhbENvdW50KDpjb3VudGVyKSksIGNvdW50ZXIgPSAxLCBudW1EaW1z
IC0gMSkgLykKIAogICAgIGlmKHByZXNlbnQoc3RhcnQpKSAgbG9jYWxTdGFydCAoOnNpemUo
c3RhcnQpICkgID0gc3RhcnQoOikKICAgICBpZihwcmVzZW50KGNvdW50KSkgIGxvY2FsQ291
bnQgKDpzaXplKGNvdW50KSApICA9IGNvdW50KDopCiAgICAgaWYocHJlc2VudChzdHJpZGUp
KSBsb2NhbFN0cmlkZSg6c2l6ZShzdHJpZGUpKSA9IHN0cmlkZSg6KQogICAgIGlmKHByZXNl
bnQobWFwKSkgIHRoZW4KICAgICAgIGxvY2FsTWFwICAgKDpzaXplKG1hcCkpICAgID0gbWFw
KDopCiAgICAgICBuZjkwX2dldF92YXJfM0RfVHdvQnl0ZUludCA9ICYKICAgICAgICAgIG5m
X2dldF92YXJtX2ludDIobmNpZCwgdmFyaWQsIGxvY2FsU3RhcnQsIGxvY2FsQ291bnQsIGxv
Y2FsU3RyaWRlLCBsb2NhbE1hcCwgdmFsdWVzKQogICAgIGVsc2UKICAgICAgIG5mOTBfZ2V0
X3Zhcl8zRF9Ud29CeXRlSW50ID0gJgogICAgICAgICAgbmZfZ2V0X3ZhcnNfaW50MihuY2lk
LCB2YXJpZCwgbG9jYWxTdGFydCwgbG9jYWxDb3VudCwgbG9jYWxTdHJpZGUsIHZhbHVlcykK
ICAgICBlbmQgaWYKICAgZW5kIGZ1bmN0aW9uIG5mOTBfZ2V0X3Zhcl8zRF9Ud29CeXRlSW50
CgoKICAgZnVuY3Rpb24gbmY5MF9nZXRfdmFyXzREX1R3b0J5dGVJbnQobmNpZCwgdmFyaWQs
IHZhbHVlcywgc3RhcnQsIGNvdW50LCBzdHJpZGUsIG1hcCkKICAgICBpbnRlZ2VyLCAgICAg
ICAgICAgICAgICAgICAgICAgICBpbnRlbnQoIGluKSA6OiBuY2lkLCB2YXJpZAogICAgIGlu
dGVnZXIgKGtpbmQgPSBUd29CeXRlSW50KSwgZGltZW5zaW9uKDosIDosIDosIDopLCAmCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50ZW50KG91dCkgOjogdmFs
dWVzCiAgICAgaW50ZWdlciwgZGltZW5zaW9uKDopLCBvcHRpb25hbCwgaW50ZW50KCBpbikg
Ojogc3RhcnQsIGNvdW50LCBzdHJpZGUsIG1hcAogICAgIGludGVnZXIgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIDo6IG5mOTBfZ2V0X3Zhcl80RF9Ud29CeXRlSW50
CiAKICAgICBpbnRlZ2VyLCBkaW1lbnNpb24obmY5MF9tYXhfdmFyX2RpbXMpIDo6IGxvY2Fs
U3RhcnQsIGxvY2FsQ291bnQsIGxvY2FsU3RyaWRlLCBsb2NhbE1hcAogICAgIGludGVnZXIg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOjogbnVtRGltcywgY291bnRlcgogCiAg
ICAgISBTZXQgbG9jYWwgYXJndW1lbnRzIHRvIGRlZmF1bHQgdmFsdWVzCiAgICAgbnVtRGlt
cyAgICAgICAgICAgICAgICAgPSBzaXplKHNoYXBlKHZhbHVlcykpCiAgICAgbG9jYWxTdGFy
dCAoOiAgICAgICAgICkgPSAxCiAgICAgbG9jYWxDb3VudCAoOm51bURpbXMgICkgPSBzaGFw
ZSh2YWx1ZXMpCiAgICAgbG9jYWxDb3VudCAobnVtRGltcysxOikgPSAxCiAgICAgbG9jYWxT
dHJpZGUoOiAgICAgICAgICkgPSAxCiAgICAgbG9jYWxNYXAgICAoOm51bURpbXMgICkgPSAo
LyAxLCAocHJvZHVjdChsb2NhbENvdW50KDpjb3VudGVyKSksIGNvdW50ZXIgPSAxLCBudW1E
aW1zIC0gMSkgLykKIAogICAgIGlmKHByZXNlbnQoc3RhcnQpKSAgbG9jYWxTdGFydCAoOnNp
emUoc3RhcnQpICkgID0gc3RhcnQoOikKICAgICBpZihwcmVzZW50KGNvdW50KSkgIGxvY2Fs
Q291bnQgKDpzaXplKGNvdW50KSApICA9IGNvdW50KDopCiAgICAgaWYocHJlc2VudChzdHJp
ZGUpKSBsb2NhbFN0cmlkZSg6c2l6ZShzdHJpZGUpKSA9IHN0cmlkZSg6KQogICAgIGlmKHBy
ZXNlbnQobWFwKSkgIHRoZW4KICAgICAgIGxvY2FsTWFwICAgKDpzaXplKG1hcCkpICAgID0g
bWFwKDopCiAgICAgICBuZjkwX2dldF92YXJfNERfVHdvQnl0ZUludCA9ICYKICAgICAgICAg
IG5mX2dldF92YXJtX2ludDIobmNpZCwgdmFyaWQsIGxvY2FsU3RhcnQsIGxvY2FsQ291bnQs
IGxvY2FsU3RyaWRlLCBsb2NhbE1hcCwgdmFsdWVzKQogICAgIGVsc2UKICAgICAgIG5mOTBf
Z2V0X3Zhcl80RF9Ud29CeXRlSW50ID0gJgogICAgICAgICAgbmZfZ2V0X3ZhcnNfaW50Mihu
Y2lkLCB2YXJpZCwgbG9jYWxTdGFydCwgbG9jYWxDb3VudCwgbG9jYWxTdHJpZGUsIHZhbHVl
cykKICAgICBlbmQgaWYKICAgZW5kIGZ1bmN0aW9uIG5mOTBfZ2V0X3Zhcl80RF9Ud29CeXRl
SW50CgoKICAgZnVuY3Rpb24gbmY5MF9nZXRfdmFyXzVEX1R3b0J5dGVJbnQobmNpZCwgdmFy
aWQsIHZhbHVlcywgc3RhcnQsIGNvdW50LCBzdHJpZGUsIG1hcCkKICAgICBpbnRlZ2VyLCAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnRlbnQoIGluKSA6OiBuY2lkLCB2YXJpZAogICAg
IGludGVnZXIgKGtpbmQgPSBUd29CeXRlSW50KSwgZGltZW5zaW9uKDosIDosIDosIDosIDop
LCAmCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50ZW50KG91dCkg
OjogdmFsdWVzCiAgICAgaW50ZWdlciwgZGltZW5zaW9uKDopLCBvcHRpb25hbCwgaW50ZW50
KCBpbikgOjogc3RhcnQsIGNvdW50LCBzdHJpZGUsIG1hcAogICAgIGludGVnZXIgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDo6IG5mOTBfZ2V0X3Zhcl81RF9Ud29C
eXRlSW50CiAKICAgICBpbnRlZ2VyLCBkaW1lbnNpb24obmY5MF9tYXhfdmFyX2RpbXMpIDo6
IGxvY2FsU3RhcnQsIGxvY2FsQ291bnQsIGxvY2FsU3RyaWRlLCBsb2NhbE1hcAogICAgIGlu
dGVnZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOjogbnVtRGltcywgY291bnRl
cgogCiAgICAgISBTZXQgbG9jYWwgYXJndW1lbnRzIHRvIGRlZmF1bHQgdmFsdWVzCiAgICAg
bnVtRGltcyAgICAgICAgICAgICAgICAgPSBzaXplKHNoYXBlKHZhbHVlcykpCiAgICAgbG9j
YWxTdGFydCAoOiAgICAgICAgICkgPSAxCiAgICAgbG9jYWxDb3VudCAoOm51bURpbXMgICkg
PSBzaGFwZSh2YWx1ZXMpCiAgICAgbG9jYWxDb3VudCAobnVtRGltcysxOikgPSAxCiAgICAg
bG9jYWxTdHJpZGUoOiAgICAgICAgICkgPSAxCiAgICAgbG9jYWxNYXAgICAoOm51bURpbXMg
ICkgPSAoLyAxLCAocHJvZHVjdChsb2NhbENvdW50KDpjb3VudGVyKSksIGNvdW50ZXIgPSAx
LCBudW1EaW1zIC0gMSkgLykKIAogICAgIGlmKHByZXNlbnQoc3RhcnQpKSAgbG9jYWxTdGFy
dCAoOnNpemUoc3RhcnQpICkgID0gc3RhcnQoOikKICAgICBpZihwcmVzZW50KGNvdW50KSkg
IGxvY2FsQ291bnQgKDpzaXplKGNvdW50KSApICA9IGNvdW50KDopCiAgICAgaWYocHJlc2Vu
dChzdHJpZGUpKSBsb2NhbFN0cmlkZSg6c2l6ZShzdHJpZGUpKSA9IHN0cmlkZSg6KQogICAg
IGlmKHByZXNlbnQobWFwKSkgIHRoZW4KICAgICAgIGxvY2FsTWFwICAgKDpzaXplKG1hcCkp
ICAgID0gbWFwKDopCiAgICAgICBuZjkwX2dldF92YXJfNURfVHdvQnl0ZUludCA9ICYKICAg
ICAgICAgIG5mX2dldF92YXJtX2ludDIobmNpZCwgdmFyaWQsIGxvY2FsU3RhcnQsIGxvY2Fs
Q291bnQsIGxvY2FsU3RyaWRlLCBsb2NhbE1hcCwgdmFsdWVzKQogICAgIGVsc2UKICAgICAg
IG5mOTBfZ2V0X3Zhcl81RF9Ud29CeXRlSW50ID0gJgogICAgICAgICAgbmZfZ2V0X3ZhcnNf
aW50MihuY2lkLCB2YXJpZCwgbG9jYWxTdGFydCwgbG9jYWxDb3VudCwgbG9jYWxTdHJpZGUs
IHZhbHVlcykKICAgICBlbmQgaWYKICAgZW5kIGZ1bmN0aW9uIG5mOTBfZ2V0X3Zhcl81RF9U
d29CeXRlSW50CgoKICAgZnVuY3Rpb24gbmY5MF9nZXRfdmFyXzZEX1R3b0J5dGVJbnQobmNp
ZCwgdmFyaWQsIHZhbHVlcywgc3RhcnQsIGNvdW50LCBzdHJpZGUsIG1hcCkKICAgICBpbnRl
Z2VyLCAgICAgICAgICAgICAgICAgICAgICAgICBpbnRlbnQoIGluKSA6OiBuY2lkLCB2YXJp
ZAogICAgIGludGVnZXIgKGtpbmQgPSBUd29CeXRlSW50KSwgZGltZW5zaW9uKDosIDosIDos
IDosIDosIDopLCAmCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
ZW50KG91dCkgOjogdmFsdWVzCiAgICAgaW50ZWdlciwgZGltZW5zaW9uKDopLCBvcHRpb25h
bCwgaW50ZW50KCBpbikgOjogc3RhcnQsIGNvdW50LCBzdHJpZGUsIG1hcAogICAgIGludGVn
ZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDo6IG5mOTBfZ2V0X3Zh
cl82RF9Ud29CeXRlSW50CiAKICAgICBpbnRlZ2VyLCBkaW1lbnNpb24obmY5MF9tYXhfdmFy
X2RpbXMpIDo6IGxvY2FsU3RhcnQsIGxvY2FsQ291bnQsIGxvY2FsU3RyaWRlLCBsb2NhbE1h
cAogICAgIGludGVnZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOjogbnVtRGlt
cywgY291bnRlcgogCiAgICAgISBTZXQgbG9jYWwgYXJndW1lbnRzIHRvIGRlZmF1bHQgdmFs
dWVzCiAgICAgbnVtRGltcyAgICAgICAgICAgICAgICAgPSBzaXplKHNoYXBlKHZhbHVlcykp
CiAgICAgbG9jYWxTdGFydCAoOiAgICAgICAgICkgPSAxCiAgICAgbG9jYWxDb3VudCAoOm51
bURpbXMgICkgPSBzaGFwZSh2YWx1ZXMpCiAgICAgbG9jYWxDb3VudCAobnVtRGltcysxOikg
PSAxCiAgICAgbG9jYWxTdHJpZGUoOiAgICAgICAgICkgPSAxCiAgICAgbG9jYWxNYXAgICAo
Om51bURpbXMgICkgPSAoLyAxLCAocHJvZHVjdChsb2NhbENvdW50KDpjb3VudGVyKSksIGNv
dW50ZXIgPSAxLCBudW1EaW1zIC0gMSkgLykKIAogICAgIGlmKHByZXNlbnQoc3RhcnQpKSAg
bG9jYWxTdGFydCAoOnNpemUoc3RhcnQpICkgID0gc3RhcnQoOikKICAgICBpZihwcmVzZW50
KGNvdW50KSkgIGxvY2FsQ291bnQgKDpzaXplKGNvdW50KSApICA9IGNvdW50KDopCiAgICAg
aWYocHJlc2VudChzdHJpZGUpKSBsb2NhbFN0cmlkZSg6c2l6ZShzdHJpZGUpKSA9IHN0cmlk
ZSg6KQogICAgIGlmKHByZXNlbnQobWFwKSkgIHRoZW4KICAgICAgIGxvY2FsTWFwICAgKDpz
aXplKG1hcCkpICAgID0gbWFwKDopCiAgICAgICBuZjkwX2dldF92YXJfNkRfVHdvQnl0ZUlu
dCA9ICYKICAgICAgICAgIG5mX2dldF92YXJtX2ludDIobmNpZCwgdmFyaWQsIGxvY2FsU3Rh
cnQsIGxvY2FsQ291bnQsIGxvY2FsU3RyaWRlLCBsb2NhbE1hcCwgdmFsdWVzKQogICAgIGVs
c2UKICAgICAgIG5mOTBfZ2V0X3Zhcl82RF9Ud29CeXRlSW50ID0gJgogICAgICAgICAgbmZf
Z2V0X3ZhcnNfaW50MihuY2lkLCB2YXJpZCwgbG9jYWxTdGFydCwgbG9jYWxDb3VudCwgbG9j
YWxTdHJpZGUsIHZhbHVlcykKICAgICBlbmQgaWYKICAgZW5kIGZ1bmN0aW9uIG5mOTBfZ2V0
X3Zhcl82RF9Ud29CeXRlSW50CgoKICAgZnVuY3Rpb24gbmY5MF9nZXRfdmFyXzdEX1R3b0J5
dGVJbnQobmNpZCwgdmFyaWQsIHZhbHVlcywgc3RhcnQsIGNvdW50LCBzdHJpZGUsIG1hcCkK
ICAgICBpbnRlZ2VyLCAgICAgICAgICAgICAgICAgICAgICAgICBpbnRlbnQoIGluKSA6OiBu
Y2lkLCB2YXJpZAogICAgIGludGVnZXIgKGtpbmQgPSBUd29CeXRlSW50KSwgZGltZW5zaW9u
KDosIDosIDosIDosIDosIDosIDopLCAmCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50ZW50KG91dCkgOjogdmFsdWVzCiAgICAgaW50ZWdlciwgZGltZW5zaW9u
KDopLCBvcHRpb25hbCwgaW50ZW50KCBpbikgOjogc3RhcnQsIGNvdW50LCBzdHJpZGUsIG1h
cAogICAgIGludGVnZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDo6
IG5mOTBfZ2V0X3Zhcl83RF9Ud29CeXRlSW50CiAKICAgICBpbnRlZ2VyLCBkaW1lbnNpb24o
bmY5MF9tYXhfdmFyX2RpbXMpIDo6IGxvY2FsU3RhcnQsIGxvY2FsQ291bnQsIGxvY2FsU3Ry
aWRlLCBsb2NhbE1hcAogICAgIGludGVnZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgOjogbnVtRGltcywgY291bnRlcgogCiAgICAgISBTZXQgbG9jYWwgYXJndW1lbnRzIHRv
IGRlZmF1bHQgdmFsdWVzCiAgICAgbnVtRGltcyAgICAgICAgICAgICAgICAgPSBzaXplKHNo
YXBlKHZhbHVlcykpCiAgICAgbG9jYWxTdGFydCAoOiAgICAgICAgICkgPSAxCiAgICAgbG9j
YWxDb3VudCAoOm51bURpbXMgICkgPSBzaGFwZSh2YWx1ZXMpCiAgICAgbG9jYWxDb3VudCAo
bnVtRGltcysxOikgPSAxCiAgICAgbG9jYWxTdHJpZGUoOiAgICAgICAgICkgPSAxCiAgICAg
bG9jYWxNYXAgICAoOm51bURpbXMgICkgPSAoLyAxLCAocHJvZHVjdChsb2NhbENvdW50KDpj
b3VudGVyKSksIGNvdW50ZXIgPSAxLCBudW1EaW1zIC0gMSkgLykKIAogICAgIGlmKHByZXNl
bnQoc3RhcnQpKSAgbG9jYWxTdGFydCAoOnNpemUoc3RhcnQpICkgID0gc3RhcnQoOikKICAg
ICBpZihwcmVzZW50KGNvdW50KSkgIGxvY2FsQ291bnQgKDpzaXplKGNvdW50KSApICA9IGNv
dW50KDopCiAgICAgaWYocHJlc2VudChzdHJpZGUpKSBsb2NhbFN0cmlkZSg6c2l6ZShzdHJp
ZGUpKSA9IHN0cmlkZSg6KQogICAgIGlmKHByZXNlbnQobWFwKSkgIHRoZW4KICAgICAgIGxv
Y2FsTWFwICAgKDpzaXplKG1hcCkpICAgID0gbWFwKDopCiAgICAgICBuZjkwX2dldF92YXJf
N0RfVHdvQnl0ZUludCA9ICYKICAgICAgICAgIG5mX2dldF92YXJtX2ludDIobmNpZCwgdmFy
aWQsIGxvY2FsU3RhcnQsIGxvY2FsQ291bnQsIGxvY2FsU3RyaWRlLCBsb2NhbE1hcCwgdmFs
dWVzKQogICAgIGVsc2UKICAgICAgIG5mOTBfZ2V0X3Zhcl83RF9Ud29CeXRlSW50ID0gJgog
ICAgICAgICAgbmZfZ2V0X3ZhcnNfaW50MihuY2lkLCB2YXJpZCwgbG9jYWxTdGFydCwgbG9j
YWxDb3VudCwgbG9jYWxTdHJpZGUsIHZhbHVlcykKICAgICBlbmQgaWYKICAgZW5kIGZ1bmN0
aW9uIG5mOTBfZ2V0X3Zhcl83RF9Ud29CeXRlSW50CgoKICAgZnVuY3Rpb24gbmY5MF9nZXRf
dmFyXzFEX0ZvdXJCeXRlSW50KG5jaWQsIHZhcmlkLCB2YWx1ZXMsIHN0YXJ0LCBjb3VudCwg
c3RyaWRlLCBtYXApCiAgICAgaW50ZWdlciwgICAgICAgICAgICAgICAgICAgICAgICAgaW50
ZW50KCBpbikgOjogbmNpZCwgdmFyaWQKICAgICBpbnRlZ2VyIChraW5kID0gRm91ckJ5dGVJ
bnQpLCBkaW1lbnNpb24oOiksICYKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnRlbnQob3V0KSA6OiB2YWx1ZXMKICAgICBpbnRlZ2VyLCBkaW1lbnNpb24oOiks
IG9wdGlvbmFsLCBpbnRlbnQoIGluKSA6OiBzdGFydCwgY291bnQsIHN0cmlkZSwgbWFwCiAg
ICAgaW50ZWdlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOjogbmY5
MF9nZXRfdmFyXzFEX0ZvdXJCeXRlSW50CiAKICAgICBpbnRlZ2VyLCBkaW1lbnNpb24obmY5
MF9tYXhfdmFyX2RpbXMpIDo6IGxvY2FsU3RhcnQsIGxvY2FsQ291bnQsIGxvY2FsU3RyaWRl
LCBsb2NhbE1hcAogICAgIGludGVnZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
OjogbnVtRGltcywgY291bnRlcgogICAgIGludGVnZXIsIGRpbWVuc2lvbihzaXplKHZhbHVl
cykpICAgICAgOjogZGVmYXVsdEludEFycmF5CiAKICAgICAhIFNldCBsb2NhbCBhcmd1bWVu
dHMgdG8gZGVmYXVsdCB2YWx1ZXMKICAgICBudW1EaW1zICAgICAgICAgICAgICAgICA9IHNp
emUoc2hhcGUodmFsdWVzKSkKICAgICBsb2NhbFN0YXJ0ICg6ICAgICAgICAgKSA9IDEKICAg
ICBsb2NhbENvdW50ICg6bnVtRGltcyAgKSA9IHNoYXBlKHZhbHVlcykKICAgICBsb2NhbENv
dW50IChudW1EaW1zKzE6KSA9IDEKICAgICBsb2NhbFN0cmlkZSg6ICAgICAgICAgKSA9IDEK
ICAgICBsb2NhbE1hcCAgICg6bnVtRGltcyAgKSA9ICgvIDEsIChwcm9kdWN0KGxvY2FsQ291
bnQoOmNvdW50ZXIpKSwgY291bnRlciA9IDEsIG51bURpbXMgLSAxKSAvKQogCiAgICAgaWYo
cHJlc2VudChzdGFydCkpICBsb2NhbFN0YXJ0ICg6c2l6ZShzdGFydCkgKSAgPSBzdGFydCg6
KQogICAgIGlmKHByZXNlbnQoY291bnQpKSAgbG9jYWxDb3VudCAoOnNpemUoY291bnQpICkg
ID0gY291bnQoOikKICAgICBpZihwcmVzZW50KHN0cmlkZSkpIGxvY2FsU3RyaWRlKDpzaXpl
KHN0cmlkZSkpID0gc3RyaWRlKDopCiAgICAgaWYocHJlc2VudChtYXApKSAgdGhlbgogICAg
ICAgbG9jYWxNYXAgICAoOnNpemUobWFwKSkgICAgPSBtYXAoOikKICAgICAgIG5mOTBfZ2V0
X3Zhcl8xRF9Gb3VyQnl0ZUludCA9ICYKICAgICAgICAgIG5mX2dldF92YXJtX2ludChuY2lk
LCB2YXJpZCwgbG9jYWxTdGFydCwgbG9jYWxDb3VudCwgbG9jYWxTdHJpZGUsIGxvY2FsTWFw
LCBkZWZhdWx0SW50QXJyYXkpCiAgICAgZWxzZQogICAgICAgbmY5MF9nZXRfdmFyXzFEX0Zv
dXJCeXRlSW50ID0gJgogICAgICAgICAgbmZfZ2V0X3ZhcnNfaW50KG5jaWQsIHZhcmlkLCBs
b2NhbFN0YXJ0LCBsb2NhbENvdW50LCBsb2NhbFN0cmlkZSwgZGVmYXVsdEludEFycmF5KQog
ICAgIGVuZCBpZgogICAgIHZhbHVlcyg6KSA9IHJlc2hhcGUoZGVmYXVsdEludEFycmF5KDop
LCBzaGFwZSh2YWx1ZXMpKQogICBlbmQgZnVuY3Rpb24gbmY5MF9nZXRfdmFyXzFEX0ZvdXJC
eXRlSW50CgoKICAgZnVuY3Rpb24gbmY5MF9nZXRfdmFyXzJEX0ZvdXJCeXRlSW50KG5jaWQs
IHZhcmlkLCB2YWx1ZXMsIHN0YXJ0LCBjb3VudCwgc3RyaWRlLCBtYXApCiAgICAgaW50ZWdl
ciwgICAgICAgICAgICAgICAgICAgICAgICAgaW50ZW50KCBpbikgOjogbmNpZCwgdmFyaWQK
ICAgICBpbnRlZ2VyIChraW5kID0gRm91ckJ5dGVJbnQpLCBkaW1lbnNpb24oOiwgOiksICYK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnRlbnQob3V0KSA6OiB2
YWx1ZXMKICAgICBpbnRlZ2VyLCBkaW1lbnNpb24oOiksIG9wdGlvbmFsLCBpbnRlbnQoIGlu
KSA6OiBzdGFydCwgY291bnQsIHN0cmlkZSwgbWFwCiAgICAgaW50ZWdlciAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgOjogbmY5MF9nZXRfdmFyXzJEX0ZvdXJCeXRl
SW50CiAKICAgICBpbnRlZ2VyLCBkaW1lbnNpb24obmY5MF9tYXhfdmFyX2RpbXMpIDo6IGxv
Y2FsU3RhcnQsIGxvY2FsQ291bnQsIGxvY2FsU3RyaWRlLCBsb2NhbE1hcAogICAgIGludGVn
ZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOjogbnVtRGltcywgY291bnRlcgog
ICAgIGludGVnZXIsIGRpbWVuc2lvbihzaXplKHZhbHVlcykpICAgICAgOjogZGVmYXVsdElu
dEFycmF5CiAKICAgICAhIFNldCBsb2NhbCBhcmd1bWVudHMgdG8gZGVmYXVsdCB2YWx1ZXMK
ICAgICBudW1EaW1zICAgICAgICAgICAgICAgICA9IHNpemUoc2hhcGUodmFsdWVzKSkKICAg
ICBsb2NhbFN0YXJ0ICg6ICAgICAgICAgKSA9IDEKICAgICBsb2NhbENvdW50ICg6bnVtRGlt
cyAgKSA9IHNoYXBlKHZhbHVlcykKICAgICBsb2NhbENvdW50IChudW1EaW1zKzE6KSA9IDEK
ICAgICBsb2NhbFN0cmlkZSg6ICAgICAgICAgKSA9IDEKICAgICBsb2NhbE1hcCAgICg6bnVt
RGltcyAgKSA9ICgvIDEsIChwcm9kdWN0KGxvY2FsQ291bnQoOmNvdW50ZXIpKSwgY291bnRl
ciA9IDEsIG51bURpbXMgLSAxKSAvKQogCiAgICAgaWYocHJlc2VudChzdGFydCkpICBsb2Nh
bFN0YXJ0ICg6c2l6ZShzdGFydCkgKSAgPSBzdGFydCg6KQogICAgIGlmKHByZXNlbnQoY291
bnQpKSAgbG9jYWxDb3VudCAoOnNpemUoY291bnQpICkgID0gY291bnQoOikKICAgICBpZihw
cmVzZW50KHN0cmlkZSkpIGxvY2FsU3RyaWRlKDpzaXplKHN0cmlkZSkpID0gc3RyaWRlKDop
CiAgICAgaWYocHJlc2VudChtYXApKSAgdGhlbgogICAgICAgbG9jYWxNYXAgICAoOnNpemUo
bWFwKSkgICAgPSBtYXAoOikKICAgICAgIG5mOTBfZ2V0X3Zhcl8yRF9Gb3VyQnl0ZUludCA9
ICYKICAgICAgICAgIG5mX2dldF92YXJtX2ludChuY2lkLCB2YXJpZCwgbG9jYWxTdGFydCwg
bG9jYWxDb3VudCwgbG9jYWxTdHJpZGUsIGxvY2FsTWFwLCBkZWZhdWx0SW50QXJyYXkpCiAg
ICAgZWxzZQogICAgICAgbmY5MF9nZXRfdmFyXzJEX0ZvdXJCeXRlSW50ID0gJgogICAgICAg
ICAgbmZfZ2V0X3ZhcnNfaW50KG5jaWQsIHZhcmlkLCBsb2NhbFN0YXJ0LCBsb2NhbENvdW50
LCBsb2NhbFN0cmlkZSwgZGVmYXVsdEludEFycmF5KQogICAgIGVuZCBpZgogICAgIHZhbHVl
cyg6LCA6KSA9IHJlc2hhcGUoZGVmYXVsdEludEFycmF5KDopLCBzaGFwZSh2YWx1ZXMpKQog
ICBlbmQgZnVuY3Rpb24gbmY5MF9nZXRfdmFyXzJEX0ZvdXJCeXRlSW50CgoKICAgZnVuY3Rp
b24gbmY5MF9nZXRfdmFyXzNEX0ZvdXJCeXRlSW50KG5jaWQsIHZhcmlkLCB2YWx1ZXMsIHN0
YXJ0LCBjb3VudCwgc3RyaWRlLCBtYXApCiAgICAgaW50ZWdlciwgICAgICAgICAgICAgICAg
ICAgICAgICAgaW50ZW50KCBpbikgOjogbmNpZCwgdmFyaWQKICAgICBpbnRlZ2VyIChraW5k
ID0gRm91ckJ5dGVJbnQpLCBkaW1lbnNpb24oOiwgOiwgOiksICYKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnRlbnQob3V0KSA6OiB2YWx1ZXMKICAgICBpbnRl
Z2VyLCBkaW1lbnNpb24oOiksIG9wdGlvbmFsLCBpbnRlbnQoIGluKSA6OiBzdGFydCwgY291
bnQsIHN0cmlkZSwgbWFwCiAgICAgaW50ZWdlciAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgOjogbmY5MF9nZXRfdmFyXzNEX0ZvdXJCeXRlSW50CiAKICAgICBpbnRl
Z2VyLCBkaW1lbnNpb24obmY5MF9tYXhfdmFyX2RpbXMpIDo6IGxvY2FsU3RhcnQsIGxvY2Fs
Q291bnQsIGxvY2FsU3RyaWRlLCBsb2NhbE1hcAogICAgIGludGVnZXIgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgOjogbnVtRGltcywgY291bnRlcgogICAgIGludGVnZXIsIGRp
bWVuc2lvbihzaXplKHZhbHVlcykpICAgICAgOjogZGVmYXVsdEludEFycmF5CiAKICAgICAh
IFNldCBsb2NhbCBhcmd1bWVudHMgdG8gZGVmYXVsdCB2YWx1ZXMKICAgICBudW1EaW1zICAg
ICAgICAgICAgICAgICA9IHNpemUoc2hhcGUodmFsdWVzKSkKICAgICBsb2NhbFN0YXJ0ICg6
ICAgICAgICAgKSA9IDEKICAgICBsb2NhbENvdW50ICg6bnVtRGltcyAgKSA9IHNoYXBlKHZh
bHVlcykKICAgICBsb2NhbENvdW50IChudW1EaW1zKzE6KSA9IDEKICAgICBsb2NhbFN0cmlk
ZSg6ICAgICAgICAgKSA9IDEKICAgICBsb2NhbE1hcCAgICg6bnVtRGltcyAgKSA9ICgvIDEs
IChwcm9kdWN0KGxvY2FsQ291bnQoOmNvdW50ZXIpKSwgY291bnRlciA9IDEsIG51bURpbXMg
LSAxKSAvKQogCiAgICAgaWYocHJlc2VudChzdGFydCkpICBsb2NhbFN0YXJ0ICg6c2l6ZShz
dGFydCkgKSAgPSBzdGFydCg6KQogICAgIGlmKHByZXNlbnQoY291bnQpKSAgbG9jYWxDb3Vu
dCAoOnNpemUoY291bnQpICkgID0gY291bnQoOikKICAgICBpZihwcmVzZW50KHN0cmlkZSkp
IGxvY2FsU3RyaWRlKDpzaXplKHN0cmlkZSkpID0gc3RyaWRlKDopCiAgICAgaWYocHJlc2Vu
dChtYXApKSAgdGhlbgogICAgICAgbG9jYWxNYXAgICAoOnNpemUobWFwKSkgICAgPSBtYXAo
OikKICAgICAgIG5mOTBfZ2V0X3Zhcl8zRF9Gb3VyQnl0ZUludCA9ICYKICAgICAgICAgIG5m
X2dldF92YXJtX2ludChuY2lkLCB2YXJpZCwgbG9jYWxTdGFydCwgbG9jYWxDb3VudCwgbG9j
YWxTdHJpZGUsIGxvY2FsTWFwLCBkZWZhdWx0SW50QXJyYXkpCiAgICAgZWxzZQogICAgICAg
bmY5MF9nZXRfdmFyXzNEX0ZvdXJCeXRlSW50ID0gJgogICAgICAgICAgbmZfZ2V0X3ZhcnNf
aW50KG5jaWQsIHZhcmlkLCBsb2NhbFN0YXJ0LCBsb2NhbENvdW50LCBsb2NhbFN0cmlkZSwg
ZGVmYXVsdEludEFycmF5KQogICAgIGVuZCBpZgogICAgIHZhbHVlcyg6LCA6LCA6KSA9IHJl
c2hhcGUoZGVmYXVsdEludEFycmF5KDopLCBzaGFwZSh2YWx1ZXMpKQogICBlbmQgZnVuY3Rp
b24gbmY5MF9nZXRfdmFyXzNEX0ZvdXJCeXRlSW50CgoKICAgZnVuY3Rpb24gbmY5MF9nZXRf
dmFyXzREX0ZvdXJCeXRlSW50KG5jaWQsIHZhcmlkLCB2YWx1ZXMsIHN0YXJ0LCBjb3VudCwg
c3RyaWRlLCBtYXApCiAgICAgaW50ZWdlciwgICAgICAgICAgICAgICAgICAgICAgICAgaW50
ZW50KCBpbikgOjogbmNpZCwgdmFyaWQKICAgICBpbnRlZ2VyIChraW5kID0gRm91ckJ5dGVJ
bnQpLCBkaW1lbnNpb24oOiwgOiwgOiwgOiksICYKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnRlbnQob3V0KSA6OiB2YWx1ZXMKICAgICBpbnRlZ2VyLCBkaW1l
bnNpb24oOiksIG9wdGlvbmFsLCBpbnRlbnQoIGluKSA6OiBzdGFydCwgY291bnQsIHN0cmlk
ZSwgbWFwCiAgICAgaW50ZWdlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgOjogbmY5MF9nZXRfdmFyXzREX0ZvdXJCeXRlSW50CiAKICAgICBpbnRlZ2VyLCBkaW1l
bnNpb24obmY5MF9tYXhfdmFyX2RpbXMpIDo6IGxvY2FsU3RhcnQsIGxvY2FsQ291bnQsIGxv
Y2FsU3RyaWRlLCBsb2NhbE1hcAogICAgIGludGVnZXIgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgOjogbnVtRGltcywgY291bnRlcgogICAgIGludGVnZXIsIGRpbWVuc2lvbihz
aXplKHZhbHVlcykpICAgICAgOjogZGVmYXVsdEludEFycmF5CiAKICAgICAhIFNldCBsb2Nh
bCBhcmd1bWVudHMgdG8gZGVmYXVsdCB2YWx1ZXMKICAgICBudW1EaW1zICAgICAgICAgICAg
ICAgICA9IHNpemUoc2hhcGUodmFsdWVzKSkKICAgICBsb2NhbFN0YXJ0ICg6ICAgICAgICAg
KSA9IDEKICAgICBsb2NhbENvdW50ICg6bnVtRGltcyAgKSA9IHNoYXBlKHZhbHVlcykKICAg
ICBsb2NhbENvdW50IChudW1EaW1zKzE6KSA9IDEKICAgICBsb2NhbFN0cmlkZSg6ICAgICAg
ICAgKSA9IDEKICAgICBsb2NhbE1hcCAgICg6bnVtRGltcyAgKSA9ICgvIDEsIChwcm9kdWN0
KGxvY2FsQ291bnQoOmNvdW50ZXIpKSwgY291bnRlciA9IDEsIG51bURpbXMgLSAxKSAvKQog
CiAgICAgaWYocHJlc2VudChzdGFydCkpICBsb2NhbFN0YXJ0ICg6c2l6ZShzdGFydCkgKSAg
PSBzdGFydCg6KQogICAgIGlmKHByZXNlbnQoY291bnQpKSAgbG9jYWxDb3VudCAoOnNpemUo
Y291bnQpICkgID0gY291bnQoOikKICAgICBpZihwcmVzZW50KHN0cmlkZSkpIGxvY2FsU3Ry
aWRlKDpzaXplKHN0cmlkZSkpID0gc3RyaWRlKDopCiAgICAgaWYocHJlc2VudChtYXApKSAg
dGhlbgogICAgICAgbG9jYWxNYXAgICAoOnNpemUobWFwKSkgICAgPSBtYXAoOikKICAgICAg
IG5mOTBfZ2V0X3Zhcl80RF9Gb3VyQnl0ZUludCA9ICYKICAgICAgICAgIG5mX2dldF92YXJt
X2ludChuY2lkLCB2YXJpZCwgbG9jYWxTdGFydCwgbG9jYWxDb3VudCwgbG9jYWxTdHJpZGUs
IGxvY2FsTWFwLCBkZWZhdWx0SW50QXJyYXkpCiAgICAgZWxzZQogICAgICAgbmY5MF9nZXRf
dmFyXzREX0ZvdXJCeXRlSW50ID0gJgogICAgICAgICAgbmZfZ2V0X3ZhcnNfaW50KG5jaWQs
IHZhcmlkLCBsb2NhbFN0YXJ0LCBsb2NhbENvdW50LCBsb2NhbFN0cmlkZSwgZGVmYXVsdElu
dEFycmF5KQogICAgIGVuZCBpZgogICAgIHZhbHVlcyg6LCA6LCA6LCA6KSA9IHJlc2hhcGUo
ZGVmYXVsdEludEFycmF5KDopLCBzaGFwZSh2YWx1ZXMpKQogICBlbmQgZnVuY3Rpb24gbmY5
MF9nZXRfdmFyXzREX0ZvdXJCeXRlSW50CgoKICAgZnVuY3Rpb24gbmY5MF9nZXRfdmFyXzVE
X0ZvdXJCeXRlSW50KG5jaWQsIHZhcmlkLCB2YWx1ZXMsIHN0YXJ0LCBjb3VudCwgc3RyaWRl
LCBtYXApCiAgICAgaW50ZWdlciwgICAgICAgICAgICAgICAgICAgICAgICAgaW50ZW50KCBp
bikgOjogbmNpZCwgdmFyaWQKICAgICBpbnRlZ2VyIChraW5kID0gRm91ckJ5dGVJbnQpLCBk
aW1lbnNpb24oOiwgOiwgOiwgOiwgOiksICYKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnRlbnQob3V0KSA6OiB2YWx1ZXMKICAgICBpbnRlZ2VyLCBkaW1lbnNp
b24oOiksIG9wdGlvbmFsLCBpbnRlbnQoIGluKSA6OiBzdGFydCwgY291bnQsIHN0cmlkZSwg
bWFwCiAgICAgaW50ZWdlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
OjogbmY5MF9nZXRfdmFyXzVEX0ZvdXJCeXRlSW50CiAKICAgICBpbnRlZ2VyLCBkaW1lbnNp
b24obmY5MF9tYXhfdmFyX2RpbXMpIDo6IGxvY2FsU3RhcnQsIGxvY2FsQ291bnQsIGxvY2Fs
U3RyaWRlLCBsb2NhbE1hcAogICAgIGludGVnZXIgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgOjogbnVtRGltcywgY291bnRlcgogICAgIGludGVnZXIsIGRpbWVuc2lvbihzaXpl
KHZhbHVlcykpICAgICAgOjogZGVmYXVsdEludEFycmF5CiAKICAgICAhIFNldCBsb2NhbCBh
cmd1bWVudHMgdG8gZGVmYXVsdCB2YWx1ZXMKICAgICBudW1EaW1zICAgICAgICAgICAgICAg
ICA9IHNpemUoc2hhcGUodmFsdWVzKSkKICAgICBsb2NhbFN0YXJ0ICg6ICAgICAgICAgKSA9
IDEKICAgICBsb2NhbENvdW50ICg6bnVtRGltcyAgKSA9IHNoYXBlKHZhbHVlcykKICAgICBs
b2NhbENvdW50IChudW1EaW1zKzE6KSA9IDEKICAgICBsb2NhbFN0cmlkZSg6ICAgICAgICAg
KSA9IDEKICAgICBsb2NhbE1hcCAgICg6bnVtRGltcyAgKSA9ICgvIDEsIChwcm9kdWN0KGxv
Y2FsQ291bnQoOmNvdW50ZXIpKSwgY291bnRlciA9IDEsIG51bURpbXMgLSAxKSAvKQogCiAg
ICAgaWYocHJlc2VudChzdGFydCkpICBsb2NhbFN0YXJ0ICg6c2l6ZShzdGFydCkgKSAgPSBz
dGFydCg6KQogICAgIGlmKHByZXNlbnQoY291bnQpKSAgbG9jYWxDb3VudCAoOnNpemUoY291
bnQpICkgID0gY291bnQoOikKICAgICBpZihwcmVzZW50KHN0cmlkZSkpIGxvY2FsU3RyaWRl
KDpzaXplKHN0cmlkZSkpID0gc3RyaWRlKDopCiAgICAgaWYocHJlc2VudChtYXApKSAgdGhl
bgogICAgICAgbG9jYWxNYXAgICAoOnNpemUobWFwKSkgICAgPSBtYXAoOikKICAgICAgIG5m
OTBfZ2V0X3Zhcl81RF9Gb3VyQnl0ZUludCA9ICYKICAgICAgICAgIG5mX2dldF92YXJtX2lu
dChuY2lkLCB2YXJpZCwgbG9jYWxTdGFydCwgbG9jYWxDb3VudCwgbG9jYWxTdHJpZGUsIGxv
Y2FsTWFwLCBkZWZhdWx0SW50QXJyYXkpCiAgICAgZWxzZQogICAgICAgbmY5MF9nZXRfdmFy
XzVEX0ZvdXJCeXRlSW50ID0gJgogICAgICAgICAgbmZfZ2V0X3ZhcnNfaW50KG5jaWQsIHZh
cmlkLCBsb2NhbFN0YXJ0LCBsb2NhbENvdW50LCBsb2NhbFN0cmlkZSwgZGVmYXVsdEludEFy
cmF5KQogICAgIGVuZCBpZgogICAgIHZhbHVlcyg6LCA6LCA6LCA6LCA6KSA9IHJlc2hhcGUo
ZGVmYXVsdEludEFycmF5KDopLCBzaGFwZSh2YWx1ZXMpKQogICBlbmQgZnVuY3Rpb24gbmY5
MF9nZXRfdmFyXzVEX0ZvdXJCeXRlSW50CgoKICAgZnVuY3Rpb24gbmY5MF9nZXRfdmFyXzZE
X0ZvdXJCeXRlSW50KG5jaWQsIHZhcmlkLCB2YWx1ZXMsIHN0YXJ0LCBjb3VudCwgc3RyaWRl
LCBtYXApCiAgICAgaW50ZWdlciwgICAgICAgICAgICAgICAgICAgICAgICAgaW50ZW50KCBp
bikgOjogbmNpZCwgdmFyaWQKICAgICBpbnRlZ2VyIChraW5kID0gRm91ckJ5dGVJbnQpLCBk
aW1lbnNpb24oOiwgOiwgOiwgOiwgOiwgOiksICYKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbnRlbnQob3V0KSA6OiB2YWx1ZXMKICAgICBpbnRlZ2VyLCBkaW1l
bnNpb24oOiksIG9wdGlvbmFsLCBpbnRlbnQoIGluKSA6OiBzdGFydCwgY291bnQsIHN0cmlk
ZSwgbWFwCiAgICAgaW50ZWdlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgOjogbmY5MF9nZXRfdmFyXzZEX0ZvdXJCeXRlSW50CiAKICAgICBpbnRlZ2VyLCBkaW1l
bnNpb24obmY5MF9tYXhfdmFyX2RpbXMpIDo6IGxvY2FsU3RhcnQsIGxvY2FsQ291bnQsIGxv
Y2FsU3RyaWRlLCBsb2NhbE1hcAogICAgIGludGVnZXIgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgOjogbnVtRGltcywgY291bnRlcgogICAgIGludGVnZXIsIGRpbWVuc2lvbihz
aXplKHZhbHVlcykpICAgICAgOjogZGVmYXVsdEludEFycmF5CiAKICAgICAhIFNldCBsb2Nh
bCBhcmd1bWVudHMgdG8gZGVmYXVsdCB2YWx1ZXMKICAgICBudW1EaW1zICAgICAgICAgICAg
ICAgICA9IHNpemUoc2hhcGUodmFsdWVzKSkKICAgICBsb2NhbFN0YXJ0ICg6ICAgICAgICAg
KSA9IDEKICAgICBsb2NhbENvdW50ICg6bnVtRGltcyAgKSA9IHNoYXBlKHZhbHVlcykKICAg
ICBsb2NhbENvdW50IChudW1EaW1zKzE6KSA9IDEKICAgICBsb2NhbFN0cmlkZSg6ICAgICAg
ICAgKSA9IDEKICAgICBsb2NhbE1hcCAgICg6bnVtRGltcyAgKSA9ICgvIDEsIChwcm9kdWN0
KGxvY2FsQ291bnQoOmNvdW50ZXIpKSwgY291bnRlciA9IDEsIG51bURpbXMgLSAxKSAvKQog
CiAgICAgaWYocHJlc2VudChzdGFydCkpICBsb2NhbFN0YXJ0ICg6c2l6ZShzdGFydCkgKSAg
PSBzdGFydCg6KQogICAgIGlmKHByZXNlbnQoY291bnQpKSAgbG9jYWxDb3VudCAoOnNpemUo
Y291bnQpICkgID0gY291bnQoOikKICAgICBpZihwcmVzZW50KHN0cmlkZSkpIGxvY2FsU3Ry
aWRlKDpzaXplKHN0cmlkZSkpID0gc3RyaWRlKDopCiAgICAgaWYocHJlc2VudChtYXApKSAg
dGhlbgogICAgICAgbG9jYWxNYXAgICAoOnNpemUobWFwKSkgICAgPSBtYXAoOikKICAgICAg
IG5mOTBfZ2V0X3Zhcl82RF9Gb3VyQnl0ZUludCA9ICYKICAgICAgICAgIG5mX2dldF92YXJt
X2ludChuY2lkLCB2YXJpZCwgbG9jYWxTdGFydCwgbG9jYWxDb3VudCwgbG9jYWxTdHJpZGUs
IGxvY2FsTWFwLCBkZWZhdWx0SW50QXJyYXkpCiAgICAgZWxzZQogICAgICAgbmY5MF9nZXRf
dmFyXzZEX0ZvdXJCeXRlSW50ID0gJgogICAgICAgICAgbmZfZ2V0X3ZhcnNfaW50KG5jaWQs
IHZhcmlkLCBsb2NhbFN0YXJ0LCBsb2NhbENvdW50LCBsb2NhbFN0cmlkZSwgZGVmYXVsdElu
dEFycmF5KQogICAgIGVuZCBpZgogICAgIHZhbHVlcyg6LCA6LCA6LCA6LCA6LCA6KSA9IHJl
c2hhcGUoZGVmYXVsdEludEFycmF5KDopLCBzaGFwZSh2YWx1ZXMpKQogICBlbmQgZnVuY3Rp
b24gbmY5MF9nZXRfdmFyXzZEX0ZvdXJCeXRlSW50CgoKICAgZnVuY3Rpb24gbmY5MF9nZXRf
dmFyXzdEX0ZvdXJCeXRlSW50KG5jaWQsIHZhcmlkLCB2YWx1ZXMsIHN0YXJ0LCBjb3VudCwg
c3RyaWRlLCBtYXApCiAgICAgaW50ZWdlciwgICAgICAgICAgICAgICAgICAgICAgICAgaW50
ZW50KCBpbikgOjogbmNpZCwgdmFyaWQKICAgICBpbnRlZ2VyIChraW5kID0gRm91ckJ5dGVJ
bnQpLCBkaW1lbnNpb24oOiwgOiwgOiwgOiwgOiwgOiwgOiksICYKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbnRlbnQob3V0KSA6OiB2YWx1ZXMKICAgICBpbnRl
Z2VyLCBkaW1lbnNpb24oOiksIG9wdGlvbmFsLCBpbnRlbnQoIGluKSA6OiBzdGFydCwgY291
bnQsIHN0cmlkZSwgbWFwCiAgICAgaW50ZWdlciAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgOjogbmY5MF9nZXRfdmFyXzdEX0ZvdXJCeXRlSW50CiAKICAgICBpbnRl
Z2VyLCBkaW1lbnNpb24obmY5MF9tYXhfdmFyX2RpbXMpIDo6IGxvY2FsU3RhcnQsIGxvY2Fs
Q291bnQsIGxvY2FsU3RyaWRlLCBsb2NhbE1hcAogICAgIGludGVnZXIgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgOjogbnVtRGltcywgY291bnRlcgogICAgIGludGVnZXIsIGRp
bWVuc2lvbihzaXplKHZhbHVlcykpICAgICAgOjogZGVmYXVsdEludEFycmF5CiAKICAgICAh
IFNldCBsb2NhbCBhcmd1bWVudHMgdG8gZGVmYXVsdCB2YWx1ZXMKICAgICBudW1EaW1zICAg
ICAgICAgICAgICAgICA9IHNpemUoc2hhcGUodmFsdWVzKSkKICAgICBsb2NhbFN0YXJ0ICg6
ICAgICAgICAgKSA9IDEKICAgICBsb2NhbENvdW50ICg6bnVtRGltcyAgKSA9IHNoYXBlKHZh
bHVlcykKICAgICBsb2NhbENvdW50IChudW1EaW1zKzE6KSA9IDEKICAgICBsb2NhbFN0cmlk
ZSg6ICAgICAgICAgKSA9IDEKICAgICBsb2NhbE1hcCAgICg6bnVtRGltcyAgKSA9ICgvIDEs
IChwcm9kdWN0KGxvY2FsQ291bnQoOmNvdW50ZXIpKSwgY291bnRlciA9IDEsIG51bURpbXMg
LSAxKSAvKQogCiAgICAgaWYocHJlc2VudChzdGFydCkpICBsb2NhbFN0YXJ0ICg6c2l6ZShz
dGFydCkgKSAgPSBzdGFydCg6KQogICAgIGlmKHByZXNlbnQoY291bnQpKSAgbG9jYWxDb3Vu
dCAoOnNpemUoY291bnQpICkgID0gY291bnQoOikKICAgICBpZihwcmVzZW50KHN0cmlkZSkp
IGxvY2FsU3RyaWRlKDpzaXplKHN0cmlkZSkpID0gc3RyaWRlKDopCiAgICAgaWYocHJlc2Vu
dChtYXApKSAgdGhlbgogICAgICAgbG9jYWxNYXAgICAoOnNpemUobWFwKSkgICAgPSBtYXAo
OikKICAgICAgIG5mOTBfZ2V0X3Zhcl83RF9Gb3VyQnl0ZUludCA9ICYKICAgICAgICAgIG5m
X2dldF92YXJtX2ludChuY2lkLCB2YXJpZCwgbG9jYWxTdGFydCwgbG9jYWxDb3VudCwgbG9j
YWxTdHJpZGUsIGxvY2FsTWFwLCBkZWZhdWx0SW50QXJyYXkpCiAgICAgZWxzZQogICAgICAg
bmY5MF9nZXRfdmFyXzdEX0ZvdXJCeXRlSW50ID0gJgogICAgICAgICAgbmZfZ2V0X3ZhcnNf
aW50KG5jaWQsIHZhcmlkLCBsb2NhbFN0YXJ0LCBsb2NhbENvdW50LCBsb2NhbFN0cmlkZSwg
ZGVmYXVsdEludEFycmF5KQogICAgIGVuZCBpZgogICAgIHZhbHVlcyg6LCA6LCA6LCA6LCA6
LCA6LCA6KSA9IHJlc2hhcGUoZGVmYXVsdEludEFycmF5KDopLCBzaGFwZSh2YWx1ZXMpKQog
ICBlbmQgZnVuY3Rpb24gbmY5MF9nZXRfdmFyXzdEX0ZvdXJCeXRlSW50CgoKICAgZnVuY3Rp
b24gbmY5MF9nZXRfdmFyXzFEX0VpZ2h0Qnl0ZUludChuY2lkLCB2YXJpZCwgdmFsdWVzLCBz
dGFydCwgY291bnQsIHN0cmlkZSwgbWFwKQogICAgIGludGVnZXIsICAgICAgICAgICAgICAg
ICAgICAgICAgIGludGVudCggaW4pIDo6IG5jaWQsIHZhcmlkCiAgICAgaW50ZWdlciAoa2lu
ZCA9IEVpZ2h0Qnl0ZUludCksIGRpbWVuc2lvbig6KSwgJgogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludGVudChvdXQpIDo6IHZhbHVlcwogICAgIGludGVnZXIs
IGRpbWVuc2lvbig6KSwgb3B0aW9uYWwsIGludGVudCggaW4pIDo6IHN0YXJ0LCBjb3VudCwg
c3RyaWRlLCBtYXAKICAgICBpbnRlZ2VyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICA6OiBuZjkwX2dldF92YXJfMURfRWlnaHRCeXRlSW50CiAKICAgICBpbnRlZ2Vy
LCBkaW1lbnNpb24obmY5MF9tYXhfdmFyX2RpbXMpIDo6IGxvY2FsU3RhcnQsIGxvY2FsQ291
bnQsIGxvY2FsU3RyaWRlLCBsb2NhbE1hcAogICAgIGludGVnZXIgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgOjogbnVtRGltcywgY291bnRlcgogICAgIGludGVnZXIsIGRpbWVu
c2lvbihzaXplKHZhbHVlcykpICAgICAgOjogZGVmYXVsdEludEFycmF5CiAKICAgICAhIFNl
dCBsb2NhbCBhcmd1bWVudHMgdG8gZGVmYXVsdCB2YWx1ZXMKICAgICBudW1EaW1zICAgICAg
ICAgICAgICAgICA9IHNpemUoc2hhcGUodmFsdWVzKSkKICAgICBsb2NhbFN0YXJ0ICg6ICAg
ICAgICAgKSA9IDEKICAgICBsb2NhbENvdW50ICg6bnVtRGltcyAgKSA9IHNoYXBlKHZhbHVl
cykKICAgICBsb2NhbENvdW50IChudW1EaW1zKzE6KSA9IDEKICAgICBsb2NhbFN0cmlkZSg6
ICAgICAgICAgKSA9IDEKICAgICBsb2NhbE1hcCAgICg6bnVtRGltcyAgKSA9ICgvIDEsIChw
cm9kdWN0KGxvY2FsQ291bnQoOmNvdW50ZXIpKSwgY291bnRlciA9IDEsIG51bURpbXMgLSAx
KSAvKQogCiAgICAgaWYocHJlc2VudChzdGFydCkpICBsb2NhbFN0YXJ0ICg6c2l6ZShzdGFy
dCkgKSAgPSBzdGFydCg6KQogICAgIGlmKHByZXNlbnQoY291bnQpKSAgbG9jYWxDb3VudCAo
OnNpemUoY291bnQpICkgID0gY291bnQoOikKICAgICBpZihwcmVzZW50KHN0cmlkZSkpIGxv
Y2FsU3RyaWRlKDpzaXplKHN0cmlkZSkpID0gc3RyaWRlKDopCiAgICAgaWYocHJlc2VudCht
YXApKSAgdGhlbgogICAgICAgbG9jYWxNYXAgICAoOnNpemUobWFwKSkgICAgPSBtYXAoOikK
ICAgICAgIG5mOTBfZ2V0X3Zhcl8xRF9FaWdodEJ5dGVJbnQgPSAmCiAgICAgICAgICBuZl9n
ZXRfdmFybV9pbnQobmNpZCwgdmFyaWQsIGxvY2FsU3RhcnQsIGxvY2FsQ291bnQsIGxvY2Fs
U3RyaWRlLCBsb2NhbE1hcCwgZGVmYXVsdEludEFycmF5KQogICAgIGVsc2UKICAgICAgIG5m
OTBfZ2V0X3Zhcl8xRF9FaWdodEJ5dGVJbnQgPSAmCiAgICAgICAgICBuZl9nZXRfdmFyc19p
bnQobmNpZCwgdmFyaWQsIGxvY2FsU3RhcnQsIGxvY2FsQ291bnQsIGxvY2FsU3RyaWRlLCBk
ZWZhdWx0SW50QXJyYXkpCiAgICAgZW5kIGlmCiAgICAgdmFsdWVzKDopID0gcmVzaGFwZShk
ZWZhdWx0SW50QXJyYXkoOiksIHNoYXBlKHZhbHVlcykpCiAgIGVuZCBmdW5jdGlvbiBuZjkw
X2dldF92YXJfMURfRWlnaHRCeXRlSW50CgoKICAgZnVuY3Rpb24gbmY5MF9nZXRfdmFyXzJE
X0VpZ2h0Qnl0ZUludChuY2lkLCB2YXJpZCwgdmFsdWVzLCBzdGFydCwgY291bnQsIHN0cmlk
ZSwgbWFwKQogICAgIGludGVnZXIsICAgICAgICAgICAgICAgICAgICAgICAgIGludGVudCgg
aW4pIDo6IG5jaWQsIHZhcmlkCiAgICAgaW50ZWdlciAoa2luZCA9IEVpZ2h0Qnl0ZUludCks
IGRpbWVuc2lvbig6LCA6KSwgJgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludGVudChvdXQpIDo6IHZhbHVlcwogICAgIGludGVnZXIsIGRpbWVuc2lvbig6KSwg
b3B0aW9uYWwsIGludGVudCggaW4pIDo6IHN0YXJ0LCBjb3VudCwgc3RyaWRlLCBtYXAKICAg
ICBpbnRlZ2VyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6OiBuZjkw
X2dldF92YXJfMkRfRWlnaHRCeXRlSW50CiAKICAgICBpbnRlZ2VyLCBkaW1lbnNpb24obmY5
MF9tYXhfdmFyX2RpbXMpIDo6IGxvY2FsU3RhcnQsIGxvY2FsQ291bnQsIGxvY2FsU3RyaWRl
LCBsb2NhbE1hcAogICAgIGludGVnZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
OjogbnVtRGltcywgY291bnRlcgogICAgIGludGVnZXIsIGRpbWVuc2lvbihzaXplKHZhbHVl
cykpICAgICAgOjogZGVmYXVsdEludEFycmF5CiAKICAgICAhIFNldCBsb2NhbCBhcmd1bWVu
dHMgdG8gZGVmYXVsdCB2YWx1ZXMKICAgICBudW1EaW1zICAgICAgICAgICAgICAgICA9IHNp
emUoc2hhcGUodmFsdWVzKSkKICAgICBsb2NhbFN0YXJ0ICg6ICAgICAgICAgKSA9IDEKICAg
ICBsb2NhbENvdW50ICg6bnVtRGltcyAgKSA9IHNoYXBlKHZhbHVlcykKICAgICBsb2NhbENv
dW50IChudW1EaW1zKzE6KSA9IDEKICAgICBsb2NhbFN0cmlkZSg6ICAgICAgICAgKSA9IDEK
ICAgICBsb2NhbE1hcCAgICg6bnVtRGltcyAgKSA9ICgvIDEsIChwcm9kdWN0KGxvY2FsQ291
bnQoOmNvdW50ZXIpKSwgY291bnRlciA9IDEsIG51bURpbXMgLSAxKSAvKQogCiAgICAgaWYo
cHJlc2VudChzdGFydCkpICBsb2NhbFN0YXJ0ICg6c2l6ZShzdGFydCkgKSAgPSBzdGFydCg6
KQogICAgIGlmKHByZXNlbnQoY291bnQpKSAgbG9jYWxDb3VudCAoOnNpemUoY291bnQpICkg
ID0gY291bnQoOikKICAgICBpZihwcmVzZW50KHN0cmlkZSkpIGxvY2FsU3RyaWRlKDpzaXpl
KHN0cmlkZSkpID0gc3RyaWRlKDopCiAgICAgaWYocHJlc2VudChtYXApKSAgdGhlbgogICAg
ICAgbG9jYWxNYXAgICAoOnNpemUobWFwKSkgICAgPSBtYXAoOikKICAgICAgIG5mOTBfZ2V0
X3Zhcl8yRF9FaWdodEJ5dGVJbnQgPSAmCiAgICAgICAgICBuZl9nZXRfdmFybV9pbnQobmNp
ZCwgdmFyaWQsIGxvY2FsU3RhcnQsIGxvY2FsQ291bnQsIGxvY2FsU3RyaWRlLCBsb2NhbE1h
cCwgZGVmYXVsdEludEFycmF5KQogICAgIGVsc2UKICAgICAgIG5mOTBfZ2V0X3Zhcl8yRF9F
aWdodEJ5dGVJbnQgPSAmCiAgICAgICAgICBuZl9nZXRfdmFyc19pbnQobmNpZCwgdmFyaWQs
IGxvY2FsU3RhcnQsIGxvY2FsQ291bnQsIGxvY2FsU3RyaWRlLCBkZWZhdWx0SW50QXJyYXkp
CiAgICAgZW5kIGlmCiAgICAgdmFsdWVzKDosIDopID0gcmVzaGFwZShkZWZhdWx0SW50QXJy
YXkoOiksIHNoYXBlKHZhbHVlcykpCiAgIGVuZCBmdW5jdGlvbiBuZjkwX2dldF92YXJfMkRf
RWlnaHRCeXRlSW50CgoKICAgZnVuY3Rpb24gbmY5MF9nZXRfdmFyXzNEX0VpZ2h0Qnl0ZUlu
dChuY2lkLCB2YXJpZCwgdmFsdWVzLCBzdGFydCwgY291bnQsIHN0cmlkZSwgbWFwKQogICAg
IGludGVnZXIsICAgICAgICAgICAgICAgICAgICAgICAgIGludGVudCggaW4pIDo6IG5jaWQs
IHZhcmlkCiAgICAgaW50ZWdlciAoa2luZCA9IEVpZ2h0Qnl0ZUludCksIGRpbWVuc2lvbig6
LCA6LCA6KSwgJgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludGVu
dChvdXQpIDo6IHZhbHVlcwogICAgIGludGVnZXIsIGRpbWVuc2lvbig6KSwgb3B0aW9uYWws
IGludGVudCggaW4pIDo6IHN0YXJ0LCBjb3VudCwgc3RyaWRlLCBtYXAKICAgICBpbnRlZ2Vy
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6OiBuZjkwX2dldF92YXJf
M0RfRWlnaHRCeXRlSW50CiAKICAgICBpbnRlZ2VyLCBkaW1lbnNpb24obmY5MF9tYXhfdmFy
X2RpbXMpIDo6IGxvY2FsU3RhcnQsIGxvY2FsQ291bnQsIGxvY2FsU3RyaWRlLCBsb2NhbE1h
cAogICAgIGludGVnZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOjogbnVtRGlt
cywgY291bnRlcgogICAgIGludGVnZXIsIGRpbWVuc2lvbihzaXplKHZhbHVlcykpICAgICAg
OjogZGVmYXVsdEludEFycmF5CiAKICAgICAhIFNldCBsb2NhbCBhcmd1bWVudHMgdG8gZGVm
YXVsdCB2YWx1ZXMKICAgICBudW1EaW1zICAgICAgICAgICAgICAgICA9IHNpemUoc2hhcGUo
dmFsdWVzKSkKICAgICBsb2NhbFN0YXJ0ICg6ICAgICAgICAgKSA9IDEKICAgICBsb2NhbENv
dW50ICg6bnVtRGltcyAgKSA9IHNoYXBlKHZhbHVlcykKICAgICBsb2NhbENvdW50IChudW1E
aW1zKzE6KSA9IDEKICAgICBsb2NhbFN0cmlkZSg6ICAgICAgICAgKSA9IDEKICAgICBsb2Nh
bE1hcCAgICg6bnVtRGltcyAgKSA9ICgvIDEsIChwcm9kdWN0KGxvY2FsQ291bnQoOmNvdW50
ZXIpKSwgY291bnRlciA9IDEsIG51bURpbXMgLSAxKSAvKQogCiAgICAgaWYocHJlc2VudChz
dGFydCkpICBsb2NhbFN0YXJ0ICg6c2l6ZShzdGFydCkgKSAgPSBzdGFydCg6KQogICAgIGlm
KHByZXNlbnQoY291bnQpKSAgbG9jYWxDb3VudCAoOnNpemUoY291bnQpICkgID0gY291bnQo
OikKICAgICBpZihwcmVzZW50KHN0cmlkZSkpIGxvY2FsU3RyaWRlKDpzaXplKHN0cmlkZSkp
ID0gc3RyaWRlKDopCiAgICAgaWYocHJlc2VudChtYXApKSAgdGhlbgogICAgICAgbG9jYWxN
YXAgICAoOnNpemUobWFwKSkgICAgPSBtYXAoOikKICAgICAgIG5mOTBfZ2V0X3Zhcl8zRF9F
aWdodEJ5dGVJbnQgPSAmCiAgICAgICAgICBuZl9nZXRfdmFybV9pbnQobmNpZCwgdmFyaWQs
IGxvY2FsU3RhcnQsIGxvY2FsQ291bnQsIGxvY2FsU3RyaWRlLCBsb2NhbE1hcCwgZGVmYXVs
dEludEFycmF5KQogICAgIGVsc2UKICAgICAgIG5mOTBfZ2V0X3Zhcl8zRF9FaWdodEJ5dGVJ
bnQgPSAmCiAgICAgICAgICBuZl9nZXRfdmFyc19pbnQobmNpZCwgdmFyaWQsIGxvY2FsU3Rh
cnQsIGxvY2FsQ291bnQsIGxvY2FsU3RyaWRlLCBkZWZhdWx0SW50QXJyYXkpCiAgICAgZW5k
IGlmCiAgICAgdmFsdWVzKDosIDosIDopID0gcmVzaGFwZShkZWZhdWx0SW50QXJyYXkoOiks
IHNoYXBlKHZhbHVlcykpCiAgIGVuZCBmdW5jdGlvbiBuZjkwX2dldF92YXJfM0RfRWlnaHRC
eXRlSW50CgoKICAgZnVuY3Rpb24gbmY5MF9nZXRfdmFyXzREX0VpZ2h0Qnl0ZUludChuY2lk
LCB2YXJpZCwgdmFsdWVzLCBzdGFydCwgY291bnQsIHN0cmlkZSwgbWFwKQogICAgIGludGVn
ZXIsICAgICAgICAgICAgICAgICAgICAgICAgIGludGVudCggaW4pIDo6IG5jaWQsIHZhcmlk
CiAgICAgaW50ZWdlciAoa2luZCA9IEVpZ2h0Qnl0ZUludCksIGRpbWVuc2lvbig6LCA6LCA6
LCA6KSwgJgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludGVudChv
dXQpIDo6IHZhbHVlcwogICAgIGludGVnZXIsIGRpbWVuc2lvbig6KSwgb3B0aW9uYWwsIGlu
dGVudCggaW4pIDo6IHN0YXJ0LCBjb3VudCwgc3RyaWRlLCBtYXAKICAgICBpbnRlZ2VyICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6OiBuZjkwX2dldF92YXJfNERf
RWlnaHRCeXRlSW50CiAKICAgICBpbnRlZ2VyLCBkaW1lbnNpb24obmY5MF9tYXhfdmFyX2Rp
bXMpIDo6IGxvY2FsU3RhcnQsIGxvY2FsQ291bnQsIGxvY2FsU3RyaWRlLCBsb2NhbE1hcAog
ICAgIGludGVnZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOjogbnVtRGltcywg
Y291bnRlcgogICAgIGludGVnZXIsIGRpbWVuc2lvbihzaXplKHZhbHVlcykpICAgICAgOjog
ZGVmYXVsdEludEFycmF5CiAKICAgICAhIFNldCBsb2NhbCBhcmd1bWVudHMgdG8gZGVmYXVs
dCB2YWx1ZXMKICAgICBudW1EaW1zICAgICAgICAgICAgICAgICA9IHNpemUoc2hhcGUodmFs
dWVzKSkKICAgICBsb2NhbFN0YXJ0ICg6ICAgICAgICAgKSA9IDEKICAgICBsb2NhbENvdW50
ICg6bnVtRGltcyAgKSA9IHNoYXBlKHZhbHVlcykKICAgICBsb2NhbENvdW50IChudW1EaW1z
KzE6KSA9IDEKICAgICBsb2NhbFN0cmlkZSg6ICAgICAgICAgKSA9IDEKICAgICBsb2NhbE1h
cCAgICg6bnVtRGltcyAgKSA9ICgvIDEsIChwcm9kdWN0KGxvY2FsQ291bnQoOmNvdW50ZXIp
KSwgY291bnRlciA9IDEsIG51bURpbXMgLSAxKSAvKQogCiAgICAgaWYocHJlc2VudChzdGFy
dCkpICBsb2NhbFN0YXJ0ICg6c2l6ZShzdGFydCkgKSAgPSBzdGFydCg6KQogICAgIGlmKHBy
ZXNlbnQoY291bnQpKSAgbG9jYWxDb3VudCAoOnNpemUoY291bnQpICkgID0gY291bnQoOikK
ICAgICBpZihwcmVzZW50KHN0cmlkZSkpIGxvY2FsU3RyaWRlKDpzaXplKHN0cmlkZSkpID0g
c3RyaWRlKDopCiAgICAgaWYocHJlc2VudChtYXApKSAgdGhlbgogICAgICAgbG9jYWxNYXAg
ICAoOnNpemUobWFwKSkgICAgPSBtYXAoOikKICAgICAgIG5mOTBfZ2V0X3Zhcl80RF9FaWdo
dEJ5dGVJbnQgPSAmCiAgICAgICAgICBuZl9nZXRfdmFybV9pbnQobmNpZCwgdmFyaWQsIGxv
Y2FsU3RhcnQsIGxvY2FsQ291bnQsIGxvY2FsU3RyaWRlLCBsb2NhbE1hcCwgZGVmYXVsdElu
dEFycmF5KQogICAgIGVsc2UKICAgICAgIG5mOTBfZ2V0X3Zhcl80RF9FaWdodEJ5dGVJbnQg
PSAmCiAgICAgICAgICBuZl9nZXRfdmFyc19pbnQobmNpZCwgdmFyaWQsIGxvY2FsU3RhcnQs
IGxvY2FsQ291bnQsIGxvY2FsU3RyaWRlLCBkZWZhdWx0SW50QXJyYXkpCiAgICAgZW5kIGlm
CiAgICAgdmFsdWVzKDosIDosIDosIDopID0gcmVzaGFwZShkZWZhdWx0SW50QXJyYXkoOiks
IHNoYXBlKHZhbHVlcykpCiAgIGVuZCBmdW5jdGlvbiBuZjkwX2dldF92YXJfNERfRWlnaHRC
eXRlSW50CgoKICAgZnVuY3Rpb24gbmY5MF9nZXRfdmFyXzVEX0VpZ2h0Qnl0ZUludChuY2lk
LCB2YXJpZCwgdmFsdWVzLCBzdGFydCwgY291bnQsIHN0cmlkZSwgbWFwKQogICAgIGludGVn
ZXIsICAgICAgICAgICAgICAgICAgICAgICAgIGludGVudCggaW4pIDo6IG5jaWQsIHZhcmlk
CiAgICAgaW50ZWdlciAoa2luZCA9IEVpZ2h0Qnl0ZUludCksIGRpbWVuc2lvbig6LCA6LCA6
LCA6LCA6KSwgJgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludGVu
dChvdXQpIDo6IHZhbHVlcwogICAgIGludGVnZXIsIGRpbWVuc2lvbig6KSwgb3B0aW9uYWws
IGludGVudCggaW4pIDo6IHN0YXJ0LCBjb3VudCwgc3RyaWRlLCBtYXAKICAgICBpbnRlZ2Vy
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6OiBuZjkwX2dldF92YXJf
NURfRWlnaHRCeXRlSW50CiAKICAgICBpbnRlZ2VyLCBkaW1lbnNpb24obmY5MF9tYXhfdmFy
X2RpbXMpIDo6IGxvY2FsU3RhcnQsIGxvY2FsQ291bnQsIGxvY2FsU3RyaWRlLCBsb2NhbE1h
cAogICAgIGludGVnZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOjogbnVtRGlt
cywgY291bnRlcgogICAgIGludGVnZXIsIGRpbWVuc2lvbihzaXplKHZhbHVlcykpICAgICAg
OjogZGVmYXVsdEludEFycmF5CiAKICAgICAhIFNldCBsb2NhbCBhcmd1bWVudHMgdG8gZGVm
YXVsdCB2YWx1ZXMKICAgICBudW1EaW1zICAgICAgICAgICAgICAgICA9IHNpemUoc2hhcGUo
dmFsdWVzKSkKICAgICBsb2NhbFN0YXJ0ICg6ICAgICAgICAgKSA9IDEKICAgICBsb2NhbENv
dW50ICg6bnVtRGltcyAgKSA9IHNoYXBlKHZhbHVlcykKICAgICBsb2NhbENvdW50IChudW1E
aW1zKzE6KSA9IDEKICAgICBsb2NhbFN0cmlkZSg6ICAgICAgICAgKSA9IDEKICAgICBsb2Nh
bE1hcCAgICg6bnVtRGltcyAgKSA9ICgvIDEsIChwcm9kdWN0KGxvY2FsQ291bnQoOmNvdW50
ZXIpKSwgY291bnRlciA9IDEsIG51bURpbXMgLSAxKSAvKQogCiAgICAgaWYocHJlc2VudChz
dGFydCkpICBsb2NhbFN0YXJ0ICg6c2l6ZShzdGFydCkgKSAgPSBzdGFydCg6KQogICAgIGlm
KHByZXNlbnQoY291bnQpKSAgbG9jYWxDb3VudCAoOnNpemUoY291bnQpICkgID0gY291bnQo
OikKICAgICBpZihwcmVzZW50KHN0cmlkZSkpIGxvY2FsU3RyaWRlKDpzaXplKHN0cmlkZSkp
ID0gc3RyaWRlKDopCiAgICAgaWYocHJlc2VudChtYXApKSAgdGhlbgogICAgICAgbG9jYWxN
YXAgICAoOnNpemUobWFwKSkgICAgPSBtYXAoOikKICAgICAgIG5mOTBfZ2V0X3Zhcl81RF9F
aWdodEJ5dGVJbnQgPSAmCiAgICAgICAgICBuZl9nZXRfdmFybV9pbnQobmNpZCwgdmFyaWQs
IGxvY2FsU3RhcnQsIGxvY2FsQ291bnQsIGxvY2FsU3RyaWRlLCBsb2NhbE1hcCwgZGVmYXVs
dEludEFycmF5KQogICAgIGVsc2UKICAgICAgIG5mOTBfZ2V0X3Zhcl81RF9FaWdodEJ5dGVJ
bnQgPSAmCiAgICAgICAgICBuZl9nZXRfdmFyc19pbnQobmNpZCwgdmFyaWQsIGxvY2FsU3Rh
cnQsIGxvY2FsQ291bnQsIGxvY2FsU3RyaWRlLCBkZWZhdWx0SW50QXJyYXkpCiAgICAgZW5k
IGlmCiAgICAgdmFsdWVzKDosIDosIDosIDosIDopID0gcmVzaGFwZShkZWZhdWx0SW50QXJy
YXkoOiksIHNoYXBlKHZhbHVlcykpCiAgIGVuZCBmdW5jdGlvbiBuZjkwX2dldF92YXJfNURf
RWlnaHRCeXRlSW50CgoKICAgZnVuY3Rpb24gbmY5MF9nZXRfdmFyXzZEX0VpZ2h0Qnl0ZUlu
dChuY2lkLCB2YXJpZCwgdmFsdWVzLCBzdGFydCwgY291bnQsIHN0cmlkZSwgbWFwKQogICAg
IGludGVnZXIsICAgICAgICAgICAgICAgICAgICAgICAgIGludGVudCggaW4pIDo6IG5jaWQs
IHZhcmlkCiAgICAgaW50ZWdlciAoa2luZCA9IEVpZ2h0Qnl0ZUludCksIGRpbWVuc2lvbig6
LCA6LCA6LCA6LCA6LCA6KSwgJgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludGVudChvdXQpIDo6IHZhbHVlcwogICAgIGludGVnZXIsIGRpbWVuc2lvbig6KSwg
b3B0aW9uYWwsIGludGVudCggaW4pIDo6IHN0YXJ0LCBjb3VudCwgc3RyaWRlLCBtYXAKICAg
ICBpbnRlZ2VyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6OiBuZjkw
X2dldF92YXJfNkRfRWlnaHRCeXRlSW50CiAKICAgICBpbnRlZ2VyLCBkaW1lbnNpb24obmY5
MF9tYXhfdmFyX2RpbXMpIDo6IGxvY2FsU3RhcnQsIGxvY2FsQ291bnQsIGxvY2FsU3RyaWRl
LCBsb2NhbE1hcAogICAgIGludGVnZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
OjogbnVtRGltcywgY291bnRlcgogICAgIGludGVnZXIsIGRpbWVuc2lvbihzaXplKHZhbHVl
cykpICAgICAgOjogZGVmYXVsdEludEFycmF5CiAKICAgICAhIFNldCBsb2NhbCBhcmd1bWVu
dHMgdG8gZGVmYXVsdCB2YWx1ZXMKICAgICBudW1EaW1zICAgICAgICAgICAgICAgICA9IHNp
emUoc2hhcGUodmFsdWVzKSkKICAgICBsb2NhbFN0YXJ0ICg6ICAgICAgICAgKSA9IDEKICAg
ICBsb2NhbENvdW50ICg6bnVtRGltcyAgKSA9IHNoYXBlKHZhbHVlcykKICAgICBsb2NhbENv
dW50IChudW1EaW1zKzE6KSA9IDEKICAgICBsb2NhbFN0cmlkZSg6ICAgICAgICAgKSA9IDEK
ICAgICBsb2NhbE1hcCAgICg6bnVtRGltcyAgKSA9ICgvIDEsIChwcm9kdWN0KGxvY2FsQ291
bnQoOmNvdW50ZXIpKSwgY291bnRlciA9IDEsIG51bURpbXMgLSAxKSAvKQogCiAgICAgaWYo
cHJlc2VudChzdGFydCkpICBsb2NhbFN0YXJ0ICg6c2l6ZShzdGFydCkgKSAgPSBzdGFydCg6
KQogICAgIGlmKHByZXNlbnQoY291bnQpKSAgbG9jYWxDb3VudCAoOnNpemUoY291bnQpICkg
ID0gY291bnQoOikKICAgICBpZihwcmVzZW50KHN0cmlkZSkpIGxvY2FsU3RyaWRlKDpzaXpl
KHN0cmlkZSkpID0gc3RyaWRlKDopCiAgICAgaWYocHJlc2VudChtYXApKSAgdGhlbgogICAg
ICAgbG9jYWxNYXAgICAoOnNpemUobWFwKSkgICAgPSBtYXAoOikKICAgICAgIG5mOTBfZ2V0
X3Zhcl82RF9FaWdodEJ5dGVJbnQgPSAmCiAgICAgICAgICBuZl9nZXRfdmFybV9pbnQobmNp
ZCwgdmFyaWQsIGxvY2FsU3RhcnQsIGxvY2FsQ291bnQsIGxvY2FsU3RyaWRlLCBsb2NhbE1h
cCwgZGVmYXVsdEludEFycmF5KQogICAgIGVsc2UKICAgICAgIG5mOTBfZ2V0X3Zhcl82RF9F
aWdodEJ5dGVJbnQgPSAmCiAgICAgICAgICBuZl9nZXRfdmFyc19pbnQobmNpZCwgdmFyaWQs
IGxvY2FsU3RhcnQsIGxvY2FsQ291bnQsIGxvY2FsU3RyaWRlLCBkZWZhdWx0SW50QXJyYXkp
CiAgICAgZW5kIGlmCiAgICAgdmFsdWVzKDosIDosIDosIDosIDosIDopID0gcmVzaGFwZShk
ZWZhdWx0SW50QXJyYXkoOiksIHNoYXBlKHZhbHVlcykpCiAgIGVuZCBmdW5jdGlvbiBuZjkw
X2dldF92YXJfNkRfRWlnaHRCeXRlSW50CgoKICAgZnVuY3Rpb24gbmY5MF9nZXRfdmFyXzdE
X0VpZ2h0Qnl0ZUludChuY2lkLCB2YXJpZCwgdmFsdWVzLCBzdGFydCwgY291bnQsIHN0cmlk
ZSwgbWFwKQogICAgIGludGVnZXIsICAgICAgICAgICAgICAgICAgICAgICAgIGludGVudCgg
aW4pIDo6IG5jaWQsIHZhcmlkCiAgICAgaW50ZWdlciAoa2luZCA9IEVpZ2h0Qnl0ZUludCks
IGRpbWVuc2lvbig6LCA6LCA6LCA6LCA6LCA6LCA6KSwgJgogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludGVudChvdXQpIDo6IHZhbHVlcwogICAgIGludGVnZXIs
IGRpbWVuc2lvbig6KSwgb3B0aW9uYWwsIGludGVudCggaW4pIDo6IHN0YXJ0LCBjb3VudCwg
c3RyaWRlLCBtYXAKICAgICBpbnRlZ2VyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICA6OiBuZjkwX2dldF92YXJfN0RfRWlnaHRCeXRlSW50CiAKICAgICBpbnRlZ2Vy
LCBkaW1lbnNpb24obmY5MF9tYXhfdmFyX2RpbXMpIDo6IGxvY2FsU3RhcnQsIGxvY2FsQ291
bnQsIGxvY2FsU3RyaWRlLCBsb2NhbE1hcAogICAgIGludGVnZXIgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgOjogbnVtRGltcywgY291bnRlcgogICAgIGludGVnZXIsIGRpbWVu
c2lvbihzaXplKHZhbHVlcykpICAgICAgOjogZGVmYXVsdEludEFycmF5CiAKICAgICAhIFNl
dCBsb2NhbCBhcmd1bWVudHMgdG8gZGVmYXVsdCB2YWx1ZXMKICAgICBudW1EaW1zICAgICAg
ICAgICAgICAgICA9IHNpemUoc2hhcGUodmFsdWVzKSkKICAgICBsb2NhbFN0YXJ0ICg6ICAg
ICAgICAgKSA9IDEKICAgICBsb2NhbENvdW50ICg6bnVtRGltcyAgKSA9IHNoYXBlKHZhbHVl
cykKICAgICBsb2NhbENvdW50IChudW1EaW1zKzE6KSA9IDEKICAgICBsb2NhbFN0cmlkZSg6
ICAgICAgICAgKSA9IDEKICAgICBsb2NhbE1hcCAgICg6bnVtRGltcyAgKSA9ICgvIDEsIChw
cm9kdWN0KGxvY2FsQ291bnQoOmNvdW50ZXIpKSwgY291bnRlciA9IDEsIG51bURpbXMgLSAx
KSAvKQogCiAgICAgaWYocHJlc2VudChzdGFydCkpICBsb2NhbFN0YXJ0ICg6c2l6ZShzdGFy
dCkgKSAgPSBzdGFydCg6KQogICAgIGlmKHByZXNlbnQoY291bnQpKSAgbG9jYWxDb3VudCAo
OnNpemUoY291bnQpICkgID0gY291bnQoOikKICAgICBpZihwcmVzZW50KHN0cmlkZSkpIGxv
Y2FsU3RyaWRlKDpzaXplKHN0cmlkZSkpID0gc3RyaWRlKDopCiAgICAgaWYocHJlc2VudCht
YXApKSAgdGhlbgogICAgICAgbG9jYWxNYXAgICAoOnNpemUobWFwKSkgICAgPSBtYXAoOikK
ICAgICAgIG5mOTBfZ2V0X3Zhcl83RF9FaWdodEJ5dGVJbnQgPSAmCiAgICAgICAgICBuZl9n
ZXRfdmFybV9pbnQobmNpZCwgdmFyaWQsIGxvY2FsU3RhcnQsIGxvY2FsQ291bnQsIGxvY2Fs
U3RyaWRlLCBsb2NhbE1hcCwgZGVmYXVsdEludEFycmF5KQogICAgIGVsc2UKICAgICAgIG5m
OTBfZ2V0X3Zhcl83RF9FaWdodEJ5dGVJbnQgPSAmCiAgICAgICAgICBuZl9nZXRfdmFyc19p
bnQobmNpZCwgdmFyaWQsIGxvY2FsU3RhcnQsIGxvY2FsQ291bnQsIGxvY2FsU3RyaWRlLCBk
ZWZhdWx0SW50QXJyYXkpCiAgICAgZW5kIGlmCiAgICAgdmFsdWVzKDosIDosIDosIDosIDos
IDosIDopID0gcmVzaGFwZShkZWZhdWx0SW50QXJyYXkoOiksIHNoYXBlKHZhbHVlcykpCiAg
IGVuZCBmdW5jdGlvbiBuZjkwX2dldF92YXJfN0RfRWlnaHRCeXRlSW50CgoKICAgZnVuY3Rp
b24gbmY5MF9nZXRfdmFyXzFEX0ZvdXJCeXRlUmVhbChuY2lkLCB2YXJpZCwgdmFsdWVzLCBz
dGFydCwgY291bnQsIHN0cmlkZSwgbWFwKQogICAgIGludGVnZXIsICAgICAgICAgICAgICAg
ICAgICAgICAgIGludGVudCggaW4pIDo6IG5jaWQsIHZhcmlkCiAgICAgcmVhbCAoa2luZCA9
IEZvdXJCeXRlUmVhbCksIGRpbWVuc2lvbig6KSwgJgogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGludGVudChvdXQpIDo6IHZhbHVlcwogICAgIGludGVnZXIsIGRp
bWVuc2lvbig6KSwgb3B0aW9uYWwsIGludGVudCggaW4pIDo6IHN0YXJ0LCBjb3VudCwgc3Ry
aWRlLCBtYXAKICAgICBpbnRlZ2VyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICA6OiBuZjkwX2dldF92YXJfMURfRm91ckJ5dGVSZWFsCiAKICAgICBpbnRlZ2VyLCBk
aW1lbnNpb24obmY5MF9tYXhfdmFyX2RpbXMpIDo6IGxvY2FsU3RhcnQsIGxvY2FsQ291bnQs
IGxvY2FsU3RyaWRlLCBsb2NhbE1hcAogICAgIGludGVnZXIgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgOjogbnVtRGltcywgY291bnRlcgogCiAgICAgISBTZXQgbG9jYWwgYXJn
dW1lbnRzIHRvIGRlZmF1bHQgdmFsdWVzCiAgICAgbnVtRGltcyAgICAgICAgICAgICAgICAg
PSBzaXplKHNoYXBlKHZhbHVlcykpCiAgICAgbG9jYWxTdGFydCAoOiAgICAgICAgICkgPSAx
CiAgICAgbG9jYWxDb3VudCAoOm51bURpbXMgICkgPSBzaGFwZSh2YWx1ZXMpCiAgICAgbG9j
YWxDb3VudCAobnVtRGltcysxOikgPSAxCiAgICAgbG9jYWxTdHJpZGUoOiAgICAgICAgICkg
PSAxCiAgICAgbG9jYWxNYXAgICAoOm51bURpbXMgICkgPSAoLyAxLCAocHJvZHVjdChsb2Nh
bENvdW50KDpjb3VudGVyKSksIGNvdW50ZXIgPSAxLCBudW1EaW1zIC0gMSkgLykKIAogICAg
IGlmKHByZXNlbnQoc3RhcnQpKSAgbG9jYWxTdGFydCAoOnNpemUoc3RhcnQpICkgID0gc3Rh
cnQoOikKICAgICBpZihwcmVzZW50KGNvdW50KSkgIGxvY2FsQ291bnQgKDpzaXplKGNvdW50
KSApICA9IGNvdW50KDopCiAgICAgaWYocHJlc2VudChzdHJpZGUpKSBsb2NhbFN0cmlkZSg6
c2l6ZShzdHJpZGUpKSA9IHN0cmlkZSg6KQogICAgIGlmKHByZXNlbnQobWFwKSkgIHRoZW4K
ICAgICAgIGxvY2FsTWFwICAgKDpzaXplKG1hcCkpICAgID0gbWFwKDopCiAgICAgICBuZjkw
X2dldF92YXJfMURfRm91ckJ5dGVSZWFsID0gJgogICAgICAgICAgbmZfZ2V0X3Zhcm1fcmVh
bChuY2lkLCB2YXJpZCwgbG9jYWxTdGFydCwgbG9jYWxDb3VudCwgbG9jYWxTdHJpZGUsIGxv
Y2FsTWFwLCB2YWx1ZXMpCiAgICAgZWxzZQogICAgICAgbmY5MF9nZXRfdmFyXzFEX0ZvdXJC
eXRlUmVhbCA9ICYKICAgICAgICAgIG5mX2dldF92YXJzX3JlYWwobmNpZCwgdmFyaWQsIGxv
Y2FsU3RhcnQsIGxvY2FsQ291bnQsIGxvY2FsU3RyaWRlLCB2YWx1ZXMpCiAgICAgZW5kIGlm
CiAgIGVuZCBmdW5jdGlvbiBuZjkwX2dldF92YXJfMURfRm91ckJ5dGVSZWFsCgoKICAgZnVu
Y3Rpb24gbmY5MF9nZXRfdmFyXzJEX0ZvdXJCeXRlUmVhbChuY2lkLCB2YXJpZCwgdmFsdWVz
LCBzdGFydCwgY291bnQsIHN0cmlkZSwgbWFwKQogICAgIGludGVnZXIsICAgICAgICAgICAg
ICAgICAgICAgICAgIGludGVudCggaW4pIDo6IG5jaWQsIHZhcmlkCiAgICAgcmVhbCAoa2lu
ZCA9IEZvdXJCeXRlUmVhbCksIGRpbWVuc2lvbig6LCA6KSwgJgogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludGVudChvdXQpIDo6IHZhbHVlcwogICAgIGludGVn
ZXIsIGRpbWVuc2lvbig6KSwgb3B0aW9uYWwsIGludGVudCggaW4pIDo6IHN0YXJ0LCBjb3Vu
dCwgc3RyaWRlLCBtYXAKICAgICBpbnRlZ2VyICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICA6OiBuZjkwX2dldF92YXJfMkRfRm91ckJ5dGVSZWFsCiAKICAgICBpbnRl
Z2VyLCBkaW1lbnNpb24obmY5MF9tYXhfdmFyX2RpbXMpIDo6IGxvY2FsU3RhcnQsIGxvY2Fs
Q291bnQsIGxvY2FsU3RyaWRlLCBsb2NhbE1hcAogICAgIGludGVnZXIgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgOjogbnVtRGltcywgY291bnRlcgogCiAgICAgISBTZXQgbG9j
YWwgYXJndW1lbnRzIHRvIGRlZmF1bHQgdmFsdWVzCiAgICAgbnVtRGltcyAgICAgICAgICAg
ICAgICAgPSBzaXplKHNoYXBlKHZhbHVlcykpCiAgICAgbG9jYWxTdGFydCAoOiAgICAgICAg
ICkgPSAxCiAgICAgbG9jYWxDb3VudCAoOm51bURpbXMgICkgPSBzaGFwZSh2YWx1ZXMpCiAg
ICAgbG9jYWxDb3VudCAobnVtRGltcysxOikgPSAxCiAgICAgbG9jYWxTdHJpZGUoOiAgICAg
ICAgICkgPSAxCiAgICAgbG9jYWxNYXAgICAoOm51bURpbXMgICkgPSAoLyAxLCAocHJvZHVj
dChsb2NhbENvdW50KDpjb3VudGVyKSksIGNvdW50ZXIgPSAxLCBudW1EaW1zIC0gMSkgLykK
IAogICAgIGlmKHByZXNlbnQoc3RhcnQpKSAgbG9jYWxTdGFydCAoOnNpemUoc3RhcnQpICkg
ID0gc3RhcnQoOikKICAgICBpZihwcmVzZW50KGNvdW50KSkgIGxvY2FsQ291bnQgKDpzaXpl
KGNvdW50KSApICA9IGNvdW50KDopCiAgICAgaWYocHJlc2VudChzdHJpZGUpKSBsb2NhbFN0
cmlkZSg6c2l6ZShzdHJpZGUpKSA9IHN0cmlkZSg6KQogICAgIGlmKHByZXNlbnQobWFwKSkg
IHRoZW4KICAgICAgIGxvY2FsTWFwICAgKDpzaXplKG1hcCkpICAgID0gbWFwKDopCiAgICAg
ICBuZjkwX2dldF92YXJfMkRfRm91ckJ5dGVSZWFsID0gJgogICAgICAgICAgbmZfZ2V0X3Zh
cm1fcmVhbChuY2lkLCB2YXJpZCwgbG9jYWxTdGFydCwgbG9jYWxDb3VudCwgbG9jYWxTdHJp
ZGUsIGxvY2FsTWFwLCB2YWx1ZXMpCiAgICAgZWxzZQogICAgICAgbmY5MF9nZXRfdmFyXzJE
X0ZvdXJCeXRlUmVhbCA9ICYKICAgICAgICAgIG5mX2dldF92YXJzX3JlYWwobmNpZCwgdmFy
aWQsIGxvY2FsU3RhcnQsIGxvY2FsQ291bnQsIGxvY2FsU3RyaWRlLCB2YWx1ZXMpCiAgICAg
ZW5kIGlmCiAgIGVuZCBmdW5jdGlvbiBuZjkwX2dldF92YXJfMkRfRm91ckJ5dGVSZWFsCgoK
ICAgZnVuY3Rpb24gbmY5MF9nZXRfdmFyXzNEX0ZvdXJCeXRlUmVhbChuY2lkLCB2YXJpZCwg
dmFsdWVzLCBzdGFydCwgY291bnQsIHN0cmlkZSwgbWFwKQogICAgIGludGVnZXIsICAgICAg
ICAgICAgICAgICAgICAgICAgIGludGVudCggaW4pIDo6IG5jaWQsIHZhcmlkCiAgICAgcmVh
bCAoa2luZCA9IEZvdXJCeXRlUmVhbCksIGRpbWVuc2lvbig6LCA6LCA6KSwgJgogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludGVudChvdXQpIDo6IHZhbHVlcwog
ICAgIGludGVnZXIsIGRpbWVuc2lvbig6KSwgb3B0aW9uYWwsIGludGVudCggaW4pIDo6IHN0
YXJ0LCBjb3VudCwgc3RyaWRlLCBtYXAKICAgICBpbnRlZ2VyICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICA6OiBuZjkwX2dldF92YXJfM0RfRm91ckJ5dGVSZWFsCiAK
ICAgICBpbnRlZ2VyLCBkaW1lbnNpb24obmY5MF9tYXhfdmFyX2RpbXMpIDo6IGxvY2FsU3Rh
cnQsIGxvY2FsQ291bnQsIGxvY2FsU3RyaWRlLCBsb2NhbE1hcAogICAgIGludGVnZXIgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgOjogbnVtRGltcywgY291bnRlcgogCiAgICAg
ISBTZXQgbG9jYWwgYXJndW1lbnRzIHRvIGRlZmF1bHQgdmFsdWVzCiAgICAgbnVtRGltcyAg
ICAgICAgICAgICAgICAgPSBzaXplKHNoYXBlKHZhbHVlcykpCiAgICAgbG9jYWxTdGFydCAo
OiAgICAgICAgICkgPSAxCiAgICAgbG9jYWxDb3VudCAoOm51bURpbXMgICkgPSBzaGFwZSh2
YWx1ZXMpCiAgICAgbG9jYWxDb3VudCAobnVtRGltcysxOikgPSAxCiAgICAgbG9jYWxTdHJp
ZGUoOiAgICAgICAgICkgPSAxCiAgICAgbG9jYWxNYXAgICAoOm51bURpbXMgICkgPSAoLyAx
LCAocHJvZHVjdChsb2NhbENvdW50KDpjb3VudGVyKSksIGNvdW50ZXIgPSAxLCBudW1EaW1z
IC0gMSkgLykKIAogICAgIGlmKHByZXNlbnQoc3RhcnQpKSAgbG9jYWxTdGFydCAoOnNpemUo
c3RhcnQpICkgID0gc3RhcnQoOikKICAgICBpZihwcmVzZW50KGNvdW50KSkgIGxvY2FsQ291
bnQgKDpzaXplKGNvdW50KSApICA9IGNvdW50KDopCiAgICAgaWYocHJlc2VudChzdHJpZGUp
KSBsb2NhbFN0cmlkZSg6c2l6ZShzdHJpZGUpKSA9IHN0cmlkZSg6KQogICAgIGlmKHByZXNl
bnQobWFwKSkgIHRoZW4KICAgICAgIGxvY2FsTWFwICAgKDpzaXplKG1hcCkpICAgID0gbWFw
KDopCiAgICAgICBuZjkwX2dldF92YXJfM0RfRm91ckJ5dGVSZWFsID0gJgogICAgICAgICAg
bmZfZ2V0X3Zhcm1fcmVhbChuY2lkLCB2YXJpZCwgbG9jYWxTdGFydCwgbG9jYWxDb3VudCwg
bG9jYWxTdHJpZGUsIGxvY2FsTWFwLCB2YWx1ZXMpCiAgICAgZWxzZQogICAgICAgbmY5MF9n
ZXRfdmFyXzNEX0ZvdXJCeXRlUmVhbCA9ICYKICAgICAgICAgIG5mX2dldF92YXJzX3JlYWwo
bmNpZCwgdmFyaWQsIGxvY2FsU3RhcnQsIGxvY2FsQ291bnQsIGxvY2FsU3RyaWRlLCB2YWx1
ZXMpCiAgICAgZW5kIGlmCiAgIGVuZCBmdW5jdGlvbiBuZjkwX2dldF92YXJfM0RfRm91ckJ5
dGVSZWFsCgoKICAgZnVuY3Rpb24gbmY5MF9nZXRfdmFyXzREX0ZvdXJCeXRlUmVhbChuY2lk
LCB2YXJpZCwgdmFsdWVzLCBzdGFydCwgY291bnQsIHN0cmlkZSwgbWFwKQogICAgIGludGVn
ZXIsICAgICAgICAgICAgICAgICAgICAgICAgIGludGVudCggaW4pIDo6IG5jaWQsIHZhcmlk
CiAgICAgcmVhbCAoa2luZCA9IEZvdXJCeXRlUmVhbCksIGRpbWVuc2lvbig6LCA6LCA6LCA6
KSwgJgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludGVudChvdXQp
IDo6IHZhbHVlcwogICAgIGludGVnZXIsIGRpbWVuc2lvbig6KSwgb3B0aW9uYWwsIGludGVu
dCggaW4pIDo6IHN0YXJ0LCBjb3VudCwgc3RyaWRlLCBtYXAKICAgICBpbnRlZ2VyICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6OiBuZjkwX2dldF92YXJfNERfRm91
ckJ5dGVSZWFsCiAKICAgICBpbnRlZ2VyLCBkaW1lbnNpb24obmY5MF9tYXhfdmFyX2RpbXMp
IDo6IGxvY2FsU3RhcnQsIGxvY2FsQ291bnQsIGxvY2FsU3RyaWRlLCBsb2NhbE1hcAogICAg
IGludGVnZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOjogbnVtRGltcywgY291
bnRlcgogCiAgICAgISBTZXQgbG9jYWwgYXJndW1lbnRzIHRvIGRlZmF1bHQgdmFsdWVzCiAg
ICAgbnVtRGltcyAgICAgICAgICAgICAgICAgPSBzaXplKHNoYXBlKHZhbHVlcykpCiAgICAg
bG9jYWxTdGFydCAoOiAgICAgICAgICkgPSAxCiAgICAgbG9jYWxDb3VudCAoOm51bURpbXMg
ICkgPSBzaGFwZSh2YWx1ZXMpCiAgICAgbG9jYWxDb3VudCAobnVtRGltcysxOikgPSAxCiAg
ICAgbG9jYWxTdHJpZGUoOiAgICAgICAgICkgPSAxCiAgICAgbG9jYWxNYXAgICAoOm51bURp
bXMgICkgPSAoLyAxLCAocHJvZHVjdChsb2NhbENvdW50KDpjb3VudGVyKSksIGNvdW50ZXIg
PSAxLCBudW1EaW1zIC0gMSkgLykKIAogICAgIGlmKHByZXNlbnQoc3RhcnQpKSAgbG9jYWxT
dGFydCAoOnNpemUoc3RhcnQpICkgID0gc3RhcnQoOikKICAgICBpZihwcmVzZW50KGNvdW50
KSkgIGxvY2FsQ291bnQgKDpzaXplKGNvdW50KSApICA9IGNvdW50KDopCiAgICAgaWYocHJl
c2VudChzdHJpZGUpKSBsb2NhbFN0cmlkZSg6c2l6ZShzdHJpZGUpKSA9IHN0cmlkZSg6KQog
ICAgIGlmKHByZXNlbnQobWFwKSkgIHRoZW4KICAgICAgIGxvY2FsTWFwICAgKDpzaXplKG1h
cCkpICAgID0gbWFwKDopCiAgICAgICBuZjkwX2dldF92YXJfNERfRm91ckJ5dGVSZWFsID0g
JgogICAgICAgICAgbmZfZ2V0X3Zhcm1fcmVhbChuY2lkLCB2YXJpZCwgbG9jYWxTdGFydCwg
bG9jYWxDb3VudCwgbG9jYWxTdHJpZGUsIGxvY2FsTWFwLCB2YWx1ZXMpCiAgICAgZWxzZQog
ICAgICAgbmY5MF9nZXRfdmFyXzREX0ZvdXJCeXRlUmVhbCA9ICYKICAgICAgICAgIG5mX2dl
dF92YXJzX3JlYWwobmNpZCwgdmFyaWQsIGxvY2FsU3RhcnQsIGxvY2FsQ291bnQsIGxvY2Fs
U3RyaWRlLCB2YWx1ZXMpCiAgICAgZW5kIGlmCiAgIGVuZCBmdW5jdGlvbiBuZjkwX2dldF92
YXJfNERfRm91ckJ5dGVSZWFsCgoKICAgZnVuY3Rpb24gbmY5MF9nZXRfdmFyXzVEX0ZvdXJC
eXRlUmVhbChuY2lkLCB2YXJpZCwgdmFsdWVzLCBzdGFydCwgY291bnQsIHN0cmlkZSwgbWFw
KQogICAgIGludGVnZXIsICAgICAgICAgICAgICAgICAgICAgICAgIGludGVudCggaW4pIDo6
IG5jaWQsIHZhcmlkCiAgICAgcmVhbCAoa2luZCA9IEZvdXJCeXRlUmVhbCksIGRpbWVuc2lv
big6LCA6LCA6LCA6LCA6KSwgJgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludGVudChvdXQpIDo6IHZhbHVlcwogICAgIGludGVnZXIsIGRpbWVuc2lvbig6KSwg
b3B0aW9uYWwsIGludGVudCggaW4pIDo6IHN0YXJ0LCBjb3VudCwgc3RyaWRlLCBtYXAKICAg
ICBpbnRlZ2VyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6OiBuZjkw
X2dldF92YXJfNURfRm91ckJ5dGVSZWFsCiAKICAgICBpbnRlZ2VyLCBkaW1lbnNpb24obmY5
MF9tYXhfdmFyX2RpbXMpIDo6IGxvY2FsU3RhcnQsIGxvY2FsQ291bnQsIGxvY2FsU3RyaWRl
LCBsb2NhbE1hcAogICAgIGludGVnZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
OjogbnVtRGltcywgY291bnRlcgogCiAgICAgISBTZXQgbG9jYWwgYXJndW1lbnRzIHRvIGRl
ZmF1bHQgdmFsdWVzCiAgICAgbnVtRGltcyAgICAgICAgICAgICAgICAgPSBzaXplKHNoYXBl
KHZhbHVlcykpCiAgICAgbG9jYWxTdGFydCAoOiAgICAgICAgICkgPSAxCiAgICAgbG9jYWxD
b3VudCAoOm51bURpbXMgICkgPSBzaGFwZSh2YWx1ZXMpCiAgICAgbG9jYWxDb3VudCAobnVt
RGltcysxOikgPSAxCiAgICAgbG9jYWxTdHJpZGUoOiAgICAgICAgICkgPSAxCiAgICAgbG9j
YWxNYXAgICAoOm51bURpbXMgICkgPSAoLyAxLCAocHJvZHVjdChsb2NhbENvdW50KDpjb3Vu
dGVyKSksIGNvdW50ZXIgPSAxLCBudW1EaW1zIC0gMSkgLykKIAogICAgIGlmKHByZXNlbnQo
c3RhcnQpKSAgbG9jYWxTdGFydCAoOnNpemUoc3RhcnQpICkgID0gc3RhcnQoOikKICAgICBp
ZihwcmVzZW50KGNvdW50KSkgIGxvY2FsQ291bnQgKDpzaXplKGNvdW50KSApICA9IGNvdW50
KDopCiAgICAgaWYocHJlc2VudChzdHJpZGUpKSBsb2NhbFN0cmlkZSg6c2l6ZShzdHJpZGUp
KSA9IHN0cmlkZSg6KQogICAgIGlmKHByZXNlbnQobWFwKSkgIHRoZW4KICAgICAgIGxvY2Fs
TWFwICAgKDpzaXplKG1hcCkpICAgID0gbWFwKDopCiAgICAgICBuZjkwX2dldF92YXJfNURf
Rm91ckJ5dGVSZWFsID0gJgogICAgICAgICAgbmZfZ2V0X3Zhcm1fcmVhbChuY2lkLCB2YXJp
ZCwgbG9jYWxTdGFydCwgbG9jYWxDb3VudCwgbG9jYWxTdHJpZGUsIGxvY2FsTWFwLCB2YWx1
ZXMpCiAgICAgZWxzZQogICAgICAgbmY5MF9nZXRfdmFyXzVEX0ZvdXJCeXRlUmVhbCA9ICYK
ICAgICAgICAgIG5mX2dldF92YXJzX3JlYWwobmNpZCwgdmFyaWQsIGxvY2FsU3RhcnQsIGxv
Y2FsQ291bnQsIGxvY2FsU3RyaWRlLCB2YWx1ZXMpCiAgICAgZW5kIGlmCiAgIGVuZCBmdW5j
dGlvbiBuZjkwX2dldF92YXJfNURfRm91ckJ5dGVSZWFsCgoKICAgZnVuY3Rpb24gbmY5MF9n
ZXRfdmFyXzZEX0ZvdXJCeXRlUmVhbChuY2lkLCB2YXJpZCwgdmFsdWVzLCBzdGFydCwgY291
bnQsIHN0cmlkZSwgbWFwKQogICAgIGludGVnZXIsICAgICAgICAgICAgICAgICAgICAgICAg
IGludGVudCggaW4pIDo6IG5jaWQsIHZhcmlkCiAgICAgcmVhbCAoa2luZCA9IEZvdXJCeXRl
UmVhbCksIGRpbWVuc2lvbig6LCA6LCA6LCA6LCA6LCA6KSwgJgogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludGVudChvdXQpIDo6IHZhbHVlcwogICAgIGludGVn
ZXIsIGRpbWVuc2lvbig6KSwgb3B0aW9uYWwsIGludGVudCggaW4pIDo6IHN0YXJ0LCBjb3Vu
dCwgc3RyaWRlLCBtYXAKICAgICBpbnRlZ2VyICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICA6OiBuZjkwX2dldF92YXJfNkRfRm91ckJ5dGVSZWFsCiAKICAgICBpbnRl
Z2VyLCBkaW1lbnNpb24obmY5MF9tYXhfdmFyX2RpbXMpIDo6IGxvY2FsU3RhcnQsIGxvY2Fs
Q291bnQsIGxvY2FsU3RyaWRlLCBsb2NhbE1hcAogICAgIGludGVnZXIgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgOjogbnVtRGltcywgY291bnRlcgogCiAgICAgISBTZXQgbG9j
YWwgYXJndW1lbnRzIHRvIGRlZmF1bHQgdmFsdWVzCiAgICAgbnVtRGltcyAgICAgICAgICAg
ICAgICAgPSBzaXplKHNoYXBlKHZhbHVlcykpCiAgICAgbG9jYWxTdGFydCAoOiAgICAgICAg
ICkgPSAxCiAgICAgbG9jYWxDb3VudCAoOm51bURpbXMgICkgPSBzaGFwZSh2YWx1ZXMpCiAg
ICAgbG9jYWxDb3VudCAobnVtRGltcysxOikgPSAxCiAgICAgbG9jYWxTdHJpZGUoOiAgICAg
ICAgICkgPSAxCiAgICAgbG9jYWxNYXAgICAoOm51bURpbXMgICkgPSAoLyAxLCAocHJvZHVj
dChsb2NhbENvdW50KDpjb3VudGVyKSksIGNvdW50ZXIgPSAxLCBudW1EaW1zIC0gMSkgLykK
IAogICAgIGlmKHByZXNlbnQoc3RhcnQpKSAgbG9jYWxTdGFydCAoOnNpemUoc3RhcnQpICkg
ID0gc3RhcnQoOikKICAgICBpZihwcmVzZW50KGNvdW50KSkgIGxvY2FsQ291bnQgKDpzaXpl
KGNvdW50KSApICA9IGNvdW50KDopCiAgICAgaWYocHJlc2VudChzdHJpZGUpKSBsb2NhbFN0
cmlkZSg6c2l6ZShzdHJpZGUpKSA9IHN0cmlkZSg6KQogICAgIGlmKHByZXNlbnQobWFwKSkg
IHRoZW4KICAgICAgIGxvY2FsTWFwICAgKDpzaXplKG1hcCkpICAgID0gbWFwKDopCiAgICAg
ICBuZjkwX2dldF92YXJfNkRfRm91ckJ5dGVSZWFsID0gJgogICAgICAgICAgbmZfZ2V0X3Zh
cm1fcmVhbChuY2lkLCB2YXJpZCwgbG9jYWxTdGFydCwgbG9jYWxDb3VudCwgbG9jYWxTdHJp
ZGUsIGxvY2FsTWFwLCB2YWx1ZXMpCiAgICAgZWxzZQogICAgICAgbmY5MF9nZXRfdmFyXzZE
X0ZvdXJCeXRlUmVhbCA9ICYKICAgICAgICAgIG5mX2dldF92YXJzX3JlYWwobmNpZCwgdmFy
aWQsIGxvY2FsU3RhcnQsIGxvY2FsQ291bnQsIGxvY2FsU3RyaWRlLCB2YWx1ZXMpCiAgICAg
ZW5kIGlmCiAgIGVuZCBmdW5jdGlvbiBuZjkwX2dldF92YXJfNkRfRm91ckJ5dGVSZWFsCgoK
ICAgZnVuY3Rpb24gbmY5MF9nZXRfdmFyXzdEX0ZvdXJCeXRlUmVhbChuY2lkLCB2YXJpZCwg
dmFsdWVzLCBzdGFydCwgY291bnQsIHN0cmlkZSwgbWFwKQogICAgIGludGVnZXIsICAgICAg
ICAgICAgICAgICAgICAgICAgIGludGVudCggaW4pIDo6IG5jaWQsIHZhcmlkCiAgICAgcmVh
bCAoa2luZCA9IEZvdXJCeXRlUmVhbCksIGRpbWVuc2lvbig6LCA6LCA6LCA6LCA6LCA6LCA6
KSwgJgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludGVudChvdXQp
IDo6IHZhbHVlcwogICAgIGludGVnZXIsIGRpbWVuc2lvbig6KSwgb3B0aW9uYWwsIGludGVu
dCggaW4pIDo6IHN0YXJ0LCBjb3VudCwgc3RyaWRlLCBtYXAKICAgICBpbnRlZ2VyICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6OiBuZjkwX2dldF92YXJfN0RfRm91
ckJ5dGVSZWFsCiAKICAgICBpbnRlZ2VyLCBkaW1lbnNpb24obmY5MF9tYXhfdmFyX2RpbXMp
IDo6IGxvY2FsU3RhcnQsIGxvY2FsQ291bnQsIGxvY2FsU3RyaWRlLCBsb2NhbE1hcAogICAg
IGludGVnZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOjogbnVtRGltcywgY291
bnRlcgogCiAgICAgISBTZXQgbG9jYWwgYXJndW1lbnRzIHRvIGRlZmF1bHQgdmFsdWVzCiAg
ICAgbnVtRGltcyAgICAgICAgICAgICAgICAgPSBzaXplKHNoYXBlKHZhbHVlcykpCiAgICAg
bG9jYWxTdGFydCAoOiAgICAgICAgICkgPSAxCiAgICAgbG9jYWxDb3VudCAoOm51bURpbXMg
ICkgPSBzaGFwZSh2YWx1ZXMpCiAgICAgbG9jYWxDb3VudCAobnVtRGltcysxOikgPSAxCiAg
ICAgbG9jYWxTdHJpZGUoOiAgICAgICAgICkgPSAxCiAgICAgbG9jYWxNYXAgICAoOm51bURp
bXMgICkgPSAoLyAxLCAocHJvZHVjdChsb2NhbENvdW50KDpjb3VudGVyKSksIGNvdW50ZXIg
PSAxLCBudW1EaW1zIC0gMSkgLykKIAogICAgIGlmKHByZXNlbnQoc3RhcnQpKSAgbG9jYWxT
dGFydCAoOnNpemUoc3RhcnQpICkgID0gc3RhcnQoOikKICAgICBpZihwcmVzZW50KGNvdW50
KSkgIGxvY2FsQ291bnQgKDpzaXplKGNvdW50KSApICA9IGNvdW50KDopCiAgICAgaWYocHJl
c2VudChzdHJpZGUpKSBsb2NhbFN0cmlkZSg6c2l6ZShzdHJpZGUpKSA9IHN0cmlkZSg6KQog
ICAgIGlmKHByZXNlbnQobWFwKSkgIHRoZW4KICAgICAgIGxvY2FsTWFwICAgKDpzaXplKG1h
cCkpICAgID0gbWFwKDopCiAgICAgICBuZjkwX2dldF92YXJfN0RfRm91ckJ5dGVSZWFsID0g
JgogICAgICAgICAgbmZfZ2V0X3Zhcm1fcmVhbChuY2lkLCB2YXJpZCwgbG9jYWxTdGFydCwg
bG9jYWxDb3VudCwgbG9jYWxTdHJpZGUsIGxvY2FsTWFwLCB2YWx1ZXMpCiAgICAgZWxzZQog
ICAgICAgbmY5MF9nZXRfdmFyXzdEX0ZvdXJCeXRlUmVhbCA9ICYKICAgICAgICAgIG5mX2dl
dF92YXJzX3JlYWwobmNpZCwgdmFyaWQsIGxvY2FsU3RhcnQsIGxvY2FsQ291bnQsIGxvY2Fs
U3RyaWRlLCB2YWx1ZXMpCiAgICAgZW5kIGlmCiAgIGVuZCBmdW5jdGlvbiBuZjkwX2dldF92
YXJfN0RfRm91ckJ5dGVSZWFsCgoKICAgZnVuY3Rpb24gbmY5MF9nZXRfdmFyXzFEX0VpZ2h0
Qnl0ZVJlYWwobmNpZCwgdmFyaWQsIHZhbHVlcywgc3RhcnQsIGNvdW50LCBzdHJpZGUsIG1h
cCkKICAgICBpbnRlZ2VyLCAgICAgICAgICAgICAgICAgICAgICAgICBpbnRlbnQoIGluKSA6
OiBuY2lkLCB2YXJpZAogICAgIHJlYWwgKGtpbmQgPSBFaWdodEJ5dGVSZWFsKSwgZGltZW5z
aW9uKDopLCAmCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50ZW50
KG91dCkgOjogdmFsdWVzCiAgICAgaW50ZWdlciwgZGltZW5zaW9uKDopLCBvcHRpb25hbCwg
aW50ZW50KCBpbikgOjogc3RhcnQsIGNvdW50LCBzdHJpZGUsIG1hcAogICAgIGludGVnZXIg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDo6IG5mOTBfZ2V0X3Zhcl8x
RF9FaWdodEJ5dGVSZWFsCiAKICAgICBpbnRlZ2VyLCBkaW1lbnNpb24obmY5MF9tYXhfdmFy
X2RpbXMpIDo6IGxvY2FsU3RhcnQsIGxvY2FsQ291bnQsIGxvY2FsU3RyaWRlLCBsb2NhbE1h
cAogICAgIGludGVnZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOjogbnVtRGlt
cywgY291bnRlcgogCiAgICAgISBTZXQgbG9jYWwgYXJndW1lbnRzIHRvIGRlZmF1bHQgdmFs
dWVzCiAgICAgbnVtRGltcyAgICAgICAgICAgICAgICAgPSBzaXplKHNoYXBlKHZhbHVlcykp
CiAgICAgbG9jYWxTdGFydCAoOiAgICAgICAgICkgPSAxCiAgICAgbG9jYWxDb3VudCAoOm51
bURpbXMgICkgPSBzaGFwZSh2YWx1ZXMpCiAgICAgbG9jYWxDb3VudCAobnVtRGltcysxOikg
PSAxCiAgICAgbG9jYWxTdHJpZGUoOiAgICAgICAgICkgPSAxCiAgICAgbG9jYWxNYXAgICAo
Om51bURpbXMgICkgPSAoLyAxLCAocHJvZHVjdChsb2NhbENvdW50KDpjb3VudGVyKSksIGNv
dW50ZXIgPSAxLCBudW1EaW1zIC0gMSkgLykKIAogICAgIGlmKHByZXNlbnQoc3RhcnQpKSAg
bG9jYWxTdGFydCAoOnNpemUoc3RhcnQpICkgID0gc3RhcnQoOikKICAgICBpZihwcmVzZW50
KGNvdW50KSkgIGxvY2FsQ291bnQgKDpzaXplKGNvdW50KSApICA9IGNvdW50KDopCiAgICAg
aWYocHJlc2VudChzdHJpZGUpKSBsb2NhbFN0cmlkZSg6c2l6ZShzdHJpZGUpKSA9IHN0cmlk
ZSg6KQogICAgIGlmKHByZXNlbnQobWFwKSkgIHRoZW4KICAgICAgIGxvY2FsTWFwICAgKDpz
aXplKG1hcCkpICAgID0gbWFwKDopCiAgICAgICBuZjkwX2dldF92YXJfMURfRWlnaHRCeXRl
UmVhbCA9ICYKICAgICAgICAgIG5mX2dldF92YXJtX2RvdWJsZShuY2lkLCB2YXJpZCwgbG9j
YWxTdGFydCwgbG9jYWxDb3VudCwgbG9jYWxTdHJpZGUsIGxvY2FsTWFwLCB2YWx1ZXMpCiAg
ICAgZWxzZQogICAgICAgbmY5MF9nZXRfdmFyXzFEX0VpZ2h0Qnl0ZVJlYWwgPSAmCiAgICAg
ICAgICBuZl9nZXRfdmFyc19kb3VibGUobmNpZCwgdmFyaWQsIGxvY2FsU3RhcnQsIGxvY2Fs
Q291bnQsIGxvY2FsU3RyaWRlLCB2YWx1ZXMpCiAgICAgZW5kIGlmCiAgIGVuZCBmdW5jdGlv
biBuZjkwX2dldF92YXJfMURfRWlnaHRCeXRlUmVhbAoKCiAgIGZ1bmN0aW9uIG5mOTBfZ2V0
X3Zhcl8yRF9FaWdodEJ5dGVSZWFsKG5jaWQsIHZhcmlkLCB2YWx1ZXMsIHN0YXJ0LCBjb3Vu
dCwgc3RyaWRlLCBtYXApCiAgICAgaW50ZWdlciwgICAgICAgICAgICAgICAgICAgICAgICAg
aW50ZW50KCBpbikgOjogbmNpZCwgdmFyaWQKICAgICByZWFsIChraW5kID0gRWlnaHRCeXRl
UmVhbCksIGRpbWVuc2lvbig6LCA6KSwgJgogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludGVudChvdXQpIDo6IHZhbHVlcwogICAgIGludGVnZXIsIGRpbWVuc2lv
big6KSwgb3B0aW9uYWwsIGludGVudCggaW4pIDo6IHN0YXJ0LCBjb3VudCwgc3RyaWRlLCBt
YXAKICAgICBpbnRlZ2VyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6
OiBuZjkwX2dldF92YXJfMkRfRWlnaHRCeXRlUmVhbAogCiAgICAgaW50ZWdlciwgZGltZW5z
aW9uKG5mOTBfbWF4X3Zhcl9kaW1zKSA6OiBsb2NhbFN0YXJ0LCBsb2NhbENvdW50LCBsb2Nh
bFN0cmlkZSwgbG9jYWxNYXAKICAgICBpbnRlZ2VyICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIDo6IG51bURpbXMsIGNvdW50ZXIKIAogICAgICEgU2V0IGxvY2FsIGFyZ3VtZW50
cyB0byBkZWZhdWx0IHZhbHVlcwogICAgIG51bURpbXMgICAgICAgICAgICAgICAgID0gc2l6
ZShzaGFwZSh2YWx1ZXMpKQogICAgIGxvY2FsU3RhcnQgKDogICAgICAgICApID0gMQogICAg
IGxvY2FsQ291bnQgKDpudW1EaW1zICApID0gc2hhcGUodmFsdWVzKQogICAgIGxvY2FsQ291
bnQgKG51bURpbXMrMTopID0gMQogICAgIGxvY2FsU3RyaWRlKDogICAgICAgICApID0gMQog
ICAgIGxvY2FsTWFwICAgKDpudW1EaW1zICApID0gKC8gMSwgKHByb2R1Y3QobG9jYWxDb3Vu
dCg6Y291bnRlcikpLCBjb3VudGVyID0gMSwgbnVtRGltcyAtIDEpIC8pCiAKICAgICBpZihw
cmVzZW50KHN0YXJ0KSkgIGxvY2FsU3RhcnQgKDpzaXplKHN0YXJ0KSApICA9IHN0YXJ0KDop
CiAgICAgaWYocHJlc2VudChjb3VudCkpICBsb2NhbENvdW50ICg6c2l6ZShjb3VudCkgKSAg
PSBjb3VudCg6KQogICAgIGlmKHByZXNlbnQoc3RyaWRlKSkgbG9jYWxTdHJpZGUoOnNpemUo
c3RyaWRlKSkgPSBzdHJpZGUoOikKICAgICBpZihwcmVzZW50KG1hcCkpICB0aGVuCiAgICAg
ICBsb2NhbE1hcCAgICg6c2l6ZShtYXApKSAgICA9IG1hcCg6KQogICAgICAgbmY5MF9nZXRf
dmFyXzJEX0VpZ2h0Qnl0ZVJlYWwgPSAmCiAgICAgICAgICBuZl9nZXRfdmFybV9kb3VibGUo
bmNpZCwgdmFyaWQsIGxvY2FsU3RhcnQsIGxvY2FsQ291bnQsIGxvY2FsU3RyaWRlLCBsb2Nh
bE1hcCwgdmFsdWVzKQogICAgIGVsc2UKICAgICAgIG5mOTBfZ2V0X3Zhcl8yRF9FaWdodEJ5
dGVSZWFsID0gJgogICAgICAgICAgbmZfZ2V0X3ZhcnNfZG91YmxlKG5jaWQsIHZhcmlkLCBs
b2NhbFN0YXJ0LCBsb2NhbENvdW50LCBsb2NhbFN0cmlkZSwgdmFsdWVzKQogICAgIGVuZCBp
ZgogICBlbmQgZnVuY3Rpb24gbmY5MF9nZXRfdmFyXzJEX0VpZ2h0Qnl0ZVJlYWwKCgogICBm
dW5jdGlvbiBuZjkwX2dldF92YXJfM0RfRWlnaHRCeXRlUmVhbChuY2lkLCB2YXJpZCwgdmFs
dWVzLCBzdGFydCwgY291bnQsIHN0cmlkZSwgbWFwKQogICAgIGludGVnZXIsICAgICAgICAg
ICAgICAgICAgICAgICAgIGludGVudCggaW4pIDo6IG5jaWQsIHZhcmlkCiAgICAgcmVhbCAo
a2luZCA9IEVpZ2h0Qnl0ZVJlYWwpLCBkaW1lbnNpb24oOiwgOiwgOiksICYKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnRlbnQob3V0KSA6OiB2YWx1ZXMKICAg
ICBpbnRlZ2VyLCBkaW1lbnNpb24oOiksIG9wdGlvbmFsLCBpbnRlbnQoIGluKSA6OiBzdGFy
dCwgY291bnQsIHN0cmlkZSwgbWFwCiAgICAgaW50ZWdlciAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgOjogbmY5MF9nZXRfdmFyXzNEX0VpZ2h0Qnl0ZVJlYWwKIAog
ICAgIGludGVnZXIsIGRpbWVuc2lvbihuZjkwX21heF92YXJfZGltcykgOjogbG9jYWxTdGFy
dCwgbG9jYWxDb3VudCwgbG9jYWxTdHJpZGUsIGxvY2FsTWFwCiAgICAgaW50ZWdlciAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICA6OiBudW1EaW1zLCBjb3VudGVyCiAKICAgICAh
IFNldCBsb2NhbCBhcmd1bWVudHMgdG8gZGVmYXVsdCB2YWx1ZXMKICAgICBudW1EaW1zICAg
ICAgICAgICAgICAgICA9IHNpemUoc2hhcGUodmFsdWVzKSkKICAgICBsb2NhbFN0YXJ0ICg6
ICAgICAgICAgKSA9IDEKICAgICBsb2NhbENvdW50ICg6bnVtRGltcyAgKSA9IHNoYXBlKHZh
bHVlcykKICAgICBsb2NhbENvdW50IChudW1EaW1zKzE6KSA9IDEKICAgICBsb2NhbFN0cmlk
ZSg6ICAgICAgICAgKSA9IDEKICAgICBsb2NhbE1hcCAgICg6bnVtRGltcyAgKSA9ICgvIDEs
IChwcm9kdWN0KGxvY2FsQ291bnQoOmNvdW50ZXIpKSwgY291bnRlciA9IDEsIG51bURpbXMg
LSAxKSAvKQogCiAgICAgaWYocHJlc2VudChzdGFydCkpICBsb2NhbFN0YXJ0ICg6c2l6ZShz
dGFydCkgKSAgPSBzdGFydCg6KQogICAgIGlmKHByZXNlbnQoY291bnQpKSAgbG9jYWxDb3Vu
dCAoOnNpemUoY291bnQpICkgID0gY291bnQoOikKICAgICBpZihwcmVzZW50KHN0cmlkZSkp
IGxvY2FsU3RyaWRlKDpzaXplKHN0cmlkZSkpID0gc3RyaWRlKDopCiAgICAgaWYocHJlc2Vu
dChtYXApKSAgdGhlbgogICAgICAgbG9jYWxNYXAgICAoOnNpemUobWFwKSkgICAgPSBtYXAo
OikKICAgICAgIG5mOTBfZ2V0X3Zhcl8zRF9FaWdodEJ5dGVSZWFsID0gJgogICAgICAgICAg
bmZfZ2V0X3Zhcm1fZG91YmxlKG5jaWQsIHZhcmlkLCBsb2NhbFN0YXJ0LCBsb2NhbENvdW50
LCBsb2NhbFN0cmlkZSwgbG9jYWxNYXAsIHZhbHVlcykKICAgICBlbHNlCiAgICAgICBuZjkw
X2dldF92YXJfM0RfRWlnaHRCeXRlUmVhbCA9ICYKICAgICAgICAgIG5mX2dldF92YXJzX2Rv
dWJsZShuY2lkLCB2YXJpZCwgbG9jYWxTdGFydCwgbG9jYWxDb3VudCwgbG9jYWxTdHJpZGUs
IHZhbHVlcykKICAgICBlbmQgaWYKICAgZW5kIGZ1bmN0aW9uIG5mOTBfZ2V0X3Zhcl8zRF9F
aWdodEJ5dGVSZWFsCgoKICAgZnVuY3Rpb24gbmY5MF9nZXRfdmFyXzREX0VpZ2h0Qnl0ZVJl
YWwobmNpZCwgdmFyaWQsIHZhbHVlcywgc3RhcnQsIGNvdW50LCBzdHJpZGUsIG1hcCkKICAg
ICBpbnRlZ2VyLCAgICAgICAgICAgICAgICAgICAgICAgICBpbnRlbnQoIGluKSA6OiBuY2lk
LCB2YXJpZAogICAgIHJlYWwgKGtpbmQgPSBFaWdodEJ5dGVSZWFsKSwgZGltZW5zaW9uKDos
IDosIDosIDopLCAmCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50
ZW50KG91dCkgOjogdmFsdWVzCiAgICAgaW50ZWdlciwgZGltZW5zaW9uKDopLCBvcHRpb25h
bCwgaW50ZW50KCBpbikgOjogc3RhcnQsIGNvdW50LCBzdHJpZGUsIG1hcAogICAgIGludGVn
ZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDo6IG5mOTBfZ2V0X3Zh
cl80RF9FaWdodEJ5dGVSZWFsCiAKICAgICBpbnRlZ2VyLCBkaW1lbnNpb24obmY5MF9tYXhf
dmFyX2RpbXMpIDo6IGxvY2FsU3RhcnQsIGxvY2FsQ291bnQsIGxvY2FsU3RyaWRlLCBsb2Nh
bE1hcAogICAgIGludGVnZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOjogbnVt
RGltcywgY291bnRlcgogCiAgICAgISBTZXQgbG9jYWwgYXJndW1lbnRzIHRvIGRlZmF1bHQg
dmFsdWVzCiAgICAgbnVtRGltcyAgICAgICAgICAgICAgICAgPSBzaXplKHNoYXBlKHZhbHVl
cykpCiAgICAgbG9jYWxTdGFydCAoOiAgICAgICAgICkgPSAxCiAgICAgbG9jYWxDb3VudCAo
Om51bURpbXMgICkgPSBzaGFwZSh2YWx1ZXMpCiAgICAgbG9jYWxDb3VudCAobnVtRGltcysx
OikgPSAxCiAgICAgbG9jYWxTdHJpZGUoOiAgICAgICAgICkgPSAxCiAgICAgbG9jYWxNYXAg
ICAoOm51bURpbXMgICkgPSAoLyAxLCAocHJvZHVjdChsb2NhbENvdW50KDpjb3VudGVyKSks
IGNvdW50ZXIgPSAxLCBudW1EaW1zIC0gMSkgLykKIAogICAgIGlmKHByZXNlbnQoc3RhcnQp
KSAgbG9jYWxTdGFydCAoOnNpemUoc3RhcnQpICkgID0gc3RhcnQoOikKICAgICBpZihwcmVz
ZW50KGNvdW50KSkgIGxvY2FsQ291bnQgKDpzaXplKGNvdW50KSApICA9IGNvdW50KDopCiAg
ICAgaWYocHJlc2VudChzdHJpZGUpKSBsb2NhbFN0cmlkZSg6c2l6ZShzdHJpZGUpKSA9IHN0
cmlkZSg6KQogICAgIGlmKHByZXNlbnQobWFwKSkgIHRoZW4KICAgICAgIGxvY2FsTWFwICAg
KDpzaXplKG1hcCkpICAgID0gbWFwKDopCiAgICAgICBuZjkwX2dldF92YXJfNERfRWlnaHRC
eXRlUmVhbCA9ICYKICAgICAgICAgIG5mX2dldF92YXJtX2RvdWJsZShuY2lkLCB2YXJpZCwg
bG9jYWxTdGFydCwgbG9jYWxDb3VudCwgbG9jYWxTdHJpZGUsIGxvY2FsTWFwLCB2YWx1ZXMp
CiAgICAgZWxzZQogICAgICAgbmY5MF9nZXRfdmFyXzREX0VpZ2h0Qnl0ZVJlYWwgPSAmCiAg
ICAgICAgICBuZl9nZXRfdmFyc19kb3VibGUobmNpZCwgdmFyaWQsIGxvY2FsU3RhcnQsIGxv
Y2FsQ291bnQsIGxvY2FsU3RyaWRlLCB2YWx1ZXMpCiAgICAgZW5kIGlmCiAgIGVuZCBmdW5j
dGlvbiBuZjkwX2dldF92YXJfNERfRWlnaHRCeXRlUmVhbAoKCiAgIGZ1bmN0aW9uIG5mOTBf
Z2V0X3Zhcl81RF9FaWdodEJ5dGVSZWFsKG5jaWQsIHZhcmlkLCB2YWx1ZXMsIHN0YXJ0LCBj
b3VudCwgc3RyaWRlLCBtYXApCiAgICAgaW50ZWdlciwgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50ZW50KCBpbikgOjogbmNpZCwgdmFyaWQKICAgICByZWFsIChraW5kID0gRWlnaHRC
eXRlUmVhbCksIGRpbWVuc2lvbig6LCA6LCA6LCA6LCA6KSwgJgogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludGVudChvdXQpIDo6IHZhbHVlcwogICAgIGludGVn
ZXIsIGRpbWVuc2lvbig6KSwgb3B0aW9uYWwsIGludGVudCggaW4pIDo6IHN0YXJ0LCBjb3Vu
dCwgc3RyaWRlLCBtYXAKICAgICBpbnRlZ2VyICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICA6OiBuZjkwX2dldF92YXJfNURfRWlnaHRCeXRlUmVhbAogCiAgICAgaW50
ZWdlciwgZGltZW5zaW9uKG5mOTBfbWF4X3Zhcl9kaW1zKSA6OiBsb2NhbFN0YXJ0LCBsb2Nh
bENvdW50LCBsb2NhbFN0cmlkZSwgbG9jYWxNYXAKICAgICBpbnRlZ2VyICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIDo6IG51bURpbXMsIGNvdW50ZXIKIAogICAgICEgU2V0IGxv
Y2FsIGFyZ3VtZW50cyB0byBkZWZhdWx0IHZhbHVlcwogICAgIG51bURpbXMgICAgICAgICAg
ICAgICAgID0gc2l6ZShzaGFwZSh2YWx1ZXMpKQogICAgIGxvY2FsU3RhcnQgKDogICAgICAg
ICApID0gMQogICAgIGxvY2FsQ291bnQgKDpudW1EaW1zICApID0gc2hhcGUodmFsdWVzKQog
ICAgIGxvY2FsQ291bnQgKG51bURpbXMrMTopID0gMQogICAgIGxvY2FsU3RyaWRlKDogICAg
ICAgICApID0gMQogICAgIGxvY2FsTWFwICAgKDpudW1EaW1zICApID0gKC8gMSwgKHByb2R1
Y3QobG9jYWxDb3VudCg6Y291bnRlcikpLCBjb3VudGVyID0gMSwgbnVtRGltcyAtIDEpIC8p
CiAKICAgICBpZihwcmVzZW50KHN0YXJ0KSkgIGxvY2FsU3RhcnQgKDpzaXplKHN0YXJ0KSAp
ICA9IHN0YXJ0KDopCiAgICAgaWYocHJlc2VudChjb3VudCkpICBsb2NhbENvdW50ICg6c2l6
ZShjb3VudCkgKSAgPSBjb3VudCg6KQogICAgIGlmKHByZXNlbnQoc3RyaWRlKSkgbG9jYWxT
dHJpZGUoOnNpemUoc3RyaWRlKSkgPSBzdHJpZGUoOikKICAgICBpZihwcmVzZW50KG1hcCkp
ICB0aGVuCiAgICAgICBsb2NhbE1hcCAgICg6c2l6ZShtYXApKSAgICA9IG1hcCg6KQogICAg
ICAgbmY5MF9nZXRfdmFyXzVEX0VpZ2h0Qnl0ZVJlYWwgPSAmCiAgICAgICAgICBuZl9nZXRf
dmFybV9kb3VibGUobmNpZCwgdmFyaWQsIGxvY2FsU3RhcnQsIGxvY2FsQ291bnQsIGxvY2Fs
U3RyaWRlLCBsb2NhbE1hcCwgdmFsdWVzKQogICAgIGVsc2UKICAgICAgIG5mOTBfZ2V0X3Zh
cl81RF9FaWdodEJ5dGVSZWFsID0gJgogICAgICAgICAgbmZfZ2V0X3ZhcnNfZG91YmxlKG5j
aWQsIHZhcmlkLCBsb2NhbFN0YXJ0LCBsb2NhbENvdW50LCBsb2NhbFN0cmlkZSwgdmFsdWVz
KQogICAgIGVuZCBpZgogICBlbmQgZnVuY3Rpb24gbmY5MF9nZXRfdmFyXzVEX0VpZ2h0Qnl0
ZVJlYWwKCgogICBmdW5jdGlvbiBuZjkwX2dldF92YXJfNkRfRWlnaHRCeXRlUmVhbChuY2lk
LCB2YXJpZCwgdmFsdWVzLCBzdGFydCwgY291bnQsIHN0cmlkZSwgbWFwKQogICAgIGludGVn
ZXIsICAgICAgICAgICAgICAgICAgICAgICAgIGludGVudCggaW4pIDo6IG5jaWQsIHZhcmlk
CiAgICAgcmVhbCAoa2luZCA9IEVpZ2h0Qnl0ZVJlYWwpLCBkaW1lbnNpb24oOiwgOiwgOiwg
OiwgOiwgOiksICYKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnRl
bnQob3V0KSA6OiB2YWx1ZXMKICAgICBpbnRlZ2VyLCBkaW1lbnNpb24oOiksIG9wdGlvbmFs
LCBpbnRlbnQoIGluKSA6OiBzdGFydCwgY291bnQsIHN0cmlkZSwgbWFwCiAgICAgaW50ZWdl
ciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOjogbmY5MF9nZXRfdmFy
XzZEX0VpZ2h0Qnl0ZVJlYWwKIAogICAgIGludGVnZXIsIGRpbWVuc2lvbihuZjkwX21heF92
YXJfZGltcykgOjogbG9jYWxTdGFydCwgbG9jYWxDb3VudCwgbG9jYWxTdHJpZGUsIGxvY2Fs
TWFwCiAgICAgaW50ZWdlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6OiBudW1E
aW1zLCBjb3VudGVyCiAKICAgICAhIFNldCBsb2NhbCBhcmd1bWVudHMgdG8gZGVmYXVsdCB2
YWx1ZXMKICAgICBudW1EaW1zICAgICAgICAgICAgICAgICA9IHNpemUoc2hhcGUodmFsdWVz
KSkKICAgICBsb2NhbFN0YXJ0ICg6ICAgICAgICAgKSA9IDEKICAgICBsb2NhbENvdW50ICg6
bnVtRGltcyAgKSA9IHNoYXBlKHZhbHVlcykKICAgICBsb2NhbENvdW50IChudW1EaW1zKzE6
KSA9IDEKICAgICBsb2NhbFN0cmlkZSg6ICAgICAgICAgKSA9IDEKICAgICBsb2NhbE1hcCAg
ICg6bnVtRGltcyAgKSA9ICgvIDEsIChwcm9kdWN0KGxvY2FsQ291bnQoOmNvdW50ZXIpKSwg
Y291bnRlciA9IDEsIG51bURpbXMgLSAxKSAvKQogCiAgICAgaWYocHJlc2VudChzdGFydCkp
ICBsb2NhbFN0YXJ0ICg6c2l6ZShzdGFydCkgKSAgPSBzdGFydCg6KQogICAgIGlmKHByZXNl
bnQoY291bnQpKSAgbG9jYWxDb3VudCAoOnNpemUoY291bnQpICkgID0gY291bnQoOikKICAg
ICBpZihwcmVzZW50KHN0cmlkZSkpIGxvY2FsU3RyaWRlKDpzaXplKHN0cmlkZSkpID0gc3Ry
aWRlKDopCiAgICAgaWYocHJlc2VudChtYXApKSAgdGhlbgogICAgICAgbG9jYWxNYXAgICAo
OnNpemUobWFwKSkgICAgPSBtYXAoOikKICAgICAgIG5mOTBfZ2V0X3Zhcl82RF9FaWdodEJ5
dGVSZWFsID0gJgogICAgICAgICAgbmZfZ2V0X3Zhcm1fZG91YmxlKG5jaWQsIHZhcmlkLCBs
b2NhbFN0YXJ0LCBsb2NhbENvdW50LCBsb2NhbFN0cmlkZSwgbG9jYWxNYXAsIHZhbHVlcykK
ICAgICBlbHNlCiAgICAgICBuZjkwX2dldF92YXJfNkRfRWlnaHRCeXRlUmVhbCA9ICYKICAg
ICAgICAgIG5mX2dldF92YXJzX2RvdWJsZShuY2lkLCB2YXJpZCwgbG9jYWxTdGFydCwgbG9j
YWxDb3VudCwgbG9jYWxTdHJpZGUsIHZhbHVlcykKICAgICBlbmQgaWYKICAgZW5kIGZ1bmN0
aW9uIG5mOTBfZ2V0X3Zhcl82RF9FaWdodEJ5dGVSZWFsCgoKICAgZnVuY3Rpb24gbmY5MF9n
ZXRfdmFyXzdEX0VpZ2h0Qnl0ZVJlYWwobmNpZCwgdmFyaWQsIHZhbHVlcywgc3RhcnQsIGNv
dW50LCBzdHJpZGUsIG1hcCkKICAgICBpbnRlZ2VyLCAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnRlbnQoIGluKSA6OiBuY2lkLCB2YXJpZAogICAgIHJlYWwgKGtpbmQgPSBFaWdodEJ5
dGVSZWFsKSwgZGltZW5zaW9uKDosIDosIDosIDosIDosIDosIDopLCAmCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50ZW50KG91dCkgOjogdmFsdWVzCiAgICAg
aW50ZWdlciwgZGltZW5zaW9uKDopLCBvcHRpb25hbCwgaW50ZW50KCBpbikgOjogc3RhcnQs
IGNvdW50LCBzdHJpZGUsIG1hcAogICAgIGludGVnZXIgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIDo6IG5mOTBfZ2V0X3Zhcl83RF9FaWdodEJ5dGVSZWFsCiAKICAg
ICBpbnRlZ2VyLCBkaW1lbnNpb24obmY5MF9tYXhfdmFyX2RpbXMpIDo6IGxvY2FsU3RhcnQs
IGxvY2FsQ291bnQsIGxvY2FsU3RyaWRlLCBsb2NhbE1hcAogICAgIGludGVnZXIgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgOjogbnVtRGltcywgY291bnRlcgogCiAgICAgISBT
ZXQgbG9jYWwgYXJndW1lbnRzIHRvIGRlZmF1bHQgdmFsdWVzCiAgICAgbnVtRGltcyAgICAg
ICAgICAgICAgICAgPSBzaXplKHNoYXBlKHZhbHVlcykpCiAgICAgbG9jYWxTdGFydCAoOiAg
ICAgICAgICkgPSAxCiAgICAgbG9jYWxDb3VudCAoOm51bURpbXMgICkgPSBzaGFwZSh2YWx1
ZXMpCiAgICAgbG9jYWxDb3VudCAobnVtRGltcysxOikgPSAxCiAgICAgbG9jYWxTdHJpZGUo
OiAgICAgICAgICkgPSAxCiAgICAgbG9jYWxNYXAgICAoOm51bURpbXMgICkgPSAoLyAxLCAo
cHJvZHVjdChsb2NhbENvdW50KDpjb3VudGVyKSksIGNvdW50ZXIgPSAxLCBudW1EaW1zIC0g
MSkgLykKIAogICAgIGlmKHByZXNlbnQoc3RhcnQpKSAgbG9jYWxTdGFydCAoOnNpemUoc3Rh
cnQpICkgID0gc3RhcnQoOikKICAgICBpZihwcmVzZW50KGNvdW50KSkgIGxvY2FsQ291bnQg
KDpzaXplKGNvdW50KSApICA9IGNvdW50KDopCiAgICAgaWYocHJlc2VudChzdHJpZGUpKSBs
b2NhbFN0cmlkZSg6c2l6ZShzdHJpZGUpKSA9IHN0cmlkZSg6KQogICAgIGlmKHByZXNlbnQo
bWFwKSkgIHRoZW4KICAgICAgIGxvY2FsTWFwICAgKDpzaXplKG1hcCkpICAgID0gbWFwKDop
CiAgICAgICBuZjkwX2dldF92YXJfN0RfRWlnaHRCeXRlUmVhbCA9ICYKICAgICAgICAgIG5m
X2dldF92YXJtX2RvdWJsZShuY2lkLCB2YXJpZCwgbG9jYWxTdGFydCwgbG9jYWxDb3VudCwg
bG9jYWxTdHJpZGUsIGxvY2FsTWFwLCB2YWx1ZXMpCiAgICAgZWxzZQogICAgICAgbmY5MF9n
ZXRfdmFyXzdEX0VpZ2h0Qnl0ZVJlYWwgPSAmCiAgICAgICAgICBuZl9nZXRfdmFyc19kb3Vi
bGUobmNpZCwgdmFyaWQsIGxvY2FsU3RhcnQsIGxvY2FsQ291bnQsIGxvY2FsU3RyaWRlLCB2
YWx1ZXMpCiAgICAgZW5kIGlmCiAgIGVuZCBmdW5jdGlvbiBuZjkwX2dldF92YXJfN0RfRWln
aHRCeXRlUmVhbAoKCg==


--12.Oct.2003mysteryboxofun
Content-Type: text/plain



-- 
Charlie Zender, zender at uci dot edu, (949) 824-2987, Department of
Earth System Science, University of California, Irvine CA 92697-3100




--12.Oct.2003mysteryboxofun--


-------------------------------------------------------
This SF.net email is sponsored by: SF.net Giveback Program.
SourceForge.net hosts over 70,000 Open Source Projects.
See the people who have HELPED US provide better services:
Click here: http://sourceforge.net/supporters.php