page%swap@Sun.COM (Bob Page) (11/13/89)
Submitted-by: zaphod@malmax.maxcimator.se (Jonas Petersson) Posting-number: Volume 89, Issue 214 Archive-name: fun/watchman.1 [Like like xeyes or eyecon. uuencoded executable included. ..bob] # This is a shell archive. # Remove anything above and including the cut line. # Then run the rest of the file through 'sh'. # Unpacked files will be owned by you and have default permissions. #----cut here-----cut here-----cut here-----cut here----# #!/bin/sh # shar: SHell ARchive # Run the following text through 'sh' to create: # Makefile # WatchMan.c # watchman.uu # This is archive 1 of a 1-part kit. # This archive created: Sun Nov 12 20:30:45 1989 echo "extracting Makefile" sed 's/^X//' << \SHAR_EOF > Makefile XCFLAGS=+Isys:include/symbols.m X Xwatchman: watchman.o X ln watchman -lc SHAR_EOF echo "extracting WatchMan.c" sed 's/^X//' << \SHAR_EOF > WatchMan.c X/**************************************************************** X* A little hack inspired by "EyeCon" on the Suns. X* X* I use something like this on my workbench: X* SetRGB4(vp, 0, 6, 6, 4); X* SetRGB4(vp, 1, 4, 3, 0); X* SetRGB4(vp, 2, 15, 12, 5); X* SetRGB4(vp, 3, 10, 8, 3); X* Looks good in interlace and gives Amy a more 'pro' look. X* X* (C) 1989 Jonas Petersson & Sirius Soft X* X* Comments to zaphod@malmax.maxcimator.se or X* zaphod@magrathea.sirius.se X*/ X X X/* Figure out the #includes for yourself - or use the trick... */ X X#define Lx 29 /* The eyes offset from upper left corner */ X#define Ly 49 X#define Rx 49 X#define Ry 46 X Xstruct IntuitionBase *IntuitionBase; Xstruct GfxBase *GfxBase; X Xstruct MsgPort *timerport; /* for timer communications */ Xstruct IOStdReq *timermsg; /* for timer */ X XUSHORT *Manmap_chip[2]= {NULL,NULL}; /* Chip copy */ X XUSHORT Manmap[2][528] = { /* Background head image */ X /* Probably in fastmem */ X { 0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFF00, X 0x8000,0x0000,0x0000,0x0000,0x0000,0x0100, X 0x9555,0x5555,0x7555,0x5555,0x5555,0x5700, X 0xAAAA,0xAAAF,0xFAAF,0xAAAA,0xAAAA,0xAB00, X 0x9555,0x557F,0xFD7F,0xD555,0x5555,0x5700, X 0xAAAA,0xBFFF,0xFDFF,0xFEAA,0xAAAA,0xAB00, X 0x9555,0xFFFF,0xFE7F,0xFFD5,0x5555,0x5700, X 0xAAFF,0xFFFF,0xFFBF,0xFFFA,0xAAAA,0xAB00, X 0x97FF,0xFFFF,0xFFCF,0xFFF5,0x5555,0x5700, X 0xBFFF,0xFFFF,0xFFF7,0xFFFA,0xAAAA,0xAB00, X 0xBFFF,0xFFFF,0xFFF9,0xFFF5,0x5555,0x5700, X 0xBFFF,0xFFFF,0xFFFE,0xFFFA,0xAAAA,0xAB00, X 0x9FFF,0xFFFF,0xFFFF,0x3FFD,0x5555,0x5700, X 0xAFFF,0xFFFF,0xFFFF,0xDFFA,0xAAAA,0xAB00, X 0x97FF,0xFFFF,0xFFFF,0xFFFD,0x5555,0x5700, X 0xAAFF,0xFFFF,0xFFFF,0xFFFE,0xAAAA,0xAB00, X 0x957F,0xFFFF,0xFFFF,0xFFFD,0x5555,0x5700, X 0xAABF,0xFFFF,0xFFFF,0xFFFE,0xAAAA,0xAB00, X 0x955F,0xFFFF,0xFFFF,0x5FFF,0x5555,0x5700, X 0xAAAF,0xFFFF,0xFFAA,0xAAFE,0xAAAA,0xAB00, X 0x9555,0xFFFF,0x807F,0xFD55,0x5555,0x5700, X 0xAAAA,0xFFF0,0x0FFF,0xFAAA,0xAAAA,0xAB00, X 0x9555,0x500F,0xFFFF,0xFF55,0x5555,0x5700, X 0xAAAA,0xA1FF,0xFFFF,0xFDAA,0xAAAA,0xAB00, X 0x9555,0x5FFF,0xFFFF,0xFAD5,0x5555,0x5700, X 0xAAAA,0xAFFF,0xFFFF,0xFD6A,0xAAAA,0xAB00, X 0x9555,0x5FFF,0xFFFF,0xFEB5,0x5555,0x5700, X 0xAAAA,0xAFFF,0xFFFF,0xFF5E,0xAAAA,0xAB00, X 0x9555,0x5FFF,0xFFFF,0xFFAD,0x5555,0x5700, X 0xAAAA,0xAFFF,0xFFFF,0xFFD6,0xAAAA,0xAB00, X 0x9555,0x5FFF,0xFFFF,0xFFAB,0x5555,0x5700, X 0xAAAA,0xAFFF,0xFFFF,0xFFD5,0xAAAA,0xAB00, X 0x9555,0x5FFF,0xFFFF,0xFFEB,0x5555,0x5700, X 0xAAAA,0xAFFF,0xFFFF,0xFFF5,0xAAAA,0xAB00, X 0x9555,0x5FFF,0xFFFF,0xFFEA,0xD555,0x5700, X 0xAAAA,0xAFFF,0xFFFF,0xFFF5,0x6AAA,0xAB00, X 0x9555,0x5FFF,0xFFFF,0xFFFA,0xB555,0x5700, X 0xAAAA,0xAFFF,0xFFFF,0xFFFD,0x6EAA,0xAB00, X 0x9555,0x5FFF,0xFFFF,0xFFEA,0xBB55,0x5700, X 0xAAAA,0xAFFF,0xFFFF,0xFD55,0x56AA,0xAB00, X 0x9555,0x5FFF,0xFFEA,0xBAAA,0xAB55,0x5700, X 0xAAAA,0xAFFF,0xFF55,0x7F55,0x56AA,0xAB00, X 0x9555,0x5FFE,0xAABA,0xFFFA,0xAD75,0x5700, X 0xAAAA,0xAF7F,0x555F,0xFFFD,0x5ABA,0xAB00, X 0x9555,0x5AFF,0xAEBF,0xC3FE,0xAD7D,0x5700, X 0xAAAA,0xADD5,0xFFFE,0x00FD,0x5ABC,0xAB00, X 0x9555,0x56BF,0xFFFC,0x007E,0xB57B,0x5700, X 0xAAAA,0xABF0,0x1FF4,0x007F,0x5ABC,0xAB00, X 0x9555,0x55E0,0x0FFC,0x007E,0xB57B,0x5700, X 0xAAAA,0xAAC0,0x07F4,0x007F,0x5AB4,0xAB00, X 0x9555,0x55C0,0x07FA,0x00FE,0xAF6B,0x5700, X 0xAAAA,0xAAC0,0x07F7,0xC7FF,0x55B6,0xAB00, X 0x9555,0x5560,0x0FEB,0xFF55,0x5551,0x5700, X 0xAAAA,0xAAF0,0x1FF7,0xEAAA,0xAAAA,0xAB00, X 0x9555,0x5578,0x3FAA,0x0005,0x5553,0x5700, X 0xAAAA,0xAABF,0xED50,0x0002,0xAAA8,0xAB00, X 0x9555,0x557D,0x5A00,0x0001,0x5555,0x5700, X 0xAAAA,0xAAAA,0xA000,0x0000,0xAAAA,0xAB00, X 0x9555,0x5550,0x0000,0x0001,0x5555,0x5700, X 0xAAAA,0xAA00,0x0000,0x0000,0xAAAA,0xAB00, X 0x9555,0x5400,0x0000,0x0000,0x5555,0x5700, X 0xAAAA,0xAA00,0x0000,0x0000,0x2AAA,0xAB00, X 0x9555,0x5500,0x0000,0x0000,0x5555,0x5700, X 0xAAAA,0xAA00,0x1E00,0x0000,0x2AAA,0xAB00, X 0x9555,0x5500,0x3F00,0x0020,0x1555,0x5700, X 0xAAAA,0xAA80,0xFF01,0x5550,0x0AAA,0xAB00, X 0x9555,0x5502,0xFF2A,0xAAA0,0x0555,0x5700, X 0xAAAA,0xAA87,0xFD55,0x5000,0x0FFF,0xFB00, X 0x9555,0x5545,0x7AA8,0x0000,0x1FFF,0xF700, X 0xAAAA,0xAA82,0xD540,0x0000,0x1FFF,0xFB00, X 0x9555,0x5541,0x0000,0x0000,0x3FFF,0xF700, X 0xAAAA,0xAA80,0x0000,0x0002,0xBFFF,0xFB00, X 0x9555,0x5540,0x0000,0x0555,0x7FFF,0xF700, X 0xAAAA,0xAA80,0x0002,0xAAAA,0xBFFF,0xEB00, X 0x9555,0x5540,0x0555,0x5555,0x7FFF,0xF700, X 0xAAAA,0xAA82,0xAAAA,0xAAAA,0xBFFF,0xEB00, X 0x9555,0x5555,0x5555,0x5555,0x5FFF,0xD700, X 0xAAAA,0xAAAA,0xAAAA,0xAAAA,0xBFFF,0xAB00, X 0x9555,0x5555,0x5555,0x5555,0x5FFF,0xD700, X 0xAAAA,0xAAAA,0xAAAA,0xAAAA,0xBFFF,0xAB00, X 0x9555,0x5555,0x5555,0x5555,0x5FEA,0xD700, X 0xAAAA,0xAAAA,0xAAAA,0xAAAA,0xD555,0x2B00, X 0x9555,0x5555,0x5555,0x56AA,0xAA55,0x5700, X 0xAAAA,0xAAAA,0xAAAB,0x5555,0x56AA,0xAB00, X 0x9555,0x5555,0x5555,0x5555,0x5555,0x5700, X 0xAAAA,0xAAAA,0xAAAA,0xAAAA,0xAAAA,0xAB00, X 0xBFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFF00, X 0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFF00, X },{ X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, X 0x0000,0x0000,0x0000,0xA000,0x0000,0x0000, X 0x0000,0x0000,0x0055,0x5501,0x0000,0x0000, X 0x0000,0x0000,0x7FFF,0xFAAA,0x8000,0x0000, X 0x0000,0x000F,0xFFFF,0xF555,0x0000,0x0000, X 0x0000,0x0FFF,0xFFFF,0xFAAA,0x8000,0x0000, X 0x0000,0x1FFF,0xFFFF,0xFF55,0x4000,0x0000, X 0x0000,0x0FFF,0xFFFF,0xFFAA,0xA000,0x0000, X 0x0000,0x07FF,0xFFFF,0xFFD5,0x5000,0x0000, X 0x0000,0x0FFF,0xFFFF,0xFFEA,0xA000,0x0000, X 0x0000,0x07FF,0xFFFF,0xFFF5,0x5000,0x0000, X 0x0000,0x0FFF,0xFFFF,0xFFFA,0xA800,0x0000, X 0x0000,0x07FF,0xFFFF,0xFFFD,0x5400,0x0000, X 0x0000,0x0FFF,0xFFFF,0xFFFE,0xAA00,0x0000, X 0x0000,0x07FF,0xFFFF,0xFFFF,0x5500,0x0000, X 0x0000,0x0FFF,0xFFFF,0xFFFE,0xAA00,0x0000, X 0x0000,0x07FF,0xFFFF,0xFFFF,0x5500,0x0000, X 0x0000,0x0FFF,0xFFFF,0xFFFF,0xAA80,0x0000, X 0x0000,0x07FF,0xFFFF,0xFFFF,0xD540,0x0000, X 0x0000,0x0FFF,0xFFFF,0xFFFF,0xEAA0,0x0000, X 0x0000,0x07FF,0xFFFF,0xFFFF,0xD540,0x0000, X 0x0000,0x0FFF,0xFFFF,0xFFFF,0xEEA0,0x0000, X 0x0000,0x07FF,0xFFFF,0xFFFF,0xFD50,0x0000, X 0x0000,0x0FFF,0xFFFF,0xE7FF,0xFEA8,0x0000, X 0x0000,0x07FF,0xFFFF,0xC0FF,0xFD54,0x0000, X 0x0000,0x0FE3,0xFFE7,0x0FFF,0xFAAA,0x0000, X 0x0000,0x07C0,0xFFE0,0x3FFF,0xF554,0x0000, X 0x0000,0x0F80,0x71F8,0x03FF,0xFAB8,0x0000, X 0x0000,0x067E,0x0FFE,0x00FF,0xF55E,0x0000, X 0x0000,0x03FF,0xBFFC,0x007F,0xEABE,0x0000, X 0x0000,0x01F0,0x1FFC,0x007F,0xF55E,0x0000, X 0x0000,0x00E0,0x0FFC,0x007F,0xEABE,0x0000, X 0x0000,0x0040,0x07FC,0x007F,0xF55E,0x0000, X 0x0000,0x00C0,0x07FE,0x00FF,0xFABE,0x0000, X 0x0000,0x0040,0x07FF,0xC7FF,0xFF5C,0x0000, X 0x0000,0x0020,0x0FFF,0xFEAA,0xAAAC,0x0000, X 0x0000,0x0070,0x1FFF,0xD555,0x5556,0x0000, X 0x0000,0x0038,0x3FFF,0xFFFA,0xAAAE,0x0000, X 0x0000,0x001F,0xD7FF,0xFFFD,0x5557,0x0000, X 0x0000,0x003A,0xAFFF,0xFFFE,0xAAAA,0x0000, X 0x0000,0x0055,0x5FFF,0xFFFF,0x5555,0x0000, X 0x0000,0x00AF,0xFFFF,0xFFFE,0xAAAA,0x8000, X 0x0000,0x01FF,0xFFFF,0xFFFF,0x5555,0x4000, X 0x0000,0x03FF,0xFFE0,0x7FFF,0xAAAA,0x8000, X 0x0000,0x01FF,0xFF00,0x01FF,0xD555,0x4000, X 0x0000,0x00FF,0xF800,0x000F,0xAAAA,0xA000, X 0x0000,0x01FF,0xE000,0x000F,0xD555,0x4000, X 0x0000,0x00FF,0xC000,0x007F,0xEAAA,0xA000, X 0x0000,0x007F,0x0003,0xFFFF,0xF555,0x5000, X 0x0000,0x00FC,0x003F,0xFFFF,0xFAAA,0xA800, X 0x0000,0x0078,0x03FF,0xFFFF,0xF000,0x0000, X 0x0000,0x0038,0x0FFF,0xFFFF,0xE000,0x0000, X 0x0000,0x007C,0x3FFF,0xFFFF,0xE000,0x0000, X 0x0000,0x003E,0xFFFF,0xFFFF,0xC000,0x0000, X 0x0000,0x007F,0xFFFF,0xFFFD,0x4000,0x0000, X 0x0000,0x003F,0xFFFF,0xFAAA,0x8000,0x0000, X 0x0000,0x007F,0xFFFD,0x5555,0x4000,0x0000, X 0x0000,0x003F,0xFAAA,0xAAAA,0x8000,0x0000, X 0x0000,0x007D,0x5555,0x5555,0x4000,0x0000, X 0x0000,0x00AA,0xAAAA,0xAAAA,0xA000,0x0000, X 0x0000,0x0055,0x5555,0x5555,0x4000,0x0000, X 0x0000,0x002A,0xAAAA,0xAAAA,0xA000,0x0000, X 0x0000,0x0015,0x5555,0x5555,0x4000,0x0000, X 0x0000,0x000A,0xAAAA,0xAAAA,0xA03F,0x8000, X 0x0000,0x0005,0x5555,0x5555,0x7FFF,0x8000, X 0x0000,0x0002,0xAAAA,0xABFF,0xFF00,0x0000, X 0x0000,0x0001,0x5555,0xFFFF,0xFC00,0x0000, X 0x0000,0x0000,0xAAAA,0x0000,0x0000,0x0000, X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, X } X}; X X XUSHORT (*Eyemap_chip); /* Eye */ XUSHORT Eyemap [4] = { X 0x6000, X 0xf000, X 0xf000, X 0x6000 X}; X Xstatic struct Gadget gadget = /* Used to move and quit */ X{ NULL, X 0, 0, 0, 0, X GADGHNONE|GRELWIDTH|GRELHEIGHT, X GADGIMMEDIATE|RELVERIFY, X WDRAGGING, X NULL, X NULL, X NULL, X NULL, X NULL, X 0, 0 X}; X Xstatic struct NewWindow IconNW = /* The window */ X{ 351, 11, X 88, 88, X -1, -1, X GADGETDOWN, X RMBTRAP|BORDERLESS|SMART_REFRESH|NOCAREREFRESH, X &gadget, X NULL, X NULL, X NULL, X NULL, X 0, 0, 0, 0, X WBENCHSCREEN X}; X Xstruct Window *win, *OpenWindow(); X XOpenStuff () { X int i,j; X extern USHORT *Eyemap_chip; X extern USHORT *Manmap_chip[]; X PLANEPTR pl; X X if (!(IntuitionBase = (struct IntuitionBase *)OpenLibrary("intuition.library", 0L))) X CloseStuff (1); X if (!(GfxBase = (struct GfxBase *)OpenLibrary("graphics.library", 0L))) X CloseStuff (1); X if (!(win = OpenWindow (&IconNW))) X CloseStuff (1); X if ((Eyemap_chip = AllocMem((LONG)sizeof(Eyemap),MEMF_CHIP))== 0) X CloseStuff (1); /* allocate chip memory for images */ X for (i=0 ; i < 4 ;i++) { X Eyemap_chip[i] = Eyemap[i]; X } X if ((Manmap_chip[0] = AllocMem((LONG)sizeof(Manmap[0]),MEMF_CHIP)) == NULL) X CloseStuff (1); X if ((Manmap_chip[1] = AllocMem((LONG)sizeof(Manmap[1]),MEMF_CHIP)) == NULL) X CloseStuff (1); X X for (i=0 ; i < 528 ;i++) { X Manmap_chip[0][i] = Manmap[0][i]; X Manmap_chip[1][i] = Manmap[1][i]; X } X SetAPen(win->RPort, 1L); X SetDrMd(win->RPort, JAM1); X BltTemplate(Manmap_chip[0], 0L, 12L, win->RPort, 0L, 0L, 88L, 88L); X SetAPen(win->RPort, 2L); X SetWrMsk(win->RPort, 2L); /* Braindead COMPLEMENT */ X BltTemplate(Manmap_chip[1], 0L, 12L, win->RPort, 0L, 0L, 88L, 88L); X SetWrMsk(win->RPort, 255L); /* Braindead COMPLEMENT */ X if (!(timerport = CreatePort(NULL, 0L)) X || !(timermsg = CreateStdIO(timerport)) X || OpenDevice(TIMERNAME,UNIT_VBLANK, timermsg, 0L)) X CloseStuff(1); X} X XCloseStuff (exitcode) Xint exitcode; X{ X if (timermsg) { X CloseDevice(timermsg); X DeleteStdIO(timermsg); X } X if (timerport) DeletePort(timerport); X if (win) CloseWindow(win); X if (IntuitionBase) CloseLibrary(IntuitionBase); X if (GfxBase) CloseLibrary(GfxBase); X if (Eyemap_chip) FreeMem(Eyemap_chip, (LONG)sizeof(Eyemap)); X if (Manmap_chip[0]) FreeMem(Manmap_chip[0], (LONG)sizeof(Manmap[0])); X if (Manmap_chip[1]) FreeMem(Manmap_chip[1], (LONG)sizeof(Manmap[1])); X exit (exitcode); X} X X/* Hmm, this seems to work - a bit strange, but it works... */ X#define ABS(x) (x<0 ? -x : x) X#define index(x,y) (((y<0)<<2) + ((x<0)<<1) + (ABS(x)>ABS(y))) X X/**************************************************************** X* Draw the eye at OffX, OffY but with an extra offset X* given by idx in a direct[]-table. X* col is used to erase/draw. X*/ X Xvoid DrawEye(idx, OffX, OffY, col) Xint idx, OffX, OffY, col; X{ X static int direct[2][8] = { X { 1, 2,-1,-2, 1, 2,-1,-2}, X { 2, 1, 2, 1,-2,-1,-2,-1}}; X X SetAPen(win->RPort, (LONG)col); X BltTemplate(Eyemap_chip, 0L, 2L, win->RPort, X (LONG)(OffX + direct[0][idx&7]), X (LONG)(OffY + direct[1][idx&7]), 4L, 4L); X} X X/**************************************************************** X* Get mouse position relative to windows upper left corner. X* (A lot easier than I thought...) A very nice programmer X* probably would get the mouse coords in another way, but X* I'm not very paranoid... X*/ X Xvoid GetRelMp(x,y) Xint *x,*y; X{ X *x = win->WScreen->MouseX - win->LeftEdge; X *y = win->WScreen->MouseY - win->TopEdge; X} X X/**************************************************************** X* The main loop. Ok, I COULD do the timer and intuimsgs X* in a nicer way, but it wouldn't make much of a difference X* so why bother? X*/ X X_main () X{ X ULONG msgclass; /* Message class from Intuition message */ X struct IntuiMessage *msg; /* The msg we got */ X int Mx, My, /* Mouse's current relative offset */ X LastL, LastR, /* Last index for left&right Eye */ X NewL, NewR; /* New index -- "" -- */ X ULONG PrevSecs, PrevMics; /* Time of last click */ X X /* Init */ X OpenStuff (); X DrawEye(LastL, Lx, Ly, 1); X DrawEye(LastR, Rx, Ry, 1); X X for(;;) { X timermsg->io_Command = TR_ADDREQUEST; /* add a new timer request */ X timermsg->io_Actual = 0; /* seconds */ X timermsg->io_Length = 100000; /* microseconds */ X DoIO(timermsg); /* Wait for a while... */ X while(msg = (struct IntuiMessage *)GetMsg(win->UserPort)) { X /* User action */ X msgclass = msg->Class; X ReplyMsg (msg); X switch (msgclass) { X case GADGETDOWN: X if (DoubleClick(PrevSecs, PrevMics, msg->Seconds, msg->Micros)) X CloseStuff(0); X else { X PrevSecs = msg->Seconds; X PrevMics = msg->Micros; X } X } X } X GetRelMp(&Mx, &My); /* Action ! */ X if (LastL != (NewL = index(Mx - Lx, My - Ly))) { X DrawEye(LastL, Lx, Ly, 0); X DrawEye(LastL=NewL, Lx, Ly, 1); X } X if (LastR != (NewR = index(Mx - Rx, My - Ry))) { X DrawEye(LastR, Rx, Ry, 0); X DrawEye(LastR=NewR, Rx, Ry, 1); X } X } X} SHAR_EOF echo "extracting watchman.uu" sed 's/^X//' << \SHAR_EOF > watchman.uu X Xbegin 644 watchman XM```#\P`````````#``````````(```*[```"3@````$```/I```"NT[Z!?!.] XM5?_X0J=(>@($3KH*1%!/*4"(VF8*/SP``4ZZ`B!43T*G2'H!^DZZ"BA03RE`> XMB-YF"C\\``%.N@($5$](;(A^3KH*FEA/*4"([F8*/SP``4ZZ`>I43TAX``)([ XM>``(3KH)6%!/*4"(ZF8*/SP``4ZZ`<Q43T)M__XP+?_^2,#C@$'LB$HR+?_^3 XM2,'C@2)LB.HSL`@`&`!2;?_^#&T`!/_^;=9(>``"2'@$($ZZ"0Q03RE`@`)F< XM"C\\``%.N@&`5$](>``"2'@$($ZZ".Y03RE`@`9F"C\\``%.N@%B5$]";?_^* XM,"W__DC`XX!![(`*,BW__DC!XX$B;(`",[`(`!@`,"W__DC`XX!![(0J,BW_6 XM_DC!XX$B;(`&,[`(`!@`4FW__@QM`A#__FVX2'@``2!LB.XO*``R3KH):E!/1 XM0J<@;(CN+R@`,DZZ"6I03TAX`%A(>`!80J="IR!LB.XO*``R2'@`#$*G+RR`K XM`DZZ"11/[P`@2'@``B!LB.XO*``R3KH)(E!/(&R([B)H`#(3?``"`!A(>`!8C XM2'@`6$*G0J<@;(CN+R@`,DAX``Q"IR\L@`9.N@C.3^\`("!LB.XB:``R$WP`4 XM_P`80J="ITZZ!EI03RE`B.)G*B\LB.).N@<T6$\I0(CF9QI"IR\LB.9(>``!. XM2'H`/4ZZ"$1/[P`02H!G"#\\``%A-E1/3EU.=6EN='5I=&EO;BYL:6)R87)Y$ XM`&=R87!H:6-S+FQI8G)A<GD`=&EM97(N9&5V:6-E`$Y5``!*K(CF9Q0O+(CF^ XM3KH%OEA/+RR(YDZZ!M!83TJLB.)G"B\LB.).N@9,6$]*K(CN9PHO+(CN3KH(5 XM3%A/2JR(VF<*+RR(VDZZ!9!83TJLB-YG"B\LB-Y.N@6`6$]*K(CJ9PY(>``(D XM+RR(ZDZZ!TY03TJL@`)G#DAX!"`O+(`"3KH'.E!/2JR`!F<.2'@$("\L@`9.C XMN@<F4$\_+0`(3KH#C%1/3EU.=4Y5```P+0`.2,`O`"!LB.XO*``R3KH'J%!/( XM2'@`!$AX``0P+0`(P'P`!TC`XX!![(B^,C`(`-)M``Q(P2\!,"T`",!\``=(L XMP..`0>R(KC(P"`#2;0`*2,$O`2!LB.XO*``R2'@``D*G+RR(ZDZZ!RY/[P`@0 XM3EU.=4Y5```@;0`((FR([BQI`"XB;(CN,"X`$I!I``0P@"!M``PB;(CN+&D`` XM+B)LB.XP+@`0D&D`!C"`3EU.=4Y5_^1.NOQB/SP``3\\`#$_/``=/RW_\DZZ. XM_S)03S\\``$_/``N/SP`,3\M__!.NO\<4$\@;(CF,7P`"0`<(&R(YD*H`"`@N XM;(CF(7P``8:@`"0O+(CF3KH%VEA/(&R([B\H`%9.N@8:6$\K0/_X9V@@;?_X, XM*V@`%/_\+RW_^$ZZ!EA83R`M__Q@1"!M__@O*``H(&W_^"\H`"0O+?_D+RW_* XMZ$ZZ!I)/[P`02D!G"D)G3KK]\E1/8!0@;?_X*V@`)/_H(&W_^"MH`"C_Y&`(T XMD+P````@9[1@A$AM__1(;?_V3KK^XE!/,"W_]I!\`!U*0&P,,"W_]D1`D'P`C XM'6`(,"W_]I!\`!T_`#`M__20?``Q2D!L##`M__1$0)!\`#%@"#`M__20?``Q4 XM,A^R0&\$<`%@`G``,BW_]))\`#%*06P$<@%@`G(`Y4'003(M__:2?``=2D%LY XM!'(!8`)R`.-!T$$[0/_NL&W_\F<P0F<_/``Q/SP`'3\M__).NOW24$\_/``!) XM/SP`,3\\`!T[;?_N__(_+?_N3KK]ME!/,"W_]I!\`#%*0&P,,"W_]D1`D'P`P XM,6`(,"W_]I!\`#$_`#`M__20?``N2D!L##`M__1$0)!\`"Y@"#`M__20?``NS XM,A^R0&\$<`%@`G``,BW_]))\`"Y*06P$<@%@`G(`Y4'003(M__:2?``Q2D%L* XM!'(!8`)R`.-!T$$[0/_LL&W_\&<P0F<_/``N/SP`,3\M__!.NOT>4$\_/``!@ XM/SP`+C\\`#$[;?_L__`_+?_L3KK]`E!/8`#]Y$Y=3G5A<$/LB-I%[(C:M<EF< XM#C(\`!=K"'0`(L)1R?_\*4^(\BQX``0I3HCV2.>`@`@N``0!*6<02_H`"$ZN5 XM_^)@!D*G\U].<T/Z`"!.KOYH*4"(^F8,+CP``X`'3J[_E&`$3KK]2E!/3G5D; XM;W,N;&EB<F%R>0!)^0``?_Y.=4Y5``!*K(C^9P8@;(C^3I`_+0`(3KH`"%1/J XM3EU.=4Y5__PO!#`M``A(P"M`__Q*K(D&9RAX`&`*/P1.N@#^5$]21+ALB,YMQ XM\#`LB,[!_``&+P`O+(D&3KH#/%!/2JR)`F<&(&R)`DZ02JR(U&<*+RR(U$ZZ) XM`1Y83TJLB0IG""!LB0H@K(D.2JR)$F<*+RR)$DZZ`2!83TJLB19G"B\LB19.6 XMN@$06$]*K(D:9PHO+(D:3KH!`%A/2JR)'F<*+RR)'DZZ`/!83RQX``0(+@`$[ XM`2EG%"\-2_H`"DZN_^(J7V`&0J?S7TYS2JR)(F8P2JR))F<H,"R)*DC`+P`O8 XM+(DF3KH"E#`LB2Q20$C`Y8`O`"\LB2Y.N@*`3^\`$&`.3KH":B\LB2).N@+FZ XM6$\@+?_\+FR(\DYU*!].74YU3E4``$CG#B`X+0`(,`3!_``&)$#5[(D&2D1M. XM"KALB,YL!$J29A`Y?``"B3)P_TS?!'!.74YU""H`!P`$9@@O$DZZ``I83T*2M XM<`!@XB(O``0L;(CZ3N[_W$[Z``(B+P`$+&R(^D[N_Z8B;P`$+&R(]D[N_CY.# XM^@`"(F\`!"QLB/9.[OYB3E4``$CG""!(>/__3KH`T"@`L+S_____6$]F"G``J XM3-\$$$Y=3G5(>0`!``%(>``B3KH!8"1`2H!03V8,+P1.N@&F<`!83V#6)6T`[ XM"``*%6T`#P`)%7P`!``(0BH`#A5$``]"ITZZ`50E0``02JT`"%A/9PHO"DZZ^ XM`%I83V`*2&H`%$ZZ`7Y83R`*8)).50``+PHD;0`(2JH`"F<(+PI.N@&>6$\5Y XM?`#_``@E?/____\`%'``$"H`#R\`3KH!*DAX`"(O"DZZ`0Q/[P`,)%].74YUZ XM(F\`!"QLB/9.[OZ>("\`!"QLB/9.[OZV3E4``$AX`#`O+0`(3KH`&E!/3EU.- XM=4Y5```O+0`(3KH`3%A/3EU.=4Y5```O"DJM``AF"'``)%].74YU2'D``0`!2 XM+RT`#$ZZ`&`D0$J`4$]F!'``8.`5?``%``@U;0`.`!(E;0`(``X@"F#*3E4`V XM`"\*)&T`""`*9@8D7TY=3G45?`#_``@E?/____\`%"5\_____P`8<``P*@`2S XM+P`O"DZZ`$903V#23OH``DSO``,`!"QLB/9.[O\Z2.<#`")O``PL;(CV3J[^] XM.$S?`,!.=4[Z``(B;P`$+&R(]D[N_MHL;(CV3N[_?$[Z``(B;P`$("\`""QL* XMB/9.[O\N("\`!"QLB/9.[OZP3OH``B!O``0L;(CV3N[^C"!O``0@B%B00J@`` XM!"%(``A.=2!O``1,[P(!``@B+P`0+&R(]D[N_D1.^@`"+&R(]B)O``0@+P`(2 XM3N[]V")O``0L;(CV3N[^F$[Z``(B;P`$+&R(]D[N_H9(YPP`(&\`#$SO`@,`9 XM$$SO`#P`'"QLB-Y.KO_<3-\`,$YU(F\`!"`O``@L;(C>3N[^JB)O``0@+P`(0 XM+&R(WD[N_IX@;P`$+&R(VD[N_[A,[P`/``0L;(C:3N[_FB!O``0L;(C:3N[_[ XM-````^P````!`````0``!F8````````#\@```^H```(V``````````#_____G XM_________P"``````````````0"55555=55555555P"JJJJO^J^JJJJJJP"5! XM555__7_555555P"JJK___?_^JJJJJP"55?___G__U5555P"J_____[__^JJJQ XMJP"7_____\__]5555P"_______?_^JJJJP"_______G_]5555P"_______[_- XM^JJJJP"?______\__5555P"O_______?^JJJJP"7_________5555P"J____( XM_____JJJJP"5?________5555P"JO________JJJJP"57_____]?_U555P"JA XMK____ZJJ_JJJJP"55?__@'_]55555P"JJO_P#__ZJJJJJP"555`/____5555P XM5P"JJJ'____]JJJJJP"555_____ZU5555P"JJJ_____]:JJJJP"555_____^O XMM5555P"JJJ______7JJJJP"555______K5555P"JJJ______UJJJJP"555__A XM____JU555P"JJJ______U:JJJP"555______ZU555P"JJJ______]:JJJP"5U XM55______ZM555P"JJJ______]6JJJP"555______^K555P"JJJ_______6ZJ" XMJP"555______ZKM55P"JJJ_____]55:JJP"555___^JZJJM55P"JJJ___U5__ XM55:JJP"555_^JKK_^JUU5P"JJJ]_55___5JZJP"555K_KK_#_JU]5P"JJJW56 XM__X`_5J\JP"555:___P`?K5[5P"JJJOP'_0`?UJ\JP"5557@#_P`?K5[5P"J5 XMJJK`!_0`?UJTJP"5557`!_H`_J]K5P"JJJK`!_?'_U6VJP"5555@#^O_5551! XM5P"JJJKP'_?JJJJJJP"5555X/ZH`!5535P"JJJJ_[5```JJHJP"5555]6@``A XM`5555P"JJJJJH````*JJJP"55550`````5555P"JJJH``````*JJJP"5550`5 XM`````%555P"JJJH``````"JJJP"5554``````%555P"JJJH`'@```"JJJP"5N XM554`/P``(!555P"JJJJ`_P%54`JJJP"5554"_RJJH`555P"JJJJ'_550``__F XM^P"5555%>J@``!__]P"JJJJ"U4```!__^P"5555!`````#__]P"JJJJ`````7 XM`K__^P"5555````%57__]P"JJJJ```*JJK__ZP"5555`!55557__]P"JJJJ"^ XMJJJJJK__ZP"55555555555__UP"JJJJJJJJJJK__JP"55555555555__UP"JN XMJJJJJJJJJK__JP"55555555555_JUP"JJJJJJJJJJM55*P"555555556JJI5Y XM5P"JJJJJJJM555:JJP"55555555555555P"JJJJJJJJJJJJJJP"_________: XM_____P#______________P``````````````````````````````````````Q XM````````````````````````````````````````````````````````````` XM````````````````````````````````````````````````````````````` XM````````````````````````````````````````````````````````````` XM````````````````````````````````````````````````````````````` XM``````````````````"@`````````````%55`0``````````?__ZJH``````M XM```/___U50````````_____ZJH```````!______54````````______JJ``, XM``````?_____U5````````______ZJ````````?_____]5````````______0 XM^J@```````?______50```````_______JH```````?______U4```````__. XM_____JH```````?______U4```````_______ZJ```````?______]5`````' XM``_______^J@``````?______]5```````_______^Z@``````?_______U02 XM``````_____G__ZH``````?____`__U4``````_C_^</__JJ``````?`_^`_; XM__54``````^`<?@#__JX``````9^#_X`__5>``````/_O_P`?^J^``````'PL XM'_P`?_5>``````#@#_P`?^J^``````!`!_P`?_5>``````#`!_X`__J^````0 XM``!`!__'__]<```````@#__^JJJL``````!P'__55556```````X/___^JJN] XM```````?U____557```````ZK____JJJ``````!57____U55``````"O____= XM_JJJ@`````'______U550`````/__^!__ZJJ@`````'__P`!_]550`````#_3 XM^```#ZJJH`````'_X```#]550`````#_P```?^JJH`````!_``/___554```@ XM``#\`#____JJJ`````!X`_____`````````X#____^````````!\/____^``I XM```````^_____\````````!______4`````````____ZJH````````!___U5D XM54`````````_^JJJJH````````!]555554````````"JJJJJJJ````````!5D XM555554`````````JJJJJJJ`````````5555554`````````*JJJJJJ`_@```` XM```%555557__@``````"JJJK__\````````!557___P`````````JJH`````/ XM``````````````````````````````````````````````````!@`/``\`!@@ XM``````````````````!C``,`(```````````````````````````````````& XM`5\`"P!8`%C__P```"```P@````(4```````````````````````````````< XM```!``$``O____X``0`"_____@`"``$``@`!__[____^__\`%```````````- XF``````/L`````0````$```B.`````````_(```/K`````0```_(`@ X`` Xend Xsize 5168 SHAR_EOF echo "End of archive 1 (of 1)" # if you want to concatenate archives, remove anything after this line exit