diff --git a/README.md b/README.md index 569305a..404346a 100644 --- a/README.md +++ b/README.md @@ -24,6 +24,8 @@ inspired by [NewPipe](https://github.com/TeamNewPipe/NewPipeExtractor). - [X] **Artist** - [X] **Search** - [ ] **Search suggestions** +- [ ] **Radio** +- [ ] **Track details** - [ ] **Moods** - [ ] **Charts** - [ ] **New** diff --git a/codegen/src/download_testfiles.rs b/codegen/src/download_testfiles.rs index 4fff3f6..c618342 100644 --- a/codegen/src/download_testfiles.rs +++ b/codegen/src/download_testfiles.rs @@ -49,7 +49,9 @@ pub async fn download_testfiles(project_root: &Path) { music_search_playlists(&testfiles).await; music_search_cont(&testfiles).await; music_artist(&testfiles).await; + music_details(&testfiles).await; music_radio(&testfiles).await; + music_radio_cont(&testfiles).await; } const CLIENT_TYPES: [ClientType; 5] = [ @@ -700,8 +702,8 @@ async fn music_artist(testfiles: &Path) { } } -async fn music_radio(testfiles: &Path) { - for (name, id) in [("mv", "RDAMVMZeerrnuLi5E"), ("track", "RDAMVM7nigXQS1Xb0")] { +async fn music_details(testfiles: &Path) { + for (name, id) in [("mv", "ZeerrnuLi5E"), ("track", "7nigXQS1Xb0")] { let mut json_path = testfiles.to_path_buf(); json_path.push("music_details"); json_path.push(format!("details_{}.json", name)); @@ -709,7 +711,36 @@ async fn music_radio(testfiles: &Path) { continue; } + let rp = rp_testfile(&json_path); + rp.query().music_details(id).await.unwrap(); + } +} + +async fn music_radio(testfiles: &Path) { + for (name, id) in [("mv", "RDAMVMZeerrnuLi5E"), ("track", "RDAMVM7nigXQS1Xb0")] { + let mut json_path = testfiles.to_path_buf(); + json_path.push("music_details"); + json_path.push(format!("radio_{}.json", name)); + if json_path.exists() { + continue; + } + let rp = rp_testfile(&json_path); rp.query().music_radio(id).await.unwrap(); } } + +async fn music_radio_cont(testfiles: &Path) { + let mut json_path = testfiles.to_path_buf(); + json_path.push("music_details"); + json_path.push("radio_cont.json"); + if json_path.exists() { + return; + } + + let rp = RustyPipe::new(); + let res = rp.query().music_radio("RDAMVM7nigXQS1Xb0").await.unwrap(); + + let rp = rp_testfile(&json_path); + res.next(&rp.query()).await.unwrap().unwrap(); +} diff --git a/notes/radios.txt b/notes/radios.txt deleted file mode 100644 index aead935..0000000 --- a/notes/radios.txt +++ /dev/null @@ -1,9 +0,0 @@ -Track radio: RDAMVM + video id -Example: RDAMVMZeerrnuLi5E - -Artist radio: RDEMieiteXw81tMLBdKv8qkChg -ID has to be extracted from artist page - -Playlist/album radio: RDAMPL + playlist id - -Genre radio: RDQM1xqCV6EdPUw diff --git a/notes/video_ids.txt b/notes/video_ids.txt index 71df147..97d45e0 100644 --- a/notes/video_ids.txt +++ b/notes/video_ids.txt @@ -70,3 +70,9 @@ Single: MPREb_bHfHGoy7vuv EP: MPREb_u1I69lSAe5v Audiobook: MPREb_gaoNzsQHedo Show: MPREb_cwzk8EUwypZ + +# Radios +Track radio (Autoplay): RDAMVM + video id, example: RDAMVMZeerrnuLi5E +Artist radio: RDEMieiteXw81tMLBdKv8qkChg (ID from artist page) +Playlist/album radio: RDAMPL + playlist id +Genre radio: RDQM1xqCV6EdPUw diff --git a/src/client/music_details.rs b/src/client/music_details.rs index 014441e..e30e9e7 100644 --- a/src/client/music_details.rs +++ b/src/client/music_details.rs @@ -1,18 +1,22 @@ +use std::borrow::Cow; + use serde::Serialize; use crate::{ error::{Error, ExtractionError}, - model::MusicDetails, + model::{Paginator, TrackDetails, TrackItem}, param::Language, serializer::MapResult, }; -use super::{response, ClientType, MapResponse, RustyPipeQuery, YTContext}; +use super::{ + response::{self, music_item::map_queue_item}, + ClientType, MapResponse, RustyPipeQuery, YTContext, +}; #[derive(Debug, Serialize)] struct QMusicDetails<'a> { context: YTContext<'a>, - // YouTube video ID video_id: &'a str, enable_persistent_playlist_panel: bool, is_audio_only: bool, @@ -30,7 +34,27 @@ struct QRadio<'a> { } impl RustyPipeQuery { - pub async fn music_radio(&self, radio_id: &str) -> Result { + pub async fn music_details(&self, video_id: &str) -> Result { + let context = self.get_context(ClientType::DesktopMusic, true, None).await; + let request_body = QMusicDetails { + context, + video_id, + enable_persistent_playlist_panel: true, + is_audio_only: true, + tuner_setting_value: "AUTOMIX_SETTING_NORMAL", + }; + + self.execute_request::( + ClientType::DesktopMusic, + "music_details", + video_id, + "next", + &request_body, + ) + .await + } + + pub async fn music_radio(&self, radio_id: &str) -> Result, Error> { let context = self.get_context(ClientType::DesktopMusic, true, None).await; let request_body = QRadio { context, @@ -50,20 +74,194 @@ impl RustyPipeQuery { ) .await } + + pub async fn music_radio_track(&self, video_id: &str) -> Result, Error> { + self.music_radio(&format!("RDAMVM{}", video_id)).await + } + + pub async fn music_radio_playlist( + &self, + playlist_id: &str, + ) -> Result, Error> { + self.music_radio(&format!("RDAMPL{}", playlist_id)).await + } } -impl MapResponse for response::MusicDetails { +impl MapResponse for response::MusicDetails { fn map_response( self, id: &str, lang: Language, _deobf: Option<&crate::deobfuscate::Deobfuscator>, - ) -> Result, ExtractionError> { - dbg!(&self); + ) -> Result, ExtractionError> { + let tabs = self + .contents + .single_column_music_watch_next_results_renderer + .tabbed_renderer + .watch_next_tabbed_results_renderer + .tabs; + + let mut content = None; + let mut lyrics_id = None; + let mut related_id = None; + + for t in tabs { + match (t.tab_renderer.content, t.tab_renderer.endpoint) { + (Some(tc), _) => { + content = Some(tc.music_queue_renderer.content.playlist_panel_renderer); + } + (_, Some(endpoint)) => { + match endpoint + .browse_endpoint + .browse_endpoint_context_supported_configs + .browse_endpoint_context_music_config + .page_type + { + response::music_details::TabType::Lyrics => { + lyrics_id = Some(endpoint.browse_endpoint.browse_id); + } + response::music_details::TabType::Related => { + related_id = Some(endpoint.browse_endpoint.browse_id); + } + } + } + (None, None) => {} + } + } + + let content = content.ok_or(ExtractionError::InvalidData(Cow::Borrowed("no content")))?; + let track_item = content + .contents + .c + .into_iter() + .find_map(|item| match item { + response::music_item::PlaylistPanelVideo::PlaylistPanelVideoRenderer(track) => { + Some(track) + } + response::music_item::PlaylistPanelVideo::None => None, + }) + .ok_or(ExtractionError::InvalidData(Cow::Borrowed("no video item")))?; + let track = map_queue_item(track_item, lang); + + if track.id != id { + return Err(ExtractionError::WrongResult(format!( + "got wrong video id {}, expected {}", + track.id, id + ))); + } Ok(MapResult { - c: MusicDetails {}, - warnings: Vec::new(), + c: TrackDetails { + track, + lyrics_id, + related_id, + }, + warnings: content.contents.warnings, }) } } + +impl MapResponse> for response::MusicDetails { + fn map_response( + self, + _id: &str, + lang: Language, + _deobf: Option<&crate::deobfuscate::Deobfuscator>, + ) -> Result>, ExtractionError> { + let tabs = self + .contents + .single_column_music_watch_next_results_renderer + .tabbed_renderer + .watch_next_tabbed_results_renderer + .tabs; + + let content = tabs + .into_iter() + .find_map(|t| t.tab_renderer.content) + .ok_or(ExtractionError::InvalidData(Cow::Borrowed("no content")))? + .music_queue_renderer + .content + .playlist_panel_renderer; + + let tracks = content + .contents + .c + .into_iter() + .filter_map(|item| match item { + response::music_item::PlaylistPanelVideo::PlaylistPanelVideoRenderer(item) => { + Some(map_queue_item(item, lang)) + } + response::music_item::PlaylistPanelVideo::None => None, + }) + .collect::>(); + + let ctoken = content + .continuations + .into_iter() + .next() + .map(|c| c.next_continuation_data.continuation); + + Ok(MapResult { + c: Paginator::new_ext( + None, + tracks, + ctoken, + None, + crate::param::ContinuationEndpoint::MusicNext, + ), + warnings: content.contents.warnings, + }) + } +} + +#[cfg(test)] +mod tests { + use std::{fs::File, io::BufReader, path::Path}; + + use rstest::rstest; + + use super::*; + use crate::{model, param::Language}; + + #[rstest] + #[case::mv("mv", "ZeerrnuLi5E")] + #[case::track("track", "7nigXQS1Xb0")] + fn map_music_details(#[case] name: &str, #[case] id: &str) { + let filename = format!("testfiles/music_details/details_{}.json", name); + let json_path = Path::new(&filename); + let json_file = File::open(json_path).unwrap(); + + let details: response::MusicDetails = + serde_json::from_reader(BufReader::new(json_file)).unwrap(); + let map_res: MapResult = + details.map_response(id, Language::En, None).unwrap(); + + assert!( + map_res.warnings.is_empty(), + "deserialization/mapping warnings: {:?}", + map_res.warnings + ); + insta::assert_ron_snapshot!(format!("map_music_details_{}", name), map_res.c); + } + + #[rstest] + #[case::mv("mv", "RDAMVMZeerrnuLi5E")] + #[case::track("track", "RDAMVM7nigXQS1Xb0")] + fn map_music_radio(#[case] name: &str, #[case] id: &str) { + let filename = format!("testfiles/music_details/radio_{}.json", name); + let json_path = Path::new(&filename); + let json_file = File::open(json_path).unwrap(); + + let radio: response::MusicDetails = + serde_json::from_reader(BufReader::new(json_file)).unwrap(); + let map_res: MapResult> = + radio.map_response(id, Language::En, None).unwrap(); + + assert!( + map_res.warnings.is_empty(), + "deserialization/mapping warnings: {:?}", + map_res.warnings + ); + insta::assert_ron_snapshot!(format!("map_music_radio_{}", name), map_res.c); + } +} diff --git a/src/client/pagination.rs b/src/client/pagination.rs index 47e58ee..69f3251 100644 --- a/src/client/pagination.rs +++ b/src/client/pagination.rs @@ -6,7 +6,7 @@ use crate::param::ContinuationEndpoint; use crate::serializer::MapResult; use crate::util::TryRemove; -use super::response::music_item::MusicListMapper; +use super::response::music_item::{map_queue_item, MusicListMapper, PlaylistPanelVideo}; use super::{response, ClientType, MapResponse, QContinuation, RustyPipeQuery}; impl RustyPipeQuery { @@ -152,6 +152,15 @@ impl MapResponse> for response::MusicContinuation { } } } + response::music_item::ContinuationContents::PlaylistPanelContinuation(mut panel) => { + continuations.append(&mut panel.continuations); + mapper.add_warnings(&mut panel.contents.warnings); + panel.contents.c.into_iter().for_each(|item| { + if let PlaylistPanelVideo::PlaylistPanelVideoRenderer(item) = item { + mapper.add_item(MusicItem::Track(map_queue_item(item, lang))) + } + }); + } } let map_res = mapper.items(); @@ -355,6 +364,7 @@ mod tests { #[rstest] #[case("playlist_tracks", "music_playlist/playlist_cont")] #[case("search_tracks", "music_search/tracks_cont")] + #[case("radio_tracks", "music_details/radio_cont")] fn map_continuation_tracks(#[case] name: &str, #[case] path: &str) { let filename = format!("testfiles/{}.json", path); let json_path = Path::new(&filename); diff --git a/src/client/response/mod.rs b/src/client/response/mod.rs index 26d3e0a..5a09fcb 100644 --- a/src/client/response/mod.rs +++ b/src/client/response/mod.rs @@ -213,6 +213,7 @@ pub(crate) struct RichGridContinuation { #[derive(Debug, Deserialize)] #[serde(rename_all = "camelCase")] pub(crate) struct MusicContinuationData { + #[serde(alias = "nextRadioContinuationData")] pub next_continuation_data: MusicContinuationDataInner, } diff --git a/src/client/response/music_details.rs b/src/client/response/music_details.rs index be9969f..3cd24d9 100644 --- a/src/client/response/music_details.rs +++ b/src/client/response/music_details.rs @@ -1,6 +1,93 @@ use serde::Deserialize; +use super::{music_item::PlaylistPanelRenderer, ContentRenderer}; + /// Response model for YouTube Music track details #[derive(Debug, Deserialize)] #[serde(rename_all = "camelCase")] -pub(crate) struct MusicDetails {} +pub(crate) struct MusicDetails { + pub contents: Contents, +} + +#[derive(Debug, Deserialize)] +#[serde(rename_all = "camelCase")] +pub(crate) struct Contents { + pub single_column_music_watch_next_results_renderer: WatchNextResultsRenderer, +} + +#[derive(Debug, Deserialize)] +#[serde(rename_all = "camelCase")] +pub(crate) struct WatchNextResultsRenderer { + pub tabbed_renderer: TabbedRenderer, +} + +#[derive(Debug, Deserialize)] +#[serde(rename_all = "camelCase")] +pub(crate) struct TabbedRenderer { + pub watch_next_tabbed_results_renderer: TabbedRendererInner, +} + +#[derive(Debug, Deserialize)] +#[serde(rename_all = "camelCase")] +pub(crate) struct TabbedRendererInner { + pub tabs: Vec, +} + +#[derive(Debug, Deserialize)] +#[serde(rename_all = "camelCase")] +pub(crate) struct Tab { + pub tab_renderer: TabRenderer, +} + +/// Watch next tab +#[derive(Debug, Deserialize)] +#[serde(rename_all = "camelCase")] +pub(crate) struct TabRenderer { + pub content: Option, + pub endpoint: Option, +} + +#[derive(Debug, Deserialize)] +#[serde(rename_all = "camelCase")] +pub(crate) struct TabEndpoint { + pub browse_endpoint: TabBrowseEndpoint, +} + +#[derive(Debug, Deserialize)] +#[serde(rename_all = "camelCase")] +pub(crate) struct TabBrowseEndpoint { + pub browse_id: String, + pub browse_endpoint_context_supported_configs: TabBrowseEndpointSupportedConfigs, +} + +#[derive(Debug, Deserialize)] +#[serde(rename_all = "camelCase")] +pub(crate) struct TabBrowseEndpointSupportedConfigs { + pub browse_endpoint_context_music_config: TabBrowseEndpointMusicConfig, +} + +#[derive(Debug, Deserialize)] +#[serde(rename_all = "camelCase")] +pub(crate) struct TabBrowseEndpointMusicConfig { + pub page_type: TabType, +} + +#[derive(Debug, Deserialize)] +pub(crate) enum TabType { + #[serde(rename = "MUSIC_PAGE_TYPE_TRACK_LYRICS")] + Lyrics, + #[serde(rename = "MUSIC_PAGE_TYPE_TRACK_RELATED")] + Related, +} + +#[derive(Debug, Deserialize)] +#[serde(rename_all = "camelCase")] +pub(crate) struct TabContent { + pub music_queue_renderer: ContentRenderer, +} + +#[derive(Debug, Deserialize)] +#[serde(rename_all = "camelCase")] +pub(crate) struct PlaylistPanel { + pub playlist_panel_renderer: PlaylistPanelRenderer, +} diff --git a/src/client/response/music_item.rs b/src/client/response/music_item.rs index d552771..4e8ceb1 100644 --- a/src/client/response/music_item.rs +++ b/src/client/response/music_item.rs @@ -17,7 +17,7 @@ use crate::{ use super::{ url_endpoint::{BrowseEndpointWrap, NavigationEndpoint, PageType}, - ContentsRenderer, MusicContinuationData, ThumbnailsWrap, + ContentsRenderer, MusicContinuationData, Thumbnails, ThumbnailsWrap, }; #[serde_as] @@ -176,6 +176,48 @@ pub(crate) struct CoverMusicItem { pub navigation_endpoint: NavigationEndpoint, } +#[serde_as] +#[derive(Debug, Deserialize)] +#[serde(rename_all = "camelCase")] +pub(crate) struct PlaylistPanelRenderer { + #[serde_as(as = "VecLogError<_>")] + pub contents: MapResult>, + /// Continuation token for fetching more radio items + #[serde(default)] + #[serde_as(as = "VecSkipError<_>")] + pub continuations: Vec, +} + +#[derive(Debug, Deserialize)] +#[serde(rename_all = "camelCase")] +pub(crate) enum PlaylistPanelVideo { + PlaylistPanelVideoRenderer(QueueMusicItem), + #[serde(other, deserialize_with = "ignore_any")] + None, +} + +/// Music item from a playback queue (`playlistPanelVideoRenderer`) +#[serde_as] +#[derive(Debug, Deserialize)] +#[serde(rename_all = "camelCase")] +pub(crate) struct QueueMusicItem { + pub video_id: String, + #[serde_as(as = "Text")] + pub title: String, + #[serde_as(as = "Option")] + pub length_text: Option, + /// Artist + Album + Year (for tracks) + /// `<"IVE">, " • ", <"LOVE DIVE (LOVE DIVE)">, " • ", "2022"` + /// + /// Artist + view count + like count (for videos) + /// `<"aespa">, " • ", "250M views", " • ", "3.6M likes"` + #[serde(default)] + pub long_byline_text: TextComponents, + #[serde(default)] + pub thumbnail: Thumbnails, + pub menu: Option, +} + #[derive(Default, Debug, Deserialize)] #[serde(rename_all = "camelCase")] pub(crate) struct MusicThumbnailRenderer { @@ -236,10 +278,12 @@ pub(crate) struct MusicContinuation { #[derive(Debug, Deserialize)] #[serde(rename_all = "camelCase")] +#[allow(clippy::enum_variant_names)] pub(crate) enum ContinuationContents { #[serde(alias = "musicPlaylistShelfContinuation")] MusicShelfContinuation(MusicShelf), SectionListContinuation(ContentsRenderer), + PlaylistPanelContinuation(PlaylistPanelRenderer), } #[derive(Debug, Deserialize)] @@ -712,6 +756,14 @@ impl MusicListMapper { etype } + pub fn add_item(&mut self, item: MusicItem) { + self.items.push(item); + } + + pub fn add_warnings(&mut self, warnings: &mut Vec) { + self.warnings.append(warnings); + } + pub fn items(self) -> MapResult> { MapResult { c: self.items, @@ -783,7 +835,7 @@ pub(crate) fn map_artists(artists_p: Option) -> (Vec, (artists, by_va) } -fn map_artist_id( +pub(crate) fn map_artist_id( menu: Option, fallback_artist: Option<&ArtistId>, ) -> Option { @@ -816,6 +868,49 @@ pub(crate) fn map_album_type(txt: &str, lang: Language) -> AlbumType { .unwrap_or_default() } +pub(crate) fn map_queue_item(item: QueueMusicItem, lang: Language) -> TrackItem { + let mut subtitle_parts = item.long_byline_text.split(util::DOT_SEPARATOR).into_iter(); + + let is_video = !item + .thumbnail + .thumbnails + .first() + .map(|tn| tn.height == tn.width) + .unwrap_or_default(); + + let artist_p = subtitle_parts.next(); + let (artists, _) = map_artists(artist_p); + let artist_id = map_artist_id(item.menu, artists.first()); + + let subtitle_p2 = subtitle_parts.next(); + let (album, view_count) = if is_video { + ( + None, + subtitle_p2.and_then(|p| util::parse_large_numstr(p.first_str(), lang)), + ) + } else { + ( + subtitle_p2.and_then(|p| p.0.into_iter().find_map(|c| AlbumId::try_from(c).ok())), + None, + ) + }; + + TrackItem { + id: item.video_id, + title: item.title, + duration: item + .length_text + .and_then(|txt| util::parse_video_length(&txt)), + cover: item.thumbnail.into(), + artists, + artist_id, + album, + view_count, + is_video, + track_nr: None, + } +} + #[cfg(test)] mod tests { use std::{collections::BTreeMap, fs::File, io::BufReader, path::Path}; diff --git a/src/client/snapshots/rustypipe__client__music_details__tests__map_music_details_mv.snap b/src/client/snapshots/rustypipe__client__music_details__tests__map_music_details_mv.snap new file mode 100644 index 0000000..91dc4dd --- /dev/null +++ b/src/client/snapshots/rustypipe__client__music_details__tests__map_music_details_mv.snap @@ -0,0 +1,41 @@ +--- +source: src/client/music_details.rs +expression: map_res.c +--- +TrackDetails( + track: TrackItem( + id: "ZeerrnuLi5E", + title: "Black Mamba", + duration: Some(230), + cover: [ + Thumbnail( + url: "https://i.ytimg.com/vi/ZeerrnuLi5E/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3maNxpYzTFmXZBd8s1w1iE6rTBDaw", + width: 400, + height: 225, + ), + Thumbnail( + url: "https://i.ytimg.com/vi/ZeerrnuLi5E/hq720.jpg?sqp=-oaymwEXCKAGEMIDIAQqCwjVARCqCBh4INgESFo&rs=AMzJL3k5q17nduJ8-t3h9_obEVMVi8Cz3A", + width: 800, + height: 450, + ), + Thumbnail( + url: "https://i.ytimg.com/vi/ZeerrnuLi5E/hq720.jpg?sqp=-oaymwEXCNUGEOADIAQqCwjVARCqCBh4INgESFo&rs=AMzJL3k7CsaxHObhW1JXPtGyKE1fgSGZ3Q", + width: 853, + height: 480, + ), + ], + artists: [ + ArtistId( + id: Some("UCEdZAdnnKqbaHOlv8nM6OtA"), + name: "aespa", + ), + ], + artist_id: Some("UCEdZAdnnKqbaHOlv8nM6OtA"), + album: None, + view_count: Some(235000000), + is_video: true, + track_nr: None, + ), + lyrics_id: Some("MPLYt_wrKjTn9hmry"), + related_id: Some("MPTRt_wrKjTn9hmry"), +) diff --git a/src/client/snapshots/rustypipe__client__music_details__tests__map_music_details_track.snap b/src/client/snapshots/rustypipe__client__music_details__tests__map_music_details_track.snap new file mode 100644 index 0000000..5e44e43 --- /dev/null +++ b/src/client/snapshots/rustypipe__client__music_details__tests__map_music_details_track.snap @@ -0,0 +1,59 @@ +--- +source: src/client/music_details.rs +expression: map_res.c +--- +TrackDetails( + track: TrackItem( + id: "7nigXQS1Xb0", + title: "INVU", + duration: Some(205), + cover: [ + Thumbnail( + url: "https://lh3.googleusercontent.com/2a1Lr46_ibhVNX5tZK_PnsmKFpB1ptZ9eUqtlcCXTRSxAcOLC7HpAO0pqyFJTttUPHAiYpqkTH251DIQ9A=w60-h60-l90-rj", + width: 60, + height: 60, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/2a1Lr46_ibhVNX5tZK_PnsmKFpB1ptZ9eUqtlcCXTRSxAcOLC7HpAO0pqyFJTttUPHAiYpqkTH251DIQ9A=w120-h120-l90-rj", + width: 120, + height: 120, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/2a1Lr46_ibhVNX5tZK_PnsmKFpB1ptZ9eUqtlcCXTRSxAcOLC7HpAO0pqyFJTttUPHAiYpqkTH251DIQ9A=w180-h180-l90-rj", + width: 180, + height: 180, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/2a1Lr46_ibhVNX5tZK_PnsmKFpB1ptZ9eUqtlcCXTRSxAcOLC7HpAO0pqyFJTttUPHAiYpqkTH251DIQ9A=w226-h226-l90-rj", + width: 226, + height: 226, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/2a1Lr46_ibhVNX5tZK_PnsmKFpB1ptZ9eUqtlcCXTRSxAcOLC7HpAO0pqyFJTttUPHAiYpqkTH251DIQ9A=w302-h302-l90-rj", + width: 302, + height: 302, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/2a1Lr46_ibhVNX5tZK_PnsmKFpB1ptZ9eUqtlcCXTRSxAcOLC7HpAO0pqyFJTttUPHAiYpqkTH251DIQ9A=w544-h544-l90-rj", + width: 544, + height: 544, + ), + ], + artists: [ + ArtistId( + id: Some("UCwzCuKxyMY_sT7hr1E8G1XA"), + name: "TAEYEON", + ), + ], + artist_id: Some("UCwzCuKxyMY_sT7hr1E8G1XA"), + album: Some(AlbumId( + id: "MPREb_4xbv14CiQJm", + name: "INVU - The 3rd Album", + )), + view_count: None, + is_video: false, + track_nr: None, + ), + lyrics_id: Some("MPLYt_4xbv14CiQJm-1"), + related_id: Some("MPTRt_4xbv14CiQJm-1"), +) diff --git a/src/client/snapshots/rustypipe__client__music_details__tests__map_music_radio_mv.snap b/src/client/snapshots/rustypipe__client__music_details__tests__map_music_radio_mv.snap new file mode 100644 index 0000000..4ceb67e --- /dev/null +++ b/src/client/snapshots/rustypipe__client__music_details__tests__map_music_radio_mv.snap @@ -0,0 +1,826 @@ +--- +source: src/client/music_details.rs +expression: map_res.c +--- +Paginator( + count: None, + items: [ + TrackItem( + id: "4TWR90KJl84", + title: "Next Level", + duration: Some(236), + cover: [ + Thumbnail( + url: "https://i.ytimg.com/vi/4TWR90KJl84/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kl3LTK647n1QMNk2ltojkKT5jR8w", + width: 400, + height: 225, + ), + Thumbnail( + url: "https://i.ytimg.com/vi/4TWR90KJl84/hq720.jpg?sqp=-oaymwEXCKAGEMIDIAQqCwjVARCqCBh4INgESFo&rs=AMzJL3lCHWpapuNMHxDRnGHl_AKqq73fAw", + width: 800, + height: 450, + ), + Thumbnail( + url: "https://i.ytimg.com/vi/4TWR90KJl84/hq720.jpg?sqp=-oaymwEXCNUGEOADIAQqCwjVARCqCBh4INgESFo&rs=AMzJL3k49HRWAedtI0Zqb7Noov7jBviZig", + width: 853, + height: 480, + ), + ], + artists: [ + ArtistId( + id: Some("UCEdZAdnnKqbaHOlv8nM6OtA"), + name: "aespa", + ), + ], + artist_id: Some("UCEdZAdnnKqbaHOlv8nM6OtA"), + album: None, + view_count: Some(250000000), + is_video: true, + track_nr: None, + ), + TrackItem( + id: "Y8JFxS1HlDo", + title: "LOVE DIVE", + duration: Some(179), + cover: [ + Thumbnail( + url: "https://i.ytimg.com/vi/Y8JFxS1HlDo/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3k7dfJvms48b2vkzgD8IgO7NeY6cQ", + width: 400, + height: 225, + ), + Thumbnail( + url: "https://i.ytimg.com/vi/Y8JFxS1HlDo/hq720.jpg?sqp=-oaymwEXCKAGEMIDIAQqCwjVARCqCBh4INgESFo&rs=AMzJL3llrmra1TaoqopbxBevNFRK_6Xc2w", + width: 800, + height: 450, + ), + Thumbnail( + url: "https://i.ytimg.com/vi/Y8JFxS1HlDo/hq720.jpg?sqp=-oaymwEXCNUGEOADIAQqCwjVARCqCBh4INgESFo&rs=AMzJL3moJU9Sl3QbDvSvlGR2Q2cngtnKMw", + width: 853, + height: 480, + ), + ], + artists: [ + ArtistId( + id: Some("UC_4Y1QqJr60C5Z7-eQWy-mw"), + name: "IVE", + ), + ], + artist_id: Some("UC_4Y1QqJr60C5Z7-eQWy-mw"), + album: None, + view_count: Some(168000000), + is_video: true, + track_nr: None, + ), + TrackItem( + id: "CM4CkVFmTds", + title: "I CAN\'T STOP ME", + duration: Some(221), + cover: [ + Thumbnail( + url: "https://i.ytimg.com/vi/CM4CkVFmTds/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3n_4nSKMrgw65E7qu7SXopvURCqLg", + width: 400, + height: 225, + ), + Thumbnail( + url: "https://i.ytimg.com/vi/CM4CkVFmTds/hq720.jpg?sqp=-oaymwEXCKAGEMIDIAQqCwjVARCqCBh4INgESFo&rs=AMzJL3mw6J7Z0DXh2ashrL5DBTZm5Z5sXA", + width: 800, + height: 450, + ), + Thumbnail( + url: "https://i.ytimg.com/vi/CM4CkVFmTds/hq720.jpg?sqp=-oaymwEXCNUGEOADIAQqCwjVARCqCBh4INgESFo&rs=AMzJL3laWy4cMXts0_azK9y7-nvHE-TTzQ", + width: 853, + height: 480, + ), + ], + artists: [ + ArtistId( + id: Some("UCAq0pFGa2w9SjxOq0ZxKVIw"), + name: "TWICE", + ), + ], + artist_id: Some("UCAq0pFGa2w9SjxOq0ZxKVIw"), + album: None, + view_count: Some(464000000), + is_video: true, + track_nr: None, + ), + TrackItem( + id: "_ysomCGaZLw", + title: "In the Morning", + duration: Some(185), + cover: [ + Thumbnail( + url: "https://i.ytimg.com/vi/_ysomCGaZLw/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3mmHZHNUSSMjNtqYD5P3vpl3fhnTA", + width: 400, + height: 225, + ), + Thumbnail( + url: "https://i.ytimg.com/vi/_ysomCGaZLw/hq720.jpg?sqp=-oaymwEXCKAGEMIDIAQqCwjVARCqCBh4INgESFo&rs=AMzJL3kpPew9xvDjRS-Psi-SqcKDDVwbCw", + width: 800, + height: 450, + ), + Thumbnail( + url: "https://i.ytimg.com/vi/_ysomCGaZLw/hq720.jpg?sqp=-oaymwEXCNUGEOADIAQqCwjVARCqCBh4INgESFo&rs=AMzJL3k8Q_n6ukQ9LlhJzZ6gHskmdFFmhg", + width: 853, + height: 480, + ), + ], + artists: [ + ArtistId( + id: Some("UCTP45_DE3fMLujU8sZ-MBzw"), + name: "ITZY", + ), + ], + artist_id: Some("UCTP45_DE3fMLujU8sZ-MBzw"), + album: None, + view_count: Some(230000000), + is_video: true, + track_nr: None, + ), + TrackItem( + id: "gQlMMD8auMs", + title: "Pink Venom", + duration: Some(194), + cover: [ + Thumbnail( + url: "https://i.ytimg.com/vi/gQlMMD8auMs/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nEM0b-vFFexT2C8d4yzP8hQi60Sg", + width: 400, + height: 225, + ), + Thumbnail( + url: "https://i.ytimg.com/vi/gQlMMD8auMs/hq720.jpg?sqp=-oaymwEXCKAGEMIDIAQqCwjVARCqCBh4INgESFo&rs=AMzJL3khUMi18G93F7jAInIz62E5CIBUFw", + width: 800, + height: 450, + ), + Thumbnail( + url: "https://i.ytimg.com/vi/gQlMMD8auMs/hq720.jpg?sqp=-oaymwEXCNUGEOADIAQqCwjVARCqCBh4INgESFo&rs=AMzJL3mkn0qyMCzW43mTrIGr6lana1WZpg", + width: 853, + height: 480, + ), + ], + artists: [ + ArtistId( + id: Some("UCkbbMCA40i18i7UdjayMPAg"), + name: "BLACKPINK", + ), + ], + artist_id: Some("UCkbbMCA40i18i7UdjayMPAg"), + album: None, + view_count: Some(422000000), + is_video: true, + track_nr: None, + ), + TrackItem( + id: "uR8Mrt1IpXg", + title: "Psycho", + duration: Some(216), + cover: [ + Thumbnail( + url: "https://i.ytimg.com/vi/uR8Mrt1IpXg/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3mhufeImZ0Df0rKCh6-W4M5GF9tGg", + width: 400, + height: 225, + ), + Thumbnail( + url: "https://i.ytimg.com/vi/uR8Mrt1IpXg/hq720.jpg?sqp=-oaymwEXCKAGEMIDIAQqCwjVARCqCBh4INgESFo&rs=AMzJL3neHndOeWLSL1Sb73WcnsA7Iiq0mg", + width: 800, + height: 450, + ), + Thumbnail( + url: "https://i.ytimg.com/vi/uR8Mrt1IpXg/hq720.jpg?sqp=-oaymwEXCNUGEOADIAQqCwjVARCqCBh4INgESFo&rs=AMzJL3mgmwQ-4E42UvQGZvyQP86E3eKUWw", + width: 853, + height: 480, + ), + ], + artists: [ + ArtistId( + id: Some("UCHmZYTfdTyVKQEJicLiXEOg"), + name: "Red Velvet", + ), + ], + artist_id: Some("UCHmZYTfdTyVKQEJicLiXEOg"), + album: None, + view_count: Some(349000000), + is_video: true, + track_nr: None, + ), + TrackItem( + id: "PkKnp4SdE-w", + title: "Hot Sauce", + duration: Some(212), + cover: [ + Thumbnail( + url: "https://i.ytimg.com/vi/PkKnp4SdE-w/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kWfgwfdbEnHIDeILZPWhTgwuGDRw", + width: 400, + height: 225, + ), + Thumbnail( + url: "https://i.ytimg.com/vi/PkKnp4SdE-w/hq720.jpg?sqp=-oaymwEXCKAGEMIDIAQqCwjVARCqCBh4INgESFo&rs=AMzJL3mvnlVkFKrInqbVQbZu_ttrFbih4g", + width: 800, + height: 450, + ), + Thumbnail( + url: "https://i.ytimg.com/vi/PkKnp4SdE-w/hq720.jpg?sqp=-oaymwEXCNUGEOADIAQqCwjVARCqCBh4INgESFo&rs=AMzJL3kBZU4LKqDi5yxDZpP3dUeiPzZWXw", + width: 853, + height: 480, + ), + ], + artists: [ + ArtistId( + id: Some("UCuKdaTsJ9Jv94hVV_I9aRxQ"), + name: "NCT DREAM", + ), + ], + artist_id: Some("UCuKdaTsJ9Jv94hVV_I9aRxQ"), + album: None, + view_count: Some(167000000), + is_video: true, + track_nr: None, + ), + TrackItem( + id: "4vbDFu0PUew", + title: "FEARLESS OFFICIAL M/V", + duration: Some(183), + cover: [ + Thumbnail( + url: "https://i.ytimg.com/vi/4vbDFu0PUew/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3khlrmZ55Elav20m6uPsZObHLhb1Q", + width: 400, + height: 225, + ), + Thumbnail( + url: "https://i.ytimg.com/vi/4vbDFu0PUew/hq720.jpg?sqp=-oaymwEXCKAGEMIDIAQqCwjVARCqCBh4INgESFo&rs=AMzJL3lYxFh0M0OcTQEKuGinVKYcZYNGhg", + width: 800, + height: 450, + ), + Thumbnail( + url: "https://i.ytimg.com/vi/4vbDFu0PUew/hq720.jpg?sqp=-oaymwEXCNUGEOADIAQqCwjVARCqCBh4INgESFo&rs=AMzJL3kvF9SdDGxAVrh5AUiDmF1jW31bzg", + width: 853, + height: 480, + ), + ], + artists: [ + ArtistId( + id: Some("UC-clMkTZa7k-FxmNgMjoCgQ"), + name: "LE SSERAFIM", + ), + ], + artist_id: Some("UC-clMkTZa7k-FxmNgMjoCgQ"), + album: None, + view_count: Some(124000000), + is_video: true, + track_nr: None, + ), + TrackItem( + id: "A5H8zBb3iao", + title: "90\'s Love", + duration: Some(227), + cover: [ + Thumbnail( + url: "https://i.ytimg.com/vi/A5H8zBb3iao/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3k_nifrnpSLq1wQ8WX1XEx2azAmJw", + width: 400, + height: 225, + ), + Thumbnail( + url: "https://i.ytimg.com/vi/A5H8zBb3iao/hq720.jpg?sqp=-oaymwEXCKAGEMIDIAQqCwjVARCqCBh4INgESFo&rs=AMzJL3ly97BC743uywuuUbBd27U6QgyYXw", + width: 800, + height: 450, + ), + Thumbnail( + url: "https://i.ytimg.com/vi/A5H8zBb3iao/hq720.jpg?sqp=-oaymwEXCNUGEOADIAQqCwjVARCqCBh4INgESFo&rs=AMzJL3kJoTPcNu84VWy0DE4qX83EmK6qXQ", + width: 853, + height: 480, + ), + ], + artists: [ + ArtistId( + id: Some("UCEf_Bc-KVd7onSeifS3py9g"), + name: "SMTOWN", + ), + ], + artist_id: Some("UCEf_Bc-KVd7onSeifS3py9g"), + album: None, + view_count: Some(127000000), + is_video: true, + track_nr: None, + ), + TrackItem( + id: "_xJUCsyMQes", + title: "Best Friend (feat. Doja Cat)", + duration: Some(202), + cover: [ + Thumbnail( + url: "https://i.ytimg.com/vi/_xJUCsyMQes/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lR1nuc9rfKYua1azmFgfgI0NI_DA", + width: 400, + height: 225, + ), + Thumbnail( + url: "https://i.ytimg.com/vi/_xJUCsyMQes/sddefault.jpg?sqp=-oaymwEWCKoDEPABIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lUfitpkawiQB5Eh2qeIRKmck_H5Q", + width: 426, + height: 240, + ), + ], + artists: [ + ArtistId( + id: Some("UCqTaQGqjAI6fYkr84KZgZEg"), + name: "Saweetie", + ), + ], + artist_id: Some("UCqTaQGqjAI6fYkr84KZgZEg"), + album: None, + view_count: Some(239000000), + is_video: true, + track_nr: None, + ), + TrackItem( + id: "n0j5NPptyM0", + title: "WA DA DA", + duration: Some(198), + cover: [ + Thumbnail( + url: "https://i.ytimg.com/vi/n0j5NPptyM0/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3mPDQ3gbOoo_rjjKAzA6RL4atuimw", + width: 400, + height: 225, + ), + Thumbnail( + url: "https://i.ytimg.com/vi/n0j5NPptyM0/hq720.jpg?sqp=-oaymwEXCKAGEMIDIAQqCwjVARCqCBh4INgESFo&rs=AMzJL3l7mg1I-bMPbXmQuFuTTQZcExRhLQ", + width: 800, + height: 450, + ), + Thumbnail( + url: "https://i.ytimg.com/vi/n0j5NPptyM0/hq720.jpg?sqp=-oaymwEXCNUGEOADIAQqCwjVARCqCBh4INgESFo&rs=AMzJL3m3bKSefnosNWvGi7vR_1_ezSDbnw", + width: 853, + height: 480, + ), + ], + artists: [ + ArtistId( + id: Some("UCAKvDuIX3m1AUdPpDSqV_3w"), + name: "Kep1er", + ), + ], + artist_id: Some("UCAKvDuIX3m1AUdPpDSqV_3w"), + album: None, + view_count: Some(140000000), + is_video: true, + track_nr: None, + ), + TrackItem( + id: "3GWscde8rM8", + title: "O.O", + duration: Some(214), + cover: [ + Thumbnail( + url: "https://i.ytimg.com/vi/3GWscde8rM8/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3njiYPlQmSjbSJxDZ2cazfxOFEw9Q", + width: 400, + height: 225, + ), + Thumbnail( + url: "https://i.ytimg.com/vi/3GWscde8rM8/hq720.jpg?sqp=-oaymwEXCKAGEMIDIAQqCwjVARCqCBh4INgESFo&rs=AMzJL3lrAIY30SBN9UvKQ8CCLz5HQw2rZw", + width: 800, + height: 450, + ), + Thumbnail( + url: "https://i.ytimg.com/vi/3GWscde8rM8/hq720.jpg?sqp=-oaymwEXCNUGEOADIAQqCwjVARCqCBh4INgESFo&rs=AMzJL3ngOrZhqin3AJB9WWNRVnbH5eoT5Q", + width: 853, + height: 480, + ), + ], + artists: [ + ArtistId( + id: Some("UC_Cx288SDUD9liYn7CiJLAA"), + name: "NMIXX", + ), + ], + artist_id: Some("UC_Cx288SDUD9liYn7CiJLAA"), + album: None, + view_count: Some(90000000), + is_video: true, + track_nr: None, + ), + TrackItem( + id: "uBY1AoiF5Vo", + title: "Step Back", + duration: Some(231), + cover: [ + Thumbnail( + url: "https://i.ytimg.com/vi/uBY1AoiF5Vo/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3ldz-mtiOTGWMsnjD7IqX9Q2SDDpA", + width: 400, + height: 225, + ), + Thumbnail( + url: "https://i.ytimg.com/vi/uBY1AoiF5Vo/hq720.jpg?sqp=-oaymwEXCKAGEMIDIAQqCwjVARCqCBh4INgESFo&rs=AMzJL3lu0lV6GzYKqCbUm8E-DPD715gTGQ", + width: 800, + height: 450, + ), + Thumbnail( + url: "https://i.ytimg.com/vi/uBY1AoiF5Vo/hq720.jpg?sqp=-oaymwEXCNUGEOADIAQqCwjVARCqCBh4INgESFo&rs=AMzJL3n8F8MoVoc0RWYssIJ591eVxJrAgQ", + width: 853, + height: 480, + ), + ], + artists: [ + ArtistId( + id: Some("UCDDpqmryjNunitS05bv7-8w"), + name: "GOT the beat", + ), + ], + artist_id: Some("UCDDpqmryjNunitS05bv7-8w"), + album: None, + view_count: Some(137000000), + is_video: true, + track_nr: None, + ), + TrackItem( + id: "WPdWvnAAurg", + title: "Savage", + duration: Some(259), + cover: [ + Thumbnail( + url: "https://i.ytimg.com/vi/WPdWvnAAurg/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3mTnrnrCkW0aHO0t5nRP1ukYRu6vg", + width: 400, + height: 225, + ), + Thumbnail( + url: "https://i.ytimg.com/vi/WPdWvnAAurg/hq720.jpg?sqp=-oaymwEXCKAGEMIDIAQqCwjVARCqCBh4INgESFo&rs=AMzJL3lzqbOcWJEoxbxHT6mLxbSDCx3kPA", + width: 800, + height: 450, + ), + Thumbnail( + url: "https://i.ytimg.com/vi/WPdWvnAAurg/hq720.jpg?sqp=-oaymwEXCNUGEOADIAQqCwjVARCqCBh4INgESFo&rs=AMzJL3nyqKPkwPLJVpPofie4QX3y807Txw", + width: 853, + height: 480, + ), + ], + artists: [ + ArtistId( + id: Some("UCEdZAdnnKqbaHOlv8nM6OtA"), + name: "aespa", + ), + ], + artist_id: Some("UCEdZAdnnKqbaHOlv8nM6OtA"), + album: None, + view_count: Some(220000000), + is_video: true, + track_nr: None, + ), + TrackItem( + id: "tyrVtwE8Gv0", + title: "Make A Wish (Birthday Song)", + duration: Some(249), + cover: [ + Thumbnail( + url: "https://i.ytimg.com/vi/tyrVtwE8Gv0/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lEIhBp-IAoTTCiDYJLIj4vtl8Hpw", + width: 400, + height: 225, + ), + Thumbnail( + url: "https://i.ytimg.com/vi/tyrVtwE8Gv0/hq720.jpg?sqp=-oaymwEXCKAGEMIDIAQqCwjVARCqCBh4INgESFo&rs=AMzJL3mLBdpBoRAGP1SKLd_T2SOzM_Gn-g", + width: 800, + height: 450, + ), + Thumbnail( + url: "https://i.ytimg.com/vi/tyrVtwE8Gv0/hq720.jpg?sqp=-oaymwEXCNUGEOADIAQqCwjVARCqCBh4INgESFo&rs=AMzJL3lFYENgMq_4Ql9KLEShyeKm7mV2mQ", + width: 853, + height: 480, + ), + ], + artists: [ + ArtistId( + id: Some("UCwPKPUAWE8ah0lkOcvNh8_Q"), + name: "NCT U", + ), + ], + artist_id: Some("UCwPKPUAWE8ah0lkOcvNh8_Q"), + album: None, + view_count: Some(258000000), + is_video: true, + track_nr: None, + ), + TrackItem( + id: "Jh4QFaPmdss", + title: "TOMBOY", + duration: Some(198), + cover: [ + Thumbnail( + url: "https://i.ytimg.com/vi/Jh4QFaPmdss/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nL0vQ4DGp4rNES4wtIQXf6MMcX4A", + width: 400, + height: 225, + ), + Thumbnail( + url: "https://i.ytimg.com/vi/Jh4QFaPmdss/hq720.jpg?sqp=-oaymwEXCKAGEMIDIAQqCwjVARCqCBh4INgESFo&rs=AMzJL3kTDFBdA22mhhPDMAxJPoFkm9bsLA", + width: 800, + height: 450, + ), + Thumbnail( + url: "https://i.ytimg.com/vi/Jh4QFaPmdss/hq720.jpg?sqp=-oaymwEXCNUGEOADIAQqCwjVARCqCBh4INgESFo&rs=AMzJL3nDO6v2YyPEsuP9TlHOCXq0b8kq2Q", + width: 853, + height: 480, + ), + ], + artists: [ + ArtistId( + id: Some("UCWT2ZfW7d8YI-HinHEVhyCA"), + name: "(G)I-DLE", + ), + ], + artist_id: Some("UCWT2ZfW7d8YI-HinHEVhyCA"), + album: None, + view_count: Some(181000000), + is_video: true, + track_nr: None, + ), + TrackItem( + id: "2OvyA2__Eas", + title: "英雄; Kick It", + duration: Some(239), + cover: [ + Thumbnail( + url: "https://i.ytimg.com/vi/2OvyA2__Eas/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3n8rUV8L6DfEtliJa6uRI007X4ryg", + width: 400, + height: 225, + ), + Thumbnail( + url: "https://i.ytimg.com/vi/2OvyA2__Eas/hq720.jpg?sqp=-oaymwEXCKAGEMIDIAQqCwjVARCqCBh4INgESFo&rs=AMzJL3kbaxVY4Hkp0RwwvQtIf8V3kpBl0w", + width: 800, + height: 450, + ), + Thumbnail( + url: "https://i.ytimg.com/vi/2OvyA2__Eas/hq720.jpg?sqp=-oaymwEXCNUGEOADIAQqCwjVARCqCBh4INgESFo&rs=AMzJL3nNHdrJrMIksXZ5x2_nabxLC1STXA", + width: 853, + height: 480, + ), + ], + artists: [ + ArtistId( + id: Some("UCjqYTQjO-JG-8vLlt6-4iyQ"), + name: "NCT 127", + ), + ], + artist_id: Some("UCjqYTQjO-JG-8vLlt6-4iyQ"), + album: None, + view_count: Some(165000000), + is_video: true, + track_nr: None, + ), + TrackItem( + id: "dYRITmpFbJ4", + title: "Girls", + duration: Some(269), + cover: [ + Thumbnail( + url: "https://i.ytimg.com/vi/dYRITmpFbJ4/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3mt44xFH24DkaQqASPBttEMuL02aQ", + width: 400, + height: 225, + ), + Thumbnail( + url: "https://i.ytimg.com/vi/dYRITmpFbJ4/hq720.jpg?sqp=-oaymwEXCKAGEMIDIAQqCwjVARCqCBh4INgESFo&rs=AMzJL3k1I7uOUx9-Rs_MiUFD2YWrbmAbJg", + width: 800, + height: 450, + ), + Thumbnail( + url: "https://i.ytimg.com/vi/dYRITmpFbJ4/hq720.jpg?sqp=-oaymwEXCNUGEOADIAQqCwjVARCqCBh4INgESFo&rs=AMzJL3kQC3YdpaKYJ5xLF1ryXjTN9wJ_3Q", + width: 853, + height: 480, + ), + ], + artists: [ + ArtistId( + id: Some("UCEdZAdnnKqbaHOlv8nM6OtA"), + name: "aespa", + ), + ], + artist_id: Some("UCEdZAdnnKqbaHOlv8nM6OtA"), + album: None, + view_count: Some(108000000), + is_video: true, + track_nr: None, + ), + TrackItem( + id: "POe9SOEKotk", + title: "Shut Down", + duration: Some(181), + cover: [ + Thumbnail( + url: "https://i.ytimg.com/vi/POe9SOEKotk/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3m512hPlVaRZGGDe7lyzi4uYVVm2Q", + width: 400, + height: 225, + ), + Thumbnail( + url: "https://i.ytimg.com/vi/POe9SOEKotk/hq720.jpg?sqp=-oaymwEXCKAGEMIDIAQqCwjVARCqCBh4INgESFo&rs=AMzJL3kbAXOLxYByimodFUXOfH2mRh45lA", + width: 800, + height: 450, + ), + Thumbnail( + url: "https://i.ytimg.com/vi/POe9SOEKotk/hq720.jpg?sqp=-oaymwEXCNUGEOADIAQqCwjVARCqCBh4INgESFo&rs=AMzJL3mP1fmBP5TsNQ8Hkwi_oK9AKmGYNg", + width: 853, + height: 480, + ), + ], + artists: [ + ArtistId( + id: Some("UCkbbMCA40i18i7UdjayMPAg"), + name: "BLACKPINK", + ), + ], + artist_id: Some("UCkbbMCA40i18i7UdjayMPAg"), + album: None, + view_count: Some(222000000), + is_video: true, + track_nr: None, + ), + TrackItem( + id: "pSudEWBAYRE", + title: "Love Shot", + duration: Some(210), + cover: [ + Thumbnail( + url: "https://i.ytimg.com/vi/pSudEWBAYRE/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lAEYvImiSXeADO3bExIVXqZZ7GKQ", + width: 400, + height: 225, + ), + Thumbnail( + url: "https://i.ytimg.com/vi/pSudEWBAYRE/hq720.jpg?sqp=-oaymwEXCKAGEMIDIAQqCwjVARCqCBh4INgESFo&rs=AMzJL3lWkqnBi3qqf4yWDXzR4qDUcuR7ow", + width: 800, + height: 450, + ), + Thumbnail( + url: "https://i.ytimg.com/vi/pSudEWBAYRE/hq720.jpg?sqp=-oaymwEXCNUGEOADIAQqCwjVARCqCBh4INgESFo&rs=AMzJL3kCW9v4BsQjGfWRYYdO1xh6DMJwmg", + width: 853, + height: 480, + ), + ], + artists: [ + ArtistId( + id: Some("UCEUX9tUYqTFfPQdAgVNsKTA"), + name: "EXO", + ), + ], + artist_id: Some("UCEUX9tUYqTFfPQdAgVNsKTA"), + album: None, + view_count: Some(540000000), + is_video: true, + track_nr: None, + ), + TrackItem( + id: "nnVjsos40qk", + title: "환상동화 (Secret Story of the Swan)", + duration: Some(202), + cover: [ + Thumbnail( + url: "https://i.ytimg.com/vi/nnVjsos40qk/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3kn_BEjT7jYkFddBxe6yv0igyo-0Q", + width: 400, + height: 225, + ), + Thumbnail( + url: "https://i.ytimg.com/vi/nnVjsos40qk/hq720.jpg?sqp=-oaymwEXCKAGEMIDIAQqCwjVARCqCBh4INgESFo&rs=AMzJL3nY9IGsviFkfgMsqPBhH2rEAGsGmQ", + width: 800, + height: 450, + ), + Thumbnail( + url: "https://i.ytimg.com/vi/nnVjsos40qk/hq720.jpg?sqp=-oaymwEXCNUGEOADIAQqCwjVARCqCBh4INgESFo&rs=AMzJL3lJEM3KYpj5POzRL7MQQBnbRMJIYA", + width: 853, + height: 480, + ), + ], + artists: [ + ArtistId( + id: Some("UCG81UKNsFg9Perf0uPQOsQw"), + name: "IZ*ONE", + ), + ], + artist_id: Some("UCG81UKNsFg9Perf0uPQOsQw"), + album: None, + view_count: Some(90000000), + is_video: true, + track_nr: None, + ), + TrackItem( + id: "H69tJmsgd9I", + title: "Dreams Come True", + duration: Some(221), + cover: [ + Thumbnail( + url: "https://i.ytimg.com/vi/H69tJmsgd9I/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3mWiXkBoELY5U1XWBMe2bEn1OFdgQ", + width: 400, + height: 225, + ), + Thumbnail( + url: "https://i.ytimg.com/vi/H69tJmsgd9I/hq720.jpg?sqp=-oaymwEXCKAGEMIDIAQqCwjVARCqCBh4INgESFo&rs=AMzJL3me8GohbnE0UckrhjJg5WtTVFgmfg", + width: 800, + height: 450, + ), + Thumbnail( + url: "https://i.ytimg.com/vi/H69tJmsgd9I/hq720.jpg?sqp=-oaymwEXCNUGEOADIAQqCwjVARCqCBh4INgESFo&rs=AMzJL3lKXzVOcOskWpZFhI60ZcbEEyEbiw", + width: 853, + height: 480, + ), + ], + artists: [ + ArtistId( + id: Some("UCEdZAdnnKqbaHOlv8nM6OtA"), + name: "aespa", + ), + ], + artist_id: Some("UCEdZAdnnKqbaHOlv8nM6OtA"), + album: None, + view_count: Some(90000000), + is_video: true, + track_nr: None, + ), + TrackItem( + id: "0IBSemQmno8", + title: "ZOO", + duration: Some(189), + cover: [ + Thumbnail( + url: "https://i.ytimg.com/vi/0IBSemQmno8/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3nq0HomQUvUAgv20Rb5KTkOOjYy-A", + width: 400, + height: 225, + ), + Thumbnail( + url: "https://i.ytimg.com/vi/0IBSemQmno8/hq720.jpg?sqp=-oaymwEXCKAGEMIDIAQqCwjVARCqCBh4INgESFo&rs=AMzJL3mHDReqIeTQ82otCPBovy0ye0LNSQ", + width: 800, + height: 450, + ), + Thumbnail( + url: "https://i.ytimg.com/vi/0IBSemQmno8/hq720.jpg?sqp=-oaymwEXCNUGEOADIAQqCwjVARCqCBh4INgESFo&rs=AMzJL3koM0EYu_ZhdOjoKBDhhoQgTrpAUA", + width: 853, + height: 480, + ), + ], + artists: [ + ArtistId( + id: None, + name: "Taeyong, JENO, YANGYANG, 지젤 (GISELLE), and HENDERY", + ), + ], + artist_id: Some("UCDdCbqagfKo_euzzCV9G2EQ"), + album: None, + view_count: Some(71000000), + is_video: true, + track_nr: None, + ), + TrackItem( + id: "MjCZfZfucEc", + title: "LOCO", + duration: Some(233), + cover: [ + Thumbnail( + url: "https://i.ytimg.com/vi/MjCZfZfucEc/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3lvN8V98wicGg5vG2F2zon-foZzIA", + width: 400, + height: 225, + ), + Thumbnail( + url: "https://i.ytimg.com/vi/MjCZfZfucEc/sddefault.jpg?sqp=-oaymwEWCKoDEPABIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3mKJIqURQYCCY_G1XDJnDiyqRZ4kQ", + width: 426, + height: 240, + ), + ], + artists: [ + ArtistId( + id: Some("UCTP45_DE3fMLujU8sZ-MBzw"), + name: "ITZY", + ), + ], + artist_id: Some("UCTP45_DE3fMLujU8sZ-MBzw"), + album: None, + view_count: Some(208000000), + is_video: true, + track_nr: None, + ), + TrackItem( + id: "tg2uF3R_Ozo", + title: "DUMB DUMB", + duration: Some(179), + cover: [ + Thumbnail( + url: "https://i.ytimg.com/vi/tg2uF3R_Ozo/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3mYPwfsMuBxT19qgv_XmSk2H79jvg", + width: 400, + height: 225, + ), + Thumbnail( + url: "https://i.ytimg.com/vi/tg2uF3R_Ozo/hq720.jpg?sqp=-oaymwEXCKAGEMIDIAQqCwjVARCqCBh4INgESFo&rs=AMzJL3lqGADl8uyCCDtehV_LAgMphtc57g", + width: 800, + height: 450, + ), + Thumbnail( + url: "https://i.ytimg.com/vi/tg2uF3R_Ozo/hq720.jpg?sqp=-oaymwEXCNUGEOADIAQqCwjVARCqCBh4INgESFo&rs=AMzJL3nHkXP82A1Qe5nY_OQL55o5vtkIOQ", + width: 853, + height: 480, + ), + ], + artists: [ + ArtistId( + id: Some("UCDnYJA3OXXhRKYPe3jzLGeQ"), + name: "SOMI", + ), + ], + artist_id: Some("UCDnYJA3OXXhRKYPe3jzLGeQ"), + album: None, + view_count: Some(140000000), + is_video: true, + track_nr: None, + ), + ], + ctoken: Some("CBkSSBILdGcydUYzUl9Pem8iEVJEQU1WTVplZXJybnVMaTVFMg53QUVCOGdFQ2VBRSUzRDgY0AEB-gEQQzcxNUY2RDFGQjIwNEQwQRgKggEVUFQ6RWd0MFp6SjFSak5TWDA5NmJ3"), + endpoint: music_next, +) diff --git a/src/client/snapshots/rustypipe__client__music_details__tests__map_music_radio_track.snap b/src/client/snapshots/rustypipe__client__music_details__tests__map_music_radio_track.snap new file mode 100644 index 0000000..44ca8e2 --- /dev/null +++ b/src/client/snapshots/rustypipe__client__music_details__tests__map_music_radio_track.snap @@ -0,0 +1,1290 @@ +--- +source: src/client/music_details.rs +expression: map_res.c +--- +Paginator( + count: None, + items: [ + TrackItem( + id: "hh5GKVa8VtM", + title: "LOVE DIVE (LOVE DIVE)", + duration: Some(178), + cover: [ + Thumbnail( + url: "https://lh3.googleusercontent.com/jRELX5qAew8CuPt1mAzv_51WgcWjY08kCbK051wB4MX8B_4K9CgUVX5YHqxRwPoFhoNQZ69vbY03tL6S=w60-h60-l90-rj", + width: 60, + height: 60, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/jRELX5qAew8CuPt1mAzv_51WgcWjY08kCbK051wB4MX8B_4K9CgUVX5YHqxRwPoFhoNQZ69vbY03tL6S=w120-h120-l90-rj", + width: 120, + height: 120, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/jRELX5qAew8CuPt1mAzv_51WgcWjY08kCbK051wB4MX8B_4K9CgUVX5YHqxRwPoFhoNQZ69vbY03tL6S=w180-h180-l90-rj", + width: 180, + height: 180, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/jRELX5qAew8CuPt1mAzv_51WgcWjY08kCbK051wB4MX8B_4K9CgUVX5YHqxRwPoFhoNQZ69vbY03tL6S=w226-h226-l90-rj", + width: 226, + height: 226, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/jRELX5qAew8CuPt1mAzv_51WgcWjY08kCbK051wB4MX8B_4K9CgUVX5YHqxRwPoFhoNQZ69vbY03tL6S=w302-h302-l90-rj", + width: 302, + height: 302, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/jRELX5qAew8CuPt1mAzv_51WgcWjY08kCbK051wB4MX8B_4K9CgUVX5YHqxRwPoFhoNQZ69vbY03tL6S=w544-h544-l90-rj", + width: 544, + height: 544, + ), + ], + artists: [ + ArtistId( + id: Some("UC_4Y1QqJr60C5Z7-eQWy-mw"), + name: "IVE", + ), + ], + artist_id: Some("UC_4Y1QqJr60C5Z7-eQWy-mw"), + album: Some(AlbumId( + id: "MPREb_Yqp7NyUFXMt", + name: "LOVE DIVE (LOVE DIVE)", + )), + view_count: None, + is_video: false, + track_nr: None, + ), + TrackItem( + id: "u1uvv_yKhH8", + title: "Fine", + duration: Some(210), + cover: [ + Thumbnail( + url: "https://lh3.googleusercontent.com/3MyOmMOLMQCZF98njtrwBOVTaFt8DZlVTzQ-ed6gVNVQc4eu4YWqOTWjv3fYFpDlC16UQ-88vnal1Mvuag=w60-h60-l90-rj", + width: 60, + height: 60, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/3MyOmMOLMQCZF98njtrwBOVTaFt8DZlVTzQ-ed6gVNVQc4eu4YWqOTWjv3fYFpDlC16UQ-88vnal1Mvuag=w120-h120-l90-rj", + width: 120, + height: 120, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/3MyOmMOLMQCZF98njtrwBOVTaFt8DZlVTzQ-ed6gVNVQc4eu4YWqOTWjv3fYFpDlC16UQ-88vnal1Mvuag=w180-h180-l90-rj", + width: 180, + height: 180, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/3MyOmMOLMQCZF98njtrwBOVTaFt8DZlVTzQ-ed6gVNVQc4eu4YWqOTWjv3fYFpDlC16UQ-88vnal1Mvuag=w226-h226-l90-rj", + width: 226, + height: 226, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/3MyOmMOLMQCZF98njtrwBOVTaFt8DZlVTzQ-ed6gVNVQc4eu4YWqOTWjv3fYFpDlC16UQ-88vnal1Mvuag=w302-h302-l90-rj", + width: 302, + height: 302, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/3MyOmMOLMQCZF98njtrwBOVTaFt8DZlVTzQ-ed6gVNVQc4eu4YWqOTWjv3fYFpDlC16UQ-88vnal1Mvuag=w544-h544-l90-rj", + width: 544, + height: 544, + ), + ], + artists: [ + ArtistId( + id: Some("UCwzCuKxyMY_sT7hr1E8G1XA"), + name: "TAEYEON", + ), + ], + artist_id: Some("UCwzCuKxyMY_sT7hr1E8G1XA"), + album: Some(AlbumId( + id: "MPREb_vuRMHNG5m7r", + name: "My Voice - The 1st Album", + )), + view_count: None, + is_video: false, + track_nr: None, + ), + TrackItem( + id: "QiziJ40kTz0", + title: "FOREVER 1", + duration: Some(203), + cover: [ + Thumbnail( + url: "https://lh3.googleusercontent.com/BUvfDzYYoFWiMZ7qdbRmDNwQAb1BUO2EJqDlSF7D8cVqaqOYCnibj4YtRf70liOT8j8382sVdjQb-9OJ9g=w60-h60-l90-rj", + width: 60, + height: 60, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/BUvfDzYYoFWiMZ7qdbRmDNwQAb1BUO2EJqDlSF7D8cVqaqOYCnibj4YtRf70liOT8j8382sVdjQb-9OJ9g=w120-h120-l90-rj", + width: 120, + height: 120, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/BUvfDzYYoFWiMZ7qdbRmDNwQAb1BUO2EJqDlSF7D8cVqaqOYCnibj4YtRf70liOT8j8382sVdjQb-9OJ9g=w180-h180-l90-rj", + width: 180, + height: 180, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/BUvfDzYYoFWiMZ7qdbRmDNwQAb1BUO2EJqDlSF7D8cVqaqOYCnibj4YtRf70liOT8j8382sVdjQb-9OJ9g=w226-h226-l90-rj", + width: 226, + height: 226, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/BUvfDzYYoFWiMZ7qdbRmDNwQAb1BUO2EJqDlSF7D8cVqaqOYCnibj4YtRf70liOT8j8382sVdjQb-9OJ9g=w302-h302-l90-rj", + width: 302, + height: 302, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/BUvfDzYYoFWiMZ7qdbRmDNwQAb1BUO2EJqDlSF7D8cVqaqOYCnibj4YtRf70liOT8j8382sVdjQb-9OJ9g=w544-h544-l90-rj", + width: 544, + height: 544, + ), + ], + artists: [ + ArtistId( + id: Some("UCGn8T3PmIkow87GeZC9mW7g"), + name: "Girls\' Generation", + ), + ], + artist_id: Some("UCGn8T3PmIkow87GeZC9mW7g"), + album: Some(AlbumId( + id: "MPREb_gpWHoz5UqGF", + name: "FOREVER 1 - The 7th Album", + )), + view_count: None, + is_video: false, + track_nr: None, + ), + TrackItem( + id: "OXWz_x6-dro", + title: "Feel My Rhythm", + duration: Some(211), + cover: [ + Thumbnail( + url: "https://lh3.googleusercontent.com/Zkk_jGQgpi2xShYOtrLbb9Aw3INchh0AWRQRiDVhyw7RMPXAs5dbejgRMC7neOjmBZp2PB5eqvk4oAnItQ=w60-h60-l90-rj", + width: 60, + height: 60, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/Zkk_jGQgpi2xShYOtrLbb9Aw3INchh0AWRQRiDVhyw7RMPXAs5dbejgRMC7neOjmBZp2PB5eqvk4oAnItQ=w120-h120-l90-rj", + width: 120, + height: 120, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/Zkk_jGQgpi2xShYOtrLbb9Aw3INchh0AWRQRiDVhyw7RMPXAs5dbejgRMC7neOjmBZp2PB5eqvk4oAnItQ=w180-h180-l90-rj", + width: 180, + height: 180, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/Zkk_jGQgpi2xShYOtrLbb9Aw3INchh0AWRQRiDVhyw7RMPXAs5dbejgRMC7neOjmBZp2PB5eqvk4oAnItQ=w226-h226-l90-rj", + width: 226, + height: 226, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/Zkk_jGQgpi2xShYOtrLbb9Aw3INchh0AWRQRiDVhyw7RMPXAs5dbejgRMC7neOjmBZp2PB5eqvk4oAnItQ=w302-h302-l90-rj", + width: 302, + height: 302, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/Zkk_jGQgpi2xShYOtrLbb9Aw3INchh0AWRQRiDVhyw7RMPXAs5dbejgRMC7neOjmBZp2PB5eqvk4oAnItQ=w544-h544-l90-rj", + width: 544, + height: 544, + ), + ], + artists: [ + ArtistId( + id: Some("UCHmZYTfdTyVKQEJicLiXEOg"), + name: "Red Velvet", + ), + ], + artist_id: Some("UCHmZYTfdTyVKQEJicLiXEOg"), + album: Some(AlbumId( + id: "MPREb_fwK4xLwdkoj", + name: "\'The ReVe Festival 2022 - Feel My Rhythm\'", + )), + view_count: None, + is_video: false, + track_nr: None, + ), + TrackItem( + id: "ghrlZIMDzbM", + title: "Hype Boy", + duration: Some(180), + cover: [ + Thumbnail( + url: "https://lh3.googleusercontent.com/yg7U52lN4NMHddFXE1de6d99puDNeC-1U6q5PnLjXPatrexqW9AOoWC8a5EJBULlXraaEWU8OvKrFYrp1A=w60-h60-l90-rj", + width: 60, + height: 60, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/yg7U52lN4NMHddFXE1de6d99puDNeC-1U6q5PnLjXPatrexqW9AOoWC8a5EJBULlXraaEWU8OvKrFYrp1A=w120-h120-l90-rj", + width: 120, + height: 120, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/yg7U52lN4NMHddFXE1de6d99puDNeC-1U6q5PnLjXPatrexqW9AOoWC8a5EJBULlXraaEWU8OvKrFYrp1A=w180-h180-l90-rj", + width: 180, + height: 180, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/yg7U52lN4NMHddFXE1de6d99puDNeC-1U6q5PnLjXPatrexqW9AOoWC8a5EJBULlXraaEWU8OvKrFYrp1A=w226-h226-l90-rj", + width: 226, + height: 226, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/yg7U52lN4NMHddFXE1de6d99puDNeC-1U6q5PnLjXPatrexqW9AOoWC8a5EJBULlXraaEWU8OvKrFYrp1A=w302-h302-l90-rj", + width: 302, + height: 302, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/yg7U52lN4NMHddFXE1de6d99puDNeC-1U6q5PnLjXPatrexqW9AOoWC8a5EJBULlXraaEWU8OvKrFYrp1A=w544-h544-l90-rj", + width: 544, + height: 544, + ), + ], + artists: [ + ArtistId( + id: Some("UCxOqS3cYg4FaHbobICo7nFQ"), + name: "NewJeans", + ), + ], + artist_id: Some("UCxOqS3cYg4FaHbobICo7nFQ"), + album: Some(AlbumId( + id: "MPREb_UspB6ni9VXz", + name: "NewJeans 1st EP \'New Jeans\'", + )), + view_count: None, + is_video: false, + track_nr: None, + ), + TrackItem( + id: "04tYkKUPPv4", + title: "LILAC (라일락)", + duration: Some(215), + cover: [ + Thumbnail( + url: "https://lh3.googleusercontent.com/-tdq58fAgaawQcx744mZUP67379plUJcWvzPSyfRy305ZmNcYii54WboN9OBa4I-cEdzu7u5yW4nSFlBQA=w60-h60-l90-rj", + width: 60, + height: 60, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/-tdq58fAgaawQcx744mZUP67379plUJcWvzPSyfRy305ZmNcYii54WboN9OBa4I-cEdzu7u5yW4nSFlBQA=w120-h120-l90-rj", + width: 120, + height: 120, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/-tdq58fAgaawQcx744mZUP67379plUJcWvzPSyfRy305ZmNcYii54WboN9OBa4I-cEdzu7u5yW4nSFlBQA=w180-h180-l90-rj", + width: 180, + height: 180, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/-tdq58fAgaawQcx744mZUP67379plUJcWvzPSyfRy305ZmNcYii54WboN9OBa4I-cEdzu7u5yW4nSFlBQA=w226-h226-l90-rj", + width: 226, + height: 226, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/-tdq58fAgaawQcx744mZUP67379plUJcWvzPSyfRy305ZmNcYii54WboN9OBa4I-cEdzu7u5yW4nSFlBQA=w302-h302-l90-rj", + width: 302, + height: 302, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/-tdq58fAgaawQcx744mZUP67379plUJcWvzPSyfRy305ZmNcYii54WboN9OBa4I-cEdzu7u5yW4nSFlBQA=w544-h544-l90-rj", + width: 544, + height: 544, + ), + ], + artists: [ + ArtistId( + id: Some("UCTUR0sVEkD8T5MlSHqgaI_Q"), + name: "IU", + ), + ], + artist_id: Some("UCTUR0sVEkD8T5MlSHqgaI_Q"), + album: Some(AlbumId( + id: "MPREb_iG5q5DIdhdA", + name: "IU 5th Album \'LILAC\' (IU 5th Album \'LILAC\')", + )), + view_count: None, + is_video: false, + track_nr: None, + ), + TrackItem( + id: "wjCrjR5WpgQ", + title: "Dreams Come True", + duration: Some(205), + cover: [ + Thumbnail( + url: "https://lh3.googleusercontent.com/BJSXLMa6L0PJ2Dq6pyPJsVo2gTUmm5bFWkT4eMIeuA8SzPujw0zKFiI0_cT4ro9AC3lVvU90Lm-Z-No=w60-h60-l90-rj", + width: 60, + height: 60, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/BJSXLMa6L0PJ2Dq6pyPJsVo2gTUmm5bFWkT4eMIeuA8SzPujw0zKFiI0_cT4ro9AC3lVvU90Lm-Z-No=w120-h120-l90-rj", + width: 120, + height: 120, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/BJSXLMa6L0PJ2Dq6pyPJsVo2gTUmm5bFWkT4eMIeuA8SzPujw0zKFiI0_cT4ro9AC3lVvU90Lm-Z-No=w180-h180-l90-rj", + width: 180, + height: 180, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/BJSXLMa6L0PJ2Dq6pyPJsVo2gTUmm5bFWkT4eMIeuA8SzPujw0zKFiI0_cT4ro9AC3lVvU90Lm-Z-No=w226-h226-l90-rj", + width: 226, + height: 226, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/BJSXLMa6L0PJ2Dq6pyPJsVo2gTUmm5bFWkT4eMIeuA8SzPujw0zKFiI0_cT4ro9AC3lVvU90Lm-Z-No=w302-h302-l90-rj", + width: 302, + height: 302, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/BJSXLMa6L0PJ2Dq6pyPJsVo2gTUmm5bFWkT4eMIeuA8SzPujw0zKFiI0_cT4ro9AC3lVvU90Lm-Z-No=w544-h544-l90-rj", + width: 544, + height: 544, + ), + ], + artists: [ + ArtistId( + id: Some("UCEdZAdnnKqbaHOlv8nM6OtA"), + name: "aespa", + ), + ], + artist_id: Some("UCEdZAdnnKqbaHOlv8nM6OtA"), + album: Some(AlbumId( + id: "MPREb_deYbla9aJAt", + name: "2021 Winter SMTOWN : SMCU EXPRESS", + )), + view_count: None, + is_video: false, + track_nr: None, + ), + TrackItem( + id: "wkVlb8rSies", + title: "Dun Dun Dance", + duration: Some(221), + cover: [ + Thumbnail( + url: "https://lh3.googleusercontent.com/px1h0zoo0hYxNDqJJBBRsuicTA48sqRyK7gTyvlEN-qZK5Pxbp9twP846C0JBbAMS5tvHStbhJt0UEM=w60-h60-l90-rj", + width: 60, + height: 60, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/px1h0zoo0hYxNDqJJBBRsuicTA48sqRyK7gTyvlEN-qZK5Pxbp9twP846C0JBbAMS5tvHStbhJt0UEM=w120-h120-l90-rj", + width: 120, + height: 120, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/px1h0zoo0hYxNDqJJBBRsuicTA48sqRyK7gTyvlEN-qZK5Pxbp9twP846C0JBbAMS5tvHStbhJt0UEM=w180-h180-l90-rj", + width: 180, + height: 180, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/px1h0zoo0hYxNDqJJBBRsuicTA48sqRyK7gTyvlEN-qZK5Pxbp9twP846C0JBbAMS5tvHStbhJt0UEM=w226-h226-l90-rj", + width: 226, + height: 226, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/px1h0zoo0hYxNDqJJBBRsuicTA48sqRyK7gTyvlEN-qZK5Pxbp9twP846C0JBbAMS5tvHStbhJt0UEM=w302-h302-l90-rj", + width: 302, + height: 302, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/px1h0zoo0hYxNDqJJBBRsuicTA48sqRyK7gTyvlEN-qZK5Pxbp9twP846C0JBbAMS5tvHStbhJt0UEM=w544-h544-l90-rj", + width: 544, + height: 544, + ), + ], + artists: [ + ArtistId( + id: Some("UCArTAXmvvTohDgCsegudy4w"), + name: "OH MY GIRL", + ), + ], + artist_id: Some("UCArTAXmvvTohDgCsegudy4w"), + album: Some(AlbumId( + id: "MPREb_AtGC4f443Li", + name: "Dear OHMYGIRL", + )), + view_count: None, + is_video: false, + track_nr: None, + ), + TrackItem( + id: "RdU3F5vN3_s", + title: "Nxde", + duration: Some(179), + cover: [ + Thumbnail( + url: "https://lh3.googleusercontent.com/mv2cTT-W75n3P_cx41TiVQ0hXDrs-3MC84f4CdjTeKtSQBFs94f5aeN0RKPEjoSYoUbjjMc1nlI8dfPT=w60-h60-l90-rj", + width: 60, + height: 60, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/mv2cTT-W75n3P_cx41TiVQ0hXDrs-3MC84f4CdjTeKtSQBFs94f5aeN0RKPEjoSYoUbjjMc1nlI8dfPT=w120-h120-l90-rj", + width: 120, + height: 120, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/mv2cTT-W75n3P_cx41TiVQ0hXDrs-3MC84f4CdjTeKtSQBFs94f5aeN0RKPEjoSYoUbjjMc1nlI8dfPT=w180-h180-l90-rj", + width: 180, + height: 180, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/mv2cTT-W75n3P_cx41TiVQ0hXDrs-3MC84f4CdjTeKtSQBFs94f5aeN0RKPEjoSYoUbjjMc1nlI8dfPT=w226-h226-l90-rj", + width: 226, + height: 226, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/mv2cTT-W75n3P_cx41TiVQ0hXDrs-3MC84f4CdjTeKtSQBFs94f5aeN0RKPEjoSYoUbjjMc1nlI8dfPT=w302-h302-l90-rj", + width: 302, + height: 302, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/mv2cTT-W75n3P_cx41TiVQ0hXDrs-3MC84f4CdjTeKtSQBFs94f5aeN0RKPEjoSYoUbjjMc1nlI8dfPT=w544-h544-l90-rj", + width: 544, + height: 544, + ), + ], + artists: [ + ArtistId( + id: Some("UCWT2ZfW7d8YI-HinHEVhyCA"), + name: "(G)I-DLE", + ), + ], + artist_id: Some("UCWT2ZfW7d8YI-HinHEVhyCA"), + album: Some(AlbumId( + id: "MPREb_lILDKoYdOU4", + name: "I Love", + )), + view_count: None, + is_video: false, + track_nr: None, + ), + TrackItem( + id: "950BdJKBhGo", + title: "Shut Down", + duration: Some(176), + cover: [ + Thumbnail( + url: "https://lh3.googleusercontent.com/7xfJMXx4_XvAfkvKm_XcPazcmOI4kehGuhnheCCmzjkEMlJwx_pIJ_BmzCpX_2IXRl5WHud-vTGpOvPKBg=w60-h60-l90-rj", + width: 60, + height: 60, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/7xfJMXx4_XvAfkvKm_XcPazcmOI4kehGuhnheCCmzjkEMlJwx_pIJ_BmzCpX_2IXRl5WHud-vTGpOvPKBg=w120-h120-l90-rj", + width: 120, + height: 120, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/7xfJMXx4_XvAfkvKm_XcPazcmOI4kehGuhnheCCmzjkEMlJwx_pIJ_BmzCpX_2IXRl5WHud-vTGpOvPKBg=w180-h180-l90-rj", + width: 180, + height: 180, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/7xfJMXx4_XvAfkvKm_XcPazcmOI4kehGuhnheCCmzjkEMlJwx_pIJ_BmzCpX_2IXRl5WHud-vTGpOvPKBg=w226-h226-l90-rj", + width: 226, + height: 226, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/7xfJMXx4_XvAfkvKm_XcPazcmOI4kehGuhnheCCmzjkEMlJwx_pIJ_BmzCpX_2IXRl5WHud-vTGpOvPKBg=w302-h302-l90-rj", + width: 302, + height: 302, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/7xfJMXx4_XvAfkvKm_XcPazcmOI4kehGuhnheCCmzjkEMlJwx_pIJ_BmzCpX_2IXRl5WHud-vTGpOvPKBg=w544-h544-l90-rj", + width: 544, + height: 544, + ), + ], + artists: [ + ArtistId( + id: Some("UCkbbMCA40i18i7UdjayMPAg"), + name: "BLACKPINK", + ), + ], + artist_id: Some("UCkbbMCA40i18i7UdjayMPAg"), + album: Some(AlbumId( + id: "MPREb_J7wVS5GlYZK", + name: "BORN PINK", + )), + view_count: None, + is_video: false, + track_nr: None, + ), + TrackItem( + id: "W0x7GcZkvH4", + title: "RUN2U (RUN2U)", + duration: Some(214), + cover: [ + Thumbnail( + url: "https://lh3.googleusercontent.com/7a5Y-capHxe5YxW1AMQksFyIaj2ErtoXmW5VuT4xrA8DX3HnsUYAqCS3rzmptsWplJwWNlT8Or-UrB-MuQ=w60-h60-l90-rj", + width: 60, + height: 60, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/7a5Y-capHxe5YxW1AMQksFyIaj2ErtoXmW5VuT4xrA8DX3HnsUYAqCS3rzmptsWplJwWNlT8Or-UrB-MuQ=w120-h120-l90-rj", + width: 120, + height: 120, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/7a5Y-capHxe5YxW1AMQksFyIaj2ErtoXmW5VuT4xrA8DX3HnsUYAqCS3rzmptsWplJwWNlT8Or-UrB-MuQ=w180-h180-l90-rj", + width: 180, + height: 180, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/7a5Y-capHxe5YxW1AMQksFyIaj2ErtoXmW5VuT4xrA8DX3HnsUYAqCS3rzmptsWplJwWNlT8Or-UrB-MuQ=w226-h226-l90-rj", + width: 226, + height: 226, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/7a5Y-capHxe5YxW1AMQksFyIaj2ErtoXmW5VuT4xrA8DX3HnsUYAqCS3rzmptsWplJwWNlT8Or-UrB-MuQ=w302-h302-l90-rj", + width: 302, + height: 302, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/7a5Y-capHxe5YxW1AMQksFyIaj2ErtoXmW5VuT4xrA8DX3HnsUYAqCS3rzmptsWplJwWNlT8Or-UrB-MuQ=w544-h544-l90-rj", + width: 544, + height: 544, + ), + ], + artists: [ + ArtistId( + id: Some("UCwc9eSwp1MAoToS9QUTRpDw"), + name: "STAYC", + ), + ], + artist_id: Some("UCwc9eSwp1MAoToS9QUTRpDw"), + album: Some(AlbumId( + id: "MPREb_9FuQjxTIQtE", + name: "YOUNG-LUV.COM (YOUNG-LUV.COM)", + )), + view_count: None, + is_video: false, + track_nr: None, + ), + TrackItem( + id: "0EK_M2taRIM", + title: "ELEVEN (ELEVEN)", + duration: Some(179), + cover: [ + Thumbnail( + url: "https://lh3.googleusercontent.com/w7NKHn3YWR_KDK2ayPiZ7ZPQyTIkGZfP1axwKWF53lfWHMXtBnCE--Yh0w0jBcwol2zNvEqgndWJYLLZ=w60-h60-l90-rj", + width: 60, + height: 60, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/w7NKHn3YWR_KDK2ayPiZ7ZPQyTIkGZfP1axwKWF53lfWHMXtBnCE--Yh0w0jBcwol2zNvEqgndWJYLLZ=w120-h120-l90-rj", + width: 120, + height: 120, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/w7NKHn3YWR_KDK2ayPiZ7ZPQyTIkGZfP1axwKWF53lfWHMXtBnCE--Yh0w0jBcwol2zNvEqgndWJYLLZ=w180-h180-l90-rj", + width: 180, + height: 180, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/w7NKHn3YWR_KDK2ayPiZ7ZPQyTIkGZfP1axwKWF53lfWHMXtBnCE--Yh0w0jBcwol2zNvEqgndWJYLLZ=w226-h226-l90-rj", + width: 226, + height: 226, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/w7NKHn3YWR_KDK2ayPiZ7ZPQyTIkGZfP1axwKWF53lfWHMXtBnCE--Yh0w0jBcwol2zNvEqgndWJYLLZ=w302-h302-l90-rj", + width: 302, + height: 302, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/w7NKHn3YWR_KDK2ayPiZ7ZPQyTIkGZfP1axwKWF53lfWHMXtBnCE--Yh0w0jBcwol2zNvEqgndWJYLLZ=w544-h544-l90-rj", + width: 544, + height: 544, + ), + ], + artists: [ + ArtistId( + id: Some("UC_4Y1QqJr60C5Z7-eQWy-mw"), + name: "IVE", + ), + ], + artist_id: Some("UC_4Y1QqJr60C5Z7-eQWy-mw"), + album: Some(AlbumId( + id: "MPREb_rixnYPvwDRK", + name: "ELEVEN (ELEVEN)", + )), + view_count: None, + is_video: false, + track_nr: None, + ), + TrackItem( + id: "INLFlN-PZq4", + title: "Weekend", + duration: Some(234), + cover: [ + Thumbnail( + url: "https://lh3.googleusercontent.com/Eb4F6fw9Q10ZXODpe4iFDSSn_AQgC3r19HkGT9B1FDOjxg-4vsAMUEqIrjTckWodpjMu4Wb48J1eig5J=w60-h60-l90-rj", + width: 60, + height: 60, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/Eb4F6fw9Q10ZXODpe4iFDSSn_AQgC3r19HkGT9B1FDOjxg-4vsAMUEqIrjTckWodpjMu4Wb48J1eig5J=w120-h120-l90-rj", + width: 120, + height: 120, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/Eb4F6fw9Q10ZXODpe4iFDSSn_AQgC3r19HkGT9B1FDOjxg-4vsAMUEqIrjTckWodpjMu4Wb48J1eig5J=w180-h180-l90-rj", + width: 180, + height: 180, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/Eb4F6fw9Q10ZXODpe4iFDSSn_AQgC3r19HkGT9B1FDOjxg-4vsAMUEqIrjTckWodpjMu4Wb48J1eig5J=w226-h226-l90-rj", + width: 226, + height: 226, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/Eb4F6fw9Q10ZXODpe4iFDSSn_AQgC3r19HkGT9B1FDOjxg-4vsAMUEqIrjTckWodpjMu4Wb48J1eig5J=w302-h302-l90-rj", + width: 302, + height: 302, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/Eb4F6fw9Q10ZXODpe4iFDSSn_AQgC3r19HkGT9B1FDOjxg-4vsAMUEqIrjTckWodpjMu4Wb48J1eig5J=w544-h544-l90-rj", + width: 544, + height: 544, + ), + ], + artists: [ + ArtistId( + id: Some("UCwzCuKxyMY_sT7hr1E8G1XA"), + name: "TAEYEON", + ), + ], + artist_id: Some("UCwzCuKxyMY_sT7hr1E8G1XA"), + album: Some(AlbumId( + id: "MPREb_AXLV76B1XHw", + name: "Weekend", + )), + view_count: None, + is_video: false, + track_nr: None, + ), + TrackItem( + id: "8JXc4idKS_c", + title: "Roller Coaster", + duration: Some(212), + cover: [ + Thumbnail( + url: "https://lh3.googleusercontent.com/k7XKTGhcPukWgnh4wIYC3kPKAT4iRww2jXl1ES9zq-0OvRCxeOz1g2dBgdT2Qo3lQZnDb3FuwSbFWRw=w60-h60-l90-rj", + width: 60, + height: 60, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/k7XKTGhcPukWgnh4wIYC3kPKAT4iRww2jXl1ES9zq-0OvRCxeOz1g2dBgdT2Qo3lQZnDb3FuwSbFWRw=w120-h120-l90-rj", + width: 120, + height: 120, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/k7XKTGhcPukWgnh4wIYC3kPKAT4iRww2jXl1ES9zq-0OvRCxeOz1g2dBgdT2Qo3lQZnDb3FuwSbFWRw=w180-h180-l90-rj", + width: 180, + height: 180, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/k7XKTGhcPukWgnh4wIYC3kPKAT4iRww2jXl1ES9zq-0OvRCxeOz1g2dBgdT2Qo3lQZnDb3FuwSbFWRw=w226-h226-l90-rj", + width: 226, + height: 226, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/k7XKTGhcPukWgnh4wIYC3kPKAT4iRww2jXl1ES9zq-0OvRCxeOz1g2dBgdT2Qo3lQZnDb3FuwSbFWRw=w302-h302-l90-rj", + width: 302, + height: 302, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/k7XKTGhcPukWgnh4wIYC3kPKAT4iRww2jXl1ES9zq-0OvRCxeOz1g2dBgdT2Qo3lQZnDb3FuwSbFWRw=w544-h544-l90-rj", + width: 544, + height: 544, + ), + ], + artists: [ + ArtistId( + id: Some("UCpUChkP-KE20GRsyfjU83_g"), + name: "CHUNGHA", + ), + ], + artist_id: Some("UCpUChkP-KE20GRsyfjU83_g"), + album: Some(AlbumId( + id: "MPREb_gMHbiTzosSX", + name: "Offset", + )), + view_count: None, + is_video: false, + track_nr: None, + ), + TrackItem( + id: "vFFT1iAUNDE", + title: "Scared To Be Lonely", + duration: Some(221), + cover: [ + Thumbnail( + url: "https://lh3.googleusercontent.com/ufhMs2yCPdEVfzVHqfkafLpwaTnuQ_FZejyFClFocb1I69Md_Rh0ph5BJJjzlPrcJStB32p0b_VzgGw=w60-h60-l90-rj", + width: 60, + height: 60, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/ufhMs2yCPdEVfzVHqfkafLpwaTnuQ_FZejyFClFocb1I69Md_Rh0ph5BJJjzlPrcJStB32p0b_VzgGw=w120-h120-l90-rj", + width: 120, + height: 120, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/ufhMs2yCPdEVfzVHqfkafLpwaTnuQ_FZejyFClFocb1I69Md_Rh0ph5BJJjzlPrcJStB32p0b_VzgGw=w180-h180-l90-rj", + width: 180, + height: 180, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/ufhMs2yCPdEVfzVHqfkafLpwaTnuQ_FZejyFClFocb1I69Md_Rh0ph5BJJjzlPrcJStB32p0b_VzgGw=w226-h226-l90-rj", + width: 226, + height: 226, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/ufhMs2yCPdEVfzVHqfkafLpwaTnuQ_FZejyFClFocb1I69Md_Rh0ph5BJJjzlPrcJStB32p0b_VzgGw=w302-h302-l90-rj", + width: 302, + height: 302, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/ufhMs2yCPdEVfzVHqfkafLpwaTnuQ_FZejyFClFocb1I69Md_Rh0ph5BJJjzlPrcJStB32p0b_VzgGw=w544-h544-l90-rj", + width: 544, + height: 544, + ), + ], + artists: [ + ArtistId( + id: Some("UCqJnSdHjKtfsrHi9aI-9d3g"), + name: "Martin Garrix", + ), + ArtistId( + id: Some("UCzVb0SIXp9q9PeKCcFjsBtA"), + name: "Dua Lipa", + ), + ], + artist_id: Some("UCqJnSdHjKtfsrHi9aI-9d3g"), + album: Some(AlbumId( + id: "MPREb_eh6kg8WOyFh", + name: "Scared to Be Lonely", + )), + view_count: None, + is_video: false, + track_nr: None, + ), + TrackItem( + id: "g92HIac9ufA", + title: "After LIKE", + duration: Some(177), + cover: [ + Thumbnail( + url: "https://lh3.googleusercontent.com/kbwN5hyEYdCuz98kPGZfBKjp3acqdvVFXSeihO92ZZilc4FzfrELauOQD7v5Iede-8qIK2tkBRu89g6vJA=w60-h60-l90-rj", + width: 60, + height: 60, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/kbwN5hyEYdCuz98kPGZfBKjp3acqdvVFXSeihO92ZZilc4FzfrELauOQD7v5Iede-8qIK2tkBRu89g6vJA=w120-h120-l90-rj", + width: 120, + height: 120, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/kbwN5hyEYdCuz98kPGZfBKjp3acqdvVFXSeihO92ZZilc4FzfrELauOQD7v5Iede-8qIK2tkBRu89g6vJA=w180-h180-l90-rj", + width: 180, + height: 180, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/kbwN5hyEYdCuz98kPGZfBKjp3acqdvVFXSeihO92ZZilc4FzfrELauOQD7v5Iede-8qIK2tkBRu89g6vJA=w226-h226-l90-rj", + width: 226, + height: 226, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/kbwN5hyEYdCuz98kPGZfBKjp3acqdvVFXSeihO92ZZilc4FzfrELauOQD7v5Iede-8qIK2tkBRu89g6vJA=w302-h302-l90-rj", + width: 302, + height: 302, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/kbwN5hyEYdCuz98kPGZfBKjp3acqdvVFXSeihO92ZZilc4FzfrELauOQD7v5Iede-8qIK2tkBRu89g6vJA=w544-h544-l90-rj", + width: 544, + height: 544, + ), + ], + artists: [ + ArtistId( + id: Some("UC_4Y1QqJr60C5Z7-eQWy-mw"), + name: "IVE", + ), + ], + artist_id: Some("UC_4Y1QqJr60C5Z7-eQWy-mw"), + album: Some(AlbumId( + id: "MPREb_Bfjf00mXFJe", + name: "After LIKE", + )), + view_count: None, + is_video: false, + track_nr: None, + ), + TrackItem( + id: "CinJhZF5ZuA", + title: "불티 Spark", + duration: Some(218), + cover: [ + Thumbnail( + url: "https://lh3.googleusercontent.com/k0NiW0PJEYvnaI2uy6uvIDBkBtGElaUd6EtlNmZaYbKQzwTT49e77AV-5btx2mDG9F6nBDnkQlHvbb8=w60-h60-l90-rj", + width: 60, + height: 60, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/k0NiW0PJEYvnaI2uy6uvIDBkBtGElaUd6EtlNmZaYbKQzwTT49e77AV-5btx2mDG9F6nBDnkQlHvbb8=w120-h120-l90-rj", + width: 120, + height: 120, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/k0NiW0PJEYvnaI2uy6uvIDBkBtGElaUd6EtlNmZaYbKQzwTT49e77AV-5btx2mDG9F6nBDnkQlHvbb8=w180-h180-l90-rj", + width: 180, + height: 180, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/k0NiW0PJEYvnaI2uy6uvIDBkBtGElaUd6EtlNmZaYbKQzwTT49e77AV-5btx2mDG9F6nBDnkQlHvbb8=w226-h226-l90-rj", + width: 226, + height: 226, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/k0NiW0PJEYvnaI2uy6uvIDBkBtGElaUd6EtlNmZaYbKQzwTT49e77AV-5btx2mDG9F6nBDnkQlHvbb8=w302-h302-l90-rj", + width: 302, + height: 302, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/k0NiW0PJEYvnaI2uy6uvIDBkBtGElaUd6EtlNmZaYbKQzwTT49e77AV-5btx2mDG9F6nBDnkQlHvbb8=w544-h544-l90-rj", + width: 544, + height: 544, + ), + ], + artists: [ + ArtistId( + id: Some("UCwzCuKxyMY_sT7hr1E8G1XA"), + name: "TAEYEON", + ), + ], + artist_id: Some("UCwzCuKxyMY_sT7hr1E8G1XA"), + album: Some(AlbumId( + id: "MPREb_0lLr9Y8Dr69", + name: "Purpose - The 2nd Album", + )), + view_count: None, + is_video: false, + track_nr: None, + ), + TrackItem( + id: "t7hmovsG_f0", + title: "Heart Burn (열이올라요 (Heart Burn))", + duration: Some(194), + cover: [ + Thumbnail( + url: "https://lh3.googleusercontent.com/1Of8yi2xMN2mWOAmIazJVrddfZHZAK_id3OTKNM_FAbijWwKxSn-kB6wk2DcLROv339Vv7zA7d-a4LJ6LA=w60-h60-l90-rj", + width: 60, + height: 60, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/1Of8yi2xMN2mWOAmIazJVrddfZHZAK_id3OTKNM_FAbijWwKxSn-kB6wk2DcLROv339Vv7zA7d-a4LJ6LA=w120-h120-l90-rj", + width: 120, + height: 120, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/1Of8yi2xMN2mWOAmIazJVrddfZHZAK_id3OTKNM_FAbijWwKxSn-kB6wk2DcLROv339Vv7zA7d-a4LJ6LA=w180-h180-l90-rj", + width: 180, + height: 180, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/1Of8yi2xMN2mWOAmIazJVrddfZHZAK_id3OTKNM_FAbijWwKxSn-kB6wk2DcLROv339Vv7zA7d-a4LJ6LA=w226-h226-l90-rj", + width: 226, + height: 226, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/1Of8yi2xMN2mWOAmIazJVrddfZHZAK_id3OTKNM_FAbijWwKxSn-kB6wk2DcLROv339Vv7zA7d-a4LJ6LA=w302-h302-l90-rj", + width: 302, + height: 302, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/1Of8yi2xMN2mWOAmIazJVrddfZHZAK_id3OTKNM_FAbijWwKxSn-kB6wk2DcLROv339Vv7zA7d-a4LJ6LA=w544-h544-l90-rj", + width: 544, + height: 544, + ), + ], + artists: [ + ArtistId( + id: Some("UCmeskqhmPRuteGVH4yCXT0A"), + name: "SUNMI", + ), + ], + artist_id: Some("UCmeskqhmPRuteGVH4yCXT0A"), + album: Some(AlbumId( + id: "MPREb_7JLKpoSTGaO", + name: "Heart Burn (열이올라요 (Heart Burn))", + )), + view_count: None, + is_video: false, + track_nr: None, + ), + TrackItem( + id: "FrEDny55ch8", + title: "Rollin\'", + duration: Some(198), + cover: [ + Thumbnail( + url: "https://lh3.googleusercontent.com/WKJ_mscCJbF6E_Z0Va_IEM8SVN7YrhsgrtmMCM1gjpCBDa_NM2xclmQi6vLGDfdQC_WA9TXdTp9yb9RX=w60-h60-l90-rj", + width: 60, + height: 60, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/WKJ_mscCJbF6E_Z0Va_IEM8SVN7YrhsgrtmMCM1gjpCBDa_NM2xclmQi6vLGDfdQC_WA9TXdTp9yb9RX=w120-h120-l90-rj", + width: 120, + height: 120, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/WKJ_mscCJbF6E_Z0Va_IEM8SVN7YrhsgrtmMCM1gjpCBDa_NM2xclmQi6vLGDfdQC_WA9TXdTp9yb9RX=w180-h180-l90-rj", + width: 180, + height: 180, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/WKJ_mscCJbF6E_Z0Va_IEM8SVN7YrhsgrtmMCM1gjpCBDa_NM2xclmQi6vLGDfdQC_WA9TXdTp9yb9RX=w226-h226-l90-rj", + width: 226, + height: 226, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/WKJ_mscCJbF6E_Z0Va_IEM8SVN7YrhsgrtmMCM1gjpCBDa_NM2xclmQi6vLGDfdQC_WA9TXdTp9yb9RX=w302-h302-l90-rj", + width: 302, + height: 302, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/WKJ_mscCJbF6E_Z0Va_IEM8SVN7YrhsgrtmMCM1gjpCBDa_NM2xclmQi6vLGDfdQC_WA9TXdTp9yb9RX=w544-h544-l90-rj", + width: 544, + height: 544, + ), + ], + artists: [ + ArtistId( + id: Some("UChm_d4qO8txdwS4YadlvpSw"), + name: "브레이브걸스", + ), + ], + artist_id: Some("UChm_d4qO8txdwS4YadlvpSw"), + album: Some(AlbumId( + id: "MPREb_4LJoUl7GX3z", + name: "Rollin\'", + )), + view_count: None, + is_video: false, + track_nr: None, + ), + TrackItem( + id: "PyyT5tHbOLw", + title: "Psycho", + duration: Some(210), + cover: [ + Thumbnail( + url: "https://lh3.googleusercontent.com/GvH5XosavVVtAhcsxClhWtnXdp1IitLGsfAP_2pAWLBVC6DJQNe3UIHbf74qLvOz-_zLXzW-MUkC4PSv=w60-h60-l90-rj", + width: 60, + height: 60, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/GvH5XosavVVtAhcsxClhWtnXdp1IitLGsfAP_2pAWLBVC6DJQNe3UIHbf74qLvOz-_zLXzW-MUkC4PSv=w120-h120-l90-rj", + width: 120, + height: 120, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/GvH5XosavVVtAhcsxClhWtnXdp1IitLGsfAP_2pAWLBVC6DJQNe3UIHbf74qLvOz-_zLXzW-MUkC4PSv=w180-h180-l90-rj", + width: 180, + height: 180, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/GvH5XosavVVtAhcsxClhWtnXdp1IitLGsfAP_2pAWLBVC6DJQNe3UIHbf74qLvOz-_zLXzW-MUkC4PSv=w226-h226-l90-rj", + width: 226, + height: 226, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/GvH5XosavVVtAhcsxClhWtnXdp1IitLGsfAP_2pAWLBVC6DJQNe3UIHbf74qLvOz-_zLXzW-MUkC4PSv=w302-h302-l90-rj", + width: 302, + height: 302, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/GvH5XosavVVtAhcsxClhWtnXdp1IitLGsfAP_2pAWLBVC6DJQNe3UIHbf74qLvOz-_zLXzW-MUkC4PSv=w544-h544-l90-rj", + width: 544, + height: 544, + ), + ], + artists: [ + ArtistId( + id: Some("UCHmZYTfdTyVKQEJicLiXEOg"), + name: "Red Velvet", + ), + ], + artist_id: Some("UCHmZYTfdTyVKQEJicLiXEOg"), + album: Some(AlbumId( + id: "MPREb_GeOYupQ6NZH", + name: "The ReVe Festival: Finale", + )), + view_count: None, + is_video: false, + track_nr: None, + ), + TrackItem( + id: "_ZkUb7iIOqQ", + title: "Square (2017)", + duration: Some(261), + cover: [ + Thumbnail( + url: "https://lh3.googleusercontent.com/EA3OxN9nacCCCjtl6RGUYa1-OTVfJMf0KZLdqG7QNx7-3qkFyq-mHIHX3IHQ9G3TD-sjTkC8Kd6gWVWFnw=w60-h60-l90-rj", + width: 60, + height: 60, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/EA3OxN9nacCCCjtl6RGUYa1-OTVfJMf0KZLdqG7QNx7-3qkFyq-mHIHX3IHQ9G3TD-sjTkC8Kd6gWVWFnw=w120-h120-l90-rj", + width: 120, + height: 120, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/EA3OxN9nacCCCjtl6RGUYa1-OTVfJMf0KZLdqG7QNx7-3qkFyq-mHIHX3IHQ9G3TD-sjTkC8Kd6gWVWFnw=w180-h180-l90-rj", + width: 180, + height: 180, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/EA3OxN9nacCCCjtl6RGUYa1-OTVfJMf0KZLdqG7QNx7-3qkFyq-mHIHX3IHQ9G3TD-sjTkC8Kd6gWVWFnw=w226-h226-l90-rj", + width: 226, + height: 226, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/EA3OxN9nacCCCjtl6RGUYa1-OTVfJMf0KZLdqG7QNx7-3qkFyq-mHIHX3IHQ9G3TD-sjTkC8Kd6gWVWFnw=w302-h302-l90-rj", + width: 302, + height: 302, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/EA3OxN9nacCCCjtl6RGUYa1-OTVfJMf0KZLdqG7QNx7-3qkFyq-mHIHX3IHQ9G3TD-sjTkC8Kd6gWVWFnw=w544-h544-l90-rj", + width: 544, + height: 544, + ), + ], + artists: [ + ArtistId( + id: Some("UCa5b_7ImijW-GNEt4hNUzWg"), + name: "Yerin Baek", + ), + ], + artist_id: Some("UCa5b_7ImijW-GNEt4hNUzWg"), + album: Some(AlbumId( + id: "MPREb_q7V0cDvG61X", + name: "Every letter I sent you.", + )), + view_count: None, + is_video: false, + track_nr: None, + ), + TrackItem( + id: "UxZH9lRdLD0", + title: "Stronger (What Doesn\'t Kill You)", + duration: Some(222), + cover: [ + Thumbnail( + url: "https://lh3.googleusercontent.com/h8mMqfXxnzrNGrzTlHrVxbDhlZWP2MeLkgcAseJz5q0sTEZe1Z3ISFeEbUgic_wMm9j2DJxb6xa9j8pG=w60-h60-s-l90-rj", + width: 60, + height: 60, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/h8mMqfXxnzrNGrzTlHrVxbDhlZWP2MeLkgcAseJz5q0sTEZe1Z3ISFeEbUgic_wMm9j2DJxb6xa9j8pG=w120-h120-s-l90-rj", + width: 120, + height: 120, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/h8mMqfXxnzrNGrzTlHrVxbDhlZWP2MeLkgcAseJz5q0sTEZe1Z3ISFeEbUgic_wMm9j2DJxb6xa9j8pG=w180-h180-s-l90-rj", + width: 180, + height: 180, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/h8mMqfXxnzrNGrzTlHrVxbDhlZWP2MeLkgcAseJz5q0sTEZe1Z3ISFeEbUgic_wMm9j2DJxb6xa9j8pG=w226-h226-s-l90-rj", + width: 226, + height: 226, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/h8mMqfXxnzrNGrzTlHrVxbDhlZWP2MeLkgcAseJz5q0sTEZe1Z3ISFeEbUgic_wMm9j2DJxb6xa9j8pG=w302-h302-s-l90-rj", + width: 302, + height: 302, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/h8mMqfXxnzrNGrzTlHrVxbDhlZWP2MeLkgcAseJz5q0sTEZe1Z3ISFeEbUgic_wMm9j2DJxb6xa9j8pG=w544-h544-s-l90-rj", + width: 544, + height: 544, + ), + ], + artists: [ + ArtistId( + id: Some("UCpXP9-cHlJCMapSYCSZThbw"), + name: "Kelly Clarkson", + ), + ], + artist_id: Some("UCpXP9-cHlJCMapSYCSZThbw"), + album: Some(AlbumId( + id: "MPREb_HqkKqqBjMRT", + name: "Stronger (Deluxe Version)", + )), + view_count: None, + is_video: false, + track_nr: None, + ), + TrackItem( + id: "aYlXNpaQydk", + title: "REALLY REALLY", + duration: Some(204), + cover: [ + Thumbnail( + url: "https://lh3.googleusercontent.com/Tw6YaAWcVKZ6mIyZ8ck6kKQCD3VbjXG37RWp1z7GMp88XHCJxXq1SieCAxbFZfn86CEXYoPxptFNXBEm=w60-h60-l90-rj", + width: 60, + height: 60, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/Tw6YaAWcVKZ6mIyZ8ck6kKQCD3VbjXG37RWp1z7GMp88XHCJxXq1SieCAxbFZfn86CEXYoPxptFNXBEm=w120-h120-l90-rj", + width: 120, + height: 120, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/Tw6YaAWcVKZ6mIyZ8ck6kKQCD3VbjXG37RWp1z7GMp88XHCJxXq1SieCAxbFZfn86CEXYoPxptFNXBEm=w180-h180-l90-rj", + width: 180, + height: 180, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/Tw6YaAWcVKZ6mIyZ8ck6kKQCD3VbjXG37RWp1z7GMp88XHCJxXq1SieCAxbFZfn86CEXYoPxptFNXBEm=w226-h226-l90-rj", + width: 226, + height: 226, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/Tw6YaAWcVKZ6mIyZ8ck6kKQCD3VbjXG37RWp1z7GMp88XHCJxXq1SieCAxbFZfn86CEXYoPxptFNXBEm=w302-h302-l90-rj", + width: 302, + height: 302, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/Tw6YaAWcVKZ6mIyZ8ck6kKQCD3VbjXG37RWp1z7GMp88XHCJxXq1SieCAxbFZfn86CEXYoPxptFNXBEm=w544-h544-l90-rj", + width: 544, + height: 544, + ), + ], + artists: [ + ArtistId( + id: Some("UCYFMusbxIBk6gosFW0o882A"), + name: "WINNER", + ), + ], + artist_id: Some("UCYFMusbxIBk6gosFW0o882A"), + album: Some(AlbumId( + id: "MPREb_BwbL2bYaRim", + name: "FATE NUMBER FOR", + )), + view_count: None, + is_video: false, + track_nr: None, + ), + TrackItem( + id: "SZiwpL62to8", + title: "ANTIFRAGILE", + duration: Some(185), + cover: [ + Thumbnail( + url: "https://lh3.googleusercontent.com/wO1e34ZIcA1kJp5IXYqt2JGE2IxrajoiHM_04M9Pgk8RqSxVBsAw1EK4DOuzb_r6NG1d8f9LHN4pcTLo=w60-h60-l90-rj", + width: 60, + height: 60, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/wO1e34ZIcA1kJp5IXYqt2JGE2IxrajoiHM_04M9Pgk8RqSxVBsAw1EK4DOuzb_r6NG1d8f9LHN4pcTLo=w120-h120-l90-rj", + width: 120, + height: 120, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/wO1e34ZIcA1kJp5IXYqt2JGE2IxrajoiHM_04M9Pgk8RqSxVBsAw1EK4DOuzb_r6NG1d8f9LHN4pcTLo=w180-h180-l90-rj", + width: 180, + height: 180, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/wO1e34ZIcA1kJp5IXYqt2JGE2IxrajoiHM_04M9Pgk8RqSxVBsAw1EK4DOuzb_r6NG1d8f9LHN4pcTLo=w226-h226-l90-rj", + width: 226, + height: 226, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/wO1e34ZIcA1kJp5IXYqt2JGE2IxrajoiHM_04M9Pgk8RqSxVBsAw1EK4DOuzb_r6NG1d8f9LHN4pcTLo=w302-h302-l90-rj", + width: 302, + height: 302, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/wO1e34ZIcA1kJp5IXYqt2JGE2IxrajoiHM_04M9Pgk8RqSxVBsAw1EK4DOuzb_r6NG1d8f9LHN4pcTLo=w544-h544-l90-rj", + width: 544, + height: 544, + ), + ], + artists: [ + ArtistId( + id: Some("UC-clMkTZa7k-FxmNgMjoCgQ"), + name: "LE SSERAFIM", + ), + ], + artist_id: Some("UC-clMkTZa7k-FxmNgMjoCgQ"), + album: Some(AlbumId( + id: "MPREb_SJA2asw5TEA", + name: "ANTIFRAGILE", + )), + view_count: None, + is_video: false, + track_nr: None, + ), + TrackItem( + id: "mbg1Cn6Ua9U", + title: "다시 만난 세계 Into The New World", + duration: Some(266), + cover: [ + Thumbnail( + url: "https://lh3.googleusercontent.com/O7dUKbQYzdF9HpCmIwf2lVXwNn67HldMtIyFUlt9IAioZtXGsnSWgrEl5YZuIHZnbPeE4W92T3dPFhs=w60-h60-l90-rj", + width: 60, + height: 60, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/O7dUKbQYzdF9HpCmIwf2lVXwNn67HldMtIyFUlt9IAioZtXGsnSWgrEl5YZuIHZnbPeE4W92T3dPFhs=w120-h120-l90-rj", + width: 120, + height: 120, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/O7dUKbQYzdF9HpCmIwf2lVXwNn67HldMtIyFUlt9IAioZtXGsnSWgrEl5YZuIHZnbPeE4W92T3dPFhs=w180-h180-l90-rj", + width: 180, + height: 180, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/O7dUKbQYzdF9HpCmIwf2lVXwNn67HldMtIyFUlt9IAioZtXGsnSWgrEl5YZuIHZnbPeE4W92T3dPFhs=w226-h226-l90-rj", + width: 226, + height: 226, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/O7dUKbQYzdF9HpCmIwf2lVXwNn67HldMtIyFUlt9IAioZtXGsnSWgrEl5YZuIHZnbPeE4W92T3dPFhs=w302-h302-l90-rj", + width: 302, + height: 302, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/O7dUKbQYzdF9HpCmIwf2lVXwNn67HldMtIyFUlt9IAioZtXGsnSWgrEl5YZuIHZnbPeE4W92T3dPFhs=w544-h544-l90-rj", + width: 544, + height: 544, + ), + ], + artists: [ + ArtistId( + id: Some("UCGn8T3PmIkow87GeZC9mW7g"), + name: "Girls\' Generation", + ), + ], + artist_id: Some("UCGn8T3PmIkow87GeZC9mW7g"), + album: Some(AlbumId( + id: "MPREb_vctfV91h8tT", + name: "소녀시대 Girls\' Generation", + )), + view_count: None, + is_video: false, + track_nr: None, + ), + ], + ctoken: Some("CBkSSBILbWJnMUNuNlVhOVUiEVJEQU1WTTduaWdYUVMxWGIwMg53QUVCOGdFQ2VBRSUzRDgY0AEB-gEQQzcxNUY2RDFGQjIwNEQwQRgKggEVUFQ6RWd0dFltY3hRMjQyVldFNVZR"), + endpoint: music_next, +) diff --git a/src/client/snapshots/rustypipe__client__pagination__tests__map_radio_tracks.snap b/src/client/snapshots/rustypipe__client__pagination__tests__map_radio_tracks.snap new file mode 100644 index 0000000..0cb7f21 --- /dev/null +++ b/src/client/snapshots/rustypipe__client__pagination__tests__map_radio_tracks.snap @@ -0,0 +1,1243 @@ +--- +source: src/client/pagination.rs +expression: paginator +--- +Paginator( + count: None, + items: [ + TrackItem( + id: "u1uvv_yKhH8", + title: "Fine", + duration: Some(210), + cover: [ + Thumbnail( + url: "https://lh3.googleusercontent.com/3MyOmMOLMQCZF98njtrwBOVTaFt8DZlVTzQ-ed6gVNVQc4eu4YWqOTWjv3fYFpDlC16UQ-88vnal1Mvuag=w60-h60-l90-rj", + width: 60, + height: 60, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/3MyOmMOLMQCZF98njtrwBOVTaFt8DZlVTzQ-ed6gVNVQc4eu4YWqOTWjv3fYFpDlC16UQ-88vnal1Mvuag=w120-h120-l90-rj", + width: 120, + height: 120, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/3MyOmMOLMQCZF98njtrwBOVTaFt8DZlVTzQ-ed6gVNVQc4eu4YWqOTWjv3fYFpDlC16UQ-88vnal1Mvuag=w180-h180-l90-rj", + width: 180, + height: 180, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/3MyOmMOLMQCZF98njtrwBOVTaFt8DZlVTzQ-ed6gVNVQc4eu4YWqOTWjv3fYFpDlC16UQ-88vnal1Mvuag=w226-h226-l90-rj", + width: 226, + height: 226, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/3MyOmMOLMQCZF98njtrwBOVTaFt8DZlVTzQ-ed6gVNVQc4eu4YWqOTWjv3fYFpDlC16UQ-88vnal1Mvuag=w302-h302-l90-rj", + width: 302, + height: 302, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/3MyOmMOLMQCZF98njtrwBOVTaFt8DZlVTzQ-ed6gVNVQc4eu4YWqOTWjv3fYFpDlC16UQ-88vnal1Mvuag=w544-h544-l90-rj", + width: 544, + height: 544, + ), + ], + artists: [ + ArtistId( + id: Some("UCwzCuKxyMY_sT7hr1E8G1XA"), + name: "TAEYEON", + ), + ], + artist_id: Some("UCwzCuKxyMY_sT7hr1E8G1XA"), + album: Some(AlbumId( + id: "MPREb_vuRMHNG5m7r", + name: "My Voice - The 1st Album", + )), + view_count: None, + is_video: false, + track_nr: None, + ), + TrackItem( + id: "hh5GKVa8VtM", + title: "LOVE DIVE (LOVE DIVE)", + duration: Some(178), + cover: [ + Thumbnail( + url: "https://lh3.googleusercontent.com/jRELX5qAew8CuPt1mAzv_51WgcWjY08kCbK051wB4MX8B_4K9CgUVX5YHqxRwPoFhoNQZ69vbY03tL6S=w60-h60-l90-rj", + width: 60, + height: 60, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/jRELX5qAew8CuPt1mAzv_51WgcWjY08kCbK051wB4MX8B_4K9CgUVX5YHqxRwPoFhoNQZ69vbY03tL6S=w120-h120-l90-rj", + width: 120, + height: 120, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/jRELX5qAew8CuPt1mAzv_51WgcWjY08kCbK051wB4MX8B_4K9CgUVX5YHqxRwPoFhoNQZ69vbY03tL6S=w180-h180-l90-rj", + width: 180, + height: 180, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/jRELX5qAew8CuPt1mAzv_51WgcWjY08kCbK051wB4MX8B_4K9CgUVX5YHqxRwPoFhoNQZ69vbY03tL6S=w226-h226-l90-rj", + width: 226, + height: 226, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/jRELX5qAew8CuPt1mAzv_51WgcWjY08kCbK051wB4MX8B_4K9CgUVX5YHqxRwPoFhoNQZ69vbY03tL6S=w302-h302-l90-rj", + width: 302, + height: 302, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/jRELX5qAew8CuPt1mAzv_51WgcWjY08kCbK051wB4MX8B_4K9CgUVX5YHqxRwPoFhoNQZ69vbY03tL6S=w544-h544-l90-rj", + width: 544, + height: 544, + ), + ], + artists: [ + ArtistId( + id: Some("UC_4Y1QqJr60C5Z7-eQWy-mw"), + name: "IVE", + ), + ], + artist_id: Some("UC_4Y1QqJr60C5Z7-eQWy-mw"), + album: Some(AlbumId( + id: "MPREb_Yqp7NyUFXMt", + name: "LOVE DIVE (LOVE DIVE)", + )), + view_count: None, + is_video: false, + track_nr: None, + ), + TrackItem( + id: "RdU3F5vN3_s", + title: "Nxde", + duration: Some(179), + cover: [ + Thumbnail( + url: "https://lh3.googleusercontent.com/mv2cTT-W75n3P_cx41TiVQ0hXDrs-3MC84f4CdjTeKtSQBFs94f5aeN0RKPEjoSYoUbjjMc1nlI8dfPT=w60-h60-l90-rj", + width: 60, + height: 60, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/mv2cTT-W75n3P_cx41TiVQ0hXDrs-3MC84f4CdjTeKtSQBFs94f5aeN0RKPEjoSYoUbjjMc1nlI8dfPT=w120-h120-l90-rj", + width: 120, + height: 120, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/mv2cTT-W75n3P_cx41TiVQ0hXDrs-3MC84f4CdjTeKtSQBFs94f5aeN0RKPEjoSYoUbjjMc1nlI8dfPT=w180-h180-l90-rj", + width: 180, + height: 180, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/mv2cTT-W75n3P_cx41TiVQ0hXDrs-3MC84f4CdjTeKtSQBFs94f5aeN0RKPEjoSYoUbjjMc1nlI8dfPT=w226-h226-l90-rj", + width: 226, + height: 226, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/mv2cTT-W75n3P_cx41TiVQ0hXDrs-3MC84f4CdjTeKtSQBFs94f5aeN0RKPEjoSYoUbjjMc1nlI8dfPT=w302-h302-l90-rj", + width: 302, + height: 302, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/mv2cTT-W75n3P_cx41TiVQ0hXDrs-3MC84f4CdjTeKtSQBFs94f5aeN0RKPEjoSYoUbjjMc1nlI8dfPT=w544-h544-l90-rj", + width: 544, + height: 544, + ), + ], + artists: [ + ArtistId( + id: Some("UCWT2ZfW7d8YI-HinHEVhyCA"), + name: "(G)I-DLE", + ), + ], + artist_id: Some("UCWT2ZfW7d8YI-HinHEVhyCA"), + album: Some(AlbumId( + id: "MPREb_lILDKoYdOU4", + name: "I Love", + )), + view_count: None, + is_video: false, + track_nr: None, + ), + TrackItem( + id: "OXWz_x6-dro", + title: "Feel My Rhythm", + duration: Some(211), + cover: [ + Thumbnail( + url: "https://lh3.googleusercontent.com/Zkk_jGQgpi2xShYOtrLbb9Aw3INchh0AWRQRiDVhyw7RMPXAs5dbejgRMC7neOjmBZp2PB5eqvk4oAnItQ=w60-h60-l90-rj", + width: 60, + height: 60, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/Zkk_jGQgpi2xShYOtrLbb9Aw3INchh0AWRQRiDVhyw7RMPXAs5dbejgRMC7neOjmBZp2PB5eqvk4oAnItQ=w120-h120-l90-rj", + width: 120, + height: 120, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/Zkk_jGQgpi2xShYOtrLbb9Aw3INchh0AWRQRiDVhyw7RMPXAs5dbejgRMC7neOjmBZp2PB5eqvk4oAnItQ=w180-h180-l90-rj", + width: 180, + height: 180, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/Zkk_jGQgpi2xShYOtrLbb9Aw3INchh0AWRQRiDVhyw7RMPXAs5dbejgRMC7neOjmBZp2PB5eqvk4oAnItQ=w226-h226-l90-rj", + width: 226, + height: 226, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/Zkk_jGQgpi2xShYOtrLbb9Aw3INchh0AWRQRiDVhyw7RMPXAs5dbejgRMC7neOjmBZp2PB5eqvk4oAnItQ=w302-h302-l90-rj", + width: 302, + height: 302, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/Zkk_jGQgpi2xShYOtrLbb9Aw3INchh0AWRQRiDVhyw7RMPXAs5dbejgRMC7neOjmBZp2PB5eqvk4oAnItQ=w544-h544-l90-rj", + width: 544, + height: 544, + ), + ], + artists: [ + ArtistId( + id: Some("UCHmZYTfdTyVKQEJicLiXEOg"), + name: "Red Velvet", + ), + ], + artist_id: Some("UCHmZYTfdTyVKQEJicLiXEOg"), + album: Some(AlbumId( + id: "MPREb_fwK4xLwdkoj", + name: "\'The ReVe Festival 2022 - Feel My Rhythm\'", + )), + view_count: None, + is_video: false, + track_nr: None, + ), + TrackItem( + id: "ghrlZIMDzbM", + title: "Hype Boy", + duration: Some(180), + cover: [ + Thumbnail( + url: "https://lh3.googleusercontent.com/yg7U52lN4NMHddFXE1de6d99puDNeC-1U6q5PnLjXPatrexqW9AOoWC8a5EJBULlXraaEWU8OvKrFYrp1A=w60-h60-l90-rj", + width: 60, + height: 60, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/yg7U52lN4NMHddFXE1de6d99puDNeC-1U6q5PnLjXPatrexqW9AOoWC8a5EJBULlXraaEWU8OvKrFYrp1A=w120-h120-l90-rj", + width: 120, + height: 120, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/yg7U52lN4NMHddFXE1de6d99puDNeC-1U6q5PnLjXPatrexqW9AOoWC8a5EJBULlXraaEWU8OvKrFYrp1A=w180-h180-l90-rj", + width: 180, + height: 180, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/yg7U52lN4NMHddFXE1de6d99puDNeC-1U6q5PnLjXPatrexqW9AOoWC8a5EJBULlXraaEWU8OvKrFYrp1A=w226-h226-l90-rj", + width: 226, + height: 226, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/yg7U52lN4NMHddFXE1de6d99puDNeC-1U6q5PnLjXPatrexqW9AOoWC8a5EJBULlXraaEWU8OvKrFYrp1A=w302-h302-l90-rj", + width: 302, + height: 302, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/yg7U52lN4NMHddFXE1de6d99puDNeC-1U6q5PnLjXPatrexqW9AOoWC8a5EJBULlXraaEWU8OvKrFYrp1A=w544-h544-l90-rj", + width: 544, + height: 544, + ), + ], + artists: [ + ArtistId( + id: Some("UCxOqS3cYg4FaHbobICo7nFQ"), + name: "NewJeans", + ), + ], + artist_id: Some("UCxOqS3cYg4FaHbobICo7nFQ"), + album: Some(AlbumId( + id: "MPREb_UspB6ni9VXz", + name: "NewJeans 1st EP \'New Jeans\'", + )), + view_count: None, + is_video: false, + track_nr: None, + ), + TrackItem( + id: "QiziJ40kTz0", + title: "FOREVER 1", + duration: Some(203), + cover: [ + Thumbnail( + url: "https://lh3.googleusercontent.com/BUvfDzYYoFWiMZ7qdbRmDNwQAb1BUO2EJqDlSF7D8cVqaqOYCnibj4YtRf70liOT8j8382sVdjQb-9OJ9g=w60-h60-l90-rj", + width: 60, + height: 60, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/BUvfDzYYoFWiMZ7qdbRmDNwQAb1BUO2EJqDlSF7D8cVqaqOYCnibj4YtRf70liOT8j8382sVdjQb-9OJ9g=w120-h120-l90-rj", + width: 120, + height: 120, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/BUvfDzYYoFWiMZ7qdbRmDNwQAb1BUO2EJqDlSF7D8cVqaqOYCnibj4YtRf70liOT8j8382sVdjQb-9OJ9g=w180-h180-l90-rj", + width: 180, + height: 180, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/BUvfDzYYoFWiMZ7qdbRmDNwQAb1BUO2EJqDlSF7D8cVqaqOYCnibj4YtRf70liOT8j8382sVdjQb-9OJ9g=w226-h226-l90-rj", + width: 226, + height: 226, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/BUvfDzYYoFWiMZ7qdbRmDNwQAb1BUO2EJqDlSF7D8cVqaqOYCnibj4YtRf70liOT8j8382sVdjQb-9OJ9g=w302-h302-l90-rj", + width: 302, + height: 302, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/BUvfDzYYoFWiMZ7qdbRmDNwQAb1BUO2EJqDlSF7D8cVqaqOYCnibj4YtRf70liOT8j8382sVdjQb-9OJ9g=w544-h544-l90-rj", + width: 544, + height: 544, + ), + ], + artists: [ + ArtistId( + id: Some("UCGn8T3PmIkow87GeZC9mW7g"), + name: "Girls\' Generation", + ), + ], + artist_id: Some("UCGn8T3PmIkow87GeZC9mW7g"), + album: Some(AlbumId( + id: "MPREb_gpWHoz5UqGF", + name: "FOREVER 1 - The 7th Album", + )), + view_count: None, + is_video: false, + track_nr: None, + ), + TrackItem( + id: "950BdJKBhGo", + title: "Shut Down", + duration: Some(176), + cover: [ + Thumbnail( + url: "https://lh3.googleusercontent.com/7xfJMXx4_XvAfkvKm_XcPazcmOI4kehGuhnheCCmzjkEMlJwx_pIJ_BmzCpX_2IXRl5WHud-vTGpOvPKBg=w60-h60-l90-rj", + width: 60, + height: 60, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/7xfJMXx4_XvAfkvKm_XcPazcmOI4kehGuhnheCCmzjkEMlJwx_pIJ_BmzCpX_2IXRl5WHud-vTGpOvPKBg=w120-h120-l90-rj", + width: 120, + height: 120, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/7xfJMXx4_XvAfkvKm_XcPazcmOI4kehGuhnheCCmzjkEMlJwx_pIJ_BmzCpX_2IXRl5WHud-vTGpOvPKBg=w180-h180-l90-rj", + width: 180, + height: 180, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/7xfJMXx4_XvAfkvKm_XcPazcmOI4kehGuhnheCCmzjkEMlJwx_pIJ_BmzCpX_2IXRl5WHud-vTGpOvPKBg=w226-h226-l90-rj", + width: 226, + height: 226, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/7xfJMXx4_XvAfkvKm_XcPazcmOI4kehGuhnheCCmzjkEMlJwx_pIJ_BmzCpX_2IXRl5WHud-vTGpOvPKBg=w302-h302-l90-rj", + width: 302, + height: 302, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/7xfJMXx4_XvAfkvKm_XcPazcmOI4kehGuhnheCCmzjkEMlJwx_pIJ_BmzCpX_2IXRl5WHud-vTGpOvPKBg=w544-h544-l90-rj", + width: 544, + height: 544, + ), + ], + artists: [ + ArtistId( + id: Some("UCkbbMCA40i18i7UdjayMPAg"), + name: "BLACKPINK", + ), + ], + artist_id: Some("UCkbbMCA40i18i7UdjayMPAg"), + album: Some(AlbumId( + id: "MPREb_J7wVS5GlYZK", + name: "BORN PINK", + )), + view_count: None, + is_video: false, + track_nr: None, + ), + TrackItem( + id: "tkzYyEp4zB4", + title: "Next Level", + duration: Some(222), + cover: [ + Thumbnail( + url: "https://lh3.googleusercontent.com/KRU-LikB-YvAXaEeHgh_8ismnHXjT_GRgr3PKv2Hjcm7Y9TNyzb2cHRKv0B5MaySP9A1ifqSazQSwPd9=w60-h60-l90-rj", + width: 60, + height: 60, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/KRU-LikB-YvAXaEeHgh_8ismnHXjT_GRgr3PKv2Hjcm7Y9TNyzb2cHRKv0B5MaySP9A1ifqSazQSwPd9=w120-h120-l90-rj", + width: 120, + height: 120, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/KRU-LikB-YvAXaEeHgh_8ismnHXjT_GRgr3PKv2Hjcm7Y9TNyzb2cHRKv0B5MaySP9A1ifqSazQSwPd9=w180-h180-l90-rj", + width: 180, + height: 180, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/KRU-LikB-YvAXaEeHgh_8ismnHXjT_GRgr3PKv2Hjcm7Y9TNyzb2cHRKv0B5MaySP9A1ifqSazQSwPd9=w226-h226-l90-rj", + width: 226, + height: 226, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/KRU-LikB-YvAXaEeHgh_8ismnHXjT_GRgr3PKv2Hjcm7Y9TNyzb2cHRKv0B5MaySP9A1ifqSazQSwPd9=w302-h302-l90-rj", + width: 302, + height: 302, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/KRU-LikB-YvAXaEeHgh_8ismnHXjT_GRgr3PKv2Hjcm7Y9TNyzb2cHRKv0B5MaySP9A1ifqSazQSwPd9=w544-h544-l90-rj", + width: 544, + height: 544, + ), + ], + artists: [ + ArtistId( + id: Some("UCEdZAdnnKqbaHOlv8nM6OtA"), + name: "aespa", + ), + ], + artist_id: Some("UCEdZAdnnKqbaHOlv8nM6OtA"), + album: Some(AlbumId( + id: "MPREb_EvUWUKT2PHE", + name: "Next Level", + )), + view_count: None, + is_video: false, + track_nr: None, + ), + TrackItem( + id: "ffqliB42Nh4", + title: "We Don\'t Talk Anymore (feat. Selena Gomez)", + duration: Some(218), + cover: [ + Thumbnail( + url: "https://lh3.googleusercontent.com/TlXKDSRGrj0ogqmGbzyGvZrsT9T0F6xgV-2-3pelbzRms0cODdb-ndDg6SpFzkHYMb4NMMMW957wmrObfw=w60-h60-l90-rj", + width: 60, + height: 60, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/TlXKDSRGrj0ogqmGbzyGvZrsT9T0F6xgV-2-3pelbzRms0cODdb-ndDg6SpFzkHYMb4NMMMW957wmrObfw=w120-h120-l90-rj", + width: 120, + height: 120, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/TlXKDSRGrj0ogqmGbzyGvZrsT9T0F6xgV-2-3pelbzRms0cODdb-ndDg6SpFzkHYMb4NMMMW957wmrObfw=w180-h180-l90-rj", + width: 180, + height: 180, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/TlXKDSRGrj0ogqmGbzyGvZrsT9T0F6xgV-2-3pelbzRms0cODdb-ndDg6SpFzkHYMb4NMMMW957wmrObfw=w226-h226-l90-rj", + width: 226, + height: 226, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/TlXKDSRGrj0ogqmGbzyGvZrsT9T0F6xgV-2-3pelbzRms0cODdb-ndDg6SpFzkHYMb4NMMMW957wmrObfw=w302-h302-l90-rj", + width: 302, + height: 302, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/TlXKDSRGrj0ogqmGbzyGvZrsT9T0F6xgV-2-3pelbzRms0cODdb-ndDg6SpFzkHYMb4NMMMW957wmrObfw=w544-h544-l90-rj", + width: 544, + height: 544, + ), + ], + artists: [ + ArtistId( + id: Some("UCQ-ygxSFSlq-O2zGnXxELXQ"), + name: "Charlie Puth", + ), + ], + artist_id: Some("UCQ-ygxSFSlq-O2zGnXxELXQ"), + album: Some(AlbumId( + id: "MPREb_MzZseuRpTgd", + name: "Nine Track Mind", + )), + view_count: None, + is_video: false, + track_nr: None, + ), + TrackItem( + id: "vFFT1iAUNDE", + title: "Scared To Be Lonely", + duration: Some(221), + cover: [ + Thumbnail( + url: "https://lh3.googleusercontent.com/ufhMs2yCPdEVfzVHqfkafLpwaTnuQ_FZejyFClFocb1I69Md_Rh0ph5BJJjzlPrcJStB32p0b_VzgGw=w60-h60-l90-rj", + width: 60, + height: 60, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/ufhMs2yCPdEVfzVHqfkafLpwaTnuQ_FZejyFClFocb1I69Md_Rh0ph5BJJjzlPrcJStB32p0b_VzgGw=w120-h120-l90-rj", + width: 120, + height: 120, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/ufhMs2yCPdEVfzVHqfkafLpwaTnuQ_FZejyFClFocb1I69Md_Rh0ph5BJJjzlPrcJStB32p0b_VzgGw=w180-h180-l90-rj", + width: 180, + height: 180, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/ufhMs2yCPdEVfzVHqfkafLpwaTnuQ_FZejyFClFocb1I69Md_Rh0ph5BJJjzlPrcJStB32p0b_VzgGw=w226-h226-l90-rj", + width: 226, + height: 226, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/ufhMs2yCPdEVfzVHqfkafLpwaTnuQ_FZejyFClFocb1I69Md_Rh0ph5BJJjzlPrcJStB32p0b_VzgGw=w302-h302-l90-rj", + width: 302, + height: 302, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/ufhMs2yCPdEVfzVHqfkafLpwaTnuQ_FZejyFClFocb1I69Md_Rh0ph5BJJjzlPrcJStB32p0b_VzgGw=w544-h544-l90-rj", + width: 544, + height: 544, + ), + ], + artists: [ + ArtistId( + id: Some("UCqJnSdHjKtfsrHi9aI-9d3g"), + name: "Martin Garrix", + ), + ArtistId( + id: Some("UCzVb0SIXp9q9PeKCcFjsBtA"), + name: "Dua Lipa", + ), + ], + artist_id: Some("UCqJnSdHjKtfsrHi9aI-9d3g"), + album: Some(AlbumId( + id: "MPREb_eh6kg8WOyFh", + name: "Scared to Be Lonely", + )), + view_count: None, + is_video: false, + track_nr: None, + ), + TrackItem( + id: "8JXc4idKS_c", + title: "Roller Coaster", + duration: Some(212), + cover: [ + Thumbnail( + url: "https://lh3.googleusercontent.com/k7XKTGhcPukWgnh4wIYC3kPKAT4iRww2jXl1ES9zq-0OvRCxeOz1g2dBgdT2Qo3lQZnDb3FuwSbFWRw=w60-h60-l90-rj", + width: 60, + height: 60, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/k7XKTGhcPukWgnh4wIYC3kPKAT4iRww2jXl1ES9zq-0OvRCxeOz1g2dBgdT2Qo3lQZnDb3FuwSbFWRw=w120-h120-l90-rj", + width: 120, + height: 120, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/k7XKTGhcPukWgnh4wIYC3kPKAT4iRww2jXl1ES9zq-0OvRCxeOz1g2dBgdT2Qo3lQZnDb3FuwSbFWRw=w180-h180-l90-rj", + width: 180, + height: 180, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/k7XKTGhcPukWgnh4wIYC3kPKAT4iRww2jXl1ES9zq-0OvRCxeOz1g2dBgdT2Qo3lQZnDb3FuwSbFWRw=w226-h226-l90-rj", + width: 226, + height: 226, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/k7XKTGhcPukWgnh4wIYC3kPKAT4iRww2jXl1ES9zq-0OvRCxeOz1g2dBgdT2Qo3lQZnDb3FuwSbFWRw=w302-h302-l90-rj", + width: 302, + height: 302, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/k7XKTGhcPukWgnh4wIYC3kPKAT4iRww2jXl1ES9zq-0OvRCxeOz1g2dBgdT2Qo3lQZnDb3FuwSbFWRw=w544-h544-l90-rj", + width: 544, + height: 544, + ), + ], + artists: [ + ArtistId( + id: Some("UCpUChkP-KE20GRsyfjU83_g"), + name: "CHUNGHA", + ), + ], + artist_id: Some("UCpUChkP-KE20GRsyfjU83_g"), + album: Some(AlbumId( + id: "MPREb_gMHbiTzosSX", + name: "Offset", + )), + view_count: None, + is_video: false, + track_nr: None, + ), + TrackItem( + id: "4JJFrjkRxmo", + title: "Dolphin", + duration: Some(177), + cover: [ + Thumbnail( + url: "https://lh3.googleusercontent.com/C-tzB3wnaPBaIBM6KZUzfgVM-hIQeHF5PbRmV1IytmLvP8DQa_ja18Np42OsmazUV4VbJH1MYtT5_fsP=w60-h60-l90-rj", + width: 60, + height: 60, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/C-tzB3wnaPBaIBM6KZUzfgVM-hIQeHF5PbRmV1IytmLvP8DQa_ja18Np42OsmazUV4VbJH1MYtT5_fsP=w120-h120-l90-rj", + width: 120, + height: 120, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/C-tzB3wnaPBaIBM6KZUzfgVM-hIQeHF5PbRmV1IytmLvP8DQa_ja18Np42OsmazUV4VbJH1MYtT5_fsP=w180-h180-l90-rj", + width: 180, + height: 180, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/C-tzB3wnaPBaIBM6KZUzfgVM-hIQeHF5PbRmV1IytmLvP8DQa_ja18Np42OsmazUV4VbJH1MYtT5_fsP=w226-h226-l90-rj", + width: 226, + height: 226, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/C-tzB3wnaPBaIBM6KZUzfgVM-hIQeHF5PbRmV1IytmLvP8DQa_ja18Np42OsmazUV4VbJH1MYtT5_fsP=w302-h302-l90-rj", + width: 302, + height: 302, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/C-tzB3wnaPBaIBM6KZUzfgVM-hIQeHF5PbRmV1IytmLvP8DQa_ja18Np42OsmazUV4VbJH1MYtT5_fsP=w544-h544-l90-rj", + width: 544, + height: 544, + ), + ], + artists: [ + ArtistId( + id: Some("UCArTAXmvvTohDgCsegudy4w"), + name: "OH MY GIRL", + ), + ], + artist_id: Some("UCArTAXmvvTohDgCsegudy4w"), + album: Some(AlbumId( + id: "MPREb_e1z1ZkqvlqI", + name: "NONSTOP", + )), + view_count: None, + is_video: false, + track_nr: None, + ), + TrackItem( + id: "0EK_M2taRIM", + title: "ELEVEN (ELEVEN)", + duration: Some(179), + cover: [ + Thumbnail( + url: "https://lh3.googleusercontent.com/w7NKHn3YWR_KDK2ayPiZ7ZPQyTIkGZfP1axwKWF53lfWHMXtBnCE--Yh0w0jBcwol2zNvEqgndWJYLLZ=w60-h60-l90-rj", + width: 60, + height: 60, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/w7NKHn3YWR_KDK2ayPiZ7ZPQyTIkGZfP1axwKWF53lfWHMXtBnCE--Yh0w0jBcwol2zNvEqgndWJYLLZ=w120-h120-l90-rj", + width: 120, + height: 120, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/w7NKHn3YWR_KDK2ayPiZ7ZPQyTIkGZfP1axwKWF53lfWHMXtBnCE--Yh0w0jBcwol2zNvEqgndWJYLLZ=w180-h180-l90-rj", + width: 180, + height: 180, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/w7NKHn3YWR_KDK2ayPiZ7ZPQyTIkGZfP1axwKWF53lfWHMXtBnCE--Yh0w0jBcwol2zNvEqgndWJYLLZ=w226-h226-l90-rj", + width: 226, + height: 226, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/w7NKHn3YWR_KDK2ayPiZ7ZPQyTIkGZfP1axwKWF53lfWHMXtBnCE--Yh0w0jBcwol2zNvEqgndWJYLLZ=w302-h302-l90-rj", + width: 302, + height: 302, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/w7NKHn3YWR_KDK2ayPiZ7ZPQyTIkGZfP1axwKWF53lfWHMXtBnCE--Yh0w0jBcwol2zNvEqgndWJYLLZ=w544-h544-l90-rj", + width: 544, + height: 544, + ), + ], + artists: [ + ArtistId( + id: Some("UC_4Y1QqJr60C5Z7-eQWy-mw"), + name: "IVE", + ), + ], + artist_id: Some("UC_4Y1QqJr60C5Z7-eQWy-mw"), + album: Some(AlbumId( + id: "MPREb_rixnYPvwDRK", + name: "ELEVEN (ELEVEN)", + )), + view_count: None, + is_video: false, + track_nr: None, + ), + TrackItem( + id: "04tYkKUPPv4", + title: "LILAC (라일락)", + duration: Some(215), + cover: [ + Thumbnail( + url: "https://lh3.googleusercontent.com/-tdq58fAgaawQcx744mZUP67379plUJcWvzPSyfRy305ZmNcYii54WboN9OBa4I-cEdzu7u5yW4nSFlBQA=w60-h60-l90-rj", + width: 60, + height: 60, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/-tdq58fAgaawQcx744mZUP67379plUJcWvzPSyfRy305ZmNcYii54WboN9OBa4I-cEdzu7u5yW4nSFlBQA=w120-h120-l90-rj", + width: 120, + height: 120, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/-tdq58fAgaawQcx744mZUP67379plUJcWvzPSyfRy305ZmNcYii54WboN9OBa4I-cEdzu7u5yW4nSFlBQA=w180-h180-l90-rj", + width: 180, + height: 180, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/-tdq58fAgaawQcx744mZUP67379plUJcWvzPSyfRy305ZmNcYii54WboN9OBa4I-cEdzu7u5yW4nSFlBQA=w226-h226-l90-rj", + width: 226, + height: 226, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/-tdq58fAgaawQcx744mZUP67379plUJcWvzPSyfRy305ZmNcYii54WboN9OBa4I-cEdzu7u5yW4nSFlBQA=w302-h302-l90-rj", + width: 302, + height: 302, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/-tdq58fAgaawQcx744mZUP67379plUJcWvzPSyfRy305ZmNcYii54WboN9OBa4I-cEdzu7u5yW4nSFlBQA=w544-h544-l90-rj", + width: 544, + height: 544, + ), + ], + artists: [ + ArtistId( + id: Some("UCTUR0sVEkD8T5MlSHqgaI_Q"), + name: "IU", + ), + ], + artist_id: Some("UCTUR0sVEkD8T5MlSHqgaI_Q"), + album: Some(AlbumId( + id: "MPREb_iG5q5DIdhdA", + name: "IU 5th Album \'LILAC\' (IU 5th Album \'LILAC\')", + )), + view_count: None, + is_video: false, + track_nr: None, + ), + TrackItem( + id: "W0x7GcZkvH4", + title: "RUN2U (RUN2U)", + duration: Some(214), + cover: [ + Thumbnail( + url: "https://lh3.googleusercontent.com/7a5Y-capHxe5YxW1AMQksFyIaj2ErtoXmW5VuT4xrA8DX3HnsUYAqCS3rzmptsWplJwWNlT8Or-UrB-MuQ=w60-h60-l90-rj", + width: 60, + height: 60, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/7a5Y-capHxe5YxW1AMQksFyIaj2ErtoXmW5VuT4xrA8DX3HnsUYAqCS3rzmptsWplJwWNlT8Or-UrB-MuQ=w120-h120-l90-rj", + width: 120, + height: 120, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/7a5Y-capHxe5YxW1AMQksFyIaj2ErtoXmW5VuT4xrA8DX3HnsUYAqCS3rzmptsWplJwWNlT8Or-UrB-MuQ=w180-h180-l90-rj", + width: 180, + height: 180, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/7a5Y-capHxe5YxW1AMQksFyIaj2ErtoXmW5VuT4xrA8DX3HnsUYAqCS3rzmptsWplJwWNlT8Or-UrB-MuQ=w226-h226-l90-rj", + width: 226, + height: 226, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/7a5Y-capHxe5YxW1AMQksFyIaj2ErtoXmW5VuT4xrA8DX3HnsUYAqCS3rzmptsWplJwWNlT8Or-UrB-MuQ=w302-h302-l90-rj", + width: 302, + height: 302, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/7a5Y-capHxe5YxW1AMQksFyIaj2ErtoXmW5VuT4xrA8DX3HnsUYAqCS3rzmptsWplJwWNlT8Or-UrB-MuQ=w544-h544-l90-rj", + width: 544, + height: 544, + ), + ], + artists: [ + ArtistId( + id: Some("UCwc9eSwp1MAoToS9QUTRpDw"), + name: "STAYC", + ), + ], + artist_id: Some("UCwc9eSwp1MAoToS9QUTRpDw"), + album: Some(AlbumId( + id: "MPREb_9FuQjxTIQtE", + name: "YOUNG-LUV.COM (YOUNG-LUV.COM)", + )), + view_count: None, + is_video: false, + track_nr: None, + ), + TrackItem( + id: "INLFlN-PZq4", + title: "Weekend", + duration: Some(234), + cover: [ + Thumbnail( + url: "https://lh3.googleusercontent.com/Eb4F6fw9Q10ZXODpe4iFDSSn_AQgC3r19HkGT9B1FDOjxg-4vsAMUEqIrjTckWodpjMu4Wb48J1eig5J=w60-h60-l90-rj", + width: 60, + height: 60, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/Eb4F6fw9Q10ZXODpe4iFDSSn_AQgC3r19HkGT9B1FDOjxg-4vsAMUEqIrjTckWodpjMu4Wb48J1eig5J=w120-h120-l90-rj", + width: 120, + height: 120, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/Eb4F6fw9Q10ZXODpe4iFDSSn_AQgC3r19HkGT9B1FDOjxg-4vsAMUEqIrjTckWodpjMu4Wb48J1eig5J=w180-h180-l90-rj", + width: 180, + height: 180, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/Eb4F6fw9Q10ZXODpe4iFDSSn_AQgC3r19HkGT9B1FDOjxg-4vsAMUEqIrjTckWodpjMu4Wb48J1eig5J=w226-h226-l90-rj", + width: 226, + height: 226, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/Eb4F6fw9Q10ZXODpe4iFDSSn_AQgC3r19HkGT9B1FDOjxg-4vsAMUEqIrjTckWodpjMu4Wb48J1eig5J=w302-h302-l90-rj", + width: 302, + height: 302, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/Eb4F6fw9Q10ZXODpe4iFDSSn_AQgC3r19HkGT9B1FDOjxg-4vsAMUEqIrjTckWodpjMu4Wb48J1eig5J=w544-h544-l90-rj", + width: 544, + height: 544, + ), + ], + artists: [ + ArtistId( + id: Some("UCwzCuKxyMY_sT7hr1E8G1XA"), + name: "TAEYEON", + ), + ], + artist_id: Some("UCwzCuKxyMY_sT7hr1E8G1XA"), + album: Some(AlbumId( + id: "MPREb_AXLV76B1XHw", + name: "Weekend", + )), + view_count: None, + is_video: false, + track_nr: None, + ), + TrackItem( + id: "GhL8GUjXEfk", + title: "I\'m a Mess", + duration: Some(196), + cover: [ + Thumbnail( + url: "https://lh3.googleusercontent.com/TrhzSu55GbYhOWOArCiQUFGVYjJz0Z78YlVJfwOCyU-ZFz5xaIwaTRuLhxrV9dsaW7TM4_1Yj8k_BR6W=w60-h60-l90-rj", + width: 60, + height: 60, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/TrhzSu55GbYhOWOArCiQUFGVYjJz0Z78YlVJfwOCyU-ZFz5xaIwaTRuLhxrV9dsaW7TM4_1Yj8k_BR6W=w120-h120-l90-rj", + width: 120, + height: 120, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/TrhzSu55GbYhOWOArCiQUFGVYjJz0Z78YlVJfwOCyU-ZFz5xaIwaTRuLhxrV9dsaW7TM4_1Yj8k_BR6W=w180-h180-l90-rj", + width: 180, + height: 180, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/TrhzSu55GbYhOWOArCiQUFGVYjJz0Z78YlVJfwOCyU-ZFz5xaIwaTRuLhxrV9dsaW7TM4_1Yj8k_BR6W=w226-h226-l90-rj", + width: 226, + height: 226, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/TrhzSu55GbYhOWOArCiQUFGVYjJz0Z78YlVJfwOCyU-ZFz5xaIwaTRuLhxrV9dsaW7TM4_1Yj8k_BR6W=w302-h302-l90-rj", + width: 302, + height: 302, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/TrhzSu55GbYhOWOArCiQUFGVYjJz0Z78YlVJfwOCyU-ZFz5xaIwaTRuLhxrV9dsaW7TM4_1Yj8k_BR6W=w544-h544-l90-rj", + width: 544, + height: 544, + ), + ], + artists: [ + ArtistId( + id: Some("UChwSjx8SnvG6k96a9xqYw1g"), + name: "Bebe Rexha", + ), + ], + artist_id: Some("UChwSjx8SnvG6k96a9xqYw1g"), + album: Some(AlbumId( + id: "MPREb_ecfHZsAEUSC", + name: "Expectations", + )), + view_count: None, + is_video: false, + track_nr: None, + ), + TrackItem( + id: "TaZkqPK0sbw", + title: "My Universe", + duration: Some(229), + cover: [ + Thumbnail( + url: "https://lh3.googleusercontent.com/HD2RXcgEO4uCgpe6_1TBEd8VviggmvWqqwuSbwMtIdqF2rGqOskUEtlrQZI0FoyYWCamApcMIn30yEMN=w60-h60-l90-rj", + width: 60, + height: 60, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/HD2RXcgEO4uCgpe6_1TBEd8VviggmvWqqwuSbwMtIdqF2rGqOskUEtlrQZI0FoyYWCamApcMIn30yEMN=w120-h120-l90-rj", + width: 120, + height: 120, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/HD2RXcgEO4uCgpe6_1TBEd8VviggmvWqqwuSbwMtIdqF2rGqOskUEtlrQZI0FoyYWCamApcMIn30yEMN=w180-h180-l90-rj", + width: 180, + height: 180, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/HD2RXcgEO4uCgpe6_1TBEd8VviggmvWqqwuSbwMtIdqF2rGqOskUEtlrQZI0FoyYWCamApcMIn30yEMN=w226-h226-l90-rj", + width: 226, + height: 226, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/HD2RXcgEO4uCgpe6_1TBEd8VviggmvWqqwuSbwMtIdqF2rGqOskUEtlrQZI0FoyYWCamApcMIn30yEMN=w302-h302-l90-rj", + width: 302, + height: 302, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/HD2RXcgEO4uCgpe6_1TBEd8VviggmvWqqwuSbwMtIdqF2rGqOskUEtlrQZI0FoyYWCamApcMIn30yEMN=w544-h544-l90-rj", + width: 544, + height: 544, + ), + ], + artists: [ + ArtistId( + id: Some("UCIaFw5VBEK8qaW6nRpx_qnw"), + name: "Coldplay", + ), + ArtistId( + id: Some("UC9vrvNSL3xcWGSkV86REBSg"), + name: "BTS", + ), + ], + artist_id: Some("UCIaFw5VBEK8qaW6nRpx_qnw"), + album: Some(AlbumId( + id: "MPREb_R2vLzq7C3c7", + name: "My Universe", + )), + view_count: None, + is_video: false, + track_nr: None, + ), + TrackItem( + id: "ogKU5EQ0Wn0", + title: "Never Forget You", + duration: Some(214), + cover: [ + Thumbnail( + url: "https://lh3.googleusercontent.com/EXn0CenKu6hc4x9y94qHoMzbAJLXx4JDgtESo88hI0T3bX8OoKLwi4vJft4GrX8HS8VLxLWB8jw0R19q=w60-h60-l90-rj", + width: 60, + height: 60, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/EXn0CenKu6hc4x9y94qHoMzbAJLXx4JDgtESo88hI0T3bX8OoKLwi4vJft4GrX8HS8VLxLWB8jw0R19q=w120-h120-l90-rj", + width: 120, + height: 120, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/EXn0CenKu6hc4x9y94qHoMzbAJLXx4JDgtESo88hI0T3bX8OoKLwi4vJft4GrX8HS8VLxLWB8jw0R19q=w180-h180-l90-rj", + width: 180, + height: 180, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/EXn0CenKu6hc4x9y94qHoMzbAJLXx4JDgtESo88hI0T3bX8OoKLwi4vJft4GrX8HS8VLxLWB8jw0R19q=w226-h226-l90-rj", + width: 226, + height: 226, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/EXn0CenKu6hc4x9y94qHoMzbAJLXx4JDgtESo88hI0T3bX8OoKLwi4vJft4GrX8HS8VLxLWB8jw0R19q=w302-h302-l90-rj", + width: 302, + height: 302, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/EXn0CenKu6hc4x9y94qHoMzbAJLXx4JDgtESo88hI0T3bX8OoKLwi4vJft4GrX8HS8VLxLWB8jw0R19q=w544-h544-l90-rj", + width: 544, + height: 544, + ), + ], + artists: [ + ArtistId( + id: Some("UCB-GmTOjewVU2F_7S4ZFmEA"), + name: "Zara Larsson", + ), + ], + artist_id: Some("UCB-GmTOjewVU2F_7S4ZFmEA"), + album: Some(AlbumId( + id: "MPREb_WUoGz8CYlsr", + name: "So Good", + )), + view_count: None, + is_video: false, + track_nr: None, + ), + TrackItem( + id: "g92HIac9ufA", + title: "After LIKE", + duration: Some(177), + cover: [ + Thumbnail( + url: "https://lh3.googleusercontent.com/kbwN5hyEYdCuz98kPGZfBKjp3acqdvVFXSeihO92ZZilc4FzfrELauOQD7v5Iede-8qIK2tkBRu89g6vJA=w60-h60-l90-rj", + width: 60, + height: 60, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/kbwN5hyEYdCuz98kPGZfBKjp3acqdvVFXSeihO92ZZilc4FzfrELauOQD7v5Iede-8qIK2tkBRu89g6vJA=w120-h120-l90-rj", + width: 120, + height: 120, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/kbwN5hyEYdCuz98kPGZfBKjp3acqdvVFXSeihO92ZZilc4FzfrELauOQD7v5Iede-8qIK2tkBRu89g6vJA=w180-h180-l90-rj", + width: 180, + height: 180, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/kbwN5hyEYdCuz98kPGZfBKjp3acqdvVFXSeihO92ZZilc4FzfrELauOQD7v5Iede-8qIK2tkBRu89g6vJA=w226-h226-l90-rj", + width: 226, + height: 226, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/kbwN5hyEYdCuz98kPGZfBKjp3acqdvVFXSeihO92ZZilc4FzfrELauOQD7v5Iede-8qIK2tkBRu89g6vJA=w302-h302-l90-rj", + width: 302, + height: 302, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/kbwN5hyEYdCuz98kPGZfBKjp3acqdvVFXSeihO92ZZilc4FzfrELauOQD7v5Iede-8qIK2tkBRu89g6vJA=w544-h544-l90-rj", + width: 544, + height: 544, + ), + ], + artists: [ + ArtistId( + id: Some("UC_4Y1QqJr60C5Z7-eQWy-mw"), + name: "IVE", + ), + ], + artist_id: Some("UC_4Y1QqJr60C5Z7-eQWy-mw"), + album: Some(AlbumId( + id: "MPREb_Bfjf00mXFJe", + name: "After LIKE", + )), + view_count: None, + is_video: false, + track_nr: None, + ), + TrackItem( + id: "_E6gDU0m_hk", + title: "LALISA", + duration: Some(201), + cover: [ + Thumbnail( + url: "https://lh3.googleusercontent.com/jFaQSwiqG6yIWfOuscZTJsDZSe_mNsHCjHcoXU9MH9hZogX953RTOK8KeilxStWjYti9LZpl__ymOft4=w60-h60-l90-rj", + width: 60, + height: 60, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/jFaQSwiqG6yIWfOuscZTJsDZSe_mNsHCjHcoXU9MH9hZogX953RTOK8KeilxStWjYti9LZpl__ymOft4=w120-h120-l90-rj", + width: 120, + height: 120, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/jFaQSwiqG6yIWfOuscZTJsDZSe_mNsHCjHcoXU9MH9hZogX953RTOK8KeilxStWjYti9LZpl__ymOft4=w180-h180-l90-rj", + width: 180, + height: 180, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/jFaQSwiqG6yIWfOuscZTJsDZSe_mNsHCjHcoXU9MH9hZogX953RTOK8KeilxStWjYti9LZpl__ymOft4=w226-h226-l90-rj", + width: 226, + height: 226, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/jFaQSwiqG6yIWfOuscZTJsDZSe_mNsHCjHcoXU9MH9hZogX953RTOK8KeilxStWjYti9LZpl__ymOft4=w302-h302-l90-rj", + width: 302, + height: 302, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/jFaQSwiqG6yIWfOuscZTJsDZSe_mNsHCjHcoXU9MH9hZogX953RTOK8KeilxStWjYti9LZpl__ymOft4=w544-h544-l90-rj", + width: 544, + height: 544, + ), + ], + artists: [ + ArtistId( + id: Some("UCXtPv6CbKfuXPNj3MyKFOig"), + name: "LISA", + ), + ], + artist_id: Some("UCXtPv6CbKfuXPNj3MyKFOig"), + album: Some(AlbumId( + id: "MPREb_cVNd9lq4Xy4", + name: "LALISA", + )), + view_count: None, + is_video: false, + track_nr: None, + ), + TrackItem( + id: "FrEDny55ch8", + title: "Rollin\'", + duration: Some(198), + cover: [ + Thumbnail( + url: "https://lh3.googleusercontent.com/WKJ_mscCJbF6E_Z0Va_IEM8SVN7YrhsgrtmMCM1gjpCBDa_NM2xclmQi6vLGDfdQC_WA9TXdTp9yb9RX=w60-h60-l90-rj", + width: 60, + height: 60, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/WKJ_mscCJbF6E_Z0Va_IEM8SVN7YrhsgrtmMCM1gjpCBDa_NM2xclmQi6vLGDfdQC_WA9TXdTp9yb9RX=w120-h120-l90-rj", + width: 120, + height: 120, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/WKJ_mscCJbF6E_Z0Va_IEM8SVN7YrhsgrtmMCM1gjpCBDa_NM2xclmQi6vLGDfdQC_WA9TXdTp9yb9RX=w180-h180-l90-rj", + width: 180, + height: 180, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/WKJ_mscCJbF6E_Z0Va_IEM8SVN7YrhsgrtmMCM1gjpCBDa_NM2xclmQi6vLGDfdQC_WA9TXdTp9yb9RX=w226-h226-l90-rj", + width: 226, + height: 226, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/WKJ_mscCJbF6E_Z0Va_IEM8SVN7YrhsgrtmMCM1gjpCBDa_NM2xclmQi6vLGDfdQC_WA9TXdTp9yb9RX=w302-h302-l90-rj", + width: 302, + height: 302, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/WKJ_mscCJbF6E_Z0Va_IEM8SVN7YrhsgrtmMCM1gjpCBDa_NM2xclmQi6vLGDfdQC_WA9TXdTp9yb9RX=w544-h544-l90-rj", + width: 544, + height: 544, + ), + ], + artists: [ + ArtistId( + id: Some("UChm_d4qO8txdwS4YadlvpSw"), + name: "브레이브걸스", + ), + ], + artist_id: Some("UChm_d4qO8txdwS4YadlvpSw"), + album: Some(AlbumId( + id: "MPREb_4LJoUl7GX3z", + name: "Rollin\'", + )), + view_count: None, + is_video: false, + track_nr: None, + ), + TrackItem( + id: "-uOShlFu1v8", + title: "SNEAKERS", + duration: Some(180), + cover: [ + Thumbnail( + url: "https://lh3.googleusercontent.com/C5m5SYqUm1EW-AZT7TP8VUAXkJzbBNOcyiF_9ddvFTfcsU9Epx8FOjbKPk4pXev3LBpwJy006rtPent4=w60-h60-l90-rj", + width: 60, + height: 60, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/C5m5SYqUm1EW-AZT7TP8VUAXkJzbBNOcyiF_9ddvFTfcsU9Epx8FOjbKPk4pXev3LBpwJy006rtPent4=w120-h120-l90-rj", + width: 120, + height: 120, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/C5m5SYqUm1EW-AZT7TP8VUAXkJzbBNOcyiF_9ddvFTfcsU9Epx8FOjbKPk4pXev3LBpwJy006rtPent4=w180-h180-l90-rj", + width: 180, + height: 180, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/C5m5SYqUm1EW-AZT7TP8VUAXkJzbBNOcyiF_9ddvFTfcsU9Epx8FOjbKPk4pXev3LBpwJy006rtPent4=w226-h226-l90-rj", + width: 226, + height: 226, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/C5m5SYqUm1EW-AZT7TP8VUAXkJzbBNOcyiF_9ddvFTfcsU9Epx8FOjbKPk4pXev3LBpwJy006rtPent4=w302-h302-l90-rj", + width: 302, + height: 302, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/C5m5SYqUm1EW-AZT7TP8VUAXkJzbBNOcyiF_9ddvFTfcsU9Epx8FOjbKPk4pXev3LBpwJy006rtPent4=w544-h544-l90-rj", + width: 544, + height: 544, + ), + ], + artists: [ + ArtistId( + id: Some("UCTP45_DE3fMLujU8sZ-MBzw"), + name: "ITZY", + ), + ], + artist_id: Some("UCTP45_DE3fMLujU8sZ-MBzw"), + album: Some(AlbumId( + id: "MPREb_E9b3lnfYp1X", + name: "CHECKMATE", + )), + view_count: None, + is_video: false, + track_nr: None, + ), + TrackItem( + id: "PyyT5tHbOLw", + title: "Psycho", + duration: Some(210), + cover: [ + Thumbnail( + url: "https://lh3.googleusercontent.com/GvH5XosavVVtAhcsxClhWtnXdp1IitLGsfAP_2pAWLBVC6DJQNe3UIHbf74qLvOz-_zLXzW-MUkC4PSv=w60-h60-l90-rj", + width: 60, + height: 60, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/GvH5XosavVVtAhcsxClhWtnXdp1IitLGsfAP_2pAWLBVC6DJQNe3UIHbf74qLvOz-_zLXzW-MUkC4PSv=w120-h120-l90-rj", + width: 120, + height: 120, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/GvH5XosavVVtAhcsxClhWtnXdp1IitLGsfAP_2pAWLBVC6DJQNe3UIHbf74qLvOz-_zLXzW-MUkC4PSv=w180-h180-l90-rj", + width: 180, + height: 180, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/GvH5XosavVVtAhcsxClhWtnXdp1IitLGsfAP_2pAWLBVC6DJQNe3UIHbf74qLvOz-_zLXzW-MUkC4PSv=w226-h226-l90-rj", + width: 226, + height: 226, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/GvH5XosavVVtAhcsxClhWtnXdp1IitLGsfAP_2pAWLBVC6DJQNe3UIHbf74qLvOz-_zLXzW-MUkC4PSv=w302-h302-l90-rj", + width: 302, + height: 302, + ), + Thumbnail( + url: "https://lh3.googleusercontent.com/GvH5XosavVVtAhcsxClhWtnXdp1IitLGsfAP_2pAWLBVC6DJQNe3UIHbf74qLvOz-_zLXzW-MUkC4PSv=w544-h544-l90-rj", + width: 544, + height: 544, + ), + ], + artists: [ + ArtistId( + id: Some("UCHmZYTfdTyVKQEJicLiXEOg"), + name: "Red Velvet", + ), + ], + artist_id: Some("UCHmZYTfdTyVKQEJicLiXEOg"), + album: Some(AlbumId( + id: "MPREb_GeOYupQ6NZH", + name: "The ReVe Festival: Finale", + )), + view_count: None, + is_video: false, + track_nr: None, + ), + ], + ctoken: Some("CBkSSBILUHl5VDV0SGJPTHciEVJEQU1WTTduaWdYUVMxWGIwMg53QUVCOGdFQ2VBRSUzRDgY0AEB-gEQQzcxNUY2RDFGQjIwNEQwQRgKggEVUFQ6RWd0UWVYbFVOWFJJWWs5TWR3"), + endpoint: music_browse, +) diff --git a/src/model/mod.rs b/src/model/mod.rs index b411237..5d313cf 100644 --- a/src/model/mod.rs +++ b/src/model/mod.rs @@ -1234,4 +1234,8 @@ pub struct MusicSearchFiltered { /// Music track details #[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq)] #[non_exhaustive] -pub struct MusicDetails {} +pub struct TrackDetails { + pub track: TrackItem, + pub lyrics_id: Option, + pub related_id: Option, +} diff --git a/src/param/mod.rs b/src/param/mod.rs index b584a24..3f10e91 100644 --- a/src/param/mod.rs +++ b/src/param/mod.rs @@ -17,6 +17,7 @@ pub enum ContinuationEndpoint { Next, MusicBrowse, MusicSearch, + MusicNext, } impl ContinuationEndpoint { @@ -24,14 +25,16 @@ impl ContinuationEndpoint { match self { ContinuationEndpoint::Browse | ContinuationEndpoint::MusicBrowse => "browse", ContinuationEndpoint::Search | ContinuationEndpoint::MusicSearch => "search", - ContinuationEndpoint::Next => "next", + ContinuationEndpoint::Next | ContinuationEndpoint::MusicNext => "next", } } pub(crate) fn is_music(self) -> bool { matches!( self, - ContinuationEndpoint::MusicBrowse | ContinuationEndpoint::MusicSearch + ContinuationEndpoint::MusicBrowse + | ContinuationEndpoint::MusicSearch + | ContinuationEndpoint::MusicNext ) } } diff --git a/testfiles/music_details/details_mv.json b/testfiles/music_details/details_mv.json new file mode 100644 index 0000000..7bdba14 --- /dev/null +++ b/testfiles/music_details/details_mv.json @@ -0,0 +1,1147 @@ +{ + "contents": { + "singleColumnMusicWatchNextResultsRenderer": { + "tabbedRenderer": { + "watchNextTabbedResultsRenderer": { + "tabs": [ + { + "tabRenderer": { + "content": { + "musicQueueRenderer": { + "content": { + "playlistPanelRenderer": { + "contents": [ + { + "playlistPanelVideoRenderer": { + "canReorder": true, + "lengthText": { + "accessibility": { + "accessibilityData": { + "label": "3 minutes, 50 seconds" + } + }, + "runs": [ + { + "text": "3:50" + } + ] + }, + "longBylineText": { + "runs": [ + { + "navigationEndpoint": { + "browseEndpoint": { + "browseEndpointContextSupportedConfigs": { + "browseEndpointContextMusicConfig": { + "pageType": "MUSIC_PAGE_TYPE_ARTIST" + } + }, + "browseId": "UCEdZAdnnKqbaHOlv8nM6OtA" + }, + "clickTrackingParams": "CBgQyCAYACITCNDT5bqvpPsCFQODOAodd_0G_w==" + }, + "text": "aespa" + }, + { + "text": " • " + }, + { + "text": "235M views" + }, + { + "text": " • " + }, + { + "text": "4M likes" + } + ] + }, + "menu": { + "menuRenderer": { + "accessibility": { + "accessibilityData": { + "label": "Action menu" + } + }, + "items": [ + { + "menuNavigationItemRenderer": { + "icon": { + "iconType": "MIX" + }, + "navigationEndpoint": { + "clickTrackingParams": "CCcQm_MFGAAiEwjQ0-W6r6T7AhUDgzgKHXf9Bv8=", + "watchEndpoint": { + "loggingContext": { + "vssLoggingContext": { + "serializedContextData": "GhFSREFNVk1aZWVycm51TGk1RQ%3D%3D" + } + }, + "params": "wAEB", + "playlistId": "RDAMVMZeerrnuLi5E", + "videoId": "ZeerrnuLi5E", + "watchEndpointMusicSupportedConfigs": { + "watchEndpointMusicConfig": { + "musicVideoType": "MUSIC_VIDEO_TYPE_OMV" + } + } + } + }, + "text": { + "runs": [ + { + "text": "Start radio" + } + ] + }, + "trackingParams": "CCcQm_MFGAAiEwjQ0-W6r6T7AhUDgzgKHXf9Bv8=" + } + }, + { + "menuServiceItemRenderer": { + "icon": { + "iconType": "QUEUE_PLAY_NEXT" + }, + "serviceEndpoint": { + "clickTrackingParams": "CCUQvu4FGAEiEwjQ0-W6r6T7AhUDgzgKHXf9Bv8=", + "queueAddEndpoint": { + "commands": [ + { + "addToToastAction": { + "item": { + "notificationTextRenderer": { + "successResponseText": { + "runs": [ + { + "text": "Song will play next" + } + ] + }, + "trackingParams": "CCYQyscDIhMI0NPluq-k-wIVA4M4Ch13_Qb_" + } + } + }, + "clickTrackingParams": "CCUQvu4FGAEiEwjQ0-W6r6T7AhUDgzgKHXf9Bv8=" + } + ], + "queueInsertPosition": "INSERT_AFTER_CURRENT_VIDEO", + "queueTarget": { + "videoId": "ZeerrnuLi5E" + } + } + }, + "text": { + "runs": [ + { + "text": "Play next" + } + ] + }, + "trackingParams": "CCUQvu4FGAEiEwjQ0-W6r6T7AhUDgzgKHXf9Bv8=" + } + }, + { + "menuServiceItemRenderer": { + "icon": { + "iconType": "ADD_TO_REMOTE_QUEUE" + }, + "serviceEndpoint": { + "clickTrackingParams": "CCMQ--8FGAIiEwjQ0-W6r6T7AhUDgzgKHXf9Bv8=", + "queueAddEndpoint": { + "commands": [ + { + "addToToastAction": { + "item": { + "notificationTextRenderer": { + "successResponseText": { + "runs": [ + { + "text": "Song added to queue" + } + ] + }, + "trackingParams": "CCQQyscDIhMI0NPluq-k-wIVA4M4Ch13_Qb_" + } + } + }, + "clickTrackingParams": "CCMQ--8FGAIiEwjQ0-W6r6T7AhUDgzgKHXf9Bv8=" + } + ], + "queueInsertPosition": "INSERT_AT_END", + "queueTarget": { + "videoId": "ZeerrnuLi5E" + } + } + }, + "text": { + "runs": [ + { + "text": "Add to queue" + } + ] + }, + "trackingParams": "CCMQ--8FGAIiEwjQ0-W6r6T7AhUDgzgKHXf9Bv8=" + } + }, + { + "toggleMenuServiceItemRenderer": { + "defaultIcon": { + "iconType": "FAVORITE" + }, + "defaultServiceEndpoint": { + "clickTrackingParams": "CCEQjJ8GGAMiEwjQ0-W6r6T7AhUDgzgKHXf9Bv8=", + "modalEndpoint": { + "modal": { + "modalWithTitleAndButtonRenderer": { + "button": { + "buttonRenderer": { + "isDisabled": false, + "navigationEndpoint": { + "clickTrackingParams": "CCIQ8FsiEwjQ0-W6r6T7AhUDgzgKHXf9Bv8=", + "signInEndpoint": { + "hack": true + } + }, + "style": "STYLE_BLUE_TEXT", + "text": { + "runs": [ + { + "text": "Sign in" + } + ] + }, + "trackingParams": "CCIQ8FsiEwjQ0-W6r6T7AhUDgzgKHXf9Bv8=" + } + }, + "content": { + "runs": [ + { + "text": "Improve recommendations and save music after signing in" + } + ] + }, + "title": { + "runs": [ + { + "text": "Like this song" + } + ] + } + } + } + } + }, + "defaultText": { + "runs": [ + { + "text": "Add to liked songs" + } + ] + }, + "toggledIcon": { + "iconType": "UNFAVORITE" + }, + "toggledText": { + "runs": [ + { + "text": "Remove from liked songs" + } + ] + }, + "trackingParams": "CCEQjJ8GGAMiEwjQ0-W6r6T7AhUDgzgKHXf9Bv8=" + } + }, + { + "menuNavigationItemRenderer": { + "icon": { + "iconType": "ADD_TO_PLAYLIST" + }, + "navigationEndpoint": { + "clickTrackingParams": "CB8Qw5QGGAQiEwjQ0-W6r6T7AhUDgzgKHXf9Bv8=", + "modalEndpoint": { + "modal": { + "modalWithTitleAndButtonRenderer": { + "button": { + "buttonRenderer": { + "isDisabled": false, + "navigationEndpoint": { + "clickTrackingParams": "CCAQ8FsiEwjQ0-W6r6T7AhUDgzgKHXf9Bv8=", + "signInEndpoint": { + "hack": true + } + }, + "style": "STYLE_BLUE_TEXT", + "text": { + "runs": [ + { + "text": "Sign in" + } + ] + }, + "trackingParams": "CCAQ8FsiEwjQ0-W6r6T7AhUDgzgKHXf9Bv8=" + } + }, + "content": { + "runs": [ + { + "text": "Make playlists and share them after signing in" + } + ] + }, + "title": { + "runs": [ + { + "text": "Save this for later" + } + ] + } + } + } + } + }, + "text": { + "runs": [ + { + "text": "Add to playlist" + } + ] + }, + "trackingParams": "CB8Qw5QGGAQiEwjQ0-W6r6T7AhUDgzgKHXf9Bv8=" + } + }, + { + "menuServiceItemRenderer": { + "icon": { + "iconType": "REMOVE" + }, + "serviceEndpoint": { + "clickTrackingParams": "CB0Q4_sFGAUiEwjQ0-W6r6T7AhUDgzgKHXf9Bv8=", + "removeFromQueueEndpoint": { + "commands": [ + { + "addToToastAction": { + "item": { + "notificationTextRenderer": { + "successResponseText": { + "runs": [ + { + "text": "Item removed from queue" + } + ] + }, + "trackingParams": "CB4QyscDIhMI0NPluq-k-wIVA4M4Ch13_Qb_" + } + } + }, + "clickTrackingParams": "CB0Q4_sFGAUiEwjQ0-W6r6T7AhUDgzgKHXf9Bv8=" + } + ], + "videoId": "ZeerrnuLi5E" + } + }, + "text": { + "runs": [ + { + "text": "Remove from queue" + } + ] + }, + "trackingParams": "CB0Q4_sFGAUiEwjQ0-W6r6T7AhUDgzgKHXf9Bv8=" + } + }, + { + "menuNavigationItemRenderer": { + "icon": { + "iconType": "ARTIST" + }, + "navigationEndpoint": { + "browseEndpoint": { + "browseEndpointContextSupportedConfigs": { + "browseEndpointContextMusicConfig": { + "pageType": "MUSIC_PAGE_TYPE_ARTIST" + } + }, + "browseId": "UCEdZAdnnKqbaHOlv8nM6OtA" + }, + "clickTrackingParams": "CBwQkPsFGAYiEwjQ0-W6r6T7AhUDgzgKHXf9Bv8=" + }, + "text": { + "runs": [ + { + "text": "Go to artist" + } + ] + }, + "trackingParams": "CBwQkPsFGAYiEwjQ0-W6r6T7AhUDgzgKHXf9Bv8=" + } + }, + { + "menuNavigationItemRenderer": { + "icon": { + "iconType": "SHARE" + }, + "navigationEndpoint": { + "clickTrackingParams": "CBsQkfsFGAciEwjQ0-W6r6T7AhUDgzgKHXf9Bv8=", + "shareEntityEndpoint": { + "serializedShareEntity": "CgtaZWVycm51TGk1RQ%3D%3D", + "sharePanelType": "SHARE_PANEL_TYPE_UNIFIED_SHARE_PANEL" + } + }, + "text": { + "runs": [ + { + "text": "Share" + } + ] + }, + "trackingParams": "CBsQkfsFGAciEwjQ0-W6r6T7AhUDgzgKHXf9Bv8=" + } + }, + { + "menuServiceItemRenderer": { + "icon": { + "iconType": "FLAG" + }, + "serviceEndpoint": { + "clickTrackingParams": "CBkQjfYJGAgiEwjQ0-W6r6T7AhUDgzgKHXf9Bv8=", + "modalEndpoint": { + "modal": { + "modalWithTitleAndButtonRenderer": { + "button": { + "buttonRenderer": { + "isDisabled": false, + "navigationEndpoint": { + "clickTrackingParams": "CBoQ8FsiEwjQ0-W6r6T7AhUDgzgKHXf9Bv8=", + "signInEndpoint": { + "hack": true + } + }, + "style": "STYLE_BLUE_TEXT", + "text": { + "runs": [ + { + "text": "Sign in" + } + ] + }, + "trackingParams": "CBoQ8FsiEwjQ0-W6r6T7AhUDgzgKHXf9Bv8=" + } + }, + "content": { + "runs": [ + { + "text": "Sign in to report inappropriate content." + } + ] + }, + "title": { + "runs": [ + { + "text": "Need to report the video?" + } + ] + } + } + } + } + }, + "text": { + "runs": [ + { + "text": "Report" + } + ] + }, + "trackingParams": "CBkQjfYJGAgiEwjQ0-W6r6T7AhUDgzgKHXf9Bv8=" + } + } + ], + "trackingParams": "CBgQyCAYACITCNDT5bqvpPsCFQODOAodd_0G_w==" + } + }, + "navigationEndpoint": { + "clickTrackingParams": "CBgQyCAYACITCNDT5bqvpPsCFQODOAodd_0G_zIDQkZhSJGXrtzn9erzZZoBBQgMEPgd", + "watchEndpoint": { + "params": "OAHyAQIIAQ%3D%3D", + "videoId": "ZeerrnuLi5E", + "watchEndpointMusicSupportedConfigs": { + "watchEndpointMusicConfig": { + "hasPersistentPlaylistPanel": true, + "musicVideoType": "MUSIC_VIDEO_TYPE_OMV" + } + } + } + }, + "selected": true, + "shortBylineText": { + "runs": [ + { + "text": "aespa" + } + ] + }, + "thumbnail": { + "thumbnails": [ + { + "height": 225, + "url": "https://i.ytimg.com/vi/ZeerrnuLi5E/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3maNxpYzTFmXZBd8s1w1iE6rTBDaw", + "width": 400 + }, + { + "height": 450, + "url": "https://i.ytimg.com/vi/ZeerrnuLi5E/hq720.jpg?sqp=-oaymwEXCKAGEMIDIAQqCwjVARCqCBh4INgESFo&rs=AMzJL3k5q17nduJ8-t3h9_obEVMVi8Cz3A", + "width": 800 + }, + { + "height": 480, + "url": "https://i.ytimg.com/vi/ZeerrnuLi5E/hq720.jpg?sqp=-oaymwEXCNUGEOADIAQqCwjVARCqCBh4INgESFo&rs=AMzJL3k7CsaxHObhW1JXPtGyKE1fgSGZ3Q", + "width": 853 + } + ] + }, + "title": { + "runs": [ + { + "text": "Black Mamba" + } + ] + }, + "trackingParams": "CBgQyCAYACITCNDT5bqvpPsCFQODOAodd_0G_w==", + "videoId": "ZeerrnuLi5E" + } + }, + { + "automixPreviewVideoRenderer": { + "content": { + "automixPlaylistVideoRenderer": { + "automixMode": "AUTOMIX_MODE_DEFAULT_ON", + "navigationEndpoint": { + "clickTrackingParams": "CBcQ_20iEwjQ0-W6r6T7AhUDgzgKHXf9Bv8=", + "watchPlaylistEndpoint": { + "params": "wAEB8gECeAE%3D", + "playlistId": "RDAMVMZeerrnuLi5E" + } + }, + "trackingParams": "CBcQ_20iEwjQ0-W6r6T7AhUDgzgKHXf9Bv8=" + } + } + } + } + ], + "isInfinite": false, + "playlistId": "", + "trackingParams": "CBYQxyAiEwjQ0-W6r6T7AhUDgzgKHXf9Bv8=" + } + }, + "hack": true + } + }, + "title": "Up next", + "trackingParams": "CBUQn7QFGAQiEwjQ0-W6r6T7AhUDgzgKHXf9Bv8=" + } + }, + { + "tabRenderer": { + "endpoint": { + "browseEndpoint": { + "browseEndpointContextSupportedConfigs": { + "browseEndpointContextMusicConfig": { + "pageType": "MUSIC_PAGE_TYPE_TRACK_LYRICS" + } + }, + "browseId": "MPLYt_wrKjTn9hmry" + }, + "clickTrackingParams": "CBQQpLQFGAUiEwjQ0-W6r6T7AhUDgzgKHXf9Bv8=" + }, + "title": "Lyrics", + "trackingParams": "CBQQpLQFGAUiEwjQ0-W6r6T7AhUDgzgKHXf9Bv8=" + } + }, + { + "tabRenderer": { + "endpoint": { + "browseEndpoint": { + "browseEndpointContextSupportedConfigs": { + "browseEndpointContextMusicConfig": { + "pageType": "MUSIC_PAGE_TYPE_TRACK_RELATED" + } + }, + "browseId": "MPTRt_wrKjTn9hmry" + }, + "clickTrackingParams": "CBMQlM0FGAYiEwjQ0-W6r6T7AhUDgzgKHXf9Bv8=" + }, + "title": "Related", + "trackingParams": "CBMQlM0FGAYiEwjQ0-W6r6T7AhUDgzgKHXf9Bv8=" + } + } + ] + } + } + } + }, + "currentVideoEndpoint": { + "clickTrackingParams": "CAAQg2ciEwjQ0-W6r6T7AhUDgzgKHXf9Bv8=", + "watchEndpoint": { + "videoId": "ZeerrnuLi5E" + } + }, + "playerOverlays": { + "playerOverlayRenderer": { + "actions": [ + { + "likeButtonRenderer": { + "dislikeNavigationEndpoint": { + "clickTrackingParams": "CBAQpUEYACITCNDT5bqvpPsCFQODOAodd_0G_w==", + "modalEndpoint": { + "modal": { + "modalWithTitleAndButtonRenderer": { + "button": { + "buttonRenderer": { + "isDisabled": false, + "navigationEndpoint": { + "clickTrackingParams": "CBIQ8FsiEwjQ0-W6r6T7AhUDgzgKHXf9Bv8=", + "signInEndpoint": { + "hack": true + } + }, + "style": "STYLE_BLUE_TEXT", + "text": { + "runs": [ + { + "text": "Sign in" + } + ] + }, + "trackingParams": "CBIQ8FsiEwjQ0-W6r6T7AhUDgzgKHXf9Bv8=" + } + }, + "content": { + "runs": [ + { + "text": "Improve your recommendations after signing in" + } + ] + }, + "title": { + "runs": [ + { + "text": "Not a fan?" + } + ] + } + } + } + } + }, + "likeCommand": { + "clickTrackingParams": "CBAQpUEYACITCNDT5bqvpPsCFQODOAodd_0G_w==", + "modalEndpoint": { + "modal": { + "modalWithTitleAndButtonRenderer": { + "button": { + "buttonRenderer": { + "isDisabled": false, + "navigationEndpoint": { + "clickTrackingParams": "CBEQ8FsiEwjQ0-W6r6T7AhUDgzgKHXf9Bv8=", + "signInEndpoint": { + "hack": true + } + }, + "style": "STYLE_BLUE_TEXT", + "text": { + "runs": [ + { + "text": "Sign in" + } + ] + }, + "trackingParams": "CBEQ8FsiEwjQ0-W6r6T7AhUDgzgKHXf9Bv8=" + } + }, + "content": { + "runs": [ + { + "text": "Improve recommendations and save music after signing in" + } + ] + }, + "title": { + "runs": [ + { + "text": "Like this song" + } + ] + } + } + } + } + }, + "likeStatus": "INDIFFERENT", + "likesAllowed": true, + "target": { + "videoId": "ZeerrnuLi5E" + }, + "trackingParams": "CBAQpUEYACITCNDT5bqvpPsCFQODOAodd_0G_w==" + } + } + ], + "browserMediaSession": { + "browserMediaSessionRenderer": { + "thumbnailDetails": { + "thumbnails": [ + { + "height": 225, + "url": "https://i.ytimg.com/vi/ZeerrnuLi5E/sddefault.jpg?sqp=-oaymwEWCJADEOEBIAQqCghqEJQEGHgg6AJIWg&rs=AMzJL3maNxpYzTFmXZBd8s1w1iE6rTBDaw", + "width": 400 + }, + { + "height": 450, + "url": "https://i.ytimg.com/vi/ZeerrnuLi5E/hq720.jpg?sqp=-oaymwEXCKAGEMIDIAQqCwjVARCqCBh4INgESFo&rs=AMzJL3k5q17nduJ8-t3h9_obEVMVi8Cz3A", + "width": 800 + }, + { + "height": 480, + "url": "https://i.ytimg.com/vi/ZeerrnuLi5E/hq720.jpg?sqp=-oaymwEXCNUGEOADIAQqCwjVARCqCBh4INgESFo&rs=AMzJL3k7CsaxHObhW1JXPtGyKE1fgSGZ3Q", + "width": 853 + } + ] + } + } + } + } + }, + "responseContext": { + "serviceTrackingParams": [ + { + "params": [ + { + "key": "c", + "value": "WEB_REMIX" + }, + { + "key": "cver", + "value": "1.20221107.01.00" + }, + { + "key": "yt_li", + "value": "0" + }, + { + "key": "GetWatchNext_rid", + "value": "0x08eb81d82b5bd93c" + } + ], + "service": "CSI" + }, + { + "params": [ + { + "key": "logged_in", + "value": "0" + }, + { + "key": "e", + "value": "1714258,23804281,23882502,23918597,23934970,23946420,23966208,23983296,23998056,24001373,24002022,24002025,24004644,24007246,24034168,24036947,24077241,24080738,24120820,24135310,24135692,24140247,24161116,24162920,24164186,24169501,24181174,24185614,24187043,24187377,24191629,24197450,24199724,24200839,24211178,24217535,24219713,24224266,24230619,24241378,24248091,24255543,24255545,24260783,24262346,24263796,24267564,24267570,24268142,24278596,24279196,24283556,24285750,24287327,24290971,24292955,24293803,24299747,24390675,24391018,24396819,24401557,24402891,24406605,24407200,24407665,24413557,24413558,24414197,24590921,39322399,39322504,39322574" + } + ], + "service": "GFEEDBACK" + }, + { + "params": [ + { + "key": "client.version", + "value": "1.20000101" + }, + { + "key": "client.name", + "value": "WEB_REMIX" + }, + { + "key": "client.fexp", + "value": "24262346,24391018,24293803,24169501,24197450,24283556,24241378,24396819,24004644,24077241,24007246,23998056,24200839,24260783,24267564,24263796,24285750,24406605,24413558,24255543,24135692,23882502,24267570,24034168,23966208,24287327,24135310,24248091,24164186,23946420,24211178,24224266,24414197,1714258,23804281,23934970,24140247,23983296,24181174,24036947,24590921,24185614,24268142,24292955,24120820,24407665,24230619,24187377,24199724,24191629,24217535,39322399,24001373,24290971,24390675,24299747,24413557,24187043,24161116,24278596,24002025,39322574,24255545,39322504,24401557,24219713,24279196,24080738,24162920,23918597,24402891,24407200,24002022" + } + ], + "service": "ECATCHER" + } + ], + "visitorData": "CgtvWktIS1p4WTF0VSiGqLWbBg%3D%3D" + }, + "trackingParams": "CAAQg2ciEwjQ0-W6r6T7AhUDgzgKHXf9Bv8=", + "videoReporting": { + "reportFormModalRenderer": { + "cancelButton": { + "buttonRenderer": { + "isDisabled": false, + "style": "STYLE_TEXT", + "text": { + "runs": [ + { + "text": "Cancel" + } + ] + }, + "trackingParams": "CAMQ8FsiEwjQ0-W6r6T7AhUDgzgKHXf9Bv8=" + } + }, + "footer": { + "runs": [ + { + "text": "If you are the copyright owner of this video and believe it has been uploaded without your permission, please follow " + }, + { + "navigationEndpoint": { + "clickTrackingParams": "CAEQ55sBIhMI0NPluq-k-wIVA4M4Ch13_Qb_", + "urlEndpoint": { + "url": "//support.google.com/youtube/answer/2807622?hl=en" + } + }, + "text": "these directions" + }, + { + "text": " to submit a copyright infringement notice." + } + ] + }, + "legalReportCheckbox": { + "booleanFormFieldV2Renderer": { + "disableCommand": { + "clickTrackingParams": "CAEQ55sBIhMI0NPluq-k-wIVA4M4Ch13_Qb_", + "modifyReportFormCommand": { + "action": "REPORT_FORM_ACTION_SUBMIT_BUTTON_SHOW" + } + }, + "enableCommand": { + "clickTrackingParams": "CAEQ55sBIhMI0NPluq-k-wIVA4M4Ch13_Qb_", + "modifyReportFormCommand": { + "action": "REPORT_FORM_ACTION_NEXT_BUTTON_SHOW" + } + }, + "label": { + "runs": [ + { + "deemphasize": true, + "text": "(Optional)" + }, + { + "text": " I believe this content should be restricted under the Network Enforcement Law. " + }, + { + "navigationEndpoint": { + "clickTrackingParams": "CAEQ55sBIhMI0NPluq-k-wIVA4M4Ch13_Qb_", + "urlEndpoint": { + "target": "TARGET_NEW_WINDOW", + "url": "//support.google.com/youtube/?p=Netz_DG&hl=en" + } + }, + "text": "Learn more" + } + ] + } + } + }, + "nextButton": { + "buttonRenderer": { + "isDisabled": true, + "style": "STYLE_BLUE_TEXT", + "text": { + "runs": [ + { + "text": "Next" + } + ] + }, + "trackingParams": "CAIQ8FsiEwjQ0-W6r6T7AhUDgzgKHXf9Bv8=" + } + }, + "optionsSupportedRenderers": { + "optionsRenderer": { + "items": [ + { + "optionSelectableItemRenderer": { + "clickCommands": [ + { + "clickTrackingParams": "CA8Q7ZMBGAAiEwjQ0-W6r6T7AhUDgzgKHXf9Bv8=", + "modifyReportFormCommand": { + "action": "REPORT_FORM_ACTION_LEGAL_CHECKBOX_SHOW" + } + } + ], + "submitEndpoint": { + "clickTrackingParams": "CA8Q7ZMBGAAiEwjQ0-W6r6T7AhUDgzgKHXf9Bv8=", + "flagEndpoint": { + "flagAction": "EAciDwoLWmVlcnJudUxpNUVQBTILWmVlcnJudUxpNUWQASyYAQGoAQM%3D" + } + }, + "text": { + "runs": [ + { + "text": "Sexual content" + } + ] + }, + "trackingParams": "CA8Q7ZMBGAAiEwjQ0-W6r6T7AhUDgzgKHXf9Bv8=" + } + }, + { + "optionSelectableItemRenderer": { + "clickCommands": [ + { + "clickTrackingParams": "CA4Q7ZMBGAEiEwjQ0-W6r6T7AhUDgzgKHXf9Bv8=", + "modifyReportFormCommand": { + "action": "REPORT_FORM_ACTION_LEGAL_CHECKBOX_SHOW" + } + } + ], + "submitEndpoint": { + "clickTrackingParams": "CA4Q7ZMBGAEiEwjQ0-W6r6T7AhUDgzgKHXf9Bv8=", + "flagEndpoint": { + "flagAction": "EAciDwoLWmVlcnJudUxpNUVQBTILWmVlcnJudUxpNUWQATaYAQGoAQM%3D" + } + }, + "text": { + "runs": [ + { + "text": "Violent or repulsive content" + } + ] + }, + "trackingParams": "CA4Q7ZMBGAEiEwjQ0-W6r6T7AhUDgzgKHXf9Bv8=" + } + }, + { + "optionSelectableItemRenderer": { + "clickCommands": [ + { + "clickTrackingParams": "CA0Q7ZMBGAIiEwjQ0-W6r6T7AhUDgzgKHXf9Bv8=", + "modifyReportFormCommand": { + "action": "REPORT_FORM_ACTION_LEGAL_CHECKBOX_SHOW" + } + } + ], + "submitEndpoint": { + "clickTrackingParams": "CA0Q7ZMBGAIiEwjQ0-W6r6T7AhUDgzgKHXf9Bv8=", + "flagEndpoint": { + "flagAction": "EAciDwoLWmVlcnJudUxpNUVQBTILWmVlcnJudUxpNUWQARSYAQGoAQM%3D" + } + }, + "text": { + "runs": [ + { + "text": "Hateful or abusive content" + } + ] + }, + "trackingParams": "CA0Q7ZMBGAIiEwjQ0-W6r6T7AhUDgzgKHXf9Bv8=" + } + }, + { + "optionSelectableItemRenderer": { + "clickCommands": [ + { + "clickTrackingParams": "CAwQ7ZMBGAMiEwjQ0-W6r6T7AhUDgzgKHXf9Bv8=", + "modifyReportFormCommand": { + "action": "REPORT_FORM_ACTION_LEGAL_CHECKBOX_SHOW" + } + } + ], + "submitEndpoint": { + "clickTrackingParams": "CAwQ7ZMBGAMiEwjQ0-W6r6T7AhUDgzgKHXf9Bv8=", + "flagEndpoint": { + "flagAction": "EAciDwoLWmVlcnJudUxpNUVQBTILWmVlcnJudUxpNUWQARGYAQGoAQM%3D" + } + }, + "text": { + "runs": [ + { + "text": "Harassment or bullying" + } + ] + }, + "trackingParams": "CAwQ7ZMBGAMiEwjQ0-W6r6T7AhUDgzgKHXf9Bv8=" + } + }, + { + "optionSelectableItemRenderer": { + "clickCommands": [ + { + "clickTrackingParams": "CAsQ7ZMBGAQiEwjQ0-W6r6T7AhUDgzgKHXf9Bv8=", + "modifyReportFormCommand": { + "action": "REPORT_FORM_ACTION_LEGAL_CHECKBOX_SHOW" + } + } + ], + "submitEndpoint": { + "clickTrackingParams": "CAsQ7ZMBGAQiEwjQ0-W6r6T7AhUDgzgKHXf9Bv8=", + "flagEndpoint": { + "flagAction": "EAciDwoLWmVlcnJudUxpNUVQBTILWmVlcnJudUxpNUWQAQ2YAQGoAQM%3D" + } + }, + "text": { + "runs": [ + { + "text": "Harmful or dangerous acts" + } + ] + }, + "trackingParams": "CAsQ7ZMBGAQiEwjQ0-W6r6T7AhUDgzgKHXf9Bv8=" + } + }, + { + "optionSelectableItemRenderer": { + "clickCommands": [ + { + "clickTrackingParams": "CAoQ7ZMBGAUiEwjQ0-W6r6T7AhUDgzgKHXf9Bv8=", + "modifyReportFormCommand": { + "action": "REPORT_FORM_ACTION_LEGAL_CHECKBOX_HIDE" + } + } + ], + "submitEndpoint": { + "clickTrackingParams": "CAoQ7ZMBGAUiEwjQ0-W6r6T7AhUDgzgKHXf9Bv8=", + "flagEndpoint": { + "flagAction": "EAciDwoLWmVlcnJudUxpNUVQBTILWmVlcnJudUxpNUWQAUGYAQGoAQM%3D" + } + }, + "text": { + "runs": [ + { + "text": "Misinformation" + } + ] + }, + "trackingParams": "CAoQ7ZMBGAUiEwjQ0-W6r6T7AhUDgzgKHXf9Bv8=" + } + }, + { + "optionSelectableItemRenderer": { + "clickCommands": [ + { + "clickTrackingParams": "CAkQ7ZMBGAYiEwjQ0-W6r6T7AhUDgzgKHXf9Bv8=", + "modifyReportFormCommand": { + "action": "REPORT_FORM_ACTION_LEGAL_CHECKBOX_SHOW" + } + } + ], + "submitEndpoint": { + "clickTrackingParams": "CAkQ7ZMBGAYiEwjQ0-W6r6T7AhUDgzgKHXf9Bv8=", + "flagEndpoint": { + "flagAction": "EAciDwoLWmVlcnJudUxpNUVQBTILWmVlcnJudUxpNUWQAQyYAQGoAQM%3D" + } + }, + "text": { + "runs": [ + { + "text": "Child abuse" + } + ] + }, + "trackingParams": "CAkQ7ZMBGAYiEwjQ0-W6r6T7AhUDgzgKHXf9Bv8=" + } + }, + { + "optionSelectableItemRenderer": { + "clickCommands": [ + { + "clickTrackingParams": "CAgQ7ZMBGAciEwjQ0-W6r6T7AhUDgzgKHXf9Bv8=", + "modifyReportFormCommand": { + "action": "REPORT_FORM_ACTION_LEGAL_CHECKBOX_HIDE" + } + } + ], + "submitEndpoint": { + "clickTrackingParams": "CAgQ7ZMBGAciEwjQ0-W6r6T7AhUDgzgKHXf9Bv8=", + "flagEndpoint": { + "flagAction": "EAciDwoLWmVlcnJudUxpNUVQBTILWmVlcnJudUxpNUWQARqYAQGoAQM%3D" + } + }, + "text": { + "runs": [ + { + "text": "Infringes my rights" + } + ] + }, + "trackingParams": "CAgQ7ZMBGAciEwjQ0-W6r6T7AhUDgzgKHXf9Bv8=" + } + }, + { + "optionSelectableItemRenderer": { + "clickCommands": [ + { + "clickTrackingParams": "CAcQ7ZMBGAgiEwjQ0-W6r6T7AhUDgzgKHXf9Bv8=", + "modifyReportFormCommand": { + "action": "REPORT_FORM_ACTION_LEGAL_CHECKBOX_SHOW" + } + } + ], + "submitEndpoint": { + "clickTrackingParams": "CAcQ7ZMBGAgiEwjQ0-W6r6T7AhUDgzgKHXf9Bv8=", + "flagEndpoint": { + "flagAction": "EAciDwoLWmVlcnJudUxpNUVQBTILWmVlcnJudUxpNUWQATWYAQGoAQM%3D" + } + }, + "text": { + "runs": [ + { + "text": "Promotes terrorism" + } + ] + }, + "trackingParams": "CAcQ7ZMBGAgiEwjQ0-W6r6T7AhUDgzgKHXf9Bv8=" + } + }, + { + "optionSelectableItemRenderer": { + "clickCommands": [ + { + "clickTrackingParams": "CAYQ7ZMBGAkiEwjQ0-W6r6T7AhUDgzgKHXf9Bv8=", + "modifyReportFormCommand": { + "action": "REPORT_FORM_ACTION_LEGAL_CHECKBOX_HIDE" + } + } + ], + "submitEndpoint": { + "clickTrackingParams": "CAYQ7ZMBGAkiEwjQ0-W6r6T7AhUDgzgKHXf9Bv8=", + "flagEndpoint": { + "flagAction": "EAciDwoLWmVlcnJudUxpNUVQBTILWmVlcnJudUxpNUWQATGYAQGoAQM%3D" + } + }, + "text": { + "runs": [ + { + "text": "Spam or misleading" + } + ] + }, + "trackingParams": "CAYQ7ZMBGAkiEwjQ0-W6r6T7AhUDgzgKHXf9Bv8=" + } + } + ], + "trackingParams": "CAUQ9EoiEwjQ0-W6r6T7AhUDgzgKHXf9Bv8=" + } + }, + "submitButton": { + "buttonRenderer": { + "isDisabled": true, + "style": "STYLE_BRAND", + "text": { + "runs": [ + { + "text": "Report" + } + ] + }, + "trackingParams": "CAQQ8FsiEwjQ0-W6r6T7AhUDgzgKHXf9Bv8=" + } + }, + "title": { + "runs": [ + { + "text": "Report video" + } + ] + }, + "trackingParams": "CAEQ55sBIhMI0NPluq-k-wIVA4M4Ch13_Qb_" + } + } +} diff --git a/testfiles/music_details/details_track.json b/testfiles/music_details/details_track.json new file mode 100644 index 0000000..6bd0fbd --- /dev/null +++ b/testfiles/music_details/details_track.json @@ -0,0 +1,1211 @@ +{ + "contents": { + "singleColumnMusicWatchNextResultsRenderer": { + "tabbedRenderer": { + "watchNextTabbedResultsRenderer": { + "tabs": [ + { + "tabRenderer": { + "content": { + "musicQueueRenderer": { + "content": { + "playlistPanelRenderer": { + "contents": [ + { + "playlistPanelVideoRenderer": { + "canReorder": true, + "lengthText": { + "accessibility": { + "accessibilityData": { + "label": "3 minutes, 25 seconds" + } + }, + "runs": [ + { + "text": "3:25" + } + ] + }, + "longBylineText": { + "runs": [ + { + "navigationEndpoint": { + "browseEndpoint": { + "browseEndpointContextSupportedConfigs": { + "browseEndpointContextMusicConfig": { + "pageType": "MUSIC_PAGE_TYPE_ARTIST" + } + }, + "browseId": "UCwzCuKxyMY_sT7hr1E8G1XA" + }, + "clickTrackingParams": "CBgQyCAYACITCMba8bqvpPsCFWOCOAodPpEEIQ==" + }, + "text": "TAEYEON" + }, + { + "text": " • " + }, + { + "navigationEndpoint": { + "browseEndpoint": { + "browseEndpointContextSupportedConfigs": { + "browseEndpointContextMusicConfig": { + "pageType": "MUSIC_PAGE_TYPE_ALBUM" + } + }, + "browseId": "MPREb_4xbv14CiQJm" + }, + "clickTrackingParams": "CBgQyCAYACITCMba8bqvpPsCFWOCOAodPpEEIQ==" + }, + "text": "INVU - The 3rd Album" + }, + { + "text": " • " + }, + { + "text": "2022" + } + ] + }, + "menu": { + "menuRenderer": { + "accessibility": { + "accessibilityData": { + "label": "Action menu" + } + }, + "items": [ + { + "menuNavigationItemRenderer": { + "icon": { + "iconType": "MIX" + }, + "navigationEndpoint": { + "clickTrackingParams": "CCgQm_MFGAAiEwjG2vG6r6T7AhVjgjgKHT6RBCE=", + "watchEndpoint": { + "loggingContext": { + "vssLoggingContext": { + "serializedContextData": "GhFSREFNVk03bmlnWFFTMVhiMA%3D%3D" + } + }, + "params": "wAEB", + "playlistId": "RDAMVM7nigXQS1Xb0", + "videoId": "7nigXQS1Xb0", + "watchEndpointMusicSupportedConfigs": { + "watchEndpointMusicConfig": { + "musicVideoType": "MUSIC_VIDEO_TYPE_ATV" + } + } + } + }, + "text": { + "runs": [ + { + "text": "Start radio" + } + ] + }, + "trackingParams": "CCgQm_MFGAAiEwjG2vG6r6T7AhVjgjgKHT6RBCE=" + } + }, + { + "menuServiceItemRenderer": { + "icon": { + "iconType": "QUEUE_PLAY_NEXT" + }, + "serviceEndpoint": { + "clickTrackingParams": "CCYQvu4FGAEiEwjG2vG6r6T7AhVjgjgKHT6RBCE=", + "queueAddEndpoint": { + "commands": [ + { + "addToToastAction": { + "item": { + "notificationTextRenderer": { + "successResponseText": { + "runs": [ + { + "text": "Song will play next" + } + ] + }, + "trackingParams": "CCcQyscDIhMIxtrxuq-k-wIVY4I4Ch0-kQQh" + } + } + }, + "clickTrackingParams": "CCYQvu4FGAEiEwjG2vG6r6T7AhVjgjgKHT6RBCE=" + } + ], + "queueInsertPosition": "INSERT_AFTER_CURRENT_VIDEO", + "queueTarget": { + "videoId": "7nigXQS1Xb0" + } + } + }, + "text": { + "runs": [ + { + "text": "Play next" + } + ] + }, + "trackingParams": "CCYQvu4FGAEiEwjG2vG6r6T7AhVjgjgKHT6RBCE=" + } + }, + { + "menuServiceItemRenderer": { + "icon": { + "iconType": "ADD_TO_REMOTE_QUEUE" + }, + "serviceEndpoint": { + "clickTrackingParams": "CCQQ--8FGAIiEwjG2vG6r6T7AhVjgjgKHT6RBCE=", + "queueAddEndpoint": { + "commands": [ + { + "addToToastAction": { + "item": { + "notificationTextRenderer": { + "successResponseText": { + "runs": [ + { + "text": "Song added to queue" + } + ] + }, + "trackingParams": "CCUQyscDIhMIxtrxuq-k-wIVY4I4Ch0-kQQh" + } + } + }, + "clickTrackingParams": "CCQQ--8FGAIiEwjG2vG6r6T7AhVjgjgKHT6RBCE=" + } + ], + "queueInsertPosition": "INSERT_AT_END", + "queueTarget": { + "videoId": "7nigXQS1Xb0" + } + } + }, + "text": { + "runs": [ + { + "text": "Add to queue" + } + ] + }, + "trackingParams": "CCQQ--8FGAIiEwjG2vG6r6T7AhVjgjgKHT6RBCE=" + } + }, + { + "toggleMenuServiceItemRenderer": { + "defaultIcon": { + "iconType": "FAVORITE" + }, + "defaultServiceEndpoint": { + "clickTrackingParams": "CCIQjJ8GGAMiEwjG2vG6r6T7AhVjgjgKHT6RBCE=", + "modalEndpoint": { + "modal": { + "modalWithTitleAndButtonRenderer": { + "button": { + "buttonRenderer": { + "isDisabled": false, + "navigationEndpoint": { + "clickTrackingParams": "CCMQ8FsiEwjG2vG6r6T7AhVjgjgKHT6RBCE=", + "signInEndpoint": { + "hack": true + } + }, + "style": "STYLE_BLUE_TEXT", + "text": { + "runs": [ + { + "text": "Sign in" + } + ] + }, + "trackingParams": "CCMQ8FsiEwjG2vG6r6T7AhVjgjgKHT6RBCE=" + } + }, + "content": { + "runs": [ + { + "text": "Improve recommendations and save music after signing in" + } + ] + }, + "title": { + "runs": [ + { + "text": "Like this song" + } + ] + } + } + } + } + }, + "defaultText": { + "runs": [ + { + "text": "Add to liked songs" + } + ] + }, + "toggledIcon": { + "iconType": "UNFAVORITE" + }, + "toggledText": { + "runs": [ + { + "text": "Remove from liked songs" + } + ] + }, + "trackingParams": "CCIQjJ8GGAMiEwjG2vG6r6T7AhVjgjgKHT6RBCE=" + } + }, + { + "menuNavigationItemRenderer": { + "icon": { + "iconType": "ADD_TO_PLAYLIST" + }, + "navigationEndpoint": { + "clickTrackingParams": "CCAQw5QGGAQiEwjG2vG6r6T7AhVjgjgKHT6RBCE=", + "modalEndpoint": { + "modal": { + "modalWithTitleAndButtonRenderer": { + "button": { + "buttonRenderer": { + "isDisabled": false, + "navigationEndpoint": { + "clickTrackingParams": "CCEQ8FsiEwjG2vG6r6T7AhVjgjgKHT6RBCE=", + "signInEndpoint": { + "hack": true + } + }, + "style": "STYLE_BLUE_TEXT", + "text": { + "runs": [ + { + "text": "Sign in" + } + ] + }, + "trackingParams": "CCEQ8FsiEwjG2vG6r6T7AhVjgjgKHT6RBCE=" + } + }, + "content": { + "runs": [ + { + "text": "Make playlists and share them after signing in" + } + ] + }, + "title": { + "runs": [ + { + "text": "Save this for later" + } + ] + } + } + } + } + }, + "text": { + "runs": [ + { + "text": "Add to playlist" + } + ] + }, + "trackingParams": "CCAQw5QGGAQiEwjG2vG6r6T7AhVjgjgKHT6RBCE=" + } + }, + { + "menuServiceItemRenderer": { + "icon": { + "iconType": "REMOVE" + }, + "serviceEndpoint": { + "clickTrackingParams": "CB4Q4_sFGAUiEwjG2vG6r6T7AhVjgjgKHT6RBCE=", + "removeFromQueueEndpoint": { + "commands": [ + { + "addToToastAction": { + "item": { + "notificationTextRenderer": { + "successResponseText": { + "runs": [ + { + "text": "Item removed from queue" + } + ] + }, + "trackingParams": "CB8QyscDIhMIxtrxuq-k-wIVY4I4Ch0-kQQh" + } + } + }, + "clickTrackingParams": "CB4Q4_sFGAUiEwjG2vG6r6T7AhVjgjgKHT6RBCE=" + } + ], + "videoId": "7nigXQS1Xb0" + } + }, + "text": { + "runs": [ + { + "text": "Remove from queue" + } + ] + }, + "trackingParams": "CB4Q4_sFGAUiEwjG2vG6r6T7AhVjgjgKHT6RBCE=" + } + }, + { + "menuNavigationItemRenderer": { + "icon": { + "iconType": "ALBUM" + }, + "navigationEndpoint": { + "browseEndpoint": { + "browseEndpointContextSupportedConfigs": { + "browseEndpointContextMusicConfig": { + "pageType": "MUSIC_PAGE_TYPE_ALBUM" + } + }, + "browseId": "MPREb_4xbv14CiQJm" + }, + "clickTrackingParams": "CB0Qj_sFGAYiEwjG2vG6r6T7AhVjgjgKHT6RBCE=" + }, + "text": { + "runs": [ + { + "text": "Go to album" + } + ] + }, + "trackingParams": "CB0Qj_sFGAYiEwjG2vG6r6T7AhVjgjgKHT6RBCE=" + } + }, + { + "menuNavigationItemRenderer": { + "icon": { + "iconType": "ARTIST" + }, + "navigationEndpoint": { + "browseEndpoint": { + "browseEndpointContextSupportedConfigs": { + "browseEndpointContextMusicConfig": { + "pageType": "MUSIC_PAGE_TYPE_ARTIST" + } + }, + "browseId": "UCwzCuKxyMY_sT7hr1E8G1XA" + }, + "clickTrackingParams": "CBwQkPsFGAciEwjG2vG6r6T7AhVjgjgKHT6RBCE=" + }, + "text": { + "runs": [ + { + "text": "Go to artist" + } + ] + }, + "trackingParams": "CBwQkPsFGAciEwjG2vG6r6T7AhVjgjgKHT6RBCE=" + } + }, + { + "menuNavigationItemRenderer": { + "icon": { + "iconType": "SHARE" + }, + "navigationEndpoint": { + "clickTrackingParams": "CBsQkfsFGAgiEwjG2vG6r6T7AhVjgjgKHT6RBCE=", + "shareEntityEndpoint": { + "serializedShareEntity": "Cgs3bmlnWFFTMVhiMA%3D%3D", + "sharePanelType": "SHARE_PANEL_TYPE_UNIFIED_SHARE_PANEL" + } + }, + "text": { + "runs": [ + { + "text": "Share" + } + ] + }, + "trackingParams": "CBsQkfsFGAgiEwjG2vG6r6T7AhVjgjgKHT6RBCE=" + } + }, + { + "menuServiceItemRenderer": { + "icon": { + "iconType": "FLAG" + }, + "serviceEndpoint": { + "clickTrackingParams": "CBkQjfYJGAkiEwjG2vG6r6T7AhVjgjgKHT6RBCE=", + "modalEndpoint": { + "modal": { + "modalWithTitleAndButtonRenderer": { + "button": { + "buttonRenderer": { + "isDisabled": false, + "navigationEndpoint": { + "clickTrackingParams": "CBoQ8FsiEwjG2vG6r6T7AhVjgjgKHT6RBCE=", + "signInEndpoint": { + "hack": true + } + }, + "style": "STYLE_BLUE_TEXT", + "text": { + "runs": [ + { + "text": "Sign in" + } + ] + }, + "trackingParams": "CBoQ8FsiEwjG2vG6r6T7AhVjgjgKHT6RBCE=" + } + }, + "content": { + "runs": [ + { + "text": "Sign in to report inappropriate content." + } + ] + }, + "title": { + "runs": [ + { + "text": "Need to report the video?" + } + ] + } + } + } + } + }, + "text": { + "runs": [ + { + "text": "Report" + } + ] + }, + "trackingParams": "CBkQjfYJGAkiEwjG2vG6r6T7AhVjgjgKHT6RBCE=" + } + } + ], + "trackingParams": "CBgQyCAYACITCMba8bqvpPsCFWOCOAodPpEEIQ==" + } + }, + "navigationEndpoint": { + "clickTrackingParams": "CBgQyCAYACITCMba8bqvpPsCFWOCOAodPpEEITIDQkZhSL271aXQi6i87gGaAQUIDBD4HQ==", + "watchEndpoint": { + "params": "OAHyAQIIAQ%3D%3D", + "videoId": "7nigXQS1Xb0", + "watchEndpointMusicSupportedConfigs": { + "watchEndpointMusicConfig": { + "hasPersistentPlaylistPanel": true, + "musicVideoType": "MUSIC_VIDEO_TYPE_ATV" + } + } + } + }, + "selected": true, + "shortBylineText": { + "runs": [ + { + "text": "TAEYEON" + } + ] + }, + "thumbnail": { + "thumbnails": [ + { + "height": 60, + "url": "https://lh3.googleusercontent.com/2a1Lr46_ibhVNX5tZK_PnsmKFpB1ptZ9eUqtlcCXTRSxAcOLC7HpAO0pqyFJTttUPHAiYpqkTH251DIQ9A=w60-h60-l90-rj", + "width": 60 + }, + { + "height": 120, + "url": "https://lh3.googleusercontent.com/2a1Lr46_ibhVNX5tZK_PnsmKFpB1ptZ9eUqtlcCXTRSxAcOLC7HpAO0pqyFJTttUPHAiYpqkTH251DIQ9A=w120-h120-l90-rj", + "width": 120 + }, + { + "height": 180, + "url": "https://lh3.googleusercontent.com/2a1Lr46_ibhVNX5tZK_PnsmKFpB1ptZ9eUqtlcCXTRSxAcOLC7HpAO0pqyFJTttUPHAiYpqkTH251DIQ9A=w180-h180-l90-rj", + "width": 180 + }, + { + "height": 226, + "url": "https://lh3.googleusercontent.com/2a1Lr46_ibhVNX5tZK_PnsmKFpB1ptZ9eUqtlcCXTRSxAcOLC7HpAO0pqyFJTttUPHAiYpqkTH251DIQ9A=w226-h226-l90-rj", + "width": 226 + }, + { + "height": 302, + "url": "https://lh3.googleusercontent.com/2a1Lr46_ibhVNX5tZK_PnsmKFpB1ptZ9eUqtlcCXTRSxAcOLC7HpAO0pqyFJTttUPHAiYpqkTH251DIQ9A=w302-h302-l90-rj", + "width": 302 + }, + { + "height": 544, + "url": "https://lh3.googleusercontent.com/2a1Lr46_ibhVNX5tZK_PnsmKFpB1ptZ9eUqtlcCXTRSxAcOLC7HpAO0pqyFJTttUPHAiYpqkTH251DIQ9A=w544-h544-l90-rj", + "width": 544 + } + ] + }, + "title": { + "runs": [ + { + "text": "INVU" + } + ] + }, + "trackingParams": "CBgQyCAYACITCMba8bqvpPsCFWOCOAodPpEEIQ==", + "videoId": "7nigXQS1Xb0" + } + }, + { + "automixPreviewVideoRenderer": { + "content": { + "automixPlaylistVideoRenderer": { + "automixMode": "AUTOMIX_MODE_DEFAULT_ON", + "navigationEndpoint": { + "clickTrackingParams": "CBcQ_20iEwjG2vG6r6T7AhVjgjgKHT6RBCE=", + "watchPlaylistEndpoint": { + "params": "wAEB8gECeAE%3D", + "playlistId": "RDAMVM7nigXQS1Xb0" + } + }, + "trackingParams": "CBcQ_20iEwjG2vG6r6T7AhVjgjgKHT6RBCE=" + } + } + } + } + ], + "isInfinite": false, + "playlistId": "", + "trackingParams": "CBYQxyAiEwjG2vG6r6T7AhVjgjgKHT6RBCE=" + } + }, + "hack": true + } + }, + "title": "Up next", + "trackingParams": "CBUQn7QFGAYiEwjG2vG6r6T7AhVjgjgKHT6RBCE=" + } + }, + { + "tabRenderer": { + "endpoint": { + "browseEndpoint": { + "browseEndpointContextSupportedConfigs": { + "browseEndpointContextMusicConfig": { + "pageType": "MUSIC_PAGE_TYPE_TRACK_LYRICS" + } + }, + "browseId": "MPLYt_4xbv14CiQJm-1" + }, + "clickTrackingParams": "CBQQpLQFGAciEwjG2vG6r6T7AhVjgjgKHT6RBCE=" + }, + "title": "Lyrics", + "trackingParams": "CBQQpLQFGAciEwjG2vG6r6T7AhVjgjgKHT6RBCE=" + } + }, + { + "tabRenderer": { + "endpoint": { + "browseEndpoint": { + "browseEndpointContextSupportedConfigs": { + "browseEndpointContextMusicConfig": { + "pageType": "MUSIC_PAGE_TYPE_TRACK_RELATED" + } + }, + "browseId": "MPTRt_4xbv14CiQJm-1" + }, + "clickTrackingParams": "CBMQlM0FGAgiEwjG2vG6r6T7AhVjgjgKHT6RBCE=" + }, + "title": "Related", + "trackingParams": "CBMQlM0FGAgiEwjG2vG6r6T7AhVjgjgKHT6RBCE=" + } + } + ] + } + } + } + }, + "currentVideoEndpoint": { + "clickTrackingParams": "CAAQg2ciEwjG2vG6r6T7AhVjgjgKHT6RBCE=", + "watchEndpoint": { + "videoId": "7nigXQS1Xb0" + } + }, + "playerOverlays": { + "playerOverlayRenderer": { + "actions": [ + { + "likeButtonRenderer": { + "dislikeNavigationEndpoint": { + "clickTrackingParams": "CBAQpUEYACITCMba8bqvpPsCFWOCOAodPpEEIQ==", + "modalEndpoint": { + "modal": { + "modalWithTitleAndButtonRenderer": { + "button": { + "buttonRenderer": { + "isDisabled": false, + "navigationEndpoint": { + "clickTrackingParams": "CBIQ8FsiEwjG2vG6r6T7AhVjgjgKHT6RBCE=", + "signInEndpoint": { + "hack": true + } + }, + "style": "STYLE_BLUE_TEXT", + "text": { + "runs": [ + { + "text": "Sign in" + } + ] + }, + "trackingParams": "CBIQ8FsiEwjG2vG6r6T7AhVjgjgKHT6RBCE=" + } + }, + "content": { + "runs": [ + { + "text": "Improve your recommendations after signing in" + } + ] + }, + "title": { + "runs": [ + { + "text": "Not a fan?" + } + ] + } + } + } + } + }, + "likeCommand": { + "clickTrackingParams": "CBAQpUEYACITCMba8bqvpPsCFWOCOAodPpEEIQ==", + "modalEndpoint": { + "modal": { + "modalWithTitleAndButtonRenderer": { + "button": { + "buttonRenderer": { + "isDisabled": false, + "navigationEndpoint": { + "clickTrackingParams": "CBEQ8FsiEwjG2vG6r6T7AhVjgjgKHT6RBCE=", + "signInEndpoint": { + "hack": true + } + }, + "style": "STYLE_BLUE_TEXT", + "text": { + "runs": [ + { + "text": "Sign in" + } + ] + }, + "trackingParams": "CBEQ8FsiEwjG2vG6r6T7AhVjgjgKHT6RBCE=" + } + }, + "content": { + "runs": [ + { + "text": "Improve recommendations and save music after signing in" + } + ] + }, + "title": { + "runs": [ + { + "text": "Like this song" + } + ] + } + } + } + } + }, + "likeStatus": "INDIFFERENT", + "likesAllowed": true, + "target": { + "videoId": "7nigXQS1Xb0" + }, + "trackingParams": "CBAQpUEYACITCMba8bqvpPsCFWOCOAodPpEEIQ==" + } + } + ], + "browserMediaSession": { + "browserMediaSessionRenderer": { + "album": { + "runs": [ + { + "text": "INVU - The 3rd Album" + } + ] + }, + "thumbnailDetails": { + "thumbnails": [ + { + "height": 60, + "url": "https://lh3.googleusercontent.com/2a1Lr46_ibhVNX5tZK_PnsmKFpB1ptZ9eUqtlcCXTRSxAcOLC7HpAO0pqyFJTttUPHAiYpqkTH251DIQ9A=w60-h60-l90-rj", + "width": 60 + }, + { + "height": 120, + "url": "https://lh3.googleusercontent.com/2a1Lr46_ibhVNX5tZK_PnsmKFpB1ptZ9eUqtlcCXTRSxAcOLC7HpAO0pqyFJTttUPHAiYpqkTH251DIQ9A=w120-h120-l90-rj", + "width": 120 + }, + { + "height": 226, + "url": "https://lh3.googleusercontent.com/2a1Lr46_ibhVNX5tZK_PnsmKFpB1ptZ9eUqtlcCXTRSxAcOLC7HpAO0pqyFJTttUPHAiYpqkTH251DIQ9A=w226-h226-l90-rj", + "width": 226 + }, + { + "height": 544, + "url": "https://lh3.googleusercontent.com/2a1Lr46_ibhVNX5tZK_PnsmKFpB1ptZ9eUqtlcCXTRSxAcOLC7HpAO0pqyFJTttUPHAiYpqkTH251DIQ9A=w544-h544-l90-rj", + "width": 544 + } + ] + } + } + } + } + }, + "responseContext": { + "serviceTrackingParams": [ + { + "params": [ + { + "key": "c", + "value": "WEB_REMIX" + }, + { + "key": "cver", + "value": "1.20221107.01.00" + }, + { + "key": "yt_li", + "value": "0" + }, + { + "key": "GetWatchNext_rid", + "value": "0xa5da6485c89e0179" + } + ], + "service": "CSI" + }, + { + "params": [ + { + "key": "logged_in", + "value": "0" + }, + { + "key": "e", + "value": "1714252,9407157,23804281,23853952,23882502,23918597,23934970,23946420,23966208,23981192,23983296,23998056,24001373,24002022,24002025,24004644,24007246,24034168,24036948,24077241,24080738,24120820,24135310,24140247,24161116,24162919,24164186,24169501,24181174,24185614,24187043,24187377,24191629,24197450,24199724,24200839,24211178,24217535,24219713,24230619,24241378,24248091,24250325,24255165,24255543,24255545,24256987,24260783,24262346,24263796,24267564,24267570,24268142,24278596,24279196,24283556,24285750,24287327,24290971,24292955,24293803,24299747,24390675,24391018,24396819,24401557,24402891,24406605,24407199,24407665,24413557,24590921,39322399,39322504,39322574" + } + ], + "service": "GFEEDBACK" + }, + { + "params": [ + { + "key": "client.version", + "value": "1.20000101" + }, + { + "key": "client.name", + "value": "WEB_REMIX" + }, + { + "key": "client.fexp", + "value": "24283556,23998056,24401557,24036948,24255545,24007246,24293803,24004644,24162919,24230619,1714252,24199724,24402891,24255165,24217535,24185614,24268142,24285750,24164186,24120820,24407665,24187377,24287327,24080738,24135310,9407157,23918597,24191629,39322399,24187043,24140247,24390675,24413557,24219713,23983296,24590921,24255543,24250325,24161116,24406605,24292955,24077241,24181174,24200839,24248091,23966208,23882502,23981192,24267570,23946420,24001373,24290971,24197450,24299747,23804281,24278596,24034168,24169501,24002025,24262346,24391018,24241378,24396819,24407199,24279196,24211178,39322504,23853952,24263796,24267564,24256987,24002022,39322574,24260783,23934970" + } + ], + "service": "ECATCHER" + } + ], + "visitorData": "CgtidENrT3JVTnczWSiGqLWbBg%3D%3D" + }, + "trackingParams": "CAAQg2ciEwjG2vG6r6T7AhVjgjgKHT6RBCE=", + "videoReporting": { + "reportFormModalRenderer": { + "cancelButton": { + "buttonRenderer": { + "isDisabled": false, + "style": "STYLE_TEXT", + "text": { + "runs": [ + { + "text": "Cancel" + } + ] + }, + "trackingParams": "CAMQ8FsiEwjG2vG6r6T7AhVjgjgKHT6RBCE=" + } + }, + "footer": { + "runs": [ + { + "text": "If you are the copyright owner of this video and believe it has been uploaded without your permission, please follow " + }, + { + "navigationEndpoint": { + "clickTrackingParams": "CAEQ55sBIhMIxtrxuq-k-wIVY4I4Ch0-kQQh", + "urlEndpoint": { + "url": "//support.google.com/youtube/answer/2807622?hl=en" + } + }, + "text": "these directions" + }, + { + "text": " to submit a copyright infringement notice." + } + ] + }, + "legalReportCheckbox": { + "booleanFormFieldV2Renderer": { + "disableCommand": { + "clickTrackingParams": "CAEQ55sBIhMIxtrxuq-k-wIVY4I4Ch0-kQQh", + "modifyReportFormCommand": { + "action": "REPORT_FORM_ACTION_SUBMIT_BUTTON_SHOW" + } + }, + "enableCommand": { + "clickTrackingParams": "CAEQ55sBIhMIxtrxuq-k-wIVY4I4Ch0-kQQh", + "modifyReportFormCommand": { + "action": "REPORT_FORM_ACTION_NEXT_BUTTON_SHOW" + } + }, + "label": { + "runs": [ + { + "deemphasize": true, + "text": "(Optional)" + }, + { + "text": " I believe this content should be restricted under the Network Enforcement Law. " + }, + { + "navigationEndpoint": { + "clickTrackingParams": "CAEQ55sBIhMIxtrxuq-k-wIVY4I4Ch0-kQQh", + "urlEndpoint": { + "target": "TARGET_NEW_WINDOW", + "url": "//support.google.com/youtube/?p=Netz_DG&hl=en" + } + }, + "text": "Learn more" + } + ] + } + } + }, + "nextButton": { + "buttonRenderer": { + "isDisabled": true, + "style": "STYLE_BLUE_TEXT", + "text": { + "runs": [ + { + "text": "Next" + } + ] + }, + "trackingParams": "CAIQ8FsiEwjG2vG6r6T7AhVjgjgKHT6RBCE=" + } + }, + "optionsSupportedRenderers": { + "optionsRenderer": { + "items": [ + { + "optionSelectableItemRenderer": { + "clickCommands": [ + { + "clickTrackingParams": "CA8Q7ZMBGAAiEwjG2vG6r6T7AhVjgjgKHT6RBCE=", + "modifyReportFormCommand": { + "action": "REPORT_FORM_ACTION_LEGAL_CHECKBOX_SHOW" + } + } + ], + "submitEndpoint": { + "clickTrackingParams": "CA8Q7ZMBGAAiEwjG2vG6r6T7AhVjgjgKHT6RBCE=", + "flagEndpoint": { + "flagAction": "EAciDwoLN25pZ1hRUzFYYjBQBTILN25pZ1hRUzFYYjCQASyYAQGoAQM%3D" + } + }, + "text": { + "runs": [ + { + "text": "Sexual content" + } + ] + }, + "trackingParams": "CA8Q7ZMBGAAiEwjG2vG6r6T7AhVjgjgKHT6RBCE=" + } + }, + { + "optionSelectableItemRenderer": { + "clickCommands": [ + { + "clickTrackingParams": "CA4Q7ZMBGAEiEwjG2vG6r6T7AhVjgjgKHT6RBCE=", + "modifyReportFormCommand": { + "action": "REPORT_FORM_ACTION_LEGAL_CHECKBOX_SHOW" + } + } + ], + "submitEndpoint": { + "clickTrackingParams": "CA4Q7ZMBGAEiEwjG2vG6r6T7AhVjgjgKHT6RBCE=", + "flagEndpoint": { + "flagAction": "EAciDwoLN25pZ1hRUzFYYjBQBTILN25pZ1hRUzFYYjCQATaYAQGoAQM%3D" + } + }, + "text": { + "runs": [ + { + "text": "Violent or repulsive content" + } + ] + }, + "trackingParams": "CA4Q7ZMBGAEiEwjG2vG6r6T7AhVjgjgKHT6RBCE=" + } + }, + { + "optionSelectableItemRenderer": { + "clickCommands": [ + { + "clickTrackingParams": "CA0Q7ZMBGAIiEwjG2vG6r6T7AhVjgjgKHT6RBCE=", + "modifyReportFormCommand": { + "action": "REPORT_FORM_ACTION_LEGAL_CHECKBOX_SHOW" + } + } + ], + "submitEndpoint": { + "clickTrackingParams": "CA0Q7ZMBGAIiEwjG2vG6r6T7AhVjgjgKHT6RBCE=", + "flagEndpoint": { + "flagAction": "EAciDwoLN25pZ1hRUzFYYjBQBTILN25pZ1hRUzFYYjCQARSYAQGoAQM%3D" + } + }, + "text": { + "runs": [ + { + "text": "Hateful or abusive content" + } + ] + }, + "trackingParams": "CA0Q7ZMBGAIiEwjG2vG6r6T7AhVjgjgKHT6RBCE=" + } + }, + { + "optionSelectableItemRenderer": { + "clickCommands": [ + { + "clickTrackingParams": "CAwQ7ZMBGAMiEwjG2vG6r6T7AhVjgjgKHT6RBCE=", + "modifyReportFormCommand": { + "action": "REPORT_FORM_ACTION_LEGAL_CHECKBOX_SHOW" + } + } + ], + "submitEndpoint": { + "clickTrackingParams": "CAwQ7ZMBGAMiEwjG2vG6r6T7AhVjgjgKHT6RBCE=", + "flagEndpoint": { + "flagAction": "EAciDwoLN25pZ1hRUzFYYjBQBTILN25pZ1hRUzFYYjCQARGYAQGoAQM%3D" + } + }, + "text": { + "runs": [ + { + "text": "Harassment or bullying" + } + ] + }, + "trackingParams": "CAwQ7ZMBGAMiEwjG2vG6r6T7AhVjgjgKHT6RBCE=" + } + }, + { + "optionSelectableItemRenderer": { + "clickCommands": [ + { + "clickTrackingParams": "CAsQ7ZMBGAQiEwjG2vG6r6T7AhVjgjgKHT6RBCE=", + "modifyReportFormCommand": { + "action": "REPORT_FORM_ACTION_LEGAL_CHECKBOX_SHOW" + } + } + ], + "submitEndpoint": { + "clickTrackingParams": "CAsQ7ZMBGAQiEwjG2vG6r6T7AhVjgjgKHT6RBCE=", + "flagEndpoint": { + "flagAction": "EAciDwoLN25pZ1hRUzFYYjBQBTILN25pZ1hRUzFYYjCQAQ2YAQGoAQM%3D" + } + }, + "text": { + "runs": [ + { + "text": "Harmful or dangerous acts" + } + ] + }, + "trackingParams": "CAsQ7ZMBGAQiEwjG2vG6r6T7AhVjgjgKHT6RBCE=" + } + }, + { + "optionSelectableItemRenderer": { + "clickCommands": [ + { + "clickTrackingParams": "CAoQ7ZMBGAUiEwjG2vG6r6T7AhVjgjgKHT6RBCE=", + "modifyReportFormCommand": { + "action": "REPORT_FORM_ACTION_LEGAL_CHECKBOX_HIDE" + } + } + ], + "submitEndpoint": { + "clickTrackingParams": "CAoQ7ZMBGAUiEwjG2vG6r6T7AhVjgjgKHT6RBCE=", + "flagEndpoint": { + "flagAction": "EAciDwoLN25pZ1hRUzFYYjBQBTILN25pZ1hRUzFYYjCQAUGYAQGoAQM%3D" + } + }, + "text": { + "runs": [ + { + "text": "Misinformation" + } + ] + }, + "trackingParams": "CAoQ7ZMBGAUiEwjG2vG6r6T7AhVjgjgKHT6RBCE=" + } + }, + { + "optionSelectableItemRenderer": { + "clickCommands": [ + { + "clickTrackingParams": "CAkQ7ZMBGAYiEwjG2vG6r6T7AhVjgjgKHT6RBCE=", + "modifyReportFormCommand": { + "action": "REPORT_FORM_ACTION_LEGAL_CHECKBOX_SHOW" + } + } + ], + "submitEndpoint": { + "clickTrackingParams": "CAkQ7ZMBGAYiEwjG2vG6r6T7AhVjgjgKHT6RBCE=", + "flagEndpoint": { + "flagAction": "EAciDwoLN25pZ1hRUzFYYjBQBTILN25pZ1hRUzFYYjCQAQyYAQGoAQM%3D" + } + }, + "text": { + "runs": [ + { + "text": "Child abuse" + } + ] + }, + "trackingParams": "CAkQ7ZMBGAYiEwjG2vG6r6T7AhVjgjgKHT6RBCE=" + } + }, + { + "optionSelectableItemRenderer": { + "clickCommands": [ + { + "clickTrackingParams": "CAgQ7ZMBGAciEwjG2vG6r6T7AhVjgjgKHT6RBCE=", + "modifyReportFormCommand": { + "action": "REPORT_FORM_ACTION_LEGAL_CHECKBOX_HIDE" + } + } + ], + "submitEndpoint": { + "clickTrackingParams": "CAgQ7ZMBGAciEwjG2vG6r6T7AhVjgjgKHT6RBCE=", + "flagEndpoint": { + "flagAction": "EAciDwoLN25pZ1hRUzFYYjBQBTILN25pZ1hRUzFYYjCQARqYAQGoAQM%3D" + } + }, + "text": { + "runs": [ + { + "text": "Infringes my rights" + } + ] + }, + "trackingParams": "CAgQ7ZMBGAciEwjG2vG6r6T7AhVjgjgKHT6RBCE=" + } + }, + { + "optionSelectableItemRenderer": { + "clickCommands": [ + { + "clickTrackingParams": "CAcQ7ZMBGAgiEwjG2vG6r6T7AhVjgjgKHT6RBCE=", + "modifyReportFormCommand": { + "action": "REPORT_FORM_ACTION_LEGAL_CHECKBOX_SHOW" + } + } + ], + "submitEndpoint": { + "clickTrackingParams": "CAcQ7ZMBGAgiEwjG2vG6r6T7AhVjgjgKHT6RBCE=", + "flagEndpoint": { + "flagAction": "EAciDwoLN25pZ1hRUzFYYjBQBTILN25pZ1hRUzFYYjCQATWYAQGoAQM%3D" + } + }, + "text": { + "runs": [ + { + "text": "Promotes terrorism" + } + ] + }, + "trackingParams": "CAcQ7ZMBGAgiEwjG2vG6r6T7AhVjgjgKHT6RBCE=" + } + }, + { + "optionSelectableItemRenderer": { + "clickCommands": [ + { + "clickTrackingParams": "CAYQ7ZMBGAkiEwjG2vG6r6T7AhVjgjgKHT6RBCE=", + "modifyReportFormCommand": { + "action": "REPORT_FORM_ACTION_LEGAL_CHECKBOX_HIDE" + } + } + ], + "submitEndpoint": { + "clickTrackingParams": "CAYQ7ZMBGAkiEwjG2vG6r6T7AhVjgjgKHT6RBCE=", + "flagEndpoint": { + "flagAction": "EAciDwoLN25pZ1hRUzFYYjBQBTILN25pZ1hRUzFYYjCQATGYAQGoAQM%3D" + } + }, + "text": { + "runs": [ + { + "text": "Spam or misleading" + } + ] + }, + "trackingParams": "CAYQ7ZMBGAkiEwjG2vG6r6T7AhVjgjgKHT6RBCE=" + } + } + ], + "trackingParams": "CAUQ9EoiEwjG2vG6r6T7AhVjgjgKHT6RBCE=" + } + }, + "submitButton": { + "buttonRenderer": { + "isDisabled": true, + "style": "STYLE_BRAND", + "text": { + "runs": [ + { + "text": "Report" + } + ] + }, + "trackingParams": "CAQQ8FsiEwjG2vG6r6T7AhVjgjgKHT6RBCE=" + } + }, + "title": { + "runs": [ + { + "text": "Report video" + } + ] + }, + "trackingParams": "CAEQ55sBIhMIxtrxuq-k-wIVY4I4Ch0-kQQh" + } + } +} diff --git a/testfiles/music_details/radio_cont.json b/testfiles/music_details/radio_cont.json new file mode 100644 index 0000000..b09c5ae --- /dev/null +++ b/testfiles/music_details/radio_cont.json @@ -0,0 +1,13600 @@ +{ + "contents": { + "singleColumnMusicWatchNextResultsRenderer": { + "tabbedRenderer": { + "watchNextTabbedResultsRenderer": { + "tabs": [ + { + "tabRenderer": { + "content": { + "musicQueueRenderer": { + "hack": true + } + }, + "title": "Up next", + "trackingParams": "CJoDEJ-0BRgAIhMIrem4lsik-wIVydURCB1LPg7Z" + } + } + ] + } + } + } + }, + "continuationContents": { + "playlistPanelContinuation": { + "contents": [ + { + "playlistPanelVideoRenderer": { + "canReorder": true, + "lengthText": { + "accessibility": { + "accessibilityData": { + "label": "3 minutes, 30 seconds" + } + }, + "runs": [ + { + "text": "3:30" + } + ] + }, + "longBylineText": { + "runs": [ + { + "navigationEndpoint": { + "browseEndpoint": { + "browseEndpointContextSupportedConfigs": { + "browseEndpointContextMusicConfig": { + "pageType": "MUSIC_PAGE_TYPE_ARTIST" + } + }, + "browseId": "UCwzCuKxyMY_sT7hr1E8G1XA" + }, + "clickTrackingParams": "CIkDEMggGAAiEwit6biWyKT7AhXJ1REIHUs-Dtk=" + }, + "text": "TAEYEON" + }, + { + "text": " • " + }, + { + "navigationEndpoint": { + "browseEndpoint": { + "browseEndpointContextSupportedConfigs": { + "browseEndpointContextMusicConfig": { + "pageType": "MUSIC_PAGE_TYPE_ALBUM" + } + }, + "browseId": "MPREb_vuRMHNG5m7r" + }, + "clickTrackingParams": "CIkDEMggGAAiEwit6biWyKT7AhXJ1REIHUs-Dtk=" + }, + "text": "My Voice - The 1st Album" + }, + { + "text": " • " + }, + { + "text": "2017" + } + ] + }, + "menu": { + "menuRenderer": { + "accessibility": { + "accessibilityData": { + "label": "Action menu" + } + }, + "items": [ + { + "menuNavigationItemRenderer": { + "icon": { + "iconType": "MIX" + }, + "navigationEndpoint": { + "clickTrackingParams": "CJkDEJvzBRgAIhMIrem4lsik-wIVydURCB1LPg7Z", + "watchEndpoint": { + "loggingContext": { + "vssLoggingContext": { + "serializedContextData": "GhFSREFNVk11MXV2dl95S2hIOA%3D%3D" + } + }, + "params": "wAEB", + "playlistId": "RDAMVMu1uvv_yKhH8", + "videoId": "u1uvv_yKhH8", + "watchEndpointMusicSupportedConfigs": { + "watchEndpointMusicConfig": { + "musicVideoType": "MUSIC_VIDEO_TYPE_ATV" + } + } + } + }, + "text": { + "runs": [ + { + "text": "Start radio" + } + ] + }, + "trackingParams": "CJkDEJvzBRgAIhMIrem4lsik-wIVydURCB1LPg7Z" + } + }, + { + "menuServiceItemRenderer": { + "icon": { + "iconType": "QUEUE_PLAY_NEXT" + }, + "serviceEndpoint": { + "clickTrackingParams": "CJcDEL7uBRgBIhMIrem4lsik-wIVydURCB1LPg7Z", + "queueAddEndpoint": { + "commands": [ + { + "addToToastAction": { + "item": { + "notificationTextRenderer": { + "successResponseText": { + "runs": [ + { + "text": "Song will play next" + } + ] + }, + "trackingParams": "CJgDEMrHAyITCK3puJbIpPsCFcnVEQgdSz4O2Q==" + } + } + }, + "clickTrackingParams": "CJcDEL7uBRgBIhMIrem4lsik-wIVydURCB1LPg7Z" + } + ], + "queueInsertPosition": "INSERT_AFTER_CURRENT_VIDEO", + "queueTarget": { + "videoId": "u1uvv_yKhH8" + } + } + }, + "text": { + "runs": [ + { + "text": "Play next" + } + ] + }, + "trackingParams": "CJcDEL7uBRgBIhMIrem4lsik-wIVydURCB1LPg7Z" + } + }, + { + "menuServiceItemRenderer": { + "icon": { + "iconType": "ADD_TO_REMOTE_QUEUE" + }, + "serviceEndpoint": { + "clickTrackingParams": "CJUDEPvvBRgCIhMIrem4lsik-wIVydURCB1LPg7Z", + "queueAddEndpoint": { + "commands": [ + { + "addToToastAction": { + "item": { + "notificationTextRenderer": { + "successResponseText": { + "runs": [ + { + "text": "Song added to queue" + } + ] + }, + "trackingParams": "CJYDEMrHAyITCK3puJbIpPsCFcnVEQgdSz4O2Q==" + } + } + }, + "clickTrackingParams": "CJUDEPvvBRgCIhMIrem4lsik-wIVydURCB1LPg7Z" + } + ], + "queueInsertPosition": "INSERT_AT_END", + "queueTarget": { + "videoId": "u1uvv_yKhH8" + } + } + }, + "text": { + "runs": [ + { + "text": "Add to queue" + } + ] + }, + "trackingParams": "CJUDEPvvBRgCIhMIrem4lsik-wIVydURCB1LPg7Z" + } + }, + { + "toggleMenuServiceItemRenderer": { + "defaultIcon": { + "iconType": "FAVORITE" + }, + "defaultServiceEndpoint": { + "clickTrackingParams": "CJMDEIyfBhgDIhMIrem4lsik-wIVydURCB1LPg7Z", + "modalEndpoint": { + "modal": { + "modalWithTitleAndButtonRenderer": { + "button": { + "buttonRenderer": { + "isDisabled": false, + "navigationEndpoint": { + "clickTrackingParams": "CJQDEPBbIhMIrem4lsik-wIVydURCB1LPg7Z", + "signInEndpoint": { + "hack": true + } + }, + "style": "STYLE_BLUE_TEXT", + "text": { + "runs": [ + { + "text": "Sign in" + } + ] + }, + "trackingParams": "CJQDEPBbIhMIrem4lsik-wIVydURCB1LPg7Z" + } + }, + "content": { + "runs": [ + { + "text": "Improve recommendations and save music after signing in" + } + ] + }, + "title": { + "runs": [ + { + "text": "Like this song" + } + ] + } + } + } + } + }, + "defaultText": { + "runs": [ + { + "text": "Add to liked songs" + } + ] + }, + "toggledIcon": { + "iconType": "UNFAVORITE" + }, + "toggledText": { + "runs": [ + { + "text": "Remove from liked songs" + } + ] + }, + "trackingParams": "CJMDEIyfBhgDIhMIrem4lsik-wIVydURCB1LPg7Z" + } + }, + { + "menuNavigationItemRenderer": { + "icon": { + "iconType": "ADD_TO_PLAYLIST" + }, + "navigationEndpoint": { + "clickTrackingParams": "CJEDEMOUBhgEIhMIrem4lsik-wIVydURCB1LPg7Z", + "modalEndpoint": { + "modal": { + "modalWithTitleAndButtonRenderer": { + "button": { + "buttonRenderer": { + "isDisabled": false, + "navigationEndpoint": { + "clickTrackingParams": "CJIDEPBbIhMIrem4lsik-wIVydURCB1LPg7Z", + "signInEndpoint": { + "hack": true + } + }, + "style": "STYLE_BLUE_TEXT", + "text": { + "runs": [ + { + "text": "Sign in" + } + ] + }, + "trackingParams": "CJIDEPBbIhMIrem4lsik-wIVydURCB1LPg7Z" + } + }, + "content": { + "runs": [ + { + "text": "Make playlists and share them after signing in" + } + ] + }, + "title": { + "runs": [ + { + "text": "Save this for later" + } + ] + } + } + } + } + }, + "text": { + "runs": [ + { + "text": "Add to playlist" + } + ] + }, + "trackingParams": "CJEDEMOUBhgEIhMIrem4lsik-wIVydURCB1LPg7Z" + } + }, + { + "menuServiceItemRenderer": { + "icon": { + "iconType": "REMOVE" + }, + "serviceEndpoint": { + "clickTrackingParams": "CI8DEOP7BRgFIhMIrem4lsik-wIVydURCB1LPg7Z", + "removeFromQueueEndpoint": { + "commands": [ + { + "addToToastAction": { + "item": { + "notificationTextRenderer": { + "successResponseText": { + "runs": [ + { + "text": "Item removed from queue" + } + ] + }, + "trackingParams": "CJADEMrHAyITCK3puJbIpPsCFcnVEQgdSz4O2Q==" + } + } + }, + "clickTrackingParams": "CI8DEOP7BRgFIhMIrem4lsik-wIVydURCB1LPg7Z" + } + ], + "videoId": "u1uvv_yKhH8" + } + }, + "text": { + "runs": [ + { + "text": "Remove from queue" + } + ] + }, + "trackingParams": "CI8DEOP7BRgFIhMIrem4lsik-wIVydURCB1LPg7Z" + } + }, + { + "menuNavigationItemRenderer": { + "icon": { + "iconType": "ALBUM" + }, + "navigationEndpoint": { + "browseEndpoint": { + "browseEndpointContextSupportedConfigs": { + "browseEndpointContextMusicConfig": { + "pageType": "MUSIC_PAGE_TYPE_ALBUM" + } + }, + "browseId": "MPREb_vuRMHNG5m7r" + }, + "clickTrackingParams": "CI4DEI_7BRgGIhMIrem4lsik-wIVydURCB1LPg7Z" + }, + "text": { + "runs": [ + { + "text": "Go to album" + } + ] + }, + "trackingParams": "CI4DEI_7BRgGIhMIrem4lsik-wIVydURCB1LPg7Z" + } + }, + { + "menuNavigationItemRenderer": { + "icon": { + "iconType": "ARTIST" + }, + "navigationEndpoint": { + "browseEndpoint": { + "browseEndpointContextSupportedConfigs": { + "browseEndpointContextMusicConfig": { + "pageType": "MUSIC_PAGE_TYPE_ARTIST" + } + }, + "browseId": "UCwzCuKxyMY_sT7hr1E8G1XA" + }, + "clickTrackingParams": "CI0DEJD7BRgHIhMIrem4lsik-wIVydURCB1LPg7Z" + }, + "text": { + "runs": [ + { + "text": "Go to artist" + } + ] + }, + "trackingParams": "CI0DEJD7BRgHIhMIrem4lsik-wIVydURCB1LPg7Z" + } + }, + { + "menuNavigationItemRenderer": { + "icon": { + "iconType": "SHARE" + }, + "navigationEndpoint": { + "clickTrackingParams": "CIwDEJH7BRgIIhMIrem4lsik-wIVydURCB1LPg7Z", + "shareEntityEndpoint": { + "serializedShareEntity": "Cgt1MXV2dl95S2hIOA%3D%3D", + "sharePanelType": "SHARE_PANEL_TYPE_UNIFIED_SHARE_PANEL" + } + }, + "text": { + "runs": [ + { + "text": "Share" + } + ] + }, + "trackingParams": "CIwDEJH7BRgIIhMIrem4lsik-wIVydURCB1LPg7Z" + } + }, + { + "menuServiceItemRenderer": { + "icon": { + "iconType": "FLAG" + }, + "serviceEndpoint": { + "clickTrackingParams": "CIoDEI32CRgJIhMIrem4lsik-wIVydURCB1LPg7Z", + "modalEndpoint": { + "modal": { + "modalWithTitleAndButtonRenderer": { + "button": { + "buttonRenderer": { + "isDisabled": false, + "navigationEndpoint": { + "clickTrackingParams": "CIsDEPBbIhMIrem4lsik-wIVydURCB1LPg7Z", + "signInEndpoint": { + "hack": true + } + }, + "style": "STYLE_BLUE_TEXT", + "text": { + "runs": [ + { + "text": "Sign in" + } + ] + }, + "trackingParams": "CIsDEPBbIhMIrem4lsik-wIVydURCB1LPg7Z" + } + }, + "content": { + "runs": [ + { + "text": "Sign in to report inappropriate content." + } + ] + }, + "title": { + "runs": [ + { + "text": "Need to report the video?" + } + ] + } + } + } + } + }, + "text": { + "runs": [ + { + "text": "Report" + } + ] + }, + "trackingParams": "CIoDEI32CRgJIhMIrem4lsik-wIVydURCB1LPg7Z" + } + } + ], + "trackingParams": "CIkDEMggGAAiEwit6biWyKT7AhXJ1REIHUs-Dtk=" + } + }, + "navigationEndpoint": { + "clickTrackingParams": "CIkDEMggGAAiEwit6biWyKT7AhXJ1REIHUs-DtkyA0JGYUj_iKrk__frrbsBmgEFCAwQ-B0=", + "watchEndpoint": { + "index": 1, + "loggingContext": { + "vssLoggingContext": { + "serializedContextData": "GhFSREFNVk03bmlnWFFTMVhiMA%3D%3D" + } + }, + "params": "OAHyAQQIAXgB", + "playlistId": "RDAMVM7nigXQS1Xb0", + "playlistSetVideoId": "289F4A46DF0A30D2", + "videoId": "u1uvv_yKhH8", + "watchEndpointMusicSupportedConfigs": { + "watchEndpointMusicConfig": { + "hasPersistentPlaylistPanel": true, + "musicVideoType": "MUSIC_VIDEO_TYPE_ATV" + } + } + } + }, + "playlistSetVideoId": "289F4A46DF0A30D2", + "selected": false, + "shortBylineText": { + "runs": [ + { + "text": "TAEYEON" + } + ] + }, + "thumbnail": { + "thumbnails": [ + { + "height": 60, + "url": "https://lh3.googleusercontent.com/3MyOmMOLMQCZF98njtrwBOVTaFt8DZlVTzQ-ed6gVNVQc4eu4YWqOTWjv3fYFpDlC16UQ-88vnal1Mvuag=w60-h60-l90-rj", + "width": 60 + }, + { + "height": 120, + "url": "https://lh3.googleusercontent.com/3MyOmMOLMQCZF98njtrwBOVTaFt8DZlVTzQ-ed6gVNVQc4eu4YWqOTWjv3fYFpDlC16UQ-88vnal1Mvuag=w120-h120-l90-rj", + "width": 120 + }, + { + "height": 180, + "url": "https://lh3.googleusercontent.com/3MyOmMOLMQCZF98njtrwBOVTaFt8DZlVTzQ-ed6gVNVQc4eu4YWqOTWjv3fYFpDlC16UQ-88vnal1Mvuag=w180-h180-l90-rj", + "width": 180 + }, + { + "height": 226, + "url": "https://lh3.googleusercontent.com/3MyOmMOLMQCZF98njtrwBOVTaFt8DZlVTzQ-ed6gVNVQc4eu4YWqOTWjv3fYFpDlC16UQ-88vnal1Mvuag=w226-h226-l90-rj", + "width": 226 + }, + { + "height": 302, + "url": "https://lh3.googleusercontent.com/3MyOmMOLMQCZF98njtrwBOVTaFt8DZlVTzQ-ed6gVNVQc4eu4YWqOTWjv3fYFpDlC16UQ-88vnal1Mvuag=w302-h302-l90-rj", + "width": 302 + }, + { + "height": 544, + "url": "https://lh3.googleusercontent.com/3MyOmMOLMQCZF98njtrwBOVTaFt8DZlVTzQ-ed6gVNVQc4eu4YWqOTWjv3fYFpDlC16UQ-88vnal1Mvuag=w544-h544-l90-rj", + "width": 544 + } + ] + }, + "title": { + "runs": [ + { + "text": "Fine" + } + ] + }, + "trackingParams": "CIkDEMggGAAiEwit6biWyKT7AhXJ1REIHUs-Dtk=", + "videoId": "u1uvv_yKhH8" + } + }, + { + "playlistPanelVideoRenderer": { + "canReorder": true, + "lengthText": { + "accessibility": { + "accessibilityData": { + "label": "2 minutes, 58 seconds" + } + }, + "runs": [ + { + "text": "2:58" + } + ] + }, + "longBylineText": { + "runs": [ + { + "navigationEndpoint": { + "browseEndpoint": { + "browseEndpointContextSupportedConfigs": { + "browseEndpointContextMusicConfig": { + "pageType": "MUSIC_PAGE_TYPE_ARTIST" + } + }, + "browseId": "UC_4Y1QqJr60C5Z7-eQWy-mw" + }, + "clickTrackingParams": "CPgCEMggGAEiEwit6biWyKT7AhXJ1REIHUs-Dtk=" + }, + "text": "IVE" + }, + { + "text": " • " + }, + { + "navigationEndpoint": { + "browseEndpoint": { + "browseEndpointContextSupportedConfigs": { + "browseEndpointContextMusicConfig": { + "pageType": "MUSIC_PAGE_TYPE_ALBUM" + } + }, + "browseId": "MPREb_Yqp7NyUFXMt" + }, + "clickTrackingParams": "CPgCEMggGAEiEwit6biWyKT7AhXJ1REIHUs-Dtk=" + }, + "text": "LOVE DIVE (LOVE DIVE)" + }, + { + "text": " • " + }, + { + "text": "2022" + } + ] + }, + "menu": { + "menuRenderer": { + "accessibility": { + "accessibilityData": { + "label": "Action menu" + } + }, + "items": [ + { + "menuNavigationItemRenderer": { + "icon": { + "iconType": "MIX" + }, + "navigationEndpoint": { + "clickTrackingParams": "CIgDEJvzBRgAIhMIrem4lsik-wIVydURCB1LPg7Z", + "watchEndpoint": { + "loggingContext": { + "vssLoggingContext": { + "serializedContextData": "GhFSREFNVk1oaDVHS1ZhOFZ0TQ%3D%3D" + } + }, + "params": "wAEB", + "playlistId": "RDAMVMhh5GKVa8VtM", + "videoId": "hh5GKVa8VtM", + "watchEndpointMusicSupportedConfigs": { + "watchEndpointMusicConfig": { + "musicVideoType": "MUSIC_VIDEO_TYPE_ATV" + } + } + } + }, + "text": { + "runs": [ + { + "text": "Start radio" + } + ] + }, + "trackingParams": "CIgDEJvzBRgAIhMIrem4lsik-wIVydURCB1LPg7Z" + } + }, + { + "menuServiceItemRenderer": { + "icon": { + "iconType": "QUEUE_PLAY_NEXT" + }, + "serviceEndpoint": { + "clickTrackingParams": "CIYDEL7uBRgBIhMIrem4lsik-wIVydURCB1LPg7Z", + "queueAddEndpoint": { + "commands": [ + { + "addToToastAction": { + "item": { + "notificationTextRenderer": { + "successResponseText": { + "runs": [ + { + "text": "Song will play next" + } + ] + }, + "trackingParams": "CIcDEMrHAyITCK3puJbIpPsCFcnVEQgdSz4O2Q==" + } + } + }, + "clickTrackingParams": "CIYDEL7uBRgBIhMIrem4lsik-wIVydURCB1LPg7Z" + } + ], + "queueInsertPosition": "INSERT_AFTER_CURRENT_VIDEO", + "queueTarget": { + "videoId": "hh5GKVa8VtM" + } + } + }, + "text": { + "runs": [ + { + "text": "Play next" + } + ] + }, + "trackingParams": "CIYDEL7uBRgBIhMIrem4lsik-wIVydURCB1LPg7Z" + } + }, + { + "menuServiceItemRenderer": { + "icon": { + "iconType": "ADD_TO_REMOTE_QUEUE" + }, + "serviceEndpoint": { + "clickTrackingParams": "CIQDEPvvBRgCIhMIrem4lsik-wIVydURCB1LPg7Z", + "queueAddEndpoint": { + "commands": [ + { + "addToToastAction": { + "item": { + "notificationTextRenderer": { + "successResponseText": { + "runs": [ + { + "text": "Song added to queue" + } + ] + }, + "trackingParams": "CIUDEMrHAyITCK3puJbIpPsCFcnVEQgdSz4O2Q==" + } + } + }, + "clickTrackingParams": "CIQDEPvvBRgCIhMIrem4lsik-wIVydURCB1LPg7Z" + } + ], + "queueInsertPosition": "INSERT_AT_END", + "queueTarget": { + "videoId": "hh5GKVa8VtM" + } + } + }, + "text": { + "runs": [ + { + "text": "Add to queue" + } + ] + }, + "trackingParams": "CIQDEPvvBRgCIhMIrem4lsik-wIVydURCB1LPg7Z" + } + }, + { + "toggleMenuServiceItemRenderer": { + "defaultIcon": { + "iconType": "FAVORITE" + }, + "defaultServiceEndpoint": { + "clickTrackingParams": "CIIDEIyfBhgDIhMIrem4lsik-wIVydURCB1LPg7Z", + "modalEndpoint": { + "modal": { + "modalWithTitleAndButtonRenderer": { + "button": { + "buttonRenderer": { + "isDisabled": false, + "navigationEndpoint": { + "clickTrackingParams": "CIMDEPBbIhMIrem4lsik-wIVydURCB1LPg7Z", + "signInEndpoint": { + "hack": true + } + }, + "style": "STYLE_BLUE_TEXT", + "text": { + "runs": [ + { + "text": "Sign in" + } + ] + }, + "trackingParams": "CIMDEPBbIhMIrem4lsik-wIVydURCB1LPg7Z" + } + }, + "content": { + "runs": [ + { + "text": "Improve recommendations and save music after signing in" + } + ] + }, + "title": { + "runs": [ + { + "text": "Like this song" + } + ] + } + } + } + } + }, + "defaultText": { + "runs": [ + { + "text": "Add to liked songs" + } + ] + }, + "toggledIcon": { + "iconType": "UNFAVORITE" + }, + "toggledText": { + "runs": [ + { + "text": "Remove from liked songs" + } + ] + }, + "trackingParams": "CIIDEIyfBhgDIhMIrem4lsik-wIVydURCB1LPg7Z" + } + }, + { + "menuNavigationItemRenderer": { + "icon": { + "iconType": "ADD_TO_PLAYLIST" + }, + "navigationEndpoint": { + "clickTrackingParams": "CIADEMOUBhgEIhMIrem4lsik-wIVydURCB1LPg7Z", + "modalEndpoint": { + "modal": { + "modalWithTitleAndButtonRenderer": { + "button": { + "buttonRenderer": { + "isDisabled": false, + "navigationEndpoint": { + "clickTrackingParams": "CIEDEPBbIhMIrem4lsik-wIVydURCB1LPg7Z", + "signInEndpoint": { + "hack": true + } + }, + "style": "STYLE_BLUE_TEXT", + "text": { + "runs": [ + { + "text": "Sign in" + } + ] + }, + "trackingParams": "CIEDEPBbIhMIrem4lsik-wIVydURCB1LPg7Z" + } + }, + "content": { + "runs": [ + { + "text": "Make playlists and share them after signing in" + } + ] + }, + "title": { + "runs": [ + { + "text": "Save this for later" + } + ] + } + } + } + } + }, + "text": { + "runs": [ + { + "text": "Add to playlist" + } + ] + }, + "trackingParams": "CIADEMOUBhgEIhMIrem4lsik-wIVydURCB1LPg7Z" + } + }, + { + "menuServiceItemRenderer": { + "icon": { + "iconType": "REMOVE" + }, + "serviceEndpoint": { + "clickTrackingParams": "CP4CEOP7BRgFIhMIrem4lsik-wIVydURCB1LPg7Z", + "removeFromQueueEndpoint": { + "commands": [ + { + "addToToastAction": { + "item": { + "notificationTextRenderer": { + "successResponseText": { + "runs": [ + { + "text": "Item removed from queue" + } + ] + }, + "trackingParams": "CP8CEMrHAyITCK3puJbIpPsCFcnVEQgdSz4O2Q==" + } + } + }, + "clickTrackingParams": "CP4CEOP7BRgFIhMIrem4lsik-wIVydURCB1LPg7Z" + } + ], + "videoId": "hh5GKVa8VtM" + } + }, + "text": { + "runs": [ + { + "text": "Remove from queue" + } + ] + }, + "trackingParams": "CP4CEOP7BRgFIhMIrem4lsik-wIVydURCB1LPg7Z" + } + }, + { + "menuNavigationItemRenderer": { + "icon": { + "iconType": "ALBUM" + }, + "navigationEndpoint": { + "browseEndpoint": { + "browseEndpointContextSupportedConfigs": { + "browseEndpointContextMusicConfig": { + "pageType": "MUSIC_PAGE_TYPE_ALBUM" + } + }, + "browseId": "MPREb_Yqp7NyUFXMt" + }, + "clickTrackingParams": "CP0CEI_7BRgGIhMIrem4lsik-wIVydURCB1LPg7Z" + }, + "text": { + "runs": [ + { + "text": "Go to album" + } + ] + }, + "trackingParams": "CP0CEI_7BRgGIhMIrem4lsik-wIVydURCB1LPg7Z" + } + }, + { + "menuNavigationItemRenderer": { + "icon": { + "iconType": "ARTIST" + }, + "navigationEndpoint": { + "browseEndpoint": { + "browseEndpointContextSupportedConfigs": { + "browseEndpointContextMusicConfig": { + "pageType": "MUSIC_PAGE_TYPE_ARTIST" + } + }, + "browseId": "UC_4Y1QqJr60C5Z7-eQWy-mw" + }, + "clickTrackingParams": "CPwCEJD7BRgHIhMIrem4lsik-wIVydURCB1LPg7Z" + }, + "text": { + "runs": [ + { + "text": "Go to artist" + } + ] + }, + "trackingParams": "CPwCEJD7BRgHIhMIrem4lsik-wIVydURCB1LPg7Z" + } + }, + { + "menuNavigationItemRenderer": { + "icon": { + "iconType": "SHARE" + }, + "navigationEndpoint": { + "clickTrackingParams": "CPsCEJH7BRgIIhMIrem4lsik-wIVydURCB1LPg7Z", + "shareEntityEndpoint": { + "serializedShareEntity": "CgtoaDVHS1ZhOFZ0TQ%3D%3D", + "sharePanelType": "SHARE_PANEL_TYPE_UNIFIED_SHARE_PANEL" + } + }, + "text": { + "runs": [ + { + "text": "Share" + } + ] + }, + "trackingParams": "CPsCEJH7BRgIIhMIrem4lsik-wIVydURCB1LPg7Z" + } + }, + { + "menuServiceItemRenderer": { + "icon": { + "iconType": "FLAG" + }, + "serviceEndpoint": { + "clickTrackingParams": "CPkCEI32CRgJIhMIrem4lsik-wIVydURCB1LPg7Z", + "modalEndpoint": { + "modal": { + "modalWithTitleAndButtonRenderer": { + "button": { + "buttonRenderer": { + "isDisabled": false, + "navigationEndpoint": { + "clickTrackingParams": "CPoCEPBbIhMIrem4lsik-wIVydURCB1LPg7Z", + "signInEndpoint": { + "hack": true + } + }, + "style": "STYLE_BLUE_TEXT", + "text": { + "runs": [ + { + "text": "Sign in" + } + ] + }, + "trackingParams": "CPoCEPBbIhMIrem4lsik-wIVydURCB1LPg7Z" + } + }, + "content": { + "runs": [ + { + "text": "Sign in to report inappropriate content." + } + ] + }, + "title": { + "runs": [ + { + "text": "Need to report the video?" + } + ] + } + } + } + } + }, + "text": { + "runs": [ + { + "text": "Report" + } + ] + }, + "trackingParams": "CPkCEI32CRgJIhMIrem4lsik-wIVydURCB1LPg7Z" + } + } + ], + "trackingParams": "CPgCEMggGAEiEwit6biWyKT7AhXJ1REIHUs-Dtk=" + } + }, + "navigationEndpoint": { + "clickTrackingParams": "CPgCEMggGAEiEwit6biWyKT7AhXJ1REIHUs-DtkyA0JGYUjTrfG1lcWRj4YBmgEFCAwQ-B0=", + "watchEndpoint": { + "index": 2, + "loggingContext": { + "vssLoggingContext": { + "serializedContextData": "GhFSREFNVk03bmlnWFFTMVhiMA%3D%3D" + } + }, + "params": "OAHyAQQIAXgB", + "playlistId": "RDAMVM7nigXQS1Xb0", + "playlistSetVideoId": "017208FAA85233F9", + "videoId": "hh5GKVa8VtM", + "watchEndpointMusicSupportedConfigs": { + "watchEndpointMusicConfig": { + "hasPersistentPlaylistPanel": true, + "musicVideoType": "MUSIC_VIDEO_TYPE_ATV" + } + } + } + }, + "playlistSetVideoId": "017208FAA85233F9", + "selected": false, + "shortBylineText": { + "runs": [ + { + "text": "IVE" + } + ] + }, + "thumbnail": { + "thumbnails": [ + { + "height": 60, + "url": "https://lh3.googleusercontent.com/jRELX5qAew8CuPt1mAzv_51WgcWjY08kCbK051wB4MX8B_4K9CgUVX5YHqxRwPoFhoNQZ69vbY03tL6S=w60-h60-l90-rj", + "width": 60 + }, + { + "height": 120, + "url": "https://lh3.googleusercontent.com/jRELX5qAew8CuPt1mAzv_51WgcWjY08kCbK051wB4MX8B_4K9CgUVX5YHqxRwPoFhoNQZ69vbY03tL6S=w120-h120-l90-rj", + "width": 120 + }, + { + "height": 180, + "url": "https://lh3.googleusercontent.com/jRELX5qAew8CuPt1mAzv_51WgcWjY08kCbK051wB4MX8B_4K9CgUVX5YHqxRwPoFhoNQZ69vbY03tL6S=w180-h180-l90-rj", + "width": 180 + }, + { + "height": 226, + "url": "https://lh3.googleusercontent.com/jRELX5qAew8CuPt1mAzv_51WgcWjY08kCbK051wB4MX8B_4K9CgUVX5YHqxRwPoFhoNQZ69vbY03tL6S=w226-h226-l90-rj", + "width": 226 + }, + { + "height": 302, + "url": "https://lh3.googleusercontent.com/jRELX5qAew8CuPt1mAzv_51WgcWjY08kCbK051wB4MX8B_4K9CgUVX5YHqxRwPoFhoNQZ69vbY03tL6S=w302-h302-l90-rj", + "width": 302 + }, + { + "height": 544, + "url": "https://lh3.googleusercontent.com/jRELX5qAew8CuPt1mAzv_51WgcWjY08kCbK051wB4MX8B_4K9CgUVX5YHqxRwPoFhoNQZ69vbY03tL6S=w544-h544-l90-rj", + "width": 544 + } + ] + }, + "title": { + "runs": [ + { + "text": "LOVE DIVE (LOVE DIVE)" + } + ] + }, + "trackingParams": "CPgCEMggGAEiEwit6biWyKT7AhXJ1REIHUs-Dtk=", + "videoId": "hh5GKVa8VtM" + } + }, + { + "playlistPanelVideoRenderer": { + "canReorder": true, + "lengthText": { + "accessibility": { + "accessibilityData": { + "label": "2 minutes, 59 seconds" + } + }, + "runs": [ + { + "text": "2:59" + } + ] + }, + "longBylineText": { + "runs": [ + { + "navigationEndpoint": { + "browseEndpoint": { + "browseEndpointContextSupportedConfigs": { + "browseEndpointContextMusicConfig": { + "pageType": "MUSIC_PAGE_TYPE_ARTIST" + } + }, + "browseId": "UCWT2ZfW7d8YI-HinHEVhyCA" + }, + "clickTrackingParams": "COcCEMggGAIiEwit6biWyKT7AhXJ1REIHUs-Dtk=" + }, + "text": "(G)I-DLE" + }, + { + "text": " • " + }, + { + "navigationEndpoint": { + "browseEndpoint": { + "browseEndpointContextSupportedConfigs": { + "browseEndpointContextMusicConfig": { + "pageType": "MUSIC_PAGE_TYPE_ALBUM" + } + }, + "browseId": "MPREb_lILDKoYdOU4" + }, + "clickTrackingParams": "COcCEMggGAIiEwit6biWyKT7AhXJ1REIHUs-Dtk=" + }, + "text": "I Love" + }, + { + "text": " • " + }, + { + "text": "2022" + } + ] + }, + "menu": { + "menuRenderer": { + "accessibility": { + "accessibilityData": { + "label": "Action menu" + } + }, + "items": [ + { + "menuNavigationItemRenderer": { + "icon": { + "iconType": "MIX" + }, + "navigationEndpoint": { + "clickTrackingParams": "CPcCEJvzBRgAIhMIrem4lsik-wIVydURCB1LPg7Z", + "watchEndpoint": { + "loggingContext": { + "vssLoggingContext": { + "serializedContextData": "GhFSREFNVk1SZFUzRjV2TjNfcw%3D%3D" + } + }, + "params": "wAEB", + "playlistId": "RDAMVMRdU3F5vN3_s", + "videoId": "RdU3F5vN3_s", + "watchEndpointMusicSupportedConfigs": { + "watchEndpointMusicConfig": { + "musicVideoType": "MUSIC_VIDEO_TYPE_ATV" + } + } + } + }, + "text": { + "runs": [ + { + "text": "Start radio" + } + ] + }, + "trackingParams": "CPcCEJvzBRgAIhMIrem4lsik-wIVydURCB1LPg7Z" + } + }, + { + "menuServiceItemRenderer": { + "icon": { + "iconType": "QUEUE_PLAY_NEXT" + }, + "serviceEndpoint": { + "clickTrackingParams": "CPUCEL7uBRgBIhMIrem4lsik-wIVydURCB1LPg7Z", + "queueAddEndpoint": { + "commands": [ + { + "addToToastAction": { + "item": { + "notificationTextRenderer": { + "successResponseText": { + "runs": [ + { + "text": "Song will play next" + } + ] + }, + "trackingParams": "CPYCEMrHAyITCK3puJbIpPsCFcnVEQgdSz4O2Q==" + } + } + }, + "clickTrackingParams": "CPUCEL7uBRgBIhMIrem4lsik-wIVydURCB1LPg7Z" + } + ], + "queueInsertPosition": "INSERT_AFTER_CURRENT_VIDEO", + "queueTarget": { + "videoId": "RdU3F5vN3_s" + } + } + }, + "text": { + "runs": [ + { + "text": "Play next" + } + ] + }, + "trackingParams": "CPUCEL7uBRgBIhMIrem4lsik-wIVydURCB1LPg7Z" + } + }, + { + "menuServiceItemRenderer": { + "icon": { + "iconType": "ADD_TO_REMOTE_QUEUE" + }, + "serviceEndpoint": { + "clickTrackingParams": "CPMCEPvvBRgCIhMIrem4lsik-wIVydURCB1LPg7Z", + "queueAddEndpoint": { + "commands": [ + { + "addToToastAction": { + "item": { + "notificationTextRenderer": { + "successResponseText": { + "runs": [ + { + "text": "Song added to queue" + } + ] + }, + "trackingParams": "CPQCEMrHAyITCK3puJbIpPsCFcnVEQgdSz4O2Q==" + } + } + }, + "clickTrackingParams": "CPMCEPvvBRgCIhMIrem4lsik-wIVydURCB1LPg7Z" + } + ], + "queueInsertPosition": "INSERT_AT_END", + "queueTarget": { + "videoId": "RdU3F5vN3_s" + } + } + }, + "text": { + "runs": [ + { + "text": "Add to queue" + } + ] + }, + "trackingParams": "CPMCEPvvBRgCIhMIrem4lsik-wIVydURCB1LPg7Z" + } + }, + { + "toggleMenuServiceItemRenderer": { + "defaultIcon": { + "iconType": "FAVORITE" + }, + "defaultServiceEndpoint": { + "clickTrackingParams": "CPECEIyfBhgDIhMIrem4lsik-wIVydURCB1LPg7Z", + "modalEndpoint": { + "modal": { + "modalWithTitleAndButtonRenderer": { + "button": { + "buttonRenderer": { + "isDisabled": false, + "navigationEndpoint": { + "clickTrackingParams": "CPICEPBbIhMIrem4lsik-wIVydURCB1LPg7Z", + "signInEndpoint": { + "hack": true + } + }, + "style": "STYLE_BLUE_TEXT", + "text": { + "runs": [ + { + "text": "Sign in" + } + ] + }, + "trackingParams": "CPICEPBbIhMIrem4lsik-wIVydURCB1LPg7Z" + } + }, + "content": { + "runs": [ + { + "text": "Improve recommendations and save music after signing in" + } + ] + }, + "title": { + "runs": [ + { + "text": "Like this song" + } + ] + } + } + } + } + }, + "defaultText": { + "runs": [ + { + "text": "Add to liked songs" + } + ] + }, + "toggledIcon": { + "iconType": "UNFAVORITE" + }, + "toggledText": { + "runs": [ + { + "text": "Remove from liked songs" + } + ] + }, + "trackingParams": "CPECEIyfBhgDIhMIrem4lsik-wIVydURCB1LPg7Z" + } + }, + { + "menuNavigationItemRenderer": { + "icon": { + "iconType": "ADD_TO_PLAYLIST" + }, + "navigationEndpoint": { + "clickTrackingParams": "CO8CEMOUBhgEIhMIrem4lsik-wIVydURCB1LPg7Z", + "modalEndpoint": { + "modal": { + "modalWithTitleAndButtonRenderer": { + "button": { + "buttonRenderer": { + "isDisabled": false, + "navigationEndpoint": { + "clickTrackingParams": "CPACEPBbIhMIrem4lsik-wIVydURCB1LPg7Z", + "signInEndpoint": { + "hack": true + } + }, + "style": "STYLE_BLUE_TEXT", + "text": { + "runs": [ + { + "text": "Sign in" + } + ] + }, + "trackingParams": "CPACEPBbIhMIrem4lsik-wIVydURCB1LPg7Z" + } + }, + "content": { + "runs": [ + { + "text": "Make playlists and share them after signing in" + } + ] + }, + "title": { + "runs": [ + { + "text": "Save this for later" + } + ] + } + } + } + } + }, + "text": { + "runs": [ + { + "text": "Add to playlist" + } + ] + }, + "trackingParams": "CO8CEMOUBhgEIhMIrem4lsik-wIVydURCB1LPg7Z" + } + }, + { + "menuServiceItemRenderer": { + "icon": { + "iconType": "REMOVE" + }, + "serviceEndpoint": { + "clickTrackingParams": "CO0CEOP7BRgFIhMIrem4lsik-wIVydURCB1LPg7Z", + "removeFromQueueEndpoint": { + "commands": [ + { + "addToToastAction": { + "item": { + "notificationTextRenderer": { + "successResponseText": { + "runs": [ + { + "text": "Item removed from queue" + } + ] + }, + "trackingParams": "CO4CEMrHAyITCK3puJbIpPsCFcnVEQgdSz4O2Q==" + } + } + }, + "clickTrackingParams": "CO0CEOP7BRgFIhMIrem4lsik-wIVydURCB1LPg7Z" + } + ], + "videoId": "RdU3F5vN3_s" + } + }, + "text": { + "runs": [ + { + "text": "Remove from queue" + } + ] + }, + "trackingParams": "CO0CEOP7BRgFIhMIrem4lsik-wIVydURCB1LPg7Z" + } + }, + { + "menuNavigationItemRenderer": { + "icon": { + "iconType": "ALBUM" + }, + "navigationEndpoint": { + "browseEndpoint": { + "browseEndpointContextSupportedConfigs": { + "browseEndpointContextMusicConfig": { + "pageType": "MUSIC_PAGE_TYPE_ALBUM" + } + }, + "browseId": "MPREb_lILDKoYdOU4" + }, + "clickTrackingParams": "COwCEI_7BRgGIhMIrem4lsik-wIVydURCB1LPg7Z" + }, + "text": { + "runs": [ + { + "text": "Go to album" + } + ] + }, + "trackingParams": "COwCEI_7BRgGIhMIrem4lsik-wIVydURCB1LPg7Z" + } + }, + { + "menuNavigationItemRenderer": { + "icon": { + "iconType": "ARTIST" + }, + "navigationEndpoint": { + "browseEndpoint": { + "browseEndpointContextSupportedConfigs": { + "browseEndpointContextMusicConfig": { + "pageType": "MUSIC_PAGE_TYPE_ARTIST" + } + }, + "browseId": "UCWT2ZfW7d8YI-HinHEVhyCA" + }, + "clickTrackingParams": "COsCEJD7BRgHIhMIrem4lsik-wIVydURCB1LPg7Z" + }, + "text": { + "runs": [ + { + "text": "Go to artist" + } + ] + }, + "trackingParams": "COsCEJD7BRgHIhMIrem4lsik-wIVydURCB1LPg7Z" + } + }, + { + "menuNavigationItemRenderer": { + "icon": { + "iconType": "SHARE" + }, + "navigationEndpoint": { + "clickTrackingParams": "COoCEJH7BRgIIhMIrem4lsik-wIVydURCB1LPg7Z", + "shareEntityEndpoint": { + "serializedShareEntity": "CgtSZFUzRjV2TjNfcw%3D%3D", + "sharePanelType": "SHARE_PANEL_TYPE_UNIFIED_SHARE_PANEL" + } + }, + "text": { + "runs": [ + { + "text": "Share" + } + ] + }, + "trackingParams": "COoCEJH7BRgIIhMIrem4lsik-wIVydURCB1LPg7Z" + } + }, + { + "menuServiceItemRenderer": { + "icon": { + "iconType": "FLAG" + }, + "serviceEndpoint": { + "clickTrackingParams": "COgCEI32CRgJIhMIrem4lsik-wIVydURCB1LPg7Z", + "modalEndpoint": { + "modal": { + "modalWithTitleAndButtonRenderer": { + "button": { + "buttonRenderer": { + "isDisabled": false, + "navigationEndpoint": { + "clickTrackingParams": "COkCEPBbIhMIrem4lsik-wIVydURCB1LPg7Z", + "signInEndpoint": { + "hack": true + } + }, + "style": "STYLE_BLUE_TEXT", + "text": { + "runs": [ + { + "text": "Sign in" + } + ] + }, + "trackingParams": "COkCEPBbIhMIrem4lsik-wIVydURCB1LPg7Z" + } + }, + "content": { + "runs": [ + { + "text": "Sign in to report inappropriate content." + } + ] + }, + "title": { + "runs": [ + { + "text": "Need to report the video?" + } + ] + } + } + } + } + }, + "text": { + "runs": [ + { + "text": "Report" + } + ] + }, + "trackingParams": "COgCEI32CRgJIhMIrem4lsik-wIVydURCB1LPg7Z" + } + } + ], + "trackingParams": "COcCEMggGAIiEwit6biWyKT7AhXJ1REIHUs-Dtk=" + } + }, + "navigationEndpoint": { + "clickTrackingParams": "COcCEMggGAIiEwit6biWyKT7AhXJ1REIHUs-DtkyA0JGYUj7v7fe-eLN6kWaAQUIDBD4HQ==", + "watchEndpoint": { + "index": 3, + "loggingContext": { + "vssLoggingContext": { + "serializedContextData": "GhFSREFNVk03bmlnWFFTMVhiMA%3D%3D" + } + }, + "params": "OAHyAQQIAXgB", + "playlistId": "RDAMVM7nigXQS1Xb0", + "playlistSetVideoId": "52152B4946C2F73F", + "videoId": "RdU3F5vN3_s", + "watchEndpointMusicSupportedConfigs": { + "watchEndpointMusicConfig": { + "hasPersistentPlaylistPanel": true, + "musicVideoType": "MUSIC_VIDEO_TYPE_ATV" + } + } + } + }, + "playlistSetVideoId": "52152B4946C2F73F", + "selected": false, + "shortBylineText": { + "runs": [ + { + "text": "(G)I-DLE" + } + ] + }, + "thumbnail": { + "thumbnails": [ + { + "height": 60, + "url": "https://lh3.googleusercontent.com/mv2cTT-W75n3P_cx41TiVQ0hXDrs-3MC84f4CdjTeKtSQBFs94f5aeN0RKPEjoSYoUbjjMc1nlI8dfPT=w60-h60-l90-rj", + "width": 60 + }, + { + "height": 120, + "url": "https://lh3.googleusercontent.com/mv2cTT-W75n3P_cx41TiVQ0hXDrs-3MC84f4CdjTeKtSQBFs94f5aeN0RKPEjoSYoUbjjMc1nlI8dfPT=w120-h120-l90-rj", + "width": 120 + }, + { + "height": 180, + "url": "https://lh3.googleusercontent.com/mv2cTT-W75n3P_cx41TiVQ0hXDrs-3MC84f4CdjTeKtSQBFs94f5aeN0RKPEjoSYoUbjjMc1nlI8dfPT=w180-h180-l90-rj", + "width": 180 + }, + { + "height": 226, + "url": "https://lh3.googleusercontent.com/mv2cTT-W75n3P_cx41TiVQ0hXDrs-3MC84f4CdjTeKtSQBFs94f5aeN0RKPEjoSYoUbjjMc1nlI8dfPT=w226-h226-l90-rj", + "width": 226 + }, + { + "height": 302, + "url": "https://lh3.googleusercontent.com/mv2cTT-W75n3P_cx41TiVQ0hXDrs-3MC84f4CdjTeKtSQBFs94f5aeN0RKPEjoSYoUbjjMc1nlI8dfPT=w302-h302-l90-rj", + "width": 302 + }, + { + "height": 544, + "url": "https://lh3.googleusercontent.com/mv2cTT-W75n3P_cx41TiVQ0hXDrs-3MC84f4CdjTeKtSQBFs94f5aeN0RKPEjoSYoUbjjMc1nlI8dfPT=w544-h544-l90-rj", + "width": 544 + } + ] + }, + "title": { + "runs": [ + { + "text": "Nxde" + } + ] + }, + "trackingParams": "COcCEMggGAIiEwit6biWyKT7AhXJ1REIHUs-Dtk=", + "videoId": "RdU3F5vN3_s" + } + }, + { + "playlistPanelVideoRenderer": { + "canReorder": true, + "lengthText": { + "accessibility": { + "accessibilityData": { + "label": "3 minutes, 31 seconds" + } + }, + "runs": [ + { + "text": "3:31" + } + ] + }, + "longBylineText": { + "runs": [ + { + "navigationEndpoint": { + "browseEndpoint": { + "browseEndpointContextSupportedConfigs": { + "browseEndpointContextMusicConfig": { + "pageType": "MUSIC_PAGE_TYPE_ARTIST" + } + }, + "browseId": "UCHmZYTfdTyVKQEJicLiXEOg" + }, + "clickTrackingParams": "CNYCEMggGAMiEwit6biWyKT7AhXJ1REIHUs-Dtk=" + }, + "text": "Red Velvet" + }, + { + "text": " • " + }, + { + "navigationEndpoint": { + "browseEndpoint": { + "browseEndpointContextSupportedConfigs": { + "browseEndpointContextMusicConfig": { + "pageType": "MUSIC_PAGE_TYPE_ALBUM" + } + }, + "browseId": "MPREb_fwK4xLwdkoj" + }, + "clickTrackingParams": "CNYCEMggGAMiEwit6biWyKT7AhXJ1REIHUs-Dtk=" + }, + "text": "'The ReVe Festival 2022 - Feel My Rhythm'" + }, + { + "text": " • " + }, + { + "text": "2022" + } + ] + }, + "menu": { + "menuRenderer": { + "accessibility": { + "accessibilityData": { + "label": "Action menu" + } + }, + "items": [ + { + "menuNavigationItemRenderer": { + "icon": { + "iconType": "MIX" + }, + "navigationEndpoint": { + "clickTrackingParams": "COYCEJvzBRgAIhMIrem4lsik-wIVydURCB1LPg7Z", + "watchEndpoint": { + "loggingContext": { + "vssLoggingContext": { + "serializedContextData": "GhFSREFNVk1PWFd6X3g2LWRybw%3D%3D" + } + }, + "params": "wAEB", + "playlistId": "RDAMVMOXWz_x6-dro", + "videoId": "OXWz_x6-dro", + "watchEndpointMusicSupportedConfigs": { + "watchEndpointMusicConfig": { + "musicVideoType": "MUSIC_VIDEO_TYPE_ATV" + } + } + } + }, + "text": { + "runs": [ + { + "text": "Start radio" + } + ] + }, + "trackingParams": "COYCEJvzBRgAIhMIrem4lsik-wIVydURCB1LPg7Z" + } + }, + { + "menuServiceItemRenderer": { + "icon": { + "iconType": "QUEUE_PLAY_NEXT" + }, + "serviceEndpoint": { + "clickTrackingParams": "COQCEL7uBRgBIhMIrem4lsik-wIVydURCB1LPg7Z", + "queueAddEndpoint": { + "commands": [ + { + "addToToastAction": { + "item": { + "notificationTextRenderer": { + "successResponseText": { + "runs": [ + { + "text": "Song will play next" + } + ] + }, + "trackingParams": "COUCEMrHAyITCK3puJbIpPsCFcnVEQgdSz4O2Q==" + } + } + }, + "clickTrackingParams": "COQCEL7uBRgBIhMIrem4lsik-wIVydURCB1LPg7Z" + } + ], + "queueInsertPosition": "INSERT_AFTER_CURRENT_VIDEO", + "queueTarget": { + "videoId": "OXWz_x6-dro" + } + } + }, + "text": { + "runs": [ + { + "text": "Play next" + } + ] + }, + "trackingParams": "COQCEL7uBRgBIhMIrem4lsik-wIVydURCB1LPg7Z" + } + }, + { + "menuServiceItemRenderer": { + "icon": { + "iconType": "ADD_TO_REMOTE_QUEUE" + }, + "serviceEndpoint": { + "clickTrackingParams": "COICEPvvBRgCIhMIrem4lsik-wIVydURCB1LPg7Z", + "queueAddEndpoint": { + "commands": [ + { + "addToToastAction": { + "item": { + "notificationTextRenderer": { + "successResponseText": { + "runs": [ + { + "text": "Song added to queue" + } + ] + }, + "trackingParams": "COMCEMrHAyITCK3puJbIpPsCFcnVEQgdSz4O2Q==" + } + } + }, + "clickTrackingParams": "COICEPvvBRgCIhMIrem4lsik-wIVydURCB1LPg7Z" + } + ], + "queueInsertPosition": "INSERT_AT_END", + "queueTarget": { + "videoId": "OXWz_x6-dro" + } + } + }, + "text": { + "runs": [ + { + "text": "Add to queue" + } + ] + }, + "trackingParams": "COICEPvvBRgCIhMIrem4lsik-wIVydURCB1LPg7Z" + } + }, + { + "toggleMenuServiceItemRenderer": { + "defaultIcon": { + "iconType": "FAVORITE" + }, + "defaultServiceEndpoint": { + "clickTrackingParams": "COACEIyfBhgDIhMIrem4lsik-wIVydURCB1LPg7Z", + "modalEndpoint": { + "modal": { + "modalWithTitleAndButtonRenderer": { + "button": { + "buttonRenderer": { + "isDisabled": false, + "navigationEndpoint": { + "clickTrackingParams": "COECEPBbIhMIrem4lsik-wIVydURCB1LPg7Z", + "signInEndpoint": { + "hack": true + } + }, + "style": "STYLE_BLUE_TEXT", + "text": { + "runs": [ + { + "text": "Sign in" + } + ] + }, + "trackingParams": "COECEPBbIhMIrem4lsik-wIVydURCB1LPg7Z" + } + }, + "content": { + "runs": [ + { + "text": "Improve recommendations and save music after signing in" + } + ] + }, + "title": { + "runs": [ + { + "text": "Like this song" + } + ] + } + } + } + } + }, + "defaultText": { + "runs": [ + { + "text": "Add to liked songs" + } + ] + }, + "toggledIcon": { + "iconType": "UNFAVORITE" + }, + "toggledText": { + "runs": [ + { + "text": "Remove from liked songs" + } + ] + }, + "trackingParams": "COACEIyfBhgDIhMIrem4lsik-wIVydURCB1LPg7Z" + } + }, + { + "menuNavigationItemRenderer": { + "icon": { + "iconType": "ADD_TO_PLAYLIST" + }, + "navigationEndpoint": { + "clickTrackingParams": "CN4CEMOUBhgEIhMIrem4lsik-wIVydURCB1LPg7Z", + "modalEndpoint": { + "modal": { + "modalWithTitleAndButtonRenderer": { + "button": { + "buttonRenderer": { + "isDisabled": false, + "navigationEndpoint": { + "clickTrackingParams": "CN8CEPBbIhMIrem4lsik-wIVydURCB1LPg7Z", + "signInEndpoint": { + "hack": true + } + }, + "style": "STYLE_BLUE_TEXT", + "text": { + "runs": [ + { + "text": "Sign in" + } + ] + }, + "trackingParams": "CN8CEPBbIhMIrem4lsik-wIVydURCB1LPg7Z" + } + }, + "content": { + "runs": [ + { + "text": "Make playlists and share them after signing in" + } + ] + }, + "title": { + "runs": [ + { + "text": "Save this for later" + } + ] + } + } + } + } + }, + "text": { + "runs": [ + { + "text": "Add to playlist" + } + ] + }, + "trackingParams": "CN4CEMOUBhgEIhMIrem4lsik-wIVydURCB1LPg7Z" + } + }, + { + "menuServiceItemRenderer": { + "icon": { + "iconType": "REMOVE" + }, + "serviceEndpoint": { + "clickTrackingParams": "CNwCEOP7BRgFIhMIrem4lsik-wIVydURCB1LPg7Z", + "removeFromQueueEndpoint": { + "commands": [ + { + "addToToastAction": { + "item": { + "notificationTextRenderer": { + "successResponseText": { + "runs": [ + { + "text": "Item removed from queue" + } + ] + }, + "trackingParams": "CN0CEMrHAyITCK3puJbIpPsCFcnVEQgdSz4O2Q==" + } + } + }, + "clickTrackingParams": "CNwCEOP7BRgFIhMIrem4lsik-wIVydURCB1LPg7Z" + } + ], + "videoId": "OXWz_x6-dro" + } + }, + "text": { + "runs": [ + { + "text": "Remove from queue" + } + ] + }, + "trackingParams": "CNwCEOP7BRgFIhMIrem4lsik-wIVydURCB1LPg7Z" + } + }, + { + "menuNavigationItemRenderer": { + "icon": { + "iconType": "ALBUM" + }, + "navigationEndpoint": { + "browseEndpoint": { + "browseEndpointContextSupportedConfigs": { + "browseEndpointContextMusicConfig": { + "pageType": "MUSIC_PAGE_TYPE_ALBUM" + } + }, + "browseId": "MPREb_fwK4xLwdkoj" + }, + "clickTrackingParams": "CNsCEI_7BRgGIhMIrem4lsik-wIVydURCB1LPg7Z" + }, + "text": { + "runs": [ + { + "text": "Go to album" + } + ] + }, + "trackingParams": "CNsCEI_7BRgGIhMIrem4lsik-wIVydURCB1LPg7Z" + } + }, + { + "menuNavigationItemRenderer": { + "icon": { + "iconType": "ARTIST" + }, + "navigationEndpoint": { + "browseEndpoint": { + "browseEndpointContextSupportedConfigs": { + "browseEndpointContextMusicConfig": { + "pageType": "MUSIC_PAGE_TYPE_ARTIST" + } + }, + "browseId": "UCHmZYTfdTyVKQEJicLiXEOg" + }, + "clickTrackingParams": "CNoCEJD7BRgHIhMIrem4lsik-wIVydURCB1LPg7Z" + }, + "text": { + "runs": [ + { + "text": "Go to artist" + } + ] + }, + "trackingParams": "CNoCEJD7BRgHIhMIrem4lsik-wIVydURCB1LPg7Z" + } + }, + { + "menuNavigationItemRenderer": { + "icon": { + "iconType": "SHARE" + }, + "navigationEndpoint": { + "clickTrackingParams": "CNkCEJH7BRgIIhMIrem4lsik-wIVydURCB1LPg7Z", + "shareEntityEndpoint": { + "serializedShareEntity": "CgtPWFd6X3g2LWRybw%3D%3D", + "sharePanelType": "SHARE_PANEL_TYPE_UNIFIED_SHARE_PANEL" + } + }, + "text": { + "runs": [ + { + "text": "Share" + } + ] + }, + "trackingParams": "CNkCEJH7BRgIIhMIrem4lsik-wIVydURCB1LPg7Z" + } + }, + { + "menuServiceItemRenderer": { + "icon": { + "iconType": "FLAG" + }, + "serviceEndpoint": { + "clickTrackingParams": "CNcCEI32CRgJIhMIrem4lsik-wIVydURCB1LPg7Z", + "modalEndpoint": { + "modal": { + "modalWithTitleAndButtonRenderer": { + "button": { + "buttonRenderer": { + "isDisabled": false, + "navigationEndpoint": { + "clickTrackingParams": "CNgCEPBbIhMIrem4lsik-wIVydURCB1LPg7Z", + "signInEndpoint": { + "hack": true + } + }, + "style": "STYLE_BLUE_TEXT", + "text": { + "runs": [ + { + "text": "Sign in" + } + ] + }, + "trackingParams": "CNgCEPBbIhMIrem4lsik-wIVydURCB1LPg7Z" + } + }, + "content": { + "runs": [ + { + "text": "Sign in to report inappropriate content." + } + ] + }, + "title": { + "runs": [ + { + "text": "Need to report the video?" + } + ] + } + } + } + } + }, + "text": { + "runs": [ + { + "text": "Report" + } + ] + }, + "trackingParams": "CNcCEI32CRgJIhMIrem4lsik-wIVydURCB1LPg7Z" + } + } + ], + "trackingParams": "CNYCEMggGAMiEwit6biWyKT7AhXJ1REIHUs-Dtk=" + } + }, + "navigationEndpoint": { + "clickTrackingParams": "CNYCEMggGAMiEwit6biWyKT7AhXJ1REIHUs-DtkyA0JGYUi67fn18f_sujmaAQUIDBD4HQ==", + "watchEndpoint": { + "index": 4, + "loggingContext": { + "vssLoggingContext": { + "serializedContextData": "GhFSREFNVk03bmlnWFFTMVhiMA%3D%3D" + } + }, + "params": "OAHyAQQIAXgB", + "playlistId": "RDAMVM7nigXQS1Xb0", + "playlistSetVideoId": "090796A75D153932", + "videoId": "OXWz_x6-dro", + "watchEndpointMusicSupportedConfigs": { + "watchEndpointMusicConfig": { + "hasPersistentPlaylistPanel": true, + "musicVideoType": "MUSIC_VIDEO_TYPE_ATV" + } + } + } + }, + "playlistSetVideoId": "090796A75D153932", + "selected": false, + "shortBylineText": { + "runs": [ + { + "text": "Red Velvet" + } + ] + }, + "thumbnail": { + "thumbnails": [ + { + "height": 60, + "url": "https://lh3.googleusercontent.com/Zkk_jGQgpi2xShYOtrLbb9Aw3INchh0AWRQRiDVhyw7RMPXAs5dbejgRMC7neOjmBZp2PB5eqvk4oAnItQ=w60-h60-l90-rj", + "width": 60 + }, + { + "height": 120, + "url": "https://lh3.googleusercontent.com/Zkk_jGQgpi2xShYOtrLbb9Aw3INchh0AWRQRiDVhyw7RMPXAs5dbejgRMC7neOjmBZp2PB5eqvk4oAnItQ=w120-h120-l90-rj", + "width": 120 + }, + { + "height": 180, + "url": "https://lh3.googleusercontent.com/Zkk_jGQgpi2xShYOtrLbb9Aw3INchh0AWRQRiDVhyw7RMPXAs5dbejgRMC7neOjmBZp2PB5eqvk4oAnItQ=w180-h180-l90-rj", + "width": 180 + }, + { + "height": 226, + "url": "https://lh3.googleusercontent.com/Zkk_jGQgpi2xShYOtrLbb9Aw3INchh0AWRQRiDVhyw7RMPXAs5dbejgRMC7neOjmBZp2PB5eqvk4oAnItQ=w226-h226-l90-rj", + "width": 226 + }, + { + "height": 302, + "url": "https://lh3.googleusercontent.com/Zkk_jGQgpi2xShYOtrLbb9Aw3INchh0AWRQRiDVhyw7RMPXAs5dbejgRMC7neOjmBZp2PB5eqvk4oAnItQ=w302-h302-l90-rj", + "width": 302 + }, + { + "height": 544, + "url": "https://lh3.googleusercontent.com/Zkk_jGQgpi2xShYOtrLbb9Aw3INchh0AWRQRiDVhyw7RMPXAs5dbejgRMC7neOjmBZp2PB5eqvk4oAnItQ=w544-h544-l90-rj", + "width": 544 + } + ] + }, + "title": { + "runs": [ + { + "text": "Feel My Rhythm" + } + ] + }, + "trackingParams": "CNYCEMggGAMiEwit6biWyKT7AhXJ1REIHUs-Dtk=", + "videoId": "OXWz_x6-dro" + } + }, + { + "playlistPanelVideoRenderer": { + "canReorder": true, + "lengthText": { + "accessibility": { + "accessibilityData": { + "label": "3 minutes" + } + }, + "runs": [ + { + "text": "3:00" + } + ] + }, + "longBylineText": { + "runs": [ + { + "navigationEndpoint": { + "browseEndpoint": { + "browseEndpointContextSupportedConfigs": { + "browseEndpointContextMusicConfig": { + "pageType": "MUSIC_PAGE_TYPE_ARTIST" + } + }, + "browseId": "UCxOqS3cYg4FaHbobICo7nFQ" + }, + "clickTrackingParams": "CMUCEMggGAQiEwit6biWyKT7AhXJ1REIHUs-Dtk=" + }, + "text": "NewJeans" + }, + { + "text": " • " + }, + { + "navigationEndpoint": { + "browseEndpoint": { + "browseEndpointContextSupportedConfigs": { + "browseEndpointContextMusicConfig": { + "pageType": "MUSIC_PAGE_TYPE_ALBUM" + } + }, + "browseId": "MPREb_UspB6ni9VXz" + }, + "clickTrackingParams": "CMUCEMggGAQiEwit6biWyKT7AhXJ1REIHUs-Dtk=" + }, + "text": "NewJeans 1st EP 'New Jeans'" + }, + { + "text": " • " + }, + { + "text": "2022" + } + ] + }, + "menu": { + "menuRenderer": { + "accessibility": { + "accessibilityData": { + "label": "Action menu" + } + }, + "items": [ + { + "menuNavigationItemRenderer": { + "icon": { + "iconType": "MIX" + }, + "navigationEndpoint": { + "clickTrackingParams": "CNUCEJvzBRgAIhMIrem4lsik-wIVydURCB1LPg7Z", + "watchEndpoint": { + "loggingContext": { + "vssLoggingContext": { + "serializedContextData": "GhFSREFNVk1naHJsWklNRHpiTQ%3D%3D" + } + }, + "params": "wAEB", + "playlistId": "RDAMVMghrlZIMDzbM", + "videoId": "ghrlZIMDzbM", + "watchEndpointMusicSupportedConfigs": { + "watchEndpointMusicConfig": { + "musicVideoType": "MUSIC_VIDEO_TYPE_ATV" + } + } + } + }, + "text": { + "runs": [ + { + "text": "Start radio" + } + ] + }, + "trackingParams": "CNUCEJvzBRgAIhMIrem4lsik-wIVydURCB1LPg7Z" + } + }, + { + "menuServiceItemRenderer": { + "icon": { + "iconType": "QUEUE_PLAY_NEXT" + }, + "serviceEndpoint": { + "clickTrackingParams": "CNMCEL7uBRgBIhMIrem4lsik-wIVydURCB1LPg7Z", + "queueAddEndpoint": { + "commands": [ + { + "addToToastAction": { + "item": { + "notificationTextRenderer": { + "successResponseText": { + "runs": [ + { + "text": "Song will play next" + } + ] + }, + "trackingParams": "CNQCEMrHAyITCK3puJbIpPsCFcnVEQgdSz4O2Q==" + } + } + }, + "clickTrackingParams": "CNMCEL7uBRgBIhMIrem4lsik-wIVydURCB1LPg7Z" + } + ], + "queueInsertPosition": "INSERT_AFTER_CURRENT_VIDEO", + "queueTarget": { + "videoId": "ghrlZIMDzbM" + } + } + }, + "text": { + "runs": [ + { + "text": "Play next" + } + ] + }, + "trackingParams": "CNMCEL7uBRgBIhMIrem4lsik-wIVydURCB1LPg7Z" + } + }, + { + "menuServiceItemRenderer": { + "icon": { + "iconType": "ADD_TO_REMOTE_QUEUE" + }, + "serviceEndpoint": { + "clickTrackingParams": "CNECEPvvBRgCIhMIrem4lsik-wIVydURCB1LPg7Z", + "queueAddEndpoint": { + "commands": [ + { + "addToToastAction": { + "item": { + "notificationTextRenderer": { + "successResponseText": { + "runs": [ + { + "text": "Song added to queue" + } + ] + }, + "trackingParams": "CNICEMrHAyITCK3puJbIpPsCFcnVEQgdSz4O2Q==" + } + } + }, + "clickTrackingParams": "CNECEPvvBRgCIhMIrem4lsik-wIVydURCB1LPg7Z" + } + ], + "queueInsertPosition": "INSERT_AT_END", + "queueTarget": { + "videoId": "ghrlZIMDzbM" + } + } + }, + "text": { + "runs": [ + { + "text": "Add to queue" + } + ] + }, + "trackingParams": "CNECEPvvBRgCIhMIrem4lsik-wIVydURCB1LPg7Z" + } + }, + { + "toggleMenuServiceItemRenderer": { + "defaultIcon": { + "iconType": "FAVORITE" + }, + "defaultServiceEndpoint": { + "clickTrackingParams": "CM8CEIyfBhgDIhMIrem4lsik-wIVydURCB1LPg7Z", + "modalEndpoint": { + "modal": { + "modalWithTitleAndButtonRenderer": { + "button": { + "buttonRenderer": { + "isDisabled": false, + "navigationEndpoint": { + "clickTrackingParams": "CNACEPBbIhMIrem4lsik-wIVydURCB1LPg7Z", + "signInEndpoint": { + "hack": true + } + }, + "style": "STYLE_BLUE_TEXT", + "text": { + "runs": [ + { + "text": "Sign in" + } + ] + }, + "trackingParams": "CNACEPBbIhMIrem4lsik-wIVydURCB1LPg7Z" + } + }, + "content": { + "runs": [ + { + "text": "Improve recommendations and save music after signing in" + } + ] + }, + "title": { + "runs": [ + { + "text": "Like this song" + } + ] + } + } + } + } + }, + "defaultText": { + "runs": [ + { + "text": "Add to liked songs" + } + ] + }, + "toggledIcon": { + "iconType": "UNFAVORITE" + }, + "toggledText": { + "runs": [ + { + "text": "Remove from liked songs" + } + ] + }, + "trackingParams": "CM8CEIyfBhgDIhMIrem4lsik-wIVydURCB1LPg7Z" + } + }, + { + "menuNavigationItemRenderer": { + "icon": { + "iconType": "ADD_TO_PLAYLIST" + }, + "navigationEndpoint": { + "clickTrackingParams": "CM0CEMOUBhgEIhMIrem4lsik-wIVydURCB1LPg7Z", + "modalEndpoint": { + "modal": { + "modalWithTitleAndButtonRenderer": { + "button": { + "buttonRenderer": { + "isDisabled": false, + "navigationEndpoint": { + "clickTrackingParams": "CM4CEPBbIhMIrem4lsik-wIVydURCB1LPg7Z", + "signInEndpoint": { + "hack": true + } + }, + "style": "STYLE_BLUE_TEXT", + "text": { + "runs": [ + { + "text": "Sign in" + } + ] + }, + "trackingParams": "CM4CEPBbIhMIrem4lsik-wIVydURCB1LPg7Z" + } + }, + "content": { + "runs": [ + { + "text": "Make playlists and share them after signing in" + } + ] + }, + "title": { + "runs": [ + { + "text": "Save this for later" + } + ] + } + } + } + } + }, + "text": { + "runs": [ + { + "text": "Add to playlist" + } + ] + }, + "trackingParams": "CM0CEMOUBhgEIhMIrem4lsik-wIVydURCB1LPg7Z" + } + }, + { + "menuServiceItemRenderer": { + "icon": { + "iconType": "REMOVE" + }, + "serviceEndpoint": { + "clickTrackingParams": "CMsCEOP7BRgFIhMIrem4lsik-wIVydURCB1LPg7Z", + "removeFromQueueEndpoint": { + "commands": [ + { + "addToToastAction": { + "item": { + "notificationTextRenderer": { + "successResponseText": { + "runs": [ + { + "text": "Item removed from queue" + } + ] + }, + "trackingParams": "CMwCEMrHAyITCK3puJbIpPsCFcnVEQgdSz4O2Q==" + } + } + }, + "clickTrackingParams": "CMsCEOP7BRgFIhMIrem4lsik-wIVydURCB1LPg7Z" + } + ], + "videoId": "ghrlZIMDzbM" + } + }, + "text": { + "runs": [ + { + "text": "Remove from queue" + } + ] + }, + "trackingParams": "CMsCEOP7BRgFIhMIrem4lsik-wIVydURCB1LPg7Z" + } + }, + { + "menuNavigationItemRenderer": { + "icon": { + "iconType": "ALBUM" + }, + "navigationEndpoint": { + "browseEndpoint": { + "browseEndpointContextSupportedConfigs": { + "browseEndpointContextMusicConfig": { + "pageType": "MUSIC_PAGE_TYPE_ALBUM" + } + }, + "browseId": "MPREb_UspB6ni9VXz" + }, + "clickTrackingParams": "CMoCEI_7BRgGIhMIrem4lsik-wIVydURCB1LPg7Z" + }, + "text": { + "runs": [ + { + "text": "Go to album" + } + ] + }, + "trackingParams": "CMoCEI_7BRgGIhMIrem4lsik-wIVydURCB1LPg7Z" + } + }, + { + "menuNavigationItemRenderer": { + "icon": { + "iconType": "ARTIST" + }, + "navigationEndpoint": { + "browseEndpoint": { + "browseEndpointContextSupportedConfigs": { + "browseEndpointContextMusicConfig": { + "pageType": "MUSIC_PAGE_TYPE_ARTIST" + } + }, + "browseId": "UCxOqS3cYg4FaHbobICo7nFQ" + }, + "clickTrackingParams": "CMkCEJD7BRgHIhMIrem4lsik-wIVydURCB1LPg7Z" + }, + "text": { + "runs": [ + { + "text": "Go to artist" + } + ] + }, + "trackingParams": "CMkCEJD7BRgHIhMIrem4lsik-wIVydURCB1LPg7Z" + } + }, + { + "menuNavigationItemRenderer": { + "icon": { + "iconType": "SHARE" + }, + "navigationEndpoint": { + "clickTrackingParams": "CMgCEJH7BRgIIhMIrem4lsik-wIVydURCB1LPg7Z", + "shareEntityEndpoint": { + "serializedShareEntity": "CgtnaHJsWklNRHpiTQ%3D%3D", + "sharePanelType": "SHARE_PANEL_TYPE_UNIFIED_SHARE_PANEL" + } + }, + "text": { + "runs": [ + { + "text": "Share" + } + ] + }, + "trackingParams": "CMgCEJH7BRgIIhMIrem4lsik-wIVydURCB1LPg7Z" + } + }, + { + "menuServiceItemRenderer": { + "icon": { + "iconType": "FLAG" + }, + "serviceEndpoint": { + "clickTrackingParams": "CMYCEI32CRgJIhMIrem4lsik-wIVydURCB1LPg7Z", + "modalEndpoint": { + "modal": { + "modalWithTitleAndButtonRenderer": { + "button": { + "buttonRenderer": { + "isDisabled": false, + "navigationEndpoint": { + "clickTrackingParams": "CMcCEPBbIhMIrem4lsik-wIVydURCB1LPg7Z", + "signInEndpoint": { + "hack": true + } + }, + "style": "STYLE_BLUE_TEXT", + "text": { + "runs": [ + { + "text": "Sign in" + } + ] + }, + "trackingParams": "CMcCEPBbIhMIrem4lsik-wIVydURCB1LPg7Z" + } + }, + "content": { + "runs": [ + { + "text": "Sign in to report inappropriate content." + } + ] + }, + "title": { + "runs": [ + { + "text": "Need to report the video?" + } + ] + } + } + } + } + }, + "text": { + "runs": [ + { + "text": "Report" + } + ] + }, + "trackingParams": "CMYCEI32CRgJIhMIrem4lsik-wIVydURCB1LPg7Z" + } + } + ], + "trackingParams": "CMUCEMggGAQiEwit6biWyKT7AhXJ1REIHUs-Dtk=" + } + }, + "navigationEndpoint": { + "clickTrackingParams": "CMUCEMggGAQiEwit6biWyKT7AhXJ1REIHUs-DtkyA0JGYUizm4-YyKy5jYIBmgEFCAwQ-B0=", + "watchEndpoint": { + "index": 5, + "loggingContext": { + "vssLoggingContext": { + "serializedContextData": "GhFSREFNVk03bmlnWFFTMVhiMA%3D%3D" + } + }, + "params": "OAHyAQQIAXgB", + "playlistId": "RDAMVM7nigXQS1Xb0", + "playlistSetVideoId": "12EFB3B1C57DE4E1", + "videoId": "ghrlZIMDzbM", + "watchEndpointMusicSupportedConfigs": { + "watchEndpointMusicConfig": { + "hasPersistentPlaylistPanel": true, + "musicVideoType": "MUSIC_VIDEO_TYPE_ATV" + } + } + } + }, + "playlistSetVideoId": "12EFB3B1C57DE4E1", + "selected": false, + "shortBylineText": { + "runs": [ + { + "text": "NewJeans" + } + ] + }, + "thumbnail": { + "thumbnails": [ + { + "height": 60, + "url": "https://lh3.googleusercontent.com/yg7U52lN4NMHddFXE1de6d99puDNeC-1U6q5PnLjXPatrexqW9AOoWC8a5EJBULlXraaEWU8OvKrFYrp1A=w60-h60-l90-rj", + "width": 60 + }, + { + "height": 120, + "url": "https://lh3.googleusercontent.com/yg7U52lN4NMHddFXE1de6d99puDNeC-1U6q5PnLjXPatrexqW9AOoWC8a5EJBULlXraaEWU8OvKrFYrp1A=w120-h120-l90-rj", + "width": 120 + }, + { + "height": 180, + "url": "https://lh3.googleusercontent.com/yg7U52lN4NMHddFXE1de6d99puDNeC-1U6q5PnLjXPatrexqW9AOoWC8a5EJBULlXraaEWU8OvKrFYrp1A=w180-h180-l90-rj", + "width": 180 + }, + { + "height": 226, + "url": "https://lh3.googleusercontent.com/yg7U52lN4NMHddFXE1de6d99puDNeC-1U6q5PnLjXPatrexqW9AOoWC8a5EJBULlXraaEWU8OvKrFYrp1A=w226-h226-l90-rj", + "width": 226 + }, + { + "height": 302, + "url": "https://lh3.googleusercontent.com/yg7U52lN4NMHddFXE1de6d99puDNeC-1U6q5PnLjXPatrexqW9AOoWC8a5EJBULlXraaEWU8OvKrFYrp1A=w302-h302-l90-rj", + "width": 302 + }, + { + "height": 544, + "url": "https://lh3.googleusercontent.com/yg7U52lN4NMHddFXE1de6d99puDNeC-1U6q5PnLjXPatrexqW9AOoWC8a5EJBULlXraaEWU8OvKrFYrp1A=w544-h544-l90-rj", + "width": 544 + } + ] + }, + "title": { + "runs": [ + { + "text": "Hype Boy" + } + ] + }, + "trackingParams": "CMUCEMggGAQiEwit6biWyKT7AhXJ1REIHUs-Dtk=", + "videoId": "ghrlZIMDzbM" + } + }, + { + "playlistPanelVideoRenderer": { + "canReorder": true, + "lengthText": { + "accessibility": { + "accessibilityData": { + "label": "3 minutes, 23 seconds" + } + }, + "runs": [ + { + "text": "3:23" + } + ] + }, + "longBylineText": { + "runs": [ + { + "navigationEndpoint": { + "browseEndpoint": { + "browseEndpointContextSupportedConfigs": { + "browseEndpointContextMusicConfig": { + "pageType": "MUSIC_PAGE_TYPE_ARTIST" + } + }, + "browseId": "UCGn8T3PmIkow87GeZC9mW7g" + }, + "clickTrackingParams": "CLQCEMggGAUiEwit6biWyKT7AhXJ1REIHUs-Dtk=" + }, + "text": "Girls' Generation" + }, + { + "text": " • " + }, + { + "navigationEndpoint": { + "browseEndpoint": { + "browseEndpointContextSupportedConfigs": { + "browseEndpointContextMusicConfig": { + "pageType": "MUSIC_PAGE_TYPE_ALBUM" + } + }, + "browseId": "MPREb_gpWHoz5UqGF" + }, + "clickTrackingParams": "CLQCEMggGAUiEwit6biWyKT7AhXJ1REIHUs-Dtk=" + }, + "text": "FOREVER 1 - The 7th Album" + }, + { + "text": " • " + }, + { + "text": "2022" + } + ] + }, + "menu": { + "menuRenderer": { + "accessibility": { + "accessibilityData": { + "label": "Action menu" + } + }, + "items": [ + { + "menuNavigationItemRenderer": { + "icon": { + "iconType": "MIX" + }, + "navigationEndpoint": { + "clickTrackingParams": "CMQCEJvzBRgAIhMIrem4lsik-wIVydURCB1LPg7Z", + "watchEndpoint": { + "loggingContext": { + "vssLoggingContext": { + "serializedContextData": "GhFSREFNVk1RaXppSjQwa1R6MA%3D%3D" + } + }, + "params": "wAEB", + "playlistId": "RDAMVMQiziJ40kTz0", + "videoId": "QiziJ40kTz0", + "watchEndpointMusicSupportedConfigs": { + "watchEndpointMusicConfig": { + "musicVideoType": "MUSIC_VIDEO_TYPE_ATV" + } + } + } + }, + "text": { + "runs": [ + { + "text": "Start radio" + } + ] + }, + "trackingParams": "CMQCEJvzBRgAIhMIrem4lsik-wIVydURCB1LPg7Z" + } + }, + { + "menuServiceItemRenderer": { + "icon": { + "iconType": "QUEUE_PLAY_NEXT" + }, + "serviceEndpoint": { + "clickTrackingParams": "CMICEL7uBRgBIhMIrem4lsik-wIVydURCB1LPg7Z", + "queueAddEndpoint": { + "commands": [ + { + "addToToastAction": { + "item": { + "notificationTextRenderer": { + "successResponseText": { + "runs": [ + { + "text": "Song will play next" + } + ] + }, + "trackingParams": "CMMCEMrHAyITCK3puJbIpPsCFcnVEQgdSz4O2Q==" + } + } + }, + "clickTrackingParams": "CMICEL7uBRgBIhMIrem4lsik-wIVydURCB1LPg7Z" + } + ], + "queueInsertPosition": "INSERT_AFTER_CURRENT_VIDEO", + "queueTarget": { + "videoId": "QiziJ40kTz0" + } + } + }, + "text": { + "runs": [ + { + "text": "Play next" + } + ] + }, + "trackingParams": "CMICEL7uBRgBIhMIrem4lsik-wIVydURCB1LPg7Z" + } + }, + { + "menuServiceItemRenderer": { + "icon": { + "iconType": "ADD_TO_REMOTE_QUEUE" + }, + "serviceEndpoint": { + "clickTrackingParams": "CMACEPvvBRgCIhMIrem4lsik-wIVydURCB1LPg7Z", + "queueAddEndpoint": { + "commands": [ + { + "addToToastAction": { + "item": { + "notificationTextRenderer": { + "successResponseText": { + "runs": [ + { + "text": "Song added to queue" + } + ] + }, + "trackingParams": "CMECEMrHAyITCK3puJbIpPsCFcnVEQgdSz4O2Q==" + } + } + }, + "clickTrackingParams": "CMACEPvvBRgCIhMIrem4lsik-wIVydURCB1LPg7Z" + } + ], + "queueInsertPosition": "INSERT_AT_END", + "queueTarget": { + "videoId": "QiziJ40kTz0" + } + } + }, + "text": { + "runs": [ + { + "text": "Add to queue" + } + ] + }, + "trackingParams": "CMACEPvvBRgCIhMIrem4lsik-wIVydURCB1LPg7Z" + } + }, + { + "toggleMenuServiceItemRenderer": { + "defaultIcon": { + "iconType": "FAVORITE" + }, + "defaultServiceEndpoint": { + "clickTrackingParams": "CL4CEIyfBhgDIhMIrem4lsik-wIVydURCB1LPg7Z", + "modalEndpoint": { + "modal": { + "modalWithTitleAndButtonRenderer": { + "button": { + "buttonRenderer": { + "isDisabled": false, + "navigationEndpoint": { + "clickTrackingParams": "CL8CEPBbIhMIrem4lsik-wIVydURCB1LPg7Z", + "signInEndpoint": { + "hack": true + } + }, + "style": "STYLE_BLUE_TEXT", + "text": { + "runs": [ + { + "text": "Sign in" + } + ] + }, + "trackingParams": "CL8CEPBbIhMIrem4lsik-wIVydURCB1LPg7Z" + } + }, + "content": { + "runs": [ + { + "text": "Improve recommendations and save music after signing in" + } + ] + }, + "title": { + "runs": [ + { + "text": "Like this song" + } + ] + } + } + } + } + }, + "defaultText": { + "runs": [ + { + "text": "Add to liked songs" + } + ] + }, + "toggledIcon": { + "iconType": "UNFAVORITE" + }, + "toggledText": { + "runs": [ + { + "text": "Remove from liked songs" + } + ] + }, + "trackingParams": "CL4CEIyfBhgDIhMIrem4lsik-wIVydURCB1LPg7Z" + } + }, + { + "menuNavigationItemRenderer": { + "icon": { + "iconType": "ADD_TO_PLAYLIST" + }, + "navigationEndpoint": { + "clickTrackingParams": "CLwCEMOUBhgEIhMIrem4lsik-wIVydURCB1LPg7Z", + "modalEndpoint": { + "modal": { + "modalWithTitleAndButtonRenderer": { + "button": { + "buttonRenderer": { + "isDisabled": false, + "navigationEndpoint": { + "clickTrackingParams": "CL0CEPBbIhMIrem4lsik-wIVydURCB1LPg7Z", + "signInEndpoint": { + "hack": true + } + }, + "style": "STYLE_BLUE_TEXT", + "text": { + "runs": [ + { + "text": "Sign in" + } + ] + }, + "trackingParams": "CL0CEPBbIhMIrem4lsik-wIVydURCB1LPg7Z" + } + }, + "content": { + "runs": [ + { + "text": "Make playlists and share them after signing in" + } + ] + }, + "title": { + "runs": [ + { + "text": "Save this for later" + } + ] + } + } + } + } + }, + "text": { + "runs": [ + { + "text": "Add to playlist" + } + ] + }, + "trackingParams": "CLwCEMOUBhgEIhMIrem4lsik-wIVydURCB1LPg7Z" + } + }, + { + "menuServiceItemRenderer": { + "icon": { + "iconType": "REMOVE" + }, + "serviceEndpoint": { + "clickTrackingParams": "CLoCEOP7BRgFIhMIrem4lsik-wIVydURCB1LPg7Z", + "removeFromQueueEndpoint": { + "commands": [ + { + "addToToastAction": { + "item": { + "notificationTextRenderer": { + "successResponseText": { + "runs": [ + { + "text": "Item removed from queue" + } + ] + }, + "trackingParams": "CLsCEMrHAyITCK3puJbIpPsCFcnVEQgdSz4O2Q==" + } + } + }, + "clickTrackingParams": "CLoCEOP7BRgFIhMIrem4lsik-wIVydURCB1LPg7Z" + } + ], + "videoId": "QiziJ40kTz0" + } + }, + "text": { + "runs": [ + { + "text": "Remove from queue" + } + ] + }, + "trackingParams": "CLoCEOP7BRgFIhMIrem4lsik-wIVydURCB1LPg7Z" + } + }, + { + "menuNavigationItemRenderer": { + "icon": { + "iconType": "ALBUM" + }, + "navigationEndpoint": { + "browseEndpoint": { + "browseEndpointContextSupportedConfigs": { + "browseEndpointContextMusicConfig": { + "pageType": "MUSIC_PAGE_TYPE_ALBUM" + } + }, + "browseId": "MPREb_gpWHoz5UqGF" + }, + "clickTrackingParams": "CLkCEI_7BRgGIhMIrem4lsik-wIVydURCB1LPg7Z" + }, + "text": { + "runs": [ + { + "text": "Go to album" + } + ] + }, + "trackingParams": "CLkCEI_7BRgGIhMIrem4lsik-wIVydURCB1LPg7Z" + } + }, + { + "menuNavigationItemRenderer": { + "icon": { + "iconType": "ARTIST" + }, + "navigationEndpoint": { + "browseEndpoint": { + "browseEndpointContextSupportedConfigs": { + "browseEndpointContextMusicConfig": { + "pageType": "MUSIC_PAGE_TYPE_ARTIST" + } + }, + "browseId": "UCGn8T3PmIkow87GeZC9mW7g" + }, + "clickTrackingParams": "CLgCEJD7BRgHIhMIrem4lsik-wIVydURCB1LPg7Z" + }, + "text": { + "runs": [ + { + "text": "Go to artist" + } + ] + }, + "trackingParams": "CLgCEJD7BRgHIhMIrem4lsik-wIVydURCB1LPg7Z" + } + }, + { + "menuNavigationItemRenderer": { + "icon": { + "iconType": "SHARE" + }, + "navigationEndpoint": { + "clickTrackingParams": "CLcCEJH7BRgIIhMIrem4lsik-wIVydURCB1LPg7Z", + "shareEntityEndpoint": { + "serializedShareEntity": "CgtRaXppSjQwa1R6MA%3D%3D", + "sharePanelType": "SHARE_PANEL_TYPE_UNIFIED_SHARE_PANEL" + } + }, + "text": { + "runs": [ + { + "text": "Share" + } + ] + }, + "trackingParams": "CLcCEJH7BRgIIhMIrem4lsik-wIVydURCB1LPg7Z" + } + }, + { + "menuServiceItemRenderer": { + "icon": { + "iconType": "FLAG" + }, + "serviceEndpoint": { + "clickTrackingParams": "CLUCEI32CRgJIhMIrem4lsik-wIVydURCB1LPg7Z", + "modalEndpoint": { + "modal": { + "modalWithTitleAndButtonRenderer": { + "button": { + "buttonRenderer": { + "isDisabled": false, + "navigationEndpoint": { + "clickTrackingParams": "CLYCEPBbIhMIrem4lsik-wIVydURCB1LPg7Z", + "signInEndpoint": { + "hack": true + } + }, + "style": "STYLE_BLUE_TEXT", + "text": { + "runs": [ + { + "text": "Sign in" + } + ] + }, + "trackingParams": "CLYCEPBbIhMIrem4lsik-wIVydURCB1LPg7Z" + } + }, + "content": { + "runs": [ + { + "text": "Sign in to report inappropriate content." + } + ] + }, + "title": { + "runs": [ + { + "text": "Need to report the video?" + } + ] + } + } + } + } + }, + "text": { + "runs": [ + { + "text": "Report" + } + ] + }, + "trackingParams": "CLUCEI32CRgJIhMIrem4lsik-wIVydURCB1LPg7Z" + } + } + ], + "trackingParams": "CLQCEMggGAUiEwit6biWyKT7AhXJ1REIHUs-Dtk=" + } + }, + "navigationEndpoint": { + "clickTrackingParams": "CLQCEMggGAUiEwit6biWyKT7AhXJ1REIHUs-DtkyA0JGYUi9npHp-MS4lkKaAQUIDBD4HQ==", + "watchEndpoint": { + "index": 6, + "loggingContext": { + "vssLoggingContext": { + "serializedContextData": "GhFSREFNVk03bmlnWFFTMVhiMA%3D%3D" + } + }, + "params": "OAHyAQQIAXgB", + "playlistId": "RDAMVM7nigXQS1Xb0", + "playlistSetVideoId": "532BB0B422FBC7EC", + "videoId": "QiziJ40kTz0", + "watchEndpointMusicSupportedConfigs": { + "watchEndpointMusicConfig": { + "hasPersistentPlaylistPanel": true, + "musicVideoType": "MUSIC_VIDEO_TYPE_ATV" + } + } + } + }, + "playlistSetVideoId": "532BB0B422FBC7EC", + "selected": false, + "shortBylineText": { + "runs": [ + { + "text": "Girls' Generation" + } + ] + }, + "thumbnail": { + "thumbnails": [ + { + "height": 60, + "url": "https://lh3.googleusercontent.com/BUvfDzYYoFWiMZ7qdbRmDNwQAb1BUO2EJqDlSF7D8cVqaqOYCnibj4YtRf70liOT8j8382sVdjQb-9OJ9g=w60-h60-l90-rj", + "width": 60 + }, + { + "height": 120, + "url": "https://lh3.googleusercontent.com/BUvfDzYYoFWiMZ7qdbRmDNwQAb1BUO2EJqDlSF7D8cVqaqOYCnibj4YtRf70liOT8j8382sVdjQb-9OJ9g=w120-h120-l90-rj", + "width": 120 + }, + { + "height": 180, + "url": "https://lh3.googleusercontent.com/BUvfDzYYoFWiMZ7qdbRmDNwQAb1BUO2EJqDlSF7D8cVqaqOYCnibj4YtRf70liOT8j8382sVdjQb-9OJ9g=w180-h180-l90-rj", + "width": 180 + }, + { + "height": 226, + "url": "https://lh3.googleusercontent.com/BUvfDzYYoFWiMZ7qdbRmDNwQAb1BUO2EJqDlSF7D8cVqaqOYCnibj4YtRf70liOT8j8382sVdjQb-9OJ9g=w226-h226-l90-rj", + "width": 226 + }, + { + "height": 302, + "url": "https://lh3.googleusercontent.com/BUvfDzYYoFWiMZ7qdbRmDNwQAb1BUO2EJqDlSF7D8cVqaqOYCnibj4YtRf70liOT8j8382sVdjQb-9OJ9g=w302-h302-l90-rj", + "width": 302 + }, + { + "height": 544, + "url": "https://lh3.googleusercontent.com/BUvfDzYYoFWiMZ7qdbRmDNwQAb1BUO2EJqDlSF7D8cVqaqOYCnibj4YtRf70liOT8j8382sVdjQb-9OJ9g=w544-h544-l90-rj", + "width": 544 + } + ] + }, + "title": { + "runs": [ + { + "text": "FOREVER 1" + } + ] + }, + "trackingParams": "CLQCEMggGAUiEwit6biWyKT7AhXJ1REIHUs-Dtk=", + "videoId": "QiziJ40kTz0" + } + }, + { + "playlistPanelVideoRenderer": { + "canReorder": true, + "lengthText": { + "accessibility": { + "accessibilityData": { + "label": "2 minutes, 56 seconds" + } + }, + "runs": [ + { + "text": "2:56" + } + ] + }, + "longBylineText": { + "runs": [ + { + "navigationEndpoint": { + "browseEndpoint": { + "browseEndpointContextSupportedConfigs": { + "browseEndpointContextMusicConfig": { + "pageType": "MUSIC_PAGE_TYPE_ARTIST" + } + }, + "browseId": "UCkbbMCA40i18i7UdjayMPAg" + }, + "clickTrackingParams": "CKMCEMggGAYiEwit6biWyKT7AhXJ1REIHUs-Dtk=" + }, + "text": "BLACKPINK" + }, + { + "text": " • " + }, + { + "navigationEndpoint": { + "browseEndpoint": { + "browseEndpointContextSupportedConfigs": { + "browseEndpointContextMusicConfig": { + "pageType": "MUSIC_PAGE_TYPE_ALBUM" + } + }, + "browseId": "MPREb_J7wVS5GlYZK" + }, + "clickTrackingParams": "CKMCEMggGAYiEwit6biWyKT7AhXJ1REIHUs-Dtk=" + }, + "text": "BORN PINK" + }, + { + "text": " • " + }, + { + "text": "2022" + } + ] + }, + "menu": { + "menuRenderer": { + "accessibility": { + "accessibilityData": { + "label": "Action menu" + } + }, + "items": [ + { + "menuNavigationItemRenderer": { + "icon": { + "iconType": "MIX" + }, + "navigationEndpoint": { + "clickTrackingParams": "CLMCEJvzBRgAIhMIrem4lsik-wIVydURCB1LPg7Z", + "watchEndpoint": { + "loggingContext": { + "vssLoggingContext": { + "serializedContextData": "GhFSREFNVk05NTBCZEpLQmhHbw%3D%3D" + } + }, + "params": "wAEB", + "playlistId": "RDAMVM950BdJKBhGo", + "videoId": "950BdJKBhGo", + "watchEndpointMusicSupportedConfigs": { + "watchEndpointMusicConfig": { + "musicVideoType": "MUSIC_VIDEO_TYPE_ATV" + } + } + } + }, + "text": { + "runs": [ + { + "text": "Start radio" + } + ] + }, + "trackingParams": "CLMCEJvzBRgAIhMIrem4lsik-wIVydURCB1LPg7Z" + } + }, + { + "menuServiceItemRenderer": { + "icon": { + "iconType": "QUEUE_PLAY_NEXT" + }, + "serviceEndpoint": { + "clickTrackingParams": "CLECEL7uBRgBIhMIrem4lsik-wIVydURCB1LPg7Z", + "queueAddEndpoint": { + "commands": [ + { + "addToToastAction": { + "item": { + "notificationTextRenderer": { + "successResponseText": { + "runs": [ + { + "text": "Song will play next" + } + ] + }, + "trackingParams": "CLICEMrHAyITCK3puJbIpPsCFcnVEQgdSz4O2Q==" + } + } + }, + "clickTrackingParams": "CLECEL7uBRgBIhMIrem4lsik-wIVydURCB1LPg7Z" + } + ], + "queueInsertPosition": "INSERT_AFTER_CURRENT_VIDEO", + "queueTarget": { + "videoId": "950BdJKBhGo" + } + } + }, + "text": { + "runs": [ + { + "text": "Play next" + } + ] + }, + "trackingParams": "CLECEL7uBRgBIhMIrem4lsik-wIVydURCB1LPg7Z" + } + }, + { + "menuServiceItemRenderer": { + "icon": { + "iconType": "ADD_TO_REMOTE_QUEUE" + }, + "serviceEndpoint": { + "clickTrackingParams": "CK8CEPvvBRgCIhMIrem4lsik-wIVydURCB1LPg7Z", + "queueAddEndpoint": { + "commands": [ + { + "addToToastAction": { + "item": { + "notificationTextRenderer": { + "successResponseText": { + "runs": [ + { + "text": "Song added to queue" + } + ] + }, + "trackingParams": "CLACEMrHAyITCK3puJbIpPsCFcnVEQgdSz4O2Q==" + } + } + }, + "clickTrackingParams": "CK8CEPvvBRgCIhMIrem4lsik-wIVydURCB1LPg7Z" + } + ], + "queueInsertPosition": "INSERT_AT_END", + "queueTarget": { + "videoId": "950BdJKBhGo" + } + } + }, + "text": { + "runs": [ + { + "text": "Add to queue" + } + ] + }, + "trackingParams": "CK8CEPvvBRgCIhMIrem4lsik-wIVydURCB1LPg7Z" + } + }, + { + "toggleMenuServiceItemRenderer": { + "defaultIcon": { + "iconType": "FAVORITE" + }, + "defaultServiceEndpoint": { + "clickTrackingParams": "CK0CEIyfBhgDIhMIrem4lsik-wIVydURCB1LPg7Z", + "modalEndpoint": { + "modal": { + "modalWithTitleAndButtonRenderer": { + "button": { + "buttonRenderer": { + "isDisabled": false, + "navigationEndpoint": { + "clickTrackingParams": "CK4CEPBbIhMIrem4lsik-wIVydURCB1LPg7Z", + "signInEndpoint": { + "hack": true + } + }, + "style": "STYLE_BLUE_TEXT", + "text": { + "runs": [ + { + "text": "Sign in" + } + ] + }, + "trackingParams": "CK4CEPBbIhMIrem4lsik-wIVydURCB1LPg7Z" + } + }, + "content": { + "runs": [ + { + "text": "Improve recommendations and save music after signing in" + } + ] + }, + "title": { + "runs": [ + { + "text": "Like this song" + } + ] + } + } + } + } + }, + "defaultText": { + "runs": [ + { + "text": "Add to liked songs" + } + ] + }, + "toggledIcon": { + "iconType": "UNFAVORITE" + }, + "toggledText": { + "runs": [ + { + "text": "Remove from liked songs" + } + ] + }, + "trackingParams": "CK0CEIyfBhgDIhMIrem4lsik-wIVydURCB1LPg7Z" + } + }, + { + "menuNavigationItemRenderer": { + "icon": { + "iconType": "ADD_TO_PLAYLIST" + }, + "navigationEndpoint": { + "clickTrackingParams": "CKsCEMOUBhgEIhMIrem4lsik-wIVydURCB1LPg7Z", + "modalEndpoint": { + "modal": { + "modalWithTitleAndButtonRenderer": { + "button": { + "buttonRenderer": { + "isDisabled": false, + "navigationEndpoint": { + "clickTrackingParams": "CKwCEPBbIhMIrem4lsik-wIVydURCB1LPg7Z", + "signInEndpoint": { + "hack": true + } + }, + "style": "STYLE_BLUE_TEXT", + "text": { + "runs": [ + { + "text": "Sign in" + } + ] + }, + "trackingParams": "CKwCEPBbIhMIrem4lsik-wIVydURCB1LPg7Z" + } + }, + "content": { + "runs": [ + { + "text": "Make playlists and share them after signing in" + } + ] + }, + "title": { + "runs": [ + { + "text": "Save this for later" + } + ] + } + } + } + } + }, + "text": { + "runs": [ + { + "text": "Add to playlist" + } + ] + }, + "trackingParams": "CKsCEMOUBhgEIhMIrem4lsik-wIVydURCB1LPg7Z" + } + }, + { + "menuServiceItemRenderer": { + "icon": { + "iconType": "REMOVE" + }, + "serviceEndpoint": { + "clickTrackingParams": "CKkCEOP7BRgFIhMIrem4lsik-wIVydURCB1LPg7Z", + "removeFromQueueEndpoint": { + "commands": [ + { + "addToToastAction": { + "item": { + "notificationTextRenderer": { + "successResponseText": { + "runs": [ + { + "text": "Item removed from queue" + } + ] + }, + "trackingParams": "CKoCEMrHAyITCK3puJbIpPsCFcnVEQgdSz4O2Q==" + } + } + }, + "clickTrackingParams": "CKkCEOP7BRgFIhMIrem4lsik-wIVydURCB1LPg7Z" + } + ], + "videoId": "950BdJKBhGo" + } + }, + "text": { + "runs": [ + { + "text": "Remove from queue" + } + ] + }, + "trackingParams": "CKkCEOP7BRgFIhMIrem4lsik-wIVydURCB1LPg7Z" + } + }, + { + "menuNavigationItemRenderer": { + "icon": { + "iconType": "ALBUM" + }, + "navigationEndpoint": { + "browseEndpoint": { + "browseEndpointContextSupportedConfigs": { + "browseEndpointContextMusicConfig": { + "pageType": "MUSIC_PAGE_TYPE_ALBUM" + } + }, + "browseId": "MPREb_J7wVS5GlYZK" + }, + "clickTrackingParams": "CKgCEI_7BRgGIhMIrem4lsik-wIVydURCB1LPg7Z" + }, + "text": { + "runs": [ + { + "text": "Go to album" + } + ] + }, + "trackingParams": "CKgCEI_7BRgGIhMIrem4lsik-wIVydURCB1LPg7Z" + } + }, + { + "menuNavigationItemRenderer": { + "icon": { + "iconType": "ARTIST" + }, + "navigationEndpoint": { + "browseEndpoint": { + "browseEndpointContextSupportedConfigs": { + "browseEndpointContextMusicConfig": { + "pageType": "MUSIC_PAGE_TYPE_ARTIST" + } + }, + "browseId": "UCkbbMCA40i18i7UdjayMPAg" + }, + "clickTrackingParams": "CKcCEJD7BRgHIhMIrem4lsik-wIVydURCB1LPg7Z" + }, + "text": { + "runs": [ + { + "text": "Go to artist" + } + ] + }, + "trackingParams": "CKcCEJD7BRgHIhMIrem4lsik-wIVydURCB1LPg7Z" + } + }, + { + "menuNavigationItemRenderer": { + "icon": { + "iconType": "SHARE" + }, + "navigationEndpoint": { + "clickTrackingParams": "CKYCEJH7BRgIIhMIrem4lsik-wIVydURCB1LPg7Z", + "shareEntityEndpoint": { + "serializedShareEntity": "Cgs5NTBCZEpLQmhHbw%3D%3D", + "sharePanelType": "SHARE_PANEL_TYPE_UNIFIED_SHARE_PANEL" + } + }, + "text": { + "runs": [ + { + "text": "Share" + } + ] + }, + "trackingParams": "CKYCEJH7BRgIIhMIrem4lsik-wIVydURCB1LPg7Z" + } + }, + { + "menuServiceItemRenderer": { + "icon": { + "iconType": "FLAG" + }, + "serviceEndpoint": { + "clickTrackingParams": "CKQCEI32CRgJIhMIrem4lsik-wIVydURCB1LPg7Z", + "modalEndpoint": { + "modal": { + "modalWithTitleAndButtonRenderer": { + "button": { + "buttonRenderer": { + "isDisabled": false, + "navigationEndpoint": { + "clickTrackingParams": "CKUCEPBbIhMIrem4lsik-wIVydURCB1LPg7Z", + "signInEndpoint": { + "hack": true + } + }, + "style": "STYLE_BLUE_TEXT", + "text": { + "runs": [ + { + "text": "Sign in" + } + ] + }, + "trackingParams": "CKUCEPBbIhMIrem4lsik-wIVydURCB1LPg7Z" + } + }, + "content": { + "runs": [ + { + "text": "Sign in to report inappropriate content." + } + ] + }, + "title": { + "runs": [ + { + "text": "Need to report the video?" + } + ] + } + } + } + } + }, + "text": { + "runs": [ + { + "text": "Report" + } + ] + }, + "trackingParams": "CKQCEI32CRgJIhMIrem4lsik-wIVydURCB1LPg7Z" + } + } + ], + "trackingParams": "CKMCEMggGAYiEwit6biWyKT7AhXJ1REIHUs-Dtk=" + } + }, + "navigationEndpoint": { + "clickTrackingParams": "CKMCEMggGAYiEwit6biWyKT7AhXJ1REIHUs-DtkyA0JGYUjqiIaUya7AzvcBmgEFCAwQ-B0=", + "watchEndpoint": { + "index": 7, + "loggingContext": { + "vssLoggingContext": { + "serializedContextData": "GhFSREFNVk03bmlnWFFTMVhiMA%3D%3D" + } + }, + "params": "OAHyAQQIAXgB", + "playlistId": "RDAMVM7nigXQS1Xb0", + "playlistSetVideoId": "CACDD466B3ED1565", + "videoId": "950BdJKBhGo", + "watchEndpointMusicSupportedConfigs": { + "watchEndpointMusicConfig": { + "hasPersistentPlaylistPanel": true, + "musicVideoType": "MUSIC_VIDEO_TYPE_ATV" + } + } + } + }, + "playlistSetVideoId": "CACDD466B3ED1565", + "selected": false, + "shortBylineText": { + "runs": [ + { + "text": "BLACKPINK" + } + ] + }, + "thumbnail": { + "thumbnails": [ + { + "height": 60, + "url": "https://lh3.googleusercontent.com/7xfJMXx4_XvAfkvKm_XcPazcmOI4kehGuhnheCCmzjkEMlJwx_pIJ_BmzCpX_2IXRl5WHud-vTGpOvPKBg=w60-h60-l90-rj", + "width": 60 + }, + { + "height": 120, + "url": "https://lh3.googleusercontent.com/7xfJMXx4_XvAfkvKm_XcPazcmOI4kehGuhnheCCmzjkEMlJwx_pIJ_BmzCpX_2IXRl5WHud-vTGpOvPKBg=w120-h120-l90-rj", + "width": 120 + }, + { + "height": 180, + "url": "https://lh3.googleusercontent.com/7xfJMXx4_XvAfkvKm_XcPazcmOI4kehGuhnheCCmzjkEMlJwx_pIJ_BmzCpX_2IXRl5WHud-vTGpOvPKBg=w180-h180-l90-rj", + "width": 180 + }, + { + "height": 226, + "url": "https://lh3.googleusercontent.com/7xfJMXx4_XvAfkvKm_XcPazcmOI4kehGuhnheCCmzjkEMlJwx_pIJ_BmzCpX_2IXRl5WHud-vTGpOvPKBg=w226-h226-l90-rj", + "width": 226 + }, + { + "height": 302, + "url": "https://lh3.googleusercontent.com/7xfJMXx4_XvAfkvKm_XcPazcmOI4kehGuhnheCCmzjkEMlJwx_pIJ_BmzCpX_2IXRl5WHud-vTGpOvPKBg=w302-h302-l90-rj", + "width": 302 + }, + { + "height": 544, + "url": "https://lh3.googleusercontent.com/7xfJMXx4_XvAfkvKm_XcPazcmOI4kehGuhnheCCmzjkEMlJwx_pIJ_BmzCpX_2IXRl5WHud-vTGpOvPKBg=w544-h544-l90-rj", + "width": 544 + } + ] + }, + "title": { + "runs": [ + { + "text": "Shut Down" + } + ] + }, + "trackingParams": "CKMCEMggGAYiEwit6biWyKT7AhXJ1REIHUs-Dtk=", + "videoId": "950BdJKBhGo" + } + }, + { + "playlistPanelVideoRenderer": { + "canReorder": true, + "lengthText": { + "accessibility": { + "accessibilityData": { + "label": "3 minutes, 42 seconds" + } + }, + "runs": [ + { + "text": "3:42" + } + ] + }, + "longBylineText": { + "runs": [ + { + "navigationEndpoint": { + "browseEndpoint": { + "browseEndpointContextSupportedConfigs": { + "browseEndpointContextMusicConfig": { + "pageType": "MUSIC_PAGE_TYPE_ARTIST" + } + }, + "browseId": "UCEdZAdnnKqbaHOlv8nM6OtA" + }, + "clickTrackingParams": "CJICEMggGAciEwit6biWyKT7AhXJ1REIHUs-Dtk=" + }, + "text": "aespa" + }, + { + "text": " • " + }, + { + "navigationEndpoint": { + "browseEndpoint": { + "browseEndpointContextSupportedConfigs": { + "browseEndpointContextMusicConfig": { + "pageType": "MUSIC_PAGE_TYPE_ALBUM" + } + }, + "browseId": "MPREb_EvUWUKT2PHE" + }, + "clickTrackingParams": "CJICEMggGAciEwit6biWyKT7AhXJ1REIHUs-Dtk=" + }, + "text": "Next Level" + }, + { + "text": " • " + }, + { + "text": "2021" + } + ] + }, + "menu": { + "menuRenderer": { + "accessibility": { + "accessibilityData": { + "label": "Action menu" + } + }, + "items": [ + { + "menuNavigationItemRenderer": { + "icon": { + "iconType": "MIX" + }, + "navigationEndpoint": { + "clickTrackingParams": "CKICEJvzBRgAIhMIrem4lsik-wIVydURCB1LPg7Z", + "watchEndpoint": { + "loggingContext": { + "vssLoggingContext": { + "serializedContextData": "GhFSREFNVk10a3pZeUVwNHpCNA%3D%3D" + } + }, + "params": "wAEB", + "playlistId": "RDAMVMtkzYyEp4zB4", + "videoId": "tkzYyEp4zB4", + "watchEndpointMusicSupportedConfigs": { + "watchEndpointMusicConfig": { + "musicVideoType": "MUSIC_VIDEO_TYPE_ATV" + } + } + } + }, + "text": { + "runs": [ + { + "text": "Start radio" + } + ] + }, + "trackingParams": "CKICEJvzBRgAIhMIrem4lsik-wIVydURCB1LPg7Z" + } + }, + { + "menuServiceItemRenderer": { + "icon": { + "iconType": "QUEUE_PLAY_NEXT" + }, + "serviceEndpoint": { + "clickTrackingParams": "CKACEL7uBRgBIhMIrem4lsik-wIVydURCB1LPg7Z", + "queueAddEndpoint": { + "commands": [ + { + "addToToastAction": { + "item": { + "notificationTextRenderer": { + "successResponseText": { + "runs": [ + { + "text": "Song will play next" + } + ] + }, + "trackingParams": "CKECEMrHAyITCK3puJbIpPsCFcnVEQgdSz4O2Q==" + } + } + }, + "clickTrackingParams": "CKACEL7uBRgBIhMIrem4lsik-wIVydURCB1LPg7Z" + } + ], + "queueInsertPosition": "INSERT_AFTER_CURRENT_VIDEO", + "queueTarget": { + "videoId": "tkzYyEp4zB4" + } + } + }, + "text": { + "runs": [ + { + "text": "Play next" + } + ] + }, + "trackingParams": "CKACEL7uBRgBIhMIrem4lsik-wIVydURCB1LPg7Z" + } + }, + { + "menuServiceItemRenderer": { + "icon": { + "iconType": "ADD_TO_REMOTE_QUEUE" + }, + "serviceEndpoint": { + "clickTrackingParams": "CJ4CEPvvBRgCIhMIrem4lsik-wIVydURCB1LPg7Z", + "queueAddEndpoint": { + "commands": [ + { + "addToToastAction": { + "item": { + "notificationTextRenderer": { + "successResponseText": { + "runs": [ + { + "text": "Song added to queue" + } + ] + }, + "trackingParams": "CJ8CEMrHAyITCK3puJbIpPsCFcnVEQgdSz4O2Q==" + } + } + }, + "clickTrackingParams": "CJ4CEPvvBRgCIhMIrem4lsik-wIVydURCB1LPg7Z" + } + ], + "queueInsertPosition": "INSERT_AT_END", + "queueTarget": { + "videoId": "tkzYyEp4zB4" + } + } + }, + "text": { + "runs": [ + { + "text": "Add to queue" + } + ] + }, + "trackingParams": "CJ4CEPvvBRgCIhMIrem4lsik-wIVydURCB1LPg7Z" + } + }, + { + "toggleMenuServiceItemRenderer": { + "defaultIcon": { + "iconType": "FAVORITE" + }, + "defaultServiceEndpoint": { + "clickTrackingParams": "CJwCEIyfBhgDIhMIrem4lsik-wIVydURCB1LPg7Z", + "modalEndpoint": { + "modal": { + "modalWithTitleAndButtonRenderer": { + "button": { + "buttonRenderer": { + "isDisabled": false, + "navigationEndpoint": { + "clickTrackingParams": "CJ0CEPBbIhMIrem4lsik-wIVydURCB1LPg7Z", + "signInEndpoint": { + "hack": true + } + }, + "style": "STYLE_BLUE_TEXT", + "text": { + "runs": [ + { + "text": "Sign in" + } + ] + }, + "trackingParams": "CJ0CEPBbIhMIrem4lsik-wIVydURCB1LPg7Z" + } + }, + "content": { + "runs": [ + { + "text": "Improve recommendations and save music after signing in" + } + ] + }, + "title": { + "runs": [ + { + "text": "Like this song" + } + ] + } + } + } + } + }, + "defaultText": { + "runs": [ + { + "text": "Add to liked songs" + } + ] + }, + "toggledIcon": { + "iconType": "UNFAVORITE" + }, + "toggledText": { + "runs": [ + { + "text": "Remove from liked songs" + } + ] + }, + "trackingParams": "CJwCEIyfBhgDIhMIrem4lsik-wIVydURCB1LPg7Z" + } + }, + { + "menuNavigationItemRenderer": { + "icon": { + "iconType": "ADD_TO_PLAYLIST" + }, + "navigationEndpoint": { + "clickTrackingParams": "CJoCEMOUBhgEIhMIrem4lsik-wIVydURCB1LPg7Z", + "modalEndpoint": { + "modal": { + "modalWithTitleAndButtonRenderer": { + "button": { + "buttonRenderer": { + "isDisabled": false, + "navigationEndpoint": { + "clickTrackingParams": "CJsCEPBbIhMIrem4lsik-wIVydURCB1LPg7Z", + "signInEndpoint": { + "hack": true + } + }, + "style": "STYLE_BLUE_TEXT", + "text": { + "runs": [ + { + "text": "Sign in" + } + ] + }, + "trackingParams": "CJsCEPBbIhMIrem4lsik-wIVydURCB1LPg7Z" + } + }, + "content": { + "runs": [ + { + "text": "Make playlists and share them after signing in" + } + ] + }, + "title": { + "runs": [ + { + "text": "Save this for later" + } + ] + } + } + } + } + }, + "text": { + "runs": [ + { + "text": "Add to playlist" + } + ] + }, + "trackingParams": "CJoCEMOUBhgEIhMIrem4lsik-wIVydURCB1LPg7Z" + } + }, + { + "menuServiceItemRenderer": { + "icon": { + "iconType": "REMOVE" + }, + "serviceEndpoint": { + "clickTrackingParams": "CJgCEOP7BRgFIhMIrem4lsik-wIVydURCB1LPg7Z", + "removeFromQueueEndpoint": { + "commands": [ + { + "addToToastAction": { + "item": { + "notificationTextRenderer": { + "successResponseText": { + "runs": [ + { + "text": "Item removed from queue" + } + ] + }, + "trackingParams": "CJkCEMrHAyITCK3puJbIpPsCFcnVEQgdSz4O2Q==" + } + } + }, + "clickTrackingParams": "CJgCEOP7BRgFIhMIrem4lsik-wIVydURCB1LPg7Z" + } + ], + "videoId": "tkzYyEp4zB4" + } + }, + "text": { + "runs": [ + { + "text": "Remove from queue" + } + ] + }, + "trackingParams": "CJgCEOP7BRgFIhMIrem4lsik-wIVydURCB1LPg7Z" + } + }, + { + "menuNavigationItemRenderer": { + "icon": { + "iconType": "ALBUM" + }, + "navigationEndpoint": { + "browseEndpoint": { + "browseEndpointContextSupportedConfigs": { + "browseEndpointContextMusicConfig": { + "pageType": "MUSIC_PAGE_TYPE_ALBUM" + } + }, + "browseId": "MPREb_EvUWUKT2PHE" + }, + "clickTrackingParams": "CJcCEI_7BRgGIhMIrem4lsik-wIVydURCB1LPg7Z" + }, + "text": { + "runs": [ + { + "text": "Go to album" + } + ] + }, + "trackingParams": "CJcCEI_7BRgGIhMIrem4lsik-wIVydURCB1LPg7Z" + } + }, + { + "menuNavigationItemRenderer": { + "icon": { + "iconType": "ARTIST" + }, + "navigationEndpoint": { + "browseEndpoint": { + "browseEndpointContextSupportedConfigs": { + "browseEndpointContextMusicConfig": { + "pageType": "MUSIC_PAGE_TYPE_ARTIST" + } + }, + "browseId": "UCEdZAdnnKqbaHOlv8nM6OtA" + }, + "clickTrackingParams": "CJYCEJD7BRgHIhMIrem4lsik-wIVydURCB1LPg7Z" + }, + "text": { + "runs": [ + { + "text": "Go to artist" + } + ] + }, + "trackingParams": "CJYCEJD7BRgHIhMIrem4lsik-wIVydURCB1LPg7Z" + } + }, + { + "menuNavigationItemRenderer": { + "icon": { + "iconType": "SHARE" + }, + "navigationEndpoint": { + "clickTrackingParams": "CJUCEJH7BRgIIhMIrem4lsik-wIVydURCB1LPg7Z", + "shareEntityEndpoint": { + "serializedShareEntity": "Cgt0a3pZeUVwNHpCNA%3D%3D", + "sharePanelType": "SHARE_PANEL_TYPE_UNIFIED_SHARE_PANEL" + } + }, + "text": { + "runs": [ + { + "text": "Share" + } + ] + }, + "trackingParams": "CJUCEJH7BRgIIhMIrem4lsik-wIVydURCB1LPg7Z" + } + }, + { + "menuServiceItemRenderer": { + "icon": { + "iconType": "FLAG" + }, + "serviceEndpoint": { + "clickTrackingParams": "CJMCEI32CRgJIhMIrem4lsik-wIVydURCB1LPg7Z", + "modalEndpoint": { + "modal": { + "modalWithTitleAndButtonRenderer": { + "button": { + "buttonRenderer": { + "isDisabled": false, + "navigationEndpoint": { + "clickTrackingParams": "CJQCEPBbIhMIrem4lsik-wIVydURCB1LPg7Z", + "signInEndpoint": { + "hack": true + } + }, + "style": "STYLE_BLUE_TEXT", + "text": { + "runs": [ + { + "text": "Sign in" + } + ] + }, + "trackingParams": "CJQCEPBbIhMIrem4lsik-wIVydURCB1LPg7Z" + } + }, + "content": { + "runs": [ + { + "text": "Sign in to report inappropriate content." + } + ] + }, + "title": { + "runs": [ + { + "text": "Need to report the video?" + } + ] + } + } + } + } + }, + "text": { + "runs": [ + { + "text": "Report" + } + ] + }, + "trackingParams": "CJMCEI32CRgJIhMIrem4lsik-wIVydURCB1LPg7Z" + } + } + ], + "trackingParams": "CJICEMggGAciEwit6biWyKT7AhXJ1REIHUs-Dtk=" + } + }, + "navigationEndpoint": { + "clickTrackingParams": "CJICEMggGAciEwit6biWyKT7AhXJ1REIHUs-DtkyA0JGYUiemOPThJm2prYBmgEFCAwQ-B0=", + "watchEndpoint": { + "index": 8, + "loggingContext": { + "vssLoggingContext": { + "serializedContextData": "GhFSREFNVk03bmlnWFFTMVhiMA%3D%3D" + } + }, + "params": "OAHyAQQIAXgB", + "playlistId": "RDAMVM7nigXQS1Xb0", + "playlistSetVideoId": "9495DFD78D359043", + "videoId": "tkzYyEp4zB4", + "watchEndpointMusicSupportedConfigs": { + "watchEndpointMusicConfig": { + "hasPersistentPlaylistPanel": true, + "musicVideoType": "MUSIC_VIDEO_TYPE_ATV" + } + } + } + }, + "playlistSetVideoId": "9495DFD78D359043", + "selected": false, + "shortBylineText": { + "runs": [ + { + "text": "aespa" + } + ] + }, + "thumbnail": { + "thumbnails": [ + { + "height": 60, + "url": "https://lh3.googleusercontent.com/KRU-LikB-YvAXaEeHgh_8ismnHXjT_GRgr3PKv2Hjcm7Y9TNyzb2cHRKv0B5MaySP9A1ifqSazQSwPd9=w60-h60-l90-rj", + "width": 60 + }, + { + "height": 120, + "url": "https://lh3.googleusercontent.com/KRU-LikB-YvAXaEeHgh_8ismnHXjT_GRgr3PKv2Hjcm7Y9TNyzb2cHRKv0B5MaySP9A1ifqSazQSwPd9=w120-h120-l90-rj", + "width": 120 + }, + { + "height": 180, + "url": "https://lh3.googleusercontent.com/KRU-LikB-YvAXaEeHgh_8ismnHXjT_GRgr3PKv2Hjcm7Y9TNyzb2cHRKv0B5MaySP9A1ifqSazQSwPd9=w180-h180-l90-rj", + "width": 180 + }, + { + "height": 226, + "url": "https://lh3.googleusercontent.com/KRU-LikB-YvAXaEeHgh_8ismnHXjT_GRgr3PKv2Hjcm7Y9TNyzb2cHRKv0B5MaySP9A1ifqSazQSwPd9=w226-h226-l90-rj", + "width": 226 + }, + { + "height": 302, + "url": "https://lh3.googleusercontent.com/KRU-LikB-YvAXaEeHgh_8ismnHXjT_GRgr3PKv2Hjcm7Y9TNyzb2cHRKv0B5MaySP9A1ifqSazQSwPd9=w302-h302-l90-rj", + "width": 302 + }, + { + "height": 544, + "url": "https://lh3.googleusercontent.com/KRU-LikB-YvAXaEeHgh_8ismnHXjT_GRgr3PKv2Hjcm7Y9TNyzb2cHRKv0B5MaySP9A1ifqSazQSwPd9=w544-h544-l90-rj", + "width": 544 + } + ] + }, + "title": { + "runs": [ + { + "text": "Next Level" + } + ] + }, + "trackingParams": "CJICEMggGAciEwit6biWyKT7AhXJ1REIHUs-Dtk=", + "videoId": "tkzYyEp4zB4" + } + }, + { + "playlistPanelVideoRenderer": { + "canReorder": true, + "lengthText": { + "accessibility": { + "accessibilityData": { + "label": "3 minutes, 38 seconds" + } + }, + "runs": [ + { + "text": "3:38" + } + ] + }, + "longBylineText": { + "runs": [ + { + "navigationEndpoint": { + "browseEndpoint": { + "browseEndpointContextSupportedConfigs": { + "browseEndpointContextMusicConfig": { + "pageType": "MUSIC_PAGE_TYPE_ARTIST" + } + }, + "browseId": "UCQ-ygxSFSlq-O2zGnXxELXQ" + }, + "clickTrackingParams": "CIECEMggGAgiEwit6biWyKT7AhXJ1REIHUs-Dtk=" + }, + "text": "Charlie Puth" + }, + { + "text": " • " + }, + { + "navigationEndpoint": { + "browseEndpoint": { + "browseEndpointContextSupportedConfigs": { + "browseEndpointContextMusicConfig": { + "pageType": "MUSIC_PAGE_TYPE_ALBUM" + } + }, + "browseId": "MPREb_MzZseuRpTgd" + }, + "clickTrackingParams": "CIECEMggGAgiEwit6biWyKT7AhXJ1REIHUs-Dtk=" + }, + "text": "Nine Track Mind" + }, + { + "text": " • " + }, + { + "text": "2015" + } + ] + }, + "menu": { + "menuRenderer": { + "accessibility": { + "accessibilityData": { + "label": "Action menu" + } + }, + "items": [ + { + "menuNavigationItemRenderer": { + "icon": { + "iconType": "MIX" + }, + "navigationEndpoint": { + "clickTrackingParams": "CJECEJvzBRgAIhMIrem4lsik-wIVydURCB1LPg7Z", + "watchEndpoint": { + "loggingContext": { + "vssLoggingContext": { + "serializedContextData": "GhFSREFNVk1mZnFsaUI0Mk5oNA%3D%3D" + } + }, + "params": "wAEB", + "playlistId": "RDAMVMffqliB42Nh4", + "videoId": "ffqliB42Nh4", + "watchEndpointMusicSupportedConfigs": { + "watchEndpointMusicConfig": { + "musicVideoType": "MUSIC_VIDEO_TYPE_ATV" + } + } + } + }, + "text": { + "runs": [ + { + "text": "Start radio" + } + ] + }, + "trackingParams": "CJECEJvzBRgAIhMIrem4lsik-wIVydURCB1LPg7Z" + } + }, + { + "menuServiceItemRenderer": { + "icon": { + "iconType": "QUEUE_PLAY_NEXT" + }, + "serviceEndpoint": { + "clickTrackingParams": "CI8CEL7uBRgBIhMIrem4lsik-wIVydURCB1LPg7Z", + "queueAddEndpoint": { + "commands": [ + { + "addToToastAction": { + "item": { + "notificationTextRenderer": { + "successResponseText": { + "runs": [ + { + "text": "Song will play next" + } + ] + }, + "trackingParams": "CJACEMrHAyITCK3puJbIpPsCFcnVEQgdSz4O2Q==" + } + } + }, + "clickTrackingParams": "CI8CEL7uBRgBIhMIrem4lsik-wIVydURCB1LPg7Z" + } + ], + "queueInsertPosition": "INSERT_AFTER_CURRENT_VIDEO", + "queueTarget": { + "videoId": "ffqliB42Nh4" + } + } + }, + "text": { + "runs": [ + { + "text": "Play next" + } + ] + }, + "trackingParams": "CI8CEL7uBRgBIhMIrem4lsik-wIVydURCB1LPg7Z" + } + }, + { + "menuServiceItemRenderer": { + "icon": { + "iconType": "ADD_TO_REMOTE_QUEUE" + }, + "serviceEndpoint": { + "clickTrackingParams": "CI0CEPvvBRgCIhMIrem4lsik-wIVydURCB1LPg7Z", + "queueAddEndpoint": { + "commands": [ + { + "addToToastAction": { + "item": { + "notificationTextRenderer": { + "successResponseText": { + "runs": [ + { + "text": "Song added to queue" + } + ] + }, + "trackingParams": "CI4CEMrHAyITCK3puJbIpPsCFcnVEQgdSz4O2Q==" + } + } + }, + "clickTrackingParams": "CI0CEPvvBRgCIhMIrem4lsik-wIVydURCB1LPg7Z" + } + ], + "queueInsertPosition": "INSERT_AT_END", + "queueTarget": { + "videoId": "ffqliB42Nh4" + } + } + }, + "text": { + "runs": [ + { + "text": "Add to queue" + } + ] + }, + "trackingParams": "CI0CEPvvBRgCIhMIrem4lsik-wIVydURCB1LPg7Z" + } + }, + { + "toggleMenuServiceItemRenderer": { + "defaultIcon": { + "iconType": "FAVORITE" + }, + "defaultServiceEndpoint": { + "clickTrackingParams": "CIsCEIyfBhgDIhMIrem4lsik-wIVydURCB1LPg7Z", + "modalEndpoint": { + "modal": { + "modalWithTitleAndButtonRenderer": { + "button": { + "buttonRenderer": { + "isDisabled": false, + "navigationEndpoint": { + "clickTrackingParams": "CIwCEPBbIhMIrem4lsik-wIVydURCB1LPg7Z", + "signInEndpoint": { + "hack": true + } + }, + "style": "STYLE_BLUE_TEXT", + "text": { + "runs": [ + { + "text": "Sign in" + } + ] + }, + "trackingParams": "CIwCEPBbIhMIrem4lsik-wIVydURCB1LPg7Z" + } + }, + "content": { + "runs": [ + { + "text": "Improve recommendations and save music after signing in" + } + ] + }, + "title": { + "runs": [ + { + "text": "Like this song" + } + ] + } + } + } + } + }, + "defaultText": { + "runs": [ + { + "text": "Add to liked songs" + } + ] + }, + "toggledIcon": { + "iconType": "UNFAVORITE" + }, + "toggledText": { + "runs": [ + { + "text": "Remove from liked songs" + } + ] + }, + "trackingParams": "CIsCEIyfBhgDIhMIrem4lsik-wIVydURCB1LPg7Z" + } + }, + { + "menuNavigationItemRenderer": { + "icon": { + "iconType": "ADD_TO_PLAYLIST" + }, + "navigationEndpoint": { + "clickTrackingParams": "CIkCEMOUBhgEIhMIrem4lsik-wIVydURCB1LPg7Z", + "modalEndpoint": { + "modal": { + "modalWithTitleAndButtonRenderer": { + "button": { + "buttonRenderer": { + "isDisabled": false, + "navigationEndpoint": { + "clickTrackingParams": "CIoCEPBbIhMIrem4lsik-wIVydURCB1LPg7Z", + "signInEndpoint": { + "hack": true + } + }, + "style": "STYLE_BLUE_TEXT", + "text": { + "runs": [ + { + "text": "Sign in" + } + ] + }, + "trackingParams": "CIoCEPBbIhMIrem4lsik-wIVydURCB1LPg7Z" + } + }, + "content": { + "runs": [ + { + "text": "Make playlists and share them after signing in" + } + ] + }, + "title": { + "runs": [ + { + "text": "Save this for later" + } + ] + } + } + } + } + }, + "text": { + "runs": [ + { + "text": "Add to playlist" + } + ] + }, + "trackingParams": "CIkCEMOUBhgEIhMIrem4lsik-wIVydURCB1LPg7Z" + } + }, + { + "menuServiceItemRenderer": { + "icon": { + "iconType": "REMOVE" + }, + "serviceEndpoint": { + "clickTrackingParams": "CIcCEOP7BRgFIhMIrem4lsik-wIVydURCB1LPg7Z", + "removeFromQueueEndpoint": { + "commands": [ + { + "addToToastAction": { + "item": { + "notificationTextRenderer": { + "successResponseText": { + "runs": [ + { + "text": "Item removed from queue" + } + ] + }, + "trackingParams": "CIgCEMrHAyITCK3puJbIpPsCFcnVEQgdSz4O2Q==" + } + } + }, + "clickTrackingParams": "CIcCEOP7BRgFIhMIrem4lsik-wIVydURCB1LPg7Z" + } + ], + "videoId": "ffqliB42Nh4" + } + }, + "text": { + "runs": [ + { + "text": "Remove from queue" + } + ] + }, + "trackingParams": "CIcCEOP7BRgFIhMIrem4lsik-wIVydURCB1LPg7Z" + } + }, + { + "menuNavigationItemRenderer": { + "icon": { + "iconType": "ALBUM" + }, + "navigationEndpoint": { + "browseEndpoint": { + "browseEndpointContextSupportedConfigs": { + "browseEndpointContextMusicConfig": { + "pageType": "MUSIC_PAGE_TYPE_ALBUM" + } + }, + "browseId": "MPREb_MzZseuRpTgd" + }, + "clickTrackingParams": "CIYCEI_7BRgGIhMIrem4lsik-wIVydURCB1LPg7Z" + }, + "text": { + "runs": [ + { + "text": "Go to album" + } + ] + }, + "trackingParams": "CIYCEI_7BRgGIhMIrem4lsik-wIVydURCB1LPg7Z" + } + }, + { + "menuNavigationItemRenderer": { + "icon": { + "iconType": "ARTIST" + }, + "navigationEndpoint": { + "browseEndpoint": { + "browseEndpointContextSupportedConfigs": { + "browseEndpointContextMusicConfig": { + "pageType": "MUSIC_PAGE_TYPE_ARTIST" + } + }, + "browseId": "UCQ-ygxSFSlq-O2zGnXxELXQ" + }, + "clickTrackingParams": "CIUCEJD7BRgHIhMIrem4lsik-wIVydURCB1LPg7Z" + }, + "text": { + "runs": [ + { + "text": "Go to artist" + } + ] + }, + "trackingParams": "CIUCEJD7BRgHIhMIrem4lsik-wIVydURCB1LPg7Z" + } + }, + { + "menuNavigationItemRenderer": { + "icon": { + "iconType": "SHARE" + }, + "navigationEndpoint": { + "clickTrackingParams": "CIQCEJH7BRgIIhMIrem4lsik-wIVydURCB1LPg7Z", + "shareEntityEndpoint": { + "serializedShareEntity": "CgtmZnFsaUI0Mk5oNA%3D%3D", + "sharePanelType": "SHARE_PANEL_TYPE_UNIFIED_SHARE_PANEL" + } + }, + "text": { + "runs": [ + { + "text": "Share" + } + ] + }, + "trackingParams": "CIQCEJH7BRgIIhMIrem4lsik-wIVydURCB1LPg7Z" + } + }, + { + "menuServiceItemRenderer": { + "icon": { + "iconType": "FLAG" + }, + "serviceEndpoint": { + "clickTrackingParams": "CIICEI32CRgJIhMIrem4lsik-wIVydURCB1LPg7Z", + "modalEndpoint": { + "modal": { + "modalWithTitleAndButtonRenderer": { + "button": { + "buttonRenderer": { + "isDisabled": false, + "navigationEndpoint": { + "clickTrackingParams": "CIMCEPBbIhMIrem4lsik-wIVydURCB1LPg7Z", + "signInEndpoint": { + "hack": true + } + }, + "style": "STYLE_BLUE_TEXT", + "text": { + "runs": [ + { + "text": "Sign in" + } + ] + }, + "trackingParams": "CIMCEPBbIhMIrem4lsik-wIVydURCB1LPg7Z" + } + }, + "content": { + "runs": [ + { + "text": "Sign in to report inappropriate content." + } + ] + }, + "title": { + "runs": [ + { + "text": "Need to report the video?" + } + ] + } + } + } + } + }, + "text": { + "runs": [ + { + "text": "Report" + } + ] + }, + "trackingParams": "CIICEI32CRgJIhMIrem4lsik-wIVydURCB1LPg7Z" + } + } + ], + "trackingParams": "CIECEMggGAgiEwit6biWyKT7AhXJ1REIHUs-Dtk=" + } + }, + "navigationEndpoint": { + "clickTrackingParams": "CIECEMggGAgiEwit6biWyKT7AhXJ1REIHUs-DtkyA0JGYUie7NjxgbGp_X2aAQUIDBD4HQ==", + "watchEndpoint": { + "index": 9, + "loggingContext": { + "vssLoggingContext": { + "serializedContextData": "GhFSREFNVk03bmlnWFFTMVhiMA%3D%3D" + } + }, + "params": "OAHyAQQIAXgB", + "playlistId": "RDAMVM7nigXQS1Xb0", + "playlistSetVideoId": "F63CD4D04198B046", + "videoId": "ffqliB42Nh4", + "watchEndpointMusicSupportedConfigs": { + "watchEndpointMusicConfig": { + "hasPersistentPlaylistPanel": true, + "musicVideoType": "MUSIC_VIDEO_TYPE_ATV" + } + } + } + }, + "playlistSetVideoId": "F63CD4D04198B046", + "selected": false, + "shortBylineText": { + "runs": [ + { + "text": "Charlie Puth" + } + ] + }, + "thumbnail": { + "thumbnails": [ + { + "height": 60, + "url": "https://lh3.googleusercontent.com/TlXKDSRGrj0ogqmGbzyGvZrsT9T0F6xgV-2-3pelbzRms0cODdb-ndDg6SpFzkHYMb4NMMMW957wmrObfw=w60-h60-l90-rj", + "width": 60 + }, + { + "height": 120, + "url": "https://lh3.googleusercontent.com/TlXKDSRGrj0ogqmGbzyGvZrsT9T0F6xgV-2-3pelbzRms0cODdb-ndDg6SpFzkHYMb4NMMMW957wmrObfw=w120-h120-l90-rj", + "width": 120 + }, + { + "height": 180, + "url": "https://lh3.googleusercontent.com/TlXKDSRGrj0ogqmGbzyGvZrsT9T0F6xgV-2-3pelbzRms0cODdb-ndDg6SpFzkHYMb4NMMMW957wmrObfw=w180-h180-l90-rj", + "width": 180 + }, + { + "height": 226, + "url": "https://lh3.googleusercontent.com/TlXKDSRGrj0ogqmGbzyGvZrsT9T0F6xgV-2-3pelbzRms0cODdb-ndDg6SpFzkHYMb4NMMMW957wmrObfw=w226-h226-l90-rj", + "width": 226 + }, + { + "height": 302, + "url": "https://lh3.googleusercontent.com/TlXKDSRGrj0ogqmGbzyGvZrsT9T0F6xgV-2-3pelbzRms0cODdb-ndDg6SpFzkHYMb4NMMMW957wmrObfw=w302-h302-l90-rj", + "width": 302 + }, + { + "height": 544, + "url": "https://lh3.googleusercontent.com/TlXKDSRGrj0ogqmGbzyGvZrsT9T0F6xgV-2-3pelbzRms0cODdb-ndDg6SpFzkHYMb4NMMMW957wmrObfw=w544-h544-l90-rj", + "width": 544 + } + ] + }, + "title": { + "runs": [ + { + "text": "We Don't Talk Anymore (feat. Selena Gomez)" + } + ] + }, + "trackingParams": "CIECEMggGAgiEwit6biWyKT7AhXJ1REIHUs-Dtk=", + "videoId": "ffqliB42Nh4" + } + }, + { + "playlistPanelVideoRenderer": { + "canReorder": true, + "lengthText": { + "accessibility": { + "accessibilityData": { + "label": "3 minutes, 41 seconds" + } + }, + "runs": [ + { + "text": "3:41" + } + ] + }, + "longBylineText": { + "runs": [ + { + "navigationEndpoint": { + "browseEndpoint": { + "browseEndpointContextSupportedConfigs": { + "browseEndpointContextMusicConfig": { + "pageType": "MUSIC_PAGE_TYPE_ARTIST" + } + }, + "browseId": "UCqJnSdHjKtfsrHi9aI-9d3g" + }, + "clickTrackingParams": "CPABEMggGAkiEwit6biWyKT7AhXJ1REIHUs-Dtk=" + }, + "text": "Martin Garrix" + }, + { + "text": " & " + }, + { + "navigationEndpoint": { + "browseEndpoint": { + "browseEndpointContextSupportedConfigs": { + "browseEndpointContextMusicConfig": { + "pageType": "MUSIC_PAGE_TYPE_ARTIST" + } + }, + "browseId": "UCzVb0SIXp9q9PeKCcFjsBtA" + }, + "clickTrackingParams": "CPABEMggGAkiEwit6biWyKT7AhXJ1REIHUs-Dtk=" + }, + "text": "Dua Lipa" + }, + { + "text": " • " + }, + { + "navigationEndpoint": { + "browseEndpoint": { + "browseEndpointContextSupportedConfigs": { + "browseEndpointContextMusicConfig": { + "pageType": "MUSIC_PAGE_TYPE_ALBUM" + } + }, + "browseId": "MPREb_eh6kg8WOyFh" + }, + "clickTrackingParams": "CPABEMggGAkiEwit6biWyKT7AhXJ1REIHUs-Dtk=" + }, + "text": "Scared to Be Lonely" + }, + { + "text": " • " + }, + { + "text": "2017" + } + ] + }, + "menu": { + "menuRenderer": { + "accessibility": { + "accessibilityData": { + "label": "Action menu" + } + }, + "items": [ + { + "menuNavigationItemRenderer": { + "icon": { + "iconType": "MIX" + }, + "navigationEndpoint": { + "clickTrackingParams": "CIACEJvzBRgAIhMIrem4lsik-wIVydURCB1LPg7Z", + "watchEndpoint": { + "loggingContext": { + "vssLoggingContext": { + "serializedContextData": "GhFSREFNVk12RkZUMWlBVU5ERQ%3D%3D" + } + }, + "params": "wAEB", + "playlistId": "RDAMVMvFFT1iAUNDE", + "videoId": "vFFT1iAUNDE", + "watchEndpointMusicSupportedConfigs": { + "watchEndpointMusicConfig": { + "musicVideoType": "MUSIC_VIDEO_TYPE_ATV" + } + } + } + }, + "text": { + "runs": [ + { + "text": "Start radio" + } + ] + }, + "trackingParams": "CIACEJvzBRgAIhMIrem4lsik-wIVydURCB1LPg7Z" + } + }, + { + "menuServiceItemRenderer": { + "icon": { + "iconType": "QUEUE_PLAY_NEXT" + }, + "serviceEndpoint": { + "clickTrackingParams": "CP4BEL7uBRgBIhMIrem4lsik-wIVydURCB1LPg7Z", + "queueAddEndpoint": { + "commands": [ + { + "addToToastAction": { + "item": { + "notificationTextRenderer": { + "successResponseText": { + "runs": [ + { + "text": "Song will play next" + } + ] + }, + "trackingParams": "CP8BEMrHAyITCK3puJbIpPsCFcnVEQgdSz4O2Q==" + } + } + }, + "clickTrackingParams": "CP4BEL7uBRgBIhMIrem4lsik-wIVydURCB1LPg7Z" + } + ], + "queueInsertPosition": "INSERT_AFTER_CURRENT_VIDEO", + "queueTarget": { + "videoId": "vFFT1iAUNDE" + } + } + }, + "text": { + "runs": [ + { + "text": "Play next" + } + ] + }, + "trackingParams": "CP4BEL7uBRgBIhMIrem4lsik-wIVydURCB1LPg7Z" + } + }, + { + "menuServiceItemRenderer": { + "icon": { + "iconType": "ADD_TO_REMOTE_QUEUE" + }, + "serviceEndpoint": { + "clickTrackingParams": "CPwBEPvvBRgCIhMIrem4lsik-wIVydURCB1LPg7Z", + "queueAddEndpoint": { + "commands": [ + { + "addToToastAction": { + "item": { + "notificationTextRenderer": { + "successResponseText": { + "runs": [ + { + "text": "Song added to queue" + } + ] + }, + "trackingParams": "CP0BEMrHAyITCK3puJbIpPsCFcnVEQgdSz4O2Q==" + } + } + }, + "clickTrackingParams": "CPwBEPvvBRgCIhMIrem4lsik-wIVydURCB1LPg7Z" + } + ], + "queueInsertPosition": "INSERT_AT_END", + "queueTarget": { + "videoId": "vFFT1iAUNDE" + } + } + }, + "text": { + "runs": [ + { + "text": "Add to queue" + } + ] + }, + "trackingParams": "CPwBEPvvBRgCIhMIrem4lsik-wIVydURCB1LPg7Z" + } + }, + { + "toggleMenuServiceItemRenderer": { + "defaultIcon": { + "iconType": "FAVORITE" + }, + "defaultServiceEndpoint": { + "clickTrackingParams": "CPoBEIyfBhgDIhMIrem4lsik-wIVydURCB1LPg7Z", + "modalEndpoint": { + "modal": { + "modalWithTitleAndButtonRenderer": { + "button": { + "buttonRenderer": { + "isDisabled": false, + "navigationEndpoint": { + "clickTrackingParams": "CPsBEPBbIhMIrem4lsik-wIVydURCB1LPg7Z", + "signInEndpoint": { + "hack": true + } + }, + "style": "STYLE_BLUE_TEXT", + "text": { + "runs": [ + { + "text": "Sign in" + } + ] + }, + "trackingParams": "CPsBEPBbIhMIrem4lsik-wIVydURCB1LPg7Z" + } + }, + "content": { + "runs": [ + { + "text": "Improve recommendations and save music after signing in" + } + ] + }, + "title": { + "runs": [ + { + "text": "Like this song" + } + ] + } + } + } + } + }, + "defaultText": { + "runs": [ + { + "text": "Add to liked songs" + } + ] + }, + "toggledIcon": { + "iconType": "UNFAVORITE" + }, + "toggledText": { + "runs": [ + { + "text": "Remove from liked songs" + } + ] + }, + "trackingParams": "CPoBEIyfBhgDIhMIrem4lsik-wIVydURCB1LPg7Z" + } + }, + { + "menuNavigationItemRenderer": { + "icon": { + "iconType": "ADD_TO_PLAYLIST" + }, + "navigationEndpoint": { + "clickTrackingParams": "CPgBEMOUBhgEIhMIrem4lsik-wIVydURCB1LPg7Z", + "modalEndpoint": { + "modal": { + "modalWithTitleAndButtonRenderer": { + "button": { + "buttonRenderer": { + "isDisabled": false, + "navigationEndpoint": { + "clickTrackingParams": "CPkBEPBbIhMIrem4lsik-wIVydURCB1LPg7Z", + "signInEndpoint": { + "hack": true + } + }, + "style": "STYLE_BLUE_TEXT", + "text": { + "runs": [ + { + "text": "Sign in" + } + ] + }, + "trackingParams": "CPkBEPBbIhMIrem4lsik-wIVydURCB1LPg7Z" + } + }, + "content": { + "runs": [ + { + "text": "Make playlists and share them after signing in" + } + ] + }, + "title": { + "runs": [ + { + "text": "Save this for later" + } + ] + } + } + } + } + }, + "text": { + "runs": [ + { + "text": "Add to playlist" + } + ] + }, + "trackingParams": "CPgBEMOUBhgEIhMIrem4lsik-wIVydURCB1LPg7Z" + } + }, + { + "menuServiceItemRenderer": { + "icon": { + "iconType": "REMOVE" + }, + "serviceEndpoint": { + "clickTrackingParams": "CPYBEOP7BRgFIhMIrem4lsik-wIVydURCB1LPg7Z", + "removeFromQueueEndpoint": { + "commands": [ + { + "addToToastAction": { + "item": { + "notificationTextRenderer": { + "successResponseText": { + "runs": [ + { + "text": "Item removed from queue" + } + ] + }, + "trackingParams": "CPcBEMrHAyITCK3puJbIpPsCFcnVEQgdSz4O2Q==" + } + } + }, + "clickTrackingParams": "CPYBEOP7BRgFIhMIrem4lsik-wIVydURCB1LPg7Z" + } + ], + "videoId": "vFFT1iAUNDE" + } + }, + "text": { + "runs": [ + { + "text": "Remove from queue" + } + ] + }, + "trackingParams": "CPYBEOP7BRgFIhMIrem4lsik-wIVydURCB1LPg7Z" + } + }, + { + "menuNavigationItemRenderer": { + "icon": { + "iconType": "ALBUM" + }, + "navigationEndpoint": { + "browseEndpoint": { + "browseEndpointContextSupportedConfigs": { + "browseEndpointContextMusicConfig": { + "pageType": "MUSIC_PAGE_TYPE_ALBUM" + } + }, + "browseId": "MPREb_eh6kg8WOyFh" + }, + "clickTrackingParams": "CPUBEI_7BRgGIhMIrem4lsik-wIVydURCB1LPg7Z" + }, + "text": { + "runs": [ + { + "text": "Go to album" + } + ] + }, + "trackingParams": "CPUBEI_7BRgGIhMIrem4lsik-wIVydURCB1LPg7Z" + } + }, + { + "menuNavigationItemRenderer": { + "icon": { + "iconType": "ARTIST" + }, + "navigationEndpoint": { + "browseEndpoint": { + "browseEndpointContextSupportedConfigs": { + "browseEndpointContextMusicConfig": { + "pageType": "MUSIC_PAGE_TYPE_ARTIST" + } + }, + "browseId": "UCqJnSdHjKtfsrHi9aI-9d3g" + }, + "clickTrackingParams": "CPQBEJD7BRgHIhMIrem4lsik-wIVydURCB1LPg7Z" + }, + "text": { + "runs": [ + { + "text": "Go to artist" + } + ] + }, + "trackingParams": "CPQBEJD7BRgHIhMIrem4lsik-wIVydURCB1LPg7Z" + } + }, + { + "menuNavigationItemRenderer": { + "icon": { + "iconType": "SHARE" + }, + "navigationEndpoint": { + "clickTrackingParams": "CPMBEJH7BRgIIhMIrem4lsik-wIVydURCB1LPg7Z", + "shareEntityEndpoint": { + "serializedShareEntity": "Cgt2RkZUMWlBVU5ERQ%3D%3D", + "sharePanelType": "SHARE_PANEL_TYPE_UNIFIED_SHARE_PANEL" + } + }, + "text": { + "runs": [ + { + "text": "Share" + } + ] + }, + "trackingParams": "CPMBEJH7BRgIIhMIrem4lsik-wIVydURCB1LPg7Z" + } + }, + { + "menuServiceItemRenderer": { + "icon": { + "iconType": "FLAG" + }, + "serviceEndpoint": { + "clickTrackingParams": "CPEBEI32CRgJIhMIrem4lsik-wIVydURCB1LPg7Z", + "modalEndpoint": { + "modal": { + "modalWithTitleAndButtonRenderer": { + "button": { + "buttonRenderer": { + "isDisabled": false, + "navigationEndpoint": { + "clickTrackingParams": "CPIBEPBbIhMIrem4lsik-wIVydURCB1LPg7Z", + "signInEndpoint": { + "hack": true + } + }, + "style": "STYLE_BLUE_TEXT", + "text": { + "runs": [ + { + "text": "Sign in" + } + ] + }, + "trackingParams": "CPIBEPBbIhMIrem4lsik-wIVydURCB1LPg7Z" + } + }, + "content": { + "runs": [ + { + "text": "Sign in to report inappropriate content." + } + ] + }, + "title": { + "runs": [ + { + "text": "Need to report the video?" + } + ] + } + } + } + } + }, + "text": { + "runs": [ + { + "text": "Report" + } + ] + }, + "trackingParams": "CPEBEI32CRgJIhMIrem4lsik-wIVydURCB1LPg7Z" + } + } + ], + "trackingParams": "CPABEMggGAkiEwit6biWyKT7AhXJ1REIHUs-Dtk=" + } + }, + "navigationEndpoint": { + "clickTrackingParams": "CPABEMggGAkiEwit6biWyKT7AhXJ1REIHUs-DtkyA0JGYUix6NCA4vrUqLwBmgEFCAwQ-B0=", + "watchEndpoint": { + "index": 10, + "loggingContext": { + "vssLoggingContext": { + "serializedContextData": "GhFSREFNVk03bmlnWFFTMVhiMA%3D%3D" + } + }, + "params": "OAHyAQQIAXgB", + "playlistId": "RDAMVM7nigXQS1Xb0", + "playlistSetVideoId": "476B0DC25D7DEE8A", + "videoId": "vFFT1iAUNDE", + "watchEndpointMusicSupportedConfigs": { + "watchEndpointMusicConfig": { + "hasPersistentPlaylistPanel": true, + "musicVideoType": "MUSIC_VIDEO_TYPE_ATV" + } + } + } + }, + "playlistSetVideoId": "476B0DC25D7DEE8A", + "selected": false, + "shortBylineText": { + "runs": [ + { + "text": "Martin Garrix" + }, + { + "text": " & " + }, + { + "text": "Dua Lipa" + } + ] + }, + "thumbnail": { + "thumbnails": [ + { + "height": 60, + "url": "https://lh3.googleusercontent.com/ufhMs2yCPdEVfzVHqfkafLpwaTnuQ_FZejyFClFocb1I69Md_Rh0ph5BJJjzlPrcJStB32p0b_VzgGw=w60-h60-l90-rj", + "width": 60 + }, + { + "height": 120, + "url": "https://lh3.googleusercontent.com/ufhMs2yCPdEVfzVHqfkafLpwaTnuQ_FZejyFClFocb1I69Md_Rh0ph5BJJjzlPrcJStB32p0b_VzgGw=w120-h120-l90-rj", + "width": 120 + }, + { + "height": 180, + "url": "https://lh3.googleusercontent.com/ufhMs2yCPdEVfzVHqfkafLpwaTnuQ_FZejyFClFocb1I69Md_Rh0ph5BJJjzlPrcJStB32p0b_VzgGw=w180-h180-l90-rj", + "width": 180 + }, + { + "height": 226, + "url": "https://lh3.googleusercontent.com/ufhMs2yCPdEVfzVHqfkafLpwaTnuQ_FZejyFClFocb1I69Md_Rh0ph5BJJjzlPrcJStB32p0b_VzgGw=w226-h226-l90-rj", + "width": 226 + }, + { + "height": 302, + "url": "https://lh3.googleusercontent.com/ufhMs2yCPdEVfzVHqfkafLpwaTnuQ_FZejyFClFocb1I69Md_Rh0ph5BJJjzlPrcJStB32p0b_VzgGw=w302-h302-l90-rj", + "width": 302 + }, + { + "height": 544, + "url": "https://lh3.googleusercontent.com/ufhMs2yCPdEVfzVHqfkafLpwaTnuQ_FZejyFClFocb1I69Md_Rh0ph5BJJjzlPrcJStB32p0b_VzgGw=w544-h544-l90-rj", + "width": 544 + } + ] + }, + "title": { + "runs": [ + { + "text": "Scared To Be Lonely" + } + ] + }, + "trackingParams": "CPABEMggGAkiEwit6biWyKT7AhXJ1REIHUs-Dtk=", + "videoId": "vFFT1iAUNDE" + } + }, + { + "playlistPanelVideoRenderer": { + "canReorder": true, + "lengthText": { + "accessibility": { + "accessibilityData": { + "label": "3 minutes, 32 seconds" + } + }, + "runs": [ + { + "text": "3:32" + } + ] + }, + "longBylineText": { + "runs": [ + { + "navigationEndpoint": { + "browseEndpoint": { + "browseEndpointContextSupportedConfigs": { + "browseEndpointContextMusicConfig": { + "pageType": "MUSIC_PAGE_TYPE_ARTIST" + } + }, + "browseId": "UCpUChkP-KE20GRsyfjU83_g" + }, + "clickTrackingParams": "CN8BEMggGAoiEwit6biWyKT7AhXJ1REIHUs-Dtk=" + }, + "text": "CHUNGHA" + }, + { + "text": " • " + }, + { + "navigationEndpoint": { + "browseEndpoint": { + "browseEndpointContextSupportedConfigs": { + "browseEndpointContextMusicConfig": { + "pageType": "MUSIC_PAGE_TYPE_ALBUM" + } + }, + "browseId": "MPREb_gMHbiTzosSX" + }, + "clickTrackingParams": "CN8BEMggGAoiEwit6biWyKT7AhXJ1REIHUs-Dtk=" + }, + "text": "Offset" + }, + { + "text": " • " + }, + { + "text": "2018" + } + ] + }, + "menu": { + "menuRenderer": { + "accessibility": { + "accessibilityData": { + "label": "Action menu" + } + }, + "items": [ + { + "menuNavigationItemRenderer": { + "icon": { + "iconType": "MIX" + }, + "navigationEndpoint": { + "clickTrackingParams": "CO8BEJvzBRgAIhMIrem4lsik-wIVydURCB1LPg7Z", + "watchEndpoint": { + "loggingContext": { + "vssLoggingContext": { + "serializedContextData": "GhFSREFNVk04SlhjNGlkS1NfYw%3D%3D" + } + }, + "params": "wAEB", + "playlistId": "RDAMVM8JXc4idKS_c", + "videoId": "8JXc4idKS_c", + "watchEndpointMusicSupportedConfigs": { + "watchEndpointMusicConfig": { + "musicVideoType": "MUSIC_VIDEO_TYPE_ATV" + } + } + } + }, + "text": { + "runs": [ + { + "text": "Start radio" + } + ] + }, + "trackingParams": "CO8BEJvzBRgAIhMIrem4lsik-wIVydURCB1LPg7Z" + } + }, + { + "menuServiceItemRenderer": { + "icon": { + "iconType": "QUEUE_PLAY_NEXT" + }, + "serviceEndpoint": { + "clickTrackingParams": "CO0BEL7uBRgBIhMIrem4lsik-wIVydURCB1LPg7Z", + "queueAddEndpoint": { + "commands": [ + { + "addToToastAction": { + "item": { + "notificationTextRenderer": { + "successResponseText": { + "runs": [ + { + "text": "Song will play next" + } + ] + }, + "trackingParams": "CO4BEMrHAyITCK3puJbIpPsCFcnVEQgdSz4O2Q==" + } + } + }, + "clickTrackingParams": "CO0BEL7uBRgBIhMIrem4lsik-wIVydURCB1LPg7Z" + } + ], + "queueInsertPosition": "INSERT_AFTER_CURRENT_VIDEO", + "queueTarget": { + "videoId": "8JXc4idKS_c" + } + } + }, + "text": { + "runs": [ + { + "text": "Play next" + } + ] + }, + "trackingParams": "CO0BEL7uBRgBIhMIrem4lsik-wIVydURCB1LPg7Z" + } + }, + { + "menuServiceItemRenderer": { + "icon": { + "iconType": "ADD_TO_REMOTE_QUEUE" + }, + "serviceEndpoint": { + "clickTrackingParams": "COsBEPvvBRgCIhMIrem4lsik-wIVydURCB1LPg7Z", + "queueAddEndpoint": { + "commands": [ + { + "addToToastAction": { + "item": { + "notificationTextRenderer": { + "successResponseText": { + "runs": [ + { + "text": "Song added to queue" + } + ] + }, + "trackingParams": "COwBEMrHAyITCK3puJbIpPsCFcnVEQgdSz4O2Q==" + } + } + }, + "clickTrackingParams": "COsBEPvvBRgCIhMIrem4lsik-wIVydURCB1LPg7Z" + } + ], + "queueInsertPosition": "INSERT_AT_END", + "queueTarget": { + "videoId": "8JXc4idKS_c" + } + } + }, + "text": { + "runs": [ + { + "text": "Add to queue" + } + ] + }, + "trackingParams": "COsBEPvvBRgCIhMIrem4lsik-wIVydURCB1LPg7Z" + } + }, + { + "toggleMenuServiceItemRenderer": { + "defaultIcon": { + "iconType": "FAVORITE" + }, + "defaultServiceEndpoint": { + "clickTrackingParams": "COkBEIyfBhgDIhMIrem4lsik-wIVydURCB1LPg7Z", + "modalEndpoint": { + "modal": { + "modalWithTitleAndButtonRenderer": { + "button": { + "buttonRenderer": { + "isDisabled": false, + "navigationEndpoint": { + "clickTrackingParams": "COoBEPBbIhMIrem4lsik-wIVydURCB1LPg7Z", + "signInEndpoint": { + "hack": true + } + }, + "style": "STYLE_BLUE_TEXT", + "text": { + "runs": [ + { + "text": "Sign in" + } + ] + }, + "trackingParams": "COoBEPBbIhMIrem4lsik-wIVydURCB1LPg7Z" + } + }, + "content": { + "runs": [ + { + "text": "Improve recommendations and save music after signing in" + } + ] + }, + "title": { + "runs": [ + { + "text": "Like this song" + } + ] + } + } + } + } + }, + "defaultText": { + "runs": [ + { + "text": "Add to liked songs" + } + ] + }, + "toggledIcon": { + "iconType": "UNFAVORITE" + }, + "toggledText": { + "runs": [ + { + "text": "Remove from liked songs" + } + ] + }, + "trackingParams": "COkBEIyfBhgDIhMIrem4lsik-wIVydURCB1LPg7Z" + } + }, + { + "menuNavigationItemRenderer": { + "icon": { + "iconType": "ADD_TO_PLAYLIST" + }, + "navigationEndpoint": { + "clickTrackingParams": "COcBEMOUBhgEIhMIrem4lsik-wIVydURCB1LPg7Z", + "modalEndpoint": { + "modal": { + "modalWithTitleAndButtonRenderer": { + "button": { + "buttonRenderer": { + "isDisabled": false, + "navigationEndpoint": { + "clickTrackingParams": "COgBEPBbIhMIrem4lsik-wIVydURCB1LPg7Z", + "signInEndpoint": { + "hack": true + } + }, + "style": "STYLE_BLUE_TEXT", + "text": { + "runs": [ + { + "text": "Sign in" + } + ] + }, + "trackingParams": "COgBEPBbIhMIrem4lsik-wIVydURCB1LPg7Z" + } + }, + "content": { + "runs": [ + { + "text": "Make playlists and share them after signing in" + } + ] + }, + "title": { + "runs": [ + { + "text": "Save this for later" + } + ] + } + } + } + } + }, + "text": { + "runs": [ + { + "text": "Add to playlist" + } + ] + }, + "trackingParams": "COcBEMOUBhgEIhMIrem4lsik-wIVydURCB1LPg7Z" + } + }, + { + "menuServiceItemRenderer": { + "icon": { + "iconType": "REMOVE" + }, + "serviceEndpoint": { + "clickTrackingParams": "COUBEOP7BRgFIhMIrem4lsik-wIVydURCB1LPg7Z", + "removeFromQueueEndpoint": { + "commands": [ + { + "addToToastAction": { + "item": { + "notificationTextRenderer": { + "successResponseText": { + "runs": [ + { + "text": "Item removed from queue" + } + ] + }, + "trackingParams": "COYBEMrHAyITCK3puJbIpPsCFcnVEQgdSz4O2Q==" + } + } + }, + "clickTrackingParams": "COUBEOP7BRgFIhMIrem4lsik-wIVydURCB1LPg7Z" + } + ], + "videoId": "8JXc4idKS_c" + } + }, + "text": { + "runs": [ + { + "text": "Remove from queue" + } + ] + }, + "trackingParams": "COUBEOP7BRgFIhMIrem4lsik-wIVydURCB1LPg7Z" + } + }, + { + "menuNavigationItemRenderer": { + "icon": { + "iconType": "ALBUM" + }, + "navigationEndpoint": { + "browseEndpoint": { + "browseEndpointContextSupportedConfigs": { + "browseEndpointContextMusicConfig": { + "pageType": "MUSIC_PAGE_TYPE_ALBUM" + } + }, + "browseId": "MPREb_gMHbiTzosSX" + }, + "clickTrackingParams": "COQBEI_7BRgGIhMIrem4lsik-wIVydURCB1LPg7Z" + }, + "text": { + "runs": [ + { + "text": "Go to album" + } + ] + }, + "trackingParams": "COQBEI_7BRgGIhMIrem4lsik-wIVydURCB1LPg7Z" + } + }, + { + "menuNavigationItemRenderer": { + "icon": { + "iconType": "ARTIST" + }, + "navigationEndpoint": { + "browseEndpoint": { + "browseEndpointContextSupportedConfigs": { + "browseEndpointContextMusicConfig": { + "pageType": "MUSIC_PAGE_TYPE_ARTIST" + } + }, + "browseId": "UCpUChkP-KE20GRsyfjU83_g" + }, + "clickTrackingParams": "COMBEJD7BRgHIhMIrem4lsik-wIVydURCB1LPg7Z" + }, + "text": { + "runs": [ + { + "text": "Go to artist" + } + ] + }, + "trackingParams": "COMBEJD7BRgHIhMIrem4lsik-wIVydURCB1LPg7Z" + } + }, + { + "menuNavigationItemRenderer": { + "icon": { + "iconType": "SHARE" + }, + "navigationEndpoint": { + "clickTrackingParams": "COIBEJH7BRgIIhMIrem4lsik-wIVydURCB1LPg7Z", + "shareEntityEndpoint": { + "serializedShareEntity": "Cgs4SlhjNGlkS1NfYw%3D%3D", + "sharePanelType": "SHARE_PANEL_TYPE_UNIFIED_SHARE_PANEL" + } + }, + "text": { + "runs": [ + { + "text": "Share" + } + ] + }, + "trackingParams": "COIBEJH7BRgIIhMIrem4lsik-wIVydURCB1LPg7Z" + } + }, + { + "menuServiceItemRenderer": { + "icon": { + "iconType": "FLAG" + }, + "serviceEndpoint": { + "clickTrackingParams": "COABEI32CRgJIhMIrem4lsik-wIVydURCB1LPg7Z", + "modalEndpoint": { + "modal": { + "modalWithTitleAndButtonRenderer": { + "button": { + "buttonRenderer": { + "isDisabled": false, + "navigationEndpoint": { + "clickTrackingParams": "COEBEPBbIhMIrem4lsik-wIVydURCB1LPg7Z", + "signInEndpoint": { + "hack": true + } + }, + "style": "STYLE_BLUE_TEXT", + "text": { + "runs": [ + { + "text": "Sign in" + } + ] + }, + "trackingParams": "COEBEPBbIhMIrem4lsik-wIVydURCB1LPg7Z" + } + }, + "content": { + "runs": [ + { + "text": "Sign in to report inappropriate content." + } + ] + }, + "title": { + "runs": [ + { + "text": "Need to report the video?" + } + ] + } + } + } + } + }, + "text": { + "runs": [ + { + "text": "Report" + } + ] + }, + "trackingParams": "COABEI32CRgJIhMIrem4lsik-wIVydURCB1LPg7Z" + } + } + ], + "trackingParams": "CN8BEMggGAoiEwit6biWyKT7AhXJ1REIHUs-Dtk=" + } + }, + "navigationEndpoint": { + "clickTrackingParams": "CN8BEMggGAoiEwit6biWyKT7AhXJ1REIHUs-DtkyA0JGYUj3l6m6opz3yvABmgEFCAwQ-B0=", + "watchEndpoint": { + "index": 11, + "loggingContext": { + "vssLoggingContext": { + "serializedContextData": "GhFSREFNVk03bmlnWFFTMVhiMA%3D%3D" + } + }, + "params": "OAHyAQQIAXgB", + "playlistId": "RDAMVM7nigXQS1Xb0", + "playlistSetVideoId": "D0A0EF93DCE5742B", + "videoId": "8JXc4idKS_c", + "watchEndpointMusicSupportedConfigs": { + "watchEndpointMusicConfig": { + "hasPersistentPlaylistPanel": true, + "musicVideoType": "MUSIC_VIDEO_TYPE_ATV" + } + } + } + }, + "playlistSetVideoId": "D0A0EF93DCE5742B", + "selected": false, + "shortBylineText": { + "runs": [ + { + "text": "CHUNGHA" + } + ] + }, + "thumbnail": { + "thumbnails": [ + { + "height": 60, + "url": "https://lh3.googleusercontent.com/k7XKTGhcPukWgnh4wIYC3kPKAT4iRww2jXl1ES9zq-0OvRCxeOz1g2dBgdT2Qo3lQZnDb3FuwSbFWRw=w60-h60-l90-rj", + "width": 60 + }, + { + "height": 120, + "url": "https://lh3.googleusercontent.com/k7XKTGhcPukWgnh4wIYC3kPKAT4iRww2jXl1ES9zq-0OvRCxeOz1g2dBgdT2Qo3lQZnDb3FuwSbFWRw=w120-h120-l90-rj", + "width": 120 + }, + { + "height": 180, + "url": "https://lh3.googleusercontent.com/k7XKTGhcPukWgnh4wIYC3kPKAT4iRww2jXl1ES9zq-0OvRCxeOz1g2dBgdT2Qo3lQZnDb3FuwSbFWRw=w180-h180-l90-rj", + "width": 180 + }, + { + "height": 226, + "url": "https://lh3.googleusercontent.com/k7XKTGhcPukWgnh4wIYC3kPKAT4iRww2jXl1ES9zq-0OvRCxeOz1g2dBgdT2Qo3lQZnDb3FuwSbFWRw=w226-h226-l90-rj", + "width": 226 + }, + { + "height": 302, + "url": "https://lh3.googleusercontent.com/k7XKTGhcPukWgnh4wIYC3kPKAT4iRww2jXl1ES9zq-0OvRCxeOz1g2dBgdT2Qo3lQZnDb3FuwSbFWRw=w302-h302-l90-rj", + "width": 302 + }, + { + "height": 544, + "url": "https://lh3.googleusercontent.com/k7XKTGhcPukWgnh4wIYC3kPKAT4iRww2jXl1ES9zq-0OvRCxeOz1g2dBgdT2Qo3lQZnDb3FuwSbFWRw=w544-h544-l90-rj", + "width": 544 + } + ] + }, + "title": { + "runs": [ + { + "text": "Roller Coaster" + } + ] + }, + "trackingParams": "CN8BEMggGAoiEwit6biWyKT7AhXJ1REIHUs-Dtk=", + "videoId": "8JXc4idKS_c" + } + }, + { + "playlistPanelVideoRenderer": { + "canReorder": true, + "lengthText": { + "accessibility": { + "accessibilityData": { + "label": "2 minutes, 57 seconds" + } + }, + "runs": [ + { + "text": "2:57" + } + ] + }, + "longBylineText": { + "runs": [ + { + "navigationEndpoint": { + "browseEndpoint": { + "browseEndpointContextSupportedConfigs": { + "browseEndpointContextMusicConfig": { + "pageType": "MUSIC_PAGE_TYPE_ARTIST" + } + }, + "browseId": "UCArTAXmvvTohDgCsegudy4w" + }, + "clickTrackingParams": "CM4BEMggGAsiEwit6biWyKT7AhXJ1REIHUs-Dtk=" + }, + "text": "OH MY GIRL" + }, + { + "text": " • " + }, + { + "navigationEndpoint": { + "browseEndpoint": { + "browseEndpointContextSupportedConfigs": { + "browseEndpointContextMusicConfig": { + "pageType": "MUSIC_PAGE_TYPE_ALBUM" + } + }, + "browseId": "MPREb_e1z1ZkqvlqI" + }, + "clickTrackingParams": "CM4BEMggGAsiEwit6biWyKT7AhXJ1REIHUs-Dtk=" + }, + "text": "NONSTOP" + }, + { + "text": " • " + }, + { + "text": "2020" + } + ] + }, + "menu": { + "menuRenderer": { + "accessibility": { + "accessibilityData": { + "label": "Action menu" + } + }, + "items": [ + { + "menuNavigationItemRenderer": { + "icon": { + "iconType": "MIX" + }, + "navigationEndpoint": { + "clickTrackingParams": "CN4BEJvzBRgAIhMIrem4lsik-wIVydURCB1LPg7Z", + "watchEndpoint": { + "loggingContext": { + "vssLoggingContext": { + "serializedContextData": "GhFSREFNVk00SkpGcmprUnhtbw%3D%3D" + } + }, + "params": "wAEB", + "playlistId": "RDAMVM4JJFrjkRxmo", + "videoId": "4JJFrjkRxmo", + "watchEndpointMusicSupportedConfigs": { + "watchEndpointMusicConfig": { + "musicVideoType": "MUSIC_VIDEO_TYPE_ATV" + } + } + } + }, + "text": { + "runs": [ + { + "text": "Start radio" + } + ] + }, + "trackingParams": "CN4BEJvzBRgAIhMIrem4lsik-wIVydURCB1LPg7Z" + } + }, + { + "menuServiceItemRenderer": { + "icon": { + "iconType": "QUEUE_PLAY_NEXT" + }, + "serviceEndpoint": { + "clickTrackingParams": "CNwBEL7uBRgBIhMIrem4lsik-wIVydURCB1LPg7Z", + "queueAddEndpoint": { + "commands": [ + { + "addToToastAction": { + "item": { + "notificationTextRenderer": { + "successResponseText": { + "runs": [ + { + "text": "Song will play next" + } + ] + }, + "trackingParams": "CN0BEMrHAyITCK3puJbIpPsCFcnVEQgdSz4O2Q==" + } + } + }, + "clickTrackingParams": "CNwBEL7uBRgBIhMIrem4lsik-wIVydURCB1LPg7Z" + } + ], + "queueInsertPosition": "INSERT_AFTER_CURRENT_VIDEO", + "queueTarget": { + "videoId": "4JJFrjkRxmo" + } + } + }, + "text": { + "runs": [ + { + "text": "Play next" + } + ] + }, + "trackingParams": "CNwBEL7uBRgBIhMIrem4lsik-wIVydURCB1LPg7Z" + } + }, + { + "menuServiceItemRenderer": { + "icon": { + "iconType": "ADD_TO_REMOTE_QUEUE" + }, + "serviceEndpoint": { + "clickTrackingParams": "CNoBEPvvBRgCIhMIrem4lsik-wIVydURCB1LPg7Z", + "queueAddEndpoint": { + "commands": [ + { + "addToToastAction": { + "item": { + "notificationTextRenderer": { + "successResponseText": { + "runs": [ + { + "text": "Song added to queue" + } + ] + }, + "trackingParams": "CNsBEMrHAyITCK3puJbIpPsCFcnVEQgdSz4O2Q==" + } + } + }, + "clickTrackingParams": "CNoBEPvvBRgCIhMIrem4lsik-wIVydURCB1LPg7Z" + } + ], + "queueInsertPosition": "INSERT_AT_END", + "queueTarget": { + "videoId": "4JJFrjkRxmo" + } + } + }, + "text": { + "runs": [ + { + "text": "Add to queue" + } + ] + }, + "trackingParams": "CNoBEPvvBRgCIhMIrem4lsik-wIVydURCB1LPg7Z" + } + }, + { + "toggleMenuServiceItemRenderer": { + "defaultIcon": { + "iconType": "FAVORITE" + }, + "defaultServiceEndpoint": { + "clickTrackingParams": "CNgBEIyfBhgDIhMIrem4lsik-wIVydURCB1LPg7Z", + "modalEndpoint": { + "modal": { + "modalWithTitleAndButtonRenderer": { + "button": { + "buttonRenderer": { + "isDisabled": false, + "navigationEndpoint": { + "clickTrackingParams": "CNkBEPBbIhMIrem4lsik-wIVydURCB1LPg7Z", + "signInEndpoint": { + "hack": true + } + }, + "style": "STYLE_BLUE_TEXT", + "text": { + "runs": [ + { + "text": "Sign in" + } + ] + }, + "trackingParams": "CNkBEPBbIhMIrem4lsik-wIVydURCB1LPg7Z" + } + }, + "content": { + "runs": [ + { + "text": "Improve recommendations and save music after signing in" + } + ] + }, + "title": { + "runs": [ + { + "text": "Like this song" + } + ] + } + } + } + } + }, + "defaultText": { + "runs": [ + { + "text": "Add to liked songs" + } + ] + }, + "toggledIcon": { + "iconType": "UNFAVORITE" + }, + "toggledText": { + "runs": [ + { + "text": "Remove from liked songs" + } + ] + }, + "trackingParams": "CNgBEIyfBhgDIhMIrem4lsik-wIVydURCB1LPg7Z" + } + }, + { + "menuNavigationItemRenderer": { + "icon": { + "iconType": "ADD_TO_PLAYLIST" + }, + "navigationEndpoint": { + "clickTrackingParams": "CNYBEMOUBhgEIhMIrem4lsik-wIVydURCB1LPg7Z", + "modalEndpoint": { + "modal": { + "modalWithTitleAndButtonRenderer": { + "button": { + "buttonRenderer": { + "isDisabled": false, + "navigationEndpoint": { + "clickTrackingParams": "CNcBEPBbIhMIrem4lsik-wIVydURCB1LPg7Z", + "signInEndpoint": { + "hack": true + } + }, + "style": "STYLE_BLUE_TEXT", + "text": { + "runs": [ + { + "text": "Sign in" + } + ] + }, + "trackingParams": "CNcBEPBbIhMIrem4lsik-wIVydURCB1LPg7Z" + } + }, + "content": { + "runs": [ + { + "text": "Make playlists and share them after signing in" + } + ] + }, + "title": { + "runs": [ + { + "text": "Save this for later" + } + ] + } + } + } + } + }, + "text": { + "runs": [ + { + "text": "Add to playlist" + } + ] + }, + "trackingParams": "CNYBEMOUBhgEIhMIrem4lsik-wIVydURCB1LPg7Z" + } + }, + { + "menuServiceItemRenderer": { + "icon": { + "iconType": "REMOVE" + }, + "serviceEndpoint": { + "clickTrackingParams": "CNQBEOP7BRgFIhMIrem4lsik-wIVydURCB1LPg7Z", + "removeFromQueueEndpoint": { + "commands": [ + { + "addToToastAction": { + "item": { + "notificationTextRenderer": { + "successResponseText": { + "runs": [ + { + "text": "Item removed from queue" + } + ] + }, + "trackingParams": "CNUBEMrHAyITCK3puJbIpPsCFcnVEQgdSz4O2Q==" + } + } + }, + "clickTrackingParams": "CNQBEOP7BRgFIhMIrem4lsik-wIVydURCB1LPg7Z" + } + ], + "videoId": "4JJFrjkRxmo" + } + }, + "text": { + "runs": [ + { + "text": "Remove from queue" + } + ] + }, + "trackingParams": "CNQBEOP7BRgFIhMIrem4lsik-wIVydURCB1LPg7Z" + } + }, + { + "menuNavigationItemRenderer": { + "icon": { + "iconType": "ALBUM" + }, + "navigationEndpoint": { + "browseEndpoint": { + "browseEndpointContextSupportedConfigs": { + "browseEndpointContextMusicConfig": { + "pageType": "MUSIC_PAGE_TYPE_ALBUM" + } + }, + "browseId": "MPREb_e1z1ZkqvlqI" + }, + "clickTrackingParams": "CNMBEI_7BRgGIhMIrem4lsik-wIVydURCB1LPg7Z" + }, + "text": { + "runs": [ + { + "text": "Go to album" + } + ] + }, + "trackingParams": "CNMBEI_7BRgGIhMIrem4lsik-wIVydURCB1LPg7Z" + } + }, + { + "menuNavigationItemRenderer": { + "icon": { + "iconType": "ARTIST" + }, + "navigationEndpoint": { + "browseEndpoint": { + "browseEndpointContextSupportedConfigs": { + "browseEndpointContextMusicConfig": { + "pageType": "MUSIC_PAGE_TYPE_ARTIST" + } + }, + "browseId": "UCArTAXmvvTohDgCsegudy4w" + }, + "clickTrackingParams": "CNIBEJD7BRgHIhMIrem4lsik-wIVydURCB1LPg7Z" + }, + "text": { + "runs": [ + { + "text": "Go to artist" + } + ] + }, + "trackingParams": "CNIBEJD7BRgHIhMIrem4lsik-wIVydURCB1LPg7Z" + } + }, + { + "menuNavigationItemRenderer": { + "icon": { + "iconType": "SHARE" + }, + "navigationEndpoint": { + "clickTrackingParams": "CNEBEJH7BRgIIhMIrem4lsik-wIVydURCB1LPg7Z", + "shareEntityEndpoint": { + "serializedShareEntity": "Cgs0SkpGcmprUnhtbw%3D%3D", + "sharePanelType": "SHARE_PANEL_TYPE_UNIFIED_SHARE_PANEL" + } + }, + "text": { + "runs": [ + { + "text": "Share" + } + ] + }, + "trackingParams": "CNEBEJH7BRgIIhMIrem4lsik-wIVydURCB1LPg7Z" + } + }, + { + "menuServiceItemRenderer": { + "icon": { + "iconType": "FLAG" + }, + "serviceEndpoint": { + "clickTrackingParams": "CM8BEI32CRgJIhMIrem4lsik-wIVydURCB1LPg7Z", + "modalEndpoint": { + "modal": { + "modalWithTitleAndButtonRenderer": { + "button": { + "buttonRenderer": { + "isDisabled": false, + "navigationEndpoint": { + "clickTrackingParams": "CNABEPBbIhMIrem4lsik-wIVydURCB1LPg7Z", + "signInEndpoint": { + "hack": true + } + }, + "style": "STYLE_BLUE_TEXT", + "text": { + "runs": [ + { + "text": "Sign in" + } + ] + }, + "trackingParams": "CNABEPBbIhMIrem4lsik-wIVydURCB1LPg7Z" + } + }, + "content": { + "runs": [ + { + "text": "Sign in to report inappropriate content." + } + ] + }, + "title": { + "runs": [ + { + "text": "Need to report the video?" + } + ] + } + } + } + } + }, + "text": { + "runs": [ + { + "text": "Report" + } + ] + }, + "trackingParams": "CM8BEI32CRgJIhMIrem4lsik-wIVydURCB1LPg7Z" + } + } + ], + "trackingParams": "CM4BEMggGAsiEwit6biWyKT7AhXJ1REIHUs-Dtk=" + } + }, + "navigationEndpoint": { + "clickTrackingParams": "CM4BEMggGAsiEwit6biWyKT7AhXJ1REIHUs-DtkyA0JGYUjqjMfI47WRyeABmgEFCAwQ-B0=", + "watchEndpoint": { + "index": 12, + "loggingContext": { + "vssLoggingContext": { + "serializedContextData": "GhFSREFNVk03bmlnWFFTMVhiMA%3D%3D" + } + }, + "params": "OAHyAQQIAXgB", + "playlistId": "RDAMVM7nigXQS1Xb0", + "playlistSetVideoId": "984C584B086AA6D2", + "videoId": "4JJFrjkRxmo", + "watchEndpointMusicSupportedConfigs": { + "watchEndpointMusicConfig": { + "hasPersistentPlaylistPanel": true, + "musicVideoType": "MUSIC_VIDEO_TYPE_ATV" + } + } + } + }, + "playlistSetVideoId": "984C584B086AA6D2", + "selected": false, + "shortBylineText": { + "runs": [ + { + "text": "OH MY GIRL" + } + ] + }, + "thumbnail": { + "thumbnails": [ + { + "height": 60, + "url": "https://lh3.googleusercontent.com/C-tzB3wnaPBaIBM6KZUzfgVM-hIQeHF5PbRmV1IytmLvP8DQa_ja18Np42OsmazUV4VbJH1MYtT5_fsP=w60-h60-l90-rj", + "width": 60 + }, + { + "height": 120, + "url": "https://lh3.googleusercontent.com/C-tzB3wnaPBaIBM6KZUzfgVM-hIQeHF5PbRmV1IytmLvP8DQa_ja18Np42OsmazUV4VbJH1MYtT5_fsP=w120-h120-l90-rj", + "width": 120 + }, + { + "height": 180, + "url": "https://lh3.googleusercontent.com/C-tzB3wnaPBaIBM6KZUzfgVM-hIQeHF5PbRmV1IytmLvP8DQa_ja18Np42OsmazUV4VbJH1MYtT5_fsP=w180-h180-l90-rj", + "width": 180 + }, + { + "height": 226, + "url": "https://lh3.googleusercontent.com/C-tzB3wnaPBaIBM6KZUzfgVM-hIQeHF5PbRmV1IytmLvP8DQa_ja18Np42OsmazUV4VbJH1MYtT5_fsP=w226-h226-l90-rj", + "width": 226 + }, + { + "height": 302, + "url": "https://lh3.googleusercontent.com/C-tzB3wnaPBaIBM6KZUzfgVM-hIQeHF5PbRmV1IytmLvP8DQa_ja18Np42OsmazUV4VbJH1MYtT5_fsP=w302-h302-l90-rj", + "width": 302 + }, + { + "height": 544, + "url": "https://lh3.googleusercontent.com/C-tzB3wnaPBaIBM6KZUzfgVM-hIQeHF5PbRmV1IytmLvP8DQa_ja18Np42OsmazUV4VbJH1MYtT5_fsP=w544-h544-l90-rj", + "width": 544 + } + ] + }, + "title": { + "runs": [ + { + "text": "Dolphin" + } + ] + }, + "trackingParams": "CM4BEMggGAsiEwit6biWyKT7AhXJ1REIHUs-Dtk=", + "videoId": "4JJFrjkRxmo" + } + }, + { + "playlistPanelVideoRenderer": { + "canReorder": true, + "lengthText": { + "accessibility": { + "accessibilityData": { + "label": "2 minutes, 59 seconds" + } + }, + "runs": [ + { + "text": "2:59" + } + ] + }, + "longBylineText": { + "runs": [ + { + "navigationEndpoint": { + "browseEndpoint": { + "browseEndpointContextSupportedConfigs": { + "browseEndpointContextMusicConfig": { + "pageType": "MUSIC_PAGE_TYPE_ARTIST" + } + }, + "browseId": "UC_4Y1QqJr60C5Z7-eQWy-mw" + }, + "clickTrackingParams": "CL0BEMggGAwiEwit6biWyKT7AhXJ1REIHUs-Dtk=" + }, + "text": "IVE" + }, + { + "text": " • " + }, + { + "navigationEndpoint": { + "browseEndpoint": { + "browseEndpointContextSupportedConfigs": { + "browseEndpointContextMusicConfig": { + "pageType": "MUSIC_PAGE_TYPE_ALBUM" + } + }, + "browseId": "MPREb_rixnYPvwDRK" + }, + "clickTrackingParams": "CL0BEMggGAwiEwit6biWyKT7AhXJ1REIHUs-Dtk=" + }, + "text": "ELEVEN (ELEVEN)" + }, + { + "text": " • " + }, + { + "text": "2021" + } + ] + }, + "menu": { + "menuRenderer": { + "accessibility": { + "accessibilityData": { + "label": "Action menu" + } + }, + "items": [ + { + "menuNavigationItemRenderer": { + "icon": { + "iconType": "MIX" + }, + "navigationEndpoint": { + "clickTrackingParams": "CM0BEJvzBRgAIhMIrem4lsik-wIVydURCB1LPg7Z", + "watchEndpoint": { + "loggingContext": { + "vssLoggingContext": { + "serializedContextData": "GhFSREFNVk0wRUtfTTJ0YVJJTQ%3D%3D" + } + }, + "params": "wAEB", + "playlistId": "RDAMVM0EK_M2taRIM", + "videoId": "0EK_M2taRIM", + "watchEndpointMusicSupportedConfigs": { + "watchEndpointMusicConfig": { + "musicVideoType": "MUSIC_VIDEO_TYPE_ATV" + } + } + } + }, + "text": { + "runs": [ + { + "text": "Start radio" + } + ] + }, + "trackingParams": "CM0BEJvzBRgAIhMIrem4lsik-wIVydURCB1LPg7Z" + } + }, + { + "menuServiceItemRenderer": { + "icon": { + "iconType": "QUEUE_PLAY_NEXT" + }, + "serviceEndpoint": { + "clickTrackingParams": "CMsBEL7uBRgBIhMIrem4lsik-wIVydURCB1LPg7Z", + "queueAddEndpoint": { + "commands": [ + { + "addToToastAction": { + "item": { + "notificationTextRenderer": { + "successResponseText": { + "runs": [ + { + "text": "Song will play next" + } + ] + }, + "trackingParams": "CMwBEMrHAyITCK3puJbIpPsCFcnVEQgdSz4O2Q==" + } + } + }, + "clickTrackingParams": "CMsBEL7uBRgBIhMIrem4lsik-wIVydURCB1LPg7Z" + } + ], + "queueInsertPosition": "INSERT_AFTER_CURRENT_VIDEO", + "queueTarget": { + "videoId": "0EK_M2taRIM" + } + } + }, + "text": { + "runs": [ + { + "text": "Play next" + } + ] + }, + "trackingParams": "CMsBEL7uBRgBIhMIrem4lsik-wIVydURCB1LPg7Z" + } + }, + { + "menuServiceItemRenderer": { + "icon": { + "iconType": "ADD_TO_REMOTE_QUEUE" + }, + "serviceEndpoint": { + "clickTrackingParams": "CMkBEPvvBRgCIhMIrem4lsik-wIVydURCB1LPg7Z", + "queueAddEndpoint": { + "commands": [ + { + "addToToastAction": { + "item": { + "notificationTextRenderer": { + "successResponseText": { + "runs": [ + { + "text": "Song added to queue" + } + ] + }, + "trackingParams": "CMoBEMrHAyITCK3puJbIpPsCFcnVEQgdSz4O2Q==" + } + } + }, + "clickTrackingParams": "CMkBEPvvBRgCIhMIrem4lsik-wIVydURCB1LPg7Z" + } + ], + "queueInsertPosition": "INSERT_AT_END", + "queueTarget": { + "videoId": "0EK_M2taRIM" + } + } + }, + "text": { + "runs": [ + { + "text": "Add to queue" + } + ] + }, + "trackingParams": "CMkBEPvvBRgCIhMIrem4lsik-wIVydURCB1LPg7Z" + } + }, + { + "toggleMenuServiceItemRenderer": { + "defaultIcon": { + "iconType": "FAVORITE" + }, + "defaultServiceEndpoint": { + "clickTrackingParams": "CMcBEIyfBhgDIhMIrem4lsik-wIVydURCB1LPg7Z", + "modalEndpoint": { + "modal": { + "modalWithTitleAndButtonRenderer": { + "button": { + "buttonRenderer": { + "isDisabled": false, + "navigationEndpoint": { + "clickTrackingParams": "CMgBEPBbIhMIrem4lsik-wIVydURCB1LPg7Z", + "signInEndpoint": { + "hack": true + } + }, + "style": "STYLE_BLUE_TEXT", + "text": { + "runs": [ + { + "text": "Sign in" + } + ] + }, + "trackingParams": "CMgBEPBbIhMIrem4lsik-wIVydURCB1LPg7Z" + } + }, + "content": { + "runs": [ + { + "text": "Improve recommendations and save music after signing in" + } + ] + }, + "title": { + "runs": [ + { + "text": "Like this song" + } + ] + } + } + } + } + }, + "defaultText": { + "runs": [ + { + "text": "Add to liked songs" + } + ] + }, + "toggledIcon": { + "iconType": "UNFAVORITE" + }, + "toggledText": { + "runs": [ + { + "text": "Remove from liked songs" + } + ] + }, + "trackingParams": "CMcBEIyfBhgDIhMIrem4lsik-wIVydURCB1LPg7Z" + } + }, + { + "menuNavigationItemRenderer": { + "icon": { + "iconType": "ADD_TO_PLAYLIST" + }, + "navigationEndpoint": { + "clickTrackingParams": "CMUBEMOUBhgEIhMIrem4lsik-wIVydURCB1LPg7Z", + "modalEndpoint": { + "modal": { + "modalWithTitleAndButtonRenderer": { + "button": { + "buttonRenderer": { + "isDisabled": false, + "navigationEndpoint": { + "clickTrackingParams": "CMYBEPBbIhMIrem4lsik-wIVydURCB1LPg7Z", + "signInEndpoint": { + "hack": true + } + }, + "style": "STYLE_BLUE_TEXT", + "text": { + "runs": [ + { + "text": "Sign in" + } + ] + }, + "trackingParams": "CMYBEPBbIhMIrem4lsik-wIVydURCB1LPg7Z" + } + }, + "content": { + "runs": [ + { + "text": "Make playlists and share them after signing in" + } + ] + }, + "title": { + "runs": [ + { + "text": "Save this for later" + } + ] + } + } + } + } + }, + "text": { + "runs": [ + { + "text": "Add to playlist" + } + ] + }, + "trackingParams": "CMUBEMOUBhgEIhMIrem4lsik-wIVydURCB1LPg7Z" + } + }, + { + "menuServiceItemRenderer": { + "icon": { + "iconType": "REMOVE" + }, + "serviceEndpoint": { + "clickTrackingParams": "CMMBEOP7BRgFIhMIrem4lsik-wIVydURCB1LPg7Z", + "removeFromQueueEndpoint": { + "commands": [ + { + "addToToastAction": { + "item": { + "notificationTextRenderer": { + "successResponseText": { + "runs": [ + { + "text": "Item removed from queue" + } + ] + }, + "trackingParams": "CMQBEMrHAyITCK3puJbIpPsCFcnVEQgdSz4O2Q==" + } + } + }, + "clickTrackingParams": "CMMBEOP7BRgFIhMIrem4lsik-wIVydURCB1LPg7Z" + } + ], + "videoId": "0EK_M2taRIM" + } + }, + "text": { + "runs": [ + { + "text": "Remove from queue" + } + ] + }, + "trackingParams": "CMMBEOP7BRgFIhMIrem4lsik-wIVydURCB1LPg7Z" + } + }, + { + "menuNavigationItemRenderer": { + "icon": { + "iconType": "ALBUM" + }, + "navigationEndpoint": { + "browseEndpoint": { + "browseEndpointContextSupportedConfigs": { + "browseEndpointContextMusicConfig": { + "pageType": "MUSIC_PAGE_TYPE_ALBUM" + } + }, + "browseId": "MPREb_rixnYPvwDRK" + }, + "clickTrackingParams": "CMIBEI_7BRgGIhMIrem4lsik-wIVydURCB1LPg7Z" + }, + "text": { + "runs": [ + { + "text": "Go to album" + } + ] + }, + "trackingParams": "CMIBEI_7BRgGIhMIrem4lsik-wIVydURCB1LPg7Z" + } + }, + { + "menuNavigationItemRenderer": { + "icon": { + "iconType": "ARTIST" + }, + "navigationEndpoint": { + "browseEndpoint": { + "browseEndpointContextSupportedConfigs": { + "browseEndpointContextMusicConfig": { + "pageType": "MUSIC_PAGE_TYPE_ARTIST" + } + }, + "browseId": "UC_4Y1QqJr60C5Z7-eQWy-mw" + }, + "clickTrackingParams": "CMEBEJD7BRgHIhMIrem4lsik-wIVydURCB1LPg7Z" + }, + "text": { + "runs": [ + { + "text": "Go to artist" + } + ] + }, + "trackingParams": "CMEBEJD7BRgHIhMIrem4lsik-wIVydURCB1LPg7Z" + } + }, + { + "menuNavigationItemRenderer": { + "icon": { + "iconType": "SHARE" + }, + "navigationEndpoint": { + "clickTrackingParams": "CMABEJH7BRgIIhMIrem4lsik-wIVydURCB1LPg7Z", + "shareEntityEndpoint": { + "serializedShareEntity": "CgswRUtfTTJ0YVJJTQ%3D%3D", + "sharePanelType": "SHARE_PANEL_TYPE_UNIFIED_SHARE_PANEL" + } + }, + "text": { + "runs": [ + { + "text": "Share" + } + ] + }, + "trackingParams": "CMABEJH7BRgIIhMIrem4lsik-wIVydURCB1LPg7Z" + } + }, + { + "menuServiceItemRenderer": { + "icon": { + "iconType": "FLAG" + }, + "serviceEndpoint": { + "clickTrackingParams": "CL4BEI32CRgJIhMIrem4lsik-wIVydURCB1LPg7Z", + "modalEndpoint": { + "modal": { + "modalWithTitleAndButtonRenderer": { + "button": { + "buttonRenderer": { + "isDisabled": false, + "navigationEndpoint": { + "clickTrackingParams": "CL8BEPBbIhMIrem4lsik-wIVydURCB1LPg7Z", + "signInEndpoint": { + "hack": true + } + }, + "style": "STYLE_BLUE_TEXT", + "text": { + "runs": [ + { + "text": "Sign in" + } + ] + }, + "trackingParams": "CL8BEPBbIhMIrem4lsik-wIVydURCB1LPg7Z" + } + }, + "content": { + "runs": [ + { + "text": "Sign in to report inappropriate content." + } + ] + }, + "title": { + "runs": [ + { + "text": "Need to report the video?" + } + ] + } + } + } + } + }, + "text": { + "runs": [ + { + "text": "Report" + } + ] + }, + "trackingParams": "CL4BEI32CRgJIhMIrem4lsik-wIVydURCB1LPg7Z" + } + } + ], + "trackingParams": "CL0BEMggGAwiEwit6biWyKT7AhXJ1REIHUs-Dtk=" + } + }, + "navigationEndpoint": { + "clickTrackingParams": "CL0BEMggGAwiEwit6biWyKT7AhXJ1REIHUs-DtkyA0JGYUiDienatuavodABmgEFCAwQ-B0=", + "watchEndpoint": { + "index": 13, + "loggingContext": { + "vssLoggingContext": { + "serializedContextData": "GhFSREFNVk03bmlnWFFTMVhiMA%3D%3D" + } + }, + "params": "OAHyAQQIAXgB", + "playlistId": "RDAMVM7nigXQS1Xb0", + "playlistSetVideoId": "30892D90EC0C5586", + "videoId": "0EK_M2taRIM", + "watchEndpointMusicSupportedConfigs": { + "watchEndpointMusicConfig": { + "hasPersistentPlaylistPanel": true, + "musicVideoType": "MUSIC_VIDEO_TYPE_ATV" + } + } + } + }, + "playlistSetVideoId": "30892D90EC0C5586", + "selected": false, + "shortBylineText": { + "runs": [ + { + "text": "IVE" + } + ] + }, + "thumbnail": { + "thumbnails": [ + { + "height": 60, + "url": "https://lh3.googleusercontent.com/w7NKHn3YWR_KDK2ayPiZ7ZPQyTIkGZfP1axwKWF53lfWHMXtBnCE--Yh0w0jBcwol2zNvEqgndWJYLLZ=w60-h60-l90-rj", + "width": 60 + }, + { + "height": 120, + "url": "https://lh3.googleusercontent.com/w7NKHn3YWR_KDK2ayPiZ7ZPQyTIkGZfP1axwKWF53lfWHMXtBnCE--Yh0w0jBcwol2zNvEqgndWJYLLZ=w120-h120-l90-rj", + "width": 120 + }, + { + "height": 180, + "url": "https://lh3.googleusercontent.com/w7NKHn3YWR_KDK2ayPiZ7ZPQyTIkGZfP1axwKWF53lfWHMXtBnCE--Yh0w0jBcwol2zNvEqgndWJYLLZ=w180-h180-l90-rj", + "width": 180 + }, + { + "height": 226, + "url": "https://lh3.googleusercontent.com/w7NKHn3YWR_KDK2ayPiZ7ZPQyTIkGZfP1axwKWF53lfWHMXtBnCE--Yh0w0jBcwol2zNvEqgndWJYLLZ=w226-h226-l90-rj", + "width": 226 + }, + { + "height": 302, + "url": "https://lh3.googleusercontent.com/w7NKHn3YWR_KDK2ayPiZ7ZPQyTIkGZfP1axwKWF53lfWHMXtBnCE--Yh0w0jBcwol2zNvEqgndWJYLLZ=w302-h302-l90-rj", + "width": 302 + }, + { + "height": 544, + "url": "https://lh3.googleusercontent.com/w7NKHn3YWR_KDK2ayPiZ7ZPQyTIkGZfP1axwKWF53lfWHMXtBnCE--Yh0w0jBcwol2zNvEqgndWJYLLZ=w544-h544-l90-rj", + "width": 544 + } + ] + }, + "title": { + "runs": [ + { + "text": "ELEVEN (ELEVEN)" + } + ] + }, + "trackingParams": "CL0BEMggGAwiEwit6biWyKT7AhXJ1REIHUs-Dtk=", + "videoId": "0EK_M2taRIM" + } + }, + { + "playlistPanelVideoRenderer": { + "canReorder": true, + "lengthText": { + "accessibility": { + "accessibilityData": { + "label": "3 minutes, 35 seconds" + } + }, + "runs": [ + { + "text": "3:35" + } + ] + }, + "longBylineText": { + "runs": [ + { + "navigationEndpoint": { + "browseEndpoint": { + "browseEndpointContextSupportedConfigs": { + "browseEndpointContextMusicConfig": { + "pageType": "MUSIC_PAGE_TYPE_ARTIST" + } + }, + "browseId": "UCTUR0sVEkD8T5MlSHqgaI_Q" + }, + "clickTrackingParams": "CKwBEMggGA0iEwit6biWyKT7AhXJ1REIHUs-Dtk=" + }, + "text": "IU" + }, + { + "text": " • " + }, + { + "navigationEndpoint": { + "browseEndpoint": { + "browseEndpointContextSupportedConfigs": { + "browseEndpointContextMusicConfig": { + "pageType": "MUSIC_PAGE_TYPE_ALBUM" + } + }, + "browseId": "MPREb_iG5q5DIdhdA" + }, + "clickTrackingParams": "CKwBEMggGA0iEwit6biWyKT7AhXJ1REIHUs-Dtk=" + }, + "text": "IU 5th Album 'LILAC' (IU 5th Album 'LILAC')" + }, + { + "text": " • " + }, + { + "text": "2021" + } + ] + }, + "menu": { + "menuRenderer": { + "accessibility": { + "accessibilityData": { + "label": "Action menu" + } + }, + "items": [ + { + "menuNavigationItemRenderer": { + "icon": { + "iconType": "MIX" + }, + "navigationEndpoint": { + "clickTrackingParams": "CLwBEJvzBRgAIhMIrem4lsik-wIVydURCB1LPg7Z", + "watchEndpoint": { + "loggingContext": { + "vssLoggingContext": { + "serializedContextData": "GhFSREFNVk0wNHRZa0tVUFB2NA%3D%3D" + } + }, + "params": "wAEB", + "playlistId": "RDAMVM04tYkKUPPv4", + "videoId": "04tYkKUPPv4", + "watchEndpointMusicSupportedConfigs": { + "watchEndpointMusicConfig": { + "musicVideoType": "MUSIC_VIDEO_TYPE_ATV" + } + } + } + }, + "text": { + "runs": [ + { + "text": "Start radio" + } + ] + }, + "trackingParams": "CLwBEJvzBRgAIhMIrem4lsik-wIVydURCB1LPg7Z" + } + }, + { + "menuServiceItemRenderer": { + "icon": { + "iconType": "QUEUE_PLAY_NEXT" + }, + "serviceEndpoint": { + "clickTrackingParams": "CLoBEL7uBRgBIhMIrem4lsik-wIVydURCB1LPg7Z", + "queueAddEndpoint": { + "commands": [ + { + "addToToastAction": { + "item": { + "notificationTextRenderer": { + "successResponseText": { + "runs": [ + { + "text": "Song will play next" + } + ] + }, + "trackingParams": "CLsBEMrHAyITCK3puJbIpPsCFcnVEQgdSz4O2Q==" + } + } + }, + "clickTrackingParams": "CLoBEL7uBRgBIhMIrem4lsik-wIVydURCB1LPg7Z" + } + ], + "queueInsertPosition": "INSERT_AFTER_CURRENT_VIDEO", + "queueTarget": { + "videoId": "04tYkKUPPv4" + } + } + }, + "text": { + "runs": [ + { + "text": "Play next" + } + ] + }, + "trackingParams": "CLoBEL7uBRgBIhMIrem4lsik-wIVydURCB1LPg7Z" + } + }, + { + "menuServiceItemRenderer": { + "icon": { + "iconType": "ADD_TO_REMOTE_QUEUE" + }, + "serviceEndpoint": { + "clickTrackingParams": "CLgBEPvvBRgCIhMIrem4lsik-wIVydURCB1LPg7Z", + "queueAddEndpoint": { + "commands": [ + { + "addToToastAction": { + "item": { + "notificationTextRenderer": { + "successResponseText": { + "runs": [ + { + "text": "Song added to queue" + } + ] + }, + "trackingParams": "CLkBEMrHAyITCK3puJbIpPsCFcnVEQgdSz4O2Q==" + } + } + }, + "clickTrackingParams": "CLgBEPvvBRgCIhMIrem4lsik-wIVydURCB1LPg7Z" + } + ], + "queueInsertPosition": "INSERT_AT_END", + "queueTarget": { + "videoId": "04tYkKUPPv4" + } + } + }, + "text": { + "runs": [ + { + "text": "Add to queue" + } + ] + }, + "trackingParams": "CLgBEPvvBRgCIhMIrem4lsik-wIVydURCB1LPg7Z" + } + }, + { + "toggleMenuServiceItemRenderer": { + "defaultIcon": { + "iconType": "FAVORITE" + }, + "defaultServiceEndpoint": { + "clickTrackingParams": "CLYBEIyfBhgDIhMIrem4lsik-wIVydURCB1LPg7Z", + "modalEndpoint": { + "modal": { + "modalWithTitleAndButtonRenderer": { + "button": { + "buttonRenderer": { + "isDisabled": false, + "navigationEndpoint": { + "clickTrackingParams": "CLcBEPBbIhMIrem4lsik-wIVydURCB1LPg7Z", + "signInEndpoint": { + "hack": true + } + }, + "style": "STYLE_BLUE_TEXT", + "text": { + "runs": [ + { + "text": "Sign in" + } + ] + }, + "trackingParams": "CLcBEPBbIhMIrem4lsik-wIVydURCB1LPg7Z" + } + }, + "content": { + "runs": [ + { + "text": "Improve recommendations and save music after signing in" + } + ] + }, + "title": { + "runs": [ + { + "text": "Like this song" + } + ] + } + } + } + } + }, + "defaultText": { + "runs": [ + { + "text": "Add to liked songs" + } + ] + }, + "toggledIcon": { + "iconType": "UNFAVORITE" + }, + "toggledText": { + "runs": [ + { + "text": "Remove from liked songs" + } + ] + }, + "trackingParams": "CLYBEIyfBhgDIhMIrem4lsik-wIVydURCB1LPg7Z" + } + }, + { + "menuNavigationItemRenderer": { + "icon": { + "iconType": "ADD_TO_PLAYLIST" + }, + "navigationEndpoint": { + "clickTrackingParams": "CLQBEMOUBhgEIhMIrem4lsik-wIVydURCB1LPg7Z", + "modalEndpoint": { + "modal": { + "modalWithTitleAndButtonRenderer": { + "button": { + "buttonRenderer": { + "isDisabled": false, + "navigationEndpoint": { + "clickTrackingParams": "CLUBEPBbIhMIrem4lsik-wIVydURCB1LPg7Z", + "signInEndpoint": { + "hack": true + } + }, + "style": "STYLE_BLUE_TEXT", + "text": { + "runs": [ + { + "text": "Sign in" + } + ] + }, + "trackingParams": "CLUBEPBbIhMIrem4lsik-wIVydURCB1LPg7Z" + } + }, + "content": { + "runs": [ + { + "text": "Make playlists and share them after signing in" + } + ] + }, + "title": { + "runs": [ + { + "text": "Save this for later" + } + ] + } + } + } + } + }, + "text": { + "runs": [ + { + "text": "Add to playlist" + } + ] + }, + "trackingParams": "CLQBEMOUBhgEIhMIrem4lsik-wIVydURCB1LPg7Z" + } + }, + { + "menuServiceItemRenderer": { + "icon": { + "iconType": "REMOVE" + }, + "serviceEndpoint": { + "clickTrackingParams": "CLIBEOP7BRgFIhMIrem4lsik-wIVydURCB1LPg7Z", + "removeFromQueueEndpoint": { + "commands": [ + { + "addToToastAction": { + "item": { + "notificationTextRenderer": { + "successResponseText": { + "runs": [ + { + "text": "Item removed from queue" + } + ] + }, + "trackingParams": "CLMBEMrHAyITCK3puJbIpPsCFcnVEQgdSz4O2Q==" + } + } + }, + "clickTrackingParams": "CLIBEOP7BRgFIhMIrem4lsik-wIVydURCB1LPg7Z" + } + ], + "videoId": "04tYkKUPPv4" + } + }, + "text": { + "runs": [ + { + "text": "Remove from queue" + } + ] + }, + "trackingParams": "CLIBEOP7BRgFIhMIrem4lsik-wIVydURCB1LPg7Z" + } + }, + { + "menuNavigationItemRenderer": { + "icon": { + "iconType": "ALBUM" + }, + "navigationEndpoint": { + "browseEndpoint": { + "browseEndpointContextSupportedConfigs": { + "browseEndpointContextMusicConfig": { + "pageType": "MUSIC_PAGE_TYPE_ALBUM" + } + }, + "browseId": "MPREb_iG5q5DIdhdA" + }, + "clickTrackingParams": "CLEBEI_7BRgGIhMIrem4lsik-wIVydURCB1LPg7Z" + }, + "text": { + "runs": [ + { + "text": "Go to album" + } + ] + }, + "trackingParams": "CLEBEI_7BRgGIhMIrem4lsik-wIVydURCB1LPg7Z" + } + }, + { + "menuNavigationItemRenderer": { + "icon": { + "iconType": "ARTIST" + }, + "navigationEndpoint": { + "browseEndpoint": { + "browseEndpointContextSupportedConfigs": { + "browseEndpointContextMusicConfig": { + "pageType": "MUSIC_PAGE_TYPE_ARTIST" + } + }, + "browseId": "UCTUR0sVEkD8T5MlSHqgaI_Q" + }, + "clickTrackingParams": "CLABEJD7BRgHIhMIrem4lsik-wIVydURCB1LPg7Z" + }, + "text": { + "runs": [ + { + "text": "Go to artist" + } + ] + }, + "trackingParams": "CLABEJD7BRgHIhMIrem4lsik-wIVydURCB1LPg7Z" + } + }, + { + "menuNavigationItemRenderer": { + "icon": { + "iconType": "SHARE" + }, + "navigationEndpoint": { + "clickTrackingParams": "CK8BEJH7BRgIIhMIrem4lsik-wIVydURCB1LPg7Z", + "shareEntityEndpoint": { + "serializedShareEntity": "CgswNHRZa0tVUFB2NA%3D%3D", + "sharePanelType": "SHARE_PANEL_TYPE_UNIFIED_SHARE_PANEL" + } + }, + "text": { + "runs": [ + { + "text": "Share" + } + ] + }, + "trackingParams": "CK8BEJH7BRgIIhMIrem4lsik-wIVydURCB1LPg7Z" + } + }, + { + "menuServiceItemRenderer": { + "icon": { + "iconType": "FLAG" + }, + "serviceEndpoint": { + "clickTrackingParams": "CK0BEI32CRgJIhMIrem4lsik-wIVydURCB1LPg7Z", + "modalEndpoint": { + "modal": { + "modalWithTitleAndButtonRenderer": { + "button": { + "buttonRenderer": { + "isDisabled": false, + "navigationEndpoint": { + "clickTrackingParams": "CK4BEPBbIhMIrem4lsik-wIVydURCB1LPg7Z", + "signInEndpoint": { + "hack": true + } + }, + "style": "STYLE_BLUE_TEXT", + "text": { + "runs": [ + { + "text": "Sign in" + } + ] + }, + "trackingParams": "CK4BEPBbIhMIrem4lsik-wIVydURCB1LPg7Z" + } + }, + "content": { + "runs": [ + { + "text": "Sign in to report inappropriate content." + } + ] + }, + "title": { + "runs": [ + { + "text": "Need to report the video?" + } + ] + } + } + } + } + }, + "text": { + "runs": [ + { + "text": "Report" + } + ] + }, + "trackingParams": "CK0BEI32CRgJIhMIrem4lsik-wIVydURCB1LPg7Z" + } + } + ], + "trackingParams": "CKwBEMggGA0iEwit6biWyKT7AhXJ1REIHUs-Dtk=" + } + }, + "navigationEndpoint": { + "clickTrackingParams": "CKwBEMggGA0iEwit6biWyKT7AhXJ1REIHUs-DtkyA0JGYUj-_byoipLWxdMBmgEFCAwQ-B0=", + "watchEndpoint": { + "index": 14, + "loggingContext": { + "vssLoggingContext": { + "serializedContextData": "GhFSREFNVk03bmlnWFFTMVhiMA%3D%3D" + } + }, + "params": "OAHyAQQIAXgB", + "playlistId": "RDAMVM7nigXQS1Xb0", + "playlistSetVideoId": "5396A0119349808E", + "videoId": "04tYkKUPPv4", + "watchEndpointMusicSupportedConfigs": { + "watchEndpointMusicConfig": { + "hasPersistentPlaylistPanel": true, + "musicVideoType": "MUSIC_VIDEO_TYPE_ATV" + } + } + } + }, + "playlistSetVideoId": "5396A0119349808E", + "selected": false, + "shortBylineText": { + "runs": [ + { + "text": "IU" + } + ] + }, + "thumbnail": { + "thumbnails": [ + { + "height": 60, + "url": "https://lh3.googleusercontent.com/-tdq58fAgaawQcx744mZUP67379plUJcWvzPSyfRy305ZmNcYii54WboN9OBa4I-cEdzu7u5yW4nSFlBQA=w60-h60-l90-rj", + "width": 60 + }, + { + "height": 120, + "url": "https://lh3.googleusercontent.com/-tdq58fAgaawQcx744mZUP67379plUJcWvzPSyfRy305ZmNcYii54WboN9OBa4I-cEdzu7u5yW4nSFlBQA=w120-h120-l90-rj", + "width": 120 + }, + { + "height": 180, + "url": "https://lh3.googleusercontent.com/-tdq58fAgaawQcx744mZUP67379plUJcWvzPSyfRy305ZmNcYii54WboN9OBa4I-cEdzu7u5yW4nSFlBQA=w180-h180-l90-rj", + "width": 180 + }, + { + "height": 226, + "url": "https://lh3.googleusercontent.com/-tdq58fAgaawQcx744mZUP67379plUJcWvzPSyfRy305ZmNcYii54WboN9OBa4I-cEdzu7u5yW4nSFlBQA=w226-h226-l90-rj", + "width": 226 + }, + { + "height": 302, + "url": "https://lh3.googleusercontent.com/-tdq58fAgaawQcx744mZUP67379plUJcWvzPSyfRy305ZmNcYii54WboN9OBa4I-cEdzu7u5yW4nSFlBQA=w302-h302-l90-rj", + "width": 302 + }, + { + "height": 544, + "url": "https://lh3.googleusercontent.com/-tdq58fAgaawQcx744mZUP67379plUJcWvzPSyfRy305ZmNcYii54WboN9OBa4I-cEdzu7u5yW4nSFlBQA=w544-h544-l90-rj", + "width": 544 + } + ] + }, + "title": { + "runs": [ + { + "text": "LILAC (라일락)" + } + ] + }, + "trackingParams": "CKwBEMggGA0iEwit6biWyKT7AhXJ1REIHUs-Dtk=", + "videoId": "04tYkKUPPv4" + } + }, + { + "playlistPanelVideoRenderer": { + "canReorder": true, + "lengthText": { + "accessibility": { + "accessibilityData": { + "label": "3 minutes, 34 seconds" + } + }, + "runs": [ + { + "text": "3:34" + } + ] + }, + "longBylineText": { + "runs": [ + { + "navigationEndpoint": { + "browseEndpoint": { + "browseEndpointContextSupportedConfigs": { + "browseEndpointContextMusicConfig": { + "pageType": "MUSIC_PAGE_TYPE_ARTIST" + } + }, + "browseId": "UCwc9eSwp1MAoToS9QUTRpDw" + }, + "clickTrackingParams": "CJsBEMggGA4iEwit6biWyKT7AhXJ1REIHUs-Dtk=" + }, + "text": "STAYC" + }, + { + "text": " • " + }, + { + "navigationEndpoint": { + "browseEndpoint": { + "browseEndpointContextSupportedConfigs": { + "browseEndpointContextMusicConfig": { + "pageType": "MUSIC_PAGE_TYPE_ALBUM" + } + }, + "browseId": "MPREb_9FuQjxTIQtE" + }, + "clickTrackingParams": "CJsBEMggGA4iEwit6biWyKT7AhXJ1REIHUs-Dtk=" + }, + "text": "YOUNG-LUV.COM (YOUNG-LUV.COM)" + }, + { + "text": " • " + }, + { + "text": "2022" + } + ] + }, + "menu": { + "menuRenderer": { + "accessibility": { + "accessibilityData": { + "label": "Action menu" + } + }, + "items": [ + { + "menuNavigationItemRenderer": { + "icon": { + "iconType": "MIX" + }, + "navigationEndpoint": { + "clickTrackingParams": "CKsBEJvzBRgAIhMIrem4lsik-wIVydURCB1LPg7Z", + "watchEndpoint": { + "loggingContext": { + "vssLoggingContext": { + "serializedContextData": "GhFSREFNVk1XMHg3R2Naa3ZINA%3D%3D" + } + }, + "params": "wAEB", + "playlistId": "RDAMVMW0x7GcZkvH4", + "videoId": "W0x7GcZkvH4", + "watchEndpointMusicSupportedConfigs": { + "watchEndpointMusicConfig": { + "musicVideoType": "MUSIC_VIDEO_TYPE_ATV" + } + } + } + }, + "text": { + "runs": [ + { + "text": "Start radio" + } + ] + }, + "trackingParams": "CKsBEJvzBRgAIhMIrem4lsik-wIVydURCB1LPg7Z" + } + }, + { + "menuServiceItemRenderer": { + "icon": { + "iconType": "QUEUE_PLAY_NEXT" + }, + "serviceEndpoint": { + "clickTrackingParams": "CKkBEL7uBRgBIhMIrem4lsik-wIVydURCB1LPg7Z", + "queueAddEndpoint": { + "commands": [ + { + "addToToastAction": { + "item": { + "notificationTextRenderer": { + "successResponseText": { + "runs": [ + { + "text": "Song will play next" + } + ] + }, + "trackingParams": "CKoBEMrHAyITCK3puJbIpPsCFcnVEQgdSz4O2Q==" + } + } + }, + "clickTrackingParams": "CKkBEL7uBRgBIhMIrem4lsik-wIVydURCB1LPg7Z" + } + ], + "queueInsertPosition": "INSERT_AFTER_CURRENT_VIDEO", + "queueTarget": { + "videoId": "W0x7GcZkvH4" + } + } + }, + "text": { + "runs": [ + { + "text": "Play next" + } + ] + }, + "trackingParams": "CKkBEL7uBRgBIhMIrem4lsik-wIVydURCB1LPg7Z" + } + }, + { + "menuServiceItemRenderer": { + "icon": { + "iconType": "ADD_TO_REMOTE_QUEUE" + }, + "serviceEndpoint": { + "clickTrackingParams": "CKcBEPvvBRgCIhMIrem4lsik-wIVydURCB1LPg7Z", + "queueAddEndpoint": { + "commands": [ + { + "addToToastAction": { + "item": { + "notificationTextRenderer": { + "successResponseText": { + "runs": [ + { + "text": "Song added to queue" + } + ] + }, + "trackingParams": "CKgBEMrHAyITCK3puJbIpPsCFcnVEQgdSz4O2Q==" + } + } + }, + "clickTrackingParams": "CKcBEPvvBRgCIhMIrem4lsik-wIVydURCB1LPg7Z" + } + ], + "queueInsertPosition": "INSERT_AT_END", + "queueTarget": { + "videoId": "W0x7GcZkvH4" + } + } + }, + "text": { + "runs": [ + { + "text": "Add to queue" + } + ] + }, + "trackingParams": "CKcBEPvvBRgCIhMIrem4lsik-wIVydURCB1LPg7Z" + } + }, + { + "toggleMenuServiceItemRenderer": { + "defaultIcon": { + "iconType": "FAVORITE" + }, + "defaultServiceEndpoint": { + "clickTrackingParams": "CKUBEIyfBhgDIhMIrem4lsik-wIVydURCB1LPg7Z", + "modalEndpoint": { + "modal": { + "modalWithTitleAndButtonRenderer": { + "button": { + "buttonRenderer": { + "isDisabled": false, + "navigationEndpoint": { + "clickTrackingParams": "CKYBEPBbIhMIrem4lsik-wIVydURCB1LPg7Z", + "signInEndpoint": { + "hack": true + } + }, + "style": "STYLE_BLUE_TEXT", + "text": { + "runs": [ + { + "text": "Sign in" + } + ] + }, + "trackingParams": "CKYBEPBbIhMIrem4lsik-wIVydURCB1LPg7Z" + } + }, + "content": { + "runs": [ + { + "text": "Improve recommendations and save music after signing in" + } + ] + }, + "title": { + "runs": [ + { + "text": "Like this song" + } + ] + } + } + } + } + }, + "defaultText": { + "runs": [ + { + "text": "Add to liked songs" + } + ] + }, + "toggledIcon": { + "iconType": "UNFAVORITE" + }, + "toggledText": { + "runs": [ + { + "text": "Remove from liked songs" + } + ] + }, + "trackingParams": "CKUBEIyfBhgDIhMIrem4lsik-wIVydURCB1LPg7Z" + } + }, + { + "menuNavigationItemRenderer": { + "icon": { + "iconType": "ADD_TO_PLAYLIST" + }, + "navigationEndpoint": { + "clickTrackingParams": "CKMBEMOUBhgEIhMIrem4lsik-wIVydURCB1LPg7Z", + "modalEndpoint": { + "modal": { + "modalWithTitleAndButtonRenderer": { + "button": { + "buttonRenderer": { + "isDisabled": false, + "navigationEndpoint": { + "clickTrackingParams": "CKQBEPBbIhMIrem4lsik-wIVydURCB1LPg7Z", + "signInEndpoint": { + "hack": true + } + }, + "style": "STYLE_BLUE_TEXT", + "text": { + "runs": [ + { + "text": "Sign in" + } + ] + }, + "trackingParams": "CKQBEPBbIhMIrem4lsik-wIVydURCB1LPg7Z" + } + }, + "content": { + "runs": [ + { + "text": "Make playlists and share them after signing in" + } + ] + }, + "title": { + "runs": [ + { + "text": "Save this for later" + } + ] + } + } + } + } + }, + "text": { + "runs": [ + { + "text": "Add to playlist" + } + ] + }, + "trackingParams": "CKMBEMOUBhgEIhMIrem4lsik-wIVydURCB1LPg7Z" + } + }, + { + "menuServiceItemRenderer": { + "icon": { + "iconType": "REMOVE" + }, + "serviceEndpoint": { + "clickTrackingParams": "CKEBEOP7BRgFIhMIrem4lsik-wIVydURCB1LPg7Z", + "removeFromQueueEndpoint": { + "commands": [ + { + "addToToastAction": { + "item": { + "notificationTextRenderer": { + "successResponseText": { + "runs": [ + { + "text": "Item removed from queue" + } + ] + }, + "trackingParams": "CKIBEMrHAyITCK3puJbIpPsCFcnVEQgdSz4O2Q==" + } + } + }, + "clickTrackingParams": "CKEBEOP7BRgFIhMIrem4lsik-wIVydURCB1LPg7Z" + } + ], + "videoId": "W0x7GcZkvH4" + } + }, + "text": { + "runs": [ + { + "text": "Remove from queue" + } + ] + }, + "trackingParams": "CKEBEOP7BRgFIhMIrem4lsik-wIVydURCB1LPg7Z" + } + }, + { + "menuNavigationItemRenderer": { + "icon": { + "iconType": "ALBUM" + }, + "navigationEndpoint": { + "browseEndpoint": { + "browseEndpointContextSupportedConfigs": { + "browseEndpointContextMusicConfig": { + "pageType": "MUSIC_PAGE_TYPE_ALBUM" + } + }, + "browseId": "MPREb_9FuQjxTIQtE" + }, + "clickTrackingParams": "CKABEI_7BRgGIhMIrem4lsik-wIVydURCB1LPg7Z" + }, + "text": { + "runs": [ + { + "text": "Go to album" + } + ] + }, + "trackingParams": "CKABEI_7BRgGIhMIrem4lsik-wIVydURCB1LPg7Z" + } + }, + { + "menuNavigationItemRenderer": { + "icon": { + "iconType": "ARTIST" + }, + "navigationEndpoint": { + "browseEndpoint": { + "browseEndpointContextSupportedConfigs": { + "browseEndpointContextMusicConfig": { + "pageType": "MUSIC_PAGE_TYPE_ARTIST" + } + }, + "browseId": "UCwc9eSwp1MAoToS9QUTRpDw" + }, + "clickTrackingParams": "CJ8BEJD7BRgHIhMIrem4lsik-wIVydURCB1LPg7Z" + }, + "text": { + "runs": [ + { + "text": "Go to artist" + } + ] + }, + "trackingParams": "CJ8BEJD7BRgHIhMIrem4lsik-wIVydURCB1LPg7Z" + } + }, + { + "menuNavigationItemRenderer": { + "icon": { + "iconType": "SHARE" + }, + "navigationEndpoint": { + "clickTrackingParams": "CJ4BEJH7BRgIIhMIrem4lsik-wIVydURCB1LPg7Z", + "shareEntityEndpoint": { + "serializedShareEntity": "CgtXMHg3R2Naa3ZINA%3D%3D", + "sharePanelType": "SHARE_PANEL_TYPE_UNIFIED_SHARE_PANEL" + } + }, + "text": { + "runs": [ + { + "text": "Share" + } + ] + }, + "trackingParams": "CJ4BEJH7BRgIIhMIrem4lsik-wIVydURCB1LPg7Z" + } + }, + { + "menuServiceItemRenderer": { + "icon": { + "iconType": "FLAG" + }, + "serviceEndpoint": { + "clickTrackingParams": "CJwBEI32CRgJIhMIrem4lsik-wIVydURCB1LPg7Z", + "modalEndpoint": { + "modal": { + "modalWithTitleAndButtonRenderer": { + "button": { + "buttonRenderer": { + "isDisabled": false, + "navigationEndpoint": { + "clickTrackingParams": "CJ0BEPBbIhMIrem4lsik-wIVydURCB1LPg7Z", + "signInEndpoint": { + "hack": true + } + }, + "style": "STYLE_BLUE_TEXT", + "text": { + "runs": [ + { + "text": "Sign in" + } + ] + }, + "trackingParams": "CJ0BEPBbIhMIrem4lsik-wIVydURCB1LPg7Z" + } + }, + "content": { + "runs": [ + { + "text": "Sign in to report inappropriate content." + } + ] + }, + "title": { + "runs": [ + { + "text": "Need to report the video?" + } + ] + } + } + } + } + }, + "text": { + "runs": [ + { + "text": "Report" + } + ] + }, + "trackingParams": "CJwBEI32CRgJIhMIrem4lsik-wIVydURCB1LPg7Z" + } + } + ], + "trackingParams": "CJsBEMggGA4iEwit6biWyKT7AhXJ1REIHUs-Dtk=" + } + }, + "navigationEndpoint": { + "clickTrackingParams": "CJsBEMggGA4iEwit6biWyKT7AhXJ1REIHUs-DtkyA0JGYUj--JKznOOepluaAQUIDBD4HQ==", + "watchEndpoint": { + "index": 15, + "loggingContext": { + "vssLoggingContext": { + "serializedContextData": "GhFSREFNVk03bmlnWFFTMVhiMA%3D%3D" + } + }, + "params": "OAHyAQQIAXgB", + "playlistId": "RDAMVM7nigXQS1Xb0", + "playlistSetVideoId": "DAA551CF700844C3", + "videoId": "W0x7GcZkvH4", + "watchEndpointMusicSupportedConfigs": { + "watchEndpointMusicConfig": { + "hasPersistentPlaylistPanel": true, + "musicVideoType": "MUSIC_VIDEO_TYPE_ATV" + } + } + } + }, + "playlistSetVideoId": "DAA551CF700844C3", + "selected": false, + "shortBylineText": { + "runs": [ + { + "text": "STAYC" + } + ] + }, + "thumbnail": { + "thumbnails": [ + { + "height": 60, + "url": "https://lh3.googleusercontent.com/7a5Y-capHxe5YxW1AMQksFyIaj2ErtoXmW5VuT4xrA8DX3HnsUYAqCS3rzmptsWplJwWNlT8Or-UrB-MuQ=w60-h60-l90-rj", + "width": 60 + }, + { + "height": 120, + "url": "https://lh3.googleusercontent.com/7a5Y-capHxe5YxW1AMQksFyIaj2ErtoXmW5VuT4xrA8DX3HnsUYAqCS3rzmptsWplJwWNlT8Or-UrB-MuQ=w120-h120-l90-rj", + "width": 120 + }, + { + "height": 180, + "url": "https://lh3.googleusercontent.com/7a5Y-capHxe5YxW1AMQksFyIaj2ErtoXmW5VuT4xrA8DX3HnsUYAqCS3rzmptsWplJwWNlT8Or-UrB-MuQ=w180-h180-l90-rj", + "width": 180 + }, + { + "height": 226, + "url": "https://lh3.googleusercontent.com/7a5Y-capHxe5YxW1AMQksFyIaj2ErtoXmW5VuT4xrA8DX3HnsUYAqCS3rzmptsWplJwWNlT8Or-UrB-MuQ=w226-h226-l90-rj", + "width": 226 + }, + { + "height": 302, + "url": "https://lh3.googleusercontent.com/7a5Y-capHxe5YxW1AMQksFyIaj2ErtoXmW5VuT4xrA8DX3HnsUYAqCS3rzmptsWplJwWNlT8Or-UrB-MuQ=w302-h302-l90-rj", + "width": 302 + }, + { + "height": 544, + "url": "https://lh3.googleusercontent.com/7a5Y-capHxe5YxW1AMQksFyIaj2ErtoXmW5VuT4xrA8DX3HnsUYAqCS3rzmptsWplJwWNlT8Or-UrB-MuQ=w544-h544-l90-rj", + "width": 544 + } + ] + }, + "title": { + "runs": [ + { + "text": "RUN2U (RUN2U)" + } + ] + }, + "trackingParams": "CJsBEMggGA4iEwit6biWyKT7AhXJ1REIHUs-Dtk=", + "videoId": "W0x7GcZkvH4" + } + }, + { + "playlistPanelVideoRenderer": { + "canReorder": true, + "lengthText": { + "accessibility": { + "accessibilityData": { + "label": "3 minutes, 54 seconds" + } + }, + "runs": [ + { + "text": "3:54" + } + ] + }, + "longBylineText": { + "runs": [ + { + "navigationEndpoint": { + "browseEndpoint": { + "browseEndpointContextSupportedConfigs": { + "browseEndpointContextMusicConfig": { + "pageType": "MUSIC_PAGE_TYPE_ARTIST" + } + }, + "browseId": "UCwzCuKxyMY_sT7hr1E8G1XA" + }, + "clickTrackingParams": "CIoBEMggGA8iEwit6biWyKT7AhXJ1REIHUs-Dtk=" + }, + "text": "TAEYEON" + }, + { + "text": " • " + }, + { + "navigationEndpoint": { + "browseEndpoint": { + "browseEndpointContextSupportedConfigs": { + "browseEndpointContextMusicConfig": { + "pageType": "MUSIC_PAGE_TYPE_ALBUM" + } + }, + "browseId": "MPREb_AXLV76B1XHw" + }, + "clickTrackingParams": "CIoBEMggGA8iEwit6biWyKT7AhXJ1REIHUs-Dtk=" + }, + "text": "Weekend" + }, + { + "text": " • " + }, + { + "text": "2021" + } + ] + }, + "menu": { + "menuRenderer": { + "accessibility": { + "accessibilityData": { + "label": "Action menu" + } + }, + "items": [ + { + "menuNavigationItemRenderer": { + "icon": { + "iconType": "MIX" + }, + "navigationEndpoint": { + "clickTrackingParams": "CJoBEJvzBRgAIhMIrem4lsik-wIVydURCB1LPg7Z", + "watchEndpoint": { + "loggingContext": { + "vssLoggingContext": { + "serializedContextData": "GhFSREFNVk1JTkxGbE4tUFpxNA%3D%3D" + } + }, + "params": "wAEB", + "playlistId": "RDAMVMINLFlN-PZq4", + "videoId": "INLFlN-PZq4", + "watchEndpointMusicSupportedConfigs": { + "watchEndpointMusicConfig": { + "musicVideoType": "MUSIC_VIDEO_TYPE_ATV" + } + } + } + }, + "text": { + "runs": [ + { + "text": "Start radio" + } + ] + }, + "trackingParams": "CJoBEJvzBRgAIhMIrem4lsik-wIVydURCB1LPg7Z" + } + }, + { + "menuServiceItemRenderer": { + "icon": { + "iconType": "QUEUE_PLAY_NEXT" + }, + "serviceEndpoint": { + "clickTrackingParams": "CJgBEL7uBRgBIhMIrem4lsik-wIVydURCB1LPg7Z", + "queueAddEndpoint": { + "commands": [ + { + "addToToastAction": { + "item": { + "notificationTextRenderer": { + "successResponseText": { + "runs": [ + { + "text": "Song will play next" + } + ] + }, + "trackingParams": "CJkBEMrHAyITCK3puJbIpPsCFcnVEQgdSz4O2Q==" + } + } + }, + "clickTrackingParams": "CJgBEL7uBRgBIhMIrem4lsik-wIVydURCB1LPg7Z" + } + ], + "queueInsertPosition": "INSERT_AFTER_CURRENT_VIDEO", + "queueTarget": { + "videoId": "INLFlN-PZq4" + } + } + }, + "text": { + "runs": [ + { + "text": "Play next" + } + ] + }, + "trackingParams": "CJgBEL7uBRgBIhMIrem4lsik-wIVydURCB1LPg7Z" + } + }, + { + "menuServiceItemRenderer": { + "icon": { + "iconType": "ADD_TO_REMOTE_QUEUE" + }, + "serviceEndpoint": { + "clickTrackingParams": "CJYBEPvvBRgCIhMIrem4lsik-wIVydURCB1LPg7Z", + "queueAddEndpoint": { + "commands": [ + { + "addToToastAction": { + "item": { + "notificationTextRenderer": { + "successResponseText": { + "runs": [ + { + "text": "Song added to queue" + } + ] + }, + "trackingParams": "CJcBEMrHAyITCK3puJbIpPsCFcnVEQgdSz4O2Q==" + } + } + }, + "clickTrackingParams": "CJYBEPvvBRgCIhMIrem4lsik-wIVydURCB1LPg7Z" + } + ], + "queueInsertPosition": "INSERT_AT_END", + "queueTarget": { + "videoId": "INLFlN-PZq4" + } + } + }, + "text": { + "runs": [ + { + "text": "Add to queue" + } + ] + }, + "trackingParams": "CJYBEPvvBRgCIhMIrem4lsik-wIVydURCB1LPg7Z" + } + }, + { + "toggleMenuServiceItemRenderer": { + "defaultIcon": { + "iconType": "FAVORITE" + }, + "defaultServiceEndpoint": { + "clickTrackingParams": "CJQBEIyfBhgDIhMIrem4lsik-wIVydURCB1LPg7Z", + "modalEndpoint": { + "modal": { + "modalWithTitleAndButtonRenderer": { + "button": { + "buttonRenderer": { + "isDisabled": false, + "navigationEndpoint": { + "clickTrackingParams": "CJUBEPBbIhMIrem4lsik-wIVydURCB1LPg7Z", + "signInEndpoint": { + "hack": true + } + }, + "style": "STYLE_BLUE_TEXT", + "text": { + "runs": [ + { + "text": "Sign in" + } + ] + }, + "trackingParams": "CJUBEPBbIhMIrem4lsik-wIVydURCB1LPg7Z" + } + }, + "content": { + "runs": [ + { + "text": "Improve recommendations and save music after signing in" + } + ] + }, + "title": { + "runs": [ + { + "text": "Like this song" + } + ] + } + } + } + } + }, + "defaultText": { + "runs": [ + { + "text": "Add to liked songs" + } + ] + }, + "toggledIcon": { + "iconType": "UNFAVORITE" + }, + "toggledText": { + "runs": [ + { + "text": "Remove from liked songs" + } + ] + }, + "trackingParams": "CJQBEIyfBhgDIhMIrem4lsik-wIVydURCB1LPg7Z" + } + }, + { + "menuNavigationItemRenderer": { + "icon": { + "iconType": "ADD_TO_PLAYLIST" + }, + "navigationEndpoint": { + "clickTrackingParams": "CJIBEMOUBhgEIhMIrem4lsik-wIVydURCB1LPg7Z", + "modalEndpoint": { + "modal": { + "modalWithTitleAndButtonRenderer": { + "button": { + "buttonRenderer": { + "isDisabled": false, + "navigationEndpoint": { + "clickTrackingParams": "CJMBEPBbIhMIrem4lsik-wIVydURCB1LPg7Z", + "signInEndpoint": { + "hack": true + } + }, + "style": "STYLE_BLUE_TEXT", + "text": { + "runs": [ + { + "text": "Sign in" + } + ] + }, + "trackingParams": "CJMBEPBbIhMIrem4lsik-wIVydURCB1LPg7Z" + } + }, + "content": { + "runs": [ + { + "text": "Make playlists and share them after signing in" + } + ] + }, + "title": { + "runs": [ + { + "text": "Save this for later" + } + ] + } + } + } + } + }, + "text": { + "runs": [ + { + "text": "Add to playlist" + } + ] + }, + "trackingParams": "CJIBEMOUBhgEIhMIrem4lsik-wIVydURCB1LPg7Z" + } + }, + { + "menuServiceItemRenderer": { + "icon": { + "iconType": "REMOVE" + }, + "serviceEndpoint": { + "clickTrackingParams": "CJABEOP7BRgFIhMIrem4lsik-wIVydURCB1LPg7Z", + "removeFromQueueEndpoint": { + "commands": [ + { + "addToToastAction": { + "item": { + "notificationTextRenderer": { + "successResponseText": { + "runs": [ + { + "text": "Item removed from queue" + } + ] + }, + "trackingParams": "CJEBEMrHAyITCK3puJbIpPsCFcnVEQgdSz4O2Q==" + } + } + }, + "clickTrackingParams": "CJABEOP7BRgFIhMIrem4lsik-wIVydURCB1LPg7Z" + } + ], + "videoId": "INLFlN-PZq4" + } + }, + "text": { + "runs": [ + { + "text": "Remove from queue" + } + ] + }, + "trackingParams": "CJABEOP7BRgFIhMIrem4lsik-wIVydURCB1LPg7Z" + } + }, + { + "menuNavigationItemRenderer": { + "icon": { + "iconType": "ALBUM" + }, + "navigationEndpoint": { + "browseEndpoint": { + "browseEndpointContextSupportedConfigs": { + "browseEndpointContextMusicConfig": { + "pageType": "MUSIC_PAGE_TYPE_ALBUM" + } + }, + "browseId": "MPREb_AXLV76B1XHw" + }, + "clickTrackingParams": "CI8BEI_7BRgGIhMIrem4lsik-wIVydURCB1LPg7Z" + }, + "text": { + "runs": [ + { + "text": "Go to album" + } + ] + }, + "trackingParams": "CI8BEI_7BRgGIhMIrem4lsik-wIVydURCB1LPg7Z" + } + }, + { + "menuNavigationItemRenderer": { + "icon": { + "iconType": "ARTIST" + }, + "navigationEndpoint": { + "browseEndpoint": { + "browseEndpointContextSupportedConfigs": { + "browseEndpointContextMusicConfig": { + "pageType": "MUSIC_PAGE_TYPE_ARTIST" + } + }, + "browseId": "UCwzCuKxyMY_sT7hr1E8G1XA" + }, + "clickTrackingParams": "CI4BEJD7BRgHIhMIrem4lsik-wIVydURCB1LPg7Z" + }, + "text": { + "runs": [ + { + "text": "Go to artist" + } + ] + }, + "trackingParams": "CI4BEJD7BRgHIhMIrem4lsik-wIVydURCB1LPg7Z" + } + }, + { + "menuNavigationItemRenderer": { + "icon": { + "iconType": "SHARE" + }, + "navigationEndpoint": { + "clickTrackingParams": "CI0BEJH7BRgIIhMIrem4lsik-wIVydURCB1LPg7Z", + "shareEntityEndpoint": { + "serializedShareEntity": "CgtJTkxGbE4tUFpxNA%3D%3D", + "sharePanelType": "SHARE_PANEL_TYPE_UNIFIED_SHARE_PANEL" + } + }, + "text": { + "runs": [ + { + "text": "Share" + } + ] + }, + "trackingParams": "CI0BEJH7BRgIIhMIrem4lsik-wIVydURCB1LPg7Z" + } + }, + { + "menuServiceItemRenderer": { + "icon": { + "iconType": "FLAG" + }, + "serviceEndpoint": { + "clickTrackingParams": "CIsBEI32CRgJIhMIrem4lsik-wIVydURCB1LPg7Z", + "modalEndpoint": { + "modal": { + "modalWithTitleAndButtonRenderer": { + "button": { + "buttonRenderer": { + "isDisabled": false, + "navigationEndpoint": { + "clickTrackingParams": "CIwBEPBbIhMIrem4lsik-wIVydURCB1LPg7Z", + "signInEndpoint": { + "hack": true + } + }, + "style": "STYLE_BLUE_TEXT", + "text": { + "runs": [ + { + "text": "Sign in" + } + ] + }, + "trackingParams": "CIwBEPBbIhMIrem4lsik-wIVydURCB1LPg7Z" + } + }, + "content": { + "runs": [ + { + "text": "Sign in to report inappropriate content." + } + ] + }, + "title": { + "runs": [ + { + "text": "Need to report the video?" + } + ] + } + } + } + } + }, + "text": { + "runs": [ + { + "text": "Report" + } + ] + }, + "trackingParams": "CIsBEI32CRgJIhMIrem4lsik-wIVydURCB1LPg7Z" + } + } + ], + "trackingParams": "CIoBEMggGA8iEwit6biWyKT7AhXJ1REIHUs-Dtk=" + } + }, + "navigationEndpoint": { + "clickTrackingParams": "CIoBEMggGA8iEwit6biWyKT7AhXJ1REIHUs-DtkyA0JGYUiuzb38zbKx6SCaAQUIDBD4HQ==", + "watchEndpoint": { + "index": 16, + "loggingContext": { + "vssLoggingContext": { + "serializedContextData": "GhFSREFNVk03bmlnWFFTMVhiMA%3D%3D" + } + }, + "params": "OAHyAQQIAXgB", + "playlistId": "RDAMVM7nigXQS1Xb0", + "playlistSetVideoId": "5A65CE115B87358D", + "videoId": "INLFlN-PZq4", + "watchEndpointMusicSupportedConfigs": { + "watchEndpointMusicConfig": { + "hasPersistentPlaylistPanel": true, + "musicVideoType": "MUSIC_VIDEO_TYPE_ATV" + } + } + } + }, + "playlistSetVideoId": "5A65CE115B87358D", + "selected": false, + "shortBylineText": { + "runs": [ + { + "text": "TAEYEON" + } + ] + }, + "thumbnail": { + "thumbnails": [ + { + "height": 60, + "url": "https://lh3.googleusercontent.com/Eb4F6fw9Q10ZXODpe4iFDSSn_AQgC3r19HkGT9B1FDOjxg-4vsAMUEqIrjTckWodpjMu4Wb48J1eig5J=w60-h60-l90-rj", + "width": 60 + }, + { + "height": 120, + "url": "https://lh3.googleusercontent.com/Eb4F6fw9Q10ZXODpe4iFDSSn_AQgC3r19HkGT9B1FDOjxg-4vsAMUEqIrjTckWodpjMu4Wb48J1eig5J=w120-h120-l90-rj", + "width": 120 + }, + { + "height": 180, + "url": "https://lh3.googleusercontent.com/Eb4F6fw9Q10ZXODpe4iFDSSn_AQgC3r19HkGT9B1FDOjxg-4vsAMUEqIrjTckWodpjMu4Wb48J1eig5J=w180-h180-l90-rj", + "width": 180 + }, + { + "height": 226, + "url": "https://lh3.googleusercontent.com/Eb4F6fw9Q10ZXODpe4iFDSSn_AQgC3r19HkGT9B1FDOjxg-4vsAMUEqIrjTckWodpjMu4Wb48J1eig5J=w226-h226-l90-rj", + "width": 226 + }, + { + "height": 302, + "url": "https://lh3.googleusercontent.com/Eb4F6fw9Q10ZXODpe4iFDSSn_AQgC3r19HkGT9B1FDOjxg-4vsAMUEqIrjTckWodpjMu4Wb48J1eig5J=w302-h302-l90-rj", + "width": 302 + }, + { + "height": 544, + "url": "https://lh3.googleusercontent.com/Eb4F6fw9Q10ZXODpe4iFDSSn_AQgC3r19HkGT9B1FDOjxg-4vsAMUEqIrjTckWodpjMu4Wb48J1eig5J=w544-h544-l90-rj", + "width": 544 + } + ] + }, + "title": { + "runs": [ + { + "text": "Weekend" + } + ] + }, + "trackingParams": "CIoBEMggGA8iEwit6biWyKT7AhXJ1REIHUs-Dtk=", + "videoId": "INLFlN-PZq4" + } + }, + { + "playlistPanelVideoRenderer": { + "canReorder": true, + "lengthText": { + "accessibility": { + "accessibilityData": { + "label": "3 minutes, 16 seconds" + } + }, + "runs": [ + { + "text": "3:16" + } + ] + }, + "longBylineText": { + "runs": [ + { + "navigationEndpoint": { + "browseEndpoint": { + "browseEndpointContextSupportedConfigs": { + "browseEndpointContextMusicConfig": { + "pageType": "MUSIC_PAGE_TYPE_ARTIST" + } + }, + "browseId": "UChwSjx8SnvG6k96a9xqYw1g" + }, + "clickTrackingParams": "CHkQyCAYECITCK3puJbIpPsCFcnVEQgdSz4O2Q==" + }, + "text": "Bebe Rexha" + }, + { + "text": " • " + }, + { + "navigationEndpoint": { + "browseEndpoint": { + "browseEndpointContextSupportedConfigs": { + "browseEndpointContextMusicConfig": { + "pageType": "MUSIC_PAGE_TYPE_ALBUM" + } + }, + "browseId": "MPREb_ecfHZsAEUSC" + }, + "clickTrackingParams": "CHkQyCAYECITCK3puJbIpPsCFcnVEQgdSz4O2Q==" + }, + "text": "Expectations" + }, + { + "text": " • " + }, + { + "text": "2018" + } + ] + }, + "menu": { + "menuRenderer": { + "accessibility": { + "accessibilityData": { + "label": "Action menu" + } + }, + "items": [ + { + "menuNavigationItemRenderer": { + "icon": { + "iconType": "MIX" + }, + "navigationEndpoint": { + "clickTrackingParams": "CIkBEJvzBRgAIhMIrem4lsik-wIVydURCB1LPg7Z", + "watchEndpoint": { + "loggingContext": { + "vssLoggingContext": { + "serializedContextData": "GhFSREFNVk1HaEw4R1VqWEVmaw%3D%3D" + } + }, + "params": "wAEB", + "playlistId": "RDAMVMGhL8GUjXEfk", + "videoId": "GhL8GUjXEfk", + "watchEndpointMusicSupportedConfigs": { + "watchEndpointMusicConfig": { + "musicVideoType": "MUSIC_VIDEO_TYPE_ATV" + } + } + } + }, + "text": { + "runs": [ + { + "text": "Start radio" + } + ] + }, + "trackingParams": "CIkBEJvzBRgAIhMIrem4lsik-wIVydURCB1LPg7Z" + } + }, + { + "menuServiceItemRenderer": { + "icon": { + "iconType": "QUEUE_PLAY_NEXT" + }, + "serviceEndpoint": { + "clickTrackingParams": "CIcBEL7uBRgBIhMIrem4lsik-wIVydURCB1LPg7Z", + "queueAddEndpoint": { + "commands": [ + { + "addToToastAction": { + "item": { + "notificationTextRenderer": { + "successResponseText": { + "runs": [ + { + "text": "Song will play next" + } + ] + }, + "trackingParams": "CIgBEMrHAyITCK3puJbIpPsCFcnVEQgdSz4O2Q==" + } + } + }, + "clickTrackingParams": "CIcBEL7uBRgBIhMIrem4lsik-wIVydURCB1LPg7Z" + } + ], + "queueInsertPosition": "INSERT_AFTER_CURRENT_VIDEO", + "queueTarget": { + "videoId": "GhL8GUjXEfk" + } + } + }, + "text": { + "runs": [ + { + "text": "Play next" + } + ] + }, + "trackingParams": "CIcBEL7uBRgBIhMIrem4lsik-wIVydURCB1LPg7Z" + } + }, + { + "menuServiceItemRenderer": { + "icon": { + "iconType": "ADD_TO_REMOTE_QUEUE" + }, + "serviceEndpoint": { + "clickTrackingParams": "CIUBEPvvBRgCIhMIrem4lsik-wIVydURCB1LPg7Z", + "queueAddEndpoint": { + "commands": [ + { + "addToToastAction": { + "item": { + "notificationTextRenderer": { + "successResponseText": { + "runs": [ + { + "text": "Song added to queue" + } + ] + }, + "trackingParams": "CIYBEMrHAyITCK3puJbIpPsCFcnVEQgdSz4O2Q==" + } + } + }, + "clickTrackingParams": "CIUBEPvvBRgCIhMIrem4lsik-wIVydURCB1LPg7Z" + } + ], + "queueInsertPosition": "INSERT_AT_END", + "queueTarget": { + "videoId": "GhL8GUjXEfk" + } + } + }, + "text": { + "runs": [ + { + "text": "Add to queue" + } + ] + }, + "trackingParams": "CIUBEPvvBRgCIhMIrem4lsik-wIVydURCB1LPg7Z" + } + }, + { + "toggleMenuServiceItemRenderer": { + "defaultIcon": { + "iconType": "FAVORITE" + }, + "defaultServiceEndpoint": { + "clickTrackingParams": "CIMBEIyfBhgDIhMIrem4lsik-wIVydURCB1LPg7Z", + "modalEndpoint": { + "modal": { + "modalWithTitleAndButtonRenderer": { + "button": { + "buttonRenderer": { + "isDisabled": false, + "navigationEndpoint": { + "clickTrackingParams": "CIQBEPBbIhMIrem4lsik-wIVydURCB1LPg7Z", + "signInEndpoint": { + "hack": true + } + }, + "style": "STYLE_BLUE_TEXT", + "text": { + "runs": [ + { + "text": "Sign in" + } + ] + }, + "trackingParams": "CIQBEPBbIhMIrem4lsik-wIVydURCB1LPg7Z" + } + }, + "content": { + "runs": [ + { + "text": "Improve recommendations and save music after signing in" + } + ] + }, + "title": { + "runs": [ + { + "text": "Like this song" + } + ] + } + } + } + } + }, + "defaultText": { + "runs": [ + { + "text": "Add to liked songs" + } + ] + }, + "toggledIcon": { + "iconType": "UNFAVORITE" + }, + "toggledText": { + "runs": [ + { + "text": "Remove from liked songs" + } + ] + }, + "trackingParams": "CIMBEIyfBhgDIhMIrem4lsik-wIVydURCB1LPg7Z" + } + }, + { + "menuNavigationItemRenderer": { + "icon": { + "iconType": "ADD_TO_PLAYLIST" + }, + "navigationEndpoint": { + "clickTrackingParams": "CIEBEMOUBhgEIhMIrem4lsik-wIVydURCB1LPg7Z", + "modalEndpoint": { + "modal": { + "modalWithTitleAndButtonRenderer": { + "button": { + "buttonRenderer": { + "isDisabled": false, + "navigationEndpoint": { + "clickTrackingParams": "CIIBEPBbIhMIrem4lsik-wIVydURCB1LPg7Z", + "signInEndpoint": { + "hack": true + } + }, + "style": "STYLE_BLUE_TEXT", + "text": { + "runs": [ + { + "text": "Sign in" + } + ] + }, + "trackingParams": "CIIBEPBbIhMIrem4lsik-wIVydURCB1LPg7Z" + } + }, + "content": { + "runs": [ + { + "text": "Make playlists and share them after signing in" + } + ] + }, + "title": { + "runs": [ + { + "text": "Save this for later" + } + ] + } + } + } + } + }, + "text": { + "runs": [ + { + "text": "Add to playlist" + } + ] + }, + "trackingParams": "CIEBEMOUBhgEIhMIrem4lsik-wIVydURCB1LPg7Z" + } + }, + { + "menuServiceItemRenderer": { + "icon": { + "iconType": "REMOVE" + }, + "serviceEndpoint": { + "clickTrackingParams": "CH8Q4_sFGAUiEwit6biWyKT7AhXJ1REIHUs-Dtk=", + "removeFromQueueEndpoint": { + "commands": [ + { + "addToToastAction": { + "item": { + "notificationTextRenderer": { + "successResponseText": { + "runs": [ + { + "text": "Item removed from queue" + } + ] + }, + "trackingParams": "CIABEMrHAyITCK3puJbIpPsCFcnVEQgdSz4O2Q==" + } + } + }, + "clickTrackingParams": "CH8Q4_sFGAUiEwit6biWyKT7AhXJ1REIHUs-Dtk=" + } + ], + "videoId": "GhL8GUjXEfk" + } + }, + "text": { + "runs": [ + { + "text": "Remove from queue" + } + ] + }, + "trackingParams": "CH8Q4_sFGAUiEwit6biWyKT7AhXJ1REIHUs-Dtk=" + } + }, + { + "menuNavigationItemRenderer": { + "icon": { + "iconType": "ALBUM" + }, + "navigationEndpoint": { + "browseEndpoint": { + "browseEndpointContextSupportedConfigs": { + "browseEndpointContextMusicConfig": { + "pageType": "MUSIC_PAGE_TYPE_ALBUM" + } + }, + "browseId": "MPREb_ecfHZsAEUSC" + }, + "clickTrackingParams": "CH4Qj_sFGAYiEwit6biWyKT7AhXJ1REIHUs-Dtk=" + }, + "text": { + "runs": [ + { + "text": "Go to album" + } + ] + }, + "trackingParams": "CH4Qj_sFGAYiEwit6biWyKT7AhXJ1REIHUs-Dtk=" + } + }, + { + "menuNavigationItemRenderer": { + "icon": { + "iconType": "ARTIST" + }, + "navigationEndpoint": { + "browseEndpoint": { + "browseEndpointContextSupportedConfigs": { + "browseEndpointContextMusicConfig": { + "pageType": "MUSIC_PAGE_TYPE_ARTIST" + } + }, + "browseId": "UChwSjx8SnvG6k96a9xqYw1g" + }, + "clickTrackingParams": "CH0QkPsFGAciEwit6biWyKT7AhXJ1REIHUs-Dtk=" + }, + "text": { + "runs": [ + { + "text": "Go to artist" + } + ] + }, + "trackingParams": "CH0QkPsFGAciEwit6biWyKT7AhXJ1REIHUs-Dtk=" + } + }, + { + "menuNavigationItemRenderer": { + "icon": { + "iconType": "SHARE" + }, + "navigationEndpoint": { + "clickTrackingParams": "CHwQkfsFGAgiEwit6biWyKT7AhXJ1REIHUs-Dtk=", + "shareEntityEndpoint": { + "serializedShareEntity": "CgtHaEw4R1VqWEVmaw%3D%3D", + "sharePanelType": "SHARE_PANEL_TYPE_UNIFIED_SHARE_PANEL" + } + }, + "text": { + "runs": [ + { + "text": "Share" + } + ] + }, + "trackingParams": "CHwQkfsFGAgiEwit6biWyKT7AhXJ1REIHUs-Dtk=" + } + }, + { + "menuServiceItemRenderer": { + "icon": { + "iconType": "FLAG" + }, + "serviceEndpoint": { + "clickTrackingParams": "CHoQjfYJGAkiEwit6biWyKT7AhXJ1REIHUs-Dtk=", + "modalEndpoint": { + "modal": { + "modalWithTitleAndButtonRenderer": { + "button": { + "buttonRenderer": { + "isDisabled": false, + "navigationEndpoint": { + "clickTrackingParams": "CHsQ8FsiEwit6biWyKT7AhXJ1REIHUs-Dtk=", + "signInEndpoint": { + "hack": true + } + }, + "style": "STYLE_BLUE_TEXT", + "text": { + "runs": [ + { + "text": "Sign in" + } + ] + }, + "trackingParams": "CHsQ8FsiEwit6biWyKT7AhXJ1REIHUs-Dtk=" + } + }, + "content": { + "runs": [ + { + "text": "Sign in to report inappropriate content." + } + ] + }, + "title": { + "runs": [ + { + "text": "Need to report the video?" + } + ] + } + } + } + } + }, + "text": { + "runs": [ + { + "text": "Report" + } + ] + }, + "trackingParams": "CHoQjfYJGAkiEwit6biWyKT7AhXJ1REIHUs-Dtk=" + } + } + ], + "trackingParams": "CHkQyCAYECITCK3puJbIpPsCFcnVEQgdSz4O2Q==" + } + }, + "navigationEndpoint": { + "clickTrackingParams": "CHkQyCAYECITCK3puJbIpPsCFcnVEQgdSz4O2TIDQkZhSPmj3MaUg7-JGpoBBQgMEPgd", + "watchEndpoint": { + "index": 17, + "loggingContext": { + "vssLoggingContext": { + "serializedContextData": "GhFSREFNVk03bmlnWFFTMVhiMA%3D%3D" + } + }, + "params": "OAHyAQQIAXgB", + "playlistId": "RDAMVM7nigXQS1Xb0", + "playlistSetVideoId": "21D2A4324C732A32", + "videoId": "GhL8GUjXEfk", + "watchEndpointMusicSupportedConfigs": { + "watchEndpointMusicConfig": { + "hasPersistentPlaylistPanel": true, + "musicVideoType": "MUSIC_VIDEO_TYPE_ATV" + } + } + } + }, + "playlistSetVideoId": "21D2A4324C732A32", + "selected": false, + "shortBylineText": { + "runs": [ + { + "text": "Bebe Rexha" + } + ] + }, + "thumbnail": { + "thumbnails": [ + { + "height": 60, + "url": "https://lh3.googleusercontent.com/TrhzSu55GbYhOWOArCiQUFGVYjJz0Z78YlVJfwOCyU-ZFz5xaIwaTRuLhxrV9dsaW7TM4_1Yj8k_BR6W=w60-h60-l90-rj", + "width": 60 + }, + { + "height": 120, + "url": "https://lh3.googleusercontent.com/TrhzSu55GbYhOWOArCiQUFGVYjJz0Z78YlVJfwOCyU-ZFz5xaIwaTRuLhxrV9dsaW7TM4_1Yj8k_BR6W=w120-h120-l90-rj", + "width": 120 + }, + { + "height": 180, + "url": "https://lh3.googleusercontent.com/TrhzSu55GbYhOWOArCiQUFGVYjJz0Z78YlVJfwOCyU-ZFz5xaIwaTRuLhxrV9dsaW7TM4_1Yj8k_BR6W=w180-h180-l90-rj", + "width": 180 + }, + { + "height": 226, + "url": "https://lh3.googleusercontent.com/TrhzSu55GbYhOWOArCiQUFGVYjJz0Z78YlVJfwOCyU-ZFz5xaIwaTRuLhxrV9dsaW7TM4_1Yj8k_BR6W=w226-h226-l90-rj", + "width": 226 + }, + { + "height": 302, + "url": "https://lh3.googleusercontent.com/TrhzSu55GbYhOWOArCiQUFGVYjJz0Z78YlVJfwOCyU-ZFz5xaIwaTRuLhxrV9dsaW7TM4_1Yj8k_BR6W=w302-h302-l90-rj", + "width": 302 + }, + { + "height": 544, + "url": "https://lh3.googleusercontent.com/TrhzSu55GbYhOWOArCiQUFGVYjJz0Z78YlVJfwOCyU-ZFz5xaIwaTRuLhxrV9dsaW7TM4_1Yj8k_BR6W=w544-h544-l90-rj", + "width": 544 + } + ] + }, + "title": { + "runs": [ + { + "text": "I'm a Mess" + } + ] + }, + "trackingParams": "CHkQyCAYECITCK3puJbIpPsCFcnVEQgdSz4O2Q==", + "videoId": "GhL8GUjXEfk" + } + }, + { + "playlistPanelVideoRenderer": { + "canReorder": true, + "lengthText": { + "accessibility": { + "accessibilityData": { + "label": "3 minutes, 49 seconds" + } + }, + "runs": [ + { + "text": "3:49" + } + ] + }, + "longBylineText": { + "runs": [ + { + "navigationEndpoint": { + "browseEndpoint": { + "browseEndpointContextSupportedConfigs": { + "browseEndpointContextMusicConfig": { + "pageType": "MUSIC_PAGE_TYPE_ARTIST" + } + }, + "browseId": "UCIaFw5VBEK8qaW6nRpx_qnw" + }, + "clickTrackingParams": "CGgQyCAYESITCK3puJbIpPsCFcnVEQgdSz4O2Q==" + }, + "text": "Coldplay" + }, + { + "text": " & " + }, + { + "navigationEndpoint": { + "browseEndpoint": { + "browseEndpointContextSupportedConfigs": { + "browseEndpointContextMusicConfig": { + "pageType": "MUSIC_PAGE_TYPE_ARTIST" + } + }, + "browseId": "UC9vrvNSL3xcWGSkV86REBSg" + }, + "clickTrackingParams": "CGgQyCAYESITCK3puJbIpPsCFcnVEQgdSz4O2Q==" + }, + "text": "BTS" + }, + { + "text": " • " + }, + { + "navigationEndpoint": { + "browseEndpoint": { + "browseEndpointContextSupportedConfigs": { + "browseEndpointContextMusicConfig": { + "pageType": "MUSIC_PAGE_TYPE_ALBUM" + } + }, + "browseId": "MPREb_R2vLzq7C3c7" + }, + "clickTrackingParams": "CGgQyCAYESITCK3puJbIpPsCFcnVEQgdSz4O2Q==" + }, + "text": "My Universe" + }, + { + "text": " • " + }, + { + "text": "2021" + } + ] + }, + "menu": { + "menuRenderer": { + "accessibility": { + "accessibilityData": { + "label": "Action menu" + } + }, + "items": [ + { + "menuNavigationItemRenderer": { + "icon": { + "iconType": "MIX" + }, + "navigationEndpoint": { + "clickTrackingParams": "CHgQm_MFGAAiEwit6biWyKT7AhXJ1REIHUs-Dtk=", + "watchEndpoint": { + "loggingContext": { + "vssLoggingContext": { + "serializedContextData": "GhFSREFNVk1UYVprcVBLMHNidw%3D%3D" + } + }, + "params": "wAEB", + "playlistId": "RDAMVMTaZkqPK0sbw", + "videoId": "TaZkqPK0sbw", + "watchEndpointMusicSupportedConfigs": { + "watchEndpointMusicConfig": { + "musicVideoType": "MUSIC_VIDEO_TYPE_ATV" + } + } + } + }, + "text": { + "runs": [ + { + "text": "Start radio" + } + ] + }, + "trackingParams": "CHgQm_MFGAAiEwit6biWyKT7AhXJ1REIHUs-Dtk=" + } + }, + { + "menuServiceItemRenderer": { + "icon": { + "iconType": "QUEUE_PLAY_NEXT" + }, + "serviceEndpoint": { + "clickTrackingParams": "CHYQvu4FGAEiEwit6biWyKT7AhXJ1REIHUs-Dtk=", + "queueAddEndpoint": { + "commands": [ + { + "addToToastAction": { + "item": { + "notificationTextRenderer": { + "successResponseText": { + "runs": [ + { + "text": "Song will play next" + } + ] + }, + "trackingParams": "CHcQyscDIhMIrem4lsik-wIVydURCB1LPg7Z" + } + } + }, + "clickTrackingParams": "CHYQvu4FGAEiEwit6biWyKT7AhXJ1REIHUs-Dtk=" + } + ], + "queueInsertPosition": "INSERT_AFTER_CURRENT_VIDEO", + "queueTarget": { + "videoId": "TaZkqPK0sbw" + } + } + }, + "text": { + "runs": [ + { + "text": "Play next" + } + ] + }, + "trackingParams": "CHYQvu4FGAEiEwit6biWyKT7AhXJ1REIHUs-Dtk=" + } + }, + { + "menuServiceItemRenderer": { + "icon": { + "iconType": "ADD_TO_REMOTE_QUEUE" + }, + "serviceEndpoint": { + "clickTrackingParams": "CHQQ--8FGAIiEwit6biWyKT7AhXJ1REIHUs-Dtk=", + "queueAddEndpoint": { + "commands": [ + { + "addToToastAction": { + "item": { + "notificationTextRenderer": { + "successResponseText": { + "runs": [ + { + "text": "Song added to queue" + } + ] + }, + "trackingParams": "CHUQyscDIhMIrem4lsik-wIVydURCB1LPg7Z" + } + } + }, + "clickTrackingParams": "CHQQ--8FGAIiEwit6biWyKT7AhXJ1REIHUs-Dtk=" + } + ], + "queueInsertPosition": "INSERT_AT_END", + "queueTarget": { + "videoId": "TaZkqPK0sbw" + } + } + }, + "text": { + "runs": [ + { + "text": "Add to queue" + } + ] + }, + "trackingParams": "CHQQ--8FGAIiEwit6biWyKT7AhXJ1REIHUs-Dtk=" + } + }, + { + "toggleMenuServiceItemRenderer": { + "defaultIcon": { + "iconType": "FAVORITE" + }, + "defaultServiceEndpoint": { + "clickTrackingParams": "CHIQjJ8GGAMiEwit6biWyKT7AhXJ1REIHUs-Dtk=", + "modalEndpoint": { + "modal": { + "modalWithTitleAndButtonRenderer": { + "button": { + "buttonRenderer": { + "isDisabled": false, + "navigationEndpoint": { + "clickTrackingParams": "CHMQ8FsiEwit6biWyKT7AhXJ1REIHUs-Dtk=", + "signInEndpoint": { + "hack": true + } + }, + "style": "STYLE_BLUE_TEXT", + "text": { + "runs": [ + { + "text": "Sign in" + } + ] + }, + "trackingParams": "CHMQ8FsiEwit6biWyKT7AhXJ1REIHUs-Dtk=" + } + }, + "content": { + "runs": [ + { + "text": "Improve recommendations and save music after signing in" + } + ] + }, + "title": { + "runs": [ + { + "text": "Like this song" + } + ] + } + } + } + } + }, + "defaultText": { + "runs": [ + { + "text": "Add to liked songs" + } + ] + }, + "toggledIcon": { + "iconType": "UNFAVORITE" + }, + "toggledText": { + "runs": [ + { + "text": "Remove from liked songs" + } + ] + }, + "trackingParams": "CHIQjJ8GGAMiEwit6biWyKT7AhXJ1REIHUs-Dtk=" + } + }, + { + "menuNavigationItemRenderer": { + "icon": { + "iconType": "ADD_TO_PLAYLIST" + }, + "navigationEndpoint": { + "clickTrackingParams": "CHAQw5QGGAQiEwit6biWyKT7AhXJ1REIHUs-Dtk=", + "modalEndpoint": { + "modal": { + "modalWithTitleAndButtonRenderer": { + "button": { + "buttonRenderer": { + "isDisabled": false, + "navigationEndpoint": { + "clickTrackingParams": "CHEQ8FsiEwit6biWyKT7AhXJ1REIHUs-Dtk=", + "signInEndpoint": { + "hack": true + } + }, + "style": "STYLE_BLUE_TEXT", + "text": { + "runs": [ + { + "text": "Sign in" + } + ] + }, + "trackingParams": "CHEQ8FsiEwit6biWyKT7AhXJ1REIHUs-Dtk=" + } + }, + "content": { + "runs": [ + { + "text": "Make playlists and share them after signing in" + } + ] + }, + "title": { + "runs": [ + { + "text": "Save this for later" + } + ] + } + } + } + } + }, + "text": { + "runs": [ + { + "text": "Add to playlist" + } + ] + }, + "trackingParams": "CHAQw5QGGAQiEwit6biWyKT7AhXJ1REIHUs-Dtk=" + } + }, + { + "menuServiceItemRenderer": { + "icon": { + "iconType": "REMOVE" + }, + "serviceEndpoint": { + "clickTrackingParams": "CG4Q4_sFGAUiEwit6biWyKT7AhXJ1REIHUs-Dtk=", + "removeFromQueueEndpoint": { + "commands": [ + { + "addToToastAction": { + "item": { + "notificationTextRenderer": { + "successResponseText": { + "runs": [ + { + "text": "Item removed from queue" + } + ] + }, + "trackingParams": "CG8QyscDIhMIrem4lsik-wIVydURCB1LPg7Z" + } + } + }, + "clickTrackingParams": "CG4Q4_sFGAUiEwit6biWyKT7AhXJ1REIHUs-Dtk=" + } + ], + "videoId": "TaZkqPK0sbw" + } + }, + "text": { + "runs": [ + { + "text": "Remove from queue" + } + ] + }, + "trackingParams": "CG4Q4_sFGAUiEwit6biWyKT7AhXJ1REIHUs-Dtk=" + } + }, + { + "menuNavigationItemRenderer": { + "icon": { + "iconType": "ALBUM" + }, + "navigationEndpoint": { + "browseEndpoint": { + "browseEndpointContextSupportedConfigs": { + "browseEndpointContextMusicConfig": { + "pageType": "MUSIC_PAGE_TYPE_ALBUM" + } + }, + "browseId": "MPREb_R2vLzq7C3c7" + }, + "clickTrackingParams": "CG0Qj_sFGAYiEwit6biWyKT7AhXJ1REIHUs-Dtk=" + }, + "text": { + "runs": [ + { + "text": "Go to album" + } + ] + }, + "trackingParams": "CG0Qj_sFGAYiEwit6biWyKT7AhXJ1REIHUs-Dtk=" + } + }, + { + "menuNavigationItemRenderer": { + "icon": { + "iconType": "ARTIST" + }, + "navigationEndpoint": { + "browseEndpoint": { + "browseEndpointContextSupportedConfigs": { + "browseEndpointContextMusicConfig": { + "pageType": "MUSIC_PAGE_TYPE_ARTIST" + } + }, + "browseId": "UCIaFw5VBEK8qaW6nRpx_qnw" + }, + "clickTrackingParams": "CGwQkPsFGAciEwit6biWyKT7AhXJ1REIHUs-Dtk=" + }, + "text": { + "runs": [ + { + "text": "Go to artist" + } + ] + }, + "trackingParams": "CGwQkPsFGAciEwit6biWyKT7AhXJ1REIHUs-Dtk=" + } + }, + { + "menuNavigationItemRenderer": { + "icon": { + "iconType": "SHARE" + }, + "navigationEndpoint": { + "clickTrackingParams": "CGsQkfsFGAgiEwit6biWyKT7AhXJ1REIHUs-Dtk=", + "shareEntityEndpoint": { + "serializedShareEntity": "CgtUYVprcVBLMHNidw%3D%3D", + "sharePanelType": "SHARE_PANEL_TYPE_UNIFIED_SHARE_PANEL" + } + }, + "text": { + "runs": [ + { + "text": "Share" + } + ] + }, + "trackingParams": "CGsQkfsFGAgiEwit6biWyKT7AhXJ1REIHUs-Dtk=" + } + }, + { + "menuServiceItemRenderer": { + "icon": { + "iconType": "FLAG" + }, + "serviceEndpoint": { + "clickTrackingParams": "CGkQjfYJGAkiEwit6biWyKT7AhXJ1REIHUs-Dtk=", + "modalEndpoint": { + "modal": { + "modalWithTitleAndButtonRenderer": { + "button": { + "buttonRenderer": { + "isDisabled": false, + "navigationEndpoint": { + "clickTrackingParams": "CGoQ8FsiEwit6biWyKT7AhXJ1REIHUs-Dtk=", + "signInEndpoint": { + "hack": true + } + }, + "style": "STYLE_BLUE_TEXT", + "text": { + "runs": [ + { + "text": "Sign in" + } + ] + }, + "trackingParams": "CGoQ8FsiEwit6biWyKT7AhXJ1REIHUs-Dtk=" + } + }, + "content": { + "runs": [ + { + "text": "Sign in to report inappropriate content." + } + ] + }, + "title": { + "runs": [ + { + "text": "Need to report the video?" + } + ] + } + } + } + } + }, + "text": { + "runs": [ + { + "text": "Report" + } + ] + }, + "trackingParams": "CGkQjfYJGAkiEwit6biWyKT7AhXJ1REIHUs-Dtk=" + } + } + ], + "trackingParams": "CGgQyCAYESITCK3puJbIpPsCFcnVEQgdSz4O2Q==" + } + }, + "navigationEndpoint": { + "clickTrackingParams": "CGgQyCAYESITCK3puJbIpPsCFcnVEQgdSz4O2TIDQkZhSLzj0pWPlZnTTZoBBQgMEPgd", + "watchEndpoint": { + "index": 18, + "loggingContext": { + "vssLoggingContext": { + "serializedContextData": "GhFSREFNVk03bmlnWFFTMVhiMA%3D%3D" + } + }, + "params": "OAHyAQQIAXgB", + "playlistId": "RDAMVM7nigXQS1Xb0", + "playlistSetVideoId": "9E8144A350F4408B", + "videoId": "TaZkqPK0sbw", + "watchEndpointMusicSupportedConfigs": { + "watchEndpointMusicConfig": { + "hasPersistentPlaylistPanel": true, + "musicVideoType": "MUSIC_VIDEO_TYPE_ATV" + } + } + } + }, + "playlistSetVideoId": "9E8144A350F4408B", + "selected": false, + "shortBylineText": { + "runs": [ + { + "text": "Coldplay" + }, + { + "text": " & " + }, + { + "text": "BTS" + } + ] + }, + "thumbnail": { + "thumbnails": [ + { + "height": 60, + "url": "https://lh3.googleusercontent.com/HD2RXcgEO4uCgpe6_1TBEd8VviggmvWqqwuSbwMtIdqF2rGqOskUEtlrQZI0FoyYWCamApcMIn30yEMN=w60-h60-l90-rj", + "width": 60 + }, + { + "height": 120, + "url": "https://lh3.googleusercontent.com/HD2RXcgEO4uCgpe6_1TBEd8VviggmvWqqwuSbwMtIdqF2rGqOskUEtlrQZI0FoyYWCamApcMIn30yEMN=w120-h120-l90-rj", + "width": 120 + }, + { + "height": 180, + "url": "https://lh3.googleusercontent.com/HD2RXcgEO4uCgpe6_1TBEd8VviggmvWqqwuSbwMtIdqF2rGqOskUEtlrQZI0FoyYWCamApcMIn30yEMN=w180-h180-l90-rj", + "width": 180 + }, + { + "height": 226, + "url": "https://lh3.googleusercontent.com/HD2RXcgEO4uCgpe6_1TBEd8VviggmvWqqwuSbwMtIdqF2rGqOskUEtlrQZI0FoyYWCamApcMIn30yEMN=w226-h226-l90-rj", + "width": 226 + }, + { + "height": 302, + "url": "https://lh3.googleusercontent.com/HD2RXcgEO4uCgpe6_1TBEd8VviggmvWqqwuSbwMtIdqF2rGqOskUEtlrQZI0FoyYWCamApcMIn30yEMN=w302-h302-l90-rj", + "width": 302 + }, + { + "height": 544, + "url": "https://lh3.googleusercontent.com/HD2RXcgEO4uCgpe6_1TBEd8VviggmvWqqwuSbwMtIdqF2rGqOskUEtlrQZI0FoyYWCamApcMIn30yEMN=w544-h544-l90-rj", + "width": 544 + } + ] + }, + "title": { + "runs": [ + { + "text": "My Universe" + } + ] + }, + "trackingParams": "CGgQyCAYESITCK3puJbIpPsCFcnVEQgdSz4O2Q==", + "videoId": "TaZkqPK0sbw" + } + }, + { + "playlistPanelVideoRenderer": { + "canReorder": true, + "lengthText": { + "accessibility": { + "accessibilityData": { + "label": "3 minutes, 34 seconds" + } + }, + "runs": [ + { + "text": "3:34" + } + ] + }, + "longBylineText": { + "runs": [ + { + "navigationEndpoint": { + "browseEndpoint": { + "browseEndpointContextSupportedConfigs": { + "browseEndpointContextMusicConfig": { + "pageType": "MUSIC_PAGE_TYPE_ARTIST" + } + }, + "browseId": "UCB-GmTOjewVU2F_7S4ZFmEA" + }, + "clickTrackingParams": "CFcQyCAYEiITCK3puJbIpPsCFcnVEQgdSz4O2Q==" + }, + "text": "Zara Larsson" + }, + { + "text": " • " + }, + { + "navigationEndpoint": { + "browseEndpoint": { + "browseEndpointContextSupportedConfigs": { + "browseEndpointContextMusicConfig": { + "pageType": "MUSIC_PAGE_TYPE_ALBUM" + } + }, + "browseId": "MPREb_WUoGz8CYlsr" + }, + "clickTrackingParams": "CFcQyCAYEiITCK3puJbIpPsCFcnVEQgdSz4O2Q==" + }, + "text": "So Good" + }, + { + "text": " • " + }, + { + "text": "2017" + } + ] + }, + "menu": { + "menuRenderer": { + "accessibility": { + "accessibilityData": { + "label": "Action menu" + } + }, + "items": [ + { + "menuNavigationItemRenderer": { + "icon": { + "iconType": "MIX" + }, + "navigationEndpoint": { + "clickTrackingParams": "CGcQm_MFGAAiEwit6biWyKT7AhXJ1REIHUs-Dtk=", + "watchEndpoint": { + "loggingContext": { + "vssLoggingContext": { + "serializedContextData": "GhFSREFNVk1vZ0tVNUVRMFduMA%3D%3D" + } + }, + "params": "wAEB", + "playlistId": "RDAMVMogKU5EQ0Wn0", + "videoId": "ogKU5EQ0Wn0", + "watchEndpointMusicSupportedConfigs": { + "watchEndpointMusicConfig": { + "musicVideoType": "MUSIC_VIDEO_TYPE_ATV" + } + } + } + }, + "text": { + "runs": [ + { + "text": "Start radio" + } + ] + }, + "trackingParams": "CGcQm_MFGAAiEwit6biWyKT7AhXJ1REIHUs-Dtk=" + } + }, + { + "menuServiceItemRenderer": { + "icon": { + "iconType": "QUEUE_PLAY_NEXT" + }, + "serviceEndpoint": { + "clickTrackingParams": "CGUQvu4FGAEiEwit6biWyKT7AhXJ1REIHUs-Dtk=", + "queueAddEndpoint": { + "commands": [ + { + "addToToastAction": { + "item": { + "notificationTextRenderer": { + "successResponseText": { + "runs": [ + { + "text": "Song will play next" + } + ] + }, + "trackingParams": "CGYQyscDIhMIrem4lsik-wIVydURCB1LPg7Z" + } + } + }, + "clickTrackingParams": "CGUQvu4FGAEiEwit6biWyKT7AhXJ1REIHUs-Dtk=" + } + ], + "queueInsertPosition": "INSERT_AFTER_CURRENT_VIDEO", + "queueTarget": { + "videoId": "ogKU5EQ0Wn0" + } + } + }, + "text": { + "runs": [ + { + "text": "Play next" + } + ] + }, + "trackingParams": "CGUQvu4FGAEiEwit6biWyKT7AhXJ1REIHUs-Dtk=" + } + }, + { + "menuServiceItemRenderer": { + "icon": { + "iconType": "ADD_TO_REMOTE_QUEUE" + }, + "serviceEndpoint": { + "clickTrackingParams": "CGMQ--8FGAIiEwit6biWyKT7AhXJ1REIHUs-Dtk=", + "queueAddEndpoint": { + "commands": [ + { + "addToToastAction": { + "item": { + "notificationTextRenderer": { + "successResponseText": { + "runs": [ + { + "text": "Song added to queue" + } + ] + }, + "trackingParams": "CGQQyscDIhMIrem4lsik-wIVydURCB1LPg7Z" + } + } + }, + "clickTrackingParams": "CGMQ--8FGAIiEwit6biWyKT7AhXJ1REIHUs-Dtk=" + } + ], + "queueInsertPosition": "INSERT_AT_END", + "queueTarget": { + "videoId": "ogKU5EQ0Wn0" + } + } + }, + "text": { + "runs": [ + { + "text": "Add to queue" + } + ] + }, + "trackingParams": "CGMQ--8FGAIiEwit6biWyKT7AhXJ1REIHUs-Dtk=" + } + }, + { + "toggleMenuServiceItemRenderer": { + "defaultIcon": { + "iconType": "FAVORITE" + }, + "defaultServiceEndpoint": { + "clickTrackingParams": "CGEQjJ8GGAMiEwit6biWyKT7AhXJ1REIHUs-Dtk=", + "modalEndpoint": { + "modal": { + "modalWithTitleAndButtonRenderer": { + "button": { + "buttonRenderer": { + "isDisabled": false, + "navigationEndpoint": { + "clickTrackingParams": "CGIQ8FsiEwit6biWyKT7AhXJ1REIHUs-Dtk=", + "signInEndpoint": { + "hack": true + } + }, + "style": "STYLE_BLUE_TEXT", + "text": { + "runs": [ + { + "text": "Sign in" + } + ] + }, + "trackingParams": "CGIQ8FsiEwit6biWyKT7AhXJ1REIHUs-Dtk=" + } + }, + "content": { + "runs": [ + { + "text": "Improve recommendations and save music after signing in" + } + ] + }, + "title": { + "runs": [ + { + "text": "Like this song" + } + ] + } + } + } + } + }, + "defaultText": { + "runs": [ + { + "text": "Add to liked songs" + } + ] + }, + "toggledIcon": { + "iconType": "UNFAVORITE" + }, + "toggledText": { + "runs": [ + { + "text": "Remove from liked songs" + } + ] + }, + "trackingParams": "CGEQjJ8GGAMiEwit6biWyKT7AhXJ1REIHUs-Dtk=" + } + }, + { + "menuNavigationItemRenderer": { + "icon": { + "iconType": "ADD_TO_PLAYLIST" + }, + "navigationEndpoint": { + "clickTrackingParams": "CF8Qw5QGGAQiEwit6biWyKT7AhXJ1REIHUs-Dtk=", + "modalEndpoint": { + "modal": { + "modalWithTitleAndButtonRenderer": { + "button": { + "buttonRenderer": { + "isDisabled": false, + "navigationEndpoint": { + "clickTrackingParams": "CGAQ8FsiEwit6biWyKT7AhXJ1REIHUs-Dtk=", + "signInEndpoint": { + "hack": true + } + }, + "style": "STYLE_BLUE_TEXT", + "text": { + "runs": [ + { + "text": "Sign in" + } + ] + }, + "trackingParams": "CGAQ8FsiEwit6biWyKT7AhXJ1REIHUs-Dtk=" + } + }, + "content": { + "runs": [ + { + "text": "Make playlists and share them after signing in" + } + ] + }, + "title": { + "runs": [ + { + "text": "Save this for later" + } + ] + } + } + } + } + }, + "text": { + "runs": [ + { + "text": "Add to playlist" + } + ] + }, + "trackingParams": "CF8Qw5QGGAQiEwit6biWyKT7AhXJ1REIHUs-Dtk=" + } + }, + { + "menuServiceItemRenderer": { + "icon": { + "iconType": "REMOVE" + }, + "serviceEndpoint": { + "clickTrackingParams": "CF0Q4_sFGAUiEwit6biWyKT7AhXJ1REIHUs-Dtk=", + "removeFromQueueEndpoint": { + "commands": [ + { + "addToToastAction": { + "item": { + "notificationTextRenderer": { + "successResponseText": { + "runs": [ + { + "text": "Item removed from queue" + } + ] + }, + "trackingParams": "CF4QyscDIhMIrem4lsik-wIVydURCB1LPg7Z" + } + } + }, + "clickTrackingParams": "CF0Q4_sFGAUiEwit6biWyKT7AhXJ1REIHUs-Dtk=" + } + ], + "videoId": "ogKU5EQ0Wn0" + } + }, + "text": { + "runs": [ + { + "text": "Remove from queue" + } + ] + }, + "trackingParams": "CF0Q4_sFGAUiEwit6biWyKT7AhXJ1REIHUs-Dtk=" + } + }, + { + "menuNavigationItemRenderer": { + "icon": { + "iconType": "ALBUM" + }, + "navigationEndpoint": { + "browseEndpoint": { + "browseEndpointContextSupportedConfigs": { + "browseEndpointContextMusicConfig": { + "pageType": "MUSIC_PAGE_TYPE_ALBUM" + } + }, + "browseId": "MPREb_WUoGz8CYlsr" + }, + "clickTrackingParams": "CFwQj_sFGAYiEwit6biWyKT7AhXJ1REIHUs-Dtk=" + }, + "text": { + "runs": [ + { + "text": "Go to album" + } + ] + }, + "trackingParams": "CFwQj_sFGAYiEwit6biWyKT7AhXJ1REIHUs-Dtk=" + } + }, + { + "menuNavigationItemRenderer": { + "icon": { + "iconType": "ARTIST" + }, + "navigationEndpoint": { + "browseEndpoint": { + "browseEndpointContextSupportedConfigs": { + "browseEndpointContextMusicConfig": { + "pageType": "MUSIC_PAGE_TYPE_ARTIST" + } + }, + "browseId": "UCB-GmTOjewVU2F_7S4ZFmEA" + }, + "clickTrackingParams": "CFsQkPsFGAciEwit6biWyKT7AhXJ1REIHUs-Dtk=" + }, + "text": { + "runs": [ + { + "text": "Go to artist" + } + ] + }, + "trackingParams": "CFsQkPsFGAciEwit6biWyKT7AhXJ1REIHUs-Dtk=" + } + }, + { + "menuNavigationItemRenderer": { + "icon": { + "iconType": "SHARE" + }, + "navigationEndpoint": { + "clickTrackingParams": "CFoQkfsFGAgiEwit6biWyKT7AhXJ1REIHUs-Dtk=", + "shareEntityEndpoint": { + "serializedShareEntity": "CgtvZ0tVNUVRMFduMA%3D%3D", + "sharePanelType": "SHARE_PANEL_TYPE_UNIFIED_SHARE_PANEL" + } + }, + "text": { + "runs": [ + { + "text": "Share" + } + ] + }, + "trackingParams": "CFoQkfsFGAgiEwit6biWyKT7AhXJ1REIHUs-Dtk=" + } + }, + { + "menuServiceItemRenderer": { + "icon": { + "iconType": "FLAG" + }, + "serviceEndpoint": { + "clickTrackingParams": "CFgQjfYJGAkiEwit6biWyKT7AhXJ1REIHUs-Dtk=", + "modalEndpoint": { + "modal": { + "modalWithTitleAndButtonRenderer": { + "button": { + "buttonRenderer": { + "isDisabled": false, + "navigationEndpoint": { + "clickTrackingParams": "CFkQ8FsiEwit6biWyKT7AhXJ1REIHUs-Dtk=", + "signInEndpoint": { + "hack": true + } + }, + "style": "STYLE_BLUE_TEXT", + "text": { + "runs": [ + { + "text": "Sign in" + } + ] + }, + "trackingParams": "CFkQ8FsiEwit6biWyKT7AhXJ1REIHUs-Dtk=" + } + }, + "content": { + "runs": [ + { + "text": "Sign in to report inappropriate content." + } + ] + }, + "title": { + "runs": [ + { + "text": "Need to report the video?" + } + ] + } + } + } + } + }, + "text": { + "runs": [ + { + "text": "Report" + } + ] + }, + "trackingParams": "CFgQjfYJGAkiEwit6biWyKT7AhXJ1REIHUs-Dtk=" + } + } + ], + "trackingParams": "CFcQyCAYEiITCK3puJbIpPsCFcnVEQgdSz4O2Q==" + } + }, + "navigationEndpoint": { + "clickTrackingParams": "CFcQyCAYEiITCK3puJbIpPsCFcnVEQgdSz4O2TIDQkZhSP200aHEnKWBogGaAQUIDBD4HQ==", + "watchEndpoint": { + "index": 19, + "loggingContext": { + "vssLoggingContext": { + "serializedContextData": "GhFSREFNVk03bmlnWFFTMVhiMA%3D%3D" + } + }, + "params": "OAHyAQQIAXgB", + "playlistId": "RDAMVM7nigXQS1Xb0", + "playlistSetVideoId": "D458CC8D11735272", + "videoId": "ogKU5EQ0Wn0", + "watchEndpointMusicSupportedConfigs": { + "watchEndpointMusicConfig": { + "hasPersistentPlaylistPanel": true, + "musicVideoType": "MUSIC_VIDEO_TYPE_ATV" + } + } + } + }, + "playlistSetVideoId": "D458CC8D11735272", + "selected": false, + "shortBylineText": { + "runs": [ + { + "text": "Zara Larsson" + } + ] + }, + "thumbnail": { + "thumbnails": [ + { + "height": 60, + "url": "https://lh3.googleusercontent.com/EXn0CenKu6hc4x9y94qHoMzbAJLXx4JDgtESo88hI0T3bX8OoKLwi4vJft4GrX8HS8VLxLWB8jw0R19q=w60-h60-l90-rj", + "width": 60 + }, + { + "height": 120, + "url": "https://lh3.googleusercontent.com/EXn0CenKu6hc4x9y94qHoMzbAJLXx4JDgtESo88hI0T3bX8OoKLwi4vJft4GrX8HS8VLxLWB8jw0R19q=w120-h120-l90-rj", + "width": 120 + }, + { + "height": 180, + "url": "https://lh3.googleusercontent.com/EXn0CenKu6hc4x9y94qHoMzbAJLXx4JDgtESo88hI0T3bX8OoKLwi4vJft4GrX8HS8VLxLWB8jw0R19q=w180-h180-l90-rj", + "width": 180 + }, + { + "height": 226, + "url": "https://lh3.googleusercontent.com/EXn0CenKu6hc4x9y94qHoMzbAJLXx4JDgtESo88hI0T3bX8OoKLwi4vJft4GrX8HS8VLxLWB8jw0R19q=w226-h226-l90-rj", + "width": 226 + }, + { + "height": 302, + "url": "https://lh3.googleusercontent.com/EXn0CenKu6hc4x9y94qHoMzbAJLXx4JDgtESo88hI0T3bX8OoKLwi4vJft4GrX8HS8VLxLWB8jw0R19q=w302-h302-l90-rj", + "width": 302 + }, + { + "height": 544, + "url": "https://lh3.googleusercontent.com/EXn0CenKu6hc4x9y94qHoMzbAJLXx4JDgtESo88hI0T3bX8OoKLwi4vJft4GrX8HS8VLxLWB8jw0R19q=w544-h544-l90-rj", + "width": 544 + } + ] + }, + "title": { + "runs": [ + { + "text": "Never Forget You" + } + ] + }, + "trackingParams": "CFcQyCAYEiITCK3puJbIpPsCFcnVEQgdSz4O2Q==", + "videoId": "ogKU5EQ0Wn0" + } + }, + { + "playlistPanelVideoRenderer": { + "canReorder": true, + "lengthText": { + "accessibility": { + "accessibilityData": { + "label": "2 minutes, 57 seconds" + } + }, + "runs": [ + { + "text": "2:57" + } + ] + }, + "longBylineText": { + "runs": [ + { + "navigationEndpoint": { + "browseEndpoint": { + "browseEndpointContextSupportedConfigs": { + "browseEndpointContextMusicConfig": { + "pageType": "MUSIC_PAGE_TYPE_ARTIST" + } + }, + "browseId": "UC_4Y1QqJr60C5Z7-eQWy-mw" + }, + "clickTrackingParams": "CEYQyCAYEyITCK3puJbIpPsCFcnVEQgdSz4O2Q==" + }, + "text": "IVE" + }, + { + "text": " • " + }, + { + "navigationEndpoint": { + "browseEndpoint": { + "browseEndpointContextSupportedConfigs": { + "browseEndpointContextMusicConfig": { + "pageType": "MUSIC_PAGE_TYPE_ALBUM" + } + }, + "browseId": "MPREb_Bfjf00mXFJe" + }, + "clickTrackingParams": "CEYQyCAYEyITCK3puJbIpPsCFcnVEQgdSz4O2Q==" + }, + "text": "After LIKE" + }, + { + "text": " • " + }, + { + "text": "2022" + } + ] + }, + "menu": { + "menuRenderer": { + "accessibility": { + "accessibilityData": { + "label": "Action menu" + } + }, + "items": [ + { + "menuNavigationItemRenderer": { + "icon": { + "iconType": "MIX" + }, + "navigationEndpoint": { + "clickTrackingParams": "CFYQm_MFGAAiEwit6biWyKT7AhXJ1REIHUs-Dtk=", + "watchEndpoint": { + "loggingContext": { + "vssLoggingContext": { + "serializedContextData": "GhFSREFNVk1nOTJISWFjOXVmQQ%3D%3D" + } + }, + "params": "wAEB", + "playlistId": "RDAMVMg92HIac9ufA", + "videoId": "g92HIac9ufA", + "watchEndpointMusicSupportedConfigs": { + "watchEndpointMusicConfig": { + "musicVideoType": "MUSIC_VIDEO_TYPE_ATV" + } + } + } + }, + "text": { + "runs": [ + { + "text": "Start radio" + } + ] + }, + "trackingParams": "CFYQm_MFGAAiEwit6biWyKT7AhXJ1REIHUs-Dtk=" + } + }, + { + "menuServiceItemRenderer": { + "icon": { + "iconType": "QUEUE_PLAY_NEXT" + }, + "serviceEndpoint": { + "clickTrackingParams": "CFQQvu4FGAEiEwit6biWyKT7AhXJ1REIHUs-Dtk=", + "queueAddEndpoint": { + "commands": [ + { + "addToToastAction": { + "item": { + "notificationTextRenderer": { + "successResponseText": { + "runs": [ + { + "text": "Song will play next" + } + ] + }, + "trackingParams": "CFUQyscDIhMIrem4lsik-wIVydURCB1LPg7Z" + } + } + }, + "clickTrackingParams": "CFQQvu4FGAEiEwit6biWyKT7AhXJ1REIHUs-Dtk=" + } + ], + "queueInsertPosition": "INSERT_AFTER_CURRENT_VIDEO", + "queueTarget": { + "videoId": "g92HIac9ufA" + } + } + }, + "text": { + "runs": [ + { + "text": "Play next" + } + ] + }, + "trackingParams": "CFQQvu4FGAEiEwit6biWyKT7AhXJ1REIHUs-Dtk=" + } + }, + { + "menuServiceItemRenderer": { + "icon": { + "iconType": "ADD_TO_REMOTE_QUEUE" + }, + "serviceEndpoint": { + "clickTrackingParams": "CFIQ--8FGAIiEwit6biWyKT7AhXJ1REIHUs-Dtk=", + "queueAddEndpoint": { + "commands": [ + { + "addToToastAction": { + "item": { + "notificationTextRenderer": { + "successResponseText": { + "runs": [ + { + "text": "Song added to queue" + } + ] + }, + "trackingParams": "CFMQyscDIhMIrem4lsik-wIVydURCB1LPg7Z" + } + } + }, + "clickTrackingParams": "CFIQ--8FGAIiEwit6biWyKT7AhXJ1REIHUs-Dtk=" + } + ], + "queueInsertPosition": "INSERT_AT_END", + "queueTarget": { + "videoId": "g92HIac9ufA" + } + } + }, + "text": { + "runs": [ + { + "text": "Add to queue" + } + ] + }, + "trackingParams": "CFIQ--8FGAIiEwit6biWyKT7AhXJ1REIHUs-Dtk=" + } + }, + { + "toggleMenuServiceItemRenderer": { + "defaultIcon": { + "iconType": "FAVORITE" + }, + "defaultServiceEndpoint": { + "clickTrackingParams": "CFAQjJ8GGAMiEwit6biWyKT7AhXJ1REIHUs-Dtk=", + "modalEndpoint": { + "modal": { + "modalWithTitleAndButtonRenderer": { + "button": { + "buttonRenderer": { + "isDisabled": false, + "navigationEndpoint": { + "clickTrackingParams": "CFEQ8FsiEwit6biWyKT7AhXJ1REIHUs-Dtk=", + "signInEndpoint": { + "hack": true + } + }, + "style": "STYLE_BLUE_TEXT", + "text": { + "runs": [ + { + "text": "Sign in" + } + ] + }, + "trackingParams": "CFEQ8FsiEwit6biWyKT7AhXJ1REIHUs-Dtk=" + } + }, + "content": { + "runs": [ + { + "text": "Improve recommendations and save music after signing in" + } + ] + }, + "title": { + "runs": [ + { + "text": "Like this song" + } + ] + } + } + } + } + }, + "defaultText": { + "runs": [ + { + "text": "Add to liked songs" + } + ] + }, + "toggledIcon": { + "iconType": "UNFAVORITE" + }, + "toggledText": { + "runs": [ + { + "text": "Remove from liked songs" + } + ] + }, + "trackingParams": "CFAQjJ8GGAMiEwit6biWyKT7AhXJ1REIHUs-Dtk=" + } + }, + { + "menuNavigationItemRenderer": { + "icon": { + "iconType": "ADD_TO_PLAYLIST" + }, + "navigationEndpoint": { + "clickTrackingParams": "CE4Qw5QGGAQiEwit6biWyKT7AhXJ1REIHUs-Dtk=", + "modalEndpoint": { + "modal": { + "modalWithTitleAndButtonRenderer": { + "button": { + "buttonRenderer": { + "isDisabled": false, + "navigationEndpoint": { + "clickTrackingParams": "CE8Q8FsiEwit6biWyKT7AhXJ1REIHUs-Dtk=", + "signInEndpoint": { + "hack": true + } + }, + "style": "STYLE_BLUE_TEXT", + "text": { + "runs": [ + { + "text": "Sign in" + } + ] + }, + "trackingParams": "CE8Q8FsiEwit6biWyKT7AhXJ1REIHUs-Dtk=" + } + }, + "content": { + "runs": [ + { + "text": "Make playlists and share them after signing in" + } + ] + }, + "title": { + "runs": [ + { + "text": "Save this for later" + } + ] + } + } + } + } + }, + "text": { + "runs": [ + { + "text": "Add to playlist" + } + ] + }, + "trackingParams": "CE4Qw5QGGAQiEwit6biWyKT7AhXJ1REIHUs-Dtk=" + } + }, + { + "menuServiceItemRenderer": { + "icon": { + "iconType": "REMOVE" + }, + "serviceEndpoint": { + "clickTrackingParams": "CEwQ4_sFGAUiEwit6biWyKT7AhXJ1REIHUs-Dtk=", + "removeFromQueueEndpoint": { + "commands": [ + { + "addToToastAction": { + "item": { + "notificationTextRenderer": { + "successResponseText": { + "runs": [ + { + "text": "Item removed from queue" + } + ] + }, + "trackingParams": "CE0QyscDIhMIrem4lsik-wIVydURCB1LPg7Z" + } + } + }, + "clickTrackingParams": "CEwQ4_sFGAUiEwit6biWyKT7AhXJ1REIHUs-Dtk=" + } + ], + "videoId": "g92HIac9ufA" + } + }, + "text": { + "runs": [ + { + "text": "Remove from queue" + } + ] + }, + "trackingParams": "CEwQ4_sFGAUiEwit6biWyKT7AhXJ1REIHUs-Dtk=" + } + }, + { + "menuNavigationItemRenderer": { + "icon": { + "iconType": "ALBUM" + }, + "navigationEndpoint": { + "browseEndpoint": { + "browseEndpointContextSupportedConfigs": { + "browseEndpointContextMusicConfig": { + "pageType": "MUSIC_PAGE_TYPE_ALBUM" + } + }, + "browseId": "MPREb_Bfjf00mXFJe" + }, + "clickTrackingParams": "CEsQj_sFGAYiEwit6biWyKT7AhXJ1REIHUs-Dtk=" + }, + "text": { + "runs": [ + { + "text": "Go to album" + } + ] + }, + "trackingParams": "CEsQj_sFGAYiEwit6biWyKT7AhXJ1REIHUs-Dtk=" + } + }, + { + "menuNavigationItemRenderer": { + "icon": { + "iconType": "ARTIST" + }, + "navigationEndpoint": { + "browseEndpoint": { + "browseEndpointContextSupportedConfigs": { + "browseEndpointContextMusicConfig": { + "pageType": "MUSIC_PAGE_TYPE_ARTIST" + } + }, + "browseId": "UC_4Y1QqJr60C5Z7-eQWy-mw" + }, + "clickTrackingParams": "CEoQkPsFGAciEwit6biWyKT7AhXJ1REIHUs-Dtk=" + }, + "text": { + "runs": [ + { + "text": "Go to artist" + } + ] + }, + "trackingParams": "CEoQkPsFGAciEwit6biWyKT7AhXJ1REIHUs-Dtk=" + } + }, + { + "menuNavigationItemRenderer": { + "icon": { + "iconType": "SHARE" + }, + "navigationEndpoint": { + "clickTrackingParams": "CEkQkfsFGAgiEwit6biWyKT7AhXJ1REIHUs-Dtk=", + "shareEntityEndpoint": { + "serializedShareEntity": "CgtnOTJISWFjOXVmQQ%3D%3D", + "sharePanelType": "SHARE_PANEL_TYPE_UNIFIED_SHARE_PANEL" + } + }, + "text": { + "runs": [ + { + "text": "Share" + } + ] + }, + "trackingParams": "CEkQkfsFGAgiEwit6biWyKT7AhXJ1REIHUs-Dtk=" + } + }, + { + "menuServiceItemRenderer": { + "icon": { + "iconType": "FLAG" + }, + "serviceEndpoint": { + "clickTrackingParams": "CEcQjfYJGAkiEwit6biWyKT7AhXJ1REIHUs-Dtk=", + "modalEndpoint": { + "modal": { + "modalWithTitleAndButtonRenderer": { + "button": { + "buttonRenderer": { + "isDisabled": false, + "navigationEndpoint": { + "clickTrackingParams": "CEgQ8FsiEwit6biWyKT7AhXJ1REIHUs-Dtk=", + "signInEndpoint": { + "hack": true + } + }, + "style": "STYLE_BLUE_TEXT", + "text": { + "runs": [ + { + "text": "Sign in" + } + ] + }, + "trackingParams": "CEgQ8FsiEwit6biWyKT7AhXJ1REIHUs-Dtk=" + } + }, + "content": { + "runs": [ + { + "text": "Sign in to report inappropriate content." + } + ] + }, + "title": { + "runs": [ + { + "text": "Need to report the video?" + } + ] + } + } + } + } + }, + "text": { + "runs": [ + { + "text": "Report" + } + ] + }, + "trackingParams": "CEcQjfYJGAkiEwit6biWyKT7AhXJ1REIHUs-Dtk=" + } + } + ], + "trackingParams": "CEYQyCAYEyITCK3puJbIpPsCFcnVEQgdSz4O2Q==" + } + }, + "navigationEndpoint": { + "clickTrackingParams": "CEYQyCAYEyITCK3puJbIpPsCFcnVEQgdSz4O2TIDQkZhSPDz9rma5OHugwGaAQUIDBD4HQ==", + "watchEndpoint": { + "index": 20, + "loggingContext": { + "vssLoggingContext": { + "serializedContextData": "GhFSREFNVk03bmlnWFFTMVhiMA%3D%3D" + } + }, + "params": "OAHyAQQIAXgB", + "playlistId": "RDAMVM7nigXQS1Xb0", + "playlistSetVideoId": "208A2CA64C241A85", + "videoId": "g92HIac9ufA", + "watchEndpointMusicSupportedConfigs": { + "watchEndpointMusicConfig": { + "hasPersistentPlaylistPanel": true, + "musicVideoType": "MUSIC_VIDEO_TYPE_ATV" + } + } + } + }, + "playlistSetVideoId": "208A2CA64C241A85", + "selected": false, + "shortBylineText": { + "runs": [ + { + "text": "IVE" + } + ] + }, + "thumbnail": { + "thumbnails": [ + { + "height": 60, + "url": "https://lh3.googleusercontent.com/kbwN5hyEYdCuz98kPGZfBKjp3acqdvVFXSeihO92ZZilc4FzfrELauOQD7v5Iede-8qIK2tkBRu89g6vJA=w60-h60-l90-rj", + "width": 60 + }, + { + "height": 120, + "url": "https://lh3.googleusercontent.com/kbwN5hyEYdCuz98kPGZfBKjp3acqdvVFXSeihO92ZZilc4FzfrELauOQD7v5Iede-8qIK2tkBRu89g6vJA=w120-h120-l90-rj", + "width": 120 + }, + { + "height": 180, + "url": "https://lh3.googleusercontent.com/kbwN5hyEYdCuz98kPGZfBKjp3acqdvVFXSeihO92ZZilc4FzfrELauOQD7v5Iede-8qIK2tkBRu89g6vJA=w180-h180-l90-rj", + "width": 180 + }, + { + "height": 226, + "url": "https://lh3.googleusercontent.com/kbwN5hyEYdCuz98kPGZfBKjp3acqdvVFXSeihO92ZZilc4FzfrELauOQD7v5Iede-8qIK2tkBRu89g6vJA=w226-h226-l90-rj", + "width": 226 + }, + { + "height": 302, + "url": "https://lh3.googleusercontent.com/kbwN5hyEYdCuz98kPGZfBKjp3acqdvVFXSeihO92ZZilc4FzfrELauOQD7v5Iede-8qIK2tkBRu89g6vJA=w302-h302-l90-rj", + "width": 302 + }, + { + "height": 544, + "url": "https://lh3.googleusercontent.com/kbwN5hyEYdCuz98kPGZfBKjp3acqdvVFXSeihO92ZZilc4FzfrELauOQD7v5Iede-8qIK2tkBRu89g6vJA=w544-h544-l90-rj", + "width": 544 + } + ] + }, + "title": { + "runs": [ + { + "text": "After LIKE" + } + ] + }, + "trackingParams": "CEYQyCAYEyITCK3puJbIpPsCFcnVEQgdSz4O2Q==", + "videoId": "g92HIac9ufA" + } + }, + { + "playlistPanelVideoRenderer": { + "canReorder": true, + "lengthText": { + "accessibility": { + "accessibilityData": { + "label": "3 minutes, 21 seconds" + } + }, + "runs": [ + { + "text": "3:21" + } + ] + }, + "longBylineText": { + "runs": [ + { + "navigationEndpoint": { + "browseEndpoint": { + "browseEndpointContextSupportedConfigs": { + "browseEndpointContextMusicConfig": { + "pageType": "MUSIC_PAGE_TYPE_ARTIST" + } + }, + "browseId": "UCXtPv6CbKfuXPNj3MyKFOig" + }, + "clickTrackingParams": "CDUQyCAYFCITCK3puJbIpPsCFcnVEQgdSz4O2Q==" + }, + "text": "LISA" + }, + { + "text": " • " + }, + { + "navigationEndpoint": { + "browseEndpoint": { + "browseEndpointContextSupportedConfigs": { + "browseEndpointContextMusicConfig": { + "pageType": "MUSIC_PAGE_TYPE_ALBUM" + } + }, + "browseId": "MPREb_cVNd9lq4Xy4" + }, + "clickTrackingParams": "CDUQyCAYFCITCK3puJbIpPsCFcnVEQgdSz4O2Q==" + }, + "text": "LALISA" + }, + { + "text": " • " + }, + { + "text": "2021" + } + ] + }, + "menu": { + "menuRenderer": { + "accessibility": { + "accessibilityData": { + "label": "Action menu" + } + }, + "items": [ + { + "menuNavigationItemRenderer": { + "icon": { + "iconType": "MIX" + }, + "navigationEndpoint": { + "clickTrackingParams": "CEUQm_MFGAAiEwit6biWyKT7AhXJ1REIHUs-Dtk=", + "watchEndpoint": { + "loggingContext": { + "vssLoggingContext": { + "serializedContextData": "GhFSREFNVk1fRTZnRFUwbV9oaw%3D%3D" + } + }, + "params": "wAEB", + "playlistId": "RDAMVM_E6gDU0m_hk", + "videoId": "_E6gDU0m_hk", + "watchEndpointMusicSupportedConfigs": { + "watchEndpointMusicConfig": { + "musicVideoType": "MUSIC_VIDEO_TYPE_ATV" + } + } + } + }, + "text": { + "runs": [ + { + "text": "Start radio" + } + ] + }, + "trackingParams": "CEUQm_MFGAAiEwit6biWyKT7AhXJ1REIHUs-Dtk=" + } + }, + { + "menuServiceItemRenderer": { + "icon": { + "iconType": "QUEUE_PLAY_NEXT" + }, + "serviceEndpoint": { + "clickTrackingParams": "CEMQvu4FGAEiEwit6biWyKT7AhXJ1REIHUs-Dtk=", + "queueAddEndpoint": { + "commands": [ + { + "addToToastAction": { + "item": { + "notificationTextRenderer": { + "successResponseText": { + "runs": [ + { + "text": "Song will play next" + } + ] + }, + "trackingParams": "CEQQyscDIhMIrem4lsik-wIVydURCB1LPg7Z" + } + } + }, + "clickTrackingParams": "CEMQvu4FGAEiEwit6biWyKT7AhXJ1REIHUs-Dtk=" + } + ], + "queueInsertPosition": "INSERT_AFTER_CURRENT_VIDEO", + "queueTarget": { + "videoId": "_E6gDU0m_hk" + } + } + }, + "text": { + "runs": [ + { + "text": "Play next" + } + ] + }, + "trackingParams": "CEMQvu4FGAEiEwit6biWyKT7AhXJ1REIHUs-Dtk=" + } + }, + { + "menuServiceItemRenderer": { + "icon": { + "iconType": "ADD_TO_REMOTE_QUEUE" + }, + "serviceEndpoint": { + "clickTrackingParams": "CEEQ--8FGAIiEwit6biWyKT7AhXJ1REIHUs-Dtk=", + "queueAddEndpoint": { + "commands": [ + { + "addToToastAction": { + "item": { + "notificationTextRenderer": { + "successResponseText": { + "runs": [ + { + "text": "Song added to queue" + } + ] + }, + "trackingParams": "CEIQyscDIhMIrem4lsik-wIVydURCB1LPg7Z" + } + } + }, + "clickTrackingParams": "CEEQ--8FGAIiEwit6biWyKT7AhXJ1REIHUs-Dtk=" + } + ], + "queueInsertPosition": "INSERT_AT_END", + "queueTarget": { + "videoId": "_E6gDU0m_hk" + } + } + }, + "text": { + "runs": [ + { + "text": "Add to queue" + } + ] + }, + "trackingParams": "CEEQ--8FGAIiEwit6biWyKT7AhXJ1REIHUs-Dtk=" + } + }, + { + "toggleMenuServiceItemRenderer": { + "defaultIcon": { + "iconType": "FAVORITE" + }, + "defaultServiceEndpoint": { + "clickTrackingParams": "CD8QjJ8GGAMiEwit6biWyKT7AhXJ1REIHUs-Dtk=", + "modalEndpoint": { + "modal": { + "modalWithTitleAndButtonRenderer": { + "button": { + "buttonRenderer": { + "isDisabled": false, + "navigationEndpoint": { + "clickTrackingParams": "CEAQ8FsiEwit6biWyKT7AhXJ1REIHUs-Dtk=", + "signInEndpoint": { + "hack": true + } + }, + "style": "STYLE_BLUE_TEXT", + "text": { + "runs": [ + { + "text": "Sign in" + } + ] + }, + "trackingParams": "CEAQ8FsiEwit6biWyKT7AhXJ1REIHUs-Dtk=" + } + }, + "content": { + "runs": [ + { + "text": "Improve recommendations and save music after signing in" + } + ] + }, + "title": { + "runs": [ + { + "text": "Like this song" + } + ] + } + } + } + } + }, + "defaultText": { + "runs": [ + { + "text": "Add to liked songs" + } + ] + }, + "toggledIcon": { + "iconType": "UNFAVORITE" + }, + "toggledText": { + "runs": [ + { + "text": "Remove from liked songs" + } + ] + }, + "trackingParams": "CD8QjJ8GGAMiEwit6biWyKT7AhXJ1REIHUs-Dtk=" + } + }, + { + "menuNavigationItemRenderer": { + "icon": { + "iconType": "ADD_TO_PLAYLIST" + }, + "navigationEndpoint": { + "clickTrackingParams": "CD0Qw5QGGAQiEwit6biWyKT7AhXJ1REIHUs-Dtk=", + "modalEndpoint": { + "modal": { + "modalWithTitleAndButtonRenderer": { + "button": { + "buttonRenderer": { + "isDisabled": false, + "navigationEndpoint": { + "clickTrackingParams": "CD4Q8FsiEwit6biWyKT7AhXJ1REIHUs-Dtk=", + "signInEndpoint": { + "hack": true + } + }, + "style": "STYLE_BLUE_TEXT", + "text": { + "runs": [ + { + "text": "Sign in" + } + ] + }, + "trackingParams": "CD4Q8FsiEwit6biWyKT7AhXJ1REIHUs-Dtk=" + } + }, + "content": { + "runs": [ + { + "text": "Make playlists and share them after signing in" + } + ] + }, + "title": { + "runs": [ + { + "text": "Save this for later" + } + ] + } + } + } + } + }, + "text": { + "runs": [ + { + "text": "Add to playlist" + } + ] + }, + "trackingParams": "CD0Qw5QGGAQiEwit6biWyKT7AhXJ1REIHUs-Dtk=" + } + }, + { + "menuServiceItemRenderer": { + "icon": { + "iconType": "REMOVE" + }, + "serviceEndpoint": { + "clickTrackingParams": "CDsQ4_sFGAUiEwit6biWyKT7AhXJ1REIHUs-Dtk=", + "removeFromQueueEndpoint": { + "commands": [ + { + "addToToastAction": { + "item": { + "notificationTextRenderer": { + "successResponseText": { + "runs": [ + { + "text": "Item removed from queue" + } + ] + }, + "trackingParams": "CDwQyscDIhMIrem4lsik-wIVydURCB1LPg7Z" + } + } + }, + "clickTrackingParams": "CDsQ4_sFGAUiEwit6biWyKT7AhXJ1REIHUs-Dtk=" + } + ], + "videoId": "_E6gDU0m_hk" + } + }, + "text": { + "runs": [ + { + "text": "Remove from queue" + } + ] + }, + "trackingParams": "CDsQ4_sFGAUiEwit6biWyKT7AhXJ1REIHUs-Dtk=" + } + }, + { + "menuNavigationItemRenderer": { + "icon": { + "iconType": "ALBUM" + }, + "navigationEndpoint": { + "browseEndpoint": { + "browseEndpointContextSupportedConfigs": { + "browseEndpointContextMusicConfig": { + "pageType": "MUSIC_PAGE_TYPE_ALBUM" + } + }, + "browseId": "MPREb_cVNd9lq4Xy4" + }, + "clickTrackingParams": "CDoQj_sFGAYiEwit6biWyKT7AhXJ1REIHUs-Dtk=" + }, + "text": { + "runs": [ + { + "text": "Go to album" + } + ] + }, + "trackingParams": "CDoQj_sFGAYiEwit6biWyKT7AhXJ1REIHUs-Dtk=" + } + }, + { + "menuNavigationItemRenderer": { + "icon": { + "iconType": "ARTIST" + }, + "navigationEndpoint": { + "browseEndpoint": { + "browseEndpointContextSupportedConfigs": { + "browseEndpointContextMusicConfig": { + "pageType": "MUSIC_PAGE_TYPE_ARTIST" + } + }, + "browseId": "UCXtPv6CbKfuXPNj3MyKFOig" + }, + "clickTrackingParams": "CDkQkPsFGAciEwit6biWyKT7AhXJ1REIHUs-Dtk=" + }, + "text": { + "runs": [ + { + "text": "Go to artist" + } + ] + }, + "trackingParams": "CDkQkPsFGAciEwit6biWyKT7AhXJ1REIHUs-Dtk=" + } + }, + { + "menuNavigationItemRenderer": { + "icon": { + "iconType": "SHARE" + }, + "navigationEndpoint": { + "clickTrackingParams": "CDgQkfsFGAgiEwit6biWyKT7AhXJ1REIHUs-Dtk=", + "shareEntityEndpoint": { + "serializedShareEntity": "CgtfRTZnRFUwbV9oaw%3D%3D", + "sharePanelType": "SHARE_PANEL_TYPE_UNIFIED_SHARE_PANEL" + } + }, + "text": { + "runs": [ + { + "text": "Share" + } + ] + }, + "trackingParams": "CDgQkfsFGAgiEwit6biWyKT7AhXJ1REIHUs-Dtk=" + } + }, + { + "menuServiceItemRenderer": { + "icon": { + "iconType": "FLAG" + }, + "serviceEndpoint": { + "clickTrackingParams": "CDYQjfYJGAkiEwit6biWyKT7AhXJ1REIHUs-Dtk=", + "modalEndpoint": { + "modal": { + "modalWithTitleAndButtonRenderer": { + "button": { + "buttonRenderer": { + "isDisabled": false, + "navigationEndpoint": { + "clickTrackingParams": "CDcQ8FsiEwit6biWyKT7AhXJ1REIHUs-Dtk=", + "signInEndpoint": { + "hack": true + } + }, + "style": "STYLE_BLUE_TEXT", + "text": { + "runs": [ + { + "text": "Sign in" + } + ] + }, + "trackingParams": "CDcQ8FsiEwit6biWyKT7AhXJ1REIHUs-Dtk=" + } + }, + "content": { + "runs": [ + { + "text": "Sign in to report inappropriate content." + } + ] + }, + "title": { + "runs": [ + { + "text": "Need to report the video?" + } + ] + } + } + } + } + }, + "text": { + "runs": [ + { + "text": "Report" + } + ] + }, + "trackingParams": "CDYQjfYJGAkiEwit6biWyKT7AhXJ1REIHUs-Dtk=" + } + } + ], + "trackingParams": "CDUQyCAYFCITCK3puJbIpPsCFcnVEQgdSz4O2Q==" + } + }, + "navigationEndpoint": { + "clickTrackingParams": "CDUQyCAYFCITCK3puJbIpPsCFcnVEQgdSz4O2TIDQkZhSJn8m-nUgain_AGaAQUIDBD4HQ==", + "watchEndpoint": { + "index": 21, + "loggingContext": { + "vssLoggingContext": { + "serializedContextData": "GhFSREFNVk03bmlnWFFTMVhiMA%3D%3D" + } + }, + "params": "OAHyAQQIAXgB", + "playlistId": "RDAMVM7nigXQS1Xb0", + "playlistSetVideoId": "F3D73C336952E57D", + "videoId": "_E6gDU0m_hk", + "watchEndpointMusicSupportedConfigs": { + "watchEndpointMusicConfig": { + "hasPersistentPlaylistPanel": true, + "musicVideoType": "MUSIC_VIDEO_TYPE_ATV" + } + } + } + }, + "playlistSetVideoId": "F3D73C336952E57D", + "selected": false, + "shortBylineText": { + "runs": [ + { + "text": "LISA" + } + ] + }, + "thumbnail": { + "thumbnails": [ + { + "height": 60, + "url": "https://lh3.googleusercontent.com/jFaQSwiqG6yIWfOuscZTJsDZSe_mNsHCjHcoXU9MH9hZogX953RTOK8KeilxStWjYti9LZpl__ymOft4=w60-h60-l90-rj", + "width": 60 + }, + { + "height": 120, + "url": "https://lh3.googleusercontent.com/jFaQSwiqG6yIWfOuscZTJsDZSe_mNsHCjHcoXU9MH9hZogX953RTOK8KeilxStWjYti9LZpl__ymOft4=w120-h120-l90-rj", + "width": 120 + }, + { + "height": 180, + "url": "https://lh3.googleusercontent.com/jFaQSwiqG6yIWfOuscZTJsDZSe_mNsHCjHcoXU9MH9hZogX953RTOK8KeilxStWjYti9LZpl__ymOft4=w180-h180-l90-rj", + "width": 180 + }, + { + "height": 226, + "url": "https://lh3.googleusercontent.com/jFaQSwiqG6yIWfOuscZTJsDZSe_mNsHCjHcoXU9MH9hZogX953RTOK8KeilxStWjYti9LZpl__ymOft4=w226-h226-l90-rj", + "width": 226 + }, + { + "height": 302, + "url": "https://lh3.googleusercontent.com/jFaQSwiqG6yIWfOuscZTJsDZSe_mNsHCjHcoXU9MH9hZogX953RTOK8KeilxStWjYti9LZpl__ymOft4=w302-h302-l90-rj", + "width": 302 + }, + { + "height": 544, + "url": "https://lh3.googleusercontent.com/jFaQSwiqG6yIWfOuscZTJsDZSe_mNsHCjHcoXU9MH9hZogX953RTOK8KeilxStWjYti9LZpl__ymOft4=w544-h544-l90-rj", + "width": 544 + } + ] + }, + "title": { + "runs": [ + { + "text": "LALISA" + } + ] + }, + "trackingParams": "CDUQyCAYFCITCK3puJbIpPsCFcnVEQgdSz4O2Q==", + "videoId": "_E6gDU0m_hk" + } + }, + { + "playlistPanelVideoRenderer": { + "canReorder": true, + "lengthText": { + "accessibility": { + "accessibilityData": { + "label": "3 minutes, 18 seconds" + } + }, + "runs": [ + { + "text": "3:18" + } + ] + }, + "longBylineText": { + "runs": [ + { + "navigationEndpoint": { + "browseEndpoint": { + "browseEndpointContextSupportedConfigs": { + "browseEndpointContextMusicConfig": { + "pageType": "MUSIC_PAGE_TYPE_ARTIST" + } + }, + "browseId": "UChm_d4qO8txdwS4YadlvpSw" + }, + "clickTrackingParams": "CCQQyCAYFSITCK3puJbIpPsCFcnVEQgdSz4O2Q==" + }, + "text": "브레이브걸스" + }, + { + "text": " • " + }, + { + "navigationEndpoint": { + "browseEndpoint": { + "browseEndpointContextSupportedConfigs": { + "browseEndpointContextMusicConfig": { + "pageType": "MUSIC_PAGE_TYPE_ALBUM" + } + }, + "browseId": "MPREb_4LJoUl7GX3z" + }, + "clickTrackingParams": "CCQQyCAYFSITCK3puJbIpPsCFcnVEQgdSz4O2Q==" + }, + "text": "Rollin'" + }, + { + "text": " • " + }, + { + "text": "2017" + } + ] + }, + "menu": { + "menuRenderer": { + "accessibility": { + "accessibilityData": { + "label": "Action menu" + } + }, + "items": [ + { + "menuNavigationItemRenderer": { + "icon": { + "iconType": "MIX" + }, + "navigationEndpoint": { + "clickTrackingParams": "CDQQm_MFGAAiEwit6biWyKT7AhXJ1REIHUs-Dtk=", + "watchEndpoint": { + "loggingContext": { + "vssLoggingContext": { + "serializedContextData": "GhFSREFNVk1GckVEbnk1NWNoOA%3D%3D" + } + }, + "params": "wAEB", + "playlistId": "RDAMVMFrEDny55ch8", + "videoId": "FrEDny55ch8", + "watchEndpointMusicSupportedConfigs": { + "watchEndpointMusicConfig": { + "musicVideoType": "MUSIC_VIDEO_TYPE_ATV" + } + } + } + }, + "text": { + "runs": [ + { + "text": "Start radio" + } + ] + }, + "trackingParams": "CDQQm_MFGAAiEwit6biWyKT7AhXJ1REIHUs-Dtk=" + } + }, + { + "menuServiceItemRenderer": { + "icon": { + "iconType": "QUEUE_PLAY_NEXT" + }, + "serviceEndpoint": { + "clickTrackingParams": "CDIQvu4FGAEiEwit6biWyKT7AhXJ1REIHUs-Dtk=", + "queueAddEndpoint": { + "commands": [ + { + "addToToastAction": { + "item": { + "notificationTextRenderer": { + "successResponseText": { + "runs": [ + { + "text": "Song will play next" + } + ] + }, + "trackingParams": "CDMQyscDIhMIrem4lsik-wIVydURCB1LPg7Z" + } + } + }, + "clickTrackingParams": "CDIQvu4FGAEiEwit6biWyKT7AhXJ1REIHUs-Dtk=" + } + ], + "queueInsertPosition": "INSERT_AFTER_CURRENT_VIDEO", + "queueTarget": { + "videoId": "FrEDny55ch8" + } + } + }, + "text": { + "runs": [ + { + "text": "Play next" + } + ] + }, + "trackingParams": "CDIQvu4FGAEiEwit6biWyKT7AhXJ1REIHUs-Dtk=" + } + }, + { + "menuServiceItemRenderer": { + "icon": { + "iconType": "ADD_TO_REMOTE_QUEUE" + }, + "serviceEndpoint": { + "clickTrackingParams": "CDAQ--8FGAIiEwit6biWyKT7AhXJ1REIHUs-Dtk=", + "queueAddEndpoint": { + "commands": [ + { + "addToToastAction": { + "item": { + "notificationTextRenderer": { + "successResponseText": { + "runs": [ + { + "text": "Song added to queue" + } + ] + }, + "trackingParams": "CDEQyscDIhMIrem4lsik-wIVydURCB1LPg7Z" + } + } + }, + "clickTrackingParams": "CDAQ--8FGAIiEwit6biWyKT7AhXJ1REIHUs-Dtk=" + } + ], + "queueInsertPosition": "INSERT_AT_END", + "queueTarget": { + "videoId": "FrEDny55ch8" + } + } + }, + "text": { + "runs": [ + { + "text": "Add to queue" + } + ] + }, + "trackingParams": "CDAQ--8FGAIiEwit6biWyKT7AhXJ1REIHUs-Dtk=" + } + }, + { + "toggleMenuServiceItemRenderer": { + "defaultIcon": { + "iconType": "FAVORITE" + }, + "defaultServiceEndpoint": { + "clickTrackingParams": "CC4QjJ8GGAMiEwit6biWyKT7AhXJ1REIHUs-Dtk=", + "modalEndpoint": { + "modal": { + "modalWithTitleAndButtonRenderer": { + "button": { + "buttonRenderer": { + "isDisabled": false, + "navigationEndpoint": { + "clickTrackingParams": "CC8Q8FsiEwit6biWyKT7AhXJ1REIHUs-Dtk=", + "signInEndpoint": { + "hack": true + } + }, + "style": "STYLE_BLUE_TEXT", + "text": { + "runs": [ + { + "text": "Sign in" + } + ] + }, + "trackingParams": "CC8Q8FsiEwit6biWyKT7AhXJ1REIHUs-Dtk=" + } + }, + "content": { + "runs": [ + { + "text": "Improve recommendations and save music after signing in" + } + ] + }, + "title": { + "runs": [ + { + "text": "Like this song" + } + ] + } + } + } + } + }, + "defaultText": { + "runs": [ + { + "text": "Add to liked songs" + } + ] + }, + "toggledIcon": { + "iconType": "UNFAVORITE" + }, + "toggledText": { + "runs": [ + { + "text": "Remove from liked songs" + } + ] + }, + "trackingParams": "CC4QjJ8GGAMiEwit6biWyKT7AhXJ1REIHUs-Dtk=" + } + }, + { + "menuNavigationItemRenderer": { + "icon": { + "iconType": "ADD_TO_PLAYLIST" + }, + "navigationEndpoint": { + "clickTrackingParams": "CCwQw5QGGAQiEwit6biWyKT7AhXJ1REIHUs-Dtk=", + "modalEndpoint": { + "modal": { + "modalWithTitleAndButtonRenderer": { + "button": { + "buttonRenderer": { + "isDisabled": false, + "navigationEndpoint": { + "clickTrackingParams": "CC0Q8FsiEwit6biWyKT7AhXJ1REIHUs-Dtk=", + "signInEndpoint": { + "hack": true + } + }, + "style": "STYLE_BLUE_TEXT", + "text": { + "runs": [ + { + "text": "Sign in" + } + ] + }, + "trackingParams": "CC0Q8FsiEwit6biWyKT7AhXJ1REIHUs-Dtk=" + } + }, + "content": { + "runs": [ + { + "text": "Make playlists and share them after signing in" + } + ] + }, + "title": { + "runs": [ + { + "text": "Save this for later" + } + ] + } + } + } + } + }, + "text": { + "runs": [ + { + "text": "Add to playlist" + } + ] + }, + "trackingParams": "CCwQw5QGGAQiEwit6biWyKT7AhXJ1REIHUs-Dtk=" + } + }, + { + "menuServiceItemRenderer": { + "icon": { + "iconType": "REMOVE" + }, + "serviceEndpoint": { + "clickTrackingParams": "CCoQ4_sFGAUiEwit6biWyKT7AhXJ1REIHUs-Dtk=", + "removeFromQueueEndpoint": { + "commands": [ + { + "addToToastAction": { + "item": { + "notificationTextRenderer": { + "successResponseText": { + "runs": [ + { + "text": "Item removed from queue" + } + ] + }, + "trackingParams": "CCsQyscDIhMIrem4lsik-wIVydURCB1LPg7Z" + } + } + }, + "clickTrackingParams": "CCoQ4_sFGAUiEwit6biWyKT7AhXJ1REIHUs-Dtk=" + } + ], + "videoId": "FrEDny55ch8" + } + }, + "text": { + "runs": [ + { + "text": "Remove from queue" + } + ] + }, + "trackingParams": "CCoQ4_sFGAUiEwit6biWyKT7AhXJ1REIHUs-Dtk=" + } + }, + { + "menuNavigationItemRenderer": { + "icon": { + "iconType": "ALBUM" + }, + "navigationEndpoint": { + "browseEndpoint": { + "browseEndpointContextSupportedConfigs": { + "browseEndpointContextMusicConfig": { + "pageType": "MUSIC_PAGE_TYPE_ALBUM" + } + }, + "browseId": "MPREb_4LJoUl7GX3z" + }, + "clickTrackingParams": "CCkQj_sFGAYiEwit6biWyKT7AhXJ1REIHUs-Dtk=" + }, + "text": { + "runs": [ + { + "text": "Go to album" + } + ] + }, + "trackingParams": "CCkQj_sFGAYiEwit6biWyKT7AhXJ1REIHUs-Dtk=" + } + }, + { + "menuNavigationItemRenderer": { + "icon": { + "iconType": "ARTIST" + }, + "navigationEndpoint": { + "browseEndpoint": { + "browseEndpointContextSupportedConfigs": { + "browseEndpointContextMusicConfig": { + "pageType": "MUSIC_PAGE_TYPE_ARTIST" + } + }, + "browseId": "UChm_d4qO8txdwS4YadlvpSw" + }, + "clickTrackingParams": "CCgQkPsFGAciEwit6biWyKT7AhXJ1REIHUs-Dtk=" + }, + "text": { + "runs": [ + { + "text": "Go to artist" + } + ] + }, + "trackingParams": "CCgQkPsFGAciEwit6biWyKT7AhXJ1REIHUs-Dtk=" + } + }, + { + "menuNavigationItemRenderer": { + "icon": { + "iconType": "SHARE" + }, + "navigationEndpoint": { + "clickTrackingParams": "CCcQkfsFGAgiEwit6biWyKT7AhXJ1REIHUs-Dtk=", + "shareEntityEndpoint": { + "serializedShareEntity": "CgtGckVEbnk1NWNoOA%3D%3D", + "sharePanelType": "SHARE_PANEL_TYPE_UNIFIED_SHARE_PANEL" + } + }, + "text": { + "runs": [ + { + "text": "Share" + } + ] + }, + "trackingParams": "CCcQkfsFGAgiEwit6biWyKT7AhXJ1REIHUs-Dtk=" + } + }, + { + "menuServiceItemRenderer": { + "icon": { + "iconType": "FLAG" + }, + "serviceEndpoint": { + "clickTrackingParams": "CCUQjfYJGAkiEwit6biWyKT7AhXJ1REIHUs-Dtk=", + "modalEndpoint": { + "modal": { + "modalWithTitleAndButtonRenderer": { + "button": { + "buttonRenderer": { + "isDisabled": false, + "navigationEndpoint": { + "clickTrackingParams": "CCYQ8FsiEwit6biWyKT7AhXJ1REIHUs-Dtk=", + "signInEndpoint": { + "hack": true + } + }, + "style": "STYLE_BLUE_TEXT", + "text": { + "runs": [ + { + "text": "Sign in" + } + ] + }, + "trackingParams": "CCYQ8FsiEwit6biWyKT7AhXJ1REIHUs-Dtk=" + } + }, + "content": { + "runs": [ + { + "text": "Sign in to report inappropriate content." + } + ] + }, + "title": { + "runs": [ + { + "text": "Need to report the video?" + } + ] + } + } + } + } + }, + "text": { + "runs": [ + { + "text": "Report" + } + ] + }, + "trackingParams": "CCUQjfYJGAkiEwit6biWyKT7AhXJ1REIHUs-Dtk=" + } + } + ], + "trackingParams": "CCQQyCAYFSITCK3puJbIpPsCFcnVEQgdSz4O2Q==" + } + }, + "navigationEndpoint": { + "clickTrackingParams": "CCQQyCAYFSITCK3puJbIpPsCFcnVEQgdSz4O2TIDQkZhSJ_k5fPy88DYFpoBBQgMEPgd", + "watchEndpoint": { + "index": 22, + "loggingContext": { + "vssLoggingContext": { + "serializedContextData": "GhFSREFNVk03bmlnWFFTMVhiMA%3D%3D" + } + }, + "params": "OAHyAQQIAXgB", + "playlistId": "RDAMVM7nigXQS1Xb0", + "playlistSetVideoId": "3F342EBE842F2A34", + "videoId": "FrEDny55ch8", + "watchEndpointMusicSupportedConfigs": { + "watchEndpointMusicConfig": { + "hasPersistentPlaylistPanel": true, + "musicVideoType": "MUSIC_VIDEO_TYPE_ATV" + } + } + } + }, + "playlistSetVideoId": "3F342EBE842F2A34", + "selected": false, + "shortBylineText": { + "runs": [ + { + "text": "브레이브걸스" + } + ] + }, + "thumbnail": { + "thumbnails": [ + { + "height": 60, + "url": "https://lh3.googleusercontent.com/WKJ_mscCJbF6E_Z0Va_IEM8SVN7YrhsgrtmMCM1gjpCBDa_NM2xclmQi6vLGDfdQC_WA9TXdTp9yb9RX=w60-h60-l90-rj", + "width": 60 + }, + { + "height": 120, + "url": "https://lh3.googleusercontent.com/WKJ_mscCJbF6E_Z0Va_IEM8SVN7YrhsgrtmMCM1gjpCBDa_NM2xclmQi6vLGDfdQC_WA9TXdTp9yb9RX=w120-h120-l90-rj", + "width": 120 + }, + { + "height": 180, + "url": "https://lh3.googleusercontent.com/WKJ_mscCJbF6E_Z0Va_IEM8SVN7YrhsgrtmMCM1gjpCBDa_NM2xclmQi6vLGDfdQC_WA9TXdTp9yb9RX=w180-h180-l90-rj", + "width": 180 + }, + { + "height": 226, + "url": "https://lh3.googleusercontent.com/WKJ_mscCJbF6E_Z0Va_IEM8SVN7YrhsgrtmMCM1gjpCBDa_NM2xclmQi6vLGDfdQC_WA9TXdTp9yb9RX=w226-h226-l90-rj", + "width": 226 + }, + { + "height": 302, + "url": "https://lh3.googleusercontent.com/WKJ_mscCJbF6E_Z0Va_IEM8SVN7YrhsgrtmMCM1gjpCBDa_NM2xclmQi6vLGDfdQC_WA9TXdTp9yb9RX=w302-h302-l90-rj", + "width": 302 + }, + { + "height": 544, + "url": "https://lh3.googleusercontent.com/WKJ_mscCJbF6E_Z0Va_IEM8SVN7YrhsgrtmMCM1gjpCBDa_NM2xclmQi6vLGDfdQC_WA9TXdTp9yb9RX=w544-h544-l90-rj", + "width": 544 + } + ] + }, + "title": { + "runs": [ + { + "text": "Rollin'" + } + ] + }, + "trackingParams": "CCQQyCAYFSITCK3puJbIpPsCFcnVEQgdSz4O2Q==", + "videoId": "FrEDny55ch8" + } + }, + { + "playlistPanelVideoRenderer": { + "canReorder": true, + "lengthText": { + "accessibility": { + "accessibilityData": { + "label": "3 minutes" + } + }, + "runs": [ + { + "text": "3:00" + } + ] + }, + "longBylineText": { + "runs": [ + { + "navigationEndpoint": { + "browseEndpoint": { + "browseEndpointContextSupportedConfigs": { + "browseEndpointContextMusicConfig": { + "pageType": "MUSIC_PAGE_TYPE_ARTIST" + } + }, + "browseId": "UCTP45_DE3fMLujU8sZ-MBzw" + }, + "clickTrackingParams": "CBMQyCAYFiITCK3puJbIpPsCFcnVEQgdSz4O2Q==" + }, + "text": "ITZY" + }, + { + "text": " • " + }, + { + "navigationEndpoint": { + "browseEndpoint": { + "browseEndpointContextSupportedConfigs": { + "browseEndpointContextMusicConfig": { + "pageType": "MUSIC_PAGE_TYPE_ALBUM" + } + }, + "browseId": "MPREb_E9b3lnfYp1X" + }, + "clickTrackingParams": "CBMQyCAYFiITCK3puJbIpPsCFcnVEQgdSz4O2Q==" + }, + "text": "CHECKMATE" + }, + { + "text": " • " + }, + { + "text": "2022" + } + ] + }, + "menu": { + "menuRenderer": { + "accessibility": { + "accessibilityData": { + "label": "Action menu" + } + }, + "items": [ + { + "menuNavigationItemRenderer": { + "icon": { + "iconType": "MIX" + }, + "navigationEndpoint": { + "clickTrackingParams": "CCMQm_MFGAAiEwit6biWyKT7AhXJ1REIHUs-Dtk=", + "watchEndpoint": { + "loggingContext": { + "vssLoggingContext": { + "serializedContextData": "GhFSREFNVk0tdU9TaGxGdTF2OA%3D%3D" + } + }, + "params": "wAEB", + "playlistId": "RDAMVM-uOShlFu1v8", + "videoId": "-uOShlFu1v8", + "watchEndpointMusicSupportedConfigs": { + "watchEndpointMusicConfig": { + "musicVideoType": "MUSIC_VIDEO_TYPE_ATV" + } + } + } + }, + "text": { + "runs": [ + { + "text": "Start radio" + } + ] + }, + "trackingParams": "CCMQm_MFGAAiEwit6biWyKT7AhXJ1REIHUs-Dtk=" + } + }, + { + "menuServiceItemRenderer": { + "icon": { + "iconType": "QUEUE_PLAY_NEXT" + }, + "serviceEndpoint": { + "clickTrackingParams": "CCEQvu4FGAEiEwit6biWyKT7AhXJ1REIHUs-Dtk=", + "queueAddEndpoint": { + "commands": [ + { + "addToToastAction": { + "item": { + "notificationTextRenderer": { + "successResponseText": { + "runs": [ + { + "text": "Song will play next" + } + ] + }, + "trackingParams": "CCIQyscDIhMIrem4lsik-wIVydURCB1LPg7Z" + } + } + }, + "clickTrackingParams": "CCEQvu4FGAEiEwit6biWyKT7AhXJ1REIHUs-Dtk=" + } + ], + "queueInsertPosition": "INSERT_AFTER_CURRENT_VIDEO", + "queueTarget": { + "videoId": "-uOShlFu1v8" + } + } + }, + "text": { + "runs": [ + { + "text": "Play next" + } + ] + }, + "trackingParams": "CCEQvu4FGAEiEwit6biWyKT7AhXJ1REIHUs-Dtk=" + } + }, + { + "menuServiceItemRenderer": { + "icon": { + "iconType": "ADD_TO_REMOTE_QUEUE" + }, + "serviceEndpoint": { + "clickTrackingParams": "CB8Q--8FGAIiEwit6biWyKT7AhXJ1REIHUs-Dtk=", + "queueAddEndpoint": { + "commands": [ + { + "addToToastAction": { + "item": { + "notificationTextRenderer": { + "successResponseText": { + "runs": [ + { + "text": "Song added to queue" + } + ] + }, + "trackingParams": "CCAQyscDIhMIrem4lsik-wIVydURCB1LPg7Z" + } + } + }, + "clickTrackingParams": "CB8Q--8FGAIiEwit6biWyKT7AhXJ1REIHUs-Dtk=" + } + ], + "queueInsertPosition": "INSERT_AT_END", + "queueTarget": { + "videoId": "-uOShlFu1v8" + } + } + }, + "text": { + "runs": [ + { + "text": "Add to queue" + } + ] + }, + "trackingParams": "CB8Q--8FGAIiEwit6biWyKT7AhXJ1REIHUs-Dtk=" + } + }, + { + "toggleMenuServiceItemRenderer": { + "defaultIcon": { + "iconType": "FAVORITE" + }, + "defaultServiceEndpoint": { + "clickTrackingParams": "CB0QjJ8GGAMiEwit6biWyKT7AhXJ1REIHUs-Dtk=", + "modalEndpoint": { + "modal": { + "modalWithTitleAndButtonRenderer": { + "button": { + "buttonRenderer": { + "isDisabled": false, + "navigationEndpoint": { + "clickTrackingParams": "CB4Q8FsiEwit6biWyKT7AhXJ1REIHUs-Dtk=", + "signInEndpoint": { + "hack": true + } + }, + "style": "STYLE_BLUE_TEXT", + "text": { + "runs": [ + { + "text": "Sign in" + } + ] + }, + "trackingParams": "CB4Q8FsiEwit6biWyKT7AhXJ1REIHUs-Dtk=" + } + }, + "content": { + "runs": [ + { + "text": "Improve recommendations and save music after signing in" + } + ] + }, + "title": { + "runs": [ + { + "text": "Like this song" + } + ] + } + } + } + } + }, + "defaultText": { + "runs": [ + { + "text": "Add to liked songs" + } + ] + }, + "toggledIcon": { + "iconType": "UNFAVORITE" + }, + "toggledText": { + "runs": [ + { + "text": "Remove from liked songs" + } + ] + }, + "trackingParams": "CB0QjJ8GGAMiEwit6biWyKT7AhXJ1REIHUs-Dtk=" + } + }, + { + "menuNavigationItemRenderer": { + "icon": { + "iconType": "ADD_TO_PLAYLIST" + }, + "navigationEndpoint": { + "clickTrackingParams": "CBsQw5QGGAQiEwit6biWyKT7AhXJ1REIHUs-Dtk=", + "modalEndpoint": { + "modal": { + "modalWithTitleAndButtonRenderer": { + "button": { + "buttonRenderer": { + "isDisabled": false, + "navigationEndpoint": { + "clickTrackingParams": "CBwQ8FsiEwit6biWyKT7AhXJ1REIHUs-Dtk=", + "signInEndpoint": { + "hack": true + } + }, + "style": "STYLE_BLUE_TEXT", + "text": { + "runs": [ + { + "text": "Sign in" + } + ] + }, + "trackingParams": "CBwQ8FsiEwit6biWyKT7AhXJ1REIHUs-Dtk=" + } + }, + "content": { + "runs": [ + { + "text": "Make playlists and share them after signing in" + } + ] + }, + "title": { + "runs": [ + { + "text": "Save this for later" + } + ] + } + } + } + } + }, + "text": { + "runs": [ + { + "text": "Add to playlist" + } + ] + }, + "trackingParams": "CBsQw5QGGAQiEwit6biWyKT7AhXJ1REIHUs-Dtk=" + } + }, + { + "menuServiceItemRenderer": { + "icon": { + "iconType": "REMOVE" + }, + "serviceEndpoint": { + "clickTrackingParams": "CBkQ4_sFGAUiEwit6biWyKT7AhXJ1REIHUs-Dtk=", + "removeFromQueueEndpoint": { + "commands": [ + { + "addToToastAction": { + "item": { + "notificationTextRenderer": { + "successResponseText": { + "runs": [ + { + "text": "Item removed from queue" + } + ] + }, + "trackingParams": "CBoQyscDIhMIrem4lsik-wIVydURCB1LPg7Z" + } + } + }, + "clickTrackingParams": "CBkQ4_sFGAUiEwit6biWyKT7AhXJ1REIHUs-Dtk=" + } + ], + "videoId": "-uOShlFu1v8" + } + }, + "text": { + "runs": [ + { + "text": "Remove from queue" + } + ] + }, + "trackingParams": "CBkQ4_sFGAUiEwit6biWyKT7AhXJ1REIHUs-Dtk=" + } + }, + { + "menuNavigationItemRenderer": { + "icon": { + "iconType": "ALBUM" + }, + "navigationEndpoint": { + "browseEndpoint": { + "browseEndpointContextSupportedConfigs": { + "browseEndpointContextMusicConfig": { + "pageType": "MUSIC_PAGE_TYPE_ALBUM" + } + }, + "browseId": "MPREb_E9b3lnfYp1X" + }, + "clickTrackingParams": "CBgQj_sFGAYiEwit6biWyKT7AhXJ1REIHUs-Dtk=" + }, + "text": { + "runs": [ + { + "text": "Go to album" + } + ] + }, + "trackingParams": "CBgQj_sFGAYiEwit6biWyKT7AhXJ1REIHUs-Dtk=" + } + }, + { + "menuNavigationItemRenderer": { + "icon": { + "iconType": "ARTIST" + }, + "navigationEndpoint": { + "browseEndpoint": { + "browseEndpointContextSupportedConfigs": { + "browseEndpointContextMusicConfig": { + "pageType": "MUSIC_PAGE_TYPE_ARTIST" + } + }, + "browseId": "UCTP45_DE3fMLujU8sZ-MBzw" + }, + "clickTrackingParams": "CBcQkPsFGAciEwit6biWyKT7AhXJ1REIHUs-Dtk=" + }, + "text": { + "runs": [ + { + "text": "Go to artist" + } + ] + }, + "trackingParams": "CBcQkPsFGAciEwit6biWyKT7AhXJ1REIHUs-Dtk=" + } + }, + { + "menuNavigationItemRenderer": { + "icon": { + "iconType": "SHARE" + }, + "navigationEndpoint": { + "clickTrackingParams": "CBYQkfsFGAgiEwit6biWyKT7AhXJ1REIHUs-Dtk=", + "shareEntityEndpoint": { + "serializedShareEntity": "CgstdU9TaGxGdTF2OA%3D%3D", + "sharePanelType": "SHARE_PANEL_TYPE_UNIFIED_SHARE_PANEL" + } + }, + "text": { + "runs": [ + { + "text": "Share" + } + ] + }, + "trackingParams": "CBYQkfsFGAgiEwit6biWyKT7AhXJ1REIHUs-Dtk=" + } + }, + { + "menuServiceItemRenderer": { + "icon": { + "iconType": "FLAG" + }, + "serviceEndpoint": { + "clickTrackingParams": "CBQQjfYJGAkiEwit6biWyKT7AhXJ1REIHUs-Dtk=", + "modalEndpoint": { + "modal": { + "modalWithTitleAndButtonRenderer": { + "button": { + "buttonRenderer": { + "isDisabled": false, + "navigationEndpoint": { + "clickTrackingParams": "CBUQ8FsiEwit6biWyKT7AhXJ1REIHUs-Dtk=", + "signInEndpoint": { + "hack": true + } + }, + "style": "STYLE_BLUE_TEXT", + "text": { + "runs": [ + { + "text": "Sign in" + } + ] + }, + "trackingParams": "CBUQ8FsiEwit6biWyKT7AhXJ1REIHUs-Dtk=" + } + }, + "content": { + "runs": [ + { + "text": "Sign in to report inappropriate content." + } + ] + }, + "title": { + "runs": [ + { + "text": "Need to report the video?" + } + ] + } + } + } + } + }, + "text": { + "runs": [ + { + "text": "Report" + } + ] + }, + "trackingParams": "CBQQjfYJGAkiEwit6biWyKT7AhXJ1REIHUs-Dtk=" + } + } + ], + "trackingParams": "CBMQyCAYFiITCK3puJbIpPsCFcnVEQgdSz4O2Q==" + } + }, + "navigationEndpoint": { + "clickTrackingParams": "CBMQyCAYFiITCK3puJbIpPsCFcnVEQgdSz4O2TIDQkZhSP-tu4vl0OTx-gGaAQUIDBD4HQ==", + "watchEndpoint": { + "index": 23, + "loggingContext": { + "vssLoggingContext": { + "serializedContextData": "GhFSREFNVk03bmlnWFFTMVhiMA%3D%3D" + } + }, + "params": "OAHyAQQIAXgB", + "playlistId": "RDAMVM7nigXQS1Xb0", + "playlistSetVideoId": "9750BB53E158A2E4", + "videoId": "-uOShlFu1v8", + "watchEndpointMusicSupportedConfigs": { + "watchEndpointMusicConfig": { + "hasPersistentPlaylistPanel": true, + "musicVideoType": "MUSIC_VIDEO_TYPE_ATV" + } + } + } + }, + "playlistSetVideoId": "9750BB53E158A2E4", + "selected": false, + "shortBylineText": { + "runs": [ + { + "text": "ITZY" + } + ] + }, + "thumbnail": { + "thumbnails": [ + { + "height": 60, + "url": "https://lh3.googleusercontent.com/C5m5SYqUm1EW-AZT7TP8VUAXkJzbBNOcyiF_9ddvFTfcsU9Epx8FOjbKPk4pXev3LBpwJy006rtPent4=w60-h60-l90-rj", + "width": 60 + }, + { + "height": 120, + "url": "https://lh3.googleusercontent.com/C5m5SYqUm1EW-AZT7TP8VUAXkJzbBNOcyiF_9ddvFTfcsU9Epx8FOjbKPk4pXev3LBpwJy006rtPent4=w120-h120-l90-rj", + "width": 120 + }, + { + "height": 180, + "url": "https://lh3.googleusercontent.com/C5m5SYqUm1EW-AZT7TP8VUAXkJzbBNOcyiF_9ddvFTfcsU9Epx8FOjbKPk4pXev3LBpwJy006rtPent4=w180-h180-l90-rj", + "width": 180 + }, + { + "height": 226, + "url": "https://lh3.googleusercontent.com/C5m5SYqUm1EW-AZT7TP8VUAXkJzbBNOcyiF_9ddvFTfcsU9Epx8FOjbKPk4pXev3LBpwJy006rtPent4=w226-h226-l90-rj", + "width": 226 + }, + { + "height": 302, + "url": "https://lh3.googleusercontent.com/C5m5SYqUm1EW-AZT7TP8VUAXkJzbBNOcyiF_9ddvFTfcsU9Epx8FOjbKPk4pXev3LBpwJy006rtPent4=w302-h302-l90-rj", + "width": 302 + }, + { + "height": 544, + "url": "https://lh3.googleusercontent.com/C5m5SYqUm1EW-AZT7TP8VUAXkJzbBNOcyiF_9ddvFTfcsU9Epx8FOjbKPk4pXev3LBpwJy006rtPent4=w544-h544-l90-rj", + "width": 544 + } + ] + }, + "title": { + "runs": [ + { + "text": "SNEAKERS" + } + ] + }, + "trackingParams": "CBMQyCAYFiITCK3puJbIpPsCFcnVEQgdSz4O2Q==", + "videoId": "-uOShlFu1v8" + } + }, + { + "playlistPanelVideoRenderer": { + "canReorder": true, + "lengthText": { + "accessibility": { + "accessibilityData": { + "label": "3 minutes, 30 seconds" + } + }, + "runs": [ + { + "text": "3:30" + } + ] + }, + "longBylineText": { + "runs": [ + { + "navigationEndpoint": { + "browseEndpoint": { + "browseEndpointContextSupportedConfigs": { + "browseEndpointContextMusicConfig": { + "pageType": "MUSIC_PAGE_TYPE_ARTIST" + } + }, + "browseId": "UCHmZYTfdTyVKQEJicLiXEOg" + }, + "clickTrackingParams": "CAIQyCAYFyITCK3puJbIpPsCFcnVEQgdSz4O2Q==" + }, + "text": "Red Velvet" + }, + { + "text": " • " + }, + { + "navigationEndpoint": { + "browseEndpoint": { + "browseEndpointContextSupportedConfigs": { + "browseEndpointContextMusicConfig": { + "pageType": "MUSIC_PAGE_TYPE_ALBUM" + } + }, + "browseId": "MPREb_GeOYupQ6NZH" + }, + "clickTrackingParams": "CAIQyCAYFyITCK3puJbIpPsCFcnVEQgdSz4O2Q==" + }, + "text": "The ReVe Festival: Finale" + }, + { + "text": " • " + }, + { + "text": "2019" + } + ] + }, + "menu": { + "menuRenderer": { + "accessibility": { + "accessibilityData": { + "label": "Action menu" + } + }, + "items": [ + { + "menuNavigationItemRenderer": { + "icon": { + "iconType": "MIX" + }, + "navigationEndpoint": { + "clickTrackingParams": "CBIQm_MFGAAiEwit6biWyKT7AhXJ1REIHUs-Dtk=", + "watchEndpoint": { + "loggingContext": { + "vssLoggingContext": { + "serializedContextData": "GhFSREFNVk1QeXlUNXRIYk9Mdw%3D%3D" + } + }, + "params": "wAEB", + "playlistId": "RDAMVMPyyT5tHbOLw", + "videoId": "PyyT5tHbOLw", + "watchEndpointMusicSupportedConfigs": { + "watchEndpointMusicConfig": { + "musicVideoType": "MUSIC_VIDEO_TYPE_ATV" + } + } + } + }, + "text": { + "runs": [ + { + "text": "Start radio" + } + ] + }, + "trackingParams": "CBIQm_MFGAAiEwit6biWyKT7AhXJ1REIHUs-Dtk=" + } + }, + { + "menuServiceItemRenderer": { + "icon": { + "iconType": "QUEUE_PLAY_NEXT" + }, + "serviceEndpoint": { + "clickTrackingParams": "CBAQvu4FGAEiEwit6biWyKT7AhXJ1REIHUs-Dtk=", + "queueAddEndpoint": { + "commands": [ + { + "addToToastAction": { + "item": { + "notificationTextRenderer": { + "successResponseText": { + "runs": [ + { + "text": "Song will play next" + } + ] + }, + "trackingParams": "CBEQyscDIhMIrem4lsik-wIVydURCB1LPg7Z" + } + } + }, + "clickTrackingParams": "CBAQvu4FGAEiEwit6biWyKT7AhXJ1REIHUs-Dtk=" + } + ], + "queueInsertPosition": "INSERT_AFTER_CURRENT_VIDEO", + "queueTarget": { + "videoId": "PyyT5tHbOLw" + } + } + }, + "text": { + "runs": [ + { + "text": "Play next" + } + ] + }, + "trackingParams": "CBAQvu4FGAEiEwit6biWyKT7AhXJ1REIHUs-Dtk=" + } + }, + { + "menuServiceItemRenderer": { + "icon": { + "iconType": "ADD_TO_REMOTE_QUEUE" + }, + "serviceEndpoint": { + "clickTrackingParams": "CA4Q--8FGAIiEwit6biWyKT7AhXJ1REIHUs-Dtk=", + "queueAddEndpoint": { + "commands": [ + { + "addToToastAction": { + "item": { + "notificationTextRenderer": { + "successResponseText": { + "runs": [ + { + "text": "Song added to queue" + } + ] + }, + "trackingParams": "CA8QyscDIhMIrem4lsik-wIVydURCB1LPg7Z" + } + } + }, + "clickTrackingParams": "CA4Q--8FGAIiEwit6biWyKT7AhXJ1REIHUs-Dtk=" + } + ], + "queueInsertPosition": "INSERT_AT_END", + "queueTarget": { + "videoId": "PyyT5tHbOLw" + } + } + }, + "text": { + "runs": [ + { + "text": "Add to queue" + } + ] + }, + "trackingParams": "CA4Q--8FGAIiEwit6biWyKT7AhXJ1REIHUs-Dtk=" + } + }, + { + "toggleMenuServiceItemRenderer": { + "defaultIcon": { + "iconType": "FAVORITE" + }, + "defaultServiceEndpoint": { + "clickTrackingParams": "CAwQjJ8GGAMiEwit6biWyKT7AhXJ1REIHUs-Dtk=", + "modalEndpoint": { + "modal": { + "modalWithTitleAndButtonRenderer": { + "button": { + "buttonRenderer": { + "isDisabled": false, + "navigationEndpoint": { + "clickTrackingParams": "CA0Q8FsiEwit6biWyKT7AhXJ1REIHUs-Dtk=", + "signInEndpoint": { + "hack": true + } + }, + "style": "STYLE_BLUE_TEXT", + "text": { + "runs": [ + { + "text": "Sign in" + } + ] + }, + "trackingParams": "CA0Q8FsiEwit6biWyKT7AhXJ1REIHUs-Dtk=" + } + }, + "content": { + "runs": [ + { + "text": "Improve recommendations and save music after signing in" + } + ] + }, + "title": { + "runs": [ + { + "text": "Like this song" + } + ] + } + } + } + } + }, + "defaultText": { + "runs": [ + { + "text": "Add to liked songs" + } + ] + }, + "toggledIcon": { + "iconType": "UNFAVORITE" + }, + "toggledText": { + "runs": [ + { + "text": "Remove from liked songs" + } + ] + }, + "trackingParams": "CAwQjJ8GGAMiEwit6biWyKT7AhXJ1REIHUs-Dtk=" + } + }, + { + "menuNavigationItemRenderer": { + "icon": { + "iconType": "ADD_TO_PLAYLIST" + }, + "navigationEndpoint": { + "clickTrackingParams": "CAoQw5QGGAQiEwit6biWyKT7AhXJ1REIHUs-Dtk=", + "modalEndpoint": { + "modal": { + "modalWithTitleAndButtonRenderer": { + "button": { + "buttonRenderer": { + "isDisabled": false, + "navigationEndpoint": { + "clickTrackingParams": "CAsQ8FsiEwit6biWyKT7AhXJ1REIHUs-Dtk=", + "signInEndpoint": { + "hack": true + } + }, + "style": "STYLE_BLUE_TEXT", + "text": { + "runs": [ + { + "text": "Sign in" + } + ] + }, + "trackingParams": "CAsQ8FsiEwit6biWyKT7AhXJ1REIHUs-Dtk=" + } + }, + "content": { + "runs": [ + { + "text": "Make playlists and share them after signing in" + } + ] + }, + "title": { + "runs": [ + { + "text": "Save this for later" + } + ] + } + } + } + } + }, + "text": { + "runs": [ + { + "text": "Add to playlist" + } + ] + }, + "trackingParams": "CAoQw5QGGAQiEwit6biWyKT7AhXJ1REIHUs-Dtk=" + } + }, + { + "menuServiceItemRenderer": { + "icon": { + "iconType": "REMOVE" + }, + "serviceEndpoint": { + "clickTrackingParams": "CAgQ4_sFGAUiEwit6biWyKT7AhXJ1REIHUs-Dtk=", + "removeFromQueueEndpoint": { + "commands": [ + { + "addToToastAction": { + "item": { + "notificationTextRenderer": { + "successResponseText": { + "runs": [ + { + "text": "Item removed from queue" + } + ] + }, + "trackingParams": "CAkQyscDIhMIrem4lsik-wIVydURCB1LPg7Z" + } + } + }, + "clickTrackingParams": "CAgQ4_sFGAUiEwit6biWyKT7AhXJ1REIHUs-Dtk=" + } + ], + "videoId": "PyyT5tHbOLw" + } + }, + "text": { + "runs": [ + { + "text": "Remove from queue" + } + ] + }, + "trackingParams": "CAgQ4_sFGAUiEwit6biWyKT7AhXJ1REIHUs-Dtk=" + } + }, + { + "menuNavigationItemRenderer": { + "icon": { + "iconType": "ALBUM" + }, + "navigationEndpoint": { + "browseEndpoint": { + "browseEndpointContextSupportedConfigs": { + "browseEndpointContextMusicConfig": { + "pageType": "MUSIC_PAGE_TYPE_ALBUM" + } + }, + "browseId": "MPREb_GeOYupQ6NZH" + }, + "clickTrackingParams": "CAcQj_sFGAYiEwit6biWyKT7AhXJ1REIHUs-Dtk=" + }, + "text": { + "runs": [ + { + "text": "Go to album" + } + ] + }, + "trackingParams": "CAcQj_sFGAYiEwit6biWyKT7AhXJ1REIHUs-Dtk=" + } + }, + { + "menuNavigationItemRenderer": { + "icon": { + "iconType": "ARTIST" + }, + "navigationEndpoint": { + "browseEndpoint": { + "browseEndpointContextSupportedConfigs": { + "browseEndpointContextMusicConfig": { + "pageType": "MUSIC_PAGE_TYPE_ARTIST" + } + }, + "browseId": "UCHmZYTfdTyVKQEJicLiXEOg" + }, + "clickTrackingParams": "CAYQkPsFGAciEwit6biWyKT7AhXJ1REIHUs-Dtk=" + }, + "text": { + "runs": [ + { + "text": "Go to artist" + } + ] + }, + "trackingParams": "CAYQkPsFGAciEwit6biWyKT7AhXJ1REIHUs-Dtk=" + } + }, + { + "menuNavigationItemRenderer": { + "icon": { + "iconType": "SHARE" + }, + "navigationEndpoint": { + "clickTrackingParams": "CAUQkfsFGAgiEwit6biWyKT7AhXJ1REIHUs-Dtk=", + "shareEntityEndpoint": { + "serializedShareEntity": "CgtQeXlUNXRIYk9Mdw%3D%3D", + "sharePanelType": "SHARE_PANEL_TYPE_UNIFIED_SHARE_PANEL" + } + }, + "text": { + "runs": [ + { + "text": "Share" + } + ] + }, + "trackingParams": "CAUQkfsFGAgiEwit6biWyKT7AhXJ1REIHUs-Dtk=" + } + }, + { + "menuServiceItemRenderer": { + "icon": { + "iconType": "FLAG" + }, + "serviceEndpoint": { + "clickTrackingParams": "CAMQjfYJGAkiEwit6biWyKT7AhXJ1REIHUs-Dtk=", + "modalEndpoint": { + "modal": { + "modalWithTitleAndButtonRenderer": { + "button": { + "buttonRenderer": { + "isDisabled": false, + "navigationEndpoint": { + "clickTrackingParams": "CAQQ8FsiEwit6biWyKT7AhXJ1REIHUs-Dtk=", + "signInEndpoint": { + "hack": true + } + }, + "style": "STYLE_BLUE_TEXT", + "text": { + "runs": [ + { + "text": "Sign in" + } + ] + }, + "trackingParams": "CAQQ8FsiEwit6biWyKT7AhXJ1REIHUs-Dtk=" + } + }, + "content": { + "runs": [ + { + "text": "Sign in to report inappropriate content." + } + ] + }, + "title": { + "runs": [ + { + "text": "Need to report the video?" + } + ] + } + } + } + } + }, + "text": { + "runs": [ + { + "text": "Report" + } + ] + }, + "trackingParams": "CAMQjfYJGAkiEwit6biWyKT7AhXJ1REIHUs-Dtk=" + } + } + ], + "trackingParams": "CAIQyCAYFyITCK3puJbIpPsCFcnVEQgdSz4O2Q==" + } + }, + "navigationEndpoint": { + "clickTrackingParams": "CAIQyCAYFyITCK3puJbIpPsCFcnVEQgdSz4O2TIDQkZhSLzx7I7t_KSWP5oBBQgMEPgd", + "watchEndpoint": { + "index": 24, + "loggingContext": { + "vssLoggingContext": { + "serializedContextData": "GhFSREFNVk03bmlnWFFTMVhiMA%3D%3D" + } + }, + "params": "OAHyAQQIAXgB", + "playlistId": "RDAMVM7nigXQS1Xb0", + "playlistSetVideoId": "C715F6D1FB204D0A", + "videoId": "PyyT5tHbOLw", + "watchEndpointMusicSupportedConfigs": { + "watchEndpointMusicConfig": { + "hasPersistentPlaylistPanel": true, + "musicVideoType": "MUSIC_VIDEO_TYPE_ATV" + } + } + } + }, + "playlistSetVideoId": "C715F6D1FB204D0A", + "selected": false, + "shortBylineText": { + "runs": [ + { + "text": "Red Velvet" + } + ] + }, + "thumbnail": { + "thumbnails": [ + { + "height": 60, + "url": "https://lh3.googleusercontent.com/GvH5XosavVVtAhcsxClhWtnXdp1IitLGsfAP_2pAWLBVC6DJQNe3UIHbf74qLvOz-_zLXzW-MUkC4PSv=w60-h60-l90-rj", + "width": 60 + }, + { + "height": 120, + "url": "https://lh3.googleusercontent.com/GvH5XosavVVtAhcsxClhWtnXdp1IitLGsfAP_2pAWLBVC6DJQNe3UIHbf74qLvOz-_zLXzW-MUkC4PSv=w120-h120-l90-rj", + "width": 120 + }, + { + "height": 180, + "url": "https://lh3.googleusercontent.com/GvH5XosavVVtAhcsxClhWtnXdp1IitLGsfAP_2pAWLBVC6DJQNe3UIHbf74qLvOz-_zLXzW-MUkC4PSv=w180-h180-l90-rj", + "width": 180 + }, + { + "height": 226, + "url": "https://lh3.googleusercontent.com/GvH5XosavVVtAhcsxClhWtnXdp1IitLGsfAP_2pAWLBVC6DJQNe3UIHbf74qLvOz-_zLXzW-MUkC4PSv=w226-h226-l90-rj", + "width": 226 + }, + { + "height": 302, + "url": "https://lh3.googleusercontent.com/GvH5XosavVVtAhcsxClhWtnXdp1IitLGsfAP_2pAWLBVC6DJQNe3UIHbf74qLvOz-_zLXzW-MUkC4PSv=w302-h302-l90-rj", + "width": 302 + }, + { + "height": 544, + "url": "https://lh3.googleusercontent.com/GvH5XosavVVtAhcsxClhWtnXdp1IitLGsfAP_2pAWLBVC6DJQNe3UIHbf74qLvOz-_zLXzW-MUkC4PSv=w544-h544-l90-rj", + "width": 544 + } + ] + }, + "title": { + "runs": [ + { + "text": "Psycho" + } + ] + }, + "trackingParams": "CAIQyCAYFyITCK3puJbIpPsCFcnVEQgdSz4O2Q==", + "videoId": "PyyT5tHbOLw" + } + } + ], + "continuations": [ + { + "nextRadioContinuationData": { + "clickTrackingParams": "CAEQxyAiEwit6biWyKT7AhXJ1REIHUs-Dtk=", + "continuation": "CBkSSBILUHl5VDV0SGJPTHciEVJEQU1WTTduaWdYUVMxWGIwMg53QUVCOGdFQ2VBRSUzRDgY0AEB-gEQQzcxNUY2RDFGQjIwNEQwQRgKggEVUFQ6RWd0UWVYbFVOWFJJWWs5TWR3" + } + } + ], + "isInfinite": true, + "numItemsToShow": 24, + "playlistId": "RDAMVM7nigXQS1Xb0", + "previewDescription": {}, + "shortBylineText": { + "runs": [ + { + "text": "Song radio" + } + ] + }, + "title": "INVU", + "titleText": { + "runs": [ + { + "text": "INVU" + } + ] + }, + "trackingParams": "CAEQxyAiEwit6biWyKT7AhXJ1REIHUs-Dtk=" + } + }, + "responseContext": { + "serviceTrackingParams": [ + { + "params": [ + { + "key": "c", + "value": "WEB_REMIX" + }, + { + "key": "cver", + "value": "1.20221107.01.00" + }, + { + "key": "yt_li", + "value": "0" + }, + { + "key": "GetWatchNext_rid", + "value": "0xf240fe9b9b8e9368" + } + ], + "service": "CSI" + }, + { + "params": [ + { + "key": "logged_in", + "value": "0" + }, + { + "key": "e", + "value": "1714252,23804281,23882502,23918597,23934970,23946420,23966208,23983296,23998056,24001373,24002022,24002025,24004644,24007246,24034168,24036948,24077241,24080738,24120819,24135310,24140247,24161116,24162920,24164186,24169501,24181174,24185614,24187043,24187377,24187856,24191629,24197450,24199724,24200839,24209349,24211178,24217535,24219713,24230619,24236212,24241378,24248092,24253728,24255163,24255543,24255545,24256986,24260783,24262346,24267564,24267570,24268142,24271462,24274722,24276618,24278596,24279196,24280999,24283556,24283657,24286003,24286019,24287133,24287167,24287327,24288043,24290840,24290971,24292955,24292977,24293803,24295706,24297609,24298827,24299747,24390376,24390674,24391018,24391543,24392269,24392405,24396819,24398998,24399052,24400178,24400183,24401557,24402891,24406605,24407199,24407665,24410273,24413557,24413558,24414094,24590921,39322504,39322574" + } + ], + "service": "GFEEDBACK" + }, + { + "params": [ + { + "key": "client.version", + "value": "1.20000101" + }, + { + "key": "client.name", + "value": "WEB_REMIX" + }, + { + "key": "client.fexp", + "value": "24211178,23946420,24413558,24590921,24135310,24255543,24406605,24292955,23983296,24077241,23804281,24280999,24286003,24181174,24001373,24290971,24161116,24267570,24283657,23966208,24287133,24299747,23882502,24034168,24256986,24200839,24236212,24002025,24248092,24262346,24197450,24290840,24283556,24392405,24169501,24399052,24253728,24271462,24287167,24391018,24407199,24267564,24002022,24400183,24260783,24162920,23934970,24241378,24396819,24187856,24286019,23998056,24120819,24274722,24295706,24401557,24279196,24410273,39322504,24255545,24036948,24390674,24007246,24004644,24230619,24293803,39322574,24276618,1714252,24402891,24392269,24217535,24390376,24298827,24398998,24199724,24268142,24185614,24292977,24278596,24187377,24400178,24255163,24288043,24407665,24414094,24080738,24391543,24209349,24140247,24297609,24191629,24164186,23918597,24187043,24287327,24219713,24413557" + } + ], + "service": "ECATCHER" + } + ], + "visitorData": "CgtsbDZvZ1JNMmoyNCjw27WbBg%3D%3D" + }, + "trackingParams": "CAAQg2ciEwit6biWyKT7AhXJ1REIHUs-Dtk=" +} diff --git a/tests/snapshots/youtube__music_details_mv.snap b/tests/snapshots/youtube__music_details_mv.snap new file mode 100644 index 0000000..f830189 --- /dev/null +++ b/tests/snapshots/youtube__music_details_mv.snap @@ -0,0 +1,25 @@ +--- +source: tests/youtube.rs +expression: track +--- +TrackDetails( + track: TrackItem( + id: "ZeerrnuLi5E", + title: "Black Mamba", + duration: Some(230), + cover: "[cover]", + artists: [ + ArtistId( + id: Some("UCEdZAdnnKqbaHOlv8nM6OtA"), + name: "aespa", + ), + ], + artist_id: Some("UCEdZAdnnKqbaHOlv8nM6OtA"), + album: None, + view_count: Some(235000000), + is_video: true, + track_nr: None, + ), + lyrics_id: Some("MPLYt_wrKjTn9hmry"), + related_id: Some("MPTRt_wrKjTn9hmry"), +) diff --git a/tests/snapshots/youtube__music_details_track.snap b/tests/snapshots/youtube__music_details_track.snap new file mode 100644 index 0000000..f4d9b6e --- /dev/null +++ b/tests/snapshots/youtube__music_details_track.snap @@ -0,0 +1,28 @@ +--- +source: tests/youtube.rs +expression: track +--- +TrackDetails( + track: TrackItem( + id: "7nigXQS1Xb0", + title: "INVU", + duration: Some(205), + cover: "[cover]", + artists: [ + ArtistId( + id: Some("UCwzCuKxyMY_sT7hr1E8G1XA"), + name: "TAEYEON", + ), + ], + artist_id: Some("UCwzCuKxyMY_sT7hr1E8G1XA"), + album: Some(AlbumId( + id: "MPREb_4xbv14CiQJm", + name: "INVU - The 3rd Album", + )), + view_count: None, + is_video: false, + track_nr: None, + ), + lyrics_id: Some("MPLYt_4xbv14CiQJm-1"), + related_id: Some("MPTRt_4xbv14CiQJm-1"), +) diff --git a/tests/youtube.rs b/tests/youtube.rs index efce4e2..09eb248 100644 --- a/tests/youtube.rs +++ b/tests/youtube.rs @@ -1509,9 +1509,8 @@ async fn music_search(#[case] typo: bool) { assert_eq!(res.corrected_query, None); } - let track = &res.tracks[0]; - dbg!(&track); - assert_eq!(track.id, "ZeerrnuLi5E"); + let track = res.tracks.iter().find(|t| t.id == "ZeerrnuLi5E").unwrap(); + assert_eq!(track.title, "Black Mamba"); assert_eq!(track.duration.unwrap(), 230); assert!(!track.cover.is_empty(), "got no cover"); @@ -1755,6 +1754,39 @@ async fn music_search_genre_radio() { rp.query().music_search("pop radio").await.unwrap(); } +#[rstest] +#[case::mv("mv", "ZeerrnuLi5E")] +#[case::track("track", "7nigXQS1Xb0")] +#[tokio::test] +async fn music_details(#[case] name: &str, #[case] id: &str) { + let rp = RustyPipe::builder().strict().build(); + let track = rp.query().music_details(id).await.unwrap(); + + assert!(!track.track.cover.is_empty(), "got no cover"); + + insta::assert_ron_snapshot!(format!("music_details_{}", name), track, + {".track.cover" => "[cover]"} + ); +} + +#[tokio::test] +async fn music_radio_track() { + let rp = RustyPipe::builder().strict().build(); + let tracks = rp.query().music_radio_track("ZeerrnuLi5E").await.unwrap(); + assert_next(tracks, &rp.query(), 20, 3).await; +} + +#[tokio::test] +async fn music_radio_playlist() { + let rp = RustyPipe::builder().strict().build(); + let tracks = rp + .query() + .music_radio_playlist("PL5dDx681T4bR7ZF1IuWzOv1omlRbE7PiJ") + .await + .unwrap(); + assert_next(tracks, &rp.query(), 20, 1).await; +} + //#TESTUTIL /// Assert equality within 10% margin