%code
var
  i, s: Integer;
  ASideFiles, AExtensions: TTntStringList;
  ASideFile, AExt: WideString;
begin
  result := '';
  if (not ImageItem.MediumAvailable) or (not ImageItem.MediumLoaded) then
    exit;

  AExtensions := TTntStringList.Create;
  try
    AExtensions.Sorted := True;
    AExtensions.CaseSensitive := False;

    for i := 0 to SidecarExtensions.Count - 1 do
    begin
      if SidecarExtensions.Items[i].IsValidFor(ImageItem.FileName) then
      begin
        ASideFiles := TTntStringList.Create;
        SidecarExtensions.Items[i].FileNamesFor(ImageItem.FileName, ASideFiles, nil);
        for s := 0 to ASideFiles.Count - 1 do
        begin
          ASideFile := ASideFiles.Strings[s];
          if WideFileExists(ASideFile) then
          begin
            AExt := WideUpperCase(MidStr(WideExtractFileExt('test' + SidecarExtensions.Items[i].SidecarExtension), 2, 255));
            if AExtensions.IndexOf(AExt) = -1 then
              AExtensions.Add(AExt);
          end;
        end;
        ASideFiles.Free;
      end;
    end;

    for i := 0 to AExtensions.Count - 1 do
    begin
      AExt := AExtensions.Strings[i];
      result := result + '<font bgcolor="#FFFCBA03" color="#FF000000" bgradius="0.3">&nbsp;&nbsp;' + AExt + '&nbsp;&nbsp;</font>&nbsp;';
    end;
  finally
    AExtensions.Free;
  end;
end;
%/code
