[Thread Prev][Thread Next][Thread Index]
Re: SyncMemo
- To: Bill Wohler <wohler@xxxxxxxx>
- Subject: Re: SyncMemo
- From: "Andreas S. Oesterhelt" <oes@xxxxxxxxxxxxxxxx>
- Date: Wed, 3 Nov 1999 21:39:12 +0100 (MET)
- Cc: Carl Baker <carl.baker@xxxxxxx>, pilotmgr@xxxxxxxxxxxxxxxxxxxx
- In-reply-to: <vpyacfqxlo.fsf@gbr.newt.com>
- Sender: owner-pilotmgr
Hi Bill,
..as there seems so be interest in taming the verbosity of SyncPlan,
I'll attach a small patch of mine (against v0.95 BETA) that gives you
clearer statements and scalable output detail, configurable via
PilotMaganager's GUI. As a side effect, it also makes the netplan port
adjustable.
Kind regards,
--Andreas
MjBhMjENCj4gdXNlIERhdGE6OkR1bXBlcjsNCjI0YzI1DQo8IG15ICgkVkVSU0lPTikgPSAi
MC45NSBCRVRBIjsNCi0tLQ0KPiBteSAoJFZFUlNJT04pID0gIjAuOTVQTDIgQkVUQSI7DQoz
MCwzMWMzMSwzMg0KPCBteSAkVkVSQk9TRSA9IDE7CSMgcHJpbnQgb3V0IHJlY29yZC1ieS1y
ZWNvcmQgaW5mbyBhYm91dCBzeW5jDQo8IG15ICRERUJVRyA9IDA7CQkjIHByaW50IGRlYnVn
IG91dHB1dA0KLS0tDQo+IG15ICgkUFJFRlMpOwkgICAgICAgICMgY29uZmlndXJhdGlvbiB2
YXJpYWJsZXMNCj4gbXkgKCRSQ0ZJTEUpOyAgICAgICAgICAgIyBjb25maWd1cmF0aW9uIGZp
bGUNCjE2MmMxNjMNCjwgCQlQaWxvdE1ncjo6bXNnKCAiQ29udmVydGluZyByZXBldGl0aW9u
Li4uXG4iICkgaWYgKCRERUJVRyk7DQotLS0NCj4gCQlQaWxvdE1ncjo6bXNnKCAiQ29udmVy
dGluZyByZXBldGl0aW9uLi4uXG4iICkgaWYgKCRQUkVGUy0+eyJEZWJ1ZyJ9ID4gMik7DQox
NjhjMTY5DQo8IAkJUGlsb3RNZ3I6Om1zZyggIkRheXM6ICRkYXlzLCBFbmQ6ICRlbmQsIFdl
ZWtkYXk6ICR3ZWVrZGF5LCBNZGF5OiAkbWRheSwgWWVhcmx5OiAkeWVhcmx5XG4iICkgaWYg
KCRERUJVRyk7DQotLS0NCj4gCQlQaWxvdE1ncjo6bXNnKCAiRGF5czogJGRheXMsIEVuZDog
JGVuZCwgV2Vla2RheTogJHdlZWtkYXksIE1kYXk6ICRtZGF5LCBZZWFybHk6ICR5ZWFybHlc
biIgKSBpZiAoJFBSRUZTLT57IkRlYnVnIn0gPiAyKTsNCjE5MmMxOTMNCjwgCQkJUGlsb3RN
Z3I6Om1zZyggIndlZWtkYXkgPSAkd2Vla2RheSwgd2RheSA9ICR3ZGF5LCB3ZWVrID0gJHdl
ZWtcbiIgKSBpZiAoJERFQlVHKTsNCi0tLQ0KPiAJCQlQaWxvdE1ncjo6bXNnKCAid2Vla2Rh
eSA9ICR3ZWVrZGF5LCB3ZGF5ID0gJHdkYXksIHdlZWsgPSAkd2Vla1xuIiApIGlmICgkUFJF
RlMtPnsiRGVidWcifSA+IDIpOw0KMzg0YzM4NQ0KPCAJUGlsb3RNZ3I6Om1zZyggIkdlbmVy
YXRlZCByZWNvcmQgfCIgLiBqb2luKCJcbiIsIEBvdXRwdXQpLiAifFxuIiApIGlmICgkREVC
VUcpOw0KLS0tDQo+IAlQaWxvdE1ncjo6bXNnKCAiR2VuZXJhdGVkIHJlY29yZCB8IiAuIGpv
aW4oIlxuIiwgQG91dHB1dCkuICJ8XG4iICkgaWYgKCRQUkVGUy0+eyJEZWJ1ZyJ9ID4gMik7
DQo2NDBjNjQxDQo8IAlQaWxvdE1ncjo6bXNnKCAiQWZ0ZXIgc3R1ZmY6XG4iICkgaWYgKCRE
RUJVRyk7DQotLS0NCj4gCVBpbG90TWdyOjptc2coICJBZnRlciBzdHVmZjpcbiIgKSBpZiAo
JFBSRUZTLT57IkRlYnVnIn0gPiAyKTsNCjY4N2M2ODgNCjwgCVBpbG90TWdyOjptc2coICJQ
aWxvdCBsb29wXG4iICkgaWYgKCRERUJVRyk7DQotLS0NCj4gCVBpbG90TWdyOjptc2coICJQ
aWxvdCBsb29wXG4iICkgaWYgKCRQUkVGUy0+eyJEZWJ1ZyJ9ID4gMik7DQo2OThjNjk5DQo8
IAkJUGlsb3RNZ3I6Om1zZyggIlBpbG90IHJlY29yZDogIiAuIFByaW50UGlsb3RSZWNvcmQo
JHBpbG90SUR7JF99KSAuICJcbiIgKSBpZiAoJFZFUkJPU0UpOw0KLS0tDQo+IAkJUGlsb3RN
Z3I6Om1zZyggIlBpbG90IHJlY29yZDogIiAuIFByaW50UGlsb3RSZWNvcmQoJHBpbG90SUR7
JF99KSAuICJcbiIgKSBpZiAoJFBSRUZTLT57IkRlYnVnIn0gPiAxKTsNCjc1MWM3NTIsNzUz
DQo8IAkJCQkJUGlsb3RNZ3I6Om1zZyggIkFjdGlvbjogSW5zdGFsbCBQaWxvdCByZWNvcmQg
aW4gUGxhbi5cbiIgKSBpZiAoJFZFUkJPU0UpOw0KLS0tDQo+IAkJCQkJUGlsb3RNZ3I6Om1z
ZyggIkluc3RhbGxpbmcgUGlsb3QgcmVjb3JkIGluIFBsYW46ICIuDQo+ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHJpbnRQaWxv
dFJlY29yZCgkcGlsb3RJRHskX30pLiAiXG4iICkgaWYgKCRQUkVGUy0+eyJEZWJ1ZyJ9KTsN
Cjc5OGM4MDANCjwgCQkJCQlQaWxvdE1ncjo6bXNnKCAiUGlsb3QgcmVjb3JkIG1vZGlmaWVk
IHdoaWxlIFBsYW4gcmVjb3JkIGRlbGV0ZWRcbiIgKSBpZiAoJFZFUkJPU0UpOw0KLS0tDQo+
IAkJCQkJUGlsb3RNZ3I6Om1zZyggIlBpbG90IHJlY29yZCBtb2RpZmllZCB3aGlsZSBQbGFu
IHJlY29yZCBkZWxldGVkXG4iICkgaWYgKCRQUkVGUy0+eyJEZWJ1ZyJ9ID4gMSk7DQo4NDhj
ODUwDQo8IAkJCQkJCVBpbG90TWdyOjptc2coICJJRCBvZiBuZXcgUGlsb3QgcmVjb3JkIGlz
ICRpZFxuIiApIGlmICgkREVCVUcpOw0KLS0tDQo+IAkJCQkJCVBpbG90TWdyOjptc2coICJJ
RCBvZiBuZXcgUGlsb3QgcmVjb3JkIGlzICRpZFxuIiApIGlmICgkUFJFRlMtPnsiRGVidWci
fSA+IDIpOw0KODY4Yzg3MA0KPCAJCQkJCQlQaWxvdE1ncjo6bXNnKCAiSUQgb2YgbmV3IFBs
YW4gcmVjb3JkIGlzICRpZFxuIiApIGlmICgkREVCVUcpOw0KLS0tDQo+IAkJCQkJCVBpbG90
TWdyOjptc2coICJJRCBvZiBuZXcgUGxhbiByZWNvcmQgaXMgJGlkXG4iICkgaWYgKCRQUkVG
Uy0+eyJEZWJ1ZyJ9ID4gMik7DQo5MDBjOTAyDQo8IAkJCQkJUGlsb3RNZ3I6Om1zZyggIk92
ZXJ3cml0aW5nIHVuY2hhbmdlZCBQbGFuIHJlY29yZCB3aXRoIG1vZGlmaWVkIFBpbG90IHJl
Y29yZC5cbiIgKSBpZiAoJFZFUkJPU0UpOw0KLS0tDQo+IAkJCQkJUGlsb3RNZ3I6Om1zZygg
IlVwZGF0aW5nIFBsYW4gcmVjb3JkIHdpdGggbW9kaWZpZWQgUGlsb3QgcmVjb3JkOiAiLlBy
aW50UGlsb3RSZWNvcmQoJHBpbG90SUR7JF99KS4iXG4iICkgaWYgKCRQUkVGUy0+eyJEZWJ1
ZyJ9KTsNCjkwN2M5MDkNCjwgCVBpbG90TWdyOjptc2coICJQbGFuIGxvb3BcbiIgKSBpZiAo
JERFQlVHKTsNCi0tLQ0KPiAJUGlsb3RNZ3I6Om1zZyggIlBsYW4gbG9vcFxuIiApIGlmICgk
UFJFRlMtPnsiRGVidWcifSA+IDIpOw0KOTEwYzkxMg0KPCAJCVBpbG90TWdyOjptc2coICJQ
bGFuIHJlY29yZDogIiAuIFByaW50UGxhblJlY29yZCgkcGxhblJlY29yZHskX30pLCJcbiIg
KSBpZiAoJFZFUkJPU0UpOw0KLS0tDQo+IAkJUGlsb3RNZ3I6Om1zZyggIlBsYW4gcmVjb3Jk
OiAiIC4gUHJpbnRQbGFuUmVjb3JkKCRwbGFuUmVjb3JkeyRffSksIlxuIiApIGlmICgkUFJF
RlMtPnsiRGVidWcifSA+IDEpOw0KOTcyYzk3NCw5NzUNCjwgCQkJCQlQaWxvdE1ncjo6bXNn
KCAiQWN0aW9uOiBJbnN0YWxsIFBsYW4gcmVjb3JkIGluIFBpbG90LlxuIiApIGlmICgkVkVS
Qk9TRSk7DQotLS0NCj4gCQkJCQlQaWxvdE1ncjo6bXNnKCAiSW5zdGFsbGluZyBQbGFuIHJl
Y29yZCBpbiBQaWxvdDogIi4NCj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIFByaW50UGxhblJlY29yZCgkcmVjb3JkKS4gIlxuIiAp
IGlmICgkUFJFRlMtPnsiRGVidWcifSk7DQo5OTljMTAwMg0KPCAJCQkJCQlQaWxvdE1ncjo6
bXNnKCAiSUQgb2YgbmV3IFBpbG90IHJlY29yZCBpcyAkaWRcbiIgKSBpZiAoJERFQlVHKTsN
Ci0tLQ0KPiAJCQkJCQlQaWxvdE1ncjo6bXNnKCAiSUQgb2YgbmV3IFBpbG90IHJlY29yZCBp
cyAkaWRcbiIgKSBpZiAoJFBSRUZTLT57IkRlYnVnIn0gPiAyKTsNCjEwMzljMTA0Mg0KPCAJ
CQkJCVBpbG90TWdyOjptc2coICJQbGFuIHJlY29yZCBtb2RpZmllZCB3aGlsZSBQaWxvdCBy
ZWNvcmQgZGVsZXRlZFxuIiApIGlmICgkVkVSQk9TRSk7DQotLS0NCj4gCQkJCQlQaWxvdE1n
cjo6bXNnKCAiUGxhbiByZWNvcmQgbW9kaWZpZWQgd2hpbGUgUGlsb3QgcmVjb3JkIGRlbGV0
ZWRcbiIgKSBpZiAoJFBSRUZTLT57IkRlYnVnIn0gPiAxKTsNCjEwODJjMTA4NQ0KPCAJCQkJ
CVBpbG90TWdyOjptc2coICJPdmVyd3JpdGluZyB1bmNoYW5nZWQgUGlsb3QgcmVjb3JkIHdp
dGggbW9kaWZpZWQgUGxhbiByZWNvcmQuXG4iICkgaWYgKCRWRVJCT1NFKTsNCi0tLQ0KPiAJ
CQkJCVBpbG90TWdyOjptc2coICJVcGRhdGluZyBQaWxvdCByZWNvcmQgd2l0aCBtb2RpZmll
ZCBQbGFuIHJlY29yZDogIi5QcmludFBsYW5SZWNvcmQoJHJlY29yZCkuIlxuIiApIGlmICgk
UFJFRlMtPnsiRGVidWcifSk7DQoxMDkxYzEwOTQNCjwgCVBpbG90TWdyOjptc2coICJQaWxv
dCBkZWxldGUgbG9vcFxuIiApIGlmICgkREVCVUcpOw0KLS0tDQo+IAlQaWxvdE1ncjo6bXNn
KCAiUGlsb3QgZGVsZXRlIGxvb3BcbiIgKSBpZiAoJFBSRUZTLT57IkRlYnVnIn0gPiAyKTsN
CjExMDFjMTEwNA0KPCAJCVBpbG90TWdyOjptc2coICJQaWxvdCByZWNvcmQ6ICIgLiBQcmlu
dFBpbG90UmVjb3JkKCRwaWxvdElEeyRffSkgLiAiXG4iICkgaWYgKCRWRVJCT1NFKTsNCi0t
LQ0KPiAJCVBpbG90TWdyOjptc2coICJQaWxvdCByZWNvcmQ6ICIgLiBQcmludFBpbG90UmVj
b3JkKCRwaWxvdElEeyRffSkgLiAiXG4iICkgaWYgKCRQUkVGUy0+eyJEZWJ1ZyJ9ID4gMSk7
DQoxMTExYzExMTQNCjwgCQkJUGlsb3RNZ3I6Om1zZyggIkRlbGV0aW5nIFBpbG90IHJlY29y
ZC5cbiIgKSBpZiAoJFZFUkJPU0UpOw0KLS0tDQo+IAkJCVBpbG90TWdyOjptc2coICJEZWxl
dGluZyBQaWxvdCByZWNvcmQuXG4iICkgaWYgKCRQUkVGUy0+eyJEZWJ1ZyJ9ID4gMSk7DQox
MTE0YzExMTcsMTExOA0KPCAJCQkJUGlsb3RNZ3I6Om1zZyggIi4uLiBhbmQgYXNzb2NpYXRl
ZCBQbGFuIHJlY29yZC5cbiIgKSBpZiAoJFZFUkJPU0UpOw0KLS0tDQo+IAkJCQlQaWxvdE1n
cjo6bXNnKCAiLi4uIGFuZCBhc3NvY2lhdGVkIFBsYW4gcmVjb3JkLlxuIiApIGlmICgkUFJF
RlMtPnsiRGVidWcifSA+IDEpOw0KPiAJCQkJUGlsb3RNZ3I6Om1zZyggIkRlbGV0aW5nIGZy
b20gUGxhbjogIi4gUHJpbnRQbGFuUmVjb3JkKCRwbGFuUmVjb3JkeyRwbGFuSUR7JF99LT57
aWR9fSkgLiJcbiIpIGlmICgkUFJFRlMtPnsiRGVidWcifSk7DQoxMTMxYzExMzUNCjwgCVBp
bG90TWdyOjptc2coICJQbGFuIGRlbGV0ZSBsb29wXG4iICkgaWYgKCRERUJVRyk7DQotLS0N
Cj4gCVBpbG90TWdyOjptc2coICJQbGFuIGRlbGV0ZSBsb29wXG4iICkgaWYgKCRQUkVGUy0+
eyJEZWJ1ZyJ9ID4gMik7DQoxMTM4YzExNDINCjwgCQlQaWxvdE1ncjo6bXNnKCAiUGxhbiBy
ZWNvcmQ6ICIgLiBQcmludFBsYW5SZWNvcmQoJHBsYW5SZWNvcmR7JF99KSAuICJcbiIgKSBp
ZiAoJFZFUkJPU0UpOw0KLS0tDQo+IAkJUGlsb3RNZ3I6Om1zZyggIlBsYW4gcmVjb3JkOiAi
IC4gUHJpbnRQbGFuUmVjb3JkKCRwbGFuUmVjb3JkeyRffSkgLiAiXG4iICkgaWYgKCRQUkVG
Uy0+eyJEZWJ1ZyJ9ID4gMSk7DQoxMTY4YzExNzINCjwgCQkJUGlsb3RNZ3I6Om1zZyggIkRl
bGV0aW5nIFBsYW4gcmVjb3JkLlxuIiApIGlmICgkVkVSQk9TRSk7DQotLS0NCj4gCQkJUGls
b3RNZ3I6Om1zZyggIkRlbGV0aW5nIFBsYW4gcmVjb3JkLlxuIiApIGlmICgkUFJFRlMtPnsi
RGVidWcifSA+IDEpOw0KMTE3MGMxMTc0LDExNzYNCjwgCQkJCVBpbG90TWdyOjptc2coICIu
Li4gYW5kIGFzc29jaWF0ZWQgUGlsb3QgcmVjb3JkLlxuIiApIGlmICgkVkVSQk9TRSk7DQot
LS0NCj4gCQkJCVBpbG90TWdyOjptc2coICIuLi4gYW5kIGFzc29jaWF0ZWQgUGlsb3QgcmVj
b3JkLlxuIiApIGlmICgkUFJFRlMtPnsiRGVidWcifSA+IDEpOw0KPiAJCQkJUGlsb3RNZ3I6
Om1zZyggIkRlbGV0aW5nIGZyb20gUGlsb3Q6ICIgLiBQcmludFBpbG90UmVjb3JkKCRwaWxv
dElEeyRwaWR9KSAuIlxuIiApIGlmICgkUFJFRlMtPnsiRGVidWcifSk7DQo+IA0KMTE4OGMx
MTk0DQo8IAlQaWxvdE1ncjo6bXNnKCAiTG9hZGluZyBwaWxvdCByZWNvcmRzOlxuIiApOw0K
LS0tDQo+IAlQaWxvdE1ncjo6bXNnKCAiTG9hZGluZyBwaWxvdCByZWNvcmRzOlxuIiApIGlm
ICgkUFJFRlMtPnsiRGVidWcifSA+IDEpOw0KMTE5N2MxMjAzDQo8IAlQaWxvdE1ncjo6bXNn
KCAiU3luY2hyb25pemluZyBwaWxvdCBjYWxsZWQgJyRwaWxvdG5hbWUnXG4iICk7DQotLS0N
Cj4gCVBpbG90TWdyOjptc2coICJTeW5jaHJvbml6aW5nIHBpbG90IGNhbGxlZCAnJHBpbG90
bmFtZSdcbiIgKSBpZiAoJFBSRUZTLT57IkRlYnVnIn0gPiAxKTsNCjEyMjBjMTIyNg0KPCAJ
UGlsb3RNZ3I6Om1zZyggIkRvbmUgcmVhZGluZyByZWNvcmRzXG4iICk7DQotLS0NCj4gCVBp
bG90TWdyOjptc2coICJEb25lIHJlYWRpbmcgcmVjb3Jkc1xuIiApIGlmICgkUFJFRlMtPnsi
RGVidWcifSA+IDEpOw0KMTM3MmExMzc5LDEzODYNCj4gDQo+ICAgJFJDRklMRSA9ICJTeW5j
UGxhbi9TeW5jUGxhbi5wcmVmcyI7DQo+ICAgJmxvYWRQcmVmczsNCj4gDQo+ICAgJFBSRUZT
LT57Ik5ldHBsYW5Qb3J0In0gPSAiNTQ0NCINCj4gCXVubGVzcyAoZGVmaW5lZCgkUFJFRlMt
PnsiTmV0cGxhblBvcnQifSkpOw0KPiAgICRQUkVGUy0+eyJEZWJ1ZyJ9ID0gIjEiDQo+IAl1
bmxlc3MgKGRlZmluZWQoJFBSRUZTLT57IkRlYnVnIn0pKTsNCjEzOTFhMTQwNg0KPiAgICAg
bXkgKCRmcmFtZSwgJHN1YmZyLCAkb2JqKTsNCjEzOTlhMTQxNSwxNDI5DQo+IAkkZnJhbWUg
PSAkZ0NvbmZpZ0RsZy0+RnJhbWUoLXJlbGllZiA9PiAicmlkZ2UiLCAtYmQgPT4gNCk7DQo+
IAkkb2JqID0gVGtVdGlsczo6TGFiZWwoJGZyYW1lLCAiU2V0dGluZ3MiKTsNCj4gCSRvYmot
PnBhY2soLWFuY2hvciA9PiAiYyIpOw0KPiAJJHN1YmZyID0gJGZyYW1lLT5GcmFtZTsNCj4g
CSRvYmogPSAkc3ViZnItPkxhYmVsKC10ZXh0ID0+ICJOZXRwbGFuIFBvcnQ6ICIpOw0KPiAJ
JG9iai0+cGFjaygtc2lkZSA9PiAibGVmdCIsIC1hbmNob3IgPT4gIm53IiwgLWZpbGwgPT4g
IngiKTsNCj4gCSRvYmogPSAkc3ViZnItPkVudHJ5KC10ZXh0dmFyaWFibGUgPT4gXCRQUkVG
Uy0+eyJOZXRwbGFuUG9ydCJ9LA0KPiAJCQkgICAgIC1yZWxpZWYgPT4gInN1bmtlbiIsIC13
aWR0aCA9PiA2KTsNCj4gCSRvYmotPnBhY2soLXNpZGUgPT4gImxlZnQiLCAtYW5jaG9yID0+
ICJ3IiwgLWZpbGwgPT4gIngiKTsNCj4gICAgICAgICBUa1V0aWxzOjpMYWJlbFJhZGlvYnV0
dG9ucygkc3ViZnIsICJEZWJ1ZyBMZXZlbDoiLA0KPiAJCQkJICAgXCRQUkVGUy0+eyJEZWJ1
ZyJ9LA0KPiAJCQkJICAgIjAiLCAiMSIsICIyIiwgIjMiKTsNCj4gCSRzdWJmci0+cGFjaygt
YW5jaG9yID0+ICJjIik7DQo+ICAgICAgICAgJGZyYW1lLT5wYWNrKC1zaWRlID0+ICd0b3An
LCAtZmlsbCA9PiAieCIpOw0KPiANCjE0MDJjMTQzMg0KPCAJJGdDb25maWdEbGctPkJ1dHRv
bigtdGV4dCA9PiAnRGlzbWlzcycsIC1jb21tYW5kID0+IFsnd2l0aGRyYXcnLCAkZ0NvbmZp
Z0RsZ10pLT5wYWNrKC1zaWRlID0+ICdsZWZ0JywgLWV4cGFuZCA9PiAxLCAtYW5jaG9yID0+
ICdjJyk7DQotLS0NCj4gCSRnQ29uZmlnRGxnLT5CdXR0b24oLXRleHQgPT4gJ0Rpc21pc3Mn
LCAtY29tbWFuZCA9PiBzdWIgeyAmc2F2ZVByZWZzOyAkZ0NvbmZpZ0RsZy0+d2l0aGRyYXd9
KS0+cGFjaygtc2lkZSA9PiAnbGVmdCcsIC1leHBhbmQgPT4gMSwgLWFuY2hvciA9PiAnYycp
Ow0KMTQ3MmMxNTAyDQo8IAkJcHVzaCBASSwge21vZGUgPT4gJG1vZGUsIG5hbWUgPT4gJG5h
bWUuJ0AnLiRob3N0LCBkYm5hbWUgPT4gJG5hbWUsIGhvc3QgPT4gJGhvc3QsIHBvcnQgPT4g
MTIwMDAsICdyZWFkJyA9PiAoJG1vZGUgPX4gL3IvKSwgJ3dyaXRlJyA9PiAoJG1vZGUgPX4g
L3cvKSwgZGVmYXVsdCA9PiAkZmlyc3QsIGRlZmF1bHRuYW1lID0+ICRkZWZhdWx0bmFtZX07
DQotLS0NCj4gCQlwdXNoIEBJLCB7bW9kZSA9PiAkbW9kZSwgbmFtZSA9PiAkbmFtZS4nQCcu
JGhvc3QsIGRibmFtZSA9PiAkbmFtZSwgaG9zdCA9PiAkaG9zdCwgcG9ydCA9PiAkUFJFRlMt
PnsiTmV0cGxhblBvcnQifSwgJ3JlYWQnID0+ICgkbW9kZSA9fiAvci8pLCAnd3JpdGUnID0+
ICgkbW9kZSA9fiAvdy8pLCBkZWZhdWx0ID0+ICRmaXJzdCwgZGVmYXVsdG5hbWUgPT4gJGRl
ZmF1bHRuYW1lfTsNCjE1NTBhMTU4MSwxNjIyDQo+IA0KPiBzdWIgbG9hZFByZWZzDQo+IHsN
Cj4gICAgIG15ICgkbGluZXMpOw0KPiANCj4gICAgIG9wZW4oRkQsICI8JFJDRklMRSIpIHx8
IHJldHVybjsNCj4gICAgICRsaW5lcyA9IGpvaW4oJycsIDxGRD4pOw0KPiAgICAgY2xvc2Uo
RkQpOw0KPiAgICAgZXZhbCAkbGluZXM7DQo+IA0KPiAgICAgIyBGb3Igc29tZSByZWFzb24s
IHdlIG5lZWQgdG8gcmVmZXJlbmNlICRQUkVGUyBoZXJlDQo+ICAgICAjIG9yIHRoZSBwcmVm
ZXJlbmNlcyB3b24ndCBnZXQgbG9hZGVkIHByb3Blcmx5Lg0KPiAgICAgIw0KPiAgICAgJFBS
RUZTOw0KPiB9DQo+IA0KPiBzdWIgc2F2ZVByZWZzDQo+IHsNCj4gICAgIG15ICgkdmFyKTsN
Cj4gDQo+ICAgICAkRGF0YTo6RHVtcGVyOjpQdXJpdHkgPSAxOw0KPiAgICAgJERhdGE6OkR1
bXBlcjo6RGVlcGNvcHkgPSAxOw0KPiANCj4gICAgIGlmIChvcGVuKEZELCAiPiRSQ0ZJTEUi
KSkNCj4gICAgIHsNCj4gCWlmIChkZWZpbmVkICZEYXRhOjpEdW1wZXI6OkR1bXB4cykNCj4g
CXsNCj4gCSAgICBwcmludCBGRCBEYXRhOjpEdW1wZXItPkR1bXB4cyhbJFBSRUZTXSwgWydQ
UkVGUyddKTsNCj4gCX0NCj4gCWVsc2UNCj4gCXsNCj4gCSAgICBwcmludCBGRCBEYXRhOjpE
dW1wZXItPkR1bXAoWyRQUkVGU10sIFsnUFJFRlMnXSk7DQo+IAl9DQo+IA0KPiAJcHJpbnQg
RkQgIjE7XG4iOw0KPiAJY2xvc2UoRkQpOw0KPiAgICAgfQ0KPiAgICAgZWxzZQ0KPiAgICAg
ew0KPiAJUGlsb3RNZ3I6Om1zZygiVW5hYmxlIHRvIHNhdmUgcHJlZmVyZW5jZXMgdG8gJFJD
RklMRSEiKTsNCj4gICAgIH0NCj4gfQ0K