RE: [Refdb-users] RE: refdbc and php4
Status: Beta
Brought to you by:
mhoenicka
From: Markus H. <mar...@mh...> - 2003-02-15 22:57:18
|
QW5kIGhlcmUgZ29lcy4gSSd2ZSBjaGVja2VkIGluIGEgdmVyc2lvbiBvZiByZWZkYmMuYyB0aGF0 IGFwcGVhcnMgdG8NCndvcmsgdW5kZXIgdGhlIGZvbGxvd2luZyBjaXJjdW1zdGFuY2VzOg0KDQot IGludGVyYWN0aXZlbHkNCi0gYmF0Y2ggbW9kZSwgZG9uJ3Qgc2VuZCBkYXRhIHRvIHN0ZGluDQot IGJhdGNoIG1vZGUsIHNlbmQgZGF0YSB0byBzdGRpbg0KLSBidWlsdGluIENHSSBtb2RlDQotIGJh dGNoIG1vZGUgY2FsbGVkIGZyb20gQ0dJIHBlcmwgc2NyaXB0LCBkb24ndCBzZW5kIGRhdGEgdG8g c3RkaW4NCi0gYmF0Y2ggbW9kZSBjYWxsZWQgZnJvbSBDR0kgcGVybCBzY3JpcHQsIHNlbmQgZGF0 YSB0byBzdGRpbg0KDQpUaGlzIHdhcyB0ZXN0ZWQgd2l0aCBnZXRyZWYsIGJ1dCB0aGUgb3RoZXIg YWZmZWN0ZWQgY29tbWFuZHMgc2hvdWxkDQp3b3JrIGFzIHdlbGwuIA0KDQpQbGVhc2UgdXNlIHRo ZSBDVlMgdmVyc2lvbiAxLjQ3IGZvciB0ZXN0aW5nIHB1cnBvc2VzLCBvciBhcHBseSB0aGUNCmFw cGVuZGVkIHBhdGNoIHRvIHRoZSB2ZXJzaW9uIG9mIHJlZmRiYy5jIHNoaXBwZWQgd2l0aCAwLjku MS4NCg0KcmVnYXJkcywNCk1hcmt1cw0KDQpNYXJrdXMgSG9lbmlja2Egd3JpdGVzOg0KID4gSSdk IGxpa2UgdG8gZml4IHRoaXMgcHJvYmxlbSB3aGlsZSBJJ20gYXQgaXQuIEl0IHdvbid0IHRha2Ug bG9uZyB1bnRpbA0KID4gc29tZW9uZSBlbHNlIG5lZWRzIHRoaXMgZmVhdHVyZS4NCiA+IA0KDQo9 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09DQpSQ1MgZmlsZTogL2N2c3Jvb3QvcmVmZGIvcmVmZGIvc3JjL3JlZmRiYy5jLHYN CnJldHJpZXZpbmcgcmV2aXNpb24gMS40NA0KcmV0cmlldmluZyByZXZpc2lvbiAxLjQ3DQpkaWZm IC11IC1yMS40NCAtcjEuNDcNCi0tLSByZWZkYi9yZWZkYi9zcmMvcmVmZGJjLmMJMjAwMy8wMS8w NiAwMTowNzoxMQkxLjQ0DQorKysgcmVmZGIvcmVmZGIvc3JjL3JlZmRiYy5jCTIwMDMvMDIvMTUg MjI6MzQ6NTYJMS40Nw0KQEAgLTEsNyArMSw3IEBADQogLyorKysrKysrKysrKysrKysrKw0KICAg cmVmZGJjIC0gdGhlIHJlZmRiIGNsaWVudCBjb25zb2xlIGFwcGxpY2F0aW9uDQogICBtYXJrdXNA bWhvZW5pY2thLmRlIDItMTAtMDANCi0gICRJZDogcmVmZGJjLmMsdiAxLjQ0IDIwMDMvMDEvMDYg MDE6MDc6MTEgbWhvZW5pY2thIEV4cCAkDQorICAkSWQ6IHJlZmRiYy5jLHYgMS40NyAyMDAzLzAy LzE1IDIyOjM0OjU2IG1ob2VuaWNrYSBFeHAgJA0KIA0KICAgIFRoaXMgcHJvZ3JhbSBpcyBmcmVl IHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5DQogICAgaXQg dW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJs aXNoZWQgYnkNCkBAIC0yOSw2ICsyOSw3IEBADQogI2luY2x1ZGUgPHN5cy90eXBlcy5oPg0KICNp bmNsdWRlIDxzeXMvZmlsZS5oPg0KICNpbmNsdWRlIDxzeXMvc3RhdC5oPg0KKyNpbmNsdWRlIDxz eXMvaW9jdGwuaD4NCiANCiAjaW5jbHVkZSA8c3RkaW8uaD4NCiAjaW5jbHVkZSA8ZXJybm8uaD4N CkBAIC0xOTMsNiArMTk0LDggQEANCiAgIGludCBuX29wdCwgaSwgajsNCiAgIGludCBuX3JlYWRp bml0ID0gMTsgLyogaWYgMSwgcmVhZCBjb25maWcgZmlsZS4gSWYgMCwgc2tpcCBjb25maWcgZmls ZSAqLw0KICAgaW50IHJldHZhbDsNCisgIGludCBuX3Rlc3RfY2dpID0gMTsgLyogd2hldGhlciB0 byB0ZXN0IGZvciBDR0kgZW52aXJvbm1lbnQgKi8NCisgIGludCBuX2luYnl0ZXMgPSAwOyAvKiBu dW1iZXIgb2YgYnl0ZXMgdG8gYmUgcmVhZCBvbiBzdGRpbiAqLw0KICAgRklMRSogZXJyc3RyZWFt Ow0KICNpZmRlZiBSRUZEQl9DR0kNCiAgIHN0cnVjdCBsaWxpZm9ybSBzZW50aW5lbDsNCkBAIC0y MDQsOSArMjA3LDE4IEBADQogICAvKiBBbGxvdyBjb25kaXRpb25hbCBwYXJzaW5nIG9mIHRoZSB+ Ly5pbnB1dHJjIGZpbGUuICovDQogICBybF9yZWFkbGluZV9uYW1lID0gcmVhZGxpbmVfbmFtZTsN CiANCi0gIC8qIHRlc3QgaG93IHdlIHdlcmUgaW52b2tlZCAqLw0KKyAgLyogbG9vayBmb3IgYmF0 Y2ggY29tbWFuZC4gSWYgZm91bmQsIGRvbid0IHRlc3QgZm9yIENHSSBlbnZpcm9ubWVudCAqLw0K KyAgZm9yIChpID0gMDsgaSA8IGFyZ2M7IGkrKykgew0KKyAgICBpZiAoYXJndltpXVswXSA9PSAn LScgJiYgYXJndltpXVsxXSA9PSAnQycpIHsNCisgICAgICBuX3Rlc3RfY2dpID0gMDsNCisgICAg ICBicmVhazsNCisgICAgfQ0KKyAgfQ0KKw0KICNpZmRlZiBSRUZEQl9DR0kNCi0gIG5fY2dpID0g aXNfY2dpKCZyZXF1ZXN0X21ldGhvZCwgJmNvbnRlbnRfbGVuZ3RoLCBkZWxheWVkX2NnaV9lcnJt c2cpOyAvKiAxIGlmIHdlIGFyZSBydW5uaW5nIGFzIGEgY2dpIGFwcCAqLw0KKyAgaWYgKG5fdGVz dF9jZ2kpIHsNCisgICAgbl9jZ2kgPSBpc19jZ2koJnJlcXVlc3RfbWV0aG9kLCAmY29udGVudF9s ZW5ndGgsIGRlbGF5ZWRfY2dpX2Vycm1zZyk7IC8qIDEgaWYgd2UgYXJlIHJ1bm5pbmcgYXMgYSBj Z2kgYXBwICovDQorICB9DQogI2VuZGlmDQogDQogICAvKiByZWRpcmVjdCBlcnJvciBtZXNzYWdl cyBjb3JyZWN0bHkgKi8NCkBAIC0yMTcsMTAgKzIyOSwyMyBAQA0KICAgICBlcnJzdHJlYW0gPSBz dGRlcnI7DQogICB9DQogDQotICBpZiAoIWlzYXR0eShmaWxlbm8oc3RkaW4pKSkgeyAvKiBpZiB3 ZSByZWNlaXZlIGRhdGEgb24gc3RkaW4gdmlhIGEgcmVkaXJlY3Rpb24gb3IgYSBwaXBlICovDQot ICAgIG5fcmVhZF9zdGRpbiA9IDE7DQorICAvKiBzd2l0Y2ggb24gcmVhZGluZyBmcm9tIHN0ZGlu IGlmIHdlIHJlY2VpdmUgZGF0YSBvbiBzdGRpbiB2aWEgYQ0KKyAgICAgcmVkaXJlY3Rpb24gb3Ig YSBwaXBlLiAqLw0KKy8qICAgaWYgKCFpc2F0dHkoZmlsZW5vKHN0ZGluKSkgJiYgIW5fY2dpX2Vu dikgeyAgKi8NCisvKiAgICAgbl9yZWFkX3N0ZGluID0gMTsgKi8NCisvKiAgIH0gKi8NCisjaWZk ZWYgRklPTlJFQUQNCisgIGlmIChpb2N0bChmaWxlbm8oc3RkaW4pLCBGSU9OUkVBRCwgJm5faW5i eXRlcykgIT0gLTEpIHsNCisgICAgaWYgKG5faW5ieXRlcyA+IDApIHsNCisgICAgICBuX3JlYWRf c3RkaW4gPSAxOw0KKyAgICB9DQogICB9DQotICAgIA0KKyAgLyogZWxzZTogdGhlcmUgd2FzIGFu IGVycm9yLCBhbmQgd2UgY2FuJ3Qgc2FmZWx5IGFzc3VtZSB0aGF0IHdlIGNhbg0KKyAgICAgcmVh ZCBmcm9tIHN0ZGluICovDQorI2VuZGlmDQorICAvKiBlbHNlOiBpZiBGSU9OUkVBRCBpcyBub3Qg c3VwcG9ydGVkLCBjb21tYW5kcyB0aGF0IGFjY2VwdCBpbnB1dA0KKyAgICAgZnJvbSBzdGRpbiBt dXN0IGJlIGNhbGxlZCB3aXRoIHRoZSAnLWYgc3RkaW4nIHN3aXRjaCAqLw0KKw0KICAgaWYgKCh0 aGVfY29tbWFuZCA9IChjaGFyKiltYWxsb2ModGhlX2NvbW1hbmRfbGVuKSkgPT0gTlVMTCkgew0K ICAgICB3cml0ZV9lcnIoIm91dCBvZiBtZW1vcnlcbiIpOw0KICAgICBleGl0ICgxKTsNCkBAIC00 NzMsNyArNDk4LDcgQEANCiAgIH0NCiANCiAgIC8qIG5vdyByZXBvcnQgaW5jb3JyZWN0IGNnaSBp bnB1dCwgaWYgYW55ICovDQotICBpZiAoZGVsYXllZF9jZ2lfZXJybXNnWzBdKSB7DQorICBpZiAo ZGVsYXllZF9jZ2lfZXJybXNnWzBdICYmIG5fY2dpKSB7DQogICAgIExPR19QUklOVChMT0dfRVJS LCBkZWxheWVkX2NnaV9lcnJtc2cpOw0KICAgICBleGl0KDEpOw0KICAgfQ0KQEAgLTk1NSwxMiAr OTgwLDE3IEBADQogCWJyZWFrOw0KICAgICAgIGNhc2UgJ2YnOg0KIAkvKiAgICAgICAgcHJpbnRm KCItZiAlc1xuIiwgb3B0YXJnKTsgKi8NCi0JaW5maWxlID0gY2Fub25pY2FsaXplX3BhdGgob3B0 YXJnKTsNCi0JaWYgKGluc2VydF9saWxpbWVtKCZzZW50aW5lbCwgKHZvaWQqKikmaW5maWxlLCBO VUxMKSkgew0KLQkgIGRlbGV0ZV9hbGxfbGlsaW1lbSgmc2VudGluZWwpOw0KLQkgIHJldHVybiAx Ow0KKwlpZiAoIXN0cmNtcChvcHRhcmcsICJzdGRpbiIpKSB7DQorCSAgbl9yZWFkX3N0ZGluID0g MTsNCisJfQ0KKwllbHNlIHsNCisJICBpbmZpbGUgPSBjYW5vbmljYWxpemVfcGF0aChvcHRhcmcp Ow0KKwkgIGlmIChpbnNlcnRfbGlsaW1lbSgmc2VudGluZWwsICh2b2lkKiopJmluZmlsZSwgTlVM TCkpIHsNCisJICAgIGRlbGV0ZV9hbGxfbGlsaW1lbSgmc2VudGluZWwpOw0KKwkgICAgcmV0dXJu IDE7DQorCSAgfQ0KKwkgIG5fcmVhZF9maWxlID0gMTsNCiAJfQ0KLQluX3JlYWRfZmlsZSA9IDE7 DQogCWJyZWFrOw0KICAgICAgIGNhc2UgJ2gnOg0KIAlwcmludGYoIkRlbGV0ZXMgdGhlIHNwZWNp ZmllZCByZWZlcmVuY2VzIGZyb20gdGhlIGRhdGFiYXNlXG5TeW50YXg6IGRlbGV0ZXJlZiBbLWMg Y29tbWFuZF0gWy1kIGRhdGFiYXNlXSBbLWhdIFstbyBvdXRmaWxlXSBbLU8gb3V0ZmlsZV0ge0lE fC1mIGluZmlsZX1cbk9wdGlvbnM6IC1jIGNvbW1hbmQgICBwaXBlIHRoZSBvdXRwdXQgdGhyb3Vn aCBjb21tYW5kXG4gICAgICAgICAtZCBkYXRhYmFzZSAgc3BlY2lmeSB0aGUgZGF0YWJhc2UgdG8g d29yayB3aXRoXG4gICAgICAgICAtZiBpbmZpbGUgICAgUmVhZCB0aGUgcmVmZXJlbmNlIElEcyBm cm9tIGZpbGUgaW5maWxlXG4gICAgICAgICAtaCAgICAgICAgICAgcHJpbnRzIHRoaXMgbWluaS1o ZWxwXG4gICAgICAgICAtbyBvdXRmaWxlICAgc2F2ZSB0aGUgb3V0cHV0IGluIG91dGZpbGUgKG92 ZXJ3cml0ZSlcbiAgICAgICAgIC1PIG91dGZpbGUgICBhcHBlbmQgdGhlIG91dHB1dCB0byBvdXRm aWxlXG4gICAgICAgICBBbGwgb3RoZXIgYXJndW1lbnRzIGFyZSBpbnRlcnByZXRlZCBhcyBJRHMg dG8gZGVsZXRlLlxuIik7DQpAQCAtMTMxOSwxMiArMTM0OSwxNyBAQA0KIAlicmVhazsNCiAgICAg ICBjYXNlICdmJzoNCiAJLyogICAgICAgIHByaW50ZigiLWYgJXNcbiIsIG9wdGFyZyk7ICovDQot CWluZmlsZSA9IGNhbm9uaWNhbGl6ZV9wYXRoKG9wdGFyZyk7DQotCWlmIChpbnNlcnRfbGlsaW1l bSgmc2VudGluZWwsICh2b2lkKiopJmluZmlsZSwgTlVMTCkpIHsNCi0JICBkZWxldGVfYWxsX2xp bGltZW0oJnNlbnRpbmVsKTsNCi0JICByZXR1cm4gMTsNCisJaWYgKCFzdHJjbXAob3B0YXJnLCAi c3RkaW4iKSkgew0KKwkgIG5fcmVhZF9zdGRpbiA9IDE7DQorCX0NCisJZWxzZSB7DQorCSAgaW5m aWxlID0gY2Fub25pY2FsaXplX3BhdGgob3B0YXJnKTsNCisJICBpZiAoaW5zZXJ0X2xpbGltZW0o JnNlbnRpbmVsLCAodm9pZCoqKSZpbmZpbGUsIE5VTEwpKSB7DQorCSAgICBkZWxldGVfYWxsX2xp bGltZW0oJnNlbnRpbmVsKTsNCisJICAgIHJldHVybiAxOw0KKwkgIH0NCisJICBuX3JlYWRfZmls ZSA9IDE7DQogCX0NCi0Jbl9yZWFkX2ZpbGUgPSAxOw0KIAlicmVhazsNCiAgICAgICBjYXNlICdo JzoNCiAJZnByaW50ZihlcnJzdHJlYW0sICJBZGRzIG9yIHJlbW92ZXMgdGhlIHNwZWNpZmllZCBy ZWZlcmVuY2VzIGZyb20geW91ciBwZXJzb25hbCBpbnRlcmVzdCBsaXN0XG5TeW50YXg6IHBpY2ty ZWYgWy1jIGNvbW1hbmRdIFstZCBkYXRhYmFzZV0gWy1oXSBbLXJdIHtJRHwtZiBpbmZpbGV9XG5P cHRpb25zOiAtYyBjb21tYW5kICAgcGlwZSB0aGUgb3V0cHV0IHRocm91Z2ggY29tbWFuZFxuICAg ICAgICAgLWQgZGF0YWJhc2UgIHNwZWNpZnkgdGhlIGRhdGFiYXNlIHRvIHdvcmsgd2l0aFxuICAg ICAgICAgLWYgaW5maWxlICAgIFJlYWQgdGhlIHJlZmVyZW5jZSBJRHMgZnJvbSBmaWxlIGluZmls ZVxuICAgICAgICAgLWggICAgICAgICAgIHByaW50cyB0aGlzIG1pbmktaGVscFxuICAgICAgICAg LW8gb3V0ZmlsZSAgIHNhdmUgdGhlIG91dHB1dCBpbiB0aGUgZmlsZSBvdXRmaWxlIChvdmVyd3Jp dGUpXG4gICAgICAgICAtTyBvdXRmaWxlICAgYXBwZW5kIHRoZSBvdXRwdXQgdG8gdGhlIGZpbGUg b3V0ZmlsZVxuICAgICAgICAgLXIgICAgICAgICAgIHJlbW92ZSBmcm9tIHBlcnNvbmFsIGludGVy ZXN0IGxpc3QgKGRlZmF1bHQgaXMgYWRkKVxuICAgICAgICAgQWxsIG90aGVyIGFyZ3VtZW50cyBh cmUgaW50ZXJwcmV0ZWQgYXMgSURzIHRvIHBpY2sgb3IgdG8gcmVtb3ZlLlxuIik7DQpAQCAtMTky OCwxMiArMTk2MywxNyBAQA0KIAlicmVhazsNCiAgICAgICBjYXNlICdmJzoNCiAJLyogICAgICAg IHByaW50ZigiLWYgJXNcbiIsIG9wdGFyZyk7ICovDQotCWluZmlsZSA9IGNhbm9uaWNhbGl6ZV9w YXRoKG9wdGFyZyk7DQotCWlmIChpbnNlcnRfbGlsaW1lbSgmc2VudGluZWwsICh2b2lkKiopJmlu ZmlsZSwgTlVMTCkpIHsNCi0JICBkZWxldGVfYWxsX2xpbGltZW0oJnNlbnRpbmVsKTsNCi0JICBy ZXR1cm4gMTsNCisJaWYgKCFzdHJjbXAob3B0YXJnLCAic3RkaW4iKSkgew0KKwkgIG5fcmVhZF9z dGRpbiA9IDE7DQorCX0NCisJZWxzZSB7DQorCSAgaW5maWxlID0gY2Fub25pY2FsaXplX3BhdGgo b3B0YXJnKTsNCisJICBpZiAoaW5zZXJ0X2xpbGltZW0oJnNlbnRpbmVsLCAodm9pZCoqKSZpbmZp bGUsIE5VTEwpKSB7DQorCSAgICBkZWxldGVfYWxsX2xpbGltZW0oJnNlbnRpbmVsKTsNCisJICAg IHJldHVybiAxOw0KKwkgIH0NCisJICBuX3JlYWRfZmlsZSA9IDE7DQogCX0NCi0Jbl9yZWFkX2Zp bGUgPSAxOw0KIAlicmVhazsNCiAgICAgICBjYXNlICdoJzoNCiAJcHJpbnRmKCJEaXNwbGF5cyB0 aGUgcmVzdWx0IG9mIGEgZGF0YWJhc2Ugc2VhcmNoLlxuU3ludGF4OiBnZXRyZWYgIFstYyBjb21t YW5kXSBbLWQgZGF0YWJhc2VdIFstaF0gWy1vIG91dGZpbGVdIFstTyBvdXRmaWxlXVstUF0gWy1S IHBkZnJvb3RdIFstcyBmb3JtYXRdIFstUyB0YWddIFstdCBvdXRwdXQtZm9ybWF0XSB7c2VhcmNo LXN0cmluZ3wtZiBpbmZpbGV9XG5TZWFyY2gtc3RyaW5nOiB7OlhZOns8fD18IT18Pn17dW5peC1y ZWdleHB9fSBbQU5EfE9SfEFORCBOT1RdIFsuLi5dXG53aGVyZSBYWSBzcGVjaWZpZXMgdGhlIGZp ZWxkIHRvIHNlYXJjaCBpblxuT3B0aW9uczogLWMgY29tbWFuZCAgIHBpcGUgdGhlIG91dHB1dCB0 aHJvdWdoIGNvbW1hbmRcbiAgICAgICAgIC1kIGRhdGFiYXNlICBzcGVjaWZ5IHRoZSBkYXRhYmFz ZSB0byB3b3JrIHdpdGhcbiAgICAgICAgIC1oICAgICAgICAgICBwcmludHMgdGhpcyBtaW5pLWhl bHBcbiAgICAgICAgIC1vIG91dGZpbGUgICBzYXZlIHRoZSBvdXRwdXQgaW4gb3V0ZmlsZSAob3Zl cndyaXRlKVxuICAgICAgICAgLU8gb3V0ZmlsZSAgIGFwcGVuZCB0aGUgb3V0cHV0IHRvIG91dGZp bGVcbiAgICAgICAgIC1QICAgICAgICAgICBsaW1pdCBzZWFyY2ggdG8gcGVyc29uYWwgaW50ZXJl c3QgbGlzdFxuICAgICAgICAgLVIgICAgICAgICAgIHVzZSBwZGZyb290IGFzIHJvb3QgZm9yIHBh dGggb2YgcGRmIGZpbGVzXG4gICAgICAgICAtcyBmb3JtYXQgICAgc3BlY2lmeSBmaWVsZHMgZm9y IHNjcmVlbiBvciBzdHlsZSBmb3IgRG9jQm9vayBvdXRwdXRcbiAgICAgICAgIC1TIHRhZyAgICAg ICBzb3J0IG91dHB1dCBieSB0YWcgSUQgKGRlZmF1bHQpIG9yIFBZXG4gICAgICAgICAtdCBvdXRw dXQtZm9ybWF0IGRpc3BsYXkgYXMgZm9ybWF0IHNjcm4sIGh0bWwsIGRiMzEsIHRlaXgsIHJpcywg b3IgYmlidGV4XG4gICAgICAgICAtZiBpbmZpbGUgICAgdXNlIHRoZSBzYXZlZCBzZWFyY2ggbGlu ZSBpbiBmaWxlIGluZmlsZVxuICAgICAgICAgQWxsIG90aGVyIGFyZ3VtZW50cyBhcmUgaW50ZXJw cmV0ZWQgYXMgdGhlIHNlYXJjaCBzdHJpbmcuXG4iKTsNCkBAIC0yMDczLDEwICsyMTEzLDIzIEBA DQogCS8qICAgICAgcHJpbnRmKCIlZFxuIiwgb3B0aW5kKTsgKi8NCiAJZm9yIChpID0gb3B0aW5k OyBpIDwgaW5hcmdjOyBpKyspIHsNCiAJICBzdHJjYXQoc2x2YWxzLm91dGJ1ZmZlciwgaW5hcmd2 W2ldKTsNCi0JICBzdHJjYXQoc2x2YWxzLm91dGJ1ZmZlciwgIiAiKTsNCisJICAvKiB0aGUgdG9r ZW5pemVyIHJldHVybnMgYSBxdW90ZWQgaXRlbSBhcyBhIHNlcGFyYXRlIHRva2VuDQorCSAgICAg ZXZlbiBpZiB0aGVyZSBpcyBubyBzcGFjZSBiZXR3ZWVuIGUuZy4gYSAnPScgYW5kIHRoZQ0KKwkg ICAgIHF1b3RlZCBpdGVtLiBUbyByZWN0aWZ5IHRoaXMsIGNoZWNrIHdoZXRoZXIgdGhlIHByZXZp b3VzDQorCSAgICAgaXRlbSBlbmRlZCB3aXRoIGEgJz0nICovDQorCSAgaWYgKHNsdmFscy5vdXRi dWZmZXJbc3RybGVuKHNsdmFscy5vdXRidWZmZXIpLTFdICE9ICc9Jykgew0KKwkgICAgc3RyY2F0 KHNsdmFscy5vdXRidWZmZXIsICIgIik7DQorCSAgfQ0KIAl9DQogCXN0cmNweSgmc2x2YWxzLm91 dGJ1ZmZlcltzdHJsZW4oc2x2YWxzLm91dGJ1ZmZlciktMV0sICJcIiIpOyAvKiByZW1vdmUgdHJh aWxpbmcgc3BhY2UgKi8NCiAgICAgICB9DQorICAgIH0NCisgIH0NCisNCisgIC8qIG1ha2Ugc3Vy ZSB0aGVyZSdzIG5vIG5ld2xpbmVzIGluIHRoZSBzdHJpbmc7IHJldXNlIHJlYWRfcmVzdWx0ICov DQorICBmb3IgKHJlYWRfcmVzdWx0ID0gc2x2YWxzLm91dGJ1ZmZlcjsgKnJlYWRfcmVzdWx0OyBy ZWFkX3Jlc3VsdCsrKSB7DQorICAgIGlmICgqcmVhZF9yZXN1bHQgPT0gJ1xuJyB8fCAqcmVhZF9y ZXN1bHQgPT0gJ1xyJykgew0KKyAgICAgICpyZWFkX3Jlc3VsdCA9ICcgJzsNCiAgICAgfQ0KICAg fQ0KIA0KDQotLSANCk1hcmt1cyBIb2VuaWNrYQ0KbWFya3VzLmhvZW5pY2thQGNhdHMuZGUNCihT cGFtLXByb3RlY3RlZCBlbWFpbDogcmVwbGFjZSB0aGUgcXVhZHJ1cGVkcyB3aXRoICJtaG9lbmlj a2EiKQ0KaHR0cDovL3d3dy5taG9lbmlja2EuZGU= |