thanks to Phil and Patrick
User-Agent: Heirloom mailx 12.4 7/29/08
MIME-Version: 1.0
Content-Type: application/octet-stream
Content-Transfer-Encoding: base64
TW9kdWxlOiBjaGVja19tawpCcmFuY2g6IG1hc3RlcgpDb21taXQ6IDk2ZTNmM2Y0MzliZjli
YmQ0NmE2YmNhZTQ1Yjk0NWU5YTIxZDg0ZjYKVVJMOiAgICBodHRwOi8vZ2l0Lm1hdGhpYXMt
a2V0dG5lci5kZS9naXQvP3A9Y2hlY2tfbWsuZ2l0O2E9Y29tbWl0O2g9OTZlM2YzZjQzOWJm
OWJiZDQ2YTZiY2FlNDViOTQ1ZTlhMjFkODRmNgoKQXV0aG9yOiBCYXN0aWFuIEt1aG4gPGJr
QG1hdGhpYXMta2V0dG5lci5kZT4KRGF0ZTogICBGcmkgT2N0IDI2IDEzOjEzOjM5IDIwMTIg
KzAyMDAKCldpbmRvd3MgVXBkYXRlIGNoZWNrIG5vdyB3aXRoIGNhY2hpbmcsIHRoYW5rcyB0
byBQaGlsIGFuZCBQYXRyaWNrCgotLS0KCiBDaGFuZ2VMb2cgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgfCAgICAxICsKIGFnZW50cy93aW5kb3dzL3BsdWdpbnMvd2luZG93
c191cGRhdGVzLnZicyB8ICAyNjIgKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLQogMiBm
aWxlcyBjaGFuZ2VkLCAxMTIgaW5zZXJ0aW9ucygrKSwgMTUxIGRlbGV0aW9ucygtKQoKZGlm
ZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5nZUxvZwppbmRleCBlNGRhMWRjLi40MjY4ZDVi
IDEwMDY0NAotLS0gYS9DaGFuZ2VMb2cKKysrIGIvQ2hhbmdlTG9nCkBAIC04NCw2ICs4NCw3
IEBACiAgICAgICBtZWNoYW5pc21zIGFuZCBHVUlzIGluc3RlYWQgb2YgdGhlIGNsYXNzaWMg
bG9nd2F0Y2ggR1VJLiBJdCBjYW4gYmUgCiAgICAgICBlbmFibGVkIG9uICJHbG9iYWwgU2V0
dGluZ3MiIHBhZ2UgaW4gV0FUTyBmb3IgeW91ciB3aG9sZSBpbnN0YWxsYXRpb24uCiAgICAg
ICBBZnRlciBlbmFibGluZyBpdCB5b3UgbmVlZCB0byByZWludmVudG9yaXplIHlvdXIgaG9z
dHMuCisgICAgKiBXaW5kb3dzIFVwZGF0ZSBDaGVjazogTm93IHdpdGggY2FjaGluZywgVGhh
bmtzIHRvIFBoaWwgUmFuZGFsIGFuZCBQYXRyaWNrIFNjaGzDvHRlcgogCiAxLjIuMHAzOgog
ICAgIE11bGl0aXNpdGUKZGlmZiAtLWdpdCBhL2FnZW50cy93aW5kb3dzL3BsdWdpbnMvd2lu
ZG93c191cGRhdGVzLnZicyBiL2FnZW50cy93aW5kb3dzL3BsdWdpbnMvd2luZG93c191cGRh
dGVzLnZicwppbmRleCA0NTEzOTVkLi41Mzg0NTFiIDEwMDY0NAotLS0gYS9hZ2VudHMvd2lu
ZG93cy9wbHVnaW5zL3dpbmRvd3NfdXBkYXRlcy52YnMKKysrIGIvYWdlbnRzL3dpbmRvd3Mv
cGx1Z2lucy93aW5kb3dzX3VwZGF0ZXMudmJzCkBAIC0xLDE1MSArMSwxMTEgQEAKLScgLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0NCi0nIHdpbmRvd3NfdXBkYXRlcy52YnMgLSBjaGVja19t
ayBhZ2VudCBwbHVnaW4gdG8gbW9uaXRvciBwZW5kaW5nIHdpbmRvd3MgdXBkYXRlcw0KLScN
Ci0nIFRvIHVzZSB0aGlzIGp1c3QgcGxhY2UgaXQgaW4gdGhlIHBsdWdpbnMvIGRpcmVjdG9y
eSBiZWxvdyB0aGUgcGF0aCBvZiB0aGUNCi0nIGNoZWNrX21rX2FnZW50LiBBZnRlciB0aGF0
IGFuIGludmVudG9yeSBydW4gb24gdGhlIE5hZ2lvcyBob3N0IHNob3VsZCBsZWFkDQotJyB0
byBhIG5ldyBpbnZlbnRvcml6ZWQgc2VydmljZS4NCi0nDQotJyBBdXRob3I6IExhcnMgTWlj
aGVsc2VuIDxsbUBtYXRoaWFzLWtldHRuZXIuZGU+LCAyMDExLTAzLTIxDQotJyAtLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLQ0KLQ0KLU9wdGlvbiBFeHBsaWNpdA0KLQ0KLURpbSByZXN1bHQs
IHJlYm9vdCwgbnVtSW1wLCBudW1PcHQsIGltcG9ydGFudCwgb3B0aQ0KLURpbSB3aW5kb3dz
X3VwZGF0ZV9tYXhhZ2UsIHRlbXBfZmlsZSwgbmV3X2ZpbGUNCi1EaW0gdXBkdFNlYXJjaGVy
LCBjb2xEb3dubG9hZHMsIG9iakVudHJ5LCBvYmpGUywgb2JqU2hlbGwsIG9iakZpbGUNCi0N
Ci1JZiBDcmVhdGVPYmplY3QoIk1pY3Jvc29mdC5VcGRhdGUuQXV0b1VwZGF0ZSIpLkRldGVj
dE5vdyA8PiAwIFRoZW4NCi0gIFdTY3JpcHQuRWNobyAiPDw8d2luZG93c191cGRhdGVzPj4+
Ig0KLSAgV1NjcmlwdC5RdWl0KDApDQotRW5kIElmDQotDQotJyBHYXRoZXJpbmcgdGhlIGlu
c3RhbGxlZCB1cGRhdGVzIG1pZ2h0IHRha2UgYSBsb3Qgb2YgdGltZSwgdGh1cyB0aGlzDQot
JyBjaGVjayBtYWtlcyB1c2Ugb2YgYSBjYWNoZS4gVGhlIGNhY2hlIHNhdmVzIGFuZCB1c2Vz
IHRoZSBjdXJyZW50IHVwZGF0ZSANCi0nIGluZm9ybWF0aW9uIGZvciB3aW5kb3dzX3VwZGF0
ZXNfbWF4YWdlIHNlY29uZHMuIEFmdGVyIHRoZSBmaWxlIGlzIHRvbyBvbGQNCi0nIHRoZSBp
bmZvcm1hdGlvbiBhcmUgcmVmcmVzaGVkLiBUaGUgY2hlY2sgaXMgZXhlY3V0ZWQgaW4gInJl
ZnJlc2giIG1vZGUgdG8NCi0nIHVwZGF0ZSB0aGUgZGF0YSBpbiBiYWNrZ3JvdW5kIHdoaWxl
IHRoZSByZWd1bGFyIGNoZWNrIHN0aWxsIHVzZXMgdGhlIGN1cnJlbnQNCi0nIGluZm9ybWF0
aW9uLiBPbmNlIHRoZSB1cGRhdGUgZmluaXNoZWQgaW4gdGhlIGJhY2tncm91bmQgam9iLCB0
aGUgbmV3IGRhdGENCi0nIGlzIHVzZWQuDQotDQotJyBHYXRoZXIgbW9kZSBvZiB0aGUgY3Vy
cmVudCBzY3JpcHQgcnVuDQotRGltIG1vZGUNCi1tb2RlID0gImNoZWNrIg0KLUlmIFdzY3Jp
cHQuQXJndW1lbnRzLkNvdW50ID0gMSBUaGVuDQotCUlmIFdzY3JpcHQuQXJndW1lbnRzLkl0
ZW0oMCkgPSAidXBkYXRlIiBUaGVuDQotCQltb2RlID0gInVwZGF0ZSINCi0JRW5kIElmDQot
RW5kIElmDQotDQotJyBLZWVwIHRlbXBvcmFyeSBmaWxlIGZvciAzMCBtaW51dGVzDQotd2lu
ZG93c191cGRhdGVfbWF4YWdlID0gMTgwMA0KLQ0KLVNldCBvYmpTaGVsbCA9IENyZWF0ZU9i
amVjdCgiV1NjcmlwdC5TaGVsbCIpDQotU2V0IG9iakZTID0gQ3JlYXRlT2JqZWN0KCJTY3Jp
cHRpbmcuRmlsZVN5c3RlbU9iamVjdCIpDQotDQotdGVtcF9maWxlID0gb2JqU2hlbGwuRXhw
YW5kRW52aXJvbm1lbnRTdHJpbmdzKCIlVGVtcCUiKSAmICJcY21rX3dpbmRvd3NfdXBkYXRl
c19jYWNoZS50eHQiDQotbmV3X2ZpbGUgPSBvYmpTaGVsbC5FeHBhbmRFbnZpcm9ubWVudFN0
cmluZ3MoIiVUZW1wJSIpICYgIlxjbWtfd2luZG93c191cGRhdGVzX2NhY2hlX25ldy50eHQi
DQotDQotU3ViIHByaW50X2ZpbGUocGF0aCkNCi0gICAgU2V0IG9iakZpbGUgPSBvYmpGUy5P
cGVuVGV4dEZpbGUocGF0aCwgMSkNCi0gICAgRG8gVW50aWwgb2JqRmlsZS5BdEVuZE9mU3Ry
ZWFtDQotICAgICAgICB3c2NyaXB0LmVjaG8gb2JqRmlsZS5SZWFkTGluZQ0KLSAgICBMb29w
DQotICAgIG9iakZpbGUuQ2xvc2UNCi0gICAgU2V0IG9iakZpbGUgPSBub3RoaW5nDQotRW5k
IFN1Yg0KLQ0KLVN1YiBzdGFydF91cGRhdGUoKQ0KLQknIEZpcnN0IGNyZWF0ZSB0aGUgbmV3
IHRlbXAgZmlsZSAobG9ja3MhKQ0KLSAgICBTZXQgb2JqRmlsZSA9IG9iakZTLkNyZWF0ZVRl
eHRGaWxlKG5ld19maWxlLCBUcnVlKQ0KLSAgICBvYmpGaWxlLkNsb3NlDQotICAgIFNldCBv
YmpGaWxlID0gbm90aGluZw0KLQkNCi0JJyBOb3cgc3RhcnQgdGhlIHVwZGF0ZSBpbiBiYWNr
Z3JvdW5kICgwOiBoaWRlIHdpbmRvdywgRmFsc2U6IGRvbnQgd2FpdCkNCi0gICAgb2JqU2hl
bGwuUnVuIFdzY3JpcHQuU2NyaXB0RnVsbE5hbWUgKyAiIHVwZGF0ZSIsIDAsIEZhbHNlDQot
RW5kIFN1Yg0KLQ0KLVN1YiB1cGRhdGUoKQ0KLSAgICBTZXQgb2JqRmlsZSA9IG9iakZTLkNy
ZWF0ZVRleHRGaWxlKG5ld19maWxlLCBUcnVlKQ0KLQlTZXQgdXBkdFNlYXJjaGVyID0gQ3Jl
YXRlT2JqZWN0KCJNaWNyb3NvZnQuVXBkYXRlLlNlc3Npb24iKS5DcmVhdGVVcGRhdGVTZWFy
Y2hlcg0KLQ0KLQlyZWJvb3QgPSAwDQotCW51bUltcCA9IDANCi0JbnVtT3B0ID0gMA0KLQ0K
LQlJZiBDcmVhdGVPYmplY3QoIk1pY3Jvc29mdC5VcGRhdGUuU3lzdGVtSW5mbyIpLlJlYm9v
dFJlcXVpcmVkIFRoZW4NCi0JICByZWJvb3QgPSAxDQotCUVuZCBJZg0KLQ0KLQlTZXQgcmVz
dWx0ID0gdXBkdFNlYXJjaGVyLlNlYXJjaCgiSXNJbnN0YWxsZWQgPSAwIGFuZCBJc0hpZGRl
biA9IDAiKQ0KLQlTZXQgY29sRG93bmxvYWRzID0gcmVzdWx0LlVwZGF0ZXMNCi0NCi0JRm9y
IEVhY2ggb2JqRW50cnkgaW4gY29sRG93bmxvYWRzDQotCSAgaWYgb2JqRW50cnkuQXV0b1Nl
bGVjdE9uV2ViU2l0ZXMgVGhlbg0KLQkJaWYgbnVtSW1wID0gMCBUaGVuDQotCQkgIGltcG9y
dGFudCA9IG9iakVudHJ5LlRpdGxlDQotCQllbHNlDQotCQkgIGltcG9ydGFudCA9IGltcG9y
dGFudCAmICI7ICIgJiBvYmpFbnRyeS5UaXRsZQ0KLQkJRW5kIElmDQotCQludW1JbXAgPSBu
dW1JbXAgKyAxDQotCSAgRWxzZQ0KLQkJSWYgbnVtT3B0ID0gMCBUaGVuDQotCQkgIG9wdGkg
PSBvYmpFbnRyeS5UaXRsZQ0KLQkJRWxzZQ0KLQkJICBvcHRpID0gb3B0aSAmICI7ICIgJiBv
YmpFbnRyeS5UaXRsZQ0KLQkJRW5kIElmDQotCQludW1PcHQgPSBudW1PcHQgKyAxDQotCSAg
RW5kIElmDQotCU5leHQNCi0NCi0Jb2JqRmlsZS53cml0ZSgiPDw8d2luZG93c191cGRhdGVz
Pj4+IiAmIHZiQ3JMZikNCi0Jb2JqRmlsZS53cml0ZShyZWJvb3QgJiAiICIgJiBudW1JbXAg
JiAiICIgJiBudW1PcHQgJiB2YkNyTGYpDQotCW9iakZpbGUud3JpdGUoaW1wb3J0YW50ICYg
dmJDckxmKQ0KLQlvYmpGaWxlLndyaXRlKG9wdGkpDQotCQ0KLSAgICBvYmpGaWxlLkNsb3Nl
KCkNCi0gICAgU2V0IG9iakZpbGUgPSBub3RoaW5nDQotCQ0KLQknIEFmdGVyIGNvbXBsZXRp
b24sIG1vdmUgdGhlIGZpbGUNCi0JSWYgb2JqRlMuRmlsZUV4aXN0cyh0ZW1wX2ZpbGUpIFRo
ZW4NCi0JCW9iakZTLkRlbGV0ZUZpbGUodGVtcF9maWxlKQ0KLQlFbmQgSWYNCi0Jb2JqRlMu
TW92ZUZpbGUgbmV3X2ZpbGUsIHRlbXBfZmlsZQ0KLUVuZCBTdWINCi0NCi0nIEhhbmRsZSB0
aGUgdXBkYXRlIG1vZGUgb2YgdGhpcyBzY3JpcHQuIEluIHRoaXMgbW9kZSB0aGUgbmV3IGlu
Zm9ybWF0aW9uDQotJyBhcmUgZmV0Y2hlZCB2aWEgV01JLiBUaGlzIHNob3VsZCBvbmx5IGJl
IGNhbGxlZCBpbiBhc3luYyBtb2RlIGJlY2F1c2UNCi0nIHRoaXMgbWlnaHQgdGFrZSBhIGxv
dCBvZiB0aW1lIGRlcGVuZGVudCBvbiBob3cgbWFueSBzb2Z0d2FyZSBpcyBpbnN0YWxsZWQu
DQotSWYgbW9kZSA9ICJ1cGRhdGUiIFRoZW4NCi0JdXBkYXRlKCkNCi0gICAgV1NjcmlwdC5R
dWl0KDApDQotRW5kIElmDQotDQotSWYgb2JqRlMuRmlsZUV4aXN0cyh0ZW1wX2ZpbGUpIFRo
ZW4NCi0gICAgSWYgRGF0ZURpZmYoInMiLCBvYmpGUy5HZXRGaWxlKHRlbXBfZmlsZSkuRGF0
ZUxhc3RNb2RpZmllZCwgTm93KCkpID4gd2luZG93c191cGRhdGVfbWF4YWdlIFRoZW4NCi0g
ICAgICAgICcgVG9vIG9sZCENCi0gICAgICAgIElmIE5vdCBvYmpGUy5GaWxlRXhpc3RzKG5l
d19maWxlKSBUaGVuDQotICAgICAgICAgICAgJyBTdGFydCBmZXRjaGluZyBuZXcgZGF0YSBp
biB0aGUgYmFrZ3JvdW5kDQotICAgICAgICAgICAgc3RhcnRfdXBkYXRlKCkNCi0gICAgICAg
IEVuZCBJZg0KLSAgICBFbmQgSWYNCi0NCi0gICAgJyBPdXRwdXQgY3VycmVudCBkYXRhIGlm
DQotICAgICcgYSkgVGhlIHRlbXBfZmlsZSBpcyBuZXcgZW5vdWdoDQotICAgICcgYikgVGhl
IHRlbXBfZmlsZSBpcyB0b28gb2xkIGJ1dCBuZXcgZGF0YSBpcyBiZWluZyBmZXRjaGVkIG5v
dw0KLSAgICBwcmludF9maWxlIHRlbXBfZmlsZQ0KLSAgICBXU2NyaXB0LlF1aXQoMCkNCi1F
bHNlDQotICAgICcgTm8gZGF0YSBmZXRjaGVkIHlldCwNCi0gICAgSWYgTm90IG9iakZTLkZp
bGVFeGlzdHMobmV3X2ZpbGUpIFRoZW4NCi0gICAgICAgICcgU3RhcnQgZmV0Y2hpbmcgbmV3
IGRhdGEgaW4gYmFja2dyb3VuZA0KLSAgICAgICAgc3RhcnRfdXBkYXRlKCkNCi0gICAgRW5k
IElmDQotDQotICAgICcgUmV0dXJuIGVtcHR5DQotICAgIFdTY3JpcHQuRWNobyAiPDw8d2lu
ZG93c191cGRhdGVzPj4+Ig0KLSAgICBXU2NyaXB0LlF1aXQoMCkNCi1FbmQgSWYNCi0NCi1T
ZXQgb2JqRlMgPSBub3RoaW5nDQotU2V0IG9ialNoZWxsID0gbm90aGluZw0KLVdTY3JpcHQu
UXVpdCgpClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQorJyAtLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLQorJyB3aW5kb3dzX3VwZGF0ZXMudmJzIC0gY2hlY2tfbWsg
YWdlbnQgcGx1Z2luIHRvIG1vbml0b3IgcGVuZGluZyB3aW5kb3dzIHVwZGF0ZXMgaW5kaXJl
Y3RseQorJworJyBUbyB1c2UgdGhpcyBqdXN0IHBsYWNlIGl0IGluIHRoZSBwbHVnaW5zLyBk
aXJlY3RvcnkgYmVsb3cgdGhlIHBhdGggb2YgdGhlCisnIGNoZWNrX21rX2FnZW50LiBBZnRl
ciB0aGF0IGFuIGludmVudG9yeSBydW4gb24gdGhlIE5hZ2lvcyBob3N0IHNob3VsZCBsZWFk
CisnIHRvIGEgbmV3IGludmVudG9yaXplZCBzZXJ2aWNlLgorJworJyBBdXRob3I6IExhcnMg
TWljaGVsc2VuIDxsbUBtYXRoaWFzLWtldHRuZXIuZGU+LCAyMDExLTAzLTIxCisnIEVkaXRv
cjogUGF0cmljayBTY2hs/HRlciA8cHNAcGR2LXN5c3RlbWUuZGU+LCAyMDExLTA4LTIxCisn
CisnIFVwZGF0ZWQgYnkgUGhpbCBSYW5kYWwsIDIwMTItMDktMjEsIHRvIGNhY2hlIHJlc3Vs
dHMgdXNpbmcgYSByYW5kb21pc2VkIGNoZWNrIGludGVydmFsCisnIG9mIDE2IHRvIDI0IGhv
dXJzCisnIEJhc2VkIG9uIGNvZGUgaGVyZTogaHR0cDovL3d3dy5tb25pdG9yaW5nLXBvcnRh
bC5vcmcvd2JiL2luZGV4LnBocD9wYWdlPVRocmVhZCZ0aHJlYWRJRD0yMzUwOQorJyBTcGF3
bmluZyBhIHNlcGFyYXRlIHByb2Nlc3MgdG8gcHJvZHVjZSBjYWNoZWQgcmVzdWx0IChhcyBp
biBhYm92ZSBmb3J1bSBkaXNjdXNzaW9uKSBjYXVzZWQgbWUKKycgc29tZSBpc3N1ZXMsIHNv
IEkgd2VudCBmb3IgYSBzaW1wbGVyIHNvbHV0aW9uIHVzaW5nIG9ubHkgb25lIHNjcmlwdAor
JyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCitPcHRpb24gRXhwbGlj
aXQKKworRGltIHJlc3VsdCwgcmVib290LCBudW1JbXAsIG51bU9wdCwgaW1wb3J0YW50LCBv
cHRpCitEaW0gdXBkdFNlYXJjaGVyLCBjb2xEb3dubG9hZHMsIG9iakVudHJ5CisKK0RpbSBv
YmpGU08sIG9iakZpbGUgCitTZXQgb2JqRlNPID0gV1NjcmlwdC5DcmVhdGVPYmplY3QoIlNj
cmlwdGluZy5GaWxlU3lzdGVtT2JqZWN0IikKKworRGltIGxhc3RNb2RpZmljYXRpb25EYXRl
CitEaW0gdXBkYXRlTmVlZGVkCit1cGRhdGVOZWVkZWQgPSBUcnVlCisKK0RpbSBXU0hTaGVs
bAorU2V0IFdTSFNoZWxsID0gQ3JlYXRlT2JqZWN0KCJXU2NyaXB0LlNoZWxsIikKKworRGlt
IHNjcmlwdG5hbWUsIHNjcmlwdHBhdGgsIHN0ckZvbGRlcgorCitzY3JpcHRuYW1lID0gV3Nj
cmlwdC5TY3JpcHRGdWxsTmFtZQorc2NyaXB0cGF0aCA9IG9iakZTTy5nZXRwYXJlbnRmb2xk
ZXJuYW1lKHNjcmlwdG5hbWUpCisKK3N0ckZvbGRlciA9IHNjcmlwdHBhdGggJiAiXHdpbmRv
d3MtdXBkYXRlIgorc2V0IG9iakZTTyA9IGNyZWF0ZW9iamVjdCgiU2NyaXB0aW5nLkZpbGVT
eXN0ZW1PYmplY3QiKQorCitpZiBvYmpGU08uRm9sZGVyRXhpc3RzKHN0ckZvbGRlcikgPSBG
YWxzZSB0aGVuCisJb2JqRlNPLkNyZWF0ZUZvbGRlciBzdHJGb2xkZXIKK2VuZCBpZgorCitE
aW0gdHMsIFRleHRMaW5lCitEaW0gcm5kRnVkZ2UKKworUmFuZG9taXplCitybmRGdWRnZSA9
IEludCg4ICogNjAgKiBSbmQpICcgcmFuZG9tIGZ1ZGdlIGZhY3RvciBmb3IgdGVzdCAoMCB0
byA4IGhycykgCisKK0lmIG9iakZTTy5GaWxlRXhpc3RzKHNjcmlwdHBhdGggJiJcd2luZG93
cy11cGRhdGVcd2luZG93c191cGRhdGVzLWxvZy50eHQiKSBUaGVuCisJbGFzdE1vZGlmaWNh
dGlvbkRhdGUgPSBvYmpGU08uR2V0RmlsZShzY3JpcHRwYXRoICYiXHdpbmRvd3MtdXBkYXRl
XHdpbmRvd3NfdXBkYXRlcy1sb2cudHh0IikuRGF0ZUxhc3RNb2RpZmllZAorCUlmIERhdGVE
aWZmKCJuIiwgbGFzdE1vZGlmaWNhdGlvbkRhdGUsIG5vdykgPCAoKDYwKjI0KS1ybmRGdWRn
ZSkgVGhlbiAnIDEgZGF5IG1pbnVzIDAgdG8gOCBob3VycworCSAgdXBkYXRlTmVlZGVkID0g
RmFsc2UKKwlFbmQgSWYKK0VuZCBJZgorCitJZiB1cGRhdGVOZWVkZWQgVGhlbiAKKyAgICBT
ZXQgb2JqRmlsZSA9IG9iakZTTy5DcmVhdGVUZXh0RmlsZShzY3JpcHRwYXRoICYiXHdpbmRv
d3MtdXBkYXRlXHdpbmRvd3NfdXBkYXRlcy1sb2cudHh0IikKKworICAgIElmIENyZWF0ZU9i
amVjdCgiTWljcm9zb2Z0LlVwZGF0ZS5BdXRvVXBkYXRlIikuRGV0ZWN0Tm93IDw+IDAgVGhl
bgorICAgICAgb2JqRmlsZS5Xcml0ZUxpbmUoIjw8PHdpbmRvd3NfdXBkYXRlcz4+PiIpCisg
ICAgICBXU2NyaXB0LlF1aXQoKQorICAgIEVuZCBJZgorCisgICAgU2V0IHVwZHRTZWFyY2hl
ciA9IENyZWF0ZU9iamVjdCgiTWljcm9zb2Z0LlVwZGF0ZS5TZXNzaW9uIikuQ3JlYXRlVXBk
YXRlU2VhcmNoZXIKKworICAgIHJlYm9vdCA9IDAKKyAgICBudW1JbXAgPSAwCisgICAgbnVt
T3B0ID0gMAorCisgICAgSWYgQ3JlYXRlT2JqZWN0KCJNaWNyb3NvZnQuVXBkYXRlLlN5c3Rl
bUluZm8iKS5SZWJvb3RSZXF1aXJlZCBUaGVuCisgICAgICAgIHJlYm9vdCA9IDEKKyAgICBF
bmQgSWYKKworICAgIFNldCByZXN1bHQgPSB1cGR0U2VhcmNoZXIuU2VhcmNoKCJJc0luc3Rh
bGxlZCA9IDAgYW5kIElzSGlkZGVuID0gMCIpCisgICAgU2V0IGNvbERvd25sb2FkcyA9IHJl
c3VsdC5VcGRhdGVzCisKKyAgICBGb3IgRWFjaCBvYmpFbnRyeSBpbiBjb2xEb3dubG9hZHMK
KyAgICAgICAgaWYgb2JqRW50cnkuQXV0b1NlbGVjdE9uV2ViU2l0ZXMgVGhlbgorCSAgICAg
ICAgaWYgbnVtSW1wID0gMCBUaGVuCisgIAkgICAgICAgICAgICBpbXBvcnRhbnQgPSBvYmpF
bnRyeS5UaXRsZQorCSAgICAgICAgZWxzZQorICAJICAgICAgICAgICAgaW1wb3J0YW50ID0g
aW1wb3J0YW50ICYgIjsgIiAmIG9iakVudHJ5LlRpdGxlCisJICAgICAgICBFbmQgSWYKKwkg
ICAgICAgIG51bUltcCA9IG51bUltcCArIDEKKyAgICAgICAgRWxzZQorCSAgICAgICAgSWYg
bnVtT3B0ID0gMCBUaGVuCisgIAkgICAgICAgICAgICBvcHRpID0gb2JqRW50cnkuVGl0bGUK
KwkgICAgICAgIEVsc2UKKyAgCSAgICAgICAgICAgIG9wdGkgPSBvcHRpICYgIjsgIiAmIG9i
akVudHJ5LlRpdGxlCisJICAgICAgICBFbmQgSWYKKwkgICAgICAgIG51bU9wdCA9IG51bU9w
dCArIDEKKyAgICAgICAgRW5kIElmCisgICAgTmV4dAorCisgICAgb2JqRmlsZS5Xcml0ZUxp
bmUoIjw8PHdpbmRvd3NfdXBkYXRlcz4+PiIpCisgICAgb2JqRmlsZS5Xcml0ZUxpbmUocmVi
b290ICYgIiAiICYgbnVtSW1wICYgIiAiICYgbnVtT3B0KQorICAgIG9iakZpbGUuV3JpdGVM
aW5lKGltcG9ydGFudCkKKyAgICBvYmpGaWxlLldyaXRlTGluZShvcHRpKQorICAgIG9iakZp
bGUuQ2xvc2UKKworRW5kIElmCisKK1NldCB0cyA9IG9iakZTTy5HZXRGaWxlKHNjcmlwdHBh
dGggJiJcd2luZG93cy11cGRhdGVcd2luZG93c191cGRhdGVzLWxvZy50eHQiKS5PcGVuQXNU
ZXh0U3RyZWFtKDEsIC0yKQorRG8gV2hpbGUgdHMuQXRFbmRPZlN0cmVhbSA8PiBUcnVlCisJ
CVdTY3JpcHQuRWNobyB0cy5SZWFkTGluZQorTG9vcAordHMuQ2xvc2UKKworV1NjcmlwdC5R
dWl0KCkKCg==