mtp2.pb.go 145 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474
  1. // Code generated by protoc-gen-go. DO NOT EDIT.
  2. // versions:
  3. // protoc-gen-go v1.25.0
  4. // protoc v3.11.4
  5. // source: mtp2.proto
  6. package pb
  7. import (
  8. proto "github.com/golang/protobuf/proto"
  9. protoreflect "google.golang.org/protobuf/reflect/protoreflect"
  10. protoimpl "google.golang.org/protobuf/runtime/protoimpl"
  11. reflect "reflect"
  12. sync "sync"
  13. )
  14. const (
  15. // Verify that this generated code is sufficiently up-to-date.
  16. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
  17. // Verify that runtime/protoimpl is sufficiently up-to-date.
  18. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
  19. )
  20. // This is a compile-time assertion that a sufficiently up-to-date version
  21. // of the legacy proto package is being used.
  22. const _ = proto.ProtoPackageIsVersion4
  23. //交易规则信息子集
  24. type TradeRule struct {
  25. state protoimpl.MessageState
  26. sizeCache protoimpl.SizeCache
  27. unknownFields protoimpl.UnknownFields
  28. RuleID *uint32 `protobuf:"varint,1,opt,name=RuleID" json:"RuleID,omitempty"` // 交易规则ID
  29. ParamValue *float64 `protobuf:"fixed64,2,opt,name=ParamValue" json:"ParamValue,omitempty"` // 参数值
  30. }
  31. func (x *TradeRule) Reset() {
  32. *x = TradeRule{}
  33. if protoimpl.UnsafeEnabled {
  34. mi := &file_mtp2_proto_msgTypes[0]
  35. ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  36. ms.StoreMessageInfo(mi)
  37. }
  38. }
  39. func (x *TradeRule) String() string {
  40. return protoimpl.X.MessageStringOf(x)
  41. }
  42. func (*TradeRule) ProtoMessage() {}
  43. func (x *TradeRule) ProtoReflect() protoreflect.Message {
  44. mi := &file_mtp2_proto_msgTypes[0]
  45. if protoimpl.UnsafeEnabled && x != nil {
  46. ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  47. if ms.LoadMessageInfo() == nil {
  48. ms.StoreMessageInfo(mi)
  49. }
  50. return ms
  51. }
  52. return mi.MessageOf(x)
  53. }
  54. // Deprecated: Use TradeRule.ProtoReflect.Descriptor instead.
  55. func (*TradeRule) Descriptor() ([]byte, []int) {
  56. return file_mtp2_proto_rawDescGZIP(), []int{0}
  57. }
  58. func (x *TradeRule) GetRuleID() uint32 {
  59. if x != nil && x.RuleID != nil {
  60. return *x.RuleID
  61. }
  62. return 0
  63. }
  64. func (x *TradeRule) GetParamValue() float64 {
  65. if x != nil && x.ParamValue != nil {
  66. return *x.ParamValue
  67. }
  68. return 0
  69. }
  70. //交易规则信息
  71. type TradeRuleInfoStruct struct {
  72. state protoimpl.MessageState
  73. sizeCache protoimpl.SizeCache
  74. unknownFields protoimpl.UnknownFields
  75. AccountID *uint64 `protobuf:"varint,1,opt,name=AccountID" json:"AccountID,omitempty"` // 资金账号
  76. GoodsID *uint32 `protobuf:"varint,2,opt,name=GoodsID" json:"GoodsID,omitempty"` // 商品id
  77. TradeRules []*TradeRule `protobuf:"bytes,3,rep,name=TradeRules" json:"TradeRules,omitempty"` // 交易规则
  78. }
  79. func (x *TradeRuleInfoStruct) Reset() {
  80. *x = TradeRuleInfoStruct{}
  81. if protoimpl.UnsafeEnabled {
  82. mi := &file_mtp2_proto_msgTypes[1]
  83. ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  84. ms.StoreMessageInfo(mi)
  85. }
  86. }
  87. func (x *TradeRuleInfoStruct) String() string {
  88. return protoimpl.X.MessageStringOf(x)
  89. }
  90. func (*TradeRuleInfoStruct) ProtoMessage() {}
  91. func (x *TradeRuleInfoStruct) ProtoReflect() protoreflect.Message {
  92. mi := &file_mtp2_proto_msgTypes[1]
  93. if protoimpl.UnsafeEnabled && x != nil {
  94. ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  95. if ms.LoadMessageInfo() == nil {
  96. ms.StoreMessageInfo(mi)
  97. }
  98. return ms
  99. }
  100. return mi.MessageOf(x)
  101. }
  102. // Deprecated: Use TradeRuleInfoStruct.ProtoReflect.Descriptor instead.
  103. func (*TradeRuleInfoStruct) Descriptor() ([]byte, []int) {
  104. return file_mtp2_proto_rawDescGZIP(), []int{1}
  105. }
  106. func (x *TradeRuleInfoStruct) GetAccountID() uint64 {
  107. if x != nil && x.AccountID != nil {
  108. return *x.AccountID
  109. }
  110. return 0
  111. }
  112. func (x *TradeRuleInfoStruct) GetGoodsID() uint32 {
  113. if x != nil && x.GoodsID != nil {
  114. return *x.GoodsID
  115. }
  116. return 0
  117. }
  118. func (x *TradeRuleInfoStruct) GetTradeRules() []*TradeRule {
  119. if x != nil {
  120. return x.TradeRules
  121. }
  122. return nil
  123. }
  124. // 日期类型定义
  125. type Date struct {
  126. state protoimpl.MessageState
  127. sizeCache protoimpl.SizeCache
  128. unknownFields protoimpl.UnknownFields
  129. DateStr *string `protobuf:"bytes,1,opt,name=DateStr" json:"DateStr,omitempty"` // 日期时间
  130. }
  131. func (x *Date) Reset() {
  132. *x = Date{}
  133. if protoimpl.UnsafeEnabled {
  134. mi := &file_mtp2_proto_msgTypes[2]
  135. ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  136. ms.StoreMessageInfo(mi)
  137. }
  138. }
  139. func (x *Date) String() string {
  140. return protoimpl.X.MessageStringOf(x)
  141. }
  142. func (*Date) ProtoMessage() {}
  143. func (x *Date) ProtoReflect() protoreflect.Message {
  144. mi := &file_mtp2_proto_msgTypes[2]
  145. if protoimpl.UnsafeEnabled && x != nil {
  146. ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  147. if ms.LoadMessageInfo() == nil {
  148. ms.StoreMessageInfo(mi)
  149. }
  150. return ms
  151. }
  152. return mi.MessageOf(x)
  153. }
  154. // Deprecated: Use Date.ProtoReflect.Descriptor instead.
  155. func (*Date) Descriptor() ([]byte, []int) {
  156. return file_mtp2_proto_rawDescGZIP(), []int{2}
  157. }
  158. func (x *Date) GetDateStr() string {
  159. if x != nil && x.DateStr != nil {
  160. return *x.DateStr
  161. }
  162. return ""
  163. }
  164. // ERMS2_ARBITRAGESTRATEGY 期现套利策略表
  165. type Erms2ArbitrageStrategy struct {
  166. state protoimpl.MessageState
  167. sizeCache protoimpl.SizeCache
  168. unknownFields protoimpl.UnknownFields
  169. //mkey: 1
  170. ASApplyId *uint64 `protobuf:"varint,1,opt,name=ASApplyId" json:"ASApplyId,omitempty"` // 策略申请ID(702+Unix秒时间戳(10位)+xxxxxx)
  171. ASNo *string `protobuf:"bytes,2,opt,name=ASNo" json:"ASNo,omitempty"` // 策略编号
  172. BizType *uint32 `protobuf:"varint,3,opt,name=BizType" json:"BizType,omitempty"` // 业务类型 - 1:正向套利 -1:反向套利
  173. UserId *uint32 `protobuf:"varint,4,opt,name=UserId" json:"UserId,omitempty"` // 所属机构
  174. DeliveryGoodsId *uint32 `protobuf:"varint,5,opt,name=DeliveryGoodsId" json:"DeliveryGoodsId,omitempty"` // 现货品种ID
  175. GoodsGroupId *uint32 `protobuf:"varint,6,opt,name=GoodsGroupId" json:"GoodsGroupId,omitempty"` // 期货品种ID
  176. SpotQuota *float64 `protobuf:"fixed64,7,opt,name=SpotQuota" json:"SpotQuota,omitempty"` // 现货额度
  177. FutureQuote *float64 `protobuf:"fixed64,8,opt,name=FutureQuote" json:"FutureQuote,omitempty"` // 期货额度
  178. ApplyBasis *float64 `protobuf:"fixed64,9,opt,name=ApplyBasis" json:"ApplyBasis,omitempty"` // 申请基差
  179. StrategyStatus *uint32 `protobuf:"varint,10,opt,name=StrategyStatus" json:"StrategyStatus,omitempty"` // 策略状态 - 0:未结束 1:已结束
  180. Remark *string `protobuf:"bytes,11,opt,name=Remark" json:"Remark,omitempty"` // 备注
  181. MarketId *uint32 `protobuf:"varint,12,opt,name=MarketId" json:"MarketId,omitempty"` // 市场ID
  182. TradeDate *string `protobuf:"bytes,13,opt,name=TradeDate" json:"TradeDate,omitempty"` // 交易日(yyyyMMdd)
  183. CloseTradeDate *string `protobuf:"bytes,14,opt,name=CloseTradeDate" json:"CloseTradeDate,omitempty"` // 完结交易日(yyyyMMdd)
  184. UsedQuota *float64 `protobuf:"fixed64,15,opt,name=UsedQuota" json:"UsedQuota,omitempty"` // 已占用资金
  185. FutureQty *float64 `protobuf:"fixed64,16,opt,name=FutureQty" json:"FutureQty,omitempty"` // 期货持仓数量
  186. FutureAvgPrice *float64 `protobuf:"fixed64,17,opt,name=FutureAvgPrice" json:"FutureAvgPrice,omitempty"` // 期货建仓均价
  187. FuturePL *float64 `protobuf:"fixed64,18,opt,name=FuturePL" json:"FuturePL,omitempty"` // 期货总盈亏[结算更新]
  188. PricedSpotQty *float64 `protobuf:"fixed64,19,opt,name=PricedSpotQty" json:"PricedSpotQty,omitempty"` // 已定价现货数量
  189. PricedSpotQtyNoTax *float64 `protobuf:"fixed64,20,opt,name=PricedSpotQtyNoTax" json:"PricedSpotQtyNoTax,omitempty"` // 已定价现货不含税数量
  190. SpotavgPrice *float64 `protobuf:"fixed64,21,opt,name=SpotavgPrice" json:"SpotavgPrice,omitempty"` // 现货均价
  191. SpotPL *float64 `protobuf:"fixed64,22,opt,name=SpotPL" json:"SpotPL,omitempty"` // 现货总盈亏[结算更新]
  192. NetExposure *float64 `protobuf:"fixed64,23,opt,name=NetExposure" json:"NetExposure,omitempty"` // 单笔业务头寸净敞口 = 期货持仓数量 + 已定价现货不含税数量
  193. NetExposureRate *float64 `protobuf:"fixed64,24,opt,name=NetExposureRate" json:"NetExposureRate,omitempty"` // 净敞口比例 - 0:未结束 = (NetExposure/PriceSpotQtyNoTax) ; 已结束为0
  194. TotalPL *float64 `protobuf:"fixed64,25,opt,name=TotalPL" json:"TotalPL,omitempty"` // 业务合计损益 = FuturePL + SpotPL [结算更新]
  195. OpenBasis *float64 `protobuf:"fixed64,26,opt,name=OpenBasis" json:"OpenBasis,omitempty"` // 建仓基差
  196. CurBasis *float64 `protobuf:"fixed64,27,opt,name=CurBasis" json:"CurBasis,omitempty"` // 当前基差[结算更新]
  197. BasisChangePL *float64 `protobuf:"fixed64,28,opt,name=BasisChangePL" json:"BasisChangePL,omitempty"` // 基差变动损益[结算更新]
  198. NetExposurePL *float64 `protobuf:"fixed64,29,opt,name=NetExposurePL" json:"NetExposurePL,omitempty"` // 净敞口损益 = TotalPL - BasisChangePL[结算更新]
  199. SpotUsedQuota *float64 `protobuf:"fixed64,30,opt,name=SpotUsedQuota" json:"SpotUsedQuota,omitempty"` // 现货占用资金
  200. FutureOpenQty *float64 `protobuf:"fixed64,31,opt,name=FutureOpenQty" json:"FutureOpenQty,omitempty"` // 期货开仓数量
  201. FutureOpenAmount *float64 `protobuf:"fixed64,32,opt,name=FutureOpenAmount" json:"FutureOpenAmount,omitempty"` // 期货开仓金额
  202. FutureCloseQty *float64 `protobuf:"fixed64,33,opt,name=FutureCloseQty" json:"FutureCloseQty,omitempty"` // 期货平仓数量
  203. FutureCloseAmount *float64 `protobuf:"fixed64,34,opt,name=FutureCloseAmount" json:"FutureCloseAmount,omitempty"` // 期货平仓金额
  204. SpotBuyAmount *float64 `protobuf:"fixed64,35,opt,name=SpotBuyAmount" json:"SpotBuyAmount,omitempty"` // 现货采购金额
  205. SpotBuyQty *float64 `protobuf:"fixed64,36,opt,name=SpotBuyQty" json:"SpotBuyQty,omitempty"` // 现货采购数量
  206. SpotSellAmount *float64 `protobuf:"fixed64,37,opt,name=SpotSellAmount" json:"SpotSellAmount,omitempty"` // 现货销售金额
  207. SpotSellQty *float64 `protobuf:"fixed64,38,opt,name=SpotSellQty" json:"SpotSellQty,omitempty"` // 现货销售数量
  208. UpDatetime *Date `protobuf:"bytes,39,opt,name=UpDatetime" json:"UpDatetime,omitempty"` // 更新时间
  209. ASName *string `protobuf:"bytes,40,opt,name=ASName" json:"ASName,omitempty"` // 策略名称
  210. }
  211. func (x *Erms2ArbitrageStrategy) Reset() {
  212. *x = Erms2ArbitrageStrategy{}
  213. if protoimpl.UnsafeEnabled {
  214. mi := &file_mtp2_proto_msgTypes[3]
  215. ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  216. ms.StoreMessageInfo(mi)
  217. }
  218. }
  219. func (x *Erms2ArbitrageStrategy) String() string {
  220. return protoimpl.X.MessageStringOf(x)
  221. }
  222. func (*Erms2ArbitrageStrategy) ProtoMessage() {}
  223. func (x *Erms2ArbitrageStrategy) ProtoReflect() protoreflect.Message {
  224. mi := &file_mtp2_proto_msgTypes[3]
  225. if protoimpl.UnsafeEnabled && x != nil {
  226. ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  227. if ms.LoadMessageInfo() == nil {
  228. ms.StoreMessageInfo(mi)
  229. }
  230. return ms
  231. }
  232. return mi.MessageOf(x)
  233. }
  234. // Deprecated: Use Erms2ArbitrageStrategy.ProtoReflect.Descriptor instead.
  235. func (*Erms2ArbitrageStrategy) Descriptor() ([]byte, []int) {
  236. return file_mtp2_proto_rawDescGZIP(), []int{3}
  237. }
  238. func (x *Erms2ArbitrageStrategy) GetASApplyId() uint64 {
  239. if x != nil && x.ASApplyId != nil {
  240. return *x.ASApplyId
  241. }
  242. return 0
  243. }
  244. func (x *Erms2ArbitrageStrategy) GetASNo() string {
  245. if x != nil && x.ASNo != nil {
  246. return *x.ASNo
  247. }
  248. return ""
  249. }
  250. func (x *Erms2ArbitrageStrategy) GetBizType() uint32 {
  251. if x != nil && x.BizType != nil {
  252. return *x.BizType
  253. }
  254. return 0
  255. }
  256. func (x *Erms2ArbitrageStrategy) GetUserId() uint32 {
  257. if x != nil && x.UserId != nil {
  258. return *x.UserId
  259. }
  260. return 0
  261. }
  262. func (x *Erms2ArbitrageStrategy) GetDeliveryGoodsId() uint32 {
  263. if x != nil && x.DeliveryGoodsId != nil {
  264. return *x.DeliveryGoodsId
  265. }
  266. return 0
  267. }
  268. func (x *Erms2ArbitrageStrategy) GetGoodsGroupId() uint32 {
  269. if x != nil && x.GoodsGroupId != nil {
  270. return *x.GoodsGroupId
  271. }
  272. return 0
  273. }
  274. func (x *Erms2ArbitrageStrategy) GetSpotQuota() float64 {
  275. if x != nil && x.SpotQuota != nil {
  276. return *x.SpotQuota
  277. }
  278. return 0
  279. }
  280. func (x *Erms2ArbitrageStrategy) GetFutureQuote() float64 {
  281. if x != nil && x.FutureQuote != nil {
  282. return *x.FutureQuote
  283. }
  284. return 0
  285. }
  286. func (x *Erms2ArbitrageStrategy) GetApplyBasis() float64 {
  287. if x != nil && x.ApplyBasis != nil {
  288. return *x.ApplyBasis
  289. }
  290. return 0
  291. }
  292. func (x *Erms2ArbitrageStrategy) GetStrategyStatus() uint32 {
  293. if x != nil && x.StrategyStatus != nil {
  294. return *x.StrategyStatus
  295. }
  296. return 0
  297. }
  298. func (x *Erms2ArbitrageStrategy) GetRemark() string {
  299. if x != nil && x.Remark != nil {
  300. return *x.Remark
  301. }
  302. return ""
  303. }
  304. func (x *Erms2ArbitrageStrategy) GetMarketId() uint32 {
  305. if x != nil && x.MarketId != nil {
  306. return *x.MarketId
  307. }
  308. return 0
  309. }
  310. func (x *Erms2ArbitrageStrategy) GetTradeDate() string {
  311. if x != nil && x.TradeDate != nil {
  312. return *x.TradeDate
  313. }
  314. return ""
  315. }
  316. func (x *Erms2ArbitrageStrategy) GetCloseTradeDate() string {
  317. if x != nil && x.CloseTradeDate != nil {
  318. return *x.CloseTradeDate
  319. }
  320. return ""
  321. }
  322. func (x *Erms2ArbitrageStrategy) GetUsedQuota() float64 {
  323. if x != nil && x.UsedQuota != nil {
  324. return *x.UsedQuota
  325. }
  326. return 0
  327. }
  328. func (x *Erms2ArbitrageStrategy) GetFutureQty() float64 {
  329. if x != nil && x.FutureQty != nil {
  330. return *x.FutureQty
  331. }
  332. return 0
  333. }
  334. func (x *Erms2ArbitrageStrategy) GetFutureAvgPrice() float64 {
  335. if x != nil && x.FutureAvgPrice != nil {
  336. return *x.FutureAvgPrice
  337. }
  338. return 0
  339. }
  340. func (x *Erms2ArbitrageStrategy) GetFuturePL() float64 {
  341. if x != nil && x.FuturePL != nil {
  342. return *x.FuturePL
  343. }
  344. return 0
  345. }
  346. func (x *Erms2ArbitrageStrategy) GetPricedSpotQty() float64 {
  347. if x != nil && x.PricedSpotQty != nil {
  348. return *x.PricedSpotQty
  349. }
  350. return 0
  351. }
  352. func (x *Erms2ArbitrageStrategy) GetPricedSpotQtyNoTax() float64 {
  353. if x != nil && x.PricedSpotQtyNoTax != nil {
  354. return *x.PricedSpotQtyNoTax
  355. }
  356. return 0
  357. }
  358. func (x *Erms2ArbitrageStrategy) GetSpotavgPrice() float64 {
  359. if x != nil && x.SpotavgPrice != nil {
  360. return *x.SpotavgPrice
  361. }
  362. return 0
  363. }
  364. func (x *Erms2ArbitrageStrategy) GetSpotPL() float64 {
  365. if x != nil && x.SpotPL != nil {
  366. return *x.SpotPL
  367. }
  368. return 0
  369. }
  370. func (x *Erms2ArbitrageStrategy) GetNetExposure() float64 {
  371. if x != nil && x.NetExposure != nil {
  372. return *x.NetExposure
  373. }
  374. return 0
  375. }
  376. func (x *Erms2ArbitrageStrategy) GetNetExposureRate() float64 {
  377. if x != nil && x.NetExposureRate != nil {
  378. return *x.NetExposureRate
  379. }
  380. return 0
  381. }
  382. func (x *Erms2ArbitrageStrategy) GetTotalPL() float64 {
  383. if x != nil && x.TotalPL != nil {
  384. return *x.TotalPL
  385. }
  386. return 0
  387. }
  388. func (x *Erms2ArbitrageStrategy) GetOpenBasis() float64 {
  389. if x != nil && x.OpenBasis != nil {
  390. return *x.OpenBasis
  391. }
  392. return 0
  393. }
  394. func (x *Erms2ArbitrageStrategy) GetCurBasis() float64 {
  395. if x != nil && x.CurBasis != nil {
  396. return *x.CurBasis
  397. }
  398. return 0
  399. }
  400. func (x *Erms2ArbitrageStrategy) GetBasisChangePL() float64 {
  401. if x != nil && x.BasisChangePL != nil {
  402. return *x.BasisChangePL
  403. }
  404. return 0
  405. }
  406. func (x *Erms2ArbitrageStrategy) GetNetExposurePL() float64 {
  407. if x != nil && x.NetExposurePL != nil {
  408. return *x.NetExposurePL
  409. }
  410. return 0
  411. }
  412. func (x *Erms2ArbitrageStrategy) GetSpotUsedQuota() float64 {
  413. if x != nil && x.SpotUsedQuota != nil {
  414. return *x.SpotUsedQuota
  415. }
  416. return 0
  417. }
  418. func (x *Erms2ArbitrageStrategy) GetFutureOpenQty() float64 {
  419. if x != nil && x.FutureOpenQty != nil {
  420. return *x.FutureOpenQty
  421. }
  422. return 0
  423. }
  424. func (x *Erms2ArbitrageStrategy) GetFutureOpenAmount() float64 {
  425. if x != nil && x.FutureOpenAmount != nil {
  426. return *x.FutureOpenAmount
  427. }
  428. return 0
  429. }
  430. func (x *Erms2ArbitrageStrategy) GetFutureCloseQty() float64 {
  431. if x != nil && x.FutureCloseQty != nil {
  432. return *x.FutureCloseQty
  433. }
  434. return 0
  435. }
  436. func (x *Erms2ArbitrageStrategy) GetFutureCloseAmount() float64 {
  437. if x != nil && x.FutureCloseAmount != nil {
  438. return *x.FutureCloseAmount
  439. }
  440. return 0
  441. }
  442. func (x *Erms2ArbitrageStrategy) GetSpotBuyAmount() float64 {
  443. if x != nil && x.SpotBuyAmount != nil {
  444. return *x.SpotBuyAmount
  445. }
  446. return 0
  447. }
  448. func (x *Erms2ArbitrageStrategy) GetSpotBuyQty() float64 {
  449. if x != nil && x.SpotBuyQty != nil {
  450. return *x.SpotBuyQty
  451. }
  452. return 0
  453. }
  454. func (x *Erms2ArbitrageStrategy) GetSpotSellAmount() float64 {
  455. if x != nil && x.SpotSellAmount != nil {
  456. return *x.SpotSellAmount
  457. }
  458. return 0
  459. }
  460. func (x *Erms2ArbitrageStrategy) GetSpotSellQty() float64 {
  461. if x != nil && x.SpotSellQty != nil {
  462. return *x.SpotSellQty
  463. }
  464. return 0
  465. }
  466. func (x *Erms2ArbitrageStrategy) GetUpDatetime() *Date {
  467. if x != nil {
  468. return x.UpDatetime
  469. }
  470. return nil
  471. }
  472. func (x *Erms2ArbitrageStrategy) GetASName() string {
  473. if x != nil && x.ASName != nil {
  474. return *x.ASName
  475. }
  476. return ""
  477. }
  478. // ERMCP_AREASPOT 企业现货表
  479. type ErmcpAreaSpot struct {
  480. state protoimpl.MessageState
  481. sizeCache protoimpl.SizeCache
  482. unknownFields protoimpl.UnknownFields
  483. //mkey: 1 2
  484. WrStandardID *uint32 `protobuf:"varint,1,opt,name=WrStandardID" json:"WrStandardID,omitempty"` // 现货商品ID
  485. AreaUserID *uint32 `protobuf:"varint,2,opt,name=AreaUserID" json:"AreaUserID,omitempty"` // 所属机构
  486. OriBuyPlanQty *float64 `protobuf:"fixed64,3,opt,name=OriBuyPlanQty" json:"OriBuyPlanQty,omitempty"` // 期初采购计划数量
  487. OriBuyPricedQty *float64 `protobuf:"fixed64,4,opt,name=OriBuyPricedQty" json:"OriBuyPricedQty,omitempty"` // 期初采购合同已定价数量
  488. OriSellPlanQty *float64 `protobuf:"fixed64,5,opt,name=OriSellPlanQty" json:"OriSellPlanQty,omitempty"` // 期初销售计划数量
  489. OriSellPricedQty *float64 `protobuf:"fixed64,6,opt,name=OriSellPricedQty" json:"OriSellPricedQty,omitempty"` // 期初销售合同已定价数量
  490. BuyPlanQty *float64 `protobuf:"fixed64,7,opt,name=BuyPlanQty" json:"BuyPlanQty,omitempty"` // 采购计划数量
  491. BuyPricedQty *float64 `protobuf:"fixed64,8,opt,name=BuyPricedQty" json:"BuyPricedQty,omitempty"` // 采购合同已定价数量
  492. SellPlanQty *float64 `protobuf:"fixed64,9,opt,name=SellPlanQty" json:"SellPlanQty,omitempty"` // 销售计划数量
  493. SellPricedQty *float64 `protobuf:"fixed64,10,opt,name=SellPricedQty" json:"SellPricedQty,omitempty"` // 销售合同已定价数量
  494. TotalSpotQty *float64 `protobuf:"fixed64,11,opt,name=TotalSpotQty" json:"TotalSpotQty,omitempty"` // 现货头寸总量 = (销售计划数量 - 销售已定价数量) - (采购计划数量 - 采购已定价数量)
  495. UpdateTime *Date `protobuf:"bytes,12,opt,name=UpdateTime" json:"UpdateTime,omitempty"` // 更新时间
  496. }
  497. func (x *ErmcpAreaSpot) Reset() {
  498. *x = ErmcpAreaSpot{}
  499. if protoimpl.UnsafeEnabled {
  500. mi := &file_mtp2_proto_msgTypes[4]
  501. ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  502. ms.StoreMessageInfo(mi)
  503. }
  504. }
  505. func (x *ErmcpAreaSpot) String() string {
  506. return protoimpl.X.MessageStringOf(x)
  507. }
  508. func (*ErmcpAreaSpot) ProtoMessage() {}
  509. func (x *ErmcpAreaSpot) ProtoReflect() protoreflect.Message {
  510. mi := &file_mtp2_proto_msgTypes[4]
  511. if protoimpl.UnsafeEnabled && x != nil {
  512. ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  513. if ms.LoadMessageInfo() == nil {
  514. ms.StoreMessageInfo(mi)
  515. }
  516. return ms
  517. }
  518. return mi.MessageOf(x)
  519. }
  520. // Deprecated: Use ErmcpAreaSpot.ProtoReflect.Descriptor instead.
  521. func (*ErmcpAreaSpot) Descriptor() ([]byte, []int) {
  522. return file_mtp2_proto_rawDescGZIP(), []int{4}
  523. }
  524. func (x *ErmcpAreaSpot) GetWrStandardID() uint32 {
  525. if x != nil && x.WrStandardID != nil {
  526. return *x.WrStandardID
  527. }
  528. return 0
  529. }
  530. func (x *ErmcpAreaSpot) GetAreaUserID() uint32 {
  531. if x != nil && x.AreaUserID != nil {
  532. return *x.AreaUserID
  533. }
  534. return 0
  535. }
  536. func (x *ErmcpAreaSpot) GetOriBuyPlanQty() float64 {
  537. if x != nil && x.OriBuyPlanQty != nil {
  538. return *x.OriBuyPlanQty
  539. }
  540. return 0
  541. }
  542. func (x *ErmcpAreaSpot) GetOriBuyPricedQty() float64 {
  543. if x != nil && x.OriBuyPricedQty != nil {
  544. return *x.OriBuyPricedQty
  545. }
  546. return 0
  547. }
  548. func (x *ErmcpAreaSpot) GetOriSellPlanQty() float64 {
  549. if x != nil && x.OriSellPlanQty != nil {
  550. return *x.OriSellPlanQty
  551. }
  552. return 0
  553. }
  554. func (x *ErmcpAreaSpot) GetOriSellPricedQty() float64 {
  555. if x != nil && x.OriSellPricedQty != nil {
  556. return *x.OriSellPricedQty
  557. }
  558. return 0
  559. }
  560. func (x *ErmcpAreaSpot) GetBuyPlanQty() float64 {
  561. if x != nil && x.BuyPlanQty != nil {
  562. return *x.BuyPlanQty
  563. }
  564. return 0
  565. }
  566. func (x *ErmcpAreaSpot) GetBuyPricedQty() float64 {
  567. if x != nil && x.BuyPricedQty != nil {
  568. return *x.BuyPricedQty
  569. }
  570. return 0
  571. }
  572. func (x *ErmcpAreaSpot) GetSellPlanQty() float64 {
  573. if x != nil && x.SellPlanQty != nil {
  574. return *x.SellPlanQty
  575. }
  576. return 0
  577. }
  578. func (x *ErmcpAreaSpot) GetSellPricedQty() float64 {
  579. if x != nil && x.SellPricedQty != nil {
  580. return *x.SellPricedQty
  581. }
  582. return 0
  583. }
  584. func (x *ErmcpAreaSpot) GetTotalSpotQty() float64 {
  585. if x != nil && x.TotalSpotQty != nil {
  586. return *x.TotalSpotQty
  587. }
  588. return 0
  589. }
  590. func (x *ErmcpAreaSpot) GetUpdateTime() *Date {
  591. if x != nil {
  592. return x.UpdateTime
  593. }
  594. return nil
  595. }
  596. // ERMCP_AREAEXPOSURE 企业敞口表
  597. type ErmcpAreaExposure struct {
  598. state protoimpl.MessageState
  599. sizeCache protoimpl.SizeCache
  600. unknownFields protoimpl.UnknownFields
  601. //mkey: 1 2
  602. //nkey: 1
  603. MiddleGoodsID *uint32 `protobuf:"varint,1,opt,name=MiddleGoodsID" json:"MiddleGoodsID,omitempty"` // 套保品种
  604. AreaUserID *uint32 `protobuf:"varint,2,opt,name=AreaUserID" json:"AreaUserID,omitempty"` // 所属机构
  605. OriBuyPlanQty *float64 `protobuf:"fixed64,3,opt,name=OriBuyPlanQty" json:"OriBuyPlanQty,omitempty"` // 期初采购计划数量
  606. OriBuyPricedQty *float64 `protobuf:"fixed64,4,opt,name=OriBuyPricedQty" json:"OriBuyPricedQty,omitempty"` // 期初采购合同已定价数量
  607. OriSellPlanQty *float64 `protobuf:"fixed64,5,opt,name=OriSellPlanQty" json:"OriSellPlanQty,omitempty"` // 期初销售计划数量
  608. OriSellPricedQty *float64 `protobuf:"fixed64,6,opt,name=OriSellPricedQty" json:"OriSellPricedQty,omitempty"` // 期初销售合同已定价数量
  609. OriBuyFutureQty *uint64 `protobuf:"varint,7,opt,name=OriBuyFutureQty" json:"OriBuyFutureQty,omitempty"` // 期初买入期货数量
  610. OriSellFutureQty *uint64 `protobuf:"varint,8,opt,name=OriSellFutureQty" json:"OriSellFutureQty,omitempty"` // 期初卖出期货数量
  611. BuyPlanQty *float64 `protobuf:"fixed64,9,opt,name=BuyPlanQty" json:"BuyPlanQty,omitempty"` // 采购计划数量
  612. BuyPricedQty *float64 `protobuf:"fixed64,10,opt,name=BuyPricedQty" json:"BuyPricedQty,omitempty"` // 采购合同已定价数量
  613. SellPlanQty *float64 `protobuf:"fixed64,11,opt,name=SellPlanQty" json:"SellPlanQty,omitempty"` // 销售计划数量
  614. SellPricedQty *float64 `protobuf:"fixed64,12,opt,name=SellPricedQty" json:"SellPricedQty,omitempty"` // 销售合同已定价数量
  615. BuyFutureQty *float64 `protobuf:"fixed64,13,opt,name=BuyFutureQty" json:"BuyFutureQty,omitempty"` // 买入期货数量
  616. SellFutureQty *float64 `protobuf:"fixed64,14,opt,name=SellFutureQty" json:"SellFutureQty,omitempty"` // 卖出期货数量
  617. TotalSpotQty *float64 `protobuf:"fixed64,15,opt,name=TotalSpotQty" json:"TotalSpotQty,omitempty"` // 现货头寸总量
  618. TotalFutureQty *float64 `protobuf:"fixed64,16,opt,name=TotalFutureQty" json:"TotalFutureQty,omitempty"` // 期货头寸总量
  619. TotalExposure *float64 `protobuf:"fixed64,17,opt,name=TotalExposure" json:"TotalExposure,omitempty"` // 实时总敞口
  620. TotalHedgeRatio *float64 `protobuf:"fixed64,18,opt,name=TotalHedgeRatio" json:"TotalHedgeRatio,omitempty"` // 总套保比率
  621. TotalNeedHedgeQty *float64 `protobuf:"fixed64,19,opt,name=TotalNeedHedgeQty" json:"TotalNeedHedgeQty,omitempty"` // 应套保总量
  622. NeedHedgeExposoure *float64 `protobuf:"fixed64,20,opt,name=NeedHedgeExposoure" json:"NeedHedgeExposoure,omitempty"` // 应套保敞口
  623. NeedHedgeRatio *float64 `protobuf:"fixed64,21,opt,name=NeedHedgeRatio" json:"NeedHedgeRatio,omitempty"` // 应套保比率
  624. UpdateTime *Date `protobuf:"bytes,22,opt,name=UpdateTime" json:"UpdateTime,omitempty"` // 更新时间
  625. }
  626. func (x *ErmcpAreaExposure) Reset() {
  627. *x = ErmcpAreaExposure{}
  628. if protoimpl.UnsafeEnabled {
  629. mi := &file_mtp2_proto_msgTypes[5]
  630. ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  631. ms.StoreMessageInfo(mi)
  632. }
  633. }
  634. func (x *ErmcpAreaExposure) String() string {
  635. return protoimpl.X.MessageStringOf(x)
  636. }
  637. func (*ErmcpAreaExposure) ProtoMessage() {}
  638. func (x *ErmcpAreaExposure) ProtoReflect() protoreflect.Message {
  639. mi := &file_mtp2_proto_msgTypes[5]
  640. if protoimpl.UnsafeEnabled && x != nil {
  641. ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  642. if ms.LoadMessageInfo() == nil {
  643. ms.StoreMessageInfo(mi)
  644. }
  645. return ms
  646. }
  647. return mi.MessageOf(x)
  648. }
  649. // Deprecated: Use ErmcpAreaExposure.ProtoReflect.Descriptor instead.
  650. func (*ErmcpAreaExposure) Descriptor() ([]byte, []int) {
  651. return file_mtp2_proto_rawDescGZIP(), []int{5}
  652. }
  653. func (x *ErmcpAreaExposure) GetMiddleGoodsID() uint32 {
  654. if x != nil && x.MiddleGoodsID != nil {
  655. return *x.MiddleGoodsID
  656. }
  657. return 0
  658. }
  659. func (x *ErmcpAreaExposure) GetAreaUserID() uint32 {
  660. if x != nil && x.AreaUserID != nil {
  661. return *x.AreaUserID
  662. }
  663. return 0
  664. }
  665. func (x *ErmcpAreaExposure) GetOriBuyPlanQty() float64 {
  666. if x != nil && x.OriBuyPlanQty != nil {
  667. return *x.OriBuyPlanQty
  668. }
  669. return 0
  670. }
  671. func (x *ErmcpAreaExposure) GetOriBuyPricedQty() float64 {
  672. if x != nil && x.OriBuyPricedQty != nil {
  673. return *x.OriBuyPricedQty
  674. }
  675. return 0
  676. }
  677. func (x *ErmcpAreaExposure) GetOriSellPlanQty() float64 {
  678. if x != nil && x.OriSellPlanQty != nil {
  679. return *x.OriSellPlanQty
  680. }
  681. return 0
  682. }
  683. func (x *ErmcpAreaExposure) GetOriSellPricedQty() float64 {
  684. if x != nil && x.OriSellPricedQty != nil {
  685. return *x.OriSellPricedQty
  686. }
  687. return 0
  688. }
  689. func (x *ErmcpAreaExposure) GetOriBuyFutureQty() uint64 {
  690. if x != nil && x.OriBuyFutureQty != nil {
  691. return *x.OriBuyFutureQty
  692. }
  693. return 0
  694. }
  695. func (x *ErmcpAreaExposure) GetOriSellFutureQty() uint64 {
  696. if x != nil && x.OriSellFutureQty != nil {
  697. return *x.OriSellFutureQty
  698. }
  699. return 0
  700. }
  701. func (x *ErmcpAreaExposure) GetBuyPlanQty() float64 {
  702. if x != nil && x.BuyPlanQty != nil {
  703. return *x.BuyPlanQty
  704. }
  705. return 0
  706. }
  707. func (x *ErmcpAreaExposure) GetBuyPricedQty() float64 {
  708. if x != nil && x.BuyPricedQty != nil {
  709. return *x.BuyPricedQty
  710. }
  711. return 0
  712. }
  713. func (x *ErmcpAreaExposure) GetSellPlanQty() float64 {
  714. if x != nil && x.SellPlanQty != nil {
  715. return *x.SellPlanQty
  716. }
  717. return 0
  718. }
  719. func (x *ErmcpAreaExposure) GetSellPricedQty() float64 {
  720. if x != nil && x.SellPricedQty != nil {
  721. return *x.SellPricedQty
  722. }
  723. return 0
  724. }
  725. func (x *ErmcpAreaExposure) GetBuyFutureQty() float64 {
  726. if x != nil && x.BuyFutureQty != nil {
  727. return *x.BuyFutureQty
  728. }
  729. return 0
  730. }
  731. func (x *ErmcpAreaExposure) GetSellFutureQty() float64 {
  732. if x != nil && x.SellFutureQty != nil {
  733. return *x.SellFutureQty
  734. }
  735. return 0
  736. }
  737. func (x *ErmcpAreaExposure) GetTotalSpotQty() float64 {
  738. if x != nil && x.TotalSpotQty != nil {
  739. return *x.TotalSpotQty
  740. }
  741. return 0
  742. }
  743. func (x *ErmcpAreaExposure) GetTotalFutureQty() float64 {
  744. if x != nil && x.TotalFutureQty != nil {
  745. return *x.TotalFutureQty
  746. }
  747. return 0
  748. }
  749. func (x *ErmcpAreaExposure) GetTotalExposure() float64 {
  750. if x != nil && x.TotalExposure != nil {
  751. return *x.TotalExposure
  752. }
  753. return 0
  754. }
  755. func (x *ErmcpAreaExposure) GetTotalHedgeRatio() float64 {
  756. if x != nil && x.TotalHedgeRatio != nil {
  757. return *x.TotalHedgeRatio
  758. }
  759. return 0
  760. }
  761. func (x *ErmcpAreaExposure) GetTotalNeedHedgeQty() float64 {
  762. if x != nil && x.TotalNeedHedgeQty != nil {
  763. return *x.TotalNeedHedgeQty
  764. }
  765. return 0
  766. }
  767. func (x *ErmcpAreaExposure) GetNeedHedgeExposoure() float64 {
  768. if x != nil && x.NeedHedgeExposoure != nil {
  769. return *x.NeedHedgeExposoure
  770. }
  771. return 0
  772. }
  773. func (x *ErmcpAreaExposure) GetNeedHedgeRatio() float64 {
  774. if x != nil && x.NeedHedgeRatio != nil {
  775. return *x.NeedHedgeRatio
  776. }
  777. return 0
  778. }
  779. func (x *ErmcpAreaExposure) GetUpdateTime() *Date {
  780. if x != nil {
  781. return x.UpdateTime
  782. }
  783. return nil
  784. }
  785. // GoodsMarginCfgStruct 商品保证金配置
  786. type GoodsMarginCfgStruct struct {
  787. state protoimpl.MessageState
  788. sizeCache protoimpl.SizeCache
  789. unknownFields protoimpl.UnknownFields
  790. GoodsID *uint32 `protobuf:"varint,1,opt,name=GoodsID" json:"GoodsID,omitempty"` // 商品ID
  791. CustomerTypeID *uint32 `protobuf:"varint,2,opt,name=CustomerTypeID" json:"CustomerTypeID,omitempty"` // 投资者客户类型
  792. MarginAlgorithm *uint32 `protobuf:"varint,3,opt,name=MarginAlgorithm" json:"MarginAlgorithm,omitempty"` // 保证金计算方式
  793. MarketMarginValue *float64 `protobuf:"fixed64,4,opt,name=MarketMarginValue" json:"MarketMarginValue,omitempty"` // 即市保证金值
  794. ReckonMarginValue *float64 `protobuf:"fixed64,5,opt,name=ReckonMarginValue" json:"ReckonMarginValue,omitempty"` // 结算保证金值
  795. LockMarginValue *float64 `protobuf:"fixed64,6,opt,name=LockMarginValue" json:"LockMarginValue,omitempty"` // 锁仓保证金
  796. RealMarginValue *float64 `protobuf:"fixed64,7,opt,name=RealMarginValue" json:"RealMarginValue,omitempty"` // 实付比例
  797. RealMarginAlgorithm *uint32 `protobuf:"varint,8,opt,name=RealMarginAlgorithm" json:"RealMarginAlgorithm,omitempty"` // 实付保证金计算方式
  798. IsDefault *uint32 `protobuf:"varint,9,opt,name=IsDefault" json:"IsDefault,omitempty"` // 是否默认标志位
  799. }
  800. func (x *GoodsMarginCfgStruct) Reset() {
  801. *x = GoodsMarginCfgStruct{}
  802. if protoimpl.UnsafeEnabled {
  803. mi := &file_mtp2_proto_msgTypes[6]
  804. ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  805. ms.StoreMessageInfo(mi)
  806. }
  807. }
  808. func (x *GoodsMarginCfgStruct) String() string {
  809. return protoimpl.X.MessageStringOf(x)
  810. }
  811. func (*GoodsMarginCfgStruct) ProtoMessage() {}
  812. func (x *GoodsMarginCfgStruct) ProtoReflect() protoreflect.Message {
  813. mi := &file_mtp2_proto_msgTypes[6]
  814. if protoimpl.UnsafeEnabled && x != nil {
  815. ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  816. if ms.LoadMessageInfo() == nil {
  817. ms.StoreMessageInfo(mi)
  818. }
  819. return ms
  820. }
  821. return mi.MessageOf(x)
  822. }
  823. // Deprecated: Use GoodsMarginCfgStruct.ProtoReflect.Descriptor instead.
  824. func (*GoodsMarginCfgStruct) Descriptor() ([]byte, []int) {
  825. return file_mtp2_proto_rawDescGZIP(), []int{6}
  826. }
  827. func (x *GoodsMarginCfgStruct) GetGoodsID() uint32 {
  828. if x != nil && x.GoodsID != nil {
  829. return *x.GoodsID
  830. }
  831. return 0
  832. }
  833. func (x *GoodsMarginCfgStruct) GetCustomerTypeID() uint32 {
  834. if x != nil && x.CustomerTypeID != nil {
  835. return *x.CustomerTypeID
  836. }
  837. return 0
  838. }
  839. func (x *GoodsMarginCfgStruct) GetMarginAlgorithm() uint32 {
  840. if x != nil && x.MarginAlgorithm != nil {
  841. return *x.MarginAlgorithm
  842. }
  843. return 0
  844. }
  845. func (x *GoodsMarginCfgStruct) GetMarketMarginValue() float64 {
  846. if x != nil && x.MarketMarginValue != nil {
  847. return *x.MarketMarginValue
  848. }
  849. return 0
  850. }
  851. func (x *GoodsMarginCfgStruct) GetReckonMarginValue() float64 {
  852. if x != nil && x.ReckonMarginValue != nil {
  853. return *x.ReckonMarginValue
  854. }
  855. return 0
  856. }
  857. func (x *GoodsMarginCfgStruct) GetLockMarginValue() float64 {
  858. if x != nil && x.LockMarginValue != nil {
  859. return *x.LockMarginValue
  860. }
  861. return 0
  862. }
  863. func (x *GoodsMarginCfgStruct) GetRealMarginValue() float64 {
  864. if x != nil && x.RealMarginValue != nil {
  865. return *x.RealMarginValue
  866. }
  867. return 0
  868. }
  869. func (x *GoodsMarginCfgStruct) GetRealMarginAlgorithm() uint32 {
  870. if x != nil && x.RealMarginAlgorithm != nil {
  871. return *x.RealMarginAlgorithm
  872. }
  873. return 0
  874. }
  875. func (x *GoodsMarginCfgStruct) GetIsDefault() uint32 {
  876. if x != nil && x.IsDefault != nil {
  877. return *x.IsDefault
  878. }
  879. return 0
  880. }
  881. // ERMCP2_HEDGEDITEM 被套期项目表
  882. type Ermcp2HedgedItem struct {
  883. state protoimpl.MessageState
  884. sizeCache protoimpl.SizeCache
  885. unknownFields protoimpl.UnknownFields
  886. //mkey: 1
  887. HedgedItemID *uint64 `protobuf:"varint,1,opt,name=HedgedItemID" json:"HedgedItemID,omitempty"` // 被套期项目ID(624+Unix秒时间戳(10位)+xxxxxx)
  888. HedgedItemNum *string `protobuf:"bytes,2,opt,name=HedgedItemNum" json:"HedgedItemNum,omitempty"` // 项目编号
  889. HedgedItemName *string `protobuf:"bytes,3,opt,name=HedgedItemName" json:"HedgedItemName,omitempty"` // 项目名称
  890. HedgedType *uint64 `protobuf:"varint,4,opt,name=HedgedType" json:"HedgedType,omitempty"` // 套期类型 - 1:采购计划项目 2:销售计划项目 3:现货贸易项目 4:库存存货项目 5:定价采购合同项目
  891. PlanStartDate *Date `protobuf:"bytes,5,opt,name=PlanStartDate" json:"PlanStartDate,omitempty"` // 计划开始日期 --DATE
  892. PlanEndDate *Date `protobuf:"bytes,6,opt,name=PlanEndDate" json:"PlanEndDate,omitempty"` // 计划结束日期 --DATE
  893. HedgeRate *float64 `protobuf:"fixed64,7,opt,name=HedgeRate" json:"HedgeRate,omitempty"` // 套保比率
  894. TradeUserID *uint64 `protobuf:"varint,8,opt,name=TradeUserID" json:"TradeUserID,omitempty"` // 交易用户ID
  895. AreaUserID *uint64 `protobuf:"varint,9,opt,name=AreaUserID" json:"AreaUserID,omitempty"` // 企业ID
  896. HedgedItemStatus *uint64 `protobuf:"varint,10,opt,name=HedgedItemStatus" json:"HedgedItemStatus,omitempty"` // 项目状态 - 0:未提交 1:待审核 2:执行中 3:正常完结 4:审核拒绝 5:异常完结 6:已撤回
  897. ApplySrc *uint64 `protobuf:"varint,11,opt,name=ApplySrc" json:"ApplySrc,omitempty"` // 申请来源 - 1:管理端 2:终端
  898. ApplyID *uint64 `protobuf:"varint,12,opt,name=ApplyID" json:"ApplyID,omitempty"` // 申请人
  899. Remark *string `protobuf:"bytes,13,opt,name=Remark" json:"Remark,omitempty"` // 备注
  900. CreateTime *Date `protobuf:"bytes,14,opt,name=CreateTime" json:"CreateTime,omitempty"` // 申请时间 --DATE
  901. AuditTradeDate *string `protobuf:"bytes,15,opt,name=AuditTradeDate" json:"AuditTradeDate,omitempty"` // 审核交易日(yyyyMMdd)
  902. AuditID *uint64 `protobuf:"varint,16,opt,name=AuditID" json:"AuditID,omitempty"` // 审核人
  903. AuditSrc *uint64 `protobuf:"varint,17,opt,name=AuditSrc" json:"AuditSrc,omitempty"` // 审核来源 - 1:管理端 2:终端
  904. AuditTime *string `protobuf:"bytes,18,opt,name=AuditTime" json:"AuditTime,omitempty"` // 审核时间 --DATE
  905. AuditRemark *string `protobuf:"bytes,19,opt,name=AuditRemark" json:"AuditRemark,omitempty"` // 审核备注
  906. DeliveryGoodsID *uint64 `protobuf:"varint,20,opt,name=DeliveryGoodsID" json:"DeliveryGoodsID,omitempty"` // 现货品种ID
  907. WrStandardID *uint64 `protobuf:"varint,21,opt,name=WrStandardID" json:"WrStandardID,omitempty"` // 现货商品ID
  908. VatRate *float64 `protobuf:"fixed64,22,opt,name=VatRate" json:"VatRate,omitempty"` // 增值税
  909. HedgeQty *float64 `protobuf:"fixed64,23,opt,name=HedgeQty" json:"HedgeQty,omitempty"` // 套期现货量
  910. HedgeAmount *float64 `protobuf:"fixed64,24,opt,name=HedgeAmount" json:"HedgeAmount,omitempty"` // 套期市价总额
  911. HedgeRestAmount *float64 `protobuf:"fixed64,25,opt,name=HedgeRestAmount" json:"HedgeRestAmount,omitempty"` // 套期剩余市价总额【现货贸易】
  912. HedgeContractAmount *float64 `protobuf:"fixed64,26,opt,name=HedgeContractAmount" json:"HedgeContractAmount,omitempty"` // 套期定价总额 【定价采购合同】【现货贸易】
  913. OriAvgPrice *float64 `protobuf:"fixed64,27,opt,name=OriAvgPrice" json:"OriAvgPrice,omitempty"` // 期初市场均价 = 套期市价总额 / 套期现货量
  914. ExeQty *float64 `protobuf:"fixed64,28,opt,name=ExeQty" json:"ExeQty,omitempty"` // 执行现货量
  915. ExeAmount *float64 `protobuf:"fixed64,29,opt,name=ExeAmount" json:"ExeAmount,omitempty"` // 执行市价总额
  916. ExeRestAmount *float64 `protobuf:"fixed64,30,opt,name=ExeRestAmount" json:"ExeRestAmount,omitempty"` // 执行剩余市价总额【现货贸易】
  917. ExeAvgPrice *float64 `protobuf:"fixed64,31,opt,name=ExeAvgPrice" json:"ExeAvgPrice,omitempty"` // 执行市场均价= 执行市价总额 / 执行现货量
  918. ExeContractAmount *float64 `protobuf:"fixed64,32,opt,name=ExeContractAmount" json:"ExeContractAmount,omitempty"` // 执行定价总额
  919. CurPrice *float64 `protobuf:"fixed64,33,opt,name=CurPrice" json:"CurPrice,omitempty"` // 当前市场价
  920. UnExeQty *float64 `protobuf:"fixed64,34,opt,name=UnExeQty" json:"UnExeQty,omitempty"` // 未执行现货量 = 套期现货量 - 执行现货量
  921. SpotHedgePL *float64 `protobuf:"fixed64,35,opt,name=SpotHedgePL" json:"SpotHedgePL,omitempty"` // 现货套期损益 =(执行市场均价-期初市场均价)*执行现货量 * 方向(销售计划 为 -1, 其它为1)
  922. SpotPL *float64 `protobuf:"fixed64,36,opt,name=SpotPL" json:"SpotPL,omitempty"` // 现货套期损益 = 现货实际损益 + 现货浮动损益
  923. FutureHedgePL *float64 `protobuf:"fixed64,37,opt,name=FutureHedgePL" json:"FutureHedgePL,omitempty"` // 期货实际损益
  924. FuturePL *float64 `protobuf:"fixed64,38,opt,name=FuturePL" json:"FuturePL,omitempty"` // 期货套期损益
  925. HedgeSumPL *float64 `protobuf:"fixed64,39,opt,name=HedgeSumPL" json:"HedgeSumPL,omitempty"` // 套期汇总损益 = 期货汇总损益 + 现货汇总损益
  926. SpotTradePL *float64 `protobuf:"fixed64,40,opt,name=SpotTradePL" json:"SpotTradePL,omitempty"` // 现货贸易损益【现货贸易】= 执行合同定价总额 - 套期合同定价总额
  927. VatPL *float64 `protobuf:"fixed64,41,opt,name=VatPL" json:"VatPL,omitempty"` // 增值税损益【现货贸易】= 现货贸易损益 * (增值税率 /(1+增值税率))
  928. SumObsPL *float64 `protobuf:"fixed64,42,opt,name=SumObsPL" json:"SumObsPL,omitempty"` // 汇总绝对损益【现货贸易】=现货贸易损益+增值税损益+期货套期损益
  929. SpotBookAmount *float64 `protobuf:"fixed64,43,opt,name=SpotBookAmount" json:"SpotBookAmount,omitempty"` // 现货账面总额
  930. CurStock *float64 `protobuf:"fixed64,44,opt,name=CurStock" json:"CurStock,omitempty"` // 期末库存量 = 采购总量 - 销售总量
  931. EndDate *Date `protobuf:"bytes,45,opt,name=EndDate" json:"EndDate,omitempty"` // 完成日期 --DATE
  932. EndTradeDate *string `protobuf:"bytes,46,opt,name=EndTradeDate" json:"EndTradeDate,omitempty"` // 完成交易日
  933. UpdateTime *Date `protobuf:"bytes,47,opt,name=UpdateTime" json:"UpdateTime,omitempty"` // 更新时间 --DATE
  934. OriSpotHedgePL *float64 `protobuf:"fixed64,48,opt,name=OriSpotHedgePL" json:"OriSpotHedgePL,omitempty"` // 期初现货实际损益
  935. OriFutureHedgePL *float64 `protobuf:"fixed64,49,opt,name=OriFutureHedgePL" json:"OriFutureHedgePL,omitempty"` // 期初期货实际损益
  936. OriSpotPL *float64 `protobuf:"fixed64,50,opt,name=OriSpotPL" json:"OriSpotPL,omitempty"` // 期初现货套期损益
  937. OriFuturePL *float64 `protobuf:"fixed64,51,opt,name=OriFuturePL" json:"OriFuturePL,omitempty"` // 期初期货套期损益
  938. SpotFloatPL *float64 `protobuf:"fixed64,52,opt,name=SpotFloatPL" json:"SpotFloatPL,omitempty"` // 现货浮动损益 =(当前市场价 - 期初市场价)*未执行现货量 * 方向(销售计划 为 -1, 其它为1)
  939. FutureFloatPL *float64 `protobuf:"fixed64,53,opt,name=FutureFloatPL" json:"FutureFloatPL,omitempty"` // 期货浮动损益
  940. IsRelated *uint32 `protobuf:"varint,54,opt,name=IsRelated" json:"IsRelated,omitempty"` //是否关联 - 0:未关联 1:已关联
  941. }
  942. func (x *Ermcp2HedgedItem) Reset() {
  943. *x = Ermcp2HedgedItem{}
  944. if protoimpl.UnsafeEnabled {
  945. mi := &file_mtp2_proto_msgTypes[7]
  946. ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  947. ms.StoreMessageInfo(mi)
  948. }
  949. }
  950. func (x *Ermcp2HedgedItem) String() string {
  951. return protoimpl.X.MessageStringOf(x)
  952. }
  953. func (*Ermcp2HedgedItem) ProtoMessage() {}
  954. func (x *Ermcp2HedgedItem) ProtoReflect() protoreflect.Message {
  955. mi := &file_mtp2_proto_msgTypes[7]
  956. if protoimpl.UnsafeEnabled && x != nil {
  957. ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  958. if ms.LoadMessageInfo() == nil {
  959. ms.StoreMessageInfo(mi)
  960. }
  961. return ms
  962. }
  963. return mi.MessageOf(x)
  964. }
  965. // Deprecated: Use Ermcp2HedgedItem.ProtoReflect.Descriptor instead.
  966. func (*Ermcp2HedgedItem) Descriptor() ([]byte, []int) {
  967. return file_mtp2_proto_rawDescGZIP(), []int{7}
  968. }
  969. func (x *Ermcp2HedgedItem) GetHedgedItemID() uint64 {
  970. if x != nil && x.HedgedItemID != nil {
  971. return *x.HedgedItemID
  972. }
  973. return 0
  974. }
  975. func (x *Ermcp2HedgedItem) GetHedgedItemNum() string {
  976. if x != nil && x.HedgedItemNum != nil {
  977. return *x.HedgedItemNum
  978. }
  979. return ""
  980. }
  981. func (x *Ermcp2HedgedItem) GetHedgedItemName() string {
  982. if x != nil && x.HedgedItemName != nil {
  983. return *x.HedgedItemName
  984. }
  985. return ""
  986. }
  987. func (x *Ermcp2HedgedItem) GetHedgedType() uint64 {
  988. if x != nil && x.HedgedType != nil {
  989. return *x.HedgedType
  990. }
  991. return 0
  992. }
  993. func (x *Ermcp2HedgedItem) GetPlanStartDate() *Date {
  994. if x != nil {
  995. return x.PlanStartDate
  996. }
  997. return nil
  998. }
  999. func (x *Ermcp2HedgedItem) GetPlanEndDate() *Date {
  1000. if x != nil {
  1001. return x.PlanEndDate
  1002. }
  1003. return nil
  1004. }
  1005. func (x *Ermcp2HedgedItem) GetHedgeRate() float64 {
  1006. if x != nil && x.HedgeRate != nil {
  1007. return *x.HedgeRate
  1008. }
  1009. return 0
  1010. }
  1011. func (x *Ermcp2HedgedItem) GetTradeUserID() uint64 {
  1012. if x != nil && x.TradeUserID != nil {
  1013. return *x.TradeUserID
  1014. }
  1015. return 0
  1016. }
  1017. func (x *Ermcp2HedgedItem) GetAreaUserID() uint64 {
  1018. if x != nil && x.AreaUserID != nil {
  1019. return *x.AreaUserID
  1020. }
  1021. return 0
  1022. }
  1023. func (x *Ermcp2HedgedItem) GetHedgedItemStatus() uint64 {
  1024. if x != nil && x.HedgedItemStatus != nil {
  1025. return *x.HedgedItemStatus
  1026. }
  1027. return 0
  1028. }
  1029. func (x *Ermcp2HedgedItem) GetApplySrc() uint64 {
  1030. if x != nil && x.ApplySrc != nil {
  1031. return *x.ApplySrc
  1032. }
  1033. return 0
  1034. }
  1035. func (x *Ermcp2HedgedItem) GetApplyID() uint64 {
  1036. if x != nil && x.ApplyID != nil {
  1037. return *x.ApplyID
  1038. }
  1039. return 0
  1040. }
  1041. func (x *Ermcp2HedgedItem) GetRemark() string {
  1042. if x != nil && x.Remark != nil {
  1043. return *x.Remark
  1044. }
  1045. return ""
  1046. }
  1047. func (x *Ermcp2HedgedItem) GetCreateTime() *Date {
  1048. if x != nil {
  1049. return x.CreateTime
  1050. }
  1051. return nil
  1052. }
  1053. func (x *Ermcp2HedgedItem) GetAuditTradeDate() string {
  1054. if x != nil && x.AuditTradeDate != nil {
  1055. return *x.AuditTradeDate
  1056. }
  1057. return ""
  1058. }
  1059. func (x *Ermcp2HedgedItem) GetAuditID() uint64 {
  1060. if x != nil && x.AuditID != nil {
  1061. return *x.AuditID
  1062. }
  1063. return 0
  1064. }
  1065. func (x *Ermcp2HedgedItem) GetAuditSrc() uint64 {
  1066. if x != nil && x.AuditSrc != nil {
  1067. return *x.AuditSrc
  1068. }
  1069. return 0
  1070. }
  1071. func (x *Ermcp2HedgedItem) GetAuditTime() string {
  1072. if x != nil && x.AuditTime != nil {
  1073. return *x.AuditTime
  1074. }
  1075. return ""
  1076. }
  1077. func (x *Ermcp2HedgedItem) GetAuditRemark() string {
  1078. if x != nil && x.AuditRemark != nil {
  1079. return *x.AuditRemark
  1080. }
  1081. return ""
  1082. }
  1083. func (x *Ermcp2HedgedItem) GetDeliveryGoodsID() uint64 {
  1084. if x != nil && x.DeliveryGoodsID != nil {
  1085. return *x.DeliveryGoodsID
  1086. }
  1087. return 0
  1088. }
  1089. func (x *Ermcp2HedgedItem) GetWrStandardID() uint64 {
  1090. if x != nil && x.WrStandardID != nil {
  1091. return *x.WrStandardID
  1092. }
  1093. return 0
  1094. }
  1095. func (x *Ermcp2HedgedItem) GetVatRate() float64 {
  1096. if x != nil && x.VatRate != nil {
  1097. return *x.VatRate
  1098. }
  1099. return 0
  1100. }
  1101. func (x *Ermcp2HedgedItem) GetHedgeQty() float64 {
  1102. if x != nil && x.HedgeQty != nil {
  1103. return *x.HedgeQty
  1104. }
  1105. return 0
  1106. }
  1107. func (x *Ermcp2HedgedItem) GetHedgeAmount() float64 {
  1108. if x != nil && x.HedgeAmount != nil {
  1109. return *x.HedgeAmount
  1110. }
  1111. return 0
  1112. }
  1113. func (x *Ermcp2HedgedItem) GetHedgeRestAmount() float64 {
  1114. if x != nil && x.HedgeRestAmount != nil {
  1115. return *x.HedgeRestAmount
  1116. }
  1117. return 0
  1118. }
  1119. func (x *Ermcp2HedgedItem) GetHedgeContractAmount() float64 {
  1120. if x != nil && x.HedgeContractAmount != nil {
  1121. return *x.HedgeContractAmount
  1122. }
  1123. return 0
  1124. }
  1125. func (x *Ermcp2HedgedItem) GetOriAvgPrice() float64 {
  1126. if x != nil && x.OriAvgPrice != nil {
  1127. return *x.OriAvgPrice
  1128. }
  1129. return 0
  1130. }
  1131. func (x *Ermcp2HedgedItem) GetExeQty() float64 {
  1132. if x != nil && x.ExeQty != nil {
  1133. return *x.ExeQty
  1134. }
  1135. return 0
  1136. }
  1137. func (x *Ermcp2HedgedItem) GetExeAmount() float64 {
  1138. if x != nil && x.ExeAmount != nil {
  1139. return *x.ExeAmount
  1140. }
  1141. return 0
  1142. }
  1143. func (x *Ermcp2HedgedItem) GetExeRestAmount() float64 {
  1144. if x != nil && x.ExeRestAmount != nil {
  1145. return *x.ExeRestAmount
  1146. }
  1147. return 0
  1148. }
  1149. func (x *Ermcp2HedgedItem) GetExeAvgPrice() float64 {
  1150. if x != nil && x.ExeAvgPrice != nil {
  1151. return *x.ExeAvgPrice
  1152. }
  1153. return 0
  1154. }
  1155. func (x *Ermcp2HedgedItem) GetExeContractAmount() float64 {
  1156. if x != nil && x.ExeContractAmount != nil {
  1157. return *x.ExeContractAmount
  1158. }
  1159. return 0
  1160. }
  1161. func (x *Ermcp2HedgedItem) GetCurPrice() float64 {
  1162. if x != nil && x.CurPrice != nil {
  1163. return *x.CurPrice
  1164. }
  1165. return 0
  1166. }
  1167. func (x *Ermcp2HedgedItem) GetUnExeQty() float64 {
  1168. if x != nil && x.UnExeQty != nil {
  1169. return *x.UnExeQty
  1170. }
  1171. return 0
  1172. }
  1173. func (x *Ermcp2HedgedItem) GetSpotHedgePL() float64 {
  1174. if x != nil && x.SpotHedgePL != nil {
  1175. return *x.SpotHedgePL
  1176. }
  1177. return 0
  1178. }
  1179. func (x *Ermcp2HedgedItem) GetSpotPL() float64 {
  1180. if x != nil && x.SpotPL != nil {
  1181. return *x.SpotPL
  1182. }
  1183. return 0
  1184. }
  1185. func (x *Ermcp2HedgedItem) GetFutureHedgePL() float64 {
  1186. if x != nil && x.FutureHedgePL != nil {
  1187. return *x.FutureHedgePL
  1188. }
  1189. return 0
  1190. }
  1191. func (x *Ermcp2HedgedItem) GetFuturePL() float64 {
  1192. if x != nil && x.FuturePL != nil {
  1193. return *x.FuturePL
  1194. }
  1195. return 0
  1196. }
  1197. func (x *Ermcp2HedgedItem) GetHedgeSumPL() float64 {
  1198. if x != nil && x.HedgeSumPL != nil {
  1199. return *x.HedgeSumPL
  1200. }
  1201. return 0
  1202. }
  1203. func (x *Ermcp2HedgedItem) GetSpotTradePL() float64 {
  1204. if x != nil && x.SpotTradePL != nil {
  1205. return *x.SpotTradePL
  1206. }
  1207. return 0
  1208. }
  1209. func (x *Ermcp2HedgedItem) GetVatPL() float64 {
  1210. if x != nil && x.VatPL != nil {
  1211. return *x.VatPL
  1212. }
  1213. return 0
  1214. }
  1215. func (x *Ermcp2HedgedItem) GetSumObsPL() float64 {
  1216. if x != nil && x.SumObsPL != nil {
  1217. return *x.SumObsPL
  1218. }
  1219. return 0
  1220. }
  1221. func (x *Ermcp2HedgedItem) GetSpotBookAmount() float64 {
  1222. if x != nil && x.SpotBookAmount != nil {
  1223. return *x.SpotBookAmount
  1224. }
  1225. return 0
  1226. }
  1227. func (x *Ermcp2HedgedItem) GetCurStock() float64 {
  1228. if x != nil && x.CurStock != nil {
  1229. return *x.CurStock
  1230. }
  1231. return 0
  1232. }
  1233. func (x *Ermcp2HedgedItem) GetEndDate() *Date {
  1234. if x != nil {
  1235. return x.EndDate
  1236. }
  1237. return nil
  1238. }
  1239. func (x *Ermcp2HedgedItem) GetEndTradeDate() string {
  1240. if x != nil && x.EndTradeDate != nil {
  1241. return *x.EndTradeDate
  1242. }
  1243. return ""
  1244. }
  1245. func (x *Ermcp2HedgedItem) GetUpdateTime() *Date {
  1246. if x != nil {
  1247. return x.UpdateTime
  1248. }
  1249. return nil
  1250. }
  1251. func (x *Ermcp2HedgedItem) GetOriSpotHedgePL() float64 {
  1252. if x != nil && x.OriSpotHedgePL != nil {
  1253. return *x.OriSpotHedgePL
  1254. }
  1255. return 0
  1256. }
  1257. func (x *Ermcp2HedgedItem) GetOriFutureHedgePL() float64 {
  1258. if x != nil && x.OriFutureHedgePL != nil {
  1259. return *x.OriFutureHedgePL
  1260. }
  1261. return 0
  1262. }
  1263. func (x *Ermcp2HedgedItem) GetOriSpotPL() float64 {
  1264. if x != nil && x.OriSpotPL != nil {
  1265. return *x.OriSpotPL
  1266. }
  1267. return 0
  1268. }
  1269. func (x *Ermcp2HedgedItem) GetOriFuturePL() float64 {
  1270. if x != nil && x.OriFuturePL != nil {
  1271. return *x.OriFuturePL
  1272. }
  1273. return 0
  1274. }
  1275. func (x *Ermcp2HedgedItem) GetSpotFloatPL() float64 {
  1276. if x != nil && x.SpotFloatPL != nil {
  1277. return *x.SpotFloatPL
  1278. }
  1279. return 0
  1280. }
  1281. func (x *Ermcp2HedgedItem) GetFutureFloatPL() float64 {
  1282. if x != nil && x.FutureFloatPL != nil {
  1283. return *x.FutureFloatPL
  1284. }
  1285. return 0
  1286. }
  1287. func (x *Ermcp2HedgedItem) GetIsRelated() uint32 {
  1288. if x != nil && x.IsRelated != nil {
  1289. return *x.IsRelated
  1290. }
  1291. return 0
  1292. }
  1293. // ERMCP2_HEDGEDITEM 被套期项目表扩展
  1294. type Ermcp2HedgedItemExt struct {
  1295. state protoimpl.MessageState
  1296. sizeCache protoimpl.SizeCache
  1297. unknownFields protoimpl.UnknownFields
  1298. Item *Ermcp2HedgedItem `protobuf:"bytes,1,opt,name=item" json:"item,omitempty"`
  1299. Accountname *string `protobuf:"bytes,2,opt,name=accountname" json:"accountname,omitempty"`
  1300. Wrstandardname *string `protobuf:"bytes,3,opt,name=wrstandardname" json:"wrstandardname,omitempty"`
  1301. Unitid *uint32 `protobuf:"varint,4,opt,name=unitid" json:"unitid,omitempty"`
  1302. }
  1303. func (x *Ermcp2HedgedItemExt) Reset() {
  1304. *x = Ermcp2HedgedItemExt{}
  1305. if protoimpl.UnsafeEnabled {
  1306. mi := &file_mtp2_proto_msgTypes[8]
  1307. ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1308. ms.StoreMessageInfo(mi)
  1309. }
  1310. }
  1311. func (x *Ermcp2HedgedItemExt) String() string {
  1312. return protoimpl.X.MessageStringOf(x)
  1313. }
  1314. func (*Ermcp2HedgedItemExt) ProtoMessage() {}
  1315. func (x *Ermcp2HedgedItemExt) ProtoReflect() protoreflect.Message {
  1316. mi := &file_mtp2_proto_msgTypes[8]
  1317. if protoimpl.UnsafeEnabled && x != nil {
  1318. ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1319. if ms.LoadMessageInfo() == nil {
  1320. ms.StoreMessageInfo(mi)
  1321. }
  1322. return ms
  1323. }
  1324. return mi.MessageOf(x)
  1325. }
  1326. // Deprecated: Use Ermcp2HedgedItemExt.ProtoReflect.Descriptor instead.
  1327. func (*Ermcp2HedgedItemExt) Descriptor() ([]byte, []int) {
  1328. return file_mtp2_proto_rawDescGZIP(), []int{8}
  1329. }
  1330. func (x *Ermcp2HedgedItemExt) GetItem() *Ermcp2HedgedItem {
  1331. if x != nil {
  1332. return x.Item
  1333. }
  1334. return nil
  1335. }
  1336. func (x *Ermcp2HedgedItemExt) GetAccountname() string {
  1337. if x != nil && x.Accountname != nil {
  1338. return *x.Accountname
  1339. }
  1340. return ""
  1341. }
  1342. func (x *Ermcp2HedgedItemExt) GetWrstandardname() string {
  1343. if x != nil && x.Wrstandardname != nil {
  1344. return *x.Wrstandardname
  1345. }
  1346. return ""
  1347. }
  1348. func (x *Ermcp2HedgedItemExt) GetUnitid() uint32 {
  1349. if x != nil && x.Unitid != nil {
  1350. return *x.Unitid
  1351. }
  1352. return 0
  1353. }
  1354. // ERMCP2_HIMIDDLEGOODS 项目套保品种明细
  1355. type Ermcp2HIMiddleGoods struct {
  1356. state protoimpl.MessageState
  1357. sizeCache protoimpl.SizeCache
  1358. unknownFields protoimpl.UnknownFields
  1359. //mkey: 1 2
  1360. HedgedItemID *uint64 `protobuf:"varint,1,opt,name=HedgedItemID" json:"HedgedItemID,omitempty"` // 被套期项目ID(624+Unix秒时间戳(10位)+xxxxxx)
  1361. MiddleGoodsID *uint64 `protobuf:"varint,2,opt,name=MiddleGoodsID" json:"MiddleGoodsID,omitempty"` // 套保品种ID
  1362. DeliveryGoodsID *uint64 `protobuf:"varint,3,opt,name=DeliveryGoodsID" json:"DeliveryGoodsID,omitempty"` // 现货品种ID
  1363. WrstandardID *uint64 `protobuf:"varint,4,opt,name=WrstandardID" json:"WrstandardID,omitempty"` // 现货商品ID
  1364. VatRate *float64 `protobuf:"fixed64,5,opt,name=VatRate" json:"VatRate,omitempty"` // 增值税
  1365. SpotConvertRatio *float64 `protobuf:"fixed64,6,opt,name=SpotConvertRatio" json:"SpotConvertRatio,omitempty"` // 折算系数 [现货]
  1366. UnexeSpotQty *float64 `protobuf:"fixed64,7,opt,name=UnexeSpotQty" json:"UnexeSpotQty,omitempty"` // 未执行现货量
  1367. UnexeHedgeQty *float64 `protobuf:"fixed64,8,opt,name=UnexeHedgeQty" json:"UnexeHedgeQty,omitempty"` // 未执行套期量 = 未执行现货量*折算系数* (1/(1+增值税)) * 套期比例(项目上)
  1368. FutureHedgeQty *float64 `protobuf:"fixed64,9,opt,name=FutureHedgeQty" json:"FutureHedgeQty,omitempty"` // 期货持仓套期量
  1369. HIExpsoure *float64 `protobuf:"fixed64,10,opt,name=HIExpsoure" json:"HIExpsoure,omitempty"` // 期现敞口量 = 未执行套期量 + 期货持仓套期量
  1370. TradeUserID *uint64 `protobuf:"varint,11,opt,name=TradeUserID" json:"TradeUserID,omitempty"` // 交易用户ID
  1371. AreaUserID *uint64 `protobuf:"varint,12,opt,name=AreaUserID" json:"AreaUserID,omitempty"` // 企业ID
  1372. CreateTime *Date `protobuf:"bytes,13,opt,name=CreateTime" json:"CreateTime,omitempty"` // 创建时间 --DATE
  1373. UpdateTime *Date `protobuf:"bytes,14,opt,name=UpdateTime" json:"UpdateTime,omitempty"` // 更新时间 --DATE
  1374. }
  1375. func (x *Ermcp2HIMiddleGoods) Reset() {
  1376. *x = Ermcp2HIMiddleGoods{}
  1377. if protoimpl.UnsafeEnabled {
  1378. mi := &file_mtp2_proto_msgTypes[9]
  1379. ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1380. ms.StoreMessageInfo(mi)
  1381. }
  1382. }
  1383. func (x *Ermcp2HIMiddleGoods) String() string {
  1384. return protoimpl.X.MessageStringOf(x)
  1385. }
  1386. func (*Ermcp2HIMiddleGoods) ProtoMessage() {}
  1387. func (x *Ermcp2HIMiddleGoods) ProtoReflect() protoreflect.Message {
  1388. mi := &file_mtp2_proto_msgTypes[9]
  1389. if protoimpl.UnsafeEnabled && x != nil {
  1390. ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1391. if ms.LoadMessageInfo() == nil {
  1392. ms.StoreMessageInfo(mi)
  1393. }
  1394. return ms
  1395. }
  1396. return mi.MessageOf(x)
  1397. }
  1398. // Deprecated: Use Ermcp2HIMiddleGoods.ProtoReflect.Descriptor instead.
  1399. func (*Ermcp2HIMiddleGoods) Descriptor() ([]byte, []int) {
  1400. return file_mtp2_proto_rawDescGZIP(), []int{9}
  1401. }
  1402. func (x *Ermcp2HIMiddleGoods) GetHedgedItemID() uint64 {
  1403. if x != nil && x.HedgedItemID != nil {
  1404. return *x.HedgedItemID
  1405. }
  1406. return 0
  1407. }
  1408. func (x *Ermcp2HIMiddleGoods) GetMiddleGoodsID() uint64 {
  1409. if x != nil && x.MiddleGoodsID != nil {
  1410. return *x.MiddleGoodsID
  1411. }
  1412. return 0
  1413. }
  1414. func (x *Ermcp2HIMiddleGoods) GetDeliveryGoodsID() uint64 {
  1415. if x != nil && x.DeliveryGoodsID != nil {
  1416. return *x.DeliveryGoodsID
  1417. }
  1418. return 0
  1419. }
  1420. func (x *Ermcp2HIMiddleGoods) GetWrstandardID() uint64 {
  1421. if x != nil && x.WrstandardID != nil {
  1422. return *x.WrstandardID
  1423. }
  1424. return 0
  1425. }
  1426. func (x *Ermcp2HIMiddleGoods) GetVatRate() float64 {
  1427. if x != nil && x.VatRate != nil {
  1428. return *x.VatRate
  1429. }
  1430. return 0
  1431. }
  1432. func (x *Ermcp2HIMiddleGoods) GetSpotConvertRatio() float64 {
  1433. if x != nil && x.SpotConvertRatio != nil {
  1434. return *x.SpotConvertRatio
  1435. }
  1436. return 0
  1437. }
  1438. func (x *Ermcp2HIMiddleGoods) GetUnexeSpotQty() float64 {
  1439. if x != nil && x.UnexeSpotQty != nil {
  1440. return *x.UnexeSpotQty
  1441. }
  1442. return 0
  1443. }
  1444. func (x *Ermcp2HIMiddleGoods) GetUnexeHedgeQty() float64 {
  1445. if x != nil && x.UnexeHedgeQty != nil {
  1446. return *x.UnexeHedgeQty
  1447. }
  1448. return 0
  1449. }
  1450. func (x *Ermcp2HIMiddleGoods) GetFutureHedgeQty() float64 {
  1451. if x != nil && x.FutureHedgeQty != nil {
  1452. return *x.FutureHedgeQty
  1453. }
  1454. return 0
  1455. }
  1456. func (x *Ermcp2HIMiddleGoods) GetHIExpsoure() float64 {
  1457. if x != nil && x.HIExpsoure != nil {
  1458. return *x.HIExpsoure
  1459. }
  1460. return 0
  1461. }
  1462. func (x *Ermcp2HIMiddleGoods) GetTradeUserID() uint64 {
  1463. if x != nil && x.TradeUserID != nil {
  1464. return *x.TradeUserID
  1465. }
  1466. return 0
  1467. }
  1468. func (x *Ermcp2HIMiddleGoods) GetAreaUserID() uint64 {
  1469. if x != nil && x.AreaUserID != nil {
  1470. return *x.AreaUserID
  1471. }
  1472. return 0
  1473. }
  1474. func (x *Ermcp2HIMiddleGoods) GetCreateTime() *Date {
  1475. if x != nil {
  1476. return x.CreateTime
  1477. }
  1478. return nil
  1479. }
  1480. func (x *Ermcp2HIMiddleGoods) GetUpdateTime() *Date {
  1481. if x != nil {
  1482. return x.UpdateTime
  1483. }
  1484. return nil
  1485. }
  1486. // ERMCP2_HIMIDDLEGOODS 项目套保品种明细扩展
  1487. type Ermcp2HIMiddleGoodsExt struct {
  1488. state protoimpl.MessageState
  1489. sizeCache protoimpl.SizeCache
  1490. unknownFields protoimpl.UnknownFields
  1491. Middlegoods *Ermcp2HIMiddleGoods `protobuf:"bytes,1,opt,name=middlegoods" json:"middlegoods,omitempty"`
  1492. Middlegoodsname *string `protobuf:"bytes,2,opt,name=middlegoodsname" json:"middlegoodsname,omitempty"`
  1493. }
  1494. func (x *Ermcp2HIMiddleGoodsExt) Reset() {
  1495. *x = Ermcp2HIMiddleGoodsExt{}
  1496. if protoimpl.UnsafeEnabled {
  1497. mi := &file_mtp2_proto_msgTypes[10]
  1498. ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1499. ms.StoreMessageInfo(mi)
  1500. }
  1501. }
  1502. func (x *Ermcp2HIMiddleGoodsExt) String() string {
  1503. return protoimpl.X.MessageStringOf(x)
  1504. }
  1505. func (*Ermcp2HIMiddleGoodsExt) ProtoMessage() {}
  1506. func (x *Ermcp2HIMiddleGoodsExt) ProtoReflect() protoreflect.Message {
  1507. mi := &file_mtp2_proto_msgTypes[10]
  1508. if protoimpl.UnsafeEnabled && x != nil {
  1509. ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1510. if ms.LoadMessageInfo() == nil {
  1511. ms.StoreMessageInfo(mi)
  1512. }
  1513. return ms
  1514. }
  1515. return mi.MessageOf(x)
  1516. }
  1517. // Deprecated: Use Ermcp2HIMiddleGoodsExt.ProtoReflect.Descriptor instead.
  1518. func (*Ermcp2HIMiddleGoodsExt) Descriptor() ([]byte, []int) {
  1519. return file_mtp2_proto_rawDescGZIP(), []int{10}
  1520. }
  1521. func (x *Ermcp2HIMiddleGoodsExt) GetMiddlegoods() *Ermcp2HIMiddleGoods {
  1522. if x != nil {
  1523. return x.Middlegoods
  1524. }
  1525. return nil
  1526. }
  1527. func (x *Ermcp2HIMiddleGoodsExt) GetMiddlegoodsname() string {
  1528. if x != nil && x.Middlegoodsname != nil {
  1529. return *x.Middlegoodsname
  1530. }
  1531. return ""
  1532. }
  1533. //被套期项目表信息
  1534. type Ermcp2HedgedItemInfo struct {
  1535. state protoimpl.MessageState
  1536. sizeCache protoimpl.SizeCache
  1537. unknownFields protoimpl.UnknownFields
  1538. Hedgeditemext *Ermcp2HedgedItemExt `protobuf:"bytes,1,opt,name=hedgeditemext" json:"hedgeditemext,omitempty"` //被套期项目
  1539. Himiddlegoodsext []*Ermcp2HIMiddleGoodsExt `protobuf:"bytes,2,rep,name=himiddlegoodsext" json:"himiddlegoodsext,omitempty"`
  1540. }
  1541. func (x *Ermcp2HedgedItemInfo) Reset() {
  1542. *x = Ermcp2HedgedItemInfo{}
  1543. if protoimpl.UnsafeEnabled {
  1544. mi := &file_mtp2_proto_msgTypes[11]
  1545. ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1546. ms.StoreMessageInfo(mi)
  1547. }
  1548. }
  1549. func (x *Ermcp2HedgedItemInfo) String() string {
  1550. return protoimpl.X.MessageStringOf(x)
  1551. }
  1552. func (*Ermcp2HedgedItemInfo) ProtoMessage() {}
  1553. func (x *Ermcp2HedgedItemInfo) ProtoReflect() protoreflect.Message {
  1554. mi := &file_mtp2_proto_msgTypes[11]
  1555. if protoimpl.UnsafeEnabled && x != nil {
  1556. ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1557. if ms.LoadMessageInfo() == nil {
  1558. ms.StoreMessageInfo(mi)
  1559. }
  1560. return ms
  1561. }
  1562. return mi.MessageOf(x)
  1563. }
  1564. // Deprecated: Use Ermcp2HedgedItemInfo.ProtoReflect.Descriptor instead.
  1565. func (*Ermcp2HedgedItemInfo) Descriptor() ([]byte, []int) {
  1566. return file_mtp2_proto_rawDescGZIP(), []int{11}
  1567. }
  1568. func (x *Ermcp2HedgedItemInfo) GetHedgeditemext() *Ermcp2HedgedItemExt {
  1569. if x != nil {
  1570. return x.Hedgeditemext
  1571. }
  1572. return nil
  1573. }
  1574. func (x *Ermcp2HedgedItemInfo) GetHimiddlegoodsext() []*Ermcp2HIMiddleGoodsExt {
  1575. if x != nil {
  1576. return x.Himiddlegoodsext
  1577. }
  1578. return nil
  1579. }
  1580. // ERMCP2_AREAEXPOSURE 企业敞口表_New
  1581. type Ermcp2AreaExposure struct {
  1582. state protoimpl.MessageState
  1583. sizeCache protoimpl.SizeCache
  1584. unknownFields protoimpl.UnknownFields
  1585. //mkey: 1 2
  1586. MiddleGoodsID *uint64 `protobuf:"varint,1,opt,name=MiddleGoodsID" json:"MiddleGoodsID,omitempty"` // 套保品种
  1587. AreaUserID *uint64 `protobuf:"varint,2,opt,name=AreaUserID" json:"AreaUserID,omitempty"` // 所属机构
  1588. SpotQty *float64 `protobuf:"fixed64,3,opt,name=SpotQty" json:"SpotQty,omitempty"` // 现货总量
  1589. HedgeSpotQty *float64 `protobuf:"fixed64,4,opt,name=HedgeSpotQty" json:"HedgeSpotQty,omitempty"` // 被套期现货量
  1590. HedgePlanQty *float64 `protobuf:"fixed64,5,opt,name=HedgePlanQty" json:"HedgePlanQty,omitempty"` // 套期计划量
  1591. FutureQty *float64 `protobuf:"fixed64,6,opt,name=FutureQty" json:"FutureQty,omitempty"` // 期货套期量
  1592. SpotExposure *float64 `protobuf:"fixed64,7,opt,name=SpotExposure" json:"SpotExposure,omitempty"` // 现货敞口量
  1593. TotalExposure *float64 `protobuf:"fixed64,8,opt,name=TotalExposure" json:"TotalExposure,omitempty"` // 总敞口量 = 现货敞口量 + 期货套期量
  1594. SpRatio *float64 `protobuf:"fixed64,9,opt,name=SpRatio" json:"SpRatio,omitempty"` // 总期现比例 = 期货套期量/现货敞口量
  1595. HedgedSpotExposure *float64 `protobuf:"fixed64,10,opt,name=HedgedSpotExposure" json:"HedgedSpotExposure,omitempty"` // 被套期现货敞口量
  1596. HedgedTotalExposure *float64 `protobuf:"fixed64,11,opt,name=HedgedTotalExposure" json:"HedgedTotalExposure,omitempty"` // 套期敞口量 = 被套期现货敞口量+期货套期量
  1597. HedgedSpRatio *float64 `protobuf:"fixed64,12,opt,name=HedgedSpRatio" json:"HedgedSpRatio,omitempty"` // 套期期现比例 = 期货套期量/被套期现货敞口量
  1598. OriSpotQty *float64 `protobuf:"fixed64,13,opt,name=OriSpotQty" json:"OriSpotQty,omitempty"` // 期初现货总量
  1599. OriHedgeSpotQty *float64 `protobuf:"fixed64,14,opt,name=OriHedgeSpotQty" json:"OriHedgeSpotQty,omitempty"` // 期初被套期现货量
  1600. OriHedgePlanQty *float64 `protobuf:"fixed64,15,opt,name=OriHedgePlanQty" json:"OriHedgePlanQty,omitempty"` // 期初套期计划量
  1601. OriFutureQty *float64 `protobuf:"fixed64,16,opt,name=OriFutureQty" json:"OriFutureQty,omitempty"` // 期初期货套期量
  1602. OriSpotExposure *float64 `protobuf:"fixed64,17,opt,name=OriSpotExposure" json:"OriSpotExposure,omitempty"` // 期初现货敞口量
  1603. OriTotalExposure *float64 `protobuf:"fixed64,18,opt,name=OriTotalExposure" json:"OriTotalExposure,omitempty"` // 期初总敞口量
  1604. OriHedgedSpotExposure *float64 `protobuf:"fixed64,19,opt,name=OriHedgedSpotExposure" json:"OriHedgedSpotExposure,omitempty"` // 期初被套期现货敞口量
  1605. OriHedgedTotalExposure *float64 `protobuf:"fixed64,20,opt,name=OriHedgedTotalExposure" json:"OriHedgedTotalExposure,omitempty"` // 期初套期敞口量
  1606. UpdateTime *Date `protobuf:"bytes,21,opt,name=UpdateTime" json:"UpdateTime,omitempty"` // 更新时间 --DATE
  1607. MiddleGoodsName *string `protobuf:"bytes,22,opt,name=MiddleGoodsName" json:"MiddleGoodsName,omitempty"` //套保品种名称
  1608. GoodsUnitID *uint32 `protobuf:"varint,23,opt,name=GoodsUnitID" json:"GoodsUnitID,omitempty"` //单位ID
  1609. }
  1610. func (x *Ermcp2AreaExposure) Reset() {
  1611. *x = Ermcp2AreaExposure{}
  1612. if protoimpl.UnsafeEnabled {
  1613. mi := &file_mtp2_proto_msgTypes[12]
  1614. ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1615. ms.StoreMessageInfo(mi)
  1616. }
  1617. }
  1618. func (x *Ermcp2AreaExposure) String() string {
  1619. return protoimpl.X.MessageStringOf(x)
  1620. }
  1621. func (*Ermcp2AreaExposure) ProtoMessage() {}
  1622. func (x *Ermcp2AreaExposure) ProtoReflect() protoreflect.Message {
  1623. mi := &file_mtp2_proto_msgTypes[12]
  1624. if protoimpl.UnsafeEnabled && x != nil {
  1625. ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1626. if ms.LoadMessageInfo() == nil {
  1627. ms.StoreMessageInfo(mi)
  1628. }
  1629. return ms
  1630. }
  1631. return mi.MessageOf(x)
  1632. }
  1633. // Deprecated: Use Ermcp2AreaExposure.ProtoReflect.Descriptor instead.
  1634. func (*Ermcp2AreaExposure) Descriptor() ([]byte, []int) {
  1635. return file_mtp2_proto_rawDescGZIP(), []int{12}
  1636. }
  1637. func (x *Ermcp2AreaExposure) GetMiddleGoodsID() uint64 {
  1638. if x != nil && x.MiddleGoodsID != nil {
  1639. return *x.MiddleGoodsID
  1640. }
  1641. return 0
  1642. }
  1643. func (x *Ermcp2AreaExposure) GetAreaUserID() uint64 {
  1644. if x != nil && x.AreaUserID != nil {
  1645. return *x.AreaUserID
  1646. }
  1647. return 0
  1648. }
  1649. func (x *Ermcp2AreaExposure) GetSpotQty() float64 {
  1650. if x != nil && x.SpotQty != nil {
  1651. return *x.SpotQty
  1652. }
  1653. return 0
  1654. }
  1655. func (x *Ermcp2AreaExposure) GetHedgeSpotQty() float64 {
  1656. if x != nil && x.HedgeSpotQty != nil {
  1657. return *x.HedgeSpotQty
  1658. }
  1659. return 0
  1660. }
  1661. func (x *Ermcp2AreaExposure) GetHedgePlanQty() float64 {
  1662. if x != nil && x.HedgePlanQty != nil {
  1663. return *x.HedgePlanQty
  1664. }
  1665. return 0
  1666. }
  1667. func (x *Ermcp2AreaExposure) GetFutureQty() float64 {
  1668. if x != nil && x.FutureQty != nil {
  1669. return *x.FutureQty
  1670. }
  1671. return 0
  1672. }
  1673. func (x *Ermcp2AreaExposure) GetSpotExposure() float64 {
  1674. if x != nil && x.SpotExposure != nil {
  1675. return *x.SpotExposure
  1676. }
  1677. return 0
  1678. }
  1679. func (x *Ermcp2AreaExposure) GetTotalExposure() float64 {
  1680. if x != nil && x.TotalExposure != nil {
  1681. return *x.TotalExposure
  1682. }
  1683. return 0
  1684. }
  1685. func (x *Ermcp2AreaExposure) GetSpRatio() float64 {
  1686. if x != nil && x.SpRatio != nil {
  1687. return *x.SpRatio
  1688. }
  1689. return 0
  1690. }
  1691. func (x *Ermcp2AreaExposure) GetHedgedSpotExposure() float64 {
  1692. if x != nil && x.HedgedSpotExposure != nil {
  1693. return *x.HedgedSpotExposure
  1694. }
  1695. return 0
  1696. }
  1697. func (x *Ermcp2AreaExposure) GetHedgedTotalExposure() float64 {
  1698. if x != nil && x.HedgedTotalExposure != nil {
  1699. return *x.HedgedTotalExposure
  1700. }
  1701. return 0
  1702. }
  1703. func (x *Ermcp2AreaExposure) GetHedgedSpRatio() float64 {
  1704. if x != nil && x.HedgedSpRatio != nil {
  1705. return *x.HedgedSpRatio
  1706. }
  1707. return 0
  1708. }
  1709. func (x *Ermcp2AreaExposure) GetOriSpotQty() float64 {
  1710. if x != nil && x.OriSpotQty != nil {
  1711. return *x.OriSpotQty
  1712. }
  1713. return 0
  1714. }
  1715. func (x *Ermcp2AreaExposure) GetOriHedgeSpotQty() float64 {
  1716. if x != nil && x.OriHedgeSpotQty != nil {
  1717. return *x.OriHedgeSpotQty
  1718. }
  1719. return 0
  1720. }
  1721. func (x *Ermcp2AreaExposure) GetOriHedgePlanQty() float64 {
  1722. if x != nil && x.OriHedgePlanQty != nil {
  1723. return *x.OriHedgePlanQty
  1724. }
  1725. return 0
  1726. }
  1727. func (x *Ermcp2AreaExposure) GetOriFutureQty() float64 {
  1728. if x != nil && x.OriFutureQty != nil {
  1729. return *x.OriFutureQty
  1730. }
  1731. return 0
  1732. }
  1733. func (x *Ermcp2AreaExposure) GetOriSpotExposure() float64 {
  1734. if x != nil && x.OriSpotExposure != nil {
  1735. return *x.OriSpotExposure
  1736. }
  1737. return 0
  1738. }
  1739. func (x *Ermcp2AreaExposure) GetOriTotalExposure() float64 {
  1740. if x != nil && x.OriTotalExposure != nil {
  1741. return *x.OriTotalExposure
  1742. }
  1743. return 0
  1744. }
  1745. func (x *Ermcp2AreaExposure) GetOriHedgedSpotExposure() float64 {
  1746. if x != nil && x.OriHedgedSpotExposure != nil {
  1747. return *x.OriHedgedSpotExposure
  1748. }
  1749. return 0
  1750. }
  1751. func (x *Ermcp2AreaExposure) GetOriHedgedTotalExposure() float64 {
  1752. if x != nil && x.OriHedgedTotalExposure != nil {
  1753. return *x.OriHedgedTotalExposure
  1754. }
  1755. return 0
  1756. }
  1757. func (x *Ermcp2AreaExposure) GetUpdateTime() *Date {
  1758. if x != nil {
  1759. return x.UpdateTime
  1760. }
  1761. return nil
  1762. }
  1763. func (x *Ermcp2AreaExposure) GetMiddleGoodsName() string {
  1764. if x != nil && x.MiddleGoodsName != nil {
  1765. return *x.MiddleGoodsName
  1766. }
  1767. return ""
  1768. }
  1769. func (x *Ermcp2AreaExposure) GetGoodsUnitID() uint32 {
  1770. if x != nil && x.GoodsUnitID != nil {
  1771. return *x.GoodsUnitID
  1772. }
  1773. return 0
  1774. }
  1775. // TRADE_HOLDERDETAILEX 交易持仓扩展表
  1776. type TradeHolderDetailEx struct {
  1777. state protoimpl.MessageState
  1778. sizeCache protoimpl.SizeCache
  1779. unknownFields protoimpl.UnknownFields
  1780. //mkey: 1 2
  1781. TradeID *uint64 `protobuf:"varint,1,opt,name=TradeID" json:"TradeID,omitempty"` // 成交单号(101+Unix秒时间戳(10位)+2位(MarketServiceID)+xxxx)
  1782. BuyOrSell *uint32 `protobuf:"varint,2,opt,name=BuyOrSell" json:"BuyOrSell,omitempty"` // 方向 - 0:买 1:卖
  1783. TradeDate *string `protobuf:"bytes,3,opt,name=TradeDate" json:"TradeDate,omitempty"` // 交易日(yyyyMMdd)
  1784. MarketID *uint32 `protobuf:"varint,4,opt,name=MarketID" json:"MarketID,omitempty"` // 市场ID
  1785. GoodsID *uint32 `protobuf:"varint,5,opt,name=GoodsID" json:"GoodsID,omitempty"` // 商品ID
  1786. UserID *uint32 `protobuf:"varint,6,opt,name=UserID" json:"UserID,omitempty"` // 用户ID
  1787. AccountID *uint64 `protobuf:"varint,7,opt,name=AccountID" json:"AccountID,omitempty"` // 账号ID
  1788. MatchUserID *uint32 `protobuf:"varint,8,opt,name=MatchUserID" json:"MatchUserID,omitempty"` // 对手用户ID
  1789. MatchAccountID *uint64 `protobuf:"varint,9,opt,name=MatchAccountID" json:"MatchAccountID,omitempty"` // 对手账号ID
  1790. OpenQty *uint64 `protobuf:"varint,10,opt,name=OpenQty" json:"OpenQty,omitempty"` // 建仓数量
  1791. TradeAmount *float64 `protobuf:"fixed64,11,opt,name=TradeAmount" json:"TradeAmount,omitempty"` // 成交金额
  1792. OpenPrice *float64 `protobuf:"fixed64,12,opt,name=OpenPrice" json:"OpenPrice,omitempty"` // 建仓价格
  1793. HolderQty *uint64 `protobuf:"varint,13,opt,name=HolderQty" json:"HolderQty,omitempty"` // 持仓数量
  1794. HolderAmount *float64 `protobuf:"fixed64,14,opt,name=HolderAmount" json:"HolderAmount,omitempty"` // 持仓金额
  1795. HolderPrice *float64 `protobuf:"fixed64,15,opt,name=HolderPrice" json:"HolderPrice,omitempty"` // 持仓价格
  1796. FreezeQty *uint64 `protobuf:"varint,16,opt,name=FreezeQty" json:"FreezeQty,omitempty"` // 冻结数量
  1797. DeliveryQty *uint64 `protobuf:"varint,17,opt,name=DeliveryQty" json:"DeliveryQty,omitempty"` // 交收手数(已交收)
  1798. HoldDays *uint64 `protobuf:"varint,18,opt,name=HoldDays" json:"HoldDays,omitempty"` // 持仓天数
  1799. PayedDeposit *float64 `protobuf:"fixed64,19,opt,name=PayedDeposit" json:"PayedDeposit,omitempty"` // 已付定金
  1800. RestockDeposit *float64 `protobuf:"fixed64,20,opt,name=RestockDeposit" json:"RestockDeposit,omitempty"` // 补充定金
  1801. LateFeeDays *uint64 `protobuf:"varint,21,opt,name=LateFeeDays" json:"LateFeeDays,omitempty"` // 滞纳金起计天数
  1802. LateFeeAlgorithm *uint32 `protobuf:"varint,22,opt,name=LateFeeAlgorithm" json:"LateFeeAlgorithm,omitempty"` // 滞纳金收取方式 1:比率 2:固定
  1803. LateFeeValue *float64 `protobuf:"fixed64,23,opt,name=LateFeeValue" json:"LateFeeValue,omitempty"` // 滞纳金收取值
  1804. CallAteFee *float64 `protobuf:"fixed64,24,opt,name=CallAteFee" json:"CallAteFee,omitempty"` // 已计滞纳金
  1805. PromptDepositRate *float64 `protobuf:"fixed64,25,opt,name=PromptDepositRate" json:"PromptDepositRate,omitempty"` // 提示定金率
  1806. CutDepositRate *float64 `protobuf:"fixed64,26,opt,name=CutDepositRate" json:"CutDepositRate,omitempty"` // 斩仓定金率
  1807. PromptPrice *float64 `protobuf:"fixed64,27,opt,name=PromptPrice" json:"PromptPrice,omitempty"` // 提示价格
  1808. CutPrice *float64 `protobuf:"fixed64,28,opt,name=CutPrice" json:"CutPrice,omitempty"` // 斩仓价格
  1809. ClosePL *float64 `protobuf:"fixed64,29,opt,name=ClosePL" json:"ClosePL,omitempty"` // 平仓盈亏
  1810. FloatPL *float64 `protobuf:"fixed64,30,opt,name=FloatPL" json:"FloatPL,omitempty"` // 浮动盈亏
  1811. DepositRate *float64 `protobuf:"fixed64,31,opt,name=DepositRate" json:"DepositRate,omitempty"` // 订单定金率
  1812. RefundableDeposit *float64 `protobuf:"fixed64,32,opt,name=RefundableDeposit" json:"RefundableDeposit,omitempty"` // 可退定金
  1813. PayedLateFee *float64 `protobuf:"fixed64,33,opt,name=PayedLateFee" json:"PayedLateFee,omitempty"` // 已付滞纳金
  1814. TradeTime *Date `protobuf:"bytes,34,opt,name=TradeTime" json:"TradeTime,omitempty"` //交易时间
  1815. HandleStatus *float64 `protobuf:"fixed64,35,opt,name=HandleStatus" json:"HandleStatus,omitempty"` // 处理状态
  1816. OriPayedDeposit *float64 `protobuf:"fixed64,36,opt,name=OriPayedDeposit" json:"OriPayedDeposit,omitempty"` // 初始已付定金
  1817. OriRestockDeposit *float64 `protobuf:"fixed64,37,opt,name=OriRestockDeposit" json:"OriRestockDeposit,omitempty"` // 累计补充定金
  1818. CanAutoAddDeposit *uint64 `protobuf:"varint,38,opt,name=CanAutoAddDeposit" json:"CanAutoAddDeposit,omitempty"` // 是否允许自动追加定金: 0-否 1-是(52)
  1819. AddDepositRate *float64 `protobuf:"fixed64,39,opt,name=AddDepositRate" json:"AddDepositRate,omitempty"` // 自动追加定金率(52) - 允许时显示
  1820. CanAutoRefundDeposit *uint64 `protobuf:"varint,40,opt,name=CanAutoRefundDeposit" json:"CanAutoRefundDeposit,omitempty"` // 是否允许自动退还定金: 0-否 1-是(52)
  1821. }
  1822. func (x *TradeHolderDetailEx) Reset() {
  1823. *x = TradeHolderDetailEx{}
  1824. if protoimpl.UnsafeEnabled {
  1825. mi := &file_mtp2_proto_msgTypes[13]
  1826. ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1827. ms.StoreMessageInfo(mi)
  1828. }
  1829. }
  1830. func (x *TradeHolderDetailEx) String() string {
  1831. return protoimpl.X.MessageStringOf(x)
  1832. }
  1833. func (*TradeHolderDetailEx) ProtoMessage() {}
  1834. func (x *TradeHolderDetailEx) ProtoReflect() protoreflect.Message {
  1835. mi := &file_mtp2_proto_msgTypes[13]
  1836. if protoimpl.UnsafeEnabled && x != nil {
  1837. ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1838. if ms.LoadMessageInfo() == nil {
  1839. ms.StoreMessageInfo(mi)
  1840. }
  1841. return ms
  1842. }
  1843. return mi.MessageOf(x)
  1844. }
  1845. // Deprecated: Use TradeHolderDetailEx.ProtoReflect.Descriptor instead.
  1846. func (*TradeHolderDetailEx) Descriptor() ([]byte, []int) {
  1847. return file_mtp2_proto_rawDescGZIP(), []int{13}
  1848. }
  1849. func (x *TradeHolderDetailEx) GetTradeID() uint64 {
  1850. if x != nil && x.TradeID != nil {
  1851. return *x.TradeID
  1852. }
  1853. return 0
  1854. }
  1855. func (x *TradeHolderDetailEx) GetBuyOrSell() uint32 {
  1856. if x != nil && x.BuyOrSell != nil {
  1857. return *x.BuyOrSell
  1858. }
  1859. return 0
  1860. }
  1861. func (x *TradeHolderDetailEx) GetTradeDate() string {
  1862. if x != nil && x.TradeDate != nil {
  1863. return *x.TradeDate
  1864. }
  1865. return ""
  1866. }
  1867. func (x *TradeHolderDetailEx) GetMarketID() uint32 {
  1868. if x != nil && x.MarketID != nil {
  1869. return *x.MarketID
  1870. }
  1871. return 0
  1872. }
  1873. func (x *TradeHolderDetailEx) GetGoodsID() uint32 {
  1874. if x != nil && x.GoodsID != nil {
  1875. return *x.GoodsID
  1876. }
  1877. return 0
  1878. }
  1879. func (x *TradeHolderDetailEx) GetUserID() uint32 {
  1880. if x != nil && x.UserID != nil {
  1881. return *x.UserID
  1882. }
  1883. return 0
  1884. }
  1885. func (x *TradeHolderDetailEx) GetAccountID() uint64 {
  1886. if x != nil && x.AccountID != nil {
  1887. return *x.AccountID
  1888. }
  1889. return 0
  1890. }
  1891. func (x *TradeHolderDetailEx) GetMatchUserID() uint32 {
  1892. if x != nil && x.MatchUserID != nil {
  1893. return *x.MatchUserID
  1894. }
  1895. return 0
  1896. }
  1897. func (x *TradeHolderDetailEx) GetMatchAccountID() uint64 {
  1898. if x != nil && x.MatchAccountID != nil {
  1899. return *x.MatchAccountID
  1900. }
  1901. return 0
  1902. }
  1903. func (x *TradeHolderDetailEx) GetOpenQty() uint64 {
  1904. if x != nil && x.OpenQty != nil {
  1905. return *x.OpenQty
  1906. }
  1907. return 0
  1908. }
  1909. func (x *TradeHolderDetailEx) GetTradeAmount() float64 {
  1910. if x != nil && x.TradeAmount != nil {
  1911. return *x.TradeAmount
  1912. }
  1913. return 0
  1914. }
  1915. func (x *TradeHolderDetailEx) GetOpenPrice() float64 {
  1916. if x != nil && x.OpenPrice != nil {
  1917. return *x.OpenPrice
  1918. }
  1919. return 0
  1920. }
  1921. func (x *TradeHolderDetailEx) GetHolderQty() uint64 {
  1922. if x != nil && x.HolderQty != nil {
  1923. return *x.HolderQty
  1924. }
  1925. return 0
  1926. }
  1927. func (x *TradeHolderDetailEx) GetHolderAmount() float64 {
  1928. if x != nil && x.HolderAmount != nil {
  1929. return *x.HolderAmount
  1930. }
  1931. return 0
  1932. }
  1933. func (x *TradeHolderDetailEx) GetHolderPrice() float64 {
  1934. if x != nil && x.HolderPrice != nil {
  1935. return *x.HolderPrice
  1936. }
  1937. return 0
  1938. }
  1939. func (x *TradeHolderDetailEx) GetFreezeQty() uint64 {
  1940. if x != nil && x.FreezeQty != nil {
  1941. return *x.FreezeQty
  1942. }
  1943. return 0
  1944. }
  1945. func (x *TradeHolderDetailEx) GetDeliveryQty() uint64 {
  1946. if x != nil && x.DeliveryQty != nil {
  1947. return *x.DeliveryQty
  1948. }
  1949. return 0
  1950. }
  1951. func (x *TradeHolderDetailEx) GetHoldDays() uint64 {
  1952. if x != nil && x.HoldDays != nil {
  1953. return *x.HoldDays
  1954. }
  1955. return 0
  1956. }
  1957. func (x *TradeHolderDetailEx) GetPayedDeposit() float64 {
  1958. if x != nil && x.PayedDeposit != nil {
  1959. return *x.PayedDeposit
  1960. }
  1961. return 0
  1962. }
  1963. func (x *TradeHolderDetailEx) GetRestockDeposit() float64 {
  1964. if x != nil && x.RestockDeposit != nil {
  1965. return *x.RestockDeposit
  1966. }
  1967. return 0
  1968. }
  1969. func (x *TradeHolderDetailEx) GetLateFeeDays() uint64 {
  1970. if x != nil && x.LateFeeDays != nil {
  1971. return *x.LateFeeDays
  1972. }
  1973. return 0
  1974. }
  1975. func (x *TradeHolderDetailEx) GetLateFeeAlgorithm() uint32 {
  1976. if x != nil && x.LateFeeAlgorithm != nil {
  1977. return *x.LateFeeAlgorithm
  1978. }
  1979. return 0
  1980. }
  1981. func (x *TradeHolderDetailEx) GetLateFeeValue() float64 {
  1982. if x != nil && x.LateFeeValue != nil {
  1983. return *x.LateFeeValue
  1984. }
  1985. return 0
  1986. }
  1987. func (x *TradeHolderDetailEx) GetCallAteFee() float64 {
  1988. if x != nil && x.CallAteFee != nil {
  1989. return *x.CallAteFee
  1990. }
  1991. return 0
  1992. }
  1993. func (x *TradeHolderDetailEx) GetPromptDepositRate() float64 {
  1994. if x != nil && x.PromptDepositRate != nil {
  1995. return *x.PromptDepositRate
  1996. }
  1997. return 0
  1998. }
  1999. func (x *TradeHolderDetailEx) GetCutDepositRate() float64 {
  2000. if x != nil && x.CutDepositRate != nil {
  2001. return *x.CutDepositRate
  2002. }
  2003. return 0
  2004. }
  2005. func (x *TradeHolderDetailEx) GetPromptPrice() float64 {
  2006. if x != nil && x.PromptPrice != nil {
  2007. return *x.PromptPrice
  2008. }
  2009. return 0
  2010. }
  2011. func (x *TradeHolderDetailEx) GetCutPrice() float64 {
  2012. if x != nil && x.CutPrice != nil {
  2013. return *x.CutPrice
  2014. }
  2015. return 0
  2016. }
  2017. func (x *TradeHolderDetailEx) GetClosePL() float64 {
  2018. if x != nil && x.ClosePL != nil {
  2019. return *x.ClosePL
  2020. }
  2021. return 0
  2022. }
  2023. func (x *TradeHolderDetailEx) GetFloatPL() float64 {
  2024. if x != nil && x.FloatPL != nil {
  2025. return *x.FloatPL
  2026. }
  2027. return 0
  2028. }
  2029. func (x *TradeHolderDetailEx) GetDepositRate() float64 {
  2030. if x != nil && x.DepositRate != nil {
  2031. return *x.DepositRate
  2032. }
  2033. return 0
  2034. }
  2035. func (x *TradeHolderDetailEx) GetRefundableDeposit() float64 {
  2036. if x != nil && x.RefundableDeposit != nil {
  2037. return *x.RefundableDeposit
  2038. }
  2039. return 0
  2040. }
  2041. func (x *TradeHolderDetailEx) GetTradeTime() *Date {
  2042. if x != nil {
  2043. return x.TradeTime
  2044. }
  2045. return nil
  2046. }
  2047. func (x *TradeHolderDetailEx) GetOriPayedDeposit() float64 {
  2048. if x != nil && x.OriPayedDeposit != nil {
  2049. return *x.OriPayedDeposit
  2050. }
  2051. return 0
  2052. }
  2053. func (x *TradeHolderDetailEx) GetOriRestockDeposit() float64 {
  2054. if x != nil && x.OriRestockDeposit != nil {
  2055. return *x.OriRestockDeposit
  2056. }
  2057. return 0
  2058. }
  2059. func (x *TradeHolderDetailEx) GetCanAutoAddDeposit() uint32 {
  2060. if x != nil && x.CanAutoAddDeposit != nil {
  2061. return *x.CanAutoAddDeposit
  2062. }
  2063. return 0
  2064. }
  2065. func (x *TradeHolderDetailEx) GetAddDepositRate() float64 {
  2066. if x != nil && x.AddDepositRate != nil {
  2067. return *x.AddDepositRate
  2068. }
  2069. return 0
  2070. }
  2071. func (x *TradeHolderDetailEx) GetCanAutoRefundDeposit() uint32 {
  2072. if x != nil && x.CanAutoRefundDeposit != nil {
  2073. return *x.CanAutoRefundDeposit
  2074. }
  2075. return 0
  2076. }
  2077. // RedisTradeHolderDetailEx redis存储交易持仓扩展表
  2078. type RedisTradeHolderDetailEx struct {
  2079. state protoimpl.MessageState
  2080. sizeCache protoimpl.SizeCache
  2081. unknownFields protoimpl.UnknownFields
  2082. THDetailEx *TradeHolderDetailEx `protobuf:"bytes,1,opt,name=THDetailEx" json:"THDetailEx,omitempty"` // 交易持仓扩展表记录
  2083. FloatPL *float64 `protobuf:"fixed64,2,opt,name=FloatPL" json:"FloatPL,omitempty"` // 浮动盈亏
  2084. DepositRate *float64 `protobuf:"fixed64,3,opt,name=DepositRate" json:"DepositRate,omitempty"` // 订单定金率
  2085. RefundableDeposit *float64 `protobuf:"fixed64,4,opt,name=RefundableDeposit" json:"RefundableDeposit,omitempty"` // 可退定金
  2086. GoodsCode *string `protobuf:"bytes,5,opt,name=GoodsCode" json:"GoodsCode,omitempty"` //商品代码
  2087. GoodsName *string `protobuf:"bytes,6,opt,name=GoodsName" json:"GoodsName,omitempty"` //商品名称
  2088. GoodsUnitID *uint32 `protobuf:"varint,7,opt,name=GoodsUnitID" json:"GoodsUnitID,omitempty"` //单位
  2089. AgreeUnit *float64 `protobuf:"fixed64,8,opt,name=AgreeUnit" json:"AgreeUnit,omitempty"` //合约单位
  2090. DecimalPlace *uint32 `protobuf:"varint,9,opt,name=DecimalPlace" json:"DecimalPlace,omitempty"` //小数位位数
  2091. QuoteMinUnit *uint32 `protobuf:"varint,10,opt,name=QuoteMinUnit" json:"QuoteMinUnit,omitempty"` //行情最小变动单位
  2092. }
  2093. func (x *RedisTradeHolderDetailEx) Reset() {
  2094. *x = RedisTradeHolderDetailEx{}
  2095. if protoimpl.UnsafeEnabled {
  2096. mi := &file_mtp2_proto_msgTypes[14]
  2097. ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2098. ms.StoreMessageInfo(mi)
  2099. }
  2100. }
  2101. func (x *RedisTradeHolderDetailEx) String() string {
  2102. return protoimpl.X.MessageStringOf(x)
  2103. }
  2104. func (*RedisTradeHolderDetailEx) ProtoMessage() {}
  2105. func (x *RedisTradeHolderDetailEx) ProtoReflect() protoreflect.Message {
  2106. mi := &file_mtp2_proto_msgTypes[14]
  2107. if protoimpl.UnsafeEnabled && x != nil {
  2108. ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2109. if ms.LoadMessageInfo() == nil {
  2110. ms.StoreMessageInfo(mi)
  2111. }
  2112. return ms
  2113. }
  2114. return mi.MessageOf(x)
  2115. }
  2116. // Deprecated: Use RedisTradeHolderDetailEx.ProtoReflect.Descriptor instead.
  2117. func (*RedisTradeHolderDetailEx) Descriptor() ([]byte, []int) {
  2118. return file_mtp2_proto_rawDescGZIP(), []int{14}
  2119. }
  2120. func (x *RedisTradeHolderDetailEx) GetTHDetailEx() *TradeHolderDetailEx {
  2121. if x != nil {
  2122. return x.THDetailEx
  2123. }
  2124. return nil
  2125. }
  2126. func (x *RedisTradeHolderDetailEx) GetFloatPL() float64 {
  2127. if x != nil && x.FloatPL != nil {
  2128. return *x.FloatPL
  2129. }
  2130. return 0
  2131. }
  2132. func (x *RedisTradeHolderDetailEx) GetDepositRate() float64 {
  2133. if x != nil && x.DepositRate != nil {
  2134. return *x.DepositRate
  2135. }
  2136. return 0
  2137. }
  2138. func (x *RedisTradeHolderDetailEx) GetRefundableDeposit() float64 {
  2139. if x != nil && x.RefundableDeposit != nil {
  2140. return *x.RefundableDeposit
  2141. }
  2142. return 0
  2143. }
  2144. func (x *RedisTradeHolderDetailEx) GetGoodsCode() string {
  2145. if x != nil && x.GoodsCode != nil {
  2146. return *x.GoodsCode
  2147. }
  2148. return ""
  2149. }
  2150. func (x *RedisTradeHolderDetailEx) GetGoodsName() string {
  2151. if x != nil && x.GoodsName != nil {
  2152. return *x.GoodsName
  2153. }
  2154. return ""
  2155. }
  2156. func (x *RedisTradeHolderDetailEx) GetGoodsUnitID() uint32 {
  2157. if x != nil && x.GoodsUnitID != nil {
  2158. return *x.GoodsUnitID
  2159. }
  2160. return 0
  2161. }
  2162. func (x *RedisTradeHolderDetailEx) GetAgreeUnit() float64 {
  2163. if x != nil && x.AgreeUnit != nil {
  2164. return *x.AgreeUnit
  2165. }
  2166. return 0
  2167. }
  2168. func (x *RedisTradeHolderDetailEx) GetDecimalPlace() uint32 {
  2169. if x != nil && x.DecimalPlace != nil {
  2170. return *x.DecimalPlace
  2171. }
  2172. return 0
  2173. }
  2174. func (x *RedisTradeHolderDetailEx) GetQuoteMinUnit() uint32 {
  2175. if x != nil && x.QuoteMinUnit != nil {
  2176. return *x.QuoteMinUnit
  2177. }
  2178. return 0
  2179. }
  2180. //保证金信息
  2181. type MarginInfoStruct struct {
  2182. state protoimpl.MessageState
  2183. sizeCache protoimpl.SizeCache
  2184. unknownFields protoimpl.UnknownFields
  2185. AccountID *uint64 `protobuf:"varint,1,opt,name=AccountID" json:"AccountID,omitempty"` // 资金账号
  2186. GoodsID *uint32 `protobuf:"varint,2,opt,name=GoodsID" json:"GoodsID,omitempty"` // 商品id
  2187. MarginAlgorithm *uint32 `protobuf:"varint,3,opt,name=MarginAlgorithm" json:"MarginAlgorithm,omitempty"` // 保证金计算方式
  2188. MarketMarginValue *float64 `protobuf:"fixed64,4,opt,name=MarketMarginValue" json:"MarketMarginValue,omitempty"` // 即市保证金值
  2189. ReckonMarginValue *float64 `protobuf:"fixed64,5,opt,name=ReckonMarginValue" json:"ReckonMarginValue,omitempty"` // 结算保证金值
  2190. LockMarginValue *float64 `protobuf:"fixed64,6,opt,name=LockMarginValue" json:"LockMarginValue,omitempty"` // 锁仓保证金
  2191. RealMarginValue *float64 `protobuf:"fixed64,7,opt,name=RealMarginValue" json:"RealMarginValue,omitempty"` // 实付比例
  2192. RealMarginAlgorithm *uint32 `protobuf:"varint,8,opt,name=RealMarginAlgorithm" json:"RealMarginAlgorithm,omitempty"` // 实付保证金计算方式
  2193. }
  2194. func (x *MarginInfoStruct) Reset() {
  2195. *x = MarginInfoStruct{}
  2196. if protoimpl.UnsafeEnabled {
  2197. mi := &file_mtp2_proto_msgTypes[15]
  2198. ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2199. ms.StoreMessageInfo(mi)
  2200. }
  2201. }
  2202. func (x *MarginInfoStruct) String() string {
  2203. return protoimpl.X.MessageStringOf(x)
  2204. }
  2205. func (*MarginInfoStruct) ProtoMessage() {}
  2206. func (x *MarginInfoStruct) ProtoReflect() protoreflect.Message {
  2207. mi := &file_mtp2_proto_msgTypes[15]
  2208. if protoimpl.UnsafeEnabled && x != nil {
  2209. ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2210. if ms.LoadMessageInfo() == nil {
  2211. ms.StoreMessageInfo(mi)
  2212. }
  2213. return ms
  2214. }
  2215. return mi.MessageOf(x)
  2216. }
  2217. // Deprecated: Use MarginInfoStruct.ProtoReflect.Descriptor instead.
  2218. func (*MarginInfoStruct) Descriptor() ([]byte, []int) {
  2219. return file_mtp2_proto_rawDescGZIP(), []int{15}
  2220. }
  2221. func (x *MarginInfoStruct) GetAccountID() uint64 {
  2222. if x != nil && x.AccountID != nil {
  2223. return *x.AccountID
  2224. }
  2225. return 0
  2226. }
  2227. func (x *MarginInfoStruct) GetGoodsID() uint32 {
  2228. if x != nil && x.GoodsID != nil {
  2229. return *x.GoodsID
  2230. }
  2231. return 0
  2232. }
  2233. func (x *MarginInfoStruct) GetMarginAlgorithm() uint32 {
  2234. if x != nil && x.MarginAlgorithm != nil {
  2235. return *x.MarginAlgorithm
  2236. }
  2237. return 0
  2238. }
  2239. func (x *MarginInfoStruct) GetMarketMarginValue() float64 {
  2240. if x != nil && x.MarketMarginValue != nil {
  2241. return *x.MarketMarginValue
  2242. }
  2243. return 0
  2244. }
  2245. func (x *MarginInfoStruct) GetReckonMarginValue() float64 {
  2246. if x != nil && x.ReckonMarginValue != nil {
  2247. return *x.ReckonMarginValue
  2248. }
  2249. return 0
  2250. }
  2251. func (x *MarginInfoStruct) GetLockMarginValue() float64 {
  2252. if x != nil && x.LockMarginValue != nil {
  2253. return *x.LockMarginValue
  2254. }
  2255. return 0
  2256. }
  2257. func (x *MarginInfoStruct) GetRealMarginValue() float64 {
  2258. if x != nil && x.RealMarginValue != nil {
  2259. return *x.RealMarginValue
  2260. }
  2261. return 0
  2262. }
  2263. func (x *MarginInfoStruct) GetRealMarginAlgorithm() uint32 {
  2264. if x != nil && x.RealMarginAlgorithm != nil {
  2265. return *x.RealMarginAlgorithm
  2266. }
  2267. return 0
  2268. }
  2269. var File_mtp2_proto protoreflect.FileDescriptor
  2270. var file_mtp2_proto_rawDesc = []byte{
  2271. 0x0a, 0x0a, 0x6d, 0x74, 0x70, 0x32, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x02, 0x70, 0x62,
  2272. 0x22, 0x43, 0x0a, 0x09, 0x54, 0x72, 0x61, 0x64, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x12, 0x16, 0x0a,
  2273. 0x06, 0x52, 0x75, 0x6c, 0x65, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x52,
  2274. 0x75, 0x6c, 0x65, 0x49, 0x44, 0x12, 0x1e, 0x0a, 0x0a, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x56, 0x61,
  2275. 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0a, 0x50, 0x61, 0x72, 0x61, 0x6d,
  2276. 0x56, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x7c, 0x0a, 0x13, 0x54, 0x72, 0x61, 0x64, 0x65, 0x52, 0x75,
  2277. 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x12, 0x1c, 0x0a, 0x09,
  2278. 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52,
  2279. 0x09, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x44, 0x12, 0x18, 0x0a, 0x07, 0x47, 0x6f,
  2280. 0x6f, 0x64, 0x73, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x47, 0x6f, 0x6f,
  2281. 0x64, 0x73, 0x49, 0x44, 0x12, 0x2d, 0x0a, 0x0a, 0x54, 0x72, 0x61, 0x64, 0x65, 0x52, 0x75, 0x6c,
  2282. 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x70, 0x62, 0x2e, 0x54, 0x72,
  2283. 0x61, 0x64, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x0a, 0x54, 0x72, 0x61, 0x64, 0x65, 0x52, 0x75,
  2284. 0x6c, 0x65, 0x73, 0x22, 0x20, 0x0a, 0x04, 0x44, 0x61, 0x74, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x44,
  2285. 0x61, 0x74, 0x65, 0x53, 0x74, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x44, 0x61,
  2286. 0x74, 0x65, 0x53, 0x74, 0x72, 0x22, 0xea, 0x0a, 0x0a, 0x16, 0x45, 0x72, 0x6d, 0x73, 0x32, 0x41,
  2287. 0x72, 0x62, 0x69, 0x74, 0x72, 0x61, 0x67, 0x65, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79,
  2288. 0x12, 0x1c, 0x0a, 0x09, 0x41, 0x53, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x49, 0x64, 0x18, 0x01, 0x20,
  2289. 0x01, 0x28, 0x04, 0x52, 0x09, 0x41, 0x53, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x49, 0x64, 0x12, 0x12,
  2290. 0x0a, 0x04, 0x41, 0x53, 0x4e, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x41, 0x53,
  2291. 0x4e, 0x6f, 0x12, 0x18, 0x0a, 0x07, 0x42, 0x69, 0x7a, 0x54, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20,
  2292. 0x01, 0x28, 0x0d, 0x52, 0x07, 0x42, 0x69, 0x7a, 0x54, 0x79, 0x70, 0x65, 0x12, 0x16, 0x0a, 0x06,
  2293. 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x55, 0x73,
  2294. 0x65, 0x72, 0x49, 0x64, 0x12, 0x28, 0x0a, 0x0f, 0x44, 0x65, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x79,
  2295. 0x47, 0x6f, 0x6f, 0x64, 0x73, 0x49, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x44,
  2296. 0x65, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x79, 0x47, 0x6f, 0x6f, 0x64, 0x73, 0x49, 0x64, 0x12, 0x22,
  2297. 0x0a, 0x0c, 0x47, 0x6f, 0x6f, 0x64, 0x73, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x18, 0x06,
  2298. 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x47, 0x6f, 0x6f, 0x64, 0x73, 0x47, 0x72, 0x6f, 0x75, 0x70,
  2299. 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x53, 0x70, 0x6f, 0x74, 0x51, 0x75, 0x6f, 0x74, 0x61, 0x18,
  2300. 0x07, 0x20, 0x01, 0x28, 0x01, 0x52, 0x09, 0x53, 0x70, 0x6f, 0x74, 0x51, 0x75, 0x6f, 0x74, 0x61,
  2301. 0x12, 0x20, 0x0a, 0x0b, 0x46, 0x75, 0x74, 0x75, 0x72, 0x65, 0x51, 0x75, 0x6f, 0x74, 0x65, 0x18,
  2302. 0x08, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0b, 0x46, 0x75, 0x74, 0x75, 0x72, 0x65, 0x51, 0x75, 0x6f,
  2303. 0x74, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x42, 0x61, 0x73, 0x69, 0x73,
  2304. 0x18, 0x09, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0a, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x42, 0x61, 0x73,
  2305. 0x69, 0x73, 0x12, 0x26, 0x0a, 0x0e, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x53, 0x74,
  2306. 0x61, 0x74, 0x75, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x53, 0x74, 0x72, 0x61,
  2307. 0x74, 0x65, 0x67, 0x79, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x52, 0x65,
  2308. 0x6d, 0x61, 0x72, 0x6b, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x52, 0x65, 0x6d, 0x61,
  2309. 0x72, 0x6b, 0x12, 0x1a, 0x0a, 0x08, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x18, 0x0c,
  2310. 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x12, 0x1c,
  2311. 0x0a, 0x09, 0x54, 0x72, 0x61, 0x64, 0x65, 0x44, 0x61, 0x74, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28,
  2312. 0x09, 0x52, 0x09, 0x54, 0x72, 0x61, 0x64, 0x65, 0x44, 0x61, 0x74, 0x65, 0x12, 0x26, 0x0a, 0x0e,
  2313. 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x54, 0x72, 0x61, 0x64, 0x65, 0x44, 0x61, 0x74, 0x65, 0x18, 0x0e,
  2314. 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x54, 0x72, 0x61, 0x64, 0x65,
  2315. 0x44, 0x61, 0x74, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x55, 0x73, 0x65, 0x64, 0x51, 0x75, 0x6f, 0x74,
  2316. 0x61, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x01, 0x52, 0x09, 0x55, 0x73, 0x65, 0x64, 0x51, 0x75, 0x6f,
  2317. 0x74, 0x61, 0x12, 0x1c, 0x0a, 0x09, 0x46, 0x75, 0x74, 0x75, 0x72, 0x65, 0x51, 0x74, 0x79, 0x18,
  2318. 0x10, 0x20, 0x01, 0x28, 0x01, 0x52, 0x09, 0x46, 0x75, 0x74, 0x75, 0x72, 0x65, 0x51, 0x74, 0x79,
  2319. 0x12, 0x26, 0x0a, 0x0e, 0x46, 0x75, 0x74, 0x75, 0x72, 0x65, 0x41, 0x76, 0x67, 0x50, 0x72, 0x69,
  2320. 0x63, 0x65, 0x18, 0x11, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0e, 0x46, 0x75, 0x74, 0x75, 0x72, 0x65,
  2321. 0x41, 0x76, 0x67, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x46, 0x75, 0x74, 0x75,
  2322. 0x72, 0x65, 0x50, 0x4c, 0x18, 0x12, 0x20, 0x01, 0x28, 0x01, 0x52, 0x08, 0x46, 0x75, 0x74, 0x75,
  2323. 0x72, 0x65, 0x50, 0x4c, 0x12, 0x24, 0x0a, 0x0d, 0x50, 0x72, 0x69, 0x63, 0x65, 0x64, 0x53, 0x70,
  2324. 0x6f, 0x74, 0x51, 0x74, 0x79, 0x18, 0x13, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0d, 0x50, 0x72, 0x69,
  2325. 0x63, 0x65, 0x64, 0x53, 0x70, 0x6f, 0x74, 0x51, 0x74, 0x79, 0x12, 0x2e, 0x0a, 0x12, 0x50, 0x72,
  2326. 0x69, 0x63, 0x65, 0x64, 0x53, 0x70, 0x6f, 0x74, 0x51, 0x74, 0x79, 0x4e, 0x6f, 0x54, 0x61, 0x78,
  2327. 0x18, 0x14, 0x20, 0x01, 0x28, 0x01, 0x52, 0x12, 0x50, 0x72, 0x69, 0x63, 0x65, 0x64, 0x53, 0x70,
  2328. 0x6f, 0x74, 0x51, 0x74, 0x79, 0x4e, 0x6f, 0x54, 0x61, 0x78, 0x12, 0x22, 0x0a, 0x0c, 0x53, 0x70,
  2329. 0x6f, 0x74, 0x61, 0x76, 0x67, 0x50, 0x72, 0x69, 0x63, 0x65, 0x18, 0x15, 0x20, 0x01, 0x28, 0x01,
  2330. 0x52, 0x0c, 0x53, 0x70, 0x6f, 0x74, 0x61, 0x76, 0x67, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x16,
  2331. 0x0a, 0x06, 0x53, 0x70, 0x6f, 0x74, 0x50, 0x4c, 0x18, 0x16, 0x20, 0x01, 0x28, 0x01, 0x52, 0x06,
  2332. 0x53, 0x70, 0x6f, 0x74, 0x50, 0x4c, 0x12, 0x20, 0x0a, 0x0b, 0x4e, 0x65, 0x74, 0x45, 0x78, 0x70,
  2333. 0x6f, 0x73, 0x75, 0x72, 0x65, 0x18, 0x17, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0b, 0x4e, 0x65, 0x74,
  2334. 0x45, 0x78, 0x70, 0x6f, 0x73, 0x75, 0x72, 0x65, 0x12, 0x28, 0x0a, 0x0f, 0x4e, 0x65, 0x74, 0x45,
  2335. 0x78, 0x70, 0x6f, 0x73, 0x75, 0x72, 0x65, 0x52, 0x61, 0x74, 0x65, 0x18, 0x18, 0x20, 0x01, 0x28,
  2336. 0x01, 0x52, 0x0f, 0x4e, 0x65, 0x74, 0x45, 0x78, 0x70, 0x6f, 0x73, 0x75, 0x72, 0x65, 0x52, 0x61,
  2337. 0x74, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x50, 0x4c, 0x18, 0x19, 0x20,
  2338. 0x01, 0x28, 0x01, 0x52, 0x07, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x50, 0x4c, 0x12, 0x1c, 0x0a, 0x09,
  2339. 0x4f, 0x70, 0x65, 0x6e, 0x42, 0x61, 0x73, 0x69, 0x73, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x01, 0x52,
  2340. 0x09, 0x4f, 0x70, 0x65, 0x6e, 0x42, 0x61, 0x73, 0x69, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x43, 0x75,
  2341. 0x72, 0x42, 0x61, 0x73, 0x69, 0x73, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x01, 0x52, 0x08, 0x43, 0x75,
  2342. 0x72, 0x42, 0x61, 0x73, 0x69, 0x73, 0x12, 0x24, 0x0a, 0x0d, 0x42, 0x61, 0x73, 0x69, 0x73, 0x43,
  2343. 0x68, 0x61, 0x6e, 0x67, 0x65, 0x50, 0x4c, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0d, 0x42,
  2344. 0x61, 0x73, 0x69, 0x73, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x50, 0x4c, 0x12, 0x24, 0x0a, 0x0d,
  2345. 0x4e, 0x65, 0x74, 0x45, 0x78, 0x70, 0x6f, 0x73, 0x75, 0x72, 0x65, 0x50, 0x4c, 0x18, 0x1d, 0x20,
  2346. 0x01, 0x28, 0x01, 0x52, 0x0d, 0x4e, 0x65, 0x74, 0x45, 0x78, 0x70, 0x6f, 0x73, 0x75, 0x72, 0x65,
  2347. 0x50, 0x4c, 0x12, 0x24, 0x0a, 0x0d, 0x53, 0x70, 0x6f, 0x74, 0x55, 0x73, 0x65, 0x64, 0x51, 0x75,
  2348. 0x6f, 0x74, 0x61, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0d, 0x53, 0x70, 0x6f, 0x74, 0x55,
  2349. 0x73, 0x65, 0x64, 0x51, 0x75, 0x6f, 0x74, 0x61, 0x12, 0x24, 0x0a, 0x0d, 0x46, 0x75, 0x74, 0x75,
  2350. 0x72, 0x65, 0x4f, 0x70, 0x65, 0x6e, 0x51, 0x74, 0x79, 0x18, 0x1f, 0x20, 0x01, 0x28, 0x01, 0x52,
  2351. 0x0d, 0x46, 0x75, 0x74, 0x75, 0x72, 0x65, 0x4f, 0x70, 0x65, 0x6e, 0x51, 0x74, 0x79, 0x12, 0x2a,
  2352. 0x0a, 0x10, 0x46, 0x75, 0x74, 0x75, 0x72, 0x65, 0x4f, 0x70, 0x65, 0x6e, 0x41, 0x6d, 0x6f, 0x75,
  2353. 0x6e, 0x74, 0x18, 0x20, 0x20, 0x01, 0x28, 0x01, 0x52, 0x10, 0x46, 0x75, 0x74, 0x75, 0x72, 0x65,
  2354. 0x4f, 0x70, 0x65, 0x6e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x26, 0x0a, 0x0e, 0x46, 0x75,
  2355. 0x74, 0x75, 0x72, 0x65, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x51, 0x74, 0x79, 0x18, 0x21, 0x20, 0x01,
  2356. 0x28, 0x01, 0x52, 0x0e, 0x46, 0x75, 0x74, 0x75, 0x72, 0x65, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x51,
  2357. 0x74, 0x79, 0x12, 0x2c, 0x0a, 0x11, 0x46, 0x75, 0x74, 0x75, 0x72, 0x65, 0x43, 0x6c, 0x6f, 0x73,
  2358. 0x65, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x22, 0x20, 0x01, 0x28, 0x01, 0x52, 0x11, 0x46,
  2359. 0x75, 0x74, 0x75, 0x72, 0x65, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74,
  2360. 0x12, 0x24, 0x0a, 0x0d, 0x53, 0x70, 0x6f, 0x74, 0x42, 0x75, 0x79, 0x41, 0x6d, 0x6f, 0x75, 0x6e,
  2361. 0x74, 0x18, 0x23, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0d, 0x53, 0x70, 0x6f, 0x74, 0x42, 0x75, 0x79,
  2362. 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x53, 0x70, 0x6f, 0x74, 0x42, 0x75,
  2363. 0x79, 0x51, 0x74, 0x79, 0x18, 0x24, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0a, 0x53, 0x70, 0x6f, 0x74,
  2364. 0x42, 0x75, 0x79, 0x51, 0x74, 0x79, 0x12, 0x26, 0x0a, 0x0e, 0x53, 0x70, 0x6f, 0x74, 0x53, 0x65,
  2365. 0x6c, 0x6c, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x25, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0e,
  2366. 0x53, 0x70, 0x6f, 0x74, 0x53, 0x65, 0x6c, 0x6c, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x20,
  2367. 0x0a, 0x0b, 0x53, 0x70, 0x6f, 0x74, 0x53, 0x65, 0x6c, 0x6c, 0x51, 0x74, 0x79, 0x18, 0x26, 0x20,
  2368. 0x01, 0x28, 0x01, 0x52, 0x0b, 0x53, 0x70, 0x6f, 0x74, 0x53, 0x65, 0x6c, 0x6c, 0x51, 0x74, 0x79,
  2369. 0x12, 0x28, 0x0a, 0x0a, 0x55, 0x70, 0x44, 0x61, 0x74, 0x65, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x27,
  2370. 0x20, 0x01, 0x28, 0x0b, 0x32, 0x08, 0x2e, 0x70, 0x62, 0x2e, 0x44, 0x61, 0x74, 0x65, 0x52, 0x0a,
  2371. 0x55, 0x70, 0x44, 0x61, 0x74, 0x65, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x41, 0x53,
  2372. 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x28, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x41, 0x53, 0x4e, 0x61,
  2373. 0x6d, 0x65, 0x22, 0xd1, 0x03, 0x0a, 0x0d, 0x45, 0x72, 0x6d, 0x63, 0x70, 0x41, 0x72, 0x65, 0x61,
  2374. 0x53, 0x70, 0x6f, 0x74, 0x12, 0x22, 0x0a, 0x0c, 0x57, 0x72, 0x53, 0x74, 0x61, 0x6e, 0x64, 0x61,
  2375. 0x72, 0x64, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x57, 0x72, 0x53, 0x74,
  2376. 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x49, 0x44, 0x12, 0x1e, 0x0a, 0x0a, 0x41, 0x72, 0x65, 0x61,
  2377. 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x41, 0x72,
  2378. 0x65, 0x61, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x12, 0x24, 0x0a, 0x0d, 0x4f, 0x72, 0x69, 0x42,
  2379. 0x75, 0x79, 0x50, 0x6c, 0x61, 0x6e, 0x51, 0x74, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, 0x52,
  2380. 0x0d, 0x4f, 0x72, 0x69, 0x42, 0x75, 0x79, 0x50, 0x6c, 0x61, 0x6e, 0x51, 0x74, 0x79, 0x12, 0x28,
  2381. 0x0a, 0x0f, 0x4f, 0x72, 0x69, 0x42, 0x75, 0x79, 0x50, 0x72, 0x69, 0x63, 0x65, 0x64, 0x51, 0x74,
  2382. 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0f, 0x4f, 0x72, 0x69, 0x42, 0x75, 0x79, 0x50,
  2383. 0x72, 0x69, 0x63, 0x65, 0x64, 0x51, 0x74, 0x79, 0x12, 0x26, 0x0a, 0x0e, 0x4f, 0x72, 0x69, 0x53,
  2384. 0x65, 0x6c, 0x6c, 0x50, 0x6c, 0x61, 0x6e, 0x51, 0x74, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x01,
  2385. 0x52, 0x0e, 0x4f, 0x72, 0x69, 0x53, 0x65, 0x6c, 0x6c, 0x50, 0x6c, 0x61, 0x6e, 0x51, 0x74, 0x79,
  2386. 0x12, 0x2a, 0x0a, 0x10, 0x4f, 0x72, 0x69, 0x53, 0x65, 0x6c, 0x6c, 0x50, 0x72, 0x69, 0x63, 0x65,
  2387. 0x64, 0x51, 0x74, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x01, 0x52, 0x10, 0x4f, 0x72, 0x69, 0x53,
  2388. 0x65, 0x6c, 0x6c, 0x50, 0x72, 0x69, 0x63, 0x65, 0x64, 0x51, 0x74, 0x79, 0x12, 0x1e, 0x0a, 0x0a,
  2389. 0x42, 0x75, 0x79, 0x50, 0x6c, 0x61, 0x6e, 0x51, 0x74, 0x79, 0x18, 0x07, 0x20, 0x01, 0x28, 0x01,
  2390. 0x52, 0x0a, 0x42, 0x75, 0x79, 0x50, 0x6c, 0x61, 0x6e, 0x51, 0x74, 0x79, 0x12, 0x22, 0x0a, 0x0c,
  2391. 0x42, 0x75, 0x79, 0x50, 0x72, 0x69, 0x63, 0x65, 0x64, 0x51, 0x74, 0x79, 0x18, 0x08, 0x20, 0x01,
  2392. 0x28, 0x01, 0x52, 0x0c, 0x42, 0x75, 0x79, 0x50, 0x72, 0x69, 0x63, 0x65, 0x64, 0x51, 0x74, 0x79,
  2393. 0x12, 0x20, 0x0a, 0x0b, 0x53, 0x65, 0x6c, 0x6c, 0x50, 0x6c, 0x61, 0x6e, 0x51, 0x74, 0x79, 0x18,
  2394. 0x09, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0b, 0x53, 0x65, 0x6c, 0x6c, 0x50, 0x6c, 0x61, 0x6e, 0x51,
  2395. 0x74, 0x79, 0x12, 0x24, 0x0a, 0x0d, 0x53, 0x65, 0x6c, 0x6c, 0x50, 0x72, 0x69, 0x63, 0x65, 0x64,
  2396. 0x51, 0x74, 0x79, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0d, 0x53, 0x65, 0x6c, 0x6c, 0x50,
  2397. 0x72, 0x69, 0x63, 0x65, 0x64, 0x51, 0x74, 0x79, 0x12, 0x22, 0x0a, 0x0c, 0x54, 0x6f, 0x74, 0x61,
  2398. 0x6c, 0x53, 0x70, 0x6f, 0x74, 0x51, 0x74, 0x79, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0c,
  2399. 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x53, 0x70, 0x6f, 0x74, 0x51, 0x74, 0x79, 0x12, 0x28, 0x0a, 0x0a,
  2400. 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b,
  2401. 0x32, 0x08, 0x2e, 0x70, 0x62, 0x2e, 0x44, 0x61, 0x74, 0x65, 0x52, 0x0a, 0x55, 0x70, 0x64, 0x61,
  2402. 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x22, 0xf5, 0x06, 0x0a, 0x11, 0x45, 0x72, 0x6d, 0x63, 0x70,
  2403. 0x41, 0x72, 0x65, 0x61, 0x45, 0x78, 0x70, 0x6f, 0x73, 0x75, 0x72, 0x65, 0x12, 0x24, 0x0a, 0x0d,
  2404. 0x4d, 0x69, 0x64, 0x64, 0x6c, 0x65, 0x47, 0x6f, 0x6f, 0x64, 0x73, 0x49, 0x44, 0x18, 0x01, 0x20,
  2405. 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x4d, 0x69, 0x64, 0x64, 0x6c, 0x65, 0x47, 0x6f, 0x6f, 0x64, 0x73,
  2406. 0x49, 0x44, 0x12, 0x1e, 0x0a, 0x0a, 0x41, 0x72, 0x65, 0x61, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44,
  2407. 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x41, 0x72, 0x65, 0x61, 0x55, 0x73, 0x65, 0x72,
  2408. 0x49, 0x44, 0x12, 0x24, 0x0a, 0x0d, 0x4f, 0x72, 0x69, 0x42, 0x75, 0x79, 0x50, 0x6c, 0x61, 0x6e,
  2409. 0x51, 0x74, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0d, 0x4f, 0x72, 0x69, 0x42, 0x75,
  2410. 0x79, 0x50, 0x6c, 0x61, 0x6e, 0x51, 0x74, 0x79, 0x12, 0x28, 0x0a, 0x0f, 0x4f, 0x72, 0x69, 0x42,
  2411. 0x75, 0x79, 0x50, 0x72, 0x69, 0x63, 0x65, 0x64, 0x51, 0x74, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28,
  2412. 0x01, 0x52, 0x0f, 0x4f, 0x72, 0x69, 0x42, 0x75, 0x79, 0x50, 0x72, 0x69, 0x63, 0x65, 0x64, 0x51,
  2413. 0x74, 0x79, 0x12, 0x26, 0x0a, 0x0e, 0x4f, 0x72, 0x69, 0x53, 0x65, 0x6c, 0x6c, 0x50, 0x6c, 0x61,
  2414. 0x6e, 0x51, 0x74, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0e, 0x4f, 0x72, 0x69, 0x53,
  2415. 0x65, 0x6c, 0x6c, 0x50, 0x6c, 0x61, 0x6e, 0x51, 0x74, 0x79, 0x12, 0x2a, 0x0a, 0x10, 0x4f, 0x72,
  2416. 0x69, 0x53, 0x65, 0x6c, 0x6c, 0x50, 0x72, 0x69, 0x63, 0x65, 0x64, 0x51, 0x74, 0x79, 0x18, 0x06,
  2417. 0x20, 0x01, 0x28, 0x01, 0x52, 0x10, 0x4f, 0x72, 0x69, 0x53, 0x65, 0x6c, 0x6c, 0x50, 0x72, 0x69,
  2418. 0x63, 0x65, 0x64, 0x51, 0x74, 0x79, 0x12, 0x28, 0x0a, 0x0f, 0x4f, 0x72, 0x69, 0x42, 0x75, 0x79,
  2419. 0x46, 0x75, 0x74, 0x75, 0x72, 0x65, 0x51, 0x74, 0x79, 0x18, 0x07, 0x20, 0x01, 0x28, 0x04, 0x52,
  2420. 0x0f, 0x4f, 0x72, 0x69, 0x42, 0x75, 0x79, 0x46, 0x75, 0x74, 0x75, 0x72, 0x65, 0x51, 0x74, 0x79,
  2421. 0x12, 0x2a, 0x0a, 0x10, 0x4f, 0x72, 0x69, 0x53, 0x65, 0x6c, 0x6c, 0x46, 0x75, 0x74, 0x75, 0x72,
  2422. 0x65, 0x51, 0x74, 0x79, 0x18, 0x08, 0x20, 0x01, 0x28, 0x04, 0x52, 0x10, 0x4f, 0x72, 0x69, 0x53,
  2423. 0x65, 0x6c, 0x6c, 0x46, 0x75, 0x74, 0x75, 0x72, 0x65, 0x51, 0x74, 0x79, 0x12, 0x1e, 0x0a, 0x0a,
  2424. 0x42, 0x75, 0x79, 0x50, 0x6c, 0x61, 0x6e, 0x51, 0x74, 0x79, 0x18, 0x09, 0x20, 0x01, 0x28, 0x01,
  2425. 0x52, 0x0a, 0x42, 0x75, 0x79, 0x50, 0x6c, 0x61, 0x6e, 0x51, 0x74, 0x79, 0x12, 0x22, 0x0a, 0x0c,
  2426. 0x42, 0x75, 0x79, 0x50, 0x72, 0x69, 0x63, 0x65, 0x64, 0x51, 0x74, 0x79, 0x18, 0x0a, 0x20, 0x01,
  2427. 0x28, 0x01, 0x52, 0x0c, 0x42, 0x75, 0x79, 0x50, 0x72, 0x69, 0x63, 0x65, 0x64, 0x51, 0x74, 0x79,
  2428. 0x12, 0x20, 0x0a, 0x0b, 0x53, 0x65, 0x6c, 0x6c, 0x50, 0x6c, 0x61, 0x6e, 0x51, 0x74, 0x79, 0x18,
  2429. 0x0b, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0b, 0x53, 0x65, 0x6c, 0x6c, 0x50, 0x6c, 0x61, 0x6e, 0x51,
  2430. 0x74, 0x79, 0x12, 0x24, 0x0a, 0x0d, 0x53, 0x65, 0x6c, 0x6c, 0x50, 0x72, 0x69, 0x63, 0x65, 0x64,
  2431. 0x51, 0x74, 0x79, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0d, 0x53, 0x65, 0x6c, 0x6c, 0x50,
  2432. 0x72, 0x69, 0x63, 0x65, 0x64, 0x51, 0x74, 0x79, 0x12, 0x22, 0x0a, 0x0c, 0x42, 0x75, 0x79, 0x46,
  2433. 0x75, 0x74, 0x75, 0x72, 0x65, 0x51, 0x74, 0x79, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0c,
  2434. 0x42, 0x75, 0x79, 0x46, 0x75, 0x74, 0x75, 0x72, 0x65, 0x51, 0x74, 0x79, 0x12, 0x24, 0x0a, 0x0d,
  2435. 0x53, 0x65, 0x6c, 0x6c, 0x46, 0x75, 0x74, 0x75, 0x72, 0x65, 0x51, 0x74, 0x79, 0x18, 0x0e, 0x20,
  2436. 0x01, 0x28, 0x01, 0x52, 0x0d, 0x53, 0x65, 0x6c, 0x6c, 0x46, 0x75, 0x74, 0x75, 0x72, 0x65, 0x51,
  2437. 0x74, 0x79, 0x12, 0x22, 0x0a, 0x0c, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x53, 0x70, 0x6f, 0x74, 0x51,
  2438. 0x74, 0x79, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0c, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x53,
  2439. 0x70, 0x6f, 0x74, 0x51, 0x74, 0x79, 0x12, 0x26, 0x0a, 0x0e, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x46,
  2440. 0x75, 0x74, 0x75, 0x72, 0x65, 0x51, 0x74, 0x79, 0x18, 0x10, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0e,
  2441. 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x46, 0x75, 0x74, 0x75, 0x72, 0x65, 0x51, 0x74, 0x79, 0x12, 0x24,
  2442. 0x0a, 0x0d, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x45, 0x78, 0x70, 0x6f, 0x73, 0x75, 0x72, 0x65, 0x18,
  2443. 0x11, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0d, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x45, 0x78, 0x70, 0x6f,
  2444. 0x73, 0x75, 0x72, 0x65, 0x12, 0x28, 0x0a, 0x0f, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x48, 0x65, 0x64,
  2445. 0x67, 0x65, 0x52, 0x61, 0x74, 0x69, 0x6f, 0x18, 0x12, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0f, 0x54,
  2446. 0x6f, 0x74, 0x61, 0x6c, 0x48, 0x65, 0x64, 0x67, 0x65, 0x52, 0x61, 0x74, 0x69, 0x6f, 0x12, 0x2c,
  2447. 0x0a, 0x11, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x4e, 0x65, 0x65, 0x64, 0x48, 0x65, 0x64, 0x67, 0x65,
  2448. 0x51, 0x74, 0x79, 0x18, 0x13, 0x20, 0x01, 0x28, 0x01, 0x52, 0x11, 0x54, 0x6f, 0x74, 0x61, 0x6c,
  2449. 0x4e, 0x65, 0x65, 0x64, 0x48, 0x65, 0x64, 0x67, 0x65, 0x51, 0x74, 0x79, 0x12, 0x2e, 0x0a, 0x12,
  2450. 0x4e, 0x65, 0x65, 0x64, 0x48, 0x65, 0x64, 0x67, 0x65, 0x45, 0x78, 0x70, 0x6f, 0x73, 0x6f, 0x75,
  2451. 0x72, 0x65, 0x18, 0x14, 0x20, 0x01, 0x28, 0x01, 0x52, 0x12, 0x4e, 0x65, 0x65, 0x64, 0x48, 0x65,
  2452. 0x64, 0x67, 0x65, 0x45, 0x78, 0x70, 0x6f, 0x73, 0x6f, 0x75, 0x72, 0x65, 0x12, 0x26, 0x0a, 0x0e,
  2453. 0x4e, 0x65, 0x65, 0x64, 0x48, 0x65, 0x64, 0x67, 0x65, 0x52, 0x61, 0x74, 0x69, 0x6f, 0x18, 0x15,
  2454. 0x20, 0x01, 0x28, 0x01, 0x52, 0x0e, 0x4e, 0x65, 0x65, 0x64, 0x48, 0x65, 0x64, 0x67, 0x65, 0x52,
  2455. 0x61, 0x74, 0x69, 0x6f, 0x12, 0x28, 0x0a, 0x0a, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69,
  2456. 0x6d, 0x65, 0x18, 0x16, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x08, 0x2e, 0x70, 0x62, 0x2e, 0x44, 0x61,
  2457. 0x74, 0x65, 0x52, 0x0a, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x22, 0x82,
  2458. 0x03, 0x0a, 0x14, 0x47, 0x6f, 0x6f, 0x64, 0x73, 0x4d, 0x61, 0x72, 0x67, 0x69, 0x6e, 0x43, 0x66,
  2459. 0x67, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x47, 0x6f, 0x6f, 0x64, 0x73,
  2460. 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x47, 0x6f, 0x6f, 0x64, 0x73, 0x49,
  2461. 0x44, 0x12, 0x26, 0x0a, 0x0e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x54, 0x79, 0x70,
  2462. 0x65, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x43, 0x75, 0x73, 0x74, 0x6f,
  2463. 0x6d, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x49, 0x44, 0x12, 0x28, 0x0a, 0x0f, 0x4d, 0x61, 0x72,
  2464. 0x67, 0x69, 0x6e, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x18, 0x03, 0x20, 0x01,
  2465. 0x28, 0x0d, 0x52, 0x0f, 0x4d, 0x61, 0x72, 0x67, 0x69, 0x6e, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69,
  2466. 0x74, 0x68, 0x6d, 0x12, 0x2c, 0x0a, 0x11, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x4d, 0x61, 0x72,
  2467. 0x67, 0x69, 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x01, 0x52, 0x11,
  2468. 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x4d, 0x61, 0x72, 0x67, 0x69, 0x6e, 0x56, 0x61, 0x6c, 0x75,
  2469. 0x65, 0x12, 0x2c, 0x0a, 0x11, 0x52, 0x65, 0x63, 0x6b, 0x6f, 0x6e, 0x4d, 0x61, 0x72, 0x67, 0x69,
  2470. 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x01, 0x52, 0x11, 0x52, 0x65,
  2471. 0x63, 0x6b, 0x6f, 0x6e, 0x4d, 0x61, 0x72, 0x67, 0x69, 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12,
  2472. 0x28, 0x0a, 0x0f, 0x4c, 0x6f, 0x63, 0x6b, 0x4d, 0x61, 0x72, 0x67, 0x69, 0x6e, 0x56, 0x61, 0x6c,
  2473. 0x75, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0f, 0x4c, 0x6f, 0x63, 0x6b, 0x4d, 0x61,
  2474. 0x72, 0x67, 0x69, 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x28, 0x0a, 0x0f, 0x52, 0x65, 0x61,
  2475. 0x6c, 0x4d, 0x61, 0x72, 0x67, 0x69, 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x07, 0x20, 0x01,
  2476. 0x28, 0x01, 0x52, 0x0f, 0x52, 0x65, 0x61, 0x6c, 0x4d, 0x61, 0x72, 0x67, 0x69, 0x6e, 0x56, 0x61,
  2477. 0x6c, 0x75, 0x65, 0x12, 0x30, 0x0a, 0x13, 0x52, 0x65, 0x61, 0x6c, 0x4d, 0x61, 0x72, 0x67, 0x69,
  2478. 0x6e, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d,
  2479. 0x52, 0x13, 0x52, 0x65, 0x61, 0x6c, 0x4d, 0x61, 0x72, 0x67, 0x69, 0x6e, 0x41, 0x6c, 0x67, 0x6f,
  2480. 0x72, 0x69, 0x74, 0x68, 0x6d, 0x12, 0x1c, 0x0a, 0x09, 0x49, 0x73, 0x44, 0x65, 0x66, 0x61, 0x75,
  2481. 0x6c, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x49, 0x73, 0x44, 0x65, 0x66, 0x61,
  2482. 0x75, 0x6c, 0x74, 0x22, 0xca, 0x0e, 0x0a, 0x10, 0x45, 0x72, 0x6d, 0x63, 0x70, 0x32, 0x48, 0x65,
  2483. 0x64, 0x67, 0x65, 0x64, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x22, 0x0a, 0x0c, 0x48, 0x65, 0x64, 0x67,
  2484. 0x65, 0x64, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c,
  2485. 0x48, 0x65, 0x64, 0x67, 0x65, 0x64, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x44, 0x12, 0x24, 0x0a, 0x0d,
  2486. 0x48, 0x65, 0x64, 0x67, 0x65, 0x64, 0x49, 0x74, 0x65, 0x6d, 0x4e, 0x75, 0x6d, 0x18, 0x02, 0x20,
  2487. 0x01, 0x28, 0x09, 0x52, 0x0d, 0x48, 0x65, 0x64, 0x67, 0x65, 0x64, 0x49, 0x74, 0x65, 0x6d, 0x4e,
  2488. 0x75, 0x6d, 0x12, 0x26, 0x0a, 0x0e, 0x48, 0x65, 0x64, 0x67, 0x65, 0x64, 0x49, 0x74, 0x65, 0x6d,
  2489. 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x48, 0x65, 0x64, 0x67,
  2490. 0x65, 0x64, 0x49, 0x74, 0x65, 0x6d, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x48, 0x65,
  2491. 0x64, 0x67, 0x65, 0x64, 0x54, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a,
  2492. 0x48, 0x65, 0x64, 0x67, 0x65, 0x64, 0x54, 0x79, 0x70, 0x65, 0x12, 0x2e, 0x0a, 0x0d, 0x50, 0x6c,
  2493. 0x61, 0x6e, 0x53, 0x74, 0x61, 0x72, 0x74, 0x44, 0x61, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28,
  2494. 0x0b, 0x32, 0x08, 0x2e, 0x70, 0x62, 0x2e, 0x44, 0x61, 0x74, 0x65, 0x52, 0x0d, 0x50, 0x6c, 0x61,
  2495. 0x6e, 0x53, 0x74, 0x61, 0x72, 0x74, 0x44, 0x61, 0x74, 0x65, 0x12, 0x2a, 0x0a, 0x0b, 0x50, 0x6c,
  2496. 0x61, 0x6e, 0x45, 0x6e, 0x64, 0x44, 0x61, 0x74, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32,
  2497. 0x08, 0x2e, 0x70, 0x62, 0x2e, 0x44, 0x61, 0x74, 0x65, 0x52, 0x0b, 0x50, 0x6c, 0x61, 0x6e, 0x45,
  2498. 0x6e, 0x64, 0x44, 0x61, 0x74, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x48, 0x65, 0x64, 0x67, 0x65, 0x52,
  2499. 0x61, 0x74, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x01, 0x52, 0x09, 0x48, 0x65, 0x64, 0x67, 0x65,
  2500. 0x52, 0x61, 0x74, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x54, 0x72, 0x61, 0x64, 0x65, 0x55, 0x73, 0x65,
  2501. 0x72, 0x49, 0x44, 0x18, 0x08, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x54, 0x72, 0x61, 0x64, 0x65,
  2502. 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x12, 0x1e, 0x0a, 0x0a, 0x41, 0x72, 0x65, 0x61, 0x55, 0x73,
  2503. 0x65, 0x72, 0x49, 0x44, 0x18, 0x09, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x41, 0x72, 0x65, 0x61,
  2504. 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x12, 0x2a, 0x0a, 0x10, 0x48, 0x65, 0x64, 0x67, 0x65, 0x64,
  2505. 0x49, 0x74, 0x65, 0x6d, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x04,
  2506. 0x52, 0x10, 0x48, 0x65, 0x64, 0x67, 0x65, 0x64, 0x49, 0x74, 0x65, 0x6d, 0x53, 0x74, 0x61, 0x74,
  2507. 0x75, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x53, 0x72, 0x63, 0x18, 0x0b,
  2508. 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x53, 0x72, 0x63, 0x12, 0x18,
  2509. 0x0a, 0x07, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x49, 0x44, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x04, 0x52,
  2510. 0x07, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x49, 0x44, 0x12, 0x16, 0x0a, 0x06, 0x52, 0x65, 0x6d, 0x61,
  2511. 0x72, 0x6b, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x52, 0x65, 0x6d, 0x61, 0x72, 0x6b,
  2512. 0x12, 0x28, 0x0a, 0x0a, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x0e,
  2513. 0x20, 0x01, 0x28, 0x0b, 0x32, 0x08, 0x2e, 0x70, 0x62, 0x2e, 0x44, 0x61, 0x74, 0x65, 0x52, 0x0a,
  2514. 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x41, 0x75,
  2515. 0x64, 0x69, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x44, 0x61, 0x74, 0x65, 0x18, 0x0f, 0x20, 0x01,
  2516. 0x28, 0x09, 0x52, 0x0e, 0x41, 0x75, 0x64, 0x69, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x44, 0x61,
  2517. 0x74, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x41, 0x75, 0x64, 0x69, 0x74, 0x49, 0x44, 0x18, 0x10, 0x20,
  2518. 0x01, 0x28, 0x04, 0x52, 0x07, 0x41, 0x75, 0x64, 0x69, 0x74, 0x49, 0x44, 0x12, 0x1a, 0x0a, 0x08,
  2519. 0x41, 0x75, 0x64, 0x69, 0x74, 0x53, 0x72, 0x63, 0x18, 0x11, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08,
  2520. 0x41, 0x75, 0x64, 0x69, 0x74, 0x53, 0x72, 0x63, 0x12, 0x1c, 0x0a, 0x09, 0x41, 0x75, 0x64, 0x69,
  2521. 0x74, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x41, 0x75, 0x64,
  2522. 0x69, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x41, 0x75, 0x64, 0x69, 0x74, 0x52,
  2523. 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x18, 0x13, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x41, 0x75, 0x64,
  2524. 0x69, 0x74, 0x52, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x12, 0x28, 0x0a, 0x0f, 0x44, 0x65, 0x6c, 0x69,
  2525. 0x76, 0x65, 0x72, 0x79, 0x47, 0x6f, 0x6f, 0x64, 0x73, 0x49, 0x44, 0x18, 0x14, 0x20, 0x01, 0x28,
  2526. 0x04, 0x52, 0x0f, 0x44, 0x65, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x79, 0x47, 0x6f, 0x6f, 0x64, 0x73,
  2527. 0x49, 0x44, 0x12, 0x22, 0x0a, 0x0c, 0x57, 0x72, 0x53, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64,
  2528. 0x49, 0x44, 0x18, 0x15, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c, 0x57, 0x72, 0x53, 0x74, 0x61, 0x6e,
  2529. 0x64, 0x61, 0x72, 0x64, 0x49, 0x44, 0x12, 0x18, 0x0a, 0x07, 0x56, 0x61, 0x74, 0x52, 0x61, 0x74,
  2530. 0x65, 0x18, 0x16, 0x20, 0x01, 0x28, 0x01, 0x52, 0x07, 0x56, 0x61, 0x74, 0x52, 0x61, 0x74, 0x65,
  2531. 0x12, 0x1a, 0x0a, 0x08, 0x48, 0x65, 0x64, 0x67, 0x65, 0x51, 0x74, 0x79, 0x18, 0x17, 0x20, 0x01,
  2532. 0x28, 0x01, 0x52, 0x08, 0x48, 0x65, 0x64, 0x67, 0x65, 0x51, 0x74, 0x79, 0x12, 0x20, 0x0a, 0x0b,
  2533. 0x48, 0x65, 0x64, 0x67, 0x65, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x18, 0x20, 0x01, 0x28,
  2534. 0x01, 0x52, 0x0b, 0x48, 0x65, 0x64, 0x67, 0x65, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x28,
  2535. 0x0a, 0x0f, 0x48, 0x65, 0x64, 0x67, 0x65, 0x52, 0x65, 0x73, 0x74, 0x41, 0x6d, 0x6f, 0x75, 0x6e,
  2536. 0x74, 0x18, 0x19, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0f, 0x48, 0x65, 0x64, 0x67, 0x65, 0x52, 0x65,
  2537. 0x73, 0x74, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x30, 0x0a, 0x13, 0x48, 0x65, 0x64, 0x67,
  2538. 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18,
  2539. 0x1a, 0x20, 0x01, 0x28, 0x01, 0x52, 0x13, 0x48, 0x65, 0x64, 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x74,
  2540. 0x72, 0x61, 0x63, 0x74, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x4f, 0x72,
  2541. 0x69, 0x41, 0x76, 0x67, 0x50, 0x72, 0x69, 0x63, 0x65, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x01, 0x52,
  2542. 0x0b, 0x4f, 0x72, 0x69, 0x41, 0x76, 0x67, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x16, 0x0a, 0x06,
  2543. 0x45, 0x78, 0x65, 0x51, 0x74, 0x79, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x01, 0x52, 0x06, 0x45, 0x78,
  2544. 0x65, 0x51, 0x74, 0x79, 0x12, 0x1c, 0x0a, 0x09, 0x45, 0x78, 0x65, 0x41, 0x6d, 0x6f, 0x75, 0x6e,
  2545. 0x74, 0x18, 0x1d, 0x20, 0x01, 0x28, 0x01, 0x52, 0x09, 0x45, 0x78, 0x65, 0x41, 0x6d, 0x6f, 0x75,
  2546. 0x6e, 0x74, 0x12, 0x24, 0x0a, 0x0d, 0x45, 0x78, 0x65, 0x52, 0x65, 0x73, 0x74, 0x41, 0x6d, 0x6f,
  2547. 0x75, 0x6e, 0x74, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0d, 0x45, 0x78, 0x65, 0x52, 0x65,
  2548. 0x73, 0x74, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x45, 0x78, 0x65, 0x41,
  2549. 0x76, 0x67, 0x50, 0x72, 0x69, 0x63, 0x65, 0x18, 0x1f, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0b, 0x45,
  2550. 0x78, 0x65, 0x41, 0x76, 0x67, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x2c, 0x0a, 0x11, 0x45, 0x78,
  2551. 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18,
  2552. 0x20, 0x20, 0x01, 0x28, 0x01, 0x52, 0x11, 0x45, 0x78, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61,
  2553. 0x63, 0x74, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x43, 0x75, 0x72, 0x50,
  2554. 0x72, 0x69, 0x63, 0x65, 0x18, 0x21, 0x20, 0x01, 0x28, 0x01, 0x52, 0x08, 0x43, 0x75, 0x72, 0x50,
  2555. 0x72, 0x69, 0x63, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x55, 0x6e, 0x45, 0x78, 0x65, 0x51, 0x74, 0x79,
  2556. 0x18, 0x22, 0x20, 0x01, 0x28, 0x01, 0x52, 0x08, 0x55, 0x6e, 0x45, 0x78, 0x65, 0x51, 0x74, 0x79,
  2557. 0x12, 0x20, 0x0a, 0x0b, 0x53, 0x70, 0x6f, 0x74, 0x48, 0x65, 0x64, 0x67, 0x65, 0x50, 0x4c, 0x18,
  2558. 0x23, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0b, 0x53, 0x70, 0x6f, 0x74, 0x48, 0x65, 0x64, 0x67, 0x65,
  2559. 0x50, 0x4c, 0x12, 0x16, 0x0a, 0x06, 0x53, 0x70, 0x6f, 0x74, 0x50, 0x4c, 0x18, 0x24, 0x20, 0x01,
  2560. 0x28, 0x01, 0x52, 0x06, 0x53, 0x70, 0x6f, 0x74, 0x50, 0x4c, 0x12, 0x24, 0x0a, 0x0d, 0x46, 0x75,
  2561. 0x74, 0x75, 0x72, 0x65, 0x48, 0x65, 0x64, 0x67, 0x65, 0x50, 0x4c, 0x18, 0x25, 0x20, 0x01, 0x28,
  2562. 0x01, 0x52, 0x0d, 0x46, 0x75, 0x74, 0x75, 0x72, 0x65, 0x48, 0x65, 0x64, 0x67, 0x65, 0x50, 0x4c,
  2563. 0x12, 0x1a, 0x0a, 0x08, 0x46, 0x75, 0x74, 0x75, 0x72, 0x65, 0x50, 0x4c, 0x18, 0x26, 0x20, 0x01,
  2564. 0x28, 0x01, 0x52, 0x08, 0x46, 0x75, 0x74, 0x75, 0x72, 0x65, 0x50, 0x4c, 0x12, 0x1e, 0x0a, 0x0a,
  2565. 0x48, 0x65, 0x64, 0x67, 0x65, 0x53, 0x75, 0x6d, 0x50, 0x4c, 0x18, 0x27, 0x20, 0x01, 0x28, 0x01,
  2566. 0x52, 0x0a, 0x48, 0x65, 0x64, 0x67, 0x65, 0x53, 0x75, 0x6d, 0x50, 0x4c, 0x12, 0x20, 0x0a, 0x0b,
  2567. 0x53, 0x70, 0x6f, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x50, 0x4c, 0x18, 0x28, 0x20, 0x01, 0x28,
  2568. 0x01, 0x52, 0x0b, 0x53, 0x70, 0x6f, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x50, 0x4c, 0x12, 0x14,
  2569. 0x0a, 0x05, 0x56, 0x61, 0x74, 0x50, 0x4c, 0x18, 0x29, 0x20, 0x01, 0x28, 0x01, 0x52, 0x05, 0x56,
  2570. 0x61, 0x74, 0x50, 0x4c, 0x12, 0x1a, 0x0a, 0x08, 0x53, 0x75, 0x6d, 0x4f, 0x62, 0x73, 0x50, 0x4c,
  2571. 0x18, 0x2a, 0x20, 0x01, 0x28, 0x01, 0x52, 0x08, 0x53, 0x75, 0x6d, 0x4f, 0x62, 0x73, 0x50, 0x4c,
  2572. 0x12, 0x26, 0x0a, 0x0e, 0x53, 0x70, 0x6f, 0x74, 0x42, 0x6f, 0x6f, 0x6b, 0x41, 0x6d, 0x6f, 0x75,
  2573. 0x6e, 0x74, 0x18, 0x2b, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0e, 0x53, 0x70, 0x6f, 0x74, 0x42, 0x6f,
  2574. 0x6f, 0x6b, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x43, 0x75, 0x72, 0x53,
  2575. 0x74, 0x6f, 0x63, 0x6b, 0x18, 0x2c, 0x20, 0x01, 0x28, 0x01, 0x52, 0x08, 0x43, 0x75, 0x72, 0x53,
  2576. 0x74, 0x6f, 0x63, 0x6b, 0x12, 0x22, 0x0a, 0x07, 0x45, 0x6e, 0x64, 0x44, 0x61, 0x74, 0x65, 0x18,
  2577. 0x2d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x08, 0x2e, 0x70, 0x62, 0x2e, 0x44, 0x61, 0x74, 0x65, 0x52,
  2578. 0x07, 0x45, 0x6e, 0x64, 0x44, 0x61, 0x74, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x45, 0x6e, 0x64, 0x54,
  2579. 0x72, 0x61, 0x64, 0x65, 0x44, 0x61, 0x74, 0x65, 0x18, 0x2e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c,
  2580. 0x45, 0x6e, 0x64, 0x54, 0x72, 0x61, 0x64, 0x65, 0x44, 0x61, 0x74, 0x65, 0x12, 0x28, 0x0a, 0x0a,
  2581. 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x2f, 0x20, 0x01, 0x28, 0x0b,
  2582. 0x32, 0x08, 0x2e, 0x70, 0x62, 0x2e, 0x44, 0x61, 0x74, 0x65, 0x52, 0x0a, 0x55, 0x70, 0x64, 0x61,
  2583. 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x4f, 0x72, 0x69, 0x53, 0x70, 0x6f,
  2584. 0x74, 0x48, 0x65, 0x64, 0x67, 0x65, 0x50, 0x4c, 0x18, 0x30, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0e,
  2585. 0x4f, 0x72, 0x69, 0x53, 0x70, 0x6f, 0x74, 0x48, 0x65, 0x64, 0x67, 0x65, 0x50, 0x4c, 0x12, 0x2a,
  2586. 0x0a, 0x10, 0x4f, 0x72, 0x69, 0x46, 0x75, 0x74, 0x75, 0x72, 0x65, 0x48, 0x65, 0x64, 0x67, 0x65,
  2587. 0x50, 0x4c, 0x18, 0x31, 0x20, 0x01, 0x28, 0x01, 0x52, 0x10, 0x4f, 0x72, 0x69, 0x46, 0x75, 0x74,
  2588. 0x75, 0x72, 0x65, 0x48, 0x65, 0x64, 0x67, 0x65, 0x50, 0x4c, 0x12, 0x1c, 0x0a, 0x09, 0x4f, 0x72,
  2589. 0x69, 0x53, 0x70, 0x6f, 0x74, 0x50, 0x4c, 0x18, 0x32, 0x20, 0x01, 0x28, 0x01, 0x52, 0x09, 0x4f,
  2590. 0x72, 0x69, 0x53, 0x70, 0x6f, 0x74, 0x50, 0x4c, 0x12, 0x20, 0x0a, 0x0b, 0x4f, 0x72, 0x69, 0x46,
  2591. 0x75, 0x74, 0x75, 0x72, 0x65, 0x50, 0x4c, 0x18, 0x33, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0b, 0x4f,
  2592. 0x72, 0x69, 0x46, 0x75, 0x74, 0x75, 0x72, 0x65, 0x50, 0x4c, 0x12, 0x20, 0x0a, 0x0b, 0x53, 0x70,
  2593. 0x6f, 0x74, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x50, 0x4c, 0x18, 0x34, 0x20, 0x01, 0x28, 0x01, 0x52,
  2594. 0x0b, 0x53, 0x70, 0x6f, 0x74, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x50, 0x4c, 0x12, 0x24, 0x0a, 0x0d,
  2595. 0x46, 0x75, 0x74, 0x75, 0x72, 0x65, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x50, 0x4c, 0x18, 0x35, 0x20,
  2596. 0x01, 0x28, 0x01, 0x52, 0x0d, 0x46, 0x75, 0x74, 0x75, 0x72, 0x65, 0x46, 0x6c, 0x6f, 0x61, 0x74,
  2597. 0x50, 0x4c, 0x12, 0x1c, 0x0a, 0x09, 0x49, 0x73, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x18,
  2598. 0x36, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x49, 0x73, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x65, 0x64,
  2599. 0x22, 0xa1, 0x01, 0x0a, 0x13, 0x45, 0x72, 0x6d, 0x63, 0x70, 0x32, 0x48, 0x65, 0x64, 0x67, 0x65,
  2600. 0x64, 0x49, 0x74, 0x65, 0x6d, 0x45, 0x78, 0x74, 0x12, 0x28, 0x0a, 0x04, 0x69, 0x74, 0x65, 0x6d,
  2601. 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x70, 0x62, 0x2e, 0x45, 0x72, 0x6d, 0x63,
  2602. 0x70, 0x32, 0x48, 0x65, 0x64, 0x67, 0x65, 0x64, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x04, 0x69, 0x74,
  2603. 0x65, 0x6d, 0x12, 0x20, 0x0a, 0x0b, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x6e, 0x61, 0x6d,
  2604. 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74,
  2605. 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x77, 0x72, 0x73, 0x74, 0x61, 0x6e, 0x64, 0x61,
  2606. 0x72, 0x64, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x77, 0x72,
  2607. 0x73, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06,
  2608. 0x75, 0x6e, 0x69, 0x74, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x75, 0x6e,
  2609. 0x69, 0x74, 0x69, 0x64, 0x22, 0x9b, 0x04, 0x0a, 0x13, 0x45, 0x72, 0x6d, 0x63, 0x70, 0x32, 0x48,
  2610. 0x49, 0x4d, 0x69, 0x64, 0x64, 0x6c, 0x65, 0x47, 0x6f, 0x6f, 0x64, 0x73, 0x12, 0x22, 0x0a, 0x0c,
  2611. 0x48, 0x65, 0x64, 0x67, 0x65, 0x64, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01,
  2612. 0x28, 0x04, 0x52, 0x0c, 0x48, 0x65, 0x64, 0x67, 0x65, 0x64, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x44,
  2613. 0x12, 0x24, 0x0a, 0x0d, 0x4d, 0x69, 0x64, 0x64, 0x6c, 0x65, 0x47, 0x6f, 0x6f, 0x64, 0x73, 0x49,
  2614. 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0d, 0x4d, 0x69, 0x64, 0x64, 0x6c, 0x65, 0x47,
  2615. 0x6f, 0x6f, 0x64, 0x73, 0x49, 0x44, 0x12, 0x28, 0x0a, 0x0f, 0x44, 0x65, 0x6c, 0x69, 0x76, 0x65,
  2616. 0x72, 0x79, 0x47, 0x6f, 0x6f, 0x64, 0x73, 0x49, 0x44, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52,
  2617. 0x0f, 0x44, 0x65, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x79, 0x47, 0x6f, 0x6f, 0x64, 0x73, 0x49, 0x44,
  2618. 0x12, 0x22, 0x0a, 0x0c, 0x57, 0x72, 0x73, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x49, 0x44,
  2619. 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c, 0x57, 0x72, 0x73, 0x74, 0x61, 0x6e, 0x64, 0x61,
  2620. 0x72, 0x64, 0x49, 0x44, 0x12, 0x18, 0x0a, 0x07, 0x56, 0x61, 0x74, 0x52, 0x61, 0x74, 0x65, 0x18,
  2621. 0x05, 0x20, 0x01, 0x28, 0x01, 0x52, 0x07, 0x56, 0x61, 0x74, 0x52, 0x61, 0x74, 0x65, 0x12, 0x2a,
  2622. 0x0a, 0x10, 0x53, 0x70, 0x6f, 0x74, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x52, 0x61, 0x74,
  2623. 0x69, 0x6f, 0x18, 0x06, 0x20, 0x01, 0x28, 0x01, 0x52, 0x10, 0x53, 0x70, 0x6f, 0x74, 0x43, 0x6f,
  2624. 0x6e, 0x76, 0x65, 0x72, 0x74, 0x52, 0x61, 0x74, 0x69, 0x6f, 0x12, 0x22, 0x0a, 0x0c, 0x55, 0x6e,
  2625. 0x65, 0x78, 0x65, 0x53, 0x70, 0x6f, 0x74, 0x51, 0x74, 0x79, 0x18, 0x07, 0x20, 0x01, 0x28, 0x01,
  2626. 0x52, 0x0c, 0x55, 0x6e, 0x65, 0x78, 0x65, 0x53, 0x70, 0x6f, 0x74, 0x51, 0x74, 0x79, 0x12, 0x24,
  2627. 0x0a, 0x0d, 0x55, 0x6e, 0x65, 0x78, 0x65, 0x48, 0x65, 0x64, 0x67, 0x65, 0x51, 0x74, 0x79, 0x18,
  2628. 0x08, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0d, 0x55, 0x6e, 0x65, 0x78, 0x65, 0x48, 0x65, 0x64, 0x67,
  2629. 0x65, 0x51, 0x74, 0x79, 0x12, 0x26, 0x0a, 0x0e, 0x46, 0x75, 0x74, 0x75, 0x72, 0x65, 0x48, 0x65,
  2630. 0x64, 0x67, 0x65, 0x51, 0x74, 0x79, 0x18, 0x09, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0e, 0x46, 0x75,
  2631. 0x74, 0x75, 0x72, 0x65, 0x48, 0x65, 0x64, 0x67, 0x65, 0x51, 0x74, 0x79, 0x12, 0x1e, 0x0a, 0x0a,
  2632. 0x48, 0x49, 0x45, 0x78, 0x70, 0x73, 0x6f, 0x75, 0x72, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x01,
  2633. 0x52, 0x0a, 0x48, 0x49, 0x45, 0x78, 0x70, 0x73, 0x6f, 0x75, 0x72, 0x65, 0x12, 0x20, 0x0a, 0x0b,
  2634. 0x54, 0x72, 0x61, 0x64, 0x65, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x18, 0x0b, 0x20, 0x01, 0x28,
  2635. 0x04, 0x52, 0x0b, 0x54, 0x72, 0x61, 0x64, 0x65, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x12, 0x1e,
  2636. 0x0a, 0x0a, 0x41, 0x72, 0x65, 0x61, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x18, 0x0c, 0x20, 0x01,
  2637. 0x28, 0x04, 0x52, 0x0a, 0x41, 0x72, 0x65, 0x61, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x12, 0x28,
  2638. 0x0a, 0x0a, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x0d, 0x20, 0x01,
  2639. 0x28, 0x0b, 0x32, 0x08, 0x2e, 0x70, 0x62, 0x2e, 0x44, 0x61, 0x74, 0x65, 0x52, 0x0a, 0x43, 0x72,
  2640. 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x28, 0x0a, 0x0a, 0x55, 0x70, 0x64, 0x61,
  2641. 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x08, 0x2e, 0x70,
  2642. 0x62, 0x2e, 0x44, 0x61, 0x74, 0x65, 0x52, 0x0a, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69,
  2643. 0x6d, 0x65, 0x22, 0x7d, 0x0a, 0x16, 0x45, 0x72, 0x6d, 0x63, 0x70, 0x32, 0x48, 0x49, 0x4d, 0x69,
  2644. 0x64, 0x64, 0x6c, 0x65, 0x47, 0x6f, 0x6f, 0x64, 0x73, 0x45, 0x78, 0x74, 0x12, 0x39, 0x0a, 0x0b,
  2645. 0x6d, 0x69, 0x64, 0x64, 0x6c, 0x65, 0x67, 0x6f, 0x6f, 0x64, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28,
  2646. 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x62, 0x2e, 0x45, 0x72, 0x6d, 0x63, 0x70, 0x32, 0x48, 0x49, 0x4d,
  2647. 0x69, 0x64, 0x64, 0x6c, 0x65, 0x47, 0x6f, 0x6f, 0x64, 0x73, 0x52, 0x0b, 0x6d, 0x69, 0x64, 0x64,
  2648. 0x6c, 0x65, 0x67, 0x6f, 0x6f, 0x64, 0x73, 0x12, 0x28, 0x0a, 0x0f, 0x6d, 0x69, 0x64, 0x64, 0x6c,
  2649. 0x65, 0x67, 0x6f, 0x6f, 0x64, 0x73, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
  2650. 0x52, 0x0f, 0x6d, 0x69, 0x64, 0x64, 0x6c, 0x65, 0x67, 0x6f, 0x6f, 0x64, 0x73, 0x6e, 0x61, 0x6d,
  2651. 0x65, 0x22, 0x9d, 0x01, 0x0a, 0x14, 0x45, 0x72, 0x6d, 0x63, 0x70, 0x32, 0x48, 0x65, 0x64, 0x67,
  2652. 0x65, 0x64, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x3d, 0x0a, 0x0d, 0x68, 0x65,
  2653. 0x64, 0x67, 0x65, 0x64, 0x69, 0x74, 0x65, 0x6d, 0x65, 0x78, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28,
  2654. 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x62, 0x2e, 0x45, 0x72, 0x6d, 0x63, 0x70, 0x32, 0x48, 0x65, 0x64,
  2655. 0x67, 0x65, 0x64, 0x49, 0x74, 0x65, 0x6d, 0x45, 0x78, 0x74, 0x52, 0x0d, 0x68, 0x65, 0x64, 0x67,
  2656. 0x65, 0x64, 0x69, 0x74, 0x65, 0x6d, 0x65, 0x78, 0x74, 0x12, 0x46, 0x0a, 0x10, 0x68, 0x69, 0x6d,
  2657. 0x69, 0x64, 0x64, 0x6c, 0x65, 0x67, 0x6f, 0x6f, 0x64, 0x73, 0x65, 0x78, 0x74, 0x18, 0x02, 0x20,
  2658. 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x70, 0x62, 0x2e, 0x45, 0x72, 0x6d, 0x63, 0x70, 0x32, 0x48,
  2659. 0x49, 0x4d, 0x69, 0x64, 0x64, 0x6c, 0x65, 0x47, 0x6f, 0x6f, 0x64, 0x73, 0x45, 0x78, 0x74, 0x52,
  2660. 0x10, 0x68, 0x69, 0x6d, 0x69, 0x64, 0x64, 0x6c, 0x65, 0x67, 0x6f, 0x6f, 0x64, 0x73, 0x65, 0x78,
  2661. 0x74, 0x22, 0x98, 0x07, 0x0a, 0x12, 0x45, 0x72, 0x6d, 0x63, 0x70, 0x32, 0x41, 0x72, 0x65, 0x61,
  2662. 0x45, 0x78, 0x70, 0x6f, 0x73, 0x75, 0x72, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x4d, 0x69, 0x64, 0x64,
  2663. 0x6c, 0x65, 0x47, 0x6f, 0x6f, 0x64, 0x73, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52,
  2664. 0x0d, 0x4d, 0x69, 0x64, 0x64, 0x6c, 0x65, 0x47, 0x6f, 0x6f, 0x64, 0x73, 0x49, 0x44, 0x12, 0x1e,
  2665. 0x0a, 0x0a, 0x41, 0x72, 0x65, 0x61, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01,
  2666. 0x28, 0x04, 0x52, 0x0a, 0x41, 0x72, 0x65, 0x61, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x12, 0x18,
  2667. 0x0a, 0x07, 0x53, 0x70, 0x6f, 0x74, 0x51, 0x74, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, 0x52,
  2668. 0x07, 0x53, 0x70, 0x6f, 0x74, 0x51, 0x74, 0x79, 0x12, 0x22, 0x0a, 0x0c, 0x48, 0x65, 0x64, 0x67,
  2669. 0x65, 0x53, 0x70, 0x6f, 0x74, 0x51, 0x74, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0c,
  2670. 0x48, 0x65, 0x64, 0x67, 0x65, 0x53, 0x70, 0x6f, 0x74, 0x51, 0x74, 0x79, 0x12, 0x22, 0x0a, 0x0c,
  2671. 0x48, 0x65, 0x64, 0x67, 0x65, 0x50, 0x6c, 0x61, 0x6e, 0x51, 0x74, 0x79, 0x18, 0x05, 0x20, 0x01,
  2672. 0x28, 0x01, 0x52, 0x0c, 0x48, 0x65, 0x64, 0x67, 0x65, 0x50, 0x6c, 0x61, 0x6e, 0x51, 0x74, 0x79,
  2673. 0x12, 0x1c, 0x0a, 0x09, 0x46, 0x75, 0x74, 0x75, 0x72, 0x65, 0x51, 0x74, 0x79, 0x18, 0x06, 0x20,
  2674. 0x01, 0x28, 0x01, 0x52, 0x09, 0x46, 0x75, 0x74, 0x75, 0x72, 0x65, 0x51, 0x74, 0x79, 0x12, 0x22,
  2675. 0x0a, 0x0c, 0x53, 0x70, 0x6f, 0x74, 0x45, 0x78, 0x70, 0x6f, 0x73, 0x75, 0x72, 0x65, 0x18, 0x07,
  2676. 0x20, 0x01, 0x28, 0x01, 0x52, 0x0c, 0x53, 0x70, 0x6f, 0x74, 0x45, 0x78, 0x70, 0x6f, 0x73, 0x75,
  2677. 0x72, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x45, 0x78, 0x70, 0x6f, 0x73,
  2678. 0x75, 0x72, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0d, 0x54, 0x6f, 0x74, 0x61, 0x6c,
  2679. 0x45, 0x78, 0x70, 0x6f, 0x73, 0x75, 0x72, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x53, 0x70, 0x52, 0x61,
  2680. 0x74, 0x69, 0x6f, 0x18, 0x09, 0x20, 0x01, 0x28, 0x01, 0x52, 0x07, 0x53, 0x70, 0x52, 0x61, 0x74,
  2681. 0x69, 0x6f, 0x12, 0x2e, 0x0a, 0x12, 0x48, 0x65, 0x64, 0x67, 0x65, 0x64, 0x53, 0x70, 0x6f, 0x74,
  2682. 0x45, 0x78, 0x70, 0x6f, 0x73, 0x75, 0x72, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x01, 0x52, 0x12,
  2683. 0x48, 0x65, 0x64, 0x67, 0x65, 0x64, 0x53, 0x70, 0x6f, 0x74, 0x45, 0x78, 0x70, 0x6f, 0x73, 0x75,
  2684. 0x72, 0x65, 0x12, 0x30, 0x0a, 0x13, 0x48, 0x65, 0x64, 0x67, 0x65, 0x64, 0x54, 0x6f, 0x74, 0x61,
  2685. 0x6c, 0x45, 0x78, 0x70, 0x6f, 0x73, 0x75, 0x72, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x01, 0x52,
  2686. 0x13, 0x48, 0x65, 0x64, 0x67, 0x65, 0x64, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x45, 0x78, 0x70, 0x6f,
  2687. 0x73, 0x75, 0x72, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x48, 0x65, 0x64, 0x67, 0x65, 0x64, 0x53, 0x70,
  2688. 0x52, 0x61, 0x74, 0x69, 0x6f, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0d, 0x48, 0x65, 0x64,
  2689. 0x67, 0x65, 0x64, 0x53, 0x70, 0x52, 0x61, 0x74, 0x69, 0x6f, 0x12, 0x1e, 0x0a, 0x0a, 0x4f, 0x72,
  2690. 0x69, 0x53, 0x70, 0x6f, 0x74, 0x51, 0x74, 0x79, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0a,
  2691. 0x4f, 0x72, 0x69, 0x53, 0x70, 0x6f, 0x74, 0x51, 0x74, 0x79, 0x12, 0x28, 0x0a, 0x0f, 0x4f, 0x72,
  2692. 0x69, 0x48, 0x65, 0x64, 0x67, 0x65, 0x53, 0x70, 0x6f, 0x74, 0x51, 0x74, 0x79, 0x18, 0x0e, 0x20,
  2693. 0x01, 0x28, 0x01, 0x52, 0x0f, 0x4f, 0x72, 0x69, 0x48, 0x65, 0x64, 0x67, 0x65, 0x53, 0x70, 0x6f,
  2694. 0x74, 0x51, 0x74, 0x79, 0x12, 0x28, 0x0a, 0x0f, 0x4f, 0x72, 0x69, 0x48, 0x65, 0x64, 0x67, 0x65,
  2695. 0x50, 0x6c, 0x61, 0x6e, 0x51, 0x74, 0x79, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0f, 0x4f,
  2696. 0x72, 0x69, 0x48, 0x65, 0x64, 0x67, 0x65, 0x50, 0x6c, 0x61, 0x6e, 0x51, 0x74, 0x79, 0x12, 0x22,
  2697. 0x0a, 0x0c, 0x4f, 0x72, 0x69, 0x46, 0x75, 0x74, 0x75, 0x72, 0x65, 0x51, 0x74, 0x79, 0x18, 0x10,
  2698. 0x20, 0x01, 0x28, 0x01, 0x52, 0x0c, 0x4f, 0x72, 0x69, 0x46, 0x75, 0x74, 0x75, 0x72, 0x65, 0x51,
  2699. 0x74, 0x79, 0x12, 0x28, 0x0a, 0x0f, 0x4f, 0x72, 0x69, 0x53, 0x70, 0x6f, 0x74, 0x45, 0x78, 0x70,
  2700. 0x6f, 0x73, 0x75, 0x72, 0x65, 0x18, 0x11, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0f, 0x4f, 0x72, 0x69,
  2701. 0x53, 0x70, 0x6f, 0x74, 0x45, 0x78, 0x70, 0x6f, 0x73, 0x75, 0x72, 0x65, 0x12, 0x2a, 0x0a, 0x10,
  2702. 0x4f, 0x72, 0x69, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x45, 0x78, 0x70, 0x6f, 0x73, 0x75, 0x72, 0x65,
  2703. 0x18, 0x12, 0x20, 0x01, 0x28, 0x01, 0x52, 0x10, 0x4f, 0x72, 0x69, 0x54, 0x6f, 0x74, 0x61, 0x6c,
  2704. 0x45, 0x78, 0x70, 0x6f, 0x73, 0x75, 0x72, 0x65, 0x12, 0x34, 0x0a, 0x15, 0x4f, 0x72, 0x69, 0x48,
  2705. 0x65, 0x64, 0x67, 0x65, 0x64, 0x53, 0x70, 0x6f, 0x74, 0x45, 0x78, 0x70, 0x6f, 0x73, 0x75, 0x72,
  2706. 0x65, 0x18, 0x13, 0x20, 0x01, 0x28, 0x01, 0x52, 0x15, 0x4f, 0x72, 0x69, 0x48, 0x65, 0x64, 0x67,
  2707. 0x65, 0x64, 0x53, 0x70, 0x6f, 0x74, 0x45, 0x78, 0x70, 0x6f, 0x73, 0x75, 0x72, 0x65, 0x12, 0x36,
  2708. 0x0a, 0x16, 0x4f, 0x72, 0x69, 0x48, 0x65, 0x64, 0x67, 0x65, 0x64, 0x54, 0x6f, 0x74, 0x61, 0x6c,
  2709. 0x45, 0x78, 0x70, 0x6f, 0x73, 0x75, 0x72, 0x65, 0x18, 0x14, 0x20, 0x01, 0x28, 0x01, 0x52, 0x16,
  2710. 0x4f, 0x72, 0x69, 0x48, 0x65, 0x64, 0x67, 0x65, 0x64, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x45, 0x78,
  2711. 0x70, 0x6f, 0x73, 0x75, 0x72, 0x65, 0x12, 0x28, 0x0a, 0x0a, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65,
  2712. 0x54, 0x69, 0x6d, 0x65, 0x18, 0x15, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x08, 0x2e, 0x70, 0x62, 0x2e,
  2713. 0x44, 0x61, 0x74, 0x65, 0x52, 0x0a, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65,
  2714. 0x12, 0x28, 0x0a, 0x0f, 0x4d, 0x69, 0x64, 0x64, 0x6c, 0x65, 0x47, 0x6f, 0x6f, 0x64, 0x73, 0x4e,
  2715. 0x61, 0x6d, 0x65, 0x18, 0x16, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x4d, 0x69, 0x64, 0x64, 0x6c,
  2716. 0x65, 0x47, 0x6f, 0x6f, 0x64, 0x73, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x47, 0x6f,
  2717. 0x6f, 0x64, 0x73, 0x55, 0x6e, 0x69, 0x74, 0x49, 0x44, 0x18, 0x17, 0x20, 0x01, 0x28, 0x0d, 0x52,
  2718. 0x0b, 0x47, 0x6f, 0x6f, 0x64, 0x73, 0x55, 0x6e, 0x69, 0x74, 0x49, 0x44, 0x22, 0xd9, 0x08, 0x0a,
  2719. 0x13, 0x54, 0x72, 0x61, 0x64, 0x65, 0x48, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x44, 0x65, 0x74, 0x61,
  2720. 0x69, 0x6c, 0x45, 0x78, 0x12, 0x18, 0x0a, 0x07, 0x54, 0x72, 0x61, 0x64, 0x65, 0x49, 0x44, 0x18,
  2721. 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x54, 0x72, 0x61, 0x64, 0x65, 0x49, 0x44, 0x12, 0x1c,
  2722. 0x0a, 0x09, 0x42, 0x75, 0x79, 0x4f, 0x72, 0x53, 0x65, 0x6c, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28,
  2723. 0x0d, 0x52, 0x09, 0x42, 0x75, 0x79, 0x4f, 0x72, 0x53, 0x65, 0x6c, 0x6c, 0x12, 0x1c, 0x0a, 0x09,
  2724. 0x54, 0x72, 0x61, 0x64, 0x65, 0x44, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52,
  2725. 0x09, 0x54, 0x72, 0x61, 0x64, 0x65, 0x44, 0x61, 0x74, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x4d, 0x61,
  2726. 0x72, 0x6b, 0x65, 0x74, 0x49, 0x44, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x4d, 0x61,
  2727. 0x72, 0x6b, 0x65, 0x74, 0x49, 0x44, 0x12, 0x18, 0x0a, 0x07, 0x47, 0x6f, 0x6f, 0x64, 0x73, 0x49,
  2728. 0x44, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x47, 0x6f, 0x6f, 0x64, 0x73, 0x49, 0x44,
  2729. 0x12, 0x16, 0x0a, 0x06, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d,
  2730. 0x52, 0x06, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x12, 0x1c, 0x0a, 0x09, 0x41, 0x63, 0x63, 0x6f,
  2731. 0x75, 0x6e, 0x74, 0x49, 0x44, 0x18, 0x07, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x41, 0x63, 0x63,
  2732. 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x44, 0x12, 0x20, 0x0a, 0x0b, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x55,
  2733. 0x73, 0x65, 0x72, 0x49, 0x44, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x4d, 0x61, 0x74,
  2734. 0x63, 0x68, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x12, 0x26, 0x0a, 0x0e, 0x4d, 0x61, 0x74, 0x63,
  2735. 0x68, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x44, 0x18, 0x09, 0x20, 0x01, 0x28, 0x04,
  2736. 0x52, 0x0e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x44,
  2737. 0x12, 0x18, 0x0a, 0x07, 0x4f, 0x70, 0x65, 0x6e, 0x51, 0x74, 0x79, 0x18, 0x0a, 0x20, 0x01, 0x28,
  2738. 0x04, 0x52, 0x07, 0x4f, 0x70, 0x65, 0x6e, 0x51, 0x74, 0x79, 0x12, 0x20, 0x0a, 0x0b, 0x54, 0x72,
  2739. 0x61, 0x64, 0x65, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x01, 0x52,
  2740. 0x0b, 0x54, 0x72, 0x61, 0x64, 0x65, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1c, 0x0a, 0x09,
  2741. 0x4f, 0x70, 0x65, 0x6e, 0x50, 0x72, 0x69, 0x63, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x01, 0x52,
  2742. 0x09, 0x4f, 0x70, 0x65, 0x6e, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x48, 0x6f,
  2743. 0x6c, 0x64, 0x65, 0x72, 0x51, 0x74, 0x79, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x48,
  2744. 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x51, 0x74, 0x79, 0x12, 0x22, 0x0a, 0x0c, 0x48, 0x6f, 0x6c, 0x64,
  2745. 0x65, 0x72, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0c,
  2746. 0x48, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x20, 0x0a, 0x0b,
  2747. 0x48, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x50, 0x72, 0x69, 0x63, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28,
  2748. 0x01, 0x52, 0x0b, 0x48, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x1c,
  2749. 0x0a, 0x09, 0x46, 0x72, 0x65, 0x65, 0x7a, 0x65, 0x51, 0x74, 0x79, 0x18, 0x10, 0x20, 0x01, 0x28,
  2750. 0x04, 0x52, 0x09, 0x46, 0x72, 0x65, 0x65, 0x7a, 0x65, 0x51, 0x74, 0x79, 0x12, 0x20, 0x0a, 0x0b,
  2751. 0x44, 0x65, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x79, 0x51, 0x74, 0x79, 0x18, 0x11, 0x20, 0x01, 0x28,
  2752. 0x04, 0x52, 0x0b, 0x44, 0x65, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x79, 0x51, 0x74, 0x79, 0x12, 0x1a,
  2753. 0x0a, 0x08, 0x48, 0x6f, 0x6c, 0x64, 0x44, 0x61, 0x79, 0x73, 0x18, 0x12, 0x20, 0x01, 0x28, 0x04,
  2754. 0x52, 0x08, 0x48, 0x6f, 0x6c, 0x64, 0x44, 0x61, 0x79, 0x73, 0x12, 0x22, 0x0a, 0x0c, 0x50, 0x61,
  2755. 0x79, 0x65, 0x64, 0x44, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x18, 0x13, 0x20, 0x01, 0x28, 0x01,
  2756. 0x52, 0x0c, 0x50, 0x61, 0x79, 0x65, 0x64, 0x44, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x12, 0x26,
  2757. 0x0a, 0x0e, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x63, 0x6b, 0x44, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74,
  2758. 0x18, 0x14, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0e, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x63, 0x6b, 0x44,
  2759. 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x4c, 0x61, 0x74, 0x65, 0x46, 0x65,
  2760. 0x65, 0x44, 0x61, 0x79, 0x73, 0x18, 0x15, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x4c, 0x61, 0x74,
  2761. 0x65, 0x46, 0x65, 0x65, 0x44, 0x61, 0x79, 0x73, 0x12, 0x2a, 0x0a, 0x10, 0x4c, 0x61, 0x74, 0x65,
  2762. 0x46, 0x65, 0x65, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x18, 0x16, 0x20, 0x01,
  2763. 0x28, 0x0d, 0x52, 0x10, 0x4c, 0x61, 0x74, 0x65, 0x46, 0x65, 0x65, 0x41, 0x6c, 0x67, 0x6f, 0x72,
  2764. 0x69, 0x74, 0x68, 0x6d, 0x12, 0x22, 0x0a, 0x0c, 0x4c, 0x61, 0x74, 0x65, 0x46, 0x65, 0x65, 0x56,
  2765. 0x61, 0x6c, 0x75, 0x65, 0x18, 0x17, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0c, 0x4c, 0x61, 0x74, 0x65,
  2766. 0x46, 0x65, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x43, 0x61, 0x6c, 0x6c,
  2767. 0x41, 0x74, 0x65, 0x46, 0x65, 0x65, 0x18, 0x18, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0a, 0x43, 0x61,
  2768. 0x6c, 0x6c, 0x41, 0x74, 0x65, 0x46, 0x65, 0x65, 0x12, 0x2c, 0x0a, 0x11, 0x50, 0x72, 0x6f, 0x6d,
  2769. 0x70, 0x74, 0x44, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x52, 0x61, 0x74, 0x65, 0x18, 0x19, 0x20,
  2770. 0x01, 0x28, 0x01, 0x52, 0x11, 0x50, 0x72, 0x6f, 0x6d, 0x70, 0x74, 0x44, 0x65, 0x70, 0x6f, 0x73,
  2771. 0x69, 0x74, 0x52, 0x61, 0x74, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x43, 0x75, 0x74, 0x44, 0x65, 0x70,
  2772. 0x6f, 0x73, 0x69, 0x74, 0x52, 0x61, 0x74, 0x65, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0e,
  2773. 0x43, 0x75, 0x74, 0x44, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x52, 0x61, 0x74, 0x65, 0x12, 0x20,
  2774. 0x0a, 0x0b, 0x50, 0x72, 0x6f, 0x6d, 0x70, 0x74, 0x50, 0x72, 0x69, 0x63, 0x65, 0x18, 0x1b, 0x20,
  2775. 0x01, 0x28, 0x01, 0x52, 0x0b, 0x50, 0x72, 0x6f, 0x6d, 0x70, 0x74, 0x50, 0x72, 0x69, 0x63, 0x65,
  2776. 0x12, 0x1a, 0x0a, 0x08, 0x43, 0x75, 0x74, 0x50, 0x72, 0x69, 0x63, 0x65, 0x18, 0x1c, 0x20, 0x01,
  2777. 0x28, 0x01, 0x52, 0x08, 0x43, 0x75, 0x74, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x18, 0x0a, 0x07,
  2778. 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x50, 0x4c, 0x18, 0x1d, 0x20, 0x01, 0x28, 0x01, 0x52, 0x07, 0x43,
  2779. 0x6c, 0x6f, 0x73, 0x65, 0x50, 0x4c, 0x12, 0x18, 0x0a, 0x07, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x50,
  2780. 0x4c, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x01, 0x52, 0x07, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x50, 0x4c,
  2781. 0x12, 0x20, 0x0a, 0x0b, 0x44, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x52, 0x61, 0x74, 0x65, 0x18,
  2782. 0x1f, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0b, 0x44, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x52, 0x61,
  2783. 0x74, 0x65, 0x12, 0x2c, 0x0a, 0x11, 0x52, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x61, 0x62, 0x6c, 0x65,
  2784. 0x44, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x18, 0x20, 0x20, 0x01, 0x28, 0x01, 0x52, 0x11, 0x52,
  2785. 0x65, 0x66, 0x75, 0x6e, 0x64, 0x61, 0x62, 0x6c, 0x65, 0x44, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74,
  2786. 0x12, 0x26, 0x0a, 0x09, 0x54, 0x72, 0x61, 0x64, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x22, 0x20,
  2787. 0x01, 0x28, 0x0b, 0x32, 0x08, 0x2e, 0x70, 0x62, 0x2e, 0x44, 0x61, 0x74, 0x65, 0x52, 0x09, 0x54,
  2788. 0x72, 0x61, 0x64, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x22, 0x81, 0x03, 0x0a, 0x18, 0x52, 0x65, 0x64,
  2789. 0x69, 0x73, 0x54, 0x72, 0x61, 0x64, 0x65, 0x48, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x44, 0x65, 0x74,
  2790. 0x61, 0x69, 0x6c, 0x45, 0x78, 0x12, 0x37, 0x0a, 0x0a, 0x54, 0x48, 0x44, 0x65, 0x74, 0x61, 0x69,
  2791. 0x6c, 0x45, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x62, 0x2e, 0x54,
  2792. 0x72, 0x61, 0x64, 0x65, 0x48, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c,
  2793. 0x45, 0x78, 0x52, 0x0a, 0x54, 0x48, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x45, 0x78, 0x12, 0x18,
  2794. 0x0a, 0x07, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x50, 0x4c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x52,
  2795. 0x07, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x50, 0x4c, 0x12, 0x20, 0x0a, 0x0b, 0x44, 0x65, 0x70, 0x6f,
  2796. 0x73, 0x69, 0x74, 0x52, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0b, 0x44,
  2797. 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x52, 0x61, 0x74, 0x65, 0x12, 0x2c, 0x0a, 0x11, 0x52, 0x65,
  2798. 0x66, 0x75, 0x6e, 0x64, 0x61, 0x62, 0x6c, 0x65, 0x44, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x18,
  2799. 0x04, 0x20, 0x01, 0x28, 0x01, 0x52, 0x11, 0x52, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x61, 0x62, 0x6c,
  2800. 0x65, 0x44, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x47, 0x6f, 0x6f, 0x64,
  2801. 0x73, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x47, 0x6f, 0x6f,
  2802. 0x64, 0x73, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x47, 0x6f, 0x6f, 0x64, 0x73, 0x4e,
  2803. 0x61, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x47, 0x6f, 0x6f, 0x64, 0x73,
  2804. 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x47, 0x6f, 0x6f, 0x64, 0x73, 0x55, 0x6e, 0x69,
  2805. 0x74, 0x49, 0x44, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x47, 0x6f, 0x6f, 0x64, 0x73,
  2806. 0x55, 0x6e, 0x69, 0x74, 0x49, 0x44, 0x12, 0x1c, 0x0a, 0x09, 0x41, 0x67, 0x72, 0x65, 0x65, 0x55,
  2807. 0x6e, 0x69, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x01, 0x52, 0x09, 0x41, 0x67, 0x72, 0x65, 0x65,
  2808. 0x55, 0x6e, 0x69, 0x74, 0x12, 0x22, 0x0a, 0x0c, 0x44, 0x65, 0x63, 0x69, 0x6d, 0x61, 0x6c, 0x50,
  2809. 0x6c, 0x61, 0x63, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x44, 0x65, 0x63, 0x69,
  2810. 0x6d, 0x61, 0x6c, 0x50, 0x6c, 0x61, 0x63, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x51, 0x75, 0x6f, 0x74,
  2811. 0x65, 0x4d, 0x69, 0x6e, 0x55, 0x6e, 0x69, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c,
  2812. 0x51, 0x75, 0x6f, 0x74, 0x65, 0x4d, 0x69, 0x6e, 0x55, 0x6e, 0x69, 0x74, 0x22, 0xd6, 0x02, 0x0a,
  2813. 0x10, 0x4d, 0x61, 0x72, 0x67, 0x69, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x53, 0x74, 0x72, 0x75, 0x63,
  2814. 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x44, 0x18, 0x01,
  2815. 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x44, 0x12,
  2816. 0x18, 0x0a, 0x07, 0x47, 0x6f, 0x6f, 0x64, 0x73, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d,
  2817. 0x52, 0x07, 0x47, 0x6f, 0x6f, 0x64, 0x73, 0x49, 0x44, 0x12, 0x28, 0x0a, 0x0f, 0x4d, 0x61, 0x72,
  2818. 0x67, 0x69, 0x6e, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x18, 0x03, 0x20, 0x01,
  2819. 0x28, 0x0d, 0x52, 0x0f, 0x4d, 0x61, 0x72, 0x67, 0x69, 0x6e, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69,
  2820. 0x74, 0x68, 0x6d, 0x12, 0x2c, 0x0a, 0x11, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x4d, 0x61, 0x72,
  2821. 0x67, 0x69, 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x01, 0x52, 0x11,
  2822. 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x4d, 0x61, 0x72, 0x67, 0x69, 0x6e, 0x56, 0x61, 0x6c, 0x75,
  2823. 0x65, 0x12, 0x2c, 0x0a, 0x11, 0x52, 0x65, 0x63, 0x6b, 0x6f, 0x6e, 0x4d, 0x61, 0x72, 0x67, 0x69,
  2824. 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x01, 0x52, 0x11, 0x52, 0x65,
  2825. 0x63, 0x6b, 0x6f, 0x6e, 0x4d, 0x61, 0x72, 0x67, 0x69, 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12,
  2826. 0x28, 0x0a, 0x0f, 0x4c, 0x6f, 0x63, 0x6b, 0x4d, 0x61, 0x72, 0x67, 0x69, 0x6e, 0x56, 0x61, 0x6c,
  2827. 0x75, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0f, 0x4c, 0x6f, 0x63, 0x6b, 0x4d, 0x61,
  2828. 0x72, 0x67, 0x69, 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x28, 0x0a, 0x0f, 0x52, 0x65, 0x61,
  2829. 0x6c, 0x4d, 0x61, 0x72, 0x67, 0x69, 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x07, 0x20, 0x01,
  2830. 0x28, 0x01, 0x52, 0x0f, 0x52, 0x65, 0x61, 0x6c, 0x4d, 0x61, 0x72, 0x67, 0x69, 0x6e, 0x56, 0x61,
  2831. 0x6c, 0x75, 0x65, 0x12, 0x30, 0x0a, 0x13, 0x52, 0x65, 0x61, 0x6c, 0x4d, 0x61, 0x72, 0x67, 0x69,
  2832. 0x6e, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d,
  2833. 0x52, 0x13, 0x52, 0x65, 0x61, 0x6c, 0x4d, 0x61, 0x72, 0x67, 0x69, 0x6e, 0x41, 0x6c, 0x67, 0x6f,
  2834. 0x72, 0x69, 0x74, 0x68, 0x6d,
  2835. }
  2836. var (
  2837. file_mtp2_proto_rawDescOnce sync.Once
  2838. file_mtp2_proto_rawDescData = file_mtp2_proto_rawDesc
  2839. )
  2840. func file_mtp2_proto_rawDescGZIP() []byte {
  2841. file_mtp2_proto_rawDescOnce.Do(func() {
  2842. file_mtp2_proto_rawDescData = protoimpl.X.CompressGZIP(file_mtp2_proto_rawDescData)
  2843. })
  2844. return file_mtp2_proto_rawDescData
  2845. }
  2846. var file_mtp2_proto_msgTypes = make([]protoimpl.MessageInfo, 16)
  2847. var file_mtp2_proto_goTypes = []interface{}{
  2848. (*TradeRule)(nil), // 0: pb.TradeRule
  2849. (*TradeRuleInfoStruct)(nil), // 1: pb.TradeRuleInfoStruct
  2850. (*Date)(nil), // 2: pb.Date
  2851. (*Erms2ArbitrageStrategy)(nil), // 3: pb.Erms2ArbitrageStrategy
  2852. (*ErmcpAreaSpot)(nil), // 4: pb.ErmcpAreaSpot
  2853. (*ErmcpAreaExposure)(nil), // 5: pb.ErmcpAreaExposure
  2854. (*GoodsMarginCfgStruct)(nil), // 6: pb.GoodsMarginCfgStruct
  2855. (*Ermcp2HedgedItem)(nil), // 7: pb.Ermcp2HedgedItem
  2856. (*Ermcp2HedgedItemExt)(nil), // 8: pb.Ermcp2HedgedItemExt
  2857. (*Ermcp2HIMiddleGoods)(nil), // 9: pb.Ermcp2HIMiddleGoods
  2858. (*Ermcp2HIMiddleGoodsExt)(nil), // 10: pb.Ermcp2HIMiddleGoodsExt
  2859. (*Ermcp2HedgedItemInfo)(nil), // 11: pb.Ermcp2HedgedItemInfo
  2860. (*Ermcp2AreaExposure)(nil), // 12: pb.Ermcp2AreaExposure
  2861. (*TradeHolderDetailEx)(nil), // 13: pb.TradeHolderDetailEx
  2862. (*RedisTradeHolderDetailEx)(nil), // 14: pb.RedisTradeHolderDetailEx
  2863. (*MarginInfoStruct)(nil), // 15: pb.MarginInfoStruct
  2864. }
  2865. var file_mtp2_proto_depIdxs = []int32{
  2866. 0, // 0: pb.TradeRuleInfoStruct.TradeRules:type_name -> pb.TradeRule
  2867. 2, // 1: pb.Erms2ArbitrageStrategy.UpDatetime:type_name -> pb.Date
  2868. 2, // 2: pb.ErmcpAreaSpot.UpdateTime:type_name -> pb.Date
  2869. 2, // 3: pb.ErmcpAreaExposure.UpdateTime:type_name -> pb.Date
  2870. 2, // 4: pb.Ermcp2HedgedItem.PlanStartDate:type_name -> pb.Date
  2871. 2, // 5: pb.Ermcp2HedgedItem.PlanEndDate:type_name -> pb.Date
  2872. 2, // 6: pb.Ermcp2HedgedItem.CreateTime:type_name -> pb.Date
  2873. 2, // 7: pb.Ermcp2HedgedItem.EndDate:type_name -> pb.Date
  2874. 2, // 8: pb.Ermcp2HedgedItem.UpdateTime:type_name -> pb.Date
  2875. 7, // 9: pb.Ermcp2HedgedItemExt.item:type_name -> pb.Ermcp2HedgedItem
  2876. 2, // 10: pb.Ermcp2HIMiddleGoods.CreateTime:type_name -> pb.Date
  2877. 2, // 11: pb.Ermcp2HIMiddleGoods.UpdateTime:type_name -> pb.Date
  2878. 9, // 12: pb.Ermcp2HIMiddleGoodsExt.middlegoods:type_name -> pb.Ermcp2HIMiddleGoods
  2879. 8, // 13: pb.Ermcp2HedgedItemInfo.hedgeditemext:type_name -> pb.Ermcp2HedgedItemExt
  2880. 10, // 14: pb.Ermcp2HedgedItemInfo.himiddlegoodsext:type_name -> pb.Ermcp2HIMiddleGoodsExt
  2881. 2, // 15: pb.Ermcp2AreaExposure.UpdateTime:type_name -> pb.Date
  2882. 2, // 16: pb.TradeHolderDetailEx.TradeTime:type_name -> pb.Date
  2883. 13, // 17: pb.RedisTradeHolderDetailEx.THDetailEx:type_name -> pb.TradeHolderDetailEx
  2884. 18, // [18:18] is the sub-list for method output_type
  2885. 18, // [18:18] is the sub-list for method input_type
  2886. 18, // [18:18] is the sub-list for extension type_name
  2887. 18, // [18:18] is the sub-list for extension extendee
  2888. 0, // [0:18] is the sub-list for field type_name
  2889. }
  2890. func init() { file_mtp2_proto_init() }
  2891. func file_mtp2_proto_init() {
  2892. if File_mtp2_proto != nil {
  2893. return
  2894. }
  2895. if !protoimpl.UnsafeEnabled {
  2896. file_mtp2_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
  2897. switch v := v.(*TradeRule); i {
  2898. case 0:
  2899. return &v.state
  2900. case 1:
  2901. return &v.sizeCache
  2902. case 2:
  2903. return &v.unknownFields
  2904. default:
  2905. return nil
  2906. }
  2907. }
  2908. file_mtp2_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
  2909. switch v := v.(*TradeRuleInfoStruct); i {
  2910. case 0:
  2911. return &v.state
  2912. case 1:
  2913. return &v.sizeCache
  2914. case 2:
  2915. return &v.unknownFields
  2916. default:
  2917. return nil
  2918. }
  2919. }
  2920. file_mtp2_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
  2921. switch v := v.(*Date); i {
  2922. case 0:
  2923. return &v.state
  2924. case 1:
  2925. return &v.sizeCache
  2926. case 2:
  2927. return &v.unknownFields
  2928. default:
  2929. return nil
  2930. }
  2931. }
  2932. file_mtp2_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
  2933. switch v := v.(*Erms2ArbitrageStrategy); i {
  2934. case 0:
  2935. return &v.state
  2936. case 1:
  2937. return &v.sizeCache
  2938. case 2:
  2939. return &v.unknownFields
  2940. default:
  2941. return nil
  2942. }
  2943. }
  2944. file_mtp2_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
  2945. switch v := v.(*ErmcpAreaSpot); i {
  2946. case 0:
  2947. return &v.state
  2948. case 1:
  2949. return &v.sizeCache
  2950. case 2:
  2951. return &v.unknownFields
  2952. default:
  2953. return nil
  2954. }
  2955. }
  2956. file_mtp2_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
  2957. switch v := v.(*ErmcpAreaExposure); i {
  2958. case 0:
  2959. return &v.state
  2960. case 1:
  2961. return &v.sizeCache
  2962. case 2:
  2963. return &v.unknownFields
  2964. default:
  2965. return nil
  2966. }
  2967. }
  2968. file_mtp2_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
  2969. switch v := v.(*GoodsMarginCfgStruct); i {
  2970. case 0:
  2971. return &v.state
  2972. case 1:
  2973. return &v.sizeCache
  2974. case 2:
  2975. return &v.unknownFields
  2976. default:
  2977. return nil
  2978. }
  2979. }
  2980. file_mtp2_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
  2981. switch v := v.(*Ermcp2HedgedItem); i {
  2982. case 0:
  2983. return &v.state
  2984. case 1:
  2985. return &v.sizeCache
  2986. case 2:
  2987. return &v.unknownFields
  2988. default:
  2989. return nil
  2990. }
  2991. }
  2992. file_mtp2_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
  2993. switch v := v.(*Ermcp2HedgedItemExt); i {
  2994. case 0:
  2995. return &v.state
  2996. case 1:
  2997. return &v.sizeCache
  2998. case 2:
  2999. return &v.unknownFields
  3000. default:
  3001. return nil
  3002. }
  3003. }
  3004. file_mtp2_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
  3005. switch v := v.(*Ermcp2HIMiddleGoods); i {
  3006. case 0:
  3007. return &v.state
  3008. case 1:
  3009. return &v.sizeCache
  3010. case 2:
  3011. return &v.unknownFields
  3012. default:
  3013. return nil
  3014. }
  3015. }
  3016. file_mtp2_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
  3017. switch v := v.(*Ermcp2HIMiddleGoodsExt); i {
  3018. case 0:
  3019. return &v.state
  3020. case 1:
  3021. return &v.sizeCache
  3022. case 2:
  3023. return &v.unknownFields
  3024. default:
  3025. return nil
  3026. }
  3027. }
  3028. file_mtp2_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
  3029. switch v := v.(*Ermcp2HedgedItemInfo); i {
  3030. case 0:
  3031. return &v.state
  3032. case 1:
  3033. return &v.sizeCache
  3034. case 2:
  3035. return &v.unknownFields
  3036. default:
  3037. return nil
  3038. }
  3039. }
  3040. file_mtp2_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
  3041. switch v := v.(*Ermcp2AreaExposure); i {
  3042. case 0:
  3043. return &v.state
  3044. case 1:
  3045. return &v.sizeCache
  3046. case 2:
  3047. return &v.unknownFields
  3048. default:
  3049. return nil
  3050. }
  3051. }
  3052. file_mtp2_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
  3053. switch v := v.(*TradeHolderDetailEx); i {
  3054. case 0:
  3055. return &v.state
  3056. case 1:
  3057. return &v.sizeCache
  3058. case 2:
  3059. return &v.unknownFields
  3060. default:
  3061. return nil
  3062. }
  3063. }
  3064. file_mtp2_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
  3065. switch v := v.(*RedisTradeHolderDetailEx); i {
  3066. case 0:
  3067. return &v.state
  3068. case 1:
  3069. return &v.sizeCache
  3070. case 2:
  3071. return &v.unknownFields
  3072. default:
  3073. return nil
  3074. }
  3075. }
  3076. file_mtp2_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
  3077. switch v := v.(*MarginInfoStruct); i {
  3078. case 0:
  3079. return &v.state
  3080. case 1:
  3081. return &v.sizeCache
  3082. case 2:
  3083. return &v.unknownFields
  3084. default:
  3085. return nil
  3086. }
  3087. }
  3088. }
  3089. type x struct{}
  3090. out := protoimpl.TypeBuilder{
  3091. File: protoimpl.DescBuilder{
  3092. GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
  3093. RawDescriptor: file_mtp2_proto_rawDesc,
  3094. NumEnums: 0,
  3095. NumMessages: 16,
  3096. NumExtensions: 0,
  3097. NumServices: 0,
  3098. },
  3099. GoTypes: file_mtp2_proto_goTypes,
  3100. DependencyIndexes: file_mtp2_proto_depIdxs,
  3101. MessageInfos: file_mtp2_proto_msgTypes,
  3102. }.Build()
  3103. File_mtp2_proto = out.File
  3104. file_mtp2_proto_rawDesc = nil
  3105. file_mtp2_proto_goTypes = nil
  3106. file_mtp2_proto_depIdxs = nil
  3107. }