From e6b81a7e9ec87843d27bee052ff2f793f71896ab Mon Sep 17 00:00:00 2001
From: sparky4 <sparky4@cock.li>
Date: Tue, 21 Jul 2015 12:02:22 -0500
Subject: [PATCH] bakapee!!!! 	modified:   16.exe 	modified:   DEBUG.TXT 
 modified:   MMDUMP.TXT 	modified:   exmmtest.exe 	modified:  
 fmemtest.exe 	modified:   fontgfx.exe 	modified:   fonttes0.exe 
 modified:   fonttest.exe 	modified:   inputest.exe 	modified:  
 makefile 	modified:   maptest.exe 	modified:   miditest.exe 
 modified:   palettec.exe 	modified:   pcxtest.exe 	modified:  
 sountest.exe 	modified:   src/lib/16_mm.c 	modified:   src/lib/16_mm.h 
 modified:   test.exe 	modified:   test2.exe 	modified:   tsthimem.exe

---
 16.exe          | Bin 45547 -> 45547 bytes
 DEBUG.TXT       |  10 ++---
 MMDUMP.TXT      | Bin 150 -> 0 bytes
 exmmtest.exe    | Bin 57198 -> 58755 bytes
 fmemtest.exe    | Bin 20822 -> 20822 bytes
 fontgfx.exe     | Bin 39420 -> 39420 bytes
 fonttes0.exe    | Bin 38762 -> 38762 bytes
 fonttest.exe    | Bin 22650 -> 22650 bytes
 inputest.exe    | Bin 35761 -> 35761 bytes
 makefile        |   2 +-
 maptest.exe     | Bin 45487 -> 45487 bytes
 miditest.exe    | Bin 62964 -> 62964 bytes
 palettec.exe    | Bin 36448 -> 36448 bytes
 pcxtest.exe     | Bin 63674 -> 63674 bytes
 sountest.exe    | Bin 57836 -> 57836 bytes
 src/lib/16_mm.c | 115 +++++++++++++++++++++++++-----------------------
 src/lib/16_mm.h |   2 +-
 test.exe        | Bin 36797 -> 36797 bytes
 test2.exe       | Bin 39549 -> 39549 bytes
 tsthimem.exe    | Bin 30749 -> 30749 bytes
 20 files changed, 67 insertions(+), 62 deletions(-)

diff --git a/16.exe b/16.exe
index 3bc10dcf6093ca0896fe16deb61f81fd74437f42..06506b05d29d13f3054669555b70bc35cee16c8b 100644
GIT binary patch
delta 37
vcmV+=0NVfS;{xmB0uoJHL;*Vh-~c)RW(@!T$OnMCu@VKO0)V@-8Klw;Bb*Or

delta 37
tcmaF;nCbOnCL!M_7e;G_2MksWdW`@7pI~R;*eJxhgo%M;v*eOXyZ{EG47~sV

diff --git a/DEBUG.TXT b/DEBUG.TXT
index d71980c4..b442a8f8 100644
--- a/DEBUG.TXT
+++ b/DEBUG.TXT
@@ -1,7 +1,7 @@
-Seg:0	Size:140384	Owner:0x84a
-Seg:2246	Size:4096	Owner:0xfb32
-Seg:2346	Size:31344	Owner:0x1c68
-Seg:3054	Size:1026592	Owner:0x468b
-Seg:3924	Size:683456	Owner:0x5657
+Seg:0	Size:114096	Owner:0xfd10
+Seg:1bdb	Size:4096	Owner:0xb512
+Seg:1e4b	Size:8512	Owner:0x8ebc
+Seg:22ef	Size:774416	Owner:0x8e2e
+Seg:e000	Size:31344	Owner:0xd648
 
 MM_ShowMemory: Memory block order currupted!
diff --git a/MMDUMP.TXT b/MMDUMP.TXT
index 18431f44413f4c806ff4c46b43ab50d342aa1a68..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 100644
GIT binary patch
literal 0
HcmV?d00001

literal 150
zcmXr0FfcGlwlc6VNmS6#b<<R^RWPzJFyZAg07@98SQ#dpSpX%Lqe=jEn3!240VNh;
iNSK<Lngb>7U`SXPB!P_jk17GQBQ43;2q?jTkN^O|(;$cd

diff --git a/exmmtest.exe b/exmmtest.exe
index a99bb92273ba35d02696a1025699aa0ff181c388..e979fbdb99311ca30fd169e1f18bd5325824858d 100644
GIT binary patch
delta 19153
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%0AAQEQO222s0O(ykV@`I0tY)UG-d^W{>fn}zyA
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

delta 18215
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

diff --git a/fmemtest.exe b/fmemtest.exe
index 624bc60e3c0778ebfc955ae0e52d32f11e85b1b7..d9ccddbf8de1c675d8b4cb07df4d8d8d3c231f8d 100644
GIT binary patch
delta 37
tcmcb%i1FGYMj_uQ9!5!qA_jSeGu;3GvobgA-YC@I!PKyO^AwLm902or4V(Y~

delta 37
tcmcb%i1FGYMj_uQ9!5!qA_jSeDGdMrvobSqY!qtnU}E6dJjLS>2LRT93iAK}

diff --git a/fontgfx.exe b/fontgfx.exe
index d182022a808c6bbbc061602b8a3ca1a7b2098238..3dd39f3824ed7a76b1aee3b4bbf63518bf8ec76a 100644
GIT binary patch
delta 37
tcmeyfnd#4FCL!ObNespe2N;YPVtM}m-^13hd!vw6FH^(r&33)}cmN)j4>kY*

delta 37
tcmeyfnd#4FCL!ObNespe2N;YPR2l#O-^0ehu~A5?mx+O6vt92#9smKH42=K)

diff --git a/fonttes0.exe b/fonttes0.exe
index 14e72e35180f48ed6e82d6b5bd5b03f93c2c0187..ae601be34a382d386347788c3101c9e0fe9f1ce1 100644
GIT binary patch
delta 37
vcmV+=0NVfRt^(?=0uoJH0st}q#{e_{T@3&Kkp_Ufu@bC`0)V@-z>2C24OtIA

delta 37
tcmaF0j_K7pCL!M_CI%yh;|wMYs*L~tPh?}@*eJB7i;00_^MS5aJOJ=e43+=@

diff --git a/fonttest.exe b/fonttest.exe
index be48aee686d85a3d55fe4b4d8a7b972b5cbe9098..1e5af570c040803f45ff9a0149b14ccf76e9ee24 100644
GIT binary patch
delta 37
tcmeyhf$`S{Mj_uQ9Y$$}Dh5S{v)upxyD>NH-YCT4&(yGcvxI*VCjbK64J7~o

delta 37
tcmeyhf$`S{Mj_uQ9Y$$}Dh5S{sSN-ByD>9xY!qVgXJX*kEa9KT2>|8O3VZ+n

diff --git a/inputest.exe b/inputest.exe
index d13563f3e3bf9aa2df5bc2f94c5dacf5d917d014..5824e8ee5aa20a6030d5f53684f9db2cec5fca90 100644
GIT binary patch
delta 37
tcmdluooVBACL!Ob1q`|j1&nbFH@W}+_hoI^y-~=to~dE?X3zQz9smJs4g3HA

delta 37
tcmdluooVBACL!Ob1q`|j1&nbF3mN|Z_hn_^*eGOL&&0s7*|R=_2LR+_3sV39

diff --git a/makefile b/makefile
index d0770dba..1c56ca55 100644
--- a/makefile
+++ b/makefile
@@ -13,7 +13,7 @@ TARGET_OS = dos
 #-zkl = current codepage
 
 DFLAGS=-DTARGET_MSDOS=16 -DMSDOS=1# -zm
-CFLAGS=-zk0 -wo -x -mc -zu# -zdp# -zp16 -zq
+CFLAGS=-zk0 -wo -x -mc -zu -k48000# -zdp# -zp16 -zq
 OFLAGS=-ot -ox -ob -oh -or# -om -ol -ol+
 FLAGS=-0 -d1 -lr $(OFLAGS) $(CFLAGS) $(DFLAGS) #-d2
 SRC=src$(DIRSEP)
diff --git a/maptest.exe b/maptest.exe
index 356698ef42edaa10334e8def4d80b8fea1190076..80f3a40b3100c61f6c65215a8721bc5049522e58 100644
GIT binary patch
delta 37
vcmV+=0NVer;{vba0uoJHya77^?f^ajXAJ-U%m;wGu@b+d0)V@-)1%xCEJzUf

delta 37
vcmV+=0NVer;{vba0uoJHya77^?f^ajF9HAm%m)Anu@b+d0ssiJ)1%xC4^9qH

diff --git a/miditest.exe b/miditest.exe
index 06dc46fb27b2433e8d2ee6fc7afa4d21c1aea1dc..55eb2bf23e330b1222c3b52c821fc45daddda99b 100644
GIT binary patch
delta 37
tcmezJn)%CXW+C6G2F7p(UPd>Da-RSH1GyV^ZxlN4jHzMw<}1$>_yHwV5Ci}K

delta 37
tcmezJn)%CXW+C6G2F7p(UPd<td&d9&1GyPEHVPeh#>Bv}`N}f|egFtt4O;*J

diff --git a/palettec.exe b/palettec.exe
index 393babfde024678779544ec09f7f5dd1b204d858..376d8f4668f9a193df7d479a896b745514a025a7 100644
GIT binary patch
delta 37
tcmaDbhv~r_CL!ObZ;W~j8yNH$VtD@lH)U(sy;0~}BU8if&0I}kJOCD#4y^zH

delta 37
tcmaDbhv~r_CL!ObZ;W~j8yNH$R2cvNH)Uhs*eLX^k%@t0Ggng>4*>a&3<LlG

diff --git a/pcxtest.exe b/pcxtest.exe
index 89cf28cd7b077ad76a1b63795e2cfb0ed2b6ae98..115a7fa687ba9e73f3e19231f322c067e698a8d4 100644
GIT binary patch
delta 37
vcmV+=0NVe$@dLW?0}@SI>H%2*=>R<dg$)1yt_y&>u@VC50)V@-7U`r9G#n69

delta 37
tcmdn>k$KlgW+C6GSB#MiFBxnZd>Q}$U&qbBu~CTWB@+Y3X0ew`_yHFp4XOYD

diff --git a/sountest.exe b/sountest.exe
index 10eefab6aa47af06c9b09462ad163a2dddbb5110..a41715799dddfaee53285d13c22df49037491a77 100644
GIT binary patch
delta 37
vcmV+=0NVfT!vpNY0}@SIfB{YbpaE(C3k?7Np$UMyu@WxR0)V@-Ler`a9Pkfw

delta 37
tcmaEJnEB0NW+C6G21Y-I1&mn?ml^*5U&zV8u~A6xG7|&GW~a-m_y7~*4aooi

diff --git a/src/lib/16_mm.c b/src/lib/16_mm.c
index 13cafcb9..b88d3a3a 100644
--- a/src/lib/16_mm.c
+++ b/src/lib/16_mm.c
@@ -137,7 +137,7 @@ boolean MML_CheckForEMS(void)
 
 byte MML_SetupEMS(mminfo_t *mm)
 {
-	char	str[80];//,str2[10];
+	byte	str[160];
 	byte	err;
 	boolean errorflag=false;
 
@@ -207,9 +207,9 @@ End:
 	if(errorflag==true)
 	{
 		//err = CPURegs.h.ah;
-		strcpy(str,"MM_SetupEMS: EMS error");
+		strcpy(str,"MM_SetupEMS: EMS error ");
 		//itoa(err,str2,16);
-		strcat(str,MM_EMSerr(err));
+		MM_EMSerr(&str, err);
 		printf("%s\n",str);
 		return err;
 	}
@@ -265,7 +265,7 @@ void MML_ShutdownEMS(mminfo_t *mm)
 
 byte MM_MapEMS(mminfo_t *mm, mminfotype *mmi)
 {
-	char	str[80];
+	byte	str[160];
 	unsigned	EMShandle;
 	byte err;
 	boolean	errorflag=false;
@@ -292,9 +292,9 @@ byte MM_MapEMS(mminfo_t *mm, mminfotype *mmi)
 		if(errorflag==true)
 		{
 			//err = CPURegs.h.ah;
-			strcpy(str,"MM_MapEMS: EMS error");
+			strcpy(str,"MM_MapEMS: EMS error ");
 			//itoa(err,str2,16);
-			strcat(str,MM_EMSerr(err));
+			MM_EMSerr(str, err);
 			printf("%s\n",str);
 			//printf("FACK! %x\n", err);
 			return err;
@@ -329,7 +329,7 @@ byte MM_MapXEMS(mminfo_t *mm, mminfotype *mmi)
 //	EMS.Error = (Regs.ax AND 0xFF00&) \ 0x100  //Store the status code
 
 //END SUB
-	char	str[80];
+	byte	str[160];
 	byte err;
 	word	EMShandle;
 	boolean	errorflag=false;
@@ -360,9 +360,9 @@ byte MM_MapXEMS(mminfo_t *mm, mminfotype *mmi)
 		{
 			//err = CPURegs.h.ah;
 			//strcpy(str,"MM_MapXEMS: EMS error 0x");
-			strcpy(str,"MM_MapXEMS: EMS error");
+			strcpy(str,"MM_MapXEMS: EMS error ");
 			//itoa(err,str2,16);
-			strcat(str,MM_EMSerr(err));
+			MM_EMSerr(&str, err);
 			printf("%s\n",str);
 			//printf("%s%x\n",str, err);
 			//printf("FACK! %x\n", err);
@@ -642,6 +642,7 @@ void MM_Startup(mminfo_t *mm, mminfotype *mmi)
 //
 // set up the linked list (everything in the free list;
 //
+	printf("		linked list making!\n");
 	mm->mmhead = NULL;
 	mm->mmfree = &(mm->mmblocks[0]);
 	for(i=0;i<MAXBLOCKS-1;i++)
@@ -653,6 +654,7 @@ void MM_Startup(mminfo_t *mm, mminfotype *mmi)
 //
 // locked block of all memory until we punch out free space
 //
+	printf("		newblock making!\n");
 	MM_GetNewBlock(mm);
 	mm->mmhead = mm->mmnew;				// this will allways be the first node
 	mm->mmnew->start = 0;
@@ -666,6 +668,7 @@ void MM_Startup(mminfo_t *mm, mminfotype *mmi)
 //
 // get all available near conventional memory segments
 //
+	printf("		nearheap making!\n");
 //----	length=coreleft();
 	_nheapgrow();
 	length=_memavl();
@@ -676,12 +679,13 @@ void MM_Startup(mminfo_t *mm, mminfotype *mmi)
 	segstart = FP_SEG(start)+(FP_OFF(start)+15)/16;
 	MML_UseSpace(segstart,seglength, mm);
 	mmi->nearheap = length;
-	//printf("near heap ok!\n");
+	printf("		near heap ok!\n");
 
 //
 // get all available far conventional memory segments
 //
 //----	length=farcoreleft();
+	printf("		farheap making!\n");
 	_fheapgrow();
 	length=_memavl();
 	start = mm->farheap = halloc(length, sizeof(byte));
@@ -693,13 +697,13 @@ void MM_Startup(mminfo_t *mm, mminfotype *mmi)
 	MML_UseSpace(segstart,seglength, mm);
 	mmi->farheap = length;
 	mmi->mainmem = mmi->nearheap + mmi->farheap;
-	//printf("far heap ok!\n");
+	printf("		far heap ok!\n");
 
 
 //
 // detect EMS and allocate up to 64K at page frame
 //
-	printf("EMS1\n\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0");	//bug!
+	printf("		EMS1\n\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0");	//bug!
 	mmi->EMSmem = 0;
 	for(i = 1;i < __argc;i++)
 	{
@@ -709,13 +713,13 @@ void MM_Startup(mminfo_t *mm, mminfotype *mmi)
 	printf("\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0");	//bug!
 	if(MML_CheckForEMS())
 	{
-printf("EMS2\n");
+printf("		EMS2\n");
 		MML_SetupEMS(mm);					// allocate space
-printf("EMS3\n");
+printf("		EMS3\n");
 		printf("\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0");	//bug!
 		//TODO: EMS4! AND EMS 3.2 MASSIVE DATA HANDLMENT!
 		MML_UseSpace(mm->EMSpageframe,(MAPPAGES)*0x4000lu, mm);
-printf("EMS4\n");
+printf("		EMS4\n");
 		if(mm->EMSVer<0x40)
 			MM_MapEMS(mm, mmi);					// map in used pages
 		else
@@ -735,7 +739,7 @@ emsskip:
 	printf("\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0");	//bug!
 	if(MML_CheckForXMS(mm))
 	{
-		printf("XMS!\n");
+		printf("		XMS!\n");
 		//MML_SetupXMS(mm, mmi);					// allocate as many UMBs as possible
 	}
 
@@ -1386,90 +1390,91 @@ void MM_Report(page_t *page, mminfo_t *mm, mminfotype *mmi)
 =====================
 */
 
-byte *MM_EMSerr(byte err)
+static void MM_EMSerr(byte *stri, byte err)
 {
 	//Returns a text string describing the error code in EMS.Error.
 	switch(err)
 	{
 		case 0x0:
-			return "successful";
+			strcat(stri, "successful");
 		case 0x80:
-			return "internal error";
+			strcat(stri, "internal error");
 		case 0x81:
-			return "hardware malfunction";
+			strcat(stri, "hardware malfunction");
 		case 0x82:
-			return "busy .. retry later";
+			strcat(stri, "busy .. retry later");
 		case 0x83:
-			return "invalid handle";
+			strcat(stri, "invalid handle");
 		case 0x84:
-			return "undefined function requested by application";
+			strcat(stri, "undefined function requested by application");
 		case 0x85:
-			return "no more handles available";
+			strcat(stri, "no more handles available");
 		case 0x86:
-			return "error in save or restore of mapping context";
+			strcat(stri, "error in save or restore of mapping context");
 		case 0x87:
-			return "insufficient memory pages in system";
+			strcat(stri, "insufficient memory pages in system");
 		case 0x88:
-			return "insufficient memory pages available";
+			strcat(stri, "insufficient memory pages available");
 		case 0x89:
-			return "zero pages requested";
+			strcat(stri, "zero pages requested");
 		case 0x8A:
-			return "invalid logical page number encountered";
+			strcat(stri, "invalid logical page number encountered");
 		case 0x8B:
-			return "invalid physical page number encountered";
+			strcat(stri, "invalid physical page number encountered");
 		case 0x8C:
-			return "page-mapping hardware state save area is full";
+			strcat(stri, "page-mapping hardware state save area is full");
 		case 0x8D:
-			return "save of mapping context failed";
+			strcat(stri, "save of mapping context failed");
 		case 0x8E:
-			return "restore of mapping context failed";
+			strcat(stri, "restore of mapping context failed");
 		case 0x8F:
-			return "undefined subfunction";
+			strcat(stri, "undefined subfunction");
 		case 0x90:
-			return "undefined attribute type";
+			strcat(stri, "undefined attribute type");
 		case 0x91:
-			return "feature not supported";
+			strcat(stri, "feature not supported");
 		case 0x92:
-			return "successful, but a portion of the source region has been overwritten";
+			strcat(stri, "successful, but a portion of the source region has been overwritten");
 		case 0x93:
-			return "length of source or destination region exceeds length of region allocated to either source or destination handle";
+			strcat(stri, "length of source or destination region exceeds length of region allocated to either source or destination handle");
 		case 0x94:
-			return "conventional and expanded memory regions overlap";
+			strcat(stri, "conventional and expanded memory regions overlap");
 		case 0x95:
-			return "offset within logical page exceeds size of logical page";
+			strcat(stri, "offset within logical page exceeds size of logical page");
 		case 0x96:
-			return "region length exceeds 1 MB";
+			strcat(stri, "region length exceeds 1 MB");
 		case 0x97:
-			return "source and destination EMS regions have same handle and overlap";
+			strcat(stri, "source and destination EMS regions have same handle and overlap");
 		case 0x98:
-			return "memory source or destination type undefined";
+			strcat(stri, "memory source or destination type undefined");
 		case 0x9A:
-			return "specified alternate map register or DMA register set not supported";
+			strcat(stri, "specified alternate map register or DMA register set not supported");
 		case 0x9B:
-			return "all alternate map register or DMA register sets currently allocated";
+			strcat(stri, "all alternate map register or DMA register sets currently allocated");
 		case 0x9C:
-			return "alternate map register or DMA register sets not supported";
+			strcat(stri, "alternate map register or DMA register sets not supported");
 		case 0x9D:
-			return "undefined or unallocated alternate map register or DMA register set";
+			strcat(stri, "undefined or unallocated alternate map register or DMA register set");
 		case 0x9E:
-			return "dedicated DMA channels not supported";
+			strcat(stri, "dedicated DMA channels not supported");
 		case 0x9F:
-			return "specified dedicated DMA channel not supported";
+			strcat(stri, "specified dedicated DMA channel not supported");
 		case 0xA0:
-			return "no such handle name";
+			strcat(stri, "no such handle name");
 		case 0xA1:
-			return "a handle found had no name, or duplicate handle name";
+			strcat(stri, "a handle found had no name, or duplicate handle name");
 		case 0xA2:
-			return "attempted to wrap around 1M conventional address space";
+			strcat(stri, "attempted to wrap around 1M conventional address space");
 		case 0xA3:
-			return "source array corrupted";
+			strcat(stri, "source array corrupted");
 		case 0xA4:
-			return "operating system denied access";
+			strcat(stri, "operating system denied access");
 		default:
-			return "undefined error";
+			strcat(stri, "undefined error");
 	}
 }
 
+
 //==========================================================================
 
 /*
diff --git a/src/lib/16_mm.h b/src/lib/16_mm.h
index 27a397c9..0ee0c8e3 100644
--- a/src/lib/16_mm.h
+++ b/src/lib/16_mm.h
@@ -187,7 +187,7 @@ void MM_DumpData(mminfo_t *mm);
 dword MM_UnusedMemory(mminfo_t *mm);
 dword MM_TotalFree(mminfo_t *mm);
 void MM_Report(page_t *page, mminfo_t *mm, mminfotype *mmi);
-byte *MM_EMSerr(byte err);
+static void MM_EMSerr(byte *stri, byte err);
 void MM_BombOnError(boolean bomb, mminfo_t *mm);
 void MM_GetNewBlock(mminfo_t *mm);
 void MM_FreeBlock(mmblocktype *x, mminfo_t *mm);
diff --git a/test.exe b/test.exe
index 6fb52b99b442a8229daea97a7478a3f74d35a348..9ab02f96776a6d21dc91df82eef7923b48bdba31 100644
GIT binary patch
delta 37
tcmdlxpK0%WCL!M_F-Coc4Gek=F+BhOyR$Xy-Y68@%+#=Zb9!?a4*>Cp4P5{L

delta 37
tcmdlxpK0%WCL!M_F-Coc4Gek=DvbaCyR$KHY!nJ^W@6yjoZcM90|3;G3bX(K

diff --git a/test2.exe b/test2.exe
index 4433bb27e60fb2c98134619d3c7ecf163440fa19..65ee9440e3b0279a48a33e08e6d64d57ca15fa3a 100644
GIT binary patch
delta 37
vcmV+=0NVfkv;zIK0uoJHLI5)Wy#O)*WDNiRz6OB1u@a$;0)V@-wT;LO9b6CS

delta 37
tcmeynh3W4WCL!M_CkA7Ny$nVSI*kAS?_*=&*eJBHmx+O6^VZ%IJOBV<4L<+?

diff --git a/tsthimem.exe b/tsthimem.exe
index 72f3e0bfa28f591434960813991e3877ce71d297..bb81bf53a82a9a165ebeec030ac8ba3b77753711 100644
GIT binary patch
delta 37
tcmbRHfpP8!Mj_uQ1_m{ThYZ#Xr?~(BpU%>-d!rD09#g~a&C+>HTmT3v4SoOs

delta 37
tcmbRHfpP8!Mj_uQ1_m{ThYZ#XlNkR0pU%R-u~CRUkBNa}vveL47Xa%a3e^Ar

-- 
2.39.5