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.

2287 lines
84 KiB

6 years ago
6 years ago
6 years ago
6 years ago
  1. // Code generated by protoc-gen-go.
  2. // source: master.proto
  3. // DO NOT EDIT!
  4. /*
  5. Package master_pb is a generated protocol buffer package.
  6. It is generated from these files:
  7. master.proto
  8. It has these top-level messages:
  9. Heartbeat
  10. HeartbeatResponse
  11. VolumeInformationMessage
  12. VolumeShortInformationMessage
  13. VolumeEcShardInformationMessage
  14. StorageBackend
  15. Empty
  16. SuperBlockExtra
  17. KeepConnectedRequest
  18. VolumeLocation
  19. LookupVolumeRequest
  20. LookupVolumeResponse
  21. Location
  22. AssignRequest
  23. AssignResponse
  24. StatisticsRequest
  25. StatisticsResponse
  26. StorageType
  27. Collection
  28. CollectionListRequest
  29. CollectionListResponse
  30. CollectionDeleteRequest
  31. CollectionDeleteResponse
  32. DataNodeInfo
  33. RackInfo
  34. DataCenterInfo
  35. TopologyInfo
  36. VolumeListRequest
  37. VolumeListResponse
  38. LookupEcVolumeRequest
  39. LookupEcVolumeResponse
  40. GetMasterConfigurationRequest
  41. GetMasterConfigurationResponse
  42. ListMasterClientsRequest
  43. ListMasterClientsResponse
  44. LeaseAdminTokenRequest
  45. LeaseAdminTokenResponse
  46. ReleaseAdminTokenRequest
  47. ReleaseAdminTokenResponse
  48. */
  49. package master_pb
  50. import proto "github.com/golang/protobuf/proto"
  51. import fmt "fmt"
  52. import math "math"
  53. import (
  54. context "golang.org/x/net/context"
  55. grpc "google.golang.org/grpc"
  56. )
  57. // Reference imports to suppress errors if they are not otherwise used.
  58. var _ = proto.Marshal
  59. var _ = fmt.Errorf
  60. var _ = math.Inf
  61. // This is a compile-time assertion to ensure that this generated file
  62. // is compatible with the proto package it is being compiled against.
  63. // A compilation error at this line likely means your copy of the
  64. // proto package needs to be updated.
  65. const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package
  66. type Heartbeat struct {
  67. Ip string `protobuf:"bytes,1,opt,name=ip" json:"ip,omitempty"`
  68. Port uint32 `protobuf:"varint,2,opt,name=port" json:"port,omitempty"`
  69. PublicUrl string `protobuf:"bytes,3,opt,name=public_url,json=publicUrl" json:"public_url,omitempty"`
  70. MaxVolumeCount uint32 `protobuf:"varint,4,opt,name=max_volume_count,json=maxVolumeCount" json:"max_volume_count,omitempty"`
  71. MaxFileKey uint64 `protobuf:"varint,5,opt,name=max_file_key,json=maxFileKey" json:"max_file_key,omitempty"`
  72. DataCenter string `protobuf:"bytes,6,opt,name=data_center,json=dataCenter" json:"data_center,omitempty"`
  73. Rack string `protobuf:"bytes,7,opt,name=rack" json:"rack,omitempty"`
  74. AdminPort uint32 `protobuf:"varint,8,opt,name=admin_port,json=adminPort" json:"admin_port,omitempty"`
  75. Volumes []*VolumeInformationMessage `protobuf:"bytes,9,rep,name=volumes" json:"volumes,omitempty"`
  76. // delta volumes
  77. NewVolumes []*VolumeShortInformationMessage `protobuf:"bytes,10,rep,name=new_volumes,json=newVolumes" json:"new_volumes,omitempty"`
  78. DeletedVolumes []*VolumeShortInformationMessage `protobuf:"bytes,11,rep,name=deleted_volumes,json=deletedVolumes" json:"deleted_volumes,omitempty"`
  79. HasNoVolumes bool `protobuf:"varint,12,opt,name=has_no_volumes,json=hasNoVolumes" json:"has_no_volumes,omitempty"`
  80. // erasure coding
  81. EcShards []*VolumeEcShardInformationMessage `protobuf:"bytes,16,rep,name=ec_shards,json=ecShards" json:"ec_shards,omitempty"`
  82. // delta erasure coding shards
  83. NewEcShards []*VolumeEcShardInformationMessage `protobuf:"bytes,17,rep,name=new_ec_shards,json=newEcShards" json:"new_ec_shards,omitempty"`
  84. DeletedEcShards []*VolumeEcShardInformationMessage `protobuf:"bytes,18,rep,name=deleted_ec_shards,json=deletedEcShards" json:"deleted_ec_shards,omitempty"`
  85. HasNoEcShards bool `protobuf:"varint,19,opt,name=has_no_ec_shards,json=hasNoEcShards" json:"has_no_ec_shards,omitempty"`
  86. }
  87. func (m *Heartbeat) Reset() { *m = Heartbeat{} }
  88. func (m *Heartbeat) String() string { return proto.CompactTextString(m) }
  89. func (*Heartbeat) ProtoMessage() {}
  90. func (*Heartbeat) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} }
  91. func (m *Heartbeat) GetIp() string {
  92. if m != nil {
  93. return m.Ip
  94. }
  95. return ""
  96. }
  97. func (m *Heartbeat) GetPort() uint32 {
  98. if m != nil {
  99. return m.Port
  100. }
  101. return 0
  102. }
  103. func (m *Heartbeat) GetPublicUrl() string {
  104. if m != nil {
  105. return m.PublicUrl
  106. }
  107. return ""
  108. }
  109. func (m *Heartbeat) GetMaxVolumeCount() uint32 {
  110. if m != nil {
  111. return m.MaxVolumeCount
  112. }
  113. return 0
  114. }
  115. func (m *Heartbeat) GetMaxFileKey() uint64 {
  116. if m != nil {
  117. return m.MaxFileKey
  118. }
  119. return 0
  120. }
  121. func (m *Heartbeat) GetDataCenter() string {
  122. if m != nil {
  123. return m.DataCenter
  124. }
  125. return ""
  126. }
  127. func (m *Heartbeat) GetRack() string {
  128. if m != nil {
  129. return m.Rack
  130. }
  131. return ""
  132. }
  133. func (m *Heartbeat) GetAdminPort() uint32 {
  134. if m != nil {
  135. return m.AdminPort
  136. }
  137. return 0
  138. }
  139. func (m *Heartbeat) GetVolumes() []*VolumeInformationMessage {
  140. if m != nil {
  141. return m.Volumes
  142. }
  143. return nil
  144. }
  145. func (m *Heartbeat) GetNewVolumes() []*VolumeShortInformationMessage {
  146. if m != nil {
  147. return m.NewVolumes
  148. }
  149. return nil
  150. }
  151. func (m *Heartbeat) GetDeletedVolumes() []*VolumeShortInformationMessage {
  152. if m != nil {
  153. return m.DeletedVolumes
  154. }
  155. return nil
  156. }
  157. func (m *Heartbeat) GetHasNoVolumes() bool {
  158. if m != nil {
  159. return m.HasNoVolumes
  160. }
  161. return false
  162. }
  163. func (m *Heartbeat) GetEcShards() []*VolumeEcShardInformationMessage {
  164. if m != nil {
  165. return m.EcShards
  166. }
  167. return nil
  168. }
  169. func (m *Heartbeat) GetNewEcShards() []*VolumeEcShardInformationMessage {
  170. if m != nil {
  171. return m.NewEcShards
  172. }
  173. return nil
  174. }
  175. func (m *Heartbeat) GetDeletedEcShards() []*VolumeEcShardInformationMessage {
  176. if m != nil {
  177. return m.DeletedEcShards
  178. }
  179. return nil
  180. }
  181. func (m *Heartbeat) GetHasNoEcShards() bool {
  182. if m != nil {
  183. return m.HasNoEcShards
  184. }
  185. return false
  186. }
  187. type HeartbeatResponse struct {
  188. VolumeSizeLimit uint64 `protobuf:"varint,1,opt,name=volume_size_limit,json=volumeSizeLimit" json:"volume_size_limit,omitempty"`
  189. Leader string `protobuf:"bytes,2,opt,name=leader" json:"leader,omitempty"`
  190. MetricsAddress string `protobuf:"bytes,3,opt,name=metrics_address,json=metricsAddress" json:"metrics_address,omitempty"`
  191. MetricsIntervalSeconds uint32 `protobuf:"varint,4,opt,name=metrics_interval_seconds,json=metricsIntervalSeconds" json:"metrics_interval_seconds,omitempty"`
  192. StorageBackends []*StorageBackend `protobuf:"bytes,5,rep,name=storage_backends,json=storageBackends" json:"storage_backends,omitempty"`
  193. }
  194. func (m *HeartbeatResponse) Reset() { *m = HeartbeatResponse{} }
  195. func (m *HeartbeatResponse) String() string { return proto.CompactTextString(m) }
  196. func (*HeartbeatResponse) ProtoMessage() {}
  197. func (*HeartbeatResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{1} }
  198. func (m *HeartbeatResponse) GetVolumeSizeLimit() uint64 {
  199. if m != nil {
  200. return m.VolumeSizeLimit
  201. }
  202. return 0
  203. }
  204. func (m *HeartbeatResponse) GetLeader() string {
  205. if m != nil {
  206. return m.Leader
  207. }
  208. return ""
  209. }
  210. func (m *HeartbeatResponse) GetMetricsAddress() string {
  211. if m != nil {
  212. return m.MetricsAddress
  213. }
  214. return ""
  215. }
  216. func (m *HeartbeatResponse) GetMetricsIntervalSeconds() uint32 {
  217. if m != nil {
  218. return m.MetricsIntervalSeconds
  219. }
  220. return 0
  221. }
  222. func (m *HeartbeatResponse) GetStorageBackends() []*StorageBackend {
  223. if m != nil {
  224. return m.StorageBackends
  225. }
  226. return nil
  227. }
  228. type VolumeInformationMessage struct {
  229. Id uint32 `protobuf:"varint,1,opt,name=id" json:"id,omitempty"`
  230. Size uint64 `protobuf:"varint,2,opt,name=size" json:"size,omitempty"`
  231. Collection string `protobuf:"bytes,3,opt,name=collection" json:"collection,omitempty"`
  232. FileCount uint64 `protobuf:"varint,4,opt,name=file_count,json=fileCount" json:"file_count,omitempty"`
  233. DeleteCount uint64 `protobuf:"varint,5,opt,name=delete_count,json=deleteCount" json:"delete_count,omitempty"`
  234. DeletedByteCount uint64 `protobuf:"varint,6,opt,name=deleted_byte_count,json=deletedByteCount" json:"deleted_byte_count,omitempty"`
  235. ReadOnly bool `protobuf:"varint,7,opt,name=read_only,json=readOnly" json:"read_only,omitempty"`
  236. ReplicaPlacement uint32 `protobuf:"varint,8,opt,name=replica_placement,json=replicaPlacement" json:"replica_placement,omitempty"`
  237. Version uint32 `protobuf:"varint,9,opt,name=version" json:"version,omitempty"`
  238. Ttl uint32 `protobuf:"varint,10,opt,name=ttl" json:"ttl,omitempty"`
  239. CompactRevision uint32 `protobuf:"varint,11,opt,name=compact_revision,json=compactRevision" json:"compact_revision,omitempty"`
  240. ModifiedAtSecond int64 `protobuf:"varint,12,opt,name=modified_at_second,json=modifiedAtSecond" json:"modified_at_second,omitempty"`
  241. RemoteStorageName string `protobuf:"bytes,13,opt,name=remote_storage_name,json=remoteStorageName" json:"remote_storage_name,omitempty"`
  242. RemoteStorageKey string `protobuf:"bytes,14,opt,name=remote_storage_key,json=remoteStorageKey" json:"remote_storage_key,omitempty"`
  243. }
  244. func (m *VolumeInformationMessage) Reset() { *m = VolumeInformationMessage{} }
  245. func (m *VolumeInformationMessage) String() string { return proto.CompactTextString(m) }
  246. func (*VolumeInformationMessage) ProtoMessage() {}
  247. func (*VolumeInformationMessage) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{2} }
  248. func (m *VolumeInformationMessage) GetId() uint32 {
  249. if m != nil {
  250. return m.Id
  251. }
  252. return 0
  253. }
  254. func (m *VolumeInformationMessage) GetSize() uint64 {
  255. if m != nil {
  256. return m.Size
  257. }
  258. return 0
  259. }
  260. func (m *VolumeInformationMessage) GetCollection() string {
  261. if m != nil {
  262. return m.Collection
  263. }
  264. return ""
  265. }
  266. func (m *VolumeInformationMessage) GetFileCount() uint64 {
  267. if m != nil {
  268. return m.FileCount
  269. }
  270. return 0
  271. }
  272. func (m *VolumeInformationMessage) GetDeleteCount() uint64 {
  273. if m != nil {
  274. return m.DeleteCount
  275. }
  276. return 0
  277. }
  278. func (m *VolumeInformationMessage) GetDeletedByteCount() uint64 {
  279. if m != nil {
  280. return m.DeletedByteCount
  281. }
  282. return 0
  283. }
  284. func (m *VolumeInformationMessage) GetReadOnly() bool {
  285. if m != nil {
  286. return m.ReadOnly
  287. }
  288. return false
  289. }
  290. func (m *VolumeInformationMessage) GetReplicaPlacement() uint32 {
  291. if m != nil {
  292. return m.ReplicaPlacement
  293. }
  294. return 0
  295. }
  296. func (m *VolumeInformationMessage) GetVersion() uint32 {
  297. if m != nil {
  298. return m.Version
  299. }
  300. return 0
  301. }
  302. func (m *VolumeInformationMessage) GetTtl() uint32 {
  303. if m != nil {
  304. return m.Ttl
  305. }
  306. return 0
  307. }
  308. func (m *VolumeInformationMessage) GetCompactRevision() uint32 {
  309. if m != nil {
  310. return m.CompactRevision
  311. }
  312. return 0
  313. }
  314. func (m *VolumeInformationMessage) GetModifiedAtSecond() int64 {
  315. if m != nil {
  316. return m.ModifiedAtSecond
  317. }
  318. return 0
  319. }
  320. func (m *VolumeInformationMessage) GetRemoteStorageName() string {
  321. if m != nil {
  322. return m.RemoteStorageName
  323. }
  324. return ""
  325. }
  326. func (m *VolumeInformationMessage) GetRemoteStorageKey() string {
  327. if m != nil {
  328. return m.RemoteStorageKey
  329. }
  330. return ""
  331. }
  332. type VolumeShortInformationMessage struct {
  333. Id uint32 `protobuf:"varint,1,opt,name=id" json:"id,omitempty"`
  334. Collection string `protobuf:"bytes,3,opt,name=collection" json:"collection,omitempty"`
  335. ReplicaPlacement uint32 `protobuf:"varint,8,opt,name=replica_placement,json=replicaPlacement" json:"replica_placement,omitempty"`
  336. Version uint32 `protobuf:"varint,9,opt,name=version" json:"version,omitempty"`
  337. Ttl uint32 `protobuf:"varint,10,opt,name=ttl" json:"ttl,omitempty"`
  338. }
  339. func (m *VolumeShortInformationMessage) Reset() { *m = VolumeShortInformationMessage{} }
  340. func (m *VolumeShortInformationMessage) String() string { return proto.CompactTextString(m) }
  341. func (*VolumeShortInformationMessage) ProtoMessage() {}
  342. func (*VolumeShortInformationMessage) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{3} }
  343. func (m *VolumeShortInformationMessage) GetId() uint32 {
  344. if m != nil {
  345. return m.Id
  346. }
  347. return 0
  348. }
  349. func (m *VolumeShortInformationMessage) GetCollection() string {
  350. if m != nil {
  351. return m.Collection
  352. }
  353. return ""
  354. }
  355. func (m *VolumeShortInformationMessage) GetReplicaPlacement() uint32 {
  356. if m != nil {
  357. return m.ReplicaPlacement
  358. }
  359. return 0
  360. }
  361. func (m *VolumeShortInformationMessage) GetVersion() uint32 {
  362. if m != nil {
  363. return m.Version
  364. }
  365. return 0
  366. }
  367. func (m *VolumeShortInformationMessage) GetTtl() uint32 {
  368. if m != nil {
  369. return m.Ttl
  370. }
  371. return 0
  372. }
  373. type VolumeEcShardInformationMessage struct {
  374. Id uint32 `protobuf:"varint,1,opt,name=id" json:"id,omitempty"`
  375. Collection string `protobuf:"bytes,2,opt,name=collection" json:"collection,omitempty"`
  376. EcIndexBits uint32 `protobuf:"varint,3,opt,name=ec_index_bits,json=ecIndexBits" json:"ec_index_bits,omitempty"`
  377. }
  378. func (m *VolumeEcShardInformationMessage) Reset() { *m = VolumeEcShardInformationMessage{} }
  379. func (m *VolumeEcShardInformationMessage) String() string { return proto.CompactTextString(m) }
  380. func (*VolumeEcShardInformationMessage) ProtoMessage() {}
  381. func (*VolumeEcShardInformationMessage) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{4} }
  382. func (m *VolumeEcShardInformationMessage) GetId() uint32 {
  383. if m != nil {
  384. return m.Id
  385. }
  386. return 0
  387. }
  388. func (m *VolumeEcShardInformationMessage) GetCollection() string {
  389. if m != nil {
  390. return m.Collection
  391. }
  392. return ""
  393. }
  394. func (m *VolumeEcShardInformationMessage) GetEcIndexBits() uint32 {
  395. if m != nil {
  396. return m.EcIndexBits
  397. }
  398. return 0
  399. }
  400. type StorageBackend struct {
  401. Type string `protobuf:"bytes,1,opt,name=type" json:"type,omitempty"`
  402. Id string `protobuf:"bytes,2,opt,name=id" json:"id,omitempty"`
  403. Properties map[string]string `protobuf:"bytes,3,rep,name=properties" json:"properties,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
  404. }
  405. func (m *StorageBackend) Reset() { *m = StorageBackend{} }
  406. func (m *StorageBackend) String() string { return proto.CompactTextString(m) }
  407. func (*StorageBackend) ProtoMessage() {}
  408. func (*StorageBackend) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{5} }
  409. func (m *StorageBackend) GetType() string {
  410. if m != nil {
  411. return m.Type
  412. }
  413. return ""
  414. }
  415. func (m *StorageBackend) GetId() string {
  416. if m != nil {
  417. return m.Id
  418. }
  419. return ""
  420. }
  421. func (m *StorageBackend) GetProperties() map[string]string {
  422. if m != nil {
  423. return m.Properties
  424. }
  425. return nil
  426. }
  427. type Empty struct {
  428. }
  429. func (m *Empty) Reset() { *m = Empty{} }
  430. func (m *Empty) String() string { return proto.CompactTextString(m) }
  431. func (*Empty) ProtoMessage() {}
  432. func (*Empty) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{6} }
  433. type SuperBlockExtra struct {
  434. ErasureCoding *SuperBlockExtra_ErasureCoding `protobuf:"bytes,1,opt,name=erasure_coding,json=erasureCoding" json:"erasure_coding,omitempty"`
  435. }
  436. func (m *SuperBlockExtra) Reset() { *m = SuperBlockExtra{} }
  437. func (m *SuperBlockExtra) String() string { return proto.CompactTextString(m) }
  438. func (*SuperBlockExtra) ProtoMessage() {}
  439. func (*SuperBlockExtra) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{7} }
  440. func (m *SuperBlockExtra) GetErasureCoding() *SuperBlockExtra_ErasureCoding {
  441. if m != nil {
  442. return m.ErasureCoding
  443. }
  444. return nil
  445. }
  446. type SuperBlockExtra_ErasureCoding struct {
  447. Data uint32 `protobuf:"varint,1,opt,name=data" json:"data,omitempty"`
  448. Parity uint32 `protobuf:"varint,2,opt,name=parity" json:"parity,omitempty"`
  449. VolumeIds []uint32 `protobuf:"varint,3,rep,packed,name=volume_ids,json=volumeIds" json:"volume_ids,omitempty"`
  450. }
  451. func (m *SuperBlockExtra_ErasureCoding) Reset() { *m = SuperBlockExtra_ErasureCoding{} }
  452. func (m *SuperBlockExtra_ErasureCoding) String() string { return proto.CompactTextString(m) }
  453. func (*SuperBlockExtra_ErasureCoding) ProtoMessage() {}
  454. func (*SuperBlockExtra_ErasureCoding) Descriptor() ([]byte, []int) {
  455. return fileDescriptor0, []int{7, 0}
  456. }
  457. func (m *SuperBlockExtra_ErasureCoding) GetData() uint32 {
  458. if m != nil {
  459. return m.Data
  460. }
  461. return 0
  462. }
  463. func (m *SuperBlockExtra_ErasureCoding) GetParity() uint32 {
  464. if m != nil {
  465. return m.Parity
  466. }
  467. return 0
  468. }
  469. func (m *SuperBlockExtra_ErasureCoding) GetVolumeIds() []uint32 {
  470. if m != nil {
  471. return m.VolumeIds
  472. }
  473. return nil
  474. }
  475. type KeepConnectedRequest struct {
  476. Name string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
  477. GrpcPort uint32 `protobuf:"varint,2,opt,name=grpc_port,json=grpcPort" json:"grpc_port,omitempty"`
  478. }
  479. func (m *KeepConnectedRequest) Reset() { *m = KeepConnectedRequest{} }
  480. func (m *KeepConnectedRequest) String() string { return proto.CompactTextString(m) }
  481. func (*KeepConnectedRequest) ProtoMessage() {}
  482. func (*KeepConnectedRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{8} }
  483. func (m *KeepConnectedRequest) GetName() string {
  484. if m != nil {
  485. return m.Name
  486. }
  487. return ""
  488. }
  489. func (m *KeepConnectedRequest) GetGrpcPort() uint32 {
  490. if m != nil {
  491. return m.GrpcPort
  492. }
  493. return 0
  494. }
  495. type VolumeLocation struct {
  496. Url string `protobuf:"bytes,1,opt,name=url" json:"url,omitempty"`
  497. PublicUrl string `protobuf:"bytes,2,opt,name=public_url,json=publicUrl" json:"public_url,omitempty"`
  498. NewVids []uint32 `protobuf:"varint,3,rep,packed,name=new_vids,json=newVids" json:"new_vids,omitempty"`
  499. DeletedVids []uint32 `protobuf:"varint,4,rep,packed,name=deleted_vids,json=deletedVids" json:"deleted_vids,omitempty"`
  500. Leader string `protobuf:"bytes,5,opt,name=leader" json:"leader,omitempty"`
  501. }
  502. func (m *VolumeLocation) Reset() { *m = VolumeLocation{} }
  503. func (m *VolumeLocation) String() string { return proto.CompactTextString(m) }
  504. func (*VolumeLocation) ProtoMessage() {}
  505. func (*VolumeLocation) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{9} }
  506. func (m *VolumeLocation) GetUrl() string {
  507. if m != nil {
  508. return m.Url
  509. }
  510. return ""
  511. }
  512. func (m *VolumeLocation) GetPublicUrl() string {
  513. if m != nil {
  514. return m.PublicUrl
  515. }
  516. return ""
  517. }
  518. func (m *VolumeLocation) GetNewVids() []uint32 {
  519. if m != nil {
  520. return m.NewVids
  521. }
  522. return nil
  523. }
  524. func (m *VolumeLocation) GetDeletedVids() []uint32 {
  525. if m != nil {
  526. return m.DeletedVids
  527. }
  528. return nil
  529. }
  530. func (m *VolumeLocation) GetLeader() string {
  531. if m != nil {
  532. return m.Leader
  533. }
  534. return ""
  535. }
  536. type LookupVolumeRequest struct {
  537. VolumeIds []string `protobuf:"bytes,1,rep,name=volume_ids,json=volumeIds" json:"volume_ids,omitempty"`
  538. Collection string `protobuf:"bytes,2,opt,name=collection" json:"collection,omitempty"`
  539. }
  540. func (m *LookupVolumeRequest) Reset() { *m = LookupVolumeRequest{} }
  541. func (m *LookupVolumeRequest) String() string { return proto.CompactTextString(m) }
  542. func (*LookupVolumeRequest) ProtoMessage() {}
  543. func (*LookupVolumeRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{10} }
  544. func (m *LookupVolumeRequest) GetVolumeIds() []string {
  545. if m != nil {
  546. return m.VolumeIds
  547. }
  548. return nil
  549. }
  550. func (m *LookupVolumeRequest) GetCollection() string {
  551. if m != nil {
  552. return m.Collection
  553. }
  554. return ""
  555. }
  556. type LookupVolumeResponse struct {
  557. VolumeIdLocations []*LookupVolumeResponse_VolumeIdLocation `protobuf:"bytes,1,rep,name=volume_id_locations,json=volumeIdLocations" json:"volume_id_locations,omitempty"`
  558. }
  559. func (m *LookupVolumeResponse) Reset() { *m = LookupVolumeResponse{} }
  560. func (m *LookupVolumeResponse) String() string { return proto.CompactTextString(m) }
  561. func (*LookupVolumeResponse) ProtoMessage() {}
  562. func (*LookupVolumeResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{11} }
  563. func (m *LookupVolumeResponse) GetVolumeIdLocations() []*LookupVolumeResponse_VolumeIdLocation {
  564. if m != nil {
  565. return m.VolumeIdLocations
  566. }
  567. return nil
  568. }
  569. type LookupVolumeResponse_VolumeIdLocation struct {
  570. VolumeId string `protobuf:"bytes,1,opt,name=volume_id,json=volumeId" json:"volume_id,omitempty"`
  571. Locations []*Location `protobuf:"bytes,2,rep,name=locations" json:"locations,omitempty"`
  572. Error string `protobuf:"bytes,3,opt,name=error" json:"error,omitempty"`
  573. }
  574. func (m *LookupVolumeResponse_VolumeIdLocation) Reset() { *m = LookupVolumeResponse_VolumeIdLocation{} }
  575. func (m *LookupVolumeResponse_VolumeIdLocation) String() string { return proto.CompactTextString(m) }
  576. func (*LookupVolumeResponse_VolumeIdLocation) ProtoMessage() {}
  577. func (*LookupVolumeResponse_VolumeIdLocation) Descriptor() ([]byte, []int) {
  578. return fileDescriptor0, []int{11, 0}
  579. }
  580. func (m *LookupVolumeResponse_VolumeIdLocation) GetVolumeId() string {
  581. if m != nil {
  582. return m.VolumeId
  583. }
  584. return ""
  585. }
  586. func (m *LookupVolumeResponse_VolumeIdLocation) GetLocations() []*Location {
  587. if m != nil {
  588. return m.Locations
  589. }
  590. return nil
  591. }
  592. func (m *LookupVolumeResponse_VolumeIdLocation) GetError() string {
  593. if m != nil {
  594. return m.Error
  595. }
  596. return ""
  597. }
  598. type Location struct {
  599. Url string `protobuf:"bytes,1,opt,name=url" json:"url,omitempty"`
  600. PublicUrl string `protobuf:"bytes,2,opt,name=public_url,json=publicUrl" json:"public_url,omitempty"`
  601. }
  602. func (m *Location) Reset() { *m = Location{} }
  603. func (m *Location) String() string { return proto.CompactTextString(m) }
  604. func (*Location) ProtoMessage() {}
  605. func (*Location) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{12} }
  606. func (m *Location) GetUrl() string {
  607. if m != nil {
  608. return m.Url
  609. }
  610. return ""
  611. }
  612. func (m *Location) GetPublicUrl() string {
  613. if m != nil {
  614. return m.PublicUrl
  615. }
  616. return ""
  617. }
  618. type AssignRequest struct {
  619. Count uint64 `protobuf:"varint,1,opt,name=count" json:"count,omitempty"`
  620. Replication string `protobuf:"bytes,2,opt,name=replication" json:"replication,omitempty"`
  621. Collection string `protobuf:"bytes,3,opt,name=collection" json:"collection,omitempty"`
  622. Ttl string `protobuf:"bytes,4,opt,name=ttl" json:"ttl,omitempty"`
  623. DataCenter string `protobuf:"bytes,5,opt,name=data_center,json=dataCenter" json:"data_center,omitempty"`
  624. Rack string `protobuf:"bytes,6,opt,name=rack" json:"rack,omitempty"`
  625. DataNode string `protobuf:"bytes,7,opt,name=data_node,json=dataNode" json:"data_node,omitempty"`
  626. MemoryMapMaxSizeMb uint32 `protobuf:"varint,8,opt,name=memory_map_max_size_mb,json=memoryMapMaxSizeMb" json:"memory_map_max_size_mb,omitempty"`
  627. WritableVolumeCount uint32 `protobuf:"varint,9,opt,name=Writable_volume_count,json=WritableVolumeCount" json:"Writable_volume_count,omitempty"`
  628. }
  629. func (m *AssignRequest) Reset() { *m = AssignRequest{} }
  630. func (m *AssignRequest) String() string { return proto.CompactTextString(m) }
  631. func (*AssignRequest) ProtoMessage() {}
  632. func (*AssignRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{13} }
  633. func (m *AssignRequest) GetCount() uint64 {
  634. if m != nil {
  635. return m.Count
  636. }
  637. return 0
  638. }
  639. func (m *AssignRequest) GetReplication() string {
  640. if m != nil {
  641. return m.Replication
  642. }
  643. return ""
  644. }
  645. func (m *AssignRequest) GetCollection() string {
  646. if m != nil {
  647. return m.Collection
  648. }
  649. return ""
  650. }
  651. func (m *AssignRequest) GetTtl() string {
  652. if m != nil {
  653. return m.Ttl
  654. }
  655. return ""
  656. }
  657. func (m *AssignRequest) GetDataCenter() string {
  658. if m != nil {
  659. return m.DataCenter
  660. }
  661. return ""
  662. }
  663. func (m *AssignRequest) GetRack() string {
  664. if m != nil {
  665. return m.Rack
  666. }
  667. return ""
  668. }
  669. func (m *AssignRequest) GetDataNode() string {
  670. if m != nil {
  671. return m.DataNode
  672. }
  673. return ""
  674. }
  675. func (m *AssignRequest) GetMemoryMapMaxSizeMb() uint32 {
  676. if m != nil {
  677. return m.MemoryMapMaxSizeMb
  678. }
  679. return 0
  680. }
  681. func (m *AssignRequest) GetWritableVolumeCount() uint32 {
  682. if m != nil {
  683. return m.WritableVolumeCount
  684. }
  685. return 0
  686. }
  687. type AssignResponse struct {
  688. Fid string `protobuf:"bytes,1,opt,name=fid" json:"fid,omitempty"`
  689. Url string `protobuf:"bytes,2,opt,name=url" json:"url,omitempty"`
  690. PublicUrl string `protobuf:"bytes,3,opt,name=public_url,json=publicUrl" json:"public_url,omitempty"`
  691. Count uint64 `protobuf:"varint,4,opt,name=count" json:"count,omitempty"`
  692. Error string `protobuf:"bytes,5,opt,name=error" json:"error,omitempty"`
  693. Auth string `protobuf:"bytes,6,opt,name=auth" json:"auth,omitempty"`
  694. }
  695. func (m *AssignResponse) Reset() { *m = AssignResponse{} }
  696. func (m *AssignResponse) String() string { return proto.CompactTextString(m) }
  697. func (*AssignResponse) ProtoMessage() {}
  698. func (*AssignResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{14} }
  699. func (m *AssignResponse) GetFid() string {
  700. if m != nil {
  701. return m.Fid
  702. }
  703. return ""
  704. }
  705. func (m *AssignResponse) GetUrl() string {
  706. if m != nil {
  707. return m.Url
  708. }
  709. return ""
  710. }
  711. func (m *AssignResponse) GetPublicUrl() string {
  712. if m != nil {
  713. return m.PublicUrl
  714. }
  715. return ""
  716. }
  717. func (m *AssignResponse) GetCount() uint64 {
  718. if m != nil {
  719. return m.Count
  720. }
  721. return 0
  722. }
  723. func (m *AssignResponse) GetError() string {
  724. if m != nil {
  725. return m.Error
  726. }
  727. return ""
  728. }
  729. func (m *AssignResponse) GetAuth() string {
  730. if m != nil {
  731. return m.Auth
  732. }
  733. return ""
  734. }
  735. type StatisticsRequest struct {
  736. Replication string `protobuf:"bytes,1,opt,name=replication" json:"replication,omitempty"`
  737. Collection string `protobuf:"bytes,2,opt,name=collection" json:"collection,omitempty"`
  738. Ttl string `protobuf:"bytes,3,opt,name=ttl" json:"ttl,omitempty"`
  739. }
  740. func (m *StatisticsRequest) Reset() { *m = StatisticsRequest{} }
  741. func (m *StatisticsRequest) String() string { return proto.CompactTextString(m) }
  742. func (*StatisticsRequest) ProtoMessage() {}
  743. func (*StatisticsRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{15} }
  744. func (m *StatisticsRequest) GetReplication() string {
  745. if m != nil {
  746. return m.Replication
  747. }
  748. return ""
  749. }
  750. func (m *StatisticsRequest) GetCollection() string {
  751. if m != nil {
  752. return m.Collection
  753. }
  754. return ""
  755. }
  756. func (m *StatisticsRequest) GetTtl() string {
  757. if m != nil {
  758. return m.Ttl
  759. }
  760. return ""
  761. }
  762. type StatisticsResponse struct {
  763. Replication string `protobuf:"bytes,1,opt,name=replication" json:"replication,omitempty"`
  764. Collection string `protobuf:"bytes,2,opt,name=collection" json:"collection,omitempty"`
  765. Ttl string `protobuf:"bytes,3,opt,name=ttl" json:"ttl,omitempty"`
  766. TotalSize uint64 `protobuf:"varint,4,opt,name=total_size,json=totalSize" json:"total_size,omitempty"`
  767. UsedSize uint64 `protobuf:"varint,5,opt,name=used_size,json=usedSize" json:"used_size,omitempty"`
  768. FileCount uint64 `protobuf:"varint,6,opt,name=file_count,json=fileCount" json:"file_count,omitempty"`
  769. }
  770. func (m *StatisticsResponse) Reset() { *m = StatisticsResponse{} }
  771. func (m *StatisticsResponse) String() string { return proto.CompactTextString(m) }
  772. func (*StatisticsResponse) ProtoMessage() {}
  773. func (*StatisticsResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{16} }
  774. func (m *StatisticsResponse) GetReplication() string {
  775. if m != nil {
  776. return m.Replication
  777. }
  778. return ""
  779. }
  780. func (m *StatisticsResponse) GetCollection() string {
  781. if m != nil {
  782. return m.Collection
  783. }
  784. return ""
  785. }
  786. func (m *StatisticsResponse) GetTtl() string {
  787. if m != nil {
  788. return m.Ttl
  789. }
  790. return ""
  791. }
  792. func (m *StatisticsResponse) GetTotalSize() uint64 {
  793. if m != nil {
  794. return m.TotalSize
  795. }
  796. return 0
  797. }
  798. func (m *StatisticsResponse) GetUsedSize() uint64 {
  799. if m != nil {
  800. return m.UsedSize
  801. }
  802. return 0
  803. }
  804. func (m *StatisticsResponse) GetFileCount() uint64 {
  805. if m != nil {
  806. return m.FileCount
  807. }
  808. return 0
  809. }
  810. type StorageType struct {
  811. Replication string `protobuf:"bytes,1,opt,name=replication" json:"replication,omitempty"`
  812. Ttl string `protobuf:"bytes,2,opt,name=ttl" json:"ttl,omitempty"`
  813. }
  814. func (m *StorageType) Reset() { *m = StorageType{} }
  815. func (m *StorageType) String() string { return proto.CompactTextString(m) }
  816. func (*StorageType) ProtoMessage() {}
  817. func (*StorageType) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{17} }
  818. func (m *StorageType) GetReplication() string {
  819. if m != nil {
  820. return m.Replication
  821. }
  822. return ""
  823. }
  824. func (m *StorageType) GetTtl() string {
  825. if m != nil {
  826. return m.Ttl
  827. }
  828. return ""
  829. }
  830. type Collection struct {
  831. Name string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
  832. }
  833. func (m *Collection) Reset() { *m = Collection{} }
  834. func (m *Collection) String() string { return proto.CompactTextString(m) }
  835. func (*Collection) ProtoMessage() {}
  836. func (*Collection) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{18} }
  837. func (m *Collection) GetName() string {
  838. if m != nil {
  839. return m.Name
  840. }
  841. return ""
  842. }
  843. type CollectionListRequest struct {
  844. IncludeNormalVolumes bool `protobuf:"varint,1,opt,name=include_normal_volumes,json=includeNormalVolumes" json:"include_normal_volumes,omitempty"`
  845. IncludeEcVolumes bool `protobuf:"varint,2,opt,name=include_ec_volumes,json=includeEcVolumes" json:"include_ec_volumes,omitempty"`
  846. }
  847. func (m *CollectionListRequest) Reset() { *m = CollectionListRequest{} }
  848. func (m *CollectionListRequest) String() string { return proto.CompactTextString(m) }
  849. func (*CollectionListRequest) ProtoMessage() {}
  850. func (*CollectionListRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{19} }
  851. func (m *CollectionListRequest) GetIncludeNormalVolumes() bool {
  852. if m != nil {
  853. return m.IncludeNormalVolumes
  854. }
  855. return false
  856. }
  857. func (m *CollectionListRequest) GetIncludeEcVolumes() bool {
  858. if m != nil {
  859. return m.IncludeEcVolumes
  860. }
  861. return false
  862. }
  863. type CollectionListResponse struct {
  864. Collections []*Collection `protobuf:"bytes,1,rep,name=collections" json:"collections,omitempty"`
  865. }
  866. func (m *CollectionListResponse) Reset() { *m = CollectionListResponse{} }
  867. func (m *CollectionListResponse) String() string { return proto.CompactTextString(m) }
  868. func (*CollectionListResponse) ProtoMessage() {}
  869. func (*CollectionListResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{20} }
  870. func (m *CollectionListResponse) GetCollections() []*Collection {
  871. if m != nil {
  872. return m.Collections
  873. }
  874. return nil
  875. }
  876. type CollectionDeleteRequest struct {
  877. Name string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
  878. }
  879. func (m *CollectionDeleteRequest) Reset() { *m = CollectionDeleteRequest{} }
  880. func (m *CollectionDeleteRequest) String() string { return proto.CompactTextString(m) }
  881. func (*CollectionDeleteRequest) ProtoMessage() {}
  882. func (*CollectionDeleteRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{21} }
  883. func (m *CollectionDeleteRequest) GetName() string {
  884. if m != nil {
  885. return m.Name
  886. }
  887. return ""
  888. }
  889. type CollectionDeleteResponse struct {
  890. }
  891. func (m *CollectionDeleteResponse) Reset() { *m = CollectionDeleteResponse{} }
  892. func (m *CollectionDeleteResponse) String() string { return proto.CompactTextString(m) }
  893. func (*CollectionDeleteResponse) ProtoMessage() {}
  894. func (*CollectionDeleteResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{22} }
  895. //
  896. // volume related
  897. //
  898. type DataNodeInfo struct {
  899. Id string `protobuf:"bytes,1,opt,name=id" json:"id,omitempty"`
  900. VolumeCount uint64 `protobuf:"varint,2,opt,name=volume_count,json=volumeCount" json:"volume_count,omitempty"`
  901. MaxVolumeCount uint64 `protobuf:"varint,3,opt,name=max_volume_count,json=maxVolumeCount" json:"max_volume_count,omitempty"`
  902. FreeVolumeCount uint64 `protobuf:"varint,4,opt,name=free_volume_count,json=freeVolumeCount" json:"free_volume_count,omitempty"`
  903. ActiveVolumeCount uint64 `protobuf:"varint,5,opt,name=active_volume_count,json=activeVolumeCount" json:"active_volume_count,omitempty"`
  904. VolumeInfos []*VolumeInformationMessage `protobuf:"bytes,6,rep,name=volume_infos,json=volumeInfos" json:"volume_infos,omitempty"`
  905. EcShardInfos []*VolumeEcShardInformationMessage `protobuf:"bytes,7,rep,name=ec_shard_infos,json=ecShardInfos" json:"ec_shard_infos,omitempty"`
  906. RemoteVolumeCount uint64 `protobuf:"varint,8,opt,name=remote_volume_count,json=remoteVolumeCount" json:"remote_volume_count,omitempty"`
  907. }
  908. func (m *DataNodeInfo) Reset() { *m = DataNodeInfo{} }
  909. func (m *DataNodeInfo) String() string { return proto.CompactTextString(m) }
  910. func (*DataNodeInfo) ProtoMessage() {}
  911. func (*DataNodeInfo) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{23} }
  912. func (m *DataNodeInfo) GetId() string {
  913. if m != nil {
  914. return m.Id
  915. }
  916. return ""
  917. }
  918. func (m *DataNodeInfo) GetVolumeCount() uint64 {
  919. if m != nil {
  920. return m.VolumeCount
  921. }
  922. return 0
  923. }
  924. func (m *DataNodeInfo) GetMaxVolumeCount() uint64 {
  925. if m != nil {
  926. return m.MaxVolumeCount
  927. }
  928. return 0
  929. }
  930. func (m *DataNodeInfo) GetFreeVolumeCount() uint64 {
  931. if m != nil {
  932. return m.FreeVolumeCount
  933. }
  934. return 0
  935. }
  936. func (m *DataNodeInfo) GetActiveVolumeCount() uint64 {
  937. if m != nil {
  938. return m.ActiveVolumeCount
  939. }
  940. return 0
  941. }
  942. func (m *DataNodeInfo) GetVolumeInfos() []*VolumeInformationMessage {
  943. if m != nil {
  944. return m.VolumeInfos
  945. }
  946. return nil
  947. }
  948. func (m *DataNodeInfo) GetEcShardInfos() []*VolumeEcShardInformationMessage {
  949. if m != nil {
  950. return m.EcShardInfos
  951. }
  952. return nil
  953. }
  954. func (m *DataNodeInfo) GetRemoteVolumeCount() uint64 {
  955. if m != nil {
  956. return m.RemoteVolumeCount
  957. }
  958. return 0
  959. }
  960. type RackInfo struct {
  961. Id string `protobuf:"bytes,1,opt,name=id" json:"id,omitempty"`
  962. VolumeCount uint64 `protobuf:"varint,2,opt,name=volume_count,json=volumeCount" json:"volume_count,omitempty"`
  963. MaxVolumeCount uint64 `protobuf:"varint,3,opt,name=max_volume_count,json=maxVolumeCount" json:"max_volume_count,omitempty"`
  964. FreeVolumeCount uint64 `protobuf:"varint,4,opt,name=free_volume_count,json=freeVolumeCount" json:"free_volume_count,omitempty"`
  965. ActiveVolumeCount uint64 `protobuf:"varint,5,opt,name=active_volume_count,json=activeVolumeCount" json:"active_volume_count,omitempty"`
  966. DataNodeInfos []*DataNodeInfo `protobuf:"bytes,6,rep,name=data_node_infos,json=dataNodeInfos" json:"data_node_infos,omitempty"`
  967. RemoteVolumeCount uint64 `protobuf:"varint,7,opt,name=remote_volume_count,json=remoteVolumeCount" json:"remote_volume_count,omitempty"`
  968. }
  969. func (m *RackInfo) Reset() { *m = RackInfo{} }
  970. func (m *RackInfo) String() string { return proto.CompactTextString(m) }
  971. func (*RackInfo) ProtoMessage() {}
  972. func (*RackInfo) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{24} }
  973. func (m *RackInfo) GetId() string {
  974. if m != nil {
  975. return m.Id
  976. }
  977. return ""
  978. }
  979. func (m *RackInfo) GetVolumeCount() uint64 {
  980. if m != nil {
  981. return m.VolumeCount
  982. }
  983. return 0
  984. }
  985. func (m *RackInfo) GetMaxVolumeCount() uint64 {
  986. if m != nil {
  987. return m.MaxVolumeCount
  988. }
  989. return 0
  990. }
  991. func (m *RackInfo) GetFreeVolumeCount() uint64 {
  992. if m != nil {
  993. return m.FreeVolumeCount
  994. }
  995. return 0
  996. }
  997. func (m *RackInfo) GetActiveVolumeCount() uint64 {
  998. if m != nil {
  999. return m.ActiveVolumeCount
  1000. }
  1001. return 0
  1002. }
  1003. func (m *RackInfo) GetDataNodeInfos() []*DataNodeInfo {
  1004. if m != nil {
  1005. return m.DataNodeInfos
  1006. }
  1007. return nil
  1008. }
  1009. func (m *RackInfo) GetRemoteVolumeCount() uint64 {
  1010. if m != nil {
  1011. return m.RemoteVolumeCount
  1012. }
  1013. return 0
  1014. }
  1015. type DataCenterInfo struct {
  1016. Id string `protobuf:"bytes,1,opt,name=id" json:"id,omitempty"`
  1017. VolumeCount uint64 `protobuf:"varint,2,opt,name=volume_count,json=volumeCount" json:"volume_count,omitempty"`
  1018. MaxVolumeCount uint64 `protobuf:"varint,3,opt,name=max_volume_count,json=maxVolumeCount" json:"max_volume_count,omitempty"`
  1019. FreeVolumeCount uint64 `protobuf:"varint,4,opt,name=free_volume_count,json=freeVolumeCount" json:"free_volume_count,omitempty"`
  1020. ActiveVolumeCount uint64 `protobuf:"varint,5,opt,name=active_volume_count,json=activeVolumeCount" json:"active_volume_count,omitempty"`
  1021. RackInfos []*RackInfo `protobuf:"bytes,6,rep,name=rack_infos,json=rackInfos" json:"rack_infos,omitempty"`
  1022. RemoteVolumeCount uint64 `protobuf:"varint,7,opt,name=remote_volume_count,json=remoteVolumeCount" json:"remote_volume_count,omitempty"`
  1023. }
  1024. func (m *DataCenterInfo) Reset() { *m = DataCenterInfo{} }
  1025. func (m *DataCenterInfo) String() string { return proto.CompactTextString(m) }
  1026. func (*DataCenterInfo) ProtoMessage() {}
  1027. func (*DataCenterInfo) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{25} }
  1028. func (m *DataCenterInfo) GetId() string {
  1029. if m != nil {
  1030. return m.Id
  1031. }
  1032. return ""
  1033. }
  1034. func (m *DataCenterInfo) GetVolumeCount() uint64 {
  1035. if m != nil {
  1036. return m.VolumeCount
  1037. }
  1038. return 0
  1039. }
  1040. func (m *DataCenterInfo) GetMaxVolumeCount() uint64 {
  1041. if m != nil {
  1042. return m.MaxVolumeCount
  1043. }
  1044. return 0
  1045. }
  1046. func (m *DataCenterInfo) GetFreeVolumeCount() uint64 {
  1047. if m != nil {
  1048. return m.FreeVolumeCount
  1049. }
  1050. return 0
  1051. }
  1052. func (m *DataCenterInfo) GetActiveVolumeCount() uint64 {
  1053. if m != nil {
  1054. return m.ActiveVolumeCount
  1055. }
  1056. return 0
  1057. }
  1058. func (m *DataCenterInfo) GetRackInfos() []*RackInfo {
  1059. if m != nil {
  1060. return m.RackInfos
  1061. }
  1062. return nil
  1063. }
  1064. func (m *DataCenterInfo) GetRemoteVolumeCount() uint64 {
  1065. if m != nil {
  1066. return m.RemoteVolumeCount
  1067. }
  1068. return 0
  1069. }
  1070. type TopologyInfo struct {
  1071. Id string `protobuf:"bytes,1,opt,name=id" json:"id,omitempty"`
  1072. VolumeCount uint64 `protobuf:"varint,2,opt,name=volume_count,json=volumeCount" json:"volume_count,omitempty"`
  1073. MaxVolumeCount uint64 `protobuf:"varint,3,opt,name=max_volume_count,json=maxVolumeCount" json:"max_volume_count,omitempty"`
  1074. FreeVolumeCount uint64 `protobuf:"varint,4,opt,name=free_volume_count,json=freeVolumeCount" json:"free_volume_count,omitempty"`
  1075. ActiveVolumeCount uint64 `protobuf:"varint,5,opt,name=active_volume_count,json=activeVolumeCount" json:"active_volume_count,omitempty"`
  1076. DataCenterInfos []*DataCenterInfo `protobuf:"bytes,6,rep,name=data_center_infos,json=dataCenterInfos" json:"data_center_infos,omitempty"`
  1077. RemoteVolumeCount uint64 `protobuf:"varint,7,opt,name=remote_volume_count,json=remoteVolumeCount" json:"remote_volume_count,omitempty"`
  1078. }
  1079. func (m *TopologyInfo) Reset() { *m = TopologyInfo{} }
  1080. func (m *TopologyInfo) String() string { return proto.CompactTextString(m) }
  1081. func (*TopologyInfo) ProtoMessage() {}
  1082. func (*TopologyInfo) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{26} }
  1083. func (m *TopologyInfo) GetId() string {
  1084. if m != nil {
  1085. return m.Id
  1086. }
  1087. return ""
  1088. }
  1089. func (m *TopologyInfo) GetVolumeCount() uint64 {
  1090. if m != nil {
  1091. return m.VolumeCount
  1092. }
  1093. return 0
  1094. }
  1095. func (m *TopologyInfo) GetMaxVolumeCount() uint64 {
  1096. if m != nil {
  1097. return m.MaxVolumeCount
  1098. }
  1099. return 0
  1100. }
  1101. func (m *TopologyInfo) GetFreeVolumeCount() uint64 {
  1102. if m != nil {
  1103. return m.FreeVolumeCount
  1104. }
  1105. return 0
  1106. }
  1107. func (m *TopologyInfo) GetActiveVolumeCount() uint64 {
  1108. if m != nil {
  1109. return m.ActiveVolumeCount
  1110. }
  1111. return 0
  1112. }
  1113. func (m *TopologyInfo) GetDataCenterInfos() []*DataCenterInfo {
  1114. if m != nil {
  1115. return m.DataCenterInfos
  1116. }
  1117. return nil
  1118. }
  1119. func (m *TopologyInfo) GetRemoteVolumeCount() uint64 {
  1120. if m != nil {
  1121. return m.RemoteVolumeCount
  1122. }
  1123. return 0
  1124. }
  1125. type VolumeListRequest struct {
  1126. }
  1127. func (m *VolumeListRequest) Reset() { *m = VolumeListRequest{} }
  1128. func (m *VolumeListRequest) String() string { return proto.CompactTextString(m) }
  1129. func (*VolumeListRequest) ProtoMessage() {}
  1130. func (*VolumeListRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{27} }
  1131. type VolumeListResponse struct {
  1132. TopologyInfo *TopologyInfo `protobuf:"bytes,1,opt,name=topology_info,json=topologyInfo" json:"topology_info,omitempty"`
  1133. VolumeSizeLimitMb uint64 `protobuf:"varint,2,opt,name=volume_size_limit_mb,json=volumeSizeLimitMb" json:"volume_size_limit_mb,omitempty"`
  1134. }
  1135. func (m *VolumeListResponse) Reset() { *m = VolumeListResponse{} }
  1136. func (m *VolumeListResponse) String() string { return proto.CompactTextString(m) }
  1137. func (*VolumeListResponse) ProtoMessage() {}
  1138. func (*VolumeListResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{28} }
  1139. func (m *VolumeListResponse) GetTopologyInfo() *TopologyInfo {
  1140. if m != nil {
  1141. return m.TopologyInfo
  1142. }
  1143. return nil
  1144. }
  1145. func (m *VolumeListResponse) GetVolumeSizeLimitMb() uint64 {
  1146. if m != nil {
  1147. return m.VolumeSizeLimitMb
  1148. }
  1149. return 0
  1150. }
  1151. type LookupEcVolumeRequest struct {
  1152. VolumeId uint32 `protobuf:"varint,1,opt,name=volume_id,json=volumeId" json:"volume_id,omitempty"`
  1153. }
  1154. func (m *LookupEcVolumeRequest) Reset() { *m = LookupEcVolumeRequest{} }
  1155. func (m *LookupEcVolumeRequest) String() string { return proto.CompactTextString(m) }
  1156. func (*LookupEcVolumeRequest) ProtoMessage() {}
  1157. func (*LookupEcVolumeRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{29} }
  1158. func (m *LookupEcVolumeRequest) GetVolumeId() uint32 {
  1159. if m != nil {
  1160. return m.VolumeId
  1161. }
  1162. return 0
  1163. }
  1164. type LookupEcVolumeResponse struct {
  1165. VolumeId uint32 `protobuf:"varint,1,opt,name=volume_id,json=volumeId" json:"volume_id,omitempty"`
  1166. ShardIdLocations []*LookupEcVolumeResponse_EcShardIdLocation `protobuf:"bytes,2,rep,name=shard_id_locations,json=shardIdLocations" json:"shard_id_locations,omitempty"`
  1167. }
  1168. func (m *LookupEcVolumeResponse) Reset() { *m = LookupEcVolumeResponse{} }
  1169. func (m *LookupEcVolumeResponse) String() string { return proto.CompactTextString(m) }
  1170. func (*LookupEcVolumeResponse) ProtoMessage() {}
  1171. func (*LookupEcVolumeResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{30} }
  1172. func (m *LookupEcVolumeResponse) GetVolumeId() uint32 {
  1173. if m != nil {
  1174. return m.VolumeId
  1175. }
  1176. return 0
  1177. }
  1178. func (m *LookupEcVolumeResponse) GetShardIdLocations() []*LookupEcVolumeResponse_EcShardIdLocation {
  1179. if m != nil {
  1180. return m.ShardIdLocations
  1181. }
  1182. return nil
  1183. }
  1184. type LookupEcVolumeResponse_EcShardIdLocation struct {
  1185. ShardId uint32 `protobuf:"varint,1,opt,name=shard_id,json=shardId" json:"shard_id,omitempty"`
  1186. Locations []*Location `protobuf:"bytes,2,rep,name=locations" json:"locations,omitempty"`
  1187. }
  1188. func (m *LookupEcVolumeResponse_EcShardIdLocation) Reset() {
  1189. *m = LookupEcVolumeResponse_EcShardIdLocation{}
  1190. }
  1191. func (m *LookupEcVolumeResponse_EcShardIdLocation) String() string { return proto.CompactTextString(m) }
  1192. func (*LookupEcVolumeResponse_EcShardIdLocation) ProtoMessage() {}
  1193. func (*LookupEcVolumeResponse_EcShardIdLocation) Descriptor() ([]byte, []int) {
  1194. return fileDescriptor0, []int{30, 0}
  1195. }
  1196. func (m *LookupEcVolumeResponse_EcShardIdLocation) GetShardId() uint32 {
  1197. if m != nil {
  1198. return m.ShardId
  1199. }
  1200. return 0
  1201. }
  1202. func (m *LookupEcVolumeResponse_EcShardIdLocation) GetLocations() []*Location {
  1203. if m != nil {
  1204. return m.Locations
  1205. }
  1206. return nil
  1207. }
  1208. type GetMasterConfigurationRequest struct {
  1209. }
  1210. func (m *GetMasterConfigurationRequest) Reset() { *m = GetMasterConfigurationRequest{} }
  1211. func (m *GetMasterConfigurationRequest) String() string { return proto.CompactTextString(m) }
  1212. func (*GetMasterConfigurationRequest) ProtoMessage() {}
  1213. func (*GetMasterConfigurationRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{31} }
  1214. type GetMasterConfigurationResponse struct {
  1215. MetricsAddress string `protobuf:"bytes,1,opt,name=metrics_address,json=metricsAddress" json:"metrics_address,omitempty"`
  1216. MetricsIntervalSeconds uint32 `protobuf:"varint,2,opt,name=metrics_interval_seconds,json=metricsIntervalSeconds" json:"metrics_interval_seconds,omitempty"`
  1217. }
  1218. func (m *GetMasterConfigurationResponse) Reset() { *m = GetMasterConfigurationResponse{} }
  1219. func (m *GetMasterConfigurationResponse) String() string { return proto.CompactTextString(m) }
  1220. func (*GetMasterConfigurationResponse) ProtoMessage() {}
  1221. func (*GetMasterConfigurationResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{32} }
  1222. func (m *GetMasterConfigurationResponse) GetMetricsAddress() string {
  1223. if m != nil {
  1224. return m.MetricsAddress
  1225. }
  1226. return ""
  1227. }
  1228. func (m *GetMasterConfigurationResponse) GetMetricsIntervalSeconds() uint32 {
  1229. if m != nil {
  1230. return m.MetricsIntervalSeconds
  1231. }
  1232. return 0
  1233. }
  1234. type ListMasterClientsRequest struct {
  1235. ClientType string `protobuf:"bytes,1,opt,name=client_type,json=clientType" json:"client_type,omitempty"`
  1236. }
  1237. func (m *ListMasterClientsRequest) Reset() { *m = ListMasterClientsRequest{} }
  1238. func (m *ListMasterClientsRequest) String() string { return proto.CompactTextString(m) }
  1239. func (*ListMasterClientsRequest) ProtoMessage() {}
  1240. func (*ListMasterClientsRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{33} }
  1241. func (m *ListMasterClientsRequest) GetClientType() string {
  1242. if m != nil {
  1243. return m.ClientType
  1244. }
  1245. return ""
  1246. }
  1247. type ListMasterClientsResponse struct {
  1248. GrpcAddresses []string `protobuf:"bytes,1,rep,name=grpc_addresses,json=grpcAddresses" json:"grpc_addresses,omitempty"`
  1249. }
  1250. func (m *ListMasterClientsResponse) Reset() { *m = ListMasterClientsResponse{} }
  1251. func (m *ListMasterClientsResponse) String() string { return proto.CompactTextString(m) }
  1252. func (*ListMasterClientsResponse) ProtoMessage() {}
  1253. func (*ListMasterClientsResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{34} }
  1254. func (m *ListMasterClientsResponse) GetGrpcAddresses() []string {
  1255. if m != nil {
  1256. return m.GrpcAddresses
  1257. }
  1258. return nil
  1259. }
  1260. type LeaseAdminTokenRequest struct {
  1261. PreviousToken int64 `protobuf:"varint,1,opt,name=previous_token,json=previousToken" json:"previous_token,omitempty"`
  1262. PreviousLockTime int64 `protobuf:"varint,2,opt,name=previous_lock_time,json=previousLockTime" json:"previous_lock_time,omitempty"`
  1263. }
  1264. func (m *LeaseAdminTokenRequest) Reset() { *m = LeaseAdminTokenRequest{} }
  1265. func (m *LeaseAdminTokenRequest) String() string { return proto.CompactTextString(m) }
  1266. func (*LeaseAdminTokenRequest) ProtoMessage() {}
  1267. func (*LeaseAdminTokenRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{35} }
  1268. func (m *LeaseAdminTokenRequest) GetPreviousToken() int64 {
  1269. if m != nil {
  1270. return m.PreviousToken
  1271. }
  1272. return 0
  1273. }
  1274. func (m *LeaseAdminTokenRequest) GetPreviousLockTime() int64 {
  1275. if m != nil {
  1276. return m.PreviousLockTime
  1277. }
  1278. return 0
  1279. }
  1280. type LeaseAdminTokenResponse struct {
  1281. Token int64 `protobuf:"varint,1,opt,name=token" json:"token,omitempty"`
  1282. LockTsNs int64 `protobuf:"varint,2,opt,name=lock_ts_ns,json=lockTsNs" json:"lock_ts_ns,omitempty"`
  1283. }
  1284. func (m *LeaseAdminTokenResponse) Reset() { *m = LeaseAdminTokenResponse{} }
  1285. func (m *LeaseAdminTokenResponse) String() string { return proto.CompactTextString(m) }
  1286. func (*LeaseAdminTokenResponse) ProtoMessage() {}
  1287. func (*LeaseAdminTokenResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{36} }
  1288. func (m *LeaseAdminTokenResponse) GetToken() int64 {
  1289. if m != nil {
  1290. return m.Token
  1291. }
  1292. return 0
  1293. }
  1294. func (m *LeaseAdminTokenResponse) GetLockTsNs() int64 {
  1295. if m != nil {
  1296. return m.LockTsNs
  1297. }
  1298. return 0
  1299. }
  1300. type ReleaseAdminTokenRequest struct {
  1301. PreviousToken int64 `protobuf:"varint,1,opt,name=previous_token,json=previousToken" json:"previous_token,omitempty"`
  1302. PreviousLockTime int64 `protobuf:"varint,2,opt,name=previous_lock_time,json=previousLockTime" json:"previous_lock_time,omitempty"`
  1303. }
  1304. func (m *ReleaseAdminTokenRequest) Reset() { *m = ReleaseAdminTokenRequest{} }
  1305. func (m *ReleaseAdminTokenRequest) String() string { return proto.CompactTextString(m) }
  1306. func (*ReleaseAdminTokenRequest) ProtoMessage() {}
  1307. func (*ReleaseAdminTokenRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{37} }
  1308. func (m *ReleaseAdminTokenRequest) GetPreviousToken() int64 {
  1309. if m != nil {
  1310. return m.PreviousToken
  1311. }
  1312. return 0
  1313. }
  1314. func (m *ReleaseAdminTokenRequest) GetPreviousLockTime() int64 {
  1315. if m != nil {
  1316. return m.PreviousLockTime
  1317. }
  1318. return 0
  1319. }
  1320. type ReleaseAdminTokenResponse struct {
  1321. }
  1322. func (m *ReleaseAdminTokenResponse) Reset() { *m = ReleaseAdminTokenResponse{} }
  1323. func (m *ReleaseAdminTokenResponse) String() string { return proto.CompactTextString(m) }
  1324. func (*ReleaseAdminTokenResponse) ProtoMessage() {}
  1325. func (*ReleaseAdminTokenResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{38} }
  1326. func init() {
  1327. proto.RegisterType((*Heartbeat)(nil), "master_pb.Heartbeat")
  1328. proto.RegisterType((*HeartbeatResponse)(nil), "master_pb.HeartbeatResponse")
  1329. proto.RegisterType((*VolumeInformationMessage)(nil), "master_pb.VolumeInformationMessage")
  1330. proto.RegisterType((*VolumeShortInformationMessage)(nil), "master_pb.VolumeShortInformationMessage")
  1331. proto.RegisterType((*VolumeEcShardInformationMessage)(nil), "master_pb.VolumeEcShardInformationMessage")
  1332. proto.RegisterType((*StorageBackend)(nil), "master_pb.StorageBackend")
  1333. proto.RegisterType((*Empty)(nil), "master_pb.Empty")
  1334. proto.RegisterType((*SuperBlockExtra)(nil), "master_pb.SuperBlockExtra")
  1335. proto.RegisterType((*SuperBlockExtra_ErasureCoding)(nil), "master_pb.SuperBlockExtra.ErasureCoding")
  1336. proto.RegisterType((*KeepConnectedRequest)(nil), "master_pb.KeepConnectedRequest")
  1337. proto.RegisterType((*VolumeLocation)(nil), "master_pb.VolumeLocation")
  1338. proto.RegisterType((*LookupVolumeRequest)(nil), "master_pb.LookupVolumeRequest")
  1339. proto.RegisterType((*LookupVolumeResponse)(nil), "master_pb.LookupVolumeResponse")
  1340. proto.RegisterType((*LookupVolumeResponse_VolumeIdLocation)(nil), "master_pb.LookupVolumeResponse.VolumeIdLocation")
  1341. proto.RegisterType((*Location)(nil), "master_pb.Location")
  1342. proto.RegisterType((*AssignRequest)(nil), "master_pb.AssignRequest")
  1343. proto.RegisterType((*AssignResponse)(nil), "master_pb.AssignResponse")
  1344. proto.RegisterType((*StatisticsRequest)(nil), "master_pb.StatisticsRequest")
  1345. proto.RegisterType((*StatisticsResponse)(nil), "master_pb.StatisticsResponse")
  1346. proto.RegisterType((*StorageType)(nil), "master_pb.StorageType")
  1347. proto.RegisterType((*Collection)(nil), "master_pb.Collection")
  1348. proto.RegisterType((*CollectionListRequest)(nil), "master_pb.CollectionListRequest")
  1349. proto.RegisterType((*CollectionListResponse)(nil), "master_pb.CollectionListResponse")
  1350. proto.RegisterType((*CollectionDeleteRequest)(nil), "master_pb.CollectionDeleteRequest")
  1351. proto.RegisterType((*CollectionDeleteResponse)(nil), "master_pb.CollectionDeleteResponse")
  1352. proto.RegisterType((*DataNodeInfo)(nil), "master_pb.DataNodeInfo")
  1353. proto.RegisterType((*RackInfo)(nil), "master_pb.RackInfo")
  1354. proto.RegisterType((*DataCenterInfo)(nil), "master_pb.DataCenterInfo")
  1355. proto.RegisterType((*TopologyInfo)(nil), "master_pb.TopologyInfo")
  1356. proto.RegisterType((*VolumeListRequest)(nil), "master_pb.VolumeListRequest")
  1357. proto.RegisterType((*VolumeListResponse)(nil), "master_pb.VolumeListResponse")
  1358. proto.RegisterType((*LookupEcVolumeRequest)(nil), "master_pb.LookupEcVolumeRequest")
  1359. proto.RegisterType((*LookupEcVolumeResponse)(nil), "master_pb.LookupEcVolumeResponse")
  1360. proto.RegisterType((*LookupEcVolumeResponse_EcShardIdLocation)(nil), "master_pb.LookupEcVolumeResponse.EcShardIdLocation")
  1361. proto.RegisterType((*GetMasterConfigurationRequest)(nil), "master_pb.GetMasterConfigurationRequest")
  1362. proto.RegisterType((*GetMasterConfigurationResponse)(nil), "master_pb.GetMasterConfigurationResponse")
  1363. proto.RegisterType((*ListMasterClientsRequest)(nil), "master_pb.ListMasterClientsRequest")
  1364. proto.RegisterType((*ListMasterClientsResponse)(nil), "master_pb.ListMasterClientsResponse")
  1365. proto.RegisterType((*LeaseAdminTokenRequest)(nil), "master_pb.LeaseAdminTokenRequest")
  1366. proto.RegisterType((*LeaseAdminTokenResponse)(nil), "master_pb.LeaseAdminTokenResponse")
  1367. proto.RegisterType((*ReleaseAdminTokenRequest)(nil), "master_pb.ReleaseAdminTokenRequest")
  1368. proto.RegisterType((*ReleaseAdminTokenResponse)(nil), "master_pb.ReleaseAdminTokenResponse")
  1369. }
  1370. // Reference imports to suppress errors if they are not otherwise used.
  1371. var _ context.Context
  1372. var _ grpc.ClientConn
  1373. // This is a compile-time assertion to ensure that this generated file
  1374. // is compatible with the grpc package it is being compiled against.
  1375. const _ = grpc.SupportPackageIsVersion4
  1376. // Client API for Seaweed service
  1377. type SeaweedClient interface {
  1378. SendHeartbeat(ctx context.Context, opts ...grpc.CallOption) (Seaweed_SendHeartbeatClient, error)
  1379. KeepConnected(ctx context.Context, opts ...grpc.CallOption) (Seaweed_KeepConnectedClient, error)
  1380. LookupVolume(ctx context.Context, in *LookupVolumeRequest, opts ...grpc.CallOption) (*LookupVolumeResponse, error)
  1381. Assign(ctx context.Context, in *AssignRequest, opts ...grpc.CallOption) (*AssignResponse, error)
  1382. Statistics(ctx context.Context, in *StatisticsRequest, opts ...grpc.CallOption) (*StatisticsResponse, error)
  1383. CollectionList(ctx context.Context, in *CollectionListRequest, opts ...grpc.CallOption) (*CollectionListResponse, error)
  1384. CollectionDelete(ctx context.Context, in *CollectionDeleteRequest, opts ...grpc.CallOption) (*CollectionDeleteResponse, error)
  1385. VolumeList(ctx context.Context, in *VolumeListRequest, opts ...grpc.CallOption) (*VolumeListResponse, error)
  1386. LookupEcVolume(ctx context.Context, in *LookupEcVolumeRequest, opts ...grpc.CallOption) (*LookupEcVolumeResponse, error)
  1387. GetMasterConfiguration(ctx context.Context, in *GetMasterConfigurationRequest, opts ...grpc.CallOption) (*GetMasterConfigurationResponse, error)
  1388. ListMasterClients(ctx context.Context, in *ListMasterClientsRequest, opts ...grpc.CallOption) (*ListMasterClientsResponse, error)
  1389. LeaseAdminToken(ctx context.Context, in *LeaseAdminTokenRequest, opts ...grpc.CallOption) (*LeaseAdminTokenResponse, error)
  1390. ReleaseAdminToken(ctx context.Context, in *ReleaseAdminTokenRequest, opts ...grpc.CallOption) (*ReleaseAdminTokenResponse, error)
  1391. }
  1392. type seaweedClient struct {
  1393. cc *grpc.ClientConn
  1394. }
  1395. func NewSeaweedClient(cc *grpc.ClientConn) SeaweedClient {
  1396. return &seaweedClient{cc}
  1397. }
  1398. func (c *seaweedClient) SendHeartbeat(ctx context.Context, opts ...grpc.CallOption) (Seaweed_SendHeartbeatClient, error) {
  1399. stream, err := grpc.NewClientStream(ctx, &_Seaweed_serviceDesc.Streams[0], c.cc, "/master_pb.Seaweed/SendHeartbeat", opts...)
  1400. if err != nil {
  1401. return nil, err
  1402. }
  1403. x := &seaweedSendHeartbeatClient{stream}
  1404. return x, nil
  1405. }
  1406. type Seaweed_SendHeartbeatClient interface {
  1407. Send(*Heartbeat) error
  1408. Recv() (*HeartbeatResponse, error)
  1409. grpc.ClientStream
  1410. }
  1411. type seaweedSendHeartbeatClient struct {
  1412. grpc.ClientStream
  1413. }
  1414. func (x *seaweedSendHeartbeatClient) Send(m *Heartbeat) error {
  1415. return x.ClientStream.SendMsg(m)
  1416. }
  1417. func (x *seaweedSendHeartbeatClient) Recv() (*HeartbeatResponse, error) {
  1418. m := new(HeartbeatResponse)
  1419. if err := x.ClientStream.RecvMsg(m); err != nil {
  1420. return nil, err
  1421. }
  1422. return m, nil
  1423. }
  1424. func (c *seaweedClient) KeepConnected(ctx context.Context, opts ...grpc.CallOption) (Seaweed_KeepConnectedClient, error) {
  1425. stream, err := grpc.NewClientStream(ctx, &_Seaweed_serviceDesc.Streams[1], c.cc, "/master_pb.Seaweed/KeepConnected", opts...)
  1426. if err != nil {
  1427. return nil, err
  1428. }
  1429. x := &seaweedKeepConnectedClient{stream}
  1430. return x, nil
  1431. }
  1432. type Seaweed_KeepConnectedClient interface {
  1433. Send(*KeepConnectedRequest) error
  1434. Recv() (*VolumeLocation, error)
  1435. grpc.ClientStream
  1436. }
  1437. type seaweedKeepConnectedClient struct {
  1438. grpc.ClientStream
  1439. }
  1440. func (x *seaweedKeepConnectedClient) Send(m *KeepConnectedRequest) error {
  1441. return x.ClientStream.SendMsg(m)
  1442. }
  1443. func (x *seaweedKeepConnectedClient) Recv() (*VolumeLocation, error) {
  1444. m := new(VolumeLocation)
  1445. if err := x.ClientStream.RecvMsg(m); err != nil {
  1446. return nil, err
  1447. }
  1448. return m, nil
  1449. }
  1450. func (c *seaweedClient) LookupVolume(ctx context.Context, in *LookupVolumeRequest, opts ...grpc.CallOption) (*LookupVolumeResponse, error) {
  1451. out := new(LookupVolumeResponse)
  1452. err := grpc.Invoke(ctx, "/master_pb.Seaweed/LookupVolume", in, out, c.cc, opts...)
  1453. if err != nil {
  1454. return nil, err
  1455. }
  1456. return out, nil
  1457. }
  1458. func (c *seaweedClient) Assign(ctx context.Context, in *AssignRequest, opts ...grpc.CallOption) (*AssignResponse, error) {
  1459. out := new(AssignResponse)
  1460. err := grpc.Invoke(ctx, "/master_pb.Seaweed/Assign", in, out, c.cc, opts...)
  1461. if err != nil {
  1462. return nil, err
  1463. }
  1464. return out, nil
  1465. }
  1466. func (c *seaweedClient) Statistics(ctx context.Context, in *StatisticsRequest, opts ...grpc.CallOption) (*StatisticsResponse, error) {
  1467. out := new(StatisticsResponse)
  1468. err := grpc.Invoke(ctx, "/master_pb.Seaweed/Statistics", in, out, c.cc, opts...)
  1469. if err != nil {
  1470. return nil, err
  1471. }
  1472. return out, nil
  1473. }
  1474. func (c *seaweedClient) CollectionList(ctx context.Context, in *CollectionListRequest, opts ...grpc.CallOption) (*CollectionListResponse, error) {
  1475. out := new(CollectionListResponse)
  1476. err := grpc.Invoke(ctx, "/master_pb.Seaweed/CollectionList", in, out, c.cc, opts...)
  1477. if err != nil {
  1478. return nil, err
  1479. }
  1480. return out, nil
  1481. }
  1482. func (c *seaweedClient) CollectionDelete(ctx context.Context, in *CollectionDeleteRequest, opts ...grpc.CallOption) (*CollectionDeleteResponse, error) {
  1483. out := new(CollectionDeleteResponse)
  1484. err := grpc.Invoke(ctx, "/master_pb.Seaweed/CollectionDelete", in, out, c.cc, opts...)
  1485. if err != nil {
  1486. return nil, err
  1487. }
  1488. return out, nil
  1489. }
  1490. func (c *seaweedClient) VolumeList(ctx context.Context, in *VolumeListRequest, opts ...grpc.CallOption) (*VolumeListResponse, error) {
  1491. out := new(VolumeListResponse)
  1492. err := grpc.Invoke(ctx, "/master_pb.Seaweed/VolumeList", in, out, c.cc, opts...)
  1493. if err != nil {
  1494. return nil, err
  1495. }
  1496. return out, nil
  1497. }
  1498. func (c *seaweedClient) LookupEcVolume(ctx context.Context, in *LookupEcVolumeRequest, opts ...grpc.CallOption) (*LookupEcVolumeResponse, error) {
  1499. out := new(LookupEcVolumeResponse)
  1500. err := grpc.Invoke(ctx, "/master_pb.Seaweed/LookupEcVolume", in, out, c.cc, opts...)
  1501. if err != nil {
  1502. return nil, err
  1503. }
  1504. return out, nil
  1505. }
  1506. func (c *seaweedClient) GetMasterConfiguration(ctx context.Context, in *GetMasterConfigurationRequest, opts ...grpc.CallOption) (*GetMasterConfigurationResponse, error) {
  1507. out := new(GetMasterConfigurationResponse)
  1508. err := grpc.Invoke(ctx, "/master_pb.Seaweed/GetMasterConfiguration", in, out, c.cc, opts...)
  1509. if err != nil {
  1510. return nil, err
  1511. }
  1512. return out, nil
  1513. }
  1514. func (c *seaweedClient) ListMasterClients(ctx context.Context, in *ListMasterClientsRequest, opts ...grpc.CallOption) (*ListMasterClientsResponse, error) {
  1515. out := new(ListMasterClientsResponse)
  1516. err := grpc.Invoke(ctx, "/master_pb.Seaweed/ListMasterClients", in, out, c.cc, opts...)
  1517. if err != nil {
  1518. return nil, err
  1519. }
  1520. return out, nil
  1521. }
  1522. func (c *seaweedClient) LeaseAdminToken(ctx context.Context, in *LeaseAdminTokenRequest, opts ...grpc.CallOption) (*LeaseAdminTokenResponse, error) {
  1523. out := new(LeaseAdminTokenResponse)
  1524. err := grpc.Invoke(ctx, "/master_pb.Seaweed/LeaseAdminToken", in, out, c.cc, opts...)
  1525. if err != nil {
  1526. return nil, err
  1527. }
  1528. return out, nil
  1529. }
  1530. func (c *seaweedClient) ReleaseAdminToken(ctx context.Context, in *ReleaseAdminTokenRequest, opts ...grpc.CallOption) (*ReleaseAdminTokenResponse, error) {
  1531. out := new(ReleaseAdminTokenResponse)
  1532. err := grpc.Invoke(ctx, "/master_pb.Seaweed/ReleaseAdminToken", in, out, c.cc, opts...)
  1533. if err != nil {
  1534. return nil, err
  1535. }
  1536. return out, nil
  1537. }
  1538. // Server API for Seaweed service
  1539. type SeaweedServer interface {
  1540. SendHeartbeat(Seaweed_SendHeartbeatServer) error
  1541. KeepConnected(Seaweed_KeepConnectedServer) error
  1542. LookupVolume(context.Context, *LookupVolumeRequest) (*LookupVolumeResponse, error)
  1543. Assign(context.Context, *AssignRequest) (*AssignResponse, error)
  1544. Statistics(context.Context, *StatisticsRequest) (*StatisticsResponse, error)
  1545. CollectionList(context.Context, *CollectionListRequest) (*CollectionListResponse, error)
  1546. CollectionDelete(context.Context, *CollectionDeleteRequest) (*CollectionDeleteResponse, error)
  1547. VolumeList(context.Context, *VolumeListRequest) (*VolumeListResponse, error)
  1548. LookupEcVolume(context.Context, *LookupEcVolumeRequest) (*LookupEcVolumeResponse, error)
  1549. GetMasterConfiguration(context.Context, *GetMasterConfigurationRequest) (*GetMasterConfigurationResponse, error)
  1550. ListMasterClients(context.Context, *ListMasterClientsRequest) (*ListMasterClientsResponse, error)
  1551. LeaseAdminToken(context.Context, *LeaseAdminTokenRequest) (*LeaseAdminTokenResponse, error)
  1552. ReleaseAdminToken(context.Context, *ReleaseAdminTokenRequest) (*ReleaseAdminTokenResponse, error)
  1553. }
  1554. func RegisterSeaweedServer(s *grpc.Server, srv SeaweedServer) {
  1555. s.RegisterService(&_Seaweed_serviceDesc, srv)
  1556. }
  1557. func _Seaweed_SendHeartbeat_Handler(srv interface{}, stream grpc.ServerStream) error {
  1558. return srv.(SeaweedServer).SendHeartbeat(&seaweedSendHeartbeatServer{stream})
  1559. }
  1560. type Seaweed_SendHeartbeatServer interface {
  1561. Send(*HeartbeatResponse) error
  1562. Recv() (*Heartbeat, error)
  1563. grpc.ServerStream
  1564. }
  1565. type seaweedSendHeartbeatServer struct {
  1566. grpc.ServerStream
  1567. }
  1568. func (x *seaweedSendHeartbeatServer) Send(m *HeartbeatResponse) error {
  1569. return x.ServerStream.SendMsg(m)
  1570. }
  1571. func (x *seaweedSendHeartbeatServer) Recv() (*Heartbeat, error) {
  1572. m := new(Heartbeat)
  1573. if err := x.ServerStream.RecvMsg(m); err != nil {
  1574. return nil, err
  1575. }
  1576. return m, nil
  1577. }
  1578. func _Seaweed_KeepConnected_Handler(srv interface{}, stream grpc.ServerStream) error {
  1579. return srv.(SeaweedServer).KeepConnected(&seaweedKeepConnectedServer{stream})
  1580. }
  1581. type Seaweed_KeepConnectedServer interface {
  1582. Send(*VolumeLocation) error
  1583. Recv() (*KeepConnectedRequest, error)
  1584. grpc.ServerStream
  1585. }
  1586. type seaweedKeepConnectedServer struct {
  1587. grpc.ServerStream
  1588. }
  1589. func (x *seaweedKeepConnectedServer) Send(m *VolumeLocation) error {
  1590. return x.ServerStream.SendMsg(m)
  1591. }
  1592. func (x *seaweedKeepConnectedServer) Recv() (*KeepConnectedRequest, error) {
  1593. m := new(KeepConnectedRequest)
  1594. if err := x.ServerStream.RecvMsg(m); err != nil {
  1595. return nil, err
  1596. }
  1597. return m, nil
  1598. }
  1599. func _Seaweed_LookupVolume_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  1600. in := new(LookupVolumeRequest)
  1601. if err := dec(in); err != nil {
  1602. return nil, err
  1603. }
  1604. if interceptor == nil {
  1605. return srv.(SeaweedServer).LookupVolume(ctx, in)
  1606. }
  1607. info := &grpc.UnaryServerInfo{
  1608. Server: srv,
  1609. FullMethod: "/master_pb.Seaweed/LookupVolume",
  1610. }
  1611. handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  1612. return srv.(SeaweedServer).LookupVolume(ctx, req.(*LookupVolumeRequest))
  1613. }
  1614. return interceptor(ctx, in, info, handler)
  1615. }
  1616. func _Seaweed_Assign_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  1617. in := new(AssignRequest)
  1618. if err := dec(in); err != nil {
  1619. return nil, err
  1620. }
  1621. if interceptor == nil {
  1622. return srv.(SeaweedServer).Assign(ctx, in)
  1623. }
  1624. info := &grpc.UnaryServerInfo{
  1625. Server: srv,
  1626. FullMethod: "/master_pb.Seaweed/Assign",
  1627. }
  1628. handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  1629. return srv.(SeaweedServer).Assign(ctx, req.(*AssignRequest))
  1630. }
  1631. return interceptor(ctx, in, info, handler)
  1632. }
  1633. func _Seaweed_Statistics_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  1634. in := new(StatisticsRequest)
  1635. if err := dec(in); err != nil {
  1636. return nil, err
  1637. }
  1638. if interceptor == nil {
  1639. return srv.(SeaweedServer).Statistics(ctx, in)
  1640. }
  1641. info := &grpc.UnaryServerInfo{
  1642. Server: srv,
  1643. FullMethod: "/master_pb.Seaweed/Statistics",
  1644. }
  1645. handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  1646. return srv.(SeaweedServer).Statistics(ctx, req.(*StatisticsRequest))
  1647. }
  1648. return interceptor(ctx, in, info, handler)
  1649. }
  1650. func _Seaweed_CollectionList_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  1651. in := new(CollectionListRequest)
  1652. if err := dec(in); err != nil {
  1653. return nil, err
  1654. }
  1655. if interceptor == nil {
  1656. return srv.(SeaweedServer).CollectionList(ctx, in)
  1657. }
  1658. info := &grpc.UnaryServerInfo{
  1659. Server: srv,
  1660. FullMethod: "/master_pb.Seaweed/CollectionList",
  1661. }
  1662. handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  1663. return srv.(SeaweedServer).CollectionList(ctx, req.(*CollectionListRequest))
  1664. }
  1665. return interceptor(ctx, in, info, handler)
  1666. }
  1667. func _Seaweed_CollectionDelete_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  1668. in := new(CollectionDeleteRequest)
  1669. if err := dec(in); err != nil {
  1670. return nil, err
  1671. }
  1672. if interceptor == nil {
  1673. return srv.(SeaweedServer).CollectionDelete(ctx, in)
  1674. }
  1675. info := &grpc.UnaryServerInfo{
  1676. Server: srv,
  1677. FullMethod: "/master_pb.Seaweed/CollectionDelete",
  1678. }
  1679. handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  1680. return srv.(SeaweedServer).CollectionDelete(ctx, req.(*CollectionDeleteRequest))
  1681. }
  1682. return interceptor(ctx, in, info, handler)
  1683. }
  1684. func _Seaweed_VolumeList_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  1685. in := new(VolumeListRequest)
  1686. if err := dec(in); err != nil {
  1687. return nil, err
  1688. }
  1689. if interceptor == nil {
  1690. return srv.(SeaweedServer).VolumeList(ctx, in)
  1691. }
  1692. info := &grpc.UnaryServerInfo{
  1693. Server: srv,
  1694. FullMethod: "/master_pb.Seaweed/VolumeList",
  1695. }
  1696. handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  1697. return srv.(SeaweedServer).VolumeList(ctx, req.(*VolumeListRequest))
  1698. }
  1699. return interceptor(ctx, in, info, handler)
  1700. }
  1701. func _Seaweed_LookupEcVolume_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  1702. in := new(LookupEcVolumeRequest)
  1703. if err := dec(in); err != nil {
  1704. return nil, err
  1705. }
  1706. if interceptor == nil {
  1707. return srv.(SeaweedServer).LookupEcVolume(ctx, in)
  1708. }
  1709. info := &grpc.UnaryServerInfo{
  1710. Server: srv,
  1711. FullMethod: "/master_pb.Seaweed/LookupEcVolume",
  1712. }
  1713. handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  1714. return srv.(SeaweedServer).LookupEcVolume(ctx, req.(*LookupEcVolumeRequest))
  1715. }
  1716. return interceptor(ctx, in, info, handler)
  1717. }
  1718. func _Seaweed_GetMasterConfiguration_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  1719. in := new(GetMasterConfigurationRequest)
  1720. if err := dec(in); err != nil {
  1721. return nil, err
  1722. }
  1723. if interceptor == nil {
  1724. return srv.(SeaweedServer).GetMasterConfiguration(ctx, in)
  1725. }
  1726. info := &grpc.UnaryServerInfo{
  1727. Server: srv,
  1728. FullMethod: "/master_pb.Seaweed/GetMasterConfiguration",
  1729. }
  1730. handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  1731. return srv.(SeaweedServer).GetMasterConfiguration(ctx, req.(*GetMasterConfigurationRequest))
  1732. }
  1733. return interceptor(ctx, in, info, handler)
  1734. }
  1735. func _Seaweed_ListMasterClients_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  1736. in := new(ListMasterClientsRequest)
  1737. if err := dec(in); err != nil {
  1738. return nil, err
  1739. }
  1740. if interceptor == nil {
  1741. return srv.(SeaweedServer).ListMasterClients(ctx, in)
  1742. }
  1743. info := &grpc.UnaryServerInfo{
  1744. Server: srv,
  1745. FullMethod: "/master_pb.Seaweed/ListMasterClients",
  1746. }
  1747. handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  1748. return srv.(SeaweedServer).ListMasterClients(ctx, req.(*ListMasterClientsRequest))
  1749. }
  1750. return interceptor(ctx, in, info, handler)
  1751. }
  1752. func _Seaweed_LeaseAdminToken_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  1753. in := new(LeaseAdminTokenRequest)
  1754. if err := dec(in); err != nil {
  1755. return nil, err
  1756. }
  1757. if interceptor == nil {
  1758. return srv.(SeaweedServer).LeaseAdminToken(ctx, in)
  1759. }
  1760. info := &grpc.UnaryServerInfo{
  1761. Server: srv,
  1762. FullMethod: "/master_pb.Seaweed/LeaseAdminToken",
  1763. }
  1764. handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  1765. return srv.(SeaweedServer).LeaseAdminToken(ctx, req.(*LeaseAdminTokenRequest))
  1766. }
  1767. return interceptor(ctx, in, info, handler)
  1768. }
  1769. func _Seaweed_ReleaseAdminToken_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  1770. in := new(ReleaseAdminTokenRequest)
  1771. if err := dec(in); err != nil {
  1772. return nil, err
  1773. }
  1774. if interceptor == nil {
  1775. return srv.(SeaweedServer).ReleaseAdminToken(ctx, in)
  1776. }
  1777. info := &grpc.UnaryServerInfo{
  1778. Server: srv,
  1779. FullMethod: "/master_pb.Seaweed/ReleaseAdminToken",
  1780. }
  1781. handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  1782. return srv.(SeaweedServer).ReleaseAdminToken(ctx, req.(*ReleaseAdminTokenRequest))
  1783. }
  1784. return interceptor(ctx, in, info, handler)
  1785. }
  1786. var _Seaweed_serviceDesc = grpc.ServiceDesc{
  1787. ServiceName: "master_pb.Seaweed",
  1788. HandlerType: (*SeaweedServer)(nil),
  1789. Methods: []grpc.MethodDesc{
  1790. {
  1791. MethodName: "LookupVolume",
  1792. Handler: _Seaweed_LookupVolume_Handler,
  1793. },
  1794. {
  1795. MethodName: "Assign",
  1796. Handler: _Seaweed_Assign_Handler,
  1797. },
  1798. {
  1799. MethodName: "Statistics",
  1800. Handler: _Seaweed_Statistics_Handler,
  1801. },
  1802. {
  1803. MethodName: "CollectionList",
  1804. Handler: _Seaweed_CollectionList_Handler,
  1805. },
  1806. {
  1807. MethodName: "CollectionDelete",
  1808. Handler: _Seaweed_CollectionDelete_Handler,
  1809. },
  1810. {
  1811. MethodName: "VolumeList",
  1812. Handler: _Seaweed_VolumeList_Handler,
  1813. },
  1814. {
  1815. MethodName: "LookupEcVolume",
  1816. Handler: _Seaweed_LookupEcVolume_Handler,
  1817. },
  1818. {
  1819. MethodName: "GetMasterConfiguration",
  1820. Handler: _Seaweed_GetMasterConfiguration_Handler,
  1821. },
  1822. {
  1823. MethodName: "ListMasterClients",
  1824. Handler: _Seaweed_ListMasterClients_Handler,
  1825. },
  1826. {
  1827. MethodName: "LeaseAdminToken",
  1828. Handler: _Seaweed_LeaseAdminToken_Handler,
  1829. },
  1830. {
  1831. MethodName: "ReleaseAdminToken",
  1832. Handler: _Seaweed_ReleaseAdminToken_Handler,
  1833. },
  1834. },
  1835. Streams: []grpc.StreamDesc{
  1836. {
  1837. StreamName: "SendHeartbeat",
  1838. Handler: _Seaweed_SendHeartbeat_Handler,
  1839. ServerStreams: true,
  1840. ClientStreams: true,
  1841. },
  1842. {
  1843. StreamName: "KeepConnected",
  1844. Handler: _Seaweed_KeepConnected_Handler,
  1845. ServerStreams: true,
  1846. ClientStreams: true,
  1847. },
  1848. },
  1849. Metadata: "master.proto",
  1850. }
  1851. func init() { proto.RegisterFile("master.proto", fileDescriptor0) }
  1852. var fileDescriptor0 = []byte{
  1853. // 2320 bytes of a gzipped FileDescriptorProto
  1854. 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xd4, 0x59, 0x4b, 0x6f, 0x1c, 0xc7,
  1855. 0xf1, 0xd7, 0xee, 0xf2, 0xb1, 0x5b, 0xcb, 0x7d, 0x35, 0x29, 0x6a, 0xb9, 0x7a, 0x90, 0x1a, 0xdb,
  1856. 0x30, 0xa5, 0xbf, 0xff, 0x8c, 0x43, 0x1b, 0x88, 0x11, 0xc7, 0x30, 0x28, 0x8a, 0x56, 0x08, 0x91,
  1857. 0xb4, 0x34, 0x64, 0x64, 0xc0, 0x40, 0x30, 0xee, 0x9d, 0x69, 0x52, 0x03, 0xce, 0x2b, 0xd3, 0xbd,
  1858. 0x14, 0xd7, 0xb9, 0x04, 0xc8, 0x31, 0xa7, 0x20, 0x87, 0x7c, 0x85, 0x5c, 0x72, 0x4a, 0xce, 0xbe,
  1859. 0xe4, 0x1b, 0xe5, 0x92, 0x83, 0x2f, 0x41, 0xbf, 0x66, 0x7a, 0x66, 0x77, 0x49, 0xd3, 0x80, 0x03,
  1860. 0xe8, 0x36, 0x5d, 0x55, 0x5d, 0x5d, 0xf3, 0xab, 0xee, 0xaa, 0x5f, 0xcf, 0xc0, 0x52, 0x88, 0x29,
  1861. 0x23, 0xe9, 0x56, 0x92, 0xc6, 0x2c, 0x46, 0x0d, 0x39, 0x72, 0x92, 0xa1, 0xf5, 0xa7, 0x05, 0x68,
  1862. 0xfc, 0x9a, 0xe0, 0x94, 0x0d, 0x09, 0x66, 0xa8, 0x0d, 0x55, 0x3f, 0xe9, 0x57, 0x36, 0x2a, 0x9b,
  1863. 0x0d, 0xbb, 0xea, 0x27, 0x08, 0xc1, 0x5c, 0x12, 0xa7, 0xac, 0x5f, 0xdd, 0xa8, 0x6c, 0xb6, 0x6c,
  1864. 0xf1, 0x8c, 0xee, 0x03, 0x24, 0xa3, 0x61, 0xe0, 0xbb, 0xce, 0x28, 0x0d, 0xfa, 0x35, 0x61, 0xdb,
  1865. 0x90, 0x92, 0xdf, 0xa4, 0x01, 0xda, 0x84, 0x6e, 0x88, 0x2f, 0x9d, 0x8b, 0x38, 0x18, 0x85, 0xc4,
  1866. 0x71, 0xe3, 0x51, 0xc4, 0xfa, 0x73, 0x62, 0x7a, 0x3b, 0xc4, 0x97, 0xaf, 0x84, 0x78, 0x97, 0x4b,
  1867. 0xd1, 0x06, 0x8f, 0xea, 0xd2, 0x39, 0xf5, 0x03, 0xe2, 0x9c, 0x93, 0x71, 0x7f, 0x7e, 0xa3, 0xb2,
  1868. 0x39, 0x67, 0x43, 0x88, 0x2f, 0xbf, 0xf0, 0x03, 0xf2, 0x9c, 0x8c, 0xd1, 0x3a, 0x34, 0x3d, 0xcc,
  1869. 0xb0, 0xe3, 0x92, 0x88, 0x91, 0xb4, 0xbf, 0x20, 0xd6, 0x02, 0x2e, 0xda, 0x15, 0x12, 0x1e, 0x5f,
  1870. 0x8a, 0xdd, 0xf3, 0xfe, 0xa2, 0xd0, 0x88, 0x67, 0x1e, 0x1f, 0xf6, 0x42, 0x3f, 0x72, 0x44, 0xe4,
  1871. 0x75, 0xb1, 0x74, 0x43, 0x48, 0x5e, 0xf0, 0xf0, 0x3f, 0x83, 0x45, 0x19, 0x1b, 0xed, 0x37, 0x36,
  1872. 0x6a, 0x9b, 0xcd, 0xed, 0x77, 0xb6, 0x32, 0x34, 0xb6, 0x64, 0x78, 0xfb, 0xd1, 0x69, 0x9c, 0x86,
  1873. 0x98, 0xf9, 0x71, 0x74, 0x48, 0x28, 0xc5, 0x67, 0xc4, 0xd6, 0x73, 0xd0, 0x3e, 0x34, 0x23, 0xf2,
  1874. 0xc6, 0xd1, 0x2e, 0x40, 0xb8, 0xd8, 0x9c, 0x70, 0x71, 0xfc, 0x3a, 0x4e, 0xd9, 0x14, 0x3f, 0x10,
  1875. 0x91, 0x37, 0xaf, 0x94, 0xab, 0x97, 0xd0, 0xf1, 0x48, 0x40, 0x18, 0xf1, 0x32, 0x77, 0xcd, 0x1b,
  1876. 0xba, 0x6b, 0x2b, 0x07, 0xda, 0xe5, 0xbb, 0xd0, 0x7e, 0x8d, 0xa9, 0x13, 0xc5, 0x99, 0xc7, 0xa5,
  1877. 0x8d, 0xca, 0x66, 0xdd, 0x5e, 0x7a, 0x8d, 0xe9, 0x51, 0xac, 0xad, 0x9e, 0x41, 0x83, 0xb8, 0x0e,
  1878. 0x7d, 0x8d, 0x53, 0x8f, 0xf6, 0xbb, 0x62, 0xc9, 0xc7, 0x13, 0x4b, 0xee, 0xb9, 0xc7, 0xdc, 0x60,
  1879. 0xca, 0xa2, 0x75, 0x22, 0x55, 0x14, 0x1d, 0x41, 0x8b, 0x83, 0x91, 0x3b, 0xeb, 0xdd, 0xd8, 0x19,
  1880. 0x47, 0x73, 0x4f, 0xfb, 0x7b, 0x05, 0x3d, 0x8d, 0x48, 0xee, 0x13, 0xdd, 0xd8, 0xa7, 0x86, 0x35,
  1881. 0xf3, 0xfb, 0x3e, 0x74, 0x15, 0x2c, 0xb9, 0xdb, 0x65, 0x01, 0x4c, 0x4b, 0x00, 0xa3, 0x0d, 0xad,
  1882. 0x3f, 0x54, 0xa1, 0x97, 0x9d, 0x06, 0x9b, 0xd0, 0x24, 0x8e, 0x28, 0x41, 0x8f, 0xa1, 0xa7, 0xb6,
  1883. 0x33, 0xf5, 0xbf, 0x25, 0x4e, 0xe0, 0x87, 0x3e, 0x13, 0x87, 0x64, 0xce, 0xee, 0x48, 0xc5, 0xb1,
  1884. 0xff, 0x2d, 0x39, 0xe0, 0x62, 0xb4, 0x0a, 0x0b, 0x01, 0xc1, 0x1e, 0x49, 0xc5, 0x99, 0x69, 0xd8,
  1885. 0x6a, 0x84, 0xde, 0x87, 0x4e, 0x48, 0x58, 0xea, 0xbb, 0xd4, 0xc1, 0x9e, 0x97, 0x12, 0x4a, 0xd5,
  1886. 0xd1, 0x69, 0x2b, 0xf1, 0x8e, 0x94, 0xa2, 0x4f, 0xa0, 0xaf, 0x0d, 0x7d, 0xbe, 0xc7, 0x2f, 0x70,
  1887. 0xe0, 0x50, 0xe2, 0xc6, 0x91, 0x47, 0xd5, 0x39, 0x5a, 0x55, 0xfa, 0x7d, 0xa5, 0x3e, 0x96, 0x5a,
  1888. 0xf4, 0x14, 0xba, 0x94, 0xc5, 0x29, 0x3e, 0x23, 0xce, 0x10, 0xbb, 0xe7, 0x84, 0xcf, 0x98, 0x17,
  1889. 0xe0, 0xad, 0x19, 0xe0, 0x1d, 0x4b, 0x93, 0x27, 0xd2, 0xc2, 0xee, 0xd0, 0xc2, 0x98, 0x5a, 0xdf,
  1890. 0xd7, 0xa0, 0x3f, 0xeb, 0x18, 0x88, 0xfa, 0xe0, 0x89, 0x57, 0x6f, 0xd9, 0x55, 0xdf, 0xe3, 0xe7,
  1891. 0x8f, 0x43, 0x22, 0xde, 0x75, 0xce, 0x16, 0xcf, 0xe8, 0x01, 0x80, 0x1b, 0x07, 0x01, 0x71, 0xf9,
  1892. 0x44, 0xf5, 0x92, 0x86, 0x84, 0x9f, 0x4f, 0x71, 0xe4, 0xf3, 0xd2, 0x30, 0x67, 0x37, 0xb8, 0x44,
  1893. 0x56, 0x85, 0x87, 0xb0, 0x24, 0xd3, 0xa7, 0x0c, 0x64, 0x55, 0x68, 0x4a, 0x99, 0x34, 0xf9, 0x00,
  1894. 0x90, 0xde, 0x26, 0xc3, 0x71, 0x66, 0xb8, 0x20, 0x0c, 0xbb, 0x4a, 0xf3, 0x64, 0xac, 0xad, 0xef,
  1895. 0x42, 0x23, 0x25, 0xd8, 0x73, 0xe2, 0x28, 0x18, 0x8b, 0x42, 0x51, 0xb7, 0xeb, 0x5c, 0xf0, 0x65,
  1896. 0x14, 0x8c, 0xd1, 0xff, 0x41, 0x2f, 0x25, 0x49, 0xe0, 0xbb, 0xd8, 0x49, 0x02, 0xec, 0x92, 0x90,
  1897. 0x44, 0xba, 0x66, 0x74, 0x95, 0xe2, 0x85, 0x96, 0xa3, 0x3e, 0x2c, 0x5e, 0x90, 0x94, 0xf2, 0xd7,
  1898. 0x6a, 0x08, 0x13, 0x3d, 0x44, 0x5d, 0xa8, 0x31, 0x16, 0xf4, 0x41, 0x48, 0xf9, 0x23, 0x7a, 0x04,
  1899. 0x5d, 0x37, 0x0e, 0x13, 0xec, 0x32, 0x27, 0x25, 0x17, 0xbe, 0x98, 0xd4, 0x14, 0xea, 0x8e, 0x92,
  1900. 0xdb, 0x4a, 0xcc, 0x5f, 0x27, 0x8c, 0x3d, 0xff, 0xd4, 0x27, 0x9e, 0x83, 0x99, 0x4a, 0xb6, 0x38,
  1901. 0xb8, 0x35, 0xbb, 0xab, 0x35, 0x3b, 0x4c, 0xa6, 0x19, 0x6d, 0xc1, 0x72, 0x4a, 0xc2, 0x98, 0x11,
  1902. 0x47, 0x27, 0x3b, 0xc2, 0x21, 0xe9, 0xb7, 0x04, 0xce, 0x3d, 0xa9, 0x52, 0x39, 0x3e, 0xc2, 0x21,
  1903. 0xe1, 0xde, 0x4b, 0xf6, 0xbc, 0xd6, 0xb6, 0x85, 0x79, 0xb7, 0x60, 0xfe, 0x9c, 0x8c, 0xad, 0xbf,
  1904. 0x55, 0xe0, 0xfe, 0x95, 0x25, 0x67, 0x62, 0x0b, 0x5c, 0x97, 0xee, 0x9f, 0x0a, 0x61, 0x6b, 0x04,
  1905. 0xeb, 0xd7, 0x14, 0x82, 0x6b, 0x62, 0xad, 0x4e, 0xc4, 0x6a, 0x41, 0x8b, 0xb8, 0x8e, 0x1f, 0x79,
  1906. 0xe4, 0xd2, 0x19, 0xfa, 0x4c, 0x1e, 0xd1, 0x96, 0xdd, 0x24, 0xee, 0x3e, 0x97, 0x3d, 0xf1, 0x19,
  1907. 0xb5, 0xbe, 0xab, 0x40, 0xbb, 0x78, 0x86, 0xf8, 0x29, 0x60, 0xe3, 0x84, 0xa8, 0xbe, 0x29, 0x9e,
  1908. 0xd5, 0xd2, 0x55, 0xd5, 0x49, 0x3d, 0xb4, 0x0f, 0x90, 0xa4, 0x71, 0x42, 0x52, 0xe6, 0x13, 0xee,
  1909. 0x97, 0x1f, 0xcb, 0x47, 0x33, 0x8f, 0xe5, 0xd6, 0x8b, 0xcc, 0x76, 0x2f, 0x62, 0xe9, 0xd8, 0x36,
  1910. 0x26, 0x0f, 0x3e, 0x83, 0x4e, 0x49, 0xcd, 0xd1, 0xe1, 0x59, 0x95, 0x01, 0xf0, 0x47, 0xb4, 0x02,
  1911. 0xf3, 0x17, 0x38, 0x18, 0x11, 0x15, 0x82, 0x1c, 0xfc, 0xb2, 0xfa, 0x49, 0xc5, 0x5a, 0x84, 0xf9,
  1912. 0xbd, 0x30, 0x61, 0x63, 0xfe, 0x26, 0x9d, 0xe3, 0x51, 0x42, 0xd2, 0x27, 0x41, 0xec, 0x9e, 0xef,
  1913. 0x5d, 0xb2, 0x14, 0xa3, 0x2f, 0xa1, 0x4d, 0x52, 0x4c, 0x47, 0x29, 0x3f, 0x55, 0x9e, 0x1f, 0x9d,
  1914. 0x09, 0x9f, 0xc5, 0x96, 0x54, 0x9a, 0xb3, 0xb5, 0x27, 0x27, 0xec, 0x0a, 0x7b, 0xbb, 0x45, 0xcc,
  1915. 0xe1, 0xe0, 0x6b, 0x68, 0x15, 0xf4, 0x1c, 0x2c, 0xde, 0xc0, 0x55, 0x56, 0xc4, 0x33, 0x2f, 0x9a,
  1916. 0x09, 0x4e, 0x7d, 0x36, 0x56, 0x44, 0x43, 0x8d, 0x78, 0xa9, 0x50, 0x85, 0xd7, 0xf7, 0x24, 0x68,
  1917. 0x2d, 0xbb, 0x21, 0x25, 0xfb, 0x1e, 0xb5, 0x9e, 0xc1, 0xca, 0x73, 0x42, 0x92, 0xdd, 0x38, 0x8a,
  1918. 0x88, 0xcb, 0x88, 0x67, 0x93, 0xdf, 0x8d, 0x08, 0x65, 0x7c, 0x09, 0x71, 0x26, 0x54, 0x3e, 0xf8,
  1919. 0x33, 0xaf, 0x02, 0x67, 0x69, 0xe2, 0x3a, 0x06, 0x9d, 0xa9, 0x73, 0x01, 0xe7, 0x04, 0xd6, 0x5f,
  1920. 0x2b, 0xd0, 0x96, 0x7b, 0xe9, 0x20, 0x76, 0xc5, 0x0e, 0xe2, 0x88, 0x72, 0x7a, 0xa3, 0x10, 0x1d,
  1921. 0xa5, 0x41, 0x89, 0xf7, 0x54, 0xcb, 0xbc, 0x67, 0x0d, 0xea, 0x82, 0x18, 0xe4, 0x91, 0x2e, 0xf2,
  1922. 0x5e, 0xef, 0x7b, 0x34, 0x2f, 0x69, 0x9e, 0x54, 0xcf, 0x09, 0x75, 0x53, 0xf7, 0x6e, 0x6e, 0x92,
  1923. 0xb7, 0x8d, 0x79, 0xb3, 0x6d, 0x58, 0x27, 0xb0, 0x7c, 0x10, 0xc7, 0xe7, 0xa3, 0x44, 0x86, 0xa7,
  1924. 0xdf, 0xb0, 0x08, 0x4c, 0x65, 0xa3, 0xc6, 0x63, 0xc9, 0x80, 0xb9, 0x6e, 0x9f, 0x5b, 0xff, 0xae,
  1925. 0xc0, 0x4a, 0xd1, 0xad, 0xea, 0x74, 0xdf, 0xc0, 0x72, 0xe6, 0xd7, 0x09, 0x14, 0x16, 0x72, 0x81,
  1926. 0xe6, 0xf6, 0x87, 0xc6, 0x1e, 0x98, 0x36, 0x5b, 0xb3, 0x27, 0x4f, 0x83, 0x68, 0xf7, 0x2e, 0x4a,
  1927. 0x12, 0x3a, 0xb8, 0x84, 0x6e, 0xd9, 0x8c, 0xe7, 0x26, 0x5b, 0x55, 0x21, 0x5e, 0xd7, 0x33, 0xd1,
  1928. 0xcf, 0xa1, 0x91, 0x07, 0x52, 0x15, 0x81, 0x2c, 0x17, 0x02, 0x51, 0x6b, 0xe5, 0x56, 0x7c, 0xef,
  1929. 0x93, 0x34, 0x8d, 0x53, 0x55, 0x8d, 0xe4, 0xc0, 0xfa, 0x14, 0xea, 0x3f, 0x3a, 0xbb, 0xd6, 0x3f,
  1930. 0xaa, 0xd0, 0xda, 0xa1, 0xd4, 0x3f, 0x8b, 0x74, 0x0a, 0x56, 0x60, 0x5e, 0xf6, 0x1d, 0x49, 0x04,
  1931. 0xe4, 0x00, 0x6d, 0x40, 0x53, 0x15, 0x35, 0x03, 0x7a, 0x53, 0x74, 0x6d, 0xbd, 0x54, 0x85, 0x6e,
  1932. 0x4e, 0x86, 0xc6, 0x5b, 0x49, 0x89, 0x05, 0xcf, 0xcf, 0x64, 0xc1, 0x0b, 0x06, 0x0b, 0xbe, 0x0b,
  1933. 0x0d, 0x31, 0x29, 0x8a, 0x3d, 0xa2, 0xe8, 0x71, 0x9d, 0x0b, 0x8e, 0x62, 0x8f, 0xa0, 0x6d, 0x58,
  1934. 0x0d, 0x49, 0x18, 0xa7, 0x63, 0x27, 0xc4, 0x89, 0xc3, 0x49, 0xb8, 0x20, 0x36, 0xe1, 0x50, 0x15,
  1935. 0x66, 0x24, 0xb5, 0x87, 0x38, 0x39, 0xc4, 0x97, 0x9c, 0xdb, 0x1c, 0x0e, 0xd1, 0x36, 0xdc, 0xfe,
  1936. 0x2a, 0xf5, 0x19, 0x1e, 0x06, 0xa4, 0x48, 0xee, 0x65, 0xa1, 0x5e, 0xd6, 0x4a, 0x83, 0xe1, 0x5b,
  1937. 0x7f, 0xa9, 0x40, 0x5b, 0xa3, 0xa6, 0x76, 0x58, 0x17, 0x6a, 0xa7, 0x59, 0x96, 0xf9, 0xa3, 0xce,
  1938. 0x45, 0x75, 0x56, 0x2e, 0x26, 0x6e, 0x18, 0x19, 0xf2, 0x73, 0x26, 0xf2, 0x59, 0xd2, 0xe7, 0x8d,
  1939. 0xa4, 0x73, 0x68, 0xf0, 0x88, 0xbd, 0xd6, 0xd0, 0xf0, 0x67, 0xeb, 0x0c, 0x7a, 0xc7, 0x0c, 0x33,
  1940. 0x9f, 0x32, 0xdf, 0xa5, 0x3a, 0x9d, 0xa5, 0xc4, 0x55, 0xae, 0x4b, 0x5c, 0x75, 0x56, 0xe2, 0x6a,
  1941. 0x59, 0xe2, 0xac, 0x7f, 0x55, 0x00, 0x99, 0x2b, 0x29, 0x08, 0x7e, 0x82, 0xa5, 0x38, 0x64, 0x2c,
  1942. 0x66, 0x9c, 0x2a, 0x72, 0x3a, 0xa6, 0x48, 0x95, 0x90, 0xf0, 0xf4, 0xf1, 0xdd, 0x30, 0xa2, 0xc4,
  1943. 0x93, 0x5a, 0xc9, 0xa8, 0xea, 0x5c, 0x20, 0x94, 0x45, 0x42, 0xb6, 0x50, 0x22, 0x64, 0xd6, 0x0e,
  1944. 0x34, 0x55, 0x73, 0x3a, 0xe1, 0x8d, 0xed, 0xfa, 0xe8, 0x55, 0x74, 0xd5, 0x1c, 0x88, 0x0d, 0x80,
  1945. 0xdd, 0x3c, 0xfa, 0x29, 0xe5, 0xd9, 0xfa, 0x3d, 0xdc, 0xce, 0x2d, 0x0e, 0x7c, 0xca, 0x74, 0x5e,
  1946. 0x3e, 0x86, 0x55, 0x3f, 0x72, 0x83, 0x91, 0x47, 0x9c, 0x88, 0xb7, 0xf7, 0x20, 0xbb, 0xd9, 0x54,
  1947. 0x04, 0x95, 0x5b, 0x51, 0xda, 0x23, 0xa1, 0xd4, 0x37, 0x9c, 0x0f, 0x00, 0xe9, 0x59, 0xc4, 0xcd,
  1948. 0x66, 0x54, 0xc5, 0x8c, 0xae, 0xd2, 0xec, 0xb9, 0xca, 0xda, 0x7a, 0x09, 0xab, 0xe5, 0xc5, 0x55,
  1949. 0xaa, 0x7e, 0x01, 0xcd, 0x1c, 0x76, 0x5d, 0x07, 0x6f, 0x1b, 0xe5, 0x27, 0x9f, 0x67, 0x9b, 0x96,
  1950. 0xd6, 0xff, 0xc3, 0x9d, 0x5c, 0xf5, 0x54, 0x14, 0xfa, 0x2b, 0xba, 0x93, 0x35, 0x80, 0xfe, 0xa4,
  1951. 0xb9, 0x8c, 0xc1, 0xfa, 0x73, 0x0d, 0x96, 0x9e, 0xaa, 0x93, 0xcb, 0x39, 0x8e, 0xc1, 0x6a, 0x24,
  1952. 0xb5, 0x78, 0x08, 0x4b, 0x85, 0x03, 0x29, 0xc9, 0x78, 0xf3, 0xc2, 0xb8, 0x6a, 0x4f, 0xbb, 0x94,
  1953. 0xd7, 0x84, 0x59, 0xf9, 0x52, 0xfe, 0x18, 0x7a, 0xa7, 0x29, 0x21, 0x93, 0xf7, 0xf7, 0x39, 0xbb,
  1954. 0xc3, 0x15, 0xa6, 0xed, 0x16, 0x2c, 0x63, 0x97, 0xf9, 0x17, 0x25, 0x6b, 0xb9, 0xbf, 0x7a, 0x52,
  1955. 0x65, 0xda, 0x7f, 0x91, 0x05, 0xea, 0x47, 0xa7, 0x31, 0xed, 0x2f, 0xfc, 0xf0, 0xfb, 0xb7, 0x7a,
  1956. 0x1b, 0xae, 0xa1, 0xe8, 0x05, 0xb4, 0xf5, 0x3d, 0x4e, 0x79, 0x5a, 0xbc, 0xf1, 0x1d, 0x71, 0x89,
  1957. 0xe4, 0x2a, 0x6a, 0x90, 0xea, 0xc2, 0x9b, 0xd4, 0xe5, 0x9b, 0x48, 0x95, 0x59, 0xd8, 0xfe, 0x59,
  1958. 0x85, 0xba, 0x8d, 0xdd, 0xf3, 0xb7, 0x3b, 0x1f, 0x9f, 0x43, 0x27, 0xeb, 0x11, 0x85, 0x94, 0xdc,
  1959. 0x31, 0x80, 0x34, 0xb7, 0x9e, 0xdd, 0xf2, 0x8c, 0xd1, 0x4c, 0xd8, 0x16, 0x67, 0xc1, 0xf6, 0xf7,
  1960. 0x2a, 0xb4, 0x9f, 0x66, 0x7d, 0xeb, 0xed, 0x06, 0x6f, 0x1b, 0x80, 0x37, 0xda, 0x02, 0x6e, 0x26,
  1961. 0x31, 0xd1, 0xdb, 0xc3, 0x6e, 0xa4, 0xea, 0xe9, 0xe6, 0x78, 0x7d, 0x57, 0x85, 0xa5, 0x93, 0x38,
  1962. 0x89, 0x83, 0xf8, 0x6c, 0xfc, 0x76, 0xa3, 0xb5, 0x07, 0x3d, 0x83, 0xc3, 0x14, 0x40, 0x5b, 0x2b,
  1963. 0x6d, 0xb6, 0x7c, 0x73, 0xd8, 0x1d, 0xaf, 0x30, 0xbe, 0x39, 0x80, 0xcb, 0xd0, 0x53, 0xbc, 0x3e,
  1964. 0x6f, 0x29, 0xd6, 0x1f, 0x2b, 0x80, 0x4c, 0xa9, 0xaa, 0xf5, 0xbf, 0x82, 0x16, 0x53, 0x58, 0x8b,
  1965. 0xf8, 0xd4, 0xcd, 0xc7, 0x3c, 0x0b, 0x66, 0x2e, 0xec, 0x25, 0x66, 0x66, 0xe6, 0x67, 0xb0, 0x32,
  1966. 0xf1, 0x8d, 0x88, 0x13, 0x2a, 0x99, 0x91, 0x5e, 0xe9, 0x33, 0xd1, 0xe1, 0xd0, 0xfa, 0x18, 0x6e,
  1967. 0x4b, 0x12, 0xad, 0xfb, 0x90, 0xee, 0x0f, 0x13, 0x6c, 0xb8, 0x95, 0xb3, 0x61, 0xeb, 0xfb, 0x0a,
  1968. 0xac, 0x96, 0xa7, 0xa9, 0xf8, 0xaf, 0x9a, 0x87, 0x30, 0x20, 0x55, 0x2f, 0x4d, 0x5e, 0x2f, 0xe9,
  1969. 0xf4, 0x47, 0x13, 0xbc, 0xbe, 0xec, 0x7b, 0x4b, 0xd7, 0xd1, 0x9c, 0xda, 0x77, 0x69, 0x51, 0x40,
  1970. 0x07, 0x18, 0x7a, 0x13, 0x66, 0xfc, 0x56, 0xa4, 0xd7, 0x55, 0x31, 0x2d, 0xaa, 0x89, 0x3f, 0x82,
  1971. 0xd8, 0x5b, 0xeb, 0x70, 0xff, 0x19, 0x61, 0x87, 0xc2, 0x66, 0x37, 0x8e, 0x4e, 0xfd, 0xb3, 0x51,
  1972. 0x2a, 0x8d, 0xf2, 0xd4, 0x3e, 0x98, 0x65, 0xa1, 0x60, 0x9a, 0xf2, 0x21, 0xae, 0x72, 0xe3, 0x0f,
  1973. 0x71, 0xd5, 0xab, 0x3e, 0xc4, 0x59, 0x9f, 0x42, 0x9f, 0xef, 0x2c, 0x15, 0x45, 0xe0, 0x93, 0x88,
  1974. 0x65, 0x3c, 0x73, 0x1d, 0x9a, 0xae, 0x90, 0x38, 0xc6, 0x27, 0x03, 0x90, 0x22, 0xce, 0xaf, 0xac,
  1975. 0x27, 0xb0, 0x36, 0x65, 0xb2, 0x0a, 0xfe, 0x3d, 0x68, 0x8b, 0x5b, 0xac, 0x8a, 0x9c, 0xe8, 0xbb,
  1976. 0x5f, 0x8b, 0x4b, 0x77, 0xb4, 0xd0, 0x0a, 0x61, 0xf5, 0x80, 0x60, 0x4a, 0x76, 0xbc, 0xd0, 0x8f,
  1977. 0x4e, 0xe2, 0x73, 0x92, 0xdd, 0x5a, 0xde, 0x83, 0x76, 0x92, 0x92, 0x0b, 0x3f, 0x1e, 0x51, 0x87,
  1978. 0x71, 0x85, 0x88, 0xa0, 0x66, 0xb7, 0xb4, 0x54, 0x58, 0x73, 0xfe, 0x94, 0x99, 0xf1, 0x8b, 0xbe,
  1979. 0xc3, 0xfc, 0x50, 0x7e, 0x4a, 0xa8, 0xd9, 0x5d, 0xad, 0x39, 0x88, 0xdd, 0xf3, 0x13, 0x3f, 0x24,
  1980. 0xd6, 0x21, 0xdc, 0x99, 0x58, 0x4e, 0x05, 0xbc, 0x02, 0xf3, 0xe6, 0x32, 0x72, 0x80, 0xee, 0x01,
  1981. 0x48, 0xaf, 0xd4, 0x89, 0xa8, 0x72, 0x5b, 0xe7, 0x92, 0x13, 0x7a, 0x44, 0xad, 0x18, 0xfa, 0x36,
  1982. 0x09, 0xfe, 0x87, 0xf1, 0xdf, 0x85, 0xb5, 0x29, 0x0b, 0xca, 0x37, 0xd8, 0xfe, 0x4f, 0x1d, 0x16,
  1983. 0x8f, 0x09, 0x7e, 0x43, 0x88, 0x87, 0xf6, 0xa1, 0x75, 0x4c, 0x22, 0x2f, 0xff, 0x5f, 0xb2, 0x62,
  1984. 0x6c, 0xd8, 0x4c, 0x3a, 0xb8, 0x37, 0x4d, 0x9a, 0xf1, 0xb9, 0x5b, 0x9b, 0x95, 0x0f, 0x2b, 0xe8,
  1985. 0x25, 0xb4, 0x0a, 0xdf, 0x2e, 0xd0, 0xba, 0x31, 0x69, 0xda, 0x57, 0x8d, 0xc1, 0xda, 0x04, 0xbb,
  1986. 0xd1, 0x47, 0x24, 0x73, 0xb9, 0x64, 0x5e, 0xcb, 0xd1, 0x83, 0x99, 0xf7, 0x75, 0xe9, 0x70, 0xfd,
  1987. 0x9a, 0xfb, 0xbc, 0x75, 0x0b, 0x7d, 0x0e, 0x0b, 0xf2, 0xfe, 0x86, 0xfa, 0x86, 0x71, 0xe1, 0x22,
  1988. 0x5c, 0x88, 0xab, 0x78, 0xd9, 0xb3, 0x6e, 0xa1, 0xe7, 0x00, 0xf9, 0x0d, 0x08, 0xdd, 0x2b, 0x7c,
  1989. 0xf0, 0x2a, 0x5d, 0xc1, 0x06, 0xf7, 0x67, 0x68, 0x33, 0x67, 0x5f, 0x41, 0xbb, 0xc8, 0xd3, 0xd1,
  1990. 0xc6, 0x54, 0x2a, 0x6e, 0x14, 0xfb, 0xc1, 0xc3, 0x2b, 0x2c, 0x32, 0xc7, 0xbf, 0x85, 0x6e, 0x99,
  1991. 0x7e, 0x23, 0x6b, 0xea, 0xc4, 0x02, 0x95, 0x1f, 0xbc, 0x73, 0xa5, 0x8d, 0x09, 0x42, 0xde, 0x6f,
  1992. 0x0a, 0x20, 0x4c, 0x34, 0xa7, 0x02, 0x08, 0x93, 0x4d, 0x4a, 0x82, 0x50, 0x2c, 0xd2, 0x05, 0x10,
  1993. 0xa6, 0xb6, 0x94, 0x02, 0x08, 0xd3, 0x2b, 0xbc, 0x75, 0x0b, 0xc5, 0xb0, 0x3a, 0xbd, 0x74, 0x22,
  1994. 0xf3, 0xe3, 0xdf, 0x95, 0xf5, 0x77, 0xf0, 0xe8, 0x07, 0x58, 0x66, 0x0b, 0x7e, 0x03, 0xbd, 0x89,
  1995. 0x4a, 0x87, 0x4c, 0x48, 0x67, 0x15, 0xd1, 0xc1, 0xbb, 0x57, 0x1b, 0x65, 0x2b, 0x7c, 0x0d, 0x9d,
  1996. 0x52, 0x61, 0x42, 0x05, 0x28, 0xa6, 0xd6, 0x98, 0x81, 0x75, 0x95, 0x89, 0x19, 0xfd, 0x44, 0xd1,
  1997. 0x28, 0x44, 0x3f, 0xab, 0x86, 0x15, 0xa2, 0x9f, 0x59, 0x77, 0xac, 0x5b, 0xc3, 0x05, 0xf1, 0xb3,
  1998. 0xf6, 0xa3, 0xff, 0x06, 0x00, 0x00, 0xff, 0xff, 0x9c, 0x7a, 0x09, 0x55, 0xbc, 0x1d, 0x00, 0x00,
  1999. }