From mairix@mairix Mon Jan 1 12:34:56 1970 X-source-folder: /home/wkt/Mail_archive/1995/10/21 Return-Path: Received: by dolphin (5.x/SMI-SVR4) id AA04857; Sat, 21 Oct 1995 15:17:41 +1000 From: wkt (Warren Toomey) Message-Id: <9510210517.AA04857@dolphin> Subject: Queries on PDP Unix status To: dmr@research.att.com, ken@plan9.att.com Date: Sat, 21 Oct 1995 15:17:41 +1000 (EST) X-Mailer: ELM [version 2.4 PL23] Content-Type: text Content-Length: 728 Status: RO Dennis, Ken, I'm sure you're both busy. I'm thinking of starting a PDP UNIX preservation group, to collect stuff from this area of computing history. No public distribution of licensed stuff. If you know of anybody who is interested in this, or who is already doing something in this area, can you pass on their contact details. I'd also appreciate getting a contact for someone who can clarify the distribution status of such things as the old on-line manuals/papers, and the Lions commentary (not the src code booklet). Thanks for any help you can give. You probably field lots of spurious email like this. Thanks for all your work over the years, and best wishes with Plan 9. Cheers, Warren Toomey wkt@cs.adfa.oz.au From mairix@mairix Mon Jan 1 12:34:56 1970 X-source-folder: /home/wkt/Mail_archive/1995/10/22 Return-Path: Received: from plan9.att.com by csadfa.cs.adfa.oz.au (5.x/SMI-SVR4) id AA12173; Mon, 23 Oct 1995 13:49:02 +1000 Message-Id: <9510230349.AA12173@csadfa.cs.adfa.oz.au> From: dmr@plan9.att.com Date: Sun, 22 Oct 1995 23:48:25 EDT Subject: Re: Queries on PDP Unix status To: wkt@csadfa.cs.adfa.oz.au Cc: ken@plan9.att.com Content-Type: text Content-Length: 1852 Status: RO The crucial question is, ... a contact for someone who can clarify the distribution status of such things as the old on-line manuals/papers, and the Lions commentary (not the src code booklet). Unfortunately there is no simple answer. I've been somewhat involved in one aspect of this: the Lions commentaries. Here is the story with them. John is interested in republishing the source and the commentary as a historical document and is being aided by Peter Salus (peter@usenix.org) and Berny Goodhart. To shorten a long story, AT&T is willing to allow this, Novell was hesitant, and SCO seems almost ready to allow it. (Background: the transfer of Unix stuff from AT&T to USL, then to Novell, mentioned only System III and derivatives. However there is also language about "prereleases" of System III, which might possibly apply to the 6th edition even though it is some 6-7 years earlier. Neither Novell nor SCO (about-to-be owner of the IP) are worried about people actually using the 6th edition in competition with them; they wonder, in a generally lawyer-like way, whether publishing the "trade secrets" in the code might in some way compromise their current ownership.) At any rate, it's at least possible that SCO will give John, Peter etc. the go-ahead. Certainly Lions owns the primary rights in his commentaries themselves. We have most of our own stuff online (v5, v6, v7, v8), but not the UCB PDP11 distributions. More about distribution and copyrights: just collecting things will not be objected to by anyone. Moreover I suspect that AT&T could be convinced that it owns full rights in manuals and papers (i.e. would sign a publication permission letter if it thought a project worth while). In contrast, it's clear that publishing code is a somewhat touchy subject and it's hard to get people to sign off. Dennis From mairix@mairix Mon Jan 1 12:34:56 1970 X-source-folder: /home/wkt/Mail_archive/1995/10/23 Return-Path: Received: from plan9.att.com by csadfa.cs.adfa.oz.au (5.x/SMI-SVR4) id AA13303; Mon, 23 Oct 1995 15:25:48 +1000 Message-Id: <9510230525.AA13303@csadfa.cs.adfa.oz.au> From: dmr@plan9.att.com To: wkt@csadfa.cs.adfa.oz.au Date: Mon, 23 Oct 1995 01:25:24 EDT Subject: Re: Queries on PDP Unix status Content-Type: text Content-Length: 1280 Status: RO I'll contact Peter and get him to keep me informed of the status of [Lions]. OK. In more detail, the situation is this: the efforts with Novell were rebuffed (basically "we don't really want to think about this"). We know several of the SCO folks from way back (SCO is buying the SVr5 Unix rights from Novell) and after saying sort of the same thing at first, they now seem somewhat sympathetic. But the sale won't happen for a couple of months. Incidentally this is all complicated by the fact that Lions is in declining shape physically. Do not bother to talk to anyone at Novell. They are selling it all off and have no interest in dealing with such questions. We have 7th Edition running here, with a license. Can we talk to Bell Labs/AT&T about getting copies of 5th and 6th? Or who is the right person? Or is there a right person ?? I think I'm the person you need at AT&T; there is no one here distributing any version of Unix in any official capacity. If you have a 7th edition then you are entitled to a 5th and 6th, and I'd be willing to let you have it. I guess the question is, what do you want to do with it? If it's to be put in an archive (sort of like saving the last bits of smallpox virus) there's no problem, I'll just do it. Dennis From mairix@mairix Mon Jan 1 12:34:56 1970 X-source-folder: /home/wkt/Mail_archive/1995/10/23 Return-Path: Received: from plan9.att.com by csadfa.cs.adfa.oz.au (5.x/SMI-SVR4) id AA19987; Tue, 24 Oct 1995 07:01:26 +1000 Message-Id: <9510232101.AA19987@csadfa.cs.adfa.oz.au> From: dmr@plan9.att.com To: wkt@csadfa.cs.adfa.oz.au Date: Mon, 23 Oct 1995 16:56:52 EDT Subject: Re: Queries on PDP Unix status Content-Type: text Content-Length: 882 Status: RO When the "tapes" are compressed they total about 2.8MB. There is one from the 5th edition and three from the 6th (root, source, documents). We haven't been able to track down the machine-readable source for the 5th edition documents. However, the 5th and 6th are quite similar and nearly contemporaneous. As I recall, the 6th was created because the lawyers changed their minds about copyright notices. There is indeed rather little stuff from earlier. The 4th and earlier "editions" really did refer to editions of the manual; at that time systems were sent out based on whatever was on the machine at the time the tape or disk was made. I have various listings, and a couple of years ago Keith Bostic and Paul Vixie managed to read some early DECtapes. E.g. there is a C compiler for the PDP-11/20 that doesn't have structures or #define, and pointers were written p[]. D. From mairix@mairix Mon Jan 1 12:34:56 1970 X-source-folder: /home/wkt/Mail_archive/1995/10/23 Return-Path: Received: by dolphin (5.x/SMI-SVR4) id AA11365; Mon, 23 Oct 1995 14:56:52 +1000 From: wkt (Warren Toomey) Message-Id: <9510230456.AA11365@dolphin> Subject: Re: Queries on PDP Unix status To: dmr@plan9.att.com Date: Mon, 23 Oct 1995 14:56:52 +1000 (EST) In-Reply-To: <9510230349.AA12173@csadfa.cs.adfa.oz.au> from "dmr@plan9.att.com" at Oct 22, 95 11:48:25 pm X-Mailer: ELM [version 2.4 PL23] Content-Type: text Status: RO Content-Length: 1233 Lines: 37 Dennis, Firstly thanks for your email. > Here is the story with the the Lions commentaries [ ...] > John is interested in republishing the source and the commentary > as a historical document and is being aided by Peter Salus (peter@usenix.org) > and Berny Goodhart. I'll contact Peter and get him to keep me informed of the status of this. > We have most of our own stuff online (v5, v6, v7, v8), but not > the UCB PDP11 distributions. We have 7th Edition running here, with a license. Can we talk to Bell Labs/AT&T about getting copies of 5th and 6th? Or who is the right person? Or is there a right person ?? > More about distribution and copyrights: just collecting things > will not be objected to by anyone. Moreover I suspect that > AT&T could be convinced that it owns full rights in manuals > and papers (i.e. would sign a publication permission letter > if it thought a project worth while). In contrast, it's clear that > publishing code is a somewhat touchy subject and it's hard > to get people to sign off. Yep, I understand fully. Ok, well I'll try and talk to someone at both AT&T and Novell for an authorative position on such things as the on-line manuals. Thanks again for your time, Ciao, Warren From mairix@mairix Mon Jan 1 12:34:56 1970 X-source-folder: /home/wkt/Mail_archive/1995/10/23 Return-Path: Received: by dolphin (5.x/SMI-SVR4) id AA13255; Mon, 23 Oct 1995 16:19:01 +1000 From: wkt (Warren Toomey) Message-Id: <9510230619.AA13255@dolphin> Subject: Re: Queries on PDP Unix status To: dmr@plan9.att.com Date: Mon, 23 Oct 1995 16:19:00 +1000 (EST) In-Reply-To: <9510230525.AA13303@csadfa.cs.adfa.oz.au> from "dmr@plan9.att.com" at Oct 23, 95 01:25:24 am X-Mailer: ELM [version 2.4 PL23] Content-Type: text Status: RO Content-Length: 959 Lines: 30 In atricle by dmr@plan9.att.com: > > Do not bother to talk to anyone at Novell. They are selling it all off > and have no interest in dealing with such questions. Ok, thanks. > We have 7th Edition running here, with a license. [How do we get] > copies of 5th and 6th? > > I think I'm the person you need at AT&T; there is no one here distributing > any version of Unix in any official capacity. If you have a 7th edition > then you are entitled to a 5th and 6th, and I'd be willing to let you have > it. I guess the question is, what do you want to do with it? If it's to > be put in an archive (sort of like saving the last bits of smallpox virus) > there's no problem, I'll just do it. Purely for sentimental reasons 8-) I've got 2.9BSD and 7th Ed running on an 11/45 and an 11/40, it would be fun to try 5th and 6th out as well. I take it from your emails that not much before 5th edition is still in existence. Thanks again, Warren From mairix@mairix Mon Jan 1 12:34:56 1970 X-source-folder: /home/wkt/Mail_archive/1995/10/24 Return-Path: Received: by dolphin (5.x/SMI-SVR4) id AA23635; Tue, 24 Oct 1995 16:54:09 +1000 From: wkt (Warren Toomey) Message-Id: <9510240654.AA23635@dolphin> Subject: Getting 5th and 6th Edition To: dmr@plan9.att.com Date: Tue, 24 Oct 1995 16:54:08 +1000 (EST) Cc: wkt (Warren Toomey) In-Reply-To: <9510232101.AA19987@csadfa.cs.adfa.oz.au> from "dmr@plan9.att.com" at Oct 23, 95 04:56:52 pm X-Mailer: ELM [version 2.4 PL23] Content-Type: text Status: RO Content-Length: 1502 Lines: 42 In atricle by dmr@plan9.att.com: > > When the "tapes" are compressed they total about > 2.8MB. There is one from the 5th edition > and three from the 6th (root, source, documents). > We haven't been able to track down the machine-readable > source for the 5th edition documents. However, > the 5th and 6th are quite similar and nearly > contemporaneous. As I recall, the 6th was > created because the lawyers changed their > minds about copyright notices. Dennis, sounds good. I'm running RK05s and RL02s here, so I might have a bit of a bootstrap problem, but at least the bits will be archived offsite for you. But I'm determined to get them going, so send away! Keith Bostic mentioned recently that he had 5th Edition on-line, so maybe you can ask him about your missing stuff. > There is indeed rather little stuff from earlier. > The 4th and earlier "editions" really did refer > to editions of the manual; at that time systems > were sent out based on whatever was on the > machine at the time the tape or disk was made. > I have various listings, and a couple of years > ago Keith Bostic and Paul Vixie managed to > read some early DECtapes. E.g. there is > a C compiler for the PDP-11/20 that > doesn't have structures or #define, and > pointers were written p[]. Well, if you need any help in keeping these bits from the bit bucket, let me know. Also, if you have any time, look at my skeletal `Preserve Unix' web page at http://minnie.cs.adfa.oz.au/PUPS/ Thanks again, Warren From mairix@mairix Mon Jan 1 12:34:56 1970 X-source-folder: /home/wkt/Mail_archive/1995/11/01 Return-Path: Received: from plan9.att.com by csadfa.cs.adfa.oz.au (5.x/SMI-SVR4) id AA01926; Thu, 2 Nov 1995 13:53:23 +1100 Message-Id: <9511020253.AA01926@csadfa.cs.adfa.oz.au> From: dmr@plan9.att.com To: wkt@csadfa.cs.adfa.oz.au Date: Wed, 1 Nov 1995 21:52:52 EST Subject: Re: canonical answer about Sixth and Seventh Edition Content-Type: text Status: RO Content-Length: 2460 Lines: 51 I tried a couple of drafts of that note; earlier ones were more explicit about my guesses about how the envelope might be pushed. I finally wrote what I sent under the assumption that the position would be published. After thinking about things, I'll explain my view of the situation; it really is my view, and although I'm a bit more confident about the position of AT&T than that of the other parties, these are simply estimations. AT&T doesn't care at all about what happens with early (or for that matter late) Unix versions except that the company not be enmeshed in problems. This translates to: if you officially ask about something, you might not hear an answer, but if you get one, it will say "this is not our business." USL cared, for reasons I can see but don't fully appreciate, about early versions, in particular 32V (on which the BSD distributions were based). USL did sue BSDI and then UC Berkeley for selling and distributing system distributions allegedly free of AT&T/USL code. There were many technical aspects in the suit involving details of copyright and other matters. My reading of the motivation for the suit is that USL was not worried much about BSDI as a direct competitor, but rather about the possibility that Unix as a whole (and in particular their current System V product) might end up in the public domain; specifically, that one or more of their large customers might say "This material is in the public domain; there's no copyright, there's no trade secret. We won't pay." Thus the BSDI suit was mainly to establish the fact that they would fight for their rights. The suit was in fact finally settled out of court, in a way that cast some doubt on USL's ability to hold copyright and trade secret claims on 32V, but did establish that they were willing to fight for them. USL people believe they won the battle they were actually fighting. BSDI also won because they're still in business, after agreeing to make rather minimal changes in their product. My reading is that SCO, the about-to-be owner of the Unix code that descends from the early Bell Labs research editions, is not going to be excessively concerned with educational, research, or historical uses of these early versions, though they might well be worried about commercial use. I'm certain that right now (just before the sale is consummated) neither Novell nor SCO will make many promises; more likely they'll just be confused. Dennis From mairix@mairix Mon Jan 1 12:34:56 1970 X-source-folder: /home/wkt/Mail_archive/1995/11/01 Return-Path: Received: from plan9.att.com by csadfa.cs.adfa.oz.au (5.x/SMI-SVR4) id AA01996; Thu, 2 Nov 1995 14:01:13 +1100 Message-Id: <9511020301.AA01996@csadfa.cs.adfa.oz.au> From: dmr@plan9.att.com To: wkt@csadfa.cs.adfa.oz.au Date: Wed, 1 Nov 1995 22:00:48 EST Subject: Re: canonical answer about Sixth and Seventh Edition Content-Type: text Status: RO Content-Length: 424 Lines: 16 About specifics: I have the 5 and 6 stuff in a directory. Probably simplest is to put it in a directory accessible for FTP. It is 4 files in gzipped-tar format, 2.8MB. Let's schedule a time for making it visible. About Helbekkmo of NSE (and generally about proving source licenses). I don't know how to do this. I would be inclined to believe people writing from universities who say they have BSD licenses. D. From mairix@mairix Mon Jan 1 12:34:56 1970 X-source-folder: /home/wkt/Mail_archive/1995/11/01 Return-Path: Received: from plan9.att.com by csadfa.cs.adfa.oz.au (5.x/SMI-SVR4) id AA02215; Thu, 2 Nov 1995 14:23:05 +1100 Message-Id: <9511020323.AA02215@csadfa.cs.adfa.oz.au> From: dmr@plan9.att.com To: wkt@csadfa.cs.adfa.oz.au Date: Wed, 1 Nov 1995 22:22:38 EST Subject: Re: v5-v6 Content-Type: text Status: RO Content-Length: 448 Lines: 17 The files are now in incoming/oldgoo/* at plan9.att.com (also known as netlib.att.com). Anonymous FTP accepted. I misspoke; they are gzipped, but they aren't tar, they are disk images. See what you can make of them. BTW, Leendert van Doorn from VU in Amsterdam was here over the summer. He has a PDP-11 simulator that runs on (e.g.) SGI Irix and other modern systems and can run with images like these as their root file structures. D. From mairix@mairix Mon Jan 1 12:34:56 1970 X-source-folder: /home/wkt/Mail_archive/1995/11/01 Return-Path: Received: from plan9.att.com by csadfa.cs.adfa.oz.au (5.x/SMI-SVR4) id AA08611; Wed, 1 Nov 1995 16:41:19 +1100 Message-Id: <9511010541.AA08611@csadfa.cs.adfa.oz.au> From: dmr@plan9.att.com To: wkt@cs.adfa.oz.au Date: Wed, 1 Nov 1995 00:40:55 EST Subject: canonical answer about Sixth and Seventh Edition Content-Type: text Status: RO Content-Length: 978 Lines: 25 So far as I can determine, AT&T doesn't think it has the right to issue new licenses for any Unix editions, and won't do so. Several years ago, the Unix IP was transferred to Unix Systems Laboratories, at first as a mostly-owned subsidiary; USL was then sold to Novell, and recently Novell agreed to sell its Unix business to SCO (and HP is partially involved). As of the end of October 1995 this last sale had not been consummated. In other words, AT&T is out of the Unix business, and has been for some time; any licenses will have to come from the current owner. But the "current owner" is itself in flux, and I doubt that even before the latest sale, Novell was quite geared up to issue Seventh Edition licenses; I have no useful suggestions about how to obtain one officially (it might be interesting to try). Official sources in AT&T have said that they have no objection to reissuance of Lions's commentaries and source publication of the Sixth Edition. Dennis From mairix@mairix Mon Jan 1 12:34:56 1970 X-source-folder: /home/wkt/Mail_archive/1995/11/02 Return-Path: Received: from plan9.att.com by csadfa.cs.adfa.oz.au (5.x/SMI-SVR4) id AA04004; Thu, 2 Nov 1995 17:16:41 +1100 Message-Id: <9511020616.AA04004@csadfa.cs.adfa.oz.au> From: dmr@plan9.att.com To: wkt@csadfa.cs.adfa.oz.au Date: Thu, 2 Nov 1995 01:16:18 EST Subject: Re: v5-v6 Content-Type: text Status: RO Content-Length: 108 Lines: 6 Great, I'll delete the visible versions, but they're easy to reinstate if there was a mechanical error. From mairix@mairix Mon Jan 1 12:34:56 1970 X-source-folder: /home/wkt/Mail_archive/1995/11/02 Return-Path: Received: by dolphin (5.x/SMI-SVR4) id AA17117; Thu, 2 Nov 1995 09:39:46 +1100 From: wkt (Warren Toomey) Message-Id: <9511012239.AA17117@dolphin> Subject: Re: canonical answer about Sixth and Seventh Edition To: dmr@plan9.att.com Date: Thu, 2 Nov 1995 09:39:45 +1100 (EST) In-Reply-To: <9511010541.AA08611@csadfa.cs.adfa.oz.au> from "dmr@plan9.att.com" at Nov 1, 95 00:40:55 am X-Mailer: ELM [version 2.4 PL23] Content-Type: text Status: RO Content-Length: 868 Lines: 24 In atricle by dmr@plan9.att.com: > > I have no useful suggestions about how to obtain [a license for > v6 or v7 UNIX] officially (it might be interesting to try). Thanks Dennis, I didn't think it would be easy (or possible). I've passed your comments on to the people who were interested, and I might try to make contact with someone at SCO about it. You did mention that you could ship me v5 and v6 for the old Unix archive we are building here. I've got Steven Schultz sending me several 2.xBSDs to add to the collection. I also have Tom Ivar Helbekkmo, from the Norwegian School of Economics wanting to know how he can prove he has a source license so that I can send him some files from the archive. Any ideas? I have no idea what you think of all this, but in any event I'll try to avoid `hassling' you about it! Many thanks again for your help. Warren From mairix@mairix Mon Jan 1 12:34:56 1970 X-source-folder: /home/wkt/Mail_archive/1997/07/01 Received: from csadfa.cs.adfa.oz.au (csadfa.cs.adfa.oz.au [131.236.20.6]) by henry.cs.adfa.oz.au (8.7.5/8.7.3) with ESMTP id MAA17668 for ; Wed, 2 Jul 1997 12:59:47 +1000 (EST) From: dmr@plan9.bell-labs.com Received: from plan9.bell-labs.com (achille.cs.bell-labs.com [204.178.31.2]) by csadfa.cs.adfa.oz.au (8.8.5/8.8.5) with SMTP id MAA17739 for ; Wed, 2 Jul 1997 12:58:45 +1000 (EST) Message-Id: <199707020258.MAA17739@csadfa.cs.adfa.oz.au> Date: Tue, 1 Jul 1997 22:59:04 -0400 Subject: early source To: wkt@cs.adfa.oz.au CC: norman@plan9.bell-labs.com Status: RO X-Status: A Content-Length: 4523 Lines: 94 Hi, Good luck on your quest. I don't know the best approach to getting the material out; I'm not sure that a petition is the best, but I certainly support it. Let me tell you what I encountered in recent years in getting the Sixth Edition out. As a brief guide: remember that AT&T spun off USL as a mostly-owned subsidiary with Unix software as its main product USL was then sold to Novell Novell then sold this business to SCO It was several years ago that Peter Salus and Berny Goodheart began pushing to republish the Lions commentaries and the accompanying 6th edition source. I think this started after AT&T had sold USL to Novell, but it might have been even before. I tried to use my best offices to encourage this, but we didn't get anywhere. In part, I suppose, things were complicated by the USL vs BSDI and later vs UC Berkeley lawsuit, which definitely made people nervous about rights and what might happen if even historical stuff became available. (I tried to help with that too, also to no evident avail on my part, but the issue dissolved with no effect except the expenditure of a lot of money and some ill-will.) The attitude of the people I talked to (on the advice of their lawyers) was sympathetic to publishing, but they were worried that they might be jeopardising their ownership rights in the current code. They were well aware that no one could possibly produce a competing product by starting from the Sixth Edition, but thought more along these lines: if we (effectively) put this >10-year-old material in the public domain, do we create the possibility that someone will successfully claim that our current product, a derivative of it, is also public domain? Everyone involved admitted that this was a slim possibility, but didn't see any advantage in taking the risk or spending a lot of time analyzing it. At about this point (after the sale of USL to Novell), I carefully read the contract that created USL as a mostly-owned subsidiary of AT&T. It seemed to me to say clearly that the rights that were transferred were to Unix System V as of about 1982. Thus, I thought, AT&T (and its Bell Labs, which we were then), owned the rights to earlier versions and could do with them what we pleased. Therefore, I applied for a general release of the Sixth Edition software. After bouncing around for a while, this release was denied, again because of lawyer caution. The contract contained a phrase approximately "and prerelease versions" which they thought might conceivably be interpreted to apply to the Sixth Edition. There was no economic interest on AT&T's part, and no objection the release except not wanting to be sued, an event admitted to be unlikely, but not so unlikely that they were willing to sign. The best I was able to get was a letter saying that AT&T had no objection to republishing the Lions material and the source, but also saying that USL would have to agree as well. Later, Novell agreed to sell USL to SCO, so we all tried again. Salus, Goodheart, I and others wrote several letters to old Unix hands at SCO, in particular Mike Tilson and Doug Michels. For the first several months they expressed considerable sympathy, but their own lawyers were also worried about consequences, and since our approach to them was made after the sale agreement but before the closing, everyone at SCO was much more engaged with current events than with history. Happily, once SCO was actually in control, the efforts by Peter and Berny reached fruition, and Mike T. and Doug M. quelled the fears of their lawyers. So the Lions book was republished. More recently, Bob Supnik collected or commissioned interpreters for several old machines from Digital and Data General and also permission to distribute binary versions of various operating systems for them, the Unix ones from from SCO. I wasn't involved in whatever negotiations he conducted. I've formed these impressions in helping to make available historical material. 1) SCO is interested in keeping nominal rights to Unix source code as early as the Sixth Edition research stuff, but they are generally friendly and cooperative. 2) I am going to take the (unilateral) attitude that anything earlier than the Sixth Edition is our property, to be made available for scholarly purposes as I manage to work up energy to curate it. I don't at all disagree with the purpose of the petition and support it. Be sure to continue with a positive and non-confrontational approach to SCO. Dennis From mairix@mairix Mon Jan 1 12:34:56 1970 X-source-folder: /home/wkt/Mail_archive/1997/07/02 Received: from plan9.bell-labs.com (achille.cs.bell-labs.com [204.178.31.2]) by henry.cs.adfa.oz.au (8.7.5/8.7.3) with SMTP id OAA00243 for ; Wed, 2 Jul 1997 14:44:29 +1000 (EST) From: dmr@plan9.bell-labs.com Message-Id: <199707020444.OAA00243@henry.cs.adfa.oz.au> To: wkt@henry.cs.adfa.oz.au Date: Wed, 2 Jul 1997 00:10:59 -0400 Subject: Re: early source Status: RO X-Status: A Content-Length: 1563 Lines: 38 I would push for a non-cash arrangement. The stuff at the plan 9 site (the 4-disk set) and the Inferno download agreement show what we've been able to manage. This has seemed to satisfy the lawyers locally. No one smart is under the illusion that they can really make money from this, they just don't want to do any uncompensated work and worry about losing some sort of rights in what they do make money from. I guess the offers to pay are evidence of interest, though. Tilson is the person more friendly to Unix history and better known to me personally, but he made it clear in my negotiations that Michels was more in control of this (at least at the time; things change fast). I don't know Dion Johnson or where he fits in but if you're making progress with him, continue! I've been putting up stuff, mainly documents, under my home page at http://cm.bell-labs.com/cs/who/dmr The latest discoveries (not there yet) are Ken's own B manual, and his and my document on QED (the most baroque QED ever). Already there are versions of some other papers on early things. As to what I have. There is a version of the OS source as of about August 1973, retrieved from a DECtape. This is the earliest currently machine-readable system source in existence, I'm pretty sure. Other treasures: Shamim Pirzada did most of a PhD thesis on Unix as an exemplar of software evolution for Imperial College (London) that (in the part I have) contains a pretty good account of details of history up to about 1988. I'll continue scanning this stuff in. Dennis From mairix@mairix Mon Jan 1 12:34:56 1970 X-source-folder: /home/wkt/Mail_archive/1997/09/17 Received: from csadfa.cs.adfa.oz.au (csadfa.cs.adfa.oz.au [131.236.20.6]) by henry.cs.adfa.oz.au (8.7.5/8.7.3) with ESMTP id MAA03027 for ; Thu, 18 Sep 1997 12:09:04 +1000 (EST) From: dmr@plan9.bell-labs.com Received: from plan9.bell-labs.com (plan9.bell-labs.com [204.178.31.2]) by csadfa.cs.adfa.oz.au (8.8.5/8.8.5) with SMTP id MAA17419 for ; Thu, 18 Sep 1997 12:05:54 +1000 (EST) Message-Id: <199709180205.MAA17419@csadfa.cs.adfa.oz.au> To: wkt@cs.adfa.oz.au Date: Wed, 17 Sep 1997 21:26:33 -0400 Subject: re: Who owns PWB/UNIX and Mini UNIX? Status: RO X-Status: A Content-Length: 1696 Lines: 43 PWB/UNIX and Mini UNIX preceded the 7th edition system. They were generated by organizations in Bell Labs outside our group, and doubtless their licensing details (at the time) differed. However, I can't see how they would have any different descendant owner or any particular reason why they should be treated differently from the research editions 1-7. It's pretty clear that Lucent as a corporation has absolutely no interest in asserting any interest in this (i.e. claim ownership, grant permission). We're now fully separate from AT&T but it is my guess that they are likely to take the same attitude Of course I can speak even less for them than for Lucent. In other words, as far as I know SCO owns the game, and we should be happy they're playing in it. I don't know of anyone likely to assert separate control of PWB or Mini Unix, so whether you work on SCO about them is mainly a matter of judgement about whether you're going back to the well too many times. I don't think I want to look over the proposed contract, just because I've read more of them than is good for me, but I do have one suggestion that worked for me at least once (the Plan 9 shrink-wrap license). Lawyers these days are behind the curve in these networked days. The original Plan 9 draft contract also had a "one CPU" clause that was crazy for a distributed system. I managed to replace it with wording that just prohibited putting the source in a place accessible by network to non-licensees. But this kind of negotiation is hard. At any rate, I can't think of any reason why PWB and Mini Unix shouldn't be treated the same as ed. 1-7. 32V is the same, by the way. It's contemporaneous. Dennis From mairix@mairix Mon Jan 1 12:34:56 1970 X-source-folder: /home/wkt/Mail_archive/1997/09/21 Received: from csadfa.cs.adfa.oz.au (csadfa.cs.adfa.oz.au [131.236.20.6]) by henry.cs.adfa.oz.au (8.7.5/8.7.3) with ESMTP id PAA05292 for ; Sun, 21 Sep 1997 15:02:08 +1000 (EST) From: dmr@plan9.bell-labs.com Received: from plan9.bell-labs.com (plan9.bell-labs.com [204.178.31.2]) by csadfa.cs.adfa.oz.au (8.8.5/8.8.5) with SMTP id OAA20352 for ; Sun, 21 Sep 1997 14:58:20 +1000 (EST) Message-Id: <199709210458.OAA20352@csadfa.cs.adfa.oz.au> Date: Sun, 21 Sep 1997 00:18:03 -0400 Subject: re: Who owns the 6th & 7th Edition Manuals? To: wkt@cs.adfa.oz.au, dionj@sco.com Status: RO X-Status: A Content-Length: 1032 Lines: 29 The 7th edition manuals have been available for some while on our own server, and are currently at http://cm.bell-labs.com/7thEdMan. This is a synonym for http://netlib.bell-labs.com/7thEdMan, and it's doubtless reachable otherwise. The version at ftp://elib.zib.de/pub/netlib/att/cs/v7man/README looks like a mirror of an older version (at least of the README). Unlike code, which is involved with perhaps complicated trade secret and other ownership issues, old manuals that were released publicly and genuinely published (e.g. the 7th edition Unix manual, by Saunders College Publishing) are subject only to plain old copyright. Unless there is some document I haven't seen, I don't think that SCO has any exclusive copyright in manuals published in 1979 by us. Warren, so far as I know you're welcome to mirror our version of the manual or link to it, just as Wolfram did. Incidentally, I don't have online versions of any earlier research manuals (1-6), but would be happy to get and archive whatever you have. Dennis From mairix@mairix Mon Jan 1 12:34:56 1970 X-source-folder: /home/wkt/Mail_archive/1997/09/22 Received: from csadfa.cs.adfa.oz.au (csadfa.cs.adfa.oz.au [131.236.20.6]) by henry.cs.adfa.oz.au (8.7.5/8.7.3) with ESMTP id EAA25511 for ; Tue, 23 Sep 1997 04:23:43 +1000 (EST) Received: from sco.sco.COM (sco.sco.COM [132.147.128.9]) by csadfa.cs.adfa.oz.au (8.8.5/8.8.5) with SMTP id EAA00801 for ; Tue, 23 Sep 1997 04:23:17 +1000 (EST) Received: from tahoe.pdev.sco.com by sco.sco.COM id aa28014; 22 Sep 97 11:07 PDT From: Dion X-Mailer: SCO OpenServer Mail Release 5.0 To: dmr@plan9.bell-labs.com, wkt@cs.adfa.oz.au Subject: Re: Who owns the 6th & 7th Edition Manuals? Date: Mon, 22 Sep 97 10:53:30 PDT Message-ID: <9709221053.aa03103@tahoe.pdev.sco.com> Status: RO X-Status: A Content-Length: 1590 Lines: 43 I am sure Dennis is right and that you can go ahead and put these online. Dion L. Johnson II - The Santa Cruz Operation, Inc. dionj@sco.com Czar of Free Stuff and Technical customers' advocate. 400 Encinal St. Santa Cruz, CA 95061 FAX: 408-427-5417 Voice: 408-427-7565 From sco.sco.com!plan9.bell-labs.com!dmr Sat Sep 20 22:26:06 1997 From: dmr@plan9.bell-labs.com Date: Sun, 21 Sep 1997 00:18:03 -0400 Subject: re: Who owns the 6th & 7th Edition Manuals? To: wkt@cs.adfa.oz.au, dionj@sco.com Status: RO The 7th edition manuals have been available for some while on our own server, and are currently at http://cm.bell-labs.com/7thEdMan. This is a synonym for http://netlib.bell-labs.com/7thEdMan, and it's doubtless reachable otherwise. The version at ftp://elib.zib.de/pub/netlib/att/cs/v7man/README looks like a mirror of an older version (at least of the README). Unlike code, which is involved with perhaps complicated trade secret and other ownership issues, old manuals that were released publicly and genuinely published (e.g. the 7th edition Unix manual, by Saunders College Publishing) are subject only to plain old copyright. Unless there is some document I haven't seen, I don't think that SCO has any exclusive copyright in manuals published in 1979 by us. Warren, so far as I know you're welcome to mirror our version of the manual or link to it, just as Wolfram did. Incidentally, I don't have online versions of any earlier research manuals (1-6), but would be happy to get and archive whatever you have. Dennis From mairix@mairix Mon Jan 1 12:34:56 1970 X-source-folder: /home/wkt/Mail_archive/1997/09/22 Received: from csadfa.cs.adfa.oz.au (csadfa.cs.adfa.oz.au [131.236.20.6]) by henry.cs.adfa.oz.au (8.7.5/8.7.3) with ESMTP id QAA10124 for ; Mon, 22 Sep 1997 16:50:25 +1000 (EST) From: dmr@plan9.bell-labs.com Received: from plan9.bell-labs.com (plan9.bell-labs.com [204.178.31.2]) by csadfa.cs.adfa.oz.au (8.8.5/8.8.5) with SMTP id QAA15742 for ; Mon, 22 Sep 1997 16:50:02 +1000 (EST) Message-Id: <199709220650.QAA15742@csadfa.cs.adfa.oz.au> To: wkt@cs.adfa.oz.au Date: Mon, 22 Sep 1997 02:49:40 -0400 Subject: Re: Who owns the 6th & 7th Edition Manuals? Status: RO X-Status: A Content-Length: 307 Lines: 13 It turns out that the 6th edition is indeed online, it's just not mounted by my shell script. It's the same, I'm sure, as what I sent you. I've been thinking about how best to revive the earliest stuff. The first manuals will have to be scanned in, but there's someone here who's interested. Dennis From mairix@mairix Mon Jan 1 12:34:56 1970 X-source-folder: /home/wkt/Mail_archive/1997/09/23 Received: from csadfa.cs.adfa.oz.au (csadfa.cs.adfa.oz.au [131.236.20.6]) by henry.cs.adfa.oz.au (8.7.5/8.7.3) with ESMTP id PAA11514 for ; Tue, 23 Sep 1997 15:50:24 +1000 (EST) From: dmr@plan9.bell-labs.com Received: from plan9.bell-labs.com (plan9.bell-labs.com [204.178.31.2]) by csadfa.cs.adfa.oz.au (8.8.5/8.8.5) with SMTP id PAA17321 for ; Tue, 23 Sep 1997 15:49:35 +1000 (EST) Message-Id: <199709230549.PAA17321@csadfa.cs.adfa.oz.au> To: wkt@cs.adfa.oz.au Date: Tue, 23 Sep 1997 01:49:21 -0400 Subject: history Status: RO X-Status: A Content-Length: 7284 Lines: 207 I poked around in some local material, and slightly burnished up one bit of memorabilia. It's at http://cm.bell-labs.com/cs/who/dmr/notes.html (also referred to on my WWW page). I think the next project is to scan in the 1st Edition manual. Probably this will just be in PDF image format, but maybe we'll run the OCR over it. Another source of old stuff is the DECtapes that were read some years ago, from which the above notes were retrieved. Here are the notes I made at the time concerning the collection. What do you think is most interesting? Dennis --- The files here were read from old DECtapes made in the early 1970s. Paul Vixie and Keith Bostic unearthed a DECtape drive and made it work, we unearthed the tapes. The tapes were written in either the 'tap' or 'tp' format, which are similar in that they have a directory of up to 192 entries at the start with names and other information including the size and tape address of the files. 'tp' was the later format, and was in use by November 1973, the date of the 4th edition manual. With `tap', the times associated with the files were recorded in pre-modern units: sixtieths of a second, from an origin that changed. The first three editions of the manual had BUGS sections noting that 32 bits can represent only about 2.5 years in this unit, and this implied continuing crises as the time overflowed. I believe that the change to use seconds for Unix time took place along with the change to the C version of the operating system, which occurred about the end of the summer of 1973, and also that the change from `tap' to `tp' took place at the same time. (This is consistent with the dates of the 3rd and 4th edition manuals). Thus the dates recorded with the `tp' tapes probably correspond reliably to the modification dates of the files at the time of saving them (of course, this gives only a upper bound on their creation, since they might have been copied or trivially touched just before saving them). Recovering the proper dates for the `tap' tapes is less reliable, because there was at least one change of epoch (from 1971 to 1972) during the period they could possibly have been produced. I believe that the 1972 epoch is most likely the correct one for the tapes here. apl Ken's apl program, together with his rendition of astro (translated from Morris's Fortran). Probably OK dates, 1975-76. config Ken's program for configuring PDP11s. It told you price, maintenance, checked for bus loading. Interesting for DEC price lists in 1974. dmr Random stuff from my directory. Most probable dates: 1972. The `paper' directory contains a version of the original SOSP Unix paper (haven't compared it with the CACM version). cgd appears to be an experiment in converting Fortran threaded code to machine language, using a warmed over version of the earliest C code generator. It's written in NB, not C. fd is some fortran programs, in particular a polynomial root-finder I found somewhere. aman is some version of the PDP-11 assembler manual. fd is a fortran program for plotting functions of 2 variables. notes1 and notes2 are evidently notes I made for myself for a talk on unix. They are quite interesting. tty.s is evidently the terminal processing routine for an assembly-language version of unix. note that it handles IBM 2741 terminals with two kinds of typeballs (938 and correspondence). crypt.c encrypts using a variant of the Hagelin machine. pig.b is an interesting artifact: it is a B program that echoes what you type in Pig latin. (Incidentally, there is a translation of this program into C, dated 1978, in a subdirectory that still spins on a disk attached to the Unix machine where I get my mail.) dmr2 the let directory contains drafts of a bunch of letters to people who asked about unix in early days. (lett6 is to andy tanenbaum). The let directory contains drafts of a bunch of letters to people who asked about unix in early days. (lett6 is to andy tanenbaum). Other bits: restric discusses some early thoughts about types in C. I don't know who it was addressed to (perhaps even to myself). ct is an even briefer list about what I though was important. iosys is a manual for writing system device drivers. e-pi Our programs to compute e and pi to a million places. The one for e worked; it took some months on a time-shared PDP-11 without memory mapping. Incidentally the J directory name is correct: this sequence printed the greek letter pi on a Teletype model 37. Plan 9 won't let me create this. It wants me to use Unicode! games Ken's work on various games. Check out chomp/c0.c, which has a briefly-existing form of structure declaration using parentheses instead of braces. ken check out the values of the AT&T Savings plan in the early 70s (plan), and what interested Ken's son (corey/*) then. ken-du Here, you can read our wtmp files from 1974 and 1975. ken-sky A bunch of interesting old ken stuff (eg a version of the units program from the days when the dollar fetched 302.7 yen) last1120c The source for a version of C that compiled for the PDP-11/20. It didn't have structures, it didn't have #define, and pointers were declared p[]. But look! The initialization routine says init("float", 2); init("double", 3); /* init("long", 4); */ init("auto", 5); init("extern", 6); nsys If the decoding of the date on the tape is correct (Aug 1973), this is the source for the earliest C version of Unix likely to be recovered. `nsys' meant the C version rather than the assembly version, and Aug 73 is plausible for a running instance of this system. prestruct-c This is approximately the same era as `last1120c,' but 6 months later; despite the name, this compiler now handles structures. (The struct keyword has displaced `long' as keyword number 4!) The name of the tape indicates that the state of the compiler was saved just before converting it to use structures inside itself. The compiler is much less complete--just the c??.c files, not the tables for code generation. s1 I haven't cracked this yet. s2 Is not source, but a dump of (parts of) /bin, /etc, /usr/lib, and bits of a few other directories. Caution! The tape uses absolute pathnames, and is dangerous to extract unless you want to install old PDP-11 binaries. (tap format). sys-dsu This system didn't come directly from us. After poking around it for a while I found a file containing this (in cr.h): /***************************************************************** ** ** ** U C L A Data Secure Unix ** ** ** ** Copyright 1977 ** ** ** ** Mark Kampe, Charles Kline, Gerald Popek, Evelyn Walton ** ** ** *****************************************************************/ So, it appears that `dsu' is `data-secure unix' and this is a record of one of the early security projects! They must have sent it to us. Might be fun to examine it; I suppose we should tell Gerry Popek of its existence. unix This is probably a `boot' tape; it has binary images of the system and some raw utility programs for use when booting (memory testers, loaders for diagnostics, and the like). From mairix@mairix Mon Jan 1 12:34:56 1970 X-source-folder: /home/wkt/Mail_archive/1998/02/25 Received: from csadfa.cs.adfa.oz.au (csadfa.cs.adfa.oz.au [131.236.20.6]) by henry.cs.adfa.oz.au (8.7.5/8.7.3) with ESMTP id JAA25503 for ; Thu, 26 Feb 1998 09:27:13 +1100 (EST) From: dmr@plan9.bell-labs.com Received: from plan9.bell-labs.com (plan9.bell-labs.com [204.178.31.2]) by csadfa.cs.adfa.oz.au (8.8.5/8.8.5) with SMTP id JAA00039 for ; Thu, 26 Feb 1998 09:25:36 +1100 (EST) Message-Id: <199802252225.JAA00039@csadfa.cs.adfa.oz.au> Date: Wed, 25 Feb 1998 17:25:30 -0500 To: wkt@cs.adfa.oz.au Subject: Re: PDP-11 UNIX Licenses coming Status: RO X-Status: A Content-Length: 557 Lines: 18 Cool! Did I ever tell you about what I tried when the USL- BSDI suit started? I looked very carefully at the document that spun off USL from AT&T, and it appeared to me that the IP that was transferred was SV and later. So I filed for a software release for 32V and earlier systems. However, the lawyers were too cautious. There was a phrase that they thought could be interpreted as applying that far back. They didn't really think it did, but they're very conservative. Glad that SCO is more sensible (though they take their time....) Dennis From mairix@mairix Mon Jan 1 12:34:56 1970 X-source-folder: /home/wkt/Mail_archive/1998/04/15 Received: from csadfa.cs.adfa.oz.au (csadfa.cs.adfa.oz.au [131.236.20.6]) by henry.cs.adfa.oz.au (8.7.5/8.7.3) with ESMTP id PAA11419 for ; Wed, 15 Apr 1998 15:00:16 +1000 (EST) From: dmr@plan9.bell-labs.com Received: from plan9.bell-labs.com (plan9.bell-labs.com [204.178.31.2]) by csadfa.cs.adfa.oz.au (8.8.8/8.8.5) with SMTP id OAA05742 for ; Wed, 15 Apr 1998 14:56:01 +1000 (EST) Message-Id: <199804150456.OAA05742@csadfa.cs.adfa.oz.au> Date: Wed, 15 Apr 1998 00:56:43 -0400 Subject: Re: Old Unix Stuff: again To: wkt@cs.adfa.oz.au, sms@moe.2bsd.com Status: RO X-Status: A Content-Length: 1072 Lines: 38 I'd love a copy of the CD. D.M.Ritchie Bell Labs rm 2C517 600 Mountain Ave Murray Hill NJ 07974 USA I don't clearly remember V7M R2.1 but I believe we put something together that included some of the changes in C. Probably enums, identification of structure names with tags, structure passing. I'll take a look at the material and guess where it fits in. Dennis ---- Hi Dennis, I hope I'm not disturbing you. As you know, SCO are now selling source licenses for 5th, 6th, 7th Edition UNIX and 32V. We are just about to burn CDs which contain our archive, for distribution to licencees. If you would like a copy, gratis, please pass your details on to Steven Schultz sms@moe.2bsd.com, who will send you a CD. A new addition to the archive is something called V7M Release 2.1, dated August 1981. This appears to be a major upgrade from 7th Edition, including the v7addenda stuff. Do you know who put this together? The person who donated it says the tape came from DEC, but the tape's contents don't nominate the ``author''. Thanks again! Warren From mairix@mairix Mon Jan 1 12:34:56 1970 X-source-folder: /home/wkt/Mail_archive/1998/04/15 Received: from csadfa.cs.adfa.oz.au (csadfa.cs.adfa.oz.au [131.236.20.6]) by henry.cs.adfa.oz.au (8.7.5/8.7.3) with ESMTP id QAA11679 for ; Wed, 15 Apr 1998 16:08:18 +1000 (EST) From: dmr@plan9.bell-labs.com Received: from plan9.bell-labs.com (plan9.bell-labs.com [204.178.31.2]) by csadfa.cs.adfa.oz.au (8.8.8/8.8.5) with SMTP id QAA06959 for ; Wed, 15 Apr 1998 16:04:28 +1000 (EST) Message-Id: <199804150604.QAA06959@csadfa.cs.adfa.oz.au> Date: Wed, 15 Apr 1998 02:05:53 -0400 To: wkt@cs.adfa.oz.au Subject: Re: Old Unix Stuff: again Status: RO X-Status: A Content-Length: 267 Lines: 11 The stuff with Canter must have been Digital's collection. The addenda tape was probably ours. The phrasing of the comments is familiar, and no one else would supply a new awk and fortran at that point. 12/2/80 in the US would definitely be December. Dennis From mairix@mairix Mon Jan 1 12:34:56 1970 X-source-folder: /home/wkt/Mail_archive/1998/04/25 Received: from plan9.bell-labs.com (plan9.bell-labs.com [204.178.31.2]) by henry.cs.adfa.oz.au (8.7.5/8.7.3) with SMTP id OAA03092 for ; Sat, 25 Apr 1998 14:20:58 +1000 (EST) From: dmr@plan9.bell-labs.com Message-Id: <199804250420.OAA03092@henry.cs.adfa.oz.au> Date: Sat, 25 Apr 1998 00:20:11 -0400 Subject: Re: Old Unix Stuff: again To: sms@moe.2bsd.com, wkt@henry.cs.adfa.oz.au Status: RO X-Status: A Content-Length: 483 Lines: 17 > It's on the way. Thanks. By the way, you might be interested in http://www.cs.bell-labs.com/~dmr/manintro.tif (if you have a TIFF viewer) or the .html version of the same thing. It's the start of the 1st edition manual, Nov. 1973. I've got some more scanned in, but the OCR is going to be hell to correct. Also I suspect that some other graphics format is likely to be friendlier for most people's browsers. (None of this is linked to on the home page yet.) Dennis From mairix@mairix Mon Jan 1 12:34:56 1970 X-source-folder: /home/wkt/Mail_archive/1998/12/16 Received: from csadfa.cs.adfa.oz.au (csadfa-21.cs.adfa.oz.au [131.236.21.6]) by henry.cs.adfa.oz.au (8.7.5/8.7.3) with ESMTP id PAA14198 for ; Thu, 17 Dec 1998 15:35:26 +1100 (EST) From: dmr@plan9.bell-labs.com Received: from plan9.bell-labs.com (plan9.bell-labs.com [204.178.31.2]) by csadfa.cs.adfa.oz.au (8.9.0/8.9.0) with SMTP id PAA10326 for ; Thu, 17 Dec 1998 15:34:40 +1100 (EST) Message-Id: <199812170434.PAA10326@csadfa.cs.adfa.oz.au> Date: Wed, 16 Dec 1998 23:34:34 -0500 To: wkt@cs.adfa.oz.au Subject: Re: Dennis and Ken at PDP console Status: RO X-Status: A Content-Length: 737 Lines: 18 No, I'm thinking specifically of a shirt distributed by Digital, with an image done in near-realtime by Armando. He couldn't have done it on the spot (it's too complicated and too correct) but it is from an overhead slide he more likely made the night before a talk. It is hand-done. It is approximately correct. It's a tree like your PS one and stops at the bottom with arrows pointing from the circle with Unix/TS to "more TS stuff/System III & V" and "4.2 BSD". A hard-to-read notice says "Copyright DEC A. Stettner 4/14/87." This date could be '89; it's hard to read. The only other person I've seen with this is Norman Wilson. He's washed his more than I have; I wear mine only at Usenix, and not every year. Dennis From mairix@mairix Mon Jan 1 12:34:56 1970 X-source-folder: /home/wkt/Mail_archive/1998/12/16 Received: from csadfa.cs.adfa.oz.au (csadfa-21.cs.adfa.oz.au [131.236.21.6]) by henry.cs.adfa.oz.au (8.7.5/8.7.3) with ESMTP id OAA14117 for ; Thu, 17 Dec 1998 14:41:15 +1100 (EST) From: dmr@plan9.bell-labs.com Received: from plan9.bell-labs.com (plan9.bell-labs.com [204.178.31.2]) by csadfa.cs.adfa.oz.au (8.9.0/8.9.0) with SMTP id OAA09968 for ; Thu, 17 Dec 1998 14:40:29 +1100 (EST) Message-Id: <199812170340.OAA09968@csadfa.cs.adfa.oz.au> Date: Wed, 16 Dec 1998 22:40:14 -0500 To: wkt@cs.adfa.oz.au Subject: Re: Dennis and Ken at PDP console Status: RO X-Status: A Content-Length: 289 Lines: 12 I'll see what I can do, especially about the photo. I don't have it; it's likely in the archives, since someone found it to put on the corporate WWW pages. Incidentally, a scan of Armando Stettner's T-shirt family tree would be appropriate too. I wonder, does a T-shirt scan? D. From mairix@mairix Mon Jan 1 12:34:56 1970 X-source-folder: /home/wkt/Mail_archive/1998/12/17 Received: from csadfa.cs.adfa.oz.au (csadfa-21.cs.adfa.oz.au [131.236.21.6]) by henry.cs.adfa.oz.au (8.7.5/8.7.3) with ESMTP id IAA14705 for ; Fri, 18 Dec 1998 08:11:51 +1100 (EST) From: dmr@plan9.bell-labs.com Received: from plan9.bell-labs.com (plan9.bell-labs.com [204.178.31.2]) by csadfa.cs.adfa.oz.au (8.9.0/8.9.0) with SMTP id IAA14334 for ; Fri, 18 Dec 1998 08:11:01 +1100 (EST) Message-Id: <199812172111.IAA14334@csadfa.cs.adfa.oz.au> Date: Thu, 17 Dec 1998 16:10:50 -0500 To: wkt@cs.adfa.oz.au Subject: Re: Dennis and Ken at PDP console Status: RO X-Status: A Content-Length: 172 Lines: 10 Get the T-shirt at http://www.cs.bell-labs.com/~dmr/unixtree.tif Even the original is somewhat unreadable. The PR guy is going to look for the console photo. Dennis From mairix@mairix Mon Jan 1 12:34:56 1970 X-source-folder: /home/wkt/Mail_archive/1999/01/06 Received: from csadfa.cs.adfa.oz.au (csadfa-21.cs.adfa.oz.au [131.236.21.6]) by henry.cs.adfa.edu.au (8.9.1/8.9.1) with ESMTP id OAA27622 for ; Thu, 7 Jan 1999 14:37:20 +1100 (EST) (envelope-from dmr@plan9.bell-labs.com) From: dmr@plan9.bell-labs.com Received: from plan9.bell-labs.com (plan9.bell-labs.com [204.178.31.2]) by csadfa.cs.adfa.oz.au (8.9.0/8.9.0) with SMTP id OAA27429 for ; Thu, 7 Jan 1999 14:36:30 +1100 (EST) Message-Id: <199901070336.OAA27429@csadfa.cs.adfa.oz.au> Date: Wed, 6 Jan 1999 22:36:41 -0500 Subject: Re: V8's roots? To: wkt@cs.adfa.oz.au CC: norman@nose.cita.utoronto.ca Status: RO X-Status: A Content-Length: 1662 Lines: 38 I also got mail from Norman Wilson today about the discussion. This is mainly to confirm and fill out details of Wilson's account. The Eighth Edition system started with (I believe) BSD 4.1c and the work was done on VAX 11/750s -- our group did not get a 780 until a while later. Most of the operating system superstructure of BSD was retained (in particular no one (even the indefatigable Norman) wanted to get much into the paging code. Norman is also right that the competitor was John Reiser's (and Tom London's) 32V descendant from another group at the Labs. In structure this system had a lot to offer (in particular the buffer cache and the page pool were unified, but it was clear that their work was not being supported by their own management. It was used for a while on our first 750 and also our first 11/780 ("alice", a name that lives in netnews fame preceding the reach of Dejanews). The big change leading to V8 was the scooping-out and replacement of the character-device and networking part by the streams mechanism. Later, Peter Weinberger added the file-system switch that enabled remote file systems and prescient things ideas like /proc). Weinberger, as Norman said, also did a simple-minded FFS. The TCP/IP stack wasn't very important to us then and it has a mixed and murky history. Much of it came from early CSRG work, but it was converted to a streams approach by Robert Morris and subsequently fiddled over a lot. Likewise, as Norman said, the applications (/bin and whatnot) were somewhat of a mixture. Many were the locally-done versions, some were taken from BSD in some incarnation, some from System V. Dennis From mairix@mairix Mon Jan 1 12:34:56 1970 X-source-folder: /home/wkt/Mail_archive/1999/01/07 Received: from csadfa.cs.adfa.oz.au (csadfa-21.cs.adfa.oz.au [131.236.21.6]) by henry.cs.adfa.edu.au (8.9.1/8.9.1) with ESMTP id JAA00505 for ; Fri, 8 Jan 1999 09:55:30 +1100 (EST) (envelope-from dmr@plan9.bell-labs.com) From: dmr@plan9.bell-labs.com Received: from plan9.bell-labs.com (plan9.bell-labs.com [204.178.31.2]) by csadfa.cs.adfa.oz.au (8.9.0/8.9.0) with SMTP id JAA02024 for ; Fri, 8 Jan 1999 09:54:40 +1100 (EST) Message-Id: <199901072254.JAA02024@csadfa.cs.adfa.oz.au> Date: Thu, 7 Jan 1999 17:54:09 -0500 To: wkt@cs.adfa.oz.au Subject: Re: V8's roots? Status: RO X-Status: A Content-Length: 753 Lines: 25 I was looking again at the revived dectapes I got. Would you like a copy of the first 11/45 system? If my decoding of the date on the tape is correct, it's from January 1973. This is at least consistent with the 3rd and 4th edition manuals (3rd wasn't the C system, 4th (Nov 73) was. I would assume that the same SCO license would apply to it as to the other research editions. It consists of the OS only. I suspect it expects the same disk layout as the 5th edition. It is source only (there is a file called u that might be a kernel image). It's for an 11/45.. Incidentally, before the 5th there is no real notion of release (software correlated with manual) because people got whatever software was on the disk when they took it. Dennis From mairix@mairix Mon Jan 1 12:34:56 1970 X-source-folder: /home/wkt/Mail_archive/1999/01/08 Received: from csadfa.cs.adfa.oz.au (csadfa-21.cs.adfa.oz.au [131.236.21.6]) by henry.cs.adfa.edu.au (8.9.1/8.9.1) with ESMTP id QAA03220 for ; Fri, 8 Jan 1999 16:03:20 +1100 (EST) (envelope-from dmr@plan9.bell-labs.com) From: dmr@plan9.bell-labs.com Received: from plan9.bell-labs.com (plan9.bell-labs.com [204.178.31.2]) by csadfa.cs.adfa.oz.au (8.9.0/8.9.0) with SMTP id QAA04797 for ; Fri, 8 Jan 1999 16:02:29 +1100 (EST) Message-Id: <199901080502.QAA04797@csadfa.cs.adfa.oz.au> Date: Fri, 8 Jan 1999 00:02:46 -0500 To: wkt@cs.adfa.oz.au Subject: Re: V8's roots? Status: RO X-Status: A Content-Length: 1648 Lines: 40 OK, if you anonymous ftp to plan9.bell-labs.com, in /cm/cs/who/dmr/nsys you should find nsys.tar and README. nsys.tar is a mere 194KB. Licensing-- > Yes, although you yourself expressed doubt that editions before > 6th were really passed (via USL) to Novell & thence to SCO. If we had wanted to pay lawyers we could have made the case that research versions were ours to distribute. We didn't want to spend the effort, especially once SCO turned nice. The SCO license is evidently enough (even though it's a bit hard to decide whether this is 2, 3, 4, it's covered well enough.) I haven't poked closely enough into the PUPS pages to discover how (in practice) you really handle distribution today. (You refer to "getting helpers to make disks/tapes") This particular thing is small enough that Internet download is quite practical. Of course it is presumably of interest only to those who already have an 11/45 or a good-enough simulator, or just want to study. I got the enquiry about V8 and subseq. This begins to get more complicated. For sure it would involve new negotiations with SCO. It's possible that, the sky not having fallen, they would be even nicer now. But since I'm just now involved in hot-and-heavy jousting about Inferno, Plan 9, Brazil I don't have the stomach to open another legal battle at the moment. Let me know if/when you pick up the nsys stuff. Right now it's not linked on my home page and thus isn't obviously visible, but it is there for ftp if people poke around. I'll put in some home page links to the PUPS material (including this) once you've figured out how to integrate it. Dennis From mairix@mairix Mon Jan 1 12:34:56 1970 X-source-folder: /home/wkt/Mail_archive/1999/01/08 Received: from csadfa.cs.adfa.oz.au (csadfa-21.cs.adfa.oz.au [131.236.21.6]) by henry.cs.adfa.edu.au (8.9.1/8.9.1) with ESMTP id QAA03503 for ; Fri, 8 Jan 1999 16:33:40 +1100 (EST) (envelope-from dmr@plan9.bell-labs.com) From: dmr@plan9.bell-labs.com Received: from plan9.bell-labs.com (plan9.bell-labs.com [204.178.31.2]) by csadfa.cs.adfa.oz.au (8.9.0/8.9.0) with SMTP id QAA04970 for ; Fri, 8 Jan 1999 16:32:50 +1100 (EST) Message-Id: <199901080532.QAA04970@csadfa.cs.adfa.oz.au> Date: Fri, 8 Jan 1999 00:33:13 -0500 To: wkt@cs.adfa.oz.au Subject: Re: V8's roots? Status: RO X-Status: A Content-Length: 737 Lines: 19 > Do you think Lucent owns these systems? Do you think they might > eventually be prepared to sell licenses? I'll ask my SCO contacts > and find out who they think owns V8, 9 and 10. :-) The v8 etc situation is more complicated because not only do they begin to incorporate Sys/V material that is closer to SCO's heart, and clearly after the separation of USL->...->SCO, but begins to get into Lucent stuff that I'd have to justify inside the company. I'll try to find time to package up at least one of the early C compilers. Theoretically it has all the same problems as the OS but I believe that the possible lawyer-interest problem is in practice nonexistent. It's more a matter of proper curating of the material. Dennis From mairix@mairix Mon Jan 1 12:34:56 1970 X-source-folder: /home/wkt/Mail_archive/1999/01/10 Received: from daedalus.itsc.adfa.edu.au (daedalus.itsc.adfa.edu.au [131.236.1.17]) by csadfa.cs.adfa.oz.au (8.9.0/8.9.0) with ESMTP id PAA00319 for ; Mon, 11 Jan 1999 15:05:31 +1100 (EST) From: dmr@plan9.bell-labs.com Received: from plan9.bell-labs.com (plan9.bell-labs.com [204.178.31.2]) by daedalus.itsc.adfa.edu.au (8.9.1/8.9.1) with SMTP id OAA17439 for ; Mon, 11 Jan 1999 14:55:23 +1100 (EST) Message-Id: <199901110355.OAA17439@daedalus.itsc.adfa.edu.au> Date: Sun, 10 Jan 1999 22:53:09 -0500 To: wkt@cs.adfa.oz.au Subject: Re: Compilation of nsys kernel Content-Type: text Status: RO X-Status: A Content-Length: 1015 Lines: 30 > I've managed to compile the nsys kernel source code using a > 5th Edition environment. Changes to the src were: ... Astonishing. When booting it might be best to start with an init that just does open(something); open(something); write(1, "Hello\n", 6); It might even be appropriate to try first with just abort(); to see if /etc/init can be read, Abt previous mail, I did indeed have passworded access to the archives in the past, but have naturally forgotten which password I might have chosen. So far I'm managed not to get myself registered for ssh things. If there's a page or so about access, the fax # is +1 908 582 5857, if there isn't enough info available inside PUPS itself or by email. Incidentally I am getting mail from one of the Bell Labs PR people who is wanting to do some sort of stuff about the 30th anniversary. I may somehow involve you in this, though I did begin negotiations by asking him to find out who came up with the admonition "Fest me no schrifts." Dennis From mairix@mairix Mon Jan 1 12:34:56 1970 X-source-folder: /home/wkt/Mail_archive/1999/01/11 Received: (from wkt@localhost) by henry.cs.adfa.edu.au (8.9.1/8.9.1) id KAA01229; Mon, 11 Jan 1999 10:47:02 +1100 (EST) (envelope-from wkt) From: Warren Toomey Message-Id: <199901102347.KAA01229@henry.cs.adfa.edu.au> Subject: Compilation of nsys kernel To: dmr@plan9.bell-labs.com (Dennis Ritchie) Date: Mon, 11 Jan 1999 10:47:02 +1100 (EST) Cc: wkt (Warren Toomey) Reply-To: wkt@cs.adfa.oz.au X-Mailer: ELM [version 2.4ME+ PL43 (25)] MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Status: RO Content-Length: 2132 Lines: 84 Dennis, I've managed to compile the nsys kernel source code using a 5th Edition environment. Changes to the src were: nsys/user.h: change of struct declaration for v5 c compiler () at lines 17,20 -> {} nsys/tty.h: missing ; on line 5 at end of struct clist nsys/dmr/tty.c: v5 cc complained, I modified code to look like v5 tty.c code 206c206,207 < if ((c=&0177)==004 && (rtp->t_flags&RAW)==0) --- > c=c&0177; > if (c==004 && (rtp->t_flags&RAW)==0) nsys/ken/sig.c: had to modify a bit as v5 cc complained of expression syntax < suword(u.u_ar0[R6]=-2, u.u_ar0[RPS]); < suword(u.u_ar0[R6]=-2, u.u_ar0[R7]); --- > u.u_ar0[R6] = u.u_ar0[R6] - 2; > suword(u.u_ar0[R6], u.u_ar0[RPS]); > u.u_ar0[R6] = u.u_ar0[R6] - 2; > suword(u.u_ar0[R6], u.u_ar0[R7]); nsys/ken/45.s: I've borrowed rsave and rretrn from v5 kernel, because v5 c compiler puts in rsave calls, and so I had to include this, and v3 rretrn wasn't going to be compatible with v5 rsave. 320,324c320,338 < .globl retrn < retrn: < mov r5,sp < mov (sp)+,r5 < rts pc --- > .globl rsave > rsave: > mov r5,r0 > mov sp,r5 > mov r4,-(sp) > mov r3,-(sp) > mov r2,-(sp) > sub (r0)+,sp > jmp (r0) > > .globl rretrn > rretrn: > sub $6,r5 > mov r5,sp > mov (sp)+,r2 > mov (sp)+,r3 > mov (sp)+,r4 > mov (sp)+,r5 > rts pc With these changes, I then did: cc -c -O ken/*.c, and as all ken/*.s cc -c -O dmr/*.c, and as all dmrken/*.s cc -c -O tables.c and as junk/ustr.s Finally: ld -X tables.o dmr/*.o ken/*.o junk/ustr strip a.out mv a.out unix This results in: -rw-r--r-- 1 root 26240 Jan 10 18:34 u -rwxrwxrwx 1 root 26256 Jan 10 18:34 unix where u is the kernel originally from the nsys archive, and unix is the one just compiled above. I'll try booting them sometime this week, again using a v5 filesystem and environment on an 11/45. Cheers, Warren From mairix@mairix Mon Jan 1 12:34:56 1970 X-source-folder: /home/wkt/Mail_archive/1999/01/12 Received: from csadfa.cs.adfa.oz.au (csadfa-21.cs.adfa.oz.au [131.236.21.6]) by henry.cs.adfa.edu.au (8.9.1/8.9.1) with ESMTP id QAA20095 for ; Tue, 12 Jan 1999 16:13:08 +1100 (EST) (envelope-from dmr@plan9.bell-labs.com) From: dmr@plan9.bell-labs.com Received: from plan9.bell-labs.com (plan9.bell-labs.com [204.178.31.2]) by csadfa.cs.adfa.oz.au (8.9.0/8.9.0) with SMTP id QAA09011 for ; Tue, 12 Jan 1999 16:12:00 +1100 (EST) Message-Id: <199901120512.QAA09011@csadfa.cs.adfa.oz.au> Date: Tue, 12 Jan 1999 00:12:26 -0500 To: wkt@cs.adfa.oz.au Subject: Re: Compilation of nsys kernel Status: RO X-Status: A Content-Length: 322 Lines: 12 Keys said (when I mentioned your tries) > Ohhh, neato! Let us keep fingers crossed, knock on wood 3 times, > cow-tow as appropriate, rub the rabbit's foot, throw salt before > the sumo ring, .... and anything else?.....(:+}}.... > Glad Warren is getting it there. If it runs, it should be a real > treasure. From mairix@mairix Mon Jan 1 12:34:56 1970 X-source-folder: /home/wkt/Mail_archive/1999/01/14 Received: from csadfa.cs.adfa.oz.au (csadfa-21.cs.adfa.oz.au [131.236.21.6]) by henry.cs.adfa.edu.au (8.9.1/8.9.1) with ESMTP id QAA17876 for ; Thu, 14 Jan 1999 16:36:53 +1100 (EST) (envelope-from dmr@plan9.bell-labs.com) From: dmr@plan9.bell-labs.com Received: from plan9.bell-labs.com (plan9.bell-labs.com [204.178.31.2]) by csadfa.cs.adfa.oz.au (8.9.0/8.9.0) with SMTP id QAA25978 for ; Thu, 14 Jan 1999 16:35:45 +1100 (EST) Message-Id: <199901140535.QAA25978@csadfa.cs.adfa.oz.au> Date: Thu, 14 Jan 1999 00:36:15 -0500 To: wkt@cs.adfa.oz.au Subject: Re: oops Status: RO X-Status: A Content-Length: 103 Lines: 9 > Dennis, forgot to cc that last email to Bob Keys. Can you do? Done. Cheers and carry on! D. From mairix@mairix Mon Jan 1 12:34:56 1970 X-source-folder: /home/wkt/Mail_archive/1999/01/18 Received: from csadfa.cs.adfa.oz.au (csadfa-21.cs.adfa.oz.au [131.236.21.6]) by henry.cs.adfa.edu.au (8.9.1/8.9.1) with ESMTP id RAA00603 for ; Mon, 18 Jan 1999 17:02:49 +1100 (EST) (envelope-from dmr@plan9.bell-labs.com) From: dmr@plan9.bell-labs.com Received: from plan9.bell-labs.com (plan9.bell-labs.com [204.178.31.2]) by csadfa.cs.adfa.oz.au (8.9.0/8.9.0) with SMTP id RAA22510 for ; Mon, 18 Jan 1999 17:01:39 +1100 (EST) Message-Id: <199901180601.RAA22510@csadfa.cs.adfa.oz.au> Date: Mon, 18 Jan 1999 01:02:12 -0500 To: wkt@cs.adfa.oz.au Subject: oral history Status: RO X-Status: A Content-Length: 351 Lines: 13 I forget whether I mentioned this, but the project is more more alive than I thought. Mike Mahoney has many HTML transcripts, groomed considerably in the course of a freshman class he gave at Princeton about a year ago. I've been discussing with him and the local PR people how to present the material and deal with any rights issues. Dennis From mairix@mairix Mon Jan 1 12:34:56 1970 X-source-folder: /home/wkt/Mail_archive/1999/01/18 Received: from csadfa.cs.adfa.oz.au (csadfa-21.cs.adfa.oz.au [131.236.21.6]) by henry.cs.adfa.edu.au (8.9.1/8.9.1) with ESMTP id PAA02611 for ; Tue, 19 Jan 1999 15:40:37 +1100 (EST) (envelope-from dmr@plan9.bell-labs.com) From: dmr@plan9.bell-labs.com Received: from plan9.bell-labs.com (plan9.bell-labs.com [204.178.31.2]) by csadfa.cs.adfa.oz.au (8.9.0/8.9.0) with SMTP id PAA03516 for ; Tue, 19 Jan 1999 15:39:28 +1100 (EST) Message-Id: <199901190439.PAA03516@csadfa.cs.adfa.oz.au> Date: Mon, 18 Jan 1999 23:40:01 -0500 To: wkt@cs.adfa.oz.au Subject: Re: Dating the addition of pipes in UNIX (etc.) Status: RO X-Status: A Content-Length: 2775 Lines: 61 I thought I sent congratulations on the getting the nsys kernel not only to boot but do ls. If not, congratulations! Do record the changes that were made. I don't know who now has copies of the audio tapes from the oral history thing. Originals would be either in the Lucent or AT&T archives; I suspect Mahoney has copies, given that this was worked over again a year ago. Mahoney's somewhat secret web site has the transcripts in HTML. I'm working out with him and the Bell Labs PR group how best to make them available. The "2nd Edition" Dectape that McKie got was almost certainly a boot tape with a system image and a couple of utilities. (I just showed him what I have and asked). Hunting the <=4th edition: remember that it was only starting with the 5th edition system that there was any kind of collected entity that was coordinated with a manual. We produced several manuals, each with a nominal date, describing a current state of things, but prepared over several months; what actual software people got was a copy of our disk at the instant they visited. It was almost always on RK03/RK05 disk packs, not magtape. Nice if one of these disk packs could be found and read. Proper dating of these things is hard. You observe correctly that "sys pipe" was anticipated on the "nsys" system but not implemented. I'm a bit doubtful on the clean-looking Jan 22 1973 date on "nsys". I might have botched the interpretation of the bytes in the date field, and also there is even a year-off possibility because we changed epochs more than once and rewrote some of the existing DECtapes to reflect this. Best reconstruction: During 1972, Ken finally puts pipes into Unix at McIlroy's urging--one of the interesting parts of the Oral History transcripts is MSM: I do want to talk about pipes, because Ritchie says in his retrospective that, not only was it your suggestion, but indeed, he suggests, at your insistence. McIlroy: That is one of the only places where, I very nearly exerted managerial control over UNIX, in pushing for those things. Yes. Kind of simultanenously, Ken did two tries at a C version of the system, once probably during maybe 1972, then in 1973. The first was abortive and leaves no trace. Difficulties were partly because he had trouble with design of the process-exchange/coroutining primitives, also because structures weren't in C yet. In 1973 he tried again. If the dates on the "nsys" tape are understood right and believed, this was early in the year. I'm pretty sure that we didn't adopt it as the standard "production" system until about September 1973. It is very likely that the real "sys" was still in assembler. Pipes were probably added first to this version, given the evidence in "nsys." Dennis From mairix@mairix Mon Jan 1 12:34:56 1970 X-source-folder: /home/wkt/Mail_archive/1999/01/19 Received: (from wkt@localhost) by henry.cs.adfa.edu.au (8.9.1/8.9.1) id JAA01710; Tue, 19 Jan 1999 09:29:23 +1100 (EST) (envelope-from wkt) From: Warren Toomey Message-Id: <199901182229.JAA01710@henry.cs.adfa.edu.au> Subject: DECtape with V2 To: dmr@plan9.bell-labs.com (Dennis Ritchie) Date: Tue, 19 Jan 1999 09:29:23 +1100 (EST) Return-Receipt-to: wkt@cs.adfa.edu.au Reply-To: wkt@cs.adfa.oz.au X-Mailer: ELM [version 2.4ME+ PL43 (25)] MIME-Version: 1.0 Content-Type: multipart/mixed; boundary=ELM916698563-1701-0_ Content-Transfer-Encoding: 7bit Status: RO Content-Length: 50114 Lines: 872 --ELM916698563-1701-0_ Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Dennis, I forgot that attachment, it's on the end of this email. Now, about that V2 DECtape. In the July 1984 issue of ;login: there is a Unix trivia quiz. At the top, it says: The following quiz was distributed at the Salt Lake City conference by Rob Pike... Jim McKie had the best score for an individual (57) and was awarded an authenticated 1972 DECtape containing UNIX Version 2. In 1995, I emailed Jim and asked him what had happened to the tape? He replied: a couple of years ago we sent that dectape along with a bunch of others we found under to floor to keith bostic at berkeley who had resurrected a dectape drive. i don't remember getting it back. i'll enquire. i loved pdp11's. So I assume that it must have been one of the DECtapes you had Keith read. However, somehow it got lost because you haven't mentioned it. So: do you guys still have those DECtapes, or does Keith have them? Would it be possible to sort through the box and see if any of the tapes might be the one that Jim won? I know it's unlikely to turn up, but it's worth just another look. I'm sure if the tape is found, we can get it read somehow. Thanks again, Warren --ELM916698563-1701-0_ Content-Type: application/postscript Content-Disposition: attachment; filename=Readme.ps Content-Description: Readme.ps Content-Transfer-Encoding: 7bit %!PS-Adobe-2.0 %%Creator: dvips(k) 5.78 Copyright 1998 Radical Eye Software (www.radicaleye.com) %%Title: Readme.dvi %%Pages: 7 %%PageOrder: Ascend %%BoundingBox: 0 0 596 842 %%DocumentFonts: Palatino-Bold Palatino-Roman Palatino-Italic %%EndComments %DVIPSCommandLine: dvips -o Readme.ps Readme.dvi %DVIPSParameters: dpi=600, compressed %DVIPSSource: TeX output 1999.01.15:1437 %%BeginProcSet: texc.pro %! /TeXDict 300 dict def TeXDict begin /N{def}def /B{bind def}N /S{exch}N /X{S N}B /TR{translate}N /isls false N /vsize 11 72 mul N /hsize 8.5 72 mul N /landplus90{false}def /@rigin{isls{[0 landplus90{1 -1}{-1 1} ifelse 0 0 0]concat}if 72 Resolution div 72 VResolution div neg scale isls{landplus90{VResolution 72 div vsize mul 0 exch}{Resolution -72 div hsize mul 0}ifelse TR}if Resolution VResolution vsize -72 div 1 add mul TR[matrix currentmatrix{dup dup round sub abs 0.00001 lt{round}if} forall round exch round exch]setmatrix}N /@landscape{/isls true N}B /@manualfeed{statusdict /manualfeed true put}B /@copies{/#copies X}B /FMat[1 0 0 -1 0 0]N /FBB[0 0 0 0]N /nn 0 N /IE 0 N /ctr 0 N /df-tail{ /nn 8 dict N nn begin /FontType 3 N /FontMatrix fntrx N /FontBBox FBB N string /base X array /BitMaps X /BuildChar{CharBuilder}N /Encoding IE N end dup{/foo setfont}2 array copy cvx N load 0 nn put /ctr 0 N[}B /df{ /sf 1 N /fntrx FMat N df-tail}B /dfs{div /sf X /fntrx[sf 0 0 sf neg 0 0] N df-tail}B /E{pop nn dup definefont setfont}B /ch-width{ch-data dup length 5 sub get}B /ch-height{ch-data dup length 4 sub get}B /ch-xoff{ 128 ch-data dup length 3 sub get sub}B /ch-yoff{ch-data dup length 2 sub get 127 sub}B /ch-dx{ch-data dup length 1 sub get}B /ch-image{ch-data dup type /stringtype ne{ctr get /ctr ctr 1 add N}if}B /id 0 N /rw 0 N /rc 0 N /gp 0 N /cp 0 N /G 0 N /sf 0 N /CharBuilder{save 3 1 roll S dup /base get 2 index get S /BitMaps get S get /ch-data X pop /ctr 0 N ch-dx 0 ch-xoff ch-yoff ch-height sub ch-xoff ch-width add ch-yoff setcachedevice ch-width ch-height true[1 0 0 -1 -.1 ch-xoff sub ch-yoff .1 sub]/id ch-image N /rw ch-width 7 add 8 idiv string N /rc 0 N /gp 0 N /cp 0 N{rc 0 ne{rc 1 sub /rc X rw}{G}ifelse}imagemask restore}B /G{{id gp get /gp gp 1 add N dup 18 mod S 18 idiv pl S get exec}loop}B /adv{cp add /cp X}B /chg{rw cp id gp 4 index getinterval putinterval dup gp add /gp X adv}B /nd{/cp 0 N rw exit}B /lsh{rw cp 2 copy get dup 0 eq{pop 1}{ dup 255 eq{pop 254}{dup dup add 255 and S 1 and or}ifelse}ifelse put 1 adv}B /rsh{rw cp 2 copy get dup 0 eq{pop 128}{dup 255 eq{pop 127}{dup 2 idiv S 128 and or}ifelse}ifelse put 1 adv}B /clr{rw cp 2 index string putinterval adv}B /set{rw cp fillstr 0 4 index getinterval putinterval adv}B /fillstr 18 string 0 1 17{2 copy 255 put pop}for N /pl[{adv 1 chg} {adv 1 chg nd}{1 add chg}{1 add chg nd}{adv lsh}{adv lsh nd}{adv rsh}{ adv rsh nd}{1 add adv}{/rc X nd}{1 add set}{1 add clr}{adv 2 chg}{adv 2 chg nd}{pop nd}]dup{bind pop}forall N /D{/cc X dup type /stringtype ne{] }if nn /base get cc ctr put nn /BitMaps get S ctr S sf 1 ne{dup dup length 1 sub dup 2 index S get sf div put}if put /ctr ctr 1 add N}B /I{ cc 1 add D}B /bop{userdict /bop-hook known{bop-hook}if /SI save N @rigin 0 0 moveto /V matrix currentmatrix dup 1 get dup mul exch 0 get dup mul add .99 lt{/QV}{/RV}ifelse load def pop pop}N /eop{SI restore userdict /eop-hook known{eop-hook}if showpage}N /@start{userdict /start-hook known{start-hook}if pop /VResolution X /Resolution X 1000 div /DVImag X /IE 256 array N 2 string 0 1 255{IE S dup 360 add 36 4 index cvrs cvn put}for pop 65781.76 div /vsize X 65781.76 div /hsize X}N /p{show}N /RMat[1 0 0 -1 0 0]N /BDot 260 string N /rulex 0 N /ruley 0 N /v{/ruley X /rulex X V}B /V{}B /RV statusdict begin /product where{pop false[ (Display)(NeXT)(LaserWriter 16/600)]{dup length product length le{dup length product exch 0 exch getinterval eq{pop true exit}if}{pop}ifelse} forall}{false}ifelse end{{gsave TR -.1 .1 TR 1 1 scale rulex ruley false RMat{BDot}imagemask grestore}}{{gsave TR -.1 .1 TR rulex ruley scale 1 1 false RMat{BDot}imagemask grestore}}ifelse B /QV{gsave newpath transform round exch round exch itransform moveto rulex 0 rlineto 0 ruley neg rlineto rulex neg 0 rlineto fill grestore}B /a{moveto}B /delta 0 N /tail {dup /delta X 0 rmoveto}B /M{S p delta add tail}B /b{S p tail}B /c{-4 M} B /d{-3 M}B /e{-2 M}B /f{-1 M}B /g{0 M}B /h{1 M}B /i{2 M}B /j{3 M}B /k{ 4 M}B /w{0 rmoveto}B /l{p -4 w}B /m{p -3 w}B /n{p -2 w}B /o{p -1 w}B /q{ p 1 w}B /r{p 2 w}B /s{p 3 w}B /t{p 4 w}B /x{0 S rmoveto}B /y{3 2 roll p a}B /bos{/SS save N}B /eos{SS restore}B end %%EndProcSet %%BeginProcSet: 8r.enc % @@psencodingfile@{ % author = "S. Rahtz, P. MacKay, Alan Jeffrey, B. Horn, K. Berry", % version = "0.6", % date = "22 June 1996", % filename = "8r.enc", % email = "kb@@mail.tug.org", % address = "135 Center Hill Rd. // Plymouth, MA 02360", % codetable = "ISO/ASCII", % checksum = "119 662 4424", % docstring = "Encoding for TrueType or Type 1 fonts to be used with TeX." % @} % % Idea is to have all the characters normally included in Type 1 fonts % available for typesetting. This is effectively the characters in Adobe % Standard Encoding + ISO Latin 1 + extra characters from Lucida. % % Character code assignments were made as follows: % % (1) the Windows ANSI characters are almost all in their Windows ANSI % positions, because some Windows users cannot easily reencode the % fonts, and it makes no difference on other systems. The only Windows % ANSI characters not available are those that make no sense for % typesetting -- rubout (127 decimal), nobreakspace (160), softhyphen % (173). quotesingle and grave are moved just because it's such an % irritation not having them in TeX positions. % % (2) Remaining characters are assigned arbitrarily to the lower part % of the range, avoiding 0, 10 and 13 in case we meet dumb software. % % (3) Y&Y Lucida Bright includes some extra text characters; in the % hopes that other PostScript fonts, perhaps created for public % consumption, will include them, they are included starting at 0x12. % % (4) Remaining positions left undefined are for use in (hopefully) % upward-compatible revisions, if someday more characters are generally % available. % % (5) hyphen appears twice for compatibility with both ASCII and Windows. % /TeXBase1Encoding [ % 0x00 (encoded characters from Adobe Standard not in Windows 3.1) /.notdef /dotaccent /fi /fl /fraction /hungarumlaut /Lslash /lslash /ogonek /ring /.notdef /breve /minus /.notdef % These are the only two remaining unencoded characters, so may as % well include them. /Zcaron /zcaron % 0x10 /caron /dotlessi % (unusual TeX characters available in, e.g., Lucida Bright) /dotlessj /ff /ffi /ffl /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef % very contentious; it's so painful not having quoteleft and quoteright % at 96 and 145 that we move the things normally found there down to here. /grave /quotesingle % 0x20 (ASCII begins) /space /exclam /quotedbl /numbersign /dollar /percent /ampersand /quoteright /parenleft /parenright /asterisk /plus /comma /hyphen /period /slash % 0x30 /zero /one /two /three /four /five /six /seven /eight /nine /colon /semicolon /less /equal /greater /question % 0x40 /at /A /B /C /D /E /F /G /H /I /J /K /L /M /N /O % 0x50 /P /Q /R /S /T /U /V /W /X /Y /Z /bracketleft /backslash /bracketright /asciicircum /underscore % 0x60 /quoteleft /a /b /c /d /e /f /g /h /i /j /k /l /m /n /o % 0x70 /p /q /r /s /t /u /v /w /x /y /z /braceleft /bar /braceright /asciitilde /.notdef % rubout; ASCII ends % 0x80 /.notdef /.notdef /quotesinglbase /florin /quotedblbase /ellipsis /dagger /daggerdbl /circumflex /perthousand /Scaron /guilsinglleft /OE /.notdef /.notdef /.notdef % 0x90 /.notdef /.notdef /.notdef /quotedblleft /quotedblright /bullet /endash /emdash /tilde /trademark /scaron /guilsinglright /oe /.notdef /.notdef /Ydieresis % 0xA0 /.notdef % nobreakspace /exclamdown /cent /sterling /currency /yen /brokenbar /section /dieresis /copyright /ordfeminine /guillemotleft /logicalnot /hyphen % Y&Y (also at 45); Windows' softhyphen /registered /macron % 0xD0 /degree /plusminus /twosuperior /threesuperior /acute /mu /paragraph /periodcentered /cedilla /onesuperior /ordmasculine /guillemotright /onequarter /onehalf /threequarters /questiondown % 0xC0 /Agrave /Aacute /Acircumflex /Atilde /Adieresis /Aring /AE /Ccedilla /Egrave /Eacute /Ecircumflex /Edieresis /Igrave /Iacute /Icircumflex /Idieresis % 0xD0 /Eth /Ntilde /Ograve /Oacute /Ocircumflex /Otilde /Odieresis /multiply /Oslash /Ugrave /Uacute /Ucircumflex /Udieresis /Yacute /Thorn /germandbls % 0xE0 /agrave /aacute /acircumflex /atilde /adieresis /aring /ae /ccedilla /egrave /eacute /ecircumflex /edieresis /igrave /iacute /icircumflex /idieresis % 0xF0 /eth /ntilde /ograve /oacute /ocircumflex /otilde /odieresis /divide /oslash /ugrave /uacute /ucircumflex /udieresis /yacute /thorn /ydieresis ] def %%EndProcSet %%BeginProcSet: texps.pro %! TeXDict begin /rf{findfont dup length 1 add dict begin{1 index /FID ne 2 index /UniqueID ne and{def}{pop pop}ifelse}forall[1 index 0 6 -1 roll exec 0 exch 5 -1 roll VResolution Resolution div mul neg 0 0]/Metrics exch def dict begin Encoding{exch dup type /integertype ne{pop pop 1 sub dup 0 le{pop}{[}ifelse}{FontMatrix 0 get div Metrics 0 get div def} ifelse}forall Metrics /Metrics currentdict end def[2 index currentdict end definefont 3 -1 roll makefont /setfont cvx]cvx def}def /ObliqueSlant {dup sin S cos div neg}B /SlantFont{4 index mul add}def /ExtendFont{3 -1 roll mul exch}def /ReEncodeFont{/Encoding exch def}def end %%EndProcSet TeXDict begin 39158280 55380996 1000 600 600 (Readme.dvi) @start /Fa 134[46 2[46 51 28 37 3[46 51 74 28 2[28 51 46 1[42 1[37 51 42 26[46 1[69 60 64[51 2[{ TeXBase1Encoding ReEncodeFont }20 83.022 /Palatino-Bold rf /Fb 133[37 3[42 46 28 32 32 2[37 46 4[23 42 42 1[32 1[34 38 37 28[65 14[42 5[25 21 46[{ TeXBase1Encoding ReEncodeFont }19 83.022 /Palatino-Italic rf %DVIPSBitmapFont: Fc cmsy10 10 1 /Fc 1 16 df15 D E %EndDVIPSBitmapFont %DVIPSBitmapFont: Fd cmtt10 10 79 /Fd 79 123 df<121C127FEAFF80B1EA7F00AF123EC7FCA8121C127FA2EAFF80A3EA7F00 A2121C09346FB32C>33 D<010F133C90381F807EA8013F13FE4A5AA4007FB612F0B712F8 A4003F15F03A007E01F800A5EBFE0301FC5BA6003FB612F0B712F8A46C15F03A01F807E0 00A30003130F01F05BA86C486C5A25337DB22C>35 DII39 D<143814FC13011303EB07F8 EB0FF0EB1FC0EB3F80EB7F0013FE485A485A5B12075B120F5B485AA2123F90C7FCA25A12 7EA312FE5AAC7E127EA3127F7EA27F121FA26C7E7F12077F12037F6C7E6C7E137FEB3F80 EB1FC0EB0FF0EB07F8EB03FC130113001438164272B92C>I<127012FC7E7E6C7E6C7EEA 0FE06C7E6C7E6C7E6C7E137F7F1480131F14C0130FEB07E0A214F01303A214F81301A314 FC1300AC130114F8A3130314F0A2130714E0A2EB0FC0131F1480133F14005B13FE485A48 5A485A485AEA3FC0485A48C7FC5A5A1270164279B92C>II<147814FCAF007FB612F0B712F8A46C15F0C700FC C7FCAF147825267DAB2C>II<007FB6FC B71280A46C150021067B9B2C>I<121FEA3F80EA7FC0EAFFE0A5EA7FC0EA3F80EA1F000B 0B708A2C>I<1507ED0F80151FA2153F16005D157E15FE5D14015D14035DA214075D140F 5D141F5D143F92C7FC5C147E14FE5CA213015C13035C13075C130F5C131F5CA2133F91C8 FC5B137E13FE5B12015B12035B12075BA2120F5B121F5B123F90C9FC5A127E12FE5AA25A 127821417BB92C>II<1307497EA213 1FA2133F137F13FF5A1207127FB5FC13DF139FEA7C1F1200B3AE007FB512E0B612F0A36C 14E01C3477B32C>IIII<000F B512FE4880A35D0180C8FCADEB83FE90389FFF8090B512E015F8819038FE03FE9038F000 FF01C07F49EB3F8090C7121F6C15C0C8120FA2ED07E0A4123C127EB4FC150F16C0A24814 1F007EEC3F80007FEC7F006C6C5B6D485A391FF80FFC6CB55A6C5C000114C06C6C90C7FC EB0FF823347CB22C>II<1278 B712C016E0A316C000FCC7EA3F80ED7F0015FE00785CC712014A5A4A5A5D140F5D4A5A14 3F92C7FC5C147E14FE5C13015CA2495AA213075CA3495AA4495AA5133F91C8FCAA131E23 357CB32C>III<121FEA3F80EA7FC0EAFFE0A5EA7FC0EA 3F80EA1F00C7FCAE121FEA3F80EA7FC0EAFFE0A5EA7FC0EA3F80EA1F000B2470A32C>I< EA0F80EA1FC0EA3FE0EA7FF0A5EA3FE0EA1FC0EA0F80C7FCAEEA0F80EA1FC0EA3FE0127F 13F0A4123F121F120F1201120313E01207EA0FC0A2EA3F80EA7F005A5A12F812700C3071 A32C>I<007FB612F0B712F8A4003F15F0CAFCA8003FB612F0B712F8A46C15F025147DA2 2C>61 D<127012FC7E6C7E13E06C7EEA1FFC6C7E3803FF80C67FEB7FF0EB1FF8EB0FFEEB 03FF6D13C06D6C7EEC3FF8EC0FFC6EB4FC0201138080A25C02071300EC0FFCEC3FF8EC7F E049485A4990C7FCEB0FFEEB1FF8EB7FF0EBFFC000035BD80FFEC8FC485AEA7FF0485A13 8048C9FC5A1270212A7BAD2C>I64 D<14FE497EA4497FA214EFA2 130781A214C7A2010F7FA314C390381F83F0A590383F01F8A490387E00FCA549137E90B5 12FEA34880A29038F8003FA34848EB1F80A4000715C049130FD87FFEEBFFFC6D5AB514FE 6C15FC497E27347EB32C>I<007FB512E015F8B612FE6C8016C03903F0003FED0FE0ED07 F01503A2ED01F8A6ED03F0A21507ED0FE0ED1FC0EDFF8090B612005D5D15FF16C09039F0 001FE0ED07F0ED03F81501ED00FCA216FE167EA616FE16FC1501ED03F8150FED3FF0007F B612E016C0B712806CECFE0015F027337FB22C>I<02FF13700107EBE0F84913F9013F13 FD4913FFEBFF813901FE007F4848131FD807F0130F1507485A491303485A150148C7FCA2 5A007EEC00F01600A212FE5AAB7E127EA3007F15F06CEC01F8A26C7EA26C6C13036D14F0 6C6C130716E0D803FC131F6C6CEB3FC03A00FF81FF806DB512006D5B010F5B6D13F00100 138025357DB32C>I<007FB5FCB612C015F0816C803907E003FEEC00FFED7F80153FED1F C0ED0FE0A2150716F0150316F81501A4ED00FCACED01F8A3150316F0A2150716E0150FED 1FC0153FED7F80EDFF00EC03FE007FB55AB65A5D15C06C91C7FC26337EB22C>I<007FB6 12F0B712F8A37E3903F00001A7ED00F01600A4EC01E04A7EA490B5FCA5EBF003A46E5A91 C8FCA5163C167EA8007FB612FEB7FCA36C15FC27337EB22C>I<007FB612F8B712FCA37E D803F0C7FCA716781600A515F04A7EA490B5FCA5EBF001A46E5A92C7FCAD387FFFE0B5FC 805C7E26337EB22C>I<903901FC038090390FFF87C04913EF017F13FF90B6FC48130738 03FC01497E4848137F4848133F49131F121F5B003F140F90C7FCA2127EED078092C7FCA2 12FE5AA8913803FFF84A13FCA27E007E6D13F89138000FC0A36C141FA27F121F6D133F12 0F6D137F6C7E6C6C13FF6D5A3801FF076C90B5FC6D13EF011F13CF6DEB0780D901FCC7FC 26357DB32C>II<007FB512F8B612FCA3 6C14F839000FC000B3B3A5007FB512F8B612FCA36C14F81E3379B22C>I<0107B5128049 14C0A36D148090390003F000B3AF1218127EA2B4FCA24A5A48130F007F131F9038C07FC0 6CB55A6C91C7FC6C5B000313F838007FC022347BB22C>I<387FFFE0B57EA36C5BD803F0 C8FCB3AE16F0ED01F8A8007FB6FCB7FCA36C15F025337DB22C>76 DIII<007FB512C0B612F88115FF6C15802603F00013C0153FED0FE0ED07 F0A2150316F81501A6150316F01507A2ED0FE0ED3FC015FF90B61280160015FC5D15C001 F0C8FCB0387FFF80B57EA36C5B25337EB22C>I<387FFFFCB67E15E015F86C803907E007 FE1401EC007F6F7E151FA26F7EA64B5AA2153F4BC7FCEC01FE140790B55A5D15E0818190 38E007FCEC01FE1400157F81A8160FEE1F80A5D87FFEEB1FBFB5ECFF00815E6C486D5AC8 EA01F029347EB22C>82 D<90381FF80790B5EA0F804814CF000714FF5A381FF01F383FC0 03497E48C7FC007E147F00FE143F5A151FA46CEC0F00007E91C7FC127F7FEA3FE0EA1FFC EBFFC06C13FC0003EBFFC06C14F06C6C7F01077F9038007FFEEC07FF02001380153FED1F C0A2ED0FE0A20078140712FCA56CEC0FC0A26CEC1F806D133F01E0EB7F009038FE01FF90 B55A5D00F914F0D8F83F13C0D8700790C7FC23357CB32C>I<007FB612FCB712FEA43AFC 007E007EA70078153CC71400B3AF90383FFFFCA2497F6D5BA227337EB22C>I<3B7FFF80 3FFFC0B56C4813E0A36C496C13C03B03F00001F800B3AF6D130300015DA26D130700005D 6D130F017F495A6D6C485AECE0FF6DB5C7FC6D5B010313F86D5B9038003F802B3480B22C >II<3A3FFF03 FFE0484913F0148714076C6D13E03A01F800FE007F0000495A13FE017E5BEB7F03013F5B 1487011F5B14CF010F5B14FF6D5BA26D90C7FCA26D5AA26D5AA2497EA2497EA2497F81EB 0FCF81EB1FC7EC87F0EB3F83EC03F8EB7F01017E7FEBFE00497F0001147E49137F000380 491480151FD87FFEEBFFFC6D5AB514FE6C15FC497E27337EB22C>88 DI<12 7812F87EA27E127E127F7E7F121F7F120F7F1207A27F12037F12017F12007F137E137F7F 80131FA280130F801307801303801301801300A280147E147F8081141F81140F81140781 1403A281140181140081157E157F811680151FA2150FED070021417BB92C>92 D<130EEB3F80EBFFE0000313F8000F13FE487FD87FF113C0D8FFE013E0EB803F38FE000F 007CEB07C00030EB01801B0C78B22C>94 D<007FB6FCB71280A46C150021067B7D2C>I< 137013F812011203EA07F0EA0FE0EA1FC01380EA3F00123E127E127CA212FC5AA4EAFF80 13C013E0A2127FA2123FEA1FC0EA0F800D1B71B82C>I<3801FFF0000713FE001F6D7E15 E048809038C01FF81407EC01FC381F80000006C77EC8127EA3ECFFFE131F90B5FC120312 0F48EB807E383FF800EA7FC090C7FC12FE5AA47E007F14FEEB8003383FE01F6CB612FC6C 15FE6C14BF0001EBFE1F3A003FF007FC27247CA32C>II<903803FFE0011F13F801 7F13FE48B5FC48804848C6FCEA0FF0485A49137E4848131890C9FC5A127EA25AA8127EA2 127F6C140F6DEB1F806C7E6D133F6C6CEB7F003907FE03FF6CB55A6C5C6C6C5B011F13E0 010390C7FC21247AA32C>IIIIII<1307EB1FC0A2497EA36D5AA20107C7FC 90C8FCA7387FFFC080B5FC7EA2EA0007B3A8007FB512FCB612FEA36C14FC1F3479B32C> I107 D<387FFFE0B57EA37EEA0003B3B3A5007FB61280B712C0A36C158022337BB22C>I< 3A7F83F007E09039CFFC1FF83AFFDFFE3FFCD87FFF13FF91B57E3A07FE1FFC3E01FCEBF8 3F496C487E01F013E001E013C0A301C01380B33B7FFC3FF87FF0027F13FFD8FFFE6D13F8 D87FFC4913F0023F137F2D2481A32C>I<397FF01FE039FFF87FFC9038F9FFFE01FB7F6C B6FC00019038F03F80ECC01F02807FEC000F5B5BA25BB3267FFFE0B5FCB500F11480A36C 01E0140029247FA32C>II<397FF01FE039FFF8FFF801FB13FE90B6FC6C15800001 9038F07FC09138801FE091380007F049EB03F85BED01FC491300A216FE167EA816FE6D14 FCA2ED01F86D13036DEB07F0150F9138801FE09138E07FC091B51280160001FB5B01F813 F8EC3FC091C8FCAD387FFFE0B57EA36C5B27367FA32C>I<903903FC078090391FFF0FC0 017F13CF48B512EF4814FF3807FE07380FF00148487E49137F4848133F90C7FC48141F12 7E150F5AA87E007E141FA26C143F7F6C6C137F6D13FF380FF0033807FC0F6CB6FC6C14EF 6C6C138F6D130FEB07F890C7FCAD0203B5FC4A1480A36E140029367DA32C>II<90387FF8700003B512F8 120F5A5A387FC00F387E00034813015AA36CEB00F0007F140013F0383FFFC06C13FE6CEB FF80000314E0C66C13F8010113FCEB0007EC00FE0078147F00FC143F151F7EA26C143F6D 133E6D13FE9038F007FC90B5FC15F815E000F8148039701FFC0020247AA32C>I<131E13 3FA9007FB6FCB71280A36C1500D8003FC8FCB1ED03C0ED07E0A5EC800F011FEB1FC0ECE0 7F6DB51280160001035B6D13F89038003FE0232E7EAD2C>I<3A7FF003FF80486C487FA3 007F7F0001EB000FB3A3151FA2153F6D137F3900FE03FF90B7FC6D15807F6D13CF902603 FE07130029247FA32C>I<3A7FFF01FFFCB514FE148314016C15FC3A03E0000F80A26D13 1F00011500A26D5B0000143EA26D137E017C137CA2017E13FC013E5BA2EB3F01011F5BA2 1483010F5BA214C701075BA214EF01035BA214FF6D90C7FCA26D5A147C27247EA32C>I< D87FFFEB7FFF6EB5FCB515806C16004A7ED807C0EB01F0A66C6C495AA3143E147FA2D801 F0495AECFF87A214F7A201F113C700005D9038F9E3CFA201FB13EFA3D97BC190C7FC017F 13FFA21480A2013F5B90381F007C29247FA32C>I<3A3FFF03FFF048018713F8A36C0103 13F03A00FC007E005D90387E01F8013F5BEB1F83EC87E090380FCFC0903807EF80EB03FF 6D90C7FC5C6D5A147C14FE130180903803EF80903807CFC0EB0FC7EC83E090381F01F001 3F7FEB7E00017C137C49137E0001803A7FFF01FFFC1483B514FE6C15FC140127247EA32C >I<3A7FFF01FFFCB5008113FE148314816C010113FC3A03E0000F806C7E151F6D140012 005D6D133E137C017E137E013E137CA2013F13FC6D5BA2EB0F815DA2EB07C1ECC3E0A2EB 03E3ECE7C0130114F75DEB00FFA292C7FC80A2143EA2147E147CA214FC5CA2EA0C01003F 5BEA7F83EB87E0EA7E0F495A387FFF806C90C8FC6C5A6C5AEA07E027367EA32C>I<003F B612E04815F0A4007EC7EA1FE0ED3FC0ED7F80EDFF004A5A003C495AC7485A4A5A4A5A4A 5A4A5A4AC7FCEB01FC495AEB0FF0495A495A495A49C8FC4848EB01E04848EB03F0485A48 5A485A485A485AB7FCA46C15E024247DA32C>I E %EndDVIPSBitmapFont /Fe 133[42 46 43 69 47 50 27 35 33 46 50 45 48 73 24 46 19 24 48 46 28 40 51 37 46 42 23 6[55 55 83 60 65 51 44 55 1[50 65 69 79 51 60 28 28 69 1[46 51 64 59 51 65 5[21 21 42 42 42 42 42 42 42 42 42 42 50 21 28 21 1[32 28 28 23 65 35[50 2[{ TeXBase1Encoding ReEncodeFont }72 83.022 /Palatino-Roman rf /Ff 134[66 3[73 40 53 47 73 73 66 73 106 40 73 1[40 73 66 1[60 73 53 1[60 12[80 73 86 3[100 2[93 1[47 2[66 2[86 80 66[{ TeXBase1Encoding ReEncodeFont }28 119.552 /Palatino-Bold rf /Fg 134[55 1[83 1[60 32 42 39 2[54 58 88 29 55 1[29 58 1[33 48 61 44 1[50 9[100 2[61 9[33 4[61 4[74 5[25 50 3[50 3[50 2[25 1[25 44[{ TeXBase1Encoding ReEncodeFont }29 99.6264 /Palatino-Roman rf /Fh 134[96 4[57 76 67 1[105 96 105 153 57 2[57 105 96 1[86 105 2[86 8[115 2[134 6[143 2[134 1[67 5[124 115 66[{ TeXBase1Encoding ReEncodeFont }22 172.188 /Palatino-Bold rf end %%EndProlog %%BeginSetup %%Feature: *Resolution 600dpi TeXDict begin %%PaperSize: A4 %%EndSetup %%Page: 1 1 1 0 bop 846 524 a Fh(Compiling)45 b(and)e(Booting)g(the)1183 731 y(Nsys)i(UNIX)e(Kernel)1570 1074 y Fg(W)-9 b(arr)n(en)25 b(T)-9 b(oomey)1324 1191 y(Email:)31 b(wkt@cs.adfa.edu.au)1521 1430 y(15th)25 b(January)-11 b(,)25 b(1999)0 1840 y Ff(Introduction)0 2071 y Fe(The)e(`nsys')g(UNIX)g(kernel)f(was)h(r)o(ecently)f(donated)g (to)h(the)f(PUPS)g(Ar)o(chive)g(by)g(Dennis)i(Ritchie.)32 b(This)23 b(\002le)g(describes)0 2170 y(how)f(you)f(can)f(boot)i(a)e (slightly-modi\002ed)i(version)f(of)g(this)h(kernel)e(on)i(a)e(5th)h (Edition)g(RK05)f(r)o(oot)h(\002lesystem.)0 2497 y Ff(Background)0 2728 y Fe(In)d(January)e(1999,)g(Dennis)j(Ritchie)f(sent)g(in)g(a)f (copy)g(of)h(the)f(`nsys')i(UNIX)e(kernel)h(for)f(inclusion)i(in)f(the) f(PUPS)g(Ar)o(chive.)0 2828 y(In)k(the)g(accompanying)g(README,)f(he)h (says:)208 3052 y(So)j(far)f(as)g(I)h(can)g(determine,)h(this)f(is)h (the)f(earliest)g(version)g(of)g(Unix)g(that)g(curr)o(ently)g(exists)g (in)h(machine-)208 3152 y(r)o(eadable)18 b(form.)26 b(...)f(The)c (dates)f(on)i(the)f(transcription)g(ar)o(e)e(har)o(d)h(to)h(interpr)o (et)f(corr)o(ectly;)g(if)h(my)g(pr)o(ogram)208 3251 y(that)f(interpr)o (ets)g(the)h(image)g(ar)o(e)e(corr)o(ect,)h(the)h(\002les)g(wer)o(e)f (last)g(touched)h(on)h(22)d(Jan,)h(1973.)k(...)208 3384 y(What)c(is)h(her)o(e)e(is)i(just)g(the)g(sour)o(ce)e(of)i(the)f(OS)h (itself,)f(written)h(in)f(the)h(pr)o(e-K&R)e(dialect)h(of)g(C.)g(The)h (\002le)f Fd(u)g Fe(is)208 3484 y(evidently)j(a)g(binary)g(image)h(of)f (the)h(kernel.)34 b(It)23 b(is)h(intended)f(only)i(for)e(PDP-1)-5 b(1/45,)23 b(and)g(has)g(setup)h(and)208 3583 y(memory-handling)g(code) g(that)g(will)h(not)f(work)h(on)f(other)g(models)h(\(it's)f(missing)h (things)g(special)f(to)g(the)208 3683 y(later)-6 b(,)20 b(smaller)h(models,)h(and)f(the)g(lar)o(ger)f(physical)i(addr)o(ess)d (space)i(of)g(the)g(still)h(later)f(1)-5 b(1/70.\))26 b(It)21 b(appears)208 3782 y(that)f(it)h(is)g(intended)g(to)g(be)g (loaded)f(into)h(memory)h(at)e(physical)h(0,)f(and)g(transferr)o(ed)f (to)i(at)f(location)i(0.)208 3915 y(I'm)d(not)h(sur)o(e)f(how)h(much)f (work)h(it)f(would)h(take)f(to)g(get)h(this)g(system)f(to)h(boot.)26 b(Even)18 b(compiling)j(it)e(might)208 4015 y(be)d(a)h(bit)g(of)g(a)g (challenge,)g(though)i(I)e(imagine)g(that)g(cir)o(ca)f(V5-V6)g (compilers)h(would)h(handle)f(the)g(language)208 4115 y(\(maybe)k(even)h(V7\).)28 b(It)23 b(is)f(full)g(of)g Fd(=+)f Fe(and)h(use)g(of)g Fd(char)42 b(*)22 b Fe(as)g(unsigned)g (integers,)h(and)f(integers)g(used)g(as)208 4214 y(pointers)f(in)g (locations)h(like)f Fd(p->x)p Fe(.)208 4347 y(So)29 b(far)g(as)h(I)g (can)g(determine,)i(the)e(disk)g(format)g(it)g(expects)f(is)i (compatible)f(with)h(the)f(layout)g(of)g(other)208 4447 y(earlyish)i(r)o(esear)o(ch)f(systems)i(\(V5,)h(V6\))e(for)g(example.) 60 b(But)33 b(per)o(haps)e(not,)36 b(and)c(it's)h(not)g(certain)f(that) 208 4546 y(the)25 b(sour)o(ce)g(is)h(complete.)39 b(Even)25 b(the)g(compilation)i(mechanism)f(is)g(a)e(bit)i(unclear)-6 b(,)26 b(though)g(it)g(certainly)208 4646 y(used)c(the)g(shell)h (script)f Fd(ken/rc)p Fe(,)e(which)j(appears)e(to)i(depend)e(on)i (having)g(the)f(*.o)h(\002les)g(fr)o(om)f Fd(ken/*)e Fe(and)208 4746 y Fd(dmr/*)h Fe(and)i(also)h Fd(slib.a)p Fe(,)d(which)k(doesn't)f(exist)f(on)h(the)g(tape.)33 b(My)23 b(guess)h(is)g(that)g(this)g(was)f(an)h(ar)o(chive)208 4845 y(of)e(alr)o(eady)f(compiled)i(.o)g(\002les,)g(so)g(that)g(\(for)f (example\))g(to)h(test-build)f(a)g(system)i(one)f(would)g(edit)f(a)h (\002le,)208 4945 y(compile)16 b(it,)i(and)e(r)o(un)h Fd(ken/rc)c Fe(to)k(load)f(it.)25 b(The)16 b('ustr)6 b(')17 b(r)o(outine)f(r)o(eferr)o(ed)e(to)j(in)f(ken/r)o(c)h(evidently) f(stripped)208 5044 y(of)o(f)j(the)i(a.out)g(header)e(and)i(the)g (symbols)h(fr)o(om)e(the)h(a.out)f(\002le.)208 5177 y(Best)28 b(wishes)h(with)g(this.)50 b(I'd)28 b(be)g(inter)o(ested)g(to)h(hear)e (whether)i(anyone)g(gets)g(the)f Fd(u)g Fe(image)h(to)g(r)o(un.)49 b(If)208 5277 y(you'r)o(e)20 b(in)h(luck,)g(all)g(you)g(need)f(is)h(an) g(1)-5 b(1/45)19 b(pr)o(ocessor)i(or)g(emulator)g(and)f(a)g(V5/6/7)g (disk)h(image.)0 5501 y(I)26 b(decided)f(to)i(try)f(and)g(compile)h (the)f(`nsys')i(code,)f(and)f(get)g(it)h(to)f(boot)h(on)g(a)f(PDP-1)-5 b(1/45)25 b(emulator)-6 b(.)42 b(A)26 b(secondary)0 5601 y(goal)c(was)g(to)g(use)g(the)f(`nsys')i(compilation)g(ef)o(fort)e(to)h (\002nd)g(any)g(r)o(emaining)f(bugs)h(in)h(my)f(Apout)f(PDP-1)-5 b(1)22 b(user)o(-mode)0 5700 y(emulator)-6 b(.)1899 5956 y(1)p eop %%Page: 2 2 2 1 bop 0 152 a Ff(T)-13 b(ools)30 b(Required)0 383 y Fe(Because)21 b(the)h(`nsys')h(kernel)f(is)g(dated)f(1973,)f(I)i (decided)e(to)j(use)f(a)f(5th)h(Edition)g(development)g(envir)o(omnent) h(to)f(com-)0 482 y(pile)f(it.)k(This)d(minimised)g(the)f(changes)f(I)h (had)f(to)i(make)e(to)h(the)g(sour)o(ce)f(code.)0 623 y(Ther)o(e)g(ar)o(e)f(several)h(ways)h(you)g(can)g(obtain)g(a)f(5th)h (Edition)g(development)g(envir)o(omnent:)125 834 y Fc(\017)41 b Fe(Load)20 b(a)g(5th)h(Edition)g(\002lesystem)g(on)h(an)e(RK05,)h (and)f(boot)h(it)g(on)h(a)e(PDP)h(1)-5 b(1/45;)125 994 y Fc(\017)41 b Fe(Load)20 b(a)g(5th)h(Edition)g(\002lesystem)g(on)h(an) e(RK05)h(disk)g(image,)f(and)h(boot)g(it)g(on)g(a)g(PDP)g(1)-5 b(1/45)19 b(emulator;)i(or)125 1155 y Fc(\017)41 b Fe(Unpack)19 b(the)h(5th)g(Edition)g(r)o(oot)g(\002lesystem)h(tr)o(ee)e(on)i(a)e (32-bit)g(little-endian)h(Unix)g(system,)g(and)g(use)g(the)g(Apout)208 1255 y(emulator)-6 b(.)0 1465 y(For)20 b(convenience,)f(I)h(chose)f(to) h(use)f(the)h(Apout)f(emulator)g(\(version)h(2.2alpha8\))d(as)i(my)g (development)h(envir)o(onment,)0 1565 y(and)29 b(Bob)g(Supnik's)g (PDP-1)-5 b(1)29 b(simulator)g(\(version)h(2.3d\))d(as)i(the)g(booting) h(envir)o(onment.)51 b(W)-5 b(ith)30 b(the)f(latter)-6 b(,)30 b(I)f(used)0 1664 y(the)21 b(5th)f(Edition)h(RK05)g(disk)g (image)f Fb(Distributions/r)o(esear)o(ch/Dennis)p 2229 1664 25 4 v 30 w(v5/v5r)o(oot.gz)d Fe(\(fr)o(om)i(the)i(PUPS)f(Ar)o (chive\))g(as)g(the)0 1764 y(\002lesystem.)0 1905 y(Regar)o(dless)32 b(of)h(the)h(method)f(you)h(choose,)j(the)c(modi\002ed)g(`nsys')h(sour) o(ce)f(must)h(be)f(unpacked)f(in)i(the)f(dir)o(ectory)0 2005 y Fd(/sys/nsys)p Fe(,)24 b(r)o(elative)h(to)i(the)g(top)g(of)f (the)h(5th)f(Edition)h(r)o(oot)g(dir)o(ectory)-9 b(,)26 b(i.e)h(the)f(\002le)h Fd(u)f Fe(\(size)g(26,266)e(bytes\))i(becomes)0 2104 y Fd(/sys/nsys/u)p Fe(.)j(This)23 b(\002le)h(is)g(the)f(original)h (`nsys')g(kernel)f(image,)h(as)f(supplied)g(by)h(Dennis;)h(we)e(will)h (build)g(our)f(own)0 2204 y(kernel)e(image.)0 2529 y Ff(Changes)30 b(to)h(the)e(Nsys)h(Source)0 2759 y Fe(Several)19 b(\002les)i(in)f(the)h(`nsys')g(sour)o(ce)f(had)g(to)h(be)f(modi\002ed) g(so)h(as)f(the)h(`nsys')g(kernel)g(would)f(work)h(with)g(a)f(5th)h (Edition)0 2859 y(\002lesystem)j(&)f(boot)h(envir)o(onment.)35 b(The)23 b(discovery)g(of)h(these)f(changes)h(took)g(me)g(several)e (days)i(of)f(\002ddling)h(with)g(C)0 2959 y(code,)k(assembly)g(code,)g (single-stepping)g(machine)g(code,)g(and)f(per)o(using)h(the)f(Lions')h (commentary)-9 b(.)46 b(Email)27 b(me)g(if)0 3058 y(you)21 b(r)o(eally)f(want)h(to)g(know)h(the)f(gory)g(details.)0 3199 y(The)g(changes)g(to)g(the)g(ten)g(`nsys')g(sour)o(ce)g(code)f (\002les)h(ar)o(e)f(described)f(below:)0 3410 y Fa(Filesystem)39 b Fe(The)30 b(5th)h(Edition)f(\002lesystem)h(is)g(laid)f(out)g (slightly)i(dif)o(fer)o(ently)c(to)j(that)f(which)h(the)f(`nsys')h (kernel)g(is)208 3509 y(expecting.)24 b(The)19 b Fd(filsys)d Fe(str)o(uct)j(needs)g(an)f(extra)g(\002eld,)g Fd(s)p 2070 3509 27 4 v 31 w(ronly)p Fe(,)f(and)h(the)h Fd(inode)e Fe(str)o(uct)i(needs)f(an)h(extra)e(\002eld,)208 3609 y Fd(i)p 257 3609 V 31 w(lastr)p Fe(.)23 b(The)e(two)g(\002les)g(af)o (fected)d(ar)o(e)i Fd(filsys.h)d Fe(and)k Fd(inode.h)p Fe(.)0 3770 y Fa(C)g(language)39 b Fe(The)28 b(C)g(language)g(changed)g (slightly)i(fr)o(om)e(the)g(`nsys')h(kernel)g(to)f(the)h(5th)f (Edition.)48 b(Sub-str)o(uctur)o(es)208 3869 y(de\002ned)18 b(within)i(a)e(str)o(uctur)o(e)h(wer)o(e)e(delimited)i(by)g(par)o (entheses)f(in)h(`nsys',)h(but)f(by)g(braces)f(in)h(5th)g(Edition.)25 b(The)208 3969 y(only)c(\002le)g(af)o(fected)d(is)k Fd(user.h)p Fe(.)208 4099 y(Several)15 b(lines)i(in)g(the)g Fd(psig\(\))d Fe(r)o(outine)j(in)g Fd(ken/sig.c)c Fe(wer)o(e)j(r)o(earranged)f (because)g(the)i(5th)g(Edition)g(C)g(compiler)208 4199 y(r)o(efused)i(to)i(parse)f(them.)26 b(The)21 b(actual)e(operations)j (performed)d(ar)o(e)h(unchanged.)0 4359 y Fa(Device)g(table)e(changes) 40 b Fe(The)20 b(`nsys')h(kernel)e(is)h(con\002gur)o(ed)g(to)g(have)f (four)h(block)g(device)f(drivers)g(\(rf,)g(rk,)g(tc)h(and)f(tm\),)208 4459 y(and)25 b(ten)h(character)f(device)g(drivers)g(\(kl,)i(dc,)g(pc,) f(dp,)h(dn,)g(mm,)h(vt,)f(da,)f(ct,)h(vs\).)41 b(T)-8 b(o)26 b(minimise)i(debugging,)f(I)208 4559 y(chose)c(to)h(r)o(emove)f (as)g(many)h(of)f(the)h(drivers)e(as)h(possible.)34 b(I)24 b(left)f(two)h(block)f(device)g(drivers,)g(rk)g(and)g(tm,)h(and)208 4658 y(two)c(character)f(device)g(drivers,)h(kl)g(and)g(mm.)26 b(The)20 b(two)h(main)f(\002les)h(af)o(fected)d(wer)o(e)h Fd(conf/c.c)e Fe(and)j Fd(conf/l.s)p Fe(.)208 4788 y(The)e(device)f (driver)g Fd(dmr/rk.c)d Fe(also)19 b(had)e(to)i(be)e(modi\002ed,)i(as)e (it)i(was)f(har)o(d-wir)o(ed)d(to)k(be)e(block)i(device)e(number)208 4888 y(1.)25 b(It)20 b(is)h(now)h(block)f(device)f(number)h(0.)0 5048 y Fa(De\002ciencies)39 b Fe(In)18 b(the)h Fd(putchar\(\))c Fe(r)o(outine)j(in)h Fd(prf.c)p Fe(,)d(a)i(test)h(is)g(made)f(on)h(a)f (r)o(egister)f(in)i(the)g(console)g(KL)g(device.)k(This)208 5148 y(r)o(egister)f(isn't)h(described)f(in)i(my)f(PDP-1)-5 b(1)23 b(peripherals)f(handbook)h(\(dated)f(1973\),)e(and)j(it)g(isn't) h(implemented)208 5248 y(in)d(Bob)g(Supnik's)g(simulator)-6 b(,)21 b(so)g(I)g(r)o(emoved)f(the)g(code.)208 5378 y(The)28 b(declaration)g(of)h(the)g Fd(clist)e Fe(str)o(uct)i(in)g Fd(tty.h)e Fe(need)i(a)f(semicolon)i(to)g(end)e(the)h(declaration;)j (again,)e(this)208 5477 y(could)20 b(be)h(due)f(to)h(a)g(change)f(in)i (the)e(C)h(language.)208 5608 y(The)f(machine)h(code)g(for)f(location)i (0)e(in)h Fd(conf/l.s)d Fe(has)j(the)g(octal)f(value)h(4)f(then)h(the)g (instr)o(uction)i Fd(br)42 b(1f)p Fe(.)25 b(In)c(5th)208 5707 y(Edition,)26 b(these)f(two)g(ar)o(e)f(transposed.)37 b(It)25 b(appears)f(that)h(the)g(entry)g(to)g(the)g(`nsys')h(kernel)f (must)g(have)g(been)f(at)1899 5956 y(2)p eop %%Page: 3 3 3 2 bop 208 150 a Fe(location)27 b(2)e(\(i.e)h(the)g Fd(br)g Fe(instr)o(uction\),)i(wher)o(eas)e(the)g(5th)g(Edition)h (kernel)f(starts)g(at)g(location)h(0.)42 b(Octal)26 b(4)g(is)g(an)208 250 y(IOT)c(instr)o(uction,)j(which)e(causes)f(an)g(immediate)h(har)o (dwar)o(e)d(exception)i(on)i(the)e(PDP-1)-5 b(1.)31 b(I)22 b(have)g(transposed)208 349 y(these)e(two)i(lines)f(in)g(the)g(`nsys')h (code.)0 515 y Fa(Cosmetic)d(changes)40 b Fe(While)23 b(trying)h(to)f(get)g(the)g(`nsys')h(kernel)f(to)g(boot)h(pr)o(operly) -9 b(,)22 b(I)h(added)e(the)i(5th)g(Edition)g Fd(printf)208 614 y Fe(line)e(to)g Fd(main\(\))d Fe(in)j Fd(main.c)p Fe(,)d(which)k(outputs)f(the)g(amount)h(of)e(physical)h(memory)h (available)d(on)j(the)f(machine.)0 836 y(As)f(well)g(as)g(these)g (changes,)g(I)g(have)f(moved)h(a)g(few)g(\002les)g(ar)o(ound)f(so)i (that)f(those)g(parts)g(of)g(the)g(kernel)g(which)h(must)f(be)0 935 y(tailor)o(ed)f(for)i(each)e(har)o(dwar)o(e)f(con\002guration)k(ar) o(e)d(kept)h(in)h(the)g Fd(conf/)d Fe(dir)o(ectory)-9 b(.)24 b(Final)d(linking)h(of)e(the)h(`nsys')g(kernel)0 1035 y(is)i(also)f(done)g(in)h(this)g(dir)o(ectory)-9 b(.)29 b(A)21 b(few)h(other)h(\002les)f(have)g(been)g(r)o(enamed)f(or)h (moved,)g(again)g(to)h(tidy)f(up)g(the)h(layout)0 1135 y(of)e(the)g(sour)o(ce.)k(The)20 b(changes)h(ar)o(e:)125 1356 y Fc(\017)41 b Fd(dmr/malloc.c)15 b Fe(becomes)21 b Fd(dmr/mem.c)125 1521 y Fc(\017)41 b Fd(tables.c)17 b Fe(becomes)k Fd(dmr/partab.c)125 1686 y Fc(\017)41 b Fd(ken/45.s)17 b Fe(becomes)k Fd(conf/mch.s)125 1851 y Fc(\017)41 b Fd(ken/low.s)17 b Fe(becomes)j Fd(conf/l.s)125 2016 y Fc(\017)41 b Fd(ken/conf.c)16 b Fe(becomes)21 b Fd(conf/c.c)0 2238 y Fe(Ther)o(e)28 b(ar)o(e)h(several)f(new)i(RCS)f (dir)o(ectories,)i(which)f(hold)g(the)g(changes)f(to)h(the)g(ten)f (`nsys')i(\002les)f(listed)f(above.)51 b(Fi-)0 2338 y(nally)-9 b(,)23 b(thr)o(ee)f(short)i(shell)g(scripts)f(have)f(been)h(cr)o(eated) e(to)i(make)g(compilation)h(of)f(the)g(`nsys')h(kernel)f(r)o(elatively) f(easy:)0 2437 y Fd(ken/mklib)p Fe(,)17 b Fd(dmr/mklib)g Fe(and)j Fd(conf/mkunix)p Fe(.)0 2764 y Ff(Compiling)31 b(the)e(Nsys)i(Kernel)0 2995 y Fe(Her)o(e)18 b(is)h(a)g(typescript)g (of)g(the)g(commands)h(r)o(equir)o(ed)d(to)j(compile)f(the)g(`nsys')h (kernel.)25 b(I)19 b(have)g(added)e(some)j(comments)0 3094 y(to)h(the)g(typescript.)0 3316 y Fd(\045)43 b(alias)f(5sh)0 3416 y(setenv)f(APOUT_ROOT)f(/usr/local/src/)o(V5;)d(apout)k ($APOUT_ROOT/bin/s)o(h)0 3615 y(\045)i(5sh)1176 b(#)43 b(Run)f(Apout)0 3814 y(#)h(chdir)f(/sys/nsys)650 b(Move)42 b(to)g(the)h(`nsys')e(directory)0 3914 y(#)i(chdir)f(ken)914 b(Start)41 b(with)h(the)h(kernel)e(code)0 4014 y(#)i(cat)g(mklib)0 4113 y(cc)g(-c)g(-O)f(*.c)0 4213 y(rm)h(../lib1)0 4312 y(ar)g(vr)g(../lib1)d(main.o)h(alloc.o)g(iget.o)g(prf.o)h(rdwri.o)e (slp.o)i(subr.o)f(text.o)g(trap.o)g(\\)44 4412 y(sig.o)g(sysent.o)f (clock.o)h(fio.o)h(malloc.o)e(nami.o)h(prproc.o)f(sys1.o)h(sys2.o)g(\\) 44 4512 y(sys3.o)g(sys4.o)0 4711 y(#)i(sh)g(mklib)957 b(Run)42 b(the)g(script)g(to)g(build)g(lib1)0 4811 y(alloc.c:)0 4910 y(clock.c:)0 5010 y(fio.c:)0 5109 y(iget.c:)0 5209 y(main.c:)0 5309 y(malloc.c:)0 5408 y(nami.c:)0 5508 y(prf.c:)0 5608 y(prproc.c:)0 5707 y(rdwri.c:)1899 5956 y Fe(3)p eop %%Page: 4 4 4 3 bop 0 150 a Fd(sig.c:)0 250 y(slp.c:)0 349 y(subr.c:)0 449 y(sys1.c:)0 549 y(sys2.c:)0 648 y(sys3.c:)0 748 y(sys4.c:)0 848 y(sysent.c:)0 947 y(text.c:)0 1047 y(trap.c:)0 1146 y(../lib1:)40 b(non)j(existent)0 1246 y(a)g(main.o)0 1346 y(a)g(alloc.o)0 1445 y(a)g(iget.o)0 1545 y(a)g(prf.o)0 1645 y(a)g(rdwri.o)0 1744 y(a)g(slp.o)0 1844 y(a)g(subr.o)0 1943 y(a)g(text.o)0 2043 y(a)g(trap.o)0 2143 y(a)g(sig.o)0 2242 y(a)g(sysent.o)0 2342 y(a)g(clock.o)0 2442 y(a)g(fio.o)0 2541 y(a)g(malloc.o)0 2641 y(a)g(nami.o)0 2740 y(a)g(prproc.o)0 2840 y(a)g(sys1.o)0 2940 y(a)g(sys2.o)0 3039 y(a)g(sys3.o)0 3139 y(a)g(sys4.o)0 3338 y(#)g(chdir)f(../dmr)1130 b(Move)42 b(to)h(the)f(devices)f(directory)0 3438 y(#)i(cat)g(mklib)0 3538 y(cc)g(-c)g(-O)f(*.c)0 3637 y(as)h(gput.s)0 3737 y(mv)g(a.out)e(gput.o)0 3836 y(rm)i(../lib2)0 3936 y(ar)g(vr)g(../lib2) d(*.o)0 4135 y(#)j(sh)g(mklib)1305 b(Run)43 b(the)f(script)f(to)i (build)f(lib2)0 4235 y(bio.c:)0 4335 y(cat.c:)0 4434 y(dc.c:)0 4534 y(dn.c:)0 4633 y(dp.c:)0 4733 y(draa.c:)0 4833 y(kl.c:)0 4932 y(mem.c:)0 5032 y(partab.c:)0 5132 y(pc.c:)0 5231 y(rf.c:)0 5331 y(rk.c:)0 5430 y(tc.c:)0 5530 y(tm.c:)0 5630 y(tty.c:)1899 5956 y Fe(4)p eop %%Page: 5 5 5 4 bop 0 150 a Fd(vs.c:)0 250 y(vt.c:)0 349 y(../lib2:)40 b(non)j(existent)0 449 y(a)g(bio.o)0 549 y(a)g(cat.o)0 648 y(a)g(dc.o)0 748 y(a)g(dn.o)0 848 y(a)g(dp.o)0 947 y(a)g(draa.o)0 1047 y(a)g(gput.o)0 1146 y(a)g(kl.o)0 1246 y(a)g(mem.o)0 1346 y(a)g(partab.o)0 1445 y(a)g(pc.o)0 1545 y(a)g(rf.o)0 1645 y(a)g(rk.o)0 1744 y(a)g(tc.o)0 1844 y(a)g(tm.o)0 1943 y(a)g(tty.o)0 2043 y(a)g(vs.o)0 2143 y(a)g(vt.o)0 2342 y(#)g(chdir)f(../conf)1086 b(Move)42 b(to)h(the)f(configuration)d(directory)0 2442 y(#)k(cat)g(mkunix)0 2541 y(as)g(mch.s)0 2641 y(mv)g(a.out)e(mch.o)0 2740 y(cc)i(-c)g(c.c)0 2840 y(as)g(l.s)0 2940 y(mv)g(a.out)e(l.o)0 3039 y(ld)i(-x)g(l.o)f(mch.o)f(c.o)i(../dmr/gput.o)38 b(../lib1)j(../lib2)0 3139 y(mv)i(a.out)e(unix)0 3239 y(nm)i(-n)g(unix)e(>)j(namelist)0 3338 y(ls)f(-l)g(unix)0 3438 y(size)f(unix)0 3637 y(#)h(sh)g(mkunix)1261 b(Build)42 b(config,)f(link)h(the)g(kernel)0 3737 y(-rwxrwxrwx)83 b(1)43 b(root)173 b(25322)41 b(Jan)i(14)g(22:02)e(unix)0 3836 y(21286+888+15962=)o(381)o(36)c(\(0112370\))0 4036 y(#)43 b(ls)g(-l)1437 b(And)43 b(see)f(what)g(other)g(files)f(we)i (have)0 4135 y(total)f(82)0 4235 y(drwxr-xr-x)83 b(2)43 b(root)260 b(512)42 b(Jan)h(14)g(05:37)e(RCS)0 4335 y(-r--r--r--)83 b(1)43 b(root)260 b(307)42 b(Jan)h(14)g(00:31)e(c.c)0 4434 y(-rw-rw-rw-)83 b(1)43 b(root)260 b(292)42 b(Jan)h(14)g(22:02)e (c.o)0 4534 y(-rw-rw-rw-)83 b(1)43 b(root)216 b(1200)42 b(Jan)h(14)g(22:02)e(l.o)0 4633 y(-r--r--r--)83 b(1)43 b(root)216 b(2004)42 b(Jan)h(13)g(22:37)e(l.s)0 4733 y(-rw-rw-rw-)83 b(1)43 b(root)216 b(1888)42 b(Jan)h(14)g(22:02)e(mch.o) 0 4833 y(-r--r--r--)83 b(1)43 b(root)216 b(3896)42 b(Jan)h(10)g(18:19)e (mch.s)0 4932 y(-r--r--r--)83 b(1)43 b(root)260 b(161)42 b(Jan)h(14)g(19:37)e(mkunix)0 5032 y(-rw-------)83 b(1)43 b(root)216 b(3995)42 b(Jan)h(14)g(22:02)e(namelist)0 5132 y(-rwxrwxrwx)83 b(1)43 b(root)173 b(25322)41 b(Jan)i(14)g(22:02)e (unix)0 5231 y(#)1899 5956 y Fe(5)p eop %%Page: 6 6 6 5 bop 0 152 a Ff(Installing)29 b(the)h(Nsys)g(Kernel)0 383 y Fe(Now)24 b(that)g(the)g(`nsys')h(kernel)f(is)g(compiled,)h(we)e (have)h(to)g(install)g(it)h(in)f(the)g(r)o(oot)g(dir)o(ectory)f(of)h (an)f(RK05)h(5th)g(Edition)0 482 y(UNIX)h(r)o(oot)f(\002lesystem.)39 b(I)25 b(used)f(the)h(bootable)g(5th)f(Edition)i(disk)f(image)f Fd(v5root)f Fe(and)h(Bob)h(Supnik's)g(emulator)g(to)0 582 y(do)c(this.)0 723 y(5th)29 b(Edition)g(UNIX)g(doesn't)g(have)f Fb(tar)p Fe(,)j(so)e(I)g(mounted)g Fd(v5root)e Fe(as)h(RK)i(pack)e(0,)i (and)f(I)f(mounted)i(the)f(new)g(`nsys')0 823 y(kernel)21 b(as)f(RK)i(pack)e(1,)g(after)f(doing)j(some)f(padding)f(to)i(the)f (\002le.)0 1025 y Fd(\045)43 b(ls)g(-l)0 1124 y(-rwx------)83 b(1)43 b(wkt)86 b(wheel)129 b(117728)41 b(Jan)h(11)h(14:02)f(pdp)260 b(Supnik)41 b(simulator)0 1224 y(-rw-------)83 b(1)43 b(wkt)86 b(wheel)303 b(55)43 b(Jan)f(15)h(14:12)f(v5)304 b(Config)41 b(file)0 1324 y(-r--------)83 b(1)43 b(wkt)86 b(wheel)f(2494464)41 b(Jan)h(15)h(13:35)f(v5root)128 b(V5)43 b(filesystem)0 1423 y(-rw-------)83 b(1)43 b(wkt)86 b(wheel)216 b(4096)42 b(Jan)g(14)h(12:06)f(zero)216 b(File)42 b(of)h(zeroes)0 1622 y(\045)g(cp)g(../V5/sys/nsys/c)o(on)o(f/u)o(ni)o (x)38 b(nsys.binary)300 b(Copy)42 b(the)g(kernel)g(here)0 1722 y(\045)h(cat)g(zero)e(>>)i(nsys.binary)998 b(Pad)42 b(it)h(with)f(zeroes)0 1921 y(\045)h(cat)g(v5)1742 b(Here)42 b(is)h(the)f(config)f(file)0 2021 y(set)h(cpu)h(18b)0 2121 y(att)f(rk0)h(v5root)0 2220 y(att)f(rk1)h(nsys.binary)0 2320 y(boot)f(rk)0 2519 y(\045)h(./pdp)f(v5)1655 b(Run)42 b(the)h(simulator)0 2718 y(PDP-11)e(simulator)f(V2.3d)0 2818 y(@unix)1872 b(Start)42 b(V5)g(UNIX)0 3017 y(login:)f(root)0 3117 y(#)i(check)f(/dev/rrk0)1347 b(Check)42 b(root)g(filesystem)0 3217 y(/dev/rrk0:)0 3316 y(spcl)303 b(5)0 3416 y(files)172 b(566)0 3515 y(large)g(126)0 3615 y(direc)216 b(28)0 3715 y(indir)172 b(126)0 3814 y(used)h(3790)0 3914 y(last)g(3985)0 4014 y(free)216 b(128)0 4213 y(#)43 b(ls)g(-l)g(/dev)1567 b(You)42 b(may)h(need)f(to)h(/etc/mknod)0 4312 y(total)f(0)1786 b(at)43 b(least)e(/dev/rrk1)0 4412 y(cr--r--r--)83 b(1)43 b(bin)217 b(1,)86 b(0)43 b(Nov)g(26)g(18:13)e(mem)0 4512 y(crw-rw-rw-)83 b(1)43 b(bin)217 b(1,)86 b(2)43 b(Nov)g(26)g(18:13)e (null)0 4611 y(crw-rw-rw-)83 b(1)43 b(root)173 b(2,)86 b(0)43 b(Mar)g(21)g(13:53)e(rrk0)0 4711 y(crw-rw-rw-)83 b(1)43 b(root)173 b(2,)86 b(1)43 b(Mar)g(21)g(14:18)e(rrk1)0 4811 y(crw--w--w-)83 b(1)43 b(root)173 b(0,)86 b(0)43 b(Mar)g(21)g(15:26)e(tty8)0 5010 y(#)i(dd)g(if=/dev/rrk1)c(count=50)h (of=z)739 b(Load)42 b(in)h(`nsys')e(kernel)g(+)i(pad)0 5109 y(50+0)f(records)f(in)0 5209 y(50+0)h(records)f(out)0 5408 y(#)i(dd)g(if=z)f(of=nsys)f(bs=11761)f(count=2)607 b(Trim)42 b(back)g(to)h(correct)d(size)0 5508 y(2+0)i(records)f(in)0 5608 y(2+0)h(records)f(out)1899 5956 y Fe(6)p eop %%Page: 7 7 7 6 bop 0 150 a Fd(#)43 b(rm)g(z)1830 b(Remove)41 b(temporary)f(files)0 349 y(#)j(ls)g(-l)g(nsys)1567 b(Check)42 b(correct)e(size)0 449 y(-rw-rw-rw-)83 b(1)43 b(root)173 b(23522)41 b(Mar)i(21)g(15:29)e (nsys)0 648 y(#)i(size)f(nsys)1611 b(Verify)41 b(a.out)h(values,)e (should)0 748 y(21286+888+15962=)o(381)o(36)d(\(0112370\))737 b(be)43 b(the)f(same)g(as)h(before)0 947 y(#)g(sync)1829 b(Shut)42 b(down)g(V5)h(UNIX)0 1047 y(#)g(sync)0 1146 y(#)g(^E)1917 b(and)42 b(exit)g(the)h(simulator)0 1246 y(Simulation)c(stopped,)i(PC:)h(014116)f(\(BNE)h(14150\))0 1346 y(sim>)g(q)0 1445 y(Goodbye)0 1670 y Fe(Y)-8 b(ou)19 b(now)g(have)f(the)g(`nsys')h(kernel)f(stor)o(ed)g(in)h(the)f(r)o(oot)g (dir)o(ectory)f(of)h(the)h(5th)f(Edition)g(r)o(oot)h(\002lesystem.)25 b(Y)-8 b(ou)19 b(can)f(now)0 1769 y(boot)j(it)g(and)g(see)f(that)h(it)g (works.)0 1993 y Fd(\045)43 b(./pdp)f(v5)1655 b(Run)42 b(the)h(simulator)0 2193 y(PDP-11)e(simulator)f(V2.3d)0 2292 y(@nsys)1872 b(Load)42 b(the)g(nsys)g(kernel)0 2392 y(mem)g(=)i(64539)1610 b(Printout)40 b(of)j(avail)f(memory)0 2591 y(login:)f(root)1611 b(/etc/init)40 b(works!)0 2790 y(#)j(ls)g(-l)1786 b(So)43 b(does)f(/bin/ls)0 2890 y(total)g(107)0 2990 y(drwxr-xr-x)83 b(2)43 b(bin)304 b(944)42 b(Nov)h(26)g(18:13)e (bin)0 3089 y(drwxr-xr-x)83 b(2)43 b(bin)304 b(112)42 b(Mar)h(21)g(14:21)e(dev)0 3189 y(drwxr-xr-x)83 b(2)43 b(bin)304 b(240)42 b(Mar)h(21)g(12:07)e(etc)0 3288 y(drwxr-xr-x)83 b(2)43 b(bin)304 b(224)42 b(Nov)h(26)g(18:13)e(lib)0 3388 y(drwxr-xr-x)83 b(2)43 b(bin)348 b(32)42 b(Nov)h(26)g(18:13)e(mnt) 0 3488 y(-rw-rw-rw-)83 b(1)43 b(root)173 b(23522)41 b(Mar)i(21)g(15:29) e(nsys)0 3587 y(drwxrwxrwx)83 b(2)43 b(bin)304 b(128)42 b(Mar)h(21)g(14:16)e(tmp)0 3687 y(-rwxrwxrwx)83 b(1)43 b(bin)217 b(25802)41 b(Mar)i(21)g(12:07)e(unix)0 3787 y(drwxr-xr-x)e(14)k(bin)304 b(224)42 b(Nov)h(26)g(18:13)e(usr)0 3886 y(#)i(sync)0 3986 y(#)g(^E)1917 b(Exit)42 b(the)g(simulator)0 4085 y(Simulation)d(stopped,)i(PC:)h(015140)f(\(BLT)h(15050\))0 4413 y Ff(Final)30 b(Notes)0 4643 y Fe(The)f(`nsys')i(kernel)e(can)g (now)h(boot)g(and)f(r)o(un)g(some)h(5th)g(Edition)f(UNIX)g(a.out)g (binaries.)51 b(However)-6 b(,)31 b(`nsys')g(is)e(an)0 4743 y(earlier)21 b(version)h(than)h(5th)f(Edition,)g(so)h(ther)o(e)e (will)i(be)e(some)i(V5)f(functionality)g(which)h(`nsys')g(does)f(not)h (support.)30 b(In)0 4843 y(particular)-6 b(,)22 b(`nsys')h(does)g(not)g (have)g(the)f Fd(pipe\(\))f Fe(system)i(call.)31 b(I)23 b(have)f(only)h(just)h(got)f(the)g(`nsys')h(kernel)e(to)h(boot,)h(so)f (I)0 4942 y(have)d(not)i(had)e(a)g(chance)h(to)g(sit)g(down)g(and)g (work)g(out)g(exactly)f(what)h(functionality)h(is)f(missing.)1899 5956 y(7)p eop %%Trailer end userdict /end-hook known{end-hook}if %%EOF --ELM916698563-1701-0_-- From mairix@mairix Mon Jan 1 12:34:56 1970 X-source-folder: /home/wkt/Mail_archive/1999/01/19 Received: (from wkt@localhost) by henry.cs.adfa.edu.au (8.9.1/8.9.1) id KAA01921; Tue, 19 Jan 1999 10:53:28 +1100 (EST) (envelope-from wkt) From: Warren Toomey Message-Id: <199901182353.KAA01921@henry.cs.adfa.edu.au> Subject: Dating the addition of pipes in UNIX To: dmr@plan9.bell-labs.com (Dennis Ritchie) Date: Tue, 19 Jan 1999 10:53:28 +1100 (EST) Reply-To: wkt@cs.adfa.oz.au X-Mailer: ELM [version 2.4ME+ PL43 (25)] MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Status: RO Content-Length: 1246 Lines: 33 Dennis, Let me know if I'm bothering you with all of this email. I'm sure that you've got other, better things to do than answer questions about old stuff. I'd love to know if anybody can remember the date that Ken hacked pipes into the Unix kernel. The nsys kernel is dated Jan 22 1973, and Peter Salus' book say that the 3rd Edition manuals came out in February 1973. Now, nsys doesn't have pipes, but has a system call reserved for pipes: 0, &nosys, /* 42 = pipe */ If the 3rd Edition manuals did come out in February, and nsys didn't have pipes in late January, then they must have been added during that interval. Also, was there a period when the kernel was being developed both in assembly language and in a HLL (pre-C)? You've said that ``Ken started trying [to rewrite the kernel in C] in the summer of 1972 and gave up. ... Over the year, I added structures ... and so over the next summer, we made the concerted effort and actually did redo the whole operating system in C.'' If nsys is dated January 1972 (i.e your winter), then either you last statement isn't quite correct, or nsys was a snapshot of a parallel development which culminated in a new system by summer 1973. Thanks again, Warren From mairix@mairix Mon Jan 1 12:34:56 1970 X-source-folder: /home/wkt/Mail_archive/1999/01/19 Received: (from wkt@localhost) by henry.cs.adfa.edu.au (8.9.1/8.9.1) id PAA02648; Tue, 19 Jan 1999 15:52:57 +1100 (EST) (envelope-from wkt) From: Warren Toomey Message-Id: <199901190452.PAA02648@henry.cs.adfa.edu.au> Subject: Re: Dating the addition of pipes in UNIX (etc.) In-Reply-To: <199901190439.PAA03516@csadfa.cs.adfa.oz.au> from "dmr@plan9.bell-labs.com" at "Jan 18, 1999 11:40: 1 pm" To: dmr@plan9.bell-labs.com Date: Tue, 19 Jan 1999 15:52:57 +1100 (EST) Reply-To: wkt@cs.adfa.oz.au X-Mailer: ELM [version 2.4ME+ PL43 (25)] MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Status: RO Content-Length: 2967 Lines: 69 In article by dmr@plan9.bell-labs.com: > I thought I sent congratulations on the getting the nsys > kernel not only to boot but do ls. If not, congratulations! > Do record the changes that were made. Thanks Dennis, the attached PostScript file I sent you has details of the changes. I was worried that my email hadn't reached you; glad it did. I've also been reading through the papers in the AT&T Bell Laboratories Technical Journal Vol 63, No 8, Part 2, October 1984. They have helped to answer some/most of the questions that I had asked you. I don't personally own either of AT&T Bell Laboratories Technical Journal Vol 63, No 8, Part 2, October 1984, or The Bell System Technical Journal Vol 57, No 6, Part 2, July-August 1978. Does Lucent sell back-copies? This might be an idea for the 30 years celebration. > Mahoney's somewhat > secret web site has the transcripts in HTML. I'm working out with > him and the Bell Labs PR group how best to make them available. Excellent. > The "2nd Edition" Dectape that McKie got was almost certainly > a boot tape with a system image and a couple of utilities. > (I just showed him what I have and asked). Even that would be a useful addition to the archives. I can't promise that I can boot it, this time :-) I assume this is either the tape `s2' or `unix' that you mentioned previously in your email. > Hunting the <=4th edition: remember that it was only starting > with the 5th edition system that there was any kind of collected > entity that was coordinated with a manual. ... > It was almost always on RK03/RK05 disk packs, not magtape. > Nice if one of these disk packs could be found and read. Do you think it would be worth approaching these institutions, anyway? They might have made, and kept, backup tapes. > Proper dating of these things is hard. You observe correctly that > "sys pipe" was anticipated on the "nsys" system but not implemented. > I'm a bit doubtful on the clean-looking Jan 22 1973 date on "nsys". > I might have botched the interpretation of the bytes in the date field, > and also there is even a year-off possibility because we changed > epochs more than once and rewrote some of the existing DECtapes > to reflect this. In that case, would you be prepared to send your tap-reading program, and the tap tape image of `nsys' (and any other tap images) for me to peruse? I've already written a tp(1) format reader by reverse-engineering the tp format. > I'm pretty sure that we didn't adopt [the C version of UNIX] as > the standard "production" system until about September 1973. It is > very likely that the real "sys" was still in assembler. Pipes were probably > added first to this version, given the evidence in "nsys." I suspected that you would have done development in parallel, and although this is not explicitly stated, I formed that impression while reading through the BSTJ Vol 63, No 8. Many thanks again for replying to my intrusions. Warren From mairix@mairix Mon Jan 1 12:34:56 1970 X-source-folder: /home/wkt/Mail_archive/1999/01/21 Received: from csadfa.cs.adfa.oz.au (csadfa-21.cs.adfa.oz.au [131.236.21.6]) by henry.cs.adfa.edu.au (8.9.1/8.9.1) with ESMTP id TAA09916 for ; Thu, 21 Jan 1999 19:11:37 +1100 (EST) (envelope-from dmr@plan9.bell-labs.com) From: dmr@plan9.bell-labs.com Received: from plan9.bell-labs.com (plan9.bell-labs.com [204.178.31.2]) by csadfa.cs.adfa.oz.au (8.9.0/8.9.0) with SMTP id TAA29986 for ; Thu, 21 Jan 1999 19:10:28 +1100 (EST) Message-Id: <199901210810.TAA29986@csadfa.cs.adfa.oz.au> Date: Thu, 21 Jan 1999 03:11:01 -0500 To: wkt@cs.adfa.oz.au Subject: Re: Early UNIX dates Status: RO X-Status: A Content-Length: 128 Lines: 8 I've got some suggested emendations and amplifications that I intend to relate. Bug me if I don't get to it soon. Dennis From mairix@mairix Mon Jan 1 12:34:56 1970 X-source-folder: /home/wkt/Mail_archive/1999/01/22 Received: from plan9.bell-labs.com (plan9.bell-labs.com [204.178.31.2]) by henry.cs.adfa.edu.au (8.9.1/8.9.1) with SMTP id SAA12586 for ; Fri, 22 Jan 1999 18:29:35 +1100 (EST) (envelope-from dmr@plan9.bell-labs.com) From: dmr@plan9.bell-labs.com Message-Id: <199901220729.SAA12586@henry.cs.adfa.edu.au> Date: Fri, 22 Jan 1999 02:28:16 -0500 To: wkt@henry.cs.adfa.edu.au Subject: re: Early UNIX dates Status: RO X-Status: A Content-Length: 6685 Lines: 179 Some comments. They're not really corrections to a timeline, and are mostly amplifications. Perhaps they suggest possible changes to the wording. ----- Early dates of UNIX Development As accurately as we can tell, anyway! References given where possible. 1969 Unknown: Ken creates `Space Travel'. It was first written on Multics, then transliterated into Fortran for GECOS, then Ken and Dennis rewrote Space Travel to run on the PDP-7 [http://cm.bell-labs.com/cm/cs/who/dmr/hist.html] Mid-year: Bell Labs withdraws from the Multics project [QCU pg 8] This date is probably OK for the official withdrawal, but the event was considerably more spread-out. It was pretty obvious many months in advance that the support was likely to go away, and the machine stayed around for months after. April, May, June: Ken is interested in writing a file system [QCU pg 8] The interest was older than this. He did experiments with simulation of paging on Multics, for example. He also wrote a rudimentary, completely stand-alone system for the Multics machine that achieved the equivalent of "Hello World" but gave it up when it became obvious that the hardware would not last. Mid-year: Ken brings the file system to life on the PDP-7 in a month [QCU pg 10] The missing sequence here is that by the time B was developed, PDP-7 Unix was a 2-user system that already did a basic core of ancestral commands and was self-supporting (development done on itself). So during the next months, extending into 1970, a useful programming environment visibly ancestral to current Unix was developed. B was just a part of this. Unknown: Ken develops the B language [QCU pg 34], [http://cm.bell-labs.com/cm/cs/who/dmr/chist.html] 1970 Unknown: Peter Neumann coins the term `Unics', which is subsequently changed to `Unix' [QCU pg 9] Unknown: Alternatively, Brian Kernighan suggests the name `Unix' [http://cm.bell-labs.com/cm/cs/who/dmr/hist.html] The details here remain satisfyingly uncertain. Brian does think he's likely to have invented the name; in recent correspondence, Neumann imagines he might have come up with "unics", but definitely not "unix." Each is willing to concede to the other; neither is really sure. I retain a suspicion that I'm responsible for the Neumann attribution simply because I didn't remember then or now, and Neumann's punful propensity suggested his authorship, and now we're stuck with this guess. Mid-year: The PDP-11/20 is purchased, with no disk drives [QCU pg 35], [http://cm.bell-labs.com/cm/cs/who/dmr/hist.html] 3 months later: The disks arrive [http://cm.bell-labs.com/cm/cs/who/dmr/chist.html] Unknown: Ken recodes the Unix kernel and some commands in PDP-11 assembly code [http://cm.bell-labs.com/cm/cs/who/dmr/chist.html] Actually much of the recoding even occurred before the disk was delivered. The basic system was running and executing commands, with a basic shell, cp and whatnot. The 12KWords were divided into 8KB for the system code and data, 8KB for running user programs, 8KB for an in-memory file system. This all used a cross-assembler written in B that ran on the PDP-7 and generated the -11 object programs. 1971 January-March: PDP-11 version largely rewritten during this period [http://cm.bell-labs.com/cm/cs/who/dmr/notes.html] Despite the above paragraph, it's true enough that the PDP-11 (with an 8KB "disk") couldn't be used for selt-supporting development. February: PDP-11 Unix beccomes ``operational'' [http://cm.bell-labs.com/cm/cs/who/dmr/cacm.html] Unknown: Dennis extends B to be NB [http://cm.bell-labs.com/cm/cs/who/dmr/chist.html] Maybe "throughout"? The point is that although it's true enough that I can't reconstruct the dates, it also wasn't an event, it was a process. Spring: roff rewritten in PDP-11 assembler language, starting from the PDP-7 version that had been transliterated from McIlroy's BCPL version on Multics, which had in turn been inspired by J. Saltzer's runoff program on CTSS [http://cm.bell-labs.com/cm/cs/who/dmr/hist.html] November: First Edition manuals were published [QCU pg 43] 1972 January: The Labs issues a technical memorandum, written by Ken, describing the B language on the PDP-11 [http://cm.bell-labs.com/cm/cs/who/dmr/kbman.html] I just found a manuscript dated 27 July 1971, that has essentially the same content as the more formal memorandum. March: First manual for cc(1) [QCU pg 48] March: UNIX is running on at least 5 PDP-11/20s [http://cm.bell-labs.com/cm/cs/who/dmr/notes.html] June: DEC starts to ship the PDP-11/45. The Labs purchases one sonn after this [http://www.village.org/pdp11/faq.pages/11model.html] soon June: Second Edition manuals were published. 10 UNIX installations [QCU pg 43] Unknown: Ken adds pipes to the assembly-language version of the kernel [QCU pg 51], [http://cm.bell-labs.com/cm/cs/who/dmr/hist.html] 1973 January: the `nsys' kernel in the PUPS archive, written in C [timestamps on the files] This is a bit problematical. The dates you see are those recovered from bytes on a tape; they might be wrong because of misinterpretation, or uncertainty about the epoch. It could be correct. The September date below (switching over to the C version of the system, an early version of which is the "nsys" system) is probably OK. February: Third Edition manuals were published. 16 UNIX installations [QCU pg 43] Kernel is still the assembly-language version [private email from dmr dated 7 Jan 1999] September: The C version of the kernel is adopted over the assembly-language version [private email from dmr dated 18 Jan 1999] October: First UNIX paper, presented by Ken at the Fourth ACM Symposium on Operating Systems Principles [http://cm.bell-labs.com/cm/cs/who/dmr/cacm.html] November: Fourth Edition manuals were published [QCU pg 43] 1974 June: Fifth Edition manuals were published [QCU pg 43] This was the first Unix distribution in which the manual was coordinated with a recorded set of software. Before this, when people got the software, they got what was on the disk at the moment and whatever manual we'd most recently printed. The Fifth Edition was all collected in one reasonably coherent piece on tape. July: Ken's SOSP published in Communications of the ACM, 17, No. 7 [http://cm.bell-labs.com/cm/cs/who/dmr/cacm.html] Well, mine too. The paper was always nominally co-written, though I did the writing (and Ken did most the ideas and more of the work). He was indeed the speaker at the SOSP session at Yorktown Heights. From mairix@mairix Mon Jan 1 12:34:56 1970 X-source-folder: /home/wkt/Mail_archive/1999/01/23 Received: from icarus.itsc.adfa.edu.au (icarus.itsc.adfa.edu.au [131.236.1.2]) by csadfa.cs.adfa.oz.au (8.9.0/8.9.0) with ESMTP id IAA01995 for ; Mon, 25 Jan 1999 08:31:57 +1100 (EST) From: dmr@plan9.bell-labs.com Received: from plan9.bell-labs.com (plan9.bell-labs.com [204.178.31.2]) by icarus.itsc.adfa.edu.au (8.9.1/8.9.1) with SMTP id RAA00968 for ; Sat, 23 Jan 1999 17:59:51 +1100 (EST) Message-Id: <199901230659.RAA00968@icarus.itsc.adfa.edu.au> Date: Sat, 23 Jan 1999 01:57:36 -0500 To: wkt@cs.adfa.oz.au Subject: Re: Early UNIX dates Content-Type: text Status: RO X-Status: A Content-Length: 353 Lines: 13 > I was idly thinking, now that I've completed my Ph.D, if Bell Labs > would take someone for a sabbatical in a few years, perhaps for some > (current) Operating Systems work. Posed as is, the answer is "sure." We have such visitors all the time. When the time comes, the specifics will need to be discussed in more detail, of course. Dennis From mairix@mairix Mon Jan 1 12:34:56 1970 X-source-folder: /home/wkt/Mail_archive/1999/01/26 Received: from csadfa.cs.adfa.oz.au (csadfa-21.cs.adfa.oz.au [131.236.21.6]) by henry.cs.adfa.edu.au (8.9.1/8.9.1) with ESMTP id MAA01235 for ; Wed, 27 Jan 1999 12:50:23 +1100 (EST) (envelope-from dmr@plan9.bell-labs.com) From: dmr@plan9.bell-labs.com Received: from plan9.bell-labs.com (plan9.bell-labs.com [204.178.31.2]) by csadfa.cs.adfa.oz.au (8.9.0/8.9.0) with SMTP id MAA05277 for ; Wed, 27 Jan 1999 12:48:29 +1100 (EST) Message-Id: <199901270148.MAA05277@csadfa.cs.adfa.oz.au> Date: Tue, 26 Jan 1999 20:48:14 -0500 To: wkt@cs.adfa.oz.au, johnh@psych.usyd.edu.au Subject: Re: Early UNIX dates + deepest whatevers Status: RO X-Status: A Content-Length: 230 Lines: 11 Abt the the SOSP reference, I was correcting a typo, not responding in high dudgeon, I assure you. More than interesting to see the johnh mail about reviving this on a real 11/45 with real RK05s. Amazing, in fact. Dennis From mairix@mairix Mon Jan 1 12:34:56 1970 X-source-folder: /home/wkt/Mail_archive/1999/01/31 Received: from csadfa.cs.adfa.oz.au (csadfa-21.cs.adfa.oz.au [131.236.21.6]) by henry.cs.adfa.edu.au (8.9.1/8.9.1) with ESMTP id MAA13853 for ; Mon, 1 Feb 1999 12:41:50 +1100 (EST) (envelope-from dmr@plan9.bell-labs.com) From: dmr@plan9.bell-labs.com Received: from plan9.bell-labs.com (plan9.bell-labs.com [204.178.31.2]) by csadfa.cs.adfa.oz.au (8.9.0/8.9.0) with SMTP id MAA16783 for ; Mon, 1 Feb 1999 12:39:51 +1100 (EST) Message-Id: <199902010139.MAA16783@csadfa.cs.adfa.oz.au> Date: Sun, 31 Jan 1999 20:39:47 -0500 To: wkt@cs.adfa.oz.au Subject: Re: Old UNIX file system formats (fwd) Status: RO X-Status: A Content-Length: 98 Lines: 8 Norman sent me a version of this a couple of days ago. I suggested some minor fixes. Dennis From mairix@mairix Mon Jan 1 12:34:56 1970 X-source-folder: /home/wkt/Mail_archive/1999/02/02 Received: from plan9.bell-labs.com (plan9.bell-labs.com [204.178.31.2]) by henry.cs.adfa.edu.au (8.9.1/8.9.1) with SMTP id OAA03592 for ; Wed, 3 Feb 1999 14:47:58 +1100 (EST) (envelope-from dmr@plan9.bell-labs.com) From: dmr@plan9.bell-labs.com Message-Id: <199902030347.OAA03592@henry.cs.adfa.edu.au> Date: Tue, 2 Feb 1999 21:59:52 -0500 To: johnh@psych.usyd.edu.au, wkt@henry.cs.adfa.edu.au Subject: the photos Status: RO X-Status: A Content-Length: 869 Lines: 28 Glad Patrick found and sent on the higher-res image. He didn't mention to me that he'd turned it up (or his communication got lost amidst the other PR things we've been dealing with--in the event, I just fetched it all the way from Australia instead of across the campus.) It certainly is utterly diagnostic on the TTYs. The cabinet on the left might be be a tape controller (especially given the 12" magtapes atop). But although we might be chunky enough to conceal the transport, I suspect the leftmost cabinet had the RF11/RS11 fixed-head disks I'm still wondering about the display, but I guess it must be there. Later it was put on one shelf of another rack on the right. Not too long after, another rack with the controller for the RP03s arrived and it would be on the left. Maybe I should be most impressed by the abundance of not-gray hair. Dennis From mairix@mairix Mon Jan 1 12:34:56 1970 X-source-folder: /home/wkt/Mail_archive/1999/02/02 Received: from csadfa.cs.adfa.oz.au (csadfa-21.cs.adfa.oz.au [131.236.21.6]) by henry.cs.adfa.edu.au (8.9.1/8.9.1) with ESMTP id PAA03918 for ; Wed, 3 Feb 1999 15:14:19 +1100 (EST) (envelope-from dmr@plan9.bell-labs.com) From: dmr@plan9.bell-labs.com Received: from plan9.bell-labs.com (plan9.bell-labs.com [204.178.31.2]) by csadfa.cs.adfa.oz.au (8.9.0/8.9.0) with SMTP id PAA22121 for ; Wed, 3 Feb 1999 15:11:51 +1100 (EST) Message-Id: <199902030411.PAA22121@csadfa.cs.adfa.oz.au> Date: Tue, 2 Feb 1999 23:11:13 -0500 To: wkt@cs.adfa.oz.au Subject: Avalanche of mail Status: RO X-Status: A Content-Length: 1591 Lines: 52 You mean like this? I dunno, somehow it gets dealt with, sometimes by ignoring. This was a more active day than usual. D. To: dmr@bell-labs.com Date: Tue Feb 2 12:01 From: jla@pcdaltabuit.dgsca.unam.mx (Jose Luis Abelleyra) Hello: Apparently-To: dmr@bell-labs.com My name is Jose Luis Abelleyra R. and I'm a college student. I'm iterested on the details of the C languege and that's why I'm writing you now. Would you mind telling me where I can find a/the C language specification for free? I'll be thankful at you. Thanks a lot! ---- >From mail.usask.ca!nmm367 Mon Feb 1 18:58 From: Naiden M Markachev To: dmr@plan9.bell-labs.com Subject: Re: A quick question. Hello Sir! About ten days ago I asked you for an eventual interview for the all canadian computer science students magazine that we started here at the Univeristy of Saskatchewan. The pilot issue is already a fact! :) You can have a look at it at: http://magazine.usask.ca ----- >From mfasia.com.sg!isabelle_chan Tue Feb 2 06:07:05 EST 1999 To: dmr@bell-labs.com From: Isabelle Chan Subject: Comments on Linux Dear Dennis, I hope you remember me. We met early last year in Singapore during an interview arranged by Jessica. I'm doing a story on Linux, and would appreciate it if you give me some comments on the following: 1) Although Linux has been around for a long time, and has a loyal following, what are the reasons for the "sudden" huge interest in corporates (reasons other than users owning the source code and it being cheap? ..... From mairix@mairix Mon Jan 1 12:34:56 1970 X-source-folder: /home/wkt/Mail_archive/1999/02/05 Received: from plan9.bell-labs.com (plan9.bell-labs.com [204.178.31.2]) by henry.cs.adfa.edu.au (8.9.1/8.9.1) with SMTP id MAA18045 for ; Sat, 6 Feb 1999 12:28:03 +1100 (EST) (envelope-from dmr@plan9.bell-labs.com) From: dmr@plan9.bell-labs.com Message-Id: <199902060128.MAA18045@henry.cs.adfa.edu.au> Date: Fri, 5 Feb 1999 20:25:47 -0500 To: johnh@psych.usyd.edu.au, wkt@henry.cs.adfa.edu.au Subject: Re: the photos Status: RO Content-Length: 590 Lines: 21 I resampled the very big image down to WWW-friendly size (but better than the one in the lucent.com museum) and put it under my home page with an approximately consensus account of the kit that is visible. The leftmost cabinet's lights seem isomorphic to those on the RF11 controller pictured in the old Peripherals Handbook I have. John, > I'm starting to miss the 'good old days', where I could track faults down to > chip level using a CRO and circuits .... Have you checked out the KS-11 story? It's in http://cm.bell-labs.com/cm/cs/who/dmr/odd.html Best regards, Dennis From mairix@mairix Mon Jan 1 12:34:56 1970 X-source-folder: /home/wkt/Mail_archive/1999/02/10 Received: from csadfa.cs.adfa.oz.au (csadfa-21.cs.adfa.edu.au [131.236.21.6]) by henry.cs.adfa.edu.au (8.9.1/8.9.1) with ESMTP id PAA27287 for ; Thu, 11 Feb 1999 15:10:12 +1100 (EST) (envelope-from dmr@plan9.bell-labs.com) From: dmr@plan9.bell-labs.com Received: from plan9.bell-labs.com (plan9.bell-labs.com [204.178.31.2]) by csadfa.cs.adfa.oz.au (8.9.0/8.9.0) with SMTP id PAA09443 for ; Thu, 11 Feb 1999 15:08:01 +1100 (EST) Message-Id: <199902110408.PAA09443@csadfa.cs.adfa.oz.au> Date: Wed, 10 Feb 1999 23:08:09 -0500 To: wkt@cs.adfa.oz.au Subject: Re: Reprints of old BSTJ? Status: RO X-Status: A Content-Length: 589 Lines: 15 I got substantially the same letter from Peng. I had already mentioned the possibility of another reprint of the BSTJ/AT&TTJ issues to the PR people, but haven't pursued the matter. I do note that this already happened once: there are two volumes entitled Unix System: Readings and Applications (v I and II), with ISBN 0-13-938532-0 and 0-13-939845-7) published in 1987 by Prentice-Hall. They are reprintings of the original journals. It's possible that P-H and the company may think this is going to the well too many times (more precisely, say "sure! are you willing to pay?") From mairix@mairix Mon Jan 1 12:34:56 1970 X-source-folder: /home/wkt/Mail_archive/1999/02/11 Received: (from wkt@localhost) by henry.cs.adfa.edu.au (8.9.1/8.9.1) id PAA27333; Thu, 11 Feb 1999 15:23:14 +1100 (EST) (envelope-from wkt) From: Warren Toomey Message-Id: <199902110423.PAA27333@henry.cs.adfa.edu.au> Subject: Re: Reprints of old BSTJ? In-Reply-To: <199902110408.PAA09443@csadfa.cs.adfa.oz.au> from "dmr@plan9.bell-labs.com" at "Feb 10, 1999 11: 8: 9 pm" To: dmr@plan9.bell-labs.com Date: Thu, 11 Feb 1999 15:23:13 +1100 (EST) Cc: wkt (Warren Toomey) Reply-To: wkt@cs.adfa.oz.au X-Mailer: ELM [version 2.4ME+ PL43 (25)] MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Status: RO Content-Length: 815 Lines: 23 In article by dmr@plan9.bell-labs.com: > I got substantially the same letter from Peng. I had already mentioned > the possibility of another reprint of the BSTJ/AT&TTJ issues to the > PR people, but haven't pursued the matter. > I do note that this already happened > once: there are two volumes entitled Unix System: Readings and > Applications (v I and II), with ISBN 0-13-938532-0 and > 0-13-939845-7) published in 1987 by Prentice-Hall. They > are reprintings of the original journals. > > It's possible that P-H and the company may think this is going to > the well too many times (more precisely, say "sure! are you > willing to pay?") I guess, if P-H only has the publishing rights, and not the copyright, that Lucent could place the old papers (in some format) on the Web. Thanks again, Warren From mairix@mairix Mon Jan 1 12:34:56 1970 X-source-folder: /home/wkt/Mail_archive/1999/08/28 Received: (from wkt@localhost) by henry.cs.adfa.edu.au (8.9.2/8.9.1) id NAA06215; Sat, 28 Aug 1999 13:53:36 +1000 (EST) (envelope-from wkt) From: Warren Toomey Message-Id: <199908280353.NAA06215@henry.cs.adfa.edu.au> Subject: Re: dsw In-Reply-To: <199908270723.RAA00254@csadfa.cs.adfa.edu.au> from "dmr@plan9.bell-labs.com" at "Aug 27, 1999 3:23:43 am" To: dmr@plan9.bell-labs.com Date: Sat, 28 Aug 1999 13:53:36 +1000 (EST) Cc: wkt (Warren Toomey) Reply-To: wkt@cs.adfa.edu.au X-Mailer: ELM [version 2.4ME+ PL43 (25)] MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Status: RO Content-Length: 1334 Lines: 33 In article by dmr@plan9.bell-labs.com: > You may have received the dsw mail more than once too, > since I sent it to you (with some address) and to PUPS, which > appeared to bounce, and then again just now, which partially did. > There have been some network instabilities here, and one > can't discount operator error. It seems your mail system can't recognise wkt@henry.cs.adfa.edu.au (my desktop box), but it can recognise wkt@cs.adfa.edu.au (a mail alias) > I don't have a problem with copying the compilers, more > or less as a mirror. I wonder if anyone will try to revive them? 8-) If I just had some more time. After getting the 3rd Edition nsys kernel working, I've realised that doing this is like reviving dinosaur DNA: you need the correct environment for it to work. It's fortunate that the 5th Edition is still in existence, AND there are working PDP-11 emulators. If/when I get to those two compilers, I'll start with V5 and a working emulator as the environment. > I've been in conversation recently with Dan Bricklin, of VisiCalc fame. ... > http://www.bricklin.com/history/vcpostingreactions.htm . Thanks for the URL. I still have a VisiCalc disk image for an Apple ][, and an Apple ][ emulator. In fact, up until two years ago, VisiCalc was the only spreadsheet program I'd ever used. Cheers, Warren From mairix@mairix Mon Jan 1 12:34:56 1970 X-source-folder: /home/wkt/Mail_archive/1999/08/30 Received: from plan9.bell-labs.com (plan9.bell-labs.com [204.178.31.2]) by henry.cs.adfa.edu.au (8.9.2/8.9.3) with SMTP id OAA11894 for ; Mon, 30 Aug 1999 14:26:05 +1000 (EST) From: dmr@plan9.bell-labs.com Message-Id: <199908300426.OAA11894@henry.cs.adfa.edu.au> Subject: Re: dsw Date: Mon, 30 Aug 1999 00:25:26 -0400 To: wkt@henry.cs.adfa.edu.au MIME-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 8bit Status: RO X-Status: A Content-Length: 264 Lines: 12 As a test, I'm sending this via henry. There have been some disturbances; maybe the storm is over. It'll be interesting to see whether anyone gets one of the primeval compilers working. It might indeed be like recreating T. Rex from preserved DNA. Dennis From mairix@mairix Mon Jan 1 12:34:56 1970 X-source-folder: /home/wkt/Mail_archive/1999/08/30 Received: from csadfa.cs.adfa.edu.au (csadfa-21.cs.adfa.edu.au [131.236.21.6]) by henry.cs.adfa.edu.au (8.9.2/8.9.3) with ESMTP id QAA12224 for ; Mon, 30 Aug 1999 16:07:37 +1000 (EST) From: dmr@plan9.bell-labs.com Received: from plan9.bell-labs.com (plan9.bell-labs.com [204.178.31.2]) by csadfa.cs.adfa.edu.au (8.9.0/8.9.0) with SMTP id QAA12887 for ; Mon, 30 Aug 1999 16:07:33 +1000 (EST) Message-Id: <199908300607.QAA12887@csadfa.cs.adfa.edu.au> Subject: Re: dsw Date: Mon, 30 Aug 1999 02:07:15 -0400 To: wkt@cs.adfa.edu.au MIME-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 8bit Status: RO X-Status: A Content-Length: 1053 Lines: 33 I looked at the slides--look OK to me. I was strongly tempted to come to the event, but September is a bad month w.r.t. work things. About the specific slide you sent--if you want to be certain of correctness in all details, you might just say 1973 instead of 1972. >From 1999's viewpoint, it's equally impressive, but several things are better documented historically for '73 than '72-- things were changing fast. The later things (not in from the start, but indeed in by 1973) were OS written in C, pipes, approximately the current form of signals. Incidentally, some features mentioned that were in from absolutely the very start (the magic 30 years) were multiple concurrent and named users (passwords later) multiple processes (not protected, because the hardware didn't have it) with swapping sort of hierarchical file system permissions hard links devices accessed as files open close read write seek operations on files Things certainly added '71-'73-- C, pipes, passwords, approximately modern form of signals. Dennis From mairix@mairix Mon Jan 1 12:34:56 1970 X-source-folder: /home/wkt/Mail_archive/1999/08/30 Received: from csadfa.cs.adfa.edu.au (csadfa-21.cs.adfa.edu.au [131.236.21.6]) by henry.cs.adfa.edu.au (8.9.2/8.9.3) with ESMTP id HAA13771 for ; Tue, 31 Aug 1999 07:19:00 +1000 (EST) From: dmr@plan9.bell-labs.com Received: from plan9.bell-labs.com (plan9.bell-labs.com [204.178.31.2]) by csadfa.cs.adfa.edu.au (8.9.0/8.9.0) with SMTP id HAA15579 for ; Tue, 31 Aug 1999 07:18:58 +1000 (EST) Message-Id: <199908302118.HAA15579@csadfa.cs.adfa.edu.au> Subject: Re: Reprints of old BSTJ? Date: Mon, 30 Aug 1999 17:18:46 -0400 To: wkt@cs.adfa.edu.au MIME-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 8bit Status: RO Content-Length: 295 Lines: 12 There might be an AT&T vs Lucent issue in the permissions. Probably more relevant is the form--the reprinting was done photographically, and only some of the papers existed in machine readable form. They are also quite scattered (e.g. I have not been able to locate some of mine). Dennis From mairix@mairix Mon Jan 1 12:34:56 1970 X-source-folder: /home/wkt/Mail_archive/1999/08/30 Received: from csadfa.cs.adfa.edu.au (csadfa-21.cs.adfa.edu.au [131.236.21.6]) by henry.cs.adfa.edu.au (8.9.2/8.9.3) with ESMTP id GAA13705 for ; Tue, 31 Aug 1999 06:20:42 +1000 (EST) From: dmr@plan9.bell-labs.com Received: from plan9.bell-labs.com (plan9.bell-labs.com [204.178.31.2]) by csadfa.cs.adfa.edu.au (8.9.0/8.9.0) with SMTP id GAA11663 for ; Tue, 31 Aug 1999 06:20:03 +1000 (EST) Message-Id: <199908302020.GAA11663@csadfa.cs.adfa.edu.au> Subject: the s2 tape Date: Mon, 30 Aug 1999 16:19:48 -0400 To: wkt@cs.adfa.edu.au MIME-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 8bit Status: RO X-Status: A Content-Length: 465633 Lines: 7519 is below (uuencoded) begin 0664 s2.tar.uu M8FEN+P M M " @(#4U-2 (" @(" P( @(" @(# @ " @(" @(" @(" P M(" @-34V,S(W,#,W(" @-#4T,@ @-0 M M M M M M M M !B:6XO;6%K:0 M M (" @-#,W( @(" @(# @ " @ M(" @," (" @(" @(#$R-S(@(" U-3 W,S S-#8@(" U-# U " M M M M M M M M @#T@_<=YO\$ '<)HO\ 0#\* 8FWBF0*)A!F$$ 5]Q^8%@P " ,_ M"I 6)A!W"8#_ * ( 5]QUV%JR]-Y P , 54D'!%?S_-PJ:O?<5"@"2O?=E M, ".O>"=BKV!"O0"P!4! 2)3$$' ($5@!6% &8@>'AX> H %2 "!4 E 075 M"X4 ]PLL%@,#%R$* 8"]PD0 ,0 ]PD* ,0 AP#W"Q(6$ (_D0X*MPH*"MC$0 " K<*SA47HQ( [0+W"L05Z@$F$?<)8 ,7(3T 0P,7(3H $ ,W$;85 MA!7W"9X$P)VX%< ,\"VT%9)+6(/P':P5DDM4 805%R& >&%R$! ! #=PG> M_G@ Q@',M1\ P-W"=#^;0#,W8 5]!U^%0( N@' '6H5]PFN /"=;!6<2\ , M]YUD%5L5]QU@%585-Y!0%? =5A5^2\"=*1$$B9Y7! "A ?<)T +W"7P&@157 M(( !(9W"7S^> 8 5<@IE<% L-%( #W(" 5"@+)Q1\ PT7@_P$" @K)T+$0 M @"G 7<)4/XN />5 @#^%!_G@ ]PD> ,!]PE6 OH!=P"^_A<@"0 !@H< =PD _F8 M J' !@#3KO '4R[P S M9:Y+%R"N2P*"P!5^4\(5A%,$& D#E"3U I0D\P(RK0$ 0#O A0%@= $(,5@A6' ,0P!URNO<)CO[ 96$ MUR!B (#P&4* 00@Q6"%*X :' /<*#A,(!<"?#!.W M"@@3P$6 __8#AP# G>H.$0,#B8I3 ((A\ +!@,W$.82]Q6*4^02Y@' GA)$E ,#]PD\_/L!Q!7___<),OR!%805I '$'6(2 P,W M"EP2AP#W"08 ]PD8_(< ]PDB_P00 9S82B$&>0!P19)%$: I ,#THO\@(< @)0!"H< %R ^ $"@0J' '<)?OH\ '< M[OEN"G0)900P '(-809P&P#_ !%W"<;Z " L!%R \ ("=P"L /<)0@+W M90( !&' "3%R 4 /8#=PF>^@4 &@#Q 280]PER_H 5P QX ,!&]D8H1_9& M*$ %R$L M ,#]PFD 8< ]PDJ_O<)S #W90( E!"' /<)R@$7(2P @/W"80!]PD,_O<) MN 'W90( =A"' /<)K &W"FP0%R$L ,"]PGN_?8!AP#W;4X06!#W">#]AP"W M"DX0]T4! $@0AP#W"7X!PPL# G<)@OE5 ,(+ @*W"A@0AP 7(8 "H?,U2 M]PFL_1X %R$H T"]PDT_?<)X #W":@ ]PG$ M /=E @"6#P *AP#7(!0 ! +W"9 J' /=E @!^#P *AP#W"0+]]PFN /<) ME@#W"7( %R$K 0"]PGL_ *AP# %0( AP#W"=[\%R$H 4#-Q$Z#\05+0#& M ?<)ROSW"78 ]PE> /<).@ "H< ]PFV_/<)8@#W90( ( \ "H< ]PFD_!<@ M*@ 6 _<)0/\W8 H/AP!W"4SX*@"' '<)1/AA (< ER ' :"UR ! 4#UR $ M *"]PGB_X< =PDD^&4 AP 7(2D ! -W"1;X*0"' /<)4OR' &81YA4K #<* MJ@X""L,5 0 " ?<).OP $7<)5/@ '\ 0$$ 0"3 1T" %L!%R%A !"'%R%K M J& )T[2\0, AV\2D^ =PG$]V8 2P$#"@(*2 '!%59)1"0* ]$+_ +W"U(. M @+W"7S_U@N%%8< >0 "L CDDM (Y)*@".22\ CDDF (Y)'P".21T CDD> M (Y))0".25L IDE> (Y) 0"<22$ CDD EZ,K (#]PDP_PZ1K0'!'?P- MP!4! ! !IA#F$/<)AOOW"3+_%R%= ,#=PDT]UT P!"!$(,5@A6W"LX-Q17< M294C P/5"_P"8@%] *P ^2BT 2$HJ &A*+P!\2A\ 7DHF %)*'0 22AX M$$HE "I*(0"02EX #$H Q!& 0$+=PF. MQ"HM#<*HK1W$*BTPAV< MM#D!=PEV MQ"0M'<0B+3"'8:T+P%W"6( !"8"H!=PE8 $ 0N E 7<) M3@ $$*0D ? 7<)0@ $)0&@%W"3@ !W$%*TMQ!0M,(=2K00 7<)) M +<0/K1W$#:TPATVM 8!=PD0 00I"8 !SA4K '< 4OXF$,Y0SD7?_\!% MX/_#1>#_ R #!R80P!"#%< +!P/5"P<# R % L,5 0 " =4+ PJ#584 ]/3T M]/[T]/3T[O[T].[T]/3T]/3T]/3T]/3T]/3T]/3N\/+T\/#P]O#P\/#P\";Z M&QP='A\@(2(C)/#^ /#T]/0! @,$!08'" D*"PP-#@\0$1(3%!46%Q@9&O#L M\/ E] $" P0%!@<("0H+# T.#Q 1$A,4%187&!D:].KT]/0 O=&UP+V%T M;3%A "]T;7 O871M,F$ +W1M<"]A=&TS80!)"O______________________ M____C%7*7 M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M (#M " 0 % & 'AD 4 < SQ4 $ >/]^&@ 0# _K@& ! ,+^ MZ%, $ Q/Z45 0#&_CAW ! ,C^D'D $ R?[J60 0#*_@!. ! M ,S^0 D $ SOX)(P!] 0 ! .HGP$0! ( 27$ &0$ P"9DLA] 0 $ $5@ M@%AH! X #11@7@$ #P /%/"1 M 0 0 %4/^ 0A2 0 9 )%M 'T! !H A#J < $ M&P",*& ) 0 < )43 'T! !T X5'(?0$ '@#T>4"< 0 ? /0N0)P! " )SJ# M.@$ (0!?- 0 B *Y3 + 0KE. # L )#8% "P (-@4@ P+ "@ M_ T L ##\#8 ,"P L.L- + ! ZPV # L ,#[#0 "P 4/L-@ P+ M #0Y 8 L & *>@ "P X% / & !M0X 8 )9#0 !@ YT- M & $= X 8 6L#0 !@ !F4. & '# \ 8 ("1#@ !@ M@H ,#0# (I! ' (LW, @ @ "[>@ "0 B:,4 M ! *$ MA0 $ H@"Z% 0"D *X4 ! *@ BW< $ L0">=P 0"R M *)W ! +0 EG< $ N "S$\ 2 0 \)QW@"4! 'PG'< &0$ "?"<=T X M 0 "\)QW $L! KPLA2 )0T /%/6( E#0# \:,&@"4- (#Q#(" )0T 0/&N M4X E"@ ]:Y3,#D, #^KE/H)@4 /NN4[!># _ZY3V"<% #\Y : )0P M /0*>H E# ]I14@"4, #R?AJ )0P /G8%( E# ]YQ3@"4, #S:R@ M !0 !L* % ! &TH 4 ( ;B@ !0 P!O* % $ ' H 4 4 M,P@ !@ '0S", 2& =ME3 8 !P=!P !@ ')JF !P >)1Z - M , ->E' 1 D T:>0 &0 ?NGMR'T. 7NYP(1 #N[@ $0 %;N M;AH2 I.X<7A, "E\""9%0 "'N*'T6 X^W =A< '[DA3&@ M &XEF0(410!57KP( +0 # M4+P H" 3<*D.,WD*3Z=Q&B^G<) MR.-;2S>0@/9W";[C9DLWD'GV]PD. , 5 0 $B7Q+ @!W .KBP16B5\ 5A%-0 M% X#4!1"%,)%'P"0$&80]PD. ($52!#(Y08 T0ON 8< P1T\]L%M.O;!;3CV M=Q!PH3<*:J'W%>@#8J' '6"AP S 9:Y+%R"N2P*"P!5^4P(8"P/#%813DR3U M I,D\P*!%,%%'P!3(.X"AP ! +PG'< 2P$ "O"R%( E#0 \4]8@"4- ,#Q MHP: )0T @/$,@( E#0! \:Y3@"4* #UKE,P.0P /ZN4^@F!0 ^ZY3L%X, M #_KE/8)P4 /SD!H E# ] IZ@"4, &)I;B]F:6YD M M @(" T,S8@ " @ M(" @," (" @(" P( @(" @(" @(#4Q,B @(#8S,3 Q-3$V-" @(#4S-3$ M( M M M M M M M !P$Z M 0 C@( +<5D@/6"[<1C@/W'2@!*@'W'20!)@'%%3]!]PDL &) M)A%$%0"5 P/W"0X ^P' %0H ]PD$ (05A0 W$%0#P!4! 2)DD,! (< )A%F M$5# _ZY3V"<% #\ MY : )0P /0*>H E# !B:6XO9', M M (" @-#-" P# '40%"@,&B06)V$( .' M-Q V!0(!=P 6 ?<+*@4& PB) $ / />'-Q Q 0# ':H$ XGT0@ ]QWZ_P@ P!V8! 2)]$( , =C@0$B>5" 0#4"]L__\O (#T94O !&4_@)W"8+_YP& %0:)@!4(BH4 0!' 91\ M)A" #( ,@ R ##<@# , S<0!@# '6(#$XD 0 P!U8 P.)C$, LY%\/^W M%7J\]Q4% 'R\P!UPO/ +C$,#!3<*. .' #>'P!T2 P2)C$, L05C$.' #<0_@)W$#*\]PD0 '<5] + '>X"!(F. M10$ A0 W"AB\]Q4* !"\YAT.O/<+#+P" _<)Z/^W%Y Z$0& '1$!$6@00!%$D) M100 Z$3J_P!%4D- 10( $6>05Q%Z$0$ 1% @ @1'9%#D'H1 8 =$0$1;!! M $420D!%! #H1.S_!$4# Y%Z$3L_P1% @ .1>A$[/\$10$ #D4$1;9! $42 M0D!%" #P1.;_Z$3L_P1% 0 .1>A$[/\$10( #D5&1.A$[/\$10, #D5&1-9# MZ$3F_P1%Q$$ 11)"0$4$ .A$ZO\ 15)#0$4" &!%&@!R15A 8$4" %A%82YO M=70 )7,@;F]T(&9O=6YD"@!\04)A9"!F;W)M870Z("5S"@ EA$]O\ 18)#0$4" ')%)D+P1/C_\$3Z_\Q$=$360_!$ M]O_P1 0 Q$1X1-I#@$480^A$^/\$10 $$1V1:1"\$3X_^A$^/]P1-9#!$4M M !%@D- 10( Z$3V_P1%;P#X0W9%ND($10@ "ET _N4" M IA== -[E @!= ( 5)A*("ET @!4F$LAE @!= ( 5)A+("ET @!4F$LCE M @!= $ 5 &$F$ET 9A4.85T 0!4 80"2)A!= &8770!F%5T 0)%5T @!4>$"8070">E5T @!4>D"8070".56)I M;B]C8P M M @(" T,S<@ " @(" @," (" @(" P( @(" @(" Q,3$P," @ M(#8T-#0Q-C$S-B @(#4P-C( ( M M M M M M M M !P%^"0X!% *D!P ! ,05Q/Z $282T LV$ ( M_PEL"0 * 8E&$845AP!F$841QF6:_X 1)A#&90S^@!$F$,9E+/^ $280QF6< M_X 1)A#&99S_@!$F$, 5@$DW$$0*-Q ^"C<0. HW$#(*=QVB_2H* HU$/[_ M-1":_340F/TU$)[]M0J>_4 =GOTU( 0 @5W +X 0!V>_< ,0&T& 2%Z(M M X"0!V>_< ,0&T& 2%ZP! &, ! *U"O[_=P", $ =GOW #$!M!@ $B80 M_PE^"=8+-1"6_68=EOW_"3H)U@LU$*#]%R!C (#=P X $ =F/VU"IC]P Q M;9C_2!V6_68=EOW_"48)U@LF$/\)"@G6"T$=FOVU"IK]P0Q!;0#\"1!W "0 M9AV6_68= /S_"1X)EB7 "PD#0!V:_;4*FOW #$!M /Q('9;]=P P__4+F/T" M G\ E@CF%81)_PGN"-8+-Q R"28*YATL"?\)\@B6)340H/W "P($=P 6 &8= MH/W_"X(L(H) M /(!YAU@"/\)I@C6"^8=V@C_"8P(U@LW$-((\)4Q @ YAW&"/\)> C6"S<0 MP CPE3( " #F';((_PED"-8+-Q"N"/"5,P ( #4*GOUU+9[]F/T"!7< 4@%7 M+9C] 0 ,!T =GOW #$!MF/\ $B80YA602?\)0@B6)4 =9OS(%99)0!UF_$$= MGOW!#$%MF/]P$@( 0!UF_/ =4@@$ $ =9OSP'4H(!@! '6;\, H( &8=9OSF M%9I)_PFT!Y8EP L" G< " "U"O[_?P!R!T =9OS(%:9)0!UF_/ =$ @" $ = M9OSP'0@(! ! '6;\\!T " 8 0!UF_# *" !F'6;\YA6J2?\): >6)< + @)W M @ M0K^_W\ )@= '6;\R!6V24 =9OSP%;I) @! '6;\\!V^!P0 0!UF_# * M!@!F'6;\YA6\2?\))@>6)4 =GOW #$!MF/\ $B80_PD0!]8+-1"6_68=EOW_ M"7H'U@MF'9;]YA7$2?\).@>6)< +"0+F%!]8+P L" G< $@!F'9;] MYA702?\)' >6);4*_O^U"I[]=P"B_O4+_O\# O4+FOT" G< A@ U"I[]0!UF M_,@5YDE '6;\\!7J20( ]14" )S]=2V>_9K]$ 1 '9S]M0J<_< ,0&UF_$$= MGOVU"I[]P0Q!;0#\2!+L 4 =G/VU"IS]P Q ;6;\R!7Z24 =G/VU"IS]P Q M;6;\R!7^24 =G/VU"IS]P Q ;6;\" IF'6;\YA4"2O\), :6)?\)) 9W "K\ M9A&%$>8=G ;_"9 &U@OF'90&_PF&!M8+YAV,!O\)? ;6"^8=? ;_"7(&U@O_ M"30&=P#V^V81A1'&9?K_-0K\_W4=! #^_T =! "U"@0 )(UD/K_ @)W !8 M5ZWZ_R\ P(U"OS_ @&U"OS_=P#6__7E P $ %B+@ ( E>O! !C 0"P!5C '< AOL "G< @/MW 'S[9A&%$>8+ M=1T$ /[_0!T$ +4*! D@$#^0% '00 \)5O /[_0!W^_W< 4/MW $S[9A&% M$:8I_PE^!340_/_ "P(#=P J &8=!@!F'00 _PEB!98E9AT$ .85%$K_"6(% MEB7F%0$ _PE,!=8+=P > %8#?P#D [<= @ * +<= M! & *"8D 0 ! 0 N' +<= @ ( +<=! $ 6) $ 0 *&P!7__X< 9A&% M$>8+3!T$ '<=!@#*MP 3-1#^_P("=P . &8=!@!F'?[__PE, Y8E3!T$ '<= M!@"FM\ =I+ N85)0#_"3P"U@OU"@0 0!W\ M__7E @#\_W\ @)W +;W@!T" /<+,@(# O<5 0 J G<)K@":2H"= P # W<) MH@":2M VPS M-0 @#D VPS-@ P#F"6PS-P P#J"6PS. @!Z M VPS.0 @"B VPT, P#Z"6PT,0 P#^"6PT,@ M P ""FPT,P @ R!&PQ,# P.0 @!&!&PT- @!!6PV,P @ D M!FPV- @#D!6PQ,# Q- @#X!6PV-0 @ .!FPV-@ M @ *!FPV-P P!("FPV. @ @!F-L;W-E+F\ 'P P!F-R96%T M+F\ 'P ^!F5X96-V+F\ 'P!8!F5X:70N;P 'P!L!F9O"FPT M @! !VPV @!8!VPU @!T!VPX @!B!VPW M @!F!VPY P!P"FPQ, @"6!VPQ,0 @"6!VPQ M,P @"@!VPQ,@ @#F!VPQ-0 @"T!VPQ- @#< M!VPQ-P @# !VPQ-@ @#.!VPQ. P!@"FPQ.0 M @#8!VPR, P!H"FPR,0 @#T!VPR,@ @#X!VPR,P M @ &"&PR- @ 4"&PR-0 @ :"&PR-P @ N"&PR M-@ @ \"&PR. @! "'!U=&-H M"'5N;&EN:RYO'P"R"'=A:70N;P 'P#""'1S=&EN

25!)&D5X20( *DA026)#>$D" %1)9@!(2,9) MFD$X27#\5$G60E!)'D:0200 .$ER_%1) !N251)W$(F2#A)$D$ %1) !(2,9) MBD$X27+\5$D &Y)5$GN0B9(.$ER_%1) 0!N251)\D(F2#A)020( .$EL_#A);OQ420 2$@^2,9)&$*H24!):OQ420 )D@X M27+\5$D &Y)5$DL0R9(.$ER_%1) 0!N251),$,F2$!):/Q420( )D@X26K\ M.$EN_&!(QDEX0CA)229(PDE,0CA)$D M "I(5$D $A(QDE^1#A)!@ X200 4$E>1Y!)! X200 5$G\1%!)'D:0200 M5$D! ,!(4$F*1Y!) @#"2:A$.$G\_U1) 0# 2$A(QDFH1%1)#$5021Y&D$D" M %1) 0# 2%!)BD>020( .$G\_T!)^O]020A(>$D" %!(QDG"1,))J$0X2?K_ M5$G_ $)(5$D %!(QDGD1%1) 0# 2%!)BD>020( .$GZ_U1)" !^2%1)_P!" M2*9)L$D" *A)0V%N)W0@9FEN9" E2!A9V%I;@H '$6P200 M0$G\_U!)&$4F2%1)&$4424!)! 42020( 4$E<1ZQ)0$G\_SA)^/\F2$!)]O] 2?S_%$G(2"I(QDD:1SA)]O]0 M2<)'D$D" ,))^$9025Q'K$G"23A'9 "*1F\ BD9C -Q&.1P&)DD>41P*) M!0$!AX< P!7__X< J' *A'JD+'0 $ P2)\$<" ,!!(GP1P$ P!T( (< [$?N1X< M ! /9'^$"ET _N4" IA== -[E @!= ( 5)A*("ET @!4F$LAE @!= ( 5)A+( M"ET @!4F$LCE @!= $ 5 &$F$ET 9A4.85T 0!4 80"2)A!= &8770!F%5T M0)$N8270"^90 IA== +[E "F%UT BQ\" +<5E+3>&.8470"3'P( BQ7> M&.8270"+'P( MQ5ZM-X8YA1= )Y570!."IY%70"C'P( M^5NM-X470"+'P( MMQ5BM-X270">95T GN5= (L? @"W%4*TWAU M%T DQ6+'P WAA= (L? @"W M%2JTWA)= ([E70"+'0( MQ4:MLX=&+9= ),5BQ7F&%T BQT" +<5!+;.$ET M#@M= *8770" ER8070#6"P,"YA4! %T )@I= +X* "F%UT G@I= /YE @ M *8770#>90( 70#^"@ IA== -X*70#^Y0( "F%UT WN4" %T @!4F$H@* M70" %282R&4" %T @!4F$L@*70" %282R.4" %T 0!4 828270!F%0YA70! M%0!A )(F$%T 9A== &8570! ER8070#.#(YEIA== (YE@)0H #I"!@!60DA"UD!W"2( #7+0C_ M$D # O<+> 6 L 5 0 $B1Y!!0 !B4EN:70* +<*8 ! %< +!P,!$ (0 !*! M#($*2A#W 84 -PK"_W<)WO\$01&) # %09!@15"$) 0P0P!8($*@0Q0$,$, M@Q71E/X"P@KW L,5?D'$%>I"!1'"%<3^525; *Y"$$!80H9! 8D (Q!CD$% M$<5E! !!%<$,06- DA40=P#0 *1!ID$%$54E0!47B0.&U14! $!%0IW +8 MOD' 0041527-#'<5"@!W$0@ U0S^ @N) $ 0'< ; #>0>!!!1%5)4 5S0QW M%08 =Q4$ 2) $ 0 *&P!7__Q40=P!P .4+ 1'!9%426P! &?<)H )$!40 M6P!E*0("%0I; -45 0!; &4I @85"EL U14! %L ]13^_UL U11; , 451D! M @,06P %$4050Q-; &81U0M; (45S1!#&0T11!%; $$906G!#%426P!#'?[_ M6P! &0411!,5$$,36P %$<5D6P##%%L ]PDF %42B0I; .4+ 1'!9($,51!; M .4+P12!#%406P#U%O[_6P#5%EL 01'!93P 1B (AD$9P0Q7( ! X-%( &" MAP# %0$ !(G80A$ ! *3%8@;W5T(&]F(')A;F=E"O_T0%-O_P1!$8D , 5!D&! M%4(0D!#!# %@@0J!#% 0P0R#%=&4_@+""O<"PQ5^0<05ZD(%$<(5Q/Y5)5L MKD(00%A"AD$!B0 C$&.0041Q64$ $$5P0Q!8T"2%1!W - I$&F0041525 M%1>) X;5%0$ 0$5"G< M@"^005 7W">X"]PD*!>P! HD' 0>)P!4! 2)AT " .,!"XE^0'I ! !^ M0 +V5T8R]M5@/]PFV!' 0ND6H ?<)!@,7(( H=W # "P P!'+I% @)W "8" M9A "O<)] Z %?<)2@[W"50$D0'W"7X$ H9W @"0A#W"68'9A"!$/<)F _W M"68$ H9W / !0A"#%?<):@;W"20$P1#W"7P/@1#W"78/=P#D_L 5JD?W"5P M=P#8_L 5*DGW"5 ]PL&"0P#]PDF!$,0PAW\"/<)^@CW">@#P1#W"4 /=P"N M_L 5ED'W"28 =P"B_O<+V @+ Z80PAW2"/<)A =F$,$0]PD8#X,5@A7W"< ( MAP#W"=P# H9W &8!0A#W"= # H9W %H!0Q#("?<)D@.!$/<)Z@[!$/<)Y Z' M /<)L ,"AG< .@% ' 0.P$ !<@ 0 "@W< * 'W";P-]PFX"S<09@@"$/<) MM [!'5X(]PFV#0 *ER " 6']PE0#,+E @#X < 5 0"7( $ H? %0H ]PDX M#'< ]OWW"5(#<(=F$-0@D#P1]& '$L @ ,"]PED#@0@ M M WD X P!4! 2)%$,1 '< )/TP(&YO="!I;B!S M=VET8V@N"@ $ />=@ (4 , 5 0 $B4!#!P#&'7P"=P#X_"@@("D@/PH KW M"; ,9A#!'6 "]PEX#,$=6@+W"7 ,P)4* /<)#@MW$$H"]PF" #<0. (7H# M"@+!'3@"]PE.#, 5" #W">P*=Q H M>M&@(P "D%UZT2 CD )0; '0H"P.4P M ,$=" +W"2(,P L" _<)P IW$/@!@Q/"'?8!]PEF!4X0P1#W"?H,@Q/"'> ! M]PG4 TX0P1#W">@,]PD0 #<0Q@'3 ?<=P &\ 8$5AP#W"[0!!0/ G:X!-PJJ M 8< URV6_IY""@( "@.)K$4! !2'P L2 \"=D &' ,$?>O[W"9H) X3&P#.%\+^SF4P +>3$ #6"\ 5 0 $B8I$ M!0 # 2@P,"D@"E8'@1T$ M /<)W@ M!?<):@7W"68%%R!C !,"<1P" P!7___<);@4+ 8$= @#W"3@%]PE$!< + M P)Q' ( " %8$5@A6' 9A'F$*80)A#F"^8+Y@OF"S<*, &!$/<)!@7W M"1(%P L#@;80! & ?<)-O]V$ 0 =PH0 <$0]PGF!/<)\@3 "P.!]A " @:V+00 "@ $ M X$=! #W"6H&U@O6"]8+@16 %8(5@Q6%%8< #F$*80)A#F"^8+ MY@L "O<)=@5V$ P1W: @8"P!4! /<)9 5W$,P"]PDN!8,="@# ' P.P$ M , + @)W * "@AT( ( < " [ 0 P L" G< 7O@W"J@"@1#W"78#]PF" \ + M X&V$ ( !@'W":;]=A " '<*B +!$/<)5@/W"6(#P L#@?80! ' <(0]PF$ M_780! !W"F8"@1T" /<),@/W"3X#%R ! ,!E 0#?%60 Q/X?$,#^P!?$_L$= M- +W"98$]PDX \,=* *"'0( ]PG@_7<0'@+"'1@"@QT$ /<)T/UW$! "PAT, M L,=!@* ' @.P$ ,$< #![ 0 0. "AG< R $W$/ !@1T ( *]PET @ * MP1W< ?<)X +!'=0!]PFL O<)N (!A@0 'Q#$_M\59 #&_L(7Q/[W":(" F"? M$,3^WQ5D ,;^PQ?$_L(7PO[W"8H" V!""\$=E 'W"6X"]PEZ A\0Q/[?%60 MQO[F%\3^]PEH H!E]PMZ 0(#P&4! -\0Q/Z?$,+^'Q# _L 7Q/XW$&8! 8 $ M ,$=4 'W";(#]PE4 L,=1 '"'4(!]PG\_'<0/@'W"8H#P!TX <$=, 'W";X! M-PHN <$=) 'W"8@!%H<"$,$=&@'W"68! N#"[10!-PH0 8 0!8# 960 ]Q4! M (!P1WX /<)A +E <$=\ #W"4($@1T /<)S@' '>@ ]PEJ O<)P@'W"M8 M"X'!'

@"A (< 9A F$/<) (@*B0KX 0(< @ "[ 0 0FP$ +$0 @" %8$5@A6#%8< ]PDJ_K<* M[ )Q' 0 @"' /<)&OZW"MP"<1P$ <1P$ ( AP F$/<)W@% ' 0 ,2 & M *&$(K[ 8 5AP F$*80]PND @("]PD@ K<*F@(7( $ 8<$ ,#E 0 $@?<) M< ' 90$ P PF$,!E @ 7(" 8<$ ( 3\ N^4@X# 1R^4G 2OE) ' 0 ,1 M #$0 @#6"X(5@!6' /<+7@(( ] +%R > 2&\ N^4A "]0'W"6X P O? L 5 M 0 $B8I0! # %T95=P R"DU%30H!'+Y2 #$* # %;Q6,1 $ M , 5 3W"2#_P P7(!X 8<$ ' 0OE( '*I1P&6\5C$0!@#!%;Q201+!"P<# M\16\5@0 \16\5@8 ]@&!%8 5AP M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M &) M M M M M M M &)I;B]S=6T M M @(" T,S<@ " @ M(" @," (" @(" P( @(" @(" @(#,R-B @(#8U,3$T,3 V-2 @(#4R-#, M( M M M M M M M !0'6 M @ @Q76"\,* 08!B;<5 @ %B0! )AL 5 0 $B2Y !0#Q 6]P M0 $ 0! &B;H!/R *(%\1Q/X?"L+^WQ4* ,#^YA?"_M\+Q/X" M _<)Z/^W%1( ]V4P P P!4! 2)TD ! (< M M M M M M M !B:6XO8V%L M M (" @-#,W( @(" @(# @ " @(" @ M," (" @(" @(#4T-30@(" U-S8S-S4Q,3,@(" U,C,V " M M M M M M M M !\*Q/Z7)0( #P76"X$5 M0)0F \#E, 7( H )H;?%0H QOX?8,3^\P' %0$ !(ET0 8 H#B2I+ 0# M"QH#P!WH"L#E, 7( H !H;?%0H QOX?8,3^[0$7(-K_!0+ %\3^%R /)PZ# MP!4! 2)>D ) &)665A$ M$((*P34# $"@@J!"L,*] +"Y0L PQ4P $@ H(5AX00@@K!-0, 0*""H$* MPPKT L,59 !?$,3^WQ# _M\U P#$_NH#P@KH 1\0Q/[ %3!"P14$ !\*PO[? M%0H P/[?93 PO[@E\+^P0KT A\1Q/X"X<(*!P,#!O<5 @#@ /<5'0"^ -\5 M!P# _L(7PO[!%=)!0Q2?$,3^WQ4# ,;^PV?$_@0*A H?$<3^WQ4* ,#^P!?$ M_@,#P&4P N0@PK %\+^P&4P !.0@PJ""I<@!P # L-E,P ""@DAY (7(0( M!0+)%1X Q&4+ -P!T0M7( )"SX?!%0)"0A #"D"4%R @ ("@PKZ 1<@"@ / M A*0 PI7("I+\H?"Y0)"MQ ( , 5 0 $B0)" $ !B<,+! /2E2 PPKZ 1*0 MX &_0A\ UT(< .]"'P#Z1!X $D4? "I%'@ U1Q\ 34 M *!)'P *"@H*"@H*"B @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @ M(" @(" @"@H*"B @(" @(" @(" @($IA;B @(" @(" @(" @(" @(" @(" @ M($9E8B @(" @(" @(" @(" @(" @(" @($UA<@H@(" @4R @32!4=2 @5R!4 M:" @1B @4R @(" @4R @32!4=2 @5R!4:" @1B @4R @(" @4R @32!4=2 @ M5R!4:" @1B @4PH@(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @ M(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @( H@(" @(" @ M(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @ M(" @(" @(" @(" @(" @(" @( H@(" @(" @(" @(" @(" @(" @(" @(" @ M(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @ M( H@(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @ M(" @(" @(" @(" @(" @(" @(" @(" @(" @( H@(" @(" @(" @(" @(" @ M(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @ M(" @(" @(" @( H@(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @ M(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @( H*"@H@(" @ M(" @(" @("!!<'(@(" @(" @(" @(" @(" @(" @("!-87D@(" @(" @(" @ M(" @(" @(" @("!*=6X*(" @(%,@($T@5'4@(%<@5&@@($8@(%,@(" @(%,@ M($T@5'4@(%<@5&@@($8@(%,@(" @(%,@($T@5'4@(%<@5&@@($8@(%,*(" @ M(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @ M(" @(" @(" @(" @(" @(" @(" @(" *(" @(" @(" @(" @(" @(" @(" @ M(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @ M(" @(" *(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @ M(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" *(" @(" @(" @(" @ M(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @ M(" @(" @(" @(" @(" *(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @ M(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" *(" @ M(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @ M(" @(" @(" @(" @(" @(" @(" @(" *"@H*(" @(" @(" @(" @2G5L(" @ M(" @(" @(" @(" @(" @(" @075G(" @(" @(" @(" @(" @(" @(" @4V5P M"B @("!3("!-(%1U("!7(%1H("!&("!3(" @("!3("!-(%1U("!7(%1H("!& M("!3(" @("!3("!-(%1U("!7(%1H("!&("!3"B @(" @(" @(" @(" @(" @ M(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @ M(" @(" @(" @"B @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @ M(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @"B @(" @(" @ M(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @ M(" @(" @(" @(" @(" @(" @"B @(" @(" @(" @(" @(" @(" @(" @(" @ M(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @ M"B @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @ M(" @(" @(" @(" @(" @(" @(" @(" @(" @"B @(" @(" @(" @(" @(" @ M(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @ M(" @(" @(" @"@H*"B @(" @(" @(" @($]C=" @(" @(" @(" @(" @(" @ M(" @($YO=B @(" @(" @(" @(" @(" @(" @($1E8PH@(" @4R @32!4=2 @ M5R!4:" @1B @4R @(" @4R @32!4=2 @5R!4:" @1B @4R @(" @4R @32!4 M=2 @5R!4:" @1B @4PH@(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @ M(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @( H@(" @ M(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @ M(" @(" @(" @(" @(" @(" @(" @( H@(" @(" @(" @(" @(" @(" @(" @ M(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @ M(" @( H@(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @ M(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @( H@(" @(" @(" @(" @ M(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @ M(" @(" @(" @(" @( H@(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @ M(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @( H*"@H* M"@H*"@H*"@H* !-(%1U("!7(%1H("!&("!3(" @("!3("!-(%1U("!7(%1H M("!&("!3(" @("!3("!-(%1U("!7(%1H("!&("!3"B @(" @(" @(" @(" @ M(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @ M(" @(" @(" @(" @"B @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @ M(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @"B @(&)I M;B]S='1Y M M @(" T,S8@ " @(" @," (" @(" P( @(" @(" @,C S," @ M(#4V,S R,S$'P0A( MD/,009#L$/(06Y#\$(2 +9#SD$&0[!#R$%N0_!" M$@"V0]!!!D.P0\A!;D/P0A( MD/2009#L$/(06Y#\$(2 +9#U$$&0[!#R$%N M0_!"$@"V0]9!!D.P0\A!;D/P0A( MD/8009#L$/(06Y#\$(2 +9#VD$&0[!# MR$%N0YI#$@"<0PX ^D*P0\I!;D/P0@0 /$," !)#\D(, /)"#@"*0SQ# 0 8 M0QY#^D*P0ZQ"4D,\0P$ \D($ %A#L$. 0EI#AD.B00H 90"P0&\ P$!R -! M8P#@0&8 \$!L !!= 0060 ($$M #!! ! 0;!#AD)20SQ# 0"H0[1!AD/ M04)A9"!O<'1I;VX* #Q#"P!80TI#@D"00( 0 @ ! " $ ( 0!W"2( M #7+2K^$D # O<+> 6 L 5 0 $B?Q!!0 !B4EN:70* +<*8 ! %< +!P,! M$ (0 !*!#($*2A#W 84 -PK"_W<)WO_B01&) # %>1!@15"$) 0P0P!8($* M@0Q0$,$,@Q71E/X"P@KW L,57$+$%1A$!1'"%<3^525; +9#$$!:0V1" 8D M &I";$(%$<5E! !!%<$,06- DA40=P#T ()"A$(!B8A"BD(%$54E0!7-#'<5 M!@!W%00 !(D 0 ! H; %?__%1!W ,@ KD*P0@41525 % "1 5$%L 0!GW"=0 "5!5$EL =6G^_UL =>G^ M_UL 0!E "C5 _O]; &4I @85"EL U14! %L ]13^_UL U11; , 451D! @,0 M6P %$4050Q-; &81U0M; (45S1!#&0T11!%; $$906G!#%426P!#'?[_6P! M&0411!,5$$,36P %$<5D6P##%%L -0O^_UL ]PE, %42B0I; .4+ 1'!9($, M51!; .4+P12!#%406P#U%O[_6P#5%EL !' 9 $0@ R "@D06P##$D =_O_! M%!,@! /3"\$*^P); ,,26P!!$<%E/ !&( B&01G!#%<@ $ #@T4@ 8*' , 5 M 0 $B09$$0 $ I,5B!O=70@;V8@_^)!$8D M , 5Y$&!%4(0D!#!# %@@0J!#% 0P0R#%=&4_@+""O<"PQ5<0L05&$0%$<(5 MQ/Y5)5L MD,00%I#9$(!B0 :D)L0@41Q64$ $$5P0Q!8T"2%1!W /0 @D*$ M0@&)B$**0@41525 %X" M !W 0!$D#"0@H KD(:0;Y" !X0KY" @ V0M)"+$".0J!"!@"B0@0 MOD( A""$*@0@@ KD*>069"KD(:0;Y" @!X0J)"! #(0FQ""$*^0@ *$+2 M0LA H$(( +Y", #B0I9"" "^0@ -D*80@@ OD() $1"%$+20JY K$+B069" MOD(! +1"FD#>0J9 0N) WD+20(Y"CD)W M"2( #7+?+^$D # O<+=@ 6 L 5 0 $B31!!0 !B4EN:70* +<*7@! %< + M!P,!$ (0 !*!#($*2A#W 84 -PK"_W<)WO\:01&) # %1Q!@15"$) 0P0P! M8($*@0Q0$,$,@Q71E/X"P@KW L,5DD'$%>Y"!1'%900 6P"N0A! ;D*:00&) M "@0:)!!1'%900 017!#$%C0)(5$'< S "X0;I!P!TB .)WD$! 6'P L# M \ =$ ! 0 *!1'%900 %1!W *0 .1!YD$%$54E0!7-#'<5!@!W%00 M!(D 0 ! H; %?__%1!W 'H 0!E!&<$,"1 5$%L =5G^_UL 92D" Q4*6P#5 M%0$ 6P!E*0("%0I; -45 0!; &4I @85"EL U14! %L 92D"!14*6P#5%0$ M6P!U:?[_6P!?&<3^7QG&_M47Q/Y; &81U0M; (45S1!#&0T11!%; $$906G! M#%426P! &0411!,5$$,36P %$4050Q-; .4+ 1'!9%426P#E"P$1P62!#%40 M6P#E"]466P#E"\$4@0Q5$%L Y0O5%%L !1'%9%L 01G!#%42B0I; , 4]0O^ M_P$" Q!; ,,46P! &4$9P0P)X%426P"^0@H *$+20@Q!ED(( +Y" :0M)" M"$&.0MY"XD#>0M) CD*.0G<)(@ - $ 5P L' P$0 A $H$,@0I*$/_QI! M$8D , 5'$&!%4(0D!#!# %@@0J!#% 0P0R#%=&4_@+""O<"PQ620<05[D(% M$<5E! !; *Y"$$!N0II! 8D *!!HD$%$<5E! !!%<$,06- DA40=P#, +A! MND' '2( XG>00$ !8? "P,#P!T0 $! H%$<5E! 5$'< I Y$'F M0041525 % $ 5P L' M P$0 A $H$,@0I*$/_S) $8D , 5-$"!%4(0D!#!# %@ M@0J!#% 0P0R#%=&4_@+""O<"PQ6J0,05%$$%$<5E! !; 1!$$#D0+) 8D M +A ND %$54E0!5W%08 =Q4$ !.) $ 0 .&U14! $!%0IW !( 9A'5"UL MA17-$$,9#1%$$5L 0!D%$403%1!#$UL !1%$%4,36P#E"]466P#E"]446P % M$<5D6P!W"2( #7+?+^$D # O<+=@ 6 L 5 0 $B31!!0 !B4EN:70* +<* M7@! %< +!P,!$ (0 !*!#($*2A#W 84 -PK"_W<)WO\:01&) # %1Q!@15" M$) 0P0P!8($*@0Q0$,$,@Q71E/X"P@KW L,5DD'$%>Y"!1'%900 6P"N0A! M;D*:00&) "@0:)!!1'%900 017!#$%C0)(5$'< S "X0;I!P!TB .)WD$! M 6'P L# \ =$ ! 0 *!1'%900 %1!W *0 .1!YD$%$54E0!7-#'<5 M!@!W%00 !(D 0 ! H; %6)I;B]I9@ M M @(" T,S8@ " @(" @," (" @ M(" P( @(" @(" @,S0V-" @(#4U-C,R-S,Q-2 @(#4P-S( ( M M M M M M M M !0$T!P M=P!^!!) )D<* -9&= #(1M9!PD:41-)& "&1OY%P$;60=)& @ V1OY&.D"B M1L9&U$'21@( _D7 1MA!?$;^1J!!M$8$ -)& #^1;1&!@#"1J)!?$;^1?Y& M?D"J1@H MD8$ .I&8$:L1@8 _D4*1UA JD8* *Q&! !@1M)& #^1:I&! #2 M1@ &D;^1IY HD; 1H!%=$:L1@H TD8 (9&K$8* *Q&! !Z1K1&<@#21@ M_D6T1@@ R$;.0 I'^$ O8FEN+WAX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX M>'AX>'AX>'AX #^1;1&< #"1AA%=$:L1@H TD8 (9&K$9R 'I&_D7^1CI! MP$9<171&K$8( -)&!0"V1G( ZD9@1JQ&< !Z1@I'^D# 1EQ%=$:L1@@ TD8% M *Q&<@!@1M)& !Z1L!&@$5T1JQ&" "L1@H K$8$ 'I&P$;8171&TD8! ,A& M>D$*1X9!;F\@8V]M;6%N9 H TD8+ 'I&P$8V171&TD8 -)& #21@( >D:B M1J1!UD8$ ,)&U$'"1M9!4D;^1L1!T$8 ,A&U$'J1F9&ED; 1I1$R$;40>I& MAD:61J)& -I!UD8( +9&!@#"1AQ"?$;^1D:61L!& MWD-T1L)&HD%\1M)& 0!Z1I9&P$8B1'1&PD:B07Q&>D:61@I';D,$ "@ \D(M MD;<1I9&"D?40P( /0"<0R$]L$/ 1MQ#D$:B1L9"X$/61@H MD8$ ,)& MM$5T1JQ&! "L1@8 >D;^1:I&! #21@ 1$;^1AI$P$9P171&K$8$ 'I&T$8! M )9&T$8 )9&HD8D1-9&!@#21@$ ED:B1C)$UD8, +9&"@#21@ _D6T1@@ MPD88171&K$8$ *Q&"@!Z1OY%PD88171&K$8& +9&"@#J1GI&&D;^1H9$JD8( M -)& :1OY&@D301@$ ED8*1T!$T$8 )9&HD9W"2( #7+7C[$D # O<+ M=@ 6 L 5 0 $B:Y$!0 !B4EN:70* +<*7@! %< +!P,!$ (0 !*!#($*2A#W M 84 -PK"_W<)WO^41!&) # %99$@15"$) 0P0P!8($*@0Q0$,$,@Q71E/X" MP@KW L,5#$7$%31'!1'%900 6P#"1A! ?$8410&) :11Q%!1'%900 017! M#$%C0)(5$'< 9@$R131% 8DX13I%!1%5)4 5=Q4& '<5! 3B0! $ #AM45 M 0 ! 14*=P Z 5Y%8$4%$54E0!7 #$!E2)-W #(!0T)$ "Z0V1$)$% M1 $ !D0:1 @ 0D0Z ,A#9$1B01I$" !"1 H R$,<1 @ 0D0 ,A#L$-D1%Q! M)$0( #)$\$+L0YY#<$0R03!$YD$ 1"1$" R1/!"[$.>0T)$( "Z0V1$?$%P M1&)!&D0( $)$( #(0QQ$" !"1 H R$.P0QQ$" !"1 R$.P0V1$R$$P1$)# MY$,<1 0 )D0& %I$'$0( .I#)$0( #)$\$+L0YY#<$1\03!$0D/D0QQ$! F M1 8 6D1"1 ZD- 1 !D021 1!ZD%&1 P )D0( $)$ ">0T9$# F1 H M,D380N1#'$0$ !Q$" #J0YY#,D380N1#'$0& "9$" !:1.I#R$-D1#!"0$0! M 9$&D0* $)$ "Z0V1$1$) 1 !D0P1$Q" $021/A!=PDB URVX_1) M P+W"W8 %@+ %0$ !(EN0@4 8E);FET"@"W"EX 0!7 "P<# 1 "$ 2@0R! M"DH0]P&% #<*PO]W"=[_5$(1B0 P!560H$50A"0$,$, 6"!"H$,4!#!#(,5 MT93^ L(*]P+#%0R!#!1%5)4 5=Q4& '<5! 3B0! $ #AM45 0 ! M 14*=P#$ $1#1D,%$54E0!7 #$!E2)-W +P 6$-:0P41525 %! =P!6 !) Q$,& *1#! # 0P$ ^$*B0P0 V$.P M0VQ P$, '1#($/V0UA KD,F06)#MD-$0 )$2$ E1 Q!4> M1 41Q64$ %L L$,00&I#[$ !B0 \D#T0#<=! D , =(@#WBQT !@/W !8 M!(D>00( P$$B1Y! 0!W '8"'$&00P 0!W +0!*$'$0R( I$,> ,!# #X M0J)#& "D0P8 ^$+$0R( I$,< +!#X$)B0YI#! "D0QX XD-H0_A"P$,E !)# M]D..09A#' # 0P !$/V0WQ!KD,:06I#D$.N0_! 8D.:0QP :$.N0Y1"?D.B M0QH I$,8 .)#T$/X0J)#' "P0^!"8D.:0P0 I$,> .)#:$/X0@9$8D*80QH MP$, "Y#]D/>0:)#&@":0QH RD/X0JY#\$!B0\!#+0!H0ZY#ED)B0YI#&@": M0QP P$-O 1#]D/^0;Y#" "1 )"OD,* &A#KD.40GY#KD/P0&)#FD,: &A# MKD.40GY#HD,@ ,!# #X0J)#' "P0^!"8D.:0QH I$,@ .)#:$/X0L!# 2 M0_9#6$*N0_! 8D.:0QP :$,"1"9"KD.40GY# D1T0@0 9 "X06\ N$%C I" M

.Q#HD,8 .Q# MKD.40GY#D$- 09A"Q$,* *1#" ":0P0 FD,& %)#^$+V0\!"KD.60F)#FD,( M )I#!@!H0ZY#\$!B0YI#! ":0P8 0D/ 0S /$-H0Y!#=PFN_0 XD+D0@41 MQ64$ $$5P0Q!8T"2%1!W (P 0!E!&<$,"1 5$%L 92D" Q4*6P#5%0$ 6P!E M*0("%0I; -45 0!; &4I @05"EL U14! %L 92D"!A4*6P#5%0$ 6P!U:?[_ M6P! &5\9Q/X?$,#^U1?"_EL 0!E?&<3^'Q# _M47Q/Y; &81U0M; (45S1!# M&0T11!%; $$906G!#%426P!#'?[_6P! &0411!,5$$,36P %$4050Q-; .4+ M 1'!9%426P#E"P$1P62!#%406P#E"]466P#E"\$4@0Q5$%L Y0O5%%L !1'% M9%L -0O^_UL 01G!#%426P!!&<$,B0I5$EL 01G!#%42B0I; $$9P0Q5$LD* M6P# %/4+_O\! @,08FEN+SH M M " @(#0S-B (" @(" P( @(" @(# @ M " @(" @(" @(#(P(" @-34V,S(W,S$V(" @-#4V-P @ M M M M M M M M % 1 $ &) M! /3"\$*^P); ,,26P @ ,!# #X0J)#' "P0^!"8D.:0QH I$,@ .)#:$/X M0L!# 20_9#6$*N0_! 8D.:0QP :$,"1"9"KD.40GY# D1T0@0 9 "X06\ MN$%C I"

1( 5%R * /,#%R $ / #\@%W";H!7D2!%8< 0!' 1?\!-R , M X#-Q & , =9@03B?__ # '5P$ XE>0@ "-Q!0!$ 1P$4 _H4*-R!$! ,% MP!4$ (< )Q>0H< 9A$F$280Q!7J1!>C* ! H0*5ZW0!R@ ! -4K= '&P44 M!E2MT0<7!1 &11/%90( ]PF*_Q>@00 %AQ>@6@ "@L!E( 4H/0#!@6 %805 MA177"___AP" %805A177"P$ AP#!%6I%0A!W"5X AP#)'<@#\1W& ] '=PE. M (< 0Q"$$,40!6$%#,5% 0#W"7#_"P,%!40A!X;5"T,1\@'$( .&1!'N =4+ MT@N%( @#@Q#S& ( \QS0!]('Q2#Y@LT=> /U'78#T ?7 681ER X30N&Q1W8 M ,,5ZD1W$5P#]PG<_A<@! " H45A0 7( H #0/7(&E%\X87H$$ !8<7H%H M H+ 92 $Y#I 1.*=Q&< (45U0N% &80014W$ ( "(D 0 \ !8<1$!$*$0J! M%84 T17___D!=Q,* '<5$ F$'<)#@ 0( 5P !W"00 $"% &80017Q"@( M! 0F$/<)'@" %3F0! "Q"@0 @16% "809A!!%?<)!@"!%8 5A0! $,!E!@ F M$#<0$ "T!L! &!S<0!@! $@2) $ 0+$5! #Q%7\ @"' 0 \ /R 7<) MN@%>1($5AP! $I$%Z,H $" MA I7K= '* $ U2MT <;!10&5*W1!Q<%$ 9%$\5E @#W"8K_%Z!! 6'%Z!: M *"P&4@ !2@] ,&!8 5A!6%%=<+__^' ( 5A!6%%=<+ 0"' ,$5:D5"$'<) M7@"' ,D=R /Q'<8#T =W"4X AP!#$(00Q1 %804,Q44! /<)X!U0O2"X4@" .#$/,8 @#S'- 'T@?%(/F"S1UX _4= M=@/0!]@00 %AQ>@6@ "@L!E( 3D.D!$XIW$9P A175"X4 9A!!%3<0 M @ (B0! #P %AQ$0$0H1"H$5A0#1%?__^0%W$PH =Q40 "80=PD. ! @!7 M '<)! 0&)I;B]M86EL M M @(" T-S8@ " @(" @," (" @(" P( @(" @ M(" @-S4T-" @(#4U,C,W,#9.4D:V3CI/ D'\3CP Z$YP29I.[D[603I/Y$%7 M:&\@87)E('EO=3\* *!.YDYF2:)._$X\ -Q..@#H3EI&FD[23A ^$X .Y. M"D(Z3Q!"1G)O;2 H$X23M!." #X3@$ 'DXN3SY"YDZ*2YI.Z$["1MQ." 0 M3_A.( "@3MI..@ D3]I..@#H3EI&FD[23A TDXZ .A.PD;23@@ ^$X" (I. M8$Z@3A).YDY02YI.Z$["1J!.YDYX3)I.Z$["1NA.PD:@3MI..@#H3EI&FD[2 M3A TDXZ .Y.FD(Z3YQ"( "@3A).VDXZ .A.6D::3M).$ #23CH Z$["1J!. M$D[:3CH Z$Y:1II.TDX0 -)..@#N3M1".D_60@H H$X23OQ./ #<3@X Z$Y: M1II.Z$["1OA. #N3OA".D_^0B]U H$[:3@@ Z$X( M3)I.Z$["1OA. 0"@3A).^$X $1.+D\"1-I." #H3JY+FD[H3L)&^$X/ *!. M$D[X3@ 1$XN3P)$YDYP29I.[D[@0SI/]D-#86YN;W0@Q.PD;H M3LI(^$X" *Q.$D[F3EA&MD[F3G!)FD[N3M1%.D_<15-A=F4_( H$[F3BQ, MFD[X3@ Z$["1OA. *@3OQ./ #H3DY)FD[H3L)&^$X *!.^$YY #9.+D\J M1N9.:DN:3NY.'D8Z3R1&;6%I; H$XZ3TQ&YDYP29I.[DXX1CI/2D93879E M9"!I;B!@;6%I;"<* "@3LA.PD3$0>Q!VD*B1/)%7$;\3@X W$X* /A. 2 M3MI.# #H3DY)FD[23@@ W$X* !I/H$X23OA. V3BY/ID;F3HI+FD[23@0 MW$X& !I/TDX, *!..D]J1N9.BDN:3M).! #23@8 ^$X *!.T$X& +Q.R$X M M M M M M M M M M M M =PDB ,)&URU"]Q) P+W"W8 %@+ %0$ !(GD M2 4 8E);FET"@"W"EX 0!7 "P<# 1 "$ 2@0R!"DH0]P&% #<*PO]W"=[_ MRD@1B0 P!7,2($50A"0$,$, 6"!"H$,4!#!#(,5T93^ L(*]P+#%4))Q!5D M3P41Q64$ %L Z$X00*).2DD!B0 4$E22041Q64$ $$5P0Q!8T"2%1!W %8% M:$EJ20&)=P"T 7))_$XB -Q.'@#X3@ $D[:3A@ W$X& !)._$XB -Q.' #H M3DY)FD[23@0 W$X> !I/H$X23OA.)0 V3BY/V$G03AP ^$X "A.+D_&2>9. M"DZB3LA.YD[@39I.TDX< *!.YD[>2K9.VDX: -Q.& :3PA/$D[:3AP Z$Y. M29I.TDX$ -Q.'@ :3Z!.$DX^3ZQ*T$X: /A. !$3BY/*$K:3AH TDX: )/ M$D[F3N!-FD[X3BT H$[F3N!*FD[23AH TDX< /A.;P H3BY/2$KV3@@ .D], M2O9."@"@3N9.WDJV3N9.X$V:3M).&@"@3N9.WDJV3MI.( #X3@ $D[:3AP MZ$Y.29I.TDX: -Q.( :3Z!.$D[X3@ -DXN3Z)*YD[@39I.TDX< *!..D]P M2N9.WDJV3CI/ODH$ &0 DIO )*8P!42G, 9DKF3N!-FD[X3B4 H$[:3AX M)$_:3A@ )$_F3MY*MD[(3HI)XDK\3@H W$X( -).! #23@8 BDX23BY/"DOF M3N!*FD[23@@ TDX& *!.YD[@39I.TDX$ -).!@!L3OA., !@3J!.R$YW"<+] M L2RY+!1%5)4 5=Q4& '<5! 3B0! $ #AM45 0 ! 14*=P!L U)+5$L% M$0V) !T$ , ,T!?"_M 7Q/YW %X#;$MN2P41527-#'<5 @ *B0! X;5%0$ M 0$5"G< ,@.,2XY+!1%5)4 5P Q 94B3=P J Z!+HDL%$54E0!4&B7< &@.P M2[)+!1%5)DQ\3 41525 %< ,)A0?%,3^GQ7"_D 5 MP PPB@\ ]PD$ '< *@*F$.80]R?"_NP $H<$@O"5( #@ ME2 H)B@F*"8@Q6"%8< 'PK"_E\5P/[?93 PO[@E\+^A0#(< 2'P < !\ M'@ ? !X 'P ? !X 'P > .<# $IA;@!&96( 36%R $%P<@!-87D 2G5N $IU M; !!=6< 4V5P $]C= !.;W8 1&5CXDWD33<=! D , =(@#WBQT !@/W !8 M!(D.3@( P$$B0Y. 0!W +X #$[(3@ 0! &4$9P0P)$!406P! &4 *-4#^ M_UL 92D" Q4*6P#5%0$ 6P!E*0("%0I; -45 0!; &4I @85"EL U14! %L M92D"!14*6P#5%0$ 6P!U:?[_6P!UZ?[_6P! &5\9Q/X?$,#^U1?"_EL 7QG$ M_E\9QO[5%\3^6P! &5\9Q/X?$,#^U1?$_EL 9A'5"UL A17-$$,9#1%$$5L M01E!:<$,51); $,=_O]; $ 9!1%$$Q400Q-; 411!5#$UL Y0L!$<%D51); M .4+ 1'!9($,51!; .4+U19; .4+P12!#%406P#E"]446P %$<5D6P U"_[_ M6P!!&<$,51); $$9P0S)"E426P!!&<$,51*)"EL 01G!#%42R0I; , 4]0O^ M_P$" Q!; ,,46P##$D =_O_!%!,@! /3"\$*^P); ,,26P $ !\ '@ ? !\ '@ ? !X YP, 2F%N $9E8@!- M87( 07!R $UA>0!*=6X 2G5L $%U9P!397 3V-T $YO=@!$96/B3>1--QT$ M "0 P!TB />+'0 & _< %@ $B0Y. @ # 6)I;B]O9 M M @(" T,S8@ " @ M(" @," (" @(" P( @(" @(" @(#0U-" @(#4U-C,R-S$V," @(#4P-3 M( M M M M M M M !0$L M 0 ( @ &XGB0($5U@M7( ( 1 6W%0( !8D 0 /HY 0 !B0HP'Q#$_I\*S/[F%04 'PK"_M\5 P#,_L 7PO[ 93 ]PD( M ,X*\P+6"X< -Q . , 5 0 $B2Q! 0"' "Y#6P# %/4+_O\! @,06P##%%L MPQ) '?[_P103( 0#TPO!"OL"6P##$EL !' 9 $0@ R "@D06P#$_N"7Q/X" M >"5( #@E2 H)B@F*"8@Q6"%8< 'PK"_E\5P/[?93 PO[@E\+^A0#(< 2 M'P < !\ '@ ? !X 'P ? !X 'P > .<# $IA;@!&96( 36%R $%P<@!-87D M2G5N $IU; !!=6< 4V5P $]C= !.;W8 1&5CXDWD33<=! D , =(@#WBQT M!@/W !8 !(D.3@( P%B:6XO=V, M M (" @-#,V( @(" @(# @ " @(" @ M," (" @(" @(#$R,#0@(" U-38S,C 0:)]PI. 5\#-PI* 3<*3 $W"D0!-PI" ?<5 0#^ M ( 3=PG 7Q!3X=W"?H!?$$LA\"E"@ % K<*(@&W"MX " ' I2 P/ I0D M"@(W"LP ]PL& >D"MPH ;<*^ #D <"E+@ , O<+L@#> [<*Z !W";(!?$' MI0H ^@+5 3<*F@ W"M0 T %W"3P /$&W%00 =PDR ! =PDL $9!=PE$ 'I! M=PD@ %!!=PDX '9!=PD4 &!!=PDL '1!=PD( $1!=P V_P&)015"$'<0$ #1 MB_X"@>!W$ @ P!4! 2) $ 0(4 7Q?$_L 5 0#W"0( A0 ?"L+^WQ4* ,#^ MYA?"_M\+Q/X" _<)Z/_.93 MQ4^ 2)<$$! (< 0 *1FEL93H@ H "B @ M('1E>'0@ "!L:6YED%W"2 4$%W"3@ =D%W"10 8$%W"2P =$%W"0@ M1$%W #;_ 8E!%4(0=Q 0 -&+_@*!X'<0" # %0$ !(D 0 ! A0!?%\3^P!4! M /<) @"% !\*PO[?%0H P/[F%\+^WPO$_@(#]PGH_\YE, "W%3X !(EP00$ MAP ! I&:6QE.B "@ *(" @=&5X=" (&QI;F5S"F-O;G1R;VP@ "!L:6YE M < MIA4 /<5__]F!_<5___T_S<*\O^"%=8+PN4" ($YA700+<56@L2B<) >$<$ MA@B)PD / >&]Z5Z (( &@.WBGP \0$W$, !!8G(0 $ !(8(B !\ '@ ? !\ '@ ? !X YP.V0KY"QT+-0M-"UT+< M0N%"Z$+R0OI" T-*86YU87)Y $9E8G)U87)Y $UA0!* M=6YE $IU;'D 075G=7-T %-E<'1E;6)E<@!/8W1O8F5R $YO=F5M8F5R $1E M8V5M8F5R M M M M M M , =< ?#%8A+TY5[ !.4_@+#"M.5?0#3E0H $XK#%8A+]PD4 ,"4! -W">H" M$$+Z 7<) @,00@&)ER& 73.#IA#F$-.+_@*"$^80UR <72J&@)0N Q<@7 ( M Q<@6P ( Q<@>P % Q.0\ & E!.0[0& DAX#%R P P%%R Y D&@)P! 8# M%R!= 8#%R!] ,#]PEP -D!@)+2B]*+]PD> -,!P!4! 2)9D<1 &)$XJ" M%8,3DY3^ H,5@A6' .80P.4P , , 1R 200#4Y3^ G< < $F$, 56P!W"28" M@!. #,!E, !W"1H"P!5= '<)$@+W"5P!@!4P$8!)U)3^ G< 0 $W"F $P14! M .80@)03 Q<@70 , Q<@?0 ) Q<@6P $ Q<@>P ! P0!@0H" <$* P,3D.L! MP@H7('T P+W%?__(@03BH,3]PGH_L =$ )5!1.) #<*!@)W"20!>$< M "\!%R!< /@"=PD4 7A' G 1<@.@#U H,3=PD" 7A' > 1.@^0,7( H MZ@+CB^,"@Q-W">@ >$< X!$Y 7( H ]P)W"=8 >$< 4!%R * (#$Y#M M 3.*__\_ ?<++/H9!?<+F ,6!< 57 !W"3H!#$# %3H =PDP 0Q @Q/ E 0# M=PDD 0Q ^@' E0H =PD8 0Q @Q/ E ,#=PG\ /L!@Q/W"4( ]POB^1<%]PM. M Q0%@Q/ E 0#=PGN Q ^@' %0H =PGB Q P!4* '<)V ,0'<)\@ ,0(,5 M]PGL_=.+_@+#"H< YA# %3H =PFH , 5( !W": =PF !.0%R * /H"=PET M !<@"@ " Q.0\P$SBO__@Q6' &80015 ' ( $P) $,!E! W$! YA4 1 * MS@K] M8+0!(#B0! (4A\ +$@, "H *,1 " !<@ (" C$* @! 8 "< P#> M X$5S0L! E4EA0"!%=4+ 0*% '<)4 00@&) H#B7Q) 0 %A\ + P/ G6P" MA0!W"30 $$(!B3<07@+ %0$ !(E\20$ A0!F$"800171"T 20&"PE0( B0I7 M(@ " @2!%84 @17E"V80015 %'<2# & Q$*=Q " 2) $ 0($5A0!S=&]R M86=E(&]V97)F;&]W"I1X1P +P$7(%P ^ )W"10!>$< "$< !X!$Z#Y Q<@"@#J N.+XP*#$W<)Z !X1P #@$3D!<@"@#W G<) MU@!X1P !0$7( H @,3D.T!,XK__S\!]PLL^AD%]PN8 Q8%P!5< '<).@$, M0, 5.@!W"3 !#$"#$\"48FEN+V5D M M " @(#0S-B (" @(" P( @(" @ M(# @ " @(" @(" W-C,V(" @-C(S-3 R,30W(" @-3 V,@ @ M M M M M M M M % 9X/ -0/ "7 MKP( +0 % K<*I ]W"18/;T]W";0+&HD !N)#$$W"K@>-PK8'C<*B ^W$8 / MA!$7)0$ $8/4"P05P17F7L(5"E\2DQ&5_0+W'5X/] _W%0H X@]W *0"=P#" M M M M =PDB#FU/-PHP#W<)< 7W M'20/8 YW"=@-5R * /L"QAV,#O<+% \* S<*#@_W'7P.#@_W'78."@]W %8! M]PO\#A4#_XLR#AH"Q!U<#M0+-R%8#@J"S#4! /D#S HW$4P.]Q4R7Q(."@%W M"1(%]PM #@4#P!4! 2)?D\! #<*R YW"9P%'P&W"KX.]QVP#K .]QVJ#JP. M=PDX#:I!$P$[ +1!+ #"00 ]RV2#OP-J(+W'8H.]@UW"68%H@'W'8(.?@[F M 7<)"@W809H!80 J0F, -$)D $A"90#40F8 _$9G &9%:0!J0FL GD9L +!$ M;0 .1FX Z$9P )9"<0#&0G( $-S "I#=@!J17< I$,] #I$(0!81 H CD0 M '<)2 =W"9@')@%W"3X'=PF.!W<)= GW'0@." X5 7<)*@=W"7H'=PE@"?<= M] U>#?('=PF$#+I: M]V4" )8-]RV2#9(-\H/W'8P-] SD 7<)\ 9W"?P&=PER"0&)=PGB!G<)( Q7 M(" V + %4)0$ H7(')?_ )W"5()=PG@"/<5( "$#/<1@@QW"4P&=PGN!P6) MYEX ,&'-Q!"#?<=-@V>##<*/@TW"C@-=PG@!EI+_ %W"4@&=PE^!G<)Q@M7 M(" ^P-7( H J -F$'<)#@G#%>9==PFL"U<@7 ' G<)H@M7( H F0/!58 M4Y!7( H DP-.(.X"(XIW"50&#@K$'= ,=PGN"0,!SA%W"=P*]V4" +X,]RVZ M#+H,\8/6"P,# %W (K]=P!H_7<)L 5W"00&=PE&!PB)YEX/ /2'-Q":##<* MF@SW%>9;F S$'8(,=PF^!L 5NEH!$'<)= LW87X,1)0_D7P,MPIX#-9; $"YA\ =) P&B7<)W@2Q 7<)&@5W"8@%]QT( M#!(,]^UH"PP,MPP(#'<)P 2B 7<)7@4"B08!GX<'B7<)R@I83Y@!P!W."P:) MP!W*"P:)"XF$1(!$ 8F$1 +V5T8R]M@OS@_<== O<"G< ?@##%;I:Q!7F6S<*;@NW"FH+URUF"S( "(/4 ME5P U)4* '<)+@KF6^X!P)07(!L "@+ E!<@"@ 7 Q20U)4( -257@#D 1<@ M"@ . \$54D41H 0#T8O\ A20V0%4DM25" #4E2T TP'4E0H =PGD">9;A0 ( M7 D^#3P.3P]) !W ,C[=P"F^R8* 0'F$7<)Z -W"3P$]PO0"O0"=PE^"5<@ M( #[ U<@"@#L W<)R ;F';H*Q!T>"M0+-R$:"@."S$4! /D!A!,W(:0*$8+. M90( =PFZ!P8!]@L" /0"A!.D"O$!]@L" .X#A!.D"NL!Q!4R7Y8E PIW"2() M5R * 0"PPL- ^2+!0%7(%P @*#"@$! PI4D!"B *%X+L <$= M% K1"_<=$@H,"L(="@KW'0@*< GW+6P): D# _=E @!B"8$@U@/B"P()3 F#$-,+Q!#4"\ 2Y!C!(/V""Q#1"](+MR#$"?*'O@$W"KH) M]Q4R7_ (]PKL"#^*Z B% '<)U )W"58(5R @ *^#0Q!W"1@#P1!W"2H"# /" M'<@(]V4" ,((URV^")I/ X/W%8A/M A*$/<==@G>"/(?< D6 /)% 0 6 (\! M=PG. G<)V@+ %0$ !(F(3Q8 A0%W";H"=PGX!U<@"@ & W<0<@CW$7 (=PG@ M \$5"E_1B_X"R94* '<)# @*7W< _ODW"B@)-PH6"7<)I@=*1_<+&@E" O<+ M!@D! ]4+A0 @ #1'"0 T1RL -$@&^(/J >0+-Q%^ M!W<)5/]64'< 4OXF"L(5B$_*"P<#2B & ](+ER":3_B# @J."M8+A0#!%9Y/ M0"0% U<@L$_[@P$*A0#A"X4 WQU !\3^PQ6Z6G<)# #3E0H =PD&!KI:A0 ? M"L+^WQ4* ,#^YA?"_M\+Q/X" W<)Z/_.93 DY6% /<+ <: @L!]POX!A8" MQ!U2!C!O<=1 ;:!H4 ]PO:!@<"Q!TX!C<1R 8W$<8&A0#$ M';X&-R&\!HF"=PD* ,0=L@9W"0( A0 W(0X&#X# MA0#W"Y8& P*% '< 9/=W $+W=PDN!5<@< $ G<)) 6W"FH&5R * /("A0#$ M%;I:=PD0!5205R * 0#%R'F6_>'Y0'7+;H0+@K? X4 URVL!;5:W(9="<0= MH@74"S<1G 4#$=,+]V4" )0%(QDW(8X%_(+ %;I:=PD" (4 !!#"'78%PC4! M (#=PD< ,$=*@"!8'\0: 4!E7<)# !7( H ^@*W$%(%A0!RD(Q @@K"-7\ M#@+ 'X#5R @ /L#5R * 4#5) 7(0I? M](?G 1+Q!/W X4 ]XN\ M$]$#PQ4*7\05YE[R <05NEIW"1( 5)!7( H ! ,7(>9;]X? 84 ]PKD! <% MP9_@!+<*W 3!"_<#A0# 'X#]^4" .@#U L3%?X" MA0#WE6$ A@,2B5I/NEH$A@B)6D\* >&MXIR ]>M;@-Z /*#(0$W$$($!8E: M3P &X _<5__^F_O<5 0", S<*2O[ %8A/ M-Q!4 Q *%R":3_R#A0!W"?("9$\!B< =]@,&B< =\@,&B0J)6D^% '<0/@!W M$!( PQ6^3W<)> )P3'<)\@ " @"P9\H \%E! !_D" #=PG" 5<@ M"@#1 U.0UR ]4,V&=PFP 5<@70#T A.*E '_U0( ^@*0 ?<0] )3E=<@/E"\ MAM6+A0!W"1K]PQ6^3\05NEHW$=("P91Y (1-FDVB3Q- M]DT43C<1M +5"X4 YA F$7<)U/\$ ;<5H +6"_4!A!6#%1>E"@#R O !U*3= M ^T!P90F$0&E_@,F 1>E"@#4 N0!)A$7I0H _0(= 7<)5 -L!R0%W"4H M 0#6 <0!]Q$. (!-PH( "81YA!W"3( " 8,3^@'6"P0!%Z,* +(#P@'$ M"N80)A%W"5C_ P'&908 N &$%8,5#B'S@M8+LP$!E5<@"@ & U.@!@/+B_P" MU0L$ ]4+ @'5"_P#TXO^ H4 =P#*\G< J/+!%;I:PA7F6\,5YEUW(-P! @-2 ME/L!P)03 Q<@)@ ) D00-R'( ?<#$I67(.9=^8?E 9;YA^ 7<)9ON M%7<)*OH" \D?W "% '<)&@!$% "G [<*<@ * 0 * XE"4 $ "(? "P8#P1T< >H#-PI4 M (4 =P"<\T 3=PD4 #<1# !W%08 P!4! 2) (4 ! J$"A>D"@#\ H4 M(0HO=&UP+V5T;6$ =&UP(&9I;&4*/PI%9&ET:6YG(%-YE"@#] M AT!=PE4 VP') 7<)2@ ! -8!Q 'W$0X @$W"@@ 8FEN+VUE7)0$ !@/6"X 5%Z)N 4#"0'WM0$ 3@ % P^)D$ , M !6'! $/B9! #0 0A_3 $I"7(.9=[(?> 40@ @.!"OP!0)02 MD!<@"@ $ Y<@YEWXA]$!]QV* ?0 P!7F6^8?@ %W"6;[@!5W"2KZ @/)']P MA0!W"1H 1!7,"P0#5" % ]0+^@%W$(P A0"%%7P #!'8 $P+W"T(!!@/! MGW@ IP.W"G( "@$ "@.)0E ! B'P L& \$=' 'J S<*5 "% '< G/- $W<) M% W$0P =Q4& , 5 0 $B0 "% 0*A H7I H _ *% "$*+W1M<"]E=&UA M '1M<"!F:6QE"C\*161I=&EN9R!3>7-T96T**@ ,5^(3P M "@#5"X4 YA F$7<)U/\$ ;<5H +6"_4!A!6#%1>E"@#R M O !U*3= ^T!P90F$0&E_@,F 1>E"@#4 N0!)A$7I0H _0(= 7<)5 -L! MR0%W"4H 0#6 <0!]Q$. (!-PH( &)I;B]T='D M M @(" T,S8@ " @(" @ M," (" @(" P( @(" @(" @(#$R," @(#4U-C,R-S T-R @(#4R-C ( M M M M M M M M !0%0 M B H0 *3F]T(&$@='1Y+@H/B9! # 5AP0!#XF00 T M$(?W-0$ - # _>5>0 0 , 5 0 $B7Q !@ !B7=AR'W@%$( (#@0K\ 4"4$I 7( H ! .7(.9= M^(?1 ?<=B@'T , 5YEOF'X !=PEF^X 5=PDJ^@(#R1_< (4 =PD: $05S L$ M U0@!0/4"_H!=Q", (4 A15\ P1V !,"]PM" 08#P9]X *<#MPIR H! M H#B4)0 0 (A\ +!@/!'1P!Z@,W"E0 A0!W )SS0!-W"10 -Q$, '<5!@# M%0$ !(D A0 $"H0*%Z0* /P"A0 A"B]T;7 O971M80!T;7 @9FEL90H_ M"D5D:71I;F<@4WES=&5M"BH #%?B$\ M H U0N% .80)A%W"=3_! &W%: "U@OU 805@Q47I0H \@+P =2DW0/M <&4 M)A$!I?X#)@$7I0H U +D 281%Z4* /T"'0%W"50 #; 8!TQ7__\(+%0+W%2I$/ !W"4X#4D8Z"@ ]PD@ /<5,T0H M '<).@,*4DLZ"@#W"0P 8FW$!0 ]PD" &)P!5<1! *%R!V4/R#!8D 0 M$(9W"0P#0V%N;F]T(&]P96X@9FEL92!S>7-T96T* !B3<0G@,#B79( 3 M':X'P S #, ,-Q"8!\ =H ? 10$ %R!8&PV'=PG& DYO="!A(&9I;&4@8"$XD M0 P!W< @.):$0 @Z& !W^__<)V %W"18"(&-A;B=T(')E860* * <(5 M '!%6A$0!1W"0P > #""OH"PPK6 K$!P L" M4+A0"F$&80)A"W"I8"-R"8 M!DB'-R"0!D6& 1"A ,@ R #,%%^/_?%0$ Q/Y?$,S^\+?$_G9,&P+PU\3^ M=DR $\$5/$1"% Z!@"#\ O<)5 %W"9(!(&%R9SL@:2 ] #<))@ ! =4+@!6! M%8(5A0" $_<), %W"6X!(&1U<#L@:2 ] #<) @#O < =#@+W"10!=Q4$ '<) M3@$ 0'<)2 $* (0 @!/W"?P =PDZ 2!B860[(&D@/0 W"<[_U0' '=P!]PG@ M '<)'@$@9FEL97,* , =R@'W"

$CF M'9(%!0I$E.85" $C 2&0!%W" 8$*=R F'P!T2 ?<)$ !W"4X (&UI =PD> 2!F:6QE4*@#(BP@"!8D\0 !(<# MB49 @ %AL 5 0 $B3I @ !B3\*+V1E=B]T87 P #<) @#O < =#@+W"10! M=Q4$ '<)3@$ 0'<)2 $* (0 @!/W"?P =PDZ 2!B860[(&D@/0 W"<[_U0' M'=P!]PG@ '<)'@$@9FEL97,* , =R@'W"

$CF'9(%!0I$E.85" $C 2&0!%W" 8$*=R F'P!T2 ?<)$ !W"4X (&UI' 1 #B1A#&@! $ :)!P$-B?<7POX$ _<7Q/X PB) M D,/ !"&=PFL F-A;FYO="!C /W'9@"= . $ 2)]D,: ( 0!HF7(P$ !(/W"9X #@JL <$5&$/" M%?9#=PDH G1I;0#W"1H!=PD< F]V: #W"0X!=PD0 F1S:P#W"0(!=PD$ FED M; #W"?8 =PGX 75S<@#W">H S@LH W<)Z %D97(@ " DL!% /_W"98 =PG4 M 2P @)P! ,!% /_W"80 =PG" 2 @ !*XH"4P$4 __<)< !W":X!+ " E,!% M /_W"6 =PF> 0H 8D"B0(!!XF' -8+@!76"\$5&$/"%3Q'$8DD2X,5D1#2 ME/X"P H7( $ ^ 81"AB)%XD+B3Q'&$/W%7@OK 7W%6)IJ 7W%6XOI 4+B3=' M&$-W"4@!/PH &)Q!4V1Q\0Q/YW"2(!"@!W"1P!"@!W"18!"@!W"1 !"@ 7 MHS !0+4E2 %R$U1_@"P!4! 2),D<$ (< ]@L" !<#=PG\ " GQP" ,3^ MER#V0PH"IA+?[3 !Q/Z."\[M)@&?%<+^ @&?$L+^]PE" '+L @ " (H+2N*? M' ( Q/Z?$L+^]PDJ -\=Y #$_M\5!@# _M]E, #$_O>7Q/X% '<)G@ N> H MP64$ ,)E! "' -\5$ [ _L,7Q/[?%\+^Q/X?"L+^WQ4\ ,#^]Q?"_IX Q!4[ M1W<)5 * '<)3@ & .25.@#?$,3^=PE H =PDZ 8 Y)4Z '<), * '<) M*@ * '<)) * !>C, # Q>C.@ % M25( 7(3I']0+ %0$ !(DR1PD AP ? M"L+^7Q7 _M]E, #"_N27POZ% '>5*0 & \ 5 0 $B15# 0#W 84*Q44! (4 M+W1M<"]T=&UP "]D978O"^L M!?<58FFH!?<5;B^D!0N)-T<80W<)2 $_"@ 8G$%39''Q#$_G<)(@$* '<) M' $* '<)%@$* '<)$ $* !>C, % M25( 7(35'^ + %0$ !(DR1P0 AP#V M"P( %P-W"?P ( "?' ( Q/Z7(/9#"@*F$M_M, %B:6XO=6X M M (" @-#,V M( @(" @(# @ " @(" @," (" @(" @(" S-38@(" V-#0S-CI ] 'Q+58 " < D,0Q!7@0,45" #Q-2 " $ ]257P#4 ME0@ U)0" \4*_ +4E0H Q.7@0#<1" # %0$ !(G@0 ! P64, -$!P!4! 2) MUD " &)/PIA+F]U= # %0$ !(D50P$ ]P&%"L5% 0"% "]T;7 O='1M< O M9&5V+W)F, *@)P! ,!% /_W"80 =PG" 2 @ !*XH"4P$4 __<)< !W":X! M+ " E,!% /_W"6 =PF> 0H 8D"B0(!!XF' -8+@!76"\$5&$/"%3Q'$8DD M2X,5D1#2E/X"P H7( $ ^ 81"AB)%XD+B3Q'&$/W%7@OK 7W%6)IJ 7W%6XO MI 4+B3='&$-W"4@!/PH &)Q!4V1Q\0Q/YW"2(!"@!W"1P!"@!W"18!"@!W M"1 !"@ 7HS !0+4E2 %R$U1_@"P!4! 2),D<$ (< ]@L" !<#=PG\ " MGQP" ,3^ER#V0PH"IA+?[3 !8FEN+W!R M M " @(#0S-B (" @(" P( @ M(" @(# @ " @(" @(" R,C$V(" @-34V,S(W,38P(" @-3$P-0 @ M M M M M M M M % 8X$ M ;B7A!MQ7^ =8+ HX!P.WL W"EP"-PK2 < =S@$# P:)-PK& ?<*N $"!G< & & %3<0 M/@(7I"T &@(7HFP ! +W%4X E 'H 1>B<@ $ O<50@"& >$!%Z)M ,"-PH4 M ML!%Z)C ,"MPH( M4!P!T G<)9 ,<0L^']POV 0@##8GW%\3^5 'W%\+^ M4 $* < =5@$@(<0@.&]Q$X .T!AP#W"=3_-Q N /<+* " LYE @"' H*"@H* M(" @4&%G92 O9&5V+W1T>3 $( M M M &80QN40 M $0@!'W"10 -Q $ $ 0!(D 0 \ QF40 ($5AP"F$.80]R?"_NP $H<$@O"5( #@E2 H)B@F*"8@Q6"%8< 'PK"_E\5P/[?93 PO[@ ME\+^A0#(< 2'P < !\ '@ ? !X 'P ? !X 'P > .<# $IA;@!&96( 36%R M $%P<@!-87D 2G5N $IU; !!=6< 4V5P $]C= !.;W8 1&5C9A!!%3<0 @ % MB0! $AQ$0$0J!%84 R17__X$5L0"% '<3% !W%00 =PD4 ! 8:% "80 M=PD( ! P " 584 9A!!%?$* @ 4!$ 0P&4& #<0" Q$ 0 0!(#B0! @ " MA\ + P*!%;$ A0# "C$0 @ "D#>! "Q"@0 @16% M 9A#&Y1 1" $?<)% W$ 0 0! $B0! #P#&91 @16' M *80YA#W)\+^[ 2AP2"]R?$_N0 #8?F%\+^W^W: ,3^C@O.[= GQ7"_O<5 M'0#, -\5_/_,_M\5O#3 _L,7Q/[?%\+^Q/[?%0( S/[?%0\ P/[ 90\ =PF( M H =PF" 8 X)4Z '<)> * '<)<@ & ."5.@#?$,3^WQ48 ,#^PQ?$_M\7 MPO[$_G<)5 * '<)3@ * ,(5Q$.#(@(&@^3\ >"5( #"Y<1#P@S"9>!#@PK? M$,3^=PDH H WPO$_@8#WV4P ,3^X)?$_@(!X)4@ ."5( "@F*"8H)B#%8(5 MAP ?"L+^7Q7 _M]E, #"_N"7POZ% ,AP !(? !P 'P > !\ '@ ? !\ '@ ? M !X YP, 2F%N $9E8@!-87( 07!R $UA>0!*=6X 2G5L $%U9P!397!B:6XO M8V%T M M (" @-#,V( @(" @(# @ " @(" @," (" @(" @(" R,#8@(" U M-38S,C"5( #@E2 H)B@F*"8@Q6"%8< 'PK"_E\5P/[? M93 PO[@E\+^A0#(< 2'P < !\ '@ ? !X 'P ? !X 'P > .<# $IA;@!& M96( 36%R $%P<@!-87D 2G5N $IU; !!=6< 4V5P8FEN+VQD M M " @(#0S M-B (" @(" P( @(" @(# @ " @(" @(" U-38*Q17>9W M9Y0*]PN:"@(#-PJ*"G<) 7P3TY+]V40 -0*=PGR!/918$OW"W8*" )W">0$ M E9B2W<)W 0(6&!+=PG4!/Q38DOW"UX*#0/W"U * P-W"08&)$O '4P*-QP* M #X*MPHZ"N85!P#!%5Y+0!1W"@GW[8 )= GW'5H) M< GW[70):@GW[7()9 GW%0P I DW"J@)9A'F'2H)Q14.7'<)[ +@2Y1+=PDV M!2N%URV>"2 !P3W"S )]@+W90P = GR 7<)& 0 $PL#%RP( " Z@;7+7@) M( *![<*7@D' 141=PE$!- (!P+! M'\X(5R Z2P("P9U."% 0T!UP" ,#]U4! ,((-Q!&"'<)"@>%%84 ]QU*"& ( MP!UB",!M0@C [6 (-Q!2", =5 C ;30(P.U0",#M4 @W$$ (9A%W"=H!X$N4 M2\45#ESF%?__P1U\"-&+_@)W('0(!(-7J"\ ^@+1B\ 5U$M0E $"X8L7(-Q+ M^H?W%1\ 8@CW'?H'7@CW"^P' @)W"7H!=PG@ S&%=PD>!HX*URU""" #8=W M"(! M\$_R 7<)[@#@2X9+=PGF .A-D$O '3P'-Q".!W<1>@>%%7<)'@ + ?<+&@<# M G<)L $(6, 0=PFH ?91\@%W"; %A0!W"1P!X$M(A=4+ Q!W"1 !Z$T$A'<) MI *P2@&) A#"10$ P$7P_Q<@!P O@Z$ @R"#((,@@QW"2@%%RT( " #P;$ MY=YGQ&T.!S<1#+KW%0P KKW%00 "+K 7?RYA0 #;0H AT( ,+E(0# 1?[_ M!0+""P<#PVUH!@0!P@L" L/M7@;"#(!0 @&#;E1+P#4! (#P^W.!H4 P174 M2^85!@! %'<)]@#\4\X*^@+6"X4 015"%;<2!@# '9X&$XD 0 @!+ 5?\! M@ K!90@ 9A#.90 "(1"A$X#D#N"A$[<5$ " (@$$@!(W$ @ H1)W"08 $ M0(4 =Q4* '<5" # '58& XD 0 ! !(@#.KC$'3BXQ S$90Y@ !4* \$5U$M0) @" M4"0& E D! )0) ("Y N% !4O 0% \ 5 0 $B0 MF@/ %3I+=PDX NP!=Q*T PD#R>40 '<2!@# '?X#$XD 0 P!WT P.)F$L@ M R'%R 0 D%Q!682]$+7P,7(" @). 84 =P * ?=MV -R Q4#]QUL P8 MP!V^ Q.) $ , =M ,#B9I+( #$%9I+]V40 $P#%R @ #(#]PJ. P$$A0#! M'8@#T0MW$((#5ZX "T P)W"<0 \ $W"B(#-PJ" \ ?: ,W"G #=PF0 >4! MP!UD P.)F$LB $N' Q#$%9A+ V'7(*A+1(@ M=0 O Q>@; 8 Q>@> 2 Q>@90 @ Q>@<@ ) Q>@

580#T 4$20)P" (#-Y#H ?\5.DM8 M4+A0 $"G<) M!@ W$P "A0#W"D("&P7W90( / + 'S@"P1742^85" 1E (#S@K\!LX* @<1 MBOP!U@O1%2 $0IW"<3\S L" G<)"/V% , =)@+ 1>#_!P,7( 4 !(; ##=N M4DL4 H4 Q!4.7#2!S>6UB M;VQS(&EN.B 4F5L;V-A=&EO;B!EB=@ $ H$*MXJZ!? V170 M:D4 =PDH &)A9"!U0807 %0$ !(GC10$ A0! E ,#=PGH M__L!A0!!$7<)[O_W"S(% @,*B<1% 8GW'4@% @ %B0! *AS<0$@4#BWBL@$UZW$!'H ]H 2 "L!% 0 W$ 8 P!U$!!.) $ ! (4 A#(BP0#%Z0O /H#^@&% M ,$5^D5 % T#_05W">+_P!7H11<@\$4$ Q*B] +0B_D"826% '<2#@!W$@( M$HD 0,!&2(<%B0! !$AS<0] - $LD5__]W":;_P!7H11<@\$4" Y"4^P+W M'=P$[@/W'=@$Z@/WG;D$Y@/WG; $X0/W':X$W / ';@#!(GH11 PAW. \ = MK ,#B_G<))OX@+2T@8V%N;F]T(&]P96X* M #!'5#_=PD _G<)"/X@+2T@<&AA=ZP($ M B)VD4 0#2'-Q# L$=V@+W%=I%N/YW$!8 %0-7( " X?W%0 "" # '9@" M XG 1@! > W$ H H / '8X"!(G 1@! Z ' '8("!HGW-0$ F (% \ =; (3 MB0$ 0#?'80"Q/[?'7P"POX>B=I%A0#!%=I%=PD*_7<)$OT@+2T@8V%N;F]T M(&-R96%T90H ,$5VD5W">K\P!4* '<)TOR% &800!7WBRX"#@-W"<+\P!4@ M '<)NOS!%=I%=PG"_, 5"@!W":K\@16% !*)VD7 1@^']RWX @H""X<$@O9%A0!W"?3\=PFD_&P!=PDZ_6D!=PF0_0@!=PF4 M_W( =PE:_7<)I/WR 7<)>OYW"8#_8P#L 7<)POQW"7+\. %W"0C]4 'W"[0! M!0-W"5C]#0')%?__=PF"_P@!=PE2_W( =PD8_7<)8OWJ 7<)./YW"3[_8P#D M 7<)@/QW"3#\%P%W"<;\$0%W"1S]" ')%?__=PGH_'<)&/]D /(!=PD&_G<) M#/]C .P!=PGL !L!=PGJ^VYO(&%R8VAI=F4@9FEL90H '<)U/MC86YN;W0@ M8W)E871E(&%R8VAI=F4@9FEL90H P17X17<4&@#1"P@#_07A"W<)TOQW";3^ M80#V 1N) (B0! #P# #O 7<)&/SL 7<)+@#C 7<)/ON> 7<)U/L- ?<+@ % W<))/P$ M (5__]W">;ZP16T17<) MWOKT 84 ("TM(&YO="!F;W5N9 H "]T;7 O=G1M80!M_W5S97)R P!N M '9F;&< P#D!6%R9VQS= P#X!7-W;'-T P!6 &-O;7( M P !&-O;74 P R!&-O;60 P!T!&-O;7@ P V!6-O;70 M P!J!61I86< P": '!U=&, P!^ &-H P#C!7!R M:6YT P". '1F;P P#6!71F:6P P#$!6=E=&%F P"L M &%F:0 P#0!6)U9@ P# !FUA9VEC P#.!6UA9V5R<@ M P#0 &UK=&UP P#X '1F97)R P L 61O;F4 P P!71F:0 M P#4!6=E=&1I<@ P!( 61I<@ P#H!6UV;F%M90 P!@ 6YA M;64 P#H!7)N86UE P#:!7-K:7 P!Z 7-I>F4 P#V M!71R:6T P"4 6UA=&-H P"D 6UV9FEL P#( 6]P97)R M P!H F9I;P P#8!6UT:6T P#P!6]U:60 P#T!6UO9&4 M P#U!7!H&5R<@ P!\ W1A8FQE P"< VUE O<=)A $ $ 0$XD 0 PAT:$)<@_@X"A\(5_@ZW$ 8 0! # MB8Y0 $#"98Y0MQ X#[<0 @ 1B0! 0! &B;<10 \;B?Q -PHZ#_<)<@#W"0@! M]PLN#R "]Q4! #P/%Z L !4" )7F'28/YATJ#^8=(@_W">0 ]QT6#QX/MQ44 M#[<5% ^W%0@/]POX#@4"]PD, O<+[@[7 \8=Y@YW"3P&/P * /__SP%W"3 & M1FEL92!N;W0@9F]U;F0N"O__ 8G$%0Y0P!V^#@.)\$\! !<@ 0#U!< =M YW M"6P 1D$4D/$!/P""02\ @D$* ()!/0""02$ @D$G ()!(@""020 @D%< ()! M.@""05X @D$F ()!8 ""024 @D'__P %) 7( H #@/ '5P. XGP3P$ QH? M"\0#URU2#@H @.W"D(.Q!4.4(< 0141( ,"U@MY T0OY H4 ]Q4K "X. M-PHL#C<*, XW"B8.-PHD#@"5%R P L%%R W #H'%R!A 4%%R!Z (&=P"F M !<@00 #!1<@6@!-!W<)JO\(0N2+AP K /I"+0#Z0B U$$N )A"7P"80O__ M "W"M0-URW*#2L "P/W[<8-P@W7+:P- P * O<5 0"\#08!]VVP#:P-]UV6 M#:X-]Q4K )X-OP$!"L$,P0S!#,!%^/\!4 "5%R P .'%R W /.#]Q4! &H- M%ZER 4"]Q4# %X-A H% 1>C8@ " L$,A IW$& -Q 'DB\$5T$\1"A$*$0H) M"L$5T$_F%0@ ' '4BQ>C+@ 8 Q>C, 9AQ>C.0 2@Q>C00 3AQ>C6@ #@LS5 M( ) 1>C7P & Q>C80 'AQ>C>@ $@LX*X@<1D^ !U@OW"1 #=P F_S<0] QW M -+^=PFF_@Y#MPK<#(< +P!&1& 6$1< #I$/P!J1 H @D1> ')%/0 21#H M:D4A )9$)P"Z1"( QD0D $I#)@ :1"4 (D'__P =PF8 \I/]PN4#$ "P$7X M_\ ,P PW'-A#"@ W'-I#!@!W"=(# H __]W"6P#R$_W"V@,*@+ [50, M-Q!Z#,45^$-W%08 (0-W":@# O(/__URWV_W-P!0+ '5H,P&TL# ,!=PDR M P10 Q#W"50#]PF> \ 0]PF"!?<)'@7W"88#]V4" # ,W &' #\_/P!B=7, M:6YS='%U:71I;W0 /S\_ ')T

' #<*Q@OW%0( N MW"7@!+$2' /<)& 7W";0$]PD< X< MMPJF"_<5 0"8"P4!-PJ:"_<5 @","W<)3 %X1(< -PJ("_<5 @!Z"W<).@%V M1(< -PIV"W<)+@%T28< P SW"90"]PG4 H< ]PMR"P,"]VU0"VP+P!U."W< M;/[W"UX+ P*W"D@+AP#W-0$ 4@L# _<+-@OV W<)Y@+Z3_1/AP"W"B8+]Q4! M !@+!0$W"AH+]Q4" P+=PG, -A$AP F$/<)' " %?<+ L# L ]PD. -"G< ?/VW"EX*AP#W"6( P!U@"L$=9 K="?<)M@&% #<0 M/ KW"4H ]QU("DP*]QU*"BH*]PLL"@,"]T4! #H*=PDB ?I/]PL>"A$"]PL4 M"@(#P$4 __T) #W"PH*!P+W"AH*! ?W;?()#@KI =4+A0#W"P(*!@+W'?X) M]@GW'=P)^ F' -()]QW&"<@)AP#W"[()( + %?A# 10< M W<@H@G[ L#E^D/W%0$ J D7(!8 ! +W%01 L F' (0=PF8 ,A/]PN4"04" MP.V "8!@-Q"6"8< P16.4, 5T$\1) X"$20- A$D# (1) L"=Q1D"?=%( !> M"7<4;@F' -$+T0O1"U$D=R X">>'MPI,"3<*5@DW"CX)AP#%%8Y09A ""L,5 M_W]W(1@)%897(RX #P-F'0@ SD4@ (XE"0)!'0H > !! $+0R "!$,00A'% M90P Z '6"X< =Q<& , =_@@3B0 #AK<*[@B% , =[ @#B0)0 @# "_8# MP!WT"(4 P14,4 (*@@HAD,G%^/_)U3 H0 #( ,@ SU K<0# !W$ 8 P!4! M 2)!E & (< =Q7"" & A0# %0$ !(D&4 ( ]@%W">C_"@#__X< =PG>_R M__^' '<)U/\J /__AP!W"% ,0YA#.1??_P$7X_Q<@!P!" M \ 0@ R #( ,P$7Y_W@ _$<$2!I(-$A.2,X+ @/W"6;_]PFL -8+3@/W"63_ M2P'6"P(#]PE&__<)3/_W"9( =PD2_RDK__\^ =8+ @/W"2S_=PD _RTH___W M"70 ]PDP_S$!U@L" _<)$O_W"0@!]PGJ /<)A@#W"0S_]PE2 /<)#O\C < 0 MPS40 +H#U@L" _<)Z/[#-2 "P)W";;^) #___<)T #W";( ]PE. T!]PG" M ,!E @! 8,$5 P#W"3H P'5"P *A0# %0( A0# $,!%^/_ #,!EV$@W$ 8 MP!4! 2) " (< M ,!E" #K ?^/ !!636UO=@ /^/ "!636-M< /^/ #!636)I= /^/ M $!636)I8P /^/ %!636)I

F36)L90 /\ ("F36)P; /\ (&F36)M:0 M /\ (*F36)H:0 /\ (.F36)L;W, /\ (2F36)V8P /\ (6F36)V M

F36)L;P #,36AA;'0 0#, M37=A:70 @#,37)T:0 ! #,36EO= !0#,37)EG9C]PDD^8 5P$4 M__<)S/B' /<)%/F % /6"P S #, ,P&6J3@$0P!4! '<0 @ $B0 !@! ' 8 -Q"( M < ,-V!> ?<=> & ?<*> $!!(< =PFP^#L ___W90( :@%W"4CX!%#W":3Z M]PE ^NT!&ET &9O %?<)5O>' &-O( 57-A9V4Z(&-M<"!A5J & \ 5 0 $B:1! 0#W M 84*Q44! (4 0157+ ( 0 ' D >! # 10#_\0H" (4 \>4" ( %@1 $G<0 M" #W908 @ #B0! (Q$ ( @*R (4 <1 $ /%E!@ $ /'E @ " $ >! #Q M90( ! "% !\0Q/[F%08 'PK"_I\*S/Z7(P8 P/?%0( S/[W%\+^& #W93 M$@# %0$ !(FD00$ S@KI M8+A0" #( ,@ R #( ,AP#W":KW@!7W"5;WAP!C M;W)E &$N;W5T ( 8@!0&.4"XN 0 ( P O *SY@!5W"?#Y M^D\W8.P!AP#W"6CY@Q7W"<#ZAP#W"6)I;B]D9@ M M @(" T-S8@ " @(" @ M," (" @(" P( @(" @(" @(#,P," @(#C_MY4F /=E, @ , 5 0 $B1M)$7D/8 M1*Q#=D.41K!$-$3T0YQ$!D3<0[<*L 8C < =J ; 1?#_-Q#D!AP!]T6 )@& M& 'W58 D 84 ?=%0 "(!A !]U5 ( &# ' %>1'R$4/ ,T+ X#(50@ P$" M LA5! # %1I( 10"% ,4!!0%% 84P!V&!N8=D@;F'8P&]PM(!@$" @#'%PP M0A'"13__@@R"#((,PF7H1X< 0Q'#1?C_PPS#91A(0!' 1 M0DA"4D)>0FI">D**0II"P!4$ /82^0D" M@ M@Q4F >8> #+90( @Q4@ =<@)D@; _D) @ +X,,2& '7("9($P/+Y0( PQX M ! !YA^8!?=E @"2!S]! 'W">;]-POX O<+] )A _<+X@)5 \$=Y@+![>X"!P4> U<@. !5 M!, 5VD<& 0$+5R X $4$P!7.1V80 10"% ,4!!2(8Z$ 0P"# ,,! S."OD& M(!'@$* 08!#6"\$5UD?"%>)'P!4$ /BQ /H!P17.1\D+"P3!%=9'P!4$ *$ M80L!APD+P K[ B$+]PE^_0D!P1781\(5S$? %08 4A3 "OT"0A' %6 %<@@?\$!/<)0 #!98 P66 ,$ H0 !#- + M @3!50" R$6 _P%44A 2%/ 0(#$@H2 M"H< ]U4" - !=P!F^_<)% &J ?<)#@'W">S\P!7,1\$5V$?"%08 $13""OT" M K!%8 @HW()(! P1R0,Y' @%R0-I'@ JA $,] +!%0" PF4" )<@" #M M!?<)J/SW"3K_5R'P1P\#5R$ 2 P#]S6 %H! @(W"E(!Q64( /<)"/_%Y0@ MAP#W"2K\]PL\ 00"]PEL_W< O_W[3@!*@&W"B8!]PD 681P!7.1P$2$ H" M$A * Q(0"@02$ K%%C_@!7 93 ?0D (< 9A"F$-?^"@ ""@#Q)@I] M"0 %R M ,"C@I]"0 P.4P !<@"0 %@@/R0/X!],$*] ' 93 %R N ," M 0J""NP!'PK$_A<@90 % G<3! !W";#^ $#""P$" 0K!9\3^P0L#! /Y@0K[ M <$+ P<#\L$*^P'6"P$#P/&"%8$5U0N% #?T3@ F"D#Q / "!,#QC@HW\T8 M-_(Z $#[ P#AL#Q-_0N ,C@L!^ +X@O+7_@$ Q/C %0H Q/3!\4+R0_G$ M]$/Y ?3 "O<"U@L! \#QA0#)0-H/(:*F:") @_E.;OQ#5_X! )?^ @! \0#P M @) ^(4 P; \>81 0$F"B8* OD!]P#P @2."OH!)O@ \@7X /'7_A, P!4* M /T!/@%]03YPO; "OD&UO7 ^<'VP/@"] /Y@!4# P#RP K]!M8+ @- ^4#X MA0! \0#P @:Q (4 )@HW]WH / $!#?Y8@"."O@!-_=B #P! 'TH0"% !! 0$ M # 0 #% %W+1]V[/$8D "&)$D )\!N)I$NW$08,-PKD ,$5 M80!WD*(+$HG$5CA7!8>!"E<@>@#V@PH!"(G$5@P !H0H ,8=: LW"N +]PF6 ,,5.%? DO<)2 $L 7<)5OPR3!<@ M( F L,5A%W %\3^ @;W"=H XPL$ PL@! /C*/H!,PKZ_PL0XQT& , =H@L3 MB0! # %3A7]PDD ( *-V#N_S<0" # '88+!(DX5P! R '#%3A7]PEP L,! MP)0%B"8*C@H7I H _ * %0>(]POD"@<#P!4! 2)T58# #<*U H'B/<)YO_W M%3A7!@# '38+ XD 0 $ #(? "PH#P)_R_[<*[O\7( H \0(_BN3_!XC '1(+ M! ,&B3<*"@OG 7< ^@; '0 + P,&B3<*^ KW"_8*!P/W"28!! ' %3A7]PE M $ 1]PDZ '< ]/[#"L =U H# P:)-PK,"L$5.%=#( @"P!5? '<)X@# %0@ M=PG: $"2=PG4 %>D"@#P G< OO[W"4;_-Q . /<),/\W$ @ P!4! 2) $ M0 >(%R P 6'%R Y *"SF4" >(%R!A 6'%R!Z *"SF4" >(P16B5PD* M,0H" %<@IE745H$,SF4" >(P64$ %<@_%;NA\$5J%?)"PL#R2T0"@4"\2T,"@( M 0('B,%E#@#S (%R @ ("P)3[ 0>(-Q , M , 5 0 $B=1- 0 %B )@K!%81=X0L* \DMO D%@H 3 @,)(@A!A*/0! M@140 W<2I EW& 8 P!V8"1.) $ , =C@D#B3A79 #.90( !XC!%81=X0L$ M PD@#0-A*/H!=PEL_FQA8F5L(&YO="!F;W5N9 H >(P!6H5\$5_%8 \5?^ M 0!0%% 4T!4! 'V$/A7("!7]X<0"@>(-PK$",05G%GW"RX) 0,'B/<)7/\, M < =( GW"9;_,1'\__<)2 ;<*#@GQ ?<+E@@; M05N$L'B#<*B@C$%81= M]PDH 8!%RW^_U)4 @/4%9Y3]PMP" @"U!6X2S<1: C$%81==P N!'< =@'# M%3A7P)3W"3C^#P'#"G<)1/DR3!<@( $ \,5.%? E 0!U!7P4]07Q/[W";;^ M%R * $"!XCF$/<)&/X3 ?<))/X0 =8+]PF:_L,*>0 D3TQ/A$^03YQ/ID^^ M3\A/ZD]B4'Y0@Q7#"O<)6@$7( H 4 +.90( !X@7( H " ( \?<)@ ,7_O]_ M]PEX PX!]PDT 1<@"@ # M05M%0& <,*]PDB 1<@"@ T M05:%,'B!<@"@ N M M05E%,'B!<@"@ H M055%,'B/<)^@#4%9Y3!XCW"? U!444R81U OW"4C_ M &!%0D1!XCW"=@ U!5 4P>(%R * 8#]PG( !<@"@ ' @,! /'W"?@"U!6X M5 >(]PG:_"81]PG: "81%R ] /<"]PLZ!_0"]PF8 -0=* (]PD& /<))@('B/<)(@ 7(#T P/W"18"!XCW"WX& @/W"0;\]PGB_W<) M^@%25 >(]PDN !<@)@ $ Q<@? ) P>(]PGH ?<)& !W"=@!"%3Q ?<)V 'W M"0@ =PG( ?I3Z0'W"8X ]PDL >()@HF$/<)@ #W";8!E!7W"1@ ! '4%4Y4 MC@KS (%R ^ <#%R \ T#%R ] !H#!XC %194UZ(] M !L"@PK %1Y4%P'7HCX ! *#"L 5-E00 < 5)E37HCT "P*#"L 5+E0' =>B M/0 ! P>(@PK %3Y4]PE ( M]PGR /<)& !W">( =%3Q ?<)X@#W"0@ =PG2 'I4Z0'W"1@ %R!> $#!XCW M"<8 ]PD( '<)M@""5/0!P)3W":3[]Q4! !P%%R H D"]PF _A<@*0 " L"4 M)P'W"9+Z%R N ,#]PG:^@+V,DSW"8X & 'W"=CZ$P'W">3Z"@%W M"3[Z( M)@K7HBD @+ E 8!C@KW":C]%R L /H#5!64%06(-PHR!,,5A%WC"P(#XRC\ M ?<0( 1< %/Q / " ]0+7 $%5P (Q'C'0H$]Q &!+<*! 0 "O<)S ) \0#P M P1W -8!"_4F^_<)'ON %?<)S/I$'/S_7 #W">KZ]Q4! ,(#]PD$^\05G%E< M !/U)OOW$- ""_4W^RH$]PE<^@H!SBT@! >"P!4X5_<)CU$_)W"7KU P$4]2/X7 +^%P ]PE0 /D! M]PE* %?^ 0 !] CX\@$C%5P "_7N ?<*> ((!'<)V/=B860@(P!3 900 T#4! L" M=PF:]W5S960@8F5F;W)E('-E= H CU!XCW"AH"]Q04 L04 /M "L ,%R 2 M N&> P54I56E5B56I5 <-E" !< !(=PET]F)A9"!A( F$( ,@ R #,!%P/\7(#\ @/ 54 ]PG4_X 5 MP$7X_P>(+W1M<"]B=&UA T*$ T*!VQI4Y05 M@Q7$'5X!PV4( %P %R4! H""_57_@$ ?- ^ !PV4( '< IOYW":3V87)G M(&-O=6YT"F)I;B]D=0 M M @(" T,S8@ " @(" @," (" @(" P( @(" @ M(" @(#0@H (X? "R$#]PN" ?4#URU^ 2X \0/7+78!+BX# O<+< 'J \(5 M8$*!$]&5+P!7K/[_+P ! L$*D93^ L$*YA#W"53_ Q =C_@!7 93 ]PD" (< -Q , , 5 0 $B <-E" !< M !+_K4#S \ 5 0 $B:! " % < 5 0 $ MB;I " #WG6P 4P#7+;[_K4 % L 5 0 $B:A P# %0$ !(FK0 ( WQU. ,3^ MWQU& ,+^P!4! /<)1 # %0$ !(FX0 $ QP' %0$ !(FW0 ( 8D@(" @(" @ M('1T>7@@+W1M<"]U=&UP #\*$ &80QN40 $0 M@!'W"10 -Q $ $ 0!(D 0 \ QF40 ($5AP"F$.80]R?"_NP $H<$@OA! M@R("!H/D_ '@E2 PN7H0<(,PF4$0H,*WQ#$_G<)* * -\+Q/X& ]]E, #$ M_N"7Q/X" >"5( #@E2 H)B@F*"8@Q6"%8< 'PK"_E\5P/[?93 PO[@E\+^ MA0#(< 2'P < !\ '@ ? !X 'P ? !X 'P > .<# $IA;@!&96( 36%R $%P M<@!-87D 2G5N $IU; !!=6< 4V5P $]C= !.;W8 1&5CB * M=; !3 - * '<)<@ & ."5.@#?$,3^WQ48 ,#^PQ?$_M\7PO[$ M_G<)5 * '<)3@ * ,(5Z$&#(@(&@^3\ >"5( #"Y>A!P@S"901"@PK?$,3^ M=PDH H WPO$_@8#WV4P ,3^X)?$_@(!X)4@ ."5( "@F*"8H)B#%8(5AP ? M"L+^7Q7 _M]E, #"_N"7POZ% ,AP !(? !P 'P > !\ '@ ? !\ '@ ? !X MYP-B:6XO;FT M M (" @-#,V( @(" @(# @ " @(" @," (" @(" @(#$P M,#8@(" V-#0T,#$W-#,@(" U,#

8!% $Q O<=X@'D M ?<=V@$@ T!PAW2 <)MT '7+=8! 0 ! \(,PF40 +<0! ! $!.) $ /=M MM@$" !&))$+W':P!!@! $ .)%$( 0,$5%$)"$ )@IA##%0P ]PG( (05P144 M0@8!P!4! 2)3$$" &)1"#]AL(5]D%#' @ Q1##1>#_!P+#%08 TI4@ ,,* M_ (7 7<<"@#\O3<*]KW#%08 ]Q4! /:]!0$W"N:]]Q4# .J]]V4P -J]TIW6 MO<,*] )F$$,1PT4@ -<@!0 "A\,5 0#2G$Y!TI4@ ,,5" #%-2 ! /2E5\ MTI4( %*4 @/#"OP"TI4* ,+E]D&W$ @ P!4! 2)]D$ 0($5P64, *\!!P$% M 6$N;W5T #\*54%41$( @!! X ,@0 X! M&@$+ _0!]QW: 2 #0'"'=(!PFW0 =0_<)D@ %B<); +AS<02!P3B0P %A\ =/!P# MB1)=- "K<5^!OW"O0; @)W #P#U@N$$Q>E/0 # K<*BAL/ >2+%Z4K 0" M=PD: 6IX(=P!F !*)WULX7@2&"(G?6P@ M"(:WBAD;UZT5&WH \@=W ,0"-Q J&P2)DER 6)WUL #<0'!N' $$50A!W M$! T8O^ H'@=Q ( , 5 0 $B0! $"% %1O;R!M86YY(&9I;&5S+@H #<* M"!OW"08!-Z!^&@4#-Y#^&O<).@WT ?<)(@/W"60 [P' "Q\"'(DX7N8=ZAP2 MB=5;.%Z %<#MWAS 93 -Y![&A*)U5LX7O<5#0 : /@ *!_<+3!H!!H< ]Q4! $ :-Q .&LD!MPHZ&K<*-!J' , = M_AD# S<*^!F' /<+[AD# \ 5"@"' /<)B@ 7(%P !@+W"8 =PE6 (A"" $7 M(!L !0+W"6X =PE$ )Y"%R * 0"MPJV&3<*H!EF$/<)W YW8)89@16' &0: M=1UR'G@.>0]L?W0)84!N(UQ< W'C@=.1HT&#,9,18R%P 9A!!%4"D# /1 MB_P"5R">0@4'5R"N0@(&P!4? ($5A0! E($5A0#W"T09!0?W"CX9P!W4&(< M9A#W"R09 P/W"0 +, 'W"Q 9!0+!'4P9=R!*&1("P!U &@("]PE0 #<*]A@# MB0Q @ ]A\ +]@/!%0Q 0& W$"090)1W$!P9%R ) ! "@17 %;A;MPK@&,B+ MR@/0K=88^P0WF-(8]^W,&,P8P0$" < +QP.!%8< P!WF&0$#!HGW"YX8! /W M%?);%@ ) ?<*SA@-!?%_=E @!8%[<3.Q(<&\.261E(DEI9VY)=&-@2&UK>$D M ______<)^@.W"O@5AP"' /<) M[@.' /<)R@/W"6[\%R * (#-Y#@%3<08A:' /<)T -W"1P% #W"3P'-Q"2 M%O<)%@>' /<)N /W%0( GA6' /<)K .W"JP5AP#W":(#=PGN!'9<]PD.!S<0 M9A8W$&06AP!W"=H$=ESW"?H&-Q!2%H< =PG*! )A#."@<%]PEN^S<*\A7W M"3((]P'6"X< =PFL!)Y;]PG,!C<03!6' /<)3 /W"2H#]PG.^Q<@"@ $ O<= M*!4D%8< -Q"^%7<)@@206\ *]PF[Z%R * L# 1#W M">+Z%R * ("P!4@ #&05%WP 8< P16X6W<)C@, /<)K@7 "@('$9#W 1&* MAP#W"2@"=PET W9<]PF4!3<0[A2' '<)9 , /<)A 4W$-@4AP!W"50# # M[= 4 OW"6X%-Q#(%(< ]POL$P,#-PKF$P(!MPK@$_<)/ F' '<)O E,7?<= M>A5Z%8< =PFN"5!=]QUP%7 5AP!W": )3%V' '<)F E.78< =PF0"5!=AP!W M"8@)4EV' '<)[ *66_<)# 4W$(03%P%W"=P"F%OW"?P$-Q!V$P\!=PG, II; M]PGL!#<0:!,' 7<)O *<6_<)W 0W$%H3]PF\"(< ]PDZ ?<)WOD7( H @+ ME24 -Q!.$X< ]PDB ?<)QOD7( H @+ %2 -Q! $X< =PEX @ -Q L$X< M]PD< ?<5 0#*$P4!]PD0 ?<5 @"^$S<*R!-W"5(" # "P,'-Q"J$X< -PJF M$X< =PD\ @ ]PE@)3 )2 !@+W"4P%]PL@$O<"!0'W"7;Y]PH4$O$&]PF0 #<* M%!(W"@@2]QTF$B82]PEV H< ]PO*$1(#P!V\$!]1*]S4! /X/! )W"2H&4%T# 7<)(@927=@ "@K0 AP"D (< 9A#!13\ =R : 0"]RT*#Z@-#P-W$ P ]QW^#IP-P!WX M#A.)__\ , =[@X#B9)<@ " $\!%P/\ G))<@16' #<*Z@TW"@(.-PK0#?<+ M] TP O<+(@TM _<)HO,W$* -P"4@ H"]PD*^_<)D// )2 ] *W"M -^ $7 M( H !P+W"?#Z-PIX#?<))OP, ?<+N T# O<)6/T& ?<)Y@#W O<)= #T ?<* MF T"!#<*D@V' /<)OOKW"D( #Z \(* M]S4! *H," .W"H8,]RV"#+X,!@6 "@0!]PIV# &!@ KW"?0"@)*' /<=P@Q\ M#,0=:@PW870,]PN6# P" )47(" !P+W"J8,]PF$ 7?@< SU <0*]RUH##X, M%0?7+3@,! 1!\ =G O ;58,-R!4# @&P!V."\ ,P&U&##<@1 P"!O<)= ,W M"BP,YAU@# "5%R M 8" I/W">C] @+,U8 P L9@,!%@/\#$ + M* / F!0"]PJ>"P,"]PNR"P,#]PMT"PL'UZS__RT %P/+E2T ]PIB"[<*C@L0 M ?<*A@O+B]T#]PF( '?@? MW8$@+MPJ:"\0*=V!F"]$!MPIP"S<1. O,Q8#_ M%R'470$$! #6"[0 AP# '9X* P(W"D0+AP# [8@*P.V&"L#MB HW$#(+P!UT M"L!M<@K ;7@*-R B"PX%P!4" #<07@HW$%P*-Q!:"C<06 KW%4( 6@K; ?Z!JN'_]6 M #@'MPH\!Z4!A0#"18#_P46 __<)\/["Y6$ ER 9 "6"@Q!"$/<)WO["Y6$ MER 9 !R"YA?$_I\0Q/[?%0T QOX""J$ PQ""\-GQ/Y#9<.2P@L$ H,,@PR# M#(,,PT7P_]\0Q/Z?%<;^A0 ?"L3^U0N% , =R ;W"93X0P+W"8;^PN5A ,(, MIAP27! M'00 ]PD<^,(5?EP2D ,0PT7P_\,*!06!"O<)!O@2D/D!P15^7( 5AP P " M( ( ( @!B(A4Q$4,R("(Q$!$F @ .P!@!P!P!@ -"0 ' %H @ 0 8 M@ #0H !0 V * ( ) <"(3(2 @$B,A "% & D 8 8 , @ @ !0 M I ( ' & & T! $ 0 0 0 C_R\++_;_+P'_+P @'_\0 $ 2_R_R M3D #R__+QE?\_\?\K@_ $\\8@J>/E4S=>$F)P 4$ \]_R !_P\!A! ("\/ M+^!@\LQ/ \) "\O[S\/0/;,+^+F'P PJF4Z;_]U,S9T*/, \@ $ 0 / M 0 !/#Y__@.Q52 2O # +_*5@% $ .)@$$* %*'P M0 _<+.@'T \(=W/_#%?1 MDY3^ L(5@D'#"M>L__\O (#TY4O ).4_@(2B?1 6$$YA_< "@#$ P * M XF,00$ UZW8 H "0, "@.)BT$! ->MQP * .,#]P'7K;T > ( ]>MM0!Y M -H""HGT0 *'IP$!B< 5 0 $B?) @ !B2X /PJ(9C86=18/IU ( -P !@ M !% #V @ \ 81-2('!C(F( )V,/$% ( 9@, !A !9 #R!@ M ! '0 8 !8 \02%4I3 +W1M<"]R M=&UA #__P0 07*SV*O\ X :6UP'!E8W1E9"!%3T8Z( P!W2 M :)P!W* :)-Q$" B) $ R&=PER &-A;B=T(')E=W)I=&4Z( !W -S^ M-Q"B 6)PD$ !&&=PE. &-A;B=T(')E860@=&5M<"!F:6QE(&9O52 (& \ 5 0 $B=9# 0#W 84*Q44! $1=Y0N @8#P!4! 2)UD,! M /A!$0# '2@!!(D.0@@ P!T> M 02)LD$$ !N)7D$ "@.)0$(! , ++0/W"WX #0/7+3(!(0 ) @*)- $'B< 5 M 0 $B;!! @#J 3<*7@#7+10!"@ " K<*4@# '=0 !(E 0@$ W %WE?P !@/ M%0$ !(E 0@$ ]P' %0$ !(G801 8G ':H !(G4000 8GW%3\_G@ W"IP M-PJ: #<*F "L 0N)C$&(00&) 0",00 +V5T8R]M3 14]4"B!N;W0@;&]G9V5D(&EN+@H*!P<'365S=J@%0 06)MD$! :&P!4! 2)^4$3 &) M-Q"& 1*)RD$>0FZ'Q!V, 0 *'(D>0L,=@@$#X<-E, # '9P!$XD P!V2 M 0.)#D(0 , +6 /W(%@!]@+ %0Y"P14( -"E( " C"*___!"OD"P!TR 02) MZ$$1 , =* $$B0Y"" # '1X!!(FR000 &XE>00 * XE 0@$ P LM _<+?@ - M ])P!4! 2)L$$" .H!-PI> -5_ & \ 5 0 $B4!" 0#W < 5 0 $B=A!$ !B< =J@ $ MB=1!! !B?<5/S^> #<*G W"IH -PJ8 *P!"XF,08A! 8D! (Q! O971C M+VUS: !!7@ +W1M<"]U=&UP "]D978O='1Y, !%3U0*(&YO="!L;V=G960@:6XN"@H' M!P=-97-S86=E(&9R;VT@4&5R;6ESL__\Z /H",8K__Q\*Q/Y E,#E, 7( D !H+?%0H QOX?8,3^] '" M)\3^X@+W"$H CT+W"$0 $#!'?K_YA4& -&+ @/."OP!]P@N (]"S@K[!M8+ M!XCW"" CT+W"#X P#W"!0 C4('B/<4) + %0$ !(D&1 $ XBF$,$2 @K1 MBP(#@@K\ ?<4"@"W$ @ P!4! 2) ((5 XC!%08 P!4,1)\0Q/X?"L+^ MWQ4* ,#^WV4P ,+^X)?"_A\*PO[!"O0"%R +1 8#%Z(P ,"T)4@ /"5( #@E2 H)B@F*"8@Q6"%8< 'PK"_E\5P/[?93 PO[@E\+^A0#( M< 2'P < !\ '@ ? !X 'P ? !X 'P > .<# $IA;@!&96( 36%R $%P<@!- M87D 2G5N $IU; !!=6< 4V5P $]C= !.;W8 1&5C" # %0$ !(D @A4# MB,$5!@# %0Q$GQ#$_A\*PO[?%0H P/[?93 PO[@E\+^'PK"_L$*] (7( M$ M!@,7HC P+0E2 ]P'W%0Q$#@#WX@H ]Q0( , 5 0 $B0 #B#\* "!I M(" @;6]D92 @;FP@=6ED(" @('-I>F4@("!T;6]D"@ * " @( O971C+W5I M9', "Y$9A#&Y1 1" $?<)% W$ 0 0! $B0! #P#&91 @16' *80YA#W M)\+^[ 2AP2"]R?$_N0 #8?F%\+^W^W: ,3^C@O.[= GQ7"_O<5'0#, -\5 M_/_,_M\5O#3 _L,7Q/[?%\+^Q/[?%0( S/[?%0\ P/[ 90\ =PF( H =PF" M 8 X)4Z '<)> * '<)<@ & ."5.@#?$,3^WQ48 ,#^PQ?$_M\7PO[$_G<) M5 * '<)3@ * ,(5ND.#(@(&@^3\ >"5( #"Y;I#P@S"9=9#@PK?$,3^=PDH M H WPO$_@8#WV4P ,3^X)?$_@(!X)4@ ."5( "@F*"8H)B#%8(5AP ?"L+^ M7Q7 _M]E, #"_N"7POZ% ,AP !(? !P 'P > !\ '@ ? !\ '@ ? !X YP, M2F%N $9E8@!-87( 07!R $UA>0!*=6X 2G5L $%U9P!397 3V-T $YO=@!$ M8FEN+W)M9&ER M M " @(#0W-B (" @(" P( @(" @(# @ " @(" @(" @-#,R M(" @-S R,3,W-C$P(" @-34U,P @ M M M M M M M M % 1H! %( "%%=8+Q0IT!X$5PA4:00 * M@ I2E/T"P@K "C<0S@"7(!I!6 ,2B1I!0D%4A_L_O\N <"ER <03X#EZS]_R\ .@,%B1I! VAP$0 M0! #B4)!"@ =A\ +&P/W"[H ]@/7K;8 +@ * O>+KP#O ]>MJ0 N ,"]XNB M .@#]PE& $ 0!HG %0$ !(G^0!@ JP% $ :)TI4O -*5+@#2E2X "HH*B1I! M(HH*B1I!,HK^_PJ)&D&8 ?<)# # %0$ !(D600, D ' %0$ !(D:00! AP ! MB2 M+2!D:7)E8W1O"5( #@E2 H)B@F*"8@Q6"%8< 'PK"_E\5P/[?93 PO[@ ME\+^A0#(< 2'P < !\ '@ ? !X 'P ? !X 'P > .<# $IA;@!&96( 36%R M $%P<@!-87D 2G5N $IU; !!=6< 4V5P $]C= !.;W8 1&)I;B]R;0 M M @ M(" T,S8@ " @(" @," (" @(" P( @(" @(" @(#$S-2 @(#4U-C,R-S T M-2 @(#4P-C( ( M M M M M M M M $8F&0(411!-5)7<5'@#$"@$& 8GW'10 @ 2B0 7D 'A_L_?\O #H#!8D:00 -H+H@#H _<)1@! $ :) MP!4! 2)_D 8 *L!0! &B=*5+P#2E2X TI4N J*"HD:02**"HD:03**_O\* MB1I!F 'W"0P P!4! 2)%D$# ) !P!4! 2)&D$ 0(< 8D@+2T@9&ER96-T M;W)Y(&YO="!E;7!T>0H@/PHH"@!W"8( !@#@E3H =PEX H =PER 8 X)4Z M -\0Q/[?%1@ P/[#%\3^WQ?"_L3^=PE4 H =PE. H PA6Z0X,B @:#Y/P! MX)4@ ,+END/"#,)EUD.#"M\0Q/YW"2@ "@#?"\3^!@/?93 Q/[@E\3^ @'@ ME2 X)4@ *"8H)B@F(,5@A6' !\*POY?%<#^WV4P ,+^X)?"_H4 R' $A\ M' ? !X 'P > !\ 'P > !\ '@#G P!*86X 1F5B $UA<@!!<'( 36%Y $IU M;@!*=6P 075G %-E< !/8W0 3F]V $1B:6XO;78 M M (" @-#E+0 ' A>C9 $ M8+P@JWBB,"ER # @# M=PD$ D%R9R!C;W5N= H (,5A!7W$ ( $HD 0%!"#X9W">0!4V]UH+@ . G<)- %#;VYN;W0@;&EN:R!T M;R N(&]R("XN"@!' 1B)%XDW$0( $HD 0%)"/X?W-0! '@$5 \$5>$(1E?X" M\94O /__Q!# $,R+!0,7I2\ ^P( $?D!$93^ L05>$+A ?5$ & \ 5 0 $B4Y" 0#W 0&) M 14#P15X0A&5_@+QE2\ ___$$, 0S(L% Q>E+P#[ @ 1^0$1E/X" MQ!5X0N$!]RWJ .H #0)W"

@ D+7_?^ 6 +>@ D+7_?^ 6 #01P$ 97P M -!' 0#01P$ [8< *@6 "$7@$ @UX! -!' 0 T$ )C: , 3@)E;F0 M , O@( 0 $ ! M0 $ $ &L@=&\@+B!O M)-Q$" .V' #01P$ [8< -!' 0#01P$ L(8 -!' 0"H M%@ /WH )"U_W_@%@ "WH )"U_W_@%@ T$ 0#01P$ -!' 0"=C '*@ -!' 0 @ $D00:&=PFP 5=H;S\* &)%R Z H#@*3Q W<)6@$D0?&'%R * /D" MZ '*B_8"=PE( .Q!Q.4" /<7Q/X* -4+=Q4" !") $ !2&P!WV_S<0% W M"A( T(L# [<*"@#[ < 5 0 $B0! $!W"4@!/PH ,0*Y 8!B1\*Q/Y]"0 M)$$+A\#E, 7( D !H+?%0H QOX?8,3^\0'5"P6(P)35"P6(+V5T8R]U:61S M M M M9A!!%3<0 @ %B0! $AQ$0$0J!%84 R17__X$5L0"% '<3% !W%00 =PD4 M ! 8:% "80=PD( ! P " 584 9A!!%?$* @ 4!$ 0P&4& #<0" Q$ 0 M0!(#B0! @ "A\ + P*!%;$ A0# "C$0 @ "D#>! "Q"@0 @16% "800!%W M$1( U8O^ D#A0 HW$ @ P!4! 2) $ 0(4*Q44! ( 5A0!F;W!E;@ ", MJ@%G971C ", [ %M97-G ", + )G971W ", S $ $ M 0 0 ! $0 $ M ,#MPH* /L!P!4! 2) $ 0'<)2 $_ M"@ Q KD!@&)'PK$_GT) D00N'P.4P !<@"0 &@M\5"@#&_A]@Q/[Q =4+ M!8C E-4+!8@O971C+W5I9', M M M !F$$$5-Q " 6) $ 2'$1 1"H$5A0#)%?__ M@16Q (4 =Q,4 '<5! !W"10 $ !AH4 )A!W"0@ $# (!5A0!F$$$5\0H" M !0$0!# 908 -Q ( &)I;B]L

T!P(&Q15B1405%Z4M ","]PJB!P"5 M(@,7(&P P*W"I8'^ $7H'0 ! +W%0X B@?Q 1>@80 # K<*@ ?K 1>@

*<0?E 1>@9 #B K<*:@?? <0*]PD: /<*5 ?3!O<++ # L458D7- 7<) M!@>P2 &)-PJ<",$50$G#%>A'-Q$, #<*-@?W"S '4P(2B0 "$@*AG<)"@(@ M;F]N97AI4( -P!=PDJ ]D!PA 2E?X"@R $@Y>H+P#[ H(*YA4( )&4 0+" M"LX*^P)W"00#U@O ':0&!HG"%4!)0B ! H< 9A%F$,)M1@:1$,)E% ".(/N' M@A/A"X,0TPO!(!2"A!+%$O<+* 8& Q4E"8?U@A4E!H?R 16E X+OA\ *^P&F M$LH2BQ7I =(+@2#EAX(5A177+?8% 0 ,!_<+^ 48 _<=Q/X$ '<)O 0'<) MM@!]1?<+V 4A W<)J@!H1=\=*@?$_G<)S ($ '<)F !F1?>+N@42 T,0TPOW M$! ]Q ,!P6)+3@4M O>+204" H(5A0#?' P Q/YW"9 "=PDZ @, =PD& '%% M@A6% &8111- E00#=PF^!+!(^@&%%=4+A0 W$00 =PGB_P! =Q$$ '<)V/\ M0-6+_@*%"L5% 0"% -\<$@#$_G<)[@$# '<)NO]Q1<00Q&4( ,PU ! $ W<) M; %L ,!=PED 7, S#4 0 0#=PE8 60 $0',-2 ! -W"4H!=0 * 0 +0!W"1K_<44?E<3^=PD^ 0( I7W"40 'Q7$_G<)+@$% '<)^OYQ10(5 M'Q7$_I\0PO[&Y1 @!'W":X!@A'F%0\ @)1W":(#L$C."OH"QF42 '<)ROYQ M18(5A0!F$,$=1OYW($(%,89W$#P T8L& U>L__\Z /H",8K__Q\*Q/Y E,#E M, 7( D !H+?%0H QOX?8,3^] '")\3^X@)W"7[^<45W"7C^ $#!'?K_YA4& M -&+ @/."OP!=PEB_G%%S@K[!M8+@16' '<)4OYQ19\0Q/YW"78 P!W"4+^ M;T6!%8< 0!5W"0 #L$B% /<+5@,# O<+4@,G Q*)Z$<(2!"&)A'$%>A'=PDJ M_B!U;G-T871A8FQE"@ A!7!90P A0# %0I($101%!\2Q/YW"6X ]V?$_FX$ M$13 910 $101%-$=+ .% ,%E# "% &80P14& , 5/$D?"L+^WQ4* ,#^WV4P M ,+^X)?"_A\*PO[!"O0"%R [208#%Z(P ,"T)4@ / * '<)<@ & ."5.@#?$,3^WQ48 ,#^PQ?$_M\7PO[$ M_G<)5 * '<)3@ * ,(5>D:#(@(&@^3\ >"5( #"Y7I&P@S"999&@PK?$,3^ M=PDH H WPO$_@8#WV4P ,3^X)?$_@(!X)4@ ."5( "@F*"8H)B#%8(5AP ? M"L+^7Q7 _M]E, #"_N"7POZ% ,AP !(? !P 'P > !\ '@ ? !\ '@ ? !X MYP, 2F%N $9E8@!-87( 07!R $UA>0!*=6X 2G5L $%U9P!397 3V-T $YO M=@!$96-F$$$5-Q " 6) $ 2'$1 1"H$5A0#)%?__@16Q (4 =Q,4 '<5 M! !W"10 $ !AH4 )A!W"0@ $# (!5A0!F$$$5\0H" !0$0!# 908 -Q ( M #$0! ! $@.) $" *'P L# H$5L0"% , *,1 " *0-X$ +$*! "!%84 M9A!!%3<0 @ (B0! #P %AQ$0$0H1"H$5A0#1%?__^0%W$PH =Q40 "80=PD. M ! @!7 '<)! 0(4 9A!!%?$* @ $!"80]PD> ( 5.9 $ +$*! "!%84 M)A!F$$$5]PD& ($5@!6% $ 0P&4& "80-Q 0 +0&P$ 8'-Q & $ 2!(D M0 ! L14$ /$5?P " (< "@!W"8( !@#@E3H =PEX H =PER 8 X)4Z -\0 MQ/[?%1@ P/YB:6XO=&%P M M (" @-#*SQ36"] !Z00 !WD-P"AP"WBKD3AP"WBK03AP!W"6S_#$*' +>*J!.' +>*HQ-W M"5K_-$*' #>*EQ-W"4[_-$*' +>*B1-W"4+_6D*' +>*@!.' +>*>Q.' '<) M+O^T0H< M M M =PFJ_NU4[E3P5 URWV$@( @9W *+^]PE G<)#@:\2/<) MS )/ 7<)@O[P5 ]XNM$@,#]PD" @(!]PD< O<),@3W"<8&]PFF CP!=PE< M_NU4[E3P5/-4\E0 '<)H@#L2YY-]PGR ?<)= #WBW$2%@-W"90!34]$12 @ M54E$(%-)6D4@(%1!4$$@(" @1$%412 @(" @3D%-10H '<)B@6"1A,!=PD" M_NU4[E0 '<)3@">35Y.]PF> 7<); 6"1@8!Q!6"5?<)C@'W"70(]PD, '<) M,@%%3D0* !B?>+ A(- P^) D0/ , =&A(&B< =%A(&B3>*ZA$;B0$ AP! M%<$5@D81% T@_8=7(#I("X-W"?( 3W9E2!ED@ #[ HX* M0!#7HH ]@,"( .&$Z3Y _$!RXOO @D!U)6 (X*0! "( *&%)3\ 12*@!6' M .80IA!F$$$20A5 E!(# @42D/L!PQ6"5Q4 0# G:80AP#!%>Q+ MPA7 /<)!@#""OP"AP 1"A$*$0H1"A$*$0J' #<*C!#W"=C_P!4! /<)5 '! M%>Q+PA7 ,(U!P $ O<)W@##%0Q 9A#F$, 5( F"LYDP K] K=35A#6"Q " M@Q/+"PT#]Q $ '<)B/X 0,-E( #1"]$4T131%-$4T12#%<-E0 "!%<%E# #" M"M4"]PL>$ X#=PDX_T1I2!C:&5C:W-U;0H =P#F_?<)1@6' , 5 M 0#W"=P P17L2\(5P #"-0< "0+ %0 !PQ4,0!,*P K] L,5#$#F$,D+!0/W M$ 0 =PF2_@! PV4@ -$+4Q13%%,44Q13%(,5)@K %1\ SN3 "OT"DQ7""L(U M!P#8 O<). #""]0"AP# ':P/ XD,0 "!H<7( " P*W"IX/AP!W"93^5&%P M92!R96%D(&5R' M #<0. \W$ 8 P!TL#Q.) $ &'AP!W"1S^5&%P92!S965K(&5R5$@"%"O>+UPX# O>+T XM W<)\/UX( 9A#!%2!5]PG6_8$5]XNW M#AT#=PG6_2 ]PGR_1<@> $ O<)Z/UW (C\%R * !(#%R!Y 4"]PG4_1<@ M"@ ) _<)ROT7( H ^P+6 7<)G/T* -4+A0#7+8P. @ % O<5+@"0#O<)H #7 M+7H. @ .!_<*<@[!'W(.]V4" &P.PA4@55*4_@+W"7X [@&' 6)(%4 ":' M)A" $P.)!%4* ""'P L; ]L__\O (#T)4O %"4_@+W"3 'HK> 8 5!HF' ,$5(%7W"?;\=PG^_" M M+2!#86YN;W0@;W!E;B!F:6QE"@!W *K[$HD@56!5Z8?W-0! ( Z[ L$5[$LF M"LD+( +."P$"3A#!90P 5R#L5/:'@14. G<)LOQ$:7)E8W1O+%@T" S<*B W1'80-T1V6#=$=E V' M M ,$5[$LF"LD+&@-W"7[[(%77+<8, @ .!\(5(%7# M'[P,RXL# Y.D_ ,* Q+R0L] _&U0 " #D# M\<5 ( 0AP$ #,#=PDD^B!50!P* /<)-OP#"@6)(%4 "V' Q"7( "#8? M$ .)#$ B2'%R B$"]PG(^\+E +P ;<0" * \ 0 XD,0 ! %(Q+R0L) _&U0 " 4"\0L$ (#]PD, ,%E# !7(.Q4\(>' M %\)$HD@56!5!X?W M-0! -@H# ]*5+P#= =4+A0 +B49+0$L!B49+(%4 "]B:6XO;6MD:7( ,(5 M[$O*"P(#MPJ>"<)E# "7(.Q4]X?"%1@ PQ4J O<)-/_PM\3^#$ % [<*?@FW M$'X) @&W"G8)@@K#"O "P!UH"7<),OT$ '<)>O@@96YT !*"0@ <@!*"00 =P!*"0( <@!*"0$ =P! G , 7PG*2 , 0!P$ M %\)RD@& $ <"@!?"5' #M /8MY " V" X?.+=P M"8*WBMD SNW2 +8+ @#V[<@ @"?%<3^GQ7"_L$5$E7AE2 WQ7\_\S^WQ6\ M-,#^PQ?$_M\7PO[$_M\5 @#,_M\5A / _L(5($A*"0H 2@D& .&5.@#?$,3^ MWQ48 ,#^PQ?$_M\7PO[$_DH)"@!*"0H @J G-9' R #!@/@@@KY >&5( "F M$,(,@F7"9>5'@PK?$,3^=PF. H WPO$_@8#WV4P ,3^X9?$_@(!X94@ .&5 M( "AF*&8H9CAE2 P!4! 2)!%4. ,$5(%7?"0Q$7PD81 H AP#('Q\>'QX?2F%N1F5B36%R07!R36%Y2G5N2G5L075G4V5P3V-T3F]V1&5C M<34" 0#0!7?"2I$A0# %2T WPDJ1-4+A0 ?"L+^7Q7 _M]E, #"_N&7POZ% M %\)$D9X (< 0QP$ #L#0!P* -\)S$4(B2!5 TAP(0UR @R'WPEH18 0 M!(D,0 ",(<7( "+0(#X/$!]Q , H#WPEH18 0!(D,0 ! (8*V0#.[=( M@L" /;MR " )\5Q/Z?%<+^ MP1425>&5( #?%?S_S/[?%;PTP/[#%\3^WQ?"_L3^WQ4" ,S^WQ6$ \#^PA4@ M2$H)"@!*"08 X94Z -\0Q/[?%1@ P/[#%\3^WQ?"_L3^2@D* $H)"@ ""H"< MUD<#( ,& ^"""OD!X94@ *80P@R"9<)EY4>#"M\0Q/YW"8X "@#?"\3^!@/? M93 Q/[AE\3^ @'AE2 X94@ *&8H9BAF.&5( # %0$ !(D$50X P14@5=\) M#$1?"1A$"@"' ,AP^Q$?'!\>'QX?'QX?'A]*86Y&96)-87)!<')-87E*=6Y* M=6Q!=6=397!/8W1.;W9$96-Q-0( ! - %=\)*D2% , 5+0#?"2I$U0N% !\* MPOY?%<#^WV4P ,+^X9?"_H4 7PD21G@ AP!#' 0 .P- ' H WPG,10B)(%4 M #2' A#7( "#(??"6A%@! $B0Q (PAQ<@ (M @/@\0'W$ P "@/?"6A% M@! $B0Q $ AAS<@^/\> H 0!HEWG , ! !B:6XOO @ M 0"&XD !J) 8B< + P+WE2, ;@-7 M(P$ %P< "@:)=QT$ ( !8D 0 #(9W"38!26YP=70@;F]T(&9O=6YD"@ M 8DW"CH#]PLV P4#P!4! 2)G$," ,8=!@G#%;E#Q!6L1S<*) ) H0H $*AP!W"5 I$,& 0N)N4.L1PN)M$.L1P*)2P$*AG<) M% !45]@<& \ 5 0 $B7I) 0#W 84*Q44! M *$XD ( A0!!%<(5N4- E("D P+ "_L"U0N% !<@)P ' Q<@(@ $ \!% M@/\3D(< )A#W"1H!%R * L"=PFF_R(G(&EM8F%L86YC90H =P!V_@X@! / M18#_$Y#J =8+AP#W':8%#@ 2 _^+" & P *!HD%B0! )AG<)9O]);G!U M="!F:6QE"@ !B<(=? 4F Y>B/@ ' H(*MQ " 6) $ ! !"&MQ " B) $ / M J&=PDN_T]U='!U="!F:6QE"@ 8D&B;<0" # %0$ !HD%B0! 0 3B0 M @#W"R8%#P(+B;E#K$<+B;1#K$=W"?#^3F\@8V]M;6%N9 H 8GW%:I#!@4+ MB:I#JD?P 1<@"@ 2 Q<@)@ / Q<@.P , Q<@/P & Q<@*@ # Q<@6P " K<* MT 35"X4 ]PD. , E( #[ Q<@B@#X X< ]PNT!!H"P1V"!G<@@ 8# O<)8 #U M 4"4=Q!P!L!=:@8W"F8&%R!< 0#%R D X#AP#W%8 4@;C <"?>@0# [<* M= 2' #<*;@3: ?<)L/_ Y3 %R ) *#P!4) ,$=, : "@D@S 3 #$!@-QP" M $8$Q@' %71(-Q 0!C<0#@; "C<0" "W"@0 H#B0 0 -A\ +"P.W"O(% MURWN_W1)!8;7K^;_"@#M H< 8D_"D @8VAD:7( ;&]G:6X +V5T8R]G;&]B M "]B:6XO @<#%R B 0#P$6 _Q.0AP F$/<)&@$7( H "P)W":;_(B<@:6UB M86QA;F-E"@!W ';^#B $ \!%@/\3D.H!U@N' /<=I@5B:6XO;6MD:7( M M (" @ M-#) ' ##"P@#]Q5,01( M"XK7($U! 0,CBO>+,@ . Q*) $"P026'P!U ?>M( ] 0(" P # ,&X9W M$P( #HD 0 \ %8=W$P( $(D 0 ! =Q," F) $#H0 J'T94N F*]QVZ_P( M"8D 0.A KX9 $S<0% W"A( T(L# [<*"@#[ < 5 0 $B0! $# %0$ !(GD M0 , F@$N " _"BB' /<+M 0: L$=@@9W(( & P+W"6 ]0% E'<0< ; 76H& M-PIF!A<@7 $ Q<@) . X< ]Q6 %(&XP' GWH$ P.W"G0$AP W"FX$V@'W M";#_P.4P !<@"0 "@\ 5"0#!'3 &@ H)(,P$P Q 8#<< @!&!,8!P!5T2#<0 M$ 8W$ X&P HW$ @ MPH$ * XD $ #8? "PL#MPKR!=$%<$5AD,1 ME?X"-XH6 \ 58$-W"? #VD,0AG<):@1#86XG="!O<&5N('!A(!AT/= 1\*Q/YW":(#VD,7(#H " /?%0H QO[ Y3 'V#$ M_O(!]Q?$_@0 $(EL0P! ]Q?$_JP"P16.0W<)< /:0Q>@.@ " Q&0^ $)B@R) MCD,*AG<)F -.;R!D:7)E8W1O O971C+W!A7@ M M M M M 9A!!%3<0 @ %B0! M $AQ$0$0J!%84 R17__X$5L0"% '<3% !W%00 =PD4 ! 8:% "80=PD( M ! P " 584 9A!!%?$* @ 4!$ 0P&4& #<0" Q$ 0 0!(#B0! @ "A\ + M P*!%;$ A0# "C$0 @ "D#>! "Q"@0 @16% "800!%W$1( U8O^ D#A0 HW M$ @ P!4! 2) $ 0(4*Q44! ( 5A0 7( H 0( "H< 3$, "]T;7 O=71M M< O=&UP+W=T;7 +V)I;B]S: M M "]E=&,O;6]T9 !M86EL8F]X "]E=&,O<&%S H PF!W"98 !@!W"9 "@"?$,3^7Q#"_G<)K@ 0 M#LB+-P+W"Q !"@/F%\+^WVWJ ,3^3@O.;> GQ7"_AF)#8G?%?C_S/[?%1I/ MP/[?904 Q/[?%0< P/[?%\+^Q/[?%04 QO[?99)!Q/[W%\3^!@# %0$ !(D M0 4 #8G %0$ ]PG8 , 5 0 $B?= 0 !B< 5 0 $B?9 @ !B3\*GQ#$_E\0 MPOYW%00 =PD< ! I3N \+E, "7( H Z8;!%\+^PF?$_D$+A0 F$&80WQ4! M ,S^P1?"_A\*PO[?%?__S/Y?$\;^YA?"_N87Q/Y?$,3^7Q7&_M\5#P#,_H$5 M@!7!9\3^0 O 9\+^7Q#$_A\0POZ!%8 5A0#("5( #@E2 H)B@F*"8@Q6"%8< 'PK"_E\5 MP/[?93 PO[@E\+^A0#(< 2'P < !\ '@ ? !X 'P ? !X 'P > .<# $IA M;@!&96( 36%R $%P<@!-87D 2G5N $IU; !!=6< 4V5P $]C= !.;W8 1&5C MPO["9\3^00N% "809A#?%0$ S/[!%\+^'PK"_M\5___,_E\3QO[F%\+^YA?$ M_E\0Q/Y?%<;^WQ4/ ,S^@16 %<%GQ/Y "\!GPOY?$,3^'Q#"_H$5@!6% ,AP M^Q$ !\ .P!: '@ EP"U -0 \P 1 3 !3@$ $ 4W5N( !-;VX@ %1U92 M5V5D( !4:'5R($9R:2 4V%T( #_9A#&Y1 1" $?<)% W$ 0 0! $B0! M#P#&91 @16' *80YA#W)\+^[ 2AP2"]R?$_N0 #8?F%\+^W^W: ,3^C@O. M[= GQ5B:6XO8VAM;V0 M M (" @-#,V( @(" @(# @ " @(" @," (" @(" @ M(" Q,C(@(" U-38S,C !\ 'P > !\ '@#G P!*86X 1F5B $UA<@!! M<'( 36%Y $IU;@!*=6P 075G %-E< !/8W0 3F]V $1E8\+^PF?$_D$+A0 F M$&80WQ4! ,S^P1?"_A\*PO[?%?__S/Y?$\;^YA?"_N87Q/Y?$,3^7Q7&_M\5 M#P#,_H$5@!7!9\3^0 O 9\+^7Q#$_A\0POZ!%8 5A0#( $PH *4"5!\4#P M2"@ . OI0(P#P X"]D%R0$H !( > "Q ! F M0 9&8 +V1E=B]R9C VG_:?^I_!P I $" #:/U 001 0 ! M ! )I$#B^@ &-O QOW %5;UR!4 N 5 .;@ M%0-@R(O^@- + H%? +8"R!7__^ 5"V#(B_Z YP$- (- D __\ ?__ M________________#( 0 1:!\(( @0 % 4 M 0 !0 X_P $ 0 % /<5X ! _<85 +W"3P+=PE."M 3 M#P%W"48*MA8' 7<)/@KJ%0,!=PDV"BD4QA4 O<)%@MW"1X*2A3W">H!P!V$ M_\!%X?\'8!8!%0$? >L!'0'I 1L!YP$. 0T!Y 'C 0,!X0'@ =\!]PN&_]P' M]Q5:!V#_!P'W%0X(6/]W"=X 9@J, O<5< =,_PH!]Q5:!T+_]Q7""#[_=PG" M X+C@+ %9X"R L. O<+1O\$!_ +=PFR VA1PA4( ,$5IDQ %'<)P@-B3\(* M^@+W"4H"=PGF V)/=PG@ VA1P!W0"S<0Q@LW"L0+$XD& P!VF"W<)<@-B M3\$5!E;W"3 $'X7W"4@$]PDF!/<)0 3W"1X$-Q&"O?<5]O^&O< =>+T G&1, M=PE@ V)/0!1W"5@#8D_W"?H#0!1W"4P#8D_> 7<)=@-B3_<=* L" J) $#W M'2 + @ *B0! ]QT8"P( "HD 0 ^)D$P? &)11\ '>53@L& \ 5 0 $B>Q, M 0#W < 5 0 $B8M, @#< 0,*Q$7@_Q "' -0-@#W'0@*Q+O %39#P17\_S<*MKOW%0H MKKOW93 JKO@G::[@0KT L 5 0 $B3!#!P" %8$5A0!F('AX>'@* !4@ @5 M)0$%U0N% /<)!@+W"?0 ;P$F$?<)^@&7(P$ !@+.%0( -Q'X"?<)Z $7(3T M(0,7(3H !@,W$9()A!7W"40"5P&$%130I- 1TR30("P1U4"!&A!@/1BP* MP0H" =$+^ % E'04'DUT$#)-A PTD%!-AP"F$$$5 A# 10#^0&# 908 $1! M$,!E! (1$)$0@A6% '<3! !W"00 $# &80IA!"%8$42B #AA&08A ' =(+ M)A!W"1 @!4:D*(*@A6!%84 0A62)($4=Q & , =^ <3B0! #!10#^@6!W M$!H @!#B5?\!B@JB*('B 0MW$ H "A# '= '!(D 0 ! A0#W"K '#0; G:@' M XEB30 "-Q"@!P("L@"' /<58DT>" 0*Q-\8"+<*% B' ,0=M@<# S<*L >' M /<)Q/\(A281]PF\_P.%Q "$58< U@O$%00 L@"' #<12+DW"D*Y]Q4H #JY MYATXN3<*-+GW%2@ ++GF'2JYQ!THN0"=9$QW"1K_8D^$%0"=9$QW"0[_8D^$ M%0"=9$QW"0+_8D^' 1=PER_0 ?P - 1 01H!&)$=@1VI'=$?81H9&?$;41I!'J$?$1^9'ZD?N1]Q% M#D@.2 Y(<$;T1F!(]Q4! +H&YA40 ,$5\$SW"?;^Q L%@1&1S@KY!N&+]P'1 ME0H $8K6"X< MPKZ#/<5 +V# 4!MPKN#/<5 'J#/<)^@&F$/<)OO[W"? ! M]PO6# ,#@!..$ (0S@".#(X,MR/&# .'=PDB_'@ @E6"50,*]PDV^\$5W$Q% M( >&0A1#%'<4' ;W"2+[]P&' "8*W 'W%0 !D@SW":(!ER $ .'MPJ"#,X! MSA4 ^,L!]PGF O<)J +" ((,@@R.4/<)1O[W"=("PNUD# (+@!!W"2#\_O]] M !P!PF4$ H!]PFV L+M2 R $'<)!OP"_P !#P'"-0$ # +W(# ,"0*"#,(* MPD4 _X)5 PKW"9[ZAP!W"7C[8@ ""O8!]PEZ O<)/ *0 ?<)< +W"3(""@'W M"68"ER! .&UR ! (']PD4 H)5]PED^H< ]PE* O<)_OH7(2P P+W":S] M]@'6"X< ]PFB_<,5 0 "$06!PD4 __<)VOKU ?<)C/V' /5,Q P!'4A,20'!%4A*1"0% ]$+_ +6"X45AP!Y M *P"$2BT A$HJ (1*+P"$2B8 A$H? (1*'0"$2AX A$HE (1*6P"D2EX MA$H! )A* @"22B$ A$J EZ,K (#]PDT_PZ1KP'!'<0" P'W";+Z 1' M%0$ $ &F$.80]PFB^O<),O\7(5T P-W"1CX70# $($0@Q6"%<45UDJ5(P,# MU0O\ F(!?0 "L .$LM $)+*@!B2R\ =DL? %A+)@!,2QT #$L> I+)0 D M2UX !DLA (I+@ ,01@$!"W<)C@! 3+<0KK,W"JBS=Q"NL\(=HK,Y 7<) M=@! 3+<0EK-W$(ZSPAV,LR\!=PEB /A+0F J 7<)6 <3$+@)0%W"4X 0$Q! M"D) 'P%W"4( 0$Q"4!H!=PDX $!,=Q!8L[<05K/"'5"S$ %W"20 0$RW$$2S M=Q \L\(=/+,& 7<)$ ! 3$$*0F 'EZ,#$R,S0U-C/\! ,#^ 0#"_@$ Q/X! ,;^ 0#(_@$ R?X! ,K^ 0#,_@$ SOX! M $ 0 " $ P ! 0 0 % $ !@ ! < 0 ( $ "0 ! H 0 + $ M# ! T 0 . $ #P ! ! 0 1 $ $@ ! !, 0 4 $ %0 ! !8 0 7 M $ & ! !D 0 : $ &P ! !P 0 = $ '@ ! !\ 0 @ $ (0 ! "( M"P $ L ) + @"P H L # + "P"P 0 L , + !0"P T L & + M #@!@ 08 (& #!@ ! 8 4& &!@ !P8 ( & "!!@ @@8 M (,& "$!@ A08 (8& "&!@ A@8 (<& "'!@ APT H- "*#0! M"@T 0(H- ( *#0" B@T P H- ,"*#0 "PT (L- $ +#0! BPT @ L- ("+ M#0# "PT P(L- ,#0 C T 0 P- $",#0" # T @(P- , ,#0# C T 0 - M , !P " @ @ ) ") 0"A $ H@ ! *0 0"H $ L0 ! +( 0"T $ MN ! #P 0 !\ $ "? ! +P 0 *\ T /$- ,#Q#0" \0T 0/$* #U# M_@4 /L, #_!0 _ P /0, #V# \@P /D, #W# \Q0 4 $ M% " !0 P 4 0 % % !@ '08 !V& 0FO9W"2H GDPWD(KV=PD@ *!,-Y"(]C>0?O8(B9!,"@ #AG<)-.N:3#>0 M@O9W )SI=Q\ ( !8D 0 H?5"X4 =P 4ZP8 ,& $!@ !08 8& M '!@ @ 8 ($& ""!@ @P8 (0& "%!@ A@8 (8& "&!@ AP8 M (<& "'#0 "@T (H- $ *#0! B@T @ H- ("*#0# "@T P(H- +#0 MBPT 0 L- $"+#0" "PT @(L- , +#0# BPT P- ",#0! # T 0(P- ( , M#0" C T P P- ,",#0! T P ' (" " D (D! *$ 0"B $ I ! M *@ 0"Q $ L@ ! +0 0"X $ / ! 'P 0 )\ $ O ! KP#0 \0T MP/$- (#Q#0! \0H /4, #^!0 ^PP /\% #\# ] P /8, #R# M^0P /<, #S% !0 0 4 ( % # !0 ! 4 4 & =!@ '88 !P M& <@< '@- , -"0 #1D 'X. $ !$ 2 &5T8R]G;&]B M M @ M(" T,S8@ " @(" @," (" @(" P( @(" @(" @-3$T-B @(#4U,C8R-S4U M-2 @(#4T,C8 ( M M M M M M M M !0%F"@ =P"2!Q) 6$H0 %A*X@=82A8)\DDD"=))"@#> M2:A'[DD *))$DGN20, 2DDD2F9 W$GL2)!)[DD! .1)3D P2EI 07)G(&-O M=6YT"@ [DD* )9)W$E$2)A)T$D4">Y) 22=!)$@G(21 $DG020P [DD" M !))\DDD"=))! #N20 $DG022()WDFH1]))# :2J))$DG020@ WDDL2)!) MR$DB"=))! :2I9)$DDD2O! QDD( .Y)*@ N22221*[$#<26Y$K$DP2J1 QDGB!]))% D:2G1)R$DB"1))T$D* !!* M[DD" %A))$H80=Q);$2L2=Q)<$2L2?))) G>22Q(D$G(22()TDD$ !!*EDGN M22\ +DDD2K!!W$E*2)!)R$DB"$'B27)!,$IT02\ ,$I\0<9)(@GN20 EDD22>Y) !*221*E$'< M27)$K$G<24I(D$G(22()TDD$ !I*[DDO )9)W$ET1*Q)QDD$ .Y) !F221* MQ$'<26Y$K$G021 )WDFB2)!)Y$G603!*V$$N .Y) "621))[DD %A))$KP M0=Q)=$2L2?))) G>2>Q(D$GN20$ Y$D&0C!*%$).;R!D:7)E8W1O$+<279$K$G<27A$D$G(218)R$DB"('TDD4"1I*=$G( M21()$DG<23Y'D$G(21()[DD ,A)(@F62=!)$@GN20$ WDD^1Y!)R$D2"Y) @" 24Q*,$HN0MQ)7DB02Y) 0!Z24I))$J(0]!)!@#(200 $DG0208 !DK(210)2DDD2GY# MW$FP1I!)R$GB!\A)! "B2D/020@ R$GB!\A)! "B M21))QDGB!\A)! !T2Y) 0 \ M221*V$/<2>Q(D$GN20$ Y$G"0S!*S$-.;R!M871C: H [DD) )9)W$E$2)A) MW$EN2)!)R$GB!^Y) "B2Y) #D M20Q$,$H21"]B:6XO )9)$DG<23Y'D$G(21()TDD$ !!*R$GB!^Y) "B299) MW$EN2)!)R$D2"Q(D$GN20$ Y$E81#!*9$1.;R!C;VUM M86YD"@#N20L EDF^281 'D&>0_!!($(N0GI$\DD* -Y)+$B0222Q(D$G(200 R$D& )9)$DG021( [DG_?Q))T$D, -Y) M+$B0222Q(D$G( M200 TDD, !I*EDD22>Y) N221*\D;L20 LDG020H WDDL2)!)R$D& -)) M#@ :2I9)$DGN20 +DDD2AI'[$D! +))QDD( ,A)"@ N221*+D?<23Q'K$G& M20@ R$D* &9)LDF^2<9&0$?R20X TDD, .Y) 22=!)"@#>22Q(D$G(20@ MTDD, !I*EDD2221*A$?<24I(D$G(200 TDD& !I*R$D* )9),$I.1]Q)2DB0 M2 $ 5P L' P$0 A $H$,@0I*$/_ZA'$8D , 5JD>!%4(0D!#!# %@@0J!#% 0P0R#%=&4_@+""O<" MPQ4@2,059DH%$<5E! !; -Y)$$"822A( 8D "Y(,$@%$<5E! !!%<$,06- MDA40=P!N 49(2$@!B4Q(3D@%$54E0!7 #$!E2)-W & !8$AB2 41525 %0:) M=P!0 7!(G^ M_UL 0!E?&<3^'Q# _M47Q/Y; &81U0M; (45S1!#&0T11!%; $$906G!#%42 M6P!#'?[_6P! &0411!,5$$,36P %$4050Q-; .4+ 1'!9%426P#E"P$1P62! M#%406P#E"]466P#E"\$4@0Q5$%L Y0O5%%L !1'%9%L Y0L" Q4*6P!E=&,O M=6ED

7,Z,0IB:6XZ,PIA9&TZ,PIJ86-K.C$P M"G!E=&5R.C$Q"FIA>3HQ,@IB;V(Z,3,*3H* M8F]B.CHQ,SHO=7-R+V)O8CH*QY=.D$;W3I M!6%N]&D$;O1I!&/T:01A=.D$:.YI V[I VWI!&SL:01B[&D#;.D#:.D#9ND# M9.D#XFD#8>D#[6$#:>$ !/=O<@3L;W($YF]R!/EA<@3W87(%YW5A<@3T87(% MXF]A<@3N87(%[&EA<@3I87($YV%R!.)A<@/R;P3W;V\$Z&]O!.UO;@3T96X% M\W1A;@3L86X$Z&%N!.AO; 3F;VP%YFEE; /V:0/C:03S86D$[6%I!'3T90-T MY03D@;A@7S96QV!>MN:78% M[&EE=D/Q=0=O;O1I;O4#[G4#Y'7"=<5Q=6%T!'7A= 7S=&%T!/1A= ;T;W+A M= 5E;N%T!.UA= 7H;W5S!>-L;W,$:>]S!/=I>]N!?-T;VX%\&AO;@3G M;VX$9>]N).5N;B5A\FEN!>-L:6X$[&EN!/-O;03C;VT$]&EM _IL _1L _-L M _!L!?9I;&P$8VOL ^ML ^=L ^9L ^1L ^-L!?!AXFP%9F'B; 7C8>)L!.%B M; /B; 3D86P$[6%L!/-A; 3L:6OE9_5A9P7R:6%G!65RX6<$;>%G!&OA9P1D MX6<$]VEF!>MN:68#\V4$YG)EXF4$]VED!/1I9 3S:60&\75E;F,'YFQUY6YC M)F5SY6YC!F5RY6YC!6GE;F,E\V%N8P9EUI;@5L[&EN M!?IL:6X%]&QI;B5S[&EN!7+L:6X%\&QI;@9NZVQI;@5K[&EN!>=L:6X%YFQI M;@7D;&EN!>-L:6X%XFQI;@9Y]&AI;@=E971HZ6X&9?1H:6X%9^=I;@5DY&EN M!6+B:6X#Z6X !>UO=70%]V]R= 3W:70%=/1I=R87 'XF]R M[W5G!>)U-R86,$XF%C /F=05S]V5L!/1E; 7S:&5L!?-T86P$XF%L W;E W7E M VOE!'1HY05T8VCE V'E9/%U82-UX0/T801U$$Y&GA!.-I80/G803M96$D\F7A!F/T:>-A!?-I MXV$$Z>-A ^-A ^)A /N=05O\FGU(VGU(V7U!6EVZ7,$]&ES!6GM:7,%86SI MES!/)O;P/D;P/H80 $]&]W!.1O=P3T=7(%\W!O;P3N;V\$[6]O M"6%LZ?IA]&EO!^GZ8?1I;P=LZ>'T:6\$]&EO)7/S:6\$\VEO!&[I;P3G:6\$ MXVEO ^-O _1O _-O _)I _!I ^YI ^UI ^QI ^MI!?-T96D$]&%I!6=H=.4% M]V]MY0/M901OZV4#:^4$]&5E!/-E92/S807W;VWA ^UA!/1I803S:6$D9>EA M!.-I8<-I82-EX0 "]03S:&D$ZV5E 3Z87+"<@/T;R/S;R3R:>\$:7KE!>-O M=N4$;_9E)75S]&4%;W-TY27A8_1E!O=R:73E)6ES]&4E97/T925A<_1E!/-T M905A]U!?1I;W4%YVEO=07C:6]U)&GO M=07G96]U!>-E;W4$9>]U8O4$[F5S!.QE5S!6?G97,$9^5S M!63D97,$9.5S!.-A-I96X$ M:>%N!O=R:6=H!N)R:6=H!N9L:6=H!O=E:6=H!?-H:68%XW)A9B1D9^4$YV]A M!.-O803B;V$$]VAA "1E<_0#)I;.GT"/!AXFELZ?0&XFELZ?0#:?0$XG5R!/1O\@7Q M=6%R)'7A<@?M96[T8?(&:6]NX7($:>%R!&[O[0/P; 1GYVP%\&'B; 5F8>)L M!>-AXFP$X6)L ^)L NP#\VLF9_)A\&@$;._G N8#[F4#[&4$8VOE ^ME!.)O M9.1E960"X@/W80/D80!NY01R;>4$;&SE!63D;&4$XFQE VOE!6[T:&4&YF'T M:&4&96GT:&4$=&CE!'-HY03P:&4$8VCE!&1GY01R9.4&;W5N9.4$;&3E!&ED MY07D=6/E!&YCY4+E _-A)F%C]>QA)F5C]>QA)FEC]>QA)F5G]>QA "1U[W4% M]&EO=07G:6]U!>-I;W4D:>]U!>=E;W4%XV5O=01E[W5B]03N97,$[&5S8O,E M<._L:6+I0_AE0_-E1'-HY41C:.7! 9I;V[IAE87($YF]O VGO!>9R M;VX%\')I;@3M96X%XVEE;@1IX6X&]W)I9V@&XG)I9V@&YFQI9V@&]V5I9V@% M\VAI9@7C)I;.GT".-AXFELZ?0(\&'B:6SI] ;B M:6SI] -I] 3B=7($]&_R!?%U87(D=>%R!^UE;O1A\@9I;V[A<@1IX7($;N_M M _!L!&?G; 7P8>)L!69AXFP%XV'B; 3A8FP#XFP"[ /S:R9G\F'P: 1L971C M+V=E='1Y M M " @(#0S-R (" @(" P( @(" @(# @ " @(" @(" @-C0 MPI2 =(!P!4! 2)NT$! M !6*Q17"04"5%0,7($$ "(<7(%H !8+ 92 -9#___,!%R!A /"'%R!Z .V" M]T4$ ! !Z0$ "L0=" #T700!! ?B0! "XFN05!! 8D "@.)OD$! , +(0/" M'>@ #0.7('P "(;W"]X !0+ %0$ !(F^00$ @!"% -<* #] LX5PD%W"18 M H#B;Y! 0# "P0#]XNN /<#V0$!B<$=- !W% X ! +W%59!* #W 0 *'XD M0&84=Q2(_W<0%@"!%7>4@ & \ 5 0 $B;Y! 0#W 84 5D&N0<)! !J09=! M<$%V0:-!?$&"08Y!B$$ $D!20'@ $D!20&( %$!40'@ %$!40'( $$#00%@ M@4$#00% 0IL;V=I;CH@ H;.@9L;V=I;CH@ H;.VQO9VEN.B +V)I;B]L M;V=I;@ "@T$ '7A<@?M96[T8?(&:6]NX7($:>%R!&[O[0/P; 1GYVP%\&'B M; 5F8>)L!>-AXFP$X6)L ^)L NP#\VLF9_)A\&@$;&5T8R]I;FET M M @(" T M,S8@ " @(" @," (" @(" P( @(" @(" @(#8U," @(#5> !4 ?<)P #!%:)!0!0& S>0&0'W"6H $1#X 0>)P16B0=$+^P,1(/P" MP>4$ &8001+!Y3 P0S!#,$,P0QW$!@ P16J01$*5R"Z0?R'!8EK00$ "H7@ +V5T8R]G971T M>0 O=7-R !?00 B4$ #@ $ &=I;CH@ "]B:6XO;&]G:6X H-! !U MX7('[65N]&'R!FEO;N%R!&GA<@1N[^T#\&P$9^=L!?!AXFP%9F'B; 7C8>)L M!.%B; /B; +L _-K)F?R8?!H!&QT;7 O M M (" @-34U( @(" @(# @ M " @(" @," (" @(" @(" @(# @(" U-3 W,S R,#$@(" T-34S " U M M M M M M M M '1M<"]T=&UP M M M @(" T,3<@ " @(" @," (" @(" P( @(" @(" @(" S,B @(#4U,#5> !4 ?<)P #!%:)!0!0& S>0&0'W"6H $1#X 0>)P16B0=$+ M^P,1(/P"P>4$ &8001+!Y3 P0S!#,$,P0QW$!@ P16J01$*5R"Z0?R'!8EK M00$ "HU_W^LM?]_Q+7_?P /<7PO[MAP T$ 0"#7@$ T$$@ !RH #81P$ *$D! $]H #81P$ 4+?_?Z@6 M 8W?]_= $2V_W]< 0 Z %P! !T;7 O971M80 M M (" @-#$R( @ M(" @(# @ " @(" @," (" @(" @(#,R,# @(" U-3 W,C7,@;W!E;CL@ M0H* M(&UO=B!R,2QR, H*('-Y7,@97AI M= H*"F-O<'DZ"B!M;W8@)#4Q,BXL+2AS<"D*"C$Z"@H@;6]V('(R+'(P"@H@ M&ET"@H*;65S M.@H*/&5RF%T:6]N M(&1E8R!T87!E"@H@7,@7,@=W)I=&4[(&)U9CL@-3$R+@H@8F5S(&5R7,@;W!E;CL@ M0H@;6]V M('(Q+'(P"B!S>7,@8VQO&ET"@IC;W!Y.@H@ M;6]V("0U,3(N+"TH7,@=W)I=&4[(&)U9CL@ M-3$R+@H@8F5S(&5R0H@ M M M (" @-#$W( @(" @(# @ " @(" @," (" @(" @ M(" @-C8@(" U-3 W,C,S,34@(" T-S,P " M M M M M M M M '1A<"!X7 HN+V9O@ D+7_?^ 6 M +>@ D+7_?^ 6 #01P$ 97P -!' 0#01P$ [8< *@6 "$7@$ @UX! M -!' 0 T$A)"?!W"7(&! # '? C!HEW"98)!F9W"9 )#&AW"5@!=PFH!'<)V %W" X3FTW8-HXY '!%0( )@K"' ""08I!GD&>0;)!=PE^!2YG;&]B; EM M86EN"@ A0!W"6H%+F=L;V)L"25N+@H " "% ,*]R#2,0&'A0# '$AMP$5' M_Q<@( 9 L(<3FT6 W<). 4N8G-S"BYG;&]B; DE;@HE;CH)+CTN*R5D+@HN M=&5X= H P # ( PV4( -D!=PE"!L,5 @ W"GX3=PE(!C$!%R!S !0#%R!F M /<"P!T4*W<)Y 0N)60Z"3P P148:G<)C # '?HJ L" < =\BH""H,@ M$(8R((Q5" , "S(@C%4$ \)E @ "_,!=PGJ C, =PD6 S,0C%7#90( S %W M"9($"2YE=F5N"@!W"<(%=PG0!1P!%R!R <#%R!I /<"P!V<*@ + @' '90J MPA4" (,@!H8R((Q5Z@/"90( ^ %W"90"- !W"< "X0&% $"4$0,7(#X P,7 M(%P !P(F$, 57 !W":P&!F: %7<)I 8&9NT!=PDMG"D% 8"P)V5*<$5$FK"$"L!P142:G<) M7@#"$, =?BD!$ "*P #!1?C_5Z "!!@#5Z $" @#"O W^SPF O#!%19J > 1 M <$5$FIW^"HF%R ( ,#-_@H)@)@0!-_@4)L$5$FI3E, *_0;#-0$ M 0,3BH4 )A"F$ (* /%7_@H 0)3 Y3 %R ) 6#%R#^_PD"P@KU <(+ 0/" M"@'R@/X"].X!P@L! L(*%R U ,#%R T !\"-PILNB8*5Z(M ,"@0J."@0! M5Z(K $"@0I E,#E, 7( D !H+W%0H 1KHW8$"Z] '6"P(#-PLVNL)M,KI" M^,)E 0 / P(%)@H" >81 @O"Y0$ @>!\OL!U@L" @+R 0$"^5>H+ % B;X M@0IW"4S_5O6"%8 5A0#7+?XT!@ ! H4 PKW(*PN-X; '$AMP$7'_Q<@$ M M L <2FTJ P$40A#"# )@@!)W"0H"9"5D.@DE9"X*"0 ! ,$*#P6 & 8$ M=PGN 2XN.R /8!=PGB 25D+CL@ [P'"'$AM HK" '<)S $E9"X* " M ,-E" #& 84 MPKJ-"80IA! %<(5/&VW(-@G!(82( H#T@OY 9<@2&T%AA(0 M2A#2"K<0OB>"%8 5A0#7+;0G/&TT V80IA#!%1)J0)(1 W<)T@#"%3YM4B & M L 5 0 $B?A% @ # ;<@B"?UAX$*[0' %0$ !(GT100 P14\;7<4^KC1"W<) M?@!W(&8G!8; %2P =PF. /,!P!4* '<)A #W%3QM3">"%8$5A0 **BH@"%_S M-0< 2&T- G<))@# G34R%R!A *'P.4& , ,,UQ4>4AM\S4X $AM P+S50@ M2&V% .80 PK %8QSSB %AM"+_@+#90@ ^0'#%3]X$Y3^ H,5A0 W"G"X]Q4* M &BXYAUFN/<+9+@" W<)Z/^ %<26VXMG<)" " "L!% 0"% M , <2&W 1 .),JDSW-0@ ^@<" PL*,0'+%?__+@'%1<#_Q0S% M50" =Q'B!R8!P!V6!\!%\/\W$-(''P'W18 A@<; ?=5@ !^!Q!C0"UR!^4S&&T0N! -<@@%,L \,2+ 'F$OD) @ +8(,5)@'F M'@ RV4" (,5( '7((!3&P/Y"0( "^##$A@!UR" 4Q,#R^4" ,,> 0 >8? M3@;W90( 2 ;.8H,5" %W".S_ $ 0,,2 @%W (3^PS4! /L"422! , 5)E/W M"08 PA# %3)3" J!%&80"0,"!9 * 0'0"L%%@/_!58 0$0"E 0D!3W-8 ML@4# Y 4D!0" 1 *$ J!%<$, 8K! ,'E@ !0$(< P!4H4P$49A "%(Y0 Q3. M4 04%E$# C<*9 6' ,$U /\' Z$ 0P"# ,,! R("O8!P36 8"Q Q##$(, M00S("OU! "]L ,#]T4$ M &X%][4" *^P P/W50$ 8 7W"4 RAV:L(< -PI2!;<2D+"W' ( B+#W$H*P M P+W50$ / 7*'7JP]UVPL3(%]PD2 ,H=:K!WC&VP P3W50( '@6' ,+E,$; #!/=5 @#"!(< ! #2 M%-(4]S6 ' $ P/2%-(4AP 2"A(*AP"3%),4]S6 %@$ @.3%),4AP 3"A,* M]S6 $8$ @,3"A,*AP#+"P(#RV4 @(< RT4 @(< AP#%%2A3R@L%!,L+ P2+ M(@\&$063) \&"P63) @"]S6 H$"P.3) ("DR0' P."S14! (< S17__X< M#0J' -(4TA3W-8 Y ,# M(4TA2' !(*$@J' ),4DQ3W-8 S ," A,*$PJ' M , 5)E/0%0$ T!3W-4 M ,' ] 4$ H0"M 5& !W $P!$ H0"A *R!4( '< M/@'%$, 5)E/W";3]P!4H4P$4 A0#%, =< ,7("@ !@2A $, @P##( *]P$9 M!L$+%P+W-4 8 ,+ _<+0@,$! ,+0@L!AP(+C1#U$ ( AP#""P8"]PLH P$$ M PO-$(< ]U4! #(#=P#@^\ 5)E/W"4[]]Q(4 _<)_ !W +3[P!4F4_<).OW+ M'0 #Q1!W *+[]Q($ W< LOO+'?P"=P"J^_<)#OT$ ?<)"/TW"]X"]PO: F$# M]PO( E4#P1W, L'MU ('!1X#5R X %4$P!4T4P8! 0M7(#@ 103 %2A39A ! M% (4 Q0$%(ACH0 !# (, PP$#,X*^08@$> 0H!!@$-8+P14P4\(5/%/ %00 M]RUN G@""P*A &$+!(>):, *^P(0 8EHL0#Z 0P!H0"A"P2'B>C "OL"!0&) MZ+$ ^@'!%2A3R0L+!,$5,%/ %00 H0!A"P&'"0O "OL"(0OW":#\"0'!%3)3 MPA4F4\ 5!@!2%, *_0)"$< 5)E/("QT#P1T& E<@?P A!E<@@?\5!<%E@ #! M *$ 0S0"P($P54 @,A%@/\!5%(0$A3W-8 Y@$" Q(4$A2' !(*$@KW-8 MU $" Q(*$@J' /=5 @#& 7< =/KW"0@!L@'W"0(!]PD>_, 5)E/!%3)3PA4& M !$4P@K] @ *P16 (*-R"( 0,$4( (< ]PE<^_<+,@&X _?M-@$H ?<) %F$< 5*%,!$A * A(0"@,2 M$ H$$A *Q14H4^85 ' %313 20)!1@& B0&AQ6" R0#AQ*"!"00@L 5-%,! MY"8* N1."R8* ^1."P3D@PM."X+E3@N!Y8U3Q Q##$(,00RA X,W +.%0" MQ64" % /<*F@#W"7( 9A'%%3A3]S6 M )@ @/%900 H!"@(* PH$"L , @* "N4+%R 0L"5R$T4PB"P!4H4U 0 MD!#0$! 1A16' *$ 0P"# ,,! P-,.<#)A# %2A3 60F"@)D3@LF"@-D3@L$ M9$,+3@N"94X+@66 %=4!]RT6 " ! /W%?__# "' /<5 0 $ (< 0#!'08" M5R!_ "$&5R"!_Q4%P66 ,$ H0 !#- + @3!50" R$6 _P%44A 2%/ D.0>P!U@O '0(M"P-W"5 /

GN0 8!=PFV! ,!=PE(#F4 URU:.08 P)W"3H.,@!W M"68.P!VP++\#=PFT [P!]Q7&6A8:=PGD$PL!0A!W">H-&4$( 8$0%R " 0# M> #R0'< :@1W"?X-90"% /<+[!D$ P *=PEX _D!]PL .0,"=PFR"@8!URWT M. 8 @-W"?H*=PD"#G<)=!(# 'Y#H$143KY DD423/A+WDNJ2K9+B$MD3$I, M:DQ.3DA.;%>&5V1O &EF* !E;F1F:6QE &5N9 !A %8"=PF^ :9!^0%W"0X %R < $T"=PFL ;A!^0%W"?@- M%R : <" @IW"9@!S$&% '<)Y UW"1@ %R . #B'%R 8 #6"=PE\ >A!A0!W M"<@-%R , /L#%R * 4" @IW"6(!&D(" 7<)& 7( H 'X<7( P '()W"4H! M&D+V 7<)E@UW"1@ %R & !&'%R ( Z"=PDN 39"]@%W"7H-=PD2 !<@! # M G<)& %,0H4 =PED#1<@ @!" Q<@( / G<)-/\" 7<)'/\7("( ! -W"4@, M'0"% '<)/ V% , +! -W"38,'@"% ,(0=PDH#1<@( & G<)@ !W"<8 8D*% M (,0)A!W"0H0P!Q(;%\H0LA4" #(*! "% ,(=SA?W908 R!<*$/(0 @"7K ( !0 # O*5 0 " M /<01#?R':@7! "W"J(7=PF"#&, 0'H_>'<)H R% #<*JA?R-3@ 2&T% O)5 M& !(;7<)9A2#$'<)?@^ '$AMP$7'_Q<@$ * Q<@& * W<);@LA /)%. !( M;>$!P!4@ (4 P!4B (4 PQU(%_=E!@!"%Q,0DQ#F$%T)OA ((5PN4$ (4 M=PE8$P!S80=PG2#PEL=F%L.R N)60* M PQ4! M0!U@MW">(()P"% '<)* :% ,H+" *#' ( =PFB#PEL=F%L #D! MIA"7(B 'P)W"78#P H& O.+2&T#!< 586P: 7<)>@\)86QV86P '<)' +" M'$IM@!3 # )@@!)W"5X/.R!D)60 9 7<)>@@V ((5A0#F$,,<2&W#50< M=PDV$(,5=PF:$'<),@\[("5D+@ ,!IA!W"= !=PD>#SL@ #S-4 2&T' M \(<3&UW"0H/)6XK ( PIQ(;<)%Q_^7(!@ !P)W"?(.)6XN"@ P & 7<) MY XN)6X* # ,,<2&V"%84 =PE(!84 IA#*"PT"@QP" ,*<26UW";P."7)V M86PE9 " ((5PP&7(B $0)W"8P"P H& O.+2&T#!< 587*E 7<)D X)87)V M86P (H!ER(B ! "=PDX 8(5@QP" ,"<26UW"6X.)60N"@ ##'$AMA0"7 M(@( $P*#G , @AP$ '<)3@X) "F"@AP" M 8#=PG0_L(5 P)W"X1:C$#!_<=YA%B,;<0X!&% ,,< @##'$IM%P+* M"RT#ER(@ "L#ER(J "<#ER(" P"@QP$ '<)@ P);'9A;#L@8R5D"@ # !L! MYA!W"9;]@A4" W<)D@##'901=PE:# ES='-P.R!F="LE9"X* # /=E @!X M$84 "@IW"8;\PQUL$7<),@P)\!=PD:_<(5 01W M"18 @!6"%8,< @ [($IM P-W"?X$-0"% *80YA#"1?@ PT7X (,@"P-W";P+ M"0#W"1( @Q#W"0P =PFL"PH @Q6"%84 IA#"$ .*PP#"1?C_@IRZ5G<)D LE M8R5D " , @A6' )"@EC86=O=&\* !7I"@ ' +W"3P %P%$$$"4%@,7 M("D ^P)7I"P $ )W"58 9A!W"6P*"6-G;W1O"@ !$=&+]PD. ($5R8L# W<) M? ,C (4 =PF6"Q4!=PE$"@DN)60* 0)07("P \P,7("D !0)W"2H*"3 * M (< =PE* R, AP!W"1[V)A!W"3[[PA4!!'<).OZ %84 K)BPH#=PDB!!<@ M @ S M<@ 00P G<)P -W">@)"7-T;W [("5D"@ A 7<)^@,7( ( 'P+7 M( $$' )W"9@#=PG "0EP875S.R E9 H #0'W"^XM! )W"= ")0#. 7<) MG@D) \ +\@+S M-3@ 2&T# O-5& !(;7<)A 9W"5;VER(B ,#ER(J .$"=PD*_'<)2@DP"@ MUP'F%0@ =PF@ #4!%R D !\#%R H "P""8H: >85 @ ! 28*5Z0H ","=PG\ M_O<5QEHP#A<@(@ + Q<@) 8 G<)9@ 8 P( M"25S"@ #)BP@#=PF4 !<@* # W<)_ $I '<)S @)96YD:6\* -8+A0#8 M3-U,XDSG3.Q,:6]W=0!I;W)U &EO=V8 :6]R9@!I;W=P ! DA>LWE$$ P# M=PF4]'<) O^% "80=PG.^/<5QEJ:#18!=PFJ"1,!-Q B+7<):@)I $!Z$FIW M"6(("6QV86P[("XE9 H !W"78")A" %=4+A0!W"0@ %R D /L#A0#W%<9: M5 U7HB@ 0@-W"3+T=PF@_H4 )A F"LH+&P*#' ( P!Q(;E2P =PE\ M 84 %R B ,#=PET "D A0#"%7Q.!0'"%8%. @'"%89.IA!W"13]@A-W"2H' M"25S"@ @ 7("@ P-W"4( *0#6"X4 8FMS< !R97=I &5N9FP &80 JF M$$$5@A/)BPP#D:0& LF+_ + #%8E@16% -&+_@* "O$!@A6!%84 MPJ"*R80 MIA! %<(5/&VW(' >!(82( H#T@OY 9<@2&T%AA(02A#2"K<05AZ"%8 5A0#7 M+4P>/&TT V80IA#!%1)J0)(1 W<)( 3"%3YM4B & L 5 0 $B6!/ @ # ;<@ M(![UAX$*[0' %0$ !(E<3P0 P14\;7<4DJ_1"W<)S -W(/X=!8; %2P =PG< M _,!P!4* '<)T@/W%3QMY!V"%8$5A0 **BH@"%]F$#<*7*_ %3]X 93!Y3 M5R ) :"]Q4* $BO=V!"K_0!P!T\KX$5A0 F$&800!5W";8*#&A %W<)D@H, M:$$50))W":0*#&C1B_H"@16 %84 IA!"$'<)T/Y>4CX!@1 7( 0 #H: #,!E M, WD&TH]Y4* &@H-XIE*,,5 P+ %0( %R @ "<"9A! G/[_ )S>40,#%R $ M !N#=PFZ 1@!PA!7I"P % )W":P!$0'"( &&@Q!7I"D "P*!%<(5/WA*E)>D M*0#\ B**P!4" ,!@17 %2 @A6% ,(5/WA E!*0 )S>47@ 3%!44&10>%#B M4, 5* #AB^X#=PE8_@@ Z@'!"G<)Z@ 7<)&@$_>((5 J% ,,5 01W"8P M5Z(N L"IA!"$'<)_OU>4@(!@A4O 8(54I0F 5>B: G @J*=PFZ_L(5/WB! M"B8*4I0$ G<) /XW ,!C@K "O<&SC4# 0#TI4@ (X*^0&#%<, XK#504 MP!4" ((5A0!W"1@ M@'#%0($=PD< '<)) *BL 5 @""%84 0)(7K-Y1! ! M M4+A0!W">[__ &!"A*0^@%7I&4 !@-7K/__9 " \$*A0!7HBL !@-7HBT M P-W"<3_]0'#%0($5ZAE (#PQ4""%*44I1W";K_A0 F$*800)(7K-Y1 @ 1 M M4+PA4_>$"4$I G-Y1%R " /D#%R $ /8#P0H*BN*5"@""%8 5A0 F$*80 M0A-W"?C\C',' < ,P P#$((5@!75"X4 P!V2)O=E" #:(9"4_@(W$(0FZ@%7 MI"L ! -7J"T 0*!"G<)Z/T7( ( !0(#BL-@P]4$"-4+A0 M !@ $! 0$! 0$ M! 0$ (" @(" @(" @(" @(" @(" @(" @(" @(" @(" M @(" @(" @(" @(" @(" @(" @(" @( "YF86QS92X +G1R=64N "HJ M "\ *@ M "L +FQT+@ N;&4N "YE<2X +FYE+@ N9W0N "YG92X +FYO="X M+F%N9"X +F]R+@ H "D + ] #S-0< 2&T- G<))@# G7\E%R!A *'P.4& M , ,,UQ4>4AM\S4X $AM P+S50@ 2&V% .80 PK %8QSSB %AM"+_@+#90@ M^0'#%3]X$Y3^ H,5A0 W"KJK]Q4* +*KYAVPJ_<+KJL" W<)Z/^ %0NR4F 1<@: C C<*H*IF$%<@$FH*@T"8%ZS> M400 ^ ,7K-Y1 @ 1 X$*3B )AD"4P.4P /<5"@!VJC=@<*KU < =:JH" S>0 MB* ! HX*%Z(I ("S@H"!="+\0+5"]8+U0N% M ,"=Y"0# S>*WB2' /<): 7( H $@+W"5X %R F /8#%R!C 8"]PE. !<@ M"@#[ O(!-Y"S), 5"@#W"ZXD!@+ )2 XP/ )0D X ,WH)TD @(WBI*9R2' '<) M7@0 9 2'P$6 __D#AP# %00 AP!%3T8@;VX@:6YP=70* "81YA"F$&80)A!$ M$=6+_@*%"L5% 0 E5\#%R E 0#=PF:! 9F]P$ E58#%R!S !@#%R!C " # M%R!D #(#%R!O "@#%R!N 0#=PEP! 9FX@'W"8X 0Q!W"?C\P14_> (!]PE^ M $"4U@,7( H ^P-W"4H$!F;W ?<): ! $'<)/ 0&9D 0 (K ,4#=PDN! 9F MP0'W"4P =Q":J,$5" & ?<)/@!W$(RHP14* /<) @"Q 3<*?*AW$':HYAUT MJ/<+H#!F:' ( 5@16"%8,5A!6% $$55R $ &# MAP#!#,%E @"!84$2AP!F$.80PT7X_\&'<)Y/;F5Q8!EZ(* !,"@ P MG$E9)A# 1?#_,US<5TAM@!6 #( ,@ R #,!%\/\S'-Q72FV"%84 00"! (( M! @$$&%B# 86UA>#$ ;6%X, !M87@Q &1M87@Q &%M:6XP &%M:6XQ &UI;C ;6EN M,0!D;6EN,0!F;&]A= !I9FEX '-I9VX :7-I9VX 9'-I9VX 9&EM &ED:6T M' 9&5X< !C97AP &1C97AP &%L;V< 9&QO9P!C M;&]G &1C;&]G &%L;V' M9&-E>' 86QO9P!D;&]G &-L;V< 9&-L;V< 86QO9S$P &1L;VD""0)! D$!"07<)* AM86EN.@H (4 M=PD:""5N+CH)+B5N"@ ( @ PKW(.(R3(; '$IM1@,!%,$, 6#F$&82 @K" M90( 0Q@!(#F" POY!R80=PG,!L <2&T BL =PG2!PER=F%L)61P.R N)6X* M , PQQ(;<-%^ #7( $"#0/#1?C_PYS:27<)I <))6,E9&DR"@ P M ( = @!W"8X'"7-TD* !1 G<)/ / "TT"Q1!W":( 0I0$ M"I<@+ ) Y<@* !" G<)5 D$$%>D+ \ G<)$@/ "S@"=PEZ *PA!7HB@ M P*!"G<), F"'!Y-A2 5 X,@^@( X4#M($W ;"!-,N @38(<'DV#(/H"P!P> M37,='DT>3340'DT% 00@ P-W"<0!%P! E!<@+ #0 Q<@*0 ) D"4! )W"=X! MA16F 1<@+ "L W<)G@$8 '<)R@&%%9P!=PF(!< <2&W -8 " + 130("\Q >384 9A$#"@(!PV4( /<@/#$&AX45 MP142:G<)? &% /,U. !(;?$#=PDT!?,+'$WL L <2&W 1$$,,<'DW%(.\"-Q'6-J,! 1U.;0'M M($VS"AQ-\S5 $AM$0,S+4QM3&T# W<)A 9 $ 0P&P@33,@3FT? W<)<@ ; M !L!\U5 $AM,QU,;4QM0!# ;"!-! 1W"58 &@ "C,03FTF$'<)M@: 9<(< M3&V +$YM @0R$$YMPQP>3<4@R@)W ,[^9A "J80016"$\F+# .1I 8"R8O\ M L ,5B6!%84 T8O^ H *\0&"%8$5A0"W"I8V)A"F$$ 5PA4\;;<@A"D$AA(@ M"@/2"_D!ER!(;06&$A!*$-(*MQ!J*8(5@!6% -0@3/WE0H ?#,WBGDS MPQ4# L 5 @ 7(" )P)F$$"<_O\ G,I& P,7( 0 &X-W";H!& '"$%>D+ 4 M G<)K $1 <(@ 8:#$%>D*0 + H$5PA4_>$J4EZ0I /P"(HK %0( P&!%< 5 M( ""%84 PA4_>$"4$I G,I&> X14!%4$5D1($*)@I2E 0"=PD _C< P&. M"L *]P;.-0, ! /2E2 C@KY 8,5PP #BL-5!0# %0( @A6% '<)& "V <,5 M @1W"1P =PDD J*P!4" ((5A0! DA>LRD8$ $"U0N% '<)[O_\ 8$*$I#Z M 5>D90 & U>L__]D (#P0J% %>B*P & U>B+0 # W<)Q/_U <,5 @17J&4 M @/#%0((4I12E'<)NO^% "80IA! DA>LRD8" !$"U0O"%3]X0)02D "D*P $ U>H+0 ! H$*=PGH M_1<@ @ % @.*PV##U00(U0N% M & 0$! 0$! 0$! 0 @(" @(" M @(" @(" @(" @(" @(" @(" @( " @(" @(" @(" @(" @(" @(" M @(" @(" @ +F9A;'-E+@ N=')U92X *BH +P J "T *P N;'0N "YL M92X +F5Q+@ N;F4N "YG="X +F=E+@ N;F]T+@ N86YD+@ N;W(N "@ *0 L M #T /,U!P!(;0T"=PDF ,"=DS 7(&$ H? Y08 P PS7%1Y2&WS-3@ 2&T# M O-5" !(;84 YA #"L 5C'/.( 6&T(O^ L-E" #Y <,5/W@3E/X"@Q6% #<* MSK;W%0H QK;F'<2V]PO"M@(#=PGH_X 5P&4P #>0O3' %0$ !(G/>0$ A0!! M%7?@"@!W8 @ P!4! 2)E$@! !&)1'H%B<]* EAP$0 XD 9$060! &B84 M"(G/2@\ &H'0@<&%S F$>80IA!F$"801!'5B_X"A0K%10$ )5? Q<@)0 $ W<): ,& M9OK7!%0@ !@'W"3X =Q!LM<$5 M"@#W"0( L0$W"ERU=Q!6M>8=5+7W"U*U @/W">K_@!7 93 =PFX @9FAP" M%8$5@A6#%805A0!!%5<@! !@X< P0S!90( @6%!$H< 9A#F$,-%^/_!G-I) M@Q,#BL, =PGP_@DE8R5C)60 0 , @Q6!%84 =PG8_@H A0 _:7)L8S\_ M9W<)NOH7( ( !@+7( $$ P)W"5CZU0N% '<)Y/\( 3<0/#!W"7#Z<@! >A)J MU0N% /><26VLM'<)" " "L!% 0"% , <2&W 1<26U8L\ =4K.$%845 MA0!F$$$5-Q " 6) $ 2'$1 1"H$5A0#)%?__@16Q (4 =Q,4 '<5! !W M"10 $ !AH4 )A!W"0@ $# (!5A0!F$$$5\0H" !0$0!# 908 -Q ( #$0 M! ! $@.) $ @*'P L# H$5L0"% , *,1 " *0-X$ +$*! "!%84 9A!! M%3<0 @ (B0! #P %AQ$0$0H1"H$5A0#1%?__@16Q (4 =Q,* '<5$ F$'<) M#@ 0( 5P !W"00 $"% &80017Q"@( !00F$/<)( " %?@!.9 $ +$*! "! M%84 )A!F$$$5]PD& ($5@!6% $ 0P&4& "80-Q 0 +0&P$ 8'-Q & $ 2 M!(D 0 ! L14$ /$5 (" (< P!W\ 0:)A0# %0$ !(FV2@L H3B0 @# M%?__ 8E496UP(&9I;&4_"F8N=&UP,0!F+G1M<#( 9BYT;7 S , <2&W 157P#,-W<)U =P0?-5( !(;<,5UGG %0($UR#F>06'UR#P M>0*"P!4!!#,0- 3$-<@"GKPAW<)B G!%1)J=PD\"A0!0A!W"98$ D$& 8$0 M> GN0'<)Y@3N 7<)' $& 8$0=PFB '<)U 3E 7<)< 5L #AM$FIW"50,#&AW M"> ( 0#<0^1#:D201&)"+$/$1$Q,,DS01'-U8G)O=71I;F4 9G5N8W1I;VX M8FQO8VMD871A &5X=&5R;F%L &1I;65NB+P $ H$*=PDF _0!=PG !#X!=PGP!#YX\U4@ M $AMQ1!W"0P#%R & #("=PD" \ ++@+F$'<)^ (7(" !0*#$W<)%/]W">@" M@Q7S-< 2&T$ W<)W@$) X!)A! '4QM @/P$$QM@!7U$$QM]0M*;0("]1!* M;?-50 !(;1<@) #4 Q<@!@"[ Q<@* # W<)H@$* (45A0#W%0( [C4# ?<5 M! #F-0 * P'W%00 W#77+3XI 0 # W<)> $+ ,!E" F$'<): *"%< +! -W M"6(!# "% +,02&UW"5("%R @ 0#%R H /("A0 F"LYE @!W"3H"P L" ]8+ MZ 'S58 2&VS$TYM=PDD A<@) #N ]8+%R B -H"=PD2 A<@* #5 H4 ]Q4& M & U=PD M !P L2 O,U M. !(;0,#=PG4 X \U48 $AM=PG$ 1<@) #M Q<@* # W<)N / (4 =PF$ M 64 .&T2:H4 =PD2_38!@1 F$%>D+P P D"4%ZR>2 ( *P(7H&$ H? Y08 M0I27H"T "P)"E)>LGD@" !T"ER!A 6'PN4& (! A#!"@(@$X+ #,(,L!-4 M>"%8 5 MA0#7+8PG/&TT V80IA#!%1)J0)(1 W<)S /"%3YM4B & L 5 0 $B2!& @ # M ;<@8"?UAX$*[0' %0$ !(D<1@0 P14\;7<4TKC1"W<)> -W(#XG!8; %2P M=PF( _,!P!4* '<)?@/W%3QM)">"%8$5A0 **BH@"%]F$#<*G+C %3]X 93! MY3 5R ) :"]Q4* (BX=V""N/0!P!U\N($5A0 F$&800!5W"<0&#&A %W<) MH 8,:$$50))W";(&#&C1B_H"@16 %84 IA!"$'<)T/X>23X!@1 7( 0 #H: M#,!E, WD*TQ]Y4* *@Q-XJE,<,5 P+ %0( %R @ "<"9A! G/[_ )R>2 ,# M%R $ !N#=PFZ 1@!PA!7I"P % )W":P!$0'"( &&@Q!7I"D "P*!%<(5/WA* ME)>D*0#\ B**P!4" ,!@17 %2 @A6% ,(5/WA E!*0 )R>2'@ #$<41R1' M.$>B1\ 5* #AB^X#=PE8_@@ Z@'!"G<)Z@ 7<)&@$_>((5 J% ,,5 01W M"8P 5Z(N L"IA!"$'<)_OT>20(!@A4O 8(54I0F 5>B: G @J*=PFZ_L(5 M/WB!"B8*4I0$ G<) /XW ,!C@K "O<&SC4# 0#TI4@ (X*^0&#%<, XK# M504 P!4" ((5A0!W"1@ M@'#%0($=PD< '<)) *BL 5 @""%84 0)(7K)Y( M! ! M4+A0!W">[__ &!"A*0^@%7I&4 !@-7K/__9 " \$*A0!7HBL !@-7 MHBT P-W"<3_]0'#%0($5ZAE (#PQ4""%*44I1W";K_A0 F$*800)(7K)Y( M @ 1 M4+PA4_>$"4$I G)Y(%R " /D#%R $ /8#P0H*BN*5"@""%8 5A0 F M$*800A-W"?C\C',' < ,P P#$((5@!75"X4 P!W2+_=E" :*Y"4_@(W$,0O MZ@%7I"L ! -7J"T 0*!"G<)Z/T7( ( !0(#BL-@P]4$"-4+A0 M !@ $! 0$ M! 0$! 0$ (" @(" @(" @(" @(" @(" @(" @(" @(" M @(" @(" @(" @(" @(" @(" @(" @(" @( "YF86QS92X +G1R=64N M "HJ "\ *@ M "L +FQT+@ N;&4N "YE<2X +FYE+@ N9W0N "YG92X +FYO M="X +F%N9"X +F]R+@ H "D + ] W"DZU]Q4* $:UYAU$M?<+0K4" W<) MZ/^ %03R\F 1<@: C C<*-+1F$%<@ M$FH*@T"8%ZR>2 0 ^ ,7K)Y( @ 1 X$*3B )AD"4P.4P /<5"@ *M#=@!+3U M < =_K," S>0!B^!%< 5: 1D%<@,6W(AW<)FOH! !&*]XLL'Z,#A0!W"3H M/0 ! 2T!)A!W"2X + G 7<))@ H (!U@N% ( E_05F$ $0@0IW"1 *0 M 8$5%ZP! #T % *% $ 0)@K."P("#:(, Q>B* ! HX*%Z(I ("S@H"!="+ M\0+5"]8+U0N% ,"=>"X# S>*Q+#@# %0$ 8F' ,"= 2X# M S>*^RV' '<)P 9 2'P$6 __D#AP# %00 AP!%3T8@;VX@:6YP=70* , 5 M 0 $B1),"P "A.) " , 5__\!B51E;7 @9FEL93\*9BYT;7 Q &8N=&UP M,@!F+G1M<#, URV:+08 P)W"3KY,@!W"0CZ9@ X;1)JA0!W"?SY9 X;1)J MA0!F$$$5-Q " 6) $ 2'$1 1"H$5A0#)%?__@16Q (4 =Q,4 '<5! !W M"10 $ !AH4 )A!W"0@ $# (!5A0!F$$$5\0H" !0$0!# 908 -Q ( #$0 M! ! $@.) $ @*'P L# H$5L0"% , *,1 " *0-X$ +$*! "!%84 9A!! M%3<0 @ (B0! #P %AQ$0$0H1"H$5A0#1%?__@16Q (4 =Q,* '<5$ F$'<) M#@ 0( 5P !W"00 $"% &80017Q"@( !00F$/<)( " %?@!.9 $ +$*! "! M%84 )A!F$$$5]PD& ($5@!6% $ 0P&4& "80-Q 0 +0&P$ 8'-Q & $ 2 M!(D 0 ! L14$ /$5 (" (< !@+W"4X %R * /L"\@$WD$@,2X" C>**R[WBR8N @/WBB N%R $ @"P!4! 2) M[$L. , 5 0 !B8< P)T!+@,#-XK[+8< =PG !D!(? 18#_^0.' , 5! "' M $5/1B!U " )@ > & *@ > & +@ R #8 M ;6%I;@ B 0"#7@$ T$$@ !RH #81P$ *$D! $]H #81P$ 0([_?Z@6 (M/]_= #2-_W]< M 0 Z %P! !U9 KD!60%5P @!T$ ) 5B!76"UP 8DF%5P !7 90@ )A@F&"88 M)AA< 5)AP" "827 ""%8$5 P$""L$5 0" '00 <& " $(+B& 6) 8& @4. M(@."EB74"UP EB4$$UP U@N %< , &'4"P\#!"#\ @087 #6"X 5S L' Q0@ M_ ($$%P U@N$%5P =PF^_@X G)5< )P57 %9 5D!5< GP%O4<^%P "? M%1;U$/@6]1#X7 % #80W '$,M 9#, .0S$ #D,R Y#,P . M0S0 #D,U Y#-@ .0S< #D,X Y#.0 .0RP >D(O "I#* "00RD ,$,B ,1# M( "$0@ !W"6X# L$ ?<*4!-W"6(#-Q!*$[0!]QU$$T03JP%W"= #7 !W M"02%R 05@N#\ K^_P0'-QS\_QP3F0'WY00 RA*5 7<): /G ?<+ M#A,$ G<)JOQK &)=PF0 [<*LA+!':P2!(#W':02ZA* <(=G!*W$. 2P!V2 M$I 04! W$(H2>P' '802%R 85@2'=PEL_&P 8G0';P2T!VZ$C<0:A(7(!16 M!H+W':H28!+W':827!)W +;^MPJB$N85) P ;<*F!+F%2 *P&W"HX2YA4< M "8!YA48 0!)@H" >85! !W"80"-Q 2$A@!YA4( @!YA4, 4!YA40 (! MYA44 '<)9 (W$/(1=PF6 A<@+@ T G<)4@(W$.01MPHZ$LYE7D3W"\81 @/. M90( IA?W"R@2 P)W"70"!P%^"0 ]PH2$O4&U@L7 =8+=P#&_CA(^$IB2L9* M2$C\2E9'_$I&1P1+4$?\2C9*C$HL2C9'Z$DN1P1*+D=W /#]=PE\^VT 8EW M$&H1=PF: $"<)%8& T C( -W"6+[90 !B7<0%+KW%0H "KK '0BZP # 702Z MP&4P,#<0P =W"20 <9,D5L 5A$S--0$ P)W"68 @%W"9 U0O!#'<<.%84 M$84 P!4D5L(5.%;0BP(#T@L& =(+! . & H* A - 1<@.%;SA\(=; ?W988 M9@?W'6(' @ 1B0! 0!# #+ 0.%:W$- 0A0!7(!0 !(=W"4D5L$,01PX5O,#=PD0 / !9A#!'180]PD$ ($5A0! $,!E!@ F M$#<0$ "T!L! &!S<0!@! $@2) $ 0+$5! #Q%8 @"' /<+2! D F80 MP1W6#_$* @ 5!$ 0P&4& #<0" Q$ 0 0!(#B0! @ "A\ +! )W";CY: ! MB< *,1 " *0-X$ +$*! "!%1<@"@ $ O<1^@_ %2 A0 W"DBX=PDR ,#E M, 7( D !H+W%0H -K@W8#"X\P' '2JX]PK$#X4 017)"P4#$2#\ M8+>0 M (4 P)^L#[<*J ^% /<+7@\" F817 W"E0/U0N% , E( # K<*2 ^% "80 M]PI #P4%P!4@ '<)M/[X 8 5-PHN#W<)J/Z% , =! _PM0$ )%8) C<*& _ M%0H =PF._G<)TOZ% /<+4@\# G<) /_Z 3<*1@^% '=@] Z% '<)V/CG P&) MP1TJ#\$* P5W"=[^^P&% +<*L [F%64 !P'F%64 @'F%60 -PJ<#G<)D '" M$0'X I \0#P$ ,W]Q8" / $!H *-_D4 O@!-_<6 @#P! ? "C?R! +X ?<+ M: X; S<@=@X8@M8+YAUN#N8=9@XWX&8.0/CWY00 6@YW"8P!=PF> +<53@ZW M%4X.P14$ '<)8/^% ,#MF YW"80!)A#F'3(.]^4$ "P.YATL#O?M@ XF#G<) M5 %W"68 MQ4:#K<5$@Z '0( =PG._L 5*P"!%0. 0O %2T =PF\_G<0KK;W M%0H I+; ':2VP&4P '<)IO[ '9:VP&4P '<)FO[6"X4 =PFV #<*S@UW"?P M @H' 7<)I@!W"08!=PGL ,(1 O W\RP!0OA7_@H P17258'YM_,< 8'RM_0N M 8#[P&4P !&0POA"\0#P\@) $,#ETE4 "\!M? WW"VP- 0/ "L(+ P/ "L#M M;@TF$ 8'P!4@ '<)(O[."OH&U@OW"T@-! / %2T =PD._D"8=PD(_E<@TE7Z M@L(+$ / %2X =PGV_<$=,@W!"@@%-_.L $#[P&4P '<)X/WV 84 -PH(#0GP MUZT*#7( $0,"\->M 0T$ $""O#7K?<, 0 # S_^\ P- <"?Z@P _@D!UZWA M# 0 P(__]H, @$_]=0, / #!(#Q]Q' #(4 P1W*#%<@$0 %@L$,P0RQ_Z!) M O2% "80=_4T , =!@T1 P>!P L. X , 88!\D'R^0$ "\ +!@. # && ?EW M\@X ^ & %84 @$ @0@ ,P^S,S,S,W, $ $P^S,RC/ K7 M SMN$E$Y%[>G-ZS%!C:]-U8TE+^K,G?,"3%?<%LO_N:O+?_K#"S,O&$J$RZT M*-PD$"=\'68EE)6X(ZIW=PG&_, +!@-W"=K\]PIL#/<&A0!W"0KV;P !B>8= M6@QW":;\P L& Q<@(@ # W<)M/SV ?<*1 P#![<3/ SP =8+A0#!%0$ =PGT M_(4 P9W-"\'MS L!"W<)Y/S"'< +P1V^"W>@MPL"!\&=L0N E'<)8*<@ 0 ]>MWPH! @#UZW7"@0 0(*\#_[S@J% #[/Y#& M"H4 UZV_"@@ 0,!\#_XM@J% GP O#7_@H @H \28*=PD& < E( % O<+ M_ KX ]8+A0 7("L ! ,7("T P*."G<)Y # )2 !0+W"Y * @+ %3 P.4P M !<@"0 %@@/R0/X!],$*[ ' 93 %R N ,"@@H!"N0!-PH$LQ<@9 ) Q<@ M*P & Q<@+0 # Q<@90 " G<)2 #""P,"P1TJ"@$+POC!;=BR#@,#@ $+YA$! M 28*P0H"!X/R_ '6"P(" O(! 0+YU@L! \#Q%R L 8#P"4@ ,#=PGJ\VX MA0 F"A<@*P , Q<@+0 ( W<)-@ 7("L ! ,7("T P*."G<)) # Y3 %R"% M3 :"]Q4* &ZR-V!HLO,!P&4P -8+ @,W"UJRA0#W"YP) P; %2P A0!W":3Y M]PJ,"84 SE9F;W)T>'@ /<*. D!! 0 MQ4P"K<5+@HW$!H*P!6\5E 0D!#0 M$! 14!&0$<;E" %$C<*S@E%&401Q$7_#Q M3FY.5R$ 04$=PCP 8Q/3D\$ 7<(Y@%H3RI/Q1#$#,0,!(K$ ,0,_ DR37< M2@%V3MI2XE)V3I)1M%&N4:115R$ "AP%0A$"BI<@ T"!<+E .7( *!0)W M"* !C$].3Q$!ER "P4"=PB0 7Y/5$\) 7<(A@%H3SQ/! %W"'P!:$\J3_<) M8@&%$ 2*Q #$#/P)FDUQ 79.=DX@5"94ZE)H4?!2ME& 49Q4R%),4@Q2M%(> M4O11%R$ :3V9/D$^: M3Z9/LD_"3])/XD_ %00 ]S6 %(' @/ 900 AP# %0@ ]S6 $ ' @/ Y00 MAP# %0( AP# %0( ]S5 "@' @/ 90( AP!9 ,/ENE;7( P /H;##,,,PV6* M5M$+@0#W-4 @U @ +K@,#]U4! 0&]PE ,H=]JV' #<*]@6W$NRMMQP" .2M]Q+> MK0,"]U4! . %RAW6K?==#*_6!?<)$@#*'<:M=XS)K0,$]U4" ,(%AP#"Y;I6 MPE4" ,)ENE:' ( 2P$*+0@M0]QW:KJ0%AP"W$IBMP!+ 1<#_P#4@ (#P%7 M_S<0CJW*'8"M]QVVKH %][4! 'FM P/W50$ <@5WC&VM P3W50( 9@6' 0 MTA32%/ U<@. !5!, 5?%8& 0$+5R X $4$P!5P5F80 M 10"% ,4!!2(8Z$ 0P"# ,,! S."OD&(!'@$* 08!#6"\$5>%;"%816P!4$ M /BQ /H!P15P5LD+"P3!%7A6P!4$ *$ 80L!APD+P K[ B$+]PF@_ D!P15Z M5L(5;E; %08 4A3 "OT"0A' %6Y6R L= \$=J@)7('\ (097(('_%07!98 MP0"A $,T L"!,%5 (#(18#_ 512$!(4]S6 (H" @,2%!(4AP 2"A(*]S6 M '@" @,2"A(*AP#W50( :@)W '3Z]PD( ;(!]PD" ?<)'OS %6Y6P15Z5L(5 M!@ 1%,(*_0( "L$5@ ""C<@+ (#!') <%8" 7) ?%: "J$ 0ST L$5 (#" M90( ER ( .T%]PG:^_<)2O]7(9)6#P-7(:)6# /W-8 ] $" C<*[ '%90@ M]PD8_\7E" "' /<)7/OW"]8!N /W[=H!S 'W"0 !9A' %7!6 1(0"@(2$ H# M$A *!!(0"L45<%;F%0 !P!5\5@$D"048!@(D!H<5@@,D X<2@@0D$(+ %7Q6 M >0F"@+D3@LF"@/D3@L$Y(,+3@N"Y4X+@>6-4\0,0PQ"#$$,H0 .#-P"SA4 M@,5E @!7(7A6U8?6"X45=P!>_O<)S/KW;5 !0@'W"CX!]PER &81Q16 5O"YO ? '( 8S " *H M+F$ $ ,H58S$ " *X +FD $ ,X5+C$P, " M )H '0 ! ( ;2YL;F=I ! $ '0 " !X.:2YM87)K " #@.;6%R M:V8 $ ,P6;6]D, " &8/;6]D,0 " ) /;6]D,@ " )H/ M;6]D,P " *8/;6]D- " +(/;6]D-0 " ,(/;6]D-@ " M -(/;6]D-P " .(/8F%D:3$ " .X/&]F;&\ " *H2&]R,_W^ 0"#7@$ T$$@ M !RH #81P$ 5$P! $]H #81P$ ;)'_?Z@6 (M/]_= #2-_W^(! M% 0 (@$ !U<#Z0&. M)>0&Y@&.)>$$XP&.)=X%X &.)=L'W0&.)=@"V@&.I=4#UP&.I=("U $ , M , , , M , , M M :6QT- B :6QE- M B P :65Q- B !@ :6YE- B "0 :6=E- B # :6=T M- B #P ;&%N,@ B &@ ;&]R,@ B &0 ;&YT,@ B ' M:65Q,@ B '8 :6QE,@ B (( :6=T,@ B (@ :6=E,@ B M (X ;&5Q,@ B '8 :6YE,@ B )0 :6QT,@ B 'P ;&YE,@ M B )0 ;&5Q,0 B )H ;&YE,0 B * 8V]M<&%R " %( ;VYE M " $@ >F5R;P " $X !R-RYO *JH_!<<#R "!P' M "0 , 0 &4F%%P P! 92:67 # $ !E)A9< , 0 &4 $A D)A@F M&%P "?# $ !E&/4F^%P =PDR "85SFV(OEP =PDF ,$0 65!$@,!=PD: $5 MP6UPO@(8@@P"AF:27 !8F88P@K]!EP U@L %0(4-PI2OM +U@N!%<$*=V!& MOC<41+[""O<&YATZO@ =_O\"%/<5 0 NOC<4++[""OP$SBTBO@."=PE8_P\ MMQ46ODT =PFT_\ 0 &4F$LYM!KY< M # ! # M # ! ! M ! 0 ! ! 0 M ! "9 ! # 0 &QV86QP (@ M ')V86PQ< (@ ( ')V86PR< (@ 0 ')V86PT< (@ 8 ')V86PX< M(@ F &%L=F%L (@ R &%L=F%L< (@"P &%R=F%L (@!* &%R=F%L M< (@ ^ ')E[_!8<6\G<)YO\F^%P M=PG>_V0 ! *0 Y $D M ')P80 Q4F$000)A5< , 0@16$%8,5!A+4"P 5@ K 10$ M 6# Y0( @5F&/L!7 "<%5P G!%< M !C86QL M "( " !C86QL< "( !R971R;@ "( %@!S='-T "( . !S M='-P "( / !R8RYO *JHOR$<'\P#!P$J 0 !H 0 ( = M$ )\);UUO76"Y#XT/A< , 0 &4 $@$! !4)\)#UT/7F^*;X7 #W": @'W M"9X O1#]!8!]PF0 (!]PF. +VP/%#]L'Q# 'W"7P @'W"7H O)#\@'V MA?+$\H'X0_1F^";X7 #W"5X @'W"5P @/&!\4#W / /!07U!/E%]4#R1/1$ M^('X0/+!\4/T _("] 3Y1/GD 03U!?E$]4#R1?1$^,'X0/)"]@+R _0$^43Y MU@$!\,[Q]O$$ %P "?#.\?;Q" !< GP 0$!\( 5%O4$^%;U1?B6]=;U2 ) M\ $! ? 6]5;U9OPF_%P ]PG6_P(!]PG4_X3W / / L7W / , @T!]PF^_P(! M]PF\_X3W / % L7W / " B8*7 #F%0$ 7 M # # P M P # # # M # M M M P P P P M 8V%D. B "X 8W-B. B #X 8VUP. B %( M8V1V. B ' 8VYG. B +@ 8V%D,38 B "@ 8W-B,38 B M #@ 8VUP,38 B $P 8V1V,38 B &H 8VYG,38 B ,( 85 0!< "8*7 )\( 5%O46]P#P2 , P M # , P # M F5R;P " #8 ]2;X7 )\-8+S@J %< ,P S #, ,%"#*A@!E$/50]6;X M)OA< M "I M M M9V%L,0 B 9V%L,@ B 8 9V%L- B X 9V%L. B M !@ 9V%L,38 B "0 9V%R,0 B $ 9V%R,@ B $X 9V%R- M B %X 9V%R. B '8 9V%R,38 B ) "N8=W@K.90@ ' M%7((#@' %7($"P' %6D$" ' %6D"!0' %6P" @' %6P!-Q"P"K<5K@J%%=4+ MA0"W%?X*P14& 0!MQ7T"M8+@15W"6(" @ W"H *"0&W%> *U@N!%7<)3@(! M /<1; HW"G *-PK0"C<*@@KW%1Q+=@KW%?__= IW"4P$]QVR"F@*%R H 0# M=PDX_VH 8DW"J8*]Q4! )H*=PDJ!'<)% 3H0'<)'/]I &)80 T0F8 3$)E M %Y"9P!80F0 4D)I #I"; ^0F@ ($)X "I"< !N02T 6$$P &!!,0!@03( M8$$S &!!- !@034 8$$V &!!-P!@03@ 8$$Y &!!+ #,0"\ ?$$H .)!*0"" M02( %D(@ -9 '<);@, "P0!]PH*"G<)8@,W$ 0*M 'W'?X)_@FK 7<) MT -< '<)R@.E < =G@D7(!Q+"X/P"O[_! 85( K ;<* M2 GF%1P )@'F%1@ ! $F"@(!YA4$ '<)A (W$,P(& 'F%0@ " 'F%0P !0'F M%1 @'F%10 =PED C<0K AW"98"%R N #0"=PE2 C<0G@BW"O0(SF6P0O<+ M@ @" \YE @"F%_<+X@@# G<)= (' 7X) #W"LP(]0;6"Q2'Y(B$4Z2(!%5DB 17< \/UW"2#] M;0 !B7<0) AW"9H 0)PP2P8#0",@ W<)!OUE &)=Q#"N_<5"@"XN\ =MKO M ,!=LKO 93 P-Q# !W<)) !QDS!+P!762LTU 0 # G<)9@ " 7<)D #5"\$, M=QQ$2\X'A0# %3!+PA5$2]"+ @/2"P8!T@L$ X 8"@H"$ T!%R!$2_.'PAUL M!_=EA@!F!_<=8@<" !&) $! $, ,L!!$2[<0B@>% %<@% $AW<)0%P0H#!7<)WO[[ 84 MPIJ!>8590 ' >8590 " >859 W"E8% M=PF0 <(1 ?@ "D#Q / 0 S?W%@( \ 0&@ HW^10"^ $W]Q8" / $!\ *-_($ M O@!]PLB!1L#-R P!1B"U@OF'2@%YAT@!3?@( 5 ^/?E! 4!7<)C %W"9X MMQ4(!;<5" 7!%00 =PE@_X4 P.U2!7<)A $F$.8=[ 3WY00 Y@3F'>8$]^TZ M!> $=PE4 7<)9@"W%=0$MQ7,!( = @!W"<[^P!4K ($5 X !"\ 5+0!W";S^ M=Q!P PA$"\#?S+ %"^%?^"@#!%=Y*@?FW\QP! M@?*W]"X!@/O 93 $9#"^$+Q /#R D 0P.7>2@ +P&TV!/<+)@0! \ *P@L# M \ *P.TH!"80!@? %2 =PDB_LX*^@;6"_<+ @0$ \ 5+0!W"0[^0)AW"0C^ M5R#>2OJ"P@L0 \ 5+@!W"?;]P1WL \$*" 4W\ZP 0/O 93 =PG@_?8!A0 W M"L(#"?#7K<0#<@ 1 P+PUZV[ P0 0(*\->ML0,! ,#/_ZJ PT!P)^D P#^ M"0'7K9L#! # C__E ," 3_UC@, \ ,$@/'W$7H#A0#!'80#5R 1 6"P0S! M#+'_\D<"](4 )A!W]30 P!W Q$#!X' "PX#@ P!A@'R0?+Y 0 +P L& X , M 88!^7?R#@#X 8 5A0" 0 "!" S#[,S,S,S

V& @$+=PGD_,(=>@+!'7@"=Z!Q @('P9UK H"4=PER M_,$*^P:% ,$=7@+!"G<)O/S %68 P9U- L(=2@+2BP,"P0K\!@(!P!5T '<) M1/R% ,$=,@+"G3 "P)TI B80CB $!W<)?OO""OH!P@L&!W<)MH %R ! #UZV9 0$ " /7K9$!! ! @KP/_N( 84 M /L_D( !A0#7K7D!" ! P'P/_AP 84 "? "\-?^"@ ""@#Q)@IW"08!P"4@ M 4"]PNV ?@#U@N% !<@*P $ Q<@+0 # HX*=PGD , E( % O<+2@$" L 5 M, # Y3 %R ) 6" _) _@'TP0KL 0 0O"^,%MAK0. P. M 0OF$0$!)@K!"@('@_+\ =8+ @("\@$! OG6"P$#P/$7("P !@/ )2 P-W M"8[U;@"% "8*%R K P#%R M @#=PDV !<@*P $ Q<@+0 # HX*=PDD ,#E M, 7(-=*!H+W%0H '+0W8!:T\P' 93 U@L" S<+"+2% /<+5@ #!L 5+ "% M '<)I/GW"D8 A0 &9O !P !P ' M!P < < !P < M !P < ' M !P # ' ' , < ' M !P < & < < # !P ' &0 M ' ' P , @ !D @ ( " @ M ( " @ ( " @ ( " @ ( " M @ ( " @ ( " @ ( " @ ( " M , !P , ' ' < , , M < & < !P P !P M &0 # !P < < !P !P < ' M < < & 9 < ' !P 8 M < !P < !P , ' !P < M , ' M P < # P < ' @ < M < , ' # ( @ " ( @ " M ( @ " ( @ " ( @ " ( @ " ( @ , 9 < M # !@ !D 0 0 $ $ M P , & @ , , !@ ' M & !@ !@ P P M , P !@ < !D ' M , !D ' M # 9 < M , & !@ M & & # < # M P P !P ' M P !D M !P $ # M 0 $ $ ' M ' !P !P < !P ' M P ' P !P !@ !P M # P !P P !P !P &0 ' M , !P ' P M , # # P !P M !P ' !P < !P , # !P < M P !P , < < ' !P ' P M , ' !P # # 0 M 0 $ P $ P # !P , M P , # , & # # M !@ !P < !P M P < # # !@ M # !P # P ' ' M !P < !P !P ' M < < ' ' ( M # !P , M M M # , ' !D !P M , P !P !P # M ' !P P < ' !P !P P M < , !P < , < M ' !P , , M ' < # M < ' < !P < ' ' M P < !P ' !P ' M ' !P # !P M P < M ! M P ' $ M 9 M P P " M $ ! $ < , ' M 6 $ &EO+F\ 'P ')E54 M0'<0" # %0$ !(E40 ! A14$ &)-PJ,OO<5"@"$ON8=@K[W"X"^ @-W">C_ M@!7 93 $9"% %)U;G1I;64@97)R;W(@ . M @ $ " P " P " M ! ! 0 $ , M &UA:6X ( '1E;7 (@!B ')E M&5C=@ (P 4 &5X:70N;P K*AW. ?+ ' 08 @ P M @!T" &) $ " %]E>&ET (P & &9O0 ", &@!I;G1R+F\ ;ZRHAD8 'X !P$P ( ! , ( = M @ # \ U 0 ' \!% 0 W$ ( &XD 0(< =Q$4 #<0$@ ;B2A AP#%'08 ?P $ M ! P < ' @ M!P < @!?:6YT<@ ", , !L:6YK+F\ ;ZRH44D 'U !P$8 ( , M +<= @ * +<=! & *"8D 0 ! 0 N' ! , , M @!?;&EN:P ", & !M86MD:7(N;ZRHATL 'T !P$0 M ( , +<= @ $ *#HD 0$ +AP 0 # M " %]M86MD:7( (P 0 &]P96XN;P!OK*BC3P ?5 ' 1H @ P M MQT" @ MQT$ 0 !8D 0 ! H; %?__AP 0 # # M @!?;W!E;@ ", &@!P/_6"W< S/] '?S_]64" /S_-1+Z_T =! "U"@0 )(U M$/C_]PE2_Y!!]0OZ_P(%=P!& $ =^O\ "S40^O_U"_K_ @5W "@ 5RWX_V\ M @-W X YA6 0?\)F@#6"W< "@#F%8A!_PF, -8+?P"( .85+0#_"0+_U@M7 M+?C_;P # N85" " >85"@!F'?K__PE@ )8E?P!> &8=^O__"=C^U@M_ % M=1WZ__[_0!W^_[4*_O\ DC40^/\" G< #@!F'?C__PFP_M8+=P#>_W\ ) #F M%24 _PF>_M8+]0H$ $ =_/_UY0( _/]_ @ =P"&_@! 2$!:0#$P,# P, M+3,R-S8X !S "Y!8P @06\ L$!D +! 6D$ 0 M P !0 0 $ M Y !) M # P $D .0 P M #) 0 # M , , $ !0 P 0 % M % #D % % M #D 4 P M Y # !0 Y 4 !) M ( @ " ( " @ ( @ %]P M M ( , +<= @ ( +<=! $ !*) $ 0 .&P!4! (< J' ! M , , @!?@$ !($" $ #$%<3^@!$F$M +-A " /\)[O\ M"@&)1A&%%8< 'D!W"=[_@$$#A\ +^@.' *AP R0( = @#W"TP# P+W%0$ M1 -W";K_AD. G0, P-W":[_AD/7+2X# 0 # G<)H/^&0X = @"' &I =PF2 M_X9#AP"!'P =Q 4(20Q3F%0$ T0L! @0 \0L" H#0B(!AD(20R0"AT,< M_O_1"XX*\P&#X,X,@PK.(""'#@K"'<@ @Q##900 P2 +AI,D!X.F&-(8DQ6F M$LH2BQ6."I,D\P'."^L"D25F$'$8 @!W()@ ^X*)%<,53$$@ 8,5]Q"* /<0 MB "F$.80PQU\ ,(D!0/3"\$@^X=F$@$!YA*""O<*: #R L%E! #W90( 7@"A M%?<*6 #\ L,5.$&"%>(8XAA* -\).$&!%T#D$2 !AT 8P P!8%D WPE,08$7 M0A2F$@4!PA # <$0P64$ (,00^ * X,,PT4# $-@"R#T@O&'U@M[ ( AP M >0 @ (D !@ M " < !P )D !@ )D !@ < M J0 & ( "I 8 ' M < M < M @ ' !P ' M !P !P !P @ @ M " M !R971R;@ "( %@!B@%I;FET9 M ( [ !I;FET8@ ( K !B:6YAK_!(K_!H/]A;-ZEF*%@ @ 6 " M *0 P %D Y 20 9&QO9S$P+@ B M 86QO9S$P+@ B @ ;&]G @ # N;P"JJ-EE' ^\ M # N B @ ;6%X,"X B #$N;P"JJ+%G' _< ;_!( %( 8@ @#X ,@ !@"8 08 2 & *@!J $ M &-C;W,N (@ "YC8V]S ! "H ')V86PX< ( "YZ,0 M 0 " &=M=C@ ( "YZ,@ ! "P '-T !R=F%L.' " N>C$ M $ @!G;78X " N>C( 0 @ !S='-P " !F= M 0 <@!R=F%L. " !C86QL " !C86)S+@ " !G M;78T " N8P 0 B !L=F%L " N8@ 0 MA !S='-T " N80 0 @ !A=&%N,BX " !R=F%L- M " !A;&]G+@ " !R971R;@ " !D, ( ; N9'5M M;7D 0 @ !C;7!L>"YO *JHC'8<#ZP !P$P \ !$ ) M\ ,! ,0 'PER\" ( "@+!$-$+&?59]<$5 1^%'X=P#6_W<)TO\& #@ M @ . " . I 20 M &-M<&QX+@ (@ ( &1C;7!L>"X (@ ')E=')N ( '1E;7 M( ')E!P/> ' 1P # M ( "$ !\!;U-_CP_Q;UP/$W^.S_=P#D_S@ & ( M.0 Y *0!C;VYJ9RX "( !R=F%L.' " !R971R;@ M " !T96UP " !C;W,N;P!O *JH,WH<#X@ !P$> \ M !$ )\ ,! ,0 'P._4" '<)ZO\W^.;_=P#B_T@ @ 2 " M *0 $D Y &-O %( 8@ M @#X ,@ !@"8 08 2 & *@!J $ &-S:6XN (@ M "YC &X M 8 B & $@ !@"8 9@! &-S<7)T+@ (@ "YC' N;P!O *JHI8$< M#Z@ !P$H !( !$ )\ ,! ,0 'P O []0( =PGH_P2' M-_CB_W< WO]W"=K_" !8 ( %@ @ *0 60 M #D !) 97AP+@ B @ 9&5X<"X B 97AP @ M_X$ 'V / !! #Q M-_O<_W< V/]W"=3_"0 X ( M .0 !D I :61I;2X B "YO "J MJ-F*' ^0 H '@ M6 #@ 2 !H &EF:7@N (@ &EN="X (@ &QV86P ( M '(T:30 ( &=AI <#W0 !P$: P M !$ )\ ,! ,0 'P._4" #?XZO]W .;_. " X ( M Y *0!R96%L+@ "( " !D+%0<#Z@!!P&< !@ M !$# ' ( -QP" !0 P!V& 8"!8F00 -H/]W"73_R $!B69ODAP/M ' 30 #P $0 GP M P$ Q ?"7+P( @ , COU @" \7OQ! \ $$P/$W^-;_=P#2_W<)SO\, M #@ @ . " Y M*0 $D !S:6=N+@ "( " !D M \ !$ )\ ,! ,0 'P._4" '<)ZO\W^.;_=P#B_T@ @ M 2 " *0 $D Y '-I;BX (@ ( &1S:6XN M(@ '-I;@ ( ')E=')N ( '1E;7 ( '-N9VPN M;P JJ@1EAP/A ' 1 %0 " &@ M* !H !@ X $@ 6 !S;F=L+@ "( !R=F%L.' " !L=F%L M " !R.'(T " !G87,T " !R971R;@ " !T96UP M " !S<7)T+F\ *JH^I<<#Z0 !P$F !( !$ ) M\ ,! ,0 'P._4" '<)ZO\$AS?XY/]W .#_=PG<_PT 6 " !8 ( M I !9 .0 $D !S<7)T+@ "( " !D & M "( 8 J " *@ !@#( (@ !@"H 8 J & .@ J & *@ !@#X ,@ MB & @!" $ =&%N:"X B +G1A;F@ $ % $ =!@ ' ( )A#F%>9F_PF(*98EYA4! /\)7BW6 M"^85#P! '08 !P$ "80_PE(+98E-Q (-\ + @5W !X 0!T& 85 0#F M%0AG_PF.)98EYA4" .85#F?_"8 EEB7F%0, YA449_\)85!0#F%1QG M_PED)98EYA4& .85(F?_"58EEB7F%0< YA4J9_\)2"66)>85"@#F%3)G_PDZ M)98EYA4+ .85.&?_"2PEEB7F%0P YA5 9_\)'B66)>85#0#F%41G_PD0)98E MYA4. .852F?_"0(EEB7F%0\ YA509_\)]"26)>85$ #F%5AG_PGF))8EYA41 M .857F?_"=@DEB7F%1( YA5D9_\)RB26)>85$P#F%6YG_PF\))8EYA44 .85 M)'< T/] '?C_P S ;5HF=P#F_/5M M1B;X_T =^/\W($8F @4U"OC_=P"$_\ =-":W"C F-R P)@(&=P 4 .85?F?_ M"00GU@OF%0$ _PG:*M8+0!WX_\ ,P&T.)C40_O\U$/K_]1WT)?S_]14$ /;_ M0!WV__4*]O_ "P<#0!W^__5E @#^_P@*\P'U'=0E]O] '?;_]0KV_\ +# - M'?[_]64" /[_01W\__5E @#\_T@2[@% '?K_=P ^_'< .OQF$841QF7Z__<+ MU"4"!'< % #U'@B-1#Z_U M '< 2OM7+?K_4 $ L 5/ !W #K[=QWZ_]HDP!50 '< +/OF%0$ )@IF'?K_ M_PD,(\9E!@# "P0#P!4N '< #OOF%3X YA4_ .85/0#_">PBQF4& '< ]OKF M%0$ )@IF'?K__PG6(L9E!@# "P0#P!4M '< V/KF%4 YA5! .85/0#_";8B MQF4& '< P/KF%3T YA4B .85/0#_"9XBQF4& '< J/HF"N85 0#F%2H _PF( M(L9E!@# "P0#P!4K '< BOK_";@H-1#Z__4+^O\" W< % "W"AXDYA6<9_\) MO"36"P *=P!D^EB@U$/K_5RWZ M_R\ @-_ +PA_PEF*#40^O]_ *PA-PK8(U0&WZ_Q>B? " W< (@#4':PC3!W\_P 90&WZ_\#E, W$)HC_PD8 M*#40^O]W ,S_=QWZ_X CP!45 '< T/G_";PA=P#(^?\)W"%W ,#Y]1T>(_[_ MP!TV'D!M^O\7HGL "0/ '2@>0&WZ_Q>B? " W< )@# '?@BP&WX(C4@_O\& M!T =_O^U"O[_2)WZ__\)KB8+P!T\(K<*."(W$&@B)A#F%0AH_PFP)I8E MYA4B /\)UB#6"S40_O_ "P@%9AW^_^85&FC_"9 FEB7O >85'FC_"80FU@O M%18 =P!X^'< =/AF$841QF7Z_S<*&"+U%<9I_O\U"OK_YA4G /\)B"#6"S40 M_/_ "P($=P > $ =^O^U"OK_-R#N(08$0!W^_[4*_O](G?S_=P#,_WW"DHA MP!4* '< EO= '?[_=P".]W< BO=F$841QF74_X 1)A#&9<[_@!$F$/<=,A[B M('4=TO_\_W4=GO_0__<=V"#2(/T5R #\__T5!@#0_S4*_O__"<@>-1#*__<) MSARD:/\+ZB " W< ,@#_"; >-Q#4(!<@!@ % O\5!@#0('< &@# '<@@\ L$ M @"P!V^(,$=B""W"H0@" ' ( )A#F%10 YA4% M /\)$"'&91( P1TD(/=E @ >( D0&P' '5 @ !P$ "80YA]&("8*P!U ( < M @ F$.85% #F%0( _PG8(,9E# #!'>P?]V4" .8?"1!_ .0>YAT8("8*YAW< M'^85%0#F%0$ _PFN(,9E"@#!'<(?]V4" +P?"1!_ +H>YAWN'R8*YA41 .85 M%@#F%0$ _PF$(,9E"@#!'9@?]V4" )(?"1# '8X?P S ;8H?-R""'P('=P 4 M .85D&C_"5 @U@OF%0$ _PDF)-8+0!W^_P(#?P#P'O45 0#^_W\ 5!Y '?[_ M P/U90( RO]_ )(>0!W^_P(#?P#,'G\ A!Y '?[_ @-W "X _PDR'3<05A_7 M+5(?%0 " W< % #W%?__1!_ '4H? LW$$0??P &'O45)0#*_S4*_O]_ $0> M0!W^_P0#-0K^_W< %@!7+'G\ UAU '?[_ @)_ ! >-0K^_T =RO_ #,!M6A@W M$J2S]^4) *BSP!V:L\!%P/\U$,C_=1_0_\[_=2W(_\[_"@) 'YH_PG>'M8+YA4! /\)M"+6"_5E @#\_T =_/]('4" -#_0!W\__7E @#\_P 2-1#,__<)U!D" M:7<=RO_F'??E @"N'< =JAT $G< ,/17+ MU@MF'853FG_"3(=U@O M'8H<\!V(' 8 _PE0&C40_/]7+?S_!0 " W\ !AS %1 P1UH'#%@ @!W )C_ M5RT$ @ @-W " _Q7__TX<]PM^)@0"]QU$''8F P'_'3P<<";W'38<:B97 M+?S_"0 " W< ! !W -3^5RW\_P$ ! )7+00 " ( E;_P$7^_\ + M @)W "( ]^4" &8;P!UB&S42]O] '?;_-1P" /3_0!WV_S4H;QF4, ,$=_AKW90( ^!H)$'< ?O%7+_;_" % M ^85SFG_";X;U@M_ ' ;9AWV_V8=ZO_F%1@ 9AWH_^859 #F%0( _PFD&\9E M# #!';@:]V4" +(:"1!W #CQ]>40 .C_0!WH_\ + @5W ! YA7B:?\);AO6 M"_5E$ #H_UC_YA4D .85 M 0#_"4(;QF4* ,$=5AKW90( 4!H)$'< UO!7+^K_) " W< %@# '3H:]V4" M #0:01WJ_T@C_SF40 $ = MZO\7+ 8 !0 # N85'0 " >85(P#F%0$ _PG2&L9E"@#!'>89]V4" . 9"1!W M &;PYA7V:?\)KAK6"T =YO_ 1?W_P L% V8=ZO__";8:U@M '>;_P$7O_\ + M!0-F'>K__PED&M8+0!WF_\!%W__ "P4#9AWV__\)3AK6"T =YO_ 1?[_P L" M G< 1 )F'?3__PE0&M8+)A!F'>C__PE$&M8+%!#,%0D !F 9C_-1#L_T =\/_ 17__-1#R_W<=\/\\KO?E P! KL = M,J[ 1?C_-1#P_T =\/\" G< V@!7+?#_!P " W< #@#F%2!J_PFP&=8+?P!X M&4 =YO_ 1??_P L# \ 54P " < 570 U8/#_0!WR_P("=P!0 %S_9AWP_^85 0#_"4H9QF4* #40]O]W $P 5R_J_Q4 "0)F'?#_9AWJ__\) M\AB6)7< ,@!F'>[_YA4! /\)0AF6)340[O]F'>K_9AWN_V8=[/]F'?#_YA4! M /\)^AC&90H -1#J_W4M^O_N_P8'0!WF_\!%O__ "P("=P!4 $ =YO_ 1?O_ MP L) T =! # Y3P P S ;?07-1($ '4=[O_X_W4=^O_N_W4=^/_Z_W4=ZO_X M_W4=]O_J_W4=^/_V_W4=Z/_X_W4=]/_H_W4=^/_T_W4M[O_Z_P<"0!WN_\!E M 0 U$/C_"0%F'?K_9AWN__\)CAB6)340^/] '>;_P$7[_\ + @,U"NS_9AWV M_V8=ZO]F'?C_9AWL_V8=! #F%0( _PDR&,9E# #!'487]V4" $ 7"1!W ,;M M9AWJ__4+[O\# N85 0 " 68=[O]F'>C_9AT$ .85 0#_"?H7QF4* ,$=#A?W M90( "!<)$'< CNUF$841Y@M '00 -1P& /[_0!T& /<) A,X:DP=_O_W%0$ M(*PU$_[_ !-,'?[_]Q4! !"L-1/^_P 33!W^__<5 0 K#43_O\ $T =! !P M'?[_!@!W #;M9A&%$>8+0!T$ < @ U$/[_%R ! D'5RW^_Q !03F%4IJ M_PE>%]8+=P ([7< !.UF$8415RT$ ! P1 '00 "P%7+00 ( %!$ =! # MY0P @' %0@ =P#8['< U.QF$841Y@NW"GX6_PG^&O4=MB3^__<5 0"N).8= M8A;F%6AJ_PFP&I8E9AT( &8=!@!F'00 _PF>&L9E!@#F%0H _PG&&M8+=QW^ M_WPD=P"$[&81A1&F*?4=[!7^_T 1P&4& #40_/_U90, ! ! '00 P S ;= 5 MP1T8$\$,P6T4$P$@ @1W !0 YA5P:O\)E!;6"^85 0#_"6H:U@M '00 ]0H$ M , +# / '9H5]V4" )0501W\__5E @#\_T@2[@% '?[_=P ,['< ".QF$841 M5R\$ !0 @)W !( 5R\$ "0 !0/F%89J_PDX%M8+=P#BZV81A1'U"P8 % )7 M+00 0 "!@ * @' %0$ 5RT$ ! @4!"@(!P14! $$*0$!W +#K5RT& $ M$P+U"P0 @8 "@(!P!4! %8+YA6<:O\).!G6"^85" #_"484U@O_"?X7YA4! M /\)7!;6"_\)*AAW !3K9A&%$<9E^/__"882-1#\_\ +! -7+?S_ 0 " G< M].I7+?S_% " W\ "!; '9(4R!4& , =BA3 90@ -1#X_V8=^/_F%4" /[__PE$$340_/\7( $ @)_ M +845RW\_PD P-_ ,P4! '_"201-1#\_W< M/]_ +H4]0O^_P<'9AW^_^85 M%FO_"8H7EB5W (+I=P!^Z>85.&O_"<83U@MF'?S__PE"%M8+)@K_":(4U@MW M %[I9A&%$<9E]O__"= 0-1#X__<)U@X\;.856&O_"9 3U@MW #KI0!T$ (# M_PG>%< =UA(" W< ) #_": 0-1#X_Q<@ P " G\ P2U@OF'2P10!W^_P,#P!V. M% (!P!V6%,@)U@OF'181_PF6%-8+=QWV_P@1=QWZ_P01=P!ZY_<+_! % N85 M=FO_";P1U@OF'>P0_PE@%-8+?P">$_<+W! % N85C&O_"9X1U@OF'$-8+=P J , =Q@_W90( P _(';8/P!VX M#_=E @"R#\@=W _F':0/MPJ@#_\)*A/6"W\ 6A'U'9P/]O_ '8P/MPJ(#S<0 MC@__"5P2-1#\_T =_/\7+ ( 0 +!T =_/\7+ ( $ %!.85RFO_"3 0U@OF M'30/9AW\__\)SA*6)?\).A)W'?;_3 ]W ,+E]PM #P4"YA7<:_\)!!#6"_\) M+ TU$/C_%R ( (#?P#D$< =& ^W"A0/-Q <#^8=& __"982U@M_ ,80YA4> M;/\)S@_6"W\ O!'7+1P/.@ " W< 4@ W"A /P!T2#\@+ @9W X YA4N;/\) MI _6"W\ CA# '?@.R!4" , =\ [P%1 @# '>8.\ L$ @"P!W<#L$=I@ZW M"J(.#< =U VW"M --1#\_V8=_/_F%89L M_PE&$I8E]1W&#?[_-PK #28*_PEP#]8+P!VT#0(#=P 6 , =G@VW"IH--Q"B M#>8=G@W_"1P1U@MF'?S_YAV.#>85G&S_"0(2QF4& /4M>@WZ_P0']RUR#6X- M @9W # ]^4" &0-P!U@#342^/_WY0( 5@W '5(- !(F$&8=^/_F%:QL_PG" M$<9E!@!W +S_YAT\#>85MFS_":X1EB5W'?[_+ UW'?K_( UW )KC9A&%$<9E M]O__"680P!7^_S40_/\W$"8-]14$ /C_P!U:%P("=P X #\*4A? '4P7-1#^ M_S<21!= '?[_#\_W\ .@] '?[_ MR!4% '\ +@] '?[_P1WR"[<*[@MP$ 0 9AW^__\)^@_6"W\ $ _ '< +P Q M;?[_-1#^_W< (/]F'?S__PF$#]8+=P! XF81A1&F*34*_/_U'9X+_O] '?[_ M]0K^_\ + @)W &@ 0!W\_\!E! # #,!M@@L $@("=P H $ =_/_ #,!M< O( M"PT"0!W\_\!E! # #"80SFU<"^85WFS_"30,EB5 '?S_P S ;4@+%R(! @# M0!W\_\!E! # #,!M- L("O5M(@O\_W< B/]W +3A9A&%$5"A, @-W !@ P!W<"O<)M ;R;, 5 0!W ![A M IW !CAURVZ"@( @( "@(!P!4! '< !.%W #A9A&%$68=! #F%0AM_PGR M#I8E=P#JX&81A1'F'4 *9AT( &8=!@!F'00 _PFL#280SF5G .85 0#_"1P+ MQF4* "80_PFV#98E=P"TX&81A1&F*>85(P#_"=P.U@O '1(*P.UX&81A1%F'00 YA4B;?\) M$ Z6)7< ".!F$841YA4J;?\)_@W6"W< ]M]F$841P!V<"0 (-EB5W -K?9A&%$>8+0!T$ ,#M< DU$/[_=QT$ &8)0!W^__<)1@5T;7< MM-_F%59M_PFN#=8+=P"FW^858FW_": -U@MW )C?9AW^_^85A&W_"8X-EB5W M (;?9A&%$>85DFW_"7P-U@OWY0( %@EW &[?9A&%$>8+0!T$ < @ F$/\) M/@W6"S40_O] '00 !P& !0#0!T$ 0!T$ /<): 3\;< 5 @!W M -+>P!4! '< RM[ %00 =P#"WL 5" !W +K>P!4$ '< LM[ %0 $=P"JWG< MIMYF$841Y@MF'00 _PE\#-8+-1#^_Q<@ 0 # L 5 @ " 4 =_O]W '[>=P!Z MWF81A1'F"TP=! !W'08 %)T $S40_O\' V8=!@!F'?[__PE6#)8E3!T$ '<= M!@#TG, =\IPF$,YE, #_"7(,U@MW #;>9A&%$<9E]O] $08'*B@) M*7\K?'Q\?'Q\?'Q\? @!/U!!6G][>WM[>WM[>WM[>WM[>WM[>WM[>WM[>WM[ M>P1_!3%_?WM[>WM[>WM[>WM[>WM[>WM[>WM[>WM[>WM[ C #?W^W'0( " "W M'00 ! (B0! $ "AL 5__^' ( = @ !B7<)O $=@.'P OZ X< J' +<= M @ ( +<=! $ 6) $ 0 *&P!7__X< @!T" /<+GA(# O<5 0"6$G<) $* M>("= P # W<)] *>-'1EP!61GD 3D9Z $9&? #J12L ;D4B %9%00 @13\ ZD10 (I$*0!R M1"@ 6D0 %!$?@!$1'T 0$0(1P &D=,1RYD871A.TPE9#HN8GET92 "5O M+ P.RYE=F5N.RYT97AT"@ HD=,;VYG(&-H87)A8W1E'!R97-S:6]N(&]V97)F;&]W M < ]$H% /1*!@"\2BH E$HO )1**0!42B( 1DH? #9*'@ V2A8 U$D5 *I) M% #62 )+ 02S!+7DMD &A+! !H2P8 :$MN2P 97AP6YT87@ ;$PE<"!R961E8VQA6YT87@ 0 " , 4&X( @ ! $8 M, )8;@ H +AR ! '@ "', 0 I&D\ #T 0 !! #X /P!$ M $4 0@!# #__P ! " W$U);&QE9V%L(&-O;F1I=&EO M;F%L $EL;&5G86P@:6YD:7)E8W1I;VX 26QL96=A;"!L=F%L=64 ", 0$\D M -Y.9 "N3EH F$X) &Q.ND\ +I/26QL96=A;"!C;VYV97)S:6]N !\48A2 M80#"4F( LE)C *)2TE( .!226YT96=E'!R97-S:6]N(&]V97)F;&]W Y43'9A;'5E(')E<75I M'!E8W1E9"!%3T8 $UI06@ 56YK;F]W;B!K M97EW;W)D %)E9&5F:6YI=&EO;@ % ">6A, (E<" -Q6 P#85@$ V%8 ,Y6 M_%H !9;+%M3=&%T96UE;G0@ H%MJ'0* 'QM%X2 /!>$0#P7@L \%X* /!>^%X !9? M8G()3"5D"@ L7V)?XE]J;7 );"5D"@ ^%]L)60Z .8&IM< ER971R;@H M "!@+F1A=&$[(&PE9#H@,68[("YT97AT.R Q.@H #Q@='-T"2TH)VPR-0 P!D)VPR-@ M P!N)VPR-P P!R)VPR. @ L FPQ,# P- @ V FPR.0 M @!" FPS, @!\ FPS,0 @"8 FPS,@ @"H FPS M,P @#, FPQ,# P-0 @#F FPS- @!( VPS-0 @#R M FPQ,# P-@ @ " VPS-@ @ B VPS-P @ > VPS. M P!\)VPS.0 @!$ VPQ,# P-P @!: VPT, @!N VPT,0 M P!^)VPT,@ @", VPT,P @"F VPT- @"L VPT M-0 @#0 VPQ,# P. @#N VPT-@ @ "!&PQ,# P.0 @ , M!&PT-P @ :!&PT. @ P!&PT.0 @ H!&PU, M @ P!&PU,0 P"6)VPU,P P#$)VPU- @! !&PU-0 M @!$!&PU-@ @!0!&PU-P @!:!&PU. @!R!&PU M.0 @"*!&PV, @"H!&PV,0 @#,!&PV,@ @#< M!&PV,P @#J!&PV- @ (!6PV-0 @ @!6PV-@ M @ ^!6PV-P @!6!6PV. @!N!6PV.0 @",!6PW, M P"8)VPW,0 P":)VPQ,# Q, @">!6PW,@ @"R!6PW M,P P"<)VPW- @"^!6PW-0 @#*!6PW-@ @#> M!6PW-P @#J!6PW. @#^!6PW.0 @ $!FPX, M @ $!FPQ,# Q,0 @ 6!FPX,0 @ X!FPX,@ @!&!FPX,P M @!.!FPX- @!6!FPX-0 @!*&PQ,#$ @"X!VPQ,# Q- @#. M!VPQ,#( @#L!VPQ,#, @#H!VPQ,#0 @#^!VPQ,#4 M P P*&PQ,#8 @ F"&PQ,#@ P!X*&PQ,#D @ P"&PQ,3 M @ P"&PQ,3$ P!**&PQ,3( @!("&PQ,30 P!@*&PQ M,34 @!6"&PQ,38 @!>"&PQ,3< @!F"&PQ,3@ @!L M"&PQ,3D @!T"&PQ,C @" "&PQ,3, @" "&PQ,C$ M @" "&PQ,#< @" "&PQ,C( P"**&PQ,C0 P"D*&PQ,C4 M @#6"&PQ,# Q-0 @#@"&PQ,C8 @ 2"6PQ,C< @#X"&PQ M,C@ @ 2"6PQ,CD @ 2"6PQ,S @!P"6PQ,S$ @"F M"6PQ,S( P".*&PQ,S, @"J"6PQ,S0 P",*&PQ,S4 M @#4"6PQ,# Q-@ @ ."FPQ,S8 @ B"FPQ,S< P"0*&PQ,S@ M @ L"FPQ,SD P <*6PQ-# @ V"FPQ-#$ @ V"FPQ M-#( @!""FPQ-#, P#8*&PQ-#0 @!&"FPQ-#4 @!0 M"FPQ-#8 @!4"FPQ,# Q-P @!>"FPQ-#< @","FPQ,# Q. M @!R"FPQ-#@ @"&"FPQ-#D @"4"FPQ-3 @"4"FPQ-3$ M @"B"FPQ-3( @"X"FPQ-3, @"R"FPQ-30 @"X"FPQ M-34 @"\"FPQ,# Q.0 @#&"FPQ-38 @#P"FPQ-3< @#@ M"FPQ-3@ @#P"FPQ-3D @#T"FPQ-C @#T"FPQ-C$ M @#^"FPQ-C( @ ""VPQ,C, @ ""VPQ-C, @ ,"VPQ-C0 M P#:*&PQ,# R,0 @!2"VPQ,# R, @!>"VPQ-C4 @"T"VPQ M-C8 P#<*&PQ-C@ P#>*&PQ-CD @!H"VPQ-S @!H M"VPQ-S$ @!H"VPQ-S( @!N"VPQ-C< @!N"VPQ,# R,@ M @" "VPQ-S, @"4"VPQ-S0 P#N*&PQ-S8 P "*6PQ-S< M @#0"VPQ-S@ @#F"VPQ-SD @#R"VPQ.# @ #&PQ M.#$ P :*6PQ.#( @ 6#&PQ.#, @ B#&PQ.#0 @ F M#&PQ.#4 @ R#&PQ.#8 @! #&PQ-S4 @! #&PQ.#< M P >*6PQ.#@ @!T#&PQ,# R,P @"&#&PQ.#D @"@#6PQ,# R M- @"2#&PQ.3 @"V#&PQ.3$ @"L#&PQ.3( P R*6PQ M.3, @#\#&PQ.30 @#8#&PQ.34 P! *6PQ.38 @#\ M#&PQ.3< @#\#&PQ,# R-0 @ .#6PQ.3@ @!D#6PQ,# R-@ M @ @#6PQ.3D @!(#6PR,# @ V#6PR,#$ P!.*6PR,#( M @!4#6PR,#, P!:*6PQ,# R-P @!P#6PR,#0 @"0#6PR M,#4 @"$#6PR,#8 @"*#6PR,#< @"<#6PQ,# R.0 @"P M#6PQ,# R. @# #6PR,#@ @#$#6PR,#D P!<*6,P,2YO M'P#<#6PQ,# P, @#P#6PQ @ #FPQ,# P,0 @ >#FPR M @! #FPT P &*FPU @!L#FPV @"8#FPW M @"J#FPX P#.*6PY P >*FPQ, @"N M#FPQ,0 @#>#FPQ,# P,@ @#P#FPQ,@ @ #VPQ,P M P#B*6PQ- @ 4#VPQ-0 @! #VPQ,# P,P @!,#VPQ-@ M @!B#VPQ,# P- @!N#VPQ-P @"P#VPQ,# P-0 @"0#VPQ M,# P-@ @"4#VPQ. P#V*6PQ.0 @"Z#VPS @"Z M#VPR, @#0#VPR,0 @#F#VPR,@ @#\#VPQ,# P-P M @ ,$&PR,P @!0$FPQ,# P. @!$$&PR- @!:$&PR-0 M @"8$&PQ,# P.0 @!L$&PQ,# Q, @!P$&PQ,# Q,0 @"B$&PR M-@ @!\$6PQ,# Q,@ @"N$&PR-P @"\$&PR. P @ M*FPR.0 P T*FPQ,# Q,P @#.$&PQ,# Q- @#2$&PQ,# Q-0 M @#@$&PS, @ P$6PS,0 @#Z$&PS,@ @ L$6PS,P M @!\$6PS- @!*$6PS-0 @!\$6PQ,# Q-@ @"0$6PQ M,# Q-P @"4$6PS-@ @#H$6PS-P @"R$6PS. @#^ M$6PS.0 @ 0$FPT, @ @$FPQ,# Q. @!@$FPQ,# Q.0 M @!D$FPT,@ P X*FPT,P @"B$FPT- @"R$FPT-0 M @#"$FPT-@ @#2$FPT,0 @#2$FPT-P @ *$VPT M. P!**FPQ,# R, @ D$VPQ,# R,0 @ Z$VPQ,# R,@ @ V M$VPQ,# R,P @ Z$VPT.0 P!H*FPQ,# R- @#*$VPU, M @#>$VPU,0 P!P*FPU,@ @#>$VPU,P @ "%&PQ,# R M-0 @ >%&PU- @ P%&PU-0 @ P%&PU-@ P"&*FPU M-P @!F%&PU. @"4%&PU.0 @#&%&,P,BYO 'P#2 M%&PQ P"<*FPQ,# P, @ >%6PR @ B%6PS M @ N%6PT P V*VPU P# *FPV P#,*FPX M P >*VPY @!D%6PQ, @!Z%6PQ,0 P#:*FPQ M,@ @"@%6PQ,P @"D%6PQ- P#J*FPQ-0 @"V M%6PQ,# P,0 @#,%6PQ-@ @#D%6PQ-P @#P%6PQ,# P,@ M @ 0%FPQ. @ B%FPQ.0 P#\*FPR, P ,*VPR,0 M @ L%FPQ,# P,P @ X%FPR,@ @!X%FPR,P P 0*VPR M- @!>%FPR-0 P 4*VPR-@ @!L%FPR-P @!T M%FPR. @"0%FPR.0 P 6*VPS, @"4%FPS,0 M @"8%FPW @"8%FPS,@ P X*VPS,P P!6*VPS-0 M P \+&PS-@ @#.%FPS-P P!8*VPS. @#8%FPS M.0 @#8%FPT, @#<%FPT,0 @#F%FPT,@ @#F M%FPQ,# P- @#P%FPT,P @ 4%VPT- @ "%VPT-0 M P!T*VPT-@ P!H*VPT-P @ B%VPT.0 P#R*VPU, M @ L%VPU,0 P!8+&PU,@ @!<%VPU,P @!Z%VPU M- @""%VPQ,# P-0 @"^%VPQ,# P-@ @#"%VPU-0 @ ( M&&PQ,# P-P @#@%VPQ,# P. @#D%VPU-@ @ <&&PQ,# P.0 M @!Z&&PQ,# Q, @!^&&PU-P @"<&&PU. @"L&&PU.0 M P!V*VPV, @"Z&&PV,0 @#*&&PV,@ P",*VPV M,P @#8&&PQ,# Q,0 @ ^&6PQ,# Q,@ @!"&6PV- @!L M&6PV-0 P!:+&PV-@ @!P&6PV-P @""&6PV. M @"4&6PQ,# Q,P @">&6PV.0 @"L&6PW, P"@*VPQ,# Q M- @# &6PW,0 @#.&6PW,@ P"T*VPW,P @#X&6PW M- @#\&6PW-0 @ X&FPW-@ P#**VPW-P @!4 M&FPW. @!D&FPW.0 P#<*VPX, @!V&FPX,0 M @"0&FPT. @"0&FPX,@ P >+&PX,P @">&FPQ,# Q M-0 @"J&FPX- @#\&FPQ,# Q-@ @"Z&FPX-0 @#(&FPX M-@ P N+&PX-P @#T&FPX. @#\&FPS- @#\ M&FPX.0 @ H&VPY, P!<+&PY,0 @!@&VPY,@ M P!P+&PY,P @!Z&VPY- P!R+&PY-0 @"Z&VPY-@ M P"&+&PQ,# Q-P @#P&VPY-P @ &'&PY. P"<+&PY M.0 @ :'&PQ,# Q. @ J'&PQ,# Q.0 @ N'&PQ,# @!> M'&PQ,#$ P"L+&PQ,#( P"V+&PQ,#, @":'&PQ,# R, M @"D'&PQ,#0 @#<'&PQ,#4 @#H'&PQ,# R,0 @#X'&PQ,#8 M @#('6PQ,# R,@ @ &'6PQ,#< @"V'6PQ,#D P#(+&PQ M,3 @ 2'6PQ,3$ @ :'6PQ,# R,P @ H'6PQ,3( @!J M'6PQ,3, P#&+&PQ,30 @",'6PQ,34 @"8'6PQ,38 M @"V'6PQ,#@ @"V'6PQ,3< @#F'6PQ,# R- @#V'6PQ,3@ M @!>'FPQ,# R-0 @ ,'FPQ,3D @ T'FPQ,C @ T'FPQ M,C$ P#>+&PQ,C( @!4'FPQ,C, @!F'FPQ,C0 @!X M'FPQ,C4 @"('FPQ,C8 @"J'FPQ,C< @#:'FPQ,# R-@ M @#F'FPQ,C@ @#^'FPQ,S P#R+&PQ,S$ @#P'FPQ,S( M @#P'FPQ,S, @#P'FPQ,S0 @#P'FPQ,S4 @#X'FPQ M,CD @#X'FPQ,S8 P (+6,P,RYO 'P L'VPQ @"\ M'VPR @#>'VPS P 6+6PT P B+6PU M P J+6PV P X+6PX P!T+6PY @!>(&PQ, M @!B(&PQ,0 P!6+6PQ,@ @!P(&PQ,P P!B+6PQ M- @!^(&PW @!^(&PQ-0 P"$+6PQ-@ P"2 M+6PQ-P @#T(&PQ. P"L+6PQ.0 @ .(6PR, M P#:+6PR,0 @ B(6PR,@ @ R(6PR- P#\+6PR-0 M @ \(6PR-@ @!$(6PR-P @!,(6PR. @!4(6PR M.0 @!<(6PS, @!D(6PR,P @!D(6PQ,# P, @"0 M(6PQ,# P,0 @"4(6PS,0 @#"(6PS,@ P :+FPS,P M @#R(6PQ,# P,@ @ *(FPS- @ B(FPS-0 @ 4(FPS-P M P L+FPS. @!$(FPS.0 @!$(FPQ,# P,P @!.(FPT M, @".(FPQ,# P- @!B(FPT,0 @"$(FPT,@ @!V M(FPT,P P <+FPT- @" (FPT-0 P D+FPQ,# P-0 M @"<(FPQ,# P-@ @"@(FPT-@ @"N(FPT-P @"T(FPT. M @#0(FPT.0 @#4(FPU, @#J(FPQ,# P-P @#Z(FPU M,0 @ 6(VPU,@ @ 2(VPU,P @ :(VPS-@ @ : M(V,P="YO 'P V(V)U9@ ! #^,V)O=&-H @!H(V5B;W1C: M @!T(V-R96%T+F\ 'P 8)65X:70N;P 'P R)6=E=&-H@ (P!Z*5]H6UB;VP (P"4)U]P M965K@ (P",*5]O<&1O<&4 M(@!T(U]B=6EL9 (P#,*5]E@ (P"4*5]S=W1A8@ (P"6 M*5]S=W (P"8*5]C;VYT;&$ (P":*5]B*5]N7 (P!D*E]C M=G1A8@ (@!")%]C=F-O;@ (P V*E]M87@ (P"8*E]P=71C:&$ (P!, M+E]N;W1C;VT (P"6*E]F=6YC=&D (P":*E]D96-L:7, (P#N+%]S=&%T96T M(P!4*U]R971S97$ (P H+5]B;&MH960 (P#$+%]R8V5X<'( (P 2+5]P97AP M<@ (P!N+%]J=6UP8P (P 0+5]E87-Y8=BAW_"88= MU@LF$.8=?AW_"7H=U@LF$.8='?\)6AW6 M"R80YAU2'?\)3AW6"R80YAU&'?\)0AW6"R80_PDZ'<9E!@#F'3(=_PDN'=8+ M)A#F'28=_PDB'=8+)A#F'1H=_PD6'=8+)A#_"0X=QF4& .8=!AW_"0(=U@LF M$.8=^AS_"?8H'-8+)A#F'98<_PF2'-8+)A#_"8H $ =!@ ' ( )A#F%<1=_PG\'98EYA4! /\) M(B_6"^85#P! '08 !P& "80_PD,+Y8E-Q D,\ + @5W !X 0!T& !7+?K_(P " M W< 7@#U'3(;_/__"68=-1#Z__\)7ATU$/#__PE6'< ,0&WR_S42_O__"4@= M-Q!V+D =^O_U"OK_P L) _\)-!U!'?S_]64" /S_"1#Q 28*9AW^_V8=\/__ M"1@;QF4& 4!9AWZ__\)."[6"W< >O__"3 N]PLR+@(" H" < 5 0 F$/\) M%"[6"W< #OUF$841QF7P__4+! # @ *=P#Z_'4?! #\_U $ =!@#U90( !@ U(OS_ @)_ #(: M]64" 8 =P#8_P *=P!2_'4?!@ & '4=!@#^__V+_O\# @ *=P Z_%>O_O] M 0%5R_P_R0 !P) G_[_P$7 _S4@]/\"!'\ [AE '?[_ )P! "809AWR__\) M_!J6)< + @-_ -(90!W\_\ ,P&TX$ 2P$7^_\ + P/U"_C_ @)W $8 0!W^ M_Q>L @! 0%5R_X_R0 "0) '?[_ )P" ,!%P/\U(/K_ @1_ (H90!W^_P"< M P F$&8=]O__"9@:EB7 "P(#?P!N&4 =!@ ' 0 =P",^T =!@# 908 -1 & M '\ 3AEW 'C[9A&%$?4+! " G< :OM7+P0 9P "!'< / F"D =! ' 8 M)A! '00 !P$ "800!T$ < @ F$%_PER&I8E M=P"<^F81A1'&9?#_0!\$ #40^O\7(&0 @-W *8 0!T$ #40!T$ I>P!4, '< .O5 '00 \ L& ,"P!4$ M (!P!4( '< (O7 %0P =P :]68=!@! '00 !P& "80_PG:$Y8E-1#^_Q<@ M$ $!, 5$ !W /3T0!T$ #4L! & ,&P!44 (!P!48 '< VO1W -;T9A&% M$?4+!@ 4 E8+]1WT!_[_ M0!_^_P("=P!* $ =_O_U90( _O\U(@0 @-W "8 0!T& 8#0!W^_P < @ F M$ (!9A_^_^85$%__";@3EB5W KT!@% '?[_P&4$ #40_O]W *S_YA447_\) MF!/6"W< ZO-F$841Y@M7+P0 * & UU@OU'3H,_O] '?[_]0K^_\ + @)W !P 0)_Z_PD#0!WZ M_[4*^O\ DB80_PD0'M8+=P#4_W\ J@SF%24 _PG^'=8+]0H$ /7E @#V_W\ MD@QW .3L9A&%$>8+MPKH'?\)WAWU'>XA_O_W%0$ YB'F'= =YA7H7_\)9@R6 M)68=" !F'08 9AT$ /\)5 S&908 YA4* /\)IAW6"W<=_O^T(7< E.SW"Z = M!@+ '98==PD&"29Q!8=W"2 ))G$!AX< P!4! 2)JE,1 &)5&5M<"!F:6QE M(&)O=&-H+@H OE,H /!?\%]& /!?\%\I /1?]%]' /1?]%\> /A?\%\? /Q? M]%\@ /A?\%\A /Q?]%\M /1? & N -@!V!+ /1? &!, -@!V K =@ L M !@ !) =@ !* !@ \ Q@$& ] !!@#& ^ !1@&& _ !Q@(&! "!@ M'&!! !A@%&!" "1@*6!# "U@,6!$ #%@+6!% "E@)& %Y4 M/ $ #P ! $ 0X M C@". (X C@0. (X$#@ .! X !!, $P030!- $T,2PQ+'$@<1QQ M' 121%)$4H12A%*$4H12A%*$4H12@+% L4 M"Q0+% L4*Q0K%"L4*Q0K% L4 1@ M !/ $\+%44 "!6%0 @5A8 (%8> "!6'P @5B( (%8C "!6 M) @5B4 (%8H "!6*0 @5BH (%8K "!6+ @5BT (%8N "!6+P @5C (%8\ M ,I5/0#*53X RE4_ ,I50 #*54$ RE5" ,I50P#*540 RE5% ,I51@ @5D< M(%9( "!620 @5DH (%9+ "!63 @5DT (%9. "!63P @5E (%8 ! ! V M8'\ ! ^8#\ ! !+8! $ !48'\ $ !>8#\ $ !M8'\ 5 !Y8'\ % "-8#\ M5 ">8#\ % "O8'\ ?P"\8'\ /P#18#\ ?P#D8#\ /P#Y8 /P _ IA J M5AX 4E8? %)6( !25B$ 4E90 (161@ L5T< +%=- 973@#.5@ 0 C\ M#F$0$S\ #F$0 S\ #F$0$C\ %&%_$S\ '6%_ C\ '6%_ S\ '6%_$C\ *&$ M ! ! V87\ ! ^81 $ %+81 ?P%581 /P!D87\ $ %P87\ 5 %_87\ M% "3850 ?P&D850 /P"X87\ ?P')87\ /P#?80 $ 0 /)A$ _ /QA?P 0 M AB5 !_ !=B5 _ "MB?P!4 #QB?P 4 %!B?P!_ &%B?P _ '=B 0 @ MBF(0 #\ EF)4 #\ J&)_ @ OV)_ !0 T&)_ #\ YV( ! !$ $ 8Q !?P$' M8Q !/P 38U0!?P$<8Q ?P$M8Q /P!.8U0!/P!I8W\!/P!W8W\ /P")8P M9E<4 $98%0!&6!8 1E@> %I8'P!:6" C%@A (Q8(@"^6", QE@= ,Y8) #6 M6"4 "%DF !!990 R6% &%DH (Y9*0".62H KEDK ,A9+ #(62T :%DN &A9 M+P!,63 ,ED\ &!9/0!@63X 8%D_ &!90 !@64$ 8%E" &!90P!@640 8%E% M &!91@"R6D< LEI( .Y920 46DH %%I+ )):3 "26DT 6&$ MZEH # _ +!C?P _ +AC/P _ ,5C !_ #\ T&,0 #\ X&,_ #\ ZV, M 0 /P#Y8Q !/P 9! #/P )9 $ (_ !-D$!,_ !-D$ ,_ !-D$ _ ")D M?Q,_ #-D?P(_ #-D?P,_ #-D?P _ $ID 0 C\ 8V00$S\ 8V00 S\ 8V00 M #\ FQ_ !0 G6Q_ #\ MP&P ! $ 'F;! /P -;7\ % V;50 /P!G;7\ /P"7;0 $ $0 5O/P _ /9O 0 1 !' _ ! +7 _ M '\!6' _ #\ BW #\ " "[<#\ /P#+< /P 0 .%P/P!_ /!P/P _ 1Q M "W'0( " "W'00 ! (B0! $ "AL 5__^' ( = @ !B7<)O L&'<) $R=8"= P # W<)] R==Y1,3 P,# P M,S(W-C< ' MT%)S *I2;P! 4F0 0%(64P ,E,E9#H@ ""4V%D9 !S=6( :6YC &1E8P!A M8P!M;W8 *'(T*0!B97$ 8FYE &)L90!B9W0 8FQT &)G90!B;&]S &)H:0!B M;&\ 8FAI;#,Y # H>;#$P,#$X " )0%;#0P " #H&;#$P M,#$Y " +8%;#0Q " "H&;#0R " +8%;#$P,#(P " ,(% M;#0S " 0&;#$P,#(Q " $8&;#0T " -H&;#0U " M ';#0V # " >;#0X # #X>;#0Y " "@';#$P,#(R M " $ ';#$P,#(S " $0';#4P " %0';#4Q " %P';#4R M # "(>;#4S " &H';#4T " '@';#4U " (P' M;#4V " * ';#4W " *0';#4X " +8';#4Y # M "0>;#8P " ,0';#8Q " .0';#8R " .@';#$P,#(T M " @(;#8S " !((;#8T " !8(;#8U # "8>;#8V M " "0(;#8W # "@>;#8X " $ (;#8Y # "P> M;#

;#@P " " );#@Q # # >;#@R " #X) M;#@S # #0>;#@T " $P);#@U " %H);#$P,#(W " M '8);#@V " +();#@W " +();#@X # #8>;#$P,#(X M " * );#$P,#(Y " *@);#@Y " +8);#DP # #H>;#DQ M " ,X);#0W " ,X);#DR # ) >;#DT # +@> M;#DU " / );#DV # )(>;#DW " @*;#DX # M )8>;#DY " " *;#$P,0 # *@>;#$P,@ " "X*;#$P,P M # )P>;#$P- " $8*;#$P-0 # *0>;#$P-@ " %P*;#$P M, " %P*;#$P-P # +0>;#$P. " '0*;#$P.0 " (P* M;#$Q, " *0*;#DS " *0*;#$Q,0 # - >;#$Q,@ " M ,0*;#$Q- # .H>;#$Q-0 " -0*;#$Q-@ " -0*;#$Q-P M " -0*;#$Q. " -0*;#$Q.0 " -P*;#$P,#,P " .P*;#$P M,#,Q " / *;#$R, " /0*;#$R,0 " /P*;#$R,@ " "(+ M;#$R,P " "(+;#$Q,P " "(+;#$R- # H?;#$P,#,R " M #0+;#$P,#,S " #@+;#$R-0 " '(+;#$R-@ " * +;#$R-P M " ,H+;#$P,#,T " -0+;#$R. " !X,;#$P,#,U " .@+;#$R M.0 " X,;#$S, # ! ?;#$P,#,V " /H+;#$P,#,W " /X+ M;#$S,0 " !H,;#$S,@ # !0?;#$P,#,X " $8,;#$S,P " M & ,;#$S- " & ,8S$Q+F\ ? &H,;#$ " 'H,;#, M # "(?;#0 " (0,;#$P,# P " (X,;#4 " .0,;#8 M " $P-;#< " % -;#$P,# Q " %H-;#@ " ,8- M;#D " !P.;#$P " " .;#$Q " $H.;#( " M $H.;#$R " *8.;#$T # #0?;#$U " + .;#$P,# R M " +H.;#$V " P/;#$W " $0/;#$X " $@/;#$P M,# S " %(/;#$Y " )(/;#(P " . /;#(Q " .0/ M;#(R " !(0;#$S " !(0;#$P,# T " %P0;#(S " M (80;#(T " '80;#(U " ) 0;#(V # $8?;#(W M # $H?;#(X # %(?;#(Y # %X?;#,Q # (0?;#,R M " -P0;#,S " . 0;#,T # &8?;#,U " .X0 M;#,V # '(?;#,W " /P0;#,P " /P0;#,X # M )0?;#,Y " !X1;#0P " "X1;#0R # *(?;#0S M " #@1;#0T " $ 1;#0U " $@1;#0V " % 1;#0W M " %@1;#0X " & 1;#0Q " & 1;#$P,# U " (P1 M;#$P,# V " ) 1;#0Y " +X1;#4P # , ?;#4Q " M .X1;#$P,# W " 82;#4R " !X2;#4S " ! 2;#4U M # -(?;#4V " $ 2;#4W " $ 2;#$P,# X " $H2;#4X M " (H2;#$P,# Y " %X2;#4Y " ( 2;#8P " '(2 M;#8Q # ,(?;#8R " 'P2;#8S # ,H?;#$P,#$P " M )@2;#$P,#$Q " )P2;#8T " *H2;#8U " + 2;#8V M " ,P2;#8W " - 2;#8X " .82;#$P,#$R " /82;#8Y M " !(3;#

7V]P M9&]P90 B %P47VYO=&-O;0 C P?7VIU;7!C C " ?7V-B'!R C !X>7W!R:6YT9@ C +X?7W)L96YG= C +H?7VES;@ C M !P?7V)R86YC: C $0?7VQA8F5L C %P?7VYR96< C !H?8G-W:71C M: B ((<7W!O<'-T:P C &0?7W!N86UE C (X>7W!R:6YS C X?7V-O M;&QC;P C !@?7VEN@ C !X?7VIU;7 C % ? M7VQE;F=T: C * ?7W!R:6YT;@ C +P?9V5T=P B +@<9F]P96X B M )8<9V5T8P B -@<<'5T8P B %@=9FQU'!R ", [AU? M<'5T8VAA ", '#%?9FQU!5$EL M !D 8C$Q-0 B 8VMS=&\ @ 8C$Q-BYO #L MG2JC ], G^_UL M8C$U B 8C$V+F\ #LG<:K !\X :\ 'S0 !P$, , M $ 92ADW$+B^E1); $ &(R, (@ &(S M+F\ [)VQL ?, ' 0H P 0!E "C5 _O]; M !B,P "( !B-"YO .R=];$ 'S@ !P$. , M &4I @,5"EL U14! %L !B- "( !B M-2YO .R=-[, 'S@ !P$. , &4I @(5"EL U14! %L M !B-0 "( !B-BYO .R=>;0 'S@ !P$. M , &4I @05"EL U14! %L !B-@ M "( !B-RYO .R=O[4 'S@ !P$. , &4I @85 M"EL U14! %L !B-P "( !C+F\ .R= M^+8 'SP !P$* 8 /44_O]; -446P :6, M B 8P B 8 9BYO &\N;P#LG7FY !\P "( @!X+F\ N;^R=H B 8 :7@ M B >2YO +F_LG=_/ !\X 0 B >BYO +F_L MG2?1 !], +Z."\[MT "W%6R^]Q4= M ,P ]Q7\_VJ^]Q6\-%B^PQU8OO<=4KY2OO<5 @!4OO<5#P!"OL!E#P!W"8@ M"@!W"8( !@#@E3H =PEX H =PER 8 X)4Z /<0'K[W%1@ %+[#'12^]QT. MO@Z^=PE4 H =PE. H PA4F08,B @:#Y/P!X)4@ ,+E)D'"#,)E0D&#"O<0 MXKUW"2@ "@#W"]B]!@/W93 T+W@G !\ 'P > !\ M'@#G P!*86X 1F5B $UA<@!!<'( 36%Y $IU;@!*=6P 075G %-E< !/8W0 M3F]V $1E8P( @ ! 0 P )D M # 0 # $ P 0 , 0 P M $ , $ $ ! 0 ! ! ! M , , # # 0 0 M $ ! $ # # " @ M @ 0 , $ 0 $ M 0 $ $ ! M M &-T:6UE+F\ 'P &-T:6UE+F\ 'P F &9E8G)U M @ H 7ER=&EM90 @ B 71D:78 @ . 61A>71A8@ @ F 6UO;G1A M8@ @ ^ 2YC=&EM90 (@ &-T:6UE (@ F &XQ,0 ( &5X M96-L+F\ [9WW0 /: ' 2 !@ D $0 41527-#'<5"@!W M$0@ U0S^ @N) $ 0'< X/\" ( # P M 9 "YE>&5C; (@ &XQ,0 ( &5X96-V+F\ [9V<0@ /D ' M 30 !@ D $0 41527-#'<5'@! $\ ,=Q$8 $$19AT" ,X* M P4)%-$,^P+6"Q$*"XD 0 ! =P#,_P( @ , P M &0 N97AE8W8 "( !N,3$ M " !E>&ET+F\ .V=$$0 'R@ !P$& , ) !$ ! MB0( @ "YE>&ET (@ &9O2YO &_MG5U+ M ]@ _P( @ , , &0 N;&EN:P M "( !N-P " !M86MD:7(N;^V=KE #UP !P$: 8 M ) !$ %$54ES0QW%00 #0H.B0! E0MW .;_ @ " P M &0 N;6%K9&ER "( !N-P " !O<&5N+F\ ;^V= M#E( #W !P$D 8 ) !$ %$54ES0QW%08 =Q4$ 6) $ M0 *&P!7__Q40=P#<_P( @ , # M 9 "YO<&5N (@ &XW ( '!R:6YT9BYO[9U+;P /Q 0' M 4P! !P" =P!" 09 B '@ !@ & M B ' 0 > )0 9$ !P M !40 < >0 &@ !@ < M ! !X 200 &@ !P !O "N M0 " +) * !$00 : !$00 @ M ' !H @ "$$ M !P -9 !$00 D000 9 ".0&\ CD!C +I &X ,@ #H (@! @!H 0( 2 *( 0( ( " M @ ( : %X ;@ 2 .@ : +@": +@": $" $@"6 $" MR0( '9C 0 "YP &PR @ > '@ ( "YC:&%R ( M &XR ( &$ ( '4W ( &XS M( &(U ( &8 ( &PS @!D &EA M ( &(T ( &PT @!4 &XQ,0 ( &EX M ( "YP=71C:&$ ( '0 ( '4S ( M 'H ( &PU @ 2 6PV 0!D &PW M @". &PQ, 0!O &PQ,0 @". "YP " N M<'5T8VAA " !N,@ " !N,P " !B,C " M !L- ( @ !B,38 " !B,30 " !N,3$ M " !C:&%I;@ " !P=71C:'(N;^V=-U0 #\ !P$T !( M ) !$ %$54E=Q4D , =(@#WBQT !@/W !8 !(DP0 ( P$$B3! 0!W M -3_+D 0 " ( P , # # @ M " 9 ( * +G!U=&-H80 B ;C< @ ;C$Q M @ +F9L=7-H B "P +F9O=70 B #( 8V@ " # M<75I="YO &_MG4)6 ^L )E0MW .S_ @ " M &0 NUT #VP !P$B 8 ) !$ %$54ES0QW M%0H S0QW%08 #0H2B0! $"5"W< WO\" ( # # M !D +G-T870 B ;C< @ 2YO #M MG>!? ]@ ) H; M%?__%1!W .K_ @ " 9 "YW86ET (@ &XW M ( '=R:71E+F\ [9TN9P /= ' 28 !@ D $ M0 41525 %! "Q"@0 @16% , M , # P M P , M !G971C "( 0@!G971W M "( (@!F;W!E;@ "( !P=70N;P !R?X+P 'X0!!P&< \ M &80014W$ ( "(D 0 \ !8<1$!$*$0J!%84 T17__X$5L0"% '<3 M"@!W%1 )A!W"0X $" %< =PD$ ! A0!F$$$5\0H" 4$)A#W"2 @!7X M 3F0! "Q"@0 @16% "809A!!%?<)!@"!%8 5A0! $,!E!@ F$#<0$ "T!L M! &!S<0!@! $@2) $ 0+$5! #Q%0 " @"' , M P , , # M , P M P P M '!U=&, (@! '!U='< (@ D &9L=7-H (@!@ &9C& #P"@9W]68 0/E ^'<)'@# \3?T8 "% 'X-_90 '?T3 ! M^7<)!@ W]%( A0# %;I YA4$ /XP_)8]4/R6/3."OP"SA4$ ,+X 0&#\ICT MS@K\ M8+0OD!\H4 ]$#\0 1!#$$401Q!)$$L011!@$ #)0-H/(:+" M:$E V@\AHL)H&D%Y@OR9,>_4/\P3Y\^1>2(_%LI$>Y$;U4%V(T^;Q5 C0X;@ MS/4A*YI#D_07?*5=,D-5*FH,-*QX0DH0U,/4:'M#_E?Z*E)SN$-,IGY3$'H M P M # # # P # M , P # # , # # M P @ M " ( @ " ( @ " ( @ M M &%T86XR M(@ 0 &%T86X (@ '-A=&%N @!2 '!I,@ @#4 '-Q,FTQ M @#L &%R8W1A;@ @", '-Q,G Q @#D &]N90 @#, '!I M- @#< ' T< @"Z ' T @#T ' S @#\ M ' R @ $ 7 Q @ , 7 P @ 4 7$S M @ < 7$R @ D 7$Q @ L 6%T;V8N;P ')_WHP /+ $' M 8( !@ 9A"F$-?^"@ ""@#Q)@I]"0 %R M ,"C@I]"0 MP.4P !<@"0 %@@/R0/X!],$*] ' 93 %R N ," 0J""NP!-PI^OA<@90 % M G<3! !W":S_ $#""P$" 0K!;62^P0L#! /Y@0K[ <$+ P<#\L$*^P'6"P$# MP/&"%8$5U0N% M 0 , M 9 ! M !A=&]F "( !A=&]I " !A=&]I+F\ !R?[J0 'Y0 M!P$\ , #<*P+Y]"0 )@H7("T P*."GT) # Y3 %R ) M :"]Q4* *"^-V":OO,!P&4P -8+ @,W"XR^U0N% 0 M $ ! $ M &%T;VD (@ &5X<"YO ')]1IP ?" $' 78 P M O!7_@$ E_X" $#Q / " D#XA0 #!L#QYA$! 28*)@H"^0'W / "!(X*^@$F M^ #R!?@ \=?^$P# %0H _0$^ 7U!/G"]L *^0;6]<#YP?; ^ +T _F %04# M /( \ B%P K[!M8+ @- ^4#XH0"% -8+L0"% M M M !E>' "( !F<"YO !R?"JP 'R07!P$^"0 M8 "8! /<*. D!! 0 MQ6,";<5B@DW$'8)P!6,25 0D!#0$! 14!&0 M$<;E" %$C<**@E%&401Q$7_#QI!ZD'J0>I!ZD'20>)!5R$ M 04$=PCP 0!#PD($ 7<(Y@'<0IY"Q1#$#,0,!(K$ ,0,_ FF0'< 2@'J04Y& M5D;J009%*$4B11A%5R$ "AP%0A$"BI<@ T"!<+E .7( *!0)W"* ! $/" M0A$!ER "P4"=PB0 ?)"R$() 7<(A@'<0K!"! %W"'P!W$*>0O<)8@&%$ 2* MQ #$#/P)#D%Q >I!ZD&41YI'7D;<1&1&*D7T1!!(/$; 18!%*$:216A%%R$ MI!1!'$13\ %R' #0X#%R$ #1@#-@'W" ".0MI"!$,.0QI#)D,V M0T9#5D/ %00 ]S6 *X& @/ 900 AP# %0@ ]S6 )P& @/ Y00 AP# %0( MAP# %0( ]S5 (0& @/ 90( AP!9 ,/EBDG7( P /H;##,,,PV5:2=$+@0#W M-4 7@8T M<@EDDQAM$+@0#7()A)+ /#$BP!YA+Y"0( "V"#%28!YAX ,ME M @"#%2 !UR"821L#^0D" O@PQ(8 =<@F$D3 \OE @##'@ $ 'F'TX&]V4" M $@&SF*#%0@!=PCL_P! $##$@(!=P"$_L,U 0#[ E$D@0# %3Y)]PD& ,(0 MP!5*20@*@11F$ D# @60"@$!T K!18#_P56 $!$ I0$) 4]S6 +(% P.0 M%) 4 @$0"A *@17!# &*P0#!Y8 4!"' , 50$D!%&80 A2.4 ,4SE $%!91 M P(W"F0%AP#!-0#_!P.A $, @P## 0,B KV <$U@ & L0,0PQ"#$$,R KW M 2 1X!"@$& 0AP"W$K2Z]Q*RNLH=JKKW'>*[? 7WM00 I;H# _=%! !N!?>U M @"7N@,#]U4! & %]PE ,H=@KJ' #<*4@6W$GBZMQP" '"Z]Q)JN@,"]U4! M #P%RAUBNO==F+LR!?<)$@#*'5*Z=XQ5N@,$]U4" !X%AP#"Y8I)PE4" ,)E MBDF' ( 2P$*+0@M0]QUFNP %AP"W$B2ZP!+ 1<#_P#4@ (#P%7 _S<0&KK* M'0RZ]QU"N]P$][4! 6Z P/W50$ S@1WC/FY P3W50( P@2' 0 TA32%/ O<+V@)A _<+R )5 M \$=S +![=0"!P4> U<@. !5!, 53$D& 0$+5R X $4$P!5 2680 10"% ,4 M!!2(8Z$ 0P"# ,,! S."OD&(!'@$* 08!#6"\$52$G"%51)P!4$ /BQ /H! MP15 20F"@+D M3@LF"@/D3@L$Y(,+3@N"Y4X+@>6-4\0,0PQ"#$$,H0 .#-P"SA4 @,5E @!7 M(4A)U8?6"X45=P!>_O<)S/KW;:P G@#W"IH ]PER &81Q1502?@!B861I;G, ( Z@%I+F-F8V, ( O %I+G-E=&8 ( R@%I M+G-E=&D ( V@%I+G-E=&0 ( T@%I+G-E=&P ( X@%F M ( W 1I+G-U8G@ ( 9 9I+F-M<'@ ( *@5I+G-T> ( ] 1I+F1I M=G@ ( $ AI+G-T97AP ( / 9I+G-T8WAJ ( P 5I+G-T8WAY ( @ 5I M+FQD97AP ( * 9I+FQD8VIX ( D@5I+FQD8WEX ( : 5C;&%S0 ( # 1I+F1V9 ( 1 1I+F%S: ( G 1I+F%S M:&, ( V@1I+GAO<@ ( C 1I+G-X= ( D@%I+FUA =O=F9L M;P ( B@=I+FUU; ( H AB97AP 0 5 EX;W)S:6=N ( ) EA M8S0 0 >@EA8S4 0 @@EF=&]A+F\ !R?'JT #S@!!P&" M D "81YA#7_@H E_X! 0* ?AW\F8 ?1 \0#P$@,%!,#QP!4M M 'T) #]P#P P:$"@/Y^@$"]P#P P?$"@/R^@$"\T#[P&4P 'T) # %2X M?0D ,,5" #\T#[P&4P 'T) ##"O@&P!5E 'T) $8,5A!5W (;_P"H M # M M 9 M9G1O80 B :71O80 @ 'TH0"% !! M0$ # 0 #% %W+1]V[/ # M , P # M , M # M;&]G B 9C$N-0 " (P 9C( " 'P 9BXW-0 " M (0 9FQN,@ " )0 ;65S9RYO # ;78 P S 91 -Q , - H P&4, .8!@! & MB8(5@16 %84 # M 8 < !P < P < !P ' !P M < # !P !P & M ' < !P ' ' M ' ;FQI+YXOO<5 @!ZOO<5#P!HOL!E#P!W"8@ "@!W"8( !@#@E3H =PEX H M=PER 8 X)4Z /<01+[W%1@ .K[#'3J^]QTTOC2^=PE4 H =PE. H PA4 M08,B @:#Y/P!X)4@ ,+E $'"#,)E'$&#"O<0"+YW"2@ "@#W"_Z]!@/W93 M]KW@G?*] @'@E2 X)4@ *"8H)B@F(,5@A6' #<*UKUW%="]]V4P ,R]X)W( MO84 R' $A\ ' ? !X 'P > !\ 'P > !\ '@#G P!*86X 1F5B $UA<@!! M<'( 36%Y $IU;@!*=6P 075G %-E< !/8W0 3F]V $1E8P P M $ P ! , $ # $ , ! # M ! ! 0 $ 0 0 0 # # M P P $ $ ! 0 ! M P P @ ( ( $ # M ! $ ! $ M ! ! 0 M M !C=&EM90 "( !F96)R=0 ( @%Y7,O;6%K:2YS M M @(" T,38@ " @ M(" @," (" @(" P( @(" @(" @,S8Q," @(#4U,#7,);W!E M;CL@=&%P93L@,0H)8F5S"65R7,)7,)97AI= H*=&]U=#H* M"6UO=@EF;RQR, H)Q! M (!AX< P!4! 2)P$ $ 0 8D'/P<*QA4 ('<)0@ ! @ . % '<)A # M # " X , =PDH "$ " X 4 =PEJ , . ( #@ P!W"5P P P !8 M /P% %\ %C %>C^P17B_LD5 P#)B_X$R0L#!4@C#0/S!LD5 PC)B_X$R0OM M!0(2PF4% $(CZ ;T =4+8!5@%6 5R(O^!,@+ P3%Y0@ W '(%0$ A0# %3K_ M8!5@%6 58!5@%4* /(!A0 O9&5V+W1A<#< +V1E=B]R9C M+V5T8R]I;FET "]E=&,O9V5T='D +V)I;B]C:&UO9 O8FEN+V1A=&4 +V)I M;B]L;V=I;@ O8FEN+VUK9&ER "]B:6XO@%ED$! %6'-Q#F 02)Q$ D^'!8F$00 2X0?1!,(?#%?1! MTQV@ =.=F '3G9+^R14# ,F+_@3)"P,%2",- _,&R14#",F+_@3)"^T% A+" M904 0B/H!O0!U0M@%6 58!7(B_X$R L#!,7E" #< <@5 0"% , 5.O]@%6 5 M8!5@%6 5R(O^!,@+ P3%Y0H \@&% "]D978O=&%P-P O9&5V+W)F, O971C M+VEN:70 +V5T8R]G971T>0 O8FEN+V-H;6]D "]B:6XO9&%T90 O8FEN+VQO M9VEN "]B:6XO;6MD:7( +V)I;B]S: O8FEN+W1A< O8FEN+VUT "]B:6XO M;', # ( $(D@50! =YP" 0 #XD@50! 7QP( ,3^7QP& ,+^'HD@58< MWXOP5 H#7PG@2L(!!@$?"L3^'HD@58 0!HG!%2!5WPD,1%\)&$0@+2T@8W)E M871E(&5R*V0#.[=( M@L" /;MR " )\5Q/Z?%<+^ MP1425>&5( #?%?S_S/[?%;PTP/[#%\3^WQ?"_L3^WQ4" ,S^WQ6$ \#^PA4@ M2$H)"@!*"08 X94Z -\0Q/[?%1@ P/[#%\3^WQ?"_L3^2@D* $H)"@ ""H"< MUD<#( ,& ^"""OD!X94@ *80P@R"9<)EY4>#"M\0Q/YW"8X "@#?"\3^!@/? M93 Q/[AE\3^ @'AE2 X94@ *&8H9BAF.&5( # %0$ !(D$50X P14@5=\) M#$1?"1A$"@"' ,AP^Q$?'!\>'QX?'QX?'A]*86Y&96)-87)!<')-87E*=6Y* M=6Q!=6=397!/8W1.;W9$96-Q-0( ! - %=\)*D2% , 5+0#?"2I$U0N% !\* MPOY?%<#^WV4P ,+^X9?"_H4 7PD21G@ AP!#' 0 .P- ' H WPG,10B)(%4 M #2' A#7( "#(??"6A%@! $B0Q (PAQ<@ (M @/@\0'W$ P "@/?"6A% M@! $B0Q $ AAS<@^/\> H 0!HEWG , ! M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M $ 0P ! $, P_YHO@B '@ !(* ="I( 4@H6@ M @Z2 $P#P "#ID%R0$:@ ([@ > -Y! #T0P P $ +Y ! /I_ M !A+F]U= #>?]I_[G\$ 'P 0(# -H_J@ \!$! $ $ ]$,. M+VH 8V]R90 #\*@$ 0!* L8" $# M M M M M M M M 0!# $ 0P ##_FB^"( > M $@H !T*D@!2"A: "#I( 3 / (.F07) 1J CN !X WD$ M /1# # 0 OD $ ^G\ &$N;W5T M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M / end From mairix@mairix Mon Jan 1 12:34:56 1970 X-source-folder: /home/wkt/Mail_archive/2000/01/04 Received: from csadfa.cs.adfa.edu.au (csadfa.cs.adfa.edu.au [131.236.21.6]) by henry.cs.adfa.edu.au (8.9.2/8.9.3) with ESMTP id RAA09013 for ; Tue, 4 Jan 2000 17:58:23 +1100 (EST) From: dmr@plan9.bell-labs.com Received: from plan9.cs.bell-labs.com (plan9.bell-labs.com [204.178.31.2]) by csadfa.cs.adfa.edu.au (8.9.0/8.9.0) with SMTP id RAA10252 for ; Tue, 4 Jan 2000 17:58:21 +1100 (EST) Message-Id: <200001040658.RAA10252@csadfa.cs.adfa.edu.au> Subject: Re: Happy New Year + 1stEd binaries run again Date: Tue, 4 Jan 2000 01:58:10 -0500 To: wkt@cs.adfa.edu.au MIME-Version: 1.0 Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: 7bit Status: RO X-Status: A Content-Length: 2362 Lines: 58 > Merry Christmas & Happy 2000 to you and your family. I hope you > didn't suffer too many Y2K problems. None to report here. Likewise on all counts! As a giggle I did fix a troff -ms bug (on Plan 9) that is widely shared in many environments wherein the date when converted to a string was January 1 19100. It all owes, I suppose, to the C routine that returns year-1900 and lots of programs catenate two digits to "19". > This e-mail contains some new observations, reports and requests on early > Unixes. I hope you don't mind my requests. It is summer break here, and I > have been working on my PDP-11 a.out emulator. By using your on-line 1st > Edition manuals, I can now run the 0405-magic a.out binaries on the `s2' In some ways it's like summer break here (aside from the holidays) because the temperature was 65F today. Not the usual January. I'm not sure what to do about the early-70s date issue. It looks likely that some of the files are mis-epoched, but I haven't worked out the details. As you know the epoch did change more than once. The extraction program has an idea (based on whether it was a tap or tp tape) of which to use, and the exact code that interprets the bits is on tap tapes is now long cvtime(unsigned char *tp) { unsigned long t = (tp[1]<<24)+(tp[0]<<16)+(tp[3]<<8)+(tp[2]<<0); t /= 60; t += 3*365*24*3600; return t; } which seems to reduce 60ths sec to sec, then normalize to 3 years before that epoch. It appears that there's no such routine for tp tapes (so I guess that the "standard" epoch had been adopted by then). > I'd be interested to know any details you have about the origins of the s2 > tape, especially who are jack, peter, jay, bob, sun and lee in /etc/uids. I don't know the origins, and in particular who jack etc. are, and why they are the only personal names in the password file. I can think of some possibilities, but the tape snapshot was clearly not taken of our main machine. (Lee could be conceivably be Lee McMahon, whose usual or maybe later login name was lem; peter could be Peter McIlroy, Doug McIlroy's son; but the collection is an odd one). I'm wondering whether the tape might have been made on an offshoot or cloned system. I'll try to dredge up the s1 and s2 bits once I figure out the current magical bindings for ftp. I have never decrypted s1. Dennis From mairix@mairix Mon Jan 1 12:34:56 1970 X-source-folder: /home/wkt/Mail_archive/2000/01/04 Received: from csadfa.cs.adfa.edu.au (csadfa.cs.adfa.edu.au [131.236.21.6]) by henry.cs.adfa.edu.au (8.9.2/8.9.3) with ESMTP id OAA18871 for ; Wed, 5 Jan 2000 14:19:19 +1100 (EST) From: dmr@plan9.bell-labs.com Received: from plan9.cs.bell-labs.com (plan9.bell-labs.com [204.178.31.2]) by csadfa.cs.adfa.edu.au (8.9.0/8.9.0) with SMTP id OAA17000 for ; Wed, 5 Jan 2000 14:19:17 +1100 (EST) Message-Id: <200001050319.OAA17000@csadfa.cs.adfa.edu.au> Subject: Re: Happy New Year + 1stEd binaries run again Date: Tue, 4 Jan 2000 22:19:01 -0500 To: wkt@cs.adfa.edu.au MIME-Version: 1.0 Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: 7bit Status: RO Content-Length: 2689 Lines: 135 > Could you send me the program you wrote to decode s2-bits? I had a > quick look at s1: I don't recognise the format. I thought it might > be a dump of a filesystem, but there are full pathnames in the file, > which suggests otherwise. I haven't done full "cryptanalysis" on s1, but I can't figure out what it is. But you're right that there is something there. Attached below is the "plugin" for tapfs (part of the plan 9 things that mount things as file systems). It's the only part that's tap-specific. Just got your latest mail--as I said, I don't recognize the format of s1 either. My headers for s2 are consistent with yours, I think, modulo date understanding. (And mapping of permissions etc into Plan 9). For example: --r---wxrw- M 10745 79524 28 1912 Jan 3 1973 bin/form The M 10745 79524 28 part is just Plan 9; there's a possible year ambiguity; the day difference is probably US vs AU. --- #include #include #include "tapefs.h" /* * File system for old tap tapes. */ struct tap { unsigned char name[32]; unsigned char mode[1]; unsigned char uid[1]; unsigned char size[2]; unsigned char tmod[4]; unsigned char taddress[2]; unsigned char unused[20]; unsigned char checksum[2]; } dir[192]; int tapefile; char buffer[8192]; long cvtime(unsigned char *); void populate(char *name) { int i, isabs; struct tap *tpp; Fileinf f; replete = 1; tapefile = open(name, OREAD); if (tapefile<0) error("Can't open argument file"); read(tapefile, dir, sizeof dir); for (i=0, tpp=&dir[8]; i<192; i++, tpp++) { unsigned char *sp = (unsigned char *)tpp; int j, cksum = 0; for (j=0; j<32; j++, sp+=2) cksum += sp[0] + (sp[1]<<8); cksum &= 0xFFFF; if (cksum!=0) { print("cksum failure\n"); continue; } if (tpp->name[0]=='\0') continue; f.addr = (void *)(tpp->taddress[0] + (tpp->taddress[1]<<8)); if (f.addr==0) continue; f.size = tpp->size[0] + (tpp->size[1]<<8); f.mdate = cvtime(tpp->tmod); f.mode = tpp->mode[0]&0777; isabs = tpp->name[0]=='/'; f.name = (char *)tpp->name+isabs; poppath(f, 1); } } long cvtime(unsigned char *tp) { unsigned long t = (tp[1]<<24)+(tp[0]<<16)+(tp[3]<<8)+(tp[2]<<0); t /= 60; t += 3*365*24*3600; return t; } void popdir(Ram *r) { USED(r); } void dotrunc(Ram *r) { USED(r); } void docreate(Ram *r) { USED(r); } char * doread(Ram *r, long off, long cnt) { if (cnt>sizeof(buffer)) print("count too big\n"); seek(tapefile, 512*(int)r->data+off, 0); read(tapefile, buffer, cnt); return buffer; } void dowrite(Ram *r, char *buf, long off, long cnt) { USED(r); USED(buf); USED(off); USED(cnt); } int dopermw(Ram *r) { USED(r); return 0; } From mairix@mairix Mon Jan 1 12:34:56 1970 X-source-folder: /home/wkt/Mail_archive/2000/01/04 Received: from csadfa.cs.adfa.edu.au (csadfa.cs.adfa.edu.au [131.236.21.6]) by henry.cs.adfa.edu.au (8.9.2/8.9.3) with ESMTP id TAA09290 for ; Tue, 4 Jan 2000 19:05:10 +1100 (EST) From: dmr@plan9.bell-labs.com Received: from plan9.cs.bell-labs.com (plan9.bell-labs.com [204.178.31.2]) by csadfa.cs.adfa.edu.au (8.9.0/8.9.0) with SMTP id TAA10549 for ; Tue, 4 Jan 2000 19:05:07 +1100 (EST) Message-Id: <200001040805.TAA10549@csadfa.cs.adfa.edu.au> Subject: Re: Happy New Year + 1stEd binaries run again Date: Tue, 4 Jan 2000 03:04:56 -0500 To: wkt@cs.adfa.edu.au MIME-Version: 1.0 Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: 7bit Status: RO X-Status: A Content-Length: 156 Lines: 10 Try doing anonymous ftp to plan9.bell-labs.com, looking in directory incoming/dmr . Files are s1-bits and s2-bits. Let me know if it works. Dennis From mairix@mairix Mon Jan 1 12:34:56 1970 X-source-folder: /home/wkt/Mail_archive/2000/01/05 Received: (from wkt@localhost) by henry.cs.adfa.edu.au (8.9.2/8.9.3) id NAA18696; Wed, 5 Jan 2000 13:58:25 +1100 (EST) From: Warren Toomey Message-Id: <200001050258.NAA18696@henry.cs.adfa.edu.au> Subject: More on s2-bits archive In-Reply-To: <200001040805.TAA10549@csadfa.cs.adfa.edu.au> from "dmr@plan9.bell-labs.com" at "Jan 4, 2000 3: 4:56 am" To: dmr@plan9.bell-labs.com Date: Wed, 5 Jan 2000 13:58:25 +1100 (EST) Cc: wkt (Warren Toomey) Reply-To: wkt@cs.adfa.edu.au X-Mailer: ELM [version 2.4ME+ PL43 (25)] MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Status: RO Content-Length: 8051 Lines: 138 In article by dmr@plan9.bell-labs.com: > Let me know if it works. > Dennis Dennis, I've modified my emulator to seek properly on /dev files in 1st Ed. The following list gives details of all the files in the s2-bits tap-format archive. The first columns are a direct copy of a listing done with the emulated 1st Edition tap(1) from the s2-bits tape. The 2nd last column gives the file's modified timestamp (in decimal) as recorded in the archive: I captured the smdate(2) argument as tap(1) tried to extract the archive. This is in 1/60th second units. The epoch is possibly 1971, but this is not certain. The last column gives the timestamp (in hexadecimal) after it has been converted to seconds since 1970, assuming an epoch of 1971 as above. The list is sorted by the TAP DATE column. MODE UID SIZE TAPA DATE NAME TAP DATE SECONDS ============================================================================= -rwrw 0 16448 538 Jan 1 00:33 /core 121912 -> 0x1e13b6f -rwrw 10 54 529 Jan 1 00:52 /usr/x 188944 -> 0x1e13fcd -rwrw 10 84 474 Jan 1 00:58 /usr/jack/x.f 209544 -> 0x1e14124 -rwrw 0 312 490 Jan 1 00:58 /usr/jack/x.o 210381 -> 0x1e14132 xrwrw 0 7514 475 Jan 1 00:58 /usr/jack/a.out 210836 -> 0x1e14139 -r-r- 1 1664 533 Jan 1 01:31 /tmp/etma 328795 -> 0x1e148e7 -rwrw 1 670 530 Jan 1 01:33 /usr/ken/maki.s 336810 -> 0x1e1496d -rwr- 0 142 532 Jan 1 01:33 /tmp/utmp 337991 -> 0x1e14981 -rwrw 0 512 259 Jan 1 01:33 /etc/std0 338378 -> 0x1e14987 xrwrw 0 698 229 Jan 1 01:35 /bin/maki 344095 -> 0x1e149e6 -rwrw 0 26 537 Jan 1 01:35 /tmp/ttmp 344821 -> 0x1e149f3 -rwrw 0 16448 260 Jan 1 01:36 /usr/sys/core 347684 -> 0x1e14a22 -rwr- 1 1928 298 Jan 1 01:36 /usr/sys/maki.s 348923 -> 0x1e14a37 xrwrw 0 2192 293 Jan 1 01:37 /usr/sys/a.out 349375 -> 0x1e14a3e xrwr- 3 1912 135 Jan 4 17:05 /bin/form 19243860 -> 0x1e6185b urwr- 0 3940 142 Jan 5 19:26 /bin/mail 24936840 -> 0x1e78afe xrwr- 1 2662 241 Jan 6 18:01 /etc/glob 29812654 -> 0x1e8c86d xrwr- 1 186 240 Jan 6 18:01 /etc/msh 29812724 -> 0x1e8c86e urwr- 0 784 50 Jan 17 17:46 /bin/mv 86785042 -> 0x1f74591 xrwr- 3 134 114 Jan 17 17:53 /bin/cat 86808907 -> 0x1f7471f xrwr- 3 82 25 Jan 17 17:53 /bin/chmod 86808926 -> 0x1f7471f xrwr- 3 420 93 Jan 17 17:53 /bin/cmp 86808947 -> 0x1f7471f xrwr- 3 160 48 Jan 17 17:53 /bin/cp 86808966 -> 0x1f74720 xrwr- 3 464 79 Jan 17 17:53 /bin/du 86809052 -> 0x1f74721 xrwr- 3 104 49 Jan 17 17:53 /bin/ln 86809162 -> 0x1f74723 xrwr- 3 2010 42 Jan 17 17:53 /bin/ls 86809182 -> 0x1f74723 xrwr- 3 154 126 Jan 17 17:53 /bin/mesg 86809205 -> 0x1f74724 xrwr- 3 70 121 Jan 17 17:53 /bin/rew 86809297 -> 0x1f74725 xrwr- 3 93 52 Jan 17 17:53 /bin/rm 86809316 -> 0x1f74725 xrwr- 3 1026 54 Jan 17 17:53 /bin/stat 86809356 -> 0x1f74726 xrwr- 3 80 125 Jan 17 17:53 /bin/tty 86809419 -> 0x1f74727 xrwr- 3 524 57 Jan 17 17:53 /bin/write 86809532 -> 0x1f74729 xrwr- 3 560 77 Jan 17 17:54 /bin/who 86813788 -> 0x1f74770 xrwr- 3 644 139 Jan 17 17:54 /bin/wc 86813793 -> 0x1f74770 xrwr- 3 750 164 Jan 17 17:54 /bin/skip 86813802 -> 0x1f74770 xrwr- 3 1166 115 Jan 17 17:54 /bin/pr 86813803 -> 0x1f74770 xrwr- 3 300 141 Jan 17 17:54 /bin/od 86813807 -> 0x1f74770 xrwr- 3 1844 159 Jan 17 17:56 /bin/if 86819396 -> 0x1f747cd xrwr- 3 1154 156 Jan 17 17:56 /bin/goto 86819398 -> 0x1f747cd xrwr- 3 276 163 Jan 17 17:56 /bin/exit 86819403 -> 0x1f747ce xrwr- 3 1054 153 Jan 17 17:56 /bin/echo 86819406 -> 0x1f747ce xrwr- 3 244 60 Jan 17 17:56 /bin/dsw 86819407 -> 0x1f747ce xrwr- 3 5922 80 Jan 17 17:56 /bin/bas 86819408 -> 0x1f747ce xrwr- 3 16 152 Jan 17 17:56 /bin/: 86819410 -> 0x1f747ce xrwr- 1 954 32 Jan 19 17:20 /bin/sh 97059255 -> 0x1f9e276 xrwr- 3 2310 103 Jan 26 17:20 /bin/ar 133346922 -> 0x2031cf0 xrwr- 3 1048 166 Jan 31 18:14 /bin/stty 159458885 -> 0x209c0f0 xrwrw 6 2860 169 Mar 7 12:23 /bin/cal 339637168 -> 0x237934b -rwr- 3 2082 233 Mar 28 16:42 /etc/suftab 449432781 -> 0x2537f72 urwr- 0 1290 28 Mar 29 15:19 /bin/login 454317684 -> 0x254bd79 xrwr- 3 4066 95 Mar 29 16:42 /bin/db 454616955 -> 0x254d0f5 xrwrw 3 76 94 Apr 6 19:42 /bin/chball 496735250 -> 0x25f8708 xrwrw 3 446 232 Apr 7 16:40 /etc/getty 501264829 -> 0x260aded xrwr- 3 6846 176 Apr 14 20:50 /bin/dc 538454712 -> 0x26a2325 urwr- 0 794 26 Apr 20 23:45 /bin/date 570186721 -> 0x2723508 urwr- 0 746 190 May 3 22:54 /bin/su 637395674 -> 0x2834c9d xrwr- 3 3998 127 May 10 15:23 /bin/ed 672059949 -> 0x28c1d67 xrwr- 3 330 213 May 27 00:21 /bin/find 756940137 -> 0x2a1b374 xrwr- 3 480 59 May 27 00:21 /bin/strip 756940428 -> 0x2a1b379 urwr- 1 872 211 May 27 00:26 /bin/ds 756957948 -> 0x2a1b49d xrwr- 10 2730 192 May 27 23:37 /bin/fc 761966733 -> 0x2a2fab5 xrwrw 3 17092 346 Jun 6 21:26 /usr/lib/c1 813333853 -> 0x2b00aec -rwrw 0 3498 339 Jun 9 17:10 /usr/lib/bilib.a 827964344 -> 0x2b3c36d -rwrw 0 6626 326 Jun 20 10:47 /usr/lib/libb.a 883611316 -> 0x2c1ea47 xrwr- 3 7582 214 Jun 30 17:45 /bin/as 936955268 -> 0x2cf7b31 xrwrw 3 5778 247 Jun 30 17:47 /etc/as2 936962166 -> 0x2cf7ba4 xrwr- 3 238 118 Jun 30 18:37 /bin/un 937143109 -> 0x2cf876b -rwrw 0 12158 302 Jun 30 18:40 /usr/lib/liba.a 937154143 -> 0x2cf8823 xrwr- 3 2942 108 Jun 30 19:26 /bin/ld 937319472 -> 0x2cf92e7 xrwr- 3 518 75 Jun 30 20:09 /bin/nm 937472871 -> 0x2cf9ce3 xrwr- 3 1446 208 Jun 30 20:15 /bin/size 937496145 -> 0x2cf9e67 -rwrw 28 304 448 Jun 30 20:31 /usr/lib/fr0.o 937553564 -> 0x2cfa224 -rwrw 28 12222 449 Jun 30 20:37 /usr/lib/filib.a 937573356 -> 0x2cfa36e -rwrw 28 9158 419 Jun 30 20:46 /usr/lib/libf.a 937606048 -> 0x2cfa58f -rwrw 0 108 473 Jun 30 21:11 /usr/lib/crt0.o 937696858 -> 0x2cfab78 -rwrw 0 5242 437 Jun 30 21:20 /usr/lib/libc.a 937728015 -> 0x2cfad80 xrwrw 3 19948 380 Jun 30 21:21 /usr/lib/c0 937734428 -> 0x2cfadeb xrwrw 3 4672 198 Jun 30 21:53 /bin/cc 937848855 -> 0x2cfb55e xrwr- 28 3462 491 Jul 1 16:35 /usr/fort/fc1 941888104 -> 0x2d0bc57 xrwr- 28 3238 498 Jul 1 16:35 /usr/fort/fc2 941888184 -> 0x2d0bc58 xrwr- 28 6840 505 Jul 1 16:35 /usr/fort/fc3 941888472 -> 0x2d0bc5d xrwr- 28 4918 519 Jul 1 16:35 /usr/fort/fc4 941888613 -> 0x2d0bc5f xrwrw 3 214 175 Jul 15 01:21 /bin/sum 1011175062 -> 0x2e25b35 xrwr- 4 7154 61 Jul 21 12:42 /bin/roff 1044729738 -> 0x2eae3c2 urwr- 0 282 53 Sep 28 21:37 /bin/rmdir 1404349922 -> 0x3465888 urwr- 0 232 31 Nov 6 21:42 /bin/mkdir 1606544287 -> 0x379c43a urwr- 1 192 92 Nov 22 19:35 /bin/df 1689030995 -> 0x38ebe74 urwr- 1 1084 122 Nov 22 19:35 /bin/check 1689030997 -> 0x38ebe74 xrwr- 3 718 46 Nov 22 22:51 /bin/chown 1689737545 -> 0x38eec74 xrwr- 3 604 150 Nov 22 22:51 /bin/sort 1689737557 -> 0x38eec74 urwr- 1 790 119 Nov 26 14:24 /bin/tm 1708647263 -> 0x393bb8e urwr- 0 3678 34 Dec 31 04:08 /bin/tap 1887871165 -> 0x3c14fc7 -rw-- 1 221 239 Feb 6 14:35 /etc/passwd 2081934621 -> 0x3f2aa1e -rwr- 1 70 238 Feb 6 14:38 /etc/uids 2081948231 -> 0x3f2ab01 xrwr- 1 424 231 Feb 6 14:50 /etc/init 2081988977 -> 0x3f2ada8 Note that the tap timestamp of 2081988977 for /etc/init is approximately 13 months. Therefore, the February for the last 3 files is the one in the year after all the other archive files. Note also that the C compiler passes, and the library, are dated in June of the epoch year. Given that you have said that ``1972-73 were the truly formative years in the development of the C language'', it's therefore unlikely that the epoch for the s2 tape is 1971: it must be 1972. I've used the emulated 1st Ed tap(1) to extract all the files from the archive, and have created a gzipped tar archive of the files. You can retrieve this via anonymous ftp to minnie.cs.adfa.edu.au in incoming/s2-bits.tar.gz. I used 1972 as the epoch when doing this. Cheers, Warren From mairix@mairix Mon Jan 1 12:34:56 1970 X-source-folder: /home/wkt/Mail_archive/2000/01/06 Received: from csadfa.cs.adfa.edu.au (csadfa.cs.adfa.edu.au [131.236.21.6]) by henry.cs.adfa.edu.au (8.9.2/8.9.3) with ESMTP id RAA34130 for ; Thu, 6 Jan 2000 17:03:32 +1100 (EST) From: dmr@plan9.bell-labs.com Received: from plan9.cs.bell-labs.com (plan9.bell-labs.com [204.178.31.2]) by csadfa.cs.adfa.edu.au (8.9.0/8.9.0) with SMTP id RAA27892 for ; Thu, 6 Jan 2000 17:03:30 +1100 (EST) Message-Id: <200001060603.RAA27892@csadfa.cs.adfa.edu.au> Subject: Re: Some Success with s1-bits archive Date: Thu, 6 Jan 2000 01:03:10 -0500 To: wkt@cs.adfa.edu.au MIME-Version: 1.0 Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: 7bit Status: RO X-Status: A Content-Length: 1507 Lines: 33 You've had more success than I in the archeology of s1. > What was the process of changing epochs when timestamps were in clicks, > both in the rebuilding of the binaries, and in the system itself? I think epoch changes (in the 60th-sec era) were done by writing a program that looked at all the inodes on the disk and in some way adjusted them back (subtract a year). I don't remember whether this was clamped at the earliest representable date or otherwise how unrepresentable dates were dealt with. There was enough churn that probably few things on the disk could not be adjusted. I seem to remember that at least some DECtapes were similarly adjusted. With just an epoch change, probably most programs didn't need to be recompiled just for that (only those that displayed dates). But of course things tended to be recompiled frequently for other reasons. I'm a little confused about this-- > Now to s2-bits. It looks like most files have contiguous blocks. I did > a visual inspection of the file, and broke it into fragments. The list of > fragments found are described below. A copy of the fragments can be obtained > by anonymous ftp to minnie.cs.adfa.edu.au in the file > incoming/s2-fragments.tar.gz This means s1-bits, right? I collected your fragments archive in any case. I'm guessing that s1 is likely to be part of a disk dump onto tape. Correlation of the contents (the fragments you found are mostly recognizable) with manuals probably will yield approximate dates. From mairix@mairix Mon Jan 1 12:34:56 1970 X-source-folder: /home/wkt/Mail_archive/2000/01/06 Received: from csadfa.cs.adfa.edu.au (csadfa.cs.adfa.edu.au [131.236.21.6]) by henry.cs.adfa.edu.au (8.9.2/8.9.3) with ESMTP id HAA37820 for ; Fri, 7 Jan 2000 07:03:43 +1100 (EST) From: dmr@plan9.bell-labs.com Received: from plan9.cs.bell-labs.com (plan9.bell-labs.com [204.178.31.2]) by csadfa.cs.adfa.edu.au (8.9.0/8.9.0) with SMTP id HAA01880 for ; Fri, 7 Jan 2000 07:03:41 +1100 (EST) Message-Id: <200001062003.HAA01880@csadfa.cs.adfa.edu.au> Subject: Re: Some Success with s1-bits archive Date: Thu, 6 Jan 2000 15:03:34 -0500 To: wkt@cs.adfa.edu.au MIME-Version: 1.0 Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: 7bit Status: RO X-Status: A Content-Length: 2736 Lines: 62 > Thanks for that. I'm still trying to think why the s2-bits archive has > both 0405- and 0407-magic a.out files. From your comments, it looks > unlikely that a significant number of files from two epochs could be > in a filesystem at the same time. Alternatively, perhaps the kernel > supported both types of a.out files. Can you remember if the kernel > ever had simultaneous support for both (some sort of transition period)? Now that I'm at work and have looked at the manuals, I think I've solved many of the questions. 1st edition a.out magic was 405; 2nd (Nov 1971) was 407. This was in preparation for first the KS11 memory management and then the 11/45. The two objects files were compatible; the difference was the bigger header with more space (for bss size and entry point). In the 3rd edition (March 1972) the 11/45 or at least the KS-11was standard but the a.out header was still 407. Stack started at 57000; the I/O page had to be mapped in to get the EAE device. I would suspect that programs were still loaded at virtual 40000. In the 4th edition (Nov 1973) the C system had been installed and the two possible a.out headers were 407 and 410. The 410 header indicated a write-protected text segment that could be shared. (Later, 411 would be separate I and D). Stack started at 177776. > I don't suppose you recorded the handwritten labels from the original > DECtapes? I always try to copy them over as well; they can help where > the tape contents are uncertain. I believe they just said S1 and S2 (no dates). > Ken's modified C compiler (as noted in his Turing award speech) came up > on the mailing list yesterday. I'm sure I remember reading that he actually > did release this in the labs. Do you know of any on-line references? I've mentioned it in netnews. It was in a sense released, but "implanted" is a better word. It was not on a distribution. Ken sent it to the Raritan River PWB group, saying "here is a new compiler. I think you have to install the binaries; your current compiler might not handle compiling the source." They ran it for a few months; at some point I think they looked at the symbol table for some reason and saw some things they didn't understand so they recompiled it, using an old compiler. Or conceivably they ran cpp on the compiler. and looked at the output (it was actually cpp that was bugged). However, I don't think they ever worked out what had happened exactly and the cpp output would have been pretty clear, though not the magic involved. One thing I've always wondered about was whether they ever redistributed it. Mashey doubts this, but isn't absolutely positive. Certainly it didn't spread far. It is a fragile virus. Dennis From mairix@mairix Mon Jan 1 12:34:56 1970 X-source-folder: /home/wkt/Mail_archive/2000/01/07 Received: from csadfa.cs.adfa.edu.au (csadfa.cs.adfa.edu.au [131.236.21.6]) by henry.cs.adfa.edu.au (8.9.2/8.9.3) with ESMTP id HAA49714 for ; Sat, 8 Jan 2000 07:16:04 +1100 (EST) From: dmr@plan9.bell-labs.com Received: from plan9.cs.bell-labs.com (plan9.bell-labs.com [204.178.31.2]) by csadfa.cs.adfa.edu.au (8.9.0/8.9.0) with SMTP id HAA10132 for ; Sat, 8 Jan 2000 07:16:01 +1100 (EST) Message-Id: <200001072016.HAA10132@csadfa.cs.adfa.edu.au> Subject: Re: Some Success with s1-bits archive Date: Fri, 7 Jan 2000 14:53:22 -0500 To: wkt@cs.adfa.edu.au, dmr@plan9.bell-labs.com MIME-Version: 1.0 Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: 7bit Status: RO X-Status: A Content-Length: 434 Lines: 25 OK, here is a better table, with some new facts: First edition: November 1971 a.out: 405 epoch: Jan 1 1971 (60ths) dump format: tap Second edition: June 1972 a.out: 407 (405 OK) epoch: Jan 1, 1971 (60ths) dump format: tap Third edition: February 1973 a.out: 407 epoch: Jan 1, 1972 (60ths) dump format: tap Fourth edition: November 1973 (first C system) a.out: 407, 410 epoch: Jan 1, 1970 (seconds) dump format: tp From mairix@mairix Mon Jan 1 12:34:56 1970 X-source-folder: /home/wkt/Mail_archive/2000/01/07 Received: from csadfa.cs.adfa.edu.au (csadfa.cs.adfa.edu.au [131.236.21.6]) by henry.cs.adfa.edu.au (8.9.2/8.9.3) with ESMTP id RAA42819 for ; Fri, 7 Jan 2000 17:48:52 +1100 (EST) From: dmr@plan9.bell-labs.com Received: from plan9.cs.bell-labs.com (plan9.bell-labs.com [204.178.31.2]) by csadfa.cs.adfa.edu.au (8.9.0/8.9.0) with SMTP id RAA07383 for ; Fri, 7 Jan 2000 17:48:49 +1100 (EST) Message-Id: <200001070648.RAA07383@csadfa.cs.adfa.edu.au> Subject: Re: Some Success with s1-bits archive Date: Fri, 7 Jan 2000 01:48:38 -0500 To: wkt@cs.adfa.edu.au MIME-Version: 1.0 Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: 7bit Status: RO Content-Length: 1919 Lines: 46 I will recheck the dates. I looked at them earlier today but did some cut'n'paste in the mail and might have mistyped also. (Esp. in the attribution of 3rd to '72 sted 73; but tomorrow instead jotting down notes from the shelved manuals I will get manuals all together and do it more systematically). One problem is that I suspect that the tap-format tapes of which I have copies probably have more than one epoch, and the program has just one epoch built in. Feel free to post the C compiler story. (BTW, I just looked at the minnie mailing list archives and have seen comments through Foust on 7 Jan Oz time). It's still correct but I garbled a bit. Slightly edited version: --- Ken's modified C compiler (the neat thing in his Turing award speech) came up on the mailing list. I've talked about the story in netnews, but either Deja no longer goes back far enough or I didn't think of the right search keys. The bugged compiler was in a sense released, but probably "implanted" is a better word. It was not on a distribution. Ken sent it to the Raritan River PWB group at the Labs, saying "here is a new compiler. I think you have to install the binaries; your current compiler might not handle compiling the source." They ran it for a few months; at some point I think they looked at the symbol table for some reason and saw some things they didn't understand so they recompiled it, using an old compiler. Or conceivably they ran cpp on the main compiler, and looked at the output--it was actually cpp that was bugged. However, I don't think they ever worked out what had happened exactly, just felt that something was funny. >From our point of view, the hole just disappeared at some point. One thing I've always wondered about was whether PWB ever redistributed it unknowingly. Mashey doubts this, but isn't utterly positive. Certainly it didn't spread far-- it is a fragile virus. Dennis From mairix@mairix Mon Jan 1 12:34:56 1970 X-source-folder: /home/wkt/Mail_archive/2000/01/07 Received: (from wkt@localhost) by henry.cs.adfa.edu.au (8.9.2/8.9.3) id JAA38660; Fri, 7 Jan 2000 09:56:05 +1100 (EST) From: Warren Toomey Message-Id: <200001062256.JAA38660@henry.cs.adfa.edu.au> Subject: Re: Some Success with s1-bits archive In-Reply-To: <200001062003.HAA01880@csadfa.cs.adfa.edu.au> from "dmr@plan9.bell-labs.com" at "Jan 6, 2000 3: 3:34 pm" To: dmr@plan9.bell-labs.com Date: Fri, 7 Jan 2000 09:56:05 +1100 (EST) Cc: wkt (Warren Toomey) Reply-To: wkt@cs.adfa.edu.au X-Mailer: ELM [version 2.4ME+ PL43 (25)] MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Status: RO Content-Length: 5039 Lines: 132 In article by dmr@plan9.bell-labs.com: > Now that I'm at work and have looked at the manuals, I think I've > solved many of the questions. > > 1st edition a.out magic was 405; 2nd (Nov 1971) was 407. This was > in preparation for first the KS11 memory management and then the > 11/45. The two objects files were compatible; the difference was > the bigger header with more space (for bss size and entry point). > > In the 3rd edition (March 1972) the 11/45 or at least the KS-11 was > standard but the a.out header was still 407. Stack started at > 57000; the I/O page had to be mapped in to get the EAE device. > I would suspect that programs were still loaded at virtual 40000. > > In the 4th edition (Nov 1973) the C system had been installed and > the two possible a.out headers were 407 and 410. The 410 header > indicated a write-protected text segment that could be shared. > (Later, 411 would be separate I and D). Stack started at 177776. I don't want to appear facetious, but according to Peter Salus' book ``A Quarter Century of UNIX'', the dates were: 1st Edition November 3, 1971 [QCU] QCU= A Quarter Century of UNIX 2nd Edition June 12, 1972 [QCU] Peter Salus 3rd Edition February, 1973 [QCU] Addison-Wesley 4th Edition November, 1973 [QCU] ISBN 0-201-54777-5 Assume 1972 was the epoch for the s2-bits tape, and that the correct timestamps for the files range from Jan 1, 1972 to Feb 6, 1973. This puts some files after the release of 1st Edition, some leading up to and after 2nd Edition [KS11 and prep for 11/45 as noted above]. The C compiler binaries have dates in June, 1972, which seems consistent with the notion that Ken tried to rewrite the kernel in summer '72 but gave up, and that a working C kernel (aka `nsys') was in existence in late Jan, 1973. 3rd Edition came out in Feb, 1973, still as an assembly kernel, with the migration to a C kernel done by 4th Edition in Nov, 1973. That's my gut feeling as to why I think 1972 was the epoch for s2-bits. 1971 is too early: there wasn't a C compiler in June 1971. 1973 would be too late: you wouldn't have that many 0405-magic a.outs lying around. However, what you've told me above about the a.out environment for 2nd and 3rd Editions will be invaluable when I come to emulating them :-) > > I don't suppose you recorded the handwritten labels from the original > > DECtapes? > I believe they just said S1 and S2 (no dates). Damn. Oh well. > > Ken's modified C compiler (as noted in his Turing award speech) came up > I've mentioned it in netnews. It was in a sense released, but > "implanted" is a better word. It was not on a distribution. > Ken sent it to the Raritan River PWB group, saying "here > is a new compiler. I think you have to install the binaries; > your current compiler might not handle compiling the source." > They ran it for a few months; at some point I think they > looked at the symbol table for some reason and saw > some things they didn't understand so they recompiled > it, using an old compiler. Or conceivably they ran > cpp on the compiler. and looked at the output (it was actually > cpp that was bugged). However, I don't think they ever worked out > what had happened exactly and the cpp output would > have been pretty clear, though not the magic involved. > > One thing I've always wondered about was whether > they ever redistributed it. Mashey doubts this, > but isn't absolutely positive. Certainly it didn't > spread far. It is a fragile virus. > Dennis Many thanks for that! May I pass it on to the list? Sometimes I wonder what you think of my interest in these old systems. I'm sure you have enough work to do with present system to worry about the code you guys wrote nearly 30 years ago. Thanks again! Warren From wkt@minnie.cs.adfa.edu.au, osdude@xoommail.com Fri Jan 7 02:13:47 2000 From: wkt@minnie.cs.adfa.edu.au, osdude@xoommail.com (PUPS Archive Request Form) Date: Fri, 7 Jan 2000 12:13:47 +1100 (EST) Subject: Another PUPS Archive Request Message-ID: <200001070113.MAA52653@minnie.cs.adfa.edu.au> Here is a request of a copy of the PUPS Archive: Thomas Rates Email: osdude@xoommail.com Claims to be covered by SCO license AU-185 Wants a copy of PUPS Archive on the following media: CD-ROM Postal address is: 1024 Water Street Apartment 2 Brownsville, Pennsylvania 15417 From wkt@minnie.cs.adfa.edu.au, shigio@tamacom.com Fri Jan 7 08:48:57 2000 From: wkt@minnie.cs.adfa.edu.au, shigio@tamacom.com (PUPS Archive Request Form) Date: Fri, 7 Jan 2000 18:48:57 +1100 (EST) Subject: Another PUPS Archive Request Message-ID: <200001070748.SAA54224@minnie.cs.adfa.edu.au> Here is a request of a copy of the PUPS Archive: Shigio Yamaguchi Email: shigio@tamacom.com Claims to be covered by SCO license AU-195 Wants a copy of PUPS Archive on the following media: CD-ROM Postal address is: 305 Maison Kokubo 1-15-11 Nagayama Tama-shi, Tokyo, 206-0025 Japan From mairix@mairix Mon Jan 1 12:34:56 1970 X-source-folder: /home/wkt/Mail_archive/2000/01/08 Received: from csadfa.cs.adfa.edu.au (csadfa.cs.adfa.edu.au [131.236.21.6]) by henry.cs.adfa.edu.au (8.9.2/8.9.3) with ESMTP id UAA52949 for ; Sat, 8 Jan 2000 20:03:37 +1100 (EST) From: dmr@plan9.bell-labs.com Received: from plan9.cs.bell-labs.com (plan9.bell-labs.com [204.178.31.2]) by csadfa.cs.adfa.edu.au (8.9.0/8.9.0) with SMTP id UAA13277 for ; Sat, 8 Jan 2000 20:03:35 +1100 (EST) Message-Id: <200001080903.UAA13277@csadfa.cs.adfa.edu.au> Subject: Re: Some Success with s1-bits archive Date: Sat, 8 Jan 2000 04:03:23 -0500 To: wkt@cs.adfa.edu.au MIME-Version: 1.0 Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: 7bit Status: RO X-Status: A Content-Length: 988 Lines: 27 > I've made a start on running the 2nd Ed binaries on s2-bits by assuming that > the system API was the same as 1st Edition. At present, size(1) gives the > correct printf error messages on non-existant file or wrong head in file. > However, size(1), nm(1) and /usr/lib/c0 all crash when given correct arguments. > Of course it's difficult to debug. There could be errors in: > - the emulated API (2nd Ed API != 1st Ed API) > - the environment provided to the emulated program > - simulation of the instructions (PDP-11/20 different to later versions) > or a combination of all three :-) Well, there is the 405-407 issue, although if a program is able to write an error message it at least got into execution. I think that all 11/20 instructions work on later processors. However: does the simulator handle the 11/20 EAE device? It would be used on any */% operation or shifts of more than one place. Look for unhandled accesses to locations 177300 and just above. From mairix@mairix Mon Jan 1 12:34:56 1970 X-source-folder: /home/wkt/Mail_archive/2000/01/10 Received: from csadfa.cs.adfa.edu.au (csadfa.cs.adfa.edu.au [131.236.21.6]) by henry.cs.adfa.edu.au (8.9.2/8.9.3) with ESMTP id QAA64634 for ; Mon, 10 Jan 2000 16:05:49 +1100 (EST) From: dmr@plan9.bell-labs.com Received: from plan9.cs.bell-labs.com (plan9.bell-labs.com [204.178.31.2]) by csadfa.cs.adfa.edu.au (8.9.0/8.9.0) with SMTP id QAA24578 for ; Mon, 10 Jan 2000 16:05:46 +1100 (EST) Message-Id: <200001100505.QAA24578@csadfa.cs.adfa.edu.au> Subject: Re: Recompilation of last1120c Date: Mon, 10 Jan 2000 00:05:28 -0500 To: wkt@cs.adfa.edu.au MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="upas-kisulwfrkuxdqsvevidvrrlsnn" Status: RO X-Status: A Content-Length: 1481 Lines: 47 This is a multi-part message in MIME format. --upas-kisulwfrkuxdqsvevidvrrlsnn Content-Disposition: inline Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: 7bit Excellent! Dennis --upas-kisulwfrkuxdqsvevidvrrlsnn Content-Type: message/rfc822 Content-Disposition: inline Received: from plan9.cs.bell-labs.com ([135.104.9.2]) by plan9; Sun Jan 9 21:17:26 EST 2000 Received: from henry.cs.adfa.edu.au ([131.236.21.158]) by plan9; Sun Jan 9 21:17:20 EST 2000 Received: (from wkt@localhost) by henry.cs.adfa.edu.au (8.9.2/8.9.3) id NAA63936; Mon, 10 Jan 2000 13:17:09 +1100 (EST) From: Warren Toomey Message-Id: <200001100217.NAA63936@henry.cs.adfa.edu.au> Subject: Recompilation of last1120c In-Reply-To: <200001080903.UAA13277@csadfa.cs.adfa.edu.au> from "dmr@plan9.bell-labs.com" at "Jan 8, 2000 4: 3:23 am" To: dmr@plan9.bell-labs.com Date: Mon, 10 Jan 2000 13:17:09 +1100 (EST) Cc: wkt@henry.cs.adfa.edu.au (Warren Toomey) Reply-To: wkt@cs.adfa.edu.au X-Mailer: ELM [version 2.4ME+ PL43 (25)] MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Dennis, Just a quick note. Using s2-bits C compiler, I have recompiled both c0 and c1 from last1120c. Then by moving the new c0 and c1 into /usr/lib, I have recompiled c0 and c1 with themselves. Currently at home, expecting a phone call, so must disconnect the modem. More details later. Warren --upas-kisulwfrkuxdqsvevidvrrlsnn-- From mairix@mairix Mon Jan 1 12:34:56 1970 X-source-folder: /home/wkt/Mail_archive/2000/01/10 Received: from csadfa.cs.adfa.edu.au (csadfa.cs.adfa.edu.au [131.236.21.6]) by henry.cs.adfa.edu.au (8.9.2/8.9.3) with ESMTP id RAA65260 for ; Mon, 10 Jan 2000 17:52:42 +1100 (EST) From: dmr@plan9.bell-labs.com Received: from plan9.cs.bell-labs.com (plan9.bell-labs.com [204.178.31.2]) by csadfa.cs.adfa.edu.au (8.9.0/8.9.0) with SMTP id RAA25400 for ; Mon, 10 Jan 2000 17:52:40 +1100 (EST) Message-Id: <200001100652.RAA25400@csadfa.cs.adfa.edu.au> Subject: Re: Recompilation of last1120c Date: Mon, 10 Jan 2000 01:52:24 -0500 To: wkt@cs.adfa.edu.au MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="upas-jwcntdnfrjfwxxnrlwjczebfgq" Status: RO X-Status: A Content-Length: 2517 Lines: 68 This is a multi-part message in MIME format. --upas-jwcntdnfrjfwxxnrlwjczebfgq Content-Disposition: inline Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: 7bit I fiddled the primevalC page; let me know if it works and if other information would be useful. Dennis --upas-jwcntdnfrjfwxxnrlwjczebfgq Content-Type: message/rfc822 Content-Disposition: inline Received: from plan9.cs.bell-labs.com ([135.104.9.2]) by plan9; Mon Jan 10 00:26:18 EST 2000 Received: from henry.cs.adfa.edu.au ([131.236.21.158]) by plan9; Mon Jan 10 00:26:14 EST 2000 Received: (from wkt@localhost) by henry.cs.adfa.edu.au (8.9.2/8.9.3) id QAA64805; Mon, 10 Jan 2000 16:26:02 +1100 (EST) From: Warren Toomey Message-Id: <200001100526.QAA64805@henry.cs.adfa.edu.au> Subject: Re: Recompilation of last1120c In-Reply-To: <200001100505.QAA24578@csadfa.cs.adfa.edu.au> from "dmr@plan9.bell-labs.com" at "Jan 10, 2000 0: 5:28 am" To: dmr@plan9.bell-labs.com Date: Mon, 10 Jan 2000 16:26:02 +1100 (EST) Cc: wkt@henry.cs.adfa.edu.au (Warren Toomey) Reply-To: wkt@cs.adfa.edu.au X-Mailer: ELM [version 2.4ME+ PL43 (25)] MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit In article by dmr@plan9.bell-labs.com: > Warren wrote: > Just a quick note. Using s2-bits C compiler, I have recompiled > both c0 and c1 from last1120c. Then by moving the new c0 and c1 into > /usr/lib, I have recompiled c0 and c1 with themselves. > > Excellent! > Dennis The latest emulator is at ftp://minnie.cs.adfa.edu.au/pub/PDP-11/Sims/Apout/ and I've also included there the last1120c course and the binaries required to recompile it. Could you change your primeval.html page to point here? I think it will be nigh impossible to recompile prestruct-c, because of all the missing table files in assembly. I've tried to substitute the existing last1120c files for those missing in prestruct-c, but I get serious parse error when I run the resulting c0 binary. I've only got the last1120c and prestruct-c source directly from your web page: these files have lost their timestamps. Could you send me the original tap/tp archives, just for historical accuracy? Well, I've run out of things to do for a bit, until copies of the 2nd Ed manuals arrive from Norman. My emulator currently supports binaries from V1, V2, V5, V6, V7, 2.9BSD and 2.11BSD. I won't bother to emulate V3/V4 because there are no binaries to run :-) Cheers, Warren --upas-jwcntdnfrjfwxxnrlwjczebfgq-- From mairix@mairix Mon Jan 1 12:34:56 1970 X-source-folder: /home/wkt/Mail_archive/2000/01/10 Received: from csadfa.cs.adfa.edu.au (csadfa.cs.adfa.edu.au [131.236.21.6]) by henry.cs.adfa.edu.au (8.9.2/8.9.3) with ESMTP id SAA65327 for ; Mon, 10 Jan 2000 18:07:09 +1100 (EST) From: dmr@plan9.bell-labs.com Received: from plan9.cs.bell-labs.com (plan9.bell-labs.com [204.178.31.2]) by csadfa.cs.adfa.edu.au (8.9.0/8.9.0) with SMTP id SAA25487 for ; Mon, 10 Jan 2000 18:07:07 +1100 (EST) Message-Id: <200001100707.SAA25487@csadfa.cs.adfa.edu.au> Subject: Re: Recompilation of last1120c Date: Mon, 10 Jan 2000 02:06:56 -0500 To: wkt@cs.adfa.edu.au MIME-Version: 1.0 Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: 7bit Status: RO X-Status: A Content-Length: 176 Lines: 9 Oh! I forgot to mention that the last* and pres* bits are in the ftp incoming directory, same place as s1 and s2 were (what is it, plan9.bell-labs.com/incoming/dmr ?) D. From mairix@mairix Mon Jan 1 12:34:56 1970 X-source-folder: /home/wkt/Mail_archive/2000/01/10 Received: from csadfa.cs.adfa.edu.au (csadfa.cs.adfa.edu.au [131.236.21.6]) by henry.cs.adfa.edu.au (8.9.2/8.9.3) with ESMTP id SAA65381 for ; Mon, 10 Jan 2000 18:15:38 +1100 (EST) From: dmr@plan9.bell-labs.com Received: from plan9.cs.bell-labs.com (plan9.bell-labs.com [204.178.31.2]) by csadfa.cs.adfa.edu.au (8.9.0/8.9.0) with SMTP id SAA25546 for ; Mon, 10 Jan 2000 18:15:36 +1100 (EST) Message-Id: <200001100715.SAA25546@csadfa.cs.adfa.edu.au> Subject: Re: Recompilation of last1120c Date: Mon, 10 Jan 2000 02:15:27 -0500 To: wkt@cs.adfa.edu.au MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="upas-wexfmlgcdwrqzamqjsacjpgmem" Status: RO X-Status: A Content-Length: 1963 Lines: 61 This is a multi-part message in MIME format. --upas-wexfmlgcdwrqzamqjsacjpgmem Content-Disposition: inline Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: 7bit Reload or something.... p9C; ls -tl --rw-rw-r-- M 815 dmr web 295936 Jan 10 00:34 last1120c-bits --rw-rw-r-- M 815 dmr web 295936 Jan 10 00:34 prestructc-bits --rw-r--r-- M 815 dmr web 295936 Jan 4 02:54 s2-bits --rw-r--r-- M 815 dmr web 295936 Jan 4 02:54 s1-bits --upas-wexfmlgcdwrqzamqjsacjpgmem Content-Type: message/rfc822 Content-Disposition: inline Received: from plan9.cs.bell-labs.com ([135.104.9.2]) by plan9; Mon Jan 10 02:13:28 EST 2000 Received: from henry.cs.adfa.edu.au ([131.236.21.158]) by plan9; Mon Jan 10 02:13:21 EST 2000 Received: (from wkt@localhost) by henry.cs.adfa.edu.au (8.9.2/8.9.3) id SAA65367 for dmr@plan9.bell-labs.com; Mon, 10 Jan 2000 18:13:15 +1100 (EST) From: Warren Toomey Message-Id: <200001100713.SAA65367@henry.cs.adfa.edu.au> Subject: Re: Recompilation of last1120c In-Reply-To: <200001100707.SAA25487@csadfa.cs.adfa.edu.au> from "dmr@plan9.bell-labs.com" at "Jan 10, 2000 2: 6:56 am" To: dmr@plan9.bell-labs.com Date: Mon, 10 Jan 2000 18:13:15 +1100 (EST) Reply-To: wkt@cs.adfa.edu.au X-Mailer: ELM [version 2.4ME+ PL43 (25)] MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit In article by dmr@plan9.bell-labs.com: > Oh! I forgot to mention that the last* and pres* bits > are in the ftp incoming directory, same place as > s1 and s2 were (what is it, plan9.bell-labs.com/incoming/dmr ?) > D. At present: ftp> dir 200 Data port is tcp!131.236.2.210!56575 150 Opened data connection (tcp!131.236.2.210!56575) total 1156 -rw-r--r-- 1 none none 295936 Jan 4 01:17 s1-bits -rw-r--r-- 1 none none 295936 Jan 4 01:17 s2-bits 226 Transfer complete So perhaps later, there's no rush. Cheers, Warren --upas-wexfmlgcdwrqzamqjsacjpgmem-- From mairix@mairix Mon Jan 1 12:34:56 1970 X-source-folder: /home/wkt/Mail_archive/2000/01/10 Received: from csadfa.cs.adfa.edu.au (csadfa.cs.adfa.edu.au [131.236.21.6]) by henry.cs.adfa.edu.au (8.9.2/8.9.3) with ESMTP id IAA69426 for ; Tue, 11 Jan 2000 08:20:29 +1100 (EST) From: dmr@plan9.bell-labs.com Received: from plan9.cs.bell-labs.com (plan9.bell-labs.com [204.178.31.2]) by csadfa.cs.adfa.edu.au (8.9.0/8.9.0) with SMTP id IAA29553 for ; Tue, 11 Jan 2000 08:20:26 +1100 (EST) Message-Id: <200001102120.IAA29553@csadfa.cs.adfa.edu.au> Subject: Re: Early UNIX Dates: revised timeline Date: Mon, 10 Jan 2000 16:20:08 -0500 To: wkt@cs.adfa.edu.au MIME-Version: 1.0 Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: 7bit Status: RO X-Status: A Content-Length: 1382 Lines: 41 > By now I must have coerced nearly all the pertinent machine-readable > 0s and 1s out of you. You don't have any relevant tap/tp archives left, > by any chance? I'd be happy to keep them confidential. Do you still have the list of tapes? I think I sent it once. Mahoney: when I talked to him, he was amenable to publishing the redacted interview. You can see it at http://www.princeton.edu/~mike/expotape.htm , but don't copy it. The short papers by the students seem to be gone (I would assume that copyright problems with these could never be solved, anyway.) The PR guy has just sent a second go-around on his effort. The first was pretty bad, but I haven't looked at the second yet. (His mail is next to yours). > Unknown: Peter Neumann coins the term `Unics', which is > subsequently changed to `Unix' > [QCU pg 9] I think the Neumann connection was an invention of my own fevered brain. I wasn't sure who created the name and I assumed Peter because of his propensity for puns. He has since denied involvement and Brian has claimed it, so I think things are as certain as they can be at this point. > Mid-year: The PDP-11/20 is purchased, with no disk drives > [QCU pg 35], It was ordered with a disk, but only the CPU was ready in the summer. > 3 months later: The disks arrive disk, singular. BTW, exchange this and the recoding pg. From mairix@mairix Mon Jan 1 12:34:56 1970 X-source-folder: /home/wkt/Mail_archive/2000/01/10 Received: (from wkt@localhost) by henry.cs.adfa.edu.au (8.9.2/8.9.3) id NAA63936; Mon, 10 Jan 2000 13:17:09 +1100 (EST) From: Warren Toomey Message-Id: <200001100217.NAA63936@henry.cs.adfa.edu.au> Subject: Recompilation of last1120c In-Reply-To: <200001080903.UAA13277@csadfa.cs.adfa.edu.au> from "dmr@plan9.bell-labs.com" at "Jan 8, 2000 4: 3:23 am" To: dmr@plan9.bell-labs.com Date: Mon, 10 Jan 2000 13:17:09 +1100 (EST) Cc: wkt (Warren Toomey) Reply-To: wkt@cs.adfa.edu.au X-Mailer: ELM [version 2.4ME+ PL43 (25)] MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Status: RO Content-Length: 303 Lines: 13 Dennis, Just a quick note. Using s2-bits C compiler, I have recompiled both c0 and c1 from last1120c. Then by moving the new c0 and c1 into /usr/lib, I have recompiled c0 and c1 with themselves. Currently at home, expecting a phone call, so must disconnect the modem. More details later. Warren From mairix@mairix Mon Jan 1 12:34:56 1970 X-source-folder: /home/wkt/Mail_archive/2000/01/10 Received: (from wkt@localhost) by henry.cs.adfa.edu.au (8.9.2/8.9.3) id QAA64805; Mon, 10 Jan 2000 16:26:02 +1100 (EST) From: Warren Toomey Message-Id: <200001100526.QAA64805@henry.cs.adfa.edu.au> Subject: Re: Recompilation of last1120c In-Reply-To: <200001100505.QAA24578@csadfa.cs.adfa.edu.au> from "dmr@plan9.bell-labs.com" at "Jan 10, 2000 0: 5:28 am" To: dmr@plan9.bell-labs.com Date: Mon, 10 Jan 2000 16:26:02 +1100 (EST) Cc: wkt (Warren Toomey) Reply-To: wkt@cs.adfa.edu.au X-Mailer: ELM [version 2.4ME+ PL43 (25)] MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Status: RO Content-Length: 1249 Lines: 33 In article by dmr@plan9.bell-labs.com: > Warren wrote: > Just a quick note. Using s2-bits C compiler, I have recompiled > both c0 and c1 from last1120c. Then by moving the new c0 and c1 into > /usr/lib, I have recompiled c0 and c1 with themselves. > > Excellent! > Dennis The latest emulator is at ftp://minnie.cs.adfa.edu.au/pub/PDP-11/Sims/Apout/ and I've also included there the last1120c course and the binaries required to recompile it. Could you change your primeval.html page to point here? I think it will be nigh impossible to recompile prestruct-c, because of all the missing table files in assembly. I've tried to substitute the existing last1120c files for those missing in prestruct-c, but I get serious parse error when I run the resulting c0 binary. I've only got the last1120c and prestruct-c source directly from your web page: these files have lost their timestamps. Could you send me the original tap/tp archives, just for historical accuracy? Well, I've run out of things to do for a bit, until copies of the 2nd Ed manuals arrive from Norman. My emulator currently supports binaries from V1, V2, V5, V6, V7, 2.9BSD and 2.11BSD. I won't bother to emulate V3/V4 because there are no binaries to run :-) Cheers, Warren From mairix@mairix Mon Jan 1 12:34:56 1970 X-source-folder: /home/wkt/Mail_archive/2000/01/11 Received: from csadfa.cs.adfa.edu.au (csadfa.cs.adfa.edu.au [131.236.21.6]) by henry.cs.adfa.edu.au (8.9.2/8.9.3) with ESMTP id RAA74851 for ; Tue, 11 Jan 2000 17:41:44 +1100 (EST) From: dmr@plan9.bell-labs.com Received: from plan9.cs.bell-labs.com (plan9.bell-labs.com [204.178.31.2]) by csadfa.cs.adfa.edu.au (8.9.0/8.9.0) with SMTP id RAA05601 for ; Tue, 11 Jan 2000 17:41:42 +1100 (EST) Message-Id: <200001110641.RAA05601@csadfa.cs.adfa.edu.au> Subject: Re: Early UNIX Dates: revised timeline Date: Tue, 11 Jan 2000 01:41:25 -0500 To: wkt@cs.adfa.edu.au MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="upas-plcvpjquzvrogfkfnhipgmzpqj" Status: RO X-Status: A Content-Length: 1994 Lines: 60 This is a multi-part message in MIME format. --upas-plcvpjquzvrogfkfnhipgmzpqj Content-Disposition: inline Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: 7bit Yes, people have already drunk from Mahoney's well. BTW, I looked at the preserve.html page--It's still somewhat unformed for a journal article, I think. It's not a history of the travails of Unix, but neither is it an account of the travails of collecting and maintaining old software (though it includes elements of both). Somehow it lacks focus. On the reconstruction of prestruct-C -- I suspected that the various tables would be sufficiently similar that fraternal grafts would be possible. Congrats for doing the work. Dennis --upas-plcvpjquzvrogfkfnhipgmzpqj Content-Type: message/rfc822 Content-Disposition: inline Received: from plan9.cs.bell-labs.com ([135.104.9.2]) by plan9; Mon Jan 10 16:37:52 EST 2000 Received: from henry.cs.adfa.edu.au ([131.236.21.158]) by plan9; Mon Jan 10 16:37:47 EST 2000 Received: (from wkt@localhost) by henry.cs.adfa.edu.au (8.9.2/8.9.3) id IAA69547 for dmr@plan9.bell-labs.com; Tue, 11 Jan 2000 08:37:39 +1100 (EST) From: Warren Toomey Message-Id: <200001102137.IAA69547@henry.cs.adfa.edu.au> Subject: Re: Early UNIX Dates: revised timeline In-Reply-To: <200001102120.IAA29553@csadfa.cs.adfa.edu.au> from "dmr@plan9.bell-labs.com" at "Jan 10, 2000 4:20: 8 pm" To: dmr@plan9.bell-labs.com Date: Tue, 11 Jan 2000 08:37:39 +1100 (EST) Reply-To: wkt@cs.adfa.edu.au X-Mailer: ELM [version 2.4ME+ PL43 (25)] MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit In article by dmr@plan9.bell-labs.com: > Mahoney: when I talked to him, he was amenable to publishing > the redacted interview. You can see it at > http://www.princeton.edu/~mike/expotape.htm , Seems much of this was used by Peter Salus in his book `A Quarter Century of UNIX'. Cheers, Warren --upas-plcvpjquzvrogfkfnhipgmzpqj-- From mairix@mairix Mon Jan 1 12:34:56 1970 X-source-folder: /home/wkt/Mail_archive/2000/01/12 Received: from csadfa.cs.adfa.edu.au (csadfa.cs.adfa.edu.au [131.236.21.6]) by henry.cs.adfa.edu.au (8.9.2/8.9.3) with ESMTP id OAA89851 for ; Thu, 13 Jan 2000 14:04:27 +1100 (EST) From: dmr@plan9.bell-labs.com Received: from plan9.cs.bell-labs.com (plan9.bell-labs.com [204.178.31.2]) by csadfa.cs.adfa.edu.au (8.9.0/8.9.0) with SMTP id OAA19457 for ; Thu, 13 Jan 2000 14:04:25 +1100 (EST) Message-Id: <200001130304.OAA19457@csadfa.cs.adfa.edu.au> Subject: Re: Nsys kernel: a possible solution Date: Wed, 12 Jan 2000 22:04:14 -0500 To: wkt@cs.adfa.edu.au, dmr@plan9.bell-labs.com MIME-Version: 1.0 Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: 7bit Status: RO X-Status: A Content-Length: 391 Lines: 12 I'm going to have to digest the suggestions. You're right that the nominal dates in nsys are implausible by more than 6 months. Also that the modes are peculiar. Do you have the structures that describe the tap formats you tried? I will check them against the 2nd and 3rd edition documented formats (which I might have mistranscribed, even leaving aside possible mid-course changes). From mairix@mairix Mon Jan 1 12:34:56 1970 X-source-folder: /home/wkt/Mail_archive/2000/01/12 Received: from csadfa.cs.adfa.edu.au (csadfa.cs.adfa.edu.au [131.236.21.6]) by henry.cs.adfa.edu.au (8.9.2/8.9.3) with ESMTP id IAA86785 for ; Thu, 13 Jan 2000 08:26:20 +1100 (EST) From: dmr@plan9.bell-labs.com Received: from plan9.cs.bell-labs.com (plan9.bell-labs.com [204.178.31.2]) by csadfa.cs.adfa.edu.au (8.9.0/8.9.0) with SMTP id IAA15654 for ; Thu, 13 Jan 2000 08:26:17 +1100 (EST) Message-Id: <200001122126.IAA15654@csadfa.cs.adfa.edu.au> Subject: Re: Nsys kernel: can I get the original tape image? Date: Wed, 12 Jan 2000 16:25:55 -0500 To: wkt@cs.adfa.edu.au MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="upas-rysbmtgmrpbudlvhxtftyokwkn" Status: RO X-Status: A Content-Length: 3700 Lines: 94 This is a multi-part message in MIME format. --upas-rysbmtgmrpbudlvhxtftyokwkn Content-Disposition: inline Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: 7bit They're now in incoming. BTW I'm about to delete the other things. Dennis --upas-rysbmtgmrpbudlvhxtftyokwkn Content-Type: message/rfc822 Content-Disposition: inline Received: from plan9.cs.bell-labs.com ([135.104.9.2]) by plan9; Wed Jan 12 16:24:00 EST 2000 Received: from henry.cs.adfa.edu.au ([131.236.21.158]) by plan9; Wed Jan 12 16:23:54 EST 2000 Received: (from wkt@localhost) by henry.cs.adfa.edu.au (8.9.2/8.9.3) id IAA86705; Thu, 13 Jan 2000 08:23:46 +1100 (EST) From: Warren Toomey Message-Id: <200001122123.IAA86705@henry.cs.adfa.edu.au> Subject: Nsys kernel: can I get the original tape image? In-Reply-To: <200001110641.RAA05601@csadfa.cs.adfa.edu.au> from "dmr@plan9.bell-labs.com" at "Jan 11, 2000 1:41:25 am" To: dmr@plan9.bell-labs.com Date: Thu, 13 Jan 2000 08:23:46 +1100 (EST) Cc: wkt@henry.cs.adfa.edu.au (Warren Toomey) Reply-To: wkt@cs.adfa.edu.au X-Mailer: ELM [version 2.4ME+ PL43 (25)] MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Hi Dennis, Could I ask for a copy of the original tape image of the nsys kernel? I've been thinking over that list of early UNIX dates, and the placement of the nsys kernel seems a bit early. Here's my reasoning. From the list of early dates: June '72: 2nd Edition manuals released. June-July '72: The last1120c compiler and associated binaries from s2-bits. December '72: The prestruct-c compiler. By the prestruct-c compiler, the kernel had some form of memory management. However, the compiler didn't support structures, nor the char * syntax. February '73: 3rd Edition manuals released. According to Norman Wilson's web page on file system formats, ``The file system format has not changed, but times are now sixtieths of a second since 00:00 1 January 1972''. [ http://www.cita.utoronto.ca/~norman/old-unix/old-fs.html ] September '73: The C version of the kernel is adopted. November '73: The 4th Edition manuals were published. According to Norman, ``The file system structure has changed quite a bit, probably at the same time the operating system was rewritten in C. The new format is the almost that of the more familiar Sixth Edition system.'' Looking at the source code to cp.c on the s1-bits tape, we see: char *p1, *p2, *bp; . . . fstat(fold,buf); /* Get details of source file */ mode = buf[2] & 037; /* Extract original file permissions */ if((fnew = creat(argv[2],mode)) < 0){ stat(argv[2], buf); if((buf[3] & 0100) != 0){ /* If new file's inode exists */ This version of cp(1) extracts the `xrwrw' file permissions, so it is using the filesystem from 1st-3rd Edition. However, it uses `char *' syntax. This dates the file after prestruct-c but before 4th Edition. Moving on to the `nsys' kernel, most of the files are dated around January 22-23, 1973. This source uses C structures and the `char *' syntax. It also has a 4th Edition filesystem layout, and not a 3rd Edition layout. To me, the date of late January 1973 for `nsys' is too early. Only a month earler, the prestruct-c compiler didn't support structures nor `char *', and two months later the 3rd Edition assembly kernel was still using the original filesystem. I'd probably place the `nsys' kernel between Feb and Sept 1973. This would give enough time for the C compiler to gain structs and `char *', and for the switch over to the new filesystem format. Cheers again, Warren --upas-rysbmtgmrpbudlvhxtftyokwkn-- From mairix@mairix Mon Jan 1 12:34:56 1970 X-source-folder: /home/wkt/Mail_archive/2000/01/13 Received: from csadfa.cs.adfa.edu.au (csadfa.cs.adfa.edu.au [131.236.21.6]) by henry.cs.adfa.edu.au (8.9.2/8.9.3) with ESMTP id TAA91151 for ; Thu, 13 Jan 2000 19:32:51 +1100 (EST) From: dmr@plan9.bell-labs.com Received: from plan9.cs.bell-labs.com (plan9.bell-labs.com [204.178.31.2]) by csadfa.cs.adfa.edu.au (8.9.0/8.9.0) with SMTP id TAA21752 for ; Thu, 13 Jan 2000 19:32:49 +1100 (EST) Message-Id: <200001130832.TAA21752@csadfa.cs.adfa.edu.au> Subject: manuals Date: Thu, 13 Jan 2000 03:32:27 -0500 To: wkt@cs.adfa.edu.au, norman@plan9.bell-labs.com MIME-Version: 1.0 Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: 7bit Status: RO X-Status: A Content-Length: 745 Lines: 19 It turns out that the source ?roff for the 3rd and 4th edition manuals exists online here. These are versions from bowell, which Norman will remember, and are all owned (according to the bowell passwd file) by andrew (Hume). The Plan 9 file date marks-- inherited, probably faithfully, from bowell, and most probably faithfully from whatever tape Andrew loaded, are in the range around Feb 1973 for the 3rd edition, and Nov 1973 for the 4th. The dates inside the files themselves are consistent with this. This was clearly a feverish period. The manual pages are only a few months apart, but besides all the system changes, the manual was redone from nroff to troff, which appeared in the 4th and not the 3rd. Ah, the energy of youth. From mairix@mairix Mon Jan 1 12:34:56 1970 X-source-folder: /home/wkt/Mail_archive/2000/01/13 Received: from csadfa.cs.adfa.edu.au (csadfa.cs.adfa.edu.au [131.236.21.6]) by henry.cs.adfa.edu.au (8.9.2/8.9.3) with ESMTP id IAA94463 for ; Fri, 14 Jan 2000 08:21:24 +1100 (EST) From: dmr@plan9.bell-labs.com Received: from plan9.cs.bell-labs.com (plan9.bell-labs.com [204.178.31.2]) by csadfa.cs.adfa.edu.au (8.9.0/8.9.0) with SMTP id IAA25115 for ; Fri, 14 Jan 2000 08:21:21 +1100 (EST) Message-Id: <200001132121.IAA25115@csadfa.cs.adfa.edu.au> Subject: Re: Nsys kernel: a possible solution Date: Thu, 13 Jan 2000 16:20:58 -0500 To: wkt@cs.adfa.edu.au MIME-Version: 1.0 Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: 7bit Status: RO X-Status: A Content-Length: 369 Lines: 10 > Hypothesis: at the time when the nsys-bits tape was written, tp(1) did > not yet exist, but at the same time you wanted to capture the current > system details. So, you modified tap(1)'s format to have the bottom > 8 bits of the new 16-bit filemode, and also stored the 32-bit tap(1) time I think you've convinced me. I've installed a -n flag for my tapfs. From mairix@mairix Mon Jan 1 12:34:56 1970 X-source-folder: /home/wkt/Mail_archive/2000/01/13 Received: from csadfa.cs.adfa.edu.au (csadfa.cs.adfa.edu.au [131.236.21.6]) by henry.cs.adfa.edu.au (8.9.2/8.9.3) with ESMTP id PAA98429 for ; Fri, 14 Jan 2000 15:46:57 +1100 (EST) From: dmr@plan9.bell-labs.com Received: from plan9.cs.bell-labs.com (plan9.bell-labs.com [204.178.31.2]) by csadfa.cs.adfa.edu.au (8.9.0/8.9.0) with SMTP id PAA00316 for ; Fri, 14 Jan 2000 15:46:55 +1100 (EST) Message-Id: <200001140446.PAA00316@csadfa.cs.adfa.edu.au> Subject: Re: Nsys kernel: a possible solution Date: Thu, 13 Jan 2000 23:46:25 -0500 To: wkt@cs.adfa.edu.au MIME-Version: 1.0 Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: 7bit Status: RO X-Status: A Content-Length: 867 Lines: 24 I fancy that this nsys If the decoding of the date on the tape is correct (Aug 1973), this is the source for the earliest C version of Unix likely to be recovered. `nsys' meant the C version rather than the assembly version, and Aug 73 is plausible for a running instance of this system. most likely refers to a date written on the paper label . Because I don't have the tape at hand, I can't verify this. I put tar versions of v3 and v4 in incoming. Notes: Total size about 1.2MB. v4 especially depends on a macro package I can't locate--evidently a predecessor of -man . (local versions of -man announce "wrong version of man entry macros (use -man6 if available)". v3 especially is full of explicitly underlined things with backspaces and _, and the _ tend to overwrite the letters on the display. Dennis From mairix@mairix Mon Jan 1 12:34:56 1970 X-source-folder: /home/wkt/Mail_archive/2000/01/24 Received: from csadfa.cs.adfa.edu.au (csadfa.cs.adfa.edu.au [131.236.21.6]) by henry.cs.adfa.edu.au (8.9.2/8.9.3) with ESMTP id OAA02502 for ; Tue, 25 Jan 2000 14:54:22 +1100 (EST) From: dmr@plan9.bell-labs.com Received: from plan9.cs.bell-labs.com (plan9.bell-labs.com [204.178.31.2]) by csadfa.cs.adfa.edu.au (8.9.0/8.9.0) with SMTP id OAA23244 for ; Tue, 25 Jan 2000 14:54:21 +1100 (EST) Message-Id: <200001250354.OAA23244@csadfa.cs.adfa.edu.au> Subject: Re: Genealogy of Mini UNIX? Date: Mon, 24 Jan 2000 22:54:11 -0500 To: wkt@cs.adfa.edu.au MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="upas-isqsixswbsdfdeepfcaimautzx" Status: RO X-Status: A Content-Length: 2704 Lines: 74 This is a multi-part message in MIME format. --upas-isqsixswbsdfdeepfcaimautzx Content-Disposition: inline Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: 7bit Point me at (or describe) what documentation you've got and I will try to remember more details. Names on it like Heinz Lycklama and Doug Bayer would be interesting. Dennis --upas-isqsixswbsdfdeepfcaimautzx Content-Type: message/rfc822 Content-Disposition: inline Received: from plan9.cs.bell-labs.com ([135.104.9.2]) by plan9; Mon Jan 24 21:23:54 EST 2000 Received: from henry.cs.adfa.edu.au ([131.236.21.158]) by plan9; Mon Jan 24 21:23:53 EST 2000 Received: (from wkt@localhost) by henry.cs.adfa.edu.au (8.9.2/8.9.3) id NAA01783 for dmr@plan9.bell-labs.com; Tue, 25 Jan 2000 13:23:31 +1100 (EST) From: Warren Toomey Message-Id: <200001250223.NAA01783@henry.cs.adfa.edu.au> Subject: Genealogy of Mini UNIX? In-Reply-To: <200001140446.PAA00316@csadfa.cs.adfa.edu.au> from "dmr@plan9.bell-labs.com" at "Jan 13, 2000 11:46:25 pm" To: dmr@plan9.bell-labs.com Date: Tue, 25 Jan 2000 13:23:31 +1100 (EST) Reply-To: wkt@cs.adfa.edu.au X-Mailer: ELM [version 2.4ME+ PL43 (25)] MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Hi Dennis, sorry to disturb you again. Can you remember the genealogy of Mini UNIX? From the documentation here, it says: The MINI-UNIX system running is configured to run on an 11/10 with the given disk and the console teletype (KL) and using the EIS (extended instruction set) software emulation package. MINI-UNIX uses 12K words of memory for the system and 16K words for user programs. There are a number of differences between the capabilities of MINI-UNIX and standard UNIX of which the user should be aware. The concept of ``groups'' is not supported in MINI-UNIX; no profiling is done in MINI-UNIX; it is not possible to interactively debug another running process in MINI-UNIX. User programs are limited to 16K words in size and the sharing of text is not possible. Pipes are not implemented in the system; rather they are implemented as ``pseudo-pipes'' in the Shell command. You know, this sounds just like 2nd Edition UNIX, i.e before you got the 11/45 and before pipes were added to the kernel. I was wondering if Mini UNIX descends from 2nd Edition UNIX with the addition of application-level things from 3e, 4e, 5e and 6e, or if someone took 5e or 6e and `undid' all the things like memory management, pipes and groups. I'm just off for a few weeks vacation, but hope to be able to read my e-mail periodically. Thanks again! Warren --upas-isqsixswbsdfdeepfcaimautzx-- From mairix@mairix Mon Jan 1 12:34:56 1970 X-source-folder: /home/wkt/Mail_archive/2000/01/24 Received: from csadfa.cs.adfa.edu.au (csadfa.cs.adfa.edu.au [131.236.21.6]) by henry.cs.adfa.edu.au (8.9.2/8.9.3) with ESMTP id PAA02759 for ; Tue, 25 Jan 2000 15:15:29 +1100 (EST) From: dmr@plan9.bell-labs.com Received: from plan9.cs.bell-labs.com (plan9.bell-labs.com [204.178.31.2]) by csadfa.cs.adfa.edu.au (8.9.0/8.9.0) with SMTP id PAA23554 for ; Tue, 25 Jan 2000 15:15:27 +1100 (EST) Message-Id: <200001250415.PAA23554@csadfa.cs.adfa.edu.au> Subject: Re: Genealogy of Mini UNIX? Date: Mon, 24 Jan 2000 23:15:22 -0500 To: wkt@cs.adfa.edu.au MIME-Version: 1.0 Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: 7bit Status: RO X-Status: A Content-Length: 699 Lines: 22 I can cope with the attachment, and looked at the beginning of the memo files. Heinz L and others did indeed spend time adapting Unix over 5-6-7 edition to keep running on smaller machines, and did I think release versions of this. It wasn't captured as of 2nd edition; instead (as the memo date indicates) the 6th was out, and the 7th was being worked on. They picked out some newer things not to adopt and found things to delete without too much injury. We were getting bigger machines, they wanted to keep the essentials going on very small ones (especially without MMU). They were thinking lab equipment. Memo2 is explicit that 6th edition was a model for what they tried to do. D. From mairix@mairix Mon Jan 1 12:34:56 1970 X-source-folder: /home/wkt/Mail_archive/2000/02/22 Received: from csadfa.cs.adfa.edu.au (csadfa.cs.adfa.edu.au [131.236.21.6]) by henry.cs.adfa.edu.au (8.9.2/8.9.3) with ESMTP id OAA34280 for ; Wed, 23 Feb 2000 14:04:17 +1100 (EST) From: dmr@plan9.bell-labs.com Received: from plan9.cs.bell-labs.com (plan9.bell-labs.com [204.178.31.2]) by csadfa.cs.adfa.edu.au (8.9.0/8.9.0) with SMTP id OAA12173 for ; Wed, 23 Feb 2000 14:04:15 +1100 (EST) Message-Id: <200002230304.OAA12173@csadfa.cs.adfa.edu.au> Subject: Re: copies of old AT&T licenses (fwd) Date: Tue, 22 Feb 2000 22:04:07 -0500 To: wkt@cs.adfa.edu.au MIME-Version: 1.0 Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: 7bit Status: RO X-Status: A Content-Length: 322 Lines: 14 Norman Wilson had passed this on a day or so ago, and I suggested you, as someone who might have been sent copies in recent years! I don't have these myself, and locally we didn't have to do the paperwork. I'll see what I can dig up. Maybe the best idea might be the North Carolina licensing organization. Dennis From mairix@mairix Mon Jan 1 12:34:56 1970 X-source-folder: /home/wkt/Mail_archive/2000/02/22 Received: from csadfa.cs.adfa.edu.au (csadfa.cs.adfa.edu.au [131.236.21.6]) by henry.cs.adfa.edu.au (8.9.2/8.9.3) with ESMTP id OAA34337 for ; Wed, 23 Feb 2000 14:10:32 +1100 (EST) From: dmr@plan9.bell-labs.com Received: from plan9.cs.bell-labs.com (plan9.bell-labs.com [204.178.31.2]) by csadfa.cs.adfa.edu.au (8.9.0/8.9.0) with SMTP id OAA12202 for ; Wed, 23 Feb 2000 14:10:30 +1100 (EST) Message-Id: <200002230310.OAA12202@csadfa.cs.adfa.edu.au> Subject: Re: copies of old AT&T licenses (fwd) Date: Tue, 22 Feb 2000 22:10:23 -0500 To: wkt@cs.adfa.edu.au MIME-Version: 1.0 Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: 7bit Status: RO X-Status: A Content-Length: 169 Lines: 9 I'm now sending mail to the Software Solutions Group guy. The other thought that came to mind might be whoever in SCO handles the antique-system licenses. Dennis From mairix@mairix Mon Jan 1 12:34:56 1970 X-source-folder: /home/wkt/Mail_archive/2000/02/23 Received: from csadfa.cs.adfa.edu.au (csadfa.cs.adfa.edu.au [131.236.21.6]) by henry.cs.adfa.edu.au (8.9.2/8.9.3) with ESMTP id JAA45243 for ; Fri, 25 Feb 2000 09:35:20 +1100 (EST) From: dmr@plan9.bell-labs.com Received: from daedalus.itsc.adfa.edu.au (daedalus.itsc.adfa.edu.au [131.236.1.17]) by csadfa.cs.adfa.edu.au (8.9.0/8.9.0) with ESMTP id JAA03386 for ; Fri, 25 Feb 2000 09:35:20 +1100 (EST) Received: from plan9.cs.bell-labs.com (plan9.bell-labs.com [204.178.31.2]) by daedalus.itsc.adfa.edu.au (8.9.3/8.9.3) with SMTP id PAA04465 for ; Thu, 24 Feb 2000 15:36:23 +1100 (EST) Message-Id: <200002240436.PAA04465@daedalus.itsc.adfa.edu.au> Subject: Re: copies of old AT&T licenses (fwd) Date: Wed, 23 Feb 2000 23:35:23 -0500 To: wkt@cs.adfa.edu.au MIME-Version: 1.0 Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: 7bit Status: RO X-Status: A Content-Length: 394 Lines: 19 This today from Chuck Greene in NC: > Dennis, > All of the old UNIX records are now with Santa Cruz Operation. > I have contacted someone there and they are going to see what they can come > up with. > I will let you know if they can find the old agreements. > Chuck At least this says that searching at SCO means "getting warm". I'll transmit whatever I get from Chuck. Dennis From mairix@mairix Mon Jan 1 12:34:56 1970 X-source-folder: /home/wkt/Mail_archive/2000/03/02 Received: from csadfa.cs.adfa.edu.au (csadfa.cs.adfa.edu.au [131.236.21.6]) by henry.cs.adfa.edu.au (8.9.2/8.9.3) with ESMTP id QAA89415 for ; Thu, 2 Mar 2000 16:45:32 +1100 (EST) From: dmr@plan9.bell-labs.com Received: from plan9.cs.bell-labs.com (plan9.bell-labs.com [204.178.31.2]) by csadfa.cs.adfa.edu.au (8.9.0/8.9.0) with SMTP id QAA11368 for ; Thu, 2 Mar 2000 16:45:30 +1100 (EST) Message-Id: <200003020545.QAA11368@csadfa.cs.adfa.edu.au> Subject: Re: Help Reviewing History chat Date: Thu, 2 Mar 2000 00:45:18 -0500 To: wkt@cs.adfa.edu.au MIME-Version: 1.0 Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: 7bit Status: RO X-Status: A Content-Length: 3880 Lines: 77 Before spending too much time tweaking, it might be worth testing it with Bergin to see if it is anything like what he wants (or can be induced to take). It's not far from the truth (though tweaking is warranted). Here are some amplifications--they do make it longer, though. I'll pass for now on coauthorship unless I spend a lot of time on it. Dennis > Many universities received UNIX from the Labs, and began to make modifications. > In the late 1970s, the most widely known was AUSAM was developed at the > University of New South Wales and based on 6th Edition UNIX. Concurrently, > Bill Joy at the University of California, Berkeley (UCB) created a new > text editor, {\it ex}, and a Pascal compiler for the system, and began to > distribute the first Berkeley Software Distribution (1BSD). A second > distribution, 2BSD, saw the addition of the shell and editor {\it csh} and > {\it vi}. Actually Ken T did the first version of the UCB Pascal compiler while on sabbatical at Berkeley, though the production version was worked on by others later. I don't know whether Joy was much involved with this (he could have been). > The late 1970s saw the first ports of UNIX to platforms other than the PDP-11. > AT\&T ported 7th Edition UNIX to the new Vax platform in 1979. 32V, with > no virtual memory support, was then modified at Berkeley to have VM and was > released as 3BSD. 32V was also the basis for the commercial products > System III and System V from USL. Just to up the Aussies, don't forget the Wollongong port, done about the same time as our Interdata work. The actual sequence: Almost exactly contemporaneous and independent: Our Interdata port, Wollongong's, and and incomplete one by Tom Lyon and others at Princeton (which probably started earlier, and was to VM/370). Next, and a bit later, your question: the Vax port (32V) was by Tom London and John Reiser, in a different research group at Bell Labs. It was licensed under essentially the same terms as V7, and did indeed form the basis for the main BSD distributions (though CSRG did also continue to have some PDP-11 versions). Functionally 32V was essentially the same as V7 (nearly a pure port to the VAX). > UCB was given a DARPA grant to add Internetworking support to UNIX, > and the Computer Systems Research Group (CSRG) at Berkeley took on this > task, releasing several versions of the fourth Berkeley Software Distribution The interesting thing here (though maybe it's too much to go into) is that although UCB's CSRG did receive important support from ARPA to create and distribute the BSD systems to ARPA contractors (universities and corporate as well as in the military), it was explicitly not to do internetworking support, but rather the system as a whole. The TCP/IP and Internet support were supposed to be done by BBN (Bolt Beranek and Newman). However, CSRG really wanted to do it themselves, and did. > USL believed that Net/2 did in fact contains some remnants of 32V source > code, and took the Regents of UCB to court for breach of license conditions > and unauthorised distribution of UNIX source code. Eventually, a settlement > was reached where CSRG could distribute a `Lite' version of 4BSD in source > form, and which USL agreed to contain no UNIX source code. This release > was called 4.4BSD-Lite. Pretty much right. Actually the thing that inflamed USL was BSDI, a commercial operation that used the "grey-room" 4.4BSD-Lite code. However, the UC was added to the suit in fairly short order. > Other rewrites of the Unix > environment from scratch also exist: Coherent, Minix and the popular Linux. Maybe the interesting thing about these is that Coherent and Minix were early, and manifestly done from the specs (things like SVID and other manuals), which were published; Linux was later, but likewise from standards. From mairix@mairix Mon Jan 1 12:34:56 1970 X-source-folder: /home/wkt/Mail_archive/2000/03/15 Received: from csadfa.cs.adfa.edu.au (csadfa.cs.adfa.edu.au [131.236.21.6]) by henry.cs.adfa.edu.au (8.9.2/8.9.3) with ESMTP id GAA19663 for ; Thu, 16 Mar 2000 06:25:30 +1100 (EST) From: dmr@plan9.bell-labs.com Received: from plan9.cs.bell-labs.com (plan9.bell-labs.com [204.178.31.2]) by csadfa.cs.adfa.edu.au (8.9.0/8.9.0) with SMTP id GAA19709 for ; Thu, 16 Mar 2000 06:25:27 +1100 (EST) Message-Id: <200003151925.GAA19709@csadfa.cs.adfa.edu.au> Subject: Re: old licenses Date: Wed, 15 Mar 2000 14:25:07 -0500 To: wkt@cs.adfa.edu.au MIME-Version: 1.0 Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: 7bit Status: RO X-Status: A Content-Length: 379 Lines: 17 Finally heard back from the Greensboro guy-- > Dennis, > Unfortunately, my contact at SCO was unable to locate any of the old > agreements. > The earliest agreements that could be found were from 1984-1986 and would be > for System III or System V. Here's an interesting idea: the court records from the UCB/BSDI suit! It may be that they're sealed, though. Dennis From mairix@mairix Mon Jan 1 12:34:56 1970 X-source-folder: /home/wkt/Mail_archive/2000/03/17 Received: from csadfa.cs.adfa.edu.au (csadfa.cs.adfa.edu.au [131.236.21.6]) by henry.cs.adfa.edu.au (8.9.2/8.9.3) with ESMTP id OAA09692 for ; Sat, 18 Mar 2000 14:17:01 +1100 (EST) From: dmr@plan9.bell-labs.com Received: from plan9.cs.bell-labs.com (plan9.bell-labs.com [204.178.31.2]) by csadfa.cs.adfa.edu.au (8.9.0/8.9.0) with SMTP id OAA07234 for ; Sat, 18 Mar 2000 14:16:59 +1100 (EST) Message-Id: <200003180316.OAA07234@csadfa.cs.adfa.edu.au> Subject: Re: Strange book idea Date: Fri, 17 Mar 2000 22:16:47 -0500 To: wkt@cs.adfa.edu.au MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="upas-cskvdezhlizntgmfapnspjkzjw" Status: RO Content-Length: 2761 Lines: 77 This is a multi-part message in MIME format. --upas-cskvdezhlizntgmfapnspjkzjw Content-Disposition: inline Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: 7bit I don't have time to think much about this (I'm about to travel and have to finish slides). Bug me again in a couple of weeks? But I guess the off-the-top-of-the-head reaction is that your question > + Who is the overriding `editor', i.e who wants to be, who has time :-) > Ditto for chapter authors. is the important one. It's not so much who has control, it's who takes it. I don't think there are likely to be serious permissions questions, just playing the game of asking. If you want to write a book, you just gotta do it. Dennis --upas-cskvdezhlizntgmfapnspjkzjw Content-Type: message/rfc822 Content-Disposition: inline Received: from plan9.cs.bell-labs.com ([135.104.9.2]) by plan9; Fri Mar 17 18:18:55 EST 2000 Received: from henry.cs.adfa.edu.au ([131.236.21.158]) by plan9; Fri Mar 17 18:18:54 EST 2000 Received: (from wkt@localhost) by henry.cs.adfa.edu.au (8.9.2/8.9.3) id KAA08847 for dmr@plan9.bell-labs.com; Sat, 18 Mar 2000 10:18:40 +1100 (EST) From: Warren Toomey Message-Id: <200003172318.KAA08847@henry.cs.adfa.edu.au> Subject: Strange book idea In-Reply-To: <200003151925.GAA19709@csadfa.cs.adfa.edu.au> from "dmr@plan9.bell-labs.com" at "Mar 15, 2000 2:25: 7 pm" To: dmr@plan9.bell-labs.com Date: Sat, 18 Mar 2000 10:18:40 +1100 (EST) Reply-To: wkt@cs.adfa.edu.au X-Mailer: ELM [version 2.4ME+ PL43 (25)] MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Hi Dennis, After e-mailing you w.r.t an interview about the design of the original UNIX API, I thought ``Why not a book?''. Here's my pitch: + A technical history of UNIX from 1969 to 1980, complementing Salus' book. + Many of the original papers could be republished. + Many of the little `notes' on your web page could be included. + Narrative chapters which alternate between paper reprints. These both weave a chronology thread which links the papers, but also reviews each of the Research Editions. + Other sections: interviews with Dennis & Ken on the original design. + Probably no author, more likely an editor. Authors for individual chapters. + Who gets to publish? I'd suspect Lucent would own copyright on most of the papers. Would Lucent publish, or could they give permission to republish papers/notes to another publisher? + Who is the overriding `editor', i.e who wants to be, who has time :-) Ditto for chapter authors. Anyway, I'd be keen on writing some parts. Do you have any suggestions, comments etc. Thanks, Warren --upas-cskvdezhlizntgmfapnspjkzjw-- From mairix@mairix Mon Jan 1 12:34:56 1970 X-source-folder: /home/wkt/Mail_archive/2000/04/11 Received: from csadfa.cs.adfa.edu.au (csadfa.cs.adfa.edu.au [131.236.21.6]) by henry.cs.adfa.edu.au (8.9.2/8.9.3) with ESMTP id NAA01018 for ; Wed, 12 Apr 2000 13:31:38 +1000 (EST) (envelope-from dmr@plan9.bell-labs.com) From: dmr@plan9.bell-labs.com Received: from plan9.cs.bell-labs.com (plan9.bell-labs.com [204.178.31.2]) by csadfa.cs.adfa.edu.au (8.9.0/8.9.0) with SMTP id NAA22637 for ; Wed, 12 Apr 2000 13:31:36 +1000 (EST) Message-Id: <200004120331.NAA22637@csadfa.cs.adfa.edu.au> CC: paulka@sco.COM Subject: Re: Change to SCO's Ancient UNIX license Date: Tue, 11 Apr 2000 23:31:30 -0400 To: wkt@cs.adfa.edu.au, paulka@sco.COM MIME-Version: 1.0 Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: 7bit Status: RO Content-Length: 409 Lines: 16 Interesting, and good, news. Paul: Warren passed along your mail about the simplification of the "ancient unix" licensing (along with a request to "keep it under [my] hat for a bit," which of course I will (and when you have something to make public, I'll link to it on my own home page). I think Warren has most of the material we have, but if I can help directly, please let me know. Dennis Ritchie From mairix@mairix Mon Jan 1 12:34:56 1970 X-source-folder: /home/wkt/Mail_archive/2000/04/20 Received: from csadfa.cs.adfa.edu.au (csadfa.cs.adfa.edu.au [131.236.21.6]) by henry.cs.adfa.edu.au (8.9.2/8.9.3) with ESMTP id RAA66601 for ; Thu, 20 Apr 2000 17:39:25 +1000 (EST) (envelope-from dmr@plan9.bell-labs.com) From: dmr@plan9.bell-labs.com Received: from plan9.cs.bell-labs.com (plan9.bell-labs.com [204.178.31.2]) by csadfa.cs.adfa.edu.au (8.9.0/8.9.0) with SMTP id RAA18779 for ; Thu, 20 Apr 2000 17:39:22 +1000 (EST) Message-Id: <200004200739.RAA18779@csadfa.cs.adfa.edu.au> Subject: Re: SCO's UNIX src licenses officially $00.00 Date: Thu, 20 Apr 2000 03:39:16 -0400 To: wkt@cs.adfa.edu.au MIME-Version: 1.0 Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: 7bit Status: RO X-Status: A Content-Length: 737 Lines: 21 > I was wondering if Lucent would be interested in buying back the > rights to 1st - 7th Edition and 32V, obviously at a significant > discount, and then setting a less restrictive license. > I wonder what value SCO puts on the rights to 1e - 7e and 32V? > Maybe an individual could buy the rights :-) Keith Bostic sent early mail today about the SCO announcements, and it's also elsewhere (e.g. /.) Thanks for tipping me earlier. Let me think a bit about the rest. It seems likely that both SCO and (if I try to interest Lucent) we should be calculating the PR value (given the $0.00) versus the internal costs of maintaining something useful, combined with the "startup" costs of doing any official negotiation. Dennis From mairix@mairix Mon Jan 1 12:34:56 1970 X-source-folder: /home/wkt/Mail_archive/2000/04/20 Received: from csadfa.cs.adfa.edu.au (csadfa.cs.adfa.edu.au [131.236.21.6]) by henry.cs.adfa.edu.au (8.9.2/8.9.3) with ESMTP id FAA69391 for ; Fri, 21 Apr 2000 05:14:37 +1000 (EST) (envelope-from dmr@plan9.bell-labs.com) From: dmr@plan9.bell-labs.com Received: from plan9.cs.bell-labs.com (plan9.bell-labs.com [204.178.31.2]) by csadfa.cs.adfa.edu.au (8.9.0/8.9.0) with SMTP id FAA22902 for ; Fri, 21 Apr 2000 05:14:35 +1000 (EST) Message-Id: <200004201914.FAA22902@csadfa.cs.adfa.edu.au> Subject: Re: SCO's UNIX src licenses officially $00.00 Date: Thu, 20 Apr 2000 15:14:24 -0400 To: wkt@cs.adfa.edu.au MIME-Version: 1.0 Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: 7bit Status: RO X-Status: A Content-Length: 567 Lines: 17 I don't know if you watch the Plan 9 list; if you do, you know that we're in the throes of persuading the lawyer to sit down and write an open-source type licence for the new distribution. It's agreed in principle that this will be done, but we haven't been able to extract a draft of the terms yet so we can find if we have to argue about them. I wonder what the effect of throwing the early unix question in to this would be? (Now that I think of it, I wonder what would happen if we raised the question of v8-v10? They don't actually have much SV in them. From mairix@mairix Mon Jan 1 12:34:56 1970 X-source-folder: /home/wkt/Mail_archive/2000/05/15 Received: from csadfa.cs.adfa.edu.au (csadfa.cs.adfa.edu.au [131.236.21.6]) by henry.cs.adfa.edu.au (8.9.2/8.9.3) with ESMTP id KAA35088 for ; Tue, 16 May 2000 10:21:07 +1000 (EST) (envelope-from dmr@plan9.bell-labs.com) From: dmr@plan9.bell-labs.com Received: from plan9.cs.bell-labs.com (plan9.bell-labs.com [204.178.31.2]) by csadfa.cs.adfa.edu.au (8.9.0/8.9.0) with SMTP id KAA23343 for ; Tue, 16 May 2000 10:21:01 +1000 (EST) Message-Id: <200005160021.KAA23343@csadfa.cs.adfa.edu.au> Subject: Re: Ken's PDP-11 configurator program Date: Mon, 15 May 2000 20:20:34 -0400 To: wkt@cs.adfa.edu.au MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="upas-eocneujglgyexvkqpbpijcabke" Status: RO Content-Length: 2528 Lines: 70 This is a multi-part message in MIME format. --upas-eocneujglgyexvkqpbpijcabke Content-Disposition: inline Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: 7bit Make of the program what you will (and have time for). I'd already noticed the new SCO policy (and recently have a link to ancient.html on my links page). Dennis --upas-eocneujglgyexvkqpbpijcabke Content-Type: message/rfc822 Content-Disposition: inline Received: from plan9.cs.bell-labs.com ([135.104.9.2]) by plan9; Mon May 15 18:58:51 EDT 2000 Received: from henry.cs.adfa.edu.au ([131.236.21.158]) by plan9; Mon May 15 18:58:50 EDT 2000 Received: (from wkt@localhost) by henry.cs.adfa.edu.au (8.9.2/8.9.3) id IAA34525 for dmr@plan9.bell-labs.com; Tue, 16 May 2000 08:58:44 +1000 (EST) (envelope-from wkt) From: Warren Toomey Message-Id: <200005152258.IAA34525@henry.cs.adfa.edu.au> Subject: Re: Ken's PDP-11 configurator program In-Reply-To: <200005150702.RAA21386@csadfa.cs.adfa.edu.au> from "dmr@plan9.bell-labs.com" at "May 15, 2000 3: 2:14 am" To: dmr@plan9.bell-labs.com Date: Tue, 16 May 2000 08:58:44 +1000 (EST) Reply-To: wkt@cs.adfa.edu.au X-Mailer: ELM [version 2.4ME+ PL43 (25)] MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit In article by dmr@plan9.bell-labs.com: > Since the subject of old PDP-11s seems to have > hotted up again, I decided to disgorge Ken's > program for ordering PDP-11s. It gives prices > circa 1975 in US$, and knows about various restrictions > like bus loads and what will fit in a box. It's > another (nearly the remainder) from the DECtape archives. > > The program itself is written in old C--pre K&R 1-- (beware > of the =- operators!). It will take a bit of > work to get going. Quite possibly extraction > of the tables is more interesting than running > the program. > > Dennis Ah, you can't tempt me with this program so easily, it's not UNIX source code. The easiest way to get this to work would be to compile it up under 5e or 6e. I'll have a go, but not immediately as work is keeing me busy. SCO now have free UNIX source code licenses on their web site, plus full access to our PUPS Archive via a hyperlink to a CGI script on my web site. Go to http://www.sco.com/offers/ancient.html, agree to the SCO license. On the next page, click on `apply for access to the PUPS Archive'. I wonder when they will finally give up on the license itself :-) Cheers, Warren --upas-eocneujglgyexvkqpbpijcabke-- From mairix@mairix Mon Jan 1 12:34:56 1970 X-source-folder: /home/wkt/Mail_archive/2000/05/15 Received: from csadfa.cs.adfa.edu.au (csadfa.cs.adfa.edu.au [131.236.21.6]) by henry.cs.adfa.edu.au (8.9.2/8.9.3) with ESMTP id RAA30618 for ; Mon, 15 May 2000 17:02:25 +1000 (EST) (envelope-from dmr@plan9.bell-labs.com) From: dmr@plan9.bell-labs.com Received: from plan9.cs.bell-labs.com (plan9.bell-labs.com [204.178.31.2]) by csadfa.cs.adfa.edu.au (8.9.0/8.9.0) with SMTP id RAA21386 for ; Mon, 15 May 2000 17:02:21 +1000 (EST) Message-Id: <200005150702.RAA21386@csadfa.cs.adfa.edu.au> Subject: Ken's PDP-11 configurator program Date: Mon, 15 May 2000 03:02:14 -0400 To: wkt@cs.adfa.edu.au MIME-Version: 1.0 Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: 7bit Status: RO X-Status: A Content-Length: 18778 Lines: 950 Since the subject of old PDP-11s seems to have hotted up again, I decided to disgorge Ken's program for ordering PDP-11s. It gives prices circa 1975 in US$, and knows about various restrictions like bus loads and what will fit in a box. It's another (nearly the remainder) from the DECtape archives. The program itself is written in old C--pre K&R 1-- (beware of the =- operators!). It will take a bit of work to get going. Quite possibly extraction of the tables is more interesting than running the program. Dennis # To unbundle, run this file echo c1.c sed 's/.//' >c1.c <<'//GO.SYSIN DD c1.c' -/* - * code = d1d2d3d4 - * d1 = discount - * 0 NO - * 1 Type 1 - * 2 Type 2 - * 3 MOD - * 4 GT - * d2 = system units - * 0-4 uses 0-4 SU - * 5 3 extra (11/45) - * 6 7 extra (11/40) - * 7 6 extra (ba11-es) - * 8 9 extra (h960) - * d3 = small periph slots - * 0-4 uses 0-4 - * 5 3 extra (11/45) - * 6 1 extra (11/40) - * 7 4 extra (dd) - * d4 = loads - * 0-4 uses 0-4 - * 5 17 extra (11/45) - * 6 19 extra (11/40) - * 7 18 extra (db) - */ -int table[] -{ /* -price maint code name */ -16765, 121, 2555, "kb11", "11/45 CPU", -4210, 32, 2000, "kt11-c", "11/45 segmentation", -5290, 45, 2000, "fp11-b", "11/45 floating point", -1950, 13, 2001, "ms11-cc", "Bi Polar controller", -1950, 13, 2001, "ms11-bc", "1st MOS controller", -1500, 13, 2001, "ms11-bd", "2nd MOS controller", -1950, 16, 2000, "ms11-cm", "1K Bi Polar", -2500, 16, 2000, "ms11-cp", "1K Bi Polar (parity)", -3000, 42, 2000, "ms11-br", "MOS 4K memory", -3420, 40, 2000, "ms11-bt", "MOS 4K memory (parity)", - -6245, 60, 2666, "kd11-a", "11/40 CPU", -1400, 11, 2000, "ke11-e", "11/40 multiply/divide", -1500, 11, 2000, "ke11-f", "11/40 floating point", -2480, 21, 2000, "kt11-d", "11/40 segmentation", -410, 5, 2000, "kj11-a", "11/40 stack limit", -/* xx */ -810, 6, 2011, "kg11-a", "Cyclic check unit", -300, 3, 2001, "kw11-l", "line clock", -700, 6, 2011, "kw11-p", "programmable clock", - -4700, 37, 1201, "mf11-l", "8K core and controller", -4900, 32, 1201, "mf11-u", "16K core and controller", -5700, 32, 1202, "mf11-lp", "8K core (parity) and controller", -6300, 27, 1202, "mf11-up", "16K core (parity) and controller", -4400, 37, 1001, "mm11-l", "8K core", -4500, 32, 1001, "mm11-u", "16K core", -5400, 32, 1001, "mm11-lp", "8K core (parity)", -5600, 27, 1001, "mm11-up", "16K core (parity)", - -400, 0, 3011, "m792", "16 word ROM", -450, 3, 2011, "bm792-ya", "tty/paper tape bootstrap", -450, 3, 2011, "bm792-yb", "disk/DECtape bootstrap", -450, 3, 2011, "bm792-yc", "card reader bootstrap", -450, 3, 2011, "bm792-yh", "cassette bootstrap", -400, 2, 1011, "bm873-ya", "restart loader", -700, 5, 2022, "mr11-db", "bulk bootstrap", - -5950, 27, 2001, "rf11", "controller", -10700, 42, 2000, "rs11", ".5MB fixed head disk", -5000, 27, 1201, "rjs", "controller", -9000, 48, 1000, "rs03", ".5MB fixed head disk", -13000, 58, 1000, "rs04", "1MB fixed head disk", -5900, 42, 1101, "rk11", "disk controller", -5100, 64, 1000, "rk05-aa", "2.5 moving head disk", -11880, 74, 1, "rp11", "disk controller", -20000, 159, 0, "rp03-as", "40MB moving head disk", - -3240, 27, 2001, "tm11", "tape controller", -7505, 74, 2000, "tu10-ee", "9-chan tape drive", -7505, 74, 2000, "tu10-fe", "7-chan tape drive", -4400, 13, 2001, "tc11", "DECtape controller", -5100, 32, 2000, "tu56", "DECtape drive", -2990, 38, 2011, "ta11-aa", "Dual Cassette", - -5615, 58, 11, "ls11-a", "60LPM 132col 64char printer", -11770, 53, 11, "lv11-ba", "500LPM 132col 96char printer/plotter", -/* xx */ -12000, 60, 11, "lp11-fa", "300LPM 80col 64char printer", -/* xx */ -13500, 65, 11, "lp11-ha", "300LPM 80col 96char printer", -/* xx */ -17500, 75, 11, "lp11-ja", "300LPM 132col 64char printer", -/* xx */ -19000, 80, 11, "lp11-ka", "300LPM 132col 96char printer", -30000, 154, 11, "lp11-ra", "1200LPM 132col 64char printer", -33000, 154, 11, "lp11-sa", "800LPM 132col 96char printer", -9900, 72, 11, "lp11-va", "300LPM 132col 64char printer", -11900, 72, 11, "lp11-wa", "230LPM 132col 96char printer", - -4860, 53, 11, "cr11", "300CPM 80col reader", -5290, 53, 11, "cm11-fa", "200CPM 40col reader", -10800, 74, 101, "cd11-a", "1000CPM 80col reader", -15120, 95, 101, "cd11-ea", "1200CPM 80col reader", -2400, 22, 2011, "pr11", "300CPS reader", -3900, 38, 2011, "pc11", "300CPS reader 50CPS punch", - -2795, 32, 2000, "la30-pa", "DEC writer (parallel)", -3195, 32, 2000, "la30-ca", "DEC writer (serial)", -3195, 32, 2000, "la30-ea", "DEC writer (EIA)", -1850, 37, 0, "lt33-dc", "Teletype 33 (ASR)", -1400, 32, 0, "lt33-cc", "Teletype 33 (KSR)", -4860, 32, 0, "lt35-dc", "Teletype 35 (ARS)", -3240, 29, 0, "lt35-cc", "Teletype 35 (KSR)", -2795, 23, 2000, "vt05b-aa", "Display (64 char)", -2795, 23, 2000, "vt05b-ba", "Display (96 char)", -2795, 23, 2000, "vt05b-ca", "Display (64 char EIA)", -2795, 23, 2000, "vt05b-da", "Display (96 char EIA)", - -500, 6, 2011, "lc11-a", "DEC writer interface", -500, 6, 2011, "dl11-a", "Teletype interface (20ma)", -500, 6, 2011, "dl11-c", "Teletype interface(20ma)", -525, 6, 2011, "dl11-b", "Teletype interface (EIA)", -525, 6, 2011, "dl11-d", "Teletype interface (EIA)", -550, 6, 2011, "dl11-e", "Teletype interface (EIA+ctrl)", - -13400, 135, 4000, "gt40-aa", "Graphics scope", -14620, 162, 4000, "gt40-ac", "Graphics scope+ASR33", -15695, 162, 4000, "gt40-ae", "Graphics scope+LA30", - -1080, 6, 2101, "aa11-da", "D to A", -405, 5, 2000, "ba614", "D to A", -3240, 75, 0, "vt01-a", "Tek 611", -1080, 14, 0, "vr01-a", "Point scope", -3240, 18, 0, "vr14", "Point scope", - -4400, 30, 2021, "dh11-aa", "Async multiplexer", -4400, 30, 2021, "dh11-ab", "Async multiplexer", -170, 5, 2000, "dm11-da", "line adapter", -485, 10, 2000, "dm11-db", "line adapter (EIA)", -1295, 18, 2001, "dm11-bb", "modem control", -860, 5, 2000, "dm11-dc", "line adapter for control", -3400, 30, 1101, "dj11-aa", "Async multiplexer", -3100, 25, 1101, "dj11-ab", "Async multiplexer", -3200, 30, 1101, "dj11-ac", "Async multiplexer", -100, 0, 3000, "m405", "speed card", -270, 3, 2100, "dc11-aa", "Async SU", -270, 3, 2100, "dc11-ab", "Async SU", -270, 3, 2100, "dc11-ac", "Async SU", -375, 3, 2100, "dc11-ad", "Async SU", -375, 3, 2100, "dc11-ae", "Async SU", -270, 3, 2100, "dc11-ag", "Async SU", -270, 3, 2100, "dc11-ah", "Async SU", -375, 3, 2100, "dc11-ax", "Async SU", -645, 7, 2001, "dc11-da", "port", -1510, 18, 2101, "dp11-da", "Sync interface (201)", -1940, 18, 2101, "dp11-dc", "Sync interface (303)", -320, 3, 2000, "dp11-ca", "12 bit extender", -215, 3, 2000, "dp11-ka", "clock", -900, 5, 2011, "du11-da", "Sync interface", -2800, 23, 2101, "dq11-da", "Sync interface", -4200, 24, 2101, "dq11-ea", "Sync interface", -150, 1, 2000, "dq11-ka", "clock", -320, 5, 2100, "dn11-aa", "ACU interface", -430, 5, 2001, "dn11-da", "ACU driver", - -430, 5, 2011, "dr11-c", "word interface", -1290, 12, 2101, "dr11-b", "dma channel", - -185, 0, 2170, "dd11-b", "Small Periph mount", -1080, 5, 2107, "db11-a", "Bus repeater", -2400, 15, 2800, "h960-da", "Extension box and cabinet", -2100, 5, 2800, "ba11-fd", "Extension box", -400, 0, 2700, "ba11-es", "Extension box", - -5000, 0, 2000, "qj580-ac", "rsx-11d on DECtape", -5000, 0, 2000, "qj580-ad", "rsx-11d on 9-track", -5000, 0, 2000, "qj580-af", "rsx-11d on 7-track", -5000, 0, 2000, "qj580-ae", "rsx-11d on disk cartridge", -100, 0, 2000, "qj580-gz", "rsx-11d manuals", -4000, 0, 2000, "qr430-ac", "rsts-e on DECtape", -4000, 0, 2000, "qr430-ad", "rsts-e on 9-track", -4000, 0, 2000, "qr430-ae", "rsts-e on disk cartridge", -4000, 0, 2000, "qr430-af", "rsts-e on 7-track", -1700, 0, 2000, "qj250-ac", "dos/batch on DECtape", -1700, 0, 2000, "qj250-ad", "dos/batch on 9-track", -1700, 0, 2000, "qj250-af", "dos/batch on 7-track", -1700, 0, 2000, "qj250-ae", "dos/batch on disk cartridge", -12, 0, 2000, "qj250-am", "batch manuals", -60, 0, 2000, "qj220-am", "dos manuals", - -1, 0, 0, "conf", "", -1, 0, 0, "preq", "", -1, 0, 0, "item", "", -1, 0, 0, "list", "", -1, 0, 0, "xxmm", "", -1, 0, 0, "xxdh", "", -1, 0, 0, "xxtc", "", -0 -}; //GO.SYSIN DD c1.c echo c2.c sed 's/.//' >c2.c <<'//GO.SYSIN DD c2.c' -int preq[] -{ -"kt11-c", "kb11", 1, -"fp11-b", "kb11", 1, -"ms11-br", "ms11-bc", 4, -"ms11-bt", "ms11-bc", 4, -"ms11-cm", "ms11-bd", 4, -"ms11-cp", "ms11-bd", 4, -"ms11-bc", "kb11", 2, -"ms11-bd", "kb11", 2, - -"ke11-f", "ke11-e", 1, -"kt11-d", "kd11-a", 1, - -"mm11-l", "mf11-l", 2, -"mm11-lp", "mf11-lp", 2, -"xxmm", "mm11-l", 12, - -"rs11", "rf11", 8, -"rk05-aa", "rk11", 8, -"rp03-as", "rp11", 8, - -"tu10-ee", "tm11", 8, -"tu10-fe", "tm11", 8, -"tu56", "tc11", 4, -"xxtc", "tu56", 2, - -"la30-pa", "lc11-a", 1, -"la30-ca", "dl11-a", 1, -"lt33-dc", "dl11-a", 1, -"lt33-cc", "dl11-a", 1, -"lt35-dc", "dl11-a", 1, -"lt35-cc", "dl11-a", 1, -"vt05b-aa", "dl11-a", 1, -"vt05b-ba", "dl11-a", 1, -"vt05b-ca", "dl11-a", 1, -"vt05b-da", "dl11-a", 1, - -"vt01-a", "ba614", 1, -"vr01-a", "ba614", 1, -"vr14", "ba614", 1, -"ba614", "aa11-da", 4, - -"dm11-da", "dh11-aa", 4, -"dm11-db", "dh11-aa", 4, -"dm11-bb", "dh11-aa", 1, -"dm11-dc", "dm11-bb", 4, -"xxdh", "dm11-dc", 4, -"m405", "dh11-aa", 2, - -"dc11-da", "dc11-aa", 2, - -"dp11-ca", "dp11-da", 1, -"dp11-ka", "dp11-da", 1, -"dn11-da", "dn11-aa", 4, - -0 -}; //GO.SYSIN DD c2.c echo c3.c sed 's/.//' >c3.c <<'//GO.SYSIN DD c3.c' -char *pkg[] -{ - -/* - * useful synonyms - */ - -"/45", "kb11", 0, -"/40", "kd11-a", 0, -"dl", "dl11-a", 0, -"kl", "dl11-a", 0, -"dl11", "dl11-a", 0, -"dd", "dd11-b", 0, -"dd11", "dd11-b", 0, -"db", "db11-a", 0, -"db11", "db11-a", 0, -"rom", "m792", 0, -"aa11-d", "aa11-da", 0, -"aa11", "aa11-da", 0, -"vt01", "vt01-a", 0, -"vt", "vt01-a", 0, -"vt05", "vt05b-aa", 0, -"vr01", "vr01-a", 0, -"rk05", "rk05-aa", 0, -"rk", "rk05-aa", 0, -"tc", "xxtc", 0, -"rk11", "rk11-ca", 0, -"dc", "dc11-da", 0, -"rp", "rp03", 0, -"rf", "rs11", 0, -"tm", "tu10", 0, -"pc", "pc11", 0, -"kw", "kw11-l", 0, -"dn", "dn11-da", 0, -"dr11", "dr11-c", 0, -"box", "h960-da", 0, -"dh", "xxdh", 0, -"mm", "xxmm", 0, -"la30", "la30-ca", 0, -"rp03", "rp03-as", 0, -"tu10", "tu10-ee", 0, -"bulk", "mr11-db", 0, -"clock", "kw11-l", 0, - -/* - * packages - */ - -"rf11-aa", - "rf11", - "rs11", - 0, -"rk11-de", - "rk11", - "rk05", - 0, -"rp11-ce", - "rp11", - "rp03", - 0, -"tc11-ga", - "tc11", - "tu56", - 0, -"tm11-ea", - "tm11", - "tu10", - 0, -"tm11-fa", - "tm11", - "tu10-fe", - 0, -"core-16kp", - "mf11-up", - 0, -"core-32kp", - "mf11-up", - "mm11-up", - 0, -"mos-16kp", - "ms11-bc", - "ms11-bt", - "ms11-bt", - "ms11-bt", - "ms11-bt", - 0, -"/45-cu", - "/45", - "clock", - "core-16kp", - "bulk", - "dl11", - "la30", - 0, -"/45-cw", - "/45", - "kt11-c", - "clock", - "core-32kp", - "bulk", - "dl11", - "la30", - 0, -"/50-cu", - "/45", - "mos-16kp", - "clock", - "bulk", - "dl11", - "la30", - 0, -"/50-cw", - "/45", - "kt11-c", - "clock", - "mos-16kp", - "core-16kp", - "bulk", - "dl11", - "la30", - 0, -"/45-rp", - "/45-cw", - "mf11-up", - "rf11-aa", - "rk11-de", - "tc11-ga", - "h960-da", - "qr430-ac", - 0, -"/50-rp", - "/50-cw", - "mm11-up", - "rf11-aa", - "rk11-de", - "tc11-ga", - "h960-da", - "qr430-ac", - 0, -"/45-rs", - "/45-cw", - "mf11-up", - "rf11-aa", - "rk11-de", - "tm11-ea", - "h960-da", - "qr430-ad", - 0, -"/50-rs", - "/50-cw", - "mm11-up", - "rf11-aa", - "rk11-de", - "tm11-ea", - "h960-da", - "qr430-ad", - 0, -"/45-ru", - "/45-cw", - "mf11-up", - "fp11-b", - "rp11-ce", - "tm11-ea", - "h960-da", - "qr430-ad", - 0, -"/50-ru", - "/50-cw", - "mm11-up", - "fp11-b", - "rp11-ce", - "tm11-ea", - "h960-da", - "qr430-ad", - 0, -"/45-ps", - "/45-cu", - "rk11-de", - "tm11-ea", - "qj250-ad", - 0, -"/50-ps", - "/50-cu", - "rk11-de", - "tm11-ea", - "qj250-ad", - 0, -"/45-pu", - "/45-cu", - "rf11-aa", - "tc11-ga", - "qj250-ac", - 0, -"/50-pu", - "/50-cu", - "rf11-aa", - "tc11-ga", - "qj250-ac", - 0, -"/50-pw", - "/50-cu", - "ms11-bd", - "ms11-bt", - "ms11-bt", - "fp11-b", - "rp11-ce", - "tm11-ea", - "cd11-ea", - "lp11-ra", - "dd11", - "qj250-ad", - 0, -"/45-na", - "/45-cw", - "rk11-de", - "tm11-ea", - "qj580-ad", - 0, -"/50-na", - "/50-cw", - "rk11-de", - "tm11-ea", - "qj580-ad", - 0, -"/45-nc", - "/45-cw", - "mf11-up", - "rk11-de", - "tm11-ea", - "h960-da", - "qj580-ad", - 0, -"/50-nc", - "/50-cw", - "mm11-up", - "rk11-de", - "tm11-ea", - "qj580-ad", - 0, -"/45-nh", - "/45-cw", - "mf11-up", - "rk11-de", - "rk05", - "h960-da", - "qj580-ae", - 0, -"/50-nh", - "/50-cw", - "mm11-up", - "rk11-de", - "rk05", - "qj580-ae", - 0, -"/45-ne", - "/45-cw", - "core-32kp", - "rp11-ce", - "tm11-ea", - "cr11", - "lp11-ja", - "dd11", - "h960-da", - "qj580-ad", - 0, -"/50-ne", - "/50-cw", - "core-32kp", - "rp11-ce", - "tm11-ea", - "cd11-ea", - "lp11-ra", - "dd11", - "h960-da", - "qj580-ad", - 0, -0 -}; //GO.SYSIN DD c3.c echo m.c sed 's/.//' >m.c <<'//GO.SYSIN DD m.c' -int nsu; -int nspc; -int nld; -double fprice; -double fmaint; -double fdisc[10]; -char *ndisc[10] -{ - "None ", - "Type 1", - "Type 2", - "Module", - "GT 40 ", - 0, -}; -char item[400]; -struct -{ - char *name1; - char *name2; - int count; -} preq[]; -struct -{ - int price; - int maint; - int code; - char *name; - char *descr; -} table[]; -char *pkg[]; -int fin; -char buf[100]; - -main(argc, argv) -char *argv[]; -{ - int i, c, n; - int flag; - double fmul(); - - fprice = 0.; - fmaint = 0.; - nsu = 0; - nspc = 0; - nld = 0; - - for(i=1; i='0' && c<='9') { - n = 0; - while(c>='0' && c<='9') { - n = n*10 + c-'0'; - c = getchar(); - } - } - - /* - * read up to item name - */ - - while(c==' ' || c==' ') - c = getchar(); - - /* - * read in item name - * terminate with null - */ - - for(i=0; i<99; i++) { - if(c == '\n') - break; - if(c == '\0') - goto pass2; - buf[i] = c; - c = getchar(); - } - - /* - * ignore blank lines - */ - - if(i == 0) - goto loop; - buf[i] = '\0'; - if(compos(n, buf)) - printf("%s: cannot recognize\n", buf); - goto loop; - -pass2: - - /* - * examine for contigencies - */ - - flag = 0; - i = lookup("preq"); - if(item[i]) - for(i=0; preq[i].name1 != 0; i++) { - c = lookup(preq[i].name1); - if(c < 0) - goto badpreq; - n = preq[i].count; - n = (item[c] + n - 1)/n; - if(n <= 0) - continue; - c = lookup(preq[i].name2); - if(c < 0) { - badpreq: - printf("bad preq table:\n\t%s\n", preq[i].name1); - continue; - } - n =- item[c]; - if(n > 0) { - if(compos(n, preq[i].name2)) - printf("%s: bad preq\n", preq[i].name2); - flag++; - } - } - if(flag) - goto pass2; - - /* - * clean up system units, - * spc's, and loads - */ - - i = lookup("conf"); - if(item[i]) { - while(nspc < 0) - if(compos(1, "dd11-b")) { - printf("no dd-11\n"); - break; - } - while(nld < 0) - if(compos(1, "db11-a")) { - printf("no db-11\n"); - break; - } - while(nsu < 0) { - if(compos(1, "h960-da")) { - printf("no h-960\n"); - break; - } - if(nsu < 0 && compos(1, "ba11-f")) - printf("no ba11\n"); - } - } - - /* - * print pretty table - */ - -pass3: - i = lookup("list"); - flag = item[i]; - i = lookup("item"); - if(flag || item[i]) { - for(i=0; i<200; i++) - if(item[i]!=0 && table[i].price!=1) { - n = item[i]; - printf("%2d %-8s", n, table[i].name); - printf("%4.0f", fmul(n, table[i].maint)); - printf("%8.0f", fmul(n, table[i].price)); - if(flag) - printf(" %s", table[i].descr); - printf("\n"); - } - printf(" "); - } - printf("%5.0f%8.0f\n", fmaint, fprice); - printf("\nnsu = %4d\nspc = %4d\nnld = %4d\n\n", - nsu, nspc, nld); - for(i=0; ndisc[i]; i++) - printf("%s%8.0f\n", ndisc[i], fdisc[i]); -} - -compos(n, bp) -char *bp; -{ - int i, p[4], d, j; - double fmul(); - - i = lookup(bp); - if(i >= 0) - goto found; - - /* - * look up in package table - */ - - for(i=0; pkg[i]; i++) { - d = 0; - if(equal(pkg[i], bp)) - d++; - for(i++; pkg[i]; i++) - if(d && compos(n, pkg[i])) - printf("%s: bad pkg\n", pkg[i]); - if(d) - return(0); - } - return(1); - -found: - item[i] =+ n; - if(table[i].price == 1) - return(0); - d = table[i].code; - for(j=0; j<4; j++) { - p[j] = d%10; - d =/ 10; - } - fmaint =+ fmul(n, table[i].maint); - fprice =+ fmul(n, table[i].price); - switch(p[0]) { - case 5: - p[0] = -17; - break; - - case 6: - p[0] = -19; - break; - - case 7: - p[0] = -18; - break; - } - nld =- p[0]*n; - switch(p[1]) { - - case 5: - p[1] = -3; - break; - - case 6: - p[1] = -1; - break; - - case 7: - p[1] = -4; - break; - } - nspc =- p[1]*n; - switch(p[2]) { - - case 5: - p[2] = -3; - break; - - case 6: - p[2] = -7; - break; - - case 7: - p[2] = -6; - break; - - case 8: - p[2] = -9; - break; - - case 9: - p[2] = -18; - break; - } - nsu =- p[2]*n; - fdisc[p[3]] =+ fmul(n, table[i].price); - return(0); -} - -double fmul(n, p) -{ - double f; - - f = p; - if(f < 0.) - f =+ 65536.; - f =* n; - return(f); -} - -lookup(bp) -char *bp; -{ - int i; - - for(i=0; table[i].price!=0; i++) - if(equal(table[i].name, bp)) - return(i); - return(-1); -} - -equal(s1, s2) -char *s1, *s2; -{ - register char *c1, *c2; - - c1 = s1; - c2 = s2; - while(*c1++ == *c2) - if(*c2++ == '\0') - return(1); - return(0); -} //GO.SYSIN DD m.c echo min40.cf sed 's/.//' >min40.cf <<'//GO.SYSIN DD min40.cf' -1 kd11-a -1 ke11-e -1 kt11-d -1 kw11-l -1 mf11-u -1 mm11-u -1 rk11 -1 rk05 -1 lt33-dc -1 dl11-a //GO.SYSIN DD min40.cf echo min45.cf sed 's/.//' >min45.cf <<'//GO.SYSIN DD min45.cf' -1 kb11 -1 kt11-c -1 kw11-l -1 mf11-u -1 mm11-u -1 rk11 -1 rk05 -1 lt33-dc -1 dl11-a //GO.SYSIN DD min45.cf echo rc sed 's/.//' >rc <<'//GO.SYSIN DD rc' -conf -list -/45-cu x <<'//GO.SYSIN DD x' -11/45 -64k -8dh //GO.SYSIN DD x From mairix@mairix Mon Jan 1 12:34:56 1970 X-source-folder: /home/wkt/Mail_archive/2000/05/21 Received: from csadfa.cs.adfa.edu.au (csadfa.cs.adfa.edu.au [131.236.21.6]) by henry.cs.adfa.edu.au (8.9.2/8.9.3) with ESMTP id KAA77551 for ; Mon, 22 May 2000 10:35:10 +1000 (EST) (envelope-from dmr@plan9.bell-labs.com) From: dmr@plan9.bell-labs.com Received: from plan9.cs.bell-labs.com (plan9.bell-labs.com [204.178.31.2]) by csadfa.cs.adfa.edu.au (8.9.0/8.9.0) with SMTP id KAA15262 for ; Mon, 22 May 2000 10:35:03 +1000 (EST) Message-Id: <200005220035.KAA15262@csadfa.cs.adfa.edu.au> Subject: Re: PUPS Stats + plan9? Date: Sun, 21 May 2000 20:34:51 -0400 To: wkt@cs.adfa.edu.au MIME-Version: 1.0 Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: 7bit Status: RO X-Status: A Content-Length: 1392 Lines: 36 > [Dennis, this bounced 1st time] We had independent weather-related electrical, network, and a bit of Plan 9-related turbulence around the end of the week. Stability seems back now. > Just some stats. Since SCO set up a hyperlink to the PUPS Archive > here, I've had 11.6 Gbytes of downloads. Must be a record for bytes of > PDP-11 software distribution in a given period. I wonder how the SCO web > site has been? Glad to see it--though these storms can be a bit of a pain while they're happening. > Any luck with the new license for Plan 9? Will it cover previous Plan 9 > releases, or just the latest one? And do you think Lucent would allow > us to add 8th, 9th and 10th Edition UNIX into the PUPS Archive? The Plan 9 license is back from the lawyer, but is still being trimmed, though mostly at the level of fixing typos. I think it will be a bit of a surprise to some who follow the 9fans list or comp.os.plan9. There is also the question of arranging appropriate PR about it vs. Inferno. There is going to be some PR about both. I've thought about 8th and later Unix editions. As I think I have mentioned, there never was a 9th or 10th edition distribution, though there was a printed manual for both. For the 8th there is a coherent collection. The question here is whether we want to put it under the shadow of SCO, or BSD, or whatever. Regards, Dennis From mairix@mairix Mon Jan 1 12:34:56 1970 X-source-folder: /home/wkt/Mail_archive/2000/05/21 Received: from csadfa.cs.adfa.edu.au (csadfa.cs.adfa.edu.au [131.236.21.6]) by henry.cs.adfa.edu.au (8.9.2/8.9.3) with ESMTP id KAA77647 for ; Mon, 22 May 2000 10:56:31 +1000 (EST) (envelope-from dmr@plan9.bell-labs.com) From: dmr@plan9.bell-labs.com Received: from plan9.cs.bell-labs.com (plan9.bell-labs.com [204.178.31.2]) by csadfa.cs.adfa.edu.au (8.9.0/8.9.0) with SMTP id KAA15692 for ; Mon, 22 May 2000 10:56:25 +1000 (EST) Message-Id: <200005220056.KAA15692@csadfa.cs.adfa.edu.au> Subject: Re: PUPS Stats + plan9? Date: Sun, 21 May 2000 20:56:19 -0400 To: wkt@cs.adfa.edu.au MIME-Version: 1.0 Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: 7bit Status: RO Content-Length: 754 Lines: 20 > I thought that you could use a license similar to the Plan9 one that is > currently being crafted. Anyway, at any time Lucent is prepared to offer > this stuff, we have a disk with unused 0s and 1s sitting here.... I don't think there is a Lucent problem with the material as such, except perhaps figuring out whether 8th (say) belongs more to us or in some way to SCO, and what to do about the fact that there is considerable old BSD code there. Both Plan 9 distributions (existing and about-to-be) are complicated much by other-party material, in the Plan 9 case, especially by proprietary fonts for the screen and for printers. (We even had a dust-up with the heirs of Bela Lugosi, and also whoever takes care of Ed Wood's interests). D. From mairix@mairix Mon Jan 1 12:34:56 1970 X-source-folder: /home/wkt/Mail_archive/2000/06/15 Received: from csadfa.cs.adfa.edu.au (csadfa.cs.adfa.edu.au [131.236.21.6]) by henry.cs.adfa.edu.au (8.9.2/8.9.3) with ESMTP id MAA46536 for ; Fri, 16 Jun 2000 12:11:42 +1000 (EST) (envelope-from dmr@plan9.bell-labs.com) From: dmr@plan9.bell-labs.com Received: from plan9.cs.bell-labs.com (plan9.bell-labs.com [204.178.31.2]) by csadfa.cs.adfa.edu.au (8.9.0/8.9.0) with SMTP id MAA29034 for ; Fri, 16 Jun 2000 12:11:40 +1000 (EST) Message-Id: <200006160211.MAA29034@csadfa.cs.adfa.edu.au> To: wkt@cs.adfa.edu.au, norman@nose.cs.utoronto.ca Subject: Re: 10e `distribution' Date: Thu, 15 Jun 2000 22:11:33 -0400 MIME-Version: 1.0 Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: 7bit Status: RO X-Status: A Content-Length: 1758 Lines: 42 As I've probably told both Norman and Warren on various occasions though likely in pieces, the problems with a 10e 'distribution' are basically two: First is just the mechanics of getting something barely coherent, meaning getting rid of stuff that might have been fiddled for 10e but isn't interesting. We do have a snapshot called bowell.src.fs, but it's 360 megabytes. If norman has something along these lines (but much smaller) that might be interesting. Second is the legalities. A lot of the messiness in arranging both Plan 9 distributions (including the latest) was in dealing with third-party rights--things we got from somewhere. Various bits that were in the second Plan 9 aren't in the recent one just because of the work involved in correspondence with people who might well be amenable, but finding the right person and dickering over details became cumbersome. (This gets into the first point; just identifying what not to include involves some work). The kernel is an interesting question--who claims it? It is a well-delimited area and the third-party aspect is limited too. It derives from an early BSD (pre-"liberated" BSD) together with our work (including Norman's) and thus is arguably SCO's, especially given that the most important 10e (from 8e) changes are the streams ideas. So I suspect that what is needed is the inclusion of it into the SCO ancient unix mechanism. I'm sure that if SCO accepted that, there would be no local problem. Specifically, there won't be anyone here willing to assert that 10e or 8e is ours to do with as we please, though if it were, a license along the lines of the current Plan 9 one would be trivial; the sticking point is that there is no interest in asserting the ownership. Dennis From mairix@mairix Mon Jan 1 12:34:56 1970 X-source-folder: /home/wkt/Mail_archive/2000/06/15 Received: from csadfa.cs.adfa.edu.au (csadfa.cs.adfa.edu.au [131.236.21.6]) by henry.cs.adfa.edu.au (8.9.2/8.9.3) with ESMTP id NAA46757 for ; Fri, 16 Jun 2000 13:05:13 +1000 (EST) (envelope-from dmr@plan9.bell-labs.com) From: dmr@plan9.bell-labs.com Received: from plan9.cs.bell-labs.com (plan9.bell-labs.com [204.178.31.2]) by csadfa.cs.adfa.edu.au (8.9.0/8.9.0) with SMTP id NAA29800 for ; Fri, 16 Jun 2000 13:05:10 +1000 (EST) Message-Id: <200006160305.NAA29800@csadfa.cs.adfa.edu.au> To: wkt@cs.adfa.edu.au Subject: Re: 10e `distribution' Date: Thu, 15 Jun 2000 23:05:04 -0400 MIME-Version: 1.0 Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: 7bit Status: RO X-Status: A Content-Length: 1014 Lines: 23 8th-10th edition were Vax-only and ultimately derive from 32V via Berkeley (together with our stuff). This would be the argument to use with SCO, given that 32v is already in Ancient Unix, and also that SCO owns the direct descendant of the streams stuff, done by us originally, and now in SV. > Would Lucent be prepared to claim that they own those parts of 10e that > are not specifically part of 7e? This is exactly the part that's hard, not because of possible Lucent claim on parts, but just because convincing Lucent to assert such a claim will get people into a place they're not interested in exploring. The problem isn't to protect our interest in the code, it's avoiding an attempt to make claims on territory that has pretty much been conceded to SCO, and whose terms are already reasonable. I think I could fairly easily get a letter saying that Lucent has no problem with v8 (or v10) availability provided that SCO made it clear that they were OK with this under their ancient unix terms. From mairix@mairix Mon Jan 1 12:34:56 1970 X-source-folder: /home/wkt/Mail_archive/2000/06/16 Received: from csadfa.cs.adfa.edu.au (csadfa.cs.adfa.edu.au [131.236.21.6]) by henry.cs.adfa.edu.au (8.9.2/8.9.3) with ESMTP id XAA49272 for ; Fri, 16 Jun 2000 23:16:50 +1000 (EST) (envelope-from norman@nose.cs.utoronto.ca) Received: from yonge.cs.toronto.edu (root@yonge.cs.toronto.edu [128.100.1.8]) by csadfa.cs.adfa.edu.au (8.9.0/8.9.0) with SMTP id XAA06657 for ; Fri, 16 Jun 2000 23:16:47 +1000 (EST) Received: from [128.100.20.218] ([128.100.20.218]) by yonge.cs.toronto.edu with SMTP id <33974-12275>; Fri, 16 Jun 2000 09:16:38 -0400 From: Norman Wilson To: dmr@plan9.bell-labs.com, wkt@cs.adfa.edu.au Subject: Re: 10e `distribution' Date: Fri, 16 Jun 2000 10:16:18 -0400 X-Mailer: EPOC32 Email Version 1.50 Message-Id: <00Jun16.091638edt.33974-12275@yonge.cs.toronto.edu> Status: RO Content-Length: 3642 Lines: 76 To answer the easy questions (before I check out of my hotel in Albuquerque, and hence go offline for another couple of days): I'm pretty sure the kernel that turned into 8e was an old enough 4BSD (4.1a or something) that it required only a 32V license. The sticking points are the stream I/O system, /proc, and pjw's network file system, all of which were adopted in one way or another by System V, even though they were changed a lot in the process. (I was going to write `mutated' but choked on the mixed metaphor, and it's too close to `mutilated,' which is true to some extent but not exactly fair.) 10e runs only on VAXes, and I believe never ran on anything else; certainly the 4.xBSD kernel it is based on was full of VAX dependencies. So the `16-bit PDP-11' clause is no help. The `early 32-bit' clause probably applies to the base BSD kernel, but not to the things that make it V8. So, at least for the kernel, it's up to SCO. And then there's all the code that runs in user mode. The most obvious distinguishing feature is all the jerq support; that ended up in much-changed form in System V too. There are newer copies of things like troff and awk, some of which may cause trouble, some not. There are also some things that were adopted from System V into the Research system; make comes to mind. That the code even in 10e is all at least five years old (most of it probably at least ten) may help, but I think we will still need to clear it with SCO. It may be easier for the V8 tape (if anyone still has a copy; come to think of it, there may be one in Australia, at either Sydney Uni or UNSW, I forget which) because that is much older. On the other hand, although the ideas and some of the code are in System V, the Research system certainly isn't the same as System V, nor is it a successor system; so one could argue that the Ancient UNIX license applies anyway. I take that to mean not that we shouldn't ask SCO explicitly but that they can declare 8e-10e to be within the intent of the existing license rather than drawing up a new one. I am less worried about the work of sorting the code out If I understand correctly, Warren's primary interest is historic preservation, so weeding out `uninteresting' stuff is probably unnecessary and in fact undesirable. If we can weed out the stuff that might make SCO or Lucent or AT&T unhappy if released, that is probably good enough; if someone wants to run the system, they can do the work. (And, as I said earlier, I'll be going through a form of the wretched make-it-all-work-again exercise for my own purposes, though I plan to toss a lot of old code aside. Dennis will remember how much I like to do that anyway.) My snapshot is in two pieces: a copy of most of bowell's /usr/src, leaving out stuff that was just there for reference; a copy of r70's root and /usr with a few obvious cleanups, e.g. I took care to leave the password file behind. Both were taken sometime in the summer of 1995. They add up to something like 200MB. It's no skin off my nose to spend a day or two assembling them and writing a few explanatory notes for posterity and trimming away major subsystems that we can't clear up the licensing for and so on. The first question is whether SCO will let us do it at all. Dennis: do you know whether any of Andrew's old optical-disk backups contain enough stuff to reconstruct a 9th-Edition-era snapshot? I can't remember just when he started that work. Ironically, I'll be in Santa Cruz this Sunday, but that is presumably not a good day to talk to SCO's lawyers, and in any rate I'd rather not do business myself that day. From mairix@mairix Mon Jan 1 12:34:56 1970 X-source-folder: /home/wkt/Mail_archive/2000/06/16 Received: from csadfa.cs.adfa.edu.au (csadfa.cs.adfa.edu.au [131.236.21.6]) by henry.cs.adfa.edu.au (8.9.2/8.9.3) with ESMTP id MAA46623 for ; Fri, 16 Jun 2000 12:30:33 +1000 (EST) (envelope-from wkt@henry.cs.adfa.edu.au) Received: from henry.cs.adfa.edu.au (henry.cs.adfa.edu.au [131.236.21.158]) by csadfa.cs.adfa.edu.au (8.9.0/8.9.0) with ESMTP id MAA29317 for ; Fri, 16 Jun 2000 12:30:32 +1000 (EST) Received: (from wkt@localhost) by henry.cs.adfa.edu.au (8.9.2/8.9.3) id MAA46614; Fri, 16 Jun 2000 12:30:25 +1000 (EST) (envelope-from wkt) From: Warren Toomey Message-Id: <200006160230.MAA46614@henry.cs.adfa.edu.au> Subject: Re: 10e `distribution' In-Reply-To: <200006160211.MAA29034@csadfa.cs.adfa.edu.au> from "dmr@plan9.bell-labs.com" at "Jun 15, 2000 10:11:33 pm" To: dmr@plan9.bell-labs.com Date: Fri, 16 Jun 2000 12:30:25 +1000 (EST) Cc: wkt@cs.adfa.edu.au, norman@nose.cs.utoronto.ca Reply-To: wkt@cs.adfa.edu.au X-Mailer: ELM [version 2.4ME+ PL43 (25)] MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Status: RO Content-Length: 1499 Lines: 40 In article by dmr@plan9.bell-labs.com: > So I suspect that what is needed is the inclusion > of it into the SCO ancient unix mechanism. I'm sure > that if SCO accepted that, there would be no local problem. What platform or platforms does 10th Edition run on? I ask because the SCO Ancient UNIX source license says: The SOURCE CODE PRODUCTS to which SCO grants rights under this AGREEMENT are restricted to the following UNIX Operating Systems, including SUCCESSOR OPERATING SYSTEMs, that operate on the 16-Bit PDP-11 CPU and early versions of the 32-Bit UNIX Operating System with specific exclusion of UNIX System V and successor operating systems: 16-Bit UNIX Editions 1, 2, 3, 4, 5, 6, 7 32-bit 32V If 10th Edition runs on the PDP-11 platform, then I believe that Lucent could distribute the source code, as it is a successor system. We already have a similar agreement from DEC/Compaq to allow Ultrix-11 to be distributed to holders of the SCO Ancient UNIX license. > Specifically, there won't be anyone here willing to assert > that 10e or 8e is ours to do with as we please, though > if it were, a license along the lines of the current Plan 9 > one would be trivial; the sticking point is that there > is no interest in asserting the ownership. > Dennis Would Lucent be prepared to claim that they own those parts of 10e that are not specifically part of 7e? If so, and if 10e runs on the PDP-11, we can proceed as we did with Ultrix-11. Thanks again, Warren From mairix@mairix Mon Jan 1 12:34:56 1970 X-source-folder: /home/wkt/Mail_archive/2000/06/18 Received: from csadfa.cs.adfa.edu.au (csadfa.cs.adfa.edu.au [131.236.21.6]) by henry.cs.adfa.edu.au (8.9.2/8.9.3) with ESMTP id IAA66500 for ; Mon, 19 Jun 2000 08:47:09 +1000 (EST) (envelope-from norman@nose.cs.utoronto.ca) Received: from yonge.cs.toronto.edu (root@yonge.cs.toronto.edu [128.100.1.8]) by csadfa.cs.adfa.edu.au (8.9.0/8.9.0) with SMTP id IAA29362 for ; Mon, 19 Jun 2000 08:47:06 +1000 (EST) Received: from [128.100.20.221] ([128.100.20.221]) by yonge.cs.toronto.edu with SMTP id <33994-14431>; Sun, 18 Jun 2000 18:46:41 -0400 From: Norman Wilson To: wkt@cs.adfa.edu.au, dmr@plan9.bell-labs.com Subject: Re: 10e `distribution' Date: Sun, 18 Jun 2000 19:46:23 -0400 X-Mailer: EPOC32 Email Version 1.50 Message-Id: <00Jun18.184641edt.33994-14431@yonge.cs.toronto.edu> Status: RO Content-Length: 233 Lines: 9 Wasn't Dave Kapilow's Research-UNIX-on-Sun stuff done during the Ninth Edition era? If so, a copy of that tape might be of interest. I think Geoff Collyer had an official copy of that tape when he was at U of T; I'll ask him. From mairix@mairix Mon Jan 1 12:34:56 1970 X-source-folder: /home/wkt/Mail_archive/2000/07/01 Received: from csadfa.cs.adfa.edu.au (csadfa.cs.adfa.edu.au [131.236.21.6]) by henry.cs.adfa.edu.au (8.9.2/8.9.3) with ESMTP id MAA64666 for ; Sun, 2 Jul 2000 12:17:30 +1000 (EST) (envelope-from dmr@plan9.bell-labs.com) From: dmr@plan9.bell-labs.com Received: from plan9.cs.bell-labs.com (plan9.bell-labs.com [204.178.31.2]) by csadfa.cs.adfa.edu.au (8.9.0/8.9.0) with SMTP id MAA21612 for ; Sun, 2 Jul 2000 12:17:28 +1000 (EST) Message-Id: <200007020217.MAA21612@csadfa.cs.adfa.edu.au> To: wkt@cs.adfa.edu.au Subject: Re: K&R c pre-processor Date: Sat, 1 Jul 2000 22:17:21 -0400 MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="upas-puxcawqbsxrjtdlpkzedfipxys" Status: RO X-Status: A Content-Length: 1825 Lines: 58 This is a multi-part message in MIME format. --upas-puxcawqbsxrjtdlpkzedfipxys Content-Disposition: inline Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: 7bit I know of only two cpps from here; the one in V7 V8...V10 whose README says that it's a version of the Reiser one from V7, and the one I did more recently, which is definitely intended for ANSI (as of C89). Both are readily available; for example the ANSI one is part of LCC. In looking through versions of the earlier one (directly descended from V7 via Reiser and Berkeley) there are a lot of messy differences. (I was tempted to say a priori that they wouldn't be there, but they are.) What's actually needed? Dennis --upas-puxcawqbsxrjtdlpkzedfipxys Content-Type: message/rfc822 Content-Disposition: inline Received: from plan9.cs.bell-labs.com ([135.104.9.2]) by plan9; Sat Jul 1 20:17:30 EDT 2000 Received: from henry.cs.adfa.edu.au ([131.236.21.158]) by plan9; Sat Jul 1 20:17:29 EDT 2000 Received: (from wkt@localhost) by henry.cs.adfa.edu.au (8.9.2/8.9.3) id KAA64199 for dmr@plan9.bell-labs.com; Sun, 2 Jul 2000 10:17:24 +1000 (EST) (envelope-from wkt) From: Warren Toomey Message-Id: <200007020017.KAA64199@henry.cs.adfa.edu.au> Subject: K&R c pre-processor To: dmr@plan9.bell-labs.com (Dennis Ritchie) Date: Sun, 2 Jul 2000 10:17:24 +1000 (EST) Reply-To: wkt@cs.adfa.edu.au X-Mailer: ELM [version 2.4ME+ PL43 (25)] MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Dennis, Someone just asked me about a freely-available K&R C pre-processor. Definitely K&R, not ANSI C. I have a vague memory that you posted such a beast, or gave me one, about 5 years ago. Many thanks for any pointers. Cheers! Warren --upas-puxcawqbsxrjtdlpkzedfipxys-- From mairix@mairix Mon Jan 1 12:34:56 1970 X-source-folder: /home/wkt/Mail_archive/2000/08/04 Received: from csadfa.cs.adfa.edu.au (csadfa.cs.adfa.edu.au [131.236.21.6]) by henry.cs.adfa.edu.au (8.9.3/8.9.3) with ESMTP id IAA03126 for ; Fri, 4 Aug 2000 08:11:18 +1000 (EST) (envelope-from wkt@henry.cs.adfa.edu.au) Received: from henry.cs.adfa.edu.au (henry.cs.adfa.edu.au [131.236.21.158]) by csadfa.cs.adfa.edu.au (8.9.0/8.9.0) with ESMTP id IAA15048 for ; Fri, 4 Aug 2000 08:10:21 +1000 (EST) Received: (from wkt@localhost) by henry.cs.adfa.edu.au (8.9.3/8.9.3) id IAA03108; Fri, 4 Aug 2000 08:10:14 +1000 (EST) (envelope-from wkt) Date: Fri, 4 Aug 2000 08:10:14 +1000 (EST) From: Warren Toomey Message-Id: <200008032210.IAA03108@henry.cs.adfa.edu.au> To: bostic@abyssinian.sleepycat.com, clemc@mro.dec.com, dmr@plan9.bell-labs.com, henry@zoo.toronto.edu, mash@mash.engr.sgi.com, mckusick@McKusick.COM, rhaight@jedi.accn.org, ted@softbank.com, wkt@cs.adfa.edu.au Subject: Any USG releases still out there? Status: RO Content-Length: 1950 Lines: 58 All, [ e-mail to several people ] The archive of old UNIXes I maintain here has a serious gap when it comes to the releases from USG. All I've got is copies of PWB/UNIX 1.0 donated by Keith Bostic and Henry Spencer (thanks guys), and Mini UNIX. I think I've squeezed everything I can out of Dennis :-) Many thanks! Is there anything from USG you might have which could be added into our Unix Archive? I'd love these things: PWB/UNIX before 1.0, PWB/UNIX 2.0, MERT, UNIX/TS (any versions), CB UNIX, anything that eventually led to Sys III. The archive at present does contain SysIII and SysV for the PDP-11. I should mention that the archive can be acccessed by the web or ftp. The details are at http://minnie.cs.adfa.edu.au/TUHS/archive_sites.html. You need to know the username (au2108) and password (wup6elb), and be covered by a source license. No source license? Go to http://www.sco.com/offers/ancient.html to get one. Finally, a bit of nostalgia from the PWB/UNIX 1.0 files appears below. Cheers, Warren Installation of PWB/UNIX Edition 1.0 DISPOSITION: PWB User's Manual (User's Documentation, Book One) "The air is humming, And something great is coming. Come on, deliver to me ..." - West Side Story L. Bernstein & S. Sondheim PWB/UNIX Edition 1.0 is currently being tested on UNIX A. It will be installed on the other BISP PDP-11's as follows: UNIX D: 6/6/77 UNIX B,F: 6/13/77 PWB/UNIX Edition 1.0 will be available to the rest of the world on 7/1/77. It will not be installed on Systems C and E; those users are moving to the new Systems G and H in July, and they will get PWB/UNIX Edition 1.0 at that time. There are a number of differences between PWB/UNIX Edition 1.0 and the "old" version currently installed on PWB Systems B-F. These differences range from major to trivial. [long list omitted] From mairix@mairix Mon Jan 1 12:34:56 1970 X-source-folder: /home/wkt/Mail_archive/2000/10/26 Received: from csadfa.cs.adfa.edu.au (csadfa.cs.adfa.edu.au [131.236.21.6]) by henry.cs.adfa.edu.au (8.9.3/8.9.3) with ESMTP id FAA33326 for ; Fri, 27 Oct 2000 05:44:59 +1100 (EST) (envelope-from dmr@plan9.bell-labs.com) From: dmr@plan9.bell-labs.com Received: from plan9.cs.bell-labs.com (plan9.bell-labs.com [204.178.31.2]) by csadfa.cs.adfa.edu.au (8.9.0/8.9.0) with SMTP id FAA05608 for ; Fri, 27 Oct 2000 05:42:06 +1100 (EST) Message-Id: <200010261842.FAA05608@csadfa.cs.adfa.edu.au> Subject: research 8th edition Date: Thu, 26 Oct 2000 14:41:50 -0400 To: wkt@henry.cs.adfa.edu.au MIME-Version: 1.0 Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: 7bit Status: RO X-Status: A Content-Length: 306 Lines: 14 Someone asked me about this recently-- Did anything ever happen with SCO on this? All I can find in my mailbox is inconclusive. (Actually, would it be Caldera now?) I have a still-live link on my pages to the ancient unix license, but I couldn't see how to get to it from the SCO home pages. Dennis From mairix@mairix Mon Jan 1 12:34:56 1970 X-source-folder: /home/wkt/Mail_archive/2000/10/26 Received: from csadfa.cs.adfa.edu.au (csadfa.cs.adfa.edu.au [131.236.21.6]) by henry.cs.adfa.edu.au (8.9.3/8.9.3) with ESMTP id LAA34629 for ; Fri, 27 Oct 2000 11:31:19 +1100 (EST) (envelope-from dmr@plan9.bell-labs.com) From: dmr@plan9.bell-labs.com Received: from plan9.cs.bell-labs.com (plan9.bell-labs.com [204.178.31.2]) by csadfa.cs.adfa.edu.au (8.9.0/8.9.0) with SMTP id LAA09433 for ; Fri, 27 Oct 2000 11:28:26 +1100 (EST) Message-Id: <200010270028.LAA09433@csadfa.cs.adfa.edu.au> To: wkt@cs.adfa.edu.au Subject: Re: research 8th edition Date: Thu, 26 Oct 2000 20:28:20 -0400 MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="upas-dcieahachwhoubvlpyozjjiqko" Status: RO Content-Length: 2059 Lines: 68 This is a multi-part message in MIME format. --upas-dcieahachwhoubvlpyozjjiqko Content-Disposition: inline Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: 7bit Thx. That's the link I have. I'll deal with the particular inquiries I got; I was just wondering whether something had happened that I forgot or didn't hear about. Regards, Dennis --upas-dcieahachwhoubvlpyozjjiqko Content-Type: message/rfc822 Content-Disposition: inline Received: from plan9.cs.bell-labs.com ([135.104.9.2]) by plan9; Thu Oct 26 17:28:33 EDT 2000 Received: from henry.cs.adfa.edu.au ([131.236.21.158]) by plan9; Thu Oct 26 17:28:31 EDT 2000 Received: (from wkt@localhost) by henry.cs.adfa.edu.au (8.9.3/8.9.3) id IAA33764 for dmr@plan9.bell-labs.com; Fri, 27 Oct 2000 08:31:18 +1100 (EST) (envelope-from wkt) From: Warren Toomey Message-Id: <200010262131.IAA33764@henry.cs.adfa.edu.au> Subject: Re: research 8th edition In-Reply-To: <200010261842.FAA05608@csadfa.cs.adfa.edu.au> from "dmr@plan9.bell-labs.com" at "Oct 26, 2000 02:41:50 pm" To: dmr@plan9.bell-labs.com Date: Fri, 27 Oct 2000 08:31:18 +1100 (EST) Reply-To: wkt@cs.adfa.edu.au X-Mailer: ELM [version 2.4ME+ PL68 (25)] MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit In article by dmr@plan9.bell-labs.com: > Someone asked me about this recently-- > Did anything ever happen with SCO on this? > All I can find in my mailbox is inconclusive. > (Actually, would it be Caldera now?) > > I have a still-live link on my pages to the ancient unix license, > but I couldn't see how to get to it from > the SCO home pages. > > Dennis Hi Dennis, the SCO page is http://www.sco.com/offers/ancient.html No, I haven't heard from SCO at all. I might send them in another e-mail. As for who now owns the rights to the source, who knows? SCO are still giving out electronic licenses, for all that's worth .... I'll let you know what I come up with. Many thanks again! Warren --upas-dcieahachwhoubvlpyozjjiqko-- From mairix@mairix Mon Jan 1 12:34:56 1970 X-source-folder: /home/wkt/Mail_archive/2000/11/01 Received: from csadfa.cs.adfa.edu.au (csadfa.cs.adfa.edu.au [131.236.21.6]) by henry.cs.adfa.edu.au (8.9.3/8.9.3) with ESMTP id MAA50213 for ; Thu, 2 Nov 2000 12:18:12 +1100 (EST) (envelope-from dmr@plan9.bell-labs.com) From: dmr@plan9.bell-labs.com Received: from plan9.cs.bell-labs.com (plan9.bell-labs.com [204.178.31.2]) by csadfa.cs.adfa.edu.au (8.9.0/8.9.0) with SMTP id MAA00424 for ; Thu, 2 Nov 2000 12:15:20 +1100 (EST) Message-Id: <200011020115.MAA00424@csadfa.cs.adfa.edu.au> To: wkt@cs.adfa.edu.au Subject: Re: More old tapes Date: Wed, 1 Nov 2000 20:15:01 -0500 MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="upas-spmbxmqnonhtsouqqwuplpjyfb" Status: RO X-Status: A Content-Length: 1894 Lines: 59 This is a multi-part message in MIME format. --upas-spmbxmqnonhtsouqqwuplpjyfb Content-Disposition: inline Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: 7bit I have suspicions about the possibility for 4th edition, but if it's real I'd like to grab it instanter. The Miller Interdata version would be a real find also. Thanks for keeping me informed. These, together with a PWB, are things about which I think there are no IP issues given agreements you already have. Dennis --upas-spmbxmqnonhtsouqqwuplpjyfb Content-Type: message/rfc822 Content-Disposition: inline Received: from plan9.cs.bell-labs.com ([135.104.9.2]) by plan9; Wed Nov 1 16:57:54 EST 2000 Received: from henry.cs.adfa.edu.au ([131.236.21.158]) by plan9; Wed Nov 1 16:57:53 EST 2000 Received: (from wkt@localhost) by henry.cs.adfa.edu.au (8.9.3/8.9.3) id JAA49191 for dmr@plan9.bell-labs.com; Thu, 2 Nov 2000 09:00:39 +1100 (EST) (envelope-from wkt) From: Warren Toomey Message-Id: <200011012200.JAA49191@henry.cs.adfa.edu.au> Subject: More old tapes To: Dennis Ritchie Date: Thu, 2 Nov 2000 09:00:39 +1100 (EST) Reply-To: wkt@cs.adfa.edu.au X-Mailer: ELM [version 2.4ME+ PL68 (25)] MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Dennis, interesting news. From Greg Lehey: >> I was talking to Henry Hall this morning, and he tells me he thinks he >> has some old UNIX tapes, possibly 4th Edition, 5th Edition and PWB. >> They'd be on 9" tapes, probably 800 or 1600 bpi. Henry's in Concorde >> MA. And from Richar Miller, who was at Wollongong Uni in Australia but now in the UK; he has a copy of the Wollongong Interdata port of 6th Edition on tape as well. If & when we get these copied, I'll pass their contents on to you. Cheers, Warren --upas-spmbxmqnonhtsouqqwuplpjyfb-- From mairix@mairix Mon Jan 1 12:34:56 1970 X-source-folder: /home/wkt/Mail_archive/2000/11/01 Received: from csadfa.cs.adfa.edu.au (csadfa.cs.adfa.edu.au [131.236.21.6]) by henry.cs.adfa.edu.au (8.9.3/8.9.3) with ESMTP id MAA50395 for ; Thu, 2 Nov 2000 12:42:06 +1100 (EST) (envelope-from dmr@plan9.bell-labs.com) From: dmr@plan9.bell-labs.com Received: from plan9.cs.bell-labs.com (plan9.bell-labs.com [204.178.31.2]) by csadfa.cs.adfa.edu.au (8.9.0/8.9.0) with SMTP id MAA00836 for ; Thu, 2 Nov 2000 12:39:14 +1100 (EST) Message-Id: <200011020139.MAA00836@csadfa.cs.adfa.edu.au> To: wkt@cs.adfa.edu.au Subject: Re: More old tapes Date: Wed, 1 Nov 2000 20:39:03 -0500 MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="upas-qglidllfmqiqqwizxrotukkgsd" Status: RO Content-Length: 2220 Lines: 67 This is a multi-part message in MIME format. --upas-qglidllfmqiqqwizxrotukkgsd Content-Disposition: inline Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: 7bit Richard's thinking just like me--the basic stuff (e.g. kernel) no one really cares about now in terms of IP, but there are some adhesions that persist. I don't recall Henry Hall either, but something might jog the memory. See what happens, I guess. Dennis --upas-qglidllfmqiqqwizxrotukkgsd Content-Type: message/rfc822 Content-Disposition: inline Received: from plan9.cs.bell-labs.com ([135.104.9.2]) by plan9; Wed Nov 1 20:27:36 EST 2000 Received: from henry.cs.adfa.edu.au ([131.236.21.158]) by plan9; Wed Nov 1 20:27:34 EST 2000 Received: (from wkt@localhost) by henry.cs.adfa.edu.au (8.9.3/8.9.3) id MAA50355 for dmr@plan9.bell-labs.com; Thu, 2 Nov 2000 12:30:19 +1100 (EST) (envelope-from wkt) From: Warren Toomey Message-Id: <200011020130.MAA50355@henry.cs.adfa.edu.au> Subject: Re: More old tapes In-Reply-To: <200011020115.MAA00424@csadfa.cs.adfa.edu.au> from "dmr@plan9.bell-labs.com" at "Nov 1, 2000 08:15:01 pm" To: dmr@plan9.bell-labs.com Date: Thu, 2 Nov 2000 12:30:19 +1100 (EST) Reply-To: wkt@cs.adfa.edu.au X-Mailer: ELM [version 2.4ME+ PL68 (25)] MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit In article by dmr@plan9.bell-labs.com: > I have suspicions about the possibility for 4th edition, but > if it's real I'd like to grab it instanter. The Miller Interdata > version would be a real find also. Thanks for keeping me > informed. > > These, together with a PWB, are things about which I > think there are no IP issues given agreements you already > have. > > Dennis Richard Miller thinks there may be some IP in the Interdata port that flowed on to the Wollongong Group. If not, the Uni of Wollongong might claim it. Anyway, he's contacting some people to get a blessing at least from the Uni. I don't know Henry Hall, do you know him? I guess you let out 4th Ed to a few places after SOSP/CACM, so it is possible, just unlikely, that there is a surviving copy. Cheers, Warren --upas-qglidllfmqiqqwizxrotukkgsd-- From mairix@mairix Mon Jan 1 12:34:56 1970 X-source-folder: /home/wkt/Mail_archive/2000/11/02 Received: from csadfa.cs.adfa.edu.au (csadfa.cs.adfa.edu.au [131.236.21.6]) by henry.cs.adfa.edu.au (8.9.3/8.9.3) with ESMTP id OAA54603 for ; Fri, 3 Nov 2000 14:19:50 +1100 (EST) (envelope-from dmr@plan9.bell-labs.com) From: dmr@plan9.bell-labs.com Received: from plan9.cs.bell-labs.com (plan9.bell-labs.com [204.178.31.2]) by csadfa.cs.adfa.edu.au (8.9.0/8.9.0) with SMTP id OAA16989 for ; Fri, 3 Nov 2000 14:16:58 +1100 (EST) Message-Id: <200011030316.OAA16989@csadfa.cs.adfa.edu.au> To: wkt@cs.adfa.edu.au Subject: Re: Ancient UNIX: can we extend the license? Date: Thu, 2 Nov 2000 22:16:52 -0500 MIME-Version: 1.0 Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: 7bit Status: RO X-Status: A Content-Length: 347 Lines: 12 Thanks for (re-)sending on the question to SCO--at least it might begin to smoke out whether the ancient license stuff is going to continue with them or Caldera. Maybe this is like what happened when we were trying to get the Lions book permissions from SCO just as they were taking over from Novell. Took a while to sort this out. Dennis From mairix@mairix Mon Jan 1 12:34:56 1970 X-source-folder: /home/wkt/Mail_archive/2000/11/06 Received: from csadfa.cs.adfa.edu.au (csadfa.cs.adfa.edu.au [131.236.21.6]) by henry.cs.adfa.edu.au (8.9.3/8.9.3) with ESMTP id MAA04404 for ; Tue, 7 Nov 2000 12:39:19 +1100 (EST) (envelope-from dmr@plan9.bell-labs.com) From: dmr@plan9.bell-labs.com Received: from plan9.cs.bell-labs.com (plan9.bell-labs.com [204.178.31.2]) by csadfa.cs.adfa.edu.au (8.9.0/8.9.0) with SMTP id MAA04254 for ; Tue, 7 Nov 2000 12:35:28 +1100 (EST) Message-Id: <200011070135.MAA04254@csadfa.cs.adfa.edu.au> To: davidey@sco.COM CC: wkt@cs.adfa.edu.au Subject: Re: Ancient UNIX: can we extend the license? Date: Mon, 6 Nov 2000 20:35:19 -0500 MIME-Version: 1.0 Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: 7bit Status: RO Content-Length: 952 Lines: 24 > The short answer is that, until the deal closes around the first of the year, > there is pretty much a moratorium on doing anything with the intellectual > property -- I think SCO just wants to get the whole thing turned over to > Caldera, and let them figure out what they want to do with it. Thanks for the note to Warren and me--I understand the situation better now. It's much like the moment when the Unix property was about to be turned over from Novell to SCO and we approached Michels and Tilson about the reprinting of the Lions book. Both were sympathetic, but had other things to worry about at the moment. (Happily, once the deal was done, it all worked out.) The 8th Edition question has its own complications (e.g. there is much newer code involved than in the things that are part of the currrent "historical" SCO offerings). But I can certainly understand why SCO has other IP issues to think about now. Dennis Ritchie From mairix@mairix Mon Jan 1 12:34:56 1970 X-source-folder: /home/wkt/Mail_archive/2001/03/01 Received: from plan9.cs.bell-labs.com (plan9.bell-labs.com [204.178.31.2]) by henry.cs.adfa.edu.au (8.11.2/8.9.3) with SMTP id f217H5U12054 for ; Thu, 1 Mar 2001 18:17:05 +1100 (EST) (envelope-from dmr@plan9.bell-labs.com) Message-Id: <200103010717.f217H5U12054@henry.cs.adfa.edu.au> Subject: When did /etc/passwd.... Date: Thu, 1 Mar 2001 02:16:56 -0500 From: dmr@plan9.bell-labs.com To: wkt@henry.cs.adfa.edu.au MIME-Version: 1.0 Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: 7bit Status: RO X-Status: A Content-Length: 718 Lines: 22 How'd you manage to come by a 3rd or 4th edition manual? Even I would have to go into the Labs to get the 3rd! Or 2nd, for that matter. I do have 4-7 at home, and of course the 1st is online. I made a bit of a start at the 10th online, incidentally. http://plan9.bell-labs.com/10thEdMan This is not announced yet, and not linked from anywhere. So far it has just a couple of the papers from vol 2 and some of its interesting pictures. I'm not sure how to carry this--doing the main pages doesn't seem too hard but the papers are a problem. Mechanically they aren't in as good shape as I thought at first, and many of them are about programs you can't get any more and of course were done by others. Dennis From mairix@mairix Mon Jan 1 12:34:56 1970 X-source-folder: /home/wkt/Mail_archive/2001/03/01 Received: from csadfa.cs.adfa.edu.au (csadfa.cs.adfa.edu.au [131.236.21.6]) by henry.cs.adfa.edu.au (8.11.2/8.9.3) with ESMTP id f223lhU15216 for ; Fri, 2 Mar 2001 14:47:43 +1100 (EST) (envelope-from dmr@plan9.bell-labs.com) Received: from plan9.cs.bell-labs.com (plan9.bell-labs.com [204.178.31.2]) by csadfa.cs.adfa.edu.au (8.9.0/8.9.0) with SMTP id OAA00805 for ; Fri, 2 Mar 2001 14:47:43 +1100 (EST) From: dmr@plan9.bell-labs.com Message-Id: <200103020347.OAA00805@csadfa.cs.adfa.edu.au> To: wkt@cs.adfa.edu.au Subject: Re: When did /etc/passwd.... Date: Thu, 1 Mar 2001 22:47:33 -0500 MIME-Version: 1.0 Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: 7bit Status: RO Content-Length: 1859 Lines: 43 I must be getting old--yes, the v2 and v3 are indeed still on line here also. I did just what I should have done a bit over a year ago, and put the v3 and v4 references into my shell script for mounting the local archived systems. I'd forgotten that they were buried, let alone where. Indexing is important! About the scanning of v2 and v5: I am confident that there is no problem with doing this. I'm a little surprised that we or you or Norman haven't turned up the troff version of the 5th manual. But in any case, it is fairly clear (based on experience with 1,3,4,6,7) that adding the missing ones couldn't cause a furore. Shannon's been away for a long time--he went to MIT even before I arrived. I think I only met him once, and "met" is the wrong word--he gave a local talk when I was in high school or earlier, and showed the mouse-maze demo that is pictured in many of the obit photos. This was especially neat--he needed two relay flip-flops per square to record the path (first pass: poke around the 4 directions; as the mouse finds a non-wall, remember which of NESW got the mouse out. Eventually it stumbles to the goal. Second pass: just follow the recorded ways out. Not optimal, but no mistakes.) But more on the topic of history: it turns out that the Bell Labs library still does keep many things on microfiche and will retrieve them, now by online request. One that I just ordered is an internal Technical Memorandum by Shannon, TM43-110-44 entitled 'Analogue of the Vernam System for Continuous Time Series'. This is, I think, reprinted in the collection of his works in the book edited by Sloane and Wyner, but it will be interesting to see the original: "TM43-..." means that was written in 1943. This work is probably related to the telephone communication system used by Churchill and Roosevelt during WW2. Dennis From mairix@mairix Mon Jan 1 12:34:56 1970 X-source-folder: /home/wkt/Mail_archive/2001/03/06 Received: from csadfa.cs.adfa.edu.au (csadfa.cs.adfa.edu.au [131.236.21.6]) by henry.cs.adfa.edu.au (8.11.2/8.9.3) with ESMTP id f274wuU37813 for ; Wed, 7 Mar 2001 15:58:56 +1100 (EST) (envelope-from dmr@plan9.bell-labs.com) Received: from plan9.cs.bell-labs.com (plan9.bell-labs.com [204.178.31.2]) by csadfa.cs.adfa.edu.au (8.9.0/8.9.0) with SMTP id PAA18706 for ; Wed, 7 Mar 2001 15:59:02 +1100 (EST) From: dmr@plan9.bell-labs.com Message-Id: <200103070459.PAA18706@csadfa.cs.adfa.edu.au> To: wkt@cs.adfa.edu.au Subject: Re: Syscall design in 1st Edition? Date: Tue, 6 Mar 2001 23:58:51 -0500 MIME-Version: 1.0 Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: 7bit Status: RO Content-Length: 2035 Lines: 42 > Who was/were responsible for the choice of system calls for the PDP-7 > version and the 1st Edition of UNIX? How was the choice made, what was > thrown out, etc etc. I'm still impressed how many of this original set of > system calls still exist, albeit in an evolved format. Ken. But the I/O scheme was sort of ancestral in that the open/close/read/write/seek things were pretty much directly from Multics. Of course the basic idea of such operations was older, but the byte-buffer idea was at least fairly fresh in Multics. Its direct predecessor CTSS was much more more block-oriented. The place where real evolution (in system calls) took place in the PDP-7 system was with fork/exec. This covered pretty well in the Evolution paper on my homepage. This was on the '7; the other big early change (on transition to the PDP-11) was the acquisition of file path names. This is in the same paper as well. > Also, at least for 1st Edition, you chose to implement these as real > system calls (i.e with a SYS instruction, rather than a subroutine > call). Was this for a reason? The PDP-11/20 didn't have have a user/kernel > mode distinction, so again I'm impressed by the foresight. It's a pity > that the microcomputer OS designers didn't think so clearly. Even on the PDP-7 system calls were done with some sort of trap instruction, which I no longer remember. The idea of having a clear system vs user distinction (even if the hardware didn't help) was another of the things that was absorbed, not only from Multics but also from CTSS and (in Ken's case) presumably from the Berkeley SDS 940 system. These earlier systems did have a clear hardware distinction, and even when our hardware didn't support it nicely (particularly separation of address space), it seemed only natural to do things this way--if for no other reason than that it made it simpler to tweak and recompile the OS and the user programs independently, with the system call numbers providing the naming connection. Regards, Dennis From mairix@mairix Mon Jan 1 12:34:56 1970 X-source-folder: /home/wkt/Mail_archive/2001/04/04 Received: from csadfa.cs.adfa.edu.au (csadfa.cs.adfa.edu.au [131.236.21.6]) by henry.cs.adfa.edu.au (8.11.2/8.9.3) with ESMTP id f3519rN13192 for ; Thu, 5 Apr 2001 11:09:53 +1000 (EST) (envelope-from dmr@plan9.bell-labs.com) Received: from plan9.cs.bell-labs.com (plan9.bell-labs.com [204.178.31.2]) by csadfa.cs.adfa.edu.au (8.9.0/8.9.0) with SMTP id LAA22780 for ; Thu, 5 Apr 2001 11:09:55 +1000 (EST) From: dmr@plan9.bell-labs.com Message-Id: <200104050109.LAA22780@csadfa.cs.adfa.edu.au> To: wkt@cs.adfa.edu.au CC: gmp216@nyu.edu Subject: Re: Ancient Unix licenses? Date: Wed, 4 Apr 2001 21:09:37 -0400 MIME-Version: 1.0 Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: 7bit Status: RO X-Status: A Content-Length: 418 Lines: 14 Warren-- I've also been in contact with Greg P about other aspects of his project. I can't see any reason why you can't send whatever versions of the licenses themselves you have-- except for your work & expense involved in dredging them up and sending them. SCO and AT&T and Lucent also seem to have lost them, just as you say. But I don't think they're sensitive material now (nor were they then). Dennis From mairix@mairix Mon Jan 1 12:34:56 1970 X-source-folder: /home/wkt/Mail_archive/2001/04/04 Received: from csadfa.cs.adfa.edu.au (csadfa.cs.adfa.edu.au [131.236.21.6]) by henry.cs.adfa.edu.au (8.11.2/8.9.3) with ESMTP id f351dAN13306 for ; Thu, 5 Apr 2001 11:39:10 +1000 (EST) (envelope-from dmr@plan9.bell-labs.com) Received: from plan9.cs.bell-labs.com (plan9.bell-labs.com [204.178.31.2]) by csadfa.cs.adfa.edu.au (8.9.0/8.9.0) with SMTP id LAA23252 for ; Thu, 5 Apr 2001 11:39:12 +1000 (EST) From: dmr@plan9.bell-labs.com Message-Id: <200104050139.LAA23252@csadfa.cs.adfa.edu.au> To: wkt@cs.adfa.edu.au Subject: Re: Ancient Unix licenses? Date: Wed, 4 Apr 2001 21:39:05 -0400 MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="upas-afwbxomqszxwrmyexbkzxbkfuc" Status: RO X-Status: A Content-Length: 2853 Lines: 76 This is a multi-part message in MIME format. --upas-afwbxomqszxwrmyexbkzxbkfuc Content-Disposition: inline Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: 7bit No, I don't have any early licenses either--if I did, I'd send them (and I did try). But do as you think appropriate, either because you're uncertain about the propriety, or just because it's too much annoyance to dig them up and find the best way to transmit them. Greg has also said that he's a bit overwhelmed by the amount of other material that he's accumulated, and unless he presses you about this specifically, he probably has plenty to work with already. I'm also curious about SCO->Caldera, but (just as in the past) the problem at either place will be finding someone who is at all interested in the issue. This means that getting any sort of permission will be hard, but it also means that in fact the chances of any sort of problem are vanishingly small. Still, I sympathize with reluctance. Dennis --upas-afwbxomqszxwrmyexbkzxbkfuc Content-Type: message/rfc822 Content-Disposition: inline Received: from plan9.cs.bell-labs.com ([135.104.9.2]) by plan9; Wed Apr 4 21:13:19 EDT 2001 Received: from henry.cs.adfa.edu.au ([131.236.21.158]) by plan9; Wed Apr 4 21:13:16 EDT 2001 Received: (from wkt@localhost) by henry.cs.adfa.edu.au (8.11.2/8.9.3) id f351D8713207 for dmr@plan9.bell-labs.com; Thu, 5 Apr 2001 11:13:08 +1000 (EST) (envelope-from wkt) From: Warren Toomey Message-Id: <200104050113.f351D8713207@henry.cs.adfa.edu.au> Subject: Re: Ancient Unix licenses? In-Reply-To: <200104050109.LAA22780@csadfa.cs.adfa.edu.au> from "dmr@plan9.bell-labs.com" at "Apr 4, 2001 09:09:37 pm" To: dmr@plan9.bell-labs.com Date: Thu, 5 Apr 2001 11:13:08 +1000 (EST) Reply-To: wkt@cs.adfa.edu.au X-Mailer: ELM [version 2.4ME+ PL68 (25)] MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit In article by dmr@plan9.bell-labs.com: > Warren-- > I've also been in contact with Greg P about other aspects > of his project. I can't see any reason why you can't send > whatever versions of the licenses themselves you have-- > except for your work & expense involved in dredging them up > and sending them. SCO and AT&T and Lucent also seem to have > lost them, just as you say. But I don't think they're sensitive material > now (nor were they then). > Dennis Ah, for protecting-my-butt legal reasons, I'd still prefer that we get releases from the organisations concerned :-) I'm still on tenterhooks waiting to find out what Caldera will do the the Ancient UNIX IP once they finalise the transfer from SCO. You (i.e you individually and/or Lucent) wouldn't have any really old licenses lying around, e.g 4th Ed to 6th Ed?! Cheers, Warren --upas-afwbxomqszxwrmyexbkzxbkfuc-- From mairix@mairix Mon Jan 1 12:34:56 1970 X-source-folder: /home/wkt/Mail_archive/2001/04/04 Received: from plan9.cs.bell-labs.com (plan9.bell-labs.com [204.178.31.2]) by henry.cs.adfa.edu.au (8.11.2/8.9.3) with SMTP id f351raN13358 for ; Thu, 5 Apr 2001 11:53:37 +1000 (EST) (envelope-from dmr@plan9.bell-labs.com) Message-Id: <200104050153.f351raN13358@henry.cs.adfa.edu.au> To: wkt@henry.cs.adfa.edu.au Date: Wed, 4 Apr 2001 21:53:24 -0400 From: dmr@plan9.bell-labs.com MIME-Version: 1.0 Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: 7bit Status: RO X-Status: A Content-Length: 3651 Lines: 88 For your amusement, here's what I got this afternoon from him in the midst of a continuing conversation. I'm concocting the answer. Abt a hand-written note, no, but I do have some old correspondence asking about things. We shall see. --- From: gmp216@nyu.edu Date: Wed Apr 4 16:40:55 EDT 2001 To: dmr@plan9.bell-labs.com Subject: Re: ancient Unix question > The one you probably know about was the USL vs BSDI and > shortly the regents of U California about trade secret and copyright > issues, which did reach prelimination litigation in federal court, > and was settled after Judge Debevoise made some rulings that > didn't look good for USL. I still have much of the public paperwork > (machine-readable) about this. I have the documents that were posted to the BSDI ftp site (ftp.bsdi.com/bsdi/info/usl). If you have anything that's not posted there, I'd love to see it. Also, Kirk McKusick has sent me a box of documents which has not arrived yet. The only thing I don't have that I'd really like to see is the Memorandum for Record mentioned in footnote 2 of the March 30, 1993 court ruling -- n2 AT&T's policy of affixing copyright notice apparently began about July 16, 1984. AT&T's "Memorandum For Record" of that date, the document that implemented the policy, discusses issues that are characteristic of the initial implementation of a new policy. (Earhart Decl., Ex. A at P 4, 5.) I suppose this is probably under seal. Regarding the on-again/off-again copyright notices on the early Unix sources, I have gotten the following story from Steve Johnson, and I thought you might have some comments on it or some related stories to add: I believe at the time that copyrighting source code required that all the code be placed in the Library of Congress. The lawyers first demanded that every fine, including data files for programs such as cron, be copyrighted. In many cases, this required us to recognize a comment convention for the data in the file, which in turn required us to change the programs that read those data files. This was a major pain. We had no sooner finished doing this than the lawyers reversed their stand, believing that the danger of putting the source code in the Library of Congress was greater than the danger of treating it as a trade secret with a licencing agreement. They then required us to remove all the copyright notices. The Version 7 Unix tape I have has this comment in /usr/doc/cman: Sorry, but for copyright reasons, the source for the C Reference Manual is not distributed. Do you know if this has anything to do with the publication of the K&R book? Finally, for some reason I'm really curious about wump.c... Is there a story behind this? It looks like it was translated from BASIC into C from the first 1973 issue of the PCC newsletter, so I assume Bell Telephone Labs was subscribed to that publication or someone picked up a copy on a trip to California. Hunt the Wumpus shows up in various guises throughout this story (it was actually one of the programs cloned for the BSD Net/2 distribution). Do you know any details of its early history? > Regards and good luck, and if your project turns up > anything interesting, let me know! Thanks a lot for your help! This project has turned out to be far more fruitful than I thought when I started out, and I am basically drowning in interesting material. I'll be sure to send you a draft when one is available. --- Greg Pomerantz From mairix@mairix Mon Jan 1 12:34:56 1970 X-source-folder: /home/wkt/Mail_archive/2001/04/04 Received: from csadfa.cs.adfa.edu.au (csadfa.cs.adfa.edu.au [131.236.21.6]) by henry.cs.adfa.edu.au (8.11.2/8.9.3) with ESMTP id f353jNN13758 for ; Thu, 5 Apr 2001 13:45:23 +1000 (EST) (envelope-from dmr@plan9.bell-labs.com) Received: from plan9.cs.bell-labs.com (plan9.bell-labs.com [204.178.31.2]) by csadfa.cs.adfa.edu.au (8.9.0/8.9.0) with SMTP id NAA25061 for ; Thu, 5 Apr 2001 13:45:24 +1000 (EST) From: dmr@plan9.bell-labs.com Message-Id: <200104050345.NAA25061@csadfa.cs.adfa.edu.au> To: wkt@cs.adfa.edu.au Subject: Re: your mail Date: Wed, 4 Apr 2001 23:45:19 -0400 MIME-Version: 1.0 Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: 7bit Status: RO Content-Length: 3444 Lines: 88 Here's what I last sent to Greg. The putting-in and and subsequent removal of the copyright notices happened well before 32V, although 32V, as the primary source for BSD was presumably most important in the lawsuit. Saw your note to the usenix group asking to see any early licenses. As I said, I am quite sure that the licenses themselves are not sensitive in any way, but I can understand that you want to be careful with your materials. D. ---- From: dmr Date: Wed Apr 4 22:36:43 EDT 2001 To: gmp216@nyu.edu dmr Subject: Re: ancient Unix question The only USL-BSDI lawsuit material I have came from BSDI's site as well. If you're in contact with Kirk, he's a better source. On the Memo for Record: 1984 was when AT&T was just leaping into the commercialization, and so they were presumably thinking more carefully about the IP issues, and maybe there were changes in law or regs. The earlier advice about whether to incorporate copyright notices mentioned by Johnson occurred well before this. Incidentally, I spent a lot of time with the USL folks before the suit trying to work out some sort of compromise, though to no avail. At least I managed to keep the trust of both sides. Steve Johnson's story about the copyright notices is in accordance with my memory, although I don't remember the LOC specifically. There was a brief period when the lawyers decided that copyright and trade secret were incompatible, and they'd rather go with the latter. Whether or not this was true or they were mistaken in their belief as of then-current law, I know not. This probably happened between the 4th and 5th edition. One of the reasons for doing the 5th so close to the 4th was that the 4th (I think) had the notices; the 5th was done partly to take them out. We wrote to the holders of the 4th and offered a free upgrade to people who would send back the older tape. [The first draft of this paragraph said "5th and 6th" editions. In checking the dates, 4th and 5th is much more likely to be accurate: 4th was Nov 1973, 5th was June, 1974. 6th was May, 1975. We don't have the sources for the 4th ed, so I can't verify the existence of included copyright notices in its code. We do have the 5th and 6th sources, and they definitely lack them. This is to some extent a reconstruction, but there was definitely a flip-flop in advice, as Johnson remembers.] [Another side note: although I don't have text of the licenses to prove it, there was a definite change between the 6th and 7th licenses about University teaching. John Lions wrote his "Commentary" book about the 6th and this was regarded with mixed reaction from the growing business group. More about this if you need it.] About C manual: yes. K&R 1 and the 7th edition were more or less the same time, and Brian and I wanted to sell more books. I don't think we even consulted with Prentice-Hall, we just decided not to distribute what amounted to a chunk of the book. The wumpus game was indeed from PCC, I believe, though there were other versions. I think we did have a subscription, or maybe just Ken did. He wrote the C (maybe even B) translation for his son, who was just at the right age at the time. You'll have to wheedle Toomey about seeing the early licenses themselves. I didn't save them, and at some point a bit ago I tried to find an appropriate archive in the company, but this bit of history seems to have been lost locally. From mairix@mairix Mon Jan 1 12:34:56 1970 X-source-folder: /home/wkt/Mail_archive/2001/04/11 Received: from mailsys01.intnet.net (mailhost.wwc.com [198.252.32.15]) by henry.cs.adfa.edu.au (8.11.2/8.9.3) with ESMTP id f3B75PN38717 for ; Wed, 11 Apr 2001 17:05:26 +1000 (EST) (envelope-from gmp@wwc.com) Received: from [168.151.2.237] (HELO wwc.com) by mailsys01.intnet.net (CommuniGate Pro SMTP 3.3.2) with ESMTP id 6272415; Wed, 11 Apr 2001 03:04:47 -0400 To: dgk@research.att.com, peter@pedant.com, bostic@sleepycat.com, mckusick@mckusick.com, scj@transmeta.com, dmr@plan9.bell-labs.com, wkt@henry.cs.adfa.edu.au From: gmp216@nyu.edu Subject: 0.1th Edition Date: Wed, 11 Apr 2001 07:04:50 +0000 Sender: gmp@wwc.com Message-ID: Status: RO X-Status: A Content-Length: 807 Lines: 21 I am writing to let you know that a very preliminary draft of my Unix legal history paper is available. If you are interested, you can grab a copy at the URLs listed below. This is not a public distribution, so let me know if you'd like to share this with anyone. This stuff is a very preliminary state. Only the ancient history and some legal background is really written down, with almost all of the actual Unix and free software material is still in outline form. So in other words its probably not particularly interesting to anyone right now, but it costs me nothing to share it, so here it goes... troff sources -- http://home.nyu.edu/~gmp216/b-0.1/b-0.1.tar.gz dvi -- http://home.nyu.edu/~gmp216/b-0.1/b.dvi postscript -- http://home.nyu.edu/~gmp216/b-0.1/b.ps --- Greg Pomerantz From mairix@mairix Mon Jan 1 12:34:56 1970 X-source-folder: /home/wkt/Mail_archive/2001/06/07 Received: from plan9.cs.bell-labs.com (plan9.bell-labs.com [204.178.31.2]) by minnie.cs.adfa.edu.au (8.9.3/8.9.3) with SMTP id QAA68987 for ; Thu, 7 Jun 2001 16:21:30 +1000 (EST) (envelope-from dmr@plan9.bell-labs.com) From: dmr@plan9.bell-labs.com Message-Id: <200106070621.QAA68987@minnie.cs.adfa.edu.au> To: wkt@tuhs.org Subject: Re: s1 DECtape fragments Date: Thu, 7 Jun 2001 02:21:08 -0400 MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="upas-rncfvljxonovarlbvbfaymrbjc" Status: RO Content-Length: 3269 Lines: 82 This is a multi-part message in MIME format. --upas-rncfvljxonovarlbvbfaymrbjc Content-Disposition: inline Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: 7bit Turns out I have the required uid and passwd already saved up, but I looked again at your decoded treasures. Probably only some bits of the s1 tape are actually interesting, but there are some stories. E.g. the init.s in s1/frag2 has reference to "melda" and other strings with "mel" -- this is Michael E. Lesk, and "da" is directory assistance. He wrote an early program to do name lookup from a touch-tone phone. It used a mechanical-optical voice generator to read back the number (much like traditional film sound techniques). Later, in the lab, we got a real AT&T Picturephone (very low-res TV phone) which actually could connect over the building phone network to (and between) executives. There was a large box of hardware that could render text (expensive CGA -> Picturephone video), so from our Picturephone we could call the local number, key in a name, and see the names and numbers on the screen. There was also a Picturephone link to the Holmdel site of the Labs, about an hour south, which had a TV camera in a videoconf-demo room. It could be pointed and zoomed by Touchtone keying. We sometimes watched the Watergate senate hearings by pointing the camera at a regular TV screen left on in the Holmdel room. But in some ways, the interesting part of this particular fragment is that /usr/mel/da was hard-coded in init.s. Live and learn. And also, your note reminded me to repatriate the 3rd and 4th manuals for storage here as well. Even though I seem to have helped supply them, local digital versions aren't conveniently at hand. Redundancy is good. Regards, Dennis --upas-rncfvljxonovarlbvbfaymrbjc Content-Type: message/rfc822 Content-Disposition: inline Received: from plan9.cs.bell-labs.com ([135.104.9.2]) by plan9; Thu Jun 7 00:36:38 EDT 2001 Received: from minnie.cs.adfa.edu.au ([131.236.21.160]) by plan9; Thu Jun 7 00:36:36 EDT 2001 Received: (from wkt@localhost) by minnie.cs.adfa.edu.au (8.9.3/8.9.3) id OAA67853 for dmr@plan9.bell-labs.com; Thu, 7 Jun 2001 14:36:32 +1000 (EST) (envelope-from wkt) From: Warren Toomey Message-Id: <200106070436.OAA67853@minnie.cs.adfa.edu.au> Subject: s1 DECtape fragments To: Dennis Ritchie Date: Thu, 7 Jun 2001 14:36:32 +1000 (EST) Reply-To: wkt@tuhs.org X-Mailer: ELM [version 2.4ME+ PL68 (25)] MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Dennis, Those fragments of files that I was able to extract from the s1 DECtape you have. I've modified my source code comparator at http://minnie.tuhs.org/UnixTree so that you can now compare the actual differences between files. So for example, by clicking on the Search button on http://minnie.tuhs.org/UnixTree/1972_stuff/s1/frag0.html I can see that this fragment was a part of ed3.s, and I can compare the fragment to the 5th Edition version of ed3.s The web server isn't intelligent to know that you wrote all this source, so you can use au2000 and rmq7hle for authentication. Cheers, Warren --upas-rncfvljxonovarlbvbfaymrbjc-- From mairix@mairix Mon Jan 1 12:34:56 1970 X-source-folder: /home/wkt/Mail_archive/2001/08/08 Received: from plan9.cs.bell-labs.com ([204.178.31.2]) by minnie.cs.adfa.edu.au (8.9.3/8.9.3) with SMTP id KAA26791 for ; Thu, 9 Aug 2001 10:40:42 +1000 (EST) (envelope-from dmr@plan9.bell-labs.com) From: dmr@plan9.bell-labs.com Message-Id: <200108090040.KAA26791@minnie.cs.adfa.edu.au> To: wkt@tuhs.org Subject: Re: [tuhs] Dumbo question. Why is /etc named thus? Date: Wed, 8 Aug 2001 20:45:12 -0400 MIME-Version: 1.0 Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: 7bit Status: RO Content-Length: 914 Lines: 22 > Dennis, this just came up on one of the old Unix mailing lists. What is the > answer? /etc is (was) just the obvious et cetera--things that had to be around (some executables like init, other data sources like passwd). A pot to put things in. More interesting as a name was /crp, which survived less well. It stood ambivalently for "crap" and "creep" as a name for a disk partition on which to place big temporary things, and home directories of various guests. Not backed-up well. > I've just switched jobs and now lecture at a university in southern Queensland, > the weather is much nicer than down in Canberra. I'd noticed your change, what with the establishment of tuhs.org and maybe some earlier mail. Best fortune in the new position. Actually, every time I've been to either Canberra or Qld the weather has been wonderful, but I've evidently timed my visits carefully. Regards, Dennis From mairix@mairix Mon Jan 1 12:34:56 1970 X-source-folder: /home/wkt/Mail_archive/2001/12/10 Received: from guardian-ext.bond.edu.au (guardian-int.bond.edu.au [131.244.2.1]) by minnie.tuhs.org (8.11.3/8.11.3) with ESMTP id fBA7sQG79189 for ; Mon, 10 Dec 2001 18:54:26 +1100 (EST) (envelope-from dmr@plan9.bell-labs.com) Received: (from smap@localhost) by guardian-ext.bond.edu.au (8.8.5/8.8.5) id RAA30534 for ; Mon, 10 Dec 2001 17:54:21 +1000 From: dmr@plan9.bell-labs.com Message-Id: <200112100754.RAA30534@guardian-ext.bond.edu.au> Received: from plan9.bell-labs.com(204.178.31.2) by guardian-ext.bond.edu.au via smap (V2.1/2.1+anti-relay+anti-spam) id xma030523; Mon, 10 Dec 01 17:53:56 +1000 To: wkt@tuhs.org, norman@nose.cs.utoronto.ca Subject: Re: MicroVAX 10th edition? (fwd) Date: Mon, 10 Dec 2001 02:53:59 -0500 MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="upas-aechuugiurbnllrxyfnedakhuv" Status: RO Content-Length: 3665 Lines: 96 This is a multi-part message in MIME format. --upas-aechuugiurbnllrxyfnedakhuv Content-Disposition: inline Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: 7bit To recapitulate the situation: The 8th edition material does exist in coherent form from tapes, and I have it: two tapes in tar format. It's clean in that it has virtually nothing from outside. The only issue would be whether Caldera can be induced to think about it. I don't see a problem with compressing it and making it available to you. There are two parts: one is the main system and its software (34MB uncompressed) and the jerq/blit material (18MB). I could compress it and make it available to you. 9th, 10th stuff is not sorted out. Norman collected some sort of snapshot circa the 10th edition manual, but we don't have it in coherent form; it never was a distribution as such. I do have the contents of much of the source, but as Norman observes, there is a lot in what we've both got that would have to be gone through. (bowell.src.fs weighs in at 369MB). Dennis --upas-aechuugiurbnllrxyfnedakhuv Content-Type: message/rfc822 Content-Disposition: inline Received: from plan9.cs.bell-labs.com ([135.104.9.2]) by plan9; Sun Dec 9 22:59:50 EST 2001 Received: from minnie.tuhs.org ([131.245.7.145]) by plan9; Sun Dec 9 22:59:49 EST 2001 Received: (from wkt@localhost) by minnie.tuhs.org (8.11.3/8.11.3) id fBA3xah77994 for dmr@plan9.bell-labs.com; Mon, 10 Dec 2001 14:59:36 +1100 (EST) (envelope-from wkt) From: Warren Toomey Message-Id: <200112100359.fBA3xah77994@minnie.tuhs.org> Subject: Re: MicroVAX 10th edition? (fwd) To: Dennis Ritchie Date: Mon, 10 Dec 2001 14:59:35 +1100 (EST) Reply-To: wkt@tuhs.org X-Mailer: ELM [version 2.4ME+ PL68 (25)] MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Dennis, I'm trying to persuade Norman to let me take an off-site archive of his 10th Edition setup, just so that we have a preserve of bits now, pending any developments on the legal front. He's amenable, but he also asked if I had contacted you about the 8th Edition tapes. Could I do the same with any 8th or 9th Edition tapes that you have? I am already sitting on a pile of sensitive things which I promise never to release until it's legally feasible. Thanks, Warren ----- Forwarded message from Norman Wilson ----- From: Norman Wilson To: wkt@tuhs.org Subject: Re: MicroVAX 10th edition? Date: Thu, 6 Dec 2001 12:07:49 -0500 Good point re off-site backups of the original snapshot. There is some cleanup that had better be done even of that to remove third-party licensed stuff that happened to be kept in /usr/src, e.g. there is an old copy of Matlab and probably one of Macsyma; none of it has anything to do with UNIX anyway. But that (possibly plus spinning an old tape to make sure I am starting from a pristine and complete snapshot) shouldn't take more than an afternoon to do once I'm back home, and now is probably the best time in ages for me to get around to it. I propose that you nag me about it in about Monday week or thereabouts, by which time it will likely be possible for me just to sit down and do it. I wish I had a copy of the V8 tape handy too. Have you asked Dennis about that? There's a small chance that I can find one elsewhere in Toronto (the guy who would know now lives in Oakland CA, and in fact is here at LISA), but only a small chance. I'll try to remembere to poke him tomorrow. ----- End of forwarded message from Norman Wilson ----- --upas-aechuugiurbnllrxyfnedakhuv-- From mairix@mairix Mon Jan 1 12:34:56 1970 X-source-folder: /home/wkt/Mail_archive/2001/12/10 Received: from guardian-ext.bond.edu.au (guardian-int.bond.edu.au [131.244.2.1]) by minnie.tuhs.org (8.11.3/8.11.3) with ESMTP id fBAG6UG81347 for ; Tue, 11 Dec 2001 03:06:30 +1100 (EST) (envelope-from norman@nose.cs.utoronto.ca) Received: (from smap@localhost) by guardian-ext.bond.edu.au (8.8.5/8.8.5) id CAA09851 for ; Tue, 11 Dec 2001 02:06:25 +1000 Message-Id: <200112101606.CAA09851@guardian-ext.bond.edu.au> Received: from nose.cs.utoronto.ca(128.100.27.218) by guardian-ext.bond.edu.au via smap (V2.1/2.1+anti-relay+anti-spam) id xma009842; Tue, 11 Dec 01 02:06:18 +1000 Received: from tcp!216.126.137.184=c04-184.006.popsite.net by nose.cs.utoronto.ca id 6401; Mon, 10 Dec 2001 11:02:51 From: Norman Wilson To: wkt@tuhs.org, dmr@plan9.bell-labs.com Subject: Re: MicroVAX 10th edition? (fwd) Date: Mon, 10 Dec 2001 11:02:32 -0500 X-Mailer: EPOC32 Email Version 1.50 Status: RO Content-Length: 1323 Lines: 28 There actually was a sort of V9 tape that I was reminded of a few days ago because I encountered Geoff Collyer at LISA: the V9-for-Sun tape done by someone in a neighboring group, not 1127. (The number 1122 and the name Dave Kapilow come to mind, but the memories are faint.) Geoff got a copy of that during his later days at U of T; he thinks he knows where there is still a copy. I plan to follow that lead when I'm back in town (in a week), both because it seems worth preserving and because I am now curious to see just what was on it. I am pretty sure it was done just prior to the big device driver reorg that inspired me to change the system to print `9Vr2' at boot time (partly as a tactic to nudge others into doing an honest 10/e manual; it worked, though I don't take full credit by any means). My snapshot was taken somewhat after the manual was issued, but the system didn't change much. I do still have a copy of the pristine snapshot (sans all the changes I've made to the system since); I don't think it would be too hard to expunge the outside bits, though I can now state fairly confidently that parts of /usr/src/cmd just won't compile or won't work after they have been compiled even after pruning. But if we want to preserve history complete with warts (and I want to do that), there it is. From mairix@mairix Mon Jan 1 12:34:56 1970 X-source-folder: /home/wkt/Mail_archive/2001/12/28 Received: from guardian-ext.bond.edu.au (guardian-int.bond.edu.au [131.244.2.1]) by minnie.tuhs.org (8.11.3/8.11.3) with ESMTP id fBT3A7G11044 for ; Sat, 29 Dec 2001 14:10:07 +1100 (EST) (envelope-from dmr@plan9.bell-labs.com) Received: (from smap@localhost) by guardian-ext.bond.edu.au (8.8.5/8.8.5) id NAA20469 for ; Sat, 29 Dec 2001 13:10:03 +1000 From: dmr@plan9.bell-labs.com Message-Id: <200112290310.NAA20469@guardian-ext.bond.edu.au> Received: from plan9.bell-labs.com(204.178.31.2) by guardian-ext.bond.edu.au via smap (V2.1/2.1+anti-relay+anti-spam) id xma020464; Sat, 29 Dec 01 13:09:50 +1000 To: wkt@tuhs.org Subject: Re: Merry Xmas + a request Date: Fri, 28 Dec 2001 22:09:51 -0500 MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="upas-oqrtxogyrjejpgasvuohblryvc" Status: RO Content-Length: 1427 Lines: 52 This is a multi-part message in MIME format. --upas-oqrtxogyrjejpgasvuohblryvc Content-Disposition: inline Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: 7bit Done. Just returned from a fine north-of-England Xmas. Happy New Year! Dennis --upas-oqrtxogyrjejpgasvuohblryvc Content-Type: message/rfc822 Content-Disposition: inline Received: from plan9.cs.bell-labs.com ([135.104.9.2]) by plan9; Sun Dec 23 06:46:31 EST 2001 Received: from minnie.tuhs.org ([131.245.7.145]) by plan9; Sun Dec 23 06:46:30 EST 2001 Received: (from wkt@localhost) by minnie.tuhs.org (8.11.3/8.11.3) id fBNBkIY76653 for dmr@plan9.bell-labs.com; Sun, 23 Dec 2001 22:46:18 +1100 (EST) (envelope-from wkt) From: Warren Toomey Message-Id: <200112231146.fBNBkIY76653@minnie.tuhs.org> Subject: Merry Xmas + a request To: Dennis Ritchie Date: Sun, 23 Dec 2001 22:46:18 +1100 (EST) Reply-To: wkt@tuhs.org X-Mailer: ELM [version 2.4ME+ PL68 (25)] MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Hi Dennis, Hope you & family have a Merry Xmas. I'll get back to Norman in the new year w.r.t taking a snapshot of his 8/9/10 Ed stuff. On your http://cm.bell-labs.com/cm/cs/who/dmr pages, can you s/minnie.cs.adfa.edu.au/minnie.tuhs.org/g and s/ADFA/Bond University/g Many thanks! Warren --upas-oqrtxogyrjejpgasvuohblryvc-- From mairix@mairix Mon Jan 1 12:34:56 1970 X-source-folder: /home/wkt/Mail_archive/2002/01/23 Received: from guardian-ext.bond.edu.au (guardian-int.bond.edu.au [131.244.2.1]) by minnie.tuhs.org (8.11.3/8.11.3) with ESMTP id g0O35Ia81006 for ; Thu, 24 Jan 2002 13:05:18 +1000 (EST) (envelope-from dmr@plan9.bell-labs.com) Received: (from smap@localhost) by guardian-ext.bond.edu.au (8.8.5/8.8.5) id NAA32005 for ; Thu, 24 Jan 2002 13:05:14 +1000 From: dmr@plan9.bell-labs.com Message-Id: <200201240305.NAA32005@guardian-ext.bond.edu.au> Received: from plan9.bell-labs.com(204.178.31.2) by guardian-ext.bond.edu.au via smap (V2.1/2.1+anti-relay+anti-spam) id xma031997; Thu, 24 Jan 02 13:05:04 +1000 To: wkt@minnie.tuhs.org Date: Wed, 23 Jan 2002 22:05:00 -0500 MIME-Version: 1.0 Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: 7bit Status: RO X-Status: A Content-Length: 1318 Lines: 37 Subject; Re: Liberal license for ancient UNIX sources [resent: Dion Johnson used "wht@minnie.tuhs.org" for your address, and my reply/CC did too. I trust he has repaired his version and you heard from him. -- D.] From: dmr@plan9.bell-labs.com To: dionj@caldera.com CC: wht@minnie.tuhs.org Subject: Re: Liberal license for ancient UNIX sources Date: Wed, 23 Jan 2002 21:19:08 -0500 Thanks for pushing at this. I've worked at the same sort of thing several times (with SCO, Novell before them, not to mention USL). It's a hard push, just because although no one genuinely thinks that visibility of the early code represents a real threat to the product, in the sense of competing with current offerings, they also envision indirect threats (this was a precursor to some part of our product; if this material is freely available, could this somehow affect our own licensing situation?) In truth, and probably more important, given that the material is old, both the lawyers and decision-makers are measuring their time in even thinking about the issue ("Why should I spend a moment investigating this?") A good step. It will simplify and clarify access to the material (especially if Warren can spare some of his own time), and also stake out Caldera's claim in it. Regards and thanks, Dennis Ritchie From mairix@mairix Mon Jan 1 12:34:56 1970 X-source-folder: /home/wkt/Mail_archive/2002/01/24 Received: from guardian-ext.bond.edu.au (guardian-int.bond.edu.au [131.244.2.1]) by minnie.tuhs.org (8.11.3/8.11.3) with ESMTP id g0O5FKa92061 for ; Thu, 24 Jan 2002 15:15:20 +1000 (EST) (envelope-from dmr@plan9.bell-labs.com) Received: (from smap@localhost) by guardian-ext.bond.edu.au (8.8.5/8.8.5) id PAA03357 for ; Thu, 24 Jan 2002 15:15:16 +1000 From: dmr@plan9.bell-labs.com Message-Id: <200201240515.PAA03357@guardian-ext.bond.edu.au> Received: from plan9.bell-labs.com(204.178.31.2) by guardian-ext.bond.edu.au via smap (V2.1/2.1+anti-relay+anti-spam) id xma003345; Thu, 24 Jan 02 15:14:52 +1000 To: wkt@tuhs.org Subject: Re: your mail Date: Thu, 24 Jan 2002 00:14:48 -0500 MIME-Version: 1.0 Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: 7bit Status: RO X-Status: A Content-Length: 131 Lines: 9 You will no doubt have noted that the Caldera announcement was front-paged on ./ . Trust you're withstanding the effects. D. From mairix@mairix Mon Jan 1 12:34:56 1970 X-source-folder: /home/wkt/Mail_archive/2002/02/05 Received: from guardian-ext.bond.edu.au (guardian-int.bond.edu.au [131.244.2.1]) by minnie.tuhs.org (8.11.3/8.11.3) with ESMTP id g15593m90828 for ; Tue, 5 Feb 2002 15:09:03 +1000 (EST) (envelope-from dmr@plan9.bell-labs.com) Received: (from smap@localhost) by guardian-ext.bond.edu.au (8.8.5/8.8.5) id PAA07208 for ; Tue, 5 Feb 2002 15:08:59 +1000 From: dmr@plan9.bell-labs.com Received: from plan9.bell-labs.com(204.178.31.2) by guardian-ext.bond.edu.au via smap (V2.1/2.1+anti-relay+anti-spam) id xma007188; Tue, 5 Feb 02 15:08:50 +1000 Message-ID: <5d7bd4f180e573f7216187bda8740845@plan9.bell-labs.com> To: wkt@tuhs.org Subject: Re: Can I borrow your words? Date: Tue, 5 Feb 2002 00:08:36 -0500 MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="upas-zpdvfsrhwmcavyibqysmujnkpk" Status: RO X-Status: A Content-Length: 1859 Lines: 57 This is a multi-part message in MIME format. --upas-zpdvfsrhwmcavyibqysmujnkpk Content-Disposition: inline Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: 7bit No problem with including the introduction to the compilers. I noticed that you took out the part referring to successful recompilation under a simulator--OK by me, but knowing that this was possible was, I thought, interesting. Your call. I seem to have made a tiny tweak or two in the meantime. In particular I fixed "own their latest" to "their own latest". Rgds, Dennis --upas-zpdvfsrhwmcavyibqysmujnkpk Content-Type: message/rfc822 Content-Disposition: inline Received: from plan9.cs.bell-labs.com ([135.104.9.2]) by plan9; Mon Feb 4 23:32:05 EST 2002 Received: from minnie.tuhs.org ([131.245.7.145]) by plan9; Mon Feb 4 23:32:03 EST 2002 Received: (from wkt@localhost) by minnie.tuhs.org (8.11.3/8.11.3) id g154Vw790448 for dmr@plan9.bell-labs.com; Tue, 5 Feb 2002 14:31:58 +1000 (EST) (envelope-from wkt) From: Warren Toomey Message-Id: <200202050431.g154Vw790448@minnie.tuhs.org> Subject: Can I borrow your words? To: Dennis Ritchie Date: Tue, 5 Feb 2002 14:31:58 +1000 (EST) Reply-To: wkt@tuhs.org X-Mailer: ELM [version 2.4ME+ PL68 (25)] MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Dennis, can I borrow some of your words on the Early C compilers? With the new Caldera license, I can now allow free access to my browsable tree of Unix source code at: http://minnie.tuhs.org/UnixTree/ Yesterday I unpacked the Early C compilers and added them to the tree at http://minnie.tuhs.org/UnixTree/EarlyC. I grabbed your description of them, but I want to make sure it's ok before I advertise it. Thanks again, Warren --upas-zpdvfsrhwmcavyibqysmujnkpk-- From mairix@mairix Mon Jan 1 12:34:56 1970 X-source-folder: /home/wkt/Mail_archive/2002/09/06 Received: from plan9.cs.bell-labs.com (plan9.bell-labs.com [204.178.31.2]) by minnie.tuhs.org (8.11.3/8.11.3) with SMTP id g86K5LD16364 for ; Sat, 7 Sep 2002 06:05:21 +1000 (EST) (envelope-from dmr@plan9.bell-labs.com) Message-ID: <181c615c17973ad93ee573d73144b772@plan9.bell-labs.com> To: wkt@tuhs.org Subject: Re: [pups] bringing up the fist C compiler From: Dennis Ritchie Date: Fri, 6 Sep 2002 16:05:16 -0400 MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="upas-jkwixzleelnjqqqalfyepxqwxw" Status: RO Content-Length: 2283 Lines: 64 This is a multi-part message in MIME format. --upas-jkwixzleelnjqqqalfyepxqwxw Content-Disposition: inline Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: 7bit NB is there in the paper. This was all on the 11. The "and later C (via B) on the -11" in the latter should have said NB. I'm not absolutely positive whether I started converting the interpreter to a compiler during the NB period or only once C existed. I believe the latter. The thing you're thinking about with Ken is also in the paper. (adding ++, +=, etc.) I see it also mentions the GE/Honeywell compiler. B itself didn't have a compiler to the -7 or -11. Dennis --upas-jkwixzleelnjqqqalfyepxqwxw Content-Type: message/rfc822 Content-Disposition: inline Received: from plan9.cs.bell-labs.com ([135.104.9.2]) by plan9; Fri Sep 6 04:14:51 EDT 2002 Received: from minnie.tuhs.org ([131.245.7.145]) by plan9; Fri Sep 6 04:14:50 EDT 2002 Received: (from wkt@localhost) by minnie.tuhs.org (8.11.3/8.11.3) id g868Ep109493; Fri, 6 Sep 2002 18:14:51 +1000 (EST) (envelope-from wkt) From: Warren Toomey Message-Id: <200209060814.g868Ep109493@minnie.tuhs.org> Subject: Re: [pups] bringing up the fist C compiler In-Reply-To: from Dennis Ritchie at "Sep 6, 2002 01:35:26 am" To: Dennis Ritchie Date: Fri, 6 Sep 2002 18:14:51 +1000 (EST) CC: PDP-11 Unix Preservation Society Reply-To: wkt@tuhs.org X-Mailer: ELM [version 2.4ME+ PL68 (25)] MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit In article by Dennis Ritchie: > The chist paper on my home page is pretty complete (if telegraphic) > about bootstrapping B on the PDP-7 and later C (via B) on the -11. The chist paper doesn't mention NB, which was the missing link between B and C. I seem to recall a story where there was an NB interpreter and also a compiler, and Ken kept adding functionality to one which made it slower, and this had a knock-on effect. Sorry, that's all I can dredge out of my wetware bit store. Was this in `A Quarter Century of UNIX' by Peter Salus? Are there any other paper/web references to NB? Warren --upas-jkwixzleelnjqqqalfyepxqwxw-- From mairix@mairix Mon Jan 1 12:34:56 1970 X-source-folder: /home/wkt/Mail_archive/2003/02/26 Received: from plan9.cs.bell-labs.com (plan9.bell-labs.com [204.178.31.2]) by minnie.tuhs.org (8.11.3/8.11.3) with ESMTP id h1QLABn97932 for ; Thu, 27 Feb 2003 07:10:12 +1000 (EST) (envelope-from dmr@plan9.bell-labs.com) Message-ID: Subject: festoon From: Dennis Ritchie Date: Wed, 26 Feb 2003 16:10:05 -0500 To: wkt@minnie.tuhs.org MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="upas-fxmifxlopjmbqdhuivdgtyidjv" X-Spam-Status: No, hits=1.0 required=5.0 tests=RCVD_IN_ORBZ version=2.01 Status: RO X-Status: A Content-Length: 49354 Lines: 1711 This is a multi-part message in MIME format. --upas-fxmifxlopjmbqdhuivdgtyidjv Content-Disposition: inline Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: 7bit Attached is a bundle with festoon and its man page. Feel free to stash it in the archives if there's a place for it. Dennis --upas-fxmifxlopjmbqdhuivdgtyidjv Content-Disposition: attachment; filename=fest.bun Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: 7bit # To unbundle, sh this file echo festoon.6 1>&2 sed 's/.//' >festoon.6 <<'//GO.SYSIN DD festoon.6' -.TH FESTOON 6 -.CT 1 games -.SH NAME -festoon \- memo writer -.SH SYNOPSIS -.B festoon -[-p] [-e] [-t] [-sseed] [-z] [length] [percent] -.SH DESCRIPTION -.I Festoon -prepares a memorandum on any undesired topic, containing -.I length -sentences (default is 20) and a specified -.I percent -of manufactured nouns (default is 5), suitable for input to -.IR troff (1). -Options -.B "\-p \-e \-t" -(which may be concatenated as -.B \-pet ) -create pointless pictures, nonsensical equations and -useless tables, respectively. -.P -.B \-s -can be used to force the random number generator seed, -which is printed out as the organization number in the header -and which is normally assigned randomly. -Re-use of the same seed results in the same memo. -.P -.B \-z -is a debugging aid; it inserts the grammar type of -each sentence fragment in the output stream. -.P -.I Festoon -is a useful way to test the commands in the "SEE ALSO" section. -A total effect might radically monoarchate this qualitativeness. -.SH SEE ALSO -.IR troff (1), -.IR eqn (1), -.IR pic (1), -.IR tbl (1). //GO.SYSIN DD festoon.6 echo fest.c 1>&2 sed 's/.//' >fest.c <<'//GO.SYSIN DD fest.c' -/* %W% */ -#include -#define R rand()&32767 -#define T 0.125 -#define CHOOSE(x) (x[(R)%(sizeof x / sizeof x[0])]) -#define EQ(a,b) (strcmp(a,b)==0) -#define LAST(x) (x[strlen(x)-1]) -#define VOWEL(x) (x=='a'||x=='e'||x=='i'||x=='o'||x=='u') -#define N 8 -typedef struct xyz { - char *type; - union { - struct xyz *x[N]; - char *s[N]; - } list; -} *X, XX; -typedef struct { - char *number, *ending, *tense, *an, *unspec, *passive; -} *E, EE; - -X getxx(), verbal(), comp(), advp(), adjph(), adverb(), - adjective(), prep(), vprep(), equation(), np(), aux(), vp(), art(), - modal(), perf(), prog(), nounal(), sent(), comma(), adjval(); - -char *tense(), *number(), *prefix(), *root(); -char buff[1000]; -int io; -int flag; -int eqn=0, tbl=0, pic=0; -double makeup = -1.; - -X -nomq(env) - E env; -{ - X v = getxx(); - v->type = "-nomq"; - if (EQ(env->number, "sing")) { - if (EQ(tense(), "past")) - v->list.s[0] = "there was"; - else - v->list.s[0] = "there is"; - } else { - if (EQ(tense(), "past")) - v->list.s[0] = "there were"; - else - v->list.s[0] = "there are"; - } - if (prob(0.2)) - v->list.s[1] = " not"; - return v; -} - -X -rel(env) - E env; -{ - static char *c[] = {"that", "which"}; - X v = getxx(); - v->type = "-rel"; - v->list.s[0] = CHOOSE(c); - return v; -} - -X -sent(env) - E env; -{ - X sentv = getxx(); - sentv->type = "sent"; - if (prob(0.09)) { - env->unspec = ""; - sentv->list.x[1] = np(env); - sentv->list.x[3] = aux(env); - sentv->list.x[4] = vp(env); - sentv->list.x[0] = nomq(env); - sentv->list.x[2] = rel(env); - return sentv; - } - sentv->list.x[0] = np(env); - sentv->list.x[1] = aux(env); - sentv->list.x[2] = vp(env); - return sentv; -} - -X -nomy(env) - E env; -{ - X v = getxx(); - v->type = "-nomq"; - v->list.s[0] = "the fact that"; - return v; -} - -X -np(env) - E env; -{ - X npv = getxx(); - EE nenv; - static EE empty; - npv->type = "np"; - if (prob(0.025)) { - nenv = empty; - npv->list.x[0] = nomy(&nenv); - npv->list.x[1] = sent(&nenv); - if (env->number == 0) - env->number = "sing"; - return npv; - } - npv->list.x[1] = nounal(env); - npv->list.x[0] = art(env); - return npv; -} - -X -aux(env) - E env; -{ - X auxv = getxx(); - int i = 0; - auxv->type = "aux"; - if (env->tense == 0) - env->tense = env->ending = tense(); - if (prob(0.25)) - auxv->list.x[i++] = modal(env); - if (prob(0.25)) - auxv->list.x[i++] = perf(env); - if (prob(0.25)) - auxv->list.x[i++] = prog(env); - return auxv; -} - -X -passive(env) - E env; -{ - X v = getxx(); - v->type = "-passive"; - if (env->tense == 0) - env->tense = env->ending = tense(); - if (env->number == 0) - env->number = number(); - if (EQ(env->ending, "modal")) - v->list.s[0] = "be"; - else if (EQ(env->ending, "-en")) - v->list.s[0] = "been"; - else if (EQ(env->ending, "-ing")) - v->list.s[0] = "being"; - else { - if (EQ(env->tense, "past")) - v->list.s[0] = EQ(env->number, "sing") ? "was" : "were"; - else - v->list.s[0] = EQ(env->number, "sing") ? "is" : "are"; - } - env->passive = env->ending = "pass"; - return v; -} - -X -passprep(env) - E env; -{ - X v = getxx(); - v->type = "-passprep"; - v->list.s[0] = "by"; - return v; -} - -X -vp(env) - E env; -{ - X vpv = getxx(); - int i = 0; - vpv->type = "vp"; - if (prob(0.5)) - vpv->list.x[i++] = passive(env); - vpv->list.x[i++] = verbal(env); - vpv->list.x[i++] = comp(env); - if (prob(0.10)) - vpv->list.x[i++] = advp(env); - return vpv; -} - -X -art(env) - E env; -{ - static char *aspecsg[] = {"the", "the", "the", "the", "the", "this", "this", "that"}; - static char *aspecpl[] = {"the", "the", "the", "the", "the", "these", "those"}; - static char *aunssg[] = {"a", "a", "a", "a", "a", "a", "a", "much", "each", "any"}; - static char *aunspl[] = {"some", "a few", "a couple", "several", "many", "all", - "no", - "an undue number of", - "a number of"}; - X artv = getxx(); - artv->type = "-art"; - if (env->number == 0) - env->number = number(); - if (env->unspec == 0 && prob(0.33)) { - if (EQ(env->number, "sing")) - artv->list.s[0] = CHOOSE(aspecsg); - else - artv->list.s[0] = CHOOSE(aspecpl); - } else if (prob(0.50) || env->an && EQ(env->number, "sing")) { - if (EQ(env->number, "sing")) - artv->list.s[0] = env->an ? "a" : CHOOSE(aunssg); - else - artv->list.s[0] = CHOOSE(aunspl); - if (env->an && EQ(artv->list.s[0], "all")) - artv->list.s[0] = ""; - } else - artv->list.s[0] = ""; - env->unspec = 0; - if (env->an && EQ(env->an, "an") && EQ(artv->list.s[0], "a")) - artv->list.s[0] = "an"; - env->an = 0; - return artv; -} - -X -modal(env) - E env; -{ - static char *pres[] = {"can", "may", "must", "shall", "will"}; - static char *past[] = {"could", "might", "should", "would"}; - X modalv = getxx(); - modalv->type = "-modal"; - if (env->tense == 0) - env->tense = env->ending = tense(); - if (EQ(env->ending, "pres")) - modalv->list.s[0] = CHOOSE(pres); - else - modalv->list.s[0] = CHOOSE(past); - env->ending = "modal"; - return modalv; -} - -X -perf(env) - E env; -{ - X perfv = getxx(); - perfv->type = "-perf"; - if (env->tense == 0) - env->tense = env->ending = tense(); - if (env->number == 0) - env->number = number(); - if (EQ(env->ending, "past")) { - perfv->list.s[0] = "had"; - } else if (EQ(env->ending, "pres")) { - if (EQ(env->number, "sing")) - perfv->list.s[0] = "had"; - else - perfv->list.s[0] = "have"; - } else - perfv->list.s[0] = "have"; - env->ending = "-en"; - return perfv; -} - -X -prog(env) - E env; -{ - X progv = getxx(); - progv->type = "-prog"; - if (env->tense == 0) - env->tense = env->ending = tense(); - if (env->number == 0) - env->number = number(); - if (EQ(env->ending, "pres")) { - if (EQ(env->number, "sing")) - progv->list.s[0] = "is"; - else - progv->list.s[0] = "are"; - } else if (EQ(env->ending, "past")) { - if (EQ(env->number, "sing")) - progv->list.s[0] = "was"; - else - progv->list.s[0] = "were"; - } else if (EQ(env->ending, "-en")) { - progv->list.s[0] = "been"; - } else if (EQ(env->ending, "modal")) { - progv->list.s[0] = "be"; - } - env->ending = "-ing"; - return progv; -} - -X -verb(env) - E env; -{ - /* they pres, he pres, they past, they perf, they prog, they pass */ - static char *ends[][6] = {{"ate", "ates", "ated", "ated", "ating", "ated"}, - {"en", "ens", "ened", "ened", "ening", "ened"}, - {"esce", "esces", "esced", "esced", "escing", "esced"}, - {"fy", "fies", "fied", "fied", "fying", "fied"}, - {"ize", "izes", "ized", "ized", "izing", "ized"}}; - X verbv = getxx(); - int i; - verbv->type = "-verb"; - if (env->tense == 0) - env->tense = env->ending = tense(); - if (env->number == 0) - env->number = number(); - if (0 && prob(0.1) && EQ(env->tense, env->ending)) { - if (EQ(env->number, "sing")) { - if (EQ(env->tense, "pres")) - verbv->list.s[0] = "is"; - else - verbv->list.s[0] = "was"; - } else { - if (EQ(env->tense, "pres")) - verbv->list.s[0] = "are"; - else - verbv->list.s[0] = "were"; - } - } else { - verbv->list.s[0] = prefix(env); - verbv->list.s[1] = root(env); - if (EQ(env->ending, "pres") && EQ(env->number, "sing")) - i = 1; - else if (EQ(env->ending, "pres") || EQ(env->ending, "modal")) - i = 0; - else if (EQ(env->ending, "past")) - i = 2; - else if (EQ(env->ending, "-en")) - i = 3; - else if (EQ(env->ending, "-ing")) - i = 4; - else if (EQ(env->ending, "pass")) - i = 5; - else - i = 0; - verbv->list.s[2] = ends[R % (sizeof ends / sizeof *ends)][i]; - } - env->ending = 0; - return verbv; -} - -static char *nounlist[] = {"final completion", - "final ending", "final outcome", - "adaptation", "appearance", "argument", "circumstance", - "confession", "confidence", "delimitation", "dilution", - "dissertation", "distribution", "duplication", - "entertainment", "equipment", "evolution", - "existence", "expression", "generation", "impression", - "integration", "interaction", "investment", "judgment", - "population", "provision", "solution", "statement", - "tradition", "transmission", - "final result", "added increment", "assistance", - "beneficial assistance", "mutual cooperation", - "projection", "future projection", - "capability", "conjecture", "consensus of opinion", - "general consensus", "absence", "deficiency", - "inadequacy", "insufficience", "insufficiency", - "growing importance", "renewed emphasis", - "renewed interest", "changing behavior", - "critical thinking", "careful thinking", - "comprehensive survey", "high standard", - "basic foundation", "system testing", - "serious discussion", "serious concern", - "organizational framework", "prototype model", - "uniform nomenclature", "greater cooperation", - "uniform consistency", "early expectation", - "standardization", "great similarity", - "shortage", "presence", "sufficiency", - "consequent result", "construct", "disutility", - "early beginning", "emotional feeling", "endeavor", - "authorization", "order of magnitude", "preference", - "impact", "joint cooperation", "joint partnership", - "main essential", "methodology", "modification", - "necessary requisite", "past history", "situation", - "effectuation", "clarification", "new doubt", - "policy", "encouragement", "preparation", - "criterion", "material", "interest", "acceptance", - "rejection", "publication", "circulation", - "protection", "insurance", - "assignment", "identification", - "submission", "request", - "guidance", "correspondence", "inclusion", - "attachment", "assumption", - "recommendation", "prescription", "approval", - "discretion", "responsibility", "relevance", - "issuance", "termination", "total effect", - "deleterious effect", "consolidation", - "aggregation", "definiteness", "commencement", - "actual experience", "experience", - "combination", "accord", "filing", - "idea", "abstraction", "method", "procedure", - "complaint", "maintenance", "finance", "travel", - "purchase", "repair", "routine", - "development", "cancellation", - "partitioning", "development effort", - "project", "automation", "multilevel architecture", - "multilevel heirarchy", "data stream", - "objective", - "individual assignment", "mode of operation", - "clear community", "attendant interest", - "task division", "well defined interfacing", - "team report", "meeting time", "effective use", - "friction", - "major objective", "ownership", - "overall project time constraint", - "functional division", "requirements analysis", - "code development", "charter", - "requirements definition", "vertical division", - "broad range", "strong feeling", - "considerable latitude", "overall project constraint", - "sufficient resource", "assigned task", "expectation", - "critical aspect", "clear understanding", - "computing load", "clean interfacing", "natural basis", - "team activity", "team responsibility", - "main function", "predominant portion", - "work plan", "major breakpoint", "work module", - "achievable accuracy", "supplementary work", - "field version", "internal establishment", - "internal communication", "development progress", - "internal meeting", "experience level", - "high level autonomy", "adherence", - "feasibility demonstration", "persistent problem", - "internal objective", "idea sharing", - "improved performance", "unfamiliar methodology", - "new methodology", "development experience", - "module specification", "good progress", - "optimal number", "natural division", - "good relationship", "cross attendance", - "attendance", "necessary communication", - "evolving organization", "basic principle", - "complete revision", "general information", - "primary objective", "load-carrying capacity", - "necessary revision", "major change", - "clarified interpretation", "subsequent attempt", - "basic objective", "full utilization", - "practical consideration", - "proportionate quantity", "substantial change", - "database design", "unified framework", - "customer service", "strong interest", - "unified description", "necessary background information", - "provisioning", "physical coverage", "general observation", - "new technology", "validity determination", - "relation", "regulation", "verification", - "impediment", "portal", "practice", "premise", - "basis", "movement", "question", - "issue", "input", "output", "observation", - "input", "output", "input", "output", - "mechanization", "function", "evaluation", - "result", "further consideration", "category", - "performance indicator", "early warning", - "analysis purpose", "measurement", "replacement", - "utilitarian purpose", - "quota", "proposed enhancement", "enhancement", - "interfacing", "team organization", "module", - "guideline", "continuing study", - "required assistance", "major advance", - "proposal", "hierarchy", - "current view", "refinement", "activity", - "external description", "tight schedule pressure", - "internal conflict", "internal issue", - "reasonable compromise", "next phase", - "goal", "time constraint", "constraint", - "outcome", "important outcome", - "considerable experience", "intelligent choice", - "deliverable documentation", "discussion", - "timely delivery", "design issue", "large quantity", - "general environment", "protocol", - "transitioning", "modeling", - "considerable difficulty", "abstract interfacing", - "data structure", "consideration", "difficulty", - "statistical accuracy", - "agenda", "technique", "reordering", - "reauthorization", "current proposal", - "significant change", "criteria", "validation", - "validity", - "terminology", "current understanding", - "incorporation", "staffing impact", - "schedule impact", "cost tradeoff", - "system architecture", - "adequate capacity", "centralization", - "current task", "system deployment", - "attendant uncertainty", "process", - "potential usefulness", "proposed method", - "basic assumption", "anomaly", - "available data", "potential improvement", - "registration", "exemption", "exception", - "follow-up", "service", - "installation", "construction", "necessity", - "occasion", "instrumentation", "disposal", - "attractiveness", - "convenience", "sponsoring", - "signification", "meaningfulness", - "significantness", "individuality", - "specification", "determination", "affirmation", - "recruitment", "supervision", "management", - "oversight", "overview", "environment", - "effectation", "circumvention", "location", - "execution", "effectiveness", "consciousness", - "notation", "confirmation", "restriction", - "organization", "realization", "actification", - "activation", "reification", "beginning", "conclusion", - "ending", "finishing", "teamwork", "motivation", - "attitude", "good attitude", - "progress", "milestone", "deadline", "schedule", - "allocation", "resource", "command", "concern", - "time", "time frame", "reality", - "behaviour", "ability", "advent", "increment", - "opportunity", "accomplishment", "aggregate", - "analysis", "totality", "matter", - "date", "duration", "centrality", - "proximity", "collection", "elimintaion", - "investigation", "opinion", "debate", - "decision", "benefit", "difference", "discontinuity", - "fabrication", "plan", "chart", "forecast", - "simplicity", "simplification", "maximization", - "minimization", "direction", - "agreement", - "amount", "quantity", "quality", "essence", - "description", "violation", "purpose", - "primary purpose", "automatic control", "redefinition", - "uniform emphasis", "study activity", "work activity", - "concept stage", "concept activity", - "possible potential", "summarization", "system function", - "rationale", "significant enhancement", "diverse need", - "diverse organization", "comprehensive plan", "interim", - "functional overview", "system configuration", - "configuration", "failure", "quantitative result", - "major obstacle", "conception", - "effectiveness", "final evaluation", - "interrelationship", "functional requirement", - "system philosophy", "verbal interchange", - "perceived inadequacy", "primary emphasis", - "intermingling", "cooperation", "partnership", - "adjustment", "application", "implementation", - "contact", "mention", "power", - "nature", "invention", "importance", - "ground", "reason", "permission", "size", - "report", "documentation", "priority", - "pursuance", "recurrance", "resumption", - "presupposition", "continuance", - "substantiation", "success", "action", "truth", - "past experience", "greater acceptability", - "organizational structure", "clear distinction", - "clear definition", - "significant use", "unmet need", "centralized organization", - "vague concept", "negative impact", "detrimental effect", - "modularization", "submodularization", - "effect", "consistancy", - "inconsistancy", "completion", "utilization", - "reference", "doubt", "evidence", - "viewpoint", - "actual fact", - "true fact", "underlying purpose", "viable alternative"}; - -static char *adjlist[] = {"concrete", "abstract", "procedural", - "real", "ideal", "functional", "prototype", - "effective", "capable", "incremental", - "perceived", "associated", "interdepartmental", - "diverse", "characteristic", "worst-case", - "qualitative", "fully automatic", "candidate", - "consensual", "consequential", "conjectural", - "constructive", "initial", "cooperative", - "essential", "methodological", "requisite", - "historical", "situational", "political", - "prepared", "material", "defined", "well defined", - "organizational", "projected", "overall", - "accepted", "rejected", "corresponding", - "committed", "environmental", "typical", "working", "timely", - "growing", "unprecedented", "new", "renewed", "fresh", - "rapid", "changing", "careful", "comprehensive", "broad", - "massive", "huge", "enormous", - "evaluated", "discresionary", - "durable", "beneficial", - "maximal", "tremendous", "minimal", - "on-site", "standardized", "standard", - "powerful", "natural", "necessary", - "reasonable", "successful", - "doubtful", "dubious", "certain", - "unified", "different", "similar", "utilitarian", - "realizable", "organizable", "motivated", - "topical", "valuable", "feasible", - "intelligent", "deliverable", "nontrivial", - "worthwhile", "complicated", - "organized", "organizing", "progressing", - "schedulable", "resourceful", "commanding", - "important", "allocatable", "temporal", - "ponderable", "understandable", "comprehendable", - "past", "present", "future", - "obvious", "considerable", "finished", "completed", - "unique", "abovementioned", - "major", "minor", "tendentious", "activating", - "actual", "added", "adequate", "affordable", - "analyzable", "additional", "intuitive", - "artificial", "good", "better", - "worse", "bad", "basic", "fundamental", "brief", - "general", "very unique", "extreme", "most unique", - "central", "proximate", "approximate", "collected", - "conductable", "comtemplatable", - "continuing", "demonstrable", "desirable", - "correctable", "foreseeable", - "discontinued", "early", "beginning", - "effectuated", "elucidated", "emotional", - "enclosed", "enthused", "entire", "exact", - "experimental", "fearful", "final", - "following", "informative", - "full", "complete", "indicated", "authorized", - "modularized", "submodularized", - "particular", "preferred", "satisfactory", - "measurable", "referenced", "literal", - "modified", - "correct", "prioritized", "prolonged", - "regrettable", "apparent", - "continued", "subsequent", "sufficient", - "suggestive", "true", "ultimate", "separate", - "purposeful", "regarded", "resulting", - "doubtful", "evident", "interesting", "worthy", - "uniform", "vital", "viable", - "worthwhile", "alternative", - "sophisticated", "employed", - "clear", "lucid", "simple", "perspicuous", - "incomplete", "concerned"}; - -X -noun(env) - E env; -{ - static char *suff[] = {"ion", "sion", "tion", "age", - "ness", "ment", "ure", - "ity", "iety", "ty", "ence", "ency", "ance", - "ancy", "tude", "hood", "ture", "ate", "art", "ard", - "ism", "ine", "stress", "trix", "ess", - "dom", "ship", "eer", "ster", "ant", "ent", "ary", - "ery", "ory", "ette", "let", "ling", "ule", "kin", - "ar", "or", "ist", "fulness", - "kin", "cule", "icle", "y", "ability", "iosos"}; - X nounv = getxx(); - int i = 0; - nounv->type = "-noun"; - if (env->number == 0) - env->number = number(); - if (prob(makeup)) { - if (prob(0.05)) { - nounv->list.s[i++] = CHOOSE(adjlist); - nounv->list.s[i++] = "ness"; - } else - nounv->list.s[i++] = CHOOSE(nounlist); - } else { - nounv->list.s[i++] = prefix(env); - nounv->list.s[i++] = root(env); - nounv->list.s[i++] = CHOOSE(suff); - } - if (EQ(env->number, "plural")) { - if (LAST(nounv->list.s[i - 1]) == 's') - nounv->list.s[i] = "es"; - else if (LAST(nounv->list.s[i - 1]) == 'y') - nounv->list.s[i] = "ies"; - else - nounv->list.s[i] = "s"; - } - return nounv; -} - -X -nounal(env) - E env; -{ - X nounalv = getxx(); - int i = 0; - X p; - nounalv->type = "nounal"; - if (prob(0.15)) { - nounalv->list.x[i++] = adjval(env); - } - nounalv->list.x[i++] = noun(env); - if (prob(0.15)) { - nounalv->list.x[i++] = adjph(env); - } - env->an = "a"; - for (p = nounalv; p->type[0] != '-'; p = p->list.x[0]); - for (i = 0; p->list.s[i]; i++) { - if (p->list.s[i][0] == 0) - continue; - if (VOWEL(p->list.s[i][0])) { - env->an = "an"; - } - break; - } - return nounalv; -} - -X -adjval(env) - E env; -{ - X adjvalv = getxx(); - int i = 0; - adjvalv->type = "adjval"; - if (prob(0.25)) { - adjvalv->list.x[i++] = adverb(env); - } - do { - adjvalv->list.x[i++] = adjective(env); - } while (i < N - 1 && prob(0.25)); - return adjvalv; -} - -char * -prefix(env) - E env; -{ - static char *pref[] = { - "amb", "ambi", "super", "hyper", "an", "tra", "trans", "post", "palim", - "omni", "pan", "circ", "circum", "peri", "a", "ab", "abs", "de", "apo", - "re", "ana", "mal", "ante", "pre", "fore", "pro", "infra", "para", - "inter", "ultra", "extra", "trans", "cata", "de", "oct", "octa", - "octo", "equi", "pseudo", "prim", "prot", "proto", "pent", "penta", - "quin", "quint", "quinque", "pro", "tetr", "tetra", "quad", "quadr", - "quadri", "quartet", "off", "bene", "hemi", "demi", "semi", "crypto", - "cent", "centi", "hecto", "en", "em", "in", "im", "intro", "be", - "macro", "poly", "mult", "multi", "neo", "nona", "novem", "ennea", - "in", "un", "im", "il", "ir", "non", "a", "nil", "paleo", "mon", "mono", - "uni", "e", "ex", "ec", "ef", "super", "supr", "sur", "hyper", "vic", - "vice", "hept", "hepta", "sept", "septe", "septem", "septi", "hex", - "hexa", "sex", "dis", "deca", "deka", "deci", "kilo", "mill", "milli", - "tri", "per", "dia", "ad", "com", "di", "amphi", "bi", "bin", "bis", - "sub", "hypo", "epi", "eu", "holo"}; - if (prob(0.65)) - return ""; - return CHOOSE(pref); -} - -char * -root(env) - E env; -{ - static char *root[] = { - "pan", "omni", "arch", "zo", "rog", "rogat", "cred", "flect", "flex", - "test", "hem", "hemato", "nasc", "nat", "bibl", "fer", "voc", "port", "lat", - "fortuna", "ped", "chrom", "vinc", "vict", "crea", "cise", "mort", "mors", - "necr", "claim", "clam", "hetero", "pel", "puls", "vac", "iso", "phobe", - "phobia", "prim", "prime", "flu", "flux", "sequ", "liber", "liver", "theo", - "magna", "medi", "man", "manu", "pen", "pend", "pens", "eu", "capit", - "iatr", "aud", "aus", "cor", "cord", "cour", "grav", "ten", "tain", - "tent", "sacr", "sacer", "heiro", "sanct", "cide", "mega", "ultima", - "ridi", "risi", "leg", "jus", "jur", "nom", "duc", "duct", "duce", - "bio", "viv", "vivi", "vita", "lus", "lum", "luc", "photo", - "min", "philo", "phile", "phila", "amic", "anthrop", "poly", "multi", - "fac", "fact", "fic", "fect", "meter", "psych", "mod", "mot", "mov", - "nov", "neo", "neg", "uni", "alter", "ali", "idio", "pop", "dem", - "demo", "lic", "licit", "poten", "posse", "potes", "mem", "simul", - "arch", "homo", "mar", "mer", "vis", "vid", "scope", "auto", "mitt", - "miss", "ac", "acr", "brev", "clud", "clus", "dorm", "micro", "aster", - "astro", "rect", "recti", "forc", "fort", "path", "cap", "cep", "cept", - "put", "tempo", "tempor", "dent", "dont", "ver", "veri", - "feder", "fide", "feal", "fid", "cosm", "migra", "hydro", "aqu", - "endo", "gyn", "logo", "opus", "oper", "graph", "scrib", "scrip", - "mis", "miso", "anni", "annu", "enni", "ced", "cede", "ceed", "cess"}; - return CHOOSE(root); -} - -prob(f) - double f; -{ - return (R) < (f * 32767.0); -} - -char * -tense() -{ - return prob(0.5) ? "pres" : "past"; -} - -char * -number() -{ - return prob(0.25) ? "plural" : "sing"; -} - -X -getxx() -{ - X rv; - static XX empty; - - rv = (X) malloc(sizeof *rv); - if (rv == 0) - fprintf(stderr, "festoon: outa space\n"), exit(1); - *rv = empty; - return rv; -} - -X -verbal(env) - E env; -{ - X verbalv = getxx(); - int i = 0; - verbalv->type = "verbal"; - if (prob(0.25)) - verbalv->list.x[i++] = adverb(env); - verbalv->list.x[i++] = verb(env); - return verbalv; -} - -static char *advlist[] = {"absolutely", "functionally", - "accordingly", "broadly", "actionably", "actually", - "additionally", - "ambiguously", "amply", - "analogously", - "aperiodically", - "apparently", "appreciably", - "appropriately", "approximately", - "arbitrarily", - "associatively", - "automatically", - "awfully", - "axiomatically", - "badly", "barely", "basically", - "beneficially", - "blatantly", - "capably", "carefully", "carelessly", - "casually", "causally", "cautiously", - "centrally", "certainly", - "cheaply", "cleanly", - "closely", "coarsely", "cognizantly", - "coincidentally", "collectively", "collaterally", - "comparably", - "competently", "completely", "comprehensibly", - "concededly", "conceivably", - "concisely", "conclusively", "concretely", - "concurrently", "conjecturally", - "currently", - "conscientously", "consequently", "consequentially", - "consistently", "constantly", - "contemporaneuosly", "constructively", - "continually", "continuously", "contractually", - "contrarily", "contributatively", "conveniently", - "conventionally", - "correctively", - "correctly", - "crudely", - "curiously", - "decidedly", - "deeply", - "deficiently", "demandingly", - "dependably", "desireably", - "determinately", "diagnostically", - "differentially", "differently", - "directly", "discernibly", - "distinctly", "doubtfully", "dramatically", - "dynamically", - "economically", - "effecaciously", "efficiently", - "elegantly", - "emphatically", "encouragingly", - "endlessly", "endurably", - "entirely", "epistomologically", - "functionally", "immediately", - "equably", "equally", "equitably", "erroneously", - "esoterically", "eternally", "evenly", "eventfully", - "eventually", "evidently", - "exceedingly", "exactly", "excellently", - "exceptionally", "excessively", "exclusively", - "experimentally", - "explicitly", "extremely", - "factually", "faithfully", - "faultlessly", "feasibly", - "finitely", "firmly", "forcefully", - "formally", "formerly", "frankly", "freely", - "frugally", "fully", "generally", - "globally", "gradually", - "harmlessly", - "helpfully", - "highly", "homogeneously", - "hopefully", - "ideally", "identically", "ideologically", - "idiomatically", "idiosyncratically", "idly", - "imaginably", "immaterially", "immensely", - "impartially", "imperceptably", "imperfectly", "importantly", - "improperly", "imprudently", "inaccurately", "inappropriately", - "accurately", - "inclusively", "incompletely", "incorrectly", - "increasingly", "independently", - "indirectly", "ineffectively", "ineffectually", "inefficiently", - "infallibly", "instantaneously", "instantly", - "insufficiently", "internally", "likely", "only", - "invaluably", "inversely", "irrelevantly", "irrespectively", - "largely", "lastly", "legitimately", "literally", - "locally", "loosely", "manageably", "markedly", - "memorably", "mildly", "mindfully", "moderately", - "momentarily", "naturally", "needfully", "needlessly", - "nominally", "normally", "objectively", "occasionally", - "temporarily", - "officially", "oppositely", "ordinarily", "ostensibly", - "partially", "permissibly", - "personally", "pertinently", - "physically", "plainly", "plainly", - "pleasingly", "politically", - "potentially", "predictively", - "predominantly", "prematurely", "preparedly", "presently", - "previously", "primarily", - "primely", "principally", "problematically", - "productively", "promptly", "proportionately", - "provably", "purely", "quickly", "radically", "randomly", "recently", - "repeatedly", "secondarily", "separately", - "usually", "specifically", - "redundantly", "regardlessly", "reliably", - "remarkably", "remotely", "respectively", - "probably", - "robustly", "seemingly", - "sensibly", "singularly", "steadily", - "strikingly", "substantially", "successfully", - "supposedly", "systematically", "understandably", - "necessarily", "unfortunately", - "unnecessarily", "unmistakably", "usefully", "weakly"}; - -X -adverb(env) - E env; -{ - static char *wordy[] = {"very ", "extremely ", "generally ", - "reasonably ", "fundamentally ", "essentially ", "particularly ", - "very ", - "very ", "very ", - "very ", "very ", - "very ", "very ", - "very ", "very ", - "very ", "very ", - "very ", "very ", - "very ", "very ", - "entirely ", - "rather ", "fairly ", "relatively ", "comparatively ", - "moderately ", - "totally ", "very ", "quite "}; - static char *suff[] = {"wardly", "ably", "wisely", - "ably", "ily", "ly", "ly", "ly"}; - - X adverbv = getxx(); - int i = 0; - - adverbv->type = "-adverb"; - if (prob(0.150)) { - adverbv->list.s[i++] = prob(.5) ? "simply" : "easily"; - return adverbv; - } - if (prob(0.4)) - adverbv->list.s[i++] = CHOOSE(wordy); - if (prob(makeup)) - adverbv->list.s[i++] = CHOOSE(advlist); - else { - adverbv->list.s[i++] = prefix(env); - adverbv->list.s[i++] = root(env); - adverbv->list.s[i++] = CHOOSE(suff); - } - return adverbv; -} - -X -adjective(env) - E env; -{ - static char *suff[] = {"ive", "ful", "ous", "some", "oid", - "ine", "esque", "en", "an", - "ile", "able", "ible", "istic", "ic", - "an", "ian", "ish", "ite", "al", "less"}; - X adjv = getxx(); - int i = 0; - - adjv->type = "-adjective"; - if (prob(0.2)) { - adjv->list.s[i++] = "not "; - adjv->list.s[i++] = "un"; - } - if (prob(makeup)) { - adjv->list.s[i++] = CHOOSE(adjlist); - return adjv; - } - adjv->list.s[i++] = prefix(env); - adjv->list.s[i++] = root(env); - adjv->list.s[i++] = CHOOSE(suff); - return adjv; -} - -X -adjph(env) - E env; -{ - X adjv = getxx(); - EE nenv; - static EE empty; - int i = 0; - adjv->type = "adjph"; - if (prob(0.25)) { - nenv = *env; - nenv.tense = 0; - adjv->list.x[i++] = rel(&nenv); - adjv->list.x[i++] = aux(&nenv); - adjv->list.x[i++] = vp(&nenv); - return adjv; - } - nenv = empty; - adjv->list.x[i++] = prep(&nenv); - adjv->list.x[i++] = np(&nenv); - return adjv; -} - -static char *preplist[] = {"across", "by", "in", "of", - "near", "under", "over", - "in back of", "below", "behind", "of", "of", "of", "of", - "centered around", "centered about", - "in close proximity to", "following after", - "in between", "in conflict with", "in conjunction with", - "in the area of", "in the neighborhood of", "in the proximity of", - "in the field of", "for the purpose of", - "giving rise to", "based upon", "being caused by", - "of", "of", "of", "of", - "being effectuated by", "being aggrevated by", - "being used with", - "being collected together with", "being combined together with", - "connected up to", "exhibiting a tendency towards", - "being facilitated by", - "being employed with", - "having a deleterious effect upon", "impacting", - "being joined together with", "being merged together with", - "in the vicinity of"}; - -X -prep(env) - E env; -{ - X pv = getxx(); - pv->type = "-prep"; - pv->list.s[0] = CHOOSE(preplist); - return pv; -} - -X -comp(env) - E env; -{ - X v = getxx(); - EE nenv; - static EE empty; - int i = 0; - nenv = empty; - v->type = "comp"; - if (0 && prob(0.001)) - v->list.x[i++] = adjective(&nenv); - else if (prob(0.1)) - v->list.x[i++] = advp(&nenv); - else { - if (env->passive) - v->list.x[i++] = passprep(env); - v->list.x[i++] = np(&nenv); - env->passive = 0; - } - if (0 && prob(0.05)) - v->list.x[i++] = adverb(&nenv); - return v; -} - -X -advp(env) - E env; -{ - X v = getxx(); - v->type = "advp"; - v->list.x[0] = vprep(env); - v->list.x[1] = np(env); - return v; -} - -static char *vpreplist[] = {"to", "at", "by", "from", "with", "for"}; - -X -vprep(env) - E env; -{ - X v = getxx(); - v->type = "-vprep"; - v->list.s[0] = CHOOSE(vpreplist); - return v; -} - -E -getenvq() -{ - static EE empty; - E v; - v = (E) malloc(sizeof *v); - if (v == 0) - printf("outa room\n"), exit(1); - *v = empty; - return v; -} - -X -comma(env) - E env; -{ - X v = getxx(); - static EE empty; - - v->type = "-comma"; - v->list.s[0] = ","; - *env = empty; - return v; -} - -static char *conjadvlist[] = {"we believe", "naturally", "therefore", - "moreover", "obviously"}; - -X -conjadv(env) - E env; -{ - X v = getxx(); - - v->type = "-conjadv"; - v->list.s[0] = CHOOSE(conjadvlist); - return v; -} - -static char *lconjlist[] = {"therefore", "however", "nevertheless", - "consequently", "also", "in addition", "moreover", - "accordingly", "essentially", "presumably", "actually", - "basically", "importantly", "clearly", "obviously", - "needless to say", "as already stated", - "generally", "approximately", "presently", - "hopefully", "usually", "in the great majority of cases", - "seen in the above light", "most significantly", - "when the need arises", - "in a large number of cases", "after this is accomplished", - "in all cases", - "having been made aware concerning these matters", - "as an example of this", "as a consequence of this", - "as a matter of fact", "as is often the case", - "as of this date", "assuming that this is the case", - "at the present moment in time", "at this time", - "as a consequent result of this", "as a desireable benefit of this", - "if at all possible", "similarly", "in the same connection", - "in large measure", "in many cases", "in rare cases", - "in some cases", "in the interim", "in the last analysis", - "in light of these facts", "in the majority of instances", - "in the not too distant future", "in the same way as described above", - "in this case", "for all intents and purposes", - "to arrive at an approximation", "for this reason", - "for many reasons, then", - "as is often the case", "last but not least", - "later on", "on a few occasions", "on this occasion", - "in summary", "taking this into consideration", - "with this in mind", - "substantially", "ultimately"}; - -X -lconjadv(env) - E env; -{ - - X v = getxx(); - v->type = "-lconjadv"; - v->list.s[0] = CHOOSE(lconjlist); - return v; -} - -X -conjsub(env) - E env; -{ - static char *conjsublist[] = {"although", "even though", - "despite the fact that", - "for the simple reason that", - "because", "due to the fact that", "since", - "whether or not", - "inasmuch as", - "as"}; - X v = getxx(); - v->type = "-conjsub"; - v->list.s[0] = CHOOSE(conjsublist); - return v; -} - -static char *lconjsublist[] = {"although", "even though", - "despite the fact that", - "because", "due to the fact that", "since", - "if", "anytime that", "in the case that", - "as a consequence of the fact that", - "as regards the fact that", - "as a desireable benefit of the fact that", - "with reference to the fact that", - "as long as", - "as an important essential of the fact that", - "in conjunction with the fact that", - "in the light of the fact that", - "if", "if", "if", "if", - "leaving out of consideration the fact that", - "just as", - "inasmuch as", "until such time as", - "as soon as", "being as", "in the same way as", - "with the exception of the fact that", - "notwithstanding the fact that", - "on the grounds that", - "on the basis of the fact that", - "persuant to the fact that", - "although it seems apparent that", - "with regard to the fact that", - "as can be seen from the fact that", - "as"}; - -X -lconjsub(env) - E env; -{ - X v = getxx(); - v->type = "-lconjsub"; - v->list.s[0] = CHOOSE(lconjsublist); - return v; -} - -static char *conjlist[] = {"and", "but", "yet", "and", "and"}; - -X -conj(env) - E env; -{ - X v = getxx(); - v->type = "-conj"; - v->list.s[0] = CHOOSE(conjlist); - return v; -} -static char *nomzlist[] = {"it is easy to see that", - "it is a basic fact that", - "it is obvious that", "it is not unimportant that", - "it is easy to overlook the fact that", - "it is within the realm of possibility that", - "it is apparent that", - "this is indicitive of the fact that", - "this is in substantial agreement with the fact that", - "this demonstrates the fact that", - "this leaves out of consideration the fact that", - "it is of the utmost importance that", - "the truth is that", - "the fact is that", - "it turns out that", "it will turn out to be true that", - "it should be noted that", - "it stands to reason that", - "it would not be unreasonable to assume that", - "it is interesting to note that", - "this can be proved by:", - "this is a trivial consequence of", - "it is assumed that", - "it remains to be shown that", - "it is left to the reader to prove" -}; - -X -nomz(env) - E env; -{ - X v = getxx(); - v->type = "-nomz"; - v->list.s[0] = CHOOSE(nomzlist); - return v; -} - -X -equation(env) - E env; -{ - X v = getxx(); - static char eqnbuff[100], x; - static char *eqnelem[] = {"int", "sum", "prod", "union", "inter"}; - static char *eqnfn[] = { "sin", "cos", "tan", "arc", "det", - "log", "exp", "f", "g", "sinh", "O", "J sub 0", "J sub 1", - "P sub i", "gamma", "zeta" }; - static char *eqnval[] = { "0", "DELTA", "GAMMA", "LAMBDA", - "OMEGA", "PHI", "PSI", "SIGMA", "THETA", "UPSILON", - "XI", "alpha", "beta", "gamma", "delta", "epsilon", - "eta", "kappa","lambda", "mu", "omega", "x", "zeta", "inf"}; - static char *eqnrel[] = {"=", "<=", ">=", "==", "!=", "approx"}; - - x = 'a' + (R)%26; - v->type = "-eqn"; - sprintf(eqnbuff,"$%s from %c=%d to %s %s ( %c ) d%c %s %s$", - CHOOSE(eqnelem), x, (R)&077, CHOOSE(eqnval), CHOOSE(eqnfn), - x, x, CHOOSE(eqnrel), CHOOSE(eqnval)); - v->list.s[0] = eqnbuff; - return v; -} - -X -turgid(env) - E env; -{ - X v = getxx(); - int i = 0; - - v->type = "turgid"; - if (prob(T * 1.5)) { - v->list.x[i++] = lconjadv(env); - v->list.x[i++] = comma(env); - v->list.x[i++] = sent(env); - } else if (prob(2 * T)) { - v->list.x[i++] = turgid(env); - v->list.x[i++] = comma(env); - v->list.x[i++] = conj(env); - v->list.x[i++] = sent(env); - } else if (prob(1.5 * T)) { - v->list.x[i++] = lconjsub(env); - v->list.x[i++] = sent(env); - v->list.x[i++] = comma(env); - v->list.x[i++] = sent(env); - } else if (prob(T * .5)) { - v->list.x[i++] = sent(env); - v->list.x[i++] = comma(env); - v->list.x[i++] = conjadv(env); - } else if (prob(T)) { - v->list.x[i++] = turgid(env); - v->list.x[i++] = comma(env); - v->list.x[i++] = conjsub(env); - v->list.x[i++] = sent(env); - } else if (prob(.5 * T)) { - v->list.x[i++] = nomz(env); - if (eqn && prob(.5)) { - v->list.x[i++] = equation(env); - v->list.x[i++] = comma(env); - v->list.x[i++] = conj(env); - } - v->list.x[i++] = sent(env); - } else - v->list.x[i++] = sent(env); - return v; -} - -/**********************************************************/ -main(argc, argv) - char *argv[]; -{ - static char *furniture[] = {"WASTEBASKET", "ASHTRAY", "TABLE", - "DESK DRAWER", "COAT LOCKER", "BOOKSHELF"}; - - static char *ccto[] = { - "J. N. Akkerhuis", - "J. J. Argosy", - "M. D. Banal", - "H. V. Bandersnatch", - "F. W. Blivet", - "Z. Brazen", - "M. Bushido", - "J. D. Carbuncle", - "N. Crab", - "R. H. deTruckle", - "R. L. Drechsler", - "C. B. Dudgeon", - "R. T. Dun", - "W. G. Fallow", - "R. S. Flummox", - "R. N. Fribble", - "C. R. Glitch", - "R. H. Hardin", - "S. A. Hobble", - "B. W. Kernighan", - "D. B. Knudsen", - "C. L'Hommedieu", - "R. S. Limn", - "S. T. Livid", - "Mrs. B. R. Mauve", - "C. Mee", - "N-P. Nelson", - "C. H. Russet", - "M. Shayegan", - "M. H. Simper", - "B. R. Sorrel", - "G. Swale", - "R. R. Swarthy", - "P. Terra-Cotta", - "U. G. Winnow"}; - - static char *picelem[] = { "box", "ellipse", "box", "box"}; - static char *piccon[] = { "arrow", "line", "line <-", "line <->", - "spline", "spline <-", "spline <->"}; - static char *picdir[] = { "right", "down right", "down", - "left", "up left", "left", "down", "down right", NULL}; - E env; - X tree; - int i = 0, j = 0, k = 0; - int lim = 0; - long t = 0; - char c, **str, *splitup(); - int junk, junk2; - - for (i = 1, ++argv; i < argc; i++, argv++) - if (*argv[0] == '-') /* -pet -snnn */ - while (c = *++argv[0]) - switch (c) { - case 'z': - flag = 1; - continue; - case 'p': - pic = 1; - continue; - case 't': - tbl = 1; - continue; - case 'e': - eqn = 1; - continue; - case 's': - t = atoi(argv[0]+1); argv[0][1] = '\0'; - continue; - default: - abo(); /* illegal option */ - } - else if (lim == 0) - lim = atoi(argv[0]); - else - makeup = 1.0 - (float) atoi(argv[0]) / 100.0; - if (t == 0) - time(&t); - if (makeup < 0. || makeup > 1.0) - makeup = .95; - if (lim <= 0) - lim = 25; - srand((int) t); - - printf(".TL\n"); - env = getenvq(); - tree = np(env); - io = 0; - pr(tree); - buff[io] = 0; - caps(); - printf("%s\n", buff); - printf(".AU \"C. C. Festoon\" CCF Headquarters %d\n", t); - if (eqn) - printf(".EQ\ndelim $$\n.EN\n"); - printf(".AS\n"); - free(env); - do { - env = getenvq(); - tree = turgid(env); - io = 0; - pr(tree); - buff[io] = 0; - printf("%s.\n", buff); - free(env); - } while (prob(0.75)); - printf(".AE\n"); - printf(".MT \"MEMORANDUM FOR %s\"\n.hy 1\n", - CHOOSE(furniture)); - while (i++ < lim) { - if (i % 23 == 0) { /* Time for a section header */ - env = getenvq(); - tree = np(env); - io = 0; - printf(".H 1 \""); - pr(tree); - buff[io] = 0; - caps(); - printf("%s\"\n", buff); - free(env); - } - if (i % 27 == 0 && pic) { /* Time for a picture */ - printf(".DS CB\n.ps -2\n.PS\n"); - str = &(CHOOSE(picdir)); - if (*str == NULL) str = &picdir[0]; - junk2 = (R&07) + 3; - for(junk = 1; junk < junk2; junk++) { - printf("%s; ", *str); - if (str == &picdir[0]) { - pic = 2; printf("A: "); - } - printf("%s %s ht %3.1f wid %3.1f\n", - CHOOSE(picelem), splitup(CHOOSE(nounlist)), - 0.4+0.5/junk2, 0.8+0.6/junk2); - printf("%s %s %3.1f ", - CHOOSE(piccon), *str, 0.2+.3/junk2); - if (*++str == NULL) str = &picdir[0]; - printf("then %s %3.1f %s\n", - *str, 0.3+.2/junk2, - splitup(CHOOSE(adjlist))); - } - printf("circle rad .3 \"process\" \"completion\"\n"); - if (pic == 2) { - pic =1; - printf("line <- dashed up .25 from A.n\n"); - printf("circle rad .3 \"process\" \"start\"\n"); - } - printf(".PE\n.ps +2\n.DE\n"); - printf(".ce\n\\fBFigure %d\\fP\n", i/27); - } - if (i % 41 == 0 && tbl) { /* Time for a table */ - printf(".TS\n"); - printf("box, center;\nc\ts\ts\n"); - printf("n | l | lw(%3.1fi).\n", 2.0+(41.0+(t&07))/i); - printf("Action Plan %d\n=\n", i); - printf("Item\tWho\tAction\n"); - for (junk = 1; junk < (i&17)+4; junk++) { - printf("_\n%d\t", t/i+junk); - printf("%s\tT{\n", CHOOSE(ccto)); - free(env); - env = getenvq(); - io = 0; - tree = sent(env); - pr(tree); - buff[io] = 0; - printf("%s.\nT}\n", buff); - } - printf(".TE\n"); - printf(".ce\n\\fBTable %d\\fP\n", i/41); - } - env = getenvq(); - tree = turgid(env); - io = 0; - pr(tree); - buff[io] = 0; - if (++k % 13 == 0 && prob(0.35)) { /* Bullet list */ - printf("%s:\n", buff); - printf(".BL\n"); - do { - printf(".LI\n"); - free(env); - env = getenvq(); - io = 0; - tree = sent(env); - pr(tree); - buff[io] = 0; - printf("%s.\n", buff); - } while (prob(.83)); - printf(".LE\n"); - printf(".P\n"); - } else { - if (k % 11 == 0 && prob(.21)) { /* do as footnote */ - printf("%s\\*F.\n", buff); - free(env); - env = getenvq(); - io = 0; - tree = sent(env); - pr(tree); - buff[io] = 0; - printf(".FS\n%s.\n.FE\n", buff); - } - else printf("%s.\n", buff); /* normal flush */ - } - if (++j > 2 && prob(0.4)) - printf(".P\n"), j = 0; - free(env); - } - printf(".SG\n"); - printf(".NS 0\n"); - for (j = 0; j == 0;) { - for (i = 0; i < sizeof ccto / sizeof *ccto; i++) { - if (prob(.10)) - j = 1, printf("%s\n", ccto[i]); - } - } - printf(".NE\n"); - exit(0); -} - -pr(tree) - X tree; -{ - int i; - if (flag ) { - out("<"); - out(tree->type); - out(">"); - } - if (tree->type[0] == '-') { - out(" "); - for (i = 0; tree->list.s[i]; i++) { - out(tree->list.s[i]); - } - } else - for (i = 0; tree->list.x[i]; i++) { - pr(tree->list.x[i]); - } - free(tree); - return; -} - -out(s) - char *s; -{ - if (io == 0 && *s == ' ') - return; - if (io == 0) { - for (; s[io]; io++) - buff[io] = s[io]; - buff[0] += 'A' - 'a'; - return; - } - if ((buff[io - 1] == ' ' || buff[io - 1] == '\n' ) && *s == ' ') - return; - if (buff[io - 1] == ' ' && *s == ',') { - buff[io - 1] = ','; - buff[io++] = '\n'; - return; - } - if (buff[io - 1] == 'y' && *s == 'i' && s[1] == 'e') - io--; - else if (*s == buff[io - 1] && *s != 's' && *s != 'n') - io--; - else if (*s == 'e' && buff[io - 1] == 'a') - io--; - for (; *s;) - buff[io++] = *s++; - return; -} - -caps() -{ - int i; - for (i = 1; i < io; i++) - if (buff[i - 1] == ' ' && buff[i] <= 'z' && buff[i] >= 'a') - buff[i] += 'A' - 'a'; -} - -abo() { - fprintf(stderr, "usage: festoon [-pet] [-sSEED] [SENTENCES] [%%-invented-nouns]\n"); - exit(1); -} - -char * -splitup(strlab) char *strlab; -{ - static char label[64]; - int j, c; - - label[0]='"'; - for (j=1; j<60 && - (c = *strlab++) != '\0'; j++) - if (c == ' ') { - label[j++]='"'; - label[j++]=' '; - label[j]='"'; - } - else - label[j] = c; - label[j++] = '"'; label[j] = '\0'; - return(label); -} //GO.SYSIN DD fest.c --upas-fxmifxlopjmbqdhuivdgtyidjv-- From mairix@mairix Mon Jan 1 12:34:56 1970 X-source-folder: /home/wkt/Mail_archive/2003/07/15 Return-Path: X-Original-To: wkt@tuhs.org Delivered-To: wkt@tuhs.org Received: from plan9.cs.bell-labs.com (ampl.com [204.178.31.2]) by minnie.tuhs.org (Postfix) with ESMTP id 66E431ECA for ; Wed, 16 Jul 2003 11:23:50 +1000 (EST) Message-ID: To: cbunix23@yahoo.com Cc: Warren@plan9.bell-labs.com, Toomey@plan9.bell-labs.com, Subject: Re: cb/unix tapes From: Dennis Ritchie Date: Tue, 15 Jul 2003 21:23:37 -0400 MIME-Version: 1.0 Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: 7bit X-Spam-Status: No, hits=0.0 required=5.0 tests=none version=2.55 X-Spam-Level: X-Spam-Checker-Version: SpamAssassin 2.55 (1.174.2.19-2003-05-19-exp) Status: RO X-Status: A Content-Length: 116 Lines: 5 They've arrived on my doorstep; thanks, Larry. 9-track drives seem thin on the ground, but we'll see. Dennis From mairix@mairix Mon Jan 1 12:34:56 1970 X-source-folder: /home/wkt/Mail_archive/2003/09/09 Return-Path: X-Original-To: wkt@tuhs.org Delivered-To: wkt@tuhs.org Received: from plan9.cs.bell-labs.com (plan9.bell-labs.com [204.178.31.2]) by minnie.tuhs.org (Postfix) with ESMTP id 0C9871E57 for ; Wed, 10 Sep 2003 13:45:23 +1000 (EST) Message-ID: <9a99a6b981b8f465e5ba4bee3053bb85@plan9.bell-labs.com> To: wkt@tuhs.org Cc: dmr@plan9.bell-labs.com Subject: Re: What code USL -> Novell? From: Dennis Ritchie Date: Tue, 9 Sep 2003 23:42:11 -0400 In-Reply-To: <20030909235217.GB72324@minnie.tuhs.org> MIME-Version: 1.0 Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: 7bit Status: RO X-Status: A Content-Length: 3076 Lines: 68 Hi Warren, I trust you haven't been hassled much by (current) SCO. At least the archive seems to mentioned only in passing by other parties and not a subject of the suit itself. > When Novell bought USL, do you know exactly what source code trees they > were given, or which trees USL were in possession of? No, I don't know, nor do I know (off the top of the head) what was the current version of SV at the time of the sale--presumably r4. I may have told you this story before, but at the time of USL's final spinoff from AT&T, I had the documents about what USL got from AT&T Computer Systems. By way of OS, it really talked only about System V. During the BSDI suit, I thought that possibly the whole thing could be short-circuited by AT&T releasing 5e through 32V. The Bell Labs (AT&T) lawyer I talked to observed that on the surface only SV was part of of the deal, and the argument could well be made, but there was a reference in the contract to "development versions" and this could be used to argue that everything (from the start) was part of this. (There was certainly no language that kept ownership of early versions with AT&T). I didn't try to push the matter further-- AT&T itself had divested USL it it seemed highly unlikely that I could get support for interfering in someone else's ongoing suit. > In a newspaper article I mentioned that I had to ship the Santa Cruz > Organization copies of 5e, 6e, 7e, 32V and SysIII because they did not > have these old versions. As for the Novell-SCO sale, and what SCO got (whether mentioned in the contract, or what materials they got), I have no information. As you say, SCO during its kindlier phase didn't seem to have physical copies of the earlier code, which you and they got from people who had tapes or their own archives. My take on this is that current SCO is indeed the owner of the SV code and its direct predecessors--the predecessors because (at the time) no one contested this. Clearly much of this leaked out, though through the 80s and 90s it was subject to licenses, as were (I suppose) AUSAM sources, Ultrix, the early BSDs. In the earlier case the judge didn't seem to be too much impressed by USL copyright claims (partly for reasons having to do with then-current US law), or the trade secret ones (approximately, too many people know the secret). > I'd like to try and definitely determine if current SCO have a break > in their code genealogy, e.g they are missing SysV or SysVR1 or SysVR2. > It would lend weight to the argument that some of the code that they > claim leaked into Linux might actually be code that was inherited from > (say) AUSAM, Ultrix or the early BSDs. A break in chain-of-custody looks more than probable; whether this is a useful argument is another question. Best wishes with the course. You might be interested in hearing that one of the MIT introductory courses in OSs is trying to use Lions as source material (complete with a simulator)-- but sadly the republished book is out of print. So they're using Xeroxes again! Dennis From mairix@mairix Mon Jan 1 12:34:56 1970 X-source-folder: /home/wkt/Mail_archive/2003/09/11 Return-Path: X-Original-To: wkt@tuhs.org Delivered-To: wkt@tuhs.org Received: from plan9.cs.bell-labs.com (plan9.bell-labs.com [204.178.31.2]) by minnie.tuhs.org (Postfix) with ESMTP id 897251F15 for ; Thu, 11 Sep 2003 16:30:40 +1000 (EST) Message-ID: <402a98bdd15d1b87890cb2b410a2ee6e@plan9.bell-labs.com> To: wkt@tuhs.org Subject: Re: What code USL -> Novell? From: Dennis Ritchie Date: Thu, 11 Sep 2003 02:27:22 -0400 In-Reply-To: <20030910040721.GA74013@minnie.tuhs.org> MIME-Version: 1.0 Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: 7bit Status: RO Content-Length: 1850 Lines: 42 > Are there any publicly available records on the USL divestiture from > AT&T, that list what you have described, i.e SysV and development > predecessors? I can't imagine that the whole agreement would be available from public records (except of course that the fact itself would be somehow recorded) but not the IP contract. Somewhere I think I might still have this, but the only thing I was able to dig up was the one page. The rest did cover some non-OS software. As I recall, C++ rights (to whatever compiler was extant then) were included, but in a later agreement went back to AT&T. I'll keep looking. > Yes, I don't know if it is useful, but I thought I should at least > try to follow it up in case SCO wheels out lots of 4.2BSD code and > says "We wrote this". In the case of 4.2BSD code, although SCO didn't write it, it's likely they could readily that they do seem to have grandfathered rights, given that it was covered under UCB's agreement with AT&T/WECo. On the other hand, the rights do seem to be diluted considerably given the terms of the the licenses granted by the earlier SCO. I asked whether you (TUHS) were being hassled because if the early stuff was really important, one would expect that they would take action. > Now that's ironic, the many-times photocopied book goes underground again. > Yes I had some e-mail from MIT last week with a patch to my PDP-11 Apout > simulator: they are using it to quickly compile the 6e kernels. Well, not really underground, just the publisher not keeping it current. > One last thing, I've been asked again what you are doing with the paper-only > documents from 2nd Edition and earlier (code snippets etc.) Were they every > scanned in, or are they still in paper-only format? Still paper-only, I'm afraid, but there's not a lot there. Regards, Dennis From mairix@mairix Mon Jan 1 12:34:56 1970 X-source-folder: /home/wkt/Mail_archive/2003/11/28 Return-Path: X-Original-To: wkt@minnie.tuhs.org Delivered-To: wkt@minnie.tuhs.org Received: from nose.cs.utoronto.ca (nose.cs.utoronto.ca [128.100.27.218]) by minnie.tuhs.org (Postfix) with SMTP id 9C7081FAF for ; Sat, 29 Nov 2003 01:56:08 +1000 (EST) To: wkt@minnie.tuhs.org, dmr@plan9.bell-labs.com Subject: [TUHS] Re: Anybody with a copy of this paper? From: norman@nose.cs.utoronto.ca (Norman Wilson) Date: Fri, 28 Nov 2003 10:51:06 -0500 Message-Id: <20031128155608.9C7081FAF@minnie.tuhs.org> Status: RO X-Status: A Content-Length: 376 Lines: 7 For what it's worth, I have the Goble and March paper in hardcopy. I cannot conveniently scan, but I will be glad to make photocopies. I think the original question was about SMP, though, and the Purdue two-headed VAX system wasn't symmetric: all I/O went through one CPU; the second CPU ran only in user mode (as did the first when it wasn't busy doing something else). From mairix@mairix Mon Jan 1 12:34:56 1970 X-source-folder: /home/wkt/Mail_archive/2004/02/03 Return-Path: X-Original-To: wkt@tuhs.org Delivered-To: wkt@tuhs.org Received: from plan9.cs.bell-labs.com (plan9.bell-labs.com [204.178.31.2]) by minnie.tuhs.org (Postfix) with ESMTP id 4D7F82005 for ; Wed, 4 Feb 2004 11:33:39 +1000 (EST) Message-ID: <2001b956b812f8d0c61cfc7d1e727926@plan9.bell-labs.com> To: wkt@tuhs.org Cc: dmr@plan9.bell-labs.com Subject: Re: A Question on Idris Date: Tue, 3 Feb 2004 20:29:25 -0500 From: dmr@plan9.bell-labs.com In-Reply-To: <20040204001427.GA83904@minnie.tuhs.org> MIME-Version: 1.0 Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: 7bit X-Spam-Status: No, hits=-4.4 required=5.0 tests=BAYES_10,IN_REP_TO,NO_REAL_NAME,QUOTED_EMAIL_TEXT version=2.55 X-Spam-Level: X-Spam-Checker-Version: SpamAssassin 2.55 (1.174.2.19-2003-05-19-exp) Status: RO X-Status: A Content-Length: 3075 Lines: 64 > I'm doing some work for IBM on the you-know-what case, and I have > a few questions for you. However, I don't know if you're allowed to give > opinions on things, so let me know if I am out of order here. I've avoided opinion about things except where I have documented facts. I'm allowed to talk, but I'm cautious about being silly in public. SCO has broadcast lots of silly things but I won't. > I recall an e-mail from you where you said that you went to visit > Whitesmiths after they released either Idris or their C compiler, > to verify that no UNIX code was in the product. However, I can't > find the e-mail, and it was a good story too. This is a misremberance: the company I looked at was Mark Williams, and their Coherent product. I found a version of my account on google groups: http://groups.google.com/groups?q=ritchie+coherent+williams&hl=en&lr=&ie=UTF-8&safe=off&selm=tgmErpF97.JCC%40netcom.com&rnum=1 and I found this by looking for "ritchie coherent williams" in advanced group search. > I know that Whitesmith made their products deliberately incompatible > with Unix to begin with: function names, constant values etc. Later, > they made things compatible. Did AT&T give their official "blessing" > to such compatible products? Whitesmith's Idris (main person Bill (P. J.) Plauger) was I think a bit earlier than Coherent. I don't know whether he asked or received official blessing. At the time, my reaction was that he was being excessively cautious to make many of the changes he did, but no doubt he was also motivated by a desire to rethink and redesign some of the primitives and interfaces. > I'm assuming that Idris would have released quite a number of header > files which were similar to, if not nearly identical to, UNIX header > files (errno.h, signal.h, ctype.h in particular). The earliest > evidence I have for this dates back to 1978. Did this cause any concern > within AT&T? Was there a policy or a consensus within AT&T that other > companies could copy the contents of these files? All the signs are that the system interfaces (behavior of commands, structures involved in system calls) as shown in the manuals and in published papers were reasonably public, and AT&T didn't chase people because of them. I don't recall Whitesmith/Idris being looked at suspiciously, but you could ask him whether he was hassled. Coherent was looked at but not pursued. BSDi was a special case; USL convinced themselves that BSDi (and CSRG) could not possibly have done what they did without wholesale code importation. In some ways I think USL had a moral case in that without 10 years or so of experience with licensed Unix, UCB couldn't really have done what they did, but when it came down to the facts about common code, plus published material like SVID and Bach's book, plus the details concerning copyright, they didn't prevail. > Thanks again, hope you & family had a good Xmas & New Years too! Had a nice trip to England to visit my sister, with a boxing day journey to Scotland. Best to you as well. Dennis From mairix@mairix Mon Jan 1 12:34:56 1970 X-source-folder: /home/wkt/Mail_archive/2004/02/04 Return-Path: X-Original-To: wkt@minnie.tuhs.org Delivered-To: wkt@minnie.tuhs.org Received: by minnie.tuhs.org (Postfix, from userid 1000) id E89EB1ED4; Wed, 4 Feb 2004 10:14:27 +1000 (EST) Date: Wed, 4 Feb 2004 10:14:27 +1000 From: Warren Toomey To: Dennis Ritchie Cc: Warren Toomey Subject: A Question on Idris Message-ID: <20040204001427.GA83904@minnie.tuhs.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.4.1i X-Spam-Status: No, hits=-8.2 required=5.0 tests=BAYES_01,USER_AGENT_MUTT autolearn=ham version=2.55 X-Spam-Level: X-Spam-Checker-Version: SpamAssassin 2.55 (1.174.2.19-2003-05-19-exp) Status: RO Content-Length: 1167 Lines: 25 Hi Dennis, I'm doing some work for IBM on the you-know-what case, and I have a few questions for you. However, I don't know if you're allowed to give opinions on things, so let me know if I am out of order here. I recall an e-mail from you where you said that you went to visit Whitesmiths after they released either Idris or their C compiler, to verify that no UNIX code was in the product. However, I can't find the e-mail, and it was a good story too. I know that Whitesmith made their products deliberately incompatible with Unix to begin with: function names, constant values etc. Later, they made things compatible. Did AT&T give their official "blessing" to such compatible products? I'm assuming that Idris would have released quite a number of header files which were similar to, if not nearly identical to, UNIX header files (errno.h, signal.h, ctype.h in particular). The earliest evidence I have for this dates back to 1978. Did this cause any concern within AT&T? Was there a policy or a consensus within AT&T that other companies could copy the contents of these files? Thanks again, hope you & family had a good Xmas & New Years too! Warren From mairix@mairix Mon Jan 1 12:34:56 1970 X-source-folder: /home/wkt/Mail_archive/2004/02/24 Return-Path: X-Original-To: wkt@tuhs.org Delivered-To: wkt@tuhs.org Received: from plan9.cs.bell-labs.com (plan9.bell-labs.com [204.178.31.2]) by minnie.tuhs.org (Postfix) with ESMTP id 071CC1F0D for ; Wed, 25 Feb 2004 13:37:49 +1000 (EST) Message-ID: To: wkt@tuhs.org Cc: dmr@plan9.bell-labs.com Subject: Re: Question on the copyright removal event Date: Tue, 24 Feb 2004 22:37:23 -0500 From: dmr@plan9.bell-labs.com In-Reply-To: <20040225015151.GA37985@minnie.tuhs.org> MIME-Version: 1.0 Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: 7bit X-Spam-Status: No, hits=-5.1 required=5.0 tests=BAYES_01,IN_REP_TO,NO_REAL_NAME,QUOTED_EMAIL_TEXT version=2.55 X-Spam-Level: X-Spam-Checker-Version: SpamAssassin 2.55 (1.174.2.19-2003-05-19-exp) Status: RO X-Status: A Content-Length: 2992 Lines: 64 First, about the reconstructed facts: When I wrote > > This probably happened between the 4th and 5th > > edition. One of the reasons for doing the 5th so > > close to the 4th was that the 4th (I think) had the notices; > > the 5th was done partly to take them out. We > > wrote to the holders of the 4th and offered a > > free upgrade to people who would send back > > the older tape. > > > > [The first draft of this paragraph said "5th and 6th" > > editions. In checking the dates, 4th and 5th is much > > more likely to be accurate: 4th was Nov 1973, 5th was > > June, 1974. 6th was May, 1975. We don't have > > the sources for the 4th ed, so I can't verify the > > existence of included copyright notices in its code. > > We do have the 5th and 6th sources, and they definitely > > lack them. This is to some extent a reconstruction, > > but there was definitely a flip-flop in advice, as Johnson > > remembers.] I should have stuck with the first draft. I don't know about the 4th edition system or even remember whether it was collected or distributed at all, but I must have looked in the wrong places in 5th and 6th. You are right; 5e has notices almost everywhere, 6e doesn't. I must have been fooled somehow by the dates, or perhaps (I'm guessing here) there was a tentative 6th that was withdrawn-- something on the order of "we have an updated version." > Looking through the 5e and 6e distributions that you sent me, > there are dozens of copyright notices in 5e but none in 6e; it therefore > seems that the removal occurred between 5e and 6e, not 4e and 5e. > > You mentioned that "We wrote to the holders of the 4th and offered > a free upgrade to people who would send back the older tape." I don't > suppose a copy of the letter would still exist? I'm pretty sure the letter doesn't exist; at any rate I don't have it. In dredging up ancient memory, I think only a couple of licensees were involved. > Is there a way for me to describe the insertion/removal of notices > which would be acceptable to you? Possible options are: > - I name & quote you > - I refer to a Bell Labs employee and quote you > - I refer to a Bell Labs employee and paraphrase you > - I wave my arms around and indicate that I was told this > in a private correspondance from a reliable source > > If you have any ideas or suggestions on how I might proceed, that would > be good. Remember that I am being retained by IBM, so I might be asked > to name names at some stage. Well, you have some ground facts (the 5e and 6e distributions) in which notices are there in the earlier and not the later. (Nor, of course, in 7e or 32V, as came up in the BSDi case). It's certainly true that at some time we were asked to add notices, and later to remove them, as Johnson also said. Right now the best evidence is that this occurred between 5e and 6e. You can certainly say that I remember our being asked to add notices, and later to remove them. Dennis From mairix@mairix Mon Jan 1 12:34:56 1970 X-source-folder: /home/wkt/Mail_archive/2004/02/25 Return-Path: X-Original-To: wkt@minnie.tuhs.org Delivered-To: wkt@minnie.tuhs.org Received: by minnie.tuhs.org (Postfix, from userid 1000) id 06D151F0D; Wed, 25 Feb 2004 11:51:52 +1000 (EST) Date: Wed, 25 Feb 2004 11:51:51 +1000 From: Warren Toomey To: dmr@plan9.bell-labs.com Cc: Warren Toomey Subject: Question on the copyright removal event Message-ID: <20040225015151.GA37985@minnie.tuhs.org> References: <200104050345.NAA25061@csadfa.cs.adfa.edu.au> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <200104050345.NAA25061@csadfa.cs.adfa.edu.au> User-Agent: Mutt/1.4.1i X-Spam-Status: No, hits=-8.1 required=5.0 tests=BAYES_10,EMAIL_ATTRIBUTION,IN_REP_TO,MAILTO_TO_SPAM_ADDR, QUOTED_EMAIL_TEXT,REFERENCES,REPLY_WITH_QUOTES, USER_AGENT_MUTT autolearn=ham version=2.55 X-Spam-Level: X-Spam-Checker-Version: SpamAssassin 2.55 (1.174.2.19-2003-05-19-exp) Status: RO Content-Length: 4211 Lines: 104 Hi Dennis, how's things? Back in 2001 you e-mailed the information below to me. I'm writing an article for Groklaw about the history of copyright notices on the Unix releases from 3rd Edition onwards. The details about notices being inserted and then removed is very relevant, but all I have is the private e-mail from you below. Is there a way for me to describe the insertion/removal of notices which would be acceptable to you? Possible options are: - I name & quote you - I refer to a Bell Labs employee and quote you - I refer to a Bell Labs employee and paraphrase you - I wave my arms around and indicate that I was told this in a private correspondance from a reliable source If you have any ideas or suggestions on how I might proceed, that would be good. Remember that I am being retained by IBM, so I might be asked to name names at some stage. Looking through the 5e and 6e distributions that you sent me, there are dozens of copyright notices in 5e but none in 6e; it therefore seems that the removal occurred between 5e and 6e, not 4e and 5e. You mentioned that "We wrote to the holders of the 4th and offered a free upgrade to people who would send back the older tape." I don't suppose a copy of the letter would still exist? Many thanks again, Warren On Wed, Apr 04, 2001 at 11:45:19PM -0400, dmr@plan9.bell-labs.com wrote: > Here's what I last sent to Greg. The putting-in and and subsequent > removal of the copyright notices happened well before 32V, > although 32V, as the primary source for BSD was presumably > most important in the lawsuit. > > Saw your note to the usenix group asking to see any early > licenses. As I said, I am quite sure that the licenses themselves > are not sensitive in any way, but I can understand that you want > to be careful with your materials. > > D. > > ---- > From: dmr > Date: Wed Apr 4 22:36:43 EDT 2001 > To: gmp216@nyu.edu dmr > Subject: Re: ancient Unix question > > > The only USL-BSDI lawsuit material I have came from BSDI's site as well. If you're > in contact with Kirk, he's a better source. > > On the Memo for Record: 1984 was > when AT&T was just leaping into the commercialization, > and so they were presumably thinking more carefully > about the IP issues, and maybe there were changes in law or > regs. The earlier advice about whether to incorporate copyright > notices mentioned by Johnson occurred well before this. > > Incidentally, I spent a lot of time with the USL folks > before the suit trying to work out some sort of > compromise, though to no avail. At least I > managed to keep the trust of both sides. > > Steve Johnson's story about the copyright notices is in accordance > with my memory, although I don't remember the LOC > specifically. There was a brief period when the lawyers > decided that copyright and trade secret were incompatible, > and they'd rather go with the latter. Whether or not > this was true or they were mistaken in their belief as of > then-current law, I know not. > > This probably happened between the 4th and 5th > edition. One of the reasons for doing the 5th so > close to the 4th was that the 4th (I think) had the notices; > the 5th was done partly to take them out. We > wrote to the holders of the 4th and offered a > free upgrade to people who would send back > the older tape. > > [The first draft of this paragraph said "5th and 6th" > editions. In checking the dates, 4th and 5th is much > more likely to be accurate: 4th was Nov 1973, 5th was > June, 1974. 6th was May, 1975. We don't have > the sources for the 4th ed, so I can't verify the > existence of included copyright notices in its code. > We do have the 5th and 6th sources, and they definitely > lack them. This is to some extent a reconstruction, > but there was definitely a flip-flop in advice, as Johnson > remembers.] > > [Another side note: although I don't have text of the > licenses to prove it, there was a definite change between > the 6th and 7th licenses about University teaching. > John Lions wrote his "Commentary" book about the 6th > and this was regarded with mixed reaction from the > growing business group. More about this if you need it.] From mairix@mairix Mon Jan 1 12:34:56 1970 X-source-folder: /home/wkt/Mail_archive/2004/02/25 Return-Path: X-Original-To: wkt@tuhs.org Delivered-To: wkt@tuhs.org Received: from plan9.cs.bell-labs.com (mmsrelay.us [204.178.31.2]) by minnie.tuhs.org (Postfix) with ESMTP id ADC691EF8 for ; Thu, 26 Feb 2004 11:59:15 +1000 (EST) Message-ID: To: wkt@tuhs.org Subject: Re: Question on the copyright removal event Date: Wed, 25 Feb 2004 20:59:02 -0500 From: dmr@plan9.bell-labs.com In-Reply-To: <20040225040016.GA40297@minnie.tuhs.org> MIME-Version: 1.0 Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: 7bit X-Spam-Status: No, hits=-0.6 required=5.0 tests=BAYES_30,IN_REP_TO,NO_REAL_NAME,QUOTED_EMAIL_TEXT version=2.55 X-Spam-Level: X-Spam-Checker-Version: SpamAssassin 2.55 (1.174.2.19-2003-05-19-exp) Status: RO X-Status: A Content-Length: 415 Lines: 10 > Thanks Dennis. Sometimes I wonder if you are sick of all things Unix, > sort of like the Queen who has to listen to "God Save the Queen" day > in and day out. Age cannot wither her, nor custom stale Her infinite variety; other women cloy The appetites they feed, but she makes hungry Where most she satisfies; for vilest things Become themselves in her, that the holy priests Bless her when she is riggish. From mairix@mairix Mon Jan 1 12:34:56 1970 X-source-folder: /home/wkt/Mail_archive/2004/03/01 Return-Path: X-Original-To: wkt@tuhs.org Delivered-To: wkt@tuhs.org Received: from plan9.cs.bell-labs.com (plan9.bell-labs.com [204.178.31.2]) by minnie.tuhs.org (Postfix) with ESMTP id DD24D1F3D for ; Tue, 2 Mar 2004 13:11:39 +1000 (EST) Message-ID: <285fc1ec6caee3d34dcbf671c5abe644@plan9.bell-labs.com> To: wkt@tuhs.org Subject: Re: Question on the copyright removal event Date: Mon, 1 Mar 2004 22:11:24 -0500 From: dmr@plan9.bell-labs.com In-Reply-To: <20040301015826.GA86419@minnie.tuhs.org> MIME-Version: 1.0 Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: 7bit X-Spam-Status: No, hits=-4.7 required=5.0 tests=BAYES_01,IN_REP_TO,NO_REAL_NAME version=2.55 X-Spam-Level: X-Spam-Checker-Version: SpamAssassin 2.55 (1.174.2.19-2003-05-19-exp) Status: RO X-Status: A Content-Length: 1399 Lines: 32 > Dennis, I'm not sure this is at all relevant to the current > situation. Do you have or know where the USL -> Novell > asset purchase agreement can be found? You mentioned that > the wording was unclear on what releases of UNIX were > passed to Novell, and at the time you tried to have some > releases (7th Ed & earlier?) held by AT&T. I'd very much > like to see the original purchase agreement. I've not seen the USL->Novell agreement and don't have it. About all I do have is the AT&T agreement creating USL. It was really explicit only about SV plus some of the ancillary stuff like C++ and DWB. In the SV section it mentioned "development versions." All of this may well have been modified by subsequent letters and agreements between AT&T and USL and then between USL and Novell. At the time of the USL suit against BSDi, I did ask the AT&T lawyers whether AT&T could simply release the 32V code, which was what was at issue in USL vs BSDi/UCB. They agreed that an obvious reading would say we (as we were then) probably could, but under a less obvious reading, perhaps not. At that point some of the hesitation about getting involved in the suit presumably came from the partial ties to USL (AT&T still then majority owner, I think). Nowadays, post-trivestiture, both companies' main interest seems to be not getting into the fight and also not spending money on it. Dennis From mairix@mairix Mon Jan 1 12:34:56 1970 X-source-folder: /home/wkt/Mail_archive/2004/06/08 Return-Path: X-Original-To: wkt@tuhs.org Delivered-To: wkt@tuhs.org Received: from lakermmtai19.cox.net (lakermmtai19.cox.net [68.230.240.40]) by minnie.tuhs.org (Postfix) with ESMTP id 792C41C34 for ; Wed, 9 Jun 2004 11:29:17 +1000 (EST) Received: from cox.net ([68.102.232.228]) by lakermmtao10.cox.net (InterMail vM.6.01.03.02 201-2131-111-104-20040324) with ESMTP id <20040608154437.QKMS9773.lakermmtao10.cox.net@cox.net>; Tue, 8 Jun 2004 11:44:37 -0400 Message-ID: <40C5DF89.8050908@cox.net> Date: Tue, 08 Jun 2004 10:47:21 -0500 From: Harlan Wilkerson User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.6) Gecko/20040113 X-Accept-Language: en-us, en MIME-Version: 1.0 To: Loren Heal Cc: Dennis Ritchie , wkt@tuhs.org, Rob Landley Subject: Some More Old BSD Licensing Stuff Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Status: No, hits=-5.4 required=5.0 tests=BAYES_01,USER_AGENT_MOZILLA_UA version=2.55 X-Spam-Level: X-Spam-Checker-Version: SpamAssassin 2.55 (1.174.2.19-2003-05-19-exp) Status: RO X-Status: A Content-Length: 552 Lines: 15 I've finally gotten around to putting up some more of the Western Electric and AT&T license or side letter agreement materials which permitted Berkeley's distributions to the System III and System V licensees. I've also included some 1984-86 correspondence that outlines an apparent dispute between the parties over eligibility requirements. The AT&T licensing department was insisting that non-DEC family System V license holders purchase an additional DEC family license. http://members.cox.net/docs3wilkerson/index.html Cheers, Harlan From mairix@mairix Mon Jan 1 12:34:56 1970 X-source-folder: /home/wkt/Mail_archive/2005/03/08 Return-Path: X-Original-To: wkt@minnie.tuhs.org Delivered-To: wkt@minnie.tuhs.org Received: by minnie.tuhs.org (Postfix, from userid 1000) id 526EA30C; Tue, 8 Mar 2005 17:16:35 +1000 (EST) Date: Tue, 8 Mar 2005 17:16:35 +1000 From: Warren Toomey To: dmr@plan9.bell-labs.com Cc: peter@netpedant.com, Warren Toomey Subject: Reprinting old Unix papers Message-ID: <20050308071635.GA25176@minnie.tuhs.org> References: <20040301015826.GA86419@minnie.tuhs.org> <285fc1ec6caee3d34dcbf671c5abe644@plan9.bell-labs.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <285fc1ec6caee3d34dcbf671c5abe644@plan9.bell-labs.com> User-Agent: Mutt/1.4.1i X-Spam-Status: No, hits=-8.6 required=5.0 tests=BAYES_01,IN_REP_TO,REFERENCES,USER_AGENT_MUTT autolearn=ham version=2.55 X-Spam-Level: X-Spam-Checker-Version: SpamAssassin 2.55 (1.174.2.19-2003-05-19-exp) Status: RO Content-Length: 1292 Lines: 30 Dennis, Peter, Greetings to you both. I was interviewed this morning about my involvement in the Unix Archive, and it got me to thinking, maybe its time to get some more history of Unix published. Peter's "Quarter Century" was very good, but it came out seven years (?) ago. And the SCO vs. IBM mess seems to have tainted AT&T and all things Unix. I searched through the IEEE Annals of Computing History for Unix papers, and there is not a single one, which astounded me completely. At the very least, it would be good to get some of the Unix history papers reprinted in Annals, e.g 1974 CACM, The Evolution of the UNIX TSS. Even better, IMHO, would be a compilation of important Unix papers in a monograph, perhaps as a series of "chapters", each with a short introduction or overview. I think I have floated this idea before. I've got 4 months away from teaching (May to August), so I will have a chance to work on this. However, I have no contacts in the publishing arena, so I don't know who to approach etc. Guys, what are your feelings on this? Peter, would Usenix be interested in publishing such a compilation? If not, what is the procedure to ask for permission to reprint old Usenix papers? Thanks in advance for any comments, suggestions, obstacles etc. Warren Toomey From mairix@mairix Mon Jan 1 12:34:56 1970 X-source-folder: /home/wkt/Mail_archive/2005/03/08 Return-Path: X-Original-To: wkt@tuhs.org Delivered-To: wkt@tuhs.org Received: from plan9.cs.bell-labs.com (plan9.bell-labs.com [204.178.31.2]) by minnie.tuhs.org (Postfix) with ESMTP id BE2CE2EE for ; Wed, 9 Mar 2005 12:35:54 +1000 (EST) Message-ID: To: wkt@tuhs.org, dmr@plan9.bell-labs.com Cc: peter@netpedant.com Subject: Re: Reprinting old Unix papers Date: Tue, 8 Mar 2005 21:15:26 -0500 From: dmr@plan9.bell-labs.com In-Reply-To: <20050308071635.GA25176@minnie.tuhs.org> MIME-Version: 1.0 Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: 7bit X-Spam-Status: No, hits=-4.7 required=5.0 tests=BAYES_01,IN_REP_TO,NO_REAL_NAME version=2.55 X-Spam-Level: X-Spam-Checker-Version: SpamAssassin 2.55 (1.174.2.19-2003-05-19-exp) Status: RO X-Status: A Content-Length: 717 Lines: 20 I've thought for a while about the possibilities of collecting the material, mostly on my home page, into a book. (At one point I even promised my boss I would do it). What other things do you think should be there? Mike Mahoney, historian at Princeton, has transcripts of some old interviews. Some of Rob Pike's papers? I think I mined most of the gold from the BSTJ/BLTJ papers (meaning they are already available without much effort, i.e. scanned where source was missing). As Peter says, I don't think there will be permissions problems with any of this. I dunno about a publisher. I could ask our editor at PH (==AW) if he (really they--Greg Doench and John Wait) to see if they have advice. Dennis From mairix@mairix Mon Jan 1 12:34:56 1970 X-source-folder: /home/wkt/Mail_archive/2005/03/10 Return-Path: X-Original-To: wkt@minnie.tuhs.org Delivered-To: wkt@minnie.tuhs.org Received: by minnie.tuhs.org (Postfix, from userid 1000) id 1107D30A; Thu, 10 Mar 2005 11:47:49 +1000 (EST) Date: Thu, 10 Mar 2005 11:47:48 +1000 From: Warren Toomey To: dmr@plan9.bell-labs.com Cc: peter@netpedant.com, Warren Toomey Subject: Re: Reprinting old Unix papers Message-ID: <20050310014748.GA80007@minnie.tuhs.org> References: <20050308071635.GA25176@minnie.tuhs.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.4.1i X-Spam-Status: No, hits=-9.5 required=5.0 tests=BAYES_01,EMAIL_ATTRIBUTION,IN_REP_TO,QUOTED_EMAIL_TEXT, REFERENCES,REPLY_WITH_QUOTES,USER_AGENT_MUTT autolearn=ham version=2.55 X-Spam-Level: X-Spam-Checker-Version: SpamAssassin 2.55 (1.174.2.19-2003-05-19-exp) Status: RO Content-Length: 1292 Lines: 29 On Tue, Mar 08, 2005 at 09:15:26PM -0500, dmr@plan9.bell-labs.com wrote: > What other things do you think should be there? Mike > Mahoney, historian at Princeton, has transcripts of some > old interviews. Some of Rob Pike's papers? I'd like to cast the net fairly wide to include technical papers, how we got from A to B papers, extracts from Peter's book etc. I'd also like to do Unix where Unix >> UNIX, e.g Kirk's paper in Voices from the Open Source Revolution on the history of BSD. I guess I'm sort of thinking of Peter's QCU, but expanded to have contemporary papers/publications. There were also some good papers in the 1985 Unix Review, and there is also the dissertation by Ronda Hauben. In terms of format, have either of you read "The Mind's I" by Douglas Hofstadter and Daniel Dennett? The format is sections, where each section has an overview/preface, followed either by full papers, or extracts from books etc. > I dunno about a publisher. I could ask our editor at PH (==AW) > if he (really they--Greg Doench and John Wait) to see if > they have advice. Yes please. While I love the web, it can be ephemeral. I'd rather have a book sitting on my shelf which will still be intact in 10 years [unless I've loaned it to someone...] Thanks for the feedback. Warren From mairix@mairix Mon Jan 1 12:34:56 1970 X-source-folder: /home/wkt/Mail_archive/2008/04/29 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.2.1 (2007-05-02) on minnie.tuhs.org X-Spam-Level: X-Spam-Status: No, score=-2.7 required=5.0 tests=AWL,BAYES_00,NO_RELAYS autolearn=ham version=3.2.1 X-Original-To: wkt@minnie.tuhs.org Delivered-To: wkt@minnie.tuhs.org Received: by minnie.tuhs.org (Postfix, from userid 1000) id ECDFB59; Tue, 29 Apr 2008 13:11:51 +1000 (EST) Date: Tue, 29 Apr 2008 13:11:51 +1000 From: Warren Toomey To: dmr@plan9.bell-labs.com Cc: Warren Toomey Subject: Trying to restore 1972 UNIX Message-ID: <20080429031151.GA11648@minnie.tuhs.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.4.2.3i Status: RO Content-Length: 1538 Lines: 34 Hi Dennis, There's a move afoot to take the assembly-code version of the UNIX kernel, available in PDF at http://www.bitsavers.org/pdf/bellLabs/unix/PreliminaryUnixImplementationDocument_Jun72.pdf, convert it into machine-readable form, and from there try to assemble the source, build suitable disk and tape images, and bring the system back up on a PDP-11 emulator. I'm pretty sure that we are going to run into some serious obstacles. Would you be interested in assisting now and then with answers to some questions? Right now we have these files in machine-readable form: 382 l-rwr- 1 512 12488 Apr 30 02:18:16 u0.s 384 l-rwr- 1 512 18316 Apr 30 02:18:16 u2.s 387 l-rwr- 1 512 9439 Apr 30 02:18:16 u5.s 395 l-rwr- 1 512 9826 Apr 30 02:18:16 u6.s 398 l-rwr- 1 512 16292 Apr 30 02:18:16 u7.s 404 l-rwr- 1 512 10780 Apr 30 02:18:16 u9.s 420 s-rwr- 1 512 1421 Apr 30 02:54:01 ux.s Tim Newsham , who is leading the effort, is trying to assemble the files using the 1972 assembler binary from your s2 tape (using my Apout emulator to run it). The problem is that it appears that as already has the symbols for `mount' and `open' defined, so we get multiply-defined symbol errors. The 2nd Ed manual for as says "Names for system calls are predefined". While there are details for booting the system in the 2nd Ed manual, there are no instructions for rebuilding the kernel. Can you shed some light on the process? Many thanks in advance for any memories, suggestions etc. Cheers, Warren From mairix@mairix Mon Jan 1 12:34:56 1970 X-source-folder: /home/wkt/Mail_archive/2008/05/01 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.2.1 (2007-05-02) on minnie.tuhs.org X-Spam-Level: X-Spam-Status: No, score=-2.6 required=5.0 tests=BAYES_00 autolearn=ham version=3.2.1 X-Original-To: wkt@tuhs.org Delivered-To: wkt@tuhs.org Received: from plan9.cs.bell-labs.com (plan9mail.cs.bell-labs.com [204.178.31.2]) by minnie.tuhs.org (Postfix) with ESMTP id 4DD92C8 for ; Thu, 1 May 2008 15:17:06 +1000 (EST) Message-ID: To: wkt@tuhs.org Cc: dmr@plan9.bell-labs.com Subject: Re: Trying to restore 1972 UNIX Date: Thu, 1 May 2008 00:55:35 -0400 From: dmr@plan9.bell-labs.com In-Reply-To: <20080429031151.GA11648@minnie.tuhs.org> MIME-Version: 1.0 Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: 7bit Status: RO X-Status: A Content-Length: 975 Lines: 26 > I'm pretty sure that we are going to run into some serious obstacles. Would > you be interested in assisting now and then with answers to some questions? I can give them a try. About the assembler, I am pretty sure that it's substantially the same as that on the 5th edition tape, so it's likely that a modified version, without the syscall definitions, could be produced. I have dug up another listing of the PDP-11 assembly languge version, which seems to about contemporary with the one you have. The files mostly bear a copyright date of 1972, but like other printouts from the time, the datestamps only give month and day, not year. They are generally from May. It is post 11/45, and has segmentation and floating-point support. Incidentally, it doesn't use any of the system call names as such; 'read' is at sysread: and so on. About assembling it, I'm pretty sure we just did 'as u?.s' and the a.out was ready. This was before make, after all. Dennis From mairix@mairix Mon Jan 1 12:34:56 1970 X-source-folder: /home/wkt/Mail_archive/2008/05/03 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.2.1 (2007-05-02) on minnie.tuhs.org X-Spam-Level: X-Spam-Status: No, score=-2.7 required=5.0 tests=AWL,BAYES_00,NO_RELAYS autolearn=ham version=3.2.1 X-Original-To: wkt@minnie.tuhs.org Delivered-To: wkt@minnie.tuhs.org Received: by minnie.tuhs.org (Postfix, from userid 1000) id CC0A4D2; Sat, 3 May 2008 13:41:14 +1000 (EST) Date: Sat, 3 May 2008 13:41:14 +1000 From: Warren Toomey To: dmr@plan9.bell-labs.com Cc: Warren Toomey Subject: Re: Trying to restore 1971 UNIX Message-ID: <20080503034114.GA38720@minnie.tuhs.org> References: <20080429031151.GA11648@minnie.tuhs.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.4.2.3i Status: RO Content-Length: 1153 Lines: 41 Dennis, just a quick note that the "assembly UNIX" team have been able to cold boot the system to create an RF filesystem, then warm boot to a login prompt, then run usermode commands: PDP-11 simulator V3.7-3 Disabling CR Disabling XQ RF: buffering file in memory TC0: 16b format, buffering file in memory sim> go :login: root root # ls -l total 6 43 sdrwr- 2 bin 620 Jan 1 00:00:00 bin 42 sdrwr- 2 sys 250 Jan 1 00:00:00 dev 44 sdrwr- 2 bin 110 Jan 1 00:00:00 etc 46 sdrwrw 2 sys 30 Jan 1 00:00:00 tmp 45 sdrwr- 2 sys 20 Jan 1 00:00:00 usr # chdir bin # ls -l total 215 48 sxrwr- 1 bin 16 Jan 1 00:00:00 : 49 sxrwr- 1 bin 2310 Jan 1 00:00:00 ar 50 lxrwr- 1 bin 7582 Jan 1 00:00:00 as . . . 104 sxrwr- 1 bin 238 Jan 1 00:00:00 un 105 sxrwr- 1 bin 644 Jan 1 00:00:00 wc 106 sxrwr- 1 bin 560 Jan 1 00:00:00 who 107 sxrwr- 1 bin 524 Jan 1 00:00:00 write # who root tty8 Jan 1 00:00:11 # We have also worked out that this a 1st Edition UNIX system, as it can only deal with 0405 a.out files and not 0407. So it must come from 1971 and 1972. Cheers, Warren From mairix@mairix Mon Jan 1 12:34:56 1970 X-source-folder: /home/wkt/Mail_archive/2008/05/06 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.2.1 (2007-05-02) on minnie.tuhs.org X-Spam-Level: X-Spam-Status: No, score=-2.6 required=5.0 tests=BAYES_00 autolearn=ham version=3.2.1 X-Original-To: wkt@tuhs.org Delivered-To: wkt@tuhs.org Received: from plan9.cs.bell-labs.com (plan9mail.cs.bell-labs.com [204.178.31.2]) by minnie.tuhs.org (Postfix) with ESMTP id 57A7383 for ; Wed, 7 May 2008 12:27:15 +1000 (EST) Message-ID: <147b872ce2c07d0aa2b709f14e571c0c@plan9.bell-labs.com> To: wkt@tuhs.org Subject: Re: 1st Edition UNIX runs again Date: Tue, 6 May 2008 22:27:16 -0400 From: dmr@plan9.bell-labs.com In-Reply-To: <20080506224442.GA73369@minnie.tuhs.org> MIME-Version: 1.0 Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: 7bit Status: RO X-Status: A Content-Length: 170 Lines: 6 Excellent--thanks for the good news. On my side, I definitely have no scans that aren't already available. Listings, possibly--I'll see what I can dig up. Dennis From mairix@mairix Mon Jan 1 12:34:56 1970 X-source-folder: /home/wkt/Mail_archive/2008/05/07 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.2.1 (2007-05-02) on minnie.tuhs.org X-Spam-Level: X-Spam-Status: No, score=-2.7 required=5.0 tests=AWL,BAYES_00,NO_RELAYS autolearn=ham version=3.2.1 X-Original-To: wkt@minnie.tuhs.org Delivered-To: wkt@minnie.tuhs.org Received: by minnie.tuhs.org (Postfix, from userid 1000) id 0E76D6B; Wed, 7 May 2008 08:44:42 +1000 (EST) Date: Wed, 7 May 2008 08:44:42 +1000 From: Warren Toomey To: Dennis Ritchie Cc: Warren Toomey Subject: 1st Edition UNIX runs again Message-ID: <20080506224442.GA73369@minnie.tuhs.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.4.2.3i Status: RO Content-Length: 1261 Lines: 44 Dennis, I sent this last week, and am sending again in case you missed it. Apologies for the duplicate e-mail. Just a quick note that the "assembly UNIX" team have been able to cold boot the system to create an RF filesystem, then warm boot to a login prompt, then run usermode commands: PDP-11 simulator V3.7-3 Disabling CR Disabling XQ RF: buffering file in memory TC0: 16b format, buffering file in memory sim> go :login: root root # ls -l total 6 43 sdrwr- 2 bin 620 Jan 1 00:00:00 bin 42 sdrwr- 2 sys 250 Jan 1 00:00:00 dev 44 sdrwr- 2 bin 110 Jan 1 00:00:00 etc 46 sdrwrw 2 sys 30 Jan 1 00:00:00 tmp 45 sdrwr- 2 sys 20 Jan 1 00:00:00 usr # chdir bin # ls -l total 215 48 sxrwr- 1 bin 16 Jan 1 00:00:00 : 49 sxrwr- 1 bin 2310 Jan 1 00:00:00 ar 50 lxrwr- 1 bin 7582 Jan 1 00:00:00 as . . . 104 sxrwr- 1 bin 238 Jan 1 00:00:00 un 105 sxrwr- 1 bin 644 Jan 1 00:00:00 wc 106 sxrwr- 1 bin 560 Jan 1 00:00:00 who 107 sxrwr- 1 bin 524 Jan 1 00:00:00 write # who root tty8 Jan 1 00:00:11 # We have also worked out that this a 1st Edition UNIX system, as it can only deal with 0405 a.out files and not 0407. So it must come from 1971 and not 1972. Cheers, Warren From mairix@mairix Mon Jan 1 12:34:56 1970 X-source-folder: /home/wkt/Mail_archive/2008/05/07 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.2.1 (2007-05-02) on minnie.tuhs.org X-Spam-Level: X-Spam-Status: No, score=-2.7 required=5.0 tests=AWL,BAYES_00,NO_RELAYS autolearn=ham version=3.2.1 X-Original-To: wkt@minnie.tuhs.org Delivered-To: wkt@minnie.tuhs.org Received: by minnie.tuhs.org (Postfix, from userid 1000) id D24AE6B; Wed, 7 May 2008 13:03:32 +1000 (EST) Date: Wed, 7 May 2008 13:03:32 +1000 From: Warren Toomey To: dmr@plan9.bell-labs.com Cc: Warren Toomey Subject: Re: 1st Edition UNIX runs again Message-ID: <20080507030332.GA80135@minnie.tuhs.org> References: <20080506224442.GA73369@minnie.tuhs.org> <147b872ce2c07d0aa2b709f14e571c0c@plan9.bell-labs.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <147b872ce2c07d0aa2b709f14e571c0c@plan9.bell-labs.com> User-Agent: Mutt/1.4.2.3i Status: RO X-Status: A Content-Length: 1189 Lines: 37 On Tue, May 06, 2008 at 10:27:16PM -0400, dmr@plan9.bell-labs.com wrote: > Excellent--thanks for the good news. > On my side, I definitely have no scans that aren't already > available. Listings, possibly--I'll see what I can dig up. Dennis, anything from this era would be of great use to us, even listings of userland programs. For example, we are searching for fpsym at present. So any paper documents which could be photocopied or scanned in would be great! Other questions: someone floated the idea of getting you or ken to write a short paragraph "preface" which we can add to our top-level Readme. Would you be happy to do that? Also, usernames and uids: /bin/roff is owned by uid 4, but there is no entry for uid 4, just these ones: root::0:/: eroot::0:/:/bin/ed sys::1:/usr/sys: bin::3:/bin: adm::3:/usr/adm: s1::3:/usr/s1: s2::3:/usr/s2: jack::10:/usr/jack: peter::11:/usr/peter: jay::12:/usr/jay: bob::13:/usr/bob: sun::14:/usr/sun: lee::15:/usr/lee: I'm guessing that jfo was 4, ken had uid 6 and dmr had uid 7. Is that reasonable? Are there any others that you can remember which we could add? Also, who are jack, peter, jay, bob, sun and lee? Thanks again, Warren From mairix@mairix Mon Jan 1 12:34:56 1970 X-source-folder: /home/wkt/Mail_archive/2008/05/14 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.2.1 (2007-05-02) on minnie.tuhs.org X-Spam-Level: X-Spam-Status: No, score=-2.6 required=5.0 tests=AWL,BAYES_00,NO_RELAYS autolearn=ham version=3.2.1 X-Original-To: wkt@minnie.tuhs.org Delivered-To: wkt@minnie.tuhs.org Received: by minnie.tuhs.org (Postfix, from userid 1000) id 88FA857; Wed, 14 May 2008 10:23:42 +1000 (EST) Date: Wed, 14 May 2008 10:23:42 +1000 From: Warren Toomey To: dmr@plan9.bell-labs.com Cc: Warren Toomey Subject: Provenance of s1 and s2 tapes Message-ID: <20080514002342.GA50749@minnie.tuhs.org> References: <20080506224442.GA73369@minnie.tuhs.org> <147b872ce2c07d0aa2b709f14e571c0c@plan9.bell-labs.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <147b872ce2c07d0aa2b709f14e571c0c@plan9.bell-labs.com> User-Agent: Mutt/1.4.2.3i Status: RO Content-Length: 3392 Lines: 68 Dennis, sorry to pester you again with questions about early UNIX. If I'm being a bother, please let me know [and I mean that, really]. The team have been doing some archaeological work on the s1- and s2-bits tapes. Are you able to shed some light on the provenance of the two tapes? In particular: - did the 2 tapes come from the same system? - which machine(s) did they come from? - do you know if the 2 tapes were written at roughly the same time or not? Here is what we can see which concerns us: - most of the files on s2 date from Jun 1972 or earlier, only these files are later: suxrwr- 0 232 31 Mon Nov 6 07:42:18 1972 /bin/mkdir suxrwr- 0 3678 34 Sat Dec 30 14:08:39 1972 /bin/tap s-xrwr- 3 718 46 Wed Nov 22 08:51:32 1972 /bin/chown suxrwr- 0 282 53 Thu Sep 28 07:37:12 1972 /bin/rmdir l-xrwr- 4 7154 61 Thu Jul 20 22:42:42 1972 /bin/roff suxrwr- 1 192 92 Wed Nov 22 05:35:16 1972 /bin/df suxrwr- 1 790 119 Sun Nov 26 00:24:14 1972 /bin/tm suxrwr- 1 1084 122 Wed Nov 22 05:35:16 1972 /bin/check s-xrwr- 3 604 150 Wed Nov 22 08:51:32 1972 /bin/sort s-xrwrw 3 214 175 Fri Jul 14 11:21:57 1972 /bin/sum s-xrwr- 1 424 231 Tue Feb 6 00:50:16 1973 /etc/init s--rwr- 1 70 238 Tue Feb 6 00:38:57 1973 /etc/uids s--rw-- 1 221 239 Tue Feb 6 00:35:10 1973 /etc/passwd s-xrwr- 28 3462 491 Sat Jul 1 02:35:35 1972 /usr/fort/fc1 s-xrwr- 28 3238 498 Sat Jul 1 02:35:36 1972 /usr/fort/fc2 l-xrwr- 28 6840 505 Sat Jul 1 02:35:41 1972 /usr/fort/fc3 l-xrwr- 28 4918 519 Sat Jul 1 02:35:43 1972 /usr/fort/fc4 Most of the binaries on s2 are 1e 0405 a.outs, but the date of the passwd file is Feb 1973. It seems strange that the binaries are mostly 0405 when the backup was taken well after 2e and 0407 headers were in use. And there are a few 0407 a.outs on the tape as well. - the /etc/uids and /etc/passwd files do not have ken and dmr, but do contain jack, peter, jay, bob, sun, lee. Can you tell us who these people where? - the binary files on s2, /usr/sys/core and /usr/sys/a.out, appear on the s1 tape. That would seem to indicate that the two tapes were written at about the same time. Here is my hypothesis: both tapes come from the PDP-11/20 system pictured in http://cm.bell-labs.com/cm/cs/who/dmr/picture.html, from around Feb 1973. You would have been working mostly on the 11/45, enhancing UNIX to use the memory management and other facilities on the new platform. The 11/20 would not have been able to use most of the new code, so the binaries on it were left mostly untouched, but a few things on the system were updated like /etc/init and the password files. An alternative hypothesis: the tapes come from another 11/20, used by jack, peter, jay, bob, sun, lee. Again, it contains mostly 1e and 2e files because it could not be updated to 3e which had 11/45 support. Any help with the history of the s1 and s2 tapes would be much appreciated. We are writing a paper for the IEEE Annals of the History of Computing, which still does not have a single UNIX paper in it. Thanks again Dennis, Warren P.S The 2e manual does not mention the 0405 a.out header. Can you remember if 2e supported both 0405 and 0407, but the 0405 support was not documented? It would help to explain why the s2 system had both types in /bin. From mairix@mairix Mon Jan 1 12:34:56 1970 X-source-folder: /home/wkt/Mail_archive/2008/05/15 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.2.1 (2007-05-02) on minnie.tuhs.org X-Spam-Level: X-Spam-Status: No, score=-2.6 required=5.0 tests=BAYES_00 autolearn=ham version=3.2.1 X-Original-To: wkt@tuhs.org Delivered-To: wkt@tuhs.org Received: from plan9.cs.bell-labs.com (outside.cs.bell-labs.com [204.178.31.2]) by minnie.tuhs.org (Postfix) with ESMTP id AD42C40 for ; Thu, 15 May 2008 15:27:00 +1000 (EST) Message-ID: To: wkt@tuhs.org Subject: Re: Provenance of s1 and s2 tapes Date: Thu, 15 May 2008 01:09:47 -0400 From: dmr@plan9.bell-labs.com In-Reply-To: <20080514002342.GA50749@minnie.tuhs.org> MIME-Version: 1.0 Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: 7bit Status: RO X-Status: A Content-Length: 4136 Lines: 87 Some few notes (not many answers). As is probably somewhere in the notes, the tapes were stored under raised floor, and not well marked, finally read years later. > - did the 2 tapes come from the same system? I don't know. We had 3 early machines: the original PDP-11/20, then an 11/20 with the KS-11 special systems memory protection/relocation box for a while while waiting for the 11/45. > - which machine(s) did they come from? > - do you know if the 2 tapes were written at roughly the same time or not? I guess from the dates, "roughly" the same time. > Here is what we can see which concerns us: > > - most of the files on s2 date from Jun 1972 or earlier, only these files > are later: > > suxrwr- 0 232 31 Mon Nov 6 07:42:18 1972 /bin/mkdir > suxrwr- 0 3678 34 Sat Dec 30 14:08:39 1972 /bin/tap > s-xrwr- 3 718 46 Wed Nov 22 08:51:32 1972 /bin/chown > suxrwr- 0 282 53 Thu Sep 28 07:37:12 1972 /bin/rmdir > l-xrwr- 4 7154 61 Thu Jul 20 22:42:42 1972 /bin/roff > suxrwr- 1 192 92 Wed Nov 22 05:35:16 1972 /bin/df > suxrwr- 1 790 119 Sun Nov 26 00:24:14 1972 /bin/tm > suxrwr- 1 1084 122 Wed Nov 22 05:35:16 1972 /bin/check > s-xrwr- 3 604 150 Wed Nov 22 08:51:32 1972 /bin/sort > s-xrwrw 3 214 175 Fri Jul 14 11:21:57 1972 /bin/sum > s-xrwr- 1 424 231 Tue Feb 6 00:50:16 1973 /etc/init > s--rwr- 1 70 238 Tue Feb 6 00:38:57 1973 /etc/uids > s--rw-- 1 221 239 Tue Feb 6 00:35:10 1973 /etc/passwd > s-xrwr- 28 3462 491 Sat Jul 1 02:35:35 1972 /usr/fort/fc1 > s-xrwr- 28 3238 498 Sat Jul 1 02:35:36 1972 /usr/fort/fc2 > l-xrwr- 28 6840 505 Sat Jul 1 02:35:41 1972 /usr/fort/fc3 > l-xrwr- 28 4918 519 Sat Jul 1 02:35:43 1972 /usr/fort/fc4 > > Most of the binaries on s2 are 1e 0405 a.outs, but the date of the passwd > file is Feb 1973. It seems strange that the binaries are mostly 0405 when > the backup was taken well after 2e and 0407 headers were in use. And there > are a few 0407 a.outs on the tape as well. > > - the /etc/uids and /etc/passwd files do not have ken and dmr, but do contain > jack, peter, jay, bob, sun, lee. Can you tell us who these people where? > Those names I don't remember. Around that time we had some Explorer Scouts as guests, and I don't remember any of them (except one, Jon Sieber, who was around for some time afterward, but doesn't seem to figure in the story. > - the binary files on s2, /usr/sys/core and /usr/sys/a.out, appear on the s1 > tape. That would seem to indicate that the two tapes were written at about > the same time. > > Here is my hypothesis: both tapes come from the PDP-11/20 system pictured in > http://cm.bell-labs.com/cm/cs/who/dmr/picture.html, from around Feb 1973. > You would have been working mostly on the 11/45, enhancing UNIX to use the > memory management and other facilities on the new platform. The 11/20 would > not have been able to use most of the new code, so the binaries on it were > left mostly untouched, but a few things on the system were updated like > /etc/init and the password files. > > An alternative hypothesis: the tapes come from another 11/20, used by > jack, peter, jay, bob, sun, lee. Again, it contains mostly 1e and 2e files > because it could not be updated to 3e which had 11/45 support. The thing that seems somewhat mysterious to me is how incomplete they are---not really capable of supporting themselves. In other words, not complete dumps of anything. Of course people tended to dump out their own trees (though the tape would probably be labeled by the person). Of course we might have just grabbed a tape with random stuff on it and added whatever source we were interest in, leaving the existing detritus. The other thing to remember is that the epoch changed more than once by then--so dates could be off by a year. > > Any help with the history of the s1 and s2 tapes would be much appreciated. > We are writing a paper for the IEEE Annals of the History of Computing, which > still does not have a single UNIX paper in it. Good luck! Dennis From mairix@mairix Mon Jan 1 12:34:56 1970 X-source-folder: /home/wkt/Mail_archive/2008/05/15 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.2.1 (2007-05-02) on minnie.tuhs.org X-Spam-Level: X-Spam-Status: No, score=-2.6 required=5.0 tests=AWL,BAYES_00,NO_RELAYS autolearn=ham version=3.2.1 X-Original-To: wkt@minnie.tuhs.org Delivered-To: wkt@minnie.tuhs.org Received: by minnie.tuhs.org (Postfix, from userid 1000) id F364D4C; Thu, 15 May 2008 16:04:25 +1000 (EST) Date: Thu, 15 May 2008 16:04:25 +1000 From: Warren Toomey To: dmr@plan9.bell-labs.com Cc: Warren Toomey Subject: Re: Provenance of s1 and s2 tapes Message-ID: <20080515060425.GA15687@minnie.tuhs.org> References: <20080514002342.GA50749@minnie.tuhs.org> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="y0ulUmNC+osPPQO6" Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.4.2.3i Status: RO Content-Length: 2277 Lines: 53 --y0ulUmNC+osPPQO6 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Thanks for the reply Dennis. This is just a followup, so no reply needed. On Thu, May 15, 2008 at 01:09:47AM -0400, dmr@plan9.bell-labs.com wrote: > The other thing to remember is that the epoch changed > more than once by then--so dates could be off by a year. I'm fairly certain that s2-bits has 1972 as the epoch. In /bin/form we have this snippet of binary (dumped with hexdump): 00000280 14 8a 77 00 8e 01 1f 00 1d 00 1f 00 1e 00 1f 00 |..w.............| 00000290 1e 00 1f 00 1f 00 1e 00 1f 00 1e 00 e7 03 b6 42 |...............B| 000002a0 be 42 c7 42 cd 42 d3 42 d7 42 dc 42 e1 42 e8 42 |.B.B.B.B.B.B.B.B| 000002b0 f2 42 fa 42 03 43 4a 61 6e 75 61 72 79 00 46 65 |.B.B.CJanuary.Fe| 000002c0 62 72 75 61 72 79 00 4d 61 72 63 68 00 41 70 72 |bruary.March.Apr| 000002d0 69 6c 00 4d 61 79 00 4a 75 6e 65 00 4a 75 6c 79 |il.May.June.July| 000002e0 00 41 75 67 75 73 74 00 53 65 70 74 65 6d 62 65 |.August.Septembe| 000002f0 72 00 4f 63 74 6f 62 65 72 00 4e 6f 76 65 6d 62 |r.October.Novemb| 00000300 65 72 00 44 65 63 65 6d 62 65 72 00 00 00 00 00 |er.December.....| Starting at 0x286 we have: 001f, 001d, 001f, 001e .. which corresponds to this assembly code from form1.s: daytab: 31.; 29.; 31.; 30.; 31.; 30.; 31.; 31.; 30.; 31.; 30.; 999. which indicates that the year is a leap year, effectively ruling out 1971 or 1973 for the date of the tape. Finally, another person (Doug Merritt) has spent some time reassembling the fragments of C and assembly source code on the s1-bits tape, and I have been doing the same thing. We independently did the work, comparing with similar source from 5th Edition, and then we cross-compared our work together. The result is a set of source files from the s1-bits tape that cover early UNIX commands from `a' to `l'. I am attaching a tarball of the userland source we have working so far. Thanks again, Warren --y0ulUmNC+osPPQO6 Content-Type: message/external-body; access-type=x-mutt-deleted; expiration="Fri, 1 Jan 2016 15:01:18 +1000"; length=117320 Content-Type: application/x-tar-gz Content-Disposition: attachment; filename="s1-src.tar.gz" Content-Transfer-Encoding: base64 --y0ulUmNC+osPPQO6-- From mairix@mairix Mon Jan 1 12:34:56 1970 X-source-folder: /home/wkt/Mail_archive/2008/05/26 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.2.1 (2007-05-02) on minnie.tuhs.org X-Spam-Level: X-Spam-Status: No, score=-2.6 required=5.0 tests=AWL,BAYES_00,NO_RELAYS autolearn=ham version=3.2.1 X-Original-To: wkt@minnie.tuhs.org Delivered-To: wkt@minnie.tuhs.org Received: by minnie.tuhs.org (Postfix, from userid 1000) id 3E7A784; Mon, 26 May 2008 21:45:06 +1000 (EST) Date: Mon, 26 May 2008 21:45:06 +1000 From: Warren Toomey To: Dennis Ritchie , berktague@mac.com, mcilroy@dartmouth.edu Cc: Warren Toomey Subject: Rudd Canaday sends his regards Message-ID: <20080526114506.GA9052@minnie.tuhs.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.4.2.3i Status: RO Content-Length: 6515 Lines: 179 Guys, Rudd Canaday asked me to pass on his regards to you. Cheers, Warren Toomey ----- Forwarded message from Rudd Canaday ----- From: Rudd Canaday Subject: Re: Information on early UNIX development Date: Fri, 23 May 2008 16:54:26 -0700 To: Warren Toomey Neither Jim DeFelice nor Ted Bashkow worked on PWB, so far as I remember. There really was no "BIS team" that I know of. BISP was a large project (a full office building) consisting of many separate efforts. So far as I know, my department (PWB) was the only one actively working on UNIX in BISP, although there might have been efforts of which I was unaware. Of course, once people started using PWB in BISP, there were lots of UNIX users there. Many people in Bell Labs were aware of UNIX, but outside of research i don't think many were using it. My team did introduce UNIX to BISP. It ended up being widely used throughout Bell Labs. Before that most people thought of UNIX as a research toy. Later I headed a team (not in BISP) which built the first commercial product from Bell Labs using UNIX (a white pages directory printing system that was abandoned after being finished). I have not spoken with Ken, Dennis, Doug (who was my boss when I first joined research) or Berk in years. If you talk with them, please give them my regards. Rudd On May 23, 2008, at 3:41 PM, Warren Toomey wrote: >Rudd, many thanks for your e-mail reply. I am part of a team which >has been >able to restore 1st Edition UNIX from a paper listing, to the point >where the >system boots and runs multiuser. The original scanned documents >that we used >are available here: > >http://www.bitsavers.org/pdf/bellLabs/unix/ >PreliminaryUnixImplementationDocument_ >Jun72.pdf >http://bitsavers.org/pdf/bellLabs/unix/ >Kernel_Subroutine_Descriptions_Mar72.pdf >http://bitsavers.org/pdf/bellLabs/unix/Unix_Users_Talk_Notes_Jan73.pdf > >We are trying to determine the provenance of the above documents, >such as: > - who did the original handwritten kernel analysis (Jim DeFelice?) > - what prompted the analysis in the first place? > - were both Jim and Ted Bashkow working in the BIS project at the >time? > - did you introduce UNIX to the BIS project, or was it something that > people were generally aware of? > >If you have any recollections that may shed some light on the above >documents, >or if you have any contacts which might lead to the principals >involved, >we would very much appreciate your help. We have made contact >already with >Joe Maranzano, and through him we have an e-mail address for Berk >Tague. We >are also trying to contact Doug McIlroy, and I have existing >contact with >Dennis Ritchie. > >Many thanks for any help that you might be able to provide. > > Warren Toomey > >P.S The 1st Edition UNIX restoration project has this website: >http://code.google.com/p/unix-jun72/ Right now, it's mainly our >Subversion >repository, but the repository contains the tools to build the >kernel and >filesystem images. Then, with a PDP-11/20 simulator, you can do this: > >:login: root >root ># ls -l >total 6 > 43 sdrwr- 2 root 620 Jan 1 00:00:00 bin > 42 sdrwr- 2 root 250 Jan 1 00:00:00 dev >104 sdrwr- 2 root 110 Jan 1 00:00:00 etc >114 sdrwr- 2 root 50 Jan 1 00:00:00 tmp > 41 sdrwr- 9 root 100 Jan 1 00:00:00 usr ># ls -l /bin >total 225 > 45 sxrwr- 1 bin 16 Jan 1 00:00:00 : > 46 sxrwr- 1 bin 2310 Jan 1 00:00:00 ar > 47 lxrwr- 1 bin 7582 Jan 1 00:00:00 as > 48 lxrwr- 1 bin 5922 Jan 1 00:00:00 bas > 49 sxrwr- 1 ken 2860 Jan 1 00:00:00 cal > 50 sxrwr- 1 bin 134 Jan 1 00:00:00 cat > 51 lxrwr- 1 bin 4672 Jan 1 00:00:00 cc > 44 sxrwr- 1 bin 76 Jan 1 00:00:00 chball > 52 surwr- 1 sys 1084 Jan 1 00:00:00 check > 53 sxrwr- 1 bin 82 Jan 1 00:00:00 chmod > 54 sxrwr- 1 bin 718 Jan 1 00:00:00 chown > 55 sxrwr- 1 bin 420 Jan 1 00:00:00 cmp > 56 sxrwr- 1 bin 160 Jan 1 00:00:00 cp > 57 surwr- 1 root 794 Jan 1 00:00:00 date > 58 sxrwr- 1 bin 4066 Jan 1 00:00:00 db > 59 lxrwr- 1 bin 6846 Jan 1 00:00:00 dc > 60 surwr- 1 sys 192 Jan 1 00:00:00 df > 61 surwr- 1 sys 872 Jan 1 00:00:00 ds > 62 sxrwr- 1 bin 244 Jan 1 00:00:00 dsw > 63 sxrwr- 1 bin 464 Jan 1 00:00:00 du > 64 sxrwr- 1 bin 1054 Jan 1 00:00:00 echo > 65 sxrwr- 1 bin 3998 Jan 1 00:00:00 ed > 66 sxrwr- 1 bin 276 Jan 1 00:00:00 exit > 67 sxrwr- 1 jack 2730 Jan 1 00:00:00 fc > 68 sxrwr- 1 bin 330 Jan 1 00:00:00 find > 69 sxrwr- 1 bin 1912 Jan 1 00:00:00 form > 70 sxrwr- 1 bin 1154 Jan 1 00:00:00 goto > 71 sxrwr- 1 bin 1844 Jan 1 00:00:00 if > 72 sxrwr- 1 bin 2942 Jan 1 00:00:00 ld > 73 sxrwr- 1 bin 104 Jan 1 00:00:00 ln > 74 surwr- 1 root 1290 Jan 1 00:00:00 login > 75 sxrwr- 1 bin 2010 Jan 1 00:00:00 ls > 76 surwr- 1 root 3940 Jan 1 00:00:00 mail > 77 sxrwr- 1 root 698 Jan 1 00:00:00 maki > 78 sxrwr- 1 bin 154 Jan 1 00:00:00 mesg > 79 surwr- 1 root 232 Jan 1 00:00:00 mkdir > 80 surwr- 1 root 784 Jan 1 00:00:00 mv > 81 sxrwr- 1 bin 518 Jan 1 00:00:00 nm > 82 sxrwr- 1 bin 300 Jan 1 00:00:00 od > 83 sxrwr- 1 bin 1166 Jan 1 00:00:00 pr > 84 sxrwr- 1 bin 70 Jan 1 00:00:00 rew > 85 sxrwr- 1 bin 93 Jan 1 00:00:00 rm > 86 surwr- 1 root 282 Jan 1 00:00:00 rmdir > 87 lxrwr- 1 jfo 7154 Jan 1 00:00:00 roff > 88 lxrwr- 1 sys 5312 Jan 1 00:00:00 sh > 89 sxrwr- 1 bin 1446 Jan 1 00:00:00 size > 90 sxrwr- 1 bin 750 Jan 1 00:00:00 skip > 91 sxrwr- 1 bin 604 Jan 1 00:00:00 sort > 92 sxrwr- 1 bin 1026 Jan 1 00:00:00 stat > 93 sxrwr- 1 bin 480 Jan 1 00:00:00 strip > 94 sxrwr- 1 bin 1048 Jan 1 00:00:00 stty > 95 surwr- 1 root 746 Jan 1 00:00:00 su > 96 sxrwr- 1 bin 214 Jan 1 00:00:00 sum > 97 surwr- 1 root 3678 Jan 1 00:00:00 tap > 98 surwr- 1 sys 790 Jan 1 00:00:00 tm > 99 sxrwr- 1 bin 80 Jan 1 00:00:00 tty >100 sxrwr- 1 bin 238 Jan 1 00:00:00 un >101 sxrwr- 1 bin 644 Jan 1 00:00:00 wc >102 sxrwr- 1 bin 560 Jan 1 00:00:00 who >103 sxrwr- 1 bin 524 Jan 1 00:00:00 write ># check >RF: > 118 files > 7 large > 7 indirect > 277 used > 729 free > 0 missing > >RK: > 211 files > 51 large > 51 indirect >1403 used >3383 free > 0 missing > ----- End forwarded message ----- From mairix@mairix Mon Jan 1 12:34:56 1970 X-source-folder: /home/wkt/Mail_archive/2008/08/26 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.2.1 (2007-05-02) on minnie.tuhs.org X-Spam-Level: X-Spam-Status: No, score=-1.7 required=5.0 tests=AWL,BAYES_00,MISSING_SUBJECT autolearn=no version=3.2.1 X-Original-To: wkt@tuhs.org Delivered-To: wkt@tuhs.org Received: from plan9.cs.bell-labs.com (outside.cs.bell-labs.com [204.178.31.2]) by minnie.tuhs.org (Postfix) with ESMTP id EC91B5F for ; Wed, 27 Aug 2008 11:17:27 +1000 (EST) Message-ID: Date: Tue, 26 Aug 2008 21:17:25 -0400 From: dmr@plan9.bell-labs.com To: wkt@tuhs.org MIME-Version: 1.0 Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: 7bit Status: RO X-Status: A Content-Length: 1083 Lines: 27 Looks pretty good. At the (early) time we got Multics, process creation was indeed quite expensive (I think several minutes) probably because of the dynamic linking--every reference to something in another segment took a while. This all continuously improved, and it was much cheaper later. Still, the earliest version of the shell, which had planned to start a new process for each command, was redone to work all within a single process and to use a single stack. Incidentally, I had no exposure to Genie (Ken did, at Berkeley, likewise QED, another import). Also incidentally, even PDP-7 Unix, once it got processes at all, supported an arbitrary number. Because there were two terminals, two was the number that were created at boot-up. Your example of I/O redirection in early Multics is correct, but the real lesson has to do with notation-- > and < would have been possible if someone had thought to put it in the shell. Of course the whole thing got easier once the process-per-command thing went in, because there was no need to unwind the redirection. Dennis From mairix@mairix Mon Jan 1 12:34:56 1970 X-source-folder: /home/wkt/Mail_archive/2008/08/27 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.2.1 (2007-05-02) on minnie.tuhs.org X-Spam-Level: X-Spam-Status: No, score=-2.6 required=5.0 tests=AWL,BAYES_00,NO_RELAYS autolearn=ham version=3.2.1 X-Original-To: wkt@minnie.tuhs.org Delivered-To: wkt@minnie.tuhs.org Received: by minnie.tuhs.org (Postfix, from userid 1000) id 6A9035E; Wed, 27 Aug 2008 08:44:16 +1000 (EST) Date: Wed, 27 Aug 2008 08:44:16 +1000 From: Warren Toomey To: dmr@plan9.bell-labs.com Cc: Warren Toomey Subject: 1st Edition UNIX paper Message-ID: <20080826224416.GA2508@minnie.tuhs.org> References: <20080506224442.GA73369@minnie.tuhs.org> <147b872ce2c07d0aa2b709f14e571c0c@plan9.bell-labs.com> <20080507030332.GA80135@minnie.tuhs.org> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="nFreZHaLTZJo0R7j" Content-Disposition: inline In-Reply-To: <20080507030332.GA80135@minnie.tuhs.org> User-Agent: Mutt/1.4.2.3i Status: RO Content-Length: 2007 Lines: 46 --nFreZHaLTZJo0R7j Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Hi Dennis. Back when we were doing the 1e restoration, I might have mentioned that I planned to write up a paper for the IEEE Annals of Computing History. After languishing on the back burner now for 6 weeks, it is mostly done. I would very much appreciate it if you could quickly read through the paper and spot any glaring errors or omissions, but if you are busy (which I expect is the case), that's fine as well. There is one small part I still need to fill in. I know that Project Genie was also an influence on the early system (apart from Multics). I am sure I read some notes which indicated that the cost of spawning a new process on Multics was expensive, and so processes under Multics were usually long-lived. However, Project Genie demonstrated that the cost of process creation did not need to be so expensive, and so you adapted the Project Genie process model for the early Unix system. However, I cannot find the reference/citation for this information. Does it ring any bells to you? Perhaps it was in one of the oral interviews that Mahoney did. Apart from Multics and Project Genie, were there any other systems which influenced the early design of Unix? Although the 1e restoration is now complete, I am still amazed that it was even possible to restore the system from a paper listing; the same is true for the Nsys kernel and the two early C compilers. They demonstrate that restoration of such artifacts is possible, but also highlight the fragility of software older than a couple of decades. Many thanks again for all the assistance you have given me over the years. Cheers, Warren --nFreZHaLTZJo0R7j Content-Type: message/external-body; access-type=x-mutt-deleted; expiration="Fri, 1 Jan 2016 11:05:04 +1000"; length=140980 Content-Type: application/pdf Content-Disposition: attachment; filename="unix_restoration.pdf" Content-Transfer-Encoding: base64 --nFreZHaLTZJo0R7j-- From mairix@mairix Mon Jan 1 12:34:56 1970 X-source-folder: /home/wkt/Mail_archive/2008/12/13 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.2.1 (2007-05-02) on minnie.tuhs.org X-Spam-Level: X-Spam-Status: No, score=-2.6 required=5.0 tests=AWL,BAYES_00,NO_RELAYS autolearn=ham version=3.2.1 X-Original-To: wkt@minnie.tuhs.org Delivered-To: wkt@minnie.tuhs.org Received: by minnie.tuhs.org (Postfix, from userid 1000) id F3EEC74; Sat, 13 Dec 2008 10:48:26 +1000 (EST) Date: Sat, 13 Dec 2008 10:48:26 +1000 From: Warren Toomey To: dmr@plan9.bell-labs.com Cc: Warren Toomey Subject: A Paper for Usenix '09 Message-ID: <20081213004826.GA18334@minnie.tuhs.org> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="k1lZvvs/B4yU6o8G" Content-Disposition: inline User-Agent: Mutt/1.4.2.3i Status: RO X-Status: A Content-Length: 1556 Lines: 41 --k1lZvvs/B4yU6o8G Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Hi Dennis, merry Christmas to you and your family! I wanted to let you know that my paper on the restoration of 1st Edition UNIX has been accepted by the IEEE Annals of Computing History, with some minor changes. I have also been busy writing a paper also on UNIX software restoration for the main Usenix 2009 conference. The paper is due Jan 9, and as I mention your help several times in the paper, I thought I should send you a draft for consideration and vetting. In particular, I wanted to let the reader know that you passed on several DECtape images to me over a period of time, and not in one big hit. Here is how I describe it: Although Dennis Ritchie was in possession of the recovered DECtape images, these were divulged to the TUHS slowly over a period of about two years, primarily due to legal issues surrounding the release of the material. I'm very happy to change this in any way that you think is suitable, because in the text I'm really just guessing :-) Anyway, please give the paper a quick read if you get a chance, and let me know of any content you feel could be altered or reworded. Many thanks for all your help! Cheers, Warren --k1lZvvs/B4yU6o8G Content-Type: message/external-body; access-type=x-mutt-deleted; expiration="Fri, 1 Jan 2016 15:01:18 +1000"; length=130610 Content-Type: application/pdf Content-Disposition: attachment; filename="usenix_09.pdf" Content-Transfer-Encoding: base64 --k1lZvvs/B4yU6o8G-- From mairix@mairix Mon Jan 1 12:34:56 1970 X-source-folder: /home/wkt/Mail_archive/2008/12/16 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.2.1 (2007-05-02) on minnie.tuhs.org X-Spam-Level: X-Spam-Status: No, score=-2.4 required=5.0 tests=AWL,BAYES_00 autolearn=ham version=3.2.1 X-Original-To: wkt@tuhs.org Delivered-To: wkt@tuhs.org Received: from plan9.cs.bell-labs.com (plan9mail.cs.bell-labs.com [204.178.31.2]) by minnie.tuhs.org (Postfix) with ESMTP id C95F22B for ; Wed, 17 Dec 2008 14:27:42 +1000 (EST) Message-ID: <4a8c3cc67e5c5a0e3467ebcec9497086@plan9.bell-labs.com> To: wkt@tuhs.org Subject: Re: your mail Date: Tue, 16 Dec 2008 23:27:44 -0500 From: dmr@plan9.bell-labs.com In-Reply-To: <20081217040002.GC38346@minnie.tuhs.org> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="upas-jiprgccylyhoazunrumqvzehrt" Status: RO X-Status: A Content-Length: 2483 Lines: 68 This is a multi-part message in MIME format. --upas-jiprgccylyhoazunrumqvzehrt Content-Disposition: inline Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: 7bit I don't think we were really disappointed in process create times and definitely didn't regret using the model. Obviously speedups were appreciated. Congrats on the acceptance of the first. About the other stuff--Legal issues weren't really involved, I just did it (though I guess I sort of dribbled it out). Since it was all done in the research area I felt comfortable with this. Stuff I do have still that I'm hesitant about are things like 8th edition and subsequent, which have a lot of Sys 5 stuff interlarded--parts were done elsewhere at the Labs and might still be sensitive to SCO, though their tent seems mostly folded. Best to you! Dennis I haven't gotten to your paper yet --upas-jiprgccylyhoazunrumqvzehrt Content-Type: message/rfc822 Content-Disposition: inline Received: from minnie.tuhs.org ([131.244.9.101]) by plan9; Tue Dec 16 23:00:30 EST 2008 Received: by minnie.tuhs.org (Postfix, from userid 1000) id 7E7AF7B; Wed, 17 Dec 2008 14:00:02 +1000 (EST) Date: Wed, 17 Dec 2008 14:00:02 +1000 From: Warren Toomey To: dmr@plan9.bell-labs.com Subject: Re: your mail Message-ID: <20081217040002.GC38346@minnie.tuhs.org> References: Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.4.2.3i On Tue, Aug 26, 2008 at 09:17:25PM -0400, dmr@plan9.bell-labs.com wrote: > [ notes on process creation ] > At the (early) time we got Multics, process creation > was indeed quite expensive (I think several minutes) > probably because of the dynamic linking--every reference > to something in another segment took a while. This > all continuously improved, and it was much cheaper later. Hi Dennis, just thought I would wish you and family a very merry and safe Christmas. The above note reminds me that I saw in a paper by somebody (from the Labs?) where they say that you convinced them that process creation was going to be cheap, and it wasn't until they measured that it was found not to be as cheap as expected. The tone was tongue in cheek; I wish I could remember more details. Anyway, fading memory bits as they say. Cheers, Warren --upas-jiprgccylyhoazunrumqvzehrt-- From mairix@mairix Mon Jan 1 12:34:56 1970 X-source-folder: /home/wkt/Mail_archive/2009/03/27 Return-Path: X-Original-To: wkt@minnie.tuhs.org Delivered-To: wkt@minnie.tuhs.org Received: by minnie.tuhs.org (Postfix, from userid 1000) id 0F9874E; Fri, 27 Mar 2009 10:00:08 +1000 (EST) Date: Fri, 27 Mar 2009 10:00:08 +1000 From: Warren Toomey To: dmr@plan9.bell-labs.com Cc: Warren Toomey Subject: Re: A Paper for Usenix '09 Message-ID: <20090327000008.GA70984@minnie.tuhs.org> References: <20081213004826.GA18334@minnie.tuhs.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20081213004826.GA18334@minnie.tuhs.org> User-Agent: Mutt/1.4.2.3i Status: RO Content-Length: 1542 Lines: 34 On Sat, Dec 13, 2008 at 10:48:26AM +1000, Warren Toomey wrote: > Hi Dennis, merry Christmas to you and your family! I wanted to let you know > that my paper on the restoration of 1st Edition UNIX has been accepted by > the IEEE Annals of Computing History, with some minor changes. Dennis, I am still working on the changes (work and other things have impeded me so far). I have a question about 1st Edition UNIX, if you have the time. During the restoration of the assembly kernel, we took out some code which converted uppercase letters to lowercase. I assume this was needed to deal with the uppercase-only ASR-33s that you had. Question: if all uppercase was converted to lowercase, how did the patent typists enter uppercase into roff? > I have also been busy writing a paper also on UNIX software restoration for > the main Usenix 2009 conference. The paper is due Jan 9, and as I mention your > help several times in the paper, I thought I should send you a draft for > consideration and vetting. The paper was accepted as a short paper, so I had to trim things here and there. In particular, the para I was concerned about: > Although Dennis Ritchie was in possession of the recovered DECtape images, > these were divulged to the TUHS slowly over a period of about two years, > primarily due to legal issues surrounding the release of the material. was removed. Will you be coming to the Usenix 2009 conference in June? If so, I look forward to finally meeting up with you! Thanks again for all your help, Warren From mairix@mairix Mon Jan 1 12:34:56 1970 X-source-folder: /home/wkt/Mail_archive/2009/08/14 Date: Fri, 14 Aug 2009 10:55:39 +1000 From: Warren Toomey To: Dennis Ritchie Cc: Warren Toomey Subject: PDP-7 UNIX listings Message-ID: <20090814005539.GB30346@minnie.tuhs.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.5.18 (2008-05-17) Status: RO Content-Length: 1824 Lines: 37 Hi Dennis, how's things? I hope you are recovered from your injury, including getting back to your normal level of endurance. Usenix winter conference went well, there was a sharp drop in numbers, but as it was my first Usenix conference I still enjoyed it, and the old Unix restoration paper was much appreciated. I had the following e-mail from Ian King, who is a PDP-7 afficionado. He asked me to forward the request on to you: if possible could he/we get copies of the remaining PDP-7 listing fragments? I explained that a full PDP-7 UNIX does not exist, but he would still be very happy to have the extant listing displayed next to the PDP-7. Many thanks in advance for any help! Cheers, Warren ----- Forwarded message from Ian King ----- From: Ian King To: "'wkt@tuhs.org'" Subject: The original UNIX? Warren, Hello! I hope this email finds you well. One of my colleagues, Rich Alderson, has been attempting to contact Dennis Ritchie about the status of the original assembly language version of UNIX, without success. As you may know, we are restoring the PDP-7 that used to belong to the University of Oregon's high energy physics lab (serial number 113). We would love to be able to run that original code. It's our understanding it is not available electronically, but we would not be daunted by the task of reconstructing it from printed listings. When Rich told me he has not heard from Dr. Ritchie, your name came to my mind as someone who would be 'in the know'. :) We would be very grateful for whatever help or guidance you can provide. Thanks - Ian UNIX is user friendly. It's just selective about who its friends are. Ian S. King, Sr. Vintage Systems Engineer Vulcan, Inc. http://www.pdpplanet.com ----- End forwarded message ----- From mairix@mairix Mon Jan 1 12:34:56 1970 X-source-folder: /home/wkt/Mail_archive/2009/08/15 Return-Path: X-Original-To: wkt@tuhs.org Delivered-To: wkt@tuhs.org Received: by minnie.tuhs.org (Postfix, from userid 5001) id 87EE528E6E; Sun, 16 Aug 2009 13:20:01 +1000 (EST) X-Spam-Checker-Version: SpamAssassin 3.2.5 (2008-06-10) on minnie.tuhs.org X-Spam-Level: X-Spam-Status: No, score=-2.6 required=2.0 tests=BAYES_00 autolearn=ham version=3.2.5 X-Greylist: delayed 350 seconds by postgrey-1.32 at minnie; Sun, 16 Aug 2009 13:19:53 EST Received: from plan9.cs.bell-labs.com (mince.cs.bell-labs.com [204.178.31.2]) by minnie.tuhs.org (Postfix) with ESMTP id ED31828E68 for ; Sun, 16 Aug 2009 13:19:52 +1000 (EST) Message-ID: <1156d3401791f56214e06ac733cd91d8@plan9.bell-labs.com> To: wkt@tuhs.org Subject: Re: PDP-7 UNIX listings Date: Sat, 15 Aug 2009 23:13:59 -0400 From: dmr@plan9.bell-labs.com In-Reply-To: <20090814005539.GB30346@minnie.tuhs.org> MIME-Version: 1.0 Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: 7bit Status: RO X-Status: A Content-Length: 360 Lines: 11 Well, I'm not completely back, but getting around. I saw the slides, also the video. It did indeed seem to go well, congratulations. I will keep an eye out for PDP-7 stuff. While I was away the house was completely redone, which it needed, but it's as if I moved, which I rather was, just in the same rooms. But I'm still unpacking! Regards, Dennis From mairix@mairix Mon Jan 1 12:34:56 1970 X-source-folder: /home/wkt/Mail_archive/2009/08/16 Return-Path: X-Original-To: wkt@tuhs.org Delivered-To: wkt@tuhs.org Received: by minnie.tuhs.org (Postfix, from userid 5001) id 71F5328E6E; Sun, 16 Aug 2009 14:09:41 +1000 (EST) X-Spam-Checker-Version: SpamAssassin 3.2.5 (2008-06-10) on minnie.tuhs.org X-Spam-Level: X-Spam-Status: No, score=-2.3 required=2.0 tests=AWL,BAYES_00 autolearn=ham version=3.2.5 Received: from smtps.tip.net.au (chilli.pcug.org.au [203.10.76.44]) by minnie.tuhs.org (Postfix) with ESMTP id 62BA728E68 for ; Sun, 16 Aug 2009 14:09:31 +1000 (EST) Received: from [192.168.0.2] (ppp59-167-52-69.lns1.cbr1.internode.on.net [59.167.52.69]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by smtps.tip.net.au (Postfix) with ESMTPSA id 6AC8136805E; Sun, 16 Aug 2009 14:09:30 +1000 (EST) Message-ID: <4A87866A.5070301@canb.auug.org.au> Date: Sun, 16 Aug 2009 14:09:14 +1000 From: steve jenkin User-Agent: Mozilla/5.0 (Macintosh; U; PPC Mac OS X Mach-O; en-US; rv:1.8.1.6) Gecko/20070728 Thunderbird/2.0.0.6 Mnenhy/0.7.5.666 MIME-Version: 1.0 To: Warren Toomey Subject: [Fwd: Re: In case you hadn't seen this. Warren Toomey @ USENIX 09 on reconstructing] X-Enigmail-Version: 0.95.5 OpenPGP: id=4B48B6EB X-Face: d|JC<&EPX<&;fJ`a:&UVsQ#Kw5!$ hzrhHjBRVa4Y|tZC2!er]."EW#S)oTq9]usw-@K)G3:K?CR-*1FOJg|`I^/]X`b>m)f]^UY9?6X&5e Pr`OS|>j^)kd\eKu Content-Type: multipart/mixed; boundary="------------070403090104060807080800" Status: RO Content-Length: 3050 Lines: 93 This is a multi-part message in MIME format. --------------070403090104060807080800 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Warren, My Compliments... s -------- Original Message -------- To: sjenkin@canb.auug.org.au Subject: Re: In case you hadn't seen this. Warren Toomey @ USENIX 09 on reconstructing Date: Sat, 15 Aug 2009 23:09:51 -0400 From: dmr@plan9.bell-labs.com In-Reply-To: <4A865831.6060505@canb.auug.org.au> I saw the slides and also listened to the video! Nice job. Dennis -- Steve Jenkin, Info Tech, Systems and Design Specialist. 0412 786 915 (+61 412 786 915) PO Box 48, Kippax ACT 2615, AUSTRALIA sjenkin@canb.auug.org.au http://members.tip.net.au/~sjenkin --------------070403090104060807080800 Content-Type: message/rfc822; name="Attached Message" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="Attached Message" X-Account-Key: account2 X-Mozilla-Keys: Return-Path: X-Original-To: sjenkin@canb.auug.org.au Delivered-To: sjenkin@canb.auug.org.au Received: from smtps.tip.net.au (chilli.pcug.org.au [203.10.76.44]) by members.tip.net.au (Postfix) with ESMTP id C7D6D140009 for ; Sat, 15 Aug 2009 16:39:59 +1000 (EST) Received: from [192.168.0.2] (ppp59-167-52-69.lns1.cbr1.internode.on.net [59.167.52.69]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by smtps.tip.net.au (Postfix) with ESMTPSA id E51F71450AF; Sat, 15 Aug 2009 16:39:58 +1000 (EST) Message-ID: <4A865831.6060505@canb.auug.org.au> Date: Sat, 15 Aug 2009 16:39:45 +1000 From: steve jenkin User-Agent: Mozilla/5.0 (Macintosh; U; PPC Mac OS X Mach-O; en-US; rv:1.8.1.6) Gecko/20070728 Thunderbird/2.0.0.6 Mnenhy/0.7.5.666 MIME-Version: 1.0 To: Ken Thompson , "Ritchie, Dennis M (Dennis)** CTR **" Subject: In case you hadn't seen this. Warren Toomey @ USENIX 09 on reconstructing 1st Ed Unix (1971) X-Enigmail-Version: 0.95.5 OpenPGP: id=4B48B6EB X-Face: d|JC<&EPX<&;fJ`a:&UVsQ#Kw5!$ hzrhHjBRVa4Y|tZC2!er]."EW#S)oTq9]usw-@K)G3:K?CR-*1FOJg|`I^/]X`b>m)f]^UY9?6X&5e Pr`OS|>j^)kd\eKu Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit In case either of you hadn't seen this paper by the redoubtable Warren. He and Lynne are lovely people and have a big house with a guest *wing*. If you ever need to visit South-East Queensland, I can put you in touch. regards steve jenkin -- Steve Jenkin, Info Tech, Systems and Design Specialist. 0412 786 915 (+61 412 786 915) PO Box 48, Kippax ACT 2615, AUSTRALIA sjenkin@canb.auug.org.au http://members.tip.net.au/~sjenkin --------------070403090104060807080800-- From mairix@mairix Mon Jan 1 12:34:56 1970 X-source-folder: /home/wkt/Mail_archive/2009/10/20 Return-Path: X-Original-To: wkt@tuhs.org Delivered-To: wkt@tuhs.org Received: by minnie.tuhs.org (Postfix, from userid 5001) id 4B49928E1D; Wed, 21 Oct 2009 11:12:40 +1000 (EST) X-Spam-Checker-Version: SpamAssassin 3.2.5 (2008-06-10) on minnie.tuhs.org X-Spam-Level: X-Spam-Status: No, score=-2.6 required=2.0 tests=BAYES_00 autolearn=ham version=3.2.5 X-Greylist: delayed 305 seconds by postgrey-1.32 at minnie; Wed, 21 Oct 2009 11:12:32 EST Received: from plan9.cs.bell-labs.com (mince.cs.bell-labs.com [204.178.31.2]) by minnie.tuhs.org (Postfix) with ESMTP id CF71428E17 for ; Wed, 21 Oct 2009 11:12:32 +1000 (EST) Message-ID: To: wkt@tuhs.org Subject: Re: PDP-7 UNIX listings Date: Tue, 20 Oct 2009 21:07:21 -0400 From: dmr@plan9.bell-labs.com In-Reply-To: <20091020060319.GI13282@minnie.tuhs.org> MIME-Version: 1.0 Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: 7bit Status: RO X-Status: A Content-Length: 775 Lines: 18 I looked at the first AAUG things-- they are interesting. I've just had some correspondence with one of the lexicographers from OED who was interested particularly in when "root" was first used as an actual user name as opposed as the name of the root directory. Turns out to be hard to document. (Best we've been able to find is in the v5 password file that I have and is in the TUHS archive) but he'd prefer a published reference. There is one in paper by Stonebraker from I think 1975. In other news, I have found the book that has the listings that I knew I had, that of (some) of the user-level commands. I wonder what's the best way to get it scanned? I sent mail to Lorinda telling her that you're a good guy. I'm not sure what she has, but we'll see. Dennis From mairix@mairix Mon Jan 1 12:34:56 1970 X-source-folder: /home/wkt/Mail_archive/2009/10/20 Date: Tue, 20 Oct 2009 16:03:19 +1000 From: Warren Toomey To: dmr@plan9.bell-labs.com Cc: Warren Toomey Subject: Re: PDP-7 UNIX listings Message-ID: <20091020060319.GI13282@minnie.tuhs.org> References: <20090814005539.GB30346@minnie.tuhs.org> <1156d3401791f56214e06ac733cd91d8@plan9.bell-labs.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1156d3401791f56214e06ac733cd91d8@plan9.bell-labs.com> User-Agent: Mutt/1.5.18 (2008-05-17) Status: RO Content-Length: 914 Lines: 21 On Sat, Aug 15, 2009 at 11:13:59PM -0400, dmr@plan9.bell-labs.com wrote: > I will keep an eye out for PDP-7 stuff. While I was away > the house was completely redone, which it needed, but > it's as if I moved, which I rather was, just in the same rooms. > But I'm still unpacking! Hope the unpacking went well. I've been busy scanning in old AUUG newsletters at this end, and I hope to get all the issues scanned in by year's end: http://minnie.tuhs.org/AUUGN/ Feel free to snag a copy, or I can post you a CD if you want. P.S At USENIX, Bill Cheswick & Andrew Hume told me that Lorinda Cherry had a pile of UNIX memorabilia in her office. I got Lorinda's e-mail from Andrew, but after contacting her I haven't received a reply. I'm worried that I might have rubbed her the wrong way. Not sure if you can recommend me to her, or at least summarise the history work I've done in the past. Cheers, Warren From mairix@mairix Mon Jan 1 12:34:56 1970 X-source-folder: /home/wkt/Mail_archive/2009/10/21 Return-Path: X-Original-To: wkt@minnie.tuhs.org Delivered-To: wkt@minnie.tuhs.org Received: by minnie.tuhs.org (Postfix, from userid 1000) id 1407828E1B; Wed, 21 Oct 2009 11:21:37 +1000 (EST) Date: Wed, 21 Oct 2009 11:21:37 +1000 From: Warren Toomey To: dmr@plan9.bell-labs.com Cc: Warren Toomey Subject: Re: PDP-7 UNIX listings Message-ID: <20091021012137.GA6941@minnie.tuhs.org> References: <20091020060319.GI13282@minnie.tuhs.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.18 (2008-05-17) Status: RO X-Status: A Content-Length: 1444 Lines: 47 On Tue, Oct 20, 2009 at 09:07:21PM -0400, dmr@plan9.bell-labs.com wrote: > I looked at the first AAUG things-- they are interesting. > I've just had some correspondence with one of the > lexicographers from OED who was interested particularly > in when "root" was first used as an actual user name > as opposed as the name of the root directory. Turns > out to be hard to document. (Best we've been able to > find is in the v5 password file that I have and is in the > TUHS archive) but he'd prefer a published reference. > There is one in paper by Stonebraker from I think 1975. On your s2-bits DECtape, /etc/passwd contains: root::0:/: eroot::0:/:/bin/ed sys::1:/usr/sys: bin::3:/bin: adm::3:/usr/adm: s1::3:/usr/s1: s2::3:/usr/s2: jack::10:/usr/jack: peter::11:/usr/peter: jay::12:/usr/jay: bob::13:/usr/bob: sun::14:/usr/sun: lee::15:/usr/lee: and the timestamp is -rw-- 1 221 239 Feb 6 14:35 /etc/passwd 2081934621 but see http://minnie.tuhs.org/Archive/PDP-11/Distributions/research/1972_stuff/Readme for discussion on the epoch. > In other news, I have found the book that has the listings > that I knew I had, that of (some) of the user-level commands. > I wonder what's the best way to get it scanned? If you can photocopy individual pages, I can scan them in and OCR them. > I sent mail to Lorinda telling her that you're a good guy. > I'm not sure what she has, but we'll see. Thanks Dennis! Warren From mairix@mairix Mon Jan 1 12:34:56 1970 X-source-folder: /home/wkt/Mail_archive/2011/01/26 Return-Path: X-Original-To: wkt@tuhs.org Delivered-To: wkt@tuhs.org Received: by minnie.tuhs.org (Postfix, from userid 5001) id 0028D28E4F; Thu, 27 Jan 2011 09:44:44 +1000 (EST) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on minnie.tuhs.org X-Spam-Level: X-Spam-Status: No, score=0.8 required=5.0 tests=BAYES_50 autolearn=ham version=3.3.1 X-Greylist: delayed 358 seconds by postgrey-1.32 at minnie.tuhs.org; Thu, 27 Jan 2011 09:44:42 EST Received: from plan9.cs.bell-labs.com (mince.cs.bell-labs.com [204.178.31.2]) by minnie.tuhs.org (Postfix) with ESMTP id D61FD28E4D for ; Thu, 27 Jan 2011 09:44:42 +1000 (EST) Message-ID: To: wkt@tuhs.org Subject: Re: Japan prize: congratulations Date: Wed, 26 Jan 2011 18:38:25 -0500 From: dmr@plan9.bell-labs.com In-Reply-To: <20110126224927.GA26441@minnie.tuhs.org> MIME-Version: 1.0 Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: 7bit Status: RO Content-Length: 101 Lines: 5 Thanks much, I'm still coming to terms-- even though I was told in December, Regards, Dennis From mairix@mairix Mon Jan 1 12:34:56 1970 X-source-folder: /home/wkt/Mail_archive/2011/01/27 Date: Thu, 27 Jan 2011 08:49:27 +1000 From: Warren Toomey To: dmr@plan9.bell-labs.com Cc: Warren Toomey Subject: Japan prize: congratulations Message-ID: <20110126224927.GA26441@minnie.tuhs.org> References: <20091020060319.GI13282@minnie.tuhs.org> <20091021012137.GA6941@minnie.tuhs.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20091021012137.GA6941@minnie.tuhs.org> User-Agent: Mutt/1.5.20 (2009-06-14) X-UID: 679 Status: RO Content-Length: 167 Lines: 6 Dennis, just read about your/Ken's Japan prize. Congratulations! Hope you & family had a good Xmas, and best wishes for health & happiness in 2011. Cheers, Warren