From 775ed63f5da65d687d6803f84dd3509e8828a7da Mon Sep 17 00:00:00 2001 From: rmkaplan <69548581+rmkaplan@users.noreply.github.com> Date: Wed, 20 May 2026 18:14:47 -0700 Subject: [PATCH] Align HCFILES version of DOC-OBJECTS with minor changes I had stashed away (#2607) DOCOBJ-GET-LOOKS: update to use new TEdit internal functions for extracting "looks" DOCOBJ-INCLUDE-EDIT: restructure EDIT.FILE case "for" expression to be clearer Remove explict (SYSLOAD) for files it requires, so that those inherit from its own loading. --- lispusers/DOC-OBJECTS | 363 +++++++++++++++++++++---------------- lispusers/DOC-OBJECTS.LCOM | Bin 23157 -> 22073 bytes 2 files changed, 203 insertions(+), 160 deletions(-) diff --git a/lispusers/DOC-OBJECTS b/lispusers/DOC-OBJECTS index 8b3a2dfb..cacbd7ef 100644 --- a/lispusers/DOC-OBJECTS +++ b/lispusers/DOC-OBJECTS @@ -1,31 +1,12 @@ (DEFINE-FILE-INFO :PACKAGE "INTERLISP" :READTABLE "INTERLISP" :BASE 10) -(FILECREATED " 3-May-2026 10:44:14" {MEDLEY}DOC-OBJECTS.;2 53774 +(FILECREATED "11-May-2026 13:00:03" {MEDLEY}DOC-OBJECTS.;62 52842 - :EDIT-BY "lmm" + :EDIT-BY rmk :CHANGES-TO (VARS DOC-OBJECTSCOMS) - (FNS DOCOBJ-ACQUIRE-OBJECT DOCOBJ-INIT DOCOBJ-TEDIT-MENU-ENTRY DOCOBJ-GET-LOOKS - DOCOBJ-REGISTER-OBJECT DOCOBJ-STRING-IMAGEBOX DOCOBJ-WAIT-MOUSE - DOCOBJ-BEFOREHARDCOPYFN DOCOBJ-AFTERHARDCOPYFN DOCOBJ-ACQUIRE-EVALED-OBJECT - DOCOBJ-ACQUIRE-SNAPPED-OBJECT DOCOBJ-EDIT-TIMESTAMP DOCOBJ-MAKE-TIMESTAMP - DOCOBJ-MAKE-TIMESTAMP-IMAGEFNS DOCOBJ-TIMESTAMP-BUTTONEVENTINFN - DOCOBJ-TIMESTAMP-COPYFN DOCOBJ-TIMESTAMP-DISPLAYFN DOCOBJ-TIMESTAMP-GETFN - DOCOBJ-TIMESTAMP-IMAGEBOXFN DOCOBJ-TIMESTAMP-PREPRINTFN DOCOBJ-TIMESTAMP-PUTFN - DOCOBJ-TIMESTAMP-TO-STRING DOCOBJ-MAKE-FILESTAMP - DOCOBJ-MAKE-FILESTAMP-IMAGEFNS DOCOBJ-FILESTAMP-COPYFN - DOCOBJ-FILESTAMP-DISPLAYFN DOCOBJ-FILESTAMP-GETFN DOCOBJ-FILESTAMP-IMAGEBOXFN - DOCOBJ-FILESTAMP-GET-FULLNAME DOCOBJ-FILESTAMP-NEW-FULLNAME - DOCOBJ-FILESTAMP-PREPRINTFN DOCOBJ-FILESTAMP-PUTFN DOCOBJ-MAKE-HRULE - DOCOBJ-EDIT-HRULE DOCOBJ-HRULE-INIT DOCOBJ-HRULE-GET-WIDTH - DOCOBJ-HRULE-BUTTONEVENTINFN DOCOBJ-MAKE-INCLUDE DOCOBJ-MAKE-INCLUDE-IMAGEFNS - DOCOBJ-INCLUDE-CREATE-OBJ DOCOBJ-INCLUDE-EDIT DOCOBJ-INCLUDE-EDIT-WINDOWP - DOCOBJ-INCLUDE-RESET-OBJ DOCOBJ-INCLUDE-BEFOREHARDCOPYFN - DOCOBJ-INCLUDE-CLEANUPFN DOCOBJ-INCLUDE-BUTTONEVENTINFN DOCOBJ-INCLUDE-COPYFN - DOCOBJ-INCLUDE-DISPLAYFN DOCOBJ-INCLUDE-GETFN DOCOBJ-INCLUDE-IMAGEBOXFN - DOCOBJ-INCLUDE-PREPRINTFN DOCOBJ-INCLUDE-PUTFN) - :PREVIOUS-DATE " 9-Dec-2024 21:07:13" {MEDLEY}DOC-OBJECTS.;1) + :PREVIOUS-DATE " 6-Apr-2025 23:38:07" {MEDLEY}DOC-OBJECTS.;61) (PRETTYCOMPRINT DOC-OBJECTSCOMS) @@ -161,24 +142,29 @@ (MENU DocObjectsMenu]) (DOCOBJ-INIT - [LAMBDA NIL (* ; "Edited 8-Oct-87 21:32 by Koomen") + [LAMBDA NIL (* ; + "Edited 8-Oct-87 21:32 by Koomen") (* ;;; "This function changes the behavior of standard TEdit such that ^O will invoke the DocObjects system; an entry to invoke the DocObjects system is also added to TEdit's middle button menu.") (DECLARE (GLOBALVARS TEDIT.DEFAULT.MENU)) - (CHANGENAME 'GET.OBJ.FROM.USER 'PROMPTFOREVALED 'DOCOBJ-ACQUIRE-OBJECT) - (TEDIT.ADD.MENUITEM TEDIT.DEFAULT.MENU '(Object (FUNCTION DOCOBJ-TEDIT-MENU-ENTRY) - "Insert a Document Object"]) + (CHANGENAME 'GET.OBJ.FROM.USER 'PROMPTFOREVALED ' + DOCOBJ-ACQUIRE-OBJECT) + (TEDIT.ADD.MENUITEM TEDIT.DEFAULT.MENU + '(Object (FUNCTION DOCOBJ-TEDIT-MENU-ENTRY) + "Insert a Document Object"]) (DOCOBJ-TEDIT-MENU-ENTRY - [LAMBDA (TEXTSTREAM) (* ; "Edited 8-Oct-87 21:31 by Koomen") + [LAMBDA (TEXTSTREAM) (* ; + "Edited 8-Oct-87 21:31 by Koomen") (* ;;; "This is the entry point into the DocObjects system from TEdit's middle button menu. GET.OBJ.FROM.USER used to call PROMPTFOREVALED but DocObjects changes this into a call to DOCOBJ-ACQUIRE-OBJECT.") (GET.OBJ.FROM.USER TEXTSTREAM (TEXTOBJ TEXTSTREAM]) (DOCOBJ-GET-LOOKS - [LAMBDA (TEXTOBJ CH#ORCHARLOOKS) (* ; "Edited 5-Apr-2024 12:20 by rmk") + [LAMBDA (TEXTOBJ CH#ORCHARLOOKS) (* ; "Edited 6-Apr-2025 23:36 by rmk") + (* ; "Edited 5-Apr-2024 12:20 by rmk") (* ; "Edited 19-Mar-2024 19:36 by rmk") (* ; "Edited 29-Oct-2022 21:30 by rmk") (* Koomen " 4-Feb-87 23:37") @@ -195,25 +181,24 @@ then (* ;  "There's no text in the document. Use the extant caret looks.") (FGETTOBJ TEXTOBJ CARETLOOKS) - else (PLOOKS (\TEDIT.CHTOPC (if (FIXP CH#ORCHARLOOKS) - then (* ; + else (\TEDIT.NTHCHARLOOKS TEXTOBJ (if (FIXP CH#ORCHARLOOKS) + then (* ;  "He gave us a CH# to get the looks of. Grab it.") - CH#ORCHARLOOKS - elseif (type? SELECTION CH#ORCHARLOOKS) - then (* ; + CH#ORCHARLOOKS + elseif (type? SELECTION CH#ORCHARLOOKS) + then (* ;  "Get the looks of the selected text") - (GETSEL CH#ORCHARLOOKS CH#) - elseif (NULL CH#ORCHARLOOKS) - then (* ; + (GETSEL CH#ORCHARLOOKS CH#) + elseif (NULL CH#ORCHARLOOKS) + then (* ;  "Get the looks of the selected text") - (GETSEL (FGETTOBJ TEXTOBJ SEL) - CH#)) - TEXTOBJ]) + (GETSEL (FGETTOBJ TEXTOBJ SEL) + CH#]) (DOCOBJ-REGISTER-OBJECT [LAMBDA (OBJECT) (* ; "Edited 23-Oct-87 14:48 by Koomen") - - (* ;; "The following ensures that all DocObjects get a chance to do whatever they want to before and after hardcopying. Each DocObject can associate a BEFOREHARDCOPYFN and/or an AFTERHARDCOPYFN with the ImageObj representing the DocObject") + + (* ;; "The following ensures that all DocObjects get a chance to do whatever they want to before and after hardcopying. Each DocObject can associate a BEFOREHARDCOPYFN and/or an AFTERHARDCOPYFN with the ImageObj representing the DocObject") (DECLARE (SPECVARS TEXTOBJ)) (if OBJECT @@ -241,8 +226,11 @@ XKERN _ 0]) (DOCOBJ-WAIT-MOUSE - [LAMBDA (STREAM) (* ; "Edited 8-Oct-87 23:46 by Koomen") - (while (NOT (MOUSESTATE UP)) bind (REGION _ (DSPCLIPPINGREGION NIL STREAM)) + [LAMBDA (STREAM) (* ; + "Edited 8-Oct-87 23:46 by Koomen") + + (while (NOT (MOUSESTATE UP)) bind (REGION _ (DSPCLIPPINGREGION + NIL STREAM)) do (if (NOT (INSIDEP REGION (LASTMOUSEX STREAM) (LASTMOUSEY STREAM))) then (RETURN NIL)) finally (RETURN T]) @@ -354,9 +342,10 @@ (DEFINEQ (DOCOBJ-ACQUIRE-EVALED-OBJECT - [LAMBDA NIL (* Koomen "30-Sep-86 02:08") - - (* * This is the original function called under GET.OBJ.FROM.USER * *) + [LAMBDA NIL (* Koomen "30-Sep-86 02:08") + + (* * This is the original function called under + GET.OBJ.FROM.USER * *) (PROMPTFOREVALED "Form to eval: "]) ) @@ -371,7 +360,7 @@ (DEFINEQ (DOCOBJ-ACQUIRE-SNAPPED-OBJECT - [LAMBDA NIL (* Koomen "26-Sep-86 16:55") + [LAMBDA NIL (* Koomen "26-Sep-86 16:55") (GETREGION]) ) @@ -393,23 +382,29 @@ (DEFINEQ (DOCOBJ-EDIT-TIMESTAMP - [LAMBDA (TIMESTAMP) (* Koomen " 4-Feb-87 14:08") - (PROG [(FORMAT (EDIT-DATEFORMAT (fetch (DOCOBJ-TIMESTAMP FORMAT) of TIMESTAMP] + [LAMBDA (TIMESTAMP) (* Koomen " 4-Feb-87 14:08") + (PROG [(FORMAT (EDIT-DATEFORMAT (fetch (DOCOBJ-TIMESTAMP FORMAT) + of TIMESTAMP] (if FORMAT - then (replace (DOCOBJ-TIMESTAMP FORMAT) of TIMESTAMP with FORMAT) - (replace (DOCOBJ-TIMESTAMP DATESTR) of TIMESTAMP with NIL) + then (replace (DOCOBJ-TIMESTAMP FORMAT) of TIMESTAMP + with FORMAT) + (replace (DOCOBJ-TIMESTAMP DATESTR) of TIMESTAMP + with NIL) (RETURN TIMESTAMP]) (DOCOBJ-MAKE-TIMESTAMP - [LAMBDA NIL (* Koomen " 4-Feb-87 13:54") - (DECLARE (GLOBALVARS DOCOBJ-TIMESTAMP-IMAGEFNS DocObjectsTimeStampFormat)) + [LAMBDA NIL (* Koomen " 4-Feb-87 13:54") + (DECLARE (GLOBALVARS DOCOBJ-TIMESTAMP-IMAGEFNS + DocObjectsTimeStampFormat)) (IMAGEOBJCREATE (create DOCOBJ-TIMESTAMP - IDATE _ (IDATE) - FORMAT _ DocObjectsTimeStampFormat) + IDATE _ (IDATE) + FORMAT _ DocObjectsTimeStampFormat) DOCOBJ-TIMESTAMP-IMAGEFNS]) (DOCOBJ-MAKE-TIMESTAMP-IMAGEFNS - [LAMBDA NIL (* ; "Edited 8-Oct-87 22:53 by Koomen") + [LAMBDA NIL (* ; + "Edited 8-Oct-87 22:53 by Koomen") + (LET ((DISPLAYFN (FUNCTION DOCOBJ-TIMESTAMP-DISPLAYFN)) (IMAGEBOXFN (FUNCTION DOCOBJ-TIMESTAMP-IMAGEBOXFN)) (PUTFN (FUNCTION DOCOBJ-TIMESTAMP-PUTFN)) @@ -423,58 +418,68 @@ (WHENCOPIEDFN (FUNCTION NILL)) (WHENOPERATEDONFN (FUNCTION NILL)) (PREPRINTFN (FUNCTION DOCOBJ-TIMESTAMP-PREPRINTFN))) - (IMAGEFNSCREATE DISPLAYFN IMAGEBOXFN PUTFN GETFN COPYFN BUTTONEVENTINFN COPYBUTTONEVENTINFN - WHENMOVEDFN WHENINSERTEDFN WHENDELETEDFN WHENCOPIEDFN WHENOPERATEDONFN PREPRINTFN]) + (IMAGEFNSCREATE DISPLAYFN IMAGEBOXFN PUTFN GETFN COPYFN + BUTTONEVENTINFN COPYBUTTONEVENTINFN WHENMOVEDFN + WHENINSERTEDFN WHENDELETEDFN WHENCOPIEDFN + WHENOPERATEDONFN PREPRINTFN]) (DOCOBJ-TIMESTAMP-BUTTONEVENTINFN - [LAMBDA (IMAGEOBJ WINDOWSTREAM SELECTION RELX RELY WINDOW HOSTSTREAM BUTTON) - (* ; "Edited 8-Oct-87 23:43 by Koomen") + [LAMBDA (IMAGEOBJ WINDOWSTREAM SELECTION RELX RELY WINDOW HOSTSTREAM + BUTTON) (* ; + "Edited 8-Oct-87 23:43 by Koomen") + (if (AND (EQ BUTTON 'MIDDLE) (DOCOBJ-WAIT-MOUSE WINDOWSTREAM)) then (ALLOW.BUTTON.EVENTS) - (if (DOCOBJ-EDIT-TIMESTAMP (IMAGEOBJPROP IMAGEOBJ 'OBJECTDATUM)) + (if (DOCOBJ-EDIT-TIMESTAMP (IMAGEOBJPROP IMAGEOBJ + 'OBJECTDATUM)) then 'CHANGED]) (DOCOBJ-TIMESTAMP-COPYFN - [LAMBDA (IMAGEOBJ SOURCEHOSTSTREAM TARGETHOSTSTREAM) (* Koomen "31-Jan-87 00:30") + [LAMBDA (IMAGEOBJ SOURCEHOSTSTREAM TARGETHOSTSTREAM) + (* Koomen "31-Jan-87 00:30") (DECLARE (GLOBALVARS DOCOBJ-TIMESTAMP-IMAGEFNS)) (IMAGEOBJCREATE (COPYALL (IMAGEOBJPROP IMAGEOBJ 'OBJECTDATUM)) DOCOBJ-TIMESTAMP-IMAGEFNS]) (DOCOBJ-TIMESTAMP-DISPLAYFN - [LAMBDA (IMAGEOBJ IMAGESTREAM IMAGESTREAMTYPE HOSTSTREAM) (* Koomen " 4-Feb-87 14:11") - (PRINTOUT IMAGESTREAM (DOCOBJ-TIMESTAMP-TO-STRING (IMAGEOBJPROP IMAGEOBJ 'OBJECTDATUM]) + [LAMBDA (IMAGEOBJ IMAGESTREAM IMAGESTREAMTYPE HOSTSTREAM) + (* Koomen " 4-Feb-87 14:11") + (PRINTOUT IMAGESTREAM (DOCOBJ-TIMESTAMP-TO-STRING + (IMAGEOBJPROP IMAGEOBJ 'OBJECTDATUM]) (DOCOBJ-TIMESTAMP-GETFN - [LAMBDA (FILESTREAM) (* Koomen "31-Jan-87 00:19") + [LAMBDA (FILESTREAM) (* Koomen "31-Jan-87 00:19") (DECLARE (GLOBALVARS DOCOBJ-TIMESTAMP-IMAGEFNS)) (IMAGEOBJCREATE (READ FILESTREAM) DOCOBJ-TIMESTAMP-IMAGEFNS]) (DOCOBJ-TIMESTAMP-IMAGEBOXFN - [LAMBDA (IMAGEOBJ IMAGESTREAM CURRENTX RIGHTMARGIN) (* Koomen " 9-Feb-87 17:13") + [LAMBDA (IMAGEOBJ IMAGESTREAM CURRENTX RIGHTMARGIN) + (* Koomen " 9-Feb-87 17:13") (LET* ((TIMESTAMP (IMAGEOBJPROP IMAGEOBJ 'OBJECTDATUM)) (TIMESTRING (DOCOBJ-TIMESTAMP-TO-STRING TIMESTAMP))) (DOCOBJ-STRING-IMAGEBOX TIMESTRING IMAGESTREAM]) (DOCOBJ-TIMESTAMP-PREPRINTFN - [LAMBDA (IMAGEOBJ) (* ; "Edited 8-Oct-87 22:29 by Koomen") + [LAMBDA (IMAGEOBJ) (* ; + "Edited 8-Oct-87 22:29 by Koomen") + (DOCOBJ-TIMESTAMP-TO-STRING (IMAGEOBJPROP IMAGEOBJ 'OBJECTDATUM]) (DOCOBJ-TIMESTAMP-PUTFN - [LAMBDA (IMAGEOBJ FILESTREAM) (* Koomen " 4-Feb-87 14:08") + [LAMBDA (IMAGEOBJ FILESTREAM) (* Koomen " 4-Feb-87 14:08") (PROG [(TIMESTAMP (IMAGEOBJPROP IMAGEOBJ 'OBJECTDATUM] (replace (DOCOBJ-TIMESTAMP IDATE) of TIMESTAMP with (IDATE)) (replace (DOCOBJ-TIMESTAMP DATESTR) of TIMESTAMP with NIL) (PRINT TIMESTAMP FILESTREAM]) (DOCOBJ-TIMESTAMP-TO-STRING - [LAMBDA (TIMESTAMP) (* Koomen " 4-Feb-87 14:12") + [LAMBDA (TIMESTAMP) (* Koomen " 4-Feb-87 14:12") (OR (STRINGP (fetch (DOCOBJ-TIMESTAMP DATESTR) of TIMESTAMP)) - (replace (DOCOBJ-TIMESTAMP DATESTR) of TIMESTAMP with (GDATE (fetch (DOCOBJ-TIMESTAMP IDATE) - of TIMESTAMP) - (fetch (DOCOBJ-TIMESTAMP FORMAT) - of TIMESTAMP]) + (replace (DOCOBJ-TIMESTAMP DATESTR) of TIMESTAMP + with (GDATE (fetch (DOCOBJ-TIMESTAMP IDATE) of TIMESTAMP) + (fetch (DOCOBJ-TIMESTAMP FORMAT) of TIMESTAMP]) ) (RPAQ? DocObjectsTimeStampFormat ) @@ -491,14 +496,18 @@ (DEFINEQ (DOCOBJ-MAKE-FILESTAMP - [LAMBDA NIL (* ; "Edited 8-Oct-87 22:55 by Koomen") + [LAMBDA NIL (* ; + "Edited 8-Oct-87 22:55 by Koomen") + (DECLARE (SPECVARS TEXTOBJ) (GLOBALVARS DOCOBJ-FILESTAMP-IMAGEFNS)) (IMAGEOBJCREATE (DOCOBJ-FILESTAMP-NEW-FULLNAME TEXTOBJ) DOCOBJ-FILESTAMP-IMAGEFNS]) (DOCOBJ-MAKE-FILESTAMP-IMAGEFNS - [LAMBDA NIL (* ; "Edited 8-Oct-87 22:54 by Koomen") + [LAMBDA NIL (* ; + "Edited 8-Oct-87 22:54 by Koomen") + (LET ((DISPLAYFN (FUNCTION DOCOBJ-FILESTAMP-DISPLAYFN)) (IMAGEBOXFN (FUNCTION DOCOBJ-FILESTAMP-IMAGEBOXFN)) (PUTFN (FUNCTION DOCOBJ-FILESTAMP-PUTFN)) @@ -512,33 +521,46 @@ (WHENCOPIEDFN (FUNCTION NILL)) (WHENOPERATEDONFN (FUNCTION NILL)) (PREPRINTFN (FUNCTION DOCOBJ-FILESTAMP-PREPRINTFN))) - (IMAGEFNSCREATE DISPLAYFN IMAGEBOXFN PUTFN GETFN COPYFN BUTTONEVENTINFN COPYBUTTONEVENTINFN - WHENMOVEDFN WHENINSERTEDFN WHENDELETEDFN WHENCOPIEDFN WHENOPERATEDONFN PREPRINTFN]) + (IMAGEFNSCREATE DISPLAYFN IMAGEBOXFN PUTFN GETFN COPYFN + BUTTONEVENTINFN COPYBUTTONEVENTINFN WHENMOVEDFN + WHENINSERTEDFN WHENDELETEDFN WHENCOPIEDFN + WHENOPERATEDONFN PREPRINTFN]) (DOCOBJ-FILESTAMP-COPYFN - [LAMBDA (IMAGEOBJ SOURCEHOSTSTREAM TARGETHOSTSTREAM) (* Koomen "31-Jan-87 04:10") + [LAMBDA (IMAGEOBJ SOURCEHOSTSTREAM TARGETHOSTSTREAM) + (* Koomen "31-Jan-87 04:10") (DECLARE (GLOBALVARS DOCOBJ-FILESTAMP-IMAGEFNS)) (IMAGEOBJCREATE (IMAGEOBJPROP IMAGEOBJ 'OBJECTDATUM) DOCOBJ-FILESTAMP-IMAGEFNS]) (DOCOBJ-FILESTAMP-DISPLAYFN - [LAMBDA (IMAGEOBJ IMAGESTREAM IMAGESTREAMTYPE HOSTSTREAM) (* ; "Edited 8-Oct-87 22:56 by Koomen") + [LAMBDA (IMAGEOBJ IMAGESTREAM IMAGESTREAMTYPE HOSTSTREAM) + (* ; + "Edited 8-Oct-87 22:56 by Koomen") + (PRINTOUT IMAGESTREAM (DOCOBJ-FILESTAMP-GET-FULLNAME IMAGEOBJ]) (DOCOBJ-FILESTAMP-GETFN - [LAMBDA (FILESTREAM) (* ; "Edited 8-Oct-87 22:58 by Koomen") + [LAMBDA (FILESTREAM) (* ; + "Edited 8-Oct-87 22:58 by Koomen") + (DECLARE (GLOBALVARS DOCOBJ-FILESTAMP-IMAGEFNS)) (LET ((FULLNAME (READ FILESTREAM))) (IMAGEOBJCREATE (AND FULLNAME (MKSTRING FULLNAME)) DOCOBJ-FILESTAMP-IMAGEFNS]) (DOCOBJ-FILESTAMP-IMAGEBOXFN - [LAMBDA (IMAGEOBJ IMAGESTREAM CURRENTX RIGHTMARGIN) (* ; "Edited 8-Oct-87 22:59 by Koomen") + [LAMBDA (IMAGEOBJ IMAGESTREAM CURRENTX RIGHTMARGIN) + (* ; + "Edited 8-Oct-87 22:59 by Koomen") + (LET ((FULLNAME (DOCOBJ-FILESTAMP-GET-FULLNAME IMAGEOBJ))) (DOCOBJ-STRING-IMAGEBOX FULLNAME IMAGESTREAM]) (DOCOBJ-FILESTAMP-GET-FULLNAME - [LAMBDA (IMAGEOBJ NODEFAULTFLG) (* ; "Edited 8-Oct-87 22:59 by Koomen") + [LAMBDA (IMAGEOBJ NODEFAULTFLG) (* ; + "Edited 8-Oct-87 22:59 by Koomen") + (PROG [(FULLNAME (IMAGEOBJPROP IMAGEOBJ 'OBJECTDATUM] (RETURN (OR (if FULLNAME then (if (LITATOM FULLNAME) @@ -549,7 +571,9 @@ then "-- not yet filed --"]) (DOCOBJ-FILESTAMP-NEW-FULLNAME - [LAMBDA (TEXTOBJ) (* ; "Edited 8-Oct-87 22:52 by Koomen") + [LAMBDA (TEXTOBJ) (* ; + "Edited 8-Oct-87 22:52 by Koomen") + (PROG ((FULLNAME (FULLNAME TEXTOBJ))) (RETURN (if FULLNAME then (if (LITATOM FULLNAME) @@ -558,11 +582,15 @@ then (COPYALL FULLNAME]) (DOCOBJ-FILESTAMP-PREPRINTFN - [LAMBDA (IMAGEOBJ) (* ; "Edited 8-Oct-87 22:56 by Koomen") + [LAMBDA (IMAGEOBJ) (* ; + "Edited 8-Oct-87 22:56 by Koomen") + (DOCOBJ-FILESTAMP-GET-FULLNAME IMAGEOBJ T]) (DOCOBJ-FILESTAMP-PUTFN - [LAMBDA (IMAGEOBJ FILESTREAM) (* ; "Edited 8-Oct-87 22:39 by Koomen") + [LAMBDA (IMAGEOBJ FILESTREAM) (* ; + "Edited 8-Oct-87 22:39 by Koomen") + (PROG [(FULLNAME (MKSTRING (FULLNAME FILESTREAM] (IMAGEOBJPROP IMAGEOBJ 'OBJECTDATUM FULLNAME) (PRINT FULLNAME FILESTREAM]) @@ -582,15 +610,17 @@ (DEFINEQ (DOCOBJ-MAKE-HRULE - [LAMBDA NIL (* Koomen " 4-Feb-87 16:12") - (HRULE.CREATE (bind WIDTH for I from 1 while (AND (SETQ WIDTH (DOCOBJ-HRULE-GET-WIDTH - (ODDP I) - (EQ I 1))) - (GREATERP WIDTH 0)) collect WIDTH]) + [LAMBDA NIL (* Koomen " 4-Feb-87 16:12") + (HRULE.CREATE (bind WIDTH for I from 1 + while (AND (SETQ WIDTH (DOCOBJ-HRULE-GET-WIDTH + (ODDP I) + (EQ I 1))) + (GREATERP WIDTH 0)) collect WIDTH]) (DOCOBJ-EDIT-HRULE - [LAMBDA (IMAGEOBJ) (* Koomen " 4-Feb-87 15:45") - (PROG [NEWWIDTH (OLDWIDTH (MKLIST (IMAGEOBJPROP IMAGEOBJ 'RULE.WIDTH] + [LAMBDA (IMAGEOBJ) (* Koomen " 4-Feb-87 15:45") + (PROG [NEWWIDTH (OLDWIDTH (MKLIST (IMAGEOBJPROP IMAGEOBJ + 'RULE.WIDTH] (SETQ NEWWIDTH (COPYALL OLDWIDTH)) (if (AND (NLSETQ (EDITE NEWWIDTH)) (NOT (EQUAL NEWWIDTH OLDWIDTH))) @@ -598,18 +628,18 @@ (RETURN IMAGEOBJ]) (DOCOBJ-HRULE-INIT - [LAMBDA NIL (* Koomen " 4-Feb-87 16:13") - - (* * provide HRULE editing * *) + [LAMBDA NIL (* Koomen " 4-Feb-87 16:13") + + (* * provide HRULE editing * *) (DECLARE (GLOBALVARS HRULE.IMAGEFNS)) - (replace (IMAGEFNS BUTTONEVENTINFN) of HRULE.IMAGEFNS with (FUNCTION DOCOBJ-HRULE-BUTTONEVENTINFN - )) + (replace (IMAGEFNS BUTTONEVENTINFN) of HRULE.IMAGEFNS + with (FUNCTION DOCOBJ-HRULE-BUTTONEVENTINFN)) NIL]) (DOCOBJ-HRULE-GET-WIDTH - [LAMBDA (RULE? FIRST?) (* ; - "Edited 24-May-93 23:35 by sybalsky:mv:envos") + [LAMBDA (RULE? FIRST?) (* ; + "Edited 24-May-93 23:35 by sybalsky:mv:envos") (DECLARE (GLOBALVARS DOCOBJ-HRULE-BLANK-PAD DOCOBJ-HRULE-RULE-PAD LASTMOUSEX LASTMOUSEY)) [COND ((NULL DOCOBJ-HRULE-RULE-PAD) @@ -624,8 +654,10 @@ T]) (DOCOBJ-HRULE-BUTTONEVENTINFN - [LAMBDA (IMAGEOBJ WINDOWSTREAM SELECTION RELX RELY WINDOW HOSTSTREAM BUTTON) - (* ; "Edited 8-Oct-87 23:43 by Koomen") + [LAMBDA (IMAGEOBJ WINDOWSTREAM SELECTION RELX RELY WINDOW HOSTSTREAM + BUTTON) (* ; + "Edited 8-Oct-87 23:43 by Koomen") + (if (AND (EQ BUTTON 'MIDDLE) (DOCOBJ-WAIT-MOUSE WINDOWSTREAM)) then (ALLOW.BUTTON.EVENTS) @@ -658,6 +690,7 @@ (DOCOBJ-MAKE-INCLUDE [LAMBDA NIL (* ; "Edited 15-Oct-87 14:54 by Koomen") + (DECLARE (SPECVARS TEXTOBJ)) (PROG ((SUBFILE (TEDIT.GETINPUT TEXTOBJ "Enter file name: "))) (if SUBFILE @@ -666,6 +699,7 @@ (DOCOBJ-MAKE-INCLUDE-IMAGEFNS [LAMBDA NIL (* ; "Edited 23-Oct-87 00:20 by Koomen") + (LET ((DISPLAYFN (FUNCTION DOCOBJ-INCLUDE-DISPLAYFN)) (IMAGEBOXFN (FUNCTION DOCOBJ-INCLUDE-IMAGEBOXFN)) (PUTFN (FUNCTION DOCOBJ-INCLUDE-PUTFN)) @@ -679,7 +713,7 @@ (WHENCOPIEDFN (FUNCTION NILL)) (WHENOPERATEDONFN (FUNCTION NILL)) (PREPRINTFN (FUNCTION DOCOBJ-INCLUDE-PREPRINTFN))) - (IMAGEFNSCREATE DISPLAYFN IMAGEBOXFN PUTFN GETFN COPYFN BUTTONEVENTINFN COPYBUTTONEVENTINFN + (IMAGEFNSCREATE DISPLAYFN IMAGEBOXFN PUTFN GETFN COPYFN BUTTONEVENTINFN COPYBUTTONEVENTINFN WHENMOVEDFN WHENINSERTEDFN WHENDELETEDFN WHENCOPIEDFN WHENOPERATEDONFN PREPRINTFN]) (DOCOBJ-INCLUDE-CREATE-OBJ @@ -700,7 +734,8 @@ IMAGEOBJ]) (DOCOBJ-INCLUDE-EDIT - [LAMBDA (INCLOBJ TSTREAM) (* ; "Edited 12-May-2024 09:03 by rmk") + [LAMBDA (INCLOBJ TSTREAM) (* ; "Edited 26-Dec-2024 00:23 by rmk") + (* ; "Edited 12-May-2024 09:03 by rmk") (* ; "Edited 9-May-2018 11:09 by rmk:") (* ; "Edited 9-May-2018 10:35 by rmk:") (* ; "Edited 26-Oct-87 19:57 by Koomen") @@ -727,31 +762,32 @@ (NOT (EQUAL NEWNAME (fetch (INCLOBJ FILENAME) of INCLOBJ] then (replace (INCLOBJ FILENAME) of INCLOBJ with NEWNAME) T))) - (EDIT.FILE (for W in (OPENWINDOWS) - bind [FULLNAME _ (OR (FINDFILE-WITH-EXTENSIONS - (fetch (INCLOBJ FILENAME) of INCLOBJ) - (CONS (PACKFILENAME.STRING 'HOST (FILENAMEFIELD - TXTFILE - 'HOST) - 'DIRECTORY - (FILENAMEFIELD TXTFILE 'DIRECTORY)) - DIRECTORIES) - *TEDIT-EXTENSIONS*) - (INFILEP (fetch (INCLOBJ FILENAME) of INCLOBJ] - first (if (NULL FULLNAME) - then (TEDIT.PROMPTPRINT TSTREAM "Can't find " T) - (TEDIT.PROMPTPRINT TSTREAM (fetch (INCLOBJ FILENAME) - of INCLOBJ)) - (RETURN)) when (SETQ W (DOCOBJ-INCLUDE-EDIT-WINDOWP FULLNAME W)) + (EDIT.FILE (for W FULLNAME (TXTFILE _ TSTREAM) in (OPENWINDOWS) + first [SETQ FULLNAME (OR (FINDFILE-WITH-EXTENSIONS + (fetch (INCLOBJ FILENAME) of INCLOBJ) + (CONS (PACKFILENAME.STRING 'HOST (FILENAMEFIELD + TXTFILE + 'HOST) + 'DIRECTORY + (FILENAMEFIELD TXTFILE 'DIRECTORY)) + DIRECTORIES) + *TEDIT-EXTENSIONS*) + (INFILEP (fetch (INCLOBJ FILENAME) of INCLOBJ] + (CL:UNLESS FULLNAME + (TEDIT.PROMPTPRINT TSTREAM (CONCAT "Can't find " (fetch (INCLOBJ + FILENAME) + of INCLOBJ)) + T) + (RETURN)) when (SETQ W (DOCOBJ-INCLUDE-EDIT-WINDOWP FULLNAME W)) do (TOTOPW W) (GIVE.TTY.PROCESS W) - (RETURN) finally (TEDIT (MKATOM FULLNAME)))) - (ENABLE (if (NOT (fetch (INCLOBJ ENABLEDP) of INCLOBJ)) - then (replace (INCLOBJ ENABLEDP) of INCLOBJ with T) - T)) - (DISABLE (if (fetch (INCLOBJ ENABLEDP) of INCLOBJ) - then (replace (INCLOBJ ENABLEDP) of INCLOBJ with NIL) - T)) + (RETURN) finally (TEDIT FULLNAME))) + (ENABLE (CL:UNLESS (fetch (INCLOBJ ENABLEDP) of INCLOBJ) + (replace (INCLOBJ ENABLEDP) of INCLOBJ with T) + T)) + (DISABLE (CL:WHEN (fetch (INCLOBJ ENABLEDP) of INCLOBJ) + (replace (INCLOBJ ENABLEDP) of INCLOBJ with NIL) + T)) NIL]) (DOCOBJ-INCLUDE-EDIT-WINDOWP @@ -872,6 +908,7 @@ (DOCOBJ-INCLUDE-COPYFN [LAMBDA (IMAGEOBJ SOURCEHOSTSTREAM TARGETHOSTSTREAM) (* ; "Edited 23-Oct-87 00:13 by Koomen") + (DOCOBJ-INCLUDE-CREATE-OBJ (COPYALL (IMAGEOBJPROP IMAGEOBJ 'OBJECTDATUM]) (DOCOBJ-INCLUDE-DISPLAYFN @@ -886,24 +923,28 @@ (DOCOBJ-INCLUDE-GETFN [LAMBDA (FILESTREAM) (* ; "Edited 26-Oct-87 22:00 by Koomen") + (LET ((INCLOBJ (READ FILESTREAM))) (if (NLISTP INCLOBJ) then - (* ;; "Version 1: Just filename as string") - - (* ;; "Version 2: List whose CAR is filename") + + (* ;; "Version 1: Just filename as string") + + (* ;; "Version 2: List whose CAR is filename") (SETQ INCLOBJ (create INCLOBJ - FILENAME _ INCLOBJ))) + FILENAME _ INCLOBJ))) (if (NLISTP (CDR INCLOBJ)) then - (* ;; "Version 3: List whose CADR is ENABLEDP flag") + + (* ;; "Version 3: List whose CADR is ENABLEDP flag") (NCONC1 INCLOBJ T)) (DOCOBJ-INCLUDE-CREATE-OBJ INCLOBJ]) (DOCOBJ-INCLUDE-IMAGEBOXFN [LAMBDA (IMAGEOBJ IMAGESTREAM CURRENTX RIGHTMARGIN) (* ; "Edited 23-Oct-87 14:41 by Koomen") + (OR (LET [(INCLOBJ (IMAGEOBJPROP IMAGEOBJ 'OBJECTDATUM] (if [AND INCLOBJ (OR (EQ (IMAGESTREAMTYPE IMAGESTREAM) 'DISPLAY) @@ -914,17 +955,19 @@ else 'DONTINCLDISPLAYSTRING)) IMAGESTREAM))) (create IMAGEBOX - XSIZE _ 0 - YSIZE _ 0 - YDESC _ 0 - XKERN _ 0]) + XSIZE _ 0 + YSIZE _ 0 + YDESC _ 0 + XKERN _ 0]) (DOCOBJ-INCLUDE-PREPRINTFN [LAMBDA (IMAGEOBJ) (* ; "Edited 23-Oct-87 14:19 by Koomen") + (fetch (INCLOBJ FILENAME) of (IMAGEOBJPROP IMAGEOBJ 'OBJECTDATUM]) (DOCOBJ-INCLUDE-PUTFN [LAMBDA (IMAGEOBJ FILESTREAM) (* ; "Edited 15-Oct-87 17:17 by Koomen") + (PRINT (IMAGEOBJPROP IMAGEOBJ 'OBJECTDATUM) FILESTREAM]) ) @@ -946,29 +989,29 @@ (PUTPROPS DOC-OBJECTS MAKEFILE-ENVIRONMENT (:READTABLE "INTERLISP" :PACKAGE "INTERLISP" :BASE 10)) ) (DECLARE%: DONTCOPY - (FILEMAP (NIL (9262 22844 (DOCOBJ-ACQUIRE-OBJECT 9272 . 10273) (DOCOBJ-INIT 10275 . 10897) ( -DOCOBJ-TEDIT-MENU-ENTRY 10899 . 11306) (DOCOBJ-GET-LOOKS 11308 . 13768) (DOCOBJ-REGISTER-OBJECT 13770 - . 14408) (DOCOBJ-STRING-IMAGEBOX 14410 . 15466) (DOCOBJ-WAIT-MOUSE 15468 . 15859) ( -DOCOBJ-BEFOREHARDCOPYFN 15861 . 21331) (DOCOBJ-AFTERHARDCOPYFN 21333 . 22842)) (22874 23139 ( -DOCOBJ-ACQUIRE-EVALED-OBJECT 22884 . 23137)) (23339 23496 (DOCOBJ-ACQUIRE-SNAPPED-OBJECT 23349 . 23494 -)) (23818 28482 (DOCOBJ-EDIT-TIMESTAMP 23828 . 24289) (DOCOBJ-MAKE-TIMESTAMP 24291 . 24688) ( -DOCOBJ-MAKE-TIMESTAMP-IMAGEFNS 24690 . 25709) (DOCOBJ-TIMESTAMP-BUTTONEVENTINFN 25711 . 26186) ( -DOCOBJ-TIMESTAMP-COPYFN 26188 . 26473) (DOCOBJ-TIMESTAMP-DISPLAYFN 26475 . 26696) ( -DOCOBJ-TIMESTAMP-GETFN 26698 . 26953) (DOCOBJ-TIMESTAMP-IMAGEBOXFN 26955 . 27272) ( -DOCOBJ-TIMESTAMP-PREPRINTFN 27274 . 27489) (DOCOBJ-TIMESTAMP-PUTFN 27491 . 27875) ( -DOCOBJ-TIMESTAMP-TO-STRING 27877 . 28480)) (28776 32750 (DOCOBJ-MAKE-FILESTAMP 28786 . 29111) ( -DOCOBJ-MAKE-FILESTAMP-IMAGEFNS 29113 . 30104) (DOCOBJ-FILESTAMP-COPYFN 30106 . 30381) ( -DOCOBJ-FILESTAMP-DISPLAYFN 30383 . 30595) (DOCOBJ-FILESTAMP-GETFN 30597 . 30934) ( -DOCOBJ-FILESTAMP-IMAGEBOXFN 30936 . 31204) (DOCOBJ-FILESTAMP-GET-FULLNAME 31206 . 31808) ( -DOCOBJ-FILESTAMP-NEW-FULLNAME 31810 . 32267) (DOCOBJ-FILESTAMP-PREPRINTFN 32269 . 32462) ( -DOCOBJ-FILESTAMP-PUTFN 32464 . 32748)) (33056 35661 (DOCOBJ-MAKE-HRULE 33066 . 33540) ( -DOCOBJ-EDIT-HRULE 33542 . 33984) (DOCOBJ-HRULE-INIT 33986 . 34386) (DOCOBJ-HRULE-GET-WIDTH 34388 . -35218) (DOCOBJ-HRULE-BUTTONEVENTINFN 35220 . 35659)) (36080 44419 (DOCOBJ-MAKE-INCLUDE 36090 . 36490) -(DOCOBJ-MAKE-INCLUDE-IMAGEFNS 36492 . 37495) (DOCOBJ-INCLUDE-CREATE-OBJ 37497 . 38265) ( -DOCOBJ-INCLUDE-EDIT 38267 . 42536) (DOCOBJ-INCLUDE-EDIT-WINDOWP 42538 . 43394) ( -DOCOBJ-INCLUDE-RESET-OBJ 43396 . 44417)) (44420 53233 (DOCOBJ-INCLUDE-BEFOREHARDCOPYFN 44430 . 47924) -(DOCOBJ-INCLUDE-CLEANUPFN 47926 . 49445) (DOCOBJ-INCLUDE-BUTTONEVENTINFN 49447 . 50124) ( -DOCOBJ-INCLUDE-COPYFN 50126 . 50343) (DOCOBJ-INCLUDE-DISPLAYFN 50345 . 51097) (DOCOBJ-INCLUDE-GETFN -51099 . 51809) (DOCOBJ-INCLUDE-IMAGEBOXFN 51811 . 52803) (DOCOBJ-INCLUDE-PREPRINTFN 52805 . 53023) ( -DOCOBJ-INCLUDE-PUTFN 53025 . 53231))))) + (FILEMAP (NIL (7528 21326 (DOCOBJ-ACQUIRE-OBJECT 7538 . 8539) (DOCOBJ-INIT 8541 . 9169) ( +DOCOBJ-TEDIT-MENU-ENTRY 9171 . 9593) (DOCOBJ-GET-LOOKS 9595 . 12165) (DOCOBJ-REGISTER-OBJECT 12167 . +12821) (DOCOBJ-STRING-IMAGEBOX 12823 . 13879) (DOCOBJ-WAIT-MOUSE 13881 . 14341) ( +DOCOBJ-BEFOREHARDCOPYFN 14343 . 19813) (DOCOBJ-AFTERHARDCOPYFN 19815 . 21324)) (21356 21623 ( +DOCOBJ-ACQUIRE-EVALED-OBJECT 21366 . 21621)) (21823 21965 (DOCOBJ-ACQUIRE-SNAPPED-OBJECT 21833 . 21963 +)) (22287 27083 (DOCOBJ-EDIT-TIMESTAMP 22297 . 22826) (DOCOBJ-MAKE-TIMESTAMP 22828 . 23239) ( +DOCOBJ-MAKE-TIMESTAMP-IMAGEFNS 23241 . 24311) (DOCOBJ-TIMESTAMP-BUTTONEVENTINFN 24313 . 24844) ( +DOCOBJ-TIMESTAMP-COPYFN 24846 . 25171) (DOCOBJ-TIMESTAMP-DISPLAYFN 25173 . 25466) ( +DOCOBJ-TIMESTAMP-GETFN 25468 . 25708) (DOCOBJ-TIMESTAMP-IMAGEBOXFN 25710 . 26066) ( +DOCOBJ-TIMESTAMP-PREPRINTFN 26068 . 26299) (DOCOBJ-TIMESTAMP-PUTFN 26301 . 26670) ( +DOCOBJ-TIMESTAMP-TO-STRING 26672 . 27081)) (27377 31684 (DOCOBJ-MAKE-FILESTAMP 27387 . 27728) ( +DOCOBJ-MAKE-FILESTAMP-IMAGEFNS 27730 . 28772) (DOCOBJ-FILESTAMP-COPYFN 28774 . 29089) ( +DOCOBJ-FILESTAMP-DISPLAYFN 29091 . 29379) (DOCOBJ-FILESTAMP-GETFN 29381 . 29734) ( +DOCOBJ-FILESTAMP-IMAGEBOXFN 29736 . 30074) (DOCOBJ-FILESTAMP-GET-FULLNAME 30076 . 30694) ( +DOCOBJ-FILESTAMP-NEW-FULLNAME 30696 . 31169) (DOCOBJ-FILESTAMP-PREPRINTFN 31171 . 31380) ( +DOCOBJ-FILESTAMP-PUTFN 31382 . 31682)) (31990 34487 (DOCOBJ-MAKE-HRULE 32000 . 32414) ( +DOCOBJ-EDIT-HRULE 32416 . 32888) (DOCOBJ-HRULE-INIT 32890 . 33222) (DOCOBJ-HRULE-GET-WIDTH 33224 . +34035) (DOCOBJ-HRULE-BUTTONEVENTINFN 34037 . 34485)) (34906 43454 (DOCOBJ-MAKE-INCLUDE 34916 . 35317) +(DOCOBJ-MAKE-INCLUDE-IMAGEFNS 35319 . 36324) (DOCOBJ-INCLUDE-CREATE-OBJ 36326 . 37094) ( +DOCOBJ-INCLUDE-EDIT 37096 . 41571) (DOCOBJ-INCLUDE-EDIT-WINDOWP 41573 . 42429) ( +DOCOBJ-INCLUDE-RESET-OBJ 42431 . 43452)) (43455 52301 (DOCOBJ-INCLUDE-BEFOREHARDCOPYFN 43465 . 46959) +(DOCOBJ-INCLUDE-CLEANUPFN 46961 . 48480) (DOCOBJ-INCLUDE-BUTTONEVENTINFN 48482 . 49159) ( +DOCOBJ-INCLUDE-COPYFN 49161 . 49379) (DOCOBJ-INCLUDE-DISPLAYFN 49381 . 50133) (DOCOBJ-INCLUDE-GETFN +50135 . 50858) (DOCOBJ-INCLUDE-IMAGEBOXFN 50860 . 51869) (DOCOBJ-INCLUDE-PREPRINTFN 51871 . 52090) ( +DOCOBJ-INCLUDE-PUTFN 52092 . 52299))))) STOP diff --git a/lispusers/DOC-OBJECTS.LCOM b/lispusers/DOC-OBJECTS.LCOM index 4747e8939b999850933cb478debb7bfbb73ac616..8cfd4bbb370afd5bfe59f18f548097daae876101 100644 GIT binary patch delta 2222 zcmZuyO>7%g5cY0DO5KpyO4>xBR8u!?l2Tjy-u`&)reMcj+nYGMi+5AkrA3PBqzP%0 z5?Tq=Nv`0^9s{c0~E@yY2o<5Z#=5IHSLX-U4ZKvy(60^!(WuTq-IX<3WG^31uViAM6$O^8v`AjX`|zi0yf-{BFM#XkO1T+`~k?H50Wh6#eMY`UH^Mjaju%+((!iVhL z?utky9*;-~d)R%TjifY2BE5pnq{!ZJY?dYx9osQZ8Wv_*rjR!Zre)+2K7@cdnJpTa zQ4S+WYAu1PY31!|!ZW?H0g8@Fdqi1hA4Qa5S-~P$Lmp79UK4GY^C$AtcqTdy&uYNO zft8&!5T7bk@sGtlF!;^+Jg&@`8sNXqpY!Ab7u_fH2BOtiD#E@9+ zVn2}DT$i7Xx(}uYpC{I{OB`Jp!3SAX5Xb8`Z-?IVnND-^dPexGaWymEKObod@%Qzo zxl}e9>&OVcs6L|B1g7f~U@;?l_H`7J@joC4bQZAZ(<<4LfC>bl_77s*)fELjF!+0Cn?US zyjj6f^O9XL4b+Ie7hKqt8lJcmfA&wh3?O?eYCkBkSSxBO^Ds5W1@>Cwf#};k2Z5}rRZZAS~_8|RE5ALqbej_rJ z4IF~EjxP`44vFy%46{pD7V8+crbEnJJa^$r9aruwE^3|&h2=(Pg%8-R(PKw~5JGG1 ztH*uvD>Jwe?*_#BI6eXUb2Jk_y?Pf1wXDNf+0IR%cddY$&S9Z*W!p6hFG5OUGbf}` y$~pY~hMsRt@+9H=%rOn@1HjR=b---+*Ptlu`x7Ibx(dS*E;owujkXt-_x}&+`xfE= delta 2161 zcmZuzU2GIp6yDiVO1Fh>v4zqfdR%_GZQSk7@6N1=>~!{Sce=APX{XJ^15TCoYWj!3VCQN7COBDzkf<{XfjvNlC zkU-#b8KMHy+^*UWT)biTbTkr)=9?q*X>aHBZvx|@9xp9Lr(Szl+haC1EbPFh#=Z*= zN=s5)|Gc!+y)lSc+W6M-QY^5-v++n$)xfnJr|f|$!8DO#`e~!&JFWq;3e&{{tm?QR zgU|N+R5%extayw#^i9VGNn5+%*DQDmj1qp*m^@@c2I>q!k<67}g2>(o7vb_Zce%%c zjKW7tV69*0DNj)f54u4%yt-;rK7xjSwCre?Kri~NTGFcp!*QpIHh#akrwddVVMV9P zp8Dy?U<}W^v>j_ri?I-g?_$$q&3Jy3)RR@A=-7T;prB}LR(N&ONUgK^0muD?Phxu; zLqHK)I-2%8S32I&yNF85D0c(jZ0Y4Lr4o<^;t(^z6 z!V1=|*ztI|VWG_mFA5*W5$~ZNji zGho^QY%T}_kN1^s5`>D2!`m;25cmmY;+|Or61TG6qhx_pV%M4XfENWy!t?3EQ6hBZ z!cpd%wma^FCPRhU=fcCJI;QV921wij)PvW`5$a?AZZT zCZOg{6K1E+&CL*IG@cUX+~L`CGe>3!$k`(Skn$zAQ(x#?*lu^giuPMdml%cTU!SdPbv`#|M!ua=>gG1P}kkmT|N or+)~m?*&kl