The qpopper list archive ending on 28 Sep 2000


Topics covered in this issue include:

  1. Re: Download times
       David Aldridge <dlac at aldridge dot com>
       Mon, 18 Sep 2000 09:43:19 -0500
  2. Re: Download times
       "Julian Y. Koh" <kohster at mac dot com>
       Mon, 18 Sep 2000 09:56:55 -0500
  3. Re: Download times
       "Julian Y. Koh" <kohster at mac dot com>
       Mon, 18 Sep 2000 10:39:37 -0500
  4. Re: Download times
       John Gonzalez/netMDC admin <ekool at ns1.netmdc dot com>
       Mon, 18 Sep 2000 09:34:27 -0600 (MDT)
  5. Re: Time between pops
       "Jeff A. Earickson" <jaearick at colby dot edu>
       Mon, 18 Sep 2000 11:02:50 -0400 (EDT)
  6. Re: Time between pops
       "Jeff A. Earickson" <jaearick at colby dot edu>
       Mon, 18 Sep 2000 11:22:21 -0400 (EDT)
  7. Re: Download times
       John Gonzalez/netMDC admin <ekool at ns1.netmdc dot com>
       Mon, 18 Sep 2000 10:10:32 -0600 (MDT)
  8. Disappearing mail....
       <maillist at winterfell.traverse dot net>
       Mon, 18 Sep 2000 14:20:29 -0400 (EDT)
  9. email messages are concatenated together
       Michel Heirbaut <mht at rtbf dot be>
       Mon, 18 Sep 2000 21:19:28 +0200 (MET DST)
 10. Re: email messages are concatenated together
       Qpopper Support <qpopper at qualcomm dot com>
       Mon, 18 Sep 2000 14:34:41 -0700
 11. APOP Help:  Server gives no valid SASL mechanisms
       "Corin Royal Drummond" <corin at savagebeast dot com>
       Mon, 18 Sep 2000 20:16:09 -0700
 12. Re: Download times
       "Kenneth Porter" <shiva at well dot com>
       Mon, 18 Sep 2000 18:29:18 -0700
 13. Re: Download times
       Alan Brown <alan at manawatu.gen dot nz>
       Tue, 19 Sep 2000 16:17:52 +1200 (NZST)
 14. Re: APOP Help:  Server gives no valid SASL mechanisms
       Qpopper Support <qpopper at qualcomm dot com>
       Mon, 18 Sep 2000 22:41:02 -0700
 15. Re: email messages are concatenated together
       Gerhard Gonter <gonter at maestria.wu-wien.ac dot at>
       Tue, 19 Sep 2000 10:55:18 +0200 (MES)
 16. Re: APOP Help: Server gives no valid SASL mechanisms 
       Ken Hornstein <kenh at cmf.nrl.navy dot mil>
       Tue, 19 Sep 2000 13:14:00 -0400
 17. RE: APOP Help: Server gives no valid SASL mechanisms 
       "Corin Royal Drummond" <corin at savagebeast dot com>
       Tue, 19 Sep 2000 13:29:07 -0700
 18. Re: APOP Help: Server gives no valid SASL mechanisms 
       Frank Pineau <frank at pineaus dot com>
       Tue, 19 Sep 2000 16:57:49 -0400
 19. Additional stats functionality?
       "Scott Donovan" <Scott.Donovan at tassie.net dot au>
       Wed, 20 Sep 2000 08:07:57 +1000
 20. 3.1b11 - goes rogue
       "Scott Donovan" <Scott.Donovan at tassie.net dot au>
       Wed, 20 Sep 2000 08:06:25 +1000
 21. Re: 3.1b11 - goes rogue
       Qpopper Support <qpopper at qualcomm dot com>
       Tue, 19 Sep 2000 17:23:38 -0700
 22. sslwrap + qpopper
       Nuno Teixeira <nuno.teixeira at pt-quorum dot com>
       Fri, 22 Sep 2000 00:41:54 +0100
 23. Re: sslwrap + qpopper
       Valter Nordh <valter at che.chalmers dot se>
       Fri, 22 Sep 2000 11:32:07 +0200
 24. Re: sslwrap + qpopper
       Karl Hoppel <hoppel at opt.nrl.navy dot mil>
       Fri, 22 Sep 2000 06:30:02 -0400
 25. Re: sslwrap + qpopper
       Qpopper Support <qpopper at qualcomm dot com>
       Fri, 22 Sep 2000 18:11:00 -0700
 26. Re: sslwrap + qpopper
       "Kenneth Porter" <shiva at well dot com>
       Fri, 22 Sep 2000 16:17:53 -0700
 27. SSLWrap vs STunnel
       "Nuno Teixeira" <nuno.teixeira at pt-quorum dot com>
       Sat, 23 Sep 2000 14:29:03 +0100
 28. APOP
       Nuno Teixeira <nuno.teixeira at pt-quorum dot com>
       Sun, 24 Sep 2000 21:40:40 +0100
 29. Re: sslwrap + qpopper
       Admin Mailing Lists <mlist at intergrafix dot net>
       Mon, 25 Sep 2000 10:05:00 -0400 (EDT)
 30. Syslogging of qpopper
       Joerg Hartmann <jhartmann at dessau.mediadesign dot de>
       Wed, 27 Sep 2000 14:53:00 +0200
 31. Re: Syslogging of qpopper
       Jason Englander <jason at interl dot net>
       Wed, 27 Sep 2000 09:50:19 -0500 (CDT)
 32. re: stunnel
       hypnose at t-online dot de (guenter wessling)
       Thu, 28 Sep 2000 08:28:07 +0100
 33. re: stunnel
       Valter Nordh <valter at che.chalmers dot se>
       Thu, 28 Sep 2000 12:15:02 +0200
 34. virus scan for qpopper?
       Mailman <mailman at mail.bnetmd dot net>
       Thu, 28 Sep 2000 07:01:52 -0400 (EDT)
 35. LDAP
       "Franco Catena" <catena at surson.com dot br>
       Thu, 28 Sep 2000 09:08:47 -0300
 36. Re: virus scan for qpopper?
       Len Conrad <lconrad at Go2France dot com>
       Thu, 28 Sep 2000 14:49:43 +0200
 37. 3.1?
       Carrer Yuri <yurj at alfa dot it>
       Thu, 28 Sep 2000 15:15:19 +0200 (MET DST)
 38. Re: virus scan for qpopper?
       Jeff Earickson <jaearick at colby dot edu>
       Thu, 28 Sep 2000 10:13:38 -0400 (EDT)
 39. Re: virus scan for qpopper?
       "penda paul" <paul_penda at hotmail dot com>
       Thu, 28 Sep 2000 14:34:39 GMT
 40. Re: LDAP -- 2.
       Peter Evans <peter at gol dot com>
       Thu, 28 Sep 2000 23:52:06 +0900
 41. Re: virus scan for qpopper?
       Len Conrad <lconrad at Go2France dot com>
       Thu, 28 Sep 2000 16:42:11 +0200
 42. RE: virus scan for qpopper?
       "InvictaNet Customer Support" <support at invictanet.co dot uk>
       Thu, 28 Sep 2000 18:20:41 +0100
 43. Re: 3.1?
       Qpopper Support <qpopper at qualcomm dot com>
       Thu, 28 Sep 2000 10:24:31 -0700
 44. Re: 3.1?
       Frank Pineau <frank at pineaus dot com>
       Thu, 28 Sep 2000 13:58:17 -0400
 45. RE: virus scan for qpopper?
       Leonard Hermens <Leonard.Hermens at rcity dot com>
       Thu, 28 Sep 2000 10:43:26 -0700
 46. RE: virus scan for qpopper?
       Admin Mailing Lists <mlist at intergrafix dot net>
       Thu, 28 Sep 2000 15:45:27 -0400 (EDT)
 47. re: stunnel
       hypnose at t-online dot de (guenter wessling)
       Thu, 28 Sep 2000 23:25:29 +0100
 48. Re: virus scan for qpopper?
       Alan Brown <alan at manawatu.gen dot nz>
       Fri, 29 Sep 2000 09:41:27 +1200 (NZST)
 49. Re: virus scan for qpopper?
       Alan Brown <alan at manawatu.gen dot nz>
       Fri, 29 Sep 2000 10:10:10 +1200 (NZST)
 50. nosuch user
       rudy <rudy at planetlink dot net>
       Thu, 28 Sep 2000 19:39:19 -0500

Date: Mon, 18 Sep 2000 09:43:19 -0500
From: David Aldridge <dlac at aldridge dot com>
Subject: Re: Download times

SMTP is not an efficient to move binary files.  They are converted into
ASCII form while enroute and grow several times their original size as a
result.  Of course, they are translated back to their original form by
the client upon receipt.

InvictaNet Customer Support wrote:
> 
> If one of our users is collecting a (say) 2mb email that has a compressed
> (zip or whatever) attachment, it takes a lot longer to download than the
> same sized email with an uncompressed attachment.
> 
> Has anybody else noticed this and is there any way to speed things up?
> (faint hope I know)
> 
> Martyn
> -----------------------------------------------------
> InvictaNet - The Internet in Plain English, Guaranteed
> http://www.invictanet.co.uk
> mailto:info at invictanet.co dot uk
> phone: 0870 7402252
> fax: +44 (0)1233 334001
> ------------------------------------------------------

--
David L. Aldridge
The Aldridge Company 713-403-9150 (fax: 713-621-1826)
http://www.aldridge.com/
Powered by Pentium/FreeBSD/Apache - Because it works.

Date: Mon, 18 Sep 2000 09:56:55 -0500
From: "Julian Y. Koh" <kohster at mac dot com>
Subject: Re: Download times

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

At 09:43 -0500 9/18/2000, David Aldridge wrote:
>SMTP is not an efficient to move binary files.  They are converted into
>ASCII form while enroute and grow several times their original size as a
>result.  Of course, they are translated back to their original form by
>the client upon receipt.

Whether or not SMTP is a good medium for file exchange (I personally think
email attachments are evil), the fact is that people are doing it, and
sadly more and more all the time.  Witness Eudora 5.0's new Eudora Sharing
Protocol (ESP), which relies on sending files as attachments....


-----BEGIN PGP SIGNATURE-----
Version: PGP 7.0
Comment: <http://charlotte.at.northwestern.edu/julian/pgppubkey.html>

iQA/AwUBOcYtNA5UB5zJHgFjEQI6hACgwoZp5h4IrqGpkDPBY+KVaVakhwoAnjz7
AFlG7oKJdKEAAJ3vvwwD0SvP
=Lbfn
-----END PGP SIGNATURE-----

-- 
Julian Y. Koh
kohster at mac dot com
PGP Public Key:<http://charlotte.at.northwestern.edu/julian/pgppubkey.html>

Date: Mon, 18 Sep 2000 10:39:37 -0500
From: "Julian Y. Koh" <kohster at mac dot com>
Subject: Re: Download times

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

At 09:34 -0600 9/18/2000, John Gonzalez/netMDC admin wrote:
>Yes of coures, but this does not change the fact that this is the
>fundamentally wrong way of doing things. It also does not change the fact
>that in order for the mail to be trasnferred, it will have to grow in
>size due to ASCII requirements as mentioned.

Absolutely true on all counts (although the first point is an opinion that
I just happen to share :):)).

However, the original question wasn't about the philosophy of attachments,
merely timeouts.

Just because I happen to hate attachments and styled text and HTML in
email doesn't mean that my users are going to stop using those things...
:)


-----BEGIN PGP SIGNATURE-----
Version: PGP 7.0
Comment: <http://charlotte.at.northwestern.edu/julian/pgppubkey.html>

iQA/AwUBOcY3OQ5UB5zJHgFjEQK0swCdHPyhvNUB818b+66js6bZgCnO3b4AmwZ2
BhtaoR1ZQHzjNiosal4uqDFY
=PTID
-----END PGP SIGNATURE-----

-- 
Julian Y. Koh
kohster at mac dot com
PGP Public Key:<http://charlotte.at.northwestern.edu/julian/pgppubkey.html>

Date: Mon, 18 Sep 2000 09:34:27 -0600 (MDT)
From: John Gonzalez/netMDC admin <ekool at ns1.netmdc dot com>
Subject: Re: Download times

On Mon, 18 Sep 2000, Julian Y. Koh wrote:

| At 09:43 -0500 9/18/2000, David Aldridge wrote:
| >SMTP is not an efficient to move binary files.  They are converted into
| >ASCII form while enroute and grow several times their original size as a
| >result.  Of course, they are translated back to their original form by
| >the client upon receipt.
| 
| Whether or not SMTP is a good medium for file exchange (I personally think
| email attachments are evil), the fact is that people are doing it, and
| sadly more and more all the time.  Witness Eudora 5.0's new Eudora Sharing
| Protocol (ESP), which relies on sending files as attachments....

Yes of coures, but this does not change the fact that this is the
fundamentally wrong way of doing things. It also does not change the fact
that in order for the mail to be trasnferred, it will have to grow in size
due to ASCII requirements as mentioned.

-- 
  _    __   _____      __   _________      
______________  /_______ ___  ____  /______  John Gonzalez/Net.Tech
__  __ \ __ \  __/_  __ `__ \/ __  /_  ___/ MDC Computers/netMDC!
_  / / / `__/ /_  / / / / / / /_/ / / /__ (505)439-0200/fax-437-3052
/_/ /_/\___/\__/ /_/ /_/ /_/\__,_/  \___/ http://www.netmdc.com
[---------------------------------------------[system info]-----------]
  9:30am  up 11 days, 14:59,  4 users,  load average: 0.27, 0.16, 0.16


Date: Mon, 18 Sep 2000 11:02:50 -0400 (EDT)
From: "Jeff A. Earickson" <jaearick at colby dot edu>
Subject: Re: Time between pops

  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 at docserver.cac.washington dot edu for more info.

--2006451189-684387517-969289370=:19225
Content-Type: TEXT/PLAIN; charset=US-ASCII

Hi,
   Attached is a patch file for 3.1b11 that will give you what you want
(among my other changes, see the CHANGES file).  See the item "-a
accesstime".  I would recommend about 10 to 15 seconds as a minimum
access time.  Works great at my site...

** Jeff A. Earickson, Ph.D                         PHONE: 207-872-3659
** Senior UNIX Sysadmin, Information Technology    EMAIL: jaearick at colby dot edu
** Colby College, 4214 Mayflower Hill,               FAX: 207-872-3555
** Waterville ME, 04901-8842
----------------------------------------------------------------------------

On Fri, 15 Sep 2000, Brad Groshok wrote:

> Date: Fri, 15 Sep 2000 10:08:42 -0400
> From: Brad Groshok <bgroshok at odyssey.on dot ca>
> To: Subscribers of Qpopper <qpopper at lists.pensive dot org>
> Subject: Time between pops
> 
> I seem to recall a thread or maybe just a message about
> being able to prevent users from popping mail off a mail server
> too often. But can's seem to find it in my archive.
> 
> Now with so many dedicated connections, cable and DSL I have
> users that just leave their mail client running checking for
> new mail every min 24hours/day. (Creating unnecessary load
> on our mail server)
> 
> Is there a way to control how often a user can read their mail.
> (Running qpopper 3.1b11)
> 
>      _/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
>     _/ Regards: Brad Groshok (bgroshok at odyssey.on dot ca)             _/
>    _/ President Odyssey Network Inc. http://www.odyssey.on.ca    _/
>   _/ London Ontario Canada PH:(519)660-8883 Fax:(519)660-6111   _/
> _/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
> 

--2006451189-684387517-969289370=:19225
Content-Type: TEXT/PLAIN; charset=US-ASCII; name="diffs.31b11.to.32b5"
Content-Transfer-Encoding: BASE64
Content-ID: <Pine.HPX.4.21.0009181102500.19225 at ithaca.offices.its.colby dot edu>
Content-Description: 
Content-Disposition: attachment; filename="diffs.31b11.to.32b5"

IyBUaGlzIGlzIGEgcGF0Y2ggZm9yIHFwb3BwZXIzLjFiMTEgdG8gdXBkYXRl
IGl0IHRvIHFwb3BwZXIzLjJiNQ0KIyANCiMgVG8gYXBwbHkgdGhpcyBwYXRj
aDoNCiMgU1RFUCAxOiBDaGRpciB0byB0aGUgc291cmNlIGRpcmVjdG9yeS4N
CiMgU1RFUCAyOiBSdW4gdGhlICdhcHBseXBhdGNoJyBwcm9ncmFtIHdpdGgg
dGhpcyBwYXRjaCBmaWxlIGFzIGlucHV0Lg0KIw0KIyBJZiB5b3UgZG8gbm90
IGhhdmUgJ2FwcGx5cGF0Y2gnLCBpdCBpcyBwYXJ0IG9mIHRoZSAnbWFrZXBh
dGNoJyBwYWNrYWdlDQojIHRoYXQgeW91IGNhbiBmZXRjaCBmcm9tIHRoZSBD
b21wcmVoZW5zaXZlIFBlcmwgQXJjaGl2ZSBOZXR3b3JrOg0KIyBodHRwOi8v
d3d3LnBlcmwuY29tL0NQQU4vYXV0aG9ycy9Kb2hhbl9Wcm9tYW5zL21ha2Vw
YXRjaC14LnkudGFyLmd6DQojIEluIHRoZSBhYm92ZSBVUkwsICd4JyBzaG91
bGQgYmUgMiBvciBoaWdoZXIuDQojDQojIFRvIGFwcGx5IHRoaXMgcGF0Y2gg
d2l0aG91dCB0aGUgdXNlIG9mICdhcHBseXBhdGNoJzoNCiMgU1RFUCAxOiBD
aGRpciB0byB0aGUgc291cmNlIGRpcmVjdG9yeS4NCiMgSWYgeW91IGhhdmUg
YSBkZWNlbnQgQm91cm5lLXR5cGUgc2hlbGw6DQojIFNURVAgMjogUnVuIHRo
ZSBzaGVsbCB3aXRoIHRoaXMgZmlsZSBhcyBpbnB1dC4NCiMgSWYgeW91IGRv
bid0IGhhdmUgc3VjaCBhIHNoZWxsLCB5b3UgbWF5IG5lZWQgdG8gbWFudWFs
bHkgY3JlYXRlDQojIHRoZSBmaWxlcyBhcyBzaG93biBiZWxvdy4NCiMgU1RF
UCAzOiBSdW4gdGhlICdwYXRjaCcgcHJvZ3JhbSB3aXRoIHRoaXMgZmlsZSBh
cyBpbnB1dC4NCiMNCiMgVGhlc2UgYXJlIHRoZSBjb21tYW5kcyBuZWVkZWQg
dG8gY3JlYXRlL2RlbGV0ZSBmaWxlcy9kaXJlY3RvcmllczoNCiMNCnRvdWNo
ICdwb3BwZXIvZGNlX3B3ZW50LmMnDQpjaG1vZCAwNjAwICdwb3BwZXIvZGNl
X3B3ZW50LmMnDQp0b3VjaCAncG9wcGVyL3BvcF9hdXRoZGNlLmMnDQpjaG1v
ZCAwNjAwICdwb3BwZXIvcG9wX2F1dGhkY2UuYycNCiMNCiMgVGhpcyBjb21t
YW5kIHRlcm1pbmF0ZXMgdGhlIHNoZWxsIGFuZCBuZWVkIG5vdCBiZSBleGVj
dXRlZCBtYW51YWxseS4NCmV4aXQNCiMNCiMjIyMgRW5kIG9mIFByZWFtYmxl
ICMjIyMNCg0KIyMjIyBQYXRjaCBkYXRhIGZvbGxvd3MgIyMjIw0KZGlmZiAt
YyAncXBvcHBlcjMuMWIxMS9JTlNUQUxMJyAncXBvcHBlcjMuMmI1L0lOU1RB
TEwnDQpJbmRleDogLi9JTlNUQUxMDQoqKiogLi9JTlNUQUxMCVNhdCBTZXAg
IDkgMTk6NDE6MDIgMjAwMA0KLS0tIC4vSU5TVEFMTAlNb24gU2VwIDExIDEz
OjA1OjU4IDIwMDANCioqKioqKioqKioqKioqKg0KKioqIDE3NCwxODAgKioq
Kg0KICANCiAgIC0td2l0aC13YXJuaW5ncyAgICAgICAgICBFbmFibGUgYWRk
aXRpb25hbCBjb21waWxlciB3YXJuaW5ncy4NCiAgDQohICAtLWVuYWJsZS1o
YXNoLXNwb29sPTF8MiAgVXNlIGhhc2hlZCBzcG9vbCBkaXJlY3RvcnkuICBT
ZWUgDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgSEFTSF9TUE9PTCBp
biBzZWN0aW9uIE1BQ1JPUyBmb3IgbW9yZQ0KICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGluZm9ybWF0aW9uLiAgVGhlIGRlZmF1bHQgbWV0aG9kIGlz
IDIuDQogICANCi0tLSAxNzQsMTgxIC0tLS0NCiAgDQogICAtLXdpdGgtd2Fy
bmluZ3MgICAgICAgICAgRW5hYmxlIGFkZGl0aW9uYWwgY29tcGlsZXIgd2Fy
bmluZ3MuDQogIA0KISAgLS1lbmFibGUtaGFzaC1zcG9vbD0xfDJ8MyAgDQoh
ICAgICAgICAgICAgICAgICAgICAgICAgICAgVXNlIGhhc2hlZCBzcG9vbCBk
aXJlY3RvcnkuICBTZWUgDQogICAgICAgICAgICAgICAgICAgICAgICAgICAg
SEFTSF9TUE9PTCBpbiBzZWN0aW9uIE1BQ1JPUyBmb3IgbW9yZQ0KICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGluZm9ybWF0aW9uLiAgVGhlIGRlZmF1
bHQgbWV0aG9kIGlzIDIuDQogICANCioqKioqKioqKioqKioqKg0KKioqIDI3
NiwyODEgKioqKg0KLS0tIDI3NywyOTYgLS0tLQ0KICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIERlbmllcyBhY2Nlc3MgdG8gdXNlcnMgbGlzdGVkIGlu
IHRoZSBzcGVjaWZpZWQNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBm
aWxlLiAgRm9ybWF0IGlzIG9uZSB1c2VyIHBlciBsaW5lLg0KICANCisgIC0t
d2l0aC1ub25hdXRoPXBhdGggICAgICBTZXQgdGhlIG5vbmF1dGhvcml6ZWQg
dXNlcnMgZmlsZSBwYXRoLg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAg
IERlZmF1bHQgaXMgL2V0Yy9wb3Aubm9uYXV0aC4NCisgDQorICAtLXdpdGgt
YXV0aD1wYXRoICAgICAgICAgU2V0IHRoZSBhdXRob3JpemVkIHVzZXJzIGZp
bGUgcGF0aC4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICBEZWZhdWx0
IGlzICAvZXRjL3BvcC5hdXRob3JpemVkLg0KKyANCisgIC0td2l0aC1sb2Fk
bGltaXQ9bG9hZCAgICBFbmFibGUgbG9hZGxpbWl0IGZlYXR1cmUuICBMb2Fk
IGlzIHRoZQ0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgIG51bWVyaWNh
bCAxIG1pbnV0ZSBsb2FkIGF2ZXJhZ2UsIGdlbmVyYWxseQ0KKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHNlZW4gdmlhIHRoZSB1c2VyIGNvbW1hbmQg
InVwdGltZSIuICANCisgICAgICAgICAgICAgICAgICAgICAgICAgICBTZWUg
TE9BRExJTUlUIGluIHNlY3Rpb24gTUFDUk9TIGZvcg0KKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgIG1vcmUgaW5mb3JtYXRpb24uICBEZWZhdWx0ID0g
MTYuMA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgIENvbnRyb2xsYWJs
ZSBhdCBydW50aW1lIG9wdGlvbiAiLWwiIChzZWUgYmVsb3cpLg0KKyANCisg
DQogIA0KICANCiAgMy4gUlVOLVRJTUUgT1BUSU9OUyAoQ09NTUFORCBMSU5F
IE9QVElPTlMpOg0KKioqKioqKioqKioqKioqDQoqKiogMjg2LDI5NCAqKioq
DQogIA0KICBUaGUgZm9sbG93aW5nIGFyZSB0aGUgY29tbWFuZCBsaW5lIG9w
dGlvbnMgeW91IGNhbiB1c2UuDQogIA0KISBwb3BwZXIgWy1iIGJ1bGxkaXIg
Wy1CXSBbLWNdIFstZF0gWy1EIGRyYWMtaG9zdF0gDQogICAgICAgICBbLWUg
bG9naW5fZGVsYXk9bm4sZXhwaXJlPW5uXSBbLWYgY29uZmlnLWZpbGVdIFst
a10gWy1LIHNlcnZpY2VdDQohICAgICAgICBbLXNdIFstU10gWy10IHRyYWNl
LWZpbGVdIFstVCB0aW1lb3V0XSBbLXVdIFstUl0NCiAgDQogIE5vdGUgdGhh
dCBzb21lIHN5c3RlbXMgbWF5IGhhdmUgbGltaXRhdGlvbnMgb24gdGhlIGxl
bmd0aCBvcg0KICBudW1iZXIgb2YgY29tbWFuZCBsaW5lIGFyZ3VtZW50cyBp
biBpbmV0ZC5jb25mLiAgKEZvciBleGFtcGxlLA0KLS0tIDMwMSwzMDkgLS0t
LQ0KICANCiAgVGhlIGZvbGxvd2luZyBhcmUgdGhlIGNvbW1hbmQgbGluZSBv
cHRpb25zIHlvdSBjYW4gdXNlLg0KICANCiEgcG9wcGVyIFstYSBhY2Nlc3N0
aW1lXSBbLWIgYnVsbGRpcl0gWy1CXSBbLWNdIFstZF0gWy1EIGRyYWMtaG9z
dF0gDQogICAgICAgICBbLWUgbG9naW5fZGVsYXk9bm4sZXhwaXJlPW5uXSBb
LWYgY29uZmlnLWZpbGVdIFsta10gWy1LIHNlcnZpY2VdDQohICAgICAgICBb
LWwgbG9hZF9hdmVdIFstc10gWy1TXSBbLXQgdHJhY2UtZmlsZV0gWy1UIHRp
bWVvdXRdIFstdV0gWy1SXQ0KICANCiAgTm90ZSB0aGF0IHNvbWUgc3lzdGVt
cyBtYXkgaGF2ZSBsaW1pdGF0aW9ucyBvbiB0aGUgbGVuZ3RoIG9yDQogIG51
bWJlciBvZiBjb21tYW5kIGxpbmUgYXJndW1lbnRzIGluIGluZXRkLmNvbmYu
ICAoRm9yIGV4YW1wbGUsDQoqKioqKioqKioqKioqKioNCioqKiAyOTksMzA0
ICoqKioNCi0tLSAzMTQsMzI3IC0tLS0NCiAgZGV0YWlscywgYW5kIHRoZSBm
b2xsb3dpbmcgc2VjdGlvbiAiUlVOLVRJTUUgT1BUSU9OUyAoQ09ORklHIEZJ
TEUpIg0KICBmb3IgZGV0YWlscy4NCiAgDQorIC1hIGFjY2Vzc3RpbWUgIFRo
ZSBtaW5pbXVtIGFsbG93YWJsZSBhY2Nlc3MgdGltZSBiZXR3ZWVuIHN1Y2Nl
c3NpdmUNCisgICAgICAgICAgICAgICAgbWFpbCBjaGVja3MsIHNwZWNpZmll
ZCBpbiBpbnRlZ2VyIHNlY29uZHMuICBUaGlzDQorICAgICAgICAgICAgICAg
IG1lY2hhbmlzbSBvbmx5IHdvcmtzIGlmIEtFRVBfVEVNUF9EUk9QIGlzIGRl
ZmluZWQsDQorICAgICAgICAgICAgICAgIGJlY2F1c2UgdGhlIG1ldGhvZCBj
b21wYXJlcyB0aGUgdGltZXN0YW1wIG9uIHRoZQ0KKyAgICAgICAgICAgICAg
ICBkcm9wZmlsZSB0byB0aGUgY3VycmVudCB0aW1lLiAgVXNlZCB0byBrZWVw
IHBlb3BsZQ0KKyAgICAgICAgICAgICAgICBmcm9tIGJlYXRpbmcgb24geW91
ciBQT1Agc2VydmVyLiAgQSBzbWFsbCB2YWx1ZQ0KKyAgICAgICAgICAgICAg
ICAoMTAgdG8gNzAgc2Vjb25kcykgc2hvdWxkIGJlIHVzZWQuDQorIA0KICAt
YiBidWxsZGlyICAgICBUaGlzIGlzIHRoZSBsb2NhdGlvbiBvZiB0aGUgYnVs
bGV0aW4gDQogICAgICAgICAgICAgICAgIGRpcmVjdG9yeS4gIFRoZSBjb21t
YW5kIGxpbmUgb3ZlcnJpZGVzIHRoZSANCiAgICAgICAgICAgICAgICAgY29t
cGlsZWQgdmFsdWUgaWYgaXQgaXMgZGVmaW5lZC4gICANCioqKioqKioqKioq
KioqKg0KKioqIDM1MiwzNTcgKioqKg0KLS0tIDM3NSwzODggLS0tLQ0KICAg
ICAgICAgICAgICAgICBLRVJCRVJPU19TRVJWSUNFIGRlZmluZSkuICBUaGUg
ZGVmYXVsdCBpcyAicmNtZCIsDQogICAgICAgICAgICAgICAgIGFsdGhvdWdo
IHRoZSB1c2Ugb2YgInBvcCIgaXMgcG9wdWxhci4NCiAgDQorIC1sIGxvYWRf
YXZlICAgIFJlZnVzZSBQT1AgY29ubmVjdGlvbnMgaWYgdGhlIHN5c3RlbSBv
bmUtbWludXRlIGxvYWQNCisgICAgICAgICAgICAgICAgYXZlcmFnZSAoYXMg
Z2VuZXJhbGx5IHNlZW4gdmlhIHRoZSBjb21tYW5kICJ1cHRpbWUiKQ0KKyAg
ICAgICAgICAgICAgICBpcyBoaWdoZXIgdGhhbiB0aGUgZmxvYXRpbmcgcG9p
bnQgbnVtYmVyICJsb2FkX2F2ZSIuDQorICAgICAgICAgICAgICAgIFdvcmtz
IG9uIEhQLVVYIDEwLjIwIGFuZCAxMS4wIHN5c3RlbXMsIGFuZCBhbnkgc3lz
dGVtDQorICAgICAgICAgICAgICAgIHN1cHBvcnRpbmcgdGhlIGdldGxvYWRh
dmcoKSBjYWxsIChlZywgU29sYXJpcykuICBVc2VkDQorICAgICAgICAgICAg
ICAgIHRvIHByZXZlbnQgUE9QIGNvbm5lY3Rpb25zIGZyb20gb3ZlcndoZWxt
aW5nIHlvdXINCisgICAgICAgICAgICAgICAgc3lzdGVtLg0KKyANCiAgLXAg
MHwxfDJ8MyAgICAgU2V0IGNsZWFyIHRleHQgaGFuZGxpbmcgb3B0aW9ucyB3
aGVuIEFQT1AgaXMNCiAgICAgICAgICAgICAgICAgYXZhaWxhYmxlOiAwIGlz
IGRlZmF1bHQgKGNsZWFyIHRleHQgcGFzc3dvcmRzIG9ubHkNCiAgICAgICAg
ICAgICAgICAgcGVybWl0dGVkIGZvciB1c2VycyBub3QgaW4gdGhlIEFQT1Ag
ZGF0YWJhc2UpOyAxIG1lYW5zDQoqKioqKioqKioqKioqKioNCioqKiA5MzEs
OTM3ICoqKioNCiAgDQogIG4pIEtFRVBfVEVNUF9EUk9QIC0tIEtlZXAgdGhl
IC51c2VyLnBvcCBmaWxlLiAgSXQgDQogIGNhbiBkZXRlcm1pbmUgdGhlIGxh
c3QgdGltZSBhIHVzZXIgaGFzIGFjY2Vzc2VkIA0KISBoaXMvaGVyIG1haWwu
DQogIA0KICBvKSBCSU5ENDMgLS0gQlNEIDQuMyBpcyBhIGRvbWFpbiBuYW1l
IHNlcnZpY2UuDQogIA0KLS0tIDk2Miw5NjkgLS0tLQ0KICANCiAgbikgS0VF
UF9URU1QX0RST1AgLS0gS2VlcCB0aGUgLnVzZXIucG9wIGZpbGUuICBJdCAN
CiAgY2FuIGRldGVybWluZSB0aGUgbGFzdCB0aW1lIGEgdXNlciBoYXMgYWNj
ZXNzZWQgDQohIGhpcy9oZXIgbWFpbC4gIEFsc28gc2VlIHRoZSBydW50aW1l
IG9wdGlvbiAiLWEiIGZvcg0KISBhY2Nlc3NfdGltZS4NCiAgDQogIG8pIEJJ
TkQ0MyAtLSBCU0QgNC4zIGlzIGEgZG9tYWluIG5hbWUgc2VydmljZS4NCiAg
DQoqKioqKioqKioqKioqKioNCioqKiA5ODcsMTAwMiAqKioqDQogIHRoZWly
IG1haWwuICBEZWZpbmUgdGhpcyBtYWNybyB0byBpbmhpYml0IHRoZQ0KICBk
ZWZhdWx0IGJlaGF2aW9yLCBhbmQgb2JleSBSRkMgMTkzOSwNCiAgDQohIHkp
IEhBU0hfU1BPT0w9KDF8MikgLS0gTWFpbCBpcyBkZXBvc2l0ZWQgaW50byB0
aGUgDQohIG1haWxzcG9vbHMgYnkgZWl0aGVyICgxKSBoYXNoaW5nIHRoZSBm
aXJzdCA0IA0KISBjaGFyYWN0ZXJzIG9yICgyKSBieSB1c2luZyBtYWlsc3Bv
b2xzIGluIA0KISBkaXJlY3RvcmllcyBhcyBpbiB0aGUgZm9sbG93aW5nOiAg
Lzwxc3QgDQohIGxldHRlcj4vPDJuZCBsZXR0ZXI+L2ZpbGUuICBGb3IgZXhh
bXBsZSwgaWYgdGhlDQohIHNwb29sIGRpcmVjdG9yeSBpcyAiL3Zhci9tYWls
IiwgdGhlIHNwb29sIGZpbGUgZm9yDQohIHVzZXIgIm1haWRhIiB3b3VsZCBi
ZToNCiAgICAgL3Zhci9tYWlsL21haWRhICAgICAgICAgIEhBU0hfU1BPT0wg
bm90IHNldA0KICAgICAvdmFyL21haWwvby9tYWlkYSAgICAgICAgSEFTSF9T
UE9PTD0xDQogICAgIC92YXIvbWFpbC9tL2EvbWFpZGEgICAgICBIQVNIX1NQ
T09MPTINCiAgDQogIFVzZSB0aGUgLS1lbmFibGUtaGFzaC1zcG9vbCBjb25m
aWd1cmUgZmxhZyB0byBzZXQNCiAgdGhpcy4NCi0tLSAxMDE5LDEwMzYgLS0t
LQ0KICB0aGVpciBtYWlsLiAgRGVmaW5lIHRoaXMgbWFjcm8gdG8gaW5oaWJp
dCB0aGUNCiAgZGVmYXVsdCBiZWhhdmlvciwgYW5kIG9iZXkgUkZDIDE5Mzks
DQogIA0KISB5KSBIQVNIX1NQT09MPSgxfDJ8MykgLS0gTWFpbCBpcyBkZXBv
c2l0ZWQgaW50byB0aGUNCiEgbWFpbHNwb29scyBieSBlaXRoZXIgKDEpIGhh
c2hpbmcgdGhlIGZpcnN0IDQNCiEgY2hhcmFjdGVycywgKDIpIGJ5IHVzaW5n
IG1haWxzcG9vbHMgaW4NCiEgZGlyZWN0b3JpZXMgYXMgaW4gdGhlIGZvbGxv
d2luZzogIC88MXN0DQohIGxldHRlcj4vPDJuZCBsZXR0ZXI+L2ZpbGUsIG9y
ICgzKSBieSBqdXN0IHVzaW5nIHRoZQ0KISBmaXJzdCBsZXR0ZXIgb2YgdGhl
IHVzZXJpZCBhcyB0aGUgc3ViZGlyZWN0b3J5Lg0KISBGb3IgZXhhbXBsZSwg
aWYgdGhlIHNwb29sIGRpcmVjdG9yeSBpcyAiL3Zhci9tYWlsIiwNCiEgdGhl
IHNwb29sIGZpbGUgZm9yIHVzZXIgIm1haWRhIiB3b3VsZCBiZToNCiAgICAg
L3Zhci9tYWlsL21haWRhICAgICAgICAgIEhBU0hfU1BPT0wgbm90IHNldA0K
ICAgICAvdmFyL21haWwvby9tYWlkYSAgICAgICAgSEFTSF9TUE9PTD0xDQog
ICAgIC92YXIvbWFpbC9tL2EvbWFpZGEgICAgICBIQVNIX1NQT09MPTINCisg
ICAgL3Zhci9tYWlsL20vbWFpZGEgICAgICAgIEhBU0hfU1BPT0w9Mw0KICAN
CiAgVXNlIHRoZSAtLWVuYWJsZS1oYXNoLXNwb29sIGNvbmZpZ3VyZSBmbGFn
IHRvIHNldA0KICB0aGlzLg0KKioqKioqKioqKioqKioqDQoqKiogMTA1NSwx
MDYwICoqKioNCi0tLSAxMDg5LDExMDIgLS0tLQ0KICBhaCkgVFJBQ0VfTVNH
X0JPRFkgLS0gRGVmaW5lIHRvIGluY2x1ZGUgbWVzc2FnZSBib2RpZXMgaW4N
CiAgdHJhY2UgaW5mb3JtYXRpb24gd3JpdHRlbiB3aXRoIC10IG9yIC1kIHJ1
bi10aW1lIGZsYWcuDQogIA0KKyBhYykgTE9BRExJTUlUIC0tIERlZmluZSBh
IGZsb2F0aW5nIHBvaW50IHZhbHVlIGlmIHlvdSB3YW50DQorIHFwb3BwZXIg
dG8gcmVmdXNlIGNvbm5lY3Rpb25zIHdoZW5ldmVyIHRoZSAxLW1pbnV0ZSBs
b2FkIGF2ZXJhZ2UNCisgKGdlbmVyYWxseSBzZWVuIHZpYSAidXB0aW1lIikg
Z29lcyBhYm92ZSB0aGUgY2hvc2VuIHZhbHVlLg0KKyBUaGlzIGZlYXR1cmUg
a2VlcHMgeW91ciBzeXN0ZW0gZnJvbSBmYWxsaW5nIG92ZXIgaWYgeW91IHRh
a2UNCisgbG90cyBvZiBwb3AgY29ubmVjdGlvbnMgYW5kIHlvdXIgc3lzdGVt
IGxvYWQgZ29lcyB3YXkgdXAuDQorIFdvcmtzIG9uIGFueSBzeXN0ZW0gc3Vw
cG9ydGluZyB0aGUgZ2V0bG9hZGF2ZygzKSBjYWxsIChlZywgDQorIFNvbGFy
aXMyIHN5c3RlbXMpLCBhbmQgb24gYW55IEhQVVggMTAueCBvciAxMS54IHN5
c3RlbS4gIENvZGluZw0KKyBpcyBuZWVkZWQgdG8gc3VwcG9ydCBvdGhlciBi
cmFuZHMgb2YgVU5JWC4NCiAgDQogIA0KICBOT1RFUzoNCmRpZmYgLWMgJ3Fw
b3BwZXIzLjFiMTEvY29tbW9uL2dlbnBhdGguYycgJ3Fwb3BwZXIzLjJiNS9j
b21tb24vZ2VucGF0aC5jJw0KSW5kZXg6IC4vY29tbW9uL2dlbnBhdGguYw0K
KioqIC4vY29tbW9uL2dlbnBhdGguYwlGcmkgU2VwICA4IDIwOjI4OjE5IDIw
MDANCi0tLSAuL2NvbW1vbi9nZW5wYXRoLmMJTW9uIFNlcCAxMSAxMzowNTo1
OCAyMDAwDQoqKioqKioqKioqKioqKioNCioqKiA5NiwxMDEgKioqKg0KLS0t
IDk2LDEwNSAtLS0tDQogICAqICAgICAgICAgICAgdG8gb3Blbi4gIEVnOiAv
dXNyL3Nwb29sL3Uvcy91c2VyLg0KICAgKiAgICAgICAgICAgIExhcnJ5IFNj
aHdpbW1lciA8cm9zZWJ1ZEBjeWNsb25lLnN0YW5mb3JkLmVkdT4NCiAgICoN
CisgICogTWV0aG9kIDMgLSBVc2UgdGhlIGZpcnN0IGNoYXJhY3RlciBvbmx5
LCBzbyB5b3UgaGF2ZSAyNiBzdWJkaXJlY3RvcmllcywNCisgICogICAgICAg
ICAgICBFZywgL3Zhci9zcG9vbC9qL2pvZWJsb3cNCisgICogICAgICAgICAg
ICBBbHNvLCBwdXRzIHRoZSBkcm9wZmlsZSBpbiAvdmFyL3Nwb29sL2ovcG9w
Ly5qb2VibG93LnBvcA0KKyAgKg0KICAgKiBBbGwgdGhlc2UgbWV0aG9kcyBy
ZXF1aXJlIHRoYXQgbG9jYWwgbWFpbCBkZWxpdmVyeSBhbmQgY2xpZW50IHBy
b2dyYW1zDQogICAqIHVzZSB0aGUgc2FtZSBhbGdvcml0aG0uICBPbmx5IG9u
ZSBtZXRob2QgdG8gYSBjdXN0b21lciA6LSkNCiAgICovDQoqKioqKioqKioq
KioqKioNCioqKiAyMDAsMjA3ICoqKioNCiAgICAgIHJldHVybiAxOw0KICB9
DQogIA0KISAjZW5kaWYNCiEgI2lmIChIQVNIX1NQT09MID09IDIpDQogIA0K
ICBpbnQgDQogIGdlbnBhdGggKCBjaGFyICpwc3pVc2VyLCBjaGFyICpwc3pE
cm9wLCBpbnQgaURyb3BMZW4sIEdOUEhfV0hJQ0ggaVdoaWNoLA0KLS0tIDIw
NCwyMTAgLS0tLQ0KICAgICAgcmV0dXJuIDE7DQogIH0NCiAgDQohICNlbGlm
IChIQVNIX1NQT09MID09IDIpIHx8IChIQVNIX1NQT09MID09IDMpDQogIA0K
ICBpbnQgDQogIGdlbnBhdGggKCBjaGFyICpwc3pVc2VyLCBjaGFyICpwc3pE
cm9wLCBpbnQgaURyb3BMZW4sIEdOUEhfV0hJQ0ggaVdoaWNoLA0KKioqKioq
KioqKioqKioqDQoqKiogMjI0LDI0MCAqKioqDQotLS0gMjI3LDI1NSAtLS0t
DQogICAgICAgICAgcmV0dXJuIC0xOw0KICAgICAgfQ0KICAgICAgDQorICNp
ZiAoSEFTSF9TUE9PTCA9PSAzKQ0KKyAgICAgUXNwcmludGYgKCBwc3pEcm9w
LCAiJXMvJWMvIiwNCisgICAgICAgICAgICAgICAoaVdoaWNoICE9IEdOUEhf
UE9QID8gUE9QX01BSUxESVIgOiBQT1BfRFJPUF9ESVIpLA0KKyAgICAgICAg
ICAgICAgICpwc3pVc2VyKTsNCisgI2Vsc2UNCiAgICAgIFFzcHJpbnRmICgg
cHN6RHJvcCwgIiVzLyVjLyVjLyIsIA0KICAgICAgICAgICAgICAgIChpV2hp
Y2ggIT0gR05QSF9QT1AgPyBQT1BfTUFJTERJUiA6IFBPUF9EUk9QX0RJUiks
DQogICAgICAgICAgICAgICAgKnBzelVzZXIsIA0KICAgICAgICAgICAgICAg
ICoocHN6VXNlcisxKSA/ICoocHN6VXNlcisxKSA6ICpwc3pVc2VyICk7DQor
ICNlbmRpZg0KICANCiAgICAgIHN3aXRjaCAoIGlXaGljaCApIHsNCiAgICAg
ICAgICBjYXNlIEdOUEhfU1BPT0w6ICAvKiBzcG9vbCBmaWxlICovDQogICAg
ICAgICAgICAgIHN0cmxjYXQgKCBwc3pEcm9wLCBwc3pVc2VyLCBpRHJvcExl
biApOw0KICAgICAgICAgICAgICBicmVhazsNCiAgICAgICAgICBjYXNlIEdO
UEhfUE9QOiAgICAvKiAucG9wIGZpbGUgICovDQorICNpZiAoSEFTSF9TUE9P
TCA9PSAzKQ0KKyAgICAgICAgICAgICBRc3ByaW50ZiAoIHBzekRyb3AsICIl
cy8lYy9wb3AvLiVzLnBvcCIsDQorICAgICAgICAgICAgICAgKGlXaGljaCAh
PSBHTlBIX1BPUCA/IFBPUF9NQUlMRElSIDogUE9QX0RST1BfRElSKSwNCisg
ICAgICAgICAgICAgICAqcHN6VXNlcixwc3pVc2VyKTsNCisgI2Vsc2UNCiAg
ICAgICAgICAgICAgUXNwcmludGYgKCBwc3pEcm9wICsgc3RybGVuKHBzekRy
b3ApLCBQT1BfRFJPUCwgcHN6VXNlciApOw0KKyAjZW5kaWYNCiAgICAgICAg
ICAgICAgYnJlYWs7DQogICAgICAgICAgY2FzZSBHTlBIX1RNUDogICAgLyog
dG1weHh4eCAgICAqLw0KICAgICAgICAgICAgICBzdHJsY2F0ICggcHN6RHJv
cCwgUE9QX1RNUERST1AsIGlEcm9wTGVuICk7DQoqKioqKioqKioqKioqKioN
CioqKiAyNzUsMjgyICoqKioNCiAgICAgIHJldHVybiAxOw0KICB9DQogIA0K
ISAjZW5kaWYNCiEgI2lmIChIQVNIX1NQT09MICE9IDEgJiYgSEFTSF9TUE9P
TCAhPSAyKQ0KICANCiAgaW50IA0KICBnZW5wYXRoICggY2hhciAqcHN6VXNl
ciwgY2hhciAqcHN6RHJvcCwgaW50IGlEcm9wTGVuLCBHTlBIX1dISUNIIGlX
aGljaCwNCi0tLSAyOTAsMjk2IC0tLS0NCiAgICAgIHJldHVybiAxOw0KICB9
DQogIA0KISAjZWxzZSAgLyogZW5kIG9mIEhBU0hfU1BPT0wgbWV0aG9kcyAq
Lw0KICANCiAgaW50IA0KICBnZW5wYXRoICggY2hhciAqcHN6VXNlciwgY2hh
ciAqcHN6RHJvcCwgaW50IGlEcm9wTGVuLCBHTlBIX1dISUNIIGlXaGljaCwN
CmRpZmYgLWMgJ3Fwb3BwZXIzLjFiMTEvY29uZmlnLmguaW4nICdxcG9wcGVy
My4yYjUvY29uZmlnLmguaW4nDQpJbmRleDogLi9jb25maWcuaC5pbg0KKioq
IC4vY29uZmlnLmguaW4JRnJpIFNlcCAgOCAxNjo0Mzo0NCAyMDAwDQotLS0g
Li9jb25maWcuaC5pbglNb24gU2VwIDExIDEzOjEwOjEwIDIwMDANCioqKioq
KioqKioqKioqKg0KKioqIDE1NiwxNjEgKioqKg0KLS0tIDE1NiwxNzAgLS0t
LQ0KICAvKiBEZWZpbmUgaWYgeW91IGhhdmUgdGhlIDxkYm0uaD4gaGVhZGVy
IGZpbGUuICAqLw0KICAjdW5kZWYgSEFWRV9EQk1fSA0KICANCisgLyogRGVm
aW5lIGlmIHlvdSBoYXZlIHRoZSA8ZGNlL2RjZV9lcnJvci5oPiBoZWFkZXIg
ZmlsZS4gICovDQorICN1bmRlZiBIQVZFX0RDRV9EQ0VfRVJST1JfSA0KKyAN
CisgLyogRGVmaW5lIGlmIHlvdSBoYXZlIHRoZSA8ZGNlL3JwYy5oPiBoZWFk
ZXIgZmlsZS4gICovDQorICN1bmRlZiBIQVZFX0RDRV9SUENfSA0KKyANCisg
LyogRGVmaW5lIGlmIHlvdSBoYXZlIHRoZSA8ZGNlL3NlY19sb2dpbi5oPiBo
ZWFkZXIgZmlsZS4gICovDQorICN1bmRlZiBIQVZFX0RDRV9TRUNfTE9HSU5f
SA0KKyANCiAgLyogRGVmaW5lIGlmIHlvdSBoYXZlIHRoZSA8ZGlyZW50Lmg+
IGhlYWRlciBmaWxlLiAgKi8NCiAgI3VuZGVmIEhBVkVfRElSRU5UX0gNCiAg
DQoqKioqKioqKioqKioqKioNCioqKiAyNjgsMjczICoqKioNCi0tLSAyNzcs
Mjk0IC0tLS0NCiAgLyogRGVmaW5lIGlmIHlvdSB3YW50IHN1Y2Nlc3NmdWwg
YXV0aGVudGljYXRpb25zIHRvIGJlIGxvZ2dlZCAqLw0KICAjdW5kZWYgTE9H
X0xPR0lODQogIA0KKyAvKiBEZWZpbmUgaWYgeW91IHVzZSB0aGUgIm5vdCBh
dXRob3JpemVkIHRvIHVzZSIgKC9ldGMvcG9wLm5vbmF1dGgpIGZpbGUgKi8N
CisgI3VuZGVmIE5PTkFVVEhGSUxFDQorIA0KKyAvKiBEZWZpbmUgaWYgeW91
IHVzZSB0aGUgImF1dGhvcml6ZWQiIGZpbGUgKi8NCisgI3VuZGVmIEFVVEhG
SUxFDQorIA0KKyAvKiBEZWZpbmUgaWYgeW91IHVzZSB0aGUgbG9hZC1saW1p
dCBtZWNoYW5pc20gdG8gcHJldmVudCBoaWdoIG1hY2hpbmUgbG9hZHMgKi8N
CisgI3VuZGVmIExPQURMSU1JVA0KKyANCisgLyogRGVmaW5lIGlmIHlvdSB1
c2UgRENFICovDQorICN1bmRlZiBEQ0UNCisgDQogIC8qIA0KICAgKiBEZWZp
bmUgaWYgeW91IHdhbnQgdG8gYXV0b21hdGljYWxseSBkZWxldGUgUkVUUmQg
bWVzc2FnZXMuDQogICAqIENhdXRpb246IFRoaXMgY291bGQgY2F1c2UgbG9z
dCBtYWlsLiAgQmUgc3VyZSB1c2VycyBhcmUNCioqKioqKioqKioqKioqKg0K
KioqIDM2MCwzNzIgKioqKg0KICAjdW5kZWYgU1BFQ19QT1BfQVVUSA0KICAN
CiAgLyoNCiEgICogRGVmaW5lIGFuZCBzZXQgdG8gMSBvciAyIHRvIHVzZSBo
YXNoZWQgc3Bvb2wgZGlyZWN0b3JpZXMuICBWYWx1ZQ0KICAgKiAxIGhhc2hl
cyB0aGUgZmlyc3QgNCBjaGFyYWN0ZXJzOyB2YWx1ZSAyIHVzZXMgLzwxc3Qg
bGV0dGVyPi8NCiAgICogPDJuZCBsZXR0ZXI+LiAgRm9yIGV4YW1wbGUsIGlm
IHRoZSBzcG9vbCBkaXJlY3RvcnkgaXMgIi92YXIvbWFpbCIsIA0KICAgKiB0
aGUgc3Bvb2wgZmlsZSBmb3IgdXNlciAibWFpZGEiIHdvdWxkIGJlOg0KICAg
KiAgICAgL3Zhci9tYWlsL21haWRhICAgICAgICAgIEhBU0hfU1BPT0wgbm90
IHNldA0KICAgKiAgICAgL3Zhci9tYWlsL28vbWFpZGEgICAgICAgIEhBU0hf
U1BPT0w9MQ0KICAgKiAgICAgL3Zhci9tYWlsL20vYS9tYWlkYSAgICAgIEhB
U0hfU1BPT0w9Mg0KICAgKi8NCiAgI3VuZGVmIEhBU0hfU1BPT0wNCiAgDQot
LS0gMzgxLDM5NCAtLS0tDQogICN1bmRlZiBTUEVDX1BPUF9BVVRIDQogIA0K
ICAvKg0KISAgKiBEZWZpbmUgYW5kIHNldCB0byAxLCAyLCBvciAzIHRvIHVz
ZSBoYXNoZWQgc3Bvb2wgZGlyZWN0b3JpZXMuICBWYWx1ZQ0KICAgKiAxIGhh
c2hlcyB0aGUgZmlyc3QgNCBjaGFyYWN0ZXJzOyB2YWx1ZSAyIHVzZXMgLzwx
c3QgbGV0dGVyPi8NCiAgICogPDJuZCBsZXR0ZXI+LiAgRm9yIGV4YW1wbGUs
IGlmIHRoZSBzcG9vbCBkaXJlY3RvcnkgaXMgIi92YXIvbWFpbCIsIA0KICAg
KiB0aGUgc3Bvb2wgZmlsZSBmb3IgdXNlciAibWFpZGEiIHdvdWxkIGJlOg0K
ICAgKiAgICAgL3Zhci9tYWlsL21haWRhICAgICAgICAgIEhBU0hfU1BPT0wg
bm90IHNldA0KICAgKiAgICAgL3Zhci9tYWlsL28vbWFpZGEgICAgICAgIEhB
U0hfU1BPT0w9MQ0KICAgKiAgICAgL3Zhci9tYWlsL20vYS9tYWlkYSAgICAg
IEhBU0hfU1BPT0w9Mg0KKyAgKiAgICAgL3Zhci9tYWlsL20vbWFpZGEgICAg
ICAgIEhBU0hfU1BPT0w9MyAoZmlyc3QgbGV0dGVyIG9mIHVzZXJpZCkNCiAg
ICovDQogICN1bmRlZiBIQVNIX1NQT09MDQogIA0KZGlmZiAtYyAncXBvcHBl
cjMuMWIxMS9jb25maWd1cmUuaW4nICdxcG9wcGVyMy4yYjUvY29uZmlndXJl
LmluJw0KSW5kZXg6IC4vY29uZmlndXJlLmluDQoqKiogLi9jb25maWd1cmUu
aW4JRnJpIFNlcCAgOCAwMDoyMjo1NyAyMDAwDQotLS0gLi9jb25maWd1cmUu
aW4JTW9uIFNlcCAxMSAxMzowNTo1OCAyMDAwDQoqKioqKioqKioqKioqKioN
CioqKiA0MTcsNDI2ICoqKioNCiAgZmkNCiAgDQogIA0KISBBQ19BUkdfRU5B
QkxFKGhhc2gtc3Bvb2wsIFsgLS1lbmFibGUtaGFzaC1zcG9vbD0xfDIgIEVu
YWJsZSBoYXNoZWQgc3Bvb2wgZGlyZWN0b3JpZXMgWzJdIF0sIA0KICAgICAg
ICAgICAgICAgIGhhc2hzcG9vbD0iJGVuYWJsZXZhbCIsIGhhc2hzcG9vbD0i
bm8iKQ0KICBpZiB0ZXN0ICIkaGFzaHNwb29sIiAhPSAibm8iOyB0aGVuDQoh
ICAgICBpZiB0ZXN0ICIkaGFzaHNwb29sIiA9ICIxIiAtbyAiJGhhc2hzcG9v
bCIgPSAiMiIgOyB0aGVuIA0KICAgICAgICAgIEFDX01TR19SRVNVTFQoVXNp
bmcgaGFzaGVkIHNwb29sIGRpcmVjdG9yeSBtZXRob2QgJGhhc2hzcG9vbCkN
CiAgICAgICAgICBBQ19ERUZJTkVfVU5RVU9URUQoSEFTSF9TUE9PTCwgJGhh
c2hzcG9vbCkNCiAgICAgIGVsc2UgIA0KLS0tIDQxNyw0MjYgLS0tLQ0KICBm
aQ0KICANCiAgDQohIEFDX0FSR19FTkFCTEUoaGFzaC1zcG9vbCwgWyAtLWVu
YWJsZS1oYXNoLXNwb29sPTF8MnwzICBFbmFibGUgaGFzaGVkIHNwb29sIGRp
cmVjdG9yaWVzIFsyXSBdLCANCiAgICAgICAgICAgICAgICBoYXNoc3Bvb2w9
IiRlbmFibGV2YWwiLCBoYXNoc3Bvb2w9Im5vIikNCiAgaWYgdGVzdCAiJGhh
c2hzcG9vbCIgIT0gIm5vIjsgdGhlbg0KISAgICAgaWYgdGVzdCAiJGhhc2hz
cG9vbCIgPSAiMSIgLW8gIiRoYXNoc3Bvb2wiID0gIjIiIC1vICIkaGFzaHNw
b29sIiA9ICIzIiA7IHRoZW4gDQogICAgICAgICAgQUNfTVNHX1JFU1VMVChV
c2luZyBoYXNoZWQgc3Bvb2wgZGlyZWN0b3J5IG1ldGhvZCAkaGFzaHNwb29s
KQ0KICAgICAgICAgIEFDX0RFRklORV9VTlFVT1RFRChIQVNIX1NQT09MLCAk
aGFzaHNwb29sKQ0KICAgICAgZWxzZSAgDQoqKioqKioqKioqKioqKioNCioq
KiA0ODksNDk0ICoqKioNCi0tLSA0ODksNTUyIC0tLS0NCiAgICAgIEFDX0RF
RklORShVU0VfQlVMTF9HUk9VUFMpDQogIGZpDQogIA0KKyBkbmwtLS1sb2Nh
dGlvbiBvZiBub25hdXRob3JpemVkIHVzZXJzIGZpbGUNCisgQUNfQVJHX1dJ
VEgobm9uYXV0aCwgWyAtLXdpdGgtbm9uYXV0aD1wYXRoICAgICAgU2V0IHRo
ZSBub25hdXRob3JpemVkIHVzZXJzIGZpbGUgcGF0aCBbL2V0Yy9wb3Aubm9u
YXV0aF1dLA0KKyAJbm9uYXV0aD0kd2l0aHZhbCwgbm9uYXV0aD0ibm8iKQ0K
KyBpZiB0ZXN0ICIkbm9uYXV0aCIgIT0gIm5vIiA7IHRoZW4NCisgCWlmIHRl
c3QgLXogIiRub25hdXRoIiA7IHRoZW4NCisgCQlBQ19NU0dfUkVTVUxUKE5v
bmF1dGhvcml6ZWQgdXNlcnMgZmlsZSAvZXRjL3BvcC5ub25hdXRoIGVuYWJs
ZWQpDQorIAkJQUNfREVGSU5FX1VOUVVPVEVEKE5PTkFVVEhGSUxFLCIvZXRj
L3BvcC5ub25hdXRoIikNCisgCWVsc2UNCisgCQlBQ19NU0dfUkVTVUxUKE5v
bmF1dGhvcml6ZWQgdXNlcnMgZmlsZSAkbm9uYXV0aCBlbmFibGVkKQ0KKyAJ
CUFDX0RFRklORV9VTlFVT1RFRChOT05BVVRIRklMRSwiJG5vbmF1dGgiKQ0K
KyAJZmkNCisgZmkNCisgDQorIGRubC0tLWxvY2F0aW9uIG9mIGF1dGhvcml6
ZWQgdXNlcnMgZmlsZQ0KKyBBQ19BUkdfV0lUSChhdXRoLCBbIC0td2l0aC1h
dXRoPXBhdGgJICBTZXQgdGhlIGF1dGhvcml6ZWQgdXNlcnMgZmlsZSBwYXRo
IFsvZXRjL3BvcC5hdXRob3JpemVkXV0sDQorIAlhdXRoPSR3aXRodmFsLCBh
dXRoPSJubyIpDQorIGlmIHRlc3QgIiRhdXRoIiAhPSAibm8iIDsgdGhlbg0K
KyAJaWYgdGVzdCAteiAiJGF1dGgiIDsgdGhlbg0KKyAJCUFDX01TR19SRVNV
TFQoQXV0aG9yaXplZCB1c2VycyBmaWxlIC9ldGMvcG9wLmF1dGhvcml6ZWQg
ZW5hYmxlZCkNCisgCQlBQ19ERUZJTkVfVU5RVU9URUQoQVVUSEZJTEUsIi9l
dGMvcG9wLmF1dGhvcml6ZWQiKQ0KKyAJZWxzZQ0KKyAJCUFDX01TR19SRVNV
TFQoQXV0aG9yaXplZCB1c2VycyBmaWxlICRhdXRoIGVuYWJsZWQpDQorIAkJ
QUNfREVGSU5FX1VOUVVPVEVEKEFVVEhGSUxFLCIkYXV0aCIpDQorIAlmaQ0K
KyBmaQ0KKyANCisgZG5sLS0tIGxvYWRsaW1pdCBmZWF0dXJlIGVuYWJsZWQN
CisgQUNfQVJHX1dJVEgobG9hZGxpbWl0LCBbIC0td2l0aC1sb2FkbGltaXQ9
bG9hZCAgICBFbmFibGUgbG9hZGxpbWl0IGZlYXR1cmUgW2RlZmF1bHQ9MTYu
MF1dLCANCisgCWxvYWRsaW1pdD0iJHdpdGh2YWwiLCBsb2FkbGltaXQ9Im5v
IikNCisgaWYgdGVzdCAiJGxvYWRsaW1pdCIgIT0gIm5vIjsgdGhlbg0KKyAJ
aWYgdGVzdCAteiAiJGxvYWRsaW1pdCIgOyB0aGVuDQorIAkJQUNfTVNHX1JF
U1VMVChVc2luZyBMb2FkbGltaXQgZmVhdHVyZSB3aXRoIG1heGltdW0gbG9h
ZCA9IDE2LjApDQorICAgICAJQUNfREVGSU5FX1VOUVVPVEVEKExPQURMSU1J
VCwgIjE2LjAiKQ0KKyAJZWxzZQ0KKyAJCUFDX01TR19SRVNVTFQoVXNpbmcg
TG9hZGxpbWl0IGZlYXR1cmUgd2l0aCBtYXhpbXVtIGxvYWQgPSAkbG9hZGxp
bWl0KQ0KKyAgICAgCUFDX0RFRklORV9VTlFVT1RFRChMT0FETElNSVQsICRs
b2FkbGltaXQpDQorIAlmaQ0KKyBmaQ0KKyANCisgZG5sLS0tIERDRSBhdXRo
ZW50aWNhdGlvbiBzdXBwb3J0DQorIEFDX0FSR19XSVRIKERDRSwgWyAtLXdp
dGgtRENFICAgICAgICAgICAgICAgRW5hYmxlIERDRSBhdXRoZW50aWNhdGlv
biBzdXBwb3J0XSwgDQorIAlEQ0U9IiR3aXRodmFsIiwgRENFPSJubyIpDQor
IGlmIHRlc3QgIiREQ0UiICE9ICJubyI7IHRoZW4NCisgCUFDX01TR19SRVNV
TFQoRENFIGF1dGhlbnRpY2F0aW9uIHN1cHBvcnQgZW5hYmxlZCkNCisgCUFD
X0RFRklORShEQ0UpDQorIAlTWVNfTkFNRT0iYHVuYW1lIC1zciAyPi9kZXYv
bnVsbCB8IHNlZCAxcWAiDQorIAlpZiB0ZXN0IC16ICJcJFNZU19OQU1FIjsg
dGhlbiBTWVNfTkFNRT11bmtub3duO2ZpDQorIAlPU19OQU1FPSJgZWNobyAk
U1lTX05BTUUgMj4vZGV2L251bGwgfCBzZWQgLWUgJ3MvWyBdLiovLydgIg0K
KyAJT1NfVkVSU0lPTj0iYGVjaG8gJFNZU19OQU1FIDI+L2Rldi9udWxsIHwg
c2VkIC1lICdzLy4qWyBdLy8nYCINCisgCUFDX01TR19SRVNVTFQoU3lzdGVt
IG5hbWU6ICRPU19OQU1FOyBTeXN0ZW0gdmVyc2lvbjogJE9TX1ZFUlNJT04p
DQorIAlpZiB0ZXN0ICRPU19OQU1FID0gIkhQLVVYIjsgdGhlbg0KKyAJCUFD
X01TR19SRVNVTFQoSFBVWCBhbmQgRENFIGRldGVjdGVkIG11c3QgdXNlIEhQ
IEMgY29tcGlsZXIpDQorIAkJQ0M9ImNjIg0KKyAJCUFDX1NVQlNUKENDKQ0K
KyAJCUNGTEFHUz0iLUFlICtPNCArRVNsaXQiDQorIAkJQUNfU1VCU1QoQ0ZM
QUdTKQ0KKyAJZmkNCisgZmkNCiAgDQogIEFDX0FSR19XSVRIKGtlcmJlcm9z
NSwgWyAtLXdpdGgta2VyYmVyb3M1PWRpciAgICAgRW5hYmxlIEtlcmJlcm9z
IDUgc3VwcG9ydF0sDQogICAgICAgICAgICAga3JiNV9wcmVmaXg9JHt3aXRo
dmFsfSxrcmI1X3ByZWZpeD0ibm8iKQ0KKioqKioqKioqKioqKioqDQoqKiog
OTEwLDkxNSAqKioqDQotLS0gOTY4LDk3NiAtLS0tDQogIGRibS5oIFwNCiAg
c2hhZG93LmggXA0KICBzZWN1cml0eS9wYW1fYXBwbC5oIFwNCisgZGNlL3Jw
Yy5oIFwNCisgZGNlL3NlY19sb2dpbi5oIFwNCisgZGNlL2RjZV9lcnJvci5o
IFwNCiAgKQ0KICANCiAgDQoqKioqKioqKioqKioqKioNCioqKiA5MjAsOTI1
ICoqKioNCi0tLSA5ODEsOTg3IC0tLS0NCiAgQUNfQ0hFQ0tfTElCKHJlc29s
diwgcmVzX2luaXQsIE5FVFdPUktfTElCUz0iJE5FVFdPUktfTElCUyAtbHJl
c29sdiIpDQogIEFDX0NIRUNLX0xJQihtYWlsLCBtYWlsbG9jaywgTkVUV09S
S19MSUJTPSIkTkVUV09SS19MSUJTIC1sbWFpbCI7IEFDX0RFRklORShTWVNf
TUFJTExPQ0spKQ0KICBBQ19DSEVDS19MSUIoa3JiLCBrcmJfcmVjdmF1dGgs
IEtFUkJFUk9TX0xJQlM9IiRLRVJCRVJPU19MSUJTIC1sa3JiIikNCisgQUNf
Q0hFQ0tfTElCKGRjZSwgc2VjX2xvZ2luX3NldHVwX2lkZW50aXR5LCBEQ0Vf
TElCUz0iLWxkY2UiKQ0KICBBQ19DSEVDS19MSUIocG9zaXg0LCBjbG9ja19n
ZXR0aW1lLCBMSUJTPSIkTElCUyAtbHBvc2l4NCI7IEFDX0RFRklORShIQVZF
X0NMT0NLX0dFVFRJTUUpKQ0KICANCiAgQUNfQ0hFQ0tfTElCKHNlY3VyaXR5
LCBzZXRfYXV0aF9wYXJhbWV0ZXJzLCBMSUJTPSIkTElCUyAtbHNlY3VyaXR5
IikNCioqKioqKioqKioqKioqKg0KKioqIDk3Myw5NzggKioqKg0KLS0tIDEw
MzUsMTA0MSAtLS0tDQogIA0KICBBQ19TVUJTVChORVRXT1JLX0xJQlMpDQog
IEFDX1NVQlNUKEtFUkJFUk9TX0xJQlMpDQorIEFDX1NVQlNUKERDRV9MSUJT
KQ0KICBBQ19TVUJTVChEQk1fTElCUykNCiAgQUNfU1VCU1QoTElCUykNCiAg
DQpkaWZmIC1jICdxcG9wcGVyMy4xYjExL2RvYy9DaGFuZ2VzJyAncXBvcHBl
cjMuMmI1L2RvYy9DaGFuZ2VzJw0KSW5kZXg6IC4vZG9jL0NoYW5nZXMNCioq
KiAuL2RvYy9DaGFuZ2VzCVNhdCBTZXAgIDkgMTk6NDU6MDcgMjAwMA0KLS0t
IC4vZG9jL0NoYW5nZXMJTW9uIFNlcCAxMSAxMzoxODowNSAyMDAwDQoqKioq
KioqKioqKioqKioNCioqKiA1LDEwICoqKioNCi0tLSA1LDY2IC0tLS0NCiAg
VGhpcyBkb2N1bWVudCBjb250YWlucyB0aGUgY2hhbmdlcyBzaW5jZSB0aGUg
bGFzdCByZWxlYXNlLg0KICANCiAgDQorIENoYW5nZXMgZnJvbSAzLjEgdG8g
My4yYjUNCisgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQorIA0KKyAg
MS4gIENvbmZpZ3VyYXRpb24gb3B0aW9ucyBmYWlsIG9uIEhQVVggMTEuMCB3
aGVuIC0td2l0aC1wYW0gaXMNCisgICAgICB1c2VkIGR1ZSB0byByZWZlcmVu
Y2UgdG8gLWxkbCBsaWJyYXJ5IGluIGNvbmZpZ3VyZS5pbi4NCisgICAgICBS
ZW1vdmVkIHJlZmVyZW5jZXMgdG8gLWxkbCBpbiBjb25maWd1cmUuaW4uDQor
ICAyLiAgQ29tcGlsYXRpb24gb2YgcG9wcGVyL3BvcF9wYXNzLmMgZmFpbHMg
b24gSFBVWCAxMS4wIHdoZW4NCisgICAgICAtLXdpdGgtcGFtIGlzIHVzZWQs
IGJlY2F1c2Ugbm9uLXBhbSB2ZXJzaW9uIG9mIGF1dGhfdXNlcigpDQorICAg
ICAgaXMgbm90IGhpZGRlbiBieSBjcHAgZGlyZWN0aXZlcy4NCisgIDMuICBB
IHRoaXJkIGhhc2hfc3Bvb2xpbmcgbWVjaGFuaXNtIGlzIGFkZGVkLiAgVGhl
IGZpcnN0IGNoYXJhY3Rlcg0KKyAgICAgIG9mIHRoZSB1c2VyaWQgaXMgdXNl
ZCBhcyBhIHN1YmRpcmVjdG9yeSB3aXRoaW4gdGhlIHNwb29sZGlyDQorICAg
ICAgZm9yIHRoZSBsb2NhdGlvbiBvZiB0aGUgbWFpbGJveC4gIFRoZSBwb3Ag
ZHJvcGZpbGUgZ29lcyBpbg0KKyAgICAgIHRoZSAicG9wIiBzdWJkaXJlY3Rv
cnkgdGhlcmVpbi4gIFNvIGZvciB1c2VyICJqb2VibG93IiBhbmQNCisgICAg
ICBhIHNwb29sIGRpcmVjdG9yeSBvZiAiL3Zhci9tYWlsIiwgdGhlIG1haWxi
b3ggaXMgbG9jYXRlZCBhdA0KKyAgICAgICAgIC92YXIvbWFpbC9qL2pvZWJs
b3cNCisgICAgICBhbmQgdGhlIGRyb3BmaWxlIGlzIGxvY2F0ZWQgYXQ6DQor
ICAgICAgICAgL3Zhci9tYWlsL2ovcG9wLy5qb2VibG93LnBvcA0KKyAgNC4g
IENvbmZpZ3VyZS10aW1lIG9wdGlvbnMgYWRkZWQgdG8gY29uZmlndXJlLmlu
IGZvciBmZWF0dXJlcyBhbHJlYWR5DQorICAgICAgaW4gdGhlIGNvZGUsIGJ1
dCBub3QgaW4gdGhlIGNvbmZpZ3VyZSBvcHRpb25zLiAgVGhlc2UgYXJlOg0K
KyAgICAgICAgIC0td2l0aC1ub25hdXRoPXBhdGggICAgICBTZXQgdGhlIG5v
bmF1dGhvcml6ZWQgdXNlcnMgZmlsZSBwYXRoLg0KKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBEZWZhdWx0IGlzIC9ldGMvcG9wLm5vbmF1
dGguDQorICAgICAgICAgLS13aXRoLWF1dGg9cGF0aCAgICAgICAgIFNldCB0
aGUgYXV0aG9yaXplZCB1c2VycyBmaWxlIHBhdGguDQorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIERlZmF1bHQgaXMgIC9ldGMvcG9wLmF1
dGhvcml6ZWQuDQorICAgICAgVGhlIGFwcHJvcHJpYXRlIGRlZmluZXMgZm9y
IHRoZXNlIHdlcmUgYWRkZWQgdG8gY29uZmlnLmguaW4uDQorICA1LiAgQWRk
ZWQgYSBsb2FkbGltaXQgbWVjaGFuaXNtLCB0byBwcmV2ZW50IHFwb3BwZXIg
Y29ubmVjdGlvbnMgaWYNCisgICAgICB0aGUgc3lzdGVtIGxvYWQgaXMgYWJv
dmUgYSBzeXN0ZW0tY29uZmlndXJhYmxlIHZhbHVlLiAgQWRkZWQNCisgICAg
ICBhIGNvbmZpZ3VyZSBvcHRpb24gKC0td2l0aC1sb2FkbGltaXQ9bG9hZCks
IGFuZCBjb2RlIGluIHBvcHBlci5jDQorICAgICAgdG8gZW5hYmxlIHRoaXMg
Zm9yIHN5c3RlbXMgdGhhdCB1c2UgZ2V0bG9hZGF2ZygzKSAoZWcsIFNvbGFy
aXMpDQorICAgICAgYW5kIGZvciBIUFVYIDEwLngvMTEueCBzeXN0ZW1zLiAg
TG9hZGxpbWl0IGZlYXR1cmUgaXMgYXZhaWxhYmxlIA0KKyAgICAgIGFzIGEg
cnVuLXRpbWUgY29udHJvbGxhYmxlIGZlYXR1cmUgdmlhIHRoZSAiLWwgW2xv
YWRdIiBjb21tYW5kLWxpbmUNCisgICAgICBvcHRpb247IHByb3ZpZGVkIHRo
YXQgLS13aXRoLWxvYWRsaW1pdD1sb2FkIGlzIHNwZWNpZmllZCBhdA0KKyAg
ICAgIGNvbmZpZ3VyZSB0aW1lLiAgVGhlICJsb2FkIiBudW1iZXIgaXMgYSBm
bG9hdGluZyBwb2ludCBudW1iZXINCisgICAgICByZXByZXNlbnRpbmcgdGhl
IG9uZS1taW51dGUtYXZlcmFnZSBsb2FkIGFib3ZlIHdoaWNoIHlvdSB3YW50
IHRvDQorICAgICAgcmVmdXNlIGNvbm5lY3Rpb25zLiAgVGhpcyBmZWF0dXJl
IG5lZWRzIGNvZGUgZm9yIG90aGVyIHR5cGVzIG9mDQorICAgICAgVU5JWC4N
CisgIDYuICBDaGFuZ2VkIHRoZSBtZXNzYWdlIGZvciBub25hdXRob3JpemVk
IHVzZXJzIHRvICp0ZWxsKiB0aGVtIHRoZXkNCisgICAgICBhcmUgbm90IGF1
dGhvcml6ZWQsIGluc3RlYWQgb2YgdGhlIHVzdWFsIHZhZ3VlIG1lc3NhZ2Uu
ICBGb3IgdXNlDQorICAgICAgd2l0aCBBVVRIRklMRSBhbmQgTk9OQVVUSEZJ
TEUgbWFjcm9zLg0KKyAgNy4gIEZpeGVkIGEgYnVnIGluIHBvcF9pbml0LmMs
IHdoZXJlIHAtPmRlYnVnIGFuZCBwLT5zdGF0cyB3ZXJlIG5vdA0KKyAgICAg
IGluaXRpYWxpemVkIGJlZm9yZSBiZWluZyB1c2VkIGluIHRoZSBnZXRvcHRz
IGxvb3AuDQorICA4LiAgQWRkZWQgYSB0aW1lY2hlY2sgaW4gcG9wX3Bhc3Mu
YyB0byBrZWVwIHBlb3BsZSBmcm9tIHJlcGVhdGVkbHkNCisgICAgICBjaGVj
a2luZyBlbWFpbC4gIE9ubHkgd29ya3MgaWYgS0VFUF9URU1QX0RST1AgaXMg
ZGVmaW5lZC4gIENoZWNrcw0KKyAgICAgIHRoZSB0aW1lc3RhbXAgb24gdGhl
IHNhdmVkIGRyb3BmaWxlIGFnYWluc3QgdGhlIGN1cnJlbnQgdGltZSAtLSBp
Zg0KKyAgICAgIHRoZSBkaWZmZXJlbmNlIGluIHRpbWVzIGlzIGxlc3MgdGhh
biBhIHNwZWNpZmllZCBudW1iZXIgb2Ygc2Vjb25kcywNCisgICAgICB0aGVu
IHRoZSBjb25uZWN0aW9uIGlzIHJlamVjdGVkIGJlZm9yZSBhdXRoZW50aWNh
dGlvbi4gIFRoZSBtaW5pbXVtDQorICAgICAgdGltZWNoZWNrIGludGVydmFs
IGlzIHNwZWNpZmVkIHZpYSB0aGUgcnVuLXRpbWUgZmxhZyAiLWEgaW50ZWdl
ciIsDQorICAgICAgd2hlcmUgdGhlIGludGVnZXIgaXMgdGhlIG1pbmltdW0g
bnVtYmVyIG9mIHNlY29uZHMgYWxsb3dlZCBiZXR3ZWVuDQorICAgICAgbWFp
bCBjaGVja3MuDQorICAgICAgVGhpcyBmZWF0dXJlIHJlcXVpcmVkIHRoZSBh
ZGRpdGlvbiBvZiBhIHRvdWNoX2ZpbGUoKSBjYWxsIGluIA0KKyAgICAgIHVu
bGlua190ZW1wX2Ryb3AoKSwgdG8gdXBkYXRlIHRoZSBhY2Nlc3MgdGltZXMg
b24gZHJvcGZpbGUgaWYNCisgICAgICBLRUVQX1RFTVBfRFJPUCBpcyBkZWZp
bmVkLiAgVGhpcyB1cGRhdGVzIHRoZSB0aW1lc3RhbXBzIG9uIHRoZQ0KKyAg
ICAgIGRyb3BmaWxlIHdoZW5ldmVyIHRoZSB1c2VyIGF1dGhlbnRpY2F0ZXMg
LS0gZXZlbiBpZiBub3RoaW5nIGVsc2UNCisgICAgICBoYXBwZW5lZCB3aXRo
IGhpcyBlbWFpbC4NCisgIDkuICBBZGRlZCBEQ0UgYXV0aGVudGljYXRpb24g
c3VwcG9ydC4gIEtub3duIHRvIHdvcmsgb24gSFAgMTAuMjAgYW5kDQorICAg
ICAgMTEuMCBzeXN0ZW1zLiAgTWF5IHdvcmsgb24gb3RoZXIgRENFIHBsYXRm
b3Jtcy4gIEVuYWJsZSB2aWENCisgICAgICBjb25maWd1cmF0aW9uIHVzaW5n
IC0td2l0aC1EQ0UuDQogIA0KICBDaGFuZ2VzIGZyb20gMy4xYjEwIHRvIDMu
MWIxMQ0KICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KKioqKioq
KioqKioqKioqDQoqKiogMTksMjUgKioqKg0KICAgICAgIGludmFsaWQgcGF0
aCB0byBiZSBnZW5lcmF0ZWQuDQogICA2LiAgRml4ZWQgc29tZSB3YXJuaW5n
cy4NCiAgIDcuICBOb3cgdHJpbW1pbmcgZG9tYWluIG5hbWUgZnJvbSB1c2Vy
IG5hbWUuDQotIA0KICANCiAgQ2hhbmdlcyBmcm9tIDMuMWI5IHRvIDMuMWIx
MA0KICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQotLS0gNzUsODAg
LS0tLQ0KZGlmZiAtYyAncXBvcHBlcjMuMWIxMS9wb3BwZXIvTWFrZWZpbGUu
aW4nICdxcG9wcGVyMy4yYjUvcG9wcGVyL01ha2VmaWxlLmluJw0KSW5kZXg6
IC4vcG9wcGVyL01ha2VmaWxlLmluDQoqKiogLi9wb3BwZXIvTWFrZWZpbGUu
aW4JV2VkIEF1ZyAxNiAxODozNjoxNCAyMDAwDQotLS0gLi9wb3BwZXIvTWFr
ZWZpbGUuaW4JTW9uIFNlcCAxMSAxMzowNTo1OCAyMDAwDQoqKioqKioqKioq
KioqKioNCioqKiA3Niw4MyAqKioqDQogIAkJCXBvcF91c2VyLm8gcG9wX3h0
bmQubyBwb3BfeG1pdC5vIHBvcHBlci5vIFwNCiAgCQkJcG9wX2J1bGwubyB4
dG5kX3hsc3QubyBwb3BfdWlkbC5vIG1rdGVtcC5vIFwNCiAgCQkJcG9wX3Jw
b3AubyBwb3BfYXBvcC5vIG1kNS5vIHBvcF9hdXRoLm8gcG9wX3BvcGUubyBc
DQohICAgICAgICAgICAgICAgICAgICAgICAgIHBvcF9leHRlbmQubyBzY3Jh
bS5vIGhtYWMubyBiYXNlNjQubyBwb3BfdXRpbC5vIFwNCiEgICAgICAgICAg
ICAgICAgICAgICAgICAgZ2V0X3N1Yl9vcHQubyBtc2dfcHRyLm8gZHJhYy5v
IHBvcF9jb25maWcubyBtYWluLm8NCiAgDQogIFNSQ1MJCT0JcG9wX2RlbGUu
YyBwb3BfZHJvcGNvcHkuYyBcDQogIAkJCXBvcF9nZXRfY29tbWFuZC5jIHBv
cF9nZXRfc3ViY29tbWFuZC5jIHBvcF9pbml0LmMgXA0KLS0tIDc2LDg0IC0t
LS0NCiAgCQkJcG9wX3VzZXIubyBwb3BfeHRuZC5vIHBvcF94bWl0Lm8gcG9w
cGVyLm8gXA0KICAJCQlwb3BfYnVsbC5vIHh0bmRfeGxzdC5vIHBvcF91aWRs
Lm8gbWt0ZW1wLm8gXA0KICAJCQlwb3BfcnBvcC5vIHBvcF9hcG9wLm8gbWQ1
Lm8gcG9wX2F1dGgubyBwb3BfcG9wZS5vIFwNCiEgCQkJcG9wX2V4dGVuZC5v
IHNjcmFtLm8gaG1hYy5vIGJhc2U2NC5vIHBvcF91dGlsLm8gXA0KISAJCQlw
b3BfYXV0aGRjZS5vIGRjZV9wd2VudC5vIFwNCiEgCQkJZ2V0X3N1Yl9vcHQu
byBtc2dfcHRyLm8gZHJhYy5vIHBvcF9jb25maWcubyBtYWluLm8NCiAgDQog
IFNSQ1MJCT0JcG9wX2RlbGUuYyBwb3BfZHJvcGNvcHkuYyBcDQogIAkJCXBv
cF9nZXRfY29tbWFuZC5jIHBvcF9nZXRfc3ViY29tbWFuZC5jIHBvcF9pbml0
LmMgXA0KKioqKioqKioqKioqKioqDQoqKiogODcsOTQgKioqKg0KICAJCQlw
b3BfdXNlci5jIHBvcF94dG5kLmMgcG9wX3htaXQuYyBwb3BwZXIuYyBcDQog
IAkJCXBvcF9idWxsLmMgeHRuZF94bHN0LmMgcG9wX3VpZGwuYyBta3RlbXAu
YyBcDQogIAkJCXBvcF9ycG9wLmMgcG9wX2Fwb3AuYyBtZDUuYyBwb3BfYXV0
aC5jIHBvcF9wb3BlLmMgXA0KISAgICAgICAgICAgICAgICAgICAgICAgICBw
b3BfZXh0ZW5kLmMgc2NyYW0uYyBobWFjLmMgYmFzZTY0LmMgcG9wX3V0aWwu
YyBcDQohICAgICAgICAgICAgICAgICAgICAgICAgIGdldF9zdWJfb3B0LmMg
bXNnX3B0ci5jIGRyYWMuYyBwb3BfY29uZmlnLmMgbWFpbi5jDQogIA0KICBQ
T1BBVVRIT0JKUyAgICAgPSAgICAgICBiYXNlNjQubyBzY3JhbS5vIG1kNS5v
IFwNCiAgCQkJaG1hYy5vIHBvcGF1dGgubw0KLS0tIDg4LDk2IC0tLS0NCiAg
CQkJcG9wX3VzZXIuYyBwb3BfeHRuZC5jIHBvcF94bWl0LmMgcG9wcGVyLmMg
XA0KICAJCQlwb3BfYnVsbC5jIHh0bmRfeGxzdC5jIHBvcF91aWRsLmMgbWt0
ZW1wLmMgXA0KICAJCQlwb3BfcnBvcC5jIHBvcF9hcG9wLmMgbWQ1LmMgcG9w
X2F1dGguYyBwb3BfcG9wZS5jIFwNCiEgCQkJcG9wX2V4dGVuZC5jIHNjcmFt
LmMgaG1hYy5jIGJhc2U2NC5jIHBvcF91dGlsLmMgXA0KISAJCQlwb3BfYXV0
aGRjZS5jIGRjZV9wd2VudC5jIFwNCiEgCQkJZ2V0X3N1Yl9vcHQuYyBtc2df
cHRyLmMgZHJhYy5jIHBvcF9jb25maWcuYyBtYWluLmMNCiAgDQogIFBPUEFV
VEhPQkpTICAgICA9ICAgICAgIGJhc2U2NC5vIHNjcmFtLm8gbWQ1Lm8gXA0K
ICAJCQlobWFjLm8gcG9wYXV0aC5vDQoqKioqKioqKioqKioqKioNCioqKiAx
MTMsMTE5ICoqKioNCiAgTkVUV09SS19MSUJTCT0JQE5FVFdPUktfTElCU0AN
CiAgS0VSQkVST1NfTElCUwk9CUBLRVJCRVJPU19MSUJTQA0KICBEQk1fTElC
Uwk9CUBEQk1fTElCU0ANCiEgTElCUwkJPSAJQE5FVFdPUktfTElCU0AgQEtF
UkJFUk9TX0xJQlNAIEBEQk1fTElCU0AgQExJQlNADQogIEFSX0ZMQUcgICAg
ICAgICA9ICAgICAgIEBBUl9GTEFHQA0KICBSQU5MSUJfQ01EICAgICAgPSAg
ICAgICBAUkFOTElCX0NNREANCiAgDQotLS0gMTE1LDEyMiAtLS0tDQogIE5F
VFdPUktfTElCUwk9CUBORVRXT1JLX0xJQlNADQogIEtFUkJFUk9TX0xJQlMJ
PQlAS0VSQkVST1NfTElCU0ANCiAgREJNX0xJQlMJPQlAREJNX0xJQlNADQoh
IERDRV9MSUJTICAgID0gICBARENFX0xJQlNADQohIExJQlMJCT0gCUBORVRX
T1JLX0xJQlNAIEBLRVJCRVJPU19MSUJTQCBAREJNX0xJQlNAIEBMSUJTQCBA
RENFX0xJQlNADQogIEFSX0ZMQUcgICAgICAgICA9ICAgICAgIEBBUl9GTEFH
QA0KICBSQU5MSUJfQ01EICAgICAgPSAgICAgICBAUkFOTElCX0NNREANCiAg
DQpkaWZmIC1jIC9kZXYvbnVsbCAncXBvcHBlcjMuMmI1L3BvcHBlci9kY2Vf
cHdlbnQuYycNCkluZGV4OiAuL3BvcHBlci9kY2VfcHdlbnQuYw0KKioqIC4v
cG9wcGVyL2RjZV9wd2VudC5jCVdlZCBEZWMgMzEgMTk6MDA6MDAgMTk2OQ0K
LS0tIC4vcG9wcGVyL2RjZV9wd2VudC5jCU1vbiBTZXAgMTEgMTM6MDU6NTgg
MjAwMA0KKioqKioqKioqKioqKioqDQoqKiogMCAqKioqDQotLS0gMSwyNzEg
LS0tLQ0KKyAvKg0KKyAgKiAgQ29udHJpYnV0ZWQgYnkgSmVmZiBFYXJpY2tz
b24sIENvbGJ5IENvbGxlZ2UsIFdhdGVydmlsbGUsIE1FDQorICAqICAoamFl
YXJpY2tAY29sYnkuZWR1KQ0KKyAgKg0KKyAgKiAgVGhlIGNvZGUgYmVsb3cg
YmFzaWNhbGx5IGNvbWVzIGZyb20gdGhlIGV4YW1wbGVzIHN1cHBsaWVkIG9u
DQorICAqICB0aGUgT1NGIERDRSAxLjAuMyBtYW5wYWdlcyBmb3IgdGhlIHNl
Y19sb2dpbiByb3V0aW5lcywgd2l0aA0KKyAgKiAgZW5vdWdoIGFkZGl0aW9u
YWwgcG9saXNoaW5nIHRvIG1ha2UgdGhlIHJvdXRpbmUgd29yayBjb3JyZWN0
bHkuDQorICAqDQorICAqICBUaGlzIGNvZGUgaXMga25vd24gdG8gd29yayBv
biBIUCA3MDAgYW5kIDgwMCBzZXJpZXMgc3lzdGVtcw0KKyAgKiAgcnVubmlu
ZyBIUC1VWCA5LlggYW5kIDEwLlgsIHdpdGggZWl0aGVyIEhQJ3MgdmVyc2lv
biAxLjIuMSBvZiBEQ0UuDQorICAqICAoYWthLCBPU0YgRENFIDEuMC4zKSBv
ciB3aXRoIEhQJ3MgdmVyc2lvbiAxLjQgb2YgRENFIChha2EsIE9TRg0KKyAg
KiAgRENFIDEuMSkuDQorICAqDQorICAqICBVc2UgYXQgeW91ciBvd24gcmlz
ayEhISAgKEJ1dCBJIHdvdWxkIGxpa2UgdG8gaGVhciBhYm91dCBidWdzLikN
CisgKi8NCisgDQorICNpZmRlZiBIQVZFX0NPTkZJR19IDQorICNpbmNsdWRl
IDxjb25maWcuaD4NCisgI2VuZGlmDQorIA0KKyAjaWZkZWYgRENFDQorIA0K
KyAjaW5jbHVkZSA8c3RkaW8uaD4NCisgLyogI2luY2x1ZGUgPHN0cmluZy5o
PiAqLw0KKyAjaW5jbHVkZSA8c2lnbmFsLmg+DQorICNpbmNsdWRlIDxzZXRq
bXAuaD4NCisgI2luY2x1ZGUgPHB3ZC5oPg0KKyAjaW5jbHVkZSAicG9wcGVy
LmgiDQorICNpbmNsdWRlIDxkY2UvcnBjLmg+DQorICNpbmNsdWRlIDxkY2Uv
c2VjX2xvZ2luLmg+DQorICNpbmNsdWRlIDxkY2UvZGNlX2Vycm9yLmg+IC8q
IHJlcXVpcmVkIHRvIGNhbGwgZGNlX2Vycm9yX2lucV90ZXh0IHJvdXRpbmUg
ICAqLw0KKyANCisgLyogZ2xvYmFsIHZhcmlhYmxlcyAqLw0KKyBzdGF0aWMg
aW50ICAgICAgICAgICAgICAgIGVycm9yX3N0YXQ7DQorIHN0YXRpYyB1bnNp
Z25lZCBjaGFyICAgICAgZXJyb3Jfc3RyaW5nW2RjZV9jX2Vycm9yX3N0cmlu
Z19sZW5dOw0KKyBqbXBfYnVmICAgICAgICAgICAgICAgICAgIGRjZWp1bXA7
ICAgICAgICAvKiBzdGFjayBmb3Igc2V0am1wL2xvbmdqbXAgaGVyZWluICov
DQorIHNlY19sb2dpbl9oYW5kbGVfdCAgICAgICAgbG9naW5fY29udGV4dDsg
ICAgLyogRENFIGxvZ2luIGNvbnRleHQgKi8NCisgDQorIHZvaWQgZGNldGlt
ZW91dCgpDQorIHsNCisgICAgIGVycm9yX3N0YXR1c190ICAgICAgICBzdGF0
dXM7DQorIA0KKyAgICAgc2VjX2xvZ2luX3B1cmdlX2NvbnRleHQoICZsb2dp
bl9jb250ZXh0LCAmc3RhdHVzICk7DQorICAgICBsb25nam1wKCBkY2VqdW1w
LCAxICk7DQorIH0NCisgDQorIGludCBkY2VfYXV0aF90aW1lKHAsIGVycm9y
bXNnLCB0aW1lb3V0KQ0KKyAvKiByZXR1cm5zIDEgKCJ0cnVlIikgaWYgdXNl
ciBpcyBhIHZhbGlkIERDRSBwcmluY2lwYWwsIDAgb3RoZXJ3aXNlICovDQor
IC8qIGNsZWFucyB1cCBhbmQgZXhpdHMgaWYgRENFIHRpbWVzIG91dCAqLw0K
KyBQT1AgKnA7DQorIGNoYXIgKmVycm9ybXNnOw0KKyBpbnQgdGltZW91dDsN
Cisgew0KKyAgICAgaW50IHJldGNvZGU7DQorIA0KKyAgICAgLyogcHJlcGFy
ZSB0byBjYXRjaCB0aGUgc2lnbmFsIGZvciBEQ0UgdGltZW91dCAqLw0KKyAg
ICAgKHZvaWQpIHNpZ25hbChTSUdBTFJNLCBkY2V0aW1lb3V0KTsNCisgDQor
ICAgICAvKiBub3cgc2V0IHRoZSBEQ0UgdGltZW91dCBhbGFybSAqLw0KKyAg
ICAgYWxhcm0odGltZW91dCk7DQorIA0KKyAgICAgREVCVUdfTE9HMSAoIHAs
ICJkY2VfYXV0aF90aW1lOiBzaWduYWwgYWxhcm0gc2V0IGZvciAlZCBzZWNc
biIsIHRpbWVvdXQpOw0KKyANCisgICAgIC8qIHNldCByZXRjb2RlIHRvIGZh
aWx1cmUgaWYgYWxhcm0gd2VudCBvZmYgKi8NCisgICAgIC8qIGJlZm9yZSB0
aGUgZGNlX3B3ZW50KCkgY2FsbCBmaW5pc2hlZCAqLw0KKyAgICAgLyogdGlt
ZSB0byBkaWUuLi4gKi8NCisgICAgIGlmKHNldGptcChkY2VqdW1wKSkNCisg
ICAgIHsNCisgICAgICAgICBERUJVR19MT0cwIChwLCAiZGNlX2F1dGhfdGlt
ZTogcmV0dXJuaW5nIGZyb20gbG9uZ2ptcFxuIiApOw0KKyAgICAgICAgIHBv
cF9tc2cocCxQT1BfRkFJTFVSRSwgSEVSRSwNCisgICAgICAgICAgICAgIltB
VVRIXSBEQ0UgQXV0aGVudGljYXRpb24gVGltZW91dCBmb3IgJXMiLCBwLT51
c2VyICk7DQorICAgICAgICAgY2xvc2Vsb2coKTsNCisgICAgICAgICBleGl0
KC0xKTsNCisgICAgIH0NCisgICAgIGVsc2UNCisgICAgIHsNCisgICAgICAg
ICBERUJVR19MT0cwIChwLCAiZGNlX2F1dGhfdGltZTogYmVmb3JlIGRjZV9w
d2VudFxuIiApOw0KKyAgICAgICAgIHJldGNvZGUgPSBkY2VfcHdlbnQocCwg
ZXJyb3Jtc2cpOw0KKyAgICAgICAgIERFQlVHX0xPRzAgKHAsICJkY2VfYXV0
aF90aW1lOiBhZnRlciBkY2VfcHdlbnRcbiIgKTsNCisgICAgIH0NCisgDQor
ICAgICAvKiB0dXJuIG9mZiB0aGUgYWxhcm0gYW5kIHJlc2V0IFNJR0FMUk0g
Ki8NCisgICAgIGFsYXJtKDApOw0KKyAgICAgKHZvaWQpIHNpZ25hbChTSUdB
TFJNLFNJR19ERkwpOw0KKyANCisgICAgIERFQlVHX0xPRzAgKHAsICJkY2Vf
YXV0aF90aW1lOiBzaWduYWwgYW5kIGFsYXJtIHR1cm5lZCBvZmZcbiIgKTsN
CisgDQorICAgICByZXR1cm4gcmV0Y29kZTsNCisgfQ0KKyANCisgaW50IGRj
ZV9wd2VudChwLCBlcnJvcm1zZykNCisgLyogcmV0dXJucyAxICgidHJ1ZSIp
IGlmIHVzZXIgaXMgYSB2YWxpZCBEQ0UgcHJpbmNpcGFsLCAwIG90aGVyd2lz
ZSAqLw0KKyBQT1AgKnA7DQorIGNoYXIgKmVycm9ybXNnOw0KKyB7DQorICAg
ICBzdHJ1Y3QgcGFzc3dkICAgICAgICAqcHdkOw0KKyAgICAgc2VjX3Bhc3N3
ZF9yZWNfdCAgICAgIHBhc3N3b3JkX3JlYzsNCisgICAgIGJvb2xlYW4zMiAg
ICAgICAgICAgICByZXNldF9wYXNzd2Q7DQorICAgICBzZWNfbG9naW5fYXV0
aF9zcmNfdCAgYXV0aF9zcmM7DQorICAgICBlcnJvcl9zdGF0dXNfdCAgICAg
ICAgc3RhdHVzOw0KKyAgICAgdW5zaWduZWQzMiAgICAgICAgICAgIG5ieXRl
czsNCisgICAgIGNoYXIgICAgICAgICAgICAgICAgICp0bXBwYXNzOw0KKyAN
CisgICAgIC8qIGNyZWF0ZSB0aGUgbG9jYWwgY29udGV4dCBvZiB0aGUgRENF
IHByaW5jaXBhbCBuZWNlc3NhcnkgICAqLw0KKyAgICAgLyogdG8gcGVyZm9y
bSBhdXRoZW50aWNhdGVkIG5ldHdvcmsgb3BlcmF0aW9ucy4gVGhlIG5ldHdv
cmsgICovDQorICAgICAvKiBpZGVudGl0eSBzZXQgdXAgYnkgdGhpcyBvcGVy
YXRpb24gY2Fubm90IGJlIHVzZWQgdW50aWwgaXQgKi8NCisgICAgIC8qIGlz
IHZhbGlkYXRlZCB2aWEgc2VjX2xvZ2luX3ZhbGlkYXRlX2lkZW50aXR5KCku
ICovDQorICAgICBpZiAoIHNlY19sb2dpbl9zZXR1cF9pZGVudGl0eSgodW5z
aWduZWRfY2hhcl9wX3QpIHAtPnVzZXIsDQorICAgICAgICAgc2VjX2xvZ2lu
X25vX2ZsYWdzLCAmbG9naW5fY29udGV4dCwmc3RhdHVzKSkNCisgICAgIHsN
CisgICAgICAgICBpZiAoIGNoZWNrKCBwLCBzdGF0dXMsICJzZWNfbG9naW5f
c2V0dXBfaWRlbnRpdHkoMSk6IikpIA0KKyAgICAgICAgIHsNCisgICAgICAg
ICAgICAgc3RyY3B5KCBlcnJvcm1zZywgKGNvbnN0IGNoYXIgKikgZXJyb3Jf
c3RyaW5nICk7DQorICAgICAgICAgICAgIHJldHVybiggMCApOw0KKyAgICAg
ICAgIH0NCisgDQorICAgICAgICAgLyogbm90ZSB0aGF0IGNvbnRlbnRzIG9m
IHBhc3N3ZCBhcmUgdHJhc2hlZCBhZnRlciBEQ0UgKi8NCisgICAgICAgICAv
KiBzbyB3ZSBuZWVkIHRvIG1ha2UgYSBsb2NhbCBjb3B5IG9mIGl0IGZvciB1
c2UgaGVyZSAqLw0KKyAgICAgICAgIC8qIG1hbGxvYyBzcGFjZSBmb3IgcGFz
c3dkIHN0cnVjdHVyZSAqLw0KKyAgICAgICAgIG5ieXRlcyA9IHN0cmxlbigg
cC0+cG9wX3Bhcm1bMV0gKSArIDE7DQorICAgICAgICAgaWYgKCAodG1wcGFz
cyA9IChjaGFyICopIG1hbGxvYyhuYnl0ZXMpKSA9PSBOVUxMICkNCisgICAg
ICAgICB7DQorICAgICAgICAgICAgIHN0cmNweSggZXJyb3Jtc2cscC0+dXNl
ciApOw0KKyAgICAgICAgICAgICBzdHJjYXQoIGVycm9ybXNnLCI6IG1hbGxv
YyBmb3IgdG1wcGFzcyBmYWlsZWQuIiApOw0KKyAgICAgICAgICAgICByZXR1
cm4oMCk7DQorICAgICAgICAgfQ0KKyAgICAgICAgIHN0cmNweSggdG1wcGFz
cyxwLT5wb3BfcGFybVsxXSApOw0KKyANCisgICAgICAgICBwYXNzd29yZF9y
ZWMua2V5LnRhZ2dlZF91bmlvbi5wbGFpbiA9IChpZGxfY2hhciAqKSB0bXBw
YXNzOw0KKyAgICAgICAgIHBhc3N3b3JkX3JlYy5rZXkua2V5X3R5cGUgPSBz
ZWNfcGFzc3dkX3BsYWluOw0KKyAgICAgICAgIHBhc3N3b3JkX3JlYy5wZXBw
ZXIgPSBOVUxMOw0KKyAgICAgICAgIHBhc3N3b3JkX3JlYy52ZXJzaW9uX251
bWJlciA9IHNlY19wYXNzd2RfY192ZXJzaW9uX25vbmU7DQorIA0KKyAgICAg
ICAgIC8qIHZhbGlkYXRlIHRoZSBsb2dpbiBjb250ZXh0IHdpdGggdGhlIHBh
c3N3b3JkICovDQorICAgICAgICAgaWYgKHNlY19sb2dpbl92YWxpZGF0ZV9p
ZGVudGl0eSggbG9naW5fY29udGV4dCwgJnBhc3N3b3JkX3JlYywNCisgICAg
ICAgICAgICAgJnJlc2V0X3Bhc3N3ZCwmYXV0aF9zcmMsJnN0YXR1cykpDQor
ICAgICAgICAgew0KKyAgICAgICAgICAgICBpZiAoIGNoZWNrKCBwLCBzdGF0
dXMsICJzZWNfbG9naW5fdmFsaWRhdGVfaWRlbnRpdHkoMSk6IikpIA0KKyAg
ICAgICAgICAgICB7DQorICAgICAgICAgICAgICAgICBzdHJjcHkoIGVycm9y
bXNnLCAoY29uc3QgY2hhciAqKSBlcnJvcl9zdHJpbmcgKTsNCisgICAgICAg
ICAgICAgICAgIHJldHVybigwKTsNCisgICAgICAgICAgICAgfQ0KKyANCisg
ICAgICAgICAgICAgLyogQ2VydGlmeSB0aGF0IHRoZSBEQ0UgU2VjdXJpdHkg
U2VydmVyIHVzZWQgdG8gc2V0ICAgICAgKi8NCisgICAgICAgICAgICAgLyog
dXAgYW5kIHZhbGlkYXRlIGEgbG9naW4gY29udGV4dCBpcyBsZWdpdGltYXRl
LiAgTWFrZXMgKi8NCisgICAgICAgICAgICAgLyogc3VyZSB0aGF0IHdlIGRp
ZG4ndCBnZXQgc3Bvb2ZlZCBieSBhbm90aGVyIERDRSBzZXJ2ZXIuKi8NCisg
ICAgICAgICAgICAgaWYgKCAhc2VjX2xvZ2luX2NlcnRpZnlfaWRlbnRpdHko
IGxvZ2luX2NvbnRleHQsICZzdGF0dXMpKQ0KKyAgICAgICAgICAgICB7DQor
ICAgICAgICAgICAgICAgICAvKiBmcHJpbnRmKHN0ZGVyciwiV2hvYSEgQm9n
dXMgYXV0aGVudGljYXRpb24gc2VydmVyIVxuIik7ICovDQorICAgICAgICAg
ICAgICAgICAodm9pZCkgY2hlY2soIHAsIHN0YXR1cywgInNlY19sb2dpbl9j
ZXJ0aWZ5X2lkZW50aXR5KDEpOiIpOyANCisgICAgICAgICAgICAgICAgIHN0
cmNweSggZXJyb3Jtc2csIChjb25zdCBjaGFyICopIGVycm9yX3N0cmluZyAp
Ow0KKyAgICAgICAgICAgICAgICAgcmV0dXJuKDApOw0KKyAgICAgICAgICAg
ICB9DQorICAgICAgICAgICAgIGlmICggY2hlY2soIHAsIHN0YXR1cywgInNl
Y19sb2dpbl9jZXJ0aWZ5X2lkZW50aXR5KDIpOiIpKSANCisgICAgICAgICAg
ICAgew0KKyAgICAgICAgICAgICAgICAgc3RyY3B5KCBlcnJvcm1zZywoY29u
c3QgY2hhciAqKSBlcnJvcl9zdHJpbmcgKTsNCisgICAgICAgICAgICAgICAg
IHJldHVybigwKTsNCisgICAgICAgICAgICAgfQ0KKyANCisgICAgICAgICAg
ICAgLyogc2V0cyB0aGUgbmV0d29yayBjcmVkZW50aWFscyB0byB0aG9zZSBz
cGVjaWZpZWQgKi8NCisgICAgICAgICAgICAgLyogYnkgdGhlIG5vdyB2YWxp
ZGF0ZWQgbG9naW4gY29udGV4dC4gKi8NCisgICAgICAgICAgICAgc2VjX2xv
Z2luX3NldF9jb250ZXh0KCBsb2dpbl9jb250ZXh0LCAmc3RhdHVzICk7DQor
ICAgICAgICAgICAgIGlmICggY2hlY2soIHAsIHN0YXR1cywgInNlY19sb2dp
bl9zZXRfY29udGV4dDoiKSkgDQorICAgICAgICAgICAgIHsNCisgICAgICAg
ICAgICAgICAgIHN0cmNweSggZXJyb3Jtc2csKGNvbnN0IGNoYXIgKikgZXJy
b3Jfc3RyaW5nICk7DQorICAgICAgICAgICAgICAgICByZXR1cm4oMCk7DQor
ICAgICAgICAgICAgIH0NCisgDQorICAgICAgICAgICAgIC8qIG9vcHMsIHlv
dXIgY3JlZGVudGlhbHMgd2VyZSBubyBnb29kLiBQb3NzaWJseSAgICovDQor
ICAgICAgICAgICAgIC8qIGNhdXNlZCBieSBjbG9jayB0aW1lcyBvdXQgb2Yg
YWRqdXN0bWVudCBiZXR3ZWVuICovDQorICAgICAgICAgICAgIC8qIERDRSBj
bGllbnQgYW5kIERDRSBzZWN1cml0eSBzZXJ2ZXIuLi4gICAgICAgICAgICov
DQorICAgICAgICAgICAgIGlmICggYXV0aF9zcmMgIT0gc2VjX2xvZ2luX2F1
dGhfc3JjX25ldHdvcmsgKQ0KKyAgICAgICAgICAgICB7DQorICAgICAgICAg
ICAgICAgICAvKiBmcHJpbnRmKHN0ZGVyciwiWW91IGhhdmUgbm8gbmV0d29y
ayBjcmVkZW50aWFsc1xuIik7ICovDQorICAgICAgICAgICAgICAgICBzdHJj
cHkoIGVycm9ybXNnLCBwLT51c2VyICk7DQorICAgICAgICAgICAgICAgICBz
dHJjYXQoIGVycm9ybXNnLCAiIGhhcyBubyBuZXR3b3JrIGNyZWRlbnRpYWxz
LiIgKTsNCisgICAgICAgICAgICAgICAgIHJldHVybigwKTsNCisgICAgICAg
ICAgICAgfQ0KKyAgICAgICAgICAgICAvKiBjaGVjayBpZiB0aGUgcGFzc3dv
cmQgaGFzIGFnZWQgYW5kIGlzIG5vIGdvb2QgKi8NCisgICAgICAgICAgICAg
aWYgKCByZXNldF9wYXNzd2QgKQ0KKyAgICAgICAgICAgICB7DQorICAgICAg
ICAgICAgICAgICAvKiBmcHJpbnRmKHN0ZGVyciwiWW91ciBEQ0UgcGFzc3dv
cmQgbmVlZHMgcmVzZXR0aW5nXG4iKTsgKi8NCisgICAgICAgICAgICAgICAg
IHN0cmNweSggZXJyb3Jtc2csIHAtPnVzZXIgKTsNCisgICAgICAgICAgICAg
ICAgIHN0cmNhdCggZXJyb3Jtc2csICIgaGFzIGFuIGludmFsaWQgcGFzc3dv
cmQuIiApOw0KKyAgICAgICAgICAgICAgICAgcmV0dXJuKDApOw0KKyAgICAg
ICAgICAgICB9DQorIA0KKyAjaWZkZWYgVU5ORUVERUQNCisgICAgICAgICAg
ICAgLyogbWFsbG9jIHNwYWNlIGZvciBwYXNzd2Qgc3RydWN0dXJlICovDQor
ICAgICAgICAgICAgIG5ieXRlcyA9IHNpemVvZihzdHJ1Y3QgcGFzc3dkKTsN
CisgICAgICAgICAgICAgaWYgKCAocHdkID0gKHN0cnVjdCBwYXNzd2QgKikg
bWFsbG9jKG5ieXRlcykpID09IE5VTEwgKQ0KKyAgICAgICAgICAgICB7DQor
ICAgICAgICAgICAgICAgICAvKiBmcHJpbnRmKHN0ZGVyciwibWFsbG9jIGZv
ciBwYXNzd2Qgc3RydWN0IGZhaWxlZFxuIik7ICovDQorICAgICAgICAgICAg
ICAgICBzdHJjcHkoZXJyb3Jtc2csIHAtPnVzZXIpOw0KKyAgICAgICAgICAg
ICAgICAgc3RyY2F0KGVycm9ybXNnLCAiOiBtYWxsb2MgZm9yIHBhc3N3ZCBz
dHJ1Y3QgZmFpbGVkLiIpOw0KKyAgICAgICAgICAgICAgICAgcmV0dXJuKDAp
Ow0KKyAgICAgICAgICAgICB9DQorIA0KKyAgICAgICAgICAgICAvKiB3ZSBz
aG91bGQgYmUgYSB2YWxpZCB1c2VyIGJ5IHRoaXMgcG9pbnQuICBQdWxsIHRo
ZSAqLw0KKyAgICAgICAgICAgICAvKiB1c2VyJ3MgcGFzc3dvcmQgc3RydWN0
dXJlIGZyb20gdGhlIERDRSBzZWN1cml0eSAgICAqLw0KKyAgICAgICAgICAg
ICAvKiBzZXJ2ZXIganVzdCB0byBtYWtlIHN1cmUuICBJZiB3ZSBnZXQgaXQg
d2l0aCBubyAgICAqLw0KKyAgICAgICAgICAgICAvKiBwcm9ibGVtcywgdGhl
biB3ZSByZWFsbHkgYXJlIGxlZ2l0aW1hdGUuLi4gICAgICAgICAqLw0KKyAg
ICAgICAgICAgICBzZWNfbG9naW5fZ2V0X3B3ZW50KGxvZ2luX2NvbnRleHQs
KHNlY19sb2dpbl9wYXNzd2RfdCkgcHdkLCZzdGF0dXMpOw0KKyAgICAgICAg
ICAgICBmcmVlKHB3ZCk7DQorICAgICAgICAgICAgIGlmICggY2hlY2socCxz
dGF0dXMsInNlY19sb2dpbl9nZXRfcHdlbnQ6IikgKSANCisgICAgICAgICAg
ICAgew0KKyAgICAgICAgICAgICAgICAgc3RyY3B5KCBlcnJvcm1zZywoY29u
c3QgY2hhciAqKSBlcnJvcl9zdHJpbmcgKTsNCisgICAgICAgICAgICAgICAg
IHJldHVybigwKTsNCisgICAgICAgICAgICAgfQ0KKyAjZW5kaWYgLyogVU5O
RUVERUQgKi8NCisgDQorICAgICAgICAgICAgIC8qKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiov
DQorICAgICAgICAgICAgIC8qIGlmIHdlIGdldCB0byBoZXJlLCB0aGVuIHRo
ZSBwd2VudCBhYm92ZSBwcm9wZXJseSBmZXRjaGVkICovDQorICAgICAgICAg
ICAgIC8qIHRoZSBwYXNzd29yZCBzdHJ1Y3R1cmUgZnJvbSB0aGUgRENFIHJl
Z2lzdHJ5LCBzbyB0aGUgdXNlciovDQorICAgICAgICAgICAgIC8qICBtdXN0
IGJlIHZhbGlkLiAgV2UgZG9uJ3QgcmVhbGx5IGNhcmUgd2hhdCB0aGUgdXNl
cidzICAgICovDQorICAgICAgICAgICAgIC8qIHJlZ2lzdHJ5IHBhc3N3b3Jk
IGlzLCBqdXN0IHRoYXQgdGhlIHVzZXIgY291bGQgYmUgICAgICAgICovDQor
ICAgICAgICAgICAgIC8qIHZhbGlkYXRlZC4gIEluIGZhY3QsIGlmIHdlIHRy
aWVkIHRvIGNvbXBhcmUgdGhlIGxvY2FsICAgICovDQorICAgICAgICAgICAg
IC8qIHBhc3N3b3JkIHRvIHRoZSBEQ0UgZW50cnkgYXQgdGhpcyBwb2ludCwg
dGhlIG9wZXJhdGlvbiAgICovDQorICAgICAgICAgICAgIC8qIHdvdWxkIGZh
aWwgaWYgdGhlIGhpZGRlbiBwYXNzd29yZCBmZWF0dXJlIGlzIHR1cm5lZCBv
biwgICovDQorICAgICAgICAgICAgIC8qIGJlY2F1c2UgdGhlIHBhc3N3b3Jk
IGZpZWxkIHdvdWxkIGNvbnRhaW4gYW4gYXN0ZXJpc2suICAgICovDQorICAg
ICAgICAgICAgIC8qICAgQWxzbyBnbyBhaGVhZCBhbmQgZGVzdHJveSB0aGUg
dXNlcidzIERDRSBsb2dpbiBjb250ZXh0ICovDQorICAgICAgICAgICAgIC8q
IGJlZm9yZSB3ZSBsZWF2ZSBoZXJlIChhbmQgZG9uJ3QgYm90aGVyIGNoZWNr
aW5nIHRoZSAgICAgICovDQorICAgICAgICAgICAgIC8qIHN0YXR1cyksIGlu
IG9yZGVyIHRvIGNsZWFuIHVwIGNyZWRlbnRpYWxzIGZpbGVzIGluICAgICAg
ICovDQorICAgICAgICAgICAgIC8qIC9vcHQvZGNlbG9jYWwvdmFyL3NlY3Vy
aXR5L2NyZWRzLiAgQnkgZG9pbmcgdGhpcywgd2UgYXJlICovDQorICAgICAg
ICAgICAgIC8qIGFzc3VtaW5nIHRoYXQgdGhlIHVzZXIgd2lsbCBub3QgbmVl
ZCBEQ0UgYXV0aGVudGljYXRpb24gICovDQorICAgICAgICAgICAgIC8qIGxh
dGVyIGluIHRoZSBwcm9ncmFtLCBvbmx5IGxvY2FsIGF1dGhlbnRpY2F0aW9u
LiAgSWYgdGhpcyovDQorICAgICAgICAgICAgIC8qIGlzIG5vdCB0cnVlLCB0
aGVuIHRoZSBsb2dpbl9jb250ZXh0IHdpbGwgaGF2ZSB0byBiZSAgICAgICov
DQorICAgICAgICAgICAgIC8qIHJldHVybmVkIHRvIHRoZSBjYWxsaW5nIHBy
b2dyYW0sIGFuZCB0aGUgY29udGV4dCBwdXJnZWQgICovDQorICAgICAgICAg
ICAgIC8qIHNvbWV3aGVyZSBsYXRlciBpbiB0aGUgcHJvZ3JhbS4gICAgICAg
ICAgICAgICAgICAgICAgICAgICovDQorICAgICAgICAgICAgIC8qKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKiovDQorICAgICAgICAgICAgIHNlY19sb2dpbl9wdXJnZV9jb250
ZXh0KCAmbG9naW5fY29udGV4dCAsICZzdGF0dXMgKTsNCisgICAgICAgICAg
ICAgZXJyb3Jtc2cgPSBOVUxMOw0KKyAgICAgICAgICAgICByZXR1cm4oMSk7
DQorICAgICAgICAgfQ0KKyAgICAgICAgIGVsc2UNCisgICAgICAgICB7DQor
ICAgICAgICAgICAgIGlmICggY2hlY2soIHAsIHN0YXR1cywgInNlY19sb2dp
bl92YWxpZGF0ZV9pZGVudGl0eSgyKToiKSkgDQorICAgICAgICAgICAgIHsN
CisgICAgICAgICAgICAgICAgIHN0cmNweSggZXJyb3Jtc2csIChjb25zdCBj
aGFyICopIGVycm9yX3N0cmluZyApOw0KKyAgICAgICAgICAgICAgICAgcmV0
dXJuKDApOw0KKyAgICAgICAgICAgICB9DQorICAgICAgICAgICAgIHNlY19s
b2dpbl9wdXJnZV9jb250ZXh0KCAmbG9naW5fY29udGV4dCwgJnN0YXR1cyAp
Ow0KKyAgICAgICAgICAgICBpZiAoIGNoZWNrKCBwLCBzdGF0dXMsICJzZWNf
bG9naW5fcHVyZ2VfY29udGV4dDoiKSkNCisgICAgICAgICAgICAgew0KKyAg
ICAgICAgICAgICAgICAgc3RyY3B5KCBlcnJvcm1zZywgKGNvbnN0IGNoYXIg
KikgZXJyb3Jfc3RyaW5nICk7DQorICAgICAgICAgICAgICAgICByZXR1cm4o
MCk7DQorICAgICAgICAgICAgIH0NCisgICAgICAgICB9DQorICAgICAgICAg
ZnJlZSh0bXBwYXNzKTsNCisgICAgIH0NCisgICAgIGlmICggY2hlY2soIHAs
IHN0YXR1cywgInNlY19sb2dpbl9zZXR1cF9pZGVudGl0eSgyKToiKSApDQor
ICAgICB7DQorICAgICAgICAgc3RyY3B5KCBlcnJvcm1zZywgKGNvbnN0IGNo
YXIgKikgZXJyb3Jfc3RyaW5nICk7DQorICAgICAgICAgcmV0dXJuKDApOw0K
KyAgICAgfQ0KKyAgICAgcmV0dXJuKDApOw0KKyB9DQorIA0KKyBpbnQgY2hl
Y2socCxpbnB1dF9zdGF0dXMsIGNvbW1lbnQpIA0KKyAvKiByZXR1cm5zIDAg
Zm9yIERDRSAib2siIHN0YXR1cywgMSBvdGhlcndpc2UgKi8NCisgUE9QICpw
Ow0KKyBlcnJvcl9zdGF0dXNfdCBpbnB1dF9zdGF0dXM7DQorIGNoYXIgKmNv
bW1lbnQ7DQorIHsgDQorICAgICBpZiAoIGlucHV0X3N0YXR1cyA9PSBycGNf
c19vayApIHJldHVybigwKTsNCisgICAgIGRjZV9lcnJvcl9pbnFfdGV4dCgg
aW5wdXRfc3RhdHVzLCBlcnJvcl9zdHJpbmcsICZlcnJvcl9zdGF0ICk7IA0K
KyAgICAgREVCVUdfTE9HMiAoIHAsICJEQ0U6ICVzICVzIixjb21tZW50LGVy
cm9yX3N0cmluZyk7DQorICAgICByZXR1cm4oMSk7DQorIH0NCisgDQorICNl
bmRpZiAvKiBEQ0UgKi8NCmRpZmYgLWMgL2Rldi9udWxsICdxcG9wcGVyMy4y
YjUvcG9wcGVyL3BvcF9hdXRoZGNlLmMnDQpJbmRleDogLi9wb3BwZXIvcG9w
X2F1dGhkY2UuYw0KKioqIC4vcG9wcGVyL3BvcF9hdXRoZGNlLmMJV2VkIERl
YyAzMSAxOTowMDowMCAxOTY5DQotLS0gLi9wb3BwZXIvcG9wX2F1dGhkY2Uu
YwlNb24gU2VwIDExIDEzOjA1OjU4IDIwMDANCioqKioqKioqKioqKioqKg0K
KioqIDAgKioqKg0KLS0tIDEsOTIgLS0tLQ0KKyAvKg0KKyAgKiAgRENFIEF1
dGhlbnRpY2F0aW9uIG1lY2hhbmlzbSBmb3IgUXBvcHBlcg0KKyAgKiAgQ29u
dHJpYnV0ZWQgYnkgSmVmZiBFYXJpY2tzb24sIENvbGJ5IENvbGxlZ2UsIFdh
dGVydmlsbGUsIE1FDQorICAqICAoamFlYXJpY2tAY29sYnkuZWR1KQ0KKyAg
Kg0KKyAgKi8NCisgDQorICNpZmRlZiBIQVZFX0NPTkZJR19IDQorICNpbmNs
dWRlIDxjb25maWcuaD4NCisgI2VuZGlmDQorIA0KKyAjaWZkZWYgRENFDQor
IA0KKyAjaW5jbHVkZSA8cHdkLmg+DQorICNpbmNsdWRlIDxjcnlwdC5oPg0K
KyAjaWZkZWYgU1lTVg0KKyAjaW5jbHVkZSA8c3RyaW5nLmg+DQorICNlbHNl
DQorICNpbmNsdWRlIDxzdHJpbmdzLmg+DQorICNlbmRpZg0KKyAjaW5jbHVk
ZSA8c3RkaW8uaD4NCisgDQorICNkZWZpbmUgRENFX1RJTUVPVVQgNjAgIC8q
IHRpbWVvdXQgb24gRENFIGF1dGhlbnRpY2F0aW9uIGFmdGVyIHRoaXMgc2Vj
cyAqLw0KKyAjZGVmaW5lIFBBU1NXRF9PVkVSUklERSAiL29wdC9kY2Vsb2Nh
bC9ldGMvcGFzc3dkX292ZXJyaWRlIg0KKyANCisgaW50IHVzZV9kY2VfcGFz
c3dkOw0KKyANCisgI2luY2x1ZGUgInBvcHBlci5oIg0KKyANCisgY2hhciAq
Y3J5cHQoKTsNCisgDQorIGludCBhdXRoX3VzZXJfZGNlIChwKQ0KKyBQT1Ag
KnA7DQorIHsNCisgICAgIEZJTEUgKmZkOw0KKyAgICAgc3RydWN0IHBhc3N3
ZCAqcHc7DQorICAgICBjaGFyIGVycm9ybXNnW01BWE1TR0xJTkVMRU5dOw0K
KyANCisgICAgIERFQlVHX0xPRzEgKCBwLCAiTG9va2luZyBpbiAlcy4iLCBQ
QVNTV0RfT1ZFUlJJREUpOw0KKyANCisgICAgIC8qIGZpcnN0IGxvb2sgaW4g
dGhlIHBhc3N3ZF9vdmVycmlkZSBmaWxlICovDQorICAgICBpZiAoKGZkID0g
Zm9wZW4oUEFTU1dEX09WRVJSSURFLCAiciIpKSA9PSBOVUxMICkNCisgICAg
IHsNCisgICAgICAgICByZXR1cm4gKHBvcF9tc2coIHAsIFBPUF9GQUlMVVJF
LCBIRVJFLA0KKyAgICAgICAgICAgICAiRENFOiBDYW5ub3Qgb3BlbiAlcy4i
LCBQQVNTV0RfT1ZFUlJJREUpKTsNCisgICAgIH0NCisgDQorICAgICB1c2Vf
ZGNlX3Bhc3N3ZCA9IDA7DQorIA0KKyAgICAgLyogTG9vayBmb3IgdGhlIHVz
ZXIgaW4gcGFzc3dvcmRfb3ZlcnJpZGUgZmlsZSAqLw0KKyAgICAgd2hpbGUo
KCBwdyA9IGZnZXRwd2VudChmZCkpICE9IE5VTEwgKQ0KKyAgICAgew0KKyAg
ICAgICAgIGlmICggc3RyY21wKHAtPnVzZXIsIHB3LT5wd19uYW1lKSA9PSAw
ICkgYnJlYWs7DQorICAgICB9DQorIA0KKyAgICAgLyogaWYgdGhlIHBhc3N3
b3JkIHN0cnVjdHVyZSBpcyBOVUxMIHRoZW4gd2UgaGl0IEVPRiAqLw0KKyAg
ICAgLyogaWYgdGhlIHBhc3N3b3JkIGZpZWxkIGlzIG5vdCAxMyBjaGFyYWN0
ZXJzIGxvbmcsICAqLw0KKyAgICAgLyogdGhlbiBpdCBpcyBub3QgYW4gZW5j
cnlwdGVkIHBhc3N3b3JkIGZpZWxkLCBzbyAgICAqLw0KKyAgICAgLyogY2xv
c2UgdGhlIGZpbGUgYW5kIG1vdmUgb24gKi8NCisgICAgIGlmICggcHcgPT0g
TlVMTCB8fCBzdHJsZW4ocHctPnB3X3Bhc3N3ZCkgIT0gMTMgKQ0KKyAgICAg
ew0KKyAgICAgICAgIGZjbG9zZShmZCk7DQorICAgICB9DQorICAgICAvKiB0
aGUgcGFzc3dvcmQgZmllbGQgaXMgZ29vZCBzbyBzcGVuZCB0aGUgQ1BVIGN5
Y2xlcyAqLw0KKyAgICAgLyogdG8gZW5jcnlwdCBpdCBhbmQgc2VlIGlmIHRo
ZSBlbnRlcmVkIHB3IGlzIHZhbGlkLi4gKi8NCisgICAgIGVsc2UNCisgICAg
IHsNCisgICAgICAgICBpZiAoIHN0cmNtcCggY3J5cHQocC0+cG9wX3Bhcm1b
MV0sIHB3LT5wd19wYXNzd2QpLCBwdy0+cHdfcGFzc3dkKSA9PSAwICkNCisg
ICAgICAgICB7DQorICAgICAgICAgICAgIHVzZV9kY2VfcGFzc3dkID0gMTsN
CisgICAgICAgICAgICAgZmNsb3NlKGZkKTsNCisgICAgICAgICAgICAgcmV0
dXJuKFBPUF9TVUNDRVNTKTsNCisgICAgICAgICB9DQorICAgICAgICAgZWxz
ZQ0KKyAgICAgICAgIHsNCisgICAgICAgICAgICAgZmNsb3NlKGZkKTsNCisg
ICAgICAgICB9DQorICAgICB9DQorIA0KKyAgICAgREVCVUdfTE9HMCAoIHAs
ICJDb25zdWx0aW5nIERDRSBSZWdpc3RyeS4iICk7DQorIA0KKyAgICAgLyog
dGhlbiBnbyBhc2sgdGhlIERDRSByZWdpc3RyeSAqLw0KKyAgICAgaWYgKCBk
Y2VfYXV0aF90aW1lKHAsIGVycm9ybXNnLCBEQ0VfVElNRU9VVCkgPT0gMSAp
DQorICAgICB7DQorICAgICAgICAgdXNlX2RjZV9wYXNzd2QgPSAxOw0KKyAg
ICAgICAgIHJldHVybihQT1BfU1VDQ0VTUyk7DQorICAgICB9DQorIA0KKyAg
ICAgLyogaWYgd2UgZ2V0IHRvIGhlcmUgdGhlbiBldmVyeXRoaW5nIGZhaWxl
ZCAqLw0KKyAgICAgcmV0dXJuKHBvcF9tc2cocCwgUE9QX0ZBSUxVUkUsIEhF
UkUsICJEQ0U6IFwiJXNcIiIsZXJyb3Jtc2cpKTsNCisgfQ0KKyAjZW5kaWYg
LyogRENFICovDQpkaWZmIC1jICdxcG9wcGVyMy4xYjExL3BvcHBlci9wb3Bf
aW5pdC5jJyAncXBvcHBlcjMuMmI1L3BvcHBlci9wb3BfaW5pdC5jJw0KSW5k
ZXg6IC4vcG9wcGVyL3BvcF9pbml0LmMNCioqKiAuL3BvcHBlci9wb3BfaW5p
dC5jCVNhdCBTZXAgIDkgMTk6NDE6MDIgMjAwMA0KLS0tIC4vcG9wcGVyL3Bv
cF9pbml0LmMJTW9uIFNlcCAxMSAxMzowNTo1OCAyMDAwDQoqKioqKioqKioq
KioqKioNCioqKiA0MjUsNDMwICoqKioNCi0tLSA0MjUsNDMyIC0tLS0NCiAg
ICAgICAqIE5vdGUgdGhhdCB3ZSB6ZXJvZWQgdGhlIGJsb2NrIGFib3ZlLCBz
byB3ZSByZWFsbHkgb25seSBuZWVkIHRvDQogICAgICAgKiBzZXQgYW55IGRl
c2lyZWQgbm9uLXplcm8vbm9uLU5VTEwgdmFsdWVzLg0KICAgICAgICovDQor
ICAgICBwLT5kZWJ1ZyAgICAgICAgICAgICAgID0gMDsNCisgICAgIHAtPnN0
YXRzICAgICAgICAgICAgICAgPSAwOw0KICAgICAgcC0+bXNnc19kZWxldGVk
ICAgICAgICA9IDA7DQogICAgICBwLT5sYXN0X21zZyAgICAgICAgICAgID0g
MDsNCiAgICAgIHAtPmJ5dGVzX2RlbGV0ZWQgICAgICAgPSAwOw0KKioqKioq
KioqKioqKioqDQoqKiogNDM4LDQ0MyAqKioqDQotLS0gNDQwLDQ0NiAtLS0t
DQogICAgICBwLT5rZXJiZXJvcyAgICAgICAgICAgID0gRkFMU0U7DQogICAg
ICBwLT5BbGxvd0NsZWFyVGV4dCAgICAgID0gQ2xlYXJUZXh0RGVmYXVsdDsN
CiAgICAgIHAtPmNoZWNrX2xvY2tfcmVmcmVzaCAgPSA1MDAwOyAvKiBqdXN0
IGEgd2lsZCBndWVzcyAqLw0KKyAgICAgcC0+bWluX2FjY2Vzc190aW1lICAg
ICA9IDA7DQogIA0KICAjaWZkZWYgIEtFUkJFUk9TDQogICAgICBwLT5rZXJi
ZXJvc19zZXJ2aWNlICAgID0gS0VSQkVST1NfU0VSVklDRTsNCioqKioqKioq
KioqKioqKg0KKioqIDQ1Nyw0NjIgKioqKg0KLS0tIDQ2MCw0NjggLS0tLQ0K
ICAjICBlbmRpZiAvKiBIQVZFX1VTTEVFUCAqLw0KICAjZW5kaWYgLyogQlVM
TERCICovDQogIA0KKyAjaWZkZWYgTE9BRExJTUlUDQorICAgICBwLT5sb2Fk
bGltaXQgICAgICA9IChkb3VibGUpIExPQURMSU1JVDsNCisgI2VuZGlmIC8q
IExPQURMSU1JVCAqLw0KICANCiAgICAgIFN0YWNrSW5pdCAoICYgKCBwLT5J
blByb2Nlc3MgKSApOw0KICAgICAgDQoqKioqKioqKioqKioqKioNCioqKiA0
NzcsNDg1ICoqKioNCiAgICAgIC8qICANCiAgICAgICAqIFByb2Nlc3MgY29t
bWFuZCBsaW5lIGFyZ3VtZW50cyANCiAgICAgICAqLw0KISAgICAgd2hpbGUg
KCAoIGMgPSBnZXRvcHQgKCBhcmdjb3VudCwgYXJnbWVzc2FnZSwgImI6QmNk
RDplOmY6a0s6TDpwOlJzU3Q6VDp1IikgKSAhPSBFT0YgKQ0KICAgICAgICAg
IHN3aXRjaCAoIGMgKSB7DQogIA0KICAgICAgICAgIC8qIEJ1bGxldGlucyBy
ZXF1ZXN0ZWQgKi8NCiAgICAgICAgICBjYXNlICdiJzoNCiAgICAgICAgICAg
ICAgcC0+YnVsbGRpciA9IG9wdGFyZzsNCi0tLSA0ODMsNTAwIC0tLS0NCiAg
ICAgIC8qICANCiAgICAgICAqIFByb2Nlc3MgY29tbWFuZCBsaW5lIGFyZ3Vt
ZW50cyANCiAgICAgICAqLw0KISAgICAgd2hpbGUgKCAoIGMgPSBnZXRvcHQg
KCBhcmdjb3VudCwgYXJnbWVzc2FnZSwgImE6YjpCY2REOmU6ZjprSzpsOkw6
cDpSc1N0OlQ6dSIpICkgIT0gRU9GICkNCiAgICAgICAgICBzd2l0Y2ggKCBj
ICkgew0KICANCisgI2lmZGVmIEtFRVBfVEVNUF9EUk9QDQorICAgICAgICAg
LyogbWluaW11bSBhY2Nlc3MgdGltZSAqLw0KKyAgICAgICAgIGNhc2UgJ2En
Og0KKyAgICAgICAgICAgICBwLT5taW5fYWNjZXNzX3RpbWUgPSBhdG9pKG9w
dGFyZyk7DQorICAgICAgICAgICAgIERFQlVHX0xPRzEgKCBwLCAibWluaW11
bSBhY2Nlc3MgdGltZSA9ICVzIHNlY29uZHMiLA0KKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgcC0+bWluX2FjY2Vzc190aW1lICk7DQorICAgICAgICAg
ICAgIGJyZWFrOw0KKyAjZW5kaWYgLyogS0VFUF9URU1QX0RST1AgKi8NCisg
DQogICAgICAgICAgLyogQnVsbGV0aW5zIHJlcXVlc3RlZCAqLw0KICAgICAg
ICAgIGNhc2UgJ2InOg0KICAgICAgICAgICAgICBwLT5idWxsZGlyID0gb3B0
YXJnOw0KKioqKioqKioqKioqKioqDQoqKiogNTU5LDU2NCAqKioqDQotLS0g
NTc0LDU4OCAtLS0tDQogICAgICAgICAgICAgICAgICAgICAgICAgICBwLT5r
ZXJiZXJvc19zZXJ2aWNlICk7DQogICAgICAgICAgICAgIGJyZWFrOw0KICAj
ZW5kaWYgIC8qIEtFUkJFUk9TICovDQorIA0KKyAjaWZkZWYgTE9BRExJTUlU
DQorICAgICAgICAgLyogIERlZmluZSB0aGUgbWF4IG9uLW1pbnV0ZSBsb2Fk
IGF2ZXJhZ2UgZm9yIGNvbm5lY3Rpb25zICovDQorICAgICAgICAgY2FzZSAn
bCc6DQorICAgICAgICAgICAgIHAtPmxvYWRsaW1pdCA9IGF0b2Yob3B0YXJn
KTsNCisgICAgICAgICAgICAgREVCVUdfTE9HMSAoIHAsICJNYXggb25lLW1p
bnV0ZSBsb2FkIGF2ZXJhZ2UgPSAlZiIsDQorICAgICAgICAgICAgICAgICAg
ICAgICAgICBwLT5sb2FkbGltaXQgKTsNCisgICAgICAgICAgICAgYnJlYWs7
DQorICNlbmRpZiAvKiBMT0FETElNSVQgKi8NCiAgDQogICAgICAgICAgLyog
IFRvdWNoIHRoZSBtYWlsIGxvY2sgZXZlcnkgdGhpcyBtYW55IG1lc3NhZ2Vz
IChjcnVkZSkgICovDQogICAgICAgICAgY2FzZSAnTCc6DQpkaWZmIC1jICdx
cG9wcGVyMy4xYjExL3BvcHBlci9wb3BfcGFzcy5jJyAncXBvcHBlcjMuMmI1
L3BvcHBlci9wb3BfcGFzcy5jJw0KSW5kZXg6IC4vcG9wcGVyL3BvcF9wYXNz
LmMNCioqKiAuL3BvcHBlci9wb3BfcGFzcy5jCVdlZCBTZXAgIDYgMTg6NDk6
MDMgMjAwMA0KLS0tIC4vcG9wcGVyL3BvcF9wYXNzLmMJTW9uIFNlcCAxMSAx
MzoxNjowOCAyMDAwDQoqKioqKioqKioqKioqKioNCioqKiAxMTQsMTIxICoq
KioNCiAgIyAgZGVmaW5lICAgQ0hFQ0tfU1BfTUFYICAgIFRSVUUNCiAgI2Vu
ZGlmIC8qIERPTlRfQ0hFQ0tfU1BfTUFYICovDQogIA0KISAjZGVmaW5lIFNM
RUVQX1NFQ09ORFMgMTANCiEgDQogIA0KICAvKiBUaGlzIGVycm9yIG1lc3Nh
Z2UgaXMgdmFndWUgb24gcHVycG9zZSB0byBoZWxwIGltcHJvdmUNCiAgICAg
c2VjdXJpdHkgYXQgdGhlIGluY29udmllbmNlIG9mIGFkbWluaXN0cmF0b3Jz
IGFuZCB1c2VycyAqLw0KLS0tIDExNCwxMjggLS0tLQ0KICAjICBkZWZpbmUg
ICBDSEVDS19TUF9NQVggICAgVFJVRQ0KICAjZW5kaWYgLyogRE9OVF9DSEVD
S19TUF9NQVggKi8NCiAgDQohICNpZmRlZiBLRUVQX1RFTVBfRFJPUA0KISAj
aW5jbHVkZSAiZ2VucGF0aC5oIg0KISAjZW5kaWYgLyogS0VFUF9URU1QX0RS
T1AgKi8NCiEgDQohICNkZWZpbmUgU0xFRVBfU0VDT05EUyAxDQohIA0KISAj
aWZkZWYgRENFDQohIGV4dGVybiBpbnQgdXNlX2RjZV9wYXNzd2Q7DQohICNl
bmRpZg0KICANCiAgLyogVGhpcyBlcnJvciBtZXNzYWdlIGlzIHZhZ3VlIG9u
IHB1cnBvc2UgdG8gaGVscCBpbXByb3ZlDQogICAgIHNlY3VyaXR5IGF0IHRo
ZSBpbmNvbnZpZW5jZSBvZiBhZG1pbmlzdHJhdG9ycyBhbmQgdXNlcnMgKi8N
CioqKioqKioqKioqKioqKg0KKioqIDY1MSw2NTcgKioqKg0KICANCiAgDQog
IC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0gUE9QU0NPIG9yIEhQVVggKi8NCiEgIyAgICBpZiBkZWZpbmVkKFBP
UFNDTykgfHwgZGVmaW5lZChIUFVYKQ0KICANCiAgIyAgICAgIGlmZGVmIFBP
UFNDTw0KICAjICAgICAgICBpbmNsdWRlIDxzeXMvc2VjdXJpdHkuaD4NCi0t
LSA2NTgsNjY0IC0tLS0NCiAgDQogIA0KICAvKi0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIFBPUFNDTyBvciBIUFVY
ICovDQohICMgIGlmICFkZWZpbmVkKFVTRV9QQU0pICYmIChkZWZpbmVkKFBP
UFNDTykgfHwgZGVmaW5lZChIUFVYKSkNCiAgDQogICMgICAgICBpZmRlZiBQ
T1BTQ08NCiAgIyAgICAgICAgaW5jbHVkZSA8c3lzL3NlY3VyaXR5Lmg+DQoq
KioqKioqKioqKioqKioNCioqKiAxMDkyLDEwOTcgKioqKg0KLS0tIDEwOTks
MTE1MSAtLS0tDQogIA0KICAjZW5kaWYgIC8qIFNQRUNfUE9QX0FVVEggKi8N
CiAgDQorICNpZmRlZiBLRUVQX1RFTVBfRFJPUA0KKyBpbnQgcG9wX2FjY2Vz
c3RpbWUocCkNCisgUE9QICpwOw0KKyAvKiBjaGVjayB0aW1lIHNpbmNlIGxh
c3QgUE9QIGFjY2VzcywgYXMgbWVhc3VyZWQgYnkgKi8NCisgLyogdGhlIHRp
bWVzdGFtcCBvbiB0aGUgUE9QX0RST1AgZmlsZS4gIFJldHVybnMgb25lICov
DQorIC8qIGlmIGVub3VnaCB0aW1lIGhhcyBwYXNzZWQgKG9yIG5vIGRyb3Ag
ZmlsZSkgb3IgICAqLw0KKyAvKiBvciB6ZXJvIGlmIG1pbmltdW0gdGltZSBo
YXMgbm90IGVsYXBzZWQuLi4gKi8NCisgew0KKyAgICAgc3RydWN0IHN0YXQg
YnVmOw0KKyAgICAgdGltZV90IG5vdywgZGlmZjsNCisgDQorICAgICAvKiBp
ZiB0aGUgbWluX2FjY2Vzc190aW1lIGlzIGRlZmluZWQgYXMgemVybyAqLw0K
KyAgICAgLyogdGhlbiBpdCB3YXMgbm90IHNldCBieSB0aGUgdXNlciwgcmV0
dXJuICAgKi8NCisgICAgIGlmICggcC0+bWluX2FjY2Vzc190aW1lID09IDAg
KSByZXR1cm4oMSk7DQorIA0KKyAJLyogZmlndXJlIG91dCB3aGF0IHRoZSBk
cm9wZmlsZSBpcyAqLw0KKyAgICAgaWYgKCBnZW5wYXRoICggcC0+dXNlciwg
DQorICAgICAgICAgICAgICAgICAgICBwLT50ZW1wX2Ryb3AsIA0KKyAgICAg
ICAgICAgICAgICAgICAgc2l6ZW9mKHAtPnRlbXBfZHJvcCksDQorICAgICAg
ICAgICAgICAgICAgICBHTlBIX1BPUCwNCisgICAgICAgICAgICAgICAgICAg
IChwLT5kZWJ1ZyA/IHAtPnRyYWNlIDogTlVMTCksDQorICAgICAgICAgICAg
ICAgICAgICBwLT5kZWJ1ZyApIDwgMCApDQorICAgICAgICAgcmV0dXJuICgg
cG9wX21zZyAoIHAsIFBPUF9GQUlMVVJFLCBIRVJFLA0KKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAiW1NZUy9URU1QXSBVbmFibGUgdG8gZ2V0IHRl
bXBvcmFyeSBkcm9wIG5hbWUiICkgKTsNCisgDQorICAgICBERUJVR19MT0cx
ICggcCwgImFjY2Vzc3RpbWU6IFRlbXBvcmFyeSBtYWlsZHJvcCBpcyAnJXMn
IiwgcC0+dGVtcF9kcm9wICk7DQorIA0KKyAgICAgLyogaWYgbm8gcG9wX2Ry
b3AgZmlsZSB0aGVuIGdvIG9uICovDQorICAgICBpZiAoIHN0YXQocC0+dGVt
cF9kcm9wLCZidWYpICE9IDAgKQ0KKyAgICAgew0KKyAgICAgCXJldHVybigx
KTsNCisgICAgIH0NCisgICAgIA0KKyAgICAgLyogZ2V0IHRoZSBjdXJyZW50
IHRpbWUgKi8NCisgICAgIG5vdyA9IHRpbWUoTlVMTCk7DQorIA0KKyAgICAg
LyogZGlmZmVyZW5jZSBpbiB0aW1lcyBpbiBzZWNvbmRzICovDQorIAkvKiBz
aW5jZSBsYXN0IGFjY2VzcyB0aW1lICovDQorICAgICBkaWZmID0gKG5vdyAt
IGJ1Zi5zdF9hdGltZSk7DQorIA0KKyAgICAgREVCVUdfTE9HMyAoIHAsICJM
YXN0IGFjY2VzcyBvZiAlcyB3YXMgJWQgc2Vjb25kcywgbWluIGFjY2VzcyB0
aW1lIGlzICVkIiwNCisgICAgICAgICBwLT50ZW1wX2Ryb3AsIGRpZmYsIHAt
Pm1pbl9hY2Nlc3NfdGltZSApOw0KKyANCisgICAgIHJldHVybigoIGRpZmYg
PCBwLT5taW5fYWNjZXNzX3RpbWUgKSA/IDAgOiAxICk7DQorIH0NCisgDQor
ICNlbmRpZiAvKiBLRUVQX1RFTVBfRFJPUCAqLw0KICANCiAgLyogDQogICAq
ICBwYXNzOiAgIE9idGFpbiB0aGUgdXNlciBwYXNzd29yZCBmcm9tIGEgUE9Q
IGNsaWVudA0KKioqKioqKioqKioqKioqDQoqKiogMTEzNiwxMTQyICoqKioN
CiAgICAgICAgICBERUJVR19MT0cyICggcCwgIlVzZXIgJS4xMjhzIGluIG5v
bmF1dGhmaWxlICUuMjU2cyIsDQogICAgICAgICAgICAgICAgICAgICAgIHAt
PnVzZXIsIE5PTkFVVEhGSUxFICk7DQogICAgICAgICAgc2xlZXAgICggU0xF
RVBfU0VDT05EUyApOw0KISAgICAgICAgIHJldHVybiAoIHBvcF9tc2cgKCBw
LCBQT1BfRkFJTFVSRSwgSEVSRSwgRVJSTVNHX1BXLCBwLT51c2VyICkgKTsN
CiAgICAgIH0NCiAgI2VuZGlmIC8qIE5PTkFVVEhGSUxFICovDQogIA0KLS0t
IDExOTAsMTE5OCAtLS0tDQogICAgICAgICAgREVCVUdfTE9HMiAoIHAsICJV
c2VyICUuMTI4cyBpbiBub25hdXRoZmlsZSAlLjI1NnMiLA0KICAgICAgICAg
ICAgICAgICAgICAgICBwLT51c2VyLCBOT05BVVRIRklMRSApOw0KICAgICAg
ICAgIHNsZWVwICAoIFNMRUVQX1NFQ09ORFMgKTsNCiEgICAgICAgICByZXR1
cm4gKCBwb3BfbXNnICggcCwgUE9QX0ZBSUxVUkUsIEhFUkUsDQohICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIltBVVRIXSAlcyBub3QgYXV0aG9yaXpl
ZCB0byB1c2UgUE9QIiwNCiEgICAgICAgICAgICAgICAgICAgICAgICAgICBw
LT51c2VyICkgKTsNCiAgICAgIH0NCiAgI2VuZGlmIC8qIE5PTkFVVEhGSUxF
ICovDQogIA0KKioqKioqKioqKioqKioqDQoqKiogMTE0OCwxMTU0ICoqKioN
CiAgICAgICAgICBERUJVR19MT0cyICggcCwgIlVzZXIgJS4xMjhzIG5vdCBp
biBhdXRoZmlsZSAlLjI1NnMiLA0KICAgICAgICAgICAgICAgICAgICAgICBw
LT51c2VyLCBBVVRIRklMRSApOw0KICAgICAgICAgIHNsZWVwICAoIFNMRUVQ
X1NFQ09ORFMgKTsNCiEgICAgICAgICByZXR1cm4gKCBwb3BfbXNnICggcCwg
UE9QX0ZBSUxVUkUsIEhFUkUsIEVSUk1TR19QVywgcC0+dXNlciApICk7DQog
ICAgICB9DQogICNlbmRpZiAvKiBBVVRIRklMRSAqLw0KICANCi0tLSAxMjA0
LDEyMTIgLS0tLQ0KICAgICAgICAgIERFQlVHX0xPRzIgKCBwLCAiVXNlciAl
LjEyOHMgbm90IGluIGF1dGhmaWxlICUuMjU2cyIsDQogICAgICAgICAgICAg
ICAgICAgICAgIHAtPnVzZXIsIEFVVEhGSUxFICk7DQogICAgICAgICAgc2xl
ZXAgICggU0xFRVBfU0VDT05EUyApOw0KISAgICAgICAgIHJldHVybiAoIHBv
cF9tc2cgKCBwLCBQT1BfRkFJTFVSRSwgSEVSRSwNCiEgICAgICAgICAgICAg
ICAgICAgICAgICAgICAiW0FVVEhdICVzIG5vdCBhdXRob3JpemVkIHRvIHVz
ZSBQT1AiLA0KISAgICAgICAgICAgICAgICAgICAgICAgICAgIHAtPnVzZXIg
KSApOw0KICAgICAgfQ0KICAjZW5kaWYgLyogQVVUSEZJTEUgKi8NCiAgDQoq
KioqKioqKioqKioqKioNCioqKiAxMjU0LDEyNjIgKioqKg0KLS0tIDEzMTIs
MTMzNyAtLS0tDQogICAgICB9DQogICNlbmRpZiAvKiBDSEVDS19TSEVMTCAq
Lw0KICANCisgI2lmZGVmIEtFRVBfVEVNUF9EUk9QDQorIAkvKg0KKyAJLyog
aWYgdXNlciBoYXMgYWNjZXNzZWQgcG9wIHdpdGhpbiBNSU5fQUNDRVNTX1RJ
TUUNCisgCS8qIGFzIGRlZmluZWQgYnkgbXRpbWUgb24gdGhlaXIgUE9QX0RS
T1AgZmlsZSB0aGVuDQorIAkvKiBkZW55IGFjY2Vzcy4uLg0KKyAJKi8NCisg
CWlmKCFwb3BfYWNjZXNzdGltZShwKSkNCisgCXsNCisgCQlyZXR1cm4ocG9w
X21zZyhwLCBQT1BfRkFJTFVSRSwgSEVSRSwNCisgCQkJIltBVVRIXSAlczog
eW91IGp1c3QgY2hlY2tlZCB5b3VyIG1haWwhIixwLT51c2VyKSk7DQorIAl9
DQorICNlbmRpZiAvKiBLRUVQX1RFTVBfRFJPUCAqLw0KKyANCisgI2lmZGVm
IERDRQ0KKyAgICAgaWYgKGF1dGhfdXNlcl9kY2UocCkgIT0gUE9QX1NVQ0NF
U1MNCisgI2Vsc2UNCiAgICAgIGlmICggKCBwLT5rZXJiZXJvcyA/IGF1dGhf
dXNlcl9rZXJiZXJvcyAoIHAsIHB3cCApIA0KICAgICAgICAgICAgICAgICAg
ICAgICAgIDogYXV0aF91c2VyICAgICAgICAgICggcCwgcHdwICkgDQogICAg
ICAgICAgICkgIT0gUE9QX1NVQ0NFU1MgDQorICNlbmRpZiAvKiBEQ0UgKi8N
CiAgICAgICAgICkgew0KICAgICAgICAgIHBvcF9sb2cgKCBwLCBQT1BfUFJJ
T1JJVFksIEhFUkUsDQogICAgICAgICAgICAgICAgICAgIltBVVRIXSBGYWls
ZWQgYXR0ZW1wdGVkIGxvZ2luIHRvICVzIGZyb20gaG9zdCAoJXMpICVzIiwN
CioqKioqKioqKioqKioqKg0KKioqIDEzNDQsMTM1MiAqKioqDQotLS0gMTQx
OSwxNDQyIC0tLS0NCiAgICAgICAqLw0KICANCiAgI2lmZGVmIExPR19MT0dJ
Tg0KKyAjaWYgZGVmaW5lZChEQ0UpDQorICAgICBpZih1c2VfZGNlX3Bhc3N3
ZCA9PSAxKQ0KKyAgICAgew0KKyAgICAgICAgIHBvcF9sb2coIHAsIFBPUF9Q
UklPUklUWSwgSEVSRSwNCisgICAgICAgICAgICAgICIodiVzKSAlcyBEQ0Ug
YXV0aGVudGljYXRlZCBmcm9tICVzICglcykiLA0KKyAgICAgICAgICAgICAg
IFZFUlNJT04sIHAtPnVzZXIsIHAtPmNsaWVudCwgcC0+aXBhZGRyICk7DQor
ICAgICB9DQorICAgICBlbHNlDQorICAgICB7DQorICAgICAgICAgcG9wX2xv
ZyggcCwgUE9QX1BSSU9SSVRZLCBIRVJFLA0KKyAgICAgICAgICAgICAgICIo
diVzKSAlcyBhdXRoZW50aWNhdGVkIGZyb20gJXMgKCVzKSIsDQorICAgICAg
ICAgICAgICAgVkVSU0lPTiwgcC0+dXNlciwgcC0+Y2xpZW50LCBwLT5pcGFk
ZHIgKTsNCisgICAgIH0NCisgI2Vsc2UNCiAgICAgIHBvcF9sb2cgKCBwLCBQ
T1BfUFJJT1JJVFksIEhFUkUsDQogICAgICAgICAgICAgICAgIih2JXMpIFBP
UCBsb2dpbiBieSB1c2VyIFwiJXNcIiBhdCAoJXMpICVzIiwNCiAgICAgICAg
ICAgICAgICBWRVJTSU9OLCBwLT51c2VyLCBwLT5jbGllbnQsIHAtPmlwYWRk
ciApOw0KKyAjZW5kaWYgLyogRENFICovDQogICNlbmRpZiAvKiBMT0dfTE9H
SU4gKi8NCiAgDQogICNpZmRlZiBEUkFDX0FVVEgNCmRpZmYgLWMgJ3Fwb3Bw
ZXIzLjFiMTEvcG9wcGVyL3BvcF91cGR0LmMnICdxcG9wcGVyMy4yYjUvcG9w
cGVyL3BvcF91cGR0LmMnDQpJbmRleDogLi9wb3BwZXIvcG9wX3VwZHQuYw0K
KioqIC4vcG9wcGVyL3BvcF91cGR0LmMJVGh1IEF1ZyAxNyAyMToyNzoyNiAy
MDAwDQotLS0gLi9wb3BwZXIvcG9wX3VwZHQuYwlNb24gU2VwIDExIDEzOjA1
OjU4IDIwMDANCioqKioqKioqKioqKioqKg0KKioqIDExMiwxMTcgKioqKg0K
LS0tIDExMiwxMjAgLS0tLQ0KICB1bmxpbmtfdGVtcF9kcm9wICggUE9QICpw
LCBjaGFyICpmaWxlbmFtZSwgY29uc3QgY2hhciAqZm4sIHNpemVfdCBsbiAp
DQogIHsNCiAgI2lmZGVmICBLRUVQX1RFTVBfRFJPUA0KKyAgICAgLyogdXBk
YXRlIHRoZSBhY2Nlc3MgdGltZSwgbm8gbWF0dGVyIHdoYXQgKi8NCisgICAg
IC8qIHRoaXMgc2hvd3MgdGhlIGxhc3QgdGltZSB1c2VyIGNoZWNrZWQgbWFp
bCAqLw0KKyAgICAgdG91Y2hfZmlsZSAoIGZpbGVuYW1lLCBwLT50cmFjZSAp
Ow0KICAgICAgREVCVUdfTE9HMyAoIHAsICJLRUVQX1RFTVBfRFJPUCBzZXQg
WyVzOiVsdV07IHRlbXAgZHJvcCAoJXMpIG5vdCB1bmxpbmtlZCIsDQogICAg
ICAgICAgICAgICAgICAgZm4sIGxuLCBmaWxlbmFtZSApOw0KICAjZWxzZSAg
IC8qIG5vdCBLRUVQX1RFTVBfRFJPUCAqLw0KZGlmZiAtYyAncXBvcHBlcjMu
MWIxMS9wb3BwZXIvcG9wcGVyLmMnICdxcG9wcGVyMy4yYjUvcG9wcGVyL3Bv
cHBlci5jJw0KSW5kZXg6IC4vcG9wcGVyL3BvcHBlci5jDQoqKiogLi9wb3Bw
ZXIvcG9wcGVyLmMJTW9uIEF1ZyAyMSAxODo1ODo0NyAyMDAwDQotLS0gLi9w
b3BwZXIvcG9wcGVyLmMJTW9uIFNlcCAxMSAxMzowNTo1OCAyMDAwDQoqKioq
KioqKioqKioqKioNCioqKiA3Nyw4MiAqKioqDQotLS0gNzcsOTIgLS0tLQ0K
ICAjICBlbmRpZg0KICAjZW5kaWYgLyogU1BFQ19QT1BfQVVUSCAqLw0KICAN
CisgI2lmIGRlZmluZWQoTE9BRExJTUlUKQ0KKyAjaWYgZGVmaW5lZChTT0xB
UklTMikNCisgI2luY2x1ZGUgPHN5cy9sb2FkYXZnLmg+DQorICNlbmRpZiAv
KiBTT0xBUklTMiAqLw0KKyAjaWYgZGVmaW5lZChIUFVYKQ0KKyAjaW5jbHVk
ZSA8c3lzL3BhcmFtLmg+DQorICNpbmNsdWRlIDxzeXMvcHN0YXQuaD4NCisg
I2VuZGlmIC8qIEhQVVggKi8NCisgI2VuZGlmIC8qIExPQURMSU1JVCAqLw0K
KyANCiAgI2luY2x1ZGUgInBvcHBlci5oIg0KICAjaW5jbHVkZSAibWlzYy5o
Ig0KICANCioqKioqKioqKioqKioqKg0KKioqIDE1MiwxNTkgKioqKg0KICAg
ICAgaWYgKCBwb3BfaW5pdCAoICZwLCBhcmdjLCBhcmd2ICkgIT0gUE9QX1NV
Q0NFU1MgKQ0KICAgICAgICAgIEVYSVQgKCAxICk7DQogIA0KICAvKiAgDQoh
ICAqIFRlbGwgdGhlIHVzZXIgdGhhdCB3ZSBhcmUgbGlzdGVudGluZyANCiAg
ICovDQogICAgICB7IC8qIGxvY2FsIGVudiAqLw0KICAgICAgY2hhciAgICAg
ICAgICAgICAgICBteW5hbWUgWyAxMjggXTsNCi0tLSAxNjIsMTgxIC0tLS0N
CiAgICAgIGlmICggcG9wX2luaXQgKCAmcCwgYXJnYywgYXJndiApICE9IFBP
UF9TVUNDRVNTICkNCiAgICAgICAgICBFWElUICggMSApOw0KICANCisgI2lm
IGRlZmluZWQoTE9BRExJTUlUKQ0KKyAgICAgLyogaWYgdGhlIHN5c3RlbSBs
b2FkIHRvbyBoaWdoLCBkaWUgbm93ICovDQorICAgICBpZihzeXN0ZW1fbG9h
ZCgmcCkgIT0gMCkNCisgICAgIHsNCisgICAgICAgICBwb3BfbXNnKCAmcCxQ
T1BfRkFJTFVSRSwgSEVSRSwNCisgICAgICAgICAgICAgIlNvcnJ5LCBQT1Ag
c2VydmVyIGxvYWQgdG9vIGhpZ2ggKCVnKSwgdHJ5IGxhdGVyLi4uIiwNCisg
ICAgICAgICAgICAgcC5sb2FkbGltaXQpOw0KKyAgICAgICAgIGNsb3NlbG9n
KCk7DQorICAgICAgICAgZXhpdCgtMSk7DQorICAgICB9DQorICNlbmRpZiAv
KiBMT0FETElNSVQgKi8NCisgDQogIC8qICANCiEgICogVGVsbCB0aGUgdXNl
ciB0aGF0IHdlIGFyZSBsaXN0ZW5pbmcgDQogICAqLw0KICAgICAgeyAvKiBs
b2NhbCBlbnYgKi8NCiAgICAgIGNoYXIgICAgICAgICAgICAgICAgbXluYW1l
IFsgMTI4IF07DQoqKioqKioqKioqKioqKioNCioqKiAyOTksMzA0ICoqKioN
Ci0tLSAzMjEsMzYzIC0tLS0NCiAgICAgIGNsb3NlbG9nKCk7DQogICAgICBy
ZXR1cm4gKCAwICk7DQogIH0NCisgDQorICNpZiBkZWZpbmVkKExPQURMSU1J
VCkNCisgaW50IHN5c3RlbV9sb2FkKHApDQorIFBPUCAqcDsNCisgLyogaXMg
dGhlIG9uZS1taW51dGUgc3lzdGVtIGxvYWQgaGlnaGVyIHRoYW4gd2Ugd2Fu
dD8gKi8NCisgew0KKyAgICAgZG91YmxlIG9uZV9taW5fbG9hZF9hdmc7DQor
IA0KKyAjaWYgZGVmaW5lZChTT0xBUklTMikNCisgICAgIC8qIHNwZWNpZmlj
IHRvIFNvbGFyaXMgKi8NCisgICAgIGRvdWJsZSBsb2FkYXZnWzNdOw0KKyAN
CisgICAgIGlmKGdldGxvYWRhdmcobG9hZGF2ZywgMykgPT0gLTEpDQorICAg
ICB7DQorICAgICAgICAgcGVycm9yKCJnZXRsb2FkYXZnIik7DQorICAgICAg
ICAgZXhpdCgxKTsNCisgICAgIH0NCisgICAgIG9uZV9taW5fbG9hZF9hdmcg
PSBsb2FkYXZnW0xPQURBVkdfMU1JTl07DQorICNlbmRpZiAvKiBTT0xBUklT
MiAqLw0KKyANCisgI2lmIGRlZmluZWQoSFBVWCkNCisgICAgIC8qIGNvbXBv
bmVudHMgc3BlY2lmaWMgdG8gYW4gSFAgMTAueCBvciAxMS54IHN5c3RlbSAq
Lw0KKyAgICAgc3RydWN0IHBzdF9keW5hbWljIHBzZDsNCisgDQorICAgICBp
Zihwc3RhdF9nZXRkeW5hbWljKCZwc2QsIHNpemVvZihwc2QpLChzaXplX3Qp
MSwgMCkgPT0gLTEpDQorICAgICB7DQorICAgICAgICAgcGVycm9yKCJwc3Rh
dF9keW5hbWljIik7DQorICAgICAgICAgZXhpdCgxKTsNCisgICAgIH0NCisg
ICAgIG9uZV9taW5fbG9hZF9hdmcgPSBwc2QucHNkX2F2Z18xX21pbjsNCisg
I2VuZGlmIC8qIEhQVVggKi8NCisgDQorICAgICBERUJVR19MT0cyIChwLCAi
Q2hlY2tpbmcgbG9hZCBsaW1pdCwgbG9hZCA9ICVnLCBsaW1pdCA9ICVnIiwN
CisgICAgICAgICAgICAgICAgIG9uZV9taW5fbG9hZF9hdmcsIHAtPmxvYWRs
aW1pdCk7DQorICAgICByZXR1cm4oKCBvbmVfbWluX2xvYWRfYXZnID4gcC0+
bG9hZGxpbWl0ICkgPyAxIDogMCApOw0KKyB9DQorICNlbmRpZiAvKiBMT0FE
TElNSVQgKi8NCiAgDQogIGptcF9idWYgZW52Ow0KICANCmRpZmYgLWMgJ3Fw
b3BwZXIzLjFiMTEvcG9wcGVyL3BvcHBlci5oJyAncXBvcHBlcjMuMmI1L3Bv
cHBlci9wb3BwZXIuaCcNCkluZGV4OiAuL3BvcHBlci9wb3BwZXIuaA0KKioq
IC4vcG9wcGVyL3BvcHBlci5oCVNhdCBTZXAgIDkgMTk6NDM6MzggMjAwMA0K
LS0tIC4vcG9wcGVyL3BvcHBlci5oCU1vbiBTZXAgMTEgMTM6MDU6NTggMjAw
MA0KKioqKioqKioqKioqKioqDQoqKiogNTI2LDUzMSAqKioqDQotLS0gNTI2
LDUzNSAtLS0tDQogICNlbmRpZiAvKiBEUkFDX0FVVEggKi8NCiAgDQogICAg
ICBCT09MICAgICAgICAgICAgICAgIHVzZXJfb3B0czsgICAgICAgICAgICAg
IC8qIHByb2Nlc3Mgfi8ucXBvcHBlci1vcHRpb25zID8gKi8NCisgICAgIGlu
dCAgICAgICAgICAgICAgICAgbWluX2FjY2Vzc190aW1lOyAgICAgICAgLyog
bWluIHRpbWUgYmV0d2VlbiBhY2Nlc3NlcyAqLw0KKyAjaWZkZWYgTE9BRExJ
TUlUDQorICAgICBkb3VibGUgICAgICAgICAgICAgIGxvYWRsaW1pdDsgICAg
ICAgICAgICAgIC8qIG1heCBhbGxvd2VkIGxvYWQgbGltaXQgKi8NCisgI2Vu
ZGlmIC8qIExPQURMSU1JVCAqLw0KICB9Ow0KICANCiAgdHlwZWRlZiBlbnVt
IHsgSEFOR1VQLCAgLyogU0lHSFVQICovIA0KZGlmZiAtYyAncXBvcHBlcjMu
MWIxMS9wb3BwZXIvdmVyc2lvbi5oJyAncXBvcHBlcjMuMmI1L3BvcHBlci92
ZXJzaW9uLmgnDQpJbmRleDogLi9wb3BwZXIvdmVyc2lvbi5oDQoqKiogLi9w
b3BwZXIvdmVyc2lvbi5oCUZyaSBTZXAgIDggMjA6NDY6MjUgMjAwMA0KLS0t
IC4vcG9wcGVyL3ZlcnNpb24uaAlNb24gU2VwIDExIDEzOjEyOjMzIDIwMDAN
CioqKioqKioqKioqKioqKg0KKioqIDEzLDIxICoqKioNCiAgICogIEN1cnJl
bnQgdmVyc2lvbiBvZiBRcG9wcGVyDQogICAqLw0KICANCiEgI2RlZmluZSBW
RVJTX05VTSAgICAgICAgICAiMy4xYjExIg0KICANCiEgI2lmZGVmIEtFUkJF
Uk9TDQogICMgIGlmZGVmIEtSQjQNCiAgIyAgICBkZWZpbmUgVkVSU19TVUYx
ICAgICAiLWtyYi1JViINCiAgIyAgZW5kaWYgLyogS1JCNCAqLw0KLS0tIDEz
LDIzIC0tLS0NCiAgICogIEN1cnJlbnQgdmVyc2lvbiBvZiBRcG9wcGVyDQog
ICAqLw0KICANCiEgI2RlZmluZSBWRVJTX05VTSAgICAgICAgICAiMy4yYjUi
DQogIA0KISAjaWZkZWYgRENFDQohICNkZWZpbmUgVkVSU19TVUYxICAgICAg
ICAgIi1EQ0UiDQohICNlbGlmIEtFUkJFUk9TDQogICMgIGlmZGVmIEtSQjQN
CiAgIyAgICBkZWZpbmUgVkVSU19TVUYxICAgICAiLWtyYi1JViINCiAgIyAg
ZW5kaWYgLyogS1JCNCAqLw0KIyMjIyBFbmQgb2YgUGF0Y2ggZGF0YSAjIyMj
DQoNCiMjIyMgQXBwbHlQYXRjaCBkYXRhIGZvbGxvd3MgIyMjIw0KIyBEYXRh
IHZlcnNpb24gICAgICAgIDogMS4wDQojIERhdGUgZ2VuZXJhdGVkICAgICAg
OiBNb24gU2VwIDE4IDEwOjUzOjQ4IDIwMDANCiMgR2VuZXJhdGVkIGJ5ICAg
ICAgICA6IG1ha2VwYXRjaCAyLjAwDQojIFJlY3Vyc2UgZGlyZWN0b3JpZXMg
OiBZZXMNCiMgcCAnSU5TVEFMTCcgNTEzOTMgOTY4NjkxOTU4IDAxMDA0MDAN
CiMgcCAnY29tbW9uL2dlbnBhdGguYycgMTM5NzUgOTY4NjkxOTU4IDAxMDA0
MDANCiMgcCAnY29uZmlnLmguaW4nIDEzMTcyIDk2ODY5MjIxMCAwMTAwNjAw
DQojIHAgJ2NvbmZpZ3VyZS5pbicgMzMzMjEgOTY4NjkxOTU4IDAxMDA0MDAN
CiMgcCAnZG9jL0NoYW5nZXMnIDEyOTg4IDk2ODY5MjY4NSAwMTAwNjAwDQoj
IHAgJ3BvcHBlci9NYWtlZmlsZS5pbicgNDMzMiA5Njg2OTE5NTggMDEwMDYw
MA0KIyBjICdwb3BwZXIvZGNlX3B3ZW50LmMnIDAgOTY4NjkxOTU4IDAxMDA2
MDANCiMgYyAncG9wcGVyL3BvcF9hdXRoZGNlLmMnIDAgOTY4NjkxOTU4IDAx
MDA2MDANCiMgcCAncG9wcGVyL3BvcF9pbml0LmMnIDI4MzE0IDk2ODY5MTk1
OCAwMTAwNjAwDQojIHAgJ3BvcHBlci9wb3BfcGFzcy5jJyAzOTUxNiA5Njg2
OTI1NjggMDEwMDYwMA0KIyBwICdwb3BwZXIvcG9wX3VwZHQuYycgMjc4NDMg
OTY4NjkxOTU4IDAxMDA2MDANCiMgcCAncG9wcGVyL3BvcHBlci5jJyAxNTc4
NyA5Njg2OTE5NTggMDEwMDYwMA0KIyBwICdwb3BwZXIvcG9wcGVyLmgnIDI4
MDE5IDk2ODY5MTk1OCAwMTAwNjAwDQojIHAgJ3BvcHBlci92ZXJzaW9uLmgn
IDgyNyA5Njg2OTIzNTMgMDEwMDYwMA0KIyMjIyBFbmQgb2YgQXBwbHlQYXRj
aCBkYXRhICMjIyMNCg0KIyMjIyBFbmQgb2YgUGF0Y2gga2l0IFtjcmVhdGVk
OiBNb24gU2VwIDE4IDEwOjUzOjQ4IDIwMDBdICMjIyMNCiMjIyMgQ2hlY2tz
dW06IDE0NzIgNTAwODcgMTU0OSAjIyMjDQo=
--2006451189-684387517-969289370=:19225--

Date: Mon, 18 Sep 2000 11:22:21 -0400 (EDT)
From: "Jeff A. Earickson" <jaearick at colby dot edu>
Subject: Re: Time between pops

> Date: Mon, 18 Sep 2000 09:36:54 +0200 (MET DST)
> From: Eric Luyten <Eric.Luyten at vub.ac dot be>
> To: Subscribers of Qpopper <qpopper at lists.pensive dot org>
> Subject: Re: Time between pops
> 
> > > From: Brad Groshok [mailto:bgroshok at odyssey.on dot ca]
> ...
> > > Is there a way to control how often a user can read their mail.
> 
> 
> Be warned : I have seen Qpopper log extracts demonstrating that some
> clients perform two POP3 accesses in rapid succession. That behaviour
> may be beyond end user control.
> 

The most egregious example of this is mailstart.com, which does one
complete pop connect per user action, ie the user checks their email
(pop connect) and mailstart shows them the subject lines; the person
selects a message a few seconds later (pop connect again to get that
message), etc, etc.  My "-a accesstime" setting can be used to torture
users who insist on this horror.

The real problems I had with mailstart though was (a) their DNS setup, and
(b) FIN_WAIT_2 socket connections.  Reverse lookups to their site
don't work, so if qpopper is doing reverse lookups then these connections 
will sit there for awhile.  If you have a lot of people (50+) using mailstart 
to get to your pop server, then FIN_WAIT_2 connections will kill you.
Each one of those many connections that mailstart makes leaves a fin_wait_2
hanging around in your tcp/ip stack (do a "netstat -an -f inet" to see).
If your fin_wait_2 timeout is "forever" then you are in deep trouble because
they will eventually exhaust kernel resources.  If you set the timeout
to 10 minutes (the Berkeley standard), but have a lot of connections
they will still stack up faster than you can get rid of them via timeout.
I once had nearly 1000 lingering FIN_WAIT_2 connections from mailstart,
cough, causing me to have to reboot my mail/pop server.

My solution: use tcpwrappers with qpopper in inetd, and then block out
pop connections from mailstart with /etc/hosts.deny, eg:

popper:207.231.76.

No connections -- no problem.  My mail server is nice and perky without
them around.

--- Jeff Earickson


Date: Mon, 18 Sep 2000 10:10:32 -0600 (MDT)
From: John Gonzalez/netMDC admin <ekool at ns1.netmdc dot com>
Subject: Re: Download times

On Mon, 18 Sep 2000, Julian Y. Koh wrote:

| Absolutely true on all counts (although the first point is an opinion that
| I just happen to share :):)).
| 
| However, the original question wasn't about the philosophy of attachments,
| merely timeouts.
| 
| Just because I happen to hate attachments and styled text and HTML in
| email doesn't mean that my users are going to stop using those things...
| :)

Aye, i agree ;) As you can see, i use pine. I hate HTML'ized emails, as
it's a pain in my ass :)

-- 
  _    __   _____      __   _________      
______________  /_______ ___  ____  /______  John Gonzalez/Net.Tech
__  __ \ __ \  __/_  __ `__ \/ __  /_  ___/ MDC Computers/netMDC!
_  / / / `__/ /_  / / / / / / /_/ / / /__ (505)439-0200/fax-437-3052
/_/ /_/\___/\__/ /_/ /_/ /_/\__,_/  \___/ http://www.netmdc.com
[---------------------------------------------[system info]-----------]
 10:10am  up 11 days, 15:39,  4 users,  load average: 0.34, 0.20, 0.20


Date: Mon, 18 Sep 2000 14:20:29 -0400 (EDT)
From: <maillist at winterfell.traverse dot net>
Subject: Disappearing mail....

Hi All,

I have had some customers (mostly users of Outlook Express, but some
having similar symptoms with Netscape mail) of mail 'disappearing'.

What is going on is that they start a download of their mail, and for
example it will say:

x of 4 messages downloading...(or some such message)...

But then they only have 2 messages there.


The syslog says that 4 messages have been downloaded also.


I personally think it is a client issue, but have had enough customers
complain about it, that I thought it might be worth while asking if
someone else has seen this.




I am currently using popper 3.0.2.


Thanks for your input,
Mike Massong
Charter Communications


From: Michel Heirbaut <mht at rtbf dot be>
Subject: email messages are concatenated together
Date: Mon, 18 Sep 2000 21:19:28 +0200 (MET DST)

High everybody,

I recently replaced our University of Washington pop3 server wilth qpoppe=
r =

version 3.0.2

Sometimes, two email messages are concatenated together, the second messa=
ge =

"From " line replaced by ">From ".

I am using SunOS 5.7 on SUNW,Ultra-4 (450) so I tried to replace /bin/mai=
l by =

/usr/lib/mail.local as local deliver agent (sendmail-8.9.3) as suggested =
in =

one of the FAQ.

The problem is still there !

Even if the Content-Length header is incorrect (too large) there shoud be=
 =

another way of finding valid From message separator.

Is there another workaround our anything in a future release ?
At this time I am afraid I 'll have to switch back to ipop3d which I don'=
t like
for other reasons.
-- =

------------------------------------------------------------
|'.'¨| R   mht at rtbf dot be                  tel:+32 2 737 3203
 / _ | T   Michel Heirbaut              fax:+32 2 737 4345
| (_)| B   Ingénieur Système
=2E¨--'. F ---------------------------------------------------

Date: Mon, 18 Sep 2000 14:34:41 -0700
From: Qpopper Support <qpopper at qualcomm dot com>
Subject: Re: email messages are concatenated together

At 9:19 PM +0200 9/18/00, Michel Heirbaut wrote:

>  High everybody,
>
>  I recently replaced our University of Washington pop3 server wilth qpopper
>  version 3.0.2
>
>  Sometimes, two email messages are concatenated together, the second message
>  "From " line replaced by ">From ".

If the messages are this way in the spool, it suggests a problem 
with the delivery agent.

>
>  I am using SunOS 5.7 on SUNW,Ultra-4 (450) so I tried to replace 
> /bin/mail by
>  /usr/lib/mail.local as local deliver agent (sendmail-8.9.3) as suggested in
>  one of the FAQ.
>
>  The problem is still there !

Do you mean the spool is unchanged, or do you mean that new 
messages coming in have this problem?  Changing the delivery agent 
won't fix an already-corrupted spool, but should help prevent the 
problem from happening again.

>
>  Even if the Content-Length header is incorrect (too large) there shoud be
>  another way of finding valid From message separator.
>
>  Is there another workaround our anything in a future release ?

At this time Qpopper relies on the Content-Length header.  There is 
an open item to fall back on "From " scanning (from the beginning 
of the message) if the header turns out to be incorrect, but this 
has not been implemented yet.

>  At this time I am afraid I 'll have to switch back to ipop3d 
> which I don't like
>  for other reasons.

You should be able to repair the affected spool.  How often does 
this occur for you?


From: "Corin Royal Drummond" <corin at savagebeast dot com>
Subject: APOP Help:  Server gives no valid SASL mechanisms
Date: Mon, 18 Sep 2000 20:16:09 -0700

Comrades,

I'm bugged by qpopper.  I've compiled it, and installed the recent 3.1 beta
RPM (from rpmfind.net) for RedHat 6.2.  The server responds nicely using
user/pass authentication, but won't do APOP.

Examining the debugging logs ("-t" cmd line flag) reveals that when Outlook
2000 says "AUTH" qpopper responds "+OK Following are Support SASL
mechanisms".  Problem is, it doesn't provide such a list.  Outlook gets so
frustrated by qpoppers obvious duplicity in this matter that the next thing
it says is "QUIT".  In Outlook, I have the "Use secure password
authentication" box checked.  If I uncheck that, and blow away
/etc/pop.auth, I get all my mail.

Any suggestions would be warmly and greatfully received.

Corin Royal Drummond
Savage Beast Technologies
System Administrator






From: "Kenneth Porter" <shiva at well dot com>
Date: Mon, 18 Sep 2000 18:29:18 -0700
Subject: Re: Download times

On Mon, 18 Sep 2000 09:43:19 -0500, David Aldridge wrote:

>SMTP is not an efficient to move binary files.  They are converted into
>ASCII form while enroute and grow several times their original size as a
>result.

IIRC, "several times their original size" is 4/3. 3 binary bytes are
translated into 4 printable ASCII bytes using base 64 encoding. A
simple-minded approach would split every 3 bytes (24 bits) into 4
64-bit values and then add 32 to each to make it printable ASCII.

Ken
mailto:shiva at well dot com
http://www.sewingwitch.com/ken/
http://www.harrybrowne2000.org/



Date: Tue, 19 Sep 2000 16:17:52 +1200 (NZST)
From: Alan Brown <alan at manawatu.gen dot nz>
Subject: Re: Download times

On Mon, 18 Sep 2000, Kenneth Porter wrote:

> IIRC, "several times their original size" is 4/3. 3 binary bytes are
> translated into 4 printable ASCII bytes using base 64 encoding. A
> simple-minded approach would split every 3 bytes (24 bits) into 4
> 64-bit values and then add 32 to each to make it printable ASCII.

3/2 is closer to the mark.

AB


Date: Mon, 18 Sep 2000 22:41:02 -0700
From: Qpopper Support <qpopper at qualcomm dot com>
Subject: Re: APOP Help:  Server gives no valid SASL mechanisms

At 8:16 PM -0700 9/18/00, Corin Royal Drummond wrote:

>  Comrades,
>
>  I'm bugged by qpopper.  I've compiled it, and installed the recent 3.1 beta
>  RPM (from rpmfind.net) for RedHat 6.2.  The server responds nicely using
>  user/pass authentication, but won't do APOP.
>
>  Examining the debugging logs ("-t" cmd line flag) reveals that when Outlook
>  2000 says "AUTH" qpopper responds "+OK Following are Support SASL
>  mechanisms".  Problem is, it doesn't provide such a list.  Outlook gets so
>  frustrated by qpoppers obvious duplicity in this matter that the next thing
>  it says is "QUIT".  In Outlook, I have the "Use secure password
>  authentication" box checked.  If I uncheck that, and blow away
>  /etc/pop.auth, I get all my mail.
>
>  Any suggestions would be warmly and greatfully received.
>
>  Corin Royal Drummond
>  Savage Beast Technologies
>  System Administrator

Qpopper does not currently support any standards-track SASL 
mechanisms.  The list of supported mechanisms (only an early version 
of an experimental one: SCRAM) is given in the CAPA response.

However, I recommend not compiling with SCRAM.

I think Outlook may not do APOP.   Try a client that supports APOP, 
such as Eudora <http://www.eudora.com>.

From: Gerhard Gonter <gonter at maestria.wu-wien.ac dot at>
Subject: Re: email messages are concatenated together
Date: Tue, 19 Sep 2000 10:55:18 +0200 (MES)

According to Michel Heirbaut:
> Sometimes, two email messages are concatenated together, the second message 
> "From " line replaced by ">From ".

Qpopper requires a blank line bofore the /^From /-line, your local mail
delivery agent needs to ensure this by setting the flags accordingly.

+gg
 
-- 
Gerhard.Gonter at wu-wien.ac.at  Fax: +43/1/31336/702  g dot gonter at ieee dot org
Zentrum fuer Informatikdienste, Wirtschaftsuniversitaet Wien, Austria

Subject: Re: APOP Help: Server gives no valid SASL mechanisms
Date: Tue, 19 Sep 2000 13:14:00 -0400
From: Ken Hornstein <kenh at cmf.nrl.navy dot mil>

>I'm bugged by qpopper.  I've compiled it, and installed the recent 3.1 beta
>RPM (from rpmfind.net) for RedHat 6.2.  The server responds nicely using
>user/pass authentication, but won't do APOP.
>
>Examining the debugging logs ("-t" cmd line flag) reveals that when Outlook
>2000 says "AUTH" qpopper responds "+OK Following are Support SASL
>mechanisms".  Problem is, it doesn't provide such a list.  Outlook gets so
>frustrated by qpoppers obvious duplicity in this matter that the next thing
>it says is "QUIT".

I think you're confused.  APOP doesn't have anything to do with SASL
(which is what uses the AUTH command).  There's a separate APOP command
for doing APOP authentication.  It sounds like Outlook wants to do
SASL authentication (which I think there's some rudimentary support for
in qpopper, but I have no idea how well it works).

--Ken

From: "Corin Royal Drummond" <corin at savagebeast dot com>
Subject: RE: APOP Help: Server gives no valid SASL mechanisms
Date: Tue, 19 Sep 2000 13:29:07 -0700

My thanks to y'all.  I've learned the following from your responses, and my
own research:

- Outlook is a piece of shit, and doesn't support APOP
- Outlook's "Use Secure Password Authentication" checkbox uses SASL with
some proprietary MS mechanism related to NT authentication
- My qpopper is working fine, but doesn't really support any SASL mechanisms
yet.
- SSL transport layer security will provide the secure pop and imap
authentication that I need for all my users wether they use Netscape,
Outlook, or Eudora.  I'm going to give OpenSSL with stunnel a try.
- I don't really want to learn about certificates and all that SSL entails,
but Outlook is a piece of shit, and doesn't support APOP.
- If all my users used Eudora, I could use APOP.
- People like Outlook, and will switch when I pry it from their cold, dead
fingers.

Muchas Gracias,

Corin Royal Drummond
Sysdemin
Savage Beast Technologies

-----Original Message-----
From: Ken Hornstein [mailto:kenh at cmf.nrl.navy dot mil]
Sent: Tuesday, September 19, 2000 10:14 AM
To: Subscribers of Qpopper
Subject: Re: APOP Help: Server gives no valid SASL mechanisms


>I'm bugged by qpopper.  I've compiled it, and installed the recent 3.1 beta
>RPM (from rpmfind.net) for RedHat 6.2.  The server responds nicely using
>user/pass authentication, but won't do APOP.
>
>Examining the debugging logs ("-t" cmd line flag) reveals that when Outlook
>2000 says "AUTH" qpopper responds "+OK Following are Support SASL
>mechanisms".  Problem is, it doesn't provide such a list.  Outlook gets so
>frustrated by qpoppers obvious duplicity in this matter that the next thing
>it says is "QUIT".

I think you're confused.  APOP doesn't have anything to do with SASL
(which is what uses the AUTH command).  There's a separate APOP command
for doing APOP authentication.  It sounds like Outlook wants to do
SASL authentication (which I think there's some rudimentary support for
in qpopper, but I have no idea how well it works).

--Ken


From: Frank Pineau <frank at pineaus dot com>
Subject: Re: APOP Help: Server gives no valid SASL mechanisms
Date: Tue, 19 Sep 2000 16:57:49 -0400

On Tue, 19 Sep 2000 13:29:07 -0700, a data storm erupted from "Corin Royal
Drummond" <corin at savagebeast dot com>: 

>but Outlook is a piece of shit, and doesn't support APOP.
>- If all my users used Eudora, I could use APOP.


Forte Agent (http://www.forteinc.com) is primarily a newsreader, but I use it as
my primary mail client as well.  It supports APOP and doesn't do freaky crap
with VB scripts.

FP


-- 
<*><*><*><*><*><*><*><*><*><*><*><*><*><*><*><*><*>
Frank Pineau  ------------>

        frank at pineaus.IHATESPAM dot com
          http://www.pineaus.com

 Give me liberty or give me something of equal or
  lesser value from your glossy 32-page catalog.
<*><*><*><*><*><*><*><*><*><*><*><*><*><*><*><*><*>
PGP Public Key: 
http://www.pineaus.com/frankpineau.asc

No mail from web-based mail systems such as Hotmail
or Yahoo will be accepted.

From: "Scott Donovan" <Scott.Donovan at tassie.net dot au>
Subject: Additional stats functionality?
Date: Wed, 20 Sep 2000 08:07:57 +1000

Hi Everyone,

I was wonder if there are patches or plans to add a couple more stats to the
output of a pop session with qpopper?

Specifically I am after a total session bytes in and out (similar to wuftpd
reports).

Can anyone point me in the right direction ?

Regards,
Scott Donovan


From: "Scott Donovan" <Scott.Donovan at tassie.net dot au>
Subject: 3.1b11 - goes rogue
Date: Wed, 20 Sep 2000 08:06:25 +1000

Hi Everyone,

Just compiled 3.1b11 on freebsd 3.4-stable. Runs ok until about the 3 or 4th
connection in stand alone mode then sits a 100% processor utilisation.

What information can I provide that may assist ?

Regards,
Scott D.


Date: Tue, 19 Sep 2000 17:23:38 -0700
From: Qpopper Support <qpopper at qualcomm dot com>
Subject: Re: 3.1b11 - goes rogue

At 8:06 AM +1000 9/20/00, Scott Donovan wrote:

>  Hi Everyone,
>
>  Just compiled 3.1b11 on freebsd 3.4-stable. Runs ok until about the 3 or 4th
>  connection in stand alone mode then sits a 100% processor utilisation.
>
>  What information can I provide that may assist ?
>
>  Regards,
>  Scott D.

An strace (1) or truss(1) output would be great.  A trace file 
would also be a big help.

To enable tracing in Qpopper:

1.  Do a 'make clean'
2.  Re-run ./configure, adding '--enable-debugging'.
3.  Use  '-d' or '-t tracefile' on the command line.

This causes detailed tracing to be written to the syslog (if you 
used '-d') or to the file specified as 'tracefile' (if you used 
'-t').

An example in standalone mode is: 'popper/popper -t /var/tmp'

Date: Fri, 22 Sep 2000 00:41:54 +0100
From: Nuno Teixeira <nuno.teixeira at pt-quorum dot com>
Subject: sslwrap + qpopper

Hello to all,

Does anyone use sslwrap with qpopper? I like to know if this is the best way
to make a secure POP3 conection.

Thanks very much,

Nuno Teixeira


Date: Fri, 22 Sep 2000 11:32:07 +0200
From: Valter Nordh <valter at che.chalmers dot se>
Subject: Re: sslwrap + qpopper

I use stunnel (www.stunnel.org) and it works well.

/Valter

At 01:41 2000-09-22, Nuno Teixeira wrote:
>Hello to all,
>
>Does anyone use sslwrap with qpopper? I like to know if this is the best way
>to make a secure POP3 conection.
>
>Thanks very much,
>
>Nuno Teixeira


Subject: Re: sslwrap + qpopper
Date: Fri, 22 Sep 2000 06:30:02 -0400
From: Karl Hoppel <hoppel at opt.nrl.navy dot mil>

I have been running SSLwrap with qpoper for serveral months
without any problems. I have RedHat 6.2. 
 I installed the following RPM modules:

openssl-0.9.5a-1.i386.rpm
sslwrap-2.0.5-3.i386.rpm

I wanted to discourage plain text logins for security reasons,
and I have both Eudora and Outlook users.  Eudora only does APOP
while Outlook only does SSL (and other methods that qpopper does
not seem to support).  The solution that I have found that works so far
is to run qpopper on two ports.  The normal pop-3 port is configured
for APOP only.  I then run SSLwrap on the spop-3 port and send the
input/output to qpopper running on a nonstandard port, which accepts
plain text logins.  I have listed my inetd.conf entries below.  I am still 
wondering what happens when both Eudora and Outlook connect at the
same time - if there will ever be conflicts such as both qpopper processes
trying to use the same temporary files, hmm?


pop-3    stream  tcp     nowait  root    /usr/sbin/tcpd in.qpopper -p 1

765   stream  tcp     nowait  root    /usr/sbin/tcpd    in.qpopper -p 2

spop3 stream tcp nowait root /usr/sbin/tcpd /usr/sbin/sslwrap
              -cert /usr/local/ssl/certs/server.pem -port 765

>
>Hello to all,
>
>Does anyone use sslwrap with qpopper? I like to know if this is the best way
>to make a secure POP3 conection.
>
>Thanks very much,
>
>Nuno Teixeira
>


Karl


Date: Fri, 22 Sep 2000 18:11:00 -0700
From: Qpopper Support <qpopper at qualcomm dot com>
Subject: Re: sslwrap + qpopper

At 6:30 AM -0400 9/22/00, Karl Hoppel wrote:

>  I have been running SSLwrap with qpoper for serveral months
>  without any problems. I have RedHat 6.2.
>   I installed the following RPM modules:
>
>  openssl-0.9.5a-1.i386.rpm
>  sslwrap-2.0.5-3.i386.rpm
>
>  I wanted to discourage plain text logins for security reasons,
>  and I have both Eudora and Outlook users.  Eudora only does APOP
>  while Outlook only does SSL (and other methods that qpopper does
>  not seem to support).

Eudora will support SSL in a post-5.0 release.

>  The solution that I have found that works so far
>  is to run qpopper on two ports.  The normal pop-3 port is configured
>  for APOP only.  I then run SSLwrap on the spop-3 port and send the
>  input/output to qpopper running on a nonstandard port, which accepts
>  plain text logins.  I have listed my inetd.conf entries below.  I am still
>  wondering what happens when both Eudora and Outlook connect at the
>  same time - if there will ever be conflicts such as both qpopper processes
>  trying to use the same temporary files, hmm?

There should be no problem, since any additional Qpopper process 
will detect that another process owns the temp drop.  It really 
doesn't matter if they are running on the same or different ports.

>
>
>  pop-3    stream  tcp     nowait  root    /usr/sbin/tcpd in.qpopper -p 1
>
>  765   stream  tcp     nowait  root    /usr/sbin/tcpd    in.qpopper -p 2
>
>  spop3 stream tcp nowait root /usr/sbin/tcpd /usr/sbin/sslwrap
>                -cert /usr/local/ssl/certs/server.pem -port 765
>
>>
>>Hello to all,
>>
>>Does anyone use sslwrap with qpopper? I like to know if this is the best way
>>to make a secure POP3 conection.
>>
>>Thanks very much,
>>
>>Nuno Teixeira
>>
>
>
>  Karl


From: "Kenneth Porter" <shiva at well dot com>
Date: Fri, 22 Sep 2000 16:17:53 -0700
Subject: Re: sslwrap + qpopper

On Fri, 22 Sep 2000 06:30:02 -0400, Karl Hoppel wrote:

>I am still 
>wondering what happens when both Eudora and Outlook connect at the
>same time - if there will ever be conflicts such as both qpopper processes
>trying to use the same temporary files, hmm?

This isn't any different from the case where you're running qpopper
from inetd on a single port: inetd spawns a new copy of qpopper for
each client, so there can be an arbitrary number of instances running
at one time, and multiple instances may be attempting to access the
same mailbox. At the same time, sendmail or another MTA may be
receiving mail and using procmail or another MDA to store it in
mailboxes. There are locking mechanisms to guard against corruption of
the mailboxes from simultaneous access by multiple programs.

Ken
mailto:shiva at well dot com
http://www.sewingwitch.com/ken/
http://www.harrybrowne2000.org/



From: "Nuno Teixeira" <nuno.teixeira at pt-quorum dot com>
Subject: SSLWrap vs STunnel
Date: Sat, 23 Sep 2000 14:29:03 +0100

Hello to all,

Can you tell me what of this programs are the best and more secure?

Thanks very much,

Nuno Teixeira


Date: Sun, 24 Sep 2000 21:40:40 +0100
From: Nuno Teixeira <nuno.teixeira at pt-quorum dot com>
Subject: APOP

Hello to all,

Were do I find APOP official site?

Thanks,

Nuno Teixeira


Date: Mon, 25 Sep 2000 10:05:00 -0400 (EDT)
From: Admin Mailing Lists <mlist at intergrafix dot net>
Subject: Re: sslwrap + qpopper

instead of having 2 poppers, wouldn't it be feasible to have 1 popper bind
to 2 ports, the plain 110 and the SSL one, with the encryption libs
compiled into qpopper?
or are we at a stage where this is not possible yet without some major
thought?

-Tony
.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-.
Anthony J. Biacco                       Network Administrator/Engineer
thelittleprince at asteroid-b612 dot org       Intergrafix Internet Services

    "Dream as if you'll live forever, live as if you'll die today"
http://www.asteroid-b612.org                http://www.intergrafix.net
.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-.

On Fri, 22 Sep 2000, Kenneth Porter wrote:

> On Fri, 22 Sep 2000 06:30:02 -0400, Karl Hoppel wrote:
> 
> >I am still 
> >wondering what happens when both Eudora and Outlook connect at the
> >same time - if there will ever be conflicts such as both qpopper processes
> >trying to use the same temporary files, hmm?
> 
> This isn't any different from the case where you're running qpopper
> from inetd on a single port: inetd spawns a new copy of qpopper for
> each client, so there can be an arbitrary number of instances running
> at one time, and multiple instances may be attempting to access the
> same mailbox. At the same time, sendmail or another MTA may be
> receiving mail and using procmail or another MDA to store it in
> mailboxes. There are locking mechanisms to guard against corruption of
> the mailboxes from simultaneous access by multiple programs.
> 
> Ken
> mailto:shiva at well dot com
> http://www.sewingwitch.com/ken/
> http://www.harrybrowne2000.org/
> 
> 
> 


From: Joerg Hartmann <jhartmann at dessau.mediadesign dot de>
Subject: Syslogging of qpopper
Date: Wed, 27 Sep 2000 14:53:00 +0200

Hello,

i have configered qpopper (v 3.0.2) with --with-log-facility=LOG_LOCAL4
and my /etc/syslog.conf has a line

local4.*			/var/log/qpopper.log

That works well :)
But qpopper is filling my /var/log/messages with lines, even when i configure
syslog not to write local4-messages to that file.

*.*;mail.none;local1.none;local4.none;daemon.none               -/var/log/messages 

Could someon pls explain to me how i stop qpopper (or syslogd) from writing
to the messages file ?

Thanks !

best regards
                                 J–rg
-- 
Joerg Hartmann
mediadesign akademie 
Phone +49 340 253 2023 	 Fax   +49 340 253 2010
jhartmann at dessau.mediadesign dot de

Date: Wed, 27 Sep 2000 09:50:19 -0500 (CDT)
From: Jason Englander <jason at interl dot net>
Subject: Re: Syslogging of qpopper

On Wed, 27 Sep 2000, Joerg Hartmann wrote:

<SNIP>
> But qpopper is filling my /var/log/messages with lines, even when i configure
> syslog not to write local4-messages to that file.
> 
> *.*;mail.none;local1.none;local4.none;daemon.none               -/var/log/messages 
> 
> Could someon pls explain to me how i stop qpopper (or syslogd) from writing
> to the messages file ?

*.* is all facilities, all priorities.

  Jason
 
-- 
Jason Englander <jason at interl dot net>
Systems Administrator - InterLink L.C.





Date: Thu, 28 Sep 2000 08:28:07 +0100
From: hypnose at t-online dot de (guenter wessling)
Subject: re: stunnel

Hi, all,
hi, Valter,
a question concerning stunnel / qpopper.
As far as I understand, stunnel will encrypt every bite of the mail message
on its way from user/sender to server and from server to user/recipient.
Is that correct ?
So not only the password is encrypted, as with APOP ?

If I am right: do you - or anyone else - have experience with system
slowdown due to the encryption process with longer eMails (>500 KB) ?
(Question concerns sslwrap also..)

My clients send digital x-rays a lot and that could bring some trouble ?

Thanks, 
guenter

(by the way: is there an stunnel-mailing list ?)


>From: Valter Nordh <valter at che.chalmers dot se>
>Subject: Re: sslwrap + qpopper
>
>I use stunnel (www.stunnel.org) and it works well.
>
>/Valter
>
>At 01:41 2000-09-22, Nuno Teixeira wrote:
>>Hello to all,
>>
>>Does anyone use sslwrap with qpopper? I like to know if this is the best way
>>to make a secure POP3 conection.
>>
>>Thanks very much,
>>
>>Nuno Teixeira
>
guenter wessling (hypnose at t-online dot de)

Date: Thu, 28 Sep 2000 12:15:02 +0200
From: Valter Nordh <valter at che.chalmers dot se>
Subject: re: stunnel

At 09:28 2000-09-28, guenter wessling wrote:
>Hi, all,
>hi, Valter,
>a question concerning stunnel / qpopper.
>As far as I understand, stunnel will encrypt every bite of the mail message
>on its way from user/sender to server and from server to user/recipient.
>Is that correct ?
>So not only the password is encrypted, as with APOP ?

Well. In my setup I use stunnel on port 995, and than all e-mail that my 
users download from the mailserver are encrypted.
However, when they send mail, they connet directly to the MTA (in my case 
sendmail) on port 25, whiich NOT in encrypted.
It is possible to set up a encrypted connection there as well, but as I 
remember there where some problems with either netscape or outlook.. May 
have changed now.
I also now that sendmail 8.10 and up have some sort of encryption builtin...

>If I am right: do you - or anyone else - have experience with system
>slowdown due to the encryption process with longer eMails (>500 KB) ?
>(Question concerns sslwrap also..)

Nop. But, I havn't made any measurments :)..

>My clients send digital x-rays a lot and that could bring some trouble ?

Sorry, I don't know what this is? digital x-rays ?

>Thanks,
>guenter
>
>(by the way: is there an stunnel-mailing list ?)

On http://www.stunnel.org/support/
Mailing List
To subscribe to the stunnel mailing list, send an empty email message to: 
stunnel-users-subscribe at mirt dot net. It will reply back with further 
instructions.



> >From: Valter Nordh <valter at che.chalmers dot se>
> >Subject: Re: sslwrap + qpopper
> >
> >I use stunnel (www.stunnel.org) and it works well.
> >
> >/Valter
> >
> >At 01:41 2000-09-22, Nuno Teixeira wrote:
> >>Hello to all,
> >>
> >>Does anyone use sslwrap with qpopper? I like to know if this is the 
> best way
> >>to make a secure POP3 conection.
> >>
> >>Thanks very much,
> >>
> >>Nuno Teixeira
> >
>guenter wessling (hypnose at t-online dot de)


Date: Thu, 28 Sep 2000 07:01:52 -0400 (EDT)
From: Mailman <mailman at mail.bnetmd dot net>
Subject: virus scan for qpopper?

Hi all,
Anyone know of software to scan emails for viruses as they are processed
out to the user by qpopper?  Or I suppose as they come in through sendmail
for that matter?
Thanks!
Glenn.



From: "Franco Catena" <catena at surson.com dot br>
Subject: LDAP
Date: Thu, 28 Sep 2000 09:08:47 -0300

Hi,

How to use qpopper with LDAP????? It's possible?

thanks.


Date: Thu, 28 Sep 2000 14:49:43 +0200
From: Len Conrad <lconrad at Go2France dot com>
Subject: Re: virus scan for qpopper?

>Hi all,
>Anyone know of software to scan emails for viruses as they are processed
>out to the user by qpopper?  Or I suppose as they come in through sendmail
>for that matter?

SMTP would be a better protocol to scan.  check

http://sourceforge.net/projects/amavis/

and

http://www.kaspersky.com/products.asp?tgroup=0&pgroup=3&id=34

Len

http://BIND8NT.MEIway.com: ISC BIND 8.2.2 p5  installable binary for NT4
http://IMGate.MEIway.com:  Build free, hi-perf, anti-spam mail gateways


Date: Thu, 28 Sep 2000 15:15:19 +0200 (MET DST)
From: Carrer Yuri <yurj at alfa dot it>
Subject: 3.1?

 When?:)

								Yuri



Date: Thu, 28 Sep 2000 10:13:38 -0400 (EDT)
From: Jeff Earickson <jaearick at colby dot edu>
Subject: Re: virus scan for qpopper?

Y'all,
   I've tried amavis in the past, and while it works fairly well, virus
scanning on a mail hub isn't worth it IMHO.  The CPU cycles needed to
break out attachments and run them thru a virus scanner are large, and
for all that effort I didn't seem to catch much.  It was a
waste of CPU at our site, and I gave up on it.  My opinion is that
virii are frankly a Microsoft problem because of the design of their
OS and their use of VB scripts.  Microsoft needs to address the problem
at their end...

--- Jeff Earickson

On Thu, 28 Sep 2000, Len Conrad wrote:

> Date: Thu, 28 Sep 2000 14:49:43 +0200
> From: Len Conrad <lconrad at Go2France dot com>
> To: Subscribers of Qpopper <qpopper at lists.pensive dot org>
> Subject: Re: virus scan for qpopper?
> 
> >Hi all,
> >Anyone know of software to scan emails for viruses as they are processed
> >out to the user by qpopper?  Or I suppose as they come in through sendmail
> >for that matter?
> 
> SMTP would be a better protocol to scan.  check
> 
> http://sourceforge.net/projects/amavis/
> 
> and
> 
> http://www.kaspersky.com/products.asp?tgroup=0&pgroup=3&id=34
> 
> Len
> 
> http://BIND8NT.MEIway.com: ISC BIND 8.2.2 p5  installable binary for NT4
> http://IMGate.MEIway.com:  Build free, hi-perf, anti-spam mail gateways
> 


From: "penda paul" <paul_penda at hotmail dot com>
Subject: Re: virus scan for qpopper?
Date: Thu, 28 Sep 2000 14:34:39 GMT

Got it

InterScan VirusWall of Trend Micro

www.trendmicro.fr

Paul


>From: Jeff Earickson <jaearick at colby dot edu>
>To: Len Conrad <lconrad at Go2France dot com>
>CC: Subscribers of Qpopper <qpopper at lists.pensive dot org>
>Subject: Re: virus scan for qpopper?
>Date: Thu, 28 Sep 2000 10:13:38 -0400 (EDT)
>
>Y'all,
>    I've tried amavis in the past, and while it works fairly well, virus
>scanning on a mail hub isn't worth it IMHO.  The CPU cycles needed to
>break out attachments and run them thru a virus scanner are large, and
>for all that effort I didn't seem to catch much.  It was a
>waste of CPU at our site, and I gave up on it.  My opinion is that
>virii are frankly a Microsoft problem because of the design of their
>OS and their use of VB scripts.  Microsoft needs to address the problem
>at their end...
>
>--- Jeff Earickson
>
>On Thu, 28 Sep 2000, Len Conrad wrote:
>
> > Date: Thu, 28 Sep 2000 14:49:43 +0200
> > From: Len Conrad <lconrad at Go2France dot com>
> > To: Subscribers of Qpopper <qpopper at lists.pensive dot org>
> > Subject: Re: virus scan for qpopper?
> >
> > >Hi all,
> > >Anyone know of software to scan emails for viruses as they are 
>processed
> > >out to the user by qpopper?  Or I suppose as they come in through 
>sendmail
> > >for that matter?
> >
> > SMTP would be a better protocol to scan.  check
> >
> > http://sourceforge.net/projects/amavis/
> >
> > and
> >
> > http://www.kaspersky.com/products.asp?tgroup=0&pgroup=3&id=34
> >
> > Len
> >
> > http://BIND8NT.MEIway.com: ISC BIND 8.2.2 p5  installable binary for NT4
> > http://IMGate.MEIway.com:  Build free, hi-perf, anti-spam mail gateways
> >
>

_________________________________________________________________________
Get Your Private, Free E-mail from MSN Hotmail at http://www.hotmail.com.

Share information about yourself, create your own public profile at 
http://profiles.msn.com.


Date: Thu, 28 Sep 2000 23:52:06 +0900
From: Peter Evans <peter at gol dot com>
Subject: Re: LDAP -- 2.

Franco Catena (catena at surson.com dot br) wrote:
> How to use qpopper with LDAP????? It's possible?


	I have a working LDAP hack for qpopper 2.53, its not very elegant,
	and needs the corners polishing off it.

	I'm waiting for 3.1 to stop developing feeping creaturism, then I might
	do the same for that.

	If youre really desperate and dont mind undocumented code, maybe I can
	post the hacked version on my web server ...


	P

-- 
Remember The 5 K's.				You look like you need a monkey ...
The Justified Agents of Munya-munya-muuuu ...

Date: Thu, 28 Sep 2000 16:42:11 +0200
From: Len Conrad <lconrad at Go2France dot com>
Subject: Re: virus scan for qpopper?

>Got it
>
>InterScan VirusWall of Trend Micro
>
>www.trendmicro.fr

About $25K for the unlimited version, about FFr 150,000.

Len


http://BIND8NT.MEIway.com: ISC BIND 8.2.2 p5  installable binary for NT4
http://IMGate.MEIway.com:  Build free, hi-perf, anti-spam mail gateways


From: "InvictaNet Customer Support" <support at invictanet.co dot uk>
Subject: RE: virus scan for qpopper?
Date: Thu, 28 Sep 2000 18:20:41 +0100

At the risk of starting a forest fire, I have to say, Jeff, that I think
your response is more than a little childish.

The fact is that a virus problem exists and Microsoft are never going to do
anything about the "features" in their software that allow these viruses to
propagate.

You are correct that xnix servers are not directly affected by Microsoft
type viruses but even the best mail server can be brought to its knees by
the throughput generated by an attack such as "I LOVE YOU".

Internet Mail Servers are the best place to stop viruses. In fact, with good
planning, I see no reason why virus transfer should not be completely
eradicated - If every Internet Mail Server ran anti-virus software, viruses
could only ever attack local networks.


Martyn Routley
-----------------------------------------------------
InvictaNet - The Internet in Plain English, Guaranteed
http://www.invictanet.co.uk
mailto:info at invictanet.co dot uk
phone: 0870 7402252
fax: +44 (0)1233 334001
------------------------------------------------------

-----Original Message-----
From: Jeff Earickson [mailto:jaearick at colby dot edu]
Sent: Thursday, September 28, 2000 3:14 PM
To: Len Conrad
Cc: Subscribers of Qpopper
Subject: Re: virus scan for qpopper?


Y'all,
   I've tried amavis in the past, and while it works fairly well, virus
scanning on a mail hub isn't worth it IMHO.  The CPU cycles needed to
break out attachments and run them thru a virus scanner are large, and
for all that effort I didn't seem to catch much.  It was a
waste of CPU at our site, and I gave up on it.  My opinion is that
virii are frankly a Microsoft problem because of the design of their
OS and their use of VB scripts.  Microsoft needs to address the problem
at their end...

--- Jeff Earickson


Date: Thu, 28 Sep 2000 10:24:31 -0700
From: Qpopper Support <qpopper at qualcomm dot com>
Subject: Re: 3.1?

At 3:15 PM +0200 9/28/00, Carrer Yuri wrote:

>   When?:)

It's imminent.  We're just waiting on some non-technical, internal 
stuff that we have to do before the release.

From: Frank Pineau <frank at pineaus dot com>
Subject: Re: 3.1?
Date: Thu, 28 Sep 2000 13:58:17 -0400

On Thu, 28 Sep 2000 10:24:31 -0700, a data storm erupted from Qpopper Support
<qpopper at qualcomm dot com>: 

>At 3:15 PM +0200 9/28/00, Carrer Yuri wrote:
>
>>   When?:)
>
>It's imminent.  We're just waiting on some non-technical, internal 
>stuff that we have to do before the release.

Meaning they have to finish their beer first...;)

FP


-- 
<*><*><*><*><*><*><*><*><*><*><*><*><*><*><*><*><*>
Frank Pineau  ------------>

        frank at pineaus.IHATESPAM dot com
          http://www.pineaus.com

 Give me liberty or give me something of equal or
  lesser value from your glossy 32-page catalog.
<*><*><*><*><*><*><*><*><*><*><*><*><*><*><*><*><*>
PGP Public Key: 
http://www.pineaus.com/frankpineau.asc

No mail from web-based mail systems such as Hotmail
or Yahoo will be accepted.

Date: Thu, 28 Sep 2000 10:43:26 -0700
From: Leonard Hermens <Leonard.Hermens at rcity dot com>
Subject: RE: virus scan for qpopper?

Hi,

My .001 cents worth. There are three camps to this. One says prevent 
viruses via transport (FTP, file sharing, email, etc.) One says protect the 
desktops individually. The third says do both.

However, we cannot afford to equip all of our transport mechanisms at $10K 
a pop. We can protect desktop computers much more inexpensively and manage 
them just as well. But none of the three detection methods work with new or 
unknown viruses anyway.

And I realize that this is way off track from the intent of the Qpopper list.

-- Leonard

At 10:20 AM 9/28/2000, InvictaNet Customer Support wrote:
>At the risk of starting a forest fire, I have to say, Jeff, that I think
>your response is more than a little childish.
>
>The fact is that a virus problem exists and Microsoft are never going to do
>anything about the "features" in their software that allow these viruses to
>propagate.
>
>You are correct that xnix servers are not directly affected by Microsoft
>type viruses but even the best mail server can be brought to its knees by
>the throughput generated by an attack such as "I LOVE YOU".
>
>Internet Mail Servers are the best place to stop viruses. In fact, with good
>planning, I see no reason why virus transfer should not be completely
>eradicated - If every Internet Mail Server ran anti-virus software, viruses
>could only ever attack local networks.
>
>
>Martyn Routley
>-----------------------------------------------------
>InvictaNet - The Internet in Plain English, Guaranteed
>http://www.invictanet.co.uk
>mailto:info at invictanet.co dot uk
>phone: 0870 7402252
>fax: +44 (0)1233 334001
>------------------------------------------------------
>
>-----Original Message-----
>From: Jeff Earickson [mailto:jaearick at colby dot edu]
>Sent: Thursday, September 28, 2000 3:14 PM
>To: Len Conrad
>Cc: Subscribers of Qpopper
>Subject: Re: virus scan for qpopper?
>
>
>Y'all,
>    I've tried amavis in the past, and while it works fairly well, virus
>scanning on a mail hub isn't worth it IMHO.  The CPU cycles needed to
>break out attachments and run them thru a virus scanner are large, and
>for all that effort I didn't seem to catch much.  It was a
>waste of CPU at our site, and I gave up on it.  My opinion is that
>virii are frankly a Microsoft problem because of the design of their
>OS and their use of VB scripts.  Microsoft needs to address the problem
>at their end...
>
>--- Jeff Earickson


Date: Thu, 28 Sep 2000 15:45:27 -0400 (EDT)
From: Admin Mailing Lists <mlist at intergrafix dot net>
Subject: RE: virus scan for qpopper?

there's a 4th. educate stupid end users.

-Mr. 0 viruses in 8 years with no virus protection, ever.
.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-.
Anthony J. Biacco                       Network Administrator/Engineer
thelittleprince at asteroid-b612 dot org       Intergrafix Internet Services

    "Dream as if you'll live forever, live as if you'll die today"
http://www.asteroid-b612.org                http://www.intergrafix.net
.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-.

On Thu, 28 Sep 2000, Leonard Hermens wrote:

> Hi,
> 
> My .001 cents worth. There are three camps to this. One says prevent 
> viruses via transport (FTP, file sharing, email, etc.) One says protect the 
> desktops individually. The third says do both.
> 
> However, we cannot afford to equip all of our transport mechanisms at $10K 
> a pop. We can protect desktop computers much more inexpensively and manage 
> them just as well. But none of the three detection methods work with new or 
> unknown viruses anyway.
> 
> And I realize that this is way off track from the intent of the Qpopper list.
> 
> -- Leonard
> 
> At 10:20 AM 9/28/2000, InvictaNet Customer Support wrote:
> >At the risk of starting a forest fire, I have to say, Jeff, that I think
> >your response is more than a little childish.
> >
> >The fact is that a virus problem exists and Microsoft are never going to do
> >anything about the "features" in their software that allow these viruses to
> >propagate.
> >
> >You are correct that xnix servers are not directly affected by Microsoft
> >type viruses but even the best mail server can be brought to its knees by
> >the throughput generated by an attack such as "I LOVE YOU".
> >
> >Internet Mail Servers are the best place to stop viruses. In fact, with good
> >planning, I see no reason why virus transfer should not be completely
> >eradicated - If every Internet Mail Server ran anti-virus software, viruses
> >could only ever attack local networks.
> >
> >
> >Martyn Routley
> >-----------------------------------------------------
> >InvictaNet - The Internet in Plain English, Guaranteed
> >http://www.invictanet.co.uk
> >mailto:info at invictanet.co dot uk
> >phone: 0870 7402252
> >fax: +44 (0)1233 334001
> >------------------------------------------------------
> >
> >-----Original Message-----
> >From: Jeff Earickson [mailto:jaearick at colby dot edu]
> >Sent: Thursday, September 28, 2000 3:14 PM
> >To: Len Conrad
> >Cc: Subscribers of Qpopper
> >Subject: Re: virus scan for qpopper?
> >
> >
> >Y'all,
> >    I've tried amavis in the past, and while it works fairly well, virus
> >scanning on a mail hub isn't worth it IMHO.  The CPU cycles needed to
> >break out attachments and run them thru a virus scanner are large, and
> >for all that effort I didn't seem to catch much.  It was a
> >waste of CPU at our site, and I gave up on it.  My opinion is that
> >virii are frankly a Microsoft problem because of the design of their
> >OS and their use of VB scripts.  Microsoft needs to address the problem
> >at their end...
> >
> >--- Jeff Earickson
> 
> 


Date: Thu, 28 Sep 2000 23:25:29 +0100
From: hypnose at t-online dot de (guenter wessling)
Subject: re: stunnel

Hi. Thanks for the comments.
My problem is as follows:
qpopper is a terrific application. Supplies password encryption APOP just
like that.
But only Eudora works with APOP - and German users don´t see a German
version of Eudora. I do use Eudora (take a look at the header ;) - but for
some strange reason most native Germans seem to want a German language
eMail program.
There are some - but no APOP. And - no kerberos or whatever neither.
So I´m dealing with two procedures:
- encrypting mail passwords - leaving message encryption to users;
- encrypting all traffic - having to set up rootCA and related trouble...
Those users working with outlook can use ssl; stunnel works fine for=
 qpopper.
SMTP - I´m still testing.
In any case: system is slowing down. 
SSL-encrypting messages that already *have been encrypted with pgp* just to
make sure that password will be no clear text -->  seems a little paranoid
to me.

See my point ?

We probably should not ask for a qpopper-ssl (or mod_ssl_qpopper-3_1) as
with apache ...(?)
Would be only "half the solution" anyways due to mail-sent and mail-receive
split (smtp and pop).

The bingo! lies - as i can see - in the eMail-client.
So maybe qpopper support could have a beer (no-alcohol, of course) with
eudora developers and talk about Eudora international versions.... 
and maybe eudora will support ssl in *sending* and *receiving* messages
sometimes...

That would be it !

guenter
guenter wessling (hypnose at t-online dot de)

Date: Fri, 29 Sep 2000 09:41:27 +1200 (NZST)
From: Alan Brown <alan at manawatu.gen dot nz>
Subject: Re: virus scan for qpopper?

On Thu, 28 Sep 2000, penda paul wrote:

> Got it
> 
> InterScan VirusWall of Trend Micro
> 
> www.trendmicro.fr

Also known as a really easy way to turn your mailserver into an
anonymising open relay.

AB


Date: Fri, 29 Sep 2000 10:10:10 +1200 (NZST)
From: Alan Brown <alan at manawatu.gen dot nz>
Subject: Re: virus scan for qpopper?

On Thu, 28 Sep 2000, Len Conrad wrote:

> >Hi all,
> >Anyone know of software to scan emails for viruses as they are processed
> >out to the user by qpopper?  Or I suppose as they come in through sendmail
> >for that matter?
> 
> SMTP would be a better protocol to scan.  check

Virus scanning isn't a SMTP-level item. This can really only be done
at procmail level before placing the message in the recipient's mailbox.

As previously noted, Interscan Viruswall may filter virii, but it's
a spammer's wet dream. 

AB


Date: Thu, 28 Sep 2000 19:39:19 -0500
From: rudy <rudy at planetlink dot net>
Subject: nosuch user

I have a problem , I have qpopper (newer version) running on linux 6.2
we are an isp , and one of our isdn customers cant send mail to anyone
at its own isp ( us )
it gives them an error saying there is no such user !!
they  can send mail everywhere except  to the people at its own isp !

any suggestions ?
comment?


Help ME!!

Rudy