You can subscribe to this list here.
| 2002 |
Jan
|
Feb
|
Mar
(27) |
Apr
(11) |
May
(112) |
Jun
(8) |
Jul
(10) |
Aug
(68) |
Sep
(12) |
Oct
(3) |
Nov
(19) |
Dec
(3) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2003 |
Jan
(6) |
Feb
(15) |
Mar
(20) |
Apr
(22) |
May
(131) |
Jun
(27) |
Jul
(19) |
Aug
(207) |
Sep
(61) |
Oct
(27) |
Nov
(28) |
Dec
(21) |
| 2004 |
Jan
(7) |
Feb
(25) |
Mar
(14) |
Apr
(55) |
May
(15) |
Jun
(2) |
Jul
(14) |
Aug
(28) |
Sep
(29) |
Oct
|
Nov
|
Dec
|
|
From: John M M. <jo...@us...> - 2002-08-06 22:29:06
|
Update of /cvsroot/squeak/squeak/platforms/Mac OS/vm/Developer
In directory usw-pr-cvs1:/tmp/cvs-serv23424/squeak/platforms/Mac OS/vm/Developer
Modified Files:
SqueakPro5.xml
Log Message:
3.2.8B3 Changes to build as netscape carbon plugin
Index: SqueakPro5.xml
===================================================================
RCS file: /cvsroot/squeak/squeak/platforms/Mac OS/vm/Developer/SqueakPro5.xml,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** SqueakPro5.xml 6 Aug 2002 17:43:24 -0000 1.1
--- SqueakPro5.xml 6 Aug 2002 22:29:00 -0000 1.2
***************
*** 129,132 ****
--- 129,141 ----
<SETTING><NAME>HostFlags</NAME><VALUE>All</VALUE></SETTING>
</SETTING>
+ <SETTING>
+ <SETTING><NAME>SearchPath</NAME>
+ <SETTING><NAME>Path</NAME><VALUE>Lamie:Squeak:SqueakAtSourceForge:squeak:platforms:</VALUE></SETTING>
+ <SETTING><NAME>PathFormat</NAME><VALUE>MacOS</VALUE></SETTING>
+ <SETTING><NAME>PathRoot</NAME><VALUE>Absolute</VALUE></SETTING>
+ </SETTING>
+ <SETTING><NAME>Recursive</NAME><VALUE>true</VALUE></SETTING>
[...21960 lines suppressed...]
</FILEREF>
<FILEREF>
! <TARGETNAME>Squeak VM PPC Debug</TARGETNAME>
<PATHTYPE>Name</PATHTYPE>
! <PATH>MSL C.PPC.Lib</PATH>
<PATHFORMAT>MacOS</PATHFORMAT>
</FILEREF>
***************
*** 15255,15258 ****
--- 24347,24356 ----
<PATHTYPE>Name</PATHTYPE>
<PATH>USBManagerLib</PATH>
+ <PATHFORMAT>MacOS</PATHFORMAT>
+ </FILEREF>
+ <FILEREF>
+ <TARGETNAME>Squeak VM PPC Debug</TARGETNAME>
+ <PATHTYPE>Name</PATHTYPE>
+ <PATH>CarbonAccessors.o</PATH>
<PATHFORMAT>MacOS</PATHFORMAT>
</FILEREF>
|
|
From: John M M. <jo...@us...> - 2002-08-06 22:27:11
|
Update of /cvsroot/squeak/squeak/platforms/Mac OS/vm/Documentation
In directory usw-pr-cvs1:/tmp/cvs-serv22771/squeak/platforms/Mac OS/vm/Documentation
Modified Files:
readme
Log Message:
3.2.8B3 Greatly altered the readme.
Index: readme
===================================================================
RCS file: /cvsroot/squeak/squeak/platforms/Mac OS/vm/Documentation/readme,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** readme 6 Aug 2002 17:34:16 -0000 1.1
--- readme 6 Aug 2002 22:27:07 -0000 1.2
***************
*** 1,25 ****
! Updated July 6th 2002
! Building the Squeak Virtual Machine (Jan 1st 2002)
-- John Maloney, May 25, 2000,
-- Changes John M McIntosh Aug 2, 2000, Dec 1,2000, Feb 10th 2001, May 30th 2001, Dec 18th 2001, Jan 1st 2002,
Feb 5th 2002, April 26th 2002
-- Changes Andrew C. Greenberg, Jan 1st 2002
! -- Changes Jay Hardesty, July 6, 2002
(Note to readers, it is possible a step was missed, so beware)
- Date: Tue, 1 Jan 2002 22:12:07 -0500
- Subject: Next step of the build documentation
- To: John M McIntosh <jo...@sm...>
- From: "Andrew C. Greenberg" <we...@mu...>
-
- Here's a step forward, some polish and practice necessary:
-
Building a Carbon Squeak VM with ProjectBuilder:
! In the following, I'm assuming you have a modern build of Mac OS X (mine is 10.0.2).
!
! {JMM notes this is building with 10.1.5, and Squeak 3.2g at changeset 4905)}
Overview
--- 1,17 ----
! Updated August 6th 2002
! Building the Squeak Virtual Machine (Aug 6th, 2002)
-- John Maloney, May 25, 2000,
-- Changes John M McIntosh Aug 2, 2000, Dec 1,2000, Feb 10th 2001, May 30th 2001, Dec 18th 2001, Jan 1st 2002,
Feb 5th 2002, April 26th 2002
-- Changes Andrew C. Greenberg, Jan 1st 2002
! -- Changes Jay Hardesty, July 6, 2002
! -- Changes John Mcintosh & Andrew C. Greenberg. Aug 8th, 2002
(Note to readers, it is possible a step was missed, so beware)
Building a Carbon Squeak VM with ProjectBuilder:
! {JMM notes this is building with 10.1.5, and Squeak 3.2gamma5)}
Overview
***************
*** 27,41 ****
1. Get the Apple Developer Tools (free)
2. Get the current Sourceforge Platforms tree
! 3. Build an interpreter
4. Get, and install, the Gnuifier, and gnuify the interpreter
5. Shove some files around the buildspace
! 6. Run ProjectBuilder and build yourself an interpreter
7. Download and print your Squeak VM Developer's Certificate
Step One: Get the Apple Developer Tools (free)
! The current build requires the December 2001 developer tools. They are available to Online members at the apple developer website. You can get an Online membership for free at:
http://developer.apple.com/membership/online.html
Step Two: Get the current Sourceforge Platforms tree
--- 19,41 ----
1. Get the Apple Developer Tools (free)
2. Get the current Sourceforge Platforms tree
! 3. Build an interpreter with VMMaker
4. Get, and install, the Gnuifier, and gnuify the interpreter
5. Shove some files around the buildspace
! 6. Run ProjectBuilder and build yourself an VM
7. Download and print your Squeak VM Developer's Certificate
Step One: Get the Apple Developer Tools (free)
! The current build requires the December 2001 developer tools, or higher. They are available to Online members at the apple developer website. You can get an Online membership for free at:
http://developer.apple.com/membership/online.html
+
+ (Note building with GCC 3.x will produce a slower VM than with GCC 2.9x (Sad but true), you can pick which compiler
+ to use, see the April 2002 or higher developer tools CD documentation)
+
+ Step One (b):
+ A. Get the OpenGL sdk if you need to build with codeWarrior under system 9.x
+ This is not needed if only building the os-x version
+ http://developer.apple.com/opengl/downloads.html
Step Two: Get the current Sourceforge Platforms tree
***************
*** 46,52 ****
(when prompted for a password, just hit enter)
D. cvs -z3 -d:pserver:ano...@cv...:/cvsroot/squeak co platforms
! E. For printing support get RealPrintingPlugin-JMM.cs.gz, from http://swiki.gsug.org:8080/sqfixes/all
! decompress it and fileIn
!
After so much mumbo-jumbo, your squeak folder should have a directory entitled platforms.
--- 46,54 ----
(when prompted for a password, just hit enter)
D. cvs -z3 -d:pserver:ano...@cv...:/cvsroot/squeak co platforms
! E. For printing support get RealPrintingPlugin-JMM.cs.gz, from http://swiki.gsug.org:8080/sqfixes/all
! decompress it and fileIn (optional, currently a plugin in the offical build)
!
!
!
After so much mumbo-jumbo, your squeak folder should have a directory entitled platforms.
***************
*** 57,72 ****
performance by 10%.
! Interpreter-normalSend.1.cs
MoreInterpAccessors-JMM.2.cs
! CheckInterruptOften-JMM.1.cs
Globalstructure-JMM.2.cs
CGeneratorEnhancements-ajh.1.cs
! Gnuifier.2.cs
B. DoIt: VMMakerTool openInWorld
C. Enter the Path to platforms code: (enter path to platforms in step two).
D. Enter the Platform name: (default is fine) "Mac OS"
E. Enter the Path for your generates sources (default is fine).
! F. Select plugins. (Suggest selecting menu item "make all external",
then drag back the following back to Plugins not built:
FFIPlugin
--- 59,78 ----
performance by 10%.
! Interpreter-normalSend.1.cs (THIS IS ALREADY IN 3.2GAMMA5 SO YOU CAN SKIP IT)
MoreInterpAccessors-JMM.2.cs
! CheckInterruptOften-JMM.1.cs (THIS IS ALREADY IN 3.2GAMMA5 SO YOU CAN SKIP IT)
Globalstructure-JMM.2.cs
CGeneratorEnhancements-ajh.1.cs
! Gnuifier.3.cs
B. DoIt: VMMakerTool openInWorld
C. Enter the Path to platforms code: (enter path to platforms in step two).
+ If you created an alias to the squeak platform folder, it might come up with for example
+ Mac OS X:Users:Shared:Squeak3.2g5:platforms
D. Enter the Platform name: (default is fine) "Mac OS"
E. Enter the Path for your generates sources (default is fine).
! It might come up with for example
! Mac OS X:Users:Shared:Squeak3.2g5:src
! F. Select plugins. (Suggest selecting menu item "make all internal",
then drag back the following back to Plugins not built:
FFIPlugin
***************
*** 75,87 ****
Mpeg3Plugin
TestOSAPlugin
! RealPrintingPlugin)
G. Press button "Save Configuration" to save your configuration for later.
H. Press button "Generate All" to build the interpreter
- For comparison, my entries were, respectively:
-
- powercow X:Users:werdna:Desktop:squeak:VM:squeak:platforms
- Mac OS
- powercow X:Users:werdna:Desktop:squeak:Squeak3.2a-4599 Folder:src
Step Four: Get, and install, the Gnifier, and gnuify the interpreter
--- 81,88 ----
Mpeg3Plugin
TestOSAPlugin
! RealPrintingPlugin (if installed))
G. Press button "Save Configuration" to save your configuration for later.
H. Press button "Generate All" to build the interpreter
Step Four: Get, and install, the Gnifier, and gnuify the interpreter
***************
*** 97,165 ****
Step Five: Shove and Tweak some files around the buildspace
! A. Open a MacOSX Finder browser and go to the platforms/Mac OS/src/vm folder.
! B. Unstuff 'resources.sit.hqx'
1. select the file
2. cmd-I for an inspector
3. select "Open with application"
! 4. click the box and select Stuffit Expander
! 5. go back and double-click the .hqx
C. Unstuff 'SqueakVMForCarbon.pbproj.sit' (same deal as step B)
D. Drag 'SqueakVMForCarbon.pbproj' to the folder containing
the 'platforms' and 'src' folders.
! E. Copy 'platforms/Mac OS/vm/sqNamedPlugins.h' to 'src/vm/sqNamedPlugins.h'
Step Six: Run ProjectBuilder and build yourself an interpreter
A. Double-click the SqueakVMForCarbon.pbproj file
! B. Click on the Sources folder in the left pane
! C. Select "Project -> Add Files..."
! D. Add the 'Cross' folder, and the 'Mac OS' folder, from the platform squeak cvs folder
!
! now delete the references or uncheck the following files/folders
! FileCopyPlugin
! Mpeg3Plugin
! RealPrintingPlugin
! PrintJobPlugin (otherwise _stPixMap and _stColorTable are multiply defined?? -jay)
! SqueakFFIPrims
! TestOSAPlugin
! PluginSDK 4.01a
!
! The 68K folder in the SocketPlugin folder
! The ReadMe.txt in the cross/JPEGReaderWriter2 folder
! The InternetConfiguration.xml in the InternetConfigPlugin folder
! The UUIDPlugin.project.xml in the UUIDPlugin folder
! sqOldSoundPrims.c in the SoundGenerationPlugin folder
!
! all the files that start with my in the mac vm folder
!
! 3.x.x Release Notes.rtf
! readme
! resources.sit.hqx
! sqMacMinimal.c
! sqMacNSPlugin.c
! SqueakPro5.xml
! SqueakVMForCarbon.pbproj.sit
!
! Mmm if we've missed one then you'll have a compiler error for sure or the file gets
! dragged into the resources folder in the .app. If you look in the "Files & Build Phases"
! you should only see the five *.icns files in the Bundle Resources section, and
! two files (Squeak VM.r and SqueakApp.rsrc) in the ResourceManager Resources section.
! Extra files imply you've got too much selected.
!
! E. In the finder (or a unix shell) rename the folder "resource/For ProjectBuilder"
! to "resource/For_ProjectBuilder".
! F. Click on the Resources folder in the left pane.
! G. Select "Project -> Add Files..."
! H Select SqueakApp.rsrc in the resource/For_ProjectBuilder folder and add it.
! I. On the left pane, there are some vertically oriented fold-over tabs.
Click the one marked "Targets."
! J. On the left upper pane marked "Targets," select "Squeak VM Opt"
! K. On the left lower pane marked "Build Styles," select "Deployment"
! L. On that same page, under "Search paths" - "Headers" there is a list of directories.
! Change the last entry, "/Volumes/Lamie/Squeak/SqueakAtSourceForge/squeak/platforms/Mac OS/vm"
! to instead point point to the "platforms/Mac OS/vm" directory on your local machine
! (meaning the "platforms" dir downloaded from SourceForge in Step 2.D above)
! M*. Click on the hammer icon at the top left to build your VM.
The final product should live in the src/vm/Build folder, named "Squeak VM Opt"
Step Seven: Download and print your Squeak VM Developer's Certificate
--- 98,134 ----
Step Five: Shove and Tweak some files around the buildspace
! A. Open a MacOSX Finder browser and go to the platforms/Mac OS/src/vm/Developer folder.
! B. Unstuff 'resources.sit'
1. select the file
2. cmd-I for an inspector
3. select "Open with application"
! 4. click the box and select Stuffit Expander, or your decompression tool
! 5. go back and double-click the .sit, put the resulting resource folder in the folder containing
! the 'platforms' and 'src' folders.
C. Unstuff 'SqueakVMForCarbon.pbproj.sit' (same deal as step B)
D. Drag 'SqueakVMForCarbon.pbproj' to the folder containing
the 'platforms' and 'src' folders.
! E. Note the sqGnu.h in the platforms/Mac OS/src/vm/Developer. This should override the sqGnu.h in the unix
! directory. (In the future we will integrate the changes required and use the unix version).
Step Six: Run ProjectBuilder and build yourself an interpreter
A. Double-click the SqueakVMForCarbon.pbproj file
! B. On the left pane, there are some vertically oriented fold-over tabs.
! Click on the "files" tab to see the files
! C. Option-click on the Sources group folder and confirm the files listed can be found.
! Files which can't be found are listed in red. For any red highlighted files you'll need to
! resolve where or why the files is/are missing.
! Note you will need to add the PrintJobPlugin files if you choose to build that plugin as internal.
! D. On the left pane, there are some vertically oriented fold-over tabs.
Click the one marked "Targets."
! E. On the left upper pane marked "Targets," select "Squeak VM Opt"
! F. On the left lower pane marked "Build Styles," select "Deployment"
! G. Click on the hammer icon at the top left to build your VM.
The final product should live in the src/vm/Build folder, named "Squeak VM Opt"
+ Compare against the offical build to see if it is the same.
+ Note you should look at the binary in the Contents subfolder to see if it is the same size.
+ (The only error you should get is
+ warning: passing arg 1 of `sqImageFileStartLocation' makes integer from pointer without a cast)
Step Seven: Download and print your Squeak VM Developer's Certificate
***************
*** 170,173 ****
--- 139,145 ----
1 tinyBenchmarks
+ Is also a good idea against the production VM, and yours to confirm it's built correctly.
+
+ ---------------------------------------------------
Older Notes
|
|
From: John M M. <jo...@us...> - 2002-08-06 22:18:07
|
Update of /cvsroot/squeak/squeak/platforms/Mac OS/vm/Developer
In directory usw-pr-cvs1:/tmp/cvs-serv18571/squeak/platforms/Mac OS/vm/Developer
Added Files:
sqGnu.h
Log Message:
3.2.8b3 Hey this is only here as a temporary item. Once we've done peer review on it, the changes I suspect will go to the cross platform folder. But for now you need it to build the 3.2.7, and the 3.2.8 mac vm
--- NEW FILE: sqGnu.h ---
/* Definitions for "gnuified" interp.c
*
* Copyright (C) 1996 1997 1998 1999 2000 2001 Ian Piumarta and individual
* authors/contributors listed elsewhere in this file.
* All rights reserved.
*
* This file is part of Unix Squeak.
*
* This file is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE.
*
* You may use and/or distribute this file ONLY as part of Squeak, under
* the terms of the Squeak License as described in `LICENSE' in the base of
* this distribution, subject to the following restrictions:
*
* 1. The origin of this software must not be misrepresented; you must not
* claim that you wrote the original software. If you use this software
* in a product, an acknowledgment to the original author(s) (and any
* other contributors mentioned herein) in the product documentation
* would be appreciated but is not required.
*
* 2. This notice may not be removed or altered in any source distribution.
*
* Using or modifying this file for use in any context other than Squeak
* changes these copyright conditions. Read the file `COPYING' in the base
* of the distribution before proceeding with any such use.
*
* You are STRONGLY DISCOURAGED from distributing a modified version of
* this file under its original name without permission. If you must
* change it, rename it first.
*/
/* Author: Ian...@in...
*
* Last edited: Fri Aug 11 08:20:28 2000 by piumarta (Ian Piumarta) on emilia
* April 17th, 2002, John M McIntosh use jumptable register logic for PPC
*
* NOTES:
* this file is #included IN PLACE OF sq.h
*/
#include "sq.h"
#define CASE(N) case N: _##N:
#if defined(PPC) || defined(_POWER) || defined(_IBMR2) || defined (__APPLE__)
#define BREAK goto *jumpTableR[currentBytecode]
#define PPC_REG_JUMP ; register void **jumpTableR JP_REG; jumpTableR = &jumpTable[0]
#else
#define BREAK goto *jumpTable[currentBytecode]
#define PPC_REG_JUMP
#endif
#define PRIM_DISPATCH goto *jumpTable[primitiveIndex]
#define JUMP_TABLE \
static void *jumpTable[256]= { \
&&_0, &&_1, &&_2, &&_3, &&_4, &&_5, &&_6, &&_7, &&_8, &&_9, \
&&_10, &&_11, &&_12, &&_13, &&_14, &&_15, &&_16, &&_17, &&_18, &&_19, \
&&_20, &&_21, &&_22, &&_23, &&_24, &&_25, &&_26, &&_27, &&_28, &&_29, \
&&_30, &&_31, &&_32, &&_33, &&_34, &&_35, &&_36, &&_37, &&_38, &&_39, \
&&_40, &&_41, &&_42, &&_43, &&_44, &&_45, &&_46, &&_47, &&_48, &&_49, \
&&_50, &&_51, &&_52, &&_53, &&_54, &&_55, &&_56, &&_57, &&_58, &&_59, \
&&_60, &&_61, &&_62, &&_63, &&_64, &&_65, &&_66, &&_67, &&_68, &&_69, \
&&_70, &&_71, &&_72, &&_73, &&_74, &&_75, &&_76, &&_77, &&_78, &&_79, \
&&_80, &&_81, &&_82, &&_83, &&_84, &&_85, &&_86, &&_87, &&_88, &&_89, \
&&_90, &&_91, &&_92, &&_93, &&_94, &&_95, &&_96, &&_97, &&_98, &&_99, \
&&_100, &&_101, &&_102, &&_103, &&_104, &&_105, &&_106, &&_107, &&_108, &&_109, \
&&_110, &&_111, &&_112, &&_113, &&_114, &&_115, &&_116, &&_117, &&_118, &&_119, \
&&_120, &&_121, &&_122, &&_123, &&_124, &&_125, &&_126, &&_127, &&_128, &&_129, \
&&_130, &&_131, &&_132, &&_133, &&_134, &&_135, &&_136, &&_137, &&_138, &&_139, \
&&_140, &&_141, &&_142, &&_143, &&_144, &&_145, &&_146, &&_147, &&_148, &&_149, \
&&_150, &&_151, &&_152, &&_153, &&_154, &&_155, &&_156, &&_157, &&_158, &&_159, \
&&_160, &&_161, &&_162, &&_163, &&_164, &&_165, &&_166, &&_167, &&_168, &&_169, \
&&_170, &&_171, &&_172, &&_173, &&_174, &&_175, &&_176, &&_177, &&_178, &&_179, \
&&_180, &&_181, &&_182, &&_183, &&_184, &&_185, &&_186, &&_187, &&_188, &&_189, \
&&_190, &&_191, &&_192, &&_193, &&_194, &&_195, &&_196, &&_197, &&_198, &&_199, \
&&_200, &&_201, &&_202, &&_203, &&_204, &&_205, &&_206, &&_207, &&_208, &&_209, \
&&_210, &&_211, &&_212, &&_213, &&_214, &&_215, &&_216, &&_217, &&_218, &&_219, \
&&_220, &&_221, &&_222, &&_223, &&_224, &&_225, &&_226, &&_227, &&_228, &&_229, \
&&_230, &&_231, &&_232, &&_233, &&_234, &&_235, &&_236, &&_237, &&_238, &&_239, \
&&_240, &&_241, &&_242, &&_243, &&_244, &&_245, &&_246, &&_247, &&_248, &&_249, \
&&_250, &&_251, &&_252, &&_253, &&_254, &&_255 \
} PPC_REG_JUMP;
#define PRIM_TABLE \
static void *jumpTable[700]= { \
&&_0, &&_1, &&_2, &&_3, &&_4, &&_5, &&_6, &&_7, &&_8, &&_9, \
&&_10, &&_11, &&_12, &&_13, &&_14, &&_15, &&_16, &&_17, &&_18, &&_19, \
&&_20, &&_21, &&_22, &&_23, &&_24, &&_25, &&_26, &&_27, &&_28, &&_29, \
&&_30, &&_31, &&_32, &&_33, &&_34, &&_35, &&_36, &&_37, &&_38, &&_39, \
&&_40, &&_41, &&_42, &&_43, &&_44, &&_45, &&_46, &&_47, &&_48, &&_49, \
&&_50, &&_51, &&_52, &&_53, &&_54, &&_55, &&_56, &&_57, &&_58, &&_59, \
&&_60, &&_61, &&_62, &&_63, &&_64, &&_65, &&_66, &&_67, &&_68, &&_69, \
&&_70, &&_71, &&_72, &&_73, &&_74, &&_75, &&_76, &&_77, &&_78, &&_79, \
&&_80, &&_81, &&_82, &&_83, &&_84, &&_85, &&_86, &&_87, &&_88, &&_89, \
&&_90, &&_91, &&_92, &&_93, &&_94, &&_95, &&_96, &&_97, &&_98, &&_99, \
&&_100, &&_101, &&_102, &&_103, &&_104, &&_105, &&_106, &&_107, &&_108, &&_109, \
&&_110, &&_111, &&_112, &&_113, &&_114, &&_115, &&_116, &&_117, &&_118, &&_119, \
&&_120, &&_121, &&_122, &&_123, &&_124, &&_125, &&_126, &&_127, &&_128, &&_129, \
&&_130, &&_131, &&_132, &&_133, &&_134, &&_135, &&_136, &&_137, &&_138, &&_139, \
&&_140, &&_141, &&_142, &&_143, &&_144, &&_145, &&_146, &&_147, &&_148, &&_149, \
&&_150, &&_151, &&_152, &&_153, &&_154, &&_155, &&_156, &&_157, &&_158, &&_159, \
&&_160, &&_161, &&_162, &&_163, &&_164, &&_165, &&_166, &&_167, &&_168, &&_169, \
&&_170, &&_171, &&_172, &&_173, &&_174, &&_175, &&_176, &&_177, &&_178, &&_179, \
&&_180, &&_181, &&_182, &&_183, &&_184, &&_185, &&_186, &&_187, &&_188, &&_189, \
&&_190, &&_191, &&_192, &&_193, &&_194, &&_195, &&_196, &&_197, &&_198, &&_199, \
&&_200, &&_201, &&_202, &&_203, &&_204, &&_205, &&_206, &&_207, &&_208, &&_209, \
&&_210, &&_211, &&_212, &&_213, &&_214, &&_215, &&_216, &&_217, &&_218, &&_219, \
&&_220, &&_221, &&_222, &&_223, &&_224, &&_225, &&_226, &&_227, &&_228, &&_229, \
&&_230, &&_231, &&_232, &&_233, &&_234, &&_235, &&_236, &&_237, &&_238, &&_239, \
&&_240, &&_241, &&_242, &&_243, &&_244, &&_245, &&_246, &&_247, &&_248, &&_249, \
&&_250, &&_251, &&_252, &&_253, &&_254, &&_255, &&_256, &&_257, &&_258, &&_259, \
&&_260, &&_261, &&_262, &&_263, &&_264, &&_265, &&_266, &&_267, &&_268, &&_269, \
&&_270, &&_271, &&_272, &&_273, &&_274, &&_275, &&_276, &&_277, &&_278, &&_279, \
&&_280, &&_281, &&_282, &&_283, &&_284, &&_285, &&_286, &&_287, &&_288, &&_289, \
&&_290, &&_291, &&_292, &&_293, &&_294, &&_295, &&_296, &&_297, &&_298, &&_299, \
&&_300, &&_301, &&_302, &&_303, &&_304, &&_305, &&_306, &&_307, &&_308, &&_309, \
&&_310, &&_311, &&_312, &&_313, &&_314, &&_315, &&_316, &&_317, &&_318, &&_319, \
&&_320, &&_321, &&_322, &&_323, &&_324, &&_325, &&_326, &&_327, &&_328, &&_329, \
&&_330, &&_331, &&_332, &&_333, &&_334, &&_335, &&_336, &&_337, &&_338, &&_339, \
&&_340, &&_341, &&_342, &&_343, &&_344, &&_345, &&_346, &&_347, &&_348, &&_349, \
&&_350, &&_351, &&_352, &&_353, &&_354, &&_355, &&_356, &&_357, &&_358, &&_359, \
&&_360, &&_361, &&_362, &&_363, &&_364, &&_365, &&_366, &&_367, &&_368, &&_369, \
&&_370, &&_371, &&_372, &&_373, &&_374, &&_375, &&_376, &&_377, &&_378, &&_379, \
&&_380, &&_381, &&_382, &&_383, &&_384, &&_385, &&_386, &&_387, &&_388, &&_389, \
&&_390, &&_391, &&_392, &&_393, &&_394, &&_395, &&_396, &&_397, &&_398, &&_399, \
&&_400, &&_401, &&_402, &&_403, &&_404, &&_405, &&_406, &&_407, &&_408, &&_409, \
&&_410, &&_411, &&_412, &&_413, &&_414, &&_415, &&_416, &&_417, &&_418, &&_419, \
&&_420, &&_421, &&_422, &&_423, &&_424, &&_425, &&_426, &&_427, &&_428, &&_429, \
&&_430, &&_431, &&_432, &&_433, &&_434, &&_435, &&_436, &&_437, &&_438, &&_439, \
&&_440, &&_441, &&_442, &&_443, &&_444, &&_445, &&_446, &&_447, &&_448, &&_449, \
&&_450, &&_451, &&_452, &&_453, &&_454, &&_455, &&_456, &&_457, &&_458, &&_459, \
&&_460, &&_461, &&_462, &&_463, &&_464, &&_465, &&_466, &&_467, &&_468, &&_469, \
&&_470, &&_471, &&_472, &&_473, &&_474, &&_475, &&_476, &&_477, &&_478, &&_479, \
&&_480, &&_481, &&_482, &&_483, &&_484, &&_485, &&_486, &&_487, &&_488, &&_489, \
&&_490, &&_491, &&_492, &&_493, &&_494, &&_495, &&_496, &&_497, &&_498, &&_499, \
&&_500, &&_501, &&_502, &&_503, &&_504, &&_505, &&_506, &&_507, &&_508, &&_509, \
&&_510, &&_511, &&_512, &&_513, &&_514, &&_515, &&_516, &&_517, &&_518, &&_519, \
&&_520, &&_521, &&_522, &&_523, &&_524, &&_525, &&_526, &&_527, &&_528, &&_529, \
&&_530, &&_531, &&_532, &&_533, &&_534, &&_535, &&_536, &&_537, &&_538, &&_539, \
&&_540, &&_541, &&_542, &&_543, &&_544, &&_545, &&_546, &&_547, &&_548, &&_549, \
&&_550, &&_551, &&_552, &&_553, &&_554, &&_555, &&_556, &&_557, &&_558, &&_559, \
&&_560, &&_561, &&_562, &&_563, &&_564, &&_565, &&_566, &&_567, &&_568, &&_569, \
&&_570, &&_571, &&_572, &&_573, &&_574, &&_575, &&_576, &&_577, &&_578, &&_579, \
&&_580, &&_581, &&_582, &&_583, &&_584, &&_585, &&_586, &&_587, &&_588, &&_589, \
&&_590, &&_591, &&_592, &&_593, &&_594, &&_595, &&_596, &&_597, &&_598, &&_599, \
&&_600, &&_601, &&_602, &&_603, &&_604, &&_605, &&_606, &&_607, &&_608, &&_609, \
&&_610, &&_611, &&_612, &&_613, &&_614, &&_615, &&_616, &&_617, &&_618, &&_619, \
&&_620, &&_621, &&_622, &&_623, &&_624, &&_625, &&_626, &&_627, &&_628, &&_629, \
&&_630, &&_631, &&_632, &&_633, &&_634, &&_635, &&_636, &&_637, &&_638, &&_639, \
&&_640, &&_641, &&_642, &&_643, &&_644, &&_645, &&_646, &&_647, &&_648, &&_649, \
&&_650, &&_651, &&_652, &&_653, &&_654, &&_655, &&_656, &&_657, &&_658, &&_659, \
&&_660, &&_661, &&_662, &&_663, &&_664, &&_665, &&_666, &&_667, &&_668, &&_669, \
&&_670, &&_671, &&_672, &&_673, &&_674, &&_675, &&_676, &&_677, &&_678, &&_679, \
&&_680, &&_681, &&_682, &&_683, &&_684, &&_685, &&_686, &&_687, &&_688, &&_689, \
&&_690, &&_691, &&_692, &&_693, &&_694, &&_695, &&_696, &&_697, &&_698, &&_699, \
}
/*
IP_REG, SP_REG, CB_REG
the machine registers in which to place localIP, localSP and
currentBytecode. Wins big on register-deficient architectures --
especially Intel.
*/
#if defined(__mips__)
# define IP_REG asm("$16")
# define SP_REG asm("$17")
# define CB_REG asm("$18")
#endif
#if defined(__sparc__)
# define IP_REG asm("%l0")
# define SP_REG asm("%l1")
# define CB_REG asm("%l2")
#endif
#if defined(__alpha__)
# define IP_REG asm("$9")
# define SP_REG asm("$10")
# define CB_REG asm("$11")
#endif
#if defined(__i386__)
# define IP_REG asm("%esi")
# define SP_REG asm("%edi")
# define CB_REG /* asm("%ebx") ; avoid undue register pressure */
#endif
#if defined(PPC) || defined(_POWER) || defined(_IBMR2) || defined (__APPLE__)
# define FOO_REG asm("24")
# define JP_REG asm("25")
# define IP_REG asm("26")
# define SP_REG asm("27")
# define CB_REG asm("28")
#endif
#if defined(__hppa__)
# define IP_REG asm("%r18")
# define SP_REG asm("%r17")
# define CB_REG asm("%r16")
#endif
#if defined(__mc68000__)
# define IP_REG asm("a5")
# define SP_REG asm("a4")
# define CB_REG asm("d7")
#endif
|
|
From: John M M. <jo...@us...> - 2002-08-06 21:57:34
|
Update of /cvsroot/squeak/squeak/platforms/Mac OS/vm/PluginSDK 4.01a/Common In directory usw-pr-cvs1:/tmp/cvs-serv9334/squeak/platforms/Mac OS/vm/PluginSDK 4.01a/Common Modified Files: npmac.cpp Log Message: 3.2.8b3 added code to assist in debugging as a carbon plugin under os-x |
|
From: John M M. <jo...@us...> - 2002-08-06 21:55:43
|
Update of /cvsroot/squeak/squeak/platforms/Mac OS/vm
In directory usw-pr-cvs1:/tmp/cvs-serv8418/squeak/platforms/Mac OS/vm
Modified Files:
sqPlatformSpecific.h
Log Message:
3.2.8b3 Fixes for building as a carbo netscape plugin
Index: sqPlatformSpecific.h
===================================================================
RCS file: /cvsroot/squeak/squeak/platforms/Mac OS/vm/sqPlatformSpecific.h,v
retrieving revision 1.10
retrieving revision 1.11
diff -C2 -d -r1.10 -r1.11
*** sqPlatformSpecific.h 13 May 2002 19:57:39 -0000 1.10
--- sqPlatformSpecific.h 6 Aug 2002 21:55:38 -0000 1.11
***************
*** 12,15 ****
--- 12,17 ----
* May 5th, 2002, JMM added define for PLUGIN for CW
* May 12th, 2002, JMM added SQUEAK_BUILTIN_PLUGIN for CW Pro
+ * 3.2.8b1 July 24th, 2002 JMM support for os-x plugin under IE 5.x
+
*
How to use this file:
***************
*** 58,62 ****
typedef FILE *sqImageFile;
#else
! #if defined(__MWERKS__) & !TARGET_API_MAC_CARBON
#include <stat.h>
#define fseeko fseek
--- 60,64 ----
typedef FILE *sqImageFile;
#else
! #if defined(__MWERKS__)
#include <stat.h>
#define fseeko fseek
|
|
From: John M M. <jo...@us...> - 2002-08-06 21:54:29
|
Update of /cvsroot/squeak/squeak/platforms/Mac OS/vm
In directory usw-pr-cvs1:/tmp/cvs-serv7871/squeak/platforms/Mac OS/vm
Modified Files:
sqMacWindow.c
Log Message:
3.2.8b3 Fix for building as carbon netscape plugin
Index: sqMacWindow.c
===================================================================
RCS file: /cvsroot/squeak/squeak/platforms/Mac OS/vm/sqMacWindow.c,v
retrieving revision 1.18
retrieving revision 1.19
diff -C2 -d -r1.18 -r1.19
*** sqMacWindow.c 9 May 2002 19:25:09 -0000 1.18
--- sqMacWindow.c 6 Aug 2002 21:54:26 -0000 1.19
***************
*** 14,17 ****
--- 14,18 ----
* Apr 17th, 2002, JMM Use accessors for VM variables.
* May 5th, 2002, JMM cleanup for building as NS plugin
+ 3.2.8b1 July 24th, 2002 JMM support for os-x plugin under IE 5.x
*****************************************************************************/
***************
*** 282,286 ****
#ifndef IHAVENOHEAD
! #if TARGET_API_MAC_CARBON
if ((Ptr)CreateNewWindow != (Ptr)kUnresolvedCFragSymbolAddress)
CreateNewWindow(kDocumentWindowClass,
--- 283,287 ----
#ifndef IHAVENOHEAD
! #if TARGET_API_MAC_CARBON & !defined(__MWERKS__)
if ((Ptr)CreateNewWindow != (Ptr)kUnresolvedCFragSymbolAddress)
CreateNewWindow(kDocumentWindowClass,
|
|
From: John M M. <jo...@us...> - 2002-08-06 21:53:36
|
Update of /cvsroot/squeak/squeak/platforms/Mac OS/vm
In directory usw-pr-cvs1:/tmp/cvs-serv7543/squeak/platforms/Mac OS/vm
Modified Files:
sqMacUIEvents.c
Log Message:
3.2.8b3 Fixes to make work as a carbon netscape plugin
Index: sqMacUIEvents.c
===================================================================
RCS file: /cvsroot/squeak/squeak/platforms/Mac OS/vm/sqMacUIEvents.c,v
retrieving revision 1.10
retrieving revision 1.11
diff -C2 -d -r1.10 -r1.11
*** sqMacUIEvents.c 5 Jul 2002 07:01:53 -0000 1.10
--- sqMacUIEvents.c 6 Aug 2002 21:53:33 -0000 1.11
***************
*** 16,19 ****
--- 16,21 ----
* Mar 14th, 2002, JMM fix text input for encoding keys (textinput versus raw char)
* Apr 17th, 2002, JMM Use accessors for VM variables.
+ * 3.2.8b1 July 24th, 2002 JMM support for os-x plugin under IE 5.x drop usb stuff
+
notes: see incontent, I think it's a bug, click to bring to foreground signls mousedown. bad...
***************
*** 535,541 ****
}
- int getUIToLock(long *foo) {
- }
-
#endif
--- 537,540 ----
***************
*** 720,724 ****
}
! #if defined(__MWERKS__) && !defined(__APPLE__) && !defined(__MACH__)
Boolean USBKeyboardCheckKey(int macKeyCode);
--- 719,723 ----
}
! #if defined(__MWERKS__) && !defined(__APPLE__) && !defined(__MACH__) && JMMFoo
Boolean USBKeyboardCheckKey(int macKeyCode);
|
|
From: John M M. <jo...@us...> - 2002-08-06 21:51:26
|
Update of /cvsroot/squeak/squeak/platforms/Mac OS/vm
In directory usw-pr-cvs1:/tmp/cvs-serv6451/squeak/platforms/Mac OS/vm
Modified Files:
sqMacNSPlugin.c
Log Message:
3.2.8b3 Fixes to make work under carbon for the os-x version of IE
Index: sqMacNSPlugin.c
===================================================================
RCS file: /cvsroot/squeak/squeak/platforms/Mac OS/vm/sqMacNSPlugin.c,v
retrieving revision 1.6
retrieving revision 1.7
diff -C2 -d -r1.6 -r1.7
*** sqMacNSPlugin.c 5 Jul 2002 07:07:03 -0000 1.6
--- sqMacNSPlugin.c 6 Aug 2002 21:51:22 -0000 1.7
***************
*** 138,145 ****
#define STARTINGsqueakHeapMBytes 20*1024*1024
! #define PLUGIN_TRACE 0
#if PLUGIN_TRACE
! #define PLUGINDEBUGSTR(msg) DebugStr(msg)
#else
#define PLUGINDEBUGSTR
--- 138,147 ----
#define STARTINGsqueakHeapMBytes 20*1024*1024
! #define PLUGIN_TRACE 1
#if PLUGIN_TRACE
! int printOnOSXPascal(unsigned char *msg);
! #define PLUGINDEBUGSTR(msg) printOnOSXPascal(msg);
! //#define PLUGINDEBUGSTR(msg) ::DebugStr(msg)
#else
#define PLUGINDEBUGSTR
***************
*** 1046,1067 ****
NPWindow *oldNetscapeWindow,gFullScreenNPWindow;
WindowPtr oldStWindow;
int ioSetFullScreen(int fullScreen) {
short desiredWidth,desiredHeight;
Rect windRect;
! GDHandle dominantGDevice;
if (fullScreen) {
if (getFullScreenFlag()) return;
desiredWidth = 0;
desiredHeight = 0;
oldNetscapeWindow = netscapeWindow;
oldStWindow = stWindow;
! #if TARGET_API_MAC_CARBON
GetWindowGreatestAreaDevice(stWindow,kWindowContentRgn,&dominantGDevice,&windRect);
#else
dominantGDevice = getDominateDevice(stWindow,&windRect);
#endif
! BeginFullScreen (&gRestorableStateForScreen,dominantGDevice,
&desiredWidth,
&desiredHeight,
--- 1048,1074 ----
NPWindow *oldNetscapeWindow,gFullScreenNPWindow;
WindowPtr oldStWindow;
+ int printOnOSX(char *string);
+ int printOnOSXNumber(int foo);
+
int ioSetFullScreen(int fullScreen) {
short desiredWidth,desiredHeight;
Rect windRect;
! GDHandle dominantGDevice;
if (fullScreen) {
if (getFullScreenFlag()) return;
+
desiredWidth = 0;
desiredHeight = 0;
oldNetscapeWindow = netscapeWindow;
oldStWindow = stWindow;
! #if TARGET_API_MAC_CARBON & !defined(PLUGIN)
GetWindowGreatestAreaDevice(stWindow,kWindowContentRgn,&dominantGDevice,&windRect);
#else
dominantGDevice = getDominateDevice(stWindow,&windRect);
#endif
! BeginFullScreen (&gRestorableStateForScreen,
! dominantGDevice,
&desiredWidth,
&desiredHeight,
|
|
From: John M M. <jo...@us...> - 2002-08-06 21:45:52
|
Update of /cvsroot/squeak/squeak/platforms/Mac OS/vm
In directory usw-pr-cvs1:/tmp/cvs-serv3752/squeak/platforms/Mac OS/vm
Modified Files:
sqMacMemory.c
Log Message:
3.2.8b3 fixes for building as a carbon netscape plugin
Index: sqMacMemory.c
===================================================================
RCS file: /cvsroot/squeak/squeak/platforms/Mac OS/vm/sqMacMemory.c,v
retrieving revision 1.8
retrieving revision 1.9
diff -C2 -d -r1.8 -r1.9
*** sqMacMemory.c 9 May 2002 19:22:53 -0000 1.8
--- sqMacMemory.c 6 Aug 2002 21:45:49 -0000 1.9
***************
*** 12,15 ****
--- 12,16 ----
* Feb 22nd, 2002, JMM moved code into 10 other files, see sqMacMain.c for comments
* Mar 8th, 2002, JMM Must unmap view first then free.
+ * 3.2.8b1 July 24th, 2002 JMM support for os-x plugin under IE 5.x
*****************************************************************************/
***************
*** 51,54 ****
--- 52,60 ----
long availableMemory;
+
+ #if TARGET_API_MAC_CARBON && defined(__MWERKS__)
+ availableMemory = MaxBlock() - reservedMemory;
+ return availableMemory;
+ #endif
#if TARGET_API_MAC_CARBON
***************
*** 100,104 ****
minHeapSize;
! #ifdef PLUGIN
gMaxHeapSize = gHeapSize = *desiredHeapSize;
--- 106,110 ----
minHeapSize;
! #if defined( PLUGIN) || (TARGET_API_MAC_CARBON && defined(__MWERKS__))
gMaxHeapSize = gHeapSize = *desiredHeapSize;
***************
*** 112,117 ****
return debug;
#endif
! #endif
!
#if TARGET_API_MAC_CARBON
gHeapSize = gMaxHeapSize;
--- 118,122 ----
return debug;
#endif
! #else
#if TARGET_API_MAC_CARBON
gHeapSize = gMaxHeapSize;
***************
*** 153,156 ****
--- 158,162 ----
return debug;
#endif
+ #endif
}
|
|
From: John M M. <jo...@us...> - 2002-08-06 21:44:13
|
Update of /cvsroot/squeak/squeak/platforms/Mac OS/vm
In directory usw-pr-cvs1:/tmp/cvs-serv3047/squeak/platforms/Mac OS/vm
Modified Files:
sqMacMain.c
Log Message:
3.2.8b3 Fix for building as a carbon netscape plugin. Added feature to print to console for carbon plugin debugging support
Index: sqMacMain.c
===================================================================
RCS file: /cvsroot/squeak/squeak/platforms/Mac OS/vm/sqMacMain.c,v
retrieving revision 1.8
retrieving revision 1.9
diff -C2 -d -r1.8 -r1.9
*** sqMacMain.c 27 Apr 2002 18:55:25 -0000 1.8
--- sqMacMain.c 6 Aug 2002 21:44:10 -0000 1.9
***************
*** 59,62 ****
--- 59,64 ----
* 2/14/2002 JMM fixes for updatewindow logic and drag/drop image with no file type
* 2/25/2002 JMM additions for carbon event managment.
+ * 3.2.8b1 July 24th, 2002 JMM support for os-x plugin under IE 5.x
+
*/
***************
*** 160,164 ****
if (imageName[0] == 0) {
FSSpec workingDirectory;
! #if TARGET_API_MAC_CARBON
CFBundleRef mainBundle;
CFURLRef imageURL;
--- 162,166 ----
if (imageName[0] == 0) {
FSSpec workingDirectory;
! #if TARGET_API_MAC_CARBON && !defined(__MWERKS__)
CFBundleRef mainBundle;
CFURLRef imageURL;
***************
*** 178,182 ****
CopyCStringToPascal("squeak.image",workingDirectory.name);
PathToFile(imageName, IMAGE_NAME_SIZE, &workingDirectory);
! #if TARGET_API_MAC_CARBON
}
#endif
--- 180,184 ----
CopyCStringToPascal("squeak.image",workingDirectory.name);
PathToFile(imageName, IMAGE_NAME_SIZE, &workingDirectory);
! #if TARGET_API_MAC_CARBON && !defined(__MWERKS__)
}
#endif
***************
*** 436,441 ****
return "PowerPC";
}
! #if TARGET_API_MAC_CARBON
! if (id == 1004) {
CFBundleRef mainBundle;
CFStringRef versionString;
--- 438,444 ----
return "PowerPC";
}
!
! #if TARGET_API_MAC_CARBON && !defined(__MWERKS__)
! if (id == 1004) {
CFBundleRef mainBundle;
CFStringRef versionString;
***************
*** 450,457 ****
return data;
}
! if (id == 1201) return (isVmPathVolumeHFSPlus() ? "255" : "31"); //name size on hfs plus volumes
! #else
if (id == 1004) return (char *) interpreterVersion;
#endif
/* attribute undefined by this platform */
success(false);
--- 453,465 ----
return data;
}
! #endif
!
! #if TARGET_API_MAC_CARBON && defined(__MWERKS__)
if (id == 1004) return (char *) interpreterVersion;
#endif
+
+ #if TARGET_API_MAC_CARBON
+ if (id == 1201) return (isVmPathVolumeHFSPlus() ? "255" : "31"); //name size on hfs plus volumes
+ #endif
/* attribute undefined by this platform */
success(false);
***************
*** 527,528 ****
--- 535,652 ----
int startProfiling(void){}
int stopProfiling(void) {}
+
+ #if TARGET_API_MAC_CARBON && defined(__MWERKS__)
+ int printOnOSX(char * string);
+ int printOnOSXNumber(int number);
+ int printOnOSXPascal(unsigned char * string);
+ int printOnOSXFormat(char * string,char *format);
+ OSStatus LoadFrameworkBundle(CFStringRef framework, CFBundleRef
+ *bundlePtr);
+
+ OSStatus LoadFrameworkBundle(CFStringRef framework, CFBundleRef
+ *bundlePtr)
+ {
+ OSStatus err;
+ FSRef frameworksFolderRef;
+ CFURLRef baseURL;
+ CFURLRef bundleURL;
+
+ if ( bundlePtr == nil ) return( -1 );
+
+ *bundlePtr = nil;
+
+ baseURL = nil;
+ bundleURL = nil;
+
+ err = FSFindFolder(kOnAppropriateDisk, kFrameworksFolderType, true,
+ &frameworksFolderRef);
+ if (err == noErr) {
+ baseURL = CFURLCreateFromFSRef(kCFAllocatorSystemDefault,
+ &frameworksFolderRef);
+ if (baseURL == nil) {
+ err = coreFoundationUnknownErr;
+ }
+ }
+ if (err == noErr) {
+ bundleURL =
+ CFURLCreateCopyAppendingPathComponent(kCFAllocatorSystemDefault, baseURL,
+ framework, false);
+ if (bundleURL == nil) {
+ err = coreFoundationUnknownErr;
+ }
+ }
+ if (err == noErr) {
+ *bundlePtr = CFBundleCreate(kCFAllocatorSystemDefault, bundleURL);
+ if (*bundlePtr == nil) {
+ err = coreFoundationUnknownErr;
+ }
+ }
+ if (err == noErr) {
+ if ( ! CFBundleLoadExecutable( *bundlePtr ) ) {
+ err = coreFoundationUnknownErr;
+ }
+ }
+
+ // Clean up.
+ if (err != noErr && *bundlePtr != nil) {
+ CFRelease(*bundlePtr);
+ *bundlePtr = nil;
+ }
+ if (bundleURL != nil) {
+ CFRelease(bundleURL);
+ }
+
+ if (baseURL != nil) {
+ CFRelease(baseURL);
+ }
+
+ return err;
+ }
+
+ int printOnOSXFormat(char * string,char *format) {
+ CFBundleRef bundle;
+ int(*fprintf_ptr)(FILE *stream, const char *format, ...) = NULL;
+ void* fcn_ptr = NULL;
+ OSErr err;
+ FILE* stderr_ptr = NULL;
+ void* __sf_ptr = NULL;
+
+ err = LoadFrameworkBundle( CFSTR("System.framework"), &bundle );
+
+ fcn_ptr = CFBundleGetFunctionPointerForName(bundle, CFSTR("fprintf"));
+ __sf_ptr = CFBundleGetDataPointerForName(bundle, CFSTR("__sF"));
+
+ if(fcn_ptr) {
+ /* cast it */
+ fprintf_ptr = ( int(*)(FILE *stream, const char *format, ...) ) fcn_ptr;
+ } else {
+ /* it failed, handle that somehow */
+ return;
+ }
+
+ if(__sf_ptr) {
+ stderr_ptr = (FILE*) ( ((char*)__sf_ptr) + 176);
+ /* 176 = 88*2, where 88=sizeof(FILE) under BSD */
+ } else {
+ /* it failed */
+ return;
+ }
+
+ fprintf_ptr(stderr_ptr, format,string);
+ }
+
+ int printOnOSX(char * string) {
+ return printOnOSXFormat(string,"\n+-+%s");
+ }
+
+ int printOnOSXNumber(int number) {
+ return printOnOSXFormat((char *) number,"\n+-+%d");
+ }
+
+ int printOnOSXPascal(unsigned char *string) {
+ CopyPascalStringToC((ConstStr255Param) string,(char*) string);
+ printOnOSX((char*) string);
+ CopyCStringToPascal((char*)string,(void *) string);
+ }
+
+ #endif
\ No newline at end of file
|
|
From: John M M. <jo...@us...> - 2002-08-06 21:42:52
|
Update of /cvsroot/squeak/squeak/platforms/Mac OS/vm
In directory usw-pr-cvs1:/tmp/cvs-serv2300/squeak/platforms/Mac OS/vm
Modified Files:
sqMacFileLogic.c
Log Message:
3.2.8b3 fix for alias resolve issue, also fixes for runing as carbon netscape browser plugin
Index: sqMacFileLogic.c
===================================================================
RCS file: /cvsroot/squeak/squeak/platforms/Mac OS/vm/sqMacFileLogic.c,v
retrieving revision 1.9
retrieving revision 1.10
diff -C2 -d -r1.9 -r1.10
*** sqMacFileLogic.c 31 May 2002 16:48:23 -0000 1.9
--- sqMacFileLogic.c 6 Aug 2002 21:42:48 -0000 1.10
***************
*** 16,19 ****
--- 16,21 ----
* 4/23/2002 JMM fix how image is found for os-9 for bundled applications
* 5/12/2002 JMM add logic to enable you to put plugins beside macclassic VM
+ * 3.2.8b1 July 24th, 2002 JMM support for os-x plugin under IE 5.x
+
*
*****************************************************************************/
***************
*** 171,174 ****
--- 173,189 ----
strcat(dst,"/");
strcat(dst,lastpart);
+
+ #if defined(__MWERKS__) && !defined(__APPLE__) && !defined(__MACH__)
+ filePath = CFStringCreateWithBytes(kCFAllocatorDefault,(UInt8 *)dst,strlen(dst),kCFStringEncodingMacRoman,false);
+ if (filePath == nil)
+ return 2;
+ sillyThing = CFURLCreateWithFileSystemPath (kCFAllocatorDefault,filePath,kCFURLPOSIXPathStyle,true);
+ CFRelease(filePath);
+ filePath = CFURLCopyFileSystemPath (sillyThing, kCFURLHFSPathStyle);
+ CFStringGetCString (filePath,dst,1000, kCFStringEncodingMacRoman);
+ CFRelease(sillyThing);
+ CFRelease(filePath);
+ #endif
+
return 0;
} else
***************
*** 183,188 ****
--- 198,212 ----
err = FSResolveAliasFile (&theFSRef,true,&isFolder,&isAlias);
+ #if defined(__MWERKS__) && !defined(__APPLE__) && !defined(__MACH__)
+ sillyThing = CFURLCreateFromFSRef(kCFAllocatorDefault,&theFSRef);
+ filePath = CFURLCopyFileSystemPath (sillyThing, kCFURLHFSPathStyle);
+ CFStringGetCString (filePath,dst,1000, kCFStringEncodingMacRoman);
+ CFRelease(sillyThing);
+ CFRelease(filePath);
+ return 0;
+ #else
err = FSRefMakePath(&theFSRef,(UInt8 *)dst,1000);
return err;
+ #endif
}
***************
*** 194,198 ****
FSSpec convertFileNameSpec,failureRetry;
OSErr err;
! Boolean isFolder,isAlias;
CFURLRef sillyThing,appendedSillyThing;
CFStringRef filePath,lastPartOfPath;
--- 218,222 ----
FSSpec convertFileNameSpec,failureRetry;
OSErr err;
! Boolean isFolder=false,isAlias=false;
CFURLRef sillyThing,appendedSillyThing;
CFStringRef filePath,lastPartOfPath;
***************
*** 206,213 ****
if ((err == noErr) && resolveAlias) {
err = ResolveAliasFile(&convertFileNameSpec,true,&isFolder,&isAlias);
}
if (err == fnfErr) {
failureRetry = convertFileNameSpec;
! CopyCStringToPascal(":",failureRetry.name);
err = FSpMakeFSRef(&failureRetry,&theFSRef);
if (err != noErr)
--- 230,242 ----
if ((err == noErr) && resolveAlias) {
err = ResolveAliasFile(&convertFileNameSpec,true,&isFolder,&isAlias);
+ if (err == fnfErr) {
+ err = lookupPath((char *) src,num,&convertFileNameSpec,false,false);
+ err = ResolveAliasFile(&convertFileNameSpec,true,&isFolder,&isAlias);
+ }
}
+
if (err == fnfErr) {
failureRetry = convertFileNameSpec;
! CopyCStringToPascal("::",failureRetry.name);
err = FSpMakeFSRef(&failureRetry,&theFSRef);
if (err != noErr)
***************
*** 241,244 ****
--- 270,274 ----
CFRelease(sillyThing);
CFRelease(filePath);
+ return;
#else
err = FSRefMakePath(&theFSRef,(UInt8 *)dst,1000);
***************
*** 724,731 ****
}
! #if defined(__MWERKS__) && !TARGET_API_MAC_CARBON
! OSErr __path2fss(const char * pathName, FSSpecPtr spec)
! {
return lookupPath((char *) pathName, strlen(pathName),spec,true,true);
}
--- 754,762 ----
}
+ #if defined(__MWERKS__)
+ int RunningOnCarbonX();
+ OSErr __path2fss(const char * pathName, FSSpecPtr spec);
! OSErr __path2fss(const char * pathName, FSSpecPtr spec) {
return lookupPath((char *) pathName, strlen(pathName),spec,true,true);
}
***************
*** 798,802 ****
err = GetProcessInformation(&PSN, &pinfo);
if (err == noErr && isSystem9_0_or_better()) {
! #if TARGET_API_MAC_CARBON
FSMakeFSSpecCompat(workingDirectory->vRefNum, workingDirectory->parID,"\p:::",workingDirectory);
#else
--- 829,833 ----
err = GetProcessInformation(&PSN, &pinfo);
if (err == noErr && isSystem9_0_or_better()) {
! #if TARGET_API_MAC_CARBON && !defined(__MWERKS__)
FSMakeFSSpecCompat(workingDirectory->vRefNum, workingDirectory->parID,"\p:::",workingDirectory);
#else
|
|
From: John M M. <jo...@us...> - 2002-08-06 21:41:23
|
Update of /cvsroot/squeak/squeak/platforms/Mac OS/vm
In directory usw-pr-cvs1:/tmp/cvs-serv1609/squeak/platforms/Mac OS/vm
Modified Files:
osExports.c
Log Message:
3.2.8b3 fixes for building as a carbon netscape plugin
Index: osExports.c
===================================================================
RCS file: /cvsroot/squeak/squeak/platforms/Mac OS/vm/osExports.c,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -d -r1.2 -r1.3
*** osExports.c 5 Jul 2002 06:58:00 -0000 1.2
--- osExports.c 6 Aug 2002 21:41:21 -0000 1.3
***************
*** 7,10 ****
--- 7,16 ----
style you may as well insert the exports right here */
+ #include "sqVirtualMachine.h"
+ /* Configuration options */
+ #include "sqConfig.h"
+ /* Platform specific definitions */
+ #include "sqPlatformSpecific.h"
+
#include <stdio.h>
#include "sqMacUIEvents.h"
***************
*** 51,55 ****
--- 57,63 ----
XFN(serialPortWriteFrom)
XFN(IsKeyDown)
+ #ifndef PLUGIN
XFN(getUIToLock)
+ #endif
#ifdef PLUGIN
/* Plugin support primitives
|
|
From: John M M. <jo...@us...> - 2002-08-06 21:40:30
|
Update of /cvsroot/squeak/squeak/platforms/Mac OS/plugins/FilePlugin
In directory usw-pr-cvs1:/tmp/cvs-serv1141/squeak/platforms/Mac OS/plugins/FilePlugin
Modified Files:
sqMacDirectory.c
Log Message:
3.2.8b3 fixes for building as an carbon netscape plugin
Index: sqMacDirectory.c
===================================================================
RCS file: /cvsroot/squeak/squeak/platforms/Mac OS/plugins/FilePlugin/sqMacDirectory.c,v
retrieving revision 1.5
retrieving revision 1.6
diff -C2 -d -r1.5 -r1.6
*** sqMacDirectory.c 22 Jan 2002 19:12:33 -0000 1.5
--- sqMacDirectory.c 6 Aug 2002 21:40:26 -0000 1.6
***************
*** 23,26 ****
--- 23,27 ----
3.2.1B6 Jan 2,2002 JMM make lookup faster
3.2.2B1 Jan 18th,2002 JMM check macroman, fix issues with squeak file offset
+ 3.2.8b1 July 24th, 2002 JMM support for os-x plugin under IE 5.x
*/
***************
*** 92,96 ****
sqFilenameFromString((char *) cFileName, (int) pathString, pathStringLength);
! #if defined(__MWERKS__) && JMMFoo
{
CFStringRef filePath,lastFilePath;
--- 93,97 ----
sqFilenameFromString((char *) cFileName, (int) pathString, pathStringLength);
! #if defined(__MWERKS__)
{
CFStringRef filePath,lastFilePath;
***************
*** 103,111 ****
if (filePath == nil)
return false;
! sillyThing = CFURLCreateWithFileSystemPath (kCFAllocatorDefault,filePath,kCFURLPOSIXPathStyle,true);
CFRelease(filePath);
lastFilePath = CFURLCopyLastPathComponent(sillyThing);
tokenLength = CFStringGetLength(lastFilePath);
CFStringGetCharacters(lastFilePath,CFRangeMake(0,tokenLength),buffer);
CFRelease(lastFilePath);
--- 104,114 ----
if (filePath == nil)
return false;
! sillyThing = CFURLCreateWithFileSystemPath (kCFAllocatorDefault,filePath,kCFURLHFSPathStyle,true);
CFRelease(filePath);
lastFilePath = CFURLCopyLastPathComponent(sillyThing);
tokenLength = CFStringGetLength(lastFilePath);
+ if (tokenLength > 1024)
+ return false;
CFStringGetCharacters(lastFilePath,CFRangeMake(0,tokenLength),buffer);
CFRelease(lastFilePath);
***************
*** 137,141 ****
}
! #if defined(__MWERKS__) && JMMFoo
{
/* Delete the existing directory with the given path. */
--- 140,144 ----
}
! #if defined(__MWERKS__)
{
/* Delete the existing directory with the given path. */
***************
*** 333,337 ****
! #if defined(__MWERKS__) && !TARGET_API_MAC_CARBON
int ftruncate(short int file,int offset)
{
--- 336,340 ----
! #if defined(__MWERKS__)
int ftruncate(short int file,int offset)
{
***************
*** 348,352 ****
#endif
! #if defined(__MWERKS__) && !TARGET_API_MAC_CARBON
#include <ansi_files.h>
--- 351,355 ----
#endif
! #if defined(__MWERKS__)
#include <ansi_files.h>
***************
*** 433,436 ****
--- 436,440 ----
int __open_file (const char * name, __std(__file_modes) mode, __std(__file_handle) * handle);
+ OSErr __path2fss(const char * pathName, FSSpecPtr spec);
int __open_file(const char * name, __file_modes mode, __file_handle * handle)
***************
*** 440,443 ****
--- 444,448 ----
HParamBlockRec pb;
+
ioResult = __path2fss(name, &spec);
if (__system7present()) /* mm 980424 */
***************
*** 450,454 ****
return(__io_error);
! #if TARGET_API_MAC_CARBON
if (ioResult) {
CFStringRef filePath;
--- 455,460 ----
return(__io_error);
!
! #if TARGET_API_MAC_CARBON
if (ioResult) {
CFStringRef filePath;
***************
*** 460,463 ****
--- 466,470 ----
long tokenLength;
+
filePath = CFStringCreateWithBytes(kCFAllocatorDefault,(UInt8 *)name,strlen(name),kCFStringEncodingMacRoman,false);
if (filePath == nil)
***************
*** 474,477 ****
--- 481,491 ----
filePath = CFURLCopyLastPathComponent(sillyThing);
tokenLength = CFStringGetLength(filePath);
+ if (tokenLength > 1024) {
+ CFRelease(filePath);
+ CFRelease(sillyThing);
+ CFRelease(sillyThing2);
+ return(__io_error);
+ }
+
CFStringGetCharacters(filePath,CFRangeMake(0,tokenLength),buffer);
***************
*** 484,492 ****
return(__io_error);
! ioResult = FSpOpenDF(&spec,(mode.io_mode == __read) ? fsRdPerm : fsRdWrPerm, &fileRefNum);
if (ioResult)
! return(__io_error);
!
! *handle = fileRefNum;
return(__no_io_error);
--- 498,514 ----
return(__io_error);
! pb.ioParam.ioNamePtr = spec.name;
! pb.ioParam.ioVRefNum = spec.vRefNum;
! pb.ioParam.ioPermssn = (mode.io_mode == __read) ? fsRdPerm : fsRdWrPerm;
! pb.ioParam.ioMisc = 0;
! pb.fileParam.ioFVersNum = 0;
! pb.fileParam.ioDirID = spec.parID;
! set_file_type(&spec, mode.binary_io);
! ioResult = PBHOpenDFSync(&pb); /* HH 10/25/97 was PBHOpenSync */
!
if (ioResult)
! return(__io_error);
!
! *handle = pb.ioParam.ioRefNum;
return(__no_io_error);
|
|
From: John M M. <jo...@us...> - 2002-08-06 21:11:01
|
Update of /cvsroot/squeak/squeak/platforms/Mac OS/vm/specialChangeSets
In directory usw-pr-cvs1:/tmp/cvs-serv18976/squeak/platforms/Mac OS/vm/specialChangeSets
Added Files:
Gnuifier.3.cs
Log Message:
1.3 remove sqGnu.h file, fix issue with FOO_REG usage
--- NEW FILE: Gnuifier.3.cs ---
'From Squeak3.2gamma of 15 January 2002 [latest update: #4913] on 6 August 2002 at 1:52:43 pm'!
"Change Set: Gnuifier
Date: 1 January 2002
Author: acg
Some code to automate building a VM under GCC. To run, fileIn and execute:
(Gnuifier on: aFileDirectory) gnuify
For example, try something like the following:
(Gnuifier on:
((FileDirectory default
directoryNamed: 'src')
directoryNamed: 'vm') pathName) gnuify
"!
Object subclass: #Gnuifier
instanceVariableNames: 'directory '
classVariableNames: ''
poolDictionaries: ''
category: 'VMConstruction-Building'!
!Gnuifier commentStamp: '<historical>' prior: 0!
My instances automate the translation of a Squeak interpreter for use with GCC. In the specified FileDirectory, I copy 'interp.c' to 'interp.c.old'; translate a gnuified interpreter back into 'interp.c'; and save a working copy of sqGnu.h.
To gnuify an interpreter, try something like one of the following:
(Gnuifier on:
((FileDirectory default
directoryNamed: 'src')
directoryNamed: 'vm') pathName) gnuify
(Gnuifier on:
'powercow X:Users:werdna:Desktop:squeak:Squeak3.2a-4599 Folder:src:vm') gnuify
Structure:
directory FileDirectory -- specifying where I should do my gnuification
I can attempt to undo my damage with #deGnuify.!
!Gnuifier methodsFor: 'as yet unclassified' stamp: 'acg 12/30/2001 14:16'!
copyFrom: inFileStream to: outFileStream
"convert interp.c to use GNU features"
| inData |
Cursor read showWhile:
[inData := inFileStream upToEnd withSqueakLineEndings].
Cursor write showWhile:
[outFileStream nextPutAll: inData].
outFileStream close! !
!Gnuifier methodsFor: 'as yet unclassified' stamp: 'acg 1/1/2002 10:10'!
deGnuify
(directory fileExists: 'interp.c.old')
ifFalse: [^Error signal: 'Cannot deGnuify. The old "interp.c" was not found.'].
(directory fileExists: 'interp.c')
ifTrue: [directory deleteFileNamed: 'interp.c'].
self
copyFrom: (directory oldFileNamed: 'interp.c.old')
to: (directory newFileNamed: 'interp.c').
(directory fileExists: 'sqGnu.h')
ifTrue: [directory deleteFileNamed: 'sqGnu.h'].
directory deleteFileNamed: 'interp.c.old'! !
!Gnuifier methodsFor: 'as yet unclassified' stamp: 'JMM 8/6/2002 13:52'!
gnuify
(directory fileExists: 'interp.c.old') ifTrue:
[(PopUpMenu
confirm: 'Interpreter probably guified (interp.c.old exists).
Do you want to gnuify anyway?') ifFalse: [^nil].
directory deleteFileNamed: 'interp.c.old'].
self
copyFrom: (directory oldFileNamed: 'interp.c')
to: (directory newFileNamed: 'interp.c.old').
directory deleteFileNamed: 'interp.c'.
self
gnuifyFrom:(directory oldFileNamed: 'interp.c.old')
to: (directory newFileNamed: 'interp.c').
! !
!Gnuifier methodsFor: 'as yet unclassified' stamp: 'JMM 8/6/2002 13:34'!
gnuifyFrom: inFileStream to: outFileStream
"convert interp.c to use GNU features"
| inData beforeInterpret inInterpret inInterpretVars beforePrimitiveResponse inPrimitiveResponse |
Cursor read showWhile:
[inData := inFileStream upToEnd withSqueakLineEndings.
inFileStream close].
Cursor write showWhile:
["print a header"
outFileStream
nextPutAll: '/* This file has been post-processed for GNU C */';
cr; cr; cr.
beforeInterpret := true. "whether we are before the beginning of interpret()"
inInterpret := false. "whether we are in the middle of interpret"
inInterpretVars := false. "whether we are in the variables of interpret"
beforePrimitiveResponse := true. "whether we are before the beginning of primitiveResponse()"
inPrimitiveResponse := false. "whether we are inside of primitiveResponse"
inData linesDo: [ :inLine |
| outLine extraOutLine |
outLine := inLine. "print out one line for each input line; by default, print out the line that was input, but some rules modify it"
extraOutLine := nil. "occasionally print a second output line..."
beforeInterpret ifTrue: [
(inLine findString: 'inline:') > 0 ifTrue: [
"oops!!!!"
outFileStream nextPutAll: '#error interp was not inlined, so cannot be gnuified'.
Smalltalk snapshot: false andQuit: true. ].
(inLine = '#include "sq.h"') ifTrue: [
outLine := '#include "sqGnu.h"'. ].
(inLine = 'int interpret(void) {') ifTrue: [
"reached the beginning of interpret"
beforeInterpret := false.
inInterpret := true.
inInterpretVars := true. ] ]
ifFalse: [
inInterpretVars ifTrue: [
(inLine findString: ' localIP;') > 0 ifTrue: [
outLine := '#ifdef FOO_REG
register struct foo * foo FOO_REG = &fum;
#endif
register char* localIP IP_REG;' ].
(inLine findString: ' localSP;') > 0 ifTrue: [
outLine := ' register char* localSP SP_REG;'. ].
(inLine findString: ' currentBytecode;') > 0 ifTrue: [
outLine := ' register int currentBytecode CB_REG;' ].
inLine isEmpty ifTrue: [
"reached end of variables"
inInterpretVars := false.
outLine := ' JUMP_TABLE;'. ] ]
ifFalse: [
inInterpret ifTrue: [
"working inside interpret(); translate the switch statement"
(inLine beginsWith: ' case ') ifTrue: [
| caseLabel |
caseLabel := (inLine findTokens: ' :') second.
outLine := ' CASE(', caseLabel, ')' ].
inLine = ' break;' ifTrue: [
outLine := ' BREAK;' ].
inLine = '}' ifTrue: [
"all finished with interpret()"
inInterpret := false. ] ]
ifFalse: [
beforePrimitiveResponse ifTrue: [
(inLine beginsWith: 'int primitiveResponse(') ifTrue: [
"into primitiveResponse we go"
beforePrimitiveResponse := false.
inPrimitiveResponse := true.
extraOutLine := ' PRIM_TABLE;'. ] ]
ifFalse: [
inPrimitiveResponse ifTrue: [
(inLine = ' switch (primitiveIndex) {') ifTrue: [
extraOutLine := outLine.
outLine := ' PRIM_DISPATCH;' ].
(inLine beginsWith: ' case ') ifTrue: [
| caseLabel |
caseLabel := (inLine findTokens: ' :') second.
outLine := ' CASE(', caseLabel, ')' ].
inLine = '}' ifTrue: [
inPrimitiveResponse := false ] ].
] ] ] ].
outFileStream nextPutAll: outLine; cr.
extraOutLine ifNotNil: [
outFileStream nextPutAll: extraOutLine; cr ]]].
outFileStream close! !
!Gnuifier methodsFor: 'as yet unclassified' stamp: 'acg 12/30/2001 14:12'!
setDirectory: aFileDirectory
directory _ aFileDirectory! !
!Gnuifier class methodsFor: 'as yet unclassified' stamp: 'acg 12/30/2001 14:13'!
on: aFilePathString
^self new setDirectory: (FileDirectory on: aFilePathString)! !
Gnuifier removeSelector: #sqGnuFile!
|
|
From: John M M. <jo...@us...> - 2002-08-06 20:43:53
|
Update of /cvsroot/squeak/squeak/platforms/Mac OS/vm/specialChangeSets In directory usw-pr-cvs1:/tmp/cvs-serv4753/squeak/platforms/Mac OS/vm/specialChangeSets Removed Files: Gnuifier.2.cs Log Message: 3.2.8b1 fix for unix sqGnu.h --- Gnuifier.2.cs DELETED --- |
|
From: John M M. <jo...@us...> - 2002-08-06 20:40:55
|
Update of /cvsroot/squeak/squeak/platforms/Mac OS/vm/specialChangeSets In directory usw-pr-cvs1:/tmp/cvs-serv3190/squeak/platforms/Mac OS/vm/specialChangeSets Removed Files: sqGnu.h Log Message: 3.2.8b1 remove this, use offical unix version --- sqGnu.h DELETED --- |
|
From: John M M. <jo...@us...> - 2002-08-06 19:55:52
|
Update of /cvsroot/squeak/squeak/platforms/Mac OS/vm/Developer In directory usw-pr-cvs1:/tmp/cvs-serv12781/squeak/platforms/Mac OS/vm/Developer Added Files: resources.sit Log Message: rearrange files, also cleanup resource files --- NEW FILE: resources.sit --- StuffIt (c)1997-2001 Aladdin Systems, Inc., http://www.aladdinsys.com/StuffIt/ oûÉÛûMÁÒdìø÷Aó;Ú¹YùBèQrÎó tá$÷_r¯W±iܦÎÈ9ô<q!~¤ÌÂð¤ö2ÞBðæéO<ÖÃ)ÃòÊ(y1ÊB°}ÁÛ5[p3eºî]ÎJp)aIááÏ¿æ1õ|T$°¯ê&ëoï& <ñª ·zyth+N±²5»ÒvécŸEt¹ëNÜ´î oVmåRKHÏç¶N+[£\8¬tðfPç³? YMÛî¡Ã}2TSúCø:õ|L<û¨×°o7InzÏ⪤1¥öÆU§¡Spµá0"£Á´)?sl6Ì·ÕÊè4jì2±¸q,Îôa¹G»ù ¨?¸ÚPø¸ÿ7:í®G4æO;H³ÙCºmr ¤ñz°<8µ¢{¤nñN}E8 ÅÝF¾?æ±vúüE¯¼<A|R*¨] Y;ð°ÌÔà¥áv ~bêÜLTº ;g9¦ú¼g¥C}êI84ÿ9ÉHlqeǺ¢";{`7ÿYØ,¹§Þ-WÄR`/ß«_M¤)Ú¹¾ Y$?êxxrC#V uß t Pß EB<ÌMÖ9ÀL6ËêMñPü't½à`%weI#oiµFçÔîi&Á^ôM)¬wü¢UË*m~£ÞCÔ²DÙ¤÷`ëPxòwû¼RFû¬õ¾ò?²Õ© gsyqã;|o5ÔøqXÂDrÖ³õå @à_"B4DAQ©ÓDKB<qæÁp_³í,ù'HxeÉs,t©ÑºÓæß03-Dù9MTÊa«Çø<-Óxò4ü] ¸¼éí7yÎðîèÕä½^?ÌÃíjÝi±ívts°1Óv;¡`V©Ír")ÿqrÑùÜèm¯[>úU7TîøÞ&jC²$ÄJOÕ°+é2\p·~ÄÍná¿sßmõ3ÚC3;£ YºC][ñ²¾1IKÿ'ýw ÕL¾!4Q1U¨^eÆ,ùD+¥¥¥¥ éÎ\Þgü³ØÜå L<)Dp¡óî6Gêæg5¶vEεR%4\²Gï4?a[äÜK0Òmw,¡!cà§Ú<t?A ÑÀ#L¡! É=G-RÍU²ëÁ °Þ 2MÍo'TdÜØmãÒ¹öÍØ°Àâ{bÆôõD@RäêÅÓ#åÀ&Nè@sã ÑrÖ yæB Yúr¥áÔ]I+_PDE6ä!4gܯC»pmZ"$Ü7Ù6iÌ]£ÒéhT3ô.Äej3;º¤xq1ºnè²CÐyòNxo¢Ç§)Buù· æt÷ë ^JÖM8Ð^Kê§èôªîVxÄàaºv÷ø£\ϨåXeêcSícT5ËÔ˲ý;úÊô«¿73ìý?AL¡éÖÊz?I®U´sÄnf¿´!ü`R/S²äܪgÙT9¯ã_«å#ÔË»h×ñ˵ëñm´KWè>©Z¹³Vª&ååEdîÓÄ3«Ð¸ UÉ(t\ORf.@wîkR©¾hó~>l5tEý²è@úcdx:Tânà$<úÆ5<#§ÌN;¸£K×ÛÙ¤m¿£à}9ÂÕ }0»°¶Ö®a·¿#=íèöw ´Þ×qùÞ I3 y©,ñÏZÌ : 0¿r¸ÿI2F$Fp5øX*1èUWR¶vÚ%ʶn0É>§ÓìXf1¬_¬¯~3p|Ô<ú6Aiy=ãüÞ\ï 4¬³ÖüÜ63*¸S(~:Iú«=Á}ÕL¸hTAÉ·÷V2Ö²~®50Sϱ£»<WØTaY YN!cÇ´F_¦ÈpU[¢%úCZ0øÞAÕj¼»ë¤EÚÑ^ÕçóQÖ2¿à4ÓqLþg`mà {¬XÄs¯_ü¨îZÁkÙ,ºïÚ÷'_ØE,sh÷è$ÿàØó¯é.ó&ûå/ÐT?¿DÍJ[ÈðþÃú/0 V=3SmLãv-8JX²Ù<ÍÂÊ©Ëì+íGCPºýÌwzrWì+\p'Ã$Õií\Y9,']/øhô_óO×*84væ êëy0ǹø@;çy?eê#âbº®qC/ÑizUëq+r¾9óP4! © $p:X´U(Ú"n÷YðG% tÿJÄb6^EâÄL¿tË'ìïÿK(fE)ÿØMR¬Ëc=¤:ðþHÐx ÷:Ü þ¹ÿ3SJHóD(E-â\^«èÚìëóG´xE uÅ9QÚläe¹* n ª ÅS9ÔQ«î!ÊQø*£éáV*Æ)£ÉÈP2²ôo>ª¤{ÆzÍÖçflÞNÔÐË; |ºÀéп`ayÓա̦ôJZ.Å%J«$ÝfIæ`.³ð¶àKÀo:øÓEEv¡ãpÖÜò«Ùq~"É,ÚX{2!:\/¯Ðá1ëQfAzäbpkÓv¿Ð§ªW!YVGõ±.ʬß)z;ä" |ùë½ò§UtûÍ.«Y« =lÄöSwP ñûÃY-ó>Øu ,<¯tF${ø²<<3j°GéjædeòâeÓ ;úU¹´Ýå»W¶MUüèùà`0WcMýUúÌð)ú@¸×eJõPëåÒÁ×ÉdqæÎfÎü$;ä4w¡êÉT¡Ãòî¬ü¿+?"ðB~Ïé(S²Ix´~·xñ)µÑnOö?Ïõª½á¾P]zív[`.}úôLôRWkƧTxyÔÁÀöKki 6PfÁàOßè. â²Ã_ãÐV5S'Gzq³ÖÜ#ñ ÷%ôc¤é°¹#Tø9¥à>$ ½uw2ÍËãÓIYu:£½0E5º9p¬WÿZc4ì*2ÀbD¾¯Lð={îÖPbÚÅd/'Q×Ûá1¶:ßý{ö¾ùX:j¸é±ùúaàf©·_õ§5bà pW qj«ÜÁGTz¯DÐãߨÓ_ù ÖlmÍ÷Z OFÔnu]|jv\±|Û¥Ì]OV/´Ã 4Ògxf#·QÀø íä ˼ù(~:,éÇK¥4°ÕN=rpüßgBU·§2,ä+vÊ<¼µ´H/,ß,~4@µNù«²Ý#ðYCäýZW5e&cèH³ô=Û7ö Ì/ _Ä=y*øª"u©°êÖv ÐrA¨<ë¥n70ÁòÁ:òAãMUÅkQÂrWµí=ÁòîFÈloHæ\¶xìÿN'¬ eóÔ`:îëá4È-FT°s:{¥¯ÛDÓ¾@NÜÛOVv¿xv®±øÜäê%tv9þ[rÎLþCáSY!ùK4*iü\NG¦UH¥=Et×ÿgÛÚ¸EÄ uÚ'# ,EÕjðPó¼kÙAÏdL0ýèZwXOä4äN+;<"UQ£Á¥°%ëÏ ôc¥²;5 â,ºfàþ³®ÁòKMµ¸Ïâù zï7\³dÊÐ<{¶qXBÉÁÅÝê¼´ðñ5£íéÝJrÊG é{m¨éj²ôGÉÂtN|ãåzD8§&ÖaóµÝzäÍ+'<ßpNïY2d¼0¬Ä¥â¥°ãÿÞ"ïaå+qTZ´zm¸%4ê+êz,¾2Óý+Æ9qÈw³gÔàhíXúwVÉ|é<©ÿ¼0lìndíå+)d}°mÕIxB-Rd¶s±¢jMPIÑN b \¦fÕ'¬94dôøSEã<~>Í6&¬*¹ÚÞðSe)ïµÎ#ª{¯´IP¸ »ùÀ#äP.´ðéV. gG2VÙâp¼uc`jKôía*BD¯ÞäâÐóî~*¯08^.nÌÆ/õCmF8lJAÙé,4ê°7< SóN¤x>¤ÏÓÒ|D·'ý ËK¢÷÷,_XhLªèG OYáÿ.b%s2f*¢OÑ!xÊ&Ãü!$ |¥ùUW9Ú_¶Ö=$wóO7h&òwèòùç©ÆhÃO PýSÝß¶Fµ«Ó<@Ø75{sõLHÍnM0k>pæ¹ùÅÛÔ 5ˬKKØröý·O5⳾ƼÇq÷}Íã͸*kÄï Xþ»5,NáÇzH¡Ç^T%)ð&Éf?]Ö¨9&gïª.×.f©±9DØ6øpBvóø¾#3ÓvTH%¯ýuÈÅ[¯ùvn{.ÿ¦¾ïó+£":'â¹ ØËL t1þjâaÈïr;lææZâW5ä Òî{ú*¨LǸ\}+¼:ãY`¹ELiO^)}ñmDT¡UHeíD_ïê5ÕdÁcÏ·~lQ_ÓÍÜËGL;ú KãSÄ·~F}fùkø|òÔ_Þç¶'y7±©¨À j©a;ãVVuµý,È»xT£Ñ0:"âuÚUG±Íe¹Éôõ)è·^¨F,míS<¶4ù§´}4rÅÖãTääç35[zÃÆ)Y*óý8zª%zêof<¿îoËÿåá÷ýL*Ñ6àz¥Î[9æ³.ì\eÕ÷ç<ÛÒv2±}oVÀÝ©i¤÷§öÉÂ<'|× qÂ+jwÕnç6-`Ö]Ρ¸Ñ \Èæp§g5Þg©]O§I}QZiàkwciAÉÔd3É&O¥ ¹0Äu@.ã¢$ÈÛ$Þñ©e¹Í(÷aÎûBÌØýµÞÐOÁ¨8ØsÂç$1f%88üù!Ø;g¦ÇOÍràe}é®EKÐévéW â]âÉøFº%µÙüÉ3ðÂÖÉY³gØBL+³ã'Yëú¥¢DZé.¯¦£{lGË:ªÎv 'Y½© ôêråÍIä·éÏ? ÚéäýÚiQ±M9ª½fEh¥l]°VÕ±q¿áBlQ Ô\=éªsÈ·%Ð%7aêS ÓÛ>6 ÷ñA³ÕܤØ1»íG<ãUÒLÒsp¤qÝÏ£x.Á¾Þ¿D¾QÕPIi½|#Í=ÓÒ(°¨öòF¥Þ(»F²z×?lxÁl¯¨º®'0£_EFt x½40ØåÍcK£Ç ˪)kíoÍM³»ïüB]_hé;ýºõE}j8§^Qù'Âód>És¡ÿeçõÎ8ñ^<¹PGR3@µ±JºC$¤²,¥ºsÇÊ/ÔÖ9_¤:Ù°Tf/æ?ع°WW5ÁÞ<¸ÀQ__CèÈÆH¹$ð= dpÞ¶ eM'M,>º*/Sæß!ä·Ã¡ÐÖõQÎ3ñ coèÊL\Óëê¸Ä¢gE<ÓÀakBÉ$ÿ@Å;8>·ú%IÔáú^¡èÇîl52v!J¸âýÞÅûé£~Æ!<©Ú¯ôßDñóÀ°ç0¦Z·7uõæAxýáHÿ¶}Ù¸©ìBd8¤*þèFJ`3þxm¤4<p¹¤¶í5pÊ7ÊçÕû`TI÷_¡ÀxéÝLâʱ!<ë²m¶*òÚÑpOËîÍöN~ÍôÖÅWϯZ4zÙ[¨ÅE©sÿV®ovaÃÿ8ìïÈwd tS$¤CÆÕmtËt¯ÛÞüt¥g ä$È m«ºGænr >Ũµºâ)$yaõ*d,"W.Z%T jm©n§ìù²w f»GOd%|?xîC|x4±GÛnD)¸âmò%½õ=ë9#mBÏ:ßhkß5IoÅwzÜcßJ¶2vmóN7mV`à[3 >àgp{éESÐC Ýrıõ0nDRQ%ZûWj ×"ùJ«k*£Å¹k{9ÕÔ¤ZqJìû¥:ºÏøR}¥òynÎÄ1úEÚDoÅì;Æ@dd /¯[Upz»ÛÚÜ+B"ÛäS4o}#z vþB¦B;l ²³ó±u=)߸V? ñÍ= ©î ÑСÖðj»\Ò9aà¿)<àíZ»¼¾á5Lõ£ê×¾oÀf¼6v 6¤[÷õêÇ\ìN?)|Û¢÷ÁHØaxîתÃMt2Õ&ïb1²cøÞ4ÖÑ¡ úºý#ÑÉä-(0'Ø|)$<)è· ¬¹ ,¾è^,'C!9¶u$6Â)õ@Â.VF´´íáj-ãD³Á´vØþO]zb5Gø`SEí¸Çdon°*1³Ø]çè?sÒ«=èO%>Üô1ôÕ²&û>²PzÒ-å¾Úõ¤½6Ëä/©x Ç)w{\ªÌ lÂÎ61ÛsÁ+}xQ}pºÆ=ÇI<ËJ âJU@`#Xwp #«jiäî[ÏMe対ý(Vcîÿú@7fØ ²zÖû'¹W!F~N«È¼WðÞªZýVTòf2ò§¶jjÉñBe_ñÄaÈr²¾\ NVÂB¥l~ïpÉ'¸qîf3&ËHge·W~¿=µHòý÷s@Wͬ0là°ØÇjùtÛÞÝd.B¢§n×*Òê+_Øbô¤fËRDäéÔw£Cÿ¦ÝFùfBf©b¯öCȯ\nÁ(è7TÞ'Ø $Öb´æãRm*üý7w¿oÿ²&é4xfp=h{ãi®hÄtvê².ç7æ7n8)úÄiíüZ¯]¼ ½ÀqmÉ«ì²G_» l~n»öô[~Bx%äQ8ã%ö}ßRÚÏ1ßI;¯?Æ o¾ Uçº(°ªá¿¬2dQ.³/5DâǸ÷þ&ÃupÀáR#Âr°I¿8È"¥HW@LúøL§ÝQѧ&v×ûÒ)@~S¶¾¾R SïòvpEMÞÇnaI1L,£Öê» i½¹køgÕÚ±µ90k`lx6MάøShS¨ÐªPK# ¢$JÈñý(¢Hkßb×¾´ÖâÒ)Êèp^IKϰð2<^FKJâÚm¤}3ý-_R±fZ ^ï2`W@¬a| >S7 FHÍvâïòuîàM ïLU3âñCþCdR{48õ¿§êN·,{gäQãÒý.´»×ø¨ÔòB8(Ó+39iHóÐÉ1ÝØmËZ¾úÀ¶!©T¤ Ãò*ï´û_¯0½¼Íp¶~¢*÷£*paÞÓ"J ¢+ùשùNC?ïnï0î㵬x³Áþ¨µQm²rð=±ô叿xÓWt6ÆÛK('»]]vªMÀî³+¿>¿pcáB{[~ÿe¢T+±É°PÛC¤Í¦h¬mxz4!à¯åÌÝ'¥oz±ó)l!ùÄÀ,·½;ðáP Ëëø'²¤r¯âçÈW~ÂâòÑÎ$¿!TY/;ñam8sº\,fiбõyÉ¥Íâ;Wûë q©IL-vVÔX»@wØPü1=àìÞÂs<DßèàÜÅñCæ`Wf%¾ªÜßótÅ«âKµµ ©§,"zMwÒBõyè÷AÎÅ©¯^¥p&åÔtdâS-Û >£êxÊÇÎþ¸Q¼×4ãÁ(æ$k_.R¬Èr'¸Ul¦>*RD4%Ý-t£ºà]H3-k:úh m^ÒíÿËÖªK§Çh#w@°Â3cæC7ö#ÖÊO3ÈJÒªOb®jN×+#;úQIý¸+5²sj8ÇHvƦ²¥½½»w©ô%B ÿ[ w&å÷)»°>æG<+¤Ï²,O*»ËexG3Ú§ë²s-磬׶ÌKc÷ÃU>-=f¨âã0']Ö|pÄ ðC¶£c&$>ºÍ¡)Rí4÷,H;nï3ü#lÈâat'2?È| !±å6m¦ Âk%ósM±*«5F4vSºaTÍ[!j ʧ(SªqªÈ;õæ j, Ý û"Òð*àxé o½ÈÑØ¹^Ç@*@4-ûxÍð÷p©® ÔõÔØçGrÞ"SSÙà3)v*;:!@)øGY»3ÎÜÊWB[¦Gú.Ïl»#kÛÎu«±ºðÅåÐMJ4]hÌ¡ãá<Ê'V©dÃlIÌl¢÷L±[yx|èÎæ$ËGWÀs^±ÐÚ¡â£FìðZN\îéÅ uÚ ²Ã^*r¾ÉØÎG¼¼ï&K(ɦoq¸v!&F5¥¾ôÁ^¾Êbt㬱«cÙÜÎÓ1÷'Öm,1è×k²PÐ%ãÝÞÄ~É+ Ví°$È> cVV48yãòþ·®ÈûK±Ü(K¾÷øzàÛxÙ§@ç_ýyÎB×Xñ-7ÀYfÿe=ÚÀõ¬Ðf@[WûGñÖ(ChÜí¤}ÏJJñ ¤$b#!¼¿]N¨ ±ß=A´_Ð OëèðûT°ñýt!û0ßó/ ]ÎúÙU¤£²Ìõ¾è$~Þ` ¬i1gßwHÚ]ºÕÅö·õôº7«xwî+4ªXÈ¢ä¦$Î#o|n²EÂJ2;[£ý=ÙT½ðSnëÖ3»X¢bJëÏeË[ÝO¡D&oí5ÜV×Þ&°åjÖp]ßþwÝìé*mÜ?%vX´üq .þjÓ(@l1qÞ×.mÈ-øÒI {ßÁ6¿ñË ¸îZú%àZKB÷B˰·¹,U|ÍìïÇ82`B5æ `Yi&BÞÛ8v,ÒÄr8XÇzìxX¸â|Y)£Â¶¿õRÂt£W"8ÊuR.x¾+a1~wmWòxÿØ4S¸xeöý »[îàõɪQ9÷Úµht¤Jäª>%uDNe$.ß´±Nûc·jÏæy¬Î^y±nØù"< _bH5Ë@òì=Nλ$^( »Ì_@â¶x,7=öJàyoí(pf|¸t+´jûX3uJ¤®8yO¾HÒHq¨±åZÒb§K¦@ÓKÅbHÔwêLÚF/&ö=]°Á8ÆlÐ ÓË5éXAä2M¹fË3ªÏWÑ\ÐM]¤úþR°ýÝäw ?dz~KðÃw]m«ßß8ª,Øåg4r+ Ь NöÎ#»·_öQ@9~,AZ¶í'`¥õ7Â7w¶5g©#5qÿ¾às~&xµÝh7ç/LÐ;1´Ç ]O C{~zj4ª£²µ¥ÐB(OùQáq-çT`1íåKxCQk|ï5¹HËoq.N\üÒb^-½Â È<ïóÊ·±%H$-£-dO¼ðU(Å@E½M·%å9óÜNÕ®×§«â@èö{U*h·;é±TEg+Ûa9¿F¯²Xã=ÀXk9¡!¥' ÔÊÎë¶ïê&ðÈÿÅÍAïöÎ3XDòäÛ¾q?«@µc¿ÕÒ+ÿIã²ÈÞVÌ¢fÃïó¸°$ÆË]¬Û¾ý²53èÓlÙ·JæÇ`Ìw%¶ó5ÍP¾|tðHí'p^>ÎZhÜEaßÿäéäãéï7n|ÒÏ¢@` x\ZðràÔN9_\@'.ä÷>^¸EØoÇòÉÃ- f<+×!kÞÞt ìFITÕDáéS¼hÐgVViuØÝ{í¸°Tß>ÖÚ¸35W_§oI¿>C0sÑÆ\6HõÂŹªüV^qkáÄE¸ßÜblªX*Ãq¹ÙÀÝÉ{6ìòtÍ,ó4U êÚ«@oÈà¬Ñóóbnl`ºðGO,ý]ÏÄÓÞ»ª(QdÕ ZàD8ñ>x<çÈÇëÐ 0û·ËTßmØ1LÌzõ7ÎH+ÆkÔ¢Ñü[*¯+tÍn*Z[æ¨ÛÚ&ÿ¤B8ø×2_ïøøËÙ êZwxÅenlmU¦Ê¸OûlTBÖ:Ú]n2Ú%7ÎÏ6¡âI°1HûÀ-,´Q¸ªÓØñ|K´ÅUªÚKu3î®ÒhY,¯aôÏÙxoùöq5r]DÀå"Ç̼ÂpÜ/§9·Ç° àÁ¹þyk\»â5^ìW¿ÖȰ½Í»(öã¾íÕC»Bfd«r'rß UºvÇeû ÎcÌ¿VPîçѯãåþºGë Û¯Âjö_qeo.îéF?e9H§Üç@Hmã!NÏ+Nh»VǸíÛN2£Ñ}* ü %±#)Ú¾`)ÔÚ¤f<¡×z$K¢ãC*ä¢"°é=ÅJÿ5ÁD:°5õCÔH¸åW÷ݺôþ¡zÐ {¬0ûÑZ§Z-p_.>ÖG¼¦%_x<w7åm'æ×Qû¨&;¾Ûo%ò/0 ëÈ'AäEíìå1{½É¨©kd(Ôí<Ú]êêLmñ¾ q¿JÓ8ønY¥ÚB¢¬fTGì}=o(¡Dý@ݬ\ÃÍúçìY+3Á VEiH½¿a4¼§3lA>âþX°ê!/"w_ÇÕúpþíV ¼ô¯Ù!MIÛGÚv¾S¹oR@î[éÜ9Zá½Iø¦åá ûê½qj+<ÿ¼?×Î=" ½Ý- ¨¼âO«Ùs¯|:XýðTöÊ´MØø7÷[@GNg¯ ,}*¾«½«µ=8vÛÆ÷/K/÷Z~3t[/xÙO2ù4úû[Юáñ107å|:|X·¾ÇfjÂïÑ8r¸ yL1¥{HhÚ¿*~ÈX [9b¾Ø8y7írÛMîÚ¶^éS[G%ýpÎḛgd¿±l.1lû §uK¾>Æ%ª^êLD$ $E ÇEùÌd¦æQbþ{ßEôÆZÛþÙmJÒB1>-'¬ZÒJÚ¹V¿µy¾Ï¤Ä²o÷ÙVY¦ìQªËÇÒP£!ÞOzúB £¬ûÊÊJÊ{v gïëâî4sa»¤ßwGÆÓÙú{§tR´³ÿð/ ÂáÒï¡IiuI éußC&LÁ÷Åteß!/|¯ïÌWo4¡îͮߣ`¤G\Õ<+³:åÙYt±;ÉGîØ¿7#òN4E©_ÎãÐyë7úr9$úM)DÎYÑR\=C[ÂäC:6iT,cöÔ»tyµ=]QäN³_a%kð¸ÜîV¢Ûò2SíZ'ê DaÒg P®W°í(5xä gê'# %®·OVr ¤z¬S¨c¬DÐIc öÐ(j×Ñ|Àæ@»ß^5W¿ªmzu=qYvC§< Ãng ²;Èåî^ÔRFÚýyÅ|ÿzæ ¬âzOCÀHXWÃIvºÉYÊÒïEôtAõÁ?Ôæ)» v~×__-µÞÐ1 6ëÞÈçxK7ì¾Ô%¬z?²+¿ÆÊ}GzøvKYh²ä\U(Â@k4á·c]7=Eø4'uè$ùÝ:ìà²ÿáA^ªµêEïe»Bи·|{u÷Áu·U;;PIïèãûBÚÓGwVäìýy^ö^nÒ 6V³h(ÿK'8¶ØT 1=àø»}âI¬¸¥¸ÍØ~$å×Ù| ù¥Àg PbæÅüÓÀwÔkË&¾Æ_ª]ÑZpØôKÁrî,p³²K§ !cHÑA¥D¬x°$I?ç ¥cÍ òïßÝÅ. dKD»ÓàsN|[_§Ëe¾S ÷ÍæÎ91hÎ{÷Ü5ýû0¸ rFÝH;Fêô&KÒ»¾<u¸f8r¼4Þ~¥ó·qÁ"ö÷»ôê Úõæ:vz$â\÷1NÊÌÇÏø!< j¹luR«àø]§ø5°£×ÛÇz+7ÒG³{¢f%VP²ç1î®PÖAÚÎD3LU¬ñÛ٤ⰸãdݸI$ìêu¾ #(e2à`+<;¿âüP·ð£^Ú!YI£EH"g_ÓÜ×d8 AîÙOºÃ2$Ò¬2!$ÓXd{¯÷ýùk<¿bÈ""9E¢n"ºÆ Q"ý0e\ÍûeJW`þê=àaBG³1ó-ï,_}W>æÈ²Ñ¢>5ÀÒ{MåGö6!RQqexEf¾^-ýÌ7[óþC[ª\:\ÓÄúEO.E[ çáZÉ0á|Ź dÀdl78Qcr¤gHf¸«. Î="0à¢l¹° ¬?¤dNe^Ö|ÉÆ¹6mûQñã o0â5Þ¶ÔIRi·¯ iÕúcrè>&rïxî&tYH5è!h°S ªÈ}Y o6ñJK£Ïq#È>;¿«äÑÕ ïè¬â±â!hîo/© ¬,òVÁ}'\ÛxªÙÍ¿ÐDØÕóVäµ÷¿vûõôæÁV1ëËé³ $jj )m]¾¼\ "u&>+òpë¬Sj?ÁÿâRÙfGÃ:7Öõ¯Â¤LlFJ¸ÓCHýÿ ÒõÑojZãõ%·:FÁ0ðPc}¯$!<Þ¼BÆÈÑï;/¶ÄaÎðO µØNSðhÞ³éÀ¡6l Ô>éëðÆÙ+uë ΫÁþWUKi¥4QàO-~âì,¢Jİ: I yø#³1FVòZfÉçgöð_êN½j-èkD¬<ö|=P {ì aS°áR?Ö9¹JÜwº«êµ/¢×?õx+ÔM.^w þO)±%ßüpG;º ¨(7~b:`«7Üò8ù&¯síÃ3ff@ÚB¹pÑ( } ñ®RµÂ9µâ~8± ¡tÁ=÷Xådì߸A¹O ¯8] ´n] W[ÿ«Õ,YFÔ4R夯CØO#ÕFų÷(,¼®4ê5;¾Â«Ê\³4&à·êéЯE·Op`Äÿ?ÃEÜÂB £¸^É×YPßsøÔ¦e!xG¼`¦'éûVØÚj¶ªr·²·Ágå~¶æ½Qÿþ»ÚÞì9ÆO°á<!é¢0ëc¯{u$²»q²âĵãí?ów]¼SPoæý8õõ¦´ù3²|DY©ódÌÓû²ã¬7P5Ínþá¦"`)j¤0éIråO+¤Ò+ë¼á^ì¤%íÆ¤åh9~C\pÎ<ÿ±!Ò'1ýêT¸Ø~í`jCo!o.þ©ßGonh4d"Ë àªµeÔt¥(ÓQ»*m 'pJ¶ÿtçÍë¦l¤DÙ4wÜ/YaÓ¿Ti¦Ãòý¤`ÚñEZæÝÀÓ{½8P fn-,HTÍ ¾Ð®a×ô4.>^Fqj ÷¢*£¯7pEO_Am>ܧ4 êËñ+óÍ~=»dízA¼""%Ðe}ß%Ïß×ÚÝÉi³Ó þt¯Uȹ>7Ìm<'ª÷ûä¾4!2ý&\¿\g¬TËEú¾ìoà ·@ïðð}¦¬!Ù¸¿2y8*Rv\dëpNÝ ûá¤BÇPÿuÊ,ØïPxdæëÅÞËÂöØ¿Cd¸8gJ)D& ñsïF+ôæ½/ÝF¢»PMáñ)`Ç)spΨÿÜUú 4óÈÀÊWÇ® ?òÕið6¯¸ 1ÅÂrþù¸&$§þÌ[[Ö|}ûcõUDïj½ZXCvÛótÃôAT«ä4/,mÏ«wôhQ×hȪɲ¸wk,BÂ!xûTpZ]kj_Ïdø]Jì(ïþ³üuçDR"Á<á#IJáuûi]p MLa¾AÑþ "ê ¸[ƾSår§¹IôàÿbeLÔþ¯'î@/õÔ¸2!ÀéÌÕöü?þmÍï"A'Àx´N¢¡:zr*ï´±é¬s¶|X"Â1à7Ü?iïÜô¦UÛaÇÇIj7á_åaâMÒ§ÓOBwØ!m³@:)-Ñ.à#³ +s`¸ñÒ©\±¬qNÀA \»áÃÕÓFf×4ìE±zL0ÈÙ üÏ ¯ EH%îÔ+ *;h " |®2DE³~!Of¢§É]Ýnƺ0vóÕ-øäÊÙINQâCܺyñ@ºÖ|MÚ¿J&ûE {|Dä7ǦZÊwmÎ5ͺjóÿPêzÂʳÔ7¢ÜPâóêIjuh9lvü íá: cÂPêeX<cañ .àÕ÷DÂLZ3ôÛM§ðøÕ¼¦á`ä¶ Æ£Ýf7óÆ¢,¨ûÀ¸ºÂ¾JlûH±Gñ*¯ÑTFHú ~ïÆs´Æë¿]ØG¸¹z0£vÁ/EýÓ C*?,]ÄñÍÀ\ù³·ìO ( Ë993`yÎhÓÙÏé ÿP©éM4íg裴!÷î¬ÿÜ} -NkI÷ÇÍsçñÄÍpÊj¸Øn¨ý«÷³zÒ*Q÷ã 'n°jãLüKÔQïµÙ.³÷ÁSêkß{T¿«UºfguùúPA¦¨ºÐm\IÌø¯H77ãsó^é¢1þÌK s1ÅÖ6°å-hYû¶1´Åq±, )¾nÄDô|H"[°çÌ gÜ{$AkÀzIʽJ¯{ÆËcaz2ú²8Èdäâý¬Ð&¡ißf¸ª»KìEÁduO9åöwZúùI¥úý:øØkI×éÍobEâ¹ãÜõúM3O_f^µTDs~J~-»½¶!>,´(dÙ̵ÍÖ/<ñZµMð³wVïÝå4ЫÇ[¤¶M¤¹^@ÿãåJGáiCÞæµóÎØ§e÷Ú£/73s"àéo»ÇTîñ²NSæBb#a¾*U²ÌýcºPÔÃÒ¹KÄÌ(«tÒãû³ûabÊË=y!q¨Ls2HU6J^ní*Ñ ^ =òÌÆò¦?`u*¾HMô3²1õGFuí·D° ÊPX¾T×Ít -fâRKmHV¸nöµ¿E << SAà[¶7<µC×1ÇöXçt(ó2®äT3L³éÞ·uÜåuôbÍ1ÿ1f· ¢JaB¿+Æ:U§f`Û]Ct±eZjëKñä÷hb±fõmæ^Ôúß;b)¥ylð2'çø-ªÞx{[úô W ~)ºªt*Bg*òЪ#"¯?Ü?B+P&¾ã]BdV6䯴#ØG&¶Á4úr\È1þ5Èýé/öùÂÂ?i¨&'ïØÖyLʨEÿõ÷æ$xÆü¼ò£ëÈ9$ áç}®®Æ%U³wªÜSWÌB AØbIMÂÑbw13íÌlè¶Ï+ÃVýhEÓC;VCK&.Þ7ñÝFÁöØ(8#·IeI¸¬æÕµFÏÍ^/½xÿzÿ^ª¢á*:Ýìjt*þIõ[ãø:ÚqçFõí}þ¦×È#RÜIüD+H±eóêjÒ+Ã¥Çî,µþQMn=Lx'ì-¶d2ܰijX[7§2¨Ìÿø¢ê(%Z½ÿ;îÅË ôñÁ³;²¥Ö¥Vs¢¥õÜuWÌÛ¼½ÓYª[kÆ^([åyù s&Ò¨úlÒ÷~rÃ^üÐHvrUï£èÙ@·ô ÷#¬_1hqÏÓ*|fÎĬYzZ æú ñÍ]@^ÐsÇ ³¡ oÁþ8^lU_e¾Zkü`V´ ,JÝÌ~i·ç©DT;LHê~Ñ¥â|9é}m'. hö³ S¡/9Ü3ðÀóüå}à;MTº:èIùVl2$®ÿÿù³M@4ÿ£òROYzâo=_§GUÇ%ãs¦ªPùb ðW[¼µé +-¢aV/[ÞéÅ=¬@EõªÂ ¨ÌT©R<fL¢ð«ÒU'´JH ·hG?ÞÌñZ*¢qÿÖù¤iN·PÚU|ÒB9èÜ#wöë*ù[ë]$ÈÞñ/wqí r<XåàSν,î?ý¾:@ÒÒ=3öäUw+ÀEÔÂY:Ûi±ês9×,)[©`¸Ýªäxæ/@NfòA=سsM!?øGR'KôÒ ¥H4ä,§ÊëåTv6Ý&Aip>A Ȥ/Vìg[ñjtæ|B?ø·@2TDzQ÷Èx"âLù{»g 3¼DÂ÷æT(yøÕÝß|"Äp ûÏ~zÊ/¯K>Íkc´5Øá//ÕaÔϵVo¿¼¥O øjÊå®Ö Ël ,Ì1(ñd§Ìe·f9ò£ÎÙq³óRï"«·Aø{´òMÍîÜ~¨Á«V+¼ù=ù#W¯wi9§ ¢wK +¸ºNÕ®Ù³ãWÑö5(bw[ئ¿øGaã#àÁMnfa/Y¤<|F,¢ö{< %û -ñ.'ùoÐp/RzY°ÛÂQ´m®+ÚðÂ(_ ~Ï Ï Â*!ÐNø)»-¸©Î L@ÅFTÆèÃÆÚL1?áwÏZôÃ/ôJÆó#2ÊÆ¸!ãܦm?欰ô ̾á?°âÌ ¶²oêK¼[JÞ õ5A¤Ø?÷ XH iÙÅ4ê4ʺPM~ÐlåZù5ö8/b9àöêô ý'ú¬k<lICîü?)°<n vÚæ(Çßciw nÜNô»eãLÖôôÉ3Á`Õ @*;4¢{KdÓ©Ôþ^ ùWæÝïÀ:ñ+ªÂÈkË22hN¯ã»º pæî3[ËfÕÊn1ºdzêí²5ã£öÌS³ÂÔÛì° c»îÚÿÃHÃ:(ƤKÛ&z}3ÍtÙMÆ,.¥Ø+tSe'«DÁDþ±»Ö1±ß/¸3Bçòç |Ó¦ºáA çľ?¥ÇðYøEbe¤øY¡ÛWÞÇðæàÊ v06 îÍ ë°Á^Ñmlø¶5â/ý;¯Û¡¡Kʧ|,¾Î³vV Gë÷=Á¹'Ê[kãhz4b/Öt]¤ûëA»¤ób.ðÉÓ¬ûÇt3bùÅ=¬é§:¤nÚRÊì"òÀ{¡je ç!ã}*1yY¤ZS¶;¤Òo+l±rÏ'I2a!'ØÜiö»ÍA9ÉùfØZ>n¸$ô´ 8ú&¡DIôTØÒ§ÂaLlãÚ7w̺YP´°oØ£ ;2F$ÞUC¾>¢×ô[ÿç;þ?fýâsD@Éiªr"h× Aµ6ê¡ ñ-sõEÏÚæÇf»½éÄåãyxæQx çUèöY'ÏüPsÖá~äÒÀë ñ±6pZÝuø[íÂÜsþhOPÌb·ÈúfnvpqÕÏ\·äIï::Ü» àâ*-nôÈ®øø°ù%t\C¥²HÐò4ªß`Lc½åßjí# #eHãaÉúü®ÄºèؼÒm$Éy¡úo§Ó¡ N¿6ÝíP%WýX£Ê³µ¬ïCßý#ÃÚèiOñÓ×~/ÐÌxbK÷Àð ÚËé¼÷qrmj¨³meèá}ÿ#9¼ÊeqǸÅ}ÍiZÙ>c6Iu¥ôÖì¾a¸°2è³Îj.eÆóIÙ#fxã !Bð äKAQý©àÕøvXqÒÇuRýÝïBíë5#pÐòÎõK½=`³«°è2×ÈW_)-7Æ]_ª Âß°ûqÂÿõ¥+{³K _NÈ `7·iå+BOKò¦{Á jSFTN`ØÔtôiAÞ³BÒ æ5eÁeV²¬¦&Q8{m×ÖÌ׫XWtUóÛ 3Ñx,Iõî f }ÆeÏÁp(Dízíü¿°uçuúÂà3QÞ×Ðí<E¤ö9WöÃñx«Û ¾y V¦~ëlCdìýÿm³5{裨m5¬·d£¨¨ÙN?Hx#|;̱´rbâÙý5Bæ?¬k)] NËÇc¿©ed~($¦&²¢!6å ^üIÿXEPÓ5YTü2µLO±(ߪ» ~ó hÀJ¨PÆ@f÷új¦nÀ l°7üòïÔÛ[²´ÚúQ}v\¦û9B%GVç$CøþË[Ðr¥Aùä¢nv ^¤BMù¦Ãx.J"[ç×´m¢åì\Á&;ÌtñZù1Ü[³|lKTïmEtÎ,îh8=÷÷J³4Ró©ò¿]ø`Ìò_««þHÜ&X £ýðqðCÃÓ²åCu6Vì8$eÚ,1P>e+*Ì>ô¾'ãß²aK9 k\HrÒ8ßqú Íw.Õ¨n>¡r ù¸ µ0mbÃܸt¤4ò«`=p^³é}Ѷ߻À¯ñB'?û<&9d£~çV¿µ8i qý :}±-®Î *¥@=·|zÂ>°Aé?X¨ ¼R}ÚÖREOPãH¯ô}´¹<ù¿ÃDuesò©£µ5Í¡nWT̹°å@ÆkÞ-nâ0*ç´M9ôÌA¿V9²?>Ð(Åæ6Ôâ¼@·¹Îi^l#ÍÀµ5&æòñZ§8Ñ´û¬æÐб(L5BãÐ[ïwÅñæ3¨õÙuø §Sä Ô´±ûª[yægYmË9}WþÈv®ß¾\mÈDneñr×·¬¤ë`ÚÙWNúý,ÙU®íl Qó8{OQø-q/¾÷b M I¬B|qLÑÜròÈ?´IwFþÃè&#¡ëlà BH3æÎAi[cËÕ¹ÏC<F D¼ =7:E(}Ñ!ho$mÈ~è=ã!v¶xä('4÷ÚY G>®°V`ýÜPq_Ô]¬>"¥zSáa·ÛþÛbÉ&uIO±pÝí1²k÷Æöò tâ.LêWʶýÁ¡Èù9HdHD'mILw´ãïô³Zrçîpõ~¯ÑÕÿù$0·hÝÿ°3ÛgXV©£%Âóì`çxB5jdfH úè2 èìá9uªçqmUê7?OçÌí°J0ʹϯ°/Ìîª9©#ãó×/IëHJ¸YH¤¾HtvfÖrQCÚÍôs´ÏQ¬ñª+uîñûHÅJ>'¯?-²Õ"³¹ï (²µ²¶Fë]íÔ+õúÎPÙ9J¨+ä¨J6Ò¾ÁÃ44ðsÄqdÚi '¶×t^_Ô7ÆíÃô±øå_5s CÖ¹tÃÂÌË09s~°þïÛâ3ða¹«JlGµ<³XQ¦p¾-x¬¸cÖdzÖí8CYdè^ÉÝ[âÚÄuzì"òö7¬-ç0MU®t9 Þ¸ à8É$k4øB÷×t3×VHËåUTiÄ(ÈÚ<u3X¸ÕçÏèR<úú8åÖËù-ó?Îd9V¯:#ïúJú ×"ù*Í=WZ¦%#À¨_Mì·Þ[¬L¢PvnÑÑ- ¹ìÁ+éçCkÉ1Üèë2fÁÿr PôÊx=¸aÂh¬äPðìPÒÄ6ëo»îw¯Lþs×C¸=Á3*?±¿ØÖg··/Ò#I¢þÊjÅå&ÃÑ%öÛ«¢Í¯«]sp½¡W%gÆÉ£M$¶ ß8|̦¡f¢IÍQÞd$(Ë8+Ad4ôÜ6êÅO5ÕsuNª\âmáèÖc556¼B¤¢çËa-¡òwOtÏ×:Ä$ |µÃf#2ó÷ík´eLYÖu kÎâKt¥@õ©miQêá×®ýBL ÎÊ''-`Dùãx1¨7A¢Ñû¨¸¶º¼ÖQq7¨úËÎZ%ß©ä'j¸ë å±H ü¿IýDÀGÓßð®ËhìðsI^ÑÿÀl¾¦yê¨OÕr4ÚqÏ@ä¦*¬õ j@uå$©ëa¾gYÜáÎÙf&k#)¼þÃ|?$Kñc©s5jùoSn<@mDXÌò]þP½{+ÜS$Bëw^Ò½²w%,A¸ÙRâNJ±äýUc¿°e¹ßåUPÖDác»õW<ù¤êm#ùÒ¶»CjàÈóÒ}ÃÍï!¬5¢ôXláËø_U¶â·X63L,à@'Q¿B=´è«ÉñáEíÄ}aYñAá¹cáðë E(âÖTãHjt6çCõaKÈçNx¸e$ ½úK[ó¿:«ØRj®ßt ¸09.üM~ÂÑÝÞ°üòöã.x¥«.#»J`¬ZX¢Iã¡÷ïp̬íêÕQÌ1|7ÌpÜ' 0}S\ZÀøâW¾óg òEf×t;GLo²!3ʾmè'`wmdCÌÌòAÐ6âù7ñdzvà¿æ>@}®mâÀd8ý4 ÝZ+æ ¾`¶Vcô-jàF\FÐd²ô×ÈM°¢ËºQ ¶àûý\hÆí½ ³kÏÄZxq´ ñÒÐAÝà"ö´lþKâFüxp¤äx¿¬N©÷^SF'=® _Tnévò߯ÓJ=¼´£Ú¿?qÈÀשÌCjú^w½ä÷uñ ø`úPÁ[²°Ðù9ËOjÕ&ÌÃrò «¬°Ómæsf P5Öäiç¼}v«Ä¶JàÐ,Ó'<*C UPMÔ°gDFÓ8\ÙGwÉ`ãÏ_E±Õhç*óáÌNsÃÚDÖ{·\ÄåçÕkÄ A77^Q(ô®2ã$aÆ"H lOëZQòb9YÜ l´y¼ÎÏwÄååY±è¨ÞÉ{ʳymb&Wº=.½=Ù¯ó²íÜú³g«ê¼ó(¼y¨kѯl1NLÚb%PZÅþ÷hãÀªtæÁd ¨:r%S¡.åìzteÓtÍ´.±Áýâ_a$̰n|VÊUÅÁA©ÚÊaã.øÈ¢êÜÐz´j,Öë¤/º´4©F¸õà ¿l6*(l¢]TFئF©~ú×$g:1Nø8:ËåÊ5QPz,,:wËÄ>ø¬)ÂÍùÖ¸)Ãò³Yý¼Å¤)qåô(~±ß+gÃy9ZíÆÌ®Å ÃÝc÷¤ RÐpã\lBÃvÞ ö,AÌ9x¶Ê)òÐqÖ|4«¾óTæPT8fVË®y7ö,ÅóùDù¡®±ìªÇÏ6g+y½úÈJðþ HKÉaô§à|hùÓù"cãf.®$ÃVN'ËÝ;¼¢´¿$ÔÝϸ(;(µq·RZtü«5'nl7 P_³ÿK^ÌÐ¥ÛêèÔNjX ӱK¿êøôbÙ{Ô EZUNëV\aã\eÙBP>}³U QCè[+åQ2-¿×ÿ(±oØù®¸0£êæ+a0!8¢}.lä /z³ ÏuuDfÏ2B¤§Bìo ¢Ñ£iÇÂ,¥7xõÊ+<ÊoÀÓé-½+3üùÖTøÿÒàÍ«ntO1ö?ÉäâÓw.ÎR_ªtúkûÄ[æ 9Ë2ØKpîhþd ¨U)Â2tò5ñ©pÍÎ5[ÑGNíóFÁ²w@äðG P¾ ®°è?'R¬Iªû¦ê¨ H»¥«Í: ôîZÏwÒßlÏÁb¡Z-«ûNê«ÐÏ'{rÜã')æÏòxåffÖíóZ-'ÑGå4çx÷ÃxRÞ`vîºZÿFb»16¦Ð7åD`ÛæZe³T v$*|4×2 ]»8 èî@ÊÕ[_V£Wà ³lóüáÐ÷ͱ²ÛêµòjI ?£QMsX÷BSÿ `=0û ÇòÛK}F%0£ÉÊ1\Ü|F"öîVÈ=û@¯·@«³¸kïÅ¦Òø©Ëí!¥ÌÙø¡L²uËp<ðYØxT[üþ8WhuWVäAofb9z»ÔJĽu³âa²@S¢`~Å9Öc×ZëÊó(°¡NÄ6ù¢ #EWÂq~×L³Ò,3å\ ªB«ÓF( ýe±é?íç)JZWÇÐØ|-QÅ ë®ç§ÁP g×t){^òYaÀ`êÎeÐEªVíü¥ÛåÀ["ävps:Iô]Áë3©4*y«Q·tòI?kñpZ¦OÒµhÍClT3 K/´Â`ÅG0o7üôòè1^3Ë2Õ£ÎýÅÑ,µ-à×lLT¼ó?Dü*Þö¨FR)ÅG-5ÅK3ün8Ú½Ãf¦/5¢ñ´zÜw6È«èqÿ´3Ó s÷8krJãÃUJwBÎQy`Õß|¯V|Z58MàühÔqogÔ*®¶]Sè"K·$,((ÌÍÊi 6Þ ¦ ÌNíß&$, ®'hÛÀÏdÚuYÊÓxóB 'gQùäö¬ë 0¢S<ù>æ`ªaKÔ¿Ù_êÐ.ìûÊç><¾ªûaE¶m-á28àjÆîñ@UôJèH -x* G5ãC¾×usæ±S=¸æxNS;AöÛ:ì¸ôlÓHÎ*TzQë¤$Rð3ñgy® HD0Þd÷AÜDîõe²þöÞ\R[')HNz ¦Gt})K?6á [)<«x34¦ û^µd%d¦Ö&§Á³#{$ÐNTÞ¤g8AïlO.$Ñ6z©;²ª.aÉèô4º~ñ/¤ÔaO ¢(4±q±nM*<§¸å¨;À«¸`ÚÒkTÜÒΡ>=[_ÓúÿÊøaCâN½f`q¡»ß.Ï0äúOòÜÁ¬FÁoI{ï~8ù,Xm£/µ\1¡yPÙé|aÿ \Q<AäÖ64Éé!¾¤7³u S1Ð;Ã.å]"é>YA©#úÇiâºG¼^Ànv$ÎW-Îå®iW×B86 +Tê%ÈS}øènƪÒ)c:¾:òO§ùö~fSM |
|
From: John M M. <jo...@us...> - 2002-08-06 19:55:00
|
Update of /cvsroot/squeak/squeak/platforms/Mac OS/vm/Developer In directory usw-pr-cvs1:/tmp/cvs-serv12422/squeak/platforms/Mac OS/vm/Developer Removed Files: resources.sit.hqx Log Message: rearrange files/folders --- resources.sit.hqx DELETED --- |
|
From: John M M. <jo...@us...> - 2002-08-06 18:58:57
|
Update of /cvsroot/squeak/squeak/platforms/Mac OS/plugins/UUIDPlugin In directory usw-pr-cvs1:/tmp/cvs-serv16872/squeak/platforms/Mac OS/plugins/UUIDPlugin Removed Files: UUIDPlugin.project.xml Log Message: now internal --- UUIDPlugin.project.xml DELETED --- |
|
From: John M M. <jo...@us...> - 2002-08-06 18:00:39
|
Update of /cvsroot/squeak/squeak/platforms/Mac OS/vm In directory usw-pr-cvs1:/tmp/cvs-serv20809/squeak/platforms/Mac OS/vm Removed Files: SqueakVMForCarbon.pbproj.sit Log Message: rearrange files/folders --- SqueakVMForCarbon.pbproj.sit DELETED --- |
|
From: John M M. <jo...@us...> - 2002-08-06 18:00:30
|
Update of /cvsroot/squeak/squeak/platforms/Mac OS/vm In directory usw-pr-cvs1:/tmp/cvs-serv20686/squeak/platforms/Mac OS/vm Removed Files: SqueakPro5.xml Log Message: rearrange files/folders --- SqueakPro5.xml DELETED --- |
|
From: John M M. <jo...@us...> - 2002-08-06 18:00:11
|
Update of /cvsroot/squeak/squeak/platforms/Mac OS/vm In directory usw-pr-cvs1:/tmp/cvs-serv20525/squeak/platforms/Mac OS/vm Removed Files: sqMacMinimal.c Log Message: rearrange files/folders --- sqMacMinimal.c DELETED --- |
|
From: John M M. <jo...@us...> - 2002-08-06 17:59:59
|
Update of /cvsroot/squeak/squeak/platforms/Mac OS/vm In directory usw-pr-cvs1:/tmp/cvs-serv20445/squeak/platforms/Mac OS/vm Removed Files: resources.sit.hqx Log Message: rearrange files/folders --- resources.sit.hqx DELETED --- |
|
From: John M M. <jo...@us...> - 2002-08-06 17:59:52
|
Update of /cvsroot/squeak/squeak/platforms/Mac OS/vm In directory usw-pr-cvs1:/tmp/cvs-serv20379/squeak/platforms/Mac OS/vm Removed Files: MyPlugin68K v2.proj.xml Log Message: rearrange files/folders --- MyPlugin68K v2.proj.xml DELETED --- |
|
From: John M M. <jo...@us...> - 2002-08-06 17:59:43
|
Update of /cvsroot/squeak/squeak/platforms/Mac OS/vm In directory usw-pr-cvs1:/tmp/cvs-serv20317/squeak/platforms/Mac OS/vm Removed Files: MyPlugin v2.proj.xml Log Message: rearrange files/folders --- MyPlugin v2.proj.xml DELETED --- |