mirror of
				https://github.com/jellyfin/jellyfin.git
				synced 2025-11-04 03:27:21 -05:00 
			
		
		
		
	
						commit
						b7b1dbed5b
					
				@ -725,12 +725,13 @@ namespace Emby.Server.Implementations.HttpServer
 | 
				
			|||||||
                    Summary = route.Summary
 | 
					                    Summary = route.Summary
 | 
				
			||||||
                });
 | 
					                });
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                //routes.Add(new RouteAttribute(DoubleNormalizeEmbyRoutePath(route.Path), route.Verbs)
 | 
					                // needed because apps add /emby, and some users also add /emby, thereby double prefixing
 | 
				
			||||||
                //{
 | 
					                routes.Add(new RouteAttribute(DoubleNormalizeEmbyRoutePath(route.Path), route.Verbs)
 | 
				
			||||||
                //    Notes = route.Notes,
 | 
					                {
 | 
				
			||||||
                //    Priority = route.Priority,
 | 
					                    Notes = route.Notes,
 | 
				
			||||||
                //    Summary = route.Summary
 | 
					                    Priority = route.Priority,
 | 
				
			||||||
                //});
 | 
					                    Summary = route.Summary
 | 
				
			||||||
 | 
					                });
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            return routes.ToArray(routes.Count);
 | 
					            return routes.ToArray(routes.Count);
 | 
				
			||||||
 | 
				
			|||||||
@ -12,7 +12,7 @@ namespace Emby.Server.Implementations.Library.Resolvers.Books
 | 
				
			|||||||
    /// </summary>
 | 
					    /// </summary>
 | 
				
			||||||
    public class BookResolver : MediaBrowser.Controller.Resolvers.ItemResolver<Book>
 | 
					    public class BookResolver : MediaBrowser.Controller.Resolvers.ItemResolver<Book>
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
        private readonly string[] _validExtensions = {".pdf", ".epub", ".mobi", ".cbr", ".cbz"};
 | 
					        private readonly string[] _validExtensions = { ".pdf", ".epub", ".mobi", ".cbr", ".cbz", ".azw3" };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        /// <summary>
 | 
					        /// <summary>
 | 
				
			||||||
        /// 
 | 
					        /// 
 | 
				
			||||||
 | 
				
			|||||||
@ -272,11 +272,6 @@ namespace Emby.Server.Implementations.LiveTv.EmbyTV
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
        private bool EncodeVideo(MediaSourceInfo mediaSource)
 | 
					        private bool EncodeVideo(MediaSourceInfo mediaSource)
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            if (string.Equals(_liveTvOptions.RecordedVideoCodec, "copy", StringComparison.OrdinalIgnoreCase))
 | 
					 | 
				
			||||||
            {
 | 
					 | 
				
			||||||
                return false;
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
            var mediaStreams = mediaSource.MediaStreams ?? new List<MediaStream>();
 | 
					            var mediaStreams = mediaSource.MediaStreams ?? new List<MediaStream>();
 | 
				
			||||||
            return !mediaStreams.Any(i => i.Type == MediaStreamType.Video && string.Equals(i.Codec, "h264", StringComparison.OrdinalIgnoreCase) && !i.IsInterlaced);
 | 
					            return !mediaStreams.Any(i => i.Type == MediaStreamType.Video && string.Equals(i.Codec, "h264", StringComparison.OrdinalIgnoreCase) && !i.IsInterlaced);
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
				
			|||||||
@ -110,7 +110,15 @@ namespace Emby.Server.Implementations.LiveTv.Listings
 | 
				
			|||||||
                    var tempFolder = Path.Combine(_config.ApplicationPaths.TempDirectory, Guid.NewGuid().ToString());
 | 
					                    var tempFolder = Path.Combine(_config.ApplicationPaths.TempDirectory, Guid.NewGuid().ToString());
 | 
				
			||||||
                    _fileSystem.CreateDirectory(tempFolder);
 | 
					                    _fileSystem.CreateDirectory(tempFolder);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                    try
 | 
				
			||||||
 | 
					                    {
 | 
				
			||||||
                        _zipClient.ExtractAllFromGz(stream, tempFolder, true);
 | 
					                        _zipClient.ExtractAllFromGz(stream, tempFolder, true);
 | 
				
			||||||
 | 
					                    }
 | 
				
			||||||
 | 
					                    catch
 | 
				
			||||||
 | 
					                    {
 | 
				
			||||||
 | 
					                        // If the extraction fails just return the original file, it could be a gz
 | 
				
			||||||
 | 
					                        return file;
 | 
				
			||||||
 | 
					                    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                    return _fileSystem.GetFiles(tempFolder, true)
 | 
					                    return _fileSystem.GetFiles(tempFolder, true)
 | 
				
			||||||
                        .Where(i => string.Equals(i.Extension, ".xml", StringComparison.OrdinalIgnoreCase))
 | 
					                        .Where(i => string.Equals(i.Extension, ".xml", StringComparison.OrdinalIgnoreCase))
 | 
				
			||||||
 | 
				
			|||||||
@ -299,6 +299,8 @@ namespace Emby.Server.Implementations.LiveTv.TunerHosts.HdHomerun
 | 
				
			|||||||
            int? videoBitrate = null;
 | 
					            int? videoBitrate = null;
 | 
				
			||||||
            int? audioBitrate = null;
 | 
					            int? audioBitrate = null;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            var isHd = channelInfo.IsHD ?? true;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            if (string.Equals(profile, "mobile", StringComparison.OrdinalIgnoreCase))
 | 
					            if (string.Equals(profile, "mobile", StringComparison.OrdinalIgnoreCase))
 | 
				
			||||||
            {
 | 
					            {
 | 
				
			||||||
                width = 1280;
 | 
					                width = 1280;
 | 
				
			||||||
@ -350,7 +352,7 @@ namespace Emby.Server.Implementations.LiveTv.TunerHosts.HdHomerun
 | 
				
			|||||||
            else
 | 
					            else
 | 
				
			||||||
            {
 | 
					            {
 | 
				
			||||||
                // This is for android tv's 1200 condition. Remove once not needed anymore so that we can avoid possible side effects of dummying up this data
 | 
					                // This is for android tv's 1200 condition. Remove once not needed anymore so that we can avoid possible side effects of dummying up this data
 | 
				
			||||||
                if ((channelInfo.IsHD ?? true))
 | 
					                if (isHd)
 | 
				
			||||||
                {
 | 
					                {
 | 
				
			||||||
                    width = 1920;
 | 
					                    width = 1920;
 | 
				
			||||||
                    height = 1080;
 | 
					                    height = 1080;
 | 
				
			||||||
@ -367,9 +369,9 @@ namespace Emby.Server.Implementations.LiveTv.TunerHosts.HdHomerun
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
                if (!videoBitrate.HasValue)
 | 
					                if (!videoBitrate.HasValue)
 | 
				
			||||||
                {
 | 
					                {
 | 
				
			||||||
                    videoBitrate = (channelInfo.IsHD ?? true) ? 15000000 : 2000000;
 | 
					                    videoBitrate = isHd ? 15000000 : 2000000;
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
                audioBitrate = (channelInfo.IsHD ?? true) ? 448000 : 192000;
 | 
					                audioBitrate = isHd ? 448000 : 192000;
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            // normalize
 | 
					            // normalize
 | 
				
			||||||
 | 
				
			|||||||
@ -1,8 +1,9 @@
 | 
				
			|||||||
using MediaBrowser.Model.Serialization;
 | 
					using MediaBrowser.Controller.Providers;
 | 
				
			||||||
 | 
					using MediaBrowser.Model.Serialization;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
namespace MediaBrowser.Controller.Entities.Audio
 | 
					namespace MediaBrowser.Controller.Entities.Audio
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    public class AudioPodcast : Audio
 | 
					    public class AudioPodcast : Audio, IHasLookupInfo<SongInfo>
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
        [IgnoreDataMember]
 | 
					        [IgnoreDataMember]
 | 
				
			||||||
        public override bool SupportsPositionTicksResume
 | 
					        public override bool SupportsPositionTicksResume
 | 
				
			||||||
@ -13,6 +14,15 @@ namespace MediaBrowser.Controller.Entities.Audio
 | 
				
			|||||||
            }
 | 
					            }
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        [IgnoreDataMember]
 | 
				
			||||||
 | 
					        public override bool SupportsPlayedStatus
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            get
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					                return true;
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        public override double? GetDefaultPrimaryImageAspectRatio()
 | 
					        public override double? GetDefaultPrimaryImageAspectRatio()
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            return 1;
 | 
					            return 1;
 | 
				
			||||||
 | 
				
			|||||||
@ -1,11 +1,12 @@
 | 
				
			|||||||
using System;
 | 
					using System;
 | 
				
			||||||
 | 
					using MediaBrowser.Controller.Providers;
 | 
				
			||||||
using MediaBrowser.Model.Configuration;
 | 
					using MediaBrowser.Model.Configuration;
 | 
				
			||||||
using MediaBrowser.Model.Serialization;
 | 
					using MediaBrowser.Model.Serialization;
 | 
				
			||||||
using MediaBrowser.Model.Entities;
 | 
					using MediaBrowser.Model.Entities;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
namespace MediaBrowser.Controller.Entities
 | 
					namespace MediaBrowser.Controller.Entities
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    public class AudioBook : Audio.Audio, IHasSeries
 | 
					    public class AudioBook : Audio.Audio, IHasSeries, IHasLookupInfo<SongInfo>
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
        [IgnoreDataMember]
 | 
					        [IgnoreDataMember]
 | 
				
			||||||
        public override bool SupportsPositionTicksResume
 | 
					        public override bool SupportsPositionTicksResume
 | 
				
			||||||
 | 
				
			|||||||
@ -1,4 +1,5 @@
 | 
				
			|||||||
using MediaBrowser.Controller.Entities;
 | 
					using System;
 | 
				
			||||||
 | 
					using MediaBrowser.Controller.Entities;
 | 
				
			||||||
using MediaBrowser.Controller.Library;
 | 
					using MediaBrowser.Controller.Library;
 | 
				
			||||||
using System.Threading;
 | 
					using System.Threading;
 | 
				
			||||||
using System.Threading.Tasks;
 | 
					using System.Threading.Tasks;
 | 
				
			||||||
@ -13,6 +14,7 @@ namespace MediaBrowser.Controller.Providers
 | 
				
			|||||||
        /// <param name="item">The item.</param>
 | 
					        /// <param name="item">The item.</param>
 | 
				
			||||||
        /// <returns><c>true</c> if this instance can refresh the specified item; otherwise, <c>false</c>.</returns>
 | 
					        /// <returns><c>true</c> if this instance can refresh the specified item; otherwise, <c>false</c>.</returns>
 | 
				
			||||||
        bool CanRefresh(IHasMetadata item);
 | 
					        bool CanRefresh(IHasMetadata item);
 | 
				
			||||||
 | 
					        bool CanRefreshPrimary(Type type);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        /// <summary>
 | 
					        /// <summary>
 | 
				
			||||||
        /// Refreshes the metadata.
 | 
					        /// Refreshes the metadata.
 | 
				
			||||||
 | 
				
			|||||||
@ -91,8 +91,6 @@ namespace MediaBrowser.Controller.Sync
 | 
				
			|||||||
        /// </summary>
 | 
					        /// </summary>
 | 
				
			||||||
        List<SyncTarget> GetSyncTargets(string userId);
 | 
					        List<SyncTarget> GetSyncTargets(string userId);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        List<SyncTarget> GetSyncTargets(string userId, bool? supportsRemoteSync);
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        /// <summary>
 | 
					        /// <summary>
 | 
				
			||||||
        /// Supportses the synchronize.
 | 
					        /// Supportses the synchronize.
 | 
				
			||||||
        /// </summary>
 | 
					        /// </summary>
 | 
				
			||||||
 | 
				
			|||||||
@ -11,8 +11,6 @@ namespace MediaBrowser.Controller.Sync
 | 
				
			|||||||
        /// <value>The name.</value>
 | 
					        /// <value>The name.</value>
 | 
				
			||||||
        string Name { get; }
 | 
					        string Name { get; }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        bool SupportsRemoteSync { get; }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        /// <summary>
 | 
					        /// <summary>
 | 
				
			||||||
        /// Gets the synchronize targets.
 | 
					        /// Gets the synchronize targets.
 | 
				
			||||||
        /// </summary>
 | 
					        /// </summary>
 | 
				
			||||||
 | 
				
			|||||||
@ -13,7 +13,6 @@ namespace MediaBrowser.Model.LiveTv
 | 
				
			|||||||
        public string RecordingEncodingFormat { get; set; }
 | 
					        public string RecordingEncodingFormat { get; set; }
 | 
				
			||||||
        public bool EnableRecordingSubfolders { get; set; }
 | 
					        public bool EnableRecordingSubfolders { get; set; }
 | 
				
			||||||
        public bool EnableOriginalAudioWithEncodedRecordings { get; set; }
 | 
					        public bool EnableOriginalAudioWithEncodedRecordings { get; set; }
 | 
				
			||||||
        public string RecordedVideoCodec { get; set; }
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
        public TunerHostInfo[] TunerHosts { get; set; }
 | 
					        public TunerHostInfo[] TunerHosts { get; set; }
 | 
				
			||||||
        public ListingsProviderInfo[] ListingProviders { get; set; }
 | 
					        public ListingsProviderInfo[] ListingProviders { get; set; }
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										45
									
								
								MediaBrowser.Providers/Books/GoogleBooksProvider.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										45
									
								
								MediaBrowser.Providers/Books/GoogleBooksProvider.cs
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,45 @@
 | 
				
			|||||||
 | 
					using System;
 | 
				
			||||||
 | 
					using System.Collections.Generic;
 | 
				
			||||||
 | 
					using System.Linq;
 | 
				
			||||||
 | 
					using System.Text;
 | 
				
			||||||
 | 
					using System.Threading;
 | 
				
			||||||
 | 
					using System.Threading.Tasks;
 | 
				
			||||||
 | 
					using MediaBrowser.Common.Net;
 | 
				
			||||||
 | 
					using MediaBrowser.Controller.Entities;
 | 
				
			||||||
 | 
					using MediaBrowser.Controller.Entities.TV;
 | 
				
			||||||
 | 
					using MediaBrowser.Controller.Providers;
 | 
				
			||||||
 | 
					using MediaBrowser.Model.Providers;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					namespace MediaBrowser.Providers.Books
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					    public class GoogleBooksProvider : IRemoteMetadataProvider<AudioBook, SongInfo>
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					        public string Name => "Google Books";
 | 
				
			||||||
 | 
					        private readonly IHttpClient _httpClient;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        public GoogleBooksProvider(IHttpClient httpClient)
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            _httpClient = httpClient;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        public Task<HttpResponseInfo> GetImageResponse(string url, CancellationToken cancellationToken)
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            return _httpClient.GetResponse(new HttpRequestOptions
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					                CancellationToken = cancellationToken,
 | 
				
			||||||
 | 
					                Url = url,
 | 
				
			||||||
 | 
					                BufferContent = false
 | 
				
			||||||
 | 
					            });
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        public async Task<MetadataResult<AudioBook>> GetMetadata(SongInfo info, CancellationToken cancellationToken)
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            return new MetadataResult<AudioBook>();
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        public async Task<IEnumerable<RemoteSearchResult>> GetSearchResults(SongInfo searchInfo, CancellationToken cancellationToken)
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            return new List<RemoteSearchResult>();
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
@ -453,6 +453,11 @@ namespace MediaBrowser.Providers.Manager
 | 
				
			|||||||
            return item is TItemType;
 | 
					            return item is TItemType;
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        public bool CanRefreshPrimary(Type type)
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            return type == typeof(TItemType);
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        protected virtual async Task<RefreshResult> RefreshWithProviders(MetadataResult<TItemType> metadata,
 | 
					        protected virtual async Task<RefreshResult> RefreshWithProviders(MetadataResult<TItemType> metadata,
 | 
				
			||||||
            TIdType id,
 | 
					            TIdType id,
 | 
				
			||||||
            MetadataRefreshOptions options,
 | 
					            MetadataRefreshOptions options,
 | 
				
			||||||
 | 
				
			|||||||
@ -118,7 +118,29 @@ namespace MediaBrowser.Providers.Manager
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
        public Task<ItemUpdateType> RefreshSingleItem(IHasMetadata item, MetadataRefreshOptions options, CancellationToken cancellationToken)
 | 
					        public Task<ItemUpdateType> RefreshSingleItem(IHasMetadata item, MetadataRefreshOptions options, CancellationToken cancellationToken)
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            var service = _metadataServices.FirstOrDefault(i => i.CanRefresh(item));
 | 
					            IMetadataService service = null;
 | 
				
			||||||
 | 
					            var type = item.GetType();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            foreach (var current in _metadataServices)
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					                if (current.CanRefreshPrimary(type))
 | 
				
			||||||
 | 
					                {
 | 
				
			||||||
 | 
					                    service = current;
 | 
				
			||||||
 | 
					                    break;
 | 
				
			||||||
 | 
					                }
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            if (service == null)
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					                foreach (var current in _metadataServices)
 | 
				
			||||||
 | 
					                {
 | 
				
			||||||
 | 
					                    if (current.CanRefresh(item))
 | 
				
			||||||
 | 
					                    {
 | 
				
			||||||
 | 
					                        service = current;
 | 
				
			||||||
 | 
					                        break;
 | 
				
			||||||
 | 
					                    }
 | 
				
			||||||
 | 
					                }
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            if (service != null)
 | 
					            if (service != null)
 | 
				
			||||||
            {
 | 
					            {
 | 
				
			||||||
@ -452,6 +474,8 @@ namespace MediaBrowser.Providers.Manager
 | 
				
			|||||||
                GetPluginSummary<MusicAlbum>(),
 | 
					                GetPluginSummary<MusicAlbum>(),
 | 
				
			||||||
                GetPluginSummary<MusicArtist>(),
 | 
					                GetPluginSummary<MusicArtist>(),
 | 
				
			||||||
                GetPluginSummary<Audio>(),
 | 
					                GetPluginSummary<Audio>(),
 | 
				
			||||||
 | 
					                GetPluginSummary<AudioBook>(),
 | 
				
			||||||
 | 
					                GetPluginSummary<AudioPodcast>(),
 | 
				
			||||||
                GetPluginSummary<Genre>(),
 | 
					                GetPluginSummary<Genre>(),
 | 
				
			||||||
                GetPluginSummary<Studio>(),
 | 
					                GetPluginSummary<Studio>(),
 | 
				
			||||||
                GetPluginSummary<GameGenre>(),
 | 
					                GetPluginSummary<GameGenre>(),
 | 
				
			||||||
 | 
				
			|||||||
@ -41,6 +41,7 @@
 | 
				
			|||||||
    <Compile Include="Books\AudioBookMetadataService.cs" />
 | 
					    <Compile Include="Books\AudioBookMetadataService.cs" />
 | 
				
			||||||
    <Compile Include="Books\AudioPodcastMetadataService.cs" />
 | 
					    <Compile Include="Books\AudioPodcastMetadataService.cs" />
 | 
				
			||||||
    <Compile Include="Books\BookMetadataService.cs" />
 | 
					    <Compile Include="Books\BookMetadataService.cs" />
 | 
				
			||||||
 | 
					    <Compile Include="Books\GoogleBooksProvider.cs" />
 | 
				
			||||||
    <Compile Include="BoxSets\BoxSetMetadataService.cs" />
 | 
					    <Compile Include="BoxSets\BoxSetMetadataService.cs" />
 | 
				
			||||||
    <Compile Include="BoxSets\MovieDbBoxSetImageProvider.cs" />
 | 
					    <Compile Include="BoxSets\MovieDbBoxSetImageProvider.cs" />
 | 
				
			||||||
    <Compile Include="BoxSets\MovieDbBoxSetProvider.cs" />
 | 
					    <Compile Include="BoxSets\MovieDbBoxSetProvider.cs" />
 | 
				
			||||||
 | 
				
			|||||||
@ -1,3 +1,3 @@
 | 
				
			|||||||
using System.Reflection;
 | 
					using System.Reflection;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[assembly: AssemblyVersion("3.2.33.3")]
 | 
					[assembly: AssemblyVersion("3.2.33.4")]
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user