anchor.diff:  // https://docs.microsoft.com/it-it/windows/desktop/FileIO/naming-a-file#basic_naming_conventions
   function SanitizeFileName(const aSrc: String) : String;
   
  -function GetTimeStampForFileName(const aInstant : TDateTime): string;
  +function GetTimeStampForFileName(const aInstant : TDateTime; const aAddTime : boolean = true): string;
   
   // encode a file to base64
   procedure EncodeFileToBase64(const aFullPathInputFile: String; out aOutputData: String);
   procedure DecodeBase64ToFile(const aInputData : String; const aFullPathOutputFile: String);
  +
  +procedure AddUTF8BOMToFileStream (aFileStream : TFileStream);
   
   function IsRunningAsRoot : boolean;
   
  
positive.code:     Result := ChangeFileExt(Result, ExtractFileExt(aSrc));
  end;
  
  function IsRunningAsRoot: boolean;
  begin
  {$IFDEF WINDOWS}
  
negative.code:   {$ifdef windows}shlobj, registry, winutils,{$else}LazUTF8,{$endif}
    {$ifdef linux}initc, ctypes, BaseUnix,{$endif}
    mMathUtility;
  
  var
    UTF8BOM : array[0..2] of byte = ($EF, $BB, $BF);
  
  {$ifdef linux}
  function sysconf(i:cint):clong;cdecl;external name 'sysconf';
  