anchor.diff:    finally
       FreeMem(OutBuf, OutBytes);
     end;
  -  {$ifend}
  -
  -
  -
  -//  if pvInStream= nil then Exit;
  -//  if pvInStream.Size = 0 then Exit;
  -//  ZLib.ZDecompressStream(pvInStream, pvOutStream);
   end;
   
   class function TZipTools.verifyData(const buf; len: Cardinal): Cardinal;
  
positive.code:   finally
      FreeMem(OutBuf, OutBytes);
    end;
  {$ifend}
  
  
    //ZLib.ZDecompress(pvInStream, pvOutStream);
  end;
  
  end.
  
negative.code: implementation
  
  class procedure TZipTools.UnZipStream(const pvInStream, pvOutStream: TStream);
  var
    lvBytes:TBytes;
    l:Integer;
    OutBuf: Pointer;
    OutBytes: Integer;
  begin
    if pvInStream= nil then exit;
    l := pvInStream.Size;
    if l = 0 then Exit;
    setLength(lvBytes, l);
    pvInStream.Position := 0;
    pvInStream.ReadBuffer(lvBytes[0], l);
    {$if defined(NEWZLib)}
    ZLib.ZDecompress(@lvBytes[0], l, OutBuf, OutBytes);
    {$ELSE}
    Zlib.DecompressBuf(@lvBytes[0], l, 0, OutBuf, OutBytes);
    {$ifend}
    try
      pvOutStream.Size := OutBytes;
      pvOutStream.Position := 0;
  