[Gc] GC patch for DJGPP

Doug Kaufman dkaufman@rahul.net
Sun, 19 Oct 2003 14:26:26 -0700 (PDT)


  This message is in MIME format.  The first part should be readable text,
  while the remaining parts are likely unreadable without MIME-aware tools.
  Send mail to mime@docserver.cac.washington.edu for more info.

---314434488-1258342287-1066598786=:11041
Content-Type: TEXT/PLAIN; charset=US-ASCII

The attached patch allows compilation of gc on DOS using DJGPP. The
patch is against version 6.3alpha2. This brings Makefile.dj into
synch with the current code, and makes some other modifications for
DJGPP. The original code crashed when running cordtest because of
dereferencing of a null pointer. I think the change in finalize.c
fixes this. The DJGPP version of fopen can't open a directory, hence
the code for opendir.

Note that Makefile.dj is not really needed any longer, since DJGPP
compiles fine with the autoconfigure method. Make check passes all the
tests. The modified Makefile.dj also seems to work and passes gctest and
cordtest.

Let me know if there are any questions about this. This was used to
compile a working version of w3m.
                         Doug

-- 
Doug Kaufman
Internet: dkaufman@rahul.net

---314434488-1258342287-1066598786=:11041
Content-Type: TEXT/PLAIN; charset=US-ASCII; name="gc.pch"
Content-Transfer-Encoding: BASE64
Content-ID: <Pine.LNX.4.44.0310191426260.11041@violet.rahul.net>
Content-Description: 
Content-Disposition: attachment; filename="gc.pch"

LS0tIE1ha2VmaWxlLmRqLm9yaWcJMjAwMy0wNS0yOSAwNzo1MDowOC4wMDAw
MDAwMDAgLTA4MDANCisrKyAuL01ha2VmaWxlLmRqCTIwMDMtMTAtMTcgMjA6
NDE6MjYuMDAwMDAwMDAwIC0wODAwDQpAQCAtMjksNyArMjksNyBAQA0KIHNy
Y2Rpcj0gLg0KIFZQQVRIPSAkKHNyY2RpcikNCiANCi1DRkxBR1M9IC1PIC1J
JChzcmNkaXIpL2luY2x1ZGUgLURBVE9NSUNfVU5DT0xMRUNUQUJMRSAtRE5P
X1NJR05BTFMgLURBTExfSU5URVJJT1JfUE9JTlRFUlMgLUROT19FWEVDVVRF
X1BFUk1JU1NJT04gLURTSUxFTlQNCitDRkxBR1M9IC1nc3RhYnMrIC1PMiAt
SSQoc3JjZGlyKS9pbmNsdWRlIC1EQVRPTUlDX1VOQ09MTEVDVEFCTEUgLURO
T19TSUdOQUxTIC1EQUxMX0lOVEVSSU9SX1BPSU5URVJTIC1ETk9fRVhFQ1VU
RV9QRVJNSVNTSU9OIC1EU0lMRU5UDQogDQogIyBTZXRqbXBfdGVzdCBtYXkg
eWllbGQgb3Zlcmx5IG9wdGltaXN0aWMgcmVzdWx0cyB3aGVuIGNvbXBpbGVk
DQogIyB3aXRob3V0IG9wdGltaXphdGlvbi4NCkBAIC0xNTcsOSArMTU3LDkg
QEANCiBSQU5MSUI9IHJhbmxpYg0KIA0KIA0KLU9CSlM9IGFsbG9jLm8gcmVj
bGFpbS5vIGFsbGNoYmxrLm8gbWlzYy5vIG1hY2hfZGVwLm8gb3NfZGVwLm8g
bWFya19ydHMubyBoZWFkZXJzLm8gbWFyay5vIG9ial9tYXAubyBibGFja2xz
dC5vIGZpbmFsaXplLm8gbmV3X2hibGsubyBkYmdfbWxjLm8gbWFsbG9jLm8g
c3R1YmJvcm4ubyBjaGVja3N1bXMubyBzb2xhcmlzX3RocmVhZHMubyBocHV4
X2lyaXhfdGhyZWFkcy5vIGxpbnV4X3RocmVhZHMubyB0eXBkX21sYy5vIHB0
cl9jaGNrLm8gbWFsbG9jeC5vIHNvbGFyaXNfcHRocmVhZHMubyBnY2pfbWxj
Lm8gc3BlY2lmaWMubw0KK09CSlM9IGFsbG9jLm8gcmVjbGFpbS5vIGFsbGNo
YmxrLm8gbWlzYy5vIG1hY2hfZGVwLm8gb3NfZGVwLm8gbWFya19ydHMubyBo
ZWFkZXJzLm8gbWFyay5vIG9ial9tYXAubyBibGFja2xzdC5vIGZpbmFsaXpl
Lm8gbmV3X2hibGsubyBkYmdfbWxjLm8gbWFsbG9jLm8gc3R1YmJvcm4ubyBj
aGVja3N1bXMubyBzb2xhcmlzX3RocmVhZHMubyB0eXBkX21sYy5vIHB0cl9j
aGNrLm8gbWFsbG9jeC5vIHNvbGFyaXNfcHRocmVhZHMubyBnY2pfbWxjLm8g
c3BlY2lmaWMubw0KIA0KLUNTUkNTPSByZWNsYWltLmMgYWxsY2hibGsuYyBt
aXNjLmMgYWxsb2MuYyBtYWNoX2RlcC5jIG9zX2RlcC5jIG1hcmtfcnRzLmMg
aGVhZGVycy5jIG1hcmsuYyBvYmpfbWFwLmMgcGNyX2ludGVyZmFjZS5jIGJs
YWNrbHN0LmMgZmluYWxpemUuYyBuZXdfaGJsay5jIHJlYWxfbWFsbG9jLmMg
ZHluX2xvYWQuYyBkYmdfbWxjLmMgbWFsbG9jLmMgc3R1YmJvcm4uYyBjaGVj
a3N1bXMuYyBzb2xhcmlzX3RocmVhZHMuYyBocHV4X2lyaXhfdGhyZWFkcy5j
IGxpbnV4X3RocmVhZHMuYyB0eXBkX21sYy5jIHB0cl9jaGNrLmMgbWFsbG9j
eC5jIHNvbGFyaXNfcHRocmVhZHMuYyBnY2pfbWxjLmMgc3BlY2lmaWMuYw0K
K0NTUkNTPSByZWNsYWltLmMgYWxsY2hibGsuYyBtaXNjLmMgYWxsb2MuYyBt
YWNoX2RlcC5jIG9zX2RlcC5jIG1hcmtfcnRzLmMgaGVhZGVycy5jIG1hcmsu
YyBvYmpfbWFwLmMgcGNyX2ludGVyZmFjZS5jIGJsYWNrbHN0LmMgZmluYWxp
emUuYyBuZXdfaGJsay5jIHJlYWxfbWFsbG9jLmMgZHluX2xvYWQuYyBkYmdf
bWxjLmMgbWFsbG9jLmMgc3R1YmJvcm4uYyBjaGVja3N1bXMuYyBzb2xhcmlz
X3RocmVhZHMuYyB0eXBkX21sYy5jIHB0cl9jaGNrLmMgbWFsbG9jeC5jIHNv
bGFyaXNfcHRocmVhZHMuYyBnY2pfbWxjLmMgc3BlY2lmaWMuYw0KIA0KIENP
UkRfU1JDUz0gIGNvcmQvY29yZGJzY3MuYyBjb3JkL2NvcmR4dHJhLmMgY29y
ZC9jb3JkcHJudC5jIGNvcmQvZGUuYyBjb3JkL2NvcmR0ZXN0LmMgaW5jbHVk
ZS9jb3JkLmggaW5jbHVkZS9lYy5oIGluY2x1ZGUvcHJpdmF0ZS9jb3JkX3Bv
cy5oIGNvcmQvZGVfd2luLmMgY29yZC9kZV93aW4uaCBjb3JkL2RlX2NtZHMu
aCBjb3JkL2RlX3dpbi5JQ08gY29yZC9kZV93aW4uUkMgY29yZC9TQ09QVElP
TlMuYW1pZ2EgY29yZC9TTWFrZWZpbGUuYW1pZ2ENCiANCkBAIC0xODEsNyAr
MTgxLDcgQEANCiAgICAgaW5jbHVkZS9sZWFrX2RldGVjdG9yLmggJChDT1JE
X1NSQ1MpDQogDQogT1RIRVJfRklMRVM9IE1ha2VmaWxlIFBDUi1NYWtlZmls
ZSBPUzJfTUFLRUZJTEUgTlRfTUFLRUZJTEUgQkNDX01BS0VGSUxFIFwNCi0g
ICAgICAgICAgIFJFQURNRSB0ZXN0LmMgdGVzdF9jcHAuY2Mgc2V0am1wX3Qu
YyBTTWFrZWZpbGUuYW1pZ2EgXA0KKyAgICAgICAgICAgUkVBRE1FIHRlc3Rz
L3Rlc3QuYyB0ZXN0X2NwcC5jYyBzZXRqbXBfdC5jIFNNYWtlZmlsZS5hbWln
YSBcDQogICAgICAgICAgICBTQ29wdGlvbnMuYW1pZ2EgUkVBRE1FLmFtaWdh
IFJFQURNRS53aW4zMiBjb3JkL1JFQURNRSBcDQogCSAgIFJFQURNRS5yczYw
MDAgUkVBRE1FLlFVSUNLIGNhbGxwcm9jcyBwY19leGNsdWRlcyBcDQogICAg
ICAgICAgICBiYXJyZXR0X2RpYWdyYW0gUkVBRE1FLk9TMiBSRUFETUUuTWFj
IE1hY1Byb2plY3RzLnNpdC5ocXggXA0KQEAgLTIyNCw3ICsyMjQsNyBAQA0K
ICMgb3B0aW9ucyBzdWNoIGFzIC1EU0lMRU5UIGFmZmVjdHMgdGhlIHNpemUg
b2YgR0NfYXJyYXlzLA0KICMgaW52YWxpZGF0aW5nIGFsbCAubyBmaWxlcyB0
aGF0IHJlbHkgb24gZ2NfcHJpdi5oDQogDQotbWFyay5vIHR5cGRfbWxjLm8g
ZmluYWxpemUubzogJChzcmNkaXIpL2djX21hcmsuaA0KK21hcmsubyB0eXBk
X21sYy5vIGZpbmFsaXplLm86ICQoc3JjZGlyKS9pbmNsdWRlL2djX21hcmsu
aA0KIA0KIGJhc2VfbGliIGdjLmE6ICQoT0JKUykgZHluX2xvYWQubyAkKFVU
SUxTKQ0KIAllY2hvID4gYmFzZV9saWINCkBAIC0zNjYsMTEgKzM2NiwxMSBA
QA0KIAlybSAtZiB0aHJlYWRsaWJzJChFWEVfU1VGRklYKSBjb3JkL2NvcmR0
ZXN0JChFWEVfU1VGRklYKQ0KIAktcm0gLWYgKn4NCiANCi1nY3Rlc3QkKEVY
RV9TVUZGSVgpOiB0ZXN0Lm8gZ2MuYSBpZl9tYWNoJChFWEVfU1VGRklYKSBp
Zl9ub3RfdGhlcmUkKEVYRV9TVUZGSVgpDQorZ2N0ZXN0JChFWEVfU1VGRklY
KTogdGVzdHMvdGVzdC5vIGdjLmEgaWZfbWFjaCQoRVhFX1NVRkZJWCkgaWZf
bm90X3RoZXJlJChFWEVfU1VGRklYKQ0KIAlybSAtZiBnY3Rlc3QgZ2N0ZXN0
JChFWEVfU1VGRklYKQ0KLQkuL2lmX21hY2ggU1BBUkMgRFJTTlggJChDQykg
JChDRkxBR1MpIC1vIGdjdGVzdCAgdGVzdC5vIGdjLmEgLWx1Y2INCi0JLi9p
Zl9tYWNoIEhQX1BBICIiICQoQ0MpICQoQ0ZMQUdTKSAtbyBnY3Rlc3QgIHRl
c3QubyBnYy5hIC1sZGxkDQotCS4vaWZfbm90X3RoZXJlIGdjdGVzdCQoRVhF
X1NVRkZJWCkgJChDQykgJChDRkxBR1MpIC1vIGdjdGVzdCQoRVhFX1NVRkZJ
WCkgdGVzdC5vIGdjLmENCisJLi9pZl9tYWNoIFNQQVJDIERSU05YICQoQ0Mp
ICQoQ0ZMQUdTKSAtbyBnY3Rlc3QgIHRlc3RzL3Rlc3QubyBnYy5hIC1sdWNi
DQorCS4vaWZfbWFjaCBIUF9QQSAiIiAkKENDKSAkKENGTEFHUykgLW8gZ2N0
ZXN0ICB0ZXN0cy90ZXN0Lm8gZ2MuYSAtbGRsZA0KKwkuL2lmX25vdF90aGVy
ZSBnY3Rlc3QkKEVYRV9TVUZGSVgpICQoQ0MpICQoQ0ZMQUdTKSAtbyBnY3Rl
c3QkKEVYRV9TVUZGSVgpIHRlc3RzL3Rlc3QubyBnYy5hDQogCXJtIC1mIGdj
dGVzdA0KIA0KICMgSWYgYW4gb3B0aW1pemVkIHNldGptcF90ZXN0IGdlbmVy
YXRlcyBhIHNlZ21lbnRhdGlvbiBmYXVsdCwNCkBAIC00MDcsOCArNDA3LDgg
QEANCiBnYy50YXIuZ3o6IGdjLnRhcg0KIAlnemlwIGdjLnRhcg0KIA0KLWxp
bnQ6ICQoQ1NSQ1MpIHRlc3QuYw0KLQlsaW50IC1ETElOVCAkKENTUkNTKSB0
ZXN0LmMgfCBlZ3JlcCAtdiAicG9zc2libGUgcG9pbnRlciBhbGlnbm1lbnQg
cHJvYmxlbXxhYm9ydHxleGl0fHNicmt8bXByb3RlY3R8c3lzY2FsbCINCits
aW50OiAkKENTUkNTKSB0ZXN0cy90ZXN0LmMNCisJbGludCAtRExJTlQgJChD
U1JDUykgdGVzdHMvdGVzdC5jIHwgZWdyZXAgLXYgInBvc3NpYmxlIHBvaW50
ZXIgYWxpZ25tZW50IHByb2JsZW18YWJvcnR8ZXhpdHxzYnJrfG1wcm90ZWN0
fHN5c2NhbGwiDQogDQogIyBCVEw6IGFkZGVkIHRvIHRlc3Qgc2hhcmVkIGxp
YnJhcnkgdmVyc2lvbiBvZiBjb2xsZWN0b3IuDQogIyBDdXJyZW50bHkgd29y
a3Mgb25seSB1bmRlciBTdW5PUzUuICBSZXF1aXJlcyBHQ19JTklUIGNhbGwg
ZnJvbSBzdGF0aWNhbGx5DQpAQCAtNDE3LDggKzQxNyw4IEBADQogZ2N0ZXN0
X2R5bl9saW5rOiB0ZXN0Lm8gbGliZ2Muc28NCiAJJChDQykgLUwkKEFCU0RJ
UikgLVIkKEFCU0RJUikgLW8gZ2N0ZXN0X2R5bl9saW5rIHRlc3QubyAtbGdj
IC1sZGwgLWx0aHJlYWQNCiANCi10ZXN0X2RsbC5vOiB0ZXN0LmMgbGliZ2Nf
Z2xvYmFscy5oDQotCSQoQ0MpICQoQ0ZMQUdTKSAtREdDX1VTRV9ETEwgLWMg
dGVzdC5jIC1vIHRlc3RfZGxsLm8NCit0ZXN0X2RsbC5vOiB0ZXN0cy90ZXN0
LmMgbGliZ2NfZ2xvYmFscy5oDQorCSQoQ0MpICQoQ0ZMQUdTKSAtREdDX1VT
RV9ETEwgLWMgdGVzdHMvdGVzdC5jIC1vIHRlc3RfZGxsLm8NCiANCiB0ZXN0
X2RsbDogdGVzdF9kbGwubyBsaWJnY19kbGwuYSBsaWJnYy5kbGwNCiAJJChD
QykgdGVzdF9kbGwubyAtTCQoQUJTRElSKSAtbGdjX2RsbCAtbyB0ZXN0X2Rs
bA0KLS0tIE1ha2VmaWxlLmluLm9yaQkyMDAzLTA2LTIxIDE0OjQ3OjAwLjAw
MDAwMDAwMCAtMDgwMA0KKysrIE1ha2VmaWxlLmluCTIwMDMtMTAtMTkgMTE6
MjA6MjQuMDAwMDAwMDAwIC0wODAwDQpAQCAtMjA4LDcgKzIwOCw3IEBADQog
QENQTFVTUExVU19UUlVFQGV4dHJhX2NoZWNrcyA9IHRlc3RfY3BwDQogQENQ
TFVTUExVU19GQUxTRUBleHRyYV9jaGVja3MgPSANCiANCi1jaGVja19QUk9H
UkFNUyA9IGdjdGVzdCAkKGV4dHJhX2NoZWNrcykNCitjaGVja19QUk9HUkFN
UyA9IGdjdGVzdCQoRVhFRVhUKSAkKGV4dHJhX2NoZWNrcykNCiANCiAjIGdj
dGVzdF9PQkpFQ1RTID0gdGVzdC5vDQogZ2N0ZXN0X1NPVVJDRVMgPSB0ZXN0
cy90ZXN0LmMNCkBAIC0yMTYsNyArMjE2LDcgQEANCiB0ZXN0X2NwcF9TT1VS
Q0VTID0gdGVzdHMvdGVzdF9jcHAuY2MNCiB0ZXN0X2NwcF9MREFERCA9IC4v
bGliZ2MubGEgLi9saWJnY2NwcC5sYSAkKFRIUkVBRExJQlMpICQoRVhUUkFf
VEVTVF9MSUJTKQ0KIA0KLVRFU1RTID0gZ2N0ZXN0ICQoZXh0cmFfY2hlY2tz
KQ0KK1RFU1RTID0gZ2N0ZXN0JChFWEVFWFQpICQoZXh0cmFfY2hlY2tzKQ0K
IA0KIGFsbF9vYmpzID0gQGFkZG9ianNAICQobGliZ2NfbGFfT0JKRUNUUykN
CiANCi0tLSBmaW5hbGl6ZS5jLm9yaWcJMjAwMy0wMy0zMSAxNTowOToxOC4w
MDAwMDAwMDAgLTA4MDANCisrKyAuL2ZpbmFsaXplLmMJMjAwMy0xMC0xNyAy
MDo0MToyNi4wMDAwMDAwMDAgLTA4MDANCkBAIC03ODQsNiArNzg0LDcgQEAN
CiAJICAgIEdDX2ZpbmFsaXplX25vdyA9IGZvX25leHQoY3Vycl9mbyk7DQog
IwllbmRpZg0KICAJZm9fc2V0X25leHQoY3Vycl9mbywgMCk7DQorCWlmIChj
dXJyX2ZvIC0+IGZvX2NsaWVudF9kYXRhICE9IDApDQogICAgIAkoKihjdXJy
X2ZvIC0+IGZvX2ZuKSkoKHB0cl90KShjdXJyX2ZvIC0+IGZvX2hpZGRlbl9i
YXNlKSwNCiAgICAgCQkJICAgICAgY3Vycl9mbyAtPiBmb19jbGllbnRfZGF0
YSk7DQogICAgIAljdXJyX2ZvIC0+IGZvX2NsaWVudF9kYXRhID0gMDsNCi0t
LSBpZl9ub3RfdGhlcmUuYy5vcmlnCTIwMDEtMDMtMDUgMTE6MDk6MjYuMDAw
MDAwMDAwIC0wODAwDQorKysgLi9pZl9ub3RfdGhlcmUuYwkyMDAzLTEwLTE3
IDIwOjQxOjI2LjAwMDAwMDAwMCAtMDgwMA0KQEAgLTQsNiArNCw5IEBADQog
IyBpbmNsdWRlIDxzdGRpby5oPg0KICMgaW5jbHVkZSA8c3RkbGliLmg+DQog
IyBpbmNsdWRlIDx1bmlzdGQuaD4NCisjaWZkZWYgX19ESkdQUF9fDQorI2lu
Y2x1ZGUgPGRpcmVudC5oPg0KKyNlbmRpZiAvKiBfX0RKR1BQX18gKi8NCiAN
CiBpbnQgbWFpbihhcmdjLCBhcmd2LCBlbnZwKQ0KIGludCBhcmdjOw0KQEAg
LTExLDEyICsxNCwyMSBAQA0KIGNoYXIgKiogZW52cDsNCiB7DQogICAgIEZJ
TEUgKiBmOw0KKyNpZmRlZiBfX0RKR1BQX18NCisgICAgRElSICogZDsNCisj
ZW5kaWYgLyogX19ESkdQUF9fICovDQogICAgIGlmIChhcmdjIDwgMykgZ290
byBVc2FnZTsNCiAgICAgaWYgKChmID0gZm9wZW4oYXJndlsxXSwgInJiIikp
ICE9IDANCiAgICAgICAgIHx8IChmID0gZm9wZW4oYXJndlsxXSwgInIiKSkg
IT0gMCkgew0KICAgICAgICAgZmNsb3NlKGYpOw0KICAgICAgICAgcmV0dXJu
KDApOw0KICAgICB9DQorI2lmZGVmIF9fREpHUFBfXw0KKyAgICBpZiAoKGQg
PSBvcGVuZGlyKGFyZ3ZbMV0pKSAhPSAwKSB7DQorCSAgICBjbG9zZWRpcihk
KTsNCisJICAgIHJldHVybigwKTsNCisgICAgfQ0KKyNlbmRpZg0KICAgICBw
cmludGYoIl5eXl5TdGFydGluZyBjb21tYW5kXl5eXlxuIik7DQogICAgIGZm
bHVzaChzdGRvdXQpOw0KICAgICBleGVjdnAoYXJndlsyXSwgYXJndisyKTsN
Ci0tLSBtYWNoX2RlcC5jLm9yaWcJMjAwMy0wOS0xNSAxNTo0MDo1MC4wMDAw
MDAwMDAgLTA4MDANCisrKyAuL21hY2hfZGVwLmMJMjAwMy0xMC0xNyAyMDo0
MToyNi4wMDAwMDAwMDAgLTA4MDANCkBAIC0xMiw3ICsxMiw3IEBADQogICog
bW9kaWZpZWQgaXMgaW5jbHVkZWQgd2l0aCB0aGUgYWJvdmUgY29weXJpZ2h0
IG5vdGljZS4NCiAgKi8NCiAvKiBCb2VobSwgTm92ZW1iZXIgMTcsIDE5OTUg
MTI6MTMgcG0gUFNUICovDQotIyBpbmNsdWRlICJwcml2YXRlL2djX3ByaXYu
aCINCisjIGluY2x1ZGUgImluY2x1ZGUvcHJpdmF0ZS9nY19wcml2LmgiDQog
IyBpbmNsdWRlIDxzdGRpby5oPg0KICMgaW5jbHVkZSA8c2V0am1wLmg+DQog
IyBpZiBkZWZpbmVkKE9TMikgfHwgZGVmaW5lZChDWF9VWCkNCi0tLSBjb3Jk
L2NvcmRwcm50LmMub3JpZwkyMDAyLTAzLTIyIDE5OjE2OjUyLjAwMDAwMDAw
MCAtMDgwMA0KKysrIGNvcmQvY29yZHBybnQuYwkyMDAzLTEwLTE3IDIwOjQx
OjI2LjAwMDAwMDAwMCAtMDgwMA0KQEAgLTI2MSw3ICsyNjEsNyBAQA0KICMJ
CSAgICBpZmRlZiBfX3ZhX2NvcHkNCiAgICAgICAgICAgICAgICAgICAgICAg
X192YV9jb3B5KHZzcHJpbnRmX2FyZ3MsIGFyZ3MpOw0KICMJCSAgICBlbHNl
DQotIwkJICAgICAgaWYgZGVmaW5lZChfX0dOVUNfXykgLyogYW5kIHByb2Jh
Ymx5IGluIG90aGVyIGNhc2VzICovDQorIwkJICAgICAgaWYgZGVmaW5lZChf
X0dOVUNfXykgJiYgIWRlZmluZWQoX19ESkdQUF9fKSAvKiBhbmQgcHJvYmFi
bHkgaW4gb3RoZXIgY2FzZXMgKi8NCiAgICAgICAgICAgICAgICAgICAgICAg
ICB2YV9jb3B5KHZzcHJpbnRmX2FyZ3MsIGFyZ3MpOw0KICMJCSAgICAgIGVs
c2UNCiAJCQl2c3ByaW50Zl9hcmdzID0gYXJnczsNCi0tLSBjb3JkL2NvcmR0
ZXN0LmMub3JpZwkyMDAwLTA4LTA3IDEyOjQ2OjM2LjAwMDAwMDAwMCAtMDgw
MA0KKysrIGNvcmQvY29yZHRlc3QuYwkyMDAzLTEwLTE3IDIwOjQxOjI2LjAw
MDAwMDAwMCAtMDgwMA0KQEAgLTExNiw3ICsxMTYsNyBAQA0KIA0KIHZvaWQg
dGVzdF9leHRyYXMoKQ0KIHsNCi0jICAgaWYgZGVmaW5lZChfX09TMl9fKQ0K
KyMgICBpZiBkZWZpbmVkKF9fT1MyX18pIHx8IGRlZmluZWQoX19ESkdQUF9f
KQ0KICMJZGVmaW5lIEZOQU1FMSAidG1wMSINCiAjCWRlZmluZSBGTkFNRTIg
InRtcDIiDQogIyAgIGVsaWYgZGVmaW5lZChBTUlHQSkNCg==
---314434488-1258342287-1066598786=:11041--