delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2001/05/15/10:45:43

Mailing-List: contact cygwin-help AT sourceware DOT cygnus DOT com; run by ezmlm
List-Subscribe: <mailto:cygwin-subscribe AT sources DOT redhat DOT com>
List-Archive: <http://sources.redhat.com/ml/cygwin/>
List-Post: <mailto:cygwin AT sources DOT redhat DOT com>
List-Help: <mailto:cygwin-help AT sources DOT redhat DOT com>, <http://sources.redhat.com/ml/#faqs>
Sender: cygwin-owner AT sources DOT redhat DOT com
Delivered-To: mailing list cygwin AT sources DOT redhat DOT com
Date: Tue, 15 May 2001 10:42:14 -0400
From: rich-paul AT rich-paul DOT net
To: screen AT uni-erlangen DOT de
Cc: cygwin AT cygwin DOT com
Subject: screen-3.9.8 ported to cygwin
Message-ID: <20010515104214.A27771@monster.master-link.org>
Mime-Version: 1.0
User-Agent: Mutt/1.3.16i
X-Operating-System: Linux monster 2.2.18-crypt

--2oS5YaxWCcQjTEyO
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable


I have made a naive attempt at porting screen 3.9.8 to cygwin,
and seem to have met with limited success.  The thing (seems to)
work, but when you close your last screen, it kills your console
window.  you also may have to mkdir /dev/pts  I'm afraid that I
can't remember the name, but screen'll tell you what file when
you first run it.  <G>

Here is the patch:

A remaining issue is that some of the commands in make install
fail, due to the .exe thing.  I tried to play with adding
@EXEEXT@ to Makefile.in (and AC_EXEEXT to configure.in) but found
that I started creating /opt/screen/bin/screen-3.9.8.exe.exe

At this point I decided to live with the error message. <G>

Are there porting guidelines that describe when/where/how to use
AC_EXEEXT? =20


This is a Quick'n'Filthy[tm] patch.  It may electrocute you.  Don't
blame me.

------cut here-------
Index: screen-3.9.8/misc.c
diff -c screen-3.9.8/misc.c:1.1.1.1 screen-3.9.8/misc.c:1.2
*** screen-3.9.8/misc.c:1.1.1.1	Tue May 15 09:26:54 2001
--- screen-3.9.8/misc.c	Tue May 15 10:14:37 2001
***************
*** 22,28 ****
   */
 =20
  #include "rcs.h"
! RCS_ID("$Id: misc.c,v 1.1.1.1 2001/05/15 13:26:54 linguist Exp $ FAU")
 =20
  #include <sys/types.h>
  #include <sys/stat.h>	/* mkdir() declaration */
--- 22,28 ----
   */
 =20
  #include "rcs.h"
! RCS_ID("$Id: misc.c,v 1.2 2001/05/15 14:14:37 linguist Exp $ FAU")
 =20
  #include <sys/types.h>
  #include <sys/stat.h>	/* mkdir() declaration */
***************
*** 638,644 ****
     */
  # endif /* NEEDSETENV */
  #else /* USESETENV */
! # if defined(linux) || defined(__convex__) || (BSD >=3D 199103)
    setenv(var, value, 0);
  # else
    setenv(var, value);
--- 638,645 ----
     */
  # endif /* NEEDSETENV */
  #else /* USESETENV */
! # if defined(linux) || defined(__convex__) || (BSD >=3D 199103) \
!   || defined(__CYGWIN__)
    setenv(var, value, 0);
  # else
    setenv(var, value);
Index: screen-3.9.8/pty.c
diff -c screen-3.9.8/pty.c:1.1.1.1 screen-3.9.8/pty.c:1.2
*** screen-3.9.8/pty.c:1.1.1.1	Tue May 15 09:26:54 2001
--- screen-3.9.8/pty.c	Tue May 15 10:14:37 2001
***************
*** 22,28 ****
   */
 =20
  #include "rcs.h"
! RCS_ID("$Id: pty.c,v 1.1.1.1 2001/05/15 13:26:54 linguist Exp $ FAU")
 =20
  #include <sys/types.h>
  #include <sys/stat.h>
--- 22,28 ----
   */
 =20
  #include "rcs.h"
! RCS_ID("$Id: pty.c,v 1.2 2001/05/15 14:14:37 linguist Exp $ FAU")
 =20
  #include <sys/types.h>
  #include <sys/stat.h>
***************
*** 37,43 ****
  #endif
 =20
  /* for solaris 2.1, Unixware (SVR4.2) and possibly others */
! #ifdef HAVE_SVR4_PTYS
  # include <sys/stropts.h>
  #endif
 =20
--- 37,43 ----
  #endif
 =20
  /* for solaris 2.1, Unixware (SVR4.2) and possibly others */
! #if defined(HAVE_SVR4_PTYS) && !defined(__CYGWIN__)
  # include <sys/stropts.h>
  #endif
 =20
Index: screen-3.9.8/screen.c
diff -c screen-3.9.8/screen.c:1.1.1.1 screen-3.9.8/screen.c:1.2
*** screen-3.9.8/screen.c:1.1.1.1	Tue May 15 09:26:54 2001
--- screen-3.9.8/screen.c	Tue May 15 10:14:37 2001
***************
*** 31,37 ****
   */
 =20
  #include "rcs.h"
! RCS_ID("$Id: screen.c,v 1.1.1.1 2001/05/15 13:26:54 linguist Exp $ FAU")
 =20
 =20
  #include <sys/types.h>
--- 31,37 ----
   */
 =20
  #include "rcs.h"
! RCS_ID("$Id: screen.c,v 1.2 2001/05/15 14:14:37 linguist Exp $ FAU")
 =20
 =20
  #include <sys/types.h>
***************
*** 919,926 ****
--- 919,929 ----
  	      n =3D (eff_uid =3D=3D 0 && (real_uid || (st.st_mode & 0775) !=3D 0=
775)) ? 0755 :
  	          (eff_gid =3D=3D st.st_gid && eff_gid !=3D real_gid) ? 0775 :
  		  0777;
+ // NT is hopelessly broken in the area of file permissions.
+ #ifndef __CYGWIN__
  	      if ((st.st_mode & 0777) !=3D n)
  		Panic(0, "Directory '%s' must have mode %03o.", SockDir, n);
+ #endif
  	    }
  	  sprintf(SockPath, "%s/S-%s", SockDir, LoginName);
  	  if (access(SockPath, F_OK))
***************
*** 950,957 ****
--- 953,962 ----
        if (st.st_uid !=3D real_uid)
  	Panic(0, "You are not the owner of %s.", SockPath);
      }
+ #ifndef __CYGWIN__
    if ((st.st_mode & 0777) !=3D 0700)
      Panic(0, "Directory %s must have mode 700.", SockPath);
+ #endif
    SockName =3D SockPath + strlen(SockPath) + 1;
    *SockName =3D 0;
    (void) umask(oumask);

------cut here-------


--=20
----------------------------------------------------------------
If this message was not digitally signed, do you really know who
it came from?  Encrypt everything, let the NSA sort it out.

Unsolicited email advertisements will be proofread and returned
for a fee of $500 per message.  Sending such email to this
address implies acceptance
of these terms.

--2oS5YaxWCcQjTEyO
Content-Type: application/x-pkcs7-signature
Content-Disposition: attachment; filename="smime.p7s"
Content-Transfer-Encoding: base64

TUlNRS1WZXJzaW9uOiAxLjAKQ29udGVudC1UeXBlOiBtdWx0aXBhcnQvc2lnbmVkOyBwcm90
b2NvbD0iYXBwbGljYXRpb24veC1wa2NzNy1zaWduYXR1cmUiOyBtaWNhbGc9c2hhMTsgYm91
bmRhcnk9Ii0tLS1EOTZCODNEQjcxMkIwN0ExRTA0QzY2OTdGNkY3Nzc3OSIKClRoaXMgaXMg
YW4gUy9NSU1FIHNpZ25lZCBtZXNzYWdlCgotLS0tLS1EOTZCODNEQjcxMkIwN0ExRTA0QzY2
OTdGNkY3Nzc3OQpDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9dXMtYXNjaWkK
Q29udGVudC1EaXNwb3NpdGlvbjogaW5saW5lCkNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6
IHF1b3RlZC1wcmludGFibGUKCgpJIGhhdmUgbWFkZSBhIG5haXZlIGF0dGVtcHQgYXQgcG9y
dGluZyBzY3JlZW4gMy45LjggdG8gY3lnd2luLAphbmQgc2VlbSB0byBoYXZlIG1ldCB3aXRo
IGxpbWl0ZWQgc3VjY2Vzcy4gIFRoZSB0aGluZyAoc2VlbXMgdG8pCndvcmssIGJ1dCB3aGVu
IHlvdSBjbG9zZSB5b3VyIGxhc3Qgc2NyZWVuLCBpdCBraWxscyB5b3VyIGNvbnNvbGUKd2lu
ZG93LiAgeW91IGFsc28gbWF5IGhhdmUgdG8gbWtkaXIgL2Rldi9wdHMgIEknbSBhZnJhaWQg
dGhhdCBJCmNhbid0IHJlbWVtYmVyIHRoZSBuYW1lLCBidXQgc2NyZWVuJ2xsIHRlbGwgeW91
IHdoYXQgZmlsZSB3aGVuCnlvdSBmaXJzdCBydW4gaXQuICA8Rz4KCkhlcmUgaXMgdGhlIHBh
dGNoOgoKQSByZW1haW5pbmcgaXNzdWUgaXMgdGhhdCBzb21lIG9mIHRoZSBjb21tYW5kcyBp
biBtYWtlIGluc3RhbGwKZmFpbCwgZHVlIHRvIHRoZSAuZXhlIHRoaW5nLiAgSSB0cmllZCB0
byBwbGF5IHdpdGggYWRkaW5nCkBFWEVFWFRAIHRvIE1ha2VmaWxlLmluIChhbmQgQUNfRVhF
RVhUIHRvIGNvbmZpZ3VyZS5pbikgYnV0IGZvdW5kCnRoYXQgSSBzdGFydGVkIGNyZWF0aW5n
IC9vcHQvc2NyZWVuL2Jpbi9zY3JlZW4tMy45LjguZXhlLmV4ZQoKQXQgdGhpcyBwb2ludCBJ
IGRlY2lkZWQgdG8gbGl2ZSB3aXRoIHRoZSBlcnJvciBtZXNzYWdlLiA8Rz4KCkFyZSB0aGVy
ZSBwb3J0aW5nIGd1aWRlbGluZXMgdGhhdCBkZXNjcmliZSB3aGVuL3doZXJlL2hvdyB0byB1
c2UKQUNfRVhFRVhUPyA9MjAKCgpUaGlzIGlzIGEgUXVpY2snbidGaWx0aHlbdG1dIHBhdGNo
LiAgSXQgbWF5IGVsZWN0cm9jdXRlIHlvdS4gIERvbid0CmJsYW1lIG1lLgoKLS0tLS0tY3V0
IGhlcmUtLS0tLS0tCkluZGV4OiBzY3JlZW4tMy45LjgvbWlzYy5jCmRpZmYgLWMgc2NyZWVu
LTMuOS44L21pc2MuYzoxLjEuMS4xIHNjcmVlbi0zLjkuOC9taXNjLmM6MS4yCioqKiBzY3Jl
ZW4tMy45LjgvbWlzYy5jOjEuMS4xLjEJVHVlIE1heSAxNSAwOToyNjo1NCAyMDAxCi0tLSBz
Y3JlZW4tMy45LjgvbWlzYy5jCVR1ZSBNYXkgMTUgMTA6MTQ6MzcgMjAwMQoqKioqKioqKioq
KioqKioKKioqIDIyLDI4ICoqKioKICAgKi8KID0yMAogICNpbmNsdWRlICJyY3MuaCIKISBS
Q1NfSUQoIiRJZDogbWlzYy5jLHYgMS4xLjEuMSAyMDAxLzA1LzE1IDEzOjI2OjU0IGxpbmd1
aXN0IEV4cCAkIEZBVSIpCiA9MjAKICAjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CiAgI2luY2x1
ZGUgPHN5cy9zdGF0Lmg+CS8qIG1rZGlyKCkgZGVjbGFyYXRpb24gKi8KLS0tIDIyLDI4IC0t
LS0KICAgKi8KID0yMAogICNpbmNsdWRlICJyY3MuaCIKISBSQ1NfSUQoIiRJZDogbWlzYy5j
LHYgMS4yIDIwMDEvMDUvMTUgMTQ6MTQ6MzcgbGluZ3Vpc3QgRXhwICQgRkFVIikKID0yMAog
ICNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KICAjaW5jbHVkZSA8c3lzL3N0YXQuaD4JLyogbWtk
aXIoKSBkZWNsYXJhdGlvbiAqLwoqKioqKioqKioqKioqKioKKioqIDYzOCw2NDQgKioqKgog
ICAgICovCiAgIyBlbmRpZiAvKiBORUVEU0VURU5WICovCiAgI2Vsc2UgLyogVVNFU0VURU5W
ICovCiEgIyBpZiBkZWZpbmVkKGxpbnV4KSB8fCBkZWZpbmVkKF9fY29udmV4X18pIHx8IChC
U0QgPj0zRCAxOTkxMDMpCiAgICBzZXRlbnYodmFyLCB2YWx1ZSwgMCk7CiAgIyBlbHNlCiAg
ICBzZXRlbnYodmFyLCB2YWx1ZSk7Ci0tLSA2MzgsNjQ1IC0tLS0KICAgICAqLwogICMgZW5k
aWYgLyogTkVFRFNFVEVOViAqLwogICNlbHNlIC8qIFVTRVNFVEVOViAqLwohICMgaWYgZGVm
aW5lZChsaW51eCkgfHwgZGVmaW5lZChfX2NvbnZleF9fKSB8fCAoQlNEID49M0QgMTk5MTAz
KSBcCiEgICB8fCBkZWZpbmVkKF9fQ1lHV0lOX18pCiAgICBzZXRlbnYodmFyLCB2YWx1ZSwg
MCk7CiAgIyBlbHNlCiAgICBzZXRlbnYodmFyLCB2YWx1ZSk7CkluZGV4OiBzY3JlZW4tMy45
LjgvcHR5LmMKZGlmZiAtYyBzY3JlZW4tMy45LjgvcHR5LmM6MS4xLjEuMSBzY3JlZW4tMy45
LjgvcHR5LmM6MS4yCioqKiBzY3JlZW4tMy45LjgvcHR5LmM6MS4xLjEuMQlUdWUgTWF5IDE1
IDA5OjI2OjU0IDIwMDEKLS0tIHNjcmVlbi0zLjkuOC9wdHkuYwlUdWUgTWF5IDE1IDEwOjE0
OjM3IDIwMDEKKioqKioqKioqKioqKioqCioqKiAyMiwyOCAqKioqCiAgICovCiA9MjAKICAj
aW5jbHVkZSAicmNzLmgiCiEgUkNTX0lEKCIkSWQ6IHB0eS5jLHYgMS4xLjEuMSAyMDAxLzA1
LzE1IDEzOjI2OjU0IGxpbmd1aXN0IEV4cCAkIEZBVSIpCiA9MjAKICAjaW5jbHVkZSA8c3lz
L3R5cGVzLmg+CiAgI2luY2x1ZGUgPHN5cy9zdGF0Lmg+Ci0tLSAyMiwyOCAtLS0tCiAgICov
CiA9MjAKICAjaW5jbHVkZSAicmNzLmgiCiEgUkNTX0lEKCIkSWQ6IHB0eS5jLHYgMS4yIDIw
MDEvMDUvMTUgMTQ6MTQ6MzcgbGluZ3Vpc3QgRXhwICQgRkFVIikKID0yMAogICNpbmNsdWRl
IDxzeXMvdHlwZXMuaD4KICAjaW5jbHVkZSA8c3lzL3N0YXQuaD4KKioqKioqKioqKioqKioq
CioqKiAzNyw0MyAqKioqCiAgI2VuZGlmCiA9MjAKICAvKiBmb3Igc29sYXJpcyAyLjEsIFVu
aXh3YXJlIChTVlI0LjIpIGFuZCBwb3NzaWJseSBvdGhlcnMgKi8KISAjaWZkZWYgSEFWRV9T
VlI0X1BUWVMKICAjIGluY2x1ZGUgPHN5cy9zdHJvcHRzLmg+CiAgI2VuZGlmCiA9MjAKLS0t
IDM3LDQzIC0tLS0KICAjZW5kaWYKID0yMAogIC8qIGZvciBzb2xhcmlzIDIuMSwgVW5peHdh
cmUgKFNWUjQuMikgYW5kIHBvc3NpYmx5IG90aGVycyAqLwohICNpZiBkZWZpbmVkKEhBVkVf
U1ZSNF9QVFlTKSAmJiAhZGVmaW5lZChfX0NZR1dJTl9fKQogICMgaW5jbHVkZSA8c3lzL3N0
cm9wdHMuaD4KICAjZW5kaWYKID0yMApJbmRleDogc2NyZWVuLTMuOS44L3NjcmVlbi5jCmRp
ZmYgLWMgc2NyZWVuLTMuOS44L3NjcmVlbi5jOjEuMS4xLjEgc2NyZWVuLTMuOS44L3NjcmVl
bi5jOjEuMgoqKiogc2NyZWVuLTMuOS44L3NjcmVlbi5jOjEuMS4xLjEJVHVlIE1heSAxNSAw
OToyNjo1NCAyMDAxCi0tLSBzY3JlZW4tMy45Ljgvc2NyZWVuLmMJVHVlIE1heSAxNSAxMDox
NDozNyAyMDAxCioqKioqKioqKioqKioqKgoqKiogMzEsMzcgKioqKgogICAqLwogPTIwCiAg
I2luY2x1ZGUgInJjcy5oIgohIFJDU19JRCgiJElkOiBzY3JlZW4uYyx2IDEuMS4xLjEgMjAw
MS8wNS8xNSAxMzoyNjo1NCBsaW5ndWlzdCBFeHAgJCBGQVUiKQogPTIwCiA9MjAKICAjaW5j
bHVkZSA8c3lzL3R5cGVzLmg+Ci0tLSAzMSwzNyAtLS0tCiAgICovCiA9MjAKICAjaW5jbHVk
ZSAicmNzLmgiCiEgUkNTX0lEKCIkSWQ6IHNjcmVlbi5jLHYgMS4yIDIwMDEvMDUvMTUgMTQ6
MTQ6MzcgbGluZ3Vpc3QgRXhwICQgRkFVIikKID0yMAogPTIwCiAgI2luY2x1ZGUgPHN5cy90
eXBlcy5oPgoqKioqKioqKioqKioqKioKKioqIDkxOSw5MjYgKioqKgotLS0gOTE5LDkyOSAt
LS0tCiAgCSAgICAgIG4gPTNEIChlZmZfdWlkID0zRD0zRCAwICYmIChyZWFsX3VpZCB8fCAo
c3Quc3RfbW9kZSAmIDA3NzUpICE9M0QgMD0KNzc1KSkgPyAwNzU1IDoKICAJICAgICAgICAg
IChlZmZfZ2lkID0zRD0zRCBzdC5zdF9naWQgJiYgZWZmX2dpZCAhPTNEIHJlYWxfZ2lkKSA/
IDA3NzUgOgogIAkJICAwNzc3OworIC8vIE5UIGlzIGhvcGVsZXNzbHkgYnJva2VuIGluIHRo
ZSBhcmVhIG9mIGZpbGUgcGVybWlzc2lvbnMuCisgI2lmbmRlZiBfX0NZR1dJTl9fCiAgCSAg
ICAgIGlmICgoc3Quc3RfbW9kZSAmIDA3NzcpICE9M0QgbikKICAJCVBhbmljKDAsICJEaXJl
Y3RvcnkgJyVzJyBtdXN0IGhhdmUgbW9kZSAlMDNvLiIsIFNvY2tEaXIsIG4pOworICNlbmRp
ZgogIAkgICAgfQogIAkgIHNwcmludGYoU29ja1BhdGgsICIlcy9TLSVzIiwgU29ja0Rpciwg
TG9naW5OYW1lKTsKICAJICBpZiAoYWNjZXNzKFNvY2tQYXRoLCBGX09LKSkKKioqKioqKioq
KioqKioqCioqKiA5NTAsOTU3ICoqKioKLS0tIDk1Myw5NjIgLS0tLQogICAgICAgIGlmIChz
dC5zdF91aWQgIT0zRCByZWFsX3VpZCkKICAJUGFuaWMoMCwgIllvdSBhcmUgbm90IHRoZSBv
d25lciBvZiAlcy4iLCBTb2NrUGF0aCk7CiAgICAgIH0KKyAjaWZuZGVmIF9fQ1lHV0lOX18K
ICAgIGlmICgoc3Quc3RfbW9kZSAmIDA3NzcpICE9M0QgMDcwMCkKICAgICAgUGFuaWMoMCwg
IkRpcmVjdG9yeSAlcyBtdXN0IGhhdmUgbW9kZSA3MDAuIiwgU29ja1BhdGgpOworICNlbmRp
ZgogICAgU29ja05hbWUgPTNEIFNvY2tQYXRoICsgc3RybGVuKFNvY2tQYXRoKSArIDE7CiAg
ICAqU29ja05hbWUgPTNEIDA7CiAgICAodm9pZCkgdW1hc2sob3VtYXNrKTsKCi0tLS0tLWN1
dCBoZXJlLS0tLS0tLQoKCi0tPTIwCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KSWYgdGhpcyBtZXNzYWdlIHdhcyBu
b3QgZGlnaXRhbGx5IHNpZ25lZCwgZG8geW91IHJlYWxseSBrbm93IHdobwppdCBjYW1lIGZy
b20/ICBFbmNyeXB0IGV2ZXJ5dGhpbmcsIGxldCB0aGUgTlNBIHNvcnQgaXQgb3V0LgoKVW5z
b2xpY2l0ZWQgZW1haWwgYWR2ZXJ0aXNlbWVudHMgd2lsbCBiZSBwcm9vZnJlYWQgYW5kIHJl
dHVybmVkCmZvciBhIGZlZSBvZiAkNTAwIHBlciBtZXNzYWdlLiAgU2VuZGluZyBzdWNoIGVt
YWlsIHRvIHRoaXMKYWRkcmVzcyBpbXBsaWVzIGFjY2VwdGFuY2UKb2YgdGhlc2UgdGVybXMu
CgotLS0tLS1EOTZCODNEQjcxMkIwN0ExRTA0QzY2OTdGNkY3Nzc3OQpDb250ZW50LVR5cGU6
IGFwcGxpY2F0aW9uL3gtcGtjczctc2lnbmF0dXJlOyBuYW1lPSJzbWltZS5wN3MiCkNvbnRl
bnQtVHJhbnNmZXItRW5jb2Rpbmc6IGJhc2U2NApDb250ZW50LURpc3Bvc2l0aW9uOiBhdHRh
Y2htZW50OyBmaWxlbmFtZT0ic21pbWUucDdzIgoKTUlJRXVRWUpLb1pJaHZjTkFRY0NvSUlF
cWpDQ0JLWUNBUUV4Q3pBSkJnVXJEZ01DR2dVQU1Bc0dDU3FHU0liMwpEUUVIQWFDQ0Fvd3dn
Z0tJTUlJQjhhQURBZ0VDQWdNRUY2SXdEUVlKS29aSWh2Y05BUUVFQlFBd2daSXhDekFKCkJn
TlZCQVlUQWxwQk1SVXdFd1lEVlFRSUV3eFhaWE4wWlhKdUlFTmhjR1V4RWpBUUJnTlZCQWNU
Q1VOaGNHVWcKVkc5M2JqRVBNQTBHQTFVRUNoTUdWR2hoZDNSbE1SMHdHd1lEVlFRTEV4UkRa
WEowYVdacFkyRjBaU0JUWlhKMgphV05sY3pFb01DWUdBMVVFQXhNZlVHVnljMjl1WVd3Z1Ju
SmxaVzFoYVd3Z1VsTkJJREl3TURBdU9DNHpNREFlCkZ3MHdNVEF5TURFeE9USTJNRFZhRncw
d01qQXlNREV4T1RJMk1EVmFNRWt4SHpBZEJnTlZCQU1URmxSb1lYZDAKWlNCR2NtVmxiV0Zw
YkNCTlpXMWlaWEl4SmpBa0Jna3Foa2lHOXcwQkNRRVdGM0pwWTJndGNHRjFiRUJ5YVdObwpM
WEJoZFd3dWJtVjBNSUdmTUEwR0NTcUdTSWIzRFFFQkFRVUFBNEdOQURDQmlRS0JnUURSUzdI
NnNoL1ZXcUdHClEwOFRnTCtCV0l3RTBnSHhHdXBrOWZhSW1lN1lqYTQwWG9JMzR2akFqRm1s
SDl1RXc5UTNPTXZjMTdFT0hWQmkKaHIxNGtjY29zaHpNN1dlLzlXam9vZ2FOd3JlRkVBRGFU
MXBTbno4ZnVjWVVMZ1VPTVhzOVE5enZUQk1memVXVwptd29BNklEbVBsRjkwNHJDUWozM28v
S2Z0emI2QXdJREFRQUJvelF3TWpBaUJnTlZIUkVFR3pBWmdSZHlhV05vCkxYQmhkV3hBY21s
amFDMXdZWFZzTG01bGREQU1CZ05WSFJNQkFmOEVBakFBTUEwR0NTcUdTSWIzRFFFQkJBVUEK
QTRHQkFKeWNYYnpXTzZuSi9wcU8vbXFUL2l1Vjh0ZjdRMHhNM0toL1ZuOHZ4b3l3aXRsMHJR
bDJsRXZhTFo2NgoxVFpMUk9YQmhKTjNyRkhwK3E0TzB5UmdxUXJaMzFWbEllU2llTDhobjNy
d0ZTWHpXYThPVkR3Y0Z5YUlON1pvCjRhU08yQ0ljTTUxb2o3M0tZV2xDVkMxa3dSS0V4M0V6
ZlNxOFRaN3o1SlFtOU11dE1ZSUI5VENDQWZFQ0FRRXcKZ1pvd2daSXhDekFKQmdOVkJBWVRB
bHBCTVJVd0V3WURWUVFJRXd4WFpYTjBaWEp1SUVOaGNHVXhFakFRQmdOVgpCQWNUQ1VOaGNH
VWdWRzkzYmpFUE1BMEdBMVVFQ2hNR1ZHaGhkM1JsTVIwd0d3WURWUVFMRXhSRFpYSjBhV1pw
ClkyRjBaU0JUWlhKMmFXTmxjekVvTUNZR0ExVUVBeE1mVUdWeWMyOXVZV3dnUm5KbFpXMWhh
V3dnVWxOQklESXcKTURBdU9DNHpNQUlEQkJlaU1Ba0dCU3NPQXdJYUJRQ2dnYkV3R0FZSktv
WklodmNOQVFrRE1Rc0dDU3FHU0liMwpEUUVIQVRBY0Jna3Foa2lHOXcwQkNRVXhEeGNOTURF
d05URTFNVFEwTWpFMFdqQWpCZ2txaGtpRzl3MEJDUVF4CkZnUVVwcXM3UThaOG1zdDA5Tm95
Ti9Gd3R6eTRJa3N3VWdZSktvWklodmNOQVFrUE1VVXdRekFLQmdncWhraUcKOXcwREJ6QU9C
Z2dxaGtpRzl3MERBZ0lDQUlBd0RRWUlLb1pJaHZjTkF3SUNBVUF3QndZRkt3NERBZ2N3RFFZ
SQpLb1pJaHZjTkF3SUNBU2d3RFFZSktvWklodmNOQVFFQkJRQUVnWUN1OVZnd1czY1JUTkxz
T2xKeWwrZFViYXNVCm5Yclh0N0ZhQ09IMW15bXJoUUdKb3RhSDZTTGJWVTNHWlJtTE9iYXZp
S1FsRDlFaEY1MW9qYVpSVlVmWWhMUCsKQWl3cXl3S1JsenhOdTErd2N4dTJaM3V3cDNycGZa
dTFESkVQd1ZpUFNYb2dBb0RJT3c0cHluKyt2T0pRVUl2WQpRYWppc3lXVjlPcXV6Mm1Ua3c9
PQoKLS0tLS0tRDk2QjgzREI3MTJCMDdBMUUwNEM2Njk3RjZGNzc3NzktLQoK

--2oS5YaxWCcQjTEyO--

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019