| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808 | 
							- // Code generated by protoc-gen-gogo. DO NOT EDIT.
 
- // source: structs.proto
 
- package db
 
- import (
 
- 	fmt "fmt"
 
- 	_ "github.com/gogo/protobuf/gogoproto"
 
- 	proto "github.com/gogo/protobuf/proto"
 
- 	github_com_syncthing_syncthing_lib_protocol "github.com/syncthing/syncthing/lib/protocol"
 
- 	protocol "github.com/syncthing/syncthing/lib/protocol"
 
- 	io "io"
 
- 	math "math"
 
- 	math_bits "math/bits"
 
- )
 
- // Reference imports to suppress errors if they are not otherwise used.
 
- var _ = proto.Marshal
 
- var _ = fmt.Errorf
 
- var _ = math.Inf
 
- // This is a compile-time assertion to ensure that this generated file
 
- // is compatible with the proto package it is being compiled against.
 
- // A compilation error at this line likely means your copy of the
 
- // proto package needs to be updated.
 
- const _ = proto.GoGoProtoPackageIsVersion3 // please upgrade the proto package
 
- type FileVersion struct {
 
- 	Version        protocol.Vector `protobuf:"bytes,1,opt,name=version,proto3" json:"version"`
 
- 	Deleted        bool            `protobuf:"varint,2,opt,name=deleted,proto3" json:"deleted,omitempty"`
 
- 	Devices        [][]byte        `protobuf:"bytes,3,rep,name=devices,proto3" json:"devices,omitempty"`
 
- 	InvalidDevices [][]byte        `protobuf:"bytes,4,rep,name=invalid_devices,json=invalidDevices,proto3" json:"invalid_devices,omitempty"`
 
- }
 
- func (m *FileVersion) Reset()         { *m = FileVersion{} }
 
- func (m *FileVersion) String() string { return proto.CompactTextString(m) }
 
- func (*FileVersion) ProtoMessage()    {}
 
- func (*FileVersion) Descriptor() ([]byte, []int) {
 
- 	return fileDescriptor_e774e8f5f348d14d, []int{0}
 
- }
 
- func (m *FileVersion) XXX_Unmarshal(b []byte) error {
 
- 	return m.Unmarshal(b)
 
- }
 
- func (m *FileVersion) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
 
- 	if deterministic {
 
- 		return xxx_messageInfo_FileVersion.Marshal(b, m, deterministic)
 
- 	} else {
 
- 		b = b[:cap(b)]
 
- 		n, err := m.MarshalToSizedBuffer(b)
 
- 		if err != nil {
 
- 			return nil, err
 
- 		}
 
- 		return b[:n], nil
 
- 	}
 
- }
 
- func (m *FileVersion) XXX_Merge(src proto.Message) {
 
- 	xxx_messageInfo_FileVersion.Merge(m, src)
 
- }
 
- func (m *FileVersion) XXX_Size() int {
 
- 	return m.ProtoSize()
 
- }
 
- func (m *FileVersion) XXX_DiscardUnknown() {
 
- 	xxx_messageInfo_FileVersion.DiscardUnknown(m)
 
- }
 
- var xxx_messageInfo_FileVersion proto.InternalMessageInfo
 
- type VersionList struct {
 
- 	RawVersions []FileVersion `protobuf:"bytes,1,rep,name=versions,proto3" json:"versions"`
 
- }
 
- func (m *VersionList) Reset()      { *m = VersionList{} }
 
- func (*VersionList) ProtoMessage() {}
 
- func (*VersionList) Descriptor() ([]byte, []int) {
 
- 	return fileDescriptor_e774e8f5f348d14d, []int{1}
 
- }
 
- func (m *VersionList) XXX_Unmarshal(b []byte) error {
 
- 	return m.Unmarshal(b)
 
- }
 
- func (m *VersionList) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
 
- 	if deterministic {
 
- 		return xxx_messageInfo_VersionList.Marshal(b, m, deterministic)
 
- 	} else {
 
- 		b = b[:cap(b)]
 
- 		n, err := m.MarshalToSizedBuffer(b)
 
- 		if err != nil {
 
- 			return nil, err
 
- 		}
 
- 		return b[:n], nil
 
- 	}
 
- }
 
- func (m *VersionList) XXX_Merge(src proto.Message) {
 
- 	xxx_messageInfo_VersionList.Merge(m, src)
 
- }
 
- func (m *VersionList) XXX_Size() int {
 
- 	return m.ProtoSize()
 
- }
 
- func (m *VersionList) XXX_DiscardUnknown() {
 
- 	xxx_messageInfo_VersionList.DiscardUnknown(m)
 
- }
 
- var xxx_messageInfo_VersionList proto.InternalMessageInfo
 
- // Must be the same as FileInfo but without the blocks field
 
- type FileInfoTruncated struct {
 
- 	Name       string                                              `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
 
- 	Size       int64                                               `protobuf:"varint,3,opt,name=size,proto3" json:"size,omitempty"`
 
- 	ModifiedS  int64                                               `protobuf:"varint,5,opt,name=modified_s,json=modifiedS,proto3" json:"modified_s,omitempty"`
 
- 	ModifiedBy github_com_syncthing_syncthing_lib_protocol.ShortID `protobuf:"varint,12,opt,name=modified_by,json=modifiedBy,proto3,customtype=github.com/syncthing/syncthing/lib/protocol.ShortID" json:"modified_by"`
 
- 	Version    protocol.Vector                                     `protobuf:"bytes,9,opt,name=version,proto3" json:"version"`
 
- 	Sequence   int64                                               `protobuf:"varint,10,opt,name=sequence,proto3" json:"sequence,omitempty"`
 
- 	// repeated BlockInfo Blocks         = 16
 
- 	SymlinkTarget string                `protobuf:"bytes,17,opt,name=symlink_target,json=symlinkTarget,proto3" json:"symlink_target,omitempty"`
 
- 	BlocksHash    []byte                `protobuf:"bytes,18,opt,name=blocks_hash,json=blocksHash,proto3" json:"blocks_hash,omitempty"`
 
- 	Type          protocol.FileInfoType `protobuf:"varint,2,opt,name=type,proto3,enum=protocol.FileInfoType" json:"type,omitempty"`
 
- 	Permissions   uint32                `protobuf:"varint,4,opt,name=permissions,proto3" json:"permissions,omitempty"`
 
- 	ModifiedNs    int32                 `protobuf:"varint,11,opt,name=modified_ns,json=modifiedNs,proto3" json:"modified_ns,omitempty"`
 
- 	RawBlockSize  int32                 `protobuf:"varint,13,opt,name=block_size,json=blockSize,proto3" json:"block_size,omitempty"`
 
- 	// see bep.proto
 
- 	LocalFlags    uint32 `protobuf:"varint,1000,opt,name=local_flags,json=localFlags,proto3" json:"local_flags,omitempty"`
 
- 	VersionHash   []byte `protobuf:"bytes,1001,opt,name=version_hash,json=versionHash,proto3" json:"version_hash,omitempty"`
 
- 	Deleted       bool   `protobuf:"varint,6,opt,name=deleted,proto3" json:"deleted,omitempty"`
 
- 	RawInvalid    bool   `protobuf:"varint,7,opt,name=invalid,proto3" json:"invalid,omitempty"`
 
- 	NoPermissions bool   `protobuf:"varint,8,opt,name=no_permissions,json=noPermissions,proto3" json:"no_permissions,omitempty"`
 
- }
 
- func (m *FileInfoTruncated) Reset()      { *m = FileInfoTruncated{} }
 
- func (*FileInfoTruncated) ProtoMessage() {}
 
- func (*FileInfoTruncated) Descriptor() ([]byte, []int) {
 
- 	return fileDescriptor_e774e8f5f348d14d, []int{2}
 
- }
 
- func (m *FileInfoTruncated) XXX_Unmarshal(b []byte) error {
 
- 	return m.Unmarshal(b)
 
- }
 
- func (m *FileInfoTruncated) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
 
- 	if deterministic {
 
- 		return xxx_messageInfo_FileInfoTruncated.Marshal(b, m, deterministic)
 
- 	} else {
 
- 		b = b[:cap(b)]
 
- 		n, err := m.MarshalToSizedBuffer(b)
 
- 		if err != nil {
 
- 			return nil, err
 
- 		}
 
- 		return b[:n], nil
 
- 	}
 
- }
 
- func (m *FileInfoTruncated) XXX_Merge(src proto.Message) {
 
- 	xxx_messageInfo_FileInfoTruncated.Merge(m, src)
 
- }
 
- func (m *FileInfoTruncated) XXX_Size() int {
 
- 	return m.ProtoSize()
 
- }
 
- func (m *FileInfoTruncated) XXX_DiscardUnknown() {
 
- 	xxx_messageInfo_FileInfoTruncated.DiscardUnknown(m)
 
- }
 
- var xxx_messageInfo_FileInfoTruncated proto.InternalMessageInfo
 
- // BlockList is the structure used to store block lists
 
- type BlockList struct {
 
- 	Blocks []protocol.BlockInfo `protobuf:"bytes,1,rep,name=Blocks,proto3" json:"Blocks"`
 
- }
 
- func (m *BlockList) Reset()         { *m = BlockList{} }
 
- func (m *BlockList) String() string { return proto.CompactTextString(m) }
 
- func (*BlockList) ProtoMessage()    {}
 
- func (*BlockList) Descriptor() ([]byte, []int) {
 
- 	return fileDescriptor_e774e8f5f348d14d, []int{3}
 
- }
 
- func (m *BlockList) XXX_Unmarshal(b []byte) error {
 
- 	return m.Unmarshal(b)
 
- }
 
- func (m *BlockList) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
 
- 	if deterministic {
 
- 		return xxx_messageInfo_BlockList.Marshal(b, m, deterministic)
 
- 	} else {
 
- 		b = b[:cap(b)]
 
- 		n, err := m.MarshalToSizedBuffer(b)
 
- 		if err != nil {
 
- 			return nil, err
 
- 		}
 
- 		return b[:n], nil
 
- 	}
 
- }
 
- func (m *BlockList) XXX_Merge(src proto.Message) {
 
- 	xxx_messageInfo_BlockList.Merge(m, src)
 
- }
 
- func (m *BlockList) XXX_Size() int {
 
- 	return m.ProtoSize()
 
- }
 
- func (m *BlockList) XXX_DiscardUnknown() {
 
- 	xxx_messageInfo_BlockList.DiscardUnknown(m)
 
- }
 
- var xxx_messageInfo_BlockList proto.InternalMessageInfo
 
- // IndirectionHashesOnly is used to only unmarshal the indirection hashes
 
- // from a FileInfo
 
- type IndirectionHashesOnly struct {
 
- 	BlocksHash  []byte `protobuf:"bytes,18,opt,name=blocks_hash,json=blocksHash,proto3" json:"blocks_hash,omitempty"`
 
- 	VersionHash []byte `protobuf:"bytes,1001,opt,name=version_hash,json=versionHash,proto3" json:"version_hash,omitempty"`
 
- }
 
- func (m *IndirectionHashesOnly) Reset()         { *m = IndirectionHashesOnly{} }
 
- func (m *IndirectionHashesOnly) String() string { return proto.CompactTextString(m) }
 
- func (*IndirectionHashesOnly) ProtoMessage()    {}
 
- func (*IndirectionHashesOnly) Descriptor() ([]byte, []int) {
 
- 	return fileDescriptor_e774e8f5f348d14d, []int{4}
 
- }
 
- func (m *IndirectionHashesOnly) XXX_Unmarshal(b []byte) error {
 
- 	return m.Unmarshal(b)
 
- }
 
- func (m *IndirectionHashesOnly) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
 
- 	if deterministic {
 
- 		return xxx_messageInfo_IndirectionHashesOnly.Marshal(b, m, deterministic)
 
- 	} else {
 
- 		b = b[:cap(b)]
 
- 		n, err := m.MarshalToSizedBuffer(b)
 
- 		if err != nil {
 
- 			return nil, err
 
- 		}
 
- 		return b[:n], nil
 
- 	}
 
- }
 
- func (m *IndirectionHashesOnly) XXX_Merge(src proto.Message) {
 
- 	xxx_messageInfo_IndirectionHashesOnly.Merge(m, src)
 
- }
 
- func (m *IndirectionHashesOnly) XXX_Size() int {
 
- 	return m.ProtoSize()
 
- }
 
- func (m *IndirectionHashesOnly) XXX_DiscardUnknown() {
 
- 	xxx_messageInfo_IndirectionHashesOnly.DiscardUnknown(m)
 
- }
 
- var xxx_messageInfo_IndirectionHashesOnly proto.InternalMessageInfo
 
- // For each folder and device we keep one of these to track the current
 
- // counts and sequence. We also keep one for the global state of the folder.
 
- type Counts struct {
 
- 	Files       int32  `protobuf:"varint,1,opt,name=files,proto3" json:"files,omitempty"`
 
- 	Directories int32  `protobuf:"varint,2,opt,name=directories,proto3" json:"directories,omitempty"`
 
- 	Symlinks    int32  `protobuf:"varint,3,opt,name=symlinks,proto3" json:"symlinks,omitempty"`
 
- 	Deleted     int32  `protobuf:"varint,4,opt,name=deleted,proto3" json:"deleted,omitempty"`
 
- 	Bytes       int64  `protobuf:"varint,5,opt,name=bytes,proto3" json:"bytes,omitempty"`
 
- 	Sequence    int64  `protobuf:"varint,6,opt,name=sequence,proto3" json:"sequence,omitempty"`
 
- 	DeviceID    []byte `protobuf:"bytes,17,opt,name=deviceID,proto3" json:"deviceID,omitempty"`
 
- 	LocalFlags  uint32 `protobuf:"varint,18,opt,name=localFlags,proto3" json:"localFlags,omitempty"`
 
- }
 
- func (m *Counts) Reset()         { *m = Counts{} }
 
- func (m *Counts) String() string { return proto.CompactTextString(m) }
 
- func (*Counts) ProtoMessage()    {}
 
- func (*Counts) Descriptor() ([]byte, []int) {
 
- 	return fileDescriptor_e774e8f5f348d14d, []int{5}
 
- }
 
- func (m *Counts) XXX_Unmarshal(b []byte) error {
 
- 	return m.Unmarshal(b)
 
- }
 
- func (m *Counts) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
 
- 	if deterministic {
 
- 		return xxx_messageInfo_Counts.Marshal(b, m, deterministic)
 
- 	} else {
 
- 		b = b[:cap(b)]
 
- 		n, err := m.MarshalToSizedBuffer(b)
 
- 		if err != nil {
 
- 			return nil, err
 
- 		}
 
- 		return b[:n], nil
 
- 	}
 
- }
 
- func (m *Counts) XXX_Merge(src proto.Message) {
 
- 	xxx_messageInfo_Counts.Merge(m, src)
 
- }
 
- func (m *Counts) XXX_Size() int {
 
- 	return m.ProtoSize()
 
- }
 
- func (m *Counts) XXX_DiscardUnknown() {
 
- 	xxx_messageInfo_Counts.DiscardUnknown(m)
 
- }
 
- var xxx_messageInfo_Counts proto.InternalMessageInfo
 
- type CountsSet struct {
 
- 	Counts  []Counts `protobuf:"bytes,1,rep,name=counts,proto3" json:"counts"`
 
- 	Created int64    `protobuf:"varint,2,opt,name=created,proto3" json:"created,omitempty"`
 
- }
 
- func (m *CountsSet) Reset()         { *m = CountsSet{} }
 
- func (m *CountsSet) String() string { return proto.CompactTextString(m) }
 
- func (*CountsSet) ProtoMessage()    {}
 
- func (*CountsSet) Descriptor() ([]byte, []int) {
 
- 	return fileDescriptor_e774e8f5f348d14d, []int{6}
 
- }
 
- func (m *CountsSet) XXX_Unmarshal(b []byte) error {
 
- 	return m.Unmarshal(b)
 
- }
 
- func (m *CountsSet) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
 
- 	if deterministic {
 
- 		return xxx_messageInfo_CountsSet.Marshal(b, m, deterministic)
 
- 	} else {
 
- 		b = b[:cap(b)]
 
- 		n, err := m.MarshalToSizedBuffer(b)
 
- 		if err != nil {
 
- 			return nil, err
 
- 		}
 
- 		return b[:n], nil
 
- 	}
 
- }
 
- func (m *CountsSet) XXX_Merge(src proto.Message) {
 
- 	xxx_messageInfo_CountsSet.Merge(m, src)
 
- }
 
- func (m *CountsSet) XXX_Size() int {
 
- 	return m.ProtoSize()
 
- }
 
- func (m *CountsSet) XXX_DiscardUnknown() {
 
- 	xxx_messageInfo_CountsSet.DiscardUnknown(m)
 
- }
 
- var xxx_messageInfo_CountsSet proto.InternalMessageInfo
 
- type FileVersionDeprecated struct {
 
- 	Version protocol.Vector `protobuf:"bytes,1,opt,name=version,proto3" json:"version"`
 
- 	Device  []byte          `protobuf:"bytes,2,opt,name=device,proto3" json:"device,omitempty"`
 
- 	Invalid bool            `protobuf:"varint,3,opt,name=invalid,proto3" json:"invalid,omitempty"`
 
- 	Deleted bool            `protobuf:"varint,4,opt,name=deleted,proto3" json:"deleted,omitempty"`
 
- }
 
- func (m *FileVersionDeprecated) Reset()         { *m = FileVersionDeprecated{} }
 
- func (m *FileVersionDeprecated) String() string { return proto.CompactTextString(m) }
 
- func (*FileVersionDeprecated) ProtoMessage()    {}
 
- func (*FileVersionDeprecated) Descriptor() ([]byte, []int) {
 
- 	return fileDescriptor_e774e8f5f348d14d, []int{7}
 
- }
 
- func (m *FileVersionDeprecated) XXX_Unmarshal(b []byte) error {
 
- 	return m.Unmarshal(b)
 
- }
 
- func (m *FileVersionDeprecated) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
 
- 	if deterministic {
 
- 		return xxx_messageInfo_FileVersionDeprecated.Marshal(b, m, deterministic)
 
- 	} else {
 
- 		b = b[:cap(b)]
 
- 		n, err := m.MarshalToSizedBuffer(b)
 
- 		if err != nil {
 
- 			return nil, err
 
- 		}
 
- 		return b[:n], nil
 
- 	}
 
- }
 
- func (m *FileVersionDeprecated) XXX_Merge(src proto.Message) {
 
- 	xxx_messageInfo_FileVersionDeprecated.Merge(m, src)
 
- }
 
- func (m *FileVersionDeprecated) XXX_Size() int {
 
- 	return m.ProtoSize()
 
- }
 
- func (m *FileVersionDeprecated) XXX_DiscardUnknown() {
 
- 	xxx_messageInfo_FileVersionDeprecated.DiscardUnknown(m)
 
- }
 
- var xxx_messageInfo_FileVersionDeprecated proto.InternalMessageInfo
 
- type VersionListDeprecated struct {
 
- 	Versions []FileVersionDeprecated `protobuf:"bytes,1,rep,name=versions,proto3" json:"versions"`
 
- }
 
- func (m *VersionListDeprecated) Reset()      { *m = VersionListDeprecated{} }
 
- func (*VersionListDeprecated) ProtoMessage() {}
 
- func (*VersionListDeprecated) Descriptor() ([]byte, []int) {
 
- 	return fileDescriptor_e774e8f5f348d14d, []int{8}
 
- }
 
- func (m *VersionListDeprecated) XXX_Unmarshal(b []byte) error {
 
- 	return m.Unmarshal(b)
 
- }
 
- func (m *VersionListDeprecated) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
 
- 	if deterministic {
 
- 		return xxx_messageInfo_VersionListDeprecated.Marshal(b, m, deterministic)
 
- 	} else {
 
- 		b = b[:cap(b)]
 
- 		n, err := m.MarshalToSizedBuffer(b)
 
- 		if err != nil {
 
- 			return nil, err
 
- 		}
 
- 		return b[:n], nil
 
- 	}
 
- }
 
- func (m *VersionListDeprecated) XXX_Merge(src proto.Message) {
 
- 	xxx_messageInfo_VersionListDeprecated.Merge(m, src)
 
- }
 
- func (m *VersionListDeprecated) XXX_Size() int {
 
- 	return m.ProtoSize()
 
- }
 
- func (m *VersionListDeprecated) XXX_DiscardUnknown() {
 
- 	xxx_messageInfo_VersionListDeprecated.DiscardUnknown(m)
 
- }
 
- var xxx_messageInfo_VersionListDeprecated proto.InternalMessageInfo
 
- func init() {
 
- 	proto.RegisterType((*FileVersion)(nil), "db.FileVersion")
 
- 	proto.RegisterType((*VersionList)(nil), "db.VersionList")
 
- 	proto.RegisterType((*FileInfoTruncated)(nil), "db.FileInfoTruncated")
 
- 	proto.RegisterType((*BlockList)(nil), "db.BlockList")
 
- 	proto.RegisterType((*IndirectionHashesOnly)(nil), "db.IndirectionHashesOnly")
 
- 	proto.RegisterType((*Counts)(nil), "db.Counts")
 
- 	proto.RegisterType((*CountsSet)(nil), "db.CountsSet")
 
- 	proto.RegisterType((*FileVersionDeprecated)(nil), "db.FileVersionDeprecated")
 
- 	proto.RegisterType((*VersionListDeprecated)(nil), "db.VersionListDeprecated")
 
- }
 
- func init() { proto.RegisterFile("structs.proto", fileDescriptor_e774e8f5f348d14d) }
 
- var fileDescriptor_e774e8f5f348d14d = []byte{
 
- 	// 861 bytes of a gzipped FileDescriptorProto
 
- 	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x54, 0x4f, 0x8f, 0xdb, 0x54,
 
- 	0x10, 0x8f, 0x9b, 0xff, 0xe3, 0x64, 0xdb, 0xbe, 0x76, 0x57, 0x66, 0x25, 0x1c, 0xcb, 0x08, 0x61,
 
- 	0x71, 0x48, 0x60, 0x7b, 0xa3, 0x12, 0x42, 0x61, 0x55, 0x11, 0x09, 0x51, 0xf4, 0xb6, 0xf4, 0x80,
 
- 	0x2a, 0x45, 0xb6, 0xf3, 0x92, 0x3c, 0xd5, 0xf1, 0x0b, 0x7e, 0xce, 0xae, 0xdc, 0x4f, 0xc1, 0x05,
 
- 	0x89, 0x03, 0x87, 0x5e, 0xf8, 0x2e, 0x7b, 0xec, 0x11, 0x71, 0x88, 0x20, 0xcb, 0x01, 0xbe, 0x05,
 
- 	0x7a, 0xf3, 0x6c, 0xc7, 0x1b, 0x0e, 0xb4, 0xb7, 0x99, 0xdf, 0xcc, 0xf3, 0xcc, 0xfc, 0xe6, 0xe7,
 
- 	0x81, 0xbe, 0x4c, 0x93, 0x4d, 0x98, 0xca, 0xe1, 0x3a, 0x11, 0xa9, 0x20, 0x77, 0x66, 0xc1, 0xe9,
 
- 	0x07, 0x09, 0x5b, 0x0b, 0x39, 0x42, 0x20, 0xd8, 0xcc, 0x47, 0x0b, 0xb1, 0x10, 0xe8, 0xa0, 0xa5,
 
- 	0x13, 0x4f, 0x4f, 0x22, 0x1e, 0xe8, 0x94, 0x50, 0x44, 0xa3, 0x80, 0xad, 0x35, 0xee, 0xfe, 0x62,
 
- 	0x80, 0xf9, 0x84, 0x47, 0xec, 0x39, 0x4b, 0x24, 0x17, 0x31, 0xf9, 0x04, 0xda, 0x97, 0xda, 0xb4,
 
- 	0x0c, 0xc7, 0xf0, 0xcc, 0xb3, 0x7b, 0xc3, 0xe2, 0xd5, 0xf0, 0x39, 0x0b, 0x53, 0x91, 0x8c, 0x1b,
 
- 	0xd7, 0xdb, 0x41, 0x8d, 0x16, 0x69, 0xc4, 0x82, 0xf6, 0x8c, 0x45, 0x2c, 0x65, 0x33, 0xeb, 0x8e,
 
- 	0x63, 0x78, 0x1d, 0x5a, 0xb8, 0x3a, 0x72, 0xc9, 0x43, 0x26, 0xad, 0xba, 0x53, 0xf7, 0x7a, 0xb4,
 
- 	0x70, 0xc9, 0x47, 0x70, 0x97, 0xc7, 0x97, 0x7e, 0xc4, 0x67, 0xd3, 0x22, 0xa3, 0x81, 0x19, 0x47,
 
- 	0x39, 0x7c, 0xae, 0x51, 0xf7, 0x3b, 0x30, 0xf3, 0xce, 0xbe, 0xe6, 0x32, 0x25, 0x5f, 0x40, 0x27,
 
- 	0x2f, 0x2b, 0x2d, 0xc3, 0xa9, 0x7b, 0xe6, 0xd9, 0xdd, 0xe1, 0x2c, 0x18, 0x56, 0x06, 0x18, 0x3f,
 
- 	0x50, 0xdd, 0xed, 0xb6, 0x03, 0x93, 0xfa, 0x57, 0x39, 0x26, 0x69, 0xf9, 0xea, 0xb3, 0xc6, 0xcf,
 
- 	0xaf, 0x07, 0x35, 0xf7, 0xd7, 0x26, 0xdc, 0x57, 0x8f, 0x26, 0xf1, 0x5c, 0x3c, 0x4b, 0x36, 0x71,
 
- 	0xe8, 0xab, 0x7e, 0x09, 0x34, 0x62, 0x7f, 0xc5, 0x70, 0xf0, 0x2e, 0x45, 0x5b, 0x61, 0x92, 0xbf,
 
- 	0x62, 0x56, 0xdd, 0x31, 0xbc, 0x3a, 0x45, 0x9b, 0xbc, 0x0f, 0xb0, 0x12, 0x33, 0x3e, 0xe7, 0x6c,
 
- 	0x36, 0x95, 0x56, 0x13, 0x23, 0xdd, 0x02, 0xb9, 0x20, 0x2f, 0xc0, 0x2c, 0xc3, 0x41, 0x66, 0xf5,
 
- 	0x1c, 0xc3, 0x6b, 0x8c, 0x1f, 0xab, 0xb6, 0x7e, 0xdf, 0x0e, 0x1e, 0x2d, 0x78, 0xba, 0xdc, 0x04,
 
- 	0xc3, 0x50, 0xac, 0x46, 0x32, 0x8b, 0xc3, 0x74, 0xc9, 0xe3, 0x45, 0xc5, 0xaa, 0xae, 0x69, 0x78,
 
- 	0xb1, 0x14, 0x49, 0x3a, 0x39, 0xa7, 0x65, 0xb9, 0x71, 0x56, 0x5d, 0x50, 0xf7, 0xed, 0x16, 0x74,
 
- 	0x0a, 0x1d, 0xc9, 0x7e, 0xd8, 0xb0, 0x38, 0x64, 0x16, 0x60, 0xb3, 0xa5, 0x4f, 0x3e, 0x84, 0x23,
 
- 	0x99, 0xad, 0x22, 0x1e, 0xbf, 0x9c, 0xa6, 0x7e, 0xb2, 0x60, 0xa9, 0x75, 0x1f, 0x87, 0xef, 0xe7,
 
- 	0xe8, 0x33, 0x04, 0xc9, 0x00, 0xcc, 0x20, 0x12, 0xe1, 0x4b, 0x39, 0x5d, 0xfa, 0x72, 0x69, 0x11,
 
- 	0xc7, 0xf0, 0x7a, 0x14, 0x34, 0xf4, 0x95, 0x2f, 0x97, 0xe4, 0x63, 0x68, 0xa4, 0xd9, 0x9a, 0xa1,
 
- 	0x02, 0x8e, 0xce, 0x4e, 0xf6, 0x2d, 0x95, 0x2c, 0x67, 0x6b, 0x46, 0x31, 0x87, 0x38, 0x60, 0xae,
 
- 	0x59, 0xb2, 0xe2, 0x52, 0xef, 0xb1, 0xe1, 0x18, 0x5e, 0x9f, 0x56, 0x21, 0x55, 0xae, 0x64, 0x30,
 
- 	0x96, 0x96, 0xe9, 0x18, 0x5e, 0x73, 0x4f, 0xc2, 0x37, 0x92, 0x8c, 0x40, 0x17, 0x9f, 0xe2, 0x6e,
 
- 	0xfa, 0x2a, 0x3e, 0xbe, 0xb7, 0xdb, 0x0e, 0x7a, 0xd4, 0xbf, 0x1a, 0xab, 0xc0, 0x05, 0x7f, 0xc5,
 
- 	0x68, 0x37, 0x28, 0x4c, 0x55, 0x33, 0x12, 0xa1, 0x1f, 0x4d, 0xe7, 0x91, 0xbf, 0x90, 0xd6, 0xdf,
 
- 	0x6d, 0x2c, 0x0a, 0x88, 0x3d, 0x51, 0x10, 0x71, 0xa1, 0x97, 0x13, 0xa6, 0x67, 0xfc, 0xa7, 0x8d,
 
- 	0x43, 0x9a, 0x39, 0x88, 0x53, 0x56, 0xa4, 0xde, 0xba, 0x2d, 0x75, 0x0f, 0xda, 0xb9, 0x72, 0x2d,
 
- 	0xf5, 0xae, 0x33, 0x3e, 0xda, 0x6d, 0x07, 0x40, 0xfd, 0xab, 0x89, 0x46, 0x69, 0x11, 0x56, 0x8c,
 
- 	0xc7, 0x62, 0x5a, 0x25, 0xa0, 0x83, 0x9f, 0xea, 0xc7, 0xe2, 0xdb, 0x3d, 0x98, 0xeb, 0xf4, 0x73,
 
- 	0xe8, 0xe2, 0x38, 0x28, 0xfe, 0x4f, 0xa1, 0x85, 0x4e, 0x21, 0xfd, 0x07, 0x7b, 0x96, 0x11, 0x57,
 
- 	0x34, 0xe7, 0xbb, 0xcf, 0x13, 0xdd, 0x17, 0x70, 0x3c, 0x89, 0x67, 0x3c, 0x61, 0x61, 0x9a, 0xcf,
 
- 	0xc0, 0xe4, 0xd3, 0x38, 0xca, 0xfe, 0x7f, 0xa1, 0x6f, 0x41, 0x87, 0xfb, 0x97, 0x01, 0xad, 0x2f,
 
- 	0xc5, 0x26, 0x4e, 0x25, 0x79, 0x08, 0xcd, 0x39, 0x8f, 0x98, 0xc4, 0x7f, 0xa7, 0x49, 0xb5, 0xa3,
 
- 	0x58, 0xd7, 0xc5, 0x45, 0xc2, 0x99, 0x44, 0x71, 0x34, 0x69, 0x15, 0x42, 0x6d, 0x6a, 0xa5, 0x49,
 
- 	0xfc, 0xc5, 0x9a, 0xb4, 0xf4, 0xab, 0x6c, 0x37, 0x30, 0x54, 0xb2, 0xfd, 0x10, 0x9a, 0x41, 0x96,
 
- 	0xb2, 0xe2, 0xdf, 0xd3, 0xce, 0x2d, 0x9d, 0xb7, 0x0e, 0x74, 0x7e, 0x0a, 0x1d, 0x7d, 0x68, 0x26,
 
- 	0xe7, 0xa8, 0xf0, 0x1e, 0x2d, 0x7d, 0x62, 0x43, 0x45, 0x07, 0x48, 0xc5, 0x2d, 0x65, 0xb8, 0x4f,
 
- 	0xa1, 0xab, 0xa7, 0xbc, 0x60, 0x29, 0xf1, 0xa0, 0x15, 0xa2, 0x93, 0x2f, 0x01, 0xd4, 0xfd, 0xd1,
 
- 	0xe1, 0x82, 0x7b, 0x1d, 0x57, 0xed, 0x87, 0x09, 0xf3, 0x8b, 0xbb, 0x58, 0xa7, 0x85, 0xeb, 0xfe,
 
- 	0x64, 0xc0, 0x71, 0xe5, 0x64, 0x9d, 0xb3, 0x75, 0xc2, 0xf4, 0x05, 0x7a, 0xf7, 0xeb, 0x7b, 0x02,
 
- 	0x2d, 0x3d, 0x08, 0x16, 0xe9, 0xd1, 0xdc, 0x53, 0xd5, 0x0b, 0x41, 0xd6, 0xb5, 0x54, 0x0b, 0x01,
 
- 	0x1e, 0xd0, 0xba, 0x17, 0xb1, 0xfb, 0x3d, 0x1c, 0x57, 0x8e, 0x6d, 0xa5, 0xad, 0xc7, 0xff, 0x39,
 
- 	0xbb, 0xef, 0x1d, 0x9c, 0xdd, 0x7d, 0x72, 0xde, 0xe0, 0xc1, 0xc5, 0x1d, 0x3b, 0xd7, 0x7f, 0xda,
 
- 	0xb5, 0xeb, 0x9d, 0x6d, 0xbc, 0xd9, 0xd9, 0xc6, 0x1f, 0x3b, 0xbb, 0xf6, 0xe3, 0x8d, 0x5d, 0x7b,
 
- 	0x7d, 0x63, 0x1b, 0x6f, 0x6e, 0xec, 0xda, 0x6f, 0x37, 0x76, 0x2d, 0x68, 0xe1, 0xa4, 0x8f, 0xfe,
 
- 	0x0d, 0x00, 0x00, 0xff, 0xff, 0xb9, 0xe1, 0xbd, 0x08, 0xe2, 0x06, 0x00, 0x00,
 
- }
 
- func (m *FileVersion) Marshal() (dAtA []byte, err error) {
 
- 	size := m.ProtoSize()
 
- 	dAtA = make([]byte, size)
 
- 	n, err := m.MarshalToSizedBuffer(dAtA[:size])
 
- 	if err != nil {
 
- 		return nil, err
 
- 	}
 
- 	return dAtA[:n], nil
 
- }
 
- func (m *FileVersion) MarshalTo(dAtA []byte) (int, error) {
 
- 	size := m.ProtoSize()
 
- 	return m.MarshalToSizedBuffer(dAtA[:size])
 
- }
 
- func (m *FileVersion) MarshalToSizedBuffer(dAtA []byte) (int, error) {
 
- 	i := len(dAtA)
 
- 	_ = i
 
- 	var l int
 
- 	_ = l
 
- 	if len(m.InvalidDevices) > 0 {
 
- 		for iNdEx := len(m.InvalidDevices) - 1; iNdEx >= 0; iNdEx-- {
 
- 			i -= len(m.InvalidDevices[iNdEx])
 
- 			copy(dAtA[i:], m.InvalidDevices[iNdEx])
 
- 			i = encodeVarintStructs(dAtA, i, uint64(len(m.InvalidDevices[iNdEx])))
 
- 			i--
 
- 			dAtA[i] = 0x22
 
- 		}
 
- 	}
 
- 	if len(m.Devices) > 0 {
 
- 		for iNdEx := len(m.Devices) - 1; iNdEx >= 0; iNdEx-- {
 
- 			i -= len(m.Devices[iNdEx])
 
- 			copy(dAtA[i:], m.Devices[iNdEx])
 
- 			i = encodeVarintStructs(dAtA, i, uint64(len(m.Devices[iNdEx])))
 
- 			i--
 
- 			dAtA[i] = 0x1a
 
- 		}
 
- 	}
 
- 	if m.Deleted {
 
- 		i--
 
- 		if m.Deleted {
 
- 			dAtA[i] = 1
 
- 		} else {
 
- 			dAtA[i] = 0
 
- 		}
 
- 		i--
 
- 		dAtA[i] = 0x10
 
- 	}
 
- 	{
 
- 		size, err := m.Version.MarshalToSizedBuffer(dAtA[:i])
 
- 		if err != nil {
 
- 			return 0, err
 
- 		}
 
- 		i -= size
 
- 		i = encodeVarintStructs(dAtA, i, uint64(size))
 
- 	}
 
- 	i--
 
- 	dAtA[i] = 0xa
 
- 	return len(dAtA) - i, nil
 
- }
 
- func (m *VersionList) Marshal() (dAtA []byte, err error) {
 
- 	size := m.ProtoSize()
 
- 	dAtA = make([]byte, size)
 
- 	n, err := m.MarshalToSizedBuffer(dAtA[:size])
 
- 	if err != nil {
 
- 		return nil, err
 
- 	}
 
- 	return dAtA[:n], nil
 
- }
 
- func (m *VersionList) MarshalTo(dAtA []byte) (int, error) {
 
- 	size := m.ProtoSize()
 
- 	return m.MarshalToSizedBuffer(dAtA[:size])
 
- }
 
- func (m *VersionList) MarshalToSizedBuffer(dAtA []byte) (int, error) {
 
- 	i := len(dAtA)
 
- 	_ = i
 
- 	var l int
 
- 	_ = l
 
- 	if len(m.RawVersions) > 0 {
 
- 		for iNdEx := len(m.RawVersions) - 1; iNdEx >= 0; iNdEx-- {
 
- 			{
 
- 				size, err := m.RawVersions[iNdEx].MarshalToSizedBuffer(dAtA[:i])
 
- 				if err != nil {
 
- 					return 0, err
 
- 				}
 
- 				i -= size
 
- 				i = encodeVarintStructs(dAtA, i, uint64(size))
 
- 			}
 
- 			i--
 
- 			dAtA[i] = 0xa
 
- 		}
 
- 	}
 
- 	return len(dAtA) - i, nil
 
- }
 
- func (m *FileInfoTruncated) Marshal() (dAtA []byte, err error) {
 
- 	size := m.ProtoSize()
 
- 	dAtA = make([]byte, size)
 
- 	n, err := m.MarshalToSizedBuffer(dAtA[:size])
 
- 	if err != nil {
 
- 		return nil, err
 
- 	}
 
- 	return dAtA[:n], nil
 
- }
 
- func (m *FileInfoTruncated) MarshalTo(dAtA []byte) (int, error) {
 
- 	size := m.ProtoSize()
 
- 	return m.MarshalToSizedBuffer(dAtA[:size])
 
- }
 
- func (m *FileInfoTruncated) MarshalToSizedBuffer(dAtA []byte) (int, error) {
 
- 	i := len(dAtA)
 
- 	_ = i
 
- 	var l int
 
- 	_ = l
 
- 	if len(m.VersionHash) > 0 {
 
- 		i -= len(m.VersionHash)
 
- 		copy(dAtA[i:], m.VersionHash)
 
- 		i = encodeVarintStructs(dAtA, i, uint64(len(m.VersionHash)))
 
- 		i--
 
- 		dAtA[i] = 0x3e
 
- 		i--
 
- 		dAtA[i] = 0xca
 
- 	}
 
- 	if m.LocalFlags != 0 {
 
- 		i = encodeVarintStructs(dAtA, i, uint64(m.LocalFlags))
 
- 		i--
 
- 		dAtA[i] = 0x3e
 
- 		i--
 
- 		dAtA[i] = 0xc0
 
- 	}
 
- 	if len(m.BlocksHash) > 0 {
 
- 		i -= len(m.BlocksHash)
 
- 		copy(dAtA[i:], m.BlocksHash)
 
- 		i = encodeVarintStructs(dAtA, i, uint64(len(m.BlocksHash)))
 
- 		i--
 
- 		dAtA[i] = 0x1
 
- 		i--
 
- 		dAtA[i] = 0x92
 
- 	}
 
- 	if len(m.SymlinkTarget) > 0 {
 
- 		i -= len(m.SymlinkTarget)
 
- 		copy(dAtA[i:], m.SymlinkTarget)
 
- 		i = encodeVarintStructs(dAtA, i, uint64(len(m.SymlinkTarget)))
 
- 		i--
 
- 		dAtA[i] = 0x1
 
- 		i--
 
- 		dAtA[i] = 0x8a
 
- 	}
 
- 	if m.RawBlockSize != 0 {
 
- 		i = encodeVarintStructs(dAtA, i, uint64(m.RawBlockSize))
 
- 		i--
 
- 		dAtA[i] = 0x68
 
- 	}
 
- 	if m.ModifiedBy != 0 {
 
- 		i = encodeVarintStructs(dAtA, i, uint64(m.ModifiedBy))
 
- 		i--
 
- 		dAtA[i] = 0x60
 
- 	}
 
- 	if m.ModifiedNs != 0 {
 
- 		i = encodeVarintStructs(dAtA, i, uint64(m.ModifiedNs))
 
- 		i--
 
- 		dAtA[i] = 0x58
 
- 	}
 
- 	if m.Sequence != 0 {
 
- 		i = encodeVarintStructs(dAtA, i, uint64(m.Sequence))
 
- 		i--
 
- 		dAtA[i] = 0x50
 
- 	}
 
- 	{
 
- 		size, err := m.Version.MarshalToSizedBuffer(dAtA[:i])
 
- 		if err != nil {
 
- 			return 0, err
 
- 		}
 
- 		i -= size
 
- 		i = encodeVarintStructs(dAtA, i, uint64(size))
 
- 	}
 
- 	i--
 
- 	dAtA[i] = 0x4a
 
- 	if m.NoPermissions {
 
- 		i--
 
- 		if m.NoPermissions {
 
- 			dAtA[i] = 1
 
- 		} else {
 
- 			dAtA[i] = 0
 
- 		}
 
- 		i--
 
- 		dAtA[i] = 0x40
 
- 	}
 
- 	if m.RawInvalid {
 
- 		i--
 
- 		if m.RawInvalid {
 
- 			dAtA[i] = 1
 
- 		} else {
 
- 			dAtA[i] = 0
 
- 		}
 
- 		i--
 
- 		dAtA[i] = 0x38
 
- 	}
 
- 	if m.Deleted {
 
- 		i--
 
- 		if m.Deleted {
 
- 			dAtA[i] = 1
 
- 		} else {
 
- 			dAtA[i] = 0
 
- 		}
 
- 		i--
 
- 		dAtA[i] = 0x30
 
- 	}
 
- 	if m.ModifiedS != 0 {
 
- 		i = encodeVarintStructs(dAtA, i, uint64(m.ModifiedS))
 
- 		i--
 
- 		dAtA[i] = 0x28
 
- 	}
 
- 	if m.Permissions != 0 {
 
- 		i = encodeVarintStructs(dAtA, i, uint64(m.Permissions))
 
- 		i--
 
- 		dAtA[i] = 0x20
 
- 	}
 
- 	if m.Size != 0 {
 
- 		i = encodeVarintStructs(dAtA, i, uint64(m.Size))
 
- 		i--
 
- 		dAtA[i] = 0x18
 
- 	}
 
- 	if m.Type != 0 {
 
- 		i = encodeVarintStructs(dAtA, i, uint64(m.Type))
 
- 		i--
 
- 		dAtA[i] = 0x10
 
- 	}
 
- 	if len(m.Name) > 0 {
 
- 		i -= len(m.Name)
 
- 		copy(dAtA[i:], m.Name)
 
- 		i = encodeVarintStructs(dAtA, i, uint64(len(m.Name)))
 
- 		i--
 
- 		dAtA[i] = 0xa
 
- 	}
 
- 	return len(dAtA) - i, nil
 
- }
 
- func (m *BlockList) Marshal() (dAtA []byte, err error) {
 
- 	size := m.ProtoSize()
 
- 	dAtA = make([]byte, size)
 
- 	n, err := m.MarshalToSizedBuffer(dAtA[:size])
 
- 	if err != nil {
 
- 		return nil, err
 
- 	}
 
- 	return dAtA[:n], nil
 
- }
 
- func (m *BlockList) MarshalTo(dAtA []byte) (int, error) {
 
- 	size := m.ProtoSize()
 
- 	return m.MarshalToSizedBuffer(dAtA[:size])
 
- }
 
- func (m *BlockList) MarshalToSizedBuffer(dAtA []byte) (int, error) {
 
- 	i := len(dAtA)
 
- 	_ = i
 
- 	var l int
 
- 	_ = l
 
- 	if len(m.Blocks) > 0 {
 
- 		for iNdEx := len(m.Blocks) - 1; iNdEx >= 0; iNdEx-- {
 
- 			{
 
- 				size, err := m.Blocks[iNdEx].MarshalToSizedBuffer(dAtA[:i])
 
- 				if err != nil {
 
- 					return 0, err
 
- 				}
 
- 				i -= size
 
- 				i = encodeVarintStructs(dAtA, i, uint64(size))
 
- 			}
 
- 			i--
 
- 			dAtA[i] = 0xa
 
- 		}
 
- 	}
 
- 	return len(dAtA) - i, nil
 
- }
 
- func (m *IndirectionHashesOnly) Marshal() (dAtA []byte, err error) {
 
- 	size := m.ProtoSize()
 
- 	dAtA = make([]byte, size)
 
- 	n, err := m.MarshalToSizedBuffer(dAtA[:size])
 
- 	if err != nil {
 
- 		return nil, err
 
- 	}
 
- 	return dAtA[:n], nil
 
- }
 
- func (m *IndirectionHashesOnly) MarshalTo(dAtA []byte) (int, error) {
 
- 	size := m.ProtoSize()
 
- 	return m.MarshalToSizedBuffer(dAtA[:size])
 
- }
 
- func (m *IndirectionHashesOnly) MarshalToSizedBuffer(dAtA []byte) (int, error) {
 
- 	i := len(dAtA)
 
- 	_ = i
 
- 	var l int
 
- 	_ = l
 
- 	if len(m.VersionHash) > 0 {
 
- 		i -= len(m.VersionHash)
 
- 		copy(dAtA[i:], m.VersionHash)
 
- 		i = encodeVarintStructs(dAtA, i, uint64(len(m.VersionHash)))
 
- 		i--
 
- 		dAtA[i] = 0x3e
 
- 		i--
 
- 		dAtA[i] = 0xca
 
- 	}
 
- 	if len(m.BlocksHash) > 0 {
 
- 		i -= len(m.BlocksHash)
 
- 		copy(dAtA[i:], m.BlocksHash)
 
- 		i = encodeVarintStructs(dAtA, i, uint64(len(m.BlocksHash)))
 
- 		i--
 
- 		dAtA[i] = 0x1
 
- 		i--
 
- 		dAtA[i] = 0x92
 
- 	}
 
- 	return len(dAtA) - i, nil
 
- }
 
- func (m *Counts) Marshal() (dAtA []byte, err error) {
 
- 	size := m.ProtoSize()
 
- 	dAtA = make([]byte, size)
 
- 	n, err := m.MarshalToSizedBuffer(dAtA[:size])
 
- 	if err != nil {
 
- 		return nil, err
 
- 	}
 
- 	return dAtA[:n], nil
 
- }
 
- func (m *Counts) MarshalTo(dAtA []byte) (int, error) {
 
- 	size := m.ProtoSize()
 
- 	return m.MarshalToSizedBuffer(dAtA[:size])
 
- }
 
- func (m *Counts) MarshalToSizedBuffer(dAtA []byte) (int, error) {
 
- 	i := len(dAtA)
 
- 	_ = i
 
- 	var l int
 
- 	_ = l
 
- 	if m.LocalFlags != 0 {
 
- 		i = encodeVarintStructs(dAtA, i, uint64(m.LocalFlags))
 
- 		i--
 
- 		dAtA[i] = 0x1
 
- 		i--
 
- 		dAtA[i] = 0x90
 
- 	}
 
- 	if len(m.DeviceID) > 0 {
 
- 		i -= len(m.DeviceID)
 
- 		copy(dAtA[i:], m.DeviceID)
 
- 		i = encodeVarintStructs(dAtA, i, uint64(len(m.DeviceID)))
 
- 		i--
 
- 		dAtA[i] = 0x1
 
- 		i--
 
- 		dAtA[i] = 0x8a
 
- 	}
 
- 	if m.Sequence != 0 {
 
- 		i = encodeVarintStructs(dAtA, i, uint64(m.Sequence))
 
- 		i--
 
- 		dAtA[i] = 0x30
 
- 	}
 
- 	if m.Bytes != 0 {
 
- 		i = encodeVarintStructs(dAtA, i, uint64(m.Bytes))
 
- 		i--
 
- 		dAtA[i] = 0x28
 
- 	}
 
- 	if m.Deleted != 0 {
 
- 		i = encodeVarintStructs(dAtA, i, uint64(m.Deleted))
 
- 		i--
 
- 		dAtA[i] = 0x20
 
- 	}
 
- 	if m.Symlinks != 0 {
 
- 		i = encodeVarintStructs(dAtA, i, uint64(m.Symlinks))
 
- 		i--
 
- 		dAtA[i] = 0x18
 
- 	}
 
- 	if m.Directories != 0 {
 
- 		i = encodeVarintStructs(dAtA, i, uint64(m.Directories))
 
- 		i--
 
- 		dAtA[i] = 0x10
 
- 	}
 
- 	if m.Files != 0 {
 
- 		i = encodeVarintStructs(dAtA, i, uint64(m.Files))
 
- 		i--
 
- 		dAtA[i] = 0x8
 
- 	}
 
- 	return len(dAtA) - i, nil
 
- }
 
- func (m *CountsSet) Marshal() (dAtA []byte, err error) {
 
- 	size := m.ProtoSize()
 
- 	dAtA = make([]byte, size)
 
- 	n, err := m.MarshalToSizedBuffer(dAtA[:size])
 
- 	if err != nil {
 
- 		return nil, err
 
- 	}
 
- 	return dAtA[:n], nil
 
- }
 
- func (m *CountsSet) MarshalTo(dAtA []byte) (int, error) {
 
- 	size := m.ProtoSize()
 
- 	return m.MarshalToSizedBuffer(dAtA[:size])
 
- }
 
- func (m *CountsSet) MarshalToSizedBuffer(dAtA []byte) (int, error) {
 
- 	i := len(dAtA)
 
- 	_ = i
 
- 	var l int
 
- 	_ = l
 
- 	if m.Created != 0 {
 
- 		i = encodeVarintStructs(dAtA, i, uint64(m.Created))
 
- 		i--
 
- 		dAtA[i] = 0x10
 
- 	}
 
- 	if len(m.Counts) > 0 {
 
- 		for iNdEx := len(m.Counts) - 1; iNdEx >= 0; iNdEx-- {
 
- 			{
 
- 				size, err := m.Counts[iNdEx].MarshalToSizedBuffer(dAtA[:i])
 
- 				if err != nil {
 
- 					return 0, err
 
- 				}
 
- 				i -= size
 
- 				i = encodeVarintStructs(dAtA, i, uint64(size))
 
- 			}
 
- 			i--
 
- 			dAtA[i] = 0xa
 
- 		}
 
- 	}
 
- 	return len(dAtA) - i, nil
 
- }
 
- func (m *FileVersionDeprecated) Marshal() (dAtA []byte, err error) {
 
- 	size := m.ProtoSize()
 
- 	dAtA = make([]byte, size)
 
- 	n, err := m.MarshalToSizedBuffer(dAtA[:size])
 
- 	if err != nil {
 
- 		return nil, err
 
- 	}
 
- 	return dAtA[:n], nil
 
- }
 
- func (m *FileVersionDeprecated) MarshalTo(dAtA []byte) (int, error) {
 
- 	size := m.ProtoSize()
 
- 	return m.MarshalToSizedBuffer(dAtA[:size])
 
- }
 
- func (m *FileVersionDeprecated) MarshalToSizedBuffer(dAtA []byte) (int, error) {
 
- 	i := len(dAtA)
 
- 	_ = i
 
- 	var l int
 
- 	_ = l
 
- 	if m.Deleted {
 
- 		i--
 
- 		if m.Deleted {
 
- 			dAtA[i] = 1
 
- 		} else {
 
- 			dAtA[i] = 0
 
- 		}
 
- 		i--
 
- 		dAtA[i] = 0x20
 
- 	}
 
- 	if m.Invalid {
 
- 		i--
 
- 		if m.Invalid {
 
- 			dAtA[i] = 1
 
- 		} else {
 
- 			dAtA[i] = 0
 
- 		}
 
- 		i--
 
- 		dAtA[i] = 0x18
 
- 	}
 
- 	if len(m.Device) > 0 {
 
- 		i -= len(m.Device)
 
- 		copy(dAtA[i:], m.Device)
 
- 		i = encodeVarintStructs(dAtA, i, uint64(len(m.Device)))
 
- 		i--
 
- 		dAtA[i] = 0x12
 
- 	}
 
- 	{
 
- 		size, err := m.Version.MarshalToSizedBuffer(dAtA[:i])
 
- 		if err != nil {
 
- 			return 0, err
 
- 		}
 
- 		i -= size
 
- 		i = encodeVarintStructs(dAtA, i, uint64(size))
 
- 	}
 
- 	i--
 
- 	dAtA[i] = 0xa
 
- 	return len(dAtA) - i, nil
 
- }
 
- func (m *VersionListDeprecated) Marshal() (dAtA []byte, err error) {
 
- 	size := m.ProtoSize()
 
- 	dAtA = make([]byte, size)
 
- 	n, err := m.MarshalToSizedBuffer(dAtA[:size])
 
- 	if err != nil {
 
- 		return nil, err
 
- 	}
 
- 	return dAtA[:n], nil
 
- }
 
- func (m *VersionListDeprecated) MarshalTo(dAtA []byte) (int, error) {
 
- 	size := m.ProtoSize()
 
- 	return m.MarshalToSizedBuffer(dAtA[:size])
 
- }
 
- func (m *VersionListDeprecated) MarshalToSizedBuffer(dAtA []byte) (int, error) {
 
- 	i := len(dAtA)
 
- 	_ = i
 
- 	var l int
 
- 	_ = l
 
- 	if len(m.Versions) > 0 {
 
- 		for iNdEx := len(m.Versions) - 1; iNdEx >= 0; iNdEx-- {
 
- 			{
 
- 				size, err := m.Versions[iNdEx].MarshalToSizedBuffer(dAtA[:i])
 
- 				if err != nil {
 
- 					return 0, err
 
- 				}
 
- 				i -= size
 
- 				i = encodeVarintStructs(dAtA, i, uint64(size))
 
- 			}
 
- 			i--
 
- 			dAtA[i] = 0xa
 
- 		}
 
- 	}
 
- 	return len(dAtA) - i, nil
 
- }
 
- func encodeVarintStructs(dAtA []byte, offset int, v uint64) int {
 
- 	offset -= sovStructs(v)
 
- 	base := offset
 
- 	for v >= 1<<7 {
 
- 		dAtA[offset] = uint8(v&0x7f | 0x80)
 
- 		v >>= 7
 
- 		offset++
 
- 	}
 
- 	dAtA[offset] = uint8(v)
 
- 	return base
 
- }
 
- func (m *FileVersion) ProtoSize() (n int) {
 
- 	if m == nil {
 
- 		return 0
 
- 	}
 
- 	var l int
 
- 	_ = l
 
- 	l = m.Version.ProtoSize()
 
- 	n += 1 + l + sovStructs(uint64(l))
 
- 	if m.Deleted {
 
- 		n += 2
 
- 	}
 
- 	if len(m.Devices) > 0 {
 
- 		for _, b := range m.Devices {
 
- 			l = len(b)
 
- 			n += 1 + l + sovStructs(uint64(l))
 
- 		}
 
- 	}
 
- 	if len(m.InvalidDevices) > 0 {
 
- 		for _, b := range m.InvalidDevices {
 
- 			l = len(b)
 
- 			n += 1 + l + sovStructs(uint64(l))
 
- 		}
 
- 	}
 
- 	return n
 
- }
 
- func (m *VersionList) ProtoSize() (n int) {
 
- 	if m == nil {
 
- 		return 0
 
- 	}
 
- 	var l int
 
- 	_ = l
 
- 	if len(m.RawVersions) > 0 {
 
- 		for _, e := range m.RawVersions {
 
- 			l = e.ProtoSize()
 
- 			n += 1 + l + sovStructs(uint64(l))
 
- 		}
 
- 	}
 
- 	return n
 
- }
 
- func (m *FileInfoTruncated) ProtoSize() (n int) {
 
- 	if m == nil {
 
- 		return 0
 
- 	}
 
- 	var l int
 
- 	_ = l
 
- 	l = len(m.Name)
 
- 	if l > 0 {
 
- 		n += 1 + l + sovStructs(uint64(l))
 
- 	}
 
- 	if m.Type != 0 {
 
- 		n += 1 + sovStructs(uint64(m.Type))
 
- 	}
 
- 	if m.Size != 0 {
 
- 		n += 1 + sovStructs(uint64(m.Size))
 
- 	}
 
- 	if m.Permissions != 0 {
 
- 		n += 1 + sovStructs(uint64(m.Permissions))
 
- 	}
 
- 	if m.ModifiedS != 0 {
 
- 		n += 1 + sovStructs(uint64(m.ModifiedS))
 
- 	}
 
- 	if m.Deleted {
 
- 		n += 2
 
- 	}
 
- 	if m.RawInvalid {
 
- 		n += 2
 
- 	}
 
- 	if m.NoPermissions {
 
- 		n += 2
 
- 	}
 
- 	l = m.Version.ProtoSize()
 
- 	n += 1 + l + sovStructs(uint64(l))
 
- 	if m.Sequence != 0 {
 
- 		n += 1 + sovStructs(uint64(m.Sequence))
 
- 	}
 
- 	if m.ModifiedNs != 0 {
 
- 		n += 1 + sovStructs(uint64(m.ModifiedNs))
 
- 	}
 
- 	if m.ModifiedBy != 0 {
 
- 		n += 1 + sovStructs(uint64(m.ModifiedBy))
 
- 	}
 
- 	if m.RawBlockSize != 0 {
 
- 		n += 1 + sovStructs(uint64(m.RawBlockSize))
 
- 	}
 
- 	l = len(m.SymlinkTarget)
 
- 	if l > 0 {
 
- 		n += 2 + l + sovStructs(uint64(l))
 
- 	}
 
- 	l = len(m.BlocksHash)
 
- 	if l > 0 {
 
- 		n += 2 + l + sovStructs(uint64(l))
 
- 	}
 
- 	if m.LocalFlags != 0 {
 
- 		n += 2 + sovStructs(uint64(m.LocalFlags))
 
- 	}
 
- 	l = len(m.VersionHash)
 
- 	if l > 0 {
 
- 		n += 2 + l + sovStructs(uint64(l))
 
- 	}
 
- 	return n
 
- }
 
- func (m *BlockList) ProtoSize() (n int) {
 
- 	if m == nil {
 
- 		return 0
 
- 	}
 
- 	var l int
 
- 	_ = l
 
- 	if len(m.Blocks) > 0 {
 
- 		for _, e := range m.Blocks {
 
- 			l = e.ProtoSize()
 
- 			n += 1 + l + sovStructs(uint64(l))
 
- 		}
 
- 	}
 
- 	return n
 
- }
 
- func (m *IndirectionHashesOnly) ProtoSize() (n int) {
 
- 	if m == nil {
 
- 		return 0
 
- 	}
 
- 	var l int
 
- 	_ = l
 
- 	l = len(m.BlocksHash)
 
- 	if l > 0 {
 
- 		n += 2 + l + sovStructs(uint64(l))
 
- 	}
 
- 	l = len(m.VersionHash)
 
- 	if l > 0 {
 
- 		n += 2 + l + sovStructs(uint64(l))
 
- 	}
 
- 	return n
 
- }
 
- func (m *Counts) ProtoSize() (n int) {
 
- 	if m == nil {
 
- 		return 0
 
- 	}
 
- 	var l int
 
- 	_ = l
 
- 	if m.Files != 0 {
 
- 		n += 1 + sovStructs(uint64(m.Files))
 
- 	}
 
- 	if m.Directories != 0 {
 
- 		n += 1 + sovStructs(uint64(m.Directories))
 
- 	}
 
- 	if m.Symlinks != 0 {
 
- 		n += 1 + sovStructs(uint64(m.Symlinks))
 
- 	}
 
- 	if m.Deleted != 0 {
 
- 		n += 1 + sovStructs(uint64(m.Deleted))
 
- 	}
 
- 	if m.Bytes != 0 {
 
- 		n += 1 + sovStructs(uint64(m.Bytes))
 
- 	}
 
- 	if m.Sequence != 0 {
 
- 		n += 1 + sovStructs(uint64(m.Sequence))
 
- 	}
 
- 	l = len(m.DeviceID)
 
- 	if l > 0 {
 
- 		n += 2 + l + sovStructs(uint64(l))
 
- 	}
 
- 	if m.LocalFlags != 0 {
 
- 		n += 2 + sovStructs(uint64(m.LocalFlags))
 
- 	}
 
- 	return n
 
- }
 
- func (m *CountsSet) ProtoSize() (n int) {
 
- 	if m == nil {
 
- 		return 0
 
- 	}
 
- 	var l int
 
- 	_ = l
 
- 	if len(m.Counts) > 0 {
 
- 		for _, e := range m.Counts {
 
- 			l = e.ProtoSize()
 
- 			n += 1 + l + sovStructs(uint64(l))
 
- 		}
 
- 	}
 
- 	if m.Created != 0 {
 
- 		n += 1 + sovStructs(uint64(m.Created))
 
- 	}
 
- 	return n
 
- }
 
- func (m *FileVersionDeprecated) ProtoSize() (n int) {
 
- 	if m == nil {
 
- 		return 0
 
- 	}
 
- 	var l int
 
- 	_ = l
 
- 	l = m.Version.ProtoSize()
 
- 	n += 1 + l + sovStructs(uint64(l))
 
- 	l = len(m.Device)
 
- 	if l > 0 {
 
- 		n += 1 + l + sovStructs(uint64(l))
 
- 	}
 
- 	if m.Invalid {
 
- 		n += 2
 
- 	}
 
- 	if m.Deleted {
 
- 		n += 2
 
- 	}
 
- 	return n
 
- }
 
- func (m *VersionListDeprecated) ProtoSize() (n int) {
 
- 	if m == nil {
 
- 		return 0
 
- 	}
 
- 	var l int
 
- 	_ = l
 
- 	if len(m.Versions) > 0 {
 
- 		for _, e := range m.Versions {
 
- 			l = e.ProtoSize()
 
- 			n += 1 + l + sovStructs(uint64(l))
 
- 		}
 
- 	}
 
- 	return n
 
- }
 
- func sovStructs(x uint64) (n int) {
 
- 	return (math_bits.Len64(x|1) + 6) / 7
 
- }
 
- func sozStructs(x uint64) (n int) {
 
- 	return sovStructs(uint64((x << 1) ^ uint64((int64(x) >> 63))))
 
- }
 
- func (m *FileVersion) Unmarshal(dAtA []byte) error {
 
- 	l := len(dAtA)
 
- 	iNdEx := 0
 
- 	for iNdEx < l {
 
- 		preIndex := iNdEx
 
- 		var wire uint64
 
- 		for shift := uint(0); ; shift += 7 {
 
- 			if shift >= 64 {
 
- 				return ErrIntOverflowStructs
 
- 			}
 
- 			if iNdEx >= l {
 
- 				return io.ErrUnexpectedEOF
 
- 			}
 
- 			b := dAtA[iNdEx]
 
- 			iNdEx++
 
- 			wire |= uint64(b&0x7F) << shift
 
- 			if b < 0x80 {
 
- 				break
 
- 			}
 
- 		}
 
- 		fieldNum := int32(wire >> 3)
 
- 		wireType := int(wire & 0x7)
 
- 		if wireType == 4 {
 
- 			return fmt.Errorf("proto: FileVersion: wiretype end group for non-group")
 
- 		}
 
- 		if fieldNum <= 0 {
 
- 			return fmt.Errorf("proto: FileVersion: illegal tag %d (wire type %d)", fieldNum, wire)
 
- 		}
 
- 		switch fieldNum {
 
- 		case 1:
 
- 			if wireType != 2 {
 
- 				return fmt.Errorf("proto: wrong wireType = %d for field Version", wireType)
 
- 			}
 
- 			var msglen int
 
- 			for shift := uint(0); ; shift += 7 {
 
- 				if shift >= 64 {
 
- 					return ErrIntOverflowStructs
 
- 				}
 
- 				if iNdEx >= l {
 
- 					return io.ErrUnexpectedEOF
 
- 				}
 
- 				b := dAtA[iNdEx]
 
- 				iNdEx++
 
- 				msglen |= int(b&0x7F) << shift
 
- 				if b < 0x80 {
 
- 					break
 
- 				}
 
- 			}
 
- 			if msglen < 0 {
 
- 				return ErrInvalidLengthStructs
 
- 			}
 
- 			postIndex := iNdEx + msglen
 
- 			if postIndex < 0 {
 
- 				return ErrInvalidLengthStructs
 
- 			}
 
- 			if postIndex > l {
 
- 				return io.ErrUnexpectedEOF
 
- 			}
 
- 			if err := m.Version.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
 
- 				return err
 
- 			}
 
- 			iNdEx = postIndex
 
- 		case 2:
 
- 			if wireType != 0 {
 
- 				return fmt.Errorf("proto: wrong wireType = %d for field Deleted", wireType)
 
- 			}
 
- 			var v int
 
- 			for shift := uint(0); ; shift += 7 {
 
- 				if shift >= 64 {
 
- 					return ErrIntOverflowStructs
 
- 				}
 
- 				if iNdEx >= l {
 
- 					return io.ErrUnexpectedEOF
 
- 				}
 
- 				b := dAtA[iNdEx]
 
- 				iNdEx++
 
- 				v |= int(b&0x7F) << shift
 
- 				if b < 0x80 {
 
- 					break
 
- 				}
 
- 			}
 
- 			m.Deleted = bool(v != 0)
 
- 		case 3:
 
- 			if wireType != 2 {
 
- 				return fmt.Errorf("proto: wrong wireType = %d for field Devices", wireType)
 
- 			}
 
- 			var byteLen int
 
- 			for shift := uint(0); ; shift += 7 {
 
- 				if shift >= 64 {
 
- 					return ErrIntOverflowStructs
 
- 				}
 
- 				if iNdEx >= l {
 
- 					return io.ErrUnexpectedEOF
 
- 				}
 
- 				b := dAtA[iNdEx]
 
- 				iNdEx++
 
- 				byteLen |= int(b&0x7F) << shift
 
- 				if b < 0x80 {
 
- 					break
 
- 				}
 
- 			}
 
- 			if byteLen < 0 {
 
- 				return ErrInvalidLengthStructs
 
- 			}
 
- 			postIndex := iNdEx + byteLen
 
- 			if postIndex < 0 {
 
- 				return ErrInvalidLengthStructs
 
- 			}
 
- 			if postIndex > l {
 
- 				return io.ErrUnexpectedEOF
 
- 			}
 
- 			m.Devices = append(m.Devices, make([]byte, postIndex-iNdEx))
 
- 			copy(m.Devices[len(m.Devices)-1], dAtA[iNdEx:postIndex])
 
- 			iNdEx = postIndex
 
- 		case 4:
 
- 			if wireType != 2 {
 
- 				return fmt.Errorf("proto: wrong wireType = %d for field InvalidDevices", wireType)
 
- 			}
 
- 			var byteLen int
 
- 			for shift := uint(0); ; shift += 7 {
 
- 				if shift >= 64 {
 
- 					return ErrIntOverflowStructs
 
- 				}
 
- 				if iNdEx >= l {
 
- 					return io.ErrUnexpectedEOF
 
- 				}
 
- 				b := dAtA[iNdEx]
 
- 				iNdEx++
 
- 				byteLen |= int(b&0x7F) << shift
 
- 				if b < 0x80 {
 
- 					break
 
- 				}
 
- 			}
 
- 			if byteLen < 0 {
 
- 				return ErrInvalidLengthStructs
 
- 			}
 
- 			postIndex := iNdEx + byteLen
 
- 			if postIndex < 0 {
 
- 				return ErrInvalidLengthStructs
 
- 			}
 
- 			if postIndex > l {
 
- 				return io.ErrUnexpectedEOF
 
- 			}
 
- 			m.InvalidDevices = append(m.InvalidDevices, make([]byte, postIndex-iNdEx))
 
- 			copy(m.InvalidDevices[len(m.InvalidDevices)-1], dAtA[iNdEx:postIndex])
 
- 			iNdEx = postIndex
 
- 		default:
 
- 			iNdEx = preIndex
 
- 			skippy, err := skipStructs(dAtA[iNdEx:])
 
- 			if err != nil {
 
- 				return err
 
- 			}
 
- 			if skippy < 0 {
 
- 				return ErrInvalidLengthStructs
 
- 			}
 
- 			if (iNdEx + skippy) < 0 {
 
- 				return ErrInvalidLengthStructs
 
- 			}
 
- 			if (iNdEx + skippy) > l {
 
- 				return io.ErrUnexpectedEOF
 
- 			}
 
- 			iNdEx += skippy
 
- 		}
 
- 	}
 
- 	if iNdEx > l {
 
- 		return io.ErrUnexpectedEOF
 
- 	}
 
- 	return nil
 
- }
 
- func (m *VersionList) Unmarshal(dAtA []byte) error {
 
- 	l := len(dAtA)
 
- 	iNdEx := 0
 
- 	for iNdEx < l {
 
- 		preIndex := iNdEx
 
- 		var wire uint64
 
- 		for shift := uint(0); ; shift += 7 {
 
- 			if shift >= 64 {
 
- 				return ErrIntOverflowStructs
 
- 			}
 
- 			if iNdEx >= l {
 
- 				return io.ErrUnexpectedEOF
 
- 			}
 
- 			b := dAtA[iNdEx]
 
- 			iNdEx++
 
- 			wire |= uint64(b&0x7F) << shift
 
- 			if b < 0x80 {
 
- 				break
 
- 			}
 
- 		}
 
- 		fieldNum := int32(wire >> 3)
 
- 		wireType := int(wire & 0x7)
 
- 		if wireType == 4 {
 
- 			return fmt.Errorf("proto: VersionList: wiretype end group for non-group")
 
- 		}
 
- 		if fieldNum <= 0 {
 
- 			return fmt.Errorf("proto: VersionList: illegal tag %d (wire type %d)", fieldNum, wire)
 
- 		}
 
- 		switch fieldNum {
 
- 		case 1:
 
- 			if wireType != 2 {
 
- 				return fmt.Errorf("proto: wrong wireType = %d for field RawVersions", wireType)
 
- 			}
 
- 			var msglen int
 
- 			for shift := uint(0); ; shift += 7 {
 
- 				if shift >= 64 {
 
- 					return ErrIntOverflowStructs
 
- 				}
 
- 				if iNdEx >= l {
 
- 					return io.ErrUnexpectedEOF
 
- 				}
 
- 				b := dAtA[iNdEx]
 
- 				iNdEx++
 
- 				msglen |= int(b&0x7F) << shift
 
- 				if b < 0x80 {
 
- 					break
 
- 				}
 
- 			}
 
- 			if msglen < 0 {
 
- 				return ErrInvalidLengthStructs
 
- 			}
 
- 			postIndex := iNdEx + msglen
 
- 			if postIndex < 0 {
 
- 				return ErrInvalidLengthStructs
 
- 			}
 
- 			if postIndex > l {
 
- 				return io.ErrUnexpectedEOF
 
- 			}
 
- 			m.RawVersions = append(m.RawVersions, FileVersion{})
 
- 			if err := m.RawVersions[len(m.RawVersions)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
 
- 				return err
 
- 			}
 
- 			iNdEx = postIndex
 
- 		default:
 
- 			iNdEx = preIndex
 
- 			skippy, err := skipStructs(dAtA[iNdEx:])
 
- 			if err != nil {
 
- 				return err
 
- 			}
 
- 			if skippy < 0 {
 
- 				return ErrInvalidLengthStructs
 
- 			}
 
- 			if (iNdEx + skippy) < 0 {
 
- 				return ErrInvalidLengthStructs
 
- 			}
 
- 			if (iNdEx + skippy) > l {
 
- 				return io.ErrUnexpectedEOF
 
- 			}
 
- 			iNdEx += skippy
 
- 		}
 
- 	}
 
- 	if iNdEx > l {
 
- 		return io.ErrUnexpectedEOF
 
- 	}
 
- 	return nil
 
- }
 
- func (m *FileInfoTruncated) Unmarshal(dAtA []byte) error {
 
- 	l := len(dAtA)
 
- 	iNdEx := 0
 
- 	for iNdEx < l {
 
- 		preIndex := iNdEx
 
- 		var wire uint64
 
- 		for shift := uint(0); ; shift += 7 {
 
- 			if shift >= 64 {
 
- 				return ErrIntOverflowStructs
 
- 			}
 
- 			if iNdEx >= l {
 
- 				return io.ErrUnexpectedEOF
 
- 			}
 
- 			b := dAtA[iNdEx]
 
- 			iNdEx++
 
- 			wire |= uint64(b&0x7F) << shift
 
- 			if b < 0x80 {
 
- 				break
 
- 			}
 
- 		}
 
- 		fieldNum := int32(wire >> 3)
 
- 		wireType := int(wire & 0x7)
 
- 		if wireType == 4 {
 
- 			return fmt.Errorf("proto: FileInfoTruncated: wiretype end group for non-group")
 
- 		}
 
- 		if fieldNum <= 0 {
 
- 			return fmt.Errorf("proto: FileInfoTruncated: illegal tag %d (wire type %d)", fieldNum, wire)
 
- 		}
 
- 		switch fieldNum {
 
- 		case 1:
 
- 			if wireType != 2 {
 
- 				return fmt.Errorf("proto: wrong wireType = %d for field Name", wireType)
 
- 			}
 
- 			var stringLen uint64
 
- 			for shift := uint(0); ; shift += 7 {
 
- 				if shift >= 64 {
 
- 					return ErrIntOverflowStructs
 
- 				}
 
- 				if iNdEx >= l {
 
- 					return io.ErrUnexpectedEOF
 
- 				}
 
- 				b := dAtA[iNdEx]
 
- 				iNdEx++
 
- 				stringLen |= uint64(b&0x7F) << shift
 
- 				if b < 0x80 {
 
- 					break
 
- 				}
 
- 			}
 
- 			intStringLen := int(stringLen)
 
- 			if intStringLen < 0 {
 
- 				return ErrInvalidLengthStructs
 
- 			}
 
- 			postIndex := iNdEx + intStringLen
 
- 			if postIndex < 0 {
 
- 				return ErrInvalidLengthStructs
 
- 			}
 
- 			if postIndex > l {
 
- 				return io.ErrUnexpectedEOF
 
- 			}
 
- 			m.Name = string(dAtA[iNdEx:postIndex])
 
- 			iNdEx = postIndex
 
- 		case 2:
 
- 			if wireType != 0 {
 
- 				return fmt.Errorf("proto: wrong wireType = %d for field Type", wireType)
 
- 			}
 
- 			m.Type = 0
 
- 			for shift := uint(0); ; shift += 7 {
 
- 				if shift >= 64 {
 
- 					return ErrIntOverflowStructs
 
- 				}
 
- 				if iNdEx >= l {
 
- 					return io.ErrUnexpectedEOF
 
- 				}
 
- 				b := dAtA[iNdEx]
 
- 				iNdEx++
 
- 				m.Type |= protocol.FileInfoType(b&0x7F) << shift
 
- 				if b < 0x80 {
 
- 					break
 
- 				}
 
- 			}
 
- 		case 3:
 
- 			if wireType != 0 {
 
- 				return fmt.Errorf("proto: wrong wireType = %d for field Size", wireType)
 
- 			}
 
- 			m.Size = 0
 
- 			for shift := uint(0); ; shift += 7 {
 
- 				if shift >= 64 {
 
- 					return ErrIntOverflowStructs
 
- 				}
 
- 				if iNdEx >= l {
 
- 					return io.ErrUnexpectedEOF
 
- 				}
 
- 				b := dAtA[iNdEx]
 
- 				iNdEx++
 
- 				m.Size |= int64(b&0x7F) << shift
 
- 				if b < 0x80 {
 
- 					break
 
- 				}
 
- 			}
 
- 		case 4:
 
- 			if wireType != 0 {
 
- 				return fmt.Errorf("proto: wrong wireType = %d for field Permissions", wireType)
 
- 			}
 
- 			m.Permissions = 0
 
- 			for shift := uint(0); ; shift += 7 {
 
- 				if shift >= 64 {
 
- 					return ErrIntOverflowStructs
 
- 				}
 
- 				if iNdEx >= l {
 
- 					return io.ErrUnexpectedEOF
 
- 				}
 
- 				b := dAtA[iNdEx]
 
- 				iNdEx++
 
- 				m.Permissions |= uint32(b&0x7F) << shift
 
- 				if b < 0x80 {
 
- 					break
 
- 				}
 
- 			}
 
- 		case 5:
 
- 			if wireType != 0 {
 
- 				return fmt.Errorf("proto: wrong wireType = %d for field ModifiedS", wireType)
 
- 			}
 
- 			m.ModifiedS = 0
 
- 			for shift := uint(0); ; shift += 7 {
 
- 				if shift >= 64 {
 
- 					return ErrIntOverflowStructs
 
- 				}
 
- 				if iNdEx >= l {
 
- 					return io.ErrUnexpectedEOF
 
- 				}
 
- 				b := dAtA[iNdEx]
 
- 				iNdEx++
 
- 				m.ModifiedS |= int64(b&0x7F) << shift
 
- 				if b < 0x80 {
 
- 					break
 
- 				}
 
- 			}
 
- 		case 6:
 
- 			if wireType != 0 {
 
- 				return fmt.Errorf("proto: wrong wireType = %d for field Deleted", wireType)
 
- 			}
 
- 			var v int
 
- 			for shift := uint(0); ; shift += 7 {
 
- 				if shift >= 64 {
 
- 					return ErrIntOverflowStructs
 
- 				}
 
- 				if iNdEx >= l {
 
- 					return io.ErrUnexpectedEOF
 
- 				}
 
- 				b := dAtA[iNdEx]
 
- 				iNdEx++
 
- 				v |= int(b&0x7F) << shift
 
- 				if b < 0x80 {
 
- 					break
 
- 				}
 
- 			}
 
- 			m.Deleted = bool(v != 0)
 
- 		case 7:
 
- 			if wireType != 0 {
 
- 				return fmt.Errorf("proto: wrong wireType = %d for field RawInvalid", wireType)
 
- 			}
 
- 			var v int
 
- 			for shift := uint(0); ; shift += 7 {
 
- 				if shift >= 64 {
 
- 					return ErrIntOverflowStructs
 
- 				}
 
- 				if iNdEx >= l {
 
- 					return io.ErrUnexpectedEOF
 
- 				}
 
- 				b := dAtA[iNdEx]
 
- 				iNdEx++
 
- 				v |= int(b&0x7F) << shift
 
- 				if b < 0x80 {
 
- 					break
 
- 				}
 
- 			}
 
- 			m.RawInvalid = bool(v != 0)
 
- 		case 8:
 
- 			if wireType != 0 {
 
- 				return fmt.Errorf("proto: wrong wireType = %d for field NoPermissions", wireType)
 
- 			}
 
- 			var v int
 
- 			for shift := uint(0); ; shift += 7 {
 
- 				if shift >= 64 {
 
- 					return ErrIntOverflowStructs
 
- 				}
 
- 				if iNdEx >= l {
 
- 					return io.ErrUnexpectedEOF
 
- 				}
 
- 				b := dAtA[iNdEx]
 
- 				iNdEx++
 
- 				v |= int(b&0x7F) << shift
 
- 				if b < 0x80 {
 
- 					break
 
- 				}
 
- 			}
 
- 			m.NoPermissions = bool(v != 0)
 
- 		case 9:
 
- 			if wireType != 2 {
 
- 				return fmt.Errorf("proto: wrong wireType = %d for field Version", wireType)
 
- 			}
 
- 			var msglen int
 
- 			for shift := uint(0); ; shift += 7 {
 
- 				if shift >= 64 {
 
- 					return ErrIntOverflowStructs
 
- 				}
 
- 				if iNdEx >= l {
 
- 					return io.ErrUnexpectedEOF
 
- 				}
 
- 				b := dAtA[iNdEx]
 
- 				iNdEx++
 
- 				msglen |= int(b&0x7F) << shift
 
- 				if b < 0x80 {
 
- 					break
 
- 				}
 
- 			}
 
- 			if msglen < 0 {
 
- 				return ErrInvalidLengthStructs
 
- 			}
 
- 			postIndex := iNdEx + msglen
 
- 			if postIndex < 0 {
 
- 				return ErrInvalidLengthStructs
 
- 			}
 
- 			if postIndex > l {
 
- 				return io.ErrUnexpectedEOF
 
- 			}
 
- 			if err := m.Version.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
 
- 				return err
 
- 			}
 
- 			iNdEx = postIndex
 
- 		case 10:
 
- 			if wireType != 0 {
 
- 				return fmt.Errorf("proto: wrong wireType = %d for field Sequence", wireType)
 
- 			}
 
- 			m.Sequence = 0
 
- 			for shift := uint(0); ; shift += 7 {
 
- 				if shift >= 64 {
 
- 					return ErrIntOverflowStructs
 
- 				}
 
- 				if iNdEx >= l {
 
- 					return io.ErrUnexpectedEOF
 
- 				}
 
- 				b := dAtA[iNdEx]
 
- 				iNdEx++
 
- 				m.Sequence |= int64(b&0x7F) << shift
 
- 				if b < 0x80 {
 
- 					break
 
- 				}
 
- 			}
 
- 		case 11:
 
- 			if wireType != 0 {
 
- 				return fmt.Errorf("proto: wrong wireType = %d for field ModifiedNs", wireType)
 
- 			}
 
- 			m.ModifiedNs = 0
 
- 			for shift := uint(0); ; shift += 7 {
 
- 				if shift >= 64 {
 
- 					return ErrIntOverflowStructs
 
- 				}
 
- 				if iNdEx >= l {
 
- 					return io.ErrUnexpectedEOF
 
- 				}
 
- 				b := dAtA[iNdEx]
 
- 				iNdEx++
 
- 				m.ModifiedNs |= int32(b&0x7F) << shift
 
- 				if b < 0x80 {
 
- 					break
 
- 				}
 
- 			}
 
- 		case 12:
 
- 			if wireType != 0 {
 
- 				return fmt.Errorf("proto: wrong wireType = %d for field ModifiedBy", wireType)
 
- 			}
 
- 			m.ModifiedBy = 0
 
- 			for shift := uint(0); ; shift += 7 {
 
- 				if shift >= 64 {
 
- 					return ErrIntOverflowStructs
 
- 				}
 
- 				if iNdEx >= l {
 
- 					return io.ErrUnexpectedEOF
 
- 				}
 
- 				b := dAtA[iNdEx]
 
- 				iNdEx++
 
- 				m.ModifiedBy |= github_com_syncthing_syncthing_lib_protocol.ShortID(b&0x7F) << shift
 
- 				if b < 0x80 {
 
- 					break
 
- 				}
 
- 			}
 
- 		case 13:
 
- 			if wireType != 0 {
 
- 				return fmt.Errorf("proto: wrong wireType = %d for field RawBlockSize", wireType)
 
- 			}
 
- 			m.RawBlockSize = 0
 
- 			for shift := uint(0); ; shift += 7 {
 
- 				if shift >= 64 {
 
- 					return ErrIntOverflowStructs
 
- 				}
 
- 				if iNdEx >= l {
 
- 					return io.ErrUnexpectedEOF
 
- 				}
 
- 				b := dAtA[iNdEx]
 
- 				iNdEx++
 
- 				m.RawBlockSize |= int32(b&0x7F) << shift
 
- 				if b < 0x80 {
 
- 					break
 
- 				}
 
- 			}
 
- 		case 17:
 
- 			if wireType != 2 {
 
- 				return fmt.Errorf("proto: wrong wireType = %d for field SymlinkTarget", wireType)
 
- 			}
 
- 			var stringLen uint64
 
- 			for shift := uint(0); ; shift += 7 {
 
- 				if shift >= 64 {
 
- 					return ErrIntOverflowStructs
 
- 				}
 
- 				if iNdEx >= l {
 
- 					return io.ErrUnexpectedEOF
 
- 				}
 
- 				b := dAtA[iNdEx]
 
- 				iNdEx++
 
- 				stringLen |= uint64(b&0x7F) << shift
 
- 				if b < 0x80 {
 
- 					break
 
- 				}
 
- 			}
 
- 			intStringLen := int(stringLen)
 
- 			if intStringLen < 0 {
 
- 				return ErrInvalidLengthStructs
 
- 			}
 
- 			postIndex := iNdEx + intStringLen
 
- 			if postIndex < 0 {
 
- 				return ErrInvalidLengthStructs
 
- 			}
 
- 			if postIndex > l {
 
- 				return io.ErrUnexpectedEOF
 
- 			}
 
- 			m.SymlinkTarget = string(dAtA[iNdEx:postIndex])
 
- 			iNdEx = postIndex
 
- 		case 18:
 
- 			if wireType != 2 {
 
- 				return fmt.Errorf("proto: wrong wireType = %d for field BlocksHash", wireType)
 
- 			}
 
- 			var byteLen int
 
- 			for shift := uint(0); ; shift += 7 {
 
- 				if shift >= 64 {
 
- 					return ErrIntOverflowStructs
 
- 				}
 
- 				if iNdEx >= l {
 
- 					return io.ErrUnexpectedEOF
 
- 				}
 
- 				b := dAtA[iNdEx]
 
- 				iNdEx++
 
- 				byteLen |= int(b&0x7F) << shift
 
- 				if b < 0x80 {
 
- 					break
 
- 				}
 
- 			}
 
- 			if byteLen < 0 {
 
- 				return ErrInvalidLengthStructs
 
- 			}
 
- 			postIndex := iNdEx + byteLen
 
- 			if postIndex < 0 {
 
- 				return ErrInvalidLengthStructs
 
- 			}
 
- 			if postIndex > l {
 
- 				return io.ErrUnexpectedEOF
 
- 			}
 
- 			m.BlocksHash = append(m.BlocksHash[:0], dAtA[iNdEx:postIndex]...)
 
- 			if m.BlocksHash == nil {
 
- 				m.BlocksHash = []byte{}
 
- 			}
 
- 			iNdEx = postIndex
 
- 		case 1000:
 
- 			if wireType != 0 {
 
- 				return fmt.Errorf("proto: wrong wireType = %d for field LocalFlags", wireType)
 
- 			}
 
- 			m.LocalFlags = 0
 
- 			for shift := uint(0); ; shift += 7 {
 
- 				if shift >= 64 {
 
- 					return ErrIntOverflowStructs
 
- 				}
 
- 				if iNdEx >= l {
 
- 					return io.ErrUnexpectedEOF
 
- 				}
 
- 				b := dAtA[iNdEx]
 
- 				iNdEx++
 
- 				m.LocalFlags |= uint32(b&0x7F) << shift
 
- 				if b < 0x80 {
 
- 					break
 
- 				}
 
- 			}
 
- 		case 1001:
 
- 			if wireType != 2 {
 
- 				return fmt.Errorf("proto: wrong wireType = %d for field VersionHash", wireType)
 
- 			}
 
- 			var byteLen int
 
- 			for shift := uint(0); ; shift += 7 {
 
- 				if shift >= 64 {
 
- 					return ErrIntOverflowStructs
 
- 				}
 
- 				if iNdEx >= l {
 
- 					return io.ErrUnexpectedEOF
 
- 				}
 
- 				b := dAtA[iNdEx]
 
- 				iNdEx++
 
- 				byteLen |= int(b&0x7F) << shift
 
- 				if b < 0x80 {
 
- 					break
 
- 				}
 
- 			}
 
- 			if byteLen < 0 {
 
- 				return ErrInvalidLengthStructs
 
- 			}
 
- 			postIndex := iNdEx + byteLen
 
- 			if postIndex < 0 {
 
- 				return ErrInvalidLengthStructs
 
- 			}
 
- 			if postIndex > l {
 
- 				return io.ErrUnexpectedEOF
 
- 			}
 
- 			m.VersionHash = append(m.VersionHash[:0], dAtA[iNdEx:postIndex]...)
 
- 			if m.VersionHash == nil {
 
- 				m.VersionHash = []byte{}
 
- 			}
 
- 			iNdEx = postIndex
 
- 		default:
 
- 			iNdEx = preIndex
 
- 			skippy, err := skipStructs(dAtA[iNdEx:])
 
- 			if err != nil {
 
- 				return err
 
- 			}
 
- 			if skippy < 0 {
 
- 				return ErrInvalidLengthStructs
 
- 			}
 
- 			if (iNdEx + skippy) < 0 {
 
- 				return ErrInvalidLengthStructs
 
- 			}
 
- 			if (iNdEx + skippy) > l {
 
- 				return io.ErrUnexpectedEOF
 
- 			}
 
- 			iNdEx += skippy
 
- 		}
 
- 	}
 
- 	if iNdEx > l {
 
- 		return io.ErrUnexpectedEOF
 
- 	}
 
- 	return nil
 
- }
 
- func (m *BlockList) Unmarshal(dAtA []byte) error {
 
- 	l := len(dAtA)
 
- 	iNdEx := 0
 
- 	for iNdEx < l {
 
- 		preIndex := iNdEx
 
- 		var wire uint64
 
- 		for shift := uint(0); ; shift += 7 {
 
- 			if shift >= 64 {
 
- 				return ErrIntOverflowStructs
 
- 			}
 
- 			if iNdEx >= l {
 
- 				return io.ErrUnexpectedEOF
 
- 			}
 
- 			b := dAtA[iNdEx]
 
- 			iNdEx++
 
- 			wire |= uint64(b&0x7F) << shift
 
- 			if b < 0x80 {
 
- 				break
 
- 			}
 
- 		}
 
- 		fieldNum := int32(wire >> 3)
 
- 		wireType := int(wire & 0x7)
 
- 		if wireType == 4 {
 
- 			return fmt.Errorf("proto: BlockList: wiretype end group for non-group")
 
- 		}
 
- 		if fieldNum <= 0 {
 
- 			return fmt.Errorf("proto: BlockList: illegal tag %d (wire type %d)", fieldNum, wire)
 
- 		}
 
- 		switch fieldNum {
 
- 		case 1:
 
- 			if wireType != 2 {
 
- 				return fmt.Errorf("proto: wrong wireType = %d for field Blocks", wireType)
 
- 			}
 
- 			var msglen int
 
- 			for shift := uint(0); ; shift += 7 {
 
- 				if shift >= 64 {
 
- 					return ErrIntOverflowStructs
 
- 				}
 
- 				if iNdEx >= l {
 
- 					return io.ErrUnexpectedEOF
 
- 				}
 
- 				b := dAtA[iNdEx]
 
- 				iNdEx++
 
- 				msglen |= int(b&0x7F) << shift
 
- 				if b < 0x80 {
 
- 					break
 
- 				}
 
- 			}
 
- 			if msglen < 0 {
 
- 				return ErrInvalidLengthStructs
 
- 			}
 
- 			postIndex := iNdEx + msglen
 
- 			if postIndex < 0 {
 
- 				return ErrInvalidLengthStructs
 
- 			}
 
- 			if postIndex > l {
 
- 				return io.ErrUnexpectedEOF
 
- 			}
 
- 			m.Blocks = append(m.Blocks, protocol.BlockInfo{})
 
- 			if err := m.Blocks[len(m.Blocks)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
 
- 				return err
 
- 			}
 
- 			iNdEx = postIndex
 
- 		default:
 
- 			iNdEx = preIndex
 
- 			skippy, err := skipStructs(dAtA[iNdEx:])
 
- 			if err != nil {
 
- 				return err
 
- 			}
 
- 			if skippy < 0 {
 
- 				return ErrInvalidLengthStructs
 
- 			}
 
- 			if (iNdEx + skippy) < 0 {
 
- 				return ErrInvalidLengthStructs
 
- 			}
 
- 			if (iNdEx + skippy) > l {
 
- 				return io.ErrUnexpectedEOF
 
- 			}
 
- 			iNdEx += skippy
 
- 		}
 
- 	}
 
- 	if iNdEx > l {
 
- 		return io.ErrUnexpectedEOF
 
- 	}
 
- 	return nil
 
- }
 
- func (m *IndirectionHashesOnly) Unmarshal(dAtA []byte) error {
 
- 	l := len(dAtA)
 
- 	iNdEx := 0
 
- 	for iNdEx < l {
 
- 		preIndex := iNdEx
 
- 		var wire uint64
 
- 		for shift := uint(0); ; shift += 7 {
 
- 			if shift >= 64 {
 
- 				return ErrIntOverflowStructs
 
- 			}
 
- 			if iNdEx >= l {
 
- 				return io.ErrUnexpectedEOF
 
- 			}
 
- 			b := dAtA[iNdEx]
 
- 			iNdEx++
 
- 			wire |= uint64(b&0x7F) << shift
 
- 			if b < 0x80 {
 
- 				break
 
- 			}
 
- 		}
 
- 		fieldNum := int32(wire >> 3)
 
- 		wireType := int(wire & 0x7)
 
- 		if wireType == 4 {
 
- 			return fmt.Errorf("proto: IndirectionHashesOnly: wiretype end group for non-group")
 
- 		}
 
- 		if fieldNum <= 0 {
 
- 			return fmt.Errorf("proto: IndirectionHashesOnly: illegal tag %d (wire type %d)", fieldNum, wire)
 
- 		}
 
- 		switch fieldNum {
 
- 		case 18:
 
- 			if wireType != 2 {
 
- 				return fmt.Errorf("proto: wrong wireType = %d for field BlocksHash", wireType)
 
- 			}
 
- 			var byteLen int
 
- 			for shift := uint(0); ; shift += 7 {
 
- 				if shift >= 64 {
 
- 					return ErrIntOverflowStructs
 
- 				}
 
- 				if iNdEx >= l {
 
- 					return io.ErrUnexpectedEOF
 
- 				}
 
- 				b := dAtA[iNdEx]
 
- 				iNdEx++
 
- 				byteLen |= int(b&0x7F) << shift
 
- 				if b < 0x80 {
 
- 					break
 
- 				}
 
- 			}
 
- 			if byteLen < 0 {
 
- 				return ErrInvalidLengthStructs
 
- 			}
 
- 			postIndex := iNdEx + byteLen
 
- 			if postIndex < 0 {
 
- 				return ErrInvalidLengthStructs
 
- 			}
 
- 			if postIndex > l {
 
- 				return io.ErrUnexpectedEOF
 
- 			}
 
- 			m.BlocksHash = append(m.BlocksHash[:0], dAtA[iNdEx:postIndex]...)
 
- 			if m.BlocksHash == nil {
 
- 				m.BlocksHash = []byte{}
 
- 			}
 
- 			iNdEx = postIndex
 
- 		case 1001:
 
- 			if wireType != 2 {
 
- 				return fmt.Errorf("proto: wrong wireType = %d for field VersionHash", wireType)
 
- 			}
 
- 			var byteLen int
 
- 			for shift := uint(0); ; shift += 7 {
 
- 				if shift >= 64 {
 
- 					return ErrIntOverflowStructs
 
- 				}
 
- 				if iNdEx >= l {
 
- 					return io.ErrUnexpectedEOF
 
- 				}
 
- 				b := dAtA[iNdEx]
 
- 				iNdEx++
 
- 				byteLen |= int(b&0x7F) << shift
 
- 				if b < 0x80 {
 
- 					break
 
- 				}
 
- 			}
 
- 			if byteLen < 0 {
 
- 				return ErrInvalidLengthStructs
 
- 			}
 
- 			postIndex := iNdEx + byteLen
 
- 			if postIndex < 0 {
 
- 				return ErrInvalidLengthStructs
 
- 			}
 
- 			if postIndex > l {
 
- 				return io.ErrUnexpectedEOF
 
- 			}
 
- 			m.VersionHash = append(m.VersionHash[:0], dAtA[iNdEx:postIndex]...)
 
- 			if m.VersionHash == nil {
 
- 				m.VersionHash = []byte{}
 
- 			}
 
- 			iNdEx = postIndex
 
- 		default:
 
- 			iNdEx = preIndex
 
- 			skippy, err := skipStructs(dAtA[iNdEx:])
 
- 			if err != nil {
 
- 				return err
 
- 			}
 
- 			if skippy < 0 {
 
- 				return ErrInvalidLengthStructs
 
- 			}
 
- 			if (iNdEx + skippy) < 0 {
 
- 				return ErrInvalidLengthStructs
 
- 			}
 
- 			if (iNdEx + skippy) > l {
 
- 				return io.ErrUnexpectedEOF
 
- 			}
 
- 			iNdEx += skippy
 
- 		}
 
- 	}
 
- 	if iNdEx > l {
 
- 		return io.ErrUnexpectedEOF
 
- 	}
 
- 	return nil
 
- }
 
- func (m *Counts) Unmarshal(dAtA []byte) error {
 
- 	l := len(dAtA)
 
- 	iNdEx := 0
 
- 	for iNdEx < l {
 
- 		preIndex := iNdEx
 
- 		var wire uint64
 
- 		for shift := uint(0); ; shift += 7 {
 
- 			if shift >= 64 {
 
- 				return ErrIntOverflowStructs
 
- 			}
 
- 			if iNdEx >= l {
 
- 				return io.ErrUnexpectedEOF
 
- 			}
 
- 			b := dAtA[iNdEx]
 
- 			iNdEx++
 
- 			wire |= uint64(b&0x7F) << shift
 
- 			if b < 0x80 {
 
- 				break
 
- 			}
 
- 		}
 
- 		fieldNum := int32(wire >> 3)
 
- 		wireType := int(wire & 0x7)
 
- 		if wireType == 4 {
 
- 			return fmt.Errorf("proto: Counts: wiretype end group for non-group")
 
- 		}
 
- 		if fieldNum <= 0 {
 
- 			return fmt.Errorf("proto: Counts: illegal tag %d (wire type %d)", fieldNum, wire)
 
- 		}
 
- 		switch fieldNum {
 
- 		case 1:
 
- 			if wireType != 0 {
 
- 				return fmt.Errorf("proto: wrong wireType = %d for field Files", wireType)
 
- 			}
 
- 			m.Files = 0
 
- 			for shift := uint(0); ; shift += 7 {
 
- 				if shift >= 64 {
 
- 					return ErrIntOverflowStructs
 
- 				}
 
- 				if iNdEx >= l {
 
- 					return io.ErrUnexpectedEOF
 
- 				}
 
- 				b := dAtA[iNdEx]
 
- 				iNdEx++
 
- 				m.Files |= int32(b&0x7F) << shift
 
- 				if b < 0x80 {
 
- 					break
 
- 				}
 
- 			}
 
- 		case 2:
 
- 			if wireType != 0 {
 
- 				return fmt.Errorf("proto: wrong wireType = %d for field Directories", wireType)
 
- 			}
 
- 			m.Directories = 0
 
- 			for shift := uint(0); ; shift += 7 {
 
- 				if shift >= 64 {
 
- 					return ErrIntOverflowStructs
 
- 				}
 
- 				if iNdEx >= l {
 
- 					return io.ErrUnexpectedEOF
 
- 				}
 
- 				b := dAtA[iNdEx]
 
- 				iNdEx++
 
- 				m.Directories |= int32(b&0x7F) << shift
 
- 				if b < 0x80 {
 
- 					break
 
- 				}
 
- 			}
 
- 		case 3:
 
- 			if wireType != 0 {
 
- 				return fmt.Errorf("proto: wrong wireType = %d for field Symlinks", wireType)
 
- 			}
 
- 			m.Symlinks = 0
 
- 			for shift := uint(0); ; shift += 7 {
 
- 				if shift >= 64 {
 
- 					return ErrIntOverflowStructs
 
- 				}
 
- 				if iNdEx >= l {
 
- 					return io.ErrUnexpectedEOF
 
- 				}
 
- 				b := dAtA[iNdEx]
 
- 				iNdEx++
 
- 				m.Symlinks |= int32(b&0x7F) << shift
 
- 				if b < 0x80 {
 
- 					break
 
- 				}
 
- 			}
 
- 		case 4:
 
- 			if wireType != 0 {
 
- 				return fmt.Errorf("proto: wrong wireType = %d for field Deleted", wireType)
 
- 			}
 
- 			m.Deleted = 0
 
- 			for shift := uint(0); ; shift += 7 {
 
- 				if shift >= 64 {
 
- 					return ErrIntOverflowStructs
 
- 				}
 
- 				if iNdEx >= l {
 
- 					return io.ErrUnexpectedEOF
 
- 				}
 
- 				b := dAtA[iNdEx]
 
- 				iNdEx++
 
- 				m.Deleted |= int32(b&0x7F) << shift
 
- 				if b < 0x80 {
 
- 					break
 
- 				}
 
- 			}
 
- 		case 5:
 
- 			if wireType != 0 {
 
- 				return fmt.Errorf("proto: wrong wireType = %d for field Bytes", wireType)
 
- 			}
 
- 			m.Bytes = 0
 
- 			for shift := uint(0); ; shift += 7 {
 
- 				if shift >= 64 {
 
- 					return ErrIntOverflowStructs
 
- 				}
 
- 				if iNdEx >= l {
 
- 					return io.ErrUnexpectedEOF
 
- 				}
 
- 				b := dAtA[iNdEx]
 
- 				iNdEx++
 
- 				m.Bytes |= int64(b&0x7F) << shift
 
- 				if b < 0x80 {
 
- 					break
 
- 				}
 
- 			}
 
- 		case 6:
 
- 			if wireType != 0 {
 
- 				return fmt.Errorf("proto: wrong wireType = %d for field Sequence", wireType)
 
- 			}
 
- 			m.Sequence = 0
 
- 			for shift := uint(0); ; shift += 7 {
 
- 				if shift >= 64 {
 
- 					return ErrIntOverflowStructs
 
- 				}
 
- 				if iNdEx >= l {
 
- 					return io.ErrUnexpectedEOF
 
- 				}
 
- 				b := dAtA[iNdEx]
 
- 				iNdEx++
 
- 				m.Sequence |= int64(b&0x7F) << shift
 
- 				if b < 0x80 {
 
- 					break
 
- 				}
 
- 			}
 
- 		case 17:
 
- 			if wireType != 2 {
 
- 				return fmt.Errorf("proto: wrong wireType = %d for field DeviceID", wireType)
 
- 			}
 
- 			var byteLen int
 
- 			for shift := uint(0); ; shift += 7 {
 
- 				if shift >= 64 {
 
- 					return ErrIntOverflowStructs
 
- 				}
 
- 				if iNdEx >= l {
 
- 					return io.ErrUnexpectedEOF
 
- 				}
 
- 				b := dAtA[iNdEx]
 
- 				iNdEx++
 
- 				byteLen |= int(b&0x7F) << shift
 
- 				if b < 0x80 {
 
- 					break
 
- 				}
 
- 			}
 
- 			if byteLen < 0 {
 
- 				return ErrInvalidLengthStructs
 
- 			}
 
- 			postIndex := iNdEx + byteLen
 
- 			if postIndex < 0 {
 
- 				return ErrInvalidLengthStructs
 
- 			}
 
- 			if postIndex > l {
 
- 				return io.ErrUnexpectedEOF
 
- 			}
 
- 			m.DeviceID = append(m.DeviceID[:0], dAtA[iNdEx:postIndex]...)
 
- 			if m.DeviceID == nil {
 
- 				m.DeviceID = []byte{}
 
- 			}
 
- 			iNdEx = postIndex
 
- 		case 18:
 
- 			if wireType != 0 {
 
- 				return fmt.Errorf("proto: wrong wireType = %d for field LocalFlags", wireType)
 
- 			}
 
- 			m.LocalFlags = 0
 
- 			for shift := uint(0); ; shift += 7 {
 
- 				if shift >= 64 {
 
- 					return ErrIntOverflowStructs
 
- 				}
 
- 				if iNdEx >= l {
 
- 					return io.ErrUnexpectedEOF
 
- 				}
 
- 				b := dAtA[iNdEx]
 
- 				iNdEx++
 
- 				m.LocalFlags |= uint32(b&0x7F) << shift
 
- 				if b < 0x80 {
 
- 					break
 
- 				}
 
- 			}
 
- 		default:
 
- 			iNdEx = preIndex
 
- 			skippy, err := skipStructs(dAtA[iNdEx:])
 
- 			if err != nil {
 
- 				return err
 
- 			}
 
- 			if skippy < 0 {
 
- 				return ErrInvalidLengthStructs
 
- 			}
 
- 			if (iNdEx + skippy) < 0 {
 
- 				return ErrInvalidLengthStructs
 
- 			}
 
- 			if (iNdEx + skippy) > l {
 
- 				return io.ErrUnexpectedEOF
 
- 			}
 
- 			iNdEx += skippy
 
- 		}
 
- 	}
 
- 	if iNdEx > l {
 
- 		return io.ErrUnexpectedEOF
 
- 	}
 
- 	return nil
 
- }
 
- func (m *CountsSet) Unmarshal(dAtA []byte) error {
 
- 	l := len(dAtA)
 
- 	iNdEx := 0
 
- 	for iNdEx < l {
 
- 		preIndex := iNdEx
 
- 		var wire uint64
 
- 		for shift := uint(0); ; shift += 7 {
 
- 			if shift >= 64 {
 
- 				return ErrIntOverflowStructs
 
- 			}
 
- 			if iNdEx >= l {
 
- 				return io.ErrUnexpectedEOF
 
- 			}
 
- 			b := dAtA[iNdEx]
 
- 			iNdEx++
 
- 			wire |= uint64(b&0x7F) << shift
 
- 			if b < 0x80 {
 
- 				break
 
- 			}
 
- 		}
 
- 		fieldNum := int32(wire >> 3)
 
- 		wireType := int(wire & 0x7)
 
- 		if wireType == 4 {
 
- 			return fmt.Errorf("proto: CountsSet: wiretype end group for non-group")
 
- 		}
 
- 		if fieldNum <= 0 {
 
- 			return fmt.Errorf("proto: CountsSet: illegal tag %d (wire type %d)", fieldNum, wire)
 
- 		}
 
- 		switch fieldNum {
 
- 		case 1:
 
- 			if wireType != 2 {
 
- 				return fmt.Errorf("proto: wrong wireType = %d for field Counts", wireType)
 
- 			}
 
- 			var msglen int
 
- 			for shift := uint(0); ; shift += 7 {
 
- 				if shift >= 64 {
 
- 					return ErrIntOverflowStructs
 
- 				}
 
- 				if iNdEx >= l {
 
- 					return io.ErrUnexpectedEOF
 
- 				}
 
- 				b := dAtA[iNdEx]
 
- 				iNdEx++
 
- 				msglen |= int(b&0x7F) << shift
 
- 				if b < 0x80 {
 
- 					break
 
- 				}
 
- 			}
 
- 			if msglen < 0 {
 
- 				return ErrInvalidLengthStructs
 
- 			}
 
- 			postIndex := iNdEx + msglen
 
- 			if postIndex < 0 {
 
- 				return ErrInvalidLengthStructs
 
- 			}
 
- 			if postIndex > l {
 
- 				return io.ErrUnexpectedEOF
 
- 			}
 
- 			m.Counts = append(m.Counts, Counts{})
 
- 			if err := m.Counts[len(m.Counts)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
 
- 				return err
 
- 			}
 
- 			iNdEx = postIndex
 
- 		case 2:
 
- 			if wireType != 0 {
 
- 				return fmt.Errorf("proto: wrong wireType = %d for field Created", wireType)
 
- 			}
 
- 			m.Created = 0
 
- 			for shift := uint(0); ; shift += 7 {
 
- 				if shift >= 64 {
 
- 					return ErrIntOverflowStructs
 
- 				}
 
- 				if iNdEx >= l {
 
- 					return io.ErrUnexpectedEOF
 
- 				}
 
- 				b := dAtA[iNdEx]
 
- 				iNdEx++
 
- 				m.Created |= int64(b&0x7F) << shift
 
- 				if b < 0x80 {
 
- 					break
 
- 				}
 
- 			}
 
- 		default:
 
- 			iNdEx = preIndex
 
- 			skippy, err := skipStructs(dAtA[iNdEx:])
 
- 			if err != nil {
 
- 				return err
 
- 			}
 
- 			if skippy < 0 {
 
- 				return ErrInvalidLengthStructs
 
- 			}
 
- 			if (iNdEx + skippy) < 0 {
 
- 				return ErrInvalidLengthStructs
 
- 			}
 
- 			if (iNdEx + skippy) > l {
 
- 				return io.ErrUnexpectedEOF
 
- 			}
 
- 			iNdEx += skippy
 
- 		}
 
- 	}
 
- 	if iNdEx > l {
 
- 		return io.ErrUnexpectedEOF
 
- 	}
 
- 	return nil
 
- }
 
- func (m *FileVersionDeprecated) Unmarshal(dAtA []byte) error {
 
- 	l := len(dAtA)
 
- 	iNdEx := 0
 
- 	for iNdEx < l {
 
- 		preIndex := iNdEx
 
- 		var wire uint64
 
- 		for shift := uint(0); ; shift += 7 {
 
- 			if shift >= 64 {
 
- 				return ErrIntOverflowStructs
 
- 			}
 
- 			if iNdEx >= l {
 
- 				return io.ErrUnexpectedEOF
 
- 			}
 
- 			b := dAtA[iNdEx]
 
- 			iNdEx++
 
- 			wire |= uint64(b&0x7F) << shift
 
- 			if b < 0x80 {
 
- 				break
 
- 			}
 
- 		}
 
- 		fieldNum := int32(wire >> 3)
 
- 		wireType := int(wire & 0x7)
 
- 		if wireType == 4 {
 
- 			return fmt.Errorf("proto: FileVersionDeprecated: wiretype end group for non-group")
 
- 		}
 
- 		if fieldNum <= 0 {
 
- 			return fmt.Errorf("proto: FileVersionDeprecated: illegal tag %d (wire type %d)", fieldNum, wire)
 
- 		}
 
- 		switch fieldNum {
 
- 		case 1:
 
- 			if wireType != 2 {
 
- 				return fmt.Errorf("proto: wrong wireType = %d for field Version", wireType)
 
- 			}
 
- 			var msglen int
 
- 			for shift := uint(0); ; shift += 7 {
 
- 				if shift >= 64 {
 
- 					return ErrIntOverflowStructs
 
- 				}
 
- 				if iNdEx >= l {
 
- 					return io.ErrUnexpectedEOF
 
- 				}
 
- 				b := dAtA[iNdEx]
 
- 				iNdEx++
 
- 				msglen |= int(b&0x7F) << shift
 
- 				if b < 0x80 {
 
- 					break
 
- 				}
 
- 			}
 
- 			if msglen < 0 {
 
- 				return ErrInvalidLengthStructs
 
- 			}
 
- 			postIndex := iNdEx + msglen
 
- 			if postIndex < 0 {
 
- 				return ErrInvalidLengthStructs
 
- 			}
 
- 			if postIndex > l {
 
- 				return io.ErrUnexpectedEOF
 
- 			}
 
- 			if err := m.Version.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
 
- 				return err
 
- 			}
 
- 			iNdEx = postIndex
 
- 		case 2:
 
- 			if wireType != 2 {
 
- 				return fmt.Errorf("proto: wrong wireType = %d for field Device", wireType)
 
- 			}
 
- 			var byteLen int
 
- 			for shift := uint(0); ; shift += 7 {
 
- 				if shift >= 64 {
 
- 					return ErrIntOverflowStructs
 
- 				}
 
- 				if iNdEx >= l {
 
- 					return io.ErrUnexpectedEOF
 
- 				}
 
- 				b := dAtA[iNdEx]
 
- 				iNdEx++
 
- 				byteLen |= int(b&0x7F) << shift
 
- 				if b < 0x80 {
 
- 					break
 
- 				}
 
- 			}
 
- 			if byteLen < 0 {
 
- 				return ErrInvalidLengthStructs
 
- 			}
 
- 			postIndex := iNdEx + byteLen
 
- 			if postIndex < 0 {
 
- 				return ErrInvalidLengthStructs
 
- 			}
 
- 			if postIndex > l {
 
- 				return io.ErrUnexpectedEOF
 
- 			}
 
- 			m.Device = append(m.Device[:0], dAtA[iNdEx:postIndex]...)
 
- 			if m.Device == nil {
 
- 				m.Device = []byte{}
 
- 			}
 
- 			iNdEx = postIndex
 
- 		case 3:
 
- 			if wireType != 0 {
 
- 				return fmt.Errorf("proto: wrong wireType = %d for field Invalid", wireType)
 
- 			}
 
- 			var v int
 
- 			for shift := uint(0); ; shift += 7 {
 
- 				if shift >= 64 {
 
- 					return ErrIntOverflowStructs
 
- 				}
 
- 				if iNdEx >= l {
 
- 					return io.ErrUnexpectedEOF
 
- 				}
 
- 				b := dAtA[iNdEx]
 
- 				iNdEx++
 
- 				v |= int(b&0x7F) << shift
 
- 				if b < 0x80 {
 
- 					break
 
- 				}
 
- 			}
 
- 			m.Invalid = bool(v != 0)
 
- 		case 4:
 
- 			if wireType != 0 {
 
- 				return fmt.Errorf("proto: wrong wireType = %d for field Deleted", wireType)
 
- 			}
 
- 			var v int
 
- 			for shift := uint(0); ; shift += 7 {
 
- 				if shift >= 64 {
 
- 					return ErrIntOverflowStructs
 
- 				}
 
- 				if iNdEx >= l {
 
- 					return io.ErrUnexpectedEOF
 
- 				}
 
- 				b := dAtA[iNdEx]
 
- 				iNdEx++
 
- 				v |= int(b&0x7F) << shift
 
- 				if b < 0x80 {
 
- 					break
 
- 				}
 
- 			}
 
- 			m.Deleted = bool(v != 0)
 
- 		default:
 
- 			iNdEx = preIndex
 
- 			skippy, err := skipStructs(dAtA[iNdEx:])
 
- 			if err != nil {
 
- 				return err
 
- 			}
 
- 			if skippy < 0 {
 
- 				return ErrInvalidLengthStructs
 
- 			}
 
- 			if (iNdEx + skippy) < 0 {
 
- 				return ErrInvalidLengthStructs
 
- 			}
 
- 			if (iNdEx + skippy) > l {
 
- 				return io.ErrUnexpectedEOF
 
- 			}
 
- 			iNdEx += skippy
 
- 		}
 
- 	}
 
- 	if iNdEx > l {
 
- 		return io.ErrUnexpectedEOF
 
- 	}
 
- 	return nil
 
- }
 
- func (m *VersionListDeprecated) Unmarshal(dAtA []byte) error {
 
- 	l := len(dAtA)
 
- 	iNdEx := 0
 
- 	for iNdEx < l {
 
- 		preIndex := iNdEx
 
- 		var wire uint64
 
- 		for shift := uint(0); ; shift += 7 {
 
- 			if shift >= 64 {
 
- 				return ErrIntOverflowStructs
 
- 			}
 
- 			if iNdEx >= l {
 
- 				return io.ErrUnexpectedEOF
 
- 			}
 
- 			b := dAtA[iNdEx]
 
- 			iNdEx++
 
- 			wire |= uint64(b&0x7F) << shift
 
- 			if b < 0x80 {
 
- 				break
 
- 			}
 
- 		}
 
- 		fieldNum := int32(wire >> 3)
 
- 		wireType := int(wire & 0x7)
 
- 		if wireType == 4 {
 
- 			return fmt.Errorf("proto: VersionListDeprecated: wiretype end group for non-group")
 
- 		}
 
- 		if fieldNum <= 0 {
 
- 			return fmt.Errorf("proto: VersionListDeprecated: illegal tag %d (wire type %d)", fieldNum, wire)
 
- 		}
 
- 		switch fieldNum {
 
- 		case 1:
 
- 			if wireType != 2 {
 
- 				return fmt.Errorf("proto: wrong wireType = %d for field Versions", wireType)
 
- 			}
 
- 			var msglen int
 
- 			for shift := uint(0); ; shift += 7 {
 
- 				if shift >= 64 {
 
- 					return ErrIntOverflowStructs
 
- 				}
 
- 				if iNdEx >= l {
 
- 					return io.ErrUnexpectedEOF
 
- 				}
 
- 				b := dAtA[iNdEx]
 
- 				iNdEx++
 
- 				msglen |= int(b&0x7F) << shift
 
- 				if b < 0x80 {
 
- 					break
 
- 				}
 
- 			}
 
- 			if msglen < 0 {
 
- 				return ErrInvalidLengthStructs
 
- 			}
 
- 			postIndex := iNdEx + msglen
 
- 			if postIndex < 0 {
 
- 				return ErrInvalidLengthStructs
 
- 			}
 
- 			if postIndex > l {
 
- 				return io.ErrUnexpectedEOF
 
- 			}
 
- 			m.Versions = append(m.Versions, FileVersionDeprecated{})
 
- 			if err := m.Versions[len(m.Versions)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
 
- 				return err
 
- 			}
 
- 			iNdEx = postIndex
 
- 		default:
 
- 			iNdEx = preIndex
 
- 			skippy, err := skipStructs(dAtA[iNdEx:])
 
- 			if err != nil {
 
- 				return err
 
- 			}
 
- 			if skippy < 0 {
 
- 				return ErrInvalidLengthStructs
 
- 			}
 
- 			if (iNdEx + skippy) < 0 {
 
- 				return ErrInvalidLengthStructs
 
- 			}
 
- 			if (iNdEx + skippy) > l {
 
- 				return io.ErrUnexpectedEOF
 
- 			}
 
- 			iNdEx += skippy
 
- 		}
 
- 	}
 
- 	if iNdEx > l {
 
- 		return io.ErrUnexpectedEOF
 
- 	}
 
- 	return nil
 
- }
 
- func skipStructs(dAtA []byte) (n int, err error) {
 
- 	l := len(dAtA)
 
- 	iNdEx := 0
 
- 	depth := 0
 
- 	for iNdEx < l {
 
- 		var wire uint64
 
- 		for shift := uint(0); ; shift += 7 {
 
- 			if shift >= 64 {
 
- 				return 0, ErrIntOverflowStructs
 
- 			}
 
- 			if iNdEx >= l {
 
- 				return 0, io.ErrUnexpectedEOF
 
- 			}
 
- 			b := dAtA[iNdEx]
 
- 			iNdEx++
 
- 			wire |= (uint64(b) & 0x7F) << shift
 
- 			if b < 0x80 {
 
- 				break
 
- 			}
 
- 		}
 
- 		wireType := int(wire & 0x7)
 
- 		switch wireType {
 
- 		case 0:
 
- 			for shift := uint(0); ; shift += 7 {
 
- 				if shift >= 64 {
 
- 					return 0, ErrIntOverflowStructs
 
- 				}
 
- 				if iNdEx >= l {
 
- 					return 0, io.ErrUnexpectedEOF
 
- 				}
 
- 				iNdEx++
 
- 				if dAtA[iNdEx-1] < 0x80 {
 
- 					break
 
- 				}
 
- 			}
 
- 		case 1:
 
- 			iNdEx += 8
 
- 		case 2:
 
- 			var length int
 
- 			for shift := uint(0); ; shift += 7 {
 
- 				if shift >= 64 {
 
- 					return 0, ErrIntOverflowStructs
 
- 				}
 
- 				if iNdEx >= l {
 
- 					return 0, io.ErrUnexpectedEOF
 
- 				}
 
- 				b := dAtA[iNdEx]
 
- 				iNdEx++
 
- 				length |= (int(b) & 0x7F) << shift
 
- 				if b < 0x80 {
 
- 					break
 
- 				}
 
- 			}
 
- 			if length < 0 {
 
- 				return 0, ErrInvalidLengthStructs
 
- 			}
 
- 			iNdEx += length
 
- 		case 3:
 
- 			depth++
 
- 		case 4:
 
- 			if depth == 0 {
 
- 				return 0, ErrUnexpectedEndOfGroupStructs
 
- 			}
 
- 			depth--
 
- 		case 5:
 
- 			iNdEx += 4
 
- 		default:
 
- 			return 0, fmt.Errorf("proto: illegal wireType %d", wireType)
 
- 		}
 
- 		if iNdEx < 0 {
 
- 			return 0, ErrInvalidLengthStructs
 
- 		}
 
- 		if depth == 0 {
 
- 			return iNdEx, nil
 
- 		}
 
- 	}
 
- 	return 0, io.ErrUnexpectedEOF
 
- }
 
- var (
 
- 	ErrInvalidLengthStructs        = fmt.Errorf("proto: negative length found during unmarshaling")
 
- 	ErrIntOverflowStructs          = fmt.Errorf("proto: integer overflow")
 
- 	ErrUnexpectedEndOfGroupStructs = fmt.Errorf("proto: unexpected end of group")
 
- )
 
 
  |