anchor.diff:    TConverters = class sealed(TObject)
   
     strict private
  -    class function SplitString(const AInput: String; ADelimiter: Char)
  -      : THashLibStringArray; static;
  -
  -{$IFDEF DEBUG}
  -    class procedure Check(const AInput: THashLibByteArray;
  -      AInputSize, AOutputSize: Int32); overload; static;
  -{$ENDIF DEBUG}
  +
       class procedure swap_copy_str_to_u32(ASource: Pointer; ASourceIndex: Int32;
         ADestination: Pointer; ADestinationIndex: Int32; ASize: Int32); static;
   
  
positive.code: 
  class function TConverters.ConvertBytesToHexString(const AInput
    : THashLibByteArray; AGroup: Boolean): String;
  var
    LIdx: Int32;
    LHexString, LWorkString: String;
    LTempArray: THashLibStringArray;
  begin
    LHexString := UpperCase(TBitConverter.ToString(AInput));
  
    if System.length(AInput) = 1 then
    begin
      result := LHexString;
      Exit;
    end;
  
    if System.length(AInput) = 2 then
    begin
      result := StringReplace(LHexString, '-', '', [rfIgnoreCase, rfReplaceAll]);
      Exit;
    end;
  
    if (AGroup) then
    begin
  {$IFDEF DEBUG}
      Check(AInput, 1, 4);
  {$ENDIF DEBUG}
      LWorkString := UpperCase(TBitConverter.ToString(AInput));
  
      LTempArray := TConverters.SplitString(LWorkString, '-');
      LHexString := '';
      LIdx := 0;
  
      while LIdx < (System.length(LTempArray) shr 2) do
      begin
        if (LIdx <> 0) then
        begin
          LHexString := LHexString + '-';
        end;
        LHexString := LHexString + LTempArray[LIdx * 4] + LTempArray[LIdx * 4 + 1]
          + LTempArray[LIdx * 4 + 2] + LTempArray[LIdx * 4 + 3];
        System.Inc(LIdx);
      end;
    end
    else
    begin
      LHexString := StringReplace(LHexString, '-', '',
        [rfIgnoreCase, rfReplaceAll]);
    end;
    result := LHexString;
  end;
  
  class function TConverters.ConvertHexStringToBytes(const AInput: String)
  
negative.code: {$ENDIF FPC}
  end;
  
  end.
  