Re: PGP version 5

From: Ian Goodyer (goodyer@pobox.com)
Date: Thu, 23 Apr 1998 17:11:35 +0100 (BST)

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.

---559023410-851401618-893338921=:1268
Content-Type: TEXT/PLAIN; CHARSET=US-ASCII
Content-ID: <Pine.SOL.3.96.980423151111.1787C@flemming>

> Ian Goodyer <goodyer@well.ox.ac.uk> wrote:
> >On Sun, 19 Apr 1998, Mark Shaw wrote:
> >> >>
> >> >> Has anyone out there successfully gotten YARN/YES working with
> >> >> PGP 5.0? Any pointers?
> >> >
> >> >Yes, I have it working in OS/2 with a couple of .cmd files. If you want
> >> >them I can give them to you when I get home this evening.

SNIP SNIP SNIP

> So, um, can you post or email them, or point me to them?
>

OK. This is what I have so far. I have only modified the decryption
files (pgpd.cmd and pgpf.cmd) to work with v5.0. The encryption cmd file
is a bit trickier to write as each recipient must have a separate -r
switch preceeding it making parsing a bit trickier. It isn't too hard but
I haven't really had the time.

Your config file should look something like this:

# program that encrypts a message with the recipient's public key
encrypt=cmd /c pgpenc.cmd %f %o

# program that decrypts a message and writes the plaintext to a file
decrypt=cmd.exe /c %d\pgpf.cmd %f %o

# program that decrypts and displays a message
decrypt-view=cmd.exe /c %d\pgpd.cmd %f

and then place these three cmd files in your path.

You also should look at pgpenc.cmd and change the KeyID for your keys at
the top of the file. Finally this script does some basic remailing
functions and lets you choose from a couple of keys as well which may be
useful to some people. As I say pgpenc.cmd it doesn't work with v5 yet.
If anyone has more time that me .......

Anyway I hope that it helps. Let me know.
ian

---559023410-851401618-893338921=:1268
Content-Type: TEXT/PLAIN; CHARSET=US-ASCII; NAME="pgpd.cmd"
Content-Transfer-Encoding: BASE64
Content-ID: <Pine.SOL.3.96.980423144201.1268B@flemming>
Content-Description:

LyogcGdwZC5jbWQgLSBjaGVjayBzaWcsIGRlY3J5cHQgYW5kIHRoZW4gZGlz
cGxheSBhIHBncCBtZXNzYWdlICovDQ0KDQ0KLyogTG9hZCB0aGUgZnVuY3Rp
b25zIHRoYXQgd2UgbmVlZCAgKi8NDQpjYWxsIFJ4RnVuY0FkZCAnU3lzTG9h
ZEZ1bmNzJywgJ1JleHhVdGlsJywgJ1N5c0xvYWRGdW5jcycNDQpjYWxsIFN5
c0xvYWRGdW5jcw0NCg0NCi8qIFlhcm4gc2VuZHMgdGhpcyBzY3JpcHQgdGhl
IGZpbGVuYW1lIGNvbnRhaW5pbmcgdGhlIHVuZW5jcnlwdGVkIG1lc3NhZ2Us
IGZvbGxvd2VkIGJ5ICAqLw0NCi8qIHRoZSBmaWxlbmFtZSB0aGF0IGl0IHdh
bnRzIHRoZSBlbmNyeXB0ZWQgbWVzc2FnZSB0byBiZSBzdG9yZWQgaW4gICAg
ICAgICAgICAgICAgICAgICAqLw0NCnBhcnNlIGFyZyBmaWxlbmFtZQ0NCg0N
Cg0NCi8qICBDcmVhdGUgYSBtZW51ICAgICovDQ0KJ0BlY2hvIG9mZicNDQpz
YXkgJycNDQpzYXkgJyAgUEdQRC5DTUQgIC0gIFdyaXR0ZW4gYnkgSWFuIEdv
b2R5ZXIgLSBKYW4gOTggJw0NCnNheSAnJw0NCnNheSAnIFdoYXQgdmVyc2lv
biBvZiBQR1AgZG8geW91IHdhbnQgdG8gdXNlPycNDQpzYXkgJyAgICAxLiAg
VmVyc2lvbiAyLjYuM2kgb3IgMi42LjI/Jw0NCnNheSAnICAgIDIuICBWZXJz
aW9uIDUuMGknDQ0Kc2F5ICcnDQ0Kc2F5ICcgQW55IG90aGVyIGtleSB0byBl
eGl0Jw0NCg0NCi8qICBXYWl0IGZvciBhIHJlc3BvbnNlIGFuZCB0aGVuIGRv
IHRoZSBkZWNyeXB0aW9uIGFjY29yZGluZyB0byB0aGUgYW5zd2VyICAgICAg
ICAgICAgICAgKi8NDQpyZXNwb25zZSA9IFN5c0dldEtleSgnTk9FQ0hPJykN
DQppZiByZXNwb25zZSA9ICcxJyB0aGVuDQ0KICAgZG8NDQogICAncGdwICcg
ZmlsZW5hbWUnIC1vIHRlbXAudHh0Jw0NCiAgIC8qIFBhdXNlIGFmdGVyIHRo
ZSBzaWcgY2hlY2sgYW5kIHRoZW4gZGlzcGxheSB0aGUgbWVzc2FnZSAqLw0N
CiAgIHNheSAnUHJlc3MgYW55IGtleSB0byBzZWUgcGxhaW50ZXh0Jw0NCiAg
IGR1bW15ID0gY2hhcmluKCkNDQogICAndHlwZSB0ZW1wLnR4dCB8bW9yZScN
DQogICAvKiBXaXBlIHRoZSBwbGFpbnRleHQgZmlsZSAoY2FuJ3QgYmUgdG9v
IGNhcmVmdWwhKSAqLw0NCiAgICdwZ3AgLXcgdGVtcC50eHQnDQ0KICAgZW5k
DQ0KDQ0KaWYgcmVzcG9uc2UgPSAnMicgdGhlbg0NCiAgICAvKiB2ZXJzaW9u
IDUgaGFzIGl0cyBvd24gaW50ZXJuYWwgcGFnZXIgICovDQ0KICAgJ3BncDUg
diAtbScgZmlsZW5hbWUNDQoNDQovKiBQYXVzZSBhbmQgdGhlbiByZXR1cm4g
dG8geWFybiAqLw0NCnBhdXNlDQ0KZXhpdA0NCg0NCg==
---559023410-851401618-893338921=:1268
Content-Type: TEXT/PLAIN; CHARSET=US-ASCII; NAME="PGPF.cmd"
Content-Transfer-Encoding: BASE64
Content-ID: <Pine.SOL.3.96.980423144201.1268C@flemming>
Content-Description:

LyogcGdwZi5jbWQgLSBkZWNyeXB0IHBncCBtZXNzYWdlIGFuZCB3cml0ZSB0
byB5YXJuIGZvbGRlciBvciBmaWxlICovDQ0KDQ0KLyogTG9hZCB0aGUgZnVu
Y3Rpb25zIHRoYXQgd2UgbmVlZCAgKi8NDQpjYWxsIFJ4RnVuY0FkZCAnU3lz
TG9hZEZ1bmNzJywgJ1JleHhVdGlsJywgJ1N5c0xvYWRGdW5jcycNDQpjYWxs
IFN5c0xvYWRGdW5jcw0NCg0NCi8qIFlhcm4gc2VuZHMgdGhpcyBzY3JpcHQg
dGhlIGZpbGVuYW1lIGNvbnRhaW5pbmcgdGhlIHVuZW5jcnlwdGVkIG1lc3Nh
Z2UsIGZvbGxvd2VkIGJ5ICAqLw0NCi8qIHRoZSBmaWxlbmFtZSB0aGF0IGl0
IHdhbnRzIHRoZSBlbmNyeXB0ZWQgbWVzc2FnZSB0byBiZSBzdG9yZWQgaW4g
ICAgICAgICAgICAgICAgICAgICAqLw0NCnBhcnNlIGFyZyBmaWxlbmFtZSBv
dXRwdXQNDQoNDQoNDQovKiAgQ3JlYXRlIGEgbWVudSAgICAqLw0NCidAZWNo
byBvZmYnDQ0Kc2F5ICcnDQ0Kc2F5ICcgIFBHUEYuQ01EICAtICBXcml0dGVu
IGJ5IElhbiBHb29keWVyIC0gSmFuIDk4ICcNDQpzYXkgJycNDQpzYXkgJyBX
aGF0IHZlcnNpb24gb2YgUEdQIGRvIHlvdSB3YW50IHRvIHVzZT8nDQ0Kc2F5
ICcgICAgMS4gIFZlcnNpb24gMi42LjNpIG9yIDIuNi4yPycNDQpzYXkgJyAg
ICAyLiAgVmVyc2lvbiA1LjBpJw0NCnNheSAnJw0NCnNheSAnIEFueSBvdGhl
ciBrZXkgdG8gZXhpdCcNDQoNDQovKiAgV2FpdCBmb3IgYSByZXNwb25zZSBh
bmQgdGhlbiBkbyB0aGUgZW5jcnlwdGlvbiBhY2NvcmRpbmcgdG8gdGhlIGFu
c3dlciAgICAgICAgICAgICAgICovDQ0KcmVzcG9uc2UgPSBTeXNHZXRLZXko
J05PRUNITycpDQ0KaWYgcmVzcG9uc2UgPSAnMScgdGhlbg0NCiAgICdwZ3Ag
JyBmaWxlbmFtZScgLW8gJ291dHB1dA0NCmlmIHJlc3BvbnNlID0gJzInIHRo
ZW4NDQogICAncGdwNSB2IC1vICdvdXRwdXQgZmlsZW5hbWUNDQoNDQovKiBQ
YXVzZSBhbmQgdGhlbiByZXR1cm4gdG8geWFybiAqLw0NCnNheSAnUHJlc3Mg
cmV0dXJuIHRvIHJlZW50ZXIgeWFybicNDQpkdW1teSA9IGNoYXJpbigpDQ0K
ZXhpdA0NCg0NCg==
---559023410-851401618-893338921=:1268
Content-Type: TEXT/PLAIN; CHARSET=US-ASCII; NAME="pgpenc.cmd"
Content-Transfer-Encoding: BASE64
Content-ID: <Pine.SOL.3.96.980423144201.1268D@flemming>
Content-Description:

LyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQR1BFTkMu
Q01EICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8N
DQovKiBBIFJFWFggc2NyaXB0IHRoYXQgaW5jcmVhc2VzcyBQR1AgZW5jcnlw
dGlvbiBvcHRpb25zIGZvciB1c2Ugd2l0aCB5YXJuICAgICAgICAgICAgICAq
Lw0NCg0NCm5vcm1hbGtleT0nMHg1MTE4NzY5MScgIC8qICBSZXBsYWNlIGFs
dGVyIHRoaXMgbGluZSB0byB5b3VyIHByaW1hcnkga2V5IElEICAgICAgICAg
ICAgICovDQ0KYW5vbmtleT0nMHg/Pz8/Pz8/PycgICAgIC8qICBSZXBsYWNl
IHRoZSA/cyB3aXRoIHlvdXIgbnltIElEICAoaWYgeW91IGhhdmUgb25lKSAg
ICAgICAgKi8NDQoNDQoNDQovKg0NCiAgTk9URVM6IFRvIGdldCB0aGlzIHNj
cmlwdCB0byB3b3JrIHByb3Blcmx5IHlvdSBzaG91bGQgZ2V0IGEgY29weSBv
ZiBjaGFpbi56aXAgYW5kDQ0KICBmbTJ1dGlscy56aXAgZnJvbSBIb2JiZXMg
YW5kIHBsYWNlIGNoYWluLmV4ZSBhbmQgd2lwZS5leGUgaW4geW91ciBwYXRo
DQ0KICBZb3Ugd2lsbCBhbHNvIG5lZWQgYSBmdWxseSBmdW5jdGlvbmFsIGFu
ZCBpbnN0YWxsZWQgdmVyc2lvbiBvZiBQR1ANDQogIFBsZWFzZSBhbHNvIHVw
ZGF0ZSB0aGUgcmVmZXJlbmNlIHRvIGNoYWluLmluaSBiZWxvdyB0byByZWZs
ZWN0IHRoZSBsb2NhdGlvbiBvZg0NCiAgeW91ciBmaWxlLiAgWW91IG1heSBh
bHNvIHdhbnQgdG8gdXBkYXRlIHRoZSBtZW51IHNvIHRoYXQgaXQgcmVmZXJz
IHRvIHlvdSBhbmQgbm90DQ0KICBUbyBnZXQgdGhpcyB0byBydW4gd2l0aCB5
YXJuIHNpbXBseSBjYWxsIHRoaXMgZmlsZSBwZ3BlbmMuY21kIGFuZCAgcGxh
Y2UgaXQgaW4geW91cg0NCiAgcGF0aCBhbmQgdGhlbiByZXBsYWNlIHRoZSBs
aW5lOg0NCg0NCiAgICBlbmNyeXB0PXBncCAtZWF0ICVmIC1vICVvDQ0KICB3
aXRoIHRoZSBsaW5lDQ0KICAgICBlbmNyeXB0PWNtZCAvYyBwZ3BlbmMuY21k
ICVmICVvDQ0KDQ0KICBpbiB5b3VyICVIT01FJVx5YXJuXGNvbmZpZyBmaWxl
IGFuZCB5b3UgYXJlIHNldCB0byBnby4NDQogIEkgY2FuIGJlIHJlYWNoZWQg
YXQgZW1haWwgZ29vZHllckBwb2JveC5jb20gaWYgeW91IGhhdmUgYW55IHBy
b2JsZW1zLg0NCiovDQ0KDQ0KLyogTG9hZCB0aGUgZnVuY3Rpb25zIHRoYXQg
d2UgbmVlZCAgKi8NDQpjYWxsIFJ4RnVuY0FkZCAnU3lzTG9hZEZ1bmNzJywg
J1JleHhVdGlsJywgJ1N5c0xvYWRGdW5jcycNDQpjYWxsIFN5c0xvYWRGdW5j
cw0NCg0NCi8qIFlhcm4gc2VuZHMgdGhpcyBzY3JpcHQgdGhlIGZpbGVuYW1l
IGNvbnRhaW5pbmcgdGhlIHVuZW5jcnlwdGVkIG1lc3NhZ2UsIHRoZSBmaWxl
bmFtZSAqLw0NCi8qIHRoYXQgaXQgd2FudHMgdGhlIGVuY3J5cHRlZCBtZXNz
YWdlIHRvIGJlIHN0b3JlZCBpbiBhbmQgdGhlbiBhIGxpc3Qgb2YgYWxsIG9m
IHRoZSAgICAqLw0NCi8qIGFkZHJlc3NlcyBpbiB0aGUgVG86IENjOiBhbmQg
QmNjOiBmaWVsZHMuICAgVGhlIG5leHQgbGluZSBwdXRzIHRoZXNlIGFyZ3Vt
ZW50cyBpbnRvICAqLw0NCi8qIGFwcHJvcHJpYXRlIHZhcmlhYmxlcyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAqLw0NCnBhcnNlIGFyZyBmaWxlbmFtZSBvdXRwdXQg
YWRkcmVzc2VzDQ0KDQ0KLyogIENyZWF0ZSBhIG1lbnUgICAgKi8NDQonQGVj
aG8gb2ZmJw0NCnNheSAnJw0NCnNheSAnICBQR1BFTkMuQ01EICAtICBXcml0
dGVuIGJ5IElhbiBHb29keWVyIC0gSnVuZSA5NiAnDQ0Kc2F5ICcnDQ0Kc2F5
ICcgV2hhdCBkbyB5b3Ugd2FudCB0byBkbz8nDQ0Kc2F5ICcgICAgMS4gIEVu
Y3J5cHQgbWVzc2FnZScNDQpzYXkgJyAgICAyLiAgU2lnbiB0aGUgbWVzc2Fn
ZSB3aXRoIGdvb2R5ZXJAdm9pY2VuZXQuY29tJw0NCnNheSAnICAgIDMuICBT
aWduIHRoZSBtZXNzYWdlIHdpdGggYW5vbnltb3VzIGhlYWRlcicNDQpzYXkg
JyAgICA0LiAgRW5jcnlwdCBhbmQgc2lnbiB3aXRoIGdvb2R5ZXJAdm9pY2Vu
ZXQuY29tJw0NCnNheSAnICAgIDUuICBFbmNyeXB0IGFuZCBzaWduIHdpdGgg
YW5vbnltb3VzIGhlYWRlcicNDQpzYXkgJyAgICA2LiAgRW5jcnlwdCBhbmQg
Zm9ybWF0IGZvciBhbm9ueW1vdXMgcmVtYWlsZXInDQ0Kc2F5ICcgICAgNy4g
IENoYWluIG1lc3NhZ2UgdGhyb3VnaCByZW1haWxlcnMnDQ0Kc2F5ICcnDQ0K
c2F5ICcgQW55IG90aGVyIGtleSB0byBleGl0Jw0NCg0NCg0NCi8qIFRoZSBm
b2xsb3dpbmcgbGluZSBpcyBvbmx5IG5lZWRlZCB3aXRoIHRoZSBVUyB2ZXJz
aW9uIG9mIFBHUC4gIFRoZSBNSVQgdmVyc2lvbiBtYWtlcyAgKi8NDQovKiB0
aGUgZmlsZSBjaXBoZXIuYXNjIGluc3RlYWQgb3IgY2lwaGVyIHVubGVzcyB0
aGUgZmlsZW5hbWUgdGhhdCBpcyBwYXNzZWQgdG8gaXQgICAgICAgICovDQ0K
LyogZXhwbGljaXR5IGVuZHMgd2l0aCBhIHBlcmlvZCAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAq
Lw0NCm91dHB1dCA9IG91dHB1dCB8fCAnLicNDQoNDQovKiAgV2FpdCBmb3Ig
YSByZXNwb25zZSBhbmQgdGhlbiBkbyB0aGUgZW5jcnlwdGlvbiBhY2NvcmRp
bmcgdG8gdGhlIGFuc3dlciAgICAgICAgICAgICAgICovDQ0KcmVzcG9uc2Ug
PSBTeXNHZXRLZXkoJ05PRUNITycpDQ0KaWYgcmVzcG9uc2UgPSAnMScgdGhl
bg0NCiAgICdwZ3AgLXdlYXQnIGZpbGVuYW1lJyAtbyAnb3V0cHV0IGFkZHJl
c3Nlcw0NCmlmIHJlc3BvbnNlID0gJzInIHRoZW4NDQogICAncGdwIC1zYXQg
J2ZpbGVuYW1lJyAtbyAnb3V0cHV0JyAtdSAnbm9ybWFsa2V5DQ0KaWYgcmVz
cG9uc2UgPSAnMycgdGhlbg0NCiAgICdwZ3AgLXNhdCAnZmlsZW5hbWUnIC1v
ICdvdXRwdXQnIC11ICdhbm9ua2V5DQ0KaWYgcmVzcG9uc2UgPSAnNCcgdGhl
bg0NCmRvDQ0KICAgYWRkcmVzc2VzID0gYWRkcmVzc2VzIHx8ICcgJyB8fCBu
b3JtYWxrZXkgLyogUmVtb3ZlIHRoaXMgbGluZSBpZiB5b3UgZG9uJ3Qgd2Fu
dCB0byBiZSAgKi8NDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAvKiBhYmxlIHRvIGRlY3J5cHQgdGhlIG1lc3NhZ2Vz
IHlvdSB3cml0ZSAgICAqLw0NCiAgICdwZ3AgLXdlYXN0ICdmaWxlbmFtZScg
LW8gJ291dHB1dCBhZGRyZXNzZXMnIC11ICdub3JtYWxrZXkNDQplbmQNDQpp
ZiByZXNwb25zZSA9ICc1JyB0aGVuDQ0KICAgJ3BncCAtd2Vhc3QgJ2ZpbGVu
YW1lJyAtbyAnb3V0cHV0IGFkZHJlc3NlcycgLXUgJ2Fub25rZXkNDQppZiBy
ZXNwb25zZSA9ICc2JyB0aGVuICAgLyogIFdlIGFyZSBnb2luZyB0byBhZGQg
dGhlICdFbmNyeXB0ZWQ6IFBHUCcgbGluZSBiZWZvcmUgICAgICAgICAqLw0N
CiAgICAgICAgICAgICAgICAgICAgICAgICAvKiAgdGhlIEFTQ0lJIGFybW91
cmVkIG1lc3NhZ2UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICovDQ0KZG8NDQogICB0ZW1wZmlsZSA9IHZhbHVlKCdob21lJywsb3MyZW52
aXJvbm1lbnQpIHx8ICdceWFyblx0ZW1wLicNDQogICAncGdwIC13ZWF0ICdm
aWxlbmFtZSAnIC1vICd0ZW1wZmlsZSBhZGRyZXNzZXMNDQogICBkZXN0cmVh
bSA9IHN0cmVhbShvdXRwdXQsJ0MnLCdvcGVuJykNDQogICB0ZW1wb3BlbiA9
IHN0cmVhbSh0ZW1wZmlsZSwnQycsJ29wZW4nKQ0NCiAgIGR1bW15ID0gbGlu
ZW91dChvdXRwdXQsJzo6JywxKQ0NCiAgIGR1bW15ID0gbGluZW91dChvdXRw
dXQsJ0VuY3J5cHRlZDogUEdQJykNDQogICBkdW1teSA9IGxpbmVvdXQob3V0
cHV0LCcnKQ0NCiAgIGRvIHdoaWxlIGxpbmVzKHRlbXBmaWxlKQ0NCiAgICAg
IHRleHQgPSBsaW5laW4odGVtcGZpbGUpDQ0KICAgICAgZHVtbXkgPSBsaW5l
b3V0KG91dHB1dCx0ZXh0KQ0NCiAgIGVuZA0NCiAgIHRlbXBvcGVuID0gc3Ry
ZWFtKHRlbXBmaWxlLCdDJywnY2xvc2UnKQ0NCiAgICd3aXBlIC95ICd0ZW1w
ZmlsZSAnPm51bGwnICAgLyogIFdpcGUgaXMgYSBmcmVld2FyZSBwcm9ncmFt
IGZyb20gTWFyayBLaW1lcy4gIEl0DQ0KICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaXMgcGFydCBvZiB0aGUgZm11dGlscy56aXAgcGFj
a2FnZS4gIEV4Y2VsbGVudA0NCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHByb2dyYW0uICBJIGhhdmUgaXQgaW4gbXkgcGF0aCAgICAg
ICAgICAgICAgICAgICAgICAqLw0NCmVuZA0NCmlmIHJlc3BvbnNlID0gJzcn
IHRoZW4gICAgLyogIFVzZSB0aGUgZnJlZXdhcmUgcHJvZ3JhbSBjaGFpbi5l
eGUsIHdoaWNoIGlzIHdyaXR0ZW4gYnkNDQogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBIYWwgRmlubmV5IChvbiBIb2JiZXMpIHRvIGNoYWluIGEg
bWVzc2FnZSB0aHJvdWdoIG1hbnkNDQogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICByZW1haWxlcnMgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgKi8NDQpkbw0NCiAgIGNvbW1hbmQgPSAn
JyAgICAgICAgICAgLyogIFdlIGFyZSBnb2luZyB0byBidWlsZCB0aGUgY2hh
aW4gY29tbWFuZCBpbiB0aGlzIHZhcmlhYmxlICAqLw0NCiAgIHNheSAnRG8g
eW91IHdhbnQgdG8gZW5jcnlwdCB0aGUgbWVzc2FnZSBmb3IgdGhlIHJlY2lw
aWVudD8nDQ0KICAgcmVzcG9uc2UgPSBTeXNHZXRLZXkoJ05PRUNITycpDQ0K
ICAgaWYgcmVzcG9uc2UgPSAneScgfCByZXNwb25zZSA9ICdZJyB0aGVuIGNv
bW1hbmQgPSBjb21tYW5kIHx8ICctZSAnDQ0KICAgc2F5ICdXaGF0IGlzIHRo
ZSBzdWJqZWN0IGZvciB0aGUgbWVzc2FnZT8gKHJldHVybiBmb3Igbm9uZSkn
DQ0KICAgcGFyc2UgcHVsbCBzdWJqZWN0DQ0KICAgY29tbWFuZCA9IGNvbW1h
bmQgfHwgJy1zICInIHx8IHN1YmplY3QgfHwgJyIgJyAgICAgICAvKiAgIEFk
ZCB0aGUgc3ViamVjdCBsaW5lICAgICAgICovDQ0KICAgY29tbWFuZCA9IGNv
bW1hbmQgfHwgJyInIHx8IGFkZHJlc3NlcyB8fCAnIiAnICAvKiAgQWRkIHRo
ZSBhZGRyZXNzZXMgdG8gc2VuZCB0byAgICAgICovDQ0KICAgc2F5ICdXaGF0
IHJlbWFpbGVycyBkbyB5b3Ugd2FudCB0byBjaGFpbiB0aHJvdWdoPycNDQog
ICBzYXkgJ0N1cnJlbnRseSByZWxpYWJsZSByZW1haWxlcnMgYXJlOicNDQog
ICBzYXkgJycNDQogICAndHlwZSBnOlxhcHBzXHBncFxjaGFpbi5pbmknICAg
IC8qIENoYWluLmluaSBjb250YWlucyB0aGUgbGlzdCBvZiBjdXJyZW50IHJl
bWFpbGVycyAgKi8NDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIC8qIEl0cyBmb3JtYXQgaXMgaW4gdGhlIGNoYWluIGRvY3VtZW50YXRp
b24gICAgICAgICAgKi8NDQogICBzYXkgJycNDQogICBzYXkgJ0VudGVyIHRo
ZWlyIHVuaXF1ZSBuYW1lcyBzZXBhcmF0ZWQgYnkgYSBzcGFjZScNDQogICBw
YXJzZSBwdWxsIGZpcnN0b25lIHJlbWFpbGVycw0NCiAgIGNvbW1hbmQgPSBj
b21tYW5kIHx8IGZpcnN0b25lIHJlbWFpbGVycyB8fCAnIDwnZmlsZW5hbWUg
JyA+J291dHB1dA0NCiAgICdjaGFpbiAnY29tbWFuZCAgICAgICAgICAgICAv
KiAgY2hhaW4uZXhlIGlzIGluIG15IHBhdGggICAqLw0NCiAgICd3aXBlIC95
ICdmaWxlbmFtZSAnPm51bGwnICAvKiAgTWFrZSBzdXJlIHRoYXQgdGhlcmUg
aXNuJ3QgYW4gdW5lbmNyeXB0ZWQgY29weQ0NCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgb2YgeW91ciBtZXNzYWdlIGxheWluZyBhcm91
bmQgICAqLw0NCiAgIHNheSAnJw0NCiAgIHNheSAnJw0NCiAgIHNheSAnICAg
ICAgICAgICAgICAgICAgICAgICAgIE5PVEU6Jw0NCiAgIHNheSAnJw0NCiAg
IHNheSAnIFlvdSBhcmUgZG9uZS4gIENvbmdyYXR1bGF0aW9ucyEgIFdoZW4g
aW4gWWFybiBsaXN0IHlvdXIgcmVwbGllcyBhbmQnDQ0KICAgc2F5ICcgZWRp
dCB0aGlzIG1lc3NhZ2Ugc28gdGhhdCB5b3Ugc2VuZCBpdCB0byAnZmlyc3Rv
bmUnIGFuZCBpdCB3aWxsIGJlJw0NCiAgIHNheSAnIGZvcndhcmRlZCB0byB0
aGUgcmVjaXBpZW50Jw0NCiAgIHNheSAnJw0NCmVuZA0NCnNheSAnUHJlc3Mg
cmV0dXJuIHRvIHJlZW50ZXIgeWFybicNDQpkdW1teSA9IGNoYXJpbigpDQ0K
ZXhpdA0NCg0NCg0NCg==
---559023410-851401618-893338921=:1268--