metadata.rs 328 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651365236533654365536563657365836593660366136623663366436653666366736683669367036713672367336743675367636773678367936803681368236833684368536863687368836893690369136923693369436953696369736983699370037013702370337043705370637073708370937103711371237133714371537163717371837193720372137223723372437253726372737283729373037313732373337343735373637373738373937403741374237433744374537463747374837493750375137523753375437553756375737583759376037613762376337643765376637673768376937703771377237733774377537763777377837793780378137823783378437853786378737883789379037913792379337943795379637973798379938003801380238033804380538063807380838093810381138123813381438153816381738183819382038213822382338243825382638273828382938303831383238333834383538363837383838393840384138423843384438453846384738483849385038513852385338543855385638573858385938603861386238633864386538663867386838693870387138723873387438753876387738783879388038813882388338843885388638873888388938903891389238933894389538963897389838993900390139023903390439053906390739083909391039113912391339143915391639173918391939203921392239233924392539263927392839293930393139323933393439353936393739383939394039413942394339443945394639473948394939503951395239533954395539563957395839593960396139623963396439653966396739683969397039713972397339743975397639773978397939803981398239833984398539863987398839893990399139923993399439953996399739983999400040014002400340044005400640074008400940104011401240134014401540164017401840194020402140224023402440254026402740284029403040314032403340344035403640374038403940404041404240434044404540464047404840494050405140524053405440554056405740584059406040614062406340644065406640674068406940704071407240734074407540764077407840794080408140824083408440854086408740884089409040914092409340944095409640974098409941004101410241034104410541064107410841094110411141124113411441154116411741184119412041214122412341244125412641274128412941304131413241334134413541364137413841394140414141424143414441454146414741484149415041514152415341544155415641574158415941604161416241634164416541664167416841694170417141724173417441754176417741784179418041814182418341844185418641874188418941904191419241934194419541964197419841994200420142024203420442054206420742084209421042114212421342144215421642174218421942204221422242234224422542264227422842294230423142324233423442354236423742384239424042414242424342444245424642474248424942504251425242534254425542564257425842594260426142624263426442654266426742684269427042714272427342744275427642774278427942804281428242834284428542864287428842894290429142924293429442954296429742984299430043014302430343044305430643074308430943104311431243134314431543164317431843194320432143224323432443254326432743284329433043314332433343344335433643374338433943404341434243434344434543464347434843494350435143524353435443554356435743584359436043614362436343644365436643674368436943704371437243734374437543764377437843794380438143824383438443854386438743884389439043914392439343944395439643974398439944004401440244034404440544064407440844094410441144124413441444154416441744184419442044214422442344244425442644274428442944304431443244334434443544364437443844394440444144424443444444454446444744484449445044514452445344544455445644574458445944604461446244634464446544664467446844694470447144724473447444754476447744784479448044814482448344844485448644874488448944904491449244934494449544964497449844994500450145024503450445054506450745084509451045114512451345144515451645174518451945204521452245234524452545264527452845294530453145324533453445354536453745384539454045414542454345444545454645474548454945504551455245534554455545564557455845594560456145624563456445654566456745684569457045714572457345744575457645774578457945804581458245834584458545864587458845894590459145924593459445954596459745984599460046014602460346044605460646074608460946104611461246134614461546164617461846194620462146224623462446254626462746284629463046314632463346344635463646374638463946404641464246434644464546464647464846494650465146524653465446554656465746584659466046614662466346644665466646674668466946704671467246734674467546764677467846794680468146824683468446854686468746884689469046914692469346944695469646974698469947004701470247034704470547064707470847094710471147124713471447154716471747184719472047214722472347244725472647274728472947304731473247334734473547364737473847394740474147424743474447454746474747484749475047514752475347544755475647574758475947604761476247634764476547664767476847694770477147724773477447754776477747784779478047814782478347844785478647874788478947904791479247934794479547964797479847994800480148024803480448054806480748084809481048114812481348144815481648174818481948204821482248234824482548264827482848294830483148324833483448354836483748384839484048414842484348444845484648474848484948504851485248534854485548564857485848594860486148624863486448654866486748684869487048714872487348744875487648774878487948804881488248834884488548864887488848894890489148924893489448954896489748984899490049014902490349044905490649074908490949104911491249134914491549164917491849194920492149224923492449254926492749284929493049314932493349344935493649374938493949404941494249434944494549464947494849494950495149524953495449554956495749584959496049614962496349644965496649674968496949704971497249734974497549764977497849794980498149824983498449854986498749884989499049914992499349944995499649974998499950005001500250035004500550065007500850095010501150125013501450155016501750185019502050215022502350245025502650275028502950305031503250335034503550365037503850395040504150425043504450455046504750485049505050515052505350545055505650575058505950605061506250635064506550665067506850695070507150725073507450755076507750785079508050815082508350845085508650875088508950905091509250935094509550965097509850995100510151025103510451055106510751085109511051115112511351145115511651175118511951205121512251235124512551265127512851295130513151325133513451355136513751385139514051415142514351445145514651475148514951505151515251535154515551565157515851595160516151625163516451655166516751685169517051715172517351745175517651775178517951805181518251835184518551865187518851895190519151925193519451955196519751985199520052015202520352045205520652075208520952105211521252135214521552165217521852195220522152225223522452255226522752285229523052315232523352345235523652375238523952405241524252435244524552465247524852495250525152525253525452555256525752585259526052615262526352645265526652675268526952705271527252735274527552765277527852795280528152825283528452855286528752885289529052915292529352945295529652975298529953005301530253035304530553065307530853095310531153125313531453155316531753185319532053215322532353245325532653275328532953305331533253335334533553365337533853395340534153425343534453455346534753485349535053515352535353545355535653575358535953605361536253635364536553665367536853695370537153725373537453755376537753785379538053815382538353845385538653875388538953905391539253935394539553965397539853995400540154025403540454055406540754085409541054115412541354145415541654175418541954205421542254235424542554265427542854295430543154325433543454355436543754385439544054415442544354445445544654475448544954505451545254535454545554565457545854595460546154625463546454655466546754685469547054715472547354745475547654775478547954805481548254835484548554865487548854895490549154925493549454955496549754985499550055015502550355045505550655075508550955105511551255135514551555165517551855195520552155225523552455255526552755285529553055315532553355345535553655375538553955405541554255435544554555465547554855495550555155525553555455555556555755585559556055615562556355645565556655675568556955705571557255735574557555765577557855795580558155825583558455855586558755885589559055915592559355945595559655975598559956005601560256035604560556065607560856095610561156125613561456155616561756185619562056215622562356245625562656275628562956305631563256335634563556365637563856395640564156425643564456455646564756485649565056515652565356545655565656575658565956605661566256635664566556665667566856695670567156725673567456755676567756785679568056815682568356845685568656875688568956905691569256935694569556965697569856995700570157025703570457055706570757085709571057115712571357145715571657175718571957205721572257235724572557265727572857295730573157325733573457355736573757385739574057415742574357445745574657475748574957505751575257535754575557565757575857595760576157625763576457655766576757685769577057715772577357745775577657775778577957805781578257835784578557865787578857895790579157925793579457955796579757985799580058015802580358045805580658075808580958105811581258135814581558165817581858195820582158225823582458255826582758285829583058315832583358345835583658375838583958405841584258435844584558465847584858495850585158525853585458555856585758585859586058615862586358645865586658675868586958705871587258735874587558765877587858795880588158825883588458855886588758885889589058915892589358945895589658975898589959005901590259035904590559065907590859095910591159125913591459155916591759185919592059215922592359245925592659275928592959305931593259335934593559365937593859395940594159425943594459455946594759485949595059515952595359545955595659575958595959605961596259635964596559665967596859695970597159725973597459755976597759785979598059815982598359845985598659875988598959905991599259935994599559965997599859996000600160026003600460056006600760086009601060116012601360146015601660176018601960206021602260236024602560266027602860296030603160326033603460356036603760386039604060416042604360446045604660476048604960506051605260536054605560566057605860596060606160626063606460656066606760686069607060716072607360746075607660776078607960806081608260836084608560866087608860896090609160926093609460956096609760986099610061016102610361046105610661076108610961106111611261136114611561166117611861196120612161226123612461256126612761286129613061316132613361346135613661376138613961406141614261436144614561466147614861496150615161526153615461556156615761586159616061616162616361646165616661676168616961706171617261736174617561766177617861796180618161826183618461856186618761886189619061916192619361946195619661976198619962006201620262036204620562066207620862096210621162126213621462156216621762186219622062216222622362246225622662276228622962306231623262336234623562366237623862396240624162426243624462456246624762486249625062516252625362546255625662576258625962606261626262636264626562666267626862696270627162726273627462756276627762786279628062816282628362846285628662876288628962906291629262936294629562966297629862996300630163026303630463056306630763086309631063116312631363146315631663176318631963206321632263236324632563266327632863296330633163326333633463356336633763386339634063416342634363446345634663476348634963506351635263536354635563566357635863596360636163626363636463656366636763686369637063716372637363746375637663776378637963806381638263836384638563866387638863896390639163926393639463956396639763986399640064016402640364046405640664076408640964106411641264136414641564166417641864196420642164226423642464256426642764286429643064316432643364346435643664376438643964406441644264436444644564466447644864496450645164526453645464556456645764586459646064616462646364646465646664676468646964706471647264736474647564766477647864796480648164826483648464856486648764886489649064916492649364946495649664976498649965006501650265036504650565066507650865096510651165126513651465156516651765186519652065216522652365246525652665276528652965306531653265336534653565366537653865396540654165426543654465456546654765486549655065516552655365546555655665576558655965606561656265636564656565666567656865696570657165726573657465756576657765786579658065816582658365846585658665876588658965906591659265936594659565966597659865996600660166026603660466056606660766086609661066116612661366146615661666176618661966206621662266236624662566266627662866296630663166326633663466356636663766386639664066416642664366446645664666476648664966506651665266536654665566566657665866596660666166626663666466656666666766686669667066716672667366746675667666776678667966806681668266836684668566866687668866896690669166926693669466956696669766986699670067016702670367046705670667076708670967106711671267136714671567166717671867196720672167226723672467256726672767286729673067316732673367346735673667376738673967406741674267436744674567466747674867496750675167526753675467556756675767586759676067616762676367646765676667676768676967706771677267736774677567766777677867796780678167826783678467856786678767886789679067916792679367946795679667976798679968006801680268036804680568066807680868096810681168126813681468156816681768186819682068216822682368246825682668276828682968306831683268336834683568366837683868396840684168426843684468456846684768486849685068516852685368546855685668576858685968606861686268636864686568666867686868696870687168726873687468756876687768786879688068816882688368846885688668876888688968906891689268936894689568966897689868996900690169026903690469056906690769086909691069116912691369146915691669176918691969206921692269236924692569266927692869296930693169326933693469356936693769386939694069416942694369446945694669476948694969506951695269536954695569566957695869596960696169626963696469656966696769686969697069716972697369746975697669776978697969806981698269836984698569866987698869896990699169926993699469956996699769986999700070017002700370047005700670077008700970107011701270137014701570167017701870197020702170227023702470257026702770287029703070317032703370347035703670377038703970407041704270437044704570467047704870497050705170527053705470557056705770587059706070617062706370647065706670677068706970707071707270737074707570767077707870797080708170827083708470857086708770887089709070917092709370947095709670977098709971007101710271037104710571067107710871097110711171127113711471157116711771187119712071217122712371247125712671277128712971307131713271337134713571367137713871397140714171427143714471457146714771487149715071517152715371547155715671577158715971607161716271637164716571667167716871697170717171727173717471757176717771787179718071817182718371847185718671877188718971907191719271937194719571967197719871997200720172027203720472057206720772087209721072117212721372147215721672177218721972207221722272237224722572267227722872297230723172327233723472357236723772387239724072417242724372447245724672477248724972507251725272537254725572567257725872597260726172627263726472657266726772687269727072717272727372747275727672777278727972807281728272837284728572867287728872897290729172927293729472957296729772987299730073017302730373047305730673077308730973107311731273137314731573167317731873197320732173227323732473257326732773287329733073317332733373347335733673377338733973407341734273437344734573467347734873497350735173527353735473557356735773587359736073617362736373647365736673677368736973707371737273737374737573767377737873797380738173827383738473857386738773887389739073917392739373947395739673977398739974007401740274037404740574067407740874097410741174127413741474157416741774187419742074217422742374247425742674277428742974307431743274337434743574367437743874397440744174427443744474457446744774487449745074517452745374547455745674577458745974607461746274637464746574667467746874697470747174727473747474757476747774787479748074817482748374847485748674877488748974907491749274937494749574967497749874997500750175027503750475057506750775087509751075117512751375147515751675177518751975207521752275237524752575267527752875297530753175327533753475357536753775387539754075417542754375447545754675477548754975507551755275537554755575567557755875597560756175627563756475657566756775687569757075717572757375747575757675777578757975807581758275837584758575867587758875897590759175927593759475957596759775987599760076017602760376047605760676077608760976107611761276137614761576167617761876197620762176227623762476257626762776287629763076317632763376347635763676377638763976407641764276437644764576467647764876497650765176527653765476557656765776587659766076617662766376647665766676677668766976707671767276737674767576767677767876797680768176827683768476857686768776887689769076917692769376947695769676977698769977007701770277037704770577067707770877097710771177127713771477157716771777187719772077217722772377247725772677277728772977307731773277337734773577367737773877397740774177427743774477457746774777487749775077517752775377547755775677577758775977607761776277637764776577667767776877697770777177727773777477757776777777787779778077817782778377847785778677877788778977907791779277937794779577967797779877997800780178027803780478057806780778087809781078117812781378147815781678177818781978207821782278237824782578267827782878297830783178327833783478357836783778387839784078417842784378447845784678477848784978507851785278537854785578567857785878597860786178627863786478657866786778687869787078717872787378747875787678777878787978807881788278837884788578867887788878897890789178927893789478957896789778987899790079017902790379047905790679077908790979107911791279137914791579167917791879197920792179227923792479257926792779287929793079317932793379347935793679377938793979407941794279437944794579467947794879497950795179527953795479557956795779587959796079617962796379647965796679677968796979707971797279737974797579767977797879797980798179827983798479857986798779887989799079917992799379947995799679977998799980008001800280038004800580068007800880098010801180128013801480158016801780188019802080218022802380248025802680278028802980308031803280338034803580368037803880398040804180428043804480458046804780488049805080518052805380548055805680578058805980608061806280638064806580668067806880698070807180728073807480758076807780788079808080818082808380848085808680878088808980908091809280938094809580968097809880998100810181028103810481058106810781088109811081118112811381148115811681178118811981208121812281238124812581268127812881298130813181328133813481358136813781388139814081418142814381448145814681478148814981508151815281538154815581568157815881598160816181628163816481658166816781688169817081718172817381748175817681778178817981808181818281838184818581868187818881898190819181928193819481958196819781988199820082018202820382048205820682078208820982108211821282138214821582168217821882198220822182228223822482258226822782288229823082318232823382348235823682378238823982408241824282438244824582468247824882498250825182528253825482558256825782588259826082618262826382648265826682678268826982708271827282738274827582768277827882798280828182828283828482858286828782888289829082918292829382948295829682978298829983008301830283038304830583068307830883098310831183128313831483158316831783188319832083218322832383248325832683278328832983308331833283338334833583368337833883398340834183428343834483458346834783488349835083518352835383548355835683578358835983608361836283638364836583668367836883698370837183728373837483758376837783788379838083818382838383848385838683878388838983908391839283938394839583968397839883998400840184028403840484058406840784088409841084118412841384148415841684178418841984208421842284238424842584268427842884298430843184328433843484358436843784388439844084418442844384448445844684478448844984508451845284538454845584568457845884598460846184628463846484658466846784688469847084718472847384748475847684778478847984808481848284838484848584868487848884898490849184928493849484958496849784988499850085018502850385048505850685078508850985108511851285138514851585168517851885198520852185228523852485258526852785288529853085318532853385348535853685378538853985408541854285438544854585468547854885498550855185528553855485558556855785588559856085618562856385648565856685678568856985708571857285738574857585768577857885798580858185828583858485858586858785888589859085918592859385948595859685978598859986008601860286038604860586068607860886098610861186128613861486158616861786188619862086218622862386248625862686278628862986308631863286338634863586368637863886398640864186428643864486458646864786488649865086518652865386548655865686578658865986608661866286638664866586668667866886698670867186728673867486758676867786788679868086818682868386848685868686878688868986908691869286938694869586968697869886998700870187028703870487058706870787088709871087118712871387148715871687178718871987208721872287238724872587268727872887298730873187328733873487358736873787388739874087418742874387448745874687478748874987508751875287538754875587568757875887598760876187628763876487658766876787688769877087718772877387748775877687778778877987808781878287838784878587868787878887898790879187928793879487958796879787988799880088018802880388048805880688078808880988108811881288138814881588168817881888198820882188228823882488258826882788288829883088318832883388348835883688378838883988408841884288438844884588468847884888498850885188528853885488558856885788588859886088618862886388648865886688678868886988708871887288738874887588768877887888798880888188828883888488858886888788888889889088918892889388948895889688978898889989008901890289038904890589068907890889098910891189128913891489158916891789188919892089218922892389248925892689278928892989308931893289338934893589368937893889398940894189428943894489458946894789488949895089518952895389548955895689578958895989608961896289638964896589668967896889698970897189728973897489758976897789788979898089818982898389848985898689878988898989908991899289938994899589968997899889999000900190029003900490059006900790089009901090119012901390149015901690179018901990209021902290239024902590269027902890299030903190329033903490359036903790389039904090419042904390449045904690479048904990509051905290539054905590569057905890599060906190629063906490659066906790689069907090719072907390749075907690779078907990809081908290839084908590869087908890899090909190929093909490959096909790989099910091019102910391049105910691079108910991109111911291139114911591169117911891199120912191229123912491259126912791289129913091319132913391349135913691379138913991409141914291439144914591469147914891499150915191529153915491559156915791589159916091619162916391649165916691679168916991709171917291739174917591769177917891799180918191829183918491859186918791889189919091919192919391949195919691979198919992009201920292039204920592069207920892099210921192129213921492159216921792189219922092219222922392249225922692279228922992309231923292339234923592369237923892399240924192429243924492459246924792489249925092519252925392549255925692579258925992609261926292639264926592669267926892699270927192729273927492759276927792789279928092819282928392849285928692879288928992909291929292939294929592969297929892999300930193029303930493059306930793089309931093119312931393149315931693179318931993209321932293239324932593269327932893299330933193329333933493359336933793389339934093419342934393449345934693479348934993509351935293539354935593569357935893599360936193629363936493659366936793689369937093719372937393749375937693779378937993809381938293839384938593869387938893899390939193929393939493959396939793989399940094019402940394049405940694079408940994109411941294139414941594169417941894199420942194229423942494259426942794289429943094319432943394349435943694379438943994409441944294439444944594469447944894499450945194529453945494559456945794589459946094619462946394649465946694679468946994709471947294739474947594769477947894799480948194829483948494859486948794889489949094919492949394949495949694979498949995009501950295039504950595069507950895099510951195129513951495159516951795189519952095219522952395249525952695279528952995309531953295339534953595369537953895399540954195429543954495459546954795489549955095519552955395549555955695579558955995609561956295639564956595669567956895699570957195729573957495759576957795789579958095819582958395849585958695879588958995909591959295939594959595969597959895999600960196029603960496059606960796089609961096119612961396149615961696179618961996209621962296239624962596269627962896299630963196329633963496359636963796389639964096419642964396449645964696479648964996509651965296539654965596569657965896599660966196629663966496659666966796689669967096719672967396749675967696779678967996809681968296839684968596869687968896899690969196929693969496959696969796989699970097019702970397049705970697079708970997109711971297139714971597169717971897199720972197229723972497259726972797289729973097319732973397349735973697379738973997409741974297439744974597469747974897499750975197529753975497559756975797589759976097619762976397649765976697679768976997709771977297739774977597769777977897799780978197829783978497859786978797889789979097919792979397949795979697979798979998009801980298039804980598069807980898099810981198129813981498159816981798189819982098219822982398249825982698279828982998309831983298339834983598369837983898399840984198429843984498459846984798489849985098519852985398549855985698579858985998609861
  1. // This file is generated by rust-protobuf 2.8.1. Do not edit
  2. // @generated
  3. // https://github.com/Manishearth/rust-clippy/issues/702
  4. #![allow(unknown_lints)]
  5. #![allow(clippy::all)]
  6. #![cfg_attr(rustfmt, rustfmt_skip)]
  7. #![allow(box_pointers)]
  8. #![allow(dead_code)]
  9. #![allow(missing_docs)]
  10. #![allow(non_camel_case_types)]
  11. #![allow(non_snake_case)]
  12. #![allow(non_upper_case_globals)]
  13. #![allow(trivial_casts)]
  14. #![allow(unsafe_code)]
  15. #![allow(unused_imports)]
  16. #![allow(unused_results)]
  17. //! Generated file from `metadata.proto`
  18. use protobuf::Message as Message_imported_for_functions;
  19. use protobuf::ProtobufEnum as ProtobufEnum_imported_for_functions;
  20. /// Generated files are compatible only with the same version
  21. /// of protobuf runtime.
  22. const _PROTOBUF_VERSION_CHECK: () = ::protobuf::VERSION_2_8_1;
  23. #[derive(PartialEq,Clone,Default)]
  24. pub struct TopTracks {
  25. // message fields
  26. country: ::protobuf::SingularField<::std::string::String>,
  27. track: ::protobuf::RepeatedField<Track>,
  28. // special fields
  29. pub unknown_fields: ::protobuf::UnknownFields,
  30. pub cached_size: ::protobuf::CachedSize,
  31. }
  32. impl<'a> ::std::default::Default for &'a TopTracks {
  33. fn default() -> &'a TopTracks {
  34. <TopTracks as ::protobuf::Message>::default_instance()
  35. }
  36. }
  37. impl TopTracks {
  38. pub fn new() -> TopTracks {
  39. ::std::default::Default::default()
  40. }
  41. // optional string country = 1;
  42. pub fn get_country(&self) -> &str {
  43. match self.country.as_ref() {
  44. Some(v) => &v,
  45. None => "",
  46. }
  47. }
  48. pub fn clear_country(&mut self) {
  49. self.country.clear();
  50. }
  51. pub fn has_country(&self) -> bool {
  52. self.country.is_some()
  53. }
  54. // Param is passed by value, moved
  55. pub fn set_country(&mut self, v: ::std::string::String) {
  56. self.country = ::protobuf::SingularField::some(v);
  57. }
  58. // Mutable pointer to the field.
  59. // If field is not initialized, it is initialized with default value first.
  60. pub fn mut_country(&mut self) -> &mut ::std::string::String {
  61. if self.country.is_none() {
  62. self.country.set_default();
  63. }
  64. self.country.as_mut().unwrap()
  65. }
  66. // Take field
  67. pub fn take_country(&mut self) -> ::std::string::String {
  68. self.country.take().unwrap_or_else(|| ::std::string::String::new())
  69. }
  70. // repeated .Track track = 2;
  71. pub fn get_track(&self) -> &[Track] {
  72. &self.track
  73. }
  74. pub fn clear_track(&mut self) {
  75. self.track.clear();
  76. }
  77. // Param is passed by value, moved
  78. pub fn set_track(&mut self, v: ::protobuf::RepeatedField<Track>) {
  79. self.track = v;
  80. }
  81. // Mutable pointer to the field.
  82. pub fn mut_track(&mut self) -> &mut ::protobuf::RepeatedField<Track> {
  83. &mut self.track
  84. }
  85. // Take field
  86. pub fn take_track(&mut self) -> ::protobuf::RepeatedField<Track> {
  87. ::std::mem::replace(&mut self.track, ::protobuf::RepeatedField::new())
  88. }
  89. }
  90. impl ::protobuf::Message for TopTracks {
  91. fn is_initialized(&self) -> bool {
  92. for v in &self.track {
  93. if !v.is_initialized() {
  94. return false;
  95. }
  96. };
  97. true
  98. }
  99. fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
  100. while !is.eof()? {
  101. let (field_number, wire_type) = is.read_tag_unpack()?;
  102. match field_number {
  103. 1 => {
  104. ::protobuf::rt::read_singular_string_into(wire_type, is, &mut self.country)?;
  105. },
  106. 2 => {
  107. ::protobuf::rt::read_repeated_message_into(wire_type, is, &mut self.track)?;
  108. },
  109. _ => {
  110. ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
  111. },
  112. };
  113. }
  114. ::std::result::Result::Ok(())
  115. }
  116. // Compute sizes of nested messages
  117. #[allow(unused_variables)]
  118. fn compute_size(&self) -> u32 {
  119. let mut my_size = 0;
  120. if let Some(ref v) = self.country.as_ref() {
  121. my_size += ::protobuf::rt::string_size(1, &v);
  122. }
  123. for value in &self.track {
  124. let len = value.compute_size();
  125. my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
  126. };
  127. my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
  128. self.cached_size.set(my_size);
  129. my_size
  130. }
  131. fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
  132. if let Some(ref v) = self.country.as_ref() {
  133. os.write_string(1, &v)?;
  134. }
  135. for v in &self.track {
  136. os.write_tag(2, ::protobuf::wire_format::WireTypeLengthDelimited)?;
  137. os.write_raw_varint32(v.get_cached_size())?;
  138. v.write_to_with_cached_sizes(os)?;
  139. };
  140. os.write_unknown_fields(self.get_unknown_fields())?;
  141. ::std::result::Result::Ok(())
  142. }
  143. fn get_cached_size(&self) -> u32 {
  144. self.cached_size.get()
  145. }
  146. fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
  147. &self.unknown_fields
  148. }
  149. fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
  150. &mut self.unknown_fields
  151. }
  152. fn as_any(&self) -> &dyn (::std::any::Any) {
  153. self as &dyn (::std::any::Any)
  154. }
  155. fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
  156. self as &mut dyn (::std::any::Any)
  157. }
  158. fn into_any(self: Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
  159. self
  160. }
  161. fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
  162. Self::descriptor_static()
  163. }
  164. fn new() -> TopTracks {
  165. TopTracks::new()
  166. }
  167. fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
  168. static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy {
  169. lock: ::protobuf::lazy::ONCE_INIT,
  170. ptr: 0 as *const ::protobuf::reflect::MessageDescriptor,
  171. };
  172. unsafe {
  173. descriptor.get(|| {
  174. let mut fields = ::std::vec::Vec::new();
  175. fields.push(::protobuf::reflect::accessor::make_singular_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
  176. "country",
  177. |m: &TopTracks| { &m.country },
  178. |m: &mut TopTracks| { &mut m.country },
  179. ));
  180. fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<Track>>(
  181. "track",
  182. |m: &TopTracks| { &m.track },
  183. |m: &mut TopTracks| { &mut m.track },
  184. ));
  185. ::protobuf::reflect::MessageDescriptor::new::<TopTracks>(
  186. "TopTracks",
  187. fields,
  188. file_descriptor_proto()
  189. )
  190. })
  191. }
  192. }
  193. fn default_instance() -> &'static TopTracks {
  194. static mut instance: ::protobuf::lazy::Lazy<TopTracks> = ::protobuf::lazy::Lazy {
  195. lock: ::protobuf::lazy::ONCE_INIT,
  196. ptr: 0 as *const TopTracks,
  197. };
  198. unsafe {
  199. instance.get(TopTracks::new)
  200. }
  201. }
  202. }
  203. impl ::protobuf::Clear for TopTracks {
  204. fn clear(&mut self) {
  205. self.country.clear();
  206. self.track.clear();
  207. self.unknown_fields.clear();
  208. }
  209. }
  210. impl ::std::fmt::Debug for TopTracks {
  211. fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
  212. ::protobuf::text_format::fmt(self, f)
  213. }
  214. }
  215. impl ::protobuf::reflect::ProtobufValue for TopTracks {
  216. fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef {
  217. ::protobuf::reflect::ProtobufValueRef::Message(self)
  218. }
  219. }
  220. #[derive(PartialEq,Clone,Default)]
  221. pub struct ActivityPeriod {
  222. // message fields
  223. start_year: ::std::option::Option<i32>,
  224. end_year: ::std::option::Option<i32>,
  225. decade: ::std::option::Option<i32>,
  226. // special fields
  227. pub unknown_fields: ::protobuf::UnknownFields,
  228. pub cached_size: ::protobuf::CachedSize,
  229. }
  230. impl<'a> ::std::default::Default for &'a ActivityPeriod {
  231. fn default() -> &'a ActivityPeriod {
  232. <ActivityPeriod as ::protobuf::Message>::default_instance()
  233. }
  234. }
  235. impl ActivityPeriod {
  236. pub fn new() -> ActivityPeriod {
  237. ::std::default::Default::default()
  238. }
  239. // optional sint32 start_year = 1;
  240. pub fn get_start_year(&self) -> i32 {
  241. self.start_year.unwrap_or(0)
  242. }
  243. pub fn clear_start_year(&mut self) {
  244. self.start_year = ::std::option::Option::None;
  245. }
  246. pub fn has_start_year(&self) -> bool {
  247. self.start_year.is_some()
  248. }
  249. // Param is passed by value, moved
  250. pub fn set_start_year(&mut self, v: i32) {
  251. self.start_year = ::std::option::Option::Some(v);
  252. }
  253. // optional sint32 end_year = 2;
  254. pub fn get_end_year(&self) -> i32 {
  255. self.end_year.unwrap_or(0)
  256. }
  257. pub fn clear_end_year(&mut self) {
  258. self.end_year = ::std::option::Option::None;
  259. }
  260. pub fn has_end_year(&self) -> bool {
  261. self.end_year.is_some()
  262. }
  263. // Param is passed by value, moved
  264. pub fn set_end_year(&mut self, v: i32) {
  265. self.end_year = ::std::option::Option::Some(v);
  266. }
  267. // optional sint32 decade = 3;
  268. pub fn get_decade(&self) -> i32 {
  269. self.decade.unwrap_or(0)
  270. }
  271. pub fn clear_decade(&mut self) {
  272. self.decade = ::std::option::Option::None;
  273. }
  274. pub fn has_decade(&self) -> bool {
  275. self.decade.is_some()
  276. }
  277. // Param is passed by value, moved
  278. pub fn set_decade(&mut self, v: i32) {
  279. self.decade = ::std::option::Option::Some(v);
  280. }
  281. }
  282. impl ::protobuf::Message for ActivityPeriod {
  283. fn is_initialized(&self) -> bool {
  284. true
  285. }
  286. fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
  287. while !is.eof()? {
  288. let (field_number, wire_type) = is.read_tag_unpack()?;
  289. match field_number {
  290. 1 => {
  291. if wire_type != ::protobuf::wire_format::WireTypeVarint {
  292. return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
  293. }
  294. let tmp = is.read_sint32()?;
  295. self.start_year = ::std::option::Option::Some(tmp);
  296. },
  297. 2 => {
  298. if wire_type != ::protobuf::wire_format::WireTypeVarint {
  299. return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
  300. }
  301. let tmp = is.read_sint32()?;
  302. self.end_year = ::std::option::Option::Some(tmp);
  303. },
  304. 3 => {
  305. if wire_type != ::protobuf::wire_format::WireTypeVarint {
  306. return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
  307. }
  308. let tmp = is.read_sint32()?;
  309. self.decade = ::std::option::Option::Some(tmp);
  310. },
  311. _ => {
  312. ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
  313. },
  314. };
  315. }
  316. ::std::result::Result::Ok(())
  317. }
  318. // Compute sizes of nested messages
  319. #[allow(unused_variables)]
  320. fn compute_size(&self) -> u32 {
  321. let mut my_size = 0;
  322. if let Some(v) = self.start_year {
  323. my_size += ::protobuf::rt::value_varint_zigzag_size(1, v);
  324. }
  325. if let Some(v) = self.end_year {
  326. my_size += ::protobuf::rt::value_varint_zigzag_size(2, v);
  327. }
  328. if let Some(v) = self.decade {
  329. my_size += ::protobuf::rt::value_varint_zigzag_size(3, v);
  330. }
  331. my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
  332. self.cached_size.set(my_size);
  333. my_size
  334. }
  335. fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
  336. if let Some(v) = self.start_year {
  337. os.write_sint32(1, v)?;
  338. }
  339. if let Some(v) = self.end_year {
  340. os.write_sint32(2, v)?;
  341. }
  342. if let Some(v) = self.decade {
  343. os.write_sint32(3, v)?;
  344. }
  345. os.write_unknown_fields(self.get_unknown_fields())?;
  346. ::std::result::Result::Ok(())
  347. }
  348. fn get_cached_size(&self) -> u32 {
  349. self.cached_size.get()
  350. }
  351. fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
  352. &self.unknown_fields
  353. }
  354. fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
  355. &mut self.unknown_fields
  356. }
  357. fn as_any(&self) -> &dyn (::std::any::Any) {
  358. self as &dyn (::std::any::Any)
  359. }
  360. fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
  361. self as &mut dyn (::std::any::Any)
  362. }
  363. fn into_any(self: Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
  364. self
  365. }
  366. fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
  367. Self::descriptor_static()
  368. }
  369. fn new() -> ActivityPeriod {
  370. ActivityPeriod::new()
  371. }
  372. fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
  373. static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy {
  374. lock: ::protobuf::lazy::ONCE_INIT,
  375. ptr: 0 as *const ::protobuf::reflect::MessageDescriptor,
  376. };
  377. unsafe {
  378. descriptor.get(|| {
  379. let mut fields = ::std::vec::Vec::new();
  380. fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeSint32>(
  381. "start_year",
  382. |m: &ActivityPeriod| { &m.start_year },
  383. |m: &mut ActivityPeriod| { &mut m.start_year },
  384. ));
  385. fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeSint32>(
  386. "end_year",
  387. |m: &ActivityPeriod| { &m.end_year },
  388. |m: &mut ActivityPeriod| { &mut m.end_year },
  389. ));
  390. fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeSint32>(
  391. "decade",
  392. |m: &ActivityPeriod| { &m.decade },
  393. |m: &mut ActivityPeriod| { &mut m.decade },
  394. ));
  395. ::protobuf::reflect::MessageDescriptor::new::<ActivityPeriod>(
  396. "ActivityPeriod",
  397. fields,
  398. file_descriptor_proto()
  399. )
  400. })
  401. }
  402. }
  403. fn default_instance() -> &'static ActivityPeriod {
  404. static mut instance: ::protobuf::lazy::Lazy<ActivityPeriod> = ::protobuf::lazy::Lazy {
  405. lock: ::protobuf::lazy::ONCE_INIT,
  406. ptr: 0 as *const ActivityPeriod,
  407. };
  408. unsafe {
  409. instance.get(ActivityPeriod::new)
  410. }
  411. }
  412. }
  413. impl ::protobuf::Clear for ActivityPeriod {
  414. fn clear(&mut self) {
  415. self.start_year = ::std::option::Option::None;
  416. self.end_year = ::std::option::Option::None;
  417. self.decade = ::std::option::Option::None;
  418. self.unknown_fields.clear();
  419. }
  420. }
  421. impl ::std::fmt::Debug for ActivityPeriod {
  422. fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
  423. ::protobuf::text_format::fmt(self, f)
  424. }
  425. }
  426. impl ::protobuf::reflect::ProtobufValue for ActivityPeriod {
  427. fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef {
  428. ::protobuf::reflect::ProtobufValueRef::Message(self)
  429. }
  430. }
  431. #[derive(PartialEq,Clone,Default)]
  432. pub struct Artist {
  433. // message fields
  434. gid: ::protobuf::SingularField<::std::vec::Vec<u8>>,
  435. name: ::protobuf::SingularField<::std::string::String>,
  436. popularity: ::std::option::Option<i32>,
  437. top_track: ::protobuf::RepeatedField<TopTracks>,
  438. album_group: ::protobuf::RepeatedField<AlbumGroup>,
  439. single_group: ::protobuf::RepeatedField<AlbumGroup>,
  440. compilation_group: ::protobuf::RepeatedField<AlbumGroup>,
  441. appears_on_group: ::protobuf::RepeatedField<AlbumGroup>,
  442. genre: ::protobuf::RepeatedField<::std::string::String>,
  443. external_id: ::protobuf::RepeatedField<ExternalId>,
  444. portrait: ::protobuf::RepeatedField<Image>,
  445. biography: ::protobuf::RepeatedField<Biography>,
  446. activity_period: ::protobuf::RepeatedField<ActivityPeriod>,
  447. restriction: ::protobuf::RepeatedField<Restriction>,
  448. related: ::protobuf::RepeatedField<Artist>,
  449. is_portrait_album_cover: ::std::option::Option<bool>,
  450. portrait_group: ::protobuf::SingularPtrField<ImageGroup>,
  451. // special fields
  452. pub unknown_fields: ::protobuf::UnknownFields,
  453. pub cached_size: ::protobuf::CachedSize,
  454. }
  455. impl<'a> ::std::default::Default for &'a Artist {
  456. fn default() -> &'a Artist {
  457. <Artist as ::protobuf::Message>::default_instance()
  458. }
  459. }
  460. impl Artist {
  461. pub fn new() -> Artist {
  462. ::std::default::Default::default()
  463. }
  464. // optional bytes gid = 1;
  465. pub fn get_gid(&self) -> &[u8] {
  466. match self.gid.as_ref() {
  467. Some(v) => &v,
  468. None => &[],
  469. }
  470. }
  471. pub fn clear_gid(&mut self) {
  472. self.gid.clear();
  473. }
  474. pub fn has_gid(&self) -> bool {
  475. self.gid.is_some()
  476. }
  477. // Param is passed by value, moved
  478. pub fn set_gid(&mut self, v: ::std::vec::Vec<u8>) {
  479. self.gid = ::protobuf::SingularField::some(v);
  480. }
  481. // Mutable pointer to the field.
  482. // If field is not initialized, it is initialized with default value first.
  483. pub fn mut_gid(&mut self) -> &mut ::std::vec::Vec<u8> {
  484. if self.gid.is_none() {
  485. self.gid.set_default();
  486. }
  487. self.gid.as_mut().unwrap()
  488. }
  489. // Take field
  490. pub fn take_gid(&mut self) -> ::std::vec::Vec<u8> {
  491. self.gid.take().unwrap_or_else(|| ::std::vec::Vec::new())
  492. }
  493. // optional string name = 2;
  494. pub fn get_name(&self) -> &str {
  495. match self.name.as_ref() {
  496. Some(v) => &v,
  497. None => "",
  498. }
  499. }
  500. pub fn clear_name(&mut self) {
  501. self.name.clear();
  502. }
  503. pub fn has_name(&self) -> bool {
  504. self.name.is_some()
  505. }
  506. // Param is passed by value, moved
  507. pub fn set_name(&mut self, v: ::std::string::String) {
  508. self.name = ::protobuf::SingularField::some(v);
  509. }
  510. // Mutable pointer to the field.
  511. // If field is not initialized, it is initialized with default value first.
  512. pub fn mut_name(&mut self) -> &mut ::std::string::String {
  513. if self.name.is_none() {
  514. self.name.set_default();
  515. }
  516. self.name.as_mut().unwrap()
  517. }
  518. // Take field
  519. pub fn take_name(&mut self) -> ::std::string::String {
  520. self.name.take().unwrap_or_else(|| ::std::string::String::new())
  521. }
  522. // optional sint32 popularity = 3;
  523. pub fn get_popularity(&self) -> i32 {
  524. self.popularity.unwrap_or(0)
  525. }
  526. pub fn clear_popularity(&mut self) {
  527. self.popularity = ::std::option::Option::None;
  528. }
  529. pub fn has_popularity(&self) -> bool {
  530. self.popularity.is_some()
  531. }
  532. // Param is passed by value, moved
  533. pub fn set_popularity(&mut self, v: i32) {
  534. self.popularity = ::std::option::Option::Some(v);
  535. }
  536. // repeated .TopTracks top_track = 4;
  537. pub fn get_top_track(&self) -> &[TopTracks] {
  538. &self.top_track
  539. }
  540. pub fn clear_top_track(&mut self) {
  541. self.top_track.clear();
  542. }
  543. // Param is passed by value, moved
  544. pub fn set_top_track(&mut self, v: ::protobuf::RepeatedField<TopTracks>) {
  545. self.top_track = v;
  546. }
  547. // Mutable pointer to the field.
  548. pub fn mut_top_track(&mut self) -> &mut ::protobuf::RepeatedField<TopTracks> {
  549. &mut self.top_track
  550. }
  551. // Take field
  552. pub fn take_top_track(&mut self) -> ::protobuf::RepeatedField<TopTracks> {
  553. ::std::mem::replace(&mut self.top_track, ::protobuf::RepeatedField::new())
  554. }
  555. // repeated .AlbumGroup album_group = 5;
  556. pub fn get_album_group(&self) -> &[AlbumGroup] {
  557. &self.album_group
  558. }
  559. pub fn clear_album_group(&mut self) {
  560. self.album_group.clear();
  561. }
  562. // Param is passed by value, moved
  563. pub fn set_album_group(&mut self, v: ::protobuf::RepeatedField<AlbumGroup>) {
  564. self.album_group = v;
  565. }
  566. // Mutable pointer to the field.
  567. pub fn mut_album_group(&mut self) -> &mut ::protobuf::RepeatedField<AlbumGroup> {
  568. &mut self.album_group
  569. }
  570. // Take field
  571. pub fn take_album_group(&mut self) -> ::protobuf::RepeatedField<AlbumGroup> {
  572. ::std::mem::replace(&mut self.album_group, ::protobuf::RepeatedField::new())
  573. }
  574. // repeated .AlbumGroup single_group = 6;
  575. pub fn get_single_group(&self) -> &[AlbumGroup] {
  576. &self.single_group
  577. }
  578. pub fn clear_single_group(&mut self) {
  579. self.single_group.clear();
  580. }
  581. // Param is passed by value, moved
  582. pub fn set_single_group(&mut self, v: ::protobuf::RepeatedField<AlbumGroup>) {
  583. self.single_group = v;
  584. }
  585. // Mutable pointer to the field.
  586. pub fn mut_single_group(&mut self) -> &mut ::protobuf::RepeatedField<AlbumGroup> {
  587. &mut self.single_group
  588. }
  589. // Take field
  590. pub fn take_single_group(&mut self) -> ::protobuf::RepeatedField<AlbumGroup> {
  591. ::std::mem::replace(&mut self.single_group, ::protobuf::RepeatedField::new())
  592. }
  593. // repeated .AlbumGroup compilation_group = 7;
  594. pub fn get_compilation_group(&self) -> &[AlbumGroup] {
  595. &self.compilation_group
  596. }
  597. pub fn clear_compilation_group(&mut self) {
  598. self.compilation_group.clear();
  599. }
  600. // Param is passed by value, moved
  601. pub fn set_compilation_group(&mut self, v: ::protobuf::RepeatedField<AlbumGroup>) {
  602. self.compilation_group = v;
  603. }
  604. // Mutable pointer to the field.
  605. pub fn mut_compilation_group(&mut self) -> &mut ::protobuf::RepeatedField<AlbumGroup> {
  606. &mut self.compilation_group
  607. }
  608. // Take field
  609. pub fn take_compilation_group(&mut self) -> ::protobuf::RepeatedField<AlbumGroup> {
  610. ::std::mem::replace(&mut self.compilation_group, ::protobuf::RepeatedField::new())
  611. }
  612. // repeated .AlbumGroup appears_on_group = 8;
  613. pub fn get_appears_on_group(&self) -> &[AlbumGroup] {
  614. &self.appears_on_group
  615. }
  616. pub fn clear_appears_on_group(&mut self) {
  617. self.appears_on_group.clear();
  618. }
  619. // Param is passed by value, moved
  620. pub fn set_appears_on_group(&mut self, v: ::protobuf::RepeatedField<AlbumGroup>) {
  621. self.appears_on_group = v;
  622. }
  623. // Mutable pointer to the field.
  624. pub fn mut_appears_on_group(&mut self) -> &mut ::protobuf::RepeatedField<AlbumGroup> {
  625. &mut self.appears_on_group
  626. }
  627. // Take field
  628. pub fn take_appears_on_group(&mut self) -> ::protobuf::RepeatedField<AlbumGroup> {
  629. ::std::mem::replace(&mut self.appears_on_group, ::protobuf::RepeatedField::new())
  630. }
  631. // repeated string genre = 9;
  632. pub fn get_genre(&self) -> &[::std::string::String] {
  633. &self.genre
  634. }
  635. pub fn clear_genre(&mut self) {
  636. self.genre.clear();
  637. }
  638. // Param is passed by value, moved
  639. pub fn set_genre(&mut self, v: ::protobuf::RepeatedField<::std::string::String>) {
  640. self.genre = v;
  641. }
  642. // Mutable pointer to the field.
  643. pub fn mut_genre(&mut self) -> &mut ::protobuf::RepeatedField<::std::string::String> {
  644. &mut self.genre
  645. }
  646. // Take field
  647. pub fn take_genre(&mut self) -> ::protobuf::RepeatedField<::std::string::String> {
  648. ::std::mem::replace(&mut self.genre, ::protobuf::RepeatedField::new())
  649. }
  650. // repeated .ExternalId external_id = 10;
  651. pub fn get_external_id(&self) -> &[ExternalId] {
  652. &self.external_id
  653. }
  654. pub fn clear_external_id(&mut self) {
  655. self.external_id.clear();
  656. }
  657. // Param is passed by value, moved
  658. pub fn set_external_id(&mut self, v: ::protobuf::RepeatedField<ExternalId>) {
  659. self.external_id = v;
  660. }
  661. // Mutable pointer to the field.
  662. pub fn mut_external_id(&mut self) -> &mut ::protobuf::RepeatedField<ExternalId> {
  663. &mut self.external_id
  664. }
  665. // Take field
  666. pub fn take_external_id(&mut self) -> ::protobuf::RepeatedField<ExternalId> {
  667. ::std::mem::replace(&mut self.external_id, ::protobuf::RepeatedField::new())
  668. }
  669. // repeated .Image portrait = 11;
  670. pub fn get_portrait(&self) -> &[Image] {
  671. &self.portrait
  672. }
  673. pub fn clear_portrait(&mut self) {
  674. self.portrait.clear();
  675. }
  676. // Param is passed by value, moved
  677. pub fn set_portrait(&mut self, v: ::protobuf::RepeatedField<Image>) {
  678. self.portrait = v;
  679. }
  680. // Mutable pointer to the field.
  681. pub fn mut_portrait(&mut self) -> &mut ::protobuf::RepeatedField<Image> {
  682. &mut self.portrait
  683. }
  684. // Take field
  685. pub fn take_portrait(&mut self) -> ::protobuf::RepeatedField<Image> {
  686. ::std::mem::replace(&mut self.portrait, ::protobuf::RepeatedField::new())
  687. }
  688. // repeated .Biography biography = 12;
  689. pub fn get_biography(&self) -> &[Biography] {
  690. &self.biography
  691. }
  692. pub fn clear_biography(&mut self) {
  693. self.biography.clear();
  694. }
  695. // Param is passed by value, moved
  696. pub fn set_biography(&mut self, v: ::protobuf::RepeatedField<Biography>) {
  697. self.biography = v;
  698. }
  699. // Mutable pointer to the field.
  700. pub fn mut_biography(&mut self) -> &mut ::protobuf::RepeatedField<Biography> {
  701. &mut self.biography
  702. }
  703. // Take field
  704. pub fn take_biography(&mut self) -> ::protobuf::RepeatedField<Biography> {
  705. ::std::mem::replace(&mut self.biography, ::protobuf::RepeatedField::new())
  706. }
  707. // repeated .ActivityPeriod activity_period = 13;
  708. pub fn get_activity_period(&self) -> &[ActivityPeriod] {
  709. &self.activity_period
  710. }
  711. pub fn clear_activity_period(&mut self) {
  712. self.activity_period.clear();
  713. }
  714. // Param is passed by value, moved
  715. pub fn set_activity_period(&mut self, v: ::protobuf::RepeatedField<ActivityPeriod>) {
  716. self.activity_period = v;
  717. }
  718. // Mutable pointer to the field.
  719. pub fn mut_activity_period(&mut self) -> &mut ::protobuf::RepeatedField<ActivityPeriod> {
  720. &mut self.activity_period
  721. }
  722. // Take field
  723. pub fn take_activity_period(&mut self) -> ::protobuf::RepeatedField<ActivityPeriod> {
  724. ::std::mem::replace(&mut self.activity_period, ::protobuf::RepeatedField::new())
  725. }
  726. // repeated .Restriction restriction = 14;
  727. pub fn get_restriction(&self) -> &[Restriction] {
  728. &self.restriction
  729. }
  730. pub fn clear_restriction(&mut self) {
  731. self.restriction.clear();
  732. }
  733. // Param is passed by value, moved
  734. pub fn set_restriction(&mut self, v: ::protobuf::RepeatedField<Restriction>) {
  735. self.restriction = v;
  736. }
  737. // Mutable pointer to the field.
  738. pub fn mut_restriction(&mut self) -> &mut ::protobuf::RepeatedField<Restriction> {
  739. &mut self.restriction
  740. }
  741. // Take field
  742. pub fn take_restriction(&mut self) -> ::protobuf::RepeatedField<Restriction> {
  743. ::std::mem::replace(&mut self.restriction, ::protobuf::RepeatedField::new())
  744. }
  745. // repeated .Artist related = 15;
  746. pub fn get_related(&self) -> &[Artist] {
  747. &self.related
  748. }
  749. pub fn clear_related(&mut self) {
  750. self.related.clear();
  751. }
  752. // Param is passed by value, moved
  753. pub fn set_related(&mut self, v: ::protobuf::RepeatedField<Artist>) {
  754. self.related = v;
  755. }
  756. // Mutable pointer to the field.
  757. pub fn mut_related(&mut self) -> &mut ::protobuf::RepeatedField<Artist> {
  758. &mut self.related
  759. }
  760. // Take field
  761. pub fn take_related(&mut self) -> ::protobuf::RepeatedField<Artist> {
  762. ::std::mem::replace(&mut self.related, ::protobuf::RepeatedField::new())
  763. }
  764. // optional bool is_portrait_album_cover = 16;
  765. pub fn get_is_portrait_album_cover(&self) -> bool {
  766. self.is_portrait_album_cover.unwrap_or(false)
  767. }
  768. pub fn clear_is_portrait_album_cover(&mut self) {
  769. self.is_portrait_album_cover = ::std::option::Option::None;
  770. }
  771. pub fn has_is_portrait_album_cover(&self) -> bool {
  772. self.is_portrait_album_cover.is_some()
  773. }
  774. // Param is passed by value, moved
  775. pub fn set_is_portrait_album_cover(&mut self, v: bool) {
  776. self.is_portrait_album_cover = ::std::option::Option::Some(v);
  777. }
  778. // optional .ImageGroup portrait_group = 17;
  779. pub fn get_portrait_group(&self) -> &ImageGroup {
  780. self.portrait_group.as_ref().unwrap_or_else(|| ImageGroup::default_instance())
  781. }
  782. pub fn clear_portrait_group(&mut self) {
  783. self.portrait_group.clear();
  784. }
  785. pub fn has_portrait_group(&self) -> bool {
  786. self.portrait_group.is_some()
  787. }
  788. // Param is passed by value, moved
  789. pub fn set_portrait_group(&mut self, v: ImageGroup) {
  790. self.portrait_group = ::protobuf::SingularPtrField::some(v);
  791. }
  792. // Mutable pointer to the field.
  793. // If field is not initialized, it is initialized with default value first.
  794. pub fn mut_portrait_group(&mut self) -> &mut ImageGroup {
  795. if self.portrait_group.is_none() {
  796. self.portrait_group.set_default();
  797. }
  798. self.portrait_group.as_mut().unwrap()
  799. }
  800. // Take field
  801. pub fn take_portrait_group(&mut self) -> ImageGroup {
  802. self.portrait_group.take().unwrap_or_else(|| ImageGroup::new())
  803. }
  804. }
  805. impl ::protobuf::Message for Artist {
  806. fn is_initialized(&self) -> bool {
  807. for v in &self.top_track {
  808. if !v.is_initialized() {
  809. return false;
  810. }
  811. };
  812. for v in &self.album_group {
  813. if !v.is_initialized() {
  814. return false;
  815. }
  816. };
  817. for v in &self.single_group {
  818. if !v.is_initialized() {
  819. return false;
  820. }
  821. };
  822. for v in &self.compilation_group {
  823. if !v.is_initialized() {
  824. return false;
  825. }
  826. };
  827. for v in &self.appears_on_group {
  828. if !v.is_initialized() {
  829. return false;
  830. }
  831. };
  832. for v in &self.external_id {
  833. if !v.is_initialized() {
  834. return false;
  835. }
  836. };
  837. for v in &self.portrait {
  838. if !v.is_initialized() {
  839. return false;
  840. }
  841. };
  842. for v in &self.biography {
  843. if !v.is_initialized() {
  844. return false;
  845. }
  846. };
  847. for v in &self.activity_period {
  848. if !v.is_initialized() {
  849. return false;
  850. }
  851. };
  852. for v in &self.restriction {
  853. if !v.is_initialized() {
  854. return false;
  855. }
  856. };
  857. for v in &self.related {
  858. if !v.is_initialized() {
  859. return false;
  860. }
  861. };
  862. for v in &self.portrait_group {
  863. if !v.is_initialized() {
  864. return false;
  865. }
  866. };
  867. true
  868. }
  869. fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
  870. while !is.eof()? {
  871. let (field_number, wire_type) = is.read_tag_unpack()?;
  872. match field_number {
  873. 1 => {
  874. ::protobuf::rt::read_singular_bytes_into(wire_type, is, &mut self.gid)?;
  875. },
  876. 2 => {
  877. ::protobuf::rt::read_singular_string_into(wire_type, is, &mut self.name)?;
  878. },
  879. 3 => {
  880. if wire_type != ::protobuf::wire_format::WireTypeVarint {
  881. return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
  882. }
  883. let tmp = is.read_sint32()?;
  884. self.popularity = ::std::option::Option::Some(tmp);
  885. },
  886. 4 => {
  887. ::protobuf::rt::read_repeated_message_into(wire_type, is, &mut self.top_track)?;
  888. },
  889. 5 => {
  890. ::protobuf::rt::read_repeated_message_into(wire_type, is, &mut self.album_group)?;
  891. },
  892. 6 => {
  893. ::protobuf::rt::read_repeated_message_into(wire_type, is, &mut self.single_group)?;
  894. },
  895. 7 => {
  896. ::protobuf::rt::read_repeated_message_into(wire_type, is, &mut self.compilation_group)?;
  897. },
  898. 8 => {
  899. ::protobuf::rt::read_repeated_message_into(wire_type, is, &mut self.appears_on_group)?;
  900. },
  901. 9 => {
  902. ::protobuf::rt::read_repeated_string_into(wire_type, is, &mut self.genre)?;
  903. },
  904. 10 => {
  905. ::protobuf::rt::read_repeated_message_into(wire_type, is, &mut self.external_id)?;
  906. },
  907. 11 => {
  908. ::protobuf::rt::read_repeated_message_into(wire_type, is, &mut self.portrait)?;
  909. },
  910. 12 => {
  911. ::protobuf::rt::read_repeated_message_into(wire_type, is, &mut self.biography)?;
  912. },
  913. 13 => {
  914. ::protobuf::rt::read_repeated_message_into(wire_type, is, &mut self.activity_period)?;
  915. },
  916. 14 => {
  917. ::protobuf::rt::read_repeated_message_into(wire_type, is, &mut self.restriction)?;
  918. },
  919. 15 => {
  920. ::protobuf::rt::read_repeated_message_into(wire_type, is, &mut self.related)?;
  921. },
  922. 16 => {
  923. if wire_type != ::protobuf::wire_format::WireTypeVarint {
  924. return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
  925. }
  926. let tmp = is.read_bool()?;
  927. self.is_portrait_album_cover = ::std::option::Option::Some(tmp);
  928. },
  929. 17 => {
  930. ::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.portrait_group)?;
  931. },
  932. _ => {
  933. ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
  934. },
  935. };
  936. }
  937. ::std::result::Result::Ok(())
  938. }
  939. // Compute sizes of nested messages
  940. #[allow(unused_variables)]
  941. fn compute_size(&self) -> u32 {
  942. let mut my_size = 0;
  943. if let Some(ref v) = self.gid.as_ref() {
  944. my_size += ::protobuf::rt::bytes_size(1, &v);
  945. }
  946. if let Some(ref v) = self.name.as_ref() {
  947. my_size += ::protobuf::rt::string_size(2, &v);
  948. }
  949. if let Some(v) = self.popularity {
  950. my_size += ::protobuf::rt::value_varint_zigzag_size(3, v);
  951. }
  952. for value in &self.top_track {
  953. let len = value.compute_size();
  954. my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
  955. };
  956. for value in &self.album_group {
  957. let len = value.compute_size();
  958. my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
  959. };
  960. for value in &self.single_group {
  961. let len = value.compute_size();
  962. my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
  963. };
  964. for value in &self.compilation_group {
  965. let len = value.compute_size();
  966. my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
  967. };
  968. for value in &self.appears_on_group {
  969. let len = value.compute_size();
  970. my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
  971. };
  972. for value in &self.genre {
  973. my_size += ::protobuf::rt::string_size(9, &value);
  974. };
  975. for value in &self.external_id {
  976. let len = value.compute_size();
  977. my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
  978. };
  979. for value in &self.portrait {
  980. let len = value.compute_size();
  981. my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
  982. };
  983. for value in &self.biography {
  984. let len = value.compute_size();
  985. my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
  986. };
  987. for value in &self.activity_period {
  988. let len = value.compute_size();
  989. my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
  990. };
  991. for value in &self.restriction {
  992. let len = value.compute_size();
  993. my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
  994. };
  995. for value in &self.related {
  996. let len = value.compute_size();
  997. my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
  998. };
  999. if let Some(v) = self.is_portrait_album_cover {
  1000. my_size += 3;
  1001. }
  1002. if let Some(ref v) = self.portrait_group.as_ref() {
  1003. let len = v.compute_size();
  1004. my_size += 2 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
  1005. }
  1006. my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
  1007. self.cached_size.set(my_size);
  1008. my_size
  1009. }
  1010. fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
  1011. if let Some(ref v) = self.gid.as_ref() {
  1012. os.write_bytes(1, &v)?;
  1013. }
  1014. if let Some(ref v) = self.name.as_ref() {
  1015. os.write_string(2, &v)?;
  1016. }
  1017. if let Some(v) = self.popularity {
  1018. os.write_sint32(3, v)?;
  1019. }
  1020. for v in &self.top_track {
  1021. os.write_tag(4, ::protobuf::wire_format::WireTypeLengthDelimited)?;
  1022. os.write_raw_varint32(v.get_cached_size())?;
  1023. v.write_to_with_cached_sizes(os)?;
  1024. };
  1025. for v in &self.album_group {
  1026. os.write_tag(5, ::protobuf::wire_format::WireTypeLengthDelimited)?;
  1027. os.write_raw_varint32(v.get_cached_size())?;
  1028. v.write_to_with_cached_sizes(os)?;
  1029. };
  1030. for v in &self.single_group {
  1031. os.write_tag(6, ::protobuf::wire_format::WireTypeLengthDelimited)?;
  1032. os.write_raw_varint32(v.get_cached_size())?;
  1033. v.write_to_with_cached_sizes(os)?;
  1034. };
  1035. for v in &self.compilation_group {
  1036. os.write_tag(7, ::protobuf::wire_format::WireTypeLengthDelimited)?;
  1037. os.write_raw_varint32(v.get_cached_size())?;
  1038. v.write_to_with_cached_sizes(os)?;
  1039. };
  1040. for v in &self.appears_on_group {
  1041. os.write_tag(8, ::protobuf::wire_format::WireTypeLengthDelimited)?;
  1042. os.write_raw_varint32(v.get_cached_size())?;
  1043. v.write_to_with_cached_sizes(os)?;
  1044. };
  1045. for v in &self.genre {
  1046. os.write_string(9, &v)?;
  1047. };
  1048. for v in &self.external_id {
  1049. os.write_tag(10, ::protobuf::wire_format::WireTypeLengthDelimited)?;
  1050. os.write_raw_varint32(v.get_cached_size())?;
  1051. v.write_to_with_cached_sizes(os)?;
  1052. };
  1053. for v in &self.portrait {
  1054. os.write_tag(11, ::protobuf::wire_format::WireTypeLengthDelimited)?;
  1055. os.write_raw_varint32(v.get_cached_size())?;
  1056. v.write_to_with_cached_sizes(os)?;
  1057. };
  1058. for v in &self.biography {
  1059. os.write_tag(12, ::protobuf::wire_format::WireTypeLengthDelimited)?;
  1060. os.write_raw_varint32(v.get_cached_size())?;
  1061. v.write_to_with_cached_sizes(os)?;
  1062. };
  1063. for v in &self.activity_period {
  1064. os.write_tag(13, ::protobuf::wire_format::WireTypeLengthDelimited)?;
  1065. os.write_raw_varint32(v.get_cached_size())?;
  1066. v.write_to_with_cached_sizes(os)?;
  1067. };
  1068. for v in &self.restriction {
  1069. os.write_tag(14, ::protobuf::wire_format::WireTypeLengthDelimited)?;
  1070. os.write_raw_varint32(v.get_cached_size())?;
  1071. v.write_to_with_cached_sizes(os)?;
  1072. };
  1073. for v in &self.related {
  1074. os.write_tag(15, ::protobuf::wire_format::WireTypeLengthDelimited)?;
  1075. os.write_raw_varint32(v.get_cached_size())?;
  1076. v.write_to_with_cached_sizes(os)?;
  1077. };
  1078. if let Some(v) = self.is_portrait_album_cover {
  1079. os.write_bool(16, v)?;
  1080. }
  1081. if let Some(ref v) = self.portrait_group.as_ref() {
  1082. os.write_tag(17, ::protobuf::wire_format::WireTypeLengthDelimited)?;
  1083. os.write_raw_varint32(v.get_cached_size())?;
  1084. v.write_to_with_cached_sizes(os)?;
  1085. }
  1086. os.write_unknown_fields(self.get_unknown_fields())?;
  1087. ::std::result::Result::Ok(())
  1088. }
  1089. fn get_cached_size(&self) -> u32 {
  1090. self.cached_size.get()
  1091. }
  1092. fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
  1093. &self.unknown_fields
  1094. }
  1095. fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
  1096. &mut self.unknown_fields
  1097. }
  1098. fn as_any(&self) -> &dyn (::std::any::Any) {
  1099. self as &dyn (::std::any::Any)
  1100. }
  1101. fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
  1102. self as &mut dyn (::std::any::Any)
  1103. }
  1104. fn into_any(self: Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
  1105. self
  1106. }
  1107. fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
  1108. Self::descriptor_static()
  1109. }
  1110. fn new() -> Artist {
  1111. Artist::new()
  1112. }
  1113. fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
  1114. static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy {
  1115. lock: ::protobuf::lazy::ONCE_INIT,
  1116. ptr: 0 as *const ::protobuf::reflect::MessageDescriptor,
  1117. };
  1118. unsafe {
  1119. descriptor.get(|| {
  1120. let mut fields = ::std::vec::Vec::new();
  1121. fields.push(::protobuf::reflect::accessor::make_singular_field_accessor::<_, ::protobuf::types::ProtobufTypeBytes>(
  1122. "gid",
  1123. |m: &Artist| { &m.gid },
  1124. |m: &mut Artist| { &mut m.gid },
  1125. ));
  1126. fields.push(::protobuf::reflect::accessor::make_singular_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
  1127. "name",
  1128. |m: &Artist| { &m.name },
  1129. |m: &mut Artist| { &mut m.name },
  1130. ));
  1131. fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeSint32>(
  1132. "popularity",
  1133. |m: &Artist| { &m.popularity },
  1134. |m: &mut Artist| { &mut m.popularity },
  1135. ));
  1136. fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<TopTracks>>(
  1137. "top_track",
  1138. |m: &Artist| { &m.top_track },
  1139. |m: &mut Artist| { &mut m.top_track },
  1140. ));
  1141. fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<AlbumGroup>>(
  1142. "album_group",
  1143. |m: &Artist| { &m.album_group },
  1144. |m: &mut Artist| { &mut m.album_group },
  1145. ));
  1146. fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<AlbumGroup>>(
  1147. "single_group",
  1148. |m: &Artist| { &m.single_group },
  1149. |m: &mut Artist| { &mut m.single_group },
  1150. ));
  1151. fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<AlbumGroup>>(
  1152. "compilation_group",
  1153. |m: &Artist| { &m.compilation_group },
  1154. |m: &mut Artist| { &mut m.compilation_group },
  1155. ));
  1156. fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<AlbumGroup>>(
  1157. "appears_on_group",
  1158. |m: &Artist| { &m.appears_on_group },
  1159. |m: &mut Artist| { &mut m.appears_on_group },
  1160. ));
  1161. fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
  1162. "genre",
  1163. |m: &Artist| { &m.genre },
  1164. |m: &mut Artist| { &mut m.genre },
  1165. ));
  1166. fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<ExternalId>>(
  1167. "external_id",
  1168. |m: &Artist| { &m.external_id },
  1169. |m: &mut Artist| { &mut m.external_id },
  1170. ));
  1171. fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<Image>>(
  1172. "portrait",
  1173. |m: &Artist| { &m.portrait },
  1174. |m: &mut Artist| { &mut m.portrait },
  1175. ));
  1176. fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<Biography>>(
  1177. "biography",
  1178. |m: &Artist| { &m.biography },
  1179. |m: &mut Artist| { &mut m.biography },
  1180. ));
  1181. fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<ActivityPeriod>>(
  1182. "activity_period",
  1183. |m: &Artist| { &m.activity_period },
  1184. |m: &mut Artist| { &mut m.activity_period },
  1185. ));
  1186. fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<Restriction>>(
  1187. "restriction",
  1188. |m: &Artist| { &m.restriction },
  1189. |m: &mut Artist| { &mut m.restriction },
  1190. ));
  1191. fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<Artist>>(
  1192. "related",
  1193. |m: &Artist| { &m.related },
  1194. |m: &mut Artist| { &mut m.related },
  1195. ));
  1196. fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeBool>(
  1197. "is_portrait_album_cover",
  1198. |m: &Artist| { &m.is_portrait_album_cover },
  1199. |m: &mut Artist| { &mut m.is_portrait_album_cover },
  1200. ));
  1201. fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<ImageGroup>>(
  1202. "portrait_group",
  1203. |m: &Artist| { &m.portrait_group },
  1204. |m: &mut Artist| { &mut m.portrait_group },
  1205. ));
  1206. ::protobuf::reflect::MessageDescriptor::new::<Artist>(
  1207. "Artist",
  1208. fields,
  1209. file_descriptor_proto()
  1210. )
  1211. })
  1212. }
  1213. }
  1214. fn default_instance() -> &'static Artist {
  1215. static mut instance: ::protobuf::lazy::Lazy<Artist> = ::protobuf::lazy::Lazy {
  1216. lock: ::protobuf::lazy::ONCE_INIT,
  1217. ptr: 0 as *const Artist,
  1218. };
  1219. unsafe {
  1220. instance.get(Artist::new)
  1221. }
  1222. }
  1223. }
  1224. impl ::protobuf::Clear for Artist {
  1225. fn clear(&mut self) {
  1226. self.gid.clear();
  1227. self.name.clear();
  1228. self.popularity = ::std::option::Option::None;
  1229. self.top_track.clear();
  1230. self.album_group.clear();
  1231. self.single_group.clear();
  1232. self.compilation_group.clear();
  1233. self.appears_on_group.clear();
  1234. self.genre.clear();
  1235. self.external_id.clear();
  1236. self.portrait.clear();
  1237. self.biography.clear();
  1238. self.activity_period.clear();
  1239. self.restriction.clear();
  1240. self.related.clear();
  1241. self.is_portrait_album_cover = ::std::option::Option::None;
  1242. self.portrait_group.clear();
  1243. self.unknown_fields.clear();
  1244. }
  1245. }
  1246. impl ::std::fmt::Debug for Artist {
  1247. fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
  1248. ::protobuf::text_format::fmt(self, f)
  1249. }
  1250. }
  1251. impl ::protobuf::reflect::ProtobufValue for Artist {
  1252. fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef {
  1253. ::protobuf::reflect::ProtobufValueRef::Message(self)
  1254. }
  1255. }
  1256. #[derive(PartialEq,Clone,Default)]
  1257. pub struct AlbumGroup {
  1258. // message fields
  1259. album: ::protobuf::RepeatedField<Album>,
  1260. // special fields
  1261. pub unknown_fields: ::protobuf::UnknownFields,
  1262. pub cached_size: ::protobuf::CachedSize,
  1263. }
  1264. impl<'a> ::std::default::Default for &'a AlbumGroup {
  1265. fn default() -> &'a AlbumGroup {
  1266. <AlbumGroup as ::protobuf::Message>::default_instance()
  1267. }
  1268. }
  1269. impl AlbumGroup {
  1270. pub fn new() -> AlbumGroup {
  1271. ::std::default::Default::default()
  1272. }
  1273. // repeated .Album album = 1;
  1274. pub fn get_album(&self) -> &[Album] {
  1275. &self.album
  1276. }
  1277. pub fn clear_album(&mut self) {
  1278. self.album.clear();
  1279. }
  1280. // Param is passed by value, moved
  1281. pub fn set_album(&mut self, v: ::protobuf::RepeatedField<Album>) {
  1282. self.album = v;
  1283. }
  1284. // Mutable pointer to the field.
  1285. pub fn mut_album(&mut self) -> &mut ::protobuf::RepeatedField<Album> {
  1286. &mut self.album
  1287. }
  1288. // Take field
  1289. pub fn take_album(&mut self) -> ::protobuf::RepeatedField<Album> {
  1290. ::std::mem::replace(&mut self.album, ::protobuf::RepeatedField::new())
  1291. }
  1292. }
  1293. impl ::protobuf::Message for AlbumGroup {
  1294. fn is_initialized(&self) -> bool {
  1295. for v in &self.album {
  1296. if !v.is_initialized() {
  1297. return false;
  1298. }
  1299. };
  1300. true
  1301. }
  1302. fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
  1303. while !is.eof()? {
  1304. let (field_number, wire_type) = is.read_tag_unpack()?;
  1305. match field_number {
  1306. 1 => {
  1307. ::protobuf::rt::read_repeated_message_into(wire_type, is, &mut self.album)?;
  1308. },
  1309. _ => {
  1310. ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
  1311. },
  1312. };
  1313. }
  1314. ::std::result::Result::Ok(())
  1315. }
  1316. // Compute sizes of nested messages
  1317. #[allow(unused_variables)]
  1318. fn compute_size(&self) -> u32 {
  1319. let mut my_size = 0;
  1320. for value in &self.album {
  1321. let len = value.compute_size();
  1322. my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
  1323. };
  1324. my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
  1325. self.cached_size.set(my_size);
  1326. my_size
  1327. }
  1328. fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
  1329. for v in &self.album {
  1330. os.write_tag(1, ::protobuf::wire_format::WireTypeLengthDelimited)?;
  1331. os.write_raw_varint32(v.get_cached_size())?;
  1332. v.write_to_with_cached_sizes(os)?;
  1333. };
  1334. os.write_unknown_fields(self.get_unknown_fields())?;
  1335. ::std::result::Result::Ok(())
  1336. }
  1337. fn get_cached_size(&self) -> u32 {
  1338. self.cached_size.get()
  1339. }
  1340. fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
  1341. &self.unknown_fields
  1342. }
  1343. fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
  1344. &mut self.unknown_fields
  1345. }
  1346. fn as_any(&self) -> &dyn (::std::any::Any) {
  1347. self as &dyn (::std::any::Any)
  1348. }
  1349. fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
  1350. self as &mut dyn (::std::any::Any)
  1351. }
  1352. fn into_any(self: Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
  1353. self
  1354. }
  1355. fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
  1356. Self::descriptor_static()
  1357. }
  1358. fn new() -> AlbumGroup {
  1359. AlbumGroup::new()
  1360. }
  1361. fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
  1362. static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy {
  1363. lock: ::protobuf::lazy::ONCE_INIT,
  1364. ptr: 0 as *const ::protobuf::reflect::MessageDescriptor,
  1365. };
  1366. unsafe {
  1367. descriptor.get(|| {
  1368. let mut fields = ::std::vec::Vec::new();
  1369. fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<Album>>(
  1370. "album",
  1371. |m: &AlbumGroup| { &m.album },
  1372. |m: &mut AlbumGroup| { &mut m.album },
  1373. ));
  1374. ::protobuf::reflect::MessageDescriptor::new::<AlbumGroup>(
  1375. "AlbumGroup",
  1376. fields,
  1377. file_descriptor_proto()
  1378. )
  1379. })
  1380. }
  1381. }
  1382. fn default_instance() -> &'static AlbumGroup {
  1383. static mut instance: ::protobuf::lazy::Lazy<AlbumGroup> = ::protobuf::lazy::Lazy {
  1384. lock: ::protobuf::lazy::ONCE_INIT,
  1385. ptr: 0 as *const AlbumGroup,
  1386. };
  1387. unsafe {
  1388. instance.get(AlbumGroup::new)
  1389. }
  1390. }
  1391. }
  1392. impl ::protobuf::Clear for AlbumGroup {
  1393. fn clear(&mut self) {
  1394. self.album.clear();
  1395. self.unknown_fields.clear();
  1396. }
  1397. }
  1398. impl ::std::fmt::Debug for AlbumGroup {
  1399. fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
  1400. ::protobuf::text_format::fmt(self, f)
  1401. }
  1402. }
  1403. impl ::protobuf::reflect::ProtobufValue for AlbumGroup {
  1404. fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef {
  1405. ::protobuf::reflect::ProtobufValueRef::Message(self)
  1406. }
  1407. }
  1408. #[derive(PartialEq,Clone,Default)]
  1409. pub struct Date {
  1410. // message fields
  1411. year: ::std::option::Option<i32>,
  1412. month: ::std::option::Option<i32>,
  1413. day: ::std::option::Option<i32>,
  1414. hour: ::std::option::Option<i32>,
  1415. minute: ::std::option::Option<i32>,
  1416. // special fields
  1417. pub unknown_fields: ::protobuf::UnknownFields,
  1418. pub cached_size: ::protobuf::CachedSize,
  1419. }
  1420. impl<'a> ::std::default::Default for &'a Date {
  1421. fn default() -> &'a Date {
  1422. <Date as ::protobuf::Message>::default_instance()
  1423. }
  1424. }
  1425. impl Date {
  1426. pub fn new() -> Date {
  1427. ::std::default::Default::default()
  1428. }
  1429. // optional sint32 year = 1;
  1430. pub fn get_year(&self) -> i32 {
  1431. self.year.unwrap_or(0)
  1432. }
  1433. pub fn clear_year(&mut self) {
  1434. self.year = ::std::option::Option::None;
  1435. }
  1436. pub fn has_year(&self) -> bool {
  1437. self.year.is_some()
  1438. }
  1439. // Param is passed by value, moved
  1440. pub fn set_year(&mut self, v: i32) {
  1441. self.year = ::std::option::Option::Some(v);
  1442. }
  1443. // optional sint32 month = 2;
  1444. pub fn get_month(&self) -> i32 {
  1445. self.month.unwrap_or(0)
  1446. }
  1447. pub fn clear_month(&mut self) {
  1448. self.month = ::std::option::Option::None;
  1449. }
  1450. pub fn has_month(&self) -> bool {
  1451. self.month.is_some()
  1452. }
  1453. // Param is passed by value, moved
  1454. pub fn set_month(&mut self, v: i32) {
  1455. self.month = ::std::option::Option::Some(v);
  1456. }
  1457. // optional sint32 day = 3;
  1458. pub fn get_day(&self) -> i32 {
  1459. self.day.unwrap_or(0)
  1460. }
  1461. pub fn clear_day(&mut self) {
  1462. self.day = ::std::option::Option::None;
  1463. }
  1464. pub fn has_day(&self) -> bool {
  1465. self.day.is_some()
  1466. }
  1467. // Param is passed by value, moved
  1468. pub fn set_day(&mut self, v: i32) {
  1469. self.day = ::std::option::Option::Some(v);
  1470. }
  1471. // optional sint32 hour = 4;
  1472. pub fn get_hour(&self) -> i32 {
  1473. self.hour.unwrap_or(0)
  1474. }
  1475. pub fn clear_hour(&mut self) {
  1476. self.hour = ::std::option::Option::None;
  1477. }
  1478. pub fn has_hour(&self) -> bool {
  1479. self.hour.is_some()
  1480. }
  1481. // Param is passed by value, moved
  1482. pub fn set_hour(&mut self, v: i32) {
  1483. self.hour = ::std::option::Option::Some(v);
  1484. }
  1485. // optional sint32 minute = 5;
  1486. pub fn get_minute(&self) -> i32 {
  1487. self.minute.unwrap_or(0)
  1488. }
  1489. pub fn clear_minute(&mut self) {
  1490. self.minute = ::std::option::Option::None;
  1491. }
  1492. pub fn has_minute(&self) -> bool {
  1493. self.minute.is_some()
  1494. }
  1495. // Param is passed by value, moved
  1496. pub fn set_minute(&mut self, v: i32) {
  1497. self.minute = ::std::option::Option::Some(v);
  1498. }
  1499. }
  1500. impl ::protobuf::Message for Date {
  1501. fn is_initialized(&self) -> bool {
  1502. true
  1503. }
  1504. fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
  1505. while !is.eof()? {
  1506. let (field_number, wire_type) = is.read_tag_unpack()?;
  1507. match field_number {
  1508. 1 => {
  1509. if wire_type != ::protobuf::wire_format::WireTypeVarint {
  1510. return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
  1511. }
  1512. let tmp = is.read_sint32()?;
  1513. self.year = ::std::option::Option::Some(tmp);
  1514. },
  1515. 2 => {
  1516. if wire_type != ::protobuf::wire_format::WireTypeVarint {
  1517. return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
  1518. }
  1519. let tmp = is.read_sint32()?;
  1520. self.month = ::std::option::Option::Some(tmp);
  1521. },
  1522. 3 => {
  1523. if wire_type != ::protobuf::wire_format::WireTypeVarint {
  1524. return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
  1525. }
  1526. let tmp = is.read_sint32()?;
  1527. self.day = ::std::option::Option::Some(tmp);
  1528. },
  1529. 4 => {
  1530. if wire_type != ::protobuf::wire_format::WireTypeVarint {
  1531. return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
  1532. }
  1533. let tmp = is.read_sint32()?;
  1534. self.hour = ::std::option::Option::Some(tmp);
  1535. },
  1536. 5 => {
  1537. if wire_type != ::protobuf::wire_format::WireTypeVarint {
  1538. return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
  1539. }
  1540. let tmp = is.read_sint32()?;
  1541. self.minute = ::std::option::Option::Some(tmp);
  1542. },
  1543. _ => {
  1544. ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
  1545. },
  1546. };
  1547. }
  1548. ::std::result::Result::Ok(())
  1549. }
  1550. // Compute sizes of nested messages
  1551. #[allow(unused_variables)]
  1552. fn compute_size(&self) -> u32 {
  1553. let mut my_size = 0;
  1554. if let Some(v) = self.year {
  1555. my_size += ::protobuf::rt::value_varint_zigzag_size(1, v);
  1556. }
  1557. if let Some(v) = self.month {
  1558. my_size += ::protobuf::rt::value_varint_zigzag_size(2, v);
  1559. }
  1560. if let Some(v) = self.day {
  1561. my_size += ::protobuf::rt::value_varint_zigzag_size(3, v);
  1562. }
  1563. if let Some(v) = self.hour {
  1564. my_size += ::protobuf::rt::value_varint_zigzag_size(4, v);
  1565. }
  1566. if let Some(v) = self.minute {
  1567. my_size += ::protobuf::rt::value_varint_zigzag_size(5, v);
  1568. }
  1569. my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
  1570. self.cached_size.set(my_size);
  1571. my_size
  1572. }
  1573. fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
  1574. if let Some(v) = self.year {
  1575. os.write_sint32(1, v)?;
  1576. }
  1577. if let Some(v) = self.month {
  1578. os.write_sint32(2, v)?;
  1579. }
  1580. if let Some(v) = self.day {
  1581. os.write_sint32(3, v)?;
  1582. }
  1583. if let Some(v) = self.hour {
  1584. os.write_sint32(4, v)?;
  1585. }
  1586. if let Some(v) = self.minute {
  1587. os.write_sint32(5, v)?;
  1588. }
  1589. os.write_unknown_fields(self.get_unknown_fields())?;
  1590. ::std::result::Result::Ok(())
  1591. }
  1592. fn get_cached_size(&self) -> u32 {
  1593. self.cached_size.get()
  1594. }
  1595. fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
  1596. &self.unknown_fields
  1597. }
  1598. fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
  1599. &mut self.unknown_fields
  1600. }
  1601. fn as_any(&self) -> &dyn (::std::any::Any) {
  1602. self as &dyn (::std::any::Any)
  1603. }
  1604. fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
  1605. self as &mut dyn (::std::any::Any)
  1606. }
  1607. fn into_any(self: Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
  1608. self
  1609. }
  1610. fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
  1611. Self::descriptor_static()
  1612. }
  1613. fn new() -> Date {
  1614. Date::new()
  1615. }
  1616. fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
  1617. static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy {
  1618. lock: ::protobuf::lazy::ONCE_INIT,
  1619. ptr: 0 as *const ::protobuf::reflect::MessageDescriptor,
  1620. };
  1621. unsafe {
  1622. descriptor.get(|| {
  1623. let mut fields = ::std::vec::Vec::new();
  1624. fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeSint32>(
  1625. "year",
  1626. |m: &Date| { &m.year },
  1627. |m: &mut Date| { &mut m.year },
  1628. ));
  1629. fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeSint32>(
  1630. "month",
  1631. |m: &Date| { &m.month },
  1632. |m: &mut Date| { &mut m.month },
  1633. ));
  1634. fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeSint32>(
  1635. "day",
  1636. |m: &Date| { &m.day },
  1637. |m: &mut Date| { &mut m.day },
  1638. ));
  1639. fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeSint32>(
  1640. "hour",
  1641. |m: &Date| { &m.hour },
  1642. |m: &mut Date| { &mut m.hour },
  1643. ));
  1644. fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeSint32>(
  1645. "minute",
  1646. |m: &Date| { &m.minute },
  1647. |m: &mut Date| { &mut m.minute },
  1648. ));
  1649. ::protobuf::reflect::MessageDescriptor::new::<Date>(
  1650. "Date",
  1651. fields,
  1652. file_descriptor_proto()
  1653. )
  1654. })
  1655. }
  1656. }
  1657. fn default_instance() -> &'static Date {
  1658. static mut instance: ::protobuf::lazy::Lazy<Date> = ::protobuf::lazy::Lazy {
  1659. lock: ::protobuf::lazy::ONCE_INIT,
  1660. ptr: 0 as *const Date,
  1661. };
  1662. unsafe {
  1663. instance.get(Date::new)
  1664. }
  1665. }
  1666. }
  1667. impl ::protobuf::Clear for Date {
  1668. fn clear(&mut self) {
  1669. self.year = ::std::option::Option::None;
  1670. self.month = ::std::option::Option::None;
  1671. self.day = ::std::option::Option::None;
  1672. self.hour = ::std::option::Option::None;
  1673. self.minute = ::std::option::Option::None;
  1674. self.unknown_fields.clear();
  1675. }
  1676. }
  1677. impl ::std::fmt::Debug for Date {
  1678. fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
  1679. ::protobuf::text_format::fmt(self, f)
  1680. }
  1681. }
  1682. impl ::protobuf::reflect::ProtobufValue for Date {
  1683. fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef {
  1684. ::protobuf::reflect::ProtobufValueRef::Message(self)
  1685. }
  1686. }
  1687. #[derive(PartialEq,Clone,Default)]
  1688. pub struct Album {
  1689. // message fields
  1690. gid: ::protobuf::SingularField<::std::vec::Vec<u8>>,
  1691. name: ::protobuf::SingularField<::std::string::String>,
  1692. artist: ::protobuf::RepeatedField<Artist>,
  1693. typ: ::std::option::Option<Album_Type>,
  1694. label: ::protobuf::SingularField<::std::string::String>,
  1695. date: ::protobuf::SingularPtrField<Date>,
  1696. popularity: ::std::option::Option<i32>,
  1697. genre: ::protobuf::RepeatedField<::std::string::String>,
  1698. cover: ::protobuf::RepeatedField<Image>,
  1699. external_id: ::protobuf::RepeatedField<ExternalId>,
  1700. disc: ::protobuf::RepeatedField<Disc>,
  1701. review: ::protobuf::RepeatedField<::std::string::String>,
  1702. copyright: ::protobuf::RepeatedField<Copyright>,
  1703. restriction: ::protobuf::RepeatedField<Restriction>,
  1704. related: ::protobuf::RepeatedField<Album>,
  1705. sale_period: ::protobuf::RepeatedField<SalePeriod>,
  1706. cover_group: ::protobuf::SingularPtrField<ImageGroup>,
  1707. // special fields
  1708. pub unknown_fields: ::protobuf::UnknownFields,
  1709. pub cached_size: ::protobuf::CachedSize,
  1710. }
  1711. impl<'a> ::std::default::Default for &'a Album {
  1712. fn default() -> &'a Album {
  1713. <Album as ::protobuf::Message>::default_instance()
  1714. }
  1715. }
  1716. impl Album {
  1717. pub fn new() -> Album {
  1718. ::std::default::Default::default()
  1719. }
  1720. // optional bytes gid = 1;
  1721. pub fn get_gid(&self) -> &[u8] {
  1722. match self.gid.as_ref() {
  1723. Some(v) => &v,
  1724. None => &[],
  1725. }
  1726. }
  1727. pub fn clear_gid(&mut self) {
  1728. self.gid.clear();
  1729. }
  1730. pub fn has_gid(&self) -> bool {
  1731. self.gid.is_some()
  1732. }
  1733. // Param is passed by value, moved
  1734. pub fn set_gid(&mut self, v: ::std::vec::Vec<u8>) {
  1735. self.gid = ::protobuf::SingularField::some(v);
  1736. }
  1737. // Mutable pointer to the field.
  1738. // If field is not initialized, it is initialized with default value first.
  1739. pub fn mut_gid(&mut self) -> &mut ::std::vec::Vec<u8> {
  1740. if self.gid.is_none() {
  1741. self.gid.set_default();
  1742. }
  1743. self.gid.as_mut().unwrap()
  1744. }
  1745. // Take field
  1746. pub fn take_gid(&mut self) -> ::std::vec::Vec<u8> {
  1747. self.gid.take().unwrap_or_else(|| ::std::vec::Vec::new())
  1748. }
  1749. // optional string name = 2;
  1750. pub fn get_name(&self) -> &str {
  1751. match self.name.as_ref() {
  1752. Some(v) => &v,
  1753. None => "",
  1754. }
  1755. }
  1756. pub fn clear_name(&mut self) {
  1757. self.name.clear();
  1758. }
  1759. pub fn has_name(&self) -> bool {
  1760. self.name.is_some()
  1761. }
  1762. // Param is passed by value, moved
  1763. pub fn set_name(&mut self, v: ::std::string::String) {
  1764. self.name = ::protobuf::SingularField::some(v);
  1765. }
  1766. // Mutable pointer to the field.
  1767. // If field is not initialized, it is initialized with default value first.
  1768. pub fn mut_name(&mut self) -> &mut ::std::string::String {
  1769. if self.name.is_none() {
  1770. self.name.set_default();
  1771. }
  1772. self.name.as_mut().unwrap()
  1773. }
  1774. // Take field
  1775. pub fn take_name(&mut self) -> ::std::string::String {
  1776. self.name.take().unwrap_or_else(|| ::std::string::String::new())
  1777. }
  1778. // repeated .Artist artist = 3;
  1779. pub fn get_artist(&self) -> &[Artist] {
  1780. &self.artist
  1781. }
  1782. pub fn clear_artist(&mut self) {
  1783. self.artist.clear();
  1784. }
  1785. // Param is passed by value, moved
  1786. pub fn set_artist(&mut self, v: ::protobuf::RepeatedField<Artist>) {
  1787. self.artist = v;
  1788. }
  1789. // Mutable pointer to the field.
  1790. pub fn mut_artist(&mut self) -> &mut ::protobuf::RepeatedField<Artist> {
  1791. &mut self.artist
  1792. }
  1793. // Take field
  1794. pub fn take_artist(&mut self) -> ::protobuf::RepeatedField<Artist> {
  1795. ::std::mem::replace(&mut self.artist, ::protobuf::RepeatedField::new())
  1796. }
  1797. // optional .Album.Type typ = 4;
  1798. pub fn get_typ(&self) -> Album_Type {
  1799. self.typ.unwrap_or(Album_Type::ALBUM)
  1800. }
  1801. pub fn clear_typ(&mut self) {
  1802. self.typ = ::std::option::Option::None;
  1803. }
  1804. pub fn has_typ(&self) -> bool {
  1805. self.typ.is_some()
  1806. }
  1807. // Param is passed by value, moved
  1808. pub fn set_typ(&mut self, v: Album_Type) {
  1809. self.typ = ::std::option::Option::Some(v);
  1810. }
  1811. // optional string label = 5;
  1812. pub fn get_label(&self) -> &str {
  1813. match self.label.as_ref() {
  1814. Some(v) => &v,
  1815. None => "",
  1816. }
  1817. }
  1818. pub fn clear_label(&mut self) {
  1819. self.label.clear();
  1820. }
  1821. pub fn has_label(&self) -> bool {
  1822. self.label.is_some()
  1823. }
  1824. // Param is passed by value, moved
  1825. pub fn set_label(&mut self, v: ::std::string::String) {
  1826. self.label = ::protobuf::SingularField::some(v);
  1827. }
  1828. // Mutable pointer to the field.
  1829. // If field is not initialized, it is initialized with default value first.
  1830. pub fn mut_label(&mut self) -> &mut ::std::string::String {
  1831. if self.label.is_none() {
  1832. self.label.set_default();
  1833. }
  1834. self.label.as_mut().unwrap()
  1835. }
  1836. // Take field
  1837. pub fn take_label(&mut self) -> ::std::string::String {
  1838. self.label.take().unwrap_or_else(|| ::std::string::String::new())
  1839. }
  1840. // optional .Date date = 6;
  1841. pub fn get_date(&self) -> &Date {
  1842. self.date.as_ref().unwrap_or_else(|| Date::default_instance())
  1843. }
  1844. pub fn clear_date(&mut self) {
  1845. self.date.clear();
  1846. }
  1847. pub fn has_date(&self) -> bool {
  1848. self.date.is_some()
  1849. }
  1850. // Param is passed by value, moved
  1851. pub fn set_date(&mut self, v: Date) {
  1852. self.date = ::protobuf::SingularPtrField::some(v);
  1853. }
  1854. // Mutable pointer to the field.
  1855. // If field is not initialized, it is initialized with default value first.
  1856. pub fn mut_date(&mut self) -> &mut Date {
  1857. if self.date.is_none() {
  1858. self.date.set_default();
  1859. }
  1860. self.date.as_mut().unwrap()
  1861. }
  1862. // Take field
  1863. pub fn take_date(&mut self) -> Date {
  1864. self.date.take().unwrap_or_else(|| Date::new())
  1865. }
  1866. // optional sint32 popularity = 7;
  1867. pub fn get_popularity(&self) -> i32 {
  1868. self.popularity.unwrap_or(0)
  1869. }
  1870. pub fn clear_popularity(&mut self) {
  1871. self.popularity = ::std::option::Option::None;
  1872. }
  1873. pub fn has_popularity(&self) -> bool {
  1874. self.popularity.is_some()
  1875. }
  1876. // Param is passed by value, moved
  1877. pub fn set_popularity(&mut self, v: i32) {
  1878. self.popularity = ::std::option::Option::Some(v);
  1879. }
  1880. // repeated string genre = 8;
  1881. pub fn get_genre(&self) -> &[::std::string::String] {
  1882. &self.genre
  1883. }
  1884. pub fn clear_genre(&mut self) {
  1885. self.genre.clear();
  1886. }
  1887. // Param is passed by value, moved
  1888. pub fn set_genre(&mut self, v: ::protobuf::RepeatedField<::std::string::String>) {
  1889. self.genre = v;
  1890. }
  1891. // Mutable pointer to the field.
  1892. pub fn mut_genre(&mut self) -> &mut ::protobuf::RepeatedField<::std::string::String> {
  1893. &mut self.genre
  1894. }
  1895. // Take field
  1896. pub fn take_genre(&mut self) -> ::protobuf::RepeatedField<::std::string::String> {
  1897. ::std::mem::replace(&mut self.genre, ::protobuf::RepeatedField::new())
  1898. }
  1899. // repeated .Image cover = 9;
  1900. pub fn get_cover(&self) -> &[Image] {
  1901. &self.cover
  1902. }
  1903. pub fn clear_cover(&mut self) {
  1904. self.cover.clear();
  1905. }
  1906. // Param is passed by value, moved
  1907. pub fn set_cover(&mut self, v: ::protobuf::RepeatedField<Image>) {
  1908. self.cover = v;
  1909. }
  1910. // Mutable pointer to the field.
  1911. pub fn mut_cover(&mut self) -> &mut ::protobuf::RepeatedField<Image> {
  1912. &mut self.cover
  1913. }
  1914. // Take field
  1915. pub fn take_cover(&mut self) -> ::protobuf::RepeatedField<Image> {
  1916. ::std::mem::replace(&mut self.cover, ::protobuf::RepeatedField::new())
  1917. }
  1918. // repeated .ExternalId external_id = 10;
  1919. pub fn get_external_id(&self) -> &[ExternalId] {
  1920. &self.external_id
  1921. }
  1922. pub fn clear_external_id(&mut self) {
  1923. self.external_id.clear();
  1924. }
  1925. // Param is passed by value, moved
  1926. pub fn set_external_id(&mut self, v: ::protobuf::RepeatedField<ExternalId>) {
  1927. self.external_id = v;
  1928. }
  1929. // Mutable pointer to the field.
  1930. pub fn mut_external_id(&mut self) -> &mut ::protobuf::RepeatedField<ExternalId> {
  1931. &mut self.external_id
  1932. }
  1933. // Take field
  1934. pub fn take_external_id(&mut self) -> ::protobuf::RepeatedField<ExternalId> {
  1935. ::std::mem::replace(&mut self.external_id, ::protobuf::RepeatedField::new())
  1936. }
  1937. // repeated .Disc disc = 11;
  1938. pub fn get_disc(&self) -> &[Disc] {
  1939. &self.disc
  1940. }
  1941. pub fn clear_disc(&mut self) {
  1942. self.disc.clear();
  1943. }
  1944. // Param is passed by value, moved
  1945. pub fn set_disc(&mut self, v: ::protobuf::RepeatedField<Disc>) {
  1946. self.disc = v;
  1947. }
  1948. // Mutable pointer to the field.
  1949. pub fn mut_disc(&mut self) -> &mut ::protobuf::RepeatedField<Disc> {
  1950. &mut self.disc
  1951. }
  1952. // Take field
  1953. pub fn take_disc(&mut self) -> ::protobuf::RepeatedField<Disc> {
  1954. ::std::mem::replace(&mut self.disc, ::protobuf::RepeatedField::new())
  1955. }
  1956. // repeated string review = 12;
  1957. pub fn get_review(&self) -> &[::std::string::String] {
  1958. &self.review
  1959. }
  1960. pub fn clear_review(&mut self) {
  1961. self.review.clear();
  1962. }
  1963. // Param is passed by value, moved
  1964. pub fn set_review(&mut self, v: ::protobuf::RepeatedField<::std::string::String>) {
  1965. self.review = v;
  1966. }
  1967. // Mutable pointer to the field.
  1968. pub fn mut_review(&mut self) -> &mut ::protobuf::RepeatedField<::std::string::String> {
  1969. &mut self.review
  1970. }
  1971. // Take field
  1972. pub fn take_review(&mut self) -> ::protobuf::RepeatedField<::std::string::String> {
  1973. ::std::mem::replace(&mut self.review, ::protobuf::RepeatedField::new())
  1974. }
  1975. // repeated .Copyright copyright = 13;
  1976. pub fn get_copyright(&self) -> &[Copyright] {
  1977. &self.copyright
  1978. }
  1979. pub fn clear_copyright(&mut self) {
  1980. self.copyright.clear();
  1981. }
  1982. // Param is passed by value, moved
  1983. pub fn set_copyright(&mut self, v: ::protobuf::RepeatedField<Copyright>) {
  1984. self.copyright = v;
  1985. }
  1986. // Mutable pointer to the field.
  1987. pub fn mut_copyright(&mut self) -> &mut ::protobuf::RepeatedField<Copyright> {
  1988. &mut self.copyright
  1989. }
  1990. // Take field
  1991. pub fn take_copyright(&mut self) -> ::protobuf::RepeatedField<Copyright> {
  1992. ::std::mem::replace(&mut self.copyright, ::protobuf::RepeatedField::new())
  1993. }
  1994. // repeated .Restriction restriction = 14;
  1995. pub fn get_restriction(&self) -> &[Restriction] {
  1996. &self.restriction
  1997. }
  1998. pub fn clear_restriction(&mut self) {
  1999. self.restriction.clear();
  2000. }
  2001. // Param is passed by value, moved
  2002. pub fn set_restriction(&mut self, v: ::protobuf::RepeatedField<Restriction>) {
  2003. self.restriction = v;
  2004. }
  2005. // Mutable pointer to the field.
  2006. pub fn mut_restriction(&mut self) -> &mut ::protobuf::RepeatedField<Restriction> {
  2007. &mut self.restriction
  2008. }
  2009. // Take field
  2010. pub fn take_restriction(&mut self) -> ::protobuf::RepeatedField<Restriction> {
  2011. ::std::mem::replace(&mut self.restriction, ::protobuf::RepeatedField::new())
  2012. }
  2013. // repeated .Album related = 15;
  2014. pub fn get_related(&self) -> &[Album] {
  2015. &self.related
  2016. }
  2017. pub fn clear_related(&mut self) {
  2018. self.related.clear();
  2019. }
  2020. // Param is passed by value, moved
  2021. pub fn set_related(&mut self, v: ::protobuf::RepeatedField<Album>) {
  2022. self.related = v;
  2023. }
  2024. // Mutable pointer to the field.
  2025. pub fn mut_related(&mut self) -> &mut ::protobuf::RepeatedField<Album> {
  2026. &mut self.related
  2027. }
  2028. // Take field
  2029. pub fn take_related(&mut self) -> ::protobuf::RepeatedField<Album> {
  2030. ::std::mem::replace(&mut self.related, ::protobuf::RepeatedField::new())
  2031. }
  2032. // repeated .SalePeriod sale_period = 16;
  2033. pub fn get_sale_period(&self) -> &[SalePeriod] {
  2034. &self.sale_period
  2035. }
  2036. pub fn clear_sale_period(&mut self) {
  2037. self.sale_period.clear();
  2038. }
  2039. // Param is passed by value, moved
  2040. pub fn set_sale_period(&mut self, v: ::protobuf::RepeatedField<SalePeriod>) {
  2041. self.sale_period = v;
  2042. }
  2043. // Mutable pointer to the field.
  2044. pub fn mut_sale_period(&mut self) -> &mut ::protobuf::RepeatedField<SalePeriod> {
  2045. &mut self.sale_period
  2046. }
  2047. // Take field
  2048. pub fn take_sale_period(&mut self) -> ::protobuf::RepeatedField<SalePeriod> {
  2049. ::std::mem::replace(&mut self.sale_period, ::protobuf::RepeatedField::new())
  2050. }
  2051. // optional .ImageGroup cover_group = 17;
  2052. pub fn get_cover_group(&self) -> &ImageGroup {
  2053. self.cover_group.as_ref().unwrap_or_else(|| ImageGroup::default_instance())
  2054. }
  2055. pub fn clear_cover_group(&mut self) {
  2056. self.cover_group.clear();
  2057. }
  2058. pub fn has_cover_group(&self) -> bool {
  2059. self.cover_group.is_some()
  2060. }
  2061. // Param is passed by value, moved
  2062. pub fn set_cover_group(&mut self, v: ImageGroup) {
  2063. self.cover_group = ::protobuf::SingularPtrField::some(v);
  2064. }
  2065. // Mutable pointer to the field.
  2066. // If field is not initialized, it is initialized with default value first.
  2067. pub fn mut_cover_group(&mut self) -> &mut ImageGroup {
  2068. if self.cover_group.is_none() {
  2069. self.cover_group.set_default();
  2070. }
  2071. self.cover_group.as_mut().unwrap()
  2072. }
  2073. // Take field
  2074. pub fn take_cover_group(&mut self) -> ImageGroup {
  2075. self.cover_group.take().unwrap_or_else(|| ImageGroup::new())
  2076. }
  2077. }
  2078. impl ::protobuf::Message for Album {
  2079. fn is_initialized(&self) -> bool {
  2080. for v in &self.artist {
  2081. if !v.is_initialized() {
  2082. return false;
  2083. }
  2084. };
  2085. for v in &self.date {
  2086. if !v.is_initialized() {
  2087. return false;
  2088. }
  2089. };
  2090. for v in &self.cover {
  2091. if !v.is_initialized() {
  2092. return false;
  2093. }
  2094. };
  2095. for v in &self.external_id {
  2096. if !v.is_initialized() {
  2097. return false;
  2098. }
  2099. };
  2100. for v in &self.disc {
  2101. if !v.is_initialized() {
  2102. return false;
  2103. }
  2104. };
  2105. for v in &self.copyright {
  2106. if !v.is_initialized() {
  2107. return false;
  2108. }
  2109. };
  2110. for v in &self.restriction {
  2111. if !v.is_initialized() {
  2112. return false;
  2113. }
  2114. };
  2115. for v in &self.related {
  2116. if !v.is_initialized() {
  2117. return false;
  2118. }
  2119. };
  2120. for v in &self.sale_period {
  2121. if !v.is_initialized() {
  2122. return false;
  2123. }
  2124. };
  2125. for v in &self.cover_group {
  2126. if !v.is_initialized() {
  2127. return false;
  2128. }
  2129. };
  2130. true
  2131. }
  2132. fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
  2133. while !is.eof()? {
  2134. let (field_number, wire_type) = is.read_tag_unpack()?;
  2135. match field_number {
  2136. 1 => {
  2137. ::protobuf::rt::read_singular_bytes_into(wire_type, is, &mut self.gid)?;
  2138. },
  2139. 2 => {
  2140. ::protobuf::rt::read_singular_string_into(wire_type, is, &mut self.name)?;
  2141. },
  2142. 3 => {
  2143. ::protobuf::rt::read_repeated_message_into(wire_type, is, &mut self.artist)?;
  2144. },
  2145. 4 => {
  2146. ::protobuf::rt::read_proto2_enum_with_unknown_fields_into(wire_type, is, &mut self.typ, 4, &mut self.unknown_fields)?
  2147. },
  2148. 5 => {
  2149. ::protobuf::rt::read_singular_string_into(wire_type, is, &mut self.label)?;
  2150. },
  2151. 6 => {
  2152. ::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.date)?;
  2153. },
  2154. 7 => {
  2155. if wire_type != ::protobuf::wire_format::WireTypeVarint {
  2156. return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
  2157. }
  2158. let tmp = is.read_sint32()?;
  2159. self.popularity = ::std::option::Option::Some(tmp);
  2160. },
  2161. 8 => {
  2162. ::protobuf::rt::read_repeated_string_into(wire_type, is, &mut self.genre)?;
  2163. },
  2164. 9 => {
  2165. ::protobuf::rt::read_repeated_message_into(wire_type, is, &mut self.cover)?;
  2166. },
  2167. 10 => {
  2168. ::protobuf::rt::read_repeated_message_into(wire_type, is, &mut self.external_id)?;
  2169. },
  2170. 11 => {
  2171. ::protobuf::rt::read_repeated_message_into(wire_type, is, &mut self.disc)?;
  2172. },
  2173. 12 => {
  2174. ::protobuf::rt::read_repeated_string_into(wire_type, is, &mut self.review)?;
  2175. },
  2176. 13 => {
  2177. ::protobuf::rt::read_repeated_message_into(wire_type, is, &mut self.copyright)?;
  2178. },
  2179. 14 => {
  2180. ::protobuf::rt::read_repeated_message_into(wire_type, is, &mut self.restriction)?;
  2181. },
  2182. 15 => {
  2183. ::protobuf::rt::read_repeated_message_into(wire_type, is, &mut self.related)?;
  2184. },
  2185. 16 => {
  2186. ::protobuf::rt::read_repeated_message_into(wire_type, is, &mut self.sale_period)?;
  2187. },
  2188. 17 => {
  2189. ::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.cover_group)?;
  2190. },
  2191. _ => {
  2192. ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
  2193. },
  2194. };
  2195. }
  2196. ::std::result::Result::Ok(())
  2197. }
  2198. // Compute sizes of nested messages
  2199. #[allow(unused_variables)]
  2200. fn compute_size(&self) -> u32 {
  2201. let mut my_size = 0;
  2202. if let Some(ref v) = self.gid.as_ref() {
  2203. my_size += ::protobuf::rt::bytes_size(1, &v);
  2204. }
  2205. if let Some(ref v) = self.name.as_ref() {
  2206. my_size += ::protobuf::rt::string_size(2, &v);
  2207. }
  2208. for value in &self.artist {
  2209. let len = value.compute_size();
  2210. my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
  2211. };
  2212. if let Some(v) = self.typ {
  2213. my_size += ::protobuf::rt::enum_size(4, v);
  2214. }
  2215. if let Some(ref v) = self.label.as_ref() {
  2216. my_size += ::protobuf::rt::string_size(5, &v);
  2217. }
  2218. if let Some(ref v) = self.date.as_ref() {
  2219. let len = v.compute_size();
  2220. my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
  2221. }
  2222. if let Some(v) = self.popularity {
  2223. my_size += ::protobuf::rt::value_varint_zigzag_size(7, v);
  2224. }
  2225. for value in &self.genre {
  2226. my_size += ::protobuf::rt::string_size(8, &value);
  2227. };
  2228. for value in &self.cover {
  2229. let len = value.compute_size();
  2230. my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
  2231. };
  2232. for value in &self.external_id {
  2233. let len = value.compute_size();
  2234. my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
  2235. };
  2236. for value in &self.disc {
  2237. let len = value.compute_size();
  2238. my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
  2239. };
  2240. for value in &self.review {
  2241. my_size += ::protobuf::rt::string_size(12, &value);
  2242. };
  2243. for value in &self.copyright {
  2244. let len = value.compute_size();
  2245. my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
  2246. };
  2247. for value in &self.restriction {
  2248. let len = value.compute_size();
  2249. my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
  2250. };
  2251. for value in &self.related {
  2252. let len = value.compute_size();
  2253. my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
  2254. };
  2255. for value in &self.sale_period {
  2256. let len = value.compute_size();
  2257. my_size += 2 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
  2258. };
  2259. if let Some(ref v) = self.cover_group.as_ref() {
  2260. let len = v.compute_size();
  2261. my_size += 2 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
  2262. }
  2263. my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
  2264. self.cached_size.set(my_size);
  2265. my_size
  2266. }
  2267. fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
  2268. if let Some(ref v) = self.gid.as_ref() {
  2269. os.write_bytes(1, &v)?;
  2270. }
  2271. if let Some(ref v) = self.name.as_ref() {
  2272. os.write_string(2, &v)?;
  2273. }
  2274. for v in &self.artist {
  2275. os.write_tag(3, ::protobuf::wire_format::WireTypeLengthDelimited)?;
  2276. os.write_raw_varint32(v.get_cached_size())?;
  2277. v.write_to_with_cached_sizes(os)?;
  2278. };
  2279. if let Some(v) = self.typ {
  2280. os.write_enum(4, v.value())?;
  2281. }
  2282. if let Some(ref v) = self.label.as_ref() {
  2283. os.write_string(5, &v)?;
  2284. }
  2285. if let Some(ref v) = self.date.as_ref() {
  2286. os.write_tag(6, ::protobuf::wire_format::WireTypeLengthDelimited)?;
  2287. os.write_raw_varint32(v.get_cached_size())?;
  2288. v.write_to_with_cached_sizes(os)?;
  2289. }
  2290. if let Some(v) = self.popularity {
  2291. os.write_sint32(7, v)?;
  2292. }
  2293. for v in &self.genre {
  2294. os.write_string(8, &v)?;
  2295. };
  2296. for v in &self.cover {
  2297. os.write_tag(9, ::protobuf::wire_format::WireTypeLengthDelimited)?;
  2298. os.write_raw_varint32(v.get_cached_size())?;
  2299. v.write_to_with_cached_sizes(os)?;
  2300. };
  2301. for v in &self.external_id {
  2302. os.write_tag(10, ::protobuf::wire_format::WireTypeLengthDelimited)?;
  2303. os.write_raw_varint32(v.get_cached_size())?;
  2304. v.write_to_with_cached_sizes(os)?;
  2305. };
  2306. for v in &self.disc {
  2307. os.write_tag(11, ::protobuf::wire_format::WireTypeLengthDelimited)?;
  2308. os.write_raw_varint32(v.get_cached_size())?;
  2309. v.write_to_with_cached_sizes(os)?;
  2310. };
  2311. for v in &self.review {
  2312. os.write_string(12, &v)?;
  2313. };
  2314. for v in &self.copyright {
  2315. os.write_tag(13, ::protobuf::wire_format::WireTypeLengthDelimited)?;
  2316. os.write_raw_varint32(v.get_cached_size())?;
  2317. v.write_to_with_cached_sizes(os)?;
  2318. };
  2319. for v in &self.restriction {
  2320. os.write_tag(14, ::protobuf::wire_format::WireTypeLengthDelimited)?;
  2321. os.write_raw_varint32(v.get_cached_size())?;
  2322. v.write_to_with_cached_sizes(os)?;
  2323. };
  2324. for v in &self.related {
  2325. os.write_tag(15, ::protobuf::wire_format::WireTypeLengthDelimited)?;
  2326. os.write_raw_varint32(v.get_cached_size())?;
  2327. v.write_to_with_cached_sizes(os)?;
  2328. };
  2329. for v in &self.sale_period {
  2330. os.write_tag(16, ::protobuf::wire_format::WireTypeLengthDelimited)?;
  2331. os.write_raw_varint32(v.get_cached_size())?;
  2332. v.write_to_with_cached_sizes(os)?;
  2333. };
  2334. if let Some(ref v) = self.cover_group.as_ref() {
  2335. os.write_tag(17, ::protobuf::wire_format::WireTypeLengthDelimited)?;
  2336. os.write_raw_varint32(v.get_cached_size())?;
  2337. v.write_to_with_cached_sizes(os)?;
  2338. }
  2339. os.write_unknown_fields(self.get_unknown_fields())?;
  2340. ::std::result::Result::Ok(())
  2341. }
  2342. fn get_cached_size(&self) -> u32 {
  2343. self.cached_size.get()
  2344. }
  2345. fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
  2346. &self.unknown_fields
  2347. }
  2348. fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
  2349. &mut self.unknown_fields
  2350. }
  2351. fn as_any(&self) -> &dyn (::std::any::Any) {
  2352. self as &dyn (::std::any::Any)
  2353. }
  2354. fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
  2355. self as &mut dyn (::std::any::Any)
  2356. }
  2357. fn into_any(self: Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
  2358. self
  2359. }
  2360. fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
  2361. Self::descriptor_static()
  2362. }
  2363. fn new() -> Album {
  2364. Album::new()
  2365. }
  2366. fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
  2367. static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy {
  2368. lock: ::protobuf::lazy::ONCE_INIT,
  2369. ptr: 0 as *const ::protobuf::reflect::MessageDescriptor,
  2370. };
  2371. unsafe {
  2372. descriptor.get(|| {
  2373. let mut fields = ::std::vec::Vec::new();
  2374. fields.push(::protobuf::reflect::accessor::make_singular_field_accessor::<_, ::protobuf::types::ProtobufTypeBytes>(
  2375. "gid",
  2376. |m: &Album| { &m.gid },
  2377. |m: &mut Album| { &mut m.gid },
  2378. ));
  2379. fields.push(::protobuf::reflect::accessor::make_singular_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
  2380. "name",
  2381. |m: &Album| { &m.name },
  2382. |m: &mut Album| { &mut m.name },
  2383. ));
  2384. fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<Artist>>(
  2385. "artist",
  2386. |m: &Album| { &m.artist },
  2387. |m: &mut Album| { &mut m.artist },
  2388. ));
  2389. fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeEnum<Album_Type>>(
  2390. "typ",
  2391. |m: &Album| { &m.typ },
  2392. |m: &mut Album| { &mut m.typ },
  2393. ));
  2394. fields.push(::protobuf::reflect::accessor::make_singular_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
  2395. "label",
  2396. |m: &Album| { &m.label },
  2397. |m: &mut Album| { &mut m.label },
  2398. ));
  2399. fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<Date>>(
  2400. "date",
  2401. |m: &Album| { &m.date },
  2402. |m: &mut Album| { &mut m.date },
  2403. ));
  2404. fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeSint32>(
  2405. "popularity",
  2406. |m: &Album| { &m.popularity },
  2407. |m: &mut Album| { &mut m.popularity },
  2408. ));
  2409. fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
  2410. "genre",
  2411. |m: &Album| { &m.genre },
  2412. |m: &mut Album| { &mut m.genre },
  2413. ));
  2414. fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<Image>>(
  2415. "cover",
  2416. |m: &Album| { &m.cover },
  2417. |m: &mut Album| { &mut m.cover },
  2418. ));
  2419. fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<ExternalId>>(
  2420. "external_id",
  2421. |m: &Album| { &m.external_id },
  2422. |m: &mut Album| { &mut m.external_id },
  2423. ));
  2424. fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<Disc>>(
  2425. "disc",
  2426. |m: &Album| { &m.disc },
  2427. |m: &mut Album| { &mut m.disc },
  2428. ));
  2429. fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
  2430. "review",
  2431. |m: &Album| { &m.review },
  2432. |m: &mut Album| { &mut m.review },
  2433. ));
  2434. fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<Copyright>>(
  2435. "copyright",
  2436. |m: &Album| { &m.copyright },
  2437. |m: &mut Album| { &mut m.copyright },
  2438. ));
  2439. fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<Restriction>>(
  2440. "restriction",
  2441. |m: &Album| { &m.restriction },
  2442. |m: &mut Album| { &mut m.restriction },
  2443. ));
  2444. fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<Album>>(
  2445. "related",
  2446. |m: &Album| { &m.related },
  2447. |m: &mut Album| { &mut m.related },
  2448. ));
  2449. fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<SalePeriod>>(
  2450. "sale_period",
  2451. |m: &Album| { &m.sale_period },
  2452. |m: &mut Album| { &mut m.sale_period },
  2453. ));
  2454. fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<ImageGroup>>(
  2455. "cover_group",
  2456. |m: &Album| { &m.cover_group },
  2457. |m: &mut Album| { &mut m.cover_group },
  2458. ));
  2459. ::protobuf::reflect::MessageDescriptor::new::<Album>(
  2460. "Album",
  2461. fields,
  2462. file_descriptor_proto()
  2463. )
  2464. })
  2465. }
  2466. }
  2467. fn default_instance() -> &'static Album {
  2468. static mut instance: ::protobuf::lazy::Lazy<Album> = ::protobuf::lazy::Lazy {
  2469. lock: ::protobuf::lazy::ONCE_INIT,
  2470. ptr: 0 as *const Album,
  2471. };
  2472. unsafe {
  2473. instance.get(Album::new)
  2474. }
  2475. }
  2476. }
  2477. impl ::protobuf::Clear for Album {
  2478. fn clear(&mut self) {
  2479. self.gid.clear();
  2480. self.name.clear();
  2481. self.artist.clear();
  2482. self.typ = ::std::option::Option::None;
  2483. self.label.clear();
  2484. self.date.clear();
  2485. self.popularity = ::std::option::Option::None;
  2486. self.genre.clear();
  2487. self.cover.clear();
  2488. self.external_id.clear();
  2489. self.disc.clear();
  2490. self.review.clear();
  2491. self.copyright.clear();
  2492. self.restriction.clear();
  2493. self.related.clear();
  2494. self.sale_period.clear();
  2495. self.cover_group.clear();
  2496. self.unknown_fields.clear();
  2497. }
  2498. }
  2499. impl ::std::fmt::Debug for Album {
  2500. fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
  2501. ::protobuf::text_format::fmt(self, f)
  2502. }
  2503. }
  2504. impl ::protobuf::reflect::ProtobufValue for Album {
  2505. fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef {
  2506. ::protobuf::reflect::ProtobufValueRef::Message(self)
  2507. }
  2508. }
  2509. #[derive(Clone,PartialEq,Eq,Debug,Hash)]
  2510. pub enum Album_Type {
  2511. ALBUM = 1,
  2512. SINGLE = 2,
  2513. COMPILATION = 3,
  2514. EP = 4,
  2515. }
  2516. impl ::protobuf::ProtobufEnum for Album_Type {
  2517. fn value(&self) -> i32 {
  2518. *self as i32
  2519. }
  2520. fn from_i32(value: i32) -> ::std::option::Option<Album_Type> {
  2521. match value {
  2522. 1 => ::std::option::Option::Some(Album_Type::ALBUM),
  2523. 2 => ::std::option::Option::Some(Album_Type::SINGLE),
  2524. 3 => ::std::option::Option::Some(Album_Type::COMPILATION),
  2525. 4 => ::std::option::Option::Some(Album_Type::EP),
  2526. _ => ::std::option::Option::None
  2527. }
  2528. }
  2529. fn values() -> &'static [Self] {
  2530. static values: &'static [Album_Type] = &[
  2531. Album_Type::ALBUM,
  2532. Album_Type::SINGLE,
  2533. Album_Type::COMPILATION,
  2534. Album_Type::EP,
  2535. ];
  2536. values
  2537. }
  2538. fn enum_descriptor_static() -> &'static ::protobuf::reflect::EnumDescriptor {
  2539. static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::EnumDescriptor> = ::protobuf::lazy::Lazy {
  2540. lock: ::protobuf::lazy::ONCE_INIT,
  2541. ptr: 0 as *const ::protobuf::reflect::EnumDescriptor,
  2542. };
  2543. unsafe {
  2544. descriptor.get(|| {
  2545. ::protobuf::reflect::EnumDescriptor::new("Album_Type", file_descriptor_proto())
  2546. })
  2547. }
  2548. }
  2549. }
  2550. impl ::std::marker::Copy for Album_Type {
  2551. }
  2552. // Note, `Default` is implemented although default value is not 0
  2553. impl ::std::default::Default for Album_Type {
  2554. fn default() -> Self {
  2555. Album_Type::ALBUM
  2556. }
  2557. }
  2558. impl ::protobuf::reflect::ProtobufValue for Album_Type {
  2559. fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef {
  2560. ::protobuf::reflect::ProtobufValueRef::Enum(self.descriptor())
  2561. }
  2562. }
  2563. #[derive(PartialEq,Clone,Default)]
  2564. pub struct Track {
  2565. // message fields
  2566. gid: ::protobuf::SingularField<::std::vec::Vec<u8>>,
  2567. name: ::protobuf::SingularField<::std::string::String>,
  2568. album: ::protobuf::SingularPtrField<Album>,
  2569. artist: ::protobuf::RepeatedField<Artist>,
  2570. number: ::std::option::Option<i32>,
  2571. disc_number: ::std::option::Option<i32>,
  2572. duration: ::std::option::Option<i32>,
  2573. popularity: ::std::option::Option<i32>,
  2574. explicit: ::std::option::Option<bool>,
  2575. external_id: ::protobuf::RepeatedField<ExternalId>,
  2576. restriction: ::protobuf::RepeatedField<Restriction>,
  2577. file: ::protobuf::RepeatedField<AudioFile>,
  2578. alternative: ::protobuf::RepeatedField<Track>,
  2579. sale_period: ::protobuf::RepeatedField<SalePeriod>,
  2580. preview: ::protobuf::RepeatedField<AudioFile>,
  2581. // special fields
  2582. pub unknown_fields: ::protobuf::UnknownFields,
  2583. pub cached_size: ::protobuf::CachedSize,
  2584. }
  2585. impl<'a> ::std::default::Default for &'a Track {
  2586. fn default() -> &'a Track {
  2587. <Track as ::protobuf::Message>::default_instance()
  2588. }
  2589. }
  2590. impl Track {
  2591. pub fn new() -> Track {
  2592. ::std::default::Default::default()
  2593. }
  2594. // optional bytes gid = 1;
  2595. pub fn get_gid(&self) -> &[u8] {
  2596. match self.gid.as_ref() {
  2597. Some(v) => &v,
  2598. None => &[],
  2599. }
  2600. }
  2601. pub fn clear_gid(&mut self) {
  2602. self.gid.clear();
  2603. }
  2604. pub fn has_gid(&self) -> bool {
  2605. self.gid.is_some()
  2606. }
  2607. // Param is passed by value, moved
  2608. pub fn set_gid(&mut self, v: ::std::vec::Vec<u8>) {
  2609. self.gid = ::protobuf::SingularField::some(v);
  2610. }
  2611. // Mutable pointer to the field.
  2612. // If field is not initialized, it is initialized with default value first.
  2613. pub fn mut_gid(&mut self) -> &mut ::std::vec::Vec<u8> {
  2614. if self.gid.is_none() {
  2615. self.gid.set_default();
  2616. }
  2617. self.gid.as_mut().unwrap()
  2618. }
  2619. // Take field
  2620. pub fn take_gid(&mut self) -> ::std::vec::Vec<u8> {
  2621. self.gid.take().unwrap_or_else(|| ::std::vec::Vec::new())
  2622. }
  2623. // optional string name = 2;
  2624. pub fn get_name(&self) -> &str {
  2625. match self.name.as_ref() {
  2626. Some(v) => &v,
  2627. None => "",
  2628. }
  2629. }
  2630. pub fn clear_name(&mut self) {
  2631. self.name.clear();
  2632. }
  2633. pub fn has_name(&self) -> bool {
  2634. self.name.is_some()
  2635. }
  2636. // Param is passed by value, moved
  2637. pub fn set_name(&mut self, v: ::std::string::String) {
  2638. self.name = ::protobuf::SingularField::some(v);
  2639. }
  2640. // Mutable pointer to the field.
  2641. // If field is not initialized, it is initialized with default value first.
  2642. pub fn mut_name(&mut self) -> &mut ::std::string::String {
  2643. if self.name.is_none() {
  2644. self.name.set_default();
  2645. }
  2646. self.name.as_mut().unwrap()
  2647. }
  2648. // Take field
  2649. pub fn take_name(&mut self) -> ::std::string::String {
  2650. self.name.take().unwrap_or_else(|| ::std::string::String::new())
  2651. }
  2652. // optional .Album album = 3;
  2653. pub fn get_album(&self) -> &Album {
  2654. self.album.as_ref().unwrap_or_else(|| Album::default_instance())
  2655. }
  2656. pub fn clear_album(&mut self) {
  2657. self.album.clear();
  2658. }
  2659. pub fn has_album(&self) -> bool {
  2660. self.album.is_some()
  2661. }
  2662. // Param is passed by value, moved
  2663. pub fn set_album(&mut self, v: Album) {
  2664. self.album = ::protobuf::SingularPtrField::some(v);
  2665. }
  2666. // Mutable pointer to the field.
  2667. // If field is not initialized, it is initialized with default value first.
  2668. pub fn mut_album(&mut self) -> &mut Album {
  2669. if self.album.is_none() {
  2670. self.album.set_default();
  2671. }
  2672. self.album.as_mut().unwrap()
  2673. }
  2674. // Take field
  2675. pub fn take_album(&mut self) -> Album {
  2676. self.album.take().unwrap_or_else(|| Album::new())
  2677. }
  2678. // repeated .Artist artist = 4;
  2679. pub fn get_artist(&self) -> &[Artist] {
  2680. &self.artist
  2681. }
  2682. pub fn clear_artist(&mut self) {
  2683. self.artist.clear();
  2684. }
  2685. // Param is passed by value, moved
  2686. pub fn set_artist(&mut self, v: ::protobuf::RepeatedField<Artist>) {
  2687. self.artist = v;
  2688. }
  2689. // Mutable pointer to the field.
  2690. pub fn mut_artist(&mut self) -> &mut ::protobuf::RepeatedField<Artist> {
  2691. &mut self.artist
  2692. }
  2693. // Take field
  2694. pub fn take_artist(&mut self) -> ::protobuf::RepeatedField<Artist> {
  2695. ::std::mem::replace(&mut self.artist, ::protobuf::RepeatedField::new())
  2696. }
  2697. // optional sint32 number = 5;
  2698. pub fn get_number(&self) -> i32 {
  2699. self.number.unwrap_or(0)
  2700. }
  2701. pub fn clear_number(&mut self) {
  2702. self.number = ::std::option::Option::None;
  2703. }
  2704. pub fn has_number(&self) -> bool {
  2705. self.number.is_some()
  2706. }
  2707. // Param is passed by value, moved
  2708. pub fn set_number(&mut self, v: i32) {
  2709. self.number = ::std::option::Option::Some(v);
  2710. }
  2711. // optional sint32 disc_number = 6;
  2712. pub fn get_disc_number(&self) -> i32 {
  2713. self.disc_number.unwrap_or(0)
  2714. }
  2715. pub fn clear_disc_number(&mut self) {
  2716. self.disc_number = ::std::option::Option::None;
  2717. }
  2718. pub fn has_disc_number(&self) -> bool {
  2719. self.disc_number.is_some()
  2720. }
  2721. // Param is passed by value, moved
  2722. pub fn set_disc_number(&mut self, v: i32) {
  2723. self.disc_number = ::std::option::Option::Some(v);
  2724. }
  2725. // optional sint32 duration = 7;
  2726. pub fn get_duration(&self) -> i32 {
  2727. self.duration.unwrap_or(0)
  2728. }
  2729. pub fn clear_duration(&mut self) {
  2730. self.duration = ::std::option::Option::None;
  2731. }
  2732. pub fn has_duration(&self) -> bool {
  2733. self.duration.is_some()
  2734. }
  2735. // Param is passed by value, moved
  2736. pub fn set_duration(&mut self, v: i32) {
  2737. self.duration = ::std::option::Option::Some(v);
  2738. }
  2739. // optional sint32 popularity = 8;
  2740. pub fn get_popularity(&self) -> i32 {
  2741. self.popularity.unwrap_or(0)
  2742. }
  2743. pub fn clear_popularity(&mut self) {
  2744. self.popularity = ::std::option::Option::None;
  2745. }
  2746. pub fn has_popularity(&self) -> bool {
  2747. self.popularity.is_some()
  2748. }
  2749. // Param is passed by value, moved
  2750. pub fn set_popularity(&mut self, v: i32) {
  2751. self.popularity = ::std::option::Option::Some(v);
  2752. }
  2753. // optional bool explicit = 9;
  2754. pub fn get_explicit(&self) -> bool {
  2755. self.explicit.unwrap_or(false)
  2756. }
  2757. pub fn clear_explicit(&mut self) {
  2758. self.explicit = ::std::option::Option::None;
  2759. }
  2760. pub fn has_explicit(&self) -> bool {
  2761. self.explicit.is_some()
  2762. }
  2763. // Param is passed by value, moved
  2764. pub fn set_explicit(&mut self, v: bool) {
  2765. self.explicit = ::std::option::Option::Some(v);
  2766. }
  2767. // repeated .ExternalId external_id = 10;
  2768. pub fn get_external_id(&self) -> &[ExternalId] {
  2769. &self.external_id
  2770. }
  2771. pub fn clear_external_id(&mut self) {
  2772. self.external_id.clear();
  2773. }
  2774. // Param is passed by value, moved
  2775. pub fn set_external_id(&mut self, v: ::protobuf::RepeatedField<ExternalId>) {
  2776. self.external_id = v;
  2777. }
  2778. // Mutable pointer to the field.
  2779. pub fn mut_external_id(&mut self) -> &mut ::protobuf::RepeatedField<ExternalId> {
  2780. &mut self.external_id
  2781. }
  2782. // Take field
  2783. pub fn take_external_id(&mut self) -> ::protobuf::RepeatedField<ExternalId> {
  2784. ::std::mem::replace(&mut self.external_id, ::protobuf::RepeatedField::new())
  2785. }
  2786. // repeated .Restriction restriction = 11;
  2787. pub fn get_restriction(&self) -> &[Restriction] {
  2788. &self.restriction
  2789. }
  2790. pub fn clear_restriction(&mut self) {
  2791. self.restriction.clear();
  2792. }
  2793. // Param is passed by value, moved
  2794. pub fn set_restriction(&mut self, v: ::protobuf::RepeatedField<Restriction>) {
  2795. self.restriction = v;
  2796. }
  2797. // Mutable pointer to the field.
  2798. pub fn mut_restriction(&mut self) -> &mut ::protobuf::RepeatedField<Restriction> {
  2799. &mut self.restriction
  2800. }
  2801. // Take field
  2802. pub fn take_restriction(&mut self) -> ::protobuf::RepeatedField<Restriction> {
  2803. ::std::mem::replace(&mut self.restriction, ::protobuf::RepeatedField::new())
  2804. }
  2805. // repeated .AudioFile file = 12;
  2806. pub fn get_file(&self) -> &[AudioFile] {
  2807. &self.file
  2808. }
  2809. pub fn clear_file(&mut self) {
  2810. self.file.clear();
  2811. }
  2812. // Param is passed by value, moved
  2813. pub fn set_file(&mut self, v: ::protobuf::RepeatedField<AudioFile>) {
  2814. self.file = v;
  2815. }
  2816. // Mutable pointer to the field.
  2817. pub fn mut_file(&mut self) -> &mut ::protobuf::RepeatedField<AudioFile> {
  2818. &mut self.file
  2819. }
  2820. // Take field
  2821. pub fn take_file(&mut self) -> ::protobuf::RepeatedField<AudioFile> {
  2822. ::std::mem::replace(&mut self.file, ::protobuf::RepeatedField::new())
  2823. }
  2824. // repeated .Track alternative = 13;
  2825. pub fn get_alternative(&self) -> &[Track] {
  2826. &self.alternative
  2827. }
  2828. pub fn clear_alternative(&mut self) {
  2829. self.alternative.clear();
  2830. }
  2831. // Param is passed by value, moved
  2832. pub fn set_alternative(&mut self, v: ::protobuf::RepeatedField<Track>) {
  2833. self.alternative = v;
  2834. }
  2835. // Mutable pointer to the field.
  2836. pub fn mut_alternative(&mut self) -> &mut ::protobuf::RepeatedField<Track> {
  2837. &mut self.alternative
  2838. }
  2839. // Take field
  2840. pub fn take_alternative(&mut self) -> ::protobuf::RepeatedField<Track> {
  2841. ::std::mem::replace(&mut self.alternative, ::protobuf::RepeatedField::new())
  2842. }
  2843. // repeated .SalePeriod sale_period = 14;
  2844. pub fn get_sale_period(&self) -> &[SalePeriod] {
  2845. &self.sale_period
  2846. }
  2847. pub fn clear_sale_period(&mut self) {
  2848. self.sale_period.clear();
  2849. }
  2850. // Param is passed by value, moved
  2851. pub fn set_sale_period(&mut self, v: ::protobuf::RepeatedField<SalePeriod>) {
  2852. self.sale_period = v;
  2853. }
  2854. // Mutable pointer to the field.
  2855. pub fn mut_sale_period(&mut self) -> &mut ::protobuf::RepeatedField<SalePeriod> {
  2856. &mut self.sale_period
  2857. }
  2858. // Take field
  2859. pub fn take_sale_period(&mut self) -> ::protobuf::RepeatedField<SalePeriod> {
  2860. ::std::mem::replace(&mut self.sale_period, ::protobuf::RepeatedField::new())
  2861. }
  2862. // repeated .AudioFile preview = 15;
  2863. pub fn get_preview(&self) -> &[AudioFile] {
  2864. &self.preview
  2865. }
  2866. pub fn clear_preview(&mut self) {
  2867. self.preview.clear();
  2868. }
  2869. // Param is passed by value, moved
  2870. pub fn set_preview(&mut self, v: ::protobuf::RepeatedField<AudioFile>) {
  2871. self.preview = v;
  2872. }
  2873. // Mutable pointer to the field.
  2874. pub fn mut_preview(&mut self) -> &mut ::protobuf::RepeatedField<AudioFile> {
  2875. &mut self.preview
  2876. }
  2877. // Take field
  2878. pub fn take_preview(&mut self) -> ::protobuf::RepeatedField<AudioFile> {
  2879. ::std::mem::replace(&mut self.preview, ::protobuf::RepeatedField::new())
  2880. }
  2881. }
  2882. impl ::protobuf::Message for Track {
  2883. fn is_initialized(&self) -> bool {
  2884. for v in &self.album {
  2885. if !v.is_initialized() {
  2886. return false;
  2887. }
  2888. };
  2889. for v in &self.artist {
  2890. if !v.is_initialized() {
  2891. return false;
  2892. }
  2893. };
  2894. for v in &self.external_id {
  2895. if !v.is_initialized() {
  2896. return false;
  2897. }
  2898. };
  2899. for v in &self.restriction {
  2900. if !v.is_initialized() {
  2901. return false;
  2902. }
  2903. };
  2904. for v in &self.file {
  2905. if !v.is_initialized() {
  2906. return false;
  2907. }
  2908. };
  2909. for v in &self.alternative {
  2910. if !v.is_initialized() {
  2911. return false;
  2912. }
  2913. };
  2914. for v in &self.sale_period {
  2915. if !v.is_initialized() {
  2916. return false;
  2917. }
  2918. };
  2919. for v in &self.preview {
  2920. if !v.is_initialized() {
  2921. return false;
  2922. }
  2923. };
  2924. true
  2925. }
  2926. fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
  2927. while !is.eof()? {
  2928. let (field_number, wire_type) = is.read_tag_unpack()?;
  2929. match field_number {
  2930. 1 => {
  2931. ::protobuf::rt::read_singular_bytes_into(wire_type, is, &mut self.gid)?;
  2932. },
  2933. 2 => {
  2934. ::protobuf::rt::read_singular_string_into(wire_type, is, &mut self.name)?;
  2935. },
  2936. 3 => {
  2937. ::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.album)?;
  2938. },
  2939. 4 => {
  2940. ::protobuf::rt::read_repeated_message_into(wire_type, is, &mut self.artist)?;
  2941. },
  2942. 5 => {
  2943. if wire_type != ::protobuf::wire_format::WireTypeVarint {
  2944. return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
  2945. }
  2946. let tmp = is.read_sint32()?;
  2947. self.number = ::std::option::Option::Some(tmp);
  2948. },
  2949. 6 => {
  2950. if wire_type != ::protobuf::wire_format::WireTypeVarint {
  2951. return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
  2952. }
  2953. let tmp = is.read_sint32()?;
  2954. self.disc_number = ::std::option::Option::Some(tmp);
  2955. },
  2956. 7 => {
  2957. if wire_type != ::protobuf::wire_format::WireTypeVarint {
  2958. return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
  2959. }
  2960. let tmp = is.read_sint32()?;
  2961. self.duration = ::std::option::Option::Some(tmp);
  2962. },
  2963. 8 => {
  2964. if wire_type != ::protobuf::wire_format::WireTypeVarint {
  2965. return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
  2966. }
  2967. let tmp = is.read_sint32()?;
  2968. self.popularity = ::std::option::Option::Some(tmp);
  2969. },
  2970. 9 => {
  2971. if wire_type != ::protobuf::wire_format::WireTypeVarint {
  2972. return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
  2973. }
  2974. let tmp = is.read_bool()?;
  2975. self.explicit = ::std::option::Option::Some(tmp);
  2976. },
  2977. 10 => {
  2978. ::protobuf::rt::read_repeated_message_into(wire_type, is, &mut self.external_id)?;
  2979. },
  2980. 11 => {
  2981. ::protobuf::rt::read_repeated_message_into(wire_type, is, &mut self.restriction)?;
  2982. },
  2983. 12 => {
  2984. ::protobuf::rt::read_repeated_message_into(wire_type, is, &mut self.file)?;
  2985. },
  2986. 13 => {
  2987. ::protobuf::rt::read_repeated_message_into(wire_type, is, &mut self.alternative)?;
  2988. },
  2989. 14 => {
  2990. ::protobuf::rt::read_repeated_message_into(wire_type, is, &mut self.sale_period)?;
  2991. },
  2992. 15 => {
  2993. ::protobuf::rt::read_repeated_message_into(wire_type, is, &mut self.preview)?;
  2994. },
  2995. _ => {
  2996. ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
  2997. },
  2998. };
  2999. }
  3000. ::std::result::Result::Ok(())
  3001. }
  3002. // Compute sizes of nested messages
  3003. #[allow(unused_variables)]
  3004. fn compute_size(&self) -> u32 {
  3005. let mut my_size = 0;
  3006. if let Some(ref v) = self.gid.as_ref() {
  3007. my_size += ::protobuf::rt::bytes_size(1, &v);
  3008. }
  3009. if let Some(ref v) = self.name.as_ref() {
  3010. my_size += ::protobuf::rt::string_size(2, &v);
  3011. }
  3012. if let Some(ref v) = self.album.as_ref() {
  3013. let len = v.compute_size();
  3014. my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
  3015. }
  3016. for value in &self.artist {
  3017. let len = value.compute_size();
  3018. my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
  3019. };
  3020. if let Some(v) = self.number {
  3021. my_size += ::protobuf::rt::value_varint_zigzag_size(5, v);
  3022. }
  3023. if let Some(v) = self.disc_number {
  3024. my_size += ::protobuf::rt::value_varint_zigzag_size(6, v);
  3025. }
  3026. if let Some(v) = self.duration {
  3027. my_size += ::protobuf::rt::value_varint_zigzag_size(7, v);
  3028. }
  3029. if let Some(v) = self.popularity {
  3030. my_size += ::protobuf::rt::value_varint_zigzag_size(8, v);
  3031. }
  3032. if let Some(v) = self.explicit {
  3033. my_size += 2;
  3034. }
  3035. for value in &self.external_id {
  3036. let len = value.compute_size();
  3037. my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
  3038. };
  3039. for value in &self.restriction {
  3040. let len = value.compute_size();
  3041. my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
  3042. };
  3043. for value in &self.file {
  3044. let len = value.compute_size();
  3045. my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
  3046. };
  3047. for value in &self.alternative {
  3048. let len = value.compute_size();
  3049. my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
  3050. };
  3051. for value in &self.sale_period {
  3052. let len = value.compute_size();
  3053. my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
  3054. };
  3055. for value in &self.preview {
  3056. let len = value.compute_size();
  3057. my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
  3058. };
  3059. my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
  3060. self.cached_size.set(my_size);
  3061. my_size
  3062. }
  3063. fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
  3064. if let Some(ref v) = self.gid.as_ref() {
  3065. os.write_bytes(1, &v)?;
  3066. }
  3067. if let Some(ref v) = self.name.as_ref() {
  3068. os.write_string(2, &v)?;
  3069. }
  3070. if let Some(ref v) = self.album.as_ref() {
  3071. os.write_tag(3, ::protobuf::wire_format::WireTypeLengthDelimited)?;
  3072. os.write_raw_varint32(v.get_cached_size())?;
  3073. v.write_to_with_cached_sizes(os)?;
  3074. }
  3075. for v in &self.artist {
  3076. os.write_tag(4, ::protobuf::wire_format::WireTypeLengthDelimited)?;
  3077. os.write_raw_varint32(v.get_cached_size())?;
  3078. v.write_to_with_cached_sizes(os)?;
  3079. };
  3080. if let Some(v) = self.number {
  3081. os.write_sint32(5, v)?;
  3082. }
  3083. if let Some(v) = self.disc_number {
  3084. os.write_sint32(6, v)?;
  3085. }
  3086. if let Some(v) = self.duration {
  3087. os.write_sint32(7, v)?;
  3088. }
  3089. if let Some(v) = self.popularity {
  3090. os.write_sint32(8, v)?;
  3091. }
  3092. if let Some(v) = self.explicit {
  3093. os.write_bool(9, v)?;
  3094. }
  3095. for v in &self.external_id {
  3096. os.write_tag(10, ::protobuf::wire_format::WireTypeLengthDelimited)?;
  3097. os.write_raw_varint32(v.get_cached_size())?;
  3098. v.write_to_with_cached_sizes(os)?;
  3099. };
  3100. for v in &self.restriction {
  3101. os.write_tag(11, ::protobuf::wire_format::WireTypeLengthDelimited)?;
  3102. os.write_raw_varint32(v.get_cached_size())?;
  3103. v.write_to_with_cached_sizes(os)?;
  3104. };
  3105. for v in &self.file {
  3106. os.write_tag(12, ::protobuf::wire_format::WireTypeLengthDelimited)?;
  3107. os.write_raw_varint32(v.get_cached_size())?;
  3108. v.write_to_with_cached_sizes(os)?;
  3109. };
  3110. for v in &self.alternative {
  3111. os.write_tag(13, ::protobuf::wire_format::WireTypeLengthDelimited)?;
  3112. os.write_raw_varint32(v.get_cached_size())?;
  3113. v.write_to_with_cached_sizes(os)?;
  3114. };
  3115. for v in &self.sale_period {
  3116. os.write_tag(14, ::protobuf::wire_format::WireTypeLengthDelimited)?;
  3117. os.write_raw_varint32(v.get_cached_size())?;
  3118. v.write_to_with_cached_sizes(os)?;
  3119. };
  3120. for v in &self.preview {
  3121. os.write_tag(15, ::protobuf::wire_format::WireTypeLengthDelimited)?;
  3122. os.write_raw_varint32(v.get_cached_size())?;
  3123. v.write_to_with_cached_sizes(os)?;
  3124. };
  3125. os.write_unknown_fields(self.get_unknown_fields())?;
  3126. ::std::result::Result::Ok(())
  3127. }
  3128. fn get_cached_size(&self) -> u32 {
  3129. self.cached_size.get()
  3130. }
  3131. fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
  3132. &self.unknown_fields
  3133. }
  3134. fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
  3135. &mut self.unknown_fields
  3136. }
  3137. fn as_any(&self) -> &dyn (::std::any::Any) {
  3138. self as &dyn (::std::any::Any)
  3139. }
  3140. fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
  3141. self as &mut dyn (::std::any::Any)
  3142. }
  3143. fn into_any(self: Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
  3144. self
  3145. }
  3146. fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
  3147. Self::descriptor_static()
  3148. }
  3149. fn new() -> Track {
  3150. Track::new()
  3151. }
  3152. fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
  3153. static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy {
  3154. lock: ::protobuf::lazy::ONCE_INIT,
  3155. ptr: 0 as *const ::protobuf::reflect::MessageDescriptor,
  3156. };
  3157. unsafe {
  3158. descriptor.get(|| {
  3159. let mut fields = ::std::vec::Vec::new();
  3160. fields.push(::protobuf::reflect::accessor::make_singular_field_accessor::<_, ::protobuf::types::ProtobufTypeBytes>(
  3161. "gid",
  3162. |m: &Track| { &m.gid },
  3163. |m: &mut Track| { &mut m.gid },
  3164. ));
  3165. fields.push(::protobuf::reflect::accessor::make_singular_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
  3166. "name",
  3167. |m: &Track| { &m.name },
  3168. |m: &mut Track| { &mut m.name },
  3169. ));
  3170. fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<Album>>(
  3171. "album",
  3172. |m: &Track| { &m.album },
  3173. |m: &mut Track| { &mut m.album },
  3174. ));
  3175. fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<Artist>>(
  3176. "artist",
  3177. |m: &Track| { &m.artist },
  3178. |m: &mut Track| { &mut m.artist },
  3179. ));
  3180. fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeSint32>(
  3181. "number",
  3182. |m: &Track| { &m.number },
  3183. |m: &mut Track| { &mut m.number },
  3184. ));
  3185. fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeSint32>(
  3186. "disc_number",
  3187. |m: &Track| { &m.disc_number },
  3188. |m: &mut Track| { &mut m.disc_number },
  3189. ));
  3190. fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeSint32>(
  3191. "duration",
  3192. |m: &Track| { &m.duration },
  3193. |m: &mut Track| { &mut m.duration },
  3194. ));
  3195. fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeSint32>(
  3196. "popularity",
  3197. |m: &Track| { &m.popularity },
  3198. |m: &mut Track| { &mut m.popularity },
  3199. ));
  3200. fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeBool>(
  3201. "explicit",
  3202. |m: &Track| { &m.explicit },
  3203. |m: &mut Track| { &mut m.explicit },
  3204. ));
  3205. fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<ExternalId>>(
  3206. "external_id",
  3207. |m: &Track| { &m.external_id },
  3208. |m: &mut Track| { &mut m.external_id },
  3209. ));
  3210. fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<Restriction>>(
  3211. "restriction",
  3212. |m: &Track| { &m.restriction },
  3213. |m: &mut Track| { &mut m.restriction },
  3214. ));
  3215. fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<AudioFile>>(
  3216. "file",
  3217. |m: &Track| { &m.file },
  3218. |m: &mut Track| { &mut m.file },
  3219. ));
  3220. fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<Track>>(
  3221. "alternative",
  3222. |m: &Track| { &m.alternative },
  3223. |m: &mut Track| { &mut m.alternative },
  3224. ));
  3225. fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<SalePeriod>>(
  3226. "sale_period",
  3227. |m: &Track| { &m.sale_period },
  3228. |m: &mut Track| { &mut m.sale_period },
  3229. ));
  3230. fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<AudioFile>>(
  3231. "preview",
  3232. |m: &Track| { &m.preview },
  3233. |m: &mut Track| { &mut m.preview },
  3234. ));
  3235. ::protobuf::reflect::MessageDescriptor::new::<Track>(
  3236. "Track",
  3237. fields,
  3238. file_descriptor_proto()
  3239. )
  3240. })
  3241. }
  3242. }
  3243. fn default_instance() -> &'static Track {
  3244. static mut instance: ::protobuf::lazy::Lazy<Track> = ::protobuf::lazy::Lazy {
  3245. lock: ::protobuf::lazy::ONCE_INIT,
  3246. ptr: 0 as *const Track,
  3247. };
  3248. unsafe {
  3249. instance.get(Track::new)
  3250. }
  3251. }
  3252. }
  3253. impl ::protobuf::Clear for Track {
  3254. fn clear(&mut self) {
  3255. self.gid.clear();
  3256. self.name.clear();
  3257. self.album.clear();
  3258. self.artist.clear();
  3259. self.number = ::std::option::Option::None;
  3260. self.disc_number = ::std::option::Option::None;
  3261. self.duration = ::std::option::Option::None;
  3262. self.popularity = ::std::option::Option::None;
  3263. self.explicit = ::std::option::Option::None;
  3264. self.external_id.clear();
  3265. self.restriction.clear();
  3266. self.file.clear();
  3267. self.alternative.clear();
  3268. self.sale_period.clear();
  3269. self.preview.clear();
  3270. self.unknown_fields.clear();
  3271. }
  3272. }
  3273. impl ::std::fmt::Debug for Track {
  3274. fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
  3275. ::protobuf::text_format::fmt(self, f)
  3276. }
  3277. }
  3278. impl ::protobuf::reflect::ProtobufValue for Track {
  3279. fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef {
  3280. ::protobuf::reflect::ProtobufValueRef::Message(self)
  3281. }
  3282. }
  3283. #[derive(PartialEq,Clone,Default)]
  3284. pub struct Image {
  3285. // message fields
  3286. file_id: ::protobuf::SingularField<::std::vec::Vec<u8>>,
  3287. size: ::std::option::Option<Image_Size>,
  3288. width: ::std::option::Option<i32>,
  3289. height: ::std::option::Option<i32>,
  3290. // special fields
  3291. pub unknown_fields: ::protobuf::UnknownFields,
  3292. pub cached_size: ::protobuf::CachedSize,
  3293. }
  3294. impl<'a> ::std::default::Default for &'a Image {
  3295. fn default() -> &'a Image {
  3296. <Image as ::protobuf::Message>::default_instance()
  3297. }
  3298. }
  3299. impl Image {
  3300. pub fn new() -> Image {
  3301. ::std::default::Default::default()
  3302. }
  3303. // optional bytes file_id = 1;
  3304. pub fn get_file_id(&self) -> &[u8] {
  3305. match self.file_id.as_ref() {
  3306. Some(v) => &v,
  3307. None => &[],
  3308. }
  3309. }
  3310. pub fn clear_file_id(&mut self) {
  3311. self.file_id.clear();
  3312. }
  3313. pub fn has_file_id(&self) -> bool {
  3314. self.file_id.is_some()
  3315. }
  3316. // Param is passed by value, moved
  3317. pub fn set_file_id(&mut self, v: ::std::vec::Vec<u8>) {
  3318. self.file_id = ::protobuf::SingularField::some(v);
  3319. }
  3320. // Mutable pointer to the field.
  3321. // If field is not initialized, it is initialized with default value first.
  3322. pub fn mut_file_id(&mut self) -> &mut ::std::vec::Vec<u8> {
  3323. if self.file_id.is_none() {
  3324. self.file_id.set_default();
  3325. }
  3326. self.file_id.as_mut().unwrap()
  3327. }
  3328. // Take field
  3329. pub fn take_file_id(&mut self) -> ::std::vec::Vec<u8> {
  3330. self.file_id.take().unwrap_or_else(|| ::std::vec::Vec::new())
  3331. }
  3332. // optional .Image.Size size = 2;
  3333. pub fn get_size(&self) -> Image_Size {
  3334. self.size.unwrap_or(Image_Size::DEFAULT)
  3335. }
  3336. pub fn clear_size(&mut self) {
  3337. self.size = ::std::option::Option::None;
  3338. }
  3339. pub fn has_size(&self) -> bool {
  3340. self.size.is_some()
  3341. }
  3342. // Param is passed by value, moved
  3343. pub fn set_size(&mut self, v: Image_Size) {
  3344. self.size = ::std::option::Option::Some(v);
  3345. }
  3346. // optional sint32 width = 3;
  3347. pub fn get_width(&self) -> i32 {
  3348. self.width.unwrap_or(0)
  3349. }
  3350. pub fn clear_width(&mut self) {
  3351. self.width = ::std::option::Option::None;
  3352. }
  3353. pub fn has_width(&self) -> bool {
  3354. self.width.is_some()
  3355. }
  3356. // Param is passed by value, moved
  3357. pub fn set_width(&mut self, v: i32) {
  3358. self.width = ::std::option::Option::Some(v);
  3359. }
  3360. // optional sint32 height = 4;
  3361. pub fn get_height(&self) -> i32 {
  3362. self.height.unwrap_or(0)
  3363. }
  3364. pub fn clear_height(&mut self) {
  3365. self.height = ::std::option::Option::None;
  3366. }
  3367. pub fn has_height(&self) -> bool {
  3368. self.height.is_some()
  3369. }
  3370. // Param is passed by value, moved
  3371. pub fn set_height(&mut self, v: i32) {
  3372. self.height = ::std::option::Option::Some(v);
  3373. }
  3374. }
  3375. impl ::protobuf::Message for Image {
  3376. fn is_initialized(&self) -> bool {
  3377. true
  3378. }
  3379. fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
  3380. while !is.eof()? {
  3381. let (field_number, wire_type) = is.read_tag_unpack()?;
  3382. match field_number {
  3383. 1 => {
  3384. ::protobuf::rt::read_singular_bytes_into(wire_type, is, &mut self.file_id)?;
  3385. },
  3386. 2 => {
  3387. ::protobuf::rt::read_proto2_enum_with_unknown_fields_into(wire_type, is, &mut self.size, 2, &mut self.unknown_fields)?
  3388. },
  3389. 3 => {
  3390. if wire_type != ::protobuf::wire_format::WireTypeVarint {
  3391. return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
  3392. }
  3393. let tmp = is.read_sint32()?;
  3394. self.width = ::std::option::Option::Some(tmp);
  3395. },
  3396. 4 => {
  3397. if wire_type != ::protobuf::wire_format::WireTypeVarint {
  3398. return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
  3399. }
  3400. let tmp = is.read_sint32()?;
  3401. self.height = ::std::option::Option::Some(tmp);
  3402. },
  3403. _ => {
  3404. ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
  3405. },
  3406. };
  3407. }
  3408. ::std::result::Result::Ok(())
  3409. }
  3410. // Compute sizes of nested messages
  3411. #[allow(unused_variables)]
  3412. fn compute_size(&self) -> u32 {
  3413. let mut my_size = 0;
  3414. if let Some(ref v) = self.file_id.as_ref() {
  3415. my_size += ::protobuf::rt::bytes_size(1, &v);
  3416. }
  3417. if let Some(v) = self.size {
  3418. my_size += ::protobuf::rt::enum_size(2, v);
  3419. }
  3420. if let Some(v) = self.width {
  3421. my_size += ::protobuf::rt::value_varint_zigzag_size(3, v);
  3422. }
  3423. if let Some(v) = self.height {
  3424. my_size += ::protobuf::rt::value_varint_zigzag_size(4, v);
  3425. }
  3426. my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
  3427. self.cached_size.set(my_size);
  3428. my_size
  3429. }
  3430. fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
  3431. if let Some(ref v) = self.file_id.as_ref() {
  3432. os.write_bytes(1, &v)?;
  3433. }
  3434. if let Some(v) = self.size {
  3435. os.write_enum(2, v.value())?;
  3436. }
  3437. if let Some(v) = self.width {
  3438. os.write_sint32(3, v)?;
  3439. }
  3440. if let Some(v) = self.height {
  3441. os.write_sint32(4, v)?;
  3442. }
  3443. os.write_unknown_fields(self.get_unknown_fields())?;
  3444. ::std::result::Result::Ok(())
  3445. }
  3446. fn get_cached_size(&self) -> u32 {
  3447. self.cached_size.get()
  3448. }
  3449. fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
  3450. &self.unknown_fields
  3451. }
  3452. fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
  3453. &mut self.unknown_fields
  3454. }
  3455. fn as_any(&self) -> &dyn (::std::any::Any) {
  3456. self as &dyn (::std::any::Any)
  3457. }
  3458. fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
  3459. self as &mut dyn (::std::any::Any)
  3460. }
  3461. fn into_any(self: Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
  3462. self
  3463. }
  3464. fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
  3465. Self::descriptor_static()
  3466. }
  3467. fn new() -> Image {
  3468. Image::new()
  3469. }
  3470. fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
  3471. static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy {
  3472. lock: ::protobuf::lazy::ONCE_INIT,
  3473. ptr: 0 as *const ::protobuf::reflect::MessageDescriptor,
  3474. };
  3475. unsafe {
  3476. descriptor.get(|| {
  3477. let mut fields = ::std::vec::Vec::new();
  3478. fields.push(::protobuf::reflect::accessor::make_singular_field_accessor::<_, ::protobuf::types::ProtobufTypeBytes>(
  3479. "file_id",
  3480. |m: &Image| { &m.file_id },
  3481. |m: &mut Image| { &mut m.file_id },
  3482. ));
  3483. fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeEnum<Image_Size>>(
  3484. "size",
  3485. |m: &Image| { &m.size },
  3486. |m: &mut Image| { &mut m.size },
  3487. ));
  3488. fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeSint32>(
  3489. "width",
  3490. |m: &Image| { &m.width },
  3491. |m: &mut Image| { &mut m.width },
  3492. ));
  3493. fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeSint32>(
  3494. "height",
  3495. |m: &Image| { &m.height },
  3496. |m: &mut Image| { &mut m.height },
  3497. ));
  3498. ::protobuf::reflect::MessageDescriptor::new::<Image>(
  3499. "Image",
  3500. fields,
  3501. file_descriptor_proto()
  3502. )
  3503. })
  3504. }
  3505. }
  3506. fn default_instance() -> &'static Image {
  3507. static mut instance: ::protobuf::lazy::Lazy<Image> = ::protobuf::lazy::Lazy {
  3508. lock: ::protobuf::lazy::ONCE_INIT,
  3509. ptr: 0 as *const Image,
  3510. };
  3511. unsafe {
  3512. instance.get(Image::new)
  3513. }
  3514. }
  3515. }
  3516. impl ::protobuf::Clear for Image {
  3517. fn clear(&mut self) {
  3518. self.file_id.clear();
  3519. self.size = ::std::option::Option::None;
  3520. self.width = ::std::option::Option::None;
  3521. self.height = ::std::option::Option::None;
  3522. self.unknown_fields.clear();
  3523. }
  3524. }
  3525. impl ::std::fmt::Debug for Image {
  3526. fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
  3527. ::protobuf::text_format::fmt(self, f)
  3528. }
  3529. }
  3530. impl ::protobuf::reflect::ProtobufValue for Image {
  3531. fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef {
  3532. ::protobuf::reflect::ProtobufValueRef::Message(self)
  3533. }
  3534. }
  3535. #[derive(Clone,PartialEq,Eq,Debug,Hash)]
  3536. pub enum Image_Size {
  3537. DEFAULT = 0,
  3538. SMALL = 1,
  3539. LARGE = 2,
  3540. XLARGE = 3,
  3541. }
  3542. impl ::protobuf::ProtobufEnum for Image_Size {
  3543. fn value(&self) -> i32 {
  3544. *self as i32
  3545. }
  3546. fn from_i32(value: i32) -> ::std::option::Option<Image_Size> {
  3547. match value {
  3548. 0 => ::std::option::Option::Some(Image_Size::DEFAULT),
  3549. 1 => ::std::option::Option::Some(Image_Size::SMALL),
  3550. 2 => ::std::option::Option::Some(Image_Size::LARGE),
  3551. 3 => ::std::option::Option::Some(Image_Size::XLARGE),
  3552. _ => ::std::option::Option::None
  3553. }
  3554. }
  3555. fn values() -> &'static [Self] {
  3556. static values: &'static [Image_Size] = &[
  3557. Image_Size::DEFAULT,
  3558. Image_Size::SMALL,
  3559. Image_Size::LARGE,
  3560. Image_Size::XLARGE,
  3561. ];
  3562. values
  3563. }
  3564. fn enum_descriptor_static() -> &'static ::protobuf::reflect::EnumDescriptor {
  3565. static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::EnumDescriptor> = ::protobuf::lazy::Lazy {
  3566. lock: ::protobuf::lazy::ONCE_INIT,
  3567. ptr: 0 as *const ::protobuf::reflect::EnumDescriptor,
  3568. };
  3569. unsafe {
  3570. descriptor.get(|| {
  3571. ::protobuf::reflect::EnumDescriptor::new("Image_Size", file_descriptor_proto())
  3572. })
  3573. }
  3574. }
  3575. }
  3576. impl ::std::marker::Copy for Image_Size {
  3577. }
  3578. impl ::std::default::Default for Image_Size {
  3579. fn default() -> Self {
  3580. Image_Size::DEFAULT
  3581. }
  3582. }
  3583. impl ::protobuf::reflect::ProtobufValue for Image_Size {
  3584. fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef {
  3585. ::protobuf::reflect::ProtobufValueRef::Enum(self.descriptor())
  3586. }
  3587. }
  3588. #[derive(PartialEq,Clone,Default)]
  3589. pub struct ImageGroup {
  3590. // message fields
  3591. image: ::protobuf::RepeatedField<Image>,
  3592. // special fields
  3593. pub unknown_fields: ::protobuf::UnknownFields,
  3594. pub cached_size: ::protobuf::CachedSize,
  3595. }
  3596. impl<'a> ::std::default::Default for &'a ImageGroup {
  3597. fn default() -> &'a ImageGroup {
  3598. <ImageGroup as ::protobuf::Message>::default_instance()
  3599. }
  3600. }
  3601. impl ImageGroup {
  3602. pub fn new() -> ImageGroup {
  3603. ::std::default::Default::default()
  3604. }
  3605. // repeated .Image image = 1;
  3606. pub fn get_image(&self) -> &[Image] {
  3607. &self.image
  3608. }
  3609. pub fn clear_image(&mut self) {
  3610. self.image.clear();
  3611. }
  3612. // Param is passed by value, moved
  3613. pub fn set_image(&mut self, v: ::protobuf::RepeatedField<Image>) {
  3614. self.image = v;
  3615. }
  3616. // Mutable pointer to the field.
  3617. pub fn mut_image(&mut self) -> &mut ::protobuf::RepeatedField<Image> {
  3618. &mut self.image
  3619. }
  3620. // Take field
  3621. pub fn take_image(&mut self) -> ::protobuf::RepeatedField<Image> {
  3622. ::std::mem::replace(&mut self.image, ::protobuf::RepeatedField::new())
  3623. }
  3624. }
  3625. impl ::protobuf::Message for ImageGroup {
  3626. fn is_initialized(&self) -> bool {
  3627. for v in &self.image {
  3628. if !v.is_initialized() {
  3629. return false;
  3630. }
  3631. };
  3632. true
  3633. }
  3634. fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
  3635. while !is.eof()? {
  3636. let (field_number, wire_type) = is.read_tag_unpack()?;
  3637. match field_number {
  3638. 1 => {
  3639. ::protobuf::rt::read_repeated_message_into(wire_type, is, &mut self.image)?;
  3640. },
  3641. _ => {
  3642. ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
  3643. },
  3644. };
  3645. }
  3646. ::std::result::Result::Ok(())
  3647. }
  3648. // Compute sizes of nested messages
  3649. #[allow(unused_variables)]
  3650. fn compute_size(&self) -> u32 {
  3651. let mut my_size = 0;
  3652. for value in &self.image {
  3653. let len = value.compute_size();
  3654. my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
  3655. };
  3656. my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
  3657. self.cached_size.set(my_size);
  3658. my_size
  3659. }
  3660. fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
  3661. for v in &self.image {
  3662. os.write_tag(1, ::protobuf::wire_format::WireTypeLengthDelimited)?;
  3663. os.write_raw_varint32(v.get_cached_size())?;
  3664. v.write_to_with_cached_sizes(os)?;
  3665. };
  3666. os.write_unknown_fields(self.get_unknown_fields())?;
  3667. ::std::result::Result::Ok(())
  3668. }
  3669. fn get_cached_size(&self) -> u32 {
  3670. self.cached_size.get()
  3671. }
  3672. fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
  3673. &self.unknown_fields
  3674. }
  3675. fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
  3676. &mut self.unknown_fields
  3677. }
  3678. fn as_any(&self) -> &dyn (::std::any::Any) {
  3679. self as &dyn (::std::any::Any)
  3680. }
  3681. fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
  3682. self as &mut dyn (::std::any::Any)
  3683. }
  3684. fn into_any(self: Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
  3685. self
  3686. }
  3687. fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
  3688. Self::descriptor_static()
  3689. }
  3690. fn new() -> ImageGroup {
  3691. ImageGroup::new()
  3692. }
  3693. fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
  3694. static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy {
  3695. lock: ::protobuf::lazy::ONCE_INIT,
  3696. ptr: 0 as *const ::protobuf::reflect::MessageDescriptor,
  3697. };
  3698. unsafe {
  3699. descriptor.get(|| {
  3700. let mut fields = ::std::vec::Vec::new();
  3701. fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<Image>>(
  3702. "image",
  3703. |m: &ImageGroup| { &m.image },
  3704. |m: &mut ImageGroup| { &mut m.image },
  3705. ));
  3706. ::protobuf::reflect::MessageDescriptor::new::<ImageGroup>(
  3707. "ImageGroup",
  3708. fields,
  3709. file_descriptor_proto()
  3710. )
  3711. })
  3712. }
  3713. }
  3714. fn default_instance() -> &'static ImageGroup {
  3715. static mut instance: ::protobuf::lazy::Lazy<ImageGroup> = ::protobuf::lazy::Lazy {
  3716. lock: ::protobuf::lazy::ONCE_INIT,
  3717. ptr: 0 as *const ImageGroup,
  3718. };
  3719. unsafe {
  3720. instance.get(ImageGroup::new)
  3721. }
  3722. }
  3723. }
  3724. impl ::protobuf::Clear for ImageGroup {
  3725. fn clear(&mut self) {
  3726. self.image.clear();
  3727. self.unknown_fields.clear();
  3728. }
  3729. }
  3730. impl ::std::fmt::Debug for ImageGroup {
  3731. fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
  3732. ::protobuf::text_format::fmt(self, f)
  3733. }
  3734. }
  3735. impl ::protobuf::reflect::ProtobufValue for ImageGroup {
  3736. fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef {
  3737. ::protobuf::reflect::ProtobufValueRef::Message(self)
  3738. }
  3739. }
  3740. #[derive(PartialEq,Clone,Default)]
  3741. pub struct Biography {
  3742. // message fields
  3743. text: ::protobuf::SingularField<::std::string::String>,
  3744. portrait: ::protobuf::RepeatedField<Image>,
  3745. portrait_group: ::protobuf::RepeatedField<ImageGroup>,
  3746. // special fields
  3747. pub unknown_fields: ::protobuf::UnknownFields,
  3748. pub cached_size: ::protobuf::CachedSize,
  3749. }
  3750. impl<'a> ::std::default::Default for &'a Biography {
  3751. fn default() -> &'a Biography {
  3752. <Biography as ::protobuf::Message>::default_instance()
  3753. }
  3754. }
  3755. impl Biography {
  3756. pub fn new() -> Biography {
  3757. ::std::default::Default::default()
  3758. }
  3759. // optional string text = 1;
  3760. pub fn get_text(&self) -> &str {
  3761. match self.text.as_ref() {
  3762. Some(v) => &v,
  3763. None => "",
  3764. }
  3765. }
  3766. pub fn clear_text(&mut self) {
  3767. self.text.clear();
  3768. }
  3769. pub fn has_text(&self) -> bool {
  3770. self.text.is_some()
  3771. }
  3772. // Param is passed by value, moved
  3773. pub fn set_text(&mut self, v: ::std::string::String) {
  3774. self.text = ::protobuf::SingularField::some(v);
  3775. }
  3776. // Mutable pointer to the field.
  3777. // If field is not initialized, it is initialized with default value first.
  3778. pub fn mut_text(&mut self) -> &mut ::std::string::String {
  3779. if self.text.is_none() {
  3780. self.text.set_default();
  3781. }
  3782. self.text.as_mut().unwrap()
  3783. }
  3784. // Take field
  3785. pub fn take_text(&mut self) -> ::std::string::String {
  3786. self.text.take().unwrap_or_else(|| ::std::string::String::new())
  3787. }
  3788. // repeated .Image portrait = 2;
  3789. pub fn get_portrait(&self) -> &[Image] {
  3790. &self.portrait
  3791. }
  3792. pub fn clear_portrait(&mut self) {
  3793. self.portrait.clear();
  3794. }
  3795. // Param is passed by value, moved
  3796. pub fn set_portrait(&mut self, v: ::protobuf::RepeatedField<Image>) {
  3797. self.portrait = v;
  3798. }
  3799. // Mutable pointer to the field.
  3800. pub fn mut_portrait(&mut self) -> &mut ::protobuf::RepeatedField<Image> {
  3801. &mut self.portrait
  3802. }
  3803. // Take field
  3804. pub fn take_portrait(&mut self) -> ::protobuf::RepeatedField<Image> {
  3805. ::std::mem::replace(&mut self.portrait, ::protobuf::RepeatedField::new())
  3806. }
  3807. // repeated .ImageGroup portrait_group = 3;
  3808. pub fn get_portrait_group(&self) -> &[ImageGroup] {
  3809. &self.portrait_group
  3810. }
  3811. pub fn clear_portrait_group(&mut self) {
  3812. self.portrait_group.clear();
  3813. }
  3814. // Param is passed by value, moved
  3815. pub fn set_portrait_group(&mut self, v: ::protobuf::RepeatedField<ImageGroup>) {
  3816. self.portrait_group = v;
  3817. }
  3818. // Mutable pointer to the field.
  3819. pub fn mut_portrait_group(&mut self) -> &mut ::protobuf::RepeatedField<ImageGroup> {
  3820. &mut self.portrait_group
  3821. }
  3822. // Take field
  3823. pub fn take_portrait_group(&mut self) -> ::protobuf::RepeatedField<ImageGroup> {
  3824. ::std::mem::replace(&mut self.portrait_group, ::protobuf::RepeatedField::new())
  3825. }
  3826. }
  3827. impl ::protobuf::Message for Biography {
  3828. fn is_initialized(&self) -> bool {
  3829. for v in &self.portrait {
  3830. if !v.is_initialized() {
  3831. return false;
  3832. }
  3833. };
  3834. for v in &self.portrait_group {
  3835. if !v.is_initialized() {
  3836. return false;
  3837. }
  3838. };
  3839. true
  3840. }
  3841. fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
  3842. while !is.eof()? {
  3843. let (field_number, wire_type) = is.read_tag_unpack()?;
  3844. match field_number {
  3845. 1 => {
  3846. ::protobuf::rt::read_singular_string_into(wire_type, is, &mut self.text)?;
  3847. },
  3848. 2 => {
  3849. ::protobuf::rt::read_repeated_message_into(wire_type, is, &mut self.portrait)?;
  3850. },
  3851. 3 => {
  3852. ::protobuf::rt::read_repeated_message_into(wire_type, is, &mut self.portrait_group)?;
  3853. },
  3854. _ => {
  3855. ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
  3856. },
  3857. };
  3858. }
  3859. ::std::result::Result::Ok(())
  3860. }
  3861. // Compute sizes of nested messages
  3862. #[allow(unused_variables)]
  3863. fn compute_size(&self) -> u32 {
  3864. let mut my_size = 0;
  3865. if let Some(ref v) = self.text.as_ref() {
  3866. my_size += ::protobuf::rt::string_size(1, &v);
  3867. }
  3868. for value in &self.portrait {
  3869. let len = value.compute_size();
  3870. my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
  3871. };
  3872. for value in &self.portrait_group {
  3873. let len = value.compute_size();
  3874. my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
  3875. };
  3876. my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
  3877. self.cached_size.set(my_size);
  3878. my_size
  3879. }
  3880. fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
  3881. if let Some(ref v) = self.text.as_ref() {
  3882. os.write_string(1, &v)?;
  3883. }
  3884. for v in &self.portrait {
  3885. os.write_tag(2, ::protobuf::wire_format::WireTypeLengthDelimited)?;
  3886. os.write_raw_varint32(v.get_cached_size())?;
  3887. v.write_to_with_cached_sizes(os)?;
  3888. };
  3889. for v in &self.portrait_group {
  3890. os.write_tag(3, ::protobuf::wire_format::WireTypeLengthDelimited)?;
  3891. os.write_raw_varint32(v.get_cached_size())?;
  3892. v.write_to_with_cached_sizes(os)?;
  3893. };
  3894. os.write_unknown_fields(self.get_unknown_fields())?;
  3895. ::std::result::Result::Ok(())
  3896. }
  3897. fn get_cached_size(&self) -> u32 {
  3898. self.cached_size.get()
  3899. }
  3900. fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
  3901. &self.unknown_fields
  3902. }
  3903. fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
  3904. &mut self.unknown_fields
  3905. }
  3906. fn as_any(&self) -> &dyn (::std::any::Any) {
  3907. self as &dyn (::std::any::Any)
  3908. }
  3909. fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
  3910. self as &mut dyn (::std::any::Any)
  3911. }
  3912. fn into_any(self: Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
  3913. self
  3914. }
  3915. fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
  3916. Self::descriptor_static()
  3917. }
  3918. fn new() -> Biography {
  3919. Biography::new()
  3920. }
  3921. fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
  3922. static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy {
  3923. lock: ::protobuf::lazy::ONCE_INIT,
  3924. ptr: 0 as *const ::protobuf::reflect::MessageDescriptor,
  3925. };
  3926. unsafe {
  3927. descriptor.get(|| {
  3928. let mut fields = ::std::vec::Vec::new();
  3929. fields.push(::protobuf::reflect::accessor::make_singular_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
  3930. "text",
  3931. |m: &Biography| { &m.text },
  3932. |m: &mut Biography| { &mut m.text },
  3933. ));
  3934. fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<Image>>(
  3935. "portrait",
  3936. |m: &Biography| { &m.portrait },
  3937. |m: &mut Biography| { &mut m.portrait },
  3938. ));
  3939. fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<ImageGroup>>(
  3940. "portrait_group",
  3941. |m: &Biography| { &m.portrait_group },
  3942. |m: &mut Biography| { &mut m.portrait_group },
  3943. ));
  3944. ::protobuf::reflect::MessageDescriptor::new::<Biography>(
  3945. "Biography",
  3946. fields,
  3947. file_descriptor_proto()
  3948. )
  3949. })
  3950. }
  3951. }
  3952. fn default_instance() -> &'static Biography {
  3953. static mut instance: ::protobuf::lazy::Lazy<Biography> = ::protobuf::lazy::Lazy {
  3954. lock: ::protobuf::lazy::ONCE_INIT,
  3955. ptr: 0 as *const Biography,
  3956. };
  3957. unsafe {
  3958. instance.get(Biography::new)
  3959. }
  3960. }
  3961. }
  3962. impl ::protobuf::Clear for Biography {
  3963. fn clear(&mut self) {
  3964. self.text.clear();
  3965. self.portrait.clear();
  3966. self.portrait_group.clear();
  3967. self.unknown_fields.clear();
  3968. }
  3969. }
  3970. impl ::std::fmt::Debug for Biography {
  3971. fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
  3972. ::protobuf::text_format::fmt(self, f)
  3973. }
  3974. }
  3975. impl ::protobuf::reflect::ProtobufValue for Biography {
  3976. fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef {
  3977. ::protobuf::reflect::ProtobufValueRef::Message(self)
  3978. }
  3979. }
  3980. #[derive(PartialEq,Clone,Default)]
  3981. pub struct Disc {
  3982. // message fields
  3983. number: ::std::option::Option<i32>,
  3984. name: ::protobuf::SingularField<::std::string::String>,
  3985. track: ::protobuf::RepeatedField<Track>,
  3986. // special fields
  3987. pub unknown_fields: ::protobuf::UnknownFields,
  3988. pub cached_size: ::protobuf::CachedSize,
  3989. }
  3990. impl<'a> ::std::default::Default for &'a Disc {
  3991. fn default() -> &'a Disc {
  3992. <Disc as ::protobuf::Message>::default_instance()
  3993. }
  3994. }
  3995. impl Disc {
  3996. pub fn new() -> Disc {
  3997. ::std::default::Default::default()
  3998. }
  3999. // optional sint32 number = 1;
  4000. pub fn get_number(&self) -> i32 {
  4001. self.number.unwrap_or(0)
  4002. }
  4003. pub fn clear_number(&mut self) {
  4004. self.number = ::std::option::Option::None;
  4005. }
  4006. pub fn has_number(&self) -> bool {
  4007. self.number.is_some()
  4008. }
  4009. // Param is passed by value, moved
  4010. pub fn set_number(&mut self, v: i32) {
  4011. self.number = ::std::option::Option::Some(v);
  4012. }
  4013. // optional string name = 2;
  4014. pub fn get_name(&self) -> &str {
  4015. match self.name.as_ref() {
  4016. Some(v) => &v,
  4017. None => "",
  4018. }
  4019. }
  4020. pub fn clear_name(&mut self) {
  4021. self.name.clear();
  4022. }
  4023. pub fn has_name(&self) -> bool {
  4024. self.name.is_some()
  4025. }
  4026. // Param is passed by value, moved
  4027. pub fn set_name(&mut self, v: ::std::string::String) {
  4028. self.name = ::protobuf::SingularField::some(v);
  4029. }
  4030. // Mutable pointer to the field.
  4031. // If field is not initialized, it is initialized with default value first.
  4032. pub fn mut_name(&mut self) -> &mut ::std::string::String {
  4033. if self.name.is_none() {
  4034. self.name.set_default();
  4035. }
  4036. self.name.as_mut().unwrap()
  4037. }
  4038. // Take field
  4039. pub fn take_name(&mut self) -> ::std::string::String {
  4040. self.name.take().unwrap_or_else(|| ::std::string::String::new())
  4041. }
  4042. // repeated .Track track = 3;
  4043. pub fn get_track(&self) -> &[Track] {
  4044. &self.track
  4045. }
  4046. pub fn clear_track(&mut self) {
  4047. self.track.clear();
  4048. }
  4049. // Param is passed by value, moved
  4050. pub fn set_track(&mut self, v: ::protobuf::RepeatedField<Track>) {
  4051. self.track = v;
  4052. }
  4053. // Mutable pointer to the field.
  4054. pub fn mut_track(&mut self) -> &mut ::protobuf::RepeatedField<Track> {
  4055. &mut self.track
  4056. }
  4057. // Take field
  4058. pub fn take_track(&mut self) -> ::protobuf::RepeatedField<Track> {
  4059. ::std::mem::replace(&mut self.track, ::protobuf::RepeatedField::new())
  4060. }
  4061. }
  4062. impl ::protobuf::Message for Disc {
  4063. fn is_initialized(&self) -> bool {
  4064. for v in &self.track {
  4065. if !v.is_initialized() {
  4066. return false;
  4067. }
  4068. };
  4069. true
  4070. }
  4071. fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
  4072. while !is.eof()? {
  4073. let (field_number, wire_type) = is.read_tag_unpack()?;
  4074. match field_number {
  4075. 1 => {
  4076. if wire_type != ::protobuf::wire_format::WireTypeVarint {
  4077. return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
  4078. }
  4079. let tmp = is.read_sint32()?;
  4080. self.number = ::std::option::Option::Some(tmp);
  4081. },
  4082. 2 => {
  4083. ::protobuf::rt::read_singular_string_into(wire_type, is, &mut self.name)?;
  4084. },
  4085. 3 => {
  4086. ::protobuf::rt::read_repeated_message_into(wire_type, is, &mut self.track)?;
  4087. },
  4088. _ => {
  4089. ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
  4090. },
  4091. };
  4092. }
  4093. ::std::result::Result::Ok(())
  4094. }
  4095. // Compute sizes of nested messages
  4096. #[allow(unused_variables)]
  4097. fn compute_size(&self) -> u32 {
  4098. let mut my_size = 0;
  4099. if let Some(v) = self.number {
  4100. my_size += ::protobuf::rt::value_varint_zigzag_size(1, v);
  4101. }
  4102. if let Some(ref v) = self.name.as_ref() {
  4103. my_size += ::protobuf::rt::string_size(2, &v);
  4104. }
  4105. for value in &self.track {
  4106. let len = value.compute_size();
  4107. my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
  4108. };
  4109. my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
  4110. self.cached_size.set(my_size);
  4111. my_size
  4112. }
  4113. fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
  4114. if let Some(v) = self.number {
  4115. os.write_sint32(1, v)?;
  4116. }
  4117. if let Some(ref v) = self.name.as_ref() {
  4118. os.write_string(2, &v)?;
  4119. }
  4120. for v in &self.track {
  4121. os.write_tag(3, ::protobuf::wire_format::WireTypeLengthDelimited)?;
  4122. os.write_raw_varint32(v.get_cached_size())?;
  4123. v.write_to_with_cached_sizes(os)?;
  4124. };
  4125. os.write_unknown_fields(self.get_unknown_fields())?;
  4126. ::std::result::Result::Ok(())
  4127. }
  4128. fn get_cached_size(&self) -> u32 {
  4129. self.cached_size.get()
  4130. }
  4131. fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
  4132. &self.unknown_fields
  4133. }
  4134. fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
  4135. &mut self.unknown_fields
  4136. }
  4137. fn as_any(&self) -> &dyn (::std::any::Any) {
  4138. self as &dyn (::std::any::Any)
  4139. }
  4140. fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
  4141. self as &mut dyn (::std::any::Any)
  4142. }
  4143. fn into_any(self: Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
  4144. self
  4145. }
  4146. fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
  4147. Self::descriptor_static()
  4148. }
  4149. fn new() -> Disc {
  4150. Disc::new()
  4151. }
  4152. fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
  4153. static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy {
  4154. lock: ::protobuf::lazy::ONCE_INIT,
  4155. ptr: 0 as *const ::protobuf::reflect::MessageDescriptor,
  4156. };
  4157. unsafe {
  4158. descriptor.get(|| {
  4159. let mut fields = ::std::vec::Vec::new();
  4160. fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeSint32>(
  4161. "number",
  4162. |m: &Disc| { &m.number },
  4163. |m: &mut Disc| { &mut m.number },
  4164. ));
  4165. fields.push(::protobuf::reflect::accessor::make_singular_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
  4166. "name",
  4167. |m: &Disc| { &m.name },
  4168. |m: &mut Disc| { &mut m.name },
  4169. ));
  4170. fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<Track>>(
  4171. "track",
  4172. |m: &Disc| { &m.track },
  4173. |m: &mut Disc| { &mut m.track },
  4174. ));
  4175. ::protobuf::reflect::MessageDescriptor::new::<Disc>(
  4176. "Disc",
  4177. fields,
  4178. file_descriptor_proto()
  4179. )
  4180. })
  4181. }
  4182. }
  4183. fn default_instance() -> &'static Disc {
  4184. static mut instance: ::protobuf::lazy::Lazy<Disc> = ::protobuf::lazy::Lazy {
  4185. lock: ::protobuf::lazy::ONCE_INIT,
  4186. ptr: 0 as *const Disc,
  4187. };
  4188. unsafe {
  4189. instance.get(Disc::new)
  4190. }
  4191. }
  4192. }
  4193. impl ::protobuf::Clear for Disc {
  4194. fn clear(&mut self) {
  4195. self.number = ::std::option::Option::None;
  4196. self.name.clear();
  4197. self.track.clear();
  4198. self.unknown_fields.clear();
  4199. }
  4200. }
  4201. impl ::std::fmt::Debug for Disc {
  4202. fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
  4203. ::protobuf::text_format::fmt(self, f)
  4204. }
  4205. }
  4206. impl ::protobuf::reflect::ProtobufValue for Disc {
  4207. fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef {
  4208. ::protobuf::reflect::ProtobufValueRef::Message(self)
  4209. }
  4210. }
  4211. #[derive(PartialEq,Clone,Default)]
  4212. pub struct Copyright {
  4213. // message fields
  4214. typ: ::std::option::Option<Copyright_Type>,
  4215. text: ::protobuf::SingularField<::std::string::String>,
  4216. // special fields
  4217. pub unknown_fields: ::protobuf::UnknownFields,
  4218. pub cached_size: ::protobuf::CachedSize,
  4219. }
  4220. impl<'a> ::std::default::Default for &'a Copyright {
  4221. fn default() -> &'a Copyright {
  4222. <Copyright as ::protobuf::Message>::default_instance()
  4223. }
  4224. }
  4225. impl Copyright {
  4226. pub fn new() -> Copyright {
  4227. ::std::default::Default::default()
  4228. }
  4229. // optional .Copyright.Type typ = 1;
  4230. pub fn get_typ(&self) -> Copyright_Type {
  4231. self.typ.unwrap_or(Copyright_Type::P)
  4232. }
  4233. pub fn clear_typ(&mut self) {
  4234. self.typ = ::std::option::Option::None;
  4235. }
  4236. pub fn has_typ(&self) -> bool {
  4237. self.typ.is_some()
  4238. }
  4239. // Param is passed by value, moved
  4240. pub fn set_typ(&mut self, v: Copyright_Type) {
  4241. self.typ = ::std::option::Option::Some(v);
  4242. }
  4243. // optional string text = 2;
  4244. pub fn get_text(&self) -> &str {
  4245. match self.text.as_ref() {
  4246. Some(v) => &v,
  4247. None => "",
  4248. }
  4249. }
  4250. pub fn clear_text(&mut self) {
  4251. self.text.clear();
  4252. }
  4253. pub fn has_text(&self) -> bool {
  4254. self.text.is_some()
  4255. }
  4256. // Param is passed by value, moved
  4257. pub fn set_text(&mut self, v: ::std::string::String) {
  4258. self.text = ::protobuf::SingularField::some(v);
  4259. }
  4260. // Mutable pointer to the field.
  4261. // If field is not initialized, it is initialized with default value first.
  4262. pub fn mut_text(&mut self) -> &mut ::std::string::String {
  4263. if self.text.is_none() {
  4264. self.text.set_default();
  4265. }
  4266. self.text.as_mut().unwrap()
  4267. }
  4268. // Take field
  4269. pub fn take_text(&mut self) -> ::std::string::String {
  4270. self.text.take().unwrap_or_else(|| ::std::string::String::new())
  4271. }
  4272. }
  4273. impl ::protobuf::Message for Copyright {
  4274. fn is_initialized(&self) -> bool {
  4275. true
  4276. }
  4277. fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
  4278. while !is.eof()? {
  4279. let (field_number, wire_type) = is.read_tag_unpack()?;
  4280. match field_number {
  4281. 1 => {
  4282. ::protobuf::rt::read_proto2_enum_with_unknown_fields_into(wire_type, is, &mut self.typ, 1, &mut self.unknown_fields)?
  4283. },
  4284. 2 => {
  4285. ::protobuf::rt::read_singular_string_into(wire_type, is, &mut self.text)?;
  4286. },
  4287. _ => {
  4288. ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
  4289. },
  4290. };
  4291. }
  4292. ::std::result::Result::Ok(())
  4293. }
  4294. // Compute sizes of nested messages
  4295. #[allow(unused_variables)]
  4296. fn compute_size(&self) -> u32 {
  4297. let mut my_size = 0;
  4298. if let Some(v) = self.typ {
  4299. my_size += ::protobuf::rt::enum_size(1, v);
  4300. }
  4301. if let Some(ref v) = self.text.as_ref() {
  4302. my_size += ::protobuf::rt::string_size(2, &v);
  4303. }
  4304. my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
  4305. self.cached_size.set(my_size);
  4306. my_size
  4307. }
  4308. fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
  4309. if let Some(v) = self.typ {
  4310. os.write_enum(1, v.value())?;
  4311. }
  4312. if let Some(ref v) = self.text.as_ref() {
  4313. os.write_string(2, &v)?;
  4314. }
  4315. os.write_unknown_fields(self.get_unknown_fields())?;
  4316. ::std::result::Result::Ok(())
  4317. }
  4318. fn get_cached_size(&self) -> u32 {
  4319. self.cached_size.get()
  4320. }
  4321. fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
  4322. &self.unknown_fields
  4323. }
  4324. fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
  4325. &mut self.unknown_fields
  4326. }
  4327. fn as_any(&self) -> &dyn (::std::any::Any) {
  4328. self as &dyn (::std::any::Any)
  4329. }
  4330. fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
  4331. self as &mut dyn (::std::any::Any)
  4332. }
  4333. fn into_any(self: Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
  4334. self
  4335. }
  4336. fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
  4337. Self::descriptor_static()
  4338. }
  4339. fn new() -> Copyright {
  4340. Copyright::new()
  4341. }
  4342. fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
  4343. static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy {
  4344. lock: ::protobuf::lazy::ONCE_INIT,
  4345. ptr: 0 as *const ::protobuf::reflect::MessageDescriptor,
  4346. };
  4347. unsafe {
  4348. descriptor.get(|| {
  4349. let mut fields = ::std::vec::Vec::new();
  4350. fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeEnum<Copyright_Type>>(
  4351. "typ",
  4352. |m: &Copyright| { &m.typ },
  4353. |m: &mut Copyright| { &mut m.typ },
  4354. ));
  4355. fields.push(::protobuf::reflect::accessor::make_singular_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
  4356. "text",
  4357. |m: &Copyright| { &m.text },
  4358. |m: &mut Copyright| { &mut m.text },
  4359. ));
  4360. ::protobuf::reflect::MessageDescriptor::new::<Copyright>(
  4361. "Copyright",
  4362. fields,
  4363. file_descriptor_proto()
  4364. )
  4365. })
  4366. }
  4367. }
  4368. fn default_instance() -> &'static Copyright {
  4369. static mut instance: ::protobuf::lazy::Lazy<Copyright> = ::protobuf::lazy::Lazy {
  4370. lock: ::protobuf::lazy::ONCE_INIT,
  4371. ptr: 0 as *const Copyright,
  4372. };
  4373. unsafe {
  4374. instance.get(Copyright::new)
  4375. }
  4376. }
  4377. }
  4378. impl ::protobuf::Clear for Copyright {
  4379. fn clear(&mut self) {
  4380. self.typ = ::std::option::Option::None;
  4381. self.text.clear();
  4382. self.unknown_fields.clear();
  4383. }
  4384. }
  4385. impl ::std::fmt::Debug for Copyright {
  4386. fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
  4387. ::protobuf::text_format::fmt(self, f)
  4388. }
  4389. }
  4390. impl ::protobuf::reflect::ProtobufValue for Copyright {
  4391. fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef {
  4392. ::protobuf::reflect::ProtobufValueRef::Message(self)
  4393. }
  4394. }
  4395. #[derive(Clone,PartialEq,Eq,Debug,Hash)]
  4396. pub enum Copyright_Type {
  4397. P = 0,
  4398. C = 1,
  4399. }
  4400. impl ::protobuf::ProtobufEnum for Copyright_Type {
  4401. fn value(&self) -> i32 {
  4402. *self as i32
  4403. }
  4404. fn from_i32(value: i32) -> ::std::option::Option<Copyright_Type> {
  4405. match value {
  4406. 0 => ::std::option::Option::Some(Copyright_Type::P),
  4407. 1 => ::std::option::Option::Some(Copyright_Type::C),
  4408. _ => ::std::option::Option::None
  4409. }
  4410. }
  4411. fn values() -> &'static [Self] {
  4412. static values: &'static [Copyright_Type] = &[
  4413. Copyright_Type::P,
  4414. Copyright_Type::C,
  4415. ];
  4416. values
  4417. }
  4418. fn enum_descriptor_static() -> &'static ::protobuf::reflect::EnumDescriptor {
  4419. static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::EnumDescriptor> = ::protobuf::lazy::Lazy {
  4420. lock: ::protobuf::lazy::ONCE_INIT,
  4421. ptr: 0 as *const ::protobuf::reflect::EnumDescriptor,
  4422. };
  4423. unsafe {
  4424. descriptor.get(|| {
  4425. ::protobuf::reflect::EnumDescriptor::new("Copyright_Type", file_descriptor_proto())
  4426. })
  4427. }
  4428. }
  4429. }
  4430. impl ::std::marker::Copy for Copyright_Type {
  4431. }
  4432. impl ::std::default::Default for Copyright_Type {
  4433. fn default() -> Self {
  4434. Copyright_Type::P
  4435. }
  4436. }
  4437. impl ::protobuf::reflect::ProtobufValue for Copyright_Type {
  4438. fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef {
  4439. ::protobuf::reflect::ProtobufValueRef::Enum(self.descriptor())
  4440. }
  4441. }
  4442. #[derive(PartialEq,Clone,Default)]
  4443. pub struct Restriction {
  4444. // message fields
  4445. catalogue: ::std::vec::Vec<Restriction_Catalogue>,
  4446. countries_allowed: ::protobuf::SingularField<::std::string::String>,
  4447. countries_forbidden: ::protobuf::SingularField<::std::string::String>,
  4448. typ: ::std::option::Option<Restriction_Type>,
  4449. catalogue_str: ::protobuf::RepeatedField<::std::string::String>,
  4450. // special fields
  4451. pub unknown_fields: ::protobuf::UnknownFields,
  4452. pub cached_size: ::protobuf::CachedSize,
  4453. }
  4454. impl<'a> ::std::default::Default for &'a Restriction {
  4455. fn default() -> &'a Restriction {
  4456. <Restriction as ::protobuf::Message>::default_instance()
  4457. }
  4458. }
  4459. impl Restriction {
  4460. pub fn new() -> Restriction {
  4461. ::std::default::Default::default()
  4462. }
  4463. // repeated .Restriction.Catalogue catalogue = 1;
  4464. pub fn get_catalogue(&self) -> &[Restriction_Catalogue] {
  4465. &self.catalogue
  4466. }
  4467. pub fn clear_catalogue(&mut self) {
  4468. self.catalogue.clear();
  4469. }
  4470. // Param is passed by value, moved
  4471. pub fn set_catalogue(&mut self, v: ::std::vec::Vec<Restriction_Catalogue>) {
  4472. self.catalogue = v;
  4473. }
  4474. // Mutable pointer to the field.
  4475. pub fn mut_catalogue(&mut self) -> &mut ::std::vec::Vec<Restriction_Catalogue> {
  4476. &mut self.catalogue
  4477. }
  4478. // Take field
  4479. pub fn take_catalogue(&mut self) -> ::std::vec::Vec<Restriction_Catalogue> {
  4480. ::std::mem::replace(&mut self.catalogue, ::std::vec::Vec::new())
  4481. }
  4482. // optional string countries_allowed = 2;
  4483. pub fn get_countries_allowed(&self) -> &str {
  4484. match self.countries_allowed.as_ref() {
  4485. Some(v) => &v,
  4486. None => "",
  4487. }
  4488. }
  4489. pub fn clear_countries_allowed(&mut self) {
  4490. self.countries_allowed.clear();
  4491. }
  4492. pub fn has_countries_allowed(&self) -> bool {
  4493. self.countries_allowed.is_some()
  4494. }
  4495. // Param is passed by value, moved
  4496. pub fn set_countries_allowed(&mut self, v: ::std::string::String) {
  4497. self.countries_allowed = ::protobuf::SingularField::some(v);
  4498. }
  4499. // Mutable pointer to the field.
  4500. // If field is not initialized, it is initialized with default value first.
  4501. pub fn mut_countries_allowed(&mut self) -> &mut ::std::string::String {
  4502. if self.countries_allowed.is_none() {
  4503. self.countries_allowed.set_default();
  4504. }
  4505. self.countries_allowed.as_mut().unwrap()
  4506. }
  4507. // Take field
  4508. pub fn take_countries_allowed(&mut self) -> ::std::string::String {
  4509. self.countries_allowed.take().unwrap_or_else(|| ::std::string::String::new())
  4510. }
  4511. // optional string countries_forbidden = 3;
  4512. pub fn get_countries_forbidden(&self) -> &str {
  4513. match self.countries_forbidden.as_ref() {
  4514. Some(v) => &v,
  4515. None => "",
  4516. }
  4517. }
  4518. pub fn clear_countries_forbidden(&mut self) {
  4519. self.countries_forbidden.clear();
  4520. }
  4521. pub fn has_countries_forbidden(&self) -> bool {
  4522. self.countries_forbidden.is_some()
  4523. }
  4524. // Param is passed by value, moved
  4525. pub fn set_countries_forbidden(&mut self, v: ::std::string::String) {
  4526. self.countries_forbidden = ::protobuf::SingularField::some(v);
  4527. }
  4528. // Mutable pointer to the field.
  4529. // If field is not initialized, it is initialized with default value first.
  4530. pub fn mut_countries_forbidden(&mut self) -> &mut ::std::string::String {
  4531. if self.countries_forbidden.is_none() {
  4532. self.countries_forbidden.set_default();
  4533. }
  4534. self.countries_forbidden.as_mut().unwrap()
  4535. }
  4536. // Take field
  4537. pub fn take_countries_forbidden(&mut self) -> ::std::string::String {
  4538. self.countries_forbidden.take().unwrap_or_else(|| ::std::string::String::new())
  4539. }
  4540. // optional .Restriction.Type typ = 4;
  4541. pub fn get_typ(&self) -> Restriction_Type {
  4542. self.typ.unwrap_or(Restriction_Type::STREAMING)
  4543. }
  4544. pub fn clear_typ(&mut self) {
  4545. self.typ = ::std::option::Option::None;
  4546. }
  4547. pub fn has_typ(&self) -> bool {
  4548. self.typ.is_some()
  4549. }
  4550. // Param is passed by value, moved
  4551. pub fn set_typ(&mut self, v: Restriction_Type) {
  4552. self.typ = ::std::option::Option::Some(v);
  4553. }
  4554. // repeated string catalogue_str = 5;
  4555. pub fn get_catalogue_str(&self) -> &[::std::string::String] {
  4556. &self.catalogue_str
  4557. }
  4558. pub fn clear_catalogue_str(&mut self) {
  4559. self.catalogue_str.clear();
  4560. }
  4561. // Param is passed by value, moved
  4562. pub fn set_catalogue_str(&mut self, v: ::protobuf::RepeatedField<::std::string::String>) {
  4563. self.catalogue_str = v;
  4564. }
  4565. // Mutable pointer to the field.
  4566. pub fn mut_catalogue_str(&mut self) -> &mut ::protobuf::RepeatedField<::std::string::String> {
  4567. &mut self.catalogue_str
  4568. }
  4569. // Take field
  4570. pub fn take_catalogue_str(&mut self) -> ::protobuf::RepeatedField<::std::string::String> {
  4571. ::std::mem::replace(&mut self.catalogue_str, ::protobuf::RepeatedField::new())
  4572. }
  4573. }
  4574. impl ::protobuf::Message for Restriction {
  4575. fn is_initialized(&self) -> bool {
  4576. true
  4577. }
  4578. fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
  4579. while !is.eof()? {
  4580. let (field_number, wire_type) = is.read_tag_unpack()?;
  4581. match field_number {
  4582. 1 => {
  4583. ::protobuf::rt::read_repeated_enum_with_unknown_fields_into(wire_type, is, &mut self.catalogue, 1, &mut self.unknown_fields)?
  4584. },
  4585. 2 => {
  4586. ::protobuf::rt::read_singular_string_into(wire_type, is, &mut self.countries_allowed)?;
  4587. },
  4588. 3 => {
  4589. ::protobuf::rt::read_singular_string_into(wire_type, is, &mut self.countries_forbidden)?;
  4590. },
  4591. 4 => {
  4592. ::protobuf::rt::read_proto2_enum_with_unknown_fields_into(wire_type, is, &mut self.typ, 4, &mut self.unknown_fields)?
  4593. },
  4594. 5 => {
  4595. ::protobuf::rt::read_repeated_string_into(wire_type, is, &mut self.catalogue_str)?;
  4596. },
  4597. _ => {
  4598. ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
  4599. },
  4600. };
  4601. }
  4602. ::std::result::Result::Ok(())
  4603. }
  4604. // Compute sizes of nested messages
  4605. #[allow(unused_variables)]
  4606. fn compute_size(&self) -> u32 {
  4607. let mut my_size = 0;
  4608. for value in &self.catalogue {
  4609. my_size += ::protobuf::rt::enum_size(1, *value);
  4610. };
  4611. if let Some(ref v) = self.countries_allowed.as_ref() {
  4612. my_size += ::protobuf::rt::string_size(2, &v);
  4613. }
  4614. if let Some(ref v) = self.countries_forbidden.as_ref() {
  4615. my_size += ::protobuf::rt::string_size(3, &v);
  4616. }
  4617. if let Some(v) = self.typ {
  4618. my_size += ::protobuf::rt::enum_size(4, v);
  4619. }
  4620. for value in &self.catalogue_str {
  4621. my_size += ::protobuf::rt::string_size(5, &value);
  4622. };
  4623. my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
  4624. self.cached_size.set(my_size);
  4625. my_size
  4626. }
  4627. fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
  4628. for v in &self.catalogue {
  4629. os.write_enum(1, v.value())?;
  4630. };
  4631. if let Some(ref v) = self.countries_allowed.as_ref() {
  4632. os.write_string(2, &v)?;
  4633. }
  4634. if let Some(ref v) = self.countries_forbidden.as_ref() {
  4635. os.write_string(3, &v)?;
  4636. }
  4637. if let Some(v) = self.typ {
  4638. os.write_enum(4, v.value())?;
  4639. }
  4640. for v in &self.catalogue_str {
  4641. os.write_string(5, &v)?;
  4642. };
  4643. os.write_unknown_fields(self.get_unknown_fields())?;
  4644. ::std::result::Result::Ok(())
  4645. }
  4646. fn get_cached_size(&self) -> u32 {
  4647. self.cached_size.get()
  4648. }
  4649. fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
  4650. &self.unknown_fields
  4651. }
  4652. fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
  4653. &mut self.unknown_fields
  4654. }
  4655. fn as_any(&self) -> &dyn (::std::any::Any) {
  4656. self as &dyn (::std::any::Any)
  4657. }
  4658. fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
  4659. self as &mut dyn (::std::any::Any)
  4660. }
  4661. fn into_any(self: Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
  4662. self
  4663. }
  4664. fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
  4665. Self::descriptor_static()
  4666. }
  4667. fn new() -> Restriction {
  4668. Restriction::new()
  4669. }
  4670. fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
  4671. static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy {
  4672. lock: ::protobuf::lazy::ONCE_INIT,
  4673. ptr: 0 as *const ::protobuf::reflect::MessageDescriptor,
  4674. };
  4675. unsafe {
  4676. descriptor.get(|| {
  4677. let mut fields = ::std::vec::Vec::new();
  4678. fields.push(::protobuf::reflect::accessor::make_vec_accessor::<_, ::protobuf::types::ProtobufTypeEnum<Restriction_Catalogue>>(
  4679. "catalogue",
  4680. |m: &Restriction| { &m.catalogue },
  4681. |m: &mut Restriction| { &mut m.catalogue },
  4682. ));
  4683. fields.push(::protobuf::reflect::accessor::make_singular_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
  4684. "countries_allowed",
  4685. |m: &Restriction| { &m.countries_allowed },
  4686. |m: &mut Restriction| { &mut m.countries_allowed },
  4687. ));
  4688. fields.push(::protobuf::reflect::accessor::make_singular_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
  4689. "countries_forbidden",
  4690. |m: &Restriction| { &m.countries_forbidden },
  4691. |m: &mut Restriction| { &mut m.countries_forbidden },
  4692. ));
  4693. fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeEnum<Restriction_Type>>(
  4694. "typ",
  4695. |m: &Restriction| { &m.typ },
  4696. |m: &mut Restriction| { &mut m.typ },
  4697. ));
  4698. fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
  4699. "catalogue_str",
  4700. |m: &Restriction| { &m.catalogue_str },
  4701. |m: &mut Restriction| { &mut m.catalogue_str },
  4702. ));
  4703. ::protobuf::reflect::MessageDescriptor::new::<Restriction>(
  4704. "Restriction",
  4705. fields,
  4706. file_descriptor_proto()
  4707. )
  4708. })
  4709. }
  4710. }
  4711. fn default_instance() -> &'static Restriction {
  4712. static mut instance: ::protobuf::lazy::Lazy<Restriction> = ::protobuf::lazy::Lazy {
  4713. lock: ::protobuf::lazy::ONCE_INIT,
  4714. ptr: 0 as *const Restriction,
  4715. };
  4716. unsafe {
  4717. instance.get(Restriction::new)
  4718. }
  4719. }
  4720. }
  4721. impl ::protobuf::Clear for Restriction {
  4722. fn clear(&mut self) {
  4723. self.catalogue.clear();
  4724. self.countries_allowed.clear();
  4725. self.countries_forbidden.clear();
  4726. self.typ = ::std::option::Option::None;
  4727. self.catalogue_str.clear();
  4728. self.unknown_fields.clear();
  4729. }
  4730. }
  4731. impl ::std::fmt::Debug for Restriction {
  4732. fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
  4733. ::protobuf::text_format::fmt(self, f)
  4734. }
  4735. }
  4736. impl ::protobuf::reflect::ProtobufValue for Restriction {
  4737. fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef {
  4738. ::protobuf::reflect::ProtobufValueRef::Message(self)
  4739. }
  4740. }
  4741. #[derive(Clone,PartialEq,Eq,Debug,Hash)]
  4742. pub enum Restriction_Catalogue {
  4743. AD = 0,
  4744. SUBSCRIPTION = 1,
  4745. CATALOGUE_ALL = 2,
  4746. SHUFFLE = 3,
  4747. COMMERCIAL = 4,
  4748. }
  4749. impl ::protobuf::ProtobufEnum for Restriction_Catalogue {
  4750. fn value(&self) -> i32 {
  4751. *self as i32
  4752. }
  4753. fn from_i32(value: i32) -> ::std::option::Option<Restriction_Catalogue> {
  4754. match value {
  4755. 0 => ::std::option::Option::Some(Restriction_Catalogue::AD),
  4756. 1 => ::std::option::Option::Some(Restriction_Catalogue::SUBSCRIPTION),
  4757. 2 => ::std::option::Option::Some(Restriction_Catalogue::CATALOGUE_ALL),
  4758. 3 => ::std::option::Option::Some(Restriction_Catalogue::SHUFFLE),
  4759. 4 => ::std::option::Option::Some(Restriction_Catalogue::COMMERCIAL),
  4760. _ => ::std::option::Option::None
  4761. }
  4762. }
  4763. fn values() -> &'static [Self] {
  4764. static values: &'static [Restriction_Catalogue] = &[
  4765. Restriction_Catalogue::AD,
  4766. Restriction_Catalogue::SUBSCRIPTION,
  4767. Restriction_Catalogue::CATALOGUE_ALL,
  4768. Restriction_Catalogue::SHUFFLE,
  4769. Restriction_Catalogue::COMMERCIAL,
  4770. ];
  4771. values
  4772. }
  4773. fn enum_descriptor_static() -> &'static ::protobuf::reflect::EnumDescriptor {
  4774. static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::EnumDescriptor> = ::protobuf::lazy::Lazy {
  4775. lock: ::protobuf::lazy::ONCE_INIT,
  4776. ptr: 0 as *const ::protobuf::reflect::EnumDescriptor,
  4777. };
  4778. unsafe {
  4779. descriptor.get(|| {
  4780. ::protobuf::reflect::EnumDescriptor::new("Restriction_Catalogue", file_descriptor_proto())
  4781. })
  4782. }
  4783. }
  4784. }
  4785. impl ::std::marker::Copy for Restriction_Catalogue {
  4786. }
  4787. impl ::std::default::Default for Restriction_Catalogue {
  4788. fn default() -> Self {
  4789. Restriction_Catalogue::AD
  4790. }
  4791. }
  4792. impl ::protobuf::reflect::ProtobufValue for Restriction_Catalogue {
  4793. fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef {
  4794. ::protobuf::reflect::ProtobufValueRef::Enum(self.descriptor())
  4795. }
  4796. }
  4797. #[derive(Clone,PartialEq,Eq,Debug,Hash)]
  4798. pub enum Restriction_Type {
  4799. STREAMING = 0,
  4800. }
  4801. impl ::protobuf::ProtobufEnum for Restriction_Type {
  4802. fn value(&self) -> i32 {
  4803. *self as i32
  4804. }
  4805. fn from_i32(value: i32) -> ::std::option::Option<Restriction_Type> {
  4806. match value {
  4807. 0 => ::std::option::Option::Some(Restriction_Type::STREAMING),
  4808. _ => ::std::option::Option::None
  4809. }
  4810. }
  4811. fn values() -> &'static [Self] {
  4812. static values: &'static [Restriction_Type] = &[
  4813. Restriction_Type::STREAMING,
  4814. ];
  4815. values
  4816. }
  4817. fn enum_descriptor_static() -> &'static ::protobuf::reflect::EnumDescriptor {
  4818. static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::EnumDescriptor> = ::protobuf::lazy::Lazy {
  4819. lock: ::protobuf::lazy::ONCE_INIT,
  4820. ptr: 0 as *const ::protobuf::reflect::EnumDescriptor,
  4821. };
  4822. unsafe {
  4823. descriptor.get(|| {
  4824. ::protobuf::reflect::EnumDescriptor::new("Restriction_Type", file_descriptor_proto())
  4825. })
  4826. }
  4827. }
  4828. }
  4829. impl ::std::marker::Copy for Restriction_Type {
  4830. }
  4831. impl ::std::default::Default for Restriction_Type {
  4832. fn default() -> Self {
  4833. Restriction_Type::STREAMING
  4834. }
  4835. }
  4836. impl ::protobuf::reflect::ProtobufValue for Restriction_Type {
  4837. fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef {
  4838. ::protobuf::reflect::ProtobufValueRef::Enum(self.descriptor())
  4839. }
  4840. }
  4841. #[derive(PartialEq,Clone,Default)]
  4842. pub struct Availability {
  4843. // message fields
  4844. catalogue_str: ::protobuf::RepeatedField<::std::string::String>,
  4845. start: ::protobuf::SingularPtrField<Date>,
  4846. // special fields
  4847. pub unknown_fields: ::protobuf::UnknownFields,
  4848. pub cached_size: ::protobuf::CachedSize,
  4849. }
  4850. impl<'a> ::std::default::Default for &'a Availability {
  4851. fn default() -> &'a Availability {
  4852. <Availability as ::protobuf::Message>::default_instance()
  4853. }
  4854. }
  4855. impl Availability {
  4856. pub fn new() -> Availability {
  4857. ::std::default::Default::default()
  4858. }
  4859. // repeated string catalogue_str = 1;
  4860. pub fn get_catalogue_str(&self) -> &[::std::string::String] {
  4861. &self.catalogue_str
  4862. }
  4863. pub fn clear_catalogue_str(&mut self) {
  4864. self.catalogue_str.clear();
  4865. }
  4866. // Param is passed by value, moved
  4867. pub fn set_catalogue_str(&mut self, v: ::protobuf::RepeatedField<::std::string::String>) {
  4868. self.catalogue_str = v;
  4869. }
  4870. // Mutable pointer to the field.
  4871. pub fn mut_catalogue_str(&mut self) -> &mut ::protobuf::RepeatedField<::std::string::String> {
  4872. &mut self.catalogue_str
  4873. }
  4874. // Take field
  4875. pub fn take_catalogue_str(&mut self) -> ::protobuf::RepeatedField<::std::string::String> {
  4876. ::std::mem::replace(&mut self.catalogue_str, ::protobuf::RepeatedField::new())
  4877. }
  4878. // optional .Date start = 2;
  4879. pub fn get_start(&self) -> &Date {
  4880. self.start.as_ref().unwrap_or_else(|| Date::default_instance())
  4881. }
  4882. pub fn clear_start(&mut self) {
  4883. self.start.clear();
  4884. }
  4885. pub fn has_start(&self) -> bool {
  4886. self.start.is_some()
  4887. }
  4888. // Param is passed by value, moved
  4889. pub fn set_start(&mut self, v: Date) {
  4890. self.start = ::protobuf::SingularPtrField::some(v);
  4891. }
  4892. // Mutable pointer to the field.
  4893. // If field is not initialized, it is initialized with default value first.
  4894. pub fn mut_start(&mut self) -> &mut Date {
  4895. if self.start.is_none() {
  4896. self.start.set_default();
  4897. }
  4898. self.start.as_mut().unwrap()
  4899. }
  4900. // Take field
  4901. pub fn take_start(&mut self) -> Date {
  4902. self.start.take().unwrap_or_else(|| Date::new())
  4903. }
  4904. }
  4905. impl ::protobuf::Message for Availability {
  4906. fn is_initialized(&self) -> bool {
  4907. for v in &self.start {
  4908. if !v.is_initialized() {
  4909. return false;
  4910. }
  4911. };
  4912. true
  4913. }
  4914. fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
  4915. while !is.eof()? {
  4916. let (field_number, wire_type) = is.read_tag_unpack()?;
  4917. match field_number {
  4918. 1 => {
  4919. ::protobuf::rt::read_repeated_string_into(wire_type, is, &mut self.catalogue_str)?;
  4920. },
  4921. 2 => {
  4922. ::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.start)?;
  4923. },
  4924. _ => {
  4925. ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
  4926. },
  4927. };
  4928. }
  4929. ::std::result::Result::Ok(())
  4930. }
  4931. // Compute sizes of nested messages
  4932. #[allow(unused_variables)]
  4933. fn compute_size(&self) -> u32 {
  4934. let mut my_size = 0;
  4935. for value in &self.catalogue_str {
  4936. my_size += ::protobuf::rt::string_size(1, &value);
  4937. };
  4938. if let Some(ref v) = self.start.as_ref() {
  4939. let len = v.compute_size();
  4940. my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
  4941. }
  4942. my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
  4943. self.cached_size.set(my_size);
  4944. my_size
  4945. }
  4946. fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
  4947. for v in &self.catalogue_str {
  4948. os.write_string(1, &v)?;
  4949. };
  4950. if let Some(ref v) = self.start.as_ref() {
  4951. os.write_tag(2, ::protobuf::wire_format::WireTypeLengthDelimited)?;
  4952. os.write_raw_varint32(v.get_cached_size())?;
  4953. v.write_to_with_cached_sizes(os)?;
  4954. }
  4955. os.write_unknown_fields(self.get_unknown_fields())?;
  4956. ::std::result::Result::Ok(())
  4957. }
  4958. fn get_cached_size(&self) -> u32 {
  4959. self.cached_size.get()
  4960. }
  4961. fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
  4962. &self.unknown_fields
  4963. }
  4964. fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
  4965. &mut self.unknown_fields
  4966. }
  4967. fn as_any(&self) -> &dyn (::std::any::Any) {
  4968. self as &dyn (::std::any::Any)
  4969. }
  4970. fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
  4971. self as &mut dyn (::std::any::Any)
  4972. }
  4973. fn into_any(self: Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
  4974. self
  4975. }
  4976. fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
  4977. Self::descriptor_static()
  4978. }
  4979. fn new() -> Availability {
  4980. Availability::new()
  4981. }
  4982. fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
  4983. static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy {
  4984. lock: ::protobuf::lazy::ONCE_INIT,
  4985. ptr: 0 as *const ::protobuf::reflect::MessageDescriptor,
  4986. };
  4987. unsafe {
  4988. descriptor.get(|| {
  4989. let mut fields = ::std::vec::Vec::new();
  4990. fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
  4991. "catalogue_str",
  4992. |m: &Availability| { &m.catalogue_str },
  4993. |m: &mut Availability| { &mut m.catalogue_str },
  4994. ));
  4995. fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<Date>>(
  4996. "start",
  4997. |m: &Availability| { &m.start },
  4998. |m: &mut Availability| { &mut m.start },
  4999. ));
  5000. ::protobuf::reflect::MessageDescriptor::new::<Availability>(
  5001. "Availability",
  5002. fields,
  5003. file_descriptor_proto()
  5004. )
  5005. })
  5006. }
  5007. }
  5008. fn default_instance() -> &'static Availability {
  5009. static mut instance: ::protobuf::lazy::Lazy<Availability> = ::protobuf::lazy::Lazy {
  5010. lock: ::protobuf::lazy::ONCE_INIT,
  5011. ptr: 0 as *const Availability,
  5012. };
  5013. unsafe {
  5014. instance.get(Availability::new)
  5015. }
  5016. }
  5017. }
  5018. impl ::protobuf::Clear for Availability {
  5019. fn clear(&mut self) {
  5020. self.catalogue_str.clear();
  5021. self.start.clear();
  5022. self.unknown_fields.clear();
  5023. }
  5024. }
  5025. impl ::std::fmt::Debug for Availability {
  5026. fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
  5027. ::protobuf::text_format::fmt(self, f)
  5028. }
  5029. }
  5030. impl ::protobuf::reflect::ProtobufValue for Availability {
  5031. fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef {
  5032. ::protobuf::reflect::ProtobufValueRef::Message(self)
  5033. }
  5034. }
  5035. #[derive(PartialEq,Clone,Default)]
  5036. pub struct SalePeriod {
  5037. // message fields
  5038. restriction: ::protobuf::RepeatedField<Restriction>,
  5039. start: ::protobuf::SingularPtrField<Date>,
  5040. end: ::protobuf::SingularPtrField<Date>,
  5041. // special fields
  5042. pub unknown_fields: ::protobuf::UnknownFields,
  5043. pub cached_size: ::protobuf::CachedSize,
  5044. }
  5045. impl<'a> ::std::default::Default for &'a SalePeriod {
  5046. fn default() -> &'a SalePeriod {
  5047. <SalePeriod as ::protobuf::Message>::default_instance()
  5048. }
  5049. }
  5050. impl SalePeriod {
  5051. pub fn new() -> SalePeriod {
  5052. ::std::default::Default::default()
  5053. }
  5054. // repeated .Restriction restriction = 1;
  5055. pub fn get_restriction(&self) -> &[Restriction] {
  5056. &self.restriction
  5057. }
  5058. pub fn clear_restriction(&mut self) {
  5059. self.restriction.clear();
  5060. }
  5061. // Param is passed by value, moved
  5062. pub fn set_restriction(&mut self, v: ::protobuf::RepeatedField<Restriction>) {
  5063. self.restriction = v;
  5064. }
  5065. // Mutable pointer to the field.
  5066. pub fn mut_restriction(&mut self) -> &mut ::protobuf::RepeatedField<Restriction> {
  5067. &mut self.restriction
  5068. }
  5069. // Take field
  5070. pub fn take_restriction(&mut self) -> ::protobuf::RepeatedField<Restriction> {
  5071. ::std::mem::replace(&mut self.restriction, ::protobuf::RepeatedField::new())
  5072. }
  5073. // optional .Date start = 2;
  5074. pub fn get_start(&self) -> &Date {
  5075. self.start.as_ref().unwrap_or_else(|| Date::default_instance())
  5076. }
  5077. pub fn clear_start(&mut self) {
  5078. self.start.clear();
  5079. }
  5080. pub fn has_start(&self) -> bool {
  5081. self.start.is_some()
  5082. }
  5083. // Param is passed by value, moved
  5084. pub fn set_start(&mut self, v: Date) {
  5085. self.start = ::protobuf::SingularPtrField::some(v);
  5086. }
  5087. // Mutable pointer to the field.
  5088. // If field is not initialized, it is initialized with default value first.
  5089. pub fn mut_start(&mut self) -> &mut Date {
  5090. if self.start.is_none() {
  5091. self.start.set_default();
  5092. }
  5093. self.start.as_mut().unwrap()
  5094. }
  5095. // Take field
  5096. pub fn take_start(&mut self) -> Date {
  5097. self.start.take().unwrap_or_else(|| Date::new())
  5098. }
  5099. // optional .Date end = 3;
  5100. pub fn get_end(&self) -> &Date {
  5101. self.end.as_ref().unwrap_or_else(|| Date::default_instance())
  5102. }
  5103. pub fn clear_end(&mut self) {
  5104. self.end.clear();
  5105. }
  5106. pub fn has_end(&self) -> bool {
  5107. self.end.is_some()
  5108. }
  5109. // Param is passed by value, moved
  5110. pub fn set_end(&mut self, v: Date) {
  5111. self.end = ::protobuf::SingularPtrField::some(v);
  5112. }
  5113. // Mutable pointer to the field.
  5114. // If field is not initialized, it is initialized with default value first.
  5115. pub fn mut_end(&mut self) -> &mut Date {
  5116. if self.end.is_none() {
  5117. self.end.set_default();
  5118. }
  5119. self.end.as_mut().unwrap()
  5120. }
  5121. // Take field
  5122. pub fn take_end(&mut self) -> Date {
  5123. self.end.take().unwrap_or_else(|| Date::new())
  5124. }
  5125. }
  5126. impl ::protobuf::Message for SalePeriod {
  5127. fn is_initialized(&self) -> bool {
  5128. for v in &self.restriction {
  5129. if !v.is_initialized() {
  5130. return false;
  5131. }
  5132. };
  5133. for v in &self.start {
  5134. if !v.is_initialized() {
  5135. return false;
  5136. }
  5137. };
  5138. for v in &self.end {
  5139. if !v.is_initialized() {
  5140. return false;
  5141. }
  5142. };
  5143. true
  5144. }
  5145. fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
  5146. while !is.eof()? {
  5147. let (field_number, wire_type) = is.read_tag_unpack()?;
  5148. match field_number {
  5149. 1 => {
  5150. ::protobuf::rt::read_repeated_message_into(wire_type, is, &mut self.restriction)?;
  5151. },
  5152. 2 => {
  5153. ::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.start)?;
  5154. },
  5155. 3 => {
  5156. ::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.end)?;
  5157. },
  5158. _ => {
  5159. ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
  5160. },
  5161. };
  5162. }
  5163. ::std::result::Result::Ok(())
  5164. }
  5165. // Compute sizes of nested messages
  5166. #[allow(unused_variables)]
  5167. fn compute_size(&self) -> u32 {
  5168. let mut my_size = 0;
  5169. for value in &self.restriction {
  5170. let len = value.compute_size();
  5171. my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
  5172. };
  5173. if let Some(ref v) = self.start.as_ref() {
  5174. let len = v.compute_size();
  5175. my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
  5176. }
  5177. if let Some(ref v) = self.end.as_ref() {
  5178. let len = v.compute_size();
  5179. my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
  5180. }
  5181. my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
  5182. self.cached_size.set(my_size);
  5183. my_size
  5184. }
  5185. fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
  5186. for v in &self.restriction {
  5187. os.write_tag(1, ::protobuf::wire_format::WireTypeLengthDelimited)?;
  5188. os.write_raw_varint32(v.get_cached_size())?;
  5189. v.write_to_with_cached_sizes(os)?;
  5190. };
  5191. if let Some(ref v) = self.start.as_ref() {
  5192. os.write_tag(2, ::protobuf::wire_format::WireTypeLengthDelimited)?;
  5193. os.write_raw_varint32(v.get_cached_size())?;
  5194. v.write_to_with_cached_sizes(os)?;
  5195. }
  5196. if let Some(ref v) = self.end.as_ref() {
  5197. os.write_tag(3, ::protobuf::wire_format::WireTypeLengthDelimited)?;
  5198. os.write_raw_varint32(v.get_cached_size())?;
  5199. v.write_to_with_cached_sizes(os)?;
  5200. }
  5201. os.write_unknown_fields(self.get_unknown_fields())?;
  5202. ::std::result::Result::Ok(())
  5203. }
  5204. fn get_cached_size(&self) -> u32 {
  5205. self.cached_size.get()
  5206. }
  5207. fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
  5208. &self.unknown_fields
  5209. }
  5210. fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
  5211. &mut self.unknown_fields
  5212. }
  5213. fn as_any(&self) -> &dyn (::std::any::Any) {
  5214. self as &dyn (::std::any::Any)
  5215. }
  5216. fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
  5217. self as &mut dyn (::std::any::Any)
  5218. }
  5219. fn into_any(self: Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
  5220. self
  5221. }
  5222. fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
  5223. Self::descriptor_static()
  5224. }
  5225. fn new() -> SalePeriod {
  5226. SalePeriod::new()
  5227. }
  5228. fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
  5229. static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy {
  5230. lock: ::protobuf::lazy::ONCE_INIT,
  5231. ptr: 0 as *const ::protobuf::reflect::MessageDescriptor,
  5232. };
  5233. unsafe {
  5234. descriptor.get(|| {
  5235. let mut fields = ::std::vec::Vec::new();
  5236. fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<Restriction>>(
  5237. "restriction",
  5238. |m: &SalePeriod| { &m.restriction },
  5239. |m: &mut SalePeriod| { &mut m.restriction },
  5240. ));
  5241. fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<Date>>(
  5242. "start",
  5243. |m: &SalePeriod| { &m.start },
  5244. |m: &mut SalePeriod| { &mut m.start },
  5245. ));
  5246. fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<Date>>(
  5247. "end",
  5248. |m: &SalePeriod| { &m.end },
  5249. |m: &mut SalePeriod| { &mut m.end },
  5250. ));
  5251. ::protobuf::reflect::MessageDescriptor::new::<SalePeriod>(
  5252. "SalePeriod",
  5253. fields,
  5254. file_descriptor_proto()
  5255. )
  5256. })
  5257. }
  5258. }
  5259. fn default_instance() -> &'static SalePeriod {
  5260. static mut instance: ::protobuf::lazy::Lazy<SalePeriod> = ::protobuf::lazy::Lazy {
  5261. lock: ::protobuf::lazy::ONCE_INIT,
  5262. ptr: 0 as *const SalePeriod,
  5263. };
  5264. unsafe {
  5265. instance.get(SalePeriod::new)
  5266. }
  5267. }
  5268. }
  5269. impl ::protobuf::Clear for SalePeriod {
  5270. fn clear(&mut self) {
  5271. self.restriction.clear();
  5272. self.start.clear();
  5273. self.end.clear();
  5274. self.unknown_fields.clear();
  5275. }
  5276. }
  5277. impl ::std::fmt::Debug for SalePeriod {
  5278. fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
  5279. ::protobuf::text_format::fmt(self, f)
  5280. }
  5281. }
  5282. impl ::protobuf::reflect::ProtobufValue for SalePeriod {
  5283. fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef {
  5284. ::protobuf::reflect::ProtobufValueRef::Message(self)
  5285. }
  5286. }
  5287. #[derive(PartialEq,Clone,Default)]
  5288. pub struct ExternalId {
  5289. // message fields
  5290. typ: ::protobuf::SingularField<::std::string::String>,
  5291. id: ::protobuf::SingularField<::std::string::String>,
  5292. // special fields
  5293. pub unknown_fields: ::protobuf::UnknownFields,
  5294. pub cached_size: ::protobuf::CachedSize,
  5295. }
  5296. impl<'a> ::std::default::Default for &'a ExternalId {
  5297. fn default() -> &'a ExternalId {
  5298. <ExternalId as ::protobuf::Message>::default_instance()
  5299. }
  5300. }
  5301. impl ExternalId {
  5302. pub fn new() -> ExternalId {
  5303. ::std::default::Default::default()
  5304. }
  5305. // optional string typ = 1;
  5306. pub fn get_typ(&self) -> &str {
  5307. match self.typ.as_ref() {
  5308. Some(v) => &v,
  5309. None => "",
  5310. }
  5311. }
  5312. pub fn clear_typ(&mut self) {
  5313. self.typ.clear();
  5314. }
  5315. pub fn has_typ(&self) -> bool {
  5316. self.typ.is_some()
  5317. }
  5318. // Param is passed by value, moved
  5319. pub fn set_typ(&mut self, v: ::std::string::String) {
  5320. self.typ = ::protobuf::SingularField::some(v);
  5321. }
  5322. // Mutable pointer to the field.
  5323. // If field is not initialized, it is initialized with default value first.
  5324. pub fn mut_typ(&mut self) -> &mut ::std::string::String {
  5325. if self.typ.is_none() {
  5326. self.typ.set_default();
  5327. }
  5328. self.typ.as_mut().unwrap()
  5329. }
  5330. // Take field
  5331. pub fn take_typ(&mut self) -> ::std::string::String {
  5332. self.typ.take().unwrap_or_else(|| ::std::string::String::new())
  5333. }
  5334. // optional string id = 2;
  5335. pub fn get_id(&self) -> &str {
  5336. match self.id.as_ref() {
  5337. Some(v) => &v,
  5338. None => "",
  5339. }
  5340. }
  5341. pub fn clear_id(&mut self) {
  5342. self.id.clear();
  5343. }
  5344. pub fn has_id(&self) -> bool {
  5345. self.id.is_some()
  5346. }
  5347. // Param is passed by value, moved
  5348. pub fn set_id(&mut self, v: ::std::string::String) {
  5349. self.id = ::protobuf::SingularField::some(v);
  5350. }
  5351. // Mutable pointer to the field.
  5352. // If field is not initialized, it is initialized with default value first.
  5353. pub fn mut_id(&mut self) -> &mut ::std::string::String {
  5354. if self.id.is_none() {
  5355. self.id.set_default();
  5356. }
  5357. self.id.as_mut().unwrap()
  5358. }
  5359. // Take field
  5360. pub fn take_id(&mut self) -> ::std::string::String {
  5361. self.id.take().unwrap_or_else(|| ::std::string::String::new())
  5362. }
  5363. }
  5364. impl ::protobuf::Message for ExternalId {
  5365. fn is_initialized(&self) -> bool {
  5366. true
  5367. }
  5368. fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
  5369. while !is.eof()? {
  5370. let (field_number, wire_type) = is.read_tag_unpack()?;
  5371. match field_number {
  5372. 1 => {
  5373. ::protobuf::rt::read_singular_string_into(wire_type, is, &mut self.typ)?;
  5374. },
  5375. 2 => {
  5376. ::protobuf::rt::read_singular_string_into(wire_type, is, &mut self.id)?;
  5377. },
  5378. _ => {
  5379. ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
  5380. },
  5381. };
  5382. }
  5383. ::std::result::Result::Ok(())
  5384. }
  5385. // Compute sizes of nested messages
  5386. #[allow(unused_variables)]
  5387. fn compute_size(&self) -> u32 {
  5388. let mut my_size = 0;
  5389. if let Some(ref v) = self.typ.as_ref() {
  5390. my_size += ::protobuf::rt::string_size(1, &v);
  5391. }
  5392. if let Some(ref v) = self.id.as_ref() {
  5393. my_size += ::protobuf::rt::string_size(2, &v);
  5394. }
  5395. my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
  5396. self.cached_size.set(my_size);
  5397. my_size
  5398. }
  5399. fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
  5400. if let Some(ref v) = self.typ.as_ref() {
  5401. os.write_string(1, &v)?;
  5402. }
  5403. if let Some(ref v) = self.id.as_ref() {
  5404. os.write_string(2, &v)?;
  5405. }
  5406. os.write_unknown_fields(self.get_unknown_fields())?;
  5407. ::std::result::Result::Ok(())
  5408. }
  5409. fn get_cached_size(&self) -> u32 {
  5410. self.cached_size.get()
  5411. }
  5412. fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
  5413. &self.unknown_fields
  5414. }
  5415. fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
  5416. &mut self.unknown_fields
  5417. }
  5418. fn as_any(&self) -> &dyn (::std::any::Any) {
  5419. self as &dyn (::std::any::Any)
  5420. }
  5421. fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
  5422. self as &mut dyn (::std::any::Any)
  5423. }
  5424. fn into_any(self: Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
  5425. self
  5426. }
  5427. fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
  5428. Self::descriptor_static()
  5429. }
  5430. fn new() -> ExternalId {
  5431. ExternalId::new()
  5432. }
  5433. fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
  5434. static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy {
  5435. lock: ::protobuf::lazy::ONCE_INIT,
  5436. ptr: 0 as *const ::protobuf::reflect::MessageDescriptor,
  5437. };
  5438. unsafe {
  5439. descriptor.get(|| {
  5440. let mut fields = ::std::vec::Vec::new();
  5441. fields.push(::protobuf::reflect::accessor::make_singular_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
  5442. "typ",
  5443. |m: &ExternalId| { &m.typ },
  5444. |m: &mut ExternalId| { &mut m.typ },
  5445. ));
  5446. fields.push(::protobuf::reflect::accessor::make_singular_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
  5447. "id",
  5448. |m: &ExternalId| { &m.id },
  5449. |m: &mut ExternalId| { &mut m.id },
  5450. ));
  5451. ::protobuf::reflect::MessageDescriptor::new::<ExternalId>(
  5452. "ExternalId",
  5453. fields,
  5454. file_descriptor_proto()
  5455. )
  5456. })
  5457. }
  5458. }
  5459. fn default_instance() -> &'static ExternalId {
  5460. static mut instance: ::protobuf::lazy::Lazy<ExternalId> = ::protobuf::lazy::Lazy {
  5461. lock: ::protobuf::lazy::ONCE_INIT,
  5462. ptr: 0 as *const ExternalId,
  5463. };
  5464. unsafe {
  5465. instance.get(ExternalId::new)
  5466. }
  5467. }
  5468. }
  5469. impl ::protobuf::Clear for ExternalId {
  5470. fn clear(&mut self) {
  5471. self.typ.clear();
  5472. self.id.clear();
  5473. self.unknown_fields.clear();
  5474. }
  5475. }
  5476. impl ::std::fmt::Debug for ExternalId {
  5477. fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
  5478. ::protobuf::text_format::fmt(self, f)
  5479. }
  5480. }
  5481. impl ::protobuf::reflect::ProtobufValue for ExternalId {
  5482. fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef {
  5483. ::protobuf::reflect::ProtobufValueRef::Message(self)
  5484. }
  5485. }
  5486. #[derive(PartialEq,Clone,Default)]
  5487. pub struct AudioFile {
  5488. // message fields
  5489. file_id: ::protobuf::SingularField<::std::vec::Vec<u8>>,
  5490. format: ::std::option::Option<AudioFile_Format>,
  5491. // special fields
  5492. pub unknown_fields: ::protobuf::UnknownFields,
  5493. pub cached_size: ::protobuf::CachedSize,
  5494. }
  5495. impl<'a> ::std::default::Default for &'a AudioFile {
  5496. fn default() -> &'a AudioFile {
  5497. <AudioFile as ::protobuf::Message>::default_instance()
  5498. }
  5499. }
  5500. impl AudioFile {
  5501. pub fn new() -> AudioFile {
  5502. ::std::default::Default::default()
  5503. }
  5504. // optional bytes file_id = 1;
  5505. pub fn get_file_id(&self) -> &[u8] {
  5506. match self.file_id.as_ref() {
  5507. Some(v) => &v,
  5508. None => &[],
  5509. }
  5510. }
  5511. pub fn clear_file_id(&mut self) {
  5512. self.file_id.clear();
  5513. }
  5514. pub fn has_file_id(&self) -> bool {
  5515. self.file_id.is_some()
  5516. }
  5517. // Param is passed by value, moved
  5518. pub fn set_file_id(&mut self, v: ::std::vec::Vec<u8>) {
  5519. self.file_id = ::protobuf::SingularField::some(v);
  5520. }
  5521. // Mutable pointer to the field.
  5522. // If field is not initialized, it is initialized with default value first.
  5523. pub fn mut_file_id(&mut self) -> &mut ::std::vec::Vec<u8> {
  5524. if self.file_id.is_none() {
  5525. self.file_id.set_default();
  5526. }
  5527. self.file_id.as_mut().unwrap()
  5528. }
  5529. // Take field
  5530. pub fn take_file_id(&mut self) -> ::std::vec::Vec<u8> {
  5531. self.file_id.take().unwrap_or_else(|| ::std::vec::Vec::new())
  5532. }
  5533. // optional .AudioFile.Format format = 2;
  5534. pub fn get_format(&self) -> AudioFile_Format {
  5535. self.format.unwrap_or(AudioFile_Format::OGG_VORBIS_96)
  5536. }
  5537. pub fn clear_format(&mut self) {
  5538. self.format = ::std::option::Option::None;
  5539. }
  5540. pub fn has_format(&self) -> bool {
  5541. self.format.is_some()
  5542. }
  5543. // Param is passed by value, moved
  5544. pub fn set_format(&mut self, v: AudioFile_Format) {
  5545. self.format = ::std::option::Option::Some(v);
  5546. }
  5547. }
  5548. impl ::protobuf::Message for AudioFile {
  5549. fn is_initialized(&self) -> bool {
  5550. true
  5551. }
  5552. fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
  5553. while !is.eof()? {
  5554. let (field_number, wire_type) = is.read_tag_unpack()?;
  5555. match field_number {
  5556. 1 => {
  5557. ::protobuf::rt::read_singular_bytes_into(wire_type, is, &mut self.file_id)?;
  5558. },
  5559. 2 => {
  5560. ::protobuf::rt::read_proto2_enum_with_unknown_fields_into(wire_type, is, &mut self.format, 2, &mut self.unknown_fields)?
  5561. },
  5562. _ => {
  5563. ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
  5564. },
  5565. };
  5566. }
  5567. ::std::result::Result::Ok(())
  5568. }
  5569. // Compute sizes of nested messages
  5570. #[allow(unused_variables)]
  5571. fn compute_size(&self) -> u32 {
  5572. let mut my_size = 0;
  5573. if let Some(ref v) = self.file_id.as_ref() {
  5574. my_size += ::protobuf::rt::bytes_size(1, &v);
  5575. }
  5576. if let Some(v) = self.format {
  5577. my_size += ::protobuf::rt::enum_size(2, v);
  5578. }
  5579. my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
  5580. self.cached_size.set(my_size);
  5581. my_size
  5582. }
  5583. fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
  5584. if let Some(ref v) = self.file_id.as_ref() {
  5585. os.write_bytes(1, &v)?;
  5586. }
  5587. if let Some(v) = self.format {
  5588. os.write_enum(2, v.value())?;
  5589. }
  5590. os.write_unknown_fields(self.get_unknown_fields())?;
  5591. ::std::result::Result::Ok(())
  5592. }
  5593. fn get_cached_size(&self) -> u32 {
  5594. self.cached_size.get()
  5595. }
  5596. fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
  5597. &self.unknown_fields
  5598. }
  5599. fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
  5600. &mut self.unknown_fields
  5601. }
  5602. fn as_any(&self) -> &dyn (::std::any::Any) {
  5603. self as &dyn (::std::any::Any)
  5604. }
  5605. fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
  5606. self as &mut dyn (::std::any::Any)
  5607. }
  5608. fn into_any(self: Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
  5609. self
  5610. }
  5611. fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
  5612. Self::descriptor_static()
  5613. }
  5614. fn new() -> AudioFile {
  5615. AudioFile::new()
  5616. }
  5617. fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
  5618. static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy {
  5619. lock: ::protobuf::lazy::ONCE_INIT,
  5620. ptr: 0 as *const ::protobuf::reflect::MessageDescriptor,
  5621. };
  5622. unsafe {
  5623. descriptor.get(|| {
  5624. let mut fields = ::std::vec::Vec::new();
  5625. fields.push(::protobuf::reflect::accessor::make_singular_field_accessor::<_, ::protobuf::types::ProtobufTypeBytes>(
  5626. "file_id",
  5627. |m: &AudioFile| { &m.file_id },
  5628. |m: &mut AudioFile| { &mut m.file_id },
  5629. ));
  5630. fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeEnum<AudioFile_Format>>(
  5631. "format",
  5632. |m: &AudioFile| { &m.format },
  5633. |m: &mut AudioFile| { &mut m.format },
  5634. ));
  5635. ::protobuf::reflect::MessageDescriptor::new::<AudioFile>(
  5636. "AudioFile",
  5637. fields,
  5638. file_descriptor_proto()
  5639. )
  5640. })
  5641. }
  5642. }
  5643. fn default_instance() -> &'static AudioFile {
  5644. static mut instance: ::protobuf::lazy::Lazy<AudioFile> = ::protobuf::lazy::Lazy {
  5645. lock: ::protobuf::lazy::ONCE_INIT,
  5646. ptr: 0 as *const AudioFile,
  5647. };
  5648. unsafe {
  5649. instance.get(AudioFile::new)
  5650. }
  5651. }
  5652. }
  5653. impl ::protobuf::Clear for AudioFile {
  5654. fn clear(&mut self) {
  5655. self.file_id.clear();
  5656. self.format = ::std::option::Option::None;
  5657. self.unknown_fields.clear();
  5658. }
  5659. }
  5660. impl ::std::fmt::Debug for AudioFile {
  5661. fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
  5662. ::protobuf::text_format::fmt(self, f)
  5663. }
  5664. }
  5665. impl ::protobuf::reflect::ProtobufValue for AudioFile {
  5666. fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef {
  5667. ::protobuf::reflect::ProtobufValueRef::Message(self)
  5668. }
  5669. }
  5670. #[derive(Clone,PartialEq,Eq,Debug,Hash)]
  5671. pub enum AudioFile_Format {
  5672. OGG_VORBIS_96 = 0,
  5673. OGG_VORBIS_160 = 1,
  5674. OGG_VORBIS_320 = 2,
  5675. MP3_256 = 3,
  5676. MP3_320 = 4,
  5677. MP3_160 = 5,
  5678. MP3_96 = 6,
  5679. MP3_160_ENC = 7,
  5680. MP4_128_DUAL = 8,
  5681. OTHER3 = 9,
  5682. AAC_160 = 10,
  5683. AAC_320 = 11,
  5684. MP4_128 = 12,
  5685. OTHER5 = 13,
  5686. }
  5687. impl ::protobuf::ProtobufEnum for AudioFile_Format {
  5688. fn value(&self) -> i32 {
  5689. *self as i32
  5690. }
  5691. fn from_i32(value: i32) -> ::std::option::Option<AudioFile_Format> {
  5692. match value {
  5693. 0 => ::std::option::Option::Some(AudioFile_Format::OGG_VORBIS_96),
  5694. 1 => ::std::option::Option::Some(AudioFile_Format::OGG_VORBIS_160),
  5695. 2 => ::std::option::Option::Some(AudioFile_Format::OGG_VORBIS_320),
  5696. 3 => ::std::option::Option::Some(AudioFile_Format::MP3_256),
  5697. 4 => ::std::option::Option::Some(AudioFile_Format::MP3_320),
  5698. 5 => ::std::option::Option::Some(AudioFile_Format::MP3_160),
  5699. 6 => ::std::option::Option::Some(AudioFile_Format::MP3_96),
  5700. 7 => ::std::option::Option::Some(AudioFile_Format::MP3_160_ENC),
  5701. 8 => ::std::option::Option::Some(AudioFile_Format::MP4_128_DUAL),
  5702. 9 => ::std::option::Option::Some(AudioFile_Format::OTHER3),
  5703. 10 => ::std::option::Option::Some(AudioFile_Format::AAC_160),
  5704. 11 => ::std::option::Option::Some(AudioFile_Format::AAC_320),
  5705. 12 => ::std::option::Option::Some(AudioFile_Format::MP4_128),
  5706. 13 => ::std::option::Option::Some(AudioFile_Format::OTHER5),
  5707. _ => ::std::option::Option::None
  5708. }
  5709. }
  5710. fn values() -> &'static [Self] {
  5711. static values: &'static [AudioFile_Format] = &[
  5712. AudioFile_Format::OGG_VORBIS_96,
  5713. AudioFile_Format::OGG_VORBIS_160,
  5714. AudioFile_Format::OGG_VORBIS_320,
  5715. AudioFile_Format::MP3_256,
  5716. AudioFile_Format::MP3_320,
  5717. AudioFile_Format::MP3_160,
  5718. AudioFile_Format::MP3_96,
  5719. AudioFile_Format::MP3_160_ENC,
  5720. AudioFile_Format::MP4_128_DUAL,
  5721. AudioFile_Format::OTHER3,
  5722. AudioFile_Format::AAC_160,
  5723. AudioFile_Format::AAC_320,
  5724. AudioFile_Format::MP4_128,
  5725. AudioFile_Format::OTHER5,
  5726. ];
  5727. values
  5728. }
  5729. fn enum_descriptor_static() -> &'static ::protobuf::reflect::EnumDescriptor {
  5730. static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::EnumDescriptor> = ::protobuf::lazy::Lazy {
  5731. lock: ::protobuf::lazy::ONCE_INIT,
  5732. ptr: 0 as *const ::protobuf::reflect::EnumDescriptor,
  5733. };
  5734. unsafe {
  5735. descriptor.get(|| {
  5736. ::protobuf::reflect::EnumDescriptor::new("AudioFile_Format", file_descriptor_proto())
  5737. })
  5738. }
  5739. }
  5740. }
  5741. impl ::std::marker::Copy for AudioFile_Format {
  5742. }
  5743. impl ::std::default::Default for AudioFile_Format {
  5744. fn default() -> Self {
  5745. AudioFile_Format::OGG_VORBIS_96
  5746. }
  5747. }
  5748. impl ::protobuf::reflect::ProtobufValue for AudioFile_Format {
  5749. fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef {
  5750. ::protobuf::reflect::ProtobufValueRef::Enum(self.descriptor())
  5751. }
  5752. }
  5753. #[derive(PartialEq,Clone,Default)]
  5754. pub struct VideoFile {
  5755. // message fields
  5756. file_id: ::protobuf::SingularField<::std::vec::Vec<u8>>,
  5757. // special fields
  5758. pub unknown_fields: ::protobuf::UnknownFields,
  5759. pub cached_size: ::protobuf::CachedSize,
  5760. }
  5761. impl<'a> ::std::default::Default for &'a VideoFile {
  5762. fn default() -> &'a VideoFile {
  5763. <VideoFile as ::protobuf::Message>::default_instance()
  5764. }
  5765. }
  5766. impl VideoFile {
  5767. pub fn new() -> VideoFile {
  5768. ::std::default::Default::default()
  5769. }
  5770. // optional bytes file_id = 1;
  5771. pub fn get_file_id(&self) -> &[u8] {
  5772. match self.file_id.as_ref() {
  5773. Some(v) => &v,
  5774. None => &[],
  5775. }
  5776. }
  5777. pub fn clear_file_id(&mut self) {
  5778. self.file_id.clear();
  5779. }
  5780. pub fn has_file_id(&self) -> bool {
  5781. self.file_id.is_some()
  5782. }
  5783. // Param is passed by value, moved
  5784. pub fn set_file_id(&mut self, v: ::std::vec::Vec<u8>) {
  5785. self.file_id = ::protobuf::SingularField::some(v);
  5786. }
  5787. // Mutable pointer to the field.
  5788. // If field is not initialized, it is initialized with default value first.
  5789. pub fn mut_file_id(&mut self) -> &mut ::std::vec::Vec<u8> {
  5790. if self.file_id.is_none() {
  5791. self.file_id.set_default();
  5792. }
  5793. self.file_id.as_mut().unwrap()
  5794. }
  5795. // Take field
  5796. pub fn take_file_id(&mut self) -> ::std::vec::Vec<u8> {
  5797. self.file_id.take().unwrap_or_else(|| ::std::vec::Vec::new())
  5798. }
  5799. }
  5800. impl ::protobuf::Message for VideoFile {
  5801. fn is_initialized(&self) -> bool {
  5802. true
  5803. }
  5804. fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
  5805. while !is.eof()? {
  5806. let (field_number, wire_type) = is.read_tag_unpack()?;
  5807. match field_number {
  5808. 1 => {
  5809. ::protobuf::rt::read_singular_bytes_into(wire_type, is, &mut self.file_id)?;
  5810. },
  5811. _ => {
  5812. ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
  5813. },
  5814. };
  5815. }
  5816. ::std::result::Result::Ok(())
  5817. }
  5818. // Compute sizes of nested messages
  5819. #[allow(unused_variables)]
  5820. fn compute_size(&self) -> u32 {
  5821. let mut my_size = 0;
  5822. if let Some(ref v) = self.file_id.as_ref() {
  5823. my_size += ::protobuf::rt::bytes_size(1, &v);
  5824. }
  5825. my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
  5826. self.cached_size.set(my_size);
  5827. my_size
  5828. }
  5829. fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
  5830. if let Some(ref v) = self.file_id.as_ref() {
  5831. os.write_bytes(1, &v)?;
  5832. }
  5833. os.write_unknown_fields(self.get_unknown_fields())?;
  5834. ::std::result::Result::Ok(())
  5835. }
  5836. fn get_cached_size(&self) -> u32 {
  5837. self.cached_size.get()
  5838. }
  5839. fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
  5840. &self.unknown_fields
  5841. }
  5842. fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
  5843. &mut self.unknown_fields
  5844. }
  5845. fn as_any(&self) -> &dyn (::std::any::Any) {
  5846. self as &dyn (::std::any::Any)
  5847. }
  5848. fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
  5849. self as &mut dyn (::std::any::Any)
  5850. }
  5851. fn into_any(self: Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
  5852. self
  5853. }
  5854. fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
  5855. Self::descriptor_static()
  5856. }
  5857. fn new() -> VideoFile {
  5858. VideoFile::new()
  5859. }
  5860. fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
  5861. static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy {
  5862. lock: ::protobuf::lazy::ONCE_INIT,
  5863. ptr: 0 as *const ::protobuf::reflect::MessageDescriptor,
  5864. };
  5865. unsafe {
  5866. descriptor.get(|| {
  5867. let mut fields = ::std::vec::Vec::new();
  5868. fields.push(::protobuf::reflect::accessor::make_singular_field_accessor::<_, ::protobuf::types::ProtobufTypeBytes>(
  5869. "file_id",
  5870. |m: &VideoFile| { &m.file_id },
  5871. |m: &mut VideoFile| { &mut m.file_id },
  5872. ));
  5873. ::protobuf::reflect::MessageDescriptor::new::<VideoFile>(
  5874. "VideoFile",
  5875. fields,
  5876. file_descriptor_proto()
  5877. )
  5878. })
  5879. }
  5880. }
  5881. fn default_instance() -> &'static VideoFile {
  5882. static mut instance: ::protobuf::lazy::Lazy<VideoFile> = ::protobuf::lazy::Lazy {
  5883. lock: ::protobuf::lazy::ONCE_INIT,
  5884. ptr: 0 as *const VideoFile,
  5885. };
  5886. unsafe {
  5887. instance.get(VideoFile::new)
  5888. }
  5889. }
  5890. }
  5891. impl ::protobuf::Clear for VideoFile {
  5892. fn clear(&mut self) {
  5893. self.file_id.clear();
  5894. self.unknown_fields.clear();
  5895. }
  5896. }
  5897. impl ::std::fmt::Debug for VideoFile {
  5898. fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
  5899. ::protobuf::text_format::fmt(self, f)
  5900. }
  5901. }
  5902. impl ::protobuf::reflect::ProtobufValue for VideoFile {
  5903. fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef {
  5904. ::protobuf::reflect::ProtobufValueRef::Message(self)
  5905. }
  5906. }
  5907. #[derive(PartialEq,Clone,Default)]
  5908. pub struct Show {
  5909. // message fields
  5910. gid: ::protobuf::SingularField<::std::vec::Vec<u8>>,
  5911. name: ::protobuf::SingularField<::std::string::String>,
  5912. description: ::protobuf::SingularField<::std::string::String>,
  5913. deprecated_popularity: ::std::option::Option<i32>,
  5914. publisher: ::protobuf::SingularField<::std::string::String>,
  5915. language: ::protobuf::SingularField<::std::string::String>,
  5916. explicit: ::std::option::Option<bool>,
  5917. covers: ::protobuf::SingularPtrField<ImageGroup>,
  5918. episode: ::protobuf::RepeatedField<Episode>,
  5919. copyright: ::protobuf::RepeatedField<Copyright>,
  5920. restriction: ::protobuf::RepeatedField<Restriction>,
  5921. keyword: ::protobuf::RepeatedField<::std::string::String>,
  5922. media_type: ::std::option::Option<Show_MediaType>,
  5923. consumption_order: ::std::option::Option<Show_ConsumptionOrder>,
  5924. interpret_restriction_using_geoip: ::std::option::Option<bool>,
  5925. availability: ::protobuf::RepeatedField<Availability>,
  5926. country_of_origin: ::protobuf::SingularField<::std::string::String>,
  5927. categories: ::protobuf::RepeatedField<Category>,
  5928. passthrough: ::std::option::Option<Show_PassthroughEnum>,
  5929. // special fields
  5930. pub unknown_fields: ::protobuf::UnknownFields,
  5931. pub cached_size: ::protobuf::CachedSize,
  5932. }
  5933. impl<'a> ::std::default::Default for &'a Show {
  5934. fn default() -> &'a Show {
  5935. <Show as ::protobuf::Message>::default_instance()
  5936. }
  5937. }
  5938. impl Show {
  5939. pub fn new() -> Show {
  5940. ::std::default::Default::default()
  5941. }
  5942. // optional bytes gid = 1;
  5943. pub fn get_gid(&self) -> &[u8] {
  5944. match self.gid.as_ref() {
  5945. Some(v) => &v,
  5946. None => &[],
  5947. }
  5948. }
  5949. pub fn clear_gid(&mut self) {
  5950. self.gid.clear();
  5951. }
  5952. pub fn has_gid(&self) -> bool {
  5953. self.gid.is_some()
  5954. }
  5955. // Param is passed by value, moved
  5956. pub fn set_gid(&mut self, v: ::std::vec::Vec<u8>) {
  5957. self.gid = ::protobuf::SingularField::some(v);
  5958. }
  5959. // Mutable pointer to the field.
  5960. // If field is not initialized, it is initialized with default value first.
  5961. pub fn mut_gid(&mut self) -> &mut ::std::vec::Vec<u8> {
  5962. if self.gid.is_none() {
  5963. self.gid.set_default();
  5964. }
  5965. self.gid.as_mut().unwrap()
  5966. }
  5967. // Take field
  5968. pub fn take_gid(&mut self) -> ::std::vec::Vec<u8> {
  5969. self.gid.take().unwrap_or_else(|| ::std::vec::Vec::new())
  5970. }
  5971. // optional string name = 2;
  5972. pub fn get_name(&self) -> &str {
  5973. match self.name.as_ref() {
  5974. Some(v) => &v,
  5975. None => "",
  5976. }
  5977. }
  5978. pub fn clear_name(&mut self) {
  5979. self.name.clear();
  5980. }
  5981. pub fn has_name(&self) -> bool {
  5982. self.name.is_some()
  5983. }
  5984. // Param is passed by value, moved
  5985. pub fn set_name(&mut self, v: ::std::string::String) {
  5986. self.name = ::protobuf::SingularField::some(v);
  5987. }
  5988. // Mutable pointer to the field.
  5989. // If field is not initialized, it is initialized with default value first.
  5990. pub fn mut_name(&mut self) -> &mut ::std::string::String {
  5991. if self.name.is_none() {
  5992. self.name.set_default();
  5993. }
  5994. self.name.as_mut().unwrap()
  5995. }
  5996. // Take field
  5997. pub fn take_name(&mut self) -> ::std::string::String {
  5998. self.name.take().unwrap_or_else(|| ::std::string::String::new())
  5999. }
  6000. // optional string description = 64;
  6001. pub fn get_description(&self) -> &str {
  6002. match self.description.as_ref() {
  6003. Some(v) => &v,
  6004. None => "",
  6005. }
  6006. }
  6007. pub fn clear_description(&mut self) {
  6008. self.description.clear();
  6009. }
  6010. pub fn has_description(&self) -> bool {
  6011. self.description.is_some()
  6012. }
  6013. // Param is passed by value, moved
  6014. pub fn set_description(&mut self, v: ::std::string::String) {
  6015. self.description = ::protobuf::SingularField::some(v);
  6016. }
  6017. // Mutable pointer to the field.
  6018. // If field is not initialized, it is initialized with default value first.
  6019. pub fn mut_description(&mut self) -> &mut ::std::string::String {
  6020. if self.description.is_none() {
  6021. self.description.set_default();
  6022. }
  6023. self.description.as_mut().unwrap()
  6024. }
  6025. // Take field
  6026. pub fn take_description(&mut self) -> ::std::string::String {
  6027. self.description.take().unwrap_or_else(|| ::std::string::String::new())
  6028. }
  6029. // optional sint32 deprecated_popularity = 65;
  6030. pub fn get_deprecated_popularity(&self) -> i32 {
  6031. self.deprecated_popularity.unwrap_or(0)
  6032. }
  6033. pub fn clear_deprecated_popularity(&mut self) {
  6034. self.deprecated_popularity = ::std::option::Option::None;
  6035. }
  6036. pub fn has_deprecated_popularity(&self) -> bool {
  6037. self.deprecated_popularity.is_some()
  6038. }
  6039. // Param is passed by value, moved
  6040. pub fn set_deprecated_popularity(&mut self, v: i32) {
  6041. self.deprecated_popularity = ::std::option::Option::Some(v);
  6042. }
  6043. // optional string publisher = 66;
  6044. pub fn get_publisher(&self) -> &str {
  6045. match self.publisher.as_ref() {
  6046. Some(v) => &v,
  6047. None => "",
  6048. }
  6049. }
  6050. pub fn clear_publisher(&mut self) {
  6051. self.publisher.clear();
  6052. }
  6053. pub fn has_publisher(&self) -> bool {
  6054. self.publisher.is_some()
  6055. }
  6056. // Param is passed by value, moved
  6057. pub fn set_publisher(&mut self, v: ::std::string::String) {
  6058. self.publisher = ::protobuf::SingularField::some(v);
  6059. }
  6060. // Mutable pointer to the field.
  6061. // If field is not initialized, it is initialized with default value first.
  6062. pub fn mut_publisher(&mut self) -> &mut ::std::string::String {
  6063. if self.publisher.is_none() {
  6064. self.publisher.set_default();
  6065. }
  6066. self.publisher.as_mut().unwrap()
  6067. }
  6068. // Take field
  6069. pub fn take_publisher(&mut self) -> ::std::string::String {
  6070. self.publisher.take().unwrap_or_else(|| ::std::string::String::new())
  6071. }
  6072. // optional string language = 67;
  6073. pub fn get_language(&self) -> &str {
  6074. match self.language.as_ref() {
  6075. Some(v) => &v,
  6076. None => "",
  6077. }
  6078. }
  6079. pub fn clear_language(&mut self) {
  6080. self.language.clear();
  6081. }
  6082. pub fn has_language(&self) -> bool {
  6083. self.language.is_some()
  6084. }
  6085. // Param is passed by value, moved
  6086. pub fn set_language(&mut self, v: ::std::string::String) {
  6087. self.language = ::protobuf::SingularField::some(v);
  6088. }
  6089. // Mutable pointer to the field.
  6090. // If field is not initialized, it is initialized with default value first.
  6091. pub fn mut_language(&mut self) -> &mut ::std::string::String {
  6092. if self.language.is_none() {
  6093. self.language.set_default();
  6094. }
  6095. self.language.as_mut().unwrap()
  6096. }
  6097. // Take field
  6098. pub fn take_language(&mut self) -> ::std::string::String {
  6099. self.language.take().unwrap_or_else(|| ::std::string::String::new())
  6100. }
  6101. // optional bool explicit = 68;
  6102. pub fn get_explicit(&self) -> bool {
  6103. self.explicit.unwrap_or(false)
  6104. }
  6105. pub fn clear_explicit(&mut self) {
  6106. self.explicit = ::std::option::Option::None;
  6107. }
  6108. pub fn has_explicit(&self) -> bool {
  6109. self.explicit.is_some()
  6110. }
  6111. // Param is passed by value, moved
  6112. pub fn set_explicit(&mut self, v: bool) {
  6113. self.explicit = ::std::option::Option::Some(v);
  6114. }
  6115. // optional .ImageGroup covers = 69;
  6116. pub fn get_covers(&self) -> &ImageGroup {
  6117. self.covers.as_ref().unwrap_or_else(|| ImageGroup::default_instance())
  6118. }
  6119. pub fn clear_covers(&mut self) {
  6120. self.covers.clear();
  6121. }
  6122. pub fn has_covers(&self) -> bool {
  6123. self.covers.is_some()
  6124. }
  6125. // Param is passed by value, moved
  6126. pub fn set_covers(&mut self, v: ImageGroup) {
  6127. self.covers = ::protobuf::SingularPtrField::some(v);
  6128. }
  6129. // Mutable pointer to the field.
  6130. // If field is not initialized, it is initialized with default value first.
  6131. pub fn mut_covers(&mut self) -> &mut ImageGroup {
  6132. if self.covers.is_none() {
  6133. self.covers.set_default();
  6134. }
  6135. self.covers.as_mut().unwrap()
  6136. }
  6137. // Take field
  6138. pub fn take_covers(&mut self) -> ImageGroup {
  6139. self.covers.take().unwrap_or_else(|| ImageGroup::new())
  6140. }
  6141. // repeated .Episode episode = 70;
  6142. pub fn get_episode(&self) -> &[Episode] {
  6143. &self.episode
  6144. }
  6145. pub fn clear_episode(&mut self) {
  6146. self.episode.clear();
  6147. }
  6148. // Param is passed by value, moved
  6149. pub fn set_episode(&mut self, v: ::protobuf::RepeatedField<Episode>) {
  6150. self.episode = v;
  6151. }
  6152. // Mutable pointer to the field.
  6153. pub fn mut_episode(&mut self) -> &mut ::protobuf::RepeatedField<Episode> {
  6154. &mut self.episode
  6155. }
  6156. // Take field
  6157. pub fn take_episode(&mut self) -> ::protobuf::RepeatedField<Episode> {
  6158. ::std::mem::replace(&mut self.episode, ::protobuf::RepeatedField::new())
  6159. }
  6160. // repeated .Copyright copyright = 71;
  6161. pub fn get_copyright(&self) -> &[Copyright] {
  6162. &self.copyright
  6163. }
  6164. pub fn clear_copyright(&mut self) {
  6165. self.copyright.clear();
  6166. }
  6167. // Param is passed by value, moved
  6168. pub fn set_copyright(&mut self, v: ::protobuf::RepeatedField<Copyright>) {
  6169. self.copyright = v;
  6170. }
  6171. // Mutable pointer to the field.
  6172. pub fn mut_copyright(&mut self) -> &mut ::protobuf::RepeatedField<Copyright> {
  6173. &mut self.copyright
  6174. }
  6175. // Take field
  6176. pub fn take_copyright(&mut self) -> ::protobuf::RepeatedField<Copyright> {
  6177. ::std::mem::replace(&mut self.copyright, ::protobuf::RepeatedField::new())
  6178. }
  6179. // repeated .Restriction restriction = 72;
  6180. pub fn get_restriction(&self) -> &[Restriction] {
  6181. &self.restriction
  6182. }
  6183. pub fn clear_restriction(&mut self) {
  6184. self.restriction.clear();
  6185. }
  6186. // Param is passed by value, moved
  6187. pub fn set_restriction(&mut self, v: ::protobuf::RepeatedField<Restriction>) {
  6188. self.restriction = v;
  6189. }
  6190. // Mutable pointer to the field.
  6191. pub fn mut_restriction(&mut self) -> &mut ::protobuf::RepeatedField<Restriction> {
  6192. &mut self.restriction
  6193. }
  6194. // Take field
  6195. pub fn take_restriction(&mut self) -> ::protobuf::RepeatedField<Restriction> {
  6196. ::std::mem::replace(&mut self.restriction, ::protobuf::RepeatedField::new())
  6197. }
  6198. // repeated string keyword = 73;
  6199. pub fn get_keyword(&self) -> &[::std::string::String] {
  6200. &self.keyword
  6201. }
  6202. pub fn clear_keyword(&mut self) {
  6203. self.keyword.clear();
  6204. }
  6205. // Param is passed by value, moved
  6206. pub fn set_keyword(&mut self, v: ::protobuf::RepeatedField<::std::string::String>) {
  6207. self.keyword = v;
  6208. }
  6209. // Mutable pointer to the field.
  6210. pub fn mut_keyword(&mut self) -> &mut ::protobuf::RepeatedField<::std::string::String> {
  6211. &mut self.keyword
  6212. }
  6213. // Take field
  6214. pub fn take_keyword(&mut self) -> ::protobuf::RepeatedField<::std::string::String> {
  6215. ::std::mem::replace(&mut self.keyword, ::protobuf::RepeatedField::new())
  6216. }
  6217. // optional .Show.MediaType media_type = 74;
  6218. pub fn get_media_type(&self) -> Show_MediaType {
  6219. self.media_type.unwrap_or(Show_MediaType::MIXED)
  6220. }
  6221. pub fn clear_media_type(&mut self) {
  6222. self.media_type = ::std::option::Option::None;
  6223. }
  6224. pub fn has_media_type(&self) -> bool {
  6225. self.media_type.is_some()
  6226. }
  6227. // Param is passed by value, moved
  6228. pub fn set_media_type(&mut self, v: Show_MediaType) {
  6229. self.media_type = ::std::option::Option::Some(v);
  6230. }
  6231. // optional .Show.ConsumptionOrder consumption_order = 75;
  6232. pub fn get_consumption_order(&self) -> Show_ConsumptionOrder {
  6233. self.consumption_order.unwrap_or(Show_ConsumptionOrder::SEQUENTIAL)
  6234. }
  6235. pub fn clear_consumption_order(&mut self) {
  6236. self.consumption_order = ::std::option::Option::None;
  6237. }
  6238. pub fn has_consumption_order(&self) -> bool {
  6239. self.consumption_order.is_some()
  6240. }
  6241. // Param is passed by value, moved
  6242. pub fn set_consumption_order(&mut self, v: Show_ConsumptionOrder) {
  6243. self.consumption_order = ::std::option::Option::Some(v);
  6244. }
  6245. // optional bool interpret_restriction_using_geoip = 76;
  6246. pub fn get_interpret_restriction_using_geoip(&self) -> bool {
  6247. self.interpret_restriction_using_geoip.unwrap_or(false)
  6248. }
  6249. pub fn clear_interpret_restriction_using_geoip(&mut self) {
  6250. self.interpret_restriction_using_geoip = ::std::option::Option::None;
  6251. }
  6252. pub fn has_interpret_restriction_using_geoip(&self) -> bool {
  6253. self.interpret_restriction_using_geoip.is_some()
  6254. }
  6255. // Param is passed by value, moved
  6256. pub fn set_interpret_restriction_using_geoip(&mut self, v: bool) {
  6257. self.interpret_restriction_using_geoip = ::std::option::Option::Some(v);
  6258. }
  6259. // repeated .Availability availability = 78;
  6260. pub fn get_availability(&self) -> &[Availability] {
  6261. &self.availability
  6262. }
  6263. pub fn clear_availability(&mut self) {
  6264. self.availability.clear();
  6265. }
  6266. // Param is passed by value, moved
  6267. pub fn set_availability(&mut self, v: ::protobuf::RepeatedField<Availability>) {
  6268. self.availability = v;
  6269. }
  6270. // Mutable pointer to the field.
  6271. pub fn mut_availability(&mut self) -> &mut ::protobuf::RepeatedField<Availability> {
  6272. &mut self.availability
  6273. }
  6274. // Take field
  6275. pub fn take_availability(&mut self) -> ::protobuf::RepeatedField<Availability> {
  6276. ::std::mem::replace(&mut self.availability, ::protobuf::RepeatedField::new())
  6277. }
  6278. // optional string country_of_origin = 79;
  6279. pub fn get_country_of_origin(&self) -> &str {
  6280. match self.country_of_origin.as_ref() {
  6281. Some(v) => &v,
  6282. None => "",
  6283. }
  6284. }
  6285. pub fn clear_country_of_origin(&mut self) {
  6286. self.country_of_origin.clear();
  6287. }
  6288. pub fn has_country_of_origin(&self) -> bool {
  6289. self.country_of_origin.is_some()
  6290. }
  6291. // Param is passed by value, moved
  6292. pub fn set_country_of_origin(&mut self, v: ::std::string::String) {
  6293. self.country_of_origin = ::protobuf::SingularField::some(v);
  6294. }
  6295. // Mutable pointer to the field.
  6296. // If field is not initialized, it is initialized with default value first.
  6297. pub fn mut_country_of_origin(&mut self) -> &mut ::std::string::String {
  6298. if self.country_of_origin.is_none() {
  6299. self.country_of_origin.set_default();
  6300. }
  6301. self.country_of_origin.as_mut().unwrap()
  6302. }
  6303. // Take field
  6304. pub fn take_country_of_origin(&mut self) -> ::std::string::String {
  6305. self.country_of_origin.take().unwrap_or_else(|| ::std::string::String::new())
  6306. }
  6307. // repeated .Category categories = 80;
  6308. pub fn get_categories(&self) -> &[Category] {
  6309. &self.categories
  6310. }
  6311. pub fn clear_categories(&mut self) {
  6312. self.categories.clear();
  6313. }
  6314. // Param is passed by value, moved
  6315. pub fn set_categories(&mut self, v: ::protobuf::RepeatedField<Category>) {
  6316. self.categories = v;
  6317. }
  6318. // Mutable pointer to the field.
  6319. pub fn mut_categories(&mut self) -> &mut ::protobuf::RepeatedField<Category> {
  6320. &mut self.categories
  6321. }
  6322. // Take field
  6323. pub fn take_categories(&mut self) -> ::protobuf::RepeatedField<Category> {
  6324. ::std::mem::replace(&mut self.categories, ::protobuf::RepeatedField::new())
  6325. }
  6326. // optional .Show.PassthroughEnum passthrough = 81;
  6327. pub fn get_passthrough(&self) -> Show_PassthroughEnum {
  6328. self.passthrough.unwrap_or(Show_PassthroughEnum::UNKNOWN)
  6329. }
  6330. pub fn clear_passthrough(&mut self) {
  6331. self.passthrough = ::std::option::Option::None;
  6332. }
  6333. pub fn has_passthrough(&self) -> bool {
  6334. self.passthrough.is_some()
  6335. }
  6336. // Param is passed by value, moved
  6337. pub fn set_passthrough(&mut self, v: Show_PassthroughEnum) {
  6338. self.passthrough = ::std::option::Option::Some(v);
  6339. }
  6340. }
  6341. impl ::protobuf::Message for Show {
  6342. fn is_initialized(&self) -> bool {
  6343. for v in &self.covers {
  6344. if !v.is_initialized() {
  6345. return false;
  6346. }
  6347. };
  6348. for v in &self.episode {
  6349. if !v.is_initialized() {
  6350. return false;
  6351. }
  6352. };
  6353. for v in &self.copyright {
  6354. if !v.is_initialized() {
  6355. return false;
  6356. }
  6357. };
  6358. for v in &self.restriction {
  6359. if !v.is_initialized() {
  6360. return false;
  6361. }
  6362. };
  6363. for v in &self.availability {
  6364. if !v.is_initialized() {
  6365. return false;
  6366. }
  6367. };
  6368. for v in &self.categories {
  6369. if !v.is_initialized() {
  6370. return false;
  6371. }
  6372. };
  6373. true
  6374. }
  6375. fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
  6376. while !is.eof()? {
  6377. let (field_number, wire_type) = is.read_tag_unpack()?;
  6378. match field_number {
  6379. 1 => {
  6380. ::protobuf::rt::read_singular_bytes_into(wire_type, is, &mut self.gid)?;
  6381. },
  6382. 2 => {
  6383. ::protobuf::rt::read_singular_string_into(wire_type, is, &mut self.name)?;
  6384. },
  6385. 64 => {
  6386. ::protobuf::rt::read_singular_string_into(wire_type, is, &mut self.description)?;
  6387. },
  6388. 65 => {
  6389. if wire_type != ::protobuf::wire_format::WireTypeVarint {
  6390. return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
  6391. }
  6392. let tmp = is.read_sint32()?;
  6393. self.deprecated_popularity = ::std::option::Option::Some(tmp);
  6394. },
  6395. 66 => {
  6396. ::protobuf::rt::read_singular_string_into(wire_type, is, &mut self.publisher)?;
  6397. },
  6398. 67 => {
  6399. ::protobuf::rt::read_singular_string_into(wire_type, is, &mut self.language)?;
  6400. },
  6401. 68 => {
  6402. if wire_type != ::protobuf::wire_format::WireTypeVarint {
  6403. return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
  6404. }
  6405. let tmp = is.read_bool()?;
  6406. self.explicit = ::std::option::Option::Some(tmp);
  6407. },
  6408. 69 => {
  6409. ::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.covers)?;
  6410. },
  6411. 70 => {
  6412. ::protobuf::rt::read_repeated_message_into(wire_type, is, &mut self.episode)?;
  6413. },
  6414. 71 => {
  6415. ::protobuf::rt::read_repeated_message_into(wire_type, is, &mut self.copyright)?;
  6416. },
  6417. 72 => {
  6418. ::protobuf::rt::read_repeated_message_into(wire_type, is, &mut self.restriction)?;
  6419. },
  6420. 73 => {
  6421. ::protobuf::rt::read_repeated_string_into(wire_type, is, &mut self.keyword)?;
  6422. },
  6423. 74 => {
  6424. ::protobuf::rt::read_proto2_enum_with_unknown_fields_into(wire_type, is, &mut self.media_type, 74, &mut self.unknown_fields)?
  6425. },
  6426. 75 => {
  6427. ::protobuf::rt::read_proto2_enum_with_unknown_fields_into(wire_type, is, &mut self.consumption_order, 75, &mut self.unknown_fields)?
  6428. },
  6429. 76 => {
  6430. if wire_type != ::protobuf::wire_format::WireTypeVarint {
  6431. return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
  6432. }
  6433. let tmp = is.read_bool()?;
  6434. self.interpret_restriction_using_geoip = ::std::option::Option::Some(tmp);
  6435. },
  6436. 78 => {
  6437. ::protobuf::rt::read_repeated_message_into(wire_type, is, &mut self.availability)?;
  6438. },
  6439. 79 => {
  6440. ::protobuf::rt::read_singular_string_into(wire_type, is, &mut self.country_of_origin)?;
  6441. },
  6442. 80 => {
  6443. ::protobuf::rt::read_repeated_message_into(wire_type, is, &mut self.categories)?;
  6444. },
  6445. 81 => {
  6446. ::protobuf::rt::read_proto2_enum_with_unknown_fields_into(wire_type, is, &mut self.passthrough, 81, &mut self.unknown_fields)?
  6447. },
  6448. _ => {
  6449. ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
  6450. },
  6451. };
  6452. }
  6453. ::std::result::Result::Ok(())
  6454. }
  6455. // Compute sizes of nested messages
  6456. #[allow(unused_variables)]
  6457. fn compute_size(&self) -> u32 {
  6458. let mut my_size = 0;
  6459. if let Some(ref v) = self.gid.as_ref() {
  6460. my_size += ::protobuf::rt::bytes_size(1, &v);
  6461. }
  6462. if let Some(ref v) = self.name.as_ref() {
  6463. my_size += ::protobuf::rt::string_size(2, &v);
  6464. }
  6465. if let Some(ref v) = self.description.as_ref() {
  6466. my_size += ::protobuf::rt::string_size(64, &v);
  6467. }
  6468. if let Some(v) = self.deprecated_popularity {
  6469. my_size += ::protobuf::rt::value_varint_zigzag_size(65, v);
  6470. }
  6471. if let Some(ref v) = self.publisher.as_ref() {
  6472. my_size += ::protobuf::rt::string_size(66, &v);
  6473. }
  6474. if let Some(ref v) = self.language.as_ref() {
  6475. my_size += ::protobuf::rt::string_size(67, &v);
  6476. }
  6477. if let Some(v) = self.explicit {
  6478. my_size += 3;
  6479. }
  6480. if let Some(ref v) = self.covers.as_ref() {
  6481. let len = v.compute_size();
  6482. my_size += 2 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
  6483. }
  6484. for value in &self.episode {
  6485. let len = value.compute_size();
  6486. my_size += 2 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
  6487. };
  6488. for value in &self.copyright {
  6489. let len = value.compute_size();
  6490. my_size += 2 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
  6491. };
  6492. for value in &self.restriction {
  6493. let len = value.compute_size();
  6494. my_size += 2 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
  6495. };
  6496. for value in &self.keyword {
  6497. my_size += ::protobuf::rt::string_size(73, &value);
  6498. };
  6499. if let Some(v) = self.media_type {
  6500. my_size += ::protobuf::rt::enum_size(74, v);
  6501. }
  6502. if let Some(v) = self.consumption_order {
  6503. my_size += ::protobuf::rt::enum_size(75, v);
  6504. }
  6505. if let Some(v) = self.interpret_restriction_using_geoip {
  6506. my_size += 3;
  6507. }
  6508. for value in &self.availability {
  6509. let len = value.compute_size();
  6510. my_size += 2 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
  6511. };
  6512. if let Some(ref v) = self.country_of_origin.as_ref() {
  6513. my_size += ::protobuf::rt::string_size(79, &v);
  6514. }
  6515. for value in &self.categories {
  6516. let len = value.compute_size();
  6517. my_size += 2 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
  6518. };
  6519. if let Some(v) = self.passthrough {
  6520. my_size += ::protobuf::rt::enum_size(81, v);
  6521. }
  6522. my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
  6523. self.cached_size.set(my_size);
  6524. my_size
  6525. }
  6526. fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
  6527. if let Some(ref v) = self.gid.as_ref() {
  6528. os.write_bytes(1, &v)?;
  6529. }
  6530. if let Some(ref v) = self.name.as_ref() {
  6531. os.write_string(2, &v)?;
  6532. }
  6533. if let Some(ref v) = self.description.as_ref() {
  6534. os.write_string(64, &v)?;
  6535. }
  6536. if let Some(v) = self.deprecated_popularity {
  6537. os.write_sint32(65, v)?;
  6538. }
  6539. if let Some(ref v) = self.publisher.as_ref() {
  6540. os.write_string(66, &v)?;
  6541. }
  6542. if let Some(ref v) = self.language.as_ref() {
  6543. os.write_string(67, &v)?;
  6544. }
  6545. if let Some(v) = self.explicit {
  6546. os.write_bool(68, v)?;
  6547. }
  6548. if let Some(ref v) = self.covers.as_ref() {
  6549. os.write_tag(69, ::protobuf::wire_format::WireTypeLengthDelimited)?;
  6550. os.write_raw_varint32(v.get_cached_size())?;
  6551. v.write_to_with_cached_sizes(os)?;
  6552. }
  6553. for v in &self.episode {
  6554. os.write_tag(70, ::protobuf::wire_format::WireTypeLengthDelimited)?;
  6555. os.write_raw_varint32(v.get_cached_size())?;
  6556. v.write_to_with_cached_sizes(os)?;
  6557. };
  6558. for v in &self.copyright {
  6559. os.write_tag(71, ::protobuf::wire_format::WireTypeLengthDelimited)?;
  6560. os.write_raw_varint32(v.get_cached_size())?;
  6561. v.write_to_with_cached_sizes(os)?;
  6562. };
  6563. for v in &self.restriction {
  6564. os.write_tag(72, ::protobuf::wire_format::WireTypeLengthDelimited)?;
  6565. os.write_raw_varint32(v.get_cached_size())?;
  6566. v.write_to_with_cached_sizes(os)?;
  6567. };
  6568. for v in &self.keyword {
  6569. os.write_string(73, &v)?;
  6570. };
  6571. if let Some(v) = self.media_type {
  6572. os.write_enum(74, v.value())?;
  6573. }
  6574. if let Some(v) = self.consumption_order {
  6575. os.write_enum(75, v.value())?;
  6576. }
  6577. if let Some(v) = self.interpret_restriction_using_geoip {
  6578. os.write_bool(76, v)?;
  6579. }
  6580. for v in &self.availability {
  6581. os.write_tag(78, ::protobuf::wire_format::WireTypeLengthDelimited)?;
  6582. os.write_raw_varint32(v.get_cached_size())?;
  6583. v.write_to_with_cached_sizes(os)?;
  6584. };
  6585. if let Some(ref v) = self.country_of_origin.as_ref() {
  6586. os.write_string(79, &v)?;
  6587. }
  6588. for v in &self.categories {
  6589. os.write_tag(80, ::protobuf::wire_format::WireTypeLengthDelimited)?;
  6590. os.write_raw_varint32(v.get_cached_size())?;
  6591. v.write_to_with_cached_sizes(os)?;
  6592. };
  6593. if let Some(v) = self.passthrough {
  6594. os.write_enum(81, v.value())?;
  6595. }
  6596. os.write_unknown_fields(self.get_unknown_fields())?;
  6597. ::std::result::Result::Ok(())
  6598. }
  6599. fn get_cached_size(&self) -> u32 {
  6600. self.cached_size.get()
  6601. }
  6602. fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
  6603. &self.unknown_fields
  6604. }
  6605. fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
  6606. &mut self.unknown_fields
  6607. }
  6608. fn as_any(&self) -> &dyn (::std::any::Any) {
  6609. self as &dyn (::std::any::Any)
  6610. }
  6611. fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
  6612. self as &mut dyn (::std::any::Any)
  6613. }
  6614. fn into_any(self: Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
  6615. self
  6616. }
  6617. fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
  6618. Self::descriptor_static()
  6619. }
  6620. fn new() -> Show {
  6621. Show::new()
  6622. }
  6623. fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
  6624. static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy {
  6625. lock: ::protobuf::lazy::ONCE_INIT,
  6626. ptr: 0 as *const ::protobuf::reflect::MessageDescriptor,
  6627. };
  6628. unsafe {
  6629. descriptor.get(|| {
  6630. let mut fields = ::std::vec::Vec::new();
  6631. fields.push(::protobuf::reflect::accessor::make_singular_field_accessor::<_, ::protobuf::types::ProtobufTypeBytes>(
  6632. "gid",
  6633. |m: &Show| { &m.gid },
  6634. |m: &mut Show| { &mut m.gid },
  6635. ));
  6636. fields.push(::protobuf::reflect::accessor::make_singular_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
  6637. "name",
  6638. |m: &Show| { &m.name },
  6639. |m: &mut Show| { &mut m.name },
  6640. ));
  6641. fields.push(::protobuf::reflect::accessor::make_singular_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
  6642. "description",
  6643. |m: &Show| { &m.description },
  6644. |m: &mut Show| { &mut m.description },
  6645. ));
  6646. fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeSint32>(
  6647. "deprecated_popularity",
  6648. |m: &Show| { &m.deprecated_popularity },
  6649. |m: &mut Show| { &mut m.deprecated_popularity },
  6650. ));
  6651. fields.push(::protobuf::reflect::accessor::make_singular_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
  6652. "publisher",
  6653. |m: &Show| { &m.publisher },
  6654. |m: &mut Show| { &mut m.publisher },
  6655. ));
  6656. fields.push(::protobuf::reflect::accessor::make_singular_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
  6657. "language",
  6658. |m: &Show| { &m.language },
  6659. |m: &mut Show| { &mut m.language },
  6660. ));
  6661. fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeBool>(
  6662. "explicit",
  6663. |m: &Show| { &m.explicit },
  6664. |m: &mut Show| { &mut m.explicit },
  6665. ));
  6666. fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<ImageGroup>>(
  6667. "covers",
  6668. |m: &Show| { &m.covers },
  6669. |m: &mut Show| { &mut m.covers },
  6670. ));
  6671. fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<Episode>>(
  6672. "episode",
  6673. |m: &Show| { &m.episode },
  6674. |m: &mut Show| { &mut m.episode },
  6675. ));
  6676. fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<Copyright>>(
  6677. "copyright",
  6678. |m: &Show| { &m.copyright },
  6679. |m: &mut Show| { &mut m.copyright },
  6680. ));
  6681. fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<Restriction>>(
  6682. "restriction",
  6683. |m: &Show| { &m.restriction },
  6684. |m: &mut Show| { &mut m.restriction },
  6685. ));
  6686. fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
  6687. "keyword",
  6688. |m: &Show| { &m.keyword },
  6689. |m: &mut Show| { &mut m.keyword },
  6690. ));
  6691. fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeEnum<Show_MediaType>>(
  6692. "media_type",
  6693. |m: &Show| { &m.media_type },
  6694. |m: &mut Show| { &mut m.media_type },
  6695. ));
  6696. fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeEnum<Show_ConsumptionOrder>>(
  6697. "consumption_order",
  6698. |m: &Show| { &m.consumption_order },
  6699. |m: &mut Show| { &mut m.consumption_order },
  6700. ));
  6701. fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeBool>(
  6702. "interpret_restriction_using_geoip",
  6703. |m: &Show| { &m.interpret_restriction_using_geoip },
  6704. |m: &mut Show| { &mut m.interpret_restriction_using_geoip },
  6705. ));
  6706. fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<Availability>>(
  6707. "availability",
  6708. |m: &Show| { &m.availability },
  6709. |m: &mut Show| { &mut m.availability },
  6710. ));
  6711. fields.push(::protobuf::reflect::accessor::make_singular_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
  6712. "country_of_origin",
  6713. |m: &Show| { &m.country_of_origin },
  6714. |m: &mut Show| { &mut m.country_of_origin },
  6715. ));
  6716. fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<Category>>(
  6717. "categories",
  6718. |m: &Show| { &m.categories },
  6719. |m: &mut Show| { &mut m.categories },
  6720. ));
  6721. fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeEnum<Show_PassthroughEnum>>(
  6722. "passthrough",
  6723. |m: &Show| { &m.passthrough },
  6724. |m: &mut Show| { &mut m.passthrough },
  6725. ));
  6726. ::protobuf::reflect::MessageDescriptor::new::<Show>(
  6727. "Show",
  6728. fields,
  6729. file_descriptor_proto()
  6730. )
  6731. })
  6732. }
  6733. }
  6734. fn default_instance() -> &'static Show {
  6735. static mut instance: ::protobuf::lazy::Lazy<Show> = ::protobuf::lazy::Lazy {
  6736. lock: ::protobuf::lazy::ONCE_INIT,
  6737. ptr: 0 as *const Show,
  6738. };
  6739. unsafe {
  6740. instance.get(Show::new)
  6741. }
  6742. }
  6743. }
  6744. impl ::protobuf::Clear for Show {
  6745. fn clear(&mut self) {
  6746. self.gid.clear();
  6747. self.name.clear();
  6748. self.description.clear();
  6749. self.deprecated_popularity = ::std::option::Option::None;
  6750. self.publisher.clear();
  6751. self.language.clear();
  6752. self.explicit = ::std::option::Option::None;
  6753. self.covers.clear();
  6754. self.episode.clear();
  6755. self.copyright.clear();
  6756. self.restriction.clear();
  6757. self.keyword.clear();
  6758. self.media_type = ::std::option::Option::None;
  6759. self.consumption_order = ::std::option::Option::None;
  6760. self.interpret_restriction_using_geoip = ::std::option::Option::None;
  6761. self.availability.clear();
  6762. self.country_of_origin.clear();
  6763. self.categories.clear();
  6764. self.passthrough = ::std::option::Option::None;
  6765. self.unknown_fields.clear();
  6766. }
  6767. }
  6768. impl ::std::fmt::Debug for Show {
  6769. fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
  6770. ::protobuf::text_format::fmt(self, f)
  6771. }
  6772. }
  6773. impl ::protobuf::reflect::ProtobufValue for Show {
  6774. fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef {
  6775. ::protobuf::reflect::ProtobufValueRef::Message(self)
  6776. }
  6777. }
  6778. #[derive(Clone,PartialEq,Eq,Debug,Hash)]
  6779. pub enum Show_MediaType {
  6780. MIXED = 0,
  6781. AUDIO = 1,
  6782. VIDEO = 2,
  6783. }
  6784. impl ::protobuf::ProtobufEnum for Show_MediaType {
  6785. fn value(&self) -> i32 {
  6786. *self as i32
  6787. }
  6788. fn from_i32(value: i32) -> ::std::option::Option<Show_MediaType> {
  6789. match value {
  6790. 0 => ::std::option::Option::Some(Show_MediaType::MIXED),
  6791. 1 => ::std::option::Option::Some(Show_MediaType::AUDIO),
  6792. 2 => ::std::option::Option::Some(Show_MediaType::VIDEO),
  6793. _ => ::std::option::Option::None
  6794. }
  6795. }
  6796. fn values() -> &'static [Self] {
  6797. static values: &'static [Show_MediaType] = &[
  6798. Show_MediaType::MIXED,
  6799. Show_MediaType::AUDIO,
  6800. Show_MediaType::VIDEO,
  6801. ];
  6802. values
  6803. }
  6804. fn enum_descriptor_static() -> &'static ::protobuf::reflect::EnumDescriptor {
  6805. static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::EnumDescriptor> = ::protobuf::lazy::Lazy {
  6806. lock: ::protobuf::lazy::ONCE_INIT,
  6807. ptr: 0 as *const ::protobuf::reflect::EnumDescriptor,
  6808. };
  6809. unsafe {
  6810. descriptor.get(|| {
  6811. ::protobuf::reflect::EnumDescriptor::new("Show_MediaType", file_descriptor_proto())
  6812. })
  6813. }
  6814. }
  6815. }
  6816. impl ::std::marker::Copy for Show_MediaType {
  6817. }
  6818. impl ::std::default::Default for Show_MediaType {
  6819. fn default() -> Self {
  6820. Show_MediaType::MIXED
  6821. }
  6822. }
  6823. impl ::protobuf::reflect::ProtobufValue for Show_MediaType {
  6824. fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef {
  6825. ::protobuf::reflect::ProtobufValueRef::Enum(self.descriptor())
  6826. }
  6827. }
  6828. #[derive(Clone,PartialEq,Eq,Debug,Hash)]
  6829. pub enum Show_ConsumptionOrder {
  6830. SEQUENTIAL = 1,
  6831. EPISODIC = 2,
  6832. RECENT = 3,
  6833. }
  6834. impl ::protobuf::ProtobufEnum for Show_ConsumptionOrder {
  6835. fn value(&self) -> i32 {
  6836. *self as i32
  6837. }
  6838. fn from_i32(value: i32) -> ::std::option::Option<Show_ConsumptionOrder> {
  6839. match value {
  6840. 1 => ::std::option::Option::Some(Show_ConsumptionOrder::SEQUENTIAL),
  6841. 2 => ::std::option::Option::Some(Show_ConsumptionOrder::EPISODIC),
  6842. 3 => ::std::option::Option::Some(Show_ConsumptionOrder::RECENT),
  6843. _ => ::std::option::Option::None
  6844. }
  6845. }
  6846. fn values() -> &'static [Self] {
  6847. static values: &'static [Show_ConsumptionOrder] = &[
  6848. Show_ConsumptionOrder::SEQUENTIAL,
  6849. Show_ConsumptionOrder::EPISODIC,
  6850. Show_ConsumptionOrder::RECENT,
  6851. ];
  6852. values
  6853. }
  6854. fn enum_descriptor_static() -> &'static ::protobuf::reflect::EnumDescriptor {
  6855. static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::EnumDescriptor> = ::protobuf::lazy::Lazy {
  6856. lock: ::protobuf::lazy::ONCE_INIT,
  6857. ptr: 0 as *const ::protobuf::reflect::EnumDescriptor,
  6858. };
  6859. unsafe {
  6860. descriptor.get(|| {
  6861. ::protobuf::reflect::EnumDescriptor::new("Show_ConsumptionOrder", file_descriptor_proto())
  6862. })
  6863. }
  6864. }
  6865. }
  6866. impl ::std::marker::Copy for Show_ConsumptionOrder {
  6867. }
  6868. // Note, `Default` is implemented although default value is not 0
  6869. impl ::std::default::Default for Show_ConsumptionOrder {
  6870. fn default() -> Self {
  6871. Show_ConsumptionOrder::SEQUENTIAL
  6872. }
  6873. }
  6874. impl ::protobuf::reflect::ProtobufValue for Show_ConsumptionOrder {
  6875. fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef {
  6876. ::protobuf::reflect::ProtobufValueRef::Enum(self.descriptor())
  6877. }
  6878. }
  6879. #[derive(Clone,PartialEq,Eq,Debug,Hash)]
  6880. pub enum Show_PassthroughEnum {
  6881. UNKNOWN = 0,
  6882. NONE = 1,
  6883. ALLOWED = 2,
  6884. }
  6885. impl ::protobuf::ProtobufEnum for Show_PassthroughEnum {
  6886. fn value(&self) -> i32 {
  6887. *self as i32
  6888. }
  6889. fn from_i32(value: i32) -> ::std::option::Option<Show_PassthroughEnum> {
  6890. match value {
  6891. 0 => ::std::option::Option::Some(Show_PassthroughEnum::UNKNOWN),
  6892. 1 => ::std::option::Option::Some(Show_PassthroughEnum::NONE),
  6893. 2 => ::std::option::Option::Some(Show_PassthroughEnum::ALLOWED),
  6894. _ => ::std::option::Option::None
  6895. }
  6896. }
  6897. fn values() -> &'static [Self] {
  6898. static values: &'static [Show_PassthroughEnum] = &[
  6899. Show_PassthroughEnum::UNKNOWN,
  6900. Show_PassthroughEnum::NONE,
  6901. Show_PassthroughEnum::ALLOWED,
  6902. ];
  6903. values
  6904. }
  6905. fn enum_descriptor_static() -> &'static ::protobuf::reflect::EnumDescriptor {
  6906. static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::EnumDescriptor> = ::protobuf::lazy::Lazy {
  6907. lock: ::protobuf::lazy::ONCE_INIT,
  6908. ptr: 0 as *const ::protobuf::reflect::EnumDescriptor,
  6909. };
  6910. unsafe {
  6911. descriptor.get(|| {
  6912. ::protobuf::reflect::EnumDescriptor::new("Show_PassthroughEnum", file_descriptor_proto())
  6913. })
  6914. }
  6915. }
  6916. }
  6917. impl ::std::marker::Copy for Show_PassthroughEnum {
  6918. }
  6919. impl ::std::default::Default for Show_PassthroughEnum {
  6920. fn default() -> Self {
  6921. Show_PassthroughEnum::UNKNOWN
  6922. }
  6923. }
  6924. impl ::protobuf::reflect::ProtobufValue for Show_PassthroughEnum {
  6925. fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef {
  6926. ::protobuf::reflect::ProtobufValueRef::Enum(self.descriptor())
  6927. }
  6928. }
  6929. #[derive(PartialEq,Clone,Default)]
  6930. pub struct Episode {
  6931. // message fields
  6932. gid: ::protobuf::SingularField<::std::vec::Vec<u8>>,
  6933. name: ::protobuf::SingularField<::std::string::String>,
  6934. duration: ::std::option::Option<i32>,
  6935. popularity: ::std::option::Option<i32>,
  6936. file: ::protobuf::RepeatedField<AudioFile>,
  6937. description: ::protobuf::SingularField<::std::string::String>,
  6938. number: ::std::option::Option<i32>,
  6939. publish_time: ::protobuf::SingularPtrField<Date>,
  6940. deprecated_popularity: ::std::option::Option<i32>,
  6941. covers: ::protobuf::SingularPtrField<ImageGroup>,
  6942. language: ::protobuf::SingularField<::std::string::String>,
  6943. explicit: ::std::option::Option<bool>,
  6944. show: ::protobuf::SingularPtrField<Show>,
  6945. video: ::protobuf::RepeatedField<VideoFile>,
  6946. video_preview: ::protobuf::RepeatedField<VideoFile>,
  6947. audio_preview: ::protobuf::RepeatedField<AudioFile>,
  6948. restriction: ::protobuf::RepeatedField<Restriction>,
  6949. freeze_frame: ::protobuf::SingularPtrField<ImageGroup>,
  6950. keyword: ::protobuf::RepeatedField<::std::string::String>,
  6951. suppress_monetization: ::std::option::Option<bool>,
  6952. interpret_restriction_using_geoip: ::std::option::Option<bool>,
  6953. allow_background_playback: ::std::option::Option<bool>,
  6954. availability: ::protobuf::RepeatedField<Availability>,
  6955. external_url: ::protobuf::SingularField<::std::string::String>,
  6956. original_audio: ::protobuf::SingularPtrField<OriginalAudio>,
  6957. // special fields
  6958. pub unknown_fields: ::protobuf::UnknownFields,
  6959. pub cached_size: ::protobuf::CachedSize,
  6960. }
  6961. impl<'a> ::std::default::Default for &'a Episode {
  6962. fn default() -> &'a Episode {
  6963. <Episode as ::protobuf::Message>::default_instance()
  6964. }
  6965. }
  6966. impl Episode {
  6967. pub fn new() -> Episode {
  6968. ::std::default::Default::default()
  6969. }
  6970. // optional bytes gid = 1;
  6971. pub fn get_gid(&self) -> &[u8] {
  6972. match self.gid.as_ref() {
  6973. Some(v) => &v,
  6974. None => &[],
  6975. }
  6976. }
  6977. pub fn clear_gid(&mut self) {
  6978. self.gid.clear();
  6979. }
  6980. pub fn has_gid(&self) -> bool {
  6981. self.gid.is_some()
  6982. }
  6983. // Param is passed by value, moved
  6984. pub fn set_gid(&mut self, v: ::std::vec::Vec<u8>) {
  6985. self.gid = ::protobuf::SingularField::some(v);
  6986. }
  6987. // Mutable pointer to the field.
  6988. // If field is not initialized, it is initialized with default value first.
  6989. pub fn mut_gid(&mut self) -> &mut ::std::vec::Vec<u8> {
  6990. if self.gid.is_none() {
  6991. self.gid.set_default();
  6992. }
  6993. self.gid.as_mut().unwrap()
  6994. }
  6995. // Take field
  6996. pub fn take_gid(&mut self) -> ::std::vec::Vec<u8> {
  6997. self.gid.take().unwrap_or_else(|| ::std::vec::Vec::new())
  6998. }
  6999. // optional string name = 2;
  7000. pub fn get_name(&self) -> &str {
  7001. match self.name.as_ref() {
  7002. Some(v) => &v,
  7003. None => "",
  7004. }
  7005. }
  7006. pub fn clear_name(&mut self) {
  7007. self.name.clear();
  7008. }
  7009. pub fn has_name(&self) -> bool {
  7010. self.name.is_some()
  7011. }
  7012. // Param is passed by value, moved
  7013. pub fn set_name(&mut self, v: ::std::string::String) {
  7014. self.name = ::protobuf::SingularField::some(v);
  7015. }
  7016. // Mutable pointer to the field.
  7017. // If field is not initialized, it is initialized with default value first.
  7018. pub fn mut_name(&mut self) -> &mut ::std::string::String {
  7019. if self.name.is_none() {
  7020. self.name.set_default();
  7021. }
  7022. self.name.as_mut().unwrap()
  7023. }
  7024. // Take field
  7025. pub fn take_name(&mut self) -> ::std::string::String {
  7026. self.name.take().unwrap_or_else(|| ::std::string::String::new())
  7027. }
  7028. // optional sint32 duration = 7;
  7029. pub fn get_duration(&self) -> i32 {
  7030. self.duration.unwrap_or(0)
  7031. }
  7032. pub fn clear_duration(&mut self) {
  7033. self.duration = ::std::option::Option::None;
  7034. }
  7035. pub fn has_duration(&self) -> bool {
  7036. self.duration.is_some()
  7037. }
  7038. // Param is passed by value, moved
  7039. pub fn set_duration(&mut self, v: i32) {
  7040. self.duration = ::std::option::Option::Some(v);
  7041. }
  7042. // optional sint32 popularity = 8;
  7043. pub fn get_popularity(&self) -> i32 {
  7044. self.popularity.unwrap_or(0)
  7045. }
  7046. pub fn clear_popularity(&mut self) {
  7047. self.popularity = ::std::option::Option::None;
  7048. }
  7049. pub fn has_popularity(&self) -> bool {
  7050. self.popularity.is_some()
  7051. }
  7052. // Param is passed by value, moved
  7053. pub fn set_popularity(&mut self, v: i32) {
  7054. self.popularity = ::std::option::Option::Some(v);
  7055. }
  7056. // repeated .AudioFile file = 12;
  7057. pub fn get_file(&self) -> &[AudioFile] {
  7058. &self.file
  7059. }
  7060. pub fn clear_file(&mut self) {
  7061. self.file.clear();
  7062. }
  7063. // Param is passed by value, moved
  7064. pub fn set_file(&mut self, v: ::protobuf::RepeatedField<AudioFile>) {
  7065. self.file = v;
  7066. }
  7067. // Mutable pointer to the field.
  7068. pub fn mut_file(&mut self) -> &mut ::protobuf::RepeatedField<AudioFile> {
  7069. &mut self.file
  7070. }
  7071. // Take field
  7072. pub fn take_file(&mut self) -> ::protobuf::RepeatedField<AudioFile> {
  7073. ::std::mem::replace(&mut self.file, ::protobuf::RepeatedField::new())
  7074. }
  7075. // optional string description = 64;
  7076. pub fn get_description(&self) -> &str {
  7077. match self.description.as_ref() {
  7078. Some(v) => &v,
  7079. None => "",
  7080. }
  7081. }
  7082. pub fn clear_description(&mut self) {
  7083. self.description.clear();
  7084. }
  7085. pub fn has_description(&self) -> bool {
  7086. self.description.is_some()
  7087. }
  7088. // Param is passed by value, moved
  7089. pub fn set_description(&mut self, v: ::std::string::String) {
  7090. self.description = ::protobuf::SingularField::some(v);
  7091. }
  7092. // Mutable pointer to the field.
  7093. // If field is not initialized, it is initialized with default value first.
  7094. pub fn mut_description(&mut self) -> &mut ::std::string::String {
  7095. if self.description.is_none() {
  7096. self.description.set_default();
  7097. }
  7098. self.description.as_mut().unwrap()
  7099. }
  7100. // Take field
  7101. pub fn take_description(&mut self) -> ::std::string::String {
  7102. self.description.take().unwrap_or_else(|| ::std::string::String::new())
  7103. }
  7104. // optional sint32 number = 65;
  7105. pub fn get_number(&self) -> i32 {
  7106. self.number.unwrap_or(0)
  7107. }
  7108. pub fn clear_number(&mut self) {
  7109. self.number = ::std::option::Option::None;
  7110. }
  7111. pub fn has_number(&self) -> bool {
  7112. self.number.is_some()
  7113. }
  7114. // Param is passed by value, moved
  7115. pub fn set_number(&mut self, v: i32) {
  7116. self.number = ::std::option::Option::Some(v);
  7117. }
  7118. // optional .Date publish_time = 66;
  7119. pub fn get_publish_time(&self) -> &Date {
  7120. self.publish_time.as_ref().unwrap_or_else(|| Date::default_instance())
  7121. }
  7122. pub fn clear_publish_time(&mut self) {
  7123. self.publish_time.clear();
  7124. }
  7125. pub fn has_publish_time(&self) -> bool {
  7126. self.publish_time.is_some()
  7127. }
  7128. // Param is passed by value, moved
  7129. pub fn set_publish_time(&mut self, v: Date) {
  7130. self.publish_time = ::protobuf::SingularPtrField::some(v);
  7131. }
  7132. // Mutable pointer to the field.
  7133. // If field is not initialized, it is initialized with default value first.
  7134. pub fn mut_publish_time(&mut self) -> &mut Date {
  7135. if self.publish_time.is_none() {
  7136. self.publish_time.set_default();
  7137. }
  7138. self.publish_time.as_mut().unwrap()
  7139. }
  7140. // Take field
  7141. pub fn take_publish_time(&mut self) -> Date {
  7142. self.publish_time.take().unwrap_or_else(|| Date::new())
  7143. }
  7144. // optional sint32 deprecated_popularity = 67;
  7145. pub fn get_deprecated_popularity(&self) -> i32 {
  7146. self.deprecated_popularity.unwrap_or(0)
  7147. }
  7148. pub fn clear_deprecated_popularity(&mut self) {
  7149. self.deprecated_popularity = ::std::option::Option::None;
  7150. }
  7151. pub fn has_deprecated_popularity(&self) -> bool {
  7152. self.deprecated_popularity.is_some()
  7153. }
  7154. // Param is passed by value, moved
  7155. pub fn set_deprecated_popularity(&mut self, v: i32) {
  7156. self.deprecated_popularity = ::std::option::Option::Some(v);
  7157. }
  7158. // optional .ImageGroup covers = 68;
  7159. pub fn get_covers(&self) -> &ImageGroup {
  7160. self.covers.as_ref().unwrap_or_else(|| ImageGroup::default_instance())
  7161. }
  7162. pub fn clear_covers(&mut self) {
  7163. self.covers.clear();
  7164. }
  7165. pub fn has_covers(&self) -> bool {
  7166. self.covers.is_some()
  7167. }
  7168. // Param is passed by value, moved
  7169. pub fn set_covers(&mut self, v: ImageGroup) {
  7170. self.covers = ::protobuf::SingularPtrField::some(v);
  7171. }
  7172. // Mutable pointer to the field.
  7173. // If field is not initialized, it is initialized with default value first.
  7174. pub fn mut_covers(&mut self) -> &mut ImageGroup {
  7175. if self.covers.is_none() {
  7176. self.covers.set_default();
  7177. }
  7178. self.covers.as_mut().unwrap()
  7179. }
  7180. // Take field
  7181. pub fn take_covers(&mut self) -> ImageGroup {
  7182. self.covers.take().unwrap_or_else(|| ImageGroup::new())
  7183. }
  7184. // optional string language = 69;
  7185. pub fn get_language(&self) -> &str {
  7186. match self.language.as_ref() {
  7187. Some(v) => &v,
  7188. None => "",
  7189. }
  7190. }
  7191. pub fn clear_language(&mut self) {
  7192. self.language.clear();
  7193. }
  7194. pub fn has_language(&self) -> bool {
  7195. self.language.is_some()
  7196. }
  7197. // Param is passed by value, moved
  7198. pub fn set_language(&mut self, v: ::std::string::String) {
  7199. self.language = ::protobuf::SingularField::some(v);
  7200. }
  7201. // Mutable pointer to the field.
  7202. // If field is not initialized, it is initialized with default value first.
  7203. pub fn mut_language(&mut self) -> &mut ::std::string::String {
  7204. if self.language.is_none() {
  7205. self.language.set_default();
  7206. }
  7207. self.language.as_mut().unwrap()
  7208. }
  7209. // Take field
  7210. pub fn take_language(&mut self) -> ::std::string::String {
  7211. self.language.take().unwrap_or_else(|| ::std::string::String::new())
  7212. }
  7213. // optional bool explicit = 70;
  7214. pub fn get_explicit(&self) -> bool {
  7215. self.explicit.unwrap_or(false)
  7216. }
  7217. pub fn clear_explicit(&mut self) {
  7218. self.explicit = ::std::option::Option::None;
  7219. }
  7220. pub fn has_explicit(&self) -> bool {
  7221. self.explicit.is_some()
  7222. }
  7223. // Param is passed by value, moved
  7224. pub fn set_explicit(&mut self, v: bool) {
  7225. self.explicit = ::std::option::Option::Some(v);
  7226. }
  7227. // optional .Show show = 71;
  7228. pub fn get_show(&self) -> &Show {
  7229. self.show.as_ref().unwrap_or_else(|| Show::default_instance())
  7230. }
  7231. pub fn clear_show(&mut self) {
  7232. self.show.clear();
  7233. }
  7234. pub fn has_show(&self) -> bool {
  7235. self.show.is_some()
  7236. }
  7237. // Param is passed by value, moved
  7238. pub fn set_show(&mut self, v: Show) {
  7239. self.show = ::protobuf::SingularPtrField::some(v);
  7240. }
  7241. // Mutable pointer to the field.
  7242. // If field is not initialized, it is initialized with default value first.
  7243. pub fn mut_show(&mut self) -> &mut Show {
  7244. if self.show.is_none() {
  7245. self.show.set_default();
  7246. }
  7247. self.show.as_mut().unwrap()
  7248. }
  7249. // Take field
  7250. pub fn take_show(&mut self) -> Show {
  7251. self.show.take().unwrap_or_else(|| Show::new())
  7252. }
  7253. // repeated .VideoFile video = 72;
  7254. pub fn get_video(&self) -> &[VideoFile] {
  7255. &self.video
  7256. }
  7257. pub fn clear_video(&mut self) {
  7258. self.video.clear();
  7259. }
  7260. // Param is passed by value, moved
  7261. pub fn set_video(&mut self, v: ::protobuf::RepeatedField<VideoFile>) {
  7262. self.video = v;
  7263. }
  7264. // Mutable pointer to the field.
  7265. pub fn mut_video(&mut self) -> &mut ::protobuf::RepeatedField<VideoFile> {
  7266. &mut self.video
  7267. }
  7268. // Take field
  7269. pub fn take_video(&mut self) -> ::protobuf::RepeatedField<VideoFile> {
  7270. ::std::mem::replace(&mut self.video, ::protobuf::RepeatedField::new())
  7271. }
  7272. // repeated .VideoFile video_preview = 73;
  7273. pub fn get_video_preview(&self) -> &[VideoFile] {
  7274. &self.video_preview
  7275. }
  7276. pub fn clear_video_preview(&mut self) {
  7277. self.video_preview.clear();
  7278. }
  7279. // Param is passed by value, moved
  7280. pub fn set_video_preview(&mut self, v: ::protobuf::RepeatedField<VideoFile>) {
  7281. self.video_preview = v;
  7282. }
  7283. // Mutable pointer to the field.
  7284. pub fn mut_video_preview(&mut self) -> &mut ::protobuf::RepeatedField<VideoFile> {
  7285. &mut self.video_preview
  7286. }
  7287. // Take field
  7288. pub fn take_video_preview(&mut self) -> ::protobuf::RepeatedField<VideoFile> {
  7289. ::std::mem::replace(&mut self.video_preview, ::protobuf::RepeatedField::new())
  7290. }
  7291. // repeated .AudioFile audio_preview = 74;
  7292. pub fn get_audio_preview(&self) -> &[AudioFile] {
  7293. &self.audio_preview
  7294. }
  7295. pub fn clear_audio_preview(&mut self) {
  7296. self.audio_preview.clear();
  7297. }
  7298. // Param is passed by value, moved
  7299. pub fn set_audio_preview(&mut self, v: ::protobuf::RepeatedField<AudioFile>) {
  7300. self.audio_preview = v;
  7301. }
  7302. // Mutable pointer to the field.
  7303. pub fn mut_audio_preview(&mut self) -> &mut ::protobuf::RepeatedField<AudioFile> {
  7304. &mut self.audio_preview
  7305. }
  7306. // Take field
  7307. pub fn take_audio_preview(&mut self) -> ::protobuf::RepeatedField<AudioFile> {
  7308. ::std::mem::replace(&mut self.audio_preview, ::protobuf::RepeatedField::new())
  7309. }
  7310. // repeated .Restriction restriction = 75;
  7311. pub fn get_restriction(&self) -> &[Restriction] {
  7312. &self.restriction
  7313. }
  7314. pub fn clear_restriction(&mut self) {
  7315. self.restriction.clear();
  7316. }
  7317. // Param is passed by value, moved
  7318. pub fn set_restriction(&mut self, v: ::protobuf::RepeatedField<Restriction>) {
  7319. self.restriction = v;
  7320. }
  7321. // Mutable pointer to the field.
  7322. pub fn mut_restriction(&mut self) -> &mut ::protobuf::RepeatedField<Restriction> {
  7323. &mut self.restriction
  7324. }
  7325. // Take field
  7326. pub fn take_restriction(&mut self) -> ::protobuf::RepeatedField<Restriction> {
  7327. ::std::mem::replace(&mut self.restriction, ::protobuf::RepeatedField::new())
  7328. }
  7329. // optional .ImageGroup freeze_frame = 76;
  7330. pub fn get_freeze_frame(&self) -> &ImageGroup {
  7331. self.freeze_frame.as_ref().unwrap_or_else(|| ImageGroup::default_instance())
  7332. }
  7333. pub fn clear_freeze_frame(&mut self) {
  7334. self.freeze_frame.clear();
  7335. }
  7336. pub fn has_freeze_frame(&self) -> bool {
  7337. self.freeze_frame.is_some()
  7338. }
  7339. // Param is passed by value, moved
  7340. pub fn set_freeze_frame(&mut self, v: ImageGroup) {
  7341. self.freeze_frame = ::protobuf::SingularPtrField::some(v);
  7342. }
  7343. // Mutable pointer to the field.
  7344. // If field is not initialized, it is initialized with default value first.
  7345. pub fn mut_freeze_frame(&mut self) -> &mut ImageGroup {
  7346. if self.freeze_frame.is_none() {
  7347. self.freeze_frame.set_default();
  7348. }
  7349. self.freeze_frame.as_mut().unwrap()
  7350. }
  7351. // Take field
  7352. pub fn take_freeze_frame(&mut self) -> ImageGroup {
  7353. self.freeze_frame.take().unwrap_or_else(|| ImageGroup::new())
  7354. }
  7355. // repeated string keyword = 77;
  7356. pub fn get_keyword(&self) -> &[::std::string::String] {
  7357. &self.keyword
  7358. }
  7359. pub fn clear_keyword(&mut self) {
  7360. self.keyword.clear();
  7361. }
  7362. // Param is passed by value, moved
  7363. pub fn set_keyword(&mut self, v: ::protobuf::RepeatedField<::std::string::String>) {
  7364. self.keyword = v;
  7365. }
  7366. // Mutable pointer to the field.
  7367. pub fn mut_keyword(&mut self) -> &mut ::protobuf::RepeatedField<::std::string::String> {
  7368. &mut self.keyword
  7369. }
  7370. // Take field
  7371. pub fn take_keyword(&mut self) -> ::protobuf::RepeatedField<::std::string::String> {
  7372. ::std::mem::replace(&mut self.keyword, ::protobuf::RepeatedField::new())
  7373. }
  7374. // optional bool suppress_monetization = 78;
  7375. pub fn get_suppress_monetization(&self) -> bool {
  7376. self.suppress_monetization.unwrap_or(false)
  7377. }
  7378. pub fn clear_suppress_monetization(&mut self) {
  7379. self.suppress_monetization = ::std::option::Option::None;
  7380. }
  7381. pub fn has_suppress_monetization(&self) -> bool {
  7382. self.suppress_monetization.is_some()
  7383. }
  7384. // Param is passed by value, moved
  7385. pub fn set_suppress_monetization(&mut self, v: bool) {
  7386. self.suppress_monetization = ::std::option::Option::Some(v);
  7387. }
  7388. // optional bool interpret_restriction_using_geoip = 79;
  7389. pub fn get_interpret_restriction_using_geoip(&self) -> bool {
  7390. self.interpret_restriction_using_geoip.unwrap_or(false)
  7391. }
  7392. pub fn clear_interpret_restriction_using_geoip(&mut self) {
  7393. self.interpret_restriction_using_geoip = ::std::option::Option::None;
  7394. }
  7395. pub fn has_interpret_restriction_using_geoip(&self) -> bool {
  7396. self.interpret_restriction_using_geoip.is_some()
  7397. }
  7398. // Param is passed by value, moved
  7399. pub fn set_interpret_restriction_using_geoip(&mut self, v: bool) {
  7400. self.interpret_restriction_using_geoip = ::std::option::Option::Some(v);
  7401. }
  7402. // optional bool allow_background_playback = 81;
  7403. pub fn get_allow_background_playback(&self) -> bool {
  7404. self.allow_background_playback.unwrap_or(false)
  7405. }
  7406. pub fn clear_allow_background_playback(&mut self) {
  7407. self.allow_background_playback = ::std::option::Option::None;
  7408. }
  7409. pub fn has_allow_background_playback(&self) -> bool {
  7410. self.allow_background_playback.is_some()
  7411. }
  7412. // Param is passed by value, moved
  7413. pub fn set_allow_background_playback(&mut self, v: bool) {
  7414. self.allow_background_playback = ::std::option::Option::Some(v);
  7415. }
  7416. // repeated .Availability availability = 82;
  7417. pub fn get_availability(&self) -> &[Availability] {
  7418. &self.availability
  7419. }
  7420. pub fn clear_availability(&mut self) {
  7421. self.availability.clear();
  7422. }
  7423. // Param is passed by value, moved
  7424. pub fn set_availability(&mut self, v: ::protobuf::RepeatedField<Availability>) {
  7425. self.availability = v;
  7426. }
  7427. // Mutable pointer to the field.
  7428. pub fn mut_availability(&mut self) -> &mut ::protobuf::RepeatedField<Availability> {
  7429. &mut self.availability
  7430. }
  7431. // Take field
  7432. pub fn take_availability(&mut self) -> ::protobuf::RepeatedField<Availability> {
  7433. ::std::mem::replace(&mut self.availability, ::protobuf::RepeatedField::new())
  7434. }
  7435. // optional string external_url = 83;
  7436. pub fn get_external_url(&self) -> &str {
  7437. match self.external_url.as_ref() {
  7438. Some(v) => &v,
  7439. None => "",
  7440. }
  7441. }
  7442. pub fn clear_external_url(&mut self) {
  7443. self.external_url.clear();
  7444. }
  7445. pub fn has_external_url(&self) -> bool {
  7446. self.external_url.is_some()
  7447. }
  7448. // Param is passed by value, moved
  7449. pub fn set_external_url(&mut self, v: ::std::string::String) {
  7450. self.external_url = ::protobuf::SingularField::some(v);
  7451. }
  7452. // Mutable pointer to the field.
  7453. // If field is not initialized, it is initialized with default value first.
  7454. pub fn mut_external_url(&mut self) -> &mut ::std::string::String {
  7455. if self.external_url.is_none() {
  7456. self.external_url.set_default();
  7457. }
  7458. self.external_url.as_mut().unwrap()
  7459. }
  7460. // Take field
  7461. pub fn take_external_url(&mut self) -> ::std::string::String {
  7462. self.external_url.take().unwrap_or_else(|| ::std::string::String::new())
  7463. }
  7464. // optional .OriginalAudio original_audio = 84;
  7465. pub fn get_original_audio(&self) -> &OriginalAudio {
  7466. self.original_audio.as_ref().unwrap_or_else(|| OriginalAudio::default_instance())
  7467. }
  7468. pub fn clear_original_audio(&mut self) {
  7469. self.original_audio.clear();
  7470. }
  7471. pub fn has_original_audio(&self) -> bool {
  7472. self.original_audio.is_some()
  7473. }
  7474. // Param is passed by value, moved
  7475. pub fn set_original_audio(&mut self, v: OriginalAudio) {
  7476. self.original_audio = ::protobuf::SingularPtrField::some(v);
  7477. }
  7478. // Mutable pointer to the field.
  7479. // If field is not initialized, it is initialized with default value first.
  7480. pub fn mut_original_audio(&mut self) -> &mut OriginalAudio {
  7481. if self.original_audio.is_none() {
  7482. self.original_audio.set_default();
  7483. }
  7484. self.original_audio.as_mut().unwrap()
  7485. }
  7486. // Take field
  7487. pub fn take_original_audio(&mut self) -> OriginalAudio {
  7488. self.original_audio.take().unwrap_or_else(|| OriginalAudio::new())
  7489. }
  7490. }
  7491. impl ::protobuf::Message for Episode {
  7492. fn is_initialized(&self) -> bool {
  7493. for v in &self.file {
  7494. if !v.is_initialized() {
  7495. return false;
  7496. }
  7497. };
  7498. for v in &self.publish_time {
  7499. if !v.is_initialized() {
  7500. return false;
  7501. }
  7502. };
  7503. for v in &self.covers {
  7504. if !v.is_initialized() {
  7505. return false;
  7506. }
  7507. };
  7508. for v in &self.show {
  7509. if !v.is_initialized() {
  7510. return false;
  7511. }
  7512. };
  7513. for v in &self.video {
  7514. if !v.is_initialized() {
  7515. return false;
  7516. }
  7517. };
  7518. for v in &self.video_preview {
  7519. if !v.is_initialized() {
  7520. return false;
  7521. }
  7522. };
  7523. for v in &self.audio_preview {
  7524. if !v.is_initialized() {
  7525. return false;
  7526. }
  7527. };
  7528. for v in &self.restriction {
  7529. if !v.is_initialized() {
  7530. return false;
  7531. }
  7532. };
  7533. for v in &self.freeze_frame {
  7534. if !v.is_initialized() {
  7535. return false;
  7536. }
  7537. };
  7538. for v in &self.availability {
  7539. if !v.is_initialized() {
  7540. return false;
  7541. }
  7542. };
  7543. for v in &self.original_audio {
  7544. if !v.is_initialized() {
  7545. return false;
  7546. }
  7547. };
  7548. true
  7549. }
  7550. fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
  7551. while !is.eof()? {
  7552. let (field_number, wire_type) = is.read_tag_unpack()?;
  7553. match field_number {
  7554. 1 => {
  7555. ::protobuf::rt::read_singular_bytes_into(wire_type, is, &mut self.gid)?;
  7556. },
  7557. 2 => {
  7558. ::protobuf::rt::read_singular_string_into(wire_type, is, &mut self.name)?;
  7559. },
  7560. 7 => {
  7561. if wire_type != ::protobuf::wire_format::WireTypeVarint {
  7562. return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
  7563. }
  7564. let tmp = is.read_sint32()?;
  7565. self.duration = ::std::option::Option::Some(tmp);
  7566. },
  7567. 8 => {
  7568. if wire_type != ::protobuf::wire_format::WireTypeVarint {
  7569. return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
  7570. }
  7571. let tmp = is.read_sint32()?;
  7572. self.popularity = ::std::option::Option::Some(tmp);
  7573. },
  7574. 12 => {
  7575. ::protobuf::rt::read_repeated_message_into(wire_type, is, &mut self.file)?;
  7576. },
  7577. 64 => {
  7578. ::protobuf::rt::read_singular_string_into(wire_type, is, &mut self.description)?;
  7579. },
  7580. 65 => {
  7581. if wire_type != ::protobuf::wire_format::WireTypeVarint {
  7582. return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
  7583. }
  7584. let tmp = is.read_sint32()?;
  7585. self.number = ::std::option::Option::Some(tmp);
  7586. },
  7587. 66 => {
  7588. ::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.publish_time)?;
  7589. },
  7590. 67 => {
  7591. if wire_type != ::protobuf::wire_format::WireTypeVarint {
  7592. return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
  7593. }
  7594. let tmp = is.read_sint32()?;
  7595. self.deprecated_popularity = ::std::option::Option::Some(tmp);
  7596. },
  7597. 68 => {
  7598. ::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.covers)?;
  7599. },
  7600. 69 => {
  7601. ::protobuf::rt::read_singular_string_into(wire_type, is, &mut self.language)?;
  7602. },
  7603. 70 => {
  7604. if wire_type != ::protobuf::wire_format::WireTypeVarint {
  7605. return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
  7606. }
  7607. let tmp = is.read_bool()?;
  7608. self.explicit = ::std::option::Option::Some(tmp);
  7609. },
  7610. 71 => {
  7611. ::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.show)?;
  7612. },
  7613. 72 => {
  7614. ::protobuf::rt::read_repeated_message_into(wire_type, is, &mut self.video)?;
  7615. },
  7616. 73 => {
  7617. ::protobuf::rt::read_repeated_message_into(wire_type, is, &mut self.video_preview)?;
  7618. },
  7619. 74 => {
  7620. ::protobuf::rt::read_repeated_message_into(wire_type, is, &mut self.audio_preview)?;
  7621. },
  7622. 75 => {
  7623. ::protobuf::rt::read_repeated_message_into(wire_type, is, &mut self.restriction)?;
  7624. },
  7625. 76 => {
  7626. ::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.freeze_frame)?;
  7627. },
  7628. 77 => {
  7629. ::protobuf::rt::read_repeated_string_into(wire_type, is, &mut self.keyword)?;
  7630. },
  7631. 78 => {
  7632. if wire_type != ::protobuf::wire_format::WireTypeVarint {
  7633. return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
  7634. }
  7635. let tmp = is.read_bool()?;
  7636. self.suppress_monetization = ::std::option::Option::Some(tmp);
  7637. },
  7638. 79 => {
  7639. if wire_type != ::protobuf::wire_format::WireTypeVarint {
  7640. return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
  7641. }
  7642. let tmp = is.read_bool()?;
  7643. self.interpret_restriction_using_geoip = ::std::option::Option::Some(tmp);
  7644. },
  7645. 81 => {
  7646. if wire_type != ::protobuf::wire_format::WireTypeVarint {
  7647. return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
  7648. }
  7649. let tmp = is.read_bool()?;
  7650. self.allow_background_playback = ::std::option::Option::Some(tmp);
  7651. },
  7652. 82 => {
  7653. ::protobuf::rt::read_repeated_message_into(wire_type, is, &mut self.availability)?;
  7654. },
  7655. 83 => {
  7656. ::protobuf::rt::read_singular_string_into(wire_type, is, &mut self.external_url)?;
  7657. },
  7658. 84 => {
  7659. ::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.original_audio)?;
  7660. },
  7661. _ => {
  7662. ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
  7663. },
  7664. };
  7665. }
  7666. ::std::result::Result::Ok(())
  7667. }
  7668. // Compute sizes of nested messages
  7669. #[allow(unused_variables)]
  7670. fn compute_size(&self) -> u32 {
  7671. let mut my_size = 0;
  7672. if let Some(ref v) = self.gid.as_ref() {
  7673. my_size += ::protobuf::rt::bytes_size(1, &v);
  7674. }
  7675. if let Some(ref v) = self.name.as_ref() {
  7676. my_size += ::protobuf::rt::string_size(2, &v);
  7677. }
  7678. if let Some(v) = self.duration {
  7679. my_size += ::protobuf::rt::value_varint_zigzag_size(7, v);
  7680. }
  7681. if let Some(v) = self.popularity {
  7682. my_size += ::protobuf::rt::value_varint_zigzag_size(8, v);
  7683. }
  7684. for value in &self.file {
  7685. let len = value.compute_size();
  7686. my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
  7687. };
  7688. if let Some(ref v) = self.description.as_ref() {
  7689. my_size += ::protobuf::rt::string_size(64, &v);
  7690. }
  7691. if let Some(v) = self.number {
  7692. my_size += ::protobuf::rt::value_varint_zigzag_size(65, v);
  7693. }
  7694. if let Some(ref v) = self.publish_time.as_ref() {
  7695. let len = v.compute_size();
  7696. my_size += 2 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
  7697. }
  7698. if let Some(v) = self.deprecated_popularity {
  7699. my_size += ::protobuf::rt::value_varint_zigzag_size(67, v);
  7700. }
  7701. if let Some(ref v) = self.covers.as_ref() {
  7702. let len = v.compute_size();
  7703. my_size += 2 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
  7704. }
  7705. if let Some(ref v) = self.language.as_ref() {
  7706. my_size += ::protobuf::rt::string_size(69, &v);
  7707. }
  7708. if let Some(v) = self.explicit {
  7709. my_size += 3;
  7710. }
  7711. if let Some(ref v) = self.show.as_ref() {
  7712. let len = v.compute_size();
  7713. my_size += 2 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
  7714. }
  7715. for value in &self.video {
  7716. let len = value.compute_size();
  7717. my_size += 2 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
  7718. };
  7719. for value in &self.video_preview {
  7720. let len = value.compute_size();
  7721. my_size += 2 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
  7722. };
  7723. for value in &self.audio_preview {
  7724. let len = value.compute_size();
  7725. my_size += 2 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
  7726. };
  7727. for value in &self.restriction {
  7728. let len = value.compute_size();
  7729. my_size += 2 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
  7730. };
  7731. if let Some(ref v) = self.freeze_frame.as_ref() {
  7732. let len = v.compute_size();
  7733. my_size += 2 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
  7734. }
  7735. for value in &self.keyword {
  7736. my_size += ::protobuf::rt::string_size(77, &value);
  7737. };
  7738. if let Some(v) = self.suppress_monetization {
  7739. my_size += 3;
  7740. }
  7741. if let Some(v) = self.interpret_restriction_using_geoip {
  7742. my_size += 3;
  7743. }
  7744. if let Some(v) = self.allow_background_playback {
  7745. my_size += 3;
  7746. }
  7747. for value in &self.availability {
  7748. let len = value.compute_size();
  7749. my_size += 2 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
  7750. };
  7751. if let Some(ref v) = self.external_url.as_ref() {
  7752. my_size += ::protobuf::rt::string_size(83, &v);
  7753. }
  7754. if let Some(ref v) = self.original_audio.as_ref() {
  7755. let len = v.compute_size();
  7756. my_size += 2 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
  7757. }
  7758. my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
  7759. self.cached_size.set(my_size);
  7760. my_size
  7761. }
  7762. fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
  7763. if let Some(ref v) = self.gid.as_ref() {
  7764. os.write_bytes(1, &v)?;
  7765. }
  7766. if let Some(ref v) = self.name.as_ref() {
  7767. os.write_string(2, &v)?;
  7768. }
  7769. if let Some(v) = self.duration {
  7770. os.write_sint32(7, v)?;
  7771. }
  7772. if let Some(v) = self.popularity {
  7773. os.write_sint32(8, v)?;
  7774. }
  7775. for v in &self.file {
  7776. os.write_tag(12, ::protobuf::wire_format::WireTypeLengthDelimited)?;
  7777. os.write_raw_varint32(v.get_cached_size())?;
  7778. v.write_to_with_cached_sizes(os)?;
  7779. };
  7780. if let Some(ref v) = self.description.as_ref() {
  7781. os.write_string(64, &v)?;
  7782. }
  7783. if let Some(v) = self.number {
  7784. os.write_sint32(65, v)?;
  7785. }
  7786. if let Some(ref v) = self.publish_time.as_ref() {
  7787. os.write_tag(66, ::protobuf::wire_format::WireTypeLengthDelimited)?;
  7788. os.write_raw_varint32(v.get_cached_size())?;
  7789. v.write_to_with_cached_sizes(os)?;
  7790. }
  7791. if let Some(v) = self.deprecated_popularity {
  7792. os.write_sint32(67, v)?;
  7793. }
  7794. if let Some(ref v) = self.covers.as_ref() {
  7795. os.write_tag(68, ::protobuf::wire_format::WireTypeLengthDelimited)?;
  7796. os.write_raw_varint32(v.get_cached_size())?;
  7797. v.write_to_with_cached_sizes(os)?;
  7798. }
  7799. if let Some(ref v) = self.language.as_ref() {
  7800. os.write_string(69, &v)?;
  7801. }
  7802. if let Some(v) = self.explicit {
  7803. os.write_bool(70, v)?;
  7804. }
  7805. if let Some(ref v) = self.show.as_ref() {
  7806. os.write_tag(71, ::protobuf::wire_format::WireTypeLengthDelimited)?;
  7807. os.write_raw_varint32(v.get_cached_size())?;
  7808. v.write_to_with_cached_sizes(os)?;
  7809. }
  7810. for v in &self.video {
  7811. os.write_tag(72, ::protobuf::wire_format::WireTypeLengthDelimited)?;
  7812. os.write_raw_varint32(v.get_cached_size())?;
  7813. v.write_to_with_cached_sizes(os)?;
  7814. };
  7815. for v in &self.video_preview {
  7816. os.write_tag(73, ::protobuf::wire_format::WireTypeLengthDelimited)?;
  7817. os.write_raw_varint32(v.get_cached_size())?;
  7818. v.write_to_with_cached_sizes(os)?;
  7819. };
  7820. for v in &self.audio_preview {
  7821. os.write_tag(74, ::protobuf::wire_format::WireTypeLengthDelimited)?;
  7822. os.write_raw_varint32(v.get_cached_size())?;
  7823. v.write_to_with_cached_sizes(os)?;
  7824. };
  7825. for v in &self.restriction {
  7826. os.write_tag(75, ::protobuf::wire_format::WireTypeLengthDelimited)?;
  7827. os.write_raw_varint32(v.get_cached_size())?;
  7828. v.write_to_with_cached_sizes(os)?;
  7829. };
  7830. if let Some(ref v) = self.freeze_frame.as_ref() {
  7831. os.write_tag(76, ::protobuf::wire_format::WireTypeLengthDelimited)?;
  7832. os.write_raw_varint32(v.get_cached_size())?;
  7833. v.write_to_with_cached_sizes(os)?;
  7834. }
  7835. for v in &self.keyword {
  7836. os.write_string(77, &v)?;
  7837. };
  7838. if let Some(v) = self.suppress_monetization {
  7839. os.write_bool(78, v)?;
  7840. }
  7841. if let Some(v) = self.interpret_restriction_using_geoip {
  7842. os.write_bool(79, v)?;
  7843. }
  7844. if let Some(v) = self.allow_background_playback {
  7845. os.write_bool(81, v)?;
  7846. }
  7847. for v in &self.availability {
  7848. os.write_tag(82, ::protobuf::wire_format::WireTypeLengthDelimited)?;
  7849. os.write_raw_varint32(v.get_cached_size())?;
  7850. v.write_to_with_cached_sizes(os)?;
  7851. };
  7852. if let Some(ref v) = self.external_url.as_ref() {
  7853. os.write_string(83, &v)?;
  7854. }
  7855. if let Some(ref v) = self.original_audio.as_ref() {
  7856. os.write_tag(84, ::protobuf::wire_format::WireTypeLengthDelimited)?;
  7857. os.write_raw_varint32(v.get_cached_size())?;
  7858. v.write_to_with_cached_sizes(os)?;
  7859. }
  7860. os.write_unknown_fields(self.get_unknown_fields())?;
  7861. ::std::result::Result::Ok(())
  7862. }
  7863. fn get_cached_size(&self) -> u32 {
  7864. self.cached_size.get()
  7865. }
  7866. fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
  7867. &self.unknown_fields
  7868. }
  7869. fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
  7870. &mut self.unknown_fields
  7871. }
  7872. fn as_any(&self) -> &dyn (::std::any::Any) {
  7873. self as &dyn (::std::any::Any)
  7874. }
  7875. fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
  7876. self as &mut dyn (::std::any::Any)
  7877. }
  7878. fn into_any(self: Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
  7879. self
  7880. }
  7881. fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
  7882. Self::descriptor_static()
  7883. }
  7884. fn new() -> Episode {
  7885. Episode::new()
  7886. }
  7887. fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
  7888. static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy {
  7889. lock: ::protobuf::lazy::ONCE_INIT,
  7890. ptr: 0 as *const ::protobuf::reflect::MessageDescriptor,
  7891. };
  7892. unsafe {
  7893. descriptor.get(|| {
  7894. let mut fields = ::std::vec::Vec::new();
  7895. fields.push(::protobuf::reflect::accessor::make_singular_field_accessor::<_, ::protobuf::types::ProtobufTypeBytes>(
  7896. "gid",
  7897. |m: &Episode| { &m.gid },
  7898. |m: &mut Episode| { &mut m.gid },
  7899. ));
  7900. fields.push(::protobuf::reflect::accessor::make_singular_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
  7901. "name",
  7902. |m: &Episode| { &m.name },
  7903. |m: &mut Episode| { &mut m.name },
  7904. ));
  7905. fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeSint32>(
  7906. "duration",
  7907. |m: &Episode| { &m.duration },
  7908. |m: &mut Episode| { &mut m.duration },
  7909. ));
  7910. fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeSint32>(
  7911. "popularity",
  7912. |m: &Episode| { &m.popularity },
  7913. |m: &mut Episode| { &mut m.popularity },
  7914. ));
  7915. fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<AudioFile>>(
  7916. "file",
  7917. |m: &Episode| { &m.file },
  7918. |m: &mut Episode| { &mut m.file },
  7919. ));
  7920. fields.push(::protobuf::reflect::accessor::make_singular_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
  7921. "description",
  7922. |m: &Episode| { &m.description },
  7923. |m: &mut Episode| { &mut m.description },
  7924. ));
  7925. fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeSint32>(
  7926. "number",
  7927. |m: &Episode| { &m.number },
  7928. |m: &mut Episode| { &mut m.number },
  7929. ));
  7930. fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<Date>>(
  7931. "publish_time",
  7932. |m: &Episode| { &m.publish_time },
  7933. |m: &mut Episode| { &mut m.publish_time },
  7934. ));
  7935. fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeSint32>(
  7936. "deprecated_popularity",
  7937. |m: &Episode| { &m.deprecated_popularity },
  7938. |m: &mut Episode| { &mut m.deprecated_popularity },
  7939. ));
  7940. fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<ImageGroup>>(
  7941. "covers",
  7942. |m: &Episode| { &m.covers },
  7943. |m: &mut Episode| { &mut m.covers },
  7944. ));
  7945. fields.push(::protobuf::reflect::accessor::make_singular_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
  7946. "language",
  7947. |m: &Episode| { &m.language },
  7948. |m: &mut Episode| { &mut m.language },
  7949. ));
  7950. fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeBool>(
  7951. "explicit",
  7952. |m: &Episode| { &m.explicit },
  7953. |m: &mut Episode| { &mut m.explicit },
  7954. ));
  7955. fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<Show>>(
  7956. "show",
  7957. |m: &Episode| { &m.show },
  7958. |m: &mut Episode| { &mut m.show },
  7959. ));
  7960. fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<VideoFile>>(
  7961. "video",
  7962. |m: &Episode| { &m.video },
  7963. |m: &mut Episode| { &mut m.video },
  7964. ));
  7965. fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<VideoFile>>(
  7966. "video_preview",
  7967. |m: &Episode| { &m.video_preview },
  7968. |m: &mut Episode| { &mut m.video_preview },
  7969. ));
  7970. fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<AudioFile>>(
  7971. "audio_preview",
  7972. |m: &Episode| { &m.audio_preview },
  7973. |m: &mut Episode| { &mut m.audio_preview },
  7974. ));
  7975. fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<Restriction>>(
  7976. "restriction",
  7977. |m: &Episode| { &m.restriction },
  7978. |m: &mut Episode| { &mut m.restriction },
  7979. ));
  7980. fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<ImageGroup>>(
  7981. "freeze_frame",
  7982. |m: &Episode| { &m.freeze_frame },
  7983. |m: &mut Episode| { &mut m.freeze_frame },
  7984. ));
  7985. fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
  7986. "keyword",
  7987. |m: &Episode| { &m.keyword },
  7988. |m: &mut Episode| { &mut m.keyword },
  7989. ));
  7990. fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeBool>(
  7991. "suppress_monetization",
  7992. |m: &Episode| { &m.suppress_monetization },
  7993. |m: &mut Episode| { &mut m.suppress_monetization },
  7994. ));
  7995. fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeBool>(
  7996. "interpret_restriction_using_geoip",
  7997. |m: &Episode| { &m.interpret_restriction_using_geoip },
  7998. |m: &mut Episode| { &mut m.interpret_restriction_using_geoip },
  7999. ));
  8000. fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeBool>(
  8001. "allow_background_playback",
  8002. |m: &Episode| { &m.allow_background_playback },
  8003. |m: &mut Episode| { &mut m.allow_background_playback },
  8004. ));
  8005. fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<Availability>>(
  8006. "availability",
  8007. |m: &Episode| { &m.availability },
  8008. |m: &mut Episode| { &mut m.availability },
  8009. ));
  8010. fields.push(::protobuf::reflect::accessor::make_singular_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
  8011. "external_url",
  8012. |m: &Episode| { &m.external_url },
  8013. |m: &mut Episode| { &mut m.external_url },
  8014. ));
  8015. fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<OriginalAudio>>(
  8016. "original_audio",
  8017. |m: &Episode| { &m.original_audio },
  8018. |m: &mut Episode| { &mut m.original_audio },
  8019. ));
  8020. ::protobuf::reflect::MessageDescriptor::new::<Episode>(
  8021. "Episode",
  8022. fields,
  8023. file_descriptor_proto()
  8024. )
  8025. })
  8026. }
  8027. }
  8028. fn default_instance() -> &'static Episode {
  8029. static mut instance: ::protobuf::lazy::Lazy<Episode> = ::protobuf::lazy::Lazy {
  8030. lock: ::protobuf::lazy::ONCE_INIT,
  8031. ptr: 0 as *const Episode,
  8032. };
  8033. unsafe {
  8034. instance.get(Episode::new)
  8035. }
  8036. }
  8037. }
  8038. impl ::protobuf::Clear for Episode {
  8039. fn clear(&mut self) {
  8040. self.gid.clear();
  8041. self.name.clear();
  8042. self.duration = ::std::option::Option::None;
  8043. self.popularity = ::std::option::Option::None;
  8044. self.file.clear();
  8045. self.description.clear();
  8046. self.number = ::std::option::Option::None;
  8047. self.publish_time.clear();
  8048. self.deprecated_popularity = ::std::option::Option::None;
  8049. self.covers.clear();
  8050. self.language.clear();
  8051. self.explicit = ::std::option::Option::None;
  8052. self.show.clear();
  8053. self.video.clear();
  8054. self.video_preview.clear();
  8055. self.audio_preview.clear();
  8056. self.restriction.clear();
  8057. self.freeze_frame.clear();
  8058. self.keyword.clear();
  8059. self.suppress_monetization = ::std::option::Option::None;
  8060. self.interpret_restriction_using_geoip = ::std::option::Option::None;
  8061. self.allow_background_playback = ::std::option::Option::None;
  8062. self.availability.clear();
  8063. self.external_url.clear();
  8064. self.original_audio.clear();
  8065. self.unknown_fields.clear();
  8066. }
  8067. }
  8068. impl ::std::fmt::Debug for Episode {
  8069. fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
  8070. ::protobuf::text_format::fmt(self, f)
  8071. }
  8072. }
  8073. impl ::protobuf::reflect::ProtobufValue for Episode {
  8074. fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef {
  8075. ::protobuf::reflect::ProtobufValueRef::Message(self)
  8076. }
  8077. }
  8078. #[derive(PartialEq,Clone,Default)]
  8079. pub struct Category {
  8080. // message fields
  8081. name: ::protobuf::SingularField<::std::string::String>,
  8082. subcategories: ::protobuf::RepeatedField<Category>,
  8083. // special fields
  8084. pub unknown_fields: ::protobuf::UnknownFields,
  8085. pub cached_size: ::protobuf::CachedSize,
  8086. }
  8087. impl<'a> ::std::default::Default for &'a Category {
  8088. fn default() -> &'a Category {
  8089. <Category as ::protobuf::Message>::default_instance()
  8090. }
  8091. }
  8092. impl Category {
  8093. pub fn new() -> Category {
  8094. ::std::default::Default::default()
  8095. }
  8096. // optional string name = 1;
  8097. pub fn get_name(&self) -> &str {
  8098. match self.name.as_ref() {
  8099. Some(v) => &v,
  8100. None => "",
  8101. }
  8102. }
  8103. pub fn clear_name(&mut self) {
  8104. self.name.clear();
  8105. }
  8106. pub fn has_name(&self) -> bool {
  8107. self.name.is_some()
  8108. }
  8109. // Param is passed by value, moved
  8110. pub fn set_name(&mut self, v: ::std::string::String) {
  8111. self.name = ::protobuf::SingularField::some(v);
  8112. }
  8113. // Mutable pointer to the field.
  8114. // If field is not initialized, it is initialized with default value first.
  8115. pub fn mut_name(&mut self) -> &mut ::std::string::String {
  8116. if self.name.is_none() {
  8117. self.name.set_default();
  8118. }
  8119. self.name.as_mut().unwrap()
  8120. }
  8121. // Take field
  8122. pub fn take_name(&mut self) -> ::std::string::String {
  8123. self.name.take().unwrap_or_else(|| ::std::string::String::new())
  8124. }
  8125. // repeated .Category subcategories = 2;
  8126. pub fn get_subcategories(&self) -> &[Category] {
  8127. &self.subcategories
  8128. }
  8129. pub fn clear_subcategories(&mut self) {
  8130. self.subcategories.clear();
  8131. }
  8132. // Param is passed by value, moved
  8133. pub fn set_subcategories(&mut self, v: ::protobuf::RepeatedField<Category>) {
  8134. self.subcategories = v;
  8135. }
  8136. // Mutable pointer to the field.
  8137. pub fn mut_subcategories(&mut self) -> &mut ::protobuf::RepeatedField<Category> {
  8138. &mut self.subcategories
  8139. }
  8140. // Take field
  8141. pub fn take_subcategories(&mut self) -> ::protobuf::RepeatedField<Category> {
  8142. ::std::mem::replace(&mut self.subcategories, ::protobuf::RepeatedField::new())
  8143. }
  8144. }
  8145. impl ::protobuf::Message for Category {
  8146. fn is_initialized(&self) -> bool {
  8147. for v in &self.subcategories {
  8148. if !v.is_initialized() {
  8149. return false;
  8150. }
  8151. };
  8152. true
  8153. }
  8154. fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
  8155. while !is.eof()? {
  8156. let (field_number, wire_type) = is.read_tag_unpack()?;
  8157. match field_number {
  8158. 1 => {
  8159. ::protobuf::rt::read_singular_string_into(wire_type, is, &mut self.name)?;
  8160. },
  8161. 2 => {
  8162. ::protobuf::rt::read_repeated_message_into(wire_type, is, &mut self.subcategories)?;
  8163. },
  8164. _ => {
  8165. ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
  8166. },
  8167. };
  8168. }
  8169. ::std::result::Result::Ok(())
  8170. }
  8171. // Compute sizes of nested messages
  8172. #[allow(unused_variables)]
  8173. fn compute_size(&self) -> u32 {
  8174. let mut my_size = 0;
  8175. if let Some(ref v) = self.name.as_ref() {
  8176. my_size += ::protobuf::rt::string_size(1, &v);
  8177. }
  8178. for value in &self.subcategories {
  8179. let len = value.compute_size();
  8180. my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
  8181. };
  8182. my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
  8183. self.cached_size.set(my_size);
  8184. my_size
  8185. }
  8186. fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
  8187. if let Some(ref v) = self.name.as_ref() {
  8188. os.write_string(1, &v)?;
  8189. }
  8190. for v in &self.subcategories {
  8191. os.write_tag(2, ::protobuf::wire_format::WireTypeLengthDelimited)?;
  8192. os.write_raw_varint32(v.get_cached_size())?;
  8193. v.write_to_with_cached_sizes(os)?;
  8194. };
  8195. os.write_unknown_fields(self.get_unknown_fields())?;
  8196. ::std::result::Result::Ok(())
  8197. }
  8198. fn get_cached_size(&self) -> u32 {
  8199. self.cached_size.get()
  8200. }
  8201. fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
  8202. &self.unknown_fields
  8203. }
  8204. fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
  8205. &mut self.unknown_fields
  8206. }
  8207. fn as_any(&self) -> &dyn (::std::any::Any) {
  8208. self as &dyn (::std::any::Any)
  8209. }
  8210. fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
  8211. self as &mut dyn (::std::any::Any)
  8212. }
  8213. fn into_any(self: Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
  8214. self
  8215. }
  8216. fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
  8217. Self::descriptor_static()
  8218. }
  8219. fn new() -> Category {
  8220. Category::new()
  8221. }
  8222. fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
  8223. static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy {
  8224. lock: ::protobuf::lazy::ONCE_INIT,
  8225. ptr: 0 as *const ::protobuf::reflect::MessageDescriptor,
  8226. };
  8227. unsafe {
  8228. descriptor.get(|| {
  8229. let mut fields = ::std::vec::Vec::new();
  8230. fields.push(::protobuf::reflect::accessor::make_singular_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
  8231. "name",
  8232. |m: &Category| { &m.name },
  8233. |m: &mut Category| { &mut m.name },
  8234. ));
  8235. fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<Category>>(
  8236. "subcategories",
  8237. |m: &Category| { &m.subcategories },
  8238. |m: &mut Category| { &mut m.subcategories },
  8239. ));
  8240. ::protobuf::reflect::MessageDescriptor::new::<Category>(
  8241. "Category",
  8242. fields,
  8243. file_descriptor_proto()
  8244. )
  8245. })
  8246. }
  8247. }
  8248. fn default_instance() -> &'static Category {
  8249. static mut instance: ::protobuf::lazy::Lazy<Category> = ::protobuf::lazy::Lazy {
  8250. lock: ::protobuf::lazy::ONCE_INIT,
  8251. ptr: 0 as *const Category,
  8252. };
  8253. unsafe {
  8254. instance.get(Category::new)
  8255. }
  8256. }
  8257. }
  8258. impl ::protobuf::Clear for Category {
  8259. fn clear(&mut self) {
  8260. self.name.clear();
  8261. self.subcategories.clear();
  8262. self.unknown_fields.clear();
  8263. }
  8264. }
  8265. impl ::std::fmt::Debug for Category {
  8266. fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
  8267. ::protobuf::text_format::fmt(self, f)
  8268. }
  8269. }
  8270. impl ::protobuf::reflect::ProtobufValue for Category {
  8271. fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef {
  8272. ::protobuf::reflect::ProtobufValueRef::Message(self)
  8273. }
  8274. }
  8275. #[derive(PartialEq,Clone,Default)]
  8276. pub struct OriginalAudio {
  8277. // message fields
  8278. uuid: ::protobuf::SingularField<::std::vec::Vec<u8>>,
  8279. // special fields
  8280. pub unknown_fields: ::protobuf::UnknownFields,
  8281. pub cached_size: ::protobuf::CachedSize,
  8282. }
  8283. impl<'a> ::std::default::Default for &'a OriginalAudio {
  8284. fn default() -> &'a OriginalAudio {
  8285. <OriginalAudio as ::protobuf::Message>::default_instance()
  8286. }
  8287. }
  8288. impl OriginalAudio {
  8289. pub fn new() -> OriginalAudio {
  8290. ::std::default::Default::default()
  8291. }
  8292. // optional bytes uuid = 1;
  8293. pub fn get_uuid(&self) -> &[u8] {
  8294. match self.uuid.as_ref() {
  8295. Some(v) => &v,
  8296. None => &[],
  8297. }
  8298. }
  8299. pub fn clear_uuid(&mut self) {
  8300. self.uuid.clear();
  8301. }
  8302. pub fn has_uuid(&self) -> bool {
  8303. self.uuid.is_some()
  8304. }
  8305. // Param is passed by value, moved
  8306. pub fn set_uuid(&mut self, v: ::std::vec::Vec<u8>) {
  8307. self.uuid = ::protobuf::SingularField::some(v);
  8308. }
  8309. // Mutable pointer to the field.
  8310. // If field is not initialized, it is initialized with default value first.
  8311. pub fn mut_uuid(&mut self) -> &mut ::std::vec::Vec<u8> {
  8312. if self.uuid.is_none() {
  8313. self.uuid.set_default();
  8314. }
  8315. self.uuid.as_mut().unwrap()
  8316. }
  8317. // Take field
  8318. pub fn take_uuid(&mut self) -> ::std::vec::Vec<u8> {
  8319. self.uuid.take().unwrap_or_else(|| ::std::vec::Vec::new())
  8320. }
  8321. }
  8322. impl ::protobuf::Message for OriginalAudio {
  8323. fn is_initialized(&self) -> bool {
  8324. true
  8325. }
  8326. fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
  8327. while !is.eof()? {
  8328. let (field_number, wire_type) = is.read_tag_unpack()?;
  8329. match field_number {
  8330. 1 => {
  8331. ::protobuf::rt::read_singular_bytes_into(wire_type, is, &mut self.uuid)?;
  8332. },
  8333. _ => {
  8334. ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
  8335. },
  8336. };
  8337. }
  8338. ::std::result::Result::Ok(())
  8339. }
  8340. // Compute sizes of nested messages
  8341. #[allow(unused_variables)]
  8342. fn compute_size(&self) -> u32 {
  8343. let mut my_size = 0;
  8344. if let Some(ref v) = self.uuid.as_ref() {
  8345. my_size += ::protobuf::rt::bytes_size(1, &v);
  8346. }
  8347. my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
  8348. self.cached_size.set(my_size);
  8349. my_size
  8350. }
  8351. fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
  8352. if let Some(ref v) = self.uuid.as_ref() {
  8353. os.write_bytes(1, &v)?;
  8354. }
  8355. os.write_unknown_fields(self.get_unknown_fields())?;
  8356. ::std::result::Result::Ok(())
  8357. }
  8358. fn get_cached_size(&self) -> u32 {
  8359. self.cached_size.get()
  8360. }
  8361. fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
  8362. &self.unknown_fields
  8363. }
  8364. fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
  8365. &mut self.unknown_fields
  8366. }
  8367. fn as_any(&self) -> &dyn (::std::any::Any) {
  8368. self as &dyn (::std::any::Any)
  8369. }
  8370. fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
  8371. self as &mut dyn (::std::any::Any)
  8372. }
  8373. fn into_any(self: Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
  8374. self
  8375. }
  8376. fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
  8377. Self::descriptor_static()
  8378. }
  8379. fn new() -> OriginalAudio {
  8380. OriginalAudio::new()
  8381. }
  8382. fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
  8383. static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy {
  8384. lock: ::protobuf::lazy::ONCE_INIT,
  8385. ptr: 0 as *const ::protobuf::reflect::MessageDescriptor,
  8386. };
  8387. unsafe {
  8388. descriptor.get(|| {
  8389. let mut fields = ::std::vec::Vec::new();
  8390. fields.push(::protobuf::reflect::accessor::make_singular_field_accessor::<_, ::protobuf::types::ProtobufTypeBytes>(
  8391. "uuid",
  8392. |m: &OriginalAudio| { &m.uuid },
  8393. |m: &mut OriginalAudio| { &mut m.uuid },
  8394. ));
  8395. ::protobuf::reflect::MessageDescriptor::new::<OriginalAudio>(
  8396. "OriginalAudio",
  8397. fields,
  8398. file_descriptor_proto()
  8399. )
  8400. })
  8401. }
  8402. }
  8403. fn default_instance() -> &'static OriginalAudio {
  8404. static mut instance: ::protobuf::lazy::Lazy<OriginalAudio> = ::protobuf::lazy::Lazy {
  8405. lock: ::protobuf::lazy::ONCE_INIT,
  8406. ptr: 0 as *const OriginalAudio,
  8407. };
  8408. unsafe {
  8409. instance.get(OriginalAudio::new)
  8410. }
  8411. }
  8412. }
  8413. impl ::protobuf::Clear for OriginalAudio {
  8414. fn clear(&mut self) {
  8415. self.uuid.clear();
  8416. self.unknown_fields.clear();
  8417. }
  8418. }
  8419. impl ::std::fmt::Debug for OriginalAudio {
  8420. fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
  8421. ::protobuf::text_format::fmt(self, f)
  8422. }
  8423. }
  8424. impl ::protobuf::reflect::ProtobufValue for OriginalAudio {
  8425. fn as_ref(&self) -> ::protobuf::reflect::ProtobufValueRef {
  8426. ::protobuf::reflect::ProtobufValueRef::Message(self)
  8427. }
  8428. }
  8429. static file_descriptor_proto_data: &'static [u8] = b"\
  8430. \n\x0emetadata.proto\x12\0\"9\n\tTopTracks\x12\x11\n\x07country\x18\x01\
  8431. \x20\x01(\tB\0\x12\x17\n\x05track\x18\x02\x20\x03(\x0b2\x06.TrackB\0:\0\
  8432. \"N\n\x0eActivityPeriod\x12\x14\n\nstart_year\x18\x01\x20\x01(\x11B\0\
  8433. \x12\x12\n\x08end_year\x18\x02\x20\x01(\x11B\0\x12\x10\n\x06decade\x18\
  8434. \x03\x20\x01(\x11B\0:\0\"\xa5\x04\n\x06Artist\x12\r\n\x03gid\x18\x01\x20\
  8435. \x01(\x0cB\0\x12\x0e\n\x04name\x18\x02\x20\x01(\tB\0\x12\x14\n\npopulari\
  8436. ty\x18\x03\x20\x01(\x11B\0\x12\x1f\n\ttop_track\x18\x04\x20\x03(\x0b2\n.\
  8437. TopTracksB\0\x12\"\n\x0balbum_group\x18\x05\x20\x03(\x0b2\x0b.AlbumGroup\
  8438. B\0\x12#\n\x0csingle_group\x18\x06\x20\x03(\x0b2\x0b.AlbumGroupB\0\x12(\
  8439. \n\x11compilation_group\x18\x07\x20\x03(\x0b2\x0b.AlbumGroupB\0\x12'\n\
  8440. \x10appears_on_group\x18\x08\x20\x03(\x0b2\x0b.AlbumGroupB\0\x12\x0f\n\
  8441. \x05genre\x18\t\x20\x03(\tB\0\x12\"\n\x0bexternal_id\x18\n\x20\x03(\x0b2\
  8442. \x0b.ExternalIdB\0\x12\x1a\n\x08portrait\x18\x0b\x20\x03(\x0b2\x06.Image\
  8443. B\0\x12\x1f\n\tbiography\x18\x0c\x20\x03(\x0b2\n.BiographyB\0\x12*\n\x0f\
  8444. activity_period\x18\r\x20\x03(\x0b2\x0f.ActivityPeriodB\0\x12#\n\x0brest\
  8445. riction\x18\x0e\x20\x03(\x0b2\x0c.RestrictionB\0\x12\x1a\n\x07related\
  8446. \x18\x0f\x20\x03(\x0b2\x07.ArtistB\0\x12!\n\x17is_portrait_album_cover\
  8447. \x18\x10\x20\x01(\x08B\0\x12%\n\x0eportrait_group\x18\x11\x20\x01(\x0b2\
  8448. \x0b.ImageGroupB\0:\0\"'\n\nAlbumGroup\x12\x17\n\x05album\x18\x01\x20\
  8449. \x03(\x0b2\x06.AlbumB\0:\0\"Z\n\x04Date\x12\x0e\n\x04year\x18\x01\x20\
  8450. \x01(\x11B\0\x12\x0f\n\x05month\x18\x02\x20\x01(\x11B\0\x12\r\n\x03day\
  8451. \x18\x03\x20\x01(\x11B\0\x12\x0e\n\x04hour\x18\x04\x20\x01(\x11B\0\x12\
  8452. \x10\n\x06minute\x18\x05\x20\x01(\x11B\0:\0\"\xf7\x03\n\x05Album\x12\r\n\
  8453. \x03gid\x18\x01\x20\x01(\x0cB\0\x12\x0e\n\x04name\x18\x02\x20\x01(\tB\0\
  8454. \x12\x19\n\x06artist\x18\x03\x20\x03(\x0b2\x07.ArtistB\0\x12\x1a\n\x03ty\
  8455. p\x18\x04\x20\x01(\x0e2\x0b.Album.TypeB\0\x12\x0f\n\x05label\x18\x05\x20\
  8456. \x01(\tB\0\x12\x15\n\x04date\x18\x06\x20\x01(\x0b2\x05.DateB\0\x12\x14\n\
  8457. \npopularity\x18\x07\x20\x01(\x11B\0\x12\x0f\n\x05genre\x18\x08\x20\x03(\
  8458. \tB\0\x12\x17\n\x05cover\x18\t\x20\x03(\x0b2\x06.ImageB\0\x12\"\n\x0bext\
  8459. ernal_id\x18\n\x20\x03(\x0b2\x0b.ExternalIdB\0\x12\x15\n\x04disc\x18\x0b\
  8460. \x20\x03(\x0b2\x05.DiscB\0\x12\x10\n\x06review\x18\x0c\x20\x03(\tB\0\x12\
  8461. \x1f\n\tcopyright\x18\r\x20\x03(\x0b2\n.CopyrightB\0\x12#\n\x0brestricti\
  8462. on\x18\x0e\x20\x03(\x0b2\x0c.RestrictionB\0\x12\x19\n\x07related\x18\x0f\
  8463. \x20\x03(\x0b2\x06.AlbumB\0\x12\"\n\x0bsale_period\x18\x10\x20\x03(\x0b2\
  8464. \x0b.SalePeriodB\0\x12\"\n\x0bcover_group\x18\x11\x20\x01(\x0b2\x0b.Imag\
  8465. eGroupB\0\"8\n\x04Type\x12\t\n\x05ALBUM\x10\x01\x12\n\n\x06SINGLE\x10\
  8466. \x02\x12\x0f\n\x0bCOMPILATION\x10\x03\x12\x06\n\x02EP\x10\x04\x1a\0:\0\"\
  8467. \x8a\x03\n\x05Track\x12\r\n\x03gid\x18\x01\x20\x01(\x0cB\0\x12\x0e\n\x04\
  8468. name\x18\x02\x20\x01(\tB\0\x12\x17\n\x05album\x18\x03\x20\x01(\x0b2\x06.\
  8469. AlbumB\0\x12\x19\n\x06artist\x18\x04\x20\x03(\x0b2\x07.ArtistB\0\x12\x10\
  8470. \n\x06number\x18\x05\x20\x01(\x11B\0\x12\x15\n\x0bdisc_number\x18\x06\
  8471. \x20\x01(\x11B\0\x12\x12\n\x08duration\x18\x07\x20\x01(\x11B\0\x12\x14\n\
  8472. \npopularity\x18\x08\x20\x01(\x11B\0\x12\x12\n\x08explicit\x18\t\x20\x01\
  8473. (\x08B\0\x12\"\n\x0bexternal_id\x18\n\x20\x03(\x0b2\x0b.ExternalIdB\0\
  8474. \x12#\n\x0brestriction\x18\x0b\x20\x03(\x0b2\x0c.RestrictionB\0\x12\x1a\
  8475. \n\x04file\x18\x0c\x20\x03(\x0b2\n.AudioFileB\0\x12\x1d\n\x0balternative\
  8476. \x18\r\x20\x03(\x0b2\x06.TrackB\0\x12\"\n\x0bsale_period\x18\x0e\x20\x03\
  8477. (\x0b2\x0b.SalePeriodB\0\x12\x1d\n\x07preview\x18\x0f\x20\x03(\x0b2\n.Au\
  8478. dioFileB\0:\0\"\x95\x01\n\x05Image\x12\x11\n\x07file_id\x18\x01\x20\x01(\
  8479. \x0cB\0\x12\x1b\n\x04size\x18\x02\x20\x01(\x0e2\x0b.Image.SizeB\0\x12\
  8480. \x0f\n\x05width\x18\x03\x20\x01(\x11B\0\x12\x10\n\x06height\x18\x04\x20\
  8481. \x01(\x11B\0\"7\n\x04Size\x12\x0b\n\x07DEFAULT\x10\0\x12\t\n\x05SMALL\
  8482. \x10\x01\x12\t\n\x05LARGE\x10\x02\x12\n\n\x06XLARGE\x10\x03\x1a\0:\0\"'\
  8483. \n\nImageGroup\x12\x17\n\x05image\x18\x01\x20\x03(\x0b2\x06.ImageB\0:\0\
  8484. \"`\n\tBiography\x12\x0e\n\x04text\x18\x01\x20\x01(\tB\0\x12\x1a\n\x08po\
  8485. rtrait\x18\x02\x20\x03(\x0b2\x06.ImageB\0\x12%\n\x0eportrait_group\x18\
  8486. \x03\x20\x03(\x0b2\x0b.ImageGroupB\0:\0\"C\n\x04Disc\x12\x10\n\x06number\
  8487. \x18\x01\x20\x01(\x11B\0\x12\x0e\n\x04name\x18\x02\x20\x01(\tB\0\x12\x17\
  8488. \n\x05track\x18\x03\x20\x03(\x0b2\x06.TrackB\0:\0\"U\n\tCopyright\x12\
  8489. \x1e\n\x03typ\x18\x01\x20\x01(\x0e2\x0f.Copyright.TypeB\0\x12\x0e\n\x04t\
  8490. ext\x18\x02\x20\x01(\tB\0\"\x16\n\x04Type\x12\x05\n\x01P\x10\0\x12\x05\n\
  8491. \x01C\x10\x01\x1a\0:\0\"\xa5\x02\n\x0bRestriction\x12+\n\tcatalogue\x18\
  8492. \x01\x20\x03(\x0e2\x16.Restriction.CatalogueB\0\x12\x1b\n\x11countries_a\
  8493. llowed\x18\x02\x20\x01(\tB\0\x12\x1d\n\x13countries_forbidden\x18\x03\
  8494. \x20\x01(\tB\0\x12\x20\n\x03typ\x18\x04\x20\x01(\x0e2\x11.Restriction.Ty\
  8495. peB\0\x12\x17\n\rcatalogue_str\x18\x05\x20\x03(\tB\0\"W\n\tCatalogue\x12\
  8496. \x06\n\x02AD\x10\0\x12\x10\n\x0cSUBSCRIPTION\x10\x01\x12\x11\n\rCATALOGU\
  8497. E_ALL\x10\x02\x12\x0b\n\x07SHUFFLE\x10\x03\x12\x0e\n\nCOMMERCIAL\x10\x04\
  8498. \x1a\0\"\x17\n\x04Type\x12\r\n\tSTREAMING\x10\0\x1a\0:\0\"A\n\x0cAvailab\
  8499. ility\x12\x17\n\rcatalogue_str\x18\x01\x20\x03(\tB\0\x12\x16\n\x05start\
  8500. \x18\x02\x20\x01(\x0b2\x05.DateB\0:\0\"a\n\nSalePeriod\x12#\n\x0brestric\
  8501. tion\x18\x01\x20\x03(\x0b2\x0c.RestrictionB\0\x12\x16\n\x05start\x18\x02\
  8502. \x20\x01(\x0b2\x05.DateB\0\x12\x14\n\x03end\x18\x03\x20\x01(\x0b2\x05.Da\
  8503. teB\0:\0\"+\n\nExternalId\x12\r\n\x03typ\x18\x01\x20\x01(\tB\0\x12\x0c\n\
  8504. \x02id\x18\x02\x20\x01(\tB\0:\0\"\xa2\x02\n\tAudioFile\x12\x11\n\x07file\
  8505. _id\x18\x01\x20\x01(\x0cB\0\x12#\n\x06format\x18\x02\x20\x01(\x0e2\x11.A\
  8506. udioFile.FormatB\0\"\xda\x01\n\x06Format\x12\x11\n\rOGG_VORBIS_96\x10\0\
  8507. \x12\x12\n\x0eOGG_VORBIS_160\x10\x01\x12\x12\n\x0eOGG_VORBIS_320\x10\x02\
  8508. \x12\x0b\n\x07MP3_256\x10\x03\x12\x0b\n\x07MP3_320\x10\x04\x12\x0b\n\x07\
  8509. MP3_160\x10\x05\x12\n\n\x06MP3_96\x10\x06\x12\x0f\n\x0bMP3_160_ENC\x10\
  8510. \x07\x12\x10\n\x0cMP4_128_DUAL\x10\x08\x12\n\n\x06OTHER3\x10\t\x12\x0b\n\
  8511. \x07AAC_160\x10\n\x12\x0b\n\x07AAC_320\x10\x0b\x12\x0b\n\x07MP4_128\x10\
  8512. \x0c\x12\n\n\x06OTHER5\x10\r\x1a\0:\0\"\x20\n\tVideoFile\x12\x11\n\x07fi\
  8513. le_id\x18\x01\x20\x01(\x0cB\0:\0\"\xf6\x05\n\x04Show\x12\r\n\x03gid\x18\
  8514. \x01\x20\x01(\x0cB\0\x12\x0e\n\x04name\x18\x02\x20\x01(\tB\0\x12\x15\n\
  8515. \x0bdescription\x18@\x20\x01(\tB\0\x12\x1f\n\x15deprecated_popularity\
  8516. \x18A\x20\x01(\x11B\0\x12\x13\n\tpublisher\x18B\x20\x01(\tB\0\x12\x12\n\
  8517. \x08language\x18C\x20\x01(\tB\0\x12\x12\n\x08explicit\x18D\x20\x01(\x08B\
  8518. \0\x12\x1d\n\x06covers\x18E\x20\x01(\x0b2\x0b.ImageGroupB\0\x12\x1b\n\
  8519. \x07episode\x18F\x20\x03(\x0b2\x08.EpisodeB\0\x12\x1f\n\tcopyright\x18G\
  8520. \x20\x03(\x0b2\n.CopyrightB\0\x12#\n\x0brestriction\x18H\x20\x03(\x0b2\
  8521. \x0c.RestrictionB\0\x12\x11\n\x07keyword\x18I\x20\x03(\tB\0\x12%\n\nmedi\
  8522. a_type\x18J\x20\x01(\x0e2\x0f.Show.MediaTypeB\0\x123\n\x11consumption_or\
  8523. der\x18K\x20\x01(\x0e2\x16.Show.ConsumptionOrderB\0\x12+\n!interpret_res\
  8524. triction_using_geoip\x18L\x20\x01(\x08B\0\x12%\n\x0cavailability\x18N\
  8525. \x20\x03(\x0b2\r.AvailabilityB\0\x12\x1b\n\x11country_of_origin\x18O\x20\
  8526. \x01(\tB\0\x12\x1f\n\ncategories\x18P\x20\x03(\x0b2\t.CategoryB\0\x12,\n\
  8527. \x0bpassthrough\x18Q\x20\x01(\x0e2\x15.Show.PassthroughEnumB\0\".\n\tMed\
  8528. iaType\x12\t\n\x05MIXED\x10\0\x12\t\n\x05AUDIO\x10\x01\x12\t\n\x05VIDEO\
  8529. \x10\x02\x1a\0\">\n\x10ConsumptionOrder\x12\x0e\n\nSEQUENTIAL\x10\x01\
  8530. \x12\x0c\n\x08EPISODIC\x10\x02\x12\n\n\x06RECENT\x10\x03\x1a\0\"7\n\x0fP\
  8531. assthroughEnum\x12\x0b\n\x07UNKNOWN\x10\0\x12\x08\n\x04NONE\x10\x01\x12\
  8532. \x0b\n\x07ALLOWED\x10\x02\x1a\0:\0\"\xd7\x05\n\x07Episode\x12\r\n\x03gid\
  8533. \x18\x01\x20\x01(\x0cB\0\x12\x0e\n\x04name\x18\x02\x20\x01(\tB\0\x12\x12\
  8534. \n\x08duration\x18\x07\x20\x01(\x11B\0\x12\x14\n\npopularity\x18\x08\x20\
  8535. \x01(\x11B\0\x12\x1a\n\x04file\x18\x0c\x20\x03(\x0b2\n.AudioFileB\0\x12\
  8536. \x15\n\x0bdescription\x18@\x20\x01(\tB\0\x12\x10\n\x06number\x18A\x20\
  8537. \x01(\x11B\0\x12\x1d\n\x0cpublish_time\x18B\x20\x01(\x0b2\x05.DateB\0\
  8538. \x12\x1f\n\x15deprecated_popularity\x18C\x20\x01(\x11B\0\x12\x1d\n\x06co\
  8539. vers\x18D\x20\x01(\x0b2\x0b.ImageGroupB\0\x12\x12\n\x08language\x18E\x20\
  8540. \x01(\tB\0\x12\x12\n\x08explicit\x18F\x20\x01(\x08B\0\x12\x15\n\x04show\
  8541. \x18G\x20\x01(\x0b2\x05.ShowB\0\x12\x1b\n\x05video\x18H\x20\x03(\x0b2\n.\
  8542. VideoFileB\0\x12#\n\rvideo_preview\x18I\x20\x03(\x0b2\n.VideoFileB\0\x12\
  8543. #\n\raudio_preview\x18J\x20\x03(\x0b2\n.AudioFileB\0\x12#\n\x0brestricti\
  8544. on\x18K\x20\x03(\x0b2\x0c.RestrictionB\0\x12#\n\x0cfreeze_frame\x18L\x20\
  8545. \x01(\x0b2\x0b.ImageGroupB\0\x12\x11\n\x07keyword\x18M\x20\x03(\tB\0\x12\
  8546. \x1f\n\x15suppress_monetization\x18N\x20\x01(\x08B\0\x12+\n!interpret_re\
  8547. striction_using_geoip\x18O\x20\x01(\x08B\0\x12#\n\x19allow_background_pl\
  8548. ayback\x18Q\x20\x01(\x08B\0\x12%\n\x0cavailability\x18R\x20\x03(\x0b2\r.\
  8549. AvailabilityB\0\x12\x16\n\x0cexternal_url\x18S\x20\x01(\tB\0\x12(\n\x0eo\
  8550. riginal_audio\x18T\x20\x01(\x0b2\x0e.OriginalAudioB\0:\0\"@\n\x08Categor\
  8551. y\x12\x0e\n\x04name\x18\x01\x20\x01(\tB\0\x12\"\n\rsubcategories\x18\x02\
  8552. \x20\x03(\x0b2\t.CategoryB\0:\0\"!\n\rOriginalAudio\x12\x0e\n\x04uuid\
  8553. \x18\x01\x20\x01(\x0cB\0:\0B\0b\x06proto2\
  8554. ";
  8555. static mut file_descriptor_proto_lazy: ::protobuf::lazy::Lazy<::protobuf::descriptor::FileDescriptorProto> = ::protobuf::lazy::Lazy {
  8556. lock: ::protobuf::lazy::ONCE_INIT,
  8557. ptr: 0 as *const ::protobuf::descriptor::FileDescriptorProto,
  8558. };
  8559. fn parse_descriptor_proto() -> ::protobuf::descriptor::FileDescriptorProto {
  8560. ::protobuf::parse_from_bytes(file_descriptor_proto_data).unwrap()
  8561. }
  8562. pub fn file_descriptor_proto() -> &'static ::protobuf::descriptor::FileDescriptorProto {
  8563. unsafe {
  8564. file_descriptor_proto_lazy.get(|| {
  8565. parse_descriptor_proto()
  8566. })
  8567. }
  8568. }