You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

1223 lines
44 KiB

  1. // Code generated by protoc-gen-go.
  2. // source: filer.proto
  3. // DO NOT EDIT!
  4. /*
  5. Package filer_pb is a generated protocol buffer package.
  6. It is generated from these files:
  7. filer.proto
  8. It has these top-level messages:
  9. LookupDirectoryEntryRequest
  10. LookupDirectoryEntryResponse
  11. ListEntriesRequest
  12. ListEntriesResponse
  13. Entry
  14. EventNotification
  15. FileChunk
  16. FuseAttributes
  17. CreateEntryRequest
  18. CreateEntryResponse
  19. UpdateEntryRequest
  20. UpdateEntryResponse
  21. DeleteEntryRequest
  22. DeleteEntryResponse
  23. AssignVolumeRequest
  24. AssignVolumeResponse
  25. LookupVolumeRequest
  26. Locations
  27. Location
  28. LookupVolumeResponse
  29. DeleteCollectionRequest
  30. DeleteCollectionResponse
  31. StatisticsRequest
  32. StatisticsResponse
  33. */
  34. package filer_pb
  35. import proto "github.com/golang/protobuf/proto"
  36. import fmt "fmt"
  37. import math "math"
  38. import (
  39. context "golang.org/x/net/context"
  40. grpc "google.golang.org/grpc"
  41. )
  42. // Reference imports to suppress errors if they are not otherwise used.
  43. var _ = proto.Marshal
  44. var _ = fmt.Errorf
  45. var _ = math.Inf
  46. // This is a compile-time assertion to ensure that this generated file
  47. // is compatible with the proto package it is being compiled against.
  48. // A compilation error at this line likely means your copy of the
  49. // proto package needs to be updated.
  50. const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package
  51. type LookupDirectoryEntryRequest struct {
  52. Directory string `protobuf:"bytes,1,opt,name=directory" json:"directory,omitempty"`
  53. Name string `protobuf:"bytes,2,opt,name=name" json:"name,omitempty"`
  54. }
  55. func (m *LookupDirectoryEntryRequest) Reset() { *m = LookupDirectoryEntryRequest{} }
  56. func (m *LookupDirectoryEntryRequest) String() string { return proto.CompactTextString(m) }
  57. func (*LookupDirectoryEntryRequest) ProtoMessage() {}
  58. func (*LookupDirectoryEntryRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} }
  59. func (m *LookupDirectoryEntryRequest) GetDirectory() string {
  60. if m != nil {
  61. return m.Directory
  62. }
  63. return ""
  64. }
  65. func (m *LookupDirectoryEntryRequest) GetName() string {
  66. if m != nil {
  67. return m.Name
  68. }
  69. return ""
  70. }
  71. type LookupDirectoryEntryResponse struct {
  72. Entry *Entry `protobuf:"bytes,1,opt,name=entry" json:"entry,omitempty"`
  73. }
  74. func (m *LookupDirectoryEntryResponse) Reset() { *m = LookupDirectoryEntryResponse{} }
  75. func (m *LookupDirectoryEntryResponse) String() string { return proto.CompactTextString(m) }
  76. func (*LookupDirectoryEntryResponse) ProtoMessage() {}
  77. func (*LookupDirectoryEntryResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{1} }
  78. func (m *LookupDirectoryEntryResponse) GetEntry() *Entry {
  79. if m != nil {
  80. return m.Entry
  81. }
  82. return nil
  83. }
  84. type ListEntriesRequest struct {
  85. Directory string `protobuf:"bytes,1,opt,name=directory" json:"directory,omitempty"`
  86. Prefix string `protobuf:"bytes,2,opt,name=prefix" json:"prefix,omitempty"`
  87. StartFromFileName string `protobuf:"bytes,3,opt,name=startFromFileName" json:"startFromFileName,omitempty"`
  88. InclusiveStartFrom bool `protobuf:"varint,4,opt,name=inclusiveStartFrom" json:"inclusiveStartFrom,omitempty"`
  89. Limit uint32 `protobuf:"varint,5,opt,name=limit" json:"limit,omitempty"`
  90. }
  91. func (m *ListEntriesRequest) Reset() { *m = ListEntriesRequest{} }
  92. func (m *ListEntriesRequest) String() string { return proto.CompactTextString(m) }
  93. func (*ListEntriesRequest) ProtoMessage() {}
  94. func (*ListEntriesRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{2} }
  95. func (m *ListEntriesRequest) GetDirectory() string {
  96. if m != nil {
  97. return m.Directory
  98. }
  99. return ""
  100. }
  101. func (m *ListEntriesRequest) GetPrefix() string {
  102. if m != nil {
  103. return m.Prefix
  104. }
  105. return ""
  106. }
  107. func (m *ListEntriesRequest) GetStartFromFileName() string {
  108. if m != nil {
  109. return m.StartFromFileName
  110. }
  111. return ""
  112. }
  113. func (m *ListEntriesRequest) GetInclusiveStartFrom() bool {
  114. if m != nil {
  115. return m.InclusiveStartFrom
  116. }
  117. return false
  118. }
  119. func (m *ListEntriesRequest) GetLimit() uint32 {
  120. if m != nil {
  121. return m.Limit
  122. }
  123. return 0
  124. }
  125. type ListEntriesResponse struct {
  126. Entries []*Entry `protobuf:"bytes,1,rep,name=entries" json:"entries,omitempty"`
  127. }
  128. func (m *ListEntriesResponse) Reset() { *m = ListEntriesResponse{} }
  129. func (m *ListEntriesResponse) String() string { return proto.CompactTextString(m) }
  130. func (*ListEntriesResponse) ProtoMessage() {}
  131. func (*ListEntriesResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{3} }
  132. func (m *ListEntriesResponse) GetEntries() []*Entry {
  133. if m != nil {
  134. return m.Entries
  135. }
  136. return nil
  137. }
  138. type Entry struct {
  139. Name string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
  140. IsDirectory bool `protobuf:"varint,2,opt,name=is_directory,json=isDirectory" json:"is_directory,omitempty"`
  141. Chunks []*FileChunk `protobuf:"bytes,3,rep,name=chunks" json:"chunks,omitempty"`
  142. Attributes *FuseAttributes `protobuf:"bytes,4,opt,name=attributes" json:"attributes,omitempty"`
  143. Extended map[string][]byte `protobuf:"bytes,5,rep,name=extended" json:"extended,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value,proto3"`
  144. }
  145. func (m *Entry) Reset() { *m = Entry{} }
  146. func (m *Entry) String() string { return proto.CompactTextString(m) }
  147. func (*Entry) ProtoMessage() {}
  148. func (*Entry) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{4} }
  149. func (m *Entry) GetName() string {
  150. if m != nil {
  151. return m.Name
  152. }
  153. return ""
  154. }
  155. func (m *Entry) GetIsDirectory() bool {
  156. if m != nil {
  157. return m.IsDirectory
  158. }
  159. return false
  160. }
  161. func (m *Entry) GetChunks() []*FileChunk {
  162. if m != nil {
  163. return m.Chunks
  164. }
  165. return nil
  166. }
  167. func (m *Entry) GetAttributes() *FuseAttributes {
  168. if m != nil {
  169. return m.Attributes
  170. }
  171. return nil
  172. }
  173. func (m *Entry) GetExtended() map[string][]byte {
  174. if m != nil {
  175. return m.Extended
  176. }
  177. return nil
  178. }
  179. type EventNotification struct {
  180. OldEntry *Entry `protobuf:"bytes,1,opt,name=old_entry,json=oldEntry" json:"old_entry,omitempty"`
  181. NewEntry *Entry `protobuf:"bytes,2,opt,name=new_entry,json=newEntry" json:"new_entry,omitempty"`
  182. DeleteChunks bool `protobuf:"varint,3,opt,name=delete_chunks,json=deleteChunks" json:"delete_chunks,omitempty"`
  183. }
  184. func (m *EventNotification) Reset() { *m = EventNotification{} }
  185. func (m *EventNotification) String() string { return proto.CompactTextString(m) }
  186. func (*EventNotification) ProtoMessage() {}
  187. func (*EventNotification) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{5} }
  188. func (m *EventNotification) GetOldEntry() *Entry {
  189. if m != nil {
  190. return m.OldEntry
  191. }
  192. return nil
  193. }
  194. func (m *EventNotification) GetNewEntry() *Entry {
  195. if m != nil {
  196. return m.NewEntry
  197. }
  198. return nil
  199. }
  200. func (m *EventNotification) GetDeleteChunks() bool {
  201. if m != nil {
  202. return m.DeleteChunks
  203. }
  204. return false
  205. }
  206. type FileChunk struct {
  207. FileId string `protobuf:"bytes,1,opt,name=file_id,json=fileId" json:"file_id,omitempty"`
  208. Offset int64 `protobuf:"varint,2,opt,name=offset" json:"offset,omitempty"`
  209. Size uint64 `protobuf:"varint,3,opt,name=size" json:"size,omitempty"`
  210. Mtime int64 `protobuf:"varint,4,opt,name=mtime" json:"mtime,omitempty"`
  211. ETag string `protobuf:"bytes,5,opt,name=e_tag,json=eTag" json:"e_tag,omitempty"`
  212. SourceFileId string `protobuf:"bytes,6,opt,name=source_file_id,json=sourceFileId" json:"source_file_id,omitempty"`
  213. }
  214. func (m *FileChunk) Reset() { *m = FileChunk{} }
  215. func (m *FileChunk) String() string { return proto.CompactTextString(m) }
  216. func (*FileChunk) ProtoMessage() {}
  217. func (*FileChunk) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{6} }
  218. func (m *FileChunk) GetFileId() string {
  219. if m != nil {
  220. return m.FileId
  221. }
  222. return ""
  223. }
  224. func (m *FileChunk) GetOffset() int64 {
  225. if m != nil {
  226. return m.Offset
  227. }
  228. return 0
  229. }
  230. func (m *FileChunk) GetSize() uint64 {
  231. if m != nil {
  232. return m.Size
  233. }
  234. return 0
  235. }
  236. func (m *FileChunk) GetMtime() int64 {
  237. if m != nil {
  238. return m.Mtime
  239. }
  240. return 0
  241. }
  242. func (m *FileChunk) GetETag() string {
  243. if m != nil {
  244. return m.ETag
  245. }
  246. return ""
  247. }
  248. func (m *FileChunk) GetSourceFileId() string {
  249. if m != nil {
  250. return m.SourceFileId
  251. }
  252. return ""
  253. }
  254. type FuseAttributes struct {
  255. FileSize uint64 `protobuf:"varint,1,opt,name=file_size,json=fileSize" json:"file_size,omitempty"`
  256. Mtime int64 `protobuf:"varint,2,opt,name=mtime" json:"mtime,omitempty"`
  257. FileMode uint32 `protobuf:"varint,3,opt,name=file_mode,json=fileMode" json:"file_mode,omitempty"`
  258. Uid uint32 `protobuf:"varint,4,opt,name=uid" json:"uid,omitempty"`
  259. Gid uint32 `protobuf:"varint,5,opt,name=gid" json:"gid,omitempty"`
  260. Crtime int64 `protobuf:"varint,6,opt,name=crtime" json:"crtime,omitempty"`
  261. Mime string `protobuf:"bytes,7,opt,name=mime" json:"mime,omitempty"`
  262. Replication string `protobuf:"bytes,8,opt,name=replication" json:"replication,omitempty"`
  263. Collection string `protobuf:"bytes,9,opt,name=collection" json:"collection,omitempty"`
  264. TtlSec int32 `protobuf:"varint,10,opt,name=ttl_sec,json=ttlSec" json:"ttl_sec,omitempty"`
  265. }
  266. func (m *FuseAttributes) Reset() { *m = FuseAttributes{} }
  267. func (m *FuseAttributes) String() string { return proto.CompactTextString(m) }
  268. func (*FuseAttributes) ProtoMessage() {}
  269. func (*FuseAttributes) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{7} }
  270. func (m *FuseAttributes) GetFileSize() uint64 {
  271. if m != nil {
  272. return m.FileSize
  273. }
  274. return 0
  275. }
  276. func (m *FuseAttributes) GetMtime() int64 {
  277. if m != nil {
  278. return m.Mtime
  279. }
  280. return 0
  281. }
  282. func (m *FuseAttributes) GetFileMode() uint32 {
  283. if m != nil {
  284. return m.FileMode
  285. }
  286. return 0
  287. }
  288. func (m *FuseAttributes) GetUid() uint32 {
  289. if m != nil {
  290. return m.Uid
  291. }
  292. return 0
  293. }
  294. func (m *FuseAttributes) GetGid() uint32 {
  295. if m != nil {
  296. return m.Gid
  297. }
  298. return 0
  299. }
  300. func (m *FuseAttributes) GetCrtime() int64 {
  301. if m != nil {
  302. return m.Crtime
  303. }
  304. return 0
  305. }
  306. func (m *FuseAttributes) GetMime() string {
  307. if m != nil {
  308. return m.Mime
  309. }
  310. return ""
  311. }
  312. func (m *FuseAttributes) GetReplication() string {
  313. if m != nil {
  314. return m.Replication
  315. }
  316. return ""
  317. }
  318. func (m *FuseAttributes) GetCollection() string {
  319. if m != nil {
  320. return m.Collection
  321. }
  322. return ""
  323. }
  324. func (m *FuseAttributes) GetTtlSec() int32 {
  325. if m != nil {
  326. return m.TtlSec
  327. }
  328. return 0
  329. }
  330. type CreateEntryRequest struct {
  331. Directory string `protobuf:"bytes,1,opt,name=directory" json:"directory,omitempty"`
  332. Entry *Entry `protobuf:"bytes,2,opt,name=entry" json:"entry,omitempty"`
  333. }
  334. func (m *CreateEntryRequest) Reset() { *m = CreateEntryRequest{} }
  335. func (m *CreateEntryRequest) String() string { return proto.CompactTextString(m) }
  336. func (*CreateEntryRequest) ProtoMessage() {}
  337. func (*CreateEntryRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{8} }
  338. func (m *CreateEntryRequest) GetDirectory() string {
  339. if m != nil {
  340. return m.Directory
  341. }
  342. return ""
  343. }
  344. func (m *CreateEntryRequest) GetEntry() *Entry {
  345. if m != nil {
  346. return m.Entry
  347. }
  348. return nil
  349. }
  350. type CreateEntryResponse struct {
  351. }
  352. func (m *CreateEntryResponse) Reset() { *m = CreateEntryResponse{} }
  353. func (m *CreateEntryResponse) String() string { return proto.CompactTextString(m) }
  354. func (*CreateEntryResponse) ProtoMessage() {}
  355. func (*CreateEntryResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{9} }
  356. type UpdateEntryRequest struct {
  357. Directory string `protobuf:"bytes,1,opt,name=directory" json:"directory,omitempty"`
  358. Entry *Entry `protobuf:"bytes,2,opt,name=entry" json:"entry,omitempty"`
  359. }
  360. func (m *UpdateEntryRequest) Reset() { *m = UpdateEntryRequest{} }
  361. func (m *UpdateEntryRequest) String() string { return proto.CompactTextString(m) }
  362. func (*UpdateEntryRequest) ProtoMessage() {}
  363. func (*UpdateEntryRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{10} }
  364. func (m *UpdateEntryRequest) GetDirectory() string {
  365. if m != nil {
  366. return m.Directory
  367. }
  368. return ""
  369. }
  370. func (m *UpdateEntryRequest) GetEntry() *Entry {
  371. if m != nil {
  372. return m.Entry
  373. }
  374. return nil
  375. }
  376. type UpdateEntryResponse struct {
  377. }
  378. func (m *UpdateEntryResponse) Reset() { *m = UpdateEntryResponse{} }
  379. func (m *UpdateEntryResponse) String() string { return proto.CompactTextString(m) }
  380. func (*UpdateEntryResponse) ProtoMessage() {}
  381. func (*UpdateEntryResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{11} }
  382. type DeleteEntryRequest struct {
  383. Directory string `protobuf:"bytes,1,opt,name=directory" json:"directory,omitempty"`
  384. Name string `protobuf:"bytes,2,opt,name=name" json:"name,omitempty"`
  385. IsDirectory bool `protobuf:"varint,3,opt,name=is_directory,json=isDirectory" json:"is_directory,omitempty"`
  386. IsDeleteData bool `protobuf:"varint,4,opt,name=is_delete_data,json=isDeleteData" json:"is_delete_data,omitempty"`
  387. IsRecursive bool `protobuf:"varint,5,opt,name=is_recursive,json=isRecursive" json:"is_recursive,omitempty"`
  388. }
  389. func (m *DeleteEntryRequest) Reset() { *m = DeleteEntryRequest{} }
  390. func (m *DeleteEntryRequest) String() string { return proto.CompactTextString(m) }
  391. func (*DeleteEntryRequest) ProtoMessage() {}
  392. func (*DeleteEntryRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{12} }
  393. func (m *DeleteEntryRequest) GetDirectory() string {
  394. if m != nil {
  395. return m.Directory
  396. }
  397. return ""
  398. }
  399. func (m *DeleteEntryRequest) GetName() string {
  400. if m != nil {
  401. return m.Name
  402. }
  403. return ""
  404. }
  405. func (m *DeleteEntryRequest) GetIsDirectory() bool {
  406. if m != nil {
  407. return m.IsDirectory
  408. }
  409. return false
  410. }
  411. func (m *DeleteEntryRequest) GetIsDeleteData() bool {
  412. if m != nil {
  413. return m.IsDeleteData
  414. }
  415. return false
  416. }
  417. func (m *DeleteEntryRequest) GetIsRecursive() bool {
  418. if m != nil {
  419. return m.IsRecursive
  420. }
  421. return false
  422. }
  423. type DeleteEntryResponse struct {
  424. }
  425. func (m *DeleteEntryResponse) Reset() { *m = DeleteEntryResponse{} }
  426. func (m *DeleteEntryResponse) String() string { return proto.CompactTextString(m) }
  427. func (*DeleteEntryResponse) ProtoMessage() {}
  428. func (*DeleteEntryResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{13} }
  429. type AssignVolumeRequest struct {
  430. Count int32 `protobuf:"varint,1,opt,name=count" json:"count,omitempty"`
  431. Collection string `protobuf:"bytes,2,opt,name=collection" json:"collection,omitempty"`
  432. Replication string `protobuf:"bytes,3,opt,name=replication" json:"replication,omitempty"`
  433. TtlSec int32 `protobuf:"varint,4,opt,name=ttl_sec,json=ttlSec" json:"ttl_sec,omitempty"`
  434. DataCenter string `protobuf:"bytes,5,opt,name=data_center,json=dataCenter" json:"data_center,omitempty"`
  435. }
  436. func (m *AssignVolumeRequest) Reset() { *m = AssignVolumeRequest{} }
  437. func (m *AssignVolumeRequest) String() string { return proto.CompactTextString(m) }
  438. func (*AssignVolumeRequest) ProtoMessage() {}
  439. func (*AssignVolumeRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{14} }
  440. func (m *AssignVolumeRequest) GetCount() int32 {
  441. if m != nil {
  442. return m.Count
  443. }
  444. return 0
  445. }
  446. func (m *AssignVolumeRequest) GetCollection() string {
  447. if m != nil {
  448. return m.Collection
  449. }
  450. return ""
  451. }
  452. func (m *AssignVolumeRequest) GetReplication() string {
  453. if m != nil {
  454. return m.Replication
  455. }
  456. return ""
  457. }
  458. func (m *AssignVolumeRequest) GetTtlSec() int32 {
  459. if m != nil {
  460. return m.TtlSec
  461. }
  462. return 0
  463. }
  464. func (m *AssignVolumeRequest) GetDataCenter() string {
  465. if m != nil {
  466. return m.DataCenter
  467. }
  468. return ""
  469. }
  470. type AssignVolumeResponse struct {
  471. FileId string `protobuf:"bytes,1,opt,name=file_id,json=fileId" json:"file_id,omitempty"`
  472. Url string `protobuf:"bytes,2,opt,name=url" json:"url,omitempty"`
  473. PublicUrl string `protobuf:"bytes,3,opt,name=public_url,json=publicUrl" json:"public_url,omitempty"`
  474. Count int32 `protobuf:"varint,4,opt,name=count" json:"count,omitempty"`
  475. }
  476. func (m *AssignVolumeResponse) Reset() { *m = AssignVolumeResponse{} }
  477. func (m *AssignVolumeResponse) String() string { return proto.CompactTextString(m) }
  478. func (*AssignVolumeResponse) ProtoMessage() {}
  479. func (*AssignVolumeResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{15} }
  480. func (m *AssignVolumeResponse) GetFileId() string {
  481. if m != nil {
  482. return m.FileId
  483. }
  484. return ""
  485. }
  486. func (m *AssignVolumeResponse) GetUrl() string {
  487. if m != nil {
  488. return m.Url
  489. }
  490. return ""
  491. }
  492. func (m *AssignVolumeResponse) GetPublicUrl() string {
  493. if m != nil {
  494. return m.PublicUrl
  495. }
  496. return ""
  497. }
  498. func (m *AssignVolumeResponse) GetCount() int32 {
  499. if m != nil {
  500. return m.Count
  501. }
  502. return 0
  503. }
  504. type LookupVolumeRequest struct {
  505. VolumeIds []string `protobuf:"bytes,1,rep,name=volume_ids,json=volumeIds" json:"volume_ids,omitempty"`
  506. }
  507. func (m *LookupVolumeRequest) Reset() { *m = LookupVolumeRequest{} }
  508. func (m *LookupVolumeRequest) String() string { return proto.CompactTextString(m) }
  509. func (*LookupVolumeRequest) ProtoMessage() {}
  510. func (*LookupVolumeRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{16} }
  511. func (m *LookupVolumeRequest) GetVolumeIds() []string {
  512. if m != nil {
  513. return m.VolumeIds
  514. }
  515. return nil
  516. }
  517. type Locations struct {
  518. Locations []*Location `protobuf:"bytes,1,rep,name=locations" json:"locations,omitempty"`
  519. }
  520. func (m *Locations) Reset() { *m = Locations{} }
  521. func (m *Locations) String() string { return proto.CompactTextString(m) }
  522. func (*Locations) ProtoMessage() {}
  523. func (*Locations) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{17} }
  524. func (m *Locations) GetLocations() []*Location {
  525. if m != nil {
  526. return m.Locations
  527. }
  528. return nil
  529. }
  530. type Location struct {
  531. Url string `protobuf:"bytes,1,opt,name=url" json:"url,omitempty"`
  532. PublicUrl string `protobuf:"bytes,2,opt,name=public_url,json=publicUrl" json:"public_url,omitempty"`
  533. }
  534. func (m *Location) Reset() { *m = Location{} }
  535. func (m *Location) String() string { return proto.CompactTextString(m) }
  536. func (*Location) ProtoMessage() {}
  537. func (*Location) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{18} }
  538. func (m *Location) GetUrl() string {
  539. if m != nil {
  540. return m.Url
  541. }
  542. return ""
  543. }
  544. func (m *Location) GetPublicUrl() string {
  545. if m != nil {
  546. return m.PublicUrl
  547. }
  548. return ""
  549. }
  550. type LookupVolumeResponse struct {
  551. LocationsMap map[string]*Locations `protobuf:"bytes,1,rep,name=locations_map,json=locationsMap" json:"locations_map,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
  552. }
  553. func (m *LookupVolumeResponse) Reset() { *m = LookupVolumeResponse{} }
  554. func (m *LookupVolumeResponse) String() string { return proto.CompactTextString(m) }
  555. func (*LookupVolumeResponse) ProtoMessage() {}
  556. func (*LookupVolumeResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{19} }
  557. func (m *LookupVolumeResponse) GetLocationsMap() map[string]*Locations {
  558. if m != nil {
  559. return m.LocationsMap
  560. }
  561. return nil
  562. }
  563. type DeleteCollectionRequest struct {
  564. Collection string `protobuf:"bytes,1,opt,name=collection" json:"collection,omitempty"`
  565. }
  566. func (m *DeleteCollectionRequest) Reset() { *m = DeleteCollectionRequest{} }
  567. func (m *DeleteCollectionRequest) String() string { return proto.CompactTextString(m) }
  568. func (*DeleteCollectionRequest) ProtoMessage() {}
  569. func (*DeleteCollectionRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{20} }
  570. func (m *DeleteCollectionRequest) GetCollection() string {
  571. if m != nil {
  572. return m.Collection
  573. }
  574. return ""
  575. }
  576. type DeleteCollectionResponse struct {
  577. }
  578. func (m *DeleteCollectionResponse) Reset() { *m = DeleteCollectionResponse{} }
  579. func (m *DeleteCollectionResponse) String() string { return proto.CompactTextString(m) }
  580. func (*DeleteCollectionResponse) ProtoMessage() {}
  581. func (*DeleteCollectionResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{21} }
  582. type StatisticsRequest struct {
  583. Replication string `protobuf:"bytes,1,opt,name=replication" json:"replication,omitempty"`
  584. Collection string `protobuf:"bytes,2,opt,name=collection" json:"collection,omitempty"`
  585. Ttl string `protobuf:"bytes,3,opt,name=ttl" json:"ttl,omitempty"`
  586. }
  587. func (m *StatisticsRequest) Reset() { *m = StatisticsRequest{} }
  588. func (m *StatisticsRequest) String() string { return proto.CompactTextString(m) }
  589. func (*StatisticsRequest) ProtoMessage() {}
  590. func (*StatisticsRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{22} }
  591. func (m *StatisticsRequest) GetReplication() string {
  592. if m != nil {
  593. return m.Replication
  594. }
  595. return ""
  596. }
  597. func (m *StatisticsRequest) GetCollection() string {
  598. if m != nil {
  599. return m.Collection
  600. }
  601. return ""
  602. }
  603. func (m *StatisticsRequest) GetTtl() string {
  604. if m != nil {
  605. return m.Ttl
  606. }
  607. return ""
  608. }
  609. type StatisticsResponse struct {
  610. Replication string `protobuf:"bytes,1,opt,name=replication" json:"replication,omitempty"`
  611. Collection string `protobuf:"bytes,2,opt,name=collection" json:"collection,omitempty"`
  612. Ttl string `protobuf:"bytes,3,opt,name=ttl" json:"ttl,omitempty"`
  613. TotalSize uint64 `protobuf:"varint,4,opt,name=total_size,json=totalSize" json:"total_size,omitempty"`
  614. UsedSize uint64 `protobuf:"varint,5,opt,name=used_size,json=usedSize" json:"used_size,omitempty"`
  615. FileCount uint64 `protobuf:"varint,6,opt,name=file_count,json=fileCount" json:"file_count,omitempty"`
  616. }
  617. func (m *StatisticsResponse) Reset() { *m = StatisticsResponse{} }
  618. func (m *StatisticsResponse) String() string { return proto.CompactTextString(m) }
  619. func (*StatisticsResponse) ProtoMessage() {}
  620. func (*StatisticsResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{23} }
  621. func (m *StatisticsResponse) GetReplication() string {
  622. if m != nil {
  623. return m.Replication
  624. }
  625. return ""
  626. }
  627. func (m *StatisticsResponse) GetCollection() string {
  628. if m != nil {
  629. return m.Collection
  630. }
  631. return ""
  632. }
  633. func (m *StatisticsResponse) GetTtl() string {
  634. if m != nil {
  635. return m.Ttl
  636. }
  637. return ""
  638. }
  639. func (m *StatisticsResponse) GetTotalSize() uint64 {
  640. if m != nil {
  641. return m.TotalSize
  642. }
  643. return 0
  644. }
  645. func (m *StatisticsResponse) GetUsedSize() uint64 {
  646. if m != nil {
  647. return m.UsedSize
  648. }
  649. return 0
  650. }
  651. func (m *StatisticsResponse) GetFileCount() uint64 {
  652. if m != nil {
  653. return m.FileCount
  654. }
  655. return 0
  656. }
  657. func init() {
  658. proto.RegisterType((*LookupDirectoryEntryRequest)(nil), "filer_pb.LookupDirectoryEntryRequest")
  659. proto.RegisterType((*LookupDirectoryEntryResponse)(nil), "filer_pb.LookupDirectoryEntryResponse")
  660. proto.RegisterType((*ListEntriesRequest)(nil), "filer_pb.ListEntriesRequest")
  661. proto.RegisterType((*ListEntriesResponse)(nil), "filer_pb.ListEntriesResponse")
  662. proto.RegisterType((*Entry)(nil), "filer_pb.Entry")
  663. proto.RegisterType((*EventNotification)(nil), "filer_pb.EventNotification")
  664. proto.RegisterType((*FileChunk)(nil), "filer_pb.FileChunk")
  665. proto.RegisterType((*FuseAttributes)(nil), "filer_pb.FuseAttributes")
  666. proto.RegisterType((*CreateEntryRequest)(nil), "filer_pb.CreateEntryRequest")
  667. proto.RegisterType((*CreateEntryResponse)(nil), "filer_pb.CreateEntryResponse")
  668. proto.RegisterType((*UpdateEntryRequest)(nil), "filer_pb.UpdateEntryRequest")
  669. proto.RegisterType((*UpdateEntryResponse)(nil), "filer_pb.UpdateEntryResponse")
  670. proto.RegisterType((*DeleteEntryRequest)(nil), "filer_pb.DeleteEntryRequest")
  671. proto.RegisterType((*DeleteEntryResponse)(nil), "filer_pb.DeleteEntryResponse")
  672. proto.RegisterType((*AssignVolumeRequest)(nil), "filer_pb.AssignVolumeRequest")
  673. proto.RegisterType((*AssignVolumeResponse)(nil), "filer_pb.AssignVolumeResponse")
  674. proto.RegisterType((*LookupVolumeRequest)(nil), "filer_pb.LookupVolumeRequest")
  675. proto.RegisterType((*Locations)(nil), "filer_pb.Locations")
  676. proto.RegisterType((*Location)(nil), "filer_pb.Location")
  677. proto.RegisterType((*LookupVolumeResponse)(nil), "filer_pb.LookupVolumeResponse")
  678. proto.RegisterType((*DeleteCollectionRequest)(nil), "filer_pb.DeleteCollectionRequest")
  679. proto.RegisterType((*DeleteCollectionResponse)(nil), "filer_pb.DeleteCollectionResponse")
  680. proto.RegisterType((*StatisticsRequest)(nil), "filer_pb.StatisticsRequest")
  681. proto.RegisterType((*StatisticsResponse)(nil), "filer_pb.StatisticsResponse")
  682. }
  683. // Reference imports to suppress errors if they are not otherwise used.
  684. var _ context.Context
  685. var _ grpc.ClientConn
  686. // This is a compile-time assertion to ensure that this generated file
  687. // is compatible with the grpc package it is being compiled against.
  688. const _ = grpc.SupportPackageIsVersion4
  689. // Client API for SeaweedFiler service
  690. type SeaweedFilerClient interface {
  691. LookupDirectoryEntry(ctx context.Context, in *LookupDirectoryEntryRequest, opts ...grpc.CallOption) (*LookupDirectoryEntryResponse, error)
  692. ListEntries(ctx context.Context, in *ListEntriesRequest, opts ...grpc.CallOption) (*ListEntriesResponse, error)
  693. CreateEntry(ctx context.Context, in *CreateEntryRequest, opts ...grpc.CallOption) (*CreateEntryResponse, error)
  694. UpdateEntry(ctx context.Context, in *UpdateEntryRequest, opts ...grpc.CallOption) (*UpdateEntryResponse, error)
  695. DeleteEntry(ctx context.Context, in *DeleteEntryRequest, opts ...grpc.CallOption) (*DeleteEntryResponse, error)
  696. AssignVolume(ctx context.Context, in *AssignVolumeRequest, opts ...grpc.CallOption) (*AssignVolumeResponse, error)
  697. LookupVolume(ctx context.Context, in *LookupVolumeRequest, opts ...grpc.CallOption) (*LookupVolumeResponse, error)
  698. DeleteCollection(ctx context.Context, in *DeleteCollectionRequest, opts ...grpc.CallOption) (*DeleteCollectionResponse, error)
  699. Statistics(ctx context.Context, in *StatisticsRequest, opts ...grpc.CallOption) (*StatisticsResponse, error)
  700. }
  701. type seaweedFilerClient struct {
  702. cc *grpc.ClientConn
  703. }
  704. func NewSeaweedFilerClient(cc *grpc.ClientConn) SeaweedFilerClient {
  705. return &seaweedFilerClient{cc}
  706. }
  707. func (c *seaweedFilerClient) LookupDirectoryEntry(ctx context.Context, in *LookupDirectoryEntryRequest, opts ...grpc.CallOption) (*LookupDirectoryEntryResponse, error) {
  708. out := new(LookupDirectoryEntryResponse)
  709. err := grpc.Invoke(ctx, "/filer_pb.SeaweedFiler/LookupDirectoryEntry", in, out, c.cc, opts...)
  710. if err != nil {
  711. return nil, err
  712. }
  713. return out, nil
  714. }
  715. func (c *seaweedFilerClient) ListEntries(ctx context.Context, in *ListEntriesRequest, opts ...grpc.CallOption) (*ListEntriesResponse, error) {
  716. out := new(ListEntriesResponse)
  717. err := grpc.Invoke(ctx, "/filer_pb.SeaweedFiler/ListEntries", in, out, c.cc, opts...)
  718. if err != nil {
  719. return nil, err
  720. }
  721. return out, nil
  722. }
  723. func (c *seaweedFilerClient) CreateEntry(ctx context.Context, in *CreateEntryRequest, opts ...grpc.CallOption) (*CreateEntryResponse, error) {
  724. out := new(CreateEntryResponse)
  725. err := grpc.Invoke(ctx, "/filer_pb.SeaweedFiler/CreateEntry", in, out, c.cc, opts...)
  726. if err != nil {
  727. return nil, err
  728. }
  729. return out, nil
  730. }
  731. func (c *seaweedFilerClient) UpdateEntry(ctx context.Context, in *UpdateEntryRequest, opts ...grpc.CallOption) (*UpdateEntryResponse, error) {
  732. out := new(UpdateEntryResponse)
  733. err := grpc.Invoke(ctx, "/filer_pb.SeaweedFiler/UpdateEntry", in, out, c.cc, opts...)
  734. if err != nil {
  735. return nil, err
  736. }
  737. return out, nil
  738. }
  739. func (c *seaweedFilerClient) DeleteEntry(ctx context.Context, in *DeleteEntryRequest, opts ...grpc.CallOption) (*DeleteEntryResponse, error) {
  740. out := new(DeleteEntryResponse)
  741. err := grpc.Invoke(ctx, "/filer_pb.SeaweedFiler/DeleteEntry", in, out, c.cc, opts...)
  742. if err != nil {
  743. return nil, err
  744. }
  745. return out, nil
  746. }
  747. func (c *seaweedFilerClient) AssignVolume(ctx context.Context, in *AssignVolumeRequest, opts ...grpc.CallOption) (*AssignVolumeResponse, error) {
  748. out := new(AssignVolumeResponse)
  749. err := grpc.Invoke(ctx, "/filer_pb.SeaweedFiler/AssignVolume", in, out, c.cc, opts...)
  750. if err != nil {
  751. return nil, err
  752. }
  753. return out, nil
  754. }
  755. func (c *seaweedFilerClient) LookupVolume(ctx context.Context, in *LookupVolumeRequest, opts ...grpc.CallOption) (*LookupVolumeResponse, error) {
  756. out := new(LookupVolumeResponse)
  757. err := grpc.Invoke(ctx, "/filer_pb.SeaweedFiler/LookupVolume", in, out, c.cc, opts...)
  758. if err != nil {
  759. return nil, err
  760. }
  761. return out, nil
  762. }
  763. func (c *seaweedFilerClient) DeleteCollection(ctx context.Context, in *DeleteCollectionRequest, opts ...grpc.CallOption) (*DeleteCollectionResponse, error) {
  764. out := new(DeleteCollectionResponse)
  765. err := grpc.Invoke(ctx, "/filer_pb.SeaweedFiler/DeleteCollection", in, out, c.cc, opts...)
  766. if err != nil {
  767. return nil, err
  768. }
  769. return out, nil
  770. }
  771. func (c *seaweedFilerClient) Statistics(ctx context.Context, in *StatisticsRequest, opts ...grpc.CallOption) (*StatisticsResponse, error) {
  772. out := new(StatisticsResponse)
  773. err := grpc.Invoke(ctx, "/filer_pb.SeaweedFiler/Statistics", in, out, c.cc, opts...)
  774. if err != nil {
  775. return nil, err
  776. }
  777. return out, nil
  778. }
  779. // Server API for SeaweedFiler service
  780. type SeaweedFilerServer interface {
  781. LookupDirectoryEntry(context.Context, *LookupDirectoryEntryRequest) (*LookupDirectoryEntryResponse, error)
  782. ListEntries(context.Context, *ListEntriesRequest) (*ListEntriesResponse, error)
  783. CreateEntry(context.Context, *CreateEntryRequest) (*CreateEntryResponse, error)
  784. UpdateEntry(context.Context, *UpdateEntryRequest) (*UpdateEntryResponse, error)
  785. DeleteEntry(context.Context, *DeleteEntryRequest) (*DeleteEntryResponse, error)
  786. AssignVolume(context.Context, *AssignVolumeRequest) (*AssignVolumeResponse, error)
  787. LookupVolume(context.Context, *LookupVolumeRequest) (*LookupVolumeResponse, error)
  788. DeleteCollection(context.Context, *DeleteCollectionRequest) (*DeleteCollectionResponse, error)
  789. Statistics(context.Context, *StatisticsRequest) (*StatisticsResponse, error)
  790. }
  791. func RegisterSeaweedFilerServer(s *grpc.Server, srv SeaweedFilerServer) {
  792. s.RegisterService(&_SeaweedFiler_serviceDesc, srv)
  793. }
  794. func _SeaweedFiler_LookupDirectoryEntry_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  795. in := new(LookupDirectoryEntryRequest)
  796. if err := dec(in); err != nil {
  797. return nil, err
  798. }
  799. if interceptor == nil {
  800. return srv.(SeaweedFilerServer).LookupDirectoryEntry(ctx, in)
  801. }
  802. info := &grpc.UnaryServerInfo{
  803. Server: srv,
  804. FullMethod: "/filer_pb.SeaweedFiler/LookupDirectoryEntry",
  805. }
  806. handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  807. return srv.(SeaweedFilerServer).LookupDirectoryEntry(ctx, req.(*LookupDirectoryEntryRequest))
  808. }
  809. return interceptor(ctx, in, info, handler)
  810. }
  811. func _SeaweedFiler_ListEntries_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  812. in := new(ListEntriesRequest)
  813. if err := dec(in); err != nil {
  814. return nil, err
  815. }
  816. if interceptor == nil {
  817. return srv.(SeaweedFilerServer).ListEntries(ctx, in)
  818. }
  819. info := &grpc.UnaryServerInfo{
  820. Server: srv,
  821. FullMethod: "/filer_pb.SeaweedFiler/ListEntries",
  822. }
  823. handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  824. return srv.(SeaweedFilerServer).ListEntries(ctx, req.(*ListEntriesRequest))
  825. }
  826. return interceptor(ctx, in, info, handler)
  827. }
  828. func _SeaweedFiler_CreateEntry_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  829. in := new(CreateEntryRequest)
  830. if err := dec(in); err != nil {
  831. return nil, err
  832. }
  833. if interceptor == nil {
  834. return srv.(SeaweedFilerServer).CreateEntry(ctx, in)
  835. }
  836. info := &grpc.UnaryServerInfo{
  837. Server: srv,
  838. FullMethod: "/filer_pb.SeaweedFiler/CreateEntry",
  839. }
  840. handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  841. return srv.(SeaweedFilerServer).CreateEntry(ctx, req.(*CreateEntryRequest))
  842. }
  843. return interceptor(ctx, in, info, handler)
  844. }
  845. func _SeaweedFiler_UpdateEntry_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  846. in := new(UpdateEntryRequest)
  847. if err := dec(in); err != nil {
  848. return nil, err
  849. }
  850. if interceptor == nil {
  851. return srv.(SeaweedFilerServer).UpdateEntry(ctx, in)
  852. }
  853. info := &grpc.UnaryServerInfo{
  854. Server: srv,
  855. FullMethod: "/filer_pb.SeaweedFiler/UpdateEntry",
  856. }
  857. handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  858. return srv.(SeaweedFilerServer).UpdateEntry(ctx, req.(*UpdateEntryRequest))
  859. }
  860. return interceptor(ctx, in, info, handler)
  861. }
  862. func _SeaweedFiler_DeleteEntry_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  863. in := new(DeleteEntryRequest)
  864. if err := dec(in); err != nil {
  865. return nil, err
  866. }
  867. if interceptor == nil {
  868. return srv.(SeaweedFilerServer).DeleteEntry(ctx, in)
  869. }
  870. info := &grpc.UnaryServerInfo{
  871. Server: srv,
  872. FullMethod: "/filer_pb.SeaweedFiler/DeleteEntry",
  873. }
  874. handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  875. return srv.(SeaweedFilerServer).DeleteEntry(ctx, req.(*DeleteEntryRequest))
  876. }
  877. return interceptor(ctx, in, info, handler)
  878. }
  879. func _SeaweedFiler_AssignVolume_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  880. in := new(AssignVolumeRequest)
  881. if err := dec(in); err != nil {
  882. return nil, err
  883. }
  884. if interceptor == nil {
  885. return srv.(SeaweedFilerServer).AssignVolume(ctx, in)
  886. }
  887. info := &grpc.UnaryServerInfo{
  888. Server: srv,
  889. FullMethod: "/filer_pb.SeaweedFiler/AssignVolume",
  890. }
  891. handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  892. return srv.(SeaweedFilerServer).AssignVolume(ctx, req.(*AssignVolumeRequest))
  893. }
  894. return interceptor(ctx, in, info, handler)
  895. }
  896. func _SeaweedFiler_LookupVolume_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  897. in := new(LookupVolumeRequest)
  898. if err := dec(in); err != nil {
  899. return nil, err
  900. }
  901. if interceptor == nil {
  902. return srv.(SeaweedFilerServer).LookupVolume(ctx, in)
  903. }
  904. info := &grpc.UnaryServerInfo{
  905. Server: srv,
  906. FullMethod: "/filer_pb.SeaweedFiler/LookupVolume",
  907. }
  908. handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  909. return srv.(SeaweedFilerServer).LookupVolume(ctx, req.(*LookupVolumeRequest))
  910. }
  911. return interceptor(ctx, in, info, handler)
  912. }
  913. func _SeaweedFiler_DeleteCollection_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  914. in := new(DeleteCollectionRequest)
  915. if err := dec(in); err != nil {
  916. return nil, err
  917. }
  918. if interceptor == nil {
  919. return srv.(SeaweedFilerServer).DeleteCollection(ctx, in)
  920. }
  921. info := &grpc.UnaryServerInfo{
  922. Server: srv,
  923. FullMethod: "/filer_pb.SeaweedFiler/DeleteCollection",
  924. }
  925. handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  926. return srv.(SeaweedFilerServer).DeleteCollection(ctx, req.(*DeleteCollectionRequest))
  927. }
  928. return interceptor(ctx, in, info, handler)
  929. }
  930. func _SeaweedFiler_Statistics_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  931. in := new(StatisticsRequest)
  932. if err := dec(in); err != nil {
  933. return nil, err
  934. }
  935. if interceptor == nil {
  936. return srv.(SeaweedFilerServer).Statistics(ctx, in)
  937. }
  938. info := &grpc.UnaryServerInfo{
  939. Server: srv,
  940. FullMethod: "/filer_pb.SeaweedFiler/Statistics",
  941. }
  942. handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  943. return srv.(SeaweedFilerServer).Statistics(ctx, req.(*StatisticsRequest))
  944. }
  945. return interceptor(ctx, in, info, handler)
  946. }
  947. var _SeaweedFiler_serviceDesc = grpc.ServiceDesc{
  948. ServiceName: "filer_pb.SeaweedFiler",
  949. HandlerType: (*SeaweedFilerServer)(nil),
  950. Methods: []grpc.MethodDesc{
  951. {
  952. MethodName: "LookupDirectoryEntry",
  953. Handler: _SeaweedFiler_LookupDirectoryEntry_Handler,
  954. },
  955. {
  956. MethodName: "ListEntries",
  957. Handler: _SeaweedFiler_ListEntries_Handler,
  958. },
  959. {
  960. MethodName: "CreateEntry",
  961. Handler: _SeaweedFiler_CreateEntry_Handler,
  962. },
  963. {
  964. MethodName: "UpdateEntry",
  965. Handler: _SeaweedFiler_UpdateEntry_Handler,
  966. },
  967. {
  968. MethodName: "DeleteEntry",
  969. Handler: _SeaweedFiler_DeleteEntry_Handler,
  970. },
  971. {
  972. MethodName: "AssignVolume",
  973. Handler: _SeaweedFiler_AssignVolume_Handler,
  974. },
  975. {
  976. MethodName: "LookupVolume",
  977. Handler: _SeaweedFiler_LookupVolume_Handler,
  978. },
  979. {
  980. MethodName: "DeleteCollection",
  981. Handler: _SeaweedFiler_DeleteCollection_Handler,
  982. },
  983. {
  984. MethodName: "Statistics",
  985. Handler: _SeaweedFiler_Statistics_Handler,
  986. },
  987. },
  988. Streams: []grpc.StreamDesc{},
  989. Metadata: "filer.proto",
  990. }
  991. func init() { proto.RegisterFile("filer.proto", fileDescriptor0) }
  992. var fileDescriptor0 = []byte{
  993. // 1225 bytes of a gzipped FileDescriptorProto
  994. 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xb4, 0x57, 0x4b, 0x6f, 0xdb, 0xc6,
  995. 0x13, 0x0f, 0xf5, 0x8a, 0x38, 0x92, 0xfc, 0xb7, 0x57, 0xfe, 0x37, 0x82, 0x6c, 0xa7, 0x0a, 0x9b,
  996. 0x14, 0x0e, 0x6a, 0x18, 0x81, 0xdb, 0x43, 0xd2, 0xa0, 0x40, 0x03, 0x3f, 0x00, 0x03, 0x4e, 0x02,
  997. 0xd0, 0x71, 0x81, 0xa2, 0x07, 0x82, 0x26, 0xc7, 0xea, 0xc2, 0x14, 0xa9, 0x72, 0x97, 0x76, 0xd2,
  998. 0xaf, 0xd0, 0x6b, 0xaf, 0x3d, 0xf4, 0xd4, 0x7b, 0x3f, 0x40, 0x2f, 0xfd, 0x54, 0xbd, 0x15, 0xfb,
  999. 0x20, 0xb5, 0x14, 0x69, 0xa7, 0x45, 0x91, 0xdb, 0xee, 0x6f, 0x66, 0xe7, 0xb5, 0xbf, 0x9d, 0x21,
  1000. 0xa1, 0x77, 0x41, 0x23, 0x4c, 0x77, 0xe7, 0x69, 0xc2, 0x13, 0xd2, 0x95, 0x1b, 0x6f, 0x7e, 0xee,
  1001. 0xbc, 0x86, 0x8d, 0x93, 0x24, 0xb9, 0xcc, 0xe6, 0x07, 0x34, 0xc5, 0x80, 0x27, 0xe9, 0xbb, 0xc3,
  1002. 0x98, 0xa7, 0xef, 0x5c, 0xfc, 0x21, 0x43, 0xc6, 0xc9, 0x26, 0xd8, 0x61, 0x2e, 0x18, 0x59, 0x13,
  1003. 0x6b, 0xdb, 0x76, 0x17, 0x00, 0x21, 0xd0, 0x8a, 0xfd, 0x19, 0x8e, 0x1a, 0x52, 0x20, 0xd7, 0xce,
  1004. 0x21, 0x6c, 0xd6, 0x1b, 0x64, 0xf3, 0x24, 0x66, 0x48, 0x1e, 0x41, 0x1b, 0x05, 0x20, 0xad, 0xf5,
  1005. 0xf6, 0xfe, 0xb7, 0x9b, 0x87, 0xb2, 0xab, 0xf4, 0x94, 0xd4, 0xf9, 0xc3, 0x02, 0x72, 0x42, 0x19,
  1006. 0x17, 0x20, 0x45, 0xf6, 0xcf, 0xe2, 0xf9, 0x08, 0x3a, 0xf3, 0x14, 0x2f, 0xe8, 0x5b, 0x1d, 0x91,
  1007. 0xde, 0x91, 0x1d, 0x58, 0x63, 0xdc, 0x4f, 0xf9, 0x51, 0x9a, 0xcc, 0x8e, 0x68, 0x84, 0xaf, 0x44,
  1008. 0xd0, 0x4d, 0xa9, 0x52, 0x15, 0x90, 0x5d, 0x20, 0x34, 0x0e, 0xa2, 0x8c, 0xd1, 0x2b, 0x3c, 0xcd,
  1009. 0xa5, 0xa3, 0xd6, 0xc4, 0xda, 0xee, 0xba, 0x35, 0x12, 0xb2, 0x0e, 0xed, 0x88, 0xce, 0x28, 0x1f,
  1010. 0xb5, 0x27, 0xd6, 0xf6, 0xc0, 0x55, 0x1b, 0xe7, 0x6b, 0x18, 0x96, 0xe2, 0xd7, 0xe9, 0x3f, 0x86,
  1011. 0xbb, 0xa8, 0xa0, 0x91, 0x35, 0x69, 0xd6, 0x15, 0x20, 0x97, 0x3b, 0xbf, 0x34, 0xa0, 0x2d, 0xa1,
  1012. 0xa2, 0xce, 0xd6, 0xa2, 0xce, 0xe4, 0x01, 0xf4, 0x29, 0xf3, 0x16, 0xc5, 0x68, 0xc8, 0xf8, 0x7a,
  1013. 0x94, 0x15, 0x75, 0x27, 0x9f, 0x41, 0x27, 0xf8, 0x3e, 0x8b, 0x2f, 0xd9, 0xa8, 0x29, 0x5d, 0x0d,
  1014. 0x17, 0xae, 0x44, 0xb2, 0xfb, 0x42, 0xe6, 0x6a, 0x15, 0xf2, 0x14, 0xc0, 0xe7, 0x3c, 0xa5, 0xe7,
  1015. 0x19, 0x47, 0x26, 0xb3, 0xed, 0xed, 0x8d, 0x8c, 0x03, 0x19, 0xc3, 0x17, 0x85, 0xdc, 0x35, 0x74,
  1016. 0xc9, 0x33, 0xe8, 0xe2, 0x5b, 0x8e, 0x71, 0x88, 0xe1, 0xa8, 0x2d, 0x1d, 0x6d, 0x2d, 0xe5, 0xb4,
  1017. 0x7b, 0xa8, 0xe5, 0x2a, 0xc3, 0x42, 0x7d, 0xfc, 0x1c, 0x06, 0x25, 0x11, 0x59, 0x85, 0xe6, 0x25,
  1018. 0xe6, 0x37, 0x2b, 0x96, 0xa2, 0xba, 0x57, 0x7e, 0x94, 0x29, 0x92, 0xf5, 0x5d, 0xb5, 0xf9, 0xb2,
  1019. 0xf1, 0xd4, 0x72, 0x7e, 0xb6, 0x60, 0xed, 0xf0, 0x0a, 0x63, 0xfe, 0x2a, 0xe1, 0xf4, 0x82, 0x06,
  1020. 0x3e, 0xa7, 0x49, 0x4c, 0x76, 0xc0, 0x4e, 0xa2, 0xd0, 0xbb, 0x95, 0x63, 0xdd, 0x24, 0xd2, 0xfe,
  1021. 0x76, 0xc0, 0x8e, 0xf1, 0x5a, 0x6b, 0x37, 0x6e, 0xd0, 0x8e, 0xf1, 0x5a, 0x69, 0x7f, 0x02, 0x83,
  1022. 0x10, 0x23, 0xe4, 0xe8, 0x15, 0x75, 0x15, 0x45, 0xef, 0x2b, 0x50, 0xd6, 0x93, 0x39, 0xbf, 0x5a,
  1023. 0x60, 0x17, 0xe5, 0x25, 0xf7, 0xe0, 0xae, 0x30, 0xe7, 0xd1, 0x50, 0x27, 0xd5, 0x11, 0xdb, 0xe3,
  1024. 0x50, 0x70, 0x35, 0xb9, 0xb8, 0x60, 0xc8, 0xa5, 0xdb, 0xa6, 0xab, 0x77, 0xe2, 0xae, 0x19, 0xfd,
  1025. 0x51, 0xd1, 0xb3, 0xe5, 0xca, 0xb5, 0xa8, 0xc1, 0x8c, 0xd3, 0x19, 0xca, 0x6b, 0x69, 0xba, 0x6a,
  1026. 0x43, 0x86, 0xd0, 0x46, 0x8f, 0xfb, 0x53, 0xc9, 0x3b, 0xdb, 0x6d, 0xe1, 0x1b, 0x7f, 0x4a, 0x1e,
  1027. 0xc2, 0x0a, 0x4b, 0xb2, 0x34, 0x40, 0x2f, 0x77, 0xdb, 0x91, 0xd2, 0xbe, 0x42, 0x8f, 0xa4, 0x73,
  1028. 0xe7, 0xa7, 0x06, 0xac, 0x94, 0x6f, 0x94, 0x6c, 0x80, 0x2d, 0x4f, 0x48, 0xe7, 0x96, 0x74, 0x2e,
  1029. 0xbb, 0xc4, 0x69, 0x29, 0x80, 0x86, 0x19, 0x40, 0x7e, 0x64, 0x96, 0x84, 0x2a, 0xde, 0x81, 0x3a,
  1030. 0xf2, 0x32, 0x09, 0x51, 0xdc, 0x64, 0x46, 0x43, 0x19, 0xf1, 0xc0, 0x15, 0x4b, 0x81, 0x4c, 0x69,
  1031. 0xa8, 0x5f, 0x89, 0x58, 0x8a, 0x1a, 0x04, 0xa9, 0xb4, 0xdb, 0x51, 0x35, 0x50, 0x3b, 0x51, 0x83,
  1032. 0x99, 0x40, 0xef, 0xaa, 0xc4, 0xc4, 0x9a, 0x4c, 0xa0, 0x97, 0xe2, 0x3c, 0xd2, 0xd7, 0x3c, 0xea,
  1033. 0x4a, 0x91, 0x09, 0x91, 0xfb, 0x00, 0x41, 0x12, 0x45, 0x18, 0x48, 0x05, 0x5b, 0x2a, 0x18, 0x88,
  1034. 0xb8, 0x0a, 0xce, 0x23, 0x8f, 0x61, 0x30, 0x82, 0x89, 0xb5, 0xdd, 0x76, 0x3b, 0x9c, 0x47, 0xa7,
  1035. 0x18, 0x38, 0xdf, 0x02, 0xd9, 0x4f, 0xd1, 0xe7, 0xf8, 0x2f, 0x5a, 0x5f, 0xd1, 0xc6, 0x1a, 0xb7,
  1036. 0xb6, 0xb1, 0xff, 0xc3, 0xb0, 0x64, 0x5a, 0x75, 0x01, 0xe1, 0xf1, 0x6c, 0x1e, 0x7e, 0x28, 0x8f,
  1037. 0x25, 0xd3, 0xda, 0xe3, 0xef, 0x16, 0x90, 0x03, 0x49, 0xd3, 0xff, 0xd6, 0xdf, 0x2b, 0x7d, 0xa7,
  1038. 0x59, 0xed, 0x3b, 0x0f, 0x61, 0x45, 0xa8, 0xa8, 0x97, 0x12, 0xfa, 0xdc, 0xd7, 0xcd, 0xb3, 0x4f,
  1039. 0x99, 0x0a, 0xe1, 0xc0, 0xe7, 0xbe, 0x36, 0x94, 0x62, 0x90, 0xa5, 0xa2, 0x9f, 0x4a, 0x5e, 0x48,
  1040. 0x43, 0x6e, 0x0e, 0x89, 0x5c, 0x4a, 0x31, 0xeb, 0x5c, 0x7e, 0xb3, 0x60, 0xf8, 0x82, 0x31, 0x3a,
  1041. 0x8d, 0xbf, 0x49, 0xa2, 0x6c, 0x86, 0x79, 0x32, 0xeb, 0xd0, 0x0e, 0x92, 0x2c, 0xe6, 0x32, 0x91,
  1042. 0xb6, 0xab, 0x36, 0x4b, 0xb4, 0x68, 0x54, 0x68, 0xb1, 0x44, 0xac, 0x66, 0x95, 0x58, 0x06, 0x71,
  1043. 0x5a, 0x26, 0x71, 0xc8, 0xc7, 0xd0, 0x13, 0xe9, 0x79, 0x01, 0xc6, 0x1c, 0x53, 0xfd, 0x0e, 0x41,
  1044. 0x40, 0xfb, 0x12, 0x71, 0xae, 0x60, 0xbd, 0x1c, 0xa8, 0x9e, 0x02, 0x37, 0x76, 0x05, 0xf1, 0x6a,
  1045. 0xd2, 0x48, 0x47, 0x29, 0x96, 0x64, 0x0b, 0x60, 0x9e, 0x9d, 0x47, 0x34, 0xf0, 0x84, 0x40, 0x45,
  1046. 0x67, 0x2b, 0xe4, 0x2c, 0x8d, 0x16, 0x39, 0xb7, 0x8c, 0x9c, 0x9d, 0x2f, 0x60, 0xa8, 0x86, 0x70,
  1047. 0xb9, 0x40, 0x5b, 0x00, 0x57, 0x12, 0xf0, 0x68, 0xa8, 0xe6, 0x8f, 0xed, 0xda, 0x0a, 0x39, 0x0e,
  1048. 0x99, 0xf3, 0x15, 0xd8, 0x27, 0x89, 0xca, 0x99, 0x91, 0x27, 0x60, 0x47, 0xf9, 0x46, 0x8f, 0x2a,
  1049. 0xb2, 0xa0, 0x5c, 0xae, 0xe7, 0x2e, 0x94, 0x9c, 0xe7, 0xd0, 0xcd, 0xe1, 0x3c, 0x0f, 0xeb, 0xa6,
  1050. 0x3c, 0x1a, 0x4b, 0x79, 0x38, 0x7f, 0x5a, 0xb0, 0x5e, 0x0e, 0x59, 0x97, 0xea, 0x0c, 0x06, 0x85,
  1051. 0x0b, 0x6f, 0xe6, 0xcf, 0x75, 0x2c, 0x4f, 0xcc, 0x58, 0xaa, 0xc7, 0x8a, 0x00, 0xd9, 0x4b, 0x7f,
  1052. 0xae, 0xd8, 0xd3, 0x8f, 0x0c, 0x68, 0xfc, 0x06, 0xd6, 0x2a, 0x2a, 0x35, 0xd3, 0xe7, 0xb1, 0x39,
  1053. 0x7d, 0x4a, 0x13, 0xb4, 0x38, 0x6d, 0x8e, 0xa4, 0x67, 0x70, 0x4f, 0x11, 0x76, 0xbf, 0xe0, 0x57,
  1054. 0x5e, 0xfb, 0x32, 0x0d, 0xad, 0x65, 0x1a, 0x3a, 0x63, 0x18, 0x55, 0x8f, 0x6a, 0xc2, 0x4f, 0x61,
  1055. 0xed, 0x94, 0xfb, 0x9c, 0x32, 0x4e, 0x83, 0xe2, 0x53, 0x68, 0x89, 0xb7, 0xd6, 0xfb, 0x1a, 0x62,
  1056. 0x95, 0xf9, 0xab, 0xd0, 0xe4, 0x3c, 0xe7, 0x94, 0x58, 0x8a, 0x5b, 0x20, 0xa6, 0x27, 0x7d, 0x07,
  1057. 0x1f, 0xc0, 0x95, 0xe0, 0x03, 0x4f, 0xb8, 0x1f, 0xa9, 0x81, 0xd3, 0x92, 0x03, 0xc7, 0x96, 0x88,
  1058. 0x9c, 0x38, 0x1b, 0x60, 0x67, 0x0c, 0x43, 0x25, 0x6d, 0xab, 0x71, 0x24, 0x00, 0x29, 0xdc, 0x02,
  1059. 0x90, 0xcf, 0x47, 0x31, 0xbf, 0xa3, 0xce, 0x0a, 0x64, 0x5f, 0x00, 0x7b, 0x7f, 0xb5, 0xa1, 0x7f,
  1060. 0x8a, 0xfe, 0x35, 0x62, 0x28, 0xe6, 0x5d, 0x4a, 0xa6, 0x39, 0xb7, 0xca, 0xdf, 0xa4, 0xe4, 0xd1,
  1061. 0x32, 0x89, 0x6a, 0x3f, 0x82, 0xc7, 0x9f, 0xbe, 0x4f, 0x4d, 0x5f, 0xd3, 0x1d, 0x72, 0x02, 0x3d,
  1062. 0xe3, 0xa3, 0x8f, 0x6c, 0x1a, 0x07, 0x2b, 0xdf, 0xb2, 0xe3, 0xad, 0x1b, 0xa4, 0xa6, 0x35, 0x63,
  1063. 0x78, 0x98, 0xd6, 0xaa, 0xe3, 0xca, 0xb4, 0x56, 0x37, 0x71, 0xa4, 0x35, 0x63, 0x30, 0x98, 0xd6,
  1064. 0xaa, 0xa3, 0xc8, 0xb4, 0x56, 0x37, 0x4d, 0xa4, 0x35, 0xa3, 0x35, 0x9b, 0xd6, 0xaa, 0x53, 0xc6,
  1065. 0xb4, 0x56, 0xd7, 0xcf, 0xef, 0x90, 0xd7, 0xd0, 0x37, 0xfb, 0x24, 0x31, 0x0e, 0xd4, 0x34, 0xfa,
  1066. 0xf1, 0xfd, 0x9b, 0xc4, 0xa6, 0x41, 0xb3, 0x2d, 0x98, 0x06, 0x6b, 0x1a, 0xa3, 0x69, 0xb0, 0xae,
  1067. 0x9b, 0x38, 0x77, 0xc8, 0x77, 0xb0, 0xba, 0xfc, 0x3c, 0xc9, 0x83, 0xe5, 0xb4, 0x2a, 0xaf, 0x7e,
  1068. 0xec, 0xdc, 0xa6, 0x52, 0x18, 0x3f, 0x06, 0x58, 0xbc, 0x3a, 0xb2, 0xb1, 0x38, 0x53, 0x79, 0xf5,
  1069. 0xe3, 0xcd, 0x7a, 0x61, 0x6e, 0xea, 0xbc, 0x23, 0x7f, 0xf0, 0x3e, 0xff, 0x3b, 0x00, 0x00, 0xff,
  1070. 0xff, 0xd6, 0x35, 0x68, 0xc8, 0xef, 0x0d, 0x00, 0x00,
  1071. }