gitextract_n8jd1_7_/ ├── .config/ │ └── dotnet-tools.json ├── .github/ │ ├── ISSUE_TEMPLATE/ │ │ ├── bug.yml │ │ └── features.yml │ └── workflows/ │ ├── changelog.jq │ ├── git-log-json.mjs │ ├── release-daily.yml │ ├── release.yml │ └── release_draft.jq ├── .gitignore ├── .vscode/ │ ├── extensions.json │ └── settings.json ├── LICENSE ├── README.md ├── Shokofin/ │ ├── API/ │ │ ├── Converters/ │ │ │ └── JsonAutoStringConverter.cs │ │ ├── IdPrefix.cs │ │ ├── Info/ │ │ │ ├── AniDB/ │ │ │ │ ├── AnidbAnimeInfo.cs │ │ │ │ └── AnidbEpisodeInfo.cs │ │ │ ├── CollectionInfo.cs │ │ │ ├── EpisodeInfo.cs │ │ │ ├── FileInfo.cs │ │ │ ├── IBaseItemInfo.cs │ │ │ ├── IExtendedItemInfo.cs │ │ │ ├── SeasonInfo.cs │ │ │ ├── Shoko/ │ │ │ │ ├── ShokoEpisodeInfo.cs │ │ │ │ └── ShokoSeriesInfo.cs │ │ │ ├── ShowInfo.cs │ │ │ └── TMDB/ │ │ │ ├── TmdbEpisodeInfo.cs │ │ │ ├── TmdbMovieInfo.cs │ │ │ ├── TmdbSeasonInfo.cs │ │ │ └── TmdbShowInfo.cs │ │ ├── Models/ │ │ │ ├── AniDB/ │ │ │ │ ├── AnidbAnime.cs │ │ │ │ └── AnidbEpisode.cs │ │ │ ├── ApiException.cs │ │ │ ├── ApiKey.cs │ │ │ ├── ComponentVersion.cs │ │ │ ├── ContentRating.cs │ │ │ ├── CrossReference.cs │ │ │ ├── EpisodeType.cs │ │ │ ├── File.cs │ │ │ ├── IDs.cs │ │ │ ├── Image.cs │ │ │ ├── Images.cs │ │ │ ├── ListResult.cs │ │ │ ├── ManagedFolder.cs │ │ │ ├── Rating.cs │ │ │ ├── Relation.cs │ │ │ ├── ReleaseGroup.cs │ │ │ ├── ReleaseInfo.cs │ │ │ ├── ReleaseSource.cs │ │ │ ├── Role.cs │ │ │ ├── SeriesType.cs │ │ │ ├── Shoko/ │ │ │ │ ├── ShokoEpisode.cs │ │ │ │ ├── ShokoGroup.cs │ │ │ │ └── ShokoSeries.cs │ │ │ ├── Studio.cs │ │ │ ├── TMDB/ │ │ │ │ ├── AlternateOrderingType.cs │ │ │ │ ├── ITmdbEntity.cs │ │ │ │ ├── ITmdbParentEntity.cs │ │ │ │ ├── TmdbEpisode.cs │ │ │ │ ├── TmdbEpisodeCrossReference.cs │ │ │ │ ├── TmdbMovie.cs │ │ │ │ ├── TmdbMovieCollection.cs │ │ │ │ ├── TmdbMovieCrossReference.cs │ │ │ │ ├── TmdbSeason.cs │ │ │ │ └── TmdbShow.cs │ │ │ ├── Tag.cs │ │ │ ├── Text.cs │ │ │ ├── Title.cs │ │ │ ├── TitleType.cs │ │ │ ├── YearlySeason.cs │ │ │ └── YearlySeasonName.cs │ │ ├── ShokoApiClient.cs │ │ ├── ShokoApiManager.cs │ │ └── ShokoIdLookup.cs │ ├── Collections/ │ │ └── CollectionManager.cs │ ├── Configuration/ │ │ ├── AllDescriptionsConfiguration.cs │ │ ├── AllImagesConfiguration.cs │ │ ├── AllTitlesConfiguration.cs │ │ ├── DebugConfiguration.cs │ │ ├── DescriptionConfiguration.cs │ │ ├── Enums/ │ │ │ ├── ImageLanguageType.cs │ │ │ ├── MetadataRefreshField.cs │ │ │ ├── SeasonMergingBehavior.cs │ │ │ ├── SeriesEpisodeConversion.cs │ │ │ ├── SeriesStructureType.cs │ │ │ └── VirtualRootLocation.cs │ │ ├── ImageConfiguration.cs │ │ ├── LegacyMediaFolderConfiguration.cs │ │ ├── LibraryConfiguration.cs │ │ ├── MediaFolderConfiguration.cs │ │ ├── MetadataRefreshConfiguration.cs │ │ ├── Models/ │ │ │ ├── LibraryConfigurationChangedEventArgs.cs │ │ │ └── MediaFolderConfigurationChangedEventArgs.cs │ │ ├── PluginConfiguration.cs │ │ ├── SeriesConfiguration.cs │ │ ├── Services/ │ │ │ ├── MediaFolderConfigurationService.cs │ │ │ └── SeriesConfigurationService.cs │ │ ├── TitleConfiguration.cs │ │ ├── TitlesConfiguration.cs │ │ └── UserConfiguration.cs │ ├── Events/ │ │ ├── EventDispatchService.cs │ │ ├── Interfaces/ │ │ │ ├── IFileEventArgs.cs │ │ │ ├── IFileRelocationEventArgs.cs │ │ │ ├── IMetadataUpdatedEventArgs.cs │ │ │ ├── IReleaseSavedEventArgs.cs │ │ │ ├── ProviderName.cs │ │ │ └── UpdateReason.cs │ │ ├── MetadataRefreshService.cs │ │ └── Stub/ │ │ └── FileEventArgsStub.cs │ ├── Extensions/ │ │ ├── CollectionTypeExtensions.cs │ │ ├── EnumerableExtensions.cs │ │ ├── EpisodeTypeExtensions.cs │ │ ├── ListExtensions.cs │ │ ├── MediaFolderConfigurationExtensions.cs │ │ ├── StringExtensions.cs │ │ └── SyncExtensions.cs │ ├── ExternalIds/ │ │ ├── AnidbAnimeId.cs │ │ ├── AnidbCreatorId.cs │ │ ├── AnidbEpisodeId.cs │ │ ├── ProviderNames.cs │ │ ├── ProviderUrls.cs │ │ ├── ShokoExternalUrlHandler.cs │ │ └── ShokoInternalId.cs │ ├── MergeVersions/ │ │ ├── MergeVersionManager.cs │ │ └── MergeVersionSortSelector.cs │ ├── Pages/ │ │ ├── Dummy.html │ │ ├── Scripts/ │ │ │ ├── Common.js │ │ │ ├── Dummy.js │ │ │ ├── Settings.js │ │ │ └── jsconfig.json │ │ └── Settings.html │ ├── Plugin.cs │ ├── PluginServiceRegistrator.cs │ ├── Providers/ │ │ ├── BoxSetProvider.cs │ │ ├── CustomBoxSetProvider.cs │ │ ├── CustomEpisodeProvider.cs │ │ ├── CustomMovieProvider.cs │ │ ├── CustomSeasonProvider.cs │ │ ├── CustomSeriesProvider.cs │ │ ├── EpisodeProvider.cs │ │ ├── ImageProvider.cs │ │ ├── MovieProvider.cs │ │ ├── SeasonProvider.cs │ │ ├── SeriesProvider.cs │ │ ├── TrailerProvider.cs │ │ └── VideoProvider.cs │ ├── Resolvers/ │ │ ├── Models/ │ │ │ ├── LinkGenerationResult.cs │ │ │ └── ShokoWatcher.cs │ │ ├── ShokoIgnoreRule.cs │ │ ├── ShokoLibraryMonitor.cs │ │ ├── ShokoResolver.cs │ │ └── VirtualFileSystemService.cs │ ├── Shokofin.csproj │ ├── SignalR/ │ │ ├── Models/ │ │ │ ├── EpisodeInfoUpdatedEventArgs.cs │ │ │ ├── FileEventArgs.cs │ │ │ ├── FileMovedEventArgs.cs │ │ │ ├── FileRenamedEventArgs.cs │ │ │ ├── MovieInfoUpdatedEventArgs.cs │ │ │ ├── ReleaseSavedEventArgs.cs │ │ │ └── SeriesInfoUpdatedEventArgs.cs │ │ ├── SignalRConnectionManager.cs │ │ ├── SignalREntryPoint.cs │ │ └── SignalRRetryPolicy.cs │ ├── Sync/ │ │ ├── SyncDirection.cs │ │ └── UserDataSyncManager.cs │ ├── Tasks/ │ │ ├── AutoRefreshMetadataTask.cs │ │ ├── CleanupVirtualRootTask.cs │ │ ├── ClearPluginCacheTask.cs │ │ ├── ExportUserDataTask.cs │ │ ├── ImportUserDataTask.cs │ │ ├── MergeEpisodesTask.cs │ │ ├── MergeMoviesTask.cs │ │ ├── PostScanTask.cs │ │ ├── ReconstructCollectionsTask.cs │ │ ├── SplitEpisodesTask.cs │ │ ├── SplitMoviesTask.cs │ │ ├── SyncUserDataTask.cs │ │ └── VersionCheckTask.cs │ ├── Utils/ │ │ ├── ContentRating.cs │ │ ├── DisposableAction.cs │ │ ├── GuardedMemoryCache.cs │ │ ├── IgnorePatterns.cs │ │ ├── ImageUtility.cs │ │ ├── LibraryScanWatcher.cs │ │ ├── Ordering.cs │ │ ├── PropertyWatcher.cs │ │ ├── SeriesInfoRelationComparer.cs │ │ ├── TagFilter.cs │ │ ├── TextUtility.cs │ │ └── UsageTracker.cs │ └── Web/ │ ├── ImageHostUrl.cs │ ├── Models/ │ │ ├── SimpleSeries.cs │ │ └── VfsLibraryPreview.cs │ ├── ShokofinHostController.cs │ ├── ShokofinSignalRController.cs │ ├── ShokofinUtilityController.cs │ └── VfsActionFilter.cs ├── Shokofin.sln ├── build.yaml ├── build_plugin.py └── manifest.json