3750 lines
134 KiB
Go
3750 lines
134 KiB
Go
// Extracted from: Spotify 1.1.73.517 (macOS)
|
|
|
|
// Code generated by protoc-gen-go. DO NOT EDIT.
|
|
// versions:
|
|
// protoc-gen-go v1.28.1
|
|
// protoc v3.21.12
|
|
// source: metadata.proto
|
|
|
|
package proto
|
|
|
|
import (
|
|
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
|
|
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
|
|
reflect "reflect"
|
|
sync "sync"
|
|
)
|
|
|
|
const (
|
|
// Verify that this generated code is sufficiently up-to-date.
|
|
_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
|
|
// Verify that runtime/protoimpl is sufficiently up-to-date.
|
|
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
|
|
)
|
|
|
|
type Album_Type int32
|
|
|
|
const (
|
|
Album_ALBUM Album_Type = 1
|
|
Album_SINGLE Album_Type = 2
|
|
Album_COMPILATION Album_Type = 3
|
|
Album_EP Album_Type = 4
|
|
Album_AUDIOBOOK Album_Type = 5
|
|
Album_PODCAST Album_Type = 6
|
|
)
|
|
|
|
// Enum value maps for Album_Type.
|
|
var (
|
|
Album_Type_name = map[int32]string{
|
|
1: "ALBUM",
|
|
2: "SINGLE",
|
|
3: "COMPILATION",
|
|
4: "EP",
|
|
5: "AUDIOBOOK",
|
|
6: "PODCAST",
|
|
}
|
|
Album_Type_value = map[string]int32{
|
|
"ALBUM": 1,
|
|
"SINGLE": 2,
|
|
"COMPILATION": 3,
|
|
"EP": 4,
|
|
"AUDIOBOOK": 5,
|
|
"PODCAST": 6,
|
|
}
|
|
)
|
|
|
|
func (x Album_Type) Enum() *Album_Type {
|
|
p := new(Album_Type)
|
|
*p = x
|
|
return p
|
|
}
|
|
|
|
func (x Album_Type) String() string {
|
|
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
|
|
}
|
|
|
|
func (Album_Type) Descriptor() protoreflect.EnumDescriptor {
|
|
return file_metadata_proto_enumTypes[0].Descriptor()
|
|
}
|
|
|
|
func (Album_Type) Type() protoreflect.EnumType {
|
|
return &file_metadata_proto_enumTypes[0]
|
|
}
|
|
|
|
func (x Album_Type) Number() protoreflect.EnumNumber {
|
|
return protoreflect.EnumNumber(x)
|
|
}
|
|
|
|
// Deprecated: Do not use.
|
|
func (x *Album_Type) UnmarshalJSON(b []byte) error {
|
|
num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
*x = Album_Type(num)
|
|
return nil
|
|
}
|
|
|
|
// Deprecated: Use Album_Type.Descriptor instead.
|
|
func (Album_Type) EnumDescriptor() ([]byte, []int) {
|
|
return file_metadata_proto_rawDescGZIP(), []int{1, 0}
|
|
}
|
|
|
|
type ArtistWithRole_ArtistRole int32
|
|
|
|
const (
|
|
ArtistWithRole_ARTIST_ROLE_UNKNOWN ArtistWithRole_ArtistRole = 0
|
|
ArtistWithRole_ARTIST_ROLE_MAIN_ARTIST ArtistWithRole_ArtistRole = 1
|
|
ArtistWithRole_ARTIST_ROLE_FEATURED_ARTIST ArtistWithRole_ArtistRole = 2
|
|
ArtistWithRole_ARTIST_ROLE_REMIXER ArtistWithRole_ArtistRole = 3
|
|
ArtistWithRole_ARTIST_ROLE_ACTOR ArtistWithRole_ArtistRole = 4
|
|
ArtistWithRole_ARTIST_ROLE_COMPOSER ArtistWithRole_ArtistRole = 5
|
|
ArtistWithRole_ARTIST_ROLE_CONDUCTOR ArtistWithRole_ArtistRole = 6
|
|
ArtistWithRole_ARTIST_ROLE_ORCHESTRA ArtistWithRole_ArtistRole = 7
|
|
)
|
|
|
|
// Enum value maps for ArtistWithRole_ArtistRole.
|
|
var (
|
|
ArtistWithRole_ArtistRole_name = map[int32]string{
|
|
0: "ARTIST_ROLE_UNKNOWN",
|
|
1: "ARTIST_ROLE_MAIN_ARTIST",
|
|
2: "ARTIST_ROLE_FEATURED_ARTIST",
|
|
3: "ARTIST_ROLE_REMIXER",
|
|
4: "ARTIST_ROLE_ACTOR",
|
|
5: "ARTIST_ROLE_COMPOSER",
|
|
6: "ARTIST_ROLE_CONDUCTOR",
|
|
7: "ARTIST_ROLE_ORCHESTRA",
|
|
}
|
|
ArtistWithRole_ArtistRole_value = map[string]int32{
|
|
"ARTIST_ROLE_UNKNOWN": 0,
|
|
"ARTIST_ROLE_MAIN_ARTIST": 1,
|
|
"ARTIST_ROLE_FEATURED_ARTIST": 2,
|
|
"ARTIST_ROLE_REMIXER": 3,
|
|
"ARTIST_ROLE_ACTOR": 4,
|
|
"ARTIST_ROLE_COMPOSER": 5,
|
|
"ARTIST_ROLE_CONDUCTOR": 6,
|
|
"ARTIST_ROLE_ORCHESTRA": 7,
|
|
}
|
|
)
|
|
|
|
func (x ArtistWithRole_ArtistRole) Enum() *ArtistWithRole_ArtistRole {
|
|
p := new(ArtistWithRole_ArtistRole)
|
|
*p = x
|
|
return p
|
|
}
|
|
|
|
func (x ArtistWithRole_ArtistRole) String() string {
|
|
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
|
|
}
|
|
|
|
func (ArtistWithRole_ArtistRole) Descriptor() protoreflect.EnumDescriptor {
|
|
return file_metadata_proto_enumTypes[1].Descriptor()
|
|
}
|
|
|
|
func (ArtistWithRole_ArtistRole) Type() protoreflect.EnumType {
|
|
return &file_metadata_proto_enumTypes[1]
|
|
}
|
|
|
|
func (x ArtistWithRole_ArtistRole) Number() protoreflect.EnumNumber {
|
|
return protoreflect.EnumNumber(x)
|
|
}
|
|
|
|
// Deprecated: Do not use.
|
|
func (x *ArtistWithRole_ArtistRole) UnmarshalJSON(b []byte) error {
|
|
num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
*x = ArtistWithRole_ArtistRole(num)
|
|
return nil
|
|
}
|
|
|
|
// Deprecated: Use ArtistWithRole_ArtistRole.Descriptor instead.
|
|
func (ArtistWithRole_ArtistRole) EnumDescriptor() ([]byte, []int) {
|
|
return file_metadata_proto_rawDescGZIP(), []int{3, 0}
|
|
}
|
|
|
|
type Show_MediaType int32
|
|
|
|
const (
|
|
Show_MIXED Show_MediaType = 0
|
|
Show_AUDIO Show_MediaType = 1
|
|
Show_VIDEO Show_MediaType = 2
|
|
)
|
|
|
|
// Enum value maps for Show_MediaType.
|
|
var (
|
|
Show_MediaType_name = map[int32]string{
|
|
0: "MIXED",
|
|
1: "AUDIO",
|
|
2: "VIDEO",
|
|
}
|
|
Show_MediaType_value = map[string]int32{
|
|
"MIXED": 0,
|
|
"AUDIO": 1,
|
|
"VIDEO": 2,
|
|
}
|
|
)
|
|
|
|
func (x Show_MediaType) Enum() *Show_MediaType {
|
|
p := new(Show_MediaType)
|
|
*p = x
|
|
return p
|
|
}
|
|
|
|
func (x Show_MediaType) String() string {
|
|
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
|
|
}
|
|
|
|
func (Show_MediaType) Descriptor() protoreflect.EnumDescriptor {
|
|
return file_metadata_proto_enumTypes[2].Descriptor()
|
|
}
|
|
|
|
func (Show_MediaType) Type() protoreflect.EnumType {
|
|
return &file_metadata_proto_enumTypes[2]
|
|
}
|
|
|
|
func (x Show_MediaType) Number() protoreflect.EnumNumber {
|
|
return protoreflect.EnumNumber(x)
|
|
}
|
|
|
|
// Deprecated: Do not use.
|
|
func (x *Show_MediaType) UnmarshalJSON(b []byte) error {
|
|
num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
*x = Show_MediaType(num)
|
|
return nil
|
|
}
|
|
|
|
// Deprecated: Use Show_MediaType.Descriptor instead.
|
|
func (Show_MediaType) EnumDescriptor() ([]byte, []int) {
|
|
return file_metadata_proto_rawDescGZIP(), []int{4, 0}
|
|
}
|
|
|
|
type Show_ConsumptionOrder int32
|
|
|
|
const (
|
|
Show_SEQUENTIAL Show_ConsumptionOrder = 1
|
|
Show_EPISODIC Show_ConsumptionOrder = 2
|
|
Show_RECENT Show_ConsumptionOrder = 3
|
|
)
|
|
|
|
// Enum value maps for Show_ConsumptionOrder.
|
|
var (
|
|
Show_ConsumptionOrder_name = map[int32]string{
|
|
1: "SEQUENTIAL",
|
|
2: "EPISODIC",
|
|
3: "RECENT",
|
|
}
|
|
Show_ConsumptionOrder_value = map[string]int32{
|
|
"SEQUENTIAL": 1,
|
|
"EPISODIC": 2,
|
|
"RECENT": 3,
|
|
}
|
|
)
|
|
|
|
func (x Show_ConsumptionOrder) Enum() *Show_ConsumptionOrder {
|
|
p := new(Show_ConsumptionOrder)
|
|
*p = x
|
|
return p
|
|
}
|
|
|
|
func (x Show_ConsumptionOrder) String() string {
|
|
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
|
|
}
|
|
|
|
func (Show_ConsumptionOrder) Descriptor() protoreflect.EnumDescriptor {
|
|
return file_metadata_proto_enumTypes[3].Descriptor()
|
|
}
|
|
|
|
func (Show_ConsumptionOrder) Type() protoreflect.EnumType {
|
|
return &file_metadata_proto_enumTypes[3]
|
|
}
|
|
|
|
func (x Show_ConsumptionOrder) Number() protoreflect.EnumNumber {
|
|
return protoreflect.EnumNumber(x)
|
|
}
|
|
|
|
// Deprecated: Do not use.
|
|
func (x *Show_ConsumptionOrder) UnmarshalJSON(b []byte) error {
|
|
num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
*x = Show_ConsumptionOrder(num)
|
|
return nil
|
|
}
|
|
|
|
// Deprecated: Use Show_ConsumptionOrder.Descriptor instead.
|
|
func (Show_ConsumptionOrder) EnumDescriptor() ([]byte, []int) {
|
|
return file_metadata_proto_rawDescGZIP(), []int{4, 1}
|
|
}
|
|
|
|
type Episode_EpisodeType int32
|
|
|
|
const (
|
|
Episode_FULL Episode_EpisodeType = 0
|
|
Episode_TRAILER Episode_EpisodeType = 1
|
|
Episode_BONUS Episode_EpisodeType = 2
|
|
)
|
|
|
|
// Enum value maps for Episode_EpisodeType.
|
|
var (
|
|
Episode_EpisodeType_name = map[int32]string{
|
|
0: "FULL",
|
|
1: "TRAILER",
|
|
2: "BONUS",
|
|
}
|
|
Episode_EpisodeType_value = map[string]int32{
|
|
"FULL": 0,
|
|
"TRAILER": 1,
|
|
"BONUS": 2,
|
|
}
|
|
)
|
|
|
|
func (x Episode_EpisodeType) Enum() *Episode_EpisodeType {
|
|
p := new(Episode_EpisodeType)
|
|
*p = x
|
|
return p
|
|
}
|
|
|
|
func (x Episode_EpisodeType) String() string {
|
|
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
|
|
}
|
|
|
|
func (Episode_EpisodeType) Descriptor() protoreflect.EnumDescriptor {
|
|
return file_metadata_proto_enumTypes[4].Descriptor()
|
|
}
|
|
|
|
func (Episode_EpisodeType) Type() protoreflect.EnumType {
|
|
return &file_metadata_proto_enumTypes[4]
|
|
}
|
|
|
|
func (x Episode_EpisodeType) Number() protoreflect.EnumNumber {
|
|
return protoreflect.EnumNumber(x)
|
|
}
|
|
|
|
// Deprecated: Do not use.
|
|
func (x *Episode_EpisodeType) UnmarshalJSON(b []byte) error {
|
|
num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
*x = Episode_EpisodeType(num)
|
|
return nil
|
|
}
|
|
|
|
// Deprecated: Use Episode_EpisodeType.Descriptor instead.
|
|
func (Episode_EpisodeType) EnumDescriptor() ([]byte, []int) {
|
|
return file_metadata_proto_rawDescGZIP(), []int{5, 0}
|
|
}
|
|
|
|
type Image_Size int32
|
|
|
|
const (
|
|
Image_DEFAULT Image_Size = 0
|
|
Image_SMALL Image_Size = 1
|
|
Image_LARGE Image_Size = 2
|
|
Image_XLARGE Image_Size = 3
|
|
)
|
|
|
|
// Enum value maps for Image_Size.
|
|
var (
|
|
Image_Size_name = map[int32]string{
|
|
0: "DEFAULT",
|
|
1: "SMALL",
|
|
2: "LARGE",
|
|
3: "XLARGE",
|
|
}
|
|
Image_Size_value = map[string]int32{
|
|
"DEFAULT": 0,
|
|
"SMALL": 1,
|
|
"LARGE": 2,
|
|
"XLARGE": 3,
|
|
}
|
|
)
|
|
|
|
func (x Image_Size) Enum() *Image_Size {
|
|
p := new(Image_Size)
|
|
*p = x
|
|
return p
|
|
}
|
|
|
|
func (x Image_Size) String() string {
|
|
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
|
|
}
|
|
|
|
func (Image_Size) Descriptor() protoreflect.EnumDescriptor {
|
|
return file_metadata_proto_enumTypes[5].Descriptor()
|
|
}
|
|
|
|
func (Image_Size) Type() protoreflect.EnumType {
|
|
return &file_metadata_proto_enumTypes[5]
|
|
}
|
|
|
|
func (x Image_Size) Number() protoreflect.EnumNumber {
|
|
return protoreflect.EnumNumber(x)
|
|
}
|
|
|
|
// Deprecated: Do not use.
|
|
func (x *Image_Size) UnmarshalJSON(b []byte) error {
|
|
num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
*x = Image_Size(num)
|
|
return nil
|
|
}
|
|
|
|
// Deprecated: Use Image_Size.Descriptor instead.
|
|
func (Image_Size) EnumDescriptor() ([]byte, []int) {
|
|
return file_metadata_proto_rawDescGZIP(), []int{11, 0}
|
|
}
|
|
|
|
type Copyright_Type int32
|
|
|
|
const (
|
|
Copyright_P Copyright_Type = 0
|
|
Copyright_C Copyright_Type = 1
|
|
)
|
|
|
|
// Enum value maps for Copyright_Type.
|
|
var (
|
|
Copyright_Type_name = map[int32]string{
|
|
0: "P",
|
|
1: "C",
|
|
}
|
|
Copyright_Type_value = map[string]int32{
|
|
"P": 0,
|
|
"C": 1,
|
|
}
|
|
)
|
|
|
|
func (x Copyright_Type) Enum() *Copyright_Type {
|
|
p := new(Copyright_Type)
|
|
*p = x
|
|
return p
|
|
}
|
|
|
|
func (x Copyright_Type) String() string {
|
|
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
|
|
}
|
|
|
|
func (Copyright_Type) Descriptor() protoreflect.EnumDescriptor {
|
|
return file_metadata_proto_enumTypes[6].Descriptor()
|
|
}
|
|
|
|
func (Copyright_Type) Type() protoreflect.EnumType {
|
|
return &file_metadata_proto_enumTypes[6]
|
|
}
|
|
|
|
func (x Copyright_Type) Number() protoreflect.EnumNumber {
|
|
return protoreflect.EnumNumber(x)
|
|
}
|
|
|
|
// Deprecated: Do not use.
|
|
func (x *Copyright_Type) UnmarshalJSON(b []byte) error {
|
|
num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
*x = Copyright_Type(num)
|
|
return nil
|
|
}
|
|
|
|
// Deprecated: Use Copyright_Type.Descriptor instead.
|
|
func (Copyright_Type) EnumDescriptor() ([]byte, []int) {
|
|
return file_metadata_proto_rawDescGZIP(), []int{15, 0}
|
|
}
|
|
|
|
type Restriction_Catalogue int32
|
|
|
|
const (
|
|
Restriction_AD Restriction_Catalogue = 0
|
|
Restriction_SUBSCRIPTION Restriction_Catalogue = 1
|
|
Restriction_CATALOGUE_ALL Restriction_Catalogue = 2
|
|
Restriction_SHUFFLE Restriction_Catalogue = 3
|
|
Restriction_COMMERCIAL Restriction_Catalogue = 4
|
|
)
|
|
|
|
// Enum value maps for Restriction_Catalogue.
|
|
var (
|
|
Restriction_Catalogue_name = map[int32]string{
|
|
0: "AD",
|
|
1: "SUBSCRIPTION",
|
|
2: "CATALOGUE_ALL",
|
|
3: "SHUFFLE",
|
|
4: "COMMERCIAL",
|
|
}
|
|
Restriction_Catalogue_value = map[string]int32{
|
|
"AD": 0,
|
|
"SUBSCRIPTION": 1,
|
|
"CATALOGUE_ALL": 2,
|
|
"SHUFFLE": 3,
|
|
"COMMERCIAL": 4,
|
|
}
|
|
)
|
|
|
|
func (x Restriction_Catalogue) Enum() *Restriction_Catalogue {
|
|
p := new(Restriction_Catalogue)
|
|
*p = x
|
|
return p
|
|
}
|
|
|
|
func (x Restriction_Catalogue) String() string {
|
|
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
|
|
}
|
|
|
|
func (Restriction_Catalogue) Descriptor() protoreflect.EnumDescriptor {
|
|
return file_metadata_proto_enumTypes[7].Descriptor()
|
|
}
|
|
|
|
func (Restriction_Catalogue) Type() protoreflect.EnumType {
|
|
return &file_metadata_proto_enumTypes[7]
|
|
}
|
|
|
|
func (x Restriction_Catalogue) Number() protoreflect.EnumNumber {
|
|
return protoreflect.EnumNumber(x)
|
|
}
|
|
|
|
// Deprecated: Do not use.
|
|
func (x *Restriction_Catalogue) UnmarshalJSON(b []byte) error {
|
|
num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
*x = Restriction_Catalogue(num)
|
|
return nil
|
|
}
|
|
|
|
// Deprecated: Use Restriction_Catalogue.Descriptor instead.
|
|
func (Restriction_Catalogue) EnumDescriptor() ([]byte, []int) {
|
|
return file_metadata_proto_rawDescGZIP(), []int{16, 0}
|
|
}
|
|
|
|
type Restriction_Type int32
|
|
|
|
const (
|
|
Restriction_STREAMING Restriction_Type = 0
|
|
)
|
|
|
|
// Enum value maps for Restriction_Type.
|
|
var (
|
|
Restriction_Type_name = map[int32]string{
|
|
0: "STREAMING",
|
|
}
|
|
Restriction_Type_value = map[string]int32{
|
|
"STREAMING": 0,
|
|
}
|
|
)
|
|
|
|
func (x Restriction_Type) Enum() *Restriction_Type {
|
|
p := new(Restriction_Type)
|
|
*p = x
|
|
return p
|
|
}
|
|
|
|
func (x Restriction_Type) String() string {
|
|
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
|
|
}
|
|
|
|
func (Restriction_Type) Descriptor() protoreflect.EnumDescriptor {
|
|
return file_metadata_proto_enumTypes[8].Descriptor()
|
|
}
|
|
|
|
func (Restriction_Type) Type() protoreflect.EnumType {
|
|
return &file_metadata_proto_enumTypes[8]
|
|
}
|
|
|
|
func (x Restriction_Type) Number() protoreflect.EnumNumber {
|
|
return protoreflect.EnumNumber(x)
|
|
}
|
|
|
|
// Deprecated: Do not use.
|
|
func (x *Restriction_Type) UnmarshalJSON(b []byte) error {
|
|
num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
*x = Restriction_Type(num)
|
|
return nil
|
|
}
|
|
|
|
// Deprecated: Use Restriction_Type.Descriptor instead.
|
|
func (Restriction_Type) EnumDescriptor() ([]byte, []int) {
|
|
return file_metadata_proto_rawDescGZIP(), []int{16, 1}
|
|
}
|
|
|
|
type AudioFile_Format int32
|
|
|
|
const (
|
|
AudioFile_OGG_VORBIS_96 AudioFile_Format = 0
|
|
AudioFile_OGG_VORBIS_160 AudioFile_Format = 1
|
|
AudioFile_OGG_VORBIS_320 AudioFile_Format = 2
|
|
AudioFile_MP3_256 AudioFile_Format = 3
|
|
AudioFile_MP3_320 AudioFile_Format = 4
|
|
AudioFile_MP3_160 AudioFile_Format = 5
|
|
AudioFile_MP3_96 AudioFile_Format = 6
|
|
AudioFile_MP3_160_ENC AudioFile_Format = 7
|
|
AudioFile_AAC_24 AudioFile_Format = 8
|
|
AudioFile_AAC_48 AudioFile_Format = 9
|
|
AudioFile_FLAC_FLAC AudioFile_Format = 16
|
|
)
|
|
|
|
// Enum value maps for AudioFile_Format.
|
|
var (
|
|
AudioFile_Format_name = map[int32]string{
|
|
0: "OGG_VORBIS_96",
|
|
1: "OGG_VORBIS_160",
|
|
2: "OGG_VORBIS_320",
|
|
3: "MP3_256",
|
|
4: "MP3_320",
|
|
5: "MP3_160",
|
|
6: "MP3_96",
|
|
7: "MP3_160_ENC",
|
|
8: "AAC_24",
|
|
9: "AAC_48",
|
|
16: "FLAC_FLAC",
|
|
}
|
|
AudioFile_Format_value = map[string]int32{
|
|
"OGG_VORBIS_96": 0,
|
|
"OGG_VORBIS_160": 1,
|
|
"OGG_VORBIS_320": 2,
|
|
"MP3_256": 3,
|
|
"MP3_320": 4,
|
|
"MP3_160": 5,
|
|
"MP3_96": 6,
|
|
"MP3_160_ENC": 7,
|
|
"AAC_24": 8,
|
|
"AAC_48": 9,
|
|
"FLAC_FLAC": 16,
|
|
}
|
|
)
|
|
|
|
func (x AudioFile_Format) Enum() *AudioFile_Format {
|
|
p := new(AudioFile_Format)
|
|
*p = x
|
|
return p
|
|
}
|
|
|
|
func (x AudioFile_Format) String() string {
|
|
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
|
|
}
|
|
|
|
func (AudioFile_Format) Descriptor() protoreflect.EnumDescriptor {
|
|
return file_metadata_proto_enumTypes[9].Descriptor()
|
|
}
|
|
|
|
func (AudioFile_Format) Type() protoreflect.EnumType {
|
|
return &file_metadata_proto_enumTypes[9]
|
|
}
|
|
|
|
func (x AudioFile_Format) Number() protoreflect.EnumNumber {
|
|
return protoreflect.EnumNumber(x)
|
|
}
|
|
|
|
// Deprecated: Do not use.
|
|
func (x *AudioFile_Format) UnmarshalJSON(b []byte) error {
|
|
num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
*x = AudioFile_Format(num)
|
|
return nil
|
|
}
|
|
|
|
// Deprecated: Use AudioFile_Format.Descriptor instead.
|
|
func (AudioFile_Format) EnumDescriptor() ([]byte, []int) {
|
|
return file_metadata_proto_rawDescGZIP(), []int{20, 0}
|
|
}
|
|
|
|
type Artist struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
Gid []byte `protobuf:"bytes,1,opt,name=gid" json:"gid,omitempty"`
|
|
Name *string `protobuf:"bytes,2,opt,name=name" json:"name,omitempty"`
|
|
Popularity *int32 `protobuf:"zigzag32,3,opt,name=popularity" json:"popularity,omitempty"`
|
|
TopTrack []*TopTracks `protobuf:"bytes,4,rep,name=top_track,json=topTrack" json:"top_track,omitempty"`
|
|
AlbumGroup []*AlbumGroup `protobuf:"bytes,5,rep,name=album_group,json=albumGroup" json:"album_group,omitempty"`
|
|
SingleGroup []*AlbumGroup `protobuf:"bytes,6,rep,name=single_group,json=singleGroup" json:"single_group,omitempty"`
|
|
CompilationGroup []*AlbumGroup `protobuf:"bytes,7,rep,name=compilation_group,json=compilationGroup" json:"compilation_group,omitempty"`
|
|
AppearsOnGroup []*AlbumGroup `protobuf:"bytes,8,rep,name=appears_on_group,json=appearsOnGroup" json:"appears_on_group,omitempty"`
|
|
Genre []string `protobuf:"bytes,9,rep,name=genre" json:"genre,omitempty"`
|
|
ExternalId []*ExternalId `protobuf:"bytes,10,rep,name=external_id,json=externalId" json:"external_id,omitempty"`
|
|
Portrait []*Image `protobuf:"bytes,11,rep,name=portrait" json:"portrait,omitempty"`
|
|
Biography []*Biography `protobuf:"bytes,12,rep,name=biography" json:"biography,omitempty"`
|
|
ActivityPeriod []*ActivityPeriod `protobuf:"bytes,13,rep,name=activity_period,json=activityPeriod" json:"activity_period,omitempty"`
|
|
Restriction []*Restriction `protobuf:"bytes,14,rep,name=restriction" json:"restriction,omitempty"`
|
|
Related []*Artist `protobuf:"bytes,15,rep,name=related" json:"related,omitempty"`
|
|
IsPortraitAlbumCover *bool `protobuf:"varint,16,opt,name=is_portrait_album_cover,json=isPortraitAlbumCover" json:"is_portrait_album_cover,omitempty"`
|
|
PortraitGroup *ImageGroup `protobuf:"bytes,17,opt,name=portrait_group,json=portraitGroup" json:"portrait_group,omitempty"`
|
|
SalePeriod []*SalePeriod `protobuf:"bytes,18,rep,name=sale_period,json=salePeriod" json:"sale_period,omitempty"`
|
|
Availability []*Availability `protobuf:"bytes,20,rep,name=availability" json:"availability,omitempty"`
|
|
}
|
|
|
|
func (x *Artist) Reset() {
|
|
*x = Artist{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_metadata_proto_msgTypes[0]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *Artist) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*Artist) ProtoMessage() {}
|
|
|
|
func (x *Artist) ProtoReflect() protoreflect.Message {
|
|
mi := &file_metadata_proto_msgTypes[0]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use Artist.ProtoReflect.Descriptor instead.
|
|
func (*Artist) Descriptor() ([]byte, []int) {
|
|
return file_metadata_proto_rawDescGZIP(), []int{0}
|
|
}
|
|
|
|
func (x *Artist) GetGid() []byte {
|
|
if x != nil {
|
|
return x.Gid
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *Artist) GetName() string {
|
|
if x != nil && x.Name != nil {
|
|
return *x.Name
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *Artist) GetPopularity() int32 {
|
|
if x != nil && x.Popularity != nil {
|
|
return *x.Popularity
|
|
}
|
|
return 0
|
|
}
|
|
|
|
func (x *Artist) GetTopTrack() []*TopTracks {
|
|
if x != nil {
|
|
return x.TopTrack
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *Artist) GetAlbumGroup() []*AlbumGroup {
|
|
if x != nil {
|
|
return x.AlbumGroup
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *Artist) GetSingleGroup() []*AlbumGroup {
|
|
if x != nil {
|
|
return x.SingleGroup
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *Artist) GetCompilationGroup() []*AlbumGroup {
|
|
if x != nil {
|
|
return x.CompilationGroup
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *Artist) GetAppearsOnGroup() []*AlbumGroup {
|
|
if x != nil {
|
|
return x.AppearsOnGroup
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *Artist) GetGenre() []string {
|
|
if x != nil {
|
|
return x.Genre
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *Artist) GetExternalId() []*ExternalId {
|
|
if x != nil {
|
|
return x.ExternalId
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *Artist) GetPortrait() []*Image {
|
|
if x != nil {
|
|
return x.Portrait
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *Artist) GetBiography() []*Biography {
|
|
if x != nil {
|
|
return x.Biography
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *Artist) GetActivityPeriod() []*ActivityPeriod {
|
|
if x != nil {
|
|
return x.ActivityPeriod
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *Artist) GetRestriction() []*Restriction {
|
|
if x != nil {
|
|
return x.Restriction
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *Artist) GetRelated() []*Artist {
|
|
if x != nil {
|
|
return x.Related
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *Artist) GetIsPortraitAlbumCover() bool {
|
|
if x != nil && x.IsPortraitAlbumCover != nil {
|
|
return *x.IsPortraitAlbumCover
|
|
}
|
|
return false
|
|
}
|
|
|
|
func (x *Artist) GetPortraitGroup() *ImageGroup {
|
|
if x != nil {
|
|
return x.PortraitGroup
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *Artist) GetSalePeriod() []*SalePeriod {
|
|
if x != nil {
|
|
return x.SalePeriod
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *Artist) GetAvailability() []*Availability {
|
|
if x != nil {
|
|
return x.Availability
|
|
}
|
|
return nil
|
|
}
|
|
|
|
type Album struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
Gid []byte `protobuf:"bytes,1,opt,name=gid" json:"gid,omitempty"`
|
|
Name *string `protobuf:"bytes,2,opt,name=name" json:"name,omitempty"`
|
|
Artist []*Artist `protobuf:"bytes,3,rep,name=artist" json:"artist,omitempty"`
|
|
Type *Album_Type `protobuf:"varint,4,opt,name=type,enum=spotify.metadata.Album_Type" json:"type,omitempty"`
|
|
Label *string `protobuf:"bytes,5,opt,name=label" json:"label,omitempty"`
|
|
Date *Date `protobuf:"bytes,6,opt,name=date" json:"date,omitempty"`
|
|
Popularity *int32 `protobuf:"zigzag32,7,opt,name=popularity" json:"popularity,omitempty"`
|
|
Genre []string `protobuf:"bytes,8,rep,name=genre" json:"genre,omitempty"`
|
|
Cover []*Image `protobuf:"bytes,9,rep,name=cover" json:"cover,omitempty"`
|
|
ExternalId []*ExternalId `protobuf:"bytes,10,rep,name=external_id,json=externalId" json:"external_id,omitempty"`
|
|
Disc []*Disc `protobuf:"bytes,11,rep,name=disc" json:"disc,omitempty"`
|
|
Review []string `protobuf:"bytes,12,rep,name=review" json:"review,omitempty"`
|
|
Copyright []*Copyright `protobuf:"bytes,13,rep,name=copyright" json:"copyright,omitempty"`
|
|
Restriction []*Restriction `protobuf:"bytes,14,rep,name=restriction" json:"restriction,omitempty"`
|
|
Related []*Album `protobuf:"bytes,15,rep,name=related" json:"related,omitempty"`
|
|
SalePeriod []*SalePeriod `protobuf:"bytes,16,rep,name=sale_period,json=salePeriod" json:"sale_period,omitempty"`
|
|
CoverGroup *ImageGroup `protobuf:"bytes,17,opt,name=cover_group,json=coverGroup" json:"cover_group,omitempty"`
|
|
OriginalTitle *string `protobuf:"bytes,18,opt,name=original_title,json=originalTitle" json:"original_title,omitempty"`
|
|
VersionTitle *string `protobuf:"bytes,19,opt,name=version_title,json=versionTitle" json:"version_title,omitempty"`
|
|
TypeStr *string `protobuf:"bytes,20,opt,name=type_str,json=typeStr" json:"type_str,omitempty"`
|
|
Availability []*Availability `protobuf:"bytes,23,rep,name=availability" json:"availability,omitempty"`
|
|
}
|
|
|
|
func (x *Album) Reset() {
|
|
*x = Album{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_metadata_proto_msgTypes[1]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *Album) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*Album) ProtoMessage() {}
|
|
|
|
func (x *Album) ProtoReflect() protoreflect.Message {
|
|
mi := &file_metadata_proto_msgTypes[1]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use Album.ProtoReflect.Descriptor instead.
|
|
func (*Album) Descriptor() ([]byte, []int) {
|
|
return file_metadata_proto_rawDescGZIP(), []int{1}
|
|
}
|
|
|
|
func (x *Album) GetGid() []byte {
|
|
if x != nil {
|
|
return x.Gid
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *Album) GetName() string {
|
|
if x != nil && x.Name != nil {
|
|
return *x.Name
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *Album) GetArtist() []*Artist {
|
|
if x != nil {
|
|
return x.Artist
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *Album) GetType() Album_Type {
|
|
if x != nil && x.Type != nil {
|
|
return *x.Type
|
|
}
|
|
return Album_ALBUM
|
|
}
|
|
|
|
func (x *Album) GetLabel() string {
|
|
if x != nil && x.Label != nil {
|
|
return *x.Label
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *Album) GetDate() *Date {
|
|
if x != nil {
|
|
return x.Date
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *Album) GetPopularity() int32 {
|
|
if x != nil && x.Popularity != nil {
|
|
return *x.Popularity
|
|
}
|
|
return 0
|
|
}
|
|
|
|
func (x *Album) GetGenre() []string {
|
|
if x != nil {
|
|
return x.Genre
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *Album) GetCover() []*Image {
|
|
if x != nil {
|
|
return x.Cover
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *Album) GetExternalId() []*ExternalId {
|
|
if x != nil {
|
|
return x.ExternalId
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *Album) GetDisc() []*Disc {
|
|
if x != nil {
|
|
return x.Disc
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *Album) GetReview() []string {
|
|
if x != nil {
|
|
return x.Review
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *Album) GetCopyright() []*Copyright {
|
|
if x != nil {
|
|
return x.Copyright
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *Album) GetRestriction() []*Restriction {
|
|
if x != nil {
|
|
return x.Restriction
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *Album) GetRelated() []*Album {
|
|
if x != nil {
|
|
return x.Related
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *Album) GetSalePeriod() []*SalePeriod {
|
|
if x != nil {
|
|
return x.SalePeriod
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *Album) GetCoverGroup() *ImageGroup {
|
|
if x != nil {
|
|
return x.CoverGroup
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *Album) GetOriginalTitle() string {
|
|
if x != nil && x.OriginalTitle != nil {
|
|
return *x.OriginalTitle
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *Album) GetVersionTitle() string {
|
|
if x != nil && x.VersionTitle != nil {
|
|
return *x.VersionTitle
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *Album) GetTypeStr() string {
|
|
if x != nil && x.TypeStr != nil {
|
|
return *x.TypeStr
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *Album) GetAvailability() []*Availability {
|
|
if x != nil {
|
|
return x.Availability
|
|
}
|
|
return nil
|
|
}
|
|
|
|
type Track struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
Gid []byte `protobuf:"bytes,1,opt,name=gid" json:"gid,omitempty"`
|
|
Name *string `protobuf:"bytes,2,opt,name=name" json:"name,omitempty"`
|
|
Album *Album `protobuf:"bytes,3,opt,name=album" json:"album,omitempty"`
|
|
Artist []*Artist `protobuf:"bytes,4,rep,name=artist" json:"artist,omitempty"`
|
|
Number *int32 `protobuf:"zigzag32,5,opt,name=number" json:"number,omitempty"`
|
|
DiscNumber *int32 `protobuf:"zigzag32,6,opt,name=disc_number,json=discNumber" json:"disc_number,omitempty"`
|
|
Duration *int32 `protobuf:"zigzag32,7,opt,name=duration" json:"duration,omitempty"`
|
|
Popularity *int32 `protobuf:"zigzag32,8,opt,name=popularity" json:"popularity,omitempty"`
|
|
Explicit *bool `protobuf:"varint,9,opt,name=explicit" json:"explicit,omitempty"`
|
|
ExternalId []*ExternalId `protobuf:"bytes,10,rep,name=external_id,json=externalId" json:"external_id,omitempty"`
|
|
Restriction []*Restriction `protobuf:"bytes,11,rep,name=restriction" json:"restriction,omitempty"`
|
|
File []*AudioFile `protobuf:"bytes,12,rep,name=file" json:"file,omitempty"`
|
|
Alternative []*Track `protobuf:"bytes,13,rep,name=alternative" json:"alternative,omitempty"`
|
|
SalePeriod []*SalePeriod `protobuf:"bytes,14,rep,name=sale_period,json=salePeriod" json:"sale_period,omitempty"`
|
|
Preview []*AudioFile `protobuf:"bytes,15,rep,name=preview" json:"preview,omitempty"`
|
|
Tags []string `protobuf:"bytes,16,rep,name=tags" json:"tags,omitempty"`
|
|
EarliestLiveTimestamp *int64 `protobuf:"varint,17,opt,name=earliest_live_timestamp,json=earliestLiveTimestamp" json:"earliest_live_timestamp,omitempty"`
|
|
HasLyrics *bool `protobuf:"varint,18,opt,name=has_lyrics,json=hasLyrics" json:"has_lyrics,omitempty"`
|
|
Availability []*Availability `protobuf:"bytes,19,rep,name=availability" json:"availability,omitempty"`
|
|
Licensor *Licensor `protobuf:"bytes,21,opt,name=licensor" json:"licensor,omitempty"`
|
|
LanguageOfPerformance []string `protobuf:"bytes,22,rep,name=language_of_performance,json=languageOfPerformance" json:"language_of_performance,omitempty"`
|
|
ContentRating []*ContentRating `protobuf:"bytes,25,rep,name=content_rating,json=contentRating" json:"content_rating,omitempty"`
|
|
OriginalTitle *string `protobuf:"bytes,27,opt,name=original_title,json=originalTitle" json:"original_title,omitempty"`
|
|
VersionTitle *string `protobuf:"bytes,28,opt,name=version_title,json=versionTitle" json:"version_title,omitempty"`
|
|
ArtistWithRole []*ArtistWithRole `protobuf:"bytes,32,rep,name=artist_with_role,json=artistWithRole" json:"artist_with_role,omitempty"`
|
|
}
|
|
|
|
func (x *Track) Reset() {
|
|
*x = Track{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_metadata_proto_msgTypes[2]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *Track) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*Track) ProtoMessage() {}
|
|
|
|
func (x *Track) ProtoReflect() protoreflect.Message {
|
|
mi := &file_metadata_proto_msgTypes[2]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use Track.ProtoReflect.Descriptor instead.
|
|
func (*Track) Descriptor() ([]byte, []int) {
|
|
return file_metadata_proto_rawDescGZIP(), []int{2}
|
|
}
|
|
|
|
func (x *Track) GetGid() []byte {
|
|
if x != nil {
|
|
return x.Gid
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *Track) GetName() string {
|
|
if x != nil && x.Name != nil {
|
|
return *x.Name
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *Track) GetAlbum() *Album {
|
|
if x != nil {
|
|
return x.Album
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *Track) GetArtist() []*Artist {
|
|
if x != nil {
|
|
return x.Artist
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *Track) GetNumber() int32 {
|
|
if x != nil && x.Number != nil {
|
|
return *x.Number
|
|
}
|
|
return 0
|
|
}
|
|
|
|
func (x *Track) GetDiscNumber() int32 {
|
|
if x != nil && x.DiscNumber != nil {
|
|
return *x.DiscNumber
|
|
}
|
|
return 0
|
|
}
|
|
|
|
func (x *Track) GetDuration() int32 {
|
|
if x != nil && x.Duration != nil {
|
|
return *x.Duration
|
|
}
|
|
return 0
|
|
}
|
|
|
|
func (x *Track) GetPopularity() int32 {
|
|
if x != nil && x.Popularity != nil {
|
|
return *x.Popularity
|
|
}
|
|
return 0
|
|
}
|
|
|
|
func (x *Track) GetExplicit() bool {
|
|
if x != nil && x.Explicit != nil {
|
|
return *x.Explicit
|
|
}
|
|
return false
|
|
}
|
|
|
|
func (x *Track) GetExternalId() []*ExternalId {
|
|
if x != nil {
|
|
return x.ExternalId
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *Track) GetRestriction() []*Restriction {
|
|
if x != nil {
|
|
return x.Restriction
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *Track) GetFile() []*AudioFile {
|
|
if x != nil {
|
|
return x.File
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *Track) GetAlternative() []*Track {
|
|
if x != nil {
|
|
return x.Alternative
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *Track) GetSalePeriod() []*SalePeriod {
|
|
if x != nil {
|
|
return x.SalePeriod
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *Track) GetPreview() []*AudioFile {
|
|
if x != nil {
|
|
return x.Preview
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *Track) GetTags() []string {
|
|
if x != nil {
|
|
return x.Tags
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *Track) GetEarliestLiveTimestamp() int64 {
|
|
if x != nil && x.EarliestLiveTimestamp != nil {
|
|
return *x.EarliestLiveTimestamp
|
|
}
|
|
return 0
|
|
}
|
|
|
|
func (x *Track) GetHasLyrics() bool {
|
|
if x != nil && x.HasLyrics != nil {
|
|
return *x.HasLyrics
|
|
}
|
|
return false
|
|
}
|
|
|
|
func (x *Track) GetAvailability() []*Availability {
|
|
if x != nil {
|
|
return x.Availability
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *Track) GetLicensor() *Licensor {
|
|
if x != nil {
|
|
return x.Licensor
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *Track) GetLanguageOfPerformance() []string {
|
|
if x != nil {
|
|
return x.LanguageOfPerformance
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *Track) GetContentRating() []*ContentRating {
|
|
if x != nil {
|
|
return x.ContentRating
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *Track) GetOriginalTitle() string {
|
|
if x != nil && x.OriginalTitle != nil {
|
|
return *x.OriginalTitle
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *Track) GetVersionTitle() string {
|
|
if x != nil && x.VersionTitle != nil {
|
|
return *x.VersionTitle
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *Track) GetArtistWithRole() []*ArtistWithRole {
|
|
if x != nil {
|
|
return x.ArtistWithRole
|
|
}
|
|
return nil
|
|
}
|
|
|
|
type ArtistWithRole struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
ArtistGid []byte `protobuf:"bytes,1,opt,name=artist_gid,json=artistGid" json:"artist_gid,omitempty"`
|
|
ArtistName *string `protobuf:"bytes,2,opt,name=artist_name,json=artistName" json:"artist_name,omitempty"`
|
|
Role *ArtistWithRole_ArtistRole `protobuf:"varint,3,opt,name=role,enum=spotify.metadata.ArtistWithRole_ArtistRole" json:"role,omitempty"`
|
|
}
|
|
|
|
func (x *ArtistWithRole) Reset() {
|
|
*x = ArtistWithRole{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_metadata_proto_msgTypes[3]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *ArtistWithRole) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*ArtistWithRole) ProtoMessage() {}
|
|
|
|
func (x *ArtistWithRole) ProtoReflect() protoreflect.Message {
|
|
mi := &file_metadata_proto_msgTypes[3]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use ArtistWithRole.ProtoReflect.Descriptor instead.
|
|
func (*ArtistWithRole) Descriptor() ([]byte, []int) {
|
|
return file_metadata_proto_rawDescGZIP(), []int{3}
|
|
}
|
|
|
|
func (x *ArtistWithRole) GetArtistGid() []byte {
|
|
if x != nil {
|
|
return x.ArtistGid
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *ArtistWithRole) GetArtistName() string {
|
|
if x != nil && x.ArtistName != nil {
|
|
return *x.ArtistName
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *ArtistWithRole) GetRole() ArtistWithRole_ArtistRole {
|
|
if x != nil && x.Role != nil {
|
|
return *x.Role
|
|
}
|
|
return ArtistWithRole_ARTIST_ROLE_UNKNOWN
|
|
}
|
|
|
|
type Show struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
Gid []byte `protobuf:"bytes,1,opt,name=gid" json:"gid,omitempty"`
|
|
Name *string `protobuf:"bytes,2,opt,name=name" json:"name,omitempty"`
|
|
Description *string `protobuf:"bytes,64,opt,name=description" json:"description,omitempty"`
|
|
DeprecatedPopularity *int32 `protobuf:"zigzag32,65,opt,name=deprecated_popularity,json=deprecatedPopularity" json:"deprecated_popularity,omitempty"`
|
|
Publisher *string `protobuf:"bytes,66,opt,name=publisher" json:"publisher,omitempty"`
|
|
Language *string `protobuf:"bytes,67,opt,name=language" json:"language,omitempty"`
|
|
Explicit *bool `protobuf:"varint,68,opt,name=explicit" json:"explicit,omitempty"`
|
|
CoverImage *ImageGroup `protobuf:"bytes,69,opt,name=cover_image,json=coverImage" json:"cover_image,omitempty"`
|
|
Episode []*Episode `protobuf:"bytes,70,rep,name=episode" json:"episode,omitempty"`
|
|
Copyright []*Copyright `protobuf:"bytes,71,rep,name=copyright" json:"copyright,omitempty"`
|
|
Restriction []*Restriction `protobuf:"bytes,72,rep,name=restriction" json:"restriction,omitempty"`
|
|
Keyword []string `protobuf:"bytes,73,rep,name=keyword" json:"keyword,omitempty"`
|
|
MediaType *Show_MediaType `protobuf:"varint,74,opt,name=media_type,json=mediaType,enum=spotify.metadata.Show_MediaType" json:"media_type,omitempty"`
|
|
ConsumptionOrder *Show_ConsumptionOrder `protobuf:"varint,75,opt,name=consumption_order,json=consumptionOrder,enum=spotify.metadata.Show_ConsumptionOrder" json:"consumption_order,omitempty"`
|
|
Availability []*Availability `protobuf:"bytes,78,rep,name=availability" json:"availability,omitempty"`
|
|
TrailerUri *string `protobuf:"bytes,83,opt,name=trailer_uri,json=trailerUri" json:"trailer_uri,omitempty"`
|
|
MusicAndTalk *bool `protobuf:"varint,85,opt,name=music_and_talk,json=musicAndTalk" json:"music_and_talk,omitempty"`
|
|
IsAudiobook *bool `protobuf:"varint,89,opt,name=is_audiobook,json=isAudiobook" json:"is_audiobook,omitempty"`
|
|
}
|
|
|
|
func (x *Show) Reset() {
|
|
*x = Show{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_metadata_proto_msgTypes[4]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *Show) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*Show) ProtoMessage() {}
|
|
|
|
func (x *Show) ProtoReflect() protoreflect.Message {
|
|
mi := &file_metadata_proto_msgTypes[4]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use Show.ProtoReflect.Descriptor instead.
|
|
func (*Show) Descriptor() ([]byte, []int) {
|
|
return file_metadata_proto_rawDescGZIP(), []int{4}
|
|
}
|
|
|
|
func (x *Show) GetGid() []byte {
|
|
if x != nil {
|
|
return x.Gid
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *Show) GetName() string {
|
|
if x != nil && x.Name != nil {
|
|
return *x.Name
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *Show) GetDescription() string {
|
|
if x != nil && x.Description != nil {
|
|
return *x.Description
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *Show) GetDeprecatedPopularity() int32 {
|
|
if x != nil && x.DeprecatedPopularity != nil {
|
|
return *x.DeprecatedPopularity
|
|
}
|
|
return 0
|
|
}
|
|
|
|
func (x *Show) GetPublisher() string {
|
|
if x != nil && x.Publisher != nil {
|
|
return *x.Publisher
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *Show) GetLanguage() string {
|
|
if x != nil && x.Language != nil {
|
|
return *x.Language
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *Show) GetExplicit() bool {
|
|
if x != nil && x.Explicit != nil {
|
|
return *x.Explicit
|
|
}
|
|
return false
|
|
}
|
|
|
|
func (x *Show) GetCoverImage() *ImageGroup {
|
|
if x != nil {
|
|
return x.CoverImage
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *Show) GetEpisode() []*Episode {
|
|
if x != nil {
|
|
return x.Episode
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *Show) GetCopyright() []*Copyright {
|
|
if x != nil {
|
|
return x.Copyright
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *Show) GetRestriction() []*Restriction {
|
|
if x != nil {
|
|
return x.Restriction
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *Show) GetKeyword() []string {
|
|
if x != nil {
|
|
return x.Keyword
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *Show) GetMediaType() Show_MediaType {
|
|
if x != nil && x.MediaType != nil {
|
|
return *x.MediaType
|
|
}
|
|
return Show_MIXED
|
|
}
|
|
|
|
func (x *Show) GetConsumptionOrder() Show_ConsumptionOrder {
|
|
if x != nil && x.ConsumptionOrder != nil {
|
|
return *x.ConsumptionOrder
|
|
}
|
|
return Show_SEQUENTIAL
|
|
}
|
|
|
|
func (x *Show) GetAvailability() []*Availability {
|
|
if x != nil {
|
|
return x.Availability
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *Show) GetTrailerUri() string {
|
|
if x != nil && x.TrailerUri != nil {
|
|
return *x.TrailerUri
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *Show) GetMusicAndTalk() bool {
|
|
if x != nil && x.MusicAndTalk != nil {
|
|
return *x.MusicAndTalk
|
|
}
|
|
return false
|
|
}
|
|
|
|
func (x *Show) GetIsAudiobook() bool {
|
|
if x != nil && x.IsAudiobook != nil {
|
|
return *x.IsAudiobook
|
|
}
|
|
return false
|
|
}
|
|
|
|
type Episode struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
Gid []byte `protobuf:"bytes,1,opt,name=gid" json:"gid,omitempty"`
|
|
Name *string `protobuf:"bytes,2,opt,name=name" json:"name,omitempty"`
|
|
Duration *int32 `protobuf:"zigzag32,7,opt,name=duration" json:"duration,omitempty"`
|
|
Audio []*AudioFile `protobuf:"bytes,12,rep,name=audio" json:"audio,omitempty"`
|
|
Description *string `protobuf:"bytes,64,opt,name=description" json:"description,omitempty"`
|
|
Number *int32 `protobuf:"zigzag32,65,opt,name=number" json:"number,omitempty"`
|
|
PublishTime *Date `protobuf:"bytes,66,opt,name=publish_time,json=publishTime" json:"publish_time,omitempty"`
|
|
DeprecatedPopularity *int32 `protobuf:"zigzag32,67,opt,name=deprecated_popularity,json=deprecatedPopularity" json:"deprecated_popularity,omitempty"`
|
|
CoverImage *ImageGroup `protobuf:"bytes,68,opt,name=cover_image,json=coverImage" json:"cover_image,omitempty"`
|
|
Language *string `protobuf:"bytes,69,opt,name=language" json:"language,omitempty"`
|
|
Explicit *bool `protobuf:"varint,70,opt,name=explicit" json:"explicit,omitempty"`
|
|
Show *Show `protobuf:"bytes,71,opt,name=show" json:"show,omitempty"`
|
|
Video []*VideoFile `protobuf:"bytes,72,rep,name=video" json:"video,omitempty"`
|
|
VideoPreview []*VideoFile `protobuf:"bytes,73,rep,name=video_preview,json=videoPreview" json:"video_preview,omitempty"`
|
|
AudioPreview []*AudioFile `protobuf:"bytes,74,rep,name=audio_preview,json=audioPreview" json:"audio_preview,omitempty"`
|
|
Restriction []*Restriction `protobuf:"bytes,75,rep,name=restriction" json:"restriction,omitempty"`
|
|
FreezeFrame *ImageGroup `protobuf:"bytes,76,opt,name=freeze_frame,json=freezeFrame" json:"freeze_frame,omitempty"`
|
|
Keyword []string `protobuf:"bytes,77,rep,name=keyword" json:"keyword,omitempty"`
|
|
AllowBackgroundPlayback *bool `protobuf:"varint,81,opt,name=allow_background_playback,json=allowBackgroundPlayback" json:"allow_background_playback,omitempty"`
|
|
Availability []*Availability `protobuf:"bytes,82,rep,name=availability" json:"availability,omitempty"`
|
|
ExternalUrl *string `protobuf:"bytes,83,opt,name=external_url,json=externalUrl" json:"external_url,omitempty"`
|
|
Type *Episode_EpisodeType `protobuf:"varint,87,opt,name=type,enum=spotify.metadata.Episode_EpisodeType" json:"type,omitempty"`
|
|
MusicAndTalk *bool `protobuf:"varint,91,opt,name=music_and_talk,json=musicAndTalk" json:"music_and_talk,omitempty"`
|
|
ContentRating []*ContentRating `protobuf:"bytes,95,rep,name=content_rating,json=contentRating" json:"content_rating,omitempty"`
|
|
IsAudiobookChapter *bool `protobuf:"varint,96,opt,name=is_audiobook_chapter,json=isAudiobookChapter" json:"is_audiobook_chapter,omitempty"`
|
|
}
|
|
|
|
func (x *Episode) Reset() {
|
|
*x = Episode{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_metadata_proto_msgTypes[5]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *Episode) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*Episode) ProtoMessage() {}
|
|
|
|
func (x *Episode) ProtoReflect() protoreflect.Message {
|
|
mi := &file_metadata_proto_msgTypes[5]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use Episode.ProtoReflect.Descriptor instead.
|
|
func (*Episode) Descriptor() ([]byte, []int) {
|
|
return file_metadata_proto_rawDescGZIP(), []int{5}
|
|
}
|
|
|
|
func (x *Episode) GetGid() []byte {
|
|
if x != nil {
|
|
return x.Gid
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *Episode) GetName() string {
|
|
if x != nil && x.Name != nil {
|
|
return *x.Name
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *Episode) GetDuration() int32 {
|
|
if x != nil && x.Duration != nil {
|
|
return *x.Duration
|
|
}
|
|
return 0
|
|
}
|
|
|
|
func (x *Episode) GetAudio() []*AudioFile {
|
|
if x != nil {
|
|
return x.Audio
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *Episode) GetDescription() string {
|
|
if x != nil && x.Description != nil {
|
|
return *x.Description
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *Episode) GetNumber() int32 {
|
|
if x != nil && x.Number != nil {
|
|
return *x.Number
|
|
}
|
|
return 0
|
|
}
|
|
|
|
func (x *Episode) GetPublishTime() *Date {
|
|
if x != nil {
|
|
return x.PublishTime
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *Episode) GetDeprecatedPopularity() int32 {
|
|
if x != nil && x.DeprecatedPopularity != nil {
|
|
return *x.DeprecatedPopularity
|
|
}
|
|
return 0
|
|
}
|
|
|
|
func (x *Episode) GetCoverImage() *ImageGroup {
|
|
if x != nil {
|
|
return x.CoverImage
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *Episode) GetLanguage() string {
|
|
if x != nil && x.Language != nil {
|
|
return *x.Language
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *Episode) GetExplicit() bool {
|
|
if x != nil && x.Explicit != nil {
|
|
return *x.Explicit
|
|
}
|
|
return false
|
|
}
|
|
|
|
func (x *Episode) GetShow() *Show {
|
|
if x != nil {
|
|
return x.Show
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *Episode) GetVideo() []*VideoFile {
|
|
if x != nil {
|
|
return x.Video
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *Episode) GetVideoPreview() []*VideoFile {
|
|
if x != nil {
|
|
return x.VideoPreview
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *Episode) GetAudioPreview() []*AudioFile {
|
|
if x != nil {
|
|
return x.AudioPreview
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *Episode) GetRestriction() []*Restriction {
|
|
if x != nil {
|
|
return x.Restriction
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *Episode) GetFreezeFrame() *ImageGroup {
|
|
if x != nil {
|
|
return x.FreezeFrame
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *Episode) GetKeyword() []string {
|
|
if x != nil {
|
|
return x.Keyword
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *Episode) GetAllowBackgroundPlayback() bool {
|
|
if x != nil && x.AllowBackgroundPlayback != nil {
|
|
return *x.AllowBackgroundPlayback
|
|
}
|
|
return false
|
|
}
|
|
|
|
func (x *Episode) GetAvailability() []*Availability {
|
|
if x != nil {
|
|
return x.Availability
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *Episode) GetExternalUrl() string {
|
|
if x != nil && x.ExternalUrl != nil {
|
|
return *x.ExternalUrl
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *Episode) GetType() Episode_EpisodeType {
|
|
if x != nil && x.Type != nil {
|
|
return *x.Type
|
|
}
|
|
return Episode_FULL
|
|
}
|
|
|
|
func (x *Episode) GetMusicAndTalk() bool {
|
|
if x != nil && x.MusicAndTalk != nil {
|
|
return *x.MusicAndTalk
|
|
}
|
|
return false
|
|
}
|
|
|
|
func (x *Episode) GetContentRating() []*ContentRating {
|
|
if x != nil {
|
|
return x.ContentRating
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *Episode) GetIsAudiobookChapter() bool {
|
|
if x != nil && x.IsAudiobookChapter != nil {
|
|
return *x.IsAudiobookChapter
|
|
}
|
|
return false
|
|
}
|
|
|
|
type Licensor struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
Uuid []byte `protobuf:"bytes,1,opt,name=uuid" json:"uuid,omitempty"`
|
|
}
|
|
|
|
func (x *Licensor) Reset() {
|
|
*x = Licensor{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_metadata_proto_msgTypes[6]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *Licensor) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*Licensor) ProtoMessage() {}
|
|
|
|
func (x *Licensor) ProtoReflect() protoreflect.Message {
|
|
mi := &file_metadata_proto_msgTypes[6]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use Licensor.ProtoReflect.Descriptor instead.
|
|
func (*Licensor) Descriptor() ([]byte, []int) {
|
|
return file_metadata_proto_rawDescGZIP(), []int{6}
|
|
}
|
|
|
|
func (x *Licensor) GetUuid() []byte {
|
|
if x != nil {
|
|
return x.Uuid
|
|
}
|
|
return nil
|
|
}
|
|
|
|
type TopTracks struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
Country *string `protobuf:"bytes,1,opt,name=country" json:"country,omitempty"`
|
|
Track []*Track `protobuf:"bytes,2,rep,name=track" json:"track,omitempty"`
|
|
}
|
|
|
|
func (x *TopTracks) Reset() {
|
|
*x = TopTracks{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_metadata_proto_msgTypes[7]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *TopTracks) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*TopTracks) ProtoMessage() {}
|
|
|
|
func (x *TopTracks) ProtoReflect() protoreflect.Message {
|
|
mi := &file_metadata_proto_msgTypes[7]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use TopTracks.ProtoReflect.Descriptor instead.
|
|
func (*TopTracks) Descriptor() ([]byte, []int) {
|
|
return file_metadata_proto_rawDescGZIP(), []int{7}
|
|
}
|
|
|
|
func (x *TopTracks) GetCountry() string {
|
|
if x != nil && x.Country != nil {
|
|
return *x.Country
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *TopTracks) GetTrack() []*Track {
|
|
if x != nil {
|
|
return x.Track
|
|
}
|
|
return nil
|
|
}
|
|
|
|
type ActivityPeriod struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
StartYear *int32 `protobuf:"zigzag32,1,opt,name=start_year,json=startYear" json:"start_year,omitempty"`
|
|
EndYear *int32 `protobuf:"zigzag32,2,opt,name=end_year,json=endYear" json:"end_year,omitempty"`
|
|
Decade *int32 `protobuf:"zigzag32,3,opt,name=decade" json:"decade,omitempty"`
|
|
}
|
|
|
|
func (x *ActivityPeriod) Reset() {
|
|
*x = ActivityPeriod{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_metadata_proto_msgTypes[8]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *ActivityPeriod) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*ActivityPeriod) ProtoMessage() {}
|
|
|
|
func (x *ActivityPeriod) ProtoReflect() protoreflect.Message {
|
|
mi := &file_metadata_proto_msgTypes[8]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use ActivityPeriod.ProtoReflect.Descriptor instead.
|
|
func (*ActivityPeriod) Descriptor() ([]byte, []int) {
|
|
return file_metadata_proto_rawDescGZIP(), []int{8}
|
|
}
|
|
|
|
func (x *ActivityPeriod) GetStartYear() int32 {
|
|
if x != nil && x.StartYear != nil {
|
|
return *x.StartYear
|
|
}
|
|
return 0
|
|
}
|
|
|
|
func (x *ActivityPeriod) GetEndYear() int32 {
|
|
if x != nil && x.EndYear != nil {
|
|
return *x.EndYear
|
|
}
|
|
return 0
|
|
}
|
|
|
|
func (x *ActivityPeriod) GetDecade() int32 {
|
|
if x != nil && x.Decade != nil {
|
|
return *x.Decade
|
|
}
|
|
return 0
|
|
}
|
|
|
|
type AlbumGroup struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
Album []*Album `protobuf:"bytes,1,rep,name=album" json:"album,omitempty"`
|
|
}
|
|
|
|
func (x *AlbumGroup) Reset() {
|
|
*x = AlbumGroup{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_metadata_proto_msgTypes[9]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *AlbumGroup) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*AlbumGroup) ProtoMessage() {}
|
|
|
|
func (x *AlbumGroup) ProtoReflect() protoreflect.Message {
|
|
mi := &file_metadata_proto_msgTypes[9]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use AlbumGroup.ProtoReflect.Descriptor instead.
|
|
func (*AlbumGroup) Descriptor() ([]byte, []int) {
|
|
return file_metadata_proto_rawDescGZIP(), []int{9}
|
|
}
|
|
|
|
func (x *AlbumGroup) GetAlbum() []*Album {
|
|
if x != nil {
|
|
return x.Album
|
|
}
|
|
return nil
|
|
}
|
|
|
|
type Date struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
Year *int32 `protobuf:"zigzag32,1,opt,name=year" json:"year,omitempty"`
|
|
Month *int32 `protobuf:"zigzag32,2,opt,name=month" json:"month,omitempty"`
|
|
Day *int32 `protobuf:"zigzag32,3,opt,name=day" json:"day,omitempty"`
|
|
Hour *int32 `protobuf:"zigzag32,4,opt,name=hour" json:"hour,omitempty"`
|
|
Minute *int32 `protobuf:"zigzag32,5,opt,name=minute" json:"minute,omitempty"`
|
|
}
|
|
|
|
func (x *Date) Reset() {
|
|
*x = Date{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_metadata_proto_msgTypes[10]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *Date) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*Date) ProtoMessage() {}
|
|
|
|
func (x *Date) ProtoReflect() protoreflect.Message {
|
|
mi := &file_metadata_proto_msgTypes[10]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use Date.ProtoReflect.Descriptor instead.
|
|
func (*Date) Descriptor() ([]byte, []int) {
|
|
return file_metadata_proto_rawDescGZIP(), []int{10}
|
|
}
|
|
|
|
func (x *Date) GetYear() int32 {
|
|
if x != nil && x.Year != nil {
|
|
return *x.Year
|
|
}
|
|
return 0
|
|
}
|
|
|
|
func (x *Date) GetMonth() int32 {
|
|
if x != nil && x.Month != nil {
|
|
return *x.Month
|
|
}
|
|
return 0
|
|
}
|
|
|
|
func (x *Date) GetDay() int32 {
|
|
if x != nil && x.Day != nil {
|
|
return *x.Day
|
|
}
|
|
return 0
|
|
}
|
|
|
|
func (x *Date) GetHour() int32 {
|
|
if x != nil && x.Hour != nil {
|
|
return *x.Hour
|
|
}
|
|
return 0
|
|
}
|
|
|
|
func (x *Date) GetMinute() int32 {
|
|
if x != nil && x.Minute != nil {
|
|
return *x.Minute
|
|
}
|
|
return 0
|
|
}
|
|
|
|
type Image struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
FileId []byte `protobuf:"bytes,1,opt,name=file_id,json=fileId" json:"file_id,omitempty"`
|
|
Size *Image_Size `protobuf:"varint,2,opt,name=size,enum=spotify.metadata.Image_Size" json:"size,omitempty"`
|
|
Width *int32 `protobuf:"zigzag32,3,opt,name=width" json:"width,omitempty"`
|
|
Height *int32 `protobuf:"zigzag32,4,opt,name=height" json:"height,omitempty"`
|
|
}
|
|
|
|
func (x *Image) Reset() {
|
|
*x = Image{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_metadata_proto_msgTypes[11]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *Image) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*Image) ProtoMessage() {}
|
|
|
|
func (x *Image) ProtoReflect() protoreflect.Message {
|
|
mi := &file_metadata_proto_msgTypes[11]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use Image.ProtoReflect.Descriptor instead.
|
|
func (*Image) Descriptor() ([]byte, []int) {
|
|
return file_metadata_proto_rawDescGZIP(), []int{11}
|
|
}
|
|
|
|
func (x *Image) GetFileId() []byte {
|
|
if x != nil {
|
|
return x.FileId
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *Image) GetSize() Image_Size {
|
|
if x != nil && x.Size != nil {
|
|
return *x.Size
|
|
}
|
|
return Image_DEFAULT
|
|
}
|
|
|
|
func (x *Image) GetWidth() int32 {
|
|
if x != nil && x.Width != nil {
|
|
return *x.Width
|
|
}
|
|
return 0
|
|
}
|
|
|
|
func (x *Image) GetHeight() int32 {
|
|
if x != nil && x.Height != nil {
|
|
return *x.Height
|
|
}
|
|
return 0
|
|
}
|
|
|
|
type ImageGroup struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
Image []*Image `protobuf:"bytes,1,rep,name=image" json:"image,omitempty"`
|
|
}
|
|
|
|
func (x *ImageGroup) Reset() {
|
|
*x = ImageGroup{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_metadata_proto_msgTypes[12]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *ImageGroup) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*ImageGroup) ProtoMessage() {}
|
|
|
|
func (x *ImageGroup) ProtoReflect() protoreflect.Message {
|
|
mi := &file_metadata_proto_msgTypes[12]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use ImageGroup.ProtoReflect.Descriptor instead.
|
|
func (*ImageGroup) Descriptor() ([]byte, []int) {
|
|
return file_metadata_proto_rawDescGZIP(), []int{12}
|
|
}
|
|
|
|
func (x *ImageGroup) GetImage() []*Image {
|
|
if x != nil {
|
|
return x.Image
|
|
}
|
|
return nil
|
|
}
|
|
|
|
type Biography struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
Text *string `protobuf:"bytes,1,opt,name=text" json:"text,omitempty"`
|
|
Portrait []*Image `protobuf:"bytes,2,rep,name=portrait" json:"portrait,omitempty"`
|
|
PortraitGroup []*ImageGroup `protobuf:"bytes,3,rep,name=portrait_group,json=portraitGroup" json:"portrait_group,omitempty"`
|
|
}
|
|
|
|
func (x *Biography) Reset() {
|
|
*x = Biography{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_metadata_proto_msgTypes[13]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *Biography) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*Biography) ProtoMessage() {}
|
|
|
|
func (x *Biography) ProtoReflect() protoreflect.Message {
|
|
mi := &file_metadata_proto_msgTypes[13]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use Biography.ProtoReflect.Descriptor instead.
|
|
func (*Biography) Descriptor() ([]byte, []int) {
|
|
return file_metadata_proto_rawDescGZIP(), []int{13}
|
|
}
|
|
|
|
func (x *Biography) GetText() string {
|
|
if x != nil && x.Text != nil {
|
|
return *x.Text
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *Biography) GetPortrait() []*Image {
|
|
if x != nil {
|
|
return x.Portrait
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *Biography) GetPortraitGroup() []*ImageGroup {
|
|
if x != nil {
|
|
return x.PortraitGroup
|
|
}
|
|
return nil
|
|
}
|
|
|
|
type Disc struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
Number *int32 `protobuf:"zigzag32,1,opt,name=number" json:"number,omitempty"`
|
|
Name *string `protobuf:"bytes,2,opt,name=name" json:"name,omitempty"`
|
|
Track []*Track `protobuf:"bytes,3,rep,name=track" json:"track,omitempty"`
|
|
}
|
|
|
|
func (x *Disc) Reset() {
|
|
*x = Disc{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_metadata_proto_msgTypes[14]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *Disc) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*Disc) ProtoMessage() {}
|
|
|
|
func (x *Disc) ProtoReflect() protoreflect.Message {
|
|
mi := &file_metadata_proto_msgTypes[14]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use Disc.ProtoReflect.Descriptor instead.
|
|
func (*Disc) Descriptor() ([]byte, []int) {
|
|
return file_metadata_proto_rawDescGZIP(), []int{14}
|
|
}
|
|
|
|
func (x *Disc) GetNumber() int32 {
|
|
if x != nil && x.Number != nil {
|
|
return *x.Number
|
|
}
|
|
return 0
|
|
}
|
|
|
|
func (x *Disc) GetName() string {
|
|
if x != nil && x.Name != nil {
|
|
return *x.Name
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *Disc) GetTrack() []*Track {
|
|
if x != nil {
|
|
return x.Track
|
|
}
|
|
return nil
|
|
}
|
|
|
|
type Copyright struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
Type *Copyright_Type `protobuf:"varint,1,opt,name=type,enum=spotify.metadata.Copyright_Type" json:"type,omitempty"`
|
|
Text *string `protobuf:"bytes,2,opt,name=text" json:"text,omitempty"`
|
|
}
|
|
|
|
func (x *Copyright) Reset() {
|
|
*x = Copyright{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_metadata_proto_msgTypes[15]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *Copyright) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*Copyright) ProtoMessage() {}
|
|
|
|
func (x *Copyright) ProtoReflect() protoreflect.Message {
|
|
mi := &file_metadata_proto_msgTypes[15]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use Copyright.ProtoReflect.Descriptor instead.
|
|
func (*Copyright) Descriptor() ([]byte, []int) {
|
|
return file_metadata_proto_rawDescGZIP(), []int{15}
|
|
}
|
|
|
|
func (x *Copyright) GetType() Copyright_Type {
|
|
if x != nil && x.Type != nil {
|
|
return *x.Type
|
|
}
|
|
return Copyright_P
|
|
}
|
|
|
|
func (x *Copyright) GetText() string {
|
|
if x != nil && x.Text != nil {
|
|
return *x.Text
|
|
}
|
|
return ""
|
|
}
|
|
|
|
type Restriction struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
Catalogue []Restriction_Catalogue `protobuf:"varint,1,rep,name=catalogue,enum=spotify.metadata.Restriction_Catalogue" json:"catalogue,omitempty"`
|
|
Type *Restriction_Type `protobuf:"varint,4,opt,name=type,enum=spotify.metadata.Restriction_Type" json:"type,omitempty"`
|
|
CatalogueStr []string `protobuf:"bytes,5,rep,name=catalogue_str,json=catalogueStr" json:"catalogue_str,omitempty"`
|
|
// Types that are assignable to CountryRestriction:
|
|
//
|
|
// *Restriction_CountriesAllowed
|
|
// *Restriction_CountriesForbidden
|
|
CountryRestriction isRestriction_CountryRestriction `protobuf_oneof:"country_restriction"`
|
|
}
|
|
|
|
func (x *Restriction) Reset() {
|
|
*x = Restriction{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_metadata_proto_msgTypes[16]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *Restriction) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*Restriction) ProtoMessage() {}
|
|
|
|
func (x *Restriction) ProtoReflect() protoreflect.Message {
|
|
mi := &file_metadata_proto_msgTypes[16]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use Restriction.ProtoReflect.Descriptor instead.
|
|
func (*Restriction) Descriptor() ([]byte, []int) {
|
|
return file_metadata_proto_rawDescGZIP(), []int{16}
|
|
}
|
|
|
|
func (x *Restriction) GetCatalogue() []Restriction_Catalogue {
|
|
if x != nil {
|
|
return x.Catalogue
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *Restriction) GetType() Restriction_Type {
|
|
if x != nil && x.Type != nil {
|
|
return *x.Type
|
|
}
|
|
return Restriction_STREAMING
|
|
}
|
|
|
|
func (x *Restriction) GetCatalogueStr() []string {
|
|
if x != nil {
|
|
return x.CatalogueStr
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (m *Restriction) GetCountryRestriction() isRestriction_CountryRestriction {
|
|
if m != nil {
|
|
return m.CountryRestriction
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *Restriction) GetCountriesAllowed() string {
|
|
if x, ok := x.GetCountryRestriction().(*Restriction_CountriesAllowed); ok {
|
|
return x.CountriesAllowed
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *Restriction) GetCountriesForbidden() string {
|
|
if x, ok := x.GetCountryRestriction().(*Restriction_CountriesForbidden); ok {
|
|
return x.CountriesForbidden
|
|
}
|
|
return ""
|
|
}
|
|
|
|
type isRestriction_CountryRestriction interface {
|
|
isRestriction_CountryRestriction()
|
|
}
|
|
|
|
type Restriction_CountriesAllowed struct {
|
|
CountriesAllowed string `protobuf:"bytes,2,opt,name=countries_allowed,json=countriesAllowed,oneof"`
|
|
}
|
|
|
|
type Restriction_CountriesForbidden struct {
|
|
CountriesForbidden string `protobuf:"bytes,3,opt,name=countries_forbidden,json=countriesForbidden,oneof"`
|
|
}
|
|
|
|
func (*Restriction_CountriesAllowed) isRestriction_CountryRestriction() {}
|
|
|
|
func (*Restriction_CountriesForbidden) isRestriction_CountryRestriction() {}
|
|
|
|
type Availability struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
CatalogueStr []string `protobuf:"bytes,1,rep,name=catalogue_str,json=catalogueStr" json:"catalogue_str,omitempty"`
|
|
Start *Date `protobuf:"bytes,2,opt,name=start" json:"start,omitempty"`
|
|
}
|
|
|
|
func (x *Availability) Reset() {
|
|
*x = Availability{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_metadata_proto_msgTypes[17]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *Availability) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*Availability) ProtoMessage() {}
|
|
|
|
func (x *Availability) ProtoReflect() protoreflect.Message {
|
|
mi := &file_metadata_proto_msgTypes[17]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use Availability.ProtoReflect.Descriptor instead.
|
|
func (*Availability) Descriptor() ([]byte, []int) {
|
|
return file_metadata_proto_rawDescGZIP(), []int{17}
|
|
}
|
|
|
|
func (x *Availability) GetCatalogueStr() []string {
|
|
if x != nil {
|
|
return x.CatalogueStr
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *Availability) GetStart() *Date {
|
|
if x != nil {
|
|
return x.Start
|
|
}
|
|
return nil
|
|
}
|
|
|
|
type SalePeriod struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
Restriction []*Restriction `protobuf:"bytes,1,rep,name=restriction" json:"restriction,omitempty"`
|
|
Start *Date `protobuf:"bytes,2,opt,name=start" json:"start,omitempty"`
|
|
End *Date `protobuf:"bytes,3,opt,name=end" json:"end,omitempty"`
|
|
}
|
|
|
|
func (x *SalePeriod) Reset() {
|
|
*x = SalePeriod{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_metadata_proto_msgTypes[18]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *SalePeriod) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*SalePeriod) ProtoMessage() {}
|
|
|
|
func (x *SalePeriod) ProtoReflect() protoreflect.Message {
|
|
mi := &file_metadata_proto_msgTypes[18]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use SalePeriod.ProtoReflect.Descriptor instead.
|
|
func (*SalePeriod) Descriptor() ([]byte, []int) {
|
|
return file_metadata_proto_rawDescGZIP(), []int{18}
|
|
}
|
|
|
|
func (x *SalePeriod) GetRestriction() []*Restriction {
|
|
if x != nil {
|
|
return x.Restriction
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *SalePeriod) GetStart() *Date {
|
|
if x != nil {
|
|
return x.Start
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *SalePeriod) GetEnd() *Date {
|
|
if x != nil {
|
|
return x.End
|
|
}
|
|
return nil
|
|
}
|
|
|
|
type ExternalId struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
Type *string `protobuf:"bytes,1,opt,name=type" json:"type,omitempty"`
|
|
Id *string `protobuf:"bytes,2,opt,name=id" json:"id,omitempty"`
|
|
}
|
|
|
|
func (x *ExternalId) Reset() {
|
|
*x = ExternalId{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_metadata_proto_msgTypes[19]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *ExternalId) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*ExternalId) ProtoMessage() {}
|
|
|
|
func (x *ExternalId) ProtoReflect() protoreflect.Message {
|
|
mi := &file_metadata_proto_msgTypes[19]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use ExternalId.ProtoReflect.Descriptor instead.
|
|
func (*ExternalId) Descriptor() ([]byte, []int) {
|
|
return file_metadata_proto_rawDescGZIP(), []int{19}
|
|
}
|
|
|
|
func (x *ExternalId) GetType() string {
|
|
if x != nil && x.Type != nil {
|
|
return *x.Type
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *ExternalId) GetId() string {
|
|
if x != nil && x.Id != nil {
|
|
return *x.Id
|
|
}
|
|
return ""
|
|
}
|
|
|
|
type AudioFile struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
FileId []byte `protobuf:"bytes,1,opt,name=file_id,json=fileId" json:"file_id,omitempty"`
|
|
Format *AudioFile_Format `protobuf:"varint,2,opt,name=format,enum=spotify.metadata.AudioFile_Format" json:"format,omitempty"`
|
|
}
|
|
|
|
func (x *AudioFile) Reset() {
|
|
*x = AudioFile{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_metadata_proto_msgTypes[20]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *AudioFile) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*AudioFile) ProtoMessage() {}
|
|
|
|
func (x *AudioFile) ProtoReflect() protoreflect.Message {
|
|
mi := &file_metadata_proto_msgTypes[20]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use AudioFile.ProtoReflect.Descriptor instead.
|
|
func (*AudioFile) Descriptor() ([]byte, []int) {
|
|
return file_metadata_proto_rawDescGZIP(), []int{20}
|
|
}
|
|
|
|
func (x *AudioFile) GetFileId() []byte {
|
|
if x != nil {
|
|
return x.FileId
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *AudioFile) GetFormat() AudioFile_Format {
|
|
if x != nil && x.Format != nil {
|
|
return *x.Format
|
|
}
|
|
return AudioFile_OGG_VORBIS_96
|
|
}
|
|
|
|
type VideoFile struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
FileId []byte `protobuf:"bytes,1,opt,name=file_id,json=fileId" json:"file_id,omitempty"`
|
|
}
|
|
|
|
func (x *VideoFile) Reset() {
|
|
*x = VideoFile{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_metadata_proto_msgTypes[21]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *VideoFile) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*VideoFile) ProtoMessage() {}
|
|
|
|
func (x *VideoFile) ProtoReflect() protoreflect.Message {
|
|
mi := &file_metadata_proto_msgTypes[21]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use VideoFile.ProtoReflect.Descriptor instead.
|
|
func (*VideoFile) Descriptor() ([]byte, []int) {
|
|
return file_metadata_proto_rawDescGZIP(), []int{21}
|
|
}
|
|
|
|
func (x *VideoFile) GetFileId() []byte {
|
|
if x != nil {
|
|
return x.FileId
|
|
}
|
|
return nil
|
|
}
|
|
|
|
type ContentRating struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
Country *string `protobuf:"bytes,1,opt,name=country" json:"country,omitempty"`
|
|
Tag []string `protobuf:"bytes,2,rep,name=tag" json:"tag,omitempty"`
|
|
}
|
|
|
|
func (x *ContentRating) Reset() {
|
|
*x = ContentRating{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_metadata_proto_msgTypes[22]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *ContentRating) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*ContentRating) ProtoMessage() {}
|
|
|
|
func (x *ContentRating) ProtoReflect() protoreflect.Message {
|
|
mi := &file_metadata_proto_msgTypes[22]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use ContentRating.ProtoReflect.Descriptor instead.
|
|
func (*ContentRating) Descriptor() ([]byte, []int) {
|
|
return file_metadata_proto_rawDescGZIP(), []int{22}
|
|
}
|
|
|
|
func (x *ContentRating) GetCountry() string {
|
|
if x != nil && x.Country != nil {
|
|
return *x.Country
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *ContentRating) GetTag() []string {
|
|
if x != nil {
|
|
return x.Tag
|
|
}
|
|
return nil
|
|
}
|
|
|
|
var File_metadata_proto protoreflect.FileDescriptor
|
|
|
|
var file_metadata_proto_rawDesc = []byte{
|
|
0x0a, 0x0e, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
|
|
0x12, 0x10, 0x73, 0x70, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61,
|
|
0x74, 0x61, 0x22, 0x9f, 0x08, 0x0a, 0x06, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x12, 0x10, 0x0a,
|
|
0x03, 0x67, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x03, 0x67, 0x69, 0x64, 0x12,
|
|
0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e,
|
|
0x61, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x6f, 0x70, 0x75, 0x6c, 0x61, 0x72, 0x69, 0x74,
|
|
0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x11, 0x52, 0x0a, 0x70, 0x6f, 0x70, 0x75, 0x6c, 0x61, 0x72,
|
|
0x69, 0x74, 0x79, 0x12, 0x38, 0x0a, 0x09, 0x74, 0x6f, 0x70, 0x5f, 0x74, 0x72, 0x61, 0x63, 0x6b,
|
|
0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x73, 0x70, 0x6f, 0x74, 0x69, 0x66, 0x79,
|
|
0x2e, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x6f, 0x70, 0x54, 0x72, 0x61,
|
|
0x63, 0x6b, 0x73, 0x52, 0x08, 0x74, 0x6f, 0x70, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x12, 0x3d, 0x0a,
|
|
0x0b, 0x61, 0x6c, 0x62, 0x75, 0x6d, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x05, 0x20, 0x03,
|
|
0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x73, 0x70, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x6d, 0x65, 0x74,
|
|
0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x41, 0x6c, 0x62, 0x75, 0x6d, 0x47, 0x72, 0x6f, 0x75, 0x70,
|
|
0x52, 0x0a, 0x61, 0x6c, 0x62, 0x75, 0x6d, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x3f, 0x0a, 0x0c,
|
|
0x73, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x06, 0x20, 0x03,
|
|
0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x73, 0x70, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x6d, 0x65, 0x74,
|
|
0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x41, 0x6c, 0x62, 0x75, 0x6d, 0x47, 0x72, 0x6f, 0x75, 0x70,
|
|
0x52, 0x0b, 0x73, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x49, 0x0a,
|
|
0x11, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x67, 0x72, 0x6f,
|
|
0x75, 0x70, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x73, 0x70, 0x6f, 0x74, 0x69,
|
|
0x66, 0x79, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x41, 0x6c, 0x62, 0x75,
|
|
0x6d, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x10, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x61, 0x74,
|
|
0x69, 0x6f, 0x6e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x46, 0x0a, 0x10, 0x61, 0x70, 0x70, 0x65,
|
|
0x61, 0x72, 0x73, 0x5f, 0x6f, 0x6e, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x08, 0x20, 0x03,
|
|
0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x73, 0x70, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x6d, 0x65, 0x74,
|
|
0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x41, 0x6c, 0x62, 0x75, 0x6d, 0x47, 0x72, 0x6f, 0x75, 0x70,
|
|
0x52, 0x0e, 0x61, 0x70, 0x70, 0x65, 0x61, 0x72, 0x73, 0x4f, 0x6e, 0x47, 0x72, 0x6f, 0x75, 0x70,
|
|
0x12, 0x14, 0x0a, 0x05, 0x67, 0x65, 0x6e, 0x72, 0x65, 0x18, 0x09, 0x20, 0x03, 0x28, 0x09, 0x52,
|
|
0x05, 0x67, 0x65, 0x6e, 0x72, 0x65, 0x12, 0x3d, 0x0a, 0x0b, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e,
|
|
0x61, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x73, 0x70,
|
|
0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x45,
|
|
0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x49, 0x64, 0x52, 0x0a, 0x65, 0x78, 0x74, 0x65, 0x72,
|
|
0x6e, 0x61, 0x6c, 0x49, 0x64, 0x12, 0x33, 0x0a, 0x08, 0x70, 0x6f, 0x72, 0x74, 0x72, 0x61, 0x69,
|
|
0x74, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x73, 0x70, 0x6f, 0x74, 0x69, 0x66,
|
|
0x79, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x49, 0x6d, 0x61, 0x67, 0x65,
|
|
0x52, 0x08, 0x70, 0x6f, 0x72, 0x74, 0x72, 0x61, 0x69, 0x74, 0x12, 0x39, 0x0a, 0x09, 0x62, 0x69,
|
|
0x6f, 0x67, 0x72, 0x61, 0x70, 0x68, 0x79, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e,
|
|
0x73, 0x70, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61,
|
|
0x2e, 0x42, 0x69, 0x6f, 0x67, 0x72, 0x61, 0x70, 0x68, 0x79, 0x52, 0x09, 0x62, 0x69, 0x6f, 0x67,
|
|
0x72, 0x61, 0x70, 0x68, 0x79, 0x12, 0x49, 0x0a, 0x0f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74,
|
|
0x79, 0x5f, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20,
|
|
0x2e, 0x73, 0x70, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74,
|
|
0x61, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x50, 0x65, 0x72, 0x69, 0x6f, 0x64,
|
|
0x52, 0x0e, 0x61, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x50, 0x65, 0x72, 0x69, 0x6f, 0x64,
|
|
0x12, 0x3f, 0x0a, 0x0b, 0x72, 0x65, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18,
|
|
0x0e, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x73, 0x70, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e,
|
|
0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x52, 0x65, 0x73, 0x74, 0x72, 0x69, 0x63,
|
|
0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x72, 0x65, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x69, 0x6f,
|
|
0x6e, 0x12, 0x32, 0x0a, 0x07, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x18, 0x0f, 0x20, 0x03,
|
|
0x28, 0x0b, 0x32, 0x18, 0x2e, 0x73, 0x70, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x6d, 0x65, 0x74,
|
|
0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x52, 0x07, 0x72, 0x65,
|
|
0x6c, 0x61, 0x74, 0x65, 0x64, 0x12, 0x35, 0x0a, 0x17, 0x69, 0x73, 0x5f, 0x70, 0x6f, 0x72, 0x74,
|
|
0x72, 0x61, 0x69, 0x74, 0x5f, 0x61, 0x6c, 0x62, 0x75, 0x6d, 0x5f, 0x63, 0x6f, 0x76, 0x65, 0x72,
|
|
0x18, 0x10, 0x20, 0x01, 0x28, 0x08, 0x52, 0x14, 0x69, 0x73, 0x50, 0x6f, 0x72, 0x74, 0x72, 0x61,
|
|
0x69, 0x74, 0x41, 0x6c, 0x62, 0x75, 0x6d, 0x43, 0x6f, 0x76, 0x65, 0x72, 0x12, 0x43, 0x0a, 0x0e,
|
|
0x70, 0x6f, 0x72, 0x74, 0x72, 0x61, 0x69, 0x74, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x11,
|
|
0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x73, 0x70, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x6d,
|
|
0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x47, 0x72, 0x6f,
|
|
0x75, 0x70, 0x52, 0x0d, 0x70, 0x6f, 0x72, 0x74, 0x72, 0x61, 0x69, 0x74, 0x47, 0x72, 0x6f, 0x75,
|
|
0x70, 0x12, 0x3d, 0x0a, 0x0b, 0x73, 0x61, 0x6c, 0x65, 0x5f, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64,
|
|
0x18, 0x12, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x73, 0x70, 0x6f, 0x74, 0x69, 0x66, 0x79,
|
|
0x2e, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x53, 0x61, 0x6c, 0x65, 0x50, 0x65,
|
|
0x72, 0x69, 0x6f, 0x64, 0x52, 0x0a, 0x73, 0x61, 0x6c, 0x65, 0x50, 0x65, 0x72, 0x69, 0x6f, 0x64,
|
|
0x12, 0x42, 0x0a, 0x0c, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79,
|
|
0x18, 0x14, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x73, 0x70, 0x6f, 0x74, 0x69, 0x66, 0x79,
|
|
0x2e, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61,
|
|
0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x0c, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69,
|
|
0x6c, 0x69, 0x74, 0x79, 0x22, 0xe7, 0x07, 0x0a, 0x05, 0x41, 0x6c, 0x62, 0x75, 0x6d, 0x12, 0x10,
|
|
0x0a, 0x03, 0x67, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x03, 0x67, 0x69, 0x64,
|
|
0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04,
|
|
0x6e, 0x61, 0x6d, 0x65, 0x12, 0x30, 0x0a, 0x06, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x18, 0x03,
|
|
0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x73, 0x70, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x6d,
|
|
0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x52, 0x06,
|
|
0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x12, 0x30, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04,
|
|
0x20, 0x01, 0x28, 0x0e, 0x32, 0x1c, 0x2e, 0x73, 0x70, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x6d,
|
|
0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x41, 0x6c, 0x62, 0x75, 0x6d, 0x2e, 0x54, 0x79,
|
|
0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65,
|
|
0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x2a,
|
|
0x0a, 0x04, 0x64, 0x61, 0x74, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x73,
|
|
0x70, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e,
|
|
0x44, 0x61, 0x74, 0x65, 0x52, 0x04, 0x64, 0x61, 0x74, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x6f,
|
|
0x70, 0x75, 0x6c, 0x61, 0x72, 0x69, 0x74, 0x79, 0x18, 0x07, 0x20, 0x01, 0x28, 0x11, 0x52, 0x0a,
|
|
0x70, 0x6f, 0x70, 0x75, 0x6c, 0x61, 0x72, 0x69, 0x74, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x67, 0x65,
|
|
0x6e, 0x72, 0x65, 0x18, 0x08, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x67, 0x65, 0x6e, 0x72, 0x65,
|
|
0x12, 0x2d, 0x0a, 0x05, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32,
|
|
0x17, 0x2e, 0x73, 0x70, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61,
|
|
0x74, 0x61, 0x2e, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x05, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x12,
|
|
0x3d, 0x0a, 0x0b, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x0a,
|
|
0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x73, 0x70, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x6d,
|
|
0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c,
|
|
0x49, 0x64, 0x52, 0x0a, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x49, 0x64, 0x12, 0x2a,
|
|
0x0a, 0x04, 0x64, 0x69, 0x73, 0x63, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x73,
|
|
0x70, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e,
|
|
0x44, 0x69, 0x73, 0x63, 0x52, 0x04, 0x64, 0x69, 0x73, 0x63, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65,
|
|
0x76, 0x69, 0x65, 0x77, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x76, 0x69,
|
|
0x65, 0x77, 0x12, 0x39, 0x0a, 0x09, 0x63, 0x6f, 0x70, 0x79, 0x72, 0x69, 0x67, 0x68, 0x74, 0x18,
|
|
0x0d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x73, 0x70, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e,
|
|
0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x43, 0x6f, 0x70, 0x79, 0x72, 0x69, 0x67,
|
|
0x68, 0x74, 0x52, 0x09, 0x63, 0x6f, 0x70, 0x79, 0x72, 0x69, 0x67, 0x68, 0x74, 0x12, 0x3f, 0x0a,
|
|
0x0b, 0x72, 0x65, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0e, 0x20, 0x03,
|
|
0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x73, 0x70, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x6d, 0x65, 0x74,
|
|
0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x52, 0x65, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x69, 0x6f,
|
|
0x6e, 0x52, 0x0b, 0x72, 0x65, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x31,
|
|
0x0a, 0x07, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x18, 0x0f, 0x20, 0x03, 0x28, 0x0b, 0x32,
|
|
0x17, 0x2e, 0x73, 0x70, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61,
|
|
0x74, 0x61, 0x2e, 0x41, 0x6c, 0x62, 0x75, 0x6d, 0x52, 0x07, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x65,
|
|
0x64, 0x12, 0x3d, 0x0a, 0x0b, 0x73, 0x61, 0x6c, 0x65, 0x5f, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64,
|
|
0x18, 0x10, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x73, 0x70, 0x6f, 0x74, 0x69, 0x66, 0x79,
|
|
0x2e, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x53, 0x61, 0x6c, 0x65, 0x50, 0x65,
|
|
0x72, 0x69, 0x6f, 0x64, 0x52, 0x0a, 0x73, 0x61, 0x6c, 0x65, 0x50, 0x65, 0x72, 0x69, 0x6f, 0x64,
|
|
0x12, 0x3d, 0x0a, 0x0b, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18,
|
|
0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x73, 0x70, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e,
|
|
0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x47, 0x72,
|
|
0x6f, 0x75, 0x70, 0x52, 0x0a, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12,
|
|
0x25, 0x0a, 0x0e, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x6c, 0x5f, 0x74, 0x69, 0x74, 0x6c,
|
|
0x65, 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61,
|
|
0x6c, 0x54, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f,
|
|
0x6e, 0x5f, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x13, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x76,
|
|
0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x74,
|
|
0x79, 0x70, 0x65, 0x5f, 0x73, 0x74, 0x72, 0x18, 0x14, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x74,
|
|
0x79, 0x70, 0x65, 0x53, 0x74, 0x72, 0x12, 0x42, 0x0a, 0x0c, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61,
|
|
0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x17, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x73,
|
|
0x70, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e,
|
|
0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x0c, 0x61, 0x76,
|
|
0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x22, 0x52, 0x0a, 0x04, 0x54, 0x79,
|
|
0x70, 0x65, 0x12, 0x09, 0x0a, 0x05, 0x41, 0x4c, 0x42, 0x55, 0x4d, 0x10, 0x01, 0x12, 0x0a, 0x0a,
|
|
0x06, 0x53, 0x49, 0x4e, 0x47, 0x4c, 0x45, 0x10, 0x02, 0x12, 0x0f, 0x0a, 0x0b, 0x43, 0x4f, 0x4d,
|
|
0x50, 0x49, 0x4c, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x03, 0x12, 0x06, 0x0a, 0x02, 0x45, 0x50,
|
|
0x10, 0x04, 0x12, 0x0d, 0x0a, 0x09, 0x41, 0x55, 0x44, 0x49, 0x4f, 0x42, 0x4f, 0x4f, 0x4b, 0x10,
|
|
0x05, 0x12, 0x0b, 0x0a, 0x07, 0x50, 0x4f, 0x44, 0x43, 0x41, 0x53, 0x54, 0x10, 0x06, 0x22, 0x80,
|
|
0x09, 0x0a, 0x05, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x12, 0x10, 0x0a, 0x03, 0x67, 0x69, 0x64, 0x18,
|
|
0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x03, 0x67, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61,
|
|
0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x2d,
|
|
0x0a, 0x05, 0x61, 0x6c, 0x62, 0x75, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e,
|
|
0x73, 0x70, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61,
|
|
0x2e, 0x41, 0x6c, 0x62, 0x75, 0x6d, 0x52, 0x05, 0x61, 0x6c, 0x62, 0x75, 0x6d, 0x12, 0x30, 0x0a,
|
|
0x06, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e,
|
|
0x73, 0x70, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61,
|
|
0x2e, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x52, 0x06, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x12,
|
|
0x16, 0x0a, 0x06, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x11, 0x52,
|
|
0x06, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x1f, 0x0a, 0x0b, 0x64, 0x69, 0x73, 0x63, 0x5f,
|
|
0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x11, 0x52, 0x0a, 0x64, 0x69,
|
|
0x73, 0x63, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x75, 0x72, 0x61,
|
|
0x74, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x11, 0x52, 0x08, 0x64, 0x75, 0x72, 0x61,
|
|
0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x6f, 0x70, 0x75, 0x6c, 0x61, 0x72, 0x69,
|
|
0x74, 0x79, 0x18, 0x08, 0x20, 0x01, 0x28, 0x11, 0x52, 0x0a, 0x70, 0x6f, 0x70, 0x75, 0x6c, 0x61,
|
|
0x72, 0x69, 0x74, 0x79, 0x12, 0x1a, 0x0a, 0x08, 0x65, 0x78, 0x70, 0x6c, 0x69, 0x63, 0x69, 0x74,
|
|
0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x65, 0x78, 0x70, 0x6c, 0x69, 0x63, 0x69, 0x74,
|
|
0x12, 0x3d, 0x0a, 0x0b, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x69, 0x64, 0x18,
|
|
0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x73, 0x70, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e,
|
|
0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61,
|
|
0x6c, 0x49, 0x64, 0x52, 0x0a, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x49, 0x64, 0x12,
|
|
0x3f, 0x0a, 0x0b, 0x72, 0x65, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0b,
|
|
0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x73, 0x70, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x6d,
|
|
0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x52, 0x65, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74,
|
|
0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x72, 0x65, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e,
|
|
0x12, 0x2f, 0x0a, 0x04, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b,
|
|
0x2e, 0x73, 0x70, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74,
|
|
0x61, 0x2e, 0x41, 0x75, 0x64, 0x69, 0x6f, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x04, 0x66, 0x69, 0x6c,
|
|
0x65, 0x12, 0x39, 0x0a, 0x0b, 0x61, 0x6c, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65,
|
|
0x18, 0x0d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x73, 0x70, 0x6f, 0x74, 0x69, 0x66, 0x79,
|
|
0x2e, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x52,
|
|
0x0b, 0x61, 0x6c, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x12, 0x3d, 0x0a, 0x0b,
|
|
0x73, 0x61, 0x6c, 0x65, 0x5f, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x18, 0x0e, 0x20, 0x03, 0x28,
|
|
0x0b, 0x32, 0x1c, 0x2e, 0x73, 0x70, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x6d, 0x65, 0x74, 0x61,
|
|
0x64, 0x61, 0x74, 0x61, 0x2e, 0x53, 0x61, 0x6c, 0x65, 0x50, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x52,
|
|
0x0a, 0x73, 0x61, 0x6c, 0x65, 0x50, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x12, 0x35, 0x0a, 0x07, 0x70,
|
|
0x72, 0x65, 0x76, 0x69, 0x65, 0x77, 0x18, 0x0f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x73,
|
|
0x70, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e,
|
|
0x41, 0x75, 0x64, 0x69, 0x6f, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x07, 0x70, 0x72, 0x65, 0x76, 0x69,
|
|
0x65, 0x77, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x61, 0x67, 0x73, 0x18, 0x10, 0x20, 0x03, 0x28, 0x09,
|
|
0x52, 0x04, 0x74, 0x61, 0x67, 0x73, 0x12, 0x36, 0x0a, 0x17, 0x65, 0x61, 0x72, 0x6c, 0x69, 0x65,
|
|
0x73, 0x74, 0x5f, 0x6c, 0x69, 0x76, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d,
|
|
0x70, 0x18, 0x11, 0x20, 0x01, 0x28, 0x03, 0x52, 0x15, 0x65, 0x61, 0x72, 0x6c, 0x69, 0x65, 0x73,
|
|
0x74, 0x4c, 0x69, 0x76, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x1d,
|
|
0x0a, 0x0a, 0x68, 0x61, 0x73, 0x5f, 0x6c, 0x79, 0x72, 0x69, 0x63, 0x73, 0x18, 0x12, 0x20, 0x01,
|
|
0x28, 0x08, 0x52, 0x09, 0x68, 0x61, 0x73, 0x4c, 0x79, 0x72, 0x69, 0x63, 0x73, 0x12, 0x42, 0x0a,
|
|
0x0c, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x13, 0x20,
|
|
0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x73, 0x70, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x6d, 0x65,
|
|
0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c,
|
|
0x69, 0x74, 0x79, 0x52, 0x0c, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74,
|
|
0x79, 0x12, 0x36, 0x0a, 0x08, 0x6c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x18, 0x15, 0x20,
|
|
0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x73, 0x70, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x6d, 0x65,
|
|
0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x4c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x52,
|
|
0x08, 0x6c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x12, 0x36, 0x0a, 0x17, 0x6c, 0x61, 0x6e,
|
|
0x67, 0x75, 0x61, 0x67, 0x65, 0x5f, 0x6f, 0x66, 0x5f, 0x70, 0x65, 0x72, 0x66, 0x6f, 0x72, 0x6d,
|
|
0x61, 0x6e, 0x63, 0x65, 0x18, 0x16, 0x20, 0x03, 0x28, 0x09, 0x52, 0x15, 0x6c, 0x61, 0x6e, 0x67,
|
|
0x75, 0x61, 0x67, 0x65, 0x4f, 0x66, 0x50, 0x65, 0x72, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63,
|
|
0x65, 0x12, 0x46, 0x0a, 0x0e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x61, 0x74,
|
|
0x69, 0x6e, 0x67, 0x18, 0x19, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x73, 0x70, 0x6f, 0x74,
|
|
0x69, 0x66, 0x79, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x43, 0x6f, 0x6e,
|
|
0x74, 0x65, 0x6e, 0x74, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x0d, 0x63, 0x6f, 0x6e, 0x74,
|
|
0x65, 0x6e, 0x74, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x25, 0x0a, 0x0e, 0x6f, 0x72, 0x69,
|
|
0x67, 0x69, 0x6e, 0x61, 0x6c, 0x5f, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x1b, 0x20, 0x01, 0x28,
|
|
0x09, 0x52, 0x0d, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x6c, 0x54, 0x69, 0x74, 0x6c, 0x65,
|
|
0x12, 0x23, 0x0a, 0x0d, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x74, 0x6c,
|
|
0x65, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e,
|
|
0x54, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x4a, 0x0a, 0x10, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x5f,
|
|
0x77, 0x69, 0x74, 0x68, 0x5f, 0x72, 0x6f, 0x6c, 0x65, 0x18, 0x20, 0x20, 0x03, 0x28, 0x0b, 0x32,
|
|
0x20, 0x2e, 0x73, 0x70, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61,
|
|
0x74, 0x61, 0x2e, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x57, 0x69, 0x74, 0x68, 0x52, 0x6f, 0x6c,
|
|
0x65, 0x52, 0x0e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x57, 0x69, 0x74, 0x68, 0x52, 0x6f, 0x6c,
|
|
0x65, 0x22, 0xf7, 0x02, 0x0a, 0x0e, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x57, 0x69, 0x74, 0x68,
|
|
0x52, 0x6f, 0x6c, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x5f, 0x67,
|
|
0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74,
|
|
0x47, 0x69, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x5f, 0x6e, 0x61,
|
|
0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74,
|
|
0x4e, 0x61, 0x6d, 0x65, 0x12, 0x3f, 0x0a, 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01,
|
|
0x28, 0x0e, 0x32, 0x2b, 0x2e, 0x73, 0x70, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x6d, 0x65, 0x74,
|
|
0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x57, 0x69, 0x74, 0x68,
|
|
0x52, 0x6f, 0x6c, 0x65, 0x2e, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x52, 0x6f, 0x6c, 0x65, 0x52,
|
|
0x04, 0x72, 0x6f, 0x6c, 0x65, 0x22, 0xe3, 0x01, 0x0a, 0x0a, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74,
|
|
0x52, 0x6f, 0x6c, 0x65, 0x12, 0x17, 0x0a, 0x13, 0x41, 0x52, 0x54, 0x49, 0x53, 0x54, 0x5f, 0x52,
|
|
0x4f, 0x4c, 0x45, 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x1b, 0x0a,
|
|
0x17, 0x41, 0x52, 0x54, 0x49, 0x53, 0x54, 0x5f, 0x52, 0x4f, 0x4c, 0x45, 0x5f, 0x4d, 0x41, 0x49,
|
|
0x4e, 0x5f, 0x41, 0x52, 0x54, 0x49, 0x53, 0x54, 0x10, 0x01, 0x12, 0x1f, 0x0a, 0x1b, 0x41, 0x52,
|
|
0x54, 0x49, 0x53, 0x54, 0x5f, 0x52, 0x4f, 0x4c, 0x45, 0x5f, 0x46, 0x45, 0x41, 0x54, 0x55, 0x52,
|
|
0x45, 0x44, 0x5f, 0x41, 0x52, 0x54, 0x49, 0x53, 0x54, 0x10, 0x02, 0x12, 0x17, 0x0a, 0x13, 0x41,
|
|
0x52, 0x54, 0x49, 0x53, 0x54, 0x5f, 0x52, 0x4f, 0x4c, 0x45, 0x5f, 0x52, 0x45, 0x4d, 0x49, 0x58,
|
|
0x45, 0x52, 0x10, 0x03, 0x12, 0x15, 0x0a, 0x11, 0x41, 0x52, 0x54, 0x49, 0x53, 0x54, 0x5f, 0x52,
|
|
0x4f, 0x4c, 0x45, 0x5f, 0x41, 0x43, 0x54, 0x4f, 0x52, 0x10, 0x04, 0x12, 0x18, 0x0a, 0x14, 0x41,
|
|
0x52, 0x54, 0x49, 0x53, 0x54, 0x5f, 0x52, 0x4f, 0x4c, 0x45, 0x5f, 0x43, 0x4f, 0x4d, 0x50, 0x4f,
|
|
0x53, 0x45, 0x52, 0x10, 0x05, 0x12, 0x19, 0x0a, 0x15, 0x41, 0x52, 0x54, 0x49, 0x53, 0x54, 0x5f,
|
|
0x52, 0x4f, 0x4c, 0x45, 0x5f, 0x43, 0x4f, 0x4e, 0x44, 0x55, 0x43, 0x54, 0x4f, 0x52, 0x10, 0x06,
|
|
0x12, 0x19, 0x0a, 0x15, 0x41, 0x52, 0x54, 0x49, 0x53, 0x54, 0x5f, 0x52, 0x4f, 0x4c, 0x45, 0x5f,
|
|
0x4f, 0x52, 0x43, 0x48, 0x45, 0x53, 0x54, 0x52, 0x41, 0x10, 0x07, 0x22, 0x94, 0x07, 0x0a, 0x04,
|
|
0x53, 0x68, 0x6f, 0x77, 0x12, 0x10, 0x0a, 0x03, 0x67, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
|
|
0x0c, 0x52, 0x03, 0x67, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02,
|
|
0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65,
|
|
0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x40, 0x20, 0x01, 0x28, 0x09, 0x52,
|
|
0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x33, 0x0a, 0x15,
|
|
0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x70, 0x6f, 0x70, 0x75, 0x6c,
|
|
0x61, 0x72, 0x69, 0x74, 0x79, 0x18, 0x41, 0x20, 0x01, 0x28, 0x11, 0x52, 0x14, 0x64, 0x65, 0x70,
|
|
0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x50, 0x6f, 0x70, 0x75, 0x6c, 0x61, 0x72, 0x69, 0x74,
|
|
0x79, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x65, 0x72, 0x18, 0x42,
|
|
0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x65, 0x72, 0x12,
|
|
0x1a, 0x0a, 0x08, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x18, 0x43, 0x20, 0x01, 0x28,
|
|
0x09, 0x52, 0x08, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x65,
|
|
0x78, 0x70, 0x6c, 0x69, 0x63, 0x69, 0x74, 0x18, 0x44, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x65,
|
|
0x78, 0x70, 0x6c, 0x69, 0x63, 0x69, 0x74, 0x12, 0x3d, 0x0a, 0x0b, 0x63, 0x6f, 0x76, 0x65, 0x72,
|
|
0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x45, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x73,
|
|
0x70, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e,
|
|
0x49, 0x6d, 0x61, 0x67, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x0a, 0x63, 0x6f, 0x76, 0x65,
|
|
0x72, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x33, 0x0a, 0x07, 0x65, 0x70, 0x69, 0x73, 0x6f, 0x64,
|
|
0x65, 0x18, 0x46, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x73, 0x70, 0x6f, 0x74, 0x69, 0x66,
|
|
0x79, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x45, 0x70, 0x69, 0x73, 0x6f,
|
|
0x64, 0x65, 0x52, 0x07, 0x65, 0x70, 0x69, 0x73, 0x6f, 0x64, 0x65, 0x12, 0x39, 0x0a, 0x09, 0x63,
|
|
0x6f, 0x70, 0x79, 0x72, 0x69, 0x67, 0x68, 0x74, 0x18, 0x47, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b,
|
|
0x2e, 0x73, 0x70, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74,
|
|
0x61, 0x2e, 0x43, 0x6f, 0x70, 0x79, 0x72, 0x69, 0x67, 0x68, 0x74, 0x52, 0x09, 0x63, 0x6f, 0x70,
|
|
0x79, 0x72, 0x69, 0x67, 0x68, 0x74, 0x12, 0x3f, 0x0a, 0x0b, 0x72, 0x65, 0x73, 0x74, 0x72, 0x69,
|
|
0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x48, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x73, 0x70,
|
|
0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x52,
|
|
0x65, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x72, 0x65, 0x73, 0x74,
|
|
0x72, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x6b, 0x65, 0x79, 0x77, 0x6f,
|
|
0x72, 0x64, 0x18, 0x49, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x6b, 0x65, 0x79, 0x77, 0x6f, 0x72,
|
|
0x64, 0x12, 0x3f, 0x0a, 0x0a, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18,
|
|
0x4a, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x20, 0x2e, 0x73, 0x70, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e,
|
|
0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x53, 0x68, 0x6f, 0x77, 0x2e, 0x4d, 0x65,
|
|
0x64, 0x69, 0x61, 0x54, 0x79, 0x70, 0x65, 0x52, 0x09, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x54, 0x79,
|
|
0x70, 0x65, 0x12, 0x54, 0x0a, 0x11, 0x63, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x70, 0x74, 0x69, 0x6f,
|
|
0x6e, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x18, 0x4b, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x27, 0x2e,
|
|
0x73, 0x70, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61,
|
|
0x2e, 0x53, 0x68, 0x6f, 0x77, 0x2e, 0x43, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x70, 0x74, 0x69, 0x6f,
|
|
0x6e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, 0x10, 0x63, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x70, 0x74,
|
|
0x69, 0x6f, 0x6e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x42, 0x0a, 0x0c, 0x61, 0x76, 0x61, 0x69,
|
|
0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x4e, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e,
|
|
0x2e, 0x73, 0x70, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74,
|
|
0x61, 0x2e, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x0c,
|
|
0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x1f, 0x0a, 0x0b,
|
|
0x74, 0x72, 0x61, 0x69, 0x6c, 0x65, 0x72, 0x5f, 0x75, 0x72, 0x69, 0x18, 0x53, 0x20, 0x01, 0x28,
|
|
0x09, 0x52, 0x0a, 0x74, 0x72, 0x61, 0x69, 0x6c, 0x65, 0x72, 0x55, 0x72, 0x69, 0x12, 0x24, 0x0a,
|
|
0x0e, 0x6d, 0x75, 0x73, 0x69, 0x63, 0x5f, 0x61, 0x6e, 0x64, 0x5f, 0x74, 0x61, 0x6c, 0x6b, 0x18,
|
|
0x55, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x6d, 0x75, 0x73, 0x69, 0x63, 0x41, 0x6e, 0x64, 0x54,
|
|
0x61, 0x6c, 0x6b, 0x12, 0x21, 0x0a, 0x0c, 0x69, 0x73, 0x5f, 0x61, 0x75, 0x64, 0x69, 0x6f, 0x62,
|
|
0x6f, 0x6f, 0x6b, 0x18, 0x59, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x69, 0x73, 0x41, 0x75, 0x64,
|
|
0x69, 0x6f, 0x62, 0x6f, 0x6f, 0x6b, 0x22, 0x2c, 0x0a, 0x09, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x54,
|
|
0x79, 0x70, 0x65, 0x12, 0x09, 0x0a, 0x05, 0x4d, 0x49, 0x58, 0x45, 0x44, 0x10, 0x00, 0x12, 0x09,
|
|
0x0a, 0x05, 0x41, 0x55, 0x44, 0x49, 0x4f, 0x10, 0x01, 0x12, 0x09, 0x0a, 0x05, 0x56, 0x49, 0x44,
|
|
0x45, 0x4f, 0x10, 0x02, 0x22, 0x3c, 0x0a, 0x10, 0x43, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x70, 0x74,
|
|
0x69, 0x6f, 0x6e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x0e, 0x0a, 0x0a, 0x53, 0x45, 0x51, 0x55,
|
|
0x45, 0x4e, 0x54, 0x49, 0x41, 0x4c, 0x10, 0x01, 0x12, 0x0c, 0x0a, 0x08, 0x45, 0x50, 0x49, 0x53,
|
|
0x4f, 0x44, 0x49, 0x43, 0x10, 0x02, 0x12, 0x0a, 0x0a, 0x06, 0x52, 0x45, 0x43, 0x45, 0x4e, 0x54,
|
|
0x10, 0x03, 0x22, 0xcd, 0x09, 0x0a, 0x07, 0x45, 0x70, 0x69, 0x73, 0x6f, 0x64, 0x65, 0x12, 0x10,
|
|
0x0a, 0x03, 0x67, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x03, 0x67, 0x69, 0x64,
|
|
0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04,
|
|
0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e,
|
|
0x18, 0x07, 0x20, 0x01, 0x28, 0x11, 0x52, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e,
|
|
0x12, 0x31, 0x0a, 0x05, 0x61, 0x75, 0x64, 0x69, 0x6f, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x0b, 0x32,
|
|
0x1b, 0x2e, 0x73, 0x70, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61,
|
|
0x74, 0x61, 0x2e, 0x41, 0x75, 0x64, 0x69, 0x6f, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x05, 0x61, 0x75,
|
|
0x64, 0x69, 0x6f, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69,
|
|
0x6f, 0x6e, 0x18, 0x40, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69,
|
|
0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18,
|
|
0x41, 0x20, 0x01, 0x28, 0x11, 0x52, 0x06, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x39, 0x0a,
|
|
0x0c, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x42, 0x20,
|
|
0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x73, 0x70, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x6d, 0x65,
|
|
0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x44, 0x61, 0x74, 0x65, 0x52, 0x0b, 0x70, 0x75, 0x62,
|
|
0x6c, 0x69, 0x73, 0x68, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x33, 0x0a, 0x15, 0x64, 0x65, 0x70, 0x72,
|
|
0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x70, 0x6f, 0x70, 0x75, 0x6c, 0x61, 0x72, 0x69, 0x74,
|
|
0x79, 0x18, 0x43, 0x20, 0x01, 0x28, 0x11, 0x52, 0x14, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61,
|
|
0x74, 0x65, 0x64, 0x50, 0x6f, 0x70, 0x75, 0x6c, 0x61, 0x72, 0x69, 0x74, 0x79, 0x12, 0x3d, 0x0a,
|
|
0x0b, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x44, 0x20, 0x01,
|
|
0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x73, 0x70, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x6d, 0x65, 0x74,
|
|
0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70,
|
|
0x52, 0x0a, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x1a, 0x0a, 0x08,
|
|
0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x18, 0x45, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08,
|
|
0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x65, 0x78, 0x70, 0x6c,
|
|
0x69, 0x63, 0x69, 0x74, 0x18, 0x46, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x65, 0x78, 0x70, 0x6c,
|
|
0x69, 0x63, 0x69, 0x74, 0x12, 0x2a, 0x0a, 0x04, 0x73, 0x68, 0x6f, 0x77, 0x18, 0x47, 0x20, 0x01,
|
|
0x28, 0x0b, 0x32, 0x16, 0x2e, 0x73, 0x70, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x6d, 0x65, 0x74,
|
|
0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x53, 0x68, 0x6f, 0x77, 0x52, 0x04, 0x73, 0x68, 0x6f, 0x77,
|
|
0x12, 0x31, 0x0a, 0x05, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x18, 0x48, 0x20, 0x03, 0x28, 0x0b, 0x32,
|
|
0x1b, 0x2e, 0x73, 0x70, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61,
|
|
0x74, 0x61, 0x2e, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x05, 0x76, 0x69,
|
|
0x64, 0x65, 0x6f, 0x12, 0x40, 0x0a, 0x0d, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x5f, 0x70, 0x72, 0x65,
|
|
0x76, 0x69, 0x65, 0x77, 0x18, 0x49, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x73, 0x70, 0x6f,
|
|
0x74, 0x69, 0x66, 0x79, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x56, 0x69,
|
|
0x64, 0x65, 0x6f, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x0c, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x50, 0x72,
|
|
0x65, 0x76, 0x69, 0x65, 0x77, 0x12, 0x40, 0x0a, 0x0d, 0x61, 0x75, 0x64, 0x69, 0x6f, 0x5f, 0x70,
|
|
0x72, 0x65, 0x76, 0x69, 0x65, 0x77, 0x18, 0x4a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x73,
|
|
0x70, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e,
|
|
0x41, 0x75, 0x64, 0x69, 0x6f, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x0c, 0x61, 0x75, 0x64, 0x69, 0x6f,
|
|
0x50, 0x72, 0x65, 0x76, 0x69, 0x65, 0x77, 0x12, 0x3f, 0x0a, 0x0b, 0x72, 0x65, 0x73, 0x74, 0x72,
|
|
0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x4b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x73,
|
|
0x70, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e,
|
|
0x52, 0x65, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x72, 0x65, 0x73,
|
|
0x74, 0x72, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3f, 0x0a, 0x0c, 0x66, 0x72, 0x65, 0x65,
|
|
0x7a, 0x65, 0x5f, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x18, 0x4c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c,
|
|
0x2e, 0x73, 0x70, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74,
|
|
0x61, 0x2e, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x0b, 0x66, 0x72,
|
|
0x65, 0x65, 0x7a, 0x65, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x6b, 0x65, 0x79,
|
|
0x77, 0x6f, 0x72, 0x64, 0x18, 0x4d, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x6b, 0x65, 0x79, 0x77,
|
|
0x6f, 0x72, 0x64, 0x12, 0x3a, 0x0a, 0x19, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x62, 0x61, 0x63,
|
|
0x6b, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x5f, 0x70, 0x6c, 0x61, 0x79, 0x62, 0x61, 0x63, 0x6b,
|
|
0x18, 0x51, 0x20, 0x01, 0x28, 0x08, 0x52, 0x17, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x42, 0x61, 0x63,
|
|
0x6b, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x50, 0x6c, 0x61, 0x79, 0x62, 0x61, 0x63, 0x6b, 0x12,
|
|
0x42, 0x0a, 0x0c, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x18,
|
|
0x52, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x73, 0x70, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e,
|
|
0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62,
|
|
0x69, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x0c, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c,
|
|
0x69, 0x74, 0x79, 0x12, 0x21, 0x0a, 0x0c, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f,
|
|
0x75, 0x72, 0x6c, 0x18, 0x53, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x65, 0x78, 0x74, 0x65, 0x72,
|
|
0x6e, 0x61, 0x6c, 0x55, 0x72, 0x6c, 0x12, 0x39, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x57,
|
|
0x20, 0x01, 0x28, 0x0e, 0x32, 0x25, 0x2e, 0x73, 0x70, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x6d,
|
|
0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x45, 0x70, 0x69, 0x73, 0x6f, 0x64, 0x65, 0x2e,
|
|
0x45, 0x70, 0x69, 0x73, 0x6f, 0x64, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70,
|
|
0x65, 0x12, 0x24, 0x0a, 0x0e, 0x6d, 0x75, 0x73, 0x69, 0x63, 0x5f, 0x61, 0x6e, 0x64, 0x5f, 0x74,
|
|
0x61, 0x6c, 0x6b, 0x18, 0x5b, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x6d, 0x75, 0x73, 0x69, 0x63,
|
|
0x41, 0x6e, 0x64, 0x54, 0x61, 0x6c, 0x6b, 0x12, 0x46, 0x0a, 0x0e, 0x63, 0x6f, 0x6e, 0x74, 0x65,
|
|
0x6e, 0x74, 0x5f, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x5f, 0x20, 0x03, 0x28, 0x0b, 0x32,
|
|
0x1f, 0x2e, 0x73, 0x70, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61,
|
|
0x74, 0x61, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67,
|
|
0x52, 0x0d, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x12,
|
|
0x30, 0x0a, 0x14, 0x69, 0x73, 0x5f, 0x61, 0x75, 0x64, 0x69, 0x6f, 0x62, 0x6f, 0x6f, 0x6b, 0x5f,
|
|
0x63, 0x68, 0x61, 0x70, 0x74, 0x65, 0x72, 0x18, 0x60, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x69,
|
|
0x73, 0x41, 0x75, 0x64, 0x69, 0x6f, 0x62, 0x6f, 0x6f, 0x6b, 0x43, 0x68, 0x61, 0x70, 0x74, 0x65,
|
|
0x72, 0x22, 0x2f, 0x0a, 0x0b, 0x45, 0x70, 0x69, 0x73, 0x6f, 0x64, 0x65, 0x54, 0x79, 0x70, 0x65,
|
|
0x12, 0x08, 0x0a, 0x04, 0x46, 0x55, 0x4c, 0x4c, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x54, 0x52,
|
|
0x41, 0x49, 0x4c, 0x45, 0x52, 0x10, 0x01, 0x12, 0x09, 0x0a, 0x05, 0x42, 0x4f, 0x4e, 0x55, 0x53,
|
|
0x10, 0x02, 0x22, 0x1e, 0x0a, 0x08, 0x4c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x12, 0x12,
|
|
0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x75, 0x75,
|
|
0x69, 0x64, 0x22, 0x54, 0x0a, 0x09, 0x54, 0x6f, 0x70, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x73, 0x12,
|
|
0x18, 0x0a, 0x07, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
|
|
0x52, 0x07, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x2d, 0x0a, 0x05, 0x74, 0x72, 0x61,
|
|
0x63, 0x6b, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x73, 0x70, 0x6f, 0x74, 0x69,
|
|
0x66, 0x79, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x72, 0x61, 0x63,
|
|
0x6b, 0x52, 0x05, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x22, 0x62, 0x0a, 0x0e, 0x41, 0x63, 0x74, 0x69,
|
|
0x76, 0x69, 0x74, 0x79, 0x50, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x74,
|
|
0x61, 0x72, 0x74, 0x5f, 0x79, 0x65, 0x61, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x11, 0x52, 0x09,
|
|
0x73, 0x74, 0x61, 0x72, 0x74, 0x59, 0x65, 0x61, 0x72, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x6e, 0x64,
|
|
0x5f, 0x79, 0x65, 0x61, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x11, 0x52, 0x07, 0x65, 0x6e, 0x64,
|
|
0x59, 0x65, 0x61, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x65, 0x63, 0x61, 0x64, 0x65, 0x18, 0x03,
|
|
0x20, 0x01, 0x28, 0x11, 0x52, 0x06, 0x64, 0x65, 0x63, 0x61, 0x64, 0x65, 0x22, 0x3b, 0x0a, 0x0a,
|
|
0x41, 0x6c, 0x62, 0x75, 0x6d, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x2d, 0x0a, 0x05, 0x61, 0x6c,
|
|
0x62, 0x75, 0x6d, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x73, 0x70, 0x6f, 0x74,
|
|
0x69, 0x66, 0x79, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x41, 0x6c, 0x62,
|
|
0x75, 0x6d, 0x52, 0x05, 0x61, 0x6c, 0x62, 0x75, 0x6d, 0x22, 0x6e, 0x0a, 0x04, 0x44, 0x61, 0x74,
|
|
0x65, 0x12, 0x12, 0x0a, 0x04, 0x79, 0x65, 0x61, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x11, 0x52,
|
|
0x04, 0x79, 0x65, 0x61, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x6d, 0x6f, 0x6e, 0x74, 0x68, 0x18, 0x02,
|
|
0x20, 0x01, 0x28, 0x11, 0x52, 0x05, 0x6d, 0x6f, 0x6e, 0x74, 0x68, 0x12, 0x10, 0x0a, 0x03, 0x64,
|
|
0x61, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x11, 0x52, 0x03, 0x64, 0x61, 0x79, 0x12, 0x12, 0x0a,
|
|
0x04, 0x68, 0x6f, 0x75, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x11, 0x52, 0x04, 0x68, 0x6f, 0x75,
|
|
0x72, 0x12, 0x16, 0x0a, 0x06, 0x6d, 0x69, 0x6e, 0x75, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28,
|
|
0x11, 0x52, 0x06, 0x6d, 0x69, 0x6e, 0x75, 0x74, 0x65, 0x22, 0xb7, 0x01, 0x0a, 0x05, 0x49, 0x6d,
|
|
0x61, 0x67, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01,
|
|
0x20, 0x01, 0x28, 0x0c, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x65, 0x49, 0x64, 0x12, 0x30, 0x0a, 0x04,
|
|
0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1c, 0x2e, 0x73, 0x70, 0x6f,
|
|
0x74, 0x69, 0x66, 0x79, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x49, 0x6d,
|
|
0x61, 0x67, 0x65, 0x2e, 0x53, 0x69, 0x7a, 0x65, 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x12, 0x14,
|
|
0x0a, 0x05, 0x77, 0x69, 0x64, 0x74, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x11, 0x52, 0x05, 0x77,
|
|
0x69, 0x64, 0x74, 0x68, 0x12, 0x16, 0x0a, 0x06, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x04,
|
|
0x20, 0x01, 0x28, 0x11, 0x52, 0x06, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x22, 0x35, 0x0a, 0x04,
|
|
0x53, 0x69, 0x7a, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x44, 0x45, 0x46, 0x41, 0x55, 0x4c, 0x54, 0x10,
|
|
0x00, 0x12, 0x09, 0x0a, 0x05, 0x53, 0x4d, 0x41, 0x4c, 0x4c, 0x10, 0x01, 0x12, 0x09, 0x0a, 0x05,
|
|
0x4c, 0x41, 0x52, 0x47, 0x45, 0x10, 0x02, 0x12, 0x0a, 0x0a, 0x06, 0x58, 0x4c, 0x41, 0x52, 0x47,
|
|
0x45, 0x10, 0x03, 0x22, 0x3b, 0x0a, 0x0a, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x47, 0x72, 0x6f, 0x75,
|
|
0x70, 0x12, 0x2d, 0x0a, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b,
|
|
0x32, 0x17, 0x2e, 0x73, 0x70, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x64,
|
|
0x61, 0x74, 0x61, 0x2e, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65,
|
|
0x22, 0x99, 0x01, 0x0a, 0x09, 0x42, 0x69, 0x6f, 0x67, 0x72, 0x61, 0x70, 0x68, 0x79, 0x12, 0x12,
|
|
0x0a, 0x04, 0x74, 0x65, 0x78, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x65,
|
|
0x78, 0x74, 0x12, 0x33, 0x0a, 0x08, 0x70, 0x6f, 0x72, 0x74, 0x72, 0x61, 0x69, 0x74, 0x18, 0x02,
|
|
0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x73, 0x70, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x6d,
|
|
0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x08, 0x70,
|
|
0x6f, 0x72, 0x74, 0x72, 0x61, 0x69, 0x74, 0x12, 0x43, 0x0a, 0x0e, 0x70, 0x6f, 0x72, 0x74, 0x72,
|
|
0x61, 0x69, 0x74, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32,
|
|
0x1c, 0x2e, 0x73, 0x70, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61,
|
|
0x74, 0x61, 0x2e, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x0d, 0x70,
|
|
0x6f, 0x72, 0x74, 0x72, 0x61, 0x69, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x22, 0x61, 0x0a, 0x04,
|
|
0x44, 0x69, 0x73, 0x63, 0x12, 0x16, 0x0a, 0x06, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x01,
|
|
0x20, 0x01, 0x28, 0x11, 0x52, 0x06, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04,
|
|
0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65,
|
|
0x12, 0x2d, 0x0a, 0x05, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32,
|
|
0x17, 0x2e, 0x73, 0x70, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61,
|
|
0x74, 0x61, 0x2e, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x52, 0x05, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x22,
|
|
0x6b, 0x0a, 0x09, 0x43, 0x6f, 0x70, 0x79, 0x72, 0x69, 0x67, 0x68, 0x74, 0x12, 0x34, 0x0a, 0x04,
|
|
0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x20, 0x2e, 0x73, 0x70, 0x6f,
|
|
0x74, 0x69, 0x66, 0x79, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x43, 0x6f,
|
|
0x70, 0x79, 0x72, 0x69, 0x67, 0x68, 0x74, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79,
|
|
0x70, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x65, 0x78, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
|
|
0x52, 0x04, 0x74, 0x65, 0x78, 0x74, 0x22, 0x14, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x12, 0x05,
|
|
0x0a, 0x01, 0x50, 0x10, 0x00, 0x12, 0x05, 0x0a, 0x01, 0x43, 0x10, 0x01, 0x22, 0x98, 0x03, 0x0a,
|
|
0x0b, 0x52, 0x65, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x45, 0x0a, 0x09,
|
|
0x63, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x75, 0x65, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0e, 0x32,
|
|
0x27, 0x2e, 0x73, 0x70, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61,
|
|
0x74, 0x61, 0x2e, 0x52, 0x65, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x43,
|
|
0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x75, 0x65, 0x52, 0x09, 0x63, 0x61, 0x74, 0x61, 0x6c, 0x6f,
|
|
0x67, 0x75, 0x65, 0x12, 0x36, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28,
|
|
0x0e, 0x32, 0x22, 0x2e, 0x73, 0x70, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x6d, 0x65, 0x74, 0x61,
|
|
0x64, 0x61, 0x74, 0x61, 0x2e, 0x52, 0x65, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e,
|
|
0x2e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x63,
|
|
0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x75, 0x65, 0x5f, 0x73, 0x74, 0x72, 0x18, 0x05, 0x20, 0x03,
|
|
0x28, 0x09, 0x52, 0x0c, 0x63, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x75, 0x65, 0x53, 0x74, 0x72,
|
|
0x12, 0x2d, 0x0a, 0x11, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x5f, 0x61, 0x6c,
|
|
0x6c, 0x6f, 0x77, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x10, 0x63,
|
|
0x6f, 0x75, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x12,
|
|
0x31, 0x0a, 0x13, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x5f, 0x66, 0x6f, 0x72,
|
|
0x62, 0x69, 0x64, 0x64, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x12,
|
|
0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x46, 0x6f, 0x72, 0x62, 0x69, 0x64, 0x64,
|
|
0x65, 0x6e, 0x22, 0x55, 0x0a, 0x09, 0x43, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x75, 0x65, 0x12,
|
|
0x06, 0x0a, 0x02, 0x41, 0x44, 0x10, 0x00, 0x12, 0x10, 0x0a, 0x0c, 0x53, 0x55, 0x42, 0x53, 0x43,
|
|
0x52, 0x49, 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x01, 0x12, 0x11, 0x0a, 0x0d, 0x43, 0x41, 0x54,
|
|
0x41, 0x4c, 0x4f, 0x47, 0x55, 0x45, 0x5f, 0x41, 0x4c, 0x4c, 0x10, 0x02, 0x12, 0x0b, 0x0a, 0x07,
|
|
0x53, 0x48, 0x55, 0x46, 0x46, 0x4c, 0x45, 0x10, 0x03, 0x12, 0x0e, 0x0a, 0x0a, 0x43, 0x4f, 0x4d,
|
|
0x4d, 0x45, 0x52, 0x43, 0x49, 0x41, 0x4c, 0x10, 0x04, 0x22, 0x15, 0x0a, 0x04, 0x54, 0x79, 0x70,
|
|
0x65, 0x12, 0x0d, 0x0a, 0x09, 0x53, 0x54, 0x52, 0x45, 0x41, 0x4d, 0x49, 0x4e, 0x47, 0x10, 0x00,
|
|
0x42, 0x15, 0x0a, 0x13, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x5f, 0x72, 0x65, 0x73, 0x74,
|
|
0x72, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x61, 0x0a, 0x0c, 0x41, 0x76, 0x61, 0x69, 0x6c,
|
|
0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x61, 0x74, 0x61, 0x6c,
|
|
0x6f, 0x67, 0x75, 0x65, 0x5f, 0x73, 0x74, 0x72, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c,
|
|
0x63, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x75, 0x65, 0x53, 0x74, 0x72, 0x12, 0x2c, 0x0a, 0x05,
|
|
0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x73, 0x70,
|
|
0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x44,
|
|
0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 0x22, 0xa5, 0x01, 0x0a, 0x0a, 0x53,
|
|
0x61, 0x6c, 0x65, 0x50, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x12, 0x3f, 0x0a, 0x0b, 0x72, 0x65, 0x73,
|
|
0x74, 0x72, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d,
|
|
0x2e, 0x73, 0x70, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74,
|
|
0x61, 0x2e, 0x52, 0x65, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x72,
|
|
0x65, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2c, 0x0a, 0x05, 0x73, 0x74,
|
|
0x61, 0x72, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x73, 0x70, 0x6f, 0x74,
|
|
0x69, 0x66, 0x79, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x44, 0x61, 0x74,
|
|
0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 0x12, 0x28, 0x0a, 0x03, 0x65, 0x6e, 0x64, 0x18,
|
|
0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x73, 0x70, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e,
|
|
0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x44, 0x61, 0x74, 0x65, 0x52, 0x03, 0x65,
|
|
0x6e, 0x64, 0x22, 0x30, 0x0a, 0x0a, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x49, 0x64,
|
|
0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04,
|
|
0x74, 0x79, 0x70, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
|
|
0x52, 0x02, 0x69, 0x64, 0x22, 0x91, 0x02, 0x0a, 0x09, 0x41, 0x75, 0x64, 0x69, 0x6f, 0x46, 0x69,
|
|
0x6c, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20,
|
|
0x01, 0x28, 0x0c, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x65, 0x49, 0x64, 0x12, 0x3a, 0x0a, 0x06, 0x66,
|
|
0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x22, 0x2e, 0x73, 0x70,
|
|
0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x41,
|
|
0x75, 0x64, 0x69, 0x6f, 0x46, 0x69, 0x6c, 0x65, 0x2e, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x52,
|
|
0x06, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x22, 0xae, 0x01, 0x0a, 0x06, 0x46, 0x6f, 0x72, 0x6d,
|
|
0x61, 0x74, 0x12, 0x11, 0x0a, 0x0d, 0x4f, 0x47, 0x47, 0x5f, 0x56, 0x4f, 0x52, 0x42, 0x49, 0x53,
|
|
0x5f, 0x39, 0x36, 0x10, 0x00, 0x12, 0x12, 0x0a, 0x0e, 0x4f, 0x47, 0x47, 0x5f, 0x56, 0x4f, 0x52,
|
|
0x42, 0x49, 0x53, 0x5f, 0x31, 0x36, 0x30, 0x10, 0x01, 0x12, 0x12, 0x0a, 0x0e, 0x4f, 0x47, 0x47,
|
|
0x5f, 0x56, 0x4f, 0x52, 0x42, 0x49, 0x53, 0x5f, 0x33, 0x32, 0x30, 0x10, 0x02, 0x12, 0x0b, 0x0a,
|
|
0x07, 0x4d, 0x50, 0x33, 0x5f, 0x32, 0x35, 0x36, 0x10, 0x03, 0x12, 0x0b, 0x0a, 0x07, 0x4d, 0x50,
|
|
0x33, 0x5f, 0x33, 0x32, 0x30, 0x10, 0x04, 0x12, 0x0b, 0x0a, 0x07, 0x4d, 0x50, 0x33, 0x5f, 0x31,
|
|
0x36, 0x30, 0x10, 0x05, 0x12, 0x0a, 0x0a, 0x06, 0x4d, 0x50, 0x33, 0x5f, 0x39, 0x36, 0x10, 0x06,
|
|
0x12, 0x0f, 0x0a, 0x0b, 0x4d, 0x50, 0x33, 0x5f, 0x31, 0x36, 0x30, 0x5f, 0x45, 0x4e, 0x43, 0x10,
|
|
0x07, 0x12, 0x0a, 0x0a, 0x06, 0x41, 0x41, 0x43, 0x5f, 0x32, 0x34, 0x10, 0x08, 0x12, 0x0a, 0x0a,
|
|
0x06, 0x41, 0x41, 0x43, 0x5f, 0x34, 0x38, 0x10, 0x09, 0x12, 0x0d, 0x0a, 0x09, 0x46, 0x4c, 0x41,
|
|
0x43, 0x5f, 0x46, 0x4c, 0x41, 0x43, 0x10, 0x10, 0x22, 0x24, 0x0a, 0x09, 0x56, 0x69, 0x64, 0x65,
|
|
0x6f, 0x46, 0x69, 0x6c, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x69, 0x64,
|
|
0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x65, 0x49, 0x64, 0x22, 0x3b,
|
|
0x0a, 0x0d, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x12,
|
|
0x18, 0x0a, 0x07, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
|
|
0x52, 0x07, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x74, 0x61, 0x67,
|
|
0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x03, 0x74, 0x61, 0x67, 0x42, 0x4b, 0x0a, 0x1a, 0x63,
|
|
0x6f, 0x6d, 0x2e, 0x73, 0x70, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x64,
|
|
0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x42, 0x08, 0x4d, 0x65, 0x74, 0x61, 0x64,
|
|
0x61, 0x74, 0x61, 0x48, 0x02, 0x5a, 0x21, 0x74, 0x75, 0x78, 0x70, 0x61, 0x2e, 0x69, 0x6e, 0x2f,
|
|
0x61, 0x2f, 0x67, 0x6f, 0x70, 0x6c, 0x61, 0x79, 0x64, 0x2f, 0x6c, 0x69, 0x62, 0x2f, 0x73, 0x70,
|
|
0x6f, 0x74, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f,
|
|
}
|
|
|
|
var (
|
|
file_metadata_proto_rawDescOnce sync.Once
|
|
file_metadata_proto_rawDescData = file_metadata_proto_rawDesc
|
|
)
|
|
|
|
func file_metadata_proto_rawDescGZIP() []byte {
|
|
file_metadata_proto_rawDescOnce.Do(func() {
|
|
file_metadata_proto_rawDescData = protoimpl.X.CompressGZIP(file_metadata_proto_rawDescData)
|
|
})
|
|
return file_metadata_proto_rawDescData
|
|
}
|
|
|
|
var file_metadata_proto_enumTypes = make([]protoimpl.EnumInfo, 10)
|
|
var file_metadata_proto_msgTypes = make([]protoimpl.MessageInfo, 23)
|
|
var file_metadata_proto_goTypes = []interface{}{
|
|
(Album_Type)(0), // 0: spotify.metadata.Album.Type
|
|
(ArtistWithRole_ArtistRole)(0), // 1: spotify.metadata.ArtistWithRole.ArtistRole
|
|
(Show_MediaType)(0), // 2: spotify.metadata.Show.MediaType
|
|
(Show_ConsumptionOrder)(0), // 3: spotify.metadata.Show.ConsumptionOrder
|
|
(Episode_EpisodeType)(0), // 4: spotify.metadata.Episode.EpisodeType
|
|
(Image_Size)(0), // 5: spotify.metadata.Image.Size
|
|
(Copyright_Type)(0), // 6: spotify.metadata.Copyright.Type
|
|
(Restriction_Catalogue)(0), // 7: spotify.metadata.Restriction.Catalogue
|
|
(Restriction_Type)(0), // 8: spotify.metadata.Restriction.Type
|
|
(AudioFile_Format)(0), // 9: spotify.metadata.AudioFile.Format
|
|
(*Artist)(nil), // 10: spotify.metadata.Artist
|
|
(*Album)(nil), // 11: spotify.metadata.Album
|
|
(*Track)(nil), // 12: spotify.metadata.Track
|
|
(*ArtistWithRole)(nil), // 13: spotify.metadata.ArtistWithRole
|
|
(*Show)(nil), // 14: spotify.metadata.Show
|
|
(*Episode)(nil), // 15: spotify.metadata.Episode
|
|
(*Licensor)(nil), // 16: spotify.metadata.Licensor
|
|
(*TopTracks)(nil), // 17: spotify.metadata.TopTracks
|
|
(*ActivityPeriod)(nil), // 18: spotify.metadata.ActivityPeriod
|
|
(*AlbumGroup)(nil), // 19: spotify.metadata.AlbumGroup
|
|
(*Date)(nil), // 20: spotify.metadata.Date
|
|
(*Image)(nil), // 21: spotify.metadata.Image
|
|
(*ImageGroup)(nil), // 22: spotify.metadata.ImageGroup
|
|
(*Biography)(nil), // 23: spotify.metadata.Biography
|
|
(*Disc)(nil), // 24: spotify.metadata.Disc
|
|
(*Copyright)(nil), // 25: spotify.metadata.Copyright
|
|
(*Restriction)(nil), // 26: spotify.metadata.Restriction
|
|
(*Availability)(nil), // 27: spotify.metadata.Availability
|
|
(*SalePeriod)(nil), // 28: spotify.metadata.SalePeriod
|
|
(*ExternalId)(nil), // 29: spotify.metadata.ExternalId
|
|
(*AudioFile)(nil), // 30: spotify.metadata.AudioFile
|
|
(*VideoFile)(nil), // 31: spotify.metadata.VideoFile
|
|
(*ContentRating)(nil), // 32: spotify.metadata.ContentRating
|
|
}
|
|
var file_metadata_proto_depIdxs = []int32{
|
|
17, // 0: spotify.metadata.Artist.top_track:type_name -> spotify.metadata.TopTracks
|
|
19, // 1: spotify.metadata.Artist.album_group:type_name -> spotify.metadata.AlbumGroup
|
|
19, // 2: spotify.metadata.Artist.single_group:type_name -> spotify.metadata.AlbumGroup
|
|
19, // 3: spotify.metadata.Artist.compilation_group:type_name -> spotify.metadata.AlbumGroup
|
|
19, // 4: spotify.metadata.Artist.appears_on_group:type_name -> spotify.metadata.AlbumGroup
|
|
29, // 5: spotify.metadata.Artist.external_id:type_name -> spotify.metadata.ExternalId
|
|
21, // 6: spotify.metadata.Artist.portrait:type_name -> spotify.metadata.Image
|
|
23, // 7: spotify.metadata.Artist.biography:type_name -> spotify.metadata.Biography
|
|
18, // 8: spotify.metadata.Artist.activity_period:type_name -> spotify.metadata.ActivityPeriod
|
|
26, // 9: spotify.metadata.Artist.restriction:type_name -> spotify.metadata.Restriction
|
|
10, // 10: spotify.metadata.Artist.related:type_name -> spotify.metadata.Artist
|
|
22, // 11: spotify.metadata.Artist.portrait_group:type_name -> spotify.metadata.ImageGroup
|
|
28, // 12: spotify.metadata.Artist.sale_period:type_name -> spotify.metadata.SalePeriod
|
|
27, // 13: spotify.metadata.Artist.availability:type_name -> spotify.metadata.Availability
|
|
10, // 14: spotify.metadata.Album.artist:type_name -> spotify.metadata.Artist
|
|
0, // 15: spotify.metadata.Album.type:type_name -> spotify.metadata.Album.Type
|
|
20, // 16: spotify.metadata.Album.date:type_name -> spotify.metadata.Date
|
|
21, // 17: spotify.metadata.Album.cover:type_name -> spotify.metadata.Image
|
|
29, // 18: spotify.metadata.Album.external_id:type_name -> spotify.metadata.ExternalId
|
|
24, // 19: spotify.metadata.Album.disc:type_name -> spotify.metadata.Disc
|
|
25, // 20: spotify.metadata.Album.copyright:type_name -> spotify.metadata.Copyright
|
|
26, // 21: spotify.metadata.Album.restriction:type_name -> spotify.metadata.Restriction
|
|
11, // 22: spotify.metadata.Album.related:type_name -> spotify.metadata.Album
|
|
28, // 23: spotify.metadata.Album.sale_period:type_name -> spotify.metadata.SalePeriod
|
|
22, // 24: spotify.metadata.Album.cover_group:type_name -> spotify.metadata.ImageGroup
|
|
27, // 25: spotify.metadata.Album.availability:type_name -> spotify.metadata.Availability
|
|
11, // 26: spotify.metadata.Track.album:type_name -> spotify.metadata.Album
|
|
10, // 27: spotify.metadata.Track.artist:type_name -> spotify.metadata.Artist
|
|
29, // 28: spotify.metadata.Track.external_id:type_name -> spotify.metadata.ExternalId
|
|
26, // 29: spotify.metadata.Track.restriction:type_name -> spotify.metadata.Restriction
|
|
30, // 30: spotify.metadata.Track.file:type_name -> spotify.metadata.AudioFile
|
|
12, // 31: spotify.metadata.Track.alternative:type_name -> spotify.metadata.Track
|
|
28, // 32: spotify.metadata.Track.sale_period:type_name -> spotify.metadata.SalePeriod
|
|
30, // 33: spotify.metadata.Track.preview:type_name -> spotify.metadata.AudioFile
|
|
27, // 34: spotify.metadata.Track.availability:type_name -> spotify.metadata.Availability
|
|
16, // 35: spotify.metadata.Track.licensor:type_name -> spotify.metadata.Licensor
|
|
32, // 36: spotify.metadata.Track.content_rating:type_name -> spotify.metadata.ContentRating
|
|
13, // 37: spotify.metadata.Track.artist_with_role:type_name -> spotify.metadata.ArtistWithRole
|
|
1, // 38: spotify.metadata.ArtistWithRole.role:type_name -> spotify.metadata.ArtistWithRole.ArtistRole
|
|
22, // 39: spotify.metadata.Show.cover_image:type_name -> spotify.metadata.ImageGroup
|
|
15, // 40: spotify.metadata.Show.episode:type_name -> spotify.metadata.Episode
|
|
25, // 41: spotify.metadata.Show.copyright:type_name -> spotify.metadata.Copyright
|
|
26, // 42: spotify.metadata.Show.restriction:type_name -> spotify.metadata.Restriction
|
|
2, // 43: spotify.metadata.Show.media_type:type_name -> spotify.metadata.Show.MediaType
|
|
3, // 44: spotify.metadata.Show.consumption_order:type_name -> spotify.metadata.Show.ConsumptionOrder
|
|
27, // 45: spotify.metadata.Show.availability:type_name -> spotify.metadata.Availability
|
|
30, // 46: spotify.metadata.Episode.audio:type_name -> spotify.metadata.AudioFile
|
|
20, // 47: spotify.metadata.Episode.publish_time:type_name -> spotify.metadata.Date
|
|
22, // 48: spotify.metadata.Episode.cover_image:type_name -> spotify.metadata.ImageGroup
|
|
14, // 49: spotify.metadata.Episode.show:type_name -> spotify.metadata.Show
|
|
31, // 50: spotify.metadata.Episode.video:type_name -> spotify.metadata.VideoFile
|
|
31, // 51: spotify.metadata.Episode.video_preview:type_name -> spotify.metadata.VideoFile
|
|
30, // 52: spotify.metadata.Episode.audio_preview:type_name -> spotify.metadata.AudioFile
|
|
26, // 53: spotify.metadata.Episode.restriction:type_name -> spotify.metadata.Restriction
|
|
22, // 54: spotify.metadata.Episode.freeze_frame:type_name -> spotify.metadata.ImageGroup
|
|
27, // 55: spotify.metadata.Episode.availability:type_name -> spotify.metadata.Availability
|
|
4, // 56: spotify.metadata.Episode.type:type_name -> spotify.metadata.Episode.EpisodeType
|
|
32, // 57: spotify.metadata.Episode.content_rating:type_name -> spotify.metadata.ContentRating
|
|
12, // 58: spotify.metadata.TopTracks.track:type_name -> spotify.metadata.Track
|
|
11, // 59: spotify.metadata.AlbumGroup.album:type_name -> spotify.metadata.Album
|
|
5, // 60: spotify.metadata.Image.size:type_name -> spotify.metadata.Image.Size
|
|
21, // 61: spotify.metadata.ImageGroup.image:type_name -> spotify.metadata.Image
|
|
21, // 62: spotify.metadata.Biography.portrait:type_name -> spotify.metadata.Image
|
|
22, // 63: spotify.metadata.Biography.portrait_group:type_name -> spotify.metadata.ImageGroup
|
|
12, // 64: spotify.metadata.Disc.track:type_name -> spotify.metadata.Track
|
|
6, // 65: spotify.metadata.Copyright.type:type_name -> spotify.metadata.Copyright.Type
|
|
7, // 66: spotify.metadata.Restriction.catalogue:type_name -> spotify.metadata.Restriction.Catalogue
|
|
8, // 67: spotify.metadata.Restriction.type:type_name -> spotify.metadata.Restriction.Type
|
|
20, // 68: spotify.metadata.Availability.start:type_name -> spotify.metadata.Date
|
|
26, // 69: spotify.metadata.SalePeriod.restriction:type_name -> spotify.metadata.Restriction
|
|
20, // 70: spotify.metadata.SalePeriod.start:type_name -> spotify.metadata.Date
|
|
20, // 71: spotify.metadata.SalePeriod.end:type_name -> spotify.metadata.Date
|
|
9, // 72: spotify.metadata.AudioFile.format:type_name -> spotify.metadata.AudioFile.Format
|
|
73, // [73:73] is the sub-list for method output_type
|
|
73, // [73:73] is the sub-list for method input_type
|
|
73, // [73:73] is the sub-list for extension type_name
|
|
73, // [73:73] is the sub-list for extension extendee
|
|
0, // [0:73] is the sub-list for field type_name
|
|
}
|
|
|
|
func init() { file_metadata_proto_init() }
|
|
func file_metadata_proto_init() {
|
|
if File_metadata_proto != nil {
|
|
return
|
|
}
|
|
if !protoimpl.UnsafeEnabled {
|
|
file_metadata_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*Artist); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_metadata_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*Album); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_metadata_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*Track); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_metadata_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*ArtistWithRole); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_metadata_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*Show); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_metadata_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*Episode); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_metadata_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*Licensor); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_metadata_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*TopTracks); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_metadata_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*ActivityPeriod); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_metadata_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*AlbumGroup); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_metadata_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*Date); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_metadata_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*Image); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_metadata_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*ImageGroup); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_metadata_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*Biography); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_metadata_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*Disc); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_metadata_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*Copyright); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_metadata_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*Restriction); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_metadata_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*Availability); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_metadata_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*SalePeriod); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_metadata_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*ExternalId); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_metadata_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*AudioFile); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_metadata_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*VideoFile); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_metadata_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*ContentRating); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
}
|
|
file_metadata_proto_msgTypes[16].OneofWrappers = []interface{}{
|
|
(*Restriction_CountriesAllowed)(nil),
|
|
(*Restriction_CountriesForbidden)(nil),
|
|
}
|
|
type x struct{}
|
|
out := protoimpl.TypeBuilder{
|
|
File: protoimpl.DescBuilder{
|
|
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
|
|
RawDescriptor: file_metadata_proto_rawDesc,
|
|
NumEnums: 10,
|
|
NumMessages: 23,
|
|
NumExtensions: 0,
|
|
NumServices: 0,
|
|
},
|
|
GoTypes: file_metadata_proto_goTypes,
|
|
DependencyIndexes: file_metadata_proto_depIdxs,
|
|
EnumInfos: file_metadata_proto_enumTypes,
|
|
MessageInfos: file_metadata_proto_msgTypes,
|
|
}.Build()
|
|
File_metadata_proto = out.File
|
|
file_metadata_proto_rawDesc = nil
|
|
file_metadata_proto_goTypes = nil
|
|
file_metadata_proto_depIdxs = nil
|
|
}
|