anchor.diff:    private
       FFileName: string;
       FStream: IDataStream;
  -    function SysToUTF8(const s: String): String;
  -    function UTF8ToSys(const s: String): String;
     public
       constructor Create(const FileName: string; Stream: IDataStream); overload;
       class function New(const FileName: string; Stream: IDataStream): IFile; overload;
  
positive.code:   end;
  end;
  
  function TFile.SysToUTF8(const s: String): String;
  begin
    {$IFDEF FPC}
      Result := LazUTF8.SysToUTF8(s)
    {$ELSE}
      Result := s;
    {$ENDIF}
  end;
  
  function TFile.UTF8ToSys(const s: String): String;
  begin
    {$IFDEF FPC}
      Result := LazUTF8.UTF8ToSys(s)
    {$ELSE}
      Result := s;
    {$ENDIF}
  end;
  
  end.
  
  
negative.code: 
  function TFile.Path: string;
  begin
    Result := SysUtils.ExtractFilePath(FFileName);
  end;
  
  function TFile.Name: string;
  begin
    Result := SysUtils.ExtractFileName(FFileName);
  end;
  
  function TFile.FileName: string;
  