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.
 
 
 

891 lines
39 KiB

  1. // Code generated by protoc-gen-go. DO NOT EDIT.
  2. // source: google/monitoring/v3/common.proto
  3. package monitoring // import "google.golang.org/genproto/googleapis/monitoring/v3"
  4. import proto "github.com/golang/protobuf/proto"
  5. import fmt "fmt"
  6. import math "math"
  7. import duration "github.com/golang/protobuf/ptypes/duration"
  8. import timestamp "github.com/golang/protobuf/ptypes/timestamp"
  9. import _ "google.golang.org/genproto/googleapis/api/annotations"
  10. import distribution "google.golang.org/genproto/googleapis/api/distribution"
  11. // Reference imports to suppress errors if they are not otherwise used.
  12. var _ = proto.Marshal
  13. var _ = fmt.Errorf
  14. var _ = math.Inf
  15. // This is a compile-time assertion to ensure that this generated file
  16. // is compatible with the proto package it is being compiled against.
  17. // A compilation error at this line likely means your copy of the
  18. // proto package needs to be updated.
  19. const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package
  20. // Specifies an ordering relationship on two arguments, here called left and
  21. // right.
  22. type ComparisonType int32
  23. const (
  24. // No ordering relationship is specified.
  25. ComparisonType_COMPARISON_UNSPECIFIED ComparisonType = 0
  26. // The left argument is greater than the right argument.
  27. ComparisonType_COMPARISON_GT ComparisonType = 1
  28. // The left argument is greater than or equal to the right argument.
  29. ComparisonType_COMPARISON_GE ComparisonType = 2
  30. // The left argument is less than the right argument.
  31. ComparisonType_COMPARISON_LT ComparisonType = 3
  32. // The left argument is less than or equal to the right argument.
  33. ComparisonType_COMPARISON_LE ComparisonType = 4
  34. // The left argument is equal to the right argument.
  35. ComparisonType_COMPARISON_EQ ComparisonType = 5
  36. // The left argument is not equal to the right argument.
  37. ComparisonType_COMPARISON_NE ComparisonType = 6
  38. )
  39. var ComparisonType_name = map[int32]string{
  40. 0: "COMPARISON_UNSPECIFIED",
  41. 1: "COMPARISON_GT",
  42. 2: "COMPARISON_GE",
  43. 3: "COMPARISON_LT",
  44. 4: "COMPARISON_LE",
  45. 5: "COMPARISON_EQ",
  46. 6: "COMPARISON_NE",
  47. }
  48. var ComparisonType_value = map[string]int32{
  49. "COMPARISON_UNSPECIFIED": 0,
  50. "COMPARISON_GT": 1,
  51. "COMPARISON_GE": 2,
  52. "COMPARISON_LT": 3,
  53. "COMPARISON_LE": 4,
  54. "COMPARISON_EQ": 5,
  55. "COMPARISON_NE": 6,
  56. }
  57. func (x ComparisonType) String() string {
  58. return proto.EnumName(ComparisonType_name, int32(x))
  59. }
  60. func (ComparisonType) EnumDescriptor() ([]byte, []int) {
  61. return fileDescriptor_common_a95521d463668240, []int{0}
  62. }
  63. // The tier of service for a Workspace. Please see the
  64. // [service tiers
  65. // documentation](https://cloud.google.com/monitoring/workspaces/tiers) for more
  66. // details.
  67. type ServiceTier int32 // Deprecated: Do not use.
  68. const (
  69. // An invalid sentinel value, used to indicate that a tier has not
  70. // been provided explicitly.
  71. ServiceTier_SERVICE_TIER_UNSPECIFIED ServiceTier = 0
  72. // The Stackdriver Basic tier, a free tier of service that provides basic
  73. // features, a moderate allotment of logs, and access to built-in metrics.
  74. // A number of features are not available in this tier. For more details,
  75. // see [the service tiers
  76. // documentation](https://cloud.google.com/monitoring/workspaces/tiers).
  77. ServiceTier_SERVICE_TIER_BASIC ServiceTier = 1
  78. // The Stackdriver Premium tier, a higher, more expensive tier of service
  79. // that provides access to all Stackdriver features, lets you use Stackdriver
  80. // with AWS accounts, and has a larger allotments for logs and metrics. For
  81. // more details, see [the service tiers
  82. // documentation](https://cloud.google.com/monitoring/workspaces/tiers).
  83. ServiceTier_SERVICE_TIER_PREMIUM ServiceTier = 2
  84. )
  85. var ServiceTier_name = map[int32]string{
  86. 0: "SERVICE_TIER_UNSPECIFIED",
  87. 1: "SERVICE_TIER_BASIC",
  88. 2: "SERVICE_TIER_PREMIUM",
  89. }
  90. var ServiceTier_value = map[string]int32{
  91. "SERVICE_TIER_UNSPECIFIED": 0,
  92. "SERVICE_TIER_BASIC": 1,
  93. "SERVICE_TIER_PREMIUM": 2,
  94. }
  95. func (x ServiceTier) String() string {
  96. return proto.EnumName(ServiceTier_name, int32(x))
  97. }
  98. func (ServiceTier) EnumDescriptor() ([]byte, []int) {
  99. return fileDescriptor_common_a95521d463668240, []int{1}
  100. }
  101. // The Aligner describes how to bring the data points in a single
  102. // time series into temporal alignment.
  103. type Aggregation_Aligner int32
  104. const (
  105. // No alignment. Raw data is returned. Not valid if cross-time
  106. // series reduction is requested. The value type of the result is
  107. // the same as the value type of the input.
  108. Aggregation_ALIGN_NONE Aggregation_Aligner = 0
  109. // Align and convert to delta metric type. This alignment is valid
  110. // for cumulative metrics and delta metrics. Aligning an existing
  111. // delta metric to a delta metric requires that the alignment
  112. // period be increased. The value type of the result is the same
  113. // as the value type of the input.
  114. //
  115. // One can think of this aligner as a rate but without time units; that
  116. // is, the output is conceptually (second_point - first_point).
  117. Aggregation_ALIGN_DELTA Aggregation_Aligner = 1
  118. // Align and convert to a rate. This alignment is valid for
  119. // cumulative metrics and delta metrics with numeric values. The output is a
  120. // gauge metric with value type
  121. // [DOUBLE][google.api.MetricDescriptor.ValueType.DOUBLE].
  122. //
  123. // One can think of this aligner as conceptually providing the slope of
  124. // the line that passes through the value at the start and end of the
  125. // window. In other words, this is conceptually ((y1 - y0)/(t1 - t0)),
  126. // and the output unit is one that has a "/time" dimension.
  127. //
  128. // If, by rate, you are looking for percentage change, see the
  129. // `ALIGN_PERCENT_CHANGE` aligner option.
  130. Aggregation_ALIGN_RATE Aggregation_Aligner = 2
  131. // Align by interpolating between adjacent points around the
  132. // period boundary. This alignment is valid for gauge
  133. // metrics with numeric values. The value type of the result is the same
  134. // as the value type of the input.
  135. Aggregation_ALIGN_INTERPOLATE Aggregation_Aligner = 3
  136. // Align by shifting the oldest data point before the period
  137. // boundary to the boundary. This alignment is valid for gauge
  138. // metrics. The value type of the result is the same as the
  139. // value type of the input.
  140. Aggregation_ALIGN_NEXT_OLDER Aggregation_Aligner = 4
  141. // Align time series via aggregation. The resulting data point in
  142. // the alignment period is the minimum of all data points in the
  143. // period. This alignment is valid for gauge and delta metrics with numeric
  144. // values. The value type of the result is the same as the value
  145. // type of the input.
  146. Aggregation_ALIGN_MIN Aggregation_Aligner = 10
  147. // Align time series via aggregation. The resulting data point in
  148. // the alignment period is the maximum of all data points in the
  149. // period. This alignment is valid for gauge and delta metrics with numeric
  150. // values. The value type of the result is the same as the value
  151. // type of the input.
  152. Aggregation_ALIGN_MAX Aggregation_Aligner = 11
  153. // Align time series via aggregation. The resulting data point in
  154. // the alignment period is the average or arithmetic mean of all
  155. // data points in the period. This alignment is valid for gauge and delta
  156. // metrics with numeric values. The value type of the output is
  157. // [DOUBLE][google.api.MetricDescriptor.ValueType.DOUBLE].
  158. Aggregation_ALIGN_MEAN Aggregation_Aligner = 12
  159. // Align time series via aggregation. The resulting data point in
  160. // the alignment period is the count of all data points in the
  161. // period. This alignment is valid for gauge and delta metrics with numeric
  162. // or Boolean values. The value type of the output is
  163. // [INT64][google.api.MetricDescriptor.ValueType.INT64].
  164. Aggregation_ALIGN_COUNT Aggregation_Aligner = 13
  165. // Align time series via aggregation. The resulting data point in
  166. // the alignment period is the sum of all data points in the
  167. // period. This alignment is valid for gauge and delta metrics with numeric
  168. // and distribution values. The value type of the output is the
  169. // same as the value type of the input.
  170. Aggregation_ALIGN_SUM Aggregation_Aligner = 14
  171. // Align time series via aggregation. The resulting data point in
  172. // the alignment period is the standard deviation of all data
  173. // points in the period. This alignment is valid for gauge and delta metrics
  174. // with numeric values. The value type of the output is
  175. // [DOUBLE][google.api.MetricDescriptor.ValueType.DOUBLE].
  176. Aggregation_ALIGN_STDDEV Aggregation_Aligner = 15
  177. // Align time series via aggregation. The resulting data point in
  178. // the alignment period is the count of True-valued data points in the
  179. // period. This alignment is valid for gauge metrics with
  180. // Boolean values. The value type of the output is
  181. // [INT64][google.api.MetricDescriptor.ValueType.INT64].
  182. Aggregation_ALIGN_COUNT_TRUE Aggregation_Aligner = 16
  183. // Align time series via aggregation. The resulting data point in
  184. // the alignment period is the count of False-valued data points in the
  185. // period. This alignment is valid for gauge metrics with
  186. // Boolean values. The value type of the output is
  187. // [INT64][google.api.MetricDescriptor.ValueType.INT64].
  188. Aggregation_ALIGN_COUNT_FALSE Aggregation_Aligner = 24
  189. // Align time series via aggregation. The resulting data point in
  190. // the alignment period is the fraction of True-valued data points in the
  191. // period. This alignment is valid for gauge metrics with Boolean values.
  192. // The output value is in the range [0, 1] and has value type
  193. // [DOUBLE][google.api.MetricDescriptor.ValueType.DOUBLE].
  194. Aggregation_ALIGN_FRACTION_TRUE Aggregation_Aligner = 17
  195. // Align time series via aggregation. The resulting data point in
  196. // the alignment period is the 99th percentile of all data
  197. // points in the period. This alignment is valid for gauge and delta metrics
  198. // with distribution values. The output is a gauge metric with value type
  199. // [DOUBLE][google.api.MetricDescriptor.ValueType.DOUBLE].
  200. Aggregation_ALIGN_PERCENTILE_99 Aggregation_Aligner = 18
  201. // Align time series via aggregation. The resulting data point in
  202. // the alignment period is the 95th percentile of all data
  203. // points in the period. This alignment is valid for gauge and delta metrics
  204. // with distribution values. The output is a gauge metric with value type
  205. // [DOUBLE][google.api.MetricDescriptor.ValueType.DOUBLE].
  206. Aggregation_ALIGN_PERCENTILE_95 Aggregation_Aligner = 19
  207. // Align time series via aggregation. The resulting data point in
  208. // the alignment period is the 50th percentile of all data
  209. // points in the period. This alignment is valid for gauge and delta metrics
  210. // with distribution values. The output is a gauge metric with value type
  211. // [DOUBLE][google.api.MetricDescriptor.ValueType.DOUBLE].
  212. Aggregation_ALIGN_PERCENTILE_50 Aggregation_Aligner = 20
  213. // Align time series via aggregation. The resulting data point in
  214. // the alignment period is the 5th percentile of all data
  215. // points in the period. This alignment is valid for gauge and delta metrics
  216. // with distribution values. The output is a gauge metric with value type
  217. // [DOUBLE][google.api.MetricDescriptor.ValueType.DOUBLE].
  218. Aggregation_ALIGN_PERCENTILE_05 Aggregation_Aligner = 21
  219. // Align and convert to a percentage change. This alignment is valid for
  220. // gauge and delta metrics with numeric values. This alignment conceptually
  221. // computes the equivalent of "((current - previous)/previous)*100"
  222. // where previous value is determined based on the alignmentPeriod.
  223. // In the event that previous is 0 the calculated value is infinity with the
  224. // exception that if both (current - previous) and previous are 0 the
  225. // calculated value is 0.
  226. // A 10 minute moving mean is computed at each point of the time window
  227. // prior to the above calculation to smooth the metric and prevent false
  228. // positives from very short lived spikes.
  229. // Only applicable for data that is >= 0. Any values < 0 are treated as
  230. // no data. While delta metrics are accepted by this alignment special care
  231. // should be taken that the values for the metric will always be positive.
  232. // The output is a gauge metric with value type
  233. // [DOUBLE][google.api.MetricDescriptor.ValueType.DOUBLE].
  234. Aggregation_ALIGN_PERCENT_CHANGE Aggregation_Aligner = 23
  235. )
  236. var Aggregation_Aligner_name = map[int32]string{
  237. 0: "ALIGN_NONE",
  238. 1: "ALIGN_DELTA",
  239. 2: "ALIGN_RATE",
  240. 3: "ALIGN_INTERPOLATE",
  241. 4: "ALIGN_NEXT_OLDER",
  242. 10: "ALIGN_MIN",
  243. 11: "ALIGN_MAX",
  244. 12: "ALIGN_MEAN",
  245. 13: "ALIGN_COUNT",
  246. 14: "ALIGN_SUM",
  247. 15: "ALIGN_STDDEV",
  248. 16: "ALIGN_COUNT_TRUE",
  249. 24: "ALIGN_COUNT_FALSE",
  250. 17: "ALIGN_FRACTION_TRUE",
  251. 18: "ALIGN_PERCENTILE_99",
  252. 19: "ALIGN_PERCENTILE_95",
  253. 20: "ALIGN_PERCENTILE_50",
  254. 21: "ALIGN_PERCENTILE_05",
  255. 23: "ALIGN_PERCENT_CHANGE",
  256. }
  257. var Aggregation_Aligner_value = map[string]int32{
  258. "ALIGN_NONE": 0,
  259. "ALIGN_DELTA": 1,
  260. "ALIGN_RATE": 2,
  261. "ALIGN_INTERPOLATE": 3,
  262. "ALIGN_NEXT_OLDER": 4,
  263. "ALIGN_MIN": 10,
  264. "ALIGN_MAX": 11,
  265. "ALIGN_MEAN": 12,
  266. "ALIGN_COUNT": 13,
  267. "ALIGN_SUM": 14,
  268. "ALIGN_STDDEV": 15,
  269. "ALIGN_COUNT_TRUE": 16,
  270. "ALIGN_COUNT_FALSE": 24,
  271. "ALIGN_FRACTION_TRUE": 17,
  272. "ALIGN_PERCENTILE_99": 18,
  273. "ALIGN_PERCENTILE_95": 19,
  274. "ALIGN_PERCENTILE_50": 20,
  275. "ALIGN_PERCENTILE_05": 21,
  276. "ALIGN_PERCENT_CHANGE": 23,
  277. }
  278. func (x Aggregation_Aligner) String() string {
  279. return proto.EnumName(Aggregation_Aligner_name, int32(x))
  280. }
  281. func (Aggregation_Aligner) EnumDescriptor() ([]byte, []int) {
  282. return fileDescriptor_common_a95521d463668240, []int{2, 0}
  283. }
  284. // A Reducer describes how to aggregate data points from multiple
  285. // time series into a single time series.
  286. type Aggregation_Reducer int32
  287. const (
  288. // No cross-time series reduction. The output of the aligner is
  289. // returned.
  290. Aggregation_REDUCE_NONE Aggregation_Reducer = 0
  291. // Reduce by computing the mean across time series for each
  292. // alignment period. This reducer is valid for delta and
  293. // gauge metrics with numeric or distribution values. The value type of the
  294. // output is [DOUBLE][google.api.MetricDescriptor.ValueType.DOUBLE].
  295. Aggregation_REDUCE_MEAN Aggregation_Reducer = 1
  296. // Reduce by computing the minimum across time series for each
  297. // alignment period. This reducer is valid for delta and
  298. // gauge metrics with numeric values. The value type of the output
  299. // is the same as the value type of the input.
  300. Aggregation_REDUCE_MIN Aggregation_Reducer = 2
  301. // Reduce by computing the maximum across time series for each
  302. // alignment period. This reducer is valid for delta and
  303. // gauge metrics with numeric values. The value type of the output
  304. // is the same as the value type of the input.
  305. Aggregation_REDUCE_MAX Aggregation_Reducer = 3
  306. // Reduce by computing the sum across time series for each
  307. // alignment period. This reducer is valid for delta and
  308. // gauge metrics with numeric and distribution values. The value type of
  309. // the output is the same as the value type of the input.
  310. Aggregation_REDUCE_SUM Aggregation_Reducer = 4
  311. // Reduce by computing the standard deviation across time series
  312. // for each alignment period. This reducer is valid for delta
  313. // and gauge metrics with numeric or distribution values. The value type of
  314. // the output is [DOUBLE][google.api.MetricDescriptor.ValueType.DOUBLE].
  315. Aggregation_REDUCE_STDDEV Aggregation_Reducer = 5
  316. // Reduce by computing the count of data points across time series
  317. // for each alignment period. This reducer is valid for delta
  318. // and gauge metrics of numeric, Boolean, distribution, and string value
  319. // type. The value type of the output is
  320. // [INT64][google.api.MetricDescriptor.ValueType.INT64].
  321. Aggregation_REDUCE_COUNT Aggregation_Reducer = 6
  322. // Reduce by computing the count of True-valued data points across time
  323. // series for each alignment period. This reducer is valid for delta
  324. // and gauge metrics of Boolean value type. The value type of
  325. // the output is [INT64][google.api.MetricDescriptor.ValueType.INT64].
  326. Aggregation_REDUCE_COUNT_TRUE Aggregation_Reducer = 7
  327. // Reduce by computing the count of False-valued data points across time
  328. // series for each alignment period. This reducer is valid for delta
  329. // and gauge metrics of Boolean value type. The value type of
  330. // the output is [INT64][google.api.MetricDescriptor.ValueType.INT64].
  331. Aggregation_REDUCE_COUNT_FALSE Aggregation_Reducer = 15
  332. // Reduce by computing the fraction of True-valued data points across time
  333. // series for each alignment period. This reducer is valid for delta
  334. // and gauge metrics of Boolean value type. The output value is in the
  335. // range [0, 1] and has value type
  336. // [DOUBLE][google.api.MetricDescriptor.ValueType.DOUBLE].
  337. Aggregation_REDUCE_FRACTION_TRUE Aggregation_Reducer = 8
  338. // Reduce by computing 99th percentile of data points across time series
  339. // for each alignment period. This reducer is valid for gauge and delta
  340. // metrics of numeric and distribution type. The value of the output is
  341. // [DOUBLE][google.api.MetricDescriptor.ValueType.DOUBLE]
  342. Aggregation_REDUCE_PERCENTILE_99 Aggregation_Reducer = 9
  343. // Reduce by computing 95th percentile of data points across time series
  344. // for each alignment period. This reducer is valid for gauge and delta
  345. // metrics of numeric and distribution type. The value of the output is
  346. // [DOUBLE][google.api.MetricDescriptor.ValueType.DOUBLE]
  347. Aggregation_REDUCE_PERCENTILE_95 Aggregation_Reducer = 10
  348. // Reduce by computing 50th percentile of data points across time series
  349. // for each alignment period. This reducer is valid for gauge and delta
  350. // metrics of numeric and distribution type. The value of the output is
  351. // [DOUBLE][google.api.MetricDescriptor.ValueType.DOUBLE]
  352. Aggregation_REDUCE_PERCENTILE_50 Aggregation_Reducer = 11
  353. // Reduce by computing 5th percentile of data points across time series
  354. // for each alignment period. This reducer is valid for gauge and delta
  355. // metrics of numeric and distribution type. The value of the output is
  356. // [DOUBLE][google.api.MetricDescriptor.ValueType.DOUBLE]
  357. Aggregation_REDUCE_PERCENTILE_05 Aggregation_Reducer = 12
  358. )
  359. var Aggregation_Reducer_name = map[int32]string{
  360. 0: "REDUCE_NONE",
  361. 1: "REDUCE_MEAN",
  362. 2: "REDUCE_MIN",
  363. 3: "REDUCE_MAX",
  364. 4: "REDUCE_SUM",
  365. 5: "REDUCE_STDDEV",
  366. 6: "REDUCE_COUNT",
  367. 7: "REDUCE_COUNT_TRUE",
  368. 15: "REDUCE_COUNT_FALSE",
  369. 8: "REDUCE_FRACTION_TRUE",
  370. 9: "REDUCE_PERCENTILE_99",
  371. 10: "REDUCE_PERCENTILE_95",
  372. 11: "REDUCE_PERCENTILE_50",
  373. 12: "REDUCE_PERCENTILE_05",
  374. }
  375. var Aggregation_Reducer_value = map[string]int32{
  376. "REDUCE_NONE": 0,
  377. "REDUCE_MEAN": 1,
  378. "REDUCE_MIN": 2,
  379. "REDUCE_MAX": 3,
  380. "REDUCE_SUM": 4,
  381. "REDUCE_STDDEV": 5,
  382. "REDUCE_COUNT": 6,
  383. "REDUCE_COUNT_TRUE": 7,
  384. "REDUCE_COUNT_FALSE": 15,
  385. "REDUCE_FRACTION_TRUE": 8,
  386. "REDUCE_PERCENTILE_99": 9,
  387. "REDUCE_PERCENTILE_95": 10,
  388. "REDUCE_PERCENTILE_50": 11,
  389. "REDUCE_PERCENTILE_05": 12,
  390. }
  391. func (x Aggregation_Reducer) String() string {
  392. return proto.EnumName(Aggregation_Reducer_name, int32(x))
  393. }
  394. func (Aggregation_Reducer) EnumDescriptor() ([]byte, []int) {
  395. return fileDescriptor_common_a95521d463668240, []int{2, 1}
  396. }
  397. // A single strongly-typed value.
  398. type TypedValue struct {
  399. // The typed value field.
  400. //
  401. // Types that are valid to be assigned to Value:
  402. // *TypedValue_BoolValue
  403. // *TypedValue_Int64Value
  404. // *TypedValue_DoubleValue
  405. // *TypedValue_StringValue
  406. // *TypedValue_DistributionValue
  407. Value isTypedValue_Value `protobuf_oneof:"value"`
  408. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  409. XXX_unrecognized []byte `json:"-"`
  410. XXX_sizecache int32 `json:"-"`
  411. }
  412. func (m *TypedValue) Reset() { *m = TypedValue{} }
  413. func (m *TypedValue) String() string { return proto.CompactTextString(m) }
  414. func (*TypedValue) ProtoMessage() {}
  415. func (*TypedValue) Descriptor() ([]byte, []int) {
  416. return fileDescriptor_common_a95521d463668240, []int{0}
  417. }
  418. func (m *TypedValue) XXX_Unmarshal(b []byte) error {
  419. return xxx_messageInfo_TypedValue.Unmarshal(m, b)
  420. }
  421. func (m *TypedValue) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  422. return xxx_messageInfo_TypedValue.Marshal(b, m, deterministic)
  423. }
  424. func (dst *TypedValue) XXX_Merge(src proto.Message) {
  425. xxx_messageInfo_TypedValue.Merge(dst, src)
  426. }
  427. func (m *TypedValue) XXX_Size() int {
  428. return xxx_messageInfo_TypedValue.Size(m)
  429. }
  430. func (m *TypedValue) XXX_DiscardUnknown() {
  431. xxx_messageInfo_TypedValue.DiscardUnknown(m)
  432. }
  433. var xxx_messageInfo_TypedValue proto.InternalMessageInfo
  434. type isTypedValue_Value interface {
  435. isTypedValue_Value()
  436. }
  437. type TypedValue_BoolValue struct {
  438. BoolValue bool `protobuf:"varint,1,opt,name=bool_value,json=boolValue,proto3,oneof"`
  439. }
  440. type TypedValue_Int64Value struct {
  441. Int64Value int64 `protobuf:"varint,2,opt,name=int64_value,json=int64Value,proto3,oneof"`
  442. }
  443. type TypedValue_DoubleValue struct {
  444. DoubleValue float64 `protobuf:"fixed64,3,opt,name=double_value,json=doubleValue,proto3,oneof"`
  445. }
  446. type TypedValue_StringValue struct {
  447. StringValue string `protobuf:"bytes,4,opt,name=string_value,json=stringValue,proto3,oneof"`
  448. }
  449. type TypedValue_DistributionValue struct {
  450. DistributionValue *distribution.Distribution `protobuf:"bytes,5,opt,name=distribution_value,json=distributionValue,proto3,oneof"`
  451. }
  452. func (*TypedValue_BoolValue) isTypedValue_Value() {}
  453. func (*TypedValue_Int64Value) isTypedValue_Value() {}
  454. func (*TypedValue_DoubleValue) isTypedValue_Value() {}
  455. func (*TypedValue_StringValue) isTypedValue_Value() {}
  456. func (*TypedValue_DistributionValue) isTypedValue_Value() {}
  457. func (m *TypedValue) GetValue() isTypedValue_Value {
  458. if m != nil {
  459. return m.Value
  460. }
  461. return nil
  462. }
  463. func (m *TypedValue) GetBoolValue() bool {
  464. if x, ok := m.GetValue().(*TypedValue_BoolValue); ok {
  465. return x.BoolValue
  466. }
  467. return false
  468. }
  469. func (m *TypedValue) GetInt64Value() int64 {
  470. if x, ok := m.GetValue().(*TypedValue_Int64Value); ok {
  471. return x.Int64Value
  472. }
  473. return 0
  474. }
  475. func (m *TypedValue) GetDoubleValue() float64 {
  476. if x, ok := m.GetValue().(*TypedValue_DoubleValue); ok {
  477. return x.DoubleValue
  478. }
  479. return 0
  480. }
  481. func (m *TypedValue) GetStringValue() string {
  482. if x, ok := m.GetValue().(*TypedValue_StringValue); ok {
  483. return x.StringValue
  484. }
  485. return ""
  486. }
  487. func (m *TypedValue) GetDistributionValue() *distribution.Distribution {
  488. if x, ok := m.GetValue().(*TypedValue_DistributionValue); ok {
  489. return x.DistributionValue
  490. }
  491. return nil
  492. }
  493. // XXX_OneofFuncs is for the internal use of the proto package.
  494. func (*TypedValue) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{}) {
  495. return _TypedValue_OneofMarshaler, _TypedValue_OneofUnmarshaler, _TypedValue_OneofSizer, []interface{}{
  496. (*TypedValue_BoolValue)(nil),
  497. (*TypedValue_Int64Value)(nil),
  498. (*TypedValue_DoubleValue)(nil),
  499. (*TypedValue_StringValue)(nil),
  500. (*TypedValue_DistributionValue)(nil),
  501. }
  502. }
  503. func _TypedValue_OneofMarshaler(msg proto.Message, b *proto.Buffer) error {
  504. m := msg.(*TypedValue)
  505. // value
  506. switch x := m.Value.(type) {
  507. case *TypedValue_BoolValue:
  508. t := uint64(0)
  509. if x.BoolValue {
  510. t = 1
  511. }
  512. b.EncodeVarint(1<<3 | proto.WireVarint)
  513. b.EncodeVarint(t)
  514. case *TypedValue_Int64Value:
  515. b.EncodeVarint(2<<3 | proto.WireVarint)
  516. b.EncodeVarint(uint64(x.Int64Value))
  517. case *TypedValue_DoubleValue:
  518. b.EncodeVarint(3<<3 | proto.WireFixed64)
  519. b.EncodeFixed64(math.Float64bits(x.DoubleValue))
  520. case *TypedValue_StringValue:
  521. b.EncodeVarint(4<<3 | proto.WireBytes)
  522. b.EncodeStringBytes(x.StringValue)
  523. case *TypedValue_DistributionValue:
  524. b.EncodeVarint(5<<3 | proto.WireBytes)
  525. if err := b.EncodeMessage(x.DistributionValue); err != nil {
  526. return err
  527. }
  528. case nil:
  529. default:
  530. return fmt.Errorf("TypedValue.Value has unexpected type %T", x)
  531. }
  532. return nil
  533. }
  534. func _TypedValue_OneofUnmarshaler(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error) {
  535. m := msg.(*TypedValue)
  536. switch tag {
  537. case 1: // value.bool_value
  538. if wire != proto.WireVarint {
  539. return true, proto.ErrInternalBadWireType
  540. }
  541. x, err := b.DecodeVarint()
  542. m.Value = &TypedValue_BoolValue{x != 0}
  543. return true, err
  544. case 2: // value.int64_value
  545. if wire != proto.WireVarint {
  546. return true, proto.ErrInternalBadWireType
  547. }
  548. x, err := b.DecodeVarint()
  549. m.Value = &TypedValue_Int64Value{int64(x)}
  550. return true, err
  551. case 3: // value.double_value
  552. if wire != proto.WireFixed64 {
  553. return true, proto.ErrInternalBadWireType
  554. }
  555. x, err := b.DecodeFixed64()
  556. m.Value = &TypedValue_DoubleValue{math.Float64frombits(x)}
  557. return true, err
  558. case 4: // value.string_value
  559. if wire != proto.WireBytes {
  560. return true, proto.ErrInternalBadWireType
  561. }
  562. x, err := b.DecodeStringBytes()
  563. m.Value = &TypedValue_StringValue{x}
  564. return true, err
  565. case 5: // value.distribution_value
  566. if wire != proto.WireBytes {
  567. return true, proto.ErrInternalBadWireType
  568. }
  569. msg := new(distribution.Distribution)
  570. err := b.DecodeMessage(msg)
  571. m.Value = &TypedValue_DistributionValue{msg}
  572. return true, err
  573. default:
  574. return false, nil
  575. }
  576. }
  577. func _TypedValue_OneofSizer(msg proto.Message) (n int) {
  578. m := msg.(*TypedValue)
  579. // value
  580. switch x := m.Value.(type) {
  581. case *TypedValue_BoolValue:
  582. n += 1 // tag and wire
  583. n += 1
  584. case *TypedValue_Int64Value:
  585. n += 1 // tag and wire
  586. n += proto.SizeVarint(uint64(x.Int64Value))
  587. case *TypedValue_DoubleValue:
  588. n += 1 // tag and wire
  589. n += 8
  590. case *TypedValue_StringValue:
  591. n += 1 // tag and wire
  592. n += proto.SizeVarint(uint64(len(x.StringValue)))
  593. n += len(x.StringValue)
  594. case *TypedValue_DistributionValue:
  595. s := proto.Size(x.DistributionValue)
  596. n += 1 // tag and wire
  597. n += proto.SizeVarint(uint64(s))
  598. n += s
  599. case nil:
  600. default:
  601. panic(fmt.Sprintf("proto: unexpected type %T in oneof", x))
  602. }
  603. return n
  604. }
  605. // A time interval extending just after a start time through an end time.
  606. // If the start time is the same as the end time, then the interval
  607. // represents a single point in time.
  608. type TimeInterval struct {
  609. // Required. The end of the time interval.
  610. EndTime *timestamp.Timestamp `protobuf:"bytes,2,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"`
  611. // Optional. The beginning of the time interval. The default value
  612. // for the start time is the end time. The start time must not be
  613. // later than the end time.
  614. StartTime *timestamp.Timestamp `protobuf:"bytes,1,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"`
  615. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  616. XXX_unrecognized []byte `json:"-"`
  617. XXX_sizecache int32 `json:"-"`
  618. }
  619. func (m *TimeInterval) Reset() { *m = TimeInterval{} }
  620. func (m *TimeInterval) String() string { return proto.CompactTextString(m) }
  621. func (*TimeInterval) ProtoMessage() {}
  622. func (*TimeInterval) Descriptor() ([]byte, []int) {
  623. return fileDescriptor_common_a95521d463668240, []int{1}
  624. }
  625. func (m *TimeInterval) XXX_Unmarshal(b []byte) error {
  626. return xxx_messageInfo_TimeInterval.Unmarshal(m, b)
  627. }
  628. func (m *TimeInterval) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  629. return xxx_messageInfo_TimeInterval.Marshal(b, m, deterministic)
  630. }
  631. func (dst *TimeInterval) XXX_Merge(src proto.Message) {
  632. xxx_messageInfo_TimeInterval.Merge(dst, src)
  633. }
  634. func (m *TimeInterval) XXX_Size() int {
  635. return xxx_messageInfo_TimeInterval.Size(m)
  636. }
  637. func (m *TimeInterval) XXX_DiscardUnknown() {
  638. xxx_messageInfo_TimeInterval.DiscardUnknown(m)
  639. }
  640. var xxx_messageInfo_TimeInterval proto.InternalMessageInfo
  641. func (m *TimeInterval) GetEndTime() *timestamp.Timestamp {
  642. if m != nil {
  643. return m.EndTime
  644. }
  645. return nil
  646. }
  647. func (m *TimeInterval) GetStartTime() *timestamp.Timestamp {
  648. if m != nil {
  649. return m.StartTime
  650. }
  651. return nil
  652. }
  653. // Describes how to combine multiple time series to provide different views of
  654. // the data. Aggregation consists of an alignment step on individual time
  655. // series (`alignment_period` and `per_series_aligner`) followed by an optional
  656. // reduction step of the data across the aligned time series
  657. // (`cross_series_reducer` and `group_by_fields`). For more details, see
  658. // [Aggregation](/monitoring/api/learn_more#aggregation).
  659. type Aggregation struct {
  660. // The alignment period for per-[time series][google.monitoring.v3.TimeSeries]
  661. // alignment. If present, `alignmentPeriod` must be at least 60
  662. // seconds. After per-time series alignment, each time series will
  663. // contain data points only on the period boundaries. If
  664. // `perSeriesAligner` is not specified or equals `ALIGN_NONE`, then
  665. // this field is ignored. If `perSeriesAligner` is specified and
  666. // does not equal `ALIGN_NONE`, then this field must be defined;
  667. // otherwise an error is returned.
  668. AlignmentPeriod *duration.Duration `protobuf:"bytes,1,opt,name=alignment_period,json=alignmentPeriod,proto3" json:"alignment_period,omitempty"`
  669. // The approach to be used to align individual time series. Not all
  670. // alignment functions may be applied to all time series, depending
  671. // on the metric type and value type of the original time
  672. // series. Alignment may change the metric type or the value type of
  673. // the time series.
  674. //
  675. // Time series data must be aligned in order to perform cross-time
  676. // series reduction. If `crossSeriesReducer` is specified, then
  677. // `perSeriesAligner` must be specified and not equal `ALIGN_NONE`
  678. // and `alignmentPeriod` must be specified; otherwise, an error is
  679. // returned.
  680. PerSeriesAligner Aggregation_Aligner `protobuf:"varint,2,opt,name=per_series_aligner,json=perSeriesAligner,proto3,enum=google.monitoring.v3.Aggregation_Aligner" json:"per_series_aligner,omitempty"`
  681. // The approach to be used to combine time series. Not all reducer
  682. // functions may be applied to all time series, depending on the
  683. // metric type and the value type of the original time
  684. // series. Reduction may change the metric type of value type of the
  685. // time series.
  686. //
  687. // Time series data must be aligned in order to perform cross-time
  688. // series reduction. If `crossSeriesReducer` is specified, then
  689. // `perSeriesAligner` must be specified and not equal `ALIGN_NONE`
  690. // and `alignmentPeriod` must be specified; otherwise, an error is
  691. // returned.
  692. CrossSeriesReducer Aggregation_Reducer `protobuf:"varint,4,opt,name=cross_series_reducer,json=crossSeriesReducer,proto3,enum=google.monitoring.v3.Aggregation_Reducer" json:"cross_series_reducer,omitempty"`
  693. // The set of fields to preserve when `crossSeriesReducer` is
  694. // specified. The `groupByFields` determine how the time series are
  695. // partitioned into subsets prior to applying the aggregation
  696. // function. Each subset contains time series that have the same
  697. // value for each of the grouping fields. Each individual time
  698. // series is a member of exactly one subset. The
  699. // `crossSeriesReducer` is applied to each subset of time series.
  700. // It is not possible to reduce across different resource types, so
  701. // this field implicitly contains `resource.type`. Fields not
  702. // specified in `groupByFields` are aggregated away. If
  703. // `groupByFields` is not specified and all the time series have
  704. // the same resource type, then the time series are aggregated into
  705. // a single output time series. If `crossSeriesReducer` is not
  706. // defined, this field is ignored.
  707. GroupByFields []string `protobuf:"bytes,5,rep,name=group_by_fields,json=groupByFields,proto3" json:"group_by_fields,omitempty"`
  708. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  709. XXX_unrecognized []byte `json:"-"`
  710. XXX_sizecache int32 `json:"-"`
  711. }
  712. func (m *Aggregation) Reset() { *m = Aggregation{} }
  713. func (m *Aggregation) String() string { return proto.CompactTextString(m) }
  714. func (*Aggregation) ProtoMessage() {}
  715. func (*Aggregation) Descriptor() ([]byte, []int) {
  716. return fileDescriptor_common_a95521d463668240, []int{2}
  717. }
  718. func (m *Aggregation) XXX_Unmarshal(b []byte) error {
  719. return xxx_messageInfo_Aggregation.Unmarshal(m, b)
  720. }
  721. func (m *Aggregation) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  722. return xxx_messageInfo_Aggregation.Marshal(b, m, deterministic)
  723. }
  724. func (dst *Aggregation) XXX_Merge(src proto.Message) {
  725. xxx_messageInfo_Aggregation.Merge(dst, src)
  726. }
  727. func (m *Aggregation) XXX_Size() int {
  728. return xxx_messageInfo_Aggregation.Size(m)
  729. }
  730. func (m *Aggregation) XXX_DiscardUnknown() {
  731. xxx_messageInfo_Aggregation.DiscardUnknown(m)
  732. }
  733. var xxx_messageInfo_Aggregation proto.InternalMessageInfo
  734. func (m *Aggregation) GetAlignmentPeriod() *duration.Duration {
  735. if m != nil {
  736. return m.AlignmentPeriod
  737. }
  738. return nil
  739. }
  740. func (m *Aggregation) GetPerSeriesAligner() Aggregation_Aligner {
  741. if m != nil {
  742. return m.PerSeriesAligner
  743. }
  744. return Aggregation_ALIGN_NONE
  745. }
  746. func (m *Aggregation) GetCrossSeriesReducer() Aggregation_Reducer {
  747. if m != nil {
  748. return m.CrossSeriesReducer
  749. }
  750. return Aggregation_REDUCE_NONE
  751. }
  752. func (m *Aggregation) GetGroupByFields() []string {
  753. if m != nil {
  754. return m.GroupByFields
  755. }
  756. return nil
  757. }
  758. func init() {
  759. proto.RegisterType((*TypedValue)(nil), "google.monitoring.v3.TypedValue")
  760. proto.RegisterType((*TimeInterval)(nil), "google.monitoring.v3.TimeInterval")
  761. proto.RegisterType((*Aggregation)(nil), "google.monitoring.v3.Aggregation")
  762. proto.RegisterEnum("google.monitoring.v3.ComparisonType", ComparisonType_name, ComparisonType_value)
  763. proto.RegisterEnum("google.monitoring.v3.ServiceTier", ServiceTier_name, ServiceTier_value)
  764. proto.RegisterEnum("google.monitoring.v3.Aggregation_Aligner", Aggregation_Aligner_name, Aggregation_Aligner_value)
  765. proto.RegisterEnum("google.monitoring.v3.Aggregation_Reducer", Aggregation_Reducer_name, Aggregation_Reducer_value)
  766. }
  767. func init() {
  768. proto.RegisterFile("google/monitoring/v3/common.proto", fileDescriptor_common_a95521d463668240)
  769. }
  770. var fileDescriptor_common_a95521d463668240 = []byte{
  771. // 957 bytes of a gzipped FileDescriptorProto
  772. 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x95, 0xc1, 0x6e, 0xe3, 0x44,
  773. 0x18, 0xc7, 0xe3, 0x64, 0xdb, 0x34, 0x9f, 0xdb, 0x66, 0x3a, 0xdb, 0xed, 0x86, 0x68, 0x61, 0xb3,
  774. 0x45, 0x42, 0x61, 0x0f, 0x4e, 0xd5, 0x12, 0xa4, 0x0a, 0x09, 0xc9, 0x75, 0xa6, 0xad, 0xa5, 0xc4,
  775. 0x09, 0x13, 0xa7, 0x54, 0x50, 0xc9, 0x72, 0x9a, 0x59, 0xcb, 0x52, 0xe2, 0xb1, 0x6c, 0xa7, 0x52,
  776. 0x6f, 0xdc, 0x79, 0x07, 0x2e, 0xdc, 0xb8, 0xf1, 0x1a, 0x3c, 0x0c, 0x17, 0x5e, 0x00, 0x79, 0xc6,
  777. 0x59, 0x3b, 0x21, 0x08, 0x8e, 0xdf, 0xef, 0xff, 0xff, 0xbe, 0x99, 0xf9, 0x8f, 0x35, 0x86, 0x77,
  778. 0x1e, 0xe7, 0xde, 0x9c, 0x75, 0x16, 0x3c, 0xf0, 0x13, 0x1e, 0xf9, 0x81, 0xd7, 0x79, 0xba, 0xe8,
  779. 0x3c, 0xf2, 0xc5, 0x82, 0x07, 0x5a, 0x18, 0xf1, 0x84, 0xe3, 0x63, 0x69, 0xd1, 0x72, 0x8b, 0xf6,
  780. 0x74, 0xd1, 0x7c, 0x93, 0x35, 0xba, 0xa1, 0xdf, 0x71, 0x83, 0x80, 0x27, 0x6e, 0xe2, 0xf3, 0x20,
  781. 0x96, 0x3d, 0xcd, 0x4f, 0x0b, 0xea, 0xcc, 0x8f, 0x93, 0xc8, 0x9f, 0x2e, 0x53, 0x3d, 0x93, 0x3f,
  782. 0xcb, 0x64, 0x51, 0x4d, 0x97, 0x1f, 0x3a, 0xb3, 0x65, 0xe4, 0x16, 0xf4, 0xb7, 0x9b, 0x7a, 0xe2,
  783. 0x2f, 0x58, 0x9c, 0xb8, 0x8b, 0x50, 0x1a, 0x4e, 0xff, 0x54, 0x00, 0xec, 0xe7, 0x90, 0xcd, 0xee,
  784. 0xdc, 0xf9, 0x92, 0xe1, 0xb7, 0x00, 0x53, 0xce, 0xe7, 0xce, 0x53, 0x5a, 0x35, 0x94, 0x96, 0xd2,
  785. 0xde, 0xbb, 0x2d, 0xd1, 0x5a, 0xca, 0xa4, 0xe1, 0x1d, 0xa8, 0x7e, 0x90, 0x7c, 0xfd, 0x55, 0xe6,
  786. 0x28, 0xb7, 0x94, 0x76, 0xe5, 0xb6, 0x44, 0x41, 0x40, 0x69, 0xf9, 0x1c, 0xf6, 0x67, 0x7c, 0x39,
  787. 0x9d, 0xb3, 0xcc, 0x53, 0x69, 0x29, 0x6d, 0xe5, 0xb6, 0x44, 0x55, 0x49, 0x3f, 0x9a, 0xd2, 0xc3,
  788. 0x04, 0x5e, 0x66, 0x7a, 0xd1, 0x52, 0xda, 0xb5, 0xd4, 0x24, 0xa9, 0x34, 0x99, 0x80, 0x8b, 0x67,
  789. 0xce, 0xac, 0x3b, 0x2d, 0xa5, 0xad, 0x9e, 0x37, 0xb4, 0x2c, 0x4d, 0x37, 0xf4, 0xb5, 0x5e, 0xc1,
  790. 0x75, 0x5b, 0xa2, 0x47, 0xc5, 0x2e, 0x31, 0xea, 0xaa, 0x0a, 0x3b, 0xa2, 0xfb, 0xf4, 0x27, 0x05,
  791. 0xf6, 0x6d, 0x7f, 0xc1, 0xcc, 0x20, 0x61, 0xd1, 0x93, 0x3b, 0xc7, 0x5d, 0xd8, 0x63, 0xc1, 0xcc,
  792. 0x49, 0x83, 0x11, 0xc7, 0x51, 0xcf, 0x9b, 0xab, 0xd1, 0xab, 0xd4, 0x34, 0x7b, 0x95, 0x1a, 0xad,
  793. 0xb2, 0x60, 0x96, 0x56, 0xf8, 0x12, 0x20, 0x4e, 0xdc, 0x28, 0x91, 0x8d, 0xca, 0x7f, 0x36, 0xd6,
  794. 0x84, 0x3b, 0xad, 0x4f, 0xff, 0xaa, 0x82, 0xaa, 0x7b, 0x5e, 0xc4, 0x3c, 0x71, 0x55, 0xb8, 0x07,
  795. 0xc8, 0x9d, 0xfb, 0x5e, 0xb0, 0x60, 0x41, 0xe2, 0x84, 0x2c, 0xf2, 0xf9, 0x2c, 0x1b, 0xf8, 0xc9,
  796. 0x3f, 0x06, 0xf6, 0xb2, 0xfb, 0xa5, 0xf5, 0x8f, 0x2d, 0x23, 0xd1, 0x81, 0xbf, 0x07, 0x1c, 0xb2,
  797. 0xc8, 0x89, 0x59, 0xe4, 0xb3, 0xd8, 0x11, 0x2a, 0x8b, 0xc4, 0x89, 0x0e, 0xcf, 0xbf, 0xd4, 0xb6,
  798. 0x7d, 0x7a, 0x5a, 0x61, 0x13, 0x9a, 0x2e, 0x1b, 0x28, 0x0a, 0x59, 0x34, 0x16, 0x33, 0x32, 0x82,
  799. 0x7f, 0x84, 0xe3, 0xc7, 0x88, 0xc7, 0xf1, 0x6a, 0x74, 0xc4, 0x66, 0xcb, 0x47, 0x16, 0x89, 0x2b,
  800. 0xfb, 0x5f, 0xa3, 0xa9, 0x6c, 0xa0, 0x58, 0x8c, 0x91, 0xc3, 0x33, 0x86, 0xbf, 0x80, 0xba, 0x17,
  801. 0xf1, 0x65, 0xe8, 0x4c, 0x9f, 0x9d, 0x0f, 0x3e, 0x9b, 0xcf, 0xe2, 0xc6, 0x4e, 0xab, 0xd2, 0xae,
  802. 0xd1, 0x03, 0x81, 0xaf, 0x9e, 0xaf, 0x05, 0x3c, 0xfd, 0xb9, 0x02, 0xd5, 0xd5, 0x86, 0x0e, 0x01,
  803. 0xf4, 0xbe, 0x79, 0x63, 0x39, 0xd6, 0xd0, 0x22, 0xa8, 0x84, 0xeb, 0xa0, 0xca, 0xba, 0x47, 0xfa,
  804. 0xb6, 0x8e, 0x94, 0xdc, 0x40, 0x75, 0x9b, 0xa0, 0x32, 0x7e, 0x05, 0x47, 0xb2, 0x36, 0x2d, 0x9b,
  805. 0xd0, 0xd1, 0xb0, 0x9f, 0xe2, 0x0a, 0x3e, 0x06, 0x94, 0xcd, 0x21, 0xf7, 0xb6, 0x33, 0xec, 0xf7,
  806. 0x08, 0x45, 0x2f, 0xf0, 0x01, 0xd4, 0x24, 0x1d, 0x98, 0x16, 0x82, 0x42, 0xa9, 0xdf, 0x23, 0x35,
  807. 0x1f, 0x3d, 0x20, 0xba, 0x85, 0xf6, 0xf3, 0xb5, 0x8d, 0xe1, 0xc4, 0xb2, 0xd1, 0x41, 0xee, 0x1f,
  808. 0x4f, 0x06, 0xe8, 0x10, 0x23, 0xd8, 0xcf, 0x4a, 0xbb, 0xd7, 0x23, 0x77, 0xa8, 0x9e, 0xaf, 0x2a,
  809. 0x3a, 0x1c, 0x9b, 0x4e, 0x08, 0x42, 0xf9, 0x16, 0x25, 0xbd, 0xd6, 0xfb, 0x63, 0x82, 0x1a, 0xf8,
  810. 0x35, 0xbc, 0x94, 0xf8, 0x9a, 0xea, 0x86, 0x6d, 0x0e, 0x2d, 0xe9, 0x3f, 0xca, 0x85, 0x11, 0xa1,
  811. 0x06, 0xb1, 0x6c, 0xb3, 0x4f, 0x9c, 0xcb, 0x4b, 0x84, 0xb7, 0x0b, 0x5d, 0xf4, 0x72, 0xab, 0xd0,
  812. 0x3d, 0x43, 0xc7, 0x5b, 0x85, 0xb3, 0x2e, 0x7a, 0x85, 0x1b, 0x70, 0xbc, 0x26, 0x38, 0xc6, 0xad,
  813. 0x6e, 0xdd, 0x10, 0xf4, 0xfa, 0xf4, 0xf7, 0x32, 0x54, 0x57, 0x37, 0x58, 0x07, 0x95, 0x92, 0xde,
  814. 0xc4, 0x20, 0x85, 0xeb, 0xc8, 0x80, 0xc8, 0x48, 0x5c, 0xc7, 0x0a, 0x98, 0x16, 0x2a, 0x17, 0x6b,
  815. 0xfd, 0x1e, 0x55, 0x0a, 0x75, 0x9a, 0xd9, 0x0b, 0x7c, 0x04, 0x07, 0xab, 0x5a, 0x86, 0xb6, 0x93,
  816. 0xc6, 0x98, 0x21, 0x99, 0xf3, 0x6e, 0x1a, 0x58, 0x91, 0xc8, 0x5c, 0xaa, 0xf8, 0x04, 0xf0, 0x1a,
  817. 0x96, 0x41, 0xd6, 0xd3, 0xb3, 0x64, 0x7c, 0x3d, 0xc9, 0xbd, 0x82, 0xb2, 0x1e, 0x65, 0xed, 0x5f,
  818. 0x94, 0x2e, 0x82, 0xed, 0x4a, 0xf7, 0x0c, 0xa9, 0xdb, 0x95, 0xb3, 0x2e, 0xda, 0x7f, 0xff, 0x8b,
  819. 0x02, 0x87, 0x06, 0x5f, 0x84, 0x6e, 0xe4, 0xc7, 0x3c, 0x48, 0xdf, 0x5c, 0xdc, 0x84, 0x13, 0x63,
  820. 0x38, 0x18, 0xe9, 0xd4, 0x1c, 0x0f, 0x2d, 0x67, 0x62, 0x8d, 0x47, 0xc4, 0x30, 0xaf, 0x4d, 0xd2,
  821. 0x43, 0xa5, 0x34, 0x84, 0x82, 0x76, 0x63, 0x23, 0x65, 0x13, 0xa5, 0x5f, 0xf6, 0x3a, 0xea, 0xdb,
  822. 0xa8, 0xb2, 0x89, 0x88, 0x0c, 0xb4, 0x80, 0xc8, 0x77, 0x68, 0x67, 0x03, 0x59, 0x04, 0xed, 0xbe,
  823. 0x77, 0x41, 0x1d, 0xb3, 0xe8, 0xc9, 0x7f, 0x64, 0xb6, 0xcf, 0x22, 0xfc, 0x06, 0x1a, 0x63, 0x42,
  824. 0xef, 0x4c, 0x83, 0x38, 0xb6, 0x49, 0xe8, 0xc6, 0xf6, 0x4e, 0x00, 0xaf, 0xa9, 0x57, 0xfa, 0xd8,
  825. 0x34, 0x90, 0x92, 0x9e, 0x7f, 0x8d, 0x8f, 0x28, 0x19, 0x98, 0x93, 0x01, 0x2a, 0x37, 0xcb, 0x0d,
  826. 0xe5, 0xea, 0x57, 0x05, 0x1a, 0x8f, 0x7c, 0xb1, 0xf5, 0xc9, 0xb8, 0x52, 0x0d, 0xf1, 0xb3, 0x1c,
  827. 0xa5, 0x4f, 0xdd, 0x48, 0xf9, 0xe1, 0xdb, 0xcc, 0xe4, 0xf1, 0xb9, 0x1b, 0x78, 0x1a, 0x8f, 0xbc,
  828. 0x8e, 0xc7, 0x02, 0xf1, 0x10, 0x76, 0xa4, 0xe4, 0x86, 0x7e, 0xbc, 0xfe, 0xbf, 0xfd, 0x26, 0xaf,
  829. 0x7e, 0x2b, 0x37, 0x6f, 0xe4, 0x00, 0x63, 0xce, 0x97, 0x33, 0x6d, 0x90, 0xaf, 0x75, 0x77, 0xf1,
  830. 0xc7, 0x4a, 0x7c, 0x10, 0xe2, 0x43, 0x2e, 0x3e, 0xdc, 0x5d, 0x4c, 0x77, 0xc5, 0x22, 0x17, 0x7f,
  831. 0x07, 0x00, 0x00, 0xff, 0xff, 0x8d, 0x78, 0xd9, 0x96, 0xd3, 0x07, 0x00, 0x00,
  832. }