[COMMIT] Clarify our strategy for GC protection of the active stack, bytecode.c

Aidan Kehoe <[email protected]> Thu, 30 Jun 2016 00:07:19 +0100
Newsgroups gmane.emacs.xemacs.patches
Message-ID <[email protected]>
CkFQUFJPVkUgQ09NTUlUCgpOT1RFOiBUaGlzIHBhdGNoIGhhcyBiZWVuIGNvbW1pdHRlZC4KCiMg
SEcgY2hhbmdlc2V0IHBhdGNoCiMgVXNlciBBaWRhbiBLZWhvZSA8a2Vob2VhQHBhcmhhc2FyZC5u
ZXQ+CiMgRGF0ZSAxNDY3MjQxNTk4IC0zNjAwCiMgICAgICBUaHUgSnVuIDMwIDAwOjA2OjM4IDIw
MTYgKzAxMDAKIyBOb2RlIElEIGNiZTEwNzE0MWFmZTVhN2UwOGFmYmJjYjZjZDU0NTc5M2UzNmFj
MDYKIyBQYXJlbnQgIDYyODY5Mzk2Zjk1ZGY3ZjJmNmMxNDViNjcxOTIyZTlkMzYyMzA5ZmIKQ2xh
cmlmeSBvdXIgc3RyYXRlZ3kgZm9yIEdDIHByb3RlY3Rpb24gb2YgdGhlIGFjdGl2ZSBzdGFjaywg
Ynl0ZWNvZGUuYwoKMjAxNi0wNi0yOSAgQWlkYW4gS2Vob2UgIDxrZWhvZWFAcGFyaGFzYXJkLm5l
dD4KCgkqIGJ5dGVjb2RlLmMgKEFESlVTVF9TVEFDS19HQ1BSTyk6CglSZW5hbWUgR0NQUk9fU1RB
Q0sgdG8gdGhlIGxlc3MgbWlzbGVhZGluZyBBREpVU1RfU1RBQ0tfR0NQUk8uCglDbGFyaWZ5IHdo
YXQgaXQgZG9lcyBpbiBhIGNvbW1lbnQuCglSZW1vdmUgY29tbWVudGVkLW91dCwgY29uZnVzaW5n
IGNhbGxzIHRvIEdDUFJPX1NUQUNLIGZyb20gYmVmb3JlCgl0aGUgYWN0aXZlIHN0YWNrIHdhcyBz
eXN0ZW1hdGljYWxseSBHQ1BSTydkLgoKZGlmZiAtciA2Mjg2OTM5NmY5NWQgLXIgY2JlMTA3MTQx
YWZlIHNyYy9DaGFuZ2VMb2cKLS0tIGEvc3JjL0NoYW5nZUxvZwlTYXQgSnVuIDI1IDEwOjI3OjM0
IDIwMTYgKzAxMDAKKysrIGIvc3JjL0NoYW5nZUxvZwlUaHUgSnVuIDMwIDAwOjA2OjM4IDIwMTYg
KzAxMDAKQEAgLTEsMyArMSwxMSBAQAorMjAxNi0wNi0yOSAgQWlkYW4gS2Vob2UgIDxrZWhvZWFA
cGFyaGFzYXJkLm5ldD4KKworCSogYnl0ZWNvZGUuYyAoQURKVVNUX1NUQUNLX0dDUFJPKToKKwlS
ZW5hbWUgR0NQUk9fU1RBQ0sgdG8gdGhlIGxlc3MgbWlzbGVhZGluZyBBREpVU1RfU1RBQ0tfR0NQ
Uk8uCisJQ2xhcmlmeSB3aGF0IGl0IGRvZXMgaW4gYSBjb21tZW50LgorCVJlbW92ZSBjb21tZW50
ZWQtb3V0LCBjb25mdXNpbmcgY2FsbHMgdG8gR0NQUk9fU1RBQ0sgZnJvbSBiZWZvcmUKKwl0aGUg
YWN0aXZlIHN0YWNrIHdhcyBzeXN0ZW1hdGljYWxseSBHQ1BSTydkLgorCiAyMDE2LTA2LTI1ICBB
aWRhbiBLZWhvZSAgPGtlaG9lYUBwYXJoYXNhcmQubmV0PgogCiAJKiBmaWxlaW8uYyAoRmluc2Vy
dF9maWxlX2NvbnRlbnRzX2ludGVybmFsKToKZGlmZiAtciA2Mjg2OTM5NmY5NWQgLXIgY2JlMTA3
MTQxYWZlIHNyYy9ieXRlY29kZS5jCi0tLSBhL3NyYy9ieXRlY29kZS5jCVNhdCBKdW4gMjUgMTA6
Mjc6MzQgMjAxNiArMDEwMAorKysgYi9zcmMvYnl0ZWNvZGUuYwlUaHUgSnVuIDMwIDAwOjA2OjM4
IDIwMTYgKzAxMDAKQEAgLTc1MCw3ICs3NTAsNyBAQAogCiAKIC8qIFNlZSBjb21tZW50IGJlZm9y
ZSB0aGUgYmlnIHN3aXRjaCBpbiBleGVjdXRlX29wdGltaXplZF9wcm9ncmFtKCkuICovCi0jZGVm
aW5lIEdDUFJPX1NUQUNLICAoZ2Nwcm8xLm52YXJzID0gc3RhY2tfcHRyIC0gc3RhY2tfYmVnKQor
I2RlZmluZSBBREpVU1RfU1RBQ0tfR0NQUk8gIChnY3BybzEubnZhcnMgPSBzdGFja19wdHIgLSBz
dGFja19iZWcpCiAKIAogLyogVGhlIGFjdHVhbCBpbnRlcnByZXRlciBmb3IgYnl0ZSBjb2RlLgpA
QCAtNzk3LDIzICs3OTcsMTYgQEAKICAgICAgYWZ0ZXIgZXhpdCBmcm9tIHRoZSAoYnl0ZS1jb21w
aWxlZCkgdGVzdCEKIAogICAgICBOb3cgdGhlIGlkZWEgaXMgdG8gZHluYW1pY2FsbHkgYWRqdXN0
IHRoZSBhcnJheSBvZiBHQ1BST2VkIG9iamVjdHMgdG8KLSAgICAgaW5jbHVkZSBvbmx5IHRoZSAi
YWN0aXZlIiByZWdpb24gb2YgdGhlIHN0YWNrLgotCi0gICAgIFdlIHVzZSB0aGUgIkdDUFJPMSB0
aGUgYXJyYXkgYmFzZSBhbmQgc2V0IHRoZSBudmFycyBtZW1iZXIiIG1ldGhvZC4gIEl0Ci0gICAg
IHdvdWxkIGJlIHNsaWdodGx5IGluZWZmaWNpZW50IGJ1dCBjb3JyZWN0IHRvIHVzZSBHQ1BSTzFf
QVJSQVkgaGVyZS4gIEl0Ci0gICAgIHdvdWxkIGp1c3QgcmVkdW5kYW50bHkgc2V0IG52YXJzLgot
ICAgICAjIyMjIE1heWJlIGl0IHdvdWxkIGJlIGNsZWFyZXIgdG8gdXNlIEdDUFJPMV9BUlJBWSBh
bmQgZG8gR0NQUk9fU1RBQ0sKLSAgICAgYWZ0ZXIgdGhlIHN3aXRjaD8KLQotICAgICBHQ1BST19T
VEFDSyBpcyBzb21ldGhpbmcgb2YgYSBtaXNub21lciwgYmVjYXVzZSBpdCBzdWdnZXN0cyB0aGF0
IGEKLSAgICAgc3RydWN0IGdjcHJvIGlzIGluaXRpYWxpemVkIGVhY2ggdGltZS4gIFRoaXMgaXMg
ZmFsc2U7IG9ubHkgdGhlIG52YXJzCi0gICAgIG1lbWJlciBvZiBhIHNpbmdsZSBzdHJ1Y3QgZ2Nw
cm8gaXMgYmVpbmcgYWRqdXN0ZWQuICBUaGlzIHdvcmtzIGJlY2F1c2UKLSAgICAgZWFjaCB0aW1l
IGEgbmV3IG9iamVjdCBpcyBhc3NpZ25lZCB0byBhIHN0YWNrIGxvY2F0aW9uLCB0aGUgb2xkIG9i
amVjdAotICAgICBsb3NlcyBpdHMgcmVmZXJlbmNlIGFuZCBpcyBlZmZlY3RpdmVseSBVTkdDUFJP
ZWQsIGFuZCB0aGUgbmV3IG9iamVjdCBpcwotICAgICBhdXRvbWF0aWNhbGx5IEdDUFJPZWQgYXMg
bG9uZyBhcyBudmFycyBpcyBjb3JyZWN0LiAgT25seSB3aGVuIHdlCi0gICAgIHJldHVybiBmcm9t
IHRoZSBpbnRlcnByZXRlciBkbyB3ZSBuZWVkIHRvIGZpbmFsaXplIHRoZSBzdHJ1Y3QgZ2Nwcm8K
LSAgICAgaXRzZWxmLCBhbmQgdGhhdCdzIGRvbmUgYXQgY2FzZSBCcmV0dXJuLgotICAqLworICAg
ICBpbmNsdWRlIG9ubHkgdGhlICJhY3RpdmUiIHJlZ2lvbiBvZiB0aGUgc3RhY2ssIGluY2x1ZGlu
ZyB0aGUgYXJndW1lbnRzIG9mCisgICAgIGFueSBmdW5jdGlvbiB3ZSBjYWxsLiBXZSB1c2UgdGhl
ICJHQ1BSTzEgdGhlIGFycmF5IGJhc2UgYW5kIHNldCB0aGUgbnZhcnMKKyAgICAgbWVtYmVyIiBt
ZXRob2QuCisKKyAgICAgQURKVVNUX1NUQUNLX0dDUFJPIHVwZGF0ZXMgdGhlIG52YXJzIG1lbWJl
ciBvZiBnY3BybzEgdG8gcmVmbGVjdCB0aGUKKyAgICAgYWN0aXZlIHN0YWNrLiAgVGhpcyB3b3Jr
cyBiZWNhdXNlIGVhY2ggdGltZSBhIG5ldyBvYmplY3QgaXMgYXNzaWduZWQgdG8gYQorICAgICBz
dGFjayBsb2NhdGlvbiwgdGhlIG9sZCBvYmplY3QgbG9zZXMgaXRzIHJlZmVyZW5jZSBhbmQgaXMg
ZWZmZWN0aXZlbHkKKyAgICAgVU5HQ1BST2VkLCBhbmQgdGhlIG5ldyBvYmplY3QgaXMgYXV0b21h
dGljYWxseSBHQ1BST2VkIGFzIGxvbmcgYXMgbnZhcnMKKyAgICAgaXMgY29ycmVjdC4gIE9ubHkg
d2hlbiB3ZSByZXR1cm4gZnJvbSB0aGUgaW50ZXJwcmV0ZXIgZG8gd2UgbmVlZCB0bworICAgICBm
aW5hbGl6ZSB0aGUgc3RydWN0IGdjcHJvIGl0c2VsZiwgYW5kIHRoYXQncyBkb25lIGF0IGNhc2Ug
QnJldHVybi4gKi8KIAogICAvKiBTZWUgY29tbWVudCBhYm92ZSBleHBsYWluaW5nIHRoZSBgWzFd
JyAqLwogICBHQ1BSTzEgKHN0YWNrX3B0clsxXSk7CkBAIC04MjYsNyArODE5LDcgQEAKICAgICAg
IHJlbWVtYmVyX29wZXJhdGlvbiAob3Bjb2RlKTsKICNlbmRpZgogCi0gICAgICBHQ1BST19TVEFD
SzsJCS8qIEdldCBudmFycyByaWdodCBiZWZvcmUgbWF5YmUgc2lnbmFsaW5nLiAqLworICAgICAg
QURKVVNUX1NUQUNLX0dDUFJPOyAgICAgICAvKiBHZXQgbnZhcnMgcmlnaHQgYmVmb3JlIG1heWJl
IHNpZ25hbGluZy4gKi8KICAgICAgIC8qICMjIyMgTk9URTogVGhpcyBjb2RlIHNob3VsZCBwcm9i
YWJseSBuZXZlciBnZXQgdHJpZ2dlcmVkLCBzaW5jZSB3ZQogCSBub3cgY2F0Y2ggdGhlIHByb2Js
ZW1zIGVhcmxpZXIsIGZhcnRoZXIgZG93biwgYmVmb3JlIHdlIGV2ZXIgc2V0CiAJIGEgYmFkIHZh
bHVlIGZvciBTVEFDS19QVFIuICovCkBAIC04NTIsOCArODQ1LDYgQEAKIAkgICAgUFVTSCAoY29u
c3RhbnRzX2RhdGFbb3Bjb2RlIC0gQmNvbnN0YW50XSk7CiAJICBlbHNlCiAJICAgIHsKLQkgICAg
ICAvKiBXZSdyZSBub3Qgc3VyZSB3aGF0IHRoZXNlIGRvLCBzbyBiZXR0ZXIgc2FmZSB0aGFuIHNv
cnJ5LiAqLwotCSAgICAgIC8qIEdDUFJPX1NUQUNLOyAqLwogCSAgICAgIHN0YWNrX3B0ciA9IGV4
ZWN1dGVfcmFyZV9vcGNvZGUgKHN0YWNrX3B0ciwKICNpZmRlZiBFUlJPUl9DSEVDS19CWVRFX0NP
REUKIAkJCQkJICAgICAgIHN0YWNrX2JlZywKQEAgLTg3Nyw4ICs4NjgsNiBAQAogCSAgTGlzcF9P
YmplY3Qgc3ltYm9sID0gY29uc3RhbnRzX2RhdGFbbl07CiAJICBMaXNwX09iamVjdCB2YWx1ZSA9
IFhTWU1CT0wgKHN5bWJvbCktPnZhbHVlOwogCSAgaWYgKFNZTUJPTF9WQUxVRV9NQUdJQ19QICh2
YWx1ZSkpCi0JICAgIC8qIEkgR0NQUk9fU1RBQ0tlZCBGc3ltYm9sX3ZhbHVlIGVsc2V3aGVyZSwg
YnV0IEkgZHVubm8gd2h5LiAqLwotCSAgICAvKiBHQ1BST19TVEFDSzsgKi8KIAkgICAgdmFsdWUg
PSBGc3ltYm9sX3ZhbHVlIChzeW1ib2wpOwogCSAgUFVTSCAodmFsdWUpOwogCSAgYnJlYWs7CkBA
IC05MDEsOCArODkwLDYgQEAKIAkgIGlmICghU1lNQk9MX1ZBTFVFX01BR0lDX1AgKG9sZF92YWx1
ZSkgfHwgVU5CT1VORFAgKG9sZF92YWx1ZSkpCiAJICAgIHN5bWJvbF9wdHItPnZhbHVlID0gbmV3
X3ZhbHVlOwogCSAgZWxzZSB7Ci0JICAgIC8qIEZzZXQgbWF5IGNhbGwgbWFnaWMgaGFuZGxlcnMg
Ki8KLQkgICAgLyogR0NQUk9fU1RBQ0s7ICovCiAJICAgIEZzZXQgKHN5bWJvbCwgbmV3X3ZhbHVl
KTsKIAkgIH0KIAkgICAgCkBAIC05MzksOCArOTI2LDYgQEAKIAkgICAgfQogCSAgZWxzZQogCSAg
ICB7Ci0JICAgICAgLyogZG9lcyBhbiBGc2V0LCBtYXkgY2FsbCBtYWdpYyBoYW5kbGVycyAqLwot
CSAgICAgIC8qIEdDUFJPX1NUQUNLOyAqLwogCSAgICAgIHNwZWNiaW5kX21hZ2ljIChzeW1ib2ws
IG5ld192YWx1ZSk7CiAJICAgIH0KIAkgIGJyZWFrOwpAQCAtOTU2LDkgKzk0MSw2IEBACiAJY2Fz
ZSBCY2FsbCs3OgogCSAgbiA9IChvcGNvZGUgPCAgQmNhbGwrNiA/IG9wY29kZSAtIEJjYWxsIDoK
IAkgICAgICAgb3Bjb2RlID09IEJjYWxsKzYgPyBSRUFEX1VJTlRfMSA6IFJFQURfVUlOVF8yKTsK
LQkgIC8qICMjIyMgU2hvdWxkbid0IHRoaXMgYmUganVzdCBiZWZvcmUgdGhlIEZmdW5jYWxsPwot
CSAgICAgTmVpdGhlciBGZ2V0IG5vciBGcHV0IGNhbiBHQy4gKi8KLQkgIC8qIEdDUFJPX1NUQUNL
OyAqLwogCSAgRElTQ0FSRCAobik7CiAjaWZkZWYgQllURV9DT0RFX01FVEVSCiAJICBpZiAoYnl0
ZV9tZXRlcmluZ19vbiAmJiBTWU1CT0xQIChUT1ApKQpAQCAtMTA5MSw4ICsxMDczLDYgQEAKIAog
CWNhc2UgQmNhcjoKICAgICAgICAgICB7Ci0gICAgICAgICAgICAvKiBGY2FyIGNhbiBHQyB2aWEg
d3JvbmdfdHlwZV9hcmd1bWVudC4gKi8KLSAgICAgICAgICAgIC8qIEdDUFJPX1NUQUNLOyAqLwog
ICAgICAgICAgICAgTGlzcF9PYmplY3QgYXJnID0gVE9QOwogICAgICAgICAgICAgVE9QX0xWQUxV
RSA9IENPTlNQIChhcmcpID8gWENBUiAoYXJnKSA6IEZjYXIgKGFyZyk7CiAgICAgICAgICAgICBi
cmVhazsKQEAgLTExMDAsOCArMTA4MCw2IEBACiAKIAljYXNlIEJjZHI6CiAgICAgICAgICAgewot
ICAgICAgICAgICAgLyogRmNkciBjYW4gR0MgdmlhIHdyb25nX3R5cGVfYXJndW1lbnQuICovCi0g
ICAgICAgICAgICAvKiBHQ1BST19TVEFDSzsgKi8KICAgICAgICAgICAgIExpc3BfT2JqZWN0IGFy
ZyA9IFRPUDsKICAgICAgICAgICAgIFRPUF9MVkFMVUUgPSBDT05TUCAoYXJnKSA/IFhDRFIgKGFy
ZykgOiBGY2RyIChhcmcpOwogICAgICAgICAgICAgYnJlYWs7CkBAIC0xMTE2LDggKzEwOTQsNiBA
QAogCWNhc2UgQm50aDoKIAkgIHsKIAkgICAgTGlzcF9PYmplY3QgYXJnID0gUE9QOwotCSAgICAv
KiBGY2FyIGFuZCBGbnRoY2RyIGNhbiBHQyB2aWEgd3JvbmdfdHlwZV9hcmd1bWVudC4gKi8KLQkg
ICAgLyogR0NQUk9fU1RBQ0s7ICovCiAJICAgIFRPUF9MVkFMVUUgPSBGY2FyIChGbnRoY2RyIChU
T1AsIGFyZykpOwogCSAgICBicmVhazsKIAkgIH0KQEAgLTEyMDgsOCArMTE4NCw2IEBACiAJICBu
ID0gUkVBRF9VSU5UXzE7CiAJZG9fY29uY2F0OgogCSAgRElTQ0FSRCAobiAtIDEpOwotCSAgLyog
QXBwYXJlbnRseSBgY29uY2F0JyBjYW4gR0M7IEZjb25jYXQgR0NQUk9zIGl0cyBhcmd1bWVudHMu
ICovCi0JICAvKiBHQ1BST19TVEFDSzsgKi8KICAgICAgICAgICBUT1BfTFZBTFVFID0gVE9QOyAv
KiBJZ25vcmUgbXVsdGlwbGUgdmFsdWVzLiAqLwogCSAgVE9QX0xWQUxVRSA9IEZjb25jYXQgKG4s
IFRPUF9BRERSRVNTKTsKIAkgIGJyZWFrOwpAQCAtMTIyOCw4ICsxMjAyLDYgQEAKIAkgIH0KIAog
CWNhc2UgQnN5bWJvbF92YWx1ZToKLQkgIC8qIFdoeSBkb2VzIHRoaXMgbmVlZCBHQ1BST19TVEFD
Sz8gIElmIG5vdCwgcmVtb3ZlIG90aGVycywgdG9vLiAqLwotCSAgLyogR0NQUk9fU1RBQ0s7ICov
CiAJICBUT1BfTFZBTFVFID0gRnN5bWJvbF92YWx1ZSAoVE9QKTsKIAkgIGJyZWFrOwogCkBAIC0x
MzA3LDggKzEyNzksNiBAQAogCiAJY2FzZSBCbmNvbmM6CiAJICBESVNDQVJEICgxKTsKLQkgIC8q
IG5jb25jMiBHQ1BST3MgYmVmb3JlIGNhbGxpbmcgdGhpcy4gKi8KLQkgIC8qIEdDUFJPX1NUQUNL
OyAqLwogICAgICAgICAgIFRPUF9MVkFMVUUgPSBUT1A7IC8qIElnbm9yZSBtdWx0aXBsZSB2YWx1
ZXMuICovCiAJICBUT1BfTFZBTFVFID0gYnl0ZWNvZGVfbmNvbmMyIChUT1BfQUREUkVTUyk7CiAJ
ICBicmVhazsKQEAgLTEzNTYsOCArMTMyNiw2IEBACiAJICBicmVhazsKIAogCWNhc2UgQmluc2Vy
dDoKLQkgIC8qIFNheXMgaXQgY2FuIEdDLiAqLwotCSAgLyogR0NQUk9fU1RBQ0s7ICovCiAgICAg
ICAgICAgVE9QX0xWQUxVRSA9IFRPUDsgLyogSWdub3JlIG11bHRpcGxlIHZhbHVlcy4gKi8KIAkg
IFRPUF9MVkFMVUUgPSBGaW5zZXJ0ICgxLCBUT1BfQUREUkVTUyk7CiAJICBicmVhazsKQEAgLTEz
NjUsOCArMTMzMyw2IEBACiAJY2FzZSBCaW5zZXJ0TjoKIAkgIG4gPSBSRUFEX1VJTlRfMTsKIAkg
IERJU0NBUkQgKG4gLSAxKTsKLQkgIC8qIFNlZSBCaW5zZXJ0LiAqLwotCSAgLyogR0NQUk9fU1RB
Q0s7ICovCiAgICAgICAgICAgVE9QX0xWQUxVRSA9IFRPUDsgLyogSWdub3JlIG11bHRpcGxlIHZh
bHVlcy4gKi8KIAkgIFRPUF9MVkFMVUUgPSBGaW5zZXJ0IChuLCBUT1BfQUREUkVTUyk7CiAJICBi
cmVhazsKQEAgLTEzODgsOCArMTM1NCw2IEBACiAJY2FzZSBCc2V0OgogCSAgewogCSAgICBMaXNw
X09iamVjdCBhcmcgPSBQT1A7Ci0JICAgIC8qIEZzZXQgbWF5IGNhbGwgbWFnaWMgaGFuZGxlcnMg
Ki8KLQkgICAgLyogR0NQUk9fU1RBQ0s7ICovCiAJICAgIFRPUF9MVkFMVUUgPSBGc2V0IChUT1As
IGFyZyk7CiAJICAgIGJyZWFrOwogCSAgfQpAQCAtMTM5Nyw4ICsxMzYxLDYgQEAKIAljYXNlIEJl
cXVhbDoKIAkgIHsKIAkgICAgTGlzcF9PYmplY3QgYXJnID0gUE9QOwotCSAgICAvKiBDYW4gUVVJ
VCwgc28gY2FuIEdDLCByaWdodD8gKi8KLQkgICAgLyogR0NQUk9fU1RBQ0s7ICovCiAJICAgIFRP
UF9MVkFMVUUgPSBGZXF1YWwgKFRPUCwgYXJnKTsKIAkgICAgYnJlYWs7CiAJICB9CkBAIC0xNDIw
LDggKzEzODIsNiBAQAogCWNhc2UgQm1lbWJlcjoKIAkgIHsKIAkgICAgTGlzcF9PYmplY3QgYXJn
ID0gUE9QOwotCSAgICAvKiBDYW4gUVVJVCwgc28gY2FuIEdDLCByaWdodD8gKi8KLQkgICAgLyog
R0NQUk9fU1RBQ0s7ICovCiAJICAgIFRPUF9MVkFMVUUgPSBGbWVtYmVyIChUT1AsIGFyZyk7CiAJ
ICAgIGJyZWFrOwogCSAgfQpAQCAtMTQzOSw5ICsxMzk5LDYgQEAKIAkgIH0KIAogCWNhc2UgQnNl
dF9idWZmZXI6Ci0JICAvKiAjIyMjIFdBRzogc2V0LWJ1ZmZlciBtYXkgY2F1c2UgRnNldCdzIG9m
IGJ1ZmZlciBsb2NhbHMKLQkgICAgIERpZG4ndCBwcmV2ZW50IGNyYXNoLiA6LSggKi8KLQkgIC8q
IEdDUFJPX1NUQUNLOyAqLwogCSAgVE9QX0xWQUxVRSA9IEZzZXRfYnVmZmVyIChUT1ApOwogCSAg
YnJlYWs7CiAKQEAgLTE0NTYsOCArMTQxMyw2IEBACiAJY2FzZSBCc2tpcF9jaGFyc19mb3J3YXJk
OgogCSAgewogCSAgICBMaXNwX09iamVjdCBhcmcgPSBQT1A7Ci0JICAgIC8qIENhbiBRVUlULCBz
byBjYW4gR0MsIHJpZ2h0PyAqLwotCSAgICAvKiBHQ1BST19TVEFDSzsgKi8KIAkgICAgVE9QX0xW
QUxVRSA9IEZza2lwX2NoYXJzX2ZvcndhcmQgKFRPUCwgYXJnLCBRbmlsKTsKIAkgICAgYnJlYWs7
CiAJICB9CgoKLS0gCuKAmFRyYW1hZG9sIGlzIGZ1cnRoZXIgZmVkIHRvIGNhdHRsZSBb4oCmXSB3
aGVuIHdvcmtpbmcgdGhlbSBb4oCmXSAoYXMgZHJhZnQKYW5pbWFscykgc28gdGhhdCB0aGUgYW5p
bWFscyBkbyBub3QgZ2V0IHRpcmVkIHF1aWNrbHkuIOKApuKAmQoJ4oCUIEFuZ2V3YW5kdGUgQ2hl
bWllLCBTZXB0IDIwMTQsIGRlc2NyaWJpbmcgdGhlIHNvY2lhbCBjb250ZXh0IG9mCgkoc3ludGhl
dGljKSB0cmFtYWRvbCBoYXZpbmcgYmVlbiBmb3VuZCBpbiBDYW1lcm9vbiB0cmVlIHJvb3RzLgoK
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWEVtYWNzLVBh
dGNoZXMgbWFpbGluZyBsaXN0ClhFbWFjcy1QYXRjaGVzQHhlbWFjcy5vcmcKaHR0cDovL2xpc3Rz
LnhlbWFjcy5vcmcvbWFpbG1hbi9saXN0aW5mby94ZW1hY3MtcGF0Y2hlcwo=