From 0852649e282eb12ca15c78cd4ab0371e3c7901c2 Mon Sep 17 00:00:00 2001 From: Nathaniel Cook Date: Mon, 13 Jan 2020 16:16:55 -0700 Subject: [PATCH] upgrade udf support to python3 --- CHANGELOG.md | 1 + Dockerfile_build_ubuntu32 | 12 +- Dockerfile_build_ubuntu64 | 16 +- server/server_const_test.go | 3 +- server/server_const_windows_test.go | 4 +- server/server_test.go | 57 +++ udf/agent/examples/outliers/outliers.py | 12 +- udf/agent/py/kapacitor/udf/agent.py | 38 +- udf/agent/py/kapacitor/udf/udf_pb2.py | 535 ++++++++++++------------ udf/agent/udf.pb.go | 369 ++++------------ 10 files changed, 457 insertions(+), 590 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 4ffe21a59..b120dd136 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,7 @@ ### Features - [#2202](https://github.com/influxdata/kapacitor/pull/2202): Add templating for MQTT topics. +- [#2276](https://github.com/influxdata/kapacitor/pull/2276): Upgrade to support python 3 for UDFs, Thanks @N-Coder ! ### Bugfixes diff --git a/Dockerfile_build_ubuntu32 b/Dockerfile_build_ubuntu32 index a18404bea..1780caae7 100644 --- a/Dockerfile_build_ubuntu32 +++ b/Dockerfile_build_ubuntu32 @@ -14,12 +14,19 @@ RUN apt-get -qq update && apt-get -qq install -y \ autoconf \ automake \ libtool \ + python \ python-setuptools \ + python3 \ + python3-setuptools \ zip \ curl +RUN update-alternatives --install /usr/bin/python python /usr/bin/python3 10 + +# Install protobuf3 protoc binary + # Install protobuf3 protoc binary -ENV PROTO_VERSION 3.4.0 +ENV PROTO_VERSION 3.11.1 RUN wget -q https://github.com/google/protobuf/releases/download/v${PROTO_VERSION}/protoc-${PROTO_VERSION}-linux-x86_32.zip\ && unzip -j protoc-${PROTO_VERSION}-linux-x86_32.zip bin/protoc -d /bin \ rm protoc-${PROTO_VERSION}-linux-x86_64.zip @@ -28,7 +35,8 @@ RUN wget -q https://github.com/google/protobuf/releases/download/v${PROTO_VERSIO RUN wget -q https://github.com/google/protobuf/releases/download/v${PROTO_VERSION}/protobuf-python-${PROTO_VERSION}.tar.gz \ && tar -xf protobuf-python-${PROTO_VERSION}.tar.gz \ && cd /protobuf-${PROTO_VERSION}/python \ - && python setup.py install \ + && python2 setup.py install \ + && python3 setup.py install \ && rm -rf /protobuf-${PROTO_VERSION} protobuf-python-${PROTO_VERSION}.tar.gz # Install go diff --git a/Dockerfile_build_ubuntu64 b/Dockerfile_build_ubuntu64 index 33f1d6a78..e33e99b54 100644 --- a/Dockerfile_build_ubuntu64 +++ b/Dockerfile_build_ubuntu64 @@ -1,4 +1,4 @@ -FROM ubuntu:16.04 +FROM ubuntu:18.04 # This dockerfile is capabable of performing all # build/test/package/deploy actions needed for Kapacitor. @@ -6,7 +6,6 @@ FROM ubuntu:16.04 MAINTAINER support@influxdb.com RUN apt-get -qq update && apt-get -qq install -y \ - python-software-properties \ software-properties-common \ wget \ unzip \ @@ -18,18 +17,22 @@ RUN apt-get -qq update && apt-get -qq install -y \ rpm \ zip \ python \ - python-boto \ + python-setuptools \ + python3 \ + python3-setuptools \ + python3-boto \ build-essential \ autoconf \ automake \ libtool \ - python-setuptools \ curl +RUN update-alternatives --install /usr/bin/python python /usr/bin/python3 10 + RUN gem install fpm # Install protobuf3 protoc binary -ENV PROTO_VERSION 3.4.0 +ENV PROTO_VERSION 3.11.1 RUN wget -q https://github.com/google/protobuf/releases/download/v${PROTO_VERSION}/protoc-${PROTO_VERSION}-linux-x86_64.zip \ && unzip -j protoc-${PROTO_VERSION}-linux-x86_64.zip bin/protoc -d /bin \ rm protoc-${PROTO_VERSION}-linux-x86_64.zip @@ -38,7 +41,8 @@ RUN wget -q https://github.com/google/protobuf/releases/download/v${PROTO_VERSIO RUN wget -q https://github.com/google/protobuf/releases/download/v${PROTO_VERSION}/protobuf-python-${PROTO_VERSION}.tar.gz \ && tar -xf protobuf-python-${PROTO_VERSION}.tar.gz \ && cd /protobuf-${PROTO_VERSION}/python \ - && python setup.py install \ + && python2 setup.py install \ + && python3 setup.py install \ && rm -rf /protobuf-${PROTO_VERSION} protobuf-python-${PROTO_VERSION}.tar.gz # Install go diff --git a/server/server_const_test.go b/server/server_const_test.go index 610d5a759..0bd6f4640 100644 --- a/server/server_const_test.go +++ b/server/server_const_test.go @@ -5,7 +5,8 @@ package server_test const ( ExecutableSuffix = "" - PythonExecutable = "python2" + Python2Executable = "python2" + PythonExecutable = "python" LogFileExpectedMode = 0604 AlertLogPath = `/var/log/alert.log` ) diff --git a/server/server_const_windows_test.go b/server/server_const_windows_test.go index 04fdafd17..2beb2ed6f 100644 --- a/server/server_const_windows_test.go +++ b/server/server_const_windows_test.go @@ -4,7 +4,9 @@ package server_test const ( - ExecutableSuffix = ".exe" + ExecutableSuffix = ".exe" + // For windows we won't test python2 explicitly + Python2Executable = "python" PythonExecutable = "python" LogFileExpectedMode = 0666 AlertLogPath = `c:\alert.log` diff --git a/server/server_test.go b/server/server_test.go index 41f587d47..a2868c7f1 100644 --- a/server/server_test.go +++ b/server/server_test.go @@ -5320,6 +5320,21 @@ func TestServer_UDFStreamAgents(t *testing.T) { }, }, }, + // Python 2 + { + buildFunc: func() error { return nil }, + config: udf.FunctionConfig{ + Prog: Python2Executable, + Args: []string{"-u", filepath.Join(udfDir, "agent/examples/moving_avg/moving_avg.py")}, + Timeout: toml.Duration(time.Minute), + Env: map[string]string{ + "PYTHONPATH": strings.Join( + []string{filepath.Join(udfDir, "agent/py"), os.Getenv("PYTHONPATH")}, + string(filepath.ListSeparator), + ), + }, + }, + }, } for _, agent := range agents { err := agent.buildFunc() @@ -5497,6 +5512,33 @@ func TestServer_UDFStreamAgentsSocket(t *testing.T) { Timeout: toml.Duration(time.Minute), }, }, + // Python 2 + { + startFunc: func() *exec.Cmd { + cmd := exec.Command( + Python2Executable, + "-u", + filepath.Join(udfDir, "agent/examples/mirror/mirror.py"), + filepath.Join(tdir, "mirror.py.sock"), + ) + cmd.Stderr = os.Stderr + env := os.Environ() + env = append(env, fmt.Sprintf( + "%s=%s", + "PYTHONPATH", + strings.Join( + []string{filepath.Join(udfDir, "agent/py"), os.Getenv("PYTHONPATH")}, + string(filepath.ListSeparator), + ), + )) + cmd.Env = env + return cmd + }, + config: udf.FunctionConfig{ + Socket: filepath.Join(tdir, "mirror.py.sock"), + Timeout: toml.Duration(time.Minute), + }, + }, } for _, agent := range agents { cmd := agent.startFunc() @@ -5645,6 +5687,21 @@ func TestServer_UDFBatchAgents(t *testing.T) { }, }, }, + // Python 2 + { + buildFunc: func() error { return nil }, + config: udf.FunctionConfig{ + Prog: Python2Executable, + Args: []string{"-u", filepath.Join(udfDir, "agent/examples/outliers/outliers.py")}, + Timeout: toml.Duration(time.Minute), + Env: map[string]string{ + "PYTHONPATH": strings.Join( + []string{filepath.Join(udfDir, "agent/py"), os.Getenv("PYTHONPATH")}, + string(filepath.ListSeparator), + ), + }, + }, + }, } for _, agent := range agents { err := agent.buildFunc() diff --git a/udf/agent/examples/outliers/outliers.py b/udf/agent/examples/outliers/outliers.py index 1b54d1424..c82b26c80 100644 --- a/udf/agent/examples/outliers/outliers.py +++ b/udf/agent/examples/outliers/outliers.py @@ -52,13 +52,13 @@ def median(self, data): l = len(data) m = l / 2 if l%2 == 0: - left = m - right = m + 1 - median = (data[left][0]+ data[right][0]) / 2.0 + left = int(m) + right = int(min(m + 1,l-1)) + median = (data[left][0] + data[right][0]) / 2.0 else: - left = m - right = m - median = data[m][0] + left = int(m) + right = int(m) + median = data[int(m)][0] return left, right, median diff --git a/udf/agent/py/kapacitor/udf/agent.py b/udf/agent/py/kapacitor/udf/agent.py index 0d6c9322d..d392944ac 100644 --- a/udf/agent/py/kapacitor/udf/agent.py +++ b/udf/agent/py/kapacitor/udf/agent.py @@ -1,16 +1,34 @@ # Kapacitor UDF Agent implementation in Python # # Requires protobuf v3 -# pip install protobuf==3.0.0b2 +# pip install protobuf==3.11.1 +from __future__ import absolute_import import sys -import udf_pb2 +from . import udf_pb2 from threading import Lock, Thread -from Queue import Queue + +try: + from queue import Queue +except ImportError: + from Queue import Queue + + +# Setup default in/out io +defaultIn = sys.stdin +defaultOut = sys.stdout + +# Check for python3 +# https://stackoverflow.com/a/38939320/703144 +if sys.version_info >= (3, 0): + defaultIn = sys.stdin.buffer + defaultOut = sys.stdout.buffer + import io import traceback import socket import os +import struct import logging logger = logging.getLogger() @@ -42,15 +60,17 @@ def end_batch(self, end_req): pass + # Python implementation of a Kapacitor UDF agent. # This agent is responsible for reading and writing # messages over STDIN and STDOUT. # # The Agent requires a Handler object in order to fulfill requests. class Agent(object): - def __init__(self, _in=sys.stdin, out=sys.stdout,handler=None): + def __init__(self, _in=defaultIn, out=defaultOut,handler=None): self._in = _in self._out = out + self._thread = None self.handler = handler self._write_lock = Lock() @@ -87,7 +107,7 @@ def write_response(self, response, flush=False): finally: self._write_lock.release() - # Read requests off stdin + # Read requests off input stream def _read_loop(self): request = udf_pb2.Request() while True: @@ -152,10 +172,10 @@ def encodeUvarint(writer, value): bits = value & varintMask value >>= shiftSize while value: - writer.write(chr(varintMoreMask|bits)) + writer.write(struct.pack("B", varintMoreMask | bits)) bits = value & varintMask value >>= shiftSize - return writer.write(chr(bits)) + return writer.write(struct.pack("B", bits)) # Decode an unsigned varint, max of 32 bits def decodeUvarint32(reader): @@ -165,7 +185,7 @@ def decodeUvarint32(reader): byte = reader.read(1) if len(byte) == 0: raise EOF - b = ord(byte) + b = struct.unpack("B", byte)[0] result |= ((b & varintMask) << shift) if not (b & varintMoreMask): result &= mask32uint @@ -186,7 +206,7 @@ def serve(self): try: while True: conn, addr = self._listener.accept() - conn = conn.makefile() + conn = conn.makefile(mode='rwb') thread = Thread(target=self._accepter.accept, args=(conn,addr)) thread.start() except: diff --git a/udf/agent/py/kapacitor/udf/udf_pb2.py b/udf/agent/py/kapacitor/udf/udf_pb2.py index 9b391f6ab..71082490a 100644 --- a/udf/agent/py/kapacitor/udf/udf_pb2.py +++ b/udf/agent/py/kapacitor/udf/udf_pb2.py @@ -1,14 +1,12 @@ +# -*- coding: utf-8 -*- # Generated by the protocol buffer compiler. DO NOT EDIT! # source: udf.proto -import sys -_b=sys.version_info[0]<3 and (lambda x:x) or (lambda x:x.encode('latin1')) from google.protobuf.internal import enum_type_wrapper from google.protobuf import descriptor as _descriptor from google.protobuf import message as _message from google.protobuf import reflection as _reflection from google.protobuf import symbol_database as _symbol_database -from google.protobuf import descriptor_pb2 # @@protoc_insertion_point(imports) _sym_db = _symbol_database.Default() @@ -20,7 +18,8 @@ name='udf.proto', package='agent', syntax='proto3', - serialized_pb=_b('\n\tudf.proto\x12\x05\x61gent\"\r\n\x0bInfoRequest\"\xc7\x01\n\x0cInfoResponse\x12\x1e\n\x05wants\x18\x01 \x01(\x0e\x32\x0f.agent.EdgeType\x12!\n\x08provides\x18\x02 \x01(\x0e\x32\x0f.agent.EdgeType\x12\x31\n\x07options\x18\x03 \x03(\x0b\x32 .agent.InfoResponse.OptionsEntry\x1a\x41\n\x0cOptionsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12 \n\x05value\x18\x02 \x01(\x0b\x32\x11.agent.OptionInfo:\x02\x38\x01\"2\n\nOptionInfo\x12$\n\nvalueTypes\x18\x01 \x03(\x0e\x32\x10.agent.ValueType\"M\n\x0bInitRequest\x12\x1e\n\x07options\x18\x01 \x03(\x0b\x32\r.agent.Option\x12\x0e\n\x06taskID\x18\x02 \x01(\t\x12\x0e\n\x06nodeID\x18\x03 \x01(\t\":\n\x06Option\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\"\n\x06values\x18\x02 \x03(\x0b\x32\x12.agent.OptionValue\"\xa6\x01\n\x0bOptionValue\x12\x1e\n\x04type\x18\x01 \x01(\x0e\x32\x10.agent.ValueType\x12\x13\n\tboolValue\x18\x02 \x01(\x08H\x00\x12\x12\n\x08intValue\x18\x03 \x01(\x03H\x00\x12\x15\n\x0b\x64oubleValue\x18\x04 \x01(\x01H\x00\x12\x15\n\x0bstringValue\x18\x05 \x01(\tH\x00\x12\x17\n\rdurationValue\x18\x06 \x01(\x03H\x00\x42\x07\n\x05value\".\n\x0cInitResponse\x12\x0f\n\x07success\x18\x01 \x01(\x08\x12\r\n\x05\x65rror\x18\x02 \x01(\t\"\x11\n\x0fSnapshotRequest\"$\n\x10SnapshotResponse\x12\x10\n\x08snapshot\x18\x01 \x01(\x0c\"\"\n\x0eRestoreRequest\x12\x10\n\x08snapshot\x18\x01 \x01(\x0c\"1\n\x0fRestoreResponse\x12\x0f\n\x07success\x18\x01 \x01(\x08\x12\r\n\x05\x65rror\x18\x02 \x01(\t\" \n\x10KeepaliveRequest\x12\x0c\n\x04time\x18\x01 \x01(\x03\"!\n\x11KeepaliveResponse\x12\x0c\n\x04time\x18\x01 \x01(\x03\"\x1e\n\rErrorResponse\x12\r\n\x05\x65rror\x18\x01 \x01(\t\"\x9f\x01\n\nBeginBatch\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05group\x18\x02 \x01(\t\x12)\n\x04tags\x18\x03 \x03(\x0b\x32\x1b.agent.BeginBatch.TagsEntry\x12\x0c\n\x04size\x18\x04 \x01(\x03\x12\x0e\n\x06\x62yName\x18\x05 \x01(\x08\x1a+\n\tTagsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\xf1\x04\n\x05Point\x12\x0c\n\x04time\x18\x01 \x01(\x03\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x10\n\x08\x64\x61tabase\x18\x03 \x01(\t\x12\x17\n\x0fretentionPolicy\x18\x04 \x01(\t\x12\r\n\x05group\x18\x05 \x01(\t\x12\x12\n\ndimensions\x18\x06 \x03(\t\x12$\n\x04tags\x18\x07 \x03(\x0b\x32\x16.agent.Point.TagsEntry\x12\x34\n\x0c\x66ieldsDouble\x18\x08 \x03(\x0b\x32\x1e.agent.Point.FieldsDoubleEntry\x12.\n\tfieldsInt\x18\t \x03(\x0b\x32\x1b.agent.Point.FieldsIntEntry\x12\x34\n\x0c\x66ieldsString\x18\n \x03(\x0b\x32\x1e.agent.Point.FieldsStringEntry\x12\x30\n\nfieldsBool\x18\x0c \x03(\x0b\x32\x1c.agent.Point.FieldsBoolEntry\x12\x0e\n\x06\x62yName\x18\x0b \x01(\x08\x1a+\n\tTagsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x1a\x33\n\x11\x46ieldsDoubleEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\x01:\x02\x38\x01\x1a\x30\n\x0e\x46ieldsIntEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\x03:\x02\x38\x01\x1a\x33\n\x11\x46ieldsStringEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x1a\x31\n\x0f\x46ieldsBoolEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\x08:\x02\x38\x01\"\x9b\x01\n\x08\x45ndBatch\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05group\x18\x02 \x01(\t\x12\x0c\n\x04tmax\x18\x03 \x01(\x03\x12\'\n\x04tags\x18\x04 \x03(\x0b\x32\x19.agent.EndBatch.TagsEntry\x12\x0e\n\x06\x62yName\x18\x05 \x01(\x08\x1a+\n\tTagsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\xc3\x02\n\x07Request\x12\"\n\x04info\x18\x01 \x01(\x0b\x32\x12.agent.InfoRequestH\x00\x12\"\n\x04init\x18\x02 \x01(\x0b\x32\x12.agent.InitRequestH\x00\x12,\n\tkeepalive\x18\x03 \x01(\x0b\x32\x17.agent.KeepaliveRequestH\x00\x12*\n\x08snapshot\x18\x04 \x01(\x0b\x32\x16.agent.SnapshotRequestH\x00\x12(\n\x07restore\x18\x05 \x01(\x0b\x32\x15.agent.RestoreRequestH\x00\x12\"\n\x05\x62\x65gin\x18\x10 \x01(\x0b\x32\x11.agent.BeginBatchH\x00\x12\x1d\n\x05point\x18\x11 \x01(\x0b\x32\x0c.agent.PointH\x00\x12\x1e\n\x03\x65nd\x18\x12 \x01(\x0b\x32\x0f.agent.EndBatchH\x00\x42\t\n\x07message\"\xf0\x02\n\x08Response\x12#\n\x04info\x18\x01 \x01(\x0b\x32\x13.agent.InfoResponseH\x00\x12#\n\x04init\x18\x02 \x01(\x0b\x32\x13.agent.InitResponseH\x00\x12-\n\tkeepalive\x18\x03 \x01(\x0b\x32\x18.agent.KeepaliveResponseH\x00\x12+\n\x08snapshot\x18\x04 \x01(\x0b\x32\x17.agent.SnapshotResponseH\x00\x12)\n\x07restore\x18\x05 \x01(\x0b\x32\x16.agent.RestoreResponseH\x00\x12%\n\x05\x65rror\x18\x06 \x01(\x0b\x32\x14.agent.ErrorResponseH\x00\x12\"\n\x05\x62\x65gin\x18\x10 \x01(\x0b\x32\x11.agent.BeginBatchH\x00\x12\x1d\n\x05point\x18\x11 \x01(\x0b\x32\x0c.agent.PointH\x00\x12\x1e\n\x03\x65nd\x18\x12 \x01(\x0b\x32\x0f.agent.EndBatchH\x00\x42\t\n\x07message*!\n\x08\x45\x64geType\x12\n\n\x06STREAM\x10\x00\x12\t\n\x05\x42\x41TCH\x10\x01*D\n\tValueType\x12\x08\n\x04\x42OOL\x10\x00\x12\x07\n\x03INT\x10\x01\x12\n\n\x06\x44OUBLE\x10\x02\x12\n\n\x06STRING\x10\x03\x12\x0c\n\x08\x44URATION\x10\x04\x62\x06proto3') + serialized_options=None, + serialized_pb=b'\n\tudf.proto\x12\x05\x61gent\"\r\n\x0bInfoRequest\"\xc7\x01\n\x0cInfoResponse\x12\x1e\n\x05wants\x18\x01 \x01(\x0e\x32\x0f.agent.EdgeType\x12!\n\x08provides\x18\x02 \x01(\x0e\x32\x0f.agent.EdgeType\x12\x31\n\x07options\x18\x03 \x03(\x0b\x32 .agent.InfoResponse.OptionsEntry\x1a\x41\n\x0cOptionsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12 \n\x05value\x18\x02 \x01(\x0b\x32\x11.agent.OptionInfo:\x02\x38\x01\"2\n\nOptionInfo\x12$\n\nvalueTypes\x18\x01 \x03(\x0e\x32\x10.agent.ValueType\"M\n\x0bInitRequest\x12\x1e\n\x07options\x18\x01 \x03(\x0b\x32\r.agent.Option\x12\x0e\n\x06taskID\x18\x02 \x01(\t\x12\x0e\n\x06nodeID\x18\x03 \x01(\t\":\n\x06Option\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\"\n\x06values\x18\x02 \x03(\x0b\x32\x12.agent.OptionValue\"\xa6\x01\n\x0bOptionValue\x12\x1e\n\x04type\x18\x01 \x01(\x0e\x32\x10.agent.ValueType\x12\x13\n\tboolValue\x18\x02 \x01(\x08H\x00\x12\x12\n\x08intValue\x18\x03 \x01(\x03H\x00\x12\x15\n\x0b\x64oubleValue\x18\x04 \x01(\x01H\x00\x12\x15\n\x0bstringValue\x18\x05 \x01(\tH\x00\x12\x17\n\rdurationValue\x18\x06 \x01(\x03H\x00\x42\x07\n\x05value\".\n\x0cInitResponse\x12\x0f\n\x07success\x18\x01 \x01(\x08\x12\r\n\x05\x65rror\x18\x02 \x01(\t\"\x11\n\x0fSnapshotRequest\"$\n\x10SnapshotResponse\x12\x10\n\x08snapshot\x18\x01 \x01(\x0c\"\"\n\x0eRestoreRequest\x12\x10\n\x08snapshot\x18\x01 \x01(\x0c\"1\n\x0fRestoreResponse\x12\x0f\n\x07success\x18\x01 \x01(\x08\x12\r\n\x05\x65rror\x18\x02 \x01(\t\" \n\x10KeepaliveRequest\x12\x0c\n\x04time\x18\x01 \x01(\x03\"!\n\x11KeepaliveResponse\x12\x0c\n\x04time\x18\x01 \x01(\x03\"\x1e\n\rErrorResponse\x12\r\n\x05\x65rror\x18\x01 \x01(\t\"\x9f\x01\n\nBeginBatch\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05group\x18\x02 \x01(\t\x12)\n\x04tags\x18\x03 \x03(\x0b\x32\x1b.agent.BeginBatch.TagsEntry\x12\x0c\n\x04size\x18\x04 \x01(\x03\x12\x0e\n\x06\x62yName\x18\x05 \x01(\x08\x1a+\n\tTagsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\xf1\x04\n\x05Point\x12\x0c\n\x04time\x18\x01 \x01(\x03\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x10\n\x08\x64\x61tabase\x18\x03 \x01(\t\x12\x17\n\x0fretentionPolicy\x18\x04 \x01(\t\x12\r\n\x05group\x18\x05 \x01(\t\x12\x12\n\ndimensions\x18\x06 \x03(\t\x12$\n\x04tags\x18\x07 \x03(\x0b\x32\x16.agent.Point.TagsEntry\x12\x34\n\x0c\x66ieldsDouble\x18\x08 \x03(\x0b\x32\x1e.agent.Point.FieldsDoubleEntry\x12.\n\tfieldsInt\x18\t \x03(\x0b\x32\x1b.agent.Point.FieldsIntEntry\x12\x34\n\x0c\x66ieldsString\x18\n \x03(\x0b\x32\x1e.agent.Point.FieldsStringEntry\x12\x30\n\nfieldsBool\x18\x0c \x03(\x0b\x32\x1c.agent.Point.FieldsBoolEntry\x12\x0e\n\x06\x62yName\x18\x0b \x01(\x08\x1a+\n\tTagsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x1a\x33\n\x11\x46ieldsDoubleEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\x01:\x02\x38\x01\x1a\x30\n\x0e\x46ieldsIntEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\x03:\x02\x38\x01\x1a\x33\n\x11\x46ieldsStringEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x1a\x31\n\x0f\x46ieldsBoolEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\x08:\x02\x38\x01\"\x9b\x01\n\x08\x45ndBatch\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05group\x18\x02 \x01(\t\x12\x0c\n\x04tmax\x18\x03 \x01(\x03\x12\'\n\x04tags\x18\x04 \x03(\x0b\x32\x19.agent.EndBatch.TagsEntry\x12\x0e\n\x06\x62yName\x18\x05 \x01(\x08\x1a+\n\tTagsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\xc3\x02\n\x07Request\x12\"\n\x04info\x18\x01 \x01(\x0b\x32\x12.agent.InfoRequestH\x00\x12\"\n\x04init\x18\x02 \x01(\x0b\x32\x12.agent.InitRequestH\x00\x12,\n\tkeepalive\x18\x03 \x01(\x0b\x32\x17.agent.KeepaliveRequestH\x00\x12*\n\x08snapshot\x18\x04 \x01(\x0b\x32\x16.agent.SnapshotRequestH\x00\x12(\n\x07restore\x18\x05 \x01(\x0b\x32\x15.agent.RestoreRequestH\x00\x12\"\n\x05\x62\x65gin\x18\x10 \x01(\x0b\x32\x11.agent.BeginBatchH\x00\x12\x1d\n\x05point\x18\x11 \x01(\x0b\x32\x0c.agent.PointH\x00\x12\x1e\n\x03\x65nd\x18\x12 \x01(\x0b\x32\x0f.agent.EndBatchH\x00\x42\t\n\x07message\"\xf0\x02\n\x08Response\x12#\n\x04info\x18\x01 \x01(\x0b\x32\x13.agent.InfoResponseH\x00\x12#\n\x04init\x18\x02 \x01(\x0b\x32\x13.agent.InitResponseH\x00\x12-\n\tkeepalive\x18\x03 \x01(\x0b\x32\x18.agent.KeepaliveResponseH\x00\x12+\n\x08snapshot\x18\x04 \x01(\x0b\x32\x17.agent.SnapshotResponseH\x00\x12)\n\x07restore\x18\x05 \x01(\x0b\x32\x16.agent.RestoreResponseH\x00\x12%\n\x05\x65rror\x18\x06 \x01(\x0b\x32\x14.agent.ErrorResponseH\x00\x12\"\n\x05\x62\x65gin\x18\x10 \x01(\x0b\x32\x11.agent.BeginBatchH\x00\x12\x1d\n\x05point\x18\x11 \x01(\x0b\x32\x0c.agent.PointH\x00\x12\x1e\n\x03\x65nd\x18\x12 \x01(\x0b\x32\x0f.agent.EndBatchH\x00\x42\t\n\x07message*!\n\x08\x45\x64geType\x12\n\n\x06STREAM\x10\x00\x12\t\n\x05\x42\x41TCH\x10\x01*D\n\tValueType\x12\x08\n\x04\x42OOL\x10\x00\x12\x07\n\x03INT\x10\x01\x12\n\n\x06\x44OUBLE\x10\x02\x12\n\n\x06STRING\x10\x03\x12\x0c\n\x08\x44URATION\x10\x04\x62\x06proto3' ) _EDGETYPE = _descriptor.EnumDescriptor( @@ -31,15 +30,15 @@ values=[ _descriptor.EnumValueDescriptor( name='STREAM', index=0, number=0, - options=None, + serialized_options=None, type=None), _descriptor.EnumValueDescriptor( name='BATCH', index=1, number=1, - options=None, + serialized_options=None, type=None), ], containing_type=None, - options=None, + serialized_options=None, serialized_start=2535, serialized_end=2568, ) @@ -54,27 +53,27 @@ values=[ _descriptor.EnumValueDescriptor( name='BOOL', index=0, number=0, - options=None, + serialized_options=None, type=None), _descriptor.EnumValueDescriptor( name='INT', index=1, number=1, - options=None, + serialized_options=None, type=None), _descriptor.EnumValueDescriptor( name='DOUBLE', index=2, number=2, - options=None, + serialized_options=None, type=None), _descriptor.EnumValueDescriptor( name='STRING', index=3, number=3, - options=None, + serialized_options=None, type=None), _descriptor.EnumValueDescriptor( name='DURATION', index=4, number=4, - options=None, + serialized_options=None, type=None), ], containing_type=None, - options=None, + serialized_options=None, serialized_start=2570, serialized_end=2638, ) @@ -104,7 +103,7 @@ nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, syntax='proto3', extension_ranges=[], @@ -125,24 +124,24 @@ _descriptor.FieldDescriptor( name='key', full_name='agent.InfoResponse.OptionsEntry.key', index=0, number=1, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=_b("").decode('utf-8'), + has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='value', full_name='agent.InfoResponse.OptionsEntry.value', index=1, number=2, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=_descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')), + serialized_options=b'8\001', is_extendable=False, syntax='proto3', extension_ranges=[], @@ -165,28 +164,28 @@ has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='provides', full_name='agent.InfoResponse.provides', index=1, number=2, type=14, cpp_type=8, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='options', full_name='agent.InfoResponse.options', index=2, number=3, type=11, cpp_type=10, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[_INFORESPONSE_OPTIONSENTRY, ], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, syntax='proto3', extension_ranges=[], @@ -210,14 +209,14 @@ has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, syntax='proto3', extension_ranges=[], @@ -241,28 +240,28 @@ has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='taskID', full_name='agent.InitRequest.taskID', index=1, number=2, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=_b("").decode('utf-8'), + has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='nodeID', full_name='agent.InitRequest.nodeID', index=2, number=3, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=_b("").decode('utf-8'), + has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, syntax='proto3', extension_ranges=[], @@ -283,24 +282,24 @@ _descriptor.FieldDescriptor( name='name', full_name='agent.Option.name', index=0, number=1, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=_b("").decode('utf-8'), + has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='values', full_name='agent.Option.values', index=1, number=2, type=11, cpp_type=10, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, syntax='proto3', extension_ranges=[], @@ -324,49 +323,49 @@ has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='boolValue', full_name='agent.OptionValue.boolValue', index=1, number=2, type=8, cpp_type=7, label=1, has_default_value=False, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='intValue', full_name='agent.OptionValue.intValue', index=2, number=3, type=3, cpp_type=2, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='doubleValue', full_name='agent.OptionValue.doubleValue', index=3, number=4, type=1, cpp_type=5, label=1, has_default_value=False, default_value=float(0), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='stringValue', full_name='agent.OptionValue.stringValue', index=4, number=5, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=_b("").decode('utf-8'), + has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='durationValue', full_name='agent.OptionValue.durationValue', index=5, number=6, type=3, cpp_type=2, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, syntax='proto3', extension_ranges=[], @@ -393,21 +392,21 @@ has_default_value=False, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='error', full_name='agent.InitResponse.error', index=1, number=2, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=_b("").decode('utf-8'), + has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, syntax='proto3', extension_ranges=[], @@ -431,7 +430,7 @@ nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, syntax='proto3', extension_ranges=[], @@ -452,17 +451,17 @@ _descriptor.FieldDescriptor( name='snapshot', full_name='agent.SnapshotResponse.snapshot', index=0, number=1, type=12, cpp_type=9, label=1, - has_default_value=False, default_value=_b(""), + has_default_value=False, default_value=b"", message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, syntax='proto3', extension_ranges=[], @@ -483,17 +482,17 @@ _descriptor.FieldDescriptor( name='snapshot', full_name='agent.RestoreRequest.snapshot', index=0, number=1, type=12, cpp_type=9, label=1, - has_default_value=False, default_value=_b(""), + has_default_value=False, default_value=b"", message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, syntax='proto3', extension_ranges=[], @@ -517,21 +516,21 @@ has_default_value=False, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='error', full_name='agent.RestoreResponse.error', index=1, number=2, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=_b("").decode('utf-8'), + has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, syntax='proto3', extension_ranges=[], @@ -555,14 +554,14 @@ has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, syntax='proto3', extension_ranges=[], @@ -586,14 +585,14 @@ has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, syntax='proto3', extension_ranges=[], @@ -614,17 +613,17 @@ _descriptor.FieldDescriptor( name='error', full_name='agent.ErrorResponse.error', index=0, number=1, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=_b("").decode('utf-8'), + has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, syntax='proto3', extension_ranges=[], @@ -645,24 +644,24 @@ _descriptor.FieldDescriptor( name='key', full_name='agent.BeginBatch.TagsEntry.key', index=0, number=1, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=_b("").decode('utf-8'), + has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='value', full_name='agent.BeginBatch.TagsEntry.value', index=1, number=2, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=_b("").decode('utf-8'), + has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=_descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')), + serialized_options=b'8\001', is_extendable=False, syntax='proto3', extension_ranges=[], @@ -682,45 +681,45 @@ _descriptor.FieldDescriptor( name='name', full_name='agent.BeginBatch.name', index=0, number=1, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=_b("").decode('utf-8'), + has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='group', full_name='agent.BeginBatch.group', index=1, number=2, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=_b("").decode('utf-8'), + has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='tags', full_name='agent.BeginBatch.tags', index=2, number=3, type=11, cpp_type=10, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='size', full_name='agent.BeginBatch.size', index=3, number=4, type=3, cpp_type=2, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='byName', full_name='agent.BeginBatch.byName', index=4, number=5, type=8, cpp_type=7, label=1, has_default_value=False, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[_BEGINBATCH_TAGSENTRY, ], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, syntax='proto3', extension_ranges=[], @@ -741,24 +740,24 @@ _descriptor.FieldDescriptor( name='key', full_name='agent.Point.TagsEntry.key', index=0, number=1, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=_b("").decode('utf-8'), + has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='value', full_name='agent.Point.TagsEntry.value', index=1, number=2, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=_b("").decode('utf-8'), + has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=_descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')), + serialized_options=b'8\001', is_extendable=False, syntax='proto3', extension_ranges=[], @@ -778,24 +777,24 @@ _descriptor.FieldDescriptor( name='key', full_name='agent.Point.FieldsDoubleEntry.key', index=0, number=1, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=_b("").decode('utf-8'), + has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='value', full_name='agent.Point.FieldsDoubleEntry.value', index=1, number=2, type=1, cpp_type=5, label=1, has_default_value=False, default_value=float(0), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=_descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')), + serialized_options=b'8\001', is_extendable=False, syntax='proto3', extension_ranges=[], @@ -815,24 +814,24 @@ _descriptor.FieldDescriptor( name='key', full_name='agent.Point.FieldsIntEntry.key', index=0, number=1, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=_b("").decode('utf-8'), + has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='value', full_name='agent.Point.FieldsIntEntry.value', index=1, number=2, type=3, cpp_type=2, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=_descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')), + serialized_options=b'8\001', is_extendable=False, syntax='proto3', extension_ranges=[], @@ -852,24 +851,24 @@ _descriptor.FieldDescriptor( name='key', full_name='agent.Point.FieldsStringEntry.key', index=0, number=1, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=_b("").decode('utf-8'), + has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='value', full_name='agent.Point.FieldsStringEntry.value', index=1, number=2, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=_b("").decode('utf-8'), + has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=_descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')), + serialized_options=b'8\001', is_extendable=False, syntax='proto3', extension_ranges=[], @@ -889,24 +888,24 @@ _descriptor.FieldDescriptor( name='key', full_name='agent.Point.FieldsBoolEntry.key', index=0, number=1, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=_b("").decode('utf-8'), + has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='value', full_name='agent.Point.FieldsBoolEntry.value', index=1, number=2, type=8, cpp_type=7, label=1, has_default_value=False, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=_descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')), + serialized_options=b'8\001', is_extendable=False, syntax='proto3', extension_ranges=[], @@ -929,91 +928,91 @@ has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='name', full_name='agent.Point.name', index=1, number=2, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=_b("").decode('utf-8'), + has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='database', full_name='agent.Point.database', index=2, number=3, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=_b("").decode('utf-8'), + has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='retentionPolicy', full_name='agent.Point.retentionPolicy', index=3, number=4, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=_b("").decode('utf-8'), + has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='group', full_name='agent.Point.group', index=4, number=5, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=_b("").decode('utf-8'), + has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='dimensions', full_name='agent.Point.dimensions', index=5, number=6, type=9, cpp_type=9, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='tags', full_name='agent.Point.tags', index=6, number=7, type=11, cpp_type=10, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='fieldsDouble', full_name='agent.Point.fieldsDouble', index=7, number=8, type=11, cpp_type=10, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='fieldsInt', full_name='agent.Point.fieldsInt', index=8, number=9, type=11, cpp_type=10, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='fieldsString', full_name='agent.Point.fieldsString', index=9, number=10, type=11, cpp_type=10, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='fieldsBool', full_name='agent.Point.fieldsBool', index=10, number=12, type=11, cpp_type=10, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='byName', full_name='agent.Point.byName', index=11, number=11, type=8, cpp_type=7, label=1, has_default_value=False, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[_POINT_TAGSENTRY, _POINT_FIELDSDOUBLEENTRY, _POINT_FIELDSINTENTRY, _POINT_FIELDSSTRINGENTRY, _POINT_FIELDSBOOLENTRY, ], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, syntax='proto3', extension_ranges=[], @@ -1034,24 +1033,24 @@ _descriptor.FieldDescriptor( name='key', full_name='agent.EndBatch.TagsEntry.key', index=0, number=1, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=_b("").decode('utf-8'), + has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='value', full_name='agent.EndBatch.TagsEntry.value', index=1, number=2, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=_b("").decode('utf-8'), + has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=_descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')), + serialized_options=b'8\001', is_extendable=False, syntax='proto3', extension_ranges=[], @@ -1071,45 +1070,45 @@ _descriptor.FieldDescriptor( name='name', full_name='agent.EndBatch.name', index=0, number=1, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=_b("").decode('utf-8'), + has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='group', full_name='agent.EndBatch.group', index=1, number=2, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=_b("").decode('utf-8'), + has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='tmax', full_name='agent.EndBatch.tmax', index=2, number=3, type=3, cpp_type=2, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='tags', full_name='agent.EndBatch.tags', index=3, number=4, type=11, cpp_type=10, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='byName', full_name='agent.EndBatch.byName', index=4, number=5, type=8, cpp_type=7, label=1, has_default_value=False, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[_ENDBATCH_TAGSENTRY, ], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, syntax='proto3', extension_ranges=[], @@ -1133,63 +1132,63 @@ has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='init', full_name='agent.Request.init', index=1, number=2, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='keepalive', full_name='agent.Request.keepalive', index=2, number=3, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='snapshot', full_name='agent.Request.snapshot', index=3, number=4, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='restore', full_name='agent.Request.restore', index=4, number=5, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='begin', full_name='agent.Request.begin', index=5, number=16, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='point', full_name='agent.Request.point', index=6, number=17, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='end', full_name='agent.Request.end', index=7, number=18, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, syntax='proto3', extension_ranges=[], @@ -1216,70 +1215,70 @@ has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='init', full_name='agent.Response.init', index=1, number=2, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='keepalive', full_name='agent.Response.keepalive', index=2, number=3, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='snapshot', full_name='agent.Response.snapshot', index=3, number=4, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='restore', full_name='agent.Response.restore', index=4, number=5, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='error', full_name='agent.Response.error', index=5, number=6, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='begin', full_name='agent.Response.begin', index=6, number=16, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='point', full_name='agent.Response.point', index=7, number=17, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='end', full_name='agent.Response.end', index=8, number=18, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, syntax='proto3', extension_ranges=[], @@ -1421,167 +1420,167 @@ DESCRIPTOR.enum_types_by_name['ValueType'] = _VALUETYPE _sym_db.RegisterFileDescriptor(DESCRIPTOR) -InfoRequest = _reflection.GeneratedProtocolMessageType('InfoRequest', (_message.Message,), dict( - DESCRIPTOR = _INFOREQUEST, - __module__ = 'udf_pb2' +InfoRequest = _reflection.GeneratedProtocolMessageType('InfoRequest', (_message.Message,), { + 'DESCRIPTOR' : _INFOREQUEST, + '__module__' : 'udf_pb2' # @@protoc_insertion_point(class_scope:agent.InfoRequest) - )) + }) _sym_db.RegisterMessage(InfoRequest) -InfoResponse = _reflection.GeneratedProtocolMessageType('InfoResponse', (_message.Message,), dict( +InfoResponse = _reflection.GeneratedProtocolMessageType('InfoResponse', (_message.Message,), { - OptionsEntry = _reflection.GeneratedProtocolMessageType('OptionsEntry', (_message.Message,), dict( - DESCRIPTOR = _INFORESPONSE_OPTIONSENTRY, - __module__ = 'udf_pb2' + 'OptionsEntry' : _reflection.GeneratedProtocolMessageType('OptionsEntry', (_message.Message,), { + 'DESCRIPTOR' : _INFORESPONSE_OPTIONSENTRY, + '__module__' : 'udf_pb2' # @@protoc_insertion_point(class_scope:agent.InfoResponse.OptionsEntry) - )) + }) , - DESCRIPTOR = _INFORESPONSE, - __module__ = 'udf_pb2' + 'DESCRIPTOR' : _INFORESPONSE, + '__module__' : 'udf_pb2' # @@protoc_insertion_point(class_scope:agent.InfoResponse) - )) + }) _sym_db.RegisterMessage(InfoResponse) _sym_db.RegisterMessage(InfoResponse.OptionsEntry) -OptionInfo = _reflection.GeneratedProtocolMessageType('OptionInfo', (_message.Message,), dict( - DESCRIPTOR = _OPTIONINFO, - __module__ = 'udf_pb2' +OptionInfo = _reflection.GeneratedProtocolMessageType('OptionInfo', (_message.Message,), { + 'DESCRIPTOR' : _OPTIONINFO, + '__module__' : 'udf_pb2' # @@protoc_insertion_point(class_scope:agent.OptionInfo) - )) + }) _sym_db.RegisterMessage(OptionInfo) -InitRequest = _reflection.GeneratedProtocolMessageType('InitRequest', (_message.Message,), dict( - DESCRIPTOR = _INITREQUEST, - __module__ = 'udf_pb2' +InitRequest = _reflection.GeneratedProtocolMessageType('InitRequest', (_message.Message,), { + 'DESCRIPTOR' : _INITREQUEST, + '__module__' : 'udf_pb2' # @@protoc_insertion_point(class_scope:agent.InitRequest) - )) + }) _sym_db.RegisterMessage(InitRequest) -Option = _reflection.GeneratedProtocolMessageType('Option', (_message.Message,), dict( - DESCRIPTOR = _OPTION, - __module__ = 'udf_pb2' +Option = _reflection.GeneratedProtocolMessageType('Option', (_message.Message,), { + 'DESCRIPTOR' : _OPTION, + '__module__' : 'udf_pb2' # @@protoc_insertion_point(class_scope:agent.Option) - )) + }) _sym_db.RegisterMessage(Option) -OptionValue = _reflection.GeneratedProtocolMessageType('OptionValue', (_message.Message,), dict( - DESCRIPTOR = _OPTIONVALUE, - __module__ = 'udf_pb2' +OptionValue = _reflection.GeneratedProtocolMessageType('OptionValue', (_message.Message,), { + 'DESCRIPTOR' : _OPTIONVALUE, + '__module__' : 'udf_pb2' # @@protoc_insertion_point(class_scope:agent.OptionValue) - )) + }) _sym_db.RegisterMessage(OptionValue) -InitResponse = _reflection.GeneratedProtocolMessageType('InitResponse', (_message.Message,), dict( - DESCRIPTOR = _INITRESPONSE, - __module__ = 'udf_pb2' +InitResponse = _reflection.GeneratedProtocolMessageType('InitResponse', (_message.Message,), { + 'DESCRIPTOR' : _INITRESPONSE, + '__module__' : 'udf_pb2' # @@protoc_insertion_point(class_scope:agent.InitResponse) - )) + }) _sym_db.RegisterMessage(InitResponse) -SnapshotRequest = _reflection.GeneratedProtocolMessageType('SnapshotRequest', (_message.Message,), dict( - DESCRIPTOR = _SNAPSHOTREQUEST, - __module__ = 'udf_pb2' +SnapshotRequest = _reflection.GeneratedProtocolMessageType('SnapshotRequest', (_message.Message,), { + 'DESCRIPTOR' : _SNAPSHOTREQUEST, + '__module__' : 'udf_pb2' # @@protoc_insertion_point(class_scope:agent.SnapshotRequest) - )) + }) _sym_db.RegisterMessage(SnapshotRequest) -SnapshotResponse = _reflection.GeneratedProtocolMessageType('SnapshotResponse', (_message.Message,), dict( - DESCRIPTOR = _SNAPSHOTRESPONSE, - __module__ = 'udf_pb2' +SnapshotResponse = _reflection.GeneratedProtocolMessageType('SnapshotResponse', (_message.Message,), { + 'DESCRIPTOR' : _SNAPSHOTRESPONSE, + '__module__' : 'udf_pb2' # @@protoc_insertion_point(class_scope:agent.SnapshotResponse) - )) + }) _sym_db.RegisterMessage(SnapshotResponse) -RestoreRequest = _reflection.GeneratedProtocolMessageType('RestoreRequest', (_message.Message,), dict( - DESCRIPTOR = _RESTOREREQUEST, - __module__ = 'udf_pb2' +RestoreRequest = _reflection.GeneratedProtocolMessageType('RestoreRequest', (_message.Message,), { + 'DESCRIPTOR' : _RESTOREREQUEST, + '__module__' : 'udf_pb2' # @@protoc_insertion_point(class_scope:agent.RestoreRequest) - )) + }) _sym_db.RegisterMessage(RestoreRequest) -RestoreResponse = _reflection.GeneratedProtocolMessageType('RestoreResponse', (_message.Message,), dict( - DESCRIPTOR = _RESTORERESPONSE, - __module__ = 'udf_pb2' +RestoreResponse = _reflection.GeneratedProtocolMessageType('RestoreResponse', (_message.Message,), { + 'DESCRIPTOR' : _RESTORERESPONSE, + '__module__' : 'udf_pb2' # @@protoc_insertion_point(class_scope:agent.RestoreResponse) - )) + }) _sym_db.RegisterMessage(RestoreResponse) -KeepaliveRequest = _reflection.GeneratedProtocolMessageType('KeepaliveRequest', (_message.Message,), dict( - DESCRIPTOR = _KEEPALIVEREQUEST, - __module__ = 'udf_pb2' +KeepaliveRequest = _reflection.GeneratedProtocolMessageType('KeepaliveRequest', (_message.Message,), { + 'DESCRIPTOR' : _KEEPALIVEREQUEST, + '__module__' : 'udf_pb2' # @@protoc_insertion_point(class_scope:agent.KeepaliveRequest) - )) + }) _sym_db.RegisterMessage(KeepaliveRequest) -KeepaliveResponse = _reflection.GeneratedProtocolMessageType('KeepaliveResponse', (_message.Message,), dict( - DESCRIPTOR = _KEEPALIVERESPONSE, - __module__ = 'udf_pb2' +KeepaliveResponse = _reflection.GeneratedProtocolMessageType('KeepaliveResponse', (_message.Message,), { + 'DESCRIPTOR' : _KEEPALIVERESPONSE, + '__module__' : 'udf_pb2' # @@protoc_insertion_point(class_scope:agent.KeepaliveResponse) - )) + }) _sym_db.RegisterMessage(KeepaliveResponse) -ErrorResponse = _reflection.GeneratedProtocolMessageType('ErrorResponse', (_message.Message,), dict( - DESCRIPTOR = _ERRORRESPONSE, - __module__ = 'udf_pb2' +ErrorResponse = _reflection.GeneratedProtocolMessageType('ErrorResponse', (_message.Message,), { + 'DESCRIPTOR' : _ERRORRESPONSE, + '__module__' : 'udf_pb2' # @@protoc_insertion_point(class_scope:agent.ErrorResponse) - )) + }) _sym_db.RegisterMessage(ErrorResponse) -BeginBatch = _reflection.GeneratedProtocolMessageType('BeginBatch', (_message.Message,), dict( +BeginBatch = _reflection.GeneratedProtocolMessageType('BeginBatch', (_message.Message,), { - TagsEntry = _reflection.GeneratedProtocolMessageType('TagsEntry', (_message.Message,), dict( - DESCRIPTOR = _BEGINBATCH_TAGSENTRY, - __module__ = 'udf_pb2' + 'TagsEntry' : _reflection.GeneratedProtocolMessageType('TagsEntry', (_message.Message,), { + 'DESCRIPTOR' : _BEGINBATCH_TAGSENTRY, + '__module__' : 'udf_pb2' # @@protoc_insertion_point(class_scope:agent.BeginBatch.TagsEntry) - )) + }) , - DESCRIPTOR = _BEGINBATCH, - __module__ = 'udf_pb2' + 'DESCRIPTOR' : _BEGINBATCH, + '__module__' : 'udf_pb2' # @@protoc_insertion_point(class_scope:agent.BeginBatch) - )) + }) _sym_db.RegisterMessage(BeginBatch) _sym_db.RegisterMessage(BeginBatch.TagsEntry) -Point = _reflection.GeneratedProtocolMessageType('Point', (_message.Message,), dict( +Point = _reflection.GeneratedProtocolMessageType('Point', (_message.Message,), { - TagsEntry = _reflection.GeneratedProtocolMessageType('TagsEntry', (_message.Message,), dict( - DESCRIPTOR = _POINT_TAGSENTRY, - __module__ = 'udf_pb2' + 'TagsEntry' : _reflection.GeneratedProtocolMessageType('TagsEntry', (_message.Message,), { + 'DESCRIPTOR' : _POINT_TAGSENTRY, + '__module__' : 'udf_pb2' # @@protoc_insertion_point(class_scope:agent.Point.TagsEntry) - )) + }) , - FieldsDoubleEntry = _reflection.GeneratedProtocolMessageType('FieldsDoubleEntry', (_message.Message,), dict( - DESCRIPTOR = _POINT_FIELDSDOUBLEENTRY, - __module__ = 'udf_pb2' + 'FieldsDoubleEntry' : _reflection.GeneratedProtocolMessageType('FieldsDoubleEntry', (_message.Message,), { + 'DESCRIPTOR' : _POINT_FIELDSDOUBLEENTRY, + '__module__' : 'udf_pb2' # @@protoc_insertion_point(class_scope:agent.Point.FieldsDoubleEntry) - )) + }) , - FieldsIntEntry = _reflection.GeneratedProtocolMessageType('FieldsIntEntry', (_message.Message,), dict( - DESCRIPTOR = _POINT_FIELDSINTENTRY, - __module__ = 'udf_pb2' + 'FieldsIntEntry' : _reflection.GeneratedProtocolMessageType('FieldsIntEntry', (_message.Message,), { + 'DESCRIPTOR' : _POINT_FIELDSINTENTRY, + '__module__' : 'udf_pb2' # @@protoc_insertion_point(class_scope:agent.Point.FieldsIntEntry) - )) + }) , - FieldsStringEntry = _reflection.GeneratedProtocolMessageType('FieldsStringEntry', (_message.Message,), dict( - DESCRIPTOR = _POINT_FIELDSSTRINGENTRY, - __module__ = 'udf_pb2' + 'FieldsStringEntry' : _reflection.GeneratedProtocolMessageType('FieldsStringEntry', (_message.Message,), { + 'DESCRIPTOR' : _POINT_FIELDSSTRINGENTRY, + '__module__' : 'udf_pb2' # @@protoc_insertion_point(class_scope:agent.Point.FieldsStringEntry) - )) + }) , - FieldsBoolEntry = _reflection.GeneratedProtocolMessageType('FieldsBoolEntry', (_message.Message,), dict( - DESCRIPTOR = _POINT_FIELDSBOOLENTRY, - __module__ = 'udf_pb2' + 'FieldsBoolEntry' : _reflection.GeneratedProtocolMessageType('FieldsBoolEntry', (_message.Message,), { + 'DESCRIPTOR' : _POINT_FIELDSBOOLENTRY, + '__module__' : 'udf_pb2' # @@protoc_insertion_point(class_scope:agent.Point.FieldsBoolEntry) - )) + }) , - DESCRIPTOR = _POINT, - __module__ = 'udf_pb2' + 'DESCRIPTOR' : _POINT, + '__module__' : 'udf_pb2' # @@protoc_insertion_point(class_scope:agent.Point) - )) + }) _sym_db.RegisterMessage(Point) _sym_db.RegisterMessage(Point.TagsEntry) _sym_db.RegisterMessage(Point.FieldsDoubleEntry) @@ -1589,50 +1588,42 @@ _sym_db.RegisterMessage(Point.FieldsStringEntry) _sym_db.RegisterMessage(Point.FieldsBoolEntry) -EndBatch = _reflection.GeneratedProtocolMessageType('EndBatch', (_message.Message,), dict( +EndBatch = _reflection.GeneratedProtocolMessageType('EndBatch', (_message.Message,), { - TagsEntry = _reflection.GeneratedProtocolMessageType('TagsEntry', (_message.Message,), dict( - DESCRIPTOR = _ENDBATCH_TAGSENTRY, - __module__ = 'udf_pb2' + 'TagsEntry' : _reflection.GeneratedProtocolMessageType('TagsEntry', (_message.Message,), { + 'DESCRIPTOR' : _ENDBATCH_TAGSENTRY, + '__module__' : 'udf_pb2' # @@protoc_insertion_point(class_scope:agent.EndBatch.TagsEntry) - )) + }) , - DESCRIPTOR = _ENDBATCH, - __module__ = 'udf_pb2' + 'DESCRIPTOR' : _ENDBATCH, + '__module__' : 'udf_pb2' # @@protoc_insertion_point(class_scope:agent.EndBatch) - )) + }) _sym_db.RegisterMessage(EndBatch) _sym_db.RegisterMessage(EndBatch.TagsEntry) -Request = _reflection.GeneratedProtocolMessageType('Request', (_message.Message,), dict( - DESCRIPTOR = _REQUEST, - __module__ = 'udf_pb2' +Request = _reflection.GeneratedProtocolMessageType('Request', (_message.Message,), { + 'DESCRIPTOR' : _REQUEST, + '__module__' : 'udf_pb2' # @@protoc_insertion_point(class_scope:agent.Request) - )) + }) _sym_db.RegisterMessage(Request) -Response = _reflection.GeneratedProtocolMessageType('Response', (_message.Message,), dict( - DESCRIPTOR = _RESPONSE, - __module__ = 'udf_pb2' +Response = _reflection.GeneratedProtocolMessageType('Response', (_message.Message,), { + 'DESCRIPTOR' : _RESPONSE, + '__module__' : 'udf_pb2' # @@protoc_insertion_point(class_scope:agent.Response) - )) + }) _sym_db.RegisterMessage(Response) -_INFORESPONSE_OPTIONSENTRY.has_options = True -_INFORESPONSE_OPTIONSENTRY._options = _descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')) -_BEGINBATCH_TAGSENTRY.has_options = True -_BEGINBATCH_TAGSENTRY._options = _descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')) -_POINT_TAGSENTRY.has_options = True -_POINT_TAGSENTRY._options = _descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')) -_POINT_FIELDSDOUBLEENTRY.has_options = True -_POINT_FIELDSDOUBLEENTRY._options = _descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')) -_POINT_FIELDSINTENTRY.has_options = True -_POINT_FIELDSINTENTRY._options = _descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')) -_POINT_FIELDSSTRINGENTRY.has_options = True -_POINT_FIELDSSTRINGENTRY._options = _descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')) -_POINT_FIELDSBOOLENTRY.has_options = True -_POINT_FIELDSBOOLENTRY._options = _descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')) -_ENDBATCH_TAGSENTRY.has_options = True -_ENDBATCH_TAGSENTRY._options = _descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')) +_INFORESPONSE_OPTIONSENTRY._options = None +_BEGINBATCH_TAGSENTRY._options = None +_POINT_TAGSENTRY._options = None +_POINT_FIELDSDOUBLEENTRY._options = None +_POINT_FIELDSINTENTRY._options = None +_POINT_FIELDSSTRINGENTRY._options = None +_POINT_FIELDSBOOLENTRY._options = None +_ENDBATCH_TAGSENTRY._options = None # @@protoc_insertion_point(module_scope) diff --git a/udf/agent/udf.pb.go b/udf/agent/udf.pb.go index 704c5b8c6..a3aa788d4 100644 --- a/udf/agent/udf.pb.go +++ b/udf/agent/udf.pb.go @@ -1,5 +1,6 @@ -// Code generated by protoc-gen-go. DO NOT EDIT. +// Code generated by protoc-gen-go. // source: udf.proto +// DO NOT EDIT! /* Package agent is a generated protocol buffer package. @@ -116,20 +117,6 @@ func (m *InfoResponse) String() string { return proto.CompactTextStri func (*InfoResponse) ProtoMessage() {} func (*InfoResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{1} } -func (m *InfoResponse) GetWants() EdgeType { - if m != nil { - return m.Wants - } - return EdgeType_STREAM -} - -func (m *InfoResponse) GetProvides() EdgeType { - if m != nil { - return m.Provides - } - return EdgeType_STREAM -} - func (m *InfoResponse) GetOptions() map[string]*OptionInfo { if m != nil { return m.Options @@ -138,7 +125,7 @@ func (m *InfoResponse) GetOptions() map[string]*OptionInfo { } type OptionInfo struct { - ValueTypes []ValueType `protobuf:"varint,1,rep,packed,name=valueTypes,enum=agent.ValueType" json:"valueTypes,omitempty"` + ValueTypes []ValueType `protobuf:"varint,1,rep,name=valueTypes,enum=agent.ValueType" json:"valueTypes,omitempty"` } func (m *OptionInfo) Reset() { *m = OptionInfo{} } @@ -146,13 +133,6 @@ func (m *OptionInfo) String() string { return proto.CompactTextString func (*OptionInfo) ProtoMessage() {} func (*OptionInfo) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{2} } -func (m *OptionInfo) GetValueTypes() []ValueType { - if m != nil { - return m.ValueTypes - } - return nil -} - // Request that the process initialize itself with the provided options. type InitRequest struct { Options []*Option `protobuf:"bytes,1,rep,name=options" json:"options,omitempty"` @@ -172,20 +152,6 @@ func (m *InitRequest) GetOptions() []*Option { return nil } -func (m *InitRequest) GetTaskID() string { - if m != nil { - return m.TaskID - } - return "" -} - -func (m *InitRequest) GetNodeID() string { - if m != nil { - return m.NodeID - } - return "" -} - type Option struct { Name string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"` Values []*OptionValue `protobuf:"bytes,2,rep,name=values" json:"values,omitempty"` @@ -196,13 +162,6 @@ func (m *Option) String() string { return proto.CompactTextString(m) func (*Option) ProtoMessage() {} func (*Option) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{4} } -func (m *Option) GetName() string { - if m != nil { - return m.Name - } - return "" -} - func (m *Option) GetValues() []*OptionValue { if m != nil { return m.Values @@ -259,13 +218,6 @@ func (m *OptionValue) GetValue() isOptionValue_Value { return nil } -func (m *OptionValue) GetType() ValueType { - if m != nil { - return m.Type - } - return ValueType_BOOL -} - func (m *OptionValue) GetBoolValue() bool { if x, ok := m.GetValue().(*OptionValue_BoolValue); ok { return x.BoolValue @@ -423,20 +375,6 @@ func (m *InitResponse) String() string { return proto.CompactTextStri func (*InitResponse) ProtoMessage() {} func (*InitResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{6} } -func (m *InitResponse) GetSuccess() bool { - if m != nil { - return m.Success - } - return false -} - -func (m *InitResponse) GetError() string { - if m != nil { - return m.Error - } - return "" -} - // Request that the process provide a snapshot of its state. type SnapshotRequest struct { } @@ -456,13 +394,6 @@ func (m *SnapshotResponse) String() string { return proto.CompactText func (*SnapshotResponse) ProtoMessage() {} func (*SnapshotResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{8} } -func (m *SnapshotResponse) GetSnapshot() []byte { - if m != nil { - return m.Snapshot - } - return nil -} - // Request that the process restore its state from a snapshot. type RestoreRequest struct { Snapshot []byte `protobuf:"bytes,1,opt,name=snapshot,proto3" json:"snapshot,omitempty"` @@ -473,13 +404,6 @@ func (m *RestoreRequest) String() string { return proto.CompactTextSt func (*RestoreRequest) ProtoMessage() {} func (*RestoreRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{9} } -func (m *RestoreRequest) GetSnapshot() []byte { - if m != nil { - return m.Snapshot - } - return nil -} - // Respond with success or failure to a RestoreRequest type RestoreResponse struct { Success bool `protobuf:"varint,1,opt,name=success" json:"success,omitempty"` @@ -491,20 +415,6 @@ func (m *RestoreResponse) String() string { return proto.CompactTextS func (*RestoreResponse) ProtoMessage() {} func (*RestoreResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{10} } -func (m *RestoreResponse) GetSuccess() bool { - if m != nil { - return m.Success - } - return false -} - -func (m *RestoreResponse) GetError() string { - if m != nil { - return m.Error - } - return "" -} - // Request that the process respond with a Keepalive to verify it is responding. type KeepaliveRequest struct { // The number of nanoseconds since the epoch. @@ -517,13 +427,6 @@ func (m *KeepaliveRequest) String() string { return proto.CompactText func (*KeepaliveRequest) ProtoMessage() {} func (*KeepaliveRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{11} } -func (m *KeepaliveRequest) GetTime() int64 { - if m != nil { - return m.Time - } - return 0 -} - // Respond to KeepaliveRequest type KeepaliveResponse struct { // The number of nanoseconds since the epoch. @@ -536,13 +439,6 @@ func (m *KeepaliveResponse) String() string { return proto.CompactTex func (*KeepaliveResponse) ProtoMessage() {} func (*KeepaliveResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{12} } -func (m *KeepaliveResponse) GetTime() int64 { - if m != nil { - return m.Time - } - return 0 -} - // Sent from the process to Kapacitor indicating an error has occurred. // If an ErrorResponse is received, Kapacitor will terminate the process. type ErrorResponse struct { @@ -554,13 +450,6 @@ func (m *ErrorResponse) String() string { return proto.CompactTextStr func (*ErrorResponse) ProtoMessage() {} func (*ErrorResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{13} } -func (m *ErrorResponse) GetError() string { - if m != nil { - return m.Error - } - return "" -} - // Indicates the beginning of a batch. // All subsequent points should be considered // part of the batch until EndBatch arrives. @@ -586,20 +475,6 @@ func (m *BeginBatch) String() string { return proto.CompactTextString func (*BeginBatch) ProtoMessage() {} func (*BeginBatch) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{14} } -func (m *BeginBatch) GetName() string { - if m != nil { - return m.Name - } - return "" -} - -func (m *BeginBatch) GetGroup() string { - if m != nil { - return m.Group - } - return "" -} - func (m *BeginBatch) GetTags() map[string]string { if m != nil { return m.Tags @@ -607,20 +482,6 @@ func (m *BeginBatch) GetTags() map[string]string { return nil } -func (m *BeginBatch) GetSize() int64 { - if m != nil { - return m.Size - } - return 0 -} - -func (m *BeginBatch) GetByName() bool { - if m != nil { - return m.ByName - } - return false -} - // Message containing information about a single data point. // Can be sent on it's own or bookended by BeginBatch and EndBatch messages. type Point struct { @@ -643,48 +504,6 @@ func (m *Point) String() string { return proto.CompactTextString(m) } func (*Point) ProtoMessage() {} func (*Point) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{15} } -func (m *Point) GetTime() int64 { - if m != nil { - return m.Time - } - return 0 -} - -func (m *Point) GetName() string { - if m != nil { - return m.Name - } - return "" -} - -func (m *Point) GetDatabase() string { - if m != nil { - return m.Database - } - return "" -} - -func (m *Point) GetRetentionPolicy() string { - if m != nil { - return m.RetentionPolicy - } - return "" -} - -func (m *Point) GetGroup() string { - if m != nil { - return m.Group - } - return "" -} - -func (m *Point) GetDimensions() []string { - if m != nil { - return m.Dimensions - } - return nil -} - func (m *Point) GetTags() map[string]string { if m != nil { return m.Tags @@ -720,13 +539,6 @@ func (m *Point) GetFieldsBool() map[string]bool { return nil } -func (m *Point) GetByName() bool { - if m != nil { - return m.ByName - } - return false -} - // Indicates the end of a batch and contains // all meta data associated with the batch. // The same meta information is provided for @@ -745,27 +557,6 @@ func (m *EndBatch) String() string { return proto.CompactTextString(m func (*EndBatch) ProtoMessage() {} func (*EndBatch) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{16} } -func (m *EndBatch) GetName() string { - if m != nil { - return m.Name - } - return "" -} - -func (m *EndBatch) GetGroup() string { - if m != nil { - return m.Group - } - return "" -} - -func (m *EndBatch) GetTmax() int64 { - if m != nil { - return m.Tmax - } - return 0 -} - func (m *EndBatch) GetTags() map[string]string { if m != nil { return m.Tags @@ -773,13 +564,6 @@ func (m *EndBatch) GetTags() map[string]string { return nil } -func (m *EndBatch) GetByName() bool { - if m != nil { - return m.ByName - } - return false -} - // Request message wrapper -- sent from Kapacitor to process type Request struct { // Types that are valid to be assigned to Message: @@ -1454,78 +1238,77 @@ func init() { func init() { proto.RegisterFile("udf.proto", fileDescriptor0) } var fileDescriptor0 = []byte{ - // 1159 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xc4, 0x57, 0xdd, 0x72, 0xdb, 0x44, - 0x14, 0xb6, 0x22, 0xcb, 0x96, 0x8e, 0x9d, 0x58, 0xd9, 0x86, 0x56, 0x84, 0x4e, 0x27, 0x88, 0xb6, - 0x71, 0x42, 0x31, 0x60, 0x60, 0x5a, 0x3a, 0xa5, 0x4c, 0x8c, 0x0d, 0xf6, 0xd0, 0x26, 0x9d, 0x8d, - 0xdb, 0x7b, 0x39, 0xde, 0xb8, 0x9a, 0x38, 0x92, 0x91, 0xd6, 0x01, 0x73, 0xc5, 0xe3, 0xf0, 0x00, - 0x3c, 0x04, 0x17, 0x3c, 0x09, 0x33, 0xbc, 0x03, 0xb3, 0x3f, 0x5a, 0xad, 0x6c, 0x43, 0xa6, 0x4c, - 0x67, 0xb8, 0xd3, 0x9e, 0xf3, 0x9d, 0x9f, 0x3d, 0xbf, 0x2b, 0x70, 0xe6, 0xe3, 0xf3, 0xd6, 0x2c, - 0x89, 0x69, 0x8c, 0xac, 0x60, 0x42, 0x22, 0xea, 0x6f, 0x42, 0x6d, 0x10, 0x9d, 0xc7, 0x98, 0xfc, - 0x30, 0x27, 0x29, 0xf5, 0xff, 0x32, 0xa0, 0x2e, 0xce, 0xe9, 0x2c, 0x8e, 0x52, 0x82, 0xee, 0x81, - 0xf5, 0x63, 0x10, 0xd1, 0xd4, 0x33, 0xf6, 0x8c, 0xe6, 0x56, 0xbb, 0xd1, 0xe2, 0x62, 0xad, 0xde, - 0x78, 0x42, 0x86, 0x8b, 0x19, 0xc1, 0x82, 0x8b, 0x3e, 0x04, 0x7b, 0x96, 0xc4, 0x57, 0xe1, 0x98, - 0xa4, 0xde, 0xc6, 0x7a, 0xa4, 0x02, 0xa0, 0xc7, 0x50, 0x8d, 0x67, 0x34, 0x8c, 0xa3, 0xd4, 0x33, - 0xf7, 0xcc, 0x66, 0xad, 0xbd, 0x27, 0xb1, 0xba, 0xe5, 0xd6, 0x89, 0x80, 0xf4, 0x22, 0x9a, 0x2c, - 0x70, 0x26, 0xb0, 0xfb, 0x1c, 0xea, 0x3a, 0x03, 0xb9, 0x60, 0x5e, 0x90, 0x05, 0xf7, 0xce, 0xc1, - 0xec, 0x13, 0xed, 0x83, 0x75, 0x15, 0x4c, 0xe7, 0x84, 0xfb, 0x51, 0x6b, 0x6f, 0x4b, 0xdd, 0x42, - 0x8a, 0x5b, 0x10, 0xfc, 0xc7, 0x1b, 0x8f, 0x0c, 0xff, 0x29, 0x40, 0xce, 0x40, 0x9f, 0x00, 0x70, - 0x16, 0xf3, 0x97, 0xdd, 0xd8, 0x6c, 0x6e, 0xb5, 0x5d, 0x29, 0xff, 0x2a, 0x63, 0x60, 0x0d, 0xe3, - 0x9f, 0xb3, 0xf0, 0x85, 0x54, 0x86, 0x0f, 0xed, 0xe7, 0x37, 0x33, 0xf8, 0xcd, 0x36, 0x0b, 0xd6, - 0xd5, 0x35, 0xd0, 0x4d, 0xa8, 0xd0, 0x20, 0xbd, 0x18, 0x74, 0xb9, 0x97, 0x0e, 0x96, 0x27, 0x46, - 0x8f, 0xe2, 0x31, 0x19, 0x74, 0x3d, 0x53, 0xd0, 0xc5, 0xc9, 0xef, 0x43, 0x45, 0xa8, 0x40, 0x08, - 0xca, 0x51, 0x70, 0x49, 0xe4, 0x8d, 0xf9, 0x37, 0x3a, 0x84, 0x0a, 0xf7, 0x89, 0xc5, 0x9e, 0x59, - 0x45, 0x05, 0xab, 0xdc, 0x73, 0x2c, 0x11, 0xfe, 0x9f, 0x06, 0xd4, 0x34, 0x3a, 0xba, 0x0b, 0x65, - 0xba, 0x98, 0x11, 0x99, 0xdf, 0xd5, 0xdb, 0x72, 0x2e, 0xba, 0x03, 0xce, 0x28, 0x8e, 0xa7, 0xaf, - 0x54, 0x60, 0xed, 0x7e, 0x09, 0xe7, 0x24, 0x74, 0x1b, 0xec, 0x30, 0xa2, 0x82, 0xcd, 0x3c, 0x37, - 0xfb, 0x25, 0xac, 0x28, 0xc8, 0x87, 0xda, 0x38, 0x9e, 0x8f, 0xa6, 0x44, 0x00, 0xca, 0x7b, 0x46, - 0xd3, 0xe8, 0x97, 0xb0, 0x4e, 0x64, 0x98, 0x94, 0x26, 0x61, 0x34, 0x11, 0x18, 0x8b, 0x5d, 0x8f, - 0x61, 0x34, 0x22, 0xba, 0x0f, 0x9b, 0xe3, 0x79, 0x12, 0x28, 0xe7, 0xbd, 0x8a, 0x34, 0x55, 0x24, - 0x77, 0xaa, 0xb2, 0x04, 0xfc, 0xa7, 0xac, 0x9a, 0x59, 0x7a, 0x64, 0x35, 0x7b, 0x50, 0x4d, 0xe7, - 0x67, 0x67, 0x24, 0x15, 0xf5, 0x6c, 0xe3, 0xec, 0x88, 0x76, 0xc0, 0x22, 0x49, 0x12, 0x27, 0x32, - 0x1f, 0xe2, 0xe0, 0x6f, 0x43, 0xe3, 0x34, 0x0a, 0x66, 0xe9, 0xeb, 0x38, 0x4b, 0xb1, 0xdf, 0x02, - 0x37, 0x27, 0x49, 0xb5, 0xbb, 0x60, 0xa7, 0x92, 0xc6, 0xf5, 0xd6, 0xb1, 0x3a, 0xfb, 0x0f, 0x60, - 0x0b, 0x93, 0x94, 0xc6, 0x09, 0xc9, 0x8a, 0xe4, 0xdf, 0xd0, 0x47, 0xd0, 0x50, 0xe8, 0xff, 0xe8, - 0xf3, 0x7d, 0x70, 0xbf, 0x27, 0x64, 0x16, 0x4c, 0xc3, 0x2b, 0x65, 0x12, 0x41, 0x99, 0x86, 0xb2, - 0x68, 0x4c, 0xcc, 0xbf, 0xfd, 0x7d, 0xd8, 0xd6, 0x70, 0xd2, 0xd8, 0x3a, 0xe0, 0x3d, 0xd8, 0xec, - 0x31, 0xcd, 0x0a, 0xa4, 0xec, 0x1a, 0xba, 0xdd, 0x3f, 0x0c, 0x80, 0x0e, 0x99, 0x84, 0x51, 0x27, - 0xa0, 0x67, 0xaf, 0xd7, 0xd6, 0xe9, 0x0e, 0x58, 0x93, 0x24, 0x9e, 0xcf, 0x32, 0x87, 0xf9, 0x01, - 0x7d, 0x0c, 0x65, 0x1a, 0x4c, 0xb2, 0x59, 0xf0, 0x9e, 0xac, 0xc0, 0x5c, 0x55, 0x6b, 0x18, 0x4c, - 0xe4, 0x18, 0xe0, 0x40, 0xa6, 0x3a, 0x0d, 0x7f, 0x16, 0x75, 0x64, 0x62, 0xfe, 0xcd, 0x1a, 0x67, - 0xb4, 0x38, 0x66, 0x06, 0x2d, 0x1e, 0x24, 0x79, 0xda, 0x7d, 0x08, 0x8e, 0x12, 0x5f, 0x33, 0x2c, - 0x76, 0xf4, 0x61, 0xe1, 0xe8, 0x93, 0xe1, 0xd7, 0x0a, 0x58, 0x2f, 0xe2, 0x30, 0x5a, 0x1b, 0x3c, - 0x75, 0xbb, 0x0d, 0xed, 0x76, 0xbb, 0x60, 0x8f, 0x03, 0x1a, 0x8c, 0x82, 0x94, 0xc8, 0xee, 0x55, - 0x67, 0xd4, 0x84, 0x46, 0x42, 0x28, 0x89, 0x58, 0x8d, 0xbe, 0x88, 0xa7, 0xe1, 0xd9, 0x82, 0x7b, - 0xef, 0xe0, 0x65, 0x72, 0x1e, 0x23, 0x4b, 0x8f, 0xd1, 0x1d, 0x80, 0x71, 0x78, 0x49, 0xa2, 0x94, - 0xcf, 0x96, 0xca, 0x9e, 0xd9, 0x74, 0xb0, 0x46, 0x41, 0x87, 0x32, 0x86, 0x55, 0x1e, 0xc3, 0x9b, - 0x32, 0x86, 0xdc, 0xff, 0x95, 0xf0, 0x75, 0xa0, 0x7e, 0x1e, 0x92, 0xe9, 0x38, 0xed, 0xf2, 0xf6, - 0xf3, 0x6c, 0x2e, 0x73, 0xa7, 0x20, 0xf3, 0xad, 0x06, 0x10, 0xb2, 0x05, 0x19, 0xf4, 0x25, 0x38, - 0xe2, 0x3c, 0x88, 0xa8, 0xe7, 0x14, 0x12, 0xa7, 0x2b, 0x18, 0x44, 0x54, 0x48, 0xe7, 0xe8, 0xdc, - 0xfc, 0x29, 0xef, 0x6c, 0x0f, 0xfe, 0xd1, 0xbc, 0x00, 0x14, 0xcc, 0x0b, 0x12, 0x7a, 0x02, 0x20, - 0xce, 0x9d, 0x38, 0x9e, 0x7a, 0x75, 0xae, 0xe1, 0xf6, 0x1a, 0x0d, 0x8c, 0x2d, 0xe4, 0x35, 0xbc, - 0x56, 0x2b, 0xb5, 0xb7, 0x52, 0x2b, 0xbb, 0x5f, 0xc3, 0xf6, 0x4a, 0xc0, 0xae, 0x53, 0x60, 0xe8, - 0x0a, 0x9e, 0xc0, 0x56, 0x31, 0x60, 0xd7, 0x49, 0x9b, 0x6b, 0xcd, 0x6b, 0x01, 0x7b, 0x23, 0xff, - 0xbf, 0x82, 0xc6, 0x52, 0xbc, 0xae, 0x13, 0xb7, 0xf5, 0x56, 0xf9, 0xdd, 0x00, 0xbb, 0x17, 0x8d, - 0xdf, 0xb4, 0xef, 0x59, 0x5f, 0x5d, 0x06, 0x3f, 0x89, 0x7d, 0x81, 0xf9, 0x37, 0xfa, 0x48, 0xd6, - 0x71, 0x99, 0xa7, 0xf4, 0xdd, 0xec, 0x0d, 0x21, 0x95, 0xaf, 0x94, 0xf2, 0x5b, 0xef, 0xfa, 0x5f, - 0x4c, 0xa8, 0x66, 0x43, 0xb3, 0x09, 0xe5, 0x30, 0x3a, 0x8f, 0xb9, 0x60, 0xbe, 0x53, 0xb5, 0xd7, - 0x52, 0xbf, 0x84, 0x39, 0x42, 0x20, 0x43, 0x2a, 0x5f, 0x1c, 0x39, 0x52, 0x3d, 0x0c, 0x04, 0x32, - 0xa4, 0xe8, 0x21, 0x38, 0x17, 0xd9, 0xd0, 0xe5, 0x17, 0xaf, 0xb5, 0x6f, 0x49, 0xf8, 0xf2, 0xd0, - 0x66, 0x0b, 0x56, 0x61, 0xd1, 0xe7, 0xda, 0xd2, 0x28, 0x73, 0xb9, 0xac, 0xc9, 0x97, 0x16, 0x14, - 0x5b, 0xbc, 0x19, 0x12, 0x7d, 0x0a, 0xd5, 0x44, 0xac, 0x13, 0x1e, 0xa0, 0x5a, 0xfb, 0x1d, 0x29, - 0x54, 0x5c, 0x49, 0xfd, 0x12, 0xce, 0x70, 0xe8, 0x00, 0xac, 0x11, 0x1b, 0xbd, 0x9e, 0x5b, 0x78, - 0x3e, 0xe5, 0xe3, 0xb8, 0x5f, 0xc2, 0x02, 0x81, 0xee, 0x82, 0x35, 0x63, 0xcd, 0xe6, 0x6d, 0x73, - 0x68, 0x5d, 0x6f, 0x40, 0x86, 0xe2, 0x4c, 0xf4, 0x01, 0x98, 0x24, 0x1a, 0x7b, 0x88, 0x63, 0x1a, - 0x4b, 0x19, 0xed, 0x97, 0x30, 0xe3, 0x76, 0x1c, 0xa8, 0x5e, 0x92, 0x34, 0x0d, 0x26, 0xc4, 0xff, - 0xcd, 0x04, 0x5b, 0xad, 0x9a, 0x83, 0x42, 0x0e, 0x6e, 0xac, 0x79, 0x27, 0xaa, 0x24, 0x1c, 0x14, - 0x92, 0x70, 0xa3, 0x90, 0x04, 0x1d, 0x1a, 0x52, 0xf4, 0x68, 0x35, 0x0b, 0xde, 0x6a, 0x16, 0x94, - 0x90, 0x96, 0x86, 0x2f, 0x56, 0xd2, 0x70, 0x6b, 0x25, 0x0d, 0x4a, 0x2e, 0xcf, 0x43, 0x7b, 0x39, - 0x0f, 0x37, 0x97, 0xf3, 0xa0, 0x84, 0x54, 0x22, 0x1e, 0x64, 0x5b, 0xb6, 0xc2, 0x25, 0x76, 0xb2, - 0xc8, 0xe9, 0xab, 0x98, 0x45, 0x99, 0x83, 0xfe, 0xf7, 0xb4, 0x1d, 0xbe, 0x0f, 0x76, 0xf6, 0xd4, - 0x47, 0x00, 0x95, 0xd3, 0x21, 0xee, 0x1d, 0x3d, 0x77, 0x4b, 0xc8, 0x01, 0xab, 0x73, 0x34, 0xfc, - 0xa6, 0xef, 0x1a, 0x87, 0x5d, 0x70, 0xd4, 0xbb, 0x12, 0xd9, 0x50, 0xee, 0x9c, 0x9c, 0x3c, 0x73, - 0x4b, 0xa8, 0x0a, 0xe6, 0xe0, 0x78, 0xe8, 0x1a, 0x4c, 0xac, 0x7b, 0xf2, 0xb2, 0xf3, 0xac, 0xe7, - 0x6e, 0x48, 0x15, 0x83, 0xe3, 0xef, 0x5c, 0x13, 0xd5, 0xc1, 0xee, 0xbe, 0xc4, 0x47, 0xc3, 0xc1, - 0xc9, 0xb1, 0x5b, 0x1e, 0x55, 0xf8, 0xff, 0xcb, 0x67, 0x7f, 0x07, 0x00, 0x00, 0xff, 0xff, 0x71, - 0xb7, 0xac, 0x48, 0xcc, 0x0c, 0x00, 0x00, + // 1151 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xc4, 0x57, 0xdd, 0x72, 0xdb, 0xc4, + 0x17, 0xaf, 0x22, 0xcb, 0x96, 0x8e, 0x9d, 0x58, 0xde, 0xe6, 0x9f, 0xea, 0x1f, 0x3a, 0x99, 0x20, + 0x68, 0x9b, 0x84, 0x62, 0xc0, 0xc0, 0x50, 0x3a, 0x05, 0x26, 0xc6, 0x86, 0x78, 0x68, 0xe3, 0x8e, + 0xe2, 0xf6, 0x5e, 0x8e, 0x36, 0xae, 0x26, 0x8e, 0x64, 0x24, 0x39, 0x60, 0xae, 0x78, 0x1c, 0x1e, + 0x80, 0x87, 0xe0, 0x82, 0x27, 0x61, 0x86, 0x77, 0x60, 0xbf, 0xb4, 0x5a, 0xd9, 0x86, 0x4c, 0x99, + 0xce, 0x70, 0xa7, 0x3d, 0xe7, 0x77, 0xbe, 0xcf, 0x9e, 0xb3, 0x02, 0x6b, 0x1e, 0x5c, 0xb4, 0x67, + 0x49, 0x9c, 0xc5, 0xc8, 0xf0, 0x27, 0x38, 0xca, 0xdc, 0x4d, 0xa8, 0x0f, 0xa2, 0x8b, 0xd8, 0xc3, + 0xdf, 0xcf, 0x71, 0x9a, 0xb9, 0x7f, 0x6a, 0xd0, 0xe0, 0xe7, 0x74, 0x16, 0x47, 0x29, 0x46, 0xf7, + 0xc0, 0xf8, 0xc1, 0x8f, 0xb2, 0xd4, 0xd1, 0xf6, 0xb5, 0x83, 0xad, 0x4e, 0xb3, 0xcd, 0xc4, 0xda, + 0xfd, 0x60, 0x82, 0x47, 0x8b, 0x19, 0xf6, 0x38, 0x17, 0xbd, 0x07, 0x26, 0x51, 0x7b, 0x1d, 0x06, + 0x38, 0x75, 0x36, 0xd6, 0x23, 0x25, 0x00, 0x3d, 0x86, 0x5a, 0x3c, 0xcb, 0x42, 0xa2, 0xdf, 0xd1, + 0xf7, 0xf5, 0x83, 0x7a, 0x67, 0x5f, 0x60, 0x55, 0xcb, 0xed, 0x21, 0x87, 0xf4, 0xa3, 0x2c, 0x59, + 0x78, 0xb9, 0xc0, 0xee, 0x33, 0x68, 0xa8, 0x0c, 0x64, 0x83, 0x7e, 0x89, 0x17, 0xcc, 0x3b, 0xcb, + 0xa3, 0x9f, 0xe8, 0x01, 0x18, 0xd7, 0xfe, 0x74, 0x8e, 0x99, 0x1f, 0xf5, 0x4e, 0x4b, 0xe8, 0xe6, + 0x52, 0xcc, 0x02, 0xe7, 0x3f, 0xde, 0x78, 0xa4, 0xb9, 0x5f, 0x02, 0x14, 0x0c, 0xf4, 0x21, 0x00, + 0x63, 0x51, 0x7f, 0x69, 0xc4, 0x3a, 0x89, 0xc3, 0x16, 0xf2, 0x2f, 0x73, 0x86, 0xa7, 0x60, 0xdc, + 0x0b, 0x9a, 0xbe, 0x30, 0x13, 0xe9, 0x23, 0xb6, 0x65, 0x64, 0x1a, 0x8b, 0x6c, 0xb3, 0x64, 0x5d, + 0x86, 0x81, 0x76, 0xa0, 0x9a, 0xf9, 0xe9, 0xe5, 0xa0, 0xc7, 0xbc, 0xb4, 0x3c, 0x71, 0xa2, 0xf4, + 0x28, 0x0e, 0x30, 0xa1, 0xeb, 0x9c, 0xce, 0x4f, 0xee, 0x09, 0x54, 0xb9, 0x0a, 0x84, 0xa0, 0x12, + 0xf9, 0x57, 0x58, 0x44, 0xcc, 0xbe, 0xd1, 0x11, 0x54, 0x99, 0x4f, 0x34, 0xf7, 0xd4, 0x2a, 0x2a, + 0x59, 0x65, 0x9e, 0x7b, 0x02, 0xe1, 0xfe, 0xa1, 0x41, 0x5d, 0xa1, 0xa3, 0x77, 0xa1, 0x92, 0x91, + 0x50, 0x44, 0x7d, 0x57, 0xa3, 0x65, 0x5c, 0xb4, 0x07, 0xd6, 0x38, 0x8e, 0xa7, 0x2f, 0x65, 0x62, + 0xcd, 0x93, 0x5b, 0x5e, 0x41, 0x42, 0x77, 0xc1, 0x0c, 0xa3, 0x8c, 0xb3, 0xa9, 0xe7, 0x3a, 0x61, + 0x4b, 0x0a, 0x72, 0xa1, 0x1e, 0xc4, 0xf3, 0xf1, 0x14, 0x73, 0x40, 0x85, 0x00, 0x34, 0x02, 0x50, + 0x89, 0x14, 0x93, 0x66, 0x49, 0x18, 0x4d, 0x38, 0xc6, 0xa0, 0xe1, 0x51, 0x8c, 0x42, 0x44, 0xf7, + 0x61, 0x33, 0x98, 0x27, 0xbe, 0x74, 0xde, 0xa9, 0x0a, 0x53, 0x65, 0x72, 0xb7, 0x26, 0x5a, 0x80, + 0x94, 0xb7, 0xc1, 0xcb, 0x23, 0xba, 0xd9, 0x81, 0x5a, 0x3a, 0x3f, 0x3f, 0xc7, 0x29, 0xef, 0x67, + 0xd3, 0xcb, 0x8f, 0x68, 0x1b, 0x0c, 0x9c, 0x24, 0x71, 0x22, 0xea, 0xc1, 0x0f, 0x6e, 0x0b, 0x9a, + 0x67, 0x91, 0x3f, 0x4b, 0x5f, 0xc5, 0x79, 0x89, 0xdd, 0x36, 0xd8, 0x05, 0x49, 0xa8, 0xdd, 0x05, + 0x33, 0x15, 0x34, 0xa6, 0xb7, 0xe1, 0xc9, 0xb3, 0xfb, 0x10, 0xb6, 0x08, 0x2e, 0x8b, 0x13, 0x9c, + 0x37, 0xc9, 0x3f, 0xa1, 0x8f, 0xa1, 0x29, 0xd1, 0xff, 0xd2, 0xe7, 0xfb, 0x60, 0x7f, 0x87, 0xf1, + 0xcc, 0x9f, 0x86, 0xd7, 0xd2, 0x24, 0x69, 0x9a, 0x2c, 0x14, 0x4d, 0xa3, 0x7b, 0xec, 0xdb, 0x7d, + 0x00, 0x2d, 0x05, 0x27, 0x8c, 0xad, 0x03, 0xde, 0x83, 0xcd, 0x3e, 0xd5, 0x2c, 0x41, 0xd2, 0xae, + 0xa6, 0xda, 0xfd, 0x5d, 0x03, 0xe8, 0xe2, 0x49, 0x18, 0x75, 0xfd, 0xec, 0xfc, 0xd5, 0xda, 0x3e, + 0x25, 0x82, 0x93, 0x24, 0x9e, 0xcf, 0x72, 0x87, 0xd9, 0x01, 0x7d, 0x40, 0x6c, 0xfa, 0x93, 0x7c, + 0x16, 0xbc, 0x25, 0x3a, 0xb0, 0x50, 0xd5, 0x1e, 0x11, 0x2e, 0x1f, 0x03, 0x0c, 0x48, 0x55, 0xa7, + 0xe1, 0x4f, 0xbc, 0x8f, 0x88, 0x93, 0xf4, 0x9b, 0x5e, 0x9c, 0xf1, 0xe2, 0x94, 0x1a, 0x34, 0x58, + 0x92, 0xc4, 0x69, 0xf7, 0x33, 0xb0, 0xa4, 0xf8, 0x9a, 0x61, 0xb1, 0xad, 0x0e, 0x0b, 0x4b, 0x9d, + 0x0c, 0xbf, 0x54, 0xc1, 0x78, 0x1e, 0x93, 0x16, 0x5e, 0x97, 0x13, 0x19, 0xdd, 0x86, 0x12, 0x1d, + 0xa9, 0x6b, 0xe0, 0x67, 0xfe, 0xd8, 0x4f, 0xb1, 0xb8, 0xbd, 0xf2, 0x8c, 0x0e, 0xa0, 0x99, 0xe0, + 0x8c, 0xc4, 0x45, 0x7a, 0xf4, 0x79, 0x3c, 0x0d, 0xcf, 0x17, 0xcc, 0x7b, 0xcb, 0x5b, 0x26, 0x17, + 0x39, 0x32, 0xd4, 0x1c, 0xed, 0x01, 0x04, 0xc4, 0x6e, 0x94, 0xb2, 0xd9, 0x52, 0x25, 0x99, 0xb2, + 0x3c, 0x85, 0x42, 0x26, 0x00, 0xcf, 0x61, 0x8d, 0xe5, 0x70, 0x47, 0xe4, 0x90, 0xf9, 0xbf, 0x92, + 0xbe, 0x2e, 0x34, 0x2e, 0x42, 0x3c, 0x0d, 0xd2, 0x1e, 0xbb, 0x7e, 0x8e, 0xc9, 0x64, 0xf6, 0x4a, + 0x32, 0xdf, 0x28, 0x00, 0x2e, 0x5b, 0x92, 0x41, 0x9f, 0x83, 0xc5, 0xcf, 0x83, 0x28, 0x73, 0xac, + 0x52, 0xe1, 0x54, 0x05, 0x84, 0xcb, 0xa5, 0x0b, 0x74, 0x61, 0xfe, 0x8c, 0xdd, 0x6c, 0x07, 0xfe, + 0xd6, 0x3c, 0x07, 0x94, 0xcc, 0x73, 0x12, 0x7a, 0x02, 0xc0, 0xcf, 0x5d, 0x32, 0x81, 0x9c, 0x06, + 0xd3, 0x70, 0x77, 0x8d, 0x06, 0xca, 0xe6, 0xf2, 0x0a, 0x5e, 0xe9, 0x95, 0xfa, 0x1b, 0xe9, 0x95, + 0xdd, 0xaf, 0xa0, 0xb5, 0x92, 0xb0, 0x9b, 0x14, 0x68, 0xaa, 0x82, 0x27, 0xb0, 0x55, 0x4e, 0xd8, + 0x4d, 0xd2, 0xfa, 0x5a, 0xf3, 0x4a, 0xc2, 0x5e, 0xcb, 0xff, 0x2f, 0xa0, 0xb9, 0x94, 0xaf, 0x9b, + 0xc4, 0x4d, 0xf5, 0xaa, 0xfc, 0xa6, 0x81, 0xd9, 0x8f, 0x82, 0xd7, 0xbd, 0xf7, 0xf4, 0x5e, 0x5d, + 0xf9, 0x3f, 0xf2, 0x7d, 0xe1, 0xb1, 0x6f, 0xf4, 0xbe, 0xe8, 0xe3, 0x0a, 0x2b, 0xe9, 0xff, 0xf3, + 0x37, 0x84, 0x50, 0xbe, 0xd2, 0xca, 0x6f, 0xfc, 0xd6, 0xff, 0xac, 0x43, 0x2d, 0x1f, 0x9a, 0x07, + 0x50, 0x09, 0xc9, 0xab, 0x80, 0x09, 0x16, 0x3b, 0x55, 0x79, 0x2d, 0x91, 0xc5, 0xc3, 0x10, 0x1c, + 0x19, 0x66, 0xe2, 0xc5, 0x51, 0x20, 0xe5, 0xc3, 0x80, 0x23, 0xc3, 0x0c, 0x11, 0xc7, 0x2e, 0xf3, + 0xa1, 0xcb, 0x02, 0xaf, 0x77, 0xee, 0x08, 0xf8, 0xf2, 0xd0, 0xa6, 0x0b, 0x56, 0x62, 0xd1, 0x27, + 0xca, 0xd2, 0xa8, 0x30, 0xb9, 0xfc, 0x92, 0x2f, 0x2d, 0x28, 0xba, 0x78, 0x73, 0x24, 0xfa, 0x08, + 0x6a, 0x09, 0x5f, 0x27, 0x2c, 0x41, 0xf5, 0xce, 0xff, 0x84, 0x50, 0x79, 0x25, 0x11, 0x99, 0x1c, + 0x87, 0x0e, 0xc1, 0x18, 0xd3, 0xd1, 0xeb, 0xd8, 0xa5, 0xe7, 0x53, 0x31, 0x8e, 0x09, 0x98, 0x23, + 0xc8, 0xd3, 0xc1, 0x98, 0xd1, 0xcb, 0xe6, 0xb4, 0x18, 0xb4, 0xa1, 0x5e, 0x40, 0x8a, 0x62, 0x4c, + 0xf4, 0x0e, 0xe8, 0x38, 0x0a, 0x1c, 0xc4, 0x30, 0xcd, 0xa5, 0x8a, 0x12, 0x18, 0xe5, 0x76, 0x2d, + 0xa8, 0x5d, 0x91, 0x95, 0x46, 0x98, 0xee, 0xaf, 0x3a, 0x98, 0x72, 0xd5, 0x1c, 0x96, 0x6a, 0x70, + 0x7b, 0xcd, 0x3b, 0x51, 0x16, 0xe1, 0xb0, 0x54, 0x84, 0xdb, 0xa5, 0x22, 0xa8, 0x50, 0x52, 0x85, + 0x47, 0xab, 0x55, 0x70, 0x56, 0xab, 0x20, 0x85, 0x94, 0x32, 0x7c, 0xba, 0x52, 0x86, 0x3b, 0x2b, + 0x65, 0x90, 0x72, 0x45, 0x1d, 0x3a, 0xcb, 0x75, 0xd8, 0x59, 0xae, 0x83, 0x14, 0x92, 0x85, 0x78, + 0x98, 0x6f, 0xd9, 0x2a, 0x93, 0xd8, 0xce, 0x33, 0xa7, 0xae, 0x62, 0x9a, 0x65, 0x06, 0xfa, 0xcf, + 0xcb, 0x76, 0xf4, 0x36, 0x99, 0x01, 0xe2, 0xa9, 0x8f, 0x00, 0xaa, 0x67, 0x23, 0xaf, 0x7f, 0xfc, + 0xcc, 0xbe, 0x85, 0x2c, 0x30, 0xba, 0xc7, 0xa3, 0xaf, 0x4f, 0x6c, 0xed, 0xa8, 0x07, 0x96, 0x7c, + 0x57, 0x22, 0x13, 0x2a, 0xdd, 0xe1, 0xf0, 0x29, 0x41, 0xd4, 0x40, 0x1f, 0x9c, 0x8e, 0x6c, 0x8d, + 0x8a, 0xf5, 0x86, 0x2f, 0xba, 0x4f, 0xfb, 0xf6, 0x86, 0x50, 0x31, 0x38, 0xfd, 0xd6, 0xd6, 0x51, + 0x03, 0xcc, 0xde, 0x0b, 0xef, 0x78, 0x34, 0x18, 0x9e, 0xda, 0x95, 0x71, 0x95, 0xfd, 0xbf, 0x7c, + 0xfc, 0x57, 0x00, 0x00, 0x00, 0xff, 0xff, 0x71, 0xb7, 0xac, 0x48, 0xcc, 0x0c, 0x00, 0x00, }