| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363 | // Code generated by protoc-gen-go. DO NOT EDIT.// versions:// 	protoc-gen-go v1.28.1// 	protoc        v3.21.9// source: backend/operation/statistic.protopackage operationPbimport (	protoreflect "google.golang.org/protobuf/reflect/protoreflect"	protoimpl "google.golang.org/protobuf/runtime/protoimpl"	reflect "reflect"	sync "sync")const (	// Verify that this generated code is sufficiently up-to-date.	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)	// Verify that runtime/protoimpl is sufficiently up-to-date.	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20))// SearchFormulaEstimateRequest 配方评估type SearchFormulaEstimateRequest struct {	state         protoimpl.MessageState	sizeCache     protoimpl.SizeCache	unknownFields protoimpl.UnknownFields	StartTime  string           `protobuf:"bytes,1,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"`     // 开始时间	EndTime    string           `protobuf:"bytes,2,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"`           // 结束时间	SearchType int32            `protobuf:"varint,3,opt,name=search_type,json=searchType,proto3" json:"search_type,omitempty"` // 查询方式  0 安照配方 1 按照栏舍	ApiName    string           `protobuf:"bytes,4,opt,name=api_name,json=apiName,proto3" json:"api_name,omitempty"`           // 牧场端接口标识名称	PastureId  int32            `protobuf:"varint,5,opt,name=pasture_id,json=pastureId,proto3" json:"pasture_id,omitempty"`    // 牧场id	TemplateId int32            `protobuf:"varint,6,opt,name=template_id,json=templateId,proto3" json:"template_id,omitempty"` // 配方模板id	BarnId     int32            `protobuf:"varint,7,opt,name=barn_id,json=barnId,proto3" json:"barn_id,omitempty"`             // 栏舍id	Pagination *PaginationModel `protobuf:"bytes,8,opt,name=pagination,proto3" json:"pagination,omitempty"`                    // 分页}func (x *SearchFormulaEstimateRequest) Reset() {	*x = SearchFormulaEstimateRequest{}	if protoimpl.UnsafeEnabled {		mi := &file_backend_operation_statistic_proto_msgTypes[0]		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))		ms.StoreMessageInfo(mi)	}}func (x *SearchFormulaEstimateRequest) String() string {	return protoimpl.X.MessageStringOf(x)}func (*SearchFormulaEstimateRequest) ProtoMessage() {}func (x *SearchFormulaEstimateRequest) ProtoReflect() protoreflect.Message {	mi := &file_backend_operation_statistic_proto_msgTypes[0]	if protoimpl.UnsafeEnabled && x != nil {		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))		if ms.LoadMessageInfo() == nil {			ms.StoreMessageInfo(mi)		}		return ms	}	return mi.MessageOf(x)}// Deprecated: Use SearchFormulaEstimateRequest.ProtoReflect.Descriptor instead.func (*SearchFormulaEstimateRequest) Descriptor() ([]byte, []int) {	return file_backend_operation_statistic_proto_rawDescGZIP(), []int{0}}func (x *SearchFormulaEstimateRequest) GetStartTime() string {	if x != nil {		return x.StartTime	}	return ""}func (x *SearchFormulaEstimateRequest) GetEndTime() string {	if x != nil {		return x.EndTime	}	return ""}func (x *SearchFormulaEstimateRequest) GetSearchType() int32 {	if x != nil {		return x.SearchType	}	return 0}func (x *SearchFormulaEstimateRequest) GetApiName() string {	if x != nil {		return x.ApiName	}	return ""}func (x *SearchFormulaEstimateRequest) GetPastureId() int32 {	if x != nil {		return x.PastureId	}	return 0}func (x *SearchFormulaEstimateRequest) GetTemplateId() int32 {	if x != nil {		return x.TemplateId	}	return 0}func (x *SearchFormulaEstimateRequest) GetBarnId() int32 {	if x != nil {		return x.BarnId	}	return 0}func (x *SearchFormulaEstimateRequest) GetPagination() *PaginationModel {	if x != nil {		return x.Pagination	}	return nil}// SearchInventoryStatisticsRequest 库存管理-库存统计type SearchInventoryStatisticsRequest struct {	state         protoimpl.MessageState	sizeCache     protoimpl.SizeCache	unknownFields protoimpl.UnknownFields	StartTime  string           `protobuf:"bytes,1,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"`  // 开始时间	EndTime    string           `protobuf:"bytes,2,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"`        // 结束时间	ApiName    string           `protobuf:"bytes,3,opt,name=api_name,json=apiName,proto3" json:"api_name,omitempty"`        // 牧场端接口标识名称	FeedName   string           `protobuf:"bytes,4,opt,name=feed_name,json=feedName,proto3" json:"feed_name,omitempty"`     // 饲料名称	PastureId  int32            `protobuf:"varint,5,opt,name=pasture_id,json=pastureId,proto3" json:"pasture_id,omitempty"` // 牧场id	Pagination *PaginationModel `protobuf:"bytes,6,opt,name=pagination,proto3" json:"pagination,omitempty"`                 // 分页}func (x *SearchInventoryStatisticsRequest) Reset() {	*x = SearchInventoryStatisticsRequest{}	if protoimpl.UnsafeEnabled {		mi := &file_backend_operation_statistic_proto_msgTypes[1]		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))		ms.StoreMessageInfo(mi)	}}func (x *SearchInventoryStatisticsRequest) String() string {	return protoimpl.X.MessageStringOf(x)}func (*SearchInventoryStatisticsRequest) ProtoMessage() {}func (x *SearchInventoryStatisticsRequest) ProtoReflect() protoreflect.Message {	mi := &file_backend_operation_statistic_proto_msgTypes[1]	if protoimpl.UnsafeEnabled && x != nil {		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))		if ms.LoadMessageInfo() == nil {			ms.StoreMessageInfo(mi)		}		return ms	}	return mi.MessageOf(x)}// Deprecated: Use SearchInventoryStatisticsRequest.ProtoReflect.Descriptor instead.func (*SearchInventoryStatisticsRequest) Descriptor() ([]byte, []int) {	return file_backend_operation_statistic_proto_rawDescGZIP(), []int{1}}func (x *SearchInventoryStatisticsRequest) GetStartTime() string {	if x != nil {		return x.StartTime	}	return ""}func (x *SearchInventoryStatisticsRequest) GetEndTime() string {	if x != nil {		return x.EndTime	}	return ""}func (x *SearchInventoryStatisticsRequest) GetApiName() string {	if x != nil {		return x.ApiName	}	return ""}func (x *SearchInventoryStatisticsRequest) GetFeedName() string {	if x != nil {		return x.FeedName	}	return ""}func (x *SearchInventoryStatisticsRequest) GetPastureId() int32 {	if x != nil {		return x.PastureId	}	return 0}func (x *SearchInventoryStatisticsRequest) GetPagination() *PaginationModel {	if x != nil {		return x.Pagination	}	return nil}// SearchUserMaterialsStatisticsRequest 库存管理-用料分析type SearchUserMaterialsStatisticsRequest struct {	state         protoimpl.MessageState	sizeCache     protoimpl.SizeCache	unknownFields protoimpl.UnknownFields	StartTime  string           `protobuf:"bytes,1,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"`     // 开始时间	EndTime    string           `protobuf:"bytes,2,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"`           // 结束时间	ApiName    string           `protobuf:"bytes,3,opt,name=api_name,json=apiName,proto3" json:"api_name,omitempty"`           // 牧场端接口标识名称	PastureId  int32            `protobuf:"varint,4,opt,name=pasture_id,json=pastureId,proto3" json:"pasture_id,omitempty"`    // 牧场id	ErrorCheck int32            `protobuf:"varint,5,opt,name=error_check,json=errorCheck,proto3" json:"error_check,omitempty"` // 误差是否选中 0 未选中 1 选中	TypeCheck  int32            `protobuf:"varint,6,opt,name=type_check,json=typeCheck,proto3" json:"type_check,omitempty"`    // 返回实际或理论 1 理论 2 实际	FeedName   string           `protobuf:"bytes,7,opt,name=feed_name,json=feedName,proto3" json:"feed_name,omitempty"`        // 名称	Pagination *PaginationModel `protobuf:"bytes,8,opt,name=pagination,proto3" json:"pagination,omitempty"`                    // 分页}func (x *SearchUserMaterialsStatisticsRequest) Reset() {	*x = SearchUserMaterialsStatisticsRequest{}	if protoimpl.UnsafeEnabled {		mi := &file_backend_operation_statistic_proto_msgTypes[2]		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))		ms.StoreMessageInfo(mi)	}}func (x *SearchUserMaterialsStatisticsRequest) String() string {	return protoimpl.X.MessageStringOf(x)}func (*SearchUserMaterialsStatisticsRequest) ProtoMessage() {}func (x *SearchUserMaterialsStatisticsRequest) ProtoReflect() protoreflect.Message {	mi := &file_backend_operation_statistic_proto_msgTypes[2]	if protoimpl.UnsafeEnabled && x != nil {		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))		if ms.LoadMessageInfo() == nil {			ms.StoreMessageInfo(mi)		}		return ms	}	return mi.MessageOf(x)}// Deprecated: Use SearchUserMaterialsStatisticsRequest.ProtoReflect.Descriptor instead.func (*SearchUserMaterialsStatisticsRequest) Descriptor() ([]byte, []int) {	return file_backend_operation_statistic_proto_rawDescGZIP(), []int{2}}func (x *SearchUserMaterialsStatisticsRequest) GetStartTime() string {	if x != nil {		return x.StartTime	}	return ""}func (x *SearchUserMaterialsStatisticsRequest) GetEndTime() string {	if x != nil {		return x.EndTime	}	return ""}func (x *SearchUserMaterialsStatisticsRequest) GetApiName() string {	if x != nil {		return x.ApiName	}	return ""}func (x *SearchUserMaterialsStatisticsRequest) GetPastureId() int32 {	if x != nil {		return x.PastureId	}	return 0}func (x *SearchUserMaterialsStatisticsRequest) GetErrorCheck() int32 {	if x != nil {		return x.ErrorCheck	}	return 0}func (x *SearchUserMaterialsStatisticsRequest) GetTypeCheck() int32 {	if x != nil {		return x.TypeCheck	}	return 0}func (x *SearchUserMaterialsStatisticsRequest) GetFeedName() string {	if x != nil {		return x.FeedName	}	return ""}func (x *SearchUserMaterialsStatisticsRequest) GetPagination() *PaginationModel {	if x != nil {		return x.Pagination	}	return nil}// SearchPriceStatisticsRequest 库存管理-价格分析type SearchPriceStatisticsRequest struct {	state         protoimpl.MessageState	sizeCache     protoimpl.SizeCache	unknownFields protoimpl.UnknownFields	StartTime  string           `protobuf:"bytes,1,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"`  // 开始时间	EndTime    string           `protobuf:"bytes,2,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"`        // 结束时间	ApiName    string           `protobuf:"bytes,3,opt,name=api_name,json=apiName,proto3" json:"api_name,omitempty"`        // 牧场端接口标识名称	PastureId  int32            `protobuf:"varint,4,opt,name=pasture_id,json=pastureId,proto3" json:"pasture_id,omitempty"` // 牧场id	FeedName   string           `protobuf:"bytes,5,opt,name=feed_name,json=feedName,proto3" json:"feed_name,omitempty"`     // 名称	Pagination *PaginationModel `protobuf:"bytes,6,opt,name=pagination,proto3" json:"pagination,omitempty"`                 // 分页}func (x *SearchPriceStatisticsRequest) Reset() {	*x = SearchPriceStatisticsRequest{}	if protoimpl.UnsafeEnabled {		mi := &file_backend_operation_statistic_proto_msgTypes[3]		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))		ms.StoreMessageInfo(mi)	}}func (x *SearchPriceStatisticsRequest) String() string {	return protoimpl.X.MessageStringOf(x)}func (*SearchPriceStatisticsRequest) ProtoMessage() {}func (x *SearchPriceStatisticsRequest) ProtoReflect() protoreflect.Message {	mi := &file_backend_operation_statistic_proto_msgTypes[3]	if protoimpl.UnsafeEnabled && x != nil {		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))		if ms.LoadMessageInfo() == nil {			ms.StoreMessageInfo(mi)		}		return ms	}	return mi.MessageOf(x)}// Deprecated: Use SearchPriceStatisticsRequest.ProtoReflect.Descriptor instead.func (*SearchPriceStatisticsRequest) Descriptor() ([]byte, []int) {	return file_backend_operation_statistic_proto_rawDescGZIP(), []int{3}}func (x *SearchPriceStatisticsRequest) GetStartTime() string {	if x != nil {		return x.StartTime	}	return ""}func (x *SearchPriceStatisticsRequest) GetEndTime() string {	if x != nil {		return x.EndTime	}	return ""}func (x *SearchPriceStatisticsRequest) GetApiName() string {	if x != nil {		return x.ApiName	}	return ""}func (x *SearchPriceStatisticsRequest) GetPastureId() int32 {	if x != nil {		return x.PastureId	}	return 0}func (x *SearchPriceStatisticsRequest) GetFeedName() string {	if x != nil {		return x.FeedName	}	return ""}func (x *SearchPriceStatisticsRequest) GetPagination() *PaginationModel {	if x != nil {		return x.Pagination	}	return nil}// SearchFeedStatisticsRequest 饲喂效率-效率统计type SearchFeedStatisticsRequest struct {	state         protoimpl.MessageState	sizeCache     protoimpl.SizeCache	unknownFields protoimpl.UnknownFields	StartTime          string           `protobuf:"bytes,1,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"`                              // 开始时间	ApiName            string           `protobuf:"bytes,2,opt,name=api_name,json=apiName,proto3" json:"api_name,omitempty"`                                    // 牧场端接口标识名称	PastureId          []int32          `protobuf:"varint,3,rep,packed,name=pasture_id,json=pastureId,proto3" json:"pasture_id,omitempty"`                      // 牧场id	FormulaTemplate    string           `protobuf:"bytes,4,opt,name=formula_template,json=formulaTemplate,proto3" json:"formula_template,omitempty"`            // 配方模板名称	BarnName           string           `protobuf:"bytes,5,opt,name=barn_name,json=barnName,proto3" json:"barn_name,omitempty"`                                 // 栏舍名称	CattleCategoryName string           `protobuf:"bytes,6,opt,name=cattle_category_name,json=cattleCategoryName,proto3" json:"cattle_category_name,omitempty"` // 畜牧类别名称	CattleCategoryId   int32            `protobuf:"varint,7,opt,name=cattle_category_id,json=cattleCategoryId,proto3" json:"cattle_category_id,omitempty"`      // 畜牧类别id	ClassNumber        int32            `protobuf:"varint,8,opt,name=class_number,json=classNumber,proto3" json:"class_number,omitempty"`                       // 班次	Pagination         *PaginationModel `protobuf:"bytes,9,opt,name=pagination,proto3" json:"pagination,omitempty"`                                             // 分页	EndTime            string           `protobuf:"bytes,10,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"`                                   // 结束时间}func (x *SearchFeedStatisticsRequest) Reset() {	*x = SearchFeedStatisticsRequest{}	if protoimpl.UnsafeEnabled {		mi := &file_backend_operation_statistic_proto_msgTypes[4]		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))		ms.StoreMessageInfo(mi)	}}func (x *SearchFeedStatisticsRequest) String() string {	return protoimpl.X.MessageStringOf(x)}func (*SearchFeedStatisticsRequest) ProtoMessage() {}func (x *SearchFeedStatisticsRequest) ProtoReflect() protoreflect.Message {	mi := &file_backend_operation_statistic_proto_msgTypes[4]	if protoimpl.UnsafeEnabled && x != nil {		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))		if ms.LoadMessageInfo() == nil {			ms.StoreMessageInfo(mi)		}		return ms	}	return mi.MessageOf(x)}// Deprecated: Use SearchFeedStatisticsRequest.ProtoReflect.Descriptor instead.func (*SearchFeedStatisticsRequest) Descriptor() ([]byte, []int) {	return file_backend_operation_statistic_proto_rawDescGZIP(), []int{4}}func (x *SearchFeedStatisticsRequest) GetStartTime() string {	if x != nil {		return x.StartTime	}	return ""}func (x *SearchFeedStatisticsRequest) GetApiName() string {	if x != nil {		return x.ApiName	}	return ""}func (x *SearchFeedStatisticsRequest) GetPastureId() []int32 {	if x != nil {		return x.PastureId	}	return nil}func (x *SearchFeedStatisticsRequest) GetFormulaTemplate() string {	if x != nil {		return x.FormulaTemplate	}	return ""}func (x *SearchFeedStatisticsRequest) GetBarnName() string {	if x != nil {		return x.BarnName	}	return ""}func (x *SearchFeedStatisticsRequest) GetCattleCategoryName() string {	if x != nil {		return x.CattleCategoryName	}	return ""}func (x *SearchFeedStatisticsRequest) GetCattleCategoryId() int32 {	if x != nil {		return x.CattleCategoryId	}	return 0}func (x *SearchFeedStatisticsRequest) GetClassNumber() int32 {	if x != nil {		return x.ClassNumber	}	return 0}func (x *SearchFeedStatisticsRequest) GetPagination() *PaginationModel {	if x != nil {		return x.Pagination	}	return nil}func (x *SearchFeedStatisticsRequest) GetEndTime() string {	if x != nil {		return x.EndTime	}	return ""}// FeedChartStatisticsRequest 饲喂效率chart图表type FeedChartStatisticsRequest struct {	state         protoimpl.MessageState	sizeCache     protoimpl.SizeCache	unknownFields protoimpl.UnknownFields	StartTime string `protobuf:"bytes,1,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"`  // 开始时间	EndTime   string `protobuf:"bytes,2,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"`        // 结束时间	PastureId int32  `protobuf:"varint,3,opt,name=pasture_id,json=pastureId,proto3" json:"pasture_id,omitempty"` // 牧场id	Status    int32  `protobuf:"varint,4,opt,name=status,proto3" json:"status,omitempty"`	ApiType   string `protobuf:"bytes,5,opt,name=api_type,json=apiType,proto3" json:"api_type,omitempty"` // mr 泌乳牛干物质采食量 sl 牛栏剩料率 hl 混料时间统计 zh 转化率 cbft 成本分析}func (x *FeedChartStatisticsRequest) Reset() {	*x = FeedChartStatisticsRequest{}	if protoimpl.UnsafeEnabled {		mi := &file_backend_operation_statistic_proto_msgTypes[5]		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))		ms.StoreMessageInfo(mi)	}}func (x *FeedChartStatisticsRequest) String() string {	return protoimpl.X.MessageStringOf(x)}func (*FeedChartStatisticsRequest) ProtoMessage() {}func (x *FeedChartStatisticsRequest) ProtoReflect() protoreflect.Message {	mi := &file_backend_operation_statistic_proto_msgTypes[5]	if protoimpl.UnsafeEnabled && x != nil {		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))		if ms.LoadMessageInfo() == nil {			ms.StoreMessageInfo(mi)		}		return ms	}	return mi.MessageOf(x)}// Deprecated: Use FeedChartStatisticsRequest.ProtoReflect.Descriptor instead.func (*FeedChartStatisticsRequest) Descriptor() ([]byte, []int) {	return file_backend_operation_statistic_proto_rawDescGZIP(), []int{5}}func (x *FeedChartStatisticsRequest) GetStartTime() string {	if x != nil {		return x.StartTime	}	return ""}func (x *FeedChartStatisticsRequest) GetEndTime() string {	if x != nil {		return x.EndTime	}	return ""}func (x *FeedChartStatisticsRequest) GetPastureId() int32 {	if x != nil {		return x.PastureId	}	return 0}func (x *FeedChartStatisticsRequest) GetStatus() int32 {	if x != nil {		return x.Status	}	return 0}func (x *FeedChartStatisticsRequest) GetApiType() string {	if x != nil {		return x.ApiType	}	return ""}// CowsAnalysisRequest 饲喂效率-牛群评估type CowsAnalysisRequest struct {	state         protoimpl.MessageState	sizeCache     protoimpl.SizeCache	unknownFields protoimpl.UnknownFields	StartTime  string           `protobuf:"bytes,1,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"`  // 开始时间	ApiName    string           `protobuf:"bytes,2,opt,name=api_name,json=apiName,proto3" json:"api_name,omitempty"`        // 牧场端接口标识名称	PastureId  int32            `protobuf:"varint,3,opt,name=pasture_id,json=pastureId,proto3" json:"pasture_id,omitempty"` // 牧场id	Pagination *PaginationModel `protobuf:"bytes,4,opt,name=pagination,proto3" json:"pagination,omitempty"`                 // 分页}func (x *CowsAnalysisRequest) Reset() {	*x = CowsAnalysisRequest{}	if protoimpl.UnsafeEnabled {		mi := &file_backend_operation_statistic_proto_msgTypes[6]		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))		ms.StoreMessageInfo(mi)	}}func (x *CowsAnalysisRequest) String() string {	return protoimpl.X.MessageStringOf(x)}func (*CowsAnalysisRequest) ProtoMessage() {}func (x *CowsAnalysisRequest) ProtoReflect() protoreflect.Message {	mi := &file_backend_operation_statistic_proto_msgTypes[6]	if protoimpl.UnsafeEnabled && x != nil {		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))		if ms.LoadMessageInfo() == nil {			ms.StoreMessageInfo(mi)		}		return ms	}	return mi.MessageOf(x)}// Deprecated: Use CowsAnalysisRequest.ProtoReflect.Descriptor instead.func (*CowsAnalysisRequest) Descriptor() ([]byte, []int) {	return file_backend_operation_statistic_proto_rawDescGZIP(), []int{6}}func (x *CowsAnalysisRequest) GetStartTime() string {	if x != nil {		return x.StartTime	}	return ""}func (x *CowsAnalysisRequest) GetApiName() string {	if x != nil {		return x.ApiName	}	return ""}func (x *CowsAnalysisRequest) GetPastureId() int32 {	if x != nil {		return x.PastureId	}	return 0}func (x *CowsAnalysisRequest) GetPagination() *PaginationModel {	if x != nil {		return x.Pagination	}	return nil}// AccuracyAggStatisticsRequest 准确性分析-汇总统计type AccuracyAggStatisticsRequest struct {	state         protoimpl.MessageState	sizeCache     protoimpl.SizeCache	unknownFields protoimpl.UnknownFields	StartTime string `protobuf:"bytes,1,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"`  // 开始时间	EndTime   string `protobuf:"bytes,2,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"`        // 结束时间	PastureId int32  `protobuf:"varint,3,opt,name=pasture_id,json=pastureId,proto3" json:"pasture_id,omitempty"` // 牧场id	Fname     string `protobuf:"bytes,4,opt,name=fname,proto3" json:"fname,omitempty"`                           // 查询名称	Sort      string `protobuf:"bytes,5,opt,name=sort,proto3" json:"sort,omitempty"`	Status    string `protobuf:"bytes,6,opt,name=status,proto3" json:"status,omitempty"`	Genre     int32  `protobuf:"varint,7,opt,name=genre,proto3" json:"genre,omitempty"`	Isdate    int32  `protobuf:"varint,8,opt,name=isdate,proto3" json:"isdate,omitempty"`	Hlwc1     int32  `protobuf:"varint,9,opt,name=hlwc1,proto3" json:"hlwc1,omitempty"`	Hlwc2     int32  `protobuf:"varint,10,opt,name=hlwc2,proto3" json:"hlwc2,omitempty"`	Hlzq1     int32  `protobuf:"varint,11,opt,name=hlzq1,proto3" json:"hlzq1,omitempty"`	Hlzq2     int32  `protobuf:"varint,12,opt,name=hlzq2,proto3" json:"hlzq2,omitempty"`	Hlzql1    int32  `protobuf:"varint,13,opt,name=hlzql1,proto3" json:"hlzql1,omitempty"`	Hlzql2    int32  `protobuf:"varint,14,opt,name=hlzql2,proto3" json:"hlzql2,omitempty"`	Slwc1     int32  `protobuf:"varint,15,opt,name=slwc1,proto3" json:"slwc1,omitempty"`	Slwc2     int32  `protobuf:"varint,16,opt,name=slwc2,proto3" json:"slwc2,omitempty"`	Slzq1     int32  `protobuf:"varint,17,opt,name=slzq1,proto3" json:"slzq1,omitempty"`	Slzq2     int32  `protobuf:"varint,18,opt,name=slzq2,proto3" json:"slzq2,omitempty"`	Slzql1    int32  `protobuf:"varint,19,opt,name=slzql1,proto3" json:"slzql1,omitempty"`	Slzql2    int32  `protobuf:"varint,20,opt,name=slzql2,proto3" json:"slzql2,omitempty"`	Projname  string `protobuf:"bytes,21,opt,name=projname,proto3" json:"projname,omitempty"`	Times     string `protobuf:"bytes,22,opt,name=Times,proto3" json:"Times,omitempty"`	IsError   bool   `protobuf:"varint,23,opt,name=is_error,json=isError,proto3" json:"is_error,omitempty"`}func (x *AccuracyAggStatisticsRequest) Reset() {	*x = AccuracyAggStatisticsRequest{}	if protoimpl.UnsafeEnabled {		mi := &file_backend_operation_statistic_proto_msgTypes[7]		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))		ms.StoreMessageInfo(mi)	}}func (x *AccuracyAggStatisticsRequest) String() string {	return protoimpl.X.MessageStringOf(x)}func (*AccuracyAggStatisticsRequest) ProtoMessage() {}func (x *AccuracyAggStatisticsRequest) ProtoReflect() protoreflect.Message {	mi := &file_backend_operation_statistic_proto_msgTypes[7]	if protoimpl.UnsafeEnabled && x != nil {		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))		if ms.LoadMessageInfo() == nil {			ms.StoreMessageInfo(mi)		}		return ms	}	return mi.MessageOf(x)}// Deprecated: Use AccuracyAggStatisticsRequest.ProtoReflect.Descriptor instead.func (*AccuracyAggStatisticsRequest) Descriptor() ([]byte, []int) {	return file_backend_operation_statistic_proto_rawDescGZIP(), []int{7}}func (x *AccuracyAggStatisticsRequest) GetStartTime() string {	if x != nil {		return x.StartTime	}	return ""}func (x *AccuracyAggStatisticsRequest) GetEndTime() string {	if x != nil {		return x.EndTime	}	return ""}func (x *AccuracyAggStatisticsRequest) GetPastureId() int32 {	if x != nil {		return x.PastureId	}	return 0}func (x *AccuracyAggStatisticsRequest) GetFname() string {	if x != nil {		return x.Fname	}	return ""}func (x *AccuracyAggStatisticsRequest) GetSort() string {	if x != nil {		return x.Sort	}	return ""}func (x *AccuracyAggStatisticsRequest) GetStatus() string {	if x != nil {		return x.Status	}	return ""}func (x *AccuracyAggStatisticsRequest) GetGenre() int32 {	if x != nil {		return x.Genre	}	return 0}func (x *AccuracyAggStatisticsRequest) GetIsdate() int32 {	if x != nil {		return x.Isdate	}	return 0}func (x *AccuracyAggStatisticsRequest) GetHlwc1() int32 {	if x != nil {		return x.Hlwc1	}	return 0}func (x *AccuracyAggStatisticsRequest) GetHlwc2() int32 {	if x != nil {		return x.Hlwc2	}	return 0}func (x *AccuracyAggStatisticsRequest) GetHlzq1() int32 {	if x != nil {		return x.Hlzq1	}	return 0}func (x *AccuracyAggStatisticsRequest) GetHlzq2() int32 {	if x != nil {		return x.Hlzq2	}	return 0}func (x *AccuracyAggStatisticsRequest) GetHlzql1() int32 {	if x != nil {		return x.Hlzql1	}	return 0}func (x *AccuracyAggStatisticsRequest) GetHlzql2() int32 {	if x != nil {		return x.Hlzql2	}	return 0}func (x *AccuracyAggStatisticsRequest) GetSlwc1() int32 {	if x != nil {		return x.Slwc1	}	return 0}func (x *AccuracyAggStatisticsRequest) GetSlwc2() int32 {	if x != nil {		return x.Slwc2	}	return 0}func (x *AccuracyAggStatisticsRequest) GetSlzq1() int32 {	if x != nil {		return x.Slzq1	}	return 0}func (x *AccuracyAggStatisticsRequest) GetSlzq2() int32 {	if x != nil {		return x.Slzq2	}	return 0}func (x *AccuracyAggStatisticsRequest) GetSlzql1() int32 {	if x != nil {		return x.Slzql1	}	return 0}func (x *AccuracyAggStatisticsRequest) GetSlzql2() int32 {	if x != nil {		return x.Slzql2	}	return 0}func (x *AccuracyAggStatisticsRequest) GetProjname() string {	if x != nil {		return x.Projname	}	return ""}func (x *AccuracyAggStatisticsRequest) GetTimes() string {	if x != nil {		return x.Times	}	return ""}func (x *AccuracyAggStatisticsRequest) GetIsError() bool {	if x != nil {		return x.IsError	}	return false}// MixFeedStatisticsRequest 准确性分析-混料统计type MixFeedStatisticsRequest struct {	state         protoimpl.MessageState	sizeCache     protoimpl.SizeCache	unknownFields protoimpl.UnknownFields	StartTime       string           `protobuf:"bytes,1,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"`                   // 开始时间	EndTime         string           `protobuf:"bytes,2,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"`                         // 结束时间	ApiName         string           `protobuf:"bytes,3,opt,name=api_name,json=apiName,proto3" json:"api_name,omitempty"`                         // 牧场端接口标识名称	PastureId       int32            `protobuf:"varint,4,opt,name=pasture_id,json=pastureId,proto3" json:"pasture_id,omitempty"`                  // 牧场id	EquipmentName   string           `protobuf:"bytes,5,opt,name=equipment_name,json=equipmentName,proto3" json:"equipment_name,omitempty"`       // 设备名称	TrainNumber     string           `protobuf:"bytes,6,opt,name=train_number,json=trainNumber,proto3" json:"train_number,omitempty"`             // 车次	ClassNumber     int32            `protobuf:"varint,7,opt,name=class_number,json=classNumber,proto3" json:"class_number,omitempty"`            // 班次	FormulationName string           `protobuf:"bytes,8,opt,name=formulation_name,json=formulationName,proto3" json:"formulation_name,omitempty"` // 配方名称	JumpType        int32            `protobuf:"varint,9,opt,name=jump_type,json=jumpType,proto3" json:"jump_type,omitempty"`                     // 跳转方式 0 手动跳转 1 自动跳转	Hlwc1           int32            `protobuf:"varint,10,opt,name=hlwc1,proto3" json:"hlwc1,omitempty"`                                          // 混料误差值1	Hlwc2           int32            `protobuf:"varint,11,opt,name=hlwc2,proto3" json:"hlwc2,omitempty"`                                          // 混料误差值2	Hlzq1           int32            `protobuf:"varint,12,opt,name=hlzq1,proto3" json:"hlzq1,omitempty"`                                          // 混料准确率1	Hlzq2           int32            `protobuf:"varint,13,opt,name=hlzq2,proto3" json:"hlzq2,omitempty"`                                          // 混料准确率2	Hlzql1          int32            `protobuf:"varint,14,opt,name=hlzql1,proto3" json:"hlzql1,omitempty"`                                        // 混料正确率1	Hlzql2          int32            `protobuf:"varint,15,opt,name=hlzql2,proto3" json:"hlzql2,omitempty"`                                        // 混料正确率2	IsError         bool             `protobuf:"varint,16,opt,name=is_error,json=isError,proto3" json:"is_error,omitempty"`                       // 只看超出预设值数据	ButtonType      string           `protobuf:"bytes,17,opt,name=button_type,json=buttonType,proto3" json:"button_type,omitempty"`	IsUse           string           `protobuf:"bytes,18,opt,name=is_use,json=isUse,proto3" json:"is_use,omitempty"`	Pagination      *PaginationModel `protobuf:"bytes,19,opt,name=pagination,proto3" json:"pagination,omitempty"` // 分页}func (x *MixFeedStatisticsRequest) Reset() {	*x = MixFeedStatisticsRequest{}	if protoimpl.UnsafeEnabled {		mi := &file_backend_operation_statistic_proto_msgTypes[8]		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))		ms.StoreMessageInfo(mi)	}}func (x *MixFeedStatisticsRequest) String() string {	return protoimpl.X.MessageStringOf(x)}func (*MixFeedStatisticsRequest) ProtoMessage() {}func (x *MixFeedStatisticsRequest) ProtoReflect() protoreflect.Message {	mi := &file_backend_operation_statistic_proto_msgTypes[8]	if protoimpl.UnsafeEnabled && x != nil {		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))		if ms.LoadMessageInfo() == nil {			ms.StoreMessageInfo(mi)		}		return ms	}	return mi.MessageOf(x)}// Deprecated: Use MixFeedStatisticsRequest.ProtoReflect.Descriptor instead.func (*MixFeedStatisticsRequest) Descriptor() ([]byte, []int) {	return file_backend_operation_statistic_proto_rawDescGZIP(), []int{8}}func (x *MixFeedStatisticsRequest) GetStartTime() string {	if x != nil {		return x.StartTime	}	return ""}func (x *MixFeedStatisticsRequest) GetEndTime() string {	if x != nil {		return x.EndTime	}	return ""}func (x *MixFeedStatisticsRequest) GetApiName() string {	if x != nil {		return x.ApiName	}	return ""}func (x *MixFeedStatisticsRequest) GetPastureId() int32 {	if x != nil {		return x.PastureId	}	return 0}func (x *MixFeedStatisticsRequest) GetEquipmentName() string {	if x != nil {		return x.EquipmentName	}	return ""}func (x *MixFeedStatisticsRequest) GetTrainNumber() string {	if x != nil {		return x.TrainNumber	}	return ""}func (x *MixFeedStatisticsRequest) GetClassNumber() int32 {	if x != nil {		return x.ClassNumber	}	return 0}func (x *MixFeedStatisticsRequest) GetFormulationName() string {	if x != nil {		return x.FormulationName	}	return ""}func (x *MixFeedStatisticsRequest) GetJumpType() int32 {	if x != nil {		return x.JumpType	}	return 0}func (x *MixFeedStatisticsRequest) GetHlwc1() int32 {	if x != nil {		return x.Hlwc1	}	return 0}func (x *MixFeedStatisticsRequest) GetHlwc2() int32 {	if x != nil {		return x.Hlwc2	}	return 0}func (x *MixFeedStatisticsRequest) GetHlzq1() int32 {	if x != nil {		return x.Hlzq1	}	return 0}func (x *MixFeedStatisticsRequest) GetHlzq2() int32 {	if x != nil {		return x.Hlzq2	}	return 0}func (x *MixFeedStatisticsRequest) GetHlzql1() int32 {	if x != nil {		return x.Hlzql1	}	return 0}func (x *MixFeedStatisticsRequest) GetHlzql2() int32 {	if x != nil {		return x.Hlzql2	}	return 0}func (x *MixFeedStatisticsRequest) GetIsError() bool {	if x != nil {		return x.IsError	}	return false}func (x *MixFeedStatisticsRequest) GetButtonType() string {	if x != nil {		return x.ButtonType	}	return ""}func (x *MixFeedStatisticsRequest) GetIsUse() string {	if x != nil {		return x.IsUse	}	return ""}func (x *MixFeedStatisticsRequest) GetPagination() *PaginationModel {	if x != nil {		return x.Pagination	}	return nil}// SprinkleStatisticsRequest 准确性分析-撒料统计type SprinkleStatisticsRequest struct {	state         protoimpl.MessageState	sizeCache     protoimpl.SizeCache	unknownFields protoimpl.UnknownFields	StartTime       string           `protobuf:"bytes,1,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"`                   // 开始时间	EndTime         string           `protobuf:"bytes,2,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"`                         // 结束时间	ApiName         string           `protobuf:"bytes,3,opt,name=api_name,json=apiName,proto3" json:"api_name,omitempty"`                         // 牧场端接口标识名称	PastureId       int32            `protobuf:"varint,4,opt,name=pasture_id,json=pastureId,proto3" json:"pasture_id,omitempty"`                  // 牧场id	EquipmentName   string           `protobuf:"bytes,5,opt,name=equipment_name,json=equipmentName,proto3" json:"equipment_name,omitempty"`       // tmr设备名称	TrainNumber     string           `protobuf:"bytes,6,opt,name=train_number,json=trainNumber,proto3" json:"train_number,omitempty"`             // 车次	ClassNumber     int32            `protobuf:"varint,7,opt,name=class_number,json=classNumber,proto3" json:"class_number,omitempty"`            // 班次	FormulationName string           `protobuf:"bytes,8,opt,name=formulation_name,json=formulationName,proto3" json:"formulation_name,omitempty"` // 配方名称	BarnName        string           `protobuf:"bytes,9,opt,name=barn_name,json=barnName,proto3" json:"barn_name,omitempty"`                      // 栏舍名称	JumpType        int32            `protobuf:"varint,10,opt,name=jump_type,json=jumpType,proto3" json:"jump_type,omitempty"`                    // 跳转方式 0 手动跳转 1 自动跳转	Slwc1           int32            `protobuf:"varint,11,opt,name=slwc1,proto3" json:"slwc1,omitempty"`                                          // 撒料误差值1	Slwc2           int32            `protobuf:"varint,12,opt,name=slwc2,proto3" json:"slwc2,omitempty"`                                          // 撒料误差值2	Slzq1           int32            `protobuf:"varint,13,opt,name=slzq1,proto3" json:"slzq1,omitempty"`                                          // 撒料准确率1	Slzq2           int32            `protobuf:"varint,14,opt,name=slzq2,proto3" json:"slzq2,omitempty"`                                          // 撒料准确率2	Slzql1          int32            `protobuf:"varint,15,opt,name=slzql1,proto3" json:"slzql1,omitempty"`                                        // 撒料正确率1	Slzql2          int32            `protobuf:"varint,16,opt,name=slzql2,proto3" json:"slzql2,omitempty"`                                        // 撒料正确率2	IsError         bool             `protobuf:"varint,17,opt,name=is_error,json=isError,proto3" json:"is_error,omitempty"`                       // 只看超出预设值数据	ButtonType      string           `protobuf:"bytes,18,opt,name=button_type,json=buttonType,proto3" json:"button_type,omitempty"`	IsUse           string           `protobuf:"bytes,19,opt,name=is_use,json=isUse,proto3" json:"is_use,omitempty"`	Pagination      *PaginationModel `protobuf:"bytes,20,opt,name=pagination,proto3" json:"pagination,omitempty"` // 分页}func (x *SprinkleStatisticsRequest) Reset() {	*x = SprinkleStatisticsRequest{}	if protoimpl.UnsafeEnabled {		mi := &file_backend_operation_statistic_proto_msgTypes[9]		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))		ms.StoreMessageInfo(mi)	}}func (x *SprinkleStatisticsRequest) String() string {	return protoimpl.X.MessageStringOf(x)}func (*SprinkleStatisticsRequest) ProtoMessage() {}func (x *SprinkleStatisticsRequest) ProtoReflect() protoreflect.Message {	mi := &file_backend_operation_statistic_proto_msgTypes[9]	if protoimpl.UnsafeEnabled && x != nil {		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))		if ms.LoadMessageInfo() == nil {			ms.StoreMessageInfo(mi)		}		return ms	}	return mi.MessageOf(x)}// Deprecated: Use SprinkleStatisticsRequest.ProtoReflect.Descriptor instead.func (*SprinkleStatisticsRequest) Descriptor() ([]byte, []int) {	return file_backend_operation_statistic_proto_rawDescGZIP(), []int{9}}func (x *SprinkleStatisticsRequest) GetStartTime() string {	if x != nil {		return x.StartTime	}	return ""}func (x *SprinkleStatisticsRequest) GetEndTime() string {	if x != nil {		return x.EndTime	}	return ""}func (x *SprinkleStatisticsRequest) GetApiName() string {	if x != nil {		return x.ApiName	}	return ""}func (x *SprinkleStatisticsRequest) GetPastureId() int32 {	if x != nil {		return x.PastureId	}	return 0}func (x *SprinkleStatisticsRequest) GetEquipmentName() string {	if x != nil {		return x.EquipmentName	}	return ""}func (x *SprinkleStatisticsRequest) GetTrainNumber() string {	if x != nil {		return x.TrainNumber	}	return ""}func (x *SprinkleStatisticsRequest) GetClassNumber() int32 {	if x != nil {		return x.ClassNumber	}	return 0}func (x *SprinkleStatisticsRequest) GetFormulationName() string {	if x != nil {		return x.FormulationName	}	return ""}func (x *SprinkleStatisticsRequest) GetBarnName() string {	if x != nil {		return x.BarnName	}	return ""}func (x *SprinkleStatisticsRequest) GetJumpType() int32 {	if x != nil {		return x.JumpType	}	return 0}func (x *SprinkleStatisticsRequest) GetSlwc1() int32 {	if x != nil {		return x.Slwc1	}	return 0}func (x *SprinkleStatisticsRequest) GetSlwc2() int32 {	if x != nil {		return x.Slwc2	}	return 0}func (x *SprinkleStatisticsRequest) GetSlzq1() int32 {	if x != nil {		return x.Slzq1	}	return 0}func (x *SprinkleStatisticsRequest) GetSlzq2() int32 {	if x != nil {		return x.Slzq2	}	return 0}func (x *SprinkleStatisticsRequest) GetSlzql1() int32 {	if x != nil {		return x.Slzql1	}	return 0}func (x *SprinkleStatisticsRequest) GetSlzql2() int32 {	if x != nil {		return x.Slzql2	}	return 0}func (x *SprinkleStatisticsRequest) GetIsError() bool {	if x != nil {		return x.IsError	}	return false}func (x *SprinkleStatisticsRequest) GetButtonType() string {	if x != nil {		return x.ButtonType	}	return ""}func (x *SprinkleStatisticsRequest) GetIsUse() string {	if x != nil {		return x.IsUse	}	return ""}func (x *SprinkleStatisticsRequest) GetPagination() *PaginationModel {	if x != nil {		return x.Pagination	}	return nil}// GetDataByNameRequesttype GetDataByNameRequest struct {	state         protoimpl.MessageState	sizeCache     protoimpl.SizeCache	unknownFields protoimpl.UnknownFields	StartTime string `protobuf:"bytes,1,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"`  // 开始时间	EndTime   string `protobuf:"bytes,2,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"`        // 结束时间	ApiName   string `protobuf:"bytes,3,opt,name=api_name,json=apiName,proto3" json:"api_name,omitempty"`        // 牧场端接口标识名称	PastureId int32  `protobuf:"varint,4,opt,name=pasture_id,json=pastureId,proto3" json:"pasture_id,omitempty"` // 牧场id}func (x *GetDataByNameRequest) Reset() {	*x = GetDataByNameRequest{}	if protoimpl.UnsafeEnabled {		mi := &file_backend_operation_statistic_proto_msgTypes[10]		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))		ms.StoreMessageInfo(mi)	}}func (x *GetDataByNameRequest) String() string {	return protoimpl.X.MessageStringOf(x)}func (*GetDataByNameRequest) ProtoMessage() {}func (x *GetDataByNameRequest) ProtoReflect() protoreflect.Message {	mi := &file_backend_operation_statistic_proto_msgTypes[10]	if protoimpl.UnsafeEnabled && x != nil {		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))		if ms.LoadMessageInfo() == nil {			ms.StoreMessageInfo(mi)		}		return ms	}	return mi.MessageOf(x)}// Deprecated: Use GetDataByNameRequest.ProtoReflect.Descriptor instead.func (*GetDataByNameRequest) Descriptor() ([]byte, []int) {	return file_backend_operation_statistic_proto_rawDescGZIP(), []int{10}}func (x *GetDataByNameRequest) GetStartTime() string {	if x != nil {		return x.StartTime	}	return ""}func (x *GetDataByNameRequest) GetEndTime() string {	if x != nil {		return x.EndTime	}	return ""}func (x *GetDataByNameRequest) GetApiName() string {	if x != nil {		return x.ApiName	}	return ""}func (x *GetDataByNameRequest) GetPastureId() int32 {	if x != nil {		return x.PastureId	}	return 0}// ProcessAnalysisRequest 过程分析type ProcessAnalysisRequest struct {	state         protoimpl.MessageState	sizeCache     protoimpl.SizeCache	unknownFields protoimpl.UnknownFields	StartTime   string           `protobuf:"bytes,1,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"`         // 开始时间	EndTime     string           `protobuf:"bytes,2,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"`               // 结束时间	ApiName     string           `protobuf:"bytes,3,opt,name=api_name,json=apiName,proto3" json:"api_name,omitempty"`               // 牧场端接口标识名称	PastureId   int32            `protobuf:"varint,4,opt,name=pasture_id,json=pastureId,proto3" json:"pasture_id,omitempty"`        // 牧场id	PlanType    int32            `protobuf:"varint,5,opt,name=plan_type,json=planType,proto3" json:"plan_type,omitempty"`           // 计划类型	TmrName     []string         `protobuf:"bytes,6,rep,name=tmr_name,json=tmrName,proto3" json:"tmr_name,omitempty"`               // TMR名称	ErrorRange  string           `protobuf:"bytes,7,opt,name=error_range,json=errorRange,proto3" json:"error_range,omitempty"`      // 误差筛选范围	WorkStatus  string           `protobuf:"bytes,8,opt,name=work_status,json=workStatus,proto3" json:"work_status,omitempty"`      // 工作状态	MixFeedType string           `protobuf:"bytes,9,opt,name=mix_feed_type,json=mixFeedType,proto3" json:"mix_feed_type,omitempty"` // 混料类别	Hlwc1       int32            `protobuf:"varint,10,opt,name=hlwc1,proto3" json:"hlwc1,omitempty"`                                // 混料误差值1	Hlwc2       int32            `protobuf:"varint,11,opt,name=hlwc2,proto3" json:"hlwc2,omitempty"`                                // 混料误差值2	Hlzq1       int32            `protobuf:"varint,12,opt,name=hlzq1,proto3" json:"hlzq1,omitempty"`                                // 混料准确率1	Hlzq2       int32            `protobuf:"varint,13,opt,name=hlzq2,proto3" json:"hlzq2,omitempty"`                                // 混料准确率2	Slwc1       int32            `protobuf:"varint,14,opt,name=slwc1,proto3" json:"slwc1,omitempty"`                                // 撒料误差值1	Slwc2       int32            `protobuf:"varint,15,opt,name=slwc2,proto3" json:"slwc2,omitempty"`                                // 撒料误差值2	Slzq1       int32            `protobuf:"varint,16,opt,name=slzq1,proto3" json:"slzq1,omitempty"`                                // 撒料准确率1	Slzq2       int32            `protobuf:"varint,17,opt,name=slzq2,proto3" json:"slzq2,omitempty"`                                // 撒料准确率2	Pagination  *PaginationModel `protobuf:"bytes,18,opt,name=pagination,proto3" json:"pagination,omitempty"`                       // 分页}func (x *ProcessAnalysisRequest) Reset() {	*x = ProcessAnalysisRequest{}	if protoimpl.UnsafeEnabled {		mi := &file_backend_operation_statistic_proto_msgTypes[11]		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))		ms.StoreMessageInfo(mi)	}}func (x *ProcessAnalysisRequest) String() string {	return protoimpl.X.MessageStringOf(x)}func (*ProcessAnalysisRequest) ProtoMessage() {}func (x *ProcessAnalysisRequest) ProtoReflect() protoreflect.Message {	mi := &file_backend_operation_statistic_proto_msgTypes[11]	if protoimpl.UnsafeEnabled && x != nil {		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))		if ms.LoadMessageInfo() == nil {			ms.StoreMessageInfo(mi)		}		return ms	}	return mi.MessageOf(x)}// Deprecated: Use ProcessAnalysisRequest.ProtoReflect.Descriptor instead.func (*ProcessAnalysisRequest) Descriptor() ([]byte, []int) {	return file_backend_operation_statistic_proto_rawDescGZIP(), []int{11}}func (x *ProcessAnalysisRequest) GetStartTime() string {	if x != nil {		return x.StartTime	}	return ""}func (x *ProcessAnalysisRequest) GetEndTime() string {	if x != nil {		return x.EndTime	}	return ""}func (x *ProcessAnalysisRequest) GetApiName() string {	if x != nil {		return x.ApiName	}	return ""}func (x *ProcessAnalysisRequest) GetPastureId() int32 {	if x != nil {		return x.PastureId	}	return 0}func (x *ProcessAnalysisRequest) GetPlanType() int32 {	if x != nil {		return x.PlanType	}	return 0}func (x *ProcessAnalysisRequest) GetTmrName() []string {	if x != nil {		return x.TmrName	}	return nil}func (x *ProcessAnalysisRequest) GetErrorRange() string {	if x != nil {		return x.ErrorRange	}	return ""}func (x *ProcessAnalysisRequest) GetWorkStatus() string {	if x != nil {		return x.WorkStatus	}	return ""}func (x *ProcessAnalysisRequest) GetMixFeedType() string {	if x != nil {		return x.MixFeedType	}	return ""}func (x *ProcessAnalysisRequest) GetHlwc1() int32 {	if x != nil {		return x.Hlwc1	}	return 0}func (x *ProcessAnalysisRequest) GetHlwc2() int32 {	if x != nil {		return x.Hlwc2	}	return 0}func (x *ProcessAnalysisRequest) GetHlzq1() int32 {	if x != nil {		return x.Hlzq1	}	return 0}func (x *ProcessAnalysisRequest) GetHlzq2() int32 {	if x != nil {		return x.Hlzq2	}	return 0}func (x *ProcessAnalysisRequest) GetSlwc1() int32 {	if x != nil {		return x.Slwc1	}	return 0}func (x *ProcessAnalysisRequest) GetSlwc2() int32 {	if x != nil {		return x.Slwc2	}	return 0}func (x *ProcessAnalysisRequest) GetSlzq1() int32 {	if x != nil {		return x.Slzq1	}	return 0}func (x *ProcessAnalysisRequest) GetSlzq2() int32 {	if x != nil {		return x.Slzq2	}	return 0}func (x *ProcessAnalysisRequest) GetPagination() *PaginationModel {	if x != nil {		return x.Pagination	}	return nil}// ProcessMixedSprinkleDetailRequesttype ProcessMixedSprinkleDetailRequest struct {	state         protoimpl.MessageState	sizeCache     protoimpl.SizeCache	unknownFields protoimpl.UnknownFields	ApiName    string           `protobuf:"bytes,1,opt,name=api_name,json=apiName,proto3" json:"api_name,omitempty"`	PastureId  int32            `protobuf:"varint,2,opt,name=pasture_id,json=pastureId,proto3" json:"pasture_id,omitempty"`	Pid        string           `protobuf:"bytes,3,opt,name=pid,proto3" json:"pid,omitempty"`	FclassId   string           `protobuf:"bytes,4,opt,name=fclass_id,json=fclassId,proto3" json:"fclass_id,omitempty"`	Id         string           `protobuf:"bytes,5,opt,name=id,proto3" json:"id,omitempty"`	Pagination *PaginationModel `protobuf:"bytes,6,opt,name=pagination,proto3" json:"pagination,omitempty"` // 分页}func (x *ProcessMixedSprinkleDetailRequest) Reset() {	*x = ProcessMixedSprinkleDetailRequest{}	if protoimpl.UnsafeEnabled {		mi := &file_backend_operation_statistic_proto_msgTypes[12]		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))		ms.StoreMessageInfo(mi)	}}func (x *ProcessMixedSprinkleDetailRequest) String() string {	return protoimpl.X.MessageStringOf(x)}func (*ProcessMixedSprinkleDetailRequest) ProtoMessage() {}func (x *ProcessMixedSprinkleDetailRequest) ProtoReflect() protoreflect.Message {	mi := &file_backend_operation_statistic_proto_msgTypes[12]	if protoimpl.UnsafeEnabled && x != nil {		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))		if ms.LoadMessageInfo() == nil {			ms.StoreMessageInfo(mi)		}		return ms	}	return mi.MessageOf(x)}// Deprecated: Use ProcessMixedSprinkleDetailRequest.ProtoReflect.Descriptor instead.func (*ProcessMixedSprinkleDetailRequest) Descriptor() ([]byte, []int) {	return file_backend_operation_statistic_proto_rawDescGZIP(), []int{12}}func (x *ProcessMixedSprinkleDetailRequest) GetApiName() string {	if x != nil {		return x.ApiName	}	return ""}func (x *ProcessMixedSprinkleDetailRequest) GetPastureId() int32 {	if x != nil {		return x.PastureId	}	return 0}func (x *ProcessMixedSprinkleDetailRequest) GetPid() string {	if x != nil {		return x.Pid	}	return ""}func (x *ProcessMixedSprinkleDetailRequest) GetFclassId() string {	if x != nil {		return x.FclassId	}	return ""}func (x *ProcessMixedSprinkleDetailRequest) GetId() string {	if x != nil {		return x.Id	}	return ""}func (x *ProcessMixedSprinkleDetailRequest) GetPagination() *PaginationModel {	if x != nil {		return x.Pagination	}	return nil}type TrainNumberRequest struct {	state         protoimpl.MessageState	sizeCache     protoimpl.SizeCache	unknownFields protoimpl.UnknownFields	ApiName    string           `protobuf:"bytes,1,opt,name=api_name,json=apiName,proto3" json:"api_name,omitempty"`        // 牧场端接口标识名称	PastureId  int32            `protobuf:"varint,2,opt,name=pasture_id,json=pastureId,proto3" json:"pasture_id,omitempty"` // 牧场id	InfoName   string           `protobuf:"bytes,3,opt,name=info_name,json=infoName,proto3" json:"info_name,omitempty"`	Pagination *PaginationModel `protobuf:"bytes,4,opt,name=pagination,proto3" json:"pagination,omitempty"` // 分页}func (x *TrainNumberRequest) Reset() {	*x = TrainNumberRequest{}	if protoimpl.UnsafeEnabled {		mi := &file_backend_operation_statistic_proto_msgTypes[13]		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))		ms.StoreMessageInfo(mi)	}}func (x *TrainNumberRequest) String() string {	return protoimpl.X.MessageStringOf(x)}func (*TrainNumberRequest) ProtoMessage() {}func (x *TrainNumberRequest) ProtoReflect() protoreflect.Message {	mi := &file_backend_operation_statistic_proto_msgTypes[13]	if protoimpl.UnsafeEnabled && x != nil {		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))		if ms.LoadMessageInfo() == nil {			ms.StoreMessageInfo(mi)		}		return ms	}	return mi.MessageOf(x)}// Deprecated: Use TrainNumberRequest.ProtoReflect.Descriptor instead.func (*TrainNumberRequest) Descriptor() ([]byte, []int) {	return file_backend_operation_statistic_proto_rawDescGZIP(), []int{13}}func (x *TrainNumberRequest) GetApiName() string {	if x != nil {		return x.ApiName	}	return ""}func (x *TrainNumberRequest) GetPastureId() int32 {	if x != nil {		return x.PastureId	}	return 0}func (x *TrainNumberRequest) GetInfoName() string {	if x != nil {		return x.InfoName	}	return ""}func (x *TrainNumberRequest) GetPagination() *PaginationModel {	if x != nil {		return x.Pagination	}	return nil}type TrainNumberResponse struct {	state         protoimpl.MessageState	sizeCache     protoimpl.SizeCache	unknownFields protoimpl.UnknownFields	Code int32            `protobuf:"varint,1,opt,name=code,proto3" json:"code,omitempty"`	Msg  string           `protobuf:"bytes,2,opt,name=msg,proto3" json:"msg,omitempty"`	Data *TrainNumberData `protobuf:"bytes,3,opt,name=data,proto3" json:"data,omitempty"`}func (x *TrainNumberResponse) Reset() {	*x = TrainNumberResponse{}	if protoimpl.UnsafeEnabled {		mi := &file_backend_operation_statistic_proto_msgTypes[14]		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))		ms.StoreMessageInfo(mi)	}}func (x *TrainNumberResponse) String() string {	return protoimpl.X.MessageStringOf(x)}func (*TrainNumberResponse) ProtoMessage() {}func (x *TrainNumberResponse) ProtoReflect() protoreflect.Message {	mi := &file_backend_operation_statistic_proto_msgTypes[14]	if protoimpl.UnsafeEnabled && x != nil {		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))		if ms.LoadMessageInfo() == nil {			ms.StoreMessageInfo(mi)		}		return ms	}	return mi.MessageOf(x)}// Deprecated: Use TrainNumberResponse.ProtoReflect.Descriptor instead.func (*TrainNumberResponse) Descriptor() ([]byte, []int) {	return file_backend_operation_statistic_proto_rawDescGZIP(), []int{14}}func (x *TrainNumberResponse) GetCode() int32 {	if x != nil {		return x.Code	}	return 0}func (x *TrainNumberResponse) GetMsg() string {	if x != nil {		return x.Msg	}	return ""}func (x *TrainNumberResponse) GetData() *TrainNumberData {	if x != nil {		return x.Data	}	return nil}type TrainNumberData struct {	state         protoimpl.MessageState	sizeCache     protoimpl.SizeCache	unknownFields protoimpl.UnknownFields	List []*FormulaOptionEnum `protobuf:"bytes,1,rep,name=list,proto3" json:"list,omitempty"`}func (x *TrainNumberData) Reset() {	*x = TrainNumberData{}	if protoimpl.UnsafeEnabled {		mi := &file_backend_operation_statistic_proto_msgTypes[15]		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))		ms.StoreMessageInfo(mi)	}}func (x *TrainNumberData) String() string {	return protoimpl.X.MessageStringOf(x)}func (*TrainNumberData) ProtoMessage() {}func (x *TrainNumberData) ProtoReflect() protoreflect.Message {	mi := &file_backend_operation_statistic_proto_msgTypes[15]	if protoimpl.UnsafeEnabled && x != nil {		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))		if ms.LoadMessageInfo() == nil {			ms.StoreMessageInfo(mi)		}		return ms	}	return mi.MessageOf(x)}// Deprecated: Use TrainNumberData.ProtoReflect.Descriptor instead.func (*TrainNumberData) Descriptor() ([]byte, []int) {	return file_backend_operation_statistic_proto_rawDescGZIP(), []int{15}}func (x *TrainNumberData) GetList() []*FormulaOptionEnum {	if x != nil {		return x.List	}	return nil}// 首页 dashboard 准确性分析type SearchAnalysisAccuracyRequest struct {	state         protoimpl.MessageState	sizeCache     protoimpl.SizeCache	unknownFields protoimpl.UnknownFields	CattleParentCategoryId CattleCategoryParent_Kind `protobuf:"varint,1,opt,name=cattle_parent_category_id,json=cattleParentCategoryId,proto3,enum=backend.operation.CattleCategoryParent_Kind" json:"cattle_parent_category_id,omitempty"` // 牧畜分类id 泌乳牛	FeedFormulaId          int32                     `protobuf:"varint,2,opt,name=feed_formula_id,json=feedFormulaId,proto3" json:"feed_formula_id,omitempty"`                                                                               // 配方id	StartDate              string                    `protobuf:"bytes,3,opt,name=start_date,json=startDate,proto3" json:"start_date,omitempty"`                                                                                              // 开始时间	EndDate                string                    `protobuf:"bytes,4,opt,name=end_date,json=endDate,proto3" json:"end_date,omitempty"`                                                                                                    // 结束时间	PastureIds             []int32                   `protobuf:"varint,5,rep,packed,name=pasture_ids,json=pastureIds,proto3" json:"pasture_ids,omitempty"`                                                                                   //牧场ids	TopRandStart           float32                   `protobuf:"fixed32,6,opt,name=top_rand_start,json=topRandStart,proto3" json:"top_rand_start,omitempty"`                                                                                 // 排名区间开始位	TopRandEnd             float32                   `protobuf:"fixed32,7,opt,name=top_rand_end,json=topRandEnd,proto3" json:"top_rand_end,omitempty"`                                                                                       // 排名区间结束位	DashboardTopType       DashboardTopType_Kind     `protobuf:"varint,8,opt,name=dashboard_top_type,json=dashboardTopType,proto3,enum=backend.operation.DashboardTopType_Kind" json:"dashboard_top_type,omitempty"`                         // 排序区间标识}func (x *SearchAnalysisAccuracyRequest) Reset() {	*x = SearchAnalysisAccuracyRequest{}	if protoimpl.UnsafeEnabled {		mi := &file_backend_operation_statistic_proto_msgTypes[16]		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))		ms.StoreMessageInfo(mi)	}}func (x *SearchAnalysisAccuracyRequest) String() string {	return protoimpl.X.MessageStringOf(x)}func (*SearchAnalysisAccuracyRequest) ProtoMessage() {}func (x *SearchAnalysisAccuracyRequest) ProtoReflect() protoreflect.Message {	mi := &file_backend_operation_statistic_proto_msgTypes[16]	if protoimpl.UnsafeEnabled && x != nil {		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))		if ms.LoadMessageInfo() == nil {			ms.StoreMessageInfo(mi)		}		return ms	}	return mi.MessageOf(x)}// Deprecated: Use SearchAnalysisAccuracyRequest.ProtoReflect.Descriptor instead.func (*SearchAnalysisAccuracyRequest) Descriptor() ([]byte, []int) {	return file_backend_operation_statistic_proto_rawDescGZIP(), []int{16}}func (x *SearchAnalysisAccuracyRequest) GetCattleParentCategoryId() CattleCategoryParent_Kind {	if x != nil {		return x.CattleParentCategoryId	}	return CattleCategoryParent_INVALID}func (x *SearchAnalysisAccuracyRequest) GetFeedFormulaId() int32 {	if x != nil {		return x.FeedFormulaId	}	return 0}func (x *SearchAnalysisAccuracyRequest) GetStartDate() string {	if x != nil {		return x.StartDate	}	return ""}func (x *SearchAnalysisAccuracyRequest) GetEndDate() string {	if x != nil {		return x.EndDate	}	return ""}func (x *SearchAnalysisAccuracyRequest) GetPastureIds() []int32 {	if x != nil {		return x.PastureIds	}	return nil}func (x *SearchAnalysisAccuracyRequest) GetTopRandStart() float32 {	if x != nil {		return x.TopRandStart	}	return 0}func (x *SearchAnalysisAccuracyRequest) GetTopRandEnd() float32 {	if x != nil {		return x.TopRandEnd	}	return 0}func (x *SearchAnalysisAccuracyRequest) GetDashboardTopType() DashboardTopType_Kind {	if x != nil {		return x.DashboardTopType	}	return DashboardTopType_INVALID}type SearchAnalysisAccuracyResponse struct {	state         protoimpl.MessageState	sizeCache     protoimpl.SizeCache	unknownFields protoimpl.UnknownFields	Code int32             `protobuf:"varint,1,opt,name=code,proto3" json:"code,omitempty"`	Msg  string            `protobuf:"bytes,2,opt,name=msg,proto3" json:"msg,omitempty"`	Data *AnalysisAccuracy `protobuf:"bytes,3,opt,name=data,proto3" json:"data,omitempty"`}func (x *SearchAnalysisAccuracyResponse) Reset() {	*x = SearchAnalysisAccuracyResponse{}	if protoimpl.UnsafeEnabled {		mi := &file_backend_operation_statistic_proto_msgTypes[17]		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))		ms.StoreMessageInfo(mi)	}}func (x *SearchAnalysisAccuracyResponse) String() string {	return protoimpl.X.MessageStringOf(x)}func (*SearchAnalysisAccuracyResponse) ProtoMessage() {}func (x *SearchAnalysisAccuracyResponse) ProtoReflect() protoreflect.Message {	mi := &file_backend_operation_statistic_proto_msgTypes[17]	if protoimpl.UnsafeEnabled && x != nil {		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))		if ms.LoadMessageInfo() == nil {			ms.StoreMessageInfo(mi)		}		return ms	}	return mi.MessageOf(x)}// Deprecated: Use SearchAnalysisAccuracyResponse.ProtoReflect.Descriptor instead.func (*SearchAnalysisAccuracyResponse) Descriptor() ([]byte, []int) {	return file_backend_operation_statistic_proto_rawDescGZIP(), []int{17}}func (x *SearchAnalysisAccuracyResponse) GetCode() int32 {	if x != nil {		return x.Code	}	return 0}func (x *SearchAnalysisAccuracyResponse) GetMsg() string {	if x != nil {		return x.Msg	}	return ""}func (x *SearchAnalysisAccuracyResponse) GetData() *AnalysisAccuracy {	if x != nil {		return x.Data	}	return nil}type AnalysisAccuracy struct {	state         protoimpl.MessageState	sizeCache     protoimpl.SizeCache	unknownFields protoimpl.UnknownFields	Chart *Chart `protobuf:"bytes,1,opt,name=chart,proto3" json:"chart,omitempty"`	Table *Table `protobuf:"bytes,2,opt,name=table,proto3" json:"table,omitempty"`}func (x *AnalysisAccuracy) Reset() {	*x = AnalysisAccuracy{}	if protoimpl.UnsafeEnabled {		mi := &file_backend_operation_statistic_proto_msgTypes[18]		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))		ms.StoreMessageInfo(mi)	}}func (x *AnalysisAccuracy) String() string {	return protoimpl.X.MessageStringOf(x)}func (*AnalysisAccuracy) ProtoMessage() {}func (x *AnalysisAccuracy) ProtoReflect() protoreflect.Message {	mi := &file_backend_operation_statistic_proto_msgTypes[18]	if protoimpl.UnsafeEnabled && x != nil {		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))		if ms.LoadMessageInfo() == nil {			ms.StoreMessageInfo(mi)		}		return ms	}	return mi.MessageOf(x)}// Deprecated: Use AnalysisAccuracy.ProtoReflect.Descriptor instead.func (*AnalysisAccuracy) Descriptor() ([]byte, []int) {	return file_backend_operation_statistic_proto_rawDescGZIP(), []int{18}}func (x *AnalysisAccuracy) GetChart() *Chart {	if x != nil {		return x.Chart	}	return nil}func (x *AnalysisAccuracy) GetTable() *Table {	if x != nil {		return x.Table	}	return nil}type Chart struct {	state         protoimpl.MessageState	sizeCache     protoimpl.SizeCache	unknownFields protoimpl.UnknownFields	MixedFodderAccurateRatio    *CommonValueRatio `protobuf:"bytes,4,opt,name=mixed_fodder_accurate_ratio,json=mixedFodderAccurateRatio,proto3" json:"mixed_fodder_accurate_ratio,omitempty"`          // 混料准确率	MixedFodderCorrectRatio     *CommonValueRatio `protobuf:"bytes,5,opt,name=mixed_fodder_correct_ratio,json=mixedFodderCorrectRatio,proto3" json:"mixed_fodder_correct_ratio,omitempty"`             // 混料正确率	SprinkleFodderAccurateRatio *CommonValueRatio `protobuf:"bytes,6,opt,name=sprinkle_fodder_accurate_ratio,json=sprinkleFodderAccurateRatio,proto3" json:"sprinkle_fodder_accurate_ratio,omitempty"` // 撒料准确率	SprinkleFodderCorrectRatio  *CommonValueRatio `protobuf:"bytes,7,opt,name=sprinkle_fodder_correct_ratio,json=sprinkleFodderCorrectRatio,proto3" json:"sprinkle_fodder_correct_ratio,omitempty"`    // 撒料正确率}func (x *Chart) Reset() {	*x = Chart{}	if protoimpl.UnsafeEnabled {		mi := &file_backend_operation_statistic_proto_msgTypes[19]		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))		ms.StoreMessageInfo(mi)	}}func (x *Chart) String() string {	return protoimpl.X.MessageStringOf(x)}func (*Chart) ProtoMessage() {}func (x *Chart) ProtoReflect() protoreflect.Message {	mi := &file_backend_operation_statistic_proto_msgTypes[19]	if protoimpl.UnsafeEnabled && x != nil {		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))		if ms.LoadMessageInfo() == nil {			ms.StoreMessageInfo(mi)		}		return ms	}	return mi.MessageOf(x)}// Deprecated: Use Chart.ProtoReflect.Descriptor instead.func (*Chart) Descriptor() ([]byte, []int) {	return file_backend_operation_statistic_proto_rawDescGZIP(), []int{19}}func (x *Chart) GetMixedFodderAccurateRatio() *CommonValueRatio {	if x != nil {		return x.MixedFodderAccurateRatio	}	return nil}func (x *Chart) GetMixedFodderCorrectRatio() *CommonValueRatio {	if x != nil {		return x.MixedFodderCorrectRatio	}	return nil}func (x *Chart) GetSprinkleFodderAccurateRatio() *CommonValueRatio {	if x != nil {		return x.SprinkleFodderAccurateRatio	}	return nil}func (x *Chart) GetSprinkleFodderCorrectRatio() *CommonValueRatio {	if x != nil {		return x.SprinkleFodderCorrectRatio	}	return nil}type Table struct {	state         protoimpl.MessageState	sizeCache     protoimpl.SizeCache	unknownFields protoimpl.UnknownFields	TableList []*Table_TableList `protobuf:"bytes,1,rep,name=table_list,json=tableList,proto3" json:"table_list,omitempty"`}func (x *Table) Reset() {	*x = Table{}	if protoimpl.UnsafeEnabled {		mi := &file_backend_operation_statistic_proto_msgTypes[20]		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))		ms.StoreMessageInfo(mi)	}}func (x *Table) String() string {	return protoimpl.X.MessageStringOf(x)}func (*Table) ProtoMessage() {}func (x *Table) ProtoReflect() protoreflect.Message {	mi := &file_backend_operation_statistic_proto_msgTypes[20]	if protoimpl.UnsafeEnabled && x != nil {		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))		if ms.LoadMessageInfo() == nil {			ms.StoreMessageInfo(mi)		}		return ms	}	return mi.MessageOf(x)}// Deprecated: Use Table.ProtoReflect.Descriptor instead.func (*Table) Descriptor() ([]byte, []int) {	return file_backend_operation_statistic_proto_rawDescGZIP(), []int{20}}func (x *Table) GetTableList() []*Table_TableList {	if x != nil {		return x.TableList	}	return nil}type CommonValueRatio struct {	state         protoimpl.MessageState	sizeCache     protoimpl.SizeCache	unknownFields protoimpl.UnknownFields	MaxValue    string        `protobuf:"bytes,1,opt,name=max_value,json=maxValue,proto3" json:"max_value,omitempty"`          // 最高值	MiddleValue string        `protobuf:"bytes,2,opt,name=middle_value,json=middleValue,proto3" json:"middle_value,omitempty"` // 中位值	MinValue    string        `protobuf:"bytes,3,opt,name=min_value,json=minValue,proto3" json:"min_value,omitempty"`          // 最低值	DataList    []*ValueRatio `protobuf:"bytes,4,rep,name=data_list,json=dataList,proto3" json:"data_list,omitempty"`          // 数据集合	PastureName []string      `protobuf:"bytes,5,rep,name=pasture_name,json=pastureName,proto3" json:"pasture_name,omitempty"` // 牧场名称集合	DateDay     []string      `protobuf:"bytes,6,rep,name=date_day,json=dateDay,proto3" json:"date_day,omitempty"`             // 日期集合}func (x *CommonValueRatio) Reset() {	*x = CommonValueRatio{}	if protoimpl.UnsafeEnabled {		mi := &file_backend_operation_statistic_proto_msgTypes[21]		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))		ms.StoreMessageInfo(mi)	}}func (x *CommonValueRatio) String() string {	return protoimpl.X.MessageStringOf(x)}func (*CommonValueRatio) ProtoMessage() {}func (x *CommonValueRatio) ProtoReflect() protoreflect.Message {	mi := &file_backend_operation_statistic_proto_msgTypes[21]	if protoimpl.UnsafeEnabled && x != nil {		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))		if ms.LoadMessageInfo() == nil {			ms.StoreMessageInfo(mi)		}		return ms	}	return mi.MessageOf(x)}// Deprecated: Use CommonValueRatio.ProtoReflect.Descriptor instead.func (*CommonValueRatio) Descriptor() ([]byte, []int) {	return file_backend_operation_statistic_proto_rawDescGZIP(), []int{21}}func (x *CommonValueRatio) GetMaxValue() string {	if x != nil {		return x.MaxValue	}	return ""}func (x *CommonValueRatio) GetMiddleValue() string {	if x != nil {		return x.MiddleValue	}	return ""}func (x *CommonValueRatio) GetMinValue() string {	if x != nil {		return x.MinValue	}	return ""}func (x *CommonValueRatio) GetDataList() []*ValueRatio {	if x != nil {		return x.DataList	}	return nil}func (x *CommonValueRatio) GetPastureName() []string {	if x != nil {		return x.PastureName	}	return nil}func (x *CommonValueRatio) GetDateDay() []string {	if x != nil {		return x.DateDay	}	return nil}type ValueRatio struct {	state         protoimpl.MessageState	sizeCache     protoimpl.SizeCache	unknownFields protoimpl.UnknownFields	ValueRatio []string `protobuf:"bytes,1,rep,name=value_ratio,json=valueRatio,proto3" json:"value_ratio,omitempty"`}func (x *ValueRatio) Reset() {	*x = ValueRatio{}	if protoimpl.UnsafeEnabled {		mi := &file_backend_operation_statistic_proto_msgTypes[22]		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))		ms.StoreMessageInfo(mi)	}}func (x *ValueRatio) String() string {	return protoimpl.X.MessageStringOf(x)}func (*ValueRatio) ProtoMessage() {}func (x *ValueRatio) ProtoReflect() protoreflect.Message {	mi := &file_backend_operation_statistic_proto_msgTypes[22]	if protoimpl.UnsafeEnabled && x != nil {		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))		if ms.LoadMessageInfo() == nil {			ms.StoreMessageInfo(mi)		}		return ms	}	return mi.MessageOf(x)}// Deprecated: Use ValueRatio.ProtoReflect.Descriptor instead.func (*ValueRatio) Descriptor() ([]byte, []int) {	return file_backend_operation_statistic_proto_rawDescGZIP(), []int{22}}func (x *ValueRatio) GetValueRatio() []string {	if x != nil {		return x.ValueRatio	}	return nil}// 首页 dashboard 撒料时间统计分析type SprinkleFeedTimeRequest struct {	state         protoimpl.MessageState	sizeCache     protoimpl.SizeCache	unknownFields protoimpl.UnknownFields	FeedFormulaId int32   `protobuf:"varint,1,opt,name=feed_formula_id,json=feedFormulaId,proto3" json:"feed_formula_id,omitempty"` // 配方id	StartDate     string  `protobuf:"bytes,2,opt,name=start_date,json=startDate,proto3" json:"start_date,omitempty"`                // 开始时间	EndDate       string  `protobuf:"bytes,3,opt,name=end_date,json=endDate,proto3" json:"end_date,omitempty"`                      // 结束时间	PastureIds    []int32 `protobuf:"varint,4,rep,packed,name=pasture_ids,json=pastureIds,proto3" json:"pasture_ids,omitempty"`     //牧场ids	DataType      int32   `protobuf:"varint,5,opt,name=data_type,json=dataType,proto3" json:"data_type,omitempty"`                  // 过滤的数据类型 0 不过滤 1 正常 2 异常}func (x *SprinkleFeedTimeRequest) Reset() {	*x = SprinkleFeedTimeRequest{}	if protoimpl.UnsafeEnabled {		mi := &file_backend_operation_statistic_proto_msgTypes[23]		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))		ms.StoreMessageInfo(mi)	}}func (x *SprinkleFeedTimeRequest) String() string {	return protoimpl.X.MessageStringOf(x)}func (*SprinkleFeedTimeRequest) ProtoMessage() {}func (x *SprinkleFeedTimeRequest) ProtoReflect() protoreflect.Message {	mi := &file_backend_operation_statistic_proto_msgTypes[23]	if protoimpl.UnsafeEnabled && x != nil {		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))		if ms.LoadMessageInfo() == nil {			ms.StoreMessageInfo(mi)		}		return ms	}	return mi.MessageOf(x)}// Deprecated: Use SprinkleFeedTimeRequest.ProtoReflect.Descriptor instead.func (*SprinkleFeedTimeRequest) Descriptor() ([]byte, []int) {	return file_backend_operation_statistic_proto_rawDescGZIP(), []int{23}}func (x *SprinkleFeedTimeRequest) GetFeedFormulaId() int32 {	if x != nil {		return x.FeedFormulaId	}	return 0}func (x *SprinkleFeedTimeRequest) GetStartDate() string {	if x != nil {		return x.StartDate	}	return ""}func (x *SprinkleFeedTimeRequest) GetEndDate() string {	if x != nil {		return x.EndDate	}	return ""}func (x *SprinkleFeedTimeRequest) GetPastureIds() []int32 {	if x != nil {		return x.PastureIds	}	return nil}func (x *SprinkleFeedTimeRequest) GetDataType() int32 {	if x != nil {		return x.DataType	}	return 0}// MixedCategoryTmrName tmr名称和混料类别type MixedCategoryTmrName struct {	state         protoimpl.MessageState	sizeCache     protoimpl.SizeCache	unknownFields protoimpl.UnknownFields	ApiName   string `protobuf:"bytes,1,opt,name=api_name,json=apiName,proto3" json:"api_name,omitempty"`	PastureId int32  `protobuf:"varint,2,opt,name=pasture_id,json=pastureId,proto3" json:"pasture_id,omitempty"`	StartTime string `protobuf:"bytes,3,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"`	EndTime   string `protobuf:"bytes,4,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"`}func (x *MixedCategoryTmrName) Reset() {	*x = MixedCategoryTmrName{}	if protoimpl.UnsafeEnabled {		mi := &file_backend_operation_statistic_proto_msgTypes[24]		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))		ms.StoreMessageInfo(mi)	}}func (x *MixedCategoryTmrName) String() string {	return protoimpl.X.MessageStringOf(x)}func (*MixedCategoryTmrName) ProtoMessage() {}func (x *MixedCategoryTmrName) ProtoReflect() protoreflect.Message {	mi := &file_backend_operation_statistic_proto_msgTypes[24]	if protoimpl.UnsafeEnabled && x != nil {		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))		if ms.LoadMessageInfo() == nil {			ms.StoreMessageInfo(mi)		}		return ms	}	return mi.MessageOf(x)}// Deprecated: Use MixedCategoryTmrName.ProtoReflect.Descriptor instead.func (*MixedCategoryTmrName) Descriptor() ([]byte, []int) {	return file_backend_operation_statistic_proto_rawDescGZIP(), []int{24}}func (x *MixedCategoryTmrName) GetApiName() string {	if x != nil {		return x.ApiName	}	return ""}func (x *MixedCategoryTmrName) GetPastureId() int32 {	if x != nil {		return x.PastureId	}	return 0}func (x *MixedCategoryTmrName) GetStartTime() string {	if x != nil {		return x.StartTime	}	return ""}func (x *MixedCategoryTmrName) GetEndTime() string {	if x != nil {		return x.EndTime	}	return ""}type Table_TableList struct {	state         protoimpl.MessageState	sizeCache     protoimpl.SizeCache	unknownFields protoimpl.UnknownFields	Id   int32  `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`	Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`}func (x *Table_TableList) Reset() {	*x = Table_TableList{}	if protoimpl.UnsafeEnabled {		mi := &file_backend_operation_statistic_proto_msgTypes[25]		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))		ms.StoreMessageInfo(mi)	}}func (x *Table_TableList) String() string {	return protoimpl.X.MessageStringOf(x)}func (*Table_TableList) ProtoMessage() {}func (x *Table_TableList) ProtoReflect() protoreflect.Message {	mi := &file_backend_operation_statistic_proto_msgTypes[25]	if protoimpl.UnsafeEnabled && x != nil {		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))		if ms.LoadMessageInfo() == nil {			ms.StoreMessageInfo(mi)		}		return ms	}	return mi.MessageOf(x)}// Deprecated: Use Table_TableList.ProtoReflect.Descriptor instead.func (*Table_TableList) Descriptor() ([]byte, []int) {	return file_backend_operation_statistic_proto_rawDescGZIP(), []int{20, 0}}func (x *Table_TableList) GetId() int32 {	if x != nil {		return x.Id	}	return 0}func (x *Table_TableList) GetName() string {	if x != nil {		return x.Name	}	return ""}var File_backend_operation_statistic_proto protoreflect.FileDescriptorvar file_backend_operation_statistic_proto_rawDesc = []byte{	0x0a, 0x21, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x2f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74,	0x69, 0x6f, 0x6e, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x2e, 0x70, 0x72,	0x6f, 0x74, 0x6f, 0x12, 0x11, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x2e, 0x6f, 0x70, 0x65,	0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0x22, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x2f,	0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61,	0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x62, 0x61, 0x63, 0x6b,	0x65, 0x6e, 0x64, 0x2f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x65, 0x6e,	0x75, 0x6d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e,	0x64, 0x2f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x70, 0x61, 0x73, 0x74,	0x75, 0x72, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xb1, 0x02, 0x0a, 0x1c, 0x53, 0x65,	0x61, 0x72, 0x63, 0x68, 0x46, 0x6f, 0x72, 0x6d, 0x75, 0x6c, 0x61, 0x45, 0x73, 0x74, 0x69, 0x6d,	0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x74,	0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09,	0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x6e, 0x64,	0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x65, 0x6e, 0x64,	0x54, 0x69, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x5f, 0x74,	0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x73, 0x65, 0x61, 0x72, 0x63,	0x68, 0x54, 0x79, 0x70, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x61, 0x70, 0x69, 0x5f, 0x6e, 0x61, 0x6d,	0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x70, 0x69, 0x4e, 0x61, 0x6d, 0x65,	0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x73, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x05,	0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x70, 0x61, 0x73, 0x74, 0x75, 0x72, 0x65, 0x49, 0x64, 0x12,	0x1f, 0x0a, 0x0b, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x06,	0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x49, 0x64,	0x12, 0x17, 0x0a, 0x07, 0x62, 0x61, 0x72, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28,	0x05, 0x52, 0x06, 0x62, 0x61, 0x72, 0x6e, 0x49, 0x64, 0x12, 0x42, 0x0a, 0x0a, 0x70, 0x61, 0x67,	0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e,	0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x2e, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f,	0x6e, 0x2e, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x6f, 0x64, 0x65,	0x6c, 0x52, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xf7, 0x01,	0x0a, 0x20, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x49, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72,	0x79, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65,	0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65,	0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d,	0x65, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20,	0x01, 0x28, 0x09, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x08,	0x61, 0x70, 0x69, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07,	0x61, 0x70, 0x69, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x66, 0x65, 0x65, 0x64, 0x5f,	0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x65, 0x65, 0x64,	0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x73, 0x74, 0x75, 0x72, 0x65, 0x5f,	0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x70, 0x61, 0x73, 0x74, 0x75, 0x72,	0x65, 0x49, 0x64, 0x12, 0x42, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f,	0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e,	0x64, 0x2e, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x50, 0x61, 0x67, 0x69,	0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x52, 0x0a, 0x70, 0x61, 0x67,	0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xbb, 0x02, 0x0a, 0x24, 0x53, 0x65, 0x61, 0x72,	0x63, 0x68, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x73, 0x53,	0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,	0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x01,	0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12,	0x19, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,	0x09, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x61, 0x70,	0x69, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x70,	0x69, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x73, 0x74, 0x75, 0x72, 0x65,	0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x70, 0x61, 0x73, 0x74, 0x75,	0x72, 0x65, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x63, 0x68,	0x65, 0x63, 0x6b, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x65, 0x72, 0x72, 0x6f, 0x72,	0x43, 0x68, 0x65, 0x63, 0x6b, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x63, 0x68,	0x65, 0x63, 0x6b, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x74, 0x79, 0x70, 0x65, 0x43,	0x68, 0x65, 0x63, 0x6b, 0x12, 0x1b, 0x0a, 0x09, 0x66, 0x65, 0x65, 0x64, 0x5f, 0x6e, 0x61, 0x6d,	0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x65, 0x65, 0x64, 0x4e, 0x61, 0x6d,	0x65, 0x12, 0x42, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18,	0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x2e,	0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x61,	0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x52, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e,	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xf3, 0x01, 0x0a, 0x1c, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68,	0x50, 0x72, 0x69, 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x52,	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f,	0x74, 0x69, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72,	0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d,	0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65,	0x12, 0x19, 0x0a, 0x08, 0x61, 0x70, 0x69, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01,	0x28, 0x09, 0x52, 0x07, 0x61, 0x70, 0x69, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70,	0x61, 0x73, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52,	0x09, 0x70, 0x61, 0x73, 0x74, 0x75, 0x72, 0x65, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x66, 0x65,	0x65, 0x64, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66,	0x65, 0x65, 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x42, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e,	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x62, 0x61,	0x63, 0x6b, 0x65, 0x6e, 0x64, 0x2e, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e,	0x50, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x52,	0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xa0, 0x03, 0x0a, 0x1b,	0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x46, 0x65, 0x65, 0x64, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73,	0x74, 0x69, 0x63, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x73,	0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,	0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x61, 0x70,	0x69, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x70,	0x69, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x73, 0x74, 0x75, 0x72, 0x65,	0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x03, 0x28, 0x05, 0x52, 0x09, 0x70, 0x61, 0x73, 0x74, 0x75,	0x72, 0x65, 0x49, 0x64, 0x12, 0x29, 0x0a, 0x10, 0x66, 0x6f, 0x72, 0x6d, 0x75, 0x6c, 0x61, 0x5f,	0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f,	0x66, 0x6f, 0x72, 0x6d, 0x75, 0x6c, 0x61, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x12,	0x1b, 0x0a, 0x09, 0x62, 0x61, 0x72, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01,	0x28, 0x09, 0x52, 0x08, 0x62, 0x61, 0x72, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x30, 0x0a, 0x14,	0x63, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x5f, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x5f,	0x6e, 0x61, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x63, 0x61, 0x74, 0x74,	0x6c, 0x65, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x2c,	0x0a, 0x12, 0x63, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x5f, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72,	0x79, 0x5f, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x10, 0x63, 0x61, 0x74, 0x74,	0x6c, 0x65, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c,	0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x08, 0x20, 0x01,	0x28, 0x05, 0x52, 0x0b, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12,	0x42, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x09, 0x20,	0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x2e, 0x6f, 0x70,	0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69,	0x6f, 0x6e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x52, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74,	0x69, 0x6f, 0x6e, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18,	0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x22, 0xa8,	0x01, 0x0a, 0x1a, 0x46, 0x65, 0x65, 0x64, 0x43, 0x68, 0x61, 0x72, 0x74, 0x53, 0x74, 0x61, 0x74,	0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a,	0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28,	0x09, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x08,	0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07,	0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x73, 0x74, 0x75,	0x72, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x70, 0x61, 0x73,	0x74, 0x75, 0x72, 0x65, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73,	0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x19,	0x0a, 0x08, 0x61, 0x70, 0x69, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09,	0x52, 0x07, 0x61, 0x70, 0x69, 0x54, 0x79, 0x70, 0x65, 0x22, 0xb2, 0x01, 0x0a, 0x13, 0x43, 0x6f,	0x77, 0x73, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,	0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18,	0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65,	0x12, 0x19, 0x0a, 0x08, 0x61, 0x70, 0x69, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01,	0x28, 0x09, 0x52, 0x07, 0x61, 0x70, 0x69, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70,	0x61, 0x73, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52,	0x09, 0x70, 0x61, 0x73, 0x74, 0x75, 0x72, 0x65, 0x49, 0x64, 0x12, 0x42, 0x0a, 0x0a, 0x70, 0x61,	0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22,	0x2e, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x2e, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69,	0x6f, 0x6e, 0x2e, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x6f, 0x64,	0x65, 0x6c, 0x52, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xc4,	0x04, 0x0a, 0x1c, 0x41, 0x63, 0x63, 0x75, 0x72, 0x61, 0x63, 0x79, 0x41, 0x67, 0x67, 0x53, 0x74,	0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,	0x1d, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x01, 0x20,	0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x19,	0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,	0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x73,	0x74, 0x75, 0x72, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x70,	0x61, 0x73, 0x74, 0x75, 0x72, 0x65, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x6e, 0x61, 0x6d,	0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x66, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12,	0x0a, 0x04, 0x73, 0x6f, 0x72, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x73, 0x6f,	0x72, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x06, 0x20, 0x01,	0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x67, 0x65,	0x6e, 0x72, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x67, 0x65, 0x6e, 0x72, 0x65,	0x12, 0x16, 0x0a, 0x06, 0x69, 0x73, 0x64, 0x61, 0x74, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05,	0x52, 0x06, 0x69, 0x73, 0x64, 0x61, 0x74, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x68, 0x6c, 0x77, 0x63,	0x31, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x68, 0x6c, 0x77, 0x63, 0x31, 0x12, 0x14,	0x0a, 0x05, 0x68, 0x6c, 0x77, 0x63, 0x32, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x68,	0x6c, 0x77, 0x63, 0x32, 0x12, 0x14, 0x0a, 0x05, 0x68, 0x6c, 0x7a, 0x71, 0x31, 0x18, 0x0b, 0x20,	0x01, 0x28, 0x05, 0x52, 0x05, 0x68, 0x6c, 0x7a, 0x71, 0x31, 0x12, 0x14, 0x0a, 0x05, 0x68, 0x6c,	0x7a, 0x71, 0x32, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x68, 0x6c, 0x7a, 0x71, 0x32,	0x12, 0x16, 0x0a, 0x06, 0x68, 0x6c, 0x7a, 0x71, 0x6c, 0x31, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x05,	0x52, 0x06, 0x68, 0x6c, 0x7a, 0x71, 0x6c, 0x31, 0x12, 0x16, 0x0a, 0x06, 0x68, 0x6c, 0x7a, 0x71,	0x6c, 0x32, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x68, 0x6c, 0x7a, 0x71, 0x6c, 0x32,	0x12, 0x14, 0x0a, 0x05, 0x73, 0x6c, 0x77, 0x63, 0x31, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x05, 0x52,	0x05, 0x73, 0x6c, 0x77, 0x63, 0x31, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x6c, 0x77, 0x63, 0x32, 0x18,	0x10, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x73, 0x6c, 0x77, 0x63, 0x32, 0x12, 0x14, 0x0a, 0x05,	0x73, 0x6c, 0x7a, 0x71, 0x31, 0x18, 0x11, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x73, 0x6c, 0x7a,	0x71, 0x31, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x6c, 0x7a, 0x71, 0x32, 0x18, 0x12, 0x20, 0x01, 0x28,	0x05, 0x52, 0x05, 0x73, 0x6c, 0x7a, 0x71, 0x32, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x6c, 0x7a, 0x71,	0x6c, 0x31, 0x18, 0x13, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x73, 0x6c, 0x7a, 0x71, 0x6c, 0x31,	0x12, 0x16, 0x0a, 0x06, 0x73, 0x6c, 0x7a, 0x71, 0x6c, 0x32, 0x18, 0x14, 0x20, 0x01, 0x28, 0x05,	0x52, 0x06, 0x73, 0x6c, 0x7a, 0x71, 0x6c, 0x32, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x6a,	0x6e, 0x61, 0x6d, 0x65, 0x18, 0x15, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x6a,	0x6e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x18, 0x16, 0x20,	0x01, 0x28, 0x09, 0x52, 0x05, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x69, 0x73,	0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x17, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x69, 0x73,	0x45, 0x72, 0x72, 0x6f, 0x72, 0x22, 0xe2, 0x04, 0x0a, 0x18, 0x4d, 0x69, 0x78, 0x46, 0x65, 0x65,	0x64, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65,	0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65,	0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d,	0x65, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20,	0x01, 0x28, 0x09, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x08,	0x61, 0x70, 0x69, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07,	0x61, 0x70, 0x69, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x73, 0x74, 0x75,	0x72, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x70, 0x61, 0x73,	0x74, 0x75, 0x72, 0x65, 0x49, 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x65, 0x71, 0x75, 0x69, 0x70, 0x6d,	0x65, 0x6e, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d,	0x65, 0x71, 0x75, 0x69, 0x70, 0x6d, 0x65, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x21, 0x0a,	0x0c, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x06, 0x20,	0x01, 0x28, 0x09, 0x52, 0x0b, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72,	0x12, 0x21, 0x0a, 0x0c, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72,	0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x4e, 0x75, 0x6d,	0x62, 0x65, 0x72, 0x12, 0x29, 0x0a, 0x10, 0x66, 0x6f, 0x72, 0x6d, 0x75, 0x6c, 0x61, 0x74, 0x69,	0x6f, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x66,	0x6f, 0x72, 0x6d, 0x75, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1b,	0x0a, 0x09, 0x6a, 0x75, 0x6d, 0x70, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28,	0x05, 0x52, 0x08, 0x6a, 0x75, 0x6d, 0x70, 0x54, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x68,	0x6c, 0x77, 0x63, 0x31, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x68, 0x6c, 0x77, 0x63,	0x31, 0x12, 0x14, 0x0a, 0x05, 0x68, 0x6c, 0x77, 0x63, 0x32, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05,	0x52, 0x05, 0x68, 0x6c, 0x77, 0x63, 0x32, 0x12, 0x14, 0x0a, 0x05, 0x68, 0x6c, 0x7a, 0x71, 0x31,	0x18, 0x0c, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x68, 0x6c, 0x7a, 0x71, 0x31, 0x12, 0x14, 0x0a,	0x05, 0x68, 0x6c, 0x7a, 0x71, 0x32, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x68, 0x6c,	0x7a, 0x71, 0x32, 0x12, 0x16, 0x0a, 0x06, 0x68, 0x6c, 0x7a, 0x71, 0x6c, 0x31, 0x18, 0x0e, 0x20,	0x01, 0x28, 0x05, 0x52, 0x06, 0x68, 0x6c, 0x7a, 0x71, 0x6c, 0x31, 0x12, 0x16, 0x0a, 0x06, 0x68,	0x6c, 0x7a, 0x71, 0x6c, 0x32, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x68, 0x6c, 0x7a,	0x71, 0x6c, 0x32, 0x12, 0x19, 0x0a, 0x08, 0x69, 0x73, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18,	0x10, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x69, 0x73, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x1f,	0x0a, 0x0b, 0x62, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x11, 0x20,	0x01, 0x28, 0x09, 0x52, 0x0a, 0x62, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12,	0x15, 0x0a, 0x06, 0x69, 0x73, 0x5f, 0x75, 0x73, 0x65, 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x52,	0x05, 0x69, 0x73, 0x55, 0x73, 0x65, 0x12, 0x42, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61,	0x74, 0x69, 0x6f, 0x6e, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x62, 0x61, 0x63,	0x6b, 0x65, 0x6e, 0x64, 0x2e, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x50,	0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x52, 0x0a,	0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x80, 0x05, 0x0a, 0x19, 0x53,	0x70, 0x72, 0x69, 0x6e, 0x6b, 0x6c, 0x65, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63,	0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72,	0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x74,	0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x74,	0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69,	0x6d, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x61, 0x70, 0x69, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03,	0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x70, 0x69, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1d, 0x0a,	0x0a, 0x70, 0x61, 0x73, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28,	0x05, 0x52, 0x09, 0x70, 0x61, 0x73, 0x74, 0x75, 0x72, 0x65, 0x49, 0x64, 0x12, 0x25, 0x0a, 0x0e,	0x65, 0x71, 0x75, 0x69, 0x70, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05,	0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x65, 0x71, 0x75, 0x69, 0x70, 0x6d, 0x65, 0x6e, 0x74, 0x4e,	0x61, 0x6d, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x5f, 0x6e, 0x75, 0x6d,	0x62, 0x65, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x74, 0x72, 0x61, 0x69, 0x6e,	0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f,	0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x63, 0x6c,	0x61, 0x73, 0x73, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x29, 0x0a, 0x10, 0x66, 0x6f, 0x72,	0x6d, 0x75, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x08, 0x20,	0x01, 0x28, 0x09, 0x52, 0x0f, 0x66, 0x6f, 0x72, 0x6d, 0x75, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e,	0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x62, 0x61, 0x72, 0x6e, 0x5f, 0x6e, 0x61, 0x6d,	0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x62, 0x61, 0x72, 0x6e, 0x4e, 0x61, 0x6d,	0x65, 0x12, 0x1b, 0x0a, 0x09, 0x6a, 0x75, 0x6d, 0x70, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0a,	0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6a, 0x75, 0x6d, 0x70, 0x54, 0x79, 0x70, 0x65, 0x12, 0x14,	0x0a, 0x05, 0x73, 0x6c, 0x77, 0x63, 0x31, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x73,	0x6c, 0x77, 0x63, 0x31, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x6c, 0x77, 0x63, 0x32, 0x18, 0x0c, 0x20,	0x01, 0x28, 0x05, 0x52, 0x05, 0x73, 0x6c, 0x77, 0x63, 0x32, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x6c,	0x7a, 0x71, 0x31, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x73, 0x6c, 0x7a, 0x71, 0x31,	0x12, 0x14, 0x0a, 0x05, 0x73, 0x6c, 0x7a, 0x71, 0x32, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x05, 0x52,	0x05, 0x73, 0x6c, 0x7a, 0x71, 0x32, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x6c, 0x7a, 0x71, 0x6c, 0x31,	0x18, 0x0f, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x73, 0x6c, 0x7a, 0x71, 0x6c, 0x31, 0x12, 0x16,	0x0a, 0x06, 0x73, 0x6c, 0x7a, 0x71, 0x6c, 0x32, 0x18, 0x10, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06,	0x73, 0x6c, 0x7a, 0x71, 0x6c, 0x32, 0x12, 0x19, 0x0a, 0x08, 0x69, 0x73, 0x5f, 0x65, 0x72, 0x72,	0x6f, 0x72, 0x18, 0x11, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x69, 0x73, 0x45, 0x72, 0x72, 0x6f,	0x72, 0x12, 0x1f, 0x0a, 0x0b, 0x62, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65,	0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x62, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x54, 0x79,	0x70, 0x65, 0x12, 0x15, 0x0a, 0x06, 0x69, 0x73, 0x5f, 0x75, 0x73, 0x65, 0x18, 0x13, 0x20, 0x01,	0x28, 0x09, 0x52, 0x05, 0x69, 0x73, 0x55, 0x73, 0x65, 0x12, 0x42, 0x0a, 0x0a, 0x70, 0x61, 0x67,	0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e,	0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x2e, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f,	0x6e, 0x2e, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x6f, 0x64, 0x65,	0x6c, 0x52, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x8a, 0x01,	0x0a, 0x14, 0x47, 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, 0x42, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x52,	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f,	0x74, 0x69, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72,	0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d,	0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65,	0x12, 0x19, 0x0a, 0x08, 0x61, 0x70, 0x69, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01,	0x28, 0x09, 0x52, 0x07, 0x61, 0x70, 0x69, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70,	0x61, 0x73, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52,	0x09, 0x70, 0x61, 0x73, 0x74, 0x75, 0x72, 0x65, 0x49, 0x64, 0x22, 0x9e, 0x04, 0x0a, 0x16, 0x50,	0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x52, 0x65,	0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74,	0x69, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74,	0x54, 0x69, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65,	0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12,	0x19, 0x0a, 0x08, 0x61, 0x70, 0x69, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28,	0x09, 0x52, 0x07, 0x61, 0x70, 0x69, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61,	0x73, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09,	0x70, 0x61, 0x73, 0x74, 0x75, 0x72, 0x65, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x6c, 0x61,	0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x6c,	0x61, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x6d, 0x72, 0x5f, 0x6e, 0x61,	0x6d, 0x65, 0x18, 0x06, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x74, 0x6d, 0x72, 0x4e, 0x61, 0x6d,	0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65,	0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x61, 0x6e,	0x67, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75,	0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x74, 0x61,	0x74, 0x75, 0x73, 0x12, 0x22, 0x0a, 0x0d, 0x6d, 0x69, 0x78, 0x5f, 0x66, 0x65, 0x65, 0x64, 0x5f,	0x74, 0x79, 0x70, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6d, 0x69, 0x78, 0x46,	0x65, 0x65, 0x64, 0x54, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x68, 0x6c, 0x77, 0x63, 0x31,	0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x68, 0x6c, 0x77, 0x63, 0x31, 0x12, 0x14, 0x0a,	0x05, 0x68, 0x6c, 0x77, 0x63, 0x32, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x68, 0x6c,	0x77, 0x63, 0x32, 0x12, 0x14, 0x0a, 0x05, 0x68, 0x6c, 0x7a, 0x71, 0x31, 0x18, 0x0c, 0x20, 0x01,	0x28, 0x05, 0x52, 0x05, 0x68, 0x6c, 0x7a, 0x71, 0x31, 0x12, 0x14, 0x0a, 0x05, 0x68, 0x6c, 0x7a,	0x71, 0x32, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x68, 0x6c, 0x7a, 0x71, 0x32, 0x12,	0x14, 0x0a, 0x05, 0x73, 0x6c, 0x77, 0x63, 0x31, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05,	0x73, 0x6c, 0x77, 0x63, 0x31, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x6c, 0x77, 0x63, 0x32, 0x18, 0x0f,	0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x73, 0x6c, 0x77, 0x63, 0x32, 0x12, 0x14, 0x0a, 0x05, 0x73,	0x6c, 0x7a, 0x71, 0x31, 0x18, 0x10, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x73, 0x6c, 0x7a, 0x71,	0x31, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x6c, 0x7a, 0x71, 0x32, 0x18, 0x11, 0x20, 0x01, 0x28, 0x05,	0x52, 0x05, 0x73, 0x6c, 0x7a, 0x71, 0x32, 0x12, 0x42, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e,	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x62, 0x61,	0x63, 0x6b, 0x65, 0x6e, 0x64, 0x2e, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e,	0x50, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x52,	0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xe0, 0x01, 0x0a, 0x21,	0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x4d, 0x69, 0x78, 0x65, 0x64, 0x53, 0x70, 0x72, 0x69,	0x6e, 0x6b, 0x6c, 0x65, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,	0x74, 0x12, 0x19, 0x0a, 0x08, 0x61, 0x70, 0x69, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20,	0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x70, 0x69, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a,	0x70, 0x61, 0x73, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05,	0x52, 0x09, 0x70, 0x61, 0x73, 0x74, 0x75, 0x72, 0x65, 0x49, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x70,	0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x70, 0x69, 0x64, 0x12, 0x1b, 0x0a,	0x09, 0x66, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09,	0x52, 0x08, 0x66, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x49, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64,	0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x42, 0x0a, 0x0a, 0x70, 0x61,	0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22,	0x2e, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x2e, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69,	0x6f, 0x6e, 0x2e, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x6f, 0x64,	0x65, 0x6c, 0x52, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xaf,	0x01, 0x0a, 0x12, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x65,	0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x61, 0x70, 0x69, 0x5f, 0x6e, 0x61, 0x6d,	0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x70, 0x69, 0x4e, 0x61, 0x6d, 0x65,	0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x73, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02,	0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x70, 0x61, 0x73, 0x74, 0x75, 0x72, 0x65, 0x49, 0x64, 0x12,	0x1b, 0x0a, 0x09, 0x69, 0x6e, 0x66, 0x6f, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01,	0x28, 0x09, 0x52, 0x08, 0x69, 0x6e, 0x66, 0x6f, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x42, 0x0a, 0x0a,	0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b,	0x32, 0x22, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x2e, 0x6f, 0x70, 0x65, 0x72, 0x61,	0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d,	0x6f, 0x64, 0x65, 0x6c, 0x52, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e,	0x22, 0x73, 0x0a, 0x13, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x52,	0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18,	0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6d,	0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x12, 0x36, 0x0a,	0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x62, 0x61,	0x63, 0x6b, 0x65, 0x6e, 0x64, 0x2e, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e,	0x54, 0x72, 0x61, 0x69, 0x6e, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x52,	0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x4b, 0x0a, 0x0f, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x4e, 0x75,	0x6d, 0x62, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x12, 0x38, 0x0a, 0x04, 0x6c, 0x69, 0x73, 0x74,	0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64,	0x2e, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x46, 0x6f, 0x72, 0x6d, 0x75,	0x6c, 0x61, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x75, 0x6d, 0x52, 0x04, 0x6c, 0x69,	0x73, 0x74, 0x22, 0xab, 0x03, 0x0a, 0x1d, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x41, 0x6e, 0x61,	0x6c, 0x79, 0x73, 0x69, 0x73, 0x41, 0x63, 0x63, 0x75, 0x72, 0x61, 0x63, 0x79, 0x52, 0x65, 0x71,	0x75, 0x65, 0x73, 0x74, 0x12, 0x67, 0x0a, 0x19, 0x63, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x5f, 0x70,	0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x5f, 0x69,	0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2c, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e,	0x64, 0x2e, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x43, 0x61, 0x74, 0x74,	0x6c, 0x65, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x50, 0x61, 0x72, 0x65, 0x6e, 0x74,	0x2e, 0x4b, 0x69, 0x6e, 0x64, 0x52, 0x16, 0x63, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x50, 0x61, 0x72,	0x65, 0x6e, 0x74, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x49, 0x64, 0x12, 0x26, 0x0a,	0x0f, 0x66, 0x65, 0x65, 0x64, 0x5f, 0x66, 0x6f, 0x72, 0x6d, 0x75, 0x6c, 0x61, 0x5f, 0x69, 0x64,	0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x66, 0x65, 0x65, 0x64, 0x46, 0x6f, 0x72, 0x6d,	0x75, 0x6c, 0x61, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x64,	0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74,	0x44, 0x61, 0x74, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65,	0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x44, 0x61, 0x74, 0x65, 0x12,	0x1f, 0x0a, 0x0b, 0x70, 0x61, 0x73, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x05,	0x20, 0x03, 0x28, 0x05, 0x52, 0x0a, 0x70, 0x61, 0x73, 0x74, 0x75, 0x72, 0x65, 0x49, 0x64, 0x73,	0x12, 0x24, 0x0a, 0x0e, 0x74, 0x6f, 0x70, 0x5f, 0x72, 0x61, 0x6e, 0x64, 0x5f, 0x73, 0x74, 0x61,	0x72, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0c, 0x74, 0x6f, 0x70, 0x52, 0x61, 0x6e,	0x64, 0x53, 0x74, 0x61, 0x72, 0x74, 0x12, 0x20, 0x0a, 0x0c, 0x74, 0x6f, 0x70, 0x5f, 0x72, 0x61,	0x6e, 0x64, 0x5f, 0x65, 0x6e, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0a, 0x74, 0x6f,	0x70, 0x52, 0x61, 0x6e, 0x64, 0x45, 0x6e, 0x64, 0x12, 0x56, 0x0a, 0x12, 0x64, 0x61, 0x73, 0x68,	0x62, 0x6f, 0x61, 0x72, 0x64, 0x5f, 0x74, 0x6f, 0x70, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x08,	0x20, 0x01, 0x28, 0x0e, 0x32, 0x28, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x2e, 0x6f,	0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x44, 0x61, 0x73, 0x68, 0x62, 0x6f, 0x61,	0x72, 0x64, 0x54, 0x6f, 0x70, 0x54, 0x79, 0x70, 0x65, 0x2e, 0x4b, 0x69, 0x6e, 0x64, 0x52, 0x10,	0x64, 0x61, 0x73, 0x68, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x54, 0x6f, 0x70, 0x54, 0x79, 0x70, 0x65,	0x22, 0x7f, 0x0a, 0x1e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73,	0x69, 0x73, 0x41, 0x63, 0x63, 0x75, 0x72, 0x61, 0x63, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,	0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05,	0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x02, 0x20,	0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x12, 0x37, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61,	0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64,	0x2e, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x41, 0x6e, 0x61, 0x6c, 0x79,	0x73, 0x69, 0x73, 0x41, 0x63, 0x63, 0x75, 0x72, 0x61, 0x63, 0x79, 0x52, 0x04, 0x64, 0x61, 0x74,	0x61, 0x22, 0x72, 0x0a, 0x10, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x41, 0x63, 0x63,	0x75, 0x72, 0x61, 0x63, 0x79, 0x12, 0x2e, 0x0a, 0x05, 0x63, 0x68, 0x61, 0x72, 0x74, 0x18, 0x01,	0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x2e, 0x6f,	0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x43, 0x68, 0x61, 0x72, 0x74, 0x52, 0x05,	0x63, 0x68, 0x61, 0x72, 0x74, 0x12, 0x2e, 0x0a, 0x05, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x02,	0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x2e, 0x6f,	0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x05,	0x74, 0x61, 0x62, 0x6c, 0x65, 0x22, 0x9f, 0x03, 0x0a, 0x05, 0x43, 0x68, 0x61, 0x72, 0x74, 0x12,	0x62, 0x0a, 0x1b, 0x6d, 0x69, 0x78, 0x65, 0x64, 0x5f, 0x66, 0x6f, 0x64, 0x64, 0x65, 0x72, 0x5f,	0x61, 0x63, 0x63, 0x75, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x18, 0x04,	0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x2e, 0x6f,	0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x56,	0x61, 0x6c, 0x75, 0x65, 0x52, 0x61, 0x74, 0x69, 0x6f, 0x52, 0x18, 0x6d, 0x69, 0x78, 0x65, 0x64,	0x46, 0x6f, 0x64, 0x64, 0x65, 0x72, 0x41, 0x63, 0x63, 0x75, 0x72, 0x61, 0x74, 0x65, 0x52, 0x61,	0x74, 0x69, 0x6f, 0x12, 0x60, 0x0a, 0x1a, 0x6d, 0x69, 0x78, 0x65, 0x64, 0x5f, 0x66, 0x6f, 0x64,	0x64, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x72, 0x72, 0x65, 0x63, 0x74, 0x5f, 0x72, 0x61, 0x74, 0x69,	0x6f, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e,	0x64, 0x2e, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x43, 0x6f, 0x6d, 0x6d,	0x6f, 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x61, 0x74, 0x69, 0x6f, 0x52, 0x17, 0x6d, 0x69,	0x78, 0x65, 0x64, 0x46, 0x6f, 0x64, 0x64, 0x65, 0x72, 0x43, 0x6f, 0x72, 0x72, 0x65, 0x63, 0x74,	0x52, 0x61, 0x74, 0x69, 0x6f, 0x12, 0x68, 0x0a, 0x1e, 0x73, 0x70, 0x72, 0x69, 0x6e, 0x6b, 0x6c,	0x65, 0x5f, 0x66, 0x6f, 0x64, 0x64, 0x65, 0x72, 0x5f, 0x61, 0x63, 0x63, 0x75, 0x72, 0x61, 0x74,	0x65, 0x5f, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e,	0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x2e, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f,	0x6e, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x61, 0x74,	0x69, 0x6f, 0x52, 0x1b, 0x73, 0x70, 0x72, 0x69, 0x6e, 0x6b, 0x6c, 0x65, 0x46, 0x6f, 0x64, 0x64,	0x65, 0x72, 0x41, 0x63, 0x63, 0x75, 0x72, 0x61, 0x74, 0x65, 0x52, 0x61, 0x74, 0x69, 0x6f, 0x12,	0x66, 0x0a, 0x1d, 0x73, 0x70, 0x72, 0x69, 0x6e, 0x6b, 0x6c, 0x65, 0x5f, 0x66, 0x6f, 0x64, 0x64,	0x65, 0x72, 0x5f, 0x63, 0x6f, 0x72, 0x72, 0x65, 0x63, 0x74, 0x5f, 0x72, 0x61, 0x74, 0x69, 0x6f,	0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64,	0x2e, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f,	0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x61, 0x74, 0x69, 0x6f, 0x52, 0x1a, 0x73, 0x70, 0x72,	0x69, 0x6e, 0x6b, 0x6c, 0x65, 0x46, 0x6f, 0x64, 0x64, 0x65, 0x72, 0x43, 0x6f, 0x72, 0x72, 0x65,	0x63, 0x74, 0x52, 0x61, 0x74, 0x69, 0x6f, 0x22, 0x7b, 0x0a, 0x05, 0x54, 0x61, 0x62, 0x6c, 0x65,	0x12, 0x41, 0x0a, 0x0a, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x01,	0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x2e, 0x6f,	0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x2e, 0x54,	0x61, 0x62, 0x6c, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x09, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x4c,	0x69, 0x73, 0x74, 0x1a, 0x2f, 0x0a, 0x09, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x4c, 0x69, 0x73, 0x74,	0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x69, 0x64,	0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04,	0x6e, 0x61, 0x6d, 0x65, 0x22, 0xe9, 0x01, 0x0a, 0x10, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x56,	0x61, 0x6c, 0x75, 0x65, 0x52, 0x61, 0x74, 0x69, 0x6f, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x78,	0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x61,	0x78, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x6d, 0x69, 0x64, 0x64, 0x6c, 0x65,	0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6d, 0x69,	0x64, 0x64, 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x69, 0x6e,	0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x69,	0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x3a, 0x0a, 0x09, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x6c,	0x69, 0x73, 0x74, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x62, 0x61, 0x63, 0x6b,	0x65, 0x6e, 0x64, 0x2e, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x56, 0x61,	0x6c, 0x75, 0x65, 0x52, 0x61, 0x74, 0x69, 0x6f, 0x52, 0x08, 0x64, 0x61, 0x74, 0x61, 0x4c, 0x69,	0x73, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x61, 0x73, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x6e, 0x61,	0x6d, 0x65, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x61, 0x73, 0x74, 0x75, 0x72,	0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x64, 0x61,	0x79, 0x18, 0x06, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x64, 0x61, 0x74, 0x65, 0x44, 0x61, 0x79,	0x22, 0x2d, 0x0a, 0x0a, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x61, 0x74, 0x69, 0x6f, 0x12, 0x1f,	0x0a, 0x0b, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x18, 0x01, 0x20,	0x03, 0x28, 0x09, 0x52, 0x0a, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x61, 0x74, 0x69, 0x6f, 0x22,	0xb9, 0x01, 0x0a, 0x17, 0x53, 0x70, 0x72, 0x69, 0x6e, 0x6b, 0x6c, 0x65, 0x46, 0x65, 0x65, 0x64,	0x54, 0x69, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x26, 0x0a, 0x0f, 0x66,	0x65, 0x65, 0x64, 0x5f, 0x66, 0x6f, 0x72, 0x6d, 0x75, 0x6c, 0x61, 0x5f, 0x69, 0x64, 0x18, 0x01,	0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x66, 0x65, 0x65, 0x64, 0x46, 0x6f, 0x72, 0x6d, 0x75, 0x6c,	0x61, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x64, 0x61, 0x74,	0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x44, 0x61,	0x74, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x03,	0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x44, 0x61, 0x74, 0x65, 0x12, 0x1f, 0x0a,	0x0b, 0x70, 0x61, 0x73, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x04, 0x20, 0x03,	0x28, 0x05, 0x52, 0x0a, 0x70, 0x61, 0x73, 0x74, 0x75, 0x72, 0x65, 0x49, 0x64, 0x73, 0x12, 0x1b,	0x0a, 0x09, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28,	0x05, 0x52, 0x08, 0x64, 0x61, 0x74, 0x61, 0x54, 0x79, 0x70, 0x65, 0x22, 0x8a, 0x01, 0x0a, 0x14,	0x4d, 0x69, 0x78, 0x65, 0x64, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x54, 0x6d, 0x72,	0x4e, 0x61, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x61, 0x70, 0x69, 0x5f, 0x6e, 0x61, 0x6d, 0x65,	0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x70, 0x69, 0x4e, 0x61, 0x6d, 0x65, 0x12,	0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x73, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20,	0x01, 0x28, 0x05, 0x52, 0x09, 0x70, 0x61, 0x73, 0x74, 0x75, 0x72, 0x65, 0x49, 0x64, 0x12, 0x1d,	0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01,	0x28, 0x09, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x19, 0x0a,	0x08, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52,	0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x42, 0x0f, 0x5a, 0x0d, 0x2e, 0x3b, 0x6f, 0x70,	0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,	0x33,}var (	file_backend_operation_statistic_proto_rawDescOnce sync.Once	file_backend_operation_statistic_proto_rawDescData = file_backend_operation_statistic_proto_rawDesc)func file_backend_operation_statistic_proto_rawDescGZIP() []byte {	file_backend_operation_statistic_proto_rawDescOnce.Do(func() {		file_backend_operation_statistic_proto_rawDescData = protoimpl.X.CompressGZIP(file_backend_operation_statistic_proto_rawDescData)	})	return file_backend_operation_statistic_proto_rawDescData}var file_backend_operation_statistic_proto_msgTypes = make([]protoimpl.MessageInfo, 26)var file_backend_operation_statistic_proto_goTypes = []interface{}{	(*SearchFormulaEstimateRequest)(nil),         // 0: backend.operation.SearchFormulaEstimateRequest	(*SearchInventoryStatisticsRequest)(nil),     // 1: backend.operation.SearchInventoryStatisticsRequest	(*SearchUserMaterialsStatisticsRequest)(nil), // 2: backend.operation.SearchUserMaterialsStatisticsRequest	(*SearchPriceStatisticsRequest)(nil),         // 3: backend.operation.SearchPriceStatisticsRequest	(*SearchFeedStatisticsRequest)(nil),          // 4: backend.operation.SearchFeedStatisticsRequest	(*FeedChartStatisticsRequest)(nil),           // 5: backend.operation.FeedChartStatisticsRequest	(*CowsAnalysisRequest)(nil),                  // 6: backend.operation.CowsAnalysisRequest	(*AccuracyAggStatisticsRequest)(nil),         // 7: backend.operation.AccuracyAggStatisticsRequest	(*MixFeedStatisticsRequest)(nil),             // 8: backend.operation.MixFeedStatisticsRequest	(*SprinkleStatisticsRequest)(nil),            // 9: backend.operation.SprinkleStatisticsRequest	(*GetDataByNameRequest)(nil),                 // 10: backend.operation.GetDataByNameRequest	(*ProcessAnalysisRequest)(nil),               // 11: backend.operation.ProcessAnalysisRequest	(*ProcessMixedSprinkleDetailRequest)(nil),    // 12: backend.operation.ProcessMixedSprinkleDetailRequest	(*TrainNumberRequest)(nil),                   // 13: backend.operation.TrainNumberRequest	(*TrainNumberResponse)(nil),                  // 14: backend.operation.TrainNumberResponse	(*TrainNumberData)(nil),                      // 15: backend.operation.TrainNumberData	(*SearchAnalysisAccuracyRequest)(nil),        // 16: backend.operation.SearchAnalysisAccuracyRequest	(*SearchAnalysisAccuracyResponse)(nil),       // 17: backend.operation.SearchAnalysisAccuracyResponse	(*AnalysisAccuracy)(nil),                     // 18: backend.operation.AnalysisAccuracy	(*Chart)(nil),                                // 19: backend.operation.Chart	(*Table)(nil),                                // 20: backend.operation.Table	(*CommonValueRatio)(nil),                     // 21: backend.operation.CommonValueRatio	(*ValueRatio)(nil),                           // 22: backend.operation.ValueRatio	(*SprinkleFeedTimeRequest)(nil),              // 23: backend.operation.SprinkleFeedTimeRequest	(*MixedCategoryTmrName)(nil),                 // 24: backend.operation.MixedCategoryTmrName	(*Table_TableList)(nil),                      // 25: backend.operation.Table.TableList	(*PaginationModel)(nil),                      // 26: backend.operation.PaginationModel	(*FormulaOptionEnum)(nil),                    // 27: backend.operation.FormulaOptionEnum	(CattleCategoryParent_Kind)(0),               // 28: backend.operation.CattleCategoryParent.Kind	(DashboardTopType_Kind)(0),                   // 29: backend.operation.DashboardTopType.Kind}var file_backend_operation_statistic_proto_depIdxs = []int32{	26, // 0: backend.operation.SearchFormulaEstimateRequest.pagination:type_name -> backend.operation.PaginationModel	26, // 1: backend.operation.SearchInventoryStatisticsRequest.pagination:type_name -> backend.operation.PaginationModel	26, // 2: backend.operation.SearchUserMaterialsStatisticsRequest.pagination:type_name -> backend.operation.PaginationModel	26, // 3: backend.operation.SearchPriceStatisticsRequest.pagination:type_name -> backend.operation.PaginationModel	26, // 4: backend.operation.SearchFeedStatisticsRequest.pagination:type_name -> backend.operation.PaginationModel	26, // 5: backend.operation.CowsAnalysisRequest.pagination:type_name -> backend.operation.PaginationModel	26, // 6: backend.operation.MixFeedStatisticsRequest.pagination:type_name -> backend.operation.PaginationModel	26, // 7: backend.operation.SprinkleStatisticsRequest.pagination:type_name -> backend.operation.PaginationModel	26, // 8: backend.operation.ProcessAnalysisRequest.pagination:type_name -> backend.operation.PaginationModel	26, // 9: backend.operation.ProcessMixedSprinkleDetailRequest.pagination:type_name -> backend.operation.PaginationModel	26, // 10: backend.operation.TrainNumberRequest.pagination:type_name -> backend.operation.PaginationModel	15, // 11: backend.operation.TrainNumberResponse.data:type_name -> backend.operation.TrainNumberData	27, // 12: backend.operation.TrainNumberData.list:type_name -> backend.operation.FormulaOptionEnum	28, // 13: backend.operation.SearchAnalysisAccuracyRequest.cattle_parent_category_id:type_name -> backend.operation.CattleCategoryParent.Kind	29, // 14: backend.operation.SearchAnalysisAccuracyRequest.dashboard_top_type:type_name -> backend.operation.DashboardTopType.Kind	18, // 15: backend.operation.SearchAnalysisAccuracyResponse.data:type_name -> backend.operation.AnalysisAccuracy	19, // 16: backend.operation.AnalysisAccuracy.chart:type_name -> backend.operation.Chart	20, // 17: backend.operation.AnalysisAccuracy.table:type_name -> backend.operation.Table	21, // 18: backend.operation.Chart.mixed_fodder_accurate_ratio:type_name -> backend.operation.CommonValueRatio	21, // 19: backend.operation.Chart.mixed_fodder_correct_ratio:type_name -> backend.operation.CommonValueRatio	21, // 20: backend.operation.Chart.sprinkle_fodder_accurate_ratio:type_name -> backend.operation.CommonValueRatio	21, // 21: backend.operation.Chart.sprinkle_fodder_correct_ratio:type_name -> backend.operation.CommonValueRatio	25, // 22: backend.operation.Table.table_list:type_name -> backend.operation.Table.TableList	22, // 23: backend.operation.CommonValueRatio.data_list:type_name -> backend.operation.ValueRatio	24, // [24:24] is the sub-list for method output_type	24, // [24:24] is the sub-list for method input_type	24, // [24:24] is the sub-list for extension type_name	24, // [24:24] is the sub-list for extension extendee	0,  // [0:24] is the sub-list for field type_name}func init() { file_backend_operation_statistic_proto_init() }func file_backend_operation_statistic_proto_init() {	if File_backend_operation_statistic_proto != nil {		return	}	file_backend_operation_pagination_proto_init()	file_backend_operation_enum_proto_init()	file_backend_operation_pasture_proto_init()	if !protoimpl.UnsafeEnabled {		file_backend_operation_statistic_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {			switch v := v.(*SearchFormulaEstimateRequest); i {			case 0:				return &v.state			case 1:				return &v.sizeCache			case 2:				return &v.unknownFields			default:				return nil			}		}		file_backend_operation_statistic_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {			switch v := v.(*SearchInventoryStatisticsRequest); i {			case 0:				return &v.state			case 1:				return &v.sizeCache			case 2:				return &v.unknownFields			default:				return nil			}		}		file_backend_operation_statistic_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {			switch v := v.(*SearchUserMaterialsStatisticsRequest); i {			case 0:				return &v.state			case 1:				return &v.sizeCache			case 2:				return &v.unknownFields			default:				return nil			}		}		file_backend_operation_statistic_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {			switch v := v.(*SearchPriceStatisticsRequest); i {			case 0:				return &v.state			case 1:				return &v.sizeCache			case 2:				return &v.unknownFields			default:				return nil			}		}		file_backend_operation_statistic_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {			switch v := v.(*SearchFeedStatisticsRequest); i {			case 0:				return &v.state			case 1:				return &v.sizeCache			case 2:				return &v.unknownFields			default:				return nil			}		}		file_backend_operation_statistic_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {			switch v := v.(*FeedChartStatisticsRequest); i {			case 0:				return &v.state			case 1:				return &v.sizeCache			case 2:				return &v.unknownFields			default:				return nil			}		}		file_backend_operation_statistic_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {			switch v := v.(*CowsAnalysisRequest); i {			case 0:				return &v.state			case 1:				return &v.sizeCache			case 2:				return &v.unknownFields			default:				return nil			}		}		file_backend_operation_statistic_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {			switch v := v.(*AccuracyAggStatisticsRequest); i {			case 0:				return &v.state			case 1:				return &v.sizeCache			case 2:				return &v.unknownFields			default:				return nil			}		}		file_backend_operation_statistic_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {			switch v := v.(*MixFeedStatisticsRequest); i {			case 0:				return &v.state			case 1:				return &v.sizeCache			case 2:				return &v.unknownFields			default:				return nil			}		}		file_backend_operation_statistic_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {			switch v := v.(*SprinkleStatisticsRequest); i {			case 0:				return &v.state			case 1:				return &v.sizeCache			case 2:				return &v.unknownFields			default:				return nil			}		}		file_backend_operation_statistic_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {			switch v := v.(*GetDataByNameRequest); i {			case 0:				return &v.state			case 1:				return &v.sizeCache			case 2:				return &v.unknownFields			default:				return nil			}		}		file_backend_operation_statistic_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {			switch v := v.(*ProcessAnalysisRequest); i {			case 0:				return &v.state			case 1:				return &v.sizeCache			case 2:				return &v.unknownFields			default:				return nil			}		}		file_backend_operation_statistic_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {			switch v := v.(*ProcessMixedSprinkleDetailRequest); i {			case 0:				return &v.state			case 1:				return &v.sizeCache			case 2:				return &v.unknownFields			default:				return nil			}		}		file_backend_operation_statistic_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {			switch v := v.(*TrainNumberRequest); i {			case 0:				return &v.state			case 1:				return &v.sizeCache			case 2:				return &v.unknownFields			default:				return nil			}		}		file_backend_operation_statistic_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {			switch v := v.(*TrainNumberResponse); i {			case 0:				return &v.state			case 1:				return &v.sizeCache			case 2:				return &v.unknownFields			default:				return nil			}		}		file_backend_operation_statistic_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {			switch v := v.(*TrainNumberData); i {			case 0:				return &v.state			case 1:				return &v.sizeCache			case 2:				return &v.unknownFields			default:				return nil			}		}		file_backend_operation_statistic_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {			switch v := v.(*SearchAnalysisAccuracyRequest); i {			case 0:				return &v.state			case 1:				return &v.sizeCache			case 2:				return &v.unknownFields			default:				return nil			}		}		file_backend_operation_statistic_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} {			switch v := v.(*SearchAnalysisAccuracyResponse); i {			case 0:				return &v.state			case 1:				return &v.sizeCache			case 2:				return &v.unknownFields			default:				return nil			}		}		file_backend_operation_statistic_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} {			switch v := v.(*AnalysisAccuracy); i {			case 0:				return &v.state			case 1:				return &v.sizeCache			case 2:				return &v.unknownFields			default:				return nil			}		}		file_backend_operation_statistic_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} {			switch v := v.(*Chart); i {			case 0:				return &v.state			case 1:				return &v.sizeCache			case 2:				return &v.unknownFields			default:				return nil			}		}		file_backend_operation_statistic_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} {			switch v := v.(*Table); i {			case 0:				return &v.state			case 1:				return &v.sizeCache			case 2:				return &v.unknownFields			default:				return nil			}		}		file_backend_operation_statistic_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} {			switch v := v.(*CommonValueRatio); i {			case 0:				return &v.state			case 1:				return &v.sizeCache			case 2:				return &v.unknownFields			default:				return nil			}		}		file_backend_operation_statistic_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} {			switch v := v.(*ValueRatio); i {			case 0:				return &v.state			case 1:				return &v.sizeCache			case 2:				return &v.unknownFields			default:				return nil			}		}		file_backend_operation_statistic_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} {			switch v := v.(*SprinkleFeedTimeRequest); i {			case 0:				return &v.state			case 1:				return &v.sizeCache			case 2:				return &v.unknownFields			default:				return nil			}		}		file_backend_operation_statistic_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} {			switch v := v.(*MixedCategoryTmrName); i {			case 0:				return &v.state			case 1:				return &v.sizeCache			case 2:				return &v.unknownFields			default:				return nil			}		}		file_backend_operation_statistic_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} {			switch v := v.(*Table_TableList); i {			case 0:				return &v.state			case 1:				return &v.sizeCache			case 2:				return &v.unknownFields			default:				return nil			}		}	}	type x struct{}	out := protoimpl.TypeBuilder{		File: protoimpl.DescBuilder{			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),			RawDescriptor: file_backend_operation_statistic_proto_rawDesc,			NumEnums:      0,			NumMessages:   26,			NumExtensions: 0,			NumServices:   0,		},		GoTypes:           file_backend_operation_statistic_proto_goTypes,		DependencyIndexes: file_backend_operation_statistic_proto_depIdxs,		MessageInfos:      file_backend_operation_statistic_proto_msgTypes,	}.Build()	File_backend_operation_statistic_proto = out.File	file_backend_operation_statistic_proto_rawDesc = nil	file_backend_operation_statistic_proto_goTypes = nil	file_backend_operation_statistic_proto_depIdxs = nil}
 |