source410: literal 4.10 source reconstruction + BC++ 4.52 fleet toolchain archived

- BORLAND/: Borland C++ 4.52 (chosen over 4.5 by byte-match: CODE/RP/CW32.LIB
  is identical to 4.52's install lib). BCC32/TLINK32/TLIB/MAKE run natively on
  Win11; CODE/BT/OPT.MAK is the shipped BTL4OPT.EXE's exact flag recipe
  (extender = Borland PowerPack DPMI32, not Phar Lap TNT).
- restoration/source410/: the literal 1995-form reconstruction of the missing
  BT game source (never mixed into CODE/). Round 1-3 state:
  * 6 of 10 surviving original TUs COMPILE CLEAN under the period toolchain
    (BTMSSN, BTCNSL, BTSCNRL, BTTEAM, BTL4MODE, BTL4ARND) - first builds
    since 1996.
  * BT_L4/BTL4APP.CPP pilot reconstruction: 12/12 functions, Fail() lands on
    its binary-recorded line 400 exactly.
  * BT/BTCNSL.HPP: console wire IDs recovered from the binary's ctors
    (Killed=9, Damaged=10, ScoreUpdate=13, DeathWithoutHonor=15 [T1];
    TeamScore=12 flagged [T4]).
  * MUNGA/: 8 engine-header backfills back-dated from the BT412 WinTesla tree
    (VDATA numbering decomp-verified; AUDREND's OpenAL-era virtual removed -
    the period compiler is the drift detector).
  * Tooling: backdate.py (WinTesla->1995 header transform), compile410.sh
    (per-TU verification sweep under authentic OPT.MAK flags).
  * README: corrected roadmap - MECH.HPP is the capstone grown with the mech
    TU reconstructions; BTREG.CPP green = the header-family milestone.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
Cyd
2026-07-19 07:33:26 -05:00
co-authored by Claude Fable 5
parent 599b2388a1
commit 63312e07f9
5913 changed files with 756089 additions and 0 deletions
+168
View File
@@ -0,0 +1,168 @@
[Source Media Descriptions]
"1", "Borland Disk28", "ole2.dl_", ""
"2", "Borland Disk29", "sortkey.nl_", ""
"3", "Borland Disk29", "ole32.dl_", ""
[Default File Settings]
"STF_BACKUP" = ""
"STF_COPY" = "YES"
"STF_DECOMPRESS" = "YES"
"STF_OVERWRITE" = "ALWAYS"
"STF_READONLY" = "YES"
"STF_ROOT" = ""
"STF_SETTIME" = "YES"
"STF_TIME" = "0"
"STF_VITAL" = "YES"
[WindowsSystemWin32s]
2, win32s.exe,,,, 1994-09-01,,,, !READONLY,,,,, SHARED, 352, SYSTEM,,,,
2, p_037.nls,,,, 1994-08-29,,,, !READONLY,,,,, SHARED, 2082, SYSTEM,,,,
2, p_1026.nls,,,, 1994-08-29,,,, !READONLY,,,,, SHARED, 2082, SYSTEM,,,,
2, p_500.nls,,,, 1994-08-29,,,, !READONLY,,,,, SHARED, 2082, SYSTEM,,,,
2, p_875.nls,,,, 1994-07-31,,,, !READONLY,,,,, SHARED, 2338, SYSTEM,,,,
2, l_intl.nls,,,, 1994-07-31,,,, !READONLY,,,,, SHARED, 7142, SYSTEM,,,,
2, p_10000.nls,,,, 1994-08-29,,,, !READONLY,,,,, SHARED, 3874, SYSTEM,,,,
2, p_10006.nls,,,, 1994-08-29,,,, !READONLY,,,,, SHARED, 3106, SYSTEM,,,,
2, p_10007.nls,,,, 1994-07-31,,,, !READONLY,,,,, SHARED, 3106, SYSTEM,,,,
2, p_10029.nls,,,, 1994-07-31,,,, !READONLY,,,,, SHARED, 3362, SYSTEM,,,,
2, p_10079.nls,,,, 1994-08-29,,,, !READONLY,,,,, SHARED, 3618, SYSTEM,,,,
2, p_10081.nls,,,, 1994-08-29,,,, !READONLY,,,,, SHARED, 4130, SYSTEM,,,,
2, p_737.nls,,,, 1994-07-31,,,, !READONLY,,,,, SHARED, 4130, SYSTEM,,,,
2, version.dll,,,, 1994-09-01,,,, !READONLY,,,,, SHARED, 3584, SYSTEM,,,,
2, p_1250.nls,,,, 1994-07-31,,,, !READONLY,,,,, SHARED, 5410, SYSTEM,,,,
2, p_1251.nls,,,, 1994-07-31,,,, !READONLY,,,,, SHARED, 3874, SYSTEM,,,,
2, p_1252.nls,,,, 1994-07-31,,,, !READONLY,,,,, SHARED, 5410, SYSTEM,,,,
2, p_1253.nls,,,, 1994-08-29,,,, !READONLY,,,,, SHARED, 4130, SYSTEM,,,,
2, p_1254.nls,,,, 1994-07-31,,,, !READONLY,,,,, SHARED, 5410, SYSTEM,,,,
2, p_855.nls,,,, 1994-07-31,,,, !READONLY,,,,, SHARED, 4386, SYSTEM,,,,
2, p_857.nls,,,, 1994-08-29,,,, !READONLY,,,,, SHARED, 5922, SYSTEM,,,,
2, p_866.nls,,,, 1994-07-31,,,, !READONLY,,,,, SHARED, 4386, SYSTEM,,,,
2, p_869.nls,,,, 1994-07-31,,,, !READONLY,,,,, SHARED, 4386, SYSTEM,,,,
2, sorttbls.nls,,,, 1994-08-29,,,, !READONLY,,,,, SHARED, 3196, SYSTEM,,,,
2, comdlg32.dll,,,, 1994-09-01,,,, !READONLY,,,,, SHARED, 4096, SYSTEM,,,,
2, lz32.dll,,,, 1994-09-01,,,, !READONLY,,,,, SHARED, 4096, SYSTEM,,,,
2, shell32.dll,,,, 1994-09-01,,,, !READONLY,,,,, SHARED, 4096, SYSTEM,,,,
2, p_437.nls,,,, 1994-08-29,,,, !READONLY,,,,, SHARED, 5922, SYSTEM,,,,
2, p_850.nls,,,, 1994-08-29,,,, !READONLY,,,,, SHARED, 5922, SYSTEM,,,,
2, p_852.nls,,,, 1994-07-31,,,, !READONLY,,,,, SHARED, 5922, SYSTEM,,,,
2, p_860.nls,,,, 1994-08-29,,,, !READONLY,,,,, SHARED, 5922, SYSTEM,,,,
2, p_861.nls,,,, 1994-08-29,,,, !READONLY,,,,, SHARED, 5922, SYSTEM,,,,
2, p_863.nls,,,, 1994-08-29,,,, !READONLY,,,,, SHARED, 5922, SYSTEM,,,,
2, p_865.nls,,,, 1994-08-29,,,, !READONLY,,,,, SHARED, 5922, SYSTEM,,,,
2, mpr.dll,,,, 1994-09-01,,,, !READONLY,,,,, SHARED, 5632, SYSTEM,,,,
2, winspool.drv,,,, 1994-09-01,,,, !READONLY,,,,, SHARED, 6656, SYSTEM,,,,
2, ctype.nls,,,, 1994-08-29,,,, !READONLY,,,,, SHARED, 6768, SYSTEM,,,,
2, netapi32.dll,,,, 1994-09-01,,,, !READONLY,,,,, SHARED, 8192, SYSTEM,,,,
2, olesvr32.dll,,,, 1994-09-01,,,, !READONLY,,,,, SHARED, 8704, SYSTEM,,,,
2, wsock32.dll,,,, 1994-07-24,,,, !READONLY,,,,, SHARED, 8704, SYSTEM,,,,
2, sck16thk.dll,,,, 1994-09-01,,,, !READONLY,,,,, SHARED, 9216, SYSTEM,,, 1.0.0.0,
2, olecli32.dll,,,, 1994-09-01,,,, !READONLY,,,,, SHARED, 17920, SYSTEM,,,,
2, unicode.nls,,,, 1994-08-29,,,, !READONLY,,,,, SHARED, 33764, SYSTEM,,,,
2, locale.nls,,,, 1994-08-29,,,, !READONLY,,,,, SHARED, 54686, SYSTEM,,,,
2, w32s.386,,,, 1994-09-01,,,, !READONLY,,,,, SHARED, 40491, SYSTEM,,,,
2, winmm.dll,,,, 1994-09-01,,,, !READONLY,,,,, SHARED, 60416, SYSTEM,,,,
2, ntmsg.dll,,,, 1994-09-01,,,, !READONLY,,,,, SHARED, 106496, SYSTEM,,,,
2, p_936.nls,,,, 1994-08-29,,,, !READONLY,,,,, SHARED, 94754, SYSTEM,,,,
2, w32skrnl.dll,,,, 1994-09-01,,,, !READONLY,,,,, SHARED, 82432, SYSTEM,,,,
2, p_949.nls,,,, 1994-08-29,,,, !READONLY,,,,, SHARED, 104994, SYSTEM,,,,
2, p_10001.nls,,,, 1994-07-31,,,, !READONLY,,,,, SHARED, 87586, SYSTEM,,,,
2, p_932.nls,,,, 1994-07-31,,,, !READONLY,,,,, SHARED, 87586, SYSTEM,,,,
2, crtdll.dll,,,, 1994-08-29,,,, !READONLY,,,,, SHARED, 156720, SYSTEM,,,,
2, p_950.nls,,,, 1994-08-29,,,, !READONLY,,,,, SHARED, 130594, SYSTEM,,,,
2, w32scomb.dll,,,, 1994-09-01,,,, !READONLY,,,,, SHARED, 203264, SYSTEM,,,,
2, sortkey.nls,,,, 1994-08-29,,,, !READONLY,,,,, SHARED, 262148, SYSTEM,,,,
[OleWindowsSystem]
"ole2prox" = 1, ole2prox.dll,, ole2prox.w31,, 1994-08-31,,, OLDER, !READONLY,,,,, SHARED, 51712, SYSTEM,,, 2.2.120.122,
"ole2conv" = 1, ole2conv.dll,, ole2conv.w31,, 1993-11-16,,, OLDER, !READONLY,,,,, SHARED, 57328, SYSTEM,,, 2.1.0.1,
"compobj" = 1, compobj.dll,, compobj.w31,, 1994-08-31,,, OLDER, !READONLY,,,,, SHARED, 108544, SYSTEM,,, 2.2.120.122,
"ole2nls" = 1, ole2nls.dll,, ole2nls.w31,, 1994-08-27,,, OLDER, !READONLY,,,,, SHARED, 150976, SYSTEM,,, 2.2.3002.1,
"ole2disp" = 1, ole2disp.dll,, ole2disp.w31,, 1994-08-31,,, OLDER, !READONLY,,,,, SHARED, 164832, SYSTEM,,, 2.2.3002.1,
"storage" = 1, storage.dll,, storage.w31,, 1994-08-23,,, OLDER, !READONLY,,,,, SHARED, 157696, SYSTEM,,, 2.2.120.120,
"typelib" = 1, typelib.dll,, typelib.w31,, 1994-09-02,,, OLDER, !READONLY,,,,, SHARED, 177216, SYSTEM,,, 2.2.3002.0,
"ole2" = 1, ole2.dll,, ole2.w31,, 1994-08-31,,, OLDER, !READONLY,,,,, SHARED, 302592, SYSTEM,,, 2.2.120.122,
[OleWindowsSystemWin32s]
3, stdole32.tlb,,,, 1994-09-02,,,, !READONLY,,,,, SHARED, 4243,,,,,
"ole2thk" = 1, ole2thk.dll,,,, 1994-08-31,,,, !READONLY,,,,, SHARED, 33280, SYSTEM,,, 2.2.120.122,
3, oleaut32.dll,,,, 1994-09-06,,,, !READONLY,,,,, SHARED, 249408,,,,,
3, ole32.dll,,,, 1994-08-31,,,, !READONLY,,,,, SHARED, 359424, SYSTEM,,,,
[WindowsSystem]
2, w32sys.dll,,,, 1994-09-01,,,, !READONLY,,,,, SHARED, 12048, SYSTEM,,, 1.20.123.0,
2, winmm16.dll,,,, 1994-05-12,,,, !READONLY,,,,, SHARED, 29184, SYSTEM,,,,
2, olecli.dll,, olecli.w31,, 1994-04-25,,, OLDER, !READONLY,,,,, SHARED, 82944, SYSTEM,,, 1.32.0.0,
"win32s16" = 2, win32s16.dll,,,, 1994-09-01,,,, !READONLY,,,,, SHARED, 160256, SYSTEM,,, 1.20.123.0,
[Win32appFreecell]
1, freecell.hlp,,,, 1993-06-17,,,, !READONLY,,,,, SHARED, 18751,,,,, !VITAL
1, freecell.exe,,,, 1993-07-24,,,, !READONLY,,,,, SHARED, 49188,,,,, !VITAL
1, cards.dll,,,, 1993-07-24,,,, !READONLY,,,,, SHARED, 158180,,,,, !VITAL
[Ole2RegWindowsSystem]
1, ole2.reg,,,, 1994-08-10,,,, !READONLY,,,,, SHARED, 27026, SYSTEM,,,,
[StdoleWindowsSystem]
1, stdole.tlb,, stdole.w31,, 1994-09-01,,,, !READONLY,,,,, SHARED, 4304, SYSTEM,,,,
[Files]
1, setup.lst,,,, 1994-01-31, !DECOMPRESS,,, !READONLY,,,,, SHARED, 611,,,,,
1, msuilstf.dll,,,, 1992-07-25, !DECOMPRESS,,, !READONLY,,,,, SHARED, 6144,,,,,
1, _mssetup.exe,,,, 1992-07-25, !DECOMPRESS,,, !READONLY,,,,, SHARED, 9813,,,,,
1, iniupd.dll,,,, 1994-09-06, !DECOMPRESS,,, !READONLY,,,,, SHARED, 12800,,,,,
1, msshlstf.dll,,,, 1992-07-25, !DECOMPRESS,,, !READONLY,,,,, SHARED, 14928,,,,,
1, 32sinst.mst,,,, 1994-09-06, !DECOMPRESS,,, !READONLY,,,,, SHARED, 21971,,,,,
1, msdetect.inc,,,, 1992-07-25, !DECOMPRESS,,, !READONLY,,,,, SHARED, 22097,,,,,
1, msdetstf.dll,,,, 1992-07-25, !DECOMPRESS,,, !READONLY,,,,, SHARED, 24544,,,,,
1, mscuistf.dll,,,, 1994-09-06, !DECOMPRESS,,, !READONLY,,,,, SHARED, 24960,,,,,
1, setup.exe,,,, 1992-07-25, !DECOMPRESS,,, !READONLY,,,,, SHARED, 24624,,,,,
1, setupapi.inc,,,, 1992-07-25, !DECOMPRESS,,, !READONLY,,,,, SHARED, 55620,,,,,
1, msinsstf.dll,,,, 1992-07-25, !DECOMPRESS,,, !READONLY,,,,, SHARED, 65440,,,,,
1, mscomstf.dll,,,, 1992-07-25, !DECOMPRESS,,, !READONLY,,,,, SHARED, 74528,,,,,
1, _mstest.exe,,,, 1992-07-25, !DECOMPRESS,,, !READONLY,,,,, SHARED, 89504,,,,,
[Win32sSystemObsoleteFiles]
1, kernel32.dll,,, !COPY,,,,,, REMOVE,,,,, 0,,,,,
1, user32.dll,,, !COPY,,,,,, REMOVE,,,,, 0,,,,,
1, gdi32.dll,,, !COPY,,,,,, REMOVE,,,,, 0,,,,,
1, advapi32.dll,,, !COPY,,,,,, REMOVE,,,,, 0,,,,,
1, ntdll.dll,,, !COPY,,,,,, REMOVE,,,,, 0,,,,,
1, ctype1.nls,,, !COPY,,,,,, REMOVE,,,,, 0,,,,,
1, ctype2.nls,,, !COPY,,,,,, REMOVE,,,,, 0,,,,,
1, ctype3.nls,,, !COPY,,,,,, REMOVE,,,,, 0,,,,,
1, c_037.nls,,, !COPY,,,,,, REMOVE,,,,, 0,,,,,
1, c_10000.nls,,, !COPY,,,,,, REMOVE,,,,, 0,,,,,
1, c_10001.nls,,, !COPY,,,,,, REMOVE,,,,, 0,,,,,
1, c_10006.nls,,, !COPY,,,,,, REMOVE,,,,, 0,,,,,
1, c_10007.nls,,, !COPY,,,,,, REMOVE,,,,, 0,,,,,
1, c_10029.nls,,, !COPY,,,,,, REMOVE,,,,, 0,,,,,
1, c_10081.nls,,, !COPY,,,,,, REMOVE,,,,, 0,,,,,
1, c_1026.nls,,, !COPY,,,,,, REMOVE,,,,, 0,,,,,
1, c_1250.nls,,, !COPY,,,,,, REMOVE,,,,, 0,,,,,
1, c_1251.nls,,, !COPY,,,,,, REMOVE,,,,, 0,,,,,
1, c_1252.nls,,, !COPY,,,,,, REMOVE,,,,, 0,,,,,
1, c_1253.nls,,, !COPY,,,,,, REMOVE,,,,, 0,,,,,
1, c_1254.nls,,, !COPY,,,,,, REMOVE,,,,, 0,,,,,
1, c_437.nls,,, !COPY,,,,,, REMOVE,,,,, 0,,,,,
1, c_500.nls,,, !COPY,,,,,, REMOVE,,,,, 0,,,,,
1, c_737.nls,,, !COPY,,,,,, REMOVE,,,,, 0,,,,,
1, c_850.nls,,, !COPY,,,,,, REMOVE,,,,, 0,,,,,
1, c_852.nls,,, !COPY,,,,,, REMOVE,,,,, 0,,,,,
1, c_855.nls,,, !COPY,,,,,, REMOVE,,,,, 0,,,,,
1, c_857.nls,,, !COPY,,,,,, REMOVE,,,,, 0,,,,,
1, c_860.nls,,, !COPY,,,,,, REMOVE,,,,, 0,,,,,
1, c_861.nls,,, !COPY,,,,,, REMOVE,,,,, 0,,,,,
1, c_863.nls,,, !COPY,,,,,, REMOVE,,,,, 0,,,,,
1, c_865.nls,,, !COPY,,,,,, REMOVE,,,,, 0,,,,,
1, c_866.nls,,, !COPY,,,,,, REMOVE,,,,, 0,,,,,
1, c_869.nls,,, !COPY,,,,,, REMOVE,,,,, 0,,,,,
1, c_875.nls,,, !COPY,,,,,, REMOVE,,,,, 0,,,,,
1, c_932.nls,,, !COPY,,,,,, REMOVE,,,,, 0,,,,,
1, c_936.nls,,, !COPY,,,,,, REMOVE,,,,, 0,,,,,
1, c_949.nls,,, !COPY,,,,,, REMOVE,,,,, 0,,,,,
1, c_950.nls,,, !COPY,,,,,, REMOVE,,,,, 0,,,,,
1, compob32.dll,,, !COPY,,,,,, REMOVE,,,,, 0,,,,,
1, ole2pr32.dll,,, !COPY,,,,,, REMOVE,,,,, 0,,,,,
1, ole2w32.dll,,, !COPY,,,,,, REMOVE,,,,, 0,,,,,
1, storag32.dll,,, !COPY,,,,,, REMOVE,,,,, 0,,,,,
1, w32sem87.dll,,, !COPY,,,,,, REMOVE,,,,, 0,,,,,
+646
View File
@@ -0,0 +1,646 @@
'**************************************************************************
'* MS Test script for Win32s setup program
'**************************************************************************
'' $DEFINE DEBUG ''Define for script development/debugging
'$INCLUDE 'setupapi.inc'
'$INCLUDE 'msdetect.inc'
''Dialog ID's
CONST WELCOME = 100
CONST ASKQUIT = 200
CONST DESTPATH = 300
CONST EXITFAILURE = 400
CONST EXITQUIT = 600
CONST EXITSUCCESS = 700
CONST OPTIONS = 800
CONST BADPATH = 6400
CONST HELPWELCOME = 1000
CONST VERPATH = 1100
CONST EXITFAILNOTWIN31 = 1200
CONST EXITFAILNOTENH = 1300
CONST EXITFAILNOTPAGING = 1325
CONST EXITFAILNOTINTEL = 1350
CONST EXITFAILRUNAPP = 1360
CONST FREECELLINST = 1400
CONST FREECELLINSTNOWIN32S = 1450
CONST FREECELLPATH = 1500
CONST HELPFREECELL = 1600
''Bitmap ID
CONST LOGO = 1
GLOBAL DESTSYS$ ''Windows\System directory.
GLOBAL DEST32S$ ''Windows\System\Win32s directory
GLOBAL DESTFREE$ ''Freecell directory
GLOBAL OLE_PROTECT% ''Indicates whether ole2 dlls were protected from being
'' copied.
DECLARE SUB Install(OLEONLY%, OLE2_32%, OLE2_16%, OLE2AUTO_16%, OLE16RUNAPP%)
DECLARE SUB UpdateSystemIni
DECLARE FUNCTION RebootSystem(OLEONLY%) AS INTEGER
DECLARE FUNCTION MakePath (szDir$, szFile$) AS STRING
DECLARE FUNCTION MakeSystemIni LIB "INIUPD.DLL" (arg1$, arg2$) AS INTEGER
DECLARE FUNCTION RestartWindows LIB "INIUPD.DLL" AS INTEGER
DECLARE FUNCTION OnWindowsNT LIB "INIUPD.DLL" AS INTEGER
DECLARE FUNCTION PagingEnabled LIB "INIUPD.DLL" AS INTEGER
DECLARE FUNCTION ShareEnabled LIB "INIUPD.DLL" AS INTEGER
DECLARE FUNCTION IsWin32sLoaded LIB "INIUPD.DLL" (arg1$) AS INTEGER
DECLARE FUNCTION IsRunningApp LIB "INIUPD.DLL" AS INTEGER
DECLARE FUNCTION SetCuiFlags LIB "MSCUISTF.DLL" (arg1%, arg2%) AS INTEGER
DECLARE FUNCTION ExitWindowsExec LIB "USER.EXE" (arg1$, arg2$) AS INTEGER
DECLARE FUNCTION GetModuleHandle LIB "KRNL386.EXE" (arg1$) AS INTEGER
DECLARE FUNCTION LoadLibrary LIB "KRNL386.EXE" (arg1$) AS INTEGER
DECLARE SUB FreeLibrary LIB "KRNL386.EXE" (arg1%)
DECLARE FUNCTION SetErrorMode LIB "KRNL386.EXE" (arg1%) AS INTEGER
INIT:
CUIDLL$ = "mscuistf.dll" '' Custom user interface dll
HELPPROC$ = "FHelpDlgProc" '' Help dialog procedure
szOldVer$ ="1.00.000 " '' Reserve space in string for version
WIN32ENABLED% = 0
OLEONLY% = 0
OLE2_16% = 0
OLE2AUTO_16% = 0
OLE16RUNAPP% = 0
OLE_PROTECT% = 0
ON ERROR GOTO ERRNORMAL
SrcDir$ = GetSymbolValue("STF_SRCDIR")
szInf$ = GetSymbolValue("STF_SRCINFPATH")
IF szInf$ = "" THEN
szInf$ = GetSymbolValue("STF_CWDDIR") + "32sinst.inf"
END IF
ReadInfFile szInf$
SetBitmap CUIDLL$, LOGO
SetTitle "Microsoft Win32s version " + MID$(GetSectionKeyVersion("WindowsSystem", "win32s16"), 1, 4) + " Setup Program"
DESTSYS$ = GetWindowsSysDir()
DEST32S$ = DESTSYS + "WIN32S\"
'$IFDEF DEBUG
i% = SetSizeCheckMode(scmOnIgnore) '' could use scmOff; def = scmOnFatal
WinDrive$ = MID$(GetWindowsDir, 1, 1)
IF IsDriveValid(WinDrive$) = 0 THEN
i% = DoMsgBox("Windows drive ('"+WinDrive$+"') is not a valid drive.", "DEBUG", MB_TASKMODAL+MB_ICONHAND+MB_OK)
GOTO QUIT
END IF
'$ENDIF ''DEBUG
CHECK:
'' Can not run on versions less than 3.10.
IF GetWindowsMajorVersion < 3 THEN
ExitCode% = EXITFAILNOTWIN31
GOTO QUIT
END IF
IF GetWindowsMajorVersion = 3 AND GetWindowsMinorVersion < 10 THEN
ExitCode% = EXITFAILNOTWIN31
GOTO QUIT
END IF
'' Check that we are not runnig on Chicago, including pre-released
'' Chicago versions.
IF GetWindowsMajorVersion * 100 + GetWindowsMinorVersion > 350 THEN
ExitCode% = EXITSUCCESS
WIN32ENABLED% = 1
GOTO FREECELL
END IF
IF GetWindowsMode < 2 THEN
IF OnWindowsNT() THEN
ExitCode% = EXITFAILNOTINTEL '' Running on Windows NT (on RISC)
ELSE
ExitCode% = EXITFAILNOTENH '' Standard Mode Windows
END IF
GOTO QUIT
END IF
IF OnWindowsNT() THEN
ExitCode% = EXITSUCCESS
WIN32ENABLED% = 1
GOTO FREECELL
END IF
ExitCode% = EXITSUCCESS
if IsRunningApp() <> 0 THEN
ExitCode% = EXITFAILRUNAPP
GOTO QUIT
END IF
'' Get version of Win32s to be installed from version info in INF file
szNewVer$ = GetSectionKeyVersion("WindowsSystem", "win32s16")
'' See if OLE is included.
OLEINCLUDED% = DoesFileExist( GetSymbolValue("STF_SRCDIR") + "OLE2THK.DL_", femExists )
IF OLEINCLUDED% = 1 THEN
'' See whether one of the OLE 16 bit components is loaded.
IF GetModulehandle("compobj") <> 0 THEN
OLE16RUNAPP% = 1
GOTO GetOleVersion
END IF
IF GetModuleHandle("ole2") <> 0 THEN
OLE16RUNAPP% = 1
GOTO GetOleVersion
END IF
IF GetModuleHandle("ole2prox") <> 0 THEN
OLE16RUNAPP% = 1
GOTO GetOleVersion
END IF
IF GetModuleHandle("ole2conv") <> 0 THEN
OLE16RUNAPP% = 1
GOTO GetOleVersion
END IF
IF GetModuleHandle("storage") <> 0 THEN
OLE16RUNAPP% = 1
GOTO GetOleVersion
END IF
IF GetModuleHandle("ole2nls") <> 0 THEN
OLE16RUNAPP% = 1
GOTO GetOleVersion
END IF
IF GetModuleHandle("ole2disp") <> 0 THEN
OLE16RUNAPP% = 1
GOTO GetOleVersion
END IF
IF GetModuleHandle("typelib") <> 0 THEN
OLE16RUNAPP% = 1
GOTO GetOleVersion
END IF
GetOleVersion:
szOleNewVer$ = GetSectionKeyVersion("OleWindowsSystemWin32s", "ole2thk")
'' Get version of currently installed OLE32 from version info of
'' ole2thk file
szOleOldVer$ = GetVersionOfFile( DESTSYS$ + "WIN32S\OLE2THK.DLL" )
szOle16OldVer$ = GetVersionOfFile( DESTSYS$ + "COMPOBJ.DLL" )
szOle16NewVer$ = GetSectionKeyVersion("OleWindowsSystem", "compobj")
IF (szOle16NewVer$ > szOle16OldVer$) THEN
OLE2_16% = 1
END IF
szOle16OldVer$ = GetVersionOfFile( DESTSYS$ + "OLE2.DLL" )
szOle16NewVer$ = GetSectionKeyVersion("OleWindowsSystem", "ole2")
IF (szOle16NewVer$ > szOle16OldVer$) THEN
OLE2_16% = 1
END IF
szOle16OldVer$ = GetVersionOfFile( DESTSYS$ + "OLE2PROX.DLL" )
szOle16NewVer$ = GetSectionKeyVersion("OleWindowsSystem", "ole2prox")
IF (szOle16NewVer$ > szOle16OldVer$) THEN
OLE2_16% = 1
END IF
szOle16OldVer$ = GetVersionOfFile( DESTSYS$ + "STORAGE.DLL" )
szOle16NewVer$ = GetSectionKeyVersion("OleWindowsSystem", "storage")
IF (szOle16NewVer$ > szOle16OldVer$) THEN
OLE2_16% = 1
END IF
szOle16OldVer$ = GetVersionOfFile( DESTSYS$ + "OLE2CONV.DLL" )
szOle16NewVer$ = GetSectionKeyVersion("OleWindowsSystem", "ole2conv")
IF (szOle16NewVer$ > szOle16OldVer$) THEN
OLE2_16% = 1
END IF
szOle16OldVer$ = GetVersionOfFile( DESTSYS$ + "OLE2NLS.DLL" )
szOle16NewVer$ = GetSectionKeyVersion("OleWindowsSystem", "ole2nls")
IF (szOle16NewVer$ > szOle16OldVer$) THEN
OLE2AUTO_16% = 1
END IF
szOle16OldVer$ = GetVersionOfFile( DESTSYS$ + "OLE2DISP.DLL" )
szOle16NewVer$ = GetSectionKeyVersion("OleWindowsSystem", "ole2disp")
IF (szOle16NewVer$ > szOle16OldVer$) THEN
OLE2AUTO_16% = 1
END IF
szOle16OldVer$ = GetVersionOfFile( DESTSYS$ + "TYPELIB.DLL" )
szOle16NewVer$ = GetSectionKeyVersion("OleWindowsSystem", "typelib")
IF (szOle16NewVer$ > szOle16OldVer$) THEN
OLE2AUTO_16% = 1
END IF
END IF
OLE2_32% = 1
'' Check if Win32s is partially installed
sz$ = GetIniKeyString (DESTSYS$ + "WIN32S.INI", "Win32s", "Setup")
'' If WIN32S.INI specifies Win32s Setup=0, then force complete Win32s file overwrite
IF sz$ = "0" THEN
GOTO WELCOME
END IF
'' If WIN32S.INI is missing, try and reinstall Win32s files/recreate WIN32S.INI
IF sz$ <> "1" THEN
GOTO WELCOME
END IF
'' If Win32s is already installed, get running version number
i% = DoesFileExist( DESTSYS$ + "W32SYS.DLL", femExists )
IF i% = 1 THEN
i% = IsWin32sLoaded( szOldVer$ )
ENDIF
IF i% = 0 THEN
GOTO WELCOME
END IF
IF szNewVer$ > szOldVer$ THEN
GOTO WELCOME
END IF
OLE2_32% = 0
IF szNewVer$ = szOldVer$ AND OLEINCLUDED% = 1 THEN
'' Compare OLE32 version and versions of each of OLE16 libraries.
sz$ = GetIniKeyString (DESTSYS$ + "WIN32S.INI", "OLE", "Setup")
'' If WIN32S.INI specifies OLE2 Setup=0, then force OLE2 file overwrite
IF ((sz$ <> "1") OR (szOleNewVer$ > szOleOldVer$)) THEN
OLEONLY% = 1
OLE2_32% = 1
GOTO WELCOME
END IF
IF OLE2_16% OR OLE2AUTO_16 THEN
OLEONLY% = 1
GOTO WELCOME
END IF
END IF
WIN32ENABLED% = 1
GOTO FREECELL
WELCOME:
i% = SetCuiFlags(OLEONLY%, OLE16RUNAPP%)
sz$ = UIStartDlg(CUIDLL$, WELCOME, "FInfoDlgProc", HELPWELCOME, HELPPROC$)
IF sz$ = "CONTINUE" THEN
UIPop 1
ELSE
GOSUB ASKQUIT
GOTO WELCOME
END IF
GETWIN32SPATH:
IF PagingEnabled() = 0 THEN
i% = DoMsgBox("Use the Control Panel 386 Enhanced icon and configure Windows using the Virtual Memory option.", "Win32s requires Virtual Memory", MB_TASKMODAL+MB_ICONHAND+MB_OK)
ExitCode% = EXITFAILURE '' Enhanced mode but not paging
GOTO QUIT
END IF
IF ShareEnabled() = 0 THEN
i% = DoMsgBox( "File-sharing must be enabled. Run SHARE.EXE before starting Windows or add SHARE.EXE to your AUTOEXEC.BAT file.", "Win32s Setup: SHARE.EXE is not loaded", MB_TASKMODAL+MB_ICONEXCLAMATION+MB_OK)
END IF
SetSymbolValue "EditTextIn", DESTSYS$
SetSymbolValue "EditFocus", "END"
GETPATHL1:
sz$ = UIStartDlg(CUIDLL$, VERPATH, "FDispDlgProc", HELPWELCOME, HELPPROC$)
IF sz$ = "CONTINUE" THEN
IF IsDirWritable(DESTSYS$) = 0 THEN
GOSUB BADPATH
GOTO GETPATHL1
END IF
UIPop 1
ELSEIF sz$ = "REACTIVATE" THEN
GOTO GETPATHL1
ELSEIF sz$ = "BACK" THEN
UIPop 1
GOTO WELCOME
ELSE
GOSUB ASKQUIT
GOTO GETPATHL1
END IF
COPYFILES:
IF OLEONLY% = 0 THEN
CreateIniKeyValue DESTSYS$ + "WIN32S.INI", "Win32s", "Setup", "0", cmoOverwrite
END IF
IF OLE2_32% = 1 THEN
CreateIniKeyValue DESTSYS$ + "WIN32S.INI", "OLE", "Setup", "0", cmoOverwrite
END IF
'' Indicate Win32s install failure until all files known to be copied.
ExitCode% = EXITFAILURE
ERR = 0
CreateDir DEST32S$, cmoNone
Install OLEONLY%, OLE2_32%, OLE2_16%, OLE2AUTO_16%, OLE16RUNAPP%
UpdateSystemIni
'' Terminate if unhandled fatal error
IF ERR <> 0 THEN
GOTO QUIT
END IF
IF OLEONLY% = 0 THEN
CreateIniKeyValue DESTSYS$ + "WIN32S.INI", "Win32s", "Setup", "1", cmoOverwrite
CreateIniKeyValue DESTSYS$ + "WIN32S.INI", "Win32s", "Version", szNewVer$, cmoOverwrite
CreateIniKeyValue DESTSYS$ + "WIN32S.INI", "Nls", "AnsiCP", "1252", cmoOverwrite
END IF
IF OLE2_32% = 1 THEN
CreateIniKeyValue DESTSYS$ + "WIN32S.INI", "OLE", "Setup", "1", cmoOverwrite
CreateIniKeyValue DESTSYS$ + "WIN32S.INI", "OLE", "Version", szOleNewVer, cmoOverwrite
END IF
i% = DoMsgBox("Win32s files successfully installed.", "Microsoft Win32s Setup", MB_OK+MB_TASKMODAL)
'' Indicate Win32s correctly copied and installed.
ExitCode% = EXITSUCCESS
FREECELL:
IF OLEONLY% = 1 THEN
GOTO QUIT
ENDIF
IF WIN32ENABLED% = 1 THEN
sz$ = UIStartDlg(CUIDLL$, FREECELLINSTNOWIN32S, "FInfoDlgProc",0, "")
ELSE
sz$ = UIStartDlg(CUIDLL$, FREECELLINST, "FInfoDlgProc",0, "")
END IF
UIPop 1
IF sz$ <> "CONTINUE" THEN
GOTO QUIT
END IF
GETFREEPATH:
DESTFREE$ = MID$(DESTSYS$,1,3) + "WIN32APP\FREECELL\"
SetSymbolValue "EditTextIn", DESTFREE$
SetSymbolValue "EditFocus", "END"
GETFREEPATHL1:
sz$ = UIStartDlg(CUIDLL$, FREECELLPATH, "FEditDlgProc", HELPFREECELL, HELPPROC$)
IF sz$ = "CONTINUE" THEN
DESTFREE$ = GetSymbolValue("EditTextOut")
IF MID$(DESTFREE$, LEN(DESTFREE$), 1) <> "\" THEN
DESTFREE$ = DESTFREE$ + "\"
END IF
''Validate new path.
IF IsDirWritable(DESTFREE$) = 0 THEN
GOSUB BADPATH
GOTO GETFREEPATHL1
END IF
UIPop 1
GOTO COPYFREECELL
ELSEIF sz$ = "REACTIVATE" THEN
GOTO GETFREEPATHL1
ELSEIF sz$ = "EXIT" THEN
UIPop 1
GOTO QUIT
END IF
COPYFREECELL:
ClearCopyList
CreateDir DESTFREE$, cmoNone
SrcDir$ = GetSymbolValue("STF_SRCDIR")
ERR = 0
AddSectionFilesToCopyList "Win32appFreecell", SrcDir$, DESTFREE$
CopyFilesInCopyList
'' If error copying FreeCell, not a fatal error. Win32s is already installed.
IF ERR <> 0 THEN
ERR = 0
GOTO QUIT
END IF
ERR = 0
IF DoesFileExist( DESTSYS$ + "WIN32S.INI", femExists ) THEN
CreateIniKeyValue DESTSYS$ + "WIN32S.INI", "Freecell", "Setup", "1", cmoOverwrite
CreateIniKeyValue DESTSYS$ + "WIN32S.INI", "Freecell", "Version", szNewVer$, cmoOverwrite
END IF
ERR = 0
CreateProgmanGroup "Win32 Applications", "", cmoNone
ShowProgmanGroup "Win32 Applications", 1, cmoNone
CreateProgmanItem "Win32 Applications", "Freecell", DESTFREE$ + "FREECELL.EXE", "", cmoOverwrite
'' Only put up success dialog if icon added to group
IF ERR = 0 THEN
i% = DoMsgBox("Freecell was successfully installed.", "Freecell Setup", MB_OK+MB_TASKMODAL)
END IF
ERR = 0
QUIT:
'' Install error handler for final message box routines
ON ERROR GOTO ERRQUIT
IF ERR = 0 THEN
dlg% = ExitCode%
ELSEIF ERR = STFQUIT THEN
IF (OLE_PROTECT% = 1) THEN
'' Free all previously loaded libraries
FreeLibrary GetModuleHandle("compobj")
FreeLibrary GetModuleHandle("ole2")
FreeLibrary GetModuleHandle("ole2prox")
FreeLibrary GetModuleHandle("ole2conv")
FreeLibrary GetModuleHandle("storage")
FreeLibrary GetModuleHandle("ole2nls")
FreeLibrary GetModuleHandle("ole2disp")
FreeLibrary GetModuleHandle("typelib")
END IF
dlg% = EXITQUIT
ExitCode% = EXITQUIT
ELSE
dlg% = EXITFAILURE
ExitCode% = EXITQUIT
END IF
QUITL1:
IF WIN32ENABLED% = 1 THEN
UIPop 1
END
END IF
sz$ = UIStartDlg(CUIDLL$, dlg%, "FInfo0DlgProc", 0, "")
IF sz$ = "REACTIVATE" THEN
GOTO QUITL1
END IF
UIPop 1
IF ExitCode% = EXITSUCCESS THEN
IF RebootSystem(OLEONLY%) = 0 THEN
CreateIniKeyValue DESTSYS$ + "WIN32S.INI", "Win32s", "Setup", "0", cmoOverwrite
IF OLE2_32% = 1 THEN
CreateIniKeyValue DESTSYS$ + "WIN32S.INI", "OLE", "Setup", "0", cmoOverwrite
END IF
i% = DoMsgBox("Win32s is not properly configured and Win32s Setup must be run again.", "Unable to Restart Windows", MB_ICONEXCLAMATION+MB_OK+MB_TASKMODAL)
END IF
ENDIF
END
'' Fatal error handler for error message routine
ERRQUIT:
i% = DoMsgBox("Setup sources were corrupted!", "Setup Message", MB_OK+MB_TASKMODAL+MB_ICONHAND)
END
'' Bypass run-time errors. Let final dialog box display fatal error message.
ERRNORMAL:
'' Check if user cancelled setup
IF ERR = STFQUIT THEN
GOTO QUIT
END IF
RESUME NEXT
BADPATH:
sz$ = UIStartDlg(CUIDLL$, BADPATH, "FInfo0DlgProc", 0, "")
IF sz$ = "REACTIVATE" THEN
GOTO BADPATH
END IF
UIPop 1
RETURN
ASKQUIT:
sz$ = UIStartDlg(CUIDLL$, ASKQUIT, "FQuitDlgProc", 0, "")
IF sz$ = "EXIT" THEN
UIPopAll
ERROR STFQUIT
ELSEIF sz$ = "REACTIVATE" THEN
GOTO ASKQUIT
ELSE
UIPop 1
END IF
RETURN
'**
'** Purpose:
'** Builds the copy list and performs all installation operations.
'** Arguments:
'** none.
'** Returns:
'** none.
'*************************************************************************
SUB Install(OLEONLY%, OLE2_32%, OLE2_16%, OLE2AUTO_16%, OLE16RUNAPP%) STATIC
SrcDir$ = GetSymbolValue("STF_SRCDIR")
'' Use file layout sections that specify OLDER file version/time check
IF OLEONLY% = 0 THEN
AddSectionFilesToCopyList "WindowsSystem", SrcDir$, DESTSYS$
AddSectionFilesToCopyList "WindowsSystemWin32s", SrcDir$, DESTSYS$ + "WIN32S\"
'' Add obsolete files to be removed
AddSectionFilesToCopyList "Win32sSystemObsoleteFiles", SrcDir$, DESTSYS$ + "WIN32S\"
END IF
OLE_PROTECT% = 0
OLEINCLUDED% = DoesFileExist( GetSymbolValue("STF_SRCDIR") + "OLE2THK.DL_", femExists )
if OLEINCLUDED% = 1 THEN
IF (OLE2_16% = 1) OR (OLE2AUTO_16% = 1) THEN
IF OLE16RUNAPP% = 1 THEN
'' Force all OLE2 DLLS to be copied during reboot.
i% = SetErrorMode(-32768)
i% = LoadLibrary(DESTSYS$ + "compobj.dll")
i% = LoadLibrary(DESTSYS$ + "ole2.dll")
i% = LoadLibrary(DESTSYS$ + "ole2prox.dll")
i% = LoadLibrary(DESTSYS$ + "ole2conv.dll")
i% = LoadLibrary(DESTSYS$ + "storage.dll")
i% = LoadLibrary(DESTSYS$ + "ole2nls.dll")
i% = LoadLibrary(DESTSYS$ + "ole2disp.dll")
i% = LoadLibrary(DESTSYS$ + "typelib.dll")
OLE_PROTECT% = 1
END IF
AddSectionFilesToCopyList "OleWindowsSystem", SrcDir$, DESTSYS$
END IF
IF OLE2_32% = 1 THEN
AddSectionFilesToCopyList "OleWindowsSystemWin32s", SrcDir$, DESTSYS$ + "WIN32S\"
END IF
IF (OLE2_16% = 1) OR (OLE2_32% = 1) OR (OLE2AUTO_16% = 1) THEN
AddSectionFilesToCopyList "Ole2RegWindowsSystem", SrcDir$, DESTSYS$
END IF
IF (OLE2AUTO_16% = 1) THEN
AddSectionFilesToCopyList "StdoleWindowsSystem", SrcDir$, DESTSYS$
END IF
END IF
SetRestartDir GetWindowsDir()
CopyFilesInCopyList
IF (OLE_PROTECT% = 1) THEN
'' Free all previously loaded libraries
FreeLibrary GetModuleHandle("compobj")
FreeLibrary GetModuleHandle("ole2")
FreeLibrary GetModuleHandle("ole2prox")
FreeLibrary GetModuleHandle("ole2conv")
FreeLibrary GetModuleHandle("storage")
FreeLibrary GetModuleHandle("ole2nls")
FreeLibrary GetModuleHandle("ole2disp")
FreeLibrary GetModuleHandle("typelib")
OLE_PROTECT% = 0
END IF
IF OLEINCLUDED% AND (OLE2_16% OR OLE2_32% OR OLE2AUTO_16%) THEN
RUN "regedit /s " + DESTSYS$ + "ole2.reg"
END IF
END SUB
SUB UpdateSystemIni STATIC
VxDPath$ = DEST32S$ + "W32S.386"
SystemIniPath$ = GetWindowsDir()
t% = MakeSystemIni(SystemIniPath$, VxdPath$)
END SUB
FUNCTION RebootSystem(OLEONLY%) STATIC AS INTEGER
' Check if any files were locked during install. If the RestartList
' is not empty, ExitExecRestart() will restart Windows, cleanup setup
' files, and copy over locked files before Windows restarts.
i% = RestartListEmpty()
IF i% = 0 THEN
' ExitExecRestart() only returns if applications refuse to be shutdown.
' Win32s is installed but will not operate until Windows is restarted
' and the Win32s VxD is loaded.
i% = ExitExecRestart()
RebootSystem = 0
ELSE
' If the RestartList list is empty, it is necessary to restart windows
' directly. The MSSETUP program creates _MSRSTRT.EXE and _MSSETUP.BAT
' in the restart directory. This program should be exec'd to handle
' proper MSSETUP cleanup (temp files) and restart Windows.
IF (OLEONLY% = 1) THEN
RebootSystem = 1
ELSE
i% = ExitWindowsExec( GetWindowsDir() + "_MSRSTRT.EXE", "_MSSETUP.BAT" )
RebootSystem = 0
END IF
ENDIF
END FUNCTION
'**
'** Purpose:
'** Appends a file name to the end of a directory path,
'** inserting a backslash character as needed.
'** Arguments:
'** szDir$ - full directory path (with optional ending "\")
'** szFile$ - filename to append to directory
'** Returns:
'** Resulting fully qualified path name.
'*************************************************************************
FUNCTION MakePath (szDir$, szFile$) STATIC AS STRING
IF szDir$ = "" THEN
MakePath = szFile$
ELSEIF szFile$ = "" THEN
MakePath = szDir$
ELSEIF MID$(szDir$, LEN(szDir$), 1) = "\" THEN
MakePath = szDir$ + szFile$
ELSE
MakePath = szDir$ + "\" + szFile$
END IF
END FUNCTION

Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
+1
View File
@@ -0,0 +1 @@
DISK1
+1
View File
@@ -0,0 +1 @@
DISK10
+1
View File
@@ -0,0 +1 @@
DISK11
+1
View File
@@ -0,0 +1 @@
DISK12
+1
View File
@@ -0,0 +1 @@
DISK13
+1
View File
@@ -0,0 +1 @@
DISK14
+1
View File
@@ -0,0 +1 @@
DISK15
+1
View File
@@ -0,0 +1 @@
DISK16
+1
View File
@@ -0,0 +1 @@
DISK17
+1
View File
@@ -0,0 +1 @@
DISK18
+1
View File
@@ -0,0 +1 @@
DISK19
+1
View File
@@ -0,0 +1 @@
DISK2
+1
View File
@@ -0,0 +1 @@
DISK20
+1
View File
@@ -0,0 +1 @@
DISK21
+1
View File
@@ -0,0 +1 @@
DISK22
+1
View File
@@ -0,0 +1 @@
DISK23
+1
View File
@@ -0,0 +1 @@
DISK24
+1
View File
@@ -0,0 +1 @@
DISK25
+1
View File
@@ -0,0 +1 @@
DISK26
+1
View File
@@ -0,0 +1 @@
DISK27
+1
View File
@@ -0,0 +1 @@
DISK28
+1
View File
@@ -0,0 +1 @@
DISK29
+1
View File
@@ -0,0 +1 @@
DISK3
+1
View File
@@ -0,0 +1 @@
DISK4
+1
View File
@@ -0,0 +1 @@
DISK5
+1
View File
@@ -0,0 +1 @@
DISK6
+1
View File
@@ -0,0 +1 @@
DISK7
+1
View File
@@ -0,0 +1 @@
DISK8
+1
View File
@@ -0,0 +1 @@
DISK9
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.

Some files were not shown because too many files have changed in this diff Show More