gitextract__tqfcrvl/ ├── .gitattributes ├── .gitignore ├── LICENSE.md ├── Preview.md ├── README.md ├── XpoMusic/ │ ├── App.xaml │ ├── App.xaml.cs │ ├── Assets/ │ │ ├── ReauthorizeForV2.html │ │ └── TileTemplates/ │ │ ├── LiveTileAlbumAndArtistArt.xml │ │ ├── LiveTileAlbumArtOnly.xml │ │ └── LiveTileArtistArtOnly.xml │ ├── Classes/ │ │ ├── AppConstants.cs │ │ ├── Cache/ │ │ │ ├── AlbumStore.cs │ │ │ ├── ArtistStore.cs │ │ │ ├── CacheStore.cs │ │ │ ├── GlobalCache.cs │ │ │ ├── PlaylistStore.cs │ │ │ └── SongExtraInfoStore.cs │ │ ├── Converters/ │ │ │ ├── BooleanToVisibilityConverter.cs │ │ │ ├── LanguageToStringConverter.cs │ │ │ ├── LiveTileDesignToStringConverter.cs │ │ │ ├── MillisecondsToMinSecConverter.cs │ │ │ └── ThemeToStringConverter.cs │ │ ├── LocalConfiguration.cs │ │ ├── Model/ │ │ │ ├── AutoPlayAction.cs │ │ │ ├── Language.cs │ │ │ ├── LocalStoragePlayback.cs │ │ │ ├── LyricsViewer/ │ │ │ │ └── CurrentPlayingSongInfo.cs │ │ │ ├── SongExtraInfo.cs │ │ │ ├── Theme.cs │ │ │ └── WebResourceModifications/ │ │ │ ├── WebResourceModificationRule.cs │ │ │ ├── WebResourceModificationRuleType.cs │ │ │ └── WebResourceStringModificationRule.cs │ │ ├── PlayStatusTracker.cs │ │ ├── SemaphoreQueue.cs │ │ └── WebViewController.cs │ ├── Controls/ │ │ ├── FlyoutContainer.xaml │ │ ├── FlyoutContainer.xaml.cs │ │ ├── NowPlayingView.xaml │ │ ├── NowPlayingView.xaml.cs │ │ ├── ProxyConfiguration.xaml │ │ ├── ProxyConfiguration.xaml.cs │ │ ├── SliderExtended.cs │ │ ├── SplashScreen.xaml │ │ ├── SplashScreen.xaml.cs │ │ ├── TopBar.xaml │ │ ├── TopBar.xaml.cs │ │ ├── XpoMusicWebApp.xaml │ │ └── XpoMusicWebApp.xaml.cs │ ├── Flyouts/ │ │ ├── DeveloperMessageFlyout.xaml │ │ ├── DeveloperMessageFlyout.xaml.cs │ │ ├── IFlyout.cs │ │ ├── SettingsFlyout.xaml │ │ ├── SettingsFlyout.xaml.cs │ │ ├── WhatsNewFlyout.xaml │ │ └── WhatsNewFlyout.xaml.cs │ ├── Helpers/ │ │ ├── AnalyticsHelper.cs │ │ ├── AssetManager.cs │ │ ├── ClipboardHelper.cs │ │ ├── CropBitmap.cs │ │ ├── DeveloperMessageHelper.cs │ │ ├── DeviceInfoHelper.cs │ │ ├── ImageSaveHelper.cs │ │ ├── Integration/ │ │ │ └── LyricsViewerIntegrationHelper.cs │ │ ├── JumpListHelper.cs │ │ ├── KeyboardShortcutHelper.cs │ │ ├── LanguageHelper.cs │ │ ├── LiveTileHelper.cs │ │ ├── MediaControlsHelper.cs │ │ ├── PackageHelper.cs │ │ ├── PlaybackActionHelper.cs │ │ ├── ProxyHelper.cs │ │ ├── SongImageProvider.cs │ │ ├── SpotifyShareUriHelper.cs │ │ ├── StoryboardExtensions.cs │ │ ├── StuckResolveHelper.cs │ │ ├── ThemeHelper.cs │ │ ├── TileHelper.cs │ │ ├── ToastHelper.cs │ │ ├── UnauthorizedHelper.cs │ │ ├── WebResourceModificationHelper.cs │ │ └── WhatsNewHelper.cs │ ├── InjectedAssets/ │ │ ├── clearPlaybackLocalStorage.js │ │ ├── clickOnFacebookLogin.js │ │ ├── gridTest.html │ │ └── isLoggedInCheck.js │ ├── NLog.config │ ├── Package.appxmanifest │ ├── Package.debug.appxmanifest │ ├── Pages/ │ │ ├── AboutPage.xaml │ │ ├── AboutPage.xaml.cs │ │ ├── DonatePage.xaml │ │ ├── DonatePage.xaml.cs │ │ ├── HelpPage.xaml │ │ ├── HelpPage.xaml.cs │ │ ├── MainPage.xaml │ │ ├── MainPage.xaml.cs │ │ ├── SettingsPage.xaml │ │ └── SettingsPage.xaml.cs │ ├── Properties/ │ │ ├── AssemblyInfo.cs │ │ └── Default.rd.xml │ ├── Scripts/ │ │ ├── Common/ │ │ │ ├── action.ts │ │ │ ├── browserHistory.ts │ │ │ ├── color.ts │ │ │ ├── dragDrop.ts │ │ │ ├── indeterminateProgressBarHandler.ts │ │ │ ├── initScript-common.ts │ │ │ ├── keyboardShortcutListener.ts │ │ │ ├── mouseWheelListener.ts │ │ │ ├── pageTitleFinder.ts │ │ │ ├── playbackStuckHelper.ts │ │ │ ├── requestIntercepter.ts │ │ │ ├── resize.ts │ │ │ ├── startupAnimation.ts │ │ │ ├── statusReport.ts │ │ │ ├── themedScrollbar.ts │ │ │ ├── tracklistExtended.ts │ │ │ ├── uiElementModifier.ts │ │ │ ├── uiInjector.ts │ │ │ ├── uriHelper.ts │ │ │ └── web-player-backup.ts │ │ ├── DarkTheme/ │ │ │ ├── initScript-dark.ts │ │ │ └── tsconfig.json │ │ ├── Lib/ │ │ │ ├── focus-visible.ts │ │ │ └── vibrant.ts │ │ ├── LightTheme/ │ │ │ ├── initScript-light.ts │ │ │ ├── pageOverlay.ts │ │ │ └── tsconfig.json │ │ └── SpotifyApi/ │ │ ├── apiBase.ts │ │ ├── library.ts │ │ └── player.ts │ ├── SpotifyApi/ │ │ ├── Album.cs │ │ ├── ApiBase.cs │ │ ├── Artist.cs │ │ ├── Authorization.cs │ │ ├── Library.cs │ │ ├── Model/ │ │ │ ├── AlbumSimplified.cs │ │ │ ├── Artist.cs │ │ │ ├── ArtistSimplified.cs │ │ │ ├── CurrentlyPlayingContext.cs │ │ │ ├── Device.cs │ │ │ ├── Devices.cs │ │ │ ├── FollowedArtistsResponse.cs │ │ │ ├── Image.cs │ │ │ ├── Paging.cs │ │ │ ├── Playlist.cs │ │ │ ├── SavedAlbum.cs │ │ │ └── Track.cs │ │ ├── Player.cs │ │ ├── Playlist.cs │ │ └── TokenHelper.cs │ ├── Styles/ │ │ ├── CircleButtonStyle.xaml │ │ ├── MinimalButtonStyle.xaml │ │ ├── TopBarDarkButtonStyle.xaml │ │ └── TopBarLightButtonStyle.xaml │ ├── Stylesheets/ │ │ ├── Common/ │ │ │ ├── Animation/ │ │ │ │ ├── artistPage.scss │ │ │ │ ├── navbarStartup.scss │ │ │ │ ├── nowPlayingStartup.scss │ │ │ │ ├── pageEntrance.scss │ │ │ │ ├── pivotEntrance.scss │ │ │ │ ├── searchPage.scss │ │ │ │ └── tracklistEntrance.scss │ │ │ ├── adsContainer.scss │ │ │ ├── artistPage.scss │ │ │ ├── backButton.scss │ │ │ ├── common.scss │ │ │ ├── contextMenu.scss │ │ │ ├── fontStyle.scss │ │ │ ├── general.scss │ │ │ ├── navBar.scss │ │ │ ├── nowPlayingBar.scss │ │ │ ├── pivotTabStyle.scss │ │ │ ├── searchPage.scss │ │ │ ├── smallWidthWindow.scss │ │ │ ├── themedScrollbar.scss │ │ │ ├── trackList.scss │ │ │ └── windowTitle.scss │ │ ├── DarkTheme/ │ │ │ └── dark.scss │ │ └── LightTheme/ │ │ ├── artistPage.scss │ │ ├── contextMenu.scss │ │ ├── general.scss │ │ ├── light.scss │ │ ├── navBar.scss │ │ ├── nowPlayingBar.scss │ │ ├── pivotTabStyle.scss │ │ ├── podcastEpisodeDetails.scss │ │ ├── progressBar.scss │ │ ├── searchPage.scss │ │ ├── trackList.scss │ │ └── windowTitle.scss │ ├── Themes/ │ │ └── Generic.xaml │ ├── ViewModels/ │ │ ├── MainPageViewModel.cs │ │ ├── NowPlayingViewModel.cs │ │ ├── ProxyConfigurationViewModel.cs │ │ ├── SettingsViewModel.cs │ │ ├── TopBarViewModel.cs │ │ └── ViewModelBase.cs │ ├── XpoMusic.csproj │ ├── XpotifyApi/ │ │ ├── AppConstantsApi.cs │ │ ├── AssetUpdatesApi.cs │ │ ├── DeveloperMessageApi.cs │ │ └── Model/ │ │ ├── AssetPackage.cs │ │ ├── AssetPackageInfo.cs │ │ ├── DeveloperMessage.cs │ │ └── DeveloperMessageCollection.cs │ ├── compilerconfig.json │ └── compilerconfig.json.defaults ├── XpoMusic.sln ├── XpoMusicInstaller/ │ ├── App.config │ ├── App.xaml │ ├── App.xaml.cs │ ├── MainWindow.xaml │ ├── MainWindow.xaml.cs │ ├── Properties/ │ │ ├── AssemblyInfo.cs │ │ ├── Resources.Designer.cs │ │ ├── Resources.resx │ │ ├── Settings.Designer.cs │ │ └── Settings.settings │ ├── Resources/ │ │ └── XpoMusic.cer │ ├── XpoMusicInstaller.csproj │ └── app.manifest └── XpoMusicWebAgent/ ├── Model/ │ ├── ActionRequestedEventArgs.cs │ ├── InitFailedEventArgs.cs │ ├── LogMessageReceivedEventArgs.cs │ ├── NowPlayingData.cs │ ├── ProgressBarCommandEventArgs.cs │ ├── StatusReportReceivedEventArgs.cs │ └── WebAppStatus.cs ├── Properties/ │ └── AssemblyInfo.cs ├── WebAgent.cs └── XpoMusicWebAgent.csproj