mikufans_proto_intl/
bilibili.app.viewunite.common.rs

1// This file is @generated by prost-build.
2///
3#[derive(Clone, PartialEq, ::prost::Message)]
4pub struct ActBannerItem {
5    ///
6    #[prost(string, tag = "1")]
7    pub url: ::prost::alloc::string::String,
8    ///
9    #[prost(string, tag = "2")]
10    pub cover: ::prost::alloc::string::String,
11    ///
12    #[prost(enumeration = "JumpType", tag = "3")]
13    pub jump_type: i32,
14    ///
15    #[prost(map = "string, string", tag = "4")]
16    pub report: ::std::collections::HashMap<
17        ::prost::alloc::string::String,
18        ::prost::alloc::string::String,
19    >,
20}
21///
22#[derive(Clone, PartialEq, ::prost::Message)]
23pub struct ActPageItems {
24    ///
25    #[prost(message, repeated, tag = "1")]
26    pub item: ::prost::alloc::vec::Vec<ActBannerItem>,
27    ///
28    #[prost(enumeration = "ShowStyle", tag = "2")]
29    pub show_style: i32,
30    ///
31    #[prost(string, tag = "3")]
32    pub title: ::prost::alloc::string::String,
33}
34///
35#[derive(Clone, PartialEq, ::prost::Message)]
36pub struct Activity {
37    ///
38    #[prost(int32, tag = "1")]
39    pub id: i32,
40    ///
41    #[prost(string, tag = "2")]
42    pub title: ::prost::alloc::string::String,
43    ///
44    #[prost(string, tag = "3")]
45    pub link: ::prost::alloc::string::String,
46    ///
47    #[prost(string, tag = "4")]
48    pub cover: ::prost::alloc::string::String,
49    ///
50    #[prost(int32, tag = "5")]
51    pub r#type: i32,
52    ///
53    #[prost(string, tag = "6")]
54    pub ab: ::prost::alloc::string::String,
55    ///
56    #[prost(string, tag = "7")]
57    pub show_name: ::prost::alloc::string::String,
58    ///
59    #[prost(string, tag = "8")]
60    pub picurl: ::prost::alloc::string::String,
61    ///
62    #[prost(string, tag = "9")]
63    pub picurl_selected: ::prost::alloc::string::String,
64    ///
65    #[prost(string, tag = "10")]
66    pub h5_link: ::prost::alloc::string::String,
67    ///
68    #[prost(string, tag = "11")]
69    pub jump_mode: ::prost::alloc::string::String,
70    ///
71    #[prost(message, repeated, tag = "12")]
72    pub items: ::prost::alloc::vec::Vec<Item>,
73}
74///
75#[derive(Clone, PartialEq, ::prost::Message)]
76pub struct ActivityEntrance {
77    ///
78    #[prost(string, tag = "1")]
79    pub activity_cover: ::prost::alloc::string::String,
80    ///
81    #[prost(string, tag = "2")]
82    pub activity_title: ::prost::alloc::string::String,
83    ///
84    #[prost(string, tag = "3")]
85    pub word_tag: ::prost::alloc::string::String,
86    ///
87    #[prost(string, tag = "4")]
88    pub activity_subtitle: ::prost::alloc::string::String,
89    ///
90    #[prost(string, tag = "5")]
91    pub activity_link: ::prost::alloc::string::String,
92    ///
93    #[prost(int32, tag = "6")]
94    pub activity_type: i32,
95    ///
96    #[prost(int32, tag = "7")]
97    pub reserve_id: i32,
98    ///
99    #[prost(int32, tag = "8")]
100    pub status: i32,
101    ///
102    #[prost(message, repeated, tag = "9")]
103    pub upper_list: ::prost::alloc::vec::Vec<User>,
104    ///
105    #[prost(map = "string, string", tag = "10")]
106    pub report: ::std::collections::HashMap<
107        ::prost::alloc::string::String,
108        ::prost::alloc::string::String,
109    >,
110    ///
111    #[prost(map = "string, string", tag = "11")]
112    pub order_report_params: ::std::collections::HashMap<
113        ::prost::alloc::string::String,
114        ::prost::alloc::string::String,
115    >,
116}
117///
118#[derive(Clone, PartialEq, ::prost::Message)]
119pub struct ActivityEntranceModule {
120    ///
121    #[prost(message, repeated, tag = "1")]
122    pub activity_entrance: ::prost::alloc::vec::Vec<ActivityEntrance>,
123}
124///
125#[derive(Clone, PartialEq, ::prost::Message)]
126pub struct ActivityGuidanceBar {
127    ///
128    #[prost(string, tag = "1")]
129    pub win_id: ::prost::alloc::string::String,
130    ///
131    #[prost(bool, tag = "2")]
132    pub login: bool,
133    ///
134    #[prost(string, tag = "3")]
135    pub show_time: ::prost::alloc::string::String,
136    ///
137    #[prost(string, tag = "4")]
138    pub action: ::prost::alloc::string::String,
139    ///
140    #[prost(string, tag = "5")]
141    pub url: ::prost::alloc::string::String,
142    ///
143    #[prost(string, tag = "6")]
144    pub close_type: ::prost::alloc::string::String,
145    ///
146    #[prost(message, optional, tag = "7")]
147    pub images: ::core::option::Option<ImagesWidget>,
148    ///
149    #[prost(message, optional, tag = "8")]
150    pub title: ::core::option::Option<TextWidget>,
151    ///
152    #[prost(message, optional, tag = "9")]
153    pub sub_title: ::core::option::Option<TextWidget>,
154    ///
155    #[prost(message, optional, tag = "10")]
156    pub button: ::core::option::Option<ButtonWidget>,
157    ///
158    #[prost(map = "string, string", tag = "11")]
159    pub report: ::std::collections::HashMap<
160        ::prost::alloc::string::String,
161        ::prost::alloc::string::String,
162    >,
163}
164///
165#[derive(Clone, PartialEq, ::prost::Message)]
166pub struct ActivityIFrame {
167    ///
168    #[prost(string, tag = "1")]
169    pub url: ::prost::alloc::string::String,
170    ///
171    #[prost(double, tag = "2")]
172    pub aspect_ratio: f64,
173}
174///
175#[derive(Clone, PartialEq, ::prost::Message)]
176pub struct ActivityReserve {
177    ///
178    #[prost(string, tag = "1")]
179    pub title: ::prost::alloc::string::String,
180    ///
181    #[prost(message, optional, tag = "2")]
182    pub vt: ::core::option::Option<StatInfo>,
183    ///
184    #[prost(message, optional, tag = "3")]
185    pub danmaku: ::core::option::Option<StatInfo>,
186    ///
187    #[prost(message, optional, tag = "4")]
188    pub button: ::core::option::Option<ReserveButton>,
189}
190///
191#[derive(Clone, PartialEq, ::prost::Message)]
192pub struct ActivityResource {
193    ///
194    #[prost(string, tag = "1")]
195    pub mod_pool_name: ::prost::alloc::string::String,
196    ///
197    #[prost(string, tag = "2")]
198    pub mod_resource_name: ::prost::alloc::string::String,
199}
200///
201#[derive(Clone, PartialEq, ::prost::Message)]
202pub struct ActivityStarRail {
203    ///
204    #[prost(string, tag = "1")]
205    pub pic: ::prost::alloc::string::String,
206    ///
207    #[prost(message, repeated, tag = "2")]
208    pub pic_gallery: ::prost::alloc::vec::Vec<StarRail>,
209}
210///
211#[derive(Clone, PartialEq, ::prost::Message)]
212pub struct ActivityTab {
213    ///
214    #[prost(int32, tag = "1")]
215    pub id: i32,
216    ///
217    #[prost(string, tag = "2")]
218    pub title: ::prost::alloc::string::String,
219    ///
220    #[prost(int32, tag = "3")]
221    pub r#type: i32,
222    ///
223    #[prost(string, tag = "4")]
224    pub show_name: ::prost::alloc::string::String,
225    ///
226    #[prost(string, tag = "5")]
227    pub picurl: ::prost::alloc::string::String,
228    ///
229    #[prost(string, tag = "6")]
230    pub picurl_selected: ::prost::alloc::string::String,
231    ///
232    #[prost(string, tag = "7")]
233    pub h5_link: ::prost::alloc::string::String,
234    ///
235    #[prost(string, tag = "8")]
236    pub link: ::prost::alloc::string::String,
237    ///
238    #[prost(int32, tag = "9")]
239    pub link_type: i32,
240    ///
241    #[prost(int64, tag = "10")]
242    pub biz_key: i64,
243    ///
244    #[prost(string, tag = "11")]
245    pub desc: ::prost::alloc::string::String,
246    ///
247    #[prost(string, tag = "12")]
248    pub act_ext: ::prost::alloc::string::String,
249    ///
250    #[prost(map = "string, string", tag = "13")]
251    pub report: ::std::collections::HashMap<
252        ::prost::alloc::string::String,
253        ::prost::alloc::string::String,
254    >,
255}
256///
257#[derive(Clone, PartialEq, ::prost::Message)]
258pub struct AggEpCard {
259    ///
260    #[prost(string, tag = "1")]
261    pub title: ::prost::alloc::string::String,
262    ///
263    #[prost(string, tag = "2")]
264    pub cover: ::prost::alloc::string::String,
265    ///
266    #[prost(string, tag = "3")]
267    pub icon: ::prost::alloc::string::String,
268    ///
269    #[prost(int32, tag = "4")]
270    pub num: i32,
271    ///
272    #[prost(string, tag = "5")]
273    pub jump_url: ::prost::alloc::string::String,
274}
275///
276#[derive(Clone, PartialEq, ::prost::Message)]
277pub struct AggEps {
278    ///
279    #[prost(message, repeated, tag = "1")]
280    pub agg_ep_cards: ::prost::alloc::vec::Vec<AggEpCard>,
281    ///
282    #[prost(int32, tag = "2")]
283    pub place_index: i32,
284}
285///
286#[derive(Clone, Copy, PartialEq, ::prost::Message)]
287pub struct ArcRights {
288    ///
289    #[prost(bool, tag = "1")]
290    pub is_charging_pay: bool,
291}
292///
293#[derive(Clone, Copy, PartialEq, ::prost::Message)]
294pub struct AttentionRecommend {}
295///
296#[derive(Clone, PartialEq, ::prost::Message)]
297pub struct Audio {
298    ///
299    #[prost(map = "int64, message", tag = "1")]
300    pub audio_info: ::std::collections::HashMap<i64, AudioInfo>,
301}
302///
303#[derive(Clone, PartialEq, ::prost::Message)]
304pub struct AudioInfo {
305    ///
306    #[prost(string, tag = "1")]
307    pub title: ::prost::alloc::string::String,
308    ///
309    #[prost(string, tag = "2")]
310    pub cover_url: ::prost::alloc::string::String,
311    ///
312    #[prost(int64, tag = "3")]
313    pub song_id: i64,
314    ///
315    #[prost(int64, tag = "4")]
316    pub play_count: i64,
317    ///
318    #[prost(int64, tag = "5")]
319    pub reply_count: i64,
320    ///
321    #[prost(int64, tag = "6")]
322    pub upper_id: i64,
323    ///
324    #[prost(string, tag = "7")]
325    pub entrance: ::prost::alloc::string::String,
326    ///
327    #[prost(int64, tag = "8")]
328    pub song_attr: i64,
329}
330///
331#[derive(Clone, PartialEq, ::prost::Message)]
332pub struct Author {
333    ///
334    #[prost(int64, tag = "1")]
335    pub mid: i64,
336    ///
337    #[prost(string, tag = "2")]
338    pub name: ::prost::alloc::string::String,
339}
340///
341#[derive(Clone, PartialEq, ::prost::Message)]
342pub struct BadgeInfo {
343    ///
344    #[prost(string, tag = "1")]
345    pub text: ::prost::alloc::string::String,
346    ///
347    #[prost(string, tag = "2")]
348    pub text_color: ::prost::alloc::string::String,
349    ///
350    #[prost(string, tag = "3")]
351    pub text_color_night: ::prost::alloc::string::String,
352    ///
353    #[prost(string, tag = "4")]
354    pub bg_color: ::prost::alloc::string::String,
355    ///
356    #[prost(string, tag = "5")]
357    pub bg_color_night: ::prost::alloc::string::String,
358    ///
359    #[prost(string, tag = "6")]
360    pub border_color: ::prost::alloc::string::String,
361    ///
362    #[prost(string, tag = "7")]
363    pub border_color_night: ::prost::alloc::string::String,
364    ///
365    #[prost(int32, tag = "8")]
366    pub bg_style: i32,
367    ///
368    #[prost(string, tag = "9")]
369    pub img: ::prost::alloc::string::String,
370    ///
371    #[prost(int32, tag = "10")]
372    pub r#type: i32,
373}
374///
375#[derive(Clone, PartialEq, ::prost::Message)]
376pub struct Banner {
377    ///
378    #[prost(string, tag = "1")]
379    pub title: ::prost::alloc::string::String,
380    ///
381    #[prost(message, repeated, tag = "2")]
382    pub relate_item: ::prost::alloc::vec::Vec<RelateItem>,
383}
384///
385#[derive(Clone, PartialEq, ::prost::Message)]
386pub struct BgInfo {
387    ///
388    #[prost(string, tag = "1")]
389    pub light_short_bg: ::prost::alloc::string::String,
390    ///
391    #[prost(string, tag = "2")]
392    pub dark_short_bg: ::prost::alloc::string::String,
393    ///
394    #[prost(string, tag = "3")]
395    pub light_long_bg: ::prost::alloc::string::String,
396    ///
397    #[prost(string, tag = "4")]
398    pub dark_long_bg: ::prost::alloc::string::String,
399}
400///
401#[derive(Clone, Copy, PartialEq, ::prost::Message)]
402pub struct BizFavParam {
403    ///
404    #[prost(int64, tag = "1")]
405    pub season_id: i64,
406}
407///
408#[derive(Clone, PartialEq, ::prost::Message)]
409pub struct BizReserveActivityParam {
410    ///
411    #[prost(int64, tag = "1")]
412    pub activity_id: i64,
413    ///
414    #[prost(string, tag = "2")]
415    pub from: ::prost::alloc::string::String,
416    ///
417    #[prost(string, tag = "3")]
418    pub r#type: ::prost::alloc::string::String,
419    ///
420    #[prost(int64, tag = "4")]
421    pub oid: i64,
422    ///
423    #[prost(int64, tag = "5")]
424    pub reserve_id: i64,
425}
426///
427#[derive(Clone, PartialEq, ::prost::Message)]
428pub struct Button {
429    ///
430    #[prost(string, tag = "1")]
431    pub title: ::prost::alloc::string::String,
432    ///
433    #[prost(string, tag = "2")]
434    pub left_strikethrough_text: ::prost::alloc::string::String,
435    ///
436    #[prost(string, tag = "3")]
437    pub r#type: ::prost::alloc::string::String,
438    ///
439    #[prost(string, tag = "4")]
440    pub link: ::prost::alloc::string::String,
441    ///
442    #[prost(message, optional, tag = "5")]
443    pub badge_info: ::core::option::Option<BadgeInfo>,
444    ///
445    #[prost(string, tag = "6")]
446    pub sub_title: ::prost::alloc::string::String,
447}
448///
449#[derive(Clone, PartialEq, ::prost::Message)]
450pub struct ButtonWidget {
451    ///
452    #[prost(string, tag = "1")]
453    pub code: ::prost::alloc::string::String,
454    ///
455    #[prost(message, optional, tag = "2")]
456    pub text: ::core::option::Option<TextWidget>,
457    ///
458    #[prost(string, tag = "3")]
459    pub bg_color: ::prost::alloc::string::String,
460    ///
461    #[prost(string, tag = "4")]
462    pub action: ::prost::alloc::string::String,
463    ///
464    #[prost(string, tag = "5")]
465    pub link: ::prost::alloc::string::String,
466}
467///
468#[derive(Clone, PartialEq, ::prost::Message)]
469pub struct CardBasicInfo {
470    ///
471    #[prost(string, tag = "1")]
472    pub title: ::prost::alloc::string::String,
473    ///
474    #[prost(string, tag = "2")]
475    pub desc: ::prost::alloc::string::String,
476    ///
477    #[prost(string, tag = "3")]
478    pub cover: ::prost::alloc::string::String,
479    ///
480    #[prost(string, tag = "4")]
481    pub uri: ::prost::alloc::string::String,
482    ///
483    #[prost(string, tag = "5")]
484    pub track_id: ::prost::alloc::string::String,
485    ///
486    #[prost(string, tag = "6")]
487    pub unique_id: ::prost::alloc::string::String,
488    ///
489    #[prost(int64, tag = "7")]
490    pub from_source_type: i64,
491    ///
492    #[prost(string, tag = "8")]
493    pub from_source_id: ::prost::alloc::string::String,
494    ///
495    #[prost(int64, tag = "9")]
496    pub material_id: i64,
497    ///
498    #[prost(string, tag = "10")]
499    pub cover_gif: ::prost::alloc::string::String,
500    ///
501    #[prost(message, optional, tag = "11")]
502    pub author: ::core::option::Option<Owner>,
503    ///
504    #[prost(int64, tag = "12")]
505    pub id: i64,
506    ///
507    #[prost(string, tag = "13")]
508    pub from: ::prost::alloc::string::String,
509    ///
510    #[prost(string, tag = "14")]
511    pub from_spmid_suffix: ::prost::alloc::string::String,
512    ///
513    #[prost(string, tag = "15")]
514    pub report_flow_data: ::prost::alloc::string::String,
515    ///
516    #[prost(string, tag = "16")]
517    pub cover_right_text: ::prost::alloc::string::String,
518}
519///
520#[derive(Clone, PartialEq, ::prost::Message)]
521pub struct CardStyle {
522    ///
523    #[prost(int32, tag = "1")]
524    pub id: i32,
525    ///
526    #[prost(string, tag = "2")]
527    pub name: ::prost::alloc::string::String,
528}
529///
530#[derive(Clone, PartialEq, ::prost::Message)]
531pub struct CatalogTab {
532    ///
533    #[prost(string, tag = "1")]
534    pub title: ::prost::alloc::string::String,
535}
536///
537#[derive(Clone, PartialEq, ::prost::Message)]
538pub struct Celebrity {
539    ///
540    #[prost(int32, tag = "1")]
541    pub id: i32,
542    ///
543    #[prost(string, tag = "2")]
544    pub name: ::prost::alloc::string::String,
545    ///
546    #[prost(string, tag = "3")]
547    pub role: ::prost::alloc::string::String,
548    ///
549    #[prost(string, tag = "4")]
550    pub avatar: ::prost::alloc::string::String,
551    ///
552    #[prost(string, tag = "5")]
553    pub short_desc: ::prost::alloc::string::String,
554    ///
555    #[prost(string, tag = "6")]
556    pub desc: ::prost::alloc::string::String,
557    ///
558    #[prost(string, tag = "7")]
559    pub character_avatar: ::prost::alloc::string::String,
560    ///
561    #[prost(string, tag = "8")]
562    pub link: ::prost::alloc::string::String,
563    ///
564    #[prost(int64, tag = "9")]
565    pub mid: i64,
566    ///
567    #[prost(int32, tag = "10")]
568    pub is_follow: i32,
569    ///
570    #[prost(string, tag = "11")]
571    pub occupation_name: ::prost::alloc::string::String,
572    ///
573    #[prost(enumeration = "OccupationType", tag = "12")]
574    pub occupation_type: i32,
575    ///
576    #[prost(int32, tag = "13")]
577    pub relate_attr: i32,
578    ///
579    #[prost(string, tag = "14")]
580    pub small_avatar: ::prost::alloc::string::String,
581    ///
582    #[prost(map = "string, string", tag = "15")]
583    pub report: ::std::collections::HashMap<
584        ::prost::alloc::string::String,
585        ::prost::alloc::string::String,
586    >,
587    ///
588    #[prost(message, optional, tag = "16")]
589    pub official: ::core::option::Option<OfficialVerify>,
590}
591///
592#[derive(Clone, PartialEq, ::prost::Message)]
593pub struct CellFluid {
594    ///
595    #[prost(string, tag = "1")]
596    pub top_base_color: ::prost::alloc::string::String,
597    ///
598    #[prost(string, tag = "2")]
599    pub top_split_color: ::prost::alloc::string::String,
600    ///
601    #[prost(string, tag = "3")]
602    pub top_text_color: ::prost::alloc::string::String,
603}
604///
605#[derive(Clone, PartialEq, ::prost::Message)]
606pub struct CharacterGroup {
607    ///
608    #[prost(string, tag = "1")]
609    pub title: ::prost::alloc::string::String,
610    ///
611    #[prost(message, repeated, tag = "2")]
612    pub characters: ::prost::alloc::vec::Vec<Celebrity>,
613}
614///
615#[derive(Clone, PartialEq, ::prost::Message)]
616pub struct Characters {
617    ///
618    #[prost(message, repeated, tag = "1")]
619    pub groups: ::prost::alloc::vec::Vec<CharacterGroup>,
620}
621///
622#[derive(Clone, PartialEq, ::prost::Message)]
623pub struct CoinExtend {
624    ///
625    #[prost(string, tag = "1")]
626    pub coin_app_zip_icon: ::prost::alloc::string::String,
627    ///
628    #[prost(string, tag = "2")]
629    pub coin_app_icon1: ::prost::alloc::string::String,
630    ///
631    #[prost(string, tag = "3")]
632    pub coin_app_icon2: ::prost::alloc::string::String,
633    ///
634    #[prost(string, tag = "4")]
635    pub coin_app_icon3: ::prost::alloc::string::String,
636    ///
637    #[prost(string, tag = "5")]
638    pub coin_app_icon4: ::prost::alloc::string::String,
639}
640///
641#[derive(Clone, PartialEq, ::prost::Message)]
642pub struct CombinationEp {
643    ///
644    #[prost(int32, tag = "1")]
645    pub id: i32,
646    ///
647    #[prost(int32, tag = "2")]
648    pub section_id: i32,
649    ///
650    #[prost(string, tag = "3")]
651    pub title: ::prost::alloc::string::String,
652    ///
653    #[prost(int32, tag = "4")]
654    pub can_ord_desc: i32,
655    ///
656    #[prost(string, tag = "5")]
657    pub more: ::prost::alloc::string::String,
658    ///
659    #[prost(int32, repeated, tag = "6")]
660    pub episode_ids: ::prost::alloc::vec::Vec<i32>,
661    ///
662    #[prost(message, repeated, tag = "7")]
663    pub episodes: ::prost::alloc::vec::Vec<ViewEpisode>,
664    ///
665    #[prost(string, tag = "8")]
666    pub split_text: ::prost::alloc::string::String,
667    ///
668    #[prost(message, optional, tag = "9")]
669    pub module_style: ::core::option::Option<Style>,
670    ///
671    #[prost(message, repeated, tag = "10")]
672    pub serial_season: ::prost::alloc::vec::Vec<SerialSeason>,
673    ///
674    #[prost(message, optional, tag = "11")]
675    pub section_data: ::core::option::Option<SectionData>,
676}
677///
678#[derive(Clone, PartialEq, ::prost::Message)]
679pub struct ContractText {
680    ///
681    #[prost(string, tag = "1")]
682    pub title: ::prost::alloc::string::String,
683    ///
684    #[prost(string, tag = "2")]
685    pub subtitle: ::prost::alloc::string::String,
686}
687///
688#[derive(Clone, PartialEq, ::prost::Message)]
689pub struct Covenanter {
690    ///
691    #[prost(int32, tag = "1")]
692    pub is_follow_display: i32,
693    ///
694    #[prost(message, optional, tag = "2")]
695    pub text: ::core::option::Option<ContractText>,
696    ///
697    #[prost(int32, tag = "3")]
698    pub is_interact_display: i32,
699}
700///
701#[derive(Clone, PartialEq, ::prost::Message)]
702pub struct DeliveryData {
703    ///
704    #[prost(string, tag = "1")]
705    pub title: ::prost::alloc::string::String,
706    ///
707    #[prost(message, optional, tag = "2")]
708    pub module_style: ::core::option::Option<Style>,
709    ///
710    #[prost(string, tag = "3")]
711    pub more: ::prost::alloc::string::String,
712    ///
713    #[prost(int32, tag = "8")]
714    pub id: i32,
715    ///
716    #[prost(map = "string, string", tag = "9")]
717    pub report: ::std::collections::HashMap<
718        ::prost::alloc::string::String,
719        ::prost::alloc::string::String,
720    >,
721    ///
722    #[prost(oneof = "delivery_data::Data", tags = "4, 5, 6, 7, 10")]
723    pub data: ::core::option::Option<delivery_data::Data>,
724}
725/// Nested message and enum types in `DeliveryData`.
726pub mod delivery_data {
727    ///
728    #[derive(Clone, PartialEq, ::prost::Oneof)]
729    pub enum Data {
730        ///
731        #[prost(message, tag = "4")]
732        Activity(super::Activity),
733        ///
734        #[prost(message, tag = "5")]
735        Characters(super::Characters),
736        ///
737        #[prost(message, tag = "6")]
738        TheatreHotTopic(super::TheatreHotTopic),
739        ///
740        #[prost(message, tag = "7")]
741        AggEps(super::AggEps),
742        ///
743        #[prost(message, tag = "10")]
744        ActPageItems(super::ActPageItems),
745    }
746}
747///
748#[derive(Clone, PartialEq, ::prost::Message)]
749pub struct Desc {
750    ///
751    #[prost(string, tag = "1")]
752    pub info: ::prost::alloc::string::String,
753    ///
754    #[prost(string, tag = "2")]
755    pub title: ::prost::alloc::string::String,
756}
757///
758#[derive(Clone, PartialEq, ::prost::Message)]
759pub struct DescV2 {
760    ///
761    #[prost(string, tag = "1")]
762    pub text: ::prost::alloc::string::String,
763    ///
764    #[prost(enumeration = "DescType", tag = "2")]
765    pub r#type: i32,
766    ///
767    #[prost(string, tag = "3")]
768    pub uri: ::prost::alloc::string::String,
769    ///
770    #[prost(int64, tag = "4")]
771    pub rid: i64,
772}
773///
774#[derive(Clone, Copy, PartialEq, ::prost::Message)]
775pub struct Dimension {
776    ///
777    #[prost(int64, tag = "1")]
778    pub width: i64,
779    ///
780    #[prost(int64, tag = "2")]
781    pub height: i64,
782    ///
783    #[prost(int64, tag = "3")]
784    pub rotate: i64,
785}
786///
787#[derive(Clone, PartialEq, ::prost::Message)]
788pub struct DislikeReasons {
789    ///
790    #[prost(int64, tag = "1")]
791    pub id: i64,
792    ///
793    #[prost(int64, tag = "2")]
794    pub mid: i64,
795    ///
796    #[prost(int32, tag = "3")]
797    pub rid: i32,
798    ///
799    #[prost(int64, tag = "4")]
800    pub tag_id: i64,
801    ///
802    #[prost(string, tag = "5")]
803    pub name: ::prost::alloc::string::String,
804}
805///
806#[derive(Clone, PartialEq, ::prost::Message)]
807pub struct EpBgInfo {
808    ///
809    #[prost(message, optional, tag = "1")]
810    pub float_layer: ::core::option::Option<BgInfo>,
811    ///
812    #[prost(message, optional, tag = "2")]
813    pub no_float_layer: ::core::option::Option<BgInfo>,
814}
815///
816#[derive(Clone, PartialEq, ::prost::Message)]
817pub struct ExtTab {
818    ///
819    #[prost(enumeration = "ExtType", tag = "1")]
820    pub ext_type: i32,
821    ///
822    #[prost(string, tag = "2")]
823    pub data: ::prost::alloc::string::String,
824}
825///
826#[derive(Clone, PartialEq, ::prost::Message)]
827pub struct FollowLayer {
828    ///
829    #[prost(message, optional, tag = "1")]
830    pub staff: ::core::option::Option<Staff>,
831    ///
832    #[prost(message, optional, tag = "2")]
833    pub desc: ::core::option::Option<Desc>,
834    ///
835    #[prost(map = "string, string", tag = "3")]
836    pub report: ::std::collections::HashMap<
837        ::prost::alloc::string::String,
838        ::prost::alloc::string::String,
839    >,
840}
841///
842#[derive(Clone, PartialEq, ::prost::Message)]
843pub struct Headline {
844    ///
845    #[prost(message, optional, tag = "1")]
846    pub label: ::core::option::Option<Label>,
847    ///
848    #[prost(string, tag = "2")]
849    pub content: ::prost::alloc::string::String,
850}
851///
852#[derive(Clone, PartialEq, ::prost::Message)]
853pub struct HistoryNode {
854    ///
855    #[prost(int64, tag = "1")]
856    pub node_id: i64,
857    ///
858    #[prost(string, tag = "2")]
859    pub title: ::prost::alloc::string::String,
860    ///
861    #[prost(int64, tag = "3")]
862    pub cid: i64,
863}
864///
865#[derive(Clone, PartialEq, ::prost::Message)]
866pub struct Honor {
867    ///
868    #[prost(string, tag = "1")]
869    pub icon: ::prost::alloc::string::String,
870    ///
871    #[prost(string, tag = "2")]
872    pub icon_night: ::prost::alloc::string::String,
873    ///
874    #[prost(string, tag = "3")]
875    pub text: ::prost::alloc::string::String,
876    ///
877    #[prost(string, tag = "4")]
878    pub text_extra: ::prost::alloc::string::String,
879    ///
880    #[prost(string, tag = "5")]
881    pub text_color: ::prost::alloc::string::String,
882    ///
883    #[prost(string, tag = "6")]
884    pub text_color_night: ::prost::alloc::string::String,
885    ///
886    #[prost(string, tag = "7")]
887    pub bg_color: ::prost::alloc::string::String,
888    ///
889    #[prost(string, tag = "8")]
890    pub bg_color_night: ::prost::alloc::string::String,
891    ///
892    #[prost(string, tag = "9")]
893    pub url: ::prost::alloc::string::String,
894    ///
895    #[prost(string, tag = "10")]
896    pub url_text: ::prost::alloc::string::String,
897    ///
898    #[prost(enumeration = "HonorType", tag = "11")]
899    pub r#type: i32,
900    ///
901    #[prost(enumeration = "HonorJumpType", tag = "12")]
902    pub honor_jump_type: i32,
903    ///
904    #[prost(map = "string, string", tag = "13")]
905    pub report: ::std::collections::HashMap<
906        ::prost::alloc::string::String,
907        ::prost::alloc::string::String,
908    >,
909    ///
910    #[prost(string, tag = "14")]
911    pub end_icon: ::prost::alloc::string::String,
912    ///
913    #[prost(oneof = "honor::Extend", tags = "15")]
914    pub extend: ::core::option::Option<honor::Extend>,
915}
916/// Nested message and enum types in `Honor`.
917pub mod honor {
918    ///
919    #[derive(Clone, PartialEq, ::prost::Oneof)]
920    pub enum Extend {
921        ///
922        #[prost(message, tag = "15")]
923        ProfessionExt(super::ProfessionHonorExtend),
924    }
925}
926///
927#[derive(Clone, PartialEq, ::prost::Message)]
928pub struct IconFont {
929    ///
930    #[prost(string, tag = "1")]
931    pub name: ::prost::alloc::string::String,
932    ///
933    #[prost(string, tag = "2")]
934    pub text: ::prost::alloc::string::String,
935}
936///
937#[derive(Clone, PartialEq, ::prost::Message)]
938pub struct ImagesWidget {
939    ///
940    #[prost(string, tag = "1")]
941    pub code: ::prost::alloc::string::String,
942    ///
943    #[prost(string, repeated, tag = "2")]
944    pub url: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
945}
946///
947#[derive(Clone, PartialEq, ::prost::Message)]
948pub struct Interaction {
949    ///
950    #[prost(int64, tag = "1")]
951    pub ep_id: i64,
952    ///
953    #[prost(message, optional, tag = "2")]
954    pub history_node: ::core::option::Option<HistoryNode>,
955    ///
956    #[prost(int64, tag = "3")]
957    pub graph_version: i64,
958    ///
959    #[prost(string, tag = "4")]
960    pub msg: ::prost::alloc::string::String,
961    ///
962    #[prost(bool, tag = "5")]
963    pub is_interaction: bool,
964}
965///
966#[derive(Clone, PartialEq, ::prost::Message)]
967pub struct Item {
968    ///
969    #[prost(string, tag = "1")]
970    pub link: ::prost::alloc::string::String,
971    ///
972    #[prost(string, tag = "2")]
973    pub cover: ::prost::alloc::string::String,
974}
975///
976#[derive(Clone, PartialEq, ::prost::Message)]
977pub struct KingPos {
978    ///
979    #[prost(bool, tag = "1")]
980    pub disable: bool,
981    ///
982    #[prost(string, tag = "2")]
983    pub icon: ::prost::alloc::string::String,
984    ///
985    #[prost(enumeration = "KingPositionType", tag = "3")]
986    pub r#type: i32,
987    ///
988    #[prost(string, tag = "4")]
989    pub disable_toast: ::prost::alloc::string::String,
990    ///
991    #[prost(string, tag = "5")]
992    pub checked_toast: ::prost::alloc::string::String,
993    ///
994    #[prost(oneof = "king_pos::Extend", tags = "6, 7")]
995    pub extend: ::core::option::Option<king_pos::Extend>,
996}
997/// Nested message and enum types in `KingPos`.
998pub mod king_pos {
999    ///
1000    #[derive(Clone, PartialEq, ::prost::Oneof)]
1001    pub enum Extend {
1002        ///
1003        #[prost(message, tag = "6")]
1004        Like(super::LikeExtend),
1005        ///
1006        #[prost(message, tag = "7")]
1007        Coin(super::CoinExtend),
1008    }
1009}
1010///
1011#[derive(Clone, PartialEq, ::prost::Message)]
1012pub struct KingPosition {
1013    ///
1014    #[prost(message, repeated, tag = "1")]
1015    pub king_pos: ::prost::alloc::vec::Vec<KingPos>,
1016    ///
1017    #[prost(message, repeated, tag = "2")]
1018    pub extend: ::prost::alloc::vec::Vec<KingPos>,
1019}
1020///
1021#[derive(Clone, PartialEq, ::prost::Message)]
1022pub struct Label {
1023    ///
1024    #[prost(int32, tag = "1")]
1025    pub r#type: i32,
1026    ///
1027    #[prost(string, tag = "2")]
1028    pub uri: ::prost::alloc::string::String,
1029    ///
1030    #[prost(string, tag = "3")]
1031    pub icon: ::prost::alloc::string::String,
1032    ///
1033    #[prost(string, tag = "4")]
1034    pub icon_night: ::prost::alloc::string::String,
1035    ///
1036    #[prost(int64, tag = "5")]
1037    pub icon_width: i64,
1038    ///
1039    #[prost(int64, tag = "6")]
1040    pub icon_height: i64,
1041    ///
1042    #[prost(string, tag = "7")]
1043    pub lottie: ::prost::alloc::string::String,
1044    ///
1045    #[prost(string, tag = "8")]
1046    pub lottie_night: ::prost::alloc::string::String,
1047    ///
1048    #[prost(map = "string, string", tag = "9")]
1049    pub report: ::std::collections::HashMap<
1050        ::prost::alloc::string::String,
1051        ::prost::alloc::string::String,
1052    >,
1053}
1054///
1055#[derive(Clone, PartialEq, ::prost::Message)]
1056pub struct LikeComment {
1057    ///
1058    #[prost(string, tag = "1")]
1059    pub reply: ::prost::alloc::string::String,
1060    ///
1061    #[prost(string, tag = "2")]
1062    pub title: ::prost::alloc::string::String,
1063}
1064///
1065#[derive(Clone, PartialEq, ::prost::Message)]
1066pub struct LikeExtend {
1067    ///
1068    #[prost(message, optional, tag = "1")]
1069    pub triple_like: ::core::option::Option<UpLikeImg>,
1070    ///
1071    #[prost(string, tag = "2")]
1072    pub like_animation: ::prost::alloc::string::String,
1073    ///
1074    #[prost(message, optional, tag = "3")]
1075    pub player_animation: ::core::option::Option<PlayerAnimation>,
1076    ///
1077    #[prost(message, optional, tag = "4")]
1078    pub resource: ::core::option::Option<ActivityResource>,
1079}
1080///
1081#[derive(Clone, PartialEq, ::prost::Message)]
1082pub struct Live {
1083    ///
1084    #[prost(int64, tag = "1")]
1085    pub mid: i64,
1086    ///
1087    #[prost(int64, tag = "2")]
1088    pub room_id: i64,
1089    ///
1090    #[prost(string, tag = "3")]
1091    pub uri: ::prost::alloc::string::String,
1092    ///
1093    #[prost(string, tag = "4")]
1094    pub endpage_uri: ::prost::alloc::string::String,
1095}
1096///
1097#[derive(Clone, PartialEq, ::prost::Message)]
1098pub struct LiveOrder {
1099    ///
1100    #[prost(int64, tag = "1")]
1101    pub sid: i64,
1102    ///
1103    #[prost(string, tag = "2")]
1104    pub text: ::prost::alloc::string::String,
1105    ///
1106    #[prost(int64, tag = "3")]
1107    pub live_plan_start_time: i64,
1108    ///
1109    #[prost(bool, tag = "4")]
1110    pub is_follow: bool,
1111    ///
1112    #[prost(int64, tag = "5")]
1113    pub follow_count: i64,
1114    ///
1115    #[prost(message, optional, tag = "6")]
1116    pub reserve_calendar_info: ::core::option::Option<ReserveCalendarInfo>,
1117}
1118///
1119#[derive(Clone, PartialEq, ::prost::Message)]
1120pub struct Merchandise {
1121    ///
1122    #[prost(string, tag = "1")]
1123    pub title: ::prost::alloc::string::String,
1124    ///
1125    #[prost(message, optional, tag = "2")]
1126    pub button: ::core::option::Option<MerchandiseButton>,
1127    ///
1128    #[prost(message, repeated, tag = "3")]
1129    pub card: ::prost::alloc::vec::Vec<MerchandiseCard>,
1130}
1131///
1132#[derive(Clone, PartialEq, ::prost::Message)]
1133pub struct MerchandiseButton {
1134    ///
1135    #[prost(string, tag = "1")]
1136    pub but_title: ::prost::alloc::string::String,
1137    ///
1138    #[prost(string, tag = "2")]
1139    pub but_day_color: ::prost::alloc::string::String,
1140    ///
1141    #[prost(string, tag = "3")]
1142    pub but_night_color: ::prost::alloc::string::String,
1143}
1144///
1145#[derive(Clone, PartialEq, ::prost::Message)]
1146pub struct MerchandiseCard {
1147    ///
1148    #[prost(string, tag = "1")]
1149    pub cover: ::prost::alloc::string::String,
1150    ///
1151    #[prost(string, tag = "2")]
1152    pub title: ::prost::alloc::string::String,
1153    ///
1154    #[prost(message, repeated, tag = "3")]
1155    pub sub_title: ::prost::alloc::vec::Vec<MerchandiseTitle>,
1156    ///
1157    #[prost(message, optional, tag = "4")]
1158    pub button: ::core::option::Option<MerchandiseButton>,
1159    ///
1160    #[prost(message, optional, tag = "5")]
1161    pub source_content: ::core::option::Option<::prost_types::Any>,
1162}
1163///
1164#[derive(Clone, PartialEq, ::prost::Message)]
1165pub struct MerchandiseTitle {
1166    ///
1167    #[prost(string, tag = "1")]
1168    pub title: ::prost::alloc::string::String,
1169    ///
1170    #[prost(string, tag = "2")]
1171    pub day_color: ::prost::alloc::string::String,
1172    ///
1173    #[prost(string, tag = "3")]
1174    pub night_color: ::prost::alloc::string::String,
1175    ///
1176    #[prost(int64, tag = "4")]
1177    pub font_size: i64,
1178    ///
1179    #[prost(int32, tag = "5")]
1180    pub text_decoration: i32,
1181}
1182///
1183#[derive(Clone, PartialEq, ::prost::Message)]
1184pub struct Mine {
1185    ///
1186    #[prost(double, tag = "1")]
1187    pub amount: f64,
1188    ///
1189    #[prost(int32, tag = "2")]
1190    pub rank: i32,
1191    ///
1192    #[prost(string, tag = "3")]
1193    pub msg: ::prost::alloc::string::String,
1194}
1195///
1196#[derive(Clone, PartialEq, ::prost::Message)]
1197pub struct Module {
1198    ///
1199    #[prost(enumeration = "ModuleType", tag = "1")]
1200    pub r#type: i32,
1201    ///
1202    #[prost(
1203        oneof = "module::Data",
1204        tags = "2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47"
1205    )]
1206    pub data: ::core::option::Option<module::Data>,
1207}
1208/// Nested message and enum types in `Module`.
1209pub mod module {
1210    ///
1211    #[derive(Clone, PartialEq, ::prost::Oneof)]
1212    pub enum Data {
1213        ///
1214        #[prost(message, tag = "2")]
1215        OgvIntroduction(super::OgvIntroduction),
1216        ///
1217        #[prost(message, tag = "3")]
1218        UgcIntroduction(super::UgcIntroduction),
1219        ///
1220        #[prost(message, tag = "4")]
1221        KingPosition(super::KingPosition),
1222        ///
1223        #[prost(message, tag = "5")]
1224        HeadLine(super::Headline),
1225        ///
1226        #[prost(message, tag = "6")]
1227        OgvTitle(super::OgvTitle),
1228        ///
1229        #[prost(message, tag = "7")]
1230        Honor(super::Honor),
1231        ///
1232        #[prost(message, tag = "8")]
1233        List(super::UserList),
1234        ///
1235        #[prost(message, tag = "9")]
1236        Staffs(super::Staffs),
1237        ///
1238        #[prost(message, tag = "10")]
1239        ActivityReserve(super::ActivityReserve),
1240        ///
1241        #[prost(message, tag = "11")]
1242        LiveOrder(super::LiveOrder),
1243        ///
1244        #[prost(message, tag = "12")]
1245        SectionData(super::SectionData),
1246        ///
1247        #[prost(message, tag = "13")]
1248        DeliveryData(super::DeliveryData),
1249        ///
1250        #[prost(message, tag = "14")]
1251        FollowLayer(super::FollowLayer),
1252        ///
1253        #[prost(message, tag = "15")]
1254        OgvSeasons(super::OgvSeasons),
1255        ///
1256        #[prost(message, tag = "16")]
1257        UgcSeason(super::UgcSeasons),
1258        ///
1259        #[prost(message, tag = "17")]
1260        OgvLiveReserve(super::OgvLiveReserve),
1261        ///
1262        #[prost(message, tag = "18")]
1263        CombinationEp(super::CombinationEp),
1264        ///
1265        #[prost(message, tag = "19")]
1266        Sponsor(super::Sponsor),
1267        ///
1268        #[prost(message, tag = "20")]
1269        ActivityEntranceModule(super::ActivityEntranceModule),
1270        ///
1271        #[prost(message, tag = "21")]
1272        SerialSeason(super::SerialSeason),
1273        ///
1274        #[prost(message, tag = "22")]
1275        Relates(super::Relates),
1276        ///
1277        #[prost(message, tag = "23")]
1278        Banner(super::Banner),
1279        ///
1280        #[prost(message, tag = "24")]
1281        Audio(super::Audio),
1282        ///
1283        #[prost(message, tag = "25")]
1284        LikeComment(super::LikeComment),
1285        ///
1286        #[prost(message, tag = "26")]
1287        AttentionRecommend(super::AttentionRecommend),
1288        ///
1289        #[prost(message, tag = "27")]
1290        Covenanter(super::Covenanter),
1291        ///
1292        #[prost(message, tag = "28")]
1293        SpecialTag(super::SpecialTag),
1294        ///
1295        #[prost(message, tag = "29")]
1296        UpDataModule(super::UpDataModule),
1297        ///
1298        #[prost(message, tag = "30")]
1299        ProfessionApproval(super::ProfessionApproval),
1300        ///
1301        #[prost(message, tag = "31")]
1302        PugvShoppingNotice(super::PugvShoppingNotice),
1303        ///
1304        #[prost(message, tag = "32")]
1305        PugvFaq(super::PugvFaq),
1306        ///
1307        #[prost(message, tag = "33")]
1308        PugvSeasonDescription(super::PugvSeasonDescription),
1309        ///
1310        #[prost(message, tag = "34")]
1311        PugvSeasonRecommend(super::PugvSeasonRecommend),
1312        ///
1313        #[prost(message, tag = "35")]
1314        PugvSeasonPublisher(super::PugvSeasonPublisher),
1315        ///
1316        #[prost(message, tag = "36")]
1317        PugvSeasonSelection(super::PugvSeasonSelection),
1318        ///
1319        #[prost(message, tag = "37")]
1320        PugvSeasonPrimaryInfo(super::PugvSeasonPrimaryInfo),
1321        ///
1322        #[prost(message, tag = "38")]
1323        PugvCooperationApplication(super::PugvCooperationApplication),
1324        ///
1325        #[prost(message, tag = "39")]
1326        UpVideoTool(super::UpVideoTool),
1327        ///
1328        #[prost(message, tag = "40")]
1329        PugvZone(super::PugvZone),
1330        ///
1331        #[prost(message, tag = "41")]
1332        PugvSeries(super::PugvSeries),
1333        ///
1334        #[prost(message, tag = "42")]
1335        PugvPackage(super::PugvPackage),
1336        ///
1337        #[prost(message, tag = "43")]
1338        ActivityStarRail(super::ActivityStarRail),
1339        ///
1340        #[prost(message, tag = "44")]
1341        ActivityIframe(super::ActivityIFrame),
1342        ///
1343        #[prost(message, tag = "45")]
1344        PlayList(super::PlayList),
1345        ///
1346        #[prost(message, tag = "46")]
1347        Merchandise(super::Merchandise),
1348        ///
1349        #[prost(message, tag = "47")]
1350        ActivityGuidanceBar(super::ActivityGuidanceBar),
1351    }
1352}
1353///
1354#[derive(Clone, Copy, PartialEq, ::prost::Message)]
1355pub struct MultiViewEp {
1356    ///
1357    #[prost(int64, tag = "1")]
1358    pub ep_id: i64,
1359}
1360///
1361#[derive(Clone, PartialEq, ::prost::Message)]
1362pub struct Neutral {
1363    ///
1364    #[prost(string, tag = "1")]
1365    pub icon: ::prost::alloc::string::String,
1366    ///
1367    #[prost(string, tag = "2")]
1368    pub title: ::prost::alloc::string::String,
1369}
1370///
1371#[derive(Clone, PartialEq, ::prost::Message)]
1372pub struct NewEp {
1373    ///
1374    #[prost(int32, tag = "1")]
1375    pub id: i32,
1376    ///
1377    #[prost(string, tag = "2")]
1378    pub title: ::prost::alloc::string::String,
1379    ///
1380    #[prost(string, tag = "3")]
1381    pub desc: ::prost::alloc::string::String,
1382    ///
1383    #[prost(int32, tag = "4")]
1384    pub is_new: i32,
1385    ///
1386    #[prost(string, tag = "5")]
1387    pub more: ::prost::alloc::string::String,
1388    ///
1389    #[prost(string, tag = "6")]
1390    pub cover: ::prost::alloc::string::String,
1391    ///
1392    #[prost(string, tag = "7")]
1393    pub index_show: ::prost::alloc::string::String,
1394}
1395///
1396#[derive(Clone, PartialEq, ::prost::Message)]
1397pub struct OfficialVerify {
1398    ///
1399    #[prost(int32, tag = "1")]
1400    pub r#type: i32,
1401    ///
1402    #[prost(string, tag = "2")]
1403    pub desc: ::prost::alloc::string::String,
1404}
1405///
1406#[derive(Clone, PartialEq, ::prost::Message)]
1407pub struct OgvIntroduction {
1408    ///
1409    #[prost(string, tag = "1")]
1410    pub followers: ::prost::alloc::string::String,
1411    ///
1412    #[prost(string, tag = "2")]
1413    pub score: ::prost::alloc::string::String,
1414    ///
1415    #[prost(message, optional, tag = "3")]
1416    pub play_data: ::core::option::Option<StatInfo>,
1417    ///
1418    #[prost(string, tag = "4")]
1419    pub score_color: ::prost::alloc::string::String,
1420    ///
1421    #[prost(string, tag = "5")]
1422    pub score_night_color: ::prost::alloc::string::String,
1423    ///
1424    #[prost(string, tag = "6")]
1425    pub text_color: ::prost::alloc::string::String,
1426    ///
1427    #[prost(string, tag = "7")]
1428    pub text_night_color: ::prost::alloc::string::String,
1429}
1430///
1431#[derive(Clone, PartialEq, ::prost::Message)]
1432pub struct OgvLiveReserve {
1433    ///
1434    #[prost(int64, tag = "1")]
1435    pub reserve_id: i64,
1436    ///
1437    #[prost(string, tag = "2")]
1438    pub title: ::prost::alloc::string::String,
1439    ///
1440    #[prost(string, tag = "3")]
1441    pub icon: ::prost::alloc::string::String,
1442    ///
1443    #[prost(string, tag = "4")]
1444    pub night_icon: ::prost::alloc::string::String,
1445    ///
1446    #[prost(string, tag = "5")]
1447    pub click_button: ::prost::alloc::string::String,
1448    ///
1449    #[prost(string, tag = "6")]
1450    pub link: ::prost::alloc::string::String,
1451    ///
1452    #[prost(int32, tag = "7")]
1453    pub follow_video_is_reserve_live: i32,
1454    ///
1455    #[prost(string, tag = "8")]
1456    pub bg_color: ::prost::alloc::string::String,
1457    ///
1458    #[prost(string, tag = "9")]
1459    pub night_bg_color: ::prost::alloc::string::String,
1460    ///
1461    #[prost(string, tag = "10")]
1462    pub text_color: ::prost::alloc::string::String,
1463    ///
1464    #[prost(string, tag = "11")]
1465    pub night_text_color: ::prost::alloc::string::String,
1466    ///
1467    #[prost(string, tag = "12")]
1468    pub bt_bg_color: ::prost::alloc::string::String,
1469    ///
1470    #[prost(string, tag = "13")]
1471    pub bt_frame_color: ::prost::alloc::string::String,
1472    ///
1473    #[prost(string, tag = "14")]
1474    pub night_bt_bg_color: ::prost::alloc::string::String,
1475    ///
1476    #[prost(string, tag = "15")]
1477    pub night_bt_frame_color: ::prost::alloc::string::String,
1478    ///
1479    #[prost(int32, tag = "16")]
1480    pub active_type: i32,
1481    ///
1482    #[prost(int32, tag = "17")]
1483    pub reserve_status: i32,
1484    ///
1485    #[prost(string, tag = "18")]
1486    pub bt_text_color: ::prost::alloc::string::String,
1487    ///
1488    #[prost(string, tag = "19")]
1489    pub night_bt_text_color: ::prost::alloc::string::String,
1490    ///
1491    #[prost(map = "string, string", tag = "20")]
1492    pub report: ::std::collections::HashMap<
1493        ::prost::alloc::string::String,
1494        ::prost::alloc::string::String,
1495    >,
1496    ///
1497    #[prost(int32, tag = "21")]
1498    pub live_status: i32,
1499}
1500///
1501#[derive(Clone, PartialEq, ::prost::Message)]
1502pub struct OgvSeasons {
1503    ///
1504    #[prost(string, tag = "1")]
1505    pub title: ::prost::alloc::string::String,
1506    ///
1507    #[prost(message, repeated, tag = "2")]
1508    pub serial_season: ::prost::alloc::vec::Vec<SerialSeason>,
1509    ///
1510    #[prost(enumeration = "SerialSeasonCoverStyle", tag = "3")]
1511    pub style: i32,
1512}
1513///
1514#[derive(Clone, PartialEq, ::prost::Message)]
1515pub struct OgvTitle {
1516    ///
1517    #[prost(string, tag = "1")]
1518    pub title: ::prost::alloc::string::String,
1519    ///
1520    #[prost(message, optional, tag = "2")]
1521    pub badge_info: ::core::option::Option<BadgeInfo>,
1522    ///
1523    #[prost(int32, tag = "3")]
1524    pub is_show_btn_animation: i32,
1525    ///
1526    #[prost(int32, tag = "4")]
1527    pub follow_video_is_reserve_live: i32,
1528    ///
1529    #[prost(int64, tag = "5")]
1530    pub reserve_id: i64,
1531    ///
1532    #[prost(message, optional, tag = "6")]
1533    pub title_delivery_button: ::core::option::Option<TitleDeliveryButton>,
1534    ///
1535    #[prost(message, optional, tag = "7")]
1536    pub channel_redirect_entry_button: ::core::option::Option<TitleDeliveryButton>,
1537    ///
1538    #[prost(string, tag = "8")]
1539    pub title_img: ::prost::alloc::string::String,
1540    ///
1541    #[prost(string, tag = "9")]
1542    pub title_img_night: ::prost::alloc::string::String,
1543    ///
1544    #[prost(int32, tag = "10")]
1545    pub webp_dynamic_pic_title_cycle_num: i32,
1546}
1547///
1548#[derive(Clone, PartialEq, ::prost::Message)]
1549pub struct OperateAction {
1550    ///
1551    #[prost(string, tag = "1")]
1552    pub action: ::prost::alloc::string::String,
1553    ///
1554    #[prost(string, tag = "2")]
1555    pub link: ::prost::alloc::string::String,
1556}
1557///
1558#[derive(Clone, PartialEq, ::prost::Message)]
1559pub struct Owner {
1560    ///
1561    #[prost(message, optional, tag = "1")]
1562    pub avatar: ::core::option::Option<
1563        super::super::super::dagw::component::avatar::v1::AvatarItem,
1564    >,
1565    ///
1566    #[prost(string, tag = "2")]
1567    pub url: ::prost::alloc::string::String,
1568    ///
1569    #[prost(string, tag = "3")]
1570    pub title: ::prost::alloc::string::String,
1571    ///
1572    #[prost(string, tag = "4")]
1573    pub fans: ::prost::alloc::string::String,
1574    ///
1575    #[prost(string, tag = "5")]
1576    pub arc_count: ::prost::alloc::string::String,
1577    ///
1578    #[prost(enumeration = "AttentionRelationStatus", tag = "6")]
1579    pub attention: i32,
1580    ///
1581    #[prost(enumeration = "AttentionRelationStatus", tag = "7")]
1582    pub attention_relation: i32,
1583    ///
1584    #[prost(string, tag = "8")]
1585    pub pub_location: ::prost::alloc::string::String,
1586    ///
1587    #[prost(message, optional, tag = "9")]
1588    pub vip: ::core::option::Option<Vip>,
1589    ///
1590    #[prost(string, tag = "10")]
1591    pub title_url: ::prost::alloc::string::String,
1592    ///
1593    #[prost(string, tag = "11")]
1594    pub face: ::prost::alloc::string::String,
1595    ///
1596    #[prost(int64, tag = "12")]
1597    pub mid: i64,
1598    ///
1599    #[prost(message, optional, tag = "13")]
1600    pub official_verify: ::core::option::Option<OfficialVerify>,
1601    ///
1602    #[prost(message, optional, tag = "14")]
1603    pub live: ::core::option::Option<Live>,
1604    ///
1605    #[prost(int64, tag = "15")]
1606    pub fans_num: i64,
1607    ///
1608    #[prost(int64, repeated, tag = "16")]
1609    pub assists: ::prost::alloc::vec::Vec<i64>,
1610    ///
1611    #[prost(string, tag = "17")]
1612    pub season_count: ::prost::alloc::string::String,
1613    ///
1614    #[prost(message, optional, tag = "18")]
1615    pub name_render: ::core::option::Option<
1616        super::super::super::account::service::v1::NameRender,
1617    >,
1618}
1619///
1620#[derive(Clone, PartialEq, ::prost::Message)]
1621pub struct Page {
1622    ///
1623    #[prost(int64, tag = "1")]
1624    pub cid: i64,
1625    ///
1626    #[prost(string, tag = "2")]
1627    pub part: ::prost::alloc::string::String,
1628    ///
1629    #[prost(int64, tag = "3")]
1630    pub duration: i64,
1631    ///
1632    #[prost(string, tag = "4")]
1633    pub desc: ::prost::alloc::string::String,
1634    ///
1635    #[prost(message, optional, tag = "5")]
1636    pub dimension: ::core::option::Option<Dimension>,
1637    ///
1638    #[prost(string, tag = "6")]
1639    pub dl_title: ::prost::alloc::string::String,
1640    ///
1641    #[prost(string, tag = "7")]
1642    pub dl_subtitle: ::prost::alloc::string::String,
1643}
1644///
1645#[derive(Clone, PartialEq, ::prost::Message)]
1646pub struct Pendant {
1647    ///
1648    #[prost(int32, tag = "1")]
1649    pub pid: i32,
1650    ///
1651    #[prost(string, tag = "2")]
1652    pub name: ::prost::alloc::string::String,
1653    ///
1654    #[prost(string, tag = "3")]
1655    pub image: ::prost::alloc::string::String,
1656}
1657///
1658#[derive(Clone, PartialEq, ::prost::Message)]
1659pub struct PlayList {
1660    ///
1661    #[prost(int32, tag = "1")]
1662    pub id: i32,
1663    ///
1664    #[prost(string, tag = "2")]
1665    pub title: ::prost::alloc::string::String,
1666    ///
1667    #[prost(message, optional, tag = "3")]
1668    pub upper: ::core::option::Option<Owner>,
1669    ///
1670    #[prost(string, tag = "4")]
1671    pub desc: ::prost::alloc::string::String,
1672    ///
1673    #[prost(string, tag = "5")]
1674    pub more_title: ::prost::alloc::string::String,
1675    ///
1676    #[prost(message, repeated, tag = "6")]
1677    pub seasons: ::prost::alloc::vec::Vec<PlayListSeason>,
1678    ///
1679    #[prost(bool, tag = "7")]
1680    pub more_playlist: bool,
1681    ///
1682    #[prost(map = "string, string", tag = "8")]
1683    pub report: ::std::collections::HashMap<
1684        ::prost::alloc::string::String,
1685        ::prost::alloc::string::String,
1686    >,
1687    ///
1688    #[prost(string, tag = "9")]
1689    pub more_playlist_url: ::prost::alloc::string::String,
1690}
1691///
1692#[derive(Clone, PartialEq, ::prost::Message)]
1693pub struct PlayListSeason {
1694    ///
1695    #[prost(int32, tag = "1")]
1696    pub season_id: i32,
1697    ///
1698    #[prost(string, tag = "2")]
1699    pub title: ::prost::alloc::string::String,
1700    ///
1701    #[prost(string, tag = "3")]
1702    pub subtitle: ::prost::alloc::string::String,
1703    ///
1704    #[prost(string, tag = "4")]
1705    pub cover: ::prost::alloc::string::String,
1706    ///
1707    #[prost(string, tag = "5")]
1708    pub link: ::prost::alloc::string::String,
1709    ///
1710    #[prost(string, tag = "6")]
1711    pub score: ::prost::alloc::string::String,
1712    ///
1713    #[prost(map = "string, string", tag = "7")]
1714    pub report: ::std::collections::HashMap<
1715        ::prost::alloc::string::String,
1716        ::prost::alloc::string::String,
1717    >,
1718}
1719///
1720#[derive(Clone, PartialEq, ::prost::Message)]
1721pub struct PlayerAnimation {
1722    ///
1723    #[prost(string, tag = "1")]
1724    pub player_icon: ::prost::alloc::string::String,
1725    ///
1726    #[prost(string, tag = "2")]
1727    pub player_triple_icon: ::prost::alloc::string::String,
1728}
1729///
1730#[derive(Clone, PartialEq, ::prost::Message)]
1731pub struct PointActivity {
1732    ///
1733    #[prost(string, tag = "1")]
1734    pub tip: ::prost::alloc::string::String,
1735    ///
1736    #[prost(string, tag = "2")]
1737    pub content: ::prost::alloc::string::String,
1738    ///
1739    #[prost(string, tag = "3")]
1740    pub link: ::prost::alloc::string::String,
1741}
1742///
1743#[derive(Clone, PartialEq, ::prost::Message)]
1744pub struct PowerIconStyle {
1745    ///
1746    #[prost(string, tag = "1")]
1747    pub icon_url: ::prost::alloc::string::String,
1748    ///
1749    #[prost(string, tag = "2")]
1750    pub icon_night_url: ::prost::alloc::string::String,
1751    ///
1752    #[prost(int64, tag = "3")]
1753    pub icon_width: i64,
1754    ///
1755    #[prost(int64, tag = "4")]
1756    pub icon_height: i64,
1757}
1758///
1759#[derive(Clone, PartialEq, ::prost::Message)]
1760pub struct ProfessionApproval {
1761    ///
1762    #[prost(string, tag = "1")]
1763    pub title: ::prost::alloc::string::String,
1764    ///
1765    #[prost(string, tag = "2")]
1766    pub subtitle: ::prost::alloc::string::String,
1767    ///
1768    #[prost(int32, tag = "3")]
1769    pub r#type: i32,
1770}
1771///
1772#[derive(Clone, PartialEq, ::prost::Message)]
1773pub struct ProfessionHonorExtend {
1774    ///
1775    #[prost(int64, tag = "1")]
1776    pub count: i64,
1777    ///
1778    #[prost(bool, tag = "2")]
1779    pub self_grant: bool,
1780    ///
1781    #[prost(message, optional, tag = "3")]
1782    pub popup: ::core::option::Option<ProfessionPopup>,
1783}
1784///
1785#[derive(Clone, PartialEq, ::prost::Message)]
1786pub struct ProfessionPopup {
1787    ///
1788    #[prost(string, tag = "1")]
1789    pub title: ::prost::alloc::string::String,
1790    ///
1791    #[prost(string, tag = "2")]
1792    pub subtitle: ::prost::alloc::string::String,
1793}
1794///
1795#[derive(Clone, PartialEq, ::prost::Message)]
1796pub struct PugvCooperationApplication {
1797    ///
1798    #[prost(string, tag = "1")]
1799    pub link: ::prost::alloc::string::String,
1800    ///
1801    #[prost(string, tag = "2")]
1802    pub title: ::prost::alloc::string::String,
1803    ///
1804    #[prost(string, tag = "3")]
1805    pub subtitle: ::prost::alloc::string::String,
1806    ///
1807    #[prost(string, tag = "4")]
1808    pub button_text: ::prost::alloc::string::String,
1809    ///
1810    #[prost(string, tag = "5")]
1811    pub icon: ::prost::alloc::string::String,
1812}
1813///
1814#[derive(Clone, PartialEq, ::prost::Message)]
1815pub struct PugvFaq {
1816    ///
1817    #[prost(message, optional, tag = "1")]
1818    pub nav: ::core::option::Option<PugvSeasonNav>,
1819    ///
1820    #[prost(message, repeated, tag = "2")]
1821    pub contents: ::prost::alloc::vec::Vec<PugvFaqContent>,
1822}
1823///
1824#[derive(Clone, PartialEq, ::prost::Message)]
1825pub struct PugvFaqContent {
1826    ///
1827    #[prost(string, tag = "1")]
1828    pub question: ::prost::alloc::string::String,
1829    ///
1830    #[prost(string, tag = "2")]
1831    pub answer: ::prost::alloc::string::String,
1832    ///
1833    #[prost(string, tag = "3")]
1834    pub link: ::prost::alloc::string::String,
1835}
1836///
1837#[derive(Clone, PartialEq, ::prost::Message)]
1838pub struct PugvPackage {
1839    ///
1840    #[prost(message, optional, tag = "1")]
1841    pub nav: ::core::option::Option<PugvSeasonNav>,
1842    ///
1843    #[prost(message, repeated, tag = "2")]
1844    pub contents: ::prost::alloc::vec::Vec<PugvPackageItem>,
1845}
1846///
1847#[derive(Clone, PartialEq, ::prost::Message)]
1848pub struct PugvPackageItem {
1849    ///
1850    #[prost(int64, tag = "1")]
1851    pub product_id: i64,
1852    ///
1853    #[prost(string, tag = "2")]
1854    pub cover: ::prost::alloc::string::String,
1855    ///
1856    #[prost(string, tag = "3")]
1857    pub title: ::prost::alloc::string::String,
1858    ///
1859    #[prost(string, tag = "4")]
1860    pub discount_price_desc: ::prost::alloc::string::String,
1861    ///
1862    #[prost(string, tag = "5")]
1863    pub original_price_desc: ::prost::alloc::string::String,
1864    ///
1865    #[prost(string, tag = "6")]
1866    pub desc: ::prost::alloc::string::String,
1867    ///
1868    #[prost(string, tag = "7")]
1869    pub link: ::prost::alloc::string::String,
1870    ///
1871    #[prost(int64, tag = "8")]
1872    pub season_count: i64,
1873}
1874///
1875#[derive(Clone, PartialEq, ::prost::Message)]
1876pub struct PugvSeasonCooperator {
1877    ///
1878    #[prost(int64, tag = "1")]
1879    pub mid: i64,
1880    ///
1881    #[prost(string, tag = "2")]
1882    pub avatar: ::prost::alloc::string::String,
1883    ///
1884    #[prost(string, tag = "3")]
1885    pub nickname: ::prost::alloc::string::String,
1886    ///
1887    #[prost(bool, tag = "4")]
1888    pub is_owner: bool,
1889    ///
1890    #[prost(string, tag = "5")]
1891    pub role: ::prost::alloc::string::String,
1892    ///
1893    #[prost(string, tag = "6")]
1894    pub user_link: ::prost::alloc::string::String,
1895    ///
1896    #[prost(bool, tag = "7")]
1897    pub followed: bool,
1898}
1899///
1900#[derive(Clone, PartialEq, ::prost::Message)]
1901pub struct PugvSeasonDescription {
1902    ///
1903    #[prost(message, optional, tag = "1")]
1904    pub nav: ::core::option::Option<PugvSeasonNav>,
1905    ///
1906    #[prost(enumeration = "PugvSeasonDescriptionType", tag = "2")]
1907    pub r#type: i32,
1908    ///
1909    #[prost(oneof = "pugv_season_description::Content", tags = "3, 4")]
1910    pub content: ::core::option::Option<pugv_season_description::Content>,
1911}
1912/// Nested message and enum types in `PugvSeasonDescription`.
1913pub mod pugv_season_description {
1914    ///
1915    #[derive(Clone, PartialEq, ::prost::Oneof)]
1916    pub enum Content {
1917        ///
1918        #[prost(message, tag = "3")]
1919        Text(super::PugvSeasonDescriptionText),
1920        ///
1921        #[prost(message, tag = "4")]
1922        Image(super::PugvSeasonDescriptionImage),
1923    }
1924}
1925///
1926#[derive(Clone, PartialEq, ::prost::Message)]
1927pub struct PugvSeasonDescriptionImage {
1928    ///
1929    #[prost(message, repeated, tag = "1")]
1930    pub images: ::prost::alloc::vec::Vec<PugvSeasonDescriptionImageItem>,
1931    ///
1932    #[prost(bool, tag = "2")]
1933    pub folded: bool,
1934    ///
1935    #[prost(double, tag = "3")]
1936    pub fold_ratio: f64,
1937}
1938///
1939#[derive(Clone, PartialEq, ::prost::Message)]
1940pub struct PugvSeasonDescriptionImageItem {
1941    ///
1942    #[prost(string, tag = "1")]
1943    pub image_url: ::prost::alloc::string::String,
1944    ///
1945    #[prost(double, tag = "2")]
1946    pub aspect_ratio: f64,
1947}
1948///
1949#[derive(Clone, PartialEq, ::prost::Message)]
1950pub struct PugvSeasonDescriptionText {
1951    ///
1952    #[prost(string, tag = "1")]
1953    pub text: ::prost::alloc::string::String,
1954}
1955///
1956#[derive(Clone, PartialEq, ::prost::Message)]
1957pub struct PugvSeasonNav {
1958    ///
1959    #[prost(string, tag = "1")]
1960    pub title: ::prost::alloc::string::String,
1961    ///
1962    #[prost(string, tag = "2")]
1963    pub more_text: ::prost::alloc::string::String,
1964    ///
1965    #[prost(string, tag = "3")]
1966    pub desc: ::prost::alloc::string::String,
1967}
1968///
1969#[derive(Clone, PartialEq, ::prost::Message)]
1970pub struct PugvSeasonPrimaryBadge {
1971    ///
1972    #[prost(string, tag = "1")]
1973    pub icon: ::prost::alloc::string::String,
1974    ///
1975    #[prost(string, tag = "2")]
1976    pub link: ::prost::alloc::string::String,
1977}
1978///
1979#[derive(Clone, PartialEq, ::prost::Message)]
1980pub struct PugvSeasonPrimaryCustomInfo {
1981    ///
1982    #[prost(string, tag = "1")]
1983    pub expiry_info: ::prost::alloc::string::String,
1984}
1985///
1986#[derive(Clone, PartialEq, ::prost::Message)]
1987pub struct PugvSeasonPrimaryHotRank {
1988    ///
1989    #[prost(string, tag = "1")]
1990    pub text: ::prost::alloc::string::String,
1991    ///
1992    #[prost(string, tag = "2")]
1993    pub link: ::prost::alloc::string::String,
1994}
1995///
1996#[derive(Clone, PartialEq, ::prost::Message)]
1997pub struct PugvSeasonPrimaryInfo {
1998    ///
1999    #[prost(string, tag = "1")]
2000    pub title: ::prost::alloc::string::String,
2001    ///
2002    #[prost(string, tag = "2")]
2003    pub subtitle: ::prost::alloc::string::String,
2004    ///
2005    #[prost(message, optional, tag = "3")]
2006    pub stat_info: ::core::option::Option<StatInfo>,
2007    ///
2008    #[prost(message, optional, tag = "4")]
2009    pub rank_info: ::core::option::Option<PugvSeasonPrimaryRankInfo>,
2010    ///
2011    #[prost(message, optional, tag = "5")]
2012    pub sell_point_info: ::core::option::Option<PugvSeasonPrimarySellPointInfo>,
2013    ///
2014    #[prost(message, optional, tag = "6")]
2015    pub custom_info: ::core::option::Option<PugvSeasonPrimaryCustomInfo>,
2016    ///
2017    #[prost(bool, tag = "7")]
2018    pub show_payment: bool,
2019    ///
2020    #[prost(message, optional, tag = "8")]
2021    pub badge: ::core::option::Option<PugvSeasonPrimaryBadge>,
2022}
2023///
2024#[derive(Clone, PartialEq, ::prost::Message)]
2025pub struct PugvSeasonPrimaryRankInfo {
2026    ///
2027    #[prost(message, optional, tag = "1")]
2028    pub hot_rank: ::core::option::Option<PugvSeasonPrimaryHotRank>,
2029}
2030///
2031#[derive(Clone, PartialEq, ::prost::Message)]
2032pub struct PugvSeasonPrimarySellPoint {
2033    ///
2034    #[prost(string, tag = "1")]
2035    pub title: ::prost::alloc::string::String,
2036    ///
2037    #[prost(string, tag = "2")]
2038    pub detail: ::prost::alloc::string::String,
2039}
2040///
2041#[derive(Clone, PartialEq, ::prost::Message)]
2042pub struct PugvSeasonPrimarySellPointInfo {
2043    ///
2044    #[prost(enumeration = "PugvSeasonPrimarySellPointType", tag = "1")]
2045    pub r#type: i32,
2046    ///
2047    #[prost(message, repeated, tag = "2")]
2048    pub sell_points: ::prost::alloc::vec::Vec<PugvSeasonPrimarySellPoint>,
2049}
2050///
2051#[derive(Clone, PartialEq, ::prost::Message)]
2052pub struct PugvSeasonPublisher {
2053    ///
2054    #[prost(message, optional, tag = "1")]
2055    pub nav: ::core::option::Option<PugvSeasonNav>,
2056    ///
2057    #[prost(string, tag = "2")]
2058    pub publisher_desc: ::prost::alloc::string::String,
2059    ///
2060    #[prost(message, repeated, tag = "3")]
2061    pub cooperators: ::prost::alloc::vec::Vec<PugvSeasonCooperator>,
2062    ///
2063    #[prost(message, optional, tag = "4")]
2064    pub sku_content: ::core::option::Option<PugvSeasonPublisherSkuContent>,
2065}
2066///
2067#[derive(Clone, PartialEq, ::prost::Message)]
2068pub struct PugvSeasonPublisherSkuContent {
2069    ///
2070    #[prost(string, tag = "1")]
2071    pub title: ::prost::alloc::string::String,
2072    ///
2073    #[prost(message, repeated, tag = "2")]
2074    pub items: ::prost::alloc::vec::Vec<PugvSeasonPublisherSkuContentItem>,
2075}
2076///
2077#[derive(Clone, PartialEq, ::prost::Message)]
2078pub struct PugvSeasonPublisherSkuContentItem {
2079    ///
2080    #[prost(string, tag = "1")]
2081    pub title: ::prost::alloc::string::String,
2082    ///
2083    #[prost(int64, tag = "2")]
2084    pub season_id: i64,
2085    ///
2086    #[prost(bool, tag = "3")]
2087    pub selected: bool,
2088}
2089///
2090#[derive(Clone, PartialEq, ::prost::Message)]
2091pub struct PugvSeasonRecommend {
2092    ///
2093    #[prost(message, optional, tag = "1")]
2094    pub nav: ::core::option::Option<PugvSeasonNav>,
2095    ///
2096    #[prost(message, repeated, tag = "2")]
2097    pub contents: ::prost::alloc::vec::Vec<PugvSeasonRecommendContent>,
2098    ///
2099    #[prost(message, optional, tag = "3")]
2100    pub more_info: ::core::option::Option<PugvSeasonRecommendMore>,
2101    ///
2102    #[prost(enumeration = "PugvSeasonRecommendShowStyle", tag = "4")]
2103    pub show_style: i32,
2104}
2105///
2106#[derive(Clone, PartialEq, ::prost::Message)]
2107pub struct PugvSeasonRecommendContent {
2108    ///
2109    #[prost(string, tag = "1")]
2110    pub cover_url: ::prost::alloc::string::String,
2111    ///
2112    #[prost(string, tag = "2")]
2113    pub title: ::prost::alloc::string::String,
2114    ///
2115    #[prost(string, tag = "3")]
2116    pub subtitle: ::prost::alloc::string::String,
2117    ///
2118    #[prost(string, tag = "4")]
2119    pub link: ::prost::alloc::string::String,
2120    ///
2121    #[prost(string, tag = "5")]
2122    pub desc: ::prost::alloc::string::String,
2123    ///
2124    #[prost(int64, tag = "6")]
2125    pub season_id: i64,
2126    ///
2127    #[prost(string, tag = "7")]
2128    pub author: ::prost::alloc::string::String,
2129    ///
2130    #[prost(message, optional, tag = "8")]
2131    pub view: ::core::option::Option<StatInfo>,
2132    ///
2133    #[prost(message, optional, tag = "9")]
2134    pub rcmd_reason: ::core::option::Option<BadgeInfo>,
2135}
2136///
2137#[derive(Clone, PartialEq, ::prost::Message)]
2138pub struct PugvSeasonRecommendMore {
2139    ///
2140    #[prost(string, tag = "1")]
2141    pub title: ::prost::alloc::string::String,
2142    ///
2143    #[prost(string, tag = "2")]
2144    pub link: ::prost::alloc::string::String,
2145    ///
2146    #[prost(string, tag = "3")]
2147    pub link_text: ::prost::alloc::string::String,
2148}
2149///
2150#[derive(Clone, PartialEq, ::prost::Message)]
2151pub struct PugvSeasonSelection {
2152    ///
2153    #[prost(message, optional, tag = "1")]
2154    pub nav: ::core::option::Option<PugvSeasonNav>,
2155}
2156///
2157#[derive(Clone, PartialEq, ::prost::Message)]
2158pub struct PugvSeries {
2159    ///
2160    #[prost(message, optional, tag = "1")]
2161    pub nav: ::core::option::Option<PugvSeasonNav>,
2162    ///
2163    #[prost(message, repeated, tag = "2")]
2164    pub contents: ::prost::alloc::vec::Vec<PugvSeriesItem>,
2165}
2166///
2167#[derive(Clone, PartialEq, ::prost::Message)]
2168pub struct PugvSeriesItem {
2169    ///
2170    #[prost(int64, tag = "1")]
2171    pub season_id: i64,
2172    ///
2173    #[prost(bool, tag = "2")]
2174    pub selected: bool,
2175    ///
2176    #[prost(bool, tag = "3")]
2177    pub gray: bool,
2178    ///
2179    #[prost(string, tag = "4")]
2180    pub content: ::prost::alloc::string::String,
2181    ///
2182    #[prost(string, tag = "5")]
2183    pub label: ::prost::alloc::string::String,
2184    ///
2185    #[prost(enumeration = "PugvSeriesItemState", tag = "6")]
2186    pub state: i32,
2187}
2188///
2189#[derive(Clone, PartialEq, ::prost::Message)]
2190pub struct PugvShoppingNotice {
2191    ///
2192    #[prost(message, optional, tag = "1")]
2193    pub nav: ::core::option::Option<PugvSeasonNav>,
2194    ///
2195    #[prost(message, repeated, tag = "2")]
2196    pub contents: ::prost::alloc::vec::Vec<PugvShoppingNoticeContent>,
2197    ///
2198    #[prost(string, tag = "3")]
2199    pub link: ::prost::alloc::string::String,
2200}
2201///
2202#[derive(Clone, PartialEq, ::prost::Message)]
2203pub struct PugvShoppingNoticeContent {
2204    ///
2205    #[prost(string, tag = "1")]
2206    pub number: ::prost::alloc::string::String,
2207    ///
2208    #[prost(string, tag = "2")]
2209    pub content: ::prost::alloc::string::String,
2210    ///
2211    #[prost(bool, tag = "3")]
2212    pub is_bold: bool,
2213}
2214///
2215#[derive(Clone, PartialEq, ::prost::Message)]
2216pub struct PugvZone {
2217    ///
2218    #[prost(message, repeated, tag = "1")]
2219    pub contents: ::prost::alloc::vec::Vec<PugvZoneItem>,
2220}
2221///
2222#[derive(Clone, PartialEq, ::prost::Message)]
2223pub struct PugvZoneItem {
2224    ///
2225    #[prost(string, tag = "1")]
2226    pub icon: ::prost::alloc::string::String,
2227    ///
2228    #[prost(string, tag = "2")]
2229    pub link: ::prost::alloc::string::String,
2230    ///
2231    #[prost(string, tag = "3")]
2232    pub title: ::prost::alloc::string::String,
2233    ///
2234    #[prost(string, tag = "4")]
2235    pub subtitle: ::prost::alloc::string::String,
2236    ///
2237    #[prost(enumeration = "PugvZoneItemType", tag = "5")]
2238    pub r#type: i32,
2239}
2240///
2241#[derive(Clone, PartialEq, ::prost::Message)]
2242pub struct Rank {
2243    ///
2244    #[prost(string, tag = "1")]
2245    pub icon: ::prost::alloc::string::String,
2246    ///
2247    #[prost(string, tag = "2")]
2248    pub icon_night: ::prost::alloc::string::String,
2249    ///
2250    #[prost(string, tag = "3")]
2251    pub text: ::prost::alloc::string::String,
2252}
2253///
2254#[derive(Clone, PartialEq, ::prost::Message)]
2255pub struct RankInfo {
2256    ///
2257    #[prost(string, tag = "1")]
2258    pub icon_url_night: ::prost::alloc::string::String,
2259    ///
2260    #[prost(string, tag = "2")]
2261    pub icon_url_day: ::prost::alloc::string::String,
2262    ///
2263    #[prost(string, tag = "3")]
2264    pub bkg_night_color: ::prost::alloc::string::String,
2265    ///
2266    #[prost(string, tag = "4")]
2267    pub bkg_day_color: ::prost::alloc::string::String,
2268    ///
2269    #[prost(string, tag = "5")]
2270    pub font_night_color: ::prost::alloc::string::String,
2271    ///
2272    #[prost(string, tag = "6")]
2273    pub font_day_color: ::prost::alloc::string::String,
2274    ///
2275    #[prost(string, tag = "7")]
2276    pub rank_content: ::prost::alloc::string::String,
2277    ///
2278    #[prost(string, tag = "8")]
2279    pub rank_link: ::prost::alloc::string::String,
2280}
2281///
2282#[derive(Clone, PartialEq, ::prost::Message)]
2283pub struct Rating {
2284    ///
2285    #[prost(string, tag = "1")]
2286    pub score: ::prost::alloc::string::String,
2287    ///
2288    #[prost(int32, tag = "2")]
2289    pub count: i32,
2290}
2291///
2292#[derive(Clone, PartialEq, ::prost::Message)]
2293pub struct RelateAvCard {
2294    ///
2295    #[prost(int64, tag = "1")]
2296    pub duration: i64,
2297    ///
2298    #[prost(int64, tag = "2")]
2299    pub cid: i64,
2300    ///
2301    #[prost(message, optional, tag = "3")]
2302    pub dimension: ::core::option::Option<Dimension>,
2303    ///
2304    #[prost(message, optional, tag = "4")]
2305    pub stat: ::core::option::Option<Stat>,
2306    ///
2307    #[prost(string, tag = "5")]
2308    pub jump_url: ::prost::alloc::string::String,
2309    ///
2310    #[prost(bool, tag = "6")]
2311    pub show_up_name: bool,
2312    ///
2313    #[prost(message, optional, tag = "7")]
2314    pub rcmd_reason: ::core::option::Option<BadgeInfo>,
2315}
2316///
2317#[derive(Clone, PartialEq, ::prost::Message)]
2318pub struct RelateBangumiAvCard {
2319    ///
2320    #[prost(message, optional, tag = "1")]
2321    pub badge: ::core::option::Option<BadgeInfo>,
2322    ///
2323    #[prost(message, optional, tag = "2")]
2324    pub stat: ::core::option::Option<Stat>,
2325    ///
2326    #[prost(message, optional, tag = "3")]
2327    pub rating: ::core::option::Option<Rating>,
2328    ///
2329    #[prost(string, tag = "4")]
2330    pub cover_right_text: ::prost::alloc::string::String,
2331}
2332///
2333#[derive(Clone, PartialEq, ::prost::Message)]
2334pub struct RelateBangumiCard {
2335    ///
2336    #[prost(int32, tag = "1")]
2337    pub season_id: i32,
2338    ///
2339    #[prost(int32, tag = "2")]
2340    pub season_type: i32,
2341    ///
2342    #[prost(message, optional, tag = "3")]
2343    pub new_ep: ::core::option::Option<NewEp>,
2344    ///
2345    #[prost(message, optional, tag = "4")]
2346    pub stat: ::core::option::Option<Stat>,
2347    ///
2348    #[prost(message, optional, tag = "5")]
2349    pub rating: ::core::option::Option<Rating>,
2350    ///
2351    #[prost(string, tag = "6")]
2352    pub rcmd_reason: ::prost::alloc::string::String,
2353    ///
2354    #[prost(message, optional, tag = "7")]
2355    pub badge_info: ::core::option::Option<BadgeInfo>,
2356    ///
2357    #[prost(string, tag = "8")]
2358    pub goto_type: ::prost::alloc::string::String,
2359    ///
2360    #[prost(map = "string, string", tag = "9")]
2361    pub report: ::std::collections::HashMap<
2362        ::prost::alloc::string::String,
2363        ::prost::alloc::string::String,
2364    >,
2365}
2366///
2367#[derive(Clone, PartialEq, ::prost::Message)]
2368pub struct RelateBangumiResourceCard {
2369    ///
2370    #[prost(int32, tag = "1")]
2371    pub r#type: i32,
2372    ///
2373    #[prost(string, tag = "2")]
2374    pub scover: ::prost::alloc::string::String,
2375    ///
2376    #[prost(int32, tag = "3")]
2377    pub re_type: i32,
2378    ///
2379    #[prost(string, tag = "4")]
2380    pub re_value: ::prost::alloc::string::String,
2381    ///
2382    #[prost(string, tag = "5")]
2383    pub corner: ::prost::alloc::string::String,
2384    ///
2385    #[prost(int32, tag = "6")]
2386    pub card: i32,
2387    ///
2388    #[prost(string, tag = "7")]
2389    pub siz: ::prost::alloc::string::String,
2390    ///
2391    #[prost(int32, tag = "8")]
2392    pub position: i32,
2393    ///
2394    #[prost(string, tag = "9")]
2395    pub rcmd_reason: ::prost::alloc::string::String,
2396    ///
2397    #[prost(string, tag = "10")]
2398    pub label: ::prost::alloc::string::String,
2399    ///
2400    #[prost(map = "string, string", tag = "11")]
2401    pub report: ::std::collections::HashMap<
2402        ::prost::alloc::string::String,
2403        ::prost::alloc::string::String,
2404    >,
2405    ///
2406    #[prost(string, tag = "12")]
2407    pub goto_type: ::prost::alloc::string::String,
2408}
2409///
2410#[derive(Clone, PartialEq, ::prost::Message)]
2411pub struct RelateBangumiUgcCard {
2412    ///
2413    #[prost(message, optional, tag = "1")]
2414    pub badge: ::core::option::Option<BadgeInfo>,
2415    ///
2416    #[prost(message, optional, tag = "2")]
2417    pub stat: ::core::option::Option<Stat>,
2418    ///
2419    #[prost(message, optional, tag = "3")]
2420    pub rating: ::core::option::Option<Rating>,
2421}
2422///
2423#[derive(Clone, PartialEq, ::prost::Message)]
2424pub struct RelateCmCard {
2425    ///
2426    #[prost(int64, tag = "1")]
2427    pub aid: i64,
2428    ///
2429    #[prost(message, optional, tag = "2")]
2430    pub source_content: ::core::option::Option<::prost_types::Any>,
2431    ///
2432    #[prost(int64, tag = "3")]
2433    pub duration: i64,
2434    ///
2435    #[prost(message, optional, tag = "4")]
2436    pub stat: ::core::option::Option<Stat>,
2437    ///
2438    #[prost(int32, tag = "5")]
2439    pub nature_ad: i32,
2440}
2441///
2442#[derive(Clone, PartialEq, ::prost::Message)]
2443pub struct RelateCard {
2444    ///
2445    #[prost(enumeration = "RelateCardType", tag = "1")]
2446    pub relate_card_type: i32,
2447    ///
2448    #[prost(message, optional, tag = "10")]
2449    pub three_point: ::core::option::Option<RelateThreePoint>,
2450    ///
2451    #[prost(message, optional, tag = "11")]
2452    pub cm_stock: ::core::option::Option<::prost_types::Any>,
2453    ///
2454    #[prost(message, optional, tag = "12")]
2455    pub basic_info: ::core::option::Option<CardBasicInfo>,
2456    ///
2457    #[prost(oneof = "relate_card::Card", tags = "2, 3, 4, 5, 6, 7, 8, 9, 13, 14, 15")]
2458    pub card: ::core::option::Option<relate_card::Card>,
2459}
2460/// Nested message and enum types in `RelateCard`.
2461pub mod relate_card {
2462    ///
2463    #[derive(Clone, PartialEq, ::prost::Oneof)]
2464    pub enum Card {
2465        ///
2466        #[prost(message, tag = "2")]
2467        Av(super::RelateAvCard),
2468        ///
2469        #[prost(message, tag = "3")]
2470        Bangumi(super::RelateBangumiCard),
2471        ///
2472        #[prost(message, tag = "4")]
2473        Resource(super::RelateBangumiResourceCard),
2474        ///
2475        #[prost(message, tag = "5")]
2476        Game(super::RelateGameCard),
2477        ///
2478        #[prost(message, tag = "6")]
2479        Cm(super::RelateCmCard),
2480        ///
2481        #[prost(message, tag = "7")]
2482        Live(super::RelateLiveCard),
2483        ///
2484        #[prost(message, tag = "8")]
2485        BangumiAv(super::RelateBangumiAvCard),
2486        ///
2487        #[prost(message, tag = "9")]
2488        AiCard(super::RelatedAiCard),
2489        ///
2490        #[prost(message, tag = "13")]
2491        BangumiUgc(super::RelateBangumiUgcCard),
2492        ///
2493        #[prost(message, tag = "14")]
2494        Special(super::RelateSpecial),
2495        ///
2496        #[prost(message, tag = "15")]
2497        Course(super::RelateCourseCard),
2498    }
2499}
2500///
2501#[derive(Clone, PartialEq, ::prost::Message)]
2502pub struct RelateConfig {
2503    ///
2504    #[prost(int64, tag = "1")]
2505    pub valid_show_m: i64,
2506    ///
2507    #[prost(int64, tag = "2")]
2508    pub valid_show_n: i64,
2509    ///
2510    #[prost(message, optional, tag = "3")]
2511    pub pagination: ::core::option::Option<super::super::super::pagination::Pagination>,
2512    ///
2513    #[prost(bool, tag = "4")]
2514    pub can_load_more: bool,
2515}
2516///
2517#[derive(Clone, PartialEq, ::prost::Message)]
2518pub struct RelateCourseCard {
2519    ///
2520    #[prost(int64, tag = "1")]
2521    pub duration: i64,
2522    ///
2523    #[prost(message, optional, tag = "2")]
2524    pub stat: ::core::option::Option<Stat>,
2525    ///
2526    #[prost(message, optional, tag = "3")]
2527    pub rcmd_reason: ::core::option::Option<BadgeInfo>,
2528    ///
2529    #[prost(message, optional, tag = "4")]
2530    pub badge_info: ::core::option::Option<BadgeInfo>,
2531    ///
2532    #[prost(int32, tag = "5")]
2533    pub style: i32,
2534}
2535///
2536#[derive(Clone, PartialEq, ::prost::Message)]
2537pub struct RelateDislike {
2538    ///
2539    #[prost(string, tag = "1")]
2540    pub title: ::prost::alloc::string::String,
2541    ///
2542    #[prost(string, tag = "2")]
2543    pub sub_title: ::prost::alloc::string::String,
2544    ///
2545    #[prost(string, tag = "3")]
2546    pub closed_sub_title: ::prost::alloc::string::String,
2547    ///
2548    #[prost(string, tag = "4")]
2549    pub paste_text: ::prost::alloc::string::String,
2550    ///
2551    #[prost(string, tag = "5")]
2552    pub closed_paste_text: ::prost::alloc::string::String,
2553    ///
2554    #[prost(message, repeated, tag = "6")]
2555    pub dislike_reason: ::prost::alloc::vec::Vec<DislikeReasons>,
2556    ///
2557    #[prost(string, tag = "7")]
2558    pub toast: ::prost::alloc::string::String,
2559    ///
2560    #[prost(string, tag = "8")]
2561    pub closed_toast: ::prost::alloc::string::String,
2562}
2563///
2564#[derive(Clone, PartialEq, ::prost::Message)]
2565pub struct RelateGameCard {
2566    ///
2567    #[prost(int64, tag = "1")]
2568    pub reserve_status: i64,
2569    ///
2570    #[prost(string, tag = "2")]
2571    pub reserve_status_text: ::prost::alloc::string::String,
2572    ///
2573    #[prost(string, tag = "3")]
2574    pub reserve: ::prost::alloc::string::String,
2575    ///
2576    #[prost(float, tag = "4")]
2577    pub rating: f32,
2578    ///
2579    #[prost(string, tag = "5")]
2580    pub tag_name: ::prost::alloc::string::String,
2581    ///
2582    #[prost(message, optional, tag = "6")]
2583    pub rank_info: ::core::option::Option<RankInfo>,
2584    ///
2585    #[prost(message, optional, tag = "7")]
2586    pub pack_info: ::core::option::Option<Button>,
2587    ///
2588    #[prost(message, optional, tag = "8")]
2589    pub notice: ::core::option::Option<Button>,
2590    ///
2591    #[prost(message, optional, tag = "9")]
2592    pub power_icon_style: ::core::option::Option<PowerIconStyle>,
2593    ///
2594    #[prost(string, tag = "10")]
2595    pub game_rcmd_reason: ::prost::alloc::string::String,
2596    ///
2597    #[prost(message, optional, tag = "11")]
2598    pub wiki_info: ::core::option::Option<WikiInfo>,
2599    ///
2600    #[prost(message, optional, tag = "12")]
2601    pub badge: ::core::option::Option<BadgeInfo>,
2602}
2603///
2604#[derive(Clone, PartialEq, ::prost::Message)]
2605pub struct RelateItem {
2606    ///
2607    #[prost(string, tag = "1")]
2608    pub url: ::prost::alloc::string::String,
2609    ///
2610    #[prost(string, tag = "2")]
2611    pub cover: ::prost::alloc::string::String,
2612    ///
2613    #[prost(bool, tag = "3")]
2614    pub use_default_browser: bool,
2615}
2616///
2617#[derive(Clone, PartialEq, ::prost::Message)]
2618pub struct RelateLiveCard {
2619    ///
2620    #[prost(int64, tag = "1")]
2621    pub icon_type: i64,
2622    ///
2623    #[prost(string, tag = "2")]
2624    pub area_name: ::prost::alloc::string::String,
2625    ///
2626    #[prost(int64, tag = "3")]
2627    pub watched_show: i64,
2628    ///
2629    #[prost(int64, tag = "4")]
2630    pub live_status: i64,
2631    ///
2632    #[prost(message, optional, tag = "5")]
2633    pub rcmd_reason: ::core::option::Option<BadgeInfo>,
2634    ///
2635    #[prost(string, tag = "6")]
2636    pub live_new_style: ::prost::alloc::string::String,
2637    ///
2638    #[prost(message, optional, tag = "7")]
2639    pub stat_info: ::core::option::Option<StatInfo>,
2640}
2641///
2642#[derive(Clone, PartialEq, ::prost::Message)]
2643pub struct RelateSpecial {
2644    ///
2645    #[prost(message, optional, tag = "1")]
2646    pub badge: ::core::option::Option<BadgeInfo>,
2647    ///
2648    #[prost(message, optional, tag = "2")]
2649    pub rcmd_reason: ::core::option::Option<BadgeInfo>,
2650}
2651///
2652#[derive(Clone, PartialEq, ::prost::Message)]
2653pub struct RelateThreePoint {
2654    ///
2655    #[prost(message, optional, tag = "1")]
2656    pub dislike: ::core::option::Option<RelateDislike>,
2657    ///
2658    #[prost(message, optional, tag = "2")]
2659    pub feedback: ::core::option::Option<RelateDislike>,
2660    ///
2661    #[prost(bool, tag = "3")]
2662    pub watch_later: bool,
2663    ///
2664    #[prost(string, tag = "4")]
2665    pub dislike_report_data: ::prost::alloc::string::String,
2666}
2667///
2668#[derive(Clone, PartialEq, ::prost::Message)]
2669pub struct RelatedAiCard {
2670    ///
2671    #[prost(int64, tag = "1")]
2672    pub aid: i64,
2673    ///
2674    #[prost(int64, tag = "2")]
2675    pub duration: i64,
2676    ///
2677    #[prost(message, optional, tag = "3")]
2678    pub up_info: ::core::option::Option<Staff>,
2679    ///
2680    #[prost(message, optional, tag = "4")]
2681    pub stat: ::core::option::Option<Stat>,
2682    ///
2683    #[prost(map = "string, string", tag = "5")]
2684    pub report: ::std::collections::HashMap<
2685        ::prost::alloc::string::String,
2686        ::prost::alloc::string::String,
2687    >,
2688    ///
2689    #[prost(string, tag = "6")]
2690    pub goto_type: ::prost::alloc::string::String,
2691}
2692///
2693#[derive(Clone, PartialEq, ::prost::Message)]
2694pub struct Relates {
2695    ///
2696    #[prost(message, repeated, tag = "1")]
2697    pub cards: ::prost::alloc::vec::Vec<RelateCard>,
2698    ///
2699    #[prost(message, optional, tag = "2")]
2700    pub config: ::core::option::Option<RelateConfig>,
2701}
2702///
2703#[derive(Clone, PartialEq, ::prost::Message)]
2704pub struct ReserveButton {
2705    ///
2706    #[prost(bool, tag = "1")]
2707    pub status: bool,
2708    ///
2709    #[prost(string, tag = "3")]
2710    pub text: ::prost::alloc::string::String,
2711    ///
2712    #[prost(string, tag = "4")]
2713    pub selected_text: ::prost::alloc::string::String,
2714    ///
2715    #[prost(enumeration = "ReserveBizType", tag = "7")]
2716    pub order_type: i32,
2717    ///
2718    #[prost(oneof = "reserve_button::OrderParam", tags = "8, 9")]
2719    pub order_param: ::core::option::Option<reserve_button::OrderParam>,
2720}
2721/// Nested message and enum types in `ReserveButton`.
2722pub mod reserve_button {
2723    ///
2724    #[derive(Clone, PartialEq, ::prost::Oneof)]
2725    pub enum OrderParam {
2726        ///
2727        #[prost(message, tag = "8")]
2728        Reserve(super::BizReserveActivityParam),
2729        ///
2730        #[prost(message, tag = "9")]
2731        Fav(super::BizFavParam),
2732    }
2733}
2734///
2735#[derive(Clone, PartialEq, ::prost::Message)]
2736pub struct ReserveCalendarInfo {
2737    ///
2738    #[prost(string, tag = "1")]
2739    pub title: ::prost::alloc::string::String,
2740    ///
2741    #[prost(int64, tag = "2")]
2742    pub start_ts: i64,
2743    ///
2744    #[prost(int64, tag = "3")]
2745    pub end_ts: i64,
2746    ///
2747    #[prost(string, tag = "4")]
2748    pub description: ::prost::alloc::string::String,
2749    ///
2750    #[prost(string, tag = "5")]
2751    pub business_id: ::prost::alloc::string::String,
2752}
2753///
2754#[derive(Clone, PartialEq, ::prost::Message)]
2755pub struct Rights {
2756    ///
2757    #[prost(int32, tag = "1")]
2758    pub allow_download: i32,
2759    ///
2760    #[prost(int32, tag = "2")]
2761    pub allow_review: i32,
2762    ///
2763    #[prost(int32, tag = "3")]
2764    pub can_watch: i32,
2765    ///
2766    #[prost(string, tag = "4")]
2767    pub resource: ::prost::alloc::string::String,
2768    ///
2769    #[prost(int32, tag = "5")]
2770    pub allow_dm: i32,
2771    ///
2772    #[prost(int32, tag = "6")]
2773    pub allow_demand: i32,
2774    ///
2775    #[prost(int32, tag = "7")]
2776    pub area_limit: i32,
2777}
2778///
2779#[derive(Clone, PartialEq, ::prost::Message)]
2780pub struct SeasonHead {
2781    ///
2782    #[prost(string, tag = "1")]
2783    pub title: ::prost::alloc::string::String,
2784    ///
2785    #[prost(string, tag = "2")]
2786    pub intro: ::prost::alloc::string::String,
2787    ///
2788    #[prost(message, optional, tag = "3")]
2789    pub vt: ::core::option::Option<StatInfo>,
2790    ///
2791    #[prost(message, optional, tag = "4")]
2792    pub danmaku: ::core::option::Option<StatInfo>,
2793}
2794///
2795#[derive(Clone, PartialEq, ::prost::Message)]
2796pub struct SeasonShow {
2797    ///
2798    #[prost(string, tag = "1")]
2799    pub button_text: ::prost::alloc::string::String,
2800    ///
2801    #[prost(string, tag = "2")]
2802    pub join_text: ::prost::alloc::string::String,
2803    ///
2804    #[prost(string, tag = "3")]
2805    pub rule_text: ::prost::alloc::string::String,
2806    ///
2807    #[prost(string, tag = "4")]
2808    pub checkin_text: ::prost::alloc::string::String,
2809    ///
2810    #[prost(string, tag = "5")]
2811    pub checkin_prompt: ::prost::alloc::string::String,
2812}
2813///
2814#[derive(Clone, PartialEq, ::prost::Message)]
2815pub struct SectionData {
2816    ///
2817    #[prost(int32, tag = "1")]
2818    pub id: i32,
2819    ///
2820    #[prost(int32, tag = "2")]
2821    pub section_id: i32,
2822    ///
2823    #[prost(string, tag = "3")]
2824    pub title: ::prost::alloc::string::String,
2825    ///
2826    #[prost(int32, tag = "4")]
2827    pub can_ord_desc: i32,
2828    ///
2829    #[prost(string, tag = "5")]
2830    pub more: ::prost::alloc::string::String,
2831    ///
2832    #[prost(int32, repeated, tag = "6")]
2833    pub episode_ids: ::prost::alloc::vec::Vec<i32>,
2834    ///
2835    #[prost(message, repeated, tag = "7")]
2836    pub episodes: ::prost::alloc::vec::Vec<ViewEpisode>,
2837    ///
2838    #[prost(string, tag = "8")]
2839    pub split_text: ::prost::alloc::string::String,
2840    ///
2841    #[prost(message, optional, tag = "9")]
2842    pub module_style: ::core::option::Option<Style>,
2843    ///
2844    #[prost(string, tag = "10")]
2845    pub more_bottom_desc: ::prost::alloc::string::String,
2846    ///
2847    #[prost(message, repeated, tag = "11")]
2848    pub seasons: ::prost::alloc::vec::Vec<SerialSeason>,
2849    ///
2850    #[prost(message, optional, tag = "12")]
2851    pub more_left: ::core::option::Option<Button>,
2852    ///
2853    #[prost(int32, tag = "13")]
2854    pub r#type: i32,
2855    ///
2856    #[prost(map = "string, string", tag = "14")]
2857    pub report: ::std::collections::HashMap<
2858        ::prost::alloc::string::String,
2859        ::prost::alloc::string::String,
2860    >,
2861    ///
2862    #[prost(message, optional, tag = "15")]
2863    pub bg_info: ::core::option::Option<EpBgInfo>,
2864}
2865///
2866#[derive(Clone, PartialEq, ::prost::Message)]
2867pub struct SerialSeason {
2868    ///
2869    #[prost(int32, tag = "1")]
2870    pub season_id: i32,
2871    ///
2872    #[prost(string, tag = "2")]
2873    pub title: ::prost::alloc::string::String,
2874    ///
2875    #[prost(string, tag = "3")]
2876    pub season_title: ::prost::alloc::string::String,
2877    ///
2878    #[prost(int32, tag = "4")]
2879    pub is_new: i32,
2880    ///
2881    #[prost(string, tag = "5")]
2882    pub cover: ::prost::alloc::string::String,
2883    ///
2884    #[prost(string, tag = "6")]
2885    pub badge: ::prost::alloc::string::String,
2886    ///
2887    #[prost(int32, tag = "7")]
2888    pub badge_type: i32,
2889    ///
2890    #[prost(message, optional, tag = "8")]
2891    pub badge_info: ::core::option::Option<BadgeInfo>,
2892    ///
2893    #[prost(string, tag = "9")]
2894    pub link: ::prost::alloc::string::String,
2895    ///
2896    #[prost(string, tag = "10")]
2897    pub resource: ::prost::alloc::string::String,
2898    ///
2899    #[prost(message, optional, tag = "11")]
2900    pub new_ep: ::core::option::Option<NewEp>,
2901    ///
2902    #[prost(map = "string, string", tag = "12")]
2903    pub report: ::std::collections::HashMap<
2904        ::prost::alloc::string::String,
2905        ::prost::alloc::string::String,
2906    >,
2907}
2908///
2909#[derive(Clone, Copy, PartialEq, ::prost::Message)]
2910pub struct SkipRange {
2911    ///
2912    #[prost(int32, tag = "1")]
2913    pub start: i32,
2914    ///
2915    #[prost(int32, tag = "2")]
2916    pub end: i32,
2917}
2918///
2919#[derive(Clone, PartialEq, ::prost::Message)]
2920pub struct SpecialCell {
2921    ///
2922    #[prost(string, tag = "1")]
2923    pub icon: ::prost::alloc::string::String,
2924    ///
2925    #[prost(string, tag = "2")]
2926    pub icon_night: ::prost::alloc::string::String,
2927    ///
2928    #[prost(string, tag = "3")]
2929    pub text: ::prost::alloc::string::String,
2930    ///
2931    #[prost(string, tag = "4")]
2932    pub text_color: ::prost::alloc::string::String,
2933    ///
2934    #[prost(string, tag = "5")]
2935    pub text_color_night: ::prost::alloc::string::String,
2936    ///
2937    #[prost(string, tag = "6")]
2938    pub jump_url: ::prost::alloc::string::String,
2939    ///
2940    #[prost(string, tag = "7")]
2941    pub cell_type: ::prost::alloc::string::String,
2942    ///
2943    #[prost(string, tag = "8")]
2944    pub cell_bgcolor: ::prost::alloc::string::String,
2945    ///
2946    #[prost(string, tag = "9")]
2947    pub cell_bgcolor_night: ::prost::alloc::string::String,
2948    ///
2949    #[prost(string, tag = "10")]
2950    pub param: ::prost::alloc::string::String,
2951    ///
2952    #[prost(string, tag = "11")]
2953    pub page_title: ::prost::alloc::string::String,
2954    ///
2955    #[prost(string, tag = "12")]
2956    pub jump_type: ::prost::alloc::string::String,
2957    ///
2958    #[prost(string, tag = "13")]
2959    pub end_icon: ::prost::alloc::string::String,
2960    ///
2961    #[prost(string, tag = "14")]
2962    pub end_icon_night: ::prost::alloc::string::String,
2963    ///
2964    #[prost(message, optional, tag = "15")]
2965    pub cell_fluid: ::core::option::Option<CellFluid>,
2966    ///
2967    #[prost(map = "string, string", tag = "16")]
2968    pub report: ::std::collections::HashMap<
2969        ::prost::alloc::string::String,
2970        ::prost::alloc::string::String,
2971    >,
2972}
2973///
2974#[derive(Clone, PartialEq, ::prost::Message)]
2975pub struct SpecialTag {
2976    ///
2977    #[prost(message, repeated, tag = "1")]
2978    pub special_cell: ::prost::alloc::vec::Vec<SpecialCell>,
2979    ///
2980    #[prost(bool, tag = "2")]
2981    pub refresh: bool,
2982}
2983///
2984#[derive(Clone, PartialEq, ::prost::Message)]
2985pub struct Sponsor {
2986    ///
2987    #[prost(int64, tag = "1")]
2988    pub total: i64,
2989    ///
2990    #[prost(int64, tag = "2")]
2991    pub week: i64,
2992    ///
2993    #[prost(message, repeated, tag = "3")]
2994    pub rank_list: ::prost::alloc::vec::Vec<SponsorRank>,
2995    ///
2996    #[prost(message, optional, tag = "4")]
2997    pub mine: ::core::option::Option<Mine>,
2998    ///
2999    #[prost(message, optional, tag = "5")]
3000    pub point_activity: ::core::option::Option<PointActivity>,
3001    ///
3002    #[prost(message, repeated, tag = "6")]
3003    pub pendants: ::prost::alloc::vec::Vec<Pendant>,
3004    ///
3005    #[prost(message, repeated, tag = "7")]
3006    pub threshold: ::prost::alloc::vec::Vec<Threshold>,
3007}
3008///
3009#[derive(Clone, PartialEq, ::prost::Message)]
3010pub struct SponsorRank {
3011    ///
3012    #[prost(int64, tag = "1")]
3013    pub uid: i64,
3014    ///
3015    #[prost(string, tag = "2")]
3016    pub msg: ::prost::alloc::string::String,
3017    ///
3018    #[prost(string, tag = "3")]
3019    pub uname: ::prost::alloc::string::String,
3020    ///
3021    #[prost(string, tag = "4")]
3022    pub face: ::prost::alloc::string::String,
3023    ///
3024    #[prost(message, optional, tag = "5")]
3025    pub vip: ::core::option::Option<Vip>,
3026}
3027///
3028#[derive(Clone, PartialEq, ::prost::Message)]
3029pub struct Staff {
3030    ///
3031    #[prost(int64, tag = "1")]
3032    pub mid: i64,
3033    ///
3034    #[prost(int32, tag = "2")]
3035    pub attention: i32,
3036    ///
3037    #[prost(string, tag = "3")]
3038    pub title: ::prost::alloc::string::String,
3039    ///
3040    #[prost(string, tag = "4")]
3041    pub name: ::prost::alloc::string::String,
3042    ///
3043    #[prost(string, tag = "5")]
3044    pub face: ::prost::alloc::string::String,
3045    ///
3046    #[prost(message, optional, tag = "6")]
3047    pub official: ::core::option::Option<OfficialVerify>,
3048    ///
3049    #[prost(message, optional, tag = "7")]
3050    pub vip: ::core::option::Option<Vip>,
3051    ///
3052    #[prost(int32, tag = "8")]
3053    pub label_style: i32,
3054    ///
3055    #[prost(string, tag = "9")]
3056    pub fans: ::prost::alloc::string::String,
3057    ///
3058    #[prost(message, optional, tag = "10")]
3059    pub name_render: ::core::option::Option<
3060        super::super::super::account::service::v1::NameRender,
3061    >,
3062}
3063///
3064#[derive(Clone, PartialEq, ::prost::Message)]
3065pub struct Staffs {
3066    ///
3067    #[prost(message, repeated, tag = "1")]
3068    pub staff: ::prost::alloc::vec::Vec<Staff>,
3069    ///
3070    #[prost(string, tag = "2")]
3071    pub title: ::prost::alloc::string::String,
3072}
3073///
3074#[derive(Clone, PartialEq, ::prost::Message)]
3075pub struct StarRail {
3076    ///
3077    #[prost(int64, tag = "1")]
3078    pub season_id: i64,
3079    ///
3080    #[prost(int64, tag = "2")]
3081    pub aid: i64,
3082    ///
3083    #[prost(int64, tag = "3")]
3084    pub cid: i64,
3085    ///
3086    #[prost(int64, tag = "4")]
3087    pub open_time: i64,
3088    ///
3089    #[prost(int32, tag = "5")]
3090    pub status: i32,
3091    ///
3092    #[prost(string, tag = "6")]
3093    pub pic1: ::prost::alloc::string::String,
3094    ///
3095    #[prost(string, tag = "7")]
3096    pub pic2: ::prost::alloc::string::String,
3097    ///
3098    #[prost(string, tag = "8")]
3099    pub pic3: ::prost::alloc::string::String,
3100    ///
3101    #[prost(string, tag = "9")]
3102    pub pic4: ::prost::alloc::string::String,
3103    ///
3104    #[prost(string, tag = "10")]
3105    pub pic5: ::prost::alloc::string::String,
3106}
3107///
3108#[derive(Clone, PartialEq, ::prost::Message)]
3109pub struct Stat {
3110    ///
3111    #[prost(message, optional, tag = "1")]
3112    pub vt: ::core::option::Option<StatInfo>,
3113    ///
3114    #[prost(message, optional, tag = "2")]
3115    pub danmaku: ::core::option::Option<StatInfo>,
3116    ///
3117    #[prost(int64, tag = "3")]
3118    pub reply: i64,
3119    ///
3120    #[prost(int64, tag = "4")]
3121    pub fav: i64,
3122    ///
3123    #[prost(int64, tag = "5")]
3124    pub coin: i64,
3125    ///
3126    #[prost(int64, tag = "6")]
3127    pub share: i64,
3128    ///
3129    #[prost(int64, tag = "7")]
3130    pub like: i64,
3131    ///
3132    #[prost(int64, tag = "8")]
3133    pub follow: i64,
3134}
3135///
3136#[derive(Clone, PartialEq, ::prost::Message)]
3137pub struct StatInfo {
3138    ///
3139    #[prost(int64, tag = "1")]
3140    pub value: i64,
3141    ///
3142    #[prost(string, tag = "2")]
3143    pub text: ::prost::alloc::string::String,
3144    ///
3145    #[prost(string, tag = "3")]
3146    pub pure_text: ::prost::alloc::string::String,
3147    ///
3148    #[prost(string, tag = "4")]
3149    pub icon: ::prost::alloc::string::String,
3150}
3151///
3152#[derive(Clone, PartialEq, ::prost::Message)]
3153pub struct Style {
3154    ///
3155    #[prost(int32, tag = "1")]
3156    pub line: i32,
3157    ///
3158    #[prost(int32, tag = "2")]
3159    pub hidden: i32,
3160    ///
3161    #[prost(string, repeated, tag = "3")]
3162    pub show_pages: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
3163}
3164///
3165#[derive(Clone, PartialEq, ::prost::Message)]
3166pub struct Tag {
3167    ///
3168    #[prost(int64, tag = "1")]
3169    pub tag_id: i64,
3170    ///
3171    #[prost(string, tag = "2")]
3172    pub name: ::prost::alloc::string::String,
3173    ///
3174    #[prost(string, tag = "3")]
3175    pub uri: ::prost::alloc::string::String,
3176    ///
3177    #[prost(string, tag = "4")]
3178    pub tag_type: ::prost::alloc::string::String,
3179}
3180///
3181#[derive(Clone, PartialEq, ::prost::Message)]
3182pub struct TextWidget {
3183    ///
3184    #[prost(string, tag = "1")]
3185    pub code: ::prost::alloc::string::String,
3186    ///
3187    #[prost(string, tag = "2")]
3188    pub text: ::prost::alloc::string::String,
3189    ///
3190    #[prost(string, tag = "3")]
3191    pub text_color: ::prost::alloc::string::String,
3192    ///
3193    #[prost(string, tag = "4")]
3194    pub bg_color: ::prost::alloc::string::String,
3195}
3196///
3197#[derive(Clone, PartialEq, ::prost::Message)]
3198pub struct TheatreHotTopic {
3199    ///
3200    #[prost(int64, tag = "1")]
3201    pub theatre_id: i64,
3202    ///
3203    #[prost(int64, tag = "2")]
3204    pub theatre_set_id: i64,
3205    ///
3206    #[prost(string, tag = "3")]
3207    pub theatre_title: ::prost::alloc::string::String,
3208    ///
3209    #[prost(string, tag = "4")]
3210    pub background_image_url: ::prost::alloc::string::String,
3211    ///
3212    #[prost(string, tag = "5")]
3213    pub theatre_url: ::prost::alloc::string::String,
3214    ///
3215    #[prost(int64, tag = "6")]
3216    pub hot_topic_id: i64,
3217    ///
3218    #[prost(int64, tag = "7")]
3219    pub hot_topic_set_id: i64,
3220    ///
3221    #[prost(string, tag = "8")]
3222    pub hot_topic_title: ::prost::alloc::string::String,
3223    ///
3224    #[prost(string, tag = "9")]
3225    pub hot_topic_url: ::prost::alloc::string::String,
3226    ///
3227    #[prost(int32, tag = "10")]
3228    pub is_subscribe: i32,
3229    ///
3230    #[prost(map = "string, string", tag = "11")]
3231    pub report: ::std::collections::HashMap<
3232        ::prost::alloc::string::String,
3233        ::prost::alloc::string::String,
3234    >,
3235}
3236///
3237#[derive(Clone, PartialEq, ::prost::Message)]
3238pub struct Threshold {
3239    ///
3240    #[prost(int32, tag = "1")]
3241    pub bp: i32,
3242    ///
3243    #[prost(int32, tag = "2")]
3244    pub days: i32,
3245    ///
3246    #[prost(string, tag = "3")]
3247    pub days_text: ::prost::alloc::string::String,
3248}
3249///
3250#[derive(Clone, PartialEq, ::prost::Message)]
3251pub struct TitleDeliveryButton {
3252    ///
3253    #[prost(string, tag = "1")]
3254    pub icon: ::prost::alloc::string::String,
3255    ///
3256    #[prost(string, tag = "2")]
3257    pub title: ::prost::alloc::string::String,
3258    ///
3259    #[prost(string, tag = "3")]
3260    pub link: ::prost::alloc::string::String,
3261    ///
3262    #[prost(map = "string, string", tag = "4")]
3263    pub report: ::std::collections::HashMap<
3264        ::prost::alloc::string::String,
3265        ::prost::alloc::string::String,
3266    >,
3267    ///
3268    #[prost(string, tag = "5")]
3269    pub bubble: ::prost::alloc::string::String,
3270}
3271///
3272#[derive(Clone, PartialEq, ::prost::Message)]
3273pub struct UgcEpisode {
3274    ///
3275    #[prost(int64, tag = "1")]
3276    pub id: i64,
3277    ///
3278    #[prost(int64, tag = "2")]
3279    pub aid: i64,
3280    ///
3281    #[prost(int64, tag = "3")]
3282    pub cid: i64,
3283    ///
3284    #[prost(string, tag = "4")]
3285    pub title: ::prost::alloc::string::String,
3286    ///
3287    #[prost(string, tag = "5")]
3288    pub cover: ::prost::alloc::string::String,
3289    ///
3290    #[prost(string, tag = "6")]
3291    pub cover_right_text: ::prost::alloc::string::String,
3292    ///
3293    #[prost(message, optional, tag = "7")]
3294    pub page: ::core::option::Option<Page>,
3295    ///
3296    #[prost(message, optional, tag = "8")]
3297    pub vt: ::core::option::Option<StatInfo>,
3298    ///
3299    #[prost(message, optional, tag = "9")]
3300    pub danmaku: ::core::option::Option<StatInfo>,
3301    ///
3302    #[prost(message, optional, tag = "10")]
3303    pub badge: ::core::option::Option<BadgeInfo>,
3304    ///
3305    #[prost(message, repeated, tag = "11")]
3306    pub pages: ::prost::alloc::vec::Vec<Page>,
3307    ///
3308    #[prost(double, tag = "12")]
3309    pub progress_percent: f64,
3310    ///
3311    #[prost(int64, tag = "13")]
3312    pub duration: i64,
3313    ///
3314    #[prost(message, optional, tag = "14")]
3315    pub author: ::core::option::Option<Author>,
3316    ///
3317    #[prost(enumeration = "super::super::super::playershared::BizType", tag = "15")]
3318    pub biz_type: i32,
3319}
3320///
3321#[derive(Clone, PartialEq, ::prost::Message)]
3322pub struct UgcIntroduction {
3323    ///
3324    #[prost(message, repeated, tag = "1")]
3325    pub tags: ::prost::alloc::vec::Vec<Tag>,
3326    ///
3327    #[prost(message, optional, tag = "2")]
3328    pub rating: ::core::option::Option<Rating>,
3329    ///
3330    #[prost(message, optional, tag = "3")]
3331    pub rank: ::core::option::Option<Rank>,
3332    ///
3333    #[prost(message, repeated, tag = "4")]
3334    pub bgm: ::prost::alloc::vec::Vec<ViewMaterial>,
3335    ///
3336    #[prost(message, repeated, tag = "5")]
3337    pub sticker: ::prost::alloc::vec::Vec<ViewMaterial>,
3338    ///
3339    #[prost(message, repeated, tag = "6")]
3340    pub video_source: ::prost::alloc::vec::Vec<ViewMaterial>,
3341    ///
3342    #[prost(int64, tag = "7")]
3343    pub pubdate: i64,
3344    ///
3345    #[prost(message, repeated, tag = "8")]
3346    pub desc: ::prost::alloc::vec::Vec<DescV2>,
3347    ///
3348    #[prost(message, optional, tag = "9")]
3349    pub neutral: ::core::option::Option<Neutral>,
3350}
3351///
3352#[derive(Clone, PartialEq, ::prost::Message)]
3353pub struct UgcSeasonActivity {
3354    ///
3355    #[prost(int32, tag = "1")]
3356    pub r#type: i32,
3357    ///
3358    #[prost(int64, tag = "2")]
3359    pub oid: i64,
3360    ///
3361    #[prost(int64, tag = "3")]
3362    pub activity_id: i64,
3363    ///
3364    #[prost(string, tag = "4")]
3365    pub title: ::prost::alloc::string::String,
3366    ///
3367    #[prost(string, tag = "5")]
3368    pub intro: ::prost::alloc::string::String,
3369    ///
3370    #[prost(int32, tag = "6")]
3371    pub day_count: i32,
3372    ///
3373    #[prost(int32, tag = "7")]
3374    pub user_count: i32,
3375    ///
3376    #[prost(int64, tag = "8")]
3377    pub join_deadline: i64,
3378    ///
3379    #[prost(int64, tag = "9")]
3380    pub activity_deadline: i64,
3381    ///
3382    #[prost(int32, tag = "10")]
3383    pub checkin_view_time: i32,
3384    ///
3385    #[prost(bool, tag = "11")]
3386    pub new_activity: bool,
3387    ///
3388    #[prost(message, optional, tag = "12")]
3389    pub user_activity: ::core::option::Option<UserActivity>,
3390    ///
3391    #[prost(message, optional, tag = "13")]
3392    pub season_show: ::core::option::Option<SeasonShow>,
3393}
3394///
3395#[derive(Clone, PartialEq, ::prost::Message)]
3396pub struct UgcSeasons {
3397    ///
3398    #[prost(int64, tag = "1")]
3399    pub id: i64,
3400    ///
3401    #[prost(string, tag = "2")]
3402    pub title: ::prost::alloc::string::String,
3403    ///
3404    #[prost(string, tag = "3")]
3405    pub cover: ::prost::alloc::string::String,
3406    ///
3407    #[prost(string, tag = "4")]
3408    pub supernatant_title: ::prost::alloc::string::String,
3409    ///
3410    #[prost(message, repeated, tag = "5")]
3411    pub section: ::prost::alloc::vec::Vec<UgcSection>,
3412    ///
3413    #[prost(string, tag = "6")]
3414    pub union_title: ::prost::alloc::string::String,
3415    ///
3416    #[prost(message, optional, tag = "7")]
3417    pub head: ::core::option::Option<SeasonHead>,
3418    ///
3419    #[prost(int64, tag = "8")]
3420    pub ep_count: i64,
3421    ///
3422    #[prost(enumeration = "SeasonType", tag = "9")]
3423    pub season_type: i32,
3424    ///
3425    #[prost(message, optional, tag = "10")]
3426    pub activity: ::core::option::Option<UgcSeasonActivity>,
3427    ///
3428    #[prost(string, repeated, tag = "11")]
3429    pub season_ability: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
3430    ///
3431    #[prost(string, tag = "12")]
3432    pub season_title: ::prost::alloc::string::String,
3433}
3434///
3435#[derive(Clone, PartialEq, ::prost::Message)]
3436pub struct UgcSection {
3437    ///
3438    #[prost(int64, tag = "1")]
3439    pub id: i64,
3440    ///
3441    #[prost(string, tag = "2")]
3442    pub title: ::prost::alloc::string::String,
3443    ///
3444    #[prost(int64, tag = "3")]
3445    pub r#type: i64,
3446    ///
3447    #[prost(message, repeated, tag = "4")]
3448    pub episodes: ::prost::alloc::vec::Vec<UgcEpisode>,
3449}
3450///
3451#[derive(Clone, PartialEq, ::prost::Message)]
3452pub struct UpDataModule {
3453    ///
3454    #[prost(message, repeated, tag = "1")]
3455    pub ext_tabs: ::prost::alloc::vec::Vec<ExtTab>,
3456    ///
3457    #[prost(int32, tag = "2")]
3458    pub idx: i32,
3459    ///
3460    #[prost(string, tag = "3")]
3461    pub protocol_url: ::prost::alloc::string::String,
3462    ///
3463    #[prost(int32, tag = "4")]
3464    pub height: i32,
3465}
3466///
3467#[derive(Clone, PartialEq, ::prost::Message)]
3468pub struct UpLikeImg {
3469    ///
3470    #[prost(string, tag = "1")]
3471    pub pre_img: ::prost::alloc::string::String,
3472    ///
3473    #[prost(string, tag = "2")]
3474    pub suc_img: ::prost::alloc::string::String,
3475    ///
3476    #[prost(string, tag = "3")]
3477    pub content: ::prost::alloc::string::String,
3478    ///
3479    #[prost(int64, tag = "4")]
3480    pub r#type: i64,
3481}
3482///
3483#[derive(Clone, PartialEq, ::prost::Message)]
3484pub struct UpTool {
3485    ///
3486    #[prost(enumeration = "ToolType", tag = "1")]
3487    pub r#type: i32,
3488    ///
3489    #[prost(string, tag = "2")]
3490    pub text: ::prost::alloc::string::String,
3491    ///
3492    #[prost(string, tag = "3")]
3493    pub icon: ::prost::alloc::string::String,
3494    ///
3495    #[prost(string, tag = "4")]
3496    pub url: ::prost::alloc::string::String,
3497    ///
3498    #[prost(message, optional, tag = "5")]
3499    pub badge: ::core::option::Option<BadgeInfo>,
3500}
3501///
3502#[derive(Clone, PartialEq, ::prost::Message)]
3503pub struct UpVideoTool {
3504    ///
3505    #[prost(string, tag = "1")]
3506    pub title: ::prost::alloc::string::String,
3507    ///
3508    #[prost(message, repeated, tag = "2")]
3509    pub tools: ::prost::alloc::vec::Vec<UpTool>,
3510}
3511///
3512#[derive(Clone, PartialEq, ::prost::Message)]
3513pub struct User {
3514    ///
3515    #[prost(int64, tag = "1")]
3516    pub mid: i64,
3517    ///
3518    #[prost(string, tag = "2")]
3519    pub name: ::prost::alloc::string::String,
3520    ///
3521    #[prost(string, tag = "3")]
3522    pub face: ::prost::alloc::string::String,
3523    ///
3524    #[prost(int64, tag = "4")]
3525    pub follower: i64,
3526}
3527///
3528#[derive(Clone, PartialEq, ::prost::Message)]
3529pub struct UserActivity {
3530    ///
3531    #[prost(int32, tag = "1")]
3532    pub user_state: i32,
3533    ///
3534    #[prost(int64, tag = "2")]
3535    pub last_checkin_date: i64,
3536    ///
3537    #[prost(int32, tag = "3")]
3538    pub checkin_today: i32,
3539    ///
3540    #[prost(int32, tag = "4")]
3541    pub user_day_count: i32,
3542    ///
3543    #[prost(int32, tag = "5")]
3544    pub user_view_time: i32,
3545    ///
3546    #[prost(string, tag = "6")]
3547    pub portrait: ::prost::alloc::string::String,
3548}
3549///
3550#[derive(Clone, PartialEq, ::prost::Message)]
3551pub struct UserList {
3552    ///
3553    #[prost(message, repeated, tag = "1")]
3554    pub list: ::prost::alloc::vec::Vec<User>,
3555    ///
3556    #[prost(string, tag = "2")]
3557    pub title: ::prost::alloc::string::String,
3558}
3559///
3560#[derive(Clone, Copy, PartialEq, ::prost::Message)]
3561pub struct UserStatus {
3562    ///
3563    #[prost(int32, tag = "1")]
3564    pub show: i32,
3565    ///
3566    #[prost(int32, tag = "2")]
3567    pub follow: i32,
3568}
3569///
3570#[derive(Clone, PartialEq, ::prost::Message)]
3571pub struct ViewEpisode {
3572    ///
3573    #[prost(int64, tag = "1")]
3574    pub ep_id: i64,
3575    ///
3576    #[prost(string, tag = "2")]
3577    pub badge: ::prost::alloc::string::String,
3578    ///
3579    #[prost(int32, tag = "3")]
3580    pub badge_type: i32,
3581    ///
3582    #[prost(message, optional, tag = "4")]
3583    pub badge_info: ::core::option::Option<BadgeInfo>,
3584    ///
3585    #[prost(int32, tag = "5")]
3586    pub duration: i32,
3587    ///
3588    #[prost(int32, tag = "6")]
3589    pub status: i32,
3590    ///
3591    #[prost(string, tag = "7")]
3592    pub cover: ::prost::alloc::string::String,
3593    ///
3594    #[prost(int64, tag = "8")]
3595    pub aid: i64,
3596    ///
3597    #[prost(string, tag = "9")]
3598    pub title: ::prost::alloc::string::String,
3599    ///
3600    #[prost(string, tag = "10")]
3601    pub movie_title: ::prost::alloc::string::String,
3602    ///
3603    #[prost(string, tag = "11")]
3604    pub subtitle: ::prost::alloc::string::String,
3605    ///
3606    #[prost(string, tag = "12")]
3607    pub long_title: ::prost::alloc::string::String,
3608    ///
3609    #[prost(string, tag = "13")]
3610    pub toast_title: ::prost::alloc::string::String,
3611    ///
3612    #[prost(int64, tag = "14")]
3613    pub cid: i64,
3614    ///
3615    #[prost(string, tag = "15")]
3616    pub from: ::prost::alloc::string::String,
3617    ///
3618    #[prost(string, tag = "16")]
3619    pub share_url: ::prost::alloc::string::String,
3620    ///
3621    #[prost(string, tag = "17")]
3622    pub share_copy: ::prost::alloc::string::String,
3623    ///
3624    #[prost(string, tag = "18")]
3625    pub short_link: ::prost::alloc::string::String,
3626    ///
3627    #[prost(string, tag = "19")]
3628    pub vid: ::prost::alloc::string::String,
3629    ///
3630    #[prost(string, tag = "20")]
3631    pub release_date: ::prost::alloc::string::String,
3632    ///
3633    #[prost(message, optional, tag = "21")]
3634    pub dimension: ::core::option::Option<Dimension>,
3635    ///
3636    #[prost(message, optional, tag = "22")]
3637    pub rights: ::core::option::Option<Rights>,
3638    ///
3639    #[prost(message, optional, tag = "23")]
3640    pub interaction: ::core::option::Option<Interaction>,
3641    ///
3642    #[prost(string, tag = "24")]
3643    pub bvid: ::prost::alloc::string::String,
3644    ///
3645    #[prost(int32, tag = "25")]
3646    pub archive_attr: i32,
3647    ///
3648    #[prost(string, tag = "26")]
3649    pub link: ::prost::alloc::string::String,
3650    ///
3651    #[prost(string, tag = "27")]
3652    pub link_type: ::prost::alloc::string::String,
3653    ///
3654    #[prost(string, tag = "28")]
3655    pub bmid: ::prost::alloc::string::String,
3656    ///
3657    #[prost(int64, tag = "29")]
3658    pub pub_time: i64,
3659    ///
3660    #[prost(int32, tag = "30")]
3661    pub pv: i32,
3662    ///
3663    #[prost(int32, tag = "31")]
3664    pub ep_index: i32,
3665    ///
3666    #[prost(int32, tag = "32")]
3667    pub section_index: i32,
3668    ///
3669    #[prost(message, repeated, tag = "33")]
3670    pub up_infos: ::prost::alloc::vec::Vec<Staff>,
3671    ///
3672    #[prost(message, optional, tag = "34")]
3673    pub up_info: ::core::option::Option<Staff>,
3674    ///
3675    #[prost(string, tag = "35")]
3676    pub dialog_type: ::prost::alloc::string::String,
3677    ///
3678    #[prost(string, tag = "36")]
3679    pub toast_type: ::prost::alloc::string::String,
3680    ///
3681    #[prost(message, repeated, tag = "37")]
3682    pub multi_view_eps: ::prost::alloc::vec::Vec<MultiViewEp>,
3683    ///
3684    #[prost(bool, tag = "38")]
3685    pub is_sub_view: bool,
3686    ///
3687    #[prost(bool, tag = "39")]
3688    pub is_view_hide: bool,
3689    ///
3690    #[prost(string, tag = "40")]
3691    pub jump_link: ::prost::alloc::string::String,
3692    ///
3693    #[prost(message, optional, tag = "41")]
3694    pub stat_for_unity: ::core::option::Option<Stat>,
3695    ///
3696    #[prost(map = "string, string", tag = "42")]
3697    pub report: ::std::collections::HashMap<
3698        ::prost::alloc::string::String,
3699        ::prost::alloc::string::String,
3700    >,
3701    ///
3702    #[prost(int32, tag = "43")]
3703    pub section_type: i32,
3704    ///
3705    #[prost(string, tag = "44")]
3706    pub show_title: ::prost::alloc::string::String,
3707}
3708///
3709#[derive(Clone, PartialEq, ::prost::Message)]
3710pub struct ViewMaterial {
3711    ///
3712    #[prost(int64, tag = "1")]
3713    pub oid: i64,
3714    ///
3715    #[prost(int64, tag = "2")]
3716    pub mid: i64,
3717    ///
3718    #[prost(string, tag = "3")]
3719    pub title: ::prost::alloc::string::String,
3720    ///
3721    #[prost(string, tag = "4")]
3722    pub author: ::prost::alloc::string::String,
3723    ///
3724    #[prost(string, tag = "5")]
3725    pub jump_url: ::prost::alloc::string::String,
3726}
3727///
3728#[derive(Clone, PartialEq, ::prost::Message)]
3729pub struct Vip {
3730    ///
3731    #[prost(int32, tag = "1")]
3732    pub r#type: i32,
3733    ///
3734    #[prost(int32, tag = "2")]
3735    pub vip_status: i32,
3736    ///
3737    #[prost(int32, tag = "3")]
3738    pub theme_type: i32,
3739    ///
3740    #[prost(message, optional, tag = "4")]
3741    pub label: ::core::option::Option<VipLabel>,
3742    ///
3743    #[prost(int32, tag = "5")]
3744    pub is_vip: i32,
3745}
3746///
3747#[derive(Clone, PartialEq, ::prost::Message)]
3748pub struct VipLabel {
3749    ///
3750    #[prost(string, tag = "1")]
3751    pub path: ::prost::alloc::string::String,
3752    ///
3753    #[prost(string, tag = "2")]
3754    pub text: ::prost::alloc::string::String,
3755    ///
3756    #[prost(string, tag = "3")]
3757    pub label_theme: ::prost::alloc::string::String,
3758}
3759///
3760#[derive(Clone, PartialEq, ::prost::Message)]
3761pub struct WikiInfo {
3762    ///
3763    #[prost(string, tag = "1")]
3764    pub wiki_label: ::prost::alloc::string::String,
3765    ///
3766    #[prost(string, tag = "2")]
3767    pub wiki_url: ::prost::alloc::string::String,
3768}
3769///
3770#[derive(Clone, PartialEq, ::prost::Message)]
3771pub struct WinShowCondition {
3772    ///
3773    #[prost(string, tag = "1")]
3774    pub r#type: ::prost::alloc::string::String,
3775    ///
3776    #[prost(string, tag = "2")]
3777    pub value: ::prost::alloc::string::String,
3778}
3779///
3780#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
3781#[repr(i32)]
3782pub enum AttentionRelationStatus {
3783    ///
3784    ArsNone = 0,
3785    ///
3786    ArsN0relation = 1,
3787    ///
3788    ArsFollowhim = 2,
3789    ///
3790    ArsFollowme = 3,
3791    ///
3792    ArsBuddy = 4,
3793    ///
3794    ArsSpecial = 5,
3795    ///
3796    ArsCancelblock = 6,
3797}
3798impl AttentionRelationStatus {
3799    /// String value of the enum field names used in the ProtoBuf definition.
3800    ///
3801    /// The values are not transformed in any way and thus are considered stable
3802    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
3803    pub fn as_str_name(&self) -> &'static str {
3804        match self {
3805            Self::ArsNone => "ARS_NONE",
3806            Self::ArsN0relation => "ARS_N0RELATION",
3807            Self::ArsFollowhim => "ARS_FOLLOWHIM",
3808            Self::ArsFollowme => "ARS_FOLLOWME",
3809            Self::ArsBuddy => "ARS_BUDDY",
3810            Self::ArsSpecial => "ARS_SPECIAL",
3811            Self::ArsCancelblock => "ARS_CANCELBLOCK",
3812        }
3813    }
3814    /// Creates an enum from field names used in the ProtoBuf definition.
3815    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
3816        match value {
3817            "ARS_NONE" => Some(Self::ArsNone),
3818            "ARS_N0RELATION" => Some(Self::ArsN0relation),
3819            "ARS_FOLLOWHIM" => Some(Self::ArsFollowhim),
3820            "ARS_FOLLOWME" => Some(Self::ArsFollowme),
3821            "ARS_BUDDY" => Some(Self::ArsBuddy),
3822            "ARS_SPECIAL" => Some(Self::ArsSpecial),
3823            "ARS_CANCELBLOCK" => Some(Self::ArsCancelblock),
3824            _ => None,
3825        }
3826    }
3827}
3828///
3829#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
3830#[repr(i32)]
3831pub enum DescType {
3832    ///
3833    Unknown = 0,
3834    ///
3835    Text = 1,
3836    ///
3837    At = 2,
3838}
3839impl DescType {
3840    /// String value of the enum field names used in the ProtoBuf definition.
3841    ///
3842    /// The values are not transformed in any way and thus are considered stable
3843    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
3844    pub fn as_str_name(&self) -> &'static str {
3845        match self {
3846            Self::Unknown => "DescTypeUnknown",
3847            Self::Text => "DescTypeText",
3848            Self::At => "DescTypeAt",
3849        }
3850    }
3851    /// Creates an enum from field names used in the ProtoBuf definition.
3852    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
3853        match value {
3854            "DescTypeUnknown" => Some(Self::Unknown),
3855            "DescTypeText" => Some(Self::Text),
3856            "DescTypeAt" => Some(Self::At),
3857            _ => None,
3858        }
3859    }
3860}
3861///
3862#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
3863#[repr(i32)]
3864pub enum ExtType {
3865    ///
3866    ExtNone = 0,
3867    ///
3868    ExtDataCenter = 1,
3869    ///
3870    ExtDataEarnings = 2,
3871}
3872impl ExtType {
3873    /// String value of the enum field names used in the ProtoBuf definition.
3874    ///
3875    /// The values are not transformed in any way and thus are considered stable
3876    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
3877    pub fn as_str_name(&self) -> &'static str {
3878        match self {
3879            Self::ExtNone => "ExtNone",
3880            Self::ExtDataCenter => "ExtDataCenter",
3881            Self::ExtDataEarnings => "ExtDataEarnings",
3882        }
3883    }
3884    /// Creates an enum from field names used in the ProtoBuf definition.
3885    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
3886        match value {
3887            "ExtNone" => Some(Self::ExtNone),
3888            "ExtDataCenter" => Some(Self::ExtDataCenter),
3889            "ExtDataEarnings" => Some(Self::ExtDataEarnings),
3890            _ => None,
3891        }
3892    }
3893}
3894///
3895#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
3896#[repr(i32)]
3897pub enum HonorJumpType {
3898    ///
3899    Unknown = 0,
3900    ///
3901    HonorOpenUrl = 1,
3902    ///
3903    HonorHalfScreen = 2,
3904    ///
3905    HonorPopup = 3,
3906}
3907impl HonorJumpType {
3908    /// String value of the enum field names used in the ProtoBuf definition.
3909    ///
3910    /// The values are not transformed in any way and thus are considered stable
3911    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
3912    pub fn as_str_name(&self) -> &'static str {
3913        match self {
3914            Self::Unknown => "HONOR_JUMP_TYPE_UNKNOWN",
3915            Self::HonorOpenUrl => "HONOR_OPEN_URL",
3916            Self::HonorHalfScreen => "HONOR_HALF_SCREEN",
3917            Self::HonorPopup => "HONOR_POPUP",
3918        }
3919    }
3920    /// Creates an enum from field names used in the ProtoBuf definition.
3921    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
3922        match value {
3923            "HONOR_JUMP_TYPE_UNKNOWN" => Some(Self::Unknown),
3924            "HONOR_OPEN_URL" => Some(Self::HonorOpenUrl),
3925            "HONOR_HALF_SCREEN" => Some(Self::HonorHalfScreen),
3926            "HONOR_POPUP" => Some(Self::HonorPopup),
3927            _ => None,
3928        }
3929    }
3930}
3931///
3932#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
3933#[repr(i32)]
3934pub enum HonorType {
3935    ///
3936    HonorNone = 0,
3937    ///
3938    Playlet = 1,
3939    ///
3940    Argue = 2,
3941    ///
3942    Notice = 3,
3943    ///
3944    Guidance = 4,
3945    ///
3946    HonorBiliRank = 5,
3947    ///
3948    HonorWeeklyRank = 6,
3949    ///
3950    HonorDailyRank = 7,
3951    ///
3952    HonorChannel = 8,
3953    ///
3954    HonorMusic = 9,
3955    ///
3956    HonorReply = 10,
3957    ///
3958    HonorProfession = 11,
3959    ///
3960    HonorHotWord = 12,
3961}
3962impl HonorType {
3963    /// String value of the enum field names used in the ProtoBuf definition.
3964    ///
3965    /// The values are not transformed in any way and thus are considered stable
3966    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
3967    pub fn as_str_name(&self) -> &'static str {
3968        match self {
3969            Self::HonorNone => "HONOR_NONE",
3970            Self::Playlet => "PLAYLET",
3971            Self::Argue => "ARGUE",
3972            Self::Notice => "NOTICE",
3973            Self::Guidance => "GUIDANCE",
3974            Self::HonorBiliRank => "HONOR_BILI_RANK",
3975            Self::HonorWeeklyRank => "HONOR_WEEKLY_RANK",
3976            Self::HonorDailyRank => "HONOR_DAILY_RANK",
3977            Self::HonorChannel => "HONOR_CHANNEL",
3978            Self::HonorMusic => "HONOR_MUSIC",
3979            Self::HonorReply => "HONOR_REPLY",
3980            Self::HonorProfession => "HONOR_PROFESSION",
3981            Self::HonorHotWord => "HONOR_HOT_WORD",
3982        }
3983    }
3984    /// Creates an enum from field names used in the ProtoBuf definition.
3985    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
3986        match value {
3987            "HONOR_NONE" => Some(Self::HonorNone),
3988            "PLAYLET" => Some(Self::Playlet),
3989            "ARGUE" => Some(Self::Argue),
3990            "NOTICE" => Some(Self::Notice),
3991            "GUIDANCE" => Some(Self::Guidance),
3992            "HONOR_BILI_RANK" => Some(Self::HonorBiliRank),
3993            "HONOR_WEEKLY_RANK" => Some(Self::HonorWeeklyRank),
3994            "HONOR_DAILY_RANK" => Some(Self::HonorDailyRank),
3995            "HONOR_CHANNEL" => Some(Self::HonorChannel),
3996            "HONOR_MUSIC" => Some(Self::HonorMusic),
3997            "HONOR_REPLY" => Some(Self::HonorReply),
3998            "HONOR_PROFESSION" => Some(Self::HonorProfession),
3999            "HONOR_HOT_WORD" => Some(Self::HonorHotWord),
4000            _ => None,
4001        }
4002    }
4003}
4004///
4005#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
4006#[repr(i32)]
4007pub enum JumpType {
4008    ///
4009    Unknown = 0,
4010    ///
4011    OpenUrl = 1,
4012    ///
4013    Refresh = 2,
4014    ///
4015    HalfScreen = 3,
4016    ///
4017    OpenUrlByOuterBrowser = 4,
4018}
4019impl JumpType {
4020    /// String value of the enum field names used in the ProtoBuf definition.
4021    ///
4022    /// The values are not transformed in any way and thus are considered stable
4023    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
4024    pub fn as_str_name(&self) -> &'static str {
4025        match self {
4026            Self::Unknown => "JUMP_TYPE_UNKNOWN",
4027            Self::OpenUrl => "OPEN_URL",
4028            Self::Refresh => "REFRESH",
4029            Self::HalfScreen => "HALF_SCREEN",
4030            Self::OpenUrlByOuterBrowser => "OPEN_URL_BY_OUTER_BROWSER",
4031        }
4032    }
4033    /// Creates an enum from field names used in the ProtoBuf definition.
4034    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
4035        match value {
4036            "JUMP_TYPE_UNKNOWN" => Some(Self::Unknown),
4037            "OPEN_URL" => Some(Self::OpenUrl),
4038            "REFRESH" => Some(Self::Refresh),
4039            "HALF_SCREEN" => Some(Self::HalfScreen),
4040            "OPEN_URL_BY_OUTER_BROWSER" => Some(Self::OpenUrlByOuterBrowser),
4041            _ => None,
4042        }
4043    }
4044}
4045///
4046#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
4047#[repr(i32)]
4048pub enum KingPositionType {
4049    ///
4050    KingPosUnspecified = 0,
4051    ///
4052    Like = 1,
4053    ///
4054    Dislike = 2,
4055    ///
4056    Coin = 3,
4057    ///
4058    Fav = 4,
4059    ///
4060    Share = 5,
4061    ///
4062    Cache = 6,
4063    ///
4064    Danmaku = 7,
4065}
4066impl KingPositionType {
4067    /// String value of the enum field names used in the ProtoBuf definition.
4068    ///
4069    /// The values are not transformed in any way and thus are considered stable
4070    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
4071    pub fn as_str_name(&self) -> &'static str {
4072        match self {
4073            Self::KingPosUnspecified => "KING_POS_UNSPECIFIED",
4074            Self::Like => "LIKE",
4075            Self::Dislike => "DISLIKE",
4076            Self::Coin => "COIN",
4077            Self::Fav => "FAV",
4078            Self::Share => "SHARE",
4079            Self::Cache => "CACHE",
4080            Self::Danmaku => "DANMAKU",
4081        }
4082    }
4083    /// Creates an enum from field names used in the ProtoBuf definition.
4084    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
4085        match value {
4086            "KING_POS_UNSPECIFIED" => Some(Self::KingPosUnspecified),
4087            "LIKE" => Some(Self::Like),
4088            "DISLIKE" => Some(Self::Dislike),
4089            "COIN" => Some(Self::Coin),
4090            "FAV" => Some(Self::Fav),
4091            "SHARE" => Some(Self::Share),
4092            "CACHE" => Some(Self::Cache),
4093            "DANMAKU" => Some(Self::Danmaku),
4094            _ => None,
4095        }
4096    }
4097}
4098///
4099#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
4100#[repr(i32)]
4101pub enum ModuleType {
4102    ///
4103    Unknown = 0,
4104    ///
4105    OgvIntroduction = 1,
4106    ///
4107    OgvTitle = 2,
4108    ///
4109    UgcHeadline = 3,
4110    ///
4111    UgcIntroduction = 4,
4112    ///
4113    KingPosition = 5,
4114    ///
4115    MasterUserList = 6,
4116    ///
4117    Staffs = 7,
4118    ///
4119    Honor = 8,
4120    ///
4121    Owner = 9,
4122    ///
4123    Page = 10,
4124    ///
4125    ActivityReserve = 11,
4126    ///
4127    LiveOrder = 12,
4128    ///
4129    Positive = 13,
4130    ///
4131    Section = 14,
4132    ///
4133    Relate = 15,
4134    ///
4135    Pugv = 16,
4136    ///
4137    CollectionCard = 17,
4138    ///
4139    Activity = 18,
4140    ///
4141    Character = 19,
4142    ///
4143    FollowLayer = 20,
4144    ///
4145    OgvSeasons = 21,
4146    ///
4147    UgcSeason = 22,
4148    ///
4149    OgvLiveReserve = 23,
4150    ///
4151    CombinationEpisode = 24,
4152    ///
4153    Sponsor = 25,
4154    ///
4155    ActivityEntrance = 26,
4156    ///
4157    TheatreHotTopic = 27,
4158    ///
4159    RelatedRecommend = 28,
4160    ///
4161    PayBar = 29,
4162    ///
4163    Banner = 30,
4164    ///
4165    Audio = 31,
4166    ///
4167    AggCard = 32,
4168    ///
4169    SingleEp = 33,
4170    ///
4171    LikeComment = 34,
4172    ///
4173    AttentionRecommend = 35,
4174    ///
4175    Covenanter = 36,
4176    ///
4177    Specialtag = 37,
4178    ///
4179    Updata = 38,
4180    ///
4181    ProfessionApproval = 39,
4182    ///
4183    PugvShoppingNotice = 40,
4184    ///
4185    PugvFaq = 41,
4186    ///
4187    PugvSeasonDescription = 42,
4188    ///
4189    PugvSeasonRecommend = 43,
4190    ///
4191    PugvSeasonPublisher = 44,
4192    ///
4193    PugvSeasonSelection = 45,
4194    ///
4195    PugvSeasonPrimaryInfo = 46,
4196    ///
4197    PugvCooperationApplication = 47,
4198    ///
4199    UpVideoTool = 48,
4200    ///
4201    PugvZone = 49,
4202    ///
4203    PugvSeries = 50,
4204    ///
4205    PugvPackage = 51,
4206    ///
4207    ActivityStarRail = 52,
4208    ///
4209    ActivityIframe = 53,
4210    ///
4211    PlayList = 54,
4212    ///
4213    Merchandise = 55,
4214    ///
4215    ActivityGuidanceBar = 56,
4216}
4217impl ModuleType {
4218    /// String value of the enum field names used in the ProtoBuf definition.
4219    ///
4220    /// The values are not transformed in any way and thus are considered stable
4221    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
4222    pub fn as_str_name(&self) -> &'static str {
4223        match self {
4224            Self::Unknown => "UNKNOWN",
4225            Self::OgvIntroduction => "OGV_INTRODUCTION",
4226            Self::OgvTitle => "OGV_TITLE",
4227            Self::UgcHeadline => "UGC_HEADLINE",
4228            Self::UgcIntroduction => "UGC_INTRODUCTION",
4229            Self::KingPosition => "KING_POSITION",
4230            Self::MasterUserList => "MASTER_USER_LIST",
4231            Self::Staffs => "STAFFS",
4232            Self::Honor => "HONOR",
4233            Self::Owner => "OWNER",
4234            Self::Page => "PAGE",
4235            Self::ActivityReserve => "ACTIVITY_RESERVE",
4236            Self::LiveOrder => "LIVE_ORDER",
4237            Self::Positive => "POSITIVE",
4238            Self::Section => "SECTION",
4239            Self::Relate => "RELATE",
4240            Self::Pugv => "PUGV",
4241            Self::CollectionCard => "COLLECTION_CARD",
4242            Self::Activity => "ACTIVITY",
4243            Self::Character => "CHARACTER",
4244            Self::FollowLayer => "FOLLOW_LAYER",
4245            Self::OgvSeasons => "OGV_SEASONS",
4246            Self::UgcSeason => "UGC_SEASON",
4247            Self::OgvLiveReserve => "OGV_LIVE_RESERVE",
4248            Self::CombinationEpisode => "COMBINATION_EPISODE",
4249            Self::Sponsor => "SPONSOR",
4250            Self::ActivityEntrance => "ACTIVITY_ENTRANCE",
4251            Self::TheatreHotTopic => "THEATRE_HOT_TOPIC",
4252            Self::RelatedRecommend => "RELATED_RECOMMEND",
4253            Self::PayBar => "PAY_BAR",
4254            Self::Banner => "BANNER",
4255            Self::Audio => "AUDIO",
4256            Self::AggCard => "AGG_CARD",
4257            Self::SingleEp => "SINGLE_EP",
4258            Self::LikeComment => "LIKE_COMMENT",
4259            Self::AttentionRecommend => "ATTENTION_RECOMMEND",
4260            Self::Covenanter => "COVENANTER",
4261            Self::Specialtag => "SPECIALTAG",
4262            Self::Updata => "UPDATA",
4263            Self::ProfessionApproval => "PROFESSION_APPROVAL",
4264            Self::PugvShoppingNotice => "PUGV_SHOPPING_NOTICE",
4265            Self::PugvFaq => "PUGV_FAQ",
4266            Self::PugvSeasonDescription => "PUGV_SEASON_DESCRIPTION",
4267            Self::PugvSeasonRecommend => "PUGV_SEASON_RECOMMEND",
4268            Self::PugvSeasonPublisher => "PUGV_SEASON_PUBLISHER",
4269            Self::PugvSeasonSelection => "PUGV_SEASON_SELECTION",
4270            Self::PugvSeasonPrimaryInfo => "PUGV_SEASON_PRIMARY_INFO",
4271            Self::PugvCooperationApplication => "PUGV_COOPERATION_APPLICATION",
4272            Self::UpVideoTool => "UP_VIDEO_TOOL",
4273            Self::PugvZone => "PUGV_ZONE",
4274            Self::PugvSeries => "PUGV_SERIES",
4275            Self::PugvPackage => "PUGV_PACKAGE",
4276            Self::ActivityStarRail => "ACTIVITY_STAR_RAIL",
4277            Self::ActivityIframe => "ACTIVITY_IFRAME",
4278            Self::PlayList => "PLAY_LIST",
4279            Self::Merchandise => "MERCHANDISE",
4280            Self::ActivityGuidanceBar => "ACTIVITY_GUIDANCE_BAR",
4281        }
4282    }
4283    /// Creates an enum from field names used in the ProtoBuf definition.
4284    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
4285        match value {
4286            "UNKNOWN" => Some(Self::Unknown),
4287            "OGV_INTRODUCTION" => Some(Self::OgvIntroduction),
4288            "OGV_TITLE" => Some(Self::OgvTitle),
4289            "UGC_HEADLINE" => Some(Self::UgcHeadline),
4290            "UGC_INTRODUCTION" => Some(Self::UgcIntroduction),
4291            "KING_POSITION" => Some(Self::KingPosition),
4292            "MASTER_USER_LIST" => Some(Self::MasterUserList),
4293            "STAFFS" => Some(Self::Staffs),
4294            "HONOR" => Some(Self::Honor),
4295            "OWNER" => Some(Self::Owner),
4296            "PAGE" => Some(Self::Page),
4297            "ACTIVITY_RESERVE" => Some(Self::ActivityReserve),
4298            "LIVE_ORDER" => Some(Self::LiveOrder),
4299            "POSITIVE" => Some(Self::Positive),
4300            "SECTION" => Some(Self::Section),
4301            "RELATE" => Some(Self::Relate),
4302            "PUGV" => Some(Self::Pugv),
4303            "COLLECTION_CARD" => Some(Self::CollectionCard),
4304            "ACTIVITY" => Some(Self::Activity),
4305            "CHARACTER" => Some(Self::Character),
4306            "FOLLOW_LAYER" => Some(Self::FollowLayer),
4307            "OGV_SEASONS" => Some(Self::OgvSeasons),
4308            "UGC_SEASON" => Some(Self::UgcSeason),
4309            "OGV_LIVE_RESERVE" => Some(Self::OgvLiveReserve),
4310            "COMBINATION_EPISODE" => Some(Self::CombinationEpisode),
4311            "SPONSOR" => Some(Self::Sponsor),
4312            "ACTIVITY_ENTRANCE" => Some(Self::ActivityEntrance),
4313            "THEATRE_HOT_TOPIC" => Some(Self::TheatreHotTopic),
4314            "RELATED_RECOMMEND" => Some(Self::RelatedRecommend),
4315            "PAY_BAR" => Some(Self::PayBar),
4316            "BANNER" => Some(Self::Banner),
4317            "AUDIO" => Some(Self::Audio),
4318            "AGG_CARD" => Some(Self::AggCard),
4319            "SINGLE_EP" => Some(Self::SingleEp),
4320            "LIKE_COMMENT" => Some(Self::LikeComment),
4321            "ATTENTION_RECOMMEND" => Some(Self::AttentionRecommend),
4322            "COVENANTER" => Some(Self::Covenanter),
4323            "SPECIALTAG" => Some(Self::Specialtag),
4324            "UPDATA" => Some(Self::Updata),
4325            "PROFESSION_APPROVAL" => Some(Self::ProfessionApproval),
4326            "PUGV_SHOPPING_NOTICE" => Some(Self::PugvShoppingNotice),
4327            "PUGV_FAQ" => Some(Self::PugvFaq),
4328            "PUGV_SEASON_DESCRIPTION" => Some(Self::PugvSeasonDescription),
4329            "PUGV_SEASON_RECOMMEND" => Some(Self::PugvSeasonRecommend),
4330            "PUGV_SEASON_PUBLISHER" => Some(Self::PugvSeasonPublisher),
4331            "PUGV_SEASON_SELECTION" => Some(Self::PugvSeasonSelection),
4332            "PUGV_SEASON_PRIMARY_INFO" => Some(Self::PugvSeasonPrimaryInfo),
4333            "PUGV_COOPERATION_APPLICATION" => Some(Self::PugvCooperationApplication),
4334            "UP_VIDEO_TOOL" => Some(Self::UpVideoTool),
4335            "PUGV_ZONE" => Some(Self::PugvZone),
4336            "PUGV_SERIES" => Some(Self::PugvSeries),
4337            "PUGV_PACKAGE" => Some(Self::PugvPackage),
4338            "ACTIVITY_STAR_RAIL" => Some(Self::ActivityStarRail),
4339            "ACTIVITY_IFRAME" => Some(Self::ActivityIframe),
4340            "PLAY_LIST" => Some(Self::PlayList),
4341            "MERCHANDISE" => Some(Self::Merchandise),
4342            "ACTIVITY_GUIDANCE_BAR" => Some(Self::ActivityGuidanceBar),
4343            _ => None,
4344        }
4345    }
4346}
4347///
4348#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
4349#[repr(i32)]
4350pub enum OccupationType {
4351    ///
4352    Staff = 0,
4353    ///
4354    Cast = 1,
4355    ///
4356    UnknownType = -1,
4357}
4358impl OccupationType {
4359    /// String value of the enum field names used in the ProtoBuf definition.
4360    ///
4361    /// The values are not transformed in any way and thus are considered stable
4362    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
4363    pub fn as_str_name(&self) -> &'static str {
4364        match self {
4365            Self::Staff => "STAFF",
4366            Self::Cast => "CAST",
4367            Self::UnknownType => "UNKNOWN_TYPE",
4368        }
4369    }
4370    /// Creates an enum from field names used in the ProtoBuf definition.
4371    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
4372        match value {
4373            "STAFF" => Some(Self::Staff),
4374            "CAST" => Some(Self::Cast),
4375            "UNKNOWN_TYPE" => Some(Self::UnknownType),
4376            _ => None,
4377        }
4378    }
4379}
4380///
4381#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
4382#[repr(i32)]
4383pub enum PugvSeasonDescriptionType {
4384    ///
4385    Unspecified = 0,
4386    ///
4387    Text = 1,
4388    ///
4389    Image = 2,
4390}
4391impl PugvSeasonDescriptionType {
4392    /// String value of the enum field names used in the ProtoBuf definition.
4393    ///
4394    /// The values are not transformed in any way and thus are considered stable
4395    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
4396    pub fn as_str_name(&self) -> &'static str {
4397        match self {
4398            Self::Unspecified => "PUGV_SEASON_DESCRIPTION_TYPE_UNSPECIFIED",
4399            Self::Text => "PUGV_SEASON_DESCRIPTION_TYPE_TEXT",
4400            Self::Image => "PUGV_SEASON_DESCRIPTION_TYPE_IMAGE",
4401        }
4402    }
4403    /// Creates an enum from field names used in the ProtoBuf definition.
4404    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
4405        match value {
4406            "PUGV_SEASON_DESCRIPTION_TYPE_UNSPECIFIED" => Some(Self::Unspecified),
4407            "PUGV_SEASON_DESCRIPTION_TYPE_TEXT" => Some(Self::Text),
4408            "PUGV_SEASON_DESCRIPTION_TYPE_IMAGE" => Some(Self::Image),
4409            _ => None,
4410        }
4411    }
4412}
4413///
4414#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
4415#[repr(i32)]
4416pub enum PugvSeasonPrimarySellPointType {
4417    ///
4418    Unspecified = 0,
4419    ///
4420    Manual = 1,
4421    ///
4422    Auto = 2,
4423}
4424impl PugvSeasonPrimarySellPointType {
4425    /// String value of the enum field names used in the ProtoBuf definition.
4426    ///
4427    /// The values are not transformed in any way and thus are considered stable
4428    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
4429    pub fn as_str_name(&self) -> &'static str {
4430        match self {
4431            Self::Unspecified => "PUGV_SEASON_PRIMARY_SELL_POINT_TYPE_UNSPECIFIED",
4432            Self::Manual => "PUGV_SEASON_PRIMARY_SELL_POINT_TYPE_MANUAL",
4433            Self::Auto => "PUGV_SEASON_PRIMARY_SELL_POINT_TYPE_AUTO",
4434        }
4435    }
4436    /// Creates an enum from field names used in the ProtoBuf definition.
4437    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
4438        match value {
4439            "PUGV_SEASON_PRIMARY_SELL_POINT_TYPE_UNSPECIFIED" => Some(Self::Unspecified),
4440            "PUGV_SEASON_PRIMARY_SELL_POINT_TYPE_MANUAL" => Some(Self::Manual),
4441            "PUGV_SEASON_PRIMARY_SELL_POINT_TYPE_AUTO" => Some(Self::Auto),
4442            _ => None,
4443        }
4444    }
4445}
4446///
4447#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
4448#[repr(i32)]
4449pub enum PugvSeasonRecommendShowStyle {
4450    ///
4451    Unspecified = 0,
4452    ///
4453    More = 1,
4454    ///
4455    Feed = 2,
4456}
4457impl PugvSeasonRecommendShowStyle {
4458    /// String value of the enum field names used in the ProtoBuf definition.
4459    ///
4460    /// The values are not transformed in any way and thus are considered stable
4461    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
4462    pub fn as_str_name(&self) -> &'static str {
4463        match self {
4464            Self::Unspecified => "PUGV_SEASON_RECOMMEND_SHOW_STYLE_UNSPECIFIED",
4465            Self::More => "PUGV_SEASON_RECOMMEND_SHOW_STYLE_MORE",
4466            Self::Feed => "PUGV_SEASON_RECOMMEND_SHOW_STYLE_FEED",
4467        }
4468    }
4469    /// Creates an enum from field names used in the ProtoBuf definition.
4470    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
4471        match value {
4472            "PUGV_SEASON_RECOMMEND_SHOW_STYLE_UNSPECIFIED" => Some(Self::Unspecified),
4473            "PUGV_SEASON_RECOMMEND_SHOW_STYLE_MORE" => Some(Self::More),
4474            "PUGV_SEASON_RECOMMEND_SHOW_STYLE_FEED" => Some(Self::Feed),
4475            _ => None,
4476        }
4477    }
4478}
4479///
4480#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
4481#[repr(i32)]
4482pub enum PugvSeriesItemState {
4483    ///
4484    PugvSeriresItemStateUnspecial = 0,
4485    ///
4486    PugvSeriresItemStateNotStart = 1,
4487    ///
4488    PugvSeriresItemStateStart = 2,
4489    ///
4490    PugvSeriresItemStateEnd = 3,
4491}
4492impl PugvSeriesItemState {
4493    /// String value of the enum field names used in the ProtoBuf definition.
4494    ///
4495    /// The values are not transformed in any way and thus are considered stable
4496    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
4497    pub fn as_str_name(&self) -> &'static str {
4498        match self {
4499            Self::PugvSeriresItemStateUnspecial => "PUGV_SERIRES_ITEM_STATE_UNSPECIAL",
4500            Self::PugvSeriresItemStateNotStart => "PUGV_SERIRES_ITEM_STATE_NOT_START",
4501            Self::PugvSeriresItemStateStart => "PUGV_SERIRES_ITEM_STATE_START",
4502            Self::PugvSeriresItemStateEnd => "PUGV_SERIRES_ITEM_STATE_END",
4503        }
4504    }
4505    /// Creates an enum from field names used in the ProtoBuf definition.
4506    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
4507        match value {
4508            "PUGV_SERIRES_ITEM_STATE_UNSPECIAL" => {
4509                Some(Self::PugvSeriresItemStateUnspecial)
4510            }
4511            "PUGV_SERIRES_ITEM_STATE_NOT_START" => {
4512                Some(Self::PugvSeriresItemStateNotStart)
4513            }
4514            "PUGV_SERIRES_ITEM_STATE_START" => Some(Self::PugvSeriresItemStateStart),
4515            "PUGV_SERIRES_ITEM_STATE_END" => Some(Self::PugvSeriresItemStateEnd),
4516            _ => None,
4517        }
4518    }
4519}
4520///
4521#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
4522#[repr(i32)]
4523pub enum PugvZoneItemType {
4524    ///
4525    Unspecified = 0,
4526    ///
4527    Season = 1,
4528    ///
4529    Postgraduate = 2,
4530}
4531impl PugvZoneItemType {
4532    /// String value of the enum field names used in the ProtoBuf definition.
4533    ///
4534    /// The values are not transformed in any way and thus are considered stable
4535    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
4536    pub fn as_str_name(&self) -> &'static str {
4537        match self {
4538            Self::Unspecified => "PUGV_ZONE_ITEM_TYPE_UNSPECIFIED",
4539            Self::Season => "PUGV_ZONE_ITEM_TYPE_SEASON",
4540            Self::Postgraduate => "PUGV_ZONE_ITEM_TYPE_POSTGRADUATE",
4541        }
4542    }
4543    /// Creates an enum from field names used in the ProtoBuf definition.
4544    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
4545        match value {
4546            "PUGV_ZONE_ITEM_TYPE_UNSPECIFIED" => Some(Self::Unspecified),
4547            "PUGV_ZONE_ITEM_TYPE_SEASON" => Some(Self::Season),
4548            "PUGV_ZONE_ITEM_TYPE_POSTGRADUATE" => Some(Self::Postgraduate),
4549            _ => None,
4550        }
4551    }
4552}
4553///
4554#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
4555#[repr(i32)]
4556pub enum RelateCardType {
4557    ///
4558    CardTypeUnknown = 0,
4559    ///
4560    Av = 1,
4561    ///
4562    Bangumi = 2,
4563    ///
4564    Resource = 3,
4565    ///
4566    Game = 4,
4567    ///
4568    Cm = 5,
4569    ///
4570    Live = 6,
4571    ///
4572    AiRecommend = 7,
4573    ///
4574    BangumiAv = 8,
4575    ///
4576    BangumiUgc = 9,
4577    ///
4578    Special = 10,
4579    ///
4580    Course = 11,
4581}
4582impl RelateCardType {
4583    /// String value of the enum field names used in the ProtoBuf definition.
4584    ///
4585    /// The values are not transformed in any way and thus are considered stable
4586    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
4587    pub fn as_str_name(&self) -> &'static str {
4588        match self {
4589            Self::CardTypeUnknown => "CARD_TYPE_UNKNOWN",
4590            Self::Av => "AV",
4591            Self::Bangumi => "BANGUMI",
4592            Self::Resource => "RESOURCE",
4593            Self::Game => "GAME",
4594            Self::Cm => "CM",
4595            Self::Live => "LIVE",
4596            Self::AiRecommend => "AI_RECOMMEND",
4597            Self::BangumiAv => "BANGUMI_AV",
4598            Self::BangumiUgc => "BANGUMI_UGC",
4599            Self::Special => "SPECIAL",
4600            Self::Course => "COURSE",
4601        }
4602    }
4603    /// Creates an enum from field names used in the ProtoBuf definition.
4604    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
4605        match value {
4606            "CARD_TYPE_UNKNOWN" => Some(Self::CardTypeUnknown),
4607            "AV" => Some(Self::Av),
4608            "BANGUMI" => Some(Self::Bangumi),
4609            "RESOURCE" => Some(Self::Resource),
4610            "GAME" => Some(Self::Game),
4611            "CM" => Some(Self::Cm),
4612            "LIVE" => Some(Self::Live),
4613            "AI_RECOMMEND" => Some(Self::AiRecommend),
4614            "BANGUMI_AV" => Some(Self::BangumiAv),
4615            "BANGUMI_UGC" => Some(Self::BangumiUgc),
4616            "SPECIAL" => Some(Self::Special),
4617            "COURSE" => Some(Self::Course),
4618            _ => None,
4619        }
4620    }
4621}
4622///
4623#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
4624#[repr(i32)]
4625pub enum ReserveBizType {
4626    ///
4627    BizTypeNone = 0,
4628    ///
4629    BizTypeReserveActivity = 1,
4630    ///
4631    BizTypeFavSeason = 2,
4632}
4633impl ReserveBizType {
4634    /// String value of the enum field names used in the ProtoBuf definition.
4635    ///
4636    /// The values are not transformed in any way and thus are considered stable
4637    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
4638    pub fn as_str_name(&self) -> &'static str {
4639        match self {
4640            Self::BizTypeNone => "BizTypeNone",
4641            Self::BizTypeReserveActivity => "BizTypeReserveActivity",
4642            Self::BizTypeFavSeason => "BizTypeFavSeason",
4643        }
4644    }
4645    /// Creates an enum from field names used in the ProtoBuf definition.
4646    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
4647        match value {
4648            "BizTypeNone" => Some(Self::BizTypeNone),
4649            "BizTypeReserveActivity" => Some(Self::BizTypeReserveActivity),
4650            "BizTypeFavSeason" => Some(Self::BizTypeFavSeason),
4651            _ => None,
4652        }
4653    }
4654}
4655///
4656#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
4657#[repr(i32)]
4658pub enum SeasonType {
4659    ///
4660    Unknown = 0,
4661    ///
4662    Base = 1,
4663    ///
4664    Good = 2,
4665}
4666impl SeasonType {
4667    /// String value of the enum field names used in the ProtoBuf definition.
4668    ///
4669    /// The values are not transformed in any way and thus are considered stable
4670    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
4671    pub fn as_str_name(&self) -> &'static str {
4672        match self {
4673            Self::Unknown => "Unknown",
4674            Self::Base => "Base",
4675            Self::Good => "Good",
4676        }
4677    }
4678    /// Creates an enum from field names used in the ProtoBuf definition.
4679    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
4680        match value {
4681            "Unknown" => Some(Self::Unknown),
4682            "Base" => Some(Self::Base),
4683            "Good" => Some(Self::Good),
4684            _ => None,
4685        }
4686    }
4687}
4688///
4689#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
4690#[repr(i32)]
4691pub enum SerialSeasonCoverStyle {
4692    ///
4693    Title = 0,
4694    ///
4695    Picture = 1,
4696    ///
4697    Unknown = -1,
4698}
4699impl SerialSeasonCoverStyle {
4700    /// String value of the enum field names used in the ProtoBuf definition.
4701    ///
4702    /// The values are not transformed in any way and thus are considered stable
4703    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
4704    pub fn as_str_name(&self) -> &'static str {
4705        match self {
4706            Self::Title => "TITLE",
4707            Self::Picture => "PICTURE",
4708            Self::Unknown => "SERIAL_SEASON_COVER_STYLE_UNKNOWN",
4709        }
4710    }
4711    /// Creates an enum from field names used in the ProtoBuf definition.
4712    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
4713        match value {
4714            "TITLE" => Some(Self::Title),
4715            "PICTURE" => Some(Self::Picture),
4716            "SERIAL_SEASON_COVER_STYLE_UNKNOWN" => Some(Self::Unknown),
4717            _ => None,
4718        }
4719    }
4720}
4721///
4722#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
4723#[repr(i32)]
4724pub enum ShowStyle {
4725    ///
4726    Unknown = 0,
4727    ///
4728    OneRowOneColumn = 1,
4729    ///
4730    OneRowMultiColumn = 2,
4731    ///
4732    OneColumnMultiRow = 3,
4733}
4734impl ShowStyle {
4735    /// String value of the enum field names used in the ProtoBuf definition.
4736    ///
4737    /// The values are not transformed in any way and thus are considered stable
4738    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
4739    pub fn as_str_name(&self) -> &'static str {
4740        match self {
4741            Self::Unknown => "SHOW_STYLE_UNKNOWN",
4742            Self::OneRowOneColumn => "ONE_ROW_ONE_COLUMN",
4743            Self::OneRowMultiColumn => "ONE_ROW_MULTI_COLUMN",
4744            Self::OneColumnMultiRow => "ONE_COLUMN_MULTI_ROW",
4745        }
4746    }
4747    /// Creates an enum from field names used in the ProtoBuf definition.
4748    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
4749        match value {
4750            "SHOW_STYLE_UNKNOWN" => Some(Self::Unknown),
4751            "ONE_ROW_ONE_COLUMN" => Some(Self::OneRowOneColumn),
4752            "ONE_ROW_MULTI_COLUMN" => Some(Self::OneRowMultiColumn),
4753            "ONE_COLUMN_MULTI_ROW" => Some(Self::OneColumnMultiRow),
4754            _ => None,
4755        }
4756    }
4757}
4758///
4759#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
4760#[repr(i32)]
4761pub enum ToolType {
4762    ///
4763    InteractiveDanmaku = 0,
4764    ///
4765    InteractiveSettings = 1,
4766    ///
4767    TakeOff = 2,
4768    ///
4769    Universal = 3,
4770}
4771impl ToolType {
4772    /// String value of the enum field names used in the ProtoBuf definition.
4773    ///
4774    /// The values are not transformed in any way and thus are considered stable
4775    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
4776    pub fn as_str_name(&self) -> &'static str {
4777        match self {
4778            Self::InteractiveDanmaku => "INTERACTIVE_DANMAKU",
4779            Self::InteractiveSettings => "INTERACTIVE_SETTINGS",
4780            Self::TakeOff => "TAKE_OFF",
4781            Self::Universal => "UNIVERSAL",
4782        }
4783    }
4784    /// Creates an enum from field names used in the ProtoBuf definition.
4785    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
4786        match value {
4787            "INTERACTIVE_DANMAKU" => Some(Self::InteractiveDanmaku),
4788            "INTERACTIVE_SETTINGS" => Some(Self::InteractiveSettings),
4789            "TAKE_OFF" => Some(Self::TakeOff),
4790            "UNIVERSAL" => Some(Self::Universal),
4791            _ => None,
4792        }
4793    }
4794}