anchor.diff:  end;
   
   
  -function TKMFavouriteMaps.Contains(aMapCRC: Cardinal): Boolean;
  -begin
  -  Result := fFavouriteMPMaps.IndexOf(IntToStr(aMapCRC)) <> -1;
  -end;
  -
  -
  -procedure TKMFavouriteMaps.Add(aMapCRC: Cardinal);
  +function TKMMapsCRCList.Contains(aMapCRC: Cardinal): Boolean;
  +begin
  +  Result := fMapsList.IndexOf(IntToStr(aMapCRC)) <> -1;
  +end;
  +
  +
  +procedure TKMMapsCRCList.Add(aMapCRC: Cardinal);
   begin
     if not Contains(aMapCRC) then
     begin
  -    fFavouriteMPMaps.Add(IntToStr(aMapCRC));
  +    fMapsList.Add(IntToStr(aMapCRC));
       FavoriteMapsUpdated;
     end;
   end;
   
   
  -procedure TKMFavouriteMaps.Remove(aMapCRC: Cardinal);
  +procedure TKMMapsCRCList.Remove(aMapCRC: Cardinal);
   var Index: Integer;
   begin
  -  Index := fFavouriteMPMaps.IndexOf(IntToStr(aMapCRC));
  +  Index := fMapsList.IndexOf(IntToStr(aMapCRC));
     if Index <> -1 then
  -    fFavouriteMPMaps.Delete(Index);
  +    fMapsList.Delete(Index);
     FavoriteMapsUpdated;
   end;
   
   
  -procedure TKMFavouriteMaps.Replace(aOldCRC, aNewCRC: Cardinal);
  +procedure TKMMapsCRCList.Replace(aOldCRC, aNewCRC: Cardinal);
   begin
     if Contains(aOldCRC) then
     begin
  
positive.code:   end;
  var I: Integer;
  begin
    I := fFavouriteMPMaps.Count - 1;
    //We must check, that all values from favorites are presented in maps CRC array. If not - then remove it from favourites
    while (fFavouriteMPMaps.Count > 0) and (I >= 0) do
    begin
      if not ArrayContains(StrToInt64(fFavouriteMPMaps[I])) then
      begin
        fFavouriteMPMaps.Delete(I);
        FavoriteMapsUpdated;
      end;
  
  
negative.code: 
  
  {TKMFavouriteMaps}
  constructor TKMMapsCRCList.Create;
  begin
    inherited;
    fMapsList := TStringList.Create;
    fMapsList.Delimiter       := FAVOURITE_MAPS_DELIMITER;
    fMapsList.StrictDelimiter := True; // Requires D2006 or newer.
  end;
  
  
  destructor TKMMapsCRCList.Destroy;
  begin
    FreeAndNil(fMapsList);
    inherited;
  end;
  
  
  procedure TKMMapsCRCList.FavoriteMapsUpdated;
  begin
    if Assigned(fOnMapsUpdate) then
      fOnMapsUpdate(PackToString);
  end;
  
  
  procedure TKMMapsCRCList.LoadFromString(const aString: UnicodeString);
  var I: Integer;
      MapCRC : Int64;
      StringList: TStringList;
  begin
    fMapsList.Clear;
    StringList := TStringList.Create;
    StringList.Delimiter := FAVOURITE_MAPS_DELIMITER;
    StringList.DelimitedText   := Trim(aString);
  