The qpopper list archive ending on 23 Jan 2001


Topics covered in this issue include:

  1. Re: qpopper error message in /var/log/mail
       Roy <garlic at garlic dot com>
       Wed, 10 Jan 2001 10:35:08 -0800
  2. Re: Another Question
       Randall Gellens <randy at qualcomm dot com>
       Wed, 10 Jan 2001 10:57:22 -0800
  3. RE: A comment
       Randall Gellens <randy at qualcomm dot com>
       Wed, 10 Jan 2001 10:48:29 -0800
  4. RE: A comment
       Forrest Aldrich <forrie at forrie dot com>
       Wed, 10 Jan 2001 14:58:31 -0500
  5. Re: Another Question
       Randall Gellens <randy at qualcomm dot com>
       Wed, 10 Jan 2001 11:42:01 -0800
  6. Re: qpopper error message in /var/log/mail
       Leonard Hermens <Leonard.Hermens at rcity dot com>
       Wed, 10 Jan 2001 12:56:59 -0800
  7. RE: A comment
       Leonard Hermens <Leonard.Hermens at rcity dot com>
       Wed, 10 Jan 2001 12:55:36 -0800
  8. RE: A comment
       Randall Gellens <randy at qualcomm dot com>
       Wed, 10 Jan 2001 14:56:39 -0800
  9. Re: /var/spool/mqueue  ?
       Alan Brown <alan at manawatu.gen dot nz>
       Thu, 11 Jan 2001 15:33:47 +1300 (NZDT)
 10. RE: A comment
       Alan Brown <alan at manawatu.gen dot nz>
       Thu, 11 Jan 2001 15:36:26 +1300 (NZDT)
 11. RE: A comment
       Randall Gellens <randy at qualcomm dot com>
       Wed, 10 Jan 2001 22:44:19 -0800
 12. Re: Another Question
       "Oliver Fleischmann" <fleischmann.o at sebadyn dot de>
       Thu, 11 Jan 2001 08:16:28 +0100
 13. RE: A comment
       "InvictaNet Customer Support" <support at invictanet.co dot uk>
       Thu, 11 Jan 2001 09:16:51 -0000
 14. qpopper 3.1.2 install question (repost)
       Greg <gregt at longwood.lwc dot edu>
       Thu, 11 Jan 2001 09:14:33 -0500 (EST)
 15. Forwarding
       root <root at mail.2cab dot net>
       Mon, 15 Jan 2001 11:02:47 +0100 (CET)
 16. Re: Forwarding
       <fikser at irc.randmeer dot nl>
       Mon, 15 Jan 2001 12:59:08 +0100 (CET)
 17. Re: Forwarding
       <fikser at irc.randmeer dot nl>
       Mon, 15 Jan 2001 13:00:49 +0100 (CET)
 18. Re: Forwarding
       =?iso-8859-1?Q?Jörg?= Bretschneider <sysadmin at cib.bau.tu-dresden dot de>
       Mon, 15 Jan 2001 12:08:30 +0100
 19. Re: Forwarding
       "Joseph W. Breu" <breu at cfu dot net>
       Mon, 15 Jan 2001 07:27:41 -0600 (CST)
 20. too many popper processes
       "Vigilante, Anthony" <anthony.vigilante at corp.bellsouth dot net>
       Mon, 15 Jan 2001 10:43:17 -0500
 21. Re: too many popper processes
       Jeff Earickson <jaearick at colby dot edu>
       Mon, 15 Jan 2001 10:54:23 -0500 (EST)
 22. RE: too many popper processes
       "Vigilante, Anthony" <anthony.vigilante at corp.bellsouth dot net>
       Mon, 15 Jan 2001 11:15:39 -0500
 23. RE: too many popper processes
       Jeff Earickson <jaearick at colby dot edu>
       Mon, 15 Jan 2001 11:38:05 -0500 (EST)
 24. Re: Forwarding
       "Kenneth Porter" <shiva at well dot com>
       Mon, 15 Jan 2001 13:27:17 -0800
 25. RE: too many popper processes
       Alan Brown <alan at manawatu.gen dot nz>
       Tue, 16 Jan 2001 17:58:07 +1300 (NZDT)
 26. Problems with genpath.c
       "Paolo Zampieri" <pzampier at it.ip-plus dot net>
       Tue, 16 Jan 2001 11:01:15 +0100
 27. Re: Problems with genpath.c
       Peter Evans <peter at gol dot com>
       Tue, 16 Jan 2001 19:11:18 +0900
 28. Re: Problems with genpath.c
       Carles Xavier Munyoz =?iso-8859-1?Q?Baldó?= 
       Tue, 16 Jan 2001 17:11:13 +0100
 29. Re: Forwarding
       Theresa M Peter <theresa at email.uc dot edu>
       Tue, 16 Jan 2001 11:35:38 -0500
 30. Re: Forwarding
       peter.allen at moon-light.co dot uk
       Wed, 17 Jan 2001 08:58:21 +0000
 31. Re: Forwarding
       root <root at mail.2cab dot net>
       Thu, 18 Jan 2001 16:21:51 +0100 (CET)
 32. Unknown users
       Mike <midimuso at cyberdude dot com>
       Fri, 19 Jan 2001 12:06:05 +0000
 33. Re: Unknown users
       Peter Evans <peter at gol dot com>
       Fri, 19 Jan 2001 21:28:38 +0900
 34. EOF undefined error
       "John MacKenzie" <john at elehost dot com>
       Fri, 19 Jan 2001 10:32:44 -0500
 35. Re: EOF undefined error
       Randall Gellens <randy at qualcomm dot com>
       Fri, 19 Jan 2001 10:43:19 -0800
 36. SMTP via POP
       admin at radiks dot net
       Fri, 19 Jan 2001 14:27:51 -0600
 37. Re: SMTP via POP
       "Kenneth Porter" <shiva at well dot com>
       Fri, 19 Jan 2001 12:41:35 -0800
 38. Re: SMTP via POP
       Gerhard Gonter <gonter at maestria.wu-wien.ac dot at>
       Fri, 19 Jan 2001 22:07:05 +0100 (MEZ)
 39. Re: SMTP via POP
       "Kenneth Porter" <shiva at well dot com>
       Fri, 19 Jan 2001 13:45:13 -0800
 40. Re: SMTP via POP
       Torsten Mueller <torsten at archesoft dot de>
       Fri, 19 Jan 2001 22:50:44 +0100
 41. Re: Unknown users
       Torsten Mueller <torsten at archesoft dot de>
       Fri, 19 Jan 2001 22:57:20 +0100
 42. Upgrade Problems 3.1.2
       Ray Kase <kase at warren.k12.in dot us>
       Fri, 19 Jan 2001 17:44:19 -0600
 43. Re: Upgrade Problems 3.1.2
       "Kenneth Porter" <shiva at well dot com>
       Fri, 19 Jan 2001 15:28:06 -0800
 44. Re: SMTP via POP
       Alan Brown <alan at manawatu.gen dot nz>
       Sat, 20 Jan 2001 16:01:54 +1300 (NZDT)
 45. Upgrade Problems 3.1.2
       Ray Kase <kase at warren.k12.in dot us>
       Mon, 22 Jan 2001 16:58:40 -0600
 46. Re: Upgrade Problems 3.1.2
       Randall Gellens <randy at qualcomm dot com>
       Mon, 22 Jan 2001 16:48:46 -0800
 47. Bug reported by me.
       Carles Xavier Munyoz =?iso-8859-1?Q?Baldó?= 
       Tue, 23 Jan 2001 10:51:27 +0100
 48. UIDL Bug
       Steven Fletcher <stevenf at shellnet.co dot uk>
       Tue, 23 Jan 2001 13:53:00 -0000
 49. Re: SMTP via POP
       hypnose at t-online dot de (guenter wessling)
       Sun, 21 Jan 2001 22:12:49 +0100
 50. Re: SMTP via POP
       Alan Brown <alan at manawatu.gen dot nz>
       Wed, 24 Jan 2001 03:37:12 +1300 (NZDT)

Date: Wed, 10 Jan 2001 10:35:08 -0800
From: Roy <garlic at garlic dot com>
Subject: Re: qpopper error message in /var/log/mail

Anyone asking a question on a mailing list should have the courtesy to look at
the documentation and the list archives (if they exist for that list).  A few
web searches should also be done.  A mailing list should be one of the last
places to go for help.  A mailing list with lots of questions that are in the
documentation drives away the people who can help with a difficult question.

Courtesy  and manners are a two way street. Do your homework and then ask your
question.  People will be much more willing to help.

Jack Sasportas wrote:

> The idea of being on a list, and HELPING others is to contribute...
> When you ask a question someone contributes to help you, when you answer you
> help them.
>
> If you think they are stupid, and should RTFM then don't help, let someone
> else do that rather then bring the negative of a newbie getting slammed and
> feeling like they should never submit a question.
>
> Additionally ( not in the case of qpopper for me ) there are many times I
> have read manuals/docs/help files/how-to's and no matter what I do I can't
> figure it out....sometimes it's a stupid thing, and others I stomp the
> panel, either way I needed help at whatever technical level (
> simple/complicated ) and posting has resulted in me being able to complete
> the project.
>
> Bottom line is, we all need help at one time or another and we don't want to
> be told we are idiots when we do ask for it....yes some people never crack
> open the readme it's true....but I give them the benefit of the doubt....
>
> J
>
> ......


Date: Wed, 10 Jan 2001 10:57:22 -0800
From: Randall Gellens <randy at qualcomm dot com>
Subject: Re: Another Question

At 12:13 PM -0500 1/10/01, David Andrews wrote:

>  Thanks all for the help regarding the var/spool/mqueue directory!
>
>  Another question - as a result of this problem locking my server (its all
>  now under control), I have a locked file in var/spool/mail/.username.pop.
>
>  How do I go about deleting this file? The rm command doesn't seem to do it?
>  The user can not get mail because of this.

rm will delete it, but you normally shouldn't do that.  If there is a 
popper process active, it is using the file and will get rid of it 
when it is done.  Killing the process shouldn't be needed (you can 
send it a HUP if you must).  Manually deleting the file can cause 
lost mail if the file is not empty.


Date: Wed, 10 Jan 2001 10:48:29 -0800
From: Randall Gellens <randy at qualcomm dot com>
Subject: RE: A comment

At 4:11 PM +0000 1/10/01, InvictaNet Customer Support wrote:

>  Does anyone else think that it is a bit odd to sell beta software??? When
>  Qpopper LX is released as final, I may well buy a copy. While it is still in
>  test mode and unfinished, no chance.

We're not selling a beta per se.  We're selling software that 
currently happens to be in beta.  The twelve-month subscription 
period doesn't start until the official release, so it's like buying 
the software when it is released, except also getting beta versions 
to play with early.  Plus, there's free email support during the 
beta, and a price discount.

Date: Wed, 10 Jan 2001 14:58:31 -0500
From: Forrest Aldrich <forrie at forrie dot com>
Subject: RE: A comment

Ah, but what about bug report response?

I paid for Eudora, for example, but have yet to ever have any of my bug 
reports answered.  Partly the reason why I'm looking for another mail client.



At 10:48 AM 1/10/2001 -0800, Randall Gellens wrote:
>At 4:11 PM +0000 1/10/01, InvictaNet Customer Support wrote:
>
>>  Does anyone else think that it is a bit odd to sell beta software??? When
>>  Qpopper LX is released as final, I may well buy a copy. While it is 
>> still in
>>  test mode and unfinished, no chance.
>
>We're not selling a beta per se.  We're selling software that currently 
>happens to be in beta.  The twelve-month subscription period doesn't start 
>until the official release, so it's like buying the software when it is 
>released, except also getting beta versions to play with early.  Plus, 
>there's free email support during the beta, and a price discount.


Date: Wed, 10 Jan 2001 11:42:01 -0800
From: Randall Gellens <randy at qualcomm dot com>
Subject: Re: Another Question

At 2:16 PM -0500 1/10/01, A. M. Salim wrote:

>  First do a "ps" command
>
>  ps awxu|grep pop3
>
>  This will identify the pop3d process that is the locked users's.
>
>  Then kill that process (kill -9 PID#) where PID# is the process ID number
>  Do not do a "killall pop3d" !  Only kill that user's pop3d
>
>  then you should check the file "/var/spool/mail/username" and if it is of
>  non-zero size, then some emails came in since the lock happened.  Execute
>  these commands:
>
>  cd /var/spool/mail
>  cat username >> .username.pop
>  mv .username.pop username
>  rm username.lock

If you really are talking about pop3d and not Qpopper, ignore the 
rest of this message.

If you are using Qpopper, don't kill the popper process.  Usually 
just leave it alone and it will clean up and go away.  Only in 
unusual circumstances is it necessary to do anything, and then a HUP 
signal should be used.  That lets it clean up the files itself, so 
there is no need to do anything else.  The .user.pop and user.lock 
files go away without you doing anything else.

Date: Wed, 10 Jan 2001 12:56:59 -0800
From: Leonard Hermens <Leonard.Hermens at rcity dot com>
Subject: Re: qpopper error message in /var/log/mail

Agreed. And if his question was in the FAQ, then perhaps we could have 
blasted him for not finding it. I can't find it when I search for 
"0.0.0.0", which is the core of his question. So maybe we can help him out...

-- Leonard

At 10:35 AM 1/10/2001, Roy wrote:
>Anyone asking a question on a mailing list should have the courtesy to look at
>the documentation and the list archives (if they exist for that list).

[...]



Date: Wed, 10 Jan 2001 12:55:36 -0800
From: Leonard Hermens <Leonard.Hermens at rcity dot com>
Subject: RE: A comment

At 11:58 AM 1/10/2001, Forrest Aldrich wrote:
>Ah, but what about bug report response?

Try getting a reply from any large company (Microsoft) when you submit a 
bug report. Most companies categorize, log and then confirm/reproduce the 
defect report for potential fix. MS charges $250 for bug fix replies. I 
don't want Qualcomm going that route yet, so the way they handle them now 
is fine with me. :-)

>I paid for Eudora, for example, but have yet to ever have any of my bug 
>reports answered.  Partly the reason why I'm looking for another mail client.


Date: Wed, 10 Jan 2001 14:56:39 -0800
From: Randall Gellens <randy at qualcomm dot com>
Subject: RE: A comment

At 2:58 PM -0500 1/10/01, Forrest Aldrich wrote:

>  I paid for Eudora, for example, but have yet to ever have any of 
> my bug reports answered.

Eudora doesn't normally respond to bug reports, unless further 
information is needed.  If you want a response, that's technical 
support, which you get by using paid-mode or sponsored-mode Eudora.

You should have gotten an auto-response for the bug reports that 
explains this.  If you didn't, please let me know so I can look 
into it.

Date: Thu, 11 Jan 2001 15:33:47 +1300 (NZDT)
From: Alan Brown <alan at manawatu.gen dot nz>
Subject: Re: /var/spool/mqueue  ?

On Wed, 10 Jan 2001, A. M. Salim wrote:

> > Can someone tell me about files in this directory /var/spool/mqueue?  
> > Does this have to do with Qpopper or Sendmail?  I had some HUGE files
> > in there today that killed my server because it ran out of disk space.  
> > I think this is where incoming mail is spooled?
> 
> this is where OUTGOING

And incoming.

> mail is spooled by sendmail.  Someone was sending
> HUGE files through your system. 

Judicious use of the MaxMessageSize parameter in sendmail.cf will deal
with al ot of this shit. 10Mb is a good compromise. although I
understand many free/cheap USA ISPs limit to 1.5Mb/message

Now back to your regularly scheduled flamefest.

AB


Date: Thu, 11 Jan 2001 15:36:26 +1300 (NZDT)
From: Alan Brown <alan at manawatu.gen dot nz>
Subject: RE: A comment

On Wed, 10 Jan 2001, Randall Gellens wrote:

> We're not selling a beta per se.  We're selling software that 
> currently happens to be in beta. 

And whose development has been mostly driven by the net community over
the last 15 years.

I hope you've removed the opensource parts of the code.

AB


Date: Wed, 10 Jan 2001 22:44:19 -0800
From: Randall Gellens <randy at qualcomm dot com>
Subject: RE: A comment

At 3:36 PM +1300 1/11/01, Alan Brown wrote:

>  On Wed, 10 Jan 2001, Randall Gellens wrote:
>
>>  We're not selling a beta per se.  We're selling software that
>>  currently happens to be in beta.
>
>  And whose development has been mostly driven by the net community over
>  the last 15 years.
>
>  I hope you've removed the opensource parts of the code.

Compare the Qpopper releases over the past few years.  Very 
significant amounts of code have been rewritten, cleaned up, 
improved.  Many day-one bugs have been fixed (some quite serious). 
This was done by QUALCOMM in the free open-source Qpopper.  QUALCOMM 
remains fully committed to an open source Qpopper.  Qpopper LX is 
simply an additional choice for people.  If enough people chose to 
purchase LX, it gives us revenue to support both the free Qpopper and 
Qpopper LX.  How is any of this a bad thing?


From: "Oliver Fleischmann" <fleischmann.o at sebadyn dot de>
Date: Thu, 11 Jan 2001 08:16:28 +0100
Subject: Re: Another Question

> If you are using Qpopper, don't kill the popper process.  Usually 
> just leave it alone and it will clean up and go away.  Only in 
> unusual circumstances is it necessary to do anything, and then a HUP 
> signal should be used.  That lets it clean up the files itself, so 
> there is no need to do anything else.  The .user.pop and user.lock 
> files go away without you doing anything else.

We also have lots of trouble with qpopper 3.1.2 and locked mailboxes, 
lasting for days and NOT being cleaned up automatically. Killing the 
process with -HUP or -INT  or -KILL doesn't make any difference. The 
qpopper process goes away, the .pop.lock file survives.

Yours
Oliver Fleischmann

-- 
Oliver Fleischmann              fleischmann.o at sebadyn dot de
Seba Dynatronic                 http://www.sebadyn.de
Mess- und Ortungstechnik GmbH   Tel. +49-9544-68211
Dr.-Herbert-Iann-Str. 6         Fax. +49-9544-68202
D-96148 Baunach

From: "InvictaNet Customer Support" <support at invictanet.co dot uk>
Subject: RE: A comment
Date: Thu, 11 Jan 2001 09:16:51 -0000

Aha!

Either that wasn't clear in the announcement, or I misread it.

I am happy with this explanation. I have no argument with this approach,
nobody should expect developers to support only open-source software
forever. Everyone has to eat somtime!



Martyn Routley
-----------------------------------------------------
InvictaNet - The Internet in Plain English, Guaranteed
http://www.invictanet.co.uk
mailto:info at invictanet.co dot uk
phone: 08707 440180
fax: 08707 440181
------------------------------------------------------



-----Original Message-----
From: Randall Gellens [mailto:randy at qualcomm dot com]
Sent: Wednesday, January 10, 2001 6:48 PM
To: InvictaNet Customer Support; Chilvers, Ronan (UKI)
Cc: Qpopper
Subject: RE: A comment


At 4:11 PM +0000 1/10/01, InvictaNet Customer Support wrote:

>  Does anyone else think that it is a bit odd to sell beta software??? When
>  Qpopper LX is released as final, I may well buy a copy. While it is still
in
>  test mode and unfinished, no chance.

We're not selling a beta per se.  We're selling software that
currently happens to be in beta.  The twelve-month subscription
period doesn't start until the official release, so it's like buying
the software when it is released, except also getting beta versions
to play with early.  Plus, there's free email support during the
beta, and a price discount.


Date: Thu, 11 Jan 2001 09:14:33 -0500 (EST)
From: Greg <gregt at longwood.lwc dot edu>
Subject: qpopper 3.1.2 install question (repost)

> Hello,
> 
> I get the following error when running ./configure on HP-UX 10.20:
> 
> ./configure  --enable-servermode --enable-specialauth
> --enable-temp-drop-dir=/var/spool/poptemp --enable-keep-temp-drop
> 
> loading cache ./config.cache
> checking whether make sets ${MAKE}... yes
> checking for gcc... gcc
> checking whether the C compiler (gcc  ) works... no
> configure: error: installation or configuration problem: C compiler cannot
> create executables. 
> 
> 
> This works on a test machine, but not on two others. The only thing
> that's different is we're running gcc version 2.8.1 on the test machine
> and version 2.95.2 on the two machines that won't ./configure.
> 
> Any ideas?
> 
> Greg
> 
> 


Date: Mon, 15 Jan 2001 11:02:47 +0100 (CET)
From: root <root at mail.2cab dot net>
Subject: Forwarding

I want to have mail, that comes in to a user on my mailserver
to be automatically forwarded to another mailadress.
how do i do this?
i suspect that this is a sendmail matter, but im trying this
list first.
thanks
/PJ


Date: Mon, 15 Jan 2001 12:59:08 +0100 (CET)
From: <fikser at irc.randmeer dot nl>
Subject: Re: Forwarding

Heyas,

Ya can do this on 2 ways.
First, In the users homedir. ya can make a file .forward and put the email
adres in there that must be forwarded to.
second. goto /etc/mail/aliases
ya see there for example: root:   test
This says: the email of root is forwarded to user test.
Ya can make a new entry like: newuser:    forwardeduser

Greetings

Fiksah
NOC GetOnTheAir Inc.
admin at irc.randmeer dot nl


On Mon, 15 Jan 2001, root wrote:

> I want to have mail, that comes in to a user on my mailserver
> to be automatically forwarded to another mailadress.
> how do i do this?
> i suspect that this is a sendmail matter, but im trying this
> list first.
> thanks
> /PJ
> 


Date: Mon, 15 Jan 2001 13:00:49 +0100 (CET)
From: <fikser at irc.randmeer dot nl>
Subject: Re: Forwarding

Heyas,

Ya can do this on 2 ways.
First, In the users homedir. ya can make a file .forward and put the email
adres in there that must be forwarded to.
second. goto /etc/mail/aliases
ya see there for example: root:   test
This says: the email of root is forwarded to user test.
Ya can make a new entry like: newuser:    forwardeduser
Then do /usr/bin/newaliases to reinitiate the alias dbase.
Greetings

Fiksah
NOC GetOnTheAir Inc.
admin at irc.randmeer dot nl



Date: Mon, 15 Jan 2001 12:08:30 +0100
From: =?iso-8859-1?Q?Jörg?= Bretschneider <sysadmin at cib.bau.tu-dresden dot de>
Subject: Re: Forwarding

At 11:02 15.01.01 +0100, you wrote:
>I want to have mail, that comes in to a user on my mailserver
>to be automatically forwarded to another mailadress.
>how do i do this?
>i suspect that this is a sendmail matter, but im trying this
>list first.
>thanks
>/PJ

You're right, this is a sendmail thing. You should use the sendmail aliases 
file and define the local address of your user as an alias for his other 
address. The syntax is
   localusername   :     remoteaddress
the file "aliases" usually resides in "/etc/mail". Don't forget to re-read 
the aliases file into the sendmail aliases database "aliases.db", usually 
done by giving
         $> newaliases
an the prompt, which is an shell synonym for
         $> sendmail -bi
Bye

Joerg

   Joerg Bretschneider
   Mathematician

   HP-UX + SAMBA system administrator
   Technical University of Dresden, Civil Engineering
   Chair of Applied Informatics in CE
   mail: sysadmin at cib.bau.tu-dresden dot de




   Joerg Bretschneider
   Mathematician

   HP-UX + SAMBA system administrator
   Technical University of Dresden, Civil Engineering
   Chair of Applied Informatics in CE
   mail: sysadmin at cib.bau.tu-dresden dot de



Date: Mon, 15 Jan 2001 07:27:41 -0600 (CST)
From: "Joseph W. Breu" <breu at cfu dot net>
Subject: Re: Forwarding

man aliases

On Mon, 15 Jan 2001, root wrote:

> I want to have mail, that comes in to a user on my mailserver
> to be automatically forwarded to another mailadress.
> how do i do this?
> i suspect that this is a sendmail matter, but im trying this
> list first.
> thanks
> /PJ
>

-- 
	Thanks,
	-Joseph W. Breu

-----------------------------------------------------------------------
 Joseph W. Breu          Systems Administrator / Cedar Falls Utilities
 phone: (319) 268-5228        Utility Parkway, Cedar Falls, Iowa 50613
---- Al Gore: "...I took the initiative in creating the Internet." ----


From: "Vigilante, Anthony" <anthony.vigilante at corp.bellsouth dot net>
Subject: too many popper processes
Date: Mon, 15 Jan 2001 10:43:17 -0500

Is their a way to limit the number of qpopper processes?
Our system sometimes spawns upwards of 400 popper 
processes which drives the cpu load very high. Is their 
a way to counteract this?

Any help would be greatly appreciated!

Thanks,
 Anthony

Date: Mon, 15 Jan 2001 10:54:23 -0500 (EST)
From: Jeff Earickson <jaearick at colby dot edu>
Subject: Re: too many popper processes

  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.

---559023410-824023566-979574063=:7537
Content-Type: TEXT/PLAIN; charset=US-ASCII

Hi,

The attached file is my patchfile to 3.1.2.  Among the several additional
features is the "with-loadlimit" feature, which is what you want/need.

The folks at Qualcomm seem comatose about picking up and adding the
features included in this patch.  I sent it in long ago....

** 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
----------------------------------------------------------------------------


---559023410-824023566-979574063=:7537
Content-Type: TEXT/PLAIN; charset=US-ASCII; name="diffs.312.to.322"
Content-Transfer-Encoding: BASE64
Content-ID: <Pine.SOL.4.31.0101151054230.7537 at cayuga.offices.its.colby dot edu>
Content-Description: 
Content-Disposition: attachment; filename="diffs.312.to.322"

IyBUaGlzIGlzIGEgcGF0Y2ggZm9yIHFwb3BwZXIzLjEuMiB0byB1cGRhdGUg
aXQgdG8gcXBvcHBlcjMuMi4yDQojIA0KIyBUbyBhcHBseSB0aGlzIHBhdGNo
Og0KIyBTVEVQIDE6IENoZGlyIHRvIHRoZSBzb3VyY2UgZGlyZWN0b3J5Lg0K
IyBTVEVQIDI6IFJ1biB0aGUgJ2FwcGx5cGF0Y2gnIHByb2dyYW0gd2l0aCB0
aGlzIHBhdGNoIGZpbGUgYXMgaW5wdXQuDQojDQojIElmIHlvdSBkbyBub3Qg
aGF2ZSAnYXBwbHlwYXRjaCcsIGl0IGlzIHBhcnQgb2YgdGhlICdtYWtlcGF0
Y2gnIHBhY2thZ2UNCiMgdGhhdCB5b3UgY2FuIGZldGNoIGZyb20gdGhlIENv
bXByZWhlbnNpdmUgUGVybCBBcmNoaXZlIE5ldHdvcms6DQojIGh0dHA6Ly93
d3cucGVybC5jb20vQ1BBTi9hdXRob3JzL0pvaGFuX1Zyb21hbnMvbWFrZXBh
dGNoLXgueS50YXIuZ3oNCiMgSW4gdGhlIGFib3ZlIFVSTCwgJ3gnIHNob3Vs
ZCBiZSAyIG9yIGhpZ2hlci4NCiMNCiMgVG8gYXBwbHkgdGhpcyBwYXRjaCB3
aXRob3V0IHRoZSB1c2Ugb2YgJ2FwcGx5cGF0Y2gnOg0KIyBTVEVQIDE6IENo
ZGlyIHRvIHRoZSBzb3VyY2UgZGlyZWN0b3J5Lg0KIyBJZiB5b3UgaGF2ZSBh
IGRlY2VudCBCb3VybmUtdHlwZSBzaGVsbDoNCiMgU1RFUCAyOiBSdW4gdGhl
IHNoZWxsIHdpdGggdGhpcyBmaWxlIGFzIGlucHV0Lg0KIyBJZiB5b3UgZG9u
J3QgaGF2ZSBzdWNoIGEgc2hlbGwsIHlvdSBtYXkgbmVlZCB0byBtYW51YWxs
eSBjcmVhdGUNCiMgdGhlIGZpbGVzIGFzIHNob3duIGJlbG93Lg0KIyBTVEVQ
IDM6IFJ1biB0aGUgJ3BhdGNoJyBwcm9ncmFtIHdpdGggdGhpcyBmaWxlIGFz
IGlucHV0Lg0KIw0KIyBUaGVzZSBhcmUgdGhlIGNvbW1hbmRzIG5lZWRlZCB0
byBjcmVhdGUvZGVsZXRlIGZpbGVzL2RpcmVjdG9yaWVzOg0KIw0KdG91Y2gg
J3BvcHBlci9kY2VfcHdlbnQuYycNCmNobW9kIDA2MDAgJ3BvcHBlci9kY2Vf
cHdlbnQuYycNCnRvdWNoICdwb3BwZXIvcG9wX2F1dGhkY2UuYycNCmNobW9k
IDA2MDAgJ3BvcHBlci9wb3BfYXV0aGRjZS5jJw0KIw0KIyBUaGlzIGNvbW1h
bmQgdGVybWluYXRlcyB0aGUgc2hlbGwgYW5kIG5lZWQgbm90IGJlIGV4ZWN1
dGVkIG1hbnVhbGx5Lg0KZXhpdA0KIw0KIyMjIyBFbmQgb2YgUHJlYW1ibGUg
IyMjIw0KDQojIyMjIFBhdGNoIGRhdGEgZm9sbG93cyAjIyMjDQpkaWZmIC1j
ICdxcG9wcGVyMy4xLjIvSU5TVEFMTCcgJ3Fwb3BwZXIzLjIuMi9JTlNUQUxM
Jw0KSW5kZXg6IC4vSU5TVEFMTA0KKioqIC4vSU5TVEFMTAlUdWUgT2N0IDEw
IDE5OjEwOjIzIDIwMDANCi0tLSAuL0lOU1RBTEwJVHVlIE5vdiAyMSAxMDox
Nzo1NiAyMDAwDQoqKioqKioqKioqKioqKioNCioqKiAxOTEsMTk3ICoqKioN
CiAgDQogICAtLXdpdGgtd2FybmluZ3MgICAgICAgICAgRW5hYmxlIGFkZGl0
aW9uYWwgY29tcGlsZXIgd2FybmluZ3MuDQogIA0KISAgLS1lbmFibGUtaGFz
aC1zcG9vbD0xfDIgIFVzZSBoYXNoZWQgc3Bvb2wgZGlyZWN0b3J5LiAgU2Vl
IA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhBU0hfU1BPT0wgaW4g
c2VjdGlvbiBNQUNST1MgZm9yIG1vcmUNCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbmZvcm1hdGlvbi4gIFRoZSBkZWZhdWx0IG1ldGhvZCBpcyAy
Lg0KICAgDQotLS0gMTkxLDE5OCAtLS0tDQogIA0KICAgLS13aXRoLXdhcm5p
bmdzICAgICAgICAgIEVuYWJsZSBhZGRpdGlvbmFsIGNvbXBpbGVyIHdhcm5p
bmdzLg0KICANCiEgIC0tZW5hYmxlLWhhc2gtc3Bvb2w9MXwyfDMgIA0KISAg
ICAgICAgICAgICAgICAgICAgICAgICAgIFVzZSBoYXNoZWQgc3Bvb2wgZGly
ZWN0b3J5LiAgU2VlIA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhB
U0hfU1BPT0wgaW4gc2VjdGlvbiBNQUNST1MgZm9yIG1vcmUNCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbmZvcm1hdGlvbi4gIFRoZSBkZWZhdWx0
IG1ldGhvZCBpcyAyLg0KICAgDQoqKioqKioqKioqKioqKioNCioqKiAyOTYs
MzAxICoqKioNCi0tLSAyOTcsMzE2IC0tLS0NCiAgIC0tZGlzYWJsZS11cGRh
dGUtYWJvcnQgICBEb2VzIG5vdCBnbyBpbnRvIFVQREFURSBzdGF0ZSBvbiBh
Ym9ydC4gIFVzZQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMg
dG8gY29tcGx5IHdpdGggUkZDIDE5MzkuDQogIA0KKyAgLS13aXRoLW5vbmF1
dGg9cGF0aCAgICAgIFNldCB0aGUgbm9uYXV0aG9yaXplZCB1c2VycyBmaWxl
IHBhdGguDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgRGVmYXVsdCBp
cyAvZXRjL3BvcC5ub25hdXRoLg0KKyANCisgIC0td2l0aC1hdXRoPXBhdGgg
ICAgICAgICBTZXQgdGhlIGF1dGhvcml6ZWQgdXNlcnMgZmlsZSBwYXRoLg0K
KyAgICAgICAgICAgICAgICAgICAgICAgICAgIERlZmF1bHQgaXMgIC9ldGMv
cG9wLmF1dGhvcml6ZWQuDQorIA0KKyAgLS13aXRoLWxvYWRsaW1pdD1sb2Fk
ICAgIEVuYWJsZSBsb2FkbGltaXQgZmVhdHVyZS4gIExvYWQgaXMgdGhlDQor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgbnVtZXJpY2FsIDEgbWludXRl
IGxvYWQgYXZlcmFnZSwgZ2VuZXJhbGx5DQorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgc2VlbiB2aWEgdGhlIHVzZXIgY29tbWFuZCAidXB0aW1lIi4g
IA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgIFNlZSBMT0FETElNSVQg
aW4gc2VjdGlvbiBNQUNST1MgZm9yDQorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgbW9yZSBpbmZvcm1hdGlvbi4gIERlZmF1bHQgPSAxNi4wDQorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgQ29udHJvbGxhYmxlIGF0IHJ1bnRp
bWUgb3B0aW9uICItbCIgKHNlZSBiZWxvdykuDQorIA0KKyANCiAgDQogIA0K
ICAzLiBSVU4tVElNRSBPUFRJT05TIChDT01NQU5EIExJTkUgT1BUSU9OUyk6
DQoqKioqKioqKioqKioqKioNCioqKiAzMDYsMzE0ICoqKioNCiAgDQogIFRo
ZSBmb2xsb3dpbmcgYXJlIHRoZSBjb21tYW5kIGxpbmUgb3B0aW9ucyB5b3Ug
Y2FuIHVzZS4NCiAgDQohIHBvcHBlciBbLWIgYnVsbGRpciBbLUJdIFstY10g
Wy1kXSBbLUQgZHJhYy1ob3N0XSANCiAgICAgICAgIFstZSBsb2dpbl9kZWxh
eT1ubixleHBpcmU9bm5dIFstZiBjb25maWctZmlsZV0gWy1rXSBbLUsgc2Vy
dmljZV0NCiEgICAgICAgIFstc10gWy1TXSBbLXQgdHJhY2UtZmlsZV0gWy1U
IHRpbWVvdXRdIFstdV0gWy1SXQ0KICANCiAgTm90ZSB0aGF0IHNvbWUgc3lz
dGVtcyBtYXkgaGF2ZSBsaW1pdGF0aW9ucyBvbiB0aGUgbGVuZ3RoIG9yDQog
IG51bWJlciBvZiBjb21tYW5kIGxpbmUgYXJndW1lbnRzIGluIGluZXRkLmNv
bmYuICAoRm9yIGV4YW1wbGUsDQotLS0gMzIxLDMyOSAtLS0tDQogIA0KICBU
aGUgZm9sbG93aW5nIGFyZSB0aGUgY29tbWFuZCBsaW5lIG9wdGlvbnMgeW91
IGNhbiB1c2UuDQogIA0KISBwb3BwZXIgWy1hIGFjY2Vzc3RpbWVdIFstYiBi
dWxsZGlyXSBbLUJdIFstY10gWy1kXSBbLUQgZHJhYy1ob3N0XSANCiAgICAg
ICAgIFstZSBsb2dpbl9kZWxheT1ubixleHBpcmU9bm5dIFstZiBjb25maWct
ZmlsZV0gWy1rXSBbLUsgc2VydmljZV0NCiEgICAgICAgIFstbCBsb2FkX2F2
ZV0gWy1zXSBbLVNdIFstdCB0cmFjZS1maWxlXSBbLVQgdGltZW91dF0gWy11
XSBbLVJdDQogIA0KICBOb3RlIHRoYXQgc29tZSBzeXN0ZW1zIG1heSBoYXZl
IGxpbWl0YXRpb25zIG9uIHRoZSBsZW5ndGggb3INCiAgbnVtYmVyIG9mIGNv
bW1hbmQgbGluZSBhcmd1bWVudHMgaW4gaW5ldGQuY29uZi4gIChGb3IgZXhh
bXBsZSwNCioqKioqKioqKioqKioqKg0KKioqIDMxOSwzMjQgKioqKg0KLS0t
IDMzNCwzNDcgLS0tLQ0KICBkZXRhaWxzLCBhbmQgdGhlIGZvbGxvd2luZyBz
ZWN0aW9uICJSVU4tVElNRSBPUFRJT05TIChDT05GSUcgRklMRSkiDQogIGZv
ciBkZXRhaWxzLg0KICANCisgLWEgYWNjZXNzdGltZSAgVGhlIG1pbmltdW0g
YWxsb3dhYmxlIGFjY2VzcyB0aW1lIGJldHdlZW4gc3VjY2Vzc2l2ZQ0KKyAg
ICAgICAgICAgICAgICBtYWlsIGNoZWNrcywgc3BlY2lmaWVkIGluIGludGVn
ZXIgc2Vjb25kcy4gIFRoaXMNCisgICAgICAgICAgICAgICAgbWVjaGFuaXNt
IG9ubHkgd29ya3MgaWYgS0VFUF9URU1QX0RST1AgaXMgZGVmaW5lZCwNCisg
ICAgICAgICAgICAgICAgYmVjYXVzZSB0aGUgbWV0aG9kIGNvbXBhcmVzIHRo
ZSB0aW1lc3RhbXAgb24gdGhlDQorICAgICAgICAgICAgICAgIGRyb3BmaWxl
IHRvIHRoZSBjdXJyZW50IHRpbWUuICBVc2VkIHRvIGtlZXAgcGVvcGxlDQor
ICAgICAgICAgICAgICAgIGZyb20gYmVhdGluZyBvbiB5b3VyIFBPUCBzZXJ2
ZXIuICBBIHNtYWxsIHZhbHVlDQorICAgICAgICAgICAgICAgICgxMCB0byA3
MCBzZWNvbmRzKSBzaG91bGQgYmUgdXNlZC4NCisgDQogIC1iIGJ1bGxkaXIg
ICAgIFRoaXMgaXMgdGhlIGxvY2F0aW9uIG9mIHRoZSBidWxsZXRpbiANCiAg
ICAgICAgICAgICAgICAgZGlyZWN0b3J5LiAgVGhlIGNvbW1hbmQgbGluZSBv
dmVycmlkZXMgdGhlIA0KICAgICAgICAgICAgICAgICBjb21waWxlZCB2YWx1
ZSBpZiBpdCBpcyBkZWZpbmVkLiAgIA0KKioqKioqKioqKioqKioqDQoqKiog
MzcyLDM3NyAqKioqDQotLS0gMzk1LDQwOCAtLS0tDQogICAgICAgICAgICAg
ICAgIEtFUkJFUk9TX1NFUlZJQ0UgZGVmaW5lKS4gIFRoZSBkZWZhdWx0IGlz
ICJyY21kIiwNCiAgICAgICAgICAgICAgICAgYWx0aG91Z2ggdGhlIHVzZSBv
ZiAicG9wIiBpcyBwb3B1bGFyLg0KICANCisgLWwgbG9hZF9hdmUgICAgUmVm
dXNlIFBPUCBjb25uZWN0aW9ucyBpZiB0aGUgc3lzdGVtIG9uZS1taW51dGUg
bG9hZA0KKyAgICAgICAgICAgICAgICBhdmVyYWdlIChhcyBnZW5lcmFsbHkg
c2VlbiB2aWEgdGhlIGNvbW1hbmQgInVwdGltZSIpDQorICAgICAgICAgICAg
ICAgIGlzIGhpZ2hlciB0aGFuIHRoZSBmbG9hdGluZyBwb2ludCBudW1iZXIg
ImxvYWRfYXZlIi4NCisgICAgICAgICAgICAgICAgV29ya3Mgb24gSFAtVVgg
MTAuMjAgYW5kIDExLjAgc3lzdGVtcywgYW5kIGFueSBzeXN0ZW0NCisgICAg
ICAgICAgICAgICAgc3VwcG9ydGluZyB0aGUgZ2V0bG9hZGF2ZygpIGNhbGwg
KGVnLCBTb2xhcmlzKS4gIFVzZWQNCisgICAgICAgICAgICAgICAgdG8gcHJl
dmVudCBQT1AgY29ubmVjdGlvbnMgZnJvbSBvdmVyd2hlbG1pbmcgeW91cg0K
KyAgICAgICAgICAgICAgICBzeXN0ZW0uDQorIA0KICAtcCAwfDF8MnwzICAg
ICBTZXQgY2xlYXIgdGV4dCBoYW5kbGluZyBvcHRpb25zIHdoZW4gQVBPUCBp
cw0KICAgICAgICAgICAgICAgICBhdmFpbGFibGU6IDAgaXMgZGVmYXVsdCAo
Y2xlYXIgdGV4dCBwYXNzd29yZHMgb25seQ0KICAgICAgICAgICAgICAgICBw
ZXJtaXR0ZWQgZm9yIHVzZXJzIG5vdCBpbiB0aGUgQVBPUCBkYXRhYmFzZSk7
IDEgbWVhbnMNCioqKioqKioqKioqKioqKg0KKioqIDk1MSw5NTcgKioqKg0K
ICANCiAgbikgS0VFUF9URU1QX0RST1AgLS0gS2VlcCB0aGUgLnVzZXIucG9w
IGZpbGUuICBJdCANCiAgY2FuIGRldGVybWluZSB0aGUgbGFzdCB0aW1lIGEg
dXNlciBoYXMgYWNjZXNzZWQgDQohIGhpcy9oZXIgbWFpbC4NCiAgDQogIG8p
IEJJTkQ0MyAtLSBCU0QgNC4zIGlzIGEgZG9tYWluIG5hbWUgc2VydmljZS4N
CiAgDQotLS0gOTgyLDk4OSAtLS0tDQogIA0KICBuKSBLRUVQX1RFTVBfRFJP
UCAtLSBLZWVwIHRoZSAudXNlci5wb3AgZmlsZS4gIEl0IA0KICBjYW4gZGV0
ZXJtaW5lIHRoZSBsYXN0IHRpbWUgYSB1c2VyIGhhcyBhY2Nlc3NlZCANCiEg
aGlzL2hlciBtYWlsLiAgQWxzbyBzZWUgdGhlIHJ1bnRpbWUgb3B0aW9uICIt
YSIgZm9yDQohIGFjY2Vzc190aW1lLg0KICANCiAgbykgQklORDQzIC0tIEJT
RCA0LjMgaXMgYSBkb21haW4gbmFtZSBzZXJ2aWNlLg0KICANCioqKioqKioq
KioqKioqKg0KKioqIDEwMDgsMTAyMyAqKioqDQogIGRlZmF1bHQgYmVoYXZp
b3IsIGFuZCBvYmV5IFJGQyAxOTM5LiAgQ29uZmlndXJlDQogIGZsYWc6IC0t
ZGlzYWJsZS11cGRhdGUtYWJvcnQuDQogIA0KISB5KSBIQVNIX1NQT09MPSgx
fDIpIC0tIE1haWwgaXMgZGVwb3NpdGVkIGludG8gdGhlIA0KISBtYWlsc3Bv
b2xzIGJ5IGVpdGhlciAoMSkgaGFzaGluZyB0aGUgZmlyc3QgNCANCiEgY2hh
cmFjdGVycyBvciAoMikgYnkgdXNpbmcgbWFpbHNwb29scyBpbiANCiEgZGly
ZWN0b3JpZXMgYXMgaW4gdGhlIGZvbGxvd2luZzogIC88MXN0IA0KISBsZXR0
ZXI+LzwybmQgbGV0dGVyPi9maWxlLiAgRm9yIGV4YW1wbGUsIGlmIHRoZQ0K
ISBzcG9vbCBkaXJlY3RvcnkgaXMgIi92YXIvbWFpbCIsIHRoZSBzcG9vbCBm
aWxlIGZvcg0KISB1c2VyICJtYWlkYSIgd291bGQgYmU6DQogICAgIC92YXIv
bWFpbC9tYWlkYSAgICAgICAgICBIQVNIX1NQT09MIG5vdCBzZXQNCiAgICAg
L3Zhci9tYWlsL28vbWFpZGEgICAgICAgIEhBU0hfU1BPT0w9MQ0KICAgICAv
dmFyL21haWwvbS9hL21haWRhICAgICAgSEFTSF9TUE9PTD0yDQogIA0KICBV
c2UgdGhlIC0tZW5hYmxlLWhhc2gtc3Bvb2wgY29uZmlndXJlIGZsYWcgdG8g
c2V0DQogIHRoaXMuDQotLS0gMTA0MCwxMDU3IC0tLS0NCiAgZGVmYXVsdCBi
ZWhhdmlvciwgYW5kIG9iZXkgUkZDIDE5MzkuICBDb25maWd1cmUNCiAgZmxh
ZzogLS1kaXNhYmxlLXVwZGF0ZS1hYm9ydC4NCiAgDQohIHkpIEhBU0hfU1BP
T0w9KDF8MnwzKSAtLSBNYWlsIGlzIGRlcG9zaXRlZCBpbnRvIHRoZQ0KISBt
YWlsc3Bvb2xzIGJ5IGVpdGhlciAoMSkgaGFzaGluZyB0aGUgZmlyc3QgNA0K
ISBjaGFyYWN0ZXJzLCAoMikgYnkgdXNpbmcgbWFpbHNwb29scyBpbg0KISBk
aXJlY3RvcmllcyBhcyBpbiB0aGUgZm9sbG93aW5nOiAgLzwxc3QNCiEgbGV0
dGVyPi88Mm5kIGxldHRlcj4vZmlsZSwgb3IgKDMpIGJ5IGp1c3QgdXNpbmcg
dGhlDQohIGZpcnN0IGxldHRlciBvZiB0aGUgdXNlcmlkIGFzIHRoZSBzdWJk
aXJlY3RvcnkuDQohIEZvciBleGFtcGxlLCBpZiB0aGUgc3Bvb2wgZGlyZWN0
b3J5IGlzICIvdmFyL21haWwiLA0KISB0aGUgc3Bvb2wgZmlsZSBmb3IgdXNl
ciAibWFpZGEiIHdvdWxkIGJlOg0KICAgICAvdmFyL21haWwvbWFpZGEgICAg
ICAgICAgSEFTSF9TUE9PTCBub3Qgc2V0DQogICAgIC92YXIvbWFpbC9vL21h
aWRhICAgICAgICBIQVNIX1NQT09MPTENCiAgICAgL3Zhci9tYWlsL20vYS9t
YWlkYSAgICAgIEhBU0hfU1BPT0w9Mg0KKyAgICAvdmFyL21haWwvbS9tYWlk
YSAgICAgICAgSEFTSF9TUE9PTD0zDQogIA0KICBVc2UgdGhlIC0tZW5hYmxl
LWhhc2gtc3Bvb2wgY29uZmlndXJlIGZsYWcgdG8gc2V0DQogIHRoaXMuDQoq
KioqKioqKioqKioqKioNCioqKiAxMDc2LDEwODEgKioqKg0KLS0tIDExMTAs
MTEyMyAtLS0tDQogIGFoKSBUUkFDRV9NU0dfQk9EWSAtLSBEZWZpbmUgdG8g
aW5jbHVkZSBtZXNzYWdlIGJvZGllcyBpbg0KICB0cmFjZSBpbmZvcm1hdGlv
biB3cml0dGVuIHdpdGggLXQgb3IgLWQgcnVuLXRpbWUgZmxhZy4NCiAgDQor
IGFjKSBMT0FETElNSVQgLS0gRGVmaW5lIGEgZmxvYXRpbmcgcG9pbnQgdmFs
dWUgaWYgeW91IHdhbnQNCisgcXBvcHBlciB0byByZWZ1c2UgY29ubmVjdGlv
bnMgd2hlbmV2ZXIgdGhlIDEtbWludXRlIGxvYWQgYXZlcmFnZQ0KKyAoZ2Vu
ZXJhbGx5IHNlZW4gdmlhICJ1cHRpbWUiKSBnb2VzIGFib3ZlIHRoZSBjaG9z
ZW4gdmFsdWUuDQorIFRoaXMgZmVhdHVyZSBrZWVwcyB5b3VyIHN5c3RlbSBm
cm9tIGZhbGxpbmcgb3ZlciBpZiB5b3UgdGFrZQ0KKyBsb3RzIG9mIHBvcCBj
b25uZWN0aW9ucyBhbmQgeW91ciBzeXN0ZW0gbG9hZCBnb2VzIHdheSB1cC4N
CisgV29ya3Mgb24gYW55IHN5c3RlbSBzdXBwb3J0aW5nIHRoZSBnZXRsb2Fk
YXZnKDMpIGNhbGwgKGVnLCANCisgU29sYXJpczIgc3lzdGVtcyksIGFuZCBv
biBhbnkgSFBVWCAxMC54IG9yIDExLnggc3lzdGVtLiAgQ29kaW5nDQorIGlz
IG5lZWRlZCB0byBzdXBwb3J0IG90aGVyIGJyYW5kcyBvZiBVTklYLg0KICAN
CiAgDQogIE5PVEVTOg0KZGlmZiAtYyAncXBvcHBlcjMuMS4yL2NvbW1vbi9n
ZW5wYXRoLmMnICdxcG9wcGVyMy4yLjIvY29tbW9uL2dlbnBhdGguYycNCklu
ZGV4OiAuL2NvbW1vbi9nZW5wYXRoLmMNCioqKiAuL2NvbW1vbi9nZW5wYXRo
LmMJRnJpIFNlcCAgOCAyMDoyODoxOSAyMDAwDQotLS0gLi9jb21tb24vZ2Vu
cGF0aC5jCVR1ZSBOb3YgMjEgMTA6MTc6NTYgMjAwMA0KKioqKioqKioqKioq
KioqDQoqKiogOTYsMTAxICoqKioNCi0tLSA5NiwxMDUgLS0tLQ0KICAgKiAg
ICAgICAgICAgIHRvIG9wZW4uICBFZzogL3Vzci9zcG9vbC91L3MvdXNlci4N
CiAgICogICAgICAgICAgICBMYXJyeSBTY2h3aW1tZXIgPHJvc2VidWRAY3lj
bG9uZS5zdGFuZm9yZC5lZHU+DQogICAqDQorICAqIE1ldGhvZCAzIC0gVXNl
IHRoZSBmaXJzdCBjaGFyYWN0ZXIgb25seSwgc28geW91IGhhdmUgMjYgc3Vi
ZGlyZWN0b3JpZXMsDQorICAqICAgICAgICAgICAgRWcsIC92YXIvc3Bvb2wv
ai9qb2VibG93DQorICAqICAgICAgICAgICAgQWxzbywgcHV0cyB0aGUgZHJv
cGZpbGUgaW4gL3Zhci9zcG9vbC9qL3BvcC8uam9lYmxvdy5wb3ANCisgICoN
CiAgICogQWxsIHRoZXNlIG1ldGhvZHMgcmVxdWlyZSB0aGF0IGxvY2FsIG1h
aWwgZGVsaXZlcnkgYW5kIGNsaWVudCBwcm9ncmFtcw0KICAgKiB1c2UgdGhl
IHNhbWUgYWxnb3JpdGhtLiAgT25seSBvbmUgbWV0aG9kIHRvIGEgY3VzdG9t
ZXIgOi0pDQogICAqLw0KKioqKioqKioqKioqKioqDQoqKiogMjAwLDIwNyAq
KioqDQogICAgICByZXR1cm4gMTsNCiAgfQ0KICANCiEgI2VuZGlmDQohICNp
ZiAoSEFTSF9TUE9PTCA9PSAyKQ0KICANCiAgaW50IA0KICBnZW5wYXRoICgg
Y2hhciAqcHN6VXNlciwgY2hhciAqcHN6RHJvcCwgaW50IGlEcm9wTGVuLCBH
TlBIX1dISUNIIGlXaGljaCwNCi0tLSAyMDQsMjEwIC0tLS0NCiAgICAgIHJl
dHVybiAxOw0KICB9DQogIA0KISAjZWxpZiAoSEFTSF9TUE9PTCA9PSAyKSB8
fCAoSEFTSF9TUE9PTCA9PSAzKQ0KICANCiAgaW50IA0KICBnZW5wYXRoICgg
Y2hhciAqcHN6VXNlciwgY2hhciAqcHN6RHJvcCwgaW50IGlEcm9wTGVuLCBH
TlBIX1dISUNIIGlXaGljaCwNCioqKioqKioqKioqKioqKg0KKioqIDIyNCwy
NDAgKioqKg0KLS0tIDIyNywyNTUgLS0tLQ0KICAgICAgICAgIHJldHVybiAt
MTsNCiAgICAgIH0NCiAgICAgIA0KKyAjaWYgKEhBU0hfU1BPT0wgPT0gMykN
CisgICAgIFFzcHJpbnRmICggcHN6RHJvcCwgIiVzLyVjLyIsDQorICAgICAg
ICAgICAgICAgKGlXaGljaCAhPSBHTlBIX1BPUCA/IFBPUF9NQUlMRElSIDog
UE9QX0RST1BfRElSKSwNCisgICAgICAgICAgICAgICAqcHN6VXNlcik7DQor
ICNlbHNlDQogICAgICBRc3ByaW50ZiAoIHBzekRyb3AsICIlcy8lYy8lYy8i
LCANCiAgICAgICAgICAgICAgICAoaVdoaWNoICE9IEdOUEhfUE9QID8gUE9Q
X01BSUxESVIgOiBQT1BfRFJPUF9ESVIpLA0KICAgICAgICAgICAgICAgICpw
c3pVc2VyLCANCiAgICAgICAgICAgICAgICAqKHBzelVzZXIrMSkgPyAqKHBz
elVzZXIrMSkgOiAqcHN6VXNlciApOw0KKyAjZW5kaWYNCiAgDQogICAgICBz
d2l0Y2ggKCBpV2hpY2ggKSB7DQogICAgICAgICAgY2FzZSBHTlBIX1NQT09M
OiAgLyogc3Bvb2wgZmlsZSAqLw0KICAgICAgICAgICAgICBzdHJsY2F0ICgg
cHN6RHJvcCwgcHN6VXNlciwgaURyb3BMZW4gKTsNCiAgICAgICAgICAgICAg
YnJlYWs7DQogICAgICAgICAgY2FzZSBHTlBIX1BPUDogICAgLyogLnBvcCBm
aWxlICAqLw0KKyAjaWYgKEhBU0hfU1BPT0wgPT0gMykNCisgICAgICAgICAg
ICAgUXNwcmludGYgKCBwc3pEcm9wLCAiJXMvJWMvcG9wLy4lcy5wb3AiLA0K
KyAgICAgICAgICAgICAgIChpV2hpY2ggIT0gR05QSF9QT1AgPyBQT1BfTUFJ
TERJUiA6IFBPUF9EUk9QX0RJUiksDQorICAgICAgICAgICAgICAgKnBzelVz
ZXIscHN6VXNlcik7DQorICNlbHNlDQogICAgICAgICAgICAgIFFzcHJpbnRm
ICggcHN6RHJvcCArIHN0cmxlbihwc3pEcm9wKSwgUE9QX0RST1AsIHBzelVz
ZXIgKTsNCisgI2VuZGlmDQogICAgICAgICAgICAgIGJyZWFrOw0KICAgICAg
ICAgIGNhc2UgR05QSF9UTVA6ICAgIC8qIHRtcHh4eHggICAgKi8NCiAgICAg
ICAgICAgICAgc3RybGNhdCAoIHBzekRyb3AsIFBPUF9UTVBEUk9QLCBpRHJv
cExlbiApOw0KKioqKioqKioqKioqKioqDQoqKiogMjc1LDI4MiAqKioqDQog
ICAgICByZXR1cm4gMTsNCiAgfQ0KICANCiEgI2VuZGlmDQohICNpZiAoSEFT
SF9TUE9PTCAhPSAxICYmIEhBU0hfU1BPT0wgIT0gMikNCiAgDQogIGludCAN
CiAgZ2VucGF0aCAoIGNoYXIgKnBzelVzZXIsIGNoYXIgKnBzekRyb3AsIGlu
dCBpRHJvcExlbiwgR05QSF9XSElDSCBpV2hpY2gsDQotLS0gMjkwLDI5NiAt
LS0tDQogICAgICByZXR1cm4gMTsNCiAgfQ0KICANCiEgI2Vsc2UgIC8qIGVu
ZCBvZiBIQVNIX1NQT09MIG1ldGhvZHMgKi8NCiAgDQogIGludCANCiAgZ2Vu
cGF0aCAoIGNoYXIgKnBzelVzZXIsIGNoYXIgKnBzekRyb3AsIGludCBpRHJv
cExlbiwgR05QSF9XSElDSCBpV2hpY2gsDQpkaWZmIC1jICdxcG9wcGVyMy4x
LjIvY29uZmlnLmguaW4nICdxcG9wcGVyMy4yLjIvY29uZmlnLmguaW4nDQpJ
bmRleDogLi9jb25maWcuaC5pbg0KKioqIC4vY29uZmlnLmguaW4JVGh1IE9j
dCAxMiAxMjo1NTo1OSAyMDAwDQotLS0gLi9jb25maWcuaC5pbglUdWUgTm92
IDIxIDEwOjE3OjU2IDIwMDANCioqKioqKioqKioqKioqKg0KKioqIDE2NCwx
NjkgKioqKg0KLS0tIDE2NCwxNzggLS0tLQ0KICAvKiBEZWZpbmUgaWYgeW91
IGhhdmUgdGhlIDxkYm0uaD4gaGVhZGVyIGZpbGUuICAqLw0KICAjdW5kZWYg
SEFWRV9EQk1fSA0KICANCisgLyogRGVmaW5lIGlmIHlvdSBoYXZlIHRoZSA8
ZGNlL2RjZV9lcnJvci5oPiBoZWFkZXIgZmlsZS4gICovDQorICN1bmRlZiBI
QVZFX0RDRV9EQ0VfRVJST1JfSA0KKyANCisgLyogRGVmaW5lIGlmIHlvdSBo
YXZlIHRoZSA8ZGNlL3JwYy5oPiBoZWFkZXIgZmlsZS4gICovDQorICN1bmRl
ZiBIQVZFX0RDRV9SUENfSA0KKyANCisgLyogRGVmaW5lIGlmIHlvdSBoYXZl
IHRoZSA8ZGNlL3NlY19sb2dpbi5oPiBoZWFkZXIgZmlsZS4gICovDQorICN1
bmRlZiBIQVZFX0RDRV9TRUNfTE9HSU5fSA0KKyANCiAgLyogRGVmaW5lIGlm
IHlvdSBoYXZlIHRoZSA8ZGlyZW50Lmg+IGhlYWRlciBmaWxlLiAgKi8NCiAg
I3VuZGVmIEhBVkVfRElSRU5UX0gNCiAgDQoqKioqKioqKioqKioqKioNCioq
KiAyODIsMjg3ICoqKioNCi0tLSAyOTEsMzA4IC0tLS0NCiAgLyogRGVmaW5l
IGlmIHlvdSB3YW50IHN1Y2Nlc3NmdWwgYXV0aGVudGljYXRpb25zIHRvIGJl
IGxvZ2dlZCAqLw0KICAjdW5kZWYgTE9HX0xPR0lODQogIA0KKyAvKiBEZWZp
bmUgaWYgeW91IHVzZSB0aGUgIm5vdCBhdXRob3JpemVkIHRvIHVzZSIgKC9l
dGMvcG9wLm5vbmF1dGgpIGZpbGUgKi8NCisgI3VuZGVmIE5PTkFVVEhGSUxF
DQorIA0KKyAvKiBEZWZpbmUgaWYgeW91IHVzZSB0aGUgImF1dGhvcml6ZWQi
IGZpbGUgKi8NCisgI3VuZGVmIEFVVEhGSUxFDQorIA0KKyAvKiBEZWZpbmUg
aWYgeW91IHVzZSB0aGUgbG9hZC1saW1pdCBtZWNoYW5pc20gdG8gcHJldmVu
dCBoaWdoIG1hY2hpbmUgbG9hZHMgKi8NCisgI3VuZGVmIExPQURMSU1JVA0K
KyANCisgLyogRGVmaW5lIGlmIHlvdSB1c2UgRENFICovDQorICN1bmRlZiBE
Q0UNCisgDQogIC8qIA0KICAgKiBEZWZpbmUgaWYgeW91IHdhbnQgdG8gYXV0
b21hdGljYWxseSBkZWxldGUgUkVUUmQgbWVzc2FnZXMuDQogICAqIENhdXRp
b246IFRoaXMgY291bGQgY2F1c2UgbG9zdCBtYWlsLiAgQmUgc3VyZSB1c2Vy
cyBhcmUNCioqKioqKioqKioqKioqKg0KKioqIDM4MCwzOTIgKioqKg0KICAj
dW5kZWYgU1BFQ19QT1BfQVVUSA0KICANCiAgLyoNCiEgICogRGVmaW5lIGFu
ZCBzZXQgdG8gMSBvciAyIHRvIHVzZSBoYXNoZWQgc3Bvb2wgZGlyZWN0b3Jp
ZXMuICBWYWx1ZQ0KICAgKiAxIGhhc2hlcyB0aGUgZmlyc3QgNCBjaGFyYWN0
ZXJzOyB2YWx1ZSAyIHVzZXMgLzwxc3QgbGV0dGVyPi8NCiAgICogPDJuZCBs
ZXR0ZXI+LiAgRm9yIGV4YW1wbGUsIGlmIHRoZSBzcG9vbCBkaXJlY3Rvcnkg
aXMgIi92YXIvbWFpbCIsIA0KICAgKiB0aGUgc3Bvb2wgZmlsZSBmb3IgdXNl
ciAibWFpZGEiIHdvdWxkIGJlOg0KICAgKiAgICAgL3Zhci9tYWlsL21haWRh
ICAgICAgICAgIEhBU0hfU1BPT0wgbm90IHNldA0KICAgKiAgICAgL3Zhci9t
YWlsL28vbWFpZGEgICAgICAgIEhBU0hfU1BPT0w9MQ0KICAgKiAgICAgL3Zh
ci9tYWlsL20vYS9tYWlkYSAgICAgIEhBU0hfU1BPT0w9Mg0KICAgKi8NCiAg
I3VuZGVmIEhBU0hfU1BPT0wNCiAgDQotLS0gNDAxLDQxNCAtLS0tDQogICN1
bmRlZiBTUEVDX1BPUF9BVVRIDQogIA0KICAvKg0KISAgKiBEZWZpbmUgYW5k
IHNldCB0byAxLCAyLCBvciAzIHRvIHVzZSBoYXNoZWQgc3Bvb2wgZGlyZWN0
b3JpZXMuICBWYWx1ZQ0KICAgKiAxIGhhc2hlcyB0aGUgZmlyc3QgNCBjaGFy
YWN0ZXJzOyB2YWx1ZSAyIHVzZXMgLzwxc3QgbGV0dGVyPi8NCiAgICogPDJu
ZCBsZXR0ZXI+LiAgRm9yIGV4YW1wbGUsIGlmIHRoZSBzcG9vbCBkaXJlY3Rv
cnkgaXMgIi92YXIvbWFpbCIsIA0KICAgKiB0aGUgc3Bvb2wgZmlsZSBmb3Ig
dXNlciAibWFpZGEiIHdvdWxkIGJlOg0KICAgKiAgICAgL3Zhci9tYWlsL21h
aWRhICAgICAgICAgIEhBU0hfU1BPT0wgbm90IHNldA0KICAgKiAgICAgL3Zh
ci9tYWlsL28vbWFpZGEgICAgICAgIEhBU0hfU1BPT0w9MQ0KICAgKiAgICAg
L3Zhci9tYWlsL20vYS9tYWlkYSAgICAgIEhBU0hfU1BPT0w9Mg0KKyAgKiAg
ICAgL3Zhci9tYWlsL20vbWFpZGEgICAgICAgIEhBU0hfU1BPT0w9MyAoZmly
c3QgbGV0dGVyIG9mIHVzZXJpZCkNCiAgICovDQogICN1bmRlZiBIQVNIX1NQ
T09MDQogIA0KZGlmZiAtYyAncXBvcHBlcjMuMS4yL2NvbmZpZ3VyZS5pbicg
J3Fwb3BwZXIzLjIuMi9jb25maWd1cmUuaW4nDQpJbmRleDogLi9jb25maWd1
cmUuaW4NCioqKiAuL2NvbmZpZ3VyZS5pbglTYXQgTm92IDExIDIxOjM3OjIx
IDIwMDANCi0tLSAuL2NvbmZpZ3VyZS5pbglUdWUgTm92IDIxIDEwOjE3OjU2
IDIwMDANCioqKioqKioqKioqKioqKg0KKioqIDQ0MCw0NDkgKioqKg0KICBm
aQ0KICANCiAgDQohIEFDX0FSR19FTkFCTEUoaGFzaC1zcG9vbCwgWyAtLWVu
YWJsZS1oYXNoLXNwb29sPTF8MiAgRW5hYmxlIGhhc2hlZCBzcG9vbCBkaXJl
Y3RvcmllcyBbMl0gXSwgDQogICAgICAgICAgICAgICAgaGFzaHNwb29sPSIk
ZW5hYmxldmFsIiwgaGFzaHNwb29sPSJubyIpDQogIGlmIHRlc3QgIiRoYXNo
c3Bvb2wiICE9ICJubyI7IHRoZW4NCiEgICAgIGlmIHRlc3QgIiRoYXNoc3Bv
b2wiID0gIjEiIC1vICIkaGFzaHNwb29sIiA9ICIyIiA7IHRoZW4gDQogICAg
ICAgICAgQUNfTVNHX1JFU1VMVChVc2luZyBoYXNoZWQgc3Bvb2wgZGlyZWN0
b3J5IG1ldGhvZCAkaGFzaHNwb29sKQ0KICAgICAgICAgIEFDX0RFRklORV9V
TlFVT1RFRChIQVNIX1NQT09MLCAkaGFzaHNwb29sKQ0KICAgICAgZWxzZSAg
DQotLS0gNDQwLDQ0OSAtLS0tDQogIGZpDQogIA0KICANCiEgQUNfQVJHX0VO
QUJMRShoYXNoLXNwb29sLCBbIC0tZW5hYmxlLWhhc2gtc3Bvb2w9MXwyfDMg
IEVuYWJsZSBoYXNoZWQgc3Bvb2wgZGlyZWN0b3JpZXMgWzJdIF0sIA0KICAg
ICAgICAgICAgICAgIGhhc2hzcG9vbD0iJGVuYWJsZXZhbCIsIGhhc2hzcG9v
bD0ibm8iKQ0KICBpZiB0ZXN0ICIkaGFzaHNwb29sIiAhPSAibm8iOyB0aGVu
DQohICAgICBpZiB0ZXN0ICIkaGFzaHNwb29sIiA9ICIxIiAtbyAiJGhhc2hz
cG9vbCIgPSAiMiIgLW8gIiRoYXNoc3Bvb2wiID0gIjMiIDsgdGhlbiANCiAg
ICAgICAgICBBQ19NU0dfUkVTVUxUKFVzaW5nIGhhc2hlZCBzcG9vbCBkaXJl
Y3RvcnkgbWV0aG9kICRoYXNoc3Bvb2wpDQogICAgICAgICAgQUNfREVGSU5F
X1VOUVVPVEVEKEhBU0hfU1BPT0wsICRoYXNoc3Bvb2wpDQogICAgICBlbHNl
ICANCioqKioqKioqKioqKioqKg0KKioqIDUxMiw1MTcgKioqKg0KLS0tIDUx
Miw1NzUgLS0tLQ0KICAgICAgQUNfREVGSU5FKFVTRV9CVUxMX0dST1VQUykN
CiAgZmkNCiAgDQorIGRubC0tLWxvY2F0aW9uIG9mIG5vbmF1dGhvcml6ZWQg
dXNlcnMgZmlsZQ0KKyBBQ19BUkdfV0lUSChub25hdXRoLCBbIC0td2l0aC1u
b25hdXRoPXBhdGggICAgICBTZXQgdGhlIG5vbmF1dGhvcml6ZWQgdXNlcnMg
ZmlsZSBwYXRoIFsvZXRjL3BvcC5ub25hdXRoXV0sDQorIAlub25hdXRoPSR3
aXRodmFsLCBub25hdXRoPSJubyIpDQorIGlmIHRlc3QgIiRub25hdXRoIiAh
PSAibm8iIDsgdGhlbg0KKyAJaWYgdGVzdCAteiAiJG5vbmF1dGgiIDsgdGhl
bg0KKyAJCUFDX01TR19SRVNVTFQoTm9uYXV0aG9yaXplZCB1c2VycyBmaWxl
IC9ldGMvcG9wLm5vbmF1dGggZW5hYmxlZCkNCisgCQlBQ19ERUZJTkVfVU5R
VU9URUQoTk9OQVVUSEZJTEUsIi9ldGMvcG9wLm5vbmF1dGgiKQ0KKyAJZWxz
ZQ0KKyAJCUFDX01TR19SRVNVTFQoTm9uYXV0aG9yaXplZCB1c2VycyBmaWxl
ICRub25hdXRoIGVuYWJsZWQpDQorIAkJQUNfREVGSU5FX1VOUVVPVEVEKE5P
TkFVVEhGSUxFLCIkbm9uYXV0aCIpDQorIAlmaQ0KKyBmaQ0KKyANCisgZG5s
LS0tbG9jYXRpb24gb2YgYXV0aG9yaXplZCB1c2VycyBmaWxlDQorIEFDX0FS
R19XSVRIKGF1dGgsIFsgLS13aXRoLWF1dGg9cGF0aAkgIFNldCB0aGUgYXV0
aG9yaXplZCB1c2VycyBmaWxlIHBhdGggWy9ldGMvcG9wLmF1dGhvcml6ZWRd
XSwNCisgCWF1dGg9JHdpdGh2YWwsIGF1dGg9Im5vIikNCisgaWYgdGVzdCAi
JGF1dGgiICE9ICJubyIgOyB0aGVuDQorIAlpZiB0ZXN0IC16ICIkYXV0aCIg
OyB0aGVuDQorIAkJQUNfTVNHX1JFU1VMVChBdXRob3JpemVkIHVzZXJzIGZp
bGUgL2V0Yy9wb3AuYXV0aG9yaXplZCBlbmFibGVkKQ0KKyAJCUFDX0RFRklO
RV9VTlFVT1RFRChBVVRIRklMRSwiL2V0Yy9wb3AuYXV0aG9yaXplZCIpDQor
IAllbHNlDQorIAkJQUNfTVNHX1JFU1VMVChBdXRob3JpemVkIHVzZXJzIGZp
bGUgJGF1dGggZW5hYmxlZCkNCisgCQlBQ19ERUZJTkVfVU5RVU9URUQoQVVU
SEZJTEUsIiRhdXRoIikNCisgCWZpDQorIGZpDQorIA0KKyBkbmwtLS0gbG9h
ZGxpbWl0IGZlYXR1cmUgZW5hYmxlZA0KKyBBQ19BUkdfV0lUSChsb2FkbGlt
aXQsIFsgLS13aXRoLWxvYWRsaW1pdD1sb2FkICAgIEVuYWJsZSBsb2FkbGlt
aXQgZmVhdHVyZSBbZGVmYXVsdD0xNi4wXV0sIA0KKyAJbG9hZGxpbWl0PSIk
d2l0aHZhbCIsIGxvYWRsaW1pdD0ibm8iKQ0KKyBpZiB0ZXN0ICIkbG9hZGxp
bWl0IiAhPSAibm8iOyB0aGVuDQorIAlpZiB0ZXN0IC16ICIkbG9hZGxpbWl0
IiA7IHRoZW4NCisgCQlBQ19NU0dfUkVTVUxUKFVzaW5nIExvYWRsaW1pdCBm
ZWF0dXJlIHdpdGggbWF4aW11bSBsb2FkID0gMTYuMCkNCisgICAgIAlBQ19E
RUZJTkVfVU5RVU9URUQoTE9BRExJTUlULCAiMTYuMCIpDQorIAllbHNlDQor
IAkJQUNfTVNHX1JFU1VMVChVc2luZyBMb2FkbGltaXQgZmVhdHVyZSB3aXRo
IG1heGltdW0gbG9hZCA9ICRsb2FkbGltaXQpDQorICAgICAJQUNfREVGSU5F
X1VOUVVPVEVEKExPQURMSU1JVCwgJGxvYWRsaW1pdCkNCisgCWZpDQorIGZp
DQorIA0KKyBkbmwtLS0gRENFIGF1dGhlbnRpY2F0aW9uIHN1cHBvcnQNCisg
QUNfQVJHX1dJVEgoRENFLCBbIC0td2l0aC1EQ0UgICAgICAgICAgICAgICBF
bmFibGUgRENFIGF1dGhlbnRpY2F0aW9uIHN1cHBvcnRdLCANCisgCURDRT0i
JHdpdGh2YWwiLCBEQ0U9Im5vIikNCisgaWYgdGVzdCAiJERDRSIgIT0gIm5v
IjsgdGhlbg0KKyAJQUNfTVNHX1JFU1VMVChEQ0UgYXV0aGVudGljYXRpb24g
c3VwcG9ydCBlbmFibGVkKQ0KKyAJQUNfREVGSU5FKERDRSkNCisgCVNZU19O
QU1FPSJgdW5hbWUgLXNyIDI+L2Rldi9udWxsIHwgc2VkIDFxYCINCisgCWlm
IHRlc3QgLXogIlwkU1lTX05BTUUiOyB0aGVuIFNZU19OQU1FPXVua25vd247
ZmkNCisgCU9TX05BTUU9ImBlY2hvICRTWVNfTkFNRSAyPi9kZXYvbnVsbCB8
IHNlZCAtZSAncy9bIF0uKi8vJ2AiDQorIAlPU19WRVJTSU9OPSJgZWNobyAk
U1lTX05BTUUgMj4vZGV2L251bGwgfCBzZWQgLWUgJ3MvLipbIF0vLydgIg0K
KyAJQUNfTVNHX1JFU1VMVChTeXN0ZW0gbmFtZTogJE9TX05BTUU7IFN5c3Rl
bSB2ZXJzaW9uOiAkT1NfVkVSU0lPTikNCisgCWlmIHRlc3QgJE9TX05BTUUg
PSAiSFAtVVgiOyB0aGVuDQorIAkJQUNfTVNHX1JFU1VMVChIUFVYIGFuZCBE
Q0UgZGV0ZWN0ZWQgbXVzdCB1c2UgSFAgQyBjb21waWxlcikNCisgCQlDQz0i
Y2MiDQorIAkJQUNfU1VCU1QoQ0MpDQorIAkJQ0ZMQUdTPSItQWUgK080ICtF
U2xpdCINCisgCQlBQ19TVUJTVChDRkxBR1MpDQorIAlmaQ0KKyBmaQ0KICAN
CiAgQUNfQVJHX1dJVEgoa2VyYmVyb3M1LCBbIC0td2l0aC1rZXJiZXJvczU9
ZGlyICAgICBFbmFibGUgS2VyYmVyb3MgNSBzdXBwb3J0XSwNCiAgICAgICAg
ICAgICBrcmI1X3ByZWZpeD0ke3dpdGh2YWx9LGtyYjVfcHJlZml4PSJubyIp
DQoqKioqKioqKioqKioqKioNCioqKiA5NDQsOTQ5ICoqKioNCi0tLSAxMDAy
LDEwMTAgLS0tLQ0KICBzZWxlY3QuaCBcDQogIHNoYWRvdy5oIFwNCiAgc2Vj
dXJpdHkvcGFtX2FwcGwuaCBcDQorIGRjZS9ycGMuaCBcDQorIGRjZS9zZWNf
bG9naW4uaCBcDQorIGRjZS9kY2VfZXJyb3IuaCBcDQogICkNCiAgDQogIA0K
KioqKioqKioqKioqKioqDQoqKiogOTU0LDk1OSAqKioqDQotLS0gMTAxNSwx
MDIxIC0tLS0NCiAgQUNfQ0hFQ0tfTElCKHJlc29sdiwgcmVzX2luaXQsIE5F
VFdPUktfTElCUz0iJE5FVFdPUktfTElCUyAtbHJlc29sdiIpDQogIEFDX0NI
RUNLX0xJQihtYWlsLCBtYWlsbG9jaywgTkVUV09SS19MSUJTPSIkTkVUV09S
S19MSUJTIC1sbWFpbCI7IEFDX0RFRklORShTWVNfTUFJTExPQ0spKQ0KICBB
Q19DSEVDS19MSUIoa3JiLCBrcmJfcmVjdmF1dGgsIEtFUkJFUk9TX0xJQlM9
IiRLRVJCRVJPU19MSUJTIC1sa3JiIikNCisgQUNfQ0hFQ0tfTElCKGRjZSwg
c2VjX2xvZ2luX3NldHVwX2lkZW50aXR5LCBEQ0VfTElCUz0iLWxkY2UiKQ0K
ICBBQ19DSEVDS19MSUIocG9zaXg0LCBjbG9ja19nZXR0aW1lLCBMSUJTPSIk
TElCUyAtbHBvc2l4NCI7IEFDX0RFRklORShIQVZFX0NMT0NLX0dFVFRJTUUp
KQ0KICANCiAgQUNfQ0hFQ0tfTElCKHNlY3VyaXR5LCBzZXRfYXV0aF9wYXJh
bWV0ZXJzLCBMSUJTPSIkTElCUyAtbHNlY3VyaXR5IikNCioqKioqKioqKioq
KioqKg0KKioqIDEwMDcsMTAxMiAqKioqDQotLS0gMTA2OSwxMDc1IC0tLS0N
CiAgDQogIEFDX1NVQlNUKE5FVFdPUktfTElCUykNCiAgQUNfU1VCU1QoS0VS
QkVST1NfTElCUykNCisgQUNfU1VCU1QoRENFX0xJQlMpDQogIEFDX1NVQlNU
KERCTV9MSUJTKQ0KICBBQ19TVUJTVChMSUJTKQ0KICANCmRpZmYgLWMgJ3Fw
b3BwZXIzLjEuMi9kb2MvQ2hhbmdlcycgJ3Fwb3BwZXIzLjIuMi9kb2MvQ2hh
bmdlcycNCkluZGV4OiAuL2RvYy9DaGFuZ2VzDQoqKiogLi9kb2MvQ2hhbmdl
cwlTdW4gTm92IDEyIDE5OjE5OjUzIDIwMDANCi0tLSAuL2RvYy9DaGFuZ2Vz
CVR1ZSBOb3YgMjEgMTA6MTc6NTYgMjAwMA0KKioqKioqKioqKioqKioqDQoq
KiogNCw5ICoqKioNCi0tLSA0LDY1IC0tLS0NCiAgDQogIFRoaXMgZG9jdW1l
bnQgY29udGFpbnMgdGhlIGNoYW5nZXMgc2luY2UgdGhlIGxhc3QgcmVsZWFz
ZS4NCiAgDQorIENoYW5nZXMgZnJvbSAzLjEgdG8gMy4yDQorIC0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLQ0KKyANCisgIDEuICBDb25maWd1cmF0aW9u
IG9wdGlvbnMgZmFpbCBvbiBIUFVYIDExLjAgd2hlbiAtLXdpdGgtcGFtIGlz
DQorICAgICAgdXNlZCBkdWUgdG8gcmVmZXJlbmNlIHRvIC1sZGwgbGlicmFy
eSBpbiBjb25maWd1cmUuaW4uDQorICAgICAgUmVtb3ZlZCByZWZlcmVuY2Vz
IHRvIC1sZGwgaW4gY29uZmlndXJlLmluLg0KKyAgMi4gIENvbXBpbGF0aW9u
IG9mIHBvcHBlci9wb3BfcGFzcy5jIGZhaWxzIG9uIEhQVVggMTEuMCB3aGVu
DQorICAgICAgLS13aXRoLXBhbSBpcyB1c2VkLCBiZWNhdXNlIG5vbi1wYW0g
dmVyc2lvbiBvZiBhdXRoX3VzZXIoKQ0KKyAgICAgIGlzIG5vdCBoaWRkZW4g
YnkgY3BwIGRpcmVjdGl2ZXMuDQorICAzLiAgQSB0aGlyZCBoYXNoX3Nwb29s
aW5nIG1lY2hhbmlzbSBpcyBhZGRlZC4gIFRoZSBmaXJzdCBjaGFyYWN0ZXIN
CisgICAgICBvZiB0aGUgdXNlcmlkIGlzIHVzZWQgYXMgYSBzdWJkaXJlY3Rv
cnkgd2l0aGluIHRoZSBzcG9vbGRpcg0KKyAgICAgIGZvciB0aGUgbG9jYXRp
b24gb2YgdGhlIG1haWxib3guICBUaGUgcG9wIGRyb3BmaWxlIGdvZXMgaW4N
CisgICAgICB0aGUgInBvcCIgc3ViZGlyZWN0b3J5IHRoZXJlaW4uICBTbyBm
b3IgdXNlciAiam9lYmxvdyIgYW5kDQorICAgICAgYSBzcG9vbCBkaXJlY3Rv
cnkgb2YgIi92YXIvbWFpbCIsIHRoZSBtYWlsYm94IGlzIGxvY2F0ZWQgYXQN
CisgICAgICAgICAvdmFyL21haWwvai9qb2VibG93DQorICAgICAgYW5kIHRo
ZSBkcm9wZmlsZSBpcyBsb2NhdGVkIGF0Og0KKyAgICAgICAgIC92YXIvbWFp
bC9qL3BvcC8uam9lYmxvdy5wb3ANCisgIDQuICBDb25maWd1cmUtdGltZSBv
cHRpb25zIGFkZGVkIHRvIGNvbmZpZ3VyZS5pbiBmb3IgZmVhdHVyZXMgYWxy
ZWFkeQ0KKyAgICAgIGluIHRoZSBjb2RlLCBidXQgbm90IGluIHRoZSBjb25m
aWd1cmUgb3B0aW9ucy4gIFRoZXNlIGFyZToNCisgICAgICAgICAtLXdpdGgt
bm9uYXV0aD1wYXRoICAgICAgU2V0IHRoZSBub25hdXRob3JpemVkIHVzZXJz
IGZpbGUgcGF0aC4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgRGVmYXVsdCBpcyAvZXRjL3BvcC5ub25hdXRoLg0KKyAgICAgICAgIC0t
d2l0aC1hdXRoPXBhdGggICAgICAgICBTZXQgdGhlIGF1dGhvcml6ZWQgdXNl
cnMgZmlsZSBwYXRoLg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBEZWZhdWx0IGlzICAvZXRjL3BvcC5hdXRob3JpemVkLg0KKyAgICAg
IFRoZSBhcHByb3ByaWF0ZSBkZWZpbmVzIGZvciB0aGVzZSB3ZXJlIGFkZGVk
IHRvIGNvbmZpZy5oLmluLg0KKyAgNS4gIEFkZGVkIGEgbG9hZGxpbWl0IG1l
Y2hhbmlzbSwgdG8gcHJldmVudCBxcG9wcGVyIGNvbm5lY3Rpb25zIGlmDQor
ICAgICAgdGhlIHN5c3RlbSBsb2FkIGlzIGFib3ZlIGEgc3lzdGVtLWNvbmZp
Z3VyYWJsZSB2YWx1ZS4gIEFkZGVkDQorICAgICAgYSBjb25maWd1cmUgb3B0
aW9uICgtLXdpdGgtbG9hZGxpbWl0PWxvYWQpLCBhbmQgY29kZSBpbiBwb3Bw
ZXIuYw0KKyAgICAgIHRvIGVuYWJsZSB0aGlzIGZvciBzeXN0ZW1zIHRoYXQg
dXNlIGdldGxvYWRhdmcoMykgKGVnLCBTb2xhcmlzKQ0KKyAgICAgIGFuZCBm
b3IgSFBVWCAxMC54LzExLnggc3lzdGVtcy4gIExvYWRsaW1pdCBmZWF0dXJl
IGlzIGF2YWlsYWJsZSANCisgICAgICBhcyBhIHJ1bi10aW1lIGNvbnRyb2xs
YWJsZSBmZWF0dXJlIHZpYSB0aGUgIi1sIFtsb2FkXSIgY29tbWFuZC1saW5l
DQorICAgICAgb3B0aW9uOyBwcm92aWRlZCB0aGF0IC0td2l0aC1sb2FkbGlt
aXQ9bG9hZCBpcyBzcGVjaWZpZWQgYXQNCisgICAgICBjb25maWd1cmUgdGlt
ZS4gIFRoZSAibG9hZCIgbnVtYmVyIGlzIGEgZmxvYXRpbmcgcG9pbnQgbnVt
YmVyDQorICAgICAgcmVwcmVzZW50aW5nIHRoZSBvbmUtbWludXRlLWF2ZXJh
Z2UgbG9hZCBhYm92ZSB3aGljaCB5b3Ugd2FudCB0bw0KKyAgICAgIHJlZnVz
ZSBjb25uZWN0aW9ucy4gIFRoaXMgZmVhdHVyZSBuZWVkcyBjb2RlIGZvciBv
dGhlciB0eXBlcyBvZg0KKyAgICAgIFVOSVguDQorICA2LiAgQ2hhbmdlZCB0
aGUgbWVzc2FnZSBmb3Igbm9uYXV0aG9yaXplZCB1c2VycyB0byAqdGVsbCog
dGhlbSB0aGV5DQorICAgICAgYXJlIG5vdCBhdXRob3JpemVkLCBpbnN0ZWFk
IG9mIHRoZSB1c3VhbCB2YWd1ZSBtZXNzYWdlLiAgRm9yIHVzZQ0KKyAgICAg
IHdpdGggQVVUSEZJTEUgYW5kIE5PTkFVVEhGSUxFIG1hY3Jvcy4NCisgIDcu
ICBGaXhlZCBhIGJ1ZyBpbiBwb3BfaW5pdC5jLCB3aGVyZSBwLT5kZWJ1ZyBh
bmQgcC0+c3RhdHMgd2VyZSBub3QNCisgICAgICBpbml0aWFsaXplZCBiZWZv
cmUgYmVpbmcgdXNlZCBpbiB0aGUgZ2V0b3B0cyBsb29wLg0KKyAgOC4gIEFk
ZGVkIGEgdGltZWNoZWNrIGluIHBvcF9wYXNzLmMgdG8ga2VlcCBwZW9wbGUg
ZnJvbSByZXBlYXRlZGx5DQorICAgICAgY2hlY2tpbmcgZW1haWwuICBPbmx5
IHdvcmtzIGlmIEtFRVBfVEVNUF9EUk9QIGlzIGRlZmluZWQuICBDaGVja3MN
CisgICAgICB0aGUgdGltZXN0YW1wIG9uIHRoZSBzYXZlZCBkcm9wZmlsZSBh
Z2FpbnN0IHRoZSBjdXJyZW50IHRpbWUgLS0gaWYNCisgICAgICB0aGUgZGlm
ZmVyZW5jZSBpbiB0aW1lcyBpcyBsZXNzIHRoYW4gYSBzcGVjaWZpZWQgbnVt
YmVyIG9mIHNlY29uZHMsDQorICAgICAgdGhlbiB0aGUgY29ubmVjdGlvbiBp
cyByZWplY3RlZCBiZWZvcmUgYXV0aGVudGljYXRpb24uICBUaGUgbWluaW11
bQ0KKyAgICAgIHRpbWVjaGVjayBpbnRlcnZhbCBpcyBzcGVjaWZlZCB2aWEg
dGhlIHJ1bi10aW1lIGZsYWcgIi1hIGludGVnZXIiLA0KKyAgICAgIHdoZXJl
IHRoZSBpbnRlZ2VyIGlzIHRoZSBtaW5pbXVtIG51bWJlciBvZiBzZWNvbmRz
IGFsbG93ZWQgYmV0d2Vlbg0KKyAgICAgIG1haWwgY2hlY2tzLg0KKyAgICAg
IFRoaXMgZmVhdHVyZSByZXF1aXJlZCB0aGUgYWRkaXRpb24gb2YgYSB0b3Vj
aF9maWxlKCkgY2FsbCBpbiANCisgICAgICB1bmxpbmtfdGVtcF9kcm9wKCks
IHRvIHVwZGF0ZSB0aGUgYWNjZXNzIHRpbWVzIG9uIGRyb3BmaWxlIGlmDQor
ICAgICAgS0VFUF9URU1QX0RST1AgaXMgZGVmaW5lZC4gIFRoaXMgdXBkYXRl
cyB0aGUgdGltZXN0YW1wcyBvbiB0aGUNCisgICAgICBkcm9wZmlsZSB3aGVu
ZXZlciB0aGUgdXNlciBhdXRoZW50aWNhdGVzIC0tIGV2ZW4gaWYgbm90aGlu
ZyBlbHNlDQorICAgICAgaGFwcGVuZWQgd2l0aCBoaXMgZW1haWwuDQorICA5
LiAgQWRkZWQgRENFIGF1dGhlbnRpY2F0aW9uIHN1cHBvcnQuICBLbm93biB0
byB3b3JrIG9uIEhQIDEwLjIwIGFuZA0KKyAgICAgIDExLjAgc3lzdGVtcy4g
IE1heSB3b3JrIG9uIG90aGVyIERDRSBwbGF0Zm9ybXMuICBFbmFibGUgdmlh
DQorICAgICAgY29uZmlndXJhdGlvbiB1c2luZyAtLXdpdGgtRENFLg0KICAN
CiAgQ2hhbmdlcyBmcm9tIDMuMS4xIHRvIDMuMS4yDQogIC0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLQ0KZGlmZiAtYyAncXBvcHBlcjMuMS4yL3BvcHBl
ci9NYWtlZmlsZS5pbicgJ3Fwb3BwZXIzLjIuMi9wb3BwZXIvTWFrZWZpbGUu
aW4nDQpJbmRleDogLi9wb3BwZXIvTWFrZWZpbGUuaW4NCioqKiAuL3BvcHBl
ci9NYWtlZmlsZS5pbglXZWQgTm92ICA4IDE5OjIxOjI0IDIwMDANCi0tLSAu
L3BvcHBlci9NYWtlZmlsZS5pbglUdWUgTm92IDIxIDEwOjE3OjU2IDIwMDAN
CioqKioqKioqKioqKioqKg0KKioqIDc2LDgzICoqKioNCiAgCQkJcG9wX3Vz
ZXIubyBwb3BfeHRuZC5vIHBvcF94bWl0Lm8gcG9wcGVyLm8gXA0KICAJCQlw
b3BfYnVsbC5vIHh0bmRfeGxzdC5vIHBvcF91aWRsLm8gbWt0ZW1wLm8gXA0K
ICAJCQlwb3BfcnBvcC5vIHBvcF9hcG9wLm8gbWQ1Lm8gcG9wX2F1dGgubyBw
b3BfcG9wZS5vIFwNCiEgICAgICAgICAgICAgICAgICAgICAgICAgcG9wX2V4
dGVuZC5vIHNjcmFtLm8gaG1hYy5vIGJhc2U2NC5vIHBvcF91dGlsLm8gXA0K
ISAgICAgICAgICAgICAgICAgICAgICAgICBnZXRfc3ViX29wdC5vIG1zZ19w
dHIubyBkcmFjLm8gcG9wX2NvbmZpZy5vIG1haW4ubw0KICANCiAgU1JDUwkJ
PQlwb3BfZGVsZS5jIHBvcF9kcm9wY29weS5jIFwNCiAgCQkJcG9wX2dldF9j
b21tYW5kLmMgcG9wX2dldF9zdWJjb21tYW5kLmMgcG9wX2luaXQuYyBcDQot
LS0gNzYsODQgLS0tLQ0KICAJCQlwb3BfdXNlci5vIHBvcF94dG5kLm8gcG9w
X3htaXQubyBwb3BwZXIubyBcDQogIAkJCXBvcF9idWxsLm8geHRuZF94bHN0
Lm8gcG9wX3VpZGwubyBta3RlbXAubyBcDQogIAkJCXBvcF9ycG9wLm8gcG9w
X2Fwb3AubyBtZDUubyBwb3BfYXV0aC5vIHBvcF9wb3BlLm8gXA0KISAJCQlw
b3BfZXh0ZW5kLm8gc2NyYW0ubyBobWFjLm8gYmFzZTY0Lm8gcG9wX3V0aWwu
byBcDQohIAkJCXBvcF9hdXRoZGNlLm8gZGNlX3B3ZW50Lm8gXA0KISAJCQln
ZXRfc3ViX29wdC5vIG1zZ19wdHIubyBkcmFjLm8gcG9wX2NvbmZpZy5vIG1h
aW4ubw0KICANCiAgU1JDUwkJPQlwb3BfZGVsZS5jIHBvcF9kcm9wY29weS5j
IFwNCiAgCQkJcG9wX2dldF9jb21tYW5kLmMgcG9wX2dldF9zdWJjb21tYW5k
LmMgcG9wX2luaXQuYyBcDQoqKioqKioqKioqKioqKioNCioqKiA4Nyw5NCAq
KioqDQogIAkJCXBvcF91c2VyLmMgcG9wX3h0bmQuYyBwb3BfeG1pdC5jIHBv
cHBlci5jIFwNCiAgCQkJcG9wX2J1bGwuYyB4dG5kX3hsc3QuYyBwb3BfdWlk
bC5jIG1rdGVtcC5jIFwNCiAgCQkJcG9wX3Jwb3AuYyBwb3BfYXBvcC5jIG1k
NS5jIHBvcF9hdXRoLmMgcG9wX3BvcGUuYyBcDQohICAgICAgICAgICAgICAg
ICAgICAgICAgIHBvcF9leHRlbmQuYyBzY3JhbS5jIGhtYWMuYyBiYXNlNjQu
YyBwb3BfdXRpbC5jIFwNCiEgICAgICAgICAgICAgICAgICAgICAgICAgZ2V0
X3N1Yl9vcHQuYyBtc2dfcHRyLmMgZHJhYy5jIHBvcF9jb25maWcuYyBtYWlu
LmMNCiAgDQogIFBPUEFVVEhPQkpTICAgICA9ICAgICAgIGJhc2U2NC5vIHNj
cmFtLm8gbWQ1Lm8gXA0KICAJCQlobWFjLm8gcG9wYXV0aC5vDQotLS0gODgs
OTYgLS0tLQ0KICAJCQlwb3BfdXNlci5jIHBvcF94dG5kLmMgcG9wX3htaXQu
YyBwb3BwZXIuYyBcDQogIAkJCXBvcF9idWxsLmMgeHRuZF94bHN0LmMgcG9w
X3VpZGwuYyBta3RlbXAuYyBcDQogIAkJCXBvcF9ycG9wLmMgcG9wX2Fwb3Au
YyBtZDUuYyBwb3BfYXV0aC5jIHBvcF9wb3BlLmMgXA0KISAJCQlwb3BfZXh0
ZW5kLmMgc2NyYW0uYyBobWFjLmMgYmFzZTY0LmMgcG9wX3V0aWwuYyBcDQoh
IAkJCXBvcF9hdXRoZGNlLmMgZGNlX3B3ZW50LmMgXA0KISAJCQlnZXRfc3Vi
X29wdC5jIG1zZ19wdHIuYyBkcmFjLmMgcG9wX2NvbmZpZy5jIG1haW4uYw0K
ICANCiAgUE9QQVVUSE9CSlMgICAgID0gICAgICAgYmFzZTY0Lm8gc2NyYW0u
byBtZDUubyBcDQogIAkJCWhtYWMubyBwb3BhdXRoLm8NCioqKioqKioqKioq
KioqKg0KKioqIDExMywxMTkgKioqKg0KICBORVRXT1JLX0xJQlMJPQlATkVU
V09SS19MSUJTQA0KICBLRVJCRVJPU19MSUJTCT0JQEtFUkJFUk9TX0xJQlNA
DQogIERCTV9MSUJTCT0JQERCTV9MSUJTQA0KISBMSUJTCQk9IAlATkVUV09S
S19MSUJTQCBAS0VSQkVST1NfTElCU0AgQERCTV9MSUJTQCBATElCU0ANCiAg
QVJfRkxBRyAgICAgICAgID0gICAgICAgQEFSX0ZMQUdADQogIFJBTkxJQl9D
TUQgICAgICA9ICAgICAgIEBSQU5MSUJfQ01EQA0KICANCi0tLSAxMTUsMTIy
IC0tLS0NCiAgTkVUV09SS19MSUJTCT0JQE5FVFdPUktfTElCU0ANCiAgS0VS
QkVST1NfTElCUwk9CUBLRVJCRVJPU19MSUJTQA0KICBEQk1fTElCUwk9CUBE
Qk1fTElCU0ANCiEgRENFX0xJQlMgICAgPSAgIEBEQ0VfTElCU0ANCiEgTElC
UwkJPSAJQE5FVFdPUktfTElCU0AgQEtFUkJFUk9TX0xJQlNAIEBEQk1fTElC
U0AgQExJQlNAIEBEQ0VfTElCU0ANCiAgQVJfRkxBRyAgICAgICAgID0gICAg
ICAgQEFSX0ZMQUdADQogIFJBTkxJQl9DTUQgICAgICA9ICAgICAgIEBSQU5M
SUJfQ01EQA0KICANCmRpZmYgLWMgL2Rldi9udWxsICdxcG9wcGVyMy4yLjIv
cG9wcGVyL2RjZV9wd2VudC5jJw0KSW5kZXg6IC4vcG9wcGVyL2RjZV9wd2Vu
dC5jDQoqKiogLi9wb3BwZXIvZGNlX3B3ZW50LmMJV2VkIERlYyAzMSAxOTow
MDowMCAxOTY5DQotLS0gLi9wb3BwZXIvZGNlX3B3ZW50LmMJVHVlIE5vdiAy
MSAxMDoxNzo1NiAyMDAwDQoqKioqKioqKioqKioqKioNCioqKiAwICoqKioN
Ci0tLSAxLDI3MSAtLS0tDQorIC8qDQorICAqICBDb250cmlidXRlZCBieSBK
ZWZmIEVhcmlja3NvbiwgQ29sYnkgQ29sbGVnZSwgV2F0ZXJ2aWxsZSwgTUUN
CisgICogIChqYWVhcmlja0Bjb2xieS5lZHUpDQorICAqDQorICAqICBUaGUg
Y29kZSBiZWxvdyBiYXNpY2FsbHkgY29tZXMgZnJvbSB0aGUgZXhhbXBsZXMg
c3VwcGxpZWQgb24NCisgICogIHRoZSBPU0YgRENFIDEuMC4zIG1hbnBhZ2Vz
IGZvciB0aGUgc2VjX2xvZ2luIHJvdXRpbmVzLCB3aXRoDQorICAqICBlbm91
Z2ggYWRkaXRpb25hbCBwb2xpc2hpbmcgdG8gbWFrZSB0aGUgcm91dGluZSB3
b3JrIGNvcnJlY3RseS4NCisgICoNCisgICogIFRoaXMgY29kZSBpcyBrbm93
biB0byB3b3JrIG9uIEhQIDcwMCBhbmQgODAwIHNlcmllcyBzeXN0ZW1zDQor
ICAqICBydW5uaW5nIEhQLVVYIDkuWCBhbmQgMTAuWCwgd2l0aCBlaXRoZXIg
SFAncyB2ZXJzaW9uIDEuMi4xIG9mIERDRS4NCisgICogIChha2EsIE9TRiBE
Q0UgMS4wLjMpIG9yIHdpdGggSFAncyB2ZXJzaW9uIDEuNCBvZiBEQ0UgKGFr
YSwgT1NGDQorICAqICBEQ0UgMS4xKS4NCisgICoNCisgICogIFVzZSBhdCB5
b3VyIG93biByaXNrISEhICAoQnV0IEkgd291bGQgbGlrZSB0byBoZWFyIGFi
b3V0IGJ1Z3MuKQ0KKyAqLw0KKyANCisgI2lmZGVmIEhBVkVfQ09ORklHX0gN
CisgI2luY2x1ZGUgPGNvbmZpZy5oPg0KKyAjZW5kaWYNCisgDQorICNpZmRl
ZiBEQ0UNCisgDQorICNpbmNsdWRlIDxzdGRpby5oPg0KKyAvKiAjaW5jbHVk
ZSA8c3RyaW5nLmg+ICovDQorICNpbmNsdWRlIDxzaWduYWwuaD4NCisgI2lu
Y2x1ZGUgPHNldGptcC5oPg0KKyAjaW5jbHVkZSA8cHdkLmg+DQorICNpbmNs
dWRlICJwb3BwZXIuaCINCisgI2luY2x1ZGUgPGRjZS9ycGMuaD4NCisgI2lu
Y2x1ZGUgPGRjZS9zZWNfbG9naW4uaD4NCisgI2luY2x1ZGUgPGRjZS9kY2Vf
ZXJyb3IuaD4gLyogcmVxdWlyZWQgdG8gY2FsbCBkY2VfZXJyb3JfaW5xX3Rl
eHQgcm91dGluZSAgICovDQorIA0KKyAvKiBnbG9iYWwgdmFyaWFibGVzICov
DQorIHN0YXRpYyBpbnQgICAgICAgICAgICAgICAgZXJyb3Jfc3RhdDsNCisg
c3RhdGljIHVuc2lnbmVkIGNoYXIgICAgICBlcnJvcl9zdHJpbmdbZGNlX2Nf
ZXJyb3Jfc3RyaW5nX2xlbl07DQorIGptcF9idWYgICAgICAgICAgICAgICAg
ICAgZGNlanVtcDsgICAgICAgIC8qIHN0YWNrIGZvciBzZXRqbXAvbG9uZ2pt
cCBoZXJlaW4gKi8NCisgc2VjX2xvZ2luX2hhbmRsZV90ICAgICAgICBsb2dp
bl9jb250ZXh0OyAgICAvKiBEQ0UgbG9naW4gY29udGV4dCAqLw0KKyANCisg
dm9pZCBkY2V0aW1lb3V0KCkNCisgew0KKyAgICAgZXJyb3Jfc3RhdHVzX3Qg
ICAgICAgIHN0YXR1czsNCisgDQorICAgICBzZWNfbG9naW5fcHVyZ2VfY29u
dGV4dCggJmxvZ2luX2NvbnRleHQsICZzdGF0dXMgKTsNCisgICAgIGxvbmdq
bXAoIGRjZWp1bXAsIDEgKTsNCisgfQ0KKyANCisgaW50IGRjZV9hdXRoX3Rp
bWUocCwgZXJyb3Jtc2csIHRpbWVvdXQpDQorIC8qIHJldHVybnMgMSAoInRy
dWUiKSBpZiB1c2VyIGlzIGEgdmFsaWQgRENFIHByaW5jaXBhbCwgMCBvdGhl
cndpc2UgKi8NCisgLyogY2xlYW5zIHVwIGFuZCBleGl0cyBpZiBEQ0UgdGlt
ZXMgb3V0ICovDQorIFBPUCAqcDsNCisgY2hhciAqZXJyb3Jtc2c7DQorIGlu
dCB0aW1lb3V0Ow0KKyB7DQorICAgICBpbnQgcmV0Y29kZTsNCisgDQorICAg
ICAvKiBwcmVwYXJlIHRvIGNhdGNoIHRoZSBzaWduYWwgZm9yIERDRSB0aW1l
b3V0ICovDQorICAgICAodm9pZCkgc2lnbmFsKFNJR0FMUk0sIGRjZXRpbWVv
dXQpOw0KKyANCisgICAgIC8qIG5vdyBzZXQgdGhlIERDRSB0aW1lb3V0IGFs
YXJtICovDQorICAgICBhbGFybSh0aW1lb3V0KTsNCisgDQorICAgICBERUJV
R19MT0cxICggcCwgImRjZV9hdXRoX3RpbWU6IHNpZ25hbCBhbGFybSBzZXQg
Zm9yICVkIHNlY1xuIiwgdGltZW91dCk7DQorIA0KKyAgICAgLyogc2V0IHJl
dGNvZGUgdG8gZmFpbHVyZSBpZiBhbGFybSB3ZW50IG9mZiAqLw0KKyAgICAg
LyogYmVmb3JlIHRoZSBkY2VfcHdlbnQoKSBjYWxsIGZpbmlzaGVkICovDQor
ICAgICAvKiB0aW1lIHRvIGRpZS4uLiAqLw0KKyAgICAgaWYoc2V0am1wKGRj
ZWp1bXApKQ0KKyAgICAgew0KKyAgICAgICAgIERFQlVHX0xPRzAgKHAsICJk
Y2VfYXV0aF90aW1lOiByZXR1cm5pbmcgZnJvbSBsb25nam1wXG4iICk7DQor
ICAgICAgICAgcG9wX21zZyhwLFBPUF9GQUlMVVJFLCBIRVJFLA0KKyAgICAg
ICAgICAgICAiW0FVVEhdIERDRSBBdXRoZW50aWNhdGlvbiBUaW1lb3V0IGZv
ciAlcyIsIHAtPnVzZXIgKTsNCisgICAgICAgICBjbG9zZWxvZygpOw0KKyAg
ICAgICAgIGV4aXQoLTEpOw0KKyAgICAgfQ0KKyAgICAgZWxzZQ0KKyAgICAg
ew0KKyAgICAgICAgIERFQlVHX0xPRzAgKHAsICJkY2VfYXV0aF90aW1lOiBi
ZWZvcmUgZGNlX3B3ZW50XG4iICk7DQorICAgICAgICAgcmV0Y29kZSA9IGRj
ZV9wd2VudChwLCBlcnJvcm1zZyk7DQorICAgICAgICAgREVCVUdfTE9HMCAo
cCwgImRjZV9hdXRoX3RpbWU6IGFmdGVyIGRjZV9wd2VudFxuIiApOw0KKyAg
ICAgfQ0KKyANCisgICAgIC8qIHR1cm4gb2ZmIHRoZSBhbGFybSBhbmQgcmVz
ZXQgU0lHQUxSTSAqLw0KKyAgICAgYWxhcm0oMCk7DQorICAgICAodm9pZCkg
c2lnbmFsKFNJR0FMUk0sU0lHX0RGTCk7DQorIA0KKyAgICAgREVCVUdfTE9H
MCAocCwgImRjZV9hdXRoX3RpbWU6IHNpZ25hbCBhbmQgYWxhcm0gdHVybmVk
IG9mZlxuIiApOw0KKyANCisgICAgIHJldHVybiByZXRjb2RlOw0KKyB9DQor
IA0KKyBpbnQgZGNlX3B3ZW50KHAsIGVycm9ybXNnKQ0KKyAvKiByZXR1cm5z
IDEgKCJ0cnVlIikgaWYgdXNlciBpcyBhIHZhbGlkIERDRSBwcmluY2lwYWws
IDAgb3RoZXJ3aXNlICovDQorIFBPUCAqcDsNCisgY2hhciAqZXJyb3Jtc2c7
DQorIHsNCisgICAgIHN0cnVjdCBwYXNzd2QgICAgICAgICpwd2Q7DQorICAg
ICBzZWNfcGFzc3dkX3JlY190ICAgICAgcGFzc3dvcmRfcmVjOw0KKyAgICAg
Ym9vbGVhbjMyICAgICAgICAgICAgIHJlc2V0X3Bhc3N3ZDsNCisgICAgIHNl
Y19sb2dpbl9hdXRoX3NyY190ICBhdXRoX3NyYzsNCisgICAgIGVycm9yX3N0
YXR1c190ICAgICAgICBzdGF0dXM7DQorICAgICB1bnNpZ25lZDMyICAgICAg
ICAgICAgbmJ5dGVzOw0KKyAgICAgY2hhciAgICAgICAgICAgICAgICAgKnRt
cHBhc3M7DQorIA0KKyAgICAgLyogY3JlYXRlIHRoZSBsb2NhbCBjb250ZXh0
IG9mIHRoZSBEQ0UgcHJpbmNpcGFsIG5lY2Vzc2FyeSAgICovDQorICAgICAv
KiB0byBwZXJmb3JtIGF1dGhlbnRpY2F0ZWQgbmV0d29yayBvcGVyYXRpb25z
LiBUaGUgbmV0d29yayAgKi8NCisgICAgIC8qIGlkZW50aXR5IHNldCB1cCBi
eSB0aGlzIG9wZXJhdGlvbiBjYW5ub3QgYmUgdXNlZCB1bnRpbCBpdCAqLw0K
KyAgICAgLyogaXMgdmFsaWRhdGVkIHZpYSBzZWNfbG9naW5fdmFsaWRhdGVf
aWRlbnRpdHkoKS4gKi8NCisgICAgIGlmICggc2VjX2xvZ2luX3NldHVwX2lk
ZW50aXR5KCh1bnNpZ25lZF9jaGFyX3BfdCkgcC0+dXNlciwNCisgICAgICAg
ICBzZWNfbG9naW5fbm9fZmxhZ3MsICZsb2dpbl9jb250ZXh0LCZzdGF0dXMp
KQ0KKyAgICAgew0KKyAgICAgICAgIGlmICggY2hlY2soIHAsIHN0YXR1cywg
InNlY19sb2dpbl9zZXR1cF9pZGVudGl0eSgxKToiKSkgDQorICAgICAgICAg
ew0KKyAgICAgICAgICAgICBzdHJjcHkoIGVycm9ybXNnLCAoY29uc3QgY2hh
ciAqKSBlcnJvcl9zdHJpbmcgKTsNCisgICAgICAgICAgICAgcmV0dXJuKCAw
ICk7DQorICAgICAgICAgfQ0KKyANCisgICAgICAgICAvKiBub3RlIHRoYXQg
Y29udGVudHMgb2YgcGFzc3dkIGFyZSB0cmFzaGVkIGFmdGVyIERDRSAqLw0K
KyAgICAgICAgIC8qIHNvIHdlIG5lZWQgdG8gbWFrZSBhIGxvY2FsIGNvcHkg
b2YgaXQgZm9yIHVzZSBoZXJlICovDQorICAgICAgICAgLyogbWFsbG9jIHNw
YWNlIGZvciBwYXNzd2Qgc3RydWN0dXJlICovDQorICAgICAgICAgbmJ5dGVz
ID0gc3RybGVuKCBwLT5wb3BfcGFybVsxXSApICsgMTsNCisgICAgICAgICBp
ZiAoICh0bXBwYXNzID0gKGNoYXIgKikgbWFsbG9jKG5ieXRlcykpID09IE5V
TEwgKQ0KKyAgICAgICAgIHsNCisgICAgICAgICAgICAgc3RyY3B5KCBlcnJv
cm1zZyxwLT51c2VyICk7DQorICAgICAgICAgICAgIHN0cmNhdCggZXJyb3Jt
c2csIjogbWFsbG9jIGZvciB0bXBwYXNzIGZhaWxlZC4iICk7DQorICAgICAg
ICAgICAgIHJldHVybigwKTsNCisgICAgICAgICB9DQorICAgICAgICAgc3Ry
Y3B5KCB0bXBwYXNzLHAtPnBvcF9wYXJtWzFdICk7DQorIA0KKyAgICAgICAg
IHBhc3N3b3JkX3JlYy5rZXkudGFnZ2VkX3VuaW9uLnBsYWluID0gKGlkbF9j
aGFyICopIHRtcHBhc3M7DQorICAgICAgICAgcGFzc3dvcmRfcmVjLmtleS5r
ZXlfdHlwZSA9IHNlY19wYXNzd2RfcGxhaW47DQorICAgICAgICAgcGFzc3dv
cmRfcmVjLnBlcHBlciA9IE5VTEw7DQorICAgICAgICAgcGFzc3dvcmRfcmVj
LnZlcnNpb25fbnVtYmVyID0gc2VjX3Bhc3N3ZF9jX3ZlcnNpb25fbm9uZTsN
CisgDQorICAgICAgICAgLyogdmFsaWRhdGUgdGhlIGxvZ2luIGNvbnRleHQg
d2l0aCB0aGUgcGFzc3dvcmQgKi8NCisgICAgICAgICBpZiAoc2VjX2xvZ2lu
X3ZhbGlkYXRlX2lkZW50aXR5KCBsb2dpbl9jb250ZXh0LCAmcGFzc3dvcmRf
cmVjLA0KKyAgICAgICAgICAgICAmcmVzZXRfcGFzc3dkLCZhdXRoX3NyYywm
c3RhdHVzKSkNCisgICAgICAgICB7DQorICAgICAgICAgICAgIGlmICggY2hl
Y2soIHAsIHN0YXR1cywgInNlY19sb2dpbl92YWxpZGF0ZV9pZGVudGl0eSgx
KToiKSkgDQorICAgICAgICAgICAgIHsNCisgICAgICAgICAgICAgICAgIHN0
cmNweSggZXJyb3Jtc2csIChjb25zdCBjaGFyICopIGVycm9yX3N0cmluZyAp
Ow0KKyAgICAgICAgICAgICAgICAgcmV0dXJuKDApOw0KKyAgICAgICAgICAg
ICB9DQorIA0KKyAgICAgICAgICAgICAvKiBDZXJ0aWZ5IHRoYXQgdGhlIERD
RSBTZWN1cml0eSBTZXJ2ZXIgdXNlZCB0byBzZXQgICAgICAqLw0KKyAgICAg
ICAgICAgICAvKiB1cCBhbmQgdmFsaWRhdGUgYSBsb2dpbiBjb250ZXh0IGlz
IGxlZ2l0aW1hdGUuICBNYWtlcyAqLw0KKyAgICAgICAgICAgICAvKiBzdXJl
IHRoYXQgd2UgZGlkbid0IGdldCBzcG9vZmVkIGJ5IGFub3RoZXIgRENFIHNl
cnZlci4qLw0KKyAgICAgICAgICAgICBpZiAoICFzZWNfbG9naW5fY2VydGlm
eV9pZGVudGl0eSggbG9naW5fY29udGV4dCwgJnN0YXR1cykpDQorICAgICAg
ICAgICAgIHsNCisgICAgICAgICAgICAgICAgIC8qIGZwcmludGYoc3RkZXJy
LCJXaG9hISBCb2d1cyBhdXRoZW50aWNhdGlvbiBzZXJ2ZXIhXG4iKTsgKi8N
CisgICAgICAgICAgICAgICAgICh2b2lkKSBjaGVjayggcCwgc3RhdHVzLCAi
c2VjX2xvZ2luX2NlcnRpZnlfaWRlbnRpdHkoMSk6Iik7IA0KKyAgICAgICAg
ICAgICAgICAgc3RyY3B5KCBlcnJvcm1zZywgKGNvbnN0IGNoYXIgKikgZXJy
b3Jfc3RyaW5nICk7DQorICAgICAgICAgICAgICAgICByZXR1cm4oMCk7DQor
ICAgICAgICAgICAgIH0NCisgICAgICAgICAgICAgaWYgKCBjaGVjayggcCwg
c3RhdHVzLCAic2VjX2xvZ2luX2NlcnRpZnlfaWRlbnRpdHkoMik6IikpIA0K
KyAgICAgICAgICAgICB7DQorICAgICAgICAgICAgICAgICBzdHJjcHkoIGVy
cm9ybXNnLChjb25zdCBjaGFyICopIGVycm9yX3N0cmluZyApOw0KKyAgICAg
ICAgICAgICAgICAgcmV0dXJuKDApOw0KKyAgICAgICAgICAgICB9DQorIA0K
KyAgICAgICAgICAgICAvKiBzZXRzIHRoZSBuZXR3b3JrIGNyZWRlbnRpYWxz
IHRvIHRob3NlIHNwZWNpZmllZCAqLw0KKyAgICAgICAgICAgICAvKiBieSB0
aGUgbm93IHZhbGlkYXRlZCBsb2dpbiBjb250ZXh0LiAqLw0KKyAgICAgICAg
ICAgICBzZWNfbG9naW5fc2V0X2NvbnRleHQoIGxvZ2luX2NvbnRleHQsICZz
dGF0dXMgKTsNCisgICAgICAgICAgICAgaWYgKCBjaGVjayggcCwgc3RhdHVz
LCAic2VjX2xvZ2luX3NldF9jb250ZXh0OiIpKSANCisgICAgICAgICAgICAg
ew0KKyAgICAgICAgICAgICAgICAgc3RyY3B5KCBlcnJvcm1zZywoY29uc3Qg
Y2hhciAqKSBlcnJvcl9zdHJpbmcgKTsNCisgICAgICAgICAgICAgICAgIHJl
dHVybigwKTsNCisgICAgICAgICAgICAgfQ0KKyANCisgICAgICAgICAgICAg
Lyogb29wcywgeW91ciBjcmVkZW50aWFscyB3ZXJlIG5vIGdvb2QuIFBvc3Np
Ymx5ICAgKi8NCisgICAgICAgICAgICAgLyogY2F1c2VkIGJ5IGNsb2NrIHRp
bWVzIG91dCBvZiBhZGp1c3RtZW50IGJldHdlZW4gKi8NCisgICAgICAgICAg
ICAgLyogRENFIGNsaWVudCBhbmQgRENFIHNlY3VyaXR5IHNlcnZlci4uLiAg
ICAgICAgICAgKi8NCisgICAgICAgICAgICAgaWYgKCBhdXRoX3NyYyAhPSBz
ZWNfbG9naW5fYXV0aF9zcmNfbmV0d29yayApDQorICAgICAgICAgICAgIHsN
CisgICAgICAgICAgICAgICAgIC8qIGZwcmludGYoc3RkZXJyLCJZb3UgaGF2
ZSBubyBuZXR3b3JrIGNyZWRlbnRpYWxzXG4iKTsgKi8NCisgICAgICAgICAg
ICAgICAgIHN0cmNweSggZXJyb3Jtc2csIHAtPnVzZXIgKTsNCisgICAgICAg
ICAgICAgICAgIHN0cmNhdCggZXJyb3Jtc2csICIgaGFzIG5vIG5ldHdvcmsg
Y3JlZGVudGlhbHMuIiApOw0KKyAgICAgICAgICAgICAgICAgcmV0dXJuKDAp
Ow0KKyAgICAgICAgICAgICB9DQorICAgICAgICAgICAgIC8qIGNoZWNrIGlm
IHRoZSBwYXNzd29yZCBoYXMgYWdlZCBhbmQgaXMgbm8gZ29vZCAqLw0KKyAg
ICAgICAgICAgICBpZiAoIHJlc2V0X3Bhc3N3ZCApDQorICAgICAgICAgICAg
IHsNCisgICAgICAgICAgICAgICAgIC8qIGZwcmludGYoc3RkZXJyLCJZb3Vy
IERDRSBwYXNzd29yZCBuZWVkcyByZXNldHRpbmdcbiIpOyAqLw0KKyAgICAg
ICAgICAgICAgICAgc3RyY3B5KCBlcnJvcm1zZywgcC0+dXNlciApOw0KKyAg
ICAgICAgICAgICAgICAgc3RyY2F0KCBlcnJvcm1zZywgIiBoYXMgYW4gaW52
YWxpZCBwYXNzd29yZC4iICk7DQorICAgICAgICAgICAgICAgICByZXR1cm4o
MCk7DQorICAgICAgICAgICAgIH0NCisgDQorICNpZmRlZiBVTk5FRURFRA0K
KyAgICAgICAgICAgICAvKiBtYWxsb2Mgc3BhY2UgZm9yIHBhc3N3ZCBzdHJ1
Y3R1cmUgKi8NCisgICAgICAgICAgICAgbmJ5dGVzID0gc2l6ZW9mKHN0cnVj
dCBwYXNzd2QpOw0KKyAgICAgICAgICAgICBpZiAoIChwd2QgPSAoc3RydWN0
IHBhc3N3ZCAqKSBtYWxsb2MobmJ5dGVzKSkgPT0gTlVMTCApDQorICAgICAg
ICAgICAgIHsNCisgICAgICAgICAgICAgICAgIC8qIGZwcmludGYoc3RkZXJy
LCJtYWxsb2MgZm9yIHBhc3N3ZCBzdHJ1Y3QgZmFpbGVkXG4iKTsgKi8NCisg
ICAgICAgICAgICAgICAgIHN0cmNweShlcnJvcm1zZywgcC0+dXNlcik7DQor
ICAgICAgICAgICAgICAgICBzdHJjYXQoZXJyb3Jtc2csICI6IG1hbGxvYyBm
b3IgcGFzc3dkIHN0cnVjdCBmYWlsZWQuIik7DQorICAgICAgICAgICAgICAg
ICByZXR1cm4oMCk7DQorICAgICAgICAgICAgIH0NCisgDQorICAgICAgICAg
ICAgIC8qIHdlIHNob3VsZCBiZSBhIHZhbGlkIHVzZXIgYnkgdGhpcyBwb2lu
dC4gIFB1bGwgdGhlICovDQorICAgICAgICAgICAgIC8qIHVzZXIncyBwYXNz
d29yZCBzdHJ1Y3R1cmUgZnJvbSB0aGUgRENFIHNlY3VyaXR5ICAgICovDQor
ICAgICAgICAgICAgIC8qIHNlcnZlciBqdXN0IHRvIG1ha2Ugc3VyZS4gIElm
IHdlIGdldCBpdCB3aXRoIG5vICAgICovDQorICAgICAgICAgICAgIC8qIHBy
b2JsZW1zLCB0aGVuIHdlIHJlYWxseSBhcmUgbGVnaXRpbWF0ZS4uLiAgICAg
ICAgICovDQorICAgICAgICAgICAgIHNlY19sb2dpbl9nZXRfcHdlbnQobG9n
aW5fY29udGV4dCwoc2VjX2xvZ2luX3Bhc3N3ZF90KSBwd2QsJnN0YXR1cyk7
DQorICAgICAgICAgICAgIGZyZWUocHdkKTsNCisgICAgICAgICAgICAgaWYg
KCBjaGVjayhwLHN0YXR1cywic2VjX2xvZ2luX2dldF9wd2VudDoiKSApIA0K
KyAgICAgICAgICAgICB7DQorICAgICAgICAgICAgICAgICBzdHJjcHkoIGVy
cm9ybXNnLChjb25zdCBjaGFyICopIGVycm9yX3N0cmluZyApOw0KKyAgICAg
ICAgICAgICAgICAgcmV0dXJuKDApOw0KKyAgICAgICAgICAgICB9DQorICNl
bmRpZiAvKiBVTk5FRURFRCAqLw0KKyANCisgICAgICAgICAgICAgLyoqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKi8NCisgICAgICAgICAgICAgLyogaWYgd2UgZ2V0IHRvIGhl
cmUsIHRoZW4gdGhlIHB3ZW50IGFib3ZlIHByb3Blcmx5IGZldGNoZWQgKi8N
CisgICAgICAgICAgICAgLyogdGhlIHBhc3N3b3JkIHN0cnVjdHVyZSBmcm9t
IHRoZSBEQ0UgcmVnaXN0cnksIHNvIHRoZSB1c2VyKi8NCisgICAgICAgICAg
ICAgLyogIG11c3QgYmUgdmFsaWQuICBXZSBkb24ndCByZWFsbHkgY2FyZSB3
aGF0IHRoZSB1c2VyJ3MgICAgKi8NCisgICAgICAgICAgICAgLyogcmVnaXN0
cnkgcGFzc3dvcmQgaXMsIGp1c3QgdGhhdCB0aGUgdXNlciBjb3VsZCBiZSAg
ICAgICAgKi8NCisgICAgICAgICAgICAgLyogdmFsaWRhdGVkLiAgSW4gZmFj
dCwgaWYgd2UgdHJpZWQgdG8gY29tcGFyZSB0aGUgbG9jYWwgICAgKi8NCisg
ICAgICAgICAgICAgLyogcGFzc3dvcmQgdG8gdGhlIERDRSBlbnRyeSBhdCB0
aGlzIHBvaW50LCB0aGUgb3BlcmF0aW9uICAgKi8NCisgICAgICAgICAgICAg
Lyogd291bGQgZmFpbCBpZiB0aGUgaGlkZGVuIHBhc3N3b3JkIGZlYXR1cmUg
aXMgdHVybmVkIG9uLCAgKi8NCisgICAgICAgICAgICAgLyogYmVjYXVzZSB0
aGUgcGFzc3dvcmQgZmllbGQgd291bGQgY29udGFpbiBhbiBhc3Rlcmlzay4g
ICAgKi8NCisgICAgICAgICAgICAgLyogICBBbHNvIGdvIGFoZWFkIGFuZCBk
ZXN0cm95IHRoZSB1c2VyJ3MgRENFIGxvZ2luIGNvbnRleHQgKi8NCisgICAg
ICAgICAgICAgLyogYmVmb3JlIHdlIGxlYXZlIGhlcmUgKGFuZCBkb24ndCBi
b3RoZXIgY2hlY2tpbmcgdGhlICAgICAgKi8NCisgICAgICAgICAgICAgLyog
c3RhdHVzKSwgaW4gb3JkZXIgdG8gY2xlYW4gdXAgY3JlZGVudGlhbHMgZmls
ZXMgaW4gICAgICAgKi8NCisgICAgICAgICAgICAgLyogL29wdC9kY2Vsb2Nh
bC92YXIvc2VjdXJpdHkvY3JlZHMuICBCeSBkb2luZyB0aGlzLCB3ZSBhcmUg
Ki8NCisgICAgICAgICAgICAgLyogYXNzdW1pbmcgdGhhdCB0aGUgdXNlciB3
aWxsIG5vdCBuZWVkIERDRSBhdXRoZW50aWNhdGlvbiAgKi8NCisgICAgICAg
ICAgICAgLyogbGF0ZXIgaW4gdGhlIHByb2dyYW0sIG9ubHkgbG9jYWwgYXV0
aGVudGljYXRpb24uICBJZiB0aGlzKi8NCisgICAgICAgICAgICAgLyogaXMg
bm90IHRydWUsIHRoZW4gdGhlIGxvZ2luX2NvbnRleHQgd2lsbCBoYXZlIHRv
IGJlICAgICAgKi8NCisgICAgICAgICAgICAgLyogcmV0dXJuZWQgdG8gdGhl
IGNhbGxpbmcgcHJvZ3JhbSwgYW5kIHRoZSBjb250ZXh0IHB1cmdlZCAgKi8N
CisgICAgICAgICAgICAgLyogc29tZXdoZXJlIGxhdGVyIGluIHRoZSBwcm9n
cmFtLiAgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCisgICAgICAgICAg
ICAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKi8NCisgICAgICAgICAgICAgc2VjX2xvZ2lu
X3B1cmdlX2NvbnRleHQoICZsb2dpbl9jb250ZXh0ICwgJnN0YXR1cyApOw0K
KyAgICAgICAgICAgICBlcnJvcm1zZyA9IE5VTEw7DQorICAgICAgICAgICAg
IHJldHVybigxKTsNCisgICAgICAgICB9DQorICAgICAgICAgZWxzZQ0KKyAg
ICAgICAgIHsNCisgICAgICAgICAgICAgaWYgKCBjaGVjayggcCwgc3RhdHVz
LCAic2VjX2xvZ2luX3ZhbGlkYXRlX2lkZW50aXR5KDIpOiIpKSANCisgICAg
ICAgICAgICAgew0KKyAgICAgICAgICAgICAgICAgc3RyY3B5KCBlcnJvcm1z
ZywgKGNvbnN0IGNoYXIgKikgZXJyb3Jfc3RyaW5nICk7DQorICAgICAgICAg
ICAgICAgICByZXR1cm4oMCk7DQorICAgICAgICAgICAgIH0NCisgICAgICAg
ICAgICAgc2VjX2xvZ2luX3B1cmdlX2NvbnRleHQoICZsb2dpbl9jb250ZXh0
LCAmc3RhdHVzICk7DQorICAgICAgICAgICAgIGlmICggY2hlY2soIHAsIHN0
YXR1cywgInNlY19sb2dpbl9wdXJnZV9jb250ZXh0OiIpKQ0KKyAgICAgICAg
ICAgICB7DQorICAgICAgICAgICAgICAgICBzdHJjcHkoIGVycm9ybXNnLCAo
Y29uc3QgY2hhciAqKSBlcnJvcl9zdHJpbmcgKTsNCisgICAgICAgICAgICAg
ICAgIHJldHVybigwKTsNCisgICAgICAgICAgICAgfQ0KKyAgICAgICAgIH0N
CisgICAgICAgICBmcmVlKHRtcHBhc3MpOw0KKyAgICAgfQ0KKyAgICAgaWYg
KCBjaGVjayggcCwgc3RhdHVzLCAic2VjX2xvZ2luX3NldHVwX2lkZW50aXR5
KDIpOiIpICkNCisgICAgIHsNCisgICAgICAgICBzdHJjcHkoIGVycm9ybXNn
LCAoY29uc3QgY2hhciAqKSBlcnJvcl9zdHJpbmcgKTsNCisgICAgICAgICBy
ZXR1cm4oMCk7DQorICAgICB9DQorICAgICByZXR1cm4oMCk7DQorIH0NCisg
DQorIGludCBjaGVjayhwLGlucHV0X3N0YXR1cywgY29tbWVudCkgDQorIC8q
IHJldHVybnMgMCBmb3IgRENFICJvayIgc3RhdHVzLCAxIG90aGVyd2lzZSAq
Lw0KKyBQT1AgKnA7DQorIGVycm9yX3N0YXR1c190IGlucHV0X3N0YXR1czsN
CisgY2hhciAqY29tbWVudDsNCisgeyANCisgICAgIGlmICggaW5wdXRfc3Rh
dHVzID09IHJwY19zX29rICkgcmV0dXJuKDApOw0KKyAgICAgZGNlX2Vycm9y
X2lucV90ZXh0KCBpbnB1dF9zdGF0dXMsIGVycm9yX3N0cmluZywgJmVycm9y
X3N0YXQgKTsgDQorICAgICBERUJVR19MT0cyICggcCwgIkRDRTogJXMgJXMi
LGNvbW1lbnQsZXJyb3Jfc3RyaW5nKTsNCisgICAgIHJldHVybigxKTsNCisg
fQ0KKyANCisgI2VuZGlmIC8qIERDRSAqLw0KZGlmZiAtYyAvZGV2L251bGwg
J3Fwb3BwZXIzLjIuMi9wb3BwZXIvcG9wX2F1dGhkY2UuYycNCkluZGV4OiAu
L3BvcHBlci9wb3BfYXV0aGRjZS5jDQoqKiogLi9wb3BwZXIvcG9wX2F1dGhk
Y2UuYwlXZWQgRGVjIDMxIDE5OjAwOjAwIDE5NjkNCi0tLSAuL3BvcHBlci9w
b3BfYXV0aGRjZS5jCVR1ZSBOb3YgMjEgMTA6MTc6NTYgMjAwMA0KKioqKioq
KioqKioqKioqDQoqKiogMCAqKioqDQotLS0gMSw5MiAtLS0tDQorIC8qDQor
ICAqICBEQ0UgQXV0aGVudGljYXRpb24gbWVjaGFuaXNtIGZvciBRcG9wcGVy
DQorICAqICBDb250cmlidXRlZCBieSBKZWZmIEVhcmlja3NvbiwgQ29sYnkg
Q29sbGVnZSwgV2F0ZXJ2aWxsZSwgTUUNCisgICogIChqYWVhcmlja0Bjb2xi
eS5lZHUpDQorICAqDQorICAqLw0KKyANCisgI2lmZGVmIEhBVkVfQ09ORklH
X0gNCisgI2luY2x1ZGUgPGNvbmZpZy5oPg0KKyAjZW5kaWYNCisgDQorICNp
ZmRlZiBEQ0UNCisgDQorICNpbmNsdWRlIDxwd2QuaD4NCisgI2luY2x1ZGUg
PGNyeXB0Lmg+DQorICNpZmRlZiBTWVNWDQorICNpbmNsdWRlIDxzdHJpbmcu
aD4NCisgI2Vsc2UNCisgI2luY2x1ZGUgPHN0cmluZ3MuaD4NCisgI2VuZGlm
DQorICNpbmNsdWRlIDxzdGRpby5oPg0KKyANCisgI2RlZmluZSBEQ0VfVElN
RU9VVCA2MCAgLyogdGltZW91dCBvbiBEQ0UgYXV0aGVudGljYXRpb24gYWZ0
ZXIgdGhpcyBzZWNzICovDQorICNkZWZpbmUgUEFTU1dEX09WRVJSSURFICIv
b3B0L2RjZWxvY2FsL2V0Yy9wYXNzd2Rfb3ZlcnJpZGUiDQorIA0KKyBpbnQg
dXNlX2RjZV9wYXNzd2Q7DQorIA0KKyAjaW5jbHVkZSAicG9wcGVyLmgiDQor
IA0KKyBjaGFyICpjcnlwdCgpOw0KKyANCisgaW50IGF1dGhfdXNlcl9kY2Ug
KHApDQorIFBPUCAqcDsNCisgew0KKyAgICAgRklMRSAqZmQ7DQorICAgICBz
dHJ1Y3QgcGFzc3dkICpwdzsNCisgICAgIGNoYXIgZXJyb3Jtc2dbTUFYTVNH
TElORUxFTl07DQorIA0KKyAgICAgREVCVUdfTE9HMSAoIHAsICJMb29raW5n
IGluICVzLiIsIFBBU1NXRF9PVkVSUklERSk7DQorIA0KKyAgICAgLyogZmly
c3QgbG9vayBpbiB0aGUgcGFzc3dkX292ZXJyaWRlIGZpbGUgKi8NCisgICAg
IGlmICgoZmQgPSBmb3BlbihQQVNTV0RfT1ZFUlJJREUsICJyIikpID09IE5V
TEwgKQ0KKyAgICAgew0KKyAgICAgICAgIHJldHVybiAocG9wX21zZyggcCwg
UE9QX0ZBSUxVUkUsIEhFUkUsDQorICAgICAgICAgICAgICJEQ0U6IENhbm5v
dCBvcGVuICVzLiIsIFBBU1NXRF9PVkVSUklERSkpOw0KKyAgICAgfQ0KKyAN
CisgICAgIHVzZV9kY2VfcGFzc3dkID0gMDsNCisgDQorICAgICAvKiBMb29r
IGZvciB0aGUgdXNlciBpbiBwYXNzd29yZF9vdmVycmlkZSBmaWxlICovDQor
ICAgICB3aGlsZSgoIHB3ID0gZmdldHB3ZW50KGZkKSkgIT0gTlVMTCApDQor
ICAgICB7DQorICAgICAgICAgaWYgKCBzdHJjbXAocC0+dXNlciwgcHctPnB3
X25hbWUpID09IDAgKSBicmVhazsNCisgICAgIH0NCisgDQorICAgICAvKiBp
ZiB0aGUgcGFzc3dvcmQgc3RydWN0dXJlIGlzIE5VTEwgdGhlbiB3ZSBoaXQg
RU9GICovDQorICAgICAvKiBpZiB0aGUgcGFzc3dvcmQgZmllbGQgaXMgbm90
IDEzIGNoYXJhY3RlcnMgbG9uZywgICovDQorICAgICAvKiB0aGVuIGl0IGlz
IG5vdCBhbiBlbmNyeXB0ZWQgcGFzc3dvcmQgZmllbGQsIHNvICAgICovDQor
ICAgICAvKiBjbG9zZSB0aGUgZmlsZSBhbmQgbW92ZSBvbiAqLw0KKyAgICAg
aWYgKCBwdyA9PSBOVUxMIHx8IHN0cmxlbihwdy0+cHdfcGFzc3dkKSAhPSAx
MyApDQorICAgICB7DQorICAgICAgICAgZmNsb3NlKGZkKTsNCisgICAgIH0N
CisgICAgIC8qIHRoZSBwYXNzd29yZCBmaWVsZCBpcyBnb29kIHNvIHNwZW5k
IHRoZSBDUFUgY3ljbGVzICovDQorICAgICAvKiB0byBlbmNyeXB0IGl0IGFu
ZCBzZWUgaWYgdGhlIGVudGVyZWQgcHcgaXMgdmFsaWQuLiAqLw0KKyAgICAg
ZWxzZQ0KKyAgICAgew0KKyAgICAgICAgIGlmICggc3RyY21wKCBjcnlwdChw
LT5wb3BfcGFybVsxXSwgcHctPnB3X3Bhc3N3ZCksIHB3LT5wd19wYXNzd2Qp
ID09IDAgKQ0KKyAgICAgICAgIHsNCisgICAgICAgICAgICAgdXNlX2RjZV9w
YXNzd2QgPSAxOw0KKyAgICAgICAgICAgICBmY2xvc2UoZmQpOw0KKyAgICAg
ICAgICAgICByZXR1cm4oUE9QX1NVQ0NFU1MpOw0KKyAgICAgICAgIH0NCisg
ICAgICAgICBlbHNlDQorICAgICAgICAgew0KKyAgICAgICAgICAgICBmY2xv
c2UoZmQpOw0KKyAgICAgICAgIH0NCisgICAgIH0NCisgDQorICAgICBERUJV
R19MT0cwICggcCwgIkNvbnN1bHRpbmcgRENFIFJlZ2lzdHJ5LiIgKTsNCisg
DQorICAgICAvKiB0aGVuIGdvIGFzayB0aGUgRENFIHJlZ2lzdHJ5ICovDQor
ICAgICBpZiAoIGRjZV9hdXRoX3RpbWUocCwgZXJyb3Jtc2csIERDRV9USU1F
T1VUKSA9PSAxICkNCisgICAgIHsNCisgICAgICAgICB1c2VfZGNlX3Bhc3N3
ZCA9IDE7DQorICAgICAgICAgcmV0dXJuKFBPUF9TVUNDRVNTKTsNCisgICAg
IH0NCisgDQorICAgICAvKiBpZiB3ZSBnZXQgdG8gaGVyZSB0aGVuIGV2ZXJ5
dGhpbmcgZmFpbGVkICovDQorICAgICByZXR1cm4ocG9wX21zZyhwLCBQT1Bf
RkFJTFVSRSwgSEVSRSwgIkRDRTogXCIlc1wiIixlcnJvcm1zZykpOw0KKyB9
DQorICNlbmRpZiAvKiBEQ0UgKi8NCmRpZmYgLWMgJ3Fwb3BwZXIzLjEuMi9w
b3BwZXIvcG9wX2luaXQuYycgJ3Fwb3BwZXIzLjIuMi9wb3BwZXIvcG9wX2lu
aXQuYycNCkluZGV4OiAuL3BvcHBlci9wb3BfaW5pdC5jDQoqKiogLi9wb3Bw
ZXIvcG9wX2luaXQuYwlTYXQgU2VwIDMwIDIzOjU0OjQxIDIwMDANCi0tLSAu
L3BvcHBlci9wb3BfaW5pdC5jCVR1ZSBOb3YgMjEgMTA6MTc6NTYgMjAwMA0K
KioqKioqKioqKioqKioqDQoqKiogNDMxLDQzNiAqKioqDQotLS0gNDMxLDQz
OCAtLS0tDQogICAgICAgKiBOb3RlIHRoYXQgd2UgemVyb2VkIHRoZSBibG9j
ayBhYm92ZSwgc28gd2UgcmVhbGx5IG9ubHkgbmVlZCB0bw0KICAgICAgICog
c2V0IGFueSBkZXNpcmVkIG5vbi16ZXJvL25vbi1OVUxMIHZhbHVlcy4NCiAg
ICAgICAqLw0KKyAgICAgcC0+ZGVidWcgICAgICAgICAgICAgICA9IDA7DQor
ICAgICBwLT5zdGF0cyAgICAgICAgICAgICAgID0gMDsNCiAgICAgIHAtPm1z
Z3NfZGVsZXRlZCAgICAgICAgPSAwOw0KICAgICAgcC0+bGFzdF9tc2cgICAg
ICAgICAgICA9IDA7DQogICAgICBwLT5ieXRlc19kZWxldGVkICAgICAgID0g
MDsNCioqKioqKioqKioqKioqKg0KKioqIDQ0NCw0NDkgKioqKg0KLS0tIDQ0
Niw0NTIgLS0tLQ0KICAgICAgcC0+a2VyYmVyb3MgICAgICAgICAgICA9IEZB
TFNFOw0KICAgICAgcC0+QWxsb3dDbGVhclRleHQgICAgICA9IENsZWFyVGV4
dERlZmF1bHQ7DQogICAgICBwLT5jaGVja19sb2NrX3JlZnJlc2ggID0gNTAw
MDsgLyoganVzdCBhIHdpbGQgZ3Vlc3MgKi8NCisgICAgIHAtPm1pbl9hY2Nl
c3NfdGltZSAgICAgPSAwOw0KICANCiAgI2lmZGVmICBLRVJCRVJPUw0KICAg
ICAgcC0+a2VyYmVyb3Nfc2VydmljZSAgICA9IEtFUkJFUk9TX1NFUlZJQ0U7
DQoqKioqKioqKioqKioqKioNCioqKiA0NjcsNDcyICoqKioNCi0tLSA0NzAs
NDc4IC0tLS0NCiAgICAgIGV4cGlyZSAgICAgICAgICAgICAgICAgPSAwOw0K
ICAjZW5kaWYgLyogQVVUT19ERUxFVEUgKi8NCiAgDQorICNpZmRlZiBMT0FE
TElNSVQNCisgICAgIHAtPmxvYWRsaW1pdCAgICAgID0gKGRvdWJsZSkgTE9B
RExJTUlUOw0KKyAjZW5kaWYgLyogTE9BRExJTUlUICovDQogIA0KICAgICAg
U3RhY2tJbml0ICggJiAoIHAtPkluUHJvY2VzcyApICk7DQogICAgICANCioq
KioqKioqKioqKioqKg0KKioqIDQ4Nyw0OTUgKioqKg0KICAgICAgLyogIA0K
ICAgICAgICogUHJvY2VzcyBjb21tYW5kIGxpbmUgYXJndW1lbnRzIA0KICAg
ICAgICovDQohICAgICB3aGlsZSAoICggYyA9IGdldG9wdCAoIGFyZ2NvdW50
LCBhcmdtZXNzYWdlLCAiYjpCY2REOmU6ZjprSzpMOnA6UnNTdDpUOnUiKSAp
ICE9IEVPRiApDQogICAgICAgICAgc3dpdGNoICggYyApIHsNCiAgDQogICAg
ICAgICAgLyogQnVsbGV0aW5zIHJlcXVlc3RlZCAqLw0KICAgICAgICAgIGNh
c2UgJ2InOg0KICAgICAgICAgICAgICBwLT5idWxsZGlyID0gb3B0YXJnOw0K
LS0tIDQ5Myw1MTAgLS0tLQ0KICAgICAgLyogIA0KICAgICAgICogUHJvY2Vz
cyBjb21tYW5kIGxpbmUgYXJndW1lbnRzIA0KICAgICAgICovDQohICAgICB3
aGlsZSAoICggYyA9IGdldG9wdCAoIGFyZ2NvdW50LCBhcmdtZXNzYWdlLCAi
YTpiOkJjZEQ6ZTpmOmtLOmw6TDpwOlJzU3Q6VDp1IikgKSAhPSBFT0YgKQ0K
ICAgICAgICAgIHN3aXRjaCAoIGMgKSB7DQogIA0KKyAjaWZkZWYgS0VFUF9U
RU1QX0RST1ANCisgICAgICAgICAvKiBtaW5pbXVtIGFjY2VzcyB0aW1lICov
DQorICAgICAgICAgY2FzZSAnYSc6DQorICAgICAgICAgICAgIHAtPm1pbl9h
Y2Nlc3NfdGltZSA9IGF0b2kob3B0YXJnKTsNCisgICAgICAgICAgICAgREVC
VUdfTE9HMSAoIHAsICJtaW5pbXVtIGFjY2VzcyB0aW1lID0gJXMgc2Vjb25k
cyIsDQorICAgICAgICAgICAgICAgICAgICAgICAgICBwLT5taW5fYWNjZXNz
X3RpbWUgKTsNCisgICAgICAgICAgICAgYnJlYWs7DQorICNlbmRpZiAvKiBL
RUVQX1RFTVBfRFJPUCAqLw0KKyANCiAgICAgICAgICAvKiBCdWxsZXRpbnMg
cmVxdWVzdGVkICovDQogICAgICAgICAgY2FzZSAnYic6DQogICAgICAgICAg
ICAgIHAtPmJ1bGxkaXIgPSBvcHRhcmc7DQoqKioqKioqKioqKioqKioNCioq
KiA1NjksNTc0ICoqKioNCi0tLSA1ODQsNTk4IC0tLS0NCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHAtPmtlcmJlcm9zX3NlcnZpY2UgKTsNCiAgICAg
ICAgICAgICAgYnJlYWs7DQogICNlbmRpZiAgLyogS0VSQkVST1MgKi8NCisg
DQorICNpZmRlZiBMT0FETElNSVQNCisgICAgICAgICAvKiAgRGVmaW5lIHRo
ZSBtYXggb24tbWludXRlIGxvYWQgYXZlcmFnZSBmb3IgY29ubmVjdGlvbnMg
Ki8NCisgICAgICAgICBjYXNlICdsJzoNCisgICAgICAgICAgICAgcC0+bG9h
ZGxpbWl0ID0gYXRvZihvcHRhcmcpOw0KKyAgICAgICAgICAgICBERUJVR19M
T0cxICggcCwgIk1heCBvbmUtbWludXRlIGxvYWQgYXZlcmFnZSA9ICVmIiwN
CisgICAgICAgICAgICAgICAgICAgICAgICAgIHAtPmxvYWRsaW1pdCApOw0K
KyAgICAgICAgICAgICBicmVhazsNCisgI2VuZGlmIC8qIExPQURMSU1JVCAq
Lw0KICANCiAgICAgICAgICAvKiAgVG91Y2ggdGhlIG1haWwgbG9jayBldmVy
eSB0aGlzIG1hbnkgbWVzc2FnZXMgKGNydWRlKSAgKi8NCiAgICAgICAgICBj
YXNlICdMJzoNCmRpZmYgLWMgJ3Fwb3BwZXIzLjEuMi9wb3BwZXIvcG9wX3Bh
c3MuYycgJ3Fwb3BwZXIzLjIuMi9wb3BwZXIvcG9wX3Bhc3MuYycNCkluZGV4
OiAuL3BvcHBlci9wb3BfcGFzcy5jDQoqKiogLi9wb3BwZXIvcG9wX3Bhc3Mu
YwlTdW4gTm92IDEyIDE5OjE4OjA3IDIwMDANCi0tLSAuL3BvcHBlci9wb3Bf
cGFzcy5jCVR1ZSBOb3YgMjEgMTI6NDA6MzkgMjAwMA0KKioqKioqKioqKioq
KioqDQoqKiogMTI1LDEzMiAqKioqDQotLS0gMTI1LDE0MCAtLS0tDQogICMg
IGRlZmluZSAgIENIRUNLX1NQX01BWCAgICBUUlVFDQogICNlbmRpZiAvKiBE
T05UX0NIRUNLX1NQX01BWCAqLw0KICANCisgI2lmZGVmIEtFRVBfVEVNUF9E
Uk9QDQorICNpbmNsdWRlICJnZW5wYXRoLmgiDQorICNlbmRpZiAvKiBLRUVQ
X1RFTVBfRFJPUCAqLw0KKyANCiAgI2RlZmluZSBTTEVFUF9TRUNPTkRTIDEw
DQogIA0KKyAjaWZkZWYgRENFDQorIGV4dGVybiBpbnQgdXNlX2RjZV9wYXNz
d2Q7DQorICNlbmRpZg0KKyANCiAgLyogVGhpcyBlcnJvciBtZXNzYWdlIGlz
IHZhZ3VlIG9uIHB1cnBvc2UgdG8gaGVscCBpbXByb3ZlDQogICAgIHNlY3Vy
aXR5IGF0IHRoZSBpbmNvbnZpZW5jZSBvZiBhZG1pbmlzdHJhdG9ycyBhbmQg
dXNlcnMgKi8NCiAgDQoqKioqKioqKioqKioqKioNCioqKiA2NzYsNjgyICoq
KioNCiAgDQogIA0KICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tIFBPUFNDTyBvciBIUFVYICovDQohICMgICAg
aWYgZGVmaW5lZChQT1BTQ08pIHx8IGRlZmluZWQoSFBVWCkNCiAgDQogICMg
ICAgICBpZmRlZiBQT1BTQ08NCiAgIyAgICAgICAgaW5jbHVkZSA8c3lzL3Nl
Y3VyaXR5Lmg+DQotLS0gNjg0LDY5MCAtLS0tDQogIA0KICANCiAgLyotLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBQ
T1BTQ08gb3IgSFBVWCAqLw0KISAjICBpZiAhZGVmaW5lZChVU0VfUEFNKSAm
JiAoZGVmaW5lZChQT1BTQ08pIHx8IGRlZmluZWQoSFBVWCkpDQogIA0KICAj
ICAgICAgaWZkZWYgUE9QU0NPDQogICMgICAgICAgIGluY2x1ZGUgPHN5cy9z
ZWN1cml0eS5oPg0KKioqKioqKioqKioqKioqDQoqKiogMTExNywxMTIyICoq
KioNCi0tLSAxMTI1LDExNzcgLS0tLQ0KICANCiAgI2VuZGlmICAvKiBTUEVD
X1BPUF9BVVRIICovDQogIA0KKyAjaWZkZWYgS0VFUF9URU1QX0RST1ANCisg
aW50IHBvcF9hY2Nlc3N0aW1lKHApDQorIFBPUCAqcDsNCisgLyogY2hlY2sg
dGltZSBzaW5jZSBsYXN0IFBPUCBhY2Nlc3MsIGFzIG1lYXN1cmVkIGJ5ICov
DQorIC8qIHRoZSB0aW1lc3RhbXAgb24gdGhlIFBPUF9EUk9QIGZpbGUuICBS
ZXR1cm5zIG9uZSAqLw0KKyAvKiBpZiBlbm91Z2ggdGltZSBoYXMgcGFzc2Vk
IChvciBubyBkcm9wIGZpbGUpIG9yICAgKi8NCisgLyogb3IgemVybyBpZiBt
aW5pbXVtIHRpbWUgaGFzIG5vdCBlbGFwc2VkLi4uICovDQorIHsNCisgICAg
IHN0cnVjdCBzdGF0IGJ1ZjsNCisgICAgIHRpbWVfdCBub3csIGRpZmY7DQor
IA0KKyAgICAgLyogaWYgdGhlIG1pbl9hY2Nlc3NfdGltZSBpcyBkZWZpbmVk
IGFzIHplcm8gKi8NCisgICAgIC8qIHRoZW4gaXQgd2FzIG5vdCBzZXQgYnkg
dGhlIHVzZXIsIHJldHVybiAgICovDQorICAgICBpZiAoIHAtPm1pbl9hY2Nl
c3NfdGltZSA9PSAwICkgcmV0dXJuKDEpOw0KKyANCisgCS8qIGZpZ3VyZSBv
dXQgd2hhdCB0aGUgZHJvcGZpbGUgaXMgKi8NCisgICAgIGlmICggZ2VucGF0
aCAoIHAtPnVzZXIsIA0KKyAgICAgICAgICAgICAgICAgICAgcC0+dGVtcF9k
cm9wLCANCisgICAgICAgICAgICAgICAgICAgIHNpemVvZihwLT50ZW1wX2Ry
b3ApLA0KKyAgICAgICAgICAgICAgICAgICAgR05QSF9QT1AsDQorICAgICAg
ICAgICAgICAgICAgICAocC0+ZGVidWcgPyBwLT50cmFjZSA6IE5VTEwpLA0K
KyAgICAgICAgICAgICAgICAgICAgcC0+ZGVidWcgKSA8IDAgKQ0KKyAgICAg
ICAgIHJldHVybiAoIHBvcF9tc2cgKCBwLCBQT1BfRkFJTFVSRSwgSEVSRSwN
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIltTWVMvVEVNUF0gVW5h
YmxlIHRvIGdldCB0ZW1wb3JhcnkgZHJvcCBuYW1lIiApICk7DQorIA0KKyAg
ICAgREVCVUdfTE9HMSAoIHAsICJhY2Nlc3N0aW1lOiBUZW1wb3JhcnkgbWFp
bGRyb3AgaXMgJyVzJyIsIHAtPnRlbXBfZHJvcCApOw0KKyANCisgICAgIC8q
IGlmIG5vIHBvcF9kcm9wIGZpbGUgdGhlbiBnbyBvbiAqLw0KKyAgICAgaWYg
KCBzdGF0KHAtPnRlbXBfZHJvcCwmYnVmKSAhPSAwICkNCisgICAgIHsNCisg
ICAgIAlyZXR1cm4oMSk7DQorICAgICB9DQorICAgICANCisgICAgIC8qIGdl
dCB0aGUgY3VycmVudCB0aW1lICovDQorICAgICBub3cgPSB0aW1lKE5VTEwp
Ow0KKyANCisgICAgIC8qIGRpZmZlcmVuY2UgaW4gdGltZXMgaW4gc2Vjb25k
cyAqLw0KKyAJLyogc2luY2UgbGFzdCBhY2Nlc3MgdGltZSAqLw0KKyAgICAg
ZGlmZiA9IChub3cgLSBidWYuc3RfYXRpbWUpOw0KKyANCisgICAgIERFQlVH
X0xPRzMgKCBwLCAiTGFzdCBhY2Nlc3Mgb2YgJXMgd2FzICVkIHNlY29uZHMs
IG1pbiBhY2Nlc3MgdGltZSBpcyAlZCIsDQorICAgICAgICAgcC0+dGVtcF9k
cm9wLCBkaWZmLCBwLT5taW5fYWNjZXNzX3RpbWUgKTsNCisgDQorICAgICBy
ZXR1cm4oKCBkaWZmIDwgcC0+bWluX2FjY2Vzc190aW1lICkgPyAwIDogMSAp
Ow0KKyB9DQorIA0KKyAjZW5kaWYgLyogS0VFUF9URU1QX0RST1AgKi8NCiAg
DQogIC8qIA0KICAgKiAgcGFzczogICBPYnRhaW4gdGhlIHVzZXIgcGFzc3dv
cmQgZnJvbSBhIFBPUCBjbGllbnQNCioqKioqKioqKioqKioqKg0KKioqIDEx
NjEsMTE2NyAqKioqDQogICAgICAgICAgREVCVUdfTE9HMiAoIHAsICJVc2Vy
ICUuMTI4cyBpbiBub25hdXRoZmlsZSAlLjI1NnMiLA0KICAgICAgICAgICAg
ICAgICAgICAgICBwLT51c2VyLCBOT05BVVRIRklMRSApOw0KICAgICAgICAg
IHNsZWVwICAoIFNMRUVQX1NFQ09ORFMgKTsNCiEgICAgICAgICByZXR1cm4g
KCBwb3BfbXNnICggcCwgUE9QX0ZBSUxVUkUsIEhFUkUsIEVSUk1TR19QVywg
cC0+dXNlciApICk7DQogICAgICB9DQogICNlbmRpZiAvKiBOT05BVVRIRklM
RSAqLw0KICANCi0tLSAxMjE2LDEyMjQgLS0tLQ0KICAgICAgICAgIERFQlVH
X0xPRzIgKCBwLCAiVXNlciAlLjEyOHMgaW4gbm9uYXV0aGZpbGUgJS4yNTZz
IiwNCiAgICAgICAgICAgICAgICAgICAgICAgcC0+dXNlciwgTk9OQVVUSEZJ
TEUgKTsNCiAgICAgICAgICBzbGVlcCAgKCBTTEVFUF9TRUNPTkRTICk7DQoh
ICAgICAgICAgcmV0dXJuICggcG9wX21zZyAoIHAsIFBPUF9GQUlMVVJFLCBI
RVJFLA0KISAgICAgICAgICAgICAgICAgICAgICAgICAgICJbQVVUSF0gJXMg
bm90IGF1dGhvcml6ZWQgdG8gdXNlIFBPUCIsDQohICAgICAgICAgICAgICAg
ICAgICAgICAgICAgcC0+dXNlciApICk7DQogICAgICB9DQogICNlbmRpZiAv
KiBOT05BVVRIRklMRSAqLw0KICANCioqKioqKioqKioqKioqKg0KKioqIDEx
NzMsMTE3OSAqKioqDQogICAgICAgICAgREVCVUdfTE9HMiAoIHAsICJVc2Vy
ICUuMTI4cyBub3QgaW4gYXV0aGZpbGUgJS4yNTZzIiwNCiAgICAgICAgICAg
ICAgICAgICAgICAgcC0+dXNlciwgQVVUSEZJTEUgKTsNCiAgICAgICAgICBz
bGVlcCAgKCBTTEVFUF9TRUNPTkRTICk7DQohICAgICAgICAgcmV0dXJuICgg
cG9wX21zZyAoIHAsIFBPUF9GQUlMVVJFLCBIRVJFLCBFUlJNU0dfUFcsIHAt
PnVzZXIgKSApOw0KICAgICAgfQ0KICAjZW5kaWYgLyogQVVUSEZJTEUgKi8N
CiAgDQotLS0gMTIzMCwxMjM4IC0tLS0NCiAgICAgICAgICBERUJVR19MT0cy
ICggcCwgIlVzZXIgJS4xMjhzIG5vdCBpbiBhdXRoZmlsZSAlLjI1NnMiLA0K
ICAgICAgICAgICAgICAgICAgICAgICBwLT51c2VyLCBBVVRIRklMRSApOw0K
ICAgICAgICAgIHNsZWVwICAoIFNMRUVQX1NFQ09ORFMgKTsNCiEgICAgICAg
ICByZXR1cm4gKCBwb3BfbXNnICggcCwgUE9QX0ZBSUxVUkUsIEhFUkUsDQoh
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIltBVVRIXSAlcyBub3QgYXV0
aG9yaXplZCB0byB1c2UgUE9QIiwNCiEgICAgICAgICAgICAgICAgICAgICAg
ICAgICBwLT51c2VyICkgKTsNCiAgICAgIH0NCiAgI2VuZGlmIC8qIEFVVEhG
SUxFICovDQogIA0KKioqKioqKioqKioqKioqDQoqKiogMTI3OSwxMjkzICoq
KioNCi0tLSAxMzM4LDEzNzEgLS0tLQ0KICAgICAgfQ0KICAjZW5kaWYgLyog
Q0hFQ0tfU0hFTEwgKi8NCiAgDQorICNpZmRlZiBLRUVQX1RFTVBfRFJPUA0K
KyAJLyoNCisgCS8qIGlmIHVzZXIgaGFzIGFjY2Vzc2VkIHBvcCB3aXRoaW4g
TUlOX0FDQ0VTU19USU1FDQorIAkvKiBhcyBkZWZpbmVkIGJ5IG10aW1lIG9u
IHRoZWlyIFBPUF9EUk9QIGZpbGUgdGhlbg0KKyAJLyogZGVueSBhY2Nlc3Mu
Li4NCisgCSovDQorIAlpZighcG9wX2FjY2Vzc3RpbWUocCkpDQorIAl7DQor
IAkJcmV0dXJuKHBvcF9tc2cocCwgUE9QX0ZBSUxVUkUsIEhFUkUsDQorIAkJ
CSJbQVVUSF0gJXM6IHlvdSBqdXN0IGNoZWNrZWQgeW91ciBtYWlsISIscC0+
dXNlcikpOw0KKyAJfQ0KKyAjZW5kaWYgLyogS0VFUF9URU1QX0RST1AgKi8N
CisgDQorICNpZmRlZiBEQ0UNCisgICAgIGlmIChhdXRoX3VzZXJfZGNlKHAp
ICE9IFBPUF9TVUNDRVNTDQorICNlbHNlDQogICAgICBpZiAoICggcC0+a2Vy
YmVyb3MgPyBhdXRoX3VzZXJfa2VyYmVyb3MgKCBwLCBwd3AgKSANCiAgICAg
ICAgICAgICAgICAgICAgICAgICA6IGF1dGhfdXNlciAgICAgICAgICAoIHAs
IHB3cCApIA0KICAgICAgICAgICApICE9IFBPUF9TVUNDRVNTIA0KKyAjZW5k
aWYgLyogRENFICovDQogICAgICAgICApIHsNCiAgICAgICAgICBwb3BfbG9n
ICggcCwgUE9QX1BSSU9SSVRZLCBIRVJFLA0KICAgICAgICAgICAgICAgICAg
ICJbQVVUSF0gRmFpbGVkIGF0dGVtcHRlZCBsb2dpbiB0byAlcyBmcm9tIGhv
c3QgKCVzKSAlcyIsDQogICAgICAgICAgICAgICAgICAgIHAtPnVzZXIsIHAt
PmNsaWVudCwgcC0+aXBhZGRyICk7DQogICAgICAgICAgZnJlZSAgICggcHcu
cHdfZGlyICk7DQorICNpZm5kZWYgRENFDQogICAgICAgICAgc2xlZXAgICgg
U0xFRVBfU0VDT05EUyApOw0KKyAjZW5kaWYgLyogRENFICovDQogICAgICAg
ICAgcmV0dXJuICggUE9QX0ZBSUxVUkUgKTsNCiAgICAgIH0NCiAgDQoqKioq
KioqKioqKioqKioNCioqKiAxMzY5LDEzNzcgKioqKg0KLS0tIDE0NDcsMTQ3
MCAtLS0tDQogICAgICAgKi8NCiAgDQogICNpZmRlZiBMT0dfTE9HSU4NCisg
I2lmIGRlZmluZWQoRENFKQ0KKyAgICAgaWYodXNlX2RjZV9wYXNzd2QgPT0g
MSkNCisgICAgIHsNCisgICAgICAgICBwb3BfbG9nKCBwLCBQT1BfUFJJT1JJ
VFksIEhFUkUsDQorICAgICAgICAgICAgICAiKHYlcykgJXMgRENFIGF1dGhl
bnRpY2F0ZWQgZnJvbSAlcyAoJXMpIiwNCisgICAgICAgICAgICAgICBWRVJT
SU9OLCBwLT51c2VyLCBwLT5jbGllbnQsIHAtPmlwYWRkciApOw0KKyAgICAg
fQ0KKyAgICAgZWxzZQ0KKyAgICAgew0KKyAgICAgICAgIHBvcF9sb2coIHAs
IFBPUF9QUklPUklUWSwgSEVSRSwNCisgICAgICAgICAgICAgICAiKHYlcykg
JXMgYXV0aGVudGljYXRlZCBmcm9tICVzICglcykiLA0KKyAgICAgICAgICAg
ICAgIFZFUlNJT04sIHAtPnVzZXIsIHAtPmNsaWVudCwgcC0+aXBhZGRyICk7
DQorICAgICB9DQorICNlbHNlDQogICAgICBwb3BfbG9nICggcCwgUE9QX1BS
SU9SSVRZLCBIRVJFLA0KICAgICAgICAgICAgICAgICIodiVzKSBQT1AgbG9n
aW4gYnkgdXNlciBcIiVzXCIgYXQgKCVzKSAlcyIsDQogICAgICAgICAgICAg
ICAgVkVSU0lPTiwgcC0+dXNlciwgcC0+Y2xpZW50LCBwLT5pcGFkZHIgKTsN
CisgI2VuZGlmIC8qIERDRSAqLw0KICAjZW5kaWYgLyogTE9HX0xPR0lOICov
DQogIA0KICAjaWZkZWYgRFJBQ19BVVRIDQpkaWZmIC1jICdxcG9wcGVyMy4x
LjIvcG9wcGVyL3BvcF91cGR0LmMnICdxcG9wcGVyMy4yLjIvcG9wcGVyL3Bv
cF91cGR0LmMnDQpJbmRleDogLi9wb3BwZXIvcG9wX3VwZHQuYw0KKioqIC4v
cG9wcGVyL3BvcF91cGR0LmMJVGh1IEF1ZyAxNyAyMToyNzoyNiAyMDAwDQot
LS0gLi9wb3BwZXIvcG9wX3VwZHQuYwlUdWUgTm92IDIxIDEwOjE3OjU3IDIw
MDANCioqKioqKioqKioqKioqKg0KKioqIDExMiwxMTcgKioqKg0KLS0tIDEx
MiwxMjAgLS0tLQ0KICB1bmxpbmtfdGVtcF9kcm9wICggUE9QICpwLCBjaGFy
ICpmaWxlbmFtZSwgY29uc3QgY2hhciAqZm4sIHNpemVfdCBsbiApDQogIHsN
CiAgI2lmZGVmICBLRUVQX1RFTVBfRFJPUA0KKyAgICAgLyogdXBkYXRlIHRo
ZSBhY2Nlc3MgdGltZSwgbm8gbWF0dGVyIHdoYXQgKi8NCisgICAgIC8qIHRo
aXMgc2hvd3MgdGhlIGxhc3QgdGltZSB1c2VyIGNoZWNrZWQgbWFpbCAqLw0K
KyAgICAgdG91Y2hfZmlsZSAoIGZpbGVuYW1lLCBwLT50cmFjZSApOw0KICAg
ICAgREVCVUdfTE9HMyAoIHAsICJLRUVQX1RFTVBfRFJPUCBzZXQgWyVzOiVs
dV07IHRlbXAgZHJvcCAoJXMpIG5vdCB1bmxpbmtlZCIsDQogICAgICAgICAg
ICAgICAgICAgZm4sIGxuLCBmaWxlbmFtZSApOw0KICAjZWxzZSAgIC8qIG5v
dCBLRUVQX1RFTVBfRFJPUCAqLw0KZGlmZiAtYyAncXBvcHBlcjMuMS4yL3Bv
cHBlci9wb3BwZXIuYycgJ3Fwb3BwZXIzLjIuMi9wb3BwZXIvcG9wcGVyLmMn
DQpJbmRleDogLi9wb3BwZXIvcG9wcGVyLmMNCioqKiAuL3BvcHBlci9wb3Bw
ZXIuYwlNb24gQXVnIDIxIDE4OjU4OjQ3IDIwMDANCi0tLSAuL3BvcHBlci9w
b3BwZXIuYwlUdWUgTm92IDIxIDEwOjE3OjU3IDIwMDANCioqKioqKioqKioq
KioqKg0KKioqIDc3LDgyICoqKioNCi0tLSA3Nyw5MiAtLS0tDQogICMgIGVu
ZGlmDQogICNlbmRpZiAvKiBTUEVDX1BPUF9BVVRIICovDQogIA0KKyAjaWYg
ZGVmaW5lZChMT0FETElNSVQpDQorICNpZiBkZWZpbmVkKFNPTEFSSVMyKQ0K
KyAjaW5jbHVkZSA8c3lzL2xvYWRhdmcuaD4NCisgI2VuZGlmIC8qIFNPTEFS
SVMyICovDQorICNpZiBkZWZpbmVkKEhQVVgpDQorICNpbmNsdWRlIDxzeXMv
cGFyYW0uaD4NCisgI2luY2x1ZGUgPHN5cy9wc3RhdC5oPg0KKyAjZW5kaWYg
LyogSFBVWCAqLw0KKyAjZW5kaWYgLyogTE9BRExJTUlUICovDQorIA0KICAj
aW5jbHVkZSAicG9wcGVyLmgiDQogICNpbmNsdWRlICJtaXNjLmgiDQogIA0K
KioqKioqKioqKioqKioqDQoqKiogMTUyLDE1OSAqKioqDQogICAgICBpZiAo
IHBvcF9pbml0ICggJnAsIGFyZ2MsIGFyZ3YgKSAhPSBQT1BfU1VDQ0VTUyAp
DQogICAgICAgICAgRVhJVCAoIDEgKTsNCiAgDQogIC8qICANCiEgICogVGVs
bCB0aGUgdXNlciB0aGF0IHdlIGFyZSBsaXN0ZW50aW5nIA0KICAgKi8NCiAg
ICAgIHsgLyogbG9jYWwgZW52ICovDQogICAgICBjaGFyICAgICAgICAgICAg
ICAgIG15bmFtZSBbIDEyOCBdOw0KLS0tIDE2MiwxODEgLS0tLQ0KICAgICAg
aWYgKCBwb3BfaW5pdCAoICZwLCBhcmdjLCBhcmd2ICkgIT0gUE9QX1NVQ0NF
U1MgKQ0KICAgICAgICAgIEVYSVQgKCAxICk7DQogIA0KKyAjaWYgZGVmaW5l
ZChMT0FETElNSVQpDQorICAgICAvKiBpZiB0aGUgc3lzdGVtIGxvYWQgdG9v
IGhpZ2gsIGRpZSBub3cgKi8NCisgICAgIGlmKHN5c3RlbV9sb2FkKCZwKSAh
PSAwKQ0KKyAgICAgew0KKyAgICAgICAgIHBvcF9tc2coICZwLFBPUF9GQUlM
VVJFLCBIRVJFLA0KKyAgICAgICAgICAgICAiU29ycnksIFBPUCBzZXJ2ZXIg
bG9hZCB0b28gaGlnaCAoJWcpLCB0cnkgbGF0ZXIuLi4iLA0KKyAgICAgICAg
ICAgICBwLmxvYWRsaW1pdCk7DQorICAgICAgICAgY2xvc2Vsb2coKTsNCisg
ICAgICAgICBleGl0KC0xKTsNCisgICAgIH0NCisgI2VuZGlmIC8qIExPQURM
SU1JVCAqLw0KKyANCiAgLyogIA0KISAgKiBUZWxsIHRoZSB1c2VyIHRoYXQg
d2UgYXJlIGxpc3RlbmluZyANCiAgICovDQogICAgICB7IC8qIGxvY2FsIGVu
diAqLw0KICAgICAgY2hhciAgICAgICAgICAgICAgICBteW5hbWUgWyAxMjgg
XTsNCioqKioqKioqKioqKioqKg0KKioqIDI5OSwzMDQgKioqKg0KLS0tIDMy
MSwzNjMgLS0tLQ0KICAgICAgY2xvc2Vsb2coKTsNCiAgICAgIHJldHVybiAo
IDAgKTsNCiAgfQ0KKyANCisgI2lmIGRlZmluZWQoTE9BRExJTUlUKQ0KKyBp
bnQgc3lzdGVtX2xvYWQocCkNCisgUE9QICpwOw0KKyAvKiBpcyB0aGUgb25l
LW1pbnV0ZSBzeXN0ZW0gbG9hZCBoaWdoZXIgdGhhbiB3ZSB3YW50PyAqLw0K
KyB7DQorICAgICBkb3VibGUgb25lX21pbl9sb2FkX2F2ZzsNCisgDQorICNp
ZiBkZWZpbmVkKFNPTEFSSVMyKQ0KKyAgICAgLyogc3BlY2lmaWMgdG8gU29s
YXJpcyAqLw0KKyAgICAgZG91YmxlIGxvYWRhdmdbM107DQorIA0KKyAgICAg
aWYoZ2V0bG9hZGF2Zyhsb2FkYXZnLCAzKSA9PSAtMSkNCisgICAgIHsNCisg
ICAgICAgICBwZXJyb3IoImdldGxvYWRhdmciKTsNCisgICAgICAgICBleGl0
KDEpOw0KKyAgICAgfQ0KKyAgICAgb25lX21pbl9sb2FkX2F2ZyA9IGxvYWRh
dmdbTE9BREFWR18xTUlOXTsNCisgI2VuZGlmIC8qIFNPTEFSSVMyICovDQor
IA0KKyAjaWYgZGVmaW5lZChIUFVYKQ0KKyAgICAgLyogY29tcG9uZW50cyBz
cGVjaWZpYyB0byBhbiBIUCAxMC54IG9yIDExLnggc3lzdGVtICovDQorICAg
ICBzdHJ1Y3QgcHN0X2R5bmFtaWMgcHNkOw0KKyANCisgICAgIGlmKHBzdGF0
X2dldGR5bmFtaWMoJnBzZCwgc2l6ZW9mKHBzZCksKHNpemVfdCkxLCAwKSA9
PSAtMSkNCisgICAgIHsNCisgICAgICAgICBwZXJyb3IoInBzdGF0X2R5bmFt
aWMiKTsNCisgICAgICAgICBleGl0KDEpOw0KKyAgICAgfQ0KKyAgICAgb25l
X21pbl9sb2FkX2F2ZyA9IHBzZC5wc2RfYXZnXzFfbWluOw0KKyAjZW5kaWYg
LyogSFBVWCAqLw0KKyANCisgICAgIERFQlVHX0xPRzIgKHAsICJDaGVja2lu
ZyBsb2FkIGxpbWl0LCBsb2FkID0gJWcsIGxpbWl0ID0gJWciLA0KKyAgICAg
ICAgICAgICAgICAgb25lX21pbl9sb2FkX2F2ZywgcC0+bG9hZGxpbWl0KTsN
CisgICAgIHJldHVybigoIG9uZV9taW5fbG9hZF9hdmcgPiBwLT5sb2FkbGlt
aXQgKSA/IDEgOiAwICk7DQorIH0NCisgI2VuZGlmIC8qIExPQURMSU1JVCAq
Lw0KICANCiAgam1wX2J1ZiBlbnY7DQogIA0KZGlmZiAtYyAncXBvcHBlcjMu
MS4yL3BvcHBlci9wb3BwZXIuaCcgJ3Fwb3BwZXIzLjIuMi9wb3BwZXIvcG9w
cGVyLmgnDQpJbmRleDogLi9wb3BwZXIvcG9wcGVyLmgNCioqKiAuL3BvcHBl
ci9wb3BwZXIuaAlGcmkgU2VwIDI5IDE4OjM5OjUzIDIwMDANCi0tLSAuL3Bv
cHBlci9wb3BwZXIuaAlUdWUgTm92IDIxIDEwOjE3OjU3IDIwMDANCioqKioq
KioqKioqKioqKg0KKioqIDUyOCw1MzMgKioqKg0KLS0tIDUyOCw1MzcgLS0t
LQ0KICAjZW5kaWYgLyogRFJBQ19BVVRIICovDQogIA0KICAgICAgQk9PTCAg
ICAgICAgICAgICAgICB1c2VyX29wdHM7ICAgICAgICAgICAgICAvKiBwcm9j
ZXNzIH4vLnFwb3BwZXItb3B0aW9ucyA/ICovDQorICAgICBpbnQgICAgICAg
ICAgICAgICAgIG1pbl9hY2Nlc3NfdGltZTsgICAgICAgIC8qIG1pbiB0aW1l
IGJldHdlZW4gYWNjZXNzZXMgKi8NCisgI2lmZGVmIExPQURMSU1JVA0KKyAg
ICAgZG91YmxlICAgICAgICAgICAgICBsb2FkbGltaXQ7ICAgICAgICAgICAg
ICAvKiBtYXggYWxsb3dlZCBsb2FkIGxpbWl0ICovDQorICNlbmRpZiAvKiBM
T0FETElNSVQgKi8NCiAgfTsNCiAgDQogIHR5cGVkZWYgZW51bSB7IEhBTkdV
UCwgIC8qIFNJR0hVUCAqLyANCmRpZmYgLWMgJ3Fwb3BwZXIzLjEuMi9wb3Bw
ZXIvdmVyc2lvbi5oJyAncXBvcHBlcjMuMi4yL3BvcHBlci92ZXJzaW9uLmgn
DQpJbmRleDogLi9wb3BwZXIvdmVyc2lvbi5oDQoqKiogLi9wb3BwZXIvdmVy
c2lvbi5oCVN1biBOb3YgMTIgMTk6MTg6NDcgMjAwMA0KLS0tIC4vcG9wcGVy
L3ZlcnNpb24uaAlUdWUgTm92IDIxIDEwOjI0OjMyIDIwMDANCioqKioqKioq
KioqKioqKg0KKioqIDEzLDIxICoqKioNCiAgICogIEN1cnJlbnQgdmVyc2lv
biBvZiBRcG9wcGVyDQogICAqLw0KICANCiEgI2RlZmluZSBWRVJTX05VTSAg
ICAgICAgICAiMy4xLjIiDQogIA0KISAjaWZkZWYgS0VSQkVST1MNCiAgIyAg
aWZkZWYgS1JCNA0KICAjICAgIGRlZmluZSBWRVJTX1NVRjEgICAgICIta3Ji
LUlWIg0KICAjICBlbmRpZiAvKiBLUkI0ICovDQotLS0gMTMsMjMgLS0tLQ0K
ICAgKiAgQ3VycmVudCB2ZXJzaW9uIG9mIFFwb3BwZXINCiAgICovDQogIA0K
ISAjZGVmaW5lIFZFUlNfTlVNICAgICAgICAgICIzLjIuMiINCiAgDQohICNp
ZmRlZiBEQ0UNCiEgI2RlZmluZSBWRVJTX1NVRjEgICAgICAgICAiLURDRSIN
CiEgI2VsaWYgS0VSQkVST1MNCiAgIyAgaWZkZWYgS1JCNA0KICAjICAgIGRl
ZmluZSBWRVJTX1NVRjEgICAgICIta3JiLUlWIg0KICAjICBlbmRpZiAvKiBL
UkI0ICovDQojIyMjIEVuZCBvZiBQYXRjaCBkYXRhICMjIyMNCg0KIyMjIyBB
cHBseVBhdGNoIGRhdGEgZm9sbG93cyAjIyMjDQojIERhdGEgdmVyc2lvbiAg
ICAgICAgOiAxLjANCiMgRGF0ZSBnZW5lcmF0ZWQgICAgICA6IFR1ZSBOb3Yg
MjEgMTI6NDM6MTAgMjAwMA0KIyBHZW5lcmF0ZWQgYnkgICAgICAgIDogbWFr
ZXBhdGNoIDIuMDANCiMgUmVjdXJzZSBkaXJlY3RvcmllcyA6IFllcw0KIyBw
ICdJTlNUQUxMJyA1MjA4NSA5NzQ4MTk4NzYgMDEwMDQwMA0KIyBwICdjb21t
b24vZ2VucGF0aC5jJyAxMzk3NSA5NzQ4MTk4NzYgMDEwMDQwMA0KIyBwICdj
b25maWcuaC5pbicgMTQwOTUgOTc0ODE5ODc2IDAxMDA0MDANCiMgcCAnY29u
ZmlndXJlLmluJyAzNDQ1MyA5NzQ4MTk4NzYgMDEwMDQwMA0KIyBwICdkb2Mv
Q2hhbmdlcycgODg2IDk3NDgxOTg3NiAwMTAwNjAwDQojIHAgJ3BvcHBlci9N
YWtlZmlsZS5pbicgNDM0MyA5NzQ4MTk4NzYgMDEwMDQwMA0KIyBjICdwb3Bw
ZXIvZGNlX3B3ZW50LmMnIDAgOTc0ODE5ODc2IDAxMDA2MDANCiMgYyAncG9w
cGVyL3BvcF9hdXRoZGNlLmMnIDAgOTc0ODE5ODc2IDAxMDA2MDANCiMgcCAn
cG9wcGVyL3BvcF9pbml0LmMnIDI4NzMyIDk3NDgxOTg3NiAwMTAwNDAwDQoj
IHAgJ3BvcHBlci9wb3BfcGFzcy5jJyA0MDM3OCA5NzQ4Mjg0MzkgMDEwMDYw
MA0KIyBwICdwb3BwZXIvcG9wX3VwZHQuYycgMjc4NDMgOTc0ODE5ODc3IDAx
MDA0MDANCiMgcCAncG9wcGVyL3BvcHBlci5jJyAxNTc4NyA5NzQ4MTk4Nzcg
MDEwMDQwMA0KIyBwICdwb3BwZXIvcG9wcGVyLmgnIDI4MTEzIDk3NDgxOTg3
NyAwMTAwNDAwDQojIHAgJ3BvcHBlci92ZXJzaW9uLmgnIDgyNiA5NzQ4MjAy
NzIgMDEwMDYwMA0KIyMjIyBFbmQgb2YgQXBwbHlQYXRjaCBkYXRhICMjIyMN
Cg0KIyMjIyBFbmQgb2YgUGF0Y2gga2l0IFtjcmVhdGVkOiBUdWUgTm92IDIx
IDEyOjQzOjEwIDIwMDBdICMjIyMNCiMjIyMgQ2hlY2tzdW06IDE0NjMgNDk4
MTQgNDQzMzQgIyMjIw0K
---559023410-824023566-979574063=:7537--

From: "Vigilante, Anthony" <anthony.vigilante at corp.bellsouth dot net>
Subject: RE: too many popper processes
Date: Mon, 15 Jan 2001 11:15:39 -0500

 Jeff,

Did you develop this patch?

-----Original Message-----
From: Jeff Earickson
To: Vigilante, Anthony
Cc: Subscribers of Qpopper
Sent: 1/15/01 10:54 AM
Subject: Re: too many popper processes

Hi,

The attached file is my patchfile to 3.1.2.  Among the several
additional
features is the "with-loadlimit" feature, which is what you want/need.

The folks at Qualcomm seem comatose about picking up and adding the
features included in this patch.  I sent it in long ago....

** 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
------------------------------------------------------------------------
----

 <<>> 

Date: Mon, 15 Jan 2001 11:38:05 -0500 (EST)
From: Jeff Earickson <jaearick at colby dot edu>
Subject: RE: too many popper processes

yes.

** 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 Mon, 15 Jan 2001, Vigilante, Anthony wrote:

> Date: Mon, 15 Jan 2001 11:15:39 -0500
> From: "Vigilante, Anthony" <anthony.vigilante at corp.bellsouth dot net>
> To: 'Jeff Earickson ' <jaearick at colby dot edu>
> Cc: 'Subscribers of Qpopper ' <qpopper at lists.pensive dot org>
> Subject: RE: too many popper processes
>
>  Jeff,
>
> Did you develop this patch?
>
> -----Original Message-----
> From: Jeff Earickson
> To: Vigilante, Anthony
> Cc: Subscribers of Qpopper
> Sent: 1/15/01 10:54 AM
> Subject: Re: too many popper processes
>
> Hi,
>
> The attached file is my patchfile to 3.1.2.  Among the several
> additional
> features is the "with-loadlimit" feature, which is what you want/need.
>
> The folks at Qualcomm seem comatose about picking up and adding the
> features included in this patch.  I sent it in long ago....
>
> ** 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
> ------------------------------------------------------------------------
> ----
>
>  <<>>
>


From: "Kenneth Porter" <shiva at well dot com>
Date: Mon, 15 Jan 2001 13:27:17 -0800
Subject: Re: Forwarding

On Mon, 15 Jan 2001 11:02:47 +0100 (CET), root wrote:

>i suspect that this is a sendmail matter, but im trying this
>list first.

For addition to the qpopper FAQ:

Q: I've got a problem with sendmail.

A: Sendmail support and FAQs can be found at the following sites:

http://www.sendmail.org (open source sendmail)
http://www.sendmail.com (commercial sendmail)
http://www.sendmail.net (sendmail news)
news:comp.mail.sendmail (sendmail discussion)

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



Date: Tue, 16 Jan 2001 17:58:07 +1300 (NZDT)
From: Alan Brown <alan at manawatu.gen dot nz>
Subject: RE: too many popper processes

> The folks at Qualcomm seem comatose about picking up and adding the
> features included in this patch.  I sent it in long ago....

The folks at Qualcomm seem comatose about picking up most recent
patches, which is one of the reasons I'm offended about Qpopper LX being
announced.

They'd be useful even if in a contrib directory. It saves reinventing
the wheel in 40-50 different locations.

AB


From: "Paolo Zampieri" <pzampier at it.ip-plus dot net>
Subject: Problems with genpath.c
Date: Tue, 16 Jan 2001 11:01:15 +0100

Hi all,
yesterday I posted to signal a problem I encountered with qpopper3.0.2;
debugging the code, I find out that all the problem is relative to a define
in popper.h:
#define MAXDROPLEN 64
in fact in genpath.c:297 this cause the test to be true, hence the return -1
and the error from pop_dropcopy.c:1081,
(this is because my home dirs are very very long, and I use home dirs as
repositories for maildrops).
I've changed the variable to 256, recompiled, and everything seems to work
fine!
Now I'm asking myself if this value was 64 for a particular reason, for
security, or something else, and if my change can have some impact.
Hope will interest,
regards
Paolo Zampieri


Date: Tue, 16 Jan 2001 19:11:18 +0900
From: Peter Evans <peter at gol dot com>
Subject: Re: Problems with genpath.c

Paolo Zampieri (pzampier at it.ip-plus dot net) wrote:
> #define MAXDROPLEN 64

> Now I'm asking myself if this value was 64 for a particular reason, for
> security, or something else, and if my change can have some impact.

	I have long since had it as 256. I suspect it is historical,
	since they expect  something like /home/users/luser and not
	/var/spool/mail/mbox03.fields.gol.com/cfe/4df/ef.peter.

	But then, our mail system is "there are no users, there is only
	mail." so it needs stupid hashes to prevent toy OS's like
	Linux/*bsd slowing down with tens of thousands of files in a directory.
	(It used to be irix, which doesnt care about that until you are
	stupid enough to type "ls" in a directory with 66000 files in ^^;)
	

	P
	----+

-- 
Remember The 5 K's.	 The Justified Agents of Munya-munya-muuuu ...

Date: Tue, 16 Jan 2001 17:11:13 +0100
From: Carles Xavier Munyoz =?iso-8859-1?Q?Baldó?= 
Subject: Re: Problems with genpath.c

Paolo Zampieri wrote:
> yesterday I posted to signal a problem I encountered with qpopper3.0.2;
> debugging the code, I find out that all the problem is relative to a define
> in popper.h:
> #define MAXDROPLEN 64
[...]

Yes, I believe that you are rigth.
I have a modified version of the QPopper 3.1.2 and I have seen this
problem too.

Greetings.
---
Carles Xavier Munyoz Baldó / cmunyoz at es.wanadoo dot com
Servicios IP - Experto en Sistemas IP
Wanadoo España - http://www.wanadoo.es/
Tel: +34 96 5040046 - Fax: +34 96 5040047
---

Date: Tue, 16 Jan 2001 11:35:38 -0500
From: Theresa M Peter <theresa at email.uc dot edu>
Subject: Re: Forwarding

NO NO NO.

You do not want to do this through sendmail's aliases file.  You want to 
create a .forward file in the users home directory.

Here are the problems with doing this in the alias file.

1.)  You only want root editing that file and you don't want everyone that
 
is trying to forward their mail to a new address contacting the sys 
admin  (at least I do not want to be contacted by my users to do this for 
them!!!!)  The more self service oriented you make things the more they are
 
going to be used.
2.)  Too many aliases listed in the file will cause problems
3.)  Each time the alias file gets changed it will need to be rebuilt, the
 
more aliases you have the longer it takes.  (We separate our aliases out 
into several different files and then rebuilt the alias file nightly from 
those files, keeps things a little more organized)

It is much easier to have users create .forward files in their home 
directories.  Do users have shell access to directory? We have created a 
web form that allows users to authenticate and then create their forward 
file.  It will then send a test message.  If they do not receive the test 
message within 10 min then they need to retry setting up their forward or 
calling our helpdesk for support.

At 12:08 PM 1/15/01 +0100, Jörg Bretschneider wrote:
>At 11:02 15.01.01 +0100, you wrote:
>>I want to have mail, that comes in to a user on my mailserver
>>to be automatically forwarded to another mailadress.
>>how do i do this?
>>i suspect that this is a sendmail matter, but im trying this
>>list first.
>>thanks
>>/PJ
>
>You're right, this is a sendmail thing. You should use the sendmail 
>aliases file and define the local address of your user as an alias for his
 
>other address. The syntax is
>   localusername   :     remoteaddress
>the file "aliases" usually resides in "/etc/mail". Don't forget to re-read
 
>the aliases file into the sendmail aliases database "aliases.db", usually
 
>done by giving
>         $> newaliases
>an the prompt, which is an shell synonym for
>         $> sendmail -bi
>Bye
>
>Joerg
>
>   Joerg Bretschneider
>   Mathematician
>
>   HP-UX + SAMBA system administrator
>   Technical University of Dresden, Civil Engineering
>   Chair of Applied Informatics in CE
>   mail: sysadmin at cib.bau.tu-dresden dot de
>
>
>
>
>   Joerg Bretschneider
>   Mathematician
>
>   HP-UX + SAMBA system administrator
>   Technical University of Dresden, Civil Engineering
>   Chair of Applied Informatics in CE
>   mail: sysadmin at cib.bau.tu-dresden dot de
>


Date: Wed, 17 Jan 2001 08:58:21 +0000
From: peter.allen at moon-light.co dot uk
Subject: Re: Forwarding

And in case any are using qmail, the equivalent is a file called .qmail in
the user's home directory containing a line such as 

&new.alias at somewhere_else dot com

Peter


At 11:35 16/01/2001 -0500, Theresa M Peter wrote:
>NO NO NO.
>
>You do not want to do this through sendmail's aliases file.  You want to 
>create a .forward file in the users home directory.
>
>Here are the problems with doing this in the alias file.
>
>1.)  You only want root editing that file and you don't want everyone that
 
>is trying to forward their mail to a new address contacting the sys 
>admin  (at least I do not want to be contacted by my users to do this for
 
>them!!!!)  The more self service oriented you make things the more they are
 
>going to be used.
>2.)  Too many aliases listed in the file will cause problems
>3.)  Each time the alias file gets changed it will need to be rebuilt, the
 
>more aliases you have the longer it takes.  (We separate our aliases out 
>into several different files and then rebuilt the alias file nightly from
 
>those files, keeps things a little more organized)
>
>It is much easier to have users create .forward files in their home 
>directories.  Do users have shell access to directory? We have created a 
>web form that allows users to authenticate and then create their forward 
>file.  It will then send a test message.  If they do not receive the test
 
>message within 10 min then they need to retry setting up their forward or
 
>calling our helpdesk for support.
>
>At 12:08 PM 1/15/01 +0100, Jörg Bretschneider wrote:
>>At 11:02 15.01.01 +0100, you wrote:
>>>I want to have mail, that comes in to a user on my mailserver
>>>to be automatically forwarded to another mailadress.
>>>how do i do this?
>>>i suspect that this is a sendmail matter, but im trying this
>>>list first.
>>>thanks
>>>/PJ
>>
>>You're right, this is a sendmail thing. You should use the sendmail 
>>aliases file and define the local address of your user as an alias for his
 
>>other address. The syntax is
>>   localusername   :     remoteaddress
>>the file "aliases" usually resides in "/etc/mail". Don't forget to re-read
 
>>the aliases file into the sendmail aliases database "aliases.db", usually
 
>>done by giving
>>         $> newaliases
>>an the prompt, which is an shell synonym for
>>         $> sendmail -bi
>>Bye
>>
>>Joerg
>>
>>   Joerg Bretschneider
>>   Mathematician
>>
>>   HP-UX + SAMBA system administrator
>>   Technical University of Dresden, Civil Engineering
>>   Chair of Applied Informatics in CE
>>   mail: sysadmin at cib.bau.tu-dresden dot de
>>
>>
>>
>>
>>   Joerg Bretschneider
>>   Mathematician
>>
>>   HP-UX + SAMBA system administrator
>>   Technical University of Dresden, Civil Engineering
>>   Chair of Applied Informatics in CE
>>   mail: sysadmin at cib.bau.tu-dresden dot de
>>
>


Date: Thu, 18 Jan 2001 16:21:51 +0100 (CET)
From: root <root at mail.2cab dot net>
Subject: Re: Forwarding

Thanks every one for the help.
i used the .forward file, and it works perfect.
thanks again 
/PJ


Date: Fri, 19 Jan 2001 12:06:05 +0000
From: Mike <midimuso at cyberdude dot com>
Subject: Unknown users

Hi,

Just wondering if anyone can answer my query?

Having recently installed Qpopper, I'd like to set up an auto-reply 
text file, for informing those people who send email to ALL UNKNOWN 
email addresses/users that the address does not exist/user unknown.

EG Local or internet email addressed  to zxzxzxznbsgb at camera dot com 
should get an email saying "Sorry that user is unknown, email 
returned"

How do I go about that?

Many thanks for all your help and advice.

Mike

Date: Fri, 19 Jan 2001 21:28:38 +0900
From: Peter Evans <peter at gol dot com>
Subject: Re: Unknown users

Mike (midimuso at cyberdude dot com) wrote:
> From: Mike <midimuso at cyberdude dot com>
 
> Just wondering if anyone can answer my query?

	Please go to:

	http://www.sendmail.org/
	(qmail.org, postfix.org, exim.org[1] to suit.)

	And start reading.

	This functionality is in the Mail server, not qpopper, so
	you are asking on the wrong list.
 
> Having recently installed Qpopper, I'd like to set up an auto-reply 
> text file, for informing those people who send email to ALL UNKNOWN 
> email addresses/users that the address does not exist/user unknown.

	P


[1] did I leave any out?

	

-- 
Remember The 5 K's.	 The Justified Agents of Munya-munya-muuuu ...

From: "John MacKenzie" <john at elehost dot com>
Subject: EOF undefined error
Date: Fri, 19 Jan 2001 10:32:44 -0500

This is a multi-part message in MIME format.

------=_NextPart_000_0091_01C08203.28D53CB0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

Hello List,

I know there is a FAQ entry about this particular error:

EOF from  at <IP address> (IP ADDRESS): [0] 60 (Operation timed out); 0 
(Undefined error: 0)
(null) at <IP address> (IPADDRESS): -ERR POP EOF or I/O Error: 60 
(Operation timed out); 0

but the explaination given does not really help me this time as this 
time, I have tested the connection between us and the client and there 
does not appear to be connection problems (used ping and visual route), 
and it actually seems quite fast for a home.com user!.

I was just wondering if there is anything else that could be causing 
this one customer to be constantly getting a POP timeout. (and it only 
seems to be the one customer).

any additional insights would be most appreciated.

Thanks

John MacKenzie

"If only we can overcome cruelty, to human and animal, with love and 
compassion we shall stand at the threshold of a new era in human moral
and spiritual evolution--and realize, at last, our most unique quality: 
humanity"

-- Jane Goodall : Reason for Hope

------=_NextPart_000_0091_01C08203.28D53CB0
Content-Type: text/html;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META content="text/html; charset=iso-8859-1" 
http-equiv=Content-Type>
<META content="MSHTML 5.00.2314.1000" name=GENERATOR>
<STYLE></STYLE>
</HEAD>
<BODY bgColor=#ffffff>
<DIV><FONT size=2>Hello List,</FONT></DIV>
<DIV>&nbsp;</DIV>
<DIV><FONT size=2>I know there is a FAQ entry about this particular 
error:</FONT></DIV>
<DIV>&nbsp;</DIV>
<DIV><FONT size=2>EOF from&nbsp; at&nbsp;&lt;IP address&gt; (IP 
ADDRESS): [0] 60 
(Operation timed out); 0 (Undefined error: 0)</FONT></DIV>
<DIV><FONT size=2>(null) at&nbsp;&lt;IP address&gt; (IPADDRESS): -ERR 
POP EOF or 
I/O Error: 60 (Operation timed out); 0</FONT></DIV>
<DIV>&nbsp;</DIV>
<DIV><FONT size=2>but the explaination given does not really help me 
this time 
as this time, I have tested the connection between us and the client and 
there 
does not appear to be connection problems (used ping and visual route), 
and it 
actually seems quite fast for a home.com user!.</FONT></DIV>
<DIV>&nbsp;</DIV>
<DIV><FONT size=2>I was just wondering if there is anything else that 
could be 
causing this one customer to be constantly getting a POP timeout. (and 
it only 
seems to be the one customer).</FONT></DIV>
<DIV>&nbsp;</DIV>
<DIV><FONT size=2>any additional insights would be most 
appreciated.</FONT></DIV>
<DIV>&nbsp;</DIV>
<DIV><FONT size=2>Thanks</FONT></DIV>
<DIV>&nbsp;</DIV>
<DIV><FONT size=2>John MacKenzie</FONT></DIV>
<DIV><FONT size=2><BR>"If only we can overcome cruelty, to human and 
animal, 
with love and <BR>compassion we shall stand at the threshold of a new 
era in 
human moral<BR>and spiritual evolution--and realize, at last, our most 
unique 
quality: humanity"</FONT></DIV>
<DIV>&nbsp;</DIV>
<DIV><FONT size=2>-- Jane Goodall : Reason for 
Hope</FONT></DIV></BODY></HTML>

------=_NextPart_000_0091_01C08203.28D53CB0--


Date: Fri, 19 Jan 2001 10:43:19 -0800
From: Randall Gellens <randy at qualcomm dot com>
Subject: Re: EOF undefined error

At 10:32 AM -0500 1/19/01, John MacKenzie wrote:

>  I was just wondering if there is anything else that could be 
> causing this one customer to be constantly getting a POP timeout. 
> (and it only seems to be the one customer).

I've seen this mostly with Outlook [Express] -- is that what's being 
used?  Try having the user increase the timeout in the client.  Also, 
some users have downloaded Registry hacks that monkey with the TCP 
parameters, which could lead to packet fragmentation, retransmission, 
etc.  A packet sniff of a failing session should be helpful in 
determining that.

Date: Fri, 19 Jan 2001 14:27:51 -0600
From: admin at radiks dot net
Subject: SMTP via POP

I may be mistaken, but not too long ago someone posted about POP auth that 
then allowed SMTP throught the same connection? If anyone has that or a URL 
please let me know.

------
Jesse Ahrens
Systems Administrator
Radiks Internet Access
An Earthlink Company
jessea at corp.earthlink dot net
phone (402) 346-4026
fax (208)247-0401


From: "Kenneth Porter" <shiva at well dot com>
Date: Fri, 19 Jan 2001 12:41:35 -0800
Subject: Re: SMTP via POP

On Fri, 19 Jan 2001 14:27:51 -0600, admin at radiks dot net wrote:

>I may be mistaken, but not too long ago someone posted about POP auth that 
>then allowed SMTP throught the same connection? If anyone has that or a URL 
>please let me know.

You want DRAC: http://mail.cc.umanitoba.ca/drac/

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



From: Gerhard Gonter <gonter at maestria.wu-wien.ac dot at>
Subject: Re: SMTP via POP
Date: Fri, 19 Jan 2001 22:07:05 +0100 (MEZ)

According to Kenneth Porter:
> On Fri, 19 Jan 2001 14:27:51 -0600, admin at radiks dot net wrote:
> >then allowed SMTP throught the same connection? If anyone has that or a URL 
> [...]
> You want DRAC: http://mail.cc.umanitoba.ca/drac/

SMTP through the same POP connection?  That's what qpopper's XMIT
extension was used for.  What happend with that POP protocol
extension or does any modern POP mail client use that?  Why is that
not used anymore?

+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

From: "Kenneth Porter" <shiva at well dot com>
Date: Fri, 19 Jan 2001 13:45:13 -0800
Subject: Re: SMTP via POP

On Fri, 19 Jan 2001 22:07:05 +0100 (MEZ), Gerhard Gonter wrote:

>SMTP through the same POP connection?  That's what qpopper's XMIT
>extension was used for.  What happend with that POP protocol
>extension or does any modern POP mail client use that?  Why is that
>not used anymore?

Oh, I guess I misunderstood. I use that feature regularly with the
Well, one of my ISP's. My MUA, PMMail2K (http://www.pmmail2000.com/),
supports it.

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



Date: Fri, 19 Jan 2001 22:50:44 +0100
From: Torsten Mueller <torsten at archesoft dot de>
Subject: Re: SMTP via POP

admin at radiks dot net schrieb:
> 
> I may be mistaken, but not too long ago someone posted about POP auth that
> then allowed SMTP throught the same connection? If anyone has that or a URL
> please let me know.
> 

http://ps-ax.com/Relay/

Relayer is another program for smtp after pop, if you were
looking for this.
For my standard Suse 7.0 i had to rebuild sendmail, cause
the installed sendmail
didn't seemed to use the Berkeley 2.x format for access.db

Greetings Torsten

Date: Fri, 19 Jan 2001 22:57:20 +0100
From: Torsten Mueller <torsten at archesoft dot de>
Subject: Re: Unknown users

Hey,

Mike schrieb:
> 
> EG Local or internet email addressed  to zxzxzxznbsgb at camera dot com
> should get an email saying "Sorry that user is unknown, email
> returned"
> 
> How do I go about that?
> 

if you use sendmail, i would use virtusertable like this:

mike at camera dot com		mike
webmaster at camera dot com	mike
postmaster at camera dot com	mike
girlfriend at camera dot com	sandy

@camera.com		error:nouser No such user here

Greetings Torsten

Date: Fri, 19 Jan 2001 17:44:19 -0600
From: Ray Kase <kase at warren.k12.in dot us>
Subject: Upgrade Problems 3.1.2

Hello All,

Here's the scenario:

1. OS: HP-UX 11
2. Previous Version of Qpopper: 2.53 (works fine, but I need to turn off 
reverse DNS lookup - hence upgrade to version 3.x)
3. I've configured 3.1.2 with --enable-servermode and --with-pam=pop3 - 
that goes OK.
4. make - goes OK
5. copy the executable...fine
6. change inetd.conf to point to new executable (popper -R)
7. HUP inetd
8. restart sendmail
9. When user checks mail they get
		ERR [AUTH] PAM authentication failed for user "xxx". System error 4.

10. If I return everything back to pointing to the old executable...no 
error messages.

Can anybody tell me what step I've missed or what I need to do next?

Thanks,

Ray Kase
___________________________________________________________________
Ray Kase - Chief Information Officer, MSD Warren Township
email: kase at warren.k12.in dot us Voice:317-532-6135 Fax: 317-532-6148

"... imagine the edge of chaos as a place where there is enough
innovation to keep a system vibrant and enough stability to keep
it from collapsing into anarchy"     - Michael Crichton


From: "Kenneth Porter" <shiva at well dot com>
Date: Fri, 19 Jan 2001 15:28:06 -0800
Subject: Re: Upgrade Problems 3.1.2

On Fri, 19 Jan 2001 17:44:19 -0600, Ray Kase wrote:

>3. I've configured 3.1.2 with --enable-servermode and --with-pam=pop3 - 
>that goes OK.
>9. When user checks mail they get
>		ERR [AUTH] PAM authentication failed for user "xxx". System error 4.
>Can anybody tell me what step I've missed or what I need to do next?

Did you create /etc/pam.d/pop3?

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



Date: Sat, 20 Jan 2001 16:01:54 +1300 (NZDT)
From: Alan Brown <alan at manawatu.gen dot nz>
Subject: Re: SMTP via POP

On Fri, 19 Jan 2001, Kenneth Porter wrote:

> On Fri, 19 Jan 2001 14:27:51 -0600, admin at radiks dot net wrote:
> 
> >I may be mistaken, but not too long ago someone posted about POP auth that 
> >then allowed SMTP throught the same connection? If anyone has that or a URL 
> >please let me know.
> 
> You want DRAC: http://mail.cc.umanitoba.ca/drac/

If you're talking about POP message uploading, it's enabled by default
in Qpopper(*). All you have to do it switch it on in the client.

Mac Eudora does this via menu selection. PC Eudora requires ini file
hacking.

POP upload bypasses SMTP access issues entirely.

(*)And all other related pop3 servers derived from the original BSD
berkeley popper.

AB


Date: Mon, 22 Jan 2001 16:58:40 -0600
From: Ray Kase <kase at warren.k12.in dot us>
Subject: Upgrade Problems 3.1.2

On Fri, 19 Jan 2001 17:44:19 -0600, Ray Kase wrote:
 >3. I've configured 3.1.2 with --enable-servermode and --with-pam=pop3 -
 >that goes OK.
 >9. When user checks mail they get
 > ERR [AUTH] PAM authentication failed for user "xxx". System error 4.
 >Can anybody tell me what step I've missed or what I need to do next?


 >>Did you create /etc/pam.d/pop3?


My system uses pam.conf instead of  /etc/pam.d/pop3.

I did, however create that file (/etc/pam.d/pop3) and copy the contents of 
pam.conf in there. Still does not work with 3.1.2, but works OK with 2.53.

Any Ideas?

Thanks,

Ray Kase
___________________________________________________________________
Ray Kase - Chief Information Officer, MSD Warren Township
email: kase at warren.k12.in dot us Voice:317-532-6135 Fax: 317-532-6148

"... imagine the edge of chaos as a place where there is enough
innovation to keep a system vibrant and enough stability to keep
it from collapsing into anarchy"     - Michael Crichton


Date: Mon, 22 Jan 2001 16:48:46 -0800
From: Randall Gellens <randy at qualcomm dot com>
Subject: Re: Upgrade Problems 3.1.2

At 4:58 PM -0600 1/22/01, Ray Kase wrote:

>  On Fri, 19 Jan 2001 17:44:19 -0600, Ray Kase wrote:
>>3. I've configured 3.1.2 with --enable-servermode and --with-pam=pop3 -
>>that goes OK.
>>9. When user checks mail they get
>   > ERR [AUTH] PAM authentication failed for user "xxx". System error 4.
>>Can anybody tell me what step I've missed or what I need to do next?
>
>
>>>Did you create /etc/pam.d/pop3?
>
>
>  My system uses pam.conf instead of  /etc/pam.d/pop3.
>
>  I did, however create that file (/etc/pam.d/pop3) and copy the 
> contents of pam.conf in there. Still does not work with 3.1.2, but 
> works OK with 2.53.
>
>  Any Ideas?
>
>  Thanks,
>
>  Ray Kase
>  ___________________________________________________________________
>  Ray Kase - Chief Information Officer, MSD Warren Township
>  email: kase at warren.k12.in dot us Voice:317-532-6135 Fax: 317-532-6148
>
>  "... imagine the edge of chaos as a place where there is enough
>  innovation to keep a system vibrant and enough stability to keep
>  it from collapsing into anarchy"     - Michael Crichton


If you're using Solaris and seeing "'System error 4", this is a bug 
in older versions of Solaris PAM.  See 
<http://www.eudora.com/qpopper/faq.html#PAM_Solaris>.

Date: Tue, 23 Jan 2001 10:51:27 +0100
From: Carles Xavier Munyoz =?iso-8859-1?Q?Baldó?= 
Subject: Bug reported by me.

--------------C8A570152DCDAFB16B65A1CB
Content-Type: text/plain; charset=iso-8859-1
Content-Transfer-Encoding: 8bit

Hi,
I'm one of your Qpopper LX Beta Testers.
With this email I forward you a message in which I reported you the bug
in the accept() system call, bug that you have solved in the last
version of QPopper following my indications.
I have seen that in the Revisions part of the INSTALL file you have said
that this bug was reported by Stevens:

 *     12/21/00  [rcg]
 *              - Ignore additional accept() errors, per Stevens 5.11

The bug was reported by me, not by Stevens. Stevens is the author of the
book in which explains the problem, but I'm the person who discovered
the bug.

I'm very very disappointed about this.
I believe that you must be more careful with the people reporting bugs
to you, and helping you make your software (now comercial software) more
powerfull and stable. The only thing I want is appear as a bug reporter:
 *              - Ignore additional accept() errors, per Carles Xavier
Munyoz Baldo


I hope that this will be a mistake and you will correct it soon.
If you don't correct it you will lost a beta tester and a bug reporter.

Greetings.
---
Carles Xavier Munyoz BaldÛ / cmunyoz at es.wanadoo dot com
Servicios IP - Experto en Sistemas IP
Wanadoo EspaÒa - http://www.wanadoo.es/
Tel: +34 96 5040046 - Fax: +34 96 5040047
---
--------------C8A570152DCDAFB16B65A1CB
Content-Type: message/rfc822
Content-Transfer-Encoding: 8bit
Content-Disposition: inline

X-Mozilla-Status2: 00000000
Message-ID: <3A3650AD.C18DE7E3 at es.wanadoo dot com>
Date: Tue, 12 Dec 2000 17:22:05 +0100
From: Carles Xavier Munyoz =?iso-8859-1?Q?Baldó?= <cmunyoz at es.wanadoo dot com>
Reply-To: cmunyoz at es.wanadoo dot com
Organization: Wanadoo =?iso-8859-1?Q?España?
X-Mailer: Mozilla 4.72 [en] (X11; U; Linux 2.2.14-5.0 i686)
X-Accept-Language: en
MIME-Version: 1.0
To: qpopper at qualcomm dot com
CC: Qpopper Mailing List <qpopper at lists.pensive dot org>
Subject: Bug in the standalone QPopper.
Content-Type: multipart/mixed;
 boundary="------------11811689497B1B181EEE8924"

This is a multi-part message in MIME format.
--------------11811689497B1B181EEE8924
Content-Type: text/plain; charset=iso-8859-1
Content-Transfer-Encoding: 8bit

Hi,
I'm using the POP server QPopper 3.1.2 in standalone mode in my
UltraSparc computer with Solaris 2.6.

I have seen that sometimes (once time every day, approximately) the
listening popper process dies. Using the truss command (a system call
tracer) over the listening popper process I have discovered the reason
for which this process dies:
accept(3, 0xEFFFFC60, 0xEFFFFC24)               = 5
fork()                                          = 26330
close(5)                                        = 0
accept(3, 0xEFFFFC60, 0xEFFFFC24)               = 5
fork()                                          = 26331
close(5)                                        = 0
accept(3, 0xEFFFFC60, 0xEFFFFC24)               = 5
fork()                                          = 26332
close(5)                                        = 0
accept(3, 0xEFFFFC60, 0xEFFFFC24)               Err#130 ECONNABORTED
write(2, " p o p p e r :   S e r v".., 71)      Err#9 EBADF
fstat(4, 0xEFFFF5F0)                            = 0
time()                                          = 976629260
getpid()                                        = 1222 [1]
putmsg(4, 0xEFFFECA8, 0xEFFFEC9C, 0)            = 0
open("/etc/.syslog_door", O_RDONLY)             = 5
door_info(5, 0xEFFFEBE0)                        = 0
getpid()                                        = 1222 [1]
door_call(5, 0xEFFFEBC8)                        = 0
close(5)                                        = 0
sigaction(SIGABRT, 0x00000000, 0xEFFFFB10)      = 0
llseek(0, 0, SEEK_CUR)                          = 0
llseek(3, 0, SEEK_CUR)                          Err#29 ESPIPE
llseek(2, 0, SEEK_CUR)                          = 0
sigaction(SIGABRT, 0xEFFFF9E0, 0xEFFFFA60)      = 0
sigfillset(0xEF629808)                          = 0
sigprocmask(SIG_UNBLOCK, 0xEFFFFA90, 0x00000000) = 0
getpid()                                        = 1222 [1]
kill(1222, SIGABRT)                             = 0
    Received signal #6, SIGABRT [default]
      siginfo: SIGABRT pid=1222 uid=0
        *** process killed ***


Looking at the source code I have seen that Qpopper considers the
ECONNABORTED error returned by the system call accept as a fatal error
and when it receives it, finish its execution.

This may be used as a DNS attack, for this reason I have made this patch
to the main.c file:
504c504
<             if ( errno == EINTR )
---
>             if ( errno == EINTR || errno=ìONNABORTED || errno==EPROTO )


In the attached image of this email you can see the section 5.11 of the
book Unix Network Programming (W. Richard Stevens, ISBN: 0-13-490012-X),
in which Stevens explains when the errors ECONNABORTED and EPROTO are
generated by the system call accept, and why they are considered
nonfatal errors.

I hope this helps you and wait for news about this possible bug.
Greetings.
---
Carles Xavier Munyoz BaldÛ / cmunyoz at es.wanadoo dot com
Servicios IP - Experto en Sistemas IP
Wanadoo EspaÒa - http://www.wanadoo.es/
Tel: +34 96 5040046 - Fax: +34 96 5040047
---
--------------11811689497B1B181EEE8924
Content-Type: image/gif;
 name="stevens.gif"
Content-Transfer-Encoding: base64
Content-Disposition: inline;
 filename="stevens.gif"

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
fMm3fM33fNE3fdV3fdlX/CIAAAA7
--------------11811689497B1B181EEE8924--


--------------C8A570152DCDAFB16B65A1CB--


From: Steven Fletcher <stevenf at shellnet.co dot uk>
Subject: UIDL Bug
Date: Tue, 23 Jan 2001 13:53:00 -0000

Hi all,

I believe I've discovered a bug/feature that affects the message UIDL's
generated from within init_dropinfo(). I have tested this with both versions
2.53 and 3.1.2, both configured with --enable-hash-spool=2.

Causes: Messages with identical 'From' separators, Date, Message-ID, Subject
headers and the first line of all 'received' headers generate identical
UIDLs. These are *exceptional* circumstances, but are possible. The example
in the case that I have seen is an email sent to many addresses from a
yahoo.com webmail account. The recipients all pointed to the same POP3
maildrop on our server, and Yahoo sent each message on a separate connection
(i.e., the [full] received header generated by our copy of sendmail was
unique, but the first line of the said headers were all the same. All the
messages arrived at our mailserver on the same second.

Problem: The MD5 generation only looks at the above lines(?). It would be
useful to reference the entire Received: header in the event that it is a
multi-line header. As far as I am aware, it is standard practice to split a
header that spans multiple lines by preceding the following line(s) with a
\t - perhaps it's worth having a function that is able to return fully such
headers so that they can be put through the digest completely.

Anyway, feel free to let me know what you lot think :).

--
Steven Fletcher 
stevenf at shellnet.co dot uk

Date: Sun, 21 Jan 2001 22:12:49 +0100
From: hypnose at t-online dot de (guenter wessling)
Subject: Re: SMTP via POP

Hi.

At 16:01 20.01.01 +1300, you wrote:
>On Fri, 19 Jan 2001, Kenneth Porter wrote:
>If you're talking about POP message uploading, it's enabled by default
>in Qpopper(*). All you have to do it switch it on in the client.


Does this mean: no more smtp ? Popper does everything ?


>Mac Eudora does this via menu selection. PC Eudora requires ini file
>hacking.


How would the hack look like ?


>POP upload bypasses SMTP access issues entirely.


What does this mean ?


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

Date: Wed, 24 Jan 2001 03:37:12 +1300 (NZDT)
From: Alan Brown <alan at manawatu.gen dot nz>
Subject: Re: SMTP via POP

On Sun, 21 Jan 2001, guenter wessling wrote:

> Hi.
> 
> At 16:01 20.01.01 +1300, you wrote:
> >On Fri, 19 Jan 2001, Kenneth Porter wrote:
> >If you're talking about POP message uploading, it's enabled by default
> >in Qpopper(*). All you have to do it switch it on in the client.
> 
> 
> Does this mean: no more smtp ? Popper does everything ?

For message upload, yes, but XMIT is an unofficial pop3 extension.

> >Mac Eudora does this via menu selection. PC Eudora requires ini file
> >hacking.
> 
> How would the hack look like ?

It's documented at eudora.com :-)

> >POP upload bypasses SMTP access issues entirely.
> 
> What does this mean ?

It means romaing users can send mail without having to install smtp-auth
or pop-before-smtp

AB


Last updated on 23 Jan 2001 by Pensive Mailing List Admin